import { IgcDefinitionBaseComponent } from "./igc-definition-base-component";
import { HeaderRowSeparator } from "./HeaderRowSeparator";
import { getAllPropertyNames, toSpinal } from "igniteui-webcomponents-core";
import { RegisterElementHelper } from "igniteui-webcomponents-core";
/**
 * Represents a Header Row separator. This is used to visually separate the header row from the rest of the rows in a grid.
*/
export let IgcHeaderRowSeparatorComponent = /*@__PURE__*/ (() => {
    class IgcHeaderRowSeparatorComponent extends IgcDefinitionBaseComponent {
        constructor() {
            super();
        }
        createImplementation() {
            return new HeaderRowSeparator();
        }
        /**
                                     * @hidden
                                     */
        get i() {
            return this._implementation;
        }
        connectedCallback() {
            if (super["connectedCallback"]) {
                super["connectedCallback"]();
            }
            if (!this._attached) {
                this._attached = true;
                this._flushQueuedAttributes();
            }
        }
        static get observedAttributes() {
            if (IgcHeaderRowSeparatorComponent._observedAttributesIgcHeaderRowSeparatorComponent == null) {
                let names = getAllPropertyNames(IgcHeaderRowSeparatorComponent);
                for (let i = 0; i < names.length; i++) {
                    names[i] = toSpinal(names[i]);
                }
                IgcHeaderRowSeparatorComponent._observedAttributesIgcHeaderRowSeparatorComponent = names;
            }
            return IgcHeaderRowSeparatorComponent._observedAttributesIgcHeaderRowSeparatorComponent;
        }
        static register() {
            if (!IgcHeaderRowSeparatorComponent._isElementRegistered) {
                IgcHeaderRowSeparatorComponent._isElementRegistered = true;
                RegisterElementHelper.registerElement(IgcHeaderRowSeparatorComponent.htmlTagName, IgcHeaderRowSeparatorComponent);
            }
        }
    }
    IgcHeaderRowSeparatorComponent._observedAttributesIgcHeaderRowSeparatorComponent = null;
    IgcHeaderRowSeparatorComponent.htmlTagName = "igc-header-row-separator";
    IgcHeaderRowSeparatorComponent._isElementRegistered = false;
    return IgcHeaderRowSeparatorComponent;
})();
//# sourceMappingURL=igc-header-row-separator-component.js.map
