{"version":3,"file":"scripts/1516.js","mappings":"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","sources":["webpack://wwwroot/./src/scripts/navigationKeyboard.js"],"sourcesContent":["const websiteHeader = document.querySelector(\"header\");\r\nconst desktopUtilityBar = document.querySelector(\".adm-utilitybar\");\r\nconst desktopMegaHeader = document.querySelector(\".adm-navbar\");\r\n\r\nif (websiteHeader) {\r\n\r\n // Functions\r\n const accExpandElement = (elem, focus, delay) => {\r\n elem?.setAttribute(\"aria-hidden\", \"false\");\r\n elem?.setAttribute(\"aria-expanded\", \"true\");\r\n\r\n if (delay) {\r\n setTimeout(() => {focus?.focus()}, delay);\r\n } else {\r\n focus?.focus();\r\n }\r\n }\r\n\r\n const accHideElement = (elem, focus, delay) => {\r\n elem?.setAttribute(\"aria-hidden\", \"true\");\r\n elem?.setAttribute(\"aria-expanded\", \"false\");\r\n\r\n if (delay) {\r\n setTimeout(() => {focus?.focus()}, delay);\r\n } else {\r\n focus?.focus();\r\n }\r\n }\r\n\r\n const closeUtilDropdowns = (dropdownMenu, expandableLink, pressedKeyCode) => {\r\n switch (true) {\r\n // Utility Bar - Left side\r\n case dropdownMenu?.classList.contains(\"adm-dropdown-content\"):\r\n dropdownMenu?.classList.remove(\"adm-dropdown-content-expanded\");\r\n expandableLink?.children?.[0].classList.remove(\"adm-utilitybar-arrow-expanded-js\")\r\n expandableLink?.children?.[1].classList.remove(\"adm-utilitybar-arrow-hidden-js\")\r\n if (pressedKeyCode) accHideElement(dropdownMenu, expandableLink)\r\n else accHideElement(dropdownMenu)\r\n break;\r\n\r\n // Utility Bar - Language\r\n case dropdownMenu?.classList.contains(\"adm-dropdown-content-util-right\"):\r\n dropdownMenu?.classList.remove(\"adm-dropdown-content-util-right-expanded\");\r\n if (pressedKeyCode) accHideElement(dropdownMenu, expandableLink)\r\n else accHideElement(dropdownMenu)\r\n break;\r\n\r\n // Utility Bar - Search Box\r\n case dropdownMenu?.classList.contains(\"adm-div-searchbox-dropdown\"):\r\n dropdownMenu.style.visibility = \"hidden\";\r\n dropdownMenu.style.opacity = \"0\";\r\n dropdownMenu?.nextElementSibling?.classList.remove('adm-div-dark-background-util-active', 'adm-div-dark-background-util-mini');\r\n dropdownMenu?.nextElementSibling?.nextElementSibling?.classList.remove(\"adm-div-search-util-typeahead-container-active\");\r\n expandableLink?.classList.remove(\"adm-utilitybar-icon-link-selected\");\r\n websiteHeader?.classList.remove(\"scroll-listener\");\r\n if (pressedKeyCode) accHideElement(dropdownMenu, expandableLink)\r\n else accHideElement(dropdownMenu)\r\n break;\r\n }\r\n }\r\n\r\n const doubleCtaTabKeypress = (index, array, event, link, dropdownNextLink) => {\r\n if (index === 0) {\r\n if (event.shiftKey) {\r\n link?.focus();\r\n } else {\r\n array?.[1].focus();\r\n }\r\n } else {\r\n if (event.shiftKey) {\r\n array?.[0].focus()\r\n } else {\r\n dropdownNextLink?.focus();\r\n }\r\n }\r\n }\r\n\r\n const ctaTabKeypress = (index, array, event, link, dropdownNextLink) => {\r\n switch (array?.length) {\r\n // Two articles\r\n case 2:\r\n doubleCtaTabKeypress(index, array, event, link, dropdownNextLink);\r\n break;\r\n \r\n // One Image / No Image\r\n case 1:\r\n if (event.shiftKey) link.focus();\r\n else dropdownNextLink?.focus();\r\n break;\r\n }\r\n }\r\n\r\n const addCtaEvents = (l1CTAs, link, submenuLinkIndex, dropdownNextLink) => {\r\n if (submenuLinkIndex === 0) {\r\n l1CTAs.forEach((cta, index, array) => {\r\n cta?.setAttribute(\"tabindex\", \"-1\");\r\n cta?.addEventListener(\"keydown\", (event) => {\r\n const pressedKeyCode = event.which || event.keyCode;\r\n if (pressedKeyCode === 9) {\r\n event.preventDefault();\r\n ctaTabKeypress(index, array, event, link, dropdownNextLink); \r\n } else if (pressedKeyCode === 27) {\r\n link.focus();\r\n }\r\n })\r\n })\r\n }\r\n }\r\n\r\n const l2LinkSpaceKeypress = (index, l1CTAs, dropdownMenu, link, dropdownLinks, firstdropdownLink) => {\r\n if (index === 0 && l1CTAs?.length) {\r\n accExpandElement(dropdownMenu, l1CTAs?.[0]);\r\n }\r\n else if (link?.hasAttribute(\"aria-haspopup\")) {\r\n if (!dropdownLinks?.[0]) accExpandElement(dropdownMenu, firstdropdownLink)\r\n else if (dropdownLinks?.[0]) accExpandElement(dropdownMenu, dropdownLinks?.[0])\r\n }\r\n }\r\n\r\n const AddL2LinkEvents = (link, dropdownMenu, dropdownNextLink, expandableLink, {index, l1CTAs, dropdownLinks, firstdropdownLink}) => {\r\n link?.addEventListener(\"keydown\", (event) => {\r\n const pressedKeyCode = event.which || event.keyCode;\r\n\r\n switch (pressedKeyCode) {\r\n // SPACE key pressed\r\n case 32:\r\n event.preventDefault();\r\n l2LinkSpaceKeypress(index, l1CTAs, dropdownMenu, link, dropdownLinks, firstdropdownLink);\r\n break;\r\n\r\n // TAB key pressed\r\n case 9:\r\n if (!event.shiftKey && dropdownNextLink) {\r\n event.preventDefault();\r\n dropdownNextLink?.focus();\r\n } else if (!event.shiftKey && !dropdownNextLink) {\r\n event.preventDefault();\r\n accHideElement(dropdownMenu, expandableLink)\r\n }\r\n break;\r\n\r\n // ESCAPE key pressed\r\n case 27:\r\n event.preventDefault();\r\n accHideElement(dropdownMenu, expandableLink)\r\n break;\r\n }\r\n })\r\n }\r\n\r\n const closeDropdownFocusout = (dropdownMenu) => {\r\n dropdownMenu?.addEventListener(\"focusout\", () => {\r\n setTimeout(() => { \r\n if (!dropdownMenu?.contains(document.activeElement)) {\r\n accHideElement(dropdownMenu);\r\n }\r\n }, 0);\r\n })\r\n }\r\n\r\n const closeL2DropdownMenuAcc = (dropdownMenu, link) => {\r\n dropdownMenu?.addEventListener(\"keydown\", (event) => {\r\n const pressedKeyCode = event.which || event.keyCode;\r\n \r\n if (pressedKeyCode === 27) {\r\n event.preventDefault();\r\n accHideElement(dropdownMenu, link);\r\n }\r\n })\r\n }\r\n\r\n // Open megamenu\r\n let tempMegamenuReference;\r\n const openMegamenu = (megamenu) => {\r\n megamenu?.classList.add(\"adm-meganav-expanded\");\r\n accExpandElement(megamenu, megamenu.querySelector(\"a\"), 100);\r\n tempMegamenuReference = megamenu;\r\n window.addEventListener(\"mousedown\", megamenuOutsideClickListener)\r\n }\r\n\r\n const megamenuOutsideClickListener = (event) => {\r\n if (!tempMegamenuReference?.parentElement?.contains(event.target)) {\r\n closeMegamenu(tempMegamenuReference);\r\n window.removeEventListener(\"mousedown\", megamenuOutsideClickListener);\r\n }\r\n else if (!tempMegamenuReference?.contains(event.target)) {\r\n window.removeEventListener(\"mousedown\", megamenuOutsideClickListener);\r\n }\r\n }\r\n\r\n // Close megamenu\r\n const closeMegamenu = (megamenu) => {\r\n megamenu?.classList.remove(\"adm-meganav-expanded\");\r\n accHideElement(megamenu);\r\n }\r\n\r\n if (desktopUtilityBar) {\r\n const utilityBarExpandableLinks = desktopUtilityBar?.querySelectorAll(\"[aria-haspopup]\");\r\n const searchBoxInput = document.querySelector('#search-box-input');\r\n\r\n utilityBarExpandableLinks?.forEach((expandableLink) => {\r\n const dropdownMenu = expandableLink?.nextElementSibling;\r\n const dropdownLinks = dropdownMenu?.querySelectorAll(\"a\");\r\n const typeAheadContainer = expandableLink?.parentElement?.querySelector(\".adm-div-search-util-typeahead-container\");\r\n\r\n // Open dropdown\r\n expandableLink?.addEventListener(\"keydown\", (event) => {\r\n const pressedKeyCode = event.which || event.keyCode;\r\n\r\n // SPACE key pressed\r\n if (pressedKeyCode === 32) {\r\n event.preventDefault();\r\n switch (true) {\r\n // Utility Bar - Left side\r\n case dropdownMenu?.classList.contains(\"adm-dropdown-content\"):\r\n dropdownMenu?.classList.add(\"adm-dropdown-content-expanded\");\r\n expandableLink?.children?.[0].classList.add(\"adm-utilitybar-arrow-expanded-js\")\r\n expandableLink?.children?.[1].classList.add(\"adm-utilitybar-arrow-hidden-js\")\r\n accExpandElement(dropdownMenu, dropdownLinks?.[0])\r\n break;\r\n\r\n // Utility Bar - Language\r\n case dropdownMenu?.classList.contains(\"adm-dropdown-content-util-right\"):\r\n dropdownMenu?.classList.add(\"adm-dropdown-content-util-right-expanded\");\r\n accExpandElement(dropdownMenu, dropdownLinks?.[0])\r\n break;\r\n\r\n // Utility Bar - Search Box\r\n case dropdownMenu?.classList.contains(\"adm-div-searchbox-dropdown\"):\r\n dropdownMenu.style.visibility = \"visible\";\r\n dropdownMenu.style.opacity = \"1\";\r\n dropdownMenu?.nextElementSibling.classList.add('adm-div-dark-background-util-active');\r\n websiteHeader?.classList.add(\"scroll-listener\");\r\n accExpandElement(dropdownMenu, searchBoxInput, 100)\r\n break;\r\n }\r\n } else if (pressedKeyCode === 13 && dropdownMenu?.classList.contains(\"adm-dropdown-content-util-right\")) {\r\n event.preventDefault();\r\n dropdownMenu?.classList.add(\"adm-dropdown-content-util-right-expanded\");\r\n accExpandElement(dropdownMenu, dropdownLinks?.[0])\r\n }\r\n })\r\n\r\n // Close dropdown - Focus out\r\n dropdownMenu?.addEventListener(\"focusout\", () => {\r\n setTimeout(() => {\r\n if (!dropdownMenu?.contains(document.activeElement) && !typeAheadContainer?.contains(document.activeElement)) {\r\n closeUtilDropdowns(dropdownMenu, expandableLink);\r\n }\r\n }, 0);\r\n })\r\n typeAheadContainer?.addEventListener(\"focusout\", () => {\r\n setTimeout(() => { \r\n if (!dropdownMenu?.contains(document.activeElement) && !typeAheadContainer?.contains(document.activeElement)) {\r\n closeUtilDropdowns(dropdownMenu, expandableLink);\r\n }\r\n }, 0);\r\n })\r\n\r\n // Close dropdown - Escape key\r\n dropdownLinks?.forEach(link => {\r\n link.addEventListener(\"keydown\", (event) => {\r\n const pressedKeyCode = event.which || event.keyCode;\r\n \r\n // ESCAPE key pressed\r\n if (pressedKeyCode === 27) {\r\n event.preventDefault();\r\n closeUtilDropdowns(dropdownMenu, expandableLink, pressedKeyCode);\r\n }\r\n })\r\n })\r\n })\r\n }\r\n\r\n if (desktopMegaHeader) {\r\n const allMegamenus = desktopMegaHeader.querySelectorAll(\".adm-meganav\");\r\n const l1ExpandableLinks = desktopMegaHeader.querySelectorAll(\".adm-li-navigation-menu > [aria-haspopup]\");\r\n \r\n // Add tabindex -1 to every megamenu CTA\r\n allMegamenus?.forEach(megamenu => {\r\n megamenu?.querySelectorAll(\"div.adm-btn.adm-bg-navy > a\")?.forEach(cta => cta?.setAttribute(\"tabindex\", \"-1\"))\r\n megamenu?.querySelectorAll(\"div.adm-btn.adm-bg-white > a\")?.forEach(cta => cta?.setAttribute(\"tabindex\", \"-1\"))\r\n })\r\n\r\n l1ExpandableLinks?.forEach(expandableLink => {\r\n const dropdownMenu = expandableLink?.nextElementSibling;\r\n const dropdownLinks = dropdownMenu?.querySelectorAll(\".adm-li-navigation-lvl1 > a\");\r\n \r\n // Get L1 CTAs\r\n const l1CTAsTemp = [\r\n dropdownMenu?.firstElementChild?.children?.[1]?.querySelector(\"div.adm-btn.adm-bg-navy > a\"),\r\n dropdownMenu?.firstElementChild?.children?.[1]?.querySelector(\"div.adm-btn.adm-bg-white > a\"),\r\n dropdownMenu?.firstElementChild?.children?.[2]?.querySelector(\"div.adm-btn.adm-bg-navy > a\"),\r\n ];\r\n const l1CTAs = l1CTAsTemp?.filter(function(item) {\r\n return item !== null && item !== undefined\r\n })\r\n \r\n // Open megamenu\r\n expandableLink?.addEventListener(\"keydown\", (event) => {\r\n const pressedKeyCode = event.which || event.keyCode;\r\n\r\n // SPACE key pressed\r\n if (pressedKeyCode === 32) {\r\n event.preventDefault();\r\n openMegamenu(dropdownMenu);\r\n }\r\n })\r\n\r\n // Open/close megamenu on click (\"click\" event runs after \"focus\")\r\n expandableLink.addEventListener(\"click\", () => {\r\n allMegamenus?.forEach(megamenu => {\r\n // Close all megamenus other than the one related to L1 item (if it's closed)\r\n if (megamenu === dropdownMenu && dropdownMenu.getAttribute(\"aria-hidden\") === \"true\") {\r\n openMegamenu(dropdownMenu);\r\n } else {\r\n closeMegamenu(megamenu);\r\n }\r\n })\r\n })\r\n\r\n // Prevent focus effect on click\r\n expandableLink.addEventListener(\"mousedown\", (e) => e.preventDefault())\r\n\r\n // Close megamenu on L1 item focus (\"focus\" event runs after \"mousedown\")\r\n expandableLink?.addEventListener(\"focus\", () => {\r\n allMegamenus?.forEach(megamenu => {\r\n closeMegamenu(megamenu);\r\n })\r\n })\r\n\r\n dropdownLinks?.forEach((link, index, array) => {\r\n const l2DropdownMenu = link?.nextElementSibling;\r\n const l2DropdownLinks = l2DropdownMenu?.querySelectorAll(\"a\");\r\n const firstdropdownLink = l2DropdownMenu?.querySelector(\"a\");\r\n const dropdownNextLink = array?.[index + 1];\r\n const l2Link = link;\r\n\r\n // On CTA key press events\r\n addCtaEvents(l1CTAs, link, index, dropdownNextLink);\r\n\r\n // Enter submenu, skip it or close current one\r\n const enterRelevantVars = {index, l1CTAs, l2DropdownLinks, firstdropdownLink};\r\n AddL2LinkEvents(link, l2DropdownMenu, dropdownNextLink, expandableLink, enterRelevantVars);\r\n\r\n // Close submenu (acc)\r\n closeDropdownFocusout(l2DropdownMenu);\r\n closeL2DropdownMenuAcc(l2DropdownMenu, link);\r\n\r\n // Close submenu on last item tab keypress\r\n l2DropdownLinks?.[l2DropdownLinks.length - 1]?.addEventListener(\"keydown\", (event) => {\r\n const pressedKeyCode = event.which || event.keyCode;\r\n if (!event.shiftKey && pressedKeyCode === 9) {\r\n event.preventDefault();\r\n accHideElement(l2DropdownMenu, l2Link);\r\n }\r\n })\r\n })\r\n })\r\n \r\n // Add smooth transition to megamenu\r\n setTimeout(() => {\r\n allMegamenus?.forEach(megamenu => {\r\n const parentElement = megamenu.parentElement;\r\n const previousElement = megamenu.previousElementSibling;\r\n const renderMegamenu = () => {\r\n parentElement.appendChild(megamenu);\r\n parentElement.removeEventListener(\"mouseenter\", renderMegamenu);\r\n previousElement.removeEventListener(\"focus\", renderMegamenu);\r\n setTimeout(() => {\r\n megamenu.style.transition = \"opacity 0.3s, visibility 0.3s\";\r\n }, 10);\r\n }\r\n\r\n megamenu.remove();\r\n parentElement.addEventListener(\"mouseenter\", renderMegamenu);\r\n previousElement.addEventListener(\"focus\", renderMegamenu);\r\n })\r\n }, 500);\r\n }\r\n}"],"names":["websiteHeader","document","querySelector","desktopUtilityBar","desktopMegaHeader","accExpandElement","elem","focus","delay","setAttribute","setTimeout","accHideElement","closeUtilDropdowns","dropdownMenu","expandableLink","pressedKeyCode","classList","contains","remove","children","style","visibility","opacity","nextElementSibling","doubleCtaTabKeypress","index","array","event","link","dropdownNextLink","shiftKey","ctaTabKeypress","length","addCtaEvents","l1CTAs","submenuLinkIndex","forEach","cta","addEventListener","which","keyCode","preventDefault","l2LinkSpaceKeypress","dropdownLinks","firstdropdownLink","hasAttribute","AddL2LinkEvents","closeDropdownFocusout","activeElement","closeL2DropdownMenuAcc","tempMegamenuReference","openMegamenu","megamenu","add","window","megamenuOutsideClickListener","parentElement","target","removeEventListener","closeMegamenu","utilityBarExpandableLinks","querySelectorAll","searchBoxInput","typeAheadContainer","allMegamenus","l1ExpandableLinks","l1CTAsTemp","firstElementChild","filter","item","getAttribute","e","l2DropdownMenu","l2DropdownLinks","l2Link","previousElement","previousElementSibling","renderMegamenu","appendChild","transition"],"sourceRoot":""}