import { r as registerInstance, h, H as Host, g as getElement } from './index-ClISz4NF.js';
import { v as validateProp } from './props-CJZgTDla.js';
import { C as Colors } from './colors-U40vKHrs.js';
import { p as pick } from './utils-CQvUntGY.js';
import { g as govHost } from './template-CoD1xawt.js';
import './gov.log-BtqD9K8d.js';

pick(Colors, ['PRIMARY', 'NEUTRAL', 'ERROR', 'SUCCESS', 'WARNING']);
var MessageType;
(function (MessageType) {
    MessageType["BOLD"] = "bold";
    MessageType["SUBTLE"] = "subtle";
})(MessageType || (MessageType = {}));
const MessageClass = {
    root: 'gov-message',
    content: 'gov-message__content',
};

const GovMessage = class {
    constructor(hostRef) {
        registerInstance(this, hostRef);
        /**
         * Style variation of the content message.
         */
        this.color = Colors.PRIMARY;
        /**
         * Message type
         */
        this.type = "subtle";
        this.h = govHost(this.host);
    }
    validateColor(newValue) {
        validateProp(Colors, newValue, MessageClass.root);
    }
    render() {
        return (h(Host, { key: '646b418ce94ae2c4a0e68ae7662b6a0cdcb5abdf', class: this.h.classes(MessageClass.root), color: this.color, type: this.type, role: "status" }, this.h.hasSlot("icon") && (h("span", { key: 'c628baa7a9302fd2422418f6cb643ab188630d19' }, h("slot", { key: '3e06254836e945da56d642ca358730c59da0575d', name: "icon" }))), h("div", { key: 'e9732388652c00c5bb4292d61ba71a62b3a6ca07', class: MessageClass.content }, h("slot", { key: '71b74db9ecbfa2fcd0bbb102e6d77accbcd1d3f0' }))));
    }
    get host() { return getElement(this); }
    static get watchers() { return {
        "color": ["validateColor"]
    }; }
};

export { GovMessage as gov_message };
//# sourceMappingURL=gov-message.entry.js.map

//# sourceMappingURL=gov-message.entry.js.map