{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./app/javascript/packs/swiper.js","webpack:///./node_modules/ssr-window/ssr-window.esm.js","webpack:///./node_modules/dom7/dom7.esm.js","webpack:///./node_modules/swiper/shared/dom.js","webpack:///./node_modules/swiper/shared/get-support.js","webpack:///./node_modules/swiper/shared/get-device.js","webpack:///./node_modules/swiper/shared/get-browser.js","webpack:///./node_modules/swiper/shared/utils.js","webpack:///./node_modules/swiper/core/events-emitter.js","webpack:///./node_modules/swiper/core/update/updateSlides.js","webpack:///./node_modules/swiper/core/translate/translateTo.js","webpack:///./node_modules/swiper/core/transition/transitionEmit.js","webpack:///./node_modules/swiper/core/slide/slideTo.js","webpack:///./node_modules/swiper/core/events/onTouchStart.js","webpack:///./node_modules/swiper/core/events/onTouchMove.js","webpack:///./node_modules/swiper/core/events/onTouchEnd.js","webpack:///./node_modules/swiper/core/events/onResize.js","webpack:///./node_modules/swiper/core/events/onClick.js","webpack:///./node_modules/swiper/core/events/onScroll.js","webpack:///./node_modules/swiper/core/events/index.js","webpack:///./node_modules/swiper/core/breakpoints/setBreakpoint.js","webpack:///./node_modules/swiper/core/classes/addClasses.js","webpack:///./node_modules/swiper/core/check-overflow/index.js","webpack:///./node_modules/swiper/core/defaults.js","webpack:///./node_modules/swiper/core/moduleExtendParams.js","webpack:///./node_modules/swiper/core/core.js","webpack:///./node_modules/swiper/core/update/index.js","webpack:///./node_modules/swiper/core/update/updateSize.js","webpack:///./node_modules/swiper/core/update/updateAutoHeight.js","webpack:///./node_modules/swiper/core/update/updateSlidesOffset.js","webpack:///./node_modules/swiper/core/update/updateSlidesProgress.js","webpack:///./node_modules/swiper/core/update/updateProgress.js","webpack:///./node_modules/swiper/core/update/updateSlidesClasses.js","webpack:///./node_modules/swiper/core/update/updateActiveIndex.js","webpack:///./node_modules/swiper/core/update/updateClickedSlide.js","webpack:///./node_modules/swiper/core/translate/index.js","webpack:///./node_modules/swiper/core/translate/getTranslate.js","webpack:///./node_modules/swiper/core/translate/setTranslate.js","webpack:///./node_modules/swiper/core/translate/minTranslate.js","webpack:///./node_modules/swiper/core/translate/maxTranslate.js","webpack:///./node_modules/swiper/core/transition/index.js","webpack:///./node_modules/swiper/core/transition/setTransition.js","webpack:///./node_modules/swiper/core/transition/transitionStart.js","webpack:///./node_modules/swiper/core/transition/transitionEnd.js","webpack:///./node_modules/swiper/core/slide/index.js","webpack:///./node_modules/swiper/core/slide/slideToLoop.js","webpack:///./node_modules/swiper/core/slide/slideNext.js","webpack:///./node_modules/swiper/core/slide/slidePrev.js","webpack:///./node_modules/swiper/core/slide/slideReset.js","webpack:///./node_modules/swiper/core/slide/slideToClosest.js","webpack:///./node_modules/swiper/core/slide/slideToClickedSlide.js","webpack:///./node_modules/swiper/core/loop/index.js","webpack:///./node_modules/swiper/core/loop/loopCreate.js","webpack:///./node_modules/swiper/core/loop/loopFix.js","webpack:///./node_modules/swiper/core/loop/loopDestroy.js","webpack:///./node_modules/swiper/core/grab-cursor/index.js","webpack:///./node_modules/swiper/core/grab-cursor/setGrabCursor.js","webpack:///./node_modules/swiper/core/grab-cursor/unsetGrabCursor.js","webpack:///./node_modules/swiper/core/breakpoints/index.js","webpack:///./node_modules/swiper/core/breakpoints/getBreakpoint.js","webpack:///./node_modules/swiper/core/classes/index.js","webpack:///./node_modules/swiper/core/classes/removeClasses.js","webpack:///./node_modules/swiper/core/images/index.js","webpack:///./node_modules/swiper/core/images/loadImage.js","webpack:///./node_modules/swiper/core/images/preloadImages.js","webpack:///./node_modules/swiper/core/modules/resize/resize.js","webpack:///./node_modules/swiper/core/modules/observer/observer.js","webpack:///./node_modules/swiper/shared/create-element-if-not-defined.js","webpack:///./node_modules/swiper/modules/navigation/navigation.js","webpack:///./node_modules/swiper/shared/classes-to-selector.js","webpack:///./node_modules/swiper/modules/pagination/pagination.js","webpack:///./app/javascript/src/swiper.js","webpack:///./node_modules/swiper/swiper.scss?0ac8","webpack:///./node_modules/swiper/swiper.scss","webpack:///./node_modules/swiper/modules/navigation/navigation.scss?262e","webpack:///./node_modules/swiper/modules/navigation/navigation.scss","webpack:///./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///./node_modules/swiper/modules/pagination/pagination.scss?7f3b","webpack:///./node_modules/swiper/modules/pagination/pagination.scss","webpack:///./node_modules/css-loader/dist/runtime/api.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","_typeof","obj","iterator","constructor","isObject","extend","target","arguments","length","undefined","src","keys","forEach","ssrDocument","body","addEventListener","removeEventListener","activeElement","blur","nodeName","querySelector","querySelectorAll","getElementById","createEvent","initEvent","createElement","children","childNodes","style","setAttribute","getElementsByTagName","createElementNS","importNode","location","hash","host","hostname","href","origin","pathname","protocol","search","getDocument","doc","document","ssrWindow","navigator","userAgent","history","replaceState","pushState","go","back","CustomEvent","this","getComputedStyle","getPropertyValue","Image","Date","screen","setTimeout","clearTimeout","matchMedia","requestAnimationFrame","callback","cancelAnimationFrame","id","getWindow","win","window","_toConsumableArray","arr","Array","isArray","_arrayLikeToArray","_arrayWithoutHoles","iter","from","_iterableToArray","minLen","toString","slice","test","_unsupportedIterableToArray","TypeError","_nonIterableSpread","len","arr2","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","_wrapNativeSuper","Class","_cache","Map","fn","Function","indexOf","has","set","Wrapper","_construct","_getPrototypeOf","writable","configurable","_setPrototypeOf","Parent","args","_isNativeReflectConstruct","Reflect","construct","a","push","apply","instance","sham","Proxy","e","setPrototypeOf","__proto__","getPrototypeOf","Dom7","_Array","subClass","superClass","_inherits","Derived","hasNativeReflectConstruct","_super","result","Super","NewTarget","items","_this","proto","Constructor","_classCallCheck","concat","arrayFlat","res","el","arrayFilter","filter","$","selector","context","_html","trim","toCreate","tempParent","innerHTML","qsa","nodeType","uniqueArray","arrayUnique","noTrigger","split","shortcut","_len14","_key14","trigger","on","Methods","addClass","_len","classes","_key","classNames","map","_el$classList","classList","add","removeClass","_len2","_key2","_el$classList2","remove","hasClass","_len4","_key4","className","contains","toggleClass","_len3","_key3","toggle","attr","attrs","getAttribute","attrName","removeAttr","removeAttribute","transform","transition","duration","transitionDuration","_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","_len9","_key9","evt","detail","bubbles","cancelable","data","dataIndex","dispatchEvent","transitionEnd","dom","fireCallBack","outerWidth","includeMargins","_styles","styles","offsetWidth","parseFloat","outerHeight","_styles2","offsetHeight","offset","box","getBoundingClientRect","clientTop","clientLeft","_scrollTop","scrollY","scrollTop","_scrollLeft","scrollX","scrollLeft","top","left","css","props","_prop","each","index","html","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","parent","parentNode","_parent","closest","find","foundElements","found","removeChild","methodName","deviceCached","_defineProperty","deleteProps","nextTick","delay","now","currentStyle","getTranslate","matrix","curTransform","transformMatrix","axis","curStyle","WebKitCSSMatrix","webkitTransform","replace","join","MozTransform","OTransform","MsTransform","msTransform","m41","m42","isNode","node","HTMLElement","to","noExtend","nextSource","keysArray","nextIndex","nextKey","desc","getOwnPropertyDescriptor","__swiper__","setCSSProperty","varName","varValue","setProperty","animateCSSModeScroll","_ref","time","swiper","targetPosition","side","startPosition","translate","startTime","params","speed","wrapperEl","scrollSnapType","cssModeFrameID","dir","isOutOfBound","current","animate","getTime","progress","Math","max","min","easeProgress","cos","PI","currentPosition","scrollTo","overflow","getSupport","smoothScroll","documentElement","touch","DocumentTouch","passiveListener","supportsPassive","opts","gestures","calcSupport","calcDevice","support","platform","ua","device","ios","android","screenWidth","width","screenHeight","height","match","ipad","ipod","iphone","windows","macos","iPadScreens","os","getDevice","overrides","getBrowser","isSafari","toLowerCase","isWebView","calcBrowser","transitionEmit","runCallbacks","direction","step","activeIndex","previousIndex","emit","touchEventsData","touches","enabled","animating","preventInteractionOnTransition","cssMode","loop","loopFix","originalEvent","$targetEl","touchEventsTarget","isTouchEvent","type","which","button","isTouched","isMoved","swipingClassHasValue","noSwipingClass","eventPath","composedPath","path","shadowRoot","noSwipingSelector","isTargetShadow","noSwiping","base","__closestFrom","assignedSlot","getRootNode","closestElement","allowClick","swipeHandler","currentX","targetTouches","pageX","currentY","pageY","startX","startY","edgeSwipeDetection","iOSEdgeSwipeDetection","edgeSwipeThreshold","iOSEdgeSwipeThreshold","innerWidth","preventDefault","assign","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","updateSize","swipeDirection","threshold","allowThresholdMove","focusableElements","shouldPreventDefault","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","isContentEditable","freeMode","onTouchStart","rtl","rtlTranslate","targetTouch","changedTouches","preventedByNestedSwiper","touchReleaseOnEdges","isVertical","maxTranslate","minTranslate","diffX","diffY","sqrt","pow","touchAngle","isHorizontal","atan2","abs","touchMoveStopPropagation","nested","stopPropagation","startTranslate","setTransition","$wrapperEl","allowMomentumBounce","grabCursor","allowSlideNext","allowSlidePrev","setGrabCursor","diff","touchRatio","currentTranslate","disableParentSwiper","resistanceRatio","resistance","followFinger","watchSlidesProgress","updateActiveIndex","updateSlidesClasses","onTouchMove","updateProgress","setTranslate","slidesGrid","currentPos","touchEndTime","timeDiff","pathTree","updateClickedSlide","lastClickTime","destroyed","onTouchEnd","stopIndex","groupSize","slidesSizesGrid","slidesPerGroupSkip","slidesPerGroup","_increment","rewindFirstIndex","rewindLastIndex","rewind","isBeginning","virtual","slides","isEnd","ratio","increment","longSwipesMs","longSwipes","slideTo","longSwipesRatio","shortSwipes","navigation","nextEl","prevEl","onResize","breakpoints","setBreakpoint","snapGrid","updateSlides","slidesPerView","centeredSlides","autoplay","running","paused","run","watchOverflow","checkOverflow","preventClicks","preventClicksPropagation","stopImmediatePropagation","onScroll","previousTranslate","translatesDiff","dummyEventAttached","dummyEventListener","method","touchEvents","domMethod","swiperMethod","start","passiveListeners","passive","move","end","cancel","onClick","updateOnWindowResize","isGridEnabled","grid","rows","init","initialSlide","resizeObserver","createElements","url","autoHeight","setWrapperSize","virtualTranslate","effect","breakpointsBase","spaceBetween","slidesPerGroupAuto","centeredSlidesBounds","slidesOffsetBefore","slidesOffsetAfter","normalizeSlideIndex","centerInsufficientSlides","roundLengths","simulateTouch","uniqueNavElements","slideToClickedSlide","preloadImages","updateOnImagesReady","loopAdditionalSlides","loopedSlides","loopedSlidesLimit","loopFillGroupWithBlank","loopPreventsSlide","maxBackfaceHiddenSlides","containerModifierClass","slideClass","slideBlankClass","slideActiveClass","slideDuplicateActiveClass","slideVisibleClass","slideDuplicateClass","slideNextClass","slideDuplicateNextClass","slidePrevClass","slideDuplicatePrevClass","wrapperClass","runCallbacksOnInit","_emitClasses","moduleExtendParams","allModulesParams","moduleParamName","moduleParams","auto","_defineProperties","descriptor","prototypes","eventsEmitter","priority","eventsListeners","once","onceHandler","__emitterProxy","onAny","eventsAnyListeners","offAny","eventHandler","eventsArray","update","$el","clientWidth","clientHeight","parseInt","Number","isNaN","size","getDirectionLabel","getDirectionPropertyValue","label","swiperSize","wrongRTL","isVirtual","previousSlidesLength","slidesLength","offsetBefore","offsetAfter","previousSnapGridLength","previousSlidesGridLength","slidePosition","prevSlideSize","virtualSize","marginLeft","marginBottom","marginTop","marginRight","slideSize","gridEnabled","initSlides","shouldResetSlideSize","slide","updateSlide","slideStyles","currentTransform","currentWebKitTransform","paddingLeft","paddingRight","boxSizing","_slide$","floor","swiperSlideSize","updateWrapperSize","newSlidesGrid","_i","slidesGridItem","_","slideIndex","allSlidesSize","slideSizeValue","maxSnap","snap","_allSlidesSize","allSlidesOffset","snapIndex","addToSnapGrid","addToSlidesGrid","v","updateSlidesOffset","backFaceHiddenClass","hasClassBackfaceClassAdded","updateAutoHeight","activeSlides","newHeight","getSlideByIndex","visibleSlides","ceil","swiperSlideOffset","offsetLeft","offsetTop","updateSlidesProgress","offsetCenter","visibleSlidesIndexes","slideOffset","slideProgress","originalSlideProgress","slideBefore","slideAfter","isVisible","originalProgress","multiplier","wasBeginning","wasEnd","activeSlide","realIndex","nextSlide","prevSlide","emitSlidesClasses","newActiveIndex","previousRealIndex","previousSnapIndex","skip","initialized","slideFound","clickedSlide","clickedIndex","byController","x","y","translateTo","translateBounds","internal","newTranslate","isH","_wrapperEl$scrollTo","onTranslateToWrapperTransitionEnd","transitionStart","initial","Error","indexAsNumber","isValidNumber","isFinite","normalizedTranslate","normalizedGrid","normalizedGridNext","_immediateVirtual","_swiperImmediateVirtual","onSlideToWrapperTransitionEnd","slideToLoop","newIndex","slideNext","perGroup","slidesPerViewDynamic","_clientLeft","slidePrev","normalize","val","prevSnapIndex","normalizedSnapGrid","prevSnap","prevIndex","lastIndex","slideReset","slideToClosest","currentSnap","nextSnap","_currentSnap","slideToIndex","loopCreate","$selector","blankSlidesNum","blankNode","prependSlides","appendSlides","_i2","cloneNode","_i3","loopDestroy","moving","isLocked","cursor","unsetGrabCursor","attachEvents","detachEvents","_swiper$loopedSlides","breakpoint","getBreakpoint","currentBreakpoint","breakpointParams","originalParams","wasMultiRow","isMultiRow","wasEnabled","emitContainerClasses","fill","prop","wasModuleEnabled","isModuleEnabled","disable","enable","directionChanged","needsReLoop","changeDirection","isEnabled","containerEl","currentHeight","innerHeight","points","point","minRatio","substr","sort","b","_points$i","wasLocked","lastSlideIndex","lastSlideRightEdge","addClasses","entries","prefix","resultClasses","suffixes","item","removeClasses","images","loadImage","imageEl","srcset","sizes","checkForComplete","image","onReady","complete","onload","onerror","imagesLoaded","imagesToLoad","currentSrc","extendedDefaults","Swiper","swipers","newParams","_swiper$modules","browser","__modules__","mod","extendParams","desktop","swiperParams","defaults","passedParams","eventName","velocity","touchEventsTouch","touchEventsDesktop","clickTimeout","velocities","protoProps","staticProps","newDefaults","installModule","cls","slideEl","updates","getSlideClasses","view","exact","spv","breakLoop","slideInView","_slideInView","translateValue","newDirection","needUpdate","currentDirection","mounted","getWrapperSelector","options","getWrapper","wrapper","mount","deleteInstance","cleanStyles","prototypeGroup","protoMethod","use","observer","animationFrame","resizeHandler","orientationChangeHandler","ResizeObserver","newWidth","_ref2","contentBoxSize","contentRect","inlineSize","blockSize","observe","unobserve","observers","attach","ObserverFunc","MutationObserver","WebkitMutationObserver","mutations","observerUpdate","attributes","childList","characterData","observeParents","observeSlideChildren","containerParents","disconnect","createElementIfNotDefined","checkProps","element","Navigation","getEl","toggleEl","disabled","disabledClass","tagName","lockClass","_swiper$navigation","$nextEl","$prevEl","onPrevClick","onNextClick","destroy","_swiper$navigation2","hideOnClick","hiddenClass","navigationDisabledClass","_swiper$navigation3","_s","_swiper$navigation4","targetEl","pagination","clickable","isHidden","classesToSelector","Pagination","bulletSize","pfx","bulletElement","renderBullet","renderProgressbar","renderFraction","renderCustom","progressbarOpposite","dynamicBullets","dynamicMainBullets","formatFractionCurrent","number","formatFractionTotal","bulletClass","bulletActiveClass","modifierClass","currentClass","totalClass","progressbarFillClass","progressbarOppositeClass","clickableClass","horizontalClass","verticalClass","paginationDisabledClass","bullets","dynamicBulletIndex","isPaginationDisabled","setSideBullets","$bulletEl","position","total","paginationType","firstIndex","midIndex","suffix","bullet","$bullet","bulletIndex","$firstDisplayedBullet","$lastDisplayedBullet","dynamicBulletsLength","bulletsOffset","offsetProp","progressbarDirection","scale","scaleX","scaleY","render","paginationHTML","numberOfBullets","initDefaultSwiper","api","content","default","locals","___CSS_LOADER_API_IMPORT___","memo","isOldIE","Boolean","all","atob","getTarget","styleTarget","HTMLIFrameElement","contentDocument","head","stylesInDom","getIndexByIdentifier","identifier","modulesToDom","list","idCountMap","identifiers","count","media","sourceMap","references","updater","addStyle","insertStyleElement","nonce","insert","textStore","replaceText","replacement","applyToSingletonTag","styleSheet","cssText","cssNode","createTextNode","applyToTag","btoa","unescape","encodeURIComponent","JSON","stringify","singleton","singletonCounter","styleIndex","removeStyleElement","newObj","lastIdentifiers","newList","newLastIdentifiers","_index","useSourceMap","cssMapping","sourceMapping","base64","sourceURLs","sources","source","sourceRoot","cssWithMappingToString","mediaQuery","dedupe","alreadyImportedModules"],"mappings":"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","file":"js/swiper-b45c23c34958ab0280c7.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 224);\n","import \"../src/swiper\";\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/**\n * SSR Window 4.0.2\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2021, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: December 13, 2021\n */\n\n/* eslint-disable no-param-reassign */\nfunction isObject(obj) {\n return obj !== null && _typeof(obj) === 'object' && 'constructor' in obj && obj.constructor === Object;\n}\n\nfunction extend() {\n var target = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var src = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n Object.keys(src).forEach(function (key) {\n if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) {\n extend(target[key], src[key]);\n }\n });\n}\n\nvar ssrDocument = {\n body: {},\n addEventListener: function addEventListener() {},\n removeEventListener: function removeEventListener() {},\n activeElement: {\n blur: function blur() {},\n nodeName: ''\n },\n querySelector: function querySelector() {\n return null;\n },\n querySelectorAll: function querySelectorAll() {\n return [];\n },\n getElementById: function getElementById() {\n return null;\n },\n createEvent: function createEvent() {\n return {\n initEvent: function initEvent() {}\n };\n },\n createElement: function createElement() {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute: function setAttribute() {},\n getElementsByTagName: function getElementsByTagName() {\n return [];\n }\n };\n },\n createElementNS: function createElementNS() {\n return {};\n },\n importNode: function importNode() {\n return null;\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: ''\n }\n};\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 replaceState() {},\n pushState: function pushState() {},\n go: function go() {},\n back: function back() {}\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener: function addEventListener() {},\n removeEventListener: function removeEventListener() {},\n getComputedStyle: function getComputedStyle() {\n return {\n getPropertyValue: function getPropertyValue() {\n return '';\n }\n };\n },\n Image: function Image() {},\n Date: function Date() {},\n screen: {},\n setTimeout: function setTimeout() {},\n clearTimeout: function clearTimeout() {},\n matchMedia: function matchMedia() {\n return {};\n },\n requestAnimationFrame: function requestAnimationFrame(callback) {\n if (typeof setTimeout === 'undefined') {\n callback();\n return null;\n }\n\n return setTimeout(callback, 0);\n },\n cancelAnimationFrame: function cancelAnimationFrame(id) {\n if (typeof setTimeout === 'undefined') {\n return;\n }\n\n clearTimeout(id);\n }\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 };","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n/**\n * Dom7 4.0.4\n * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API\n * https://framework7.io/docs/dom7.html\n *\n * Copyright 2022, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: January 11, 2022\n */\nimport { getWindow, getDocument } from 'ssr-window';\n/* eslint-disable no-proto */\n\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 _inherits(Dom7, _Array);\n\n var _super = _createSuper(Dom7);\n\n function Dom7(items) {\n var _this;\n\n _classCallCheck(this, Dom7);\n\n if (typeof items === 'number') {\n _this = _super.call(this, items);\n } else {\n _this = _super.call.apply(_super, [this].concat(_toConsumableArray(items || [])));\n makeReactive(_assertThisInitialized(_this));\n }\n\n return _possibleConstructorReturn(_this);\n }\n\n return Dom7;\n}( /*#__PURE__*/_wrapNativeSuper(Array));\n\nfunction arrayFlat() {\n var arr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var res = [];\n arr.forEach(function (el) {\n if (Array.isArray(el)) {\n res.push.apply(res, _toConsumableArray(arrayFlat(el)));\n } else {\n res.push(el);\n }\n });\n return res;\n}\n\nfunction arrayFilter(arr, callback) {\n return Array.prototype.filter.call(arr, callback);\n}\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}\n\nfunction toCamelCase(string) {\n return string.toLowerCase().replace(/-(.)/g, function (match, group) {\n return group.toUpperCase();\n });\n} // eslint-disable-next-line\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-\".concat(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' ? \"\".concat(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\n var _scrollTop = el === window ? window.scrollY : el.scrollTop;\n\n var _scrollLeft = el === window ? window.scrollX : el.scrollLeft;\n\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} // eslint-disable-next-line\n\n\nfunction scrollTo() {\n var window = getWindow();\n\n for (var _len11 = arguments.length, args = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) {\n args[_key11] = arguments[_key11];\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() {\n var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date().getTime();\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 _len12 = arguments.length, args = new Array(_len12), _key12 = 0; _key12 < _len12; _key12++) {\n args[_key12] = arguments[_key12];\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 _len13 = arguments.length, args = new Array(_len13), _key13 = 0; _key13 < _len13; _key13++) {\n args[_key13] = arguments[_key13];\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} // eslint-disable-next-line\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 _len14 = arguments.length, args = new Array(_len14), _key14 = 0; _key14 < _len14; _key14++) {\n args[_key14] = arguments[_key14];\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');\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 };","import { $, addClass, removeClass, hasClass, toggleClass, attr, removeAttr, transform, transition, on, off, trigger, transitionEnd, outerWidth, outerHeight, styles, offset, css, each, html, text, is, index, eq, append, prepend, next, nextAll, prev, prevAll, parent, parents, closest, find, children, filter, remove } from 'dom7';\nvar Methods = {\n addClass: addClass,\n removeClass: removeClass,\n hasClass: hasClass,\n toggleClass: toggleClass,\n attr: attr,\n removeAttr: removeAttr,\n transform: transform,\n transition: transition,\n on: on,\n off: off,\n trigger: trigger,\n transitionEnd: transitionEnd,\n outerWidth: outerWidth,\n outerHeight: outerHeight,\n styles: styles,\n offset: offset,\n css: css,\n each: each,\n html: html,\n text: text,\n is: is,\n index: index,\n eq: eq,\n append: append,\n prepend: prepend,\n next: next,\n nextAll: nextAll,\n prev: prev,\n prevAll: prevAll,\n parent: parent,\n parents: parents,\n closest: closest,\n find: find,\n children: children,\n filter: filter,\n remove: remove\n};\nObject.keys(Methods).forEach(function (methodName) {\n Object.defineProperty($.fn, methodName, {\n value: Methods[methodName],\n writable: true\n });\n});\nexport default $;","import { getWindow, getDocument } from 'ssr-window';\nvar support;\n\nfunction calcSupport() {\n var window = getWindow();\n var document = getDocument();\n return {\n smoothScroll: document.documentElement && 'scrollBehavior' in document.documentElement.style,\n touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch),\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.js';\nvar deviceCached;\n\nfunction calcDevice() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\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(\"\".concat(screenWidth, \"x\").concat(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() {\n var overrides = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (!deviceCached) {\n deviceCached = calcDevice(overrides);\n }\n\n return deviceCached;\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 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 };","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport { 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) {\n var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n return setTimeout(callback, delay);\n}\n\nfunction now() {\n return Date.now();\n}\n\nfunction getComputedStyle(el) {\n var window = getWindow();\n var style;\n\n if (window.getComputedStyle) {\n style = window.getComputedStyle(el, null);\n }\n\n if (!style && el.currentStyle) {\n style = el.currentStyle;\n }\n\n if (!style) {\n style = el.style;\n }\n\n return style;\n}\n\nfunction getTranslate(el) {\n var axis = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'x';\n var window = getWindow();\n var matrix;\n var curTransform;\n var transformMatrix;\n var curStyle = getComputedStyle(el, null);\n\n if (window.WebKitCSSMatrix) {\n curTransform = curStyle.transform || curStyle.webkitTransform;\n\n if (curTransform.split(',').length > 6) {\n curTransform = curTransform.split(', ').map(function (a) {\n return a.replace(',', '.');\n }).join(', ');\n } // Some old versions of Webkit choke when 'none' is passed; pass\n // empty string instead in this case\n\n\n transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\n } else {\n transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n matrix = transformMatrix.toString().split(',');\n }\n\n if (axis === 'x') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41; // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[12]); // Normal Browsers\n else curTransform = parseFloat(matrix[4]);\n }\n\n if (axis === 'y') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42; // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[13]); // Normal Browsers\n else curTransform = parseFloat(matrix[5]);\n }\n\n return curTransform || 0;\n}\n\nfunction isObject(o) {\n return _typeof(o) === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';\n}\n\nfunction isNode(node) {\n // eslint-disable-next-line\n if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') {\n return node instanceof HTMLElement;\n }\n\n return node && (node.nodeType === 1 || node.nodeType === 11);\n}\n\nfunction extend() {\n var to = Object(arguments.length <= 0 ? undefined : arguments[0]);\n var noExtend = ['__proto__', 'constructor', 'prototype'];\n\n for (var i = 1; i < arguments.length; i += 1) {\n var nextSource = i < 0 || arguments.length <= i ? undefined : arguments[i];\n\n if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) {\n var keysArray = Object.keys(Object(nextSource)).filter(function (key) {\n return noExtend.indexOf(key) < 0;\n });\n\n for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\n var nextKey = keysArray[nextIndex];\n var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n\n if (desc !== undefined && desc.enumerable) {\n if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n to[nextKey] = {};\n\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n }\n\n return to;\n}\n\nfunction setCSSProperty(el, varName, varValue) {\n el.style.setProperty(varName, varValue);\n}\n\nfunction animateCSSModeScroll(_ref) {\n var swiper = _ref.swiper,\n targetPosition = _ref.targetPosition,\n side = _ref.side;\n var window = getWindow();\n var startPosition = -swiper.translate;\n var startTime = null;\n var time;\n var duration = swiper.params.speed;\n swiper.wrapperEl.style.scrollSnapType = 'none';\n window.cancelAnimationFrame(swiper.cssModeFrameID);\n var dir = targetPosition > startPosition ? 'next' : 'prev';\n\n var isOutOfBound = function isOutOfBound(current, target) {\n return dir === 'next' && current >= target || dir === 'prev' && current <= target;\n };\n\n var animate = function animate() {\n time = new Date().getTime();\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 = 0.5 - Math.cos(progress * Math.PI) / 2;\n var currentPosition = startPosition + easeProgress * (targetPosition - startPosition);\n\n if (isOutOfBound(currentPosition, targetPosition)) {\n currentPosition = targetPosition;\n }\n\n swiper.wrapperEl.scrollTo(_defineProperty({}, side, currentPosition));\n\n if (isOutOfBound(currentPosition, targetPosition)) {\n swiper.wrapperEl.style.overflow = 'hidden';\n swiper.wrapperEl.style.scrollSnapType = '';\n setTimeout(function () {\n swiper.wrapperEl.style.overflow = '';\n swiper.wrapperEl.scrollTo(_defineProperty({}, side, currentPosition));\n });\n window.cancelAnimationFrame(swiper.cssModeFrameID);\n return;\n }\n\n swiper.cssModeFrameID = window.requestAnimationFrame(animate);\n };\n\n animate();\n}\n\nexport { animateCSSModeScroll, deleteProps, nextTick, now, getTranslate, isObject, extend, getComputedStyle, setCSSProperty };","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n/* eslint-disable no-underscore-dangle */\nexport default {\n on: function on(events, handler, priority) {\n var self = this;\n if (!self.eventsListeners || self.destroyed) return self;\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 (!self.eventsListeners || self.destroyed) return self;\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 (!self.eventsListeners || self.destroyed) return self;\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.eventsListeners || self.destroyed) return self;\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 || self.destroyed) return self;\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 || self.destroyed) return self;\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(_toConsumableArray(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};","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { setCSSProperty } from '../../shared/utils.js';\nexport default function updateSlides() {\n var swiper = this;\n\n function getDirectionLabel(property) {\n if (swiper.isHorizontal()) {\n return property;\n } // prettier-ignore\n\n\n return {\n 'width': 'height',\n 'margin-top': 'margin-left',\n 'margin-bottom ': 'margin-right',\n 'margin-left': 'margin-top',\n 'margin-right': 'margin-bottom',\n 'padding-left': 'padding-top',\n 'padding-right': 'padding-bottom',\n 'marginRight': 'marginBottom'\n }[property];\n }\n\n function getDirectionPropertyValue(node, label) {\n return parseFloat(node.getPropertyValue(getDirectionLabel(label)) || 0);\n }\n\n var params = swiper.params;\n var $wrapperEl = swiper.$wrapperEl,\n swiperSize = swiper.size,\n rtl = swiper.rtlTranslate,\n wrongRTL = swiper.wrongRTL;\n var isVirtual = swiper.virtual && params.virtual.enabled;\n var previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;\n var slides = $wrapperEl.children(\".\".concat(swiper.params.slideClass));\n var slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;\n var snapGrid = [];\n var slidesGrid = [];\n var slidesSizesGrid = [];\n var offsetBefore = params.slidesOffsetBefore;\n\n if (typeof offsetBefore === 'function') {\n offsetBefore = params.slidesOffsetBefore.call(swiper);\n }\n\n var offsetAfter = params.slidesOffsetAfter;\n\n if (typeof offsetAfter === 'function') {\n offsetAfter = params.slidesOffsetAfter.call(swiper);\n }\n\n var previousSnapGridLength = swiper.snapGrid.length;\n var previousSlidesGridLength = swiper.slidesGrid.length;\n var spaceBetween = params.spaceBetween;\n var slidePosition = -offsetBefore;\n var prevSlideSize = 0;\n var index = 0;\n\n if (typeof swiperSize === 'undefined') {\n return;\n }\n\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;\n }\n\n swiper.virtualSize = -spaceBetween; // reset margins\n\n if (rtl) slides.css({\n marginLeft: '',\n marginBottom: '',\n marginTop: ''\n });else slides.css({\n marginRight: '',\n marginBottom: '',\n marginTop: ''\n }); // reset cssMode offsets\n\n if (params.centeredSlides && params.cssMode) {\n setCSSProperty(swiper.wrapperEl, '--swiper-centered-offset-before', '');\n setCSSProperty(swiper.wrapperEl, '--swiper-centered-offset-after', '');\n }\n\n var gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid;\n\n if (gridEnabled) {\n swiper.grid.initSlides(slidesLength);\n } // Calc slides\n\n\n var slideSize;\n var shouldResetSlideSize = params.slidesPerView === 'auto' && params.breakpoints && Object.keys(params.breakpoints).filter(function (key) {\n return typeof params.breakpoints[key].slidesPerView !== 'undefined';\n }).length > 0;\n\n for (var i = 0; i < slidesLength; i += 1) {\n slideSize = 0;\n var slide = slides.eq(i);\n\n if (gridEnabled) {\n swiper.grid.updateSlide(i, slide, slidesLength, getDirectionLabel);\n }\n\n if (slide.css('display') === 'none') continue; // eslint-disable-line\n\n if (params.slidesPerView === 'auto') {\n if (shouldResetSlideSize) {\n slides[i].style[getDirectionLabel('width')] = \"\";\n }\n\n var slideStyles = getComputedStyle(slide[0]);\n var currentTransform = slide[0].style.transform;\n var currentWebKitTransform = slide[0].style.webkitTransform;\n\n if (currentTransform) {\n slide[0].style.transform = 'none';\n }\n\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = 'none';\n }\n\n if (params.roundLengths) {\n slideSize = swiper.isHorizontal() ? slide.outerWidth(true) : slide.outerHeight(true);\n } else {\n // eslint-disable-next-line\n var width = getDirectionPropertyValue(slideStyles, 'width');\n var paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left');\n var paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right');\n var marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left');\n var marginRight = getDirectionPropertyValue(slideStyles, 'margin-right');\n var boxSizing = slideStyles.getPropertyValue('box-sizing');\n\n if (boxSizing && boxSizing === 'border-box') {\n slideSize = width + marginLeft + marginRight;\n } else {\n var _slide$ = slide[0],\n clientWidth = _slide$.clientWidth,\n offsetWidth = _slide$.offsetWidth;\n slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth);\n }\n }\n\n if (currentTransform) {\n slide[0].style.transform = currentTransform;\n }\n\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = currentWebKitTransform;\n }\n\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n } else {\n slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n\n if (slides[i]) {\n slides[i].style[getDirectionLabel('width')] = \"\".concat(slideSize, \"px\");\n }\n }\n\n if (slides[i]) {\n slides[i].swiperSlideSize = slideSize;\n }\n\n slidesSizesGrid.push(slideSize);\n\n if (params.centeredSlides) {\n slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;\n if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n } else {\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n slidePosition = slidePosition + slideSize + spaceBetween;\n }\n\n swiper.virtualSize += slideSize + spaceBetween;\n prevSlideSize = slideSize;\n index += 1;\n }\n\n swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;\n\n if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {\n $wrapperEl.css({\n width: \"\".concat(swiper.virtualSize + params.spaceBetween, \"px\")\n });\n }\n\n if (params.setWrapperSize) {\n $wrapperEl.css(_defineProperty({}, getDirectionLabel('width'), \"\".concat(swiper.virtualSize + params.spaceBetween, \"px\")));\n }\n\n if (gridEnabled) {\n swiper.grid.updateWrapperSize(slideSize, snapGrid, getDirectionLabel);\n } // Remove last grid elements depending on width\n\n\n if (!params.centeredSlides) {\n var 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\n if (snapGrid[_i] <= swiper.virtualSize - swiperSize) {\n newSlidesGrid.push(slidesGridItem);\n }\n }\n\n snapGrid = newSlidesGrid;\n\n if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {\n snapGrid.push(swiper.virtualSize - swiperSize);\n }\n }\n\n if (snapGrid.length === 0) snapGrid = [0];\n\n if (params.spaceBetween !== 0) {\n var key = swiper.isHorizontal() && rtl ? 'marginLeft' : getDirectionLabel('marginRight');\n slides.filter(function (_, slideIndex) {\n if (!params.cssMode) return true;\n\n if (slideIndex === slides.length - 1) {\n return false;\n }\n\n return true;\n }).css(_defineProperty({}, key, \"\".concat(spaceBetween, \"px\")));\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 Object.assign(swiper, {\n slides: slides,\n snapGrid: snapGrid,\n slidesGrid: slidesGrid,\n slidesSizesGrid: slidesSizesGrid\n });\n\n if (params.centeredSlides && params.cssMode && !params.centeredSlidesBounds) {\n setCSSProperty(swiper.wrapperEl, '--swiper-centered-offset-before', \"\".concat(-snapGrid[0], \"px\"));\n setCSSProperty(swiper.wrapperEl, '--swiper-centered-offset-after', \"\".concat(swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2, \"px\"));\n var addToSnapGrid = -swiper.snapGrid[0];\n var addToSlidesGrid = -swiper.slidesGrid[0];\n swiper.snapGrid = swiper.snapGrid.map(function (v) {\n return v + addToSnapGrid;\n });\n swiper.slidesGrid = swiper.slidesGrid.map(function (v) {\n return v + addToSlidesGrid;\n });\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) {\n swiper.updateSlidesOffset();\n }\n\n if (!isVirtual && !params.cssMode && (params.effect === 'slide' || params.effect === 'fade')) {\n var backFaceHiddenClass = \"\".concat(params.containerModifierClass, \"backface-hidden\");\n var hasClassBackfaceClassAdded = swiper.$el.hasClass(backFaceHiddenClass);\n\n if (slidesLength <= params.maxBackfaceHiddenSlides) {\n if (!hasClassBackfaceClassAdded) swiper.$el.addClass(backFaceHiddenClass);\n } else if (hasClassBackfaceClassAdded) {\n swiper.$el.removeClass(backFaceHiddenClass);\n }\n }\n}","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { animateCSSModeScroll } from '../../shared/utils.js';\nexport default function translateTo() {\n var translate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var speed = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.params.speed;\n var runCallbacks = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var translateBounds = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n var internal = arguments.length > 4 ? arguments[4] : undefined;\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 var _wrapperEl$scrollTo;\n\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({\n swiper: swiper,\n targetPosition: -newTranslate,\n side: isH ? 'left' : 'top'\n });\n return true;\n }\n\n wrapperEl.scrollTo((_wrapperEl$scrollTo = {}, _defineProperty(_wrapperEl$scrollTo, isH ? 'left' : 'top', -newTranslate), _defineProperty(_wrapperEl$scrollTo, \"behavior\", 'smooth'), _wrapperEl$scrollTo));\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}","export default function transitionEmit(_ref) {\n var swiper = _ref.swiper,\n runCallbacks = _ref.runCallbacks,\n direction = _ref.direction,\n step = _ref.step;\n var activeIndex = swiper.activeIndex,\n previousIndex = swiper.previousIndex;\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(\"transition\".concat(step));\n\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit(\"slideResetTransition\".concat(step));\n return;\n }\n\n swiper.emit(\"slideChangeTransition\".concat(step));\n\n if (dir === 'next') {\n swiper.emit(\"slideNextTransition\".concat(step));\n } else {\n swiper.emit(\"slidePrevTransition\".concat(step));\n }\n }\n}","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport { animateCSSModeScroll } from '../../shared/utils.js';\nexport default function slideTo() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var speed = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.params.speed;\n var runCallbacks = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var internal = arguments.length > 3 ? arguments[3] : undefined;\n var initial = arguments.length > 4 ? arguments[4] : undefined;\n\n if (typeof index !== 'number' && typeof index !== 'string') {\n throw new Error(\"The 'index' argument cannot have type other than 'number' or 'string'. [\".concat(_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'. [\".concat(index, \"] given.\"));\n } // Knowing that the converted `index` is a valid number,\n // we can update the original argument's value.\n\n\n index = indexAsNumber;\n }\n\n var swiper = this;\n var slideIndex = index;\n if (slideIndex < 0) slideIndex = 0;\n var params = swiper.params,\n snapGrid = swiper.snapGrid,\n slidesGrid = swiper.slidesGrid,\n previousIndex = swiper.previousIndex,\n activeIndex = swiper.activeIndex,\n rtl = swiper.rtlTranslate,\n wrapperEl = swiper.wrapperEl,\n enabled = swiper.enabled;\n\n if (swiper.animating && params.preventInteractionOnTransition || !enabled && !internal && !initial) {\n return false;\n }\n\n var skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);\n var snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n var translate = -snapGrid[snapIndex]; // Normalize slideIndex\n\n if (params.normalizeSlideIndex) {\n for (var i = 0; i < slidesGrid.length; i += 1) {\n var normalizedTranslate = -Math.floor(translate * 100);\n var normalizedGrid = Math.floor(slidesGrid[i] * 100);\n var normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100);\n\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2) {\n slideIndex = i;\n } else if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext) {\n slideIndex = i + 1;\n }\n } else if (normalizedTranslate >= normalizedGrid) {\n slideIndex = i;\n }\n }\n } // 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 if (slideIndex !== (previousIndex || 0) && runCallbacks) {\n swiper.emit('beforeSlideChangeStart');\n } // Update progress\n\n\n swiper.updateProgress(translate);\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 = rtl ? translate : -translate;\n\n if (speed === 0) {\n var isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n\n if (isVirtual) {\n swiper.wrapperEl.style.scrollSnapType = 'none';\n swiper._immediateVirtual = true;\n }\n\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n\n if (isVirtual) {\n requestAnimationFrame(function () {\n swiper.wrapperEl.style.scrollSnapType = '';\n swiper._swiperImmediateVirtual = false;\n });\n }\n } else {\n var _wrapperEl$scrollTo;\n\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({\n swiper: swiper,\n targetPosition: t,\n side: isH ? 'left' : 'top'\n });\n return true;\n }\n\n wrapperEl.scrollTo((_wrapperEl$scrollTo = {}, _defineProperty(_wrapperEl$scrollTo, isH ? 'left' : 'top', t), _defineProperty(_wrapperEl$scrollTo, \"behavior\", 'smooth'), _wrapperEl$scrollTo));\n }\n\n return true;\n }\n\n swiper.setTransition(speed);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n\n if (speed === 0) {\n swiper.transitionEnd(runCallbacks, direction);\n } else 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 return true;\n}","import { getWindow, getDocument } from 'ssr-window';\nimport $ from '../../shared/dom.js';\nimport { now } from '../../shared/utils.js'; // Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd\n\nfunction closestElement(selector) {\n var base = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this;\n\n function __closestFrom(el) {\n if (!el || el === getDocument() || el === getWindow()) return null;\n if (el.assignedSlot) el = el.assignedSlot;\n var found = el.closest(selector);\n\n if (!found && !el.getRootNode) {\n return null;\n }\n\n return found || __closestFrom(el.getRootNode().host);\n }\n\n return __closestFrom(base);\n}\n\nexport default function onTouchStart(event) {\n var swiper = this;\n var document = getDocument();\n var window = getWindow();\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n enabled = swiper.enabled;\n if (!enabled) return;\n\n if (swiper.animating && params.preventInteractionOnTransition) {\n return;\n }\n\n if (!swiper.animating && params.cssMode && params.loop) {\n swiper.loopFix();\n }\n\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n var $targetEl = $(e.target);\n\n if (params.touchEventsTarget === 'wrapper') {\n if (!$targetEl.closest(swiper.wrapperEl).length) return;\n }\n\n data.isTouchEvent = e.type === 'touchstart';\n if (!data.isTouchEvent && 'which' in e && e.which === 3) return;\n if (!data.isTouchEvent && 'button' in e && e.button > 0) return;\n if (data.isTouched && data.isMoved) return; // change target el for shadow root component\n\n var swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== ''; // eslint-disable-next-line\n\n var eventPath = event.composedPath ? event.composedPath() : event.path;\n\n if (swipingClassHasValue && e.target && e.target.shadowRoot && eventPath) {\n $targetEl = $(eventPath[0]);\n }\n\n var noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : \".\".concat(params.noSwipingClass);\n var isTargetShadow = !!(e.target && e.target.shadowRoot); // use closestElement for shadow root element to get the actual closest for nested shadow root element\n\n if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, $targetEl[0]) : $targetEl.closest(noSwipingSelector)[0])) {\n swiper.allowClick = true;\n return;\n }\n\n if (params.swipeHandler) {\n if (!$targetEl.closest(params.swipeHandler)[0]) return;\n }\n\n touches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n var startX = touches.currentX;\n var startY = touches.currentY; // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore\n\n var edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection;\n var edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold;\n\n if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) {\n if (edgeSwipeDetection === 'prevent') {\n event.preventDefault();\n } else {\n return;\n }\n }\n\n Object.assign(data, {\n isTouched: true,\n isMoved: false,\n allowTouchCallbacks: true,\n isScrolling: undefined,\n startMoving: undefined\n });\n touches.startX = startX;\n touches.startY = startY;\n data.touchStartTime = now();\n swiper.allowClick = true;\n swiper.updateSize();\n swiper.swipeDirection = undefined;\n if (params.threshold > 0) data.allowThresholdMove = false;\n\n if (e.type !== 'touchstart') {\n var preventDefault = true;\n\n if ($targetEl.is(data.focusableElements)) {\n preventDefault = false;\n\n if ($targetEl[0].nodeName === 'SELECT') {\n data.isTouched = false;\n }\n }\n\n if (document.activeElement && $(document.activeElement).is(data.focusableElements) && document.activeElement !== $targetEl[0]) {\n document.activeElement.blur();\n }\n\n var shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;\n\n if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !$targetEl[0].isContentEditable) {\n e.preventDefault();\n }\n }\n\n if (swiper.params.freeMode && swiper.params.freeMode.enabled && swiper.freeMode && swiper.animating && !params.cssMode) {\n swiper.freeMode.onTouchStart();\n }\n\n swiper.emit('touchStart', e);\n}","import { getDocument } from 'ssr-window';\nimport $ from '../../shared/dom.js';\nimport { now } from '../../shared/utils.js';\nexport default function onTouchMove(event) {\n var document = getDocument();\n var swiper = this;\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n rtl = swiper.rtlTranslate,\n enabled = swiper.enabled;\n if (!enabled) return;\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n\n if (!data.isTouched) {\n if (data.startMoving && data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n\n return;\n }\n\n if (data.isTouchEvent && e.type !== 'touchmove') return;\n var targetTouch = e.type === 'touchmove' && e.targetTouches && (e.targetTouches[0] || e.changedTouches[0]);\n var pageX = e.type === 'touchmove' ? targetTouch.pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? targetTouch.pageY : e.pageY;\n\n if (e.preventedByNestedSwiper) {\n touches.startX = pageX;\n touches.startY = pageY;\n return;\n }\n\n if (!swiper.allowTouchMove) {\n if (!$(e.target).is(data.focusableElements)) {\n swiper.allowClick = false;\n }\n\n if (data.isTouched) {\n Object.assign(touches, {\n startX: pageX,\n startY: pageY,\n currentX: pageX,\n currentY: pageY\n });\n data.touchStartTime = now();\n }\n\n return;\n }\n\n if (data.isTouchEvent && params.touchReleaseOnEdges && !params.loop) {\n if (swiper.isVertical()) {\n // Vertical\n if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) {\n data.isTouched = false;\n data.isMoved = false;\n return;\n }\n } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) {\n return;\n }\n }\n\n if (data.isTouchEvent && document.activeElement) {\n if (e.target === document.activeElement && $(e.target).is(data.focusableElements)) {\n data.isMoved = true;\n swiper.allowClick = false;\n return;\n }\n }\n\n if (data.allowTouchCallbacks) {\n swiper.emit('touchMove', e);\n }\n\n if (e.targetTouches && e.targetTouches.length > 1) return;\n touches.currentX = pageX;\n touches.currentY = pageY;\n var diffX = touches.currentX - touches.startX;\n var diffY = touches.currentY - touches.startY;\n if (swiper.params.threshold && Math.sqrt(Math.pow(diffX, 2) + Math.pow(diffY, 2)) < swiper.params.threshold) return;\n\n if (typeof data.isScrolling === 'undefined') {\n var touchAngle;\n\n if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) {\n data.isScrolling = false;\n } else {\n // eslint-disable-next-line\n if (diffX * diffX + diffY * diffY >= 25) {\n touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;\n data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle;\n }\n }\n }\n\n if (data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n\n if (typeof data.startMoving === 'undefined') {\n if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {\n data.startMoving = true;\n }\n }\n\n if (data.isScrolling) {\n data.isTouched = false;\n return;\n }\n\n if (!data.startMoving) {\n return;\n }\n\n swiper.allowClick = false;\n\n if (!params.cssMode && e.cancelable) {\n e.preventDefault();\n }\n\n if (params.touchMoveStopPropagation && !params.nested) {\n e.stopPropagation();\n }\n\n if (!data.isMoved) {\n if (params.loop && !params.cssMode) {\n swiper.loopFix();\n }\n\n data.startTranslate = swiper.getTranslate();\n swiper.setTransition(0);\n\n if (swiper.animating) {\n swiper.$wrapperEl.trigger('webkitTransitionEnd transitionend');\n }\n\n data.allowMomentumBounce = false; // Grab Cursor\n\n if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(true);\n }\n\n swiper.emit('sliderFirstMove', e);\n }\n\n swiper.emit('sliderMove', e);\n data.isMoved = true;\n var diff = swiper.isHorizontal() ? diffX : diffY;\n touches.diff = diff;\n diff *= params.touchRatio;\n if (rtl) diff = -diff;\n swiper.swipeDirection = diff > 0 ? 'prev' : 'next';\n data.currentTranslate = diff + data.startTranslate;\n var disableParentSwiper = true;\n var resistanceRatio = params.resistanceRatio;\n\n if (params.touchReleaseOnEdges) {\n resistanceRatio = 0;\n }\n\n if (diff > 0 && data.currentTranslate > swiper.minTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) data.currentTranslate = swiper.minTranslate() - 1 + Math.pow(-swiper.minTranslate() + data.startTranslate + diff, resistanceRatio);\n } else if (diff < 0 && data.currentTranslate < swiper.maxTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) data.currentTranslate = swiper.maxTranslate() + 1 - Math.pow(swiper.maxTranslate() - data.startTranslate - diff, resistanceRatio);\n }\n\n if (disableParentSwiper) {\n e.preventedByNestedSwiper = true;\n } // Directions locks\n\n\n if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n\n if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n\n if (!swiper.allowSlidePrev && !swiper.allowSlideNext) {\n data.currentTranslate = data.startTranslate;\n } // Threshold\n\n\n if (params.threshold > 0) {\n if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {\n if (!data.allowThresholdMove) {\n data.allowThresholdMove = true;\n touches.startX = touches.currentX;\n touches.startY = touches.currentY;\n data.currentTranslate = data.startTranslate;\n touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;\n return;\n }\n } else {\n data.currentTranslate = data.startTranslate;\n return;\n }\n }\n\n if (!params.followFinger || params.cssMode) return; // Update active index in free mode\n\n if (params.freeMode && params.freeMode.enabled && swiper.freeMode || params.watchSlidesProgress) {\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n if (swiper.params.freeMode && params.freeMode.enabled && swiper.freeMode) {\n swiper.freeMode.onTouchMove();\n } // Update progress\n\n\n swiper.updateProgress(data.currentTranslate); // Update translate\n\n swiper.setTranslate(data.currentTranslate);\n}","import { now, nextTick } from '../../shared/utils.js';\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 slidesGrid = swiper.slidesGrid,\n enabled = swiper.enabled;\n if (!enabled) return;\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n\n if (data.allowTouchCallbacks) {\n swiper.emit('touchEnd', e);\n }\n\n data.allowTouchCallbacks = false;\n\n if (!data.isTouched) {\n if (data.isMoved && params.grabCursor) {\n swiper.setGrabCursor(false);\n }\n\n data.isMoved = false;\n data.startMoving = false;\n return;\n } // Return Grab Cursor\n\n\n if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(false);\n } // Time diff\n\n\n var touchEndTime = now();\n var timeDiff = touchEndTime - data.touchStartTime; // Tap, doubleTap, Click\n\n if (swiper.allowClick) {\n var pathTree = e.path || e.composedPath && e.composedPath();\n swiper.updateClickedSlide(pathTree && pathTree[0] || e.target);\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 (swiper.params.freeMode && params.freeMode.enabled) {\n swiper.freeMode.onTouchEnd({\n currentPos: currentPos\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 }\n\n var rewindFirstIndex = null;\n var rewindLastIndex = null;\n\n if (params.rewind) {\n if (swiper.isBeginning) {\n rewindLastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n } else if (swiper.isEnd) {\n rewindFirstIndex = 0;\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(params.rewind && swiper.isEnd ? rewindFirstIndex : stopIndex + increment);else swiper.slideTo(stopIndex);\n }\n\n if (swiper.swipeDirection === 'prev') {\n if (ratio > 1 - params.longSwipesRatio) {\n swiper.slideTo(stopIndex + increment);\n } else if (rewindLastIndex !== null && ratio < 0 && Math.abs(ratio) > params.longSwipesRatio) {\n swiper.slideTo(rewindLastIndex);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n } else {\n // Short swipes\n if (!params.shortSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\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(rewindFirstIndex !== null ? rewindFirstIndex : stopIndex + increment);\n }\n\n if (swiper.swipeDirection === 'prev') {\n swiper.slideTo(rewindLastIndex !== null ? rewindLastIndex : stopIndex);\n }\n } else if (e.target === swiper.navigation.nextEl) {\n swiper.slideTo(stopIndex + increment);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n}","export default function onResize() {\n var swiper = this;\n var params = swiper.params,\n el = swiper.el;\n if (el && el.offsetWidth === 0) return; // Breakpoints\n\n if (params.breakpoints) {\n swiper.setBreakpoint();\n } // Save locks\n\n\n var allowSlideNext = swiper.allowSlideNext,\n allowSlidePrev = swiper.allowSlidePrev,\n snapGrid = swiper.snapGrid; // Disable locks on resize\n\n swiper.allowSlideNext = true;\n swiper.allowSlidePrev = true;\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateSlidesClasses();\n\n if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides) {\n swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n\n if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n swiper.autoplay.run();\n } // Return locks after resize\n\n\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n\n if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n}","export default function onClick(e) {\n var swiper = this;\n if (!swiper.enabled) return;\n\n if (!swiper.allowClick) {\n if (swiper.params.preventClicks) e.preventDefault();\n\n if (swiper.params.preventClicksPropagation && swiper.animating) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n }\n}","export default function onScroll() {\n var swiper = this;\n var wrapperEl = swiper.wrapperEl,\n rtlTranslate = swiper.rtlTranslate,\n enabled = swiper.enabled;\n if (!enabled) return;\n swiper.previousTranslate = swiper.translate;\n\n if (swiper.isHorizontal()) {\n swiper.translate = -wrapperEl.scrollLeft;\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.js';\nimport onTouchMove from './onTouchMove.js';\nimport onTouchEnd from './onTouchEnd.js';\nimport onResize from './onResize.js';\nimport onClick from './onClick.js';\nimport onScroll from './onScroll.js';\nvar dummyEventAttached = false;\n\nfunction dummyEventListener() {}\n\nvar events = function events(swiper, method) {\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;\n var domMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';\n var swiperMethod = method; // Touch Events\n\n if (!support.touch) {\n el[domMethod](touchEvents.start, swiper.onTouchStart, false);\n document[domMethod](touchEvents.move, swiper.onTouchMove, capture);\n document[domMethod](touchEvents.end, swiper.onTouchEnd, false);\n } else {\n var passiveListener = touchEvents.start === 'touchstart' && support.passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n el[domMethod](touchEvents.start, swiper.onTouchStart, passiveListener);\n el[domMethod](touchEvents.move, swiper.onTouchMove, support.passiveListener ? {\n passive: false,\n capture: capture\n } : capture);\n el[domMethod](touchEvents.end, swiper.onTouchEnd, passiveListener);\n\n if (touchEvents.cancel) {\n el[domMethod](touchEvents.cancel, swiper.onTouchEnd, passiveListener);\n }\n } // Prevent Links Clicks\n\n\n if (params.preventClicks || params.preventClicksPropagation) {\n el[domMethod]('click', swiper.onClick, true);\n }\n\n if (params.cssMode) {\n wrapperEl[domMethod]('scroll', swiper.onScroll);\n } // Resize handler\n\n\n if (params.updateOnWindowResize) {\n swiper[swiperMethod](device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true);\n } else {\n swiper[swiperMethod]('observerUpdate', onResize, true);\n }\n};\n\nfunction attachEvents() {\n var swiper = this;\n var document = getDocument();\n var params = swiper.params,\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\n if (support.touch && !dummyEventAttached) {\n document.addEventListener('touchstart', dummyEventListener);\n dummyEventAttached = true;\n }\n\n events(swiper, 'on');\n}\n\nfunction detachEvents() {\n var swiper = this;\n events(swiper, 'off');\n}\n\nexport default {\n attachEvents: attachEvents,\n detachEvents: detachEvents\n};","import { extend } from '../../shared/utils.js';\n\nvar isGridEnabled = function isGridEnabled(swiper, params) {\n return swiper.grid && params.grid && params.grid.rows > 1;\n};\n\nexport default function setBreakpoint() {\n var swiper = this;\n var activeIndex = swiper.activeIndex,\n initialized = swiper.initialized,\n _swiper$loopedSlides = swiper.loopedSlides,\n loopedSlides = _swiper$loopedSlides === void 0 ? 0 : _swiper$loopedSlides,\n params = swiper.params,\n $el = swiper.$el;\n var breakpoints = params.breakpoints;\n if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return; // Get breakpoint for window width and update parameters\n\n var breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el);\n if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;\n var breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;\n var breakpointParams = breakpointOnlyParams || swiper.originalParams;\n var wasMultiRow = isGridEnabled(swiper, params);\n var isMultiRow = isGridEnabled(swiper, breakpointParams);\n var wasEnabled = params.enabled;\n\n if (wasMultiRow && !isMultiRow) {\n $el.removeClass(\"\".concat(params.containerModifierClass, \"grid \").concat(params.containerModifierClass, \"grid-column\"));\n swiper.emitContainerClasses();\n } else if (!wasMultiRow && isMultiRow) {\n $el.addClass(\"\".concat(params.containerModifierClass, \"grid\"));\n\n if (breakpointParams.grid.fill && breakpointParams.grid.fill === 'column' || !breakpointParams.grid.fill && params.grid.fill === 'column') {\n $el.addClass(\"\".concat(params.containerModifierClass, \"grid-column\"));\n }\n\n swiper.emitContainerClasses();\n } // Toggle navigation, pagination, scrollbar\n\n\n ['navigation', 'pagination', 'scrollbar'].forEach(function (prop) {\n var wasModuleEnabled = params[prop] && params[prop].enabled;\n var isModuleEnabled = breakpointParams[prop] && breakpointParams[prop].enabled;\n\n if (wasModuleEnabled && !isModuleEnabled) {\n swiper[prop].disable();\n }\n\n if (!wasModuleEnabled && isModuleEnabled) {\n swiper[prop].enable();\n }\n });\n var directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;\n var needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);\n\n if (directionChanged && initialized) {\n swiper.changeDirection();\n }\n\n extend(swiper.params, breakpointParams);\n var isEnabled = swiper.params.enabled;\n Object.assign(swiper, {\n allowTouchMove: swiper.params.allowTouchMove,\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev\n });\n\n if (wasEnabled && !isEnabled) {\n swiper.disable();\n } else if (!wasEnabled && isEnabled) {\n swiper.enable();\n }\n\n swiper.currentBreakpoint = breakpoint;\n swiper.emit('_beforeBreakpoint', breakpointParams);\n\n if (needsReLoop && initialized) {\n swiper.loopDestroy();\n swiper.loopCreate();\n swiper.updateSlides();\n swiper.slideTo(activeIndex - loopedSlides + swiper.loopedSlides, 0, false);\n }\n\n swiper.emit('breakpoint', breakpointParams);\n}","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction prepareClasses(entries, prefix) {\n var resultClasses = [];\n entries.forEach(function (item) {\n if (_typeof(item) === 'object') {\n Object.keys(item).forEach(function (classNames) {\n if (item[classNames]) {\n resultClasses.push(prefix + classNames);\n }\n });\n } else if (typeof item === 'string') {\n resultClasses.push(prefix + item);\n }\n });\n return resultClasses;\n}\n\nexport default function addClasses() {\n var swiper = this;\n var classNames = swiper.classNames,\n params = swiper.params,\n rtl = swiper.rtl,\n $el = swiper.$el,\n device = swiper.device,\n support = swiper.support; // prettier-ignore\n\n var suffixes = prepareClasses(['initialized', params.direction, {\n 'pointer-events': !support.touch\n }, {\n 'free-mode': swiper.params.freeMode && params.freeMode.enabled\n }, {\n 'autoheight': params.autoHeight\n }, {\n 'rtl': rtl\n }, {\n 'grid': params.grid && params.grid.rows > 1\n }, {\n 'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column'\n }, {\n 'android': device.android\n }, {\n 'ios': device.ios\n }, {\n 'css-mode': params.cssMode\n }, {\n 'centered': params.cssMode && params.centeredSlides\n }, {\n 'watch-progress': params.watchSlidesProgress\n }], params.containerModifierClass);\n classNames.push.apply(classNames, _toConsumableArray(suffixes));\n $el.addClass(_toConsumableArray(classNames).join(' '));\n swiper.emitContainerClasses();\n}","function checkOverflow() {\n var swiper = this;\n var wasLocked = swiper.isLocked,\n params = swiper.params;\n var slidesOffsetBefore = params.slidesOffsetBefore;\n\n if (slidesOffsetBefore) {\n var lastSlideIndex = swiper.slides.length - 1;\n var lastSlideRightEdge = swiper.slidesGrid[lastSlideIndex] + swiper.slidesSizesGrid[lastSlideIndex] + slidesOffsetBefore * 2;\n swiper.isLocked = swiper.size > lastSlideRightEdge;\n } else {\n swiper.isLocked = swiper.snapGrid.length === 1;\n }\n\n if (params.allowSlideNext === true) {\n swiper.allowSlideNext = !swiper.isLocked;\n }\n\n if (params.allowSlidePrev === true) {\n swiper.allowSlidePrev = !swiper.isLocked;\n }\n\n if (wasLocked && wasLocked !== swiper.isLocked) {\n swiper.isEnd = false;\n }\n\n if (wasLocked !== swiper.isLocked) {\n swiper.emit(swiper.isLocked ? 'lock' : 'unlock');\n }\n}\n\nexport default {\n checkOverflow: checkOverflow\n};","export default {\n init: true,\n direction: 'horizontal',\n touchEventsTarget: 'wrapper',\n initialSlide: 0,\n speed: 300,\n cssMode: false,\n updateOnWindowResize: true,\n resizeObserver: true,\n nested: false,\n createElements: false,\n enabled: true,\n focusableElements: 'input, select, option, textarea, button, video, label',\n // Overrides\n width: null,\n height: null,\n //\n preventInteractionOnTransition: false,\n // ssr\n userAgent: null,\n url: null,\n // To support iOS's swipe-to-go-back gesture (when being used in-app).\n edgeSwipeDetection: false,\n edgeSwipeThreshold: 20,\n // Autoheight\n autoHeight: false,\n // Set wrapper width\n setWrapperSize: false,\n // Virtual Translate\n virtualTranslate: false,\n // Effects\n effect: 'slide',\n // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\n // Breakpoints\n breakpoints: undefined,\n breakpointsBase: 'window',\n // Slides grid\n spaceBetween: 0,\n slidesPerView: 1,\n slidesPerGroup: 1,\n slidesPerGroupSkip: 0,\n slidesPerGroupAuto: false,\n centeredSlides: false,\n centeredSlidesBounds: false,\n slidesOffsetBefore: 0,\n // in px\n slidesOffsetAfter: 0,\n // in px\n normalizeSlideIndex: true,\n centerInsufficientSlides: false,\n // Disable swiper and hide navigation when container not overflow\n watchOverflow: true,\n // Round length\n roundLengths: false,\n // Touches\n touchRatio: 1,\n touchAngle: 45,\n simulateTouch: true,\n shortSwipes: true,\n longSwipes: true,\n longSwipesRatio: 0.5,\n longSwipesMs: 300,\n followFinger: true,\n allowTouchMove: true,\n threshold: 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 // 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 loopedSlidesLimit: true,\n loopFillGroupWithBlank: false,\n loopPreventsSlide: true,\n // rewind\n rewind: false,\n // Swiping/no swiping\n allowSlidePrev: true,\n allowSlideNext: true,\n swipeHandler: null,\n // '.swipe-handler',\n noSwiping: true,\n noSwipingClass: 'swiper-no-swiping',\n noSwipingSelector: null,\n // Passive Listeners\n passiveListeners: true,\n maxBackfaceHiddenSlides: 10,\n // NS\n containerModifierClass: 'swiper-',\n // NEW\n slideClass: 'swiper-slide',\n slideBlankClass: 'swiper-slide-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 _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport { extend } from '../shared/utils.js';\nexport default function moduleExtendParams(params, allModulesParams) {\n return function extendParams() {\n var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var moduleParamName = Object.keys(obj)[0];\n var moduleParams = obj[moduleParamName];\n\n if (_typeof(moduleParams) !== 'object' || moduleParams === null) {\n extend(allModulesParams, obj);\n return;\n }\n\n if (['navigation', 'pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] === true) {\n params[moduleParamName] = {\n auto: true\n };\n }\n\n if (!(moduleParamName in params && 'enabled' in moduleParams)) {\n extend(allModulesParams, obj);\n return;\n }\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 extend(allModulesParams, obj);\n };\n}","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/* eslint no-param-reassign: \"off\" */\nimport { getDocument } from 'ssr-window';\nimport $ from '../shared/dom.js';\nimport { extend, now, deleteProps } from '../shared/utils.js';\nimport { getSupport } from '../shared/get-support.js';\nimport { getDevice } from '../shared/get-device.js';\nimport { getBrowser } from '../shared/get-browser.js';\nimport Resize from './modules/resize/resize.js';\nimport Observer from './modules/observer/observer.js';\nimport eventsEmitter from './events-emitter.js';\nimport update from './update/index.js';\nimport translate from './translate/index.js';\nimport transition from './transition/index.js';\nimport slide from './slide/index.js';\nimport loop from './loop/index.js';\nimport grabCursor from './grab-cursor/index.js';\nimport events from './events/index.js';\nimport breakpoints from './breakpoints/index.js';\nimport classes from './classes/index.js';\nimport images from './images/index.js';\nimport checkOverflow from './check-overflow/index.js';\nimport defaults from './defaults.js';\nimport moduleExtendParams from './moduleExtendParams.js';\nvar prototypes = {\n eventsEmitter: eventsEmitter,\n update: update,\n translate: translate,\n transition: transition,\n slide: slide,\n loop: loop,\n grabCursor: grabCursor,\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 _classCallCheck(this, Swiper);\n\n var el;\n var params;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') {\n params = args[0];\n } else {\n el = args[0];\n params = args[1];\n }\n\n if (!params) params = {};\n params = extend({}, params);\n if (el && !params.el) params.el = el;\n\n if (params.el && $(params.el).length > 1) {\n var swipers = [];\n $(params.el).each(function (containerEl) {\n var newParams = extend({}, params, {\n el: containerEl\n });\n swipers.push(new Swiper(newParams));\n }); // eslint-disable-next-line no-constructor-return\n\n return swipers;\n } // Swiper Instance\n\n\n var swiper = this;\n swiper.__swiper__ = true;\n swiper.support = getSupport();\n swiper.device = getDevice({\n userAgent: params.userAgent\n });\n swiper.browser = getBrowser();\n swiper.eventsListeners = {};\n swiper.eventsAnyListeners = [];\n swiper.modules = _toConsumableArray(swiper.__modules__);\n\n if (params.modules && Array.isArray(params.modules)) {\n var _swiper$modules;\n\n (_swiper$modules = swiper.modules).push.apply(_swiper$modules, _toConsumableArray(params.modules));\n }\n\n var allModulesParams = {};\n swiper.modules.forEach(function (mod) {\n mod({\n swiper: swiper,\n extendParams: moduleExtendParams(params, allModulesParams),\n on: swiper.on.bind(swiper),\n once: swiper.once.bind(swiper),\n off: swiper.off.bind(swiper),\n emit: swiper.emit.bind(swiper)\n });\n }); // Extend defaults with modules params\n\n var swiperParams = extend({}, defaults, allModulesParams); // Extend defaults with passed params\n\n swiper.params = extend({}, swiperParams, extendedDefaults, params);\n swiper.originalParams = extend({}, swiper.params);\n swiper.passedParams = extend({}, params); // add event listeners\n\n if (swiper.params && swiper.params.on) {\n Object.keys(swiper.params.on).forEach(function (eventName) {\n swiper.on(eventName, swiper.params.on[eventName]);\n });\n }\n\n if (swiper.params && swiper.params.onAny) {\n swiper.onAny(swiper.params.onAny);\n } // Save Dom lib\n\n\n swiper.$ = $; // Extend Swiper\n\n Object.assign(swiper, {\n enabled: swiper.params.enabled,\n el: el,\n // Classes\n classNames: [],\n // Slides\n slides: $(),\n slidesGrid: [],\n snapGrid: [],\n slidesSizesGrid: [],\n // isDirection\n isHorizontal: function isHorizontal() {\n return swiper.params.direction === 'horizontal';\n },\n isVertical: function isVertical() {\n return swiper.params.direction === 'vertical';\n },\n // Indexes\n activeIndex: 0,\n realIndex: 0,\n //\n isBeginning: true,\n isEnd: false,\n // Props\n translate: 0,\n previousTranslate: 0,\n progress: 0,\n velocity: 0,\n animating: false,\n // Locks\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev,\n // Touch Events\n touchEvents: function touchEvents() {\n var touch = ['touchstart', 'touchmove', 'touchend', 'touchcancel'];\n var desktop = ['pointerdown', 'pointermove', 'pointerup'];\n swiper.touchEventsTouch = {\n start: touch[0],\n move: touch[1],\n end: touch[2],\n cancel: touch[3]\n };\n swiper.touchEventsDesktop = {\n start: desktop[0],\n move: desktop[1],\n end: desktop[2]\n };\n return swiper.support.touch || !swiper.params.simulateTouch ? swiper.touchEventsTouch : swiper.touchEventsDesktop;\n }(),\n touchEventsData: {\n isTouched: undefined,\n isMoved: undefined,\n allowTouchCallbacks: undefined,\n touchStartTime: undefined,\n isScrolling: undefined,\n currentTranslate: undefined,\n startTranslate: undefined,\n allowThresholdMove: undefined,\n // Form elements to match\n focusableElements: swiper.params.focusableElements,\n // Last click time\n lastClickTime: now(),\n clickTimeout: undefined,\n // Velocities\n velocities: [],\n allowMomentumBounce: undefined,\n isTouchEvent: undefined,\n startMoving: undefined\n },\n // Clicks\n allowClick: true,\n // Touches\n allowTouchMove: swiper.params.allowTouchMove,\n touches: {\n startX: 0,\n startY: 0,\n currentX: 0,\n currentY: 0,\n diff: 0\n },\n // Images\n imagesToLoad: [],\n imagesLoaded: 0\n });\n swiper.emit('_swiper'); // Init\n\n if (swiper.params.init) {\n swiper.init();\n } // Return app instance\n // eslint-disable-next-line no-constructor-return\n\n\n return swiper;\n }\n\n _createClass(Swiper, [{\n key: \"enable\",\n value: function enable() {\n var swiper = this;\n if (swiper.enabled) return;\n swiper.enabled = true;\n\n if (swiper.params.grabCursor) {\n swiper.setGrabCursor();\n }\n\n swiper.emit('enable');\n }\n }, {\n key: \"disable\",\n value: function disable() {\n var swiper = this;\n if (!swiper.enabled) return;\n swiper.enabled = false;\n\n if (swiper.params.grabCursor) {\n swiper.unsetGrabCursor();\n }\n\n swiper.emit('disable');\n }\n }, {\n key: \"setProgress\",\n value: function setProgress(progress, speed) {\n var swiper = this;\n progress = Math.min(Math.max(progress, 0), 1);\n var min = swiper.minTranslate();\n var max = swiper.maxTranslate();\n var current = (max - min) * progress + min;\n swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n }, {\n key: \"emitContainerClasses\",\n value: function emitContainerClasses() {\n var swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n var cls = swiper.el.className.split(' ').filter(function (className) {\n return className.indexOf('swiper') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0;\n });\n swiper.emit('_containerClasses', cls.join(' '));\n }\n }, {\n key: \"getSlideClasses\",\n value: function getSlideClasses(slideEl) {\n var swiper = this;\n if (swiper.destroyed) return '';\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 key: \"emitSlidesClasses\",\n value: function emitSlidesClasses() {\n var swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n var updates = [];\n swiper.slides.each(function (slideEl) {\n var classNames = swiper.getSlideClasses(slideEl);\n updates.push({\n slideEl: slideEl,\n classNames: classNames\n });\n swiper.emit('_slideClass', slideEl, classNames);\n });\n swiper.emit('_slideClasses', updates);\n }\n }, {\n key: \"slidesPerViewDynamic\",\n value: function slidesPerViewDynamic() {\n var view = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'current';\n var exact = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var swiper = this;\n var params = swiper.params,\n slides = swiper.slides,\n slidesGrid = swiper.slidesGrid,\n slidesSizesGrid = swiper.slidesSizesGrid,\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 // eslint-disable-next-line\n if (view === 'current') {\n for (var _i2 = activeIndex + 1; _i2 < slides.length; _i2 += 1) {\n var slideInView = exact ? slidesGrid[_i2] + slidesSizesGrid[_i2] - slidesGrid[activeIndex] < swiperSize : slidesGrid[_i2] - slidesGrid[activeIndex] < swiperSize;\n\n if (slideInView) {\n spv += 1;\n }\n }\n } else {\n // previous\n for (var _i3 = activeIndex - 1; _i3 >= 0; _i3 -= 1) {\n var _slideInView = slidesGrid[activeIndex] - slidesGrid[_i3] < swiperSize;\n\n if (_slideInView) {\n spv += 1;\n }\n }\n }\n }\n\n return spv;\n }\n }, {\n key: \"update\",\n value: 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 && swiper.params.freeMode.enabled) {\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 key: \"changeDirection\",\n value: function changeDirection(newDirection) {\n var needUpdate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\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(\"\".concat(swiper.params.containerModifierClass).concat(currentDirection)).addClass(\"\".concat(swiper.params.containerModifierClass).concat(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 key: \"changeLanguageDirection\",\n value: function changeLanguageDirection(direction) {\n var swiper = this;\n if (swiper.rtl && direction === 'rtl' || !swiper.rtl && direction === 'ltr') return;\n swiper.rtl = direction === 'rtl';\n swiper.rtlTranslate = swiper.params.direction === 'horizontal' && swiper.rtl;\n\n if (swiper.rtl) {\n swiper.$el.addClass(\"\".concat(swiper.params.containerModifierClass, \"rtl\"));\n swiper.el.dir = 'rtl';\n } else {\n swiper.$el.removeClass(\"\".concat(swiper.params.containerModifierClass, \"rtl\"));\n swiper.el.dir = 'ltr';\n }\n\n swiper.update();\n }\n }, {\n key: \"mount\",\n value: function mount(el) {\n var swiper = this;\n if (swiper.mounted) return true; // Find el\n\n var $el = $(el || swiper.params.el);\n el = $el[0];\n\n if (!el) {\n return false;\n }\n\n el.swiper = swiper;\n\n var getWrapperSelector = function getWrapperSelector() {\n return \".\".concat((swiper.params.wrapperClass || '').trim().split(' ').join('.'));\n };\n\n var getWrapper = function getWrapper() {\n if (el && el.shadowRoot && el.shadowRoot.querySelector) {\n var res = $(el.shadowRoot.querySelector(getWrapperSelector())); // Children needs to return slot items\n\n res.children = function (options) {\n return $el.children(options);\n };\n\n return res;\n }\n\n if (!$el.children) {\n return $($el).children(getWrapperSelector());\n }\n\n return $el.children(getWrapperSelector());\n }; // Find Wrapper\n\n\n var $wrapperEl = getWrapper();\n\n if ($wrapperEl.length === 0 && swiper.params.createElements) {\n var document = getDocument();\n var wrapper = document.createElement('div');\n $wrapperEl = $(wrapper);\n wrapper.className = swiper.params.wrapperClass;\n $el.append(wrapper);\n $el.children(\".\".concat(swiper.params.slideClass)).each(function (slideEl) {\n $wrapperEl.append(slideEl);\n });\n }\n\n Object.assign(swiper, {\n $el: $el,\n el: el,\n $wrapperEl: $wrapperEl,\n wrapperEl: $wrapperEl[0],\n mounted: true,\n // RTL\n rtl: el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl',\n rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'),\n wrongRTL: $wrapperEl.css('display') === '-webkit-box'\n });\n return true;\n }\n }, {\n key: \"init\",\n value: function init(el) {\n var swiper = this;\n if (swiper.initialized) return swiper;\n var mounted = swiper.mount(el);\n if (mounted === false) return swiper;\n swiper.emit('beforeInit'); // Set breakpoint\n\n if (swiper.params.breakpoints) {\n swiper.setBreakpoint();\n } // Add Classes\n\n\n swiper.addClasses(); // Create loop\n\n if (swiper.params.loop) {\n swiper.loopCreate();\n } // Update size\n\n\n swiper.updateSize(); // Update slides\n\n swiper.updateSlides();\n\n if (swiper.params.watchOverflow) {\n swiper.checkOverflow();\n } // Set Grab Cursor\n\n\n if (swiper.params.grabCursor && swiper.enabled) {\n swiper.setGrabCursor();\n }\n\n if (swiper.params.preloadImages) {\n swiper.preloadImages();\n } // Slide To Initial Slide\n\n\n if (swiper.params.loop) {\n swiper.slideTo(swiper.params.initialSlide + swiper.loopedSlides, 0, swiper.params.runCallbacksOnInit, false, true);\n } else {\n swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true);\n } // Attach events\n\n\n swiper.attachEvents(); // Init Flag\n\n swiper.initialized = true; // Emit\n\n swiper.emit('init');\n swiper.emit('afterInit');\n return swiper;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var deleteInstance = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var cleanStyles = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\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 key: \"extendDefaults\",\n value: function extendDefaults(newDefaults) {\n extend(extendedDefaults, newDefaults);\n }\n }, {\n key: \"installModule\",\n value: function installModule(mod) {\n if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = [];\n var modules = Swiper.prototype.__modules__;\n\n if (typeof mod === 'function' && modules.indexOf(mod) < 0) {\n modules.push(mod);\n }\n }\n }, {\n key: \"use\",\n value: 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 key: \"extendedDefaults\",\n get: function get() {\n return extendedDefaults;\n }\n }, {\n key: \"defaults\",\n get: function get() {\n return defaults;\n }\n }]);\n\n return Swiper;\n}();\n\nObject.keys(prototypes).forEach(function (prototypeGroup) {\n Object.keys(prototypes[prototypeGroup]).forEach(function (protoMethod) {\n Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];\n });\n});\nSwiper.use([Resize, Observer]);\nexport default Swiper;","import updateSize from './updateSize.js';\nimport updateSlides from './updateSlides.js';\nimport updateAutoHeight from './updateAutoHeight.js';\nimport updateSlidesOffset from './updateSlidesOffset.js';\nimport updateSlidesProgress from './updateSlidesProgress.js';\nimport updateProgress from './updateProgress.js';\nimport updateSlidesClasses from './updateSlidesClasses.js';\nimport updateActiveIndex from './updateActiveIndex.js';\nimport updateClickedSlide from './updateClickedSlide.js';\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};","export 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 Object.assign(swiper, {\n width: width,\n height: height,\n size: swiper.isHorizontal() ? width : height\n });\n}","import $ from '../../shared/dom.js';\nexport default function updateAutoHeight(speed) {\n var swiper = this;\n var activeSlides = [];\n var isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n var newHeight = 0;\n var i;\n\n if (typeof speed === 'number') {\n swiper.setTransition(speed);\n } else if (speed === true) {\n swiper.setTransition(swiper.params.speed);\n }\n\n var getSlideByIndex = function getSlideByIndex(index) {\n if (isVirtual) {\n return swiper.slides.filter(function (el) {\n return parseInt(el.getAttribute('data-swiper-slide-index'), 10) === index;\n })[0];\n }\n\n return swiper.slides.eq(index)[0];\n }; // Find slides currently in view\n\n\n if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {\n if (swiper.params.centeredSlides) {\n (swiper.visibleSlides || $([])).each(function (slide) {\n activeSlides.push(slide);\n });\n } else {\n for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {\n var index = swiper.activeIndex + i;\n if (index > swiper.slides.length && !isVirtual) break;\n activeSlides.push(getSlideByIndex(index));\n }\n }\n } else {\n activeSlides.push(getSlideByIndex(swiper.activeIndex));\n } // Find new height from highest slide in view\n\n\n for (i = 0; i < activeSlides.length; i += 1) {\n if (typeof activeSlides[i] !== 'undefined') {\n var height = activeSlides[i].offsetHeight;\n newHeight = height > newHeight ? height : newHeight;\n }\n } // Update Height\n\n\n if (newHeight || newHeight === 0) swiper.$wrapperEl.css('height', \"\".concat(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 '../../shared/dom.js';\nexport default function updateSlidesProgress() {\n var translate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this && this.translate || 0;\n var swiper = this;\n var params = swiper.params;\n var slides = swiper.slides,\n rtl = swiper.rtlTranslate,\n snapGrid = swiper.snapGrid;\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 slideOffset = slide.swiperSlideOffset;\n\n if (params.cssMode && params.centeredSlides) {\n slideOffset -= slides[0].swiperSlideOffset;\n }\n\n var slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + params.spaceBetween);\n var originalSlideProgress = (offsetCenter - snapGrid[0] + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + params.spaceBetween);\n var slideBefore = -(offsetCenter - slideOffset);\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 slide.progress = rtl ? -slideProgress : slideProgress;\n slide.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress;\n }\n\n swiper.visibleSlides = $(swiper.visibleSlides);\n}","export 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 Object.assign(swiper, {\n progress: progress,\n isBeginning: isBeginning,\n isEnd: isEnd\n });\n if (params.watchSlidesProgress || 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(\"\".concat(params.slideActiveClass, \" \").concat(params.slideNextClass, \" \").concat(params.slidePrevClass, \" \").concat(params.slideDuplicateActiveClass, \" \").concat(params.slideDuplicateNextClass, \" \").concat(params.slideDuplicatePrevClass));\n var activeSlide;\n\n if (isVirtual) {\n activeSlide = swiper.$wrapperEl.find(\".\".concat(params.slideClass, \"[data-swiper-slide-index=\\\"\").concat(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(\".\".concat(params.slideClass, \":not(.\").concat(params.slideDuplicateClass, \")[data-swiper-slide-index=\\\"\").concat(realIndex, \"\\\"]\")).addClass(params.slideDuplicateActiveClass);\n } else {\n $wrapperEl.children(\".\".concat(params.slideClass, \".\").concat(params.slideDuplicateClass, \"[data-swiper-slide-index=\\\"\").concat(realIndex, \"\\\"]\")).addClass(params.slideDuplicateActiveClass);\n }\n } // Next Slide\n\n\n var nextSlide = activeSlide.nextAll(\".\".concat(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(\".\".concat(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(\".\".concat(params.slideClass, \":not(.\").concat(params.slideDuplicateClass, \")[data-swiper-slide-index=\\\"\").concat(nextSlide.attr('data-swiper-slide-index'), \"\\\"]\")).addClass(params.slideDuplicateNextClass);\n } else {\n $wrapperEl.children(\".\".concat(params.slideClass, \".\").concat(params.slideDuplicateClass, \"[data-swiper-slide-index=\\\"\").concat(nextSlide.attr('data-swiper-slide-index'), \"\\\"]\")).addClass(params.slideDuplicateNextClass);\n }\n\n if (prevSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(\".\".concat(params.slideClass, \":not(.\").concat(params.slideDuplicateClass, \")[data-swiper-slide-index=\\\"\").concat(prevSlide.attr('data-swiper-slide-index'), \"\\\"]\")).addClass(params.slideDuplicatePrevClass);\n } else {\n $wrapperEl.children(\".\".concat(params.slideClass, \".\").concat(params.slideDuplicateClass, \"[data-swiper-slide-index=\\\"\").concat(prevSlide.attr('data-swiper-slide-index'), \"\\\"]\")).addClass(params.slideDuplicatePrevClass);\n }\n }\n\n swiper.emitSlidesClasses();\n}","export 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 Object.assign(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 '../../shared/dom.js';\nexport default function updateClickedSlide(e) {\n var swiper = this;\n var params = swiper.params;\n var slide = $(e).closest(\".\".concat(params.slideClass))[0];\n var slideFound = false;\n var slideIndex;\n\n if (slide) {\n for (var i = 0; i < swiper.slides.length; i += 1) {\n if (swiper.slides[i] === slide) {\n slideFound = true;\n slideIndex = i;\n break;\n }\n }\n }\n\n if (slide && slideFound) {\n swiper.clickedSlide = slide;\n\n if (swiper.virtual && swiper.params.virtual.enabled) {\n swiper.clickedIndex = parseInt($(slide).attr('data-swiper-slide-index'), 10);\n } else {\n swiper.clickedIndex = slideIndex;\n }\n } else {\n swiper.clickedSlide = undefined;\n swiper.clickedIndex = undefined;\n return;\n }\n\n if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {\n swiper.slideToClickedSlide();\n }\n}","import getTranslate from './getTranslate.js';\nimport setTranslate from './setTranslate.js';\nimport minTranslate from './minTranslate.js';\nimport maxTranslate from './maxTranslate.js';\nimport translateTo from './translateTo.js';\nexport default {\n getTranslate: getTranslate,\n setTranslate: setTranslate,\n minTranslate: minTranslate,\n maxTranslate: maxTranslate,\n translateTo: translateTo\n};","import { getTranslate } from '../../shared/utils.js';\nexport default function getSwiperTranslate() {\n var axis = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.isHorizontal() ? 'x' : 'y';\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(\".concat(x, \"px, \").concat(y, \"px, \").concat(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}","import setTransition from './setTransition.js';\nimport transitionStart from './transitionStart.js';\nimport transitionEnd from './transitionEnd.js';\nexport default {\n setTransition: setTransition,\n transitionStart: transitionStart,\n transitionEnd: transitionEnd\n};","export default function setTransition(duration, byController) {\n var swiper = this;\n\n if (!swiper.params.cssMode) {\n swiper.$wrapperEl.transition(duration);\n }\n\n swiper.emit('setTransition', duration, byController);\n}","import transitionEmit from './transitionEmit.js';\nexport default function transitionStart() {\n var runCallbacks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var direction = arguments.length > 1 ? arguments[1] : undefined;\n var swiper = this;\n var params = swiper.params;\n if (params.cssMode) return;\n\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n\n transitionEmit({\n swiper: swiper,\n runCallbacks: runCallbacks,\n direction: direction,\n step: 'Start'\n });\n}","import transitionEmit from './transitionEmit.js';\nexport default function transitionEnd() {\n var runCallbacks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var direction = arguments.length > 1 ? arguments[1] : undefined;\n var swiper = this;\n var params = swiper.params;\n swiper.animating = false;\n if (params.cssMode) return;\n swiper.setTransition(0);\n transitionEmit({\n swiper: swiper,\n runCallbacks: runCallbacks,\n direction: direction,\n step: 'End'\n });\n}","import slideTo from './slideTo.js';\nimport slideToLoop from './slideToLoop.js';\nimport slideNext from './slideNext.js';\nimport slidePrev from './slidePrev.js';\nimport slideReset from './slideReset.js';\nimport slideToClosest from './slideToClosest.js';\nimport slideToClickedSlide from './slideToClickedSlide.js';\nexport default {\n slideTo: slideTo,\n slideToLoop: slideToLoop,\n slideNext: slideNext,\n slidePrev: slidePrev,\n slideReset: slideReset,\n slideToClosest: slideToClosest,\n slideToClickedSlide: slideToClickedSlide\n};","export default function slideToLoop() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var speed = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.params.speed;\n var runCallbacks = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var internal = arguments.length > 3 ? arguments[3] : undefined;\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'. [\".concat(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 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() {\n var speed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.params.speed;\n var runCallbacks = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var internal = arguments.length > 2 ? arguments[2] : undefined;\n var swiper = this;\n var animating = swiper.animating,\n enabled = swiper.enabled,\n params = swiper.params;\n if (!enabled) return swiper;\n var perGroup = params.slidesPerGroup;\n\n if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n perGroup = Math.max(swiper.slidesPerViewDynamic('current', true), 1);\n }\n\n var increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup;\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 if (params.rewind && swiper.isEnd) {\n return swiper.slideTo(0, speed, runCallbacks, internal);\n }\n\n return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slidePrev() {\n var speed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.params.speed;\n var runCallbacks = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var internal = arguments.length > 2 ? arguments[2] : undefined;\n var swiper = this;\n var params = swiper.params,\n animating = swiper.animating,\n snapGrid = swiper.snapGrid,\n slidesGrid = swiper.slidesGrid,\n rtlTranslate = swiper.rtlTranslate,\n enabled = swiper.enabled;\n if (!enabled) return swiper;\n\n if (params.loop) {\n if (animating && params.loopPreventsSlide) return false;\n swiper.loopFix(); // eslint-disable-next-line\n\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n }\n\n var translate = rtlTranslate ? swiper.translate : -swiper.translate;\n\n function normalize(val) {\n if (val < 0) return -Math.floor(Math.abs(val));\n return Math.floor(val);\n }\n\n var normalizedTranslate = normalize(translate);\n var normalizedSnapGrid = snapGrid.map(function (val) {\n return normalize(val);\n });\n var prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];\n\n if (typeof prevSnap === 'undefined' && params.cssMode) {\n var prevSnapIndex;\n snapGrid.forEach(function (snap, snapIndex) {\n if (normalizedTranslate >= snap) {\n // prevSnap = snap;\n prevSnapIndex = snapIndex;\n }\n });\n\n if (typeof prevSnapIndex !== 'undefined') {\n prevSnap = snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex];\n }\n }\n\n var prevIndex = 0;\n\n if (typeof prevSnap !== 'undefined') {\n prevIndex = slidesGrid.indexOf(prevSnap);\n if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;\n\n if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n prevIndex = prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1;\n prevIndex = Math.max(prevIndex, 0);\n }\n }\n\n if (params.rewind && swiper.isBeginning) {\n var lastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n return swiper.slideTo(lastIndex, speed, runCallbacks, internal);\n }\n\n return swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideReset() {\n var speed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.params.speed;\n var runCallbacks = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var internal = arguments.length > 2 ? arguments[2] : undefined;\n var swiper = this;\n return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideToClosest() {\n var speed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.params.speed;\n var runCallbacks = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var internal = arguments.length > 2 ? arguments[2] : undefined;\n var threshold = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0.5;\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 '../../shared/dom.js';\nimport { nextTick } from '../../shared/utils.js';\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(\".\".concat(params.slideClass, \"[data-swiper-slide-index=\\\"\").concat(realIndex, \"\\\"]:not(.\").concat(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(\".\".concat(params.slideClass, \"[data-swiper-slide-index=\\\"\").concat(realIndex, \"\\\"]:not(.\").concat(params.slideDuplicateClass, \")\")).eq(0).index();\n nextTick(function () {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else {\n swiper.slideTo(slideToIndex);\n }\n}","import loopCreate from './loopCreate.js';\nimport loopFix from './loopFix.js';\nimport loopDestroy from './loopDestroy.js';\nexport default {\n loopCreate: loopCreate,\n loopFix: loopFix,\n loopDestroy: loopDestroy\n};","import { getDocument } from 'ssr-window';\nimport $ from '../../shared/dom.js';\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 var $selector = $wrapperEl.children().length > 0 ? $($wrapperEl.children()[0].parentNode) : $wrapperEl;\n $selector.children(\".\".concat(params.slideClass, \".\").concat(params.slideDuplicateClass)).remove();\n var slides = $selector.children(\".\".concat(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(\"\".concat(params.slideClass, \" \").concat(params.slideBlankClass));\n $selector.append(blankNode);\n }\n\n slides = $selector.children(\".\".concat(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 && swiper.params.loopedSlidesLimit) {\n swiper.loopedSlides = slides.length;\n }\n\n var prependSlides = [];\n var appendSlides = [];\n slides.each(function (el, index) {\n var slide = $(el);\n slide.attr('data-swiper-slide-index', index);\n });\n\n for (var _i = 0; _i < swiper.loopedSlides; _i += 1) {\n var index = _i - Math.floor(_i / slides.length) * slides.length;\n\n appendSlides.push(slides.eq(index)[0]);\n prependSlides.unshift(slides.eq(slides.length - index - 1)[0]);\n }\n\n for (var _i2 = 0; _i2 < appendSlides.length; _i2 += 1) {\n $selector.append($(appendSlides[_i2].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n\n for (var _i3 = prependSlides.length - 1; _i3 >= 0; _i3 -= 1) {\n $selector.prepend($(prependSlides[_i3].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(\".\".concat(params.slideClass, \".\").concat(params.slideDuplicateClass, \",.\").concat(params.slideClass, \".\").concat(params.slideBlankClass)).remove();\n slides.removeAttr('data-swiper-slide-index');\n}","import setGrabCursor from './setGrabCursor.js';\nimport unsetGrabCursor from './unsetGrabCursor.js';\nexport default {\n setGrabCursor: setGrabCursor,\n unsetGrabCursor: unsetGrabCursor\n};","export default function setGrabCursor(moving) {\n var swiper = this;\n if (swiper.support.touch || !swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;\n var el = swiper.params.touchEventsTarget === 'container' ? swiper.el : swiper.wrapperEl;\n el.style.cursor = 'move';\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[swiper.params.touchEventsTarget === 'container' ? 'el' : 'wrapperEl'].style.cursor = '';\n}","import setBreakpoint from './setBreakpoint.js';\nimport getBreakpoint from './getBreakpoint.js';\nexport default {\n setBreakpoint: setBreakpoint,\n getBreakpoint: getBreakpoint\n};","import { getWindow } from 'ssr-window';\nexport default function getBreakpoint(breakpoints) {\n var base = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'window';\n var containerEl = arguments.length > 2 ? arguments[2] : undefined;\n if (!breakpoints || base === 'container' && !containerEl) return undefined;\n var breakpoint = false;\n var window = getWindow();\n var currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight;\n var points = Object.keys(breakpoints).map(function (point) {\n if (typeof point === 'string' && point.indexOf('@') === 0) {\n var minRatio = parseFloat(point.substr(1));\n var value = currentHeight * minRatio;\n return {\n value: value,\n point: point\n };\n }\n\n return {\n value: point,\n point: point\n };\n });\n points.sort(function (a, b) {\n return parseInt(a.value, 10) - parseInt(b.value, 10);\n });\n\n for (var i = 0; i < points.length; i += 1) {\n var _points$i = points[i],\n point = _points$i.point,\n value = _points$i.value;\n\n if (base === 'window') {\n if (window.matchMedia(\"(min-width: \".concat(value, \"px)\")).matches) {\n breakpoint = point;\n }\n } else if (value <= containerEl.clientWidth) {\n breakpoint = point;\n }\n }\n\n return breakpoint || 'max';\n}","import addClasses from './addClasses.js';\nimport removeClasses from './removeClasses.js';\nexport default {\n addClasses: addClasses,\n removeClasses: removeClasses\n};","export default function removeClasses() {\n var swiper = this;\n var $el = swiper.$el,\n classNames = swiper.classNames;\n $el.removeClass(classNames.join(' '));\n swiper.emitContainerClasses();\n}","import loadImage from './loadImage.js';\nimport preloadImages from './preloadImages.js';\nexport default {\n loadImage: loadImage,\n preloadImages: preloadImages\n};","import { getWindow } from 'ssr-window';\nimport $ from '../../shared/dom.js';\nexport default function loadImage(imageEl, src, srcset, sizes, checkForComplete, callback) {\n var window = getWindow();\n var image;\n\n function onReady() {\n if (callback) callback();\n }\n\n var isPicture = $(imageEl).parent('picture')[0];\n\n if (!isPicture && (!imageEl.complete || !checkForComplete)) {\n if (src) {\n image = new window.Image();\n image.onload = onReady;\n image.onerror = onReady;\n\n if (sizes) {\n image.sizes = sizes;\n }\n\n if (srcset) {\n image.srcset = srcset;\n }\n\n if (src) {\n image.src = src;\n }\n } else {\n onReady();\n }\n } else {\n // image already loaded...\n onReady();\n }\n}","export default function preloadImages() {\n var swiper = this;\n swiper.imagesToLoad = swiper.$el.find('img');\n\n function onReady() {\n if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper.destroyed) return;\n if (swiper.imagesLoaded !== undefined) swiper.imagesLoaded += 1;\n\n if (swiper.imagesLoaded === swiper.imagesToLoad.length) {\n if (swiper.params.updateOnImagesReady) swiper.update();\n swiper.emit('imagesReady');\n }\n }\n\n for (var i = 0; i < swiper.imagesToLoad.length; i += 1) {\n var imageEl = swiper.imagesToLoad[i];\n swiper.loadImage(imageEl, imageEl.currentSrc || imageEl.getAttribute('src'), imageEl.srcset || imageEl.getAttribute('srcset'), imageEl.sizes || imageEl.getAttribute('sizes'), true, onReady);\n }\n}","import { getWindow } from 'ssr-window';\nexport default function Resize(_ref) {\n var swiper = _ref.swiper,\n on = _ref.on,\n emit = _ref.emit;\n var window = getWindow();\n var observer = null;\n var animationFrame = null;\n\n var resizeHandler = function resizeHandler() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n emit('beforeResize');\n emit('resize');\n };\n\n var createObserver = function createObserver() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n observer = new ResizeObserver(function (entries) {\n animationFrame = window.requestAnimationFrame(function () {\n var width = swiper.width,\n height = swiper.height;\n var newWidth = width;\n var newHeight = height;\n entries.forEach(function (_ref2) {\n var contentBoxSize = _ref2.contentBoxSize,\n contentRect = _ref2.contentRect,\n target = _ref2.target;\n if (target && target !== swiper.el) return;\n newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize;\n newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize;\n });\n\n if (newWidth !== width || newHeight !== height) {\n resizeHandler();\n }\n });\n });\n observer.observe(swiper.el);\n };\n\n var removeObserver = function removeObserver() {\n if (animationFrame) {\n window.cancelAnimationFrame(animationFrame);\n }\n\n if (observer && observer.unobserve && swiper.el) {\n observer.unobserve(swiper.el);\n observer = null;\n }\n };\n\n var orientationChangeHandler = function orientationChangeHandler() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n emit('orientationchange');\n };\n\n on('init', function () {\n if (swiper.params.resizeObserver && typeof window.ResizeObserver !== 'undefined') {\n createObserver();\n return;\n }\n\n window.addEventListener('resize', resizeHandler);\n window.addEventListener('orientationchange', orientationChangeHandler);\n });\n on('destroy', function () {\n removeObserver();\n window.removeEventListener('resize', resizeHandler);\n window.removeEventListener('orientationchange', orientationChangeHandler);\n });\n}","import { getWindow } from 'ssr-window';\nexport default function Observer(_ref) {\n var swiper = _ref.swiper,\n extendParams = _ref.extendParams,\n on = _ref.on,\n emit = _ref.emit;\n var observers = [];\n var window = getWindow();\n\n var attach = function attach(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\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 emit('observerUpdate', mutations[0]);\n return;\n }\n\n var observerUpdate = function observerUpdate() {\n 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 observers.push(observer);\n };\n\n var init = function init() {\n if (!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 attach(containerParents[i]);\n }\n } // Observe container\n\n\n attach(swiper.$el[0], {\n childList: swiper.params.observeSlideChildren\n }); // Observe wrapper\n\n attach(swiper.$wrapperEl[0], {\n attributes: false\n });\n };\n\n var destroy = function destroy() {\n observers.forEach(function (observer) {\n observer.disconnect();\n });\n observers.splice(0, observers.length);\n };\n\n extendParams({\n observer: false,\n observeParents: false,\n observeSlideChildren: false\n });\n on('init', init);\n on('destroy', destroy);\n}","import { getDocument } from 'ssr-window';\nexport default function createElementIfNotDefined(swiper, originalParams, params, checkProps) {\n var document = getDocument();\n\n if (swiper.params.createElements) {\n Object.keys(checkProps).forEach(function (key) {\n if (!params[key] && params.auto === true) {\n var element = swiper.$el.children(\".\".concat(checkProps[key]))[0];\n\n if (!element) {\n element = document.createElement('div');\n element.className = checkProps[key];\n swiper.$el.append(element);\n }\n\n params[key] = element;\n originalParams[key] = element;\n }\n });\n }\n\n return params;\n}","import createElementIfNotDefined from '../../shared/create-element-if-not-defined.js';\nimport $ from '../../shared/dom.js';\nexport default function Navigation(_ref) {\n var swiper = _ref.swiper,\n extendParams = _ref.extendParams,\n on = _ref.on,\n emit = _ref.emit;\n extendParams({\n navigation: {\n nextEl: null,\n prevEl: null,\n hideOnClick: false,\n disabledClass: 'swiper-button-disabled',\n hiddenClass: 'swiper-button-hidden',\n lockClass: 'swiper-button-lock',\n navigationDisabledClass: 'swiper-navigation-disabled'\n }\n });\n swiper.navigation = {\n nextEl: null,\n $nextEl: null,\n prevEl: null,\n $prevEl: null\n };\n\n function getEl(el) {\n var $el;\n\n if (el) {\n $el = $(el);\n\n if (swiper.params.uniqueNavElements && typeof el === 'string' && $el.length > 1 && swiper.$el.find(el).length === 1) {\n $el = swiper.$el.find(el);\n }\n }\n\n return $el;\n }\n\n function toggleEl($el, disabled) {\n var params = swiper.params.navigation;\n\n if ($el && $el.length > 0) {\n $el[disabled ? 'addClass' : 'removeClass'](params.disabledClass);\n if ($el[0] && $el[0].tagName === 'BUTTON') $el[0].disabled = disabled;\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n $el[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n }\n }\n\n function update() {\n // Update Navigation Buttons\n if (swiper.params.loop) return;\n var _swiper$navigation = swiper.navigation,\n $nextEl = _swiper$navigation.$nextEl,\n $prevEl = _swiper$navigation.$prevEl;\n toggleEl($prevEl, swiper.isBeginning && !swiper.params.rewind);\n toggleEl($nextEl, swiper.isEnd && !swiper.params.rewind);\n }\n\n function onPrevClick(e) {\n e.preventDefault();\n if (swiper.isBeginning && !swiper.params.loop && !swiper.params.rewind) return;\n swiper.slidePrev();\n emit('navigationPrev');\n }\n\n function onNextClick(e) {\n e.preventDefault();\n if (swiper.isEnd && !swiper.params.loop && !swiper.params.rewind) return;\n swiper.slideNext();\n emit('navigationNext');\n }\n\n function init() {\n var params = swiper.params.navigation;\n swiper.params.navigation = createElementIfNotDefined(swiper, swiper.originalParams.navigation, swiper.params.navigation, {\n nextEl: 'swiper-button-next',\n prevEl: 'swiper-button-prev'\n });\n if (!(params.nextEl || params.prevEl)) return;\n var $nextEl = getEl(params.nextEl);\n var $prevEl = getEl(params.prevEl);\n\n if ($nextEl && $nextEl.length > 0) {\n $nextEl.on('click', onNextClick);\n }\n\n if ($prevEl && $prevEl.length > 0) {\n $prevEl.on('click', onPrevClick);\n }\n\n Object.assign(swiper.navigation, {\n $nextEl: $nextEl,\n nextEl: $nextEl && $nextEl[0],\n $prevEl: $prevEl,\n prevEl: $prevEl && $prevEl[0]\n });\n\n if (!swiper.enabled) {\n if ($nextEl) $nextEl.addClass(params.lockClass);\n if ($prevEl) $prevEl.addClass(params.lockClass);\n }\n }\n\n function destroy() {\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', onNextClick);\n $nextEl.removeClass(swiper.params.navigation.disabledClass);\n }\n\n if ($prevEl && $prevEl.length) {\n $prevEl.off('click', onPrevClick);\n $prevEl.removeClass(swiper.params.navigation.disabledClass);\n }\n }\n\n on('init', function () {\n if (swiper.params.navigation.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n update();\n }\n });\n on('toEdge fromEdge lock unlock', function () {\n update();\n });\n on('destroy', function () {\n destroy();\n });\n on('enable disable', function () {\n var _swiper$navigation3 = swiper.navigation,\n $nextEl = _swiper$navigation3.$nextEl,\n $prevEl = _swiper$navigation3.$prevEl;\n\n if ($nextEl) {\n $nextEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass);\n }\n\n if ($prevEl) {\n $prevEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass);\n }\n });\n on('click', function (_s, e) {\n var _swiper$navigation4 = swiper.navigation,\n $nextEl = _swiper$navigation4.$nextEl,\n $prevEl = _swiper$navigation4.$prevEl;\n var targetEl = e.target;\n\n if (swiper.params.navigation.hideOnClick && !$(targetEl).is($prevEl) && !$(targetEl).is($nextEl)) {\n if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return;\n var isHidden;\n\n if ($nextEl) {\n isHidden = $nextEl.hasClass(swiper.params.navigation.hiddenClass);\n } else if ($prevEl) {\n isHidden = $prevEl.hasClass(swiper.params.navigation.hiddenClass);\n }\n\n if (isHidden === true) {\n emit('navigationShow');\n } else {\n 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 var enable = function enable() {\n swiper.$el.removeClass(swiper.params.navigation.navigationDisabledClass);\n init();\n update();\n };\n\n var disable = function disable() {\n swiper.$el.addClass(swiper.params.navigation.navigationDisabledClass);\n destroy();\n };\n\n Object.assign(swiper.navigation, {\n enable: enable,\n disable: disable,\n update: update,\n init: init,\n destroy: destroy\n });\n}","export default function classesToSelector() {\n var classes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n return \".\".concat(classes.trim().replace(/([\\.:!\\/])/g, '\\\\$1') // eslint-disable-line\n .replace(/ /g, '.'));\n}","import $ from '../../shared/dom.js';\nimport classesToSelector from '../../shared/classes-to-selector.js';\nimport createElementIfNotDefined from '../../shared/create-element-if-not-defined.js';\nexport default function Pagination(_ref) {\n var swiper = _ref.swiper,\n extendParams = _ref.extendParams,\n on = _ref.on,\n emit = _ref.emit;\n var pfx = 'swiper-pagination';\n extendParams({\n pagination: {\n el: null,\n bulletElement: 'span',\n clickable: false,\n hideOnClick: false,\n renderBullet: null,\n renderProgressbar: null,\n renderFraction: null,\n renderCustom: null,\n progressbarOpposite: false,\n type: 'bullets',\n // 'bullets' or 'progressbar' or 'fraction' or 'custom'\n dynamicBullets: false,\n dynamicMainBullets: 1,\n formatFractionCurrent: function formatFractionCurrent(number) {\n return number;\n },\n formatFractionTotal: function formatFractionTotal(number) {\n return number;\n },\n bulletClass: \"\".concat(pfx, \"-bullet\"),\n bulletActiveClass: \"\".concat(pfx, \"-bullet-active\"),\n modifierClass: \"\".concat(pfx, \"-\"),\n currentClass: \"\".concat(pfx, \"-current\"),\n totalClass: \"\".concat(pfx, \"-total\"),\n hiddenClass: \"\".concat(pfx, \"-hidden\"),\n progressbarFillClass: \"\".concat(pfx, \"-progressbar-fill\"),\n progressbarOppositeClass: \"\".concat(pfx, \"-progressbar-opposite\"),\n clickableClass: \"\".concat(pfx, \"-clickable\"),\n lockClass: \"\".concat(pfx, \"-lock\"),\n horizontalClass: \"\".concat(pfx, \"-horizontal\"),\n verticalClass: \"\".concat(pfx, \"-vertical\"),\n paginationDisabledClass: \"\".concat(pfx, \"-disabled\")\n }\n });\n swiper.pagination = {\n el: null,\n $el: null,\n bullets: []\n };\n var bulletSize;\n var dynamicBulletIndex = 0;\n\n function isPaginationDisabled() {\n return !swiper.params.pagination.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0;\n }\n\n function setSideBullets($bulletEl, position) {\n var bulletActiveClass = swiper.params.pagination.bulletActiveClass;\n $bulletEl[position]().addClass(\"\".concat(bulletActiveClass, \"-\").concat(position))[position]().addClass(\"\".concat(bulletActiveClass, \"-\").concat(position, \"-\").concat(position));\n }\n\n function update() {\n // Render || Update Pagination bullets/items\n var rtl = swiper.rtl;\n var params = swiper.params.pagination;\n if (isPaginationDisabled()) 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 bulletSize = bullets.eq(0)[swiper.isHorizontal() ? 'outerWidth' : 'outerHeight'](true);\n $el.css(swiper.isHorizontal() ? 'width' : 'height', \"\".concat(bulletSize * (params.dynamicMainBullets + 4), \"px\"));\n\n if (params.dynamicMainBullets > 1 && swiper.previousIndex !== undefined) {\n dynamicBulletIndex += current - (swiper.previousIndex - swiper.loopedSlides || 0);\n\n if (dynamicBulletIndex > params.dynamicMainBullets - 1) {\n dynamicBulletIndex = params.dynamicMainBullets - 1;\n } else if (dynamicBulletIndex < 0) {\n dynamicBulletIndex = 0;\n }\n }\n\n firstIndex = Math.max(current - dynamicBulletIndex, 0);\n lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);\n midIndex = (lastIndex + firstIndex) / 2;\n }\n\n bullets.removeClass(['', '-next', '-next-next', '-prev', '-prev-prev', '-main'].map(function (suffix) {\n return \"\".concat(params.bulletActiveClass).concat(suffix);\n }).join(' '));\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(\"\".concat(params.bulletActiveClass, \"-main\"));\n }\n\n if (bulletIndex === firstIndex) {\n setSideBullets($bullet, 'prev');\n }\n\n if (bulletIndex === lastIndex) {\n setSideBullets($bullet, '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(\"\".concat(params.bulletActiveClass, \"-main\"));\n }\n\n if (swiper.params.loop) {\n if (bulletIndex >= bullets.length) {\n for (var _i = params.dynamicMainBullets; _i >= 0; _i -= 1) {\n bullets.eq(bullets.length - _i).addClass(\"\".concat(params.bulletActiveClass, \"-main\"));\n }\n\n bullets.eq(bullets.length - params.dynamicMainBullets - 1).addClass(\"\".concat(params.bulletActiveClass, \"-prev\"));\n } else {\n setSideBullets($firstDisplayedBullet, 'prev');\n setSideBullets($lastDisplayedBullet, 'next');\n }\n } else {\n setSideBullets($firstDisplayedBullet, 'prev');\n setSideBullets($lastDisplayedBullet, 'next');\n }\n }\n }\n\n if (params.dynamicBullets) {\n var dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);\n var bulletsOffset = (bulletSize * dynamicBulletsLength - bulletSize) / 2 - midIndex * bulletSize;\n var offsetProp = rtl ? 'right' : 'left';\n bullets.css(swiper.isHorizontal() ? offsetProp : 'top', \"\".concat(bulletsOffset, \"px\"));\n }\n }\n\n if (params.type === 'fraction') {\n $el.find(classesToSelector(params.currentClass)).text(params.formatFractionCurrent(current + 1));\n $el.find(classesToSelector(params.totalClass)).text(params.formatFractionTotal(total));\n }\n\n if (params.type === 'progressbar') {\n var progressbarDirection;\n\n if (params.progressbarOpposite) {\n progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';\n } else {\n progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';\n }\n\n var scale = (current + 1) / total;\n var scaleX = 1;\n var scaleY = 1;\n\n if (progressbarDirection === 'horizontal') {\n scaleX = scale;\n } else {\n scaleY = scale;\n }\n\n $el.find(classesToSelector(params.progressbarFillClass)).transform(\"translate3d(0,0,0) scaleX(\".concat(scaleX, \") scaleY(\").concat(scaleY, \")\")).transition(swiper.params.speed);\n }\n\n if (params.type === 'custom' && params.renderCustom) {\n $el.html(params.renderCustom(swiper, current + 1, total));\n emit('paginationRender', $el[0]);\n } else {\n emit('paginationUpdate', $el[0]);\n }\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n $el[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n }\n\n function render() {\n // Render Container\n var params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n var $el = swiper.pagination.$el;\n var paginationHTML = '';\n\n if (params.type === 'bullets') {\n var numberOfBullets = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n\n if (swiper.params.freeMode && swiper.params.freeMode.enabled && !swiper.params.loop && numberOfBullets > slidesLength) {\n numberOfBullets = slidesLength;\n }\n\n for (var i = 0; i < numberOfBullets; i += 1) {\n if (params.renderBullet) {\n paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);\n } else {\n paginationHTML += \"<\".concat(params.bulletElement, \" class=\\\"\").concat(params.bulletClass, \"\\\">\");\n }\n }\n\n $el.html(paginationHTML);\n swiper.pagination.bullets = $el.find(classesToSelector(params.bulletClass));\n }\n\n if (params.type === 'fraction') {\n if (params.renderFraction) {\n paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);\n } else {\n paginationHTML = \"\") + ' / ' + \"\");\n }\n\n $el.html(paginationHTML);\n }\n\n if (params.type === 'progressbar') {\n if (params.renderProgressbar) {\n paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);\n } else {\n paginationHTML = \"\");\n }\n\n $el.html(paginationHTML);\n }\n\n if (params.type !== 'custom') {\n emit('paginationRender', swiper.pagination.$el[0]);\n }\n }\n\n function init() {\n swiper.params.pagination = createElementIfNotDefined(swiper, swiper.originalParams.pagination, swiper.params.pagination, {\n el: 'swiper-pagination'\n });\n var params = swiper.params.pagination;\n if (!params.el) return;\n var $el = $(params.el);\n if ($el.length === 0) return;\n\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1) {\n $el = swiper.$el.find(params.el); // check if it belongs to another nested Swiper\n\n if ($el.length > 1) {\n $el = $el.filter(function (el) {\n if ($(el).parents('.swiper')[0] !== swiper.el) return false;\n return true;\n });\n }\n }\n\n if (params.type === 'bullets' && params.clickable) {\n $el.addClass(params.clickableClass);\n }\n\n $el.addClass(params.modifierClass + params.type);\n $el.addClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n\n if (params.type === 'bullets' && params.dynamicBullets) {\n $el.addClass(\"\".concat(params.modifierClass).concat(params.type, \"-dynamic\"));\n dynamicBulletIndex = 0;\n\n if (params.dynamicMainBullets < 1) {\n params.dynamicMainBullets = 1;\n }\n }\n\n if (params.type === 'progressbar' && params.progressbarOpposite) {\n $el.addClass(params.progressbarOppositeClass);\n }\n\n if (params.clickable) {\n $el.on('click', classesToSelector(params.bulletClass), function onClick(e) {\n e.preventDefault();\n var index = $(this).index() * swiper.params.slidesPerGroup;\n if (swiper.params.loop) index += swiper.loopedSlides;\n swiper.slideTo(index);\n });\n }\n\n Object.assign(swiper.pagination, {\n $el: $el,\n el: $el[0]\n });\n\n if (!swiper.enabled) {\n $el.addClass(params.lockClass);\n }\n }\n\n function destroy() {\n var params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n var $el = swiper.pagination.$el;\n $el.removeClass(params.hiddenClass);\n $el.removeClass(params.modifierClass + params.type);\n $el.removeClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n if (swiper.pagination.bullets && swiper.pagination.bullets.removeClass) swiper.pagination.bullets.removeClass(params.bulletActiveClass);\n\n if (params.clickable) {\n $el.off('click', classesToSelector(params.bulletClass));\n }\n }\n\n on('init', function () {\n if (swiper.params.pagination.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n render();\n update();\n }\n });\n on('activeIndexChange', function () {\n if (swiper.params.loop) {\n update();\n } else if (typeof swiper.snapIndex === 'undefined') {\n update();\n }\n });\n on('snapIndexChange', function () {\n if (!swiper.params.loop) {\n update();\n }\n });\n on('slidesLengthChange', function () {\n if (swiper.params.loop) {\n render();\n update();\n }\n });\n on('snapGridLengthChange', function () {\n if (!swiper.params.loop) {\n render();\n update();\n }\n });\n on('destroy', function () {\n destroy();\n });\n on('enable disable', function () {\n var $el = swiper.pagination.$el;\n\n if ($el) {\n $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.pagination.lockClass);\n }\n });\n on('lock unlock', function () {\n update();\n });\n on('click', function (_s, e) {\n var targetEl = e.target;\n var $el = swiper.pagination.$el;\n\n if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && $el && $el.length > 0 && !$(targetEl).hasClass(swiper.params.pagination.bulletClass)) {\n if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return;\n var isHidden = $el.hasClass(swiper.params.pagination.hiddenClass);\n\n if (isHidden === true) {\n emit('paginationShow');\n } else {\n emit('paginationHide');\n }\n\n $el.toggleClass(swiper.params.pagination.hiddenClass);\n }\n });\n\n var enable = function enable() {\n swiper.$el.removeClass(swiper.params.pagination.paginationDisabledClass);\n\n if (swiper.pagination.$el) {\n swiper.pagination.$el.removeClass(swiper.params.pagination.paginationDisabledClass);\n }\n\n init();\n render();\n update();\n };\n\n var disable = function disable() {\n swiper.$el.addClass(swiper.params.pagination.paginationDisabledClass);\n\n if (swiper.pagination.$el) {\n swiper.pagination.$el.addClass(swiper.params.pagination.paginationDisabledClass);\n }\n\n destroy();\n };\n\n Object.assign(swiper.pagination, {\n enable: enable,\n disable: disable,\n render: render,\n update: update,\n init: init,\n destroy: destroy\n });\n}","import Swiper, { Navigation, Pagination } from 'swiper';\nimport 'swiper/swiper.scss';\nimport 'swiper/modules/navigation/navigation.scss';\nimport 'swiper/modules/pagination/pagination.scss';\n\nexport const initBleedSwiper = () => {\n new Swiper('.carousel-bleed-sme', {\n modules: [Navigation, Pagination],\n loop: true,\n slidesPerView: 1,\n spaceBetween: 15,\n\n breakpoints: {\n 768: {\n slidesPerView: 2,\n },\n\n 1024: {\n slidesPerView: 1.5,\n },\n },\n\n // Navigation arrows\n navigation: {\n nextEl: '.button-next',\n },\n\n // If we need pagination\n pagination: {\n el: '.swiper-pagination',\n },\n });\n};\n\nexport const initDefaultSwiper = () => {\n new Swiper('.default-slider', {\n modules: [Navigation, Pagination],\n slidesPerView: 1,\n\n // Pagination\n pagination: {\n el: '.default-swiper-pagination',\n clickable: true,\n },\n });\n};\n","var api = require(\"!../style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../css-loader/dist/cjs.js??ref--8-1!../postcss-loader/src/index.js??ref--8-2!../sass-loader/dist/cjs.js??ref--8-3!./swiper.scss\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(true);\n// Module\nexports.push([module.id, \"@font-face{font-family:'swiper-icons';src:url(\\\"data:application/font-woff;charset=utf-8;base64, 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\\\") format(\\\"woff\\\");font-weight:400;font-style:normal}:root{--swiper-theme-color: #007aff}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{transform:translate3d(0px, 0, 0)}.swiper-pointer-events{touch-action:pan-y}.swiper-pointer-events.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform, height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,0.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left, rgba(0,0,0,0.5), rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right, rgba(0,0,0,0.5), rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top, rgba(0,0,0,0.5), rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom, rgba(0,0,0,0.5), rgba(0,0,0,0))}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-horizontal.swiper-css-mode>.swiper-wrapper{-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{-ms-scroll-snap-type:y mandatory;scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{-webkit-margin-start:var(--swiper-centered-offset-before);margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{-webkit-margin-before:var(--swiper-centered-offset-before);margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;height:var(--swiper-centered-offset-after)}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center}\\n\", \"\",{\"version\":3,\"sources\":[\"/lbapp/node_modules/swiper/swiper.scss\"],\"names\":[],\"mappings\":\"AAcE,WACE,0BAA2B,CAC3B,2sEACgB,CAChB,eAAgB,CAChB,iBAAkB,CAIpB,MACE,6BAAqB,CACtB,QAGD,gBAAiB,CACjB,iBAAkB,CAClB,iBAAkB,CAClB,eAAgB,CAChB,eAAgB,CAChB,SAAU,CAEV,SAAU,CACX,iCAEC,qBAAsB,CACvB,gBAEC,iBAAkB,CAClB,UAAW,CACX,WAAY,CACZ,SAAU,CACV,YAAa,CACb,6BAA8B,CAC9B,sBAAuB,CACxB,8CAGC,gCAAiC,CAClC,uBAEC,kBAAmB,CADrB,uCAGI,kBAAmB,CACpB,cAGD,aAAc,CACd,UAAW,CACX,WAAY,CACZ,iBAAkB,CAClB,6BAA8B,CAC/B,8BAEC,iBAAkB,CACnB,oDAKG,WAAY,CAHhB,mCAOI,sBAAuB,CACvB,qCAAsC,CACvC,sCAGD,uBAAwB,CACxB,kCAAqB,CAArB,0BAA2B,CAC5B,sDAKG,kBAAmB,CAHvB,yQAaI,2BAA4B,CAbhC,sLAoBI,iBAAkB,CAClB,MAAO,CACP,KAAM,CACN,UAAW,CACX,WAAY,CACZ,mBAAoB,CACpB,UAAW,CA1Bf,gCA6BI,2BAA+B,CA7BnC,qCAgCI,yEAAgF,CAhCpF,sCAmCI,0EAAiF,CAnCrF,oCAsCI,wEAA+E,CAtCnF,uCAyCI,2EAAkF,CACnF,iCAMC,aAAc,CACd,oBAAqB,CACrB,uBAAwB,CAJ5B,oDAMM,YAAa,CANnB,+CAUI,6BAA8B,CAC/B,mDAIC,gCAAkB,CAAlB,4BAA6B,CAC9B,iDAIC,gCAAkB,CAAlB,4BAA6B,CAC9B,yCAIC,UAAW,CACX,aAAc,CACd,UAAW,CAJf,6EAQM,yDAAqB,CAArB,wDAAyD,CAR/D,2DAWM,WAAY,CACZ,yCAA0C,CAZhD,2EAiBM,0DAAoB,CAApB,uDAAwD,CAjB9D,yDAoBM,UAAW,CACX,0CAA2C,CArBjD,+CA0BI,+BAAgC\",\"file\":\"swiper.scss\",\"sourcesContent\":[\"/**\\n * Swiper 8.4.5\\n * Most modern mobile touch slider and framework with hardware accelerated transitions\\n * https://swiperjs.com\\n *\\n * Copyright 2014-2022 Vladimir Kharlampidi\\n *\\n * Released under the MIT License\\n *\\n * Released on: November 21, 2022\\n */\\n\\n@import 'swiper-vars.scss';\\n@at-root {\\n @font-face {\\n font-family: 'swiper-icons';\\n src: url('data:application/font-woff;charset=utf-8;base64, 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')\\n format('woff');\\n font-weight: 400;\\n font-style: normal;\\n }\\n}\\n@at-root {\\n :root {\\n --swiper-theme-color: #{$themeColor};\\n }\\n}\\n.swiper {\\n margin-left: auto;\\n margin-right: auto;\\n position: relative;\\n overflow: hidden;\\n list-style: none;\\n padding: 0;\\n /* Fix of Webkit flickering */\\n z-index: 1;\\n}\\n.swiper-vertical > .swiper-wrapper {\\n flex-direction: column;\\n}\\n.swiper-wrapper {\\n position: relative;\\n width: 100%;\\n height: 100%;\\n z-index: 1;\\n display: flex;\\n transition-property: transform;\\n box-sizing: content-box;\\n}\\n.swiper-android .swiper-slide,\\n.swiper-wrapper {\\n transform: translate3d(0px, 0, 0);\\n}\\n.swiper-pointer-events {\\n touch-action: pan-y;\\n &.swiper-vertical {\\n touch-action: pan-x;\\n }\\n}\\n.swiper-slide {\\n flex-shrink: 0;\\n width: 100%;\\n height: 100%;\\n position: relative;\\n transition-property: transform;\\n}\\n.swiper-slide-invisible-blank {\\n visibility: hidden;\\n}\\n/* Auto Height */\\n.swiper-autoheight {\\n &,\\n .swiper-slide {\\n height: auto;\\n }\\n\\n .swiper-wrapper {\\n align-items: flex-start;\\n transition-property: transform, height;\\n }\\n}\\n.swiper-backface-hidden .swiper-slide {\\n transform: translateZ(0);\\n backface-visibility: hidden;\\n}\\n/* 3D Effects */\\n.swiper-3d {\\n &,\\n &.swiper-css-mode .swiper-wrapper {\\n perspective: 1200px;\\n }\\n .swiper-wrapper,\\n .swiper-slide,\\n .swiper-slide-shadow,\\n .swiper-slide-shadow-left,\\n .swiper-slide-shadow-right,\\n .swiper-slide-shadow-top,\\n .swiper-slide-shadow-bottom,\\n .swiper-cube-shadow {\\n transform-style: preserve-3d;\\n }\\n .swiper-slide-shadow,\\n .swiper-slide-shadow-left,\\n .swiper-slide-shadow-right,\\n .swiper-slide-shadow-top,\\n .swiper-slide-shadow-bottom {\\n position: absolute;\\n left: 0;\\n top: 0;\\n width: 100%;\\n height: 100%;\\n pointer-events: none;\\n z-index: 10;\\n }\\n .swiper-slide-shadow {\\n background: rgba(0, 0, 0, 0.15);\\n }\\n .swiper-slide-shadow-left {\\n background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\\n }\\n .swiper-slide-shadow-right {\\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\\n }\\n .swiper-slide-shadow-top {\\n background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\\n }\\n .swiper-slide-shadow-bottom {\\n background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\\n }\\n}\\n\\n/* CSS Mode */\\n.swiper-css-mode {\\n > .swiper-wrapper {\\n overflow: auto;\\n scrollbar-width: none; /* For Firefox */\\n -ms-overflow-style: none; /* For Internet Explorer and Edge */\\n &::-webkit-scrollbar {\\n display: none;\\n }\\n }\\n > .swiper-wrapper > .swiper-slide {\\n scroll-snap-align: start start;\\n }\\n}\\n.swiper-horizontal.swiper-css-mode {\\n > .swiper-wrapper {\\n scroll-snap-type: x mandatory;\\n }\\n}\\n.swiper-vertical.swiper-css-mode {\\n > .swiper-wrapper {\\n scroll-snap-type: y mandatory;\\n }\\n}\\n.swiper-centered {\\n > .swiper-wrapper::before {\\n content: '';\\n flex-shrink: 0;\\n order: 9999;\\n }\\n &.swiper-horizontal {\\n > .swiper-wrapper > .swiper-slide:first-child {\\n margin-inline-start: var(--swiper-centered-offset-before);\\n }\\n > .swiper-wrapper::before {\\n height: 100%;\\n width: var(--swiper-centered-offset-after);\\n }\\n }\\n &.swiper-vertical {\\n > .swiper-wrapper > .swiper-slide:first-child {\\n margin-block-start: var(--swiper-centered-offset-before);\\n }\\n > .swiper-wrapper::before {\\n width: 100%;\\n height: var(--swiper-centered-offset-after);\\n }\\n }\\n\\n > .swiper-wrapper > .swiper-slide {\\n scroll-snap-align: center center;\\n }\\n}\\n\\n\\n\\n\"]}]);\n// Exports\nmodule.exports = exports;\n","var api = require(\"!../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../css-loader/dist/cjs.js??ref--8-1!../../../postcss-loader/src/index.js??ref--8-2!../../../sass-loader/dist/cjs.js??ref--8-3!./navigation.scss\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(true);\n// Module\nexports.push([module.id, \":root{--swiper-navigation-size: 44px}.swiper-button-prev,.swiper-button-next{position:absolute;top:50%;width:calc(44px / 44 * 27);width:calc(var(--swiper-navigation-size) / 44 * 27);height:44px;height:var(--swiper-navigation-size);margin-top:calc(0px - (44px / 2));margin-top:calc(0px - (var(--swiper-navigation-size) / 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-theme-color);color:var(--swiper-navigation-color, var(--swiper-theme-color))}.swiper-button-prev.swiper-button-disabled,.swiper-button-next.swiper-button-disabled{opacity:0.35;cursor:auto;pointer-events:none}.swiper-button-prev.swiper-button-hidden,.swiper-button-next.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-prev,.swiper-navigation-disabled .swiper-button-next{display:none !important}.swiper-button-prev:after,.swiper-button-next:after{font-family:swiper-icons;font-size:44px;font-size:var(--swiper-navigation-size);text-transform:none !important;letter-spacing:0;font-feature-settings:normal, ;font-variant:normal;font-variant:initial;line-height:1}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:10px;right:auto}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:10px;left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-button-lock{display:none}\\n\", \"\",{\"version\":3,\"sources\":[\"/lbapp/node_modules/swiper/modules/navigation/navigation.scss\"],\"names\":[],\"mappings\":\"AAEE,MACE,8BAAyB,CAI1B,wCAID,iBAAkB,CAClB,OAAQ,CACR,0BAAoD,CAApD,mDAAoD,CACpD,WAAqC,CAArC,oCAAqC,CACrC,iCAA2D,CAA3D,0DAA2D,CAC3D,UAAW,CACX,cAAe,CACf,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,+BAAO,CAAP,+DAAgE,CAZlE,sFAcI,YAAa,CACb,WAAY,CACZ,mBAAoB,CAhBxB,kFAmBI,SAAU,CACV,WAAY,CACZ,mBAAoB,CACrB,gGAEC,uBAAwB,CAxB5B,oDA2BI,wBAAyB,CACzB,cAAwC,CAAxC,uCAAwC,CACxC,8BAA+B,CAC/B,gBAAiB,CACjB,8BAAqB,CAArB,mBAAqB,CAArB,oBAAqB,CACrB,aAAc,CACf,oDAOD,SAAU,CACV,UAAW,CANb,gEAGI,cAAe,CAChB,oDASD,UAAW,CACX,SAAU,CANZ,gEAGI,cAAe,CAChB,oBAMD,YAAa\",\"file\":\"navigation.scss\",\"sourcesContent\":[\"@import '../../swiper-vars.scss';\\n@at-root {\\n :root {\\n --swiper-navigation-size: 44px;\\n /*\\n --swiper-navigation-color: var(--swiper-theme-color);\\n */\\n }\\n}\\n.swiper-button-prev,\\n.swiper-button-next {\\n position: absolute;\\n top: 50%;\\n width: calc(var(--swiper-navigation-size) / 44 * 27);\\n height: var(--swiper-navigation-size);\\n margin-top: calc(0px - (var(--swiper-navigation-size) / 2));\\n z-index: 10;\\n cursor: pointer;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n color: var(--swiper-navigation-color, var(--swiper-theme-color));\\n &.swiper-button-disabled {\\n opacity: 0.35;\\n cursor: auto;\\n pointer-events: none;\\n }\\n &.swiper-button-hidden {\\n opacity: 0;\\n cursor: auto;\\n pointer-events: none;\\n }\\n .swiper-navigation-disabled & {\\n display: none !important;\\n }\\n &:after {\\n font-family: swiper-icons;\\n font-size: var(--swiper-navigation-size);\\n text-transform: none !important;\\n letter-spacing: 0;\\n font-variant: initial;\\n line-height: 1;\\n }\\n}\\n.swiper-button-prev,\\n.swiper-rtl .swiper-button-next {\\n &:after {\\n content: 'prev';\\n }\\n left: 10px;\\n right: auto;\\n}\\n.swiper-button-next,\\n.swiper-rtl .swiper-button-prev {\\n &:after {\\n content: 'next';\\n }\\n right: 10px;\\n left: auto;\\n}\\n\\n.swiper-button-lock {\\n display: none;\\n}\\n\"]}]);\n// Exports\nmodule.exports = exports;\n","\"use strict\";\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && btoa) {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of