{"version":3,"file":"menu-slideout.811ffaa0.js","sources":["../modules/menu-slideout/menu-slideout.js"],"sourcesContent":["import DynamicSectionElement from '@/scripts/dynamic-section-element.js'\nimport { trapFocus, removeTrapFocus } from '@shopify/theme-a11y'\nimport { handleLinksClick } from '@/scripts/datalayer'\nimport { decode } from '@/scripts/utils'\n\nclass MenuSlideout extends DynamicSectionElement {\n constructor () {\n super()\n this.openMenuSlideoutEl = document.querySelector('.js-open-menu-slideout')\n this.closeMenuSlideoutEl = document.querySelector('.js-close-menu-slideout')\n\n this.addEventListener('keyup', event => event.code.toUpperCase() === 'ESCAPE' && this.closeDrawer())\n }\n\n openDrawer (event) {\n if (event && event.preventDefault) {\n if (event.metaKey) {\n return\n }\n event.preventDefault()\n }\n\n if (this.openMenuSlideoutEl && !this.openMenuSlideoutEl.classList.contains('hidden')) {\n this.openMenuSlideoutEl.classList.add('hidden')\n }\n\n if (this.closeMenuSlideoutEl && this.closeMenuSlideoutEl.classList.contains('hidden')) {\n this.closeMenuSlideoutEl.classList.remove('hidden')\n }\n\n this.classList.add('open-slideout')\n document.body.classList.add('overflow-hidden', 'is-open-slideout', 'is-open-menu-slideout' )\n if (event && event.currentTarget) {\n const activeHandle = this.querySelector(`[data-handle=\"${event.currentTarget.dataset.handle}\"]`)\n this.openChildMenu(activeHandle)\n }\n }\n\n closeDrawer () {\n if (this.closeMenuSlideoutEl && !this.closeMenuSlideoutEl.classList.contains('hidden')) {\n this.closeMenuSlideoutEl.classList.add('hidden')\n }\n\n if (this.openMenuSlideoutEl && this.openMenuSlideoutEl.classList.contains('hidden')) {\n this.openMenuSlideoutEl.classList.remove('hidden')\n }\n\n this.classList.remove('open-slideout')\n document.body.classList.remove('overflow-hidden', 'is-open-slideout', 'is-open-menu-slideout', 'is-open-menu-level-2', 'is-open-menu-level-3' )\n document.querySelector('.js-data-predictive-search').classList.add('hidden')\n\n removeTrapFocus()\n }\n\n openChildMenu (element) {\n if (!element) return\n\n this.hiddenMenuLevel('is-open-menu-level-3')\n this.hiddenMenuLevel2()\n\n const currentActiveMenu = element.parentElement.querySelector('.js-menu-item.active')\n if (currentActiveMenu === element) {\n this.resetAllActiveMenuLevel('.js-menu-item')\n return\n }\n\n if (element && element.dataset.links) {\n const data = JSON.parse(decode(element.dataset.links))\n const current = data[0].current\n document.querySelector('.js-selected-menu-level-2').textContent = current\n const contentEl = document.querySelector('.js-content-menu-level-2')\n let htmlItem = []\n\n data.forEach(item => {\n const openNewTab = item.openNewTab ? 'target=\"_blank\"' : ''\n const dataMenu = item.links.data.length > 0 ? `data-links='${JSON.stringify(item)}'` : ''\n const jsClass = item.links.data.length > 0 ? 'js-open-menu-level-3' : ''\n const icon = item.links.data.length > 0 ? `