class UiEmpty extends HTMLElement { connectedCallback() { const icon = this.getAttribute('icon') || 'inbox'; const heading = this.getAttribute('heading') || 'Nothing here yet'; const body = this.getAttribute('body') || ''; this.attachShadow({ mode: 'open' }); this.shadowRoot.innerHTML = `

${heading}

${body ? `

${body}

` : ''}
`; if (window.lucide) lucide.createIcons({ root: this.shadowRoot }); } } customElements.define('ui-empty', UiEmpty);