export class EdelModalComponent {
    constructor() {
        this.center = true;
        this.full = false;
        this.demo = false;
    }
    render() {
        const bodyClass = this.full ? 'modal-page' : 'modal-window';
        return (h("div", { class: bodyClass },
            h("slot", null)));
    }
    hostData() {
        return {
            class: 'modal'
        };
    }
    componentDidLoad() {
        if (this.demo) {
            this.hostElement.classList.add('modal--demo');
        }
        if (this.full) {
            this.hostElement.classList.add('modal--full');
        }
        else {
            this.hostElement.classList.remove('modal--full');
            if (this.center) {
                this.hostElement.classList.add('modal--center');
            }
            else {
                this.hostElement.classList.remove('modal--center');
            }
        }
    }
    static get is() { return "edel-modal"; }
    static get properties() { return {
        "center": {
            "type": Boolean,
            "attr": "center",
            "watchCallbacks": ["componentDidLoad"]
        },
        "demo": {
            "type": Boolean,
            "attr": "demo",
            "watchCallbacks": ["componentDidLoad"]
        },
        "full": {
            "type": Boolean,
            "attr": "full",
            "watchCallbacks": ["componentDidLoad"]
        },
        "hostElement": {
            "elementRef": true
        }
    }; }
}
