{"version":3,"sources":["webpack://gli-frontend/../web/themes/custom/gilderlehrman_theme/src/js/gli__study-guide-menu.js"],"names":["Drupal","behaviors","gliStudyGuideMenu","attach","context","menuBlock","querySelector","currentActiveSubmenu","currentPath","URL","window","location","pathname","matchedMenuLink","lastIndexOf","substring","classList","add","closest","replaceChildren","cloneNode","parentNode","children","levelTwoActiveTrail","mobileMenuToggler","addEventListener","event","target","toggle","querySelectorAll","forEach","button","link","lvlOneLink","remove","preventDefault","innerWidth","contains","levelOneLink","subMenu"],"mappings":"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","file":"/js/gli__study-guide-menu.js","sourcesContent":["((Drupal) => {\n Drupal.behaviors.gliStudyGuideMenu = {\n attach (context) {\n const menuBlock = context.querySelector('.block--gli-study-guide-menu-block');\n if (menuBlock) {\n let currentActiveSubmenu = menuBlock.querySelector('li.menu-item-level-0.menu-item--active-trail ul.menu-level-1');\n if (!currentActiveSubmenu) {\n // Check path breadcrumb-style to find active trail.\n let currentPath = new URL(window.location).pathname;\n let matchedMenuLink;\n while (currentPath.lastIndexOf('/') !== -1) {\n currentPath = currentPath.substring(0, currentPath.lastIndexOf('/'));\n if (currentPath) {\n matchedMenuLink = menuBlock.querySelector(`.menu-level-0 a[href^=\"${currentPath}\"]`);\n if (matchedMenuLink) {\n break;\n }\n }\n }\n if (matchedMenuLink) {\n matchedMenuLink.classList.add('is-active');\n matchedMenuLink.closest('li.menu-item-level-1')?.classList.add('menu-item--active-trail', 'is-active');\n matchedMenuLink.closest('li.menu-item-level-0')?.classList.add('menu-item--active-trail');\n currentActiveSubmenu = matchedMenuLink.closest('li.menu-item-level-0')?.querySelector('ul.menu-level-1');\n }\n }\n\n if (currentActiveSubmenu) {\n menuBlock.querySelector('.subnav-container').replaceChildren(currentActiveSubmenu.cloneNode(true));\n currentActiveSubmenu.parentNode.classList.add('is-active');\n currentActiveSubmenu.parentNode.children[0]?.classList.add('is-active');\n // Activate level 2 active trail if necessary.\n const levelTwoActiveTrail = menuBlock.querySelector('.subnav-container .menu-item-level-1.menu-item--active-trail');\n if (levelTwoActiveTrail) {\n levelTwoActiveTrail.querySelector('a')?.classList.add('is-active');\n }\n }\n\n const mobileMenuToggler = menuBlock.querySelector('.m-menu-toggler button');\n if (mobileMenuToggler) {\n mobileMenuToggler.addEventListener('click', event => {\n event.target.closest('.menu-container')?.classList.toggle('m-menu-open');\n });\n }\n\n menuBlock.querySelectorAll('li.menu-item-level-0 .mobile-toggle').forEach(button => {\n button.addEventListener('click', event => {\n event.target.parentNode.classList.toggle('m-expanded');\n });\n });\n\n menuBlock.querySelectorAll('li.menu-item-level-0 > a').forEach(link => {\n link.addEventListener('mouseenter', event => {\n event.target.parentNode.parentNode.querySelectorAll('.menu-item-level-0 > a').forEach(lvlOneLink => {\n lvlOneLink.classList.remove('is-active');\n });\n event.target.classList.add('is-active');\n });\n\n link.addEventListener('click', event => {\n event.preventDefault();\n if (window.innerWidth >= 850) {\n if (!event.target.parentNode.classList.contains('is-active')) {\n menuBlock.querySelectorAll('li.menu-item-level-0 > a').forEach(levelOneLink => {\n levelOneLink.classList.remove('is-active');\n levelOneLink.parentNode.classList.remove('is-active', 'mobile-collapsed');\n });\n event.target.classList.add('is-active');\n event.target.parentNode.classList.add('is-active');\n const subMenu = event.target.parentNode.querySelector('ul.menu-level-1');\n if (subMenu) {\n menuBlock.querySelector('.subnav-container').replaceChildren(subMenu.cloneNode(true));\n }\n }\n }\n });\n });\n\n menuBlock.querySelector('.menu-container')?.addEventListener('mouseleave', event => {\n menuBlock.querySelectorAll('.menu-item-level-0 > a').forEach(lvlOneLink => {\n lvlOneLink.classList.remove('is-active');\n });\n menuBlock.querySelector('.menu-item-level-0.is-active > a')?.classList.add('is-active');\n });\n }\n },\n };\n})(Drupal);\n"],"sourceRoot":""}