{"version":3,"file":"carousel.js","mappings":"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","sources":["webpack://asp.net/./wwwroot/js/carousel.js"],"sourcesContent":["(() => {\r\n const CAROUSEL_CLASS = '.carousel';\r\n const MOBILE_FIG_CAPTION_CLASS = '.mobile-fig-caption';\r\n const carousel = document.querySelectorAll(CAROUSEL_CLASS)[0];\r\n let isActive = true;\r\n\r\n if (carousel) {\r\n const slides = carousel.querySelectorAll('figure');\r\n const numSlides = slides.length;\r\n let counter = 0;\r\n\r\n const mobileFigcaption = carousel.querySelector(MOBILE_FIG_CAPTION_CLASS);\r\n const title = mobileFigcaption.querySelector('.title');\r\n const body = mobileFigcaption.querySelector('.body');\r\n const link = mobileFigcaption.querySelector('.link');\r\n\r\n const showCurrent = (i) => {\r\n counter = i;\r\n \r\n [].forEach.call(slides, (e) => {\r\n e.classList.remove('card-center');\r\n e.classList.remove('card-prev');\r\n e.classList.remove('card-next');\r\n });\r\n \r\n [].forEach.call(indicators, (e) => {\r\n e.classList.remove('current');\r\n });\r\n \r\n // Assign the correct classes to the carousel images and indicator\r\n slides[counter].classList.add('card-center');\r\n counter < numSlides - 1 ? slides[counter + 1].classList.add('card-next') : slides[0].classList.add('card-next');\r\n counter > 0 ? slides[counter - 1].classList.add('card-prev') : slides[numSlides - 1].classList.add('card-prev');\r\n \r\n //Adding tabindex on hidden cards\r\n [].forEach.call(slides, (e) => {\r\n if (e.classList.contains('card-prev') || e.classList.contains('card-center') || e.classList.contains('card-next')) {\r\n e.querySelector('a').removeAttribute('tabindex');\r\n }\r\n else {\r\n e.querySelector('a').setAttribute('tabindex', '-1');\r\n }\r\n });\r\n\r\n indicators[counter].classList.add('current');\r\n setFigcaption(counter);\r\n };\r\n\r\n const setFigcaption = (i) => {\r\n title.innerText = slides[i].querySelector('figcaption .title').textContent.trim();\r\n body.innerText = slides[i].querySelector('figcaption .body').textContent.trim();\r\n link.innerHTML = slides[i].querySelector('figcaption .link').innerHTML;\r\n link.href = slides[i].querySelector('figcaption .link').href;\r\n }\r\n \r\n // auto-rotate function with timer of 8 seconds\r\n let id;\r\n const initiateSlideshow = () => {\r\n id = setInterval(() => counter < numSlides - 1 ? showCurrent(counter + 1) : showCurrent(0), 8000);\r\n }\r\n\r\n // Initialize carousel\r\n // Initialize slide classes\r\n slides[0].classList.add('card-center');\r\n slides[1].classList.add('card-next');\r\n slides[numSlides - 1].classList.add('card-prev');\r\n\r\n // Initialize mobile fig caption\r\n setFigcaption(0);\r\n\r\n // Initiating auto-rotation of carousel cards \r\n initiateSlideshow();\r\n\r\n // Initialize indicator group\r\n const indicatorGroup = document.createElement('div');\r\n indicatorGroup.classList.add('indicator-group');\r\n carousel.appendChild(indicatorGroup);\r\n\r\n // Populate indicators\r\n const indicatorGroupElement = carousel.querySelectorAll('.indicator-group')[0];\r\n\r\n // Creating play/pause button\r\n const ctr = carousel.querySelector('.controller');\r\n ctr.classList.remove('hidden');\r\n carousel.appendChild(ctr); // positioning the pause button below the indicator buttons \r\n const play = ctr.querySelector('#play');\r\n const pause = ctr.querySelector('#pause');\r\n\r\n for (let i = 0; i < slides.length; i++) {\r\n const slide = slides[i];\r\n slide.classList.add('card');\r\n\r\n const indicator = document.createElement('button');\r\n indicator.classList.add('indicator');\r\n indicator.dataset['slideId'] = i;\r\n indicator.ariaLabel = \"Jump to \" + slide.querySelector('figcaption .title').textContent.trim() + \" slide\";\r\n if (i === 0) {\r\n indicator.classList.add('current');\r\n }\r\n indicatorGroupElement.append(indicator);\r\n }\r\n\r\n const indicators = carousel.querySelectorAll('.indicator');\r\n\r\n // Register event listeners\r\n carousel.querySelector('.carousel-next').addEventListener('click', () => {\r\n if (isActive) {\r\n clearInterval(id); // overwriting user input over setInterval\r\n }\r\n\r\n counter < numSlides - 1 ? showCurrent(counter + 1) : showCurrent(0); // increment\r\n \r\n if (isActive) {\r\n initiateSlideshow(); // resuming slideshow\r\n }\r\n }, false);\r\n \r\n carousel.querySelector('.carousel-prev').addEventListener('click', () => {\r\n if (isActive) {\r\n clearInterval(id); // overwriting user input over setInterval\r\n }\r\n\r\n counter > 0 ? showCurrent(counter - 1): showCurrent(numSlides - 1); // decrement\r\n\r\n if (isActive) {\r\n initiateSlideshow(); // resuming slideshow\r\n }\r\n }, false);\r\n \r\n\r\n carousel.querySelectorAll('.indicator').forEach((element) => {\r\n element.addEventListener('click', (e) => {\r\n e.preventDefault();\r\n showCurrent(parseInt(e.currentTarget.dataset.slideId));\r\n });\r\n });\r\n \r\n carousel.onkeydown = (e) => {\r\n e = e || window.event;\r\n if (e.keyCode === 37) {\r\n counter > 0 ? showCurrent(counter - 1): showCurrent(numSlides - 1); // decrement\r\n } else if (e.keyCode === 39) {\r\n counter < numSlides - 1 ? showCurrent(counter + 1) : showCurrent(0); // increment\r\n }\r\n };\r\n\r\n // pause / play button event listener \r\n ctr.addEventListener('click', () => {\r\n isActive = !isActive;\r\n if (isActive) {\r\n pause.classList.toggle(\"hidden\");\r\n play.classList.toggle(\"hidden\");\r\n initiateSlideshow();\r\n } else {\r\n pause.classList.toggle(\"hidden\");\r\n play.classList.toggle(\"hidden\");\r\n clearInterval(id);\r\n }\r\n })\r\n }\r\n})()"],"names":["CAROUSEL_CLASS","MOBILE_FIG_CAPTION_CLASS","carousel","document","querySelectorAll","isActive","slides","numSlides","length","counter","mobileFigcaption","querySelector","title","body","link","showCurrent","i","forEach","call","e","classList","remove","indicators","add","contains","removeAttribute","setAttribute","setFigcaption","innerText","textContent","trim","innerHTML","href","id","initiateSlideshow","setInterval","indicatorGroup","createElement","appendChild","indicatorGroupElement","ctr","play","pause","slide","indicator","dataset","ariaLabel","append","addEventListener","clearInterval","element","preventDefault","parseInt","currentTarget","slideId","onkeydown","window","event","keyCode","toggle"],"sourceRoot":""}