import { Host, h } from "@stencil/core";
/**
 * @slot heading - Content will be placed at the top of the data list.
 */
export class DataList {
    constructor() {
        /**
         * The size of the data list component.
         */
        this.size = "medium";
        /**
         * Sets the theme color to the dark or light theme color. "inherit" will set the color based on the system settings or ic-theme component.
         */
        this.theme = "inherit";
    }
    render() {
        const { el, heading, size, theme } = this;
        if (size === "small") {
            Array.from(el.children).forEach((child) => child.setAttribute("size", "small"));
        }
        return (h(Host, { key: '6f83752c95bc937a1fcc825cfaefa57f3103b71d', class: {
                "ic-data-list-small": size === "small",
                [`ic-theme-${theme}`]: theme !== "inherit",
            } }, h("div", { key: '1d2299d6bf8a13cba28b18d33ec8e1387c624cc5', class: "heading", id: "data-list-heading" }, h("slot", { key: '2f8b5c7bbb30d4c11bc08947737c7c9d7f0e91ed', name: "heading" }, h("ic-typography", { key: '7665e122d1da3e292abf459f0456e64c966eb65d', variant: "h3" }, heading))), h("div", { key: '44be7746fb08b772fc9bb38cd673811026fe4092', class: "divider" }), h("ul", { key: '8aa11aeada0518d6d9db18f3c962863e1414b02b', "aria-labelledby": "data-list-heading", class: "rows" }, h("slot", { key: '18635edff92562810f11056cb750615884e28efe' }))));
    }
    static get is() { return "ic-data-list"; }
    static get encapsulation() { return "shadow"; }
    static get originalStyleUrls() {
        return {
            "$": ["ic-data-list.css"]
        };
    }
    static get styleUrls() {
        return {
            "$": ["ic-data-list.css"]
        };
    }
    static get properties() {
        return {
            "heading": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "string",
                    "resolved": "string | undefined",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": "The title for the data list."
                },
                "getter": false,
                "setter": false,
                "attribute": "heading",
                "reflect": false
            },
            "size": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "IcSizesNoLarge",
                    "resolved": "\"medium\" | \"small\" | undefined",
                    "references": {
                        "IcSizesNoLarge": {
                            "location": "import",
                            "path": "../../utils/types",
                            "id": "src/utils/types.ts::IcSizesNoLarge"
                        }
                    }
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": "The size of the data list component."
                },
                "getter": false,
                "setter": false,
                "attribute": "size",
                "reflect": false,
                "defaultValue": "\"medium\""
            },
            "theme": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "IcThemeMode",
                    "resolved": "\"dark\" | \"inherit\" | \"light\" | undefined",
                    "references": {
                        "IcThemeMode": {
                            "location": "import",
                            "path": "../../utils/types",
                            "id": "src/utils/types.ts::IcThemeMode"
                        }
                    }
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": "Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component."
                },
                "getter": false,
                "setter": false,
                "attribute": "theme",
                "reflect": false,
                "defaultValue": "\"inherit\""
            }
        };
    }
    static get elementRef() { return "el"; }
}
//# sourceMappingURL=ic-data-list.js.map
