class ToggleMenuButton extends HTMLElement {
connectedCallback() {
this.addEventListener('click', this.onClick.bind(this))
const windowsChangeEvent = ('onorientationchange' in window) ? 'orientationchange':'resize';
window.addEventListener(windowsChangeEvent, this.close.bind(this))
}
get targetElement() {
const targetElementId = this.getAttribute('target')
const targetElement = document.getElementById(targetElementId)
console.assert(targetElement !== undefined)
return targetElement
}
onClick(evt) {
this.targetElement.classList.toggle('nav__open')
evt.preventDefault()
}
close() {
this.targetElement.classList.remone('nav__open')
}
}
window.customElements.define('toggle-menu-button', ToggleMenuButton)