{"version":3,"sources":["modules/navigation.js","scripts/scripts.js"],"names":["menu_trigger","document","querySelector","nav","body","addEventListener","classList","toggle","getAttribute","setAttribute","documentBody","navTakeover","navDropdowns","querySelectorAll","childMenuLink","toggleDropdown","e","forceClose","targetElement","target","targetState","dropdownRight","window","innerWidth","getBoundingClientRect","left","remove","matchMedia","matches","resetTakeoverElements","add","handleNavLinkKeydown","key","handleChildNavLinkClose","closest","previousElementSibling","focus","forEach","link","closeNavTakeover","globalNav","getElementById","event","contains","Array","from","el","parentElement","sidebarToggle","handleSidebarToggle","scrollToAnchorOffSet","scrollToAnchor","aName","aTag","$","animate","scrollTop","offset","top","scrollToAnchorID","aId","scrollToAnchorOffset","scrollToAnchorIDOffset","isEmptyOrSpaces","str","undefined","match","nodeListToIds","list","nodeIds","length","i","itm","checked","push","value"],"mappings":"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","file":"../compiled.min.js","sourcesContent":["var menu_trigger = document.querySelector('.nav__toggle'),\r\n nav = document.querySelector('.nav'),\r\n body = document.querySelector('body');\r\n\r\nmenu_trigger.addEventListener('click', function () {\r\n // Toggle classes\r\n menu_trigger.classList.toggle('nav__toggle--active')\r\n nav.classList.toggle('nav--active')\r\n // body.classList.toggle('overflow--hidden')\r\n body.classList.toggle('nav--open')\r\n\r\n // Accessibility\r\n if (menu_trigger.getAttribute('aria-expanded') === 'true') {\r\n menu_trigger.setAttribute('aria-expanded', 'false')\r\n } else {\r\n menu_trigger.setAttribute('aria-expanded', 'true')\r\n }\r\n})\r\n\r\nconst documentBody = document.body;\r\nfunction navTakeover() {\r\n const navDropdowns = document.querySelectorAll('.nav-link--dropdown');\r\n const childMenuLink = document.querySelectorAll('.nav-submenu__child-link');\r\n\r\n if (!navDropdowns) return;\r\n\r\n const toggleDropdown = (e, forceClose = false) => {\r\n let targetElement = e.target;\r\n\r\n const targetState = e.target.getAttribute(\"aria-expanded\");\r\n\r\n const windowWidth = window.innerWidth;\r\n const elementPositionLeft = targetElement.getBoundingClientRect().left;\r\n let dropdownRight = false;\r\n\r\n if (windowWidth - elementPositionLeft <= 270) {\r\n dropdownRight = true;\r\n }\r\n\r\n if (targetState === \"true\" || forceClose) {\r\n targetElement.setAttribute(\"aria-expanded\", \"false\");\r\n targetElement.classList.remove(\"dropdown--right\");\r\n\r\n if (window.matchMedia('(min-width: 993px)').matches) {\r\n documentBody.classList.remove('takeover');\r\n }\r\n\r\n\r\n } else {\r\n resetTakeoverElements();\r\n targetElement.setAttribute(\"aria-expanded\", \"true\");\r\n if (window.matchMedia('(min-width: 993px)').matches) {\r\n documentBody.classList.add('takeover');\r\n }\r\n\r\n if (dropdownRight) {\r\n targetElement.classList.add(\"dropdown--right\");\r\n }\r\n }\r\n }\r\n\r\n const handleNavLinkKeydown = (e) => {\r\n if (e.key === \"Esc\" || e.key === \"Escape\") {\r\n toggleDropdown(e, true);\r\n }\r\n }\r\n\r\n const handleChildNavLinkClose = (e) => {\r\n if (e.key === \"Esc\" || e.key === \"Escape\") {\r\n const targetElement = e.target.closest(\".nav-submenu\").previousElementSibling;\r\n targetElement.setAttribute(\"aria-expanded\", \"false\");\r\n targetElement.classList.remove(\"dropdown--right\");\r\n if (window.matchMedia('(min-width: 993px)').matches) {\r\n documentBody.classList.remove('takeover');\r\n }\r\n targetElement.focus();\r\n }\r\n }\r\n\r\n navDropdowns.forEach(link => {\r\n link.addEventListener(\"click\", toggleDropdown);\r\n link.addEventListener(\"keydown\", handleNavLinkKeydown);\r\n });\r\n\r\n if (childMenuLink) {\r\n childMenuLink.forEach(link => {\r\n link.addEventListener(\"keydown\", handleChildNavLinkClose);\r\n });\r\n }\r\n}\r\n\r\n\r\nfunction closeNavTakeover() {\r\n\r\n const globalNav = document.getElementById('global-nav');\r\n\r\n document.addEventListener('click', function (event) {\r\n if (documentBody.classList.contains('takeover') && !globalNav.contains(event.target)) {\r\n resetTakeoverElements()\r\n documentBody.classList.remove('takeover');\r\n }\r\n });\r\n}\r\nfunction resetTakeoverElements() {\r\n Array.from(document.querySelectorAll('.nav-link--dropdown')).forEach(function (el) {\r\n el.setAttribute(\"aria-expanded\", \"false\");\r\n el.classList.remove(\"dropdown--right\");\r\n el.parentElement.classList.remove('is-visible');\r\n });\r\n}\r\n\r\nnavTakeover();\r\ncloseNavTakeover();\r\n\r\nvar sidebarToggle = document.getElementById(\"sidebarToggle\");\r\n\r\nif (sidebarToggle) {\r\n sidebarToggle.addEventListener(\"click\", handleSidebarToggle);\r\n}\r\n\r\nfunction handleSidebarToggle(e) {\r\n if (e.target.getAttribute(\"aria-expanded\") === \"true\") {\r\n e.target.setAttribute(\"aria-expanded\", \"false\");\r\n } else {\r\n e.target.setAttribute(\"aria-expanded\", \"true\");\r\n }\r\n}","var scrollToAnchorOffSet = 120;\r\n\r\nfunction scrollToAnchor(aName) {\r\n var aTag = $(\"a[name='\" + aName + \"']\");\r\n $('html,body').animate({ scrollTop: aTag.offset().top }, 'slow');\r\n}\r\nfunction scrollToAnchorID(aId) {\r\n var aTag = $(\"#\" + aId);\r\n $('html,body').animate({ scrollTop: aTag.offset().top }, 'slow');\r\n}\r\n\r\nfunction scrollToAnchorOffset(aName) {\r\n var aTag = $(\"a[name='\" + aName + \"']\");\r\n $('html,body').animate({ scrollTop: aTag.offset().top - scrollToAnchorOffSet }, 'slow');\r\n}\r\nfunction scrollToAnchorIDOffset(aId) {\r\n var aTag = $(\"#\" + aId);\r\n $('html,body').animate({ scrollTop: aTag.offset().top - scrollToAnchorOffSet }, 'slow');\r\n}\r\n\r\nfunction isEmptyOrSpaces(str) {\r\n if (str === undefined) { return true; }\r\n return str === null || str.match(/^ *$/) !== null;\r\n}\r\n\r\nfunction nodeListToIds(list) {\r\n //console.log(' node list : %o', list);\r\n let nodeIds = [];\r\n if (list.length > 0) {\r\n for (let i = 0; i < list.length; i++) {\r\n\r\n var itm = list[i];\r\n //console.log('%o - %o', itm, itm.checked);\r\n if (itm.checked) {\r\n nodeIds.push(itm.value);\r\n }\r\n }\r\n }\r\n //console.log('node ids : %o', nodeIds);\r\n return nodeIds;\r\n}"]}