import { Style } from "igniteui-react-core/ES5/Style";
var StyleShapeEventArgs = /** @class */ (function () {
    function StyleShapeEventArgs() {
    }
    Object.defineProperty(StyleShapeEventArgs.prototype, "i", {
        get: function () {
            return this._implementation;
        },
        enumerable: true,
        configurable: true
    });
    StyleShapeEventArgs.prototype.onImplementationCreated = function () {
    };
    StyleShapeEventArgs.prototype._provideImplementation = function (i) {
        this._implementation = i;
        this._implementation.externalObject = this;
        this.onImplementationCreated();
    };
    Object.defineProperty(StyleShapeEventArgs.prototype, "item", {
        get: function () {
            return this.i.item;
        },
        set: function (v) {
            this.i.item = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(StyleShapeEventArgs.prototype, "container", {
        get: function () {
            return this.i.container;
        },
        set: function (v) {
            this.i.container = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(StyleShapeEventArgs.prototype, "shapeFill", {
        /**
         * Gets or sets the fill brush.
        */
        get: function () {
            return this.i.shapeStyle ? this.i.shapeStyle.fill : null;
        },
        set: function (v) {
            this.ensureShapeStyle();
            this.i.shapeStyle.fill = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(StyleShapeEventArgs.prototype, "shapeStroke", {
        /**
         * Gets or sets the stroke brush.
        */
        get: function () {
            return this.i.shapeStyle ? this.i.shapeStyle.stroke : null;
        },
        set: function (v) {
            this.ensureShapeStyle();
            this.i.shapeStyle.stroke = v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(StyleShapeEventArgs.prototype, "shapeStrokeThickness", {
        /**
         * Gets or sets the stroke thickness.
        */
        get: function () {
            return this.i.shapeStyle ? this.i.shapeStyle.strokeThickness : NaN;
        },
        set: function (v) {
            this.ensureShapeStyle();
            this.i.shapeStyle.strokeThickness = +v;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(StyleShapeEventArgs.prototype, "shapeOpacity", {
        /**
         * Gets or sets the opacity.
        */
        get: function () {
            return this.i.shapeStyle ? this.i.shapeStyle.opacity : NaN;
        },
        set: function (v) {
            this.ensureShapeStyle();
            this.i.shapeStyle.opacity = +v;
        },
        enumerable: true,
        configurable: true
    });
    StyleShapeEventArgs.prototype.ensureShapeStyle = function () {
        if (this.i.shapeStyle) {
            return;
        }
        this.i.shapeStyle = new Style();
    };
    return StyleShapeEventArgs;
}());
export { StyleShapeEventArgs };
