import { h } from "@stencil/core";
export class EclSpacing {
    constructor() {
        this.styleClass = '';
        this.theme = 'ec';
        this.breakpoint = undefined;
        this.outer = true;
        this.inner = false;
        this.vertical = false;
        this.horizontal = false;
        this.direction = 'a';
        this.value = 'm';
    }
    getClass() {
        let baseClass = 'ecl-u-';
        let styleClasses = [];
        if (this.outer) {
            if (!this.breakpoint) {
                styleClasses.push(`${baseClass}m${this.direction}-${this.value}`);
            }
            else {
                styleClasses.push(`${baseClass}m${this.direction}-${this.breakpoint}-${this.value}`);
            }
        }
        if (this.inner) {
            if (!this.breakpoint) {
                styleClasses.push(`${baseClass}p${this.direction}-${this.value}`);
            }
            else {
                styleClasses.push(`${baseClass}p${this.direction}-${this.breakpoint}-${this.value}`);
            }
        }
        return styleClasses.join(' ');
    }
    render() {
        return (h("div", { class: this.getClass() }, h("slot", null)));
    }
    static get is() { return "ecl-spacing"; }
    static get originalStyleUrls() {
        return {
            "ec": ["./build/styles/ecl-spacing-ec.css"],
            "eu": ["./build/styles/ecl-spacing-eu.css"]
        };
    }
    static get styleUrls() {
        return {
            "ec": ["build/styles/ecl-spacing-ec.css"],
            "eu": ["build/styles/ecl-spacing-eu.css"]
        };
    }
    static get properties() {
        return {
            "styleClass": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "string",
                    "resolved": "string",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "attribute": "style-class",
                "reflect": false,
                "defaultValue": "''"
            },
            "theme": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "string",
                    "resolved": "string",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "attribute": "theme",
                "reflect": false,
                "defaultValue": "'ec'"
            },
            "breakpoint": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "string",
                    "resolved": "string",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "attribute": "breakpoint",
                "reflect": false
            },
            "outer": {
                "type": "boolean",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "attribute": "outer",
                "reflect": false,
                "defaultValue": "true"
            },
            "inner": {
                "type": "boolean",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "attribute": "inner",
                "reflect": false,
                "defaultValue": "false"
            },
            "vertical": {
                "type": "boolean",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "attribute": "vertical",
                "reflect": false,
                "defaultValue": "false"
            },
            "horizontal": {
                "type": "boolean",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "attribute": "horizontal",
                "reflect": false,
                "defaultValue": "false"
            },
            "direction": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "string",
                    "resolved": "string",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "attribute": "direction",
                "reflect": false,
                "defaultValue": "'a'"
            },
            "value": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "string",
                    "resolved": "string",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": ""
                },
                "attribute": "value",
                "reflect": false,
                "defaultValue": "'m'"
            }
        };
    }
    static get elementRef() { return "el"; }
}
//# sourceMappingURL=ecl-spacing.js.map
