import { Host, h } from "@stencil/core";
export class CpslButton {
    constructor() {
        this.as = 'button';
        this.disabled = false;
        this.fullWidth = false;
        this.href = undefined;
        this.size = 'medium';
        this.target = undefined;
        this.type = 'button';
        this.variant = 'primary';
    }
    render() {
        return (h(Host, { key: '0fd0606bdefb9664a01e2e9686065f5833e9190d', class: {
                // VARIANTS
                'primary': this.variant === 'primary',
                'secondary': this.variant === 'secondary',
                'tertiary': this.variant === 'tertiary',
                'ghost': this.variant === 'ghost',
                'destructive': this.variant === 'destructive',
                // STATE
                'disabled': this.disabled,
                'full-width': this.fullWidth,
                // SIZES
                'xSmall': this.size === 'xSmall',
                'small': this.size === 'small',
                'medium': this.size === 'medium',
            } }, h(this.as, { key: '61b2fa9127eb03f9a3a4292f5161fe141ad545a5', href: this.href, target: this.target, part: "button-native", class: "button-native", type: this.type }, h("slot", { key: '2a3f3e90edace6f165cb1ead835a8dff1fc01cd6', name: "start" }), h("slot", { key: 'c0d5f828589bc74e40a6df43b85e3c04f1f25309' }), h("slot", { key: '11ea165fbc4141e49df46c2f09f203e052a5dfd1', name: "end" }))));
    }
    static get is() { return "cpsl-button"; }
    static get encapsulation() { return "shadow"; }
    static get originalStyleUrls() {
        return {
            "$": ["cpsl-button.scss"]
        };
    }
    static get styleUrls() {
        return {
            "$": ["cpsl-button.css"]
        };
    }
    static get properties() {
        return {
            "as": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "'button' | 'a'",
                    "resolved": "\"a\" | \"button\"",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": "The tag for the button.\nOptions are: `\"button\"`, `\"a\".\nDefault is: `\"button\"`."
                },
                "attribute": "as",
                "reflect": false,
                "defaultValue": "'button'"
            },
            "disabled": {
                "type": "boolean",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": "If the button is disabled.\nDefault is: false."
                },
                "attribute": "disabled",
                "reflect": true,
                "defaultValue": "false"
            },
            "fullWidth": {
                "type": "boolean",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": "Whether the button takes the full width of it's container.\nDefault is: false."
                },
                "attribute": "full-width",
                "reflect": false,
                "defaultValue": "false"
            },
            "href": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "string",
                    "resolved": "string",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": "href to use when using a link."
                },
                "attribute": "href",
                "reflect": false
            },
            "size": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "'xSmall' | 'small' | 'medium'",
                    "resolved": "\"medium\" | \"small\" | \"xSmall\"",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": "The size of the button.\nOptions are: `\"small\"`, `\"medium\".\nDefault is: `\"medium\"`."
                },
                "attribute": "size",
                "reflect": false,
                "defaultValue": "'medium'"
            },
            "target": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "string",
                    "resolved": "string",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": "target to use when using a link."
                },
                "attribute": "target",
                "reflect": false
            },
            "type": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "'button' | 'submit' | 'reset'",
                    "resolved": "\"button\" | \"reset\" | \"submit\"",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": "The type of the button."
                },
                "attribute": "type",
                "reflect": false,
                "defaultValue": "'button'"
            },
            "variant": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "'primary' | 'secondary' | 'tertiary' | 'ghost' | 'destructive'",
                    "resolved": "\"destructive\" | \"ghost\" | \"primary\" | \"secondary\" | \"tertiary\"",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": "The variant of the button.\nOptions are: `\"primary\"`, `\"secondary\", `\"tertiary\", `\"ghost\"`, `\"destructive\"`.\nDefault is: `\"primary\"`."
                },
                "attribute": "variant",
                "reflect": true,
                "defaultValue": "'primary'"
            }
        };
    }
}
//# sourceMappingURL=cpsl-button.js.map
