import { Host, h } from "@stencil/core";
import { BEM } from "../../utils/bem";
export class Notices {
    constructor() {
        /**
         * @internal Tells if the notice is animated
         */
        this.animated = true;
        /**
         * @internal The interface tells the notice where to show the notice.
         */
        this.interface = 'toast';
        /**
         * @internal Sets the content content width with the regular container classes
         */
        this.container = undefined;
    }
    render() {
        const block = BEM.block('notices');
        const innerEl = block.element('inner');
        const hasContainer = this.interface === 'toast' && this.container !== undefined;
        return (h(Host, { key: '83c73f66abe9dc3abf4181c43af09fc4ce7f3b7a', class: Object.assign(Object.assign(Object.assign({ 'bal-app': true }, block.class()), block.modifier('container').class(hasContainer)), block.modifier('animated').class(this.animated)) }, h("div", { key: 'f16cd17c52f0df45500e9be985fc099c5c134cf6', class: Object.assign(Object.assign(Object.assign({}, innerEl.class()), innerEl.modifier(this.interface).class()), { container: hasContainer, [`is-${this.container}`]: hasContainer && this.container !== '' }) }, h("slot", { key: 'bdf0fc55a2b9d63fed14821e8e83553394052ac2' }))));
    }
    static get is() { return "bal-notices"; }
    static get originalStyleUrls() {
        return {
            "$": ["bal-notices.sass"]
        };
    }
    static get styleUrls() {
        return {
            "$": ["bal-notices.css"]
        };
    }
    static get properties() {
        return {
            "animated": {
                "type": "boolean",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [{
                            "name": "internal",
                            "text": "Tells if the notice is animated"
                        }],
                    "text": ""
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "animated",
                "defaultValue": "true"
            },
            "interface": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "'toast' | 'snackbar'",
                    "resolved": "\"snackbar\" | \"toast\"",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [{
                            "name": "internal",
                            "text": "The interface tells the notice where to show the notice."
                        }],
                    "text": ""
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "interface",
                "defaultValue": "'toast'"
            },
            "container": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "'fluid' | 'detail-page' | 'compact' | 'blog-page' | 'wide' | '' | undefined",
                    "resolved": "\"\" | \"blog-page\" | \"compact\" | \"detail-page\" | \"fluid\" | \"wide\"",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [{
                            "name": "internal",
                            "text": "Sets the content content width with the regular container classes"
                        }],
                    "text": ""
                },
                "getter": false,
                "setter": false,
                "reflect": false,
                "attribute": "container",
                "defaultValue": "undefined"
            }
        };
    }
}
