export class MobileMenuController { constructor({ buttonId = 'mobile-menu-button', menuId = 'mobile-menu', closeButtonId = 'close-mobile-menu', } = {}) { this.button = document.getElementById(buttonId); this.menu = document.getElementById(menuId); this.closeButton = document.getElementById(closeButtonId); } init() { if (!this.button || !this.menu) return; this.button.addEventListener('click', () => this.toggle()); this.closeButton?.addEventListener('click', () => this.close()); } toggle() { const isOpen = !this.menu.classList.contains('-translate-x-full'); this.menu.classList.toggle('-translate-x-full'); this.button.setAttribute('aria-expanded', isOpen ? 'false' : 'true'); } close() { this.menu.classList.add('-translate-x-full'); this.button?.setAttribute('aria-expanded', 'false'); } }