export class EdelLinklistComponent {
    constructor() {
        this.landscape = false;
        this.spaced = false;
        this.insideCard = false;
        this.isSidebar = false;
        this.extended = false;
    }
    hostData() {
        return {
            class: 'linklist'
        };
    }
    componentDidLoad() {
        this.shouldHaveClass('linklist--landscape', this.landscape);
        this.shouldHaveClass('linklist--is-card', this.insideCard);
        this.shouldHaveClass('linklist--spaced', this.spaced);
        this.shouldHaveClass('linklist--is-sidebar', this.isSidebar);
        this.shouldHaveClass('linklist--extended', this.extended);
    }
    render() {
        return h("slot", null);
    }
    shouldHaveClass(theme, should) {
        if (should) {
            this.hostElement.classList.add(theme);
        }
        else {
            this.hostElement.classList.remove(theme);
        }
    }
    static get is() { return "edel-linklist"; }
    static get properties() { return {
        "extended": {
            "type": Boolean,
            "attr": "extended",
            "watchCallbacks": ["componentDidLoad"]
        },
        "hostElement": {
            "elementRef": true
        },
        "insideCard": {
            "type": Boolean,
            "attr": "inside-card",
            "watchCallbacks": ["componentDidLoad"]
        },
        "isSidebar": {
            "type": Boolean,
            "attr": "is-sidebar"
        },
        "landscape": {
            "type": Boolean,
            "attr": "landscape",
            "watchCallbacks": ["componentDidLoad"]
        },
        "spaced": {
            "type": Boolean,
            "attr": "spaced",
            "watchCallbacks": ["componentDidLoad"]
        }
    }; }
}
