import { h } from "@stencil/core";
import { StyledHost } from "../styled-host/styled-host";
import { Header1 } from "../headers/header-1";
import { Header2 } from "../headers/header-2";
import { Header3 } from "../headers/header-3";
export class JustifiHeader {
    constructor() {
        this.levels = {
            h1: Header1,
            h2: Header2,
            h3: Header3,
        };
        this.level = 'h1';
    }
    render() {
        const HeaderComponent = this.levels[this.level];
        return (h(StyledHost, { key: '5a0872ee486bdba3ba1c86145946889bb7d151f2' }, h(HeaderComponent, { key: '89807e249cdf64f7ef80800276cb50966083f28e', text: this.text, class: this.class })));
    }
    static get is() { return "justifi-header"; }
    static get encapsulation() { return "shadow"; }
    static get properties() {
        return {
            "text": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "string",
                    "resolved": "string",
                    "references": {}
                },
                "required": true,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "text"
            },
            "level": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "keyof typeof this.levels",
                    "resolved": "\"h1\" | \"h2\" | \"h3\"",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "level",
                "defaultValue": "'h1'"
            },
            "class": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "string",
                    "resolved": "string",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "class"
            }
        };
    }
}
