import { IgrHighlightingInfo } from "./igr-highlighting-info";
import { brushToString, stringToBrush, ensureBool } from "igniteui-react-core";
/**
 * Represents event arguments base class for the AssigningCategoryStyleEventArgsBase
*/
var IgrAssigningSeriesStyleEventArgsBase = /** @class */ /*@__PURE__*/ (function () {
    function IgrAssigningSeriesStyleEventArgsBase() {
        this._implementation = this.createImplementation();
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    }
    IgrAssigningSeriesStyleEventArgsBase.prototype.createImplementation = function () {
        return null;
    };
    Object.defineProperty(IgrAssigningSeriesStyleEventArgsBase.prototype, "i", {
        /**
         * @hidden
         */
        get: function () {
            return this._implementation;
        },
        enumerable: true,
        configurable: true
    });
    IgrAssigningSeriesStyleEventArgsBase.prototype.onImplementationCreated = function () {
    };
    IgrAssigningSeriesStyleEventArgsBase.prototype._provideImplementation = function (i) {
        this._implementation = i;
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    };
    Object.defineProperty(IgrAssigningSeriesStyleEventArgsBase.prototype, "startIndex", {
        /**
         * Gets the start index
        */
        get: function () {
            return this.i.o;
        },
        set: function (v) {
            this.i.o = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrAssigningSeriesStyleEventArgsBase.prototype, "endIndex", {
        /**
         * Gets the end index
        */
        get: function () {
            return this.i.n;
        },
        set: function (v) {
            this.i.n = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrAssigningSeriesStyleEventArgsBase.prototype, "startDate", {
        /**
         * Gets the start date, if applicable
        */
        get: function () {
            return this.i.h;
        },
        set: function (v) {
            this.i.h = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrAssigningSeriesStyleEventArgsBase.prototype, "endDate", {
        /**
         * Gets the end date, if applicable
        */
        get: function () {
            return this.i.g;
        },
        set: function (v) {
            this.i.g = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrAssigningSeriesStyleEventArgsBase.prototype, "getItems", {
        /**
         * Gets a function that will return the items associated with this event.
        */
        get: function () {
            return this.i.a;
        },
        set: function (v) {
            this.i.a = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrAssigningSeriesStyleEventArgsBase.prototype, "fill", {
        /**
         * Gets or sets fill brush to use for the current item.
        */
        get: function () {
            return brushToString(this.i.p);
        },
        set: function (v) {
            this.i.p = stringToBrush(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrAssigningSeriesStyleEventArgsBase.prototype, "stroke", {
        /**
         * Gets or sets stroke to use for the current item.
        */
        get: function () {
            return brushToString(this.i.q);
        },
        set: function (v) {
            this.i.q = stringToBrush(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrAssigningSeriesStyleEventArgsBase.prototype, "opacity", {
        /**
         * Gets or sets opacity to use for the current item.
        */
        get: function () {
            return this.i.k;
        },
        set: function (v) {
            this.i.k = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrAssigningSeriesStyleEventArgsBase.prototype, "fadeOpacity", {
        /**
         * Gets or sets opacity to use for the current item.
        */
        get: function () {
            return this.i.i;
        },
        set: function (v) {
            this.i.i = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrAssigningSeriesStyleEventArgsBase.prototype, "highlightingInfo", {
        /**
         * Gets or sets highlighting info
        */
        get: function () {
            if (this.i.b == null) {
                return null;
            }
            if (!this.i.b.externalObject) {
                var e = new IgrHighlightingInfo();
                e._implementation = this.i.b;
                this.i.b.externalObject = e;
            }
            return this.i.b.externalObject;
        },
        set: function (v) {
            v == null ? this.i.b = null : this.i.b = v.i;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrAssigningSeriesStyleEventArgsBase.prototype, "maxAllSeriesHighlightingProgress", {
        /**
         * Gets the max highlighting progress from all series.
        */
        get: function () {
            return this.i.j;
        },
        set: function (v) {
            this.i.j = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrAssigningSeriesStyleEventArgsBase.prototype, "sumAllSeriesHighlightingProgress", {
        /**
         * Gets the sum of highlighting progress from all series.
        */
        get: function () {
            return this.i.l;
        },
        set: function (v) {
            this.i.l = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrAssigningSeriesStyleEventArgsBase.prototype, "totalAllSeriesHighlightingProgress", {
        /**
         * Gets the average of highlighting progress from all the series.
        */
        get: function () {
            return this.i.m;
        },
        set: function (v) {
            this.i.m = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrAssigningSeriesStyleEventArgsBase.prototype, "highlightingHandled", {
        /**
         * Gets or sets if highlighting was handled by this event handler, and whether internal highlighting logic should be skipped.
        */
        get: function () {
            return this.i.d;
        },
        set: function (v) {
            this.i.d = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrAssigningSeriesStyleEventArgsBase.prototype, "hasDateRange", {
        /**
         * Gets if this event has a valid date range
        */
        get: function () {
            return this.i.c;
        },
        set: function (v) {
            this.i.c = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrAssigningSeriesStyleEventArgsBase.prototype, "isNegativeShape", {
        /**
         * Gets if the current shape is identified as a negative shape if this series supports discrete negative shapes.
        */
        get: function () {
            return this.i.e;
        },
        set: function (v) {
            this.i.e = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(IgrAssigningSeriesStyleEventArgsBase.prototype, "isThumbnail", {
        /**
         * Gets if the current event is being raised for the thumbnail image.
        */
        get: function () {
            return this.i.f;
        },
        set: function (v) {
            this.i.f = ensureBool(v);
        },
        enumerable: true,
        configurable: true
    });
    IgrAssigningSeriesStyleEventArgsBase.prototype.findByName = function (name) {
        if (this.highlightingInfo && this.highlightingInfo.name && this.highlightingInfo.name == name) {
            return this.highlightingInfo;
        }
        return null;
    };
    return IgrAssigningSeriesStyleEventArgsBase;
}());
export { IgrAssigningSeriesStyleEventArgsBase };
//# sourceMappingURL=igr-assigning-series-style-event-args-base.js.map
