{"version":3,"file":"header-search.js","mappings":"AAAAA,SAASC,iBAAiB,oBAAoB,WAC1C,MAAMC,EAAe,CACjBC,mBAAeC,EACfC,eAAWD,GAETE,EAAeN,SAASO,iBAAiB,mBAqC/C,SAASC,EAAaC,GACJ,WAAVA,EAAEC,MACFR,EAAaC,cAAcQ,aAAa,gBAAiB,SACzDX,SAASY,KAAKC,UAAUC,OAAO,eAC/BZ,EAAaC,cAAcY,QAC3Bf,SAASgB,oBAAoB,UAAWR,GACxCR,SAASgB,oBAAoB,QAASC,GAAW,IAIzD,SAASA,EAAUC,GACfA,EAAMC,kBAEN,MAAMC,EAAelB,EAAaC,cAAckB,mBAAmBC,cAAc,SAC3EC,EAAcrB,EAAaC,cAAckB,mBAAmBC,cAAc,UAE3EpB,EAAaG,UAEPH,EAAaG,YAAckB,GAClCH,EAAaL,QACbf,SAASwB,cAAgBJ,EACzBlB,EAAaG,UAAYe,GAEzBlB,EAAaG,UAAYL,SAASwB,cANlCtB,EAAaG,UAAYe,EApD5Bd,EAAamB,SAIlBnB,EAAaoB,SAAQ,SAAUC,GAC3BA,EAAa1B,iBAAiB,SAAUQ,IAEpC,GADAkB,EAAaC,gBAAgB,iBAAiB,GACK,SAA/CD,EAAaE,aAAa,iBAC1BF,EAAahB,aAAa,gBAAiB,SAC3CT,EAAaC,cAAgB,KAC7BH,SAASgB,oBAAoB,UAAWR,GACxCR,SAASgB,oBAAoB,QAASC,GAAW,GACjDjB,SAASY,KAAKC,UAAUC,OAAO,mBAC5B,CACH,MAAMgB,EAAQH,EAAaN,mBAAmBC,cAAc,SAC5DK,EAAahB,aAAa,gBAAiB,QAC3CT,EAAaC,cAAgBwB,EAC7B3B,SAASC,iBAAiB,UAAWO,GACrCsB,EAAMf,QACNf,SAASwB,cAAgBM,EACzB5B,EAAaG,UAAYL,SAASwB,cAClCxB,SAASC,iBAAiB,QAASgB,GAAW,GAC9CjB,SAASY,KAAKC,UAAUkB,IAAI,eAC5BC,OAAO,0BAA0BC,KAAK,eAAeC,wBAKjEF,OAAO,0BAA0BG,GAAG,sBAAsB,WAClDjC,EAAaC,gBACbD,EAAaC,cAAcQ,aAAa,gBAAiB,SACzDX,SAASY,KAAKC,UAAUC,OAAO","sources":["webpack://customtheme/./scripts/src/header-search.js"],"sourcesContent":["document.addEventListener('DOMContentLoaded', function() {\n const searchDialog = {\n currentDialog: undefined,\n lastFocus: undefined,\n }\n const searchToggle = document.querySelectorAll('.search-display');\n\n if (!searchToggle.length) {\n return;\n }\n\n searchToggle.forEach(function (toggleButton) {\n toggleButton.addEventListener('click', (e) => {\n toggleButton.toggleAttribute('aria-expanded', true);\n if (toggleButton.getAttribute('aria-expanded') === 'true') {\n toggleButton.setAttribute('aria-expanded', 'false');\n searchDialog.currentDialog = null;\n document.removeEventListener('keydown', escapeHandle);\n document.removeEventListener('focus', trapFocus, true);\n document.body.classList.remove('search-open');\n } else {\n const input = toggleButton.nextElementSibling.querySelector('input');\n toggleButton.setAttribute('aria-expanded', 'true');\n searchDialog.currentDialog = toggleButton;\n document.addEventListener('keydown', escapeHandle);\n input.focus();\n document.activeElement = input;\n searchDialog.lastFocus = document.activeElement;\n document.addEventListener('focus', trapFocus, true);\n document.body.classList.add('search-open');\n jQuery(\"ul#mega-menu-main_menu\").data('maxmegamenu').hideMobileMenu();\n }\n });\n });\n\n jQuery(\"ul#mega-menu-main_menu\").on(\"mmm:showMobileMenu\", function() {\n if (searchDialog.currentDialog) {\n searchDialog.currentDialog.setAttribute('aria-expanded', 'false');\n document.body.classList.remove('search-open');\n }\n });\n\n function escapeHandle(e) {\n if (e.key === 'Escape') {\n searchDialog.currentDialog.setAttribute('aria-expanded', 'false');\n document.body.classList.remove('search-open');\n searchDialog.currentDialog.focus();\n document.removeEventListener('keydown', escapeHandle);\n document.removeEventListener('focus', trapFocus, true);\n }\n }\n\n function trapFocus(event) {\n event.stopPropagation();\n\n const firstElement = searchDialog.currentDialog.nextElementSibling.querySelector('input');\n const lastElement = searchDialog.currentDialog.nextElementSibling.querySelector('button');\n\n if (!searchDialog.lastFocus) {\n searchDialog.lastFocus = firstElement;\n } else if (searchDialog.lastFocus === lastElement) {\n firstElement.focus();\n document.activeElement = firstElement;\n searchDialog.lastFocus = firstElement;\n } else {\n searchDialog.lastFocus = document.activeElement;\n }\n }\n});\n"],"names":["document","addEventListener","searchDialog","currentDialog","undefined","lastFocus","searchToggle","querySelectorAll","escapeHandle","e","key","setAttribute","body","classList","remove","focus","removeEventListener","trapFocus","event","stopPropagation","firstElement","nextElementSibling","querySelector","lastElement","activeElement","length","forEach","toggleButton","toggleAttribute","getAttribute","input","add","jQuery","data","hideMobileMenu","on"],"sourceRoot":""}