/*
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 { __extends } from "tslib";
import { Base, markType } from "igniteui-angular-core";
import { SliceInfoList } from "./SliceInfoList";
import { SliceInfo } from "./SliceInfo";
/**
 * @hidden
 */
var FunnelFrame = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(FunnelFrame, _super);
    function FunnelFrame() {
        var _this = _super.call(this) || this;
        _this.c = false;
        _this.e = false;
        _this.d = false;
        _this.a = null;
        _this.i = 0;
        _this.b = new SliceInfoList();
        return _this;
    }
    Object.defineProperty(FunnelFrame.prototype, "f", {
        get: function () {
            return this.c;
        },
        set: function (a) {
            this.c = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(FunnelFrame.prototype, "h", {
        get: function () {
            return this.e;
        },
        set: function (a) {
            this.e = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(FunnelFrame.prototype, "g", {
        get: function () {
            return this.d;
        },
        set: function (a) {
            this.d = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(FunnelFrame.prototype, "b", {
        get: function () {
            return this.a;
        },
        set: function (a) {
            this.a = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(FunnelFrame.prototype, "j", {
        get: function () {
            return this.i;
        },
        set: function (a) {
            this.i = a;
        },
        enumerable: false,
        configurable: true
    });
    FunnelFrame.k = function (a, b, c, d) {
        var e = 1 - d;
        a.f = c.f;
        a.g = c.g;
        a.h = c.h;
        a.j = (b.j * e) + (c.j * d);
        var f = b.b.count;
        var g = c.b.count;
        var 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 (var 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) {
            var j = f > 0 ? b.b._inner[f - 1] : new SliceInfo();
            for (var 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) {
            var l = g > 0 ? c.b._inner[g - 1] : new SliceInfo();
            for (var 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;
}(Base));
export { FunnelFrame };
//# sourceMappingURL=FunnelFrame.js.map
