{"version":3,"file":"alpine-header.js","sources":["../../../fe-src/js/alpine-components/alpine-header.js"],"sourcesContent":["import collapse from \"@alpinejs/collapse\";\r\n\r\nwindow.Alpine.plugin(collapse);\r\n\r\nexport function header(config, Alpine) {\r\n return {\r\n navOpen: false,\r\n subNavActive: false,\r\n stickyNav: false,\r\n hideFeatureCard: false,\r\n windowSize: window.innerWidth,\r\n activeIndex: \" \",\r\n activeNavItem: \"\",\r\n bodyWrapper: \"\",\r\n bottomHeader: \"\",\r\n scrollbarWidth: window.innerWidth - document.documentElement.clientWidth,\r\n timerId: null,\r\n menuBreakpoint: 1169,\r\n\r\n init() {\r\n this.bodyWrapper = document.querySelector(\"body\");\r\n this.bottomHeader = document.querySelector(\".js-bottom-header\");\r\n\r\n this.openNavDropOnkeyEnter();\r\n },\r\n\r\n checkAlert(dropdown) {\r\n const itemDropdown = dropdown;\r\n this.windowSize = window.innerWidth;\r\n\r\n if (this.windowSize > this.menuBreakpoint) {\r\n let dropdownOffSetHeight = 273;\r\n let dropdownOffSetTop = this.stickyNav ? 126 : 193;\r\n\r\n const alert = document.querySelector(\".js-alert-message\");\r\n const overlay = document.querySelector(\".js-overlay\");\r\n\r\n if (alert) {\r\n const alertHeight = alert.offsetHeight;\r\n if (!this.stickyNav) {\r\n dropdownOffSetTop += alertHeight;\r\n dropdownOffSetHeight += alertHeight;\r\n }\r\n }\r\n\r\n itemDropdown.style.top = `${dropdownOffSetTop}px`;\r\n overlay.style.top = `${dropdownOffSetTop}px`;\r\n itemDropdown.style.height = `calc(100% - ${dropdownOffSetHeight}px)`;\r\n }\r\n },\r\n\r\n toggleNav() {\r\n const windowSize = window.innerWidth;\r\n\r\n if (windowSize <= this.menuBreakpoint) {\r\n this.navOpen = !this.navOpen;\r\n if (this.navOpen) {\r\n this.bodyWrapper.classList.add(\"overflow-hidden\");\r\n document.documentElement.style.paddingRight = `${this.scrollbarWidth}px`;\r\n } else {\r\n this.bodyWrapper.classList.remove(\"overflow-hidden\");\r\n document.documentElement.style.paddingRight = `0px`;\r\n }\r\n } else {\r\n this.navOpen = true;\r\n }\r\n },\r\n\r\n checkHeaderPosition() {\r\n const windowScrollPosition = window.scrollY;\r\n const topheaderHeight = document.querySelector(\".js-top-header\").offsetHeight;\r\n this.stickyNav = windowScrollPosition > topheaderHeight;\r\n },\r\n\r\n checkwindowResize() {\r\n this.windowSize = window.innerWidth;\r\n if (this.windowSize > this.menuBreakpoint) {\r\n this.navOpen = false;\r\n this.bodyWrapper.classList.remove(\"overflow-hidden\");\r\n }\r\n this.navOpen = this.windowSize <= this.menuBreakpoint ? this.navOpen : false;\r\n },\r\n\r\n activeDropdown(e) {\r\n this.timerId = setTimeout(() => {\r\n if (this.windowSize > this.menuBreakpoint) {\r\n this.scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\r\n const event = e.target ? e.target.closest(\".js-main-nav-item\") : e.closest(\".js-main-nav-item\");\r\n const dropdown = event.querySelector(\".js-sub-nav\");\r\n this.activeNavItem = event?.dataset?.id;\r\n if (dropdown) {\r\n this.navOpen = true;\r\n\r\n event.setAttribute(\"aria-expanded\", \"true\");\r\n this.bodyWrapper.classList.add(\"overflow-hidden\");\r\n document.documentElement.style.paddingRight = `${this.scrollbarWidth}px`;\r\n if (this.stickyNav) {\r\n this.bottomHeader.style.right = `${this.scrollbarWidth}px`;\r\n }\r\n this.checkAlert(dropdown);\r\n } else {\r\n this.navOpen = false;\r\n this.bodyWrapper.classList.remove(\"overflow-hidden\");\r\n document.documentElement.style.paddingRight = `0px`;\r\n this.bottomHeader.style.right = `0px`;\r\n }\r\n }\r\n }, 150);\r\n },\r\n\r\n deactiveDropdown(e) {\r\n if (this.windowSize > this.menuBreakpoint) {\r\n clearTimeout(this.timerId);\r\n const event = e.target ? e.target.closest(\".js-main-nav-item\") : e.closest(\".js-main-nav-item\");\r\n const dropdown = event.querySelector(\".js-sub-nav\");\r\n this.activeNavItem = \"\";\r\n this.navOpen = false;\r\n this.bodyWrapper.classList.remove(\"overflow-hidden\");\r\n document.documentElement.style.paddingRight = `0px`;\r\n this.bottomHeader.style.right = `0px`;\r\n if (dropdown) {\r\n dropdown.style.height = 0;\r\n dropdown.style.display = \"none\";\r\n dropdown.style.top = 0;\r\n }\r\n\r\n event.setAttribute(\"aria-expanded\", \"false\");\r\n }\r\n },\r\n\r\n toggleSubnav(e) {\r\n if (this.windowSize <= this.menuBreakpoint) {\r\n const list = e.target.closest(\".js-main-nav-item\");\r\n const dropdown = list.querySelector(\".js-sub-nav\");\r\n const navIndex = list.dataset.id;\r\n\r\n if (this.activeIndex !== navIndex) {\r\n this.activeIndex = navIndex;\r\n }\r\n\r\n if (list.classList.contains(\"js-nav-item-active\")) {\r\n dropdown.style.height = \"0\";\r\n dropdown.classList.add(\"h-0\", \"overflow-hidden\");\r\n document.documentElement.style.paddingRight = `${this.scrollbarWidth}px`;\r\n list.classList.remove(\"js-nav-item-active\");\r\n } else {\r\n this.removeSubNavItemActive();\r\n dropdown.classList.remove(\"h-0\", \"overflow-hidden\");\r\n document.documentElement.style.paddingRight = `0px`;\r\n dropdown.style.height = `${dropdown.scrollHeight}px`;\r\n list.classList.add(\"js-nav-item-active\");\r\n }\r\n }\r\n },\r\n\r\n removeSubNavItemActive() {\r\n const allList = document.querySelectorAll(\".js-main-nav-item\");\r\n\r\n allList.forEach((item) => {\r\n if (item.classList.contains(\"js-nav-item-active\")) {\r\n item.classList.remove(\"js-nav-item-active\");\r\n const dropdown = item.querySelector(\".js-sub-nav\");\r\n dropdown.style.height = \"0\";\r\n dropdown.classList.add(\"h-0\", \"overflow-hidden\");\r\n document.documentElement.style.paddingRight = `${this.scrollbarWidth}px`;\r\n }\r\n });\r\n },\r\n\r\n activeSubNav(e) {\r\n this.subNavActive = true;\r\n const allListItem = document.querySelectorAll(\".js-sub-nav-item\");\r\n const listItem = e.target ? e.target : e;\r\n allListItem.forEach((item) => {\r\n if (listItem !== item) {\r\n item.setAttribute(\"aria-expanded\", \"false\");\r\n }\r\n });\r\n listItem.setAttribute(\"aria-expanded\", \"true\");\r\n },\r\n\r\n deactivateSubNav() {\r\n this.subNavActive = false;\r\n const allListItem = document.querySelectorAll(\".js-sub-nav-item\");\r\n allListItem.forEach((item) => {\r\n item.setAttribute(\"aria-expanded\", \"false\");\r\n });\r\n },\r\n\r\n hoverImage(e) {\r\n const event = e.target ? e.target : e;\r\n const item = event.closest(\".js-sub-links\");\r\n const itemSrc = item.dataset.src;\r\n const featureImage = event.closest(\".js-sub-nav\").querySelector(\".js-feature-image\");\r\n const allListItem = document.querySelectorAll(\".js-sub-links\");\r\n allListItem.forEach((linkItem) => {\r\n if (linkItem !== event) {\r\n linkItem.setAttribute(\"aria-expanded\", \"false\");\r\n }\r\n });\r\n\r\n item.setAttribute(\"aria-expanded\", \"true\");\r\n\r\n if (itemSrc || itemSrc !== \"\") {\r\n this.hideFeatureCard = true;\r\n\r\n if (featureImage) {\r\n const imageHolder = featureImage.querySelector(\"img\");\r\n imageHolder.setAttribute(\"src\", itemSrc);\r\n imageHolder.setAttribute(\"data-src\", itemSrc);\r\n setInterval(() => this.animationFadeInOutEffect(featureImage), 1000);\r\n } else {\r\n const wrapper = event.closest(\".js-sub-nav\").querySelector(\".js-3-col\");\r\n const imgWrapper = document.createElement(\"div\");\r\n imgWrapper.classList.add(\"js-feature-image\", \"pointer-events-none\", \"absolute\", \"bottom-0\", \"right-0\", \"top-0\", \"z-10\", \"w-[37.5%]\");\r\n\r\n const image = document.createElement(\"img\");\r\n image.classList.add(\"w-full\", \"h-full\", \"object-center\", \"object-cover\");\r\n image.setAttribute(\"src\", itemSrc);\r\n image.setAttribute(\"data-src\", itemSrc);\r\n\r\n imgWrapper.appendChild(image);\r\n wrapper.appendChild(imgWrapper);\r\n }\r\n } else {\r\n this.hoverOutImage(e);\r\n }\r\n },\r\n\r\n hoverOutImage(e) {\r\n this.hideFeatureCard = false;\r\n\r\n const event = e.target ? e.target : e;\r\n const item = event.closest(\".js-sub-links\");\r\n item.setAttribute(\"aria-expanded\", \"false\");\r\n const featureImage = event.closest(\".js-sub-nav\").querySelector(\".js-feature-image\");\r\n const itemSrc = featureImage?.dataset?.src;\r\n if (itemSrc === undefined) {\r\n featureImage?.remove();\r\n } else {\r\n const imageHolder = featureImage.querySelector(\"img\");\r\n\r\n imageHolder.setAttribute(\"src\", itemSrc);\r\n imageHolder.setAttribute(\"data-src\", itemSrc);\r\n }\r\n },\r\n\r\n activeMainNavFeatureImage(e) {\r\n this.hideFeatureCard = false;\r\n const event = e;\r\n\r\n const featureImage = event.closest(\".js-main-nav-item\")?.querySelector(\".js-feature-image\");\r\n const itemSrc = featureImage?.dataset?.src;\r\n if (itemSrc === undefined) {\r\n featureImage?.remove();\r\n } else {\r\n const imageHolder = featureImage.querySelector(\"img\");\r\n\r\n imageHolder.setAttribute(\"src\", itemSrc);\r\n imageHolder.setAttribute(\"data-src\", itemSrc);\r\n }\r\n\r\n const subLinks = document.querySelectorAll(\".js-sub-links\");\r\n subLinks.forEach((subItem) => {\r\n subItem.setAttribute(\"aria-expanded\", \"false\");\r\n });\r\n },\r\n\r\n animationFadeInOutEffect(e) {\r\n const wrapper = e;\r\n wrapper.style.opacity = 0;\r\n wrapper.style.opacity = 1;\r\n },\r\n\r\n openNavDropOnkeyEnter() {\r\n const vm = this;\r\n window.addEventListener(\"keydown\", (event) => {\r\n console.log(event, \"keydown\");\r\n if (event.key === \"Enter\" || event.code === \"Space\") {\r\n const e = event.srcElement;\r\n if (e.classList.contains(\"js-main-nav-item-btn\")) {\r\n const navItem = e.closest(\".js-main-nav-item\");\r\n const expanded = navItem.ariaExpanded;\r\n\r\n if (expanded === \"false\") {\r\n this.activeDropdown(e);\r\n this.activeMainNavFeatureImage(e);\r\n } else {\r\n this.deactiveDropdown(e);\r\n this.deactivateSubNav();\r\n }\r\n }\r\n if (e.classList.contains(\"js-sub-nav-button\")) {\r\n console.log(event.srcElement);\r\n const targetElement = event.srcElement;\r\n const targetedListItem = targetElement.closest(\".js-sub-nav-item\");\r\n if (targetedListItem) {\r\n console.log(targetElement, targetedListItem);\r\n const expanded = targetedListItem.ariaExpanded;\r\n if (expanded === \"false\") {\r\n this.activeSubNav(targetedListItem);\r\n this.activeMainNavFeatureImage(e);\r\n } else {\r\n this.deactivateSubNav();\r\n }\r\n }\r\n }\r\n if (e.classList.contains(\"js-sub-link-button\")) {\r\n const subLinktargetElement = event.srcElement;\r\n const subLinkTargetedListItem = subLinktargetElement.closest(\".js-sub-links\");\r\n if (subLinkTargetedListItem) {\r\n const expanded = subLinkTargetedListItem.ariaExpanded;\r\n if (expanded === \"false\") {\r\n this.hoverImage(subLinkTargetedListItem);\r\n } else {\r\n this.hoverOutImage(subLinkTargetedListItem);\r\n }\r\n }\r\n }\r\n } else if (event.key === \"ArrowRight\") {\r\n const e = event.srcElement;\r\n if (e.classList.contains(\"js-sub-nav-button\")) {\r\n const targetElement = event.srcElement;\r\n const targetedListItem = targetElement.closest(\".js-sub-nav-item\");\r\n if (targetedListItem) {\r\n console.log(targetElement, targetedListItem);\r\n const expanded = targetedListItem.ariaExpanded;\r\n if (expanded === \"false\") {\r\n this.activeSubNav(targetedListItem);\r\n this.activeMainNavFeatureImage(e);\r\n }\r\n }\r\n }\r\n if (e.classList.contains(\"js-sub-link-button\")) {\r\n const subLinktargetElement = event.srcElement;\r\n const subLinkTargetedListItem = subLinktargetElement.closest(\".js-sub-links\");\r\n if (subLinkTargetedListItem) {\r\n const expanded = subLinkTargetedListItem.ariaExpanded;\r\n if (expanded === \"false\") {\r\n this.hoverImage(subLinkTargetedListItem);\r\n }\r\n }\r\n }\r\n } else if (event.key === \"ArrowLeft\") {\r\n const e = event.srcElement;\r\n if (e.classList.contains(\"js-sub-nav-button\")) {\r\n console.log(event.srcElement);\r\n const targetElement = event.srcElement;\r\n const targetedListItem = targetElement.closest(\".js-sub-nav-item\");\r\n if (targetedListItem) {\r\n console.log(targetElement, targetedListItem);\r\n const expanded = targetedListItem.ariaExpanded;\r\n if (expanded === \"true\") {\r\n this.deactivateSubNav();\r\n }\r\n }\r\n }\r\n if (e.classList.contains(\"js-sub-link-button\")) {\r\n const subLinktargetElement = event.srcElement;\r\n const subLinkTargetedListItem = subLinktargetElement.closest(\".js-sub-links\");\r\n if (subLinkTargetedListItem) {\r\n const expanded = subLinkTargetedListItem.ariaExpanded;\r\n if (expanded === \"true\") {\r\n this.hoverOutImage(subLinkTargetedListItem);\r\n }\r\n }\r\n }\r\n } else if (event.key === \"Escape\") {\r\n const e = event.srcElement;\r\n if (e) {\r\n const navItem = e.closest(\".js-main-nav-item\");\r\n if (navItem) {\r\n const navItemLink = navItem.querySelector(\".js-main-nav-item-btn\");\r\n if (navItemLink.classList.contains(\"js-main-nav-item-btn\")) {\r\n const expanded = navItem.ariaExpanded;\r\n if (expanded === \"true\") {\r\n this.deactiveDropdown(navItemLink);\r\n this.deactivateSubNav();\r\n navItemLink.focus();\r\n }\r\n }\r\n }\r\n }\r\n }\r\n });\r\n window.addEventListener(\"keyup\", (event) => {\r\n console.log(event);\r\n if (event.key === \"Tab\") {\r\n const e = event.srcElement;\r\n const navItem = e.closest(\".js-main-nav-item\");\r\n if (navItem) {\r\n if (vm.activeNavItem !== navItem?.dataset.id) {\r\n if (vm.activeNavItem !== \"\") {\r\n const wrapper = document.querySelector(`[data-id='${vm.activeNavItem}']`);\r\n const navLink = wrapper?.querySelector(\".js-main-nav-item-btn\");\r\n if (navLink) {\r\n vm.deactiveDropdown(navLink);\r\n this.deactivateSubNav();\r\n }\r\n }\r\n }\r\n } else {\r\n const wrapper = document.querySelector(`[data-id='${vm.activeNavItem}']`);\r\n const navLink = wrapper?.querySelector(\".js-main-nav-item-btn\");\r\n if (navLink) {\r\n vm.deactiveDropdown(navLink);\r\n this.deactivateSubNav();\r\n }\r\n }\r\n }\r\n });\r\n }\r\n };\r\n}\r\n"],"names":["collapse","header","config","Alpine","dropdown","itemDropdown","dropdownOffSetHeight","dropdownOffSetTop","alert","overlay","alertHeight","windowScrollPosition","topheaderHeight","e","event","_a","list","navIndex","item","allListItem","listItem","itemSrc","featureImage","linkItem","imageHolder","wrapper","imgWrapper","image","_b","subItem","vm","targetedListItem","subLinkTargetedListItem","navItem","navItemLink","navLink"],"mappings":"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"}