import { ensureBool, fromPoint, toPoint, fromRect, brushToString } from "igniteui-react-core";
/**
 * Contains PieChart click event data.
*/
var IgrSliceEventArgs = /** @class */ /*@__PURE__*/ (function () {
    function IgrSliceEventArgs() {
        this.mounted = false;
    }
    Object.defineProperty(IgrSliceEventArgs.prototype, "i", {
        /**
         * @hidden
         */
        get: function () {
            return this._implementation;
        },
        enumerable: false,
        configurable: true
    });
    IgrSliceEventArgs.prototype.onImplementationCreated = function () {
    };
    IgrSliceEventArgs.prototype._provideImplementation = function (i) {
        this._implementation = i;
        this._implementation.externalObject = this;
        this.onImplementationCreated();
        if (this._initializeAdapters) {
            this._initializeAdapters();
        }
    };
    Object.defineProperty(IgrSliceEventArgs.prototype, "isSelected", {
        /**
         * Gets or sets whether the slice is selected.
        */
        get: function () {
            return this.i.isSelected;
        },
        set: function (v) {
            this.i.isSelected = ensureBool(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrSliceEventArgs.prototype, "isExploded", {
        /**
         * Gets or sets whether the slice is exploded.
        */
        get: function () {
            return this.i.isExploded;
        },
        set: function (v) {
            this.i.isExploded = ensureBool(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrSliceEventArgs.prototype, "isOthersSlice", {
        /**
         * Gets whether the current slice is part of the others slice.
        */
        get: function () {
            return this.i.isOthersSlice;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrSliceEventArgs.prototype, "index", {
        /**
         * Gets the index of the slice that was clicked.
        */
        get: function () {
            return this.i.index;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrSliceEventArgs.prototype, "origin", {
        /**
         * Gets the origin location of the slice.
        */
        get: function () {
            return fromPoint(this.i.origin);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrSliceEventArgs.prototype, "radius", {
        /**
         * Gets the radius of the slice.
        */
        get: function () {
            return this.i.radius;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrSliceEventArgs.prototype, "bounds", {
        /**
         * Gets the bounds of the slice.
        */
        get: function () {
            return fromRect(this.i.bounds);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrSliceEventArgs.prototype, "startAngle", {
        /**
         * Gets the start angle of the slice.
        */
        get: function () {
            return this.i.startAngle;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrSliceEventArgs.prototype, "endAngle", {
        /**
         * Gets the end angle of the slice.
        */
        get: function () {
            return this.i.endAngle;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrSliceEventArgs.prototype, "fill", {
        /**
         * Gets the fill color of the slice.
        */
        get: function () {
            return brushToString(this.i.fill);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrSliceEventArgs.prototype, "outline", {
        /**
         * Gets the outline color of the slice.
        */
        get: function () {
            return brushToString(this.i.outline);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrSliceEventArgs.prototype, "dataContext", {
        /**
         * Gets the slice data context.
        */
        get: function () {
            return this.i.dataContext;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrSliceEventArgs.prototype, "position", {
        /**
         * Gets the position of the mouse relative to the pie chart.
        */
        get: function () {
            return fromPoint(this.i.position);
        },
        set: function (v) {
            this.i.position = toPoint(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrSliceEventArgs.prototype, "originalEvent", {
        /**
         * Holds a reference to the original event that triggered slice click.
        */
        get: function () {
            return this.i.originalEvent;
        },
        set: function (v) {
            this.i.originalEvent = v;
        },
        enumerable: false,
        configurable: true
    });
    return IgrSliceEventArgs;
}());
export { IgrSliceEventArgs };
