{"version":3,"file":"main.js","sources":["../../../../raw/js/main.js"],"sourcesContent":["\r\n( () => {\r\n // Navigation toggle\r\n const header = document.querySelector( '.header' );\r\n\r\n if ( !header ) {\r\n return;\r\n }\r\n\r\n const header_toggle = header.querySelector( '.header__button' );\r\n const header_block = header.querySelector( '.header__main' );\r\n\r\n header_toggle.addEventListener( 'click', () => {\r\n header_toggle.classList.toggle( 'toggled', !header_toggle.classList.contains( 'toggled' ) );\r\n header_block.classList.toggle( 'toggled', !header_block.classList.contains( 'toggled' ) );\r\n header.classList.toggle( 'toggled', !header.classList.contains( 'toggled' ) );\r\n } );\r\n} )();\r\n\r\n( () => {\r\n // Toggle fact boxes\r\n\twindow.addEventListener( 'click', ( event ) => {\r\n\t\tif ( event.target.classList.contains( 'fact__button' ) ) {\r\n\t\t\tevent.target.parentElement.classList.toggle( 'fact--expanded' );\r\n\t\t}\r\n\t} );\r\n} )();\r\n\r\n( () => {\r\n // Toggle filters\r\n\twindow.addEventListener( 'click', ( event ) => {\r\n\t\tif ( event.target.classList.contains( 'filter__toggle' ) ) {\r\n\t\t\tevent.target.parentElement.classList.toggle( 'filter--expanded' );\r\n\t\t}\r\n\t} );\r\n} )();\r\n\r\n( () => {\r\n // Toggle accordion items\r\n\twindow.addEventListener( 'click', ( event ) => {\r\n if ( event.target.classList.contains( 'accordion-item__toggle' ) ) {\r\n event.target.parentElement.classList.toggle( 'toggled' );\r\n\t\t}\r\n\t} );\r\n} )();\r\n\r\n( () => {\r\n // Handle subnavs\r\n const header_list = document.querySelector( '.header__list--main' );\r\n\r\n if ( !header_list ) {\r\n return;\r\n }\r\n\r\n const header_links = document.querySelectorAll( '.header__link--has-subnav' );\r\n header_links.forEach( element => {\r\n element.addEventListener( 'click', () => {\r\n // A links parent element is assigned a \"toggled\" class to reveal the subnav,\r\n // so if the elements parent doesn't currently have that class, we should\r\n // open this subnav.\r\n if ( !element.parentElement.classList.contains( 'toggled' ) ) {\r\n closeAllSubnavs();\r\n header_list.classList.add( 'subnav-open' ); // used for x-axis repositioning of nav drawer on small screens\r\n element.parentElement.classList.add( 'toggled' );\r\n element.nextElementSibling.focus();\r\n // Otherwise, we can determine that the user is clicking an already open\r\n // subnav link, and as such we should close the dropdown in question.\r\n } else if ( element.parentElement.classList.contains( 'toggled' ) ) {\r\n header_list.classList.remove( 'subnav-open' );\r\n element.parentElement.classList.remove( 'toggled' );\r\n }\r\n } );\r\n } );\r\n\r\n window.addEventListener( 'click', ( event ) => {\r\n if ( event.target.classList.contains( 'header__subnav-close' ) ) {\r\n closeAllSubnavs();\r\n header_list.classList.remove( 'subnav-open' );\r\n }\r\n } );\r\n\r\n function closeAllSubnavs() {\r\n const all_subnavs = document.querySelectorAll( '.header__has-subnav.toggled' );\r\n for ( let i = 0; i < all_subnavs.length; i++ ) {\r\n all_subnavs[i].classList.remove( 'toggled' );\r\n }\r\n }\r\n} )();\r\n\r\n( () => {\r\n const shareButtons = document.querySelectorAll( '.share-button' );\r\n\r\n if (!shareButtons) {\r\n return;\r\n }\r\n\r\n shareButtons.forEach(element => {\r\n // Share must be triggered by 'user activation'\r\n element.addEventListener('click', event => {\r\n if (navigator.share) {\r\n navigator.share({\r\n title: document.title,\r\n url: document.location.href\r\n })\r\n .catch(console.error);\r\n } else {\r\n navigator.clipboard.writeText(document.location.href);\r\n element.querySelector('span').innerHTML = \"Link copied!\";\r\n }\r\n });\r\n });\r\n} )();\r\n"],"names":["header","document","querySelector","header_toggle","header_block","addEventListener","classList","toggle","contains","window","event","target","parentElement","header_list","header_links","querySelectorAll","forEach","element","closeAllSubnavs","add","nextElementSibling","focus","remove","all_subnavs","i","length","shareButtons","navigator","share","title","url","location","href","console","error","clipboard","writeText","innerHTML"],"mappings":"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"}