/*
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, markType } from "igniteui-angular-core";
import { SliceInfoList } from "./SliceInfoList";
import { SliceInfo } from "./SliceInfo";
/**
 * @hidden
 */
export let FunnelFrame = /*@__PURE__*/ (() => {
    class FunnelFrame extends Base {
        constructor() {
            super();
            this.c = false;
            this.e = false;
            this.d = false;
            this.a = null;
            this.i = 0;
            this.b = new SliceInfoList();
        }
        get f() {
            return this.c;
        }
        set f(a) {
            this.c = a;
        }
        get h() {
            return this.e;
        }
        set h(a) {
            this.e = a;
        }
        get g() {
            return this.d;
        }
        set g(a) {
            this.d = a;
        }
        get b() {
            return this.a;
        }
        set b(a) {
            this.a = a;
        }
        get j() {
            return this.i;
        }
        set j(a) {
            this.i = a;
        }
        static k(a, b, c, d) {
            let e = 1 - d;
            a.f = c.f;
            a.g = c.g;
            a.h = c.h;
            a.j = (b.j * e) + (c.j * d);
            let f = b.b.count;
            let g = c.b.count;
            let h = Math.max(f, g);
            if (a.b.count < h) {
                a.b.s(a.b.count, new Array(h - a.b.count));
            }
            if (a.b.count > h) {
                a.b.v(h, a.b.count - h);
            }
            for (let i = 0; i < Math.min(f, g); ++i) {
                a.b._inner[i] = SliceInfo.c(a.b._inner[i], b.b._inner[i], c.b._inner[i], d, e);
            }
            if (f < g) {
                let j = f > 0 ? b.b._inner[f - 1] : new SliceInfo();
                for (let k = f; k < g; ++k) {
                    a.b._inner[k] = SliceInfo.c(a.b._inner[k], j, c.b._inner[k], d, e);
                }
            }
            if (f > g) {
                let l = g > 0 ? c.b._inner[g - 1] : new SliceInfo();
                for (let m = g; m < f; ++m) {
                    a.b._inner[m] = SliceInfo.c(a.b._inner[m], b.b._inner[m], l, d, e);
                }
            }
        }
    }
    FunnelFrame.$t = markType(FunnelFrame, 'FunnelFrame');
    return FunnelFrame;
})();
//# sourceMappingURL=FunnelFrame.js.map
