import { h } from "@stencil/core";
export class DgaCard {
    constructor() {
        this.type = 'default';
        this.showTitle = true;
        this.showDescription = true;
        this.showFeaturedIcon = true;
        this.image = '';
        this.showRating = false;
        this.disabled = false;
        this.effect = 'with-shadow';
        this.cardTitle = 'Card Title';
        this.description = 'Card content placeholder text goes here';
        this.featuredIcon = {
            name: 'checkmark-circle-02',
            variant: 'stroke',
            type: 'sharp',
            size: 24
        }; // Default icon
        this.showPrimaryAction = true;
        this.primaryActionLabel = 'Primary Action';
        this.showSecondaryAction = true;
        this.isSelected = false;
        this.secondaryActionLabel = 'Secondary Action';
        this.onCheckboxChange = () => { };
        this.onPrimaryAction = () => { };
        this.onSecondaryAction = () => { };
        this.onExpandAction = () => { };
        this.isFocused = false;
        this.expanded = false;
        this.onMouseEnterHandler = () => {
            this.isFocused = true;
        };
        this.onMouseLeaveHandler = () => {
            this.isFocused = false;
        };
    }
    toggleExpand() {
        this.expanded = !this.expanded;
    }
    render() {
        return (h("div", Object.assign({ key: 'c14b75c706163ac076a2b8ae2c4aea1d2d461d59', class: `card dga-flex-column ${this.disabled ? 'disabled' : ''} ${this.isFocused ? 'focused' : ''} card--${this.effect}`, onMouseEnter: this.onMouseEnterHandler, onMouseLeave: this.onMouseLeaveHandler }, (this.type === 'selectable' ? { onClick: this.onCheckboxChange } : {})), this.image && (h("div", { key: '9e314c1280536bb1befed5509302c4421aa34a9d', class: "card__image-container" }, h("img", { key: '29ef2d06915f86e978b8f8a13f5bc1dd55fdd2b3', src: this.image, alt: "Card" }))), this.showFeaturedIcon && h("div", { key: '079d52566e05bac081b6296cbf692bae7ebb7650', class: "featured-icon featured-icon--light-brand featured-icon--circle featured-icon--lg" }, h("dga-icon-v2", Object.assign({ key: 'c63c4746956a5f62eda4b36559226e9ebd12f3c3' }, this.featuredIcon))), this.type === 'selectable' && (h("div", { key: '6379a0e65c2863b9a30e1e64fe2a6b59d39d8ee9', class: "card__checkbox-container" }, h("dga-checkbox", { key: '90968281d9afb11c1f7282aad72beabfb5a3e66b', checked: this.isSelected, color: "brand", onChange: this.onCheckboxChange }))), (this.showTitle || this.showDescription) && (h("div", { key: '9bc6ec09f030cf82d4244749acfffabf09fc9f5e', class: "card__content-text dga-flex-column" }, this.showTitle && h("h4", { key: '0c51045d25283b76e3ad613bbcd34180129367bf', class: "text-lg-bold" }, this.cardTitle, " "), this.showDescription && h("p", { key: '372a32be35dea5200323720e221424b5138cc4ab', class: "text-md-regular" }, this.description))), this.showRating && h("div", { key: 'b56f2a23f184fc761b9b552c199fc5625aee77ed', class: "card__rating-container" }), this.customComponent && (h("div", { key: '02045720091c2a28de13ee8e7310c1b9025e3b23', class: "card__custom-component" }, this.customComponent)), this.type === 'default' && (this.showPrimaryAction || this.showSecondaryAction) && (h("div", { key: '2ac842c4a47aca4352603b674a95927ebedd2188', class: "card__action card__action--default" }, this.showSecondaryAction && h("dga-button", { key: '46f85ae7a190ca7a6ef763f2d410878d218f6d95', label: this.secondaryActionLabel, onClick: this.onSecondaryAction, size: "lg", variant: "secondary-outline" }), this.showPrimaryAction && h("dga-button", { key: '94cb75146236f55a7890405d12b17ff21eaa6922', label: this.primaryActionLabel, onClick: this.onPrimaryAction, size: "lg", variant: "primary-brand" }))), this.type === 'expanded' && (h("div", { key: 'e324d15a2573ccf860e095d8b17bd70cd990c241', class: "card__action card__action--expanded" }, h("dga-button", { key: '7a224d957d624a0740b91e76e40122d80eeeb70e', iconOnly: true, onClick: () => this.toggleExpand(), size: "lg", variant: "subtle", iconType: this.expanded ? "arrow-up-01" : "arrow-down-01", iconProps: {
                variant: "stroke",
                type: "rounded"
            } }))), h("div", { key: '428f5e013b4b7df91191434ac125753d18153a54', class: `collapse-content ${this.expanded ? 'expanded' : ''}` }, h("slot", { key: '11dd25e6ed43d99b01849e851335e0e673bf394f', name: "collapse-content" }))));
    }
    static get is() { return "dga-card"; }
    static get encapsulation() { return "shadow"; }
    static get originalStyleUrls() {
        return {
            "$": ["dga-card.scss"]
        };
    }
    static get styleUrls() {
        return {
            "$": ["dga-card.css"]
        };
    }
    static get properties() {
        return {
            "type": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "'default' | 'expanded' | 'selectable'",
                    "resolved": "\"default\" | \"expanded\" | \"selectable\"",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "getter": false,
                "setter": false,
                "attribute": "type",
                "reflect": false,
                "defaultValue": "'default'"
            },
            "showTitle": {
                "type": "boolean",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "getter": false,
                "setter": false,
                "attribute": "show-title",
                "reflect": false,
                "defaultValue": "true"
            },
            "showDescription": {
                "type": "boolean",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "getter": false,
                "setter": false,
                "attribute": "show-description",
                "reflect": false,
                "defaultValue": "true"
            },
            "showFeaturedIcon": {
                "type": "boolean",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "getter": false,
                "setter": false,
                "attribute": "show-featured-icon",
                "reflect": false,
                "defaultValue": "true"
            },
            "image": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "string",
                    "resolved": "string",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "getter": false,
                "setter": false,
                "attribute": "image",
                "reflect": false,
                "defaultValue": "''"
            },
            "showRating": {
                "type": "boolean",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "getter": false,
                "setter": false,
                "attribute": "show-rating",
                "reflect": false,
                "defaultValue": "false"
            },
            "disabled": {
                "type": "boolean",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "getter": false,
                "setter": false,
                "attribute": "disabled",
                "reflect": false,
                "defaultValue": "false"
            },
            "effect": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "'with-shadow' | 'no-shadow' | 'stroke'",
                    "resolved": "\"no-shadow\" | \"stroke\" | \"with-shadow\"",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "getter": false,
                "setter": false,
                "attribute": "effect",
                "reflect": false,
                "defaultValue": "'with-shadow'"
            },
            "cardTitle": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "string",
                    "resolved": "string",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "getter": false,
                "setter": false,
                "attribute": "card-title",
                "reflect": false,
                "defaultValue": "'Card Title'"
            },
            "description": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "string",
                    "resolved": "string",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "getter": false,
                "setter": false,
                "attribute": "description",
                "reflect": false,
                "defaultValue": "'Card content placeholder text goes here'"
            },
            "customComponent": {
                "type": "unknown",
                "mutable": false,
                "complexType": {
                    "original": "JSX.Element",
                    "resolved": "Element",
                    "references": {
                        "JSX": {
                            "location": "global",
                            "id": "global::JSX"
                        }
                    }
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "getter": false,
                "setter": false
            },
            "featuredIcon": {
                "type": "unknown",
                "mutable": false,
                "complexType": {
                    "original": "Icon",
                    "resolved": "Icon",
                    "references": {
                        "Icon": {
                            "location": "import",
                            "path": "../dga-featured-icon/dga-featured-icon",
                            "id": "src/components/dga-featured-icon/dga-featured-icon.tsx::Icon"
                        }
                    }
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "getter": false,
                "setter": false,
                "defaultValue": "{\n    name: 'checkmark-circle-02',\n    variant: 'stroke',\n    type: 'sharp',\n    size: 24\n  }"
            },
            "showPrimaryAction": {
                "type": "boolean",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "getter": false,
                "setter": false,
                "attribute": "show-primary-action",
                "reflect": false,
                "defaultValue": "true"
            },
            "primaryActionLabel": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "string",
                    "resolved": "string",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "getter": false,
                "setter": false,
                "attribute": "primary-action-label",
                "reflect": false,
                "defaultValue": "'Primary Action'"
            },
            "showSecondaryAction": {
                "type": "boolean",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "getter": false,
                "setter": false,
                "attribute": "show-secondary-action",
                "reflect": false,
                "defaultValue": "true"
            },
            "isSelected": {
                "type": "boolean",
                "mutable": true,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "getter": false,
                "setter": false,
                "attribute": "is-selected",
                "reflect": true,
                "defaultValue": "false"
            },
            "secondaryActionLabel": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "string",
                    "resolved": "string",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "getter": false,
                "setter": false,
                "attribute": "secondary-action-label",
                "reflect": false,
                "defaultValue": "'Secondary Action'"
            },
            "onCheckboxChange": {
                "type": "unknown",
                "mutable": false,
                "complexType": {
                    "original": "() => void",
                    "resolved": "() => void",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "getter": false,
                "setter": false,
                "defaultValue": "() => {}"
            },
            "onPrimaryAction": {
                "type": "unknown",
                "mutable": false,
                "complexType": {
                    "original": "() => void",
                    "resolved": "() => void",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "getter": false,
                "setter": false,
                "defaultValue": "() => {}"
            },
            "onSecondaryAction": {
                "type": "unknown",
                "mutable": false,
                "complexType": {
                    "original": "() => void",
                    "resolved": "() => void",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "getter": false,
                "setter": false,
                "defaultValue": "() => {}"
            },
            "onExpandAction": {
                "type": "unknown",
                "mutable": false,
                "complexType": {
                    "original": "() => void",
                    "resolved": "() => void",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "getter": false,
                "setter": false,
                "defaultValue": "() => {}"
            }
        };
    }
    static get states() {
        return {
            "isFocused": {},
            "expanded": {}
        };
    }
}
//# sourceMappingURL=dga-card.js.map
