{"version":3,"sources":["main-navigation.js"],"names":["document","addEventListener","dropdownContents","querySelectorAll","bodyTopPadding","querySelector","measureNavHeight","navHeight","getElementById","offsetHeight","forEach","dropdownContent","style","top","paddingTop","window","dropdownButtons","closeButtons","openDropdown","event","clickedDropdownButton","target","Array","from","filter","d","dropdownButton","classList","remove","setAttribute","closest","toggle","contentIsOpen","contains","otherDropdownContent","display","nextElementSibling","closeDropdown","closeableContent","currentTarget","evt","MouseEvent","dispatchEvent","closeButton","matches","mainmenuContent","handleResize","innerWidth","add","console","log"],"mappings":"AAAAA,SAASC,iBAAiB,oBAAoB,WAE5C,MAAMC,EAAmBF,SAASG,iBAAiB,qBAC7CC,EAAiBJ,SAASK,cAAc,QAE9C,SAASC,IACP,MAAMC,EAAYP,SAASQ,eAAe,UAAUC,aAEpDP,EAAiBQ,SAASC,IACxBA,EAAgBC,MAAMC,IAAMN,EAAY,QAE1CH,EAAeQ,MAAME,WAAaP,EAAY,KAGhDD,IACAS,OAAOd,iBAAiB,SAAUK,GAIlC,IAAIU,EAAkBhB,SAASG,iBAAiB,8BAC5Cc,EAAejB,SAASG,iBAAiB,uCAE7C,SAASe,EAAaC,GAGpB,IAAIC,EAAwBD,EAAME,OAGlCC,MAAMC,KAAKP,GAAiBQ,QAAOC,GAAKA,IAAML,IAAuBV,SAAQ,SAAUgB,GACrFA,EAAeC,UAAUC,OAAO,QAChCF,EAAeG,aAAa,gBAAiB,SAC7CT,EAAsBU,QAAQ,aAAazB,cAAc,qBAAqBwB,aAAa,cAAe,WAE5GT,EAAsBO,UAAUI,OAAO,QAEvC,IAAIC,EAAgBZ,EAAsBO,UAAUM,SAAS,QAE7Db,EAAsBU,QAAQ,aAAazB,cAAc,qBAAqBwB,aAAa,cAAeG,EAAgB,QAAU,QACpIZ,EAAsBS,aAAa,gBAAkBG,EAA0B,OAAV,SAGrEhC,SAASG,iBAAiB,qBAAqBO,SAAQ,SAAUwB,GAC/DA,EAAqBtB,MAAMuB,QAAWD,IAAyBd,EAAsBgB,oBAAsBJ,EAAiB,QAAU,UAI1I,SAASK,EAAclB,GACrB,IAAImB,EAAmBnB,EAAMoB,cAAcT,QAAQ,aAAazB,cAAc,oBAC1EmC,EAAM,IAAIC,WAAW,SAEzBH,EAAiBI,cAAcF,GAIjCxB,EAAgBN,SAAQ,SAAUgB,GAChCA,EAAezB,iBAAiB,QAASiB,MAG3CD,EAAaP,SAAQ,SAAUiC,GAC7BA,EAAY1C,iBAAiB,QAASoC,MAIxCrC,SAASC,iBAAiB,SAAS,SAAUkB,GAC3C,IAAIE,EAASF,EAAME,OACfV,EAAkBU,EAAOS,QAAQ,qBAChCT,EAAOuB,QAAQ,+BAAsD,OAApBjC,GAA6BA,EAAgBsB,SAASZ,KAC1GnB,EAAiBQ,SAAQ,SAAUC,GACjCA,EAAgBC,MAAMuB,QAAU,UAIlCnB,EAAgBN,SAAQ,SAAUgB,GAChCA,EAAeC,UAAUC,OAAO,eAWtC,MAAMiB,EAAkB7C,SAASK,cAAc,iCAC1BL,SAASK,cAAc,0BAE5C,GAAIwC,EAAiB,CAMnB,SAASC,IACH/B,OAAOgC,YAAc,KACvBF,EAAgBlB,UAAUqB,IAAI,gBAE9BH,EAAgBlB,UAAUC,OAAO,gBAIrCb,OAAOd,iBAAiB,SAAU6C,GAGlC9C,SAASC,iBAAiB,SAAS,SAAUkB,GAEvCA,EAAME,OAAOS,QAAQ,2BAhBzBe,EAAgBlB,UAAUI,OAAO,mBAqBnCe,SAEAG,QAAQC,IAAI","file":"../main-navigation.min.js","sourcesContent":["document.addEventListener(\"DOMContentLoaded\", function () {\r\n\r\n const dropdownContents = document.querySelectorAll('.dropdown-content');\r\n const bodyTopPadding = document.querySelector('body');\r\n\r\n function measureNavHeight() {\r\n const navHeight = document.getElementById('header').offsetHeight;\r\n\r\n dropdownContents.forEach((dropdownContent) => {\r\n dropdownContent.style.top = navHeight + 'px';\r\n });\r\n bodyTopPadding.style.paddingTop = navHeight + 'px';\r\n }\r\n \r\n measureNavHeight();\r\n window.addEventListener('resize', measureNavHeight);\r\n \r\n // Set the top value of .dropdown-content for all elements with the class\r\n\r\n var dropdownButtons = document.querySelectorAll('.dropdown .js-dropdown-btn');\r\n var closeButtons = document.querySelectorAll('.dropdown .js-dropdown-close-button');\r\n\r\n function openDropdown(event) {\r\n\r\n // Reference the clicked dropdown button\r\n var clickedDropdownButton = event.target;\r\n\r\n // Toggle the 'open' class for the clicked dropdown button\r\n Array.from(dropdownButtons).filter(d => d !== clickedDropdownButton).forEach(function (dropdownButton) {\r\n dropdownButton.classList.remove('open');\r\n dropdownButton.setAttribute('aria-expanded', 'false');\r\n clickedDropdownButton.closest('.dropdown').querySelector('.dropdown-content').setAttribute('aria-hidden', 'true');\r\n });\r\n clickedDropdownButton.classList.toggle('open');\r\n\r\n var contentIsOpen = clickedDropdownButton.classList.contains('open');\r\n\r\n clickedDropdownButton.closest('.dropdown').querySelector('.dropdown-content').setAttribute('aria-hidden', contentIsOpen ? 'false' : 'true');\r\n clickedDropdownButton.setAttribute('aria-expanded', !contentIsOpen ? 'false' : 'true');\r\n\r\n // Hide all other dropdowns\r\n document.querySelectorAll('.dropdown-content').forEach(function (otherDropdownContent) {\r\n otherDropdownContent.style.display = (otherDropdownContent === clickedDropdownButton.nextElementSibling && contentIsOpen) ? 'block' : 'none';\r\n });\r\n }\r\n\r\n function closeDropdown(event) {\r\n var closeableContent = event.currentTarget.closest('.dropdown').querySelector('.js-dropdown-btn');\r\n var evt = new MouseEvent('click');\r\n // If cancelled, don't dispatch our event\r\n closeableContent.dispatchEvent(evt);\r\n }\r\n\r\n // Add click event listeners to the dropdown buttons\r\n dropdownButtons.forEach(function (dropdownButton) {\r\n dropdownButton.addEventListener('click', openDropdown);\r\n });\r\n\r\n closeButtons.forEach(function (closeButton) {\r\n closeButton.addEventListener('click', closeDropdown);\r\n });\r\n\r\n // Add click event listener to the document to hide dropdowns when clicking outside\r\n document.addEventListener('click', function (event) {\r\n var target = event.target;\r\n var dropdownContent = target.closest('.dropdown-content');\r\n if (!target.matches('.dropdown .js-dropdown-btn') && (dropdownContent === null || !dropdownContent.contains(target))) {\r\n dropdownContents.forEach(function (dropdownContent) {\r\n dropdownContent.style.display = 'none';\r\n });\r\n\r\n // Remove the 'open' class from all dropdown buttons\r\n dropdownButtons.forEach(function (dropdownButton) {\r\n dropdownButton.classList.remove('open');\r\n });\r\n }\r\n });\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n const mainmenuContent = document.querySelector('.js-mainmenuContainer-content');\r\n const toggleButton = document.querySelector('.js-toggleMainMenu-btn');\r\n\r\n if (mainmenuContent) {\r\n function toggleMainMenu() {\r\n // Toggle the content-open class\r\n mainmenuContent.classList.toggle('content-open');\r\n }\r\n\r\n function handleResize() {\r\n if (window.innerWidth >= 1024) {\r\n mainmenuContent.classList.add('content-open');\r\n } else {\r\n mainmenuContent.classList.remove('content-open');\r\n }\r\n }\r\n\r\n window.addEventListener('resize', handleResize);\r\n\r\n // Attach click event listener to the document\r\n document.addEventListener('click', function (event) {\r\n // Check if the clicked element is the toggle button or its descendant\r\n if (event.target.closest('.js-toggleMainMenu-btn')) {\r\n toggleMainMenu();\r\n }\r\n });\r\n\r\n handleResize(); // Call handleResize initially to set the initial state\r\n } else {\r\n console.log(\"no menu!\");\r\n }\r\n \r\n \r\n \r\n \r\n});\r\n\r\n\r\n"]}