import { __decorate, __metadata } from "tslib";
import { h, Host } from "@stencil/core";
import { BEM } from "../../utils/bem";
import { Logger } from "../../utils/log";
export class Divider {
    constructor() {
        /**
         * PUBLIC PROPERTY API
         * ------------------------------------------------------
         */
        /**
         * Defines the position of the child elements if they
         * are showed verticaly or horizontally. Default is verticaly.
         */
        this.layout = 'horizontal';
        /**
         * Defines the space between the child elements. Default is xx-small.
         */
        this.space = 'none';
        /**
         * Defines the color of the separator line.
         */
        this.color = 'grey';
        /**
         * Defines the color of the separator line.
         */
        this.borderStyle = 'solid';
    }
    createLogger(log) {
        this.log = log;
    }
    /**
     * RENDER
     * ------------------------------------------------------
     */
    render() {
        const block = BEM.block('divider');
        const layout = !!this.layout;
        const space = !!this.space;
        const color = !!this.color;
        const borderStyle = !!this.borderStyle;
        return (h(Host, { key: '60ea4a88825c99f20a5db8a458c4c27ad04d616c', role: "separator", class: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, block.class()), block.modifier(`layout-${this.layout}`).class(layout)), block.modifier(`space-${this.space}`).class(space)), block.modifier(`color-${this.color}`).class(color)), block.modifier(`border-style-${this.borderStyle}`).class(borderStyle)) }, h("slot", { key: '307d340b0c7e0333995fc22030cd4c1794f54136' })));
    }
    static get is() { return "bal-divider"; }
    static get originalStyleUrls() {
        return {
            "$": ["./bal-divider.sass"]
        };
    }
    static get styleUrls() {
        return {
            "$": ["bal-divider.css"]
        };
    }
    static get properties() {
        return {
            "layout": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "BalProps.BalDividerLayout",
                    "resolved": "\"\" | \"horizontal\" | \"vertical\"",
                    "references": {
                        "BalProps": {
                            "location": "global",
                            "id": "global::BalProps"
                        }
                    }
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Defines the position of the child elements if they\nare showed verticaly or horizontally. Default is verticaly."
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "layout",
                "defaultValue": "'horizontal'"
            },
            "space": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "BalProps.BalDividerSpace",
                    "resolved": "\"\" | \"large\" | \"medium\" | \"none\" | \"normal\" | \"small\" | \"x-large\" | \"x-small\" | \"xx-large\" | \"xx-small\" | \"xxx-large\"",
                    "references": {
                        "BalProps": {
                            "location": "global",
                            "id": "global::BalProps"
                        }
                    }
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Defines the space between the child elements. Default is xx-small."
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "space",
                "defaultValue": "'none'"
            },
            "color": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "BalProps.BalDividerColor",
                    "resolved": "\"danger\" | \"danger-dark\" | \"danger-darker\" | \"grey\" | \"grey-dark\" | \"grey-light\" | \"light-blue\" | \"primary\" | \"primary-dark\" | \"primary-light\" | \"success\" | \"warning\" | \"white\"",
                    "references": {
                        "BalProps": {
                            "location": "global",
                            "id": "global::BalProps"
                        }
                    }
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Defines the color of the separator line."
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "color",
                "defaultValue": "'grey'"
            },
            "borderStyle": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "BalProps.BalDividerBorderStyle",
                    "resolved": "\"\" | \"dashed\" | \"solid\"",
                    "references": {
                        "BalProps": {
                            "location": "global",
                            "id": "global::BalProps"
                        }
                    }
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Defines the color of the separator line."
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "border-style",
                "defaultValue": "'solid'"
            }
        };
    }
}
__decorate([
    Logger('bal-divider'),
    __metadata("design:type", Function),
    __metadata("design:paramtypes", [Function]),
    __metadata("design:returntype", void 0)
], Divider.prototype, "createLogger", null);
