/*!
 * KoliBri - The accessible HTML-Standard
 */
import { h, Host } from "@stencil/core";
import { validateLabel } from "../../schema";
import { translate } from "../../i18n";
import { KolBadgeTag } from "../../core/component-names";
export class KolVersion {
    constructor() {
        this.translateVersion = translate('kol-version');
        this.state = {
            _label: '0.0.0-alpha.0',
        };
    }
    render() {
        return (h(Host, { key: '29ddec003958afa4877b73448f335a1d4a47c3bf', class: "kol-version" }, h(KolBadgeTag, { key: '5a4dae3a9775557e3de93cbd105e37ad122cb616', _color: "#bec5c9", _icons: {
                left: { icon: 'kolicon-version', label: this.translateVersion },
            }, _label: this.state._label })));
    }
    validateLabel(value) {
        validateLabel(this, value, {
            required: true,
        });
    }
    componentWillLoad() {
        this.validateLabel(this._label);
    }
    static get is() { return "kol-version"; }
    static get encapsulation() { return "shadow"; }
    static get originalStyleUrls() {
        return {
            "default": ["./style.scss"]
        };
    }
    static get styleUrls() {
        return {
            "default": ["style.css"]
        };
    }
    static get properties() {
        return {
            "_label": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "LabelPropType",
                    "resolved": "string",
                    "references": {
                        "LabelPropType": {
                            "location": "import",
                            "path": "../../schema",
                            "id": "src/schema/index.ts::LabelPropType"
                        }
                    }
                },
                "required": true,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.)."
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "_label"
            }
        };
    }
    static get states() {
        return {
            "state": {}
        };
    }
    static get watchers() {
        return [{
                "propName": "_label",
                "methodName": "validateLabel"
            }];
    }
}
//# sourceMappingURL=shadow.js.map
