{"version":3,"file":"../normes_ul.js","names":["currentOpenMenu","closeMainMenu","document","querySelector","classList","remove","innerText","setAttribute","body","closeMainSearch","removeEventListener","detectBackTabOnSearchBar","closeMenuSousUnite","closeToolMenu","console","log","list","getElementById","hidden","button","currentlyFocusedLang","toolMenuKeyUp","preventScrollOnNavKeyDowns","detectClickOutside","querySelectorAll","forEach","item","blurSwitcherItems","openToolMenu","menu","trigger","triggerButton","getAttribute","closeOtherElements","focus","addEventListener","this","add","searchBarButton","languageSwitcher","secureArea","sousUniteTrigger","activeElement","blur","e","parentElement","contains","target","keyCode","preventDefault","shiftKey","currentFocus","currentIndex","children","indexOf","previousElementSibling","length","nextElementSibling","animationName","radioInputs","form","searchInput","radioInput","label","id","updateFormAndInput","checked","key","code","action","dataset","placeholder"],"sources":["normes_ul.js"],"sourcesContent":["let currentOpenMenu = null;\n\n// Fermeture du menu\nvar closeMainMenu = function () {\n document.querySelector(\".header-mobile-menu\").classList.remove(\"open\");\n document\n .querySelector(\".header-menu-trigger\")\n .querySelector(\"span.screen-reader-text\").innerText =\n \"Ouvrir le menu principal\";\n document\n .querySelector(\".header-menu-trigger\")\n .setAttribute(\"aria-expanded\", \"false\");\n document.body.classList.remove(\"mobile-menu-open\");\n};\n\n// Fermeture du moteur de recherche\nvar closeMainSearch = function () {\n document.querySelector(\".header-search\").classList.remove(\"open\");\n document.removeEventListener(\"keydown\", detectBackTabOnSearchBar);\n document\n .querySelector(\".header-search-trigger\")\n .setAttribute(\"aria-expanded\", \"false\");\n};\n\n// Fermeture du moteur de recherche\nvar closeMenuSousUnite = function () {\n if (document.querySelector(\"#header-sub-nav-main\")) {\n document.querySelector(\"#header-sub-nav-main\").classList.remove(\"open\");\n document\n .querySelector(\".header-sub-nav-button\")\n .setAttribute(\"aria-expanded\", \"false\");\n document\n .querySelector(\".header-sub-nav-button\")\n .setAttribute(\"aria-label\", \"Ouvrir le menu\");\n }\n};\n\n// Fermeture d'un menu d'outil\nvar closeToolMenu = function () {\n if (currentOpenMenu) {\n console.log(\"currentOpenMenu.list\");\n console.log(currentOpenMenu.list);\n document.getElementById(currentOpenMenu.list).hidden = true;\n document\n .querySelector(currentOpenMenu.button)\n .setAttribute(\"aria-expanded\", \"false\");\n if (\n (currentlyFocusedLang = document.querySelector(\n \"#\" + currentOpenMenu.list + \">li[aria-selected=true]\"\n ))\n ) {\n currentlyFocusedLang.setAttribute(\"aria-selected\", \"false\");\n }\n document.removeEventListener(\"keyup\", toolMenuKeyUp);\n document.removeEventListener(\"keydown\", preventScrollOnNavKeyDowns);\n document.removeEventListener(\"click\", detectClickOutside);\n const switcherItems = document.querySelectorAll(\n \"#\" + currentOpenMenu.list + \">li a\"\n );\n switcherItems.forEach((item) => {\n item.removeEventListener(\"mouseover\", blurSwitcherItems);\n });\n }\n currentOpenMenu = null;\n};\n\n// Ouverture d'un menu d'outil\nvar openToolMenu = function (menu, trigger) {\n triggerButton = document.querySelector(trigger);\n if (triggerButton.getAttribute(\"aria-expanded\") == \"false\") {\n closeOtherElements();\n currentOpenMenu = {\n list: menu,\n button: trigger,\n };\n console.log(\"menu\");\n console.log(menu);\n document.getElementById(menu).hidden = false;\n triggerButton.setAttribute(\"aria-expanded\", \"true\");\n document.querySelector(\"#\" + menu + \">li:first-child a\").focus();\n document\n .querySelector(\"#\" + menu + \">li:first-child\")\n .setAttribute(\"aria-selected\", \"true\");\n document.addEventListener(\"keyup\", toolMenuKeyUp);\n document.addEventListener(\"keydown\", preventScrollOnNavKeyDowns);\n document.addEventListener(\"click\", detectClickOutside);\n const menuItems = document.querySelectorAll(\"#\" + menu + \">li a\");\n menuItems.forEach((item) => {\n item.addEventListener(\"mouseover\", blurSwitcherItems);\n });\n } else {\n closeToolMenu();\n }\n};\n\n// Comportement du bouton de menu mobile\ndocument\n .querySelector(\".header-menu-trigger\")\n .addEventListener(\"click\", function () {\n if (this.getAttribute(\"aria-expanded\") == \"false\") {\n closeOtherElements();\n document.querySelector(\".header-mobile-menu\").classList.add(\"open\");\n this.querySelector(\"span.screen-reader-text\").innerText =\n \"Fermer le menu principal\";\n this.setAttribute(\"aria-expanded\", \"true\");\n document.body.classList.add(\"mobile-menu-open\");\n } else {\n closeMainMenu();\n }\n });\n\n// Comportement du bouton du moteur de recherche principal\nif ((searchBarButton = document.querySelector(\".header-search-trigger\"))) {\n searchBarButton.addEventListener(\"click\", function () {\n if (this.getAttribute(\"aria-expanded\") == \"false\") {\n closeOtherElements();\n document.querySelector(\".header-search\").classList.add(\"open\");\n document.querySelector(\".header-search-input\").focus();\n document.addEventListener(\"keydown\", detectBackTabOnSearchBar);\n this.setAttribute(\"aria-expanded\", \"true\");\n } else {\n closeMainSearch();\n }\n });\n}\n\n// Activation du sélecteur de langue si disponible\nif (\n (languageSwitcher = document.querySelector(\n \".header-language-switcher-trigger\"\n ))\n) {\n languageSwitcher.addEventListener(\"click\", function () {\n openToolMenu(\n \"header-language-switcher-list\",\n \".header-language-switcher-trigger\"\n );\n });\n}\n\n// Activation du menu secure si disponible\nif ((secureArea = document.querySelector(\".header-secure-area-trigger\"))) {\n secureArea.addEventListener(\"click\", function () {\n openToolMenu(\"header-secure-area-list\", \".header-secure-area-trigger\");\n });\n}\n\n// Activation du menu sous-unité si disponible\nif ((sousUniteTrigger = document.querySelector(\".header-sub-nav-button\"))) {\n sousUniteTrigger.addEventListener(\"click\", function () {\n if (this.getAttribute(\"aria-expanded\") == \"false\") {\n closeOtherElements();\n document.querySelector(\".header-sub-nav-main\").classList.add(\"open\");\n this.setAttribute(\"aria-label\", \"Fermer le menu\");\n this.setAttribute(\"aria-expanded\", \"true\");\n } else {\n closeMenuSousUnite();\n }\n });\n}\n\nvar blurSwitcherItems = function () {\n const menuItems = document.querySelectorAll(\n \"#\" + currentOpenMenu.list + \">li a\"\n );\n menuItems.forEach((item) => {\n if (item == document.activeElement) {\n item.blur();\n }\n });\n};\n\nvar detectClickOutside = function (e) {\n if (\n !document\n .querySelector(currentOpenMenu.button)\n .parentElement.contains(e.target)\n ) {\n closeToolMenu();\n }\n};\n\n// Prévient le scroll down lorsque nous sommes en train de sélectionner une langue avec les flèches\nvar preventScrollOnNavKeyDowns = function (e) {\n if (e.keyCode == 38 || e.keyCode == 40) {\n e.preventDefault();\n }\n};\n\n// Retourne le focus directement sur le bouton trigger de la barre de recherche\nvar detectBackTabOnSearchBar = function (e) {\n if (\n document.activeElement ==\n document.querySelector(\".header-search-type label:first-of-type\") &&\n e.shiftKey &&\n e.keyCode == 9\n ) {\n document.querySelector(\".header-search-trigger\").focus();\n e.preventDefault();\n }\n};\n\n// Détection des touches pour la navigation du sélecteur de langue par clavier\nvar toolMenuKeyUp = function (e) {\n const currentFocus = document.activeElement.parentElement;\n const currentIndex = [...currentFocus.parentElement.children].indexOf(\n currentFocus\n );\n switch (e.keyCode) {\n case 38: // Up\n currentFocus.setAttribute(\"aria-selected\", \"false\");\n if (currentIndex == 0) {\n document\n .querySelector(\"#\" + currentOpenMenu.list + \" li:last-child a\")\n .focus();\n document\n .querySelector(\"#\" + currentOpenMenu.list + \" li:last-child\")\n .setAttribute(\"aria-selected\", \"true\");\n } else {\n currentFocus.previousElementSibling.querySelector(\"a\").focus();\n currentFocus.previousElementSibling.setAttribute(\n \"aria-selected\",\n \"true\"\n );\n }\n break;\n case 40: // Down\n currentFocus.setAttribute(\"aria-selected\", \"false\");\n if (currentIndex == [...currentFocus.parentElement.children].length - 1) {\n document\n .querySelector(\"#\" + currentOpenMenu.list + \" li:first-child a\")\n .focus();\n document\n .querySelector(\"#\" + currentOpenMenu.list + \" li:first-child\")\n .setAttribute(\"aria-selected\", \"true\");\n } else {\n currentFocus.nextElementSibling.querySelector(\"a\").focus();\n currentFocus.nextElementSibling.setAttribute(\"aria-selected\", \"true\");\n }\n break;\n case 27: // Escape\n case 9: // Tab\n document.querySelector(currentOpenMenu.button).focus();\n closeToolMenu();\n break;\n }\n};\n\nvar closeOtherElements = function () {\n closeMainMenu();\n closeMenuSousUnite();\n closeToolMenu();\n if (document.querySelector(\".header-search-trigger\")) {\n closeMainSearch();\n }\n if (document.querySelector(\".header-menu-sous-unite\")) {\n closeMenuSousUnite();\n }\n};\n\n// Ajout/retrait de certaines classes durant les périodes d'animation pour aider à la fluidité\ndocument.addEventListener(\"animationstart\", function (e) {\n if (\n e.animationName === \"slide-in-top\" ||\n e.animationName === \"header-mobile-fadeIn\" ||\n e.animationName === \"header-sous-unite-fadeIn\"\n ) {\n e.target.classList.add(\"remove\");\n }\n});\ndocument.addEventListener(\"animationend\", function (e) {\n if (\n e.animationName === \"slide-out-top\" ||\n e.animationName === \"header-mobile-fadeOut\" ||\n e.animationName === \"header-sous-unite-fadeOut\"\n ) {\n e.target.classList.remove(\"remove\");\n }\n});\n\n(() => {\n let radioInputs = document.querySelectorAll(\n \"#header-search-form input[type=radio]\"\n );\n\n let form = document.querySelector(\"#header-search-form\");\n let searchInput = document.querySelector(\"#header-search-input\");\n\n for (let radioInput of radioInputs) {\n let label = document.querySelector('label[for=\"' + radioInput.id + '\"]');\n\n label.addEventListener(\"click\", function () {\n updateFormAndInput(radioInput);\n });\n\n radioInput.addEventListener(\"change\", function () {\n if (radioInput.checked) {\n updateFormAndInput(radioInput);\n }\n });\n\n label.addEventListener(\"keydown\", function (e) {\n if (e.key == \" \" ||\n e.code == \"Space\" ||\n e.keyCode == 32 ||\n e.key === 'Enter' ||\n e.keyCode === 13\n ) {\n radioInput.checked = true;\n updateFormAndInput(radioInput);\n }\n });\n }\n\n function updateFormAndInput(radioInput) {\n form.action = radioInput.dataset.action;\n searchInput.placeholder = radioInput.dataset.placeholder;\n }\n})();\n"],"mappings":"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"}