{"version":3,"sources":["webpack:///./app/components/m/stage-slider/index.js","webpack:///./app/core/js/libs/mp4Loops.js"],"names":["$","each","index","element","videoController","VideoController","initialize","numSlides","querySelectorAll","length","s","Swiper","querySelector","slidesPerView","spaceBetween","watchOverflow","loop","modules","Pagination","Navigation","Autoplay","Lazy","preloadImages","lazy","autoplay","delay","disableOnInteraction","pagination","el","clickable","navigation","nextEl","prevEl","on","init","wrapper","playIcon","pauseIcon","addEventListener","start","style","display","focus","event","key","stop","bullets","forEach","bullet","setAttribute","slideIndex","slideTo","slideChangeTransitionEnd","activeSlide","slides","activeIndex","destroy","handleAccessibilityAttributes","classList","contains","constructor","selector","videoContainers","document","container","video","playButton","pauseButton","setInitialState","handlePlayPause","e","target","play","pause","setEventListeners"],"mappings":"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","file":"stage-slider.chunk.js","sourcesContent":["import { Swiper, Pagination, Navigation, Autoplay, Lazy } from 'swiper';\r\nimport VideoController from '../../../core/js/libs/mp4Loops';\r\n\r\n$('.stage-slider').each((index, element) => {\r\n const videoController = new VideoController('.swiper-slide');\r\n videoController.initialize();\r\n\r\n // get number of slides\r\n const numSlides = element.querySelectorAll('.swiper-slide').length;\r\n\r\n // calculate number of slides so that all slides can be seen on desktop\r\n const s = new Swiper(element.querySelector('.stage-slider__container'), {\r\n slidesPerView: 1,\r\n spaceBetween: 0,\r\n watchOverflow: true,\r\n loop: numSlides > 1,\r\n modules: [Pagination, Navigation, Autoplay, Lazy],\r\n // Disable preloading of all images\r\n preloadImages: false,\r\n // Enable lazy loading\r\n lazy: true,\r\n autoplay: {\r\n delay: 5000,\r\n disableOnInteraction: false,\r\n },\r\n pagination: {\r\n el: element.querySelector('.swiper-pagination'),\r\n clickable: true,\r\n },\r\n navigation: {\r\n nextEl: element.querySelector('.swiper-button-next'),\r\n prevEl: element.querySelector('.swiper-button-prev'),\r\n },\r\n on: {\r\n init: function () {\r\n const pagination = element.querySelector('.swiper-pagination');\r\n const wrapper = element.querySelector('.pagination-wrapper');\r\n\r\n const playIcon = wrapper.querySelector('.play-icon');\r\n const pauseIcon = wrapper.querySelector('.pause-icon');\r\n\r\n // Add event listeners\r\n playIcon.addEventListener('click', () => {\r\n s.autoplay.start();\r\n playIcon.style.display = 'none';\r\n pauseIcon.style.display = 'block';\r\n pauseIcon.focus();\r\n });\r\n\r\n playIcon.addEventListener('keydown', (event) => {\r\n if (event.key === 'Enter' || event.key === ' ') {\r\n s.autoplay.start();\r\n playIcon.style.display = 'none';\r\n pauseIcon.style.display = 'block';\r\n pauseIcon.focus();\r\n }\r\n });\r\n\r\n pauseIcon.addEventListener('click', () => {\r\n s.autoplay.stop();\r\n playIcon.style.display = 'block';\r\n pauseIcon.style.display = 'none';\r\n playIcon.focus();\r\n });\r\n\r\n pauseIcon.addEventListener('keydown', (event) => {\r\n if (event.key === 'Enter' || event.key === ' ') {\r\n s.autoplay.stop();\r\n playIcon.style.display = 'block';\r\n pauseIcon.style.display = 'none';\r\n playIcon.focus();\r\n }\r\n });\r\n\r\n // Initially, show pause icon and hide play icon\r\n if (numSlides > 1) {\r\n pauseIcon.style.display = 'block';\r\n } else {\r\n pauseIcon.style.display = 'none';\r\n }\r\n playIcon.style.display = 'none';\r\n\r\n // add tabindex to swiper-pagination-bullets for keyboard navigation\r\n const bullets = pagination.querySelectorAll('.swiper-pagination-bullet');\r\n bullets.forEach((bullet, index) => {\r\n bullet.setAttribute('tabindex', 0);\r\n bullet.setAttribute('role', 'button');\r\n\r\n const slideIndex = index + 1;\r\n const numSlides = bullets.length;\r\n bullet.setAttribute('aria-label', slideIndex + '/' + numSlides);\r\n\r\n // add event listener for bullets keyboard navigation\r\n bullet.addEventListener('keydown', (event) => {\r\n if (event.key === 'Enter' || event.key === ' ') {\r\n s.slideTo(index + 1);\r\n }\r\n });\r\n });\r\n },\r\n slideChangeTransitionEnd: function () {\r\n const activeSlide = this.slides[this.activeIndex];\r\n },\r\n },\r\n });\r\n\r\n // destroy/disable slider if only one\r\n // slide are available\r\n if (numSlides <= 1) {\r\n s.destroy();\r\n }\r\n\r\n function handleAccessibilityAttributes() {\r\n const bullets = element.querySelectorAll('.swiper-pagination-bullet');\r\n\r\n bullets.forEach((bullet) => {\r\n if (bullet.classList.contains('swiper-pagination-bullet-active')) {\r\n bullet.setAttribute('aria-selected', 'true');\r\n } else {\r\n bullet.setAttribute('aria-selected', 'false');\r\n }\r\n });\r\n }\r\n handleAccessibilityAttributes();\r\n\r\n s.on('slideChange', handleAccessibilityAttributes);\r\n\r\n return s;\r\n});\r\n","class VideoController {\r\n constructor(selector) {\r\n this.videoContainers = document.querySelectorAll(selector);\r\n }\r\n\r\n initialize() {\r\n this.videoContainers.forEach((container) => {\r\n const video = container.querySelector('video');\r\n const playButton = container.querySelector('.play-icon');\r\n const pauseButton = container.querySelector('.pause-icon');\r\n\r\n const setInitialState = () => {\r\n if (playButton) playButton.style.display = 'none';\r\n if (pauseButton) pauseButton.style.display = 'flex';\r\n };\r\n\r\n const handlePlayPause = (e) => {\r\n if (e.target === playButton) {\r\n video.play();\r\n if (playButton) playButton.style.display = 'none';\r\n if (pauseButton) {\r\n pauseButton.style.display = 'flex';\r\n pauseButton.focus();\r\n }\r\n } else {\r\n video.pause();\r\n if (playButton) playButton.style.display = 'flex';\r\n if (pauseButton) {\r\n pauseButton.style.display = 'none';\r\n playButton.focus();\r\n }\r\n }\r\n };\r\n\r\n const setEventListeners = () => {\r\n if (!playButton || !pauseButton) return;\r\n playButton.addEventListener('click', handlePlayPause);\r\n playButton.addEventListener('keydown', (e) => {\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n handlePlayPause(e);\r\n }\r\n });\r\n\r\n pauseButton.addEventListener('click', handlePlayPause);\r\n pauseButton.addEventListener('keydown', (e) => {\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n handlePlayPause(e);\r\n }\r\n });\r\n };\r\n\r\n setEventListeners();\r\n setInitialState();\r\n });\r\n }\r\n}\r\n\r\nexport default VideoController;\r\n"],"sourceRoot":""}