import * as tslib_1 from "tslib";
import { IgcDefinitionBaseComponent } from "./igc-definition-base-component";
import { ColumnMovingSeparator } from "./ColumnMovingSeparator";
import { getAllPropertyNames, toSpinal } from "igniteui-webcomponents-core";
import { RegisterElementHelper } from "igniteui-webcomponents-core";
var IgcColumnMovingSeparatorComponent = /** @class */ /*@__PURE__*/ (function (_super) {
    tslib_1.__extends(IgcColumnMovingSeparatorComponent, _super);
    function IgcColumnMovingSeparatorComponent() {
        return _super.call(this) || this;
    }
    IgcColumnMovingSeparatorComponent.prototype.createImplementation = function () {
        return new ColumnMovingSeparator();
    };
    Object.defineProperty(IgcColumnMovingSeparatorComponent.prototype, "i", {
        /**
                                     * @hidden
                                     */
        get: function () {
            return this._implementation;
        },
        enumerable: true,
        configurable: true
    });
    IgcColumnMovingSeparatorComponent.prototype.connectedCallback = function () {
        if (_super.prototype["connectedCallback"]) {
            _super.prototype["connectedCallback"].call(this);
        }
        if (!this._attached) {
            this._attached = true;
            this._flushQueuedAttributes();
        }
    };
    Object.defineProperty(IgcColumnMovingSeparatorComponent, "observedAttributes", {
        get: function () {
            if (IgcColumnMovingSeparatorComponent._observedAttributesIgcColumnMovingSeparatorComponent == null) {
                var names = getAllPropertyNames(IgcColumnMovingSeparatorComponent);
                for (var i = 0; i < names.length; i++) {
                    names[i] = toSpinal(names[i]);
                }
                IgcColumnMovingSeparatorComponent._observedAttributesIgcColumnMovingSeparatorComponent = names;
            }
            return IgcColumnMovingSeparatorComponent._observedAttributesIgcColumnMovingSeparatorComponent;
        },
        enumerable: true,
        configurable: true
    });
    IgcColumnMovingSeparatorComponent.register = function () {
        if (!IgcColumnMovingSeparatorComponent._isElementRegistered) {
            IgcColumnMovingSeparatorComponent._isElementRegistered = true;
            RegisterElementHelper.registerElement(IgcColumnMovingSeparatorComponent.htmlTagName, IgcColumnMovingSeparatorComponent);
        }
    };
    Object.defineProperty(IgcColumnMovingSeparatorComponent.prototype, "separatorWidth", {
        /**
         * Gets or sets the separator width for this column.
        */
        get: function () {
            return this.i.em;
        },
        set: function (v) {
            this.i.em = +v;
            this._a("separatorWidth", this.i.em);
        },
        enumerable: true,
        configurable: true
    });
    IgcColumnMovingSeparatorComponent._observedAttributesIgcColumnMovingSeparatorComponent = null;
    IgcColumnMovingSeparatorComponent.htmlTagName = "igc-column-moving-separator";
    IgcColumnMovingSeparatorComponent._isElementRegistered = false;
    return IgcColumnMovingSeparatorComponent;
}(IgcDefinitionBaseComponent));
export { IgcColumnMovingSeparatorComponent };
//# sourceMappingURL=igc-column-moving-separator-component.js.map
