import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
import { d as defineCustomElement$4 } from './bal-close2.js';
import { d as defineCustomElement$3 } from './bal-heading2.js';
import { d as defineCustomElement$2 } from './bal-icon2.js';

const ModalHeader = /*@__PURE__*/ proxyCustomElement(class ModalHeader extends HTMLElement {
    constructor(registerHost) {
        super();
        if (registerHost !== false) {
            this.__registerHost();
        }
        this.closeHandler = () => {
            if (this.parentModal) {
                this.parentModal.dismiss(undefined, 'model-close');
            }
        };
    }
    get parentModal() {
        return this.el.closest('bal-modal');
    }
    render() {
        var _a;
        return (h(Host, { key: 'b115e1393596c7d7124ce8b3015e4a2c4c56dcd4', class: "bal-modal__header" }, h("div", { key: '06407c1c1848ea62615f30aaa13966facb3e5246', class: "bal-modal__header__title" }, h("bal-heading", { key: 'c0784a83d66a5d28e028fc66f26b8ef72f5689df', level: "h2", space: "none" }, h("slot", { key: '41a254e6b622293d5ef84a65e7b0c02241bc7014' }))), ((_a = this.parentModal) === null || _a === void 0 ? void 0 : _a.isClosable) ? (h("bal-close", { class: "bal-modal__header__close data-test-modal-close", onClick: this.closeHandler })) : ('')));
    }
    get el() { return this; }
}, [260, "bal-modal-header"]);
function defineCustomElement$1() {
    if (typeof customElements === "undefined") {
        return;
    }
    const components = ["bal-modal-header", "bal-close", "bal-heading", "bal-icon"];
    components.forEach(tagName => { switch (tagName) {
        case "bal-modal-header":
            if (!customElements.get(tagName)) {
                customElements.define(tagName, ModalHeader);
            }
            break;
        case "bal-close":
            if (!customElements.get(tagName)) {
                defineCustomElement$4();
            }
            break;
        case "bal-heading":
            if (!customElements.get(tagName)) {
                defineCustomElement$3();
            }
            break;
        case "bal-icon":
            if (!customElements.get(tagName)) {
                defineCustomElement$2();
            }
            break;
    } });
}

const BalModalHeader = ModalHeader;
const defineCustomElement = defineCustomElement$1;

export { BalModalHeader, defineCustomElement };
