/**
 * 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 { LitElement, html, CSSResultArray, TemplateResult } from 'lit';
import { customElement, property } from 'lit/decorators.js';
import { styles } from './nile-toolbar.css';
import NileElement from '../internal/nile-element';


/**
 * Nile toolbar component.
 *
 * @tag nile-toolbar
 *
 */
@customElement('nile-toolbar')
export class NileToolbar extends NileElement {

	@property({ reflect: true }) color: string = ''
	@property({ reflect: true }) background: string = ''

	/**
	 * The styles for nile-toolbar
	 * @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
	 * @slot This is a slot test
	 */
	public render(): TemplateResult {
		return html`
		<div class="toolbar" part="nile-toolbar" style="${this.color ? 'color:' + this.color + ';' : ''} ${this.background ? 'background:' + this.background + ';' : ''}">
		  <slot name="start"></slot>
		  <div class="toolbar-content" part="toolbar-mid">
			<slot></slot>
		  </div>
		  <slot name="end"></slot>
		</div>
	  `;
	}

	/* #endregion */
}

export default NileToolbar;

declare global {
	interface HTMLElementTagNameMap {
		'nile-toolbar': NileToolbar;
	}
}