import { h, Host } from "@stencil/core";
import { Colors } from "../../core/constants/colors";
import { govHost } from "../../helpers/Dom/template";
import { validateProp } from "../../helpers/Validate/props";
import { ControlGroupClass } from "./constants";
export class GovControlGroup {
    constructor() {
        /**
         * Style variation of the content message.
         */
        this.color = Colors.NEUTRAL;
        /**
         * Specifies the display of the border between elements
         */
        this.noBorder = false;
        /**
         * Specifies the display of the border between elements
         */
        this.noInnerBorder = false;
        /**
         * Specifies the display of elements to full width
         */
        this.fitContent = false;
        this.h = govHost(this.host);
    }
    validateColor(newValue) {
        validateProp(Colors, newValue, ControlGroupClass.root);
    }
    render() {
        return (h(Host, { key: '3881ca5a7d9dd1dbf5cb22a6cca23f6df886e09a', class: this.h.classes(ControlGroupClass.root), color: this.color }, h("slot", { key: '2e9dbf6b93cac0d4444d3696df03c9a7420dc747' })));
    }
    static get is() { return "gov-control-group"; }
    static get properties() {
        return {
            "color": {
                "type": "string",
                "attribute": "color",
                "mutable": false,
                "complexType": {
                    "original": "ControlGroupColorType",
                    "resolved": "\"error\" | \"neutral\" | \"primary\"",
                    "references": {
                        "ControlGroupColorType": {
                            "location": "import",
                            "path": "./constants",
                            "id": "../../../packages/core/src/components/gov-control-group/constants.ts::ControlGroupColorType"
                        }
                    }
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Style variation of the content message."
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "defaultValue": "Colors.NEUTRAL"
            },
            "noBorder": {
                "type": "boolean",
                "attribute": "no-border",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Specifies the display of the border between elements"
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "defaultValue": "false"
            },
            "noInnerBorder": {
                "type": "boolean",
                "attribute": "no-inner-border",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Specifies the display of the border between elements"
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "defaultValue": "false"
            },
            "fitContent": {
                "type": "boolean",
                "attribute": "fit-content",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Specifies the display of elements to full width"
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "defaultValue": "false"
            }
        };
    }
    static get elementRef() { return "host"; }
    static get watchers() {
        return [{
                "propName": "color",
                "methodName": "validateColor"
            }];
    }
}
//# sourceMappingURL=gov-control-group.js.map
