{"version":3,"sources":["webpack://_N_E/./node_modules/core-js/modules/es.array.slice.js","webpack://_N_E/./node_modules/swiper/esm/react/use-isomorphic-layout-effect.js","webpack://_N_E/./node_modules/ssr-window/ssr-window.esm.js","webpack://_N_E/./node_modules/dom7/dom7.esm.js","webpack://_N_E/./node_modules/swiper/esm/utils/dom.js","webpack://_N_E/./node_modules/swiper/esm/react/swiper-slide.js","webpack://_N_E/./node_modules/swiper/esm/utils/get-support.js","webpack://_N_E/./node_modules/swiper/esm/utils/get-device.js","webpack://_N_E/./node_modules/swiper/esm/utils/get-browser.js","webpack://_N_E/./node_modules/swiper/esm/modules/resize/resize.js","webpack://_N_E/./node_modules/swiper/esm/modules/observer/observer.js","webpack://_N_E/./node_modules/swiper/esm/components/core/events/onTouchStart.js","webpack://_N_E/./node_modules/swiper/esm/components/core/events/onTouchMove.js","webpack://_N_E/./node_modules/swiper/esm/components/core/events/onTouchEnd.js","webpack://_N_E/./node_modules/swiper/esm/components/core/events/onResize.js","webpack://_N_E/./node_modules/swiper/esm/components/core/events/onClick.js","webpack://_N_E/./node_modules/swiper/esm/components/core/events/onScroll.js","webpack://_N_E/./node_modules/swiper/esm/components/core/events/index.js","webpack://_N_E/./node_modules/swiper/esm/components/core/check-overflow/index.js","webpack://_N_E/./node_modules/swiper/esm/components/core/defaults.js","webpack://_N_E/./node_modules/swiper/esm/components/core/core-class.js","webpack://_N_E/./node_modules/swiper/esm/components/core/modular.js","webpack://_N_E/./node_modules/swiper/esm/components/core/events-emitter.js","webpack://_N_E/./node_modules/swiper/esm/components/core/update/index.js","webpack://_N_E/./node_modules/swiper/esm/components/core/update/updateSize.js","webpack://_N_E/./node_modules/swiper/esm/components/core/update/updateSlides.js","webpack://_N_E/./node_modules/swiper/esm/components/core/update/updateAutoHeight.js","webpack://_N_E/./node_modules/swiper/esm/components/core/update/updateSlidesOffset.js","webpack://_N_E/./node_modules/swiper/esm/components/core/update/updateSlidesProgress.js","webpack://_N_E/./node_modules/swiper/esm/components/core/update/updateProgress.js","webpack://_N_E/./node_modules/swiper/esm/components/core/update/updateSlidesClasses.js","webpack://_N_E/./node_modules/swiper/esm/components/core/update/updateActiveIndex.js","webpack://_N_E/./node_modules/swiper/esm/components/core/update/updateClickedSlide.js","webpack://_N_E/./node_modules/swiper/esm/components/core/translate/index.js","webpack://_N_E/./node_modules/swiper/esm/components/core/translate/getTranslate.js","webpack://_N_E/./node_modules/swiper/esm/components/core/translate/setTranslate.js","webpack://_N_E/./node_modules/swiper/esm/components/core/translate/minTranslate.js","webpack://_N_E/./node_modules/swiper/esm/components/core/translate/maxTranslate.js","webpack://_N_E/./node_modules/swiper/esm/components/core/translate/translateTo.js","webpack://_N_E/./node_modules/swiper/esm/components/core/transition/index.js","webpack://_N_E/./node_modules/swiper/esm/components/core/transition/setTransition.js","webpack://_N_E/./node_modules/swiper/esm/components/core/transition/transitionStart.js","webpack://_N_E/./node_modules/swiper/esm/components/core/transition/transitionEnd.js","webpack://_N_E/./node_modules/swiper/esm/components/core/slide/index.js","webpack://_N_E/./node_modules/swiper/esm/components/core/slide/slideTo.js","webpack://_N_E/./node_modules/swiper/esm/components/core/slide/slideToLoop.js","webpack://_N_E/./node_modules/swiper/esm/components/core/slide/slideNext.js","webpack://_N_E/./node_modules/swiper/esm/components/core/slide/slidePrev.js","webpack://_N_E/./node_modules/swiper/esm/components/core/slide/slideReset.js","webpack://_N_E/./node_modules/swiper/esm/components/core/slide/slideToClosest.js","webpack://_N_E/./node_modules/swiper/esm/components/core/slide/slideToClickedSlide.js","webpack://_N_E/./node_modules/swiper/esm/components/core/loop/index.js","webpack://_N_E/./node_modules/swiper/esm/components/core/loop/loopCreate.js","webpack://_N_E/./node_modules/swiper/esm/components/core/loop/loopFix.js","webpack://_N_E/./node_modules/swiper/esm/components/core/loop/loopDestroy.js","webpack://_N_E/./node_modules/swiper/esm/components/core/grab-cursor/index.js","webpack://_N_E/./node_modules/swiper/esm/components/core/grab-cursor/setGrabCursor.js","webpack://_N_E/./node_modules/swiper/esm/components/core/grab-cursor/unsetGrabCursor.js","webpack://_N_E/./node_modules/swiper/esm/components/core/manipulation/index.js","webpack://_N_E/./node_modules/swiper/esm/components/core/manipulation/appendSlide.js","webpack://_N_E/./node_modules/swiper/esm/components/core/manipulation/prependSlide.js","webpack://_N_E/./node_modules/swiper/esm/components/core/manipulation/addSlide.js","webpack://_N_E/./node_modules/swiper/esm/components/core/manipulation/removeSlide.js","webpack://_N_E/./node_modules/swiper/esm/components/core/manipulation/removeAllSlides.js","webpack://_N_E/./node_modules/swiper/esm/components/core/breakpoints/index.js","webpack://_N_E/./node_modules/swiper/esm/components/core/breakpoints/setBreakpoint.js","webpack://_N_E/./node_modules/swiper/esm/components/core/breakpoints/getBreakpoint.js","webpack://_N_E/./node_modules/swiper/esm/components/core/classes/index.js","webpack://_N_E/./node_modules/swiper/esm/components/core/classes/addClasses.js","webpack://_N_E/./node_modules/swiper/esm/components/core/classes/removeClasses.js","webpack://_N_E/./node_modules/swiper/esm/components/core/images/index.js","webpack://_N_E/./node_modules/swiper/esm/components/core/images/loadImage.js","webpack://_N_E/./node_modules/swiper/esm/components/core/images/preloadImages.js","webpack://_N_E/./node_modules/swiper/esm/utils/utils.js","webpack://_N_E/./node_modules/swiper/esm/react/utils.js","webpack://_N_E/./node_modules/swiper/esm/react/params-list.js","webpack://_N_E/./node_modules/swiper/esm/react/loop.js","webpack://_N_E/./node_modules/swiper/esm/react/get-children.js","webpack://_N_E/./node_modules/swiper/esm/react/swiper.js","webpack://_N_E/./node_modules/swiper/esm/react/get-params.js","webpack://_N_E/./node_modules/swiper/esm/react/get-changed-params.js","webpack://_N_E/./node_modules/swiper/esm/react/init-swiper.js","webpack://_N_E/./node_modules/swiper/esm/react/update-swiper.js","webpack://_N_E/./node_modules/swiper/esm/react/virtual.js"],"names":["$","isObject","isArray","toAbsoluteIndex","toLength","toIndexedObject","createProperty","wellKnownSymbol","arrayMethodHasSpeciesSupport","arrayMethodUsesToLength","HAS_SPECIES_SUPPORT","USES_TO_LENGTH","ACCESSORS","0","1","SPECIES","nativeSlice","slice","max","Math","target","proto","forced","start","end","Constructor","result","n","O","this","length","k","fin","undefined","constructor","Array","prototype","call","useIsomorphicLayoutEffect","callback","deps","useLayoutEffect","obj","Object","extend","src","keys","forEach","key","ssrDocument","body","addEventListener","removeEventListener","activeElement","blur","nodeName","querySelector","querySelectorAll","getElementById","createEvent","initEvent","createElement","children","childNodes","style","setAttribute","getElementsByTagName","createElementNS","importNode","location","hash","host","hostname","href","origin","pathname","protocol","search","getDocument","doc","document","ssrWindow","navigator","userAgent","history","replaceState","pushState","go","back","CustomEvent","getComputedStyle","getPropertyValue","Image","Date","screen","setTimeout","clearTimeout","matchMedia","requestAnimationFrame","cancelAnimationFrame","id","getWindow","win","window","_getPrototypeOf","o","_setPrototypeOf","p","_isNativeReflectConstruct","Reflect","Proxy","e","_construct","Parent","args","Class","a","instance","Function","_wrapNativeSuper","_cache","Map","fn","TypeError","arguments","Wrapper","value","enumerable","writable","configurable","Dom7","_Array","subClass","superClass","get","set","makeReactive","self","ReferenceError","_assertThisInitialized","_this","concat","_inheritsLoose","arrayFlat","arr","res","el","arrayFilter","selector","context","html","toCreate","tempParent","i","qsa","uniqueArray","arrayUnique","noTrigger","split","shortcut","name","_len","_key","on","apply","Methods","addClass","classes","classNames","c","_el$classList","removeClass","_len2","_key2","_el$classList2","hasClass","_len4","_key4","className","toggleClass","_len3","_key3","attr","attrs","getAttribute","removeAttr","transform","transition","duration","_len5","_key5","eventType","targetSelector","listener","capture","eventData","_parents","events","j","_event","proxyListener","handleLiveEvent","event","handleEvent","off","_len6","_key6","handlers","handler","trigger","_len9","_key9","evt","detail","bubbles","cancelable","data","dataIndex","transitionEnd","dom","outerWidth","_styles","offsetWidth","parseFloat","outerHeight","_styles2","offsetHeight","styles","offset","box","clientTop","clientLeft","scrollTop","scrollLeft","top","left","css","props","each","index","text","textContent","is","compareWith","child","eq","returnIndex","append","newChild","tempDiv","prepend","next","nextElementSibling","nextAll","nextEls","_next","prev","prevAll","prevEls","_prev","parent","parents","parentNode","_parent","closest","find","foundElements","found","filter","remove","removeChild","methodName","_extends","source","SwiperSlide","forwardRef","_temp","externalRef","_ref","_ref$tag","Tag","_ref$className","swiper","zoom","virtualIndex","rest","excluded","sourceKeys","_objectWithoutPropertiesLoose","slideElRef","useRef","_useState","useState","slideClasses","setSlideClasses","slideData","isActive","isVisible","isDuplicate","isPrev","isNext","renderChildren","React","ref","uniqueClasses","browser","getSupport","support","touch","pointerEvents","observer","passiveListener","supportsPassive","opts","gestures","calcSupport","getDevice","overrides","device","platform","ua","ios","android","screenWidth","screenHeight","ipad","ipod","iphone","windows","macos","iPadScreens","calcDevice","getBrowser","isEdge","isSafari","isWebView","test","calcBrowser","create","resize","createObserver","ResizeObserver","entries","width","height","newWidth","newHeight","contentBoxSize","contentRect","removeObserver","resizeHandler","orientationChangeHandler","init","destroy","Observer","attach","options","mutations","observerUpdate","attributes","childList","characterData","containerParents","observeSlideChildren","params","observeParents","bindModuleMethods","observers","onTouchStart","touches","$targetEl","swipingClassHasValue","startX","startY","edgeSwipeDetection","edgeSwipeThreshold","isTouched","isMoved","allowTouchCallbacks","isScrolling","startMoving","now","preventDefault","shouldPreventDefault","onTouchMove","rtl","targetTouch","pageX","pageY","currentX","currentY","diffX","diffY","touchAngle","diff","disableParentSwiper","resistanceRatio","position","time","touchStartTime","onTouchEnd","$wrapperEl","slidesGrid","snapGrid","touchEndTime","timeDiff","nextTick","currentPos","lastMoveEvent","velocityEvent","distance","momentumDuration","momentumDistance","newPosition","doBounce","bounceAmount","afterBouncePosition","needsLoopFix","nextSlide","moveDistance","currentSlideSize","stopIndex","groupSize","_increment","ratio","increment","onResize","allowSlideNext","allowSlidePrev","onClick","onScroll","wrapperEl","rtlTranslate","translatesDiff","newProgress","dummyEventAttached","dummyEventListener","direction","touchEventsTarget","initialSlide","speed","cssMode","updateOnWindowResize","resizeObserver","nested","preventInteractionOnTransition","url","freeMode","freeModeMomentum","freeModeMomentumRatio","freeModeMomentumBounce","freeModeMomentumBounceRatio","freeModeMomentumVelocityRatio","freeModeSticky","freeModeMinimumVelocity","autoHeight","setWrapperSize","virtualTranslate","effect","breakpoints","breakpointsBase","spaceBetween","slidesPerView","slidesPerColumn","slidesPerColumnFill","slidesPerGroup","slidesPerGroupSkip","centeredSlides","centeredSlidesBounds","slidesOffsetBefore","slidesOffsetAfter","normalizeSlideIndex","centerInsufficientSlides","watchOverflow","roundLengths","touchRatio","simulateTouch","shortSwipes","longSwipes","longSwipesRatio","longSwipesMs","followFinger","allowTouchMove","threshold","touchMoveStopPropagation","touchStartPreventDefault","touchStartForcePreventDefault","touchReleaseOnEdges","uniqueNavElements","resistance","watchSlidesProgress","watchSlidesVisibility","grabCursor","preventClicks","preventClicksPropagation","slideToClickedSlide","preloadImages","updateOnImagesReady","loop","loopAdditionalSlides","loopedSlides","loopFillGroupWithBlank","loopPreventsSlide","swipeHandler","noSwiping","noSwipingClass","noSwipingSelector","passiveListeners","containerModifierClass","slideClass","slideBlankClass","slideActiveClass","slideDuplicateActiveClass","slideVisibleClass","slideDuplicateClass","slideNextClass","slideDuplicateNextClass","slidePrevClass","slideDuplicatePrevClass","wrapperClass","runCallbacksOnInit","_emitClasses","_defineProperties","descriptor","prototypes","modular","useParams","instanceParams","moduleName","module","useModules","modulesParams","moduleParams","moduleEventName","eventsEmitter","priority","method","once","onceHandler","onAny","offAny","eventHandler","emit","eventsArray","update","updateSize","$el","parseInt","Number","size","updateSlides","getDirectionLabel","property","getDirectionPropertyValue","node","label","swiperSize","wrongRTL","isVirtual","previousSlidesLength","slides","slidesLength","slidesSizesGrid","offsetBefore","offsetAfter","previousSnapGridLength","previousSlidesGridLength","slidePosition","prevSlideSize","marginLeft","marginTop","marginRight","marginBottom","slidesNumberEvenToRows","slidesPerRow","numFullColumns","slideSize","slide","newSlideOrderIndex","column","row","groupIndex","slideIndexInGroup","columnsInGroup","order","slideStyles","currentTransform","currentWebKitTransform","paddingLeft","paddingRight","boxSizing","_slide$","clientWidth","_$wrapperEl$css","_$wrapperEl$css2","newSlidesGrid","_i","slidesGridItem","_i2","_slidesGridItem","slideIndex","_slides$filter$css","allSlidesSize","slideSizeValue","maxSnap","snap","_allSlidesSize","allSlidesOffset","snapIndex","updateAutoHeight","activeSlides","updateSlidesOffset","updateSlidesProgress","translate","offsetCenter","slideProgress","slideBefore","slideAfter","updateProgress","multiplier","progress","isBeginning","isEnd","wasBeginning","wasEnd","updateSlidesClasses","activeIndex","realIndex","activeSlide","prevSlide","updateActiveIndex","newActiveIndex","previousIndex","previousRealIndex","previousSnapIndex","skip","updateClickedSlide","slideFound","getTranslate","axis","isHorizontal","currentTranslate","setTranslate","byController","x","y","minTranslate","maxTranslate","translateTo","runCallbacks","translateBounds","internal","newTranslate","isH","_wrapperEl$scrollTo","setTransition","transitionStart","dir","slideTo","Error","indexAsNumber","isFinite","normalizedTranslate","normalizedGird","normalizedGridNext","t","slideToLoop","newIndex","slideNext","animating","slidePrev","val","normalize","normalizedSnapGrid","prevSnap","prevIndex","slideReset","slideToClosest","currentSnap","slideToIndex","loopCreate","blankSlidesNum","blankNode","prependSlides","appendSlides","loopFix","loopDestroy","setGrabCursor","moving","unsetGrabCursor","manipulation","appendSlide","prependSlide","addSlide","activeIndexBuffer","baseLength","slidesBuffer","currentSlide","removeSlide","slidesIndexes","indexToRemove","removeAllSlides","attachEvents","touchEvents","passive","detachEvents","setBreakpoint","initialized","_swiper$loopedSlides","breakpoint","breakpointOnlyParams","param","paramValue","breakpointParams","wasMultiRow","isMultiRow","directionChanged","needsReLoop","getBreakpoint","base","containerEl","currentWidth","currentHeight","points","point","minRatio","b","_points$i","checkOverflow","wasLocked","lastSlidePosition","addClasses","suffixes","prefix","resultClasses","item","prepareClasses","join","removeClasses","images","loadImage","imageEl","srcset","sizes","checkForComplete","onReady","image","extendedDefaults","Swiper","swipers","newParams","moduleParamName","enabled","swiperParams","eventName","isVertical","previousTranslate","velocity","desktop","move","cancel","touchEventsData","startTranslate","allowThresholdMove","formElements","lastClickTime","clickTimeout","velocities","allowMomentumBounce","isTouchEvent","allowClick","imagesToLoad","imagesLoaded","protoProps","staticProps","_proto","slideEl","updates","spv","breakLoop","translated","translateValue","newDirection","needUpdate","currentDirection","mounted","deleteInstance","cleanStyles","deleteProps","newDefaults","m","prototypeGroup","protoMethod","object","delay","curStyle","curTransform","transformMatrix","matrix","to","noExtend","nextSource","keysArray","nextIndex","len","nextKey","desc","subKey","classesToSelector","needsNavigation","needsPagination","needsScrollbar","unique","paramsList","calcLoopedSlides","slidesPerViewParams","getChildren","slots","foundSlides","processChildren","externalElRef","_ref$wrapperTag","WrapperTag","onSwiper","containerClasses","setContainerClasses","_useState2","virtualData","setVirtualData","_useState3","breakpointChanged","setBreakpointChanged","initializedRef","swiperElRef","swiperRef","oldPassedParamsRef","oldSlides","nextElRef","prevElRef","paginationElRef","scrollbarElRef","_getParams","passedParams","allowedParams","getParams","restProps","_getChildren","changedParams","oldParams","oldChildren","addKey","oldChildrenKeys","childrenKeys","watchParams","newKeys","oldKeys","newKey","oldKey","getChangedParams","onBeforeBreakpoint","_containerClasses","initSwiper","extendWith","cache","renderExternal","renderExternalUpdate","useEffect","nextEl","prevEl","paginationEl","scrollbarEl","mountSwiper","current","updateParams","currentParams","pagination","navigation","scrollbar","virtual","thumbs","needThumbsInit","needControllerInit","needPaginationInit","needScrollbarInit","needNavigationInit","updateSwiper","updateOnVirtualData","renderVirtual","modifiedSlides","blankSlide","duplicateSlide","renderLoop"],"mappings":"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","file":"static/chunks/8b55f16db192f82cd8402240df01283183e6fb99.86328337fbd73ed8e523.js","sourcesContent":["'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('slice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","import { useEffect, useLayoutEffect } from 'react';\n\nfunction useIsomorphicLayoutEffect(callback, deps) {\n // eslint-disable-next-line\n if (typeof window === 'undefined') return useEffect(callback, deps);\n return useLayoutEffect(callback, deps);\n}\n\nexport { useIsomorphicLayoutEffect };","/**\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","/**\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(' 0;\n }).length > 0;\n}\n\nfunction attr(attrs, value) {\n if (arguments.length === 1 && typeof attrs === 'string') {\n // Get attr\n if (this[0]) return this[0].getAttribute(attrs);\n return undefined;\n } // Set attrs\n\n\n for (var i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i].setAttribute(attrs, value);\n } else {\n // Object\n for (var attrName in attrs) {\n this[i][attrName] = attrs[attrName];\n this[i].setAttribute(attrName, attrs[attrName]);\n }\n }\n }\n\n return this;\n}\n\nfunction removeAttr(attr) {\n for (var i = 0; i < this.length; i += 1) {\n this[i].removeAttribute(attr);\n }\n\n return this;\n}\n\nfunction prop(props, value) {\n if (arguments.length === 1 && typeof props === 'string') {\n // Get prop\n if (this[0]) return this[0][props];\n } else {\n // Set props\n for (var i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i][props] = value;\n } else {\n // Object\n for (var propName in props) {\n this[i][propName] = props[propName];\n }\n }\n }\n\n return this;\n }\n\n return this;\n}\n\nfunction data(key, value) {\n var el;\n\n if (typeof value === 'undefined') {\n el = this[0];\n if (!el) return undefined; // Get value\n\n if (el.dom7ElementDataStorage && key in el.dom7ElementDataStorage) {\n return el.dom7ElementDataStorage[key];\n }\n\n var dataKey = el.getAttribute(\"data-\" + key);\n\n if (dataKey) {\n return dataKey;\n }\n\n return undefined;\n } // Set value\n\n\n for (var i = 0; i < this.length; i += 1) {\n el = this[i];\n if (!el.dom7ElementDataStorage) el.dom7ElementDataStorage = {};\n el.dom7ElementDataStorage[key] = value;\n }\n\n return this;\n}\n\nfunction removeData(key) {\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (el.dom7ElementDataStorage && el.dom7ElementDataStorage[key]) {\n el.dom7ElementDataStorage[key] = null;\n delete el.dom7ElementDataStorage[key];\n }\n }\n}\n\nfunction dataset() {\n var el = this[0];\n if (!el) return undefined;\n var dataset = {}; // eslint-disable-line\n\n if (el.dataset) {\n for (var dataKey in el.dataset) {\n dataset[dataKey] = el.dataset[dataKey];\n }\n } else {\n for (var i = 0; i < el.attributes.length; i += 1) {\n var _attr = el.attributes[i];\n\n if (_attr.name.indexOf('data-') >= 0) {\n dataset[toCamelCase(_attr.name.split('data-')[1])] = _attr.value;\n }\n }\n }\n\n for (var key in dataset) {\n if (dataset[key] === 'false') dataset[key] = false;else if (dataset[key] === 'true') dataset[key] = true;else if (parseFloat(dataset[key]) === dataset[key] * 1) dataset[key] *= 1;\n }\n\n return dataset;\n}\n\nfunction val(value) {\n if (typeof value === 'undefined') {\n // get value\n var el = this[0];\n if (!el) return undefined;\n\n if (el.multiple && el.nodeName.toLowerCase() === 'select') {\n var values = [];\n\n for (var i = 0; i < el.selectedOptions.length; i += 1) {\n values.push(el.selectedOptions[i].value);\n }\n\n return values;\n }\n\n return el.value;\n } // set value\n\n\n for (var _i = 0; _i < this.length; _i += 1) {\n var _el = this[_i];\n\n if (Array.isArray(value) && _el.multiple && _el.nodeName.toLowerCase() === 'select') {\n for (var j = 0; j < _el.options.length; j += 1) {\n _el.options[j].selected = value.indexOf(_el.options[j].value) >= 0;\n }\n } else {\n _el.value = value;\n }\n }\n\n return this;\n}\n\nfunction value(value) {\n return this.val(value);\n}\n\nfunction transform(transform) {\n for (var i = 0; i < this.length; i += 1) {\n this[i].style.transform = transform;\n }\n\n return this;\n}\n\nfunction transition(duration) {\n for (var i = 0; i < this.length; i += 1) {\n this[i].style.transitionDuration = typeof duration !== 'string' ? duration + \"ms\" : duration;\n }\n\n return this;\n}\n\nfunction on() {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n var eventType = args[0],\n targetSelector = args[1],\n listener = args[2],\n capture = args[3];\n\n if (typeof args[1] === 'function') {\n eventType = args[0];\n listener = args[1];\n capture = args[2];\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n\n function handleLiveEvent(e) {\n var target = e.target;\n if (!target) return;\n var eventData = e.target.dom7EventData || [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n if ($(target).is(targetSelector)) listener.apply(target, eventData);else {\n var _parents = $(target).parents(); // eslint-disable-line\n\n\n for (var k = 0; k < _parents.length; k += 1) {\n if ($(_parents[k]).is(targetSelector)) listener.apply(_parents[k], eventData);\n }\n }\n }\n\n function handleEvent(e) {\n var eventData = e && e.target ? e.target.dom7EventData || [] : [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n listener.apply(this, eventData);\n }\n\n var events = eventType.split(' ');\n var j;\n\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (!targetSelector) {\n for (j = 0; j < events.length; j += 1) {\n var event = events[j];\n if (!el.dom7Listeners) el.dom7Listeners = {};\n if (!el.dom7Listeners[event]) el.dom7Listeners[event] = [];\n el.dom7Listeners[event].push({\n listener: listener,\n proxyListener: handleEvent\n });\n el.addEventListener(event, handleEvent, capture);\n }\n } else {\n // Live events\n for (j = 0; j < events.length; j += 1) {\n var _event = events[j];\n if (!el.dom7LiveListeners) el.dom7LiveListeners = {};\n if (!el.dom7LiveListeners[_event]) el.dom7LiveListeners[_event] = [];\n\n el.dom7LiveListeners[_event].push({\n listener: listener,\n proxyListener: handleLiveEvent\n });\n\n el.addEventListener(_event, handleLiveEvent, capture);\n }\n }\n }\n\n return this;\n}\n\nfunction off() {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n var eventType = args[0],\n targetSelector = args[1],\n listener = args[2],\n capture = args[3];\n\n if (typeof args[1] === 'function') {\n eventType = args[0];\n listener = args[1];\n capture = args[2];\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n var events = eventType.split(' ');\n\n for (var i = 0; i < events.length; i += 1) {\n var event = events[i];\n\n for (var j = 0; j < this.length; j += 1) {\n var el = this[j];\n var handlers = void 0;\n\n if (!targetSelector && el.dom7Listeners) {\n handlers = el.dom7Listeners[event];\n } else if (targetSelector && el.dom7LiveListeners) {\n handlers = el.dom7LiveListeners[event];\n }\n\n if (handlers && handlers.length) {\n for (var k = handlers.length - 1; k >= 0; k -= 1) {\n var handler = handlers[k];\n\n if (listener && handler.listener === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (listener && handler.listener && handler.listener.dom7proxy && handler.listener.dom7proxy === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (!listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n }\n }\n }\n }\n }\n\n return this;\n}\n\nfunction once() {\n var dom = this;\n\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n var eventName = args[0],\n targetSelector = args[1],\n listener = args[2],\n capture = args[3];\n\n if (typeof args[1] === 'function') {\n eventName = args[0];\n listener = args[1];\n capture = args[2];\n targetSelector = undefined;\n }\n\n function onceHandler() {\n for (var _len8 = arguments.length, eventArgs = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n eventArgs[_key8] = arguments[_key8];\n }\n\n listener.apply(this, eventArgs);\n dom.off(eventName, targetSelector, onceHandler, capture);\n\n if (onceHandler.dom7proxy) {\n delete onceHandler.dom7proxy;\n }\n }\n\n onceHandler.dom7proxy = listener;\n return dom.on(eventName, targetSelector, onceHandler, capture);\n}\n\nfunction trigger() {\n var window = getWindow();\n\n for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\n args[_key9] = arguments[_key9];\n }\n\n var events = args[0].split(' ');\n var eventData = args[1];\n\n for (var i = 0; i < events.length; i += 1) {\n var event = events[i];\n\n for (var j = 0; j < this.length; j += 1) {\n var el = this[j];\n\n if (window.CustomEvent) {\n var evt = new window.CustomEvent(event, {\n detail: eventData,\n bubbles: true,\n cancelable: true\n });\n el.dom7EventData = args.filter(function (data, dataIndex) {\n return dataIndex > 0;\n });\n el.dispatchEvent(evt);\n el.dom7EventData = [];\n delete el.dom7EventData;\n }\n }\n }\n\n return this;\n}\n\nfunction transitionEnd(callback) {\n var dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('transitionend', fireCallBack);\n }\n\n if (callback) {\n dom.on('transitionend', fireCallBack);\n }\n\n return this;\n}\n\nfunction animationEnd(callback) {\n var dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('animationend', fireCallBack);\n }\n\n if (callback) {\n dom.on('animationend', fireCallBack);\n }\n\n return this;\n}\n\nfunction width() {\n var window = getWindow();\n\n if (this[0] === window) {\n return window.innerWidth;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('width'));\n }\n\n return null;\n}\n\nfunction outerWidth(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n var _styles = this.styles();\n\n return this[0].offsetWidth + parseFloat(_styles.getPropertyValue('margin-right')) + parseFloat(_styles.getPropertyValue('margin-left'));\n }\n\n return this[0].offsetWidth;\n }\n\n return null;\n}\n\nfunction height() {\n var window = getWindow();\n\n if (this[0] === window) {\n return window.innerHeight;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('height'));\n }\n\n return null;\n}\n\nfunction outerHeight(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n var _styles2 = this.styles();\n\n return this[0].offsetHeight + parseFloat(_styles2.getPropertyValue('margin-top')) + parseFloat(_styles2.getPropertyValue('margin-bottom'));\n }\n\n return this[0].offsetHeight;\n }\n\n return null;\n}\n\nfunction offset() {\n if (this.length > 0) {\n var window = getWindow();\n var document = getDocument();\n var el = this[0];\n var box = el.getBoundingClientRect();\n var body = document.body;\n var clientTop = el.clientTop || body.clientTop || 0;\n var clientLeft = el.clientLeft || body.clientLeft || 0;\n var scrollTop = el === window ? window.scrollY : el.scrollTop;\n var scrollLeft = el === window ? window.scrollX : el.scrollLeft;\n return {\n top: box.top + scrollTop - clientTop,\n left: box.left + scrollLeft - clientLeft\n };\n }\n\n return null;\n}\n\nfunction hide() {\n for (var i = 0; i < this.length; i += 1) {\n this[i].style.display = 'none';\n }\n\n return this;\n}\n\nfunction show() {\n var window = getWindow();\n\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (el.style.display === 'none') {\n el.style.display = '';\n }\n\n if (window.getComputedStyle(el, null).getPropertyValue('display') === 'none') {\n // Still not visible\n el.style.display = 'block';\n }\n }\n\n return this;\n}\n\nfunction styles() {\n var window = getWindow();\n if (this[0]) return window.getComputedStyle(this[0], null);\n return {};\n}\n\nfunction css(props, value) {\n var window = getWindow();\n var i;\n\n if (arguments.length === 1) {\n if (typeof props === 'string') {\n // .css('width')\n if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(props);\n } else {\n // .css({ width: '100px' })\n for (i = 0; i < this.length; i += 1) {\n for (var _prop in props) {\n this[i].style[_prop] = props[_prop];\n }\n }\n\n return this;\n }\n }\n\n if (arguments.length === 2 && typeof props === 'string') {\n // .css('width', '100px')\n for (i = 0; i < this.length; i += 1) {\n this[i].style[props] = value;\n }\n\n return this;\n }\n\n return this;\n}\n\nfunction each(callback) {\n if (!callback) return this;\n this.forEach(function (el, index) {\n callback.apply(el, [el, index]);\n });\n return this;\n}\n\nfunction filter(callback) {\n var result = arrayFilter(this, callback);\n return $(result);\n}\n\nfunction html(html) {\n if (typeof html === 'undefined') {\n return this[0] ? this[0].innerHTML : null;\n }\n\n for (var i = 0; i < this.length; i += 1) {\n this[i].innerHTML = html;\n }\n\n return this;\n}\n\nfunction text(text) {\n if (typeof text === 'undefined') {\n return this[0] ? this[0].textContent.trim() : null;\n }\n\n for (var i = 0; i < this.length; i += 1) {\n this[i].textContent = text;\n }\n\n return this;\n}\n\nfunction is(selector) {\n var window = getWindow();\n var document = getDocument();\n var el = this[0];\n var compareWith;\n var i;\n if (!el || typeof selector === 'undefined') return false;\n\n if (typeof selector === 'string') {\n if (el.matches) return el.matches(selector);\n if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector);\n if (el.msMatchesSelector) return el.msMatchesSelector(selector);\n compareWith = $(selector);\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n if (selector === document) {\n return el === document;\n }\n\n if (selector === window) {\n return el === window;\n }\n\n if (selector.nodeType || selector instanceof Dom7) {\n compareWith = selector.nodeType ? [selector] : selector;\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n return false;\n}\n\nfunction index() {\n var child = this[0];\n var i;\n\n if (child) {\n i = 0; // eslint-disable-next-line\n\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) i += 1;\n }\n\n return i;\n }\n\n return undefined;\n}\n\nfunction eq(index) {\n if (typeof index === 'undefined') return this;\n var length = this.length;\n\n if (index > length - 1) {\n return $([]);\n }\n\n if (index < 0) {\n var returnIndex = length + index;\n if (returnIndex < 0) return $([]);\n return $([this[returnIndex]]);\n }\n\n return $([this[index]]);\n}\n\nfunction append() {\n var newChild;\n var document = getDocument();\n\n for (var k = 0; k < arguments.length; k += 1) {\n newChild = k < 0 || arguments.length <= k ? undefined : arguments[k];\n\n for (var i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n var tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\n while (tempDiv.firstChild) {\n this[i].appendChild(tempDiv.firstChild);\n }\n } else if (newChild instanceof Dom7) {\n for (var j = 0; j < newChild.length; j += 1) {\n this[i].appendChild(newChild[j]);\n }\n } else {\n this[i].appendChild(newChild);\n }\n }\n }\n\n return this;\n}\n\nfunction appendTo(parent) {\n $(parent).append(this);\n return this;\n}\n\nfunction prepend(newChild) {\n var document = getDocument();\n var i;\n var j;\n\n for (i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n var tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\n for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) {\n this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);\n }\n } else if (newChild instanceof Dom7) {\n for (j = 0; j < newChild.length; j += 1) {\n this[i].insertBefore(newChild[j], this[i].childNodes[0]);\n }\n } else {\n this[i].insertBefore(newChild, this[i].childNodes[0]);\n }\n }\n\n return this;\n}\n\nfunction prependTo(parent) {\n $(parent).prepend(this);\n return this;\n}\n\nfunction insertBefore(selector) {\n var before = $(selector);\n\n for (var i = 0; i < this.length; i += 1) {\n if (before.length === 1) {\n before[0].parentNode.insertBefore(this[i], before[0]);\n } else if (before.length > 1) {\n for (var j = 0; j < before.length; j += 1) {\n before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]);\n }\n }\n }\n}\n\nfunction insertAfter(selector) {\n var after = $(selector);\n\n for (var i = 0; i < this.length; i += 1) {\n if (after.length === 1) {\n after[0].parentNode.insertBefore(this[i], after[0].nextSibling);\n } else if (after.length > 1) {\n for (var j = 0; j < after.length; j += 1) {\n after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling);\n }\n }\n }\n}\n\nfunction next(selector) {\n if (this.length > 0) {\n if (selector) {\n if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) {\n return $([this[0].nextElementSibling]);\n }\n\n return $([]);\n }\n\n if (this[0].nextElementSibling) return $([this[0].nextElementSibling]);\n return $([]);\n }\n\n return $([]);\n}\n\nfunction nextAll(selector) {\n var nextEls = [];\n var el = this[0];\n if (!el) return $([]);\n\n while (el.nextElementSibling) {\n var _next = el.nextElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(_next).is(selector)) nextEls.push(_next);\n } else nextEls.push(_next);\n\n el = _next;\n }\n\n return $(nextEls);\n}\n\nfunction prev(selector) {\n if (this.length > 0) {\n var el = this[0];\n\n if (selector) {\n if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) {\n return $([el.previousElementSibling]);\n }\n\n return $([]);\n }\n\n if (el.previousElementSibling) return $([el.previousElementSibling]);\n return $([]);\n }\n\n return $([]);\n}\n\nfunction prevAll(selector) {\n var prevEls = [];\n var el = this[0];\n if (!el) return $([]);\n\n while (el.previousElementSibling) {\n var _prev = el.previousElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(_prev).is(selector)) prevEls.push(_prev);\n } else prevEls.push(_prev);\n\n el = _prev;\n }\n\n return $(prevEls);\n}\n\nfunction siblings(selector) {\n return this.nextAll(selector).add(this.prevAll(selector));\n}\n\nfunction parent(selector) {\n var parents = []; // eslint-disable-line\n\n for (var i = 0; i < this.length; i += 1) {\n if (this[i].parentNode !== null) {\n if (selector) {\n if ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode);\n } else {\n parents.push(this[i].parentNode);\n }\n }\n }\n\n return $(parents);\n}\n\nfunction parents(selector) {\n var parents = []; // eslint-disable-line\n\n for (var i = 0; i < this.length; i += 1) {\n var _parent = this[i].parentNode; // eslint-disable-line\n\n while (_parent) {\n if (selector) {\n if ($(_parent).is(selector)) parents.push(_parent);\n } else {\n parents.push(_parent);\n }\n\n _parent = _parent.parentNode;\n }\n }\n\n return $(parents);\n}\n\nfunction closest(selector) {\n var closest = this; // eslint-disable-line\n\n if (typeof selector === 'undefined') {\n return $([]);\n }\n\n if (!closest.is(selector)) {\n closest = closest.parents(selector).eq(0);\n }\n\n return closest;\n}\n\nfunction find(selector) {\n var foundElements = [];\n\n for (var i = 0; i < this.length; i += 1) {\n var found = this[i].querySelectorAll(selector);\n\n for (var j = 0; j < found.length; j += 1) {\n foundElements.push(found[j]);\n }\n }\n\n return $(foundElements);\n}\n\nfunction children(selector) {\n var children = []; // eslint-disable-line\n\n for (var i = 0; i < this.length; i += 1) {\n var childNodes = this[i].children;\n\n for (var j = 0; j < childNodes.length; j += 1) {\n if (!selector || $(childNodes[j]).is(selector)) {\n children.push(childNodes[j]);\n }\n }\n }\n\n return $(children);\n}\n\nfunction remove() {\n for (var i = 0; i < this.length; i += 1) {\n if (this[i].parentNode) this[i].parentNode.removeChild(this[i]);\n }\n\n return this;\n}\n\nfunction detach() {\n return this.remove();\n}\n\nfunction add() {\n var dom = this;\n var i;\n var j;\n\n for (var _len10 = arguments.length, els = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {\n els[_key10] = arguments[_key10];\n }\n\n for (i = 0; i < els.length; i += 1) {\n var toAdd = $(els[i]);\n\n for (j = 0; j < toAdd.length; j += 1) {\n dom.push(toAdd[j]);\n }\n }\n\n return dom;\n}\n\nfunction empty() {\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (el.nodeType === 1) {\n for (var j = 0; j < el.childNodes.length; j += 1) {\n if (el.childNodes[j].parentNode) {\n el.childNodes[j].parentNode.removeChild(el.childNodes[j]);\n }\n }\n\n el.textContent = '';\n }\n }\n\n return this;\n}\n\nfunction scrollTo() {\n var window = getWindow();\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var left = args[0],\n top = args[1],\n duration = args[2],\n easing = args[3],\n callback = args[4];\n\n if (args.length === 4 && typeof easing === 'function') {\n callback = easing;\n left = args[0];\n top = args[1];\n duration = args[2];\n callback = args[3];\n easing = args[4];\n }\n\n if (typeof easing === 'undefined') easing = 'swing';\n return this.each(function animate() {\n var el = this;\n var currentTop;\n var currentLeft;\n var maxTop;\n var maxLeft;\n var newTop;\n var newLeft;\n var scrollTop; // eslint-disable-line\n\n var scrollLeft; // eslint-disable-line\n\n var animateTop = top > 0 || top === 0;\n var animateLeft = left > 0 || left === 0;\n\n if (typeof easing === 'undefined') {\n easing = 'swing';\n }\n\n if (animateTop) {\n currentTop = el.scrollTop;\n\n if (!duration) {\n el.scrollTop = top;\n }\n }\n\n if (animateLeft) {\n currentLeft = el.scrollLeft;\n\n if (!duration) {\n el.scrollLeft = left;\n }\n }\n\n if (!duration) return;\n\n if (animateTop) {\n maxTop = el.scrollHeight - el.offsetHeight;\n newTop = Math.max(Math.min(top, maxTop), 0);\n }\n\n if (animateLeft) {\n maxLeft = el.scrollWidth - el.offsetWidth;\n newLeft = Math.max(Math.min(left, maxLeft), 0);\n }\n\n var startTime = null;\n if (animateTop && newTop === currentTop) animateTop = false;\n if (animateLeft && newLeft === currentLeft) animateLeft = false;\n\n function render(time) {\n if (time === void 0) {\n time = new Date().getTime();\n }\n\n if (startTime === null) {\n startTime = time;\n }\n\n var progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n var easeProgress = easing === 'linear' ? progress : 0.5 - Math.cos(progress * Math.PI) / 2;\n var done;\n if (animateTop) scrollTop = currentTop + easeProgress * (newTop - currentTop);\n if (animateLeft) scrollLeft = currentLeft + easeProgress * (newLeft - currentLeft);\n\n if (animateTop && newTop > currentTop && scrollTop >= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateTop && newTop < currentTop && scrollTop <= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateLeft && newLeft > currentLeft && scrollLeft >= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (animateLeft && newLeft < currentLeft && scrollLeft <= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (done) {\n if (callback) callback();\n return;\n }\n\n if (animateTop) el.scrollTop = scrollTop;\n if (animateLeft) el.scrollLeft = scrollLeft;\n window.requestAnimationFrame(render);\n }\n\n window.requestAnimationFrame(render);\n });\n} // scrollTop(top, duration, easing, callback) {\n\n\nfunction scrollTop() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var top = args[0],\n duration = args[1],\n easing = args[2],\n callback = args[3];\n\n if (args.length === 3 && typeof easing === 'function') {\n top = args[0];\n duration = args[1];\n callback = args[2];\n easing = args[3];\n }\n\n var dom = this;\n\n if (typeof top === 'undefined') {\n if (dom.length > 0) return dom[0].scrollTop;\n return null;\n }\n\n return dom.scrollTo(undefined, top, duration, easing, callback);\n}\n\nfunction scrollLeft() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n var left = args[0],\n duration = args[1],\n easing = args[2],\n callback = args[3];\n\n if (args.length === 3 && typeof easing === 'function') {\n left = args[0];\n duration = args[1];\n callback = args[2];\n easing = args[3];\n }\n\n var dom = this;\n\n if (typeof left === 'undefined') {\n if (dom.length > 0) return dom[0].scrollLeft;\n return null;\n }\n\n return dom.scrollTo(left, undefined, duration, easing, callback);\n}\n\nfunction animate(initialProps, initialParams) {\n var window = getWindow();\n var els = this;\n var a = {\n props: Object.assign({}, initialProps),\n params: Object.assign({\n duration: 300,\n easing: 'swing' // or 'linear'\n\n /* Callbacks\n begin(elements)\n complete(elements)\n progress(elements, complete, remaining, start, tweenValue)\n */\n\n }, initialParams),\n elements: els,\n animating: false,\n que: [],\n easingProgress: function easingProgress(easing, progress) {\n if (easing === 'swing') {\n return 0.5 - Math.cos(progress * Math.PI) / 2;\n }\n\n if (typeof easing === 'function') {\n return easing(progress);\n }\n\n return progress;\n },\n stop: function stop() {\n if (a.frameId) {\n window.cancelAnimationFrame(a.frameId);\n }\n\n a.animating = false;\n a.elements.each(function (el) {\n var element = el;\n delete element.dom7AnimateInstance;\n });\n a.que = [];\n },\n done: function done(complete) {\n a.animating = false;\n a.elements.each(function (el) {\n var element = el;\n delete element.dom7AnimateInstance;\n });\n if (complete) complete(els);\n\n if (a.que.length > 0) {\n var que = a.que.shift();\n a.animate(que[0], que[1]);\n }\n },\n animate: function animate(props, params) {\n if (a.animating) {\n a.que.push([props, params]);\n return a;\n }\n\n var elements = []; // Define & Cache Initials & Units\n\n a.elements.each(function (el, index) {\n var initialFullValue;\n var initialValue;\n var unit;\n var finalValue;\n var finalFullValue;\n if (!el.dom7AnimateInstance) a.elements[index].dom7AnimateInstance = a;\n elements[index] = {\n container: el\n };\n Object.keys(props).forEach(function (prop) {\n initialFullValue = window.getComputedStyle(el, null).getPropertyValue(prop).replace(',', '.');\n initialValue = parseFloat(initialFullValue);\n unit = initialFullValue.replace(initialValue, '');\n finalValue = parseFloat(props[prop]);\n finalFullValue = props[prop] + unit;\n elements[index][prop] = {\n initialFullValue: initialFullValue,\n initialValue: initialValue,\n unit: unit,\n finalValue: finalValue,\n finalFullValue: finalFullValue,\n currentValue: initialValue\n };\n });\n });\n var startTime = null;\n var time;\n var elementsDone = 0;\n var propsDone = 0;\n var done;\n var began = false;\n a.animating = true;\n\n function render() {\n time = new Date().getTime();\n var progress;\n var easeProgress; // let el;\n\n if (!began) {\n began = true;\n if (params.begin) params.begin(els);\n }\n\n if (startTime === null) {\n startTime = time;\n }\n\n if (params.progress) {\n // eslint-disable-next-line\n params.progress(els, Math.max(Math.min((time - startTime) / params.duration, 1), 0), startTime + params.duration - time < 0 ? 0 : startTime + params.duration - time, startTime);\n }\n\n elements.forEach(function (element) {\n var el = element;\n if (done || el.done) return;\n Object.keys(props).forEach(function (prop) {\n if (done || el.done) return;\n progress = Math.max(Math.min((time - startTime) / params.duration, 1), 0);\n easeProgress = a.easingProgress(params.easing, progress);\n var _el$prop = el[prop],\n initialValue = _el$prop.initialValue,\n finalValue = _el$prop.finalValue,\n unit = _el$prop.unit;\n el[prop].currentValue = initialValue + easeProgress * (finalValue - initialValue);\n var currentValue = el[prop].currentValue;\n\n if (finalValue > initialValue && currentValue >= finalValue || finalValue < initialValue && currentValue <= finalValue) {\n el.container.style[prop] = finalValue + unit;\n propsDone += 1;\n\n if (propsDone === Object.keys(props).length) {\n el.done = true;\n elementsDone += 1;\n }\n\n if (elementsDone === elements.length) {\n done = true;\n }\n }\n\n if (done) {\n a.done(params.complete);\n return;\n }\n\n el.container.style[prop] = currentValue + unit;\n });\n });\n if (done) return; // Then call\n\n a.frameId = window.requestAnimationFrame(render);\n }\n\n a.frameId = window.requestAnimationFrame(render);\n return a;\n }\n };\n\n if (a.elements.length === 0) {\n return els;\n }\n\n var animateInstance;\n\n for (var i = 0; i < a.elements.length; i += 1) {\n if (a.elements[i].dom7AnimateInstance) {\n animateInstance = a.elements[i].dom7AnimateInstance;\n } else a.elements[i].dom7AnimateInstance = a;\n }\n\n if (!animateInstance) {\n animateInstance = a;\n }\n\n if (initialProps === 'stop') {\n animateInstance.stop();\n } else {\n animateInstance.animate(a.props, a.params);\n }\n\n return els;\n}\n\nfunction stop() {\n var els = this;\n\n for (var i = 0; i < els.length; i += 1) {\n if (els[i].dom7AnimateInstance) {\n els[i].dom7AnimateInstance.stop();\n }\n }\n}\n\nvar noTrigger = 'resize scroll'.split(' ');\n\nfunction shortcut(name) {\n function eventHandler() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'undefined') {\n for (var i = 0; i < this.length; i += 1) {\n if (noTrigger.indexOf(name) < 0) {\n if (name in this[i]) this[i][name]();else {\n $(this[i]).trigger(name);\n }\n }\n }\n\n return this;\n }\n\n return this.on.apply(this, [name].concat(args));\n }\n\n return eventHandler;\n}\n\nvar click = shortcut('click');\nvar blur = shortcut('blur');\nvar focus = shortcut('focus');\nvar focusin = shortcut('focusin');\nvar focusout = shortcut('focusout');\nvar keyup = shortcut('keyup');\nvar keydown = shortcut('keydown');\nvar keypress = shortcut('keypress');\nvar submit = shortcut('submit');\nvar change = shortcut('change');\nvar mousedown = shortcut('mousedown');\nvar mousemove = shortcut('mousemove');\nvar mouseup = shortcut('mouseup');\nvar mouseenter = shortcut('mouseenter');\nvar mouseleave = shortcut('mouseleave');\nvar mouseout = shortcut('mouseout');\nvar mouseover = shortcut('mouseover');\nvar touchstart = shortcut('touchstart');\nvar touchend = shortcut('touchend');\nvar touchmove = shortcut('touchmove');\nvar resize = shortcut('resize');\nvar scroll = shortcut('scroll');\n\nexport default $;\nexport { $, add, addClass, animate, animationEnd, append, appendTo, attr, blur, change, children, click, closest, css, data, dataset, detach, each, empty, eq, filter, find, focus, focusin, focusout, hasClass, height, hide, html, index, insertAfter, insertBefore, is, keydown, keypress, keyup, mousedown, mouseenter, mouseleave, mousemove, mouseout, mouseover, mouseup, next, nextAll, off, offset, on, once, outerHeight, outerWidth, parent, parents, prepend, prependTo, prev, prevAll, prop, remove, removeAttr, removeClass, removeData, resize, scroll, scrollLeft, scrollTo, scrollTop, show, siblings, stop, styles, submit, text, toggleClass, touchend, touchmove, touchstart, transform, transition, transitionEnd, trigger, val, value, width };\n","import { $, addClass, removeClass, hasClass, toggleClass, attr, removeAttr, transform, transition, on, off, trigger, transitionEnd, outerWidth, outerHeight, styles, offset, css, each, html, text, is, index, eq, append, prepend, next, nextAll, prev, prevAll, parent, parents, closest, find, children, filter, remove } from 'dom7';\nvar Methods = {\n addClass: addClass,\n removeClass: removeClass,\n hasClass: hasClass,\n toggleClass: toggleClass,\n attr: attr,\n removeAttr: removeAttr,\n transform: transform,\n transition: transition,\n on: on,\n off: off,\n trigger: trigger,\n transitionEnd: transitionEnd,\n outerWidth: outerWidth,\n outerHeight: outerHeight,\n styles: styles,\n offset: offset,\n css: css,\n each: each,\n html: html,\n text: text,\n is: is,\n index: index,\n eq: eq,\n append: append,\n prepend: prepend,\n next: next,\n nextAll: nextAll,\n prev: prev,\n prevAll: prevAll,\n parent: parent,\n parents: parents,\n closest: closest,\n find: find,\n children: children,\n filter: filter,\n remove: remove\n};\nObject.keys(Methods).forEach(function (methodName) {\n Object.defineProperty($.fn, methodName, {\n value: Methods[methodName],\n writable: true\n });\n});\nexport default $;","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\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React, { useRef, useState, forwardRef } from 'react';\nimport { uniqueClasses } from './utils';\nimport { useIsomorphicLayoutEffect } from './use-isomorphic-layout-effect';\nvar SwiperSlide = /*#__PURE__*/forwardRef(function (_temp, externalRef) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$tag = _ref.tag,\n Tag = _ref$tag === void 0 ? 'div' : _ref$tag,\n children = _ref.children,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? '' : _ref$className,\n swiper = _ref.swiper,\n zoom = _ref.zoom,\n virtualIndex = _ref.virtualIndex,\n rest = _objectWithoutPropertiesLoose(_ref, [\"tag\", \"children\", \"className\", \"swiper\", \"zoom\", \"virtualIndex\"]);\n\n var slideElRef = useRef(null);\n\n var _useState = useState('swiper-slide'),\n slideClasses = _useState[0],\n setSlideClasses = _useState[1];\n\n function updateClasses(swiper, el, classNames) {\n if (el === slideElRef.current) {\n setSlideClasses(classNames);\n }\n }\n\n useIsomorphicLayoutEffect(function () {\n if (externalRef) {\n externalRef.current = slideElRef.current;\n }\n\n if (!slideElRef.current || !swiper) {\n return;\n }\n\n if (swiper.destroyed) {\n if (slideClasses !== 'swiper-slide') {\n setSlideClasses('swiper-slide');\n }\n\n return;\n }\n\n swiper.on('_slideClass', updateClasses); // eslint-disable-next-line\n\n return function () {\n if (!swiper) return;\n swiper.off('_slideClass', updateClasses);\n };\n });\n useIsomorphicLayoutEffect(function () {\n if (swiper && slideElRef.current) {\n setSlideClasses(swiper.getSlideClasses(slideElRef.current));\n }\n }, [swiper]);\n var slideData;\n\n if (typeof children === 'function') {\n slideData = {\n isActive: slideClasses.indexOf('swiper-slide-active') >= 0 || slideClasses.indexOf('swiper-slide-duplicate-active') >= 0,\n isVisible: slideClasses.indexOf('swiper-slide-visible') >= 0,\n isDuplicate: slideClasses.indexOf('swiper-slide-duplicate') >= 0,\n isPrev: slideClasses.indexOf('swiper-slide-prev') >= 0 || slideClasses.indexOf('swiper-slide-duplicate-prev') >= 0,\n isNext: slideClasses.indexOf('swiper-slide-next') >= 0 || slideClasses.indexOf('swiper-slide-duplicate-next') >= 0\n };\n }\n\n var renderChildren = function renderChildren() {\n return typeof children === 'function' ? children(slideData) : children;\n };\n\n return /*#__PURE__*/React.createElement(Tag, _extends({\n ref: slideElRef,\n className: uniqueClasses(\"\" + slideClasses + (className ? \" \" + className : '')),\n \"data-swiper-slide-index\": virtualIndex\n }, rest), zoom ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"swiper-zoom-container\",\n \"data-swiper-zoom\": typeof zoom === 'number' ? zoom : undefined\n }, renderChildren()) : renderChildren());\n});\nSwiperSlide.displayName = 'SwiperSlide';\nexport { SwiperSlide };","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};","import { getWindow, getDocument } from 'ssr-window';\nimport $ from '../../../utils/dom';\nimport { extend, now } from '../../../utils/utils';\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\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 componenet\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 if (params.noSwiping && $targetEl.closest(params.noSwipingSelector ? params.noSwipingSelector : \".\" + params.noSwipingClass)[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.formElements)) preventDefault = false;\n\n if (document.activeElement && $(document.activeElement).is(data.formElements) && 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 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.formElements)) {\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 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\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 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};","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};","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 // 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 $ 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 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 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 formElements: 'input, select, option, textarea, button, video, label',\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.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; // Find Wrapper\n\n var $wrapperEl;\n\n if (el && el.shadowRoot && el.shadowRoot.querySelector) {\n $wrapperEl = $(el.shadowRoot.querySelector(\".\" + swiper.params.wrapperClass)); // Children needs to return slot items\n\n $wrapperEl.children = function (options) {\n return $el.children(options);\n };\n } else {\n $wrapperEl = $el.children(\".\" + swiper.params.wrapperClass);\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) {\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);\n } else {\n swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit);\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};","/* 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 var getDirectionLabel = 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 var getDirectionPropertyValue = 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\n function slidesForMargin(slideEl, slideIndex) {\n if (!params.cssMode) return true;\n\n if (slideIndex === slides.length - 1) {\n return false;\n }\n\n return true;\n }\n\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 marginTop: ''\n });else slides.css({\n marginRight: '',\n marginBottom: ''\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(slidesForMargin).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 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 } // 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) break;\n activeSlides.push(swiper.slides.eq(index)[0]);\n }\n }\n } else {\n activeSlides.push(swiper.slides.eq(swiper.activeIndex)[0]);\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 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 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) {\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\n if (swiper.animating && params.preventInteractionOnTransition) {\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 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\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 currentSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate)];\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 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\n if (breakpoint && swiper.currentBreakpoint !== breakpoint) {\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\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 === '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 extend(swiper, {\n allowTouchMove: swiper.params.allowTouchMove,\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev\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 }\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 currentWidth = base === 'window' ? window.innerWidth : containerEl.clientWidth;\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 (value <= currentWidth) {\n breakpoint = point;\n }\n }\n\n return breakpoint || 'max';\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}","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}","import { getWindow } from 'ssr-window';\n\nfunction deleteProps(obj) {\n var object = obj;\n Object.keys(object).forEach(function (key) {\n try {\n object[key] = null;\n } catch (e) {// no getter for object\n }\n\n try {\n delete object[key];\n } catch (e) {// something got wrong\n }\n });\n}\n\nfunction nextTick(callback, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n\n return setTimeout(callback, delay);\n}\n\nfunction now() {\n return Date.now();\n}\n\nfunction getComputedStyle(el) {\n var window = getWindow();\n var style;\n\n if (window.getComputedStyle) {\n style = window.getComputedStyle(el, null);\n }\n\n if (!style && el.currentStyle) {\n style = el.currentStyle;\n }\n\n if (!style) {\n style = el.style;\n }\n\n return style;\n}\n\nfunction getTranslate(el, axis) {\n if (axis === void 0) {\n axis = 'x';\n }\n\n var window = getWindow();\n var matrix;\n var curTransform;\n var transformMatrix;\n var curStyle = getComputedStyle(el, null);\n\n if (window.WebKitCSSMatrix) {\n curTransform = curStyle.transform || curStyle.webkitTransform;\n\n if (curTransform.split(',').length > 6) {\n curTransform = curTransform.split(', ').map(function (a) {\n return a.replace(',', '.');\n }).join(', ');\n } // Some old versions of Webkit choke when 'none' is passed; pass\n // empty string instead in this case\n\n\n transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\n } else {\n transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n matrix = transformMatrix.toString().split(',');\n }\n\n if (axis === 'x') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41; // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[12]); // Normal Browsers\n else curTransform = parseFloat(matrix[4]);\n }\n\n if (axis === 'y') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42; // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[13]); // Normal Browsers\n else curTransform = parseFloat(matrix[5]);\n }\n\n return curTransform || 0;\n}\n\nfunction isObject(o) {\n return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';\n}\n\nfunction extend() {\n var to = Object(arguments.length <= 0 ? undefined : arguments[0]);\n var noExtend = ['__proto__', 'constructor', 'prototype'];\n\n for (var i = 1; i < arguments.length; i += 1) {\n var nextSource = i < 0 || arguments.length <= i ? undefined : arguments[i];\n\n if (nextSource !== undefined && nextSource !== null) {\n var keysArray = Object.keys(Object(nextSource)).filter(function (key) {\n return noExtend.indexOf(key) < 0;\n });\n\n for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\n var nextKey = keysArray[nextIndex];\n var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n\n if (desc !== undefined && desc.enumerable) {\n if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n to[nextKey] = {};\n\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n }\n\n return to;\n}\n\nfunction bindModuleMethods(instance, obj) {\n Object.keys(obj).forEach(function (key) {\n if (isObject(obj[key])) {\n Object.keys(obj[key]).forEach(function (subKey) {\n if (typeof obj[key][subKey] === 'function') {\n obj[key][subKey] = obj[key][subKey].bind(instance);\n }\n });\n }\n\n instance[key] = obj[key];\n });\n}\n\nfunction classesToSelector(classes) {\n if (classes === void 0) {\n classes = '';\n }\n\n return \".\" + classes.trim().replace(/([\\.:\\/])/g, '\\\\$1') // eslint-disable-line\n .replace(/ /g, '.');\n}\n\nexport { deleteProps, nextTick, now, getTranslate, isObject, extend, bindModuleMethods, getComputedStyle, classesToSelector };","function isObject(o) {\n return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';\n}\n\nfunction extend(target, src) {\n var noExtend = ['__proto__', 'constructor', 'prototype'];\n Object.keys(src).filter(function (key) {\n return noExtend.indexOf(key) < 0;\n }).forEach(function (key) {\n if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) {\n if (src[key].__swiper__) target[key] = src[key];else extend(target[key], src[key]);\n } else {\n target[key] = src[key];\n }\n });\n}\n\nfunction needsNavigation(params) {\n if (params === void 0) {\n params = {};\n }\n\n return params.navigation && typeof params.navigation.nextEl === 'undefined' && typeof params.navigation.prevEl === 'undefined';\n}\n\nfunction needsPagination(params) {\n if (params === void 0) {\n params = {};\n }\n\n return params.pagination && typeof params.pagination.el === 'undefined';\n}\n\nfunction needsScrollbar(params) {\n if (params === void 0) {\n params = {};\n }\n\n return params.scrollbar && typeof params.scrollbar.el === 'undefined';\n}\n\nfunction uniqueClasses(classNames) {\n if (classNames === void 0) {\n classNames = '';\n }\n\n var classes = classNames.split(' ').map(function (c) {\n return c.trim();\n }).filter(function (c) {\n return !!c;\n });\n var unique = [];\n classes.forEach(function (c) {\n if (unique.indexOf(c) < 0) unique.push(c);\n });\n return unique.join(' ');\n}\n\nexport { isObject, extend, needsNavigation, needsPagination, needsScrollbar, uniqueClasses };","/* underscore in name -> watch for changes */\nvar paramsList = ['init', '_direction', 'touchEventsTarget', 'initialSlide', '_speed', 'cssMode', 'updateOnWindowResize', 'resizeObserver', 'nested', '_width', '_height', 'preventInteractionOnTransition', 'userAgent', 'url', '_edgeSwipeDetection', '_edgeSwipeThreshold', '_freeMode', '_freeModeMomentum', '_freeModeMomentumRatio', '_freeModeMomentumBounce', '_freeModeMomentumBounceRatio', '_freeModeMomentumVelocityRatio', '_freeModeSticky', '_freeModeMinimumVelocity', '_autoHeight', 'setWrapperSize', 'virtualTranslate', '_effect', 'breakpoints', '_spaceBetween', '_slidesPerView', '_slidesPerColumn', '_slidesPerColumnFill', '_slidesPerGroup', '_slidesPerGroupSkip', '_centeredSlides', '_centeredSlidesBounds', '_slidesOffsetBefore', '_slidesOffsetAfter', 'normalizeSlideIndex', '_centerInsufficientSlides', '_watchOverflow', 'roundLengths', 'touchRatio', 'touchAngle', 'simulateTouch', '_shortSwipes', '_longSwipes', 'longSwipesRatio', 'longSwipesMs', '_followFinger', 'allowTouchMove', '_threshold', 'touchMoveStopPropagation', 'touchStartPreventDefault', 'touchStartForcePreventDefault', 'touchReleaseOnEdges', 'uniqueNavElements', '_resistance', '_resistanceRatio', '_watchSlidesProgress', '_watchSlidesVisibility', '_grabCursor', 'preventClicks', 'preventClicksPropagation', '_slideToClickedSlide', '_preloadImages', 'updateOnImagesReady', '_loop', '_loopAdditionalSlides', '_loopedSlides', '_loopFillGroupWithBlank', 'loopPreventsSlide', '_allowSlidePrev', '_allowSlideNext', '_swipeHandler', '_noSwiping', 'noSwipingClass', 'noSwipingSelector', 'passiveListeners', 'containerModifierClass', 'slideClass', 'slideBlankClass', 'slideActiveClass', 'slideDuplicateActiveClass', 'slideVisibleClass', 'slideDuplicateClass', 'slideNextClass', 'slideDuplicateNextClass', 'slidePrevClass', 'slideDuplicatePrevClass', 'wrapperClass', 'runCallbacksOnInit', 'observer', 'observeParents', 'observeSlideChildren', // modules\n'a11y', 'autoplay', '_controller', 'coverflowEffect', 'cubeEffect', 'fadeEffect', 'flipEffect', 'hashNavigation', 'history', 'keyboard', 'lazy', 'mousewheel', '_navigation', '_pagination', 'parallax', '_scrollbar', '_thumbs', 'virtual', 'zoom'];\nexport { paramsList };","import React from 'react'; // eslint-disable-next-line\n\nimport Swiper from '../../core';\n\nfunction calcLoopedSlides(slides, swiperParams) {\n var slidesPerViewParams = swiperParams.slidesPerView;\n\n if (swiperParams.breakpoints) {\n var breakpoint = Swiper.prototype.getBreakpoint(swiperParams.breakpoints);\n var breakpointOnlyParams = breakpoint in swiperParams.breakpoints ? swiperParams.breakpoints[breakpoint] : undefined;\n\n if (breakpointOnlyParams && breakpointOnlyParams.slidesPerView) {\n slidesPerViewParams = breakpointOnlyParams.slidesPerView;\n }\n }\n\n var loopedSlides = Math.ceil(parseFloat(swiperParams.loopedSlides || slidesPerViewParams, 10));\n loopedSlides += swiperParams.loopAdditionalSlides;\n\n if (loopedSlides > slides.length) {\n loopedSlides = slides.length;\n }\n\n return loopedSlides;\n}\n\nfunction renderLoop(swiper, slides, swiperParams) {\n var modifiedSlides = slides.map(function (child, index) {\n return /*#__PURE__*/React.cloneElement(child, {\n swiper: swiper,\n 'data-swiper-slide-index': index\n });\n });\n\n function duplicateSlide(child, index, position) {\n return /*#__PURE__*/React.cloneElement(child, {\n key: child.key + \"-duplicate-\" + index + \"-\" + position,\n className: (child.props.className || '') + \" \" + swiperParams.slideDuplicateClass\n });\n }\n\n if (swiperParams.loopFillGroupWithBlank) {\n var blankSlidesNum = swiperParams.slidesPerGroup - modifiedSlides.length % swiperParams.slidesPerGroup;\n\n if (blankSlidesNum !== swiperParams.slidesPerGroup) {\n for (var i = 0; i < blankSlidesNum; i += 1) {\n var blankSlide = /*#__PURE__*/React.createElement(\"div\", {\n className: swiperParams.slideClass + \" \" + swiperParams.slideBlankClass\n });\n modifiedSlides.push(blankSlide);\n }\n }\n }\n\n if (swiperParams.slidesPerView === 'auto' && !swiperParams.loopedSlides) {\n swiperParams.loopedSlides = modifiedSlides.length;\n }\n\n var loopedSlides = calcLoopedSlides(modifiedSlides, swiperParams);\n var prependSlides = [];\n var appendSlides = [];\n modifiedSlides.forEach(function (child, index) {\n if (index < loopedSlides) {\n appendSlides.push(duplicateSlide(child, index, 'prepend'));\n }\n\n if (index < modifiedSlides.length && index >= modifiedSlides.length - loopedSlides) {\n prependSlides.push(duplicateSlide(child, index, 'append'));\n }\n });\n\n if (swiper) {\n swiper.loopedSlides = loopedSlides;\n }\n\n return [].concat(prependSlides, modifiedSlides, appendSlides);\n}\n\nexport { calcLoopedSlides, renderLoop };","import React from 'react';\n\nfunction processChildren(c) {\n var slides = [];\n React.Children.toArray(c).forEach(function (child) {\n if (child.type && child.type.displayName === 'SwiperSlide') {\n slides.push(child);\n } else if (child.props && child.props.children) {\n processChildren(child.props.children).forEach(function (slide) {\n return slides.push(slide);\n });\n }\n });\n return slides;\n}\n\nfunction getChildren(c) {\n var slides = [];\n var slots = {\n 'container-start': [],\n 'container-end': [],\n 'wrapper-start': [],\n 'wrapper-end': []\n };\n React.Children.toArray(c).forEach(function (child) {\n if (child.type && child.type.displayName === 'SwiperSlide') {\n slides.push(child);\n } else if (child.props && child.props.slot && slots[child.props.slot]) {\n slots[child.props.slot].push(child);\n } else if (child.props && child.props.children) {\n var foundSlides = processChildren(child.props.children);\n\n if (foundSlides.length > 0) {\n foundSlides.forEach(function (slide) {\n return slides.push(slide);\n });\n } else {\n slots['container-end'].push(child);\n }\n } else {\n slots['container-end'].push(child);\n }\n });\n return {\n slides: slides,\n slots: slots\n };\n}\n\nexport { getChildren };","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\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React, { useRef, useState, useEffect, forwardRef } from 'react';\nimport { getParams } from './get-params';\nimport { initSwiper, mountSwiper } from './init-swiper';\nimport { needsScrollbar, needsNavigation, needsPagination, uniqueClasses, extend } from './utils';\nimport { renderLoop, calcLoopedSlides } from './loop';\nimport { getChangedParams } from './get-changed-params';\nimport { getChildren } from './get-children';\nimport { updateSwiper } from './update-swiper';\nimport { renderVirtual, updateOnVirtualData } from './virtual';\nimport { useIsomorphicLayoutEffect } from './use-isomorphic-layout-effect';\nvar Swiper = /*#__PURE__*/forwardRef(function (_temp, externalElRef) {\n var _ref = _temp === void 0 ? {} : _temp,\n className = _ref.className,\n _ref$tag = _ref.tag,\n Tag = _ref$tag === void 0 ? 'div' : _ref$tag,\n _ref$wrapperTag = _ref.wrapperTag,\n WrapperTag = _ref$wrapperTag === void 0 ? 'div' : _ref$wrapperTag,\n children = _ref.children,\n onSwiper = _ref.onSwiper,\n rest = _objectWithoutPropertiesLoose(_ref, [\"className\", \"tag\", \"wrapperTag\", \"children\", \"onSwiper\"]);\n\n var _useState = useState('swiper-container'),\n containerClasses = _useState[0],\n setContainerClasses = _useState[1];\n\n var _useState2 = useState(null),\n virtualData = _useState2[0],\n setVirtualData = _useState2[1];\n\n var _useState3 = useState(false),\n breakpointChanged = _useState3[0],\n setBreakpointChanged = _useState3[1];\n\n var initializedRef = useRef(false);\n var swiperElRef = useRef(null);\n var swiperRef = useRef(null);\n var oldPassedParamsRef = useRef(null);\n var oldSlides = useRef(null);\n var nextElRef = useRef(null);\n var prevElRef = useRef(null);\n var paginationElRef = useRef(null);\n var scrollbarElRef = useRef(null);\n\n var _getParams = getParams(rest),\n swiperParams = _getParams.params,\n passedParams = _getParams.passedParams,\n restProps = _getParams.rest;\n\n var _getChildren = getChildren(children),\n slides = _getChildren.slides,\n slots = _getChildren.slots;\n\n var changedParams = getChangedParams(passedParams, oldPassedParamsRef.current, slides, oldSlides.current);\n oldPassedParamsRef.current = passedParams;\n oldSlides.current = slides;\n\n var onBeforeBreakpoint = function onBeforeBreakpoint() {\n setBreakpointChanged(!breakpointChanged);\n };\n\n Object.assign(swiperParams.on, {\n _containerClasses: function _containerClasses(swiper, classes) {\n setContainerClasses(classes);\n }\n });\n\n if (!swiperElRef.current) {\n // init swiper\n swiperRef.current = initSwiper(swiperParams);\n\n swiperRef.current.loopCreate = function () {};\n\n swiperRef.current.loopDestroy = function () {};\n\n if (swiperParams.loop) {\n swiperRef.current.loopedSlides = calcLoopedSlides(slides, swiperParams);\n }\n\n if (swiperRef.current.virtual && swiperRef.current.params.virtual.enabled) {\n swiperRef.current.virtual.slides = slides;\n var extendWith = {\n cache: false,\n renderExternal: setVirtualData,\n renderExternalUpdate: false\n };\n extend(swiperRef.current.params.virtual, extendWith);\n extend(swiperRef.current.originalParams.virtual, extendWith);\n }\n } // Listen for breakpoints change\n\n\n if (swiperRef.current) {\n swiperRef.current.on('_beforeBreakpoint', onBeforeBreakpoint);\n }\n\n useEffect(function () {\n return function () {\n if (swiperRef.current) swiperRef.current.off('_beforeBreakpoint', onBeforeBreakpoint);\n };\n }); // set initialized flag\n\n useEffect(function () {\n if (!initializedRef.current && swiperRef.current) {\n swiperRef.current.emitSlidesClasses();\n initializedRef.current = true;\n }\n }); // mount swiper\n\n useIsomorphicLayoutEffect(function () {\n if (externalElRef) {\n externalElRef.current = swiperElRef.current;\n }\n\n if (!swiperElRef.current) return;\n mountSwiper({\n el: swiperElRef.current,\n nextEl: nextElRef.current,\n prevEl: prevElRef.current,\n paginationEl: paginationElRef.current,\n scrollbarEl: scrollbarElRef.current,\n swiper: swiperRef.current\n }, swiperParams);\n if (onSwiper) onSwiper(swiperRef.current); // eslint-disable-next-line\n\n return function () {\n if (swiperRef.current && !swiperRef.current.destroyed) {\n swiperRef.current.destroy(true, false);\n }\n };\n }, []); // watch for params change\n\n useIsomorphicLayoutEffect(function () {\n if (changedParams.length && swiperRef.current && !swiperRef.current.destroyed) {\n updateSwiper(swiperRef.current, slides, passedParams, changedParams);\n }\n }); // update on virtual update\n\n useIsomorphicLayoutEffect(function () {\n updateOnVirtualData(swiperRef.current);\n }, [virtualData]); // bypass swiper instance to slides\n\n function renderSlides() {\n if (swiperParams.virtual) {\n return renderVirtual(swiperRef.current, slides, virtualData);\n }\n\n if (!swiperParams.loop || swiperRef.current && swiperRef.current.destroyed) {\n return slides.map(function (child) {\n return /*#__PURE__*/React.cloneElement(child, {\n swiper: swiperRef.current\n });\n });\n }\n\n return renderLoop(swiperRef.current, slides, swiperParams);\n }\n\n return /*#__PURE__*/React.createElement(Tag, _extends({\n ref: swiperElRef,\n className: uniqueClasses(\"\" + containerClasses + (className ? \" \" + className : ''))\n }, restProps), slots['container-start'], needsNavigation(swiperParams) && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n ref: prevElRef,\n className: \"swiper-button-prev\"\n }), /*#__PURE__*/React.createElement(\"div\", {\n ref: nextElRef,\n className: \"swiper-button-next\"\n })), needsScrollbar(swiperParams) && /*#__PURE__*/React.createElement(\"div\", {\n ref: scrollbarElRef,\n className: \"swiper-scrollbar\"\n }), needsPagination(swiperParams) && /*#__PURE__*/React.createElement(\"div\", {\n ref: paginationElRef,\n className: \"swiper-pagination\"\n }), /*#__PURE__*/React.createElement(WrapperTag, {\n className: \"swiper-wrapper\"\n }, slots['wrapper-start'], renderSlides(), slots['wrapper-end']), slots['container-end']);\n});\nSwiper.displayName = 'Swiper';\nexport { Swiper };","// eslint-disable-next-line\nimport Swiper from '../../core';\nimport { isObject, extend } from './utils';\nimport { paramsList } from './params-list';\n\nfunction getParams(obj) {\n if (obj === void 0) {\n obj = {};\n }\n\n var params = {\n on: {}\n };\n var passedParams = {};\n extend(params, Swiper.defaults);\n extend(params, Swiper.extendedDefaults);\n params._emitClasses = true;\n params.init = false;\n var rest = {};\n var allowedParams = paramsList.map(function (key) {\n return key.replace(/_/, '');\n });\n Object.keys(obj).forEach(function (key) {\n if (allowedParams.indexOf(key) >= 0) {\n if (isObject(obj[key])) {\n params[key] = {};\n passedParams[key] = {};\n extend(params[key], obj[key]);\n extend(passedParams[key], obj[key]);\n } else {\n params[key] = obj[key];\n passedParams[key] = obj[key];\n }\n } else if (key.search(/on[A-Z]/) === 0 && typeof obj[key] === 'function') {\n params.on[\"\" + key[2].toLowerCase() + key.substr(3)] = obj[key];\n } else {\n rest[key] = obj[key];\n }\n });\n ['navigation', 'pagination', 'scrollbar'].forEach(function (key) {\n if (params[key] === true) params[key] = {};\n });\n return {\n params: params,\n passedParams: passedParams,\n rest: rest\n };\n}\n\nexport { getParams };","import { paramsList } from './params-list';\nimport { isObject } from './utils';\n\nfunction getChangedParams(swiperParams, oldParams, children, oldChildren) {\n var keys = [];\n if (!oldParams) return keys;\n\n var addKey = function addKey(key) {\n if (keys.indexOf(key) < 0) keys.push(key);\n };\n\n var oldChildrenKeys = oldChildren.map(function (child) {\n return child.key;\n });\n var childrenKeys = children.map(function (child) {\n return child.key;\n });\n if (oldChildrenKeys.join('') !== childrenKeys.join('')) addKey('children');\n if (oldChildren.length !== children.length) addKey('children');\n var watchParams = paramsList.filter(function (key) {\n return key[0] === '_';\n }).map(function (key) {\n return key.replace(/_/, '');\n });\n watchParams.forEach(function (key) {\n if (key in swiperParams && key in oldParams) {\n if (isObject(swiperParams[key]) && isObject(oldParams[key])) {\n var newKeys = Object.keys(swiperParams[key]);\n var oldKeys = Object.keys(oldParams[key]);\n\n if (newKeys.length !== oldKeys.length) {\n addKey(key);\n } else {\n newKeys.forEach(function (newKey) {\n if (swiperParams[key][newKey] !== oldParams[key][newKey]) {\n addKey(key);\n }\n });\n oldKeys.forEach(function (oldKey) {\n if (swiperParams[key][oldKey] !== oldParams[key][oldKey]) addKey(key);\n });\n }\n } else if (swiperParams[key] !== oldParams[key]) {\n addKey(key);\n }\n }\n });\n return keys;\n}\n\nexport { getChangedParams };","// eslint-disable-next-line\nimport Swiper from '../../core';\nimport { needsNavigation, needsPagination, needsScrollbar } from './utils';\n\nfunction initSwiper(swiperParams) {\n return new Swiper(swiperParams);\n}\n\nfunction mountSwiper(_ref, swiperParams) {\n var el = _ref.el,\n nextEl = _ref.nextEl,\n prevEl = _ref.prevEl,\n paginationEl = _ref.paginationEl,\n scrollbarEl = _ref.scrollbarEl,\n swiper = _ref.swiper;\n\n if (needsNavigation(swiperParams) && nextEl && prevEl) {\n swiper.params.navigation.nextEl = nextEl;\n swiper.originalParams.navigation.nextEl = nextEl;\n swiper.params.navigation.prevEl = prevEl;\n swiper.originalParams.navigation.prevEl = prevEl;\n }\n\n if (needsPagination(swiperParams) && paginationEl) {\n swiper.params.pagination.el = paginationEl;\n swiper.originalParams.pagination.el = paginationEl;\n }\n\n if (needsScrollbar(swiperParams) && scrollbarEl) {\n swiper.params.scrollbar.el = scrollbarEl;\n swiper.originalParams.scrollbar.el = scrollbarEl;\n }\n\n swiper.init(el);\n}\n\nexport { initSwiper, mountSwiper };","import { isObject, extend } from './utils';\n\nfunction updateSwiper(swiper, slides, passedParams, changedParams) {\n var updateParams = changedParams.filter(function (key) {\n return key !== 'children' && key !== 'direction';\n });\n var currentParams = swiper.params,\n pagination = swiper.pagination,\n navigation = swiper.navigation,\n scrollbar = swiper.scrollbar,\n virtual = swiper.virtual,\n thumbs = swiper.thumbs;\n var needThumbsInit;\n var needControllerInit;\n var needPaginationInit;\n var needScrollbarInit;\n var needNavigationInit;\n\n if (changedParams.includes('thumbs') && passedParams.thumbs && passedParams.thumbs.swiper && currentParams.thumbs && !currentParams.thumbs.swiper) {\n needThumbsInit = true;\n }\n\n if (changedParams.includes('controller') && passedParams.controller && passedParams.controller.control && currentParams.controller && !currentParams.controller.control) {\n needControllerInit = true;\n }\n\n if (changedParams.includes('pagination') && passedParams.pagination && passedParams.pagination.el && currentParams.pagination && pagination && !pagination.el) {\n needPaginationInit = true;\n }\n\n if (changedParams.includes('scrollbar') && passedParams.scrollbar && passedParams.scrollbar.el && currentParams.scrollbar && scrollbar && !scrollbar.el) {\n needScrollbarInit = true;\n }\n\n if (changedParams.includes('navigation') && passedParams.navigation && passedParams.navigation.prevEl && passedParams.navigation.nextEl && currentParams.navigation && navigation && !navigation.prevEl && !navigation.nextEl) {\n needNavigationInit = true;\n }\n\n updateParams.forEach(function (key) {\n if (isObject(currentParams[key]) && isObject(passedParams[key])) {\n extend(currentParams[key], passedParams[key]);\n } else {\n currentParams[key] = passedParams[key];\n }\n });\n\n if (changedParams.includes('children') && virtual && currentParams.virtual.enabled) {\n virtual.slides = slides;\n virtual.update(true);\n }\n\n if (needThumbsInit) {\n var initialized = thumbs.init();\n if (initialized) thumbs.update(true);\n }\n\n if (needControllerInit) {\n swiper.controller.control = currentParams.controller.control;\n }\n\n if (needPaginationInit) {\n pagination.init();\n pagination.render();\n pagination.update();\n }\n\n if (needScrollbarInit) {\n scrollbar.init();\n scrollbar.updateSize();\n scrollbar.setTranslate();\n }\n\n if (needNavigationInit) {\n navigation.init();\n navigation.update();\n }\n\n if (changedParams.includes('allowSlideNext')) {\n swiper.allowSlideNext = passedParams.allowSlideNext;\n }\n\n if (changedParams.includes('allowSlidePrev')) {\n swiper.allowSlidePrev = passedParams.allowSlidePrev;\n }\n\n if (changedParams.includes('direction')) {\n swiper.changeDirection(passedParams.direction, false);\n }\n\n swiper.update();\n}\n\nexport { updateSwiper };","import React from 'react';\n\nfunction updateOnVirtualData(swiper) {\n if (!swiper || swiper.destroyed || !swiper.params.virtual || swiper.params.virtual && !swiper.params.virtual.enabled) return;\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n\n if (swiper.lazy && swiper.params.lazy.enabled) {\n swiper.lazy.load();\n }\n}\n\nfunction renderVirtual(swiper, slides, virtualData) {\n var _ref;\n\n if (!virtualData) return null;\n var style = swiper.isHorizontal() ? (_ref = {}, _ref[swiper.rtlTranslate ? 'right' : 'left'] = virtualData.offset + \"px\", _ref) : {\n top: virtualData.offset + \"px\"\n };\n return slides.filter(function (child, index) {\n return index >= virtualData.from && index <= virtualData.to;\n }).map(function (child) {\n return /*#__PURE__*/React.cloneElement(child, {\n swiper: swiper,\n style: style\n });\n });\n}\n\nexport { renderVirtual, updateOnVirtualData };"],"sourceRoot":""}