{"version":3,"mappings":"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","names":["CSS","getChildIndex","$element","$parentElement","$childNode","findParentWithAttribute","attributeName","isVisible","el","instance","$el","dom","setupListeners","_a","toggle","setupTabbability","burgerVisible","burgerExpanded","$menuItem","$menu","nav","__vitePreload","init"],"ignoreList":[],"sources":["../../Assets/Scripts/constants/css.ts","../../Assets/Scripts/utils/dom.ts","../../Assets/Scripts/components/nav/index.ts","../../Assets/Scripts/main.ts"],"sourcesContent":["export const CSS = {\r\n active: \"is-active\",\r\n open: \"is-open\",\r\n overflowHidden: \"overflow--hidden\",\r\n visible: \"is-visible\",\r\n};\r\n","export const getChildIndex = ($element: HTMLElement): number => {\r\n const $parentElement = $element.parentElement;\r\n\r\n if (!$parentElement) {\r\n return -1;\r\n }\r\n\r\n return Array.from($parentElement.children).findIndex(\r\n ($childNode) => $childNode === $element,\r\n );\r\n};\r\n\r\nexport const findParentWithAttribute = (\r\n $element: HTMLElement | null,\r\n attributeName: string,\r\n): HTMLElement | null => {\r\n if ($element && $element.hasAttribute(attributeName)) {\r\n return $element;\r\n }\r\n\r\n // If not, continue to the parent element\r\n if ($element?.parentElement) {\r\n return findParentWithAttribute($element.parentElement, attributeName);\r\n }\r\n\r\n // If there are no more parent elements and the attribute is not found, return null\r\n return null;\r\n};\r\n\r\nexport const isVisible = (el: HTMLElement | null) => {\r\n if (!el) {\r\n return;\r\n }\r\n return !!(el.offsetWidth || el.offsetHeight || el.getClientRects().length);\r\n};\r\n","import { CSS } from \"../../constants/css\";\r\nimport { isVisible } from \"../../utils/dom\";\r\n\r\nconst instance = ($el: HTMLElement) => {\r\n const dom = {\r\n $menu: $el.querySelectorAll(\".js-menu\"),\r\n $toggleBtn: $el.querySelector(\".js-menu-toggle\"),\r\n $menuItems: $el.querySelectorAll(\".js-menu-item\"),\r\n };\r\n\r\n const setupListeners = () => {\r\n dom.$toggleBtn?.addEventListener(\"click\", function () {\r\n toggle(this);\r\n });\r\n };\r\n\r\n const setupTabbability = () => {\r\n const burgerVisible = isVisible(dom.$toggleBtn); // mobile\r\n const burgerExpanded =\r\n dom.$toggleBtn?.getAttribute(\"aria-expanded\") === \"true\";\r\n\r\n dom.$menuItems.forEach(($menuItem) => {\r\n if ((burgerVisible && burgerExpanded) || !burgerVisible) {\r\n $menuItem.removeAttribute(\"tabindex\");\r\n return;\r\n }\r\n $menuItem.setAttribute(\"tabindex\", \"-1\");\r\n });\r\n };\r\n\r\n const toggle = (el: HTMLElement) => {\r\n dom.$menu.forEach(($menu) => {\r\n $menu.classList.toggle(CSS.active);\r\n });\r\n dom.$toggleBtn?.classList.toggle(CSS.active);\r\n\r\n el.setAttribute(\r\n \"aria-expanded\",\r\n el.getAttribute(\"aria-expanded\") === \"true\" ? \"false\" : \"true\",\r\n );\r\n setupTabbability();\r\n };\r\n\r\n setupListeners();\r\n setupTabbability();\r\n\r\n screen.orientation.addEventListener(\"change\", setupTabbability);\r\n window.addEventListener(\"resize\", setupTabbability);\r\n};\r\n\r\nexport default () => {\r\n const $nav = document.querySelectorAll(\".js-nav\");\r\n\r\n $nav.forEach(($element) => {\r\n instance($element);\r\n });\r\n};\r\n","import nav from \"./components/nav\";\r\n\r\nnav();\r\n\r\nif (document.querySelector(\".js-notification\")) {\r\n import(\"./components/notification\").then((init) => init.default());\r\n}\r\n\r\nif (document.querySelector(\".js-search\")) {\r\n import(\"./components/search\").then((init) => init.default());\r\n}\r\n\r\nif (document.querySelector(\".js-tabs\")) {\r\n import(\"./components/tabs\").then((init) => init.default());\r\n}\r\n\r\nif (document.querySelector(\".js-accordion\")) {\r\n import(\"./components/accordion\").then((init) => init.default());\r\n}\r\n\r\nif (document.querySelector(\".js-carousel\")) {\r\n import(\"./components/carousel\").then((init) => init.default());\r\n}\r\nif (document.querySelector(\".js-grid-carousel\")) {\r\n import(\"./components/gridCarousel\").then((init) => init.default());\r\n}\r\n\r\nif (document.querySelector(\".js-gallery\")) {\r\n import(\"./components/gallery\").then((init) => init.default());\r\n}\r\n\r\nif (document.querySelector(\".js-language-picker-list\")) {\r\n import(\"./components/languagePicker\").then((init) => init.default());\r\n}\r\n\r\nif (document.querySelector(\".js-marquee\")) {\r\n import(\"./components/marquee\").then((init) => init.default());\r\n}\r\n\r\nif (document.querySelector(\".js-add-wrapper\")) {\r\n import(\"./components/addWrapper\").then((init) => init.default());\r\n}\r\n\r\nif (document.querySelector(\"[data-aos]\")) {\r\n import(\"./components/aos\").then((init) => init.default());\r\n}\r\n"],"file":"scripts/main-CPVI01Hd.js"}