/**
 * Copyright Aquera Inc 2026
 *
 * 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-{{name}}.css';
import NileElement from '../internal/nile-element';


/**
 * Nile {{name}} component.
 *
 * @tag nile-{{name}}
 * @summary TODO: one sentence on what nile-{{name}} is for.
 *
 * @slot - The default slot.
 *
 * @csspart base - The component's base wrapper.
 */
@customElement('nile-{{name}}')
export class Nile{{pascalCase name}} extends NileElement {

	/**
	 * The styles for nile-{{name}}
	 * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
	 */
	public static get styles(): CSSResultArray {
		return [styles];
	}

	/* #endregion */

	/* #region Methods */

	/**
	 * Render method
	 */
	public render(): TemplateResult {
		return html`
			<div part="base">
				<slot></slot>
			</div>
		`;
	}

	/* #endregion */
}

export default Nile{{pascalCase name}};

declare global {
  interface HTMLElementTagNameMap {
    'nile-{{name}}': Nile{{pascalCase name }};
  }
}