/**
 * 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 { html, CSSResultArray, TemplateResult } from 'lit';
import { customElement } from 'lit/decorators.js';
import { styles } from './nile-side-bar-group-item-text.css';
import NileElement from '../internal/nile-element';

/**
 * Nile side-bar-group-item-text component.
 *
 * @tag nile-side-bar-group-item-text
 *
 * @slot - The text content of the sidebar item
 */
@customElement('nile-side-bar-group-item-text')
export class NileSideBarGroupItemText extends NileElement {
  /**
   * The styles for nile-side-bar-group-item-text
   * @remarks Extendable via super if needed
   */
  public static get styles(): CSSResultArray {
    return [styles];
  }

  connectedCallback(): void {
    super.connectedCallback();
 
    if (!this.hasAttribute('slot')) {
      this.setAttribute('slot', 'text');
    }
  }

  public render(): TemplateResult {
    return html` <slot></slot> `;
  }
}

export default NileSideBarGroupItemText;

declare global {
  interface HTMLElementTagNameMap {
    'nile-side-bar-group-item-text': NileSideBarGroupItemText;
  }
}
