{"version":3,"sources":["webpack:///./src/views/Home.vue?6bc9","webpack:///./node_modules/ssr-window/ssr-window.esm.js","webpack:///./node_modules/dom7/dom7.esm.js","webpack:///./node_modules/swiper/esm/utils/dom.js","webpack:///./node_modules/swiper/esm/utils/get-support.js","webpack:///./node_modules/swiper/esm/utils/get-device.js","webpack:///./node_modules/swiper/esm/utils/get-browser.js","webpack:///./node_modules/swiper/esm/utils/utils.js","webpack:///./node_modules/swiper/esm/modules/resize/resize.js","webpack:///./node_modules/swiper/esm/modules/observer/observer.js","webpack:///./node_modules/swiper/esm/components/core/modular.js","webpack:///./node_modules/swiper/esm/components/core/events-emitter.js","webpack:///./node_modules/swiper/esm/components/core/update/updateSize.js","webpack:///./node_modules/swiper/esm/components/core/update/updateSlides.js","webpack:///./node_modules/swiper/esm/components/core/update/updateAutoHeight.js","webpack:///./node_modules/swiper/esm/components/core/update/updateSlidesOffset.js","webpack:///./node_modules/swiper/esm/components/core/update/updateSlidesProgress.js","webpack:///./node_modules/swiper/esm/components/core/update/updateProgress.js","webpack:///./node_modules/swiper/esm/components/core/update/updateSlidesClasses.js","webpack:///./node_modules/swiper/esm/components/core/update/updateActiveIndex.js","webpack:///./node_modules/swiper/esm/components/core/update/updateClickedSlide.js","webpack:///./node_modules/swiper/esm/components/core/update/index.js","webpack:///./node_modules/swiper/esm/components/core/translate/getTranslate.js","webpack:///./node_modules/swiper/esm/components/core/translate/setTranslate.js","webpack:///./node_modules/swiper/esm/components/core/translate/minTranslate.js","webpack:///./node_modules/swiper/esm/components/core/translate/maxTranslate.js","webpack:///./node_modules/swiper/esm/components/core/translate/translateTo.js","webpack:///./node_modules/swiper/esm/components/core/translate/index.js","webpack:///./node_modules/swiper/esm/components/core/transition/setTransition.js","webpack:///./node_modules/swiper/esm/components/core/transition/transitionStart.js","webpack:///./node_modules/swiper/esm/components/core/transition/transitionEnd.js","webpack:///./node_modules/swiper/esm/components/core/transition/index.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideTo.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideToLoop.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideNext.js","webpack:///./node_modules/swiper/esm/components/core/slide/slidePrev.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideReset.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideToClosest.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideToClickedSlide.js","webpack:///./node_modules/swiper/esm/components/core/slide/index.js","webpack:///./node_modules/swiper/esm/components/core/loop/loopCreate.js","webpack:///./node_modules/swiper/esm/components/core/loop/loopFix.js","webpack:///./node_modules/swiper/esm/components/core/loop/loopDestroy.js","webpack:///./node_modules/swiper/esm/components/core/loop/index.js","webpack:///./node_modules/swiper/esm/components/core/grab-cursor/setGrabCursor.js","webpack:///./node_modules/swiper/esm/components/core/grab-cursor/unsetGrabCursor.js","webpack:///./node_modules/swiper/esm/components/core/grab-cursor/index.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/appendSlide.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/prependSlide.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/addSlide.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/removeSlide.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/removeAllSlides.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/index.js","webpack:///./node_modules/swiper/esm/components/core/events/onTouchStart.js","webpack:///./node_modules/swiper/esm/components/core/events/onTouchMove.js","webpack:///./node_modules/swiper/esm/components/core/events/onTouchEnd.js","webpack:///./node_modules/swiper/esm/components/core/events/onResize.js","webpack:///./node_modules/swiper/esm/components/core/events/onClick.js","webpack:///./node_modules/swiper/esm/components/core/events/onScroll.js","webpack:///./node_modules/swiper/esm/components/core/events/index.js","webpack:///./node_modules/swiper/esm/components/core/breakpoints/setBreakpoint.js","webpack:///./node_modules/swiper/esm/components/core/breakpoints/getBreakpoint.js","webpack:///./node_modules/swiper/esm/components/core/breakpoints/index.js","webpack:///./node_modules/swiper/esm/components/core/classes/addClasses.js","webpack:///./node_modules/swiper/esm/components/core/classes/removeClasses.js","webpack:///./node_modules/swiper/esm/components/core/classes/index.js","webpack:///./node_modules/swiper/esm/components/core/images/loadImage.js","webpack:///./node_modules/swiper/esm/components/core/images/preloadImages.js","webpack:///./node_modules/swiper/esm/components/core/images/index.js","webpack:///./node_modules/swiper/esm/components/core/check-overflow/index.js","webpack:///./node_modules/swiper/esm/components/core/defaults.js","webpack:///./node_modules/swiper/esm/components/core/core-class.js","webpack:///./node_modules/swiper/esm/components/pagination/pagination.js","webpack:///./node_modules/swiper/esm/components/navigation/navigation.js","webpack:///./node_modules/swiper/esm/components/autoplay/autoplay.js","webpack:///src/views/Home.vue","webpack:///./src/views/Home.vue?493c","webpack:///./src/views/Home.vue","webpack:///./node_modules/vue-awesome-swiper/dist/exporter.js"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","loop","autoplay","delay","disableOnInteraction","pagination","el","type","clickable","navigation","nextEl","prevEl","name","slot","_m","staticStyle","swiperOptions","staticRenderFns","isObject","obj","constructor","Object","extend","target","src","keys","forEach","key","length","ssrDocument","body","addEventListener","removeEventListener","activeElement","blur","nodeName","querySelector","querySelectorAll","getElementById","createEvent","initEvent","createElement","children","childNodes","style","setAttribute","getElementsByTagName","createElementNS","importNode","location","hash","host","hostname","href","origin","pathname","protocol","search","getDocument","doc","document","ssrWindow","navigator","userAgent","history","replaceState","pushState","go","back","CustomEvent","getComputedStyle","getPropertyValue","Image","Date","screen","setTimeout","clearTimeout","matchMedia","requestAnimationFrame","callback","cancelAnimationFrame","id","getWindow","win","window","_inheritsLoose","subClass","superClass","prototype","create","__proto__","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","_setPrototypeOf","p","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","toString","call","e","_construct","Parent","args","Class","a","push","apply","Constructor","Function","bind","instance","arguments","_isNativeFunction","fn","indexOf","_wrapNativeSuper","_cache","Map","undefined","TypeError","has","get","set","Wrapper","value","enumerable","writable","configurable","_assertThisInitialized","self","ReferenceError","makeReactive","proto","defineProperty","Dom7","_Array","items","_this","concat","Array","arrayFlat","arr","res","isArray","arrayFilter","filter","arrayUnique","uniqueArray","i","qsa","selector","context","$","html","trim","toCreate","tempParent","innerHTML","nodeType","addClass","_len","classes","_key","classNames","map","c","split","_el$classList","classList","add","removeClass","_len2","_key2","_el$classList2","remove","toggleClass","_len3","_key3","className","toggle","hasClass","_len4","_key4","contains","attr","getAttribute","attrName","removeAttr","removeAttribute","transform","transition","duration","transitionDuration","on","_len5","_key5","eventType","targetSelector","listener","capture","handleLiveEvent","eventData","dom7EventData","unshift","is","_parents","parents","k","handleEvent","j","events","_event","dom7LiveListeners","proxyListener","event","dom7Listeners","off","_len6","_key6","handlers","handler","dom7proxy","splice","trigger","_len9","_key9","evt","detail","bubbles","cancelable","data","dataIndex","dispatchEvent","transitionEnd","dom","fireCallBack","includeMargins","_styles","styles","offsetWidth","parseFloat","_styles2","offsetHeight","offset","box","getBoundingClientRect","clientTop","clientLeft","scrollTop","scrollY","scrollLeft","scrollX","top","left","css","props","_prop","each","index","result","text","textContent","compareWith","matches","webkitMatchesSelector","msMatchesSelector","child","previousSibling","eq","returnIndex","append","newChild","tempDiv","firstChild","appendChild","prepend","insertBefore","next","nextElementSibling","nextAll","nextEls","_next","prev","previousElementSibling","prevAll","prevEls","_prev","parentNode","_parent","closest","find","foundElements","found","removeChild","noTrigger","shortcut","eventHandler","Methods","outerWidth","outerHeight","parent","methodName","browser","deleteProps","object","nextTick","now","getTranslate","axis","matrix","curTransform","transformMatrix","curStyle","WebKitCSSMatrix","webkitTransform","replace","join","MozTransform","OTransform","MsTransform","msTransform","m41","m42","to","nextSource","keysArray","nextIndex","len","nextKey","desc","getOwnPropertyDescriptor","bindModuleMethods","subKey","calcSupport","touch","DocumentTouch","pointerEvents","PointerEvent","maxTouchPoints","observer","passiveListener","supportsPassive","opts","gestures","getSupport","calcDevice","_temp","_ref","support","platform","ua","device","ios","android","screenWidth","width","screenHeight","height","match","ipad","ipod","iphone","windows","macos","iPadScreens","os","getDevice","overrides","calcBrowser","isSafari","toLowerCase","isEdge","isWebView","test","getBrowser","swiper","resize","resizeHandler","destroyed","initialized","emit","orientationChangeHandler","init","destroy","_extends","assign","source","hasOwnProperty","Observer","attach","options","ObserverFunc","MutationObserver","WebkitMutationObserver","mutations","observerUpdate","observe","attributes","childList","characterData","observers","params","observeParents","containerParents","$el","observeSlideChildren","$wrapperEl","disconnect","useParams","instanceParams","modules","moduleName","module","useModules","modulesParams","moduleParams","moduleEventName","priority","method","eventsListeners","once","onceHandler","__emitterProxy","onAny","eventsAnyListeners","offAny","slice","eventsArray","updateSize","clientWidth","clientHeight","isHorizontal","isVertical","parseInt","Number","isNaN","size","updateSlides","swiperSize","rtl","rtlTranslate","wrongRTL","isVirtual","virtual","enabled","previousSlidesLength","slides","slideClass","slidesLength","snapGrid","slidesGrid","slidesSizesGrid","slidesForMargin","slideEl","slideIndex","cssMode","offsetBefore","slidesOffsetBefore","offsetAfter","slidesOffsetAfter","previousSnapGridLength","previousSlidesGridLength","spaceBetween","slidePosition","prevSlideSize","slidesNumberEvenToRows","slideSize","virtualSize","marginLeft","marginTop","marginRight","marginBottom","slidesPerColumn","Math","floor","ceil","slidesPerView","slidesPerColumnFill","max","newSlidesGrid","slidesPerRow","numFullColumns","slide","newSlideOrderIndex","column","row","slidesPerGroup","groupIndex","slideIndexInGroup","columnsInGroup","min","order","slideStyles","currentTransform","currentWebKitTransform","roundLengths","paddingLeft","paddingRight","boxSizing","_slide$","paddingTop","paddingBottom","_boxSizing","_slide$2","swiperSlideSize","centeredSlides","abs","slidesPerGroupSkip","effect","setWrapperSize","_i","slidesGridItem","_i2","_slidesGridItem","centeredSlidesBounds","allSlidesSize","slideSizeValue","maxSnap","snap","centerInsufficientSlides","_allSlidesSize","allSlidesOffset","snapIndex","watchOverflow","checkOverflow","watchSlidesProgress","watchSlidesVisibility","updateSlidesOffset","updateAutoHeight","speed","activeSlides","newHeight","setTransition","visibleSlides","activeIndex","swiperSlideOffset","offsetLeft","offsetTop","updateSlidesProgress","translate","offsetCenter","slideVisibleClass","visibleSlidesIndexes","slideProgress","minTranslate","autoHeight","slideBefore","slideAfter","isVisible","progress","updateProgress","multiplier","translatesDiff","maxTranslate","isBeginning","isEnd","wasBeginning","wasEnd","updateSlidesClasses","activeSlide","realIndex","slideActiveClass","slideNextClass","slidePrevClass","slideDuplicateActiveClass","slideDuplicateNextClass","slideDuplicatePrevClass","slideDuplicateClass","nextSlide","prevSlide","emitSlidesClasses","updateActiveIndex","newActiveIndex","previousIndex","previousRealIndex","previousSnapIndex","normalizeSlideIndex","skip","runCallbacksOnInit","updateClickedSlide","slideFound","clickedSlide","clickedIndex","slideToClickedSlide","getSwiperTranslate","virtualTranslate","currentTranslate","setTranslate","byController","newProgress","wrapperEl","x","y","z","previousTranslate","translateTo","runCallbacks","translateBounds","internal","animating","preventInteractionOnTransition","newTranslate","_wrapperEl$scrollTo","isH","scrollTo","behavior","onTranslateToWrapperTransitionEnd","transitionStart","direction","dir","slideTo","Error","indexAsNumber","isValidNumber","isFinite","initialSlide","allowSlideNext","allowSlidePrev","t","scrollWidth","onSlideToWrapperTransitionEnd","slideToLoop","newIndex","loopedSlides","slideNext","increment","loopPreventsSlide","loopFix","_clientLeft","slidePrev","normalize","val","prevIndex","normalizedTranslate","normalizedSnapGrid","prevSnap","slideReset","slideToClosest","threshold","currentSnap","nextSnap","_currentSnap","slidesPerViewDynamic","slideToIndex","loopCreate","loopFillGroupWithBlank","blankSlidesNum","blankNode","slideBlankClass","loopAdditionalSlides","prependSlides","appendSlides","cloneNode","snapTranslate","diff","slideChanged","_slideChanged","loopDestroy","setGrabCursor","moving","simulateTouch","isLocked","cursor","unsetGrabCursor","appendSlide","update","prependSlide","addSlide","activeIndexBuffer","baseLength","slidesBuffer","currentSlide","removeSlide","slidesIndexes","indexToRemove","removeAllSlides","onTouchStart","touchEventsData","touches","originalEvent","$targetEl","touchEventsTarget","isTouchEvent","which","button","isTouched","isMoved","swipingClassHasValue","noSwipingClass","shadowRoot","path","noSwiping","noSwipingSelector","allowClick","swipeHandler","currentX","targetTouches","pageX","currentY","pageY","startX","startY","edgeSwipeDetection","iOSEdgeSwipeDetection","edgeSwipeThreshold","iOSEdgeSwipeThreshold","innerWidth","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","swipeDirection","allowThresholdMove","preventDefault","formElements","shouldPreventDefault","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","isContentEditable","onTouchMove","targetTouch","changedTouches","preventedByNestedSwiper","touchReleaseOnEdges","diffX","diffY","sqrt","pow","touchAngle","atan2","PI","touchMoveStopPropagation","nested","stopPropagation","startTranslate","allowMomentumBounce","grabCursor","touchRatio","disableParentSwiper","resistanceRatio","resistance","followFinger","freeMode","velocities","position","time","onTouchEnd","currentPos","touchEndTime","timeDiff","lastClickTime","freeModeMomentum","lastMoveEvent","pop","velocityEvent","distance","velocity","freeModeMinimumVelocity","freeModeMomentumVelocityRatio","momentumDuration","freeModeMomentumRatio","momentumDistance","newPosition","afterBouncePosition","needsLoopFix","doBounce","bounceAmount","freeModeMomentumBounceRatio","freeModeMomentumBounce","freeModeSticky","moveDistance","currentSlideSize","longSwipesMs","stopIndex","groupSize","_increment","ratio","longSwipes","longSwipesRatio","shortSwipes","isNavButtonTarget","onResize","breakpoints","setBreakpoint","running","paused","run","preventClicks","preventClicksPropagation","stopImmediatePropagation","onScroll","dummyEventAttached","dummyEventListener","attachEvents","touchEvents","onClick","start","move","end","passiveListeners","passive","cancel","updateOnWindowResize","detachEvents","_swiper$loopedSlides","breakpoint","getBreakpoint","currentBreakpoint","breakpointOnlyParams","param","paramValue","breakpointParams","originalParams","wasMultiRow","isMultiRow","containerModifierClass","emitContainerClasses","directionChanged","needsReLoop","changeDirection","getBreakpoints","points","point","minRatio","substr","innerHeight","sort","b","_points$i","addClasses","suffixes","suffix","removeClasses","loadImage","imageEl","srcset","sizes","checkForComplete","image","onReady","isPicture","complete","onload","onerror","preloadImages","imagesLoaded","imagesToLoad","updateOnImagesReady","currentSrc","wasLocked","lastSlidePosition","url","uniqueNavElements","wrapperClass","_emitClasses","_defineProperties","descriptor","_createClass","protoProps","staticProps","prototypes","modular","eventsEmitter","manipulation","images","extendedDefaults","Swiper","moduleParamName","swiperParams","defaults","passedParams","eventName","swipers","containerEl","newParams","desktop","touchEventsTouch","touchEventsDesktop","clickTimeout","_proto","getSlideClasses","spv","breakLoop","translated","translateValue","newDirection","needUpdate","currentDirection","deleteInstance","cleanStyles","extendDefaults","newDefaults","installModule","use","m","prototypeGroup","protoMethod","Pagination","current","total","paginationType","bullets","firstIndex","lastIndex","midIndex","dynamicBullets","bulletSize","dynamicMainBullets","dynamicBulletIndex","bulletActiveClass","bullet","$bullet","bulletIndex","$firstDisplayedBullet","$lastDisplayedBullet","dynamicBulletsLength","bulletsOffset","offsetProp","currentClass","formatFractionCurrent","totalClass","formatFractionTotal","progressbarDirection","progressbarOpposite","scale","scaleX","scaleY","progressbarFillClass","renderCustom","lockClass","paginationHTML","numberOfBullets","renderBullet","bulletClass","bulletElement","renderFraction","renderProgressbar","clickableClass","modifierClass","progressbarOppositeClass","hiddenClass","hideOnClick","number","activeIndexChange","snapIndexChange","slidesLengthChange","snapGridLengthChange","click","isHidden","Navigation","_swiper$navigation","$nextEl","$prevEl","disabledClass","onPrevClick","onNextClick","_swiper$navigation2","toEdge","fromEdge","_swiper$navigation3","Autoplay","$activeSlideEl","timeout","autoplayResult","reverseDirection","stopOnLastSlide","stop","pause","waitForTransition","onTransitionEnd","onVisibilityChange","visibilityState","beforeTransitionStart","sliderFirstMove","touchEnd","sliding","320","540","640","960","components","SwiperSlide","directives","directive","methods","onSlideStart","onSlideEnd","component","g","f","exports","Vue","CoreNames","ComponentEvents","ComponentPropNames","DEFAULT_CLASSES","freeze","containerClass","SWIPER_EVENTS","__spreadArrays","s","il","r","jl","SlotNames","kebabcase","string","handleClickSlideEvent","_a","_b","eventPath","composedPath","slides_1","from","paths","includes","some","item","reallyIndex","dataset","swiperSlideIndex","reallyIndexValue","isInteger","ClickSlide","bindSwiperEvents","arguments$1","kebabcaseName","INSTANCE_NAME_KEY","getDirective","SwiperClass","globalOptions","getStandardisedOptionByAttrs","vnode","_d","getSwiperInstanceName","element","binding","arg","SwiperInstance","getSwiperInstance","instanceName","getSwipeOptions","getBooleanValueByInput","input","getEventEmiter","componentOptions","listeners","handle","fns","emitEvent","inserted","vueContext","Ready","componentUpdated","_e","_f","_g","_j","_k","_l","autoUpdate","AutoUpdate","isLoop","unbind","autoDestroy","AutoDestroy","DeleteInstanceOnDestroy","CleanupStylesOnDestroy","getSwiperComponent","SwiperComponent","defaultOptions","required","default","Boolean","computed","swiperInstance","cache","handleSwiperClick","$emit","autoReLoopSwiper","updateSwiper","destroySwiper","initSwiper","mounted","activated","updated","beforeDestroy","$nextTick","$slots","ParallaxBg","class","PrevButton","NextButton","Scrollbar","SwiperSlideComponent","$parent","getInstaller","install","installed","SwiperDirective","exporter","version"],"mappings":"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","file":"js/chunk-4a237dec.9ceeaa23.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('swiper',{staticClass:\"swiper\",attrs:{\"options\":{\n loop: true,\n autoplay: {\n delay: 3000,\n disableOnInteraction: false\n },\n pagination: {\n el: '.swiper-pagination',\n type: 'bullets',\n clickable: true\n },\n navigation: {\n nextEl: '.swiper-button-next',\n prevEl: '.swiper-button-prev'\n }\n }}},[_c('swiper-slide',{staticClass:\"text-center\"},[_c('img',{attrs:{\"src\":\"WhatsApp Image 2024-03-18 at 09.28.20_85f6f5e5.jpg\"}})]),_c('swiper-slide',{staticClass:\"text-center\"},[_c('router-link',{attrs:{\"to\":{ name: 'SMEGrant' }}},[_c('img',{attrs:{\"src\":\"TBS-Digitalisation-grant-website-banner_991-x-331_C-1140x380.jpg\"}})])],1),_c('swiper-slide',{staticClass:\"text-center\"},[_c('img',{attrs:{\"src\":\"slideshow-02-1140x380.jpg\"}})]),_c('swiper-slide',{staticClass:\"text-center\"},[_c('img',{attrs:{\"src\":\"slideshow-03-1140x380.jpg\"}})]),_c('swiper-slide',{staticClass:\"text-center\"},[_c('img',{attrs:{\"src\":\"slideshow-04-1140x380.jpg\"}})]),_c('div',{staticClass:\"swiper-pagination\",attrs:{\"slot\":\"pagination\"},slot:\"pagination\"}),_c('div',{staticClass:\"swiper-button-prev\",attrs:{\"slot\":\"button-prev\"},slot:\"button-prev\"}),_c('div',{staticClass:\"swiper-button-next\",attrs:{\"slot\":\"button-next\"},slot:\"button-next\"})],1),_vm._m(0),_c('div',{staticClass:\"section-home-product-line\",staticStyle:{\"padding-top\":\"50px\"}},[_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-md-12\"},[_c('swiper',{attrs:{\"options\":_vm.swiperOptions}},[_c('swiper-slide',[_c('img',{attrs:{\"src\":\"https://play-lh.googleusercontent.com/kN6VpJWo5nmtcTvk9-0os7TFhz-JAM5-8S09E3mrM56Kp9Ov6EfeO36u9QHU56deJwQ=s180-rw\"}})]),_c('swiper-slide',[_c('img',{attrs:{\"src\":\"https://play-lh.googleusercontent.com/Fi8uPEPauvQruCyTb6l2Hn9FpAQddx0l4-2D6SXaGmSEAfYxoDiVTc5xGxZzrydN7hs=s180-rw\"}})]),_c('swiper-slide',[_c('img',{attrs:{\"src\":\"https://play-lh.googleusercontent.com/M9cHnal9aC6q5DQzUw8UC4YbX611S2FjnoPEwhfBCFE-ZO1Q4Zq61SHcq7mLDZ0gwqk=s180-rw\"}})]),_c('swiper-slide',[_c('img',{attrs:{\"src\":\"fastlane.png\"}})]),_c('swiper-slide',[_c('img',{attrs:{\"src\":\"help-academy.png\"}})])],1)],1)])])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"section-home-product-line\",staticStyle:{\"padding-top\":\"50px\"}},[_c('div',{staticClass:\"container px-0\"},[_c('div',{staticClass:\"row mx-0\"},[_c('div',{staticClass:\"col-md-6 col-xs-12 mb-3 px-0 px-sm-2\"},[_c('img',{attrs:{\"src\":\"TBS-Digitalisation-grant_1920-x-1080.jpg\"}})]),_c('div',{staticClass:\"col-md-6 col-xs-12 mb-3 px-0 px-sm-2\"},[_c('img',{attrs:{\"src\":\"Esales Image sample .jpg\"}})])]),_c('div',{staticClass:\"row mx-0\"})])])}]\n\nexport { render, staticRenderFns }","/**\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 $.fn[methodName] = Methods[methodName];\n});\nexport default $;","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';\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 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 = window.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 && o.constructor === Object;\n}\n\nfunction extend() {\n var to = Object(arguments.length <= 0 ? undefined : arguments[0]);\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));\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 extend(to[nextKey], nextSource[nextKey]);\n } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n to[nextKey] = {};\n extend(to[nextKey], nextSource[nextKey]);\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\nexport { deleteProps, nextTick, now, getTranslate, isObject, extend, bindModuleMethods };","import { getWindow } from 'ssr-window';\nimport { extend } from '../../utils/utils';\nexport default {\n name: 'resize',\n create: function create() {\n var swiper = this;\n extend(swiper, {\n resize: {\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(); // Emit resize\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 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(_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 { 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 { 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 { getWindow } from 'ssr-window';\nimport { extend } from '../../../utils/utils';\nexport default function updateSlides() {\n var swiper = this;\n var window = getWindow();\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.snapGrid.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(\"margin-\" + (swiper.isHorizontal() ? 'top' : 'left'), 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 = window.getComputedStyle(slide[0], null);\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 if (swiper.isHorizontal()) {\n var width = parseFloat(slideStyles.getPropertyValue('width') || 0);\n var paddingLeft = parseFloat(slideStyles.getPropertyValue('padding-left') || 0);\n var paddingRight = parseFloat(slideStyles.getPropertyValue('padding-right') || 0);\n var marginLeft = parseFloat(slideStyles.getPropertyValue('margin-left') || 0);\n var marginRight = parseFloat(slideStyles.getPropertyValue('margin-right') || 0);\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 } else {\n var height = parseFloat(slideStyles.getPropertyValue('height') || 0);\n var paddingTop = parseFloat(slideStyles.getPropertyValue('padding-top') || 0);\n var paddingBottom = parseFloat(slideStyles.getPropertyValue('padding-bottom') || 0);\n var marginTop = parseFloat(slideStyles.getPropertyValue('margin-top') || 0);\n var marginBottom = parseFloat(slideStyles.getPropertyValue('margin-bottom') || 0);\n\n var _boxSizing = slideStyles.getPropertyValue('box-sizing');\n\n if (_boxSizing && _boxSizing === 'border-box') {\n slideSize = height + marginTop + marginBottom;\n } else {\n var _slide$2 = slide[0],\n clientHeight = _slide$2.clientHeight,\n offsetHeight = _slide$2.offsetHeight;\n slideSize = height + paddingTop + paddingBottom + marginTop + marginBottom + (offsetHeight - clientHeight);\n }\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 if (swiper.isHorizontal()) {\n slides[i].style.width = slideSize + \"px\";\n } else {\n slides[i].style.height = slideSize + \"px\";\n }\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 if (swiper.isHorizontal()) $wrapperEl.css({\n width: swiper.virtualSize + params.spaceBetween + \"px\"\n });else $wrapperEl.css({\n height: swiper.virtualSize + params.spaceBetween + \"px\"\n });\n }\n\n if (params.slidesPerColumn > 1) {\n swiper.virtualSize = (slideSize + params.spaceBetween) * slidesNumberEvenToRows;\n swiper.virtualSize = Math.ceil(swiper.virtualSize / params.slidesPerColumn) - params.spaceBetween;\n if (swiper.isHorizontal()) $wrapperEl.css({\n width: swiper.virtualSize + params.spaceBetween + \"px\"\n });else $wrapperEl.css({\n height: swiper.virtualSize + params.spaceBetween + \"px\"\n });\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 if (swiper.isHorizontal()) {\n if (rtl) slides.filter(slidesForMargin).css({\n marginLeft: spaceBetween + \"px\"\n });else slides.filter(slidesForMargin).css({\n marginRight: spaceBetween + \"px\"\n });\n } else slides.filter(slidesForMargin).css({\n marginBottom: spaceBetween + \"px\"\n });\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\n if (slide) {\n for (var i = 0; i < swiper.slides.length; i += 1) {\n if (swiper.slides[i] === slide) slideFound = true;\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 = $(slide).index();\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 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 { 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 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};","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 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 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 if (-Math.floor(translate * 100) >= Math.floor(slidesGrid[i] * 100)) {\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 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};","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 loopCreate from './loopCreate';\nimport loopFix from './loopFix';\nimport loopDestroy from './loopDestroy';\nexport default {\n loopCreate: loopCreate,\n loopFix: loopFix,\n loopDestroy: loopDestroy\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 setGrabCursor from './setGrabCursor';\nimport unsetGrabCursor from './unsetGrabCursor';\nexport default {\n setGrabCursor: setGrabCursor,\n unsetGrabCursor: unsetGrabCursor\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 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};","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 return;\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 } // 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.updateProgress(newPosition);\n }\n\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n } else if (params.freeModeSticky) {\n swiper.slideToClosest();\n return;\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};","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);\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 getBreakpoints(breakpoints) {\n var window = getWindow(); // Get breakpoint for window width\n\n if (!breakpoints) return undefined;\n var breakpoint = false;\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 = window.innerHeight * 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 <= window.innerWidth) {\n breakpoint = point;\n }\n }\n\n return breakpoint || 'max';\n}","import setBreakpoint from './setBreakpoint';\nimport getBreakpoint from './getBreakpoint';\nexport default {\n setBreakpoint: setBreakpoint,\n getBreakpoint: getBreakpoint\n};","export 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 var suffixes = [];\n suffixes.push('initialized');\n suffixes.push(params.direction);\n\n if (params.freeMode) {\n suffixes.push('free-mode');\n }\n\n if (params.autoHeight) {\n suffixes.push('autoheight');\n }\n\n if (rtl) {\n suffixes.push('rtl');\n }\n\n if (params.slidesPerColumn > 1) {\n suffixes.push('multirow');\n\n if (params.slidesPerColumnFill === 'column') {\n suffixes.push('multirow-column');\n }\n }\n\n if (device.android) {\n suffixes.push('android');\n }\n\n if (device.ios) {\n suffixes.push('ios');\n }\n\n if (params.cssMode) {\n suffixes.push('css-mode');\n }\n\n suffixes.forEach(function (suffix) {\n classNames.push(params.containerModifierClass + suffix);\n });\n $el.addClass(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 addClasses from './addClasses';\nimport removeClasses from './removeClasses';\nexport default {\n addClasses: addClasses,\n removeClasses: removeClasses\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 loadImage from './loadImage';\nimport preloadImages from './preloadImages';\nexport default {\n loadImage: loadImage,\n preloadImages: preloadImages\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 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 // 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 && args[0].constructor === 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; // Swiper Instance\n\n var swiper = this;\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.$ = $; // Find el\n\n var $el = $(swiper.params.el);\n el = $el[0];\n\n if (!el) {\n return undefined;\n }\n\n if ($el.length > 1) {\n var swipers = [];\n $el.each(function (containerEl) {\n var newParams = extend({}, params, {\n el: containerEl\n });\n swipers.push(new Swiper(newParams));\n });\n return swipers;\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 } // Extend Swiper\n\n\n extend(swiper, {\n $el: $el,\n el: el,\n $wrapperEl: $wrapperEl,\n wrapperEl: $wrapperEl[0],\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 // 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 // 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 swiper.slides.each(function (slideEl) {\n var classNames = swiper.getSlideClasses(slideEl);\n swiper.emit('_slideClass', slideEl, classNames);\n });\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.init = function init() {\n var swiper = this;\n if (swiper.initialized) return;\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 };\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;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport $ from '../../utils/dom';\nimport { extend, bindModuleMethods } from '../../utils/utils';\nvar Pagination = {\n update: function update() {\n // Render || Update Pagination bullets/items\n var swiper = this;\n var rtl = swiper.rtl;\n var params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n var $el = swiper.pagination.$el; // Current/Total\n\n var current;\n var total = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n\n if (swiper.params.loop) {\n current = Math.ceil((swiper.activeIndex - swiper.loopedSlides) / swiper.params.slidesPerGroup);\n\n if (current > slidesLength - 1 - swiper.loopedSlides * 2) {\n current -= slidesLength - swiper.loopedSlides * 2;\n }\n\n if (current > total - 1) current -= total;\n if (current < 0 && swiper.params.paginationType !== 'bullets') current = total + current;\n } else if (typeof swiper.snapIndex !== 'undefined') {\n current = swiper.snapIndex;\n } else {\n current = swiper.activeIndex || 0;\n } // Types\n\n\n if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {\n var bullets = swiper.pagination.bullets;\n var firstIndex;\n var lastIndex;\n var midIndex;\n\n if (params.dynamicBullets) {\n swiper.pagination.bulletSize = bullets.eq(0)[swiper.isHorizontal() ? 'outerWidth' : 'outerHeight'](true);\n $el.css(swiper.isHorizontal() ? 'width' : 'height', swiper.pagination.bulletSize * (params.dynamicMainBullets + 4) + \"px\");\n\n if (params.dynamicMainBullets > 1 && swiper.previousIndex !== undefined) {\n swiper.pagination.dynamicBulletIndex += current - swiper.previousIndex;\n\n if (swiper.pagination.dynamicBulletIndex > params.dynamicMainBullets - 1) {\n swiper.pagination.dynamicBulletIndex = params.dynamicMainBullets - 1;\n } else if (swiper.pagination.dynamicBulletIndex < 0) {\n swiper.pagination.dynamicBulletIndex = 0;\n }\n }\n\n firstIndex = current - swiper.pagination.dynamicBulletIndex;\n lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);\n midIndex = (lastIndex + firstIndex) / 2;\n }\n\n bullets.removeClass(params.bulletActiveClass + \" \" + params.bulletActiveClass + \"-next \" + params.bulletActiveClass + \"-next-next \" + params.bulletActiveClass + \"-prev \" + params.bulletActiveClass + \"-prev-prev \" + params.bulletActiveClass + \"-main\");\n\n if ($el.length > 1) {\n bullets.each(function (bullet) {\n var $bullet = $(bullet);\n var bulletIndex = $bullet.index();\n\n if (bulletIndex === current) {\n $bullet.addClass(params.bulletActiveClass);\n }\n\n if (params.dynamicBullets) {\n if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {\n $bullet.addClass(params.bulletActiveClass + \"-main\");\n }\n\n if (bulletIndex === firstIndex) {\n $bullet.prev().addClass(params.bulletActiveClass + \"-prev\").prev().addClass(params.bulletActiveClass + \"-prev-prev\");\n }\n\n if (bulletIndex === lastIndex) {\n $bullet.next().addClass(params.bulletActiveClass + \"-next\").next().addClass(params.bulletActiveClass + \"-next-next\");\n }\n }\n });\n } else {\n var $bullet = bullets.eq(current);\n var bulletIndex = $bullet.index();\n $bullet.addClass(params.bulletActiveClass);\n\n if (params.dynamicBullets) {\n var $firstDisplayedBullet = bullets.eq(firstIndex);\n var $lastDisplayedBullet = bullets.eq(lastIndex);\n\n for (var i = firstIndex; i <= lastIndex; i += 1) {\n bullets.eq(i).addClass(params.bulletActiveClass + \"-main\");\n }\n\n if (swiper.params.loop) {\n if (bulletIndex >= bullets.length - params.dynamicMainBullets) {\n for (var _i = params.dynamicMainBullets; _i >= 0; _i -= 1) {\n bullets.eq(bullets.length - _i).addClass(params.bulletActiveClass + \"-main\");\n }\n\n bullets.eq(bullets.length - params.dynamicMainBullets - 1).addClass(params.bulletActiveClass + \"-prev\");\n } else {\n $firstDisplayedBullet.prev().addClass(params.bulletActiveClass + \"-prev\").prev().addClass(params.bulletActiveClass + \"-prev-prev\");\n $lastDisplayedBullet.next().addClass(params.bulletActiveClass + \"-next\").next().addClass(params.bulletActiveClass + \"-next-next\");\n }\n } else {\n $firstDisplayedBullet.prev().addClass(params.bulletActiveClass + \"-prev\").prev().addClass(params.bulletActiveClass + \"-prev-prev\");\n $lastDisplayedBullet.next().addClass(params.bulletActiveClass + \"-next\").next().addClass(params.bulletActiveClass + \"-next-next\");\n }\n }\n }\n\n if (params.dynamicBullets) {\n var dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);\n var bulletsOffset = (swiper.pagination.bulletSize * dynamicBulletsLength - swiper.pagination.bulletSize) / 2 - midIndex * swiper.pagination.bulletSize;\n var offsetProp = rtl ? 'right' : 'left';\n bullets.css(swiper.isHorizontal() ? offsetProp : 'top', bulletsOffset + \"px\");\n }\n }\n\n if (params.type === 'fraction') {\n $el.find(\".\" + params.currentClass).text(params.formatFractionCurrent(current + 1));\n $el.find(\".\" + params.totalClass).text(params.formatFractionTotal(total));\n }\n\n if (params.type === 'progressbar') {\n var progressbarDirection;\n\n if (params.progressbarOpposite) {\n progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';\n } else {\n progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';\n }\n\n var scale = (current + 1) / total;\n var scaleX = 1;\n var scaleY = 1;\n\n if (progressbarDirection === 'horizontal') {\n scaleX = scale;\n } else {\n scaleY = scale;\n }\n\n $el.find(\".\" + params.progressbarFillClass).transform(\"translate3d(0,0,0) scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\").transition(swiper.params.speed);\n }\n\n if (params.type === 'custom' && params.renderCustom) {\n $el.html(params.renderCustom(swiper, current + 1, total));\n swiper.emit('paginationRender', $el[0]);\n } else {\n swiper.emit('paginationUpdate', $el[0]);\n }\n\n $el[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n },\n render: function render() {\n // Render Container\n var swiper = this;\n var params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n var $el = swiper.pagination.$el;\n var paginationHTML = '';\n\n if (params.type === 'bullets') {\n var numberOfBullets = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n\n for (var i = 0; i < numberOfBullets; i += 1) {\n if (params.renderBullet) {\n paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);\n } else {\n paginationHTML += \"<\" + params.bulletElement + \" class=\\\"\" + params.bulletClass + \"\\\">\";\n }\n }\n\n $el.html(paginationHTML);\n swiper.pagination.bullets = $el.find(\".\" + params.bulletClass.replace(/ /g, '.'));\n }\n\n if (params.type === 'fraction') {\n if (params.renderFraction) {\n paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);\n } else {\n paginationHTML = \"\" + ' / ' + (\"\");\n }\n\n $el.html(paginationHTML);\n }\n\n if (params.type === 'progressbar') {\n if (params.renderProgressbar) {\n paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);\n } else {\n paginationHTML = \"\";\n }\n\n $el.html(paginationHTML);\n }\n\n if (params.type !== 'custom') {\n swiper.emit('paginationRender', swiper.pagination.$el[0]);\n }\n },\n init: function init() {\n var swiper = this;\n var params = swiper.params.pagination;\n if (!params.el) return;\n var $el = $(params.el);\n if ($el.length === 0) return;\n\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1) {\n $el = swiper.$el.find(params.el);\n }\n\n if (params.type === 'bullets' && params.clickable) {\n $el.addClass(params.clickableClass);\n }\n\n $el.addClass(params.modifierClass + params.type);\n\n if (params.type === 'bullets' && params.dynamicBullets) {\n $el.addClass(\"\" + params.modifierClass + params.type + \"-dynamic\");\n swiper.pagination.dynamicBulletIndex = 0;\n\n if (params.dynamicMainBullets < 1) {\n params.dynamicMainBullets = 1;\n }\n }\n\n if (params.type === 'progressbar' && params.progressbarOpposite) {\n $el.addClass(params.progressbarOppositeClass);\n }\n\n if (params.clickable) {\n $el.on('click', \".\" + params.bulletClass.replace(/ /g, '.'), function onClick(e) {\n e.preventDefault();\n var index = $(this).index() * swiper.params.slidesPerGroup;\n if (swiper.params.loop) index += swiper.loopedSlides;\n swiper.slideTo(index);\n });\n }\n\n extend(swiper.pagination, {\n $el: $el,\n el: $el[0]\n });\n },\n destroy: function destroy() {\n var swiper = this;\n var params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n var $el = swiper.pagination.$el;\n $el.removeClass(params.hiddenClass);\n $el.removeClass(params.modifierClass + params.type);\n if (swiper.pagination.bullets) swiper.pagination.bullets.removeClass(params.bulletActiveClass);\n\n if (params.clickable) {\n $el.off('click', \".\" + params.bulletClass.replace(/ /g, '.'));\n }\n }\n};\nexport default {\n name: 'pagination',\n params: {\n pagination: {\n el: null,\n bulletElement: 'span',\n clickable: false,\n hideOnClick: false,\n renderBullet: null,\n renderProgressbar: null,\n renderFraction: null,\n renderCustom: null,\n progressbarOpposite: false,\n type: 'bullets',\n // 'bullets' or 'progressbar' or 'fraction' or 'custom'\n dynamicBullets: false,\n dynamicMainBullets: 1,\n formatFractionCurrent: function formatFractionCurrent(number) {\n return number;\n },\n formatFractionTotal: function formatFractionTotal(number) {\n return number;\n },\n bulletClass: 'swiper-pagination-bullet',\n bulletActiveClass: 'swiper-pagination-bullet-active',\n modifierClass: 'swiper-pagination-',\n // NEW\n currentClass: 'swiper-pagination-current',\n totalClass: 'swiper-pagination-total',\n hiddenClass: 'swiper-pagination-hidden',\n progressbarFillClass: 'swiper-pagination-progressbar-fill',\n progressbarOppositeClass: 'swiper-pagination-progressbar-opposite',\n clickableClass: 'swiper-pagination-clickable',\n // NEW\n lockClass: 'swiper-pagination-lock'\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n pagination: _extends({\n dynamicBulletIndex: 0\n }, Pagination)\n });\n },\n on: {\n init: function init(swiper) {\n swiper.pagination.init();\n swiper.pagination.render();\n swiper.pagination.update();\n },\n activeIndexChange: function activeIndexChange(swiper) {\n if (swiper.params.loop) {\n swiper.pagination.update();\n } else if (typeof swiper.snapIndex === 'undefined') {\n swiper.pagination.update();\n }\n },\n snapIndexChange: function snapIndexChange(swiper) {\n if (!swiper.params.loop) {\n swiper.pagination.update();\n }\n },\n slidesLengthChange: function slidesLengthChange(swiper) {\n if (swiper.params.loop) {\n swiper.pagination.render();\n swiper.pagination.update();\n }\n },\n snapGridLengthChange: function snapGridLengthChange(swiper) {\n if (!swiper.params.loop) {\n swiper.pagination.render();\n swiper.pagination.update();\n }\n },\n destroy: function destroy(swiper) {\n swiper.pagination.destroy();\n },\n click: function click(swiper, e) {\n if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && swiper.pagination.$el.length > 0 && !$(e.target).hasClass(swiper.params.pagination.bulletClass)) {\n var isHidden = swiper.pagination.$el.hasClass(swiper.params.pagination.hiddenClass);\n\n if (isHidden === true) {\n swiper.emit('paginationShow');\n } else {\n swiper.emit('paginationHide');\n }\n\n swiper.pagination.$el.toggleClass(swiper.params.pagination.hiddenClass);\n }\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport $ from '../../utils/dom';\nimport { extend, bindModuleMethods } from '../../utils/utils';\nvar Navigation = {\n update: function update() {\n // Update Navigation Buttons\n var swiper = this;\n var params = swiper.params.navigation;\n if (swiper.params.loop) return;\n var _swiper$navigation = swiper.navigation,\n $nextEl = _swiper$navigation.$nextEl,\n $prevEl = _swiper$navigation.$prevEl;\n\n if ($prevEl && $prevEl.length > 0) {\n if (swiper.isBeginning) {\n $prevEl.addClass(params.disabledClass);\n } else {\n $prevEl.removeClass(params.disabledClass);\n }\n\n $prevEl[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n\n if ($nextEl && $nextEl.length > 0) {\n if (swiper.isEnd) {\n $nextEl.addClass(params.disabledClass);\n } else {\n $nextEl.removeClass(params.disabledClass);\n }\n\n $nextEl[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n },\n onPrevClick: function onPrevClick(e) {\n var swiper = this;\n e.preventDefault();\n if (swiper.isBeginning && !swiper.params.loop) return;\n swiper.slidePrev();\n },\n onNextClick: function onNextClick(e) {\n var swiper = this;\n e.preventDefault();\n if (swiper.isEnd && !swiper.params.loop) return;\n swiper.slideNext();\n },\n init: function init() {\n var swiper = this;\n var params = swiper.params.navigation;\n if (!(params.nextEl || params.prevEl)) return;\n var $nextEl;\n var $prevEl;\n\n if (params.nextEl) {\n $nextEl = $(params.nextEl);\n\n if (swiper.params.uniqueNavElements && typeof params.nextEl === 'string' && $nextEl.length > 1 && swiper.$el.find(params.nextEl).length === 1) {\n $nextEl = swiper.$el.find(params.nextEl);\n }\n }\n\n if (params.prevEl) {\n $prevEl = $(params.prevEl);\n\n if (swiper.params.uniqueNavElements && typeof params.prevEl === 'string' && $prevEl.length > 1 && swiper.$el.find(params.prevEl).length === 1) {\n $prevEl = swiper.$el.find(params.prevEl);\n }\n }\n\n if ($nextEl && $nextEl.length > 0) {\n $nextEl.on('click', swiper.navigation.onNextClick);\n }\n\n if ($prevEl && $prevEl.length > 0) {\n $prevEl.on('click', swiper.navigation.onPrevClick);\n }\n\n extend(swiper.navigation, {\n $nextEl: $nextEl,\n nextEl: $nextEl && $nextEl[0],\n $prevEl: $prevEl,\n prevEl: $prevEl && $prevEl[0]\n });\n },\n destroy: function destroy() {\n var swiper = this;\n var _swiper$navigation2 = swiper.navigation,\n $nextEl = _swiper$navigation2.$nextEl,\n $prevEl = _swiper$navigation2.$prevEl;\n\n if ($nextEl && $nextEl.length) {\n $nextEl.off('click', swiper.navigation.onNextClick);\n $nextEl.removeClass(swiper.params.navigation.disabledClass);\n }\n\n if ($prevEl && $prevEl.length) {\n $prevEl.off('click', swiper.navigation.onPrevClick);\n $prevEl.removeClass(swiper.params.navigation.disabledClass);\n }\n }\n};\nexport default {\n name: 'navigation',\n params: {\n navigation: {\n nextEl: null,\n prevEl: null,\n hideOnClick: false,\n disabledClass: 'swiper-button-disabled',\n hiddenClass: 'swiper-button-hidden',\n lockClass: 'swiper-button-lock'\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n navigation: _extends({}, Navigation)\n });\n },\n on: {\n init: function init(swiper) {\n swiper.navigation.init();\n swiper.navigation.update();\n },\n toEdge: function toEdge(swiper) {\n swiper.navigation.update();\n },\n fromEdge: function fromEdge(swiper) {\n swiper.navigation.update();\n },\n destroy: function destroy(swiper) {\n swiper.navigation.destroy();\n },\n click: function click(swiper, e) {\n var _swiper$navigation3 = swiper.navigation,\n $nextEl = _swiper$navigation3.$nextEl,\n $prevEl = _swiper$navigation3.$prevEl;\n\n if (swiper.params.navigation.hideOnClick && !$(e.target).is($prevEl) && !$(e.target).is($nextEl)) {\n var isHidden;\n\n if ($nextEl) {\n isHidden = $nextEl.hasClass(swiper.params.navigation.hiddenClass);\n } else if ($prevEl) {\n isHidden = $prevEl.hasClass(swiper.params.navigation.hiddenClass);\n }\n\n if (isHidden === true) {\n swiper.emit('navigationShow');\n } else {\n swiper.emit('navigationHide');\n }\n\n if ($nextEl) {\n $nextEl.toggleClass(swiper.params.navigation.hiddenClass);\n }\n\n if ($prevEl) {\n $prevEl.toggleClass(swiper.params.navigation.hiddenClass);\n }\n }\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\n/* eslint no-underscore-dangle: \"off\" */\nimport { getDocument } from 'ssr-window';\nimport { nextTick, bindModuleMethods } from '../../utils/utils';\nvar Autoplay = {\n run: function run() {\n var swiper = this;\n var $activeSlideEl = swiper.slides.eq(swiper.activeIndex);\n var delay = swiper.params.autoplay.delay;\n\n if ($activeSlideEl.attr('data-swiper-autoplay')) {\n delay = $activeSlideEl.attr('data-swiper-autoplay') || swiper.params.autoplay.delay;\n }\n\n clearTimeout(swiper.autoplay.timeout);\n swiper.autoplay.timeout = nextTick(function () {\n var autoplayResult;\n\n if (swiper.params.autoplay.reverseDirection) {\n if (swiper.params.loop) {\n swiper.loopFix();\n autoplayResult = swiper.slidePrev(swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else if (!swiper.isBeginning) {\n autoplayResult = swiper.slidePrev(swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n autoplayResult = swiper.slideTo(swiper.slides.length - 1, swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else {\n swiper.autoplay.stop();\n }\n } else if (swiper.params.loop) {\n swiper.loopFix();\n autoplayResult = swiper.slideNext(swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else if (!swiper.isEnd) {\n autoplayResult = swiper.slideNext(swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n autoplayResult = swiper.slideTo(0, swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else {\n swiper.autoplay.stop();\n }\n\n if (swiper.params.cssMode && swiper.autoplay.running) swiper.autoplay.run();else if (autoplayResult === false) {\n swiper.autoplay.run();\n }\n }, delay);\n },\n start: function start() {\n var swiper = this;\n if (typeof swiper.autoplay.timeout !== 'undefined') return false;\n if (swiper.autoplay.running) return false;\n swiper.autoplay.running = true;\n swiper.emit('autoplayStart');\n swiper.autoplay.run();\n return true;\n },\n stop: function stop() {\n var swiper = this;\n if (!swiper.autoplay.running) return false;\n if (typeof swiper.autoplay.timeout === 'undefined') return false;\n\n if (swiper.autoplay.timeout) {\n clearTimeout(swiper.autoplay.timeout);\n swiper.autoplay.timeout = undefined;\n }\n\n swiper.autoplay.running = false;\n swiper.emit('autoplayStop');\n return true;\n },\n pause: function pause(speed) {\n var swiper = this;\n if (!swiper.autoplay.running) return;\n if (swiper.autoplay.paused) return;\n if (swiper.autoplay.timeout) clearTimeout(swiper.autoplay.timeout);\n swiper.autoplay.paused = true;\n\n if (speed === 0 || !swiper.params.autoplay.waitForTransition) {\n swiper.autoplay.paused = false;\n swiper.autoplay.run();\n } else {\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.autoplay.onTransitionEnd);\n swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.autoplay.onTransitionEnd);\n }\n },\n onVisibilityChange: function onVisibilityChange() {\n var swiper = this;\n var document = getDocument();\n\n if (document.visibilityState === 'hidden' && swiper.autoplay.running) {\n swiper.autoplay.pause();\n }\n\n if (document.visibilityState === 'visible' && swiper.autoplay.paused) {\n swiper.autoplay.run();\n swiper.autoplay.paused = false;\n }\n },\n onTransitionEnd: function onTransitionEnd(e) {\n var swiper = this;\n if (!swiper || swiper.destroyed || !swiper.$wrapperEl) return;\n if (e.target !== swiper.$wrapperEl[0]) return;\n swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.autoplay.onTransitionEnd);\n swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.autoplay.onTransitionEnd);\n swiper.autoplay.paused = false;\n\n if (!swiper.autoplay.running) {\n swiper.autoplay.stop();\n } else {\n swiper.autoplay.run();\n }\n }\n};\nexport default {\n name: 'autoplay',\n params: {\n autoplay: {\n enabled: false,\n delay: 3000,\n waitForTransition: true,\n disableOnInteraction: true,\n stopOnLastSlide: false,\n reverseDirection: false\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n autoplay: _extends(_extends({}, Autoplay), {}, {\n running: false,\n paused: false\n })\n });\n },\n on: {\n init: function init(swiper) {\n if (swiper.params.autoplay.enabled) {\n swiper.autoplay.start();\n var document = getDocument();\n document.addEventListener('visibilitychange', swiper.autoplay.onVisibilityChange);\n }\n },\n beforeTransitionStart: function beforeTransitionStart(swiper, speed, internal) {\n if (swiper.autoplay.running) {\n if (internal || !swiper.params.autoplay.disableOnInteraction) {\n swiper.autoplay.pause(speed);\n } else {\n swiper.autoplay.stop();\n }\n }\n },\n sliderFirstMove: function sliderFirstMove(swiper) {\n if (swiper.autoplay.running) {\n if (swiper.params.autoplay.disableOnInteraction) {\n swiper.autoplay.stop();\n } else {\n swiper.autoplay.pause();\n }\n }\n },\n touchEnd: function touchEnd(swiper) {\n if (swiper.params.cssMode && swiper.autoplay.paused && !swiper.params.autoplay.disableOnInteraction) {\n swiper.autoplay.run();\n }\n },\n destroy: function destroy(swiper) {\n if (swiper.autoplay.running) {\n swiper.autoplay.stop();\n }\n\n var document = getDocument();\n document.removeEventListener('visibilitychange', swiper.autoplay.onVisibilityChange);\n }\n }\n};","\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=cf605010&\"\nimport script from \"./Home.vue?vue&type=script&lang=js&\"\nexport * from \"./Home.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n/*!\n * vue-awesome-swiper v4.1.1\n * Copyright (c) Surmon. All rights reserved.\n * Released under the MIT License.\n * Surmon \n */\n\n(function(g,f){typeof exports==='object'&&typeof module!=='undefined'?module.exports=f(require('vue')):typeof define==='function'&&define.amd?define(['vue'],f):(g=g||self,g.VueAwesomeSwiper=f(g.Vue));}(this,(function(Vue){'use strict';Vue=Vue&&Object.prototype.hasOwnProperty.call(Vue,'default')?Vue['default']:Vue;/**\r\n * @file vue-awesome-swiper\r\n * @module constants\r\n * @author Surmon \r\n */\r\nvar CoreNames;\r\n(function (CoreNames) {\r\n CoreNames[\"SwiperComponent\"] = \"Swiper\";\r\n CoreNames[\"SwiperSlideComponent\"] = \"SwiperSlide\";\r\n CoreNames[\"SwiperDirective\"] = \"swiper\";\r\n CoreNames[\"SwiperInstance\"] = \"$swiper\";\r\n})(CoreNames || (CoreNames = {}));\r\nvar DEFAULT_CLASSES = Object.freeze({\r\n containerClass: 'swiper-container',\r\n wrapperClass: 'swiper-wrapper',\r\n slideClass: 'swiper-slide'\r\n});\r\nvar ComponentEvents;\r\n(function (ComponentEvents) {\r\n ComponentEvents[\"Ready\"] = \"ready\";\r\n ComponentEvents[\"ClickSlide\"] = \"clickSlide\";\r\n})(ComponentEvents || (ComponentEvents = {}));\r\nvar ComponentPropNames;\r\n(function (ComponentPropNames) {\r\n ComponentPropNames[\"AutoUpdate\"] = \"autoUpdate\";\r\n ComponentPropNames[\"AutoDestroy\"] = \"autoDestroy\";\r\n ComponentPropNames[\"DeleteInstanceOnDestroy\"] = \"deleteInstanceOnDestroy\";\r\n ComponentPropNames[\"CleanupStylesOnDestroy\"] = \"cleanupStylesOnDestroy\";\r\n})(ComponentPropNames || (ComponentPropNames = {}));\r\n// https://swiperjs.com/api/#events\r\nvar SWIPER_EVENTS = [\r\n 'init',\r\n 'beforeDestroy',\r\n 'slideChange',\r\n 'slideChangeTransitionStart',\r\n 'slideChangeTransitionEnd',\r\n 'slideNextTransitionStart',\r\n 'slideNextTransitionEnd',\r\n 'slidePrevTransitionStart',\r\n 'slidePrevTransitionEnd',\r\n 'transitionStart',\r\n 'transitionEnd',\r\n 'touchStart',\r\n 'touchMove',\r\n 'touchMoveOpposite',\r\n 'sliderMove',\r\n 'touchEnd',\r\n 'click',\r\n 'tap',\r\n 'doubleTap',\r\n 'imagesReady',\r\n 'progress',\r\n 'reachBeginning',\r\n 'reachEnd',\r\n 'fromEdge',\r\n 'setTranslate',\r\n 'setTransition',\r\n 'resize',\r\n 'observerUpdate',\r\n 'beforeLoopFix',\r\n 'loopFix'\r\n];/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n\r\nfunction __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}/**\r\n * @file vue-awesome-swiper\r\n * @module utils\r\n * @author Surmon \r\n */\r\nvar kebabcase = function (string) {\r\n return string\r\n .replace(/([a-z])([A-Z])/g, '$1-$2')\r\n .replace(/\\s+/g, '-')\r\n .toLowerCase();\r\n};/**\r\n * @file vue-awesome-swiper\r\n * @module event\r\n * @author Surmon \r\n */\r\nvar handleClickSlideEvent = function (swiper, event, emit) {\r\n var _a, _b, _c;\r\n if (swiper && !(swiper.destroyed)) {\r\n var eventPath = ((_a = event.composedPath) === null || _a === void 0 ? void 0 : _a.call(event)) || event.path;\r\n if ((event === null || event === void 0 ? void 0 : event.target) && eventPath) {\r\n var slides_1 = Array.from(swiper.slides);\r\n var paths = Array.from(eventPath);\r\n // Click slide || slide[children]\r\n if (slides_1.includes(event.target) || paths.some(function (item) { return slides_1.includes(item); })) {\r\n var clickedIndex = swiper.clickedIndex;\r\n var reallyIndex = Number((_c = (_b = swiper.clickedSlide) === null || _b === void 0 ? void 0 : _b.dataset) === null || _c === void 0 ? void 0 : _c.swiperSlideIndex);\r\n var reallyIndexValue = Number.isInteger(reallyIndex) ? reallyIndex : null;\r\n emit(ComponentEvents.ClickSlide, clickedIndex, reallyIndexValue);\r\n emit(kebabcase(ComponentEvents.ClickSlide), clickedIndex, reallyIndexValue);\r\n }\r\n }\r\n }\r\n};\r\nvar bindSwiperEvents = function (swiper, emit) {\r\n SWIPER_EVENTS.forEach(function (eventName) {\r\n swiper.on(eventName, function () {\n var arguments$1 = arguments;\n\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments$1[_i];\r\n }\r\n emit.apply(void 0, __spreadArrays([eventName], args));\r\n var kebabcaseName = kebabcase(eventName);\r\n if (kebabcaseName !== eventName) {\r\n emit.apply(void 0, __spreadArrays([kebabcaseName], args));\r\n }\r\n });\r\n });\r\n};/**\r\n * @file vue-awesome-swiper\r\n * @module directive\r\n * @author Surmon \r\n */\r\nvar INSTANCE_NAME_KEY = 'instanceName';\r\nfunction getDirective(SwiperClass, globalOptions) {\r\n var getStandardisedOptionByAttrs = function (vnode, key) {\r\n var _a, _b, _c, _d;\r\n var value = (_b = (_a = vnode.data) === null || _a === void 0 ? void 0 : _a.attrs) === null || _b === void 0 ? void 0 : _b[key];\r\n return value !== undefined\r\n ? value\r\n : (_d = (_c = vnode.data) === null || _c === void 0 ? void 0 : _c.attrs) === null || _d === void 0 ? void 0 : _d[kebabcase(key)];\r\n };\r\n // Get swiper instace name in directive\r\n var getSwiperInstanceName = function (element, binding, vnode) {\r\n return (binding.arg ||\r\n getStandardisedOptionByAttrs(vnode, INSTANCE_NAME_KEY) ||\r\n element.id ||\r\n CoreNames.SwiperInstance);\r\n };\r\n var getSwiperInstance = function (element, binding, vnode) {\r\n var instanceName = getSwiperInstanceName(element, binding, vnode);\r\n return vnode.context[instanceName] || null;\r\n };\r\n var getSwipeOptions = function (binding) {\r\n return binding.value || globalOptions;\r\n };\r\n var getBooleanValueByInput = function (input) {\r\n return [true, undefined, null, ''].includes(input);\r\n };\r\n // Emit event in Vue directive\r\n var getEventEmiter = function (vnode) {\r\n var _a, _b;\r\n var handlers = ((_a = vnode.data) === null || _a === void 0 ? void 0 : _a.on) || ((_b = vnode.componentOptions) === null || _b === void 0 ? void 0 : _b.listeners);\r\n return function (name) {\n var arguments$1 = arguments;\n\r\n var args = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n args[_i - 1] = arguments$1[_i];\r\n }\r\n var _a;\r\n var handle = (_a = handlers) === null || _a === void 0 ? void 0 : _a[name];\r\n if (handle) {\r\n handle.fns.apply(handle, args);\r\n }\r\n };\r\n };\r\n return {\r\n // Init\r\n bind: function (element, binding, vnode) {\r\n // auto class name\r\n if (element.className.indexOf(DEFAULT_CLASSES.containerClass) === -1) {\r\n element.className += ((element.className ? ' ' : '') + DEFAULT_CLASSES.containerClass);\r\n }\r\n // bind click event\r\n element.addEventListener('click', function (event) {\r\n var emitEvent = getEventEmiter(vnode);\r\n var swiper = getSwiperInstance(element, binding, vnode);\r\n handleClickSlideEvent(swiper, event, emitEvent);\r\n });\r\n },\r\n // DOM inserted\r\n inserted: function (element, binding, vnode) {\r\n var context = vnode.context;\r\n var swiperOptions = getSwipeOptions(binding);\r\n var instanceName = getSwiperInstanceName(element, binding, vnode);\r\n var emitEvent = getEventEmiter(vnode);\r\n var vueContext = context;\r\n var swiper = vueContext === null || vueContext === void 0 ? void 0 : vueContext[instanceName];\r\n // Swiper will destroy but not delete instance, when used \r\n if (!swiper || swiper.destroyed) {\r\n swiper = new SwiperClass(element, swiperOptions);\r\n vueContext[instanceName] = swiper;\r\n bindSwiperEvents(swiper, emitEvent);\r\n emitEvent(ComponentEvents.Ready, swiper);\r\n // MARK: Reinstance when the nexttick with \r\n // Vue.nextTick(instancing) | setTimeout(instancing)\r\n }\r\n },\r\n // On options changed or DOM updated\r\n componentUpdated: function (element, binding, vnode) {\r\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\r\n var autoUpdate = getStandardisedOptionByAttrs(vnode, ComponentPropNames.AutoUpdate);\r\n if (getBooleanValueByInput(autoUpdate)) {\r\n var swiper = getSwiperInstance(element, binding, vnode);\r\n if (swiper) {\r\n var swiperOptions = getSwipeOptions(binding);\r\n var isLoop = swiperOptions.loop;\r\n if (isLoop) {\r\n (_b = (_a = swiper) === null || _a === void 0 ? void 0 : _a.loopDestroy) === null || _b === void 0 ? void 0 : _b.call(_a);\r\n }\r\n (_c = swiper === null || swiper === void 0 ? void 0 : swiper.update) === null || _c === void 0 ? void 0 : _c.call(swiper);\r\n (_e = (_d = swiper.navigation) === null || _d === void 0 ? void 0 : _d.update) === null || _e === void 0 ? void 0 : _e.call(_d);\r\n (_g = (_f = swiper.pagination) === null || _f === void 0 ? void 0 : _f.render) === null || _g === void 0 ? void 0 : _g.call(_f);\r\n (_j = (_h = swiper.pagination) === null || _h === void 0 ? void 0 : _h.update) === null || _j === void 0 ? void 0 : _j.call(_h);\r\n if (isLoop) {\r\n (_l = (_k = swiper) === null || _k === void 0 ? void 0 : _k.loopCreate) === null || _l === void 0 ? void 0 : _l.call(_k);\r\n (_m = swiper === null || swiper === void 0 ? void 0 : swiper.update) === null || _m === void 0 ? void 0 : _m.call(swiper);\r\n }\r\n }\r\n }\r\n },\r\n // Destroy this directive\r\n unbind: function (element, binding, vnode) {\r\n var _a;\r\n var autoDestroy = getStandardisedOptionByAttrs(vnode, ComponentPropNames.AutoDestroy);\r\n if (getBooleanValueByInput(autoDestroy)) {\r\n var swiper = getSwiperInstance(element, binding, vnode);\r\n if (swiper && swiper.initialized) {\r\n (_a = swiper === null || swiper === void 0 ? void 0 : swiper.destroy) === null || _a === void 0 ? void 0 : _a.call(swiper, getBooleanValueByInput(getStandardisedOptionByAttrs(vnode, ComponentPropNames.DeleteInstanceOnDestroy)), getBooleanValueByInput(getStandardisedOptionByAttrs(vnode, ComponentPropNames.CleanupStylesOnDestroy)));\r\n }\r\n }\r\n }\r\n };\r\n}/**\r\n * @file vue-awesome-swiper\r\n * @module SwiperComponent\r\n * @author Surmon \r\n */\r\nvar SlotNames;\r\n(function (SlotNames) {\r\n SlotNames[\"ParallaxBg\"] = \"parallax-bg\";\r\n SlotNames[\"Pagination\"] = \"pagination\";\r\n SlotNames[\"Scrollbar\"] = \"scrollbar\";\r\n SlotNames[\"PrevButton\"] = \"button-prev\";\r\n SlotNames[\"NextButton\"] = \"button-next\";\r\n})(SlotNames || (SlotNames = {}));\r\nfunction getSwiperComponent(SwiperClass) {\r\n var _a;\r\n return Vue.extend({\r\n name: CoreNames.SwiperComponent,\r\n props: (_a = {\r\n defaultOptions: {\r\n type: Object,\r\n required: false,\r\n default: function () { return ({}); }\r\n },\r\n // eslint-disable-next-line vue/require-default-prop\r\n options: {\r\n type: Object,\r\n required: false\r\n }\r\n },\r\n _a[ComponentPropNames.AutoUpdate] = {\r\n type: Boolean,\r\n default: true\r\n },\r\n // https://github.com/surmon-china/vue-awesome-swiper/pull/550/files\r\n _a[ComponentPropNames.AutoDestroy] = {\r\n type: Boolean,\r\n default: true\r\n },\r\n // https://github.com/surmon-china/vue-awesome-swiper/pull/388\r\n _a[ComponentPropNames.DeleteInstanceOnDestroy] = {\r\n type: Boolean,\r\n required: false,\r\n default: true\r\n },\r\n _a[ComponentPropNames.CleanupStylesOnDestroy] = {\r\n type: Boolean,\r\n required: false,\r\n default: true\r\n },\r\n _a),\r\n data: function () {\r\n var _a;\r\n return _a = {},\r\n _a[CoreNames.SwiperInstance] = null,\r\n _a;\r\n },\r\n computed: {\r\n swiperInstance: {\r\n cache: false,\r\n set: function (swiper) {\r\n this[CoreNames.SwiperInstance] = swiper;\r\n },\r\n get: function () {\r\n return this[CoreNames.SwiperInstance];\r\n }\r\n },\r\n swiperOptions: function () {\r\n return this.options || this.defaultOptions;\r\n },\r\n wrapperClass: function () {\r\n return this.swiperOptions.wrapperClass || DEFAULT_CLASSES.wrapperClass;\r\n }\r\n },\r\n methods: {\r\n // Feature: click event\r\n handleSwiperClick: function (event) {\r\n handleClickSlideEvent(this.swiperInstance, event, this.$emit.bind(this));\r\n },\r\n autoReLoopSwiper: function () {\r\n var _a, _b;\r\n if (this.swiperInstance && this.swiperOptions.loop) {\r\n // https://github.com/surmon-china/vue-awesome-swiper/issues/593\r\n // https://github.com/surmon-china/vue-awesome-swiper/issues/544\r\n // https://github.com/surmon-china/vue-awesome-swiper/pull/545/files\r\n var swiper = this.swiperInstance;\r\n (_a = swiper === null || swiper === void 0 ? void 0 : swiper.loopDestroy) === null || _a === void 0 ? void 0 : _a.call(swiper);\r\n (_b = swiper === null || swiper === void 0 ? void 0 : swiper.loopCreate) === null || _b === void 0 ? void 0 : _b.call(swiper);\r\n }\r\n },\r\n updateSwiper: function () {\r\n var _a, _b, _c, _d, _e, _f, _g, _h;\r\n if (this[ComponentPropNames.AutoUpdate] && this.swiperInstance) {\r\n this.autoReLoopSwiper();\r\n (_b = (_a = this.swiperInstance) === null || _a === void 0 ? void 0 : _a.update) === null || _b === void 0 ? void 0 : _b.call(_a);\r\n (_d = (_c = this.swiperInstance.navigation) === null || _c === void 0 ? void 0 : _c.update) === null || _d === void 0 ? void 0 : _d.call(_c);\r\n (_f = (_e = this.swiperInstance.pagination) === null || _e === void 0 ? void 0 : _e.render) === null || _f === void 0 ? void 0 : _f.call(_e);\r\n (_h = (_g = this.swiperInstance.pagination) === null || _g === void 0 ? void 0 : _g.update) === null || _h === void 0 ? void 0 : _h.call(_g);\r\n }\r\n },\r\n destroySwiper: function () {\r\n var _a, _b;\r\n if (this[ComponentPropNames.AutoDestroy] && this.swiperInstance) {\r\n // https://github.com/surmon-china/vue-awesome-swiper/pull/341\r\n // https://github.com/surmon-china/vue-awesome-swiper/issues/340\r\n if (this.swiperInstance.initialized) {\r\n (_b = (_a = this.swiperInstance) === null || _a === void 0 ? void 0 : _a.destroy) === null || _b === void 0 ? void 0 : _b.call(_a, this[ComponentPropNames.DeleteInstanceOnDestroy], this[ComponentPropNames.CleanupStylesOnDestroy]);\r\n }\r\n }\r\n },\r\n initSwiper: function () {\r\n this.swiperInstance = new SwiperClass(this.$el, this.swiperOptions);\r\n bindSwiperEvents(this.swiperInstance, this.$emit.bind(this));\r\n this.$emit(ComponentEvents.Ready, this.swiperInstance);\r\n }\r\n },\r\n mounted: function () {\r\n if (!this.swiperInstance) {\r\n this.initSwiper();\r\n }\r\n },\r\n // Update swiper when the parent component activated with `keep-alive`.\r\n activated: function () {\r\n this.updateSwiper();\r\n },\r\n updated: function () {\r\n this.updateSwiper();\r\n },\r\n beforeDestroy: function () {\r\n // https://github.com/surmon-china/vue-awesome-swiper/commit/2924a9d4d3d1cf51c0d46076410b1f804b2b8a43#diff-7f4e0261ac562c0f354cb91a1ca8864f\r\n this.$nextTick(this.destroySwiper);\r\n },\r\n render: function (createElement) {\r\n return createElement('div', {\r\n staticClass: DEFAULT_CLASSES.containerClass,\r\n on: {\r\n click: this.handleSwiperClick\r\n }\r\n }, [\r\n this.$slots[SlotNames.ParallaxBg],\r\n createElement('div', {\r\n class: this.wrapperClass\r\n }, this.$slots.default),\r\n this.$slots[SlotNames.Pagination],\r\n this.$slots[SlotNames.PrevButton],\r\n this.$slots[SlotNames.NextButton],\r\n this.$slots[SlotNames.Scrollbar]\r\n ]);\r\n }\r\n });\r\n}/**\r\n * @file vue-awesome-swiper\r\n * @module SwiperSlideComponent\r\n * @author Surmon \r\n */\r\nvar SwiperSlideComponent = Vue.extend({\r\n name: CoreNames.SwiperSlideComponent,\r\n computed: {\r\n slideClass: function () {\r\n var _a, _b;\r\n return ((_b = (_a = this.$parent) === null || _a === void 0 ? void 0 : _a.swiperOptions) === null || _b === void 0 ? void 0 : _b.slideClass) || DEFAULT_CLASSES.slideClass;\r\n }\r\n },\r\n methods: {\r\n update: function () {\r\n var _a;\r\n var parent = this.$parent;\r\n // https://github.com/surmon-china/vue-awesome-swiper/issues/632\r\n if (parent[ComponentPropNames.AutoUpdate]) {\r\n (_a = parent === null || parent === void 0 ? void 0 : parent.swiperInstance) === null || _a === void 0 ? void 0 : _a.update();\r\n }\r\n }\r\n },\r\n mounted: function () {\r\n this.update();\r\n },\r\n updated: function () {\r\n this.update();\r\n },\r\n render: function (createElement) {\r\n return createElement('div', {\r\n class: this.slideClass\r\n }, this.$slots.default);\r\n }\r\n});/**\r\n * @file vue-awesome-swiper\r\n * @module exporter\r\n * @author Surmon \r\n */\r\nvar getInstaller = function (SwiperClass) {\r\n var install = function (Vue, globalOptions) {\r\n if (install.installed)\r\n { return; }\r\n var SwiperComponent = getSwiperComponent(SwiperClass);\r\n if (globalOptions) {\r\n SwiperComponent.options.props.defaultOptions.default = function () { return globalOptions; };\r\n }\r\n Vue.component(CoreNames.SwiperComponent, SwiperComponent);\r\n Vue.component(CoreNames.SwiperSlideComponent, SwiperSlideComponent);\r\n Vue.directive(CoreNames.SwiperDirective, getDirective(SwiperClass, globalOptions));\r\n install.installed = true;\r\n };\r\n return install;\r\n};\r\nfunction exporter(SwiperClass) {\r\n var _a;\r\n return _a = {\r\n version: '4.1.1',\r\n install: getInstaller(SwiperClass),\r\n directive: getDirective(SwiperClass)\r\n },\r\n _a[CoreNames.SwiperComponent] = getSwiperComponent(SwiperClass),\r\n _a[CoreNames.SwiperSlideComponent] = SwiperSlideComponent,\r\n _a;\r\n}return exporter;})));"],"sourceRoot":""}