class CustomDropdown extends HTMLElement {
connectedCallback() {
this.attachShadow({ mode: 'open' });
this.shadowRoot.innerHTML = `
`;
const dropdownBtn = this.shadowRoot.querySelector('.dropdown-btn');
const dropdownContent = this.shadowRoot.querySelector('.dropdown-content');
const dropdown = this.shadowRoot.querySelector('.dropdown');
dropdownBtn.addEventListener('click', (e) => {
e.stopPropagation();
dropdownContent.classList.toggle('show');
dropdown.classList.toggle('active');
});
// Close when clicking outside
document.addEventListener('click', () => {
dropdownContent.classList.remove('show');
dropdown.classList.remove('active');
});
}
}
customElements.define('custom-dropdown', CustomDropdown);