{"version":3,"file":"swiper-CgNhhjhh.js","sources":["../../node_modules/.pnpm/swiper@11.1.15/node_modules/swiper/shared/ssr-window.esm.mjs","../../node_modules/.pnpm/swiper@11.1.15/node_modules/swiper/shared/utils.mjs","../../node_modules/.pnpm/swiper@11.1.15/node_modules/swiper/shared/swiper-core.mjs","../../node_modules/.pnpm/swiper@11.1.15/node_modules/swiper/shared/update-swiper.mjs","../../node_modules/.pnpm/swiper@11.1.15/node_modules/swiper/shared/update-on-virtual-data.mjs","../../node_modules/.pnpm/swiper@11.1.15/node_modules/swiper/swiper-vue.mjs","../../node_modules/.pnpm/swiper@11.1.15/node_modules/swiper/modules/autoplay.mjs","../../node_modules/.pnpm/swiper@11.1.15/node_modules/swiper/shared/effect-target.mjs","../../node_modules/.pnpm/swiper@11.1.15/node_modules/swiper/shared/create-shadow.mjs","../../node_modules/.pnpm/swiper@11.1.15/node_modules/swiper/modules/effect-coverflow.mjs","../../node_modules/.pnpm/swiper@11.1.15/node_modules/swiper/shared/effect-init.mjs"],"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}\n\nexport { getWindow as a, getDocument as g };\n","import { a as getWindow, g as getDocument } from './ssr-window.esm.mjs';\n\nfunction classesToTokens(classes) {\n if (classes === void 0) {\n classes = '';\n }\n return classes.trim().split(' ').filter(c => !!c.trim());\n}\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}\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 };\n","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';\n\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}\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}\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}\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}\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};\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}\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}\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}\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}\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}\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}\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}\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};\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}\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}\n\nvar update = {\n updateSize,\n updateSlides,\n updateAutoHeight,\n updateSlidesOffset,\n updateSlidesProgress,\n updateProgress,\n updateSlidesClasses,\n updateActiveIndex,\n updateClickedSlide\n};\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}\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}\n\nfunction minTranslate() {\n return -this.snapGrid[0];\n}\n\nfunction maxTranslate() {\n return -this.snapGrid[this.snapGrid.length - 1];\n}\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}\n\nvar translate = {\n getTranslate: getSwiperTranslate,\n setTranslate,\n minTranslate,\n maxTranslate,\n translateTo\n};\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}\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}\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}\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}\n\nvar transition = {\n setTransition,\n transitionStart,\n transitionEnd\n};\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}\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}\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}\n\nvar slide = {\n slideTo,\n slideToLoop,\n slideNext,\n slidePrev,\n slideReset,\n slideToClosest,\n slideToClickedSlide\n};\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}\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}\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}\n\nvar loop = {\n loopCreate,\n loopFix,\n loopDestroy\n};\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}\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}\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}\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}\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}\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}\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}\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}\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}\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}\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};\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}\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}\n\nvar breakpoints = {\n setBreakpoint,\n getBreakpoint\n};\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}\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}\n\nvar classes = {\n addClasses,\n removeClasses\n};\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};\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};\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]);\n\nexport { Swiper as S, defaults as d };\n","/* underscore in name -> watch for changes */\nconst paramsList = ['eventsPrefix', 'injectStyles', 'injectStylesUrls', 'modules', 'init', '_direction', 'oneWayMovement', 'swiperElementNodeName', 'touchEventsTarget', 'initialSlide', '_speed', 'cssMode', 'updateOnWindowResize', 'resizeObserver', 'nested', 'focusableElements', '_enabled', '_width', '_height', 'preventInteractionOnTransition', 'userAgent', 'url', '_edgeSwipeDetection', '_edgeSwipeThreshold', '_freeMode', '_autoHeight', 'setWrapperSize', 'virtualTranslate', '_effect', 'breakpoints', 'breakpointsBase', '_spaceBetween', '_slidesPerView', 'maxBackfaceHiddenSlides', '_grid', '_slidesPerGroup', '_slidesPerGroupSkip', '_slidesPerGroupAuto', '_centeredSlides', '_centeredSlidesBounds', '_slidesOffsetBefore', '_slidesOffsetAfter', 'normalizeSlideIndex', '_centerInsufficientSlides', '_watchOverflow', 'roundLengths', 'touchRatio', 'touchAngle', 'simulateTouch', '_shortSwipes', '_longSwipes', 'longSwipesRatio', 'longSwipesMs', '_followFinger', 'allowTouchMove', '_threshold', 'touchMoveStopPropagation', 'touchStartPreventDefault', 'touchStartForcePreventDefault', 'touchReleaseOnEdges', 'uniqueNavElements', '_resistance', '_resistanceRatio', '_watchSlidesProgress', '_grabCursor', 'preventClicks', 'preventClicksPropagation', '_slideToClickedSlide', '_loop', 'loopAdditionalSlides', 'loopAddBlankSlides', 'loopPreventsSliding', '_rewind', '_allowSlidePrev', '_allowSlideNext', '_swipeHandler', '_noSwiping', 'noSwipingClass', 'noSwipingSelector', 'passiveListeners', 'containerModifierClass', 'slideClass', 'slideActiveClass', 'slideVisibleClass', 'slideFullyVisibleClass', 'slideNextClass', 'slidePrevClass', 'slideBlankClass', 'wrapperClass', 'lazyPreloaderClass', 'lazyPreloadPrevNext', 'runCallbacksOnInit', 'observer', 'observeParents', 'observeSlideChildren',\n// modules\n'a11y', '_autoplay', '_controller', 'coverflowEffect', 'cubeEffect', 'fadeEffect', 'flipEffect', 'creativeEffect', 'cardsEffect', 'hashNavigation', 'history', 'keyboard', 'mousewheel', '_navigation', '_pagination', 'parallax', '_scrollbar', '_thumbs', 'virtual', 'zoom', 'control'];\n\nfunction isObject(o) {\n return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object' && !o.__swiper__;\n}\nfunction extend(target, src) {\n const noExtend = ['__proto__', 'constructor', 'prototype'];\n Object.keys(src).filter(key => noExtend.indexOf(key) < 0).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 if (src[key].__swiper__) target[key] = src[key];else extend(target[key], src[key]);\n } else {\n target[key] = src[key];\n }\n });\n}\nfunction needsNavigation(params) {\n if (params === void 0) {\n params = {};\n }\n return params.navigation && typeof params.navigation.nextEl === 'undefined' && typeof params.navigation.prevEl === 'undefined';\n}\nfunction needsPagination(params) {\n if (params === void 0) {\n params = {};\n }\n return params.pagination && typeof params.pagination.el === 'undefined';\n}\nfunction needsScrollbar(params) {\n if (params === void 0) {\n params = {};\n }\n return params.scrollbar && typeof params.scrollbar.el === 'undefined';\n}\nfunction uniqueClasses(classNames) {\n if (classNames === void 0) {\n classNames = '';\n }\n const classes = classNames.split(' ').map(c => c.trim()).filter(c => !!c);\n const unique = [];\n classes.forEach(c => {\n if (unique.indexOf(c) < 0) unique.push(c);\n });\n return unique.join(' ');\n}\nfunction attrToProp(attrName) {\n if (attrName === void 0) {\n attrName = '';\n }\n return attrName.replace(/-[a-z]/g, l => l.toUpperCase().replace('-', ''));\n}\nfunction wrapperClass(className) {\n if (className === void 0) {\n className = '';\n }\n if (!className) return 'swiper-wrapper';\n if (!className.includes('swiper-wrapper')) return `swiper-wrapper ${className}`;\n return className;\n}\n\nfunction updateSwiper(_ref) {\n let {\n swiper,\n slides,\n passedParams,\n changedParams,\n nextEl,\n prevEl,\n scrollbarEl,\n paginationEl\n } = _ref;\n const updateParams = changedParams.filter(key => key !== 'children' && key !== 'direction' && key !== 'wrapperClass');\n const {\n params: currentParams,\n pagination,\n navigation,\n scrollbar,\n virtual,\n thumbs\n } = swiper;\n let needThumbsInit;\n let needControllerInit;\n let needPaginationInit;\n let needScrollbarInit;\n let needNavigationInit;\n let loopNeedDestroy;\n let loopNeedEnable;\n let loopNeedReloop;\n if (changedParams.includes('thumbs') && passedParams.thumbs && passedParams.thumbs.swiper && !passedParams.thumbs.swiper.destroyed && currentParams.thumbs && (!currentParams.thumbs.swiper || currentParams.thumbs.swiper.destroyed)) {\n needThumbsInit = true;\n }\n if (changedParams.includes('controller') && passedParams.controller && passedParams.controller.control && currentParams.controller && !currentParams.controller.control) {\n needControllerInit = true;\n }\n if (changedParams.includes('pagination') && passedParams.pagination && (passedParams.pagination.el || paginationEl) && (currentParams.pagination || currentParams.pagination === false) && pagination && !pagination.el) {\n needPaginationInit = true;\n }\n if (changedParams.includes('scrollbar') && passedParams.scrollbar && (passedParams.scrollbar.el || scrollbarEl) && (currentParams.scrollbar || currentParams.scrollbar === false) && scrollbar && !scrollbar.el) {\n needScrollbarInit = true;\n }\n if (changedParams.includes('navigation') && passedParams.navigation && (passedParams.navigation.prevEl || prevEl) && (passedParams.navigation.nextEl || nextEl) && (currentParams.navigation || currentParams.navigation === false) && navigation && !navigation.prevEl && !navigation.nextEl) {\n needNavigationInit = true;\n }\n const destroyModule = mod => {\n if (!swiper[mod]) return;\n swiper[mod].destroy();\n if (mod === 'navigation') {\n if (swiper.isElement) {\n swiper[mod].prevEl.remove();\n swiper[mod].nextEl.remove();\n }\n currentParams[mod].prevEl = undefined;\n currentParams[mod].nextEl = undefined;\n swiper[mod].prevEl = undefined;\n swiper[mod].nextEl = undefined;\n } else {\n if (swiper.isElement) {\n swiper[mod].el.remove();\n }\n currentParams[mod].el = undefined;\n swiper[mod].el = undefined;\n }\n };\n if (changedParams.includes('loop') && swiper.isElement) {\n if (currentParams.loop && !passedParams.loop) {\n loopNeedDestroy = true;\n } else if (!currentParams.loop && passedParams.loop) {\n loopNeedEnable = true;\n } else {\n loopNeedReloop = true;\n }\n }\n updateParams.forEach(key => {\n if (isObject(currentParams[key]) && isObject(passedParams[key])) {\n Object.assign(currentParams[key], passedParams[key]);\n if ((key === 'navigation' || key === 'pagination' || key === 'scrollbar') && 'enabled' in passedParams[key] && !passedParams[key].enabled) {\n destroyModule(key);\n }\n } else {\n const newValue = passedParams[key];\n if ((newValue === true || newValue === false) && (key === 'navigation' || key === 'pagination' || key === 'scrollbar')) {\n if (newValue === false) {\n destroyModule(key);\n }\n } else {\n currentParams[key] = passedParams[key];\n }\n }\n });\n if (updateParams.includes('controller') && !needControllerInit && swiper.controller && swiper.controller.control && currentParams.controller && currentParams.controller.control) {\n swiper.controller.control = currentParams.controller.control;\n }\n if (changedParams.includes('children') && slides && virtual && currentParams.virtual.enabled) {\n virtual.slides = slides;\n virtual.update(true);\n } else if (changedParams.includes('virtual') && virtual && currentParams.virtual.enabled) {\n if (slides) virtual.slides = slides;\n virtual.update(true);\n }\n if (changedParams.includes('children') && slides && currentParams.loop) {\n loopNeedReloop = true;\n }\n if (needThumbsInit) {\n const initialized = thumbs.init();\n if (initialized) thumbs.update(true);\n }\n if (needControllerInit) {\n swiper.controller.control = currentParams.controller.control;\n }\n if (needPaginationInit) {\n if (swiper.isElement && (!paginationEl || typeof paginationEl === 'string')) {\n paginationEl = document.createElement('div');\n paginationEl.classList.add('swiper-pagination');\n paginationEl.part.add('pagination');\n swiper.el.appendChild(paginationEl);\n }\n if (paginationEl) currentParams.pagination.el = paginationEl;\n pagination.init();\n pagination.render();\n pagination.update();\n }\n if (needScrollbarInit) {\n if (swiper.isElement && (!scrollbarEl || typeof scrollbarEl === 'string')) {\n scrollbarEl = document.createElement('div');\n scrollbarEl.classList.add('swiper-scrollbar');\n scrollbarEl.part.add('scrollbar');\n swiper.el.appendChild(scrollbarEl);\n }\n if (scrollbarEl) currentParams.scrollbar.el = scrollbarEl;\n scrollbar.init();\n scrollbar.updateSize();\n scrollbar.setTranslate();\n }\n if (needNavigationInit) {\n if (swiper.isElement) {\n if (!nextEl || typeof nextEl === 'string') {\n nextEl = document.createElement('div');\n nextEl.classList.add('swiper-button-next');\n nextEl.innerHTML = swiper.hostEl.constructor.nextButtonSvg;\n nextEl.part.add('button-next');\n swiper.el.appendChild(nextEl);\n }\n if (!prevEl || typeof prevEl === 'string') {\n prevEl = document.createElement('div');\n prevEl.classList.add('swiper-button-prev');\n prevEl.innerHTML = swiper.hostEl.constructor.prevButtonSvg;\n prevEl.part.add('button-prev');\n swiper.el.appendChild(prevEl);\n }\n }\n if (nextEl) currentParams.navigation.nextEl = nextEl;\n if (prevEl) currentParams.navigation.prevEl = prevEl;\n navigation.init();\n navigation.update();\n }\n if (changedParams.includes('allowSlideNext')) {\n swiper.allowSlideNext = passedParams.allowSlideNext;\n }\n if (changedParams.includes('allowSlidePrev')) {\n swiper.allowSlidePrev = passedParams.allowSlidePrev;\n }\n if (changedParams.includes('direction')) {\n swiper.changeDirection(passedParams.direction, false);\n }\n if (loopNeedDestroy || loopNeedReloop) {\n swiper.loopDestroy();\n }\n if (loopNeedEnable || loopNeedReloop) {\n swiper.loopCreate();\n }\n swiper.update();\n}\n\nexport { needsPagination as a, needsScrollbar as b, attrToProp as c, uniqueClasses as d, extend as e, isObject as i, needsNavigation as n, paramsList as p, updateSwiper as u, wrapperClass as w };\n","import { e as extend, p as paramsList, i as isObject, n as needsNavigation, a as needsPagination, b as needsScrollbar } from './update-swiper.mjs';\nimport { d as defaults } from './swiper-core.mjs';\n\nfunction getParams(obj, splitEvents) {\n if (obj === void 0) {\n obj = {};\n }\n if (splitEvents === void 0) {\n splitEvents = true;\n }\n const params = {\n on: {}\n };\n const events = {};\n const passedParams = {};\n extend(params, defaults);\n params._emitClasses = true;\n params.init = false;\n const rest = {};\n const allowedParams = paramsList.map(key => key.replace(/_/, ''));\n const plainObj = Object.assign({}, obj);\n Object.keys(plainObj).forEach(key => {\n if (typeof obj[key] === 'undefined') return;\n if (allowedParams.indexOf(key) >= 0) {\n if (isObject(obj[key])) {\n params[key] = {};\n passedParams[key] = {};\n extend(params[key], obj[key]);\n extend(passedParams[key], obj[key]);\n } else {\n params[key] = obj[key];\n passedParams[key] = obj[key];\n }\n } else if (key.search(/on[A-Z]/) === 0 && typeof obj[key] === 'function') {\n if (splitEvents) {\n events[`${key[2].toLowerCase()}${key.substr(3)}`] = obj[key];\n } else {\n params.on[`${key[2].toLowerCase()}${key.substr(3)}`] = obj[key];\n }\n } else {\n rest[key] = obj[key];\n }\n });\n ['navigation', 'pagination', 'scrollbar'].forEach(key => {\n if (params[key] === true) params[key] = {};\n if (params[key] === false) delete params[key];\n });\n return {\n params,\n passedParams,\n rest,\n events\n };\n}\n\nfunction mountSwiper(_ref, swiperParams) {\n let {\n el,\n nextEl,\n prevEl,\n paginationEl,\n scrollbarEl,\n swiper\n } = _ref;\n if (needsNavigation(swiperParams) && nextEl && prevEl) {\n swiper.params.navigation.nextEl = nextEl;\n swiper.originalParams.navigation.nextEl = nextEl;\n swiper.params.navigation.prevEl = prevEl;\n swiper.originalParams.navigation.prevEl = prevEl;\n }\n if (needsPagination(swiperParams) && paginationEl) {\n swiper.params.pagination.el = paginationEl;\n swiper.originalParams.pagination.el = paginationEl;\n }\n if (needsScrollbar(swiperParams) && scrollbarEl) {\n swiper.params.scrollbar.el = scrollbarEl;\n swiper.originalParams.scrollbar.el = scrollbarEl;\n }\n swiper.init(el);\n}\n\nfunction getChangedParams(swiperParams, oldParams, children, oldChildren, getKey) {\n const keys = [];\n if (!oldParams) return keys;\n const addKey = key => {\n if (keys.indexOf(key) < 0) keys.push(key);\n };\n if (children && oldChildren) {\n const oldChildrenKeys = oldChildren.map(getKey);\n const childrenKeys = children.map(getKey);\n if (oldChildrenKeys.join('') !== childrenKeys.join('')) addKey('children');\n if (oldChildren.length !== children.length) addKey('children');\n }\n const watchParams = paramsList.filter(key => key[0] === '_').map(key => key.replace(/_/, ''));\n watchParams.forEach(key => {\n if (key in swiperParams && key in oldParams) {\n if (isObject(swiperParams[key]) && isObject(oldParams[key])) {\n const newKeys = Object.keys(swiperParams[key]);\n const oldKeys = Object.keys(oldParams[key]);\n if (newKeys.length !== oldKeys.length) {\n addKey(key);\n } else {\n newKeys.forEach(newKey => {\n if (swiperParams[key][newKey] !== oldParams[key][newKey]) {\n addKey(key);\n }\n });\n oldKeys.forEach(oldKey => {\n if (swiperParams[key][oldKey] !== oldParams[key][oldKey]) addKey(key);\n });\n }\n } else if (swiperParams[key] !== oldParams[key]) {\n addKey(key);\n }\n }\n });\n return keys;\n}\n\nconst updateOnVirtualData = swiper => {\n if (!swiper || swiper.destroyed || !swiper.params.virtual || swiper.params.virtual && !swiper.params.virtual.enabled) return;\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n if (swiper.parallax && swiper.params.parallax && swiper.params.parallax.enabled) {\n swiper.parallax.setTranslate();\n }\n};\n\nexport { getChangedParams as a, getParams as g, mountSwiper as m, updateOnVirtualData as u };\n","/**\n * Swiper Vue 11.1.15\n * Most modern mobile touch slider and framework with hardware accelerated transitions\n * https://swiperjs.com\n *\n * Copyright 2014-2024 Vladimir Kharlampidi\n *\n * Released under the MIT License\n *\n * Released on: November 18, 2024\n */\n\nimport { h, ref, onUpdated, provide, watch, nextTick, onMounted, onBeforeUnmount, onBeforeUpdate, computed, inject } from 'vue';\nimport { S as Swiper$1 } from './shared/swiper-core.mjs';\nimport { g as getParams, a as getChangedParams, u as updateOnVirtualData, m as mountSwiper } from './shared/update-on-virtual-data.mjs';\nimport { e as extend, u as updateSwiper, d as uniqueClasses, w as wrapperClass, n as needsNavigation, b as needsScrollbar, a as needsPagination } from './shared/update-swiper.mjs';\n\nfunction getChildren(originalSlots, slidesRef, oldSlidesRef) {\n if (originalSlots === void 0) {\n originalSlots = {};\n }\n const slides = [];\n const slots = {\n 'container-start': [],\n 'container-end': [],\n 'wrapper-start': [],\n 'wrapper-end': []\n };\n const getSlidesFromElements = (els, slotName) => {\n if (!Array.isArray(els)) {\n return;\n }\n els.forEach(vnode => {\n const isFragment = typeof vnode.type === 'symbol';\n if (slotName === 'default') slotName = 'container-end';\n if (isFragment && vnode.children) {\n getSlidesFromElements(vnode.children, slotName);\n } else if (vnode.type && (vnode.type.name === 'SwiperSlide' || vnode.type.name === 'AsyncComponentWrapper') || vnode.componentOptions && vnode.componentOptions.tag === 'SwiperSlide') {\n slides.push(vnode);\n } else if (slots[slotName]) {\n slots[slotName].push(vnode);\n }\n });\n };\n Object.keys(originalSlots).forEach(slotName => {\n if (typeof originalSlots[slotName] !== 'function') return;\n const els = originalSlots[slotName]();\n getSlidesFromElements(els, slotName);\n });\n oldSlidesRef.value = slidesRef.value;\n slidesRef.value = slides;\n return {\n slides,\n slots\n };\n}\n\nfunction renderVirtual(swiperRef, slides, virtualData) {\n if (!virtualData) return null;\n const getSlideIndex = index => {\n let slideIndex = index;\n if (index < 0) {\n slideIndex = slides.length + index;\n } else if (slideIndex >= slides.length) {\n // eslint-disable-next-line\n slideIndex = slideIndex - slides.length;\n }\n return slideIndex;\n };\n const style = swiperRef.value.isHorizontal() ? {\n [swiperRef.value.rtlTranslate ? 'right' : 'left']: `${virtualData.offset}px`\n } : {\n top: `${virtualData.offset}px`\n };\n const {\n from,\n to\n } = virtualData;\n const loopFrom = swiperRef.value.params.loop ? -slides.length : 0;\n const loopTo = swiperRef.value.params.loop ? slides.length * 2 : slides.length;\n const slidesToRender = [];\n for (let i = loopFrom; i < loopTo; i += 1) {\n if (i >= from && i <= to && slidesToRender.length < slides.length) {\n slidesToRender.push(slides[getSlideIndex(i)]);\n }\n }\n return slidesToRender.map(slide => {\n if (!slide.props) slide.props = {};\n if (!slide.props.style) slide.props.style = {};\n slide.props.swiperRef = swiperRef;\n slide.props.style = style;\n if (slide.type) {\n return h(slide.type, {\n ...slide.props\n }, slide.children);\n } else if (slide.componentOptions) {\n return h(slide.componentOptions.Ctor, {\n ...slide.props\n }, slide.componentOptions.children);\n }\n });\n}\n\nconst Swiper = {\n name: 'Swiper',\n props: {\n tag: {\n type: String,\n default: 'div'\n },\n wrapperTag: {\n type: String,\n default: 'div'\n },\n modules: {\n type: Array,\n default: undefined\n },\n init: {\n type: Boolean,\n default: undefined\n },\n direction: {\n type: String,\n default: undefined\n },\n oneWayMovement: {\n type: Boolean,\n default: undefined\n },\n swiperElementNodeName: {\n type: String,\n default: 'SWIPER-CONTAINER'\n },\n touchEventsTarget: {\n type: String,\n default: undefined\n },\n initialSlide: {\n type: Number,\n default: undefined\n },\n speed: {\n type: Number,\n default: undefined\n },\n cssMode: {\n type: Boolean,\n default: undefined\n },\n updateOnWindowResize: {\n type: Boolean,\n default: undefined\n },\n resizeObserver: {\n type: Boolean,\n default: undefined\n },\n nested: {\n type: Boolean,\n default: undefined\n },\n focusableElements: {\n type: String,\n default: undefined\n },\n width: {\n type: Number,\n default: undefined\n },\n height: {\n type: Number,\n default: undefined\n },\n preventInteractionOnTransition: {\n type: Boolean,\n default: undefined\n },\n userAgent: {\n type: String,\n default: undefined\n },\n url: {\n type: String,\n default: undefined\n },\n edgeSwipeDetection: {\n type: [Boolean, String],\n default: undefined\n },\n edgeSwipeThreshold: {\n type: Number,\n default: undefined\n },\n autoHeight: {\n type: Boolean,\n default: undefined\n },\n setWrapperSize: {\n type: Boolean,\n default: undefined\n },\n virtualTranslate: {\n type: Boolean,\n default: undefined\n },\n effect: {\n type: String,\n default: undefined\n },\n breakpoints: {\n type: Object,\n default: undefined\n },\n breakpointsBase: {\n type: String,\n default: undefined\n },\n spaceBetween: {\n type: [Number, String],\n default: undefined\n },\n slidesPerView: {\n type: [Number, String],\n default: undefined\n },\n maxBackfaceHiddenSlides: {\n type: Number,\n default: undefined\n },\n slidesPerGroup: {\n type: Number,\n default: undefined\n },\n slidesPerGroupSkip: {\n type: Number,\n default: undefined\n },\n slidesPerGroupAuto: {\n type: Boolean,\n default: undefined\n },\n centeredSlides: {\n type: Boolean,\n default: undefined\n },\n centeredSlidesBounds: {\n type: Boolean,\n default: undefined\n },\n slidesOffsetBefore: {\n type: Number,\n default: undefined\n },\n slidesOffsetAfter: {\n type: Number,\n default: undefined\n },\n normalizeSlideIndex: {\n type: Boolean,\n default: undefined\n },\n centerInsufficientSlides: {\n type: Boolean,\n default: undefined\n },\n watchOverflow: {\n type: Boolean,\n default: undefined\n },\n roundLengths: {\n type: Boolean,\n default: undefined\n },\n touchRatio: {\n type: Number,\n default: undefined\n },\n touchAngle: {\n type: Number,\n default: undefined\n },\n simulateTouch: {\n type: Boolean,\n default: undefined\n },\n shortSwipes: {\n type: Boolean,\n default: undefined\n },\n longSwipes: {\n type: Boolean,\n default: undefined\n },\n longSwipesRatio: {\n type: Number,\n default: undefined\n },\n longSwipesMs: {\n type: Number,\n default: undefined\n },\n followFinger: {\n type: Boolean,\n default: undefined\n },\n allowTouchMove: {\n type: Boolean,\n default: undefined\n },\n threshold: {\n type: Number,\n default: undefined\n },\n touchMoveStopPropagation: {\n type: Boolean,\n default: undefined\n },\n touchStartPreventDefault: {\n type: Boolean,\n default: undefined\n },\n touchStartForcePreventDefault: {\n type: Boolean,\n default: undefined\n },\n touchReleaseOnEdges: {\n type: Boolean,\n default: undefined\n },\n uniqueNavElements: {\n type: Boolean,\n default: undefined\n },\n resistance: {\n type: Boolean,\n default: undefined\n },\n resistanceRatio: {\n type: Number,\n default: undefined\n },\n watchSlidesProgress: {\n type: Boolean,\n default: undefined\n },\n grabCursor: {\n type: Boolean,\n default: undefined\n },\n preventClicks: {\n type: Boolean,\n default: undefined\n },\n preventClicksPropagation: {\n type: Boolean,\n default: undefined\n },\n slideToClickedSlide: {\n type: Boolean,\n default: undefined\n },\n loop: {\n type: Boolean,\n default: undefined\n },\n loopedSlides: {\n type: Number,\n default: undefined\n },\n loopPreventsSliding: {\n type: Boolean,\n default: undefined\n },\n rewind: {\n type: Boolean,\n default: undefined\n },\n allowSlidePrev: {\n type: Boolean,\n default: undefined\n },\n allowSlideNext: {\n type: Boolean,\n default: undefined\n },\n swipeHandler: {\n type: Boolean,\n default: undefined\n },\n noSwiping: {\n type: Boolean,\n default: undefined\n },\n noSwipingClass: {\n type: String,\n default: undefined\n },\n noSwipingSelector: {\n type: String,\n default: undefined\n },\n passiveListeners: {\n type: Boolean,\n default: undefined\n },\n containerModifierClass: {\n type: String,\n default: undefined\n },\n slideClass: {\n type: String,\n default: undefined\n },\n slideActiveClass: {\n type: String,\n default: undefined\n },\n slideVisibleClass: {\n type: String,\n default: undefined\n },\n slideFullyVisibleClass: {\n type: String,\n default: undefined\n },\n slideBlankClass: {\n type: String,\n default: undefined\n },\n slideNextClass: {\n type: String,\n default: undefined\n },\n slidePrevClass: {\n type: String,\n default: undefined\n },\n wrapperClass: {\n type: String,\n default: undefined\n },\n lazyPreloaderClass: {\n type: String,\n default: undefined\n },\n lazyPreloadPrevNext: {\n type: Number,\n default: undefined\n },\n runCallbacksOnInit: {\n type: Boolean,\n default: undefined\n },\n observer: {\n type: Boolean,\n default: undefined\n },\n observeParents: {\n type: Boolean,\n default: undefined\n },\n observeSlideChildren: {\n type: Boolean,\n default: undefined\n },\n a11y: {\n type: [Boolean, Object],\n default: undefined\n },\n autoplay: {\n type: [Boolean, Object],\n default: undefined\n },\n controller: {\n type: Object,\n default: undefined\n },\n coverflowEffect: {\n type: Object,\n default: undefined\n },\n cubeEffect: {\n type: Object,\n default: undefined\n },\n fadeEffect: {\n type: Object,\n default: undefined\n },\n flipEffect: {\n type: Object,\n default: undefined\n },\n creativeEffect: {\n type: Object,\n default: undefined\n },\n cardsEffect: {\n type: Object,\n default: undefined\n },\n hashNavigation: {\n type: [Boolean, Object],\n default: undefined\n },\n history: {\n type: [Boolean, Object],\n default: undefined\n },\n keyboard: {\n type: [Boolean, Object],\n default: undefined\n },\n mousewheel: {\n type: [Boolean, Object],\n default: undefined\n },\n navigation: {\n type: [Boolean, Object],\n default: undefined\n },\n pagination: {\n type: [Boolean, Object],\n default: undefined\n },\n parallax: {\n type: [Boolean, Object],\n default: undefined\n },\n scrollbar: {\n type: [Boolean, Object],\n default: undefined\n },\n thumbs: {\n type: Object,\n default: undefined\n },\n virtual: {\n type: [Boolean, Object],\n default: undefined\n },\n zoom: {\n type: [Boolean, Object],\n default: undefined\n },\n grid: {\n type: [Object],\n default: undefined\n },\n freeMode: {\n type: [Boolean, Object],\n default: undefined\n },\n enabled: {\n type: Boolean,\n default: undefined\n }\n },\n emits: ['_beforeBreakpoint', '_containerClasses', '_slideClass', '_slideClasses', '_swiper', '_freeModeNoMomentumRelease', 'activeIndexChange', 'afterInit', 'autoplay', 'autoplayStart', 'autoplayStop', 'autoplayPause', 'autoplayResume', 'autoplayTimeLeft', 'beforeDestroy', 'beforeInit', 'beforeLoopFix', 'beforeResize', 'beforeSlideChangeStart', 'beforeTransitionStart', 'breakpoint', 'changeDirection', 'click', 'disable', 'doubleTap', 'doubleClick', 'destroy', 'enable', 'fromEdge', 'hashChange', 'hashSet', 'init', 'keyPress', 'lock', 'loopFix', 'momentumBounce', 'navigationHide', 'navigationShow', 'navigationPrev', 'navigationNext', 'observerUpdate', 'orientationchange', 'paginationHide', 'paginationRender', 'paginationShow', 'paginationUpdate', 'progress', 'reachBeginning', 'reachEnd', 'realIndexChange', 'resize', 'scroll', 'scrollbarDragEnd', 'scrollbarDragMove', 'scrollbarDragStart', 'setTransition', 'setTranslate', 'slidesUpdated', 'slideChange', 'slideChangeTransitionEnd', 'slideChangeTransitionStart', 'slideNextTransitionEnd', 'slideNextTransitionStart', 'slidePrevTransitionEnd', 'slidePrevTransitionStart', 'slideResetTransitionStart', 'slideResetTransitionEnd', 'sliderMove', 'sliderFirstMove', 'slidesLengthChange', 'slidesGridLengthChange', 'snapGridLengthChange', 'snapIndexChange', 'swiper', 'tap', 'toEdge', 'touchEnd', 'touchMove', 'touchMoveOpposite', 'touchStart', 'transitionEnd', 'transitionStart', 'unlock', 'update', 'virtualUpdate', 'zoomChange'],\n setup(props, _ref) {\n let {\n slots: originalSlots,\n emit\n } = _ref;\n const {\n tag: Tag,\n wrapperTag: WrapperTag\n } = props;\n const containerClasses = ref('swiper');\n const virtualData = ref(null);\n const breakpointChanged = ref(false);\n const initializedRef = ref(false);\n const swiperElRef = ref(null);\n const swiperRef = ref(null);\n const oldPassedParamsRef = ref(null);\n const slidesRef = {\n value: []\n };\n const oldSlidesRef = {\n value: []\n };\n const nextElRef = ref(null);\n const prevElRef = ref(null);\n const paginationElRef = ref(null);\n const scrollbarElRef = ref(null);\n const {\n params: swiperParams,\n passedParams\n } = getParams(props, false);\n getChildren(originalSlots, slidesRef, oldSlidesRef);\n oldPassedParamsRef.value = passedParams;\n oldSlidesRef.value = slidesRef.value;\n const onBeforeBreakpoint = () => {\n getChildren(originalSlots, slidesRef, oldSlidesRef);\n breakpointChanged.value = true;\n };\n swiperParams.onAny = function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n emit(event, ...args);\n };\n Object.assign(swiperParams.on, {\n _beforeBreakpoint: onBeforeBreakpoint,\n _containerClasses(swiper, classes) {\n containerClasses.value = classes;\n }\n });\n\n // init Swiper\n const passParams = {\n ...swiperParams\n };\n delete passParams.wrapperClass;\n swiperRef.value = new Swiper$1(passParams);\n if (swiperRef.value.virtual && swiperRef.value.params.virtual.enabled) {\n swiperRef.value.virtual.slides = slidesRef.value;\n const extendWith = {\n cache: false,\n slides: slidesRef.value,\n renderExternal: data => {\n virtualData.value = data;\n },\n renderExternalUpdate: false\n };\n extend(swiperRef.value.params.virtual, extendWith);\n extend(swiperRef.value.originalParams.virtual, extendWith);\n }\n onUpdated(() => {\n // set initialized flag\n if (!initializedRef.value && swiperRef.value) {\n swiperRef.value.emitSlidesClasses();\n initializedRef.value = true;\n }\n // watch for params change\n const {\n passedParams: newPassedParams\n } = getParams(props, false);\n const changedParams = getChangedParams(newPassedParams, oldPassedParamsRef.value, slidesRef.value, oldSlidesRef.value, c => c.props && c.props.key);\n oldPassedParamsRef.value = newPassedParams;\n if ((changedParams.length || breakpointChanged.value) && swiperRef.value && !swiperRef.value.destroyed) {\n updateSwiper({\n swiper: swiperRef.value,\n slides: slidesRef.value,\n passedParams: newPassedParams,\n changedParams,\n nextEl: nextElRef.value,\n prevEl: prevElRef.value,\n scrollbarEl: scrollbarElRef.value,\n paginationEl: paginationElRef.value\n });\n }\n breakpointChanged.value = false;\n });\n provide('swiper', swiperRef);\n\n // update on virtual update\n watch(virtualData, () => {\n nextTick(() => {\n updateOnVirtualData(swiperRef.value);\n });\n });\n\n // mount swiper\n onMounted(() => {\n if (!swiperElRef.value) return;\n mountSwiper({\n el: swiperElRef.value,\n nextEl: nextElRef.value,\n prevEl: prevElRef.value,\n paginationEl: paginationElRef.value,\n scrollbarEl: scrollbarElRef.value,\n swiper: swiperRef.value\n }, swiperParams);\n emit('swiper', swiperRef.value);\n });\n onBeforeUnmount(() => {\n if (swiperRef.value && !swiperRef.value.destroyed) {\n swiperRef.value.destroy(true, false);\n }\n });\n\n // bypass swiper instance to slides\n function renderSlides(slides) {\n if (swiperParams.virtual) {\n return renderVirtual(swiperRef, slides, virtualData.value);\n }\n slides.forEach((slide, index) => {\n if (!slide.props) slide.props = {};\n slide.props.swiperRef = swiperRef;\n slide.props.swiperSlideIndex = index;\n });\n return slides;\n }\n return () => {\n const {\n slides,\n slots\n } = getChildren(originalSlots, slidesRef, oldSlidesRef);\n return h(Tag, {\n ref: swiperElRef,\n class: uniqueClasses(containerClasses.value)\n }, [slots['container-start'], h(WrapperTag, {\n class: wrapperClass(swiperParams.wrapperClass)\n }, [slots['wrapper-start'], renderSlides(slides), slots['wrapper-end']]), needsNavigation(props) && [h('div', {\n ref: prevElRef,\n class: 'swiper-button-prev'\n }), h('div', {\n ref: nextElRef,\n class: 'swiper-button-next'\n })], needsScrollbar(props) && h('div', {\n ref: scrollbarElRef,\n class: 'swiper-scrollbar'\n }), needsPagination(props) && h('div', {\n ref: paginationElRef,\n class: 'swiper-pagination'\n }), slots['container-end']]);\n };\n }\n};\n\nconst SwiperSlide = {\n name: 'SwiperSlide',\n props: {\n tag: {\n type: String,\n default: 'div'\n },\n swiperRef: {\n type: Object,\n required: false\n },\n swiperSlideIndex: {\n type: Number,\n default: undefined,\n required: false\n },\n zoom: {\n type: Boolean,\n default: undefined,\n required: false\n },\n lazy: {\n type: Boolean,\n default: false,\n required: false\n },\n virtualIndex: {\n type: [String, Number],\n default: undefined\n }\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n let eventAttached = false;\n const {\n swiperRef\n } = props;\n const slideElRef = ref(null);\n const slideClasses = ref('swiper-slide');\n const lazyLoaded = ref(false);\n function updateClasses(swiper, el, classNames) {\n if (el === slideElRef.value) {\n slideClasses.value = classNames;\n }\n }\n onMounted(() => {\n if (!swiperRef || !swiperRef.value) return;\n swiperRef.value.on('_slideClass', updateClasses);\n eventAttached = true;\n });\n onBeforeUpdate(() => {\n if (eventAttached || !swiperRef || !swiperRef.value) return;\n swiperRef.value.on('_slideClass', updateClasses);\n eventAttached = true;\n });\n onUpdated(() => {\n if (!slideElRef.value || !swiperRef || !swiperRef.value) return;\n if (typeof props.swiperSlideIndex !== 'undefined') {\n slideElRef.value.swiperSlideIndex = props.swiperSlideIndex;\n }\n if (swiperRef.value.destroyed) {\n if (slideClasses.value !== 'swiper-slide') {\n slideClasses.value = 'swiper-slide';\n }\n }\n });\n onBeforeUnmount(() => {\n if (!swiperRef || !swiperRef.value) return;\n swiperRef.value.off('_slideClass', updateClasses);\n });\n const slideData = computed(() => ({\n isActive: slideClasses.value.indexOf('swiper-slide-active') >= 0,\n isVisible: slideClasses.value.indexOf('swiper-slide-visible') >= 0,\n isPrev: slideClasses.value.indexOf('swiper-slide-prev') >= 0,\n isNext: slideClasses.value.indexOf('swiper-slide-next') >= 0\n }));\n provide('swiperSlide', slideData);\n const onLoad = () => {\n lazyLoaded.value = true;\n };\n return () => {\n return h(props.tag, {\n class: uniqueClasses(`${slideClasses.value}`),\n ref: slideElRef,\n 'data-swiper-slide-index': typeof props.virtualIndex === 'undefined' && swiperRef && swiperRef.value && swiperRef.value.params.loop ? props.swiperSlideIndex : props.virtualIndex,\n onLoadCapture: onLoad\n }, props.zoom ? h('div', {\n class: 'swiper-zoom-container',\n 'data-swiper-zoom': typeof props.zoom === 'number' ? props.zoom : undefined\n }, [slots.default && slots.default(slideData.value), props.lazy && !lazyLoaded.value && h('div', {\n class: 'swiper-lazy-preloader'\n })]) : [slots.default && slots.default(slideData.value), props.lazy && !lazyLoaded.value && h('div', {\n class: 'swiper-lazy-preloader'\n })]);\n };\n }\n};\n\nconst useSwiperSlide = () => {\n return inject('swiperSlide');\n};\nconst useSwiper = () => {\n return inject('swiper');\n};\n\nexport { Swiper, SwiperSlide, useSwiper, useSwiperSlide };\n","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}\n\nexport { Autoplay as default };\n","import { g as getSlideTransformEl } from './utils.mjs';\n\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}\n\nexport { effectTarget as e };\n","import { g as getSlideTransformEl, c as createElement } from './utils.mjs';\n\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}\n\nexport { createShadow as c };\n","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';\n\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}\n\nexport { EffectCoverflow as default };\n","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}\n\nexport { effectInit as e };\n"],"names":["isObject","obj","constructor","Object","extend","target","src","keys","forEach","key","length","ssrDocument","body","addEventListener","removeEventListener","activeElement","blur","nodeName","querySelector","querySelectorAll","getElementById","createEvent","initEvent","createElement","children","childNodes","style","setAttribute","getElementsByTagName","createElementNS","importNode","location","hash","host","hostname","href","origin","pathname","protocol","search","getDocument","doc","document","ssrWindow","navigator","userAgent","history","replaceState","pushState","go","back","CustomEvent","this","getComputedStyle","getPropertyValue","Image","Date","screen","setTimeout","clearTimeout","matchMedia","requestAnimationFrame","callback","cancelAnimationFrame","id","getWindow","win","window","nextTick","delay","now","getTranslate","el","axis","matrix","curTransform","transformMatrix","curStyle","currentStyle","WebKitCSSMatrix","transform","webkitTransform","split","map","a","replace","join","MozTransform","OTransform","MsTransform","msTransform","toString","m41","parseFloat","m42","o","prototype","call","slice","to","arguments","noExtend","i","nextSource","node","HTMLElement","nodeType","keysArray","filter","indexOf","nextIndex","len","nextKey","desc","getOwnPropertyDescriptor","enumerable","__swiper__","setCSSProperty","varName","varValue","setProperty","animateCSSModeScroll","_ref","swiper","targetPosition","side","startPosition","translate","time","startTime","duration","params","speed","wrapperEl","scrollSnapType","cssModeFrameID","dir","isOutOfBound","current","animate","getTime","progress","Math","max","min","easeProgress","cos","PI","currentPosition","scrollTo","overflow","getSlideTransformEl","slideEl","shadowRoot","elementChildren","element","selector","HTMLSlotElement","push","assignedElements","matches","showWarning","text","err","tag","classes","classList","add","Array","isArray","trim","c","classesToTokens","elementStyle","prop","elementIndex","child","previousSibling","elementOuterSize","size","includeMargins","support","deviceCached","browser","getSupport","smoothScroll","documentElement","touch","DocumentTouch","calcSupport","getDevice","overrides","_temp","platform","ua","device","ios","android","screenWidth","width","screenHeight","height","match","ipad","ipod","iphone","windows","macos","concat","os","calcDevice","getBrowser","needPerspectiveFix","isSafari","toLowerCase","String","includes","major","minor","num","Number","isWebView","test","isSafariBrowser","need3dFix","calcBrowser","toggleSlideClasses$1","condition","className","contains","remove","toggleSlideClasses","processLazyPreloader","imageEl","destroyed","closest","isElement","slideClass","lazyEl","lazyPreloaderClass","unlazy","index","slides","removeAttribute","preload","amount","lazyPreloadPrevNext","slidesPerView","slidesPerViewDynamic","ceil","activeIndex","grid","rows","activeColumn","preloadColumns","from","_","column","slideIndexLastInView","rewind","loop","realIndex","transitionEmit","runCallbacks","direction","step","previousIndex","emit","preventEdgeSwipe","event","startX","edgeSwipeDetection","edgeSwipeThreshold","innerWidth","preventDefault","onTouchStart","e","originalEvent","data","touchEventsData","type","pointerId","targetTouches","touchId","identifier","pageX","touches","enabled","simulateTouch","pointerType","animating","preventInteractionOnTransition","cssMode","loopFix","targetEl","touchEventsTarget","parent","isChild","elementIsChildOf","which","button","isTouched","isMoved","swipingClassHasValue","noSwipingClass","eventPath","composedPath","path","noSwipingSelector","isTargetShadow","noSwiping","base","__closestFrom","assignedSlot","found","getRootNode","closestElement","allowClick","swipeHandler","currentX","currentY","pageY","startY","assign","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","updateSize","swipeDirection","threshold","allowThresholdMove","focusableElements","shouldPreventDefault","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","isContentEditable","freeMode","onTouchMove","rtlTranslate","rtl","targetTouch","changedTouches","t","preventedByNestedSwiper","touchReleaseOnEdges","isVertical","maxTranslate","minTranslate","previousX","previousY","diffX","diffY","sqrt","touchAngle","isHorizontal","atan2","abs","preventTouchMoveFromPointerMove","cancelable","touchMoveStopPropagation","nested","stopPropagation","diff","touchesDiff","oneWayMovement","touchRatio","prevTouchesDirection","touchesDirection","isLoop","allowLoopFix","allowSlideNext","allowSlidePrev","startTranslate","setTransition","evt","bubbles","detail","bySwiperTouchMove","dispatchEvent","allowMomentumBounce","grabCursor","setGrabCursor","currentTranslate","loopSwapReset","disableParentSwiper","resistanceRatio","centeredSlides","slidesSizesGrid","spaceBetween","setTranslate","activeSlideIndex","resistance","followFinger","watchSlidesProgress","updateActiveIndex","updateSlidesClasses","updateProgress","onTouchEnd","slidesGrid","touchEndTime","timeDiff","pathTree","updateClickedSlide","lastClickTime","currentPos","swipeToLast","stopIndex","groupSize","slidesPerGroupSkip","slidesPerGroup","increment","rewindFirstIndex","rewindLastIndex","isBeginning","virtual","isEnd","ratio","longSwipesMs","longSwipes","slideTo","longSwipesRatio","shortSwipes","navigation","nextEl","prevEl","onResize","offsetWidth","breakpoints","setBreakpoint","snapGrid","isVirtual","updateSlides","isVirtualLoop","slideToLoop","autoplay","running","paused","resizeTimeout","resume","watchOverflow","checkOverflow","onClick","preventClicks","preventClicksPropagation","stopImmediatePropagation","onScroll","newProgress","previousTranslate","scrollLeft","scrollTop","translatesDiff","onLoad","autoHeight","update","onDocumentTouchStart","documentTouchHandlerProceeded","touchAction","events","method","capture","domMethod","swiperMethod","passive","updateOnWindowResize","isGridEnabled","defaults","init","swiperElementNodeName","initialSlide","resizeObserver","createElements","eventsPrefix","url","setWrapperSize","virtualTranslate","effect","breakpointsBase","slidesPerGroupAuto","centeredSlidesBounds","slidesOffsetBefore","slidesOffsetAfter","normalizeSlideIndex","centerInsufficientSlides","roundLengths","uniqueNavElements","slideToClickedSlide","loopAddBlankSlides","loopAdditionalSlides","loopPreventsSliding","passiveListeners","maxBackfaceHiddenSlides","containerModifierClass","slideBlankClass","slideActiveClass","slideVisibleClass","slideFullyVisibleClass","slideNextClass","slidePrevClass","wrapperClass","runCallbacksOnInit","_emitClasses","moduleExtendParams","allModulesParams","moduleParamName","moduleParams","auto","prototypes","eventsEmitter","on","handler","priority","self","eventsListeners","once","onceHandler","off","__emitterProxy","_len","args","_key","apply","onAny","eventsAnyListeners","offAny","splice","eventHandler","context","_len2","_key2","unshift","clientWidth","clientHeight","parseInt","isNaN","getDirectionPropertyValue","label","getDirectionLabel","slidesEl","swiperSize","wrongRTL","previousSlidesLength","slidesLength","offsetBefore","offsetAfter","previousSnapGridLength","previousSlidesGridLength","slidePosition","prevSlideSize","virtualSize","marginLeft","marginRight","marginBottom","marginTop","gridEnabled","slideSize","initSlides","unsetSlides","shouldResetSlideSize","slide","updateSlide","slideStyles","currentTransform","currentWebKitTransform","paddingLeft","paddingRight","boxSizing","floor","swiperSlideSize","updateWrapperSize","newSlidesGrid","slidesGridItem","groups","slidesBefore","slidesAfter","slideIndex","allSlidesSize","slideSizeValue","maxSnap","snap","offsetSize","allSlidesOffset","snapIndex","addToSnapGrid","addToSlidesGrid","v","updateSlidesOffset","backFaceHiddenClass","hasClassBackfaceClassAdded","updateAutoHeight","activeSlides","newHeight","getSlideByIndex","getSlideIndexByData","visibleSlides","offsetHeight","minusOffset","offsetLeft","offsetTop","swiperSlideOffset","cssOverflowAdjustment","updateSlidesProgress","offsetCenter","visibleSlidesIndexes","slideOffset","slideProgress","originalSlideProgress","slideBefore","slideAfter","isFullyVisible","isVisible","originalProgress","multiplier","progressLoop","wasBeginning","wasEnd","isBeginningRounded","isEndRounded","firstSlideIndex","lastSlideIndex","firstSlideTranslate","lastSlideTranslate","translateMax","translateAbs","getFilteredSlide","activeSlide","prevSlide","nextSlide","nextEls","nextElementSibling","next","elementNextAll","prevEls","previousElementSibling","prev","elementPrevAll","emitSlidesClasses","newActiveIndex","previousRealIndex","previousSnapIndex","getVirtualRealIndex","aIndex","getActiveIndexByTranslate","skip","firstSlideInColumn","getAttribute","initialized","pathEl","slideFound","clickedSlide","clickedIndex","byController","x","y","translateTo","translateBounds","internal","newTranslate","isH","behavior","onTranslateToWrapperTransitionEnd","transition","transitionDuration","transitionDelay","transitionStart","transitionEnd","initial","normalizedTranslate","normalizedGrid","normalizedGridNext","_immediateVirtual","_cssModeVirtualInitialSet","onSlideToWrapperTransitionEnd","newIndex","targetSlideIndex","cols","needLoopFix","slideRealIndex","slideNext","perGroup","_clientLeft","clientLeft","slidePrev","normalize","val","normalizedSnapGrid","prevSnap","prevSnapIndex","prevIndex","lastIndex","slideReset","slideToClosest","currentSnap","slideToIndex","slideSelector","loopedSlides","getSlideIndex","loopCreate","shouldFillGroup","shouldFillGrid","addBlankSlides","amountOfSlides","append","recalcSlides","byMousewheel","fill","prependSlidesIndexes","appendSlidesIndexes","isNext","isPrev","slidesPrepended","slidesAppended","activeColIndexWithShift","colIndexToPrepend","__preventObserver__","swiperLoopMoveDOM","prepend","currentSlideTranslate","shift","controller","control","loopParams","loopDestroy","newSlidesOrder","swiperSlideIndex","moving","isLocked","cursor","unsetGrabCursor","attachEvents","bind","detachEvents","breakpoint","getBreakpoint","currentBreakpoint","breakpointParams","originalParams","wasMultiRow","isMultiRow","wasGrabCursor","isGrabCursor","wasEnabled","emitContainerClasses","wasModuleEnabled","isModuleEnabled","disable","enable","directionChanged","needsReLoop","wasLoop","changeDirection","extend$1","isEnabled","hasLoop","containerEl","currentHeight","innerHeight","points","point","minRatio","substr","value","sort","b","wasLocked","lastSlideRightEdge","addClasses","classNames","suffixes","entries","prefix","resultClasses","item","prepareClasses","autoheight","centered","removeClasses","extendedDefaults","Swiper$1","Swiper","swipers","newParams","modules","__modules__","mod","extendParams","swiperParams","passedParams","eventName","velocity","trunc","clickTimeout","velocities","imagesToLoad","imagesLoaded","property","setProgress","cls","getSlideClasses","updates","view","exact","spv","breakLoop","translateValue","translated","complete","newDirection","needUpdate","currentDirection","changeLanguageDirection","mount","mounted","parentNode","toUpperCase","getWrapperSelector","getWrapper","slideSlots","hostEl","lazyElements","destroy","deleteInstance","cleanStyles","object","deleteProps","extendDefaults","newDefaults","installModule","use","module","m","prototypeGroup","protoMethod","observer","animationFrame","resizeHandler","orientationChangeHandler","ResizeObserver","newWidth","_ref2","contentBoxSize","contentRect","inlineSize","blockSize","observe","unobserve","observers","attach","options","MutationObserver","WebkitMutationObserver","mutations","observerUpdate","attributes","childList","characterData","observeParents","observeSlideChildren","containerParents","parents","parentElement","elementParents","disconnect","paramsList","needsNavigation","needsPagination","pagination","needsScrollbar","scrollbar","uniqueClasses","unique","getParams","splitEvents","rest","allowedParams","plainObj","getChildren","originalSlots","slidesRef","oldSlidesRef","slots","getSlidesFromElements","els","slotName","vnode","isFragment","name","componentOptions","props","default","wrapperTag","Boolean","a11y","coverflowEffect","cubeEffect","fadeEffect","flipEffect","creativeEffect","cardsEffect","hashNavigation","keyboard","mousewheel","parallax","thumbs","zoom","emits","setup","Tag","WrapperTag","containerClasses","ref","virtualData","breakpointChanged","initializedRef","swiperElRef","swiperRef","oldPassedParamsRef","nextElRef","prevElRef","paginationElRef","scrollbarElRef","_beforeBreakpoint","_containerClasses","passParams","extendWith","cache","renderExternal","renderExternalUpdate","renderSlides","offset","top","loopFrom","loopTo","slidesToRender","h","Ctor","renderVirtual","onUpdated","newPassedParams","changedParams","oldParams","oldChildren","getKey","addKey","oldChildrenKeys","childrenKeys","newKeys","oldKeys","newKey","oldKey","getChangedParams","scrollbarEl","paginationEl","updateParams","currentParams","needThumbsInit","needControllerInit","needPaginationInit","needScrollbarInit","needNavigationInit","loopNeedDestroy","loopNeedEnable","loopNeedReloop","destroyModule","newValue","part","appendChild","render","innerHTML","nextButtonSvg","prevButtonSvg","updateSwiper","provide","watch","onMounted","mountSwiper","onBeforeUnmount","class","SwiperSlide","required","lazy","virtualIndex","eventAttached","slideElRef","slideClasses","lazyLoaded","updateClasses","onBeforeUpdate","slideData","computed","isActive","onLoadCapture","Autoplay","timeout","raf","timeLeft","waitForTransition","disableOnInteraction","stopOnLastSlide","reverseDirection","pauseOnMouseEnter","autoplayTimeLeft","wasPaused","pausedByTouch","touchStartTimeout","slideChanged","pausedByInteraction","pausedByPointerEnter","autoplayDelayTotal","autoplayDelayCurrent","autoplayStartTime","onTransitionEnd","calcTimeLeft","run","delayForce","currentSlideDelay","activeSlideEl","getSlideDelay","proceed","start","stop","pause","reset","onVisibilityChange","visibilityState","onPointerEnter","onPointerLeave","_s","effectTarget","effectParams","transformEl","backfaceVisibility","createShadow","suffix","shadowClass","shadowContainer","shadowEl","EffectCoverflow","rotate","stretch","depth","scale","modifier","slideShadows","overwriteParams","perspective","recreateShadows","getEffectParams","requireUpdateOnVirtual","overwriteParamsResult","effectInit","swiperWidth","swiperHeight","center","r","getRotateFix","centerOffset","offsetMultiplier","rotateY","rotateX","translateZ","translateY","translateX","slideTransform","zIndex","round","shadowBeforeEl","shadowAfterEl","opacity"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10]}