class CustomSidebar extends HTMLElement { connectedCallback() { this.attachShadow({ mode: 'open' }); const path = this.getAttribute('path') || ''; this.shadowRoot.innerHTML = ` `; // Replace feather icons after render setTimeout(() => { const icons = this.shadowRoot.querySelectorAll('[data-feather]'); icons.forEach(icon => { feather.replace(icon); }); }, 100); } } customElements.define('custom-sidebar', CustomSidebar);