import { h, Host } from '@stencil/core';
/**
 * @slot default - optional, custom content to display in the header
 */
export class BsModalHeader {
  constructor() {
    this.modalTitle = undefined;
    this.closeButton = true;
    this.closeLabel = 'Close';
  }
  render() {
    return (h(Host, { class: "modal-header" }, this.modalTitle && (h("h5", { class: "modal-title", innerHTML: this.modalTitle })), h("slot", null), this.closeButton && (h("button", { type: "button", class: "close", "data-dismiss": "modal", "aria-label": "Close", onClick: () => this.close.emit() }, h("span", { "aria-hidden": "true" }, "\u00D7")))));
  }
  static get is() { return "bs-modal-header"; }
  static get encapsulation() { return "shadow"; }
  static get originalStyleUrls() {
    return {
      "$": ["bs-modal-header.scss"]
    };
  }
  static get styleUrls() {
    return {
      "$": ["bs-modal-header.css"]
    };
  }
  static get properties() {
    return {
      "modalTitle": {
        "type": "string",
        "mutable": false,
        "complexType": {
          "original": "string",
          "resolved": "string",
          "references": {}
        },
        "required": false,
        "optional": false,
        "docs": {
          "tags": [],
          "text": "the title of the modal"
        },
        "attribute": "modal-title",
        "reflect": false
      },
      "closeButton": {
        "type": "boolean",
        "mutable": false,
        "complexType": {
          "original": "boolean",
          "resolved": "boolean",
          "references": {}
        },
        "required": false,
        "optional": false,
        "docs": {
          "tags": [],
          "text": "whether the modal header should contain a close button"
        },
        "attribute": "close-button",
        "reflect": false,
        "defaultValue": "true"
      },
      "closeLabel": {
        "type": "string",
        "mutable": false,
        "complexType": {
          "original": "string",
          "resolved": "string",
          "references": {}
        },
        "required": false,
        "optional": false,
        "docs": {
          "tags": [],
          "text": "an accessible label for the close button"
        },
        "attribute": "close-label",
        "reflect": false,
        "defaultValue": "'Close'"
      }
    };
  }
  static get events() {
    return [{
        "method": "close",
        "name": "close",
        "bubbles": true,
        "cancelable": true,
        "composed": true,
        "docs": {
          "tags": [],
          "text": "an event triggered when the close button is clicked."
        },
        "complexType": {
          "original": "any",
          "resolved": "any",
          "references": {}
        }
      }];
  }
}
//# sourceMappingURL=bs-modal-header.js.map
