import { Host, getAssetPath, h } from "@stencil/core";
export class EzpIcon {
    constructor() {
        /** Description... */
        this.size = 'normal';
        /** Description... */
        this.framed = false;
    }
    /**
     *
     * Lifecycle methods
     *
     */
    async componentWillLoad() {
        await fetch(getAssetPath(`./assets/glyph-${this.name}.svg`))
            .then((response) => response.text())
            .then((result) => {
            this.glyph = result;
        })
            .catch((error) => console.log(error));
    }
    /**
     *
     * Render method
     *
     */
    render() {
        return (h(Host, { key: 'fd1cab62856b3bdba0208035d746724d5ed7dc78', class: `${this.size} ${this.framed ? 'framed' : ''}` }, h("div", { key: 'b2fed8ed7e5c01adfb6e4c8af93ed13f3b24b206', id: "glyph", innerHTML: this.glyph })));
    }
    static get is() { return "ezp-icon"; }
    static get encapsulation() { return "shadow"; }
    static get originalStyleUrls() {
        return {
            "$": ["ezp-icon.scss"]
        };
    }
    static get styleUrls() {
        return {
            "$": ["ezp-icon.css"]
        };
    }
    static get assetsDirs() { return ["assets"]; }
    static get properties() {
        return {
            "name": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "IconNameTypes",
                    "resolved": "\"account\" | \"checkmark\" | \"checkmark-alt\" | \"close\" | \"color\" | \"copies\" | \"dark\" | \"drag-drop\" | \"duplex\" | \"exclamation-mark\" | \"expand\" | \"height\" | \"help\" | \"light\" | \"logo\" | \"logout\" | \"menu\" | \"minus\" | \"orientation\" | \"paper_range\" | \"plus\" | \"printer\" | \"quality\" | \"question-mark\" | \"size\" | \"system\" | \"trays\" | \"width\"",
                    "references": {
                        "IconNameTypes": {
                            "location": "import",
                            "path": "../../shared/types",
                            "id": "src/shared/types.d.ts::IconNameTypes",
                            "referenceLocation": "IconNameTypes"
                        }
                    }
                },
                "required": true,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Description..."
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "name"
            },
            "size": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "IconSizeTypes",
                    "resolved": "\"huge\" | \"large\" | \"normal\"",
                    "references": {
                        "IconSizeTypes": {
                            "location": "import",
                            "path": "../../shared/types",
                            "id": "src/shared/types.d.ts::IconSizeTypes",
                            "referenceLocation": "IconSizeTypes"
                        }
                    }
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Description..."
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "size",
                "defaultValue": "'normal'"
            },
            "framed": {
                "type": "boolean",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Description..."
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "framed",
                "defaultValue": "false"
            }
        };
    }
}
