import { h, Host } from "@stencil/core";
import isEmpty from "lodash.isempty";
export class Card {
    constructor() {
        /**
         * If `true` a light blue border is added to the card.
         */
        this.border = false;
        /**
         * If `true` the card loses its shadow.
         */
        this.flat = false;
        /**
         * If `true` the card loses its border radius.
         */
        this.square = false;
        /**
         * If `true` the card background color becomes blue.
         */
        this.inverted = false;
        /**
         * If `true` the card has a hover effect.
         */
        this.clickable = false;
        /**
         * If `true` the card gets a light background to indicate a selection.
         */
        this.selected = false;
        /**
         * If `true` the card uses 100% of the available height.
         */
        this.fullheight = false;
        /**
         * Defines the space of the card content.
         */
        this.space = '';
        /**
         * Defines the color of the card.
         */
        this.color = 'white';
    }
    get colorTypeClass() {
        return isEmpty(this.color) ? '' : `is-${this.inverted ? 'blue' : this.color}`;
    }
    render() {
        return (h(Host, { key: 'c96cc43fa0044fd8ac34cd617a90ed88ec7073c5', class: {
                'bal-card': true,
                [`bal-card--${this.colorTypeClass}`]: !isEmpty(this.color),
                [`bal-card--is-${this.space}`]: this.space !== '',
                'bal-card--has-border': this.border,
                'bal-card--is-flat': this.flat,
                'bal-card--is-clickable': this.clickable,
                'bal-card--is-selected': this.selected,
                'bal-card--is-square': this.square,
                'bal-card--has-fullheight': this.fullheight,
            } }, h("slot", { key: '50ade35417dafda765c509bd8f97157d7932a0b4' })));
    }
    static get is() { return "bal-card"; }
    static get originalStyleUrls() {
        return {
            "$": ["bal-card.sass"]
        };
    }
    static get styleUrls() {
        return {
            "$": ["bal-card.css"]
        };
    }
    static get properties() {
        return {
            "border": {
                "type": "boolean",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "If `true` a light blue border is added to the card."
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "border",
                "defaultValue": "false"
            },
            "flat": {
                "type": "boolean",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "If `true` the card loses its shadow."
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "flat",
                "defaultValue": "false"
            },
            "square": {
                "type": "boolean",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "If `true` the card loses its border radius."
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "square",
                "defaultValue": "false"
            },
            "inverted": {
                "type": "boolean",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "If `true` the card background color becomes blue."
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "inverted",
                "defaultValue": "false"
            },
            "clickable": {
                "type": "boolean",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "If `true` the card has a hover effect."
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "clickable",
                "defaultValue": "false"
            },
            "selected": {
                "type": "boolean",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "If `true` the card gets a light background to indicate a selection."
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "selected",
                "defaultValue": "false"
            },
            "fullheight": {
                "type": "boolean",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "If `true` the card uses 100% of the available height."
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "fullheight",
                "defaultValue": "false"
            },
            "space": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "BalProps.BalCardSpace",
                    "resolved": "\"\" | \"large\" | \"medium\" | \"small\"",
                    "references": {
                        "BalProps": {
                            "location": "global",
                            "id": "global::BalProps"
                        }
                    }
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Defines the space of the card content."
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "space",
                "defaultValue": "''"
            },
            "color": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "BalProps.BalCardColor",
                    "resolved": "\"\" | \"primary\" | \"info\" | \"grey\" | \"danger\" | \"warning\" | \"success\" | \"red\" | \"yellow\" | \"green\" | \"purple\" | \"white\" | \"blue\" | \"red-light\" | \"yellow-light\" | \"purple-light\" | \"green-light\" | \"grey-light\" | \"purple-1\" | \"purple-2\" | \"purple-3\" | \"green-1\" | \"green-2\" | \"green-3\" | \"red-1\" | \"red-2\" | \"red-3\" | \"yellow-1\" | \"yellow-2\" | \"yellow-3\"",
                    "references": {
                        "BalProps": {
                            "location": "global",
                            "id": "global::BalProps"
                        }
                    }
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Defines the color of the card."
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "color",
                "defaultValue": "'white'"
            }
        };
    }
}
