{"version":3,"file":"chunk-joeqem93.js","sources":["node_modules/swiper/shared/ssr-window.esm.mjs","node_modules/swiper/shared/utils.mjs","node_modules/swiper/shared/create-element-if-not-defined.mjs","node_modules/swiper/modules/navigation.mjs","node_modules/swiper/shared/classes-to-selector.mjs","node_modules/swiper/modules/pagination.mjs","node_modules/swiper/modules/autoplay.mjs","node_modules/swiper/shared/create-shadow.mjs","node_modules/swiper/shared/effect-init.mjs","node_modules/swiper/shared/effect-target.mjs","node_modules/swiper/modules/effect-coverflow.mjs","node_modules/swiper/shared/swiper-core.mjs","packages/vanilla/lib/shared/swiper/src/swiper.html","packages/vanilla/lib/shared/swiper/src/swiper.component.ts"],"sourcesContent":["/**\n * SSR Window 4.0.2\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2021, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: December 13, 2021\n */\n/* eslint-disable no-param-reassign */\nfunction isObject(obj) {\n return obj !== null && typeof obj === 'object' && 'constructor' in obj && obj.constructor === Object;\n}\nfunction extend(target, src) {\n if (target === void 0) {\n target = {};\n }\n if (src === void 0) {\n src = {};\n }\n Object.keys(src).forEach(key => {\n if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) {\n extend(target[key], src[key]);\n }\n });\n}\nconst ssrDocument = {\n body: {},\n addEventListener() {},\n removeEventListener() {},\n activeElement: {\n blur() {},\n nodeName: ''\n },\n querySelector() {\n return null;\n },\n querySelectorAll() {\n return [];\n },\n getElementById() {\n return null;\n },\n createEvent() {\n return {\n initEvent() {}\n };\n },\n createElement() {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute() {},\n getElementsByTagName() {\n return [];\n }\n };\n },\n createElementNS() {\n return {};\n },\n importNode() {\n return null;\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: ''\n }\n};\nfunction getDocument() {\n const doc = typeof document !== 'undefined' ? document : {};\n extend(doc, ssrDocument);\n return doc;\n}\nconst ssrWindow = {\n document: ssrDocument,\n navigator: {\n userAgent: ''\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: ''\n },\n history: {\n replaceState() {},\n pushState() {},\n go() {},\n back() {}\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener() {},\n removeEventListener() {},\n getComputedStyle() {\n return {\n getPropertyValue() {\n return '';\n }\n };\n },\n Image() {},\n Date() {},\n screen: {},\n setTimeout() {},\n clearTimeout() {},\n matchMedia() {\n return {};\n },\n requestAnimationFrame(callback) {\n if (typeof setTimeout === 'undefined') {\n callback();\n return null;\n }\n return setTimeout(callback, 0);\n },\n cancelAnimationFrame(id) {\n if (typeof setTimeout === 'undefined') {\n return;\n }\n clearTimeout(id);\n }\n};\nfunction getWindow() {\n const win = typeof window !== 'undefined' ? window : {};\n extend(win, ssrWindow);\n return win;\n}\nexport { getWindow as a, getDocument as g };","import { a as getWindow, g as getDocument } from './ssr-window.esm.mjs';\nfunction classesToTokens(classes) {\n if (classes === void 0) {\n classes = '';\n }\n return classes.trim().split(' ').filter(c => !!c.trim());\n}\nfunction deleteProps(obj) {\n const object = obj;\n Object.keys(object).forEach(key => {\n try {\n object[key] = null;\n } catch (e) {\n // no getter for object\n }\n try {\n delete object[key];\n } catch (e) {\n // something got wrong\n }\n });\n}\nfunction nextTick(callback, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n return setTimeout(callback, delay);\n}\nfunction now() {\n return Date.now();\n}\nfunction getComputedStyle(el) {\n const window = getWindow();\n let style;\n if (window.getComputedStyle) {\n style = window.getComputedStyle(el, null);\n }\n if (!style && el.currentStyle) {\n style = el.currentStyle;\n }\n if (!style) {\n style = el.style;\n }\n return style;\n}\nfunction getTranslate(el, axis) {\n if (axis === void 0) {\n axis = 'x';\n }\n const window = getWindow();\n let matrix;\n let curTransform;\n let transformMatrix;\n const curStyle = getComputedStyle(el);\n if (window.WebKitCSSMatrix) {\n curTransform = curStyle.transform || curStyle.webkitTransform;\n if (curTransform.split(',').length > 6) {\n curTransform = curTransform.split(', ').map(a => a.replace(',', '.')).join(', ');\n }\n // Some old versions of Webkit choke when 'none' is passed; pass\n // empty string instead in this case\n transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\n } else {\n transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n matrix = transformMatrix.toString().split(',');\n }\n if (axis === 'x') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41;\n // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[12]);\n // Normal Browsers\n else curTransform = parseFloat(matrix[4]);\n }\n if (axis === 'y') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42;\n // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[13]);\n // Normal Browsers\n else curTransform = parseFloat(matrix[5]);\n }\n return curTransform || 0;\n}\nfunction isObject(o) {\n return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';\n}\nfunction isNode(node) {\n // eslint-disable-next-line\n if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') {\n return node instanceof HTMLElement;\n }\n return node && (node.nodeType === 1 || node.nodeType === 11);\n}\nfunction extend() {\n const to = Object(arguments.length <= 0 ? undefined : arguments[0]);\n const noExtend = ['__proto__', 'constructor', 'prototype'];\n for (let i = 1; i < arguments.length; i += 1) {\n const nextSource = i < 0 || arguments.length <= i ? undefined : arguments[i];\n if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) {\n const keysArray = Object.keys(Object(nextSource)).filter(key => noExtend.indexOf(key) < 0);\n for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\n const nextKey = keysArray[nextIndex];\n const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n if (desc !== undefined && desc.enumerable) {\n if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n to[nextKey] = {};\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n }\n return to;\n}\nfunction setCSSProperty(el, varName, varValue) {\n el.style.setProperty(varName, varValue);\n}\nfunction animateCSSModeScroll(_ref) {\n let {\n swiper,\n targetPosition,\n side\n } = _ref;\n const window = getWindow();\n const startPosition = -swiper.translate;\n let startTime = null;\n let time;\n const duration = swiper.params.speed;\n swiper.wrapperEl.style.scrollSnapType = 'none';\n window.cancelAnimationFrame(swiper.cssModeFrameID);\n const dir = targetPosition > startPosition ? 'next' : 'prev';\n const isOutOfBound = (current, target) => {\n return dir === 'next' && current >= target || dir === 'prev' && current <= target;\n };\n const animate = () => {\n time = new Date().getTime();\n if (startTime === null) {\n startTime = time;\n }\n const progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n const easeProgress = 0.5 - Math.cos(progress * Math.PI) / 2;\n let currentPosition = startPosition + easeProgress * (targetPosition - startPosition);\n if (isOutOfBound(currentPosition, targetPosition)) {\n currentPosition = targetPosition;\n }\n swiper.wrapperEl.scrollTo({\n [side]: currentPosition\n });\n if (isOutOfBound(currentPosition, targetPosition)) {\n swiper.wrapperEl.style.overflow = 'hidden';\n swiper.wrapperEl.style.scrollSnapType = '';\n setTimeout(() => {\n swiper.wrapperEl.style.overflow = '';\n swiper.wrapperEl.scrollTo({\n [side]: currentPosition\n });\n });\n window.cancelAnimationFrame(swiper.cssModeFrameID);\n return;\n }\n swiper.cssModeFrameID = window.requestAnimationFrame(animate);\n };\n animate();\n}\nfunction getSlideTransformEl(slideEl) {\n return slideEl.querySelector('.swiper-slide-transform') || slideEl.shadowRoot && slideEl.shadowRoot.querySelector('.swiper-slide-transform') || slideEl;\n}\nfunction elementChildren(element, selector) {\n if (selector === void 0) {\n selector = '';\n }\n const children = [...element.children];\n if (element instanceof HTMLSlotElement) {\n children.push(...element.assignedElements());\n }\n if (!selector) {\n return children;\n }\n return children.filter(el => el.matches(selector));\n}\nfunction elementIsChildOf(el, parent) {\n const isChild = parent.contains(el);\n if (!isChild && parent instanceof HTMLSlotElement) {\n const children = [...parent.assignedElements()];\n return children.includes(el);\n }\n return isChild;\n}\nfunction showWarning(text) {\n try {\n console.warn(text);\n return;\n } catch (err) {\n // err\n }\n}\nfunction createElement(tag, classes) {\n if (classes === void 0) {\n classes = [];\n }\n const el = document.createElement(tag);\n el.classList.add(...(Array.isArray(classes) ? classes : classesToTokens(classes)));\n return el;\n}\nfunction elementOffset(el) {\n const window = getWindow();\n const document = getDocument();\n const box = el.getBoundingClientRect();\n const body = document.body;\n const clientTop = el.clientTop || body.clientTop || 0;\n const clientLeft = el.clientLeft || body.clientLeft || 0;\n const scrollTop = el === window ? window.scrollY : el.scrollTop;\n const scrollLeft = el === window ? window.scrollX : el.scrollLeft;\n return {\n top: box.top + scrollTop - clientTop,\n left: box.left + scrollLeft - clientLeft\n };\n}\nfunction elementPrevAll(el, selector) {\n const prevEls = [];\n while (el.previousElementSibling) {\n const prev = el.previousElementSibling; // eslint-disable-line\n if (selector) {\n if (prev.matches(selector)) prevEls.push(prev);\n } else prevEls.push(prev);\n el = prev;\n }\n return prevEls;\n}\nfunction elementNextAll(el, selector) {\n const nextEls = [];\n while (el.nextElementSibling) {\n const next = el.nextElementSibling; // eslint-disable-line\n if (selector) {\n if (next.matches(selector)) nextEls.push(next);\n } else nextEls.push(next);\n el = next;\n }\n return nextEls;\n}\nfunction elementStyle(el, prop) {\n const window = getWindow();\n return window.getComputedStyle(el, null).getPropertyValue(prop);\n}\nfunction elementIndex(el) {\n let child = el;\n let i;\n if (child) {\n i = 0;\n // eslint-disable-next-line\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) i += 1;\n }\n return i;\n }\n return undefined;\n}\nfunction elementParents(el, selector) {\n const parents = []; // eslint-disable-line\n let parent = el.parentElement; // eslint-disable-line\n while (parent) {\n if (selector) {\n if (parent.matches(selector)) parents.push(parent);\n } else {\n parents.push(parent);\n }\n parent = parent.parentElement;\n }\n return parents;\n}\nfunction elementTransitionEnd(el, callback) {\n function fireCallBack(e) {\n if (e.target !== el) return;\n callback.call(el, e);\n el.removeEventListener('transitionend', fireCallBack);\n }\n if (callback) {\n el.addEventListener('transitionend', fireCallBack);\n }\n}\nfunction elementOuterSize(el, size, includeMargins) {\n const window = getWindow();\n if (includeMargins) {\n return el[size === 'width' ? 'offsetWidth' : 'offsetHeight'] + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-right' : 'margin-top')) + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-left' : 'margin-bottom'));\n }\n return el.offsetWidth;\n}\nfunction makeElementsArray(el) {\n return (Array.isArray(el) ? el : [el]).filter(e => !!e);\n}\nfunction getRotateFix(swiper) {\n return v => {\n if (Math.abs(v) > 0 && swiper.browser && swiper.browser.need3dFix && Math.abs(v) % 90 === 0) {\n return v + 0.001;\n }\n return v;\n };\n}\nexport { elementParents as a, elementOffset as b, createElement as c, now as d, elementChildren as e, elementOuterSize as f, getSlideTransformEl as g, elementIndex as h, classesToTokens as i, getTranslate as j, elementTransitionEnd as k, isObject as l, makeElementsArray as m, nextTick as n, getRotateFix as o, elementStyle as p, elementNextAll as q, elementPrevAll as r, setCSSProperty as s, animateCSSModeScroll as t, showWarning as u, elementIsChildOf as v, extend as w, deleteProps as x };","import { e as elementChildren, c as createElement } from './utils.mjs';\nfunction createElementIfNotDefined(swiper, originalParams, params, checkProps) {\n if (swiper.params.createElements) {\n Object.keys(checkProps).forEach(key => {\n if (!params[key] && params.auto === true) {\n let element = elementChildren(swiper.el, `.${checkProps[key]}`)[0];\n if (!element) {\n element = createElement('div', checkProps[key]);\n element.className = checkProps[key];\n swiper.el.append(element);\n }\n params[key] = element;\n originalParams[key] = element;\n }\n });\n }\n return params;\n}\nexport { createElementIfNotDefined as c };","import { c as createElementIfNotDefined } from '../shared/create-element-if-not-defined.mjs';\nimport { m as makeElementsArray } from '../shared/utils.mjs';\nfunction Navigation(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n extendParams({\n navigation: {\n nextEl: null,\n prevEl: null,\n hideOnClick: false,\n disabledClass: 'swiper-button-disabled',\n hiddenClass: 'swiper-button-hidden',\n lockClass: 'swiper-button-lock',\n navigationDisabledClass: 'swiper-navigation-disabled'\n }\n });\n swiper.navigation = {\n nextEl: null,\n prevEl: null\n };\n function getEl(el) {\n let res;\n if (el && typeof el === 'string' && swiper.isElement) {\n res = swiper.el.querySelector(el) || swiper.hostEl.querySelector(el);\n if (res) return res;\n }\n if (el) {\n if (typeof el === 'string') res = [...document.querySelectorAll(el)];\n if (swiper.params.uniqueNavElements && typeof el === 'string' && res && res.length > 1 && swiper.el.querySelectorAll(el).length === 1) {\n res = swiper.el.querySelector(el);\n } else if (res && res.length === 1) {\n res = res[0];\n }\n }\n if (el && !res) return el;\n // if (Array.isArray(res) && res.length === 1) res = res[0];\n return res;\n }\n function toggleEl(el, disabled) {\n const params = swiper.params.navigation;\n el = makeElementsArray(el);\n el.forEach(subEl => {\n if (subEl) {\n subEl.classList[disabled ? 'add' : 'remove'](...params.disabledClass.split(' '));\n if (subEl.tagName === 'BUTTON') subEl.disabled = disabled;\n if (swiper.params.watchOverflow && swiper.enabled) {\n subEl.classList[swiper.isLocked ? 'add' : 'remove'](params.lockClass);\n }\n }\n });\n }\n function update() {\n // Update Navigation Buttons\n const {\n nextEl,\n prevEl\n } = swiper.navigation;\n if (swiper.params.loop) {\n toggleEl(prevEl, false);\n toggleEl(nextEl, false);\n return;\n }\n toggleEl(prevEl, swiper.isBeginning && !swiper.params.rewind);\n toggleEl(nextEl, swiper.isEnd && !swiper.params.rewind);\n }\n function onPrevClick(e) {\n e.preventDefault();\n if (swiper.isBeginning && !swiper.params.loop && !swiper.params.rewind) return;\n swiper.slidePrev();\n emit('navigationPrev');\n }\n function onNextClick(e) {\n e.preventDefault();\n if (swiper.isEnd && !swiper.params.loop && !swiper.params.rewind) return;\n swiper.slideNext();\n emit('navigationNext');\n }\n function init() {\n const params = swiper.params.navigation;\n swiper.params.navigation = createElementIfNotDefined(swiper, swiper.originalParams.navigation, swiper.params.navigation, {\n nextEl: 'swiper-button-next',\n prevEl: 'swiper-button-prev'\n });\n if (!(params.nextEl || params.prevEl)) return;\n let nextEl = getEl(params.nextEl);\n let prevEl = getEl(params.prevEl);\n Object.assign(swiper.navigation, {\n nextEl,\n prevEl\n });\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n const initButton = (el, dir) => {\n if (el) {\n el.addEventListener('click', dir === 'next' ? onNextClick : onPrevClick);\n }\n if (!swiper.enabled && el) {\n el.classList.add(...params.lockClass.split(' '));\n }\n };\n nextEl.forEach(el => initButton(el, 'next'));\n prevEl.forEach(el => initButton(el, 'prev'));\n }\n function destroy() {\n let {\n nextEl,\n prevEl\n } = swiper.navigation;\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n const destroyButton = (el, dir) => {\n el.removeEventListener('click', dir === 'next' ? onNextClick : onPrevClick);\n el.classList.remove(...swiper.params.navigation.disabledClass.split(' '));\n };\n nextEl.forEach(el => destroyButton(el, 'next'));\n prevEl.forEach(el => destroyButton(el, 'prev'));\n }\n on('init', () => {\n if (swiper.params.navigation.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n update();\n }\n });\n on('toEdge fromEdge lock unlock', () => {\n update();\n });\n on('destroy', () => {\n destroy();\n });\n on('enable disable', () => {\n let {\n nextEl,\n prevEl\n } = swiper.navigation;\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n if (swiper.enabled) {\n update();\n return;\n }\n [...nextEl, ...prevEl].filter(el => !!el).forEach(el => el.classList.add(swiper.params.navigation.lockClass));\n });\n on('click', (_s, e) => {\n let {\n nextEl,\n prevEl\n } = swiper.navigation;\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n const targetEl = e.target;\n let targetIsButton = prevEl.includes(targetEl) || nextEl.includes(targetEl);\n if (swiper.isElement && !targetIsButton) {\n const path = e.path || e.composedPath && e.composedPath();\n if (path) {\n targetIsButton = path.find(pathEl => nextEl.includes(pathEl) || prevEl.includes(pathEl));\n }\n }\n if (swiper.params.navigation.hideOnClick && !targetIsButton) {\n if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return;\n let isHidden;\n if (nextEl.length) {\n isHidden = nextEl[0].classList.contains(swiper.params.navigation.hiddenClass);\n } else if (prevEl.length) {\n isHidden = prevEl[0].classList.contains(swiper.params.navigation.hiddenClass);\n }\n if (isHidden === true) {\n emit('navigationShow');\n } else {\n emit('navigationHide');\n }\n [...nextEl, ...prevEl].filter(el => !!el).forEach(el => el.classList.toggle(swiper.params.navigation.hiddenClass));\n }\n });\n const enable = () => {\n swiper.el.classList.remove(...swiper.params.navigation.navigationDisabledClass.split(' '));\n init();\n update();\n };\n const disable = () => {\n swiper.el.classList.add(...swiper.params.navigation.navigationDisabledClass.split(' '));\n destroy();\n };\n Object.assign(swiper.navigation, {\n enable,\n disable,\n update,\n init,\n destroy\n });\n}\nexport { Navigation as default };","function classesToSelector(classes) {\n if (classes === void 0) {\n classes = '';\n }\n return `.${classes.trim().replace(/([\\.:!+\\/])/g, '\\\\$1') // eslint-disable-line\n .replace(/ /g, '.')}`;\n}\nexport { classesToSelector as c };","import { c as classesToSelector } from '../shared/classes-to-selector.mjs';\nimport { c as createElementIfNotDefined } from '../shared/create-element-if-not-defined.mjs';\nimport { m as makeElementsArray, f as elementOuterSize, h as elementIndex, a as elementParents } from '../shared/utils.mjs';\nfunction Pagination(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n const pfx = 'swiper-pagination';\n extendParams({\n pagination: {\n el: null,\n bulletElement: 'span',\n clickable: false,\n hideOnClick: false,\n renderBullet: null,\n renderProgressbar: null,\n renderFraction: null,\n renderCustom: null,\n progressbarOpposite: false,\n type: 'bullets',\n // 'bullets' or 'progressbar' or 'fraction' or 'custom'\n dynamicBullets: false,\n dynamicMainBullets: 1,\n formatFractionCurrent: number => number,\n formatFractionTotal: number => number,\n bulletClass: `${pfx}-bullet`,\n bulletActiveClass: `${pfx}-bullet-active`,\n modifierClass: `${pfx}-`,\n currentClass: `${pfx}-current`,\n totalClass: `${pfx}-total`,\n hiddenClass: `${pfx}-hidden`,\n progressbarFillClass: `${pfx}-progressbar-fill`,\n progressbarOppositeClass: `${pfx}-progressbar-opposite`,\n clickableClass: `${pfx}-clickable`,\n lockClass: `${pfx}-lock`,\n horizontalClass: `${pfx}-horizontal`,\n verticalClass: `${pfx}-vertical`,\n paginationDisabledClass: `${pfx}-disabled`\n }\n });\n swiper.pagination = {\n el: null,\n bullets: []\n };\n let bulletSize;\n let dynamicBulletIndex = 0;\n function isPaginationDisabled() {\n return !swiper.params.pagination.el || !swiper.pagination.el || Array.isArray(swiper.pagination.el) && swiper.pagination.el.length === 0;\n }\n function setSideBullets(bulletEl, position) {\n const {\n bulletActiveClass\n } = swiper.params.pagination;\n if (!bulletEl) return;\n bulletEl = bulletEl[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`];\n if (bulletEl) {\n bulletEl.classList.add(`${bulletActiveClass}-${position}`);\n bulletEl = bulletEl[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`];\n if (bulletEl) {\n bulletEl.classList.add(`${bulletActiveClass}-${position}-${position}`);\n }\n }\n }\n function getMoveDirection(prevIndex, nextIndex, length) {\n prevIndex = prevIndex % length;\n nextIndex = nextIndex % length;\n if (nextIndex === prevIndex + 1) {\n return 'next';\n } else if (nextIndex === prevIndex - 1) {\n return 'previous';\n }\n return;\n }\n function onBulletClick(e) {\n const bulletEl = e.target.closest(classesToSelector(swiper.params.pagination.bulletClass));\n if (!bulletEl) {\n return;\n }\n e.preventDefault();\n const index = elementIndex(bulletEl) * swiper.params.slidesPerGroup;\n if (swiper.params.loop) {\n if (swiper.realIndex === index) return;\n const moveDirection = getMoveDirection(swiper.realIndex, index, swiper.slides.length);\n if (moveDirection === 'next') {\n swiper.slideNext();\n } else if (moveDirection === 'previous') {\n swiper.slidePrev();\n } else {\n swiper.slideToLoop(index);\n }\n } else {\n swiper.slideTo(index);\n }\n }\n function update() {\n // Render || Update Pagination bullets/items\n const rtl = swiper.rtl;\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n let el = swiper.pagination.el;\n el = makeElementsArray(el);\n // Current/Total\n let current;\n let previousIndex;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n const total = swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n if (swiper.params.loop) {\n previousIndex = swiper.previousRealIndex || 0;\n current = swiper.params.slidesPerGroup > 1 ? Math.floor(swiper.realIndex / swiper.params.slidesPerGroup) : swiper.realIndex;\n } else if (typeof swiper.snapIndex !== 'undefined') {\n current = swiper.snapIndex;\n previousIndex = swiper.previousSnapIndex;\n } else {\n previousIndex = swiper.previousIndex || 0;\n current = swiper.activeIndex || 0;\n }\n // Types\n if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {\n const bullets = swiper.pagination.bullets;\n let firstIndex;\n let lastIndex;\n let midIndex;\n if (params.dynamicBullets) {\n bulletSize = elementOuterSize(bullets[0], swiper.isHorizontal() ? 'width' : 'height', true);\n el.forEach(subEl => {\n subEl.style[swiper.isHorizontal() ? 'width' : 'height'] = `${bulletSize * (params.dynamicMainBullets + 4)}px`;\n });\n if (params.dynamicMainBullets > 1 && previousIndex !== undefined) {\n dynamicBulletIndex += current - (previousIndex || 0);\n if (dynamicBulletIndex > params.dynamicMainBullets - 1) {\n dynamicBulletIndex = params.dynamicMainBullets - 1;\n } else if (dynamicBulletIndex < 0) {\n dynamicBulletIndex = 0;\n }\n }\n firstIndex = Math.max(current - dynamicBulletIndex, 0);\n lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);\n midIndex = (lastIndex + firstIndex) / 2;\n }\n bullets.forEach(bulletEl => {\n const classesToRemove = [...['', '-next', '-next-next', '-prev', '-prev-prev', '-main'].map(suffix => `${params.bulletActiveClass}${suffix}`)].map(s => typeof s === 'string' && s.includes(' ') ? s.split(' ') : s).flat();\n bulletEl.classList.remove(...classesToRemove);\n });\n if (el.length > 1) {\n bullets.forEach(bullet => {\n const bulletIndex = elementIndex(bullet);\n if (bulletIndex === current) {\n bullet.classList.add(...params.bulletActiveClass.split(' '));\n } else if (swiper.isElement) {\n bullet.setAttribute('part', 'bullet');\n }\n if (params.dynamicBullets) {\n if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {\n bullet.classList.add(...`${params.bulletActiveClass}-main`.split(' '));\n }\n if (bulletIndex === firstIndex) {\n setSideBullets(bullet, 'prev');\n }\n if (bulletIndex === lastIndex) {\n setSideBullets(bullet, 'next');\n }\n }\n });\n } else {\n const bullet = bullets[current];\n if (bullet) {\n bullet.classList.add(...params.bulletActiveClass.split(' '));\n }\n if (swiper.isElement) {\n bullets.forEach((bulletEl, bulletIndex) => {\n bulletEl.setAttribute('part', bulletIndex === current ? 'bullet-active' : 'bullet');\n });\n }\n if (params.dynamicBullets) {\n const firstDisplayedBullet = bullets[firstIndex];\n const lastDisplayedBullet = bullets[lastIndex];\n for (let i = firstIndex; i <= lastIndex; i += 1) {\n if (bullets[i]) {\n bullets[i].classList.add(...`${params.bulletActiveClass}-main`.split(' '));\n }\n }\n setSideBullets(firstDisplayedBullet, 'prev');\n setSideBullets(lastDisplayedBullet, 'next');\n }\n }\n if (params.dynamicBullets) {\n const dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);\n const bulletsOffset = (bulletSize * dynamicBulletsLength - bulletSize) / 2 - midIndex * bulletSize;\n const offsetProp = rtl ? 'right' : 'left';\n bullets.forEach(bullet => {\n bullet.style[swiper.isHorizontal() ? offsetProp : 'top'] = `${bulletsOffset}px`;\n });\n }\n }\n el.forEach((subEl, subElIndex) => {\n if (params.type === 'fraction') {\n subEl.querySelectorAll(classesToSelector(params.currentClass)).forEach(fractionEl => {\n fractionEl.textContent = params.formatFractionCurrent(current + 1);\n });\n subEl.querySelectorAll(classesToSelector(params.totalClass)).forEach(totalEl => {\n totalEl.textContent = params.formatFractionTotal(total);\n });\n }\n if (params.type === 'progressbar') {\n let progressbarDirection;\n if (params.progressbarOpposite) {\n progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';\n } else {\n progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';\n }\n const scale = (current + 1) / total;\n let scaleX = 1;\n let scaleY = 1;\n if (progressbarDirection === 'horizontal') {\n scaleX = scale;\n } else {\n scaleY = scale;\n }\n subEl.querySelectorAll(classesToSelector(params.progressbarFillClass)).forEach(progressEl => {\n progressEl.style.transform = `translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`;\n progressEl.style.transitionDuration = `${swiper.params.speed}ms`;\n });\n }\n if (params.type === 'custom' && params.renderCustom) {\n subEl.innerHTML = params.renderCustom(swiper, current + 1, total);\n if (subElIndex === 0) emit('paginationRender', subEl);\n } else {\n if (subElIndex === 0) emit('paginationRender', subEl);\n emit('paginationUpdate', subEl);\n }\n if (swiper.params.watchOverflow && swiper.enabled) {\n subEl.classList[swiper.isLocked ? 'add' : 'remove'](params.lockClass);\n }\n });\n }\n function render() {\n // Render Container\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.grid && swiper.params.grid.rows > 1 ? swiper.slides.length / Math.ceil(swiper.params.grid.rows) : swiper.slides.length;\n let el = swiper.pagination.el;\n el = makeElementsArray(el);\n let paginationHTML = '';\n if (params.type === 'bullets') {\n let numberOfBullets = swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n if (swiper.params.freeMode && swiper.params.freeMode.enabled && numberOfBullets > slidesLength) {\n numberOfBullets = slidesLength;\n }\n for (let i = 0; i < numberOfBullets; i += 1) {\n if (params.renderBullet) {\n paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);\n } else {\n // prettier-ignore\n paginationHTML += `<${params.bulletElement} ${swiper.isElement ? 'part=\"bullet\"' : ''} class=\"${params.bulletClass}\">`;\n }\n }\n }\n if (params.type === 'fraction') {\n if (params.renderFraction) {\n paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);\n } else {\n paginationHTML = `` + ' / ' + ``;\n }\n }\n if (params.type === 'progressbar') {\n if (params.renderProgressbar) {\n paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);\n } else {\n paginationHTML = ``;\n }\n }\n swiper.pagination.bullets = [];\n el.forEach(subEl => {\n if (params.type !== 'custom') {\n subEl.innerHTML = paginationHTML || '';\n }\n if (params.type === 'bullets') {\n swiper.pagination.bullets.push(...subEl.querySelectorAll(classesToSelector(params.bulletClass)));\n }\n });\n if (params.type !== 'custom') {\n emit('paginationRender', el[0]);\n }\n }\n function init() {\n swiper.params.pagination = createElementIfNotDefined(swiper, swiper.originalParams.pagination, swiper.params.pagination, {\n el: 'swiper-pagination'\n });\n const params = swiper.params.pagination;\n if (!params.el) return;\n let el;\n if (typeof params.el === 'string' && swiper.isElement) {\n el = swiper.el.querySelector(params.el);\n }\n if (!el && typeof params.el === 'string') {\n el = [...document.querySelectorAll(params.el)];\n }\n if (!el) {\n el = params.el;\n }\n if (!el || el.length === 0) return;\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && Array.isArray(el) && el.length > 1) {\n el = [...swiper.el.querySelectorAll(params.el)];\n // check if it belongs to another nested Swiper\n if (el.length > 1) {\n el = el.filter(subEl => {\n if (elementParents(subEl, '.swiper')[0] !== swiper.el) return false;\n return true;\n })[0];\n }\n }\n if (Array.isArray(el) && el.length === 1) el = el[0];\n Object.assign(swiper.pagination, {\n el\n });\n el = makeElementsArray(el);\n el.forEach(subEl => {\n if (params.type === 'bullets' && params.clickable) {\n subEl.classList.add(...(params.clickableClass || '').split(' '));\n }\n subEl.classList.add(params.modifierClass + params.type);\n subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n if (params.type === 'bullets' && params.dynamicBullets) {\n subEl.classList.add(`${params.modifierClass}${params.type}-dynamic`);\n dynamicBulletIndex = 0;\n if (params.dynamicMainBullets < 1) {\n params.dynamicMainBullets = 1;\n }\n }\n if (params.type === 'progressbar' && params.progressbarOpposite) {\n subEl.classList.add(params.progressbarOppositeClass);\n }\n if (params.clickable) {\n subEl.addEventListener('click', onBulletClick);\n }\n if (!swiper.enabled) {\n subEl.classList.add(params.lockClass);\n }\n });\n }\n function destroy() {\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n let el = swiper.pagination.el;\n if (el) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.classList.remove(params.hiddenClass);\n subEl.classList.remove(params.modifierClass + params.type);\n subEl.classList.remove(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n if (params.clickable) {\n subEl.classList.remove(...(params.clickableClass || '').split(' '));\n subEl.removeEventListener('click', onBulletClick);\n }\n });\n }\n if (swiper.pagination.bullets) swiper.pagination.bullets.forEach(subEl => subEl.classList.remove(...params.bulletActiveClass.split(' ')));\n }\n on('changeDirection', () => {\n if (!swiper.pagination || !swiper.pagination.el) return;\n const params = swiper.params.pagination;\n let {\n el\n } = swiper.pagination;\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.classList.remove(params.horizontalClass, params.verticalClass);\n subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n });\n });\n on('init', () => {\n if (swiper.params.pagination.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n render();\n update();\n }\n });\n on('activeIndexChange', () => {\n if (typeof swiper.snapIndex === 'undefined') {\n update();\n }\n });\n on('snapIndexChange', () => {\n update();\n });\n on('snapGridLengthChange', () => {\n render();\n update();\n });\n on('destroy', () => {\n destroy();\n });\n on('enable disable', () => {\n let {\n el\n } = swiper.pagination;\n if (el) {\n el = makeElementsArray(el);\n el.forEach(subEl => subEl.classList[swiper.enabled ? 'remove' : 'add'](swiper.params.pagination.lockClass));\n }\n });\n on('lock unlock', () => {\n update();\n });\n on('click', (_s, e) => {\n const targetEl = e.target;\n const el = makeElementsArray(swiper.pagination.el);\n if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && el && el.length > 0 && !targetEl.classList.contains(swiper.params.pagination.bulletClass)) {\n if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return;\n const isHidden = el[0].classList.contains(swiper.params.pagination.hiddenClass);\n if (isHidden === true) {\n emit('paginationShow');\n } else {\n emit('paginationHide');\n }\n el.forEach(subEl => subEl.classList.toggle(swiper.params.pagination.hiddenClass));\n }\n });\n const enable = () => {\n swiper.el.classList.remove(swiper.params.pagination.paginationDisabledClass);\n let {\n el\n } = swiper.pagination;\n if (el) {\n el = makeElementsArray(el);\n el.forEach(subEl => subEl.classList.remove(swiper.params.pagination.paginationDisabledClass));\n }\n init();\n render();\n update();\n };\n const disable = () => {\n swiper.el.classList.add(swiper.params.pagination.paginationDisabledClass);\n let {\n el\n } = swiper.pagination;\n if (el) {\n el = makeElementsArray(el);\n el.forEach(subEl => subEl.classList.add(swiper.params.pagination.paginationDisabledClass));\n }\n destroy();\n };\n Object.assign(swiper.pagination, {\n enable,\n disable,\n render,\n update,\n init,\n destroy\n });\n}\nexport { Pagination as default };","import { g as getDocument } from '../shared/ssr-window.esm.mjs';\n\n/* eslint no-underscore-dangle: \"off\" */\n/* eslint no-use-before-define: \"off\" */\nfunction Autoplay(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit,\n params\n } = _ref;\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: false,\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 let pausedByPointerEnter;\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 if (pausedByPointerEnter || e.detail && e.detail.bySwiperTouchMove) {\n return;\n }\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 autoplayStartTime = new Date().getTime();\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 pausedByPointerEnter = true;\n if (swiper.animating || swiper.autoplay.paused) return;\n pause(true);\n };\n const onPointerLeave = e => {\n if (e.pointerType !== 'mouse') return;\n pausedByPointerEnter = false;\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 if (swiper.el && typeof swiper.el !== 'string') {\n swiper.el.removeEventListener('pointerenter', onPointerEnter);\n swiper.el.removeEventListener('pointerleave', onPointerLeave);\n }\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 start();\n }\n });\n on('destroy', () => {\n detachMouseEvents();\n detachDocumentEvents();\n if (swiper.autoplay.running) {\n stop();\n }\n });\n on('_freeModeStaticRelease', () => {\n if (pausedByTouch || pausedByInteraction) {\n resume();\n }\n });\n on('_freeModeNoMomentumRelease', () => {\n if (!swiper.params.autoplay.disableOnInteraction) {\n pause(true, true);\n } else {\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}\nexport { Autoplay as default };","import { g as getSlideTransformEl, c as createElement } from './utils.mjs';\nfunction createShadow(suffix, slideEl, side) {\n const shadowClass = `swiper-slide-shadow${side ? `-${side}` : ''}${suffix ? ` swiper-slide-shadow-${suffix}` : ''}`;\n const shadowContainer = getSlideTransformEl(slideEl);\n let shadowEl = shadowContainer.querySelector(`.${shadowClass.split(' ').join('.')}`);\n if (!shadowEl) {\n shadowEl = createElement('div', shadowClass.split(' '));\n shadowContainer.append(shadowEl);\n }\n return shadowEl;\n}\nexport { createShadow as c };","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}\nexport { effectInit as e };","import { g as getSlideTransformEl } from './utils.mjs';\nfunction 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}\nexport { effectTarget as e };","import { c as createShadow } from '../shared/create-shadow.mjs';\nimport { e as effectInit } from '../shared/effect-init.mjs';\nimport { e as effectTarget } from '../shared/effect-target.mjs';\nimport { g as getSlideTransformEl, o as getRotateFix } from '../shared/utils.mjs';\nfunction EffectCoverflow(_ref) {\n let {\n swiper,\n extendParams,\n on\n } = _ref;\n extendParams({\n coverflowEffect: {\n rotate: 50,\n stretch: 0,\n depth: 100,\n scale: 1,\n modifier: 1,\n slideShadows: true\n }\n });\n const setTranslate = () => {\n const {\n width: swiperWidth,\n height: swiperHeight,\n slides,\n slidesSizesGrid\n } = swiper;\n const params = swiper.params.coverflowEffect;\n const isHorizontal = swiper.isHorizontal();\n const transform = swiper.translate;\n const center = isHorizontal ? -transform + swiperWidth / 2 : -transform + swiperHeight / 2;\n const rotate = isHorizontal ? params.rotate : -params.rotate;\n const translate = params.depth;\n const r = getRotateFix(swiper);\n // Each slide offset from center\n for (let i = 0, length = slides.length; i < length; i += 1) {\n const slideEl = slides[i];\n const slideSize = slidesSizesGrid[i];\n const slideOffset = slideEl.swiperSlideOffset;\n const centerOffset = (center - slideOffset - slideSize / 2) / slideSize;\n const offsetMultiplier = typeof params.modifier === 'function' ? params.modifier(centerOffset) : centerOffset * params.modifier;\n let rotateY = isHorizontal ? rotate * offsetMultiplier : 0;\n let rotateX = isHorizontal ? 0 : rotate * offsetMultiplier;\n // var rotateZ = 0\n let translateZ = -translate * Math.abs(offsetMultiplier);\n let stretch = params.stretch;\n // Allow percentage to make a relative stretch for responsive sliders\n if (typeof stretch === 'string' && stretch.indexOf('%') !== -1) {\n stretch = parseFloat(params.stretch) / 100 * slideSize;\n }\n let translateY = isHorizontal ? 0 : stretch * offsetMultiplier;\n let translateX = isHorizontal ? stretch * offsetMultiplier : 0;\n let scale = 1 - (1 - params.scale) * Math.abs(offsetMultiplier);\n\n // Fix for ultra small values\n if (Math.abs(translateX) < 0.001) translateX = 0;\n if (Math.abs(translateY) < 0.001) translateY = 0;\n if (Math.abs(translateZ) < 0.001) translateZ = 0;\n if (Math.abs(rotateY) < 0.001) rotateY = 0;\n if (Math.abs(rotateX) < 0.001) rotateX = 0;\n if (Math.abs(scale) < 0.001) scale = 0;\n const slideTransform = `translate3d(${translateX}px,${translateY}px,${translateZ}px) rotateX(${r(rotateX)}deg) rotateY(${r(rotateY)}deg) scale(${scale})`;\n const targetEl = effectTarget(params, slideEl);\n targetEl.style.transform = slideTransform;\n slideEl.style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1;\n if (params.slideShadows) {\n // Set shadows\n let shadowBeforeEl = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-left') : slideEl.querySelector('.swiper-slide-shadow-top');\n let shadowAfterEl = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-right') : slideEl.querySelector('.swiper-slide-shadow-bottom');\n if (!shadowBeforeEl) {\n shadowBeforeEl = createShadow('coverflow', slideEl, isHorizontal ? 'left' : 'top');\n }\n if (!shadowAfterEl) {\n shadowAfterEl = createShadow('coverflow', slideEl, isHorizontal ? 'right' : 'bottom');\n }\n if (shadowBeforeEl) shadowBeforeEl.style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0;\n if (shadowAfterEl) shadowAfterEl.style.opacity = -offsetMultiplier > 0 ? -offsetMultiplier : 0;\n }\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 el.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl => {\n shadowEl.style.transitionDuration = `${duration}ms`;\n });\n });\n };\n effectInit({\n effect: 'coverflow',\n swiper,\n on,\n setTranslate,\n setTransition,\n perspective: () => true,\n overwriteParams: () => ({\n watchSlidesProgress: true\n })\n });\n}\nexport { EffectCoverflow as default };","import { a as getWindow, g as getDocument } from './ssr-window.esm.mjs';\nimport { a as elementParents, p as elementStyle, e as elementChildren, s as setCSSProperty, f as elementOuterSize, q as elementNextAll, r as elementPrevAll, j as getTranslate, t as animateCSSModeScroll, n as nextTick, u as showWarning, c as createElement, v as elementIsChildOf, d as now, w as extend, h as elementIndex, x as deleteProps } from './utils.mjs';\nlet support;\nfunction calcSupport() {\n const window = getWindow();\n const document = getDocument();\n return {\n smoothScroll: document.documentElement && document.documentElement.style && 'scrollBehavior' in document.documentElement.style,\n touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch)\n };\n}\nfunction getSupport() {\n if (!support) {\n support = calcSupport();\n }\n return support;\n}\nlet deviceCached;\nfunction calcDevice(_temp) {\n let {\n userAgent\n } = _temp === void 0 ? {} : _temp;\n const support = getSupport();\n const window = getWindow();\n const platform = window.navigator.platform;\n const ua = userAgent || window.navigator.userAgent;\n const device = {\n ios: false,\n android: false\n };\n const screenWidth = window.screen.width;\n const screenHeight = window.screen.height;\n const android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\n let ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n const ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n const iphone = !ipad && ua.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/);\n const windows = platform === 'Win32';\n let macos = platform === 'MacIntel';\n\n // iPadOs 13 fix\n const iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810'];\n if (!ipad && macos && support.touch && iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >= 0) {\n ipad = ua.match(/(Version)\\/([\\d.]+)/);\n if (!ipad) ipad = [0, 1, '13_0_0'];\n macos = false;\n }\n\n // Android\n if (android && !windows) {\n device.os = 'android';\n device.android = true;\n }\n if (ipad || iphone || ipod) {\n device.os = 'ios';\n device.ios = true;\n }\n\n // Export object\n return device;\n}\nfunction getDevice(overrides) {\n if (overrides === void 0) {\n overrides = {};\n }\n if (!deviceCached) {\n deviceCached = calcDevice(overrides);\n }\n return deviceCached;\n}\nlet browser;\nfunction calcBrowser() {\n const window = getWindow();\n const device = getDevice();\n let needPerspectiveFix = false;\n function isSafari() {\n const ua = window.navigator.userAgent.toLowerCase();\n return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;\n }\n if (isSafari()) {\n const ua = String(window.navigator.userAgent);\n if (ua.includes('Version/')) {\n const [major, minor] = ua.split('Version/')[1].split(' ')[0].split('.').map(num => Number(num));\n needPerspectiveFix = major < 16 || major === 16 && minor < 2;\n }\n }\n const isWebView = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent);\n const isSafariBrowser = isSafari();\n const need3dFix = isSafariBrowser || isWebView && device.ios;\n return {\n isSafari: needPerspectiveFix || isSafariBrowser,\n needPerspectiveFix,\n need3dFix,\n isWebView\n };\n}\nfunction getBrowser() {\n if (!browser) {\n browser = calcBrowser();\n }\n return browser;\n}\nfunction Resize(_ref) {\n let {\n swiper,\n on,\n emit\n } = _ref;\n const window = getWindow();\n let observer = null;\n let animationFrame = null;\n const resizeHandler = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n emit('beforeResize');\n emit('resize');\n };\n const createObserver = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n observer = new ResizeObserver(entries => {\n animationFrame = window.requestAnimationFrame(() => {\n const {\n width,\n height\n } = swiper;\n let newWidth = width;\n let newHeight = height;\n entries.forEach(_ref2 => {\n let {\n contentBoxSize,\n contentRect,\n target\n } = _ref2;\n if (target && target !== swiper.el) return;\n newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize;\n newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize;\n });\n if (newWidth !== width || newHeight !== height) {\n resizeHandler();\n }\n });\n });\n observer.observe(swiper.el);\n };\n const removeObserver = () => {\n if (animationFrame) {\n window.cancelAnimationFrame(animationFrame);\n }\n if (observer && observer.unobserve && swiper.el) {\n observer.unobserve(swiper.el);\n observer = null;\n }\n };\n const orientationChangeHandler = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n emit('orientationchange');\n };\n on('init', () => {\n if (swiper.params.resizeObserver && typeof window.ResizeObserver !== 'undefined') {\n createObserver();\n return;\n }\n window.addEventListener('resize', resizeHandler);\n window.addEventListener('orientationchange', orientationChangeHandler);\n });\n on('destroy', () => {\n removeObserver();\n window.removeEventListener('resize', resizeHandler);\n window.removeEventListener('orientationchange', orientationChangeHandler);\n });\n}\nfunction Observer(_ref) {\n let {\n swiper,\n extendParams,\n on,\n emit\n } = _ref;\n const observers = [];\n const window = getWindow();\n const attach = function (target, options) {\n if (options === void 0) {\n options = {};\n }\n const ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;\n const observer = new ObserverFunc(mutations => {\n // The observerUpdate event should only be triggered\n // once despite the number of mutations. Additional\n // triggers are redundant and are very costly\n if (swiper.__preventObserver__) return;\n if (mutations.length === 1) {\n emit('observerUpdate', mutations[0]);\n return;\n }\n const observerUpdate = function observerUpdate() {\n emit('observerUpdate', mutations[0]);\n };\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(observerUpdate);\n } else {\n window.setTimeout(observerUpdate, 0);\n }\n });\n observer.observe(target, {\n attributes: typeof options.attributes === 'undefined' ? true : options.attributes,\n childList: swiper.isElement || (typeof options.childList === 'undefined' ? true : options).childList,\n characterData: typeof options.characterData === 'undefined' ? true : options.characterData\n });\n observers.push(observer);\n };\n const init = () => {\n if (!swiper.params.observer) return;\n if (swiper.params.observeParents) {\n const containerParents = elementParents(swiper.hostEl);\n for (let i = 0; i < containerParents.length; i += 1) {\n attach(containerParents[i]);\n }\n }\n // Observe container\n attach(swiper.hostEl, {\n childList: swiper.params.observeSlideChildren\n });\n\n // Observe wrapper\n attach(swiper.wrapperEl, {\n attributes: false\n });\n };\n const destroy = () => {\n observers.forEach(observer => {\n observer.disconnect();\n });\n observers.splice(0, observers.length);\n };\n extendParams({\n observer: false,\n observeParents: false,\n observeSlideChildren: false\n });\n on('init', init);\n on('destroy', destroy);\n}\n\n/* eslint-disable no-underscore-dangle */\n\nvar eventsEmitter = {\n on(events, handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n const method = priority ? 'unshift' : 'push';\n events.split(' ').forEach(event => {\n if (!self.eventsListeners[event]) self.eventsListeners[event] = [];\n self.eventsListeners[event][method](handler);\n });\n return self;\n },\n once(events, handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n function onceHandler() {\n self.off(events, onceHandler);\n if (onceHandler.__emitterProxy) {\n delete onceHandler.__emitterProxy;\n }\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n handler.apply(self, args);\n }\n onceHandler.__emitterProxy = handler;\n return self.on(events, onceHandler, priority);\n },\n onAny(handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n const method = priority ? 'unshift' : 'push';\n if (self.eventsAnyListeners.indexOf(handler) < 0) {\n self.eventsAnyListeners[method](handler);\n }\n return self;\n },\n offAny(handler) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsAnyListeners) return self;\n const index = self.eventsAnyListeners.indexOf(handler);\n if (index >= 0) {\n self.eventsAnyListeners.splice(index, 1);\n }\n return self;\n },\n off(events, handler) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsListeners) return self;\n events.split(' ').forEach(event => {\n if (typeof handler === 'undefined') {\n self.eventsListeners[event] = [];\n } else if (self.eventsListeners[event]) {\n self.eventsListeners[event].forEach((eventHandler, index) => {\n if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) {\n self.eventsListeners[event].splice(index, 1);\n }\n });\n }\n });\n return self;\n },\n emit() {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsListeners) return self;\n let events;\n let data;\n let context;\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n if (typeof args[0] === 'string' || Array.isArray(args[0])) {\n events = args[0];\n data = args.slice(1, args.length);\n context = self;\n } else {\n events = args[0].events;\n data = args[0].data;\n context = args[0].context || self;\n }\n data.unshift(context);\n const eventsArray = Array.isArray(events) ? events : events.split(' ');\n eventsArray.forEach(event => {\n if (self.eventsAnyListeners && self.eventsAnyListeners.length) {\n self.eventsAnyListeners.forEach(eventHandler => {\n eventHandler.apply(context, [event, ...data]);\n });\n }\n if (self.eventsListeners && self.eventsListeners[event]) {\n self.eventsListeners[event].forEach(eventHandler => {\n eventHandler.apply(context, data);\n });\n }\n });\n return self;\n }\n};\nfunction updateSize() {\n const swiper = this;\n let width;\n let height;\n const el = swiper.el;\n if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) {\n width = swiper.params.width;\n } else {\n width = el.clientWidth;\n }\n if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) {\n height = swiper.params.height;\n } else {\n height = el.clientHeight;\n }\n if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) {\n return;\n }\n\n // Subtract paddings\n width = width - parseInt(elementStyle(el, 'padding-left') || 0, 10) - parseInt(elementStyle(el, 'padding-right') || 0, 10);\n height = height - parseInt(elementStyle(el, 'padding-top') || 0, 10) - parseInt(elementStyle(el, 'padding-bottom') || 0, 10);\n if (Number.isNaN(width)) width = 0;\n if (Number.isNaN(height)) height = 0;\n Object.assign(swiper, {\n width,\n height,\n size: swiper.isHorizontal() ? width : height\n });\n}\nfunction updateSlides() {\n const swiper = this;\n function getDirectionPropertyValue(node, label) {\n return parseFloat(node.getPropertyValue(swiper.getDirectionLabel(label)) || 0);\n }\n const params = swiper.params;\n const {\n wrapperEl,\n slidesEl,\n size: swiperSize,\n rtlTranslate: rtl,\n wrongRTL\n } = swiper;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n const previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;\n const slides = elementChildren(slidesEl, `.${swiper.params.slideClass}, swiper-slide`);\n const slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;\n let snapGrid = [];\n const slidesGrid = [];\n const slidesSizesGrid = [];\n let offsetBefore = params.slidesOffsetBefore;\n if (typeof offsetBefore === 'function') {\n offsetBefore = params.slidesOffsetBefore.call(swiper);\n }\n let offsetAfter = params.slidesOffsetAfter;\n if (typeof offsetAfter === 'function') {\n offsetAfter = params.slidesOffsetAfter.call(swiper);\n }\n const previousSnapGridLength = swiper.snapGrid.length;\n const previousSlidesGridLength = swiper.slidesGrid.length;\n let spaceBetween = params.spaceBetween;\n let slidePosition = -offsetBefore;\n let prevSlideSize = 0;\n let index = 0;\n if (typeof swiperSize === 'undefined') {\n return;\n }\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;\n } else if (typeof spaceBetween === 'string') {\n spaceBetween = parseFloat(spaceBetween);\n }\n swiper.virtualSize = -spaceBetween;\n\n // reset margins\n slides.forEach(slideEl => {\n if (rtl) {\n slideEl.style.marginLeft = '';\n } else {\n slideEl.style.marginRight = '';\n }\n slideEl.style.marginBottom = '';\n slideEl.style.marginTop = '';\n });\n\n // reset cssMode offsets\n if (params.centeredSlides && params.cssMode) {\n setCSSProperty(wrapperEl, '--swiper-centered-offset-before', '');\n setCSSProperty(wrapperEl, '--swiper-centered-offset-after', '');\n }\n const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid;\n if (gridEnabled) {\n swiper.grid.initSlides(slides);\n } else if (swiper.grid) {\n swiper.grid.unsetSlides();\n }\n\n // Calc slides\n let slideSize;\n const shouldResetSlideSize = params.slidesPerView === 'auto' && params.breakpoints && Object.keys(params.breakpoints).filter(key => {\n return typeof params.breakpoints[key].slidesPerView !== 'undefined';\n }).length > 0;\n for (let i = 0; i < slidesLength; i += 1) {\n slideSize = 0;\n let slide;\n if (slides[i]) slide = slides[i];\n if (gridEnabled) {\n swiper.grid.updateSlide(i, slide, slides);\n }\n if (slides[i] && elementStyle(slide, 'display') === 'none') continue; // eslint-disable-line\n\n if (params.slidesPerView === 'auto') {\n if (shouldResetSlideSize) {\n slides[i].style[swiper.getDirectionLabel('width')] = ``;\n }\n const slideStyles = getComputedStyle(slide);\n const currentTransform = slide.style.transform;\n const currentWebKitTransform = slide.style.webkitTransform;\n if (currentTransform) {\n slide.style.transform = 'none';\n }\n if (currentWebKitTransform) {\n slide.style.webkitTransform = 'none';\n }\n if (params.roundLengths) {\n slideSize = swiper.isHorizontal() ? elementOuterSize(slide, 'width', true) : elementOuterSize(slide, 'height', true);\n } else {\n // eslint-disable-next-line\n const width = getDirectionPropertyValue(slideStyles, 'width');\n const paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left');\n const paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right');\n const marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left');\n const marginRight = getDirectionPropertyValue(slideStyles, 'margin-right');\n const boxSizing = slideStyles.getPropertyValue('box-sizing');\n if (boxSizing && boxSizing === 'border-box') {\n slideSize = width + marginLeft + marginRight;\n } else {\n const {\n clientWidth,\n offsetWidth\n } = slide;\n slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth);\n }\n }\n if (currentTransform) {\n slide.style.transform = currentTransform;\n }\n if (currentWebKitTransform) {\n slide.style.webkitTransform = currentWebKitTransform;\n }\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n } else {\n slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n if (slides[i]) {\n slides[i].style[swiper.getDirectionLabel('width')] = `${slideSize}px`;\n }\n }\n if (slides[i]) {\n slides[i].swiperSlideSize = slideSize;\n }\n slidesSizesGrid.push(slideSize);\n if (params.centeredSlides) {\n slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;\n if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n } else {\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n slidePosition = slidePosition + slideSize + spaceBetween;\n }\n swiper.virtualSize += slideSize + spaceBetween;\n prevSlideSize = slideSize;\n index += 1;\n }\n swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;\n if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {\n wrapperEl.style.width = `${swiper.virtualSize + spaceBetween}px`;\n }\n if (params.setWrapperSize) {\n wrapperEl.style[swiper.getDirectionLabel('width')] = `${swiper.virtualSize + spaceBetween}px`;\n }\n if (gridEnabled) {\n swiper.grid.updateWrapperSize(slideSize, snapGrid);\n }\n\n // Remove last grid elements depending on width\n if (!params.centeredSlides) {\n const newSlidesGrid = [];\n for (let i = 0; i < snapGrid.length; i += 1) {\n let slidesGridItem = snapGrid[i];\n if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n if (snapGrid[i] <= swiper.virtualSize - swiperSize) {\n newSlidesGrid.push(slidesGridItem);\n }\n }\n snapGrid = newSlidesGrid;\n if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {\n snapGrid.push(swiper.virtualSize - swiperSize);\n }\n }\n if (isVirtual && params.loop) {\n const size = slidesSizesGrid[0] + spaceBetween;\n if (params.slidesPerGroup > 1) {\n const groups = Math.ceil((swiper.virtual.slidesBefore + swiper.virtual.slidesAfter) / params.slidesPerGroup);\n const groupSize = size * params.slidesPerGroup;\n for (let i = 0; i < groups; i += 1) {\n snapGrid.push(snapGrid[snapGrid.length - 1] + groupSize);\n }\n }\n for (let i = 0; i < swiper.virtual.slidesBefore + swiper.virtual.slidesAfter; i += 1) {\n if (params.slidesPerGroup === 1) {\n snapGrid.push(snapGrid[snapGrid.length - 1] + size);\n }\n slidesGrid.push(slidesGrid[slidesGrid.length - 1] + size);\n swiper.virtualSize += size;\n }\n }\n if (snapGrid.length === 0) snapGrid = [0];\n if (spaceBetween !== 0) {\n const key = swiper.isHorizontal() && rtl ? 'marginLeft' : swiper.getDirectionLabel('marginRight');\n slides.filter((_, slideIndex) => {\n if (!params.cssMode || params.loop) return true;\n if (slideIndex === slides.length - 1) {\n return false;\n }\n return true;\n }).forEach(slideEl => {\n slideEl.style[key] = `${spaceBetween}px`;\n });\n }\n if (params.centeredSlides && params.centeredSlidesBounds) {\n let allSlidesSize = 0;\n slidesSizesGrid.forEach(slideSizeValue => {\n allSlidesSize += slideSizeValue + (spaceBetween || 0);\n });\n allSlidesSize -= spaceBetween;\n const maxSnap = allSlidesSize > swiperSize ? allSlidesSize - swiperSize : 0;\n snapGrid = snapGrid.map(snap => {\n if (snap <= 0) return -offsetBefore;\n if (snap > maxSnap) return maxSnap + offsetAfter;\n return snap;\n });\n }\n if (params.centerInsufficientSlides) {\n let allSlidesSize = 0;\n slidesSizesGrid.forEach(slideSizeValue => {\n allSlidesSize += slideSizeValue + (spaceBetween || 0);\n });\n allSlidesSize -= spaceBetween;\n const offsetSize = (params.slidesOffsetBefore || 0) + (params.slidesOffsetAfter || 0);\n if (allSlidesSize + offsetSize < swiperSize) {\n const allSlidesOffset = (swiperSize - allSlidesSize - offsetSize) / 2;\n snapGrid.forEach((snap, snapIndex) => {\n snapGrid[snapIndex] = snap - allSlidesOffset;\n });\n slidesGrid.forEach((snap, snapIndex) => {\n slidesGrid[snapIndex] = snap + allSlidesOffset;\n });\n }\n }\n Object.assign(swiper, {\n slides,\n snapGrid,\n slidesGrid,\n slidesSizesGrid\n });\n if (params.centeredSlides && params.cssMode && !params.centeredSlidesBounds) {\n setCSSProperty(wrapperEl, '--swiper-centered-offset-before', `${-snapGrid[0]}px`);\n setCSSProperty(wrapperEl, '--swiper-centered-offset-after', `${swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2}px`);\n const addToSnapGrid = -swiper.snapGrid[0];\n const addToSlidesGrid = -swiper.slidesGrid[0];\n swiper.snapGrid = swiper.snapGrid.map(v => v + addToSnapGrid);\n swiper.slidesGrid = swiper.slidesGrid.map(v => v + addToSlidesGrid);\n }\n if (slidesLength !== previousSlidesLength) {\n swiper.emit('slidesLengthChange');\n }\n if (snapGrid.length !== previousSnapGridLength) {\n if (swiper.params.watchOverflow) swiper.checkOverflow();\n swiper.emit('snapGridLengthChange');\n }\n if (slidesGrid.length !== previousSlidesGridLength) {\n swiper.emit('slidesGridLengthChange');\n }\n if (params.watchSlidesProgress) {\n swiper.updateSlidesOffset();\n }\n swiper.emit('slidesUpdated');\n if (!isVirtual && !params.cssMode && (params.effect === 'slide' || params.effect === 'fade')) {\n const backFaceHiddenClass = `${params.containerModifierClass}backface-hidden`;\n const hasClassBackfaceClassAdded = swiper.el.classList.contains(backFaceHiddenClass);\n if (slidesLength <= params.maxBackfaceHiddenSlides) {\n if (!hasClassBackfaceClassAdded) swiper.el.classList.add(backFaceHiddenClass);\n } else if (hasClassBackfaceClassAdded) {\n swiper.el.classList.remove(backFaceHiddenClass);\n }\n }\n}\nfunction updateAutoHeight(speed) {\n const swiper = this;\n const activeSlides = [];\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n let newHeight = 0;\n let i;\n if (typeof speed === 'number') {\n swiper.setTransition(speed);\n } else if (speed === true) {\n swiper.setTransition(swiper.params.speed);\n }\n const getSlideByIndex = index => {\n if (isVirtual) {\n return swiper.slides[swiper.getSlideIndexByData(index)];\n }\n return swiper.slides[index];\n };\n // Find slides currently in view\n if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {\n if (swiper.params.centeredSlides) {\n (swiper.visibleSlides || []).forEach(slide => {\n activeSlides.push(slide);\n });\n } else {\n for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {\n const index = swiper.activeIndex + i;\n if (index > swiper.slides.length && !isVirtual) break;\n activeSlides.push(getSlideByIndex(index));\n }\n }\n } else {\n activeSlides.push(getSlideByIndex(swiper.activeIndex));\n }\n\n // Find new height from highest slide in view\n for (i = 0; i < activeSlides.length; i += 1) {\n if (typeof activeSlides[i] !== 'undefined') {\n const height = activeSlides[i].offsetHeight;\n newHeight = height > newHeight ? height : newHeight;\n }\n }\n\n // Update Height\n if (newHeight || newHeight === 0) swiper.wrapperEl.style.height = `${newHeight}px`;\n}\nfunction updateSlidesOffset() {\n const swiper = this;\n const slides = swiper.slides;\n // eslint-disable-next-line\n const minusOffset = swiper.isElement ? swiper.isHorizontal() ? swiper.wrapperEl.offsetLeft : swiper.wrapperEl.offsetTop : 0;\n for (let i = 0; i < slides.length; i += 1) {\n slides[i].swiperSlideOffset = (swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop) - minusOffset - swiper.cssOverflowAdjustment();\n }\n}\nconst toggleSlideClasses$1 = (slideEl, condition, className) => {\n if (condition && !slideEl.classList.contains(className)) {\n slideEl.classList.add(className);\n } else if (!condition && slideEl.classList.contains(className)) {\n slideEl.classList.remove(className);\n }\n};\nfunction updateSlidesProgress(translate) {\n if (translate === void 0) {\n translate = this && this.translate || 0;\n }\n const swiper = this;\n const params = swiper.params;\n const {\n slides,\n rtlTranslate: rtl,\n snapGrid\n } = swiper;\n if (slides.length === 0) return;\n if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();\n let offsetCenter = -translate;\n if (rtl) offsetCenter = translate;\n swiper.visibleSlidesIndexes = [];\n swiper.visibleSlides = [];\n let spaceBetween = params.spaceBetween;\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiper.size;\n } else if (typeof spaceBetween === 'string') {\n spaceBetween = parseFloat(spaceBetween);\n }\n for (let i = 0; i < slides.length; i += 1) {\n const slide = slides[i];\n let slideOffset = slide.swiperSlideOffset;\n if (params.cssMode && params.centeredSlides) {\n slideOffset -= slides[0].swiperSlideOffset;\n }\n const slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween);\n const originalSlideProgress = (offsetCenter - snapGrid[0] + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween);\n const slideBefore = -(offsetCenter - slideOffset);\n const slideAfter = slideBefore + swiper.slidesSizesGrid[i];\n const isFullyVisible = slideBefore >= 0 && slideBefore <= swiper.size - swiper.slidesSizesGrid[i];\n const isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size;\n if (isVisible) {\n swiper.visibleSlides.push(slide);\n swiper.visibleSlidesIndexes.push(i);\n }\n toggleSlideClasses$1(slide, isVisible, params.slideVisibleClass);\n toggleSlideClasses$1(slide, isFullyVisible, params.slideFullyVisibleClass);\n slide.progress = rtl ? -slideProgress : slideProgress;\n slide.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress;\n }\n}\nfunction updateProgress(translate) {\n const swiper = this;\n if (typeof translate === 'undefined') {\n const multiplier = swiper.rtlTranslate ? -1 : 1;\n // eslint-disable-next-line\n translate = swiper && swiper.translate && swiper.translate * multiplier || 0;\n }\n const params = swiper.params;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n let {\n progress,\n isBeginning,\n isEnd,\n progressLoop\n } = swiper;\n const wasBeginning = isBeginning;\n const wasEnd = isEnd;\n if (translatesDiff === 0) {\n progress = 0;\n isBeginning = true;\n isEnd = true;\n } else {\n progress = (translate - swiper.minTranslate()) / translatesDiff;\n const isBeginningRounded = Math.abs(translate - swiper.minTranslate()) < 1;\n const isEndRounded = Math.abs(translate - swiper.maxTranslate()) < 1;\n isBeginning = isBeginningRounded || progress <= 0;\n isEnd = isEndRounded || progress >= 1;\n if (isBeginningRounded) progress = 0;\n if (isEndRounded) progress = 1;\n }\n if (params.loop) {\n const firstSlideIndex = swiper.getSlideIndexByData(0);\n const lastSlideIndex = swiper.getSlideIndexByData(swiper.slides.length - 1);\n const firstSlideTranslate = swiper.slidesGrid[firstSlideIndex];\n const lastSlideTranslate = swiper.slidesGrid[lastSlideIndex];\n const translateMax = swiper.slidesGrid[swiper.slidesGrid.length - 1];\n const translateAbs = Math.abs(translate);\n if (translateAbs >= firstSlideTranslate) {\n progressLoop = (translateAbs - firstSlideTranslate) / translateMax;\n } else {\n progressLoop = (translateAbs + translateMax - lastSlideTranslate) / translateMax;\n }\n if (progressLoop > 1) progressLoop -= 1;\n }\n Object.assign(swiper, {\n progress,\n progressLoop,\n isBeginning,\n isEnd\n });\n if (params.watchSlidesProgress || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate);\n if (isBeginning && !wasBeginning) {\n swiper.emit('reachBeginning toEdge');\n }\n if (isEnd && !wasEnd) {\n swiper.emit('reachEnd toEdge');\n }\n if (wasBeginning && !isBeginning || wasEnd && !isEnd) {\n swiper.emit('fromEdge');\n }\n swiper.emit('progress', progress);\n}\nconst toggleSlideClasses = (slideEl, condition, className) => {\n if (condition && !slideEl.classList.contains(className)) {\n slideEl.classList.add(className);\n } else if (!condition && slideEl.classList.contains(className)) {\n slideEl.classList.remove(className);\n }\n};\nfunction updateSlidesClasses() {\n const swiper = this;\n const {\n slides,\n params,\n slidesEl,\n activeIndex\n } = swiper;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;\n const getFilteredSlide = selector => {\n return elementChildren(slidesEl, `.${params.slideClass}${selector}, swiper-slide${selector}`)[0];\n };\n let activeSlide;\n let prevSlide;\n let nextSlide;\n if (isVirtual) {\n if (params.loop) {\n let slideIndex = activeIndex - swiper.virtual.slidesBefore;\n if (slideIndex < 0) slideIndex = swiper.virtual.slides.length + slideIndex;\n if (slideIndex >= swiper.virtual.slides.length) slideIndex -= swiper.virtual.slides.length;\n activeSlide = getFilteredSlide(`[data-swiper-slide-index=\"${slideIndex}\"]`);\n } else {\n activeSlide = getFilteredSlide(`[data-swiper-slide-index=\"${activeIndex}\"]`);\n }\n } else {\n if (gridEnabled) {\n activeSlide = slides.filter(slideEl => slideEl.column === activeIndex)[0];\n nextSlide = slides.filter(slideEl => slideEl.column === activeIndex + 1)[0];\n prevSlide = slides.filter(slideEl => slideEl.column === activeIndex - 1)[0];\n } else {\n activeSlide = slides[activeIndex];\n }\n }\n if (activeSlide) {\n if (!gridEnabled) {\n // Next Slide\n nextSlide = elementNextAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0];\n if (params.loop && !nextSlide) {\n nextSlide = slides[0];\n }\n\n // Prev Slide\n prevSlide = elementPrevAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0];\n if (params.loop && !prevSlide === 0) {\n prevSlide = slides[slides.length - 1];\n }\n }\n }\n slides.forEach(slideEl => {\n toggleSlideClasses(slideEl, slideEl === activeSlide, params.slideActiveClass);\n toggleSlideClasses(slideEl, slideEl === nextSlide, params.slideNextClass);\n toggleSlideClasses(slideEl, slideEl === prevSlide, params.slidePrevClass);\n });\n swiper.emitSlidesClasses();\n}\nconst processLazyPreloader = (swiper, imageEl) => {\n if (!swiper || swiper.destroyed || !swiper.params) return;\n const slideSelector = () => swiper.isElement ? `swiper-slide` : `.${swiper.params.slideClass}`;\n const slideEl = imageEl.closest(slideSelector());\n if (slideEl) {\n let lazyEl = slideEl.querySelector(`.${swiper.params.lazyPreloaderClass}`);\n if (!lazyEl && swiper.isElement) {\n if (slideEl.shadowRoot) {\n lazyEl = slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`);\n } else {\n // init later\n requestAnimationFrame(() => {\n if (slideEl.shadowRoot) {\n lazyEl = slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`);\n if (lazyEl) lazyEl.remove();\n }\n });\n }\n }\n if (lazyEl) lazyEl.remove();\n }\n};\nconst unlazy = (swiper, index) => {\n if (!swiper.slides[index]) return;\n const imageEl = swiper.slides[index].querySelector('[loading=\"lazy\"]');\n if (imageEl) imageEl.removeAttribute('loading');\n};\nconst preload = swiper => {\n if (!swiper || swiper.destroyed || !swiper.params) return;\n let amount = swiper.params.lazyPreloadPrevNext;\n const len = swiper.slides.length;\n if (!len || !amount || amount < 0) return;\n amount = Math.min(amount, len);\n const slidesPerView = swiper.params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(swiper.params.slidesPerView);\n const activeIndex = swiper.activeIndex;\n if (swiper.params.grid && swiper.params.grid.rows > 1) {\n const activeColumn = activeIndex;\n const preloadColumns = [activeColumn - amount];\n preloadColumns.push(...Array.from({\n length: amount\n }).map((_, i) => {\n return activeColumn + slidesPerView + i;\n }));\n swiper.slides.forEach((slideEl, i) => {\n if (preloadColumns.includes(slideEl.column)) unlazy(swiper, i);\n });\n return;\n }\n const slideIndexLastInView = activeIndex + slidesPerView - 1;\n if (swiper.params.rewind || swiper.params.loop) {\n for (let i = activeIndex - amount; i <= slideIndexLastInView + amount; i += 1) {\n const realIndex = (i % len + len) % len;\n if (realIndex < activeIndex || realIndex > slideIndexLastInView) unlazy(swiper, realIndex);\n }\n } else {\n for (let i = Math.max(activeIndex - amount, 0); i <= Math.min(slideIndexLastInView + amount, len - 1); i += 1) {\n if (i !== activeIndex && (i > slideIndexLastInView || i < activeIndex)) {\n unlazy(swiper, i);\n }\n }\n }\n};\nfunction getActiveIndexByTranslate(swiper) {\n const {\n slidesGrid,\n params\n } = swiper;\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n let activeIndex;\n for (let i = 0; i < slidesGrid.length; i += 1) {\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) {\n activeIndex = i;\n } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {\n activeIndex = i + 1;\n }\n } else if (translate >= slidesGrid[i]) {\n activeIndex = i;\n }\n }\n // Normalize slideIndex\n if (params.normalizeSlideIndex) {\n if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;\n }\n return activeIndex;\n}\nfunction updateActiveIndex(newActiveIndex) {\n const swiper = this;\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n const {\n snapGrid,\n params,\n activeIndex: previousIndex,\n realIndex: previousRealIndex,\n snapIndex: previousSnapIndex\n } = swiper;\n let activeIndex = newActiveIndex;\n let snapIndex;\n const getVirtualRealIndex = aIndex => {\n let realIndex = aIndex - swiper.virtual.slidesBefore;\n if (realIndex < 0) {\n realIndex = swiper.virtual.slides.length + realIndex;\n }\n if (realIndex >= swiper.virtual.slides.length) {\n realIndex -= swiper.virtual.slides.length;\n }\n return realIndex;\n };\n if (typeof activeIndex === 'undefined') {\n activeIndex = getActiveIndexByTranslate(swiper);\n }\n if (snapGrid.indexOf(translate) >= 0) {\n snapIndex = snapGrid.indexOf(translate);\n } else {\n const skip = Math.min(params.slidesPerGroupSkip, activeIndex);\n snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);\n }\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n if (activeIndex === previousIndex && !swiper.params.loop) {\n if (snapIndex !== previousSnapIndex) {\n swiper.snapIndex = snapIndex;\n swiper.emit('snapIndexChange');\n }\n return;\n }\n if (activeIndex === previousIndex && swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) {\n swiper.realIndex = getVirtualRealIndex(activeIndex);\n return;\n }\n const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;\n\n // Get real index\n let realIndex;\n if (swiper.virtual && params.virtual.enabled && params.loop) {\n realIndex = getVirtualRealIndex(activeIndex);\n } else if (gridEnabled) {\n const firstSlideInColumn = swiper.slides.filter(slideEl => slideEl.column === activeIndex)[0];\n let activeSlideIndex = parseInt(firstSlideInColumn.getAttribute('data-swiper-slide-index'), 10);\n if (Number.isNaN(activeSlideIndex)) {\n activeSlideIndex = Math.max(swiper.slides.indexOf(firstSlideInColumn), 0);\n }\n realIndex = Math.floor(activeSlideIndex / params.grid.rows);\n } else if (swiper.slides[activeIndex]) {\n const slideIndex = swiper.slides[activeIndex].getAttribute('data-swiper-slide-index');\n if (slideIndex) {\n realIndex = parseInt(slideIndex, 10);\n } else {\n realIndex = activeIndex;\n }\n } else {\n realIndex = activeIndex;\n }\n Object.assign(swiper, {\n previousSnapIndex,\n snapIndex,\n previousRealIndex,\n realIndex,\n previousIndex,\n activeIndex\n });\n if (swiper.initialized) {\n preload(swiper);\n }\n swiper.emit('activeIndexChange');\n swiper.emit('snapIndexChange');\n if (swiper.initialized || swiper.params.runCallbacksOnInit) {\n if (previousRealIndex !== realIndex) {\n swiper.emit('realIndexChange');\n }\n swiper.emit('slideChange');\n }\n}\nfunction updateClickedSlide(el, path) {\n const swiper = this;\n const params = swiper.params;\n let slide = el.closest(`.${params.slideClass}, swiper-slide`);\n if (!slide && swiper.isElement && path && path.length > 1 && path.includes(el)) {\n [...path.slice(path.indexOf(el) + 1, path.length)].forEach(pathEl => {\n if (!slide && pathEl.matches && pathEl.matches(`.${params.slideClass}, swiper-slide`)) {\n slide = pathEl;\n }\n });\n }\n let slideFound = false;\n let slideIndex;\n if (slide) {\n for (let i = 0; i < swiper.slides.length; i += 1) {\n if (swiper.slides[i] === slide) {\n slideFound = true;\n slideIndex = i;\n break;\n }\n }\n }\n if (slide && slideFound) {\n swiper.clickedSlide = slide;\n if (swiper.virtual && swiper.params.virtual.enabled) {\n swiper.clickedIndex = parseInt(slide.getAttribute('data-swiper-slide-index'), 10);\n } else {\n swiper.clickedIndex = slideIndex;\n }\n } else {\n swiper.clickedSlide = undefined;\n swiper.clickedIndex = undefined;\n return;\n }\n if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {\n swiper.slideToClickedSlide();\n }\n}\nvar update = {\n updateSize,\n updateSlides,\n updateAutoHeight,\n updateSlidesOffset,\n updateSlidesProgress,\n updateProgress,\n updateSlidesClasses,\n updateActiveIndex,\n updateClickedSlide\n};\nfunction getSwiperTranslate(axis) {\n if (axis === void 0) {\n axis = this.isHorizontal() ? 'x' : 'y';\n }\n const swiper = this;\n const {\n params,\n rtlTranslate: rtl,\n translate,\n wrapperEl\n } = swiper;\n if (params.virtualTranslate) {\n return rtl ? -translate : translate;\n }\n if (params.cssMode) {\n return translate;\n }\n let currentTranslate = getTranslate(wrapperEl, axis);\n currentTranslate += swiper.cssOverflowAdjustment();\n if (rtl) currentTranslate = -currentTranslate;\n return currentTranslate || 0;\n}\nfunction setTranslate(translate, byController) {\n const swiper = this;\n const {\n rtlTranslate: rtl,\n params,\n wrapperEl,\n progress\n } = swiper;\n let x = 0;\n let y = 0;\n const z = 0;\n if (swiper.isHorizontal()) {\n x = rtl ? -translate : translate;\n } else {\n y = translate;\n }\n if (params.roundLengths) {\n x = Math.floor(x);\n y = Math.floor(y);\n }\n swiper.previousTranslate = swiper.translate;\n swiper.translate = swiper.isHorizontal() ? x : y;\n if (params.cssMode) {\n wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y;\n } else if (!params.virtualTranslate) {\n if (swiper.isHorizontal()) {\n x -= swiper.cssOverflowAdjustment();\n } else {\n y -= swiper.cssOverflowAdjustment();\n }\n wrapperEl.style.transform = `translate3d(${x}px, ${y}px, ${z}px)`;\n }\n\n // Check if we need to update progress\n let newProgress;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (translate - swiper.minTranslate()) / translatesDiff;\n }\n if (newProgress !== progress) {\n swiper.updateProgress(translate);\n }\n swiper.emit('setTranslate', swiper.translate, byController);\n}\nfunction minTranslate() {\n return -this.snapGrid[0];\n}\nfunction maxTranslate() {\n return -this.snapGrid[this.snapGrid.length - 1];\n}\nfunction translateTo(translate, speed, runCallbacks, translateBounds, internal) {\n if (translate === void 0) {\n translate = 0;\n }\n if (speed === void 0) {\n speed = this.params.speed;\n }\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n if (translateBounds === void 0) {\n translateBounds = true;\n }\n const swiper = this;\n const {\n params,\n wrapperEl\n } = swiper;\n if (swiper.animating && params.preventInteractionOnTransition) {\n return false;\n }\n const minTranslate = swiper.minTranslate();\n const maxTranslate = swiper.maxTranslate();\n let newTranslate;\n if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate;\n\n // Update progress\n swiper.updateProgress(newTranslate);\n if (params.cssMode) {\n const isH = swiper.isHorizontal();\n if (speed === 0) {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\n } else {\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({\n swiper,\n targetPosition: -newTranslate,\n side: isH ? 'left' : 'top'\n });\n return true;\n }\n wrapperEl.scrollTo({\n [isH ? 'left' : 'top']: -newTranslate,\n behavior: 'smooth'\n });\n }\n return true;\n }\n if (speed === 0) {\n swiper.setTransition(0);\n swiper.setTranslate(newTranslate);\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionEnd');\n }\n } else {\n swiper.setTransition(speed);\n swiper.setTranslate(newTranslate);\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionStart');\n }\n if (!swiper.animating) {\n swiper.animating = true;\n if (!swiper.onTranslateToWrapperTransitionEnd) {\n swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.wrapperEl.removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n swiper.onTranslateToWrapperTransitionEnd = null;\n delete swiper.onTranslateToWrapperTransitionEnd;\n swiper.animating = false;\n if (runCallbacks) {\n swiper.emit('transitionEnd');\n }\n };\n }\n swiper.wrapperEl.addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n }\n }\n return true;\n}\nvar translate = {\n getTranslate: getSwiperTranslate,\n setTranslate,\n minTranslate,\n maxTranslate,\n translateTo\n};\nfunction setTransition(duration, byController) {\n const swiper = this;\n if (!swiper.params.cssMode) {\n swiper.wrapperEl.style.transitionDuration = `${duration}ms`;\n swiper.wrapperEl.style.transitionDelay = duration === 0 ? `0ms` : '';\n }\n swiper.emit('setTransition', duration, byController);\n}\nfunction transitionEmit(_ref) {\n let {\n swiper,\n runCallbacks,\n direction,\n step\n } = _ref;\n const {\n activeIndex,\n previousIndex\n } = swiper;\n let dir = direction;\n if (!dir) {\n if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\n }\n swiper.emit(`transition${step}`);\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit(`slideResetTransition${step}`);\n return;\n }\n swiper.emit(`slideChangeTransition${step}`);\n if (dir === 'next') {\n swiper.emit(`slideNextTransition${step}`);\n } else {\n swiper.emit(`slidePrevTransition${step}`);\n }\n }\n}\nfunction transitionStart(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n const swiper = this;\n const {\n params\n } = swiper;\n if (params.cssMode) return;\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n transitionEmit({\n swiper,\n runCallbacks,\n direction,\n step: 'Start'\n });\n}\nfunction transitionEnd(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n const swiper = this;\n const {\n params\n } = swiper;\n swiper.animating = false;\n if (params.cssMode) return;\n swiper.setTransition(0);\n transitionEmit({\n swiper,\n runCallbacks,\n direction,\n step: 'End'\n });\n}\nvar transition = {\n setTransition,\n transitionStart,\n transitionEnd\n};\nfunction slideTo(index, speed, runCallbacks, internal, initial) {\n if (index === void 0) {\n index = 0;\n }\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n if (typeof index === 'string') {\n index = parseInt(index, 10);\n }\n const swiper = this;\n let slideIndex = index;\n if (slideIndex < 0) slideIndex = 0;\n const {\n params,\n snapGrid,\n slidesGrid,\n previousIndex,\n activeIndex,\n rtlTranslate: rtl,\n wrapperEl,\n enabled\n } = swiper;\n if (!enabled && !internal && !initial || swiper.destroyed || swiper.animating && params.preventInteractionOnTransition) {\n return false;\n }\n if (typeof speed === 'undefined') {\n speed = swiper.params.speed;\n }\n const skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);\n let snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n const translate = -snapGrid[snapIndex];\n // Normalize slideIndex\n if (params.normalizeSlideIndex) {\n for (let i = 0; i < slidesGrid.length; i += 1) {\n const normalizedTranslate = -Math.floor(translate * 100);\n const normalizedGrid = Math.floor(slidesGrid[i] * 100);\n const normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100);\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2) {\n slideIndex = i;\n } else if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext) {\n slideIndex = i + 1;\n }\n } else if (normalizedTranslate >= normalizedGrid) {\n slideIndex = i;\n }\n }\n }\n // Directions locks\n if (swiper.initialized && slideIndex !== activeIndex) {\n if (!swiper.allowSlideNext && (rtl ? translate > swiper.translate && translate > swiper.minTranslate() : translate < swiper.translate && translate < swiper.minTranslate())) {\n return false;\n }\n if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {\n if ((activeIndex || 0) !== slideIndex) {\n return false;\n }\n }\n }\n if (slideIndex !== (previousIndex || 0) && runCallbacks) {\n swiper.emit('beforeSlideChangeStart');\n }\n\n // Update progress\n swiper.updateProgress(translate);\n let direction;\n if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset';\n\n // initial virtual\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n const isInitialVirtual = isVirtual && initial;\n // Update Index\n if (!isInitialVirtual && (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate)) {\n swiper.updateActiveIndex(slideIndex);\n // Update Height\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n swiper.updateSlidesClasses();\n if (params.effect !== 'slide') {\n swiper.setTranslate(translate);\n }\n if (direction !== 'reset') {\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n }\n return false;\n }\n if (params.cssMode) {\n const isH = swiper.isHorizontal();\n const t = rtl ? translate : -translate;\n if (speed === 0) {\n if (isVirtual) {\n swiper.wrapperEl.style.scrollSnapType = 'none';\n swiper._immediateVirtual = true;\n }\n if (isVirtual && !swiper._cssModeVirtualInitialSet && swiper.params.initialSlide > 0) {\n swiper._cssModeVirtualInitialSet = true;\n requestAnimationFrame(() => {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n });\n } else {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n }\n if (isVirtual) {\n requestAnimationFrame(() => {\n swiper.wrapperEl.style.scrollSnapType = '';\n swiper._immediateVirtual = false;\n });\n }\n } else {\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({\n swiper,\n targetPosition: t,\n side: isH ? 'left' : 'top'\n });\n return true;\n }\n wrapperEl.scrollTo({\n [isH ? 'left' : 'top']: t,\n behavior: 'smooth'\n });\n }\n return true;\n }\n swiper.setTransition(speed);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n if (speed === 0) {\n swiper.transitionEnd(runCallbacks, direction);\n } else if (!swiper.animating) {\n swiper.animating = true;\n if (!swiper.onSlideToWrapperTransitionEnd) {\n swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.wrapperEl.removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.onSlideToWrapperTransitionEnd = null;\n delete swiper.onSlideToWrapperTransitionEnd;\n swiper.transitionEnd(runCallbacks, direction);\n };\n }\n swiper.wrapperEl.addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n }\n return true;\n}\nfunction slideToLoop(index, speed, runCallbacks, internal) {\n if (index === void 0) {\n index = 0;\n }\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n if (typeof index === 'string') {\n const indexAsNumber = parseInt(index, 10);\n index = indexAsNumber;\n }\n const swiper = this;\n if (swiper.destroyed) return;\n if (typeof speed === 'undefined') {\n speed = swiper.params.speed;\n }\n const gridEnabled = swiper.grid && swiper.params.grid && swiper.params.grid.rows > 1;\n let newIndex = index;\n if (swiper.params.loop) {\n if (swiper.virtual && swiper.params.virtual.enabled) {\n // eslint-disable-next-line\n newIndex = newIndex + swiper.virtual.slidesBefore;\n } else {\n let targetSlideIndex;\n if (gridEnabled) {\n const slideIndex = newIndex * swiper.params.grid.rows;\n targetSlideIndex = swiper.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex)[0].column;\n } else {\n targetSlideIndex = swiper.getSlideIndexByData(newIndex);\n }\n const cols = gridEnabled ? Math.ceil(swiper.slides.length / swiper.params.grid.rows) : swiper.slides.length;\n const {\n centeredSlides\n } = swiper.params;\n let slidesPerView = swiper.params.slidesPerView;\n if (slidesPerView === 'auto') {\n slidesPerView = swiper.slidesPerViewDynamic();\n } else {\n slidesPerView = Math.ceil(parseFloat(swiper.params.slidesPerView, 10));\n if (centeredSlides && slidesPerView % 2 === 0) {\n slidesPerView = slidesPerView + 1;\n }\n }\n let needLoopFix = cols - targetSlideIndex < slidesPerView;\n if (centeredSlides) {\n needLoopFix = needLoopFix || targetSlideIndex < Math.ceil(slidesPerView / 2);\n }\n if (internal && centeredSlides && swiper.params.slidesPerView !== 'auto' && !gridEnabled) {\n needLoopFix = false;\n }\n if (needLoopFix) {\n const direction = centeredSlides ? targetSlideIndex < swiper.activeIndex ? 'prev' : 'next' : targetSlideIndex - swiper.activeIndex - 1 < swiper.params.slidesPerView ? 'next' : 'prev';\n swiper.loopFix({\n direction,\n slideTo: true,\n activeSlideIndex: direction === 'next' ? targetSlideIndex + 1 : targetSlideIndex - cols + 1,\n slideRealIndex: direction === 'next' ? swiper.realIndex : undefined\n });\n }\n if (gridEnabled) {\n const slideIndex = newIndex * swiper.params.grid.rows;\n newIndex = swiper.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === slideIndex)[0].column;\n } else {\n newIndex = swiper.getSlideIndexByData(newIndex);\n }\n }\n }\n requestAnimationFrame(() => {\n swiper.slideTo(newIndex, speed, runCallbacks, internal);\n });\n return swiper;\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slideNext(speed, runCallbacks, internal) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n const swiper = this;\n const {\n enabled,\n params,\n animating\n } = swiper;\n if (!enabled || swiper.destroyed) return swiper;\n if (typeof speed === 'undefined') {\n speed = swiper.params.speed;\n }\n let perGroup = params.slidesPerGroup;\n if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n perGroup = Math.max(swiper.slidesPerViewDynamic('current', true), 1);\n }\n const increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n if (params.loop) {\n if (animating && !isVirtual && params.loopPreventsSliding) return false;\n swiper.loopFix({\n direction: 'next'\n });\n // eslint-disable-next-line\n swiper._clientLeft = swiper.wrapperEl.clientLeft;\n if (swiper.activeIndex === swiper.slides.length - 1 && params.cssMode) {\n requestAnimationFrame(() => {\n swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n });\n return true;\n }\n }\n if (params.rewind && swiper.isEnd) {\n return swiper.slideTo(0, speed, runCallbacks, internal);\n }\n return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slidePrev(speed, runCallbacks, internal) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n const swiper = this;\n const {\n params,\n snapGrid,\n slidesGrid,\n rtlTranslate,\n enabled,\n animating\n } = swiper;\n if (!enabled || swiper.destroyed) return swiper;\n if (typeof speed === 'undefined') {\n speed = swiper.params.speed;\n }\n const isVirtual = swiper.virtual && params.virtual.enabled;\n if (params.loop) {\n if (animating && !isVirtual && params.loopPreventsSliding) return false;\n swiper.loopFix({\n direction: 'prev'\n });\n // eslint-disable-next-line\n swiper._clientLeft = swiper.wrapperEl.clientLeft;\n }\n const translate = rtlTranslate ? swiper.translate : -swiper.translate;\n function normalize(val) {\n if (val < 0) return -Math.floor(Math.abs(val));\n return Math.floor(val);\n }\n const normalizedTranslate = normalize(translate);\n const normalizedSnapGrid = snapGrid.map(val => normalize(val));\n let prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];\n if (typeof prevSnap === 'undefined' && params.cssMode) {\n let prevSnapIndex;\n snapGrid.forEach((snap, snapIndex) => {\n if (normalizedTranslate >= snap) {\n // prevSnap = snap;\n prevSnapIndex = snapIndex;\n }\n });\n if (typeof prevSnapIndex !== 'undefined') {\n prevSnap = snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex];\n }\n }\n let prevIndex = 0;\n if (typeof prevSnap !== 'undefined') {\n prevIndex = slidesGrid.indexOf(prevSnap);\n if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;\n if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n prevIndex = prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1;\n prevIndex = Math.max(prevIndex, 0);\n }\n }\n if (params.rewind && swiper.isBeginning) {\n const lastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n return swiper.slideTo(lastIndex, speed, runCallbacks, internal);\n } else if (params.loop && swiper.activeIndex === 0 && params.cssMode) {\n requestAnimationFrame(() => {\n swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n });\n return true;\n }\n return swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slideReset(speed, runCallbacks, internal) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n const swiper = this;\n if (swiper.destroyed) return;\n if (typeof speed === 'undefined') {\n speed = swiper.params.speed;\n }\n return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slideToClosest(speed, runCallbacks, internal, threshold) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n if (threshold === void 0) {\n threshold = 0.5;\n }\n const swiper = this;\n if (swiper.destroyed) return;\n if (typeof speed === 'undefined') {\n speed = swiper.params.speed;\n }\n let index = swiper.activeIndex;\n const skip = Math.min(swiper.params.slidesPerGroupSkip, index);\n const snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n if (translate >= swiper.snapGrid[snapIndex]) {\n // The current translate is on or after the current snap index, so the choice\n // is between the current index and the one after it.\n const currentSnap = swiper.snapGrid[snapIndex];\n const nextSnap = swiper.snapGrid[snapIndex + 1];\n if (translate - currentSnap > (nextSnap - currentSnap) * threshold) {\n index += swiper.params.slidesPerGroup;\n }\n } else {\n // The current translate is before the current snap index, so the choice\n // is between the current index and the one before it.\n const prevSnap = swiper.snapGrid[snapIndex - 1];\n const currentSnap = swiper.snapGrid[snapIndex];\n if (translate - prevSnap <= (currentSnap - prevSnap) * threshold) {\n index -= swiper.params.slidesPerGroup;\n }\n }\n index = Math.max(index, 0);\n index = Math.min(index, swiper.slidesGrid.length - 1);\n return swiper.slideTo(index, speed, runCallbacks, internal);\n}\nfunction slideToClickedSlide() {\n const swiper = this;\n if (swiper.destroyed) return;\n const {\n params,\n slidesEl\n } = swiper;\n const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;\n let slideToIndex = swiper.clickedIndex;\n let realIndex;\n const slideSelector = swiper.isElement ? `swiper-slide` : `.${params.slideClass}`;\n if (params.loop) {\n if (swiper.animating) return;\n realIndex = parseInt(swiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10);\n if (params.centeredSlides) {\n if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) {\n swiper.loopFix();\n slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index=\"${realIndex}\"]`)[0]);\n nextTick(() => {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else if (slideToIndex > swiper.slides.length - slidesPerView) {\n swiper.loopFix();\n slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index=\"${realIndex}\"]`)[0]);\n nextTick(() => {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else {\n swiper.slideTo(slideToIndex);\n }\n}\nvar slide = {\n slideTo,\n slideToLoop,\n slideNext,\n slidePrev,\n slideReset,\n slideToClosest,\n slideToClickedSlide\n};\nfunction loopCreate(slideRealIndex) {\n const swiper = this;\n const {\n params,\n slidesEl\n } = swiper;\n if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return;\n const initSlides = () => {\n const slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`);\n slides.forEach((el, index) => {\n el.setAttribute('data-swiper-slide-index', index);\n });\n };\n const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;\n const slidesPerGroup = params.slidesPerGroup * (gridEnabled ? params.grid.rows : 1);\n const shouldFillGroup = swiper.slides.length % slidesPerGroup !== 0;\n const shouldFillGrid = gridEnabled && swiper.slides.length % params.grid.rows !== 0;\n const addBlankSlides = amountOfSlides => {\n for (let i = 0; i < amountOfSlides; i += 1) {\n const slideEl = swiper.isElement ? createElement('swiper-slide', [params.slideBlankClass]) : createElement('div', [params.slideClass, params.slideBlankClass]);\n swiper.slidesEl.append(slideEl);\n }\n };\n if (shouldFillGroup) {\n if (params.loopAddBlankSlides) {\n const slidesToAdd = slidesPerGroup - swiper.slides.length % slidesPerGroup;\n addBlankSlides(slidesToAdd);\n swiper.recalcSlides();\n swiper.updateSlides();\n } else {\n showWarning('Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)');\n }\n initSlides();\n } else if (shouldFillGrid) {\n if (params.loopAddBlankSlides) {\n const slidesToAdd = params.grid.rows - swiper.slides.length % params.grid.rows;\n addBlankSlides(slidesToAdd);\n swiper.recalcSlides();\n swiper.updateSlides();\n } else {\n showWarning('Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)');\n }\n initSlides();\n } else {\n initSlides();\n }\n swiper.loopFix({\n slideRealIndex,\n direction: params.centeredSlides ? undefined : 'next'\n });\n}\nfunction loopFix(_temp) {\n let {\n slideRealIndex,\n slideTo = true,\n direction,\n setTranslate,\n activeSlideIndex,\n byController,\n byMousewheel\n } = _temp === void 0 ? {} : _temp;\n const swiper = this;\n if (!swiper.params.loop) return;\n swiper.emit('beforeLoopFix');\n const {\n slides,\n allowSlidePrev,\n allowSlideNext,\n slidesEl,\n params\n } = swiper;\n const {\n centeredSlides\n } = params;\n swiper.allowSlidePrev = true;\n swiper.allowSlideNext = true;\n if (swiper.virtual && params.virtual.enabled) {\n if (slideTo) {\n if (!params.centeredSlides && swiper.snapIndex === 0) {\n swiper.slideTo(swiper.virtual.slides.length, 0, false, true);\n } else if (params.centeredSlides && swiper.snapIndex < params.slidesPerView) {\n swiper.slideTo(swiper.virtual.slides.length + swiper.snapIndex, 0, false, true);\n } else if (swiper.snapIndex === swiper.snapGrid.length - 1) {\n swiper.slideTo(swiper.virtual.slidesBefore, 0, false, true);\n }\n }\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n swiper.emit('loopFix');\n return;\n }\n let slidesPerView = params.slidesPerView;\n if (slidesPerView === 'auto') {\n slidesPerView = swiper.slidesPerViewDynamic();\n } else {\n slidesPerView = Math.ceil(parseFloat(params.slidesPerView, 10));\n if (centeredSlides && slidesPerView % 2 === 0) {\n slidesPerView = slidesPerView + 1;\n }\n }\n const slidesPerGroup = params.slidesPerGroupAuto ? slidesPerView : params.slidesPerGroup;\n let loopedSlides = slidesPerGroup;\n if (loopedSlides % slidesPerGroup !== 0) {\n loopedSlides += slidesPerGroup - loopedSlides % slidesPerGroup;\n }\n loopedSlides += params.loopAdditionalSlides;\n swiper.loopedSlides = loopedSlides;\n const gridEnabled = swiper.grid && params.grid && params.grid.rows > 1;\n if (slides.length < slidesPerView + loopedSlides) {\n showWarning('Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled and not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters');\n } else if (gridEnabled && params.grid.fill === 'row') {\n showWarning('Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`');\n }\n const prependSlidesIndexes = [];\n const appendSlidesIndexes = [];\n let activeIndex = swiper.activeIndex;\n if (typeof activeSlideIndex === 'undefined') {\n activeSlideIndex = swiper.getSlideIndex(slides.filter(el => el.classList.contains(params.slideActiveClass))[0]);\n } else {\n activeIndex = activeSlideIndex;\n }\n const isNext = direction === 'next' || !direction;\n const isPrev = direction === 'prev' || !direction;\n let slidesPrepended = 0;\n let slidesAppended = 0;\n const cols = gridEnabled ? Math.ceil(slides.length / params.grid.rows) : slides.length;\n const activeColIndex = gridEnabled ? slides[activeSlideIndex].column : activeSlideIndex;\n const activeColIndexWithShift = activeColIndex + (centeredSlides && typeof setTranslate === 'undefined' ? -slidesPerView / 2 + 0.5 : 0);\n // prepend last slides before start\n if (activeColIndexWithShift < loopedSlides) {\n slidesPrepended = Math.max(loopedSlides - activeColIndexWithShift, slidesPerGroup);\n for (let i = 0; i < loopedSlides - activeColIndexWithShift; i += 1) {\n const index = i - Math.floor(i / cols) * cols;\n if (gridEnabled) {\n const colIndexToPrepend = cols - index - 1;\n for (let i = slides.length - 1; i >= 0; i -= 1) {\n if (slides[i].column === colIndexToPrepend) prependSlidesIndexes.push(i);\n }\n // slides.forEach((slide, slideIndex) => {\n // if (slide.column === colIndexToPrepend) prependSlidesIndexes.push(slideIndex);\n // });\n } else {\n prependSlidesIndexes.push(cols - index - 1);\n }\n }\n } else if (activeColIndexWithShift + slidesPerView > cols - loopedSlides) {\n slidesAppended = Math.max(activeColIndexWithShift - (cols - loopedSlides * 2), slidesPerGroup);\n for (let i = 0; i < slidesAppended; i += 1) {\n const index = i - Math.floor(i / cols) * cols;\n if (gridEnabled) {\n slides.forEach((slide, slideIndex) => {\n if (slide.column === index) appendSlidesIndexes.push(slideIndex);\n });\n } else {\n appendSlidesIndexes.push(index);\n }\n }\n }\n swiper.__preventObserver__ = true;\n requestAnimationFrame(() => {\n swiper.__preventObserver__ = false;\n });\n if (isPrev) {\n prependSlidesIndexes.forEach(index => {\n slides[index].swiperLoopMoveDOM = true;\n slidesEl.prepend(slides[index]);\n slides[index].swiperLoopMoveDOM = false;\n });\n }\n if (isNext) {\n appendSlidesIndexes.forEach(index => {\n slides[index].swiperLoopMoveDOM = true;\n slidesEl.append(slides[index]);\n slides[index].swiperLoopMoveDOM = false;\n });\n }\n swiper.recalcSlides();\n if (params.slidesPerView === 'auto') {\n swiper.updateSlides();\n } else if (gridEnabled && (prependSlidesIndexes.length > 0 && isPrev || appendSlidesIndexes.length > 0 && isNext)) {\n swiper.slides.forEach((slide, slideIndex) => {\n swiper.grid.updateSlide(slideIndex, slide, swiper.slides);\n });\n }\n if (params.watchSlidesProgress) {\n swiper.updateSlidesOffset();\n }\n if (slideTo) {\n if (prependSlidesIndexes.length > 0 && isPrev) {\n if (typeof slideRealIndex === 'undefined') {\n const currentSlideTranslate = swiper.slidesGrid[activeIndex];\n const newSlideTranslate = swiper.slidesGrid[activeIndex + slidesPrepended];\n const diff = newSlideTranslate - currentSlideTranslate;\n if (byMousewheel) {\n swiper.setTranslate(swiper.translate - diff);\n } else {\n swiper.slideTo(activeIndex + Math.ceil(slidesPrepended), 0, false, true);\n if (setTranslate) {\n swiper.touchEventsData.startTranslate = swiper.touchEventsData.startTranslate - diff;\n swiper.touchEventsData.currentTranslate = swiper.touchEventsData.currentTranslate - diff;\n }\n }\n } else {\n if (setTranslate) {\n const shift = gridEnabled ? prependSlidesIndexes.length / params.grid.rows : prependSlidesIndexes.length;\n swiper.slideTo(swiper.activeIndex + shift, 0, false, true);\n swiper.touchEventsData.currentTranslate = swiper.translate;\n }\n }\n } else if (appendSlidesIndexes.length > 0 && isNext) {\n if (typeof slideRealIndex === 'undefined') {\n const currentSlideTranslate = swiper.slidesGrid[activeIndex];\n const newSlideTranslate = swiper.slidesGrid[activeIndex - slidesAppended];\n const diff = newSlideTranslate - currentSlideTranslate;\n if (byMousewheel) {\n swiper.setTranslate(swiper.translate - diff);\n } else {\n swiper.slideTo(activeIndex - slidesAppended, 0, false, true);\n if (setTranslate) {\n swiper.touchEventsData.startTranslate = swiper.touchEventsData.startTranslate - diff;\n swiper.touchEventsData.currentTranslate = swiper.touchEventsData.currentTranslate - diff;\n }\n }\n } else {\n const shift = gridEnabled ? appendSlidesIndexes.length / params.grid.rows : appendSlidesIndexes.length;\n swiper.slideTo(swiper.activeIndex - shift, 0, false, true);\n }\n }\n }\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n if (swiper.controller && swiper.controller.control && !byController) {\n const loopParams = {\n slideRealIndex,\n direction,\n setTranslate,\n activeSlideIndex,\n byController: true\n };\n if (Array.isArray(swiper.controller.control)) {\n swiper.controller.control.forEach(c => {\n if (!c.destroyed && c.params.loop) c.loopFix({\n ...loopParams,\n slideTo: c.params.slidesPerView === params.slidesPerView ? slideTo : false\n });\n });\n } else if (swiper.controller.control instanceof swiper.constructor && swiper.controller.control.params.loop) {\n swiper.controller.control.loopFix({\n ...loopParams,\n slideTo: swiper.controller.control.params.slidesPerView === params.slidesPerView ? slideTo : false\n });\n }\n }\n swiper.emit('loopFix');\n}\nfunction loopDestroy() {\n const swiper = this;\n const {\n params,\n slidesEl\n } = swiper;\n if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return;\n swiper.recalcSlides();\n const newSlidesOrder = [];\n swiper.slides.forEach(slideEl => {\n const index = typeof slideEl.swiperSlideIndex === 'undefined' ? slideEl.getAttribute('data-swiper-slide-index') * 1 : slideEl.swiperSlideIndex;\n newSlidesOrder[index] = slideEl;\n });\n swiper.slides.forEach(slideEl => {\n slideEl.removeAttribute('data-swiper-slide-index');\n });\n newSlidesOrder.forEach(slideEl => {\n slidesEl.append(slideEl);\n });\n swiper.recalcSlides();\n swiper.slideTo(swiper.realIndex, 0);\n}\nvar loop = {\n loopCreate,\n loopFix,\n loopDestroy\n};\nfunction setGrabCursor(moving) {\n const swiper = this;\n if (!swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;\n const el = swiper.params.touchEventsTarget === 'container' ? swiper.el : swiper.wrapperEl;\n if (swiper.isElement) {\n swiper.__preventObserver__ = true;\n }\n el.style.cursor = 'move';\n el.style.cursor = moving ? 'grabbing' : 'grab';\n if (swiper.isElement) {\n requestAnimationFrame(() => {\n swiper.__preventObserver__ = false;\n });\n }\n}\nfunction unsetGrabCursor() {\n const swiper = this;\n if (swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) {\n return;\n }\n if (swiper.isElement) {\n swiper.__preventObserver__ = true;\n }\n swiper[swiper.params.touchEventsTarget === 'container' ? 'el' : 'wrapperEl'].style.cursor = '';\n if (swiper.isElement) {\n requestAnimationFrame(() => {\n swiper.__preventObserver__ = false;\n });\n }\n}\nvar grabCursor = {\n setGrabCursor,\n unsetGrabCursor\n};\n\n// Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd\nfunction closestElement(selector, base) {\n if (base === void 0) {\n base = this;\n }\n function __closestFrom(el) {\n if (!el || el === getDocument() || el === getWindow()) return null;\n if (el.assignedSlot) el = el.assignedSlot;\n const found = el.closest(selector);\n if (!found && !el.getRootNode) {\n return null;\n }\n return found || __closestFrom(el.getRootNode().host);\n }\n return __closestFrom(base);\n}\nfunction preventEdgeSwipe(swiper, event, startX) {\n const window = getWindow();\n const {\n params\n } = swiper;\n const edgeSwipeDetection = params.edgeSwipeDetection;\n const edgeSwipeThreshold = params.edgeSwipeThreshold;\n if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) {\n if (edgeSwipeDetection === 'prevent') {\n event.preventDefault();\n return true;\n }\n return false;\n }\n return true;\n}\nfunction onTouchStart(event) {\n const swiper = this;\n const document = getDocument();\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n const data = swiper.touchEventsData;\n if (e.type === 'pointerdown') {\n if (data.pointerId !== null && data.pointerId !== e.pointerId) {\n return;\n }\n data.pointerId = e.pointerId;\n } else if (e.type === 'touchstart' && e.targetTouches.length === 1) {\n data.touchId = e.targetTouches[0].identifier;\n }\n if (e.type === 'touchstart') {\n // don't proceed touch event\n preventEdgeSwipe(swiper, e, e.targetTouches[0].pageX);\n return;\n }\n const {\n params,\n touches,\n enabled\n } = swiper;\n if (!enabled) return;\n if (!params.simulateTouch && e.pointerType === 'mouse') return;\n if (swiper.animating && params.preventInteractionOnTransition) {\n return;\n }\n if (!swiper.animating && params.cssMode && params.loop) {\n swiper.loopFix();\n }\n let targetEl = e.target;\n if (params.touchEventsTarget === 'wrapper') {\n if (!elementIsChildOf(targetEl, swiper.wrapperEl)) return;\n }\n if ('which' in e && e.which === 3) return;\n if ('button' in e && e.button > 0) return;\n if (data.isTouched && data.isMoved) return;\n\n // change target el for shadow root component\n const swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== '';\n // eslint-disable-next-line\n const eventPath = e.composedPath ? e.composedPath() : e.path;\n if (swipingClassHasValue && e.target && e.target.shadowRoot && eventPath) {\n targetEl = eventPath[0];\n }\n const noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : `.${params.noSwipingClass}`;\n const isTargetShadow = !!(e.target && e.target.shadowRoot);\n\n // use closestElement for shadow root element to get the actual closest for nested shadow root element\n if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, targetEl) : targetEl.closest(noSwipingSelector))) {\n swiper.allowClick = true;\n return;\n }\n if (params.swipeHandler) {\n if (!targetEl.closest(params.swipeHandler)) return;\n }\n touches.currentX = e.pageX;\n touches.currentY = e.pageY;\n const startX = touches.currentX;\n const startY = touches.currentY;\n\n // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore\n\n if (!preventEdgeSwipe(swiper, e, startX)) {\n return;\n }\n Object.assign(data, {\n isTouched: true,\n isMoved: false,\n allowTouchCallbacks: true,\n isScrolling: undefined,\n startMoving: undefined\n });\n touches.startX = startX;\n touches.startY = startY;\n data.touchStartTime = now();\n swiper.allowClick = true;\n swiper.updateSize();\n swiper.swipeDirection = undefined;\n if (params.threshold > 0) data.allowThresholdMove = false;\n let preventDefault = true;\n if (targetEl.matches(data.focusableElements)) {\n preventDefault = false;\n if (targetEl.nodeName === 'SELECT') {\n data.isTouched = false;\n }\n }\n if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== targetEl && (e.pointerType === 'mouse' || e.pointerType !== 'mouse' && !targetEl.matches(data.focusableElements))) {\n document.activeElement.blur();\n }\n const shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;\n if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !targetEl.isContentEditable) {\n e.preventDefault();\n }\n if (params.freeMode && params.freeMode.enabled && swiper.freeMode && swiper.animating && !params.cssMode) {\n swiper.freeMode.onTouchStart();\n }\n swiper.emit('touchStart', e);\n}\nfunction onTouchMove(event) {\n const document = getDocument();\n const swiper = this;\n const data = swiper.touchEventsData;\n const {\n params,\n touches,\n rtlTranslate: rtl,\n enabled\n } = swiper;\n if (!enabled) return;\n if (!params.simulateTouch && event.pointerType === 'mouse') return;\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n if (e.type === 'pointermove') {\n if (data.touchId !== null) return; // return from pointer if we use touch\n const id = e.pointerId;\n if (id !== data.pointerId) return;\n }\n let targetTouch;\n if (e.type === 'touchmove') {\n targetTouch = [...e.changedTouches].filter(t => t.identifier === data.touchId)[0];\n if (!targetTouch || targetTouch.identifier !== data.touchId) return;\n } else {\n targetTouch = e;\n }\n if (!data.isTouched) {\n if (data.startMoving && data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n return;\n }\n const pageX = targetTouch.pageX;\n const pageY = targetTouch.pageY;\n if (e.preventedByNestedSwiper) {\n touches.startX = pageX;\n touches.startY = pageY;\n return;\n }\n if (!swiper.allowTouchMove) {\n if (!e.target.matches(data.focusableElements)) {\n swiper.allowClick = false;\n }\n if (data.isTouched) {\n Object.assign(touches, {\n startX: pageX,\n startY: pageY,\n currentX: pageX,\n currentY: pageY\n });\n data.touchStartTime = now();\n }\n return;\n }\n if (params.touchReleaseOnEdges && !params.loop) {\n if (swiper.isVertical()) {\n // Vertical\n if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) {\n data.isTouched = false;\n data.isMoved = false;\n return;\n }\n } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) {\n return;\n }\n }\n if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== e.target && e.pointerType !== 'mouse') {\n document.activeElement.blur();\n }\n if (document.activeElement) {\n if (e.target === document.activeElement && e.target.matches(data.focusableElements)) {\n data.isMoved = true;\n swiper.allowClick = false;\n return;\n }\n }\n if (data.allowTouchCallbacks) {\n swiper.emit('touchMove', e);\n }\n touches.previousX = touches.currentX;\n touches.previousY = touches.currentY;\n touches.currentX = pageX;\n touches.currentY = pageY;\n const diffX = touches.currentX - touches.startX;\n const diffY = touches.currentY - touches.startY;\n if (swiper.params.threshold && Math.sqrt(diffX ** 2 + diffY ** 2) < swiper.params.threshold) return;\n if (typeof data.isScrolling === 'undefined') {\n let touchAngle;\n if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) {\n data.isScrolling = false;\n } else {\n // eslint-disable-next-line\n if (diffX * diffX + diffY * diffY >= 25) {\n touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;\n data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle;\n }\n }\n }\n if (data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n if (typeof data.startMoving === 'undefined') {\n if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {\n data.startMoving = true;\n }\n }\n if (data.isScrolling || e.type === 'touchmove' && data.preventTouchMoveFromPointerMove) {\n data.isTouched = false;\n return;\n }\n if (!data.startMoving) {\n return;\n }\n swiper.allowClick = false;\n if (!params.cssMode && e.cancelable) {\n e.preventDefault();\n }\n if (params.touchMoveStopPropagation && !params.nested) {\n e.stopPropagation();\n }\n let diff = swiper.isHorizontal() ? diffX : diffY;\n let touchesDiff = swiper.isHorizontal() ? touches.currentX - touches.previousX : touches.currentY - touches.previousY;\n if (params.oneWayMovement) {\n diff = Math.abs(diff) * (rtl ? 1 : -1);\n touchesDiff = Math.abs(touchesDiff) * (rtl ? 1 : -1);\n }\n touches.diff = diff;\n diff *= params.touchRatio;\n if (rtl) {\n diff = -diff;\n touchesDiff = -touchesDiff;\n }\n const prevTouchesDirection = swiper.touchesDirection;\n swiper.swipeDirection = diff > 0 ? 'prev' : 'next';\n swiper.touchesDirection = touchesDiff > 0 ? 'prev' : 'next';\n const isLoop = swiper.params.loop && !params.cssMode;\n const allowLoopFix = swiper.touchesDirection === 'next' && swiper.allowSlideNext || swiper.touchesDirection === 'prev' && swiper.allowSlidePrev;\n if (!data.isMoved) {\n if (isLoop && allowLoopFix) {\n swiper.loopFix({\n direction: swiper.swipeDirection\n });\n }\n data.startTranslate = swiper.getTranslate();\n swiper.setTransition(0);\n if (swiper.animating) {\n const evt = new window.CustomEvent('transitionend', {\n bubbles: true,\n cancelable: true,\n detail: {\n bySwiperTouchMove: true\n }\n });\n swiper.wrapperEl.dispatchEvent(evt);\n }\n data.allowMomentumBounce = false;\n // Grab Cursor\n if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(true);\n }\n swiper.emit('sliderFirstMove', e);\n }\n let loopFixed;\n new Date().getTime();\n if (data.isMoved && data.allowThresholdMove && prevTouchesDirection !== swiper.touchesDirection && isLoop && allowLoopFix && Math.abs(diff) >= 1) {\n Object.assign(touches, {\n startX: pageX,\n startY: pageY,\n currentX: pageX,\n currentY: pageY,\n startTranslate: data.currentTranslate\n });\n data.loopSwapReset = true;\n data.startTranslate = data.currentTranslate;\n return;\n }\n swiper.emit('sliderMove', e);\n data.isMoved = true;\n data.currentTranslate = diff + data.startTranslate;\n let disableParentSwiper = true;\n let resistanceRatio = params.resistanceRatio;\n if (params.touchReleaseOnEdges) {\n resistanceRatio = 0;\n }\n if (diff > 0) {\n if (isLoop && allowLoopFix && !loopFixed && data.allowThresholdMove && data.currentTranslate > (params.centeredSlides ? swiper.minTranslate() - swiper.slidesSizesGrid[swiper.activeIndex + 1] - (params.slidesPerView !== 'auto' && swiper.slides.length - params.slidesPerView >= 2 ? swiper.slidesSizesGrid[swiper.activeIndex + 1] + swiper.params.spaceBetween : 0) - swiper.params.spaceBetween : swiper.minTranslate())) {\n swiper.loopFix({\n direction: 'prev',\n setTranslate: true,\n activeSlideIndex: 0\n });\n }\n if (data.currentTranslate > swiper.minTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) {\n data.currentTranslate = swiper.minTranslate() - 1 + (-swiper.minTranslate() + data.startTranslate + diff) ** resistanceRatio;\n }\n }\n } else if (diff < 0) {\n if (isLoop && allowLoopFix && !loopFixed && data.allowThresholdMove && data.currentTranslate < (params.centeredSlides ? swiper.maxTranslate() + swiper.slidesSizesGrid[swiper.slidesSizesGrid.length - 1] + swiper.params.spaceBetween + (params.slidesPerView !== 'auto' && swiper.slides.length - params.slidesPerView >= 2 ? swiper.slidesSizesGrid[swiper.slidesSizesGrid.length - 1] + swiper.params.spaceBetween : 0) : swiper.maxTranslate())) {\n swiper.loopFix({\n direction: 'next',\n setTranslate: true,\n activeSlideIndex: swiper.slides.length - (params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(parseFloat(params.slidesPerView, 10)))\n });\n }\n if (data.currentTranslate < swiper.maxTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) {\n data.currentTranslate = swiper.maxTranslate() + 1 - (swiper.maxTranslate() - data.startTranslate - diff) ** resistanceRatio;\n }\n }\n }\n if (disableParentSwiper) {\n e.preventedByNestedSwiper = true;\n }\n\n // Directions locks\n if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n if (!swiper.allowSlidePrev && !swiper.allowSlideNext) {\n data.currentTranslate = data.startTranslate;\n }\n\n // Threshold\n if (params.threshold > 0) {\n if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {\n if (!data.allowThresholdMove) {\n data.allowThresholdMove = true;\n touches.startX = touches.currentX;\n touches.startY = touches.currentY;\n data.currentTranslate = data.startTranslate;\n touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;\n return;\n }\n } else {\n data.currentTranslate = data.startTranslate;\n return;\n }\n }\n if (!params.followFinger || params.cssMode) return;\n\n // Update active index in free mode\n if (params.freeMode && params.freeMode.enabled && swiper.freeMode || params.watchSlidesProgress) {\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n if (params.freeMode && params.freeMode.enabled && swiper.freeMode) {\n swiper.freeMode.onTouchMove();\n }\n // Update progress\n swiper.updateProgress(data.currentTranslate);\n // Update translate\n swiper.setTranslate(data.currentTranslate);\n}\nfunction onTouchEnd(event) {\n const swiper = this;\n const data = swiper.touchEventsData;\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n let targetTouch;\n const isTouchEvent = e.type === 'touchend' || e.type === 'touchcancel';\n if (!isTouchEvent) {\n if (data.touchId !== null) return; // return from pointer if we use touch\n if (e.pointerId !== data.pointerId) return;\n targetTouch = e;\n } else {\n targetTouch = [...e.changedTouches].filter(t => t.identifier === data.touchId)[0];\n if (!targetTouch || targetTouch.identifier !== data.touchId) return;\n }\n if (['pointercancel', 'pointerout', 'pointerleave', 'contextmenu'].includes(e.type)) {\n const proceed = ['pointercancel', 'contextmenu'].includes(e.type) && (swiper.browser.isSafari || swiper.browser.isWebView);\n if (!proceed) {\n return;\n }\n }\n data.pointerId = null;\n data.touchId = null;\n const {\n params,\n touches,\n rtlTranslate: rtl,\n slidesGrid,\n enabled\n } = swiper;\n if (!enabled) return;\n if (!params.simulateTouch && e.pointerType === 'mouse') return;\n if (data.allowTouchCallbacks) {\n swiper.emit('touchEnd', e);\n }\n data.allowTouchCallbacks = false;\n if (!data.isTouched) {\n if (data.isMoved && params.grabCursor) {\n swiper.setGrabCursor(false);\n }\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n\n // Return Grab Cursor\n if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(false);\n }\n\n // Time diff\n const touchEndTime = now();\n const timeDiff = touchEndTime - data.touchStartTime;\n\n // Tap, doubleTap, Click\n if (swiper.allowClick) {\n const pathTree = e.path || e.composedPath && e.composedPath();\n swiper.updateClickedSlide(pathTree && pathTree[0] || e.target, pathTree);\n swiper.emit('tap click', e);\n if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {\n swiper.emit('doubleTap doubleClick', e);\n }\n }\n data.lastClickTime = now();\n nextTick(() => {\n if (!swiper.destroyed) swiper.allowClick = true;\n });\n if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 && !data.loopSwapReset || data.currentTranslate === data.startTranslate && !data.loopSwapReset) {\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n let currentPos;\n if (params.followFinger) {\n currentPos = rtl ? swiper.translate : -swiper.translate;\n } else {\n currentPos = -data.currentTranslate;\n }\n if (params.cssMode) {\n return;\n }\n if (params.freeMode && params.freeMode.enabled) {\n swiper.freeMode.onTouchEnd({\n currentPos\n });\n return;\n }\n\n // Find current slide\n const swipeToLast = currentPos >= -swiper.maxTranslate() && !swiper.params.loop;\n let stopIndex = 0;\n let groupSize = swiper.slidesSizesGrid[0];\n for (let i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) {\n const increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n if (typeof slidesGrid[i + increment] !== 'undefined') {\n if (swipeToLast || currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + increment]) {\n stopIndex = i;\n groupSize = slidesGrid[i + increment] - slidesGrid[i];\n }\n } else if (swipeToLast || currentPos >= slidesGrid[i]) {\n stopIndex = i;\n groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];\n }\n }\n let rewindFirstIndex = null;\n let rewindLastIndex = null;\n if (params.rewind) {\n if (swiper.isBeginning) {\n rewindLastIndex = params.virtual && params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n } else if (swiper.isEnd) {\n rewindFirstIndex = 0;\n }\n }\n // Find current slide size\n const ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;\n const increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n if (timeDiff > params.longSwipesMs) {\n // Long touches\n if (!params.longSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n if (swiper.swipeDirection === 'next') {\n if (ratio >= params.longSwipesRatio) swiper.slideTo(params.rewind && swiper.isEnd ? rewindFirstIndex : stopIndex + increment);else swiper.slideTo(stopIndex);\n }\n if (swiper.swipeDirection === 'prev') {\n if (ratio > 1 - params.longSwipesRatio) {\n swiper.slideTo(stopIndex + increment);\n } else if (rewindLastIndex !== null && ratio < 0 && Math.abs(ratio) > params.longSwipesRatio) {\n swiper.slideTo(rewindLastIndex);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n } else {\n // Short swipes\n if (!params.shortSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n const isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl);\n if (!isNavButtonTarget) {\n if (swiper.swipeDirection === 'next') {\n swiper.slideTo(rewindFirstIndex !== null ? rewindFirstIndex : stopIndex + increment);\n }\n if (swiper.swipeDirection === 'prev') {\n swiper.slideTo(rewindLastIndex !== null ? rewindLastIndex : stopIndex);\n }\n } else if (e.target === swiper.navigation.nextEl) {\n swiper.slideTo(stopIndex + increment);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n}\nfunction onResize() {\n const swiper = this;\n const {\n params,\n el\n } = swiper;\n if (el && el.offsetWidth === 0) return;\n\n // Breakpoints\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n // Save locks\n const {\n allowSlideNext,\n allowSlidePrev,\n snapGrid\n } = swiper;\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n\n // Disable locks on resize\n swiper.allowSlideNext = true;\n swiper.allowSlidePrev = true;\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateSlidesClasses();\n const isVirtualLoop = isVirtual && params.loop;\n if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides && !isVirtualLoop) {\n swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n if (swiper.params.loop && !isVirtual) {\n swiper.slideToLoop(swiper.realIndex, 0, false, true);\n } else {\n swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n }\n if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n clearTimeout(swiper.autoplay.resizeTimeout);\n swiper.autoplay.resizeTimeout = setTimeout(() => {\n if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n swiper.autoplay.resume();\n }\n }, 500);\n }\n // Return locks after resize\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n}\nfunction onClick(e) {\n const swiper = this;\n if (!swiper.enabled) return;\n if (!swiper.allowClick) {\n if (swiper.params.preventClicks) e.preventDefault();\n if (swiper.params.preventClicksPropagation && swiper.animating) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n }\n}\nfunction onScroll() {\n const swiper = this;\n const {\n wrapperEl,\n rtlTranslate,\n enabled\n } = swiper;\n if (!enabled) return;\n swiper.previousTranslate = swiper.translate;\n if (swiper.isHorizontal()) {\n swiper.translate = -wrapperEl.scrollLeft;\n } else {\n swiper.translate = -wrapperEl.scrollTop;\n }\n // eslint-disable-next-line\n if (swiper.translate === 0) swiper.translate = 0;\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n let newProgress;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;\n }\n if (newProgress !== swiper.progress) {\n swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);\n }\n swiper.emit('setTranslate', swiper.translate, false);\n}\nfunction onLoad(e) {\n const swiper = this;\n processLazyPreloader(swiper, e.target);\n if (swiper.params.cssMode || swiper.params.slidesPerView !== 'auto' && !swiper.params.autoHeight) {\n return;\n }\n swiper.update();\n}\nfunction onDocumentTouchStart() {\n const swiper = this;\n if (swiper.documentTouchHandlerProceeded) return;\n swiper.documentTouchHandlerProceeded = true;\n if (swiper.params.touchReleaseOnEdges) {\n swiper.el.style.touchAction = 'auto';\n }\n}\nconst events = (swiper, method) => {\n const document = getDocument();\n const {\n params,\n el,\n wrapperEl,\n device\n } = swiper;\n const capture = !!params.nested;\n const domMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';\n const swiperMethod = method;\n if (!el || typeof el === 'string') return;\n\n // Touch Events\n document[domMethod]('touchstart', swiper.onDocumentTouchStart, {\n passive: false,\n capture\n });\n el[domMethod]('touchstart', swiper.onTouchStart, {\n passive: false\n });\n el[domMethod]('pointerdown', swiper.onTouchStart, {\n passive: false\n });\n document[domMethod]('touchmove', swiper.onTouchMove, {\n passive: false,\n capture\n });\n document[domMethod]('pointermove', swiper.onTouchMove, {\n passive: false,\n capture\n });\n document[domMethod]('touchend', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointerup', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointercancel', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('touchcancel', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointerout', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointerleave', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('contextmenu', swiper.onTouchEnd, {\n passive: true\n });\n\n // Prevent Links Clicks\n if (params.preventClicks || params.preventClicksPropagation) {\n el[domMethod]('click', swiper.onClick, true);\n }\n if (params.cssMode) {\n wrapperEl[domMethod]('scroll', swiper.onScroll);\n }\n\n // Resize handler\n if (params.updateOnWindowResize) {\n swiper[swiperMethod](device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true);\n } else {\n swiper[swiperMethod]('observerUpdate', onResize, true);\n }\n\n // Images loader\n el[domMethod]('load', swiper.onLoad, {\n capture: true\n });\n};\nfunction attachEvents() {\n const swiper = this;\n const {\n params\n } = swiper;\n swiper.onTouchStart = onTouchStart.bind(swiper);\n swiper.onTouchMove = onTouchMove.bind(swiper);\n swiper.onTouchEnd = onTouchEnd.bind(swiper);\n swiper.onDocumentTouchStart = onDocumentTouchStart.bind(swiper);\n if (params.cssMode) {\n swiper.onScroll = onScroll.bind(swiper);\n }\n swiper.onClick = onClick.bind(swiper);\n swiper.onLoad = onLoad.bind(swiper);\n events(swiper, 'on');\n}\nfunction detachEvents() {\n const swiper = this;\n events(swiper, 'off');\n}\nvar events$1 = {\n attachEvents,\n detachEvents\n};\nconst isGridEnabled = (swiper, params) => {\n return swiper.grid && params.grid && params.grid.rows > 1;\n};\nfunction setBreakpoint() {\n const swiper = this;\n const {\n realIndex,\n initialized,\n params,\n el\n } = swiper;\n const breakpoints = params.breakpoints;\n if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return;\n\n // Get breakpoint for window width and update parameters\n const breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el);\n if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;\n const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;\n const breakpointParams = breakpointOnlyParams || swiper.originalParams;\n const wasMultiRow = isGridEnabled(swiper, params);\n const isMultiRow = isGridEnabled(swiper, breakpointParams);\n const wasGrabCursor = swiper.params.grabCursor;\n const isGrabCursor = breakpointParams.grabCursor;\n const wasEnabled = params.enabled;\n if (wasMultiRow && !isMultiRow) {\n el.classList.remove(`${params.containerModifierClass}grid`, `${params.containerModifierClass}grid-column`);\n swiper.emitContainerClasses();\n } else if (!wasMultiRow && isMultiRow) {\n el.classList.add(`${params.containerModifierClass}grid`);\n if (breakpointParams.grid.fill && breakpointParams.grid.fill === 'column' || !breakpointParams.grid.fill && params.grid.fill === 'column') {\n el.classList.add(`${params.containerModifierClass}grid-column`);\n }\n swiper.emitContainerClasses();\n }\n if (wasGrabCursor && !isGrabCursor) {\n swiper.unsetGrabCursor();\n } else if (!wasGrabCursor && isGrabCursor) {\n swiper.setGrabCursor();\n }\n\n // Toggle navigation, pagination, scrollbar\n ['navigation', 'pagination', 'scrollbar'].forEach(prop => {\n if (typeof breakpointParams[prop] === 'undefined') return;\n const wasModuleEnabled = params[prop] && params[prop].enabled;\n const isModuleEnabled = breakpointParams[prop] && breakpointParams[prop].enabled;\n if (wasModuleEnabled && !isModuleEnabled) {\n swiper[prop].disable();\n }\n if (!wasModuleEnabled && isModuleEnabled) {\n swiper[prop].enable();\n }\n });\n const directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;\n const needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);\n const wasLoop = params.loop;\n if (directionChanged && initialized) {\n swiper.changeDirection();\n }\n extend(swiper.params, breakpointParams);\n const isEnabled = swiper.params.enabled;\n const hasLoop = swiper.params.loop;\n Object.assign(swiper, {\n allowTouchMove: swiper.params.allowTouchMove,\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev\n });\n if (wasEnabled && !isEnabled) {\n swiper.disable();\n } else if (!wasEnabled && isEnabled) {\n swiper.enable();\n }\n swiper.currentBreakpoint = breakpoint;\n swiper.emit('_beforeBreakpoint', breakpointParams);\n if (initialized) {\n if (needsReLoop) {\n swiper.loopDestroy();\n swiper.loopCreate(realIndex);\n swiper.updateSlides();\n } else if (!wasLoop && hasLoop) {\n swiper.loopCreate(realIndex);\n swiper.updateSlides();\n } else if (wasLoop && !hasLoop) {\n swiper.loopDestroy();\n }\n }\n swiper.emit('breakpoint', breakpointParams);\n}\nfunction getBreakpoint(breakpoints, base, containerEl) {\n if (base === void 0) {\n base = 'window';\n }\n if (!breakpoints || base === 'container' && !containerEl) return undefined;\n let breakpoint = false;\n const window = getWindow();\n const currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight;\n const points = Object.keys(breakpoints).map(point => {\n if (typeof point === 'string' && point.indexOf('@') === 0) {\n const minRatio = parseFloat(point.substr(1));\n const value = currentHeight * minRatio;\n return {\n value,\n point\n };\n }\n return {\n value: point,\n point\n };\n });\n points.sort((a, b) => parseInt(a.value, 10) - parseInt(b.value, 10));\n for (let i = 0; i < points.length; i += 1) {\n const {\n point,\n value\n } = points[i];\n if (base === 'window') {\n if (window.matchMedia(`(min-width: ${value}px)`).matches) {\n breakpoint = point;\n }\n } else if (value <= containerEl.clientWidth) {\n breakpoint = point;\n }\n }\n return breakpoint || 'max';\n}\nvar breakpoints = {\n setBreakpoint,\n getBreakpoint\n};\nfunction prepareClasses(entries, prefix) {\n const resultClasses = [];\n entries.forEach(item => {\n if (typeof item === 'object') {\n Object.keys(item).forEach(classNames => {\n if (item[classNames]) {\n resultClasses.push(prefix + classNames);\n }\n });\n } else if (typeof item === 'string') {\n resultClasses.push(prefix + item);\n }\n });\n return resultClasses;\n}\nfunction addClasses() {\n const swiper = this;\n const {\n classNames,\n params,\n rtl,\n el,\n device\n } = swiper;\n // prettier-ignore\n const suffixes = prepareClasses(['initialized', params.direction, {\n 'free-mode': swiper.params.freeMode && params.freeMode.enabled\n }, {\n 'autoheight': params.autoHeight\n }, {\n 'rtl': rtl\n }, {\n 'grid': params.grid && params.grid.rows > 1\n }, {\n 'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column'\n }, {\n 'android': device.android\n }, {\n 'ios': device.ios\n }, {\n 'css-mode': params.cssMode\n }, {\n 'centered': params.cssMode && params.centeredSlides\n }, {\n 'watch-progress': params.watchSlidesProgress\n }], params.containerModifierClass);\n classNames.push(...suffixes);\n el.classList.add(...classNames);\n swiper.emitContainerClasses();\n}\nfunction removeClasses() {\n const swiper = this;\n const {\n el,\n classNames\n } = swiper;\n if (!el || typeof el === 'string') return;\n el.classList.remove(...classNames);\n swiper.emitContainerClasses();\n}\nvar classes = {\n addClasses,\n removeClasses\n};\nfunction checkOverflow() {\n const swiper = this;\n const {\n isLocked: wasLocked,\n params\n } = swiper;\n const {\n slidesOffsetBefore\n } = params;\n if (slidesOffsetBefore) {\n const lastSlideIndex = swiper.slides.length - 1;\n const lastSlideRightEdge = swiper.slidesGrid[lastSlideIndex] + swiper.slidesSizesGrid[lastSlideIndex] + slidesOffsetBefore * 2;\n swiper.isLocked = swiper.size > lastSlideRightEdge;\n } else {\n swiper.isLocked = swiper.snapGrid.length === 1;\n }\n if (params.allowSlideNext === true) {\n swiper.allowSlideNext = !swiper.isLocked;\n }\n if (params.allowSlidePrev === true) {\n swiper.allowSlidePrev = !swiper.isLocked;\n }\n if (wasLocked && wasLocked !== swiper.isLocked) {\n swiper.isEnd = false;\n }\n if (wasLocked !== swiper.isLocked) {\n swiper.emit(swiper.isLocked ? 'lock' : 'unlock');\n }\n}\nvar checkOverflow$1 = {\n checkOverflow\n};\nvar defaults = {\n init: true,\n direction: 'horizontal',\n oneWayMovement: false,\n swiperElementNodeName: 'SWIPER-CONTAINER',\n touchEventsTarget: 'wrapper',\n initialSlide: 0,\n speed: 300,\n cssMode: false,\n updateOnWindowResize: true,\n resizeObserver: true,\n nested: false,\n createElements: false,\n eventsPrefix: 'swiper',\n enabled: true,\n focusableElements: 'input, select, option, textarea, button, video, label',\n // Overrides\n width: null,\n height: null,\n //\n preventInteractionOnTransition: false,\n // ssr\n userAgent: null,\n url: null,\n // To support iOS's swipe-to-go-back gesture (when being used in-app).\n edgeSwipeDetection: false,\n edgeSwipeThreshold: 20,\n // Autoheight\n autoHeight: false,\n // Set wrapper width\n setWrapperSize: false,\n // Virtual Translate\n virtualTranslate: false,\n // Effects\n effect: 'slide',\n // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\n\n // Breakpoints\n breakpoints: undefined,\n breakpointsBase: 'window',\n // Slides grid\n spaceBetween: 0,\n slidesPerView: 1,\n slidesPerGroup: 1,\n slidesPerGroupSkip: 0,\n slidesPerGroupAuto: false,\n centeredSlides: false,\n centeredSlidesBounds: false,\n slidesOffsetBefore: 0,\n // in px\n slidesOffsetAfter: 0,\n // in px\n normalizeSlideIndex: true,\n centerInsufficientSlides: false,\n // Disable swiper and hide navigation when container not overflow\n watchOverflow: true,\n // Round length\n roundLengths: false,\n // Touches\n touchRatio: 1,\n touchAngle: 45,\n simulateTouch: true,\n shortSwipes: true,\n longSwipes: true,\n longSwipesRatio: 0.5,\n longSwipesMs: 300,\n followFinger: true,\n allowTouchMove: true,\n threshold: 5,\n touchMoveStopPropagation: false,\n touchStartPreventDefault: true,\n touchStartForcePreventDefault: false,\n touchReleaseOnEdges: false,\n // Unique Navigation Elements\n uniqueNavElements: true,\n // Resistance\n resistance: true,\n resistanceRatio: 0.85,\n // Progress\n watchSlidesProgress: false,\n // Cursor\n grabCursor: false,\n // Clicks\n preventClicks: true,\n preventClicksPropagation: true,\n slideToClickedSlide: false,\n // loop\n loop: false,\n loopAddBlankSlides: true,\n loopAdditionalSlides: 0,\n loopPreventsSliding: true,\n // rewind\n rewind: false,\n // Swiping/no swiping\n allowSlidePrev: true,\n allowSlideNext: true,\n swipeHandler: null,\n // '.swipe-handler',\n noSwiping: true,\n noSwipingClass: 'swiper-no-swiping',\n noSwipingSelector: null,\n // Passive Listeners\n passiveListeners: true,\n maxBackfaceHiddenSlides: 10,\n // NS\n containerModifierClass: 'swiper-',\n // NEW\n slideClass: 'swiper-slide',\n slideBlankClass: 'swiper-slide-blank',\n slideActiveClass: 'swiper-slide-active',\n slideVisibleClass: 'swiper-slide-visible',\n slideFullyVisibleClass: 'swiper-slide-fully-visible',\n slideNextClass: 'swiper-slide-next',\n slidePrevClass: 'swiper-slide-prev',\n wrapperClass: 'swiper-wrapper',\n lazyPreloaderClass: 'swiper-lazy-preloader',\n lazyPreloadPrevNext: 0,\n // Callbacks\n runCallbacksOnInit: true,\n // Internals\n _emitClasses: false\n};\nfunction moduleExtendParams(params, allModulesParams) {\n return function extendParams(obj) {\n if (obj === void 0) {\n obj = {};\n }\n const moduleParamName = Object.keys(obj)[0];\n const moduleParams = obj[moduleParamName];\n if (typeof moduleParams !== 'object' || moduleParams === null) {\n extend(allModulesParams, obj);\n return;\n }\n if (params[moduleParamName] === true) {\n params[moduleParamName] = {\n enabled: true\n };\n }\n if (moduleParamName === 'navigation' && params[moduleParamName] && params[moduleParamName].enabled && !params[moduleParamName].prevEl && !params[moduleParamName].nextEl) {\n params[moduleParamName].auto = true;\n }\n if (['pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] && params[moduleParamName].enabled && !params[moduleParamName].el) {\n params[moduleParamName].auto = true;\n }\n if (!(moduleParamName in params && 'enabled' in moduleParams)) {\n extend(allModulesParams, obj);\n return;\n }\n if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {\n params[moduleParamName].enabled = true;\n }\n if (!params[moduleParamName]) params[moduleParamName] = {\n enabled: false\n };\n extend(allModulesParams, obj);\n };\n}\n\n/* eslint no-param-reassign: \"off\" */\nconst prototypes = {\n eventsEmitter,\n update,\n translate,\n transition,\n slide,\n loop,\n grabCursor,\n events: events$1,\n breakpoints,\n checkOverflow: checkOverflow$1,\n classes\n};\nconst extendedDefaults = {};\nclass Swiper {\n constructor() {\n let el;\n let params;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') {\n params = args[0];\n } else {\n [el, params] = args;\n }\n if (!params) params = {};\n params = extend({}, params);\n if (el && !params.el) params.el = el;\n const document = getDocument();\n if (params.el && typeof params.el === 'string' && document.querySelectorAll(params.el).length > 1) {\n const swipers = [];\n document.querySelectorAll(params.el).forEach(containerEl => {\n const newParams = extend({}, params, {\n el: containerEl\n });\n swipers.push(new Swiper(newParams));\n });\n // eslint-disable-next-line no-constructor-return\n return swipers;\n }\n\n // Swiper Instance\n const swiper = this;\n swiper.__swiper__ = true;\n swiper.support = getSupport();\n swiper.device = getDevice({\n userAgent: params.userAgent\n });\n swiper.browser = getBrowser();\n swiper.eventsListeners = {};\n swiper.eventsAnyListeners = [];\n swiper.modules = [...swiper.__modules__];\n if (params.modules && Array.isArray(params.modules)) {\n swiper.modules.push(...params.modules);\n }\n const allModulesParams = {};\n swiper.modules.forEach(mod => {\n mod({\n params,\n swiper,\n extendParams: moduleExtendParams(params, allModulesParams),\n on: swiper.on.bind(swiper),\n once: swiper.once.bind(swiper),\n off: swiper.off.bind(swiper),\n emit: swiper.emit.bind(swiper)\n });\n });\n\n // Extend defaults with modules params\n const swiperParams = extend({}, defaults, allModulesParams);\n\n // Extend defaults with passed params\n swiper.params = extend({}, swiperParams, extendedDefaults, params);\n swiper.originalParams = extend({}, swiper.params);\n swiper.passedParams = extend({}, params);\n\n // add event listeners\n if (swiper.params && swiper.params.on) {\n Object.keys(swiper.params.on).forEach(eventName => {\n swiper.on(eventName, swiper.params.on[eventName]);\n });\n }\n if (swiper.params && swiper.params.onAny) {\n swiper.onAny(swiper.params.onAny);\n }\n\n // Extend Swiper\n Object.assign(swiper, {\n enabled: swiper.params.enabled,\n el,\n // Classes\n classNames: [],\n // Slides\n slides: [],\n slidesGrid: [],\n snapGrid: [],\n slidesSizesGrid: [],\n // isDirection\n isHorizontal() {\n return swiper.params.direction === 'horizontal';\n },\n isVertical() {\n return swiper.params.direction === 'vertical';\n },\n // Indexes\n activeIndex: 0,\n realIndex: 0,\n //\n isBeginning: true,\n isEnd: false,\n // Props\n translate: 0,\n previousTranslate: 0,\n progress: 0,\n velocity: 0,\n animating: false,\n cssOverflowAdjustment() {\n // Returns 0 unless `translate` is > 2**23\n // Should be subtracted from css values to prevent overflow\n return Math.trunc(this.translate / 2 ** 23) * 2 ** 23;\n },\n // Locks\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev,\n // Touch Events\n touchEventsData: {\n isTouched: undefined,\n isMoved: undefined,\n allowTouchCallbacks: undefined,\n touchStartTime: undefined,\n isScrolling: undefined,\n currentTranslate: undefined,\n startTranslate: undefined,\n allowThresholdMove: undefined,\n // Form elements to match\n focusableElements: swiper.params.focusableElements,\n // Last click time\n lastClickTime: 0,\n clickTimeout: undefined,\n // Velocities\n velocities: [],\n allowMomentumBounce: undefined,\n startMoving: undefined,\n pointerId: null,\n touchId: null\n },\n // Clicks\n allowClick: true,\n // Touches\n allowTouchMove: swiper.params.allowTouchMove,\n touches: {\n startX: 0,\n startY: 0,\n currentX: 0,\n currentY: 0,\n diff: 0\n },\n // Images\n imagesToLoad: [],\n imagesLoaded: 0\n });\n swiper.emit('_swiper');\n\n // Init\n if (swiper.params.init) {\n swiper.init();\n }\n\n // Return app instance\n // eslint-disable-next-line no-constructor-return\n return swiper;\n }\n getDirectionLabel(property) {\n if (this.isHorizontal()) {\n return property;\n }\n // prettier-ignore\n return {\n 'width': 'height',\n 'margin-top': 'margin-left',\n 'margin-bottom ': 'margin-right',\n 'margin-left': 'margin-top',\n 'margin-right': 'margin-bottom',\n 'padding-left': 'padding-top',\n 'padding-right': 'padding-bottom',\n 'marginRight': 'marginBottom'\n }[property];\n }\n getSlideIndex(slideEl) {\n const {\n slidesEl,\n params\n } = this;\n const slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`);\n const firstSlideIndex = elementIndex(slides[0]);\n return elementIndex(slideEl) - firstSlideIndex;\n }\n getSlideIndexByData(index) {\n return this.getSlideIndex(this.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === index)[0]);\n }\n recalcSlides() {\n const swiper = this;\n const {\n slidesEl,\n params\n } = swiper;\n swiper.slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`);\n }\n enable() {\n const swiper = this;\n if (swiper.enabled) return;\n swiper.enabled = true;\n if (swiper.params.grabCursor) {\n swiper.setGrabCursor();\n }\n swiper.emit('enable');\n }\n disable() {\n const swiper = this;\n if (!swiper.enabled) return;\n swiper.enabled = false;\n if (swiper.params.grabCursor) {\n swiper.unsetGrabCursor();\n }\n swiper.emit('disable');\n }\n setProgress(progress, speed) {\n const swiper = this;\n progress = Math.min(Math.max(progress, 0), 1);\n const min = swiper.minTranslate();\n const max = swiper.maxTranslate();\n const current = (max - min) * progress + min;\n swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n emitContainerClasses() {\n const swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n const cls = swiper.el.className.split(' ').filter(className => {\n return className.indexOf('swiper') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0;\n });\n swiper.emit('_containerClasses', cls.join(' '));\n }\n getSlideClasses(slideEl) {\n const swiper = this;\n if (swiper.destroyed) return '';\n return slideEl.className.split(' ').filter(className => {\n return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0;\n }).join(' ');\n }\n emitSlidesClasses() {\n const swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n const updates = [];\n swiper.slides.forEach(slideEl => {\n const classNames = swiper.getSlideClasses(slideEl);\n updates.push({\n slideEl,\n classNames\n });\n swiper.emit('_slideClass', slideEl, classNames);\n });\n swiper.emit('_slideClasses', updates);\n }\n slidesPerViewDynamic(view, exact) {\n if (view === void 0) {\n view = 'current';\n }\n if (exact === void 0) {\n exact = false;\n }\n const swiper = this;\n const {\n params,\n slides,\n slidesGrid,\n slidesSizesGrid,\n size: swiperSize,\n activeIndex\n } = swiper;\n let spv = 1;\n if (typeof params.slidesPerView === 'number') return params.slidesPerView;\n if (params.centeredSlides) {\n let slideSize = slides[activeIndex] ? Math.ceil(slides[activeIndex].swiperSlideSize) : 0;\n let breakLoop;\n for (let i = activeIndex + 1; i < slides.length; i += 1) {\n if (slides[i] && !breakLoop) {\n slideSize += Math.ceil(slides[i].swiperSlideSize);\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n for (let i = activeIndex - 1; i >= 0; i -= 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n } else {\n // eslint-disable-next-line\n if (view === 'current') {\n for (let i = activeIndex + 1; i < slides.length; i += 1) {\n const slideInView = exact ? slidesGrid[i] + slidesSizesGrid[i] - slidesGrid[activeIndex] < swiperSize : slidesGrid[i] - slidesGrid[activeIndex] < swiperSize;\n if (slideInView) {\n spv += 1;\n }\n }\n } else {\n // previous\n for (let i = activeIndex - 1; i >= 0; i -= 1) {\n const slideInView = slidesGrid[activeIndex] - slidesGrid[i] < swiperSize;\n if (slideInView) {\n spv += 1;\n }\n }\n }\n }\n return spv;\n }\n update() {\n const swiper = this;\n if (!swiper || swiper.destroyed) return;\n const {\n snapGrid,\n params\n } = swiper;\n // Breakpoints\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n [...swiper.el.querySelectorAll('[loading=\"lazy\"]')].forEach(imageEl => {\n if (imageEl.complete) {\n processLazyPreloader(swiper, imageEl);\n }\n });\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n function setTranslate() {\n const translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;\n const newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());\n swiper.setTranslate(newTranslate);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n let translated;\n if (params.freeMode && params.freeMode.enabled && !params.cssMode) {\n setTranslate();\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n } else {\n if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !params.centeredSlides) {\n const slides = swiper.virtual && params.virtual.enabled ? swiper.virtual.slides : swiper.slides;\n translated = swiper.slideTo(slides.length - 1, 0, false, true);\n } else {\n translated = swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n if (!translated) {\n setTranslate();\n }\n }\n if (params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n swiper.emit('update');\n }\n changeDirection(newDirection, needUpdate) {\n if (needUpdate === void 0) {\n needUpdate = true;\n }\n const swiper = this;\n const currentDirection = swiper.params.direction;\n if (!newDirection) {\n // eslint-disable-next-line\n newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';\n }\n if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') {\n return swiper;\n }\n swiper.el.classList.remove(`${swiper.params.containerModifierClass}${currentDirection}`);\n swiper.el.classList.add(`${swiper.params.containerModifierClass}${newDirection}`);\n swiper.emitContainerClasses();\n swiper.params.direction = newDirection;\n swiper.slides.forEach(slideEl => {\n if (newDirection === 'vertical') {\n slideEl.style.width = '';\n } else {\n slideEl.style.height = '';\n }\n });\n swiper.emit('changeDirection');\n if (needUpdate) swiper.update();\n return swiper;\n }\n changeLanguageDirection(direction) {\n const swiper = this;\n if (swiper.rtl && direction === 'rtl' || !swiper.rtl && direction === 'ltr') return;\n swiper.rtl = direction === 'rtl';\n swiper.rtlTranslate = swiper.params.direction === 'horizontal' && swiper.rtl;\n if (swiper.rtl) {\n swiper.el.classList.add(`${swiper.params.containerModifierClass}rtl`);\n swiper.el.dir = 'rtl';\n } else {\n swiper.el.classList.remove(`${swiper.params.containerModifierClass}rtl`);\n swiper.el.dir = 'ltr';\n }\n swiper.update();\n }\n mount(element) {\n const swiper = this;\n if (swiper.mounted) return true;\n\n // Find el\n let el = element || swiper.params.el;\n if (typeof el === 'string') {\n el = document.querySelector(el);\n }\n if (!el) {\n return false;\n }\n el.swiper = swiper;\n if (el.parentNode && el.parentNode.host && el.parentNode.host.nodeName === swiper.params.swiperElementNodeName.toUpperCase()) {\n swiper.isElement = true;\n }\n const getWrapperSelector = () => {\n return `.${(swiper.params.wrapperClass || '').trim().split(' ').join('.')}`;\n };\n const getWrapper = () => {\n if (el && el.shadowRoot && el.shadowRoot.querySelector) {\n const res = el.shadowRoot.querySelector(getWrapperSelector());\n // Children needs to return slot items\n return res;\n }\n return elementChildren(el, getWrapperSelector())[0];\n };\n // Find Wrapper\n let wrapperEl = getWrapper();\n if (!wrapperEl && swiper.params.createElements) {\n wrapperEl = createElement('div', swiper.params.wrapperClass);\n el.append(wrapperEl);\n elementChildren(el, `.${swiper.params.slideClass}`).forEach(slideEl => {\n wrapperEl.append(slideEl);\n });\n }\n Object.assign(swiper, {\n el,\n wrapperEl,\n slidesEl: swiper.isElement && !el.parentNode.host.slideSlots ? el.parentNode.host : wrapperEl,\n hostEl: swiper.isElement ? el.parentNode.host : el,\n mounted: true,\n // RTL\n rtl: el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl',\n rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl'),\n wrongRTL: elementStyle(wrapperEl, 'display') === '-webkit-box'\n });\n return true;\n }\n init(el) {\n const swiper = this;\n if (swiper.initialized) return swiper;\n const mounted = swiper.mount(el);\n if (mounted === false) return swiper;\n swiper.emit('beforeInit');\n\n // Set breakpoint\n if (swiper.params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n // Add Classes\n swiper.addClasses();\n\n // Update size\n swiper.updateSize();\n\n // Update slides\n swiper.updateSlides();\n if (swiper.params.watchOverflow) {\n swiper.checkOverflow();\n }\n\n // Set Grab Cursor\n if (swiper.params.grabCursor && swiper.enabled) {\n swiper.setGrabCursor();\n }\n\n // Slide To Initial Slide\n if (swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) {\n swiper.slideTo(swiper.params.initialSlide + swiper.virtual.slidesBefore, 0, swiper.params.runCallbacksOnInit, false, true);\n } else {\n swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true);\n }\n\n // Create loop\n if (swiper.params.loop) {\n swiper.loopCreate();\n }\n\n // Attach events\n swiper.attachEvents();\n const lazyElements = [...swiper.el.querySelectorAll('[loading=\"lazy\"]')];\n if (swiper.isElement) {\n lazyElements.push(...swiper.hostEl.querySelectorAll('[loading=\"lazy\"]'));\n }\n lazyElements.forEach(imageEl => {\n if (imageEl.complete) {\n processLazyPreloader(swiper, imageEl);\n } else {\n imageEl.addEventListener('load', e => {\n processLazyPreloader(swiper, e.target);\n });\n }\n });\n preload(swiper);\n\n // Init Flag\n swiper.initialized = true;\n preload(swiper);\n\n // Emit\n swiper.emit('init');\n swiper.emit('afterInit');\n return swiper;\n }\n destroy(deleteInstance, cleanStyles) {\n if (deleteInstance === void 0) {\n deleteInstance = true;\n }\n if (cleanStyles === void 0) {\n cleanStyles = true;\n }\n const swiper = this;\n const {\n params,\n el,\n wrapperEl,\n slides\n } = swiper;\n if (typeof swiper.params === 'undefined' || swiper.destroyed) {\n return null;\n }\n swiper.emit('beforeDestroy');\n\n // Init Flag\n swiper.initialized = false;\n\n // Detach events\n swiper.detachEvents();\n\n // Destroy loop\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n // Cleanup styles\n if (cleanStyles) {\n swiper.removeClasses();\n if (el && typeof el !== 'string') {\n el.removeAttribute('style');\n }\n if (wrapperEl) {\n wrapperEl.removeAttribute('style');\n }\n if (slides && slides.length) {\n slides.forEach(slideEl => {\n slideEl.classList.remove(params.slideVisibleClass, params.slideFullyVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass);\n slideEl.removeAttribute('style');\n slideEl.removeAttribute('data-swiper-slide-index');\n });\n }\n }\n swiper.emit('destroy');\n\n // Detach emitter events\n Object.keys(swiper.eventsListeners).forEach(eventName => {\n swiper.off(eventName);\n });\n if (deleteInstance !== false) {\n if (swiper.el && typeof swiper.el !== 'string') {\n swiper.el.swiper = null;\n }\n deleteProps(swiper);\n }\n swiper.destroyed = true;\n return null;\n }\n static extendDefaults(newDefaults) {\n extend(extendedDefaults, newDefaults);\n }\n static get extendedDefaults() {\n return extendedDefaults;\n }\n static get defaults() {\n return defaults;\n }\n static installModule(mod) {\n if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = [];\n const modules = Swiper.prototype.__modules__;\n if (typeof mod === 'function' && modules.indexOf(mod) < 0) {\n modules.push(mod);\n }\n }\n static use(module) {\n if (Array.isArray(module)) {\n module.forEach(m => Swiper.installModule(m));\n return Swiper;\n }\n Swiper.installModule(module);\n return Swiper;\n }\n}\nObject.keys(prototypes).forEach(prototypeGroup => {\n Object.keys(prototypes[prototypeGroup]).forEach(protoMethod => {\n Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];\n });\n});\nSwiper.use([Resize, Observer]);\nexport { Swiper as S, defaults as d };","
\n
\n \n
\n @if (showPagination()) {\n @if (swiperOptions().pagination) {\n
\n }\n @if (swiperOptions().navigation) {\n
\n
\n }\n }\n
\n","import { NgClass } from '@angular/common';\nimport { AfterViewInit, Component, ElementRef, NgZone, OnDestroy, ViewChild, effect, inject, input } from '@angular/core';\n\nimport { RxStrategyProvider } from '@rx-angular/cdk/render-strategies';\nimport Swiper from 'swiper';\nimport { Autoplay, Navigation, Pagination } from 'swiper/modules';\nimport { SwiperModule, SwiperOptions } from 'swiper/types';\nimport { NavigationOptions } from 'swiper/types/modules/navigation';\nimport { PaginationOptions } from 'swiper/types/modules/pagination';\n\n@Component({\n standalone: true,\n selector: 'vn-swiper',\n templateUrl: 'swiper.html',\n imports: [NgClass],\n})\nexport class SwiperComponent implements AfterViewInit, OnDestroy {\n private ngZone = inject(NgZone);\n private strategy = inject(RxStrategyProvider);\n\n @ViewChild('swiperContainer') swiperRef: ElementRef;\n\n private readonly defaultOptions: SwiperOptions = {\n modules: [],\n navigation: {\n nextEl: '.swiper-button-next',\n prevEl: '.swiper-button-prev',\n },\n pagination: {\n clickable: true,\n el: '.swiper-pagination',\n type: 'bullets',\n },\n };\n\n showPagination = input(true);\n swiperOptions = input(this.defaultOptions, {\n transform: (options) => this.sanitizeOptions(options),\n });\n swiperClass = input('', {\n transform: (value) => (Array.isArray(value) ? value.filter((v: string) => v !== undefined) : value || ''),\n });\n\n ngAfterViewInit() {\n this.ngZone.runOutsideAngular(() => {\n this.swiper = new Swiper(this.swiperRef.nativeElement, this.swiperOptions());\n });\n }\n\n constructor() {\n effect(() => {\n const options = this.swiperOptions();\n if (this.swiper) {\n this.swiper.params = this.syncedSwiperParams(options, this.swiper.params);\n }\n });\n }\n\n swiper: Swiper;\n\n private sanitizeOptions(options: SwiperOptions): SwiperOptions {\n const extendedModules: SwiperModule[] = [];\n\n if (options.navigation === true) {\n options.navigation = this.defaultOptions.navigation as NavigationOptions;\n extendedModules.push(Navigation);\n }\n\n if (options.pagination === true) {\n options.pagination = this.defaultOptions.pagination as PaginationOptions;\n extendedModules.push(Pagination);\n }\n\n if (options.autoplay === true) {\n extendedModules.push(Autoplay);\n }\n\n options.modules = [...new Set([...(options.modules || []), ...(extendedModules || [])])];\n\n return options;\n }\n\n private syncedSwiperParams(updatedOptions: SwiperOptions, params: SwiperOptions): SwiperOptions {\n return Object.entries(updatedOptions).reduce(\n (acc, [key, value]) => {\n const paramKey = key as keyof SwiperOptions;\n const param = params[paramKey];\n const isObjParam = typeof value === 'object' && typeof param === 'object';\n return { ...acc, [paramKey]: isObjParam ? { ...param, ...value } : value };\n },\n { ...params },\n );\n }\n\n ngOnDestroy() {\n this.strategy.schedule(() => this.swiper.destroy(false, false)).subscribe();\n }\n}\n"],"names":["isObject","obj","extend","target","src","key","ssrDocument","getDocument","doc","ssrWindow","callback","id","getWindow","win","classesToTokens","classes","c","deleteProps","object","nextTick","delay","now","getComputedStyle","el","window","style","getTranslate","axis","matrix","curTransform","transformMatrix","curStyle","a","o","isNode","node","to","noExtend","i","nextSource","keysArray","nextIndex","len","nextKey","desc","setCSSProperty","varName","varValue","animateCSSModeScroll","_ref","swiper","targetPosition","side","startPosition","startTime","time","duration","dir","isOutOfBound","current","animate","progress","easeProgress","currentPosition","getSlideTransformEl","slideEl","elementChildren","element","selector","children","elementIsChildOf","parent","isChild","showWarning","text","createElement","tag","elementPrevAll","prevEls","prev","elementNextAll","nextEls","next","elementStyle","prop","elementIndex","child","elementParents","parents","elementOuterSize","size","includeMargins","makeElementsArray","getRotateFix","v","createElementIfNotDefined","originalParams","params","checkProps","Navigation","extendParams","on","emit","getEl","res","toggleEl","disabled","subEl","update","nextEl","prevEl","onPrevClick","e","onNextClick","init","initButton","destroy","destroyButton","disable","_s","targetEl","targetIsButton","path","pathEl","isHidden","enable","classesToSelector","Pagination","pfx","number","bulletSize","dynamicBulletIndex","isPaginationDisabled","setSideBullets","bulletEl","position","bulletActiveClass","getMoveDirection","prevIndex","length","onBulletClick","index","moveDirection","rtl","previousIndex","slidesLength","total","bullets","firstIndex","lastIndex","midIndex","classesToRemove","suffix","s","bullet","bulletIndex","firstDisplayedBullet","lastDisplayedBullet","dynamicBulletsLength","bulletsOffset","offsetProp","subElIndex","fractionEl","totalEl","progressbarDirection","scale","scaleX","scaleY","progressEl","render","paginationHTML","numberOfBullets","Autoplay","timeout","raf","autoplayDelayTotal","autoplayDelayCurrent","autoplayTimeLeft","autoplayStartTime","wasPaused","isTouched","pausedByTouch","touchStartTimeout","slideChanged","pausedByInteraction","pausedByPointerEnter","onTransitionEnd","resume","calcTimeLeft","timeLeft","getSlideDelay","activeSlideEl","run","delayForce","currentSlideDelay","speed","proceed","start","stop","pause","internal","reset","onVisibilityChange","document","onPointerEnter","onPointerLeave","attachMouseEvents","detachMouseEvents","attachDocumentEvents","detachDocumentEvents","createShadow","shadowClass","shadowContainer","shadowEl","effectInit","effect","setTranslate","setTransition","overwriteParams","perspective","recreateShadows","getEffectParams","overwriteParamsResult","requireUpdateOnVirtual","effectTarget","effectParams","transformEl","EffectCoverflow","swiperWidth","swiperHeight","slides","slidesSizesGrid","isHorizontal","transform","center","rotate","translate","r","slideSize","slideOffset","centerOffset","offsetMultiplier","rotateY","rotateX","translateZ","stretch","translateY","translateX","slideTransform","shadowBeforeEl","shadowAfterEl","support","calcSupport","getSupport","deviceCached","calcDevice","_temp","userAgent","platform","ua","device","screenWidth","screenHeight","android","ipad","ipod","iphone","windows","macos","iPadScreens","getDevice","overrides","browser","calcBrowser","needPerspectiveFix","isSafari","major","minor","num","isWebView","isSafariBrowser","need3dFix","getBrowser","Resize","observer","animationFrame","resizeHandler","createObserver","entries","width","height","newWidth","newHeight","_ref2","contentBoxSize","contentRect","removeObserver","orientationChangeHandler","Observer","observers","attach","options","ObserverFunc","mutations","observerUpdate","containerParents","eventsEmitter","events","handler","priority","self","method","event","onceHandler","_len","args","_key","eventHandler","data","context","_len2","_key2","updateSize","updateSlides","getDirectionPropertyValue","label","wrapperEl","slidesEl","swiperSize","wrongRTL","isVirtual","previousSlidesLength","snapGrid","slidesGrid","offsetBefore","offsetAfter","previousSnapGridLength","previousSlidesGridLength","spaceBetween","slidePosition","prevSlideSize","gridEnabled","shouldResetSlideSize","slide","slideStyles","currentTransform","currentWebKitTransform","paddingLeft","paddingRight","marginLeft","marginRight","boxSizing","clientWidth","offsetWidth","newSlidesGrid","slidesGridItem","groups","groupSize","_","slideIndex","allSlidesSize","slideSizeValue","maxSnap","snap","offsetSize","allSlidesOffset","snapIndex","addToSnapGrid","addToSlidesGrid","backFaceHiddenClass","hasClassBackfaceClassAdded","updateAutoHeight","activeSlides","getSlideByIndex","updateSlidesOffset","minusOffset","toggleSlideClasses$1","condition","className","updateSlidesProgress","offsetCenter","slideProgress","originalSlideProgress","slideBefore","slideAfter","isFullyVisible","isVisible","updateProgress","multiplier","translatesDiff","isBeginning","isEnd","progressLoop","wasBeginning","wasEnd","isBeginningRounded","isEndRounded","firstSlideIndex","lastSlideIndex","firstSlideTranslate","lastSlideTranslate","translateMax","translateAbs","toggleSlideClasses","updateSlidesClasses","activeIndex","getFilteredSlide","activeSlide","prevSlide","nextSlide","processLazyPreloader","imageEl","slideSelector","lazyEl","unlazy","preload","amount","slidesPerView","activeColumn","preloadColumns","slideIndexLastInView","realIndex","getActiveIndexByTranslate","updateActiveIndex","newActiveIndex","previousRealIndex","previousSnapIndex","getVirtualRealIndex","aIndex","skip","firstSlideInColumn","activeSlideIndex","updateClickedSlide","slideFound","getSwiperTranslate","currentTranslate","byController","x","y","z","newProgress","minTranslate","maxTranslate","translateTo","runCallbacks","translateBounds","newTranslate","isH","transitionEmit","direction","step","transitionStart","transitionEnd","transition","slideTo","initial","enabled","normalizedTranslate","normalizedGrid","normalizedGridNext","t","slideToLoop","newIndex","targetSlideIndex","cols","centeredSlides","needLoopFix","slideNext","animating","perGroup","increment","slidePrev","rtlTranslate","normalize","val","normalizedSnapGrid","prevSnap","prevSnapIndex","slideReset","slideToClosest","threshold","currentSnap","nextSnap","slideToClickedSlide","slideToIndex","loopCreate","slideRealIndex","initSlides","slidesPerGroup","shouldFillGroup","shouldFillGrid","addBlankSlides","amountOfSlides","slidesToAdd","loopFix","byMousewheel","allowSlidePrev","allowSlideNext","loopedSlides","prependSlidesIndexes","appendSlidesIndexes","isNext","isPrev","slidesPrepended","slidesAppended","activeColIndexWithShift","colIndexToPrepend","currentSlideTranslate","diff","shift","loopParams","__spreadProps","__spreadValues","loopDestroy","newSlidesOrder","loop","setGrabCursor","moving","unsetGrabCursor","grabCursor","closestElement","base","__closestFrom","found","preventEdgeSwipe","startX","edgeSwipeDetection","edgeSwipeThreshold","onTouchStart","touches","swipingClassHasValue","eventPath","noSwipingSelector","isTargetShadow","startY","preventDefault","shouldPreventDefault","onTouchMove","targetTouch","pageX","pageY","diffX","diffY","touchAngle","touchesDiff","prevTouchesDirection","isLoop","allowLoopFix","evt","loopFixed","disableParentSwiper","resistanceRatio","onTouchEnd","touchEndTime","timeDiff","pathTree","currentPos","swipeToLast","stopIndex","rewindFirstIndex","rewindLastIndex","ratio","onResize","isVirtualLoop","onClick","onScroll","onLoad","onDocumentTouchStart","capture","domMethod","swiperMethod","attachEvents","detachEvents","events$1","isGridEnabled","setBreakpoint","initialized","breakpoints","breakpoint","breakpointParams","wasMultiRow","isMultiRow","wasGrabCursor","isGrabCursor","wasEnabled","wasModuleEnabled","isModuleEnabled","directionChanged","needsReLoop","wasLoop","isEnabled","hasLoop","getBreakpoint","containerEl","currentHeight","points","point","minRatio","b","value","prepareClasses","prefix","resultClasses","item","classNames","addClasses","suffixes","removeClasses","checkOverflow","wasLocked","slidesOffsetBefore","lastSlideRightEdge","checkOverflow$1","defaults","moduleExtendParams","allModulesParams","moduleParamName","moduleParams","prototypes","extendedDefaults","Swiper","_Swiper","swipers","newParams","mod","swiperParams","eventName","property","min","cls","updates","view","exact","spv","breakLoop","translateValue","translated","newDirection","needUpdate","currentDirection","getWrapperSelector","lazyElements","deleteInstance","cleanStyles","newDefaults","modules","module","m","prototypeGroup","protoMethod","ɵɵelement","ɵɵtemplate","SwiperComponent_Conditional_4_Conditional_0_Template","SwiperComponent_Conditional_4_Conditional_1_Template","ɵɵconditional","ctx_r0","swiperOptions","pagination","ɵɵadvance","navigation","SwiperComponent","ngAfterViewInit","ngZone","runOutsideAngular","swiperRef","nativeElement","constructor","inject","NgZone","strategy","RxStrategyProvider","defaultOptions","clickable","type","showPagination","input","sanitizeOptions","swiperClass","Array","isArray","filter","undefined","syncedSwiperParams","extendedModules","push","autoplay","Set","updatedOptions","Object","reduce","acc","paramKey","param","isObjParam","ngOnDestroy","schedule","subscribe","selectors","viewQuery","rf","ctx","Ve","Ne","Fe","Xe","Be","ɵɵelementStart","ɵɵprojection","ɵɵelementEnd","SwiperComponent_Conditional_4_Template","ɵɵproperty","NgClass","encapsulation","_SwiperComponent"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11]}