{"version":3,"sources":["site.js"],"names":["toggleClass","element","elementClass","forEach","index","classList","contains","remove","add","document","querySelector","accordionItems","querySelectorAll","item","addEventListener","e","target","getAttribute","setAttribute","targetContent","targetContentID","getElementById","setTimeout","tabButtons","button","keyCode","nextElementSibling","previousElementSibling","focus","elAriaTitle","innerHTML","stopImmediatePropagation","tabContent","tabButton","let","navBtn","siteNav","evt","code","link","radioIcons","radio","label","checked","parentElement"],"mappings":"aAIA,SAAAA,YAAAC,EAAAC,GACAD,EAAAE,QAAAC,IAEAA,IACAA,EAAAC,UAAAC,SAAAJ,CAAA,EACAE,EAAAC,UAAAE,OAAAL,CAAA,EAEAE,EAAAC,UAAAG,IAAAN,CAAA,EAGA,CATA,CAUA,CAKA,GAAAO,SAAAC,cAAA,YAAA,EAAA,CAAA,MAAAC,EAAAF,SAAAG,iBAAA,kBAAA,EAEAD,EAAAR,QAAAU,IACAA,EAAAH,cAAA,iBAAA,EACAI,iBAAA,QAAA,SAAAC,GAEA,GAAA,SADAA,EAAAC,OAAAC,aAAA,eAAA,EACA,CACAF,EAAAC,OAAAE,aAAA,gBAAA,MAAA,EACA,IAAAC,EAAAJ,EAAAC,OAAAC,aAAA,gBAAA,EACAF,EAAAC,OAAAX,UAAAG,IAAA,SAAA,EACAC,SAAAC,cAAA,IAAAS,CAAA,EAAAd,UAAAG,IAAA,SAAA,CACA,KAAA,CACAY,EAAAL,EAAAC,OAAAC,aAAA,gBAAA,EACA,MAAAE,EAAAV,SAAAY,eAAAD,CAAA,EACAL,EAAAC,OAAAE,aAAA,gBAAA,OAAA,EACAC,EAAAd,UAAAG,IAAA,UAAA,EACAc,WAAA,KACAH,EAAAd,UAAAE,OAAA,SAAA,EACAQ,EAAAC,OAAAX,UAAAE,OAAA,SAAA,EACAY,EAAAd,UAAAE,OAAA,UAAA,CACA,EAAA,GAJA,CAKA,CACA,CAlBA,CAmBA,CArBA,CAsBA,CAKA,GAAAE,SAAAC,cAAA,OAAA,EAAA,CAAA,MAAAa,EAAAd,SAAAG,iBAAA,WAAA,EAIAW,EAAApB,QAAAqB,IACAA,EAAAV,iBAAA,QAAA,SAAAC,GACA,IAAAA,EAAAU,SAAA,IAAAV,EAAAU,UACAV,EAAAC,OAAAU,mBAAAA,oBAGAX,EAAAC,OAAAW,uBAAAA,wBAFAC,MAAA,CAKA,CARA,EAUAJ,EAAAV,iBAAA,QAAA,SAAAC,GAEA,IAAAc,EAAAd,EAAAC,OAAAC,aAAA,aAAA,EACAR,SAAAY,eAAA,YAAA,EAAAS,UACAD,EAAA,8CAGAd,EAAAC,OAAAX,UAAAC,SAAA,QAAA,EAEAS,EAAAgB,yBAAA,GAGAC,EAAAvB,SAAAC,cACA,IAAAK,EAAAC,OAAAC,aAAA,aAAA,CADA,EAKAM,EAAApB,QAAA8B,IACAC,IAAAF,EAAAvB,SAAAC,cACA,IAAAuB,EAAAhB,aAAA,aAAA,CADA,EAGAgB,EAAAf,aAAA,gBAAA,OAAA,EACAe,EAAA5B,UAAAE,OAAA,QAAA,EACAyB,EAAA3B,UAAAE,OAAA,QAAA,EACAyB,EAAAd,aAAA,gBAAA,OAAA,CACA,CARA,EAkBAH,EAAAC,OAAAX,UAAAG,IAAA,QAAA,EAGAO,EAAAC,OAAAE,aAAA,gBAAA,MAAA,EACAc,EAAA3B,UAAAG,IAAA,QAAA,EARAwB,EAAAd,aAAA,gBAAA,MAAA,EASA,CAxCA,CAkCA,CA7CA,CA8CA,CAKA,GAAAT,SAAAC,cAAA,WAAA,EAAA,CACAwB,IAAAC,EAAA1B,SAAAC,cAAA,gBAAA,EACA0B,EAAA3B,SAAAC,cAAA,WAAA,EAEAyB,EAAArB,iBAAA,QAAA,WACAd,YACA,CAAAoC,EAAAD,EAAA1B,SAAAC,cAAA,MAAA,GACA,cAFA,EAIA0B,EAAA/B,UAAAC,SAAA,cAAA,IACA8B,EAAA/B,UAAAG,IAAA,eAAA,EACAc,WAAA,KACAc,EAAA/B,UAAAE,OAAA,eAAA,CACA,EAAA,GAFA,GAIA4B,EAAA9B,UAAAC,SAAA,cAAA,IACA6B,EAAA9B,UAAAG,IAAA,eAAA,EACAc,WAAA,KACAa,EAAA9B,UAAAE,OAAA,eAAA,CACA,EAAA,GAFA,GAIA,SAAA4B,EAAAlB,aAAA,eAAA,EACAkB,EAAAjB,aAAA,gBAAA,MAAA,EAEAiB,EAAAjB,aAAA,gBAAA,OAAA,CAEA,CAtBA,EAwBAiB,EAAArB,iBAAA,QAAA,SAAAuB,GACA,UAAAA,EAAAC,MACAtC,YACA,CAAAoC,EAAAD,EAAA1B,SAAAC,cAAA,MAAA,GACA,cAFA,CAKA,CAPA,EASA0B,EAAAxB,iBAAA,GAAA,EAAAT,QAAAoC,IACAA,EAAAzB,iBAAA,QAAA,SAAAuB,GACA,UAAAA,EAAAC,MACAtC,YACA,CAAAoC,EAAAD,EAAA1B,SAAAC,cAAA,MAAA,GACA,cAFA,CAKA,CAPA,CAQA,CATA,EAcAD,SAAAC,cAAA,UAAA,GAmBAD,SAAAC,cAAA,UAAA,EAAAI,iBAAA,QAAA,WAjBAd,YAmBA,CAAAoC,EAAA3B,SAAAC,cAAA,MAAA,EAAAyB,GAjBA,cAFA,EAIA,SAAAA,EAAAlB,aAAA,eAAA,EACAkB,EAAAjB,aAAA,gBAAA,MAAA,EAEAiB,EAAAjB,aAAA,gBAAA,OAAA,EAEAiB,EAAA9B,UAAAC,SAAA,cAAA,IACA6B,EAAA9B,UAAAG,IAAA,eAAA,EACAc,WAAA,KACAa,EAAA9B,UAAAE,OAAA,eAAA,CACA,EAAA,GAFA,EAIA,CAEA,CAAA,CAuBA,GAAAE,SAAAC,cAAA,oBAAA,EAAA,CApBA,MAAA8B,EAAA/B,SAAAG,iBAAA,qBAAA,EAEA4B,EAAArC,QAAAsC,IACAA,EAAA3B,iBAAA,QAAA,WACAL,SAAAG,iBAAA,0BAAA,EACAT,QAAAuC,IACAA,EAAArC,UAAAC,SAAA,kBAAA,GACAoC,EAAArC,UAAAE,OAAA,kBAAA,CAEA,CAJA,EAMAkC,EAAAE,SACA,CAAAF,EAAAG,cAAAvC,UAAAC,SAAA,kBAAA,EAEAmC,EAAAG,cAAAvC,UAAAG,IAAA,kBAAA,EAEAiC,EAAAG,cAAAvC,UAAAE,OAAA,kBAAA,CAEA,CAfA,CAgBA,CAjBA,CAkBA","file":"../site.min.js","sourcesContent":["//===-----------------===\r\n// Reusable functions\r\n//===-----------------===\r\n\r\n//===------- Toggle classes -------===//\r\nfunction toggleClass(element, elementClass) {\r\n element.forEach((index) => {\r\n if (index) {\r\n if (index.classList.contains(elementClass)) {\r\n index.classList.remove(elementClass);\r\n } else {\r\n index.classList.add(elementClass);\r\n }\r\n }\r\n });\r\n}\r\n\r\n//===-----------------===\r\n// Accordions\r\n//===-----------------===\r\nif (document.querySelector('.accordion')) {\r\n const accordionItems = document.querySelectorAll('.accordion__item');\r\n accordionItems.forEach((item) => {\r\n const accordionBtn = item.querySelector('.accordion__btn');\r\n accordionBtn.addEventListener('click', function (e) {\r\n const ariaExpanded = e.target.getAttribute('aria-expanded');\r\n if (ariaExpanded == 'false') {\r\n e.target.setAttribute('aria-expanded', 'true');\r\n const targetContent = e.target.getAttribute('data-toggle-id');\r\n e.target.classList.add('js-open');\r\n document.querySelector('#' + targetContent).classList.add('js-open');\r\n } else {\r\n const targetContentID = e.target.getAttribute('data-toggle-id');\r\n const targetContent = document.getElementById(targetContentID);\r\n e.target.setAttribute('aria-expanded', 'false');\r\n targetContent.classList.add('js-close');\r\n setTimeout(() => {\r\n targetContent.classList.remove('js-open');\r\n e.target.classList.remove('js-open');\r\n targetContent.classList.remove('js-close');\r\n }, 300);\r\n }\r\n });\r\n });\r\n}\r\n\r\n//===-----------------===\r\n// Tabs\r\n//===-----------------===\r\nif (document.querySelector('.tabs')) {\r\n // Getting all the tab buttons\r\n const tabButtons = document.querySelectorAll('.tab__btn');\r\n // Looping through them all for a click event\r\n tabButtons.forEach((button) => {\r\n button.addEventListener('keyup', function (e) {\r\n if (e.keyCode == 37 || e.keyCode == 39) {\r\n if (e.target.nextElementSibling.nextElementSibling) {\r\n e.target.nextElementSibling.nextElementSibling.focus();\r\n } else {\r\n e.target.previousElementSibling.previousElementSibling.focus();\r\n }\r\n }\r\n });\r\n\r\n button.addEventListener('click', function (e) {\r\n // Changing the tabs status based on which tab is opened\r\n const elAriaTitle = e.target.getAttribute('data-tab-id');\r\n document.getElementById('tab-status').innerHTML =\r\n elAriaTitle + ' tab opened. Navigate to the content below.';\r\n\r\n //Checking to see if the button clicked is already active\r\n if (e.target.classList.contains('active')) {\r\n //If so stop everything\r\n e.stopImmediatePropagation();\r\n } else {\r\n //Gathering the clicked buttons data attribute for the data-tab-id\r\n let tabContent = document.querySelector(\r\n '#' + e.target.getAttribute('data-tab-id')\r\n );\r\n\r\n //removing all actives classes from all buttons and their corresponding tab content\r\n tabButtons.forEach((tabButton) => {\r\n let tabContent = document.querySelector(\r\n '#' + tabButton.getAttribute('data-tab-id')\r\n );\r\n tabButton.setAttribute('aria-selected', 'false');\r\n tabButton.classList.remove('active');\r\n tabContent.classList.remove('active');\r\n tabContent.setAttribute('aria-expanded', 'false');\r\n });\r\n\r\n //adding a class to the clicked button and its tab content\r\n e.target.classList.add('active');\r\n e.target.setAttribute('aria-selected', 'true');\r\n tabContent.classList.add('active');\r\n tabContent.setAttribute('aria-expanded', 'true');\r\n }\r\n });\r\n });\r\n}\r\n\r\n//===-----------------===\r\n// Navigation\r\n//===-----------------===\r\nif (document.querySelector('.site-nav')) {\r\n let navBtn = document.querySelector('.site-nav__btn'),\r\n siteNav = document.querySelector('.site-nav');\r\n\r\n navBtn.addEventListener('click', function () {\r\n toggleClass(\r\n [siteNav, navBtn, document.querySelector('body')],\r\n 'js-menu-open'\r\n );\r\n if (!siteNav.classList.contains('js-menu-open')) {\r\n siteNav.classList.add('js-menu-close');\r\n setTimeout(() => {\r\n siteNav.classList.remove('js-menu-close');\r\n }, 300);\r\n }\r\n if (!navBtn.classList.contains('js-menu-open')) {\r\n navBtn.classList.add('js-menu-close');\r\n setTimeout(() => {\r\n navBtn.classList.remove('js-menu-close');\r\n }, 300);\r\n }\r\n if (navBtn.getAttribute('aria-expanded') == 'false') {\r\n navBtn.setAttribute('aria-expanded', 'true');\r\n } else {\r\n navBtn.setAttribute('aria-expanded', 'false');\r\n }\r\n });\r\n\r\n navBtn.addEventListener('keyup', function (evt) {\r\n if (evt.code == 'Escape') {\r\n toggleClass(\r\n [siteNav, navBtn, document.querySelector('body')],\r\n 'js-menu-open'\r\n );\r\n }\r\n });\r\n\r\n siteNav.querySelectorAll('a').forEach((link) => {\r\n link.addEventListener('keyup', function (evt) {\r\n if (evt.code == 'Escape') {\r\n toggleClass(\r\n [siteNav, navBtn, document.querySelector('body')],\r\n 'js-menu-open'\r\n );\r\n }\r\n });\r\n });\r\n\r\n //===-----------------===\r\n // Overlay - Menu close\r\n //===-----------------===\r\n if (document.querySelector('.overlay')) {\r\n document.querySelector('.overlay').addEventListener('click', function () {\r\n toggleClass(\r\n [siteNav, document.querySelector('body'), navBtn],\r\n 'js-menu-open'\r\n );\r\n if (navBtn.getAttribute('aria-expanded') == 'false') {\r\n navBtn.setAttribute('aria-expanded', 'true');\r\n } else {\r\n navBtn.setAttribute('aria-expanded', 'false');\r\n }\r\n if (!navBtn.classList.contains('js-menu-open')) {\r\n navBtn.classList.add('js-menu-close');\r\n setTimeout(() => {\r\n navBtn.classList.remove('js-menu-close');\r\n }, 500);\r\n }\r\n });\r\n }\r\n}\r\n\r\nif (document.querySelector('.form-group--radio')) {\r\n const radioIcons = document.querySelectorAll('input[type=\"radio\"]');\r\n\r\n radioIcons.forEach((radio) => {\r\n radio.addEventListener('click', function () {\r\n const radioLabels = document.querySelectorAll('.form-group--radio label');\r\n radioLabels.forEach((label) => {\r\n if (label.classList.contains('js-radio-checked')) {\r\n label.classList.remove('js-radio-checked');\r\n }\r\n });\r\n if (\r\n radio.checked &&\r\n !radio.parentElement.classList.contains('js-radio-checked')\r\n ) {\r\n radio.parentElement.classList.add('js-radio-checked');\r\n } else {\r\n radio.parentElement.classList.remove('js-radio-checked');\r\n }\r\n });\r\n });\r\n}\r\n"]}