2 class HeaderMobileToggle {
6 this.toggleButton = this.$refs.toggle;
7 this.menu = this.$refs.menu;
10 this.toggleButton.addEventListener('click', this.onToggle.bind(this));
11 this.onWindowClick = this.onWindowClick.bind(this);
12 this.onKeyDown = this.onKeyDown.bind(this);
16 this.open = !this.open;
17 this.menu.classList.toggle('show', this.open);
18 this.toggleButton.setAttribute('aria-expanded', this.open ? 'true' : 'false');
20 this.elem.addEventListener('keydown', this.onKeyDown);
21 window.addEventListener('click', this.onWindowClick)
23 this.elem.removeEventListener('keydown', this.onKeyDown);
24 window.removeEventListener('click', this.onWindowClick)
26 event.stopPropagation();
30 if (event.code === 'Escape') {
35 onWindowClick(event) {
41 export default HeaderMobileToggle;