{"version":3,"file":"header--navigation.57f8aeaa.js","mappings":"oUAEqBA,EAAAA,WACpB,WAAYC,I,4FAAQ,SACnBC,KAAKC,GAAKF,EAAOE,IAAMC,SAASC,cAAc,uBAC9CH,KAAKI,UAAYJ,KAAKC,GAAGE,cAAc,kBACvCH,KAAKK,SAAWL,KAAKC,GAAGE,cAAc,mBACtCH,KAAKM,cAAgB,qBACrBN,KAAKO,UAAYP,KAAKC,GAAGE,cACxB,oCAEDH,KAAKQ,kBAAoB,wCACzBR,KAAKS,iBAAmB,iCACxBT,KAAKU,uBAAyB,6BAC9BV,KAAKW,kBAAoB,sCACzBX,KAAKY,OACLZ,KAAKa,cAAe,E,2CAErB,WACCb,KAAKc,iB,0BAEN,WAAe,WACVd,KAAKK,UAAYL,KAAKI,YACzBJ,KAAKK,SAASU,iBAAiB,SAAS,WACvC,EAAKC,eAENhB,KAAKI,UAAUW,iBAAiB,SAAS,WACxC,EAAKE,eAENjB,KAAKC,GAAGc,iBAAiB,WAAW,SAACG,GACrB,WAAXA,EAAEC,MAAqB,EAAKN,cAC/B,EAAKI,gBAGPG,EAAAA,EAAAA,WAAUpB,KAAKC,O,uBAIjB,WACCD,KAAKa,cAAe,EACpB,IAAMQ,EAAOrB,KACbA,KAAKC,GAAGqB,UAAUC,IAAIvB,KAAKM,eAE3B,IAAIkB,EAAaxB,KAAKC,GAAGE,cACxB,2CACCsB,QAAQC,MAEV1B,KAAKC,GAAGE,cAAc,oBAAoBmB,UAAUC,IAAIC,IAExDG,EAAAA,EAAAA,aAAY3B,KAAKO,UAAW,UAAU,GACtCP,KAAKO,UAAUqB,MAAMC,QAAU,sCAE/B3B,SAAS4B,qBAAqB,QAAQ,GAAGF,MAAMG,SAAW,SAE1D/B,KAAKC,GAAGE,cAAcH,KAAKQ,mBAAmBoB,MAAMI,WACnD,UACDL,EAAAA,EAAAA,aACCN,EAAKpB,GAAGE,cAAckB,EAAKb,mBAC3B,UACA,GAGDR,KAAKC,GAAGgC,iBAAiBZ,EAAKZ,kBAAkByB,SAAQ,SAACjC,GACpDA,EAAGqB,UAAUa,SAAS,WACzBlC,EAAGqB,UAAUC,IAAIF,EAAKX,2BAIxBV,KAAKI,UAAUgC,U,uBAEhB,WACCpC,KAAKa,cAAe,EACpB,IAAMQ,EAAOrB,KACbA,KAAKC,GAAGqB,UAAUe,OAAOrC,KAAKM,eAE9B,IAAIkB,EAAaxB,KAAKC,GAAGE,cACxB,2CACCsB,QAAQC,MAEV1B,KAAKC,GAAGE,cAAc,oBAAoBmB,UAAUe,OAAOb,IAE3DG,EAAAA,EAAAA,aAAY3B,KAAKO,UAAW,UAAU,GACtCP,KAAKO,UAAUqB,MAAMC,QAAU,oCAE/B3B,SAAS4B,qBAAqB,QAAQ,GAAGF,MAAMG,SAAW,QAE1D/B,KAAKC,GAAGE,cAAcH,KAAKQ,mBAAmBoB,MAAMI,WACnD,WACDL,EAAAA,EAAAA,aACCN,EAAKpB,GAAGE,cAAckB,EAAKb,mBAC3B,UACA,GAGDR,KAAKC,GAAGgC,iBAAiBZ,EAAKZ,kBAAkByB,SAAQ,SAACjC,GACpDA,EAAGqB,UAAUa,SAAS,WACzBlC,EAAGqB,UAAUe,OAAOhB,EAAKX,2BAI3BV,KAAKK,SAAS+B,a,6BAlGKtC","sources":["webpack://ucn/./src/components/header/header-navigation.js"],"sourcesContent":["import { setAriaProp, trapFocus } from \"@common/utilities.js\";\n\nexport default class HeaderNavigation {\n\tconstructor(config) {\n\t\tthis.el = config.el || document.querySelector(\".header--navigation\");\n\t\tthis.menuClose = this.el.querySelector(\".header__close\");\n\t\tthis.menuOpen = this.el.querySelector(\".header__burger\");\n\t\tthis.menuOpenClass = \"header--show-panel\";\n\t\tthis.menuPanel = this.el.querySelector(\n\t\t\t\".header__navigation--small-panel\"\n\t\t);\n\t\tthis.activeLevelsClass = \".active-level .sub-navigation__levels\";\n\t\tthis.HeaderNavBgClass = \".header__navigation--header-bg\";\n\t\tthis.HeaderNavBgActiveClass = \"header__navigation--active\";\n\t\tthis.subNavActiveClass = \".sub-navigation__level-item--active\";\n\t\tthis.init();\n\t\tthis.panelVisible = false;\n\t}\n\tinit() {\n\t\tthis.attachEvents();\n\t}\n\tattachEvents() {\n\t\tif (this.menuOpen && this.menuClose) {\n\t\t\tthis.menuOpen.addEventListener(\"click\", () => {\n\t\t\t\tthis.showPanel();\n\t\t\t});\n\t\t\tthis.menuClose.addEventListener(\"click\", () => {\n\t\t\t\tthis.hidePanel();\n\t\t\t});\n\t\t\tthis.el.addEventListener(\"keydown\", (e) => {\n\t\t\t\tif (e.code === \"Escape\" && this.panelVisible) {\n\t\t\t\t\tthis.hidePanel();\n\t\t\t\t}\n\t\t\t});\n\t\t\ttrapFocus(this.el);\n\t\t}\n\t}\n\n\tshowPanel() {\n\t\tthis.panelVisible = true;\n\t\tconst self = this;\n\t\tthis.el.classList.add(this.menuOpenClass);\n\n\t\tlet themeColor = this.el.querySelector(\n\t\t\t\".header__navigation--small-panel.active\"\n\t\t).dataset.theme;\n\n\t\tthis.el.querySelector(\".header__inherit\").classList.add(themeColor);\n\n\t\tsetAriaProp(this.menuPanel, \"hidden\", false);\n\t\tthis.menuPanel.style.cssText = \"display: block; visibility: visible\";\n\n\t\tdocument.getElementsByTagName(\"html\")[0].style.overflow = \"hidden\";\n\n\t\tthis.el.querySelector(this.activeLevelsClass).style.visibility =\n\t\t\t\"hidden\";\n\t\tsetAriaProp(\n\t\t\tself.el.querySelector(self.activeLevelsClass),\n\t\t\t\"hidden\",\n\t\t\ttrue\n\t\t);\n\n\t\tthis.el.querySelectorAll(self.HeaderNavBgClass).forEach((el) => {\n\t\t\tif (el.classList.contains(\"active\")) {\n\t\t\t\tel.classList.add(self.HeaderNavBgActiveClass);\n\t\t\t}\n\t\t});\n\n\t\tthis.menuClose.focus();\n\t}\n\thidePanel() {\n\t\tthis.panelVisible = false;\n\t\tconst self = this;\n\t\tthis.el.classList.remove(this.menuOpenClass);\n\n\t\tlet themeColor = this.el.querySelector(\n\t\t\t\".header__navigation--small-panel.active\"\n\t\t).dataset.theme;\n\n\t\tthis.el.querySelector(\".header__inherit\").classList.remove(themeColor);\n\n\t\tsetAriaProp(this.menuPanel, \"hidden\", true);\n\t\tthis.menuPanel.style.cssText = \"display: none; visibility: hidden\";\n\n\t\tdocument.getElementsByTagName(\"html\")[0].style.overflow = \"unset\";\n\n\t\tthis.el.querySelector(this.activeLevelsClass).style.visibility =\n\t\t\t\"visible\";\n\t\tsetAriaProp(\n\t\t\tself.el.querySelector(self.activeLevelsClass),\n\t\t\t\"hidden\",\n\t\t\tfalse\n\t\t);\n\n\t\tthis.el.querySelectorAll(self.HeaderNavBgClass).forEach((el) => {\n\t\t\tif (el.classList.contains(\"active\")) {\n\t\t\t\tel.classList.remove(self.HeaderNavBgActiveClass);\n\t\t\t}\n\t\t});\n\n\t\tthis.menuOpen.focus();\n\t}\n}\n"],"names":["HeaderNavigation","config","this","el","document","querySelector","menuClose","menuOpen","menuOpenClass","menuPanel","activeLevelsClass","HeaderNavBgClass","HeaderNavBgActiveClass","subNavActiveClass","init","panelVisible","attachEvents","addEventListener","showPanel","hidePanel","e","code","trapFocus","self","classList","add","themeColor","dataset","theme","setAriaProp","style","cssText","getElementsByTagName","overflow","visibility","querySelectorAll","forEach","contains","focus","remove"],"sourceRoot":""}