/*
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 { ContentControl } from "igniteui-angular-core";
import { DependencyProperty } from "igniteui-angular-core";
import { Brush } from "igniteui-angular-core";
import { Visibility_$type } from "igniteui-angular-core";
import { Number_$type, enumGetBox, EnumUtil, markType, markDep } from "igniteui-angular-core";
import { Binding } from "igniteui-angular-core";
import { PropertyMetadata } from "igniteui-angular-core";
/**
 * @hidden
 */
var XamFunnelSlice = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(XamFunnelSlice, _super);
    function XamFunnelSlice() {
        var _this = _super.call(this) || this;
        _this.ax = null;
        _this.ai = null;
        _this.ab = XamFunnelSlice.$;
        _this.g(XamFunnelSlice.ar, new Binding(1, XamFunnelSlice.$$p[0]));
        _this.g(XamFunnelSlice.as, new Binding(1, XamFunnelSlice.$$p[1]));
        return _this;
    }
    Object.defineProperty(XamFunnelSlice.prototype, "aj", {
        get: function () {
            return this.c(XamFunnelSlice.aw);
        },
        set: function (a) {
            this.h(XamFunnelSlice.aw, a);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XamFunnelSlice.prototype, "ay", {
        get: function () {
            return this.c(XamFunnelSlice.ar);
        },
        set: function (a) {
            this.h(XamFunnelSlice.ar, a);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XamFunnelSlice.prototype, "az", {
        get: function () {
            return this.c(XamFunnelSlice.as);
        },
        set: function (a) {
            this.h(XamFunnelSlice.as, a);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(XamFunnelSlice.prototype, "a2", {
        get: function () {
            return EnumUtil.getEnumValue(Visibility_$type, this.c(XamFunnelSlice.au));
        },
        set: function (a) {
            this.h(XamFunnelSlice.au, enumGetBox(Visibility_$type, a));
        },
        enumerable: false,
        configurable: true
    });
    XamFunnelSlice.prototype.aq = function (a, b, c) {
        var d;
        switch (a) {
            case "Fill":
                d = new Binding(1, XamFunnelSlice.$$p[0]);
                if (c != null) {
                    d.d = this;
                }
                this.g(XamFunnelSlice.ar, d);
                break;
            case "Outline":
                d = new Binding(1, XamFunnelSlice.$$p[1]);
                if (c != null) {
                    d.d = this;
                }
                this.g(XamFunnelSlice.as, d);
                break;
        }
    };
    XamFunnelSlice.$t = markType(XamFunnelSlice, 'XamFunnelSlice', ContentControl.$);
    XamFunnelSlice.aw = DependencyProperty.i("StrokeThickness", Number_$type, XamFunnelSlice.$, new PropertyMetadata(2, 1, function (a, b) {
    }));
    XamFunnelSlice.ar = DependencyProperty.i("ActualFill", Brush.$, XamFunnelSlice.$, new PropertyMetadata(1, null));
    XamFunnelSlice.as = DependencyProperty.i("ActualOutline", Brush.$, XamFunnelSlice.$, new PropertyMetadata(1, null));
    XamFunnelSlice.au = DependencyProperty.i("LabelVisibility", Visibility_$type, XamFunnelSlice.$, new PropertyMetadata(2, enumGetBox(Visibility_$type, 0), function (a, b) {
    }));
    XamFunnelSlice.$$p = markDep(DependencyProperty, PropertyMetadata, XamFunnelSlice, 'aq', ['Fill:a0:at', [Brush.$, null], 'Outline:a1:av', [Brush.$, null]]);
    return XamFunnelSlice;
}(ContentControl));
export { XamFunnelSlice };
