class CustomFooter extends HTMLElement { connectedCallback() { this.attachShadow({ mode: 'open' }); this.shadowRoot.innerHTML = ` `; // Replace feather icons after shadow DOM is rendered setTimeout(() => { if (this.shadowRoot.querySelector('[data-feather]')) { feather.replace(); } }, 100); } } customElements.define('custom-footer', CustomFooter);