{"version":3,"file":"mega-menu.536e35cc455a6f81d0b0.min.js","mappings":"+IAAe,MAAMA,EACjBC,WAAAA,CAAYC,GACRC,KAAKD,UAAYA,EAEjBC,KAAKC,YAAcC,SAASC,cAAc,mBAAmBJ,EAAUK,QAEvEJ,KAAKK,SAAWL,KAAKD,UAAUO,iBAAiB,mBAEhDN,KAAKO,MACT,CAEAC,mBAAAA,CAAoBC,EAAOC,EAAMC,GAC7BF,EAAMG,SAASC,IACXA,EAAKC,aAAaJ,EAAMC,EAAM,GAEtC,CAEAI,cAAAA,GACqBC,MAAMC,KAAKjB,KAAKD,UAAUO,iBAAiB,4BAEnDM,SAASM,IACdlB,KAAKD,UAAUoB,MAAMC,UACjBpB,KAAKD,UAAUsB,aAAeH,EAAQG,aAChC,GAAGH,EAAQG,iBACX,GAAGrB,KAAKD,UAAUsB,iBAC5BH,EAAQI,UAAUC,IAAI,aAAa,GAE3C,CAEAC,cAAAA,GACqB,IAAIC,kBAAiB,KAClC,GAAuD,SAAnDzB,KAAKC,YAAYyB,aAAa,iBAA6B,CACzC1B,KAAKD,UAAUI,cAAc,oBACrCW,aAAa,gBAAiB,OAC5C,KAAO,CACcd,KAAKD,UAAUO,iBAAiB,oBACxCM,SAASe,IACdA,EAAKb,aAAa,gBAAiB,QAAQ,GAEnD,KAGKc,QAAQ5B,KAAKC,YAAa,CAC/B4B,gBAAiB,CAAC,kBAE1B,CAEAtB,IAAAA,GAEIP,KAAKK,SAASO,SAASkB,IACnBA,EAAQC,iBAAiB,SAAUC,IAC/BA,EAAEC,kBAEF,MAAMC,EAASJ,GAASJ,aAAa,iBAEjCQ,IAEAlC,KAAKQ,oBAAoBR,KAAKK,SAAU,iBAAiB,GAEzDyB,EAAQhB,aAAa,gBAAiB,QAC1C,GACF,IAGNd,KAAKwB,iBACLxB,KAAKe,gBACT,E","sources":["webpack://intracto-deheus/./Frontend/js/components/mega-menu/index.js"],"sourcesContent":["export default class MegaMenu {\r\n constructor(component) {\r\n this.component = component;\r\n // Get container for scope\r\n this.menuTrigger = document.querySelector(`[aria-controls=\"${component.id}\"]`);\r\n // Get all elements with aria-expanded\r\n this.triggers = this.component.querySelectorAll('[aria-expanded]');\r\n\r\n this.init();\r\n }\r\n\r\n _setAttributeForAll(items, name, value) {\r\n items.forEach((item) => {\r\n item.setAttribute(name, value);\r\n });\r\n }\r\n\r\n _setMenuHeight() {\r\n const submenus = Array.from(this.component.querySelectorAll('.bu-header-nav__submenu'));\r\n\r\n submenus.forEach((submenu) => {\r\n this.component.style.minHeight =\r\n this.component.scrollHeight < submenu.scrollHeight\r\n ? `${submenu.scrollHeight}px`\r\n : `${this.component.scrollHeight}px`;\r\n submenu.classList.add('height-100');\r\n });\r\n }\r\n\r\n _observeChange() {\r\n const observer = new MutationObserver(() => {\r\n if (this.menuTrigger.getAttribute('aria-expanded') === 'true') {\r\n const firstLink = this.component.querySelector('.bu-header__link');\r\n firstLink.setAttribute('aria-expanded', 'true');\r\n } else {\r\n const allLinks = this.component.querySelectorAll('.bu-header__link');\r\n allLinks.forEach((link) => {\r\n link.setAttribute('aria-expanded', 'false');\r\n });\r\n }\r\n });\r\n\r\n observer.observe(this.menuTrigger, {\r\n attributeFilter: ['aria-expanded'],\r\n });\r\n }\r\n\r\n init() {\r\n // Set eventhandler for every trigger\r\n this.triggers.forEach((trigger) => {\r\n trigger.addEventListener('click', (e) => {\r\n e.stopPropagation();\r\n // Check expanded status\r\n const status = trigger?.getAttribute('aria-expanded');\r\n // If aria-expanded=false\r\n if (status) {\r\n // Set all other triggers to aria-expanded=false\r\n this._setAttributeForAll(this.triggers, 'aria-expanded', false);\r\n // Set current trigger to aria-expanded=true\r\n trigger.setAttribute('aria-expanded', 'true');\r\n }\r\n });\r\n });\r\n\r\n this._observeChange();\r\n this._setMenuHeight();\r\n }\r\n}\r\n"],"names":["MegaMenu","constructor","component","this","menuTrigger","document","querySelector","id","triggers","querySelectorAll","init","_setAttributeForAll","items","name","value","forEach","item","setAttribute","_setMenuHeight","Array","from","submenu","style","minHeight","scrollHeight","classList","add","_observeChange","MutationObserver","getAttribute","link","observe","attributeFilter","trigger","addEventListener","e","stopPropagation","status"],"sourceRoot":""}