{"version":3,"sources":["webpack:///./node_modules/body-scroll-lock/lib/bodyScrollLock.esm.js","webpack:///./src/js/components/header-link-group.js","webpack:///./src/js/components/header-search.js","webpack:///./src/js/components/header.js"],"names":["hasPassiveEvents","window","passiveTestOptions","addEventListener","removeEventListener","isIosDevice","navigator","platform","test","maxTouchPoints","locks","documentListenerAdded","initialClientY","previousBodyOverflowSetting","previousBodyPaddingRight","allowTouchMove","el","some","lock","options","preventDefault","rawEvent","e","event","target","touches","length","restoreOverflowSetting","undefined","document","body","style","paddingRight","overflow","disableBodyScroll","targetElement","concat","arr","Array","isArray","i","arr2","from","_toConsumableArray","ontouchstart","targetTouches","clientY","ontouchmove","scrollTop","scrollHeight","clientHeight","isTargetElementTotallyScrolled","stopPropagation","handleScroll","passive","_reserveScrollBarGap","reserveScrollBarGap","scrollBarGap","innerWidth","documentElement","clientWidth","setOverflowHidden","console","error","clearAllBodyScrollLocks","forEach","enableBodyScroll","filter","cancel","HeaderLinkGroup","_Component","_classCallCheck","_callSuper","arguments","_inherits","key","value","this","dom","$header","_$","$list","buttonId","nanoid","listId","currentViewport","handleViewport","_on","bind","closest","$button","getAttribute","classList","remove","setAttribute","add","breakpoints","isTablet","removeAccordionDom","addAccordionDom","_this$dom","label","textContent","trim","visuallyHidden","visuallyHiddenText","outerHTML","link","externalLink","innerHTML","getButton","replace","id","insertAdjacentHTML","getListLink","handleClick","_$header$_$","_$header$_$2","_this$dom2","dataset","href","isExternalLink","getAnchor","attr","removeAttribute","removeChild","firstElementChild","Component","_regeneratorRuntime","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","delegateYield","_defineProperty","obj","_toPropertyKey","asyncGeneratorStep","gen","reject","_next","_throw","info","_defineProperties","props","descriptor","toPrimitive","String","Number","_toPrimitive","CancelToken","axios","HeaderSearch","Constructor","$inputMobile","$inputDesktop","instance","$formMobile","$formDesktop","$commonTermsDefault","_$$","$commonTermsResults","$commonTermsLoading","$commonTermsNoResults","$buttonClearMobile","$buttonClearDesktop","inputValue","searchFetchUrl","searchKeyword","searchPageLink","addListeners","protoProps","_this","form","handleSubmit","input","handleInputChange","handleClearClick","version","hidden","triggerCustomEvent","focus","_this$dom3","bubbles","cancelable","fn","_callee","_this$dom4","response","_context","url","cancelToken","params","fillSuggestedResults","t0","_handleSubmit","self","args","apply","err","_x","_response$data","_response$data$Sugges","_this2","_this$dom5","data","SuggestedResults","map","_ref","Category","Result","Link","join","staticProps","Header","$mobile","$controlSearch","$controlMenu","$controlClose","$mobileItemButtons","$linkGroups","$backButtons","$mobileRegions","$primaryNavItems","$primaryNavItemSearch","$desktopNavItems","$buttonClose","$primaryNavLinks","$searchButtonDesktop","$searchInputDesktop","$searchInputMobile","$dropdownList","mainFocusTrap","createFocusTrap","escapeDeactivates","onActivate","position","width","onDeactivate","initSearch","detectIos","createTabletDOM","moveMainLink","linkGroup","handleControlSearch","handleControlMenu","handleControlClose","handleButtonClose","handleMobileItemClick","handleBackButtonsClick","handleMobileRegionKeydown","handlePrimaryNavLinkKeydown","handlePrimaryNavLinkClick","handlePrimaryNavItemSearchClick","addBreakpointListenerLg","handleResize","handleWindowClick","handleKeyDown","backButton","currentTarget","keyCode","escape","click","_parent$dataset","parent","items","item","itemOpen","openLabel","_e$currentTarget$data","closeLabel","navItem","transitionComplete","contains","Boolean","currentIndex","findIndex","home","end","left","right","isLg","region","focusableElements","headerFocusableElements","trigger","activate","_this$dom6","_this$dom7","deactivate","isIOS","_this$dom8","$item","$regionContent","$cols","$additionalLinks","columns","Set","col","$regionContentTablet","createElement","colNum","$col","copy","cloneNode","appendChild","additionalLinksCopy","parentNode","insertBefore","$mainCol","$mainLinkGroup","childNodes"],"mappings":"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","file":"38.85b56f.js","sourcesContent":["function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n// Older browsers don't support event options, feature detect it.\n\n// Adopted and modified solution from Bohdan Didukh (2017)\n// https://stackoverflow.com/questions/41594997/ios-10-safari-prevent-scrolling-behind-a-fixed-overlay-and-maintain-scroll-posi\n\nvar hasPassiveEvents = false;\nif (typeof window !== 'undefined') {\n var passiveTestOptions = {\n get passive() {\n hasPassiveEvents = true;\n return undefined;\n }\n };\n window.addEventListener('testPassive', null, passiveTestOptions);\n window.removeEventListener('testPassive', null, passiveTestOptions);\n}\n\nvar isIosDevice = typeof window !== 'undefined' && window.navigator && window.navigator.platform && (/iP(ad|hone|od)/.test(window.navigator.platform) || window.navigator.platform === 'MacIntel' && window.navigator.maxTouchPoints > 1);\n\n\nvar locks = [];\nvar documentListenerAdded = false;\nvar initialClientY = -1;\nvar previousBodyOverflowSetting = void 0;\nvar previousBodyPaddingRight = void 0;\n\n// returns true if `el` should be allowed to receive touchmove events.\nvar allowTouchMove = function allowTouchMove(el) {\n return locks.some(function (lock) {\n if (lock.options.allowTouchMove && lock.options.allowTouchMove(el)) {\n return true;\n }\n\n return false;\n });\n};\n\nvar preventDefault = function preventDefault(rawEvent) {\n var e = rawEvent || window.event;\n\n // For the case whereby consumers adds a touchmove event listener to document.\n // Recall that we do document.addEventListener('touchmove', preventDefault, { passive: false })\n // in disableBodyScroll - so if we provide this opportunity to allowTouchMove, then\n // the touchmove event on document will break.\n if (allowTouchMove(e.target)) {\n return true;\n }\n\n // Do not prevent if the event has more than one touch (usually meaning this is a multi touch gesture like pinch to zoom).\n if (e.touches.length > 1) return true;\n\n if (e.preventDefault) e.preventDefault();\n\n return false;\n};\n\nvar setOverflowHidden = function setOverflowHidden(options) {\n // If previousBodyPaddingRight is already set, don't set it again.\n if (previousBodyPaddingRight === undefined) {\n var _reserveScrollBarGap = !!options && options.reserveScrollBarGap === true;\n var scrollBarGap = window.innerWidth - document.documentElement.clientWidth;\n\n if (_reserveScrollBarGap && scrollBarGap > 0) {\n previousBodyPaddingRight = document.body.style.paddingRight;\n document.body.style.paddingRight = scrollBarGap + 'px';\n }\n }\n\n // If previousBodyOverflowSetting is already set, don't set it again.\n if (previousBodyOverflowSetting === undefined) {\n previousBodyOverflowSetting = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n }\n};\n\nvar restoreOverflowSetting = function restoreOverflowSetting() {\n if (previousBodyPaddingRight !== undefined) {\n document.body.style.paddingRight = previousBodyPaddingRight;\n\n // Restore previousBodyPaddingRight to undefined so setOverflowHidden knows it\n // can be set again.\n previousBodyPaddingRight = undefined;\n }\n\n if (previousBodyOverflowSetting !== undefined) {\n document.body.style.overflow = previousBodyOverflowSetting;\n\n // Restore previousBodyOverflowSetting to undefined\n // so setOverflowHidden knows it can be set again.\n previousBodyOverflowSetting = undefined;\n }\n};\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight#Problems_and_solutions\nvar isTargetElementTotallyScrolled = function isTargetElementTotallyScrolled(targetElement) {\n return targetElement ? targetElement.scrollHeight - targetElement.scrollTop <= targetElement.clientHeight : false;\n};\n\nvar handleScroll = function handleScroll(event, targetElement) {\n var clientY = event.targetTouches[0].clientY - initialClientY;\n\n if (allowTouchMove(event.target)) {\n return false;\n }\n\n if (targetElement && targetElement.scrollTop === 0 && clientY > 0) {\n // element is at the top of its scroll.\n return preventDefault(event);\n }\n\n if (isTargetElementTotallyScrolled(targetElement) && clientY < 0) {\n // element is at the bottom of its scroll.\n return preventDefault(event);\n }\n\n event.stopPropagation();\n return true;\n};\n\nexport var disableBodyScroll = function disableBodyScroll(targetElement, options) {\n // targetElement must be provided\n if (!targetElement) {\n // eslint-disable-next-line no-console\n console.error('disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.');\n return;\n }\n\n // disableBodyScroll must not have been called on this targetElement before\n if (locks.some(function (lock) {\n return lock.targetElement === targetElement;\n })) {\n return;\n }\n\n var lock = {\n targetElement: targetElement,\n options: options || {}\n };\n\n locks = [].concat(_toConsumableArray(locks), [lock]);\n\n if (isIosDevice) {\n targetElement.ontouchstart = function (event) {\n if (event.targetTouches.length === 1) {\n // detect single touch.\n initialClientY = event.targetTouches[0].clientY;\n }\n };\n targetElement.ontouchmove = function (event) {\n if (event.targetTouches.length === 1) {\n // detect single touch.\n handleScroll(event, targetElement);\n }\n };\n\n if (!documentListenerAdded) {\n document.addEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);\n documentListenerAdded = true;\n }\n } else {\n setOverflowHidden(options);\n }\n};\n\nexport var clearAllBodyScrollLocks = function clearAllBodyScrollLocks() {\n if (isIosDevice) {\n // Clear all locks ontouchstart/ontouchmove handlers, and the references.\n locks.forEach(function (lock) {\n lock.targetElement.ontouchstart = null;\n lock.targetElement.ontouchmove = null;\n });\n\n if (documentListenerAdded) {\n document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);\n documentListenerAdded = false;\n }\n\n // Reset initial clientY.\n initialClientY = -1;\n } else {\n restoreOverflowSetting();\n }\n\n locks = [];\n};\n\nexport var enableBodyScroll = function enableBodyScroll(targetElement) {\n if (!targetElement) {\n // eslint-disable-next-line no-console\n console.error('enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.');\n return;\n }\n\n locks = locks.filter(function (lock) {\n return lock.targetElement !== targetElement;\n });\n\n if (isIosDevice) {\n targetElement.ontouchstart = null;\n targetElement.ontouchmove = null;\n\n if (documentListenerAdded && locks.length === 0) {\n document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);\n documentListenerAdded = false;\n }\n } else if (!locks.length) {\n restoreOverflowSetting();\n }\n};\n\n","import { Component } from '@verndale/core';\r\nimport { nanoid } from 'nanoid';\r\n\r\nimport breakpoints from '../utils/breakpoints';\r\n\r\nclass HeaderLinkGroup extends Component {\r\n setupDefaults() {\r\n this.dom = {\r\n $header: this.el._$('.header__link-group-header'),\r\n $list: this.el._$('.header__link-group-list')\r\n };\r\n\r\n this.buttonId = `id-${nanoid()}`;\r\n this.listId = `id-${nanoid()}`;\r\n this.currentViewport = 'lg';\r\n this.handleViewport();\r\n }\r\n\r\n addListeners() {\r\n window._on('resize', ::this.handleViewport);\r\n }\r\n\r\n handleClick(e) {\r\n const $header = e.target.closest('.header__link-group-header');\r\n const $button = e.target.closest('.header__link-group-button');\r\n\r\n if ($button) {\r\n const isOpen = $button.getAttribute('aria-expanded') === 'true';\r\n\r\n if (isOpen) {\r\n $header.classList.remove('header__link-group-header--open');\r\n $button.setAttribute('aria-expanded', 'false');\r\n } else {\r\n $header.classList.add('header__link-group-header--open');\r\n $button.setAttribute('aria-expanded', 'true');\r\n }\r\n }\r\n }\r\n\r\n handleViewport() {\r\n if (breakpoints.isTablet()) {\r\n this.removeAccordionDom();\r\n this.currentViewport = 'lg';\r\n } else {\r\n this.addAccordionDom();\r\n this.currentViewport = 'xs';\r\n }\r\n }\r\n\r\n addAccordionDom() {\r\n if (this.currentViewport === 'lg') {\r\n const { $header, $list } = this.dom;\r\n const label = $header.textContent.trim();\r\n const visuallyHidden = $header._$('.visually-hidden');\r\n const visuallyHiddenText = visuallyHidden?.outerHTML;\r\n const link = $header._$('a').getAttribute('href');\r\n const externalLink = $header._$('.link-with-external-icon--header');\r\n\r\n if ($header) {\r\n $header.innerHTML = this.getButton(\r\n visuallyHidden\r\n ? label.replace(visuallyHidden.textContent, '')\r\n : label,\r\n link,\r\n visuallyHiddenText,\r\n externalLink\r\n );\r\n }\r\n\r\n if ($list) {\r\n $list.id = this.listId;\r\n $list.setAttribute('role', 'region');\r\n $list.setAttribute('aria-labelledby', this.listId);\r\n\r\n $list.insertAdjacentHTML(\r\n 'afterBegin',\r\n this.getListLink(\r\n visuallyHidden\r\n ? label.replace(visuallyHidden.textContent, '')\r\n : label,\r\n link,\r\n visuallyHiddenText,\r\n externalLink\r\n )\r\n );\r\n\r\n $header._$('button')._on('click', ::this.handleClick);\r\n }\r\n }\r\n }\r\n\r\n removeAccordionDom() {\r\n if (this.currentViewport === 'xs') {\r\n const { $header, $list } = this.dom;\r\n const label = $header.textContent.trim();\r\n const visuallyHidden = $header._$('.visually-hidden');\r\n const visuallyHiddenText = visuallyHidden?.outerHTML;\r\n const link = $header._$('button')?.dataset.href;\r\n const isExternalLink = $header._$('button')?.dataset.externalLink;\r\n\r\n if ($header) {\r\n $header.innerHTML = this.getAnchor(\r\n visuallyHidden\r\n ? label.replace(visuallyHidden.textContent, '')\r\n : label,\r\n link,\r\n visuallyHiddenText,\r\n isExternalLink\r\n );\r\n }\r\n\r\n if ($list) {\r\n ['id', 'role', 'aria-labelledby'].forEach((attr) =>\r\n $list.removeAttribute(attr)\r\n );\r\n $list.removeChild($list.firstElementChild);\r\n }\r\n }\r\n }\r\n\r\n getListLink(label, link, visuallyHiddenText, isExternalLink) {\r\n return `\r\n \r\n `;\r\n }\r\n\r\n getAnchor(label, link, visuallyHiddenText, isExternalLink) {\r\n return `\r\n \r\n ${label}${visuallyHiddenText ? visuallyHiddenText : ''}\r\n \r\n `;\r\n }\r\n\r\n getButton(label, link, visuallyHiddenText, externalLink) {\r\n return `\r\n \r\n ${label}${visuallyHiddenText ? visuallyHiddenText : ''}\r\n \r\n `;\r\n }\r\n}\r\n\r\nexport default HeaderLinkGroup;\r\n","import axios from 'axios';\r\nimport { triggerCustomEvent } from '../utils/events';\r\n\r\nlet cancel;\r\nconst CancelToken = axios.CancelToken;\r\n\r\nclass HeaderSearch {\r\n constructor(el, $inputMobile, $inputDesktop) {\r\n this.dom = {\r\n $inputMobile,\r\n $inputDesktop,\r\n $formMobile: el._$('.header__search-form--mobile'),\r\n $formDesktop: el._$('.header__search-form--desktop'),\r\n $commonTermsDefault: el._$$('.header__search-common-terms--default'),\r\n $commonTermsResults: el._$$('.header__search-common-terms--results'),\r\n $commonTermsLoading: el._$$('.header__search-common-terms--loading'),\r\n $commonTermsNoResults: el._$$('.header__search-common-terms--no-results'),\r\n $buttonClearMobile: el._$('.header__search-mobile-button--clear'),\r\n $buttonClearDesktop: el._$('.header__search-input-desktop-button--clear')\r\n };\r\n this.$inputDesktop = $inputDesktop;\r\n\r\n this.inputValue = '';\r\n this.searchFetchUrl = el.dataset.searchFetchUrl;\r\n this.searchKeyword = el.dataset.searchKeyword;\r\n this.searchPageLink = el.dataset.searchPageLink;\r\n this.addListeners();\r\n }\r\n\r\n addListeners() {\r\n const {\r\n $formMobile,\r\n $formDesktop,\r\n $inputMobile,\r\n $inputDesktop,\r\n $buttonClearMobile,\r\n $buttonClearDesktop\r\n } = this.dom;\r\n\r\n [$formMobile, $formDesktop].forEach((form) =>\r\n form._on('submit', ::this.handleSubmit)\r\n );\r\n [$inputMobile, $inputDesktop].forEach((input) => {\r\n input._on('input', ::this.handleInputChange);\r\n });\r\n $buttonClearMobile._on('click', ::this.handleClearClick);\r\n $buttonClearDesktop._on('click', ::this.handleClearClick);\r\n }\r\n\r\n handleClearClick() {\r\n const {\r\n $inputMobile,\r\n $inputDesktop,\r\n $commonTermsLoading,\r\n $commonTermsDefault,\r\n $commonTermsResults,\r\n $commonTermsNoResults\r\n } = this.dom;\r\n\r\n $commonTermsLoading.forEach((version) => (version.hidden = true));\r\n $commonTermsDefault.forEach((version) => (version.hidden = false));\r\n $commonTermsResults.forEach((version) => (version.hidden = true));\r\n $commonTermsNoResults.forEach((version) => (version.hidden = true));\r\n\r\n [$inputMobile, $inputDesktop].forEach((input) => (input.value = ''));\r\n triggerCustomEvent($inputMobile, 'change');\r\n $inputMobile.focus();\r\n }\r\n\r\n handleInputChange(e) {\r\n const { $inputMobile, $inputDesktop, $formMobile, $formDesktop } = this.dom;\r\n\r\n [$inputMobile, $inputDesktop]\r\n .filter((input) => input !== e.target)\r\n .forEach((input) => (input.value = e.target.value));\r\n\r\n if ($inputMobile.value) {\r\n $formMobile.classList.add('header__search-form--show-clear');\r\n $formDesktop.classList.add('header__search-form--show-clear');\r\n } else {\r\n $formMobile.classList.remove('header__search-form--show-clear');\r\n $formDesktop.classList.remove('header__search-form--show-clear');\r\n }\r\n\r\n if ($inputMobile.value.trim().length >= 2) {\r\n if (cancel) {\r\n cancel('Operation canceled by the user.');\r\n }\r\n triggerCustomEvent($formMobile, 'submit', {\r\n bubbles: true,\r\n cancelable: true\r\n });\r\n }\r\n }\r\n\r\n async handleSubmit(e) {\r\n e.preventDefault();\r\n const {\r\n $inputMobile,\r\n $commonTermsLoading,\r\n $commonTermsDefault,\r\n $commonTermsResults,\r\n $commonTermsNoResults\r\n } = this.dom;\r\n const { value } = $inputMobile;\r\n const length = value.trim().length;\r\n\r\n $commonTermsLoading.forEach((version) => (version.hidden = false));\r\n $commonTermsDefault.forEach((version) => (version.hidden = true));\r\n $commonTermsResults.forEach((version) => (version.hidden = true));\r\n $commonTermsNoResults.forEach((version) => (version.hidden = true));\r\n\r\n if (length >= 2) {\r\n try {\r\n this.inputValue = value;\r\n const response = await axios({\r\n method: 'get',\r\n url: this.searchFetchUrl,\r\n cancelToken: new CancelToken((c) => {\r\n cancel = c;\r\n }),\r\n params: {\r\n [this.searchKeyword]: value\r\n }\r\n });\r\n\r\n this.fillSuggestedResults(response);\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n }\r\n }\r\n\r\n fillSuggestedResults(response) {\r\n const {\r\n $commonTermsDefault,\r\n $commonTermsResults,\r\n $commonTermsNoResults,\r\n $commonTermsLoading\r\n } = this.dom;\r\n\r\n if (response?.data?.SuggestedResults?.length) {\r\n $commonTermsLoading.forEach((version) => (version.hidden = true));\r\n $commonTermsDefault.forEach((version) => (version.hidden = true));\r\n $commonTermsNoResults.forEach((version) => (version.hidden = true));\r\n $commonTermsResults.forEach((version) => (version.hidden = false));\r\n /* eslint-disable indent */\r\n $commonTermsResults.forEach((version) => {\r\n version._$('.header__search-common-terms-list').innerHTML =\r\n response.data.SuggestedResults.map(\r\n ({ Category, Result, Link }) =>\r\n `
  • \r\n ${Result}\r\n ${Category}\r\n
  • `\r\n ).join('');\r\n });\r\n /* eslint-enable indent */\r\n $commonTermsResults.forEach((version) => {\r\n version\r\n ._$('.btn')\r\n .setAttribute(\r\n 'href',\r\n `${this.searchPageLink}?${this.searchKeyword}=${this.inputValue}`\r\n );\r\n });\r\n } else {\r\n $commonTermsDefault.forEach((version) => (version.hidden = true));\r\n $commonTermsResults.forEach((version) => (version.hidden = true));\r\n $commonTermsNoResults.forEach((version) => (version.hidden = false));\r\n\r\n $commonTermsNoResults.forEach((version) => {\r\n version\r\n ._$('.btn')\r\n .setAttribute(\r\n 'href',\r\n `${this.searchPageLink}?${this.searchKeyword}=${this.inputValue}`\r\n );\r\n });\r\n }\r\n }\r\n}\r\n\r\nexport default HeaderSearch;\r\n","import { Component } from '@verndale/core';\r\nimport { createFocusTrap } from 'focus-trap';\r\nimport {\r\n disableBodyScroll,\r\n enableBodyScroll,\r\n clearAllBodyScrollLocks\r\n} from 'body-scroll-lock';\r\n\r\nimport focusableElements from '../utils/focusable-elements';\r\nimport { isIOS } from '../utils/browsers';\r\nimport { transitionComplete } from '../utils/timedEvents';\r\nimport HeaderLinkGroup from './header-link-group';\r\nimport breakpoints from '../utils/breakpoints';\r\nimport keys from '../utils/keys';\r\nimport HeaderSearch from './header-search';\r\n\r\nclass Header extends Component {\r\n setupDefaults() {\r\n this.dom = {\r\n $mobile: this.el._$('.header--mobile'),\r\n $controlSearch: this.el._$('.header__control--search'),\r\n $controlMenu: this.el._$('.header__control--menu'),\r\n $controlClose: this.el._$('.header__control--close'),\r\n $mobileItemButtons: this.el._$$('.header__mobile-item-button'),\r\n $linkGroups: this.el._$$(\r\n '.header__link-group:not(.header__link-group--tablet)'\r\n ),\r\n $backButtons: this.el._$$('.header__region-back .btn-label'),\r\n $mobileRegions: this.el._$$('.header__mobile-item .header__region'),\r\n $primaryNavItems: this.el._$$('.header__primary-nav-item'),\r\n $primaryNavItemSearch: this.el._$('.header__primary-nav-item--search'),\r\n $desktopNavItems: this.el._$$(\r\n '.header__desktop-main .header__primary-nav-item:not(.header__primary-nav-item--search)'\r\n ),\r\n $buttonClose: this.el._$$('.header__button-close'),\r\n $primaryNavLinks: this.el._$$('.header__primary-nav-link'),\r\n $searchButtonDesktop: _$('.header__search-desktop-button'),\r\n $searchInputDesktop: this.el._$('#header-search-desktop'),\r\n $searchInputMobile: this.el._$('#header-search-mobile'),\r\n $dropdownList: this.el._$('.dropdown__listbox')\r\n };\r\n\r\n const self = this;\r\n this.mainFocusTrap = createFocusTrap(this.el, {\r\n escapeDeactivates: false,\r\n onActivate() {\r\n document.body.style.position = 'fixed';\r\n document.body.style.overflow = 'hidden';\r\n document.body.style.width = '100%';\r\n disableBodyScroll(self.dom.$mobile, {\r\n allowTouchMove: (el) => el.closest('.dropdown__listbox')\r\n });\r\n },\r\n onDeactivate() {\r\n document.body.removeAttribute('style');\r\n clearAllBodyScrollLocks();\r\n }\r\n });\r\n\r\n this.initSearch();\r\n this.detectIos();\r\n this.createTabletDOM();\r\n this.moveMainLink();\r\n this.dom.$linkGroups.forEach((linkGroup) => new HeaderLinkGroup(linkGroup));\r\n }\r\n\r\n addListeners() {\r\n const {\r\n $controlSearch,\r\n $controlMenu,\r\n $controlClose,\r\n $mobileItemButtons,\r\n $backButtons,\r\n $mobileRegions,\r\n $primaryNavLinks,\r\n $searchButtonDesktop,\r\n $buttonClose\r\n } = this.dom;\r\n\r\n $controlSearch?._on('click', ::this.handleControlSearch);\r\n $controlMenu._on('click', ::this.handleControlMenu);\r\n $controlClose._on('click', ::this.handleControlClose);\r\n $buttonClose._on('click', ::this.handleButtonClose);\r\n $mobileItemButtons._on('click', ::this.handleMobileItemClick);\r\n $backButtons._on('click', ::this.handleBackButtonsClick);\r\n $mobileRegions._on('keydown', ::this.handleMobileRegionKeydown);\r\n $primaryNavLinks._on('keydown', ::this.handlePrimaryNavLinkKeydown);\r\n $primaryNavLinks._on('click', ::this.handlePrimaryNavLinkClick);\r\n $searchButtonDesktop?._on('keydown', ::this.handlePrimaryNavLinkKeydown);\r\n $searchButtonDesktop?._on('click', ::this.handlePrimaryNavItemSearchClick);\r\n breakpoints.addBreakpointListenerLg(::this.handleResize);\r\n document._on('click', ::this.handleWindowClick);\r\n document._on('keydown', ::this.handleKeyDown);\r\n }\r\n\r\n handleMobileRegionKeydown(e) {\r\n e.stopPropagation();\r\n const backButton = e.currentTarget._$('.header__region-back .btn-label');\r\n\r\n if (e.keyCode === keys.escape) {\r\n backButton.click();\r\n }\r\n }\r\n\r\n handleKeyDown(e) {\r\n if (e.keyCode === keys.escape) {\r\n this.handleControlClose();\r\n }\r\n }\r\n\r\n handlePrimaryNavLinkClick(e) {\r\n e.preventDefault();\r\n const { $primaryNavItems } = this.dom;\r\n const parent = e.currentTarget.closest('.header__primary-nav-item');\r\n\r\n $primaryNavItems\r\n .filter((items) => items !== parent)\r\n .forEach((item) => item.removeAttribute('data-item-open'));\r\n\r\n if (!parent.dataset?.itemOpen) {\r\n parent.dataset.itemOpen = 'true';\r\n } else {\r\n parent.removeAttribute('data-item-open');\r\n }\r\n }\r\n\r\n handleWindowClick(e) {\r\n const { $primaryNavItemSearch, $searchButtonDesktop, $primaryNavItems } =\r\n this.dom;\r\n const openLabel = $searchButtonDesktop?.dataset.openLabel;\r\n\r\n if (\r\n $primaryNavItemSearch &&\r\n $primaryNavItemSearch.dataset.itemOpen === 'true' &&\r\n !e.target.closest('.header__primary-nav-item--search')\r\n ) {\r\n $searchButtonDesktop.setAttribute('aria-label', openLabel);\r\n $primaryNavItemSearch.removeAttribute('data-item-open');\r\n }\r\n\r\n if (!e.target.closest('.header__primary-nav-item')) {\r\n $primaryNavItems.forEach((item) =>\r\n item.removeAttribute('data-item-open')\r\n );\r\n }\r\n }\r\n\r\n handleButtonClose(e) {\r\n const { $primaryNavItems } = this.dom;\r\n\r\n $primaryNavItems.forEach((item) => item.removeAttribute('data-item-open'));\r\n }\r\n\r\n handlePrimaryNavItemSearchClick(e) {\r\n const { $primaryNavItems, $primaryNavItemSearch, $searchInputDesktop } =\r\n this.dom;\r\n const { openLabel, closeLabel } = e.currentTarget.dataset;\r\n const navItem = e.target.closest('.header__primary-nav-item');\r\n\r\n if (e.currentTarget.getAttribute('aria-label') === openLabel) {\r\n e.currentTarget.setAttribute('aria-label', closeLabel);\r\n } else {\r\n e.currentTarget.setAttribute('aria-label', openLabel);\r\n }\r\n\r\n $primaryNavItems\r\n .filter((item) => item !== $primaryNavItemSearch)\r\n .forEach((item) => item.removeAttribute('data-item-open'));\r\n\r\n if (navItem.dataset.itemOpen === 'true') {\r\n navItem.removeAttribute('data-item-open');\r\n } else {\r\n navItem.dataset.itemOpen = 'true';\r\n }\r\n\r\n transitionComplete(() => {\r\n if (\r\n e.target\r\n .closest('.header__primary-nav-item')\r\n .classList.contains('header__primary-nav-item--active')\r\n ) {\r\n $searchInputDesktop.focus();\r\n }\r\n });\r\n }\r\n\r\n handlePrimaryNavLinkKeydown(e) {\r\n const { $primaryNavLinks, $searchButtonDesktop } = this.dom;\r\n const items = [...$primaryNavLinks, $searchButtonDesktop].filter(Boolean);\r\n const { length } = items;\r\n const currentIndex = items.findIndex((link) => link === e.target);\r\n\r\n switch (e.keyCode) {\r\n case keys.home:\r\n e.preventDefault();\r\n items[0].focus();\r\n break;\r\n case keys.end:\r\n e.preventDefault();\r\n items[length - 1].focus();\r\n break;\r\n case keys.left:\r\n e.preventDefault();\r\n items[(currentIndex - 1 + length) % length].focus();\r\n break;\r\n case keys.right:\r\n e.preventDefault();\r\n items[(currentIndex + 1) % length].focus();\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n removePrimaryNavItemsActiveState() {\r\n const { $primaryNavItems } = this.dom;\r\n\r\n $primaryNavItems.forEach((item) => item.removeAttribute('data-item-open'));\r\n }\r\n\r\n handleResize() {\r\n if (breakpoints.isLg()) {\r\n document.body.removeAttribute('style');\r\n } else if (this.dom.$mobileRegions) {\r\n this.dom.$mobileRegions.forEach((region) => {\r\n region\r\n ._$$(focusableElements)\r\n .forEach((el) => el.removeAttribute('tabindex'));\r\n });\r\n }\r\n }\r\n\r\n handleMobileItemClick(e) {\r\n const parent = e.target.closest('.header__mobile-item');\r\n const region = parent._$('.header__region');\r\n const backButton = parent._$('.header__region-back .btn-label');\r\n const headerFocusableElements = this.el\r\n ._$$(focusableElements)\r\n .filter((el) => !el.closest('.header__region'));\r\n\r\n parent.dataset.itemOpen = 'true';\r\n transitionComplete(() => {\r\n disableBodyScroll(region);\r\n backButton?.focus();\r\n\r\n if (headerFocusableElements) {\r\n headerFocusableElements.forEach((el) =>\r\n el.setAttribute('tabindex', '-1')\r\n );\r\n }\r\n }, 600);\r\n }\r\n\r\n handleBackButtonsClick(e) {\r\n const parent = e.target.closest('.header__mobile-item');\r\n const region = parent._$('.header__region');\r\n const trigger = parent._$('.header__mobile-item-button');\r\n const headerFocusableElements = this.el\r\n ._$$(focusableElements)\r\n .filter((el) => !el.closest('.header__region'));\r\n\r\n parent.removeAttribute('data-item-open');\r\n enableBodyScroll(region);\r\n if (headerFocusableElements) {\r\n headerFocusableElements.forEach((el) => el.removeAttribute('tabindex'));\r\n }\r\n transitionComplete(() => {\r\n trigger?.focus();\r\n disableBodyScroll(region);\r\n }, 600);\r\n }\r\n\r\n handleControlMenu() {\r\n const { $controlSearch, $controlMenu, $controlClose } = this.dom;\r\n\r\n this.el.classList.add('header--menu-open');\r\n this.mainFocusTrap.activate();\r\n $controlMenu.hidden = true;\r\n $controlClose.hidden = false;\r\n if ($controlSearch) {\r\n $controlSearch.hidden = true;\r\n }\r\n $controlClose.focus();\r\n }\r\n\r\n handleControlSearch() {\r\n const { $controlSearch, $controlMenu, $controlClose } = this.dom;\r\n\r\n this.el.classList.add('header--search-open');\r\n this.mainFocusTrap.activate();\r\n $controlMenu.hidden = true;\r\n $controlClose.hidden = false;\r\n if ($controlSearch) {\r\n $controlSearch.hidden = true;\r\n }\r\n $controlClose.focus();\r\n }\r\n\r\n handleControlClose() {\r\n const { $controlSearch, $controlMenu, $controlClose } = this.dom;\r\n\r\n this.el.classList.remove('header--menu-open');\r\n this.el.classList.remove('header--search-open');\r\n this.mainFocusTrap.deactivate();\r\n $controlMenu.hidden = false;\r\n if ($controlSearch) {\r\n $controlSearch.hidden = false;\r\n }\r\n $controlClose.hidden = true;\r\n }\r\n\r\n detectIos() {\r\n if (isIOS) {\r\n this.el.classList.add('header--ios');\r\n }\r\n }\r\n\r\n initSearch() {\r\n const { $searchInputMobile, $searchInputDesktop } = this.dom;\r\n\r\n if ($searchInputDesktop && $searchInputMobile) {\r\n new HeaderSearch(this.el, $searchInputMobile, $searchInputDesktop);\r\n }\r\n }\r\n\r\n createTabletDOM() {\r\n const { $desktopNavItems } = this.dom;\r\n\r\n $desktopNavItems.forEach(($item) => {\r\n const $regionContent = $item._$('.header__region-content');\r\n const $cols = $item._$$('[data-col]');\r\n const $additionalLinks = $item._$('.header__additional-links');\r\n\r\n if ($cols) {\r\n const columns = [...new Set($cols.map((col) => col.dataset.col))];\r\n const $regionContentTablet = document.createElement('div');\r\n $regionContentTablet.classList.add('header__region-content-tablet');\r\n\r\n columns\r\n .map((colNum) => {\r\n const $col = document.createElement('div');\r\n $col.classList.add('header__region-col-tablet');\r\n $cols\r\n .filter((c) => c.dataset.col === colNum)\r\n .forEach((c) => {\r\n const copy = c.cloneNode(true);\r\n $col.appendChild(copy);\r\n });\r\n\r\n return $col;\r\n })\r\n .forEach((col) => {\r\n const copy = col.cloneNode(true);\r\n $regionContentTablet.appendChild(copy);\r\n });\r\n\r\n if ($additionalLinks) {\r\n const additionalLinksCopy = $additionalLinks.cloneNode(true);\r\n $regionContentTablet.appendChild(additionalLinksCopy);\r\n }\r\n\r\n $regionContent.parentNode.insertBefore(\r\n $regionContentTablet,\r\n $regionContent\r\n );\r\n }\r\n });\r\n }\r\n\r\n moveMainLink() {\r\n const $items = _$$('.header__primary-nav-item .header__region-content');\r\n\r\n $items.forEach(($item) => {\r\n const $cols = $item._$$(\r\n '.header__region-col:not(.header__region-col--tablet)'\r\n );\r\n const $mainCol = $item._$('.header__region-col--tablet');\r\n const $mainLinkGroup = $mainCol?._$('.header__link-group');\r\n\r\n if ($cols.length && $mainCol && $mainLinkGroup) {\r\n $mainLinkGroup.classList.add('header__link-group--main');\r\n $cols[0].insertBefore($mainLinkGroup, $cols[0].childNodes[0]);\r\n $mainCol.parentNode.removeChild($mainCol);\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport default Header;\r\n"],"sourceRoot":""}