{"version":3,"file":"scripts/5471.js","mappings":"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","sources":["webpack://wwwroot/./src/scripts/mobileNavigation.js"],"sourcesContent":["// Get all submenus (besides L1)\r\nconst allSubmenus = [];\r\n\r\n// Get side menu container and its open/close button\r\nconst openNavBtn = document.querySelectorAll(\".adm-btn-nav-mobile\")?.[0];\r\nconst mobileLogoLink = document.querySelector(\".adm-figure-nav-logo-mobile\").firstElementChild;\r\nconst sideNavContainer = openNavBtn?.nextElementSibling;\r\nconst sideNavFirstLink = sideNavContainer?.querySelector(\".adm-li-nav-mobile-link-container\")?.firstElementChild;\r\nconst sideNavAllLinks = sideNavContainer.querySelectorAll(\"a\");\r\nconst sideNavAllBtns = sideNavContainer.querySelectorAll(\"button\");\r\nconst sideNavL2Containers = sideNavContainer.querySelectorAll(\".adm-sidenav-l2\");\r\nlet isSideNavCreated = false;\r\n\r\n// Close/Open the side navigation menu\r\nopenNavBtn?.addEventListener(\"click\", () => {\r\n if (sideNavContainer?.classList.contains(\"adm-ul-nav-mobile-opened\")) {\r\n closeSideNavMobile();\r\n } else {\r\n openSideNavMobile();\r\n }\r\n});\r\n\r\n// Header tab key presses\r\nopenNavBtn?.addEventListener(\"keydown\", event => {\r\n const pressedKeyCode = event.which || event.keyCode;\r\n if (!event.shiftKey && pressedKeyCode === 9) {\r\n event.preventDefault();\r\n mobileLogoLink?.focus();\r\n }\r\n});\r\n\r\nmobileLogoLink?.addEventListener(\"keydown\", event => {\r\n const pressedKeyCode = event.which || event.keyCode;\r\n if (event.shiftKey && pressedKeyCode === 9) {\r\n event.preventDefault();\r\n openNavBtn?.focus();\r\n }\r\n});\r\n\r\n// Get all submenu link containers\r\nconst navLinkContainers = sideNavContainer.querySelectorAll('.adm-ul-dropdown-nav-menu-mobile li');\r\n\r\n// Iterate through all submenu link containers\r\nfor (const navLinkContainer of navLinkContainers) {\r\n\r\n // Get the submenu link\r\n const navLink = navLinkContainer?.firstElementChild;\r\n\r\n // Get its parent and grandparent submenu containers\r\n const grandParentSubmenuContainer = navLink?.parentElement?.parentElement?.parentElement?.parentElement;\r\n const parentSubmenuContainer = navLink?.parentElement?.parentElement;\r\n\r\n // Check if it has submenu\r\n if (navLink?.getAttribute('aria-haspopup') && navLink?.nextElementSibling) {\r\n\r\n // Get child submenu and add to an array\r\n const childSubmenuContainer = navLink?.nextElementSibling;\r\n if (childSubmenuContainer) {\r\n allSubmenus?.push(childSubmenuContainer);\r\n }\r\n\r\n // Open submenu\r\n navLink?.addEventListener('click', () => {\r\n childSubmenuContainer?.classList.add(\"adm-ul-nav-mobile-opened\");\r\n if (childSubmenuContainer) {\r\n childSubmenuContainer.children[1]?.firstElementChild.focus();\r\n }\r\n })\r\n }\r\n\r\n // Check if it is a \"back\" link\r\n if (navLink?.classList.contains('adm-btn-nav-mobile-back')) {\r\n\r\n // Closes submenu\r\n navLink?.addEventListener('click', () => {\r\n parentSubmenuContainer?.classList.remove(\"adm-ul-nav-mobile-opened\");\r\n grandParentSubmenuContainer.style.overflow = '';\r\n parentSubmenuContainer.previousElementSibling?.focus();\r\n })\r\n }\r\n\r\n // Key press listener\r\n if (!navLink?.closest(\".adm-ul-nav-mobile-l3\")) {\r\n navLink?.addEventListener(\"keydown\", event => {\r\n const pressedKeyCode = event.which || event.keyCode;\r\n\r\n // TAB key press\r\n if (pressedKeyCode === 9) {\r\n onTabKeypress(event)\r\n }\r\n\r\n // ESC key press\r\n if (pressedKeyCode === 27 && navLinkContainer?.parentElement.classList.contains(\"adm-ul-dropdown-nav-menu-mobile\")) {\r\n event.preventDefault();\r\n closeSideNavMobile();\r\n openNavBtn.focus();\r\n } else if (pressedKeyCode === 27) {\r\n event.preventDefault();\r\n parentSubmenuContainer?.classList.remove(\"adm-ul-nav-mobile-opened\");\r\n grandParentSubmenuContainer.style.overflow = '';\r\n setTimeout(() => {\r\n navLinkContainer?.parentElement.previousElementSibling?.focus();\r\n }, 100);\r\n }\r\n })\r\n\r\n function onTabKeypress(event) {\r\n if (event.shiftKey && navLinkContainer?.previousElementSibling) {\r\n event.preventDefault();\r\n closeSubmenuOrFocusOnPreviousLink(event, navLinkContainer, parentSubmenuContainer, grandParentSubmenuContainer);\r\n }\r\n // Close entire menu after first link\r\n else if (\r\n event.shiftKey &&\r\n navLinkContainer?.parentElement.classList.contains(\"adm-ul-dropdown-nav-menu-mobile\") &&\r\n !navLinkContainer?.previousElementSibling\r\n ) {\r\n closeSideNavMobile();\r\n }\r\n // Focus on next link\r\n else if (!event.shiftKey && navLinkContainer?.nextElementSibling?.firstElementChild) {\r\n event.preventDefault();\r\n navLinkContainer?.nextElementSibling?.firstElementChild?.focus();\r\n }\r\n else if (!event.shiftKey && !navLinkContainer?.nextElementSibling?.firstElementChild) {\r\n event.preventDefault();\r\n closeMenuOrSubmenu(navLinkContainer, parentSubmenuContainer, grandParentSubmenuContainer);\r\n }\r\n }\r\n } else {\r\n navLink?.addEventListener(\"keydown\", event => {\r\n const pressedKeyCode = event.which || event.keyCode;\r\n\r\n // ESC key press\r\n if (pressedKeyCode === 27) {\r\n event.preventDefault();\r\n parentSubmenuContainer?.classList.remove(\"adm-ul-nav-mobile-opened\");\r\n grandParentSubmenuContainer.style.overflow = '';\r\n setTimeout(() => {\r\n navLinkContainer?.parentElement.previousElementSibling?.focus();\r\n }, 100);\r\n }\r\n })\r\n }\r\n}\r\n\r\nfunction closeSubmenuOrFocusOnPreviousLink(event, navLinkContainer, parentSubmenuContainer, grandParentSubmenuContainer) {\r\n // Close submenu after first link\r\n if (\r\n event.shiftKey &&\r\n !navLinkContainer?.previousElementSibling?.previousElementSibling &&\r\n !navLinkContainer?.parentElement.classList.contains(\"adm-ul-dropdown-nav-menu-mobile\")\r\n ) {\r\n parentSubmenuContainer?.classList.remove(\"adm-ul-nav-mobile-opened\");\r\n grandParentSubmenuContainer.style.overflow = '';\r\n setTimeout(() => {\r\n navLinkContainer?.parentElement.previousElementSibling?.focus();\r\n }, 100);\r\n }\r\n // Focus on previous link\r\n else {\r\n navLinkContainer?.previousElementSibling?.firstElementChild?.focus();\r\n }\r\n}\r\n\r\nfunction closeMenuOrSubmenu(navLinkContainer, parentSubmenuContainer, grandParentSubmenuContainer) {\r\n // Close entire menu after last link\r\n if (navLinkContainer?.parentElement.classList.contains(\"adm-ul-dropdown-nav-menu-mobile\")) {\r\n closeSideNavMobile();\r\n openNavBtn.focus();\r\n }\r\n // Close submenu after last link\r\n else {\r\n parentSubmenuContainer?.classList.remove(\"adm-ul-nav-mobile-opened\");\r\n grandParentSubmenuContainer.style.overflow = '';\r\n setTimeout(() => {\r\n navLinkContainer?.parentElement.previousElementSibling?.focus();\r\n }, 100);\r\n }\r\n}\r\n\r\nfor (const l3Menu of sideNavContainer.querySelectorAll('.adm-ul-nav-mobile-l3')) {\r\n const l3Links = l3Menu.querySelectorAll(\"a\")\r\n const menuOpener = l3Menu.previousElementSibling;\r\n\r\n const firstAndLastLinks = [l3Links[0], l3Links[l3Links.length - 1]];\r\n const grandParentSubmenuContainer = l3Menu.parentElement.parentElement;\r\n\r\n firstAndLastLinks.forEach((link, index) => {\r\n link.addEventListener(\"keydown\", (event) => {\r\n const pressedKeyCode = event.which || event.keyCode;\r\n\r\n // Shift + TAB key press\r\n if (pressedKeyCode === 9 && (index === 0 ? event.shiftKey : !event.shiftKey)) {\r\n event.preventDefault();\r\n l3Menu?.classList.remove(\"adm-ul-nav-mobile-opened\");\r\n grandParentSubmenuContainer.style.overflow = '';\r\n menuOpener?.focus();\r\n }\r\n })\r\n })\r\n}\r\n\r\nlet sideNavL2Parents = [];\r\nfor (const l2Container of sideNavL2Containers) {\r\n sideNavL2Parents.push(l2Container.parentElement);\r\n l2Container.remove();\r\n}\r\n\r\nconst addL2Links = () => {\r\n sideNavL2Parents.forEach((sideNavL2Parent, index) => {\r\n sideNavL2Parent.appendChild(sideNavL2Containers[index]);\r\n });\r\n}\r\n\r\n// Close side menu\r\nwindow.addEventListener('click', function (e) {\r\n if (\r\n !sideNavContainer?.contains(e.target) &&\r\n !openNavBtn?.contains(e.target)\r\n ) {\r\n closeSideNavMobile();\r\n }\r\n})\r\n\r\nif (sideNavContainer) {\r\n setTimeout(() => {\r\n sideNavContainer.style.transition = \"0.5s\";\r\n }, 300);\r\n}\r\n\r\n\r\n// Fucntions\r\nconst closeSideNavMobile = () => {\r\n sideNavContainer?.classList.remove(\"adm-ul-nav-mobile-opened\");\r\n sideNavContainer?.setAttribute(\"aria-hidden\", \"true\")\r\n openNavBtn?.classList.remove(\"adm-btn-nav-mobile-active\");\r\n sideNavContainer.style.overflow = '';\r\n for (const submenu of allSubmenus) {\r\n submenu.style.overflow = '';\r\n submenu?.classList.remove(\"adm-ul-nav-mobile-opened\");\r\n openNavBtn?.children?.[0]?.classList.remove(\"adm-svg-nav-btn-mobile-hidden\");\r\n openNavBtn?.children?.[0]?.classList.add(\"adm-svg-nav-btn-mobile-active\");\r\n openNavBtn?.children?.[1]?.classList.add(\"adm-svg-nav-btn-mobile-hidden\");\r\n openNavBtn?.children?.[1]?.classList.remove(\"adm-svg-nav-btn-mobile-active\");\r\n }\r\n toggleSideNavLinks(sideNavAllLinks, \"-1\");\r\n toggleSideNavLinks(sideNavAllBtns, \"-1\");\r\n}\r\n\r\nconst openSideNavMobile = () => {\r\n if (!isSideNavCreated) {\r\n isSideNavCreated = true;\r\n addL2Links();\r\n }\r\n sideNavContainer?.classList.add(\"adm-ul-nav-mobile-opened\");\r\n sideNavContainer?.setAttribute(\"aria-hidden\", \"false\")\r\n openNavBtn?.classList.add(\"adm-btn-nav-mobile-active\");\r\n openNavBtn?.children?.[1]?.classList.remove(\"adm-svg-nav-btn-mobile-hidden\");\r\n openNavBtn?.children?.[1]?.classList.add(\"adm-svg-nav-btn-mobile-active\");\r\n openNavBtn?.children?.[0]?.classList.add(\"adm-svg-nav-btn-mobile-hidden\");\r\n openNavBtn?.children?.[0]?.classList.remove(\"adm-svg-nav-btn-mobile-active\");\r\n sideNavFirstLink?.focus();\r\n toggleSideNavLinks(sideNavAllLinks, \"0\");\r\n toggleSideNavLinks(sideNavAllBtns, \"0\");\r\n}\r\n\r\nconst toggleSideNavLinks = (elements, tabindex) => {\r\n for (const elem of elements) {\r\n if (!elem.classList.contains(\"adm-btn-nav-mobile-back\"))\r\n elem?.setAttribute(\"tabindex\", tabindex);\r\n switch (tabindex) {\r\n case \"0\":\r\n elem?.setAttribute(\"aria-hidden\", \"false\");\r\n break;\r\n case \"-1\":\r\n elem?.setAttribute(\"aria-hidden\", \"true\");\r\n break;\r\n }\r\n }\r\n}\r\ntoggleSideNavLinks(sideNavAllLinks, \"-1\");\r\ntoggleSideNavLinks(sideNavAllBtns, \"-1\");"],"names":["allSubmenus","openNavBtn","document","querySelectorAll","mobileLogoLink","querySelector","firstElementChild","sideNavContainer","nextElementSibling","sideNavFirstLink","sideNavAllLinks","sideNavAllBtns","sideNavL2Containers","isSideNavCreated","addEventListener","classList","contains","closeSideNavMobile","openSideNavMobile","event","pressedKeyCode","which","keyCode","shiftKey","preventDefault","focus","navLinkContainers","navLinkContainer","navLink","grandParentSubmenuContainer","parentElement","parentSubmenuContainer","getAttribute","childSubmenuContainer","push","add","children","remove","style","overflow","previousElementSibling","closest","setTimeout","onTabKeypress","closeSubmenuOrFocusOnPreviousLink","closeMenuOrSubmenu","l3Menu","l3Links","menuOpener","firstAndLastLinks","length","forEach","link","index","sideNavL2Parents","l2Container","window","e","target","transition","setAttribute","submenu","toggleSideNavLinks","sideNavL2Parent","appendChild","elements","tabindex","elem"],"sourceRoot":""}