/**
 * 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, query, property } from 'lit/decorators.js';
import { styles } from './nile-form-group.css';
import NileElement from '../internal/nile-element';
/**
 * Nile Form Group component.
 *
 * @tag nile-form-group
 *
 */
let NileFormGroup = class NileFormGroup extends NileElement {
    constructor() {
        super(...arguments);
        /** The Form Title . If you need to display HTML, use the `title` slot instead. */
        this.title = '';
        /** The Form subtitle . If you need to display HTML, use the `subtitle` slot instead. */
        this.subtitle = '';
        /* #endregion */
    }
    /**
     * The styles for FormGroup
     * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
     */
    static get styles() {
        return [styles];
    }
    /* #endregion */
    /* #region Methods */
    /**
     * Render method
     * @slot This is a slot test
     */
    render() {
        return html `
      <div part="base" class="form__base">
        ${this.title
            ? html ` <div part="header" class="form__header">
              <div part="content" class="form__title-content">
                <slot name="title" class="form__title"> ${this.title} </slot>
                ${this.subtitle
                ? html `
                      <slot name="subtitle" class="form__subtitle">
                        ${this.subtitle}
                      </slot>
                    `
                : ``}
              </div>

              <slot name="action" class="form__action"></slot>
            </div>
            <nile-divider part="divider" class="form__divider"></nile-divider>
            `
            : ``}
        <div part="body" class="form__body">
          <slot></slot>
        </div>
      </div>
    `;
    }
};
__decorate([
    query('.form__body')
], NileFormGroup.prototype, "nileformgroup", void 0);
__decorate([
    property({ type: String, reflect: true })
], NileFormGroup.prototype, "title", void 0);
__decorate([
    property({ type: String, reflect: true })
], NileFormGroup.prototype, "subtitle", void 0);
NileFormGroup = __decorate([
    customElement('nile-form-group')
], NileFormGroup);
export { NileFormGroup };
export default NileFormGroup;
//# sourceMappingURL=nile-form-group.js.map