{"version":3,"file":"app.js","mappings":"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","sources":["webpack://mega-menu/./src/js/navigation.js","webpack://mega-menu/./src/js/util/body-scroll.js","webpack://mega-menu/./src/js/util/dom-ready.js","webpack://mega-menu/./src/js/util/expanded-attribute.js","webpack://mega-menu/./src/js/util/focus-trap.js","webpack://mega-menu/webpack/bootstrap","webpack://mega-menu/webpack/runtime/make namespace object","webpack://mega-menu/./src/js/app.js"],"sourcesContent":["import FocusTrap from './util/focus-trap';\nimport BodyScroll from './util/body-scroll';\nimport ExpandedAttribute from './util/expanded-attribute';\n\n/**\n * File navigation.js.\n *\n * Handles toggling the navigation menu for small screens\n */\n\nconst initNavigation = () => {\n\n// The nav-main element is the main navigation container\nconst navMain = document.querySelector('.nav-main');\n// The toggler is the button that opens and closes the main navigation\nconst toggler = document.querySelector('button[aria-controls=\"nav-main\"]');\n\n// The nav-main-links element is the container for the main navigation links\nconst navMainLinks = document.querySelectorAll('.nav-main-link.has-submenu');\n\n// The submenuTogglers are the buttons that open and close the submenus\nconst submenuTogglers = [].slice.call(navMain.querySelectorAll('button.submenu-toggle[depth=\"0\"]'));\n// The subCategories are the buttons second level and deeper. They have actions on mobile but not desktop\nconst subCategories = [].slice.call(navMain.querySelectorAll('button.submenu-toggle:not([depth=\"0\"])'));\n// Submenus are the containers for the subcategories\nconst subMenus = [].slice.call(navMain.querySelectorAll('.submenu'));\n// const navMainLinks = navMain.querySelector('.nav-main-links'); // container\n\nconst siteHeader = document.querySelector('.site-header');\nconst skipLink = document.querySelector('.skip-link');\nlet focusTrap;\nlet submenuFocusTrap;\nlet openSubmenuToggler;\n\nconst isSmallScreenNav = () => getComputedStyle(navMain).position === 'fixed';\nconst getTogglerSet = (el) => document.querySelectorAll(`[aria-controls=\"${el.getAttribute('aria-controls')}\"]`);\n\nconst addSubmenuBackButtons = () => {\n const togglers = [].slice.call(navMain.querySelectorAll('.submenu-toggle'));\n togglers.forEach((toggler) => {\n const submenu = document.getElementById(toggler.getAttribute('aria-controls'));\n if (!submenu) {\n return;\n }\n const submenuIntro = submenu.querySelector('.intro');\n const clonedToggler = toggler.cloneNode(true);\n clonedToggler.classList.add('back');\n if (submenuIntro) {\n submenuIntro.appendChild(clonedToggler);\n }\n });\n};\n\nconst toggleMainMenu = ({ currentTarget }) => {\n const open = ExpandedAttribute.toggle(currentTarget);\n if (open) {\n openMainMenu();\n } else {\n closeMainMenu();\n }\n};\n\nconst closeMainMenu = () => {\n ExpandedAttribute.collapse(toggler);\n BodyScroll.release();\n focusTrap.release();\n};\n\nconst openMainMenu = () => {\n ExpandedAttribute.expand(toggler);\n BodyScroll.to(siteHeader);\n window.setTimeout(() => {\n BodyScroll.fix();\n showNavMain();\n focusTrap.set();\n }, 10);\n};\n\n// Convert to drilling in or out.\nconst closeOpenSubmenus = (except) => {\n const openMenus = [].slice.call(navMain.querySelectorAll('button.submenu-toggle[aria-expanded=\"true\"]'));\n const togglerSet = [].slice.call(getTogglerSet(except));\n // Filter out the current \"Except\" menu if passed\n const otherMenus = openMenus.filter((trigger) => !togglerSet.includes(trigger));\n\n // Filter out multiple triggers for the same menu\n const triggerTargets = [];\n const filteredMenus = otherMenus.filter((trigger) => {\n const targetId = trigger.getAttribute('aria-controls');\n if (triggerTargets.includes(targetId)) {\n return false;\n }\n triggerTargets.push(targetId);\n return true;\n });\n\n if (!isSmallScreenNav()) {\n if (filteredMenus.length) {\n filteredMenus.forEach((toggler) => toggleSubmenu({ target: toggler, forceHide: true }));\n }\n }\n\n};\n\nconst showNavMain = () => {\n const headerHeight = siteHeader ? siteHeader.offsetHeight : 0;\n navMain.style.setProperty('--header-height', headerHeight + 'px');\n navMain.classList.add('visible');\n};\n\nconst checkOutsideClick = (e) => {\n if (siteHeader.contains(e.target) || !openSubmenuToggler || isSmallScreenNav()) {\n return;\n }\n toggleSubmenu({ target: openSubmenuToggler });\n};\n\nconst submenuKeyBindings = (e) => {\n switch (e.key) {\n case 'Escape':\n toggleSubmenu({ target: openSubmenuToggler });\n break;\n default:\n break;\n }\n};\n\n// convert to open or close based on button type\nconst toggleSubmenu = ({ target, forceHide }) => {\n const toggler = target;\n const submenu = document.getElementById(toggler.getAttribute('aria-controls'));\n if (!submenu) {\n return;\n }\n const transitionElement = isSmallScreenNav() ? navMain : submenu;\n const expanded = ExpandedAttribute.toggle(toggler);\n\n const completeHide = () => {\n submenu.hidden = true;\n submenu.classList.remove('transition-out');\n transitionElement.removeEventListener('transitionend', completeHide);\n //toggler.focus();\n };\n\n if (isSmallScreenNav()) {\n let nms = getComputedStyle(navMain);\n let submenuOpenDepth = parseInt(nms.getPropertyValue('--submenu-open-depth')) || 0;\n // if not back button then open\n if (!toggler.classList.contains('back')) {\n submenuOpenDepth += 1\n if (submenuOpenDepth > 0) {\n\n // Display submenu\n submenu.hidden = false;\n window.setTimeout(() => {\n navMain.classList.add('submenu-visible')\n siteHeader.classList.add('submenu-visible')\n }, 10)\n submenuFocusTrap = new FocusTrap(toggler.closest('.nav-main-link'));\n submenuFocusTrap.set();\n document.body.addEventListener('click', checkOutsideClick);\n document.body.addEventListener('keyup', submenuKeyBindings);\n openSubmenuToggler = toggler;\n }\n } else {\n submenuOpenDepth -= 1\n if (submenuOpenDepth < 1) {\n // Hide Submenu\n if (submenuFocusTrap) {\n submenuFocusTrap.release();\n }\n navMain.classList.remove('submenu-visible');\n siteHeader.classList.remove('submenu-visible');\n \n if (forceHide) {\n submenu.hidden = !expanded;\n } else {\n transitionElement.addEventListener('transitionend', completeHide);\n submenu.classList.add('transition-out');\n }\n openSubmenuToggler = null;\n document.body.removeEventListener('click', checkOutsideClick);\n document.body.removeEventListener('keyup', submenuKeyBindings);\n }\n }\n console.log('submenuOpenDepth', submenuOpenDepth);\n navMain.style.setProperty('--submenu-open-depth', submenuOpenDepth);\n\n } else {\n if (submenu.hidden) {\n // Display submenu\n submenu.hidden = !expanded;\n window.setTimeout(() => {\n\n navMain.classList.add('submenu-visible')\n siteHeader.classList.add('submenu-visible')\n }, 10);\n submenuFocusTrap = new FocusTrap(toggler.closest('.nav-main-link'));\n submenuFocusTrap.set();\n document.body.addEventListener('click', checkOutsideClick);\n document.body.addEventListener('keyup', submenuKeyBindings);\n openSubmenuToggler = toggler;\n } else {\n // Hide Submenu\n if (submenuFocusTrap) {\n submenuFocusTrap.release();\n }\n navMain.classList.remove('submenu-visible');\n siteHeader.classList.remove('submenu-visible');\n \n if (forceHide) {\n submenu.hidden = !expanded;\n } else {\n transitionElement.addEventListener('transitionend', completeHide);\n submenu.classList.add('transition-out');\n }\n openSubmenuToggler = null;\n document.body.removeEventListener('click', checkOutsideClick);\n document.body.removeEventListener('keyup', submenuKeyBindings);\n }\n }\n\n\n};\n\n(function () {\n if (!navMain) {\n return;\n }\n\n if (skipLink) {\n skipLink.addEventListener('click', (e) => {\n const targetEl = document.querySelector(e.target.href.replace(/.*#(.+)/, '#$1'));\n if (targetEl) {\n targetEl.focus();\n }\n });\n }\n\n if (toggler) {\n toggler.addEventListener('click', toggleMainMenu);\n }\n\n if (submenuTogglers) {\n // TODO: Hover effect should only be on the top level menu items and only on large screens\n submenuTogglers.forEach((toggler) => {\n toggler.addEventListener('mouseenter', (e) => {\n // Is submenu already open?\n const isOpen = e.target.getAttribute(\"aria-expanded\") === \"true\";\n if (isSmallScreenNav() || isOpen) {\n return;\n }\n setTimeout(() => {\n //toggler.focus();\n closeOpenSubmenus(toggler);\n toggleSubmenu({ target: toggler });\n }, 50);\n }\n );\n });\n }\n\n if (navMainLinks) {\n navMainLinks.forEach((link) => {\n link.addEventListener('mouseleave', (e) => {\n // If going to another submenu don't do anything\n if (submenuTogglers.includes(e.toElement) || !openSubmenuToggler || isSmallScreenNav()) {\n // console.log('returning');\n return;\n }\n // setTimeout(() => {\n // Close submenu if mouse leaves the submenu\n // console.log('closing');\n \n toggleSubmenu({ target: openSubmenuToggler });\n // }, 50);\n });\n });\n }\n\n if (navMain) {\n navMain\n }\n\n // navigate to page if button has an href\n if (subCategories) {\n subCategories.forEach((button) => {\n button.addEventListener('click', (e) => {\n if (isSmallScreenNav()) {\n return;\n }\n const href = button.getAttribute('href');\n if (href) {\n window.location.href = href;\n }\n });\n });\n }\n\n document.addEventListener('main-menu:close', closeMainMenu);\n\n focusTrap = new FocusTrap(navMain);\n\n // Handle submenu togglers\n addSubmenuBackButtons();\n navMain.addEventListener('click', (e) => {\n const toggler = e.target.closest('button.submenu-toggle');\n if (!toggler) {\n return;\n }\n closeOpenSubmenus(toggler);\n toggleSubmenu({ target: toggler });\n });\n\n\n})();\n\n}\n\nexport default initNavigation;","const getOffset = (el) => {\n const rect = el.getBoundingClientRect(),\n scrollLeft = window.pageXOffset || document.documentElement.scrollLeft,\n scrollTop = window.pageYOffset || document.documentElement.scrollTop;\n return { top: rect.top + scrollTop, left: rect.left + scrollLeft };\n};\n\nconst jumpBodyScrollTo = (y = 0) => {\n console.log(`Jumping scroll to ${y}`);\n const html = document.querySelector('html');\n html.classList.add('scroll-behavior:auto');\n window.setTimeout(() => {\n window.scrollTo(0, y);\n html.classList.remove('scroll-behavior:auto');\n });\n};\n\nconst BodyScroll = {\n fix() {\n document.body.style.top = `-${window.scrollY}px`;\n document.body.style.position = 'fixed';\n document.body.style.width = '100%';\n },\n\n release() {\n const scrollY = document.body.style.top;\n document.body.style.position = '';\n document.body.style.top = '';\n document.body.style.width = '';\n jumpBodyScrollTo(parseInt(scrollY || '0') * -1);\n },\n\n to(element) {\n if (!'getBoundingClientRect' in element) {\n return;\n }\n const offset = getOffset(element);\n jumpBodyScrollTo(offset.top);\n },\n};\n\nexport default BodyScroll;\n","// Handles firing DOMReady events on scripts loaded asynchronously\n\nconst DOMReady = (callback) => {\n document.readyState === 'interactive' || document.readyState === 'complete'\n ? callback()\n : document.addEventListener('DOMContentLoaded', callback);\n};\n\nexport default DOMReady;\n","const getTogglerSet = (el) => document.querySelectorAll(`[aria-controls=\"${el.getAttribute('aria-controls')}\"]`);\nconst getCurrentState = (el) => 'true' === el.getAttribute('aria-expanded') || false;\n\nconst ExpandedAttribute = {\n toggle(el) {\n const expanded = getCurrentState(el);\n const togglerSet = getTogglerSet(el);\n const newState = !expanded;\n [].forEach.call(togglerSet, (toggler) => toggler.setAttribute('aria-expanded', newState));\n return newState;\n },\n\n expand(el) {\n const expanded = getCurrentState(el);\n if (expanded) {\n return expanded;\n }\n return ExpandedAttribute.toggle(el);\n },\n\n collapse(el) {\n const expanded = getCurrentState(el);\n if (!expanded) {\n return expanded;\n }\n return ExpandedAttribute.toggle(el);\n },\n};\n\nexport default ExpandedAttribute;\n","const CANDIDATES = `\na, button, input, select, textarea, area, details, summary,\niframe, object, embed,\n[tabindex], [contenteditable]\n`;\n\nclass FocusTrap {\n constructor(focusNode, rootNode = document) {\n this.focusNode = focusNode;\n this.rootNode = rootNode;\n this.nodes = [];\n }\n\n set() {\n this.nodes = [...this.rootNode.querySelectorAll(CANDIDATES)].filter(\n (node) => !this.focusNode.contains(node) && node.getAttribute('tabindex') !== '-1'\n );\n this.nodes.forEach((node) => node.setAttribute('tabindex', '-1'));\n }\n\n release() {\n this.nodes.forEach((node) => node.removeAttribute('tabindex'));\n this.nodes = [];\n }\n\n highlightFirstFocusableElement() {\n const firstFocusable = this.focusNode.querySelector(CANDIDATES);\n // console.dir(firstFocusable);\n if (firstFocusable) {\n window.setTimeout(() => {\n firstFocusable.focus();\n }, 10);\n }\n }\n}\n\nexport default FocusTrap;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","\nimport DOMReady from \"./util/dom-ready\";\nimport initNavigation from \"./navigation\";\n\nDOMReady(() => {\n // TODO: This needs to be true on storybook, but false on live. Need to move to an environment variable\n console.log('EVENT', event)\n if (!event.isTrusted) {\n return\n }\n initNavigation();\n});"],"names":["FocusTrap","BodyScroll","ExpandedAttribute","initNavigation","navMain","document","querySelector","toggler","navMainLinks","querySelectorAll","submenuTogglers","slice","call","subCategories","subMenus","siteHeader","skipLink","focusTrap","submenuFocusTrap","openSubmenuToggler","isSmallScreenNav","getComputedStyle","position","getTogglerSet","el","getAttribute","addSubmenuBackButtons","togglers","forEach","submenu","getElementById","submenuIntro","clonedToggler","cloneNode","classList","add","appendChild","toggleMainMenu","currentTarget","open","toggle","openMainMenu","closeMainMenu","collapse","release","expand","to","window","setTimeout","fix","showNavMain","set","closeOpenSubmenus","except","openMenus","togglerSet","otherMenus","filter","trigger","includes","triggerTargets","filteredMenus","targetId","push","length","toggleSubmenu","target","forceHide","headerHeight","offsetHeight","style","setProperty","checkOutsideClick","e","contains","submenuKeyBindings","key","transitionElement","expanded","completeHide","hidden","remove","removeEventListener","nms","submenuOpenDepth","parseInt","getPropertyValue","closest","body","addEventListener","console","log","targetEl","href","replace","focus","isOpen","link","toElement","button","location","getOffset","rect","getBoundingClientRect","scrollLeft","pageXOffset","documentElement","scrollTop","pageYOffset","top","left","jumpBodyScrollTo","y","html","scrollTo","scrollY","width","element","offset","DOMReady","callback","readyState","getCurrentState","newState","setAttribute","CANDIDATES","constructor","focusNode","rootNode","nodes","node","removeAttribute","highlightFirstFocusableElement","firstFocusable","event","isTrusted"],"sourceRoot":""}