class CustomNavbar extends HTMLElement { connectedCallback() { this.attachShadow({ mode: 'open' }); this.shadowRoot.innerHTML = ` `; const menuButton = this.shadowRoot.getElementById('mobile-menu-button'); const mobileMenu = this.shadowRoot.getElementById('mobile-menu'); menuButton.addEventListener('click', () => { const isOpen = mobileMenu.classList.contains('open'); // Change icon const menuIcon = menuButton.querySelector('i'); if (isOpen) { menuIcon.setAttribute('data-feather', 'menu'); } else { menuIcon.setAttribute('data-feather', 'x'); } feather.replace(); // Toggle menu mobileMenu.classList.toggle('open'); }); } } customElements.define('custom-navbar', CustomNavbar);