{"version":3,"file":"assets/js/101.07cd936767ee269e4e53.js","mappings":"6IAAA,MAAMA,EAAW,CACfC,KAAMC,SAASD,KACfE,QAASD,SAASD,KAAKG,iBAAiB,qBACxCC,UAAWH,SAASI,cAAc,iBAClCC,gBAAiBL,SAASI,cAAc,+BAGpCE,EAAaC,OAAOC,WAAW,wBAE/BC,EAAgBT,SAASI,cAAc,qBACvCM,EAAiBZ,EAASK,UAAUC,cAAc,oBAClDO,EAAcb,EAASK,UAAUC,cAAc,uBAE/CQ,EAAU,CACdC,OAAQ,YACRC,cAAe,aAGjB,IAAIC,GAAe,EAEnB,SAASC,EAAmBC,GAC1B,GAAIA,EAAEC,SAAWT,IAII,IAAjBM,EAAuB,CACzB,GAAIE,EAAEC,OAAOC,QAAQ,kBAAoBF,EAAEC,OAAOC,QAAQ,oBACxD,OAEFC,GACF,CACF,CAEA,SAASA,IACPL,GAAe,EAGfjB,EAASG,QAAQoB,SAASC,IACxBA,EAAGC,aAAa,gBAAiB,SACjCD,EAAGE,UAAUC,OAAOb,EAAQC,OAAO,IAIrCf,EAASK,UAAUoB,aAAa,cAAe,QAC/CzB,EAASK,UAAUqB,UAAUC,OAAOb,EAAQC,QAC5Cf,EAASC,KAAKyB,UAAUC,OAAOb,EAAQC,QACvCf,EAASC,KAAKyB,UAAUC,OAAOb,EAAQE,eAEnCY,OAAShB,GACXD,EAAckB,OAElB,CAEA,SAASC,EAAiBX,GACxB,MAAMY,EAAUZ,EAAEC,OAIE,UAHAW,EAAQC,aAAa,kBAIvCD,EAAQN,aAAa,gBAAiB,QACtCb,EAAea,aAAa,gBAAiB,QAC7CR,GAAe,IAEfc,EAAQN,aAAa,gBAAiB,SACtCb,EAAea,aAAa,gBAAiB,SAC7CR,GAAe,GAGjBc,EAAQL,UAAUO,OAAOnB,EAAQC,QACjCf,EAASK,UAAUqB,UAAUO,OAAOnB,EAAQC,QAC5Cf,EAASC,KAAKyB,UAAUO,OAAOnB,EAAQE,cACzC,CAEA,SAASkB,EAAYC,GACdnC,EAASK,UAAU+B,SAASD,EAAME,gBAAkBnC,SAASoC,gBAAkBV,MAClFN,GAEJ,CAkBA,QAhBA,WACMtB,EAASG,QAAQoC,SACnBvC,EAASG,QAAQoB,SAASC,GAAOA,EAAGgB,iBAAiB,QAASV,KAC9DtB,EAAWgC,iBAAiB,SAAUlB,EAAYmB,KAAKb,MAAM,IAE7D5B,EAASK,UAAUmC,iBAAiB,WAAYN,GAChDrB,EAAY2B,iBAAiB,QAASN,IAGpCtB,GACFA,EAAe4B,iBAAiB,QAASlB,GAG3CpB,SAASsC,iBAAiB,QAAStB,EACrC,C","sources":["webpack://ssen-transmission/./src/ui/templates/02-components/subcomponents/header/_searchbar/mando-ui.searchbar.js"],"sourcesContent":["const elements = {\r\n body: document.body,\r\n toggles: document.body.querySelectorAll('.js-search-toggle'),\r\n searchbar: document.querySelector('.js-searchbar'),\r\n currentPageLink: document.querySelector('.js-meganav [aria-current]'),\r\n};\r\n\r\nconst mediaQuery = window.matchMedia('(min-width: 61.25em)');\r\n\r\nconst openSearchBtn = document.querySelector('.js-search-toggle');\r\nconst closeSearchBtn = elements.searchbar.querySelector('.js-search-close');\r\nconst searchInput = elements.searchbar.querySelector('.js-searchbar-input');\r\n\r\nconst classes = {\r\n active: 'is-active',\r\n searchOverlay: 'is-search',\r\n};\r\n\r\nlet activeSearch = false;\r\n\r\nfunction catchOverlayClicks(e) {\r\n if (e.target === openSearchBtn) {\r\n return;\r\n }\r\n\r\n if (activeSearch === true) {\r\n if (e.target.closest('.js-searchbar') || e.target.closest('.c-header__inner')) {\r\n return;\r\n }\r\n closeSearch();\r\n }\r\n}\r\n\r\nfunction closeSearch() {\r\n activeSearch = false;\r\n\r\n // Set triggers\r\n elements.toggles.forEach((el) => {\r\n el.setAttribute('aria-expanded', 'false');\r\n el.classList.remove(classes.active);\r\n });\r\n\r\n // Set target states\r\n elements.searchbar.setAttribute('aria-hidden', 'true');\r\n elements.searchbar.classList.remove(classes.active);\r\n elements.body.classList.remove(classes.active);\r\n elements.body.classList.remove(classes.searchOverlay);\r\n\r\n if (this === closeSearchBtn) {\r\n openSearchBtn.focus();\r\n }\r\n}\r\n\r\nfunction toggleVisibility(e) {\r\n const trigger = e.target;\r\n const buttonState = trigger.getAttribute('aria-expanded');\r\n\r\n // Toggle the aria-expanded state\r\n if (buttonState === 'false') {\r\n trigger.setAttribute('aria-expanded', 'true');\r\n closeSearchBtn.setAttribute('aria-expanded', 'true');\r\n activeSearch = true;\r\n } else {\r\n trigger.setAttribute('aria-expanded', 'false');\r\n closeSearchBtn.setAttribute('aria-expanded', 'false');\r\n activeSearch = false;\r\n }\r\n\r\n trigger.classList.toggle(classes.active); // Set the toggle to active\r\n elements.searchbar.classList.toggle(classes.active); // Set the target active\r\n elements.body.classList.toggle(classes.searchOverlay);\r\n}\r\n\r\nfunction handleFocus(event) {\r\n if (!elements.searchbar.contains(event.relatedTarget) && document.activeElement !== this) {\r\n closeSearch();\r\n }\r\n}\r\n\r\nfunction init() {\r\n if (elements.toggles.length) {\r\n elements.toggles.forEach((el) => el.addEventListener('click', toggleVisibility));\r\n mediaQuery.addEventListener('change', closeSearch.bind(this, true));\r\n\r\n elements.searchbar.addEventListener('focusout', handleFocus);\r\n searchInput.addEventListener('focus', handleFocus);\r\n }\r\n\r\n if (closeSearchBtn) {\r\n closeSearchBtn.addEventListener('click', closeSearch);\r\n }\r\n\r\n document.addEventListener('click', catchOverlayClicks);\r\n}\r\n\r\nexport default init;\r\n"],"names":["elements","body","document","toggles","querySelectorAll","searchbar","querySelector","currentPageLink","mediaQuery","window","matchMedia","openSearchBtn","closeSearchBtn","searchInput","classes","active","searchOverlay","activeSearch","catchOverlayClicks","e","target","closest","closeSearch","forEach","el","setAttribute","classList","remove","this","focus","toggleVisibility","trigger","getAttribute","toggle","handleFocus","event","contains","relatedTarget","activeElement","length","addEventListener","bind"],"sourceRoot":""}