import { FunnelSliceEventArgs as FunnelSliceEventArgs_internal } from "./FunnelSliceEventArgs";
import { fromRect, toRect } from "igniteui-react-core";
/**
 * Information about the clicked slice.
*/
var IgrFunnelSliceEventArgs = /** @class */ /*@__PURE__*/ (function () {
    function IgrFunnelSliceEventArgs() {
        this._implementation = this.createImplementation();
        this._implementation.externalObject = this;
        this.onImplementationCreated();
        if (this._initializeAdapters) {
            this._initializeAdapters();
        }
    }
    IgrFunnelSliceEventArgs.prototype.createImplementation = function () {
        return new FunnelSliceEventArgs_internal();
    };
    Object.defineProperty(IgrFunnelSliceEventArgs.prototype, "i", {
        /**
         * @hidden
         */
        get: function () {
            return this._implementation;
        },
        enumerable: false,
        configurable: true
    });
    IgrFunnelSliceEventArgs.prototype.onImplementationCreated = function () {
    };
    IgrFunnelSliceEventArgs.prototype._provideImplementation = function (i) {
        this._implementation = i;
        this._implementation.externalObject = this;
        this.onImplementationCreated();
        if (this._initializeAdapters) {
            this._initializeAdapters();
        }
    };
    Object.defineProperty(IgrFunnelSliceEventArgs.prototype, "index", {
        /**
         * The index of the slice.
        */
        get: function () {
            return this.i.index;
        },
        set: function (v) {
            this.i.index = +v;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrFunnelSliceEventArgs.prototype, "bounds", {
        /**
         * The bounds of the slice.
        */
        get: function () {
            return fromRect(this.i.bounds);
        },
        set: function (v) {
            this.i.bounds = toRect(v);
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(IgrFunnelSliceEventArgs.prototype, "item", {
        /**
         * The data item for the clicked slice.
        */
        get: function () {
            return this.i.item;
        },
        set: function (v) {
            this.i.item = v;
        },
        enumerable: false,
        configurable: true
    });
    return IgrFunnelSliceEventArgs;
}());
export { IgrFunnelSliceEventArgs };
