import { ensureBool, fromPoint, fromRect, brushToString } from "igniteui-react-core";
/**
 * Contains PieChart click event data.
*/
var IgrSliceClickEventArgs = /** @class */ /*@__PURE__*/ (function () {
    function IgrSliceClickEventArgs() {
    }
    Object.defineProperty(IgrSliceClickEventArgs.prototype, "i", {
        /**
         * @hidden
         */
        get: function () {
            return this._implementation;
        },
        enumerable: false,
        configurable: true
    });
    IgrSliceClickEventArgs.prototype.onImplementationCreated = function () {
    };
    IgrSliceClickEventArgs.prototype._provideImplementation = function (i) {
        this._implementation = i;
        this._implementation.externalObject = this;
        this.onImplementationCreated();
        if (this._initializeAdapters) {
            this._initializeAdapters();
        }
    };
    Object.defineProperty(IgrSliceClickEventArgs.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(IgrSliceClickEventArgs.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(IgrSliceClickEventArgs.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(IgrSliceClickEventArgs.prototype, "index", {
        /**
         * Gets the index of the slice that was clicked.
        */
        get: function () {
            return this.i.index;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrSliceClickEventArgs.prototype, "dataContext", {
        /**
         * Gets the slice data context.
        */
        get: function () {
            return this.i.dataContext;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrSliceClickEventArgs.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
    });
    Object.defineProperty(IgrSliceClickEventArgs.prototype, "origin", {
        /**
         * Gets the origin location of the slice.
        */
        get: function () {
            return fromPoint(this.i.origin);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrSliceClickEventArgs.prototype, "radius", {
        /**
         * Gets the radius of the slice.
        */
        get: function () {
            return this.i.radius;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrSliceClickEventArgs.prototype, "bounds", {
        /**
         * Gets the bounds of the slice.
        */
        get: function () {
            return fromRect(this.i.bounds);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrSliceClickEventArgs.prototype, "startAngle", {
        /**
         * Gets the start angle of the slice.
        */
        get: function () {
            return this.i.startAngle;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrSliceClickEventArgs.prototype, "endAngle", {
        /**
         * Gets the end angle of the slice.
        */
        get: function () {
            return this.i.endAngle;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrSliceClickEventArgs.prototype, "fill", {
        /**
         * Gets the fill color of the slice.
        */
        get: function () {
            return brushToString(this.i.fill);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrSliceClickEventArgs.prototype, "outline", {
        /**
         * Gets the outline color of the slice.
        */
        get: function () {
            return brushToString(this.i.outline);
        },
        enumerable: false,
        configurable: true
    });
    return IgrSliceClickEventArgs;
}());
export { IgrSliceClickEventArgs };
