/**
 * Copyright Aquera Inc 2023
 *
 * This source code is licensed under the BSD-3-Clause license found in the
 * LICENSE file in the root directory of this source tree.
 */
import { __decorate } from "tslib";
import { html } from 'lit';
import { customElement, property } from 'lit/decorators.js';
import { styles } from './nile-side-bar-group.css';
import NileElement from '../internal/nile-element';
/**
 * Nile side-bar-group component.
 *
 * A logical grouping of sidebar items, optionally with a label and/or footer placement.
 *
 * @tag nile-side-bar-group
 *
 * @slot - Default slot for group items (nile-side-bar-group-item)
 * @csspart base - The group container
 * @csspart label - The group label element
 */
let NileSideBarGroup = class NileSideBarGroup extends NileElement {
    constructor() {
        super(...arguments);
        /**
         * Optional label for the group.
         */
        this.label = '';
        /**
         * Marks this group as footer (sticks to bottom of sidebar).
         */
        this.footer = false;
        this.divider = false;
        /* #endregion */
    }
    /**
     * The styles for nile-side-bar-group
     * @remarks Extendable via super if needed
     */
    static get styles() {
        return [styles];
    }
    /* #region Render */
    render() {
        return html `
      <section
        part="base"
        class="side-bar-group" 
        role="list"
        aria-label=${this.label || 'Sidebar group'}
        ?data-footer=${this.footer}
      >
        ${this.label
            ? html `<div part="label" class="group-label">${this.label}</div>`
            : null}
        <slot></slot>
      </section>
    `;
    }
};
__decorate([
    property({ type: String })
], NileSideBarGroup.prototype, "label", void 0);
__decorate([
    property({ type: Boolean, reflect: true })
], NileSideBarGroup.prototype, "footer", void 0);
__decorate([
    property({ type: Boolean, reflect: true })
], NileSideBarGroup.prototype, "divider", void 0);
NileSideBarGroup = __decorate([
    customElement('nile-side-bar-group')
], NileSideBarGroup);
export { NileSideBarGroup };
export default NileSideBarGroup;
//# sourceMappingURL=nile-side-bar-group.js.map