{"version":3,"file":"generic-carousel-b5d7b420.js","sources":["../../../Client/src/modules/core/utilities/vue.ts","../../../Client/src/modules/core/components/carousels/swiper-wrapper.vue","../../../Client/node_modules/swiper/modules/scrollbar/scrollbar.js","../../../Client/node_modules/swiper/modules/a11y/a11y.js","../../../Client/node_modules/swiper/modules/autoplay/autoplay.js","../../../Client/node_modules/swiper/modules/grid/grid.js","../../../Client/node_modules/swiper/shared/effect-init.js","../../../Client/node_modules/swiper/shared/effect-target.js","../../../Client/node_modules/swiper/shared/effect-virtual-transition-end.js","../../../Client/node_modules/swiper/modules/effect-fade/effect-fade.js","../../../Client/src/modules/core/components/carousels/generic-carousel.vue","../../../Client/src/modules/core/components/carousels/generic-carousel.vue"],"sourcesContent":["import { Slot } from \"vue\";\r\n\r\nexport const getSlotChildren = (slot: Slot) => {\r\n\r\n if (!slot) return [];\r\n\r\n\r\n\r\n const vNodes = slot();\r\n\r\n\r\n\r\n\r\n // If the contents of a slot is rendered using v-for, the Vue 3 compiler wraps\r\n\r\n // all generated elements into a Fragment element.\r\n\r\n if (vNodes.length === 1 && typeof vNodes[0].type === 'symbol') {\r\n\r\n return vNodes[0].children;\r\n\r\n }\r\n\r\n return vNodes;\r\n}","","import { getDocument } from 'ssr-window';\nimport { createElement, elementOffset, nextTick } from '../../shared/utils.js';\nimport createElementIfNotDefined from '../../shared/create-element-if-not-defined.js';\nexport default function Scrollbar({\n swiper,\n extendParams,\n on,\n emit\n}) {\n const document = getDocument();\n let isTouched = false;\n let timeout = null;\n let dragTimeout = null;\n let dragStartPos;\n let dragSize;\n let trackSize;\n let divider;\n extendParams({\n scrollbar: {\n el: null,\n dragSize: 'auto',\n hide: false,\n draggable: false,\n snapOnRelease: true,\n lockClass: 'swiper-scrollbar-lock',\n dragClass: 'swiper-scrollbar-drag',\n scrollbarDisabledClass: 'swiper-scrollbar-disabled',\n horizontalClass: `swiper-scrollbar-horizontal`,\n verticalClass: `swiper-scrollbar-vertical`\n }\n });\n swiper.scrollbar = {\n el: null,\n dragEl: null\n };\n function setTranslate() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n const {\n scrollbar,\n rtlTranslate: rtl\n } = swiper;\n const {\n dragEl,\n el\n } = scrollbar;\n const params = swiper.params.scrollbar;\n const progress = swiper.params.loop ? swiper.progressLoop : swiper.progress;\n let newSize = dragSize;\n let newPos = (trackSize - dragSize) * progress;\n if (rtl) {\n newPos = -newPos;\n if (newPos > 0) {\n newSize = dragSize - newPos;\n newPos = 0;\n } else if (-newPos + dragSize > trackSize) {\n newSize = trackSize + newPos;\n }\n } else if (newPos < 0) {\n newSize = dragSize + newPos;\n newPos = 0;\n } else if (newPos + dragSize > trackSize) {\n newSize = trackSize - newPos;\n }\n if (swiper.isHorizontal()) {\n dragEl.style.transform = `translate3d(${newPos}px, 0, 0)`;\n dragEl.style.width = `${newSize}px`;\n } else {\n dragEl.style.transform = `translate3d(0px, ${newPos}px, 0)`;\n dragEl.style.height = `${newSize}px`;\n }\n if (params.hide) {\n clearTimeout(timeout);\n el.style.opacity = 1;\n timeout = setTimeout(() => {\n el.style.opacity = 0;\n el.style.transitionDuration = '400ms';\n }, 1000);\n }\n }\n function setTransition(duration) {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n swiper.scrollbar.dragEl.style.transitionDuration = `${duration}ms`;\n }\n function updateSize() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n const {\n scrollbar\n } = swiper;\n const {\n dragEl,\n el\n } = scrollbar;\n dragEl.style.width = '';\n dragEl.style.height = '';\n trackSize = swiper.isHorizontal() ? el.offsetWidth : el.offsetHeight;\n divider = swiper.size / (swiper.virtualSize + swiper.params.slidesOffsetBefore - (swiper.params.centeredSlides ? swiper.snapGrid[0] : 0));\n if (swiper.params.scrollbar.dragSize === 'auto') {\n dragSize = trackSize * divider;\n } else {\n dragSize = parseInt(swiper.params.scrollbar.dragSize, 10);\n }\n if (swiper.isHorizontal()) {\n dragEl.style.width = `${dragSize}px`;\n } else {\n dragEl.style.height = `${dragSize}px`;\n }\n if (divider >= 1) {\n el.style.display = 'none';\n } else {\n el.style.display = '';\n }\n if (swiper.params.scrollbar.hide) {\n el.style.opacity = 0;\n }\n if (swiper.params.watchOverflow && swiper.enabled) {\n scrollbar.el.classList[swiper.isLocked ? 'add' : 'remove'](swiper.params.scrollbar.lockClass);\n }\n }\n function getPointerPosition(e) {\n return swiper.isHorizontal() ? e.clientX : e.clientY;\n }\n function setDragPosition(e) {\n const {\n scrollbar,\n rtlTranslate: rtl\n } = swiper;\n const {\n el\n } = scrollbar;\n let positionRatio;\n positionRatio = (getPointerPosition(e) - elementOffset(el)[swiper.isHorizontal() ? 'left' : 'top'] - (dragStartPos !== null ? dragStartPos : dragSize / 2)) / (trackSize - dragSize);\n positionRatio = Math.max(Math.min(positionRatio, 1), 0);\n if (rtl) {\n positionRatio = 1 - positionRatio;\n }\n const position = swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio;\n swiper.updateProgress(position);\n swiper.setTranslate(position);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n function onDragStart(e) {\n const params = swiper.params.scrollbar;\n const {\n scrollbar,\n wrapperEl\n } = swiper;\n const {\n el,\n dragEl\n } = scrollbar;\n isTouched = true;\n dragStartPos = e.target === dragEl ? getPointerPosition(e) - e.target.getBoundingClientRect()[swiper.isHorizontal() ? 'left' : 'top'] : null;\n e.preventDefault();\n e.stopPropagation();\n wrapperEl.style.transitionDuration = '100ms';\n dragEl.style.transitionDuration = '100ms';\n setDragPosition(e);\n clearTimeout(dragTimeout);\n el.style.transitionDuration = '0ms';\n if (params.hide) {\n el.style.opacity = 1;\n }\n if (swiper.params.cssMode) {\n swiper.wrapperEl.style['scroll-snap-type'] = 'none';\n }\n emit('scrollbarDragStart', e);\n }\n function onDragMove(e) {\n const {\n scrollbar,\n wrapperEl\n } = swiper;\n const {\n el,\n dragEl\n } = scrollbar;\n if (!isTouched) return;\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n setDragPosition(e);\n wrapperEl.style.transitionDuration = '0ms';\n el.style.transitionDuration = '0ms';\n dragEl.style.transitionDuration = '0ms';\n emit('scrollbarDragMove', e);\n }\n function onDragEnd(e) {\n const params = swiper.params.scrollbar;\n const {\n scrollbar,\n wrapperEl\n } = swiper;\n const {\n el\n } = scrollbar;\n if (!isTouched) return;\n isTouched = false;\n if (swiper.params.cssMode) {\n swiper.wrapperEl.style['scroll-snap-type'] = '';\n wrapperEl.style.transitionDuration = '';\n }\n if (params.hide) {\n clearTimeout(dragTimeout);\n dragTimeout = nextTick(() => {\n el.style.opacity = 0;\n el.style.transitionDuration = '400ms';\n }, 1000);\n }\n emit('scrollbarDragEnd', e);\n if (params.snapOnRelease) {\n swiper.slideToClosest();\n }\n }\n function events(method) {\n const {\n scrollbar,\n params\n } = swiper;\n const el = scrollbar.el;\n if (!el) return;\n const target = el;\n const activeListener = params.passiveListeners ? {\n passive: false,\n capture: false\n } : false;\n const passiveListener = params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n if (!target) return;\n const eventMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';\n target[eventMethod]('pointerdown', onDragStart, activeListener);\n document[eventMethod]('pointermove', onDragMove, activeListener);\n document[eventMethod]('pointerup', onDragEnd, passiveListener);\n }\n function enableDraggable() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n events('on');\n }\n function disableDraggable() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n events('off');\n }\n function init() {\n const {\n scrollbar,\n el: swiperEl\n } = swiper;\n swiper.params.scrollbar = createElementIfNotDefined(swiper, swiper.originalParams.scrollbar, swiper.params.scrollbar, {\n el: 'swiper-scrollbar'\n });\n const params = swiper.params.scrollbar;\n if (!params.el) return;\n let el;\n if (typeof params.el === 'string' && swiper.isElement) {\n el = swiper.el.shadowRoot.querySelector(params.el);\n }\n if (!el && typeof params.el === 'string') {\n el = document.querySelectorAll(params.el);\n } else if (!el) {\n el = params.el;\n }\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && el.length > 1 && swiperEl.querySelectorAll(params.el).length === 1) {\n el = swiperEl.querySelector(params.el);\n }\n if (el.length > 0) el = el[0];\n el.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n let dragEl;\n if (el) {\n dragEl = el.querySelector(`.${swiper.params.scrollbar.dragClass}`);\n if (!dragEl) {\n dragEl = createElement('div', swiper.params.scrollbar.dragClass);\n el.append(dragEl);\n }\n }\n Object.assign(scrollbar, {\n el,\n dragEl\n });\n if (params.draggable) {\n enableDraggable();\n }\n if (el) {\n el.classList[swiper.enabled ? 'remove' : 'add'](swiper.params.scrollbar.lockClass);\n }\n }\n function destroy() {\n const params = swiper.params.scrollbar;\n const el = swiper.scrollbar.el;\n if (el) {\n el.classList.remove(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n }\n disableDraggable();\n }\n on('init', () => {\n if (swiper.params.scrollbar.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n updateSize();\n setTranslate();\n }\n });\n on('update resize observerUpdate lock unlock', () => {\n updateSize();\n });\n on('setTranslate', () => {\n setTranslate();\n });\n on('setTransition', (_s, duration) => {\n setTransition(duration);\n });\n on('enable disable', () => {\n const {\n el\n } = swiper.scrollbar;\n if (el) {\n el.classList[swiper.enabled ? 'remove' : 'add'](swiper.params.scrollbar.lockClass);\n }\n });\n on('destroy', () => {\n destroy();\n });\n const enable = () => {\n swiper.el.classList.remove(swiper.params.scrollbar.scrollbarDisabledClass);\n if (swiper.scrollbar.el) {\n swiper.scrollbar.el.classList.remove(swiper.params.scrollbar.scrollbarDisabledClass);\n }\n init();\n updateSize();\n setTranslate();\n };\n const disable = () => {\n swiper.el.classList.add(swiper.params.scrollbar.scrollbarDisabledClass);\n if (swiper.scrollbar.el) {\n swiper.scrollbar.el.classList.add(swiper.params.scrollbar.scrollbarDisabledClass);\n }\n destroy();\n };\n Object.assign(swiper.scrollbar, {\n enable,\n disable,\n updateSize,\n setTranslate,\n init,\n destroy\n });\n}","import classesToSelector from '../../shared/classes-to-selector.js';\nimport { createElement, elementIndex } from '../../shared/utils.js';\nexport default function A11y({\n swiper,\n extendParams,\n on\n}) {\n extendParams({\n a11y: {\n enabled: true,\n notificationClass: 'swiper-notification',\n prevSlideMessage: 'Previous slide',\n nextSlideMessage: 'Next slide',\n firstSlideMessage: 'This is the first slide',\n lastSlideMessage: 'This is the last slide',\n paginationBulletMessage: 'Go to slide {{index}}',\n slideLabelMessage: '{{index}} / {{slidesLength}}',\n containerMessage: null,\n containerRoleDescriptionMessage: null,\n itemRoleDescriptionMessage: null,\n slideRole: 'group',\n id: null\n }\n });\n swiper.a11y = {\n clicked: false\n };\n let liveRegion = null;\n function notify(message) {\n const notification = liveRegion;\n if (notification.length === 0) return;\n notification.innerHTML = '';\n notification.innerHTML = message;\n }\n const makeElementsArray = el => {\n if (!Array.isArray(el)) el = [el].filter(e => !!e);\n return el;\n };\n function getRandomNumber(size = 16) {\n const randomChar = () => Math.round(16 * Math.random()).toString(16);\n return 'x'.repeat(size).replace(/x/g, randomChar);\n }\n function makeElFocusable(el) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('tabIndex', '0');\n });\n }\n function makeElNotFocusable(el) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('tabIndex', '-1');\n });\n }\n function addElRole(el, role) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('role', role);\n });\n }\n function addElRoleDescription(el, description) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('aria-roledescription', description);\n });\n }\n function addElControls(el, controls) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('aria-controls', controls);\n });\n }\n function addElLabel(el, label) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('aria-label', label);\n });\n }\n function addElId(el, id) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('id', id);\n });\n }\n function addElLive(el, live) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('aria-live', live);\n });\n }\n function disableEl(el) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('aria-disabled', true);\n });\n }\n function enableEl(el) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.setAttribute('aria-disabled', false);\n });\n }\n function onEnterOrSpaceKey(e) {\n if (e.keyCode !== 13 && e.keyCode !== 32) return;\n const params = swiper.params.a11y;\n const targetEl = e.target;\n if (swiper.pagination && swiper.pagination.el && (targetEl === swiper.pagination.el || swiper.pagination.el.contains(e.target))) {\n if (!e.target.matches(classesToSelector(swiper.params.pagination.bulletClass))) return;\n }\n if (swiper.navigation && swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl) {\n if (!(swiper.isEnd && !swiper.params.loop)) {\n swiper.slideNext();\n }\n if (swiper.isEnd) {\n notify(params.lastSlideMessage);\n } else {\n notify(params.nextSlideMessage);\n }\n }\n if (swiper.navigation && swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl) {\n if (!(swiper.isBeginning && !swiper.params.loop)) {\n swiper.slidePrev();\n }\n if (swiper.isBeginning) {\n notify(params.firstSlideMessage);\n } else {\n notify(params.prevSlideMessage);\n }\n }\n if (swiper.pagination && targetEl.matches(classesToSelector(swiper.params.pagination.bulletClass))) {\n targetEl.click();\n }\n }\n function updateNavigation() {\n if (swiper.params.loop || swiper.params.rewind || !swiper.navigation) return;\n const {\n nextEl,\n prevEl\n } = swiper.navigation;\n if (prevEl) {\n if (swiper.isBeginning) {\n disableEl(prevEl);\n makeElNotFocusable(prevEl);\n } else {\n enableEl(prevEl);\n makeElFocusable(prevEl);\n }\n }\n if (nextEl) {\n if (swiper.isEnd) {\n disableEl(nextEl);\n makeElNotFocusable(nextEl);\n } else {\n enableEl(nextEl);\n makeElFocusable(nextEl);\n }\n }\n }\n function hasPagination() {\n return swiper.pagination && swiper.pagination.bullets && swiper.pagination.bullets.length;\n }\n function hasClickablePagination() {\n return hasPagination() && swiper.params.pagination.clickable;\n }\n function updatePagination() {\n const params = swiper.params.a11y;\n if (!hasPagination()) return;\n swiper.pagination.bullets.forEach(bulletEl => {\n if (swiper.params.pagination.clickable) {\n makeElFocusable(bulletEl);\n if (!swiper.params.pagination.renderBullet) {\n addElRole(bulletEl, 'button');\n addElLabel(bulletEl, params.paginationBulletMessage.replace(/\\{\\{index\\}\\}/, elementIndex(bulletEl) + 1));\n }\n }\n if (bulletEl.matches(`.${swiper.params.pagination.bulletActiveClass}`)) {\n bulletEl.setAttribute('aria-current', 'true');\n } else {\n bulletEl.removeAttribute('aria-current');\n }\n });\n }\n const initNavEl = (el, wrapperId, message) => {\n makeElFocusable(el);\n if (el.tagName !== 'BUTTON') {\n addElRole(el, 'button');\n el.addEventListener('keydown', onEnterOrSpaceKey);\n }\n addElLabel(el, message);\n addElControls(el, wrapperId);\n };\n const handlePointerDown = () => {\n swiper.a11y.clicked = true;\n };\n const handlePointerUp = () => {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (!swiper.destroyed) {\n swiper.a11y.clicked = false;\n }\n });\n });\n };\n const handleFocus = e => {\n if (swiper.a11y.clicked) return;\n const slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);\n if (!slideEl || !swiper.slides.includes(slideEl)) return;\n const isActive = swiper.slides.indexOf(slideEl) === swiper.activeIndex;\n const isVisible = swiper.params.watchSlidesProgress && swiper.visibleSlides && swiper.visibleSlides.includes(slideEl);\n if (isActive || isVisible) return;\n if (e.sourceCapabilities && e.sourceCapabilities.firesTouchEvents) return;\n if (swiper.isHorizontal()) {\n swiper.el.scrollLeft = 0;\n } else {\n swiper.el.scrollTop = 0;\n }\n swiper.slideTo(swiper.slides.indexOf(slideEl), 0);\n };\n const initSlides = () => {\n const params = swiper.params.a11y;\n if (params.itemRoleDescriptionMessage) {\n addElRoleDescription(swiper.slides, params.itemRoleDescriptionMessage);\n }\n if (params.slideRole) {\n addElRole(swiper.slides, params.slideRole);\n }\n const slidesLength = swiper.slides.length;\n if (params.slideLabelMessage) {\n swiper.slides.forEach((slideEl, index) => {\n const slideIndex = swiper.params.loop ? parseInt(slideEl.getAttribute('data-swiper-slide-index'), 10) : index;\n const ariaLabelMessage = params.slideLabelMessage.replace(/\\{\\{index\\}\\}/, slideIndex + 1).replace(/\\{\\{slidesLength\\}\\}/, slidesLength);\n addElLabel(slideEl, ariaLabelMessage);\n });\n }\n };\n const init = () => {\n const params = swiper.params.a11y;\n swiper.el.append(liveRegion);\n\n // Container\n const containerEl = swiper.el;\n if (params.containerRoleDescriptionMessage) {\n addElRoleDescription(containerEl, params.containerRoleDescriptionMessage);\n }\n if (params.containerMessage) {\n addElLabel(containerEl, params.containerMessage);\n }\n\n // Wrapper\n const wrapperEl = swiper.wrapperEl;\n const wrapperId = params.id || wrapperEl.getAttribute('id') || `swiper-wrapper-${getRandomNumber(16)}`;\n const live = swiper.params.autoplay && swiper.params.autoplay.enabled ? 'off' : 'polite';\n addElId(wrapperEl, wrapperId);\n addElLive(wrapperEl, live);\n\n // Slide\n initSlides();\n\n // Navigation\n let {\n nextEl,\n prevEl\n } = swiper.navigation ? swiper.navigation : {};\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n if (nextEl) {\n nextEl.forEach(el => initNavEl(el, wrapperId, params.nextSlideMessage));\n }\n if (prevEl) {\n prevEl.forEach(el => initNavEl(el, wrapperId, params.prevSlideMessage));\n }\n\n // Pagination\n if (hasClickablePagination()) {\n const paginationEl = Array.isArray(swiper.pagination.el) ? swiper.pagination.el : [swiper.pagination.el];\n paginationEl.forEach(el => {\n el.addEventListener('keydown', onEnterOrSpaceKey);\n });\n }\n\n // Tab focus\n swiper.el.addEventListener('focus', handleFocus, true);\n swiper.el.addEventListener('pointerdown', handlePointerDown, true);\n swiper.el.addEventListener('pointerup', handlePointerUp, true);\n };\n function destroy() {\n if (liveRegion && liveRegion.length > 0) liveRegion.remove();\n let {\n nextEl,\n prevEl\n } = swiper.navigation ? swiper.navigation : {};\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n if (nextEl) {\n nextEl.forEach(el => el.removeEventListener('keydown', onEnterOrSpaceKey));\n }\n if (prevEl) {\n prevEl.forEach(el => el.removeEventListener('keydown', onEnterOrSpaceKey));\n }\n\n // Pagination\n if (hasClickablePagination()) {\n const paginationEl = Array.isArray(swiper.pagination.el) ? swiper.pagination.el : [swiper.pagination.el];\n paginationEl.forEach(el => {\n el.removeEventListener('keydown', onEnterOrSpaceKey);\n });\n }\n\n // Tab focus\n swiper.el.removeEventListener('focus', handleFocus, true);\n swiper.el.removeEventListener('pointerdown', handlePointerDown, true);\n swiper.el.removeEventListener('pointerup', handlePointerUp, true);\n }\n on('beforeInit', () => {\n liveRegion = createElement('span', swiper.params.a11y.notificationClass);\n liveRegion.setAttribute('aria-live', 'assertive');\n liveRegion.setAttribute('aria-atomic', 'true');\n if (swiper.isElement) {\n liveRegion.setAttribute('slot', 'container-end');\n }\n });\n on('afterInit', () => {\n if (!swiper.params.a11y.enabled) return;\n init();\n });\n on('slidesLengthChange snapGridLengthChange slidesGridLengthChange', () => {\n if (!swiper.params.a11y.enabled) return;\n initSlides();\n });\n on('fromEdge toEdge afterInit lock unlock', () => {\n if (!swiper.params.a11y.enabled) return;\n updateNavigation();\n });\n on('paginationUpdate', () => {\n if (!swiper.params.a11y.enabled) return;\n updatePagination();\n });\n on('destroy', () => {\n if (!swiper.params.a11y.enabled) return;\n destroy();\n });\n}","/* eslint no-underscore-dangle: \"off\" */\n/* eslint no-use-before-define: \"off\" */\nimport { getDocument } from 'ssr-window';\nexport default function Autoplay({\n swiper,\n extendParams,\n on,\n emit,\n params\n}) {\n swiper.autoplay = {\n running: false,\n paused: false,\n timeLeft: 0\n };\n extendParams({\n autoplay: {\n enabled: false,\n delay: 3000,\n waitForTransition: true,\n disableOnInteraction: true,\n stopOnLastSlide: false,\n reverseDirection: false,\n pauseOnMouseEnter: false\n }\n });\n let timeout;\n let raf;\n let autoplayDelayTotal = params && params.autoplay ? params.autoplay.delay : 3000;\n let autoplayDelayCurrent = params && params.autoplay ? params.autoplay.delay : 3000;\n let autoplayTimeLeft;\n let autoplayStartTime = new Date().getTime;\n let wasPaused;\n let isTouched;\n let pausedByTouch;\n let touchStartTimeout;\n let slideChanged;\n let pausedByInteraction;\n function onTransitionEnd(e) {\n if (!swiper || swiper.destroyed || !swiper.wrapperEl) return;\n if (e.target !== swiper.wrapperEl) return;\n swiper.wrapperEl.removeEventListener('transitionend', onTransitionEnd);\n resume();\n }\n const calcTimeLeft = () => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n if (swiper.autoplay.paused) {\n wasPaused = true;\n } else if (wasPaused) {\n autoplayDelayCurrent = autoplayTimeLeft;\n wasPaused = false;\n }\n const timeLeft = swiper.autoplay.paused ? autoplayTimeLeft : autoplayStartTime + autoplayDelayCurrent - new Date().getTime();\n swiper.autoplay.timeLeft = timeLeft;\n emit('autoplayTimeLeft', timeLeft, timeLeft / autoplayDelayTotal);\n raf = requestAnimationFrame(() => {\n calcTimeLeft();\n });\n };\n const getSlideDelay = () => {\n let activeSlideEl;\n if (swiper.virtual && swiper.params.virtual.enabled) {\n activeSlideEl = swiper.slides.filter(slideEl => slideEl.classList.contains('swiper-slide-active'))[0];\n } else {\n activeSlideEl = swiper.slides[swiper.activeIndex];\n }\n if (!activeSlideEl) return undefined;\n const currentSlideDelay = parseInt(activeSlideEl.getAttribute('data-swiper-autoplay'), 10);\n return currentSlideDelay;\n };\n const run = delayForce => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n cancelAnimationFrame(raf);\n calcTimeLeft();\n let delay = typeof delayForce === 'undefined' ? swiper.params.autoplay.delay : delayForce;\n autoplayDelayTotal = swiper.params.autoplay.delay;\n autoplayDelayCurrent = swiper.params.autoplay.delay;\n const currentSlideDelay = getSlideDelay();\n if (!Number.isNaN(currentSlideDelay) && currentSlideDelay > 0 && typeof delayForce === 'undefined') {\n delay = currentSlideDelay;\n autoplayDelayTotal = currentSlideDelay;\n autoplayDelayCurrent = currentSlideDelay;\n }\n autoplayTimeLeft = delay;\n const speed = swiper.params.speed;\n const proceed = () => {\n if (!swiper || swiper.destroyed) return;\n if (swiper.params.autoplay.reverseDirection) {\n if (!swiper.isBeginning || swiper.params.loop || swiper.params.rewind) {\n swiper.slidePrev(speed, true, true);\n emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n swiper.slideTo(swiper.slides.length - 1, speed, true, true);\n emit('autoplay');\n }\n } else {\n if (!swiper.isEnd || swiper.params.loop || swiper.params.rewind) {\n swiper.slideNext(speed, true, true);\n emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n swiper.slideTo(0, speed, true, true);\n emit('autoplay');\n }\n }\n if (swiper.params.cssMode) {\n autoplayStartTime = new Date().getTime();\n requestAnimationFrame(() => {\n run();\n });\n }\n };\n if (delay > 0) {\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n proceed();\n }, delay);\n } else {\n requestAnimationFrame(() => {\n proceed();\n });\n }\n\n // eslint-disable-next-line\n return delay;\n };\n const start = () => {\n swiper.autoplay.running = true;\n run();\n emit('autoplayStart');\n };\n const stop = () => {\n swiper.autoplay.running = false;\n clearTimeout(timeout);\n cancelAnimationFrame(raf);\n emit('autoplayStop');\n };\n const pause = (internal, reset) => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n clearTimeout(timeout);\n if (!internal) {\n pausedByInteraction = true;\n }\n const proceed = () => {\n emit('autoplayPause');\n if (swiper.params.autoplay.waitForTransition) {\n swiper.wrapperEl.addEventListener('transitionend', onTransitionEnd);\n } else {\n resume();\n }\n };\n swiper.autoplay.paused = true;\n if (reset) {\n if (slideChanged) {\n autoplayTimeLeft = swiper.params.autoplay.delay;\n }\n slideChanged = false;\n proceed();\n return;\n }\n const delay = autoplayTimeLeft || swiper.params.autoplay.delay;\n autoplayTimeLeft = delay - (new Date().getTime() - autoplayStartTime);\n if (swiper.isEnd && autoplayTimeLeft < 0 && !swiper.params.loop) return;\n if (autoplayTimeLeft < 0) autoplayTimeLeft = 0;\n proceed();\n };\n const resume = () => {\n if (swiper.isEnd && autoplayTimeLeft < 0 && !swiper.params.loop || swiper.destroyed || !swiper.autoplay.running) return;\n autoplayStartTime = new Date().getTime();\n if (pausedByInteraction) {\n pausedByInteraction = false;\n run(autoplayTimeLeft);\n } else {\n run();\n }\n swiper.autoplay.paused = false;\n emit('autoplayResume');\n };\n const onVisibilityChange = () => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n const document = getDocument();\n if (document.visibilityState === 'hidden') {\n pausedByInteraction = true;\n pause(true);\n }\n if (document.visibilityState === 'visible') {\n resume();\n }\n };\n const onPointerEnter = e => {\n if (e.pointerType !== 'mouse') return;\n pausedByInteraction = true;\n pause(true);\n };\n const onPointerLeave = e => {\n if (e.pointerType !== 'mouse') return;\n if (swiper.autoplay.paused) {\n resume();\n }\n };\n const attachMouseEvents = () => {\n if (swiper.params.autoplay.pauseOnMouseEnter) {\n swiper.el.addEventListener('pointerenter', onPointerEnter);\n swiper.el.addEventListener('pointerleave', onPointerLeave);\n }\n };\n const detachMouseEvents = () => {\n swiper.el.removeEventListener('pointerenter', onPointerEnter);\n swiper.el.removeEventListener('pointerleave', onPointerLeave);\n };\n const attachDocumentEvents = () => {\n const document = getDocument();\n document.addEventListener('visibilitychange', onVisibilityChange);\n };\n const detachDocumentEvents = () => {\n const document = getDocument();\n document.removeEventListener('visibilitychange', onVisibilityChange);\n };\n on('init', () => {\n if (swiper.params.autoplay.enabled) {\n attachMouseEvents();\n attachDocumentEvents();\n autoplayStartTime = new Date().getTime();\n start();\n }\n });\n on('destroy', () => {\n detachMouseEvents();\n detachDocumentEvents();\n if (swiper.autoplay.running) {\n stop();\n }\n });\n on('beforeTransitionStart', (_s, speed, internal) => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n if (internal || !swiper.params.autoplay.disableOnInteraction) {\n pause(true, true);\n } else {\n stop();\n }\n });\n on('sliderFirstMove', () => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n if (swiper.params.autoplay.disableOnInteraction) {\n stop();\n return;\n }\n isTouched = true;\n pausedByTouch = false;\n pausedByInteraction = false;\n touchStartTimeout = setTimeout(() => {\n pausedByInteraction = true;\n pausedByTouch = true;\n pause(true);\n }, 200);\n });\n on('touchEnd', () => {\n if (swiper.destroyed || !swiper.autoplay.running || !isTouched) return;\n clearTimeout(touchStartTimeout);\n clearTimeout(timeout);\n if (swiper.params.autoplay.disableOnInteraction) {\n pausedByTouch = false;\n isTouched = false;\n return;\n }\n if (pausedByTouch && swiper.params.cssMode) resume();\n pausedByTouch = false;\n isTouched = false;\n });\n on('slideChange', () => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n slideChanged = true;\n });\n Object.assign(swiper.autoplay, {\n start,\n stop,\n pause,\n resume\n });\n}","export default function Grid({\n swiper,\n extendParams\n}) {\n extendParams({\n grid: {\n rows: 1,\n fill: 'column'\n }\n });\n let slidesNumberEvenToRows;\n let slidesPerRow;\n let numFullColumns;\n const initSlides = slidesLength => {\n const {\n slidesPerView\n } = swiper.params;\n const {\n rows,\n fill\n } = swiper.params.grid;\n slidesPerRow = slidesNumberEvenToRows / rows;\n numFullColumns = Math.floor(slidesLength / rows);\n if (Math.floor(slidesLength / rows) === slidesLength / rows) {\n slidesNumberEvenToRows = slidesLength;\n } else {\n slidesNumberEvenToRows = Math.ceil(slidesLength / rows) * rows;\n }\n if (slidesPerView !== 'auto' && fill === 'row') {\n slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, slidesPerView * rows);\n }\n };\n const updateSlide = (i, slide, slidesLength, getDirectionLabel) => {\n const {\n slidesPerGroup,\n spaceBetween\n } = swiper.params;\n const {\n rows,\n fill\n } = swiper.params.grid;\n // Set slides order\n let newSlideOrderIndex;\n let column;\n let row;\n if (fill === 'row' && slidesPerGroup > 1) {\n const groupIndex = Math.floor(i / (slidesPerGroup * rows));\n const slideIndexInGroup = i - rows * slidesPerGroup * groupIndex;\n const columnsInGroup = groupIndex === 0 ? slidesPerGroup : Math.min(Math.ceil((slidesLength - groupIndex * rows * slidesPerGroup) / rows), slidesPerGroup);\n row = Math.floor(slideIndexInGroup / columnsInGroup);\n column = slideIndexInGroup - row * columnsInGroup + groupIndex * slidesPerGroup;\n newSlideOrderIndex = column + row * slidesNumberEvenToRows / rows;\n slide.style.order = newSlideOrderIndex;\n } else if (fill === 'column') {\n column = Math.floor(i / rows);\n row = i - column * rows;\n if (column > numFullColumns || column === numFullColumns && row === rows - 1) {\n row += 1;\n if (row >= rows) {\n row = 0;\n column += 1;\n }\n }\n } else {\n row = Math.floor(i / slidesPerRow);\n column = i - row * slidesPerRow;\n }\n slide.style[getDirectionLabel('margin-top')] = row !== 0 ? spaceBetween && `${spaceBetween}px` : '';\n };\n const updateWrapperSize = (slideSize, snapGrid, getDirectionLabel) => {\n const {\n spaceBetween,\n centeredSlides,\n roundLengths\n } = swiper.params;\n const {\n rows\n } = swiper.params.grid;\n swiper.virtualSize = (slideSize + spaceBetween) * slidesNumberEvenToRows;\n swiper.virtualSize = Math.ceil(swiper.virtualSize / rows) - spaceBetween;\n swiper.wrapperEl.style[getDirectionLabel('width')] = `${swiper.virtualSize + spaceBetween}px`;\n if (centeredSlides) {\n const newSlidesGrid = [];\n for (let i = 0; i < snapGrid.length; i += 1) {\n let slidesGridItem = snapGrid[i];\n if (roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n if (snapGrid[i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem);\n }\n snapGrid.splice(0, snapGrid.length);\n snapGrid.push(...newSlidesGrid);\n }\n };\n swiper.grid = {\n initSlides,\n updateSlide,\n updateWrapperSize\n };\n}","export default function effectInit(params) {\n const {\n effect,\n swiper,\n on,\n setTranslate,\n setTransition,\n overwriteParams,\n perspective,\n recreateShadows,\n getEffectParams\n } = params;\n on('beforeInit', () => {\n if (swiper.params.effect !== effect) return;\n swiper.classNames.push(`${swiper.params.containerModifierClass}${effect}`);\n if (perspective && perspective()) {\n swiper.classNames.push(`${swiper.params.containerModifierClass}3d`);\n }\n const overwriteParamsResult = overwriteParams ? overwriteParams() : {};\n Object.assign(swiper.params, overwriteParamsResult);\n Object.assign(swiper.originalParams, overwriteParamsResult);\n });\n on('setTranslate', () => {\n if (swiper.params.effect !== effect) return;\n setTranslate();\n });\n on('setTransition', (_s, duration) => {\n if (swiper.params.effect !== effect) return;\n setTransition(duration);\n });\n on('transitionEnd', () => {\n if (swiper.params.effect !== effect) return;\n if (recreateShadows) {\n if (!getEffectParams || !getEffectParams().slideShadows) return;\n // remove shadows\n swiper.slides.forEach(slideEl => {\n slideEl.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl => shadowEl.remove());\n });\n // create new one\n recreateShadows();\n }\n });\n let requireUpdateOnVirtual;\n on('virtualUpdate', () => {\n if (swiper.params.effect !== effect) return;\n if (!swiper.slides.length) {\n requireUpdateOnVirtual = true;\n }\n requestAnimationFrame(() => {\n if (requireUpdateOnVirtual && swiper.slides && swiper.slides.length) {\n setTranslate();\n requireUpdateOnVirtual = false;\n }\n });\n });\n}","import { getSlideTransformEl } from './utils.js';\nexport default function effectTarget(effectParams, slideEl) {\n const transformEl = getSlideTransformEl(slideEl);\n if (transformEl !== slideEl) {\n transformEl.style.backfaceVisibility = 'hidden';\n transformEl.style['-webkit-backface-visibility'] = 'hidden';\n }\n return transformEl;\n}","import { elementIndex, elementTransitionEnd } from './utils.js';\nexport default function effectVirtualTransitionEnd({\n swiper,\n duration,\n transformElements,\n allSlides\n}) {\n const {\n activeIndex\n } = swiper;\n const getSlide = el => {\n if (!el.parentElement) {\n // assume shadow root\n const slide = swiper.slides.filter(slideEl => slideEl.shadowEl && slideEl.shadowEl === el.parentNode)[0];\n return slide;\n }\n return el.parentElement;\n };\n if (swiper.params.virtualTranslate && duration !== 0) {\n let eventTriggered = false;\n let transitionEndTarget;\n if (allSlides) {\n transitionEndTarget = transformElements;\n } else {\n transitionEndTarget = transformElements.filter(transformEl => {\n const el = transformEl.classList.contains('swiper-slide-transform') ? getSlide(transformEl) : transformEl;\n return elementIndex(el) === activeIndex;\n });\n }\n transitionEndTarget.forEach(el => {\n elementTransitionEnd(el, () => {\n if (eventTriggered) return;\n if (!swiper || swiper.destroyed) return;\n eventTriggered = true;\n swiper.animating = false;\n const evt = new window.CustomEvent('transitionend', {\n bubbles: true,\n cancelable: true\n });\n swiper.wrapperEl.dispatchEvent(evt);\n });\n });\n }\n}","import effectInit from '../../shared/effect-init.js';\nimport effectTarget from '../../shared/effect-target.js';\nimport effectVirtualTransitionEnd from '../../shared/effect-virtual-transition-end.js';\nimport { getSlideTransformEl } from '../../shared/utils.js';\nexport default function EffectFade({\n swiper,\n extendParams,\n on\n}) {\n extendParams({\n fadeEffect: {\n crossFade: false\n }\n });\n const setTranslate = () => {\n const {\n slides\n } = swiper;\n const params = swiper.params.fadeEffect;\n for (let i = 0; i < slides.length; i += 1) {\n const slideEl = swiper.slides[i];\n const offset = slideEl.swiperSlideOffset;\n let tx = -offset;\n if (!swiper.params.virtualTranslate) tx -= swiper.translate;\n let ty = 0;\n if (!swiper.isHorizontal()) {\n ty = tx;\n tx = 0;\n }\n const slideOpacity = swiper.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(slideEl.progress), 0) : 1 + Math.min(Math.max(slideEl.progress, -1), 0);\n const targetEl = effectTarget(params, slideEl);\n targetEl.style.opacity = slideOpacity;\n targetEl.style.transform = `translate3d(${tx}px, ${ty}px, 0px)`;\n }\n };\n const setTransition = duration => {\n const transformElements = swiper.slides.map(slideEl => getSlideTransformEl(slideEl));\n transformElements.forEach(el => {\n el.style.transitionDuration = `${duration}ms`;\n });\n effectVirtualTransitionEnd({\n swiper,\n duration,\n transformElements,\n allSlides: true\n });\n };\n effectInit({\n effect: 'fade',\n swiper,\n on,\n setTranslate,\n setTransition,\n overwriteParams: () => ({\n slidesPerView: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n spaceBetween: 0,\n virtualTranslate: !swiper.params.cssMode\n })\n });\n}","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n"],"names":["getSlotChildren","slot","vNodes","_sfc_main$1","defineComponent","newChildren","h","Scrollbar","swiper","extendParams","on","emit","document","getDocument","isTouched","timeout","dragTimeout","dragStartPos","dragSize","trackSize","divider","setTranslate","scrollbar","rtl","dragEl","el","params","progress","newSize","newPos","setTransition","duration","updateSize","getPointerPosition","e","setDragPosition","positionRatio","elementOffset","position","onDragStart","wrapperEl","onDragMove","onDragEnd","nextTick","events","method","target","activeListener","passiveListener","eventMethod","enableDraggable","disableDraggable","init","swiperEl","createElementIfNotDefined","createElement","destroy","disable","_s","enable","A11y","liveRegion","notify","message","notification","makeElementsArray","getRandomNumber","size","randomChar","makeElFocusable","subEl","makeElNotFocusable","addElRole","role","addElRoleDescription","description","addElControls","controls","addElLabel","label","addElId","id","addElLive","live","disableEl","enableEl","onEnterOrSpaceKey","targetEl","classesToSelector","updateNavigation","nextEl","prevEl","hasPagination","hasClickablePagination","updatePagination","bulletEl","elementIndex","initNavEl","wrapperId","handlePointerDown","handlePointerUp","handleFocus","slideEl","isActive","isVisible","initSlides","slidesLength","index","slideIndex","ariaLabelMessage","containerEl","Autoplay","raf","autoplayDelayTotal","autoplayDelayCurrent","autoplayTimeLeft","autoplayStartTime","wasPaused","pausedByTouch","touchStartTimeout","slideChanged","pausedByInteraction","onTransitionEnd","resume","calcTimeLeft","timeLeft","getSlideDelay","activeSlideEl","run","delayForce","delay","currentSlideDelay","speed","proceed","start","stop","pause","internal","reset","onVisibilityChange","onPointerEnter","onPointerLeave","attachMouseEvents","detachMouseEvents","attachDocumentEvents","detachDocumentEvents","Grid","slidesNumberEvenToRows","slidesPerRow","numFullColumns","slidesPerView","rows","fill","updateSlide","i","slide","getDirectionLabel","slidesPerGroup","spaceBetween","newSlideOrderIndex","column","row","groupIndex","slideIndexInGroup","columnsInGroup","updateWrapperSize","slideSize","snapGrid","centeredSlides","roundLengths","newSlidesGrid","slidesGridItem","effectInit","effect","overwriteParams","perspective","recreateShadows","getEffectParams","overwriteParamsResult","shadowEl","requireUpdateOnVirtual","effectTarget","effectParams","transformEl","getSlideTransformEl","effectVirtualTransitionEnd","transformElements","allSlides","activeIndex","getSlide","eventTriggered","transitionEndTarget","elementTransitionEnd","evt","EffectFade","slides","tx","ty","slideOpacity","_sfc_main","SwiperWrapper","Icon","props","btnPrev","ref","btnNext","bullets","swiperContainer","isVisibleOnce","onMounted","config","modules","Navigation","Pagination","Swiper","useIntersectionObserver","isIntersecting","onBeforeUnmount","_hoisted_1","_hoisted_2","_resolveComponent","_normalizeClass","_ctx","_component_SwiperWrapper","_withCtx","_createElementVNode","_createElementBlock","_createCommentVNode","_openBlock"],"mappings":"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","x_google_ignoreList":[2,3,4,5,6,7,8,9]}