{"version":3,"file":"Src_Scripts_components_top-navigation_js.846922073da49c9f50a3.js","sources":["webpack://HKKF/./Src/Scripts/components/top-navigation.js"],"sourcesContent":["export default class TopNavigation {\r\n constructor(elm) {\r\n this.didScroll = true;\r\n this.lastScrollTop = 0;\r\n this.delta = 5;\r\n this.header = elm;\r\n this.offset = this.header.offsetHeight;\r\n\r\n window.onscroll = () => {\r\n this.didScroll = true;\r\n };\r\n\r\n setInterval(() => {\r\n if (this.didScroll) {\r\n this.hasScrolled();\r\n this.didScroll = false;\r\n }\r\n }, 250);\r\n\r\n //Burger menu will only work inside an 'li' (in its current form at least).\r\n this.header.querySelector('.mobile-navigation__burger-menu').closest('li').addEventListener('click', e => {\r\n const isOpen = document.body.classList.contains('mobile-menu-open');\r\n \r\n e.preventDefault();\r\n document.body.classList.toggle('mobile-menu-open', !isOpen);\r\n \r\n const url = window.location.pathname\r\n\r\n if (url.length > 0) {\r\n const linkNode = elm.querySelector(\"[href='\" + window.location.pathname + \"']\")\r\n\r\n if (linkNode !== null) {\r\n const parent = linkNode.closest('.dropdown-button')\r\n\r\n if (parent !== null) {\r\n parent.click()\r\n } \r\n }\r\n }\r\n });\r\n\r\n var dropdownButtons = elm.querySelectorAll('.dropdown-button--with-dropdown');\r\n dropdownButtons.forEach(x => {\r\n x.onclick = e => {\r\n if (window.innerWidth < 992 && !e.target.closest('.dropdown-button__content')) {\r\n e.preventDefault();\r\n var active = x.classList.contains('dropdown-button--active');\r\n dropdownButtons.forEach(x => x.classList.remove('dropdown-button--active'));\r\n x.classList.toggle('dropdown-button--active', !active);\r\n }\r\n }\r\n });\r\n }\r\n\r\n hasScrolled() {\r\n const st = (window.pageYOffset !== undefined) ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop;\r\n\r\n if (Math.abs(this.lastScrollTop - st) <= this.delta) return;\r\n\r\n this.header.classList.toggle('scrolled', st > this.offset);\r\n this.header.classList.toggle('nav-down', (st > this.lastScrollTop && st));\r\n this.header.classList.toggle('nav-up', (st > this.lastScrollTop && st));\r\n\r\n this.lastScrollTop = st;\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAjEA;AACA;A;;A;;A","sourceRoot":""}