/*
THIS INFRAGISTICS ULTIMATE SOFTWARE LICENSE  AGREEMENT ("AGREEMENT") LOCATED HERE:
https://www.infragistics.com/legal/license/igultimate-la
https://www.infragistics.com/legal/license/igultimate-eula
GOVERNS THE LICENSING, INSTALLATION AND USE OF INFRAGISTICS SOFTWARE. BY DOWNLOADING AND/OR INSTALLING AND USING INFRAGISTICS SOFTWARE:  you are indicating that you have read and understand this Agreement, and agree to be legally bound by it on behalf of the yourself and your company.
*/
import { Base, INotifyPropertyChanged_$type, PropertyChangedEventArgs, enumGetBox, markType } from "igniteui-webcomponents-core";
import { GridEasingFunctionType_$type } from "./GridEasingFunctionType";
/**
 * @hidden
 */
export let GridAnimationPhaseSettings = /*@__PURE__*/ (() => {
    class GridAnimationPhaseSettings extends Base {
        constructor() {
            super(...arguments);
            this.p = null;
            this.g = 300;
            this.h = 0;
            this.i = -1;
            this.j = -1;
            this.f = 300;
            this.d = false;
            this.b = 1;
            this.propertyChanged = null;
        }
        get l() {
            return this.g;
        }
        set l(a) {
            let b = this.g;
            this.g = a;
            if (b != this.g) {
                this.x("DurationMilliseconds", b, this.g);
            }
        }
        get m() {
            return this.h;
        }
        set m(a) {
            let b = this.h;
            this.h = a;
            if (b != this.h) {
                this.x("HoldInitialMilliseconds", b, this.h);
            }
        }
        get n() {
            return this.i;
        }
        set n(a) {
            let b = this.i;
            this.i = a;
            if (b != this.i) {
                this.x("PerItemDelayMilliseconds", b, this.i);
            }
        }
        get o() {
            return this.j;
        }
        set o(a) {
            let b = this.j;
            this.j = a;
            if (b != this.j) {
                this.x("SubItemDurationMilliseconds", b, this.j);
            }
        }
        get k() {
            return this.f;
        }
        set k(a) {
            let b = this.f;
            this.f = a;
            if (b != this.f) {
                this.x("DesiredSubItemDurationMilliseconds", b, this.f);
            }
        }
        get e() {
            return this.d;
        }
        set e(a) {
            let b = this.d;
            this.d = a;
            if (b != this.d) {
                this.x("ShouldItemsFinishSimultaneously", b, this.d);
            }
        }
        get c() {
            return this.b;
        }
        set c(a) {
            let b = this.b;
            this.b = a;
            if (b != this.b) {
                this.x("EasingFunctionType", enumGetBox(GridEasingFunctionType_$type, b), enumGetBox(GridEasingFunctionType_$type, this.b));
            }
        }
        x(a, b, c) {
            if (this.propertyChanged != null) {
                this.propertyChanged(this, new PropertyChangedEventArgs(a));
            }
        }
        a() {
            return ((() => {
                let $ret = new GridAnimationPhaseSettings();
                $ret.l = this.l;
                $ret.c = this.c;
                $ret.m = this.m;
                $ret.n = this.n;
                $ret.e = this.e;
                $ret.o = this.o;
                $ret.k = this.k;
                return $ret;
            })());
        }
    }
    GridAnimationPhaseSettings.$t = /*@__PURE__*/ markType(GridAnimationPhaseSettings, 'GridAnimationPhaseSettings', Base.$, [INotifyPropertyChanged_$type]);
    return GridAnimationPhaseSettings;
})();
//# sourceMappingURL=GridAnimationPhaseSettings.js.map
