{"version":3,"file":"327.41d237235f1912fc0a81.js","mappings":"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","sources":["webpack://website/./node_modules/ssr-window/ssr-window.esm.js","webpack://website/./node_modules/swiper/esm/components/autoplay/autoplay.js","webpack://website/./node_modules/swiper/esm/utils/get-support.js","webpack://website/./node_modules/swiper/esm/utils/get-device.js","webpack://website/./node_modules/swiper/esm/utils/get-browser.js","webpack://website/./node_modules/swiper/esm/modules/resize/resize.js","webpack://website/./node_modules/swiper/esm/modules/observer/observer.js","webpack://website/./node_modules/swiper/esm/components/core/events-emitter.js","webpack://website/./node_modules/swiper/esm/components/core/update/index.js","webpack://website/./node_modules/swiper/esm/components/core/update/updateSize.js","webpack://website/./node_modules/swiper/esm/components/core/update/updateSlides.js","webpack://website/./node_modules/swiper/esm/components/core/update/updateAutoHeight.js","webpack://website/./node_modules/swiper/esm/components/core/update/updateSlidesOffset.js","webpack://website/./node_modules/swiper/esm/components/core/update/updateSlidesProgress.js","webpack://website/./node_modules/swiper/esm/components/core/update/updateProgress.js","webpack://website/./node_modules/swiper/esm/components/core/update/updateSlidesClasses.js","webpack://website/./node_modules/swiper/esm/components/core/update/updateActiveIndex.js","webpack://website/./node_modules/swiper/esm/components/core/update/updateClickedSlide.js","webpack://website/./node_modules/swiper/esm/components/core/slide/index.js","webpack://website/./node_modules/swiper/esm/components/core/slide/slideTo.js","webpack://website/./node_modules/swiper/esm/components/core/slide/slideToLoop.js","webpack://website/./node_modules/swiper/esm/components/core/slide/slideNext.js","webpack://website/./node_modules/swiper/esm/components/core/slide/slidePrev.js","webpack://website/./node_modules/swiper/esm/components/core/slide/slideReset.js","webpack://website/./node_modules/swiper/esm/components/core/slide/slideToClosest.js","webpack://website/./node_modules/swiper/esm/components/core/slide/slideToClickedSlide.js","webpack://website/./node_modules/swiper/esm/components/core/loop/index.js","webpack://website/./node_modules/swiper/esm/components/core/loop/loopCreate.js","webpack://website/./node_modules/swiper/esm/components/core/loop/loopFix.js","webpack://website/./node_modules/swiper/esm/components/core/loop/loopDestroy.js","webpack://website/./node_modules/swiper/esm/components/core/events/onTouchStart.js","webpack://website/./node_modules/swiper/esm/components/core/events/onTouchMove.js","webpack://website/./node_modules/swiper/esm/components/core/events/onTouchEnd.js","webpack://website/./node_modules/swiper/esm/components/core/events/onResize.js","webpack://website/./node_modules/swiper/esm/components/core/events/onClick.js","webpack://website/./node_modules/swiper/esm/components/core/events/onScroll.js","webpack://website/./node_modules/swiper/esm/components/core/events/index.js","webpack://website/./node_modules/swiper/esm/components/core/classes/index.js","webpack://website/./node_modules/swiper/esm/components/core/classes/addClasses.js","webpack://website/./node_modules/swiper/esm/components/core/classes/removeClasses.js","webpack://website/./node_modules/swiper/esm/components/core/defaults.js","webpack://website/./node_modules/swiper/esm/components/core/core-class.js","webpack://website/./node_modules/swiper/esm/components/core/modular.js","webpack://website/./node_modules/swiper/esm/components/core/translate/index.js","webpack://website/./node_modules/swiper/esm/components/core/translate/getTranslate.js","webpack://website/./node_modules/swiper/esm/components/core/translate/setTranslate.js","webpack://website/./node_modules/swiper/esm/components/core/translate/minTranslate.js","webpack://website/./node_modules/swiper/esm/components/core/translate/maxTranslate.js","webpack://website/./node_modules/swiper/esm/components/core/translate/translateTo.js","webpack://website/./node_modules/swiper/esm/components/core/transition/index.js","webpack://website/./node_modules/swiper/esm/components/core/transition/setTransition.js","webpack://website/./node_modules/swiper/esm/components/core/transition/transitionStart.js","webpack://website/./node_modules/swiper/esm/components/core/transition/transitionEnd.js","webpack://website/./node_modules/swiper/esm/components/core/grab-cursor/index.js","webpack://website/./node_modules/swiper/esm/components/core/grab-cursor/setGrabCursor.js","webpack://website/./node_modules/swiper/esm/components/core/grab-cursor/unsetGrabCursor.js","webpack://website/./node_modules/swiper/esm/components/core/manipulation/index.js","webpack://website/./node_modules/swiper/esm/components/core/manipulation/appendSlide.js","webpack://website/./node_modules/swiper/esm/components/core/manipulation/prependSlide.js","webpack://website/./node_modules/swiper/esm/components/core/manipulation/addSlide.js","webpack://website/./node_modules/swiper/esm/components/core/manipulation/removeSlide.js","webpack://website/./node_modules/swiper/esm/components/core/manipulation/removeAllSlides.js","webpack://website/./node_modules/swiper/esm/components/core/breakpoints/index.js","webpack://website/./node_modules/swiper/esm/components/core/breakpoints/setBreakpoint.js","webpack://website/./node_modules/swiper/esm/components/core/breakpoints/getBreakpoint.js","webpack://website/./node_modules/swiper/esm/components/core/check-overflow/index.js","webpack://website/./node_modules/swiper/esm/components/core/images/index.js","webpack://website/./node_modules/swiper/esm/components/core/images/loadImage.js","webpack://website/./node_modules/swiper/esm/components/core/images/preloadImages.js","webpack://website/./node_modules/swiper/esm/components/effect-fade/effect-fade.js","webpack://website/./node_modules/swiper/esm/components/keyboard/keyboard.js","webpack://website/./node_modules/swiper/esm/components/navigation/navigation.js","webpack://website/./node_modules/swiper/esm/components/pagination/pagination.js","webpack://website/./node_modules/swiper/esm/components/parallax/parallax.js","webpack://website/./node_modules/dom7/dom7.esm.js","webpack://website/./node_modules/swiper/esm/utils/dom.js","webpack://website/./node_modules/swiper/esm/utils/utils.js"],"sourcesContent":["/**\n * SSR Window 3.0.0\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2020, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: November 9, 2020\n */\n/* eslint-disable no-param-reassign */\nfunction isObject(obj) {\n return (obj !== null &&\n typeof obj === 'object' &&\n 'constructor' in obj &&\n obj.constructor === Object);\n}\nfunction extend(target, src) {\n if (target === void 0) { target = {}; }\n if (src === void 0) { src = {}; }\n Object.keys(src).forEach(function (key) {\n if (typeof target[key] === 'undefined')\n target[key] = src[key];\n else if (isObject(src[key]) &&\n isObject(target[key]) &&\n Object.keys(src[key]).length > 0) {\n extend(target[key], src[key]);\n }\n });\n}\n\nvar ssrDocument = {\n body: {},\n addEventListener: function () { },\n removeEventListener: function () { },\n activeElement: {\n blur: function () { },\n nodeName: '',\n },\n querySelector: function () {\n return null;\n },\n querySelectorAll: function () {\n return [];\n },\n getElementById: function () {\n return null;\n },\n createEvent: function () {\n return {\n initEvent: function () { },\n };\n },\n createElement: function () {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute: function () { },\n getElementsByTagName: function () {\n return [];\n },\n };\n },\n createElementNS: function () {\n return {};\n },\n importNode: function () {\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 var doc = typeof document !== 'undefined' ? document : {};\n extend(doc, ssrDocument);\n return doc;\n}\n\nvar 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: function () { },\n pushState: function () { },\n go: function () { },\n back: function () { },\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener: function () { },\n removeEventListener: function () { },\n getComputedStyle: function () {\n return {\n getPropertyValue: function () {\n return '';\n },\n };\n },\n Image: function () { },\n Date: function () { },\n screen: {},\n setTimeout: function () { },\n clearTimeout: function () { },\n matchMedia: function () {\n return {};\n },\n requestAnimationFrame: function (callback) {\n if (typeof setTimeout === 'undefined') {\n callback();\n return null;\n }\n return setTimeout(callback, 0);\n },\n cancelAnimationFrame: function (id) {\n if (typeof setTimeout === 'undefined') {\n return;\n }\n clearTimeout(id);\n },\n};\nfunction getWindow() {\n var win = typeof window !== 'undefined' ? window : {};\n extend(win, ssrWindow);\n return win;\n}\n\nexport { extend, getDocument, getWindow, ssrDocument, ssrWindow };\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\n/* eslint no-underscore-dangle: \"off\" */\nimport { getDocument } from 'ssr-window';\nimport { nextTick, bindModuleMethods } from '../../utils/utils';\nvar Autoplay = {\n run: function run() {\n var swiper = this;\n var $activeSlideEl = swiper.slides.eq(swiper.activeIndex);\n var delay = swiper.params.autoplay.delay;\n\n if ($activeSlideEl.attr('data-swiper-autoplay')) {\n delay = $activeSlideEl.attr('data-swiper-autoplay') || swiper.params.autoplay.delay;\n }\n\n clearTimeout(swiper.autoplay.timeout);\n swiper.autoplay.timeout = nextTick(function () {\n var autoplayResult;\n\n if (swiper.params.autoplay.reverseDirection) {\n if (swiper.params.loop) {\n swiper.loopFix();\n autoplayResult = swiper.slidePrev(swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else if (!swiper.isBeginning) {\n autoplayResult = swiper.slidePrev(swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n autoplayResult = swiper.slideTo(swiper.slides.length - 1, swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else {\n swiper.autoplay.stop();\n }\n } else if (swiper.params.loop) {\n swiper.loopFix();\n autoplayResult = swiper.slideNext(swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else if (!swiper.isEnd) {\n autoplayResult = swiper.slideNext(swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n autoplayResult = swiper.slideTo(0, swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else {\n swiper.autoplay.stop();\n }\n\n if (swiper.params.cssMode && swiper.autoplay.running) swiper.autoplay.run();else if (autoplayResult === false) {\n swiper.autoplay.run();\n }\n }, delay);\n },\n start: function start() {\n var swiper = this;\n if (typeof swiper.autoplay.timeout !== 'undefined') return false;\n if (swiper.autoplay.running) return false;\n swiper.autoplay.running = true;\n swiper.emit('autoplayStart');\n swiper.autoplay.run();\n return true;\n },\n stop: function stop() {\n var swiper = this;\n if (!swiper.autoplay.running) return false;\n if (typeof swiper.autoplay.timeout === 'undefined') return false;\n\n if (swiper.autoplay.timeout) {\n clearTimeout(swiper.autoplay.timeout);\n swiper.autoplay.timeout = undefined;\n }\n\n swiper.autoplay.running = false;\n swiper.emit('autoplayStop');\n return true;\n },\n pause: function pause(speed) {\n var swiper = this;\n if (!swiper.autoplay.running) return;\n if (swiper.autoplay.paused) return;\n if (swiper.autoplay.timeout) clearTimeout(swiper.autoplay.timeout);\n swiper.autoplay.paused = true;\n\n if (speed === 0 || !swiper.params.autoplay.waitForTransition) {\n swiper.autoplay.paused = false;\n swiper.autoplay.run();\n } else {\n ['transitionend', 'webkitTransitionEnd'].forEach(function (event) {\n swiper.$wrapperEl[0].addEventListener(event, swiper.autoplay.onTransitionEnd);\n });\n }\n },\n onVisibilityChange: function onVisibilityChange() {\n var swiper = this;\n var document = getDocument();\n\n if (document.visibilityState === 'hidden' && swiper.autoplay.running) {\n swiper.autoplay.pause();\n }\n\n if (document.visibilityState === 'visible' && swiper.autoplay.paused) {\n swiper.autoplay.run();\n swiper.autoplay.paused = false;\n }\n },\n onTransitionEnd: function onTransitionEnd(e) {\n var swiper = this;\n if (!swiper || swiper.destroyed || !swiper.$wrapperEl) return;\n if (e.target !== swiper.$wrapperEl[0]) return;\n ['transitionend', 'webkitTransitionEnd'].forEach(function (event) {\n swiper.$wrapperEl[0].removeEventListener(event, swiper.autoplay.onTransitionEnd);\n });\n swiper.autoplay.paused = false;\n\n if (!swiper.autoplay.running) {\n swiper.autoplay.stop();\n } else {\n swiper.autoplay.run();\n }\n },\n onMouseEnter: function onMouseEnter() {\n var swiper = this;\n\n if (swiper.params.autoplay.disableOnInteraction) {\n swiper.autoplay.stop();\n } else {\n swiper.autoplay.pause();\n }\n\n ['transitionend', 'webkitTransitionEnd'].forEach(function (event) {\n swiper.$wrapperEl[0].removeEventListener(event, swiper.autoplay.onTransitionEnd);\n });\n },\n onMouseLeave: function onMouseLeave() {\n var swiper = this;\n\n if (swiper.params.autoplay.disableOnInteraction) {\n return;\n }\n\n swiper.autoplay.paused = false;\n swiper.autoplay.run();\n },\n attachMouseEvents: function attachMouseEvents() {\n var swiper = this;\n\n if (swiper.params.autoplay.pauseOnMouseEnter) {\n swiper.$el.on('mouseenter', swiper.autoplay.onMouseEnter);\n swiper.$el.on('mouseleave', swiper.autoplay.onMouseLeave);\n }\n },\n detachMouseEvents: function detachMouseEvents() {\n var swiper = this;\n swiper.$el.off('mouseenter', swiper.autoplay.onMouseEnter);\n swiper.$el.off('mouseleave', swiper.autoplay.onMouseLeave);\n }\n};\nexport default {\n name: 'autoplay',\n params: {\n autoplay: {\n enabled: false,\n delay: 3000,\n waitForTransition: true,\n disableOnInteraction: true,\n stopOnLastSlide: false,\n reverseDirection: false,\n pauseOnMouseEnter: false\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n autoplay: _extends({}, Autoplay, {\n running: false,\n paused: false\n })\n });\n },\n on: {\n init: function init(swiper) {\n if (swiper.params.autoplay.enabled) {\n swiper.autoplay.start();\n var document = getDocument();\n document.addEventListener('visibilitychange', swiper.autoplay.onVisibilityChange);\n swiper.autoplay.attachMouseEvents();\n }\n },\n beforeTransitionStart: function beforeTransitionStart(swiper, speed, internal) {\n if (swiper.autoplay.running) {\n if (internal || !swiper.params.autoplay.disableOnInteraction) {\n swiper.autoplay.pause(speed);\n } else {\n swiper.autoplay.stop();\n }\n }\n },\n sliderFirstMove: function sliderFirstMove(swiper) {\n if (swiper.autoplay.running) {\n if (swiper.params.autoplay.disableOnInteraction) {\n swiper.autoplay.stop();\n } else {\n swiper.autoplay.pause();\n }\n }\n },\n touchEnd: function touchEnd(swiper) {\n if (swiper.params.cssMode && swiper.autoplay.paused && !swiper.params.autoplay.disableOnInteraction) {\n swiper.autoplay.run();\n }\n },\n destroy: function destroy(swiper) {\n swiper.autoplay.detachMouseEvents();\n\n if (swiper.autoplay.running) {\n swiper.autoplay.stop();\n }\n\n var document = getDocument();\n document.removeEventListener('visibilitychange', swiper.autoplay.onVisibilityChange);\n }\n }\n};","import { getWindow, getDocument } from 'ssr-window';\nvar support;\n\nfunction calcSupport() {\n var window = getWindow();\n var document = getDocument();\n return {\n touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch),\n pointerEvents: !!window.PointerEvent && 'maxTouchPoints' in window.navigator && window.navigator.maxTouchPoints >= 0,\n observer: function checkObserver() {\n return 'MutationObserver' in window || 'WebkitMutationObserver' in window;\n }(),\n passiveListener: function checkPassiveListener() {\n var supportsPassive = false;\n\n try {\n var opts = Object.defineProperty({}, 'passive', {\n // eslint-disable-next-line\n get: function get() {\n supportsPassive = true;\n }\n });\n window.addEventListener('testPassiveListener', null, opts);\n } catch (e) {// No support\n }\n\n return supportsPassive;\n }(),\n gestures: function checkGestures() {\n return 'ongesturestart' in window;\n }()\n };\n}\n\nfunction getSupport() {\n if (!support) {\n support = calcSupport();\n }\n\n return support;\n}\n\nexport { getSupport };","import { getWindow } from 'ssr-window';\nimport { getSupport } from './get-support';\nvar device;\n\nfunction calcDevice(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n userAgent = _ref.userAgent;\n\n var support = getSupport();\n var window = getWindow();\n var platform = window.navigator.platform;\n var ua = userAgent || window.navigator.userAgent;\n var device = {\n ios: false,\n android: false\n };\n var screenWidth = window.screen.width;\n var screenHeight = window.screen.height;\n var android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\n\n var ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n var ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n var iphone = !ipad && ua.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/);\n var windows = platform === 'Win32';\n var macos = platform === 'MacIntel'; // iPadOs 13 fix\n\n var iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810'];\n\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 } // Android\n\n\n if (android && !windows) {\n device.os = 'android';\n device.android = true;\n }\n\n if (ipad || iphone || ipod) {\n device.os = 'ios';\n device.ios = true;\n } // Export object\n\n\n return device;\n}\n\nfunction getDevice(overrides) {\n if (overrides === void 0) {\n overrides = {};\n }\n\n if (!device) {\n device = calcDevice(overrides);\n }\n\n return device;\n}\n\nexport { getDevice };","import { getWindow } from 'ssr-window';\nvar browser;\n\nfunction calcBrowser() {\n var window = getWindow();\n\n function isSafari() {\n var ua = window.navigator.userAgent.toLowerCase();\n return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;\n }\n\n return {\n isEdge: !!window.navigator.userAgent.match(/Edge/g),\n isSafari: isSafari(),\n isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent)\n };\n}\n\nfunction getBrowser() {\n if (!browser) {\n browser = calcBrowser();\n }\n\n return browser;\n}\n\nexport { getBrowser };","import { getWindow } from 'ssr-window';\nimport { extend } from '../../utils/utils';\n\nvar supportsResizeObserver = function supportsResizeObserver() {\n var window = getWindow();\n return typeof window.ResizeObserver !== 'undefined';\n};\n\nexport default {\n name: 'resize',\n create: function create() {\n var swiper = this;\n extend(swiper, {\n resize: {\n observer: null,\n createObserver: function createObserver() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n swiper.resize.observer = new ResizeObserver(function (entries) {\n var width = swiper.width,\n height = swiper.height;\n var newWidth = width;\n var newHeight = height;\n entries.forEach(function (_ref) {\n var contentBoxSize = _ref.contentBoxSize,\n contentRect = _ref.contentRect,\n target = _ref.target;\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\n if (newWidth !== width || newHeight !== height) {\n swiper.resize.resizeHandler();\n }\n });\n swiper.resize.observer.observe(swiper.el);\n },\n removeObserver: function removeObserver() {\n if (swiper.resize.observer && swiper.resize.observer.unobserve && swiper.el) {\n swiper.resize.observer.unobserve(swiper.el);\n swiper.resize.observer = null;\n }\n },\n resizeHandler: function resizeHandler() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n swiper.emit('beforeResize');\n swiper.emit('resize');\n },\n orientationChangeHandler: function orientationChangeHandler() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n swiper.emit('orientationchange');\n }\n }\n });\n },\n on: {\n init: function init(swiper) {\n var window = getWindow();\n\n if (swiper.params.resizeObserver && supportsResizeObserver()) {\n swiper.resize.createObserver();\n return;\n } // Emit resize\n\n\n window.addEventListener('resize', swiper.resize.resizeHandler); // Emit orientationchange\n\n window.addEventListener('orientationchange', swiper.resize.orientationChangeHandler);\n },\n destroy: function destroy(swiper) {\n var window = getWindow();\n swiper.resize.removeObserver();\n window.removeEventListener('resize', swiper.resize.resizeHandler);\n window.removeEventListener('orientationchange', swiper.resize.orientationChangeHandler);\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport { getWindow } from 'ssr-window';\nimport { bindModuleMethods } from '../../utils/utils';\nvar Observer = {\n attach: function attach(target, options) {\n if (options === void 0) {\n options = {};\n }\n\n var window = getWindow();\n var swiper = this;\n var ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;\n var observer = new ObserverFunc(function (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 (mutations.length === 1) {\n swiper.emit('observerUpdate', mutations[0]);\n return;\n }\n\n var observerUpdate = function observerUpdate() {\n swiper.emit('observerUpdate', mutations[0]);\n };\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: typeof options.childList === 'undefined' ? true : options.childList,\n characterData: typeof options.characterData === 'undefined' ? true : options.characterData\n });\n swiper.observer.observers.push(observer);\n },\n init: function init() {\n var swiper = this;\n if (!swiper.support.observer || !swiper.params.observer) return;\n\n if (swiper.params.observeParents) {\n var containerParents = swiper.$el.parents();\n\n for (var i = 0; i < containerParents.length; i += 1) {\n swiper.observer.attach(containerParents[i]);\n }\n } // Observe container\n\n\n swiper.observer.attach(swiper.$el[0], {\n childList: swiper.params.observeSlideChildren\n }); // Observe wrapper\n\n swiper.observer.attach(swiper.$wrapperEl[0], {\n attributes: false\n });\n },\n destroy: function destroy() {\n var swiper = this;\n swiper.observer.observers.forEach(function (observer) {\n observer.disconnect();\n });\n swiper.observer.observers = [];\n }\n};\nexport default {\n name: 'observer',\n params: {\n observer: false,\n observeParents: false,\n observeSlideChildren: false\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n observer: _extends({}, Observer, {\n observers: []\n })\n });\n },\n on: {\n init: function init(swiper) {\n swiper.observer.init();\n },\n destroy: function destroy(swiper) {\n swiper.observer.destroy();\n }\n }\n};","/* eslint-disable no-underscore-dangle */\nexport default {\n on: function on(events, handler, priority) {\n var self = this;\n if (typeof handler !== 'function') return self;\n var method = priority ? 'unshift' : 'push';\n events.split(' ').forEach(function (event) {\n if (!self.eventsListeners[event]) self.eventsListeners[event] = [];\n self.eventsListeners[event][method](handler);\n });\n return self;\n },\n once: function once(events, handler, priority) {\n var self = this;\n if (typeof handler !== 'function') return self;\n\n function onceHandler() {\n self.off(events, onceHandler);\n\n if (onceHandler.__emitterProxy) {\n delete onceHandler.__emitterProxy;\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n handler.apply(self, args);\n }\n\n onceHandler.__emitterProxy = handler;\n return self.on(events, onceHandler, priority);\n },\n onAny: function onAny(handler, priority) {\n var self = this;\n if (typeof handler !== 'function') return self;\n var method = priority ? 'unshift' : 'push';\n\n if (self.eventsAnyListeners.indexOf(handler) < 0) {\n self.eventsAnyListeners[method](handler);\n }\n\n return self;\n },\n offAny: function offAny(handler) {\n var self = this;\n if (!self.eventsAnyListeners) return self;\n var index = self.eventsAnyListeners.indexOf(handler);\n\n if (index >= 0) {\n self.eventsAnyListeners.splice(index, 1);\n }\n\n return self;\n },\n off: function off(events, handler) {\n var self = this;\n if (!self.eventsListeners) return self;\n events.split(' ').forEach(function (event) {\n if (typeof handler === 'undefined') {\n self.eventsListeners[event] = [];\n } else if (self.eventsListeners[event]) {\n self.eventsListeners[event].forEach(function (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: function emit() {\n var self = this;\n if (!self.eventsListeners) return self;\n var events;\n var data;\n var context;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\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\n data.unshift(context);\n var eventsArray = Array.isArray(events) ? events : events.split(' ');\n eventsArray.forEach(function (event) {\n if (self.eventsAnyListeners && self.eventsAnyListeners.length) {\n self.eventsAnyListeners.forEach(function (eventHandler) {\n eventHandler.apply(context, [event].concat(data));\n });\n }\n\n if (self.eventsListeners && self.eventsListeners[event]) {\n self.eventsListeners[event].forEach(function (eventHandler) {\n eventHandler.apply(context, data);\n });\n }\n });\n return self;\n }\n};","import updateSize from './updateSize';\nimport updateSlides from './updateSlides';\nimport updateAutoHeight from './updateAutoHeight';\nimport updateSlidesOffset from './updateSlidesOffset';\nimport updateSlidesProgress from './updateSlidesProgress';\nimport updateProgress from './updateProgress';\nimport updateSlidesClasses from './updateSlidesClasses';\nimport updateActiveIndex from './updateActiveIndex';\nimport updateClickedSlide from './updateClickedSlide';\nexport default {\n updateSize: updateSize,\n updateSlides: updateSlides,\n updateAutoHeight: updateAutoHeight,\n updateSlidesOffset: updateSlidesOffset,\n updateSlidesProgress: updateSlidesProgress,\n updateProgress: updateProgress,\n updateSlidesClasses: updateSlidesClasses,\n updateActiveIndex: updateActiveIndex,\n updateClickedSlide: updateClickedSlide\n};","import { extend } from '../../../utils/utils';\nexport default function updateSize() {\n var swiper = this;\n var width;\n var height;\n var $el = swiper.$el;\n\n if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) {\n width = swiper.params.width;\n } else {\n width = $el[0].clientWidth;\n }\n\n if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) {\n height = swiper.params.height;\n } else {\n height = $el[0].clientHeight;\n }\n\n if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) {\n return;\n } // Subtract paddings\n\n\n width = width - parseInt($el.css('padding-left') || 0, 10) - parseInt($el.css('padding-right') || 0, 10);\n height = height - parseInt($el.css('padding-top') || 0, 10) - parseInt($el.css('padding-bottom') || 0, 10);\n if (Number.isNaN(width)) width = 0;\n if (Number.isNaN(height)) height = 0;\n extend(swiper, {\n width: width,\n height: height,\n size: swiper.isHorizontal() ? width : height\n });\n}","import { extend } from '../../../utils/utils';\nexport default function updateSlides() {\n var swiper = this;\n\n function getDirectionLabel(property) {\n if (swiper.isHorizontal()) {\n return property;\n } // prettier-ignore\n\n\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\n function getDirectionPropertyValue(node, label) {\n return parseFloat(node.getPropertyValue(getDirectionLabel(label)) || 0);\n }\n\n var params = swiper.params;\n var $wrapperEl = swiper.$wrapperEl,\n swiperSize = swiper.size,\n rtl = swiper.rtlTranslate,\n wrongRTL = swiper.wrongRTL;\n var isVirtual = swiper.virtual && params.virtual.enabled;\n var previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;\n var slides = $wrapperEl.children(\".\" + swiper.params.slideClass);\n var slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;\n var snapGrid = [];\n var slidesGrid = [];\n var slidesSizesGrid = [];\n var offsetBefore = params.slidesOffsetBefore;\n\n if (typeof offsetBefore === 'function') {\n offsetBefore = params.slidesOffsetBefore.call(swiper);\n }\n\n var offsetAfter = params.slidesOffsetAfter;\n\n if (typeof offsetAfter === 'function') {\n offsetAfter = params.slidesOffsetAfter.call(swiper);\n }\n\n var previousSnapGridLength = swiper.snapGrid.length;\n var previousSlidesGridLength = swiper.slidesGrid.length;\n var spaceBetween = params.spaceBetween;\n var slidePosition = -offsetBefore;\n var prevSlideSize = 0;\n var index = 0;\n\n if (typeof swiperSize === 'undefined') {\n return;\n }\n\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;\n }\n\n swiper.virtualSize = -spaceBetween; // reset margins\n\n if (rtl) slides.css({\n marginLeft: '',\n marginBottom: '',\n marginTop: ''\n });else slides.css({\n marginRight: '',\n marginBottom: '',\n marginTop: ''\n });\n var slidesNumberEvenToRows;\n\n if (params.slidesPerColumn > 1) {\n if (Math.floor(slidesLength / params.slidesPerColumn) === slidesLength / swiper.params.slidesPerColumn) {\n slidesNumberEvenToRows = slidesLength;\n } else {\n slidesNumberEvenToRows = Math.ceil(slidesLength / params.slidesPerColumn) * params.slidesPerColumn;\n }\n\n if (params.slidesPerView !== 'auto' && params.slidesPerColumnFill === 'row') {\n slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, params.slidesPerView * params.slidesPerColumn);\n }\n } // Calc slides\n\n\n var slideSize;\n var slidesPerColumn = params.slidesPerColumn;\n var slidesPerRow = slidesNumberEvenToRows / slidesPerColumn;\n var numFullColumns = Math.floor(slidesLength / params.slidesPerColumn);\n\n for (var i = 0; i < slidesLength; i += 1) {\n slideSize = 0;\n var slide = slides.eq(i);\n\n if (params.slidesPerColumn > 1) {\n // Set slides order\n var newSlideOrderIndex = void 0;\n var column = void 0;\n var row = void 0;\n\n if (params.slidesPerColumnFill === 'row' && params.slidesPerGroup > 1) {\n var groupIndex = Math.floor(i / (params.slidesPerGroup * params.slidesPerColumn));\n var slideIndexInGroup = i - params.slidesPerColumn * params.slidesPerGroup * groupIndex;\n var columnsInGroup = groupIndex === 0 ? params.slidesPerGroup : Math.min(Math.ceil((slidesLength - groupIndex * slidesPerColumn * params.slidesPerGroup) / slidesPerColumn), params.slidesPerGroup);\n row = Math.floor(slideIndexInGroup / columnsInGroup);\n column = slideIndexInGroup - row * columnsInGroup + groupIndex * params.slidesPerGroup;\n newSlideOrderIndex = column + row * slidesNumberEvenToRows / slidesPerColumn;\n slide.css({\n '-webkit-box-ordinal-group': newSlideOrderIndex,\n '-moz-box-ordinal-group': newSlideOrderIndex,\n '-ms-flex-order': newSlideOrderIndex,\n '-webkit-order': newSlideOrderIndex,\n order: newSlideOrderIndex\n });\n } else if (params.slidesPerColumnFill === 'column') {\n column = Math.floor(i / slidesPerColumn);\n row = i - column * slidesPerColumn;\n\n if (column > numFullColumns || column === numFullColumns && row === slidesPerColumn - 1) {\n row += 1;\n\n if (row >= slidesPerColumn) {\n row = 0;\n column += 1;\n }\n }\n } else {\n row = Math.floor(i / slidesPerRow);\n column = i - row * slidesPerRow;\n }\n\n slide.css(getDirectionLabel('margin-top'), row !== 0 ? params.spaceBetween && params.spaceBetween + \"px\" : '');\n }\n\n if (slide.css('display') === 'none') continue; // eslint-disable-line\n\n if (params.slidesPerView === 'auto') {\n var slideStyles = getComputedStyle(slide[0]);\n var currentTransform = slide[0].style.transform;\n var currentWebKitTransform = slide[0].style.webkitTransform;\n\n if (currentTransform) {\n slide[0].style.transform = 'none';\n }\n\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = 'none';\n }\n\n if (params.roundLengths) {\n slideSize = swiper.isHorizontal() ? slide.outerWidth(true) : slide.outerHeight(true);\n } else {\n // eslint-disable-next-line\n var width = getDirectionPropertyValue(slideStyles, 'width');\n var paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left');\n var paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right');\n var marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left');\n var marginRight = getDirectionPropertyValue(slideStyles, 'margin-right');\n var boxSizing = slideStyles.getPropertyValue('box-sizing');\n\n if (boxSizing && boxSizing === 'border-box') {\n slideSize = width + marginLeft + marginRight;\n } else {\n var _slide$ = slide[0],\n clientWidth = _slide$.clientWidth,\n offsetWidth = _slide$.offsetWidth;\n slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth);\n }\n }\n\n if (currentTransform) {\n slide[0].style.transform = currentTransform;\n }\n\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = currentWebKitTransform;\n }\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\n if (slides[i]) {\n slides[i].style[getDirectionLabel('width')] = slideSize + \"px\";\n }\n }\n\n if (slides[i]) {\n slides[i].swiperSlideSize = slideSize;\n }\n\n slidesSizesGrid.push(slideSize);\n\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\n swiper.virtualSize += slideSize + spaceBetween;\n prevSlideSize = slideSize;\n index += 1;\n }\n\n swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;\n var newSlidesGrid;\n\n if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {\n $wrapperEl.css({\n width: swiper.virtualSize + params.spaceBetween + \"px\"\n });\n }\n\n if (params.setWrapperSize) {\n var _$wrapperEl$css;\n\n $wrapperEl.css((_$wrapperEl$css = {}, _$wrapperEl$css[getDirectionLabel('width')] = swiper.virtualSize + params.spaceBetween + \"px\", _$wrapperEl$css));\n }\n\n if (params.slidesPerColumn > 1) {\n var _$wrapperEl$css2;\n\n swiper.virtualSize = (slideSize + params.spaceBetween) * slidesNumberEvenToRows;\n swiper.virtualSize = Math.ceil(swiper.virtualSize / params.slidesPerColumn) - params.spaceBetween;\n $wrapperEl.css((_$wrapperEl$css2 = {}, _$wrapperEl$css2[getDirectionLabel('width')] = swiper.virtualSize + params.spaceBetween + \"px\", _$wrapperEl$css2));\n\n if (params.centeredSlides) {\n newSlidesGrid = [];\n\n for (var _i = 0; _i < snapGrid.length; _i += 1) {\n var slidesGridItem = snapGrid[_i];\n if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n if (snapGrid[_i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem);\n }\n\n snapGrid = newSlidesGrid;\n }\n } // Remove last grid elements depending on width\n\n\n if (!params.centeredSlides) {\n newSlidesGrid = [];\n\n for (var _i2 = 0; _i2 < snapGrid.length; _i2 += 1) {\n var _slidesGridItem = snapGrid[_i2];\n if (params.roundLengths) _slidesGridItem = Math.floor(_slidesGridItem);\n\n if (snapGrid[_i2] <= swiper.virtualSize - swiperSize) {\n newSlidesGrid.push(_slidesGridItem);\n }\n }\n\n snapGrid = newSlidesGrid;\n\n if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {\n snapGrid.push(swiper.virtualSize - swiperSize);\n }\n }\n\n if (snapGrid.length === 0) snapGrid = [0];\n\n if (params.spaceBetween !== 0) {\n var _slides$filter$css;\n\n var key = swiper.isHorizontal() && rtl ? 'marginLeft' : getDirectionLabel('marginRight');\n slides.filter(function (_, slideIndex) {\n if (!params.cssMode) return true;\n\n if (slideIndex === slides.length - 1) {\n return false;\n }\n\n return true;\n }).css((_slides$filter$css = {}, _slides$filter$css[key] = spaceBetween + \"px\", _slides$filter$css));\n }\n\n if (params.centeredSlides && params.centeredSlidesBounds) {\n var allSlidesSize = 0;\n slidesSizesGrid.forEach(function (slideSizeValue) {\n allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n allSlidesSize -= params.spaceBetween;\n var maxSnap = allSlidesSize - swiperSize;\n snapGrid = snapGrid.map(function (snap) {\n if (snap < 0) return -offsetBefore;\n if (snap > maxSnap) return maxSnap + offsetAfter;\n return snap;\n });\n }\n\n if (params.centerInsufficientSlides) {\n var _allSlidesSize = 0;\n slidesSizesGrid.forEach(function (slideSizeValue) {\n _allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n _allSlidesSize -= params.spaceBetween;\n\n if (_allSlidesSize < swiperSize) {\n var allSlidesOffset = (swiperSize - _allSlidesSize) / 2;\n snapGrid.forEach(function (snap, snapIndex) {\n snapGrid[snapIndex] = snap - allSlidesOffset;\n });\n slidesGrid.forEach(function (snap, snapIndex) {\n slidesGrid[snapIndex] = snap + allSlidesOffset;\n });\n }\n }\n\n extend(swiper, {\n slides: slides,\n snapGrid: snapGrid,\n slidesGrid: slidesGrid,\n slidesSizesGrid: slidesSizesGrid\n });\n\n if (slidesLength !== previousSlidesLength) {\n swiper.emit('slidesLengthChange');\n }\n\n if (snapGrid.length !== previousSnapGridLength) {\n if (swiper.params.watchOverflow) swiper.checkOverflow();\n swiper.emit('snapGridLengthChange');\n }\n\n if (slidesGrid.length !== previousSlidesGridLength) {\n swiper.emit('slidesGridLengthChange');\n }\n\n if (params.watchSlidesProgress || params.watchSlidesVisibility) {\n swiper.updateSlidesOffset();\n }\n}","export default function updateAutoHeight(speed) {\n var swiper = this;\n var activeSlides = [];\n var isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n var newHeight = 0;\n var i;\n\n if (typeof speed === 'number') {\n swiper.setTransition(speed);\n } else if (speed === true) {\n swiper.setTransition(swiper.params.speed);\n }\n\n var getSlideByIndex = function getSlideByIndex(index) {\n if (isVirtual) {\n return swiper.slides.filter(function (el) {\n return parseInt(el.getAttribute('data-swiper-slide-index'), 10) === index;\n })[0];\n }\n\n return swiper.slides.eq(index)[0];\n }; // Find slides currently in view\n\n\n if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {\n if (swiper.params.centeredSlides) {\n swiper.visibleSlides.each(function (slide) {\n activeSlides.push(slide);\n });\n } else {\n for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {\n var 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 } // Find new height from highest slide in view\n\n\n for (i = 0; i < activeSlides.length; i += 1) {\n if (typeof activeSlides[i] !== 'undefined') {\n var height = activeSlides[i].offsetHeight;\n newHeight = height > newHeight ? height : newHeight;\n }\n } // Update Height\n\n\n if (newHeight) swiper.$wrapperEl.css('height', newHeight + \"px\");\n}","export default function updateSlidesOffset() {\n var swiper = this;\n var slides = swiper.slides;\n\n for (var i = 0; i < slides.length; i += 1) {\n slides[i].swiperSlideOffset = swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop;\n }\n}","import $ from '../../../utils/dom';\nexport default function updateSlidesProgress(translate) {\n if (translate === void 0) {\n translate = this && this.translate || 0;\n }\n\n var swiper = this;\n var params = swiper.params;\n var slides = swiper.slides,\n rtl = swiper.rtlTranslate;\n if (slides.length === 0) return;\n if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();\n var offsetCenter = -translate;\n if (rtl) offsetCenter = translate; // Visible Slides\n\n slides.removeClass(params.slideVisibleClass);\n swiper.visibleSlidesIndexes = [];\n swiper.visibleSlides = [];\n\n for (var i = 0; i < slides.length; i += 1) {\n var slide = slides[i];\n var slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slide.swiperSlideOffset) / (slide.swiperSlideSize + params.spaceBetween);\n\n if (params.watchSlidesVisibility || params.centeredSlides && params.autoHeight) {\n var slideBefore = -(offsetCenter - slide.swiperSlideOffset);\n var slideAfter = slideBefore + swiper.slidesSizesGrid[i];\n var isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size;\n\n if (isVisible) {\n swiper.visibleSlides.push(slide);\n swiper.visibleSlidesIndexes.push(i);\n slides.eq(i).addClass(params.slideVisibleClass);\n }\n }\n\n slide.progress = rtl ? -slideProgress : slideProgress;\n }\n\n swiper.visibleSlides = $(swiper.visibleSlides);\n}","import { extend } from '../../../utils/utils';\nexport default function updateProgress(translate) {\n var swiper = this;\n\n if (typeof translate === 'undefined') {\n var multiplier = swiper.rtlTranslate ? -1 : 1; // eslint-disable-next-line\n\n translate = swiper && swiper.translate && swiper.translate * multiplier || 0;\n }\n\n var params = swiper.params;\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n var progress = swiper.progress,\n isBeginning = swiper.isBeginning,\n isEnd = swiper.isEnd;\n var wasBeginning = isBeginning;\n var wasEnd = isEnd;\n\n if (translatesDiff === 0) {\n progress = 0;\n isBeginning = true;\n isEnd = true;\n } else {\n progress = (translate - swiper.minTranslate()) / translatesDiff;\n isBeginning = progress <= 0;\n isEnd = progress >= 1;\n }\n\n extend(swiper, {\n progress: progress,\n isBeginning: isBeginning,\n isEnd: isEnd\n });\n if (params.watchSlidesProgress || params.watchSlidesVisibility || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate);\n\n if (isBeginning && !wasBeginning) {\n swiper.emit('reachBeginning toEdge');\n }\n\n if (isEnd && !wasEnd) {\n swiper.emit('reachEnd toEdge');\n }\n\n if (wasBeginning && !isBeginning || wasEnd && !isEnd) {\n swiper.emit('fromEdge');\n }\n\n swiper.emit('progress', progress);\n}","export default function updateSlidesClasses() {\n var swiper = this;\n var slides = swiper.slides,\n params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n activeIndex = swiper.activeIndex,\n realIndex = swiper.realIndex;\n var isVirtual = swiper.virtual && params.virtual.enabled;\n slides.removeClass(params.slideActiveClass + \" \" + params.slideNextClass + \" \" + params.slidePrevClass + \" \" + params.slideDuplicateActiveClass + \" \" + params.slideDuplicateNextClass + \" \" + params.slideDuplicatePrevClass);\n var activeSlide;\n\n if (isVirtual) {\n activeSlide = swiper.$wrapperEl.find(\".\" + params.slideClass + \"[data-swiper-slide-index=\\\"\" + activeIndex + \"\\\"]\");\n } else {\n activeSlide = slides.eq(activeIndex);\n } // Active classes\n\n\n activeSlide.addClass(params.slideActiveClass);\n\n if (params.loop) {\n // Duplicate to all looped slides\n if (activeSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(\".\" + params.slideClass + \":not(.\" + params.slideDuplicateClass + \")[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]\").addClass(params.slideDuplicateActiveClass);\n } else {\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass + \"[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]\").addClass(params.slideDuplicateActiveClass);\n }\n } // Next Slide\n\n\n var nextSlide = activeSlide.nextAll(\".\" + params.slideClass).eq(0).addClass(params.slideNextClass);\n\n if (params.loop && nextSlide.length === 0) {\n nextSlide = slides.eq(0);\n nextSlide.addClass(params.slideNextClass);\n } // Prev Slide\n\n\n var prevSlide = activeSlide.prevAll(\".\" + params.slideClass).eq(0).addClass(params.slidePrevClass);\n\n if (params.loop && prevSlide.length === 0) {\n prevSlide = slides.eq(-1);\n prevSlide.addClass(params.slidePrevClass);\n }\n\n if (params.loop) {\n // Duplicate to all looped slides\n if (nextSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(\".\" + params.slideClass + \":not(.\" + params.slideDuplicateClass + \")[data-swiper-slide-index=\\\"\" + nextSlide.attr('data-swiper-slide-index') + \"\\\"]\").addClass(params.slideDuplicateNextClass);\n } else {\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass + \"[data-swiper-slide-index=\\\"\" + nextSlide.attr('data-swiper-slide-index') + \"\\\"]\").addClass(params.slideDuplicateNextClass);\n }\n\n if (prevSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(\".\" + params.slideClass + \":not(.\" + params.slideDuplicateClass + \")[data-swiper-slide-index=\\\"\" + prevSlide.attr('data-swiper-slide-index') + \"\\\"]\").addClass(params.slideDuplicatePrevClass);\n } else {\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass + \"[data-swiper-slide-index=\\\"\" + prevSlide.attr('data-swiper-slide-index') + \"\\\"]\").addClass(params.slideDuplicatePrevClass);\n }\n }\n\n swiper.emitSlidesClasses();\n}","import { extend } from '../../../utils/utils';\nexport default function updateActiveIndex(newActiveIndex) {\n var swiper = this;\n var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n var slidesGrid = swiper.slidesGrid,\n snapGrid = swiper.snapGrid,\n params = swiper.params,\n previousIndex = swiper.activeIndex,\n previousRealIndex = swiper.realIndex,\n previousSnapIndex = swiper.snapIndex;\n var activeIndex = newActiveIndex;\n var snapIndex;\n\n if (typeof activeIndex === 'undefined') {\n for (var 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 } // Normalize slideIndex\n\n\n if (params.normalizeSlideIndex) {\n if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;\n }\n }\n\n if (snapGrid.indexOf(translate) >= 0) {\n snapIndex = snapGrid.indexOf(translate);\n } else {\n var skip = Math.min(params.slidesPerGroupSkip, activeIndex);\n snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);\n }\n\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n\n if (activeIndex === previousIndex) {\n if (snapIndex !== previousSnapIndex) {\n swiper.snapIndex = snapIndex;\n swiper.emit('snapIndexChange');\n }\n\n return;\n } // Get real index\n\n\n var realIndex = parseInt(swiper.slides.eq(activeIndex).attr('data-swiper-slide-index') || activeIndex, 10);\n extend(swiper, {\n snapIndex: snapIndex,\n realIndex: realIndex,\n previousIndex: previousIndex,\n activeIndex: activeIndex\n });\n swiper.emit('activeIndexChange');\n swiper.emit('snapIndexChange');\n\n if (previousRealIndex !== realIndex) {\n swiper.emit('realIndexChange');\n }\n\n if (swiper.initialized || swiper.params.runCallbacksOnInit) {\n swiper.emit('slideChange');\n }\n}","import $ from '../../../utils/dom';\nexport default function updateClickedSlide(e) {\n var swiper = this;\n var params = swiper.params;\n var slide = $(e.target).closest(\".\" + params.slideClass)[0];\n var slideFound = false;\n var slideIndex;\n\n if (slide) {\n for (var 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\n if (slide && slideFound) {\n swiper.clickedSlide = slide;\n\n if (swiper.virtual && swiper.params.virtual.enabled) {\n swiper.clickedIndex = parseInt($(slide).attr('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\n if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {\n swiper.slideToClickedSlide();\n }\n}","import slideTo from './slideTo';\nimport slideToLoop from './slideToLoop';\nimport slideNext from './slideNext';\nimport slidePrev from './slidePrev';\nimport slideReset from './slideReset';\nimport slideToClosest from './slideToClosest';\nimport slideToClickedSlide from './slideToClickedSlide';\nexport default {\n slideTo: slideTo,\n slideToLoop: slideToLoop,\n slideNext: slideNext,\n slidePrev: slidePrev,\n slideReset: slideReset,\n slideToClosest: slideToClosest,\n slideToClickedSlide: slideToClickedSlide\n};","export default function slideTo(index, speed, runCallbacks, internal, initial) {\n if (index === void 0) {\n index = 0;\n }\n\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n if (typeof index !== 'number' && typeof index !== 'string') {\n throw new Error(\"The 'index' argument cannot have type other than 'number' or 'string'. [\" + typeof index + \"] given.\");\n }\n\n if (typeof index === 'string') {\n /**\n * The `index` argument converted from `string` to `number`.\n * @type {number}\n */\n var indexAsNumber = parseInt(index, 10);\n /**\n * Determines whether the `index` argument is a valid `number`\n * after being converted from the `string` type.\n * @type {boolean}\n */\n\n var isValidNumber = isFinite(indexAsNumber);\n\n if (!isValidNumber) {\n throw new Error(\"The passed-in 'index' (string) couldn't be converted to 'number'. [\" + index + \"] given.\");\n } // Knowing that the converted `index` is a valid number,\n // we can update the original argument's value.\n\n\n index = indexAsNumber;\n }\n\n var swiper = this;\n var slideIndex = index;\n if (slideIndex < 0) slideIndex = 0;\n var params = swiper.params,\n snapGrid = swiper.snapGrid,\n slidesGrid = swiper.slidesGrid,\n previousIndex = swiper.previousIndex,\n activeIndex = swiper.activeIndex,\n rtl = swiper.rtlTranslate,\n wrapperEl = swiper.wrapperEl,\n enabled = swiper.enabled;\n\n if (swiper.animating && params.preventInteractionOnTransition || !enabled && !internal && !initial) {\n return false;\n }\n\n var skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);\n var snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n\n if ((activeIndex || params.initialSlide || 0) === (previousIndex || 0) && runCallbacks) {\n swiper.emit('beforeSlideChangeStart');\n }\n\n var translate = -snapGrid[snapIndex]; // Update progress\n\n swiper.updateProgress(translate); // Normalize slideIndex\n\n if (params.normalizeSlideIndex) {\n for (var i = 0; i < slidesGrid.length; i += 1) {\n var normalizedTranslate = -Math.floor(translate * 100);\n var normalizedGird = Math.floor(slidesGrid[i] * 100);\n var normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100);\n\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (normalizedTranslate >= normalizedGird && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGird) / 2) {\n slideIndex = i;\n } else if (normalizedTranslate >= normalizedGird && normalizedTranslate < normalizedGridNext) {\n slideIndex = i + 1;\n }\n } else if (normalizedTranslate >= normalizedGird) {\n slideIndex = i;\n }\n }\n } // Directions locks\n\n\n if (swiper.initialized && slideIndex !== activeIndex) {\n if (!swiper.allowSlideNext && translate < swiper.translate && translate < swiper.minTranslate()) {\n return false;\n }\n\n if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {\n if ((activeIndex || 0) !== slideIndex) return false;\n }\n }\n\n var direction;\n if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset'; // Update Index\n\n if (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) {\n swiper.updateActiveIndex(slideIndex); // Update Height\n\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n\n swiper.updateSlidesClasses();\n\n if (params.effect !== 'slide') {\n swiper.setTranslate(translate);\n }\n\n if (direction !== 'reset') {\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n }\n\n return false;\n }\n\n if (params.cssMode) {\n var isH = swiper.isHorizontal();\n var t = -translate;\n\n if (rtl) {\n t = wrapperEl.scrollWidth - wrapperEl.offsetWidth - t;\n }\n\n if (speed === 0) {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n } else {\n // eslint-disable-next-line\n if (wrapperEl.scrollTo) {\n var _wrapperEl$scrollTo;\n\n wrapperEl.scrollTo((_wrapperEl$scrollTo = {}, _wrapperEl$scrollTo[isH ? 'left' : 'top'] = t, _wrapperEl$scrollTo.behavior = 'smooth', _wrapperEl$scrollTo));\n } else {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n }\n }\n\n return true;\n }\n\n if (speed === 0) {\n swiper.setTransition(0);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n } else {\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\n if (!swiper.animating) {\n swiper.animating = true;\n\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[0].removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\n swiper.onSlideToWrapperTransitionEnd = null;\n delete swiper.onSlideToWrapperTransitionEnd;\n swiper.transitionEnd(runCallbacks, direction);\n };\n }\n\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\n }\n }\n\n return true;\n}","export default function slideToLoop(index, speed, runCallbacks, internal) {\n if (index === void 0) {\n index = 0;\n }\n\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var newIndex = index;\n\n if (swiper.params.loop) {\n newIndex += swiper.loopedSlides;\n }\n\n return swiper.slideTo(newIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideNext(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var params = swiper.params,\n animating = swiper.animating,\n enabled = swiper.enabled;\n if (!enabled) return swiper;\n var increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup;\n\n if (params.loop) {\n if (animating && params.loopPreventsSlide) return false;\n swiper.loopFix(); // eslint-disable-next-line\n\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n }\n\n return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slidePrev(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var params = swiper.params,\n animating = swiper.animating,\n snapGrid = swiper.snapGrid,\n slidesGrid = swiper.slidesGrid,\n rtlTranslate = swiper.rtlTranslate,\n enabled = swiper.enabled;\n if (!enabled) return swiper;\n\n if (params.loop) {\n if (animating && params.loopPreventsSlide) return false;\n swiper.loopFix(); // eslint-disable-next-line\n\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n }\n\n var translate = rtlTranslate ? swiper.translate : -swiper.translate;\n\n function normalize(val) {\n if (val < 0) return -Math.floor(Math.abs(val));\n return Math.floor(val);\n }\n\n var normalizedTranslate = normalize(translate);\n var normalizedSnapGrid = snapGrid.map(function (val) {\n return normalize(val);\n });\n var prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];\n\n if (typeof prevSnap === 'undefined' && params.cssMode) {\n snapGrid.forEach(function (snap) {\n if (!prevSnap && normalizedTranslate >= snap) prevSnap = snap;\n });\n }\n\n var prevIndex;\n\n if (typeof prevSnap !== 'undefined') {\n prevIndex = slidesGrid.indexOf(prevSnap);\n if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;\n }\n\n return swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideReset(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideToClosest(speed, runCallbacks, internal, threshold) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n if (threshold === void 0) {\n threshold = 0.5;\n }\n\n var swiper = this;\n var index = swiper.activeIndex;\n var skip = Math.min(swiper.params.slidesPerGroupSkip, index);\n var snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);\n var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n\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 var currentSnap = swiper.snapGrid[snapIndex];\n var nextSnap = swiper.snapGrid[snapIndex + 1];\n\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 var prevSnap = swiper.snapGrid[snapIndex - 1];\n var _currentSnap = swiper.snapGrid[snapIndex];\n\n if (translate - prevSnap <= (_currentSnap - prevSnap) * threshold) {\n index -= swiper.params.slidesPerGroup;\n }\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}","import $ from '../../../utils/dom';\nimport { nextTick } from '../../../utils/utils';\nexport default function slideToClickedSlide() {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl;\n var slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;\n var slideToIndex = swiper.clickedIndex;\n var realIndex;\n\n if (params.loop) {\n if (swiper.animating) return;\n realIndex = parseInt($(swiper.clickedSlide).attr('data-swiper-slide-index'), 10);\n\n if (params.centeredSlides) {\n if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) {\n swiper.loopFix();\n slideToIndex = $wrapperEl.children(\".\" + params.slideClass + \"[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]:not(.\" + params.slideDuplicateClass + \")\").eq(0).index();\n nextTick(function () {\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 = $wrapperEl.children(\".\" + params.slideClass + \"[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]:not(.\" + params.slideDuplicateClass + \")\").eq(0).index();\n nextTick(function () {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else {\n swiper.slideTo(slideToIndex);\n }\n}","import loopCreate from './loopCreate';\nimport loopFix from './loopFix';\nimport loopDestroy from './loopDestroy';\nexport default {\n loopCreate: loopCreate,\n loopFix: loopFix,\n loopDestroy: loopDestroy\n};","import { getDocument } from 'ssr-window';\nimport $ from '../../../utils/dom';\nexport default function loopCreate() {\n var swiper = this;\n var document = getDocument();\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl; // Remove duplicated slides\n\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass).remove();\n var slides = $wrapperEl.children(\".\" + params.slideClass);\n\n if (params.loopFillGroupWithBlank) {\n var blankSlidesNum = params.slidesPerGroup - slides.length % params.slidesPerGroup;\n\n if (blankSlidesNum !== params.slidesPerGroup) {\n for (var i = 0; i < blankSlidesNum; i += 1) {\n var blankNode = $(document.createElement('div')).addClass(params.slideClass + \" \" + params.slideBlankClass);\n $wrapperEl.append(blankNode);\n }\n\n slides = $wrapperEl.children(\".\" + params.slideClass);\n }\n }\n\n if (params.slidesPerView === 'auto' && !params.loopedSlides) params.loopedSlides = slides.length;\n swiper.loopedSlides = Math.ceil(parseFloat(params.loopedSlides || params.slidesPerView, 10));\n swiper.loopedSlides += params.loopAdditionalSlides;\n\n if (swiper.loopedSlides > slides.length) {\n swiper.loopedSlides = slides.length;\n }\n\n var prependSlides = [];\n var appendSlides = [];\n slides.each(function (el, index) {\n var slide = $(el);\n\n if (index < swiper.loopedSlides) {\n appendSlides.push(el);\n }\n\n if (index < slides.length && index >= slides.length - swiper.loopedSlides) {\n prependSlides.push(el);\n }\n\n slide.attr('data-swiper-slide-index', index);\n });\n\n for (var _i = 0; _i < appendSlides.length; _i += 1) {\n $wrapperEl.append($(appendSlides[_i].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n\n for (var _i2 = prependSlides.length - 1; _i2 >= 0; _i2 -= 1) {\n $wrapperEl.prepend($(prependSlides[_i2].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n}","export default function loopFix() {\n var swiper = this;\n swiper.emit('beforeLoopFix');\n var activeIndex = swiper.activeIndex,\n slides = swiper.slides,\n loopedSlides = swiper.loopedSlides,\n allowSlidePrev = swiper.allowSlidePrev,\n allowSlideNext = swiper.allowSlideNext,\n snapGrid = swiper.snapGrid,\n rtl = swiper.rtlTranslate;\n var newIndex;\n swiper.allowSlidePrev = true;\n swiper.allowSlideNext = true;\n var snapTranslate = -snapGrid[activeIndex];\n var diff = snapTranslate - swiper.getTranslate(); // Fix For Negative Oversliding\n\n if (activeIndex < loopedSlides) {\n newIndex = slides.length - loopedSlides * 3 + activeIndex;\n newIndex += loopedSlides;\n var slideChanged = swiper.slideTo(newIndex, 0, false, true);\n\n if (slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n } else if (activeIndex >= slides.length - loopedSlides) {\n // Fix For Positive Oversliding\n newIndex = -slides.length + activeIndex + loopedSlides;\n newIndex += loopedSlides;\n\n var _slideChanged = swiper.slideTo(newIndex, 0, false, true);\n\n if (_slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n }\n\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n swiper.emit('loopFix');\n}","export default function loopDestroy() {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n params = swiper.params,\n slides = swiper.slides;\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass + \",.\" + params.slideClass + \".\" + params.slideBlankClass).remove();\n slides.removeAttr('data-swiper-slide-index');\n}","import { getWindow, getDocument } from 'ssr-window';\nimport $ from '../../../utils/dom';\nimport { extend, now } from '../../../utils/utils'; // Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd\n\nfunction closestElement(selector, base) {\n if (base === void 0) {\n base = this;\n }\n\n function __closestFrom(el) {\n if (!el || el === getDocument() || el === getWindow()) return null;\n if (el.assignedSlot) el = el.assignedSlot;\n var found = el.closest(selector);\n return found || __closestFrom(el.getRootNode().host);\n }\n\n return __closestFrom(base);\n}\n\nexport default function onTouchStart(event) {\n var swiper = this;\n var document = getDocument();\n var window = getWindow();\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n enabled = swiper.enabled;\n if (!enabled) return;\n\n if (swiper.animating && params.preventInteractionOnTransition) {\n return;\n }\n\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n var $targetEl = $(e.target);\n\n if (params.touchEventsTarget === 'wrapper') {\n if (!$targetEl.closest(swiper.wrapperEl).length) return;\n }\n\n data.isTouchEvent = e.type === 'touchstart';\n if (!data.isTouchEvent && 'which' in e && e.which === 3) return;\n if (!data.isTouchEvent && 'button' in e && e.button > 0) return;\n if (data.isTouched && data.isMoved) return; // change target el for shadow root component\n\n var swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== '';\n\n if (swipingClassHasValue && e.target && e.target.shadowRoot && event.path && event.path[0]) {\n $targetEl = $(event.path[0]);\n }\n\n var noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : \".\" + params.noSwipingClass;\n var isTargetShadow = !!(e.target && e.target.shadowRoot); // use closestElement for shadow root element to get the actual closest for nested shadow root element\n\n if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, e.target) : $targetEl.closest(noSwipingSelector)[0])) {\n swiper.allowClick = true;\n return;\n }\n\n if (params.swipeHandler) {\n if (!$targetEl.closest(params.swipeHandler)[0]) return;\n }\n\n touches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n var startX = touches.currentX;\n var startY = touches.currentY; // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore\n\n var edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection;\n var edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold;\n\n if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) {\n if (edgeSwipeDetection === 'prevent') {\n event.preventDefault();\n } else {\n return;\n }\n }\n\n extend(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\n if (e.type !== 'touchstart') {\n var preventDefault = true;\n if ($targetEl.is(data.focusableElements)) preventDefault = false;\n\n if (document.activeElement && $(document.activeElement).is(data.focusableElements) && document.activeElement !== $targetEl[0]) {\n document.activeElement.blur();\n }\n\n var shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;\n\n if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !$targetEl[0].isContentEditable) {\n e.preventDefault();\n }\n }\n\n swiper.emit('touchStart', e);\n}","import { getDocument } from 'ssr-window';\nimport $ from '../../../utils/dom';\nimport { extend, now } from '../../../utils/utils';\nexport default function onTouchMove(event) {\n var document = getDocument();\n var swiper = this;\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n rtl = swiper.rtlTranslate,\n enabled = swiper.enabled;\n if (!enabled) return;\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n\n if (!data.isTouched) {\n if (data.startMoving && data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n\n return;\n }\n\n if (data.isTouchEvent && e.type !== 'touchmove') return;\n var targetTouch = e.type === 'touchmove' && e.targetTouches && (e.targetTouches[0] || e.changedTouches[0]);\n var pageX = e.type === 'touchmove' ? targetTouch.pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? targetTouch.pageY : e.pageY;\n\n if (e.preventedByNestedSwiper) {\n touches.startX = pageX;\n touches.startY = pageY;\n return;\n }\n\n if (!swiper.allowTouchMove) {\n // isMoved = true;\n swiper.allowClick = false;\n\n if (data.isTouched) {\n extend(touches, {\n startX: pageX,\n startY: pageY,\n currentX: pageX,\n currentY: pageY\n });\n data.touchStartTime = now();\n }\n\n return;\n }\n\n if (data.isTouchEvent && 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\n if (data.isTouchEvent && document.activeElement) {\n if (e.target === document.activeElement && $(e.target).is(data.focusableElements)) {\n data.isMoved = true;\n swiper.allowClick = false;\n return;\n }\n }\n\n if (data.allowTouchCallbacks) {\n swiper.emit('touchMove', e);\n }\n\n if (e.targetTouches && e.targetTouches.length > 1) return;\n touches.currentX = pageX;\n touches.currentY = pageY;\n var diffX = touches.currentX - touches.startX;\n var diffY = touches.currentY - touches.startY;\n if (swiper.params.threshold && Math.sqrt(Math.pow(diffX, 2) + Math.pow(diffY, 2)) < swiper.params.threshold) return;\n\n if (typeof data.isScrolling === 'undefined') {\n var touchAngle;\n\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\n if (data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n\n if (typeof data.startMoving === 'undefined') {\n if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {\n data.startMoving = true;\n }\n }\n\n if (data.isScrolling) {\n data.isTouched = false;\n return;\n }\n\n if (!data.startMoving) {\n return;\n }\n\n swiper.allowClick = false;\n\n if (!params.cssMode && e.cancelable) {\n e.preventDefault();\n }\n\n if (params.touchMoveStopPropagation && !params.nested) {\n e.stopPropagation();\n }\n\n if (!data.isMoved) {\n if (params.loop) {\n swiper.loopFix();\n }\n\n data.startTranslate = swiper.getTranslate();\n swiper.setTransition(0);\n\n if (swiper.animating) {\n swiper.$wrapperEl.trigger('webkitTransitionEnd transitionend');\n }\n\n data.allowMomentumBounce = false; // Grab Cursor\n\n if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(true);\n }\n\n swiper.emit('sliderFirstMove', e);\n }\n\n swiper.emit('sliderMove', e);\n data.isMoved = true;\n var diff = swiper.isHorizontal() ? diffX : diffY;\n touches.diff = diff;\n diff *= params.touchRatio;\n if (rtl) diff = -diff;\n swiper.swipeDirection = diff > 0 ? 'prev' : 'next';\n data.currentTranslate = diff + data.startTranslate;\n var disableParentSwiper = true;\n var resistanceRatio = params.resistanceRatio;\n\n if (params.touchReleaseOnEdges) {\n resistanceRatio = 0;\n }\n\n if (diff > 0 && data.currentTranslate > swiper.minTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) data.currentTranslate = swiper.minTranslate() - 1 + Math.pow(-swiper.minTranslate() + data.startTranslate + diff, resistanceRatio);\n } else if (diff < 0 && data.currentTranslate < swiper.maxTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) data.currentTranslate = swiper.maxTranslate() + 1 - Math.pow(swiper.maxTranslate() - data.startTranslate - diff, resistanceRatio);\n }\n\n if (disableParentSwiper) {\n e.preventedByNestedSwiper = true;\n } // Directions locks\n\n\n if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n\n if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n\n if (!swiper.allowSlidePrev && !swiper.allowSlideNext) {\n data.currentTranslate = data.startTranslate;\n } // Threshold\n\n\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\n if (!params.followFinger || params.cssMode) return; // Update active index in free mode\n\n if (params.freeMode || params.watchSlidesProgress || params.watchSlidesVisibility) {\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n if (params.freeMode) {\n // Velocity\n if (data.velocities.length === 0) {\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'startX' : 'startY'],\n time: data.touchStartTime\n });\n }\n\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'],\n time: now()\n });\n } // Update progress\n\n\n swiper.updateProgress(data.currentTranslate); // Update translate\n\n swiper.setTranslate(data.currentTranslate);\n}","import { now, nextTick } from '../../../utils/utils';\nexport default function onTouchEnd(event) {\n var swiper = this;\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n rtl = swiper.rtlTranslate,\n $wrapperEl = swiper.$wrapperEl,\n slidesGrid = swiper.slidesGrid,\n snapGrid = swiper.snapGrid,\n enabled = swiper.enabled;\n if (!enabled) return;\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n\n if (data.allowTouchCallbacks) {\n swiper.emit('touchEnd', e);\n }\n\n data.allowTouchCallbacks = false;\n\n if (!data.isTouched) {\n if (data.isMoved && params.grabCursor) {\n swiper.setGrabCursor(false);\n }\n\n data.isMoved = false;\n data.startMoving = false;\n return;\n } // Return Grab Cursor\n\n\n if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(false);\n } // Time diff\n\n\n var touchEndTime = now();\n var timeDiff = touchEndTime - data.touchStartTime; // Tap, doubleTap, Click\n\n if (swiper.allowClick) {\n swiper.updateClickedSlide(e);\n swiper.emit('tap click', e);\n\n if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {\n swiper.emit('doubleTap doubleClick', e);\n }\n }\n\n data.lastClickTime = now();\n nextTick(function () {\n if (!swiper.destroyed) swiper.allowClick = true;\n });\n\n if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 || data.currentTranslate === data.startTranslate) {\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n var currentPos;\n\n if (params.followFinger) {\n currentPos = rtl ? swiper.translate : -swiper.translate;\n } else {\n currentPos = -data.currentTranslate;\n }\n\n if (params.cssMode) {\n return;\n }\n\n if (params.freeMode) {\n if (currentPos < -swiper.minTranslate()) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n if (currentPos > -swiper.maxTranslate()) {\n if (swiper.slides.length < snapGrid.length) {\n swiper.slideTo(snapGrid.length - 1);\n } else {\n swiper.slideTo(swiper.slides.length - 1);\n }\n\n return;\n }\n\n if (params.freeModeMomentum) {\n if (data.velocities.length > 1) {\n var lastMoveEvent = data.velocities.pop();\n var velocityEvent = data.velocities.pop();\n var distance = lastMoveEvent.position - velocityEvent.position;\n var time = lastMoveEvent.time - velocityEvent.time;\n swiper.velocity = distance / time;\n swiper.velocity /= 2;\n\n if (Math.abs(swiper.velocity) < params.freeModeMinimumVelocity) {\n swiper.velocity = 0;\n } // this implies that the user stopped moving a finger then released.\n // There would be no events with distance zero, so the last event is stale.\n\n\n if (time > 150 || now() - lastMoveEvent.time > 300) {\n swiper.velocity = 0;\n }\n } else {\n swiper.velocity = 0;\n }\n\n swiper.velocity *= params.freeModeMomentumVelocityRatio;\n data.velocities.length = 0;\n var momentumDuration = 1000 * params.freeModeMomentumRatio;\n var momentumDistance = swiper.velocity * momentumDuration;\n var newPosition = swiper.translate + momentumDistance;\n if (rtl) newPosition = -newPosition;\n var doBounce = false;\n var afterBouncePosition;\n var bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeModeMomentumBounceRatio;\n var needsLoopFix;\n\n if (newPosition < swiper.maxTranslate()) {\n if (params.freeModeMomentumBounce) {\n if (newPosition + swiper.maxTranslate() < -bounceAmount) {\n newPosition = swiper.maxTranslate() - bounceAmount;\n }\n\n afterBouncePosition = swiper.maxTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.maxTranslate();\n }\n\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (newPosition > swiper.minTranslate()) {\n if (params.freeModeMomentumBounce) {\n if (newPosition - swiper.minTranslate() > bounceAmount) {\n newPosition = swiper.minTranslate() + bounceAmount;\n }\n\n afterBouncePosition = swiper.minTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.minTranslate();\n }\n\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (params.freeModeSticky) {\n var nextSlide;\n\n for (var j = 0; j < snapGrid.length; j += 1) {\n if (snapGrid[j] > -newPosition) {\n nextSlide = j;\n break;\n }\n }\n\n if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') {\n newPosition = snapGrid[nextSlide];\n } else {\n newPosition = snapGrid[nextSlide - 1];\n }\n\n newPosition = -newPosition;\n }\n\n if (needsLoopFix) {\n swiper.once('transitionEnd', function () {\n swiper.loopFix();\n });\n } // Fix duration\n\n\n if (swiper.velocity !== 0) {\n if (rtl) {\n momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity);\n } else {\n momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity);\n }\n\n if (params.freeModeSticky) {\n // If freeModeSticky is active and the user ends a swipe with a slow-velocity\n // event, then durations can be 20+ seconds to slide one (or zero!) slides.\n // It's easy to see this when simulating touch with mouse events. To fix this,\n // limit single-slide swipes to the default slide duration. This also has the\n // nice side effect of matching slide speed if the user stopped moving before\n // lifting finger or mouse vs. moving slowly before lifting the finger/mouse.\n // For faster swipes, also apply limits (albeit higher ones).\n var moveDistance = Math.abs((rtl ? -newPosition : newPosition) - swiper.translate);\n var currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex];\n\n if (moveDistance < currentSlideSize) {\n momentumDuration = params.speed;\n } else if (moveDistance < 2 * currentSlideSize) {\n momentumDuration = params.speed * 1.5;\n } else {\n momentumDuration = params.speed * 2.5;\n }\n }\n } else if (params.freeModeSticky) {\n swiper.slideToClosest();\n return;\n }\n\n if (params.freeModeMomentumBounce && doBounce) {\n swiper.updateProgress(afterBouncePosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n swiper.animating = true;\n $wrapperEl.transitionEnd(function () {\n if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return;\n swiper.emit('momentumBounce');\n swiper.setTransition(params.speed);\n setTimeout(function () {\n swiper.setTranslate(afterBouncePosition);\n $wrapperEl.transitionEnd(function () {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }, 0);\n });\n } else if (swiper.velocity) {\n swiper.updateProgress(newPosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n\n if (!swiper.animating) {\n swiper.animating = true;\n $wrapperEl.transitionEnd(function () {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }\n } else {\n swiper.emit('_freeModeNoMomentumRelease');\n swiper.updateProgress(newPosition);\n }\n\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n } else if (params.freeModeSticky) {\n swiper.slideToClosest();\n return;\n } else if (params.freeMode) {\n swiper.emit('_freeModeNoMomentumRelease');\n }\n\n if (!params.freeModeMomentum || timeDiff >= params.longSwipesMs) {\n swiper.updateProgress();\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n return;\n } // Find current slide\n\n\n var stopIndex = 0;\n var groupSize = swiper.slidesSizesGrid[0];\n\n for (var i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) {\n var _increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n\n if (typeof slidesGrid[i + _increment] !== 'undefined') {\n if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + _increment]) {\n stopIndex = i;\n groupSize = slidesGrid[i + _increment] - slidesGrid[i];\n }\n } else if (currentPos >= slidesGrid[i]) {\n stopIndex = i;\n groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];\n }\n } // Find current slide size\n\n\n var ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;\n var increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n\n if (timeDiff > params.longSwipesMs) {\n // Long touches\n if (!params.longSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n if (swiper.swipeDirection === 'next') {\n if (ratio >= params.longSwipesRatio) swiper.slideTo(stopIndex + increment);else swiper.slideTo(stopIndex);\n }\n\n if (swiper.swipeDirection === 'prev') {\n if (ratio > 1 - params.longSwipesRatio) swiper.slideTo(stopIndex + increment);else swiper.slideTo(stopIndex);\n }\n } else {\n // Short swipes\n if (!params.shortSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n var isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl);\n\n if (!isNavButtonTarget) {\n if (swiper.swipeDirection === 'next') {\n swiper.slideTo(stopIndex + increment);\n }\n\n if (swiper.swipeDirection === 'prev') {\n swiper.slideTo(stopIndex);\n }\n } else if (e.target === swiper.navigation.nextEl) {\n swiper.slideTo(stopIndex + increment);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n}","export default function onResize() {\n var swiper = this;\n var params = swiper.params,\n el = swiper.el;\n if (el && el.offsetWidth === 0) return; // Breakpoints\n\n if (params.breakpoints) {\n swiper.setBreakpoint();\n } // Save locks\n\n\n var allowSlideNext = swiper.allowSlideNext,\n allowSlidePrev = swiper.allowSlidePrev,\n snapGrid = swiper.snapGrid; // Disable locks on resize\n\n swiper.allowSlideNext = true;\n swiper.allowSlidePrev = true;\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateSlidesClasses();\n\n if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides) {\n swiper.slideTo(swiper.slides.length - 1, 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 swiper.autoplay.run();\n } // Return locks after resize\n\n\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n\n if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n}","export default function onClick(e) {\n var swiper = this;\n if (!swiper.enabled) return;\n\n if (!swiper.allowClick) {\n if (swiper.params.preventClicks) e.preventDefault();\n\n if (swiper.params.preventClicksPropagation && swiper.animating) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n }\n}","export default function onScroll() {\n var swiper = this;\n var wrapperEl = swiper.wrapperEl,\n rtlTranslate = swiper.rtlTranslate,\n enabled = swiper.enabled;\n if (!enabled) return;\n swiper.previousTranslate = swiper.translate;\n\n if (swiper.isHorizontal()) {\n if (rtlTranslate) {\n swiper.translate = wrapperEl.scrollWidth - wrapperEl.offsetWidth - wrapperEl.scrollLeft;\n } else {\n swiper.translate = -wrapperEl.scrollLeft;\n }\n } else {\n swiper.translate = -wrapperEl.scrollTop;\n } // eslint-disable-next-line\n\n\n if (swiper.translate === -0) swiper.translate = 0;\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n var newProgress;\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;\n }\n\n if (newProgress !== swiper.progress) {\n swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);\n }\n\n swiper.emit('setTranslate', swiper.translate, false);\n}","import { getDocument } from 'ssr-window';\nimport onTouchStart from './onTouchStart';\nimport onTouchMove from './onTouchMove';\nimport onTouchEnd from './onTouchEnd';\nimport onResize from './onResize';\nimport onClick from './onClick';\nimport onScroll from './onScroll';\nvar dummyEventAttached = false;\n\nfunction dummyEventListener() {}\n\nfunction attachEvents() {\n var swiper = this;\n var document = getDocument();\n var params = swiper.params,\n touchEvents = swiper.touchEvents,\n el = swiper.el,\n wrapperEl = swiper.wrapperEl,\n device = swiper.device,\n support = swiper.support;\n swiper.onTouchStart = onTouchStart.bind(swiper);\n swiper.onTouchMove = onTouchMove.bind(swiper);\n swiper.onTouchEnd = onTouchEnd.bind(swiper);\n\n if (params.cssMode) {\n swiper.onScroll = onScroll.bind(swiper);\n }\n\n swiper.onClick = onClick.bind(swiper);\n var capture = !!params.nested; // Touch Events\n\n if (!support.touch && support.pointerEvents) {\n el.addEventListener(touchEvents.start, swiper.onTouchStart, false);\n document.addEventListener(touchEvents.move, swiper.onTouchMove, capture);\n document.addEventListener(touchEvents.end, swiper.onTouchEnd, false);\n } else {\n if (support.touch) {\n var passiveListener = touchEvents.start === 'touchstart' && support.passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n el.addEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);\n el.addEventListener(touchEvents.move, swiper.onTouchMove, support.passiveListener ? {\n passive: false,\n capture: capture\n } : capture);\n el.addEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);\n\n if (touchEvents.cancel) {\n el.addEventListener(touchEvents.cancel, swiper.onTouchEnd, passiveListener);\n }\n\n if (!dummyEventAttached) {\n document.addEventListener('touchstart', dummyEventListener);\n dummyEventAttached = true;\n }\n }\n\n if (params.simulateTouch && !device.ios && !device.android || params.simulateTouch && !support.touch && device.ios) {\n el.addEventListener('mousedown', swiper.onTouchStart, false);\n document.addEventListener('mousemove', swiper.onTouchMove, capture);\n document.addEventListener('mouseup', swiper.onTouchEnd, false);\n }\n } // Prevent Links Clicks\n\n\n if (params.preventClicks || params.preventClicksPropagation) {\n el.addEventListener('click', swiper.onClick, true);\n }\n\n if (params.cssMode) {\n wrapperEl.addEventListener('scroll', swiper.onScroll);\n } // Resize handler\n\n\n if (params.updateOnWindowResize) {\n swiper.on(device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true);\n } else {\n swiper.on('observerUpdate', onResize, true);\n }\n}\n\nfunction detachEvents() {\n var swiper = this;\n var document = getDocument();\n var params = swiper.params,\n touchEvents = swiper.touchEvents,\n el = swiper.el,\n wrapperEl = swiper.wrapperEl,\n device = swiper.device,\n support = swiper.support;\n var capture = !!params.nested; // Touch Events\n\n if (!support.touch && support.pointerEvents) {\n el.removeEventListener(touchEvents.start, swiper.onTouchStart, false);\n document.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);\n document.removeEventListener(touchEvents.end, swiper.onTouchEnd, false);\n } else {\n if (support.touch) {\n var passiveListener = touchEvents.start === 'onTouchStart' && support.passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n el.removeEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);\n el.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);\n el.removeEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);\n\n if (touchEvents.cancel) {\n el.removeEventListener(touchEvents.cancel, swiper.onTouchEnd, passiveListener);\n }\n }\n\n if (params.simulateTouch && !device.ios && !device.android || params.simulateTouch && !support.touch && device.ios) {\n el.removeEventListener('mousedown', swiper.onTouchStart, false);\n document.removeEventListener('mousemove', swiper.onTouchMove, capture);\n document.removeEventListener('mouseup', swiper.onTouchEnd, false);\n }\n } // Prevent Links Clicks\n\n\n if (params.preventClicks || params.preventClicksPropagation) {\n el.removeEventListener('click', swiper.onClick, true);\n }\n\n if (params.cssMode) {\n wrapperEl.removeEventListener('scroll', swiper.onScroll);\n } // Resize handler\n\n\n swiper.off(device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize);\n}\n\nexport default {\n attachEvents: attachEvents,\n detachEvents: detachEvents\n};","import addClasses from './addClasses';\nimport removeClasses from './removeClasses';\nexport default {\n addClasses: addClasses,\n removeClasses: removeClasses\n};","function prepareClasses(entries, prefix) {\n var resultClasses = [];\n entries.forEach(function (item) {\n if (typeof item === 'object') {\n Object.keys(item).forEach(function (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}\n\nexport default function addClasses() {\n var swiper = this;\n var classNames = swiper.classNames,\n params = swiper.params,\n rtl = swiper.rtl,\n $el = swiper.$el,\n device = swiper.device,\n support = swiper.support; // prettier-ignore\n\n var suffixes = prepareClasses(['initialized', params.direction, {\n 'pointer-events': support.pointerEvents && !support.touch\n }, {\n 'free-mode': params.freeMode\n }, {\n 'autoheight': params.autoHeight\n }, {\n 'rtl': rtl\n }, {\n 'multirow': params.slidesPerColumn > 1\n }, {\n 'multirow-column': params.slidesPerColumn > 1 && params.slidesPerColumnFill === 'column'\n }, {\n 'android': device.android\n }, {\n 'ios': device.ios\n }, {\n 'css-mode': params.cssMode\n }], params.containerModifierClass);\n classNames.push.apply(classNames, suffixes);\n $el.addClass([].concat(classNames).join(' '));\n swiper.emitContainerClasses();\n}","export default function removeClasses() {\n var swiper = this;\n var $el = swiper.$el,\n classNames = swiper.classNames;\n $el.removeClass(classNames.join(' '));\n swiper.emitContainerClasses();\n}","export default {\n init: true,\n direction: 'horizontal',\n touchEventsTarget: 'container',\n initialSlide: 0,\n speed: 300,\n cssMode: false,\n updateOnWindowResize: true,\n resizeObserver: false,\n nested: false,\n createElements: false,\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 // Free mode\n freeMode: false,\n freeModeMomentum: true,\n freeModeMomentumRatio: 1,\n freeModeMomentumBounce: true,\n freeModeMomentumBounceRatio: 1,\n freeModeMomentumVelocityRatio: 1,\n freeModeSticky: false,\n freeModeMinimumVelocity: 0.02,\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 // Breakpoints\n breakpoints: undefined,\n breakpointsBase: 'window',\n // Slides grid\n spaceBetween: 0,\n slidesPerView: 1,\n slidesPerColumn: 1,\n slidesPerColumnFill: 'column',\n slidesPerGroup: 1,\n slidesPerGroupSkip: 0,\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: false,\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: 0,\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 watchSlidesVisibility: false,\n // Cursor\n grabCursor: false,\n // Clicks\n preventClicks: true,\n preventClicksPropagation: true,\n slideToClickedSlide: false,\n // Images\n preloadImages: true,\n updateOnImagesReady: true,\n // loop\n loop: false,\n loopAdditionalSlides: 0,\n loopedSlides: null,\n loopFillGroupWithBlank: false,\n loopPreventsSlide: true,\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 // NS\n containerModifierClass: 'swiper-container-',\n // NEW\n slideClass: 'swiper-slide',\n slideBlankClass: 'swiper-slide-invisible-blank',\n slideActiveClass: 'swiper-slide-active',\n slideDuplicateActiveClass: 'swiper-slide-duplicate-active',\n slideVisibleClass: 'swiper-slide-visible',\n slideDuplicateClass: 'swiper-slide-duplicate',\n slideNextClass: 'swiper-slide-next',\n slideDuplicateNextClass: 'swiper-slide-duplicate-next',\n slidePrevClass: 'swiper-slide-prev',\n slideDuplicatePrevClass: 'swiper-slide-duplicate-prev',\n wrapperClass: 'swiper-wrapper',\n // Callbacks\n runCallbacksOnInit: true,\n // Internals\n _emitClasses: false\n};","function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/* eslint no-param-reassign: \"off\" */\nimport { getDocument } from 'ssr-window';\nimport $ from '../../utils/dom';\nimport { extend, now, deleteProps } from '../../utils/utils';\nimport { getSupport } from '../../utils/get-support';\nimport { getDevice } from '../../utils/get-device';\nimport { getBrowser } from '../../utils/get-browser';\nimport Resize from '../../modules/resize/resize';\nimport Observer from '../../modules/observer/observer';\nimport modular from './modular';\nimport eventsEmitter from './events-emitter';\nimport update from './update/index';\nimport translate from './translate/index';\nimport transition from './transition/index';\nimport slide from './slide/index';\nimport loop from './loop/index';\nimport grabCursor from './grab-cursor/index';\nimport manipulation from './manipulation/index';\nimport events from './events/index';\nimport breakpoints from './breakpoints/index';\nimport classes from './classes/index';\nimport images from './images/index';\nimport checkOverflow from './check-overflow/index';\nimport defaults from './defaults';\nvar prototypes = {\n modular: modular,\n eventsEmitter: eventsEmitter,\n update: update,\n translate: translate,\n transition: transition,\n slide: slide,\n loop: loop,\n grabCursor: grabCursor,\n manipulation: manipulation,\n events: events,\n breakpoints: breakpoints,\n checkOverflow: checkOverflow,\n classes: classes,\n images: images\n};\nvar extendedDefaults = {};\n\nvar Swiper = /*#__PURE__*/function () {\n function Swiper() {\n var el;\n var params;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\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 = args[0];\n params = args[1];\n }\n\n if (!params) params = {};\n params = extend({}, params);\n if (el && !params.el) params.el = el;\n\n if (params.el && $(params.el).length > 1) {\n var swipers = [];\n $(params.el).each(function (containerEl) {\n var newParams = extend({}, params, {\n el: containerEl\n });\n swipers.push(new Swiper(newParams));\n });\n return swipers;\n } // Swiper Instance\n\n\n var 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\n if (typeof swiper.modules === 'undefined') {\n swiper.modules = {};\n }\n\n Object.keys(swiper.modules).forEach(function (moduleName) {\n var module = swiper.modules[moduleName];\n\n if (module.params) {\n var moduleParamName = Object.keys(module.params)[0];\n var moduleParams = module.params[moduleParamName];\n if (typeof moduleParams !== 'object' || moduleParams === null) return;\n\n if (['navigation', 'pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] === true) {\n params[moduleParamName] = {\n auto: true\n };\n }\n\n if (!(moduleParamName in params && 'enabled' in moduleParams)) return;\n\n if (params[moduleParamName] === true) {\n params[moduleParamName] = {\n enabled: true\n };\n }\n\n if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {\n params[moduleParamName].enabled = true;\n }\n\n if (!params[moduleParamName]) params[moduleParamName] = {\n enabled: false\n };\n }\n }); // Extend defaults with modules params\n\n var swiperParams = extend({}, defaults);\n swiper.useParams(swiperParams); // Extend defaults with passed params\n\n swiper.params = extend({}, swiperParams, extendedDefaults, params);\n swiper.originalParams = extend({}, swiper.params);\n swiper.passedParams = extend({}, params); // add event listeners\n\n if (swiper.params && swiper.params.on) {\n Object.keys(swiper.params.on).forEach(function (eventName) {\n swiper.on(eventName, swiper.params.on[eventName]);\n });\n }\n\n if (swiper.params && swiper.params.onAny) {\n swiper.onAny(swiper.params.onAny);\n } // Save Dom lib\n\n\n swiper.$ = $; // Extend Swiper\n\n extend(swiper, {\n enabled: swiper.params.enabled,\n el: el,\n // Classes\n classNames: [],\n // Slides\n slides: $(),\n slidesGrid: [],\n snapGrid: [],\n slidesSizesGrid: [],\n // isDirection\n isHorizontal: function isHorizontal() {\n return swiper.params.direction === 'horizontal';\n },\n isVertical: function 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 // Locks\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev,\n // Touch Events\n touchEvents: function touchEvents() {\n var touch = ['touchstart', 'touchmove', 'touchend', 'touchcancel'];\n var desktop = ['mousedown', 'mousemove', 'mouseup'];\n\n if (swiper.support.pointerEvents) {\n desktop = ['pointerdown', 'pointermove', 'pointerup'];\n }\n\n swiper.touchEventsTouch = {\n start: touch[0],\n move: touch[1],\n end: touch[2],\n cancel: touch[3]\n };\n swiper.touchEventsDesktop = {\n start: desktop[0],\n move: desktop[1],\n end: desktop[2]\n };\n return swiper.support.touch || !swiper.params.simulateTouch ? swiper.touchEventsTouch : swiper.touchEventsDesktop;\n }(),\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: now(),\n clickTimeout: undefined,\n // Velocities\n velocities: [],\n allowMomentumBounce: undefined,\n isTouchEvent: undefined,\n startMoving: undefined\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 }); // Install Modules\n\n swiper.useModules();\n swiper.emit('_swiper'); // Init\n\n if (swiper.params.init) {\n swiper.init();\n } // Return app instance\n\n\n return swiper;\n }\n\n var _proto = Swiper.prototype;\n\n _proto.enable = function enable() {\n var swiper = this;\n if (swiper.enabled) return;\n swiper.enabled = true;\n\n if (swiper.params.grabCursor) {\n swiper.setGrabCursor();\n }\n\n swiper.emit('enable');\n };\n\n _proto.disable = function disable() {\n var swiper = this;\n if (!swiper.enabled) return;\n swiper.enabled = false;\n\n if (swiper.params.grabCursor) {\n swiper.unsetGrabCursor();\n }\n\n swiper.emit('disable');\n };\n\n _proto.setProgress = function setProgress(progress, speed) {\n var swiper = this;\n progress = Math.min(Math.max(progress, 0), 1);\n var min = swiper.minTranslate();\n var max = swiper.maxTranslate();\n var current = (max - min) * progress + min;\n swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n };\n\n _proto.emitContainerClasses = function emitContainerClasses() {\n var swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n var classes = swiper.el.className.split(' ').filter(function (className) {\n return className.indexOf('swiper-container') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0;\n });\n swiper.emit('_containerClasses', classes.join(' '));\n };\n\n _proto.getSlideClasses = function getSlideClasses(slideEl) {\n var swiper = this;\n return slideEl.className.split(' ').filter(function (className) {\n return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0;\n }).join(' ');\n };\n\n _proto.emitSlidesClasses = function emitSlidesClasses() {\n var swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n var updates = [];\n swiper.slides.each(function (slideEl) {\n var classNames = swiper.getSlideClasses(slideEl);\n updates.push({\n slideEl: slideEl,\n classNames: classNames\n });\n swiper.emit('_slideClass', slideEl, classNames);\n });\n swiper.emit('_slideClasses', updates);\n };\n\n _proto.slidesPerViewDynamic = function slidesPerViewDynamic() {\n var swiper = this;\n var params = swiper.params,\n slides = swiper.slides,\n slidesGrid = swiper.slidesGrid,\n swiperSize = swiper.size,\n activeIndex = swiper.activeIndex;\n var spv = 1;\n\n if (params.centeredSlides) {\n var slideSize = slides[activeIndex].swiperSlideSize;\n var breakLoop;\n\n for (var i = activeIndex + 1; i < slides.length; i += 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n\n for (var _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 for (var _i2 = activeIndex + 1; _i2 < slides.length; _i2 += 1) {\n if (slidesGrid[_i2] - slidesGrid[activeIndex] < swiperSize) {\n spv += 1;\n }\n }\n }\n\n return spv;\n };\n\n _proto.update = function update() {\n var swiper = this;\n if (!swiper || swiper.destroyed) return;\n var snapGrid = swiper.snapGrid,\n params = swiper.params; // Breakpoints\n\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n\n function setTranslate() {\n var translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;\n var newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());\n swiper.setTranslate(newTranslate);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n var translated;\n\n if (swiper.params.freeMode) {\n setTranslate();\n\n if (swiper.params.autoHeight) {\n swiper.updateAutoHeight();\n }\n } else {\n if ((swiper.params.slidesPerView === 'auto' || swiper.params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) {\n translated = swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n translated = swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n\n if (!translated) {\n setTranslate();\n }\n }\n\n if (params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n\n swiper.emit('update');\n };\n\n _proto.changeDirection = function changeDirection(newDirection, needUpdate) {\n if (needUpdate === void 0) {\n needUpdate = true;\n }\n\n var swiper = this;\n var currentDirection = swiper.params.direction;\n\n if (!newDirection) {\n // eslint-disable-next-line\n newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';\n }\n\n if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') {\n return swiper;\n }\n\n swiper.$el.removeClass(\"\" + swiper.params.containerModifierClass + currentDirection).addClass(\"\" + swiper.params.containerModifierClass + newDirection);\n swiper.emitContainerClasses();\n swiper.params.direction = newDirection;\n swiper.slides.each(function (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\n _proto.mount = function mount(el) {\n var swiper = this;\n if (swiper.mounted) return true; // Find el\n\n var $el = $(el || swiper.params.el);\n el = $el[0];\n\n if (!el) {\n return false;\n }\n\n el.swiper = swiper;\n\n var getWrapperSelector = function getWrapperSelector() {\n return \".\" + (swiper.params.wrapperClass || '').trim().split(' ').join('.');\n };\n\n var getWrapper = function getWrapper() {\n if (el && el.shadowRoot && el.shadowRoot.querySelector) {\n var res = $(el.shadowRoot.querySelector(getWrapperSelector())); // Children needs to return slot items\n\n res.children = function (options) {\n return $el.children(options);\n };\n\n return res;\n }\n\n return $el.children(getWrapperSelector());\n }; // Find Wrapper\n\n\n var $wrapperEl = getWrapper();\n\n if ($wrapperEl.length === 0 && swiper.params.createElements) {\n var document = getDocument();\n var wrapper = document.createElement('div');\n $wrapperEl = $(wrapper);\n wrapper.className = swiper.params.wrapperClass;\n $el.append(wrapper);\n $el.children(\".\" + swiper.params.slideClass).each(function (slideEl) {\n $wrapperEl.append(slideEl);\n });\n }\n\n extend(swiper, {\n $el: $el,\n el: el,\n $wrapperEl: $wrapperEl,\n wrapperEl: $wrapperEl[0],\n mounted: true,\n // RTL\n rtl: el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl',\n rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'),\n wrongRTL: $wrapperEl.css('display') === '-webkit-box'\n });\n return true;\n };\n\n _proto.init = function init(el) {\n var swiper = this;\n if (swiper.initialized) return swiper;\n var mounted = swiper.mount(el);\n if (mounted === false) return swiper;\n swiper.emit('beforeInit'); // Set breakpoint\n\n if (swiper.params.breakpoints) {\n swiper.setBreakpoint();\n } // Add Classes\n\n\n swiper.addClasses(); // Create loop\n\n if (swiper.params.loop) {\n swiper.loopCreate();\n } // Update size\n\n\n swiper.updateSize(); // Update slides\n\n swiper.updateSlides();\n\n if (swiper.params.watchOverflow) {\n swiper.checkOverflow();\n } // Set Grab Cursor\n\n\n if (swiper.params.grabCursor && swiper.enabled) {\n swiper.setGrabCursor();\n }\n\n if (swiper.params.preloadImages) {\n swiper.preloadImages();\n } // Slide To Initial Slide\n\n\n if (swiper.params.loop) {\n swiper.slideTo(swiper.params.initialSlide + swiper.loopedSlides, 0, swiper.params.runCallbacksOnInit, false, true);\n } else {\n swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true);\n } // Attach events\n\n\n swiper.attachEvents(); // Init Flag\n\n swiper.initialized = true; // Emit\n\n swiper.emit('init');\n swiper.emit('afterInit');\n return swiper;\n };\n\n _proto.destroy = function destroy(deleteInstance, cleanStyles) {\n if (deleteInstance === void 0) {\n deleteInstance = true;\n }\n\n if (cleanStyles === void 0) {\n cleanStyles = true;\n }\n\n var swiper = this;\n var params = swiper.params,\n $el = swiper.$el,\n $wrapperEl = swiper.$wrapperEl,\n slides = swiper.slides;\n\n if (typeof swiper.params === 'undefined' || swiper.destroyed) {\n return null;\n }\n\n swiper.emit('beforeDestroy'); // Init Flag\n\n swiper.initialized = false; // Detach events\n\n swiper.detachEvents(); // Destroy loop\n\n if (params.loop) {\n swiper.loopDestroy();\n } // Cleanup styles\n\n\n if (cleanStyles) {\n swiper.removeClasses();\n $el.removeAttr('style');\n $wrapperEl.removeAttr('style');\n\n if (slides && slides.length) {\n slides.removeClass([params.slideVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass].join(' ')).removeAttr('style').removeAttr('data-swiper-slide-index');\n }\n }\n\n swiper.emit('destroy'); // Detach emitter events\n\n Object.keys(swiper.eventsListeners).forEach(function (eventName) {\n swiper.off(eventName);\n });\n\n if (deleteInstance !== false) {\n swiper.$el[0].swiper = null;\n deleteProps(swiper);\n }\n\n swiper.destroyed = true;\n return null;\n };\n\n Swiper.extendDefaults = function extendDefaults(newDefaults) {\n extend(extendedDefaults, newDefaults);\n };\n\n Swiper.installModule = function installModule(module) {\n if (!Swiper.prototype.modules) Swiper.prototype.modules = {};\n var name = module.name || Object.keys(Swiper.prototype.modules).length + \"_\" + now();\n Swiper.prototype.modules[name] = module;\n };\n\n Swiper.use = function use(module) {\n if (Array.isArray(module)) {\n module.forEach(function (m) {\n return Swiper.installModule(m);\n });\n return Swiper;\n }\n\n Swiper.installModule(module);\n return Swiper;\n };\n\n _createClass(Swiper, null, [{\n key: \"extendedDefaults\",\n get: function get() {\n return extendedDefaults;\n }\n }, {\n key: \"defaults\",\n get: function get() {\n return defaults;\n }\n }]);\n\n return Swiper;\n}();\n\nObject.keys(prototypes).forEach(function (prototypeGroup) {\n Object.keys(prototypes[prototypeGroup]).forEach(function (protoMethod) {\n Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];\n });\n});\nSwiper.use([Resize, Observer]);\nexport default Swiper;","import { extend } from '../../utils/utils';\nexport default {\n useParams: function useParams(instanceParams) {\n var instance = this;\n if (!instance.modules) return;\n Object.keys(instance.modules).forEach(function (moduleName) {\n var module = instance.modules[moduleName]; // Extend params\n\n if (module.params) {\n extend(instanceParams, module.params);\n }\n });\n },\n useModules: function useModules(modulesParams) {\n if (modulesParams === void 0) {\n modulesParams = {};\n }\n\n var instance = this;\n if (!instance.modules) return;\n Object.keys(instance.modules).forEach(function (moduleName) {\n var module = instance.modules[moduleName];\n var moduleParams = modulesParams[moduleName] || {}; // Add event listeners\n\n if (module.on && instance.on) {\n Object.keys(module.on).forEach(function (moduleEventName) {\n instance.on(moduleEventName, module.on[moduleEventName]);\n });\n } // Module create callback\n\n\n if (module.create) {\n module.create.bind(instance)(moduleParams);\n }\n });\n }\n};","import getTranslate from './getTranslate';\nimport setTranslate from './setTranslate';\nimport minTranslate from './minTranslate';\nimport maxTranslate from './maxTranslate';\nimport translateTo from './translateTo';\nexport default {\n getTranslate: getTranslate,\n setTranslate: setTranslate,\n minTranslate: minTranslate,\n maxTranslate: maxTranslate,\n translateTo: translateTo\n};","import { getTranslate } from '../../../utils/utils';\nexport default function getSwiperTranslate(axis) {\n if (axis === void 0) {\n axis = this.isHorizontal() ? 'x' : 'y';\n }\n\n var swiper = this;\n var params = swiper.params,\n rtl = swiper.rtlTranslate,\n translate = swiper.translate,\n $wrapperEl = swiper.$wrapperEl;\n\n if (params.virtualTranslate) {\n return rtl ? -translate : translate;\n }\n\n if (params.cssMode) {\n return translate;\n }\n\n var currentTranslate = getTranslate($wrapperEl[0], axis);\n if (rtl) currentTranslate = -currentTranslate;\n return currentTranslate || 0;\n}","export default function setTranslate(translate, byController) {\n var swiper = this;\n var rtl = swiper.rtlTranslate,\n params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n wrapperEl = swiper.wrapperEl,\n progress = swiper.progress;\n var x = 0;\n var y = 0;\n var z = 0;\n\n if (swiper.isHorizontal()) {\n x = rtl ? -translate : translate;\n } else {\n y = translate;\n }\n\n if (params.roundLengths) {\n x = Math.floor(x);\n y = Math.floor(y);\n }\n\n if (params.cssMode) {\n wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y;\n } else if (!params.virtualTranslate) {\n $wrapperEl.transform(\"translate3d(\" + x + \"px, \" + y + \"px, \" + z + \"px)\");\n }\n\n swiper.previousTranslate = swiper.translate;\n swiper.translate = swiper.isHorizontal() ? x : y; // Check if we need to update progress\n\n var newProgress;\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (translate - swiper.minTranslate()) / translatesDiff;\n }\n\n if (newProgress !== progress) {\n swiper.updateProgress(translate);\n }\n\n swiper.emit('setTranslate', swiper.translate, byController);\n}","export default function minTranslate() {\n return -this.snapGrid[0];\n}","export default function maxTranslate() {\n return -this.snapGrid[this.snapGrid.length - 1];\n}","export default function translateTo(translate, speed, runCallbacks, translateBounds, internal) {\n if (translate === void 0) {\n translate = 0;\n }\n\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n if (translateBounds === void 0) {\n translateBounds = true;\n }\n\n var swiper = this;\n var params = swiper.params,\n wrapperEl = swiper.wrapperEl;\n\n if (swiper.animating && params.preventInteractionOnTransition) {\n return false;\n }\n\n var minTranslate = swiper.minTranslate();\n var maxTranslate = swiper.maxTranslate();\n var newTranslate;\n if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate; // Update progress\n\n swiper.updateProgress(newTranslate);\n\n if (params.cssMode) {\n var isH = swiper.isHorizontal();\n\n if (speed === 0) {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\n } else {\n // eslint-disable-next-line\n if (wrapperEl.scrollTo) {\n var _wrapperEl$scrollTo;\n\n wrapperEl.scrollTo((_wrapperEl$scrollTo = {}, _wrapperEl$scrollTo[isH ? 'left' : 'top'] = -newTranslate, _wrapperEl$scrollTo.behavior = 'smooth', _wrapperEl$scrollTo));\n } else {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\n }\n }\n\n return true;\n }\n\n if (speed === 0) {\n swiper.setTransition(0);\n swiper.setTranslate(newTranslate);\n\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\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionStart');\n }\n\n if (!swiper.animating) {\n swiper.animating = true;\n\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[0].removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);\n swiper.onTranslateToWrapperTransitionEnd = null;\n delete swiper.onTranslateToWrapperTransitionEnd;\n\n if (runCallbacks) {\n swiper.emit('transitionEnd');\n }\n };\n }\n\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);\n }\n }\n\n return true;\n}","import setTransition from './setTransition';\nimport transitionStart from './transitionStart';\nimport transitionEnd from './transitionEnd';\nexport default {\n setTransition: setTransition,\n transitionStart: transitionStart,\n transitionEnd: transitionEnd\n};","export default function setTransition(duration, byController) {\n var swiper = this;\n\n if (!swiper.params.cssMode) {\n swiper.$wrapperEl.transition(duration);\n }\n\n swiper.emit('setTransition', duration, byController);\n}","export default function transitionStart(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var activeIndex = swiper.activeIndex,\n params = swiper.params,\n previousIndex = swiper.previousIndex;\n if (params.cssMode) return;\n\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n\n var dir = direction;\n\n if (!dir) {\n if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\n }\n\n swiper.emit('transitionStart');\n\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit('slideResetTransitionStart');\n return;\n }\n\n swiper.emit('slideChangeTransitionStart');\n\n if (dir === 'next') {\n swiper.emit('slideNextTransitionStart');\n } else {\n swiper.emit('slidePrevTransitionStart');\n }\n }\n}","export default function transitionEnd(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var activeIndex = swiper.activeIndex,\n previousIndex = swiper.previousIndex,\n params = swiper.params;\n swiper.animating = false;\n if (params.cssMode) return;\n swiper.setTransition(0);\n var dir = direction;\n\n if (!dir) {\n if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\n }\n\n swiper.emit('transitionEnd');\n\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit('slideResetTransitionEnd');\n return;\n }\n\n swiper.emit('slideChangeTransitionEnd');\n\n if (dir === 'next') {\n swiper.emit('slideNextTransitionEnd');\n } else {\n swiper.emit('slidePrevTransitionEnd');\n }\n }\n}","import setGrabCursor from './setGrabCursor';\nimport unsetGrabCursor from './unsetGrabCursor';\nexport default {\n setGrabCursor: setGrabCursor,\n unsetGrabCursor: unsetGrabCursor\n};","export default function setGrabCursor(moving) {\n var swiper = this;\n if (swiper.support.touch || !swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;\n var el = swiper.el;\n el.style.cursor = 'move';\n el.style.cursor = moving ? '-webkit-grabbing' : '-webkit-grab';\n el.style.cursor = moving ? '-moz-grabbin' : '-moz-grab';\n el.style.cursor = moving ? 'grabbing' : 'grab';\n}","export default function unsetGrabCursor() {\n var swiper = this;\n\n if (swiper.support.touch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) {\n return;\n }\n\n swiper.el.style.cursor = '';\n}","import appendSlide from './appendSlide';\nimport prependSlide from './prependSlide';\nimport addSlide from './addSlide';\nimport removeSlide from './removeSlide';\nimport removeAllSlides from './removeAllSlides';\nexport default {\n appendSlide: appendSlide,\n prependSlide: prependSlide,\n addSlide: addSlide,\n removeSlide: removeSlide,\n removeAllSlides: removeAllSlides\n};","export default function appendSlide(slides) {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n params = swiper.params;\n\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n if (typeof slides === 'object' && 'length' in slides) {\n for (var i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.append(slides[i]);\n }\n } else {\n $wrapperEl.append(slides);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && swiper.support.observer)) {\n swiper.update();\n }\n}","export default function prependSlide(slides) {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n activeIndex = swiper.activeIndex;\n\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n var newActiveIndex = activeIndex + 1;\n\n if (typeof slides === 'object' && 'length' in slides) {\n for (var i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.prepend(slides[i]);\n }\n\n newActiveIndex = activeIndex + slides.length;\n } else {\n $wrapperEl.prepend(slides);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && swiper.support.observer)) {\n swiper.update();\n }\n\n swiper.slideTo(newActiveIndex, 0, false);\n}","export default function addSlide(index, slides) {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n params = swiper.params,\n activeIndex = swiper.activeIndex;\n var activeIndexBuffer = activeIndex;\n\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n swiper.slides = $wrapperEl.children(\".\" + params.slideClass);\n }\n\n var baseLength = swiper.slides.length;\n\n if (index <= 0) {\n swiper.prependSlide(slides);\n return;\n }\n\n if (index >= baseLength) {\n swiper.appendSlide(slides);\n return;\n }\n\n var newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer;\n var slidesBuffer = [];\n\n for (var i = baseLength - 1; i >= index; i -= 1) {\n var currentSlide = swiper.slides.eq(i);\n currentSlide.remove();\n slidesBuffer.unshift(currentSlide);\n }\n\n if (typeof slides === 'object' && 'length' in slides) {\n for (var _i = 0; _i < slides.length; _i += 1) {\n if (slides[_i]) $wrapperEl.append(slides[_i]);\n }\n\n newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer;\n } else {\n $wrapperEl.append(slides);\n }\n\n for (var _i2 = 0; _i2 < slidesBuffer.length; _i2 += 1) {\n $wrapperEl.append(slidesBuffer[_i2]);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && swiper.support.observer)) {\n swiper.update();\n }\n\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n}","export default function removeSlide(slidesIndexes) {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n activeIndex = swiper.activeIndex;\n var activeIndexBuffer = activeIndex;\n\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n swiper.slides = $wrapperEl.children(\".\" + params.slideClass);\n }\n\n var newActiveIndex = activeIndexBuffer;\n var indexToRemove;\n\n if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) {\n for (var i = 0; i < slidesIndexes.length; i += 1) {\n indexToRemove = slidesIndexes[i];\n if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n }\n\n newActiveIndex = Math.max(newActiveIndex, 0);\n } else {\n indexToRemove = slidesIndexes;\n if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n newActiveIndex = Math.max(newActiveIndex, 0);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && swiper.support.observer)) {\n swiper.update();\n }\n\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n}","export default function removeAllSlides() {\n var swiper = this;\n var slidesIndexes = [];\n\n for (var i = 0; i < swiper.slides.length; i += 1) {\n slidesIndexes.push(i);\n }\n\n swiper.removeSlide(slidesIndexes);\n}","import setBreakpoint from './setBreakpoint';\nimport getBreakpoint from './getBreakpoint';\nexport default {\n setBreakpoint: setBreakpoint,\n getBreakpoint: getBreakpoint\n};","import { extend } from '../../../utils/utils';\nexport default function setBreakpoint() {\n var swiper = this;\n var activeIndex = swiper.activeIndex,\n initialized = swiper.initialized,\n _swiper$loopedSlides = swiper.loopedSlides,\n loopedSlides = _swiper$loopedSlides === void 0 ? 0 : _swiper$loopedSlides,\n params = swiper.params,\n $el = swiper.$el;\n var breakpoints = params.breakpoints;\n if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return; // Get breakpoint for window width and update parameters\n\n var breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el);\n if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;\n var breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;\n\n if (breakpointOnlyParams) {\n ['slidesPerView', 'spaceBetween', 'slidesPerGroup', 'slidesPerGroupSkip', 'slidesPerColumn'].forEach(function (param) {\n var paramValue = breakpointOnlyParams[param];\n if (typeof paramValue === 'undefined') return;\n\n if (param === 'slidesPerView' && (paramValue === 'AUTO' || paramValue === 'auto')) {\n breakpointOnlyParams[param] = 'auto';\n } else if (param === 'slidesPerView') {\n breakpointOnlyParams[param] = parseFloat(paramValue);\n } else {\n breakpointOnlyParams[param] = parseInt(paramValue, 10);\n }\n });\n }\n\n var breakpointParams = breakpointOnlyParams || swiper.originalParams;\n var wasMultiRow = params.slidesPerColumn > 1;\n var isMultiRow = breakpointParams.slidesPerColumn > 1;\n var wasEnabled = params.enabled;\n\n if (wasMultiRow && !isMultiRow) {\n $el.removeClass(params.containerModifierClass + \"multirow \" + params.containerModifierClass + \"multirow-column\");\n swiper.emitContainerClasses();\n } else if (!wasMultiRow && isMultiRow) {\n $el.addClass(params.containerModifierClass + \"multirow\");\n\n if (breakpointParams.slidesPerColumnFill && breakpointParams.slidesPerColumnFill === 'column' || !breakpointParams.slidesPerColumnFill && params.slidesPerColumnFill === 'column') {\n $el.addClass(params.containerModifierClass + \"multirow-column\");\n }\n\n swiper.emitContainerClasses();\n }\n\n var directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;\n var needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);\n\n if (directionChanged && initialized) {\n swiper.changeDirection();\n }\n\n extend(swiper.params, breakpointParams);\n var isEnabled = swiper.params.enabled;\n extend(swiper, {\n allowTouchMove: swiper.params.allowTouchMove,\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev\n });\n\n if (wasEnabled && !isEnabled) {\n swiper.disable();\n } else if (!wasEnabled && isEnabled) {\n swiper.enable();\n }\n\n swiper.currentBreakpoint = breakpoint;\n swiper.emit('_beforeBreakpoint', breakpointParams);\n\n if (needsReLoop && initialized) {\n swiper.loopDestroy();\n swiper.loopCreate();\n swiper.updateSlides();\n swiper.slideTo(activeIndex - loopedSlides + swiper.loopedSlides, 0, false);\n }\n\n swiper.emit('breakpoint', breakpointParams);\n}","import { getWindow } from 'ssr-window';\nexport default function getBreakpoint(breakpoints, base, containerEl) {\n if (base === void 0) {\n base = 'window';\n }\n\n if (!breakpoints || base === 'container' && !containerEl) return undefined;\n var breakpoint = false;\n var window = getWindow();\n var currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight;\n var points = Object.keys(breakpoints).map(function (point) {\n if (typeof point === 'string' && point.indexOf('@') === 0) {\n var minRatio = parseFloat(point.substr(1));\n var value = currentHeight * minRatio;\n return {\n value: value,\n point: point\n };\n }\n\n return {\n value: point,\n point: point\n };\n });\n points.sort(function (a, b) {\n return parseInt(a.value, 10) - parseInt(b.value, 10);\n });\n\n for (var i = 0; i < points.length; i += 1) {\n var _points$i = points[i],\n point = _points$i.point,\n value = _points$i.value;\n\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\n return breakpoint || 'max';\n}","function checkOverflow() {\n var swiper = this;\n var params = swiper.params;\n var wasLocked = swiper.isLocked;\n var lastSlidePosition = swiper.slides.length > 0 && params.slidesOffsetBefore + params.spaceBetween * (swiper.slides.length - 1) + swiper.slides[0].offsetWidth * swiper.slides.length;\n\n if (params.slidesOffsetBefore && params.slidesOffsetAfter && lastSlidePosition) {\n swiper.isLocked = lastSlidePosition <= swiper.size;\n } else {\n swiper.isLocked = swiper.snapGrid.length === 1;\n }\n\n swiper.allowSlideNext = !swiper.isLocked;\n swiper.allowSlidePrev = !swiper.isLocked; // events\n\n if (wasLocked !== swiper.isLocked) swiper.emit(swiper.isLocked ? 'lock' : 'unlock');\n\n if (wasLocked && wasLocked !== swiper.isLocked) {\n swiper.isEnd = false;\n if (swiper.navigation) swiper.navigation.update();\n }\n}\n\nexport default {\n checkOverflow: checkOverflow\n};","import loadImage from './loadImage';\nimport preloadImages from './preloadImages';\nexport default {\n loadImage: loadImage,\n preloadImages: preloadImages\n};","import { getWindow } from 'ssr-window';\nimport $ from '../../../utils/dom';\nexport default function loadImage(imageEl, src, srcset, sizes, checkForComplete, callback) {\n var window = getWindow();\n var image;\n\n function onReady() {\n if (callback) callback();\n }\n\n var isPicture = $(imageEl).parent('picture')[0];\n\n if (!isPicture && (!imageEl.complete || !checkForComplete)) {\n if (src) {\n image = new window.Image();\n image.onload = onReady;\n image.onerror = onReady;\n\n if (sizes) {\n image.sizes = sizes;\n }\n\n if (srcset) {\n image.srcset = srcset;\n }\n\n if (src) {\n image.src = src;\n }\n } else {\n onReady();\n }\n } else {\n // image already loaded...\n onReady();\n }\n}","export default function preloadImages() {\n var swiper = this;\n swiper.imagesToLoad = swiper.$el.find('img');\n\n function onReady() {\n if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper.destroyed) return;\n if (swiper.imagesLoaded !== undefined) swiper.imagesLoaded += 1;\n\n if (swiper.imagesLoaded === swiper.imagesToLoad.length) {\n if (swiper.params.updateOnImagesReady) swiper.update();\n swiper.emit('imagesReady');\n }\n }\n\n for (var i = 0; i < swiper.imagesToLoad.length; i += 1) {\n var imageEl = swiper.imagesToLoad[i];\n swiper.loadImage(imageEl, imageEl.currentSrc || imageEl.getAttribute('src'), imageEl.srcset || imageEl.getAttribute('srcset'), imageEl.sizes || imageEl.getAttribute('sizes'), true, onReady);\n }\n}","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport { extend, bindModuleMethods } from '../../utils/utils';\nvar Fade = {\n setTranslate: function setTranslate() {\n var swiper = this;\n var slides = swiper.slides;\n\n for (var i = 0; i < slides.length; i += 1) {\n var $slideEl = swiper.slides.eq(i);\n var offset = $slideEl[0].swiperSlideOffset;\n var tx = -offset;\n if (!swiper.params.virtualTranslate) tx -= swiper.translate;\n var ty = 0;\n\n if (!swiper.isHorizontal()) {\n ty = tx;\n tx = 0;\n }\n\n var slideOpacity = swiper.params.fadeEffect.crossFade ? Math.max(1 - Math.abs($slideEl[0].progress), 0) : 1 + Math.min(Math.max($slideEl[0].progress, -1), 0);\n $slideEl.css({\n opacity: slideOpacity\n }).transform(\"translate3d(\" + tx + \"px, \" + ty + \"px, 0px)\");\n }\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n var slides = swiper.slides,\n $wrapperEl = swiper.$wrapperEl;\n slides.transition(duration);\n\n if (swiper.params.virtualTranslate && duration !== 0) {\n var eventTriggered = false;\n slides.transitionEnd(function () {\n if (eventTriggered) return;\n if (!swiper || swiper.destroyed) return;\n eventTriggered = true;\n swiper.animating = false;\n var triggerEvents = ['webkitTransitionEnd', 'transitionend'];\n\n for (var i = 0; i < triggerEvents.length; i += 1) {\n $wrapperEl.trigger(triggerEvents[i]);\n }\n });\n }\n }\n};\nexport default {\n name: 'effect-fade',\n params: {\n fadeEffect: {\n crossFade: false\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n fadeEffect: _extends({}, Fade)\n });\n },\n on: {\n beforeInit: function beforeInit(swiper) {\n if (swiper.params.effect !== 'fade') return;\n swiper.classNames.push(swiper.params.containerModifierClass + \"fade\");\n var overwriteParams = {\n slidesPerView: 1,\n slidesPerColumn: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n spaceBetween: 0,\n virtualTranslate: true\n };\n extend(swiper.params, overwriteParams);\n extend(swiper.originalParams, overwriteParams);\n },\n setTranslate: function setTranslate(swiper) {\n if (swiper.params.effect !== 'fade') return;\n swiper.fadeEffect.setTranslate();\n },\n setTransition: function setTransition(swiper, duration) {\n if (swiper.params.effect !== 'fade') return;\n swiper.fadeEffect.setTransition(duration);\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\n/* eslint-disable consistent-return */\nimport { getWindow, getDocument } from 'ssr-window';\nimport $ from '../../utils/dom';\nimport { bindModuleMethods } from '../../utils/utils';\nvar Keyboard = {\n handle: function handle(event) {\n var swiper = this;\n if (!swiper.enabled) return;\n var window = getWindow();\n var document = getDocument();\n var rtl = swiper.rtlTranslate;\n var e = event;\n if (e.originalEvent) e = e.originalEvent; // jquery fix\n\n var kc = e.keyCode || e.charCode;\n var pageUpDown = swiper.params.keyboard.pageUpDown;\n var isPageUp = pageUpDown && kc === 33;\n var isPageDown = pageUpDown && kc === 34;\n var isArrowLeft = kc === 37;\n var isArrowRight = kc === 39;\n var isArrowUp = kc === 38;\n var isArrowDown = kc === 40; // Directions locks\n\n if (!swiper.allowSlideNext && (swiper.isHorizontal() && isArrowRight || swiper.isVertical() && isArrowDown || isPageDown)) {\n return false;\n }\n\n if (!swiper.allowSlidePrev && (swiper.isHorizontal() && isArrowLeft || swiper.isVertical() && isArrowUp || isPageUp)) {\n return false;\n }\n\n if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) {\n return undefined;\n }\n\n if (document.activeElement && document.activeElement.nodeName && (document.activeElement.nodeName.toLowerCase() === 'input' || document.activeElement.nodeName.toLowerCase() === 'textarea')) {\n return undefined;\n }\n\n if (swiper.params.keyboard.onlyInViewport && (isPageUp || isPageDown || isArrowLeft || isArrowRight || isArrowUp || isArrowDown)) {\n var inView = false; // Check that swiper should be inside of visible area of window\n\n if (swiper.$el.parents(\".\" + swiper.params.slideClass).length > 0 && swiper.$el.parents(\".\" + swiper.params.slideActiveClass).length === 0) {\n return undefined;\n }\n\n var $el = swiper.$el;\n var swiperWidth = $el[0].clientWidth;\n var swiperHeight = $el[0].clientHeight;\n var windowWidth = window.innerWidth;\n var windowHeight = window.innerHeight;\n var swiperOffset = swiper.$el.offset();\n if (rtl) swiperOffset.left -= swiper.$el[0].scrollLeft;\n var swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiperWidth, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiperHeight], [swiperOffset.left + swiperWidth, swiperOffset.top + swiperHeight]];\n\n for (var i = 0; i < swiperCoord.length; i += 1) {\n var point = swiperCoord[i];\n\n if (point[0] >= 0 && point[0] <= windowWidth && point[1] >= 0 && point[1] <= windowHeight) {\n if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line\n\n inView = true;\n }\n }\n\n if (!inView) return undefined;\n }\n\n if (swiper.isHorizontal()) {\n if (isPageUp || isPageDown || isArrowLeft || isArrowRight) {\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n }\n\n if ((isPageDown || isArrowRight) && !rtl || (isPageUp || isArrowLeft) && rtl) swiper.slideNext();\n if ((isPageUp || isArrowLeft) && !rtl || (isPageDown || isArrowRight) && rtl) swiper.slidePrev();\n } else {\n if (isPageUp || isPageDown || isArrowUp || isArrowDown) {\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n }\n\n if (isPageDown || isArrowDown) swiper.slideNext();\n if (isPageUp || isArrowUp) swiper.slidePrev();\n }\n\n swiper.emit('keyPress', kc);\n return undefined;\n },\n enable: function enable() {\n var swiper = this;\n var document = getDocument();\n if (swiper.keyboard.enabled) return;\n $(document).on('keydown', swiper.keyboard.handle);\n swiper.keyboard.enabled = true;\n },\n disable: function disable() {\n var swiper = this;\n var document = getDocument();\n if (!swiper.keyboard.enabled) return;\n $(document).off('keydown', swiper.keyboard.handle);\n swiper.keyboard.enabled = false;\n }\n};\nexport default {\n name: 'keyboard',\n params: {\n keyboard: {\n enabled: false,\n onlyInViewport: true,\n pageUpDown: true\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n keyboard: _extends({\n enabled: false\n }, Keyboard)\n });\n },\n on: {\n init: function init(swiper) {\n if (swiper.params.keyboard.enabled) {\n swiper.keyboard.enable();\n }\n },\n destroy: function destroy(swiper) {\n if (swiper.keyboard.enabled) {\n swiper.keyboard.disable();\n }\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport $ from '../../utils/dom';\nimport { extend, bindModuleMethods, createElementIfNotDefined } from '../../utils/utils';\nvar Navigation = {\n toggleEl: function toggleEl($el, disabled) {\n $el[disabled ? 'addClass' : 'removeClass'](this.params.navigation.disabledClass);\n if ($el[0] && $el[0].tagName === 'BUTTON') $el[0].disabled = disabled;\n },\n update: function update() {\n // Update Navigation Buttons\n var swiper = this;\n var params = swiper.params.navigation;\n var toggleEl = swiper.navigation.toggleEl;\n if (swiper.params.loop) return;\n var _swiper$navigation = swiper.navigation,\n $nextEl = _swiper$navigation.$nextEl,\n $prevEl = _swiper$navigation.$prevEl;\n\n if ($prevEl && $prevEl.length > 0) {\n if (swiper.isBeginning) {\n toggleEl($prevEl, true);\n } else {\n toggleEl($prevEl, false);\n }\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n $prevEl[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n }\n\n if ($nextEl && $nextEl.length > 0) {\n if (swiper.isEnd) {\n toggleEl($nextEl, true);\n } else {\n toggleEl($nextEl, false);\n }\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n $nextEl[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n }\n },\n onPrevClick: function onPrevClick(e) {\n var swiper = this;\n e.preventDefault();\n if (swiper.isBeginning && !swiper.params.loop) return;\n swiper.slidePrev();\n },\n onNextClick: function onNextClick(e) {\n var swiper = this;\n e.preventDefault();\n if (swiper.isEnd && !swiper.params.loop) return;\n swiper.slideNext();\n },\n init: function init() {\n var swiper = this;\n var params = swiper.params.navigation;\n swiper.params.navigation = createElementIfNotDefined(swiper.$el, swiper.params.navigation, swiper.params.createElements, {\n nextEl: 'swiper-button-next',\n prevEl: 'swiper-button-prev'\n });\n if (!(params.nextEl || params.prevEl)) return;\n var $nextEl;\n var $prevEl;\n\n if (params.nextEl) {\n $nextEl = $(params.nextEl);\n\n if (swiper.params.uniqueNavElements && typeof params.nextEl === 'string' && $nextEl.length > 1 && swiper.$el.find(params.nextEl).length === 1) {\n $nextEl = swiper.$el.find(params.nextEl);\n }\n }\n\n if (params.prevEl) {\n $prevEl = $(params.prevEl);\n\n if (swiper.params.uniqueNavElements && typeof params.prevEl === 'string' && $prevEl.length > 1 && swiper.$el.find(params.prevEl).length === 1) {\n $prevEl = swiper.$el.find(params.prevEl);\n }\n }\n\n if ($nextEl && $nextEl.length > 0) {\n $nextEl.on('click', swiper.navigation.onNextClick);\n }\n\n if ($prevEl && $prevEl.length > 0) {\n $prevEl.on('click', swiper.navigation.onPrevClick);\n }\n\n extend(swiper.navigation, {\n $nextEl: $nextEl,\n nextEl: $nextEl && $nextEl[0],\n $prevEl: $prevEl,\n prevEl: $prevEl && $prevEl[0]\n });\n\n if (!swiper.enabled) {\n if ($nextEl) $nextEl.addClass(params.lockClass);\n if ($prevEl) $prevEl.addClass(params.lockClass);\n }\n },\n destroy: function destroy() {\n var swiper = this;\n var _swiper$navigation2 = swiper.navigation,\n $nextEl = _swiper$navigation2.$nextEl,\n $prevEl = _swiper$navigation2.$prevEl;\n\n if ($nextEl && $nextEl.length) {\n $nextEl.off('click', swiper.navigation.onNextClick);\n $nextEl.removeClass(swiper.params.navigation.disabledClass);\n }\n\n if ($prevEl && $prevEl.length) {\n $prevEl.off('click', swiper.navigation.onPrevClick);\n $prevEl.removeClass(swiper.params.navigation.disabledClass);\n }\n }\n};\nexport default {\n name: 'navigation',\n params: {\n navigation: {\n nextEl: null,\n prevEl: null,\n hideOnClick: false,\n disabledClass: 'swiper-button-disabled',\n hiddenClass: 'swiper-button-hidden',\n lockClass: 'swiper-button-lock'\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n navigation: _extends({}, Navigation)\n });\n },\n on: {\n init: function init(swiper) {\n swiper.navigation.init();\n swiper.navigation.update();\n },\n toEdge: function toEdge(swiper) {\n swiper.navigation.update();\n },\n fromEdge: function fromEdge(swiper) {\n swiper.navigation.update();\n },\n destroy: function destroy(swiper) {\n swiper.navigation.destroy();\n },\n 'enable disable': function enableDisable(swiper) {\n var _swiper$navigation3 = swiper.navigation,\n $nextEl = _swiper$navigation3.$nextEl,\n $prevEl = _swiper$navigation3.$prevEl;\n\n if ($nextEl) {\n $nextEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass);\n }\n\n if ($prevEl) {\n $prevEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass);\n }\n },\n click: function click(swiper, e) {\n var _swiper$navigation4 = swiper.navigation,\n $nextEl = _swiper$navigation4.$nextEl,\n $prevEl = _swiper$navigation4.$prevEl;\n var targetEl = e.target;\n\n if (swiper.params.navigation.hideOnClick && !$(targetEl).is($prevEl) && !$(targetEl).is($nextEl)) {\n if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return;\n var isHidden;\n\n if ($nextEl) {\n isHidden = $nextEl.hasClass(swiper.params.navigation.hiddenClass);\n } else if ($prevEl) {\n isHidden = $prevEl.hasClass(swiper.params.navigation.hiddenClass);\n }\n\n if (isHidden === true) {\n swiper.emit('navigationShow');\n } else {\n swiper.emit('navigationHide');\n }\n\n if ($nextEl) {\n $nextEl.toggleClass(swiper.params.navigation.hiddenClass);\n }\n\n if ($prevEl) {\n $prevEl.toggleClass(swiper.params.navigation.hiddenClass);\n }\n }\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport $ from '../../utils/dom';\nimport { extend, bindModuleMethods, classesToSelector, createElementIfNotDefined } from '../../utils/utils';\nvar Pagination = {\n update: function update() {\n // Render || Update Pagination bullets/items\n var swiper = this;\n var rtl = swiper.rtl;\n var params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n var $el = swiper.pagination.$el; // Current/Total\n\n var current;\n var total = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n\n if (swiper.params.loop) {\n current = Math.ceil((swiper.activeIndex - swiper.loopedSlides) / swiper.params.slidesPerGroup);\n\n if (current > slidesLength - 1 - swiper.loopedSlides * 2) {\n current -= slidesLength - swiper.loopedSlides * 2;\n }\n\n if (current > total - 1) current -= total;\n if (current < 0 && swiper.params.paginationType !== 'bullets') current = total + current;\n } else if (typeof swiper.snapIndex !== 'undefined') {\n current = swiper.snapIndex;\n } else {\n current = swiper.activeIndex || 0;\n } // Types\n\n\n if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {\n var bullets = swiper.pagination.bullets;\n var firstIndex;\n var lastIndex;\n var midIndex;\n\n if (params.dynamicBullets) {\n swiper.pagination.bulletSize = bullets.eq(0)[swiper.isHorizontal() ? 'outerWidth' : 'outerHeight'](true);\n $el.css(swiper.isHorizontal() ? 'width' : 'height', swiper.pagination.bulletSize * (params.dynamicMainBullets + 4) + \"px\");\n\n if (params.dynamicMainBullets > 1 && swiper.previousIndex !== undefined) {\n swiper.pagination.dynamicBulletIndex += current - swiper.previousIndex;\n\n if (swiper.pagination.dynamicBulletIndex > params.dynamicMainBullets - 1) {\n swiper.pagination.dynamicBulletIndex = params.dynamicMainBullets - 1;\n } else if (swiper.pagination.dynamicBulletIndex < 0) {\n swiper.pagination.dynamicBulletIndex = 0;\n }\n }\n\n firstIndex = current - swiper.pagination.dynamicBulletIndex;\n lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);\n midIndex = (lastIndex + firstIndex) / 2;\n }\n\n bullets.removeClass(params.bulletActiveClass + \" \" + params.bulletActiveClass + \"-next \" + params.bulletActiveClass + \"-next-next \" + params.bulletActiveClass + \"-prev \" + params.bulletActiveClass + \"-prev-prev \" + params.bulletActiveClass + \"-main\");\n\n if ($el.length > 1) {\n bullets.each(function (bullet) {\n var $bullet = $(bullet);\n var bulletIndex = $bullet.index();\n\n if (bulletIndex === current) {\n $bullet.addClass(params.bulletActiveClass);\n }\n\n if (params.dynamicBullets) {\n if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {\n $bullet.addClass(params.bulletActiveClass + \"-main\");\n }\n\n if (bulletIndex === firstIndex) {\n $bullet.prev().addClass(params.bulletActiveClass + \"-prev\").prev().addClass(params.bulletActiveClass + \"-prev-prev\");\n }\n\n if (bulletIndex === lastIndex) {\n $bullet.next().addClass(params.bulletActiveClass + \"-next\").next().addClass(params.bulletActiveClass + \"-next-next\");\n }\n }\n });\n } else {\n var $bullet = bullets.eq(current);\n var bulletIndex = $bullet.index();\n $bullet.addClass(params.bulletActiveClass);\n\n if (params.dynamicBullets) {\n var $firstDisplayedBullet = bullets.eq(firstIndex);\n var $lastDisplayedBullet = bullets.eq(lastIndex);\n\n for (var i = firstIndex; i <= lastIndex; i += 1) {\n bullets.eq(i).addClass(params.bulletActiveClass + \"-main\");\n }\n\n if (swiper.params.loop) {\n if (bulletIndex >= bullets.length - params.dynamicMainBullets) {\n for (var _i = params.dynamicMainBullets; _i >= 0; _i -= 1) {\n bullets.eq(bullets.length - _i).addClass(params.bulletActiveClass + \"-main\");\n }\n\n bullets.eq(bullets.length - params.dynamicMainBullets - 1).addClass(params.bulletActiveClass + \"-prev\");\n } else {\n $firstDisplayedBullet.prev().addClass(params.bulletActiveClass + \"-prev\").prev().addClass(params.bulletActiveClass + \"-prev-prev\");\n $lastDisplayedBullet.next().addClass(params.bulletActiveClass + \"-next\").next().addClass(params.bulletActiveClass + \"-next-next\");\n }\n } else {\n $firstDisplayedBullet.prev().addClass(params.bulletActiveClass + \"-prev\").prev().addClass(params.bulletActiveClass + \"-prev-prev\");\n $lastDisplayedBullet.next().addClass(params.bulletActiveClass + \"-next\").next().addClass(params.bulletActiveClass + \"-next-next\");\n }\n }\n }\n\n if (params.dynamicBullets) {\n var dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);\n var bulletsOffset = (swiper.pagination.bulletSize * dynamicBulletsLength - swiper.pagination.bulletSize) / 2 - midIndex * swiper.pagination.bulletSize;\n var offsetProp = rtl ? 'right' : 'left';\n bullets.css(swiper.isHorizontal() ? offsetProp : 'top', bulletsOffset + \"px\");\n }\n }\n\n if (params.type === 'fraction') {\n $el.find(classesToSelector(params.currentClass)).text(params.formatFractionCurrent(current + 1));\n $el.find(classesToSelector(params.totalClass)).text(params.formatFractionTotal(total));\n }\n\n if (params.type === 'progressbar') {\n var progressbarDirection;\n\n if (params.progressbarOpposite) {\n progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';\n } else {\n progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';\n }\n\n var scale = (current + 1) / total;\n var scaleX = 1;\n var scaleY = 1;\n\n if (progressbarDirection === 'horizontal') {\n scaleX = scale;\n } else {\n scaleY = scale;\n }\n\n $el.find(classesToSelector(params.progressbarFillClass)).transform(\"translate3d(0,0,0) scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\").transition(swiper.params.speed);\n }\n\n if (params.type === 'custom' && params.renderCustom) {\n $el.html(params.renderCustom(swiper, current + 1, total));\n swiper.emit('paginationRender', $el[0]);\n } else {\n swiper.emit('paginationUpdate', $el[0]);\n }\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n $el[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n },\n render: function render() {\n // Render Container\n var swiper = this;\n var params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n var $el = swiper.pagination.$el;\n var paginationHTML = '';\n\n if (params.type === 'bullets') {\n var numberOfBullets = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n\n if (swiper.params.freeMode && !swiper.params.loop && numberOfBullets > slidesLength) {\n numberOfBullets = slidesLength;\n }\n\n for (var i = 0; i < numberOfBullets; i += 1) {\n if (params.renderBullet) {\n paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);\n } else {\n paginationHTML += \"<\" + params.bulletElement + \" class=\\\"\" + params.bulletClass + \"\\\">\" + params.bulletElement + \">\";\n }\n }\n\n $el.html(paginationHTML);\n swiper.pagination.bullets = $el.find(classesToSelector(params.bulletClass));\n }\n\n if (params.type === 'fraction') {\n if (params.renderFraction) {\n paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);\n } else {\n paginationHTML = \"\" + ' / ' + (\"\");\n }\n\n $el.html(paginationHTML);\n }\n\n if (params.type === 'progressbar') {\n if (params.renderProgressbar) {\n paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);\n } else {\n paginationHTML = \"\";\n }\n\n $el.html(paginationHTML);\n }\n\n if (params.type !== 'custom') {\n swiper.emit('paginationRender', swiper.pagination.$el[0]);\n }\n },\n init: function init() {\n var swiper = this;\n swiper.params.pagination = createElementIfNotDefined(swiper.$el, swiper.params.pagination, swiper.params.createElements, {\n el: 'swiper-pagination'\n });\n var params = swiper.params.pagination;\n if (!params.el) return;\n var $el = $(params.el);\n if ($el.length === 0) return;\n\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1) {\n $el = swiper.$el.find(params.el);\n }\n\n if (params.type === 'bullets' && params.clickable) {\n $el.addClass(params.clickableClass);\n }\n\n $el.addClass(params.modifierClass + params.type);\n\n if (params.type === 'bullets' && params.dynamicBullets) {\n $el.addClass(\"\" + params.modifierClass + params.type + \"-dynamic\");\n swiper.pagination.dynamicBulletIndex = 0;\n\n if (params.dynamicMainBullets < 1) {\n params.dynamicMainBullets = 1;\n }\n }\n\n if (params.type === 'progressbar' && params.progressbarOpposite) {\n $el.addClass(params.progressbarOppositeClass);\n }\n\n if (params.clickable) {\n $el.on('click', classesToSelector(params.bulletClass), function onClick(e) {\n e.preventDefault();\n var index = $(this).index() * swiper.params.slidesPerGroup;\n if (swiper.params.loop) index += swiper.loopedSlides;\n swiper.slideTo(index);\n });\n }\n\n extend(swiper.pagination, {\n $el: $el,\n el: $el[0]\n });\n\n if (!swiper.enabled) {\n $el.addClass(params.lockClass);\n }\n },\n destroy: function destroy() {\n var swiper = this;\n var params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n var $el = swiper.pagination.$el;\n $el.removeClass(params.hiddenClass);\n $el.removeClass(params.modifierClass + params.type);\n if (swiper.pagination.bullets) swiper.pagination.bullets.removeClass(params.bulletActiveClass);\n\n if (params.clickable) {\n $el.off('click', classesToSelector(params.bulletClass));\n }\n }\n};\nexport default {\n name: 'pagination',\n params: {\n pagination: {\n el: null,\n bulletElement: 'span',\n clickable: false,\n hideOnClick: false,\n renderBullet: null,\n renderProgressbar: null,\n renderFraction: null,\n renderCustom: null,\n progressbarOpposite: false,\n type: 'bullets',\n // 'bullets' or 'progressbar' or 'fraction' or 'custom'\n dynamicBullets: false,\n dynamicMainBullets: 1,\n formatFractionCurrent: function formatFractionCurrent(number) {\n return number;\n },\n formatFractionTotal: function formatFractionTotal(number) {\n return number;\n },\n bulletClass: 'swiper-pagination-bullet',\n bulletActiveClass: 'swiper-pagination-bullet-active',\n modifierClass: 'swiper-pagination-',\n // NEW\n currentClass: 'swiper-pagination-current',\n totalClass: 'swiper-pagination-total',\n hiddenClass: 'swiper-pagination-hidden',\n progressbarFillClass: 'swiper-pagination-progressbar-fill',\n progressbarOppositeClass: 'swiper-pagination-progressbar-opposite',\n clickableClass: 'swiper-pagination-clickable',\n // NEW\n lockClass: 'swiper-pagination-lock'\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n pagination: _extends({\n dynamicBulletIndex: 0\n }, Pagination)\n });\n },\n on: {\n init: function init(swiper) {\n swiper.pagination.init();\n swiper.pagination.render();\n swiper.pagination.update();\n },\n activeIndexChange: function activeIndexChange(swiper) {\n if (swiper.params.loop) {\n swiper.pagination.update();\n } else if (typeof swiper.snapIndex === 'undefined') {\n swiper.pagination.update();\n }\n },\n snapIndexChange: function snapIndexChange(swiper) {\n if (!swiper.params.loop) {\n swiper.pagination.update();\n }\n },\n slidesLengthChange: function slidesLengthChange(swiper) {\n if (swiper.params.loop) {\n swiper.pagination.render();\n swiper.pagination.update();\n }\n },\n snapGridLengthChange: function snapGridLengthChange(swiper) {\n if (!swiper.params.loop) {\n swiper.pagination.render();\n swiper.pagination.update();\n }\n },\n destroy: function destroy(swiper) {\n swiper.pagination.destroy();\n },\n 'enable disable': function enableDisable(swiper) {\n var $el = swiper.pagination.$el;\n\n if ($el) {\n $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.pagination.lockClass);\n }\n },\n click: function click(swiper, e) {\n var targetEl = e.target;\n\n if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && swiper.pagination.$el.length > 0 && !$(targetEl).hasClass(swiper.params.pagination.bulletClass)) {\n if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return;\n var isHidden = swiper.pagination.$el.hasClass(swiper.params.pagination.hiddenClass);\n\n if (isHidden === true) {\n swiper.emit('paginationShow');\n } else {\n swiper.emit('paginationHide');\n }\n\n swiper.pagination.$el.toggleClass(swiper.params.pagination.hiddenClass);\n }\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport $ from '../../utils/dom';\nimport { bindModuleMethods } from '../../utils/utils';\nvar Parallax = {\n setTransform: function setTransform(el, progress) {\n var swiper = this;\n var rtl = swiper.rtl;\n var $el = $(el);\n var rtlFactor = rtl ? -1 : 1;\n var p = $el.attr('data-swiper-parallax') || '0';\n var x = $el.attr('data-swiper-parallax-x');\n var y = $el.attr('data-swiper-parallax-y');\n var scale = $el.attr('data-swiper-parallax-scale');\n var opacity = $el.attr('data-swiper-parallax-opacity');\n\n if (x || y) {\n x = x || '0';\n y = y || '0';\n } else if (swiper.isHorizontal()) {\n x = p;\n y = '0';\n } else {\n y = p;\n x = '0';\n }\n\n if (x.indexOf('%') >= 0) {\n x = parseInt(x, 10) * progress * rtlFactor + \"%\";\n } else {\n x = x * progress * rtlFactor + \"px\";\n }\n\n if (y.indexOf('%') >= 0) {\n y = parseInt(y, 10) * progress + \"%\";\n } else {\n y = y * progress + \"px\";\n }\n\n if (typeof opacity !== 'undefined' && opacity !== null) {\n var currentOpacity = opacity - (opacity - 1) * (1 - Math.abs(progress));\n $el[0].style.opacity = currentOpacity;\n }\n\n if (typeof scale === 'undefined' || scale === null) {\n $el.transform(\"translate3d(\" + x + \", \" + y + \", 0px)\");\n } else {\n var currentScale = scale - (scale - 1) * (1 - Math.abs(progress));\n $el.transform(\"translate3d(\" + x + \", \" + y + \", 0px) scale(\" + currentScale + \")\");\n }\n },\n setTranslate: function setTranslate() {\n var swiper = this;\n var $el = swiper.$el,\n slides = swiper.slides,\n progress = swiper.progress,\n snapGrid = swiper.snapGrid;\n $el.children('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(function (el) {\n swiper.parallax.setTransform(el, progress);\n });\n slides.each(function (slideEl, slideIndex) {\n var slideProgress = slideEl.progress;\n\n if (swiper.params.slidesPerGroup > 1 && swiper.params.slidesPerView !== 'auto') {\n slideProgress += Math.ceil(slideIndex / 2) - progress * (snapGrid.length - 1);\n }\n\n slideProgress = Math.min(Math.max(slideProgress, -1), 1);\n $(slideEl).find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(function (el) {\n swiper.parallax.setTransform(el, slideProgress);\n });\n });\n },\n setTransition: function setTransition(duration) {\n if (duration === void 0) {\n duration = this.params.speed;\n }\n\n var swiper = this;\n var $el = swiper.$el;\n $el.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(function (parallaxEl) {\n var $parallaxEl = $(parallaxEl);\n var parallaxDuration = parseInt($parallaxEl.attr('data-swiper-parallax-duration'), 10) || duration;\n if (duration === 0) parallaxDuration = 0;\n $parallaxEl.transition(parallaxDuration);\n });\n }\n};\nexport default {\n name: 'parallax',\n params: {\n parallax: {\n enabled: false\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n parallax: _extends({}, Parallax)\n });\n },\n on: {\n beforeInit: function beforeInit(swiper) {\n if (!swiper.params.parallax.enabled) return;\n swiper.params.watchSlidesProgress = true;\n swiper.originalParams.watchSlidesProgress = true;\n },\n init: function init(swiper) {\n if (!swiper.params.parallax.enabled) return;\n swiper.parallax.setTranslate();\n },\n setTranslate: function setTranslate(swiper) {\n if (!swiper.params.parallax.enabled) return;\n swiper.parallax.setTranslate();\n },\n setTransition: function setTransition(swiper, duration) {\n if (!swiper.params.parallax.enabled) return;\n swiper.parallax.setTransition(duration);\n }\n }\n};","/**\n * Dom7 3.0.0\n * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API\n * https://framework7.io/docs/dom7.html\n *\n * Copyright 2020, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: November 9, 2020\n */\nimport { getWindow, getDocument } from 'ssr-window';\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nfunction _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !_isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return _construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\n/* eslint-disable no-proto */\nfunction makeReactive(obj) {\n var proto = obj.__proto__;\n Object.defineProperty(obj, '__proto__', {\n get: function get() {\n return proto;\n },\n set: function set(value) {\n proto.__proto__ = value;\n }\n });\n}\n\nvar Dom7 = /*#__PURE__*/function (_Array) {\n _inheritsLoose(Dom7, _Array);\n\n function Dom7(items) {\n var _this;\n\n _this = _Array.call.apply(_Array, [this].concat(items)) || this;\n makeReactive(_assertThisInitialized(_this));\n return _this;\n }\n\n return Dom7;\n}( /*#__PURE__*/_wrapNativeSuper(Array));\n\nfunction arrayFlat(arr) {\n if (arr === void 0) {\n arr = [];\n }\n\n var res = [];\n arr.forEach(function (el) {\n if (Array.isArray(el)) {\n res.push.apply(res, arrayFlat(el));\n } else {\n res.push(el);\n }\n });\n return res;\n}\nfunction arrayFilter(arr, callback) {\n return Array.prototype.filter.call(arr, callback);\n}\nfunction arrayUnique(arr) {\n var uniqueArray = [];\n\n for (var i = 0; i < arr.length; i += 1) {\n if (uniqueArray.indexOf(arr[i]) === -1) uniqueArray.push(arr[i]);\n }\n\n return uniqueArray;\n}\nfunction toCamelCase(string) {\n return string.toLowerCase().replace(/-(.)/g, function (match, group) {\n return group.toUpperCase();\n });\n}\n\nfunction qsa(selector, context) {\n if (typeof selector !== 'string') {\n return [selector];\n }\n\n var a = [];\n var res = context.querySelectorAll(selector);\n\n for (var i = 0; i < res.length; i += 1) {\n a.push(res[i]);\n }\n\n return a;\n}\n\nfunction $(selector, context) {\n var window = getWindow();\n var document = getDocument();\n var arr = [];\n\n if (!context && selector instanceof Dom7) {\n return selector;\n }\n\n if (!selector) {\n return new Dom7(arr);\n }\n\n if (typeof selector === 'string') {\n var html = selector.trim();\n\n if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {\n var toCreate = 'div';\n if (html.indexOf('