{"version":3,"file":"main.js","sources":["../../../../raw/js/main.js"],"sourcesContent":["import EmblaCarousel from 'embla-carousel';\r\n\r\n( () => {\r\n // Navigation toggle\r\n const header_toggle = document.querySelector( '.header__button' );\r\n const header_block = document.querySelector( '.header' );\r\n\r\n if ( !header_toggle || !header_block ) {\r\n return;\r\n }\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 } );\r\n} )();\r\n\r\n( () => {\r\n const shareButton = document.querySelector( '.share-button' );\r\n\r\n if (!shareButton) {\r\n return;\r\n }\r\n\r\n // Share must be triggered by 'user activation'\r\n shareButton.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 shareButton.querySelector('span').innerHTML = \"Link copied!\";\r\n }\r\n });\r\n} )();\r\n\r\n( () => {\r\n const all_tab_buttons = document.querySelectorAll( '.tab__link' );\r\n const all_tab_content = document.querySelectorAll( '.tab__content' );\r\n\r\n function openTab( tab_button, tab_id ) {\r\n // Remove active status from all tab content\r\n for ( let i = 0; i < all_tab_content.length; i++ ) {\r\n all_tab_content[i].classList.remove( 'tab__content--active' );\r\n }\r\n\r\n // Remove active status from all tab buttons\r\n for ( let i = 0; i < all_tab_buttons.length; i++ ) {\r\n all_tab_buttons[i].className = all_tab_buttons[i].className.replace( 'tab__link--active', '' );\r\n }\r\n\r\n // Show the current tab, and add an \"active\" class to the button that opened the tab\r\n document.getElementById( tab_id ).classList.add( 'tab__content--active' );\r\n tab_button.classList.add( 'tab__link--active' );\r\n }\r\n\r\n for ( let i = 0; i < all_tab_buttons.length; i += 1 ) {\r\n all_tab_buttons[i].addEventListener( 'click', ( e ) => {\r\n openTab( e.target, all_tab_buttons[i].getAttribute( 'data-tab-id' ) );\r\n } );\r\n }\r\n\r\n if ( all_tab_buttons.length > 0 || all_tab_content.length > 0 ) {\r\n // Activate the first tab on page load\r\n all_tab_buttons[0].classList.add( 'tab__link--active' );\r\n all_tab_content[0].classList.add( 'tab__content--active' );\r\n }\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\t// Initialise slider elements\r\n\tconst slider_elements = [].slice.call( document.querySelectorAll( '.content-slider' ) );\r\n\tslider_elements.map( slider_element =>\r\n\t\tcreateSlider( slider_element )\r\n\t);\r\n} )();\r\n\r\nfunction createSlider( slider_element ) {\r\n\t// Content slider\r\n\tconst slider_pips = slider_element.querySelectorAll( '.content-slider__pip' );\r\n\tconst slider_next = slider_element.querySelector( '.content-slider__button--next' );\r\n\tconst slider_prev = slider_element.querySelector( '.content-slider__button--prev' );\r\n\r\n\tconst slider__opts = {\r\n\t\talign: 'start',\r\n\t\tcontainerSelector: '.content-slider__inner',\r\n\t\tloop: false,\r\n\t\tspeed: 10,\r\n\t\tselectedClass: 'content-slider--selected',\r\n\t};\r\n\r\n\tconst slider = EmblaCarousel( slider_element, slider__opts );\r\n\r\n\tslider_pips.forEach( ( pip, index ) => {\r\n\t\tpip.addEventListener( 'click', () => {\r\n\t\t\tslider.scrollTo( index );\r\n\t\t}, false );\r\n\t} );\r\n\r\n\tslider_next.addEventListener( 'click', () => {\r\n\t\tslider.scrollNext();\r\n\t}, false );\r\n\r\n\tslider_prev.addEventListener( 'click', () => {\r\n\t\tslider.scrollPrev();\r\n\t}, false );\r\n\r\n\tslider.on( 'select', () => {\r\n\t\tconst index = slider.selectedScrollSnap();\r\n\t\tclearPips();\r\n\t\tresetButtonState( slider_prev, slider.canScrollPrev() );\r\n\t\tresetButtonState( slider_next, slider.canScrollNext() );\r\n\t\tslider_pips[index].classList.add( 'content-slider__pip--active' );\r\n\t} );\r\n\r\n\tfunction clearPips() {\r\n\t\tslider_pips.forEach( ( pip ) => {\r\n\t\t\tpip.classList.remove( 'content-slider__pip--active' );\r\n\t\t} );\r\n\t}\r\n\r\n\tfunction resetButtonState( element, state ) {\r\n\t\tif ( state ) {\r\n\t\t\telement.classList.add( 'content-slider__button--can' );\r\n\t\t} else {\r\n\t\t\telement.classList.remove( 'content-slider__button--can' );\r\n\t\t}\r\n\t}\r\n}\r\n"],"names":["header_toggle","document","querySelector","header_block","addEventListener","classList","toggle","contains","shareButton","event","navigator","share","title","url","location","href","console","error","clipboard","writeText","innerHTML","all_tab_buttons","querySelectorAll","all_tab_content","openTab","tab_button","tab_id","i","length","remove","className","replace","getElementById","add","_loop","e","target","getAttribute","window","parentElement","slider_elements","slice","call","map","slider_element","createSlider","slider_pips","slider_next","slider_prev","slider__opts","align","containerSelector","loop","speed","selectedClass","slider","EmblaCarousel","forEach","pip","index","scrollTo","scrollNext","scrollPrev","on","selectedScrollSnap","clearPips","resetButtonState","canScrollPrev","canScrollNext","element","state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}