1var Swiper=(function(){'use strict';function classesToTokens(classes=''){return classes.trim().split(' ').filter((c)=>!!c.trim())} 2function deleteProps(obj){Object.keys(obj).forEach((key)=>{try{obj[key]=null}catch{} 3try{delete obj[key]}catch{}})} 4function nextTick(callback,delay=0){return setTimeout(callback,delay)} 5function now(){return Date.now()} 6function getComputedStyle$1(el){return window.getComputedStyle(el,null)} 7function getTranslate(el,axis='x'){const style=getComputedStyle$1(el);const transform=style.transform||style.webkitTransform;if(!transform||transform==='none') 8return 0;const matrix=new DOMMatrixReadOnly(transform);return axis==='x'?matrix.m41:matrix.m42} 9function isObject(o){return(typeof o==='object'&&o!==null&&!!o.constructor&&Object.prototype.toString.call(o).slice(8,-1)==='Object')} 10function isNode(node){if(typeof HTMLElement!=='undefined'&&node instanceof HTMLElement) 11return!0;return(!!node&&typeof node==='object'&&(node.nodeType===1||node.nodeType===11))} 12function extend(target,...sources){const to=Object(target);for(let i=0;i<sources.length;i+=1){const nextSource=sources[i];if(nextSource===undefined||nextSource===null||isNode(nextSource)) 13continue;const sourceObj=nextSource;const keysArray=Object.keys(Object(sourceObj));for(let nextIndex=0,len=keysArray.length;nextIndex<len;nextIndex+=1){const nextKey=keysArray[nextIndex];if(nextKey==='__proto__'||nextKey==='constructor'||nextKey==='prototype'){continue} 14const desc=Object.getOwnPropertyDescriptor(sourceObj,nextKey);if(!desc||!desc.enumerable) 15continue;const sourceVal=sourceObj[nextKey];if(isObject(to[nextKey])&&isObject(sourceVal)){if(sourceVal.__swiper__){to[nextKey]=sourceVal}else{extend(to[nextKey],sourceVal)}}else if(!isObject(to[nextKey])&&isObject(sourceVal)){to[nextKey]={};if(sourceVal.__swiper__){to[nextKey]=sourceVal}else{extend(to[nextKey],sourceVal)}}else{to[nextKey]=sourceVal}}} 16return to} 17function setCSSProperty(el,varName,varValue){el.style.setProperty(varName,varValue)} 18function getSlideTransformEl(slideEl){const direct=slideEl.querySelector('.swiper-slide-transform');if(direct) 19return direct;if(slideEl.shadowRoot){const shadowed=slideEl.shadowRoot.querySelector('.swiper-slide-transform');if(shadowed) 20return shadowed} 21return slideEl} 22function elementChildren(element,selector=''){const children=[...element.children];if(element instanceof HTMLSlotElement){children.push(...element.assignedElements())} 23return selector?children.filter((el)=>el.matches(selector)):children} 24function elementIsChildOfSlot(el,slot){const queue=[slot];while(queue.length>0){const cur=queue.shift();if(el===cur) 25return!0;queue.push(...cur.children,...(cur.shadowRoot?cur.shadowRoot.children:[]),...(cur.assignedElements?cur.assignedElements():[]))} 26return!1} 27function elementIsChildOf(el,parent){let isChild=parent.contains(el);if(!isChild&&parent instanceof HTMLSlotElement){const children=[...parent.assignedElements()];isChild=children.includes(el);if(!isChild) 28isChild=elementIsChildOfSlot(el,parent)} 29return isChild} 30function showWarning(text){try{console.warn(text)}catch{}} 31function createElement(tag,classes=[]){const el=document.createElement(tag);el.classList.add(...(Array.isArray(classes)?classes:classesToTokens(classes)));return el} 32function elementOffset(el){const box=el.getBoundingClientRect();return{top:box.top-(el.clientTop||0),left:box.left-(el.clientLeft||0),}} 33function elementPrevAll(el,selector){const prevEls=[];let prev=el.previousElementSibling;while(prev){if(!selector||prev.matches(selector)) 34prevEls.push(prev);prev=prev.previousElementSibling} 35return prevEls} 36function elementNextAll(el,selector){const nextEls=[];let next=el.nextElementSibling;while(next){if(!selector||next.matches(selector)) 37nextEls.push(next);next=next.nextElementSibling} 38return nextEls} 39function elementStyle(el,prop){return window.getComputedStyle(el,null).getPropertyValue(prop)} 40function elementIndex(el){if(!el||!el.parentNode) 41return undefined;return[...el.parentNode.children].indexOf(el)} 42function elementParents(el,selector){const parents=[];let parent=el.parentElement;while(parent){if(!selector||parent.matches(selector)) 43parents.push(parent);parent=parent.parentElement} 44return parents} 45function elementTransitionEnd(el,callback){if(!callback) 46return;el.addEventListener('transitionend',function fireCallBack(e){if(e.target!==el) 47return;el.removeEventListener('transitionend',fireCallBack);callback.call(el,e)})} 48function elementOuterSize(el,size,includeMargins){{const style=window.getComputedStyle(el,null);return(el[size==='width'?'offsetWidth':'offsetHeight']+parseFloat(style.getPropertyValue(size==='width'?'margin-right':'margin-top'))+parseFloat(style.getPropertyValue(size==='width'?'margin-left':'margin-bottom')))}} 49function makeElementsArray(el){return(Array.isArray(el)?el:[el]).filter((e)=>
49!!e)} 50function getRotateFix(swiper){return(v)=>{if(Math.abs(v)>0&&swiper.browser&&swiper.browser.need3dFix&&Math.abs(v)%90===0){return v+0.001} 51return v}} 52function setInnerHTML(el,html=''){const tt=globalThis.trustedTypes;if(typeof tt!=='undefined'){el.innerHTML=tt.createPolicy('html',{createHTML:(s)=>s}).createHTML(html)}else{el.innerHTML=html}} 53let supportCached;function calcSupport(){if(typeof window==='undefined') 54return{touch:!1};return{touch:'ontouchstart' in window||navigator.maxTouchPoints>0,}} 55function getSupport(){if(!supportCached) 56supportCached=calcSupport();return supportCached} 57let deviceCached;function calcDevice({userAgent}={}){if(typeof window==='undefined') 58return{ios:!1,android:!1};const support=getSupport();const platform=navigator.platform;const ua=userAgent||navigator.userAgent;const device={ios:!1,android:!1};const isAndroid=/(Android);?[\s/]+([\d.]+)?/.test(ua);const isIPhoneOrIPod=/(iPhone\sOS|iOS|iPod)/.test(ua);const isIPadDirect=/iPad/.test(ua);const isIPadMasquerade=platform==='MacIntel'&&support.touch&&navigator.maxTouchPoints>1;const isIPad=isIPadDirect||isIPadMasquerade;const isWindows=platform==='Win32';if(isAndroid&&!isWindows){device.os='android';device.android=!0} 59if(isIPad||isIPhoneOrIPod){device.os='ios';device.ios=!0} 60return device} 61function getDevice(overrides={}){if(!deviceCached) 62deviceCached=calcDevice(overrides);return deviceCached} 63let browserCached;function calcBrowser(){if(typeof window==='undefined'){return{isSafari:!1,isWebView:!1,need3dFix:!1}} 64const device=getDevice();const ua=navigator.userAgent;const uaLower=ua.toLowerCase();const isSafari=uaLower.includes('safari')&&!uaLower.includes('chrome')&&!uaLower.includes('android');const isWebView=/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(ua);const need3dFix=isSafari||(isWebView&&device.ios);return{isSafari,isWebView,need3dFix}} 65function getBrowser(){if(!browserCached) 66browserCached=calcBrowser();return browserCached} 67const processLazyPreloader=(swiper,imageEl)=>{if(!swiper||swiper.destroyed||!swiper.params||!swiper.params.lazyPreload) 68return;const slideSelector=()=>(swiper.isElement?'swiper-slide':`.${swiper.params.slideClass}`);const slideEl=imageEl.closest(slideSelector());if(slideEl){let lazyEl=slideEl.querySelector(`.${swiper.params.lazyPreloaderClass}`);if(!lazyEl&&swiper.isElement){if(slideEl.shadowRoot){lazyEl=slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`)}else{requestAnimationFrame(()=>{if(slideEl.shadowRoot){const innerLazy=slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`);if(innerLazy&&!innerLazy.lazyPreloaderManaged) 69innerLazy.remove()}})}} 70if(lazyEl&&!lazyEl.lazyPreloaderManaged) 71lazyEl.remove()}};const unlazy=(swiper,index)=>{if(!swiper.slides[index]) 72return;const imageEl=swiper.slides[index].querySelector('[loading="lazy"]');if(imageEl) 73imageEl.removeAttribute('loading')};const preload=(swiper)=>{if(!swiper||swiper.destroyed||!swiper.params||!swiper.params.lazyPreload) 74return;let amount=swiper.params.lazyPreloadPrevNext;const len=swiper.slides.length;if(!len||!amount||amount<0) 75return;amount=Math.min(amount,len);const slidesPerView=swiper.params.slidesPerView==='auto'?swiper.slidesPerViewDynamic():Math.ceil(swiper.params.slidesPerView);const activeIndex=swiper.activeIndex;if(swiper.params.grid&&(swiper.params.grid.rows??1)>1){const activeColumn=activeIndex;const preloadColumns=[activeColumn-amount];preloadColumns.push(...Array.from({length:amount}).map((_,i)=>activeColumn+slidesPerView+i));swiper.slides.forEach((slideEl,i)=>{if(slideEl.column!==undefined&&preloadColumns.includes(slideEl.column)) 76unlazy(swiper,i)});return} 77const slideIndexLastInView=activeIndex+slidesPerView-1;if(swiper.params.rewind||swiper.params.loop){for(let i=activeIndex-amount;i<=slideIndexLastInView+amount;i+=1){const realIndex=((i%len)+len)%len;if(realIndex<activeIndex||realIndex>slideIndexLastInView) 78unlazy(swiper,realIndex)}}else{for(let i=Math.max(activeIndex-amount,0);i<=Math.min(slideIndexLastInView+amount,len-1);i+=1){if(i!==activeIndex&&(i>slideIndexLastInView||i<activeIndex)){unlazy(swiper,i)}}}};
78function getBreakpoint(breakpoints,base='window',containerEl){if(!breakpoints||(base==='container'&&!containerEl)) 79return undefined;let breakpoint=!1;const currentHeight=base==='window'?window.innerHeight:containerEl.clientHeight;const points=Object.keys(breakpoints).map((point)=>{if(typeof point==='string'&&point.indexOf('@')===0){const minRatio=parseFloat(point.substr(1));const value=currentHeight*minRatio;return{value,point}} 80return{value:point,point}});points.sort((a,b)=>parseInt(String(a.value),10)-parseInt(String(b.value),10));for(let i=0;i<points.length;i+=1){const{point,value}=points[i];if(base==='window'){if(window.matchMedia(`(min-width: ${value}px)`).matches){breakpoint=point}}else if(value<=containerEl.clientWidth){breakpoint=point}} 81return breakpoint||'max'} 82const isGridEnabled=(swiper,params)=>{return!!(swiper.grid&¶ms.grid&¶ms.grid.rows>1)};function setBreakpoint(){const swiper=this;const{realIndex,initialized,params,el}=swiper;const breakpoints=params.breakpoints;if(!breakpoints||(breakpoints&&Object.keys(breakpoints).length===0)) 83return;const breakpointsBase=params.breakpointsBase==='window'||!params.breakpointsBase?params.breakpointsBase:'container';const breakpointContainer=['window','container'].includes(params.breakpointsBase)||!params.breakpointsBase?swiper.el:document.querySelector(params.breakpointsBase);const breakpoint=swiper.getBreakpoint(breakpoints,breakpointsBase,breakpointContainer);if(!breakpoint||swiper.currentBreakpoint===breakpoint) 84return;const breakpointsRecord=breakpoints;const breakpointOnlyParams=breakpoint in breakpointsRecord?breakpointsRecord[breakpoint]:undefined;const breakpointParams=breakpointOnlyParams||swiper.originalParams;const wasMultiRow=isGridEnabled(swiper,params);const isMultiRow=isGridEnabled(swiper,breakpointParams);const wasGrabCursor=swiper.params.grabCursor;const isGrabCursor=breakpointParams.grabCursor;const wasEnabled=params.enabled;if(wasMultiRow&&!isMultiRow){el.classList.remove(`${params.containerModifierClass}grid`,`${params.containerModifierClass}grid-column`);swiper.emitContainerClasses()}else if(!wasMultiRow&&isMultiRow){el.classList.add(`${params.containerModifierClass}grid`);if((breakpointParams.grid.fill&&breakpointParams.grid.fill==='column')||(!breakpointParams.grid.fill&¶ms.grid.fill==='column')){el.classList.add(`${params.containerModifierClass}grid-column`)} 85swiper.emitContainerClasses()} 86if(wasGrabCursor&&!isGrabCursor){swiper.unsetGrabCursor()}else if(!wasGrabCursor&&isGrabCursor){swiper.setGrabCursor()} 87const moduleOpt=(opts,prop)=>opts[prop];['navigation','pagination','scrollbar'].forEach((prop)=>{const bpOpts=moduleOpt(breakpointParams,prop);if(typeof bpOpts==='undefined') 88return;const paramsOpts=moduleOpt(params,prop);const wasModuleEnabled=typeof paramsOpts==='object'&¶msOpts!==null&¶msOpts.enabled;const isModuleEnabled=typeof bpOpts==='object'&&bpOpts!==null&&bpOpts.enabled;const moduleApi=swiper[prop];if(wasModuleEnabled&&!isModuleEnabled) 89moduleApi?.disable?.();if(!wasModuleEnabled&&isModuleEnabled) 90moduleApi?.enable?.()});const directionChanged=breakpointParams.direction&&breakpointParams.direction!==params.direction;const needsReLoop=params.loop&&(breakpointParams.slidesPerView!==params.slidesPerView||directionChanged);const wasLoop=params.loop;if(directionChanged&&initialized){swiper.changeDirection()} 91extend(swiper.params,breakpointParams);const isEnabled=swiper.params.enabled;const hasLoop=swiper.params.loop;Object.assign(swiper,{allowTouchMove:swiper.params.allowTouchMove,allowSlideNext:swiper.params.allowSlideNext,allowSlidePrev:swiper.params.allowSlidePrev,});if(wasEnabled&&!isEnabled){swiper.disable()}else if(!wasEnabled&&isEnabled){swiper.enable()} 92swiper.currentBreakpoint=breakpoint;swiper.emit('_beforeBreakpoint',breakpointParams);if(initialized){if(needsReLoop){swiper.loopDestroy();swiper.updateSlides();swiper.loopCreate(realIndex)}else if(!wasLoop&&hasLoop){swiper.updateSlides();swiper.loopCreate(realIndex)}else if(wasLoop&&!hasLoop){swiper.loopDestroy()}} 93swiper.emit('breakpoint',breakpointParams)}
94var breakpoints={setBreakpoint,getBreakpoint};function checkOverflow(){const swiper=this;const{isLocked:wasLocked,params}=swiper;const{slidesOffsetBefore}=params;if(slidesOffsetBefore){const lastSlideIndex=swiper.slides.length-1;const lastSlideRightEdge=swiper.slidesGrid[lastSlideIndex]+swiper.slidesSizesGrid[lastSlideIndex]+slidesOffsetBefore*2;swiper.isLocked=swiper.size>lastSlideRightEdge}else{swiper.isLocked=swiper.snapGrid.length===1} 95if(params.allowSlideNext===!0){swiper.allowSlideNext=!swiper.isLocked} 96if(params.allowSlidePrev===!0){swiper.allowSlidePrev=!swiper.isLocked} 97if(wasLocked&&wasLocked!==swiper.isLocked){swiper.isEnd=!1} 98if(wasLocked!==swiper.isLocked){swiper.emit(swiper.isLocked?'lock':'unlock')}} 99var checkOverflow$1={checkOverflow};function prepareClasses(entries,prefix){const resultClasses=[];entries.forEach((item)=>{if(typeof item==='object'){Object.keys(item).forEach((classNames)=>{if(item[classNames]){resultClasses.push(prefix+classNames)}})}else if(typeof item==='string'){resultClasses.push(prefix+item)}});return resultClasses} 100function addClasses(){const swiper=this;const{classNames,params,rtl,el,device}=swiper;const suffixes=prepareClasses(['initialized',params.direction,{'free-mode':swiper.params.freeMode&¶ms.freeMode.enabled},{'autoheight':params.autoHeight},{'rtl':rtl},{'grid':params.grid&¶ms.grid.rows>1},{'grid-column':params.grid&¶ms.grid.rows>1&¶ms.grid.fill==='column'},{'android':device.android},{'ios':device.ios},{'css-mode':params.cssMode},{'centered':params.cssMode&¶ms.centeredSlides},{'watch-progress':params.watchSlidesProgress},],params.containerModifierClass);classNames.push(...suffixes);el.classList.add(...classNames);swiper.emitContainerClasses()} 101function removeClasses(){const swiper=this;const{el,classNames}=swiper;if(!el||typeof el==='string') 102return;el.classList.remove(...classNames);swiper.emitContainerClasses()} 103var classes={addClasses,removeClasses};const defaults={init:!0,direction:'horizontal',oneWayMovement:!1,swiperElementNodeName:'SWIPER-CONTAINER',touchEventsTarget:'wrapper',initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!0,nested:!1,createElements:!1,eventsPrefix:'swiper',enabled:!0,focusableElements:'input, select, option, textarea, button, video, label',width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:'slide',breakpoints:undefined,breakpointsBase:'window',spaceBetween:0,slidesPerView:1,slidesPerGroup:1,slidesPerGroupSkip:0,slidesPerGroupAuto:!1,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,snapToSlideEdge:!1,watchOverflow:!0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:0.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:5,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:0.85,watchSlidesProgress:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,loop:!1,loopAddBlankSlides:!0,loopAdditionalSlides:0,loopPreventsSliding:!0,rewind:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:'swiper-no-swiping',noSwipingSelector:null,passiveListeners:!0,maxBackfaceHiddenSlides:10,containerModifierClass:'swiper-',slideClass:'swiper-slide',slideBlankClass:'swiper-slide-blank',slideActiveClass:'swiper-slide-active',slideVisibleClass:'swiper-slide-visible',slideFullyVisibleClass:'swiper-slide-fully-visible',slideNextClass:'swiper-slide-next',slidePrevClass:'swiper-slide-prev',wrapperClass:'swiper-wrapper',lazyPreload:!0,lazyPreloaderClass:'swiper-lazy-preloader',lazyPreloadPrevNext:0,runCallbacksOnInit:!0,_emitClasses:!1,};var eventsEmitter={on(events,handler,priority){const self=this;if(!self.eventsListeners||self.destroyed) 104return self;if(typeof handler!=='function') 105return self;const method=priority?'unshift':'push';events.split(' ').forEach((event)=>{if(!self.eventsListeners[event]) 106self.eventsListeners[event]=[];self.eventsListeners[event][method](handler)});return self},once(events,handler,priority){const self=this;if(!self.eventsListeners||self.destroyed) 107return self;if(typeof handler!=='function') 108return self;const onceHandler=function onceHandlerFn(...args){self.off(events,onceHandler);if(onceHandler.__emitterProxy){delete onceHandler.__emitterProxy} 109handler.apply(self,args)};onceHandler.__emitterProxy=handler;return self.on(events,onceHandler,priority)},onAny(handler,priority){const self=this;if(!self.eventsListeners||self.destroyed) 110return self;if(typeof handler!=='function') 111return self;const method=priority?'unshift':'push';if(self.eventsAnyListeners.indexOf(handler)<0){self.eventsAnyListeners[method](handler)} 112return self},offAny(handler){const self=this;if(!self.eventsListeners||self.destroyed) 113return self;if(!self.eventsAnyListeners) 114return self;const index=self.eventsAnyListeners.indexOf(handler);if(index>=0){self.eventsAnyListeners.splice(index,1)} 115return self},off(events,handler){const self=this;if(!self.eventsListeners||self.destroyed) 116return self;if(!self.eventsListeners) 117return self;events.split(' ').forEach((event)=>{if(typeof handler==='undefined'){self.eventsListeners[event]=[]}else if(self.eventsListeners[event]){self.eventsListeners[event].forEach((eventHandler,index)=>{if(eventHandler===handler||(eventHandler.__emitterProxy&&eventHandler.__emitterProxy===handler)){self.eventsListeners[event].splice(index,1)}})}});return self}
117,emit(...args){const self=this;if(!self.eventsListeners||self.destroyed) 118return self;if(!self.eventsListeners) 119return self;let events;let data;let context;if(typeof args[0]==='string'||Array.isArray(args[0])){events=args[0];data=args.slice(1,args.length);context=self}else{const opts=args[0];events=opts.events;data=opts.data??[];context=opts.context||self} 120data.unshift(context);const eventsArray=Array.isArray(events)?events:events.split(' ');eventsArray.forEach((event)=>{if(self.eventsAnyListeners&&self.eventsAnyListeners.length){self.eventsAnyListeners.forEach((eventHandler)=>{eventHandler.apply(context,[event,...data])})} 121if(self.eventsListeners&&self.eventsListeners[event]){self.eventsListeners[event].forEach((eventHandler)=>{eventHandler.apply(context,data)})}});return self},};function onClick(e){const swiper=this;if(swiper.destroyed) 122return;if(!swiper.enabled) 123return;if(!swiper.allowClick){if(swiper.params.preventClicks) 124e.preventDefault();if(swiper.params.preventClicksPropagation&&swiper.animating){e.stopPropagation();e.stopImmediatePropagation()}}} 125function onDocumentTouchStart(){const swiper=this;if(swiper.destroyed) 126return;if(swiper.documentTouchHandlerProceeded) 127return;swiper.documentTouchHandlerProceeded=!0;if(swiper.params.touchReleaseOnEdges){swiper.el.style.touchAction='auto'}} 128function onLoad(e){const swiper=this;if(swiper.destroyed) 129return;processLazyPreloader(swiper,e.target);if(e.type==='error'||swiper.params.cssMode||(swiper.params.slidesPerView!=='auto'&&!swiper.params.autoHeight)){return} 130swiper.update()} 131function onResize(){const swiper=this;const{params,el}=swiper;if(el&&el.offsetWidth===0) 132return;if(params.breakpoints){swiper.setBreakpoint()} 133const{allowSlideNext,allowSlidePrev,snapGrid}=swiper;const isVirtual=swiper.virtual&&swiper.params.virtual?.enabled;swiper.allowSlideNext=!0;swiper.allowSlidePrev=!0;swiper.updateSize();swiper.updateSlides();swiper.updateSlidesClasses();const isVirtualLoop=isVirtual&¶ms.loop;if((params.slidesPerView==='auto'||params.slidesPerView>1)&&swiper.isEnd&&!swiper.isBeginning&&!swiper.params.centeredSlides&&!isVirtualLoop){const slidesLength=isVirtual?swiper.virtual.slides.length:swiper.slides.length;swiper.slideTo(slidesLength-1,0,!1,!0)}else{if(swiper.params.loop&&!isVirtual){swiper.slideToLoop(swiper.realIndex,0,!1,!0)}else{swiper.slideTo(swiper.activeIndex,0,!1,!0)}} 134if(swiper.autoplay&&swiper.autoplay.running&&swiper.autoplay.paused){const autoplay=swiper.autoplay;clearTimeout(autoplay.resizeTimeout);autoplay.resizeTimeout=setTimeout(()=>{if(swiper.autoplay&&swiper.autoplay.running&&swiper.autoplay.paused){swiper.autoplay.resume()}},500)} 135swiper.allowSlidePrev=allowSlidePrev;swiper.allowSlideNext=allowSlideNext;if(swiper.params.watchOverflow&&snapGrid!==swiper.snapGrid){swiper.checkOverflow()}} 136function onScroll(){const swiper=this;if(swiper.destroyed) 137return;const{wrapperEl,rtlTranslate,enabled}=swiper;if(!enabled) 138return;swiper.previousTranslate=swiper.translate;if(swiper.isHorizontal()){swiper.translate=-wrapperEl.scrollLeft}else{swiper.translate=-wrapperEl.scrollTop} 139if(swiper.translate===0) 140swiper.translate=0;swiper.updateActiveIndex();swiper.updateSlidesClasses();let newProgress;const translatesDiff=swiper.maxTranslate()-swiper.minTranslate();if(translatesDiff===0){newProgress=0}else{newProgress=(swiper.translate-swiper.minTranslate())/translatesDiff} 141if(newProgress!==swiper.progress){swiper.updateProgress(rtlTranslate?-swiper.translate:swiper.translate)} 142swiper.emit('setTranslate',swiper.translate,!1)} 143function onTouchEnd(event){const swiper=this;if(swiper.destroyed) 144return;const data=swiper.touchEventsData;let e=event.originalEvent??event;const isTouchEvent=e.type==='touchend'||e.type==='touchcancel';if(!isTouchEvent){if(data.touchId!==null) 145return;const pe=e;if(pe.pointerId!==data.pointerId) 146return}else{const te=e;const found=[...te.changedTouches].find((t)=>t.identifier===data.touchId);if(!found||found.identifier!==data.touchId) 147return} 148if(['pointercancel','pointerout','pointerleave','contextmenu'].includes(e.type)){const proceed=['pointercancel','contextmenu'].includes(e.type)&&(swiper.browser.isSafari||swiper.browser.isWebView);if(!proceed){return}} 149data.pointerId=null;data.touchId=null;data.startEventPath=undefined;data.lastMoveEvent=undefined;const{params,touches,rtlTranslate:rtl,slidesGrid,enabled}=swiper;if(!enabled) 150return;if(!params.simulateTouch&&e.pointerType==='mouse') 151return;if(data.allowTouchCallbacks){swiper.emit('touchEnd',e)} 152data.allowTouchCallbacks=!1;if(!data.isTouched){if(data.isMoved&¶ms.grabCursor){swiper.setGrabCursor(!1)} 153data.isMoved=!1;data.startMoving=!1;return} 154if(params.grabCursor&&data.isMoved&&data.isTouched&&(swiper.allowSlideNext===!0||swiper.allowSlidePrev===!0)){swiper.setGrabCursor(!1)} 155const touchEndTime=now();const timeDiff=touchEndTime-data.touchStartTime;if(swiper.allowClick){const pathTree=e.path??(e.composedPath&&e.composedPath());swiper.updateClickedSlide((pathTree&&pathTree[0]),pathTree);swiper.emit('tap click',e);if(timeDiff<300&&touchEndTime-data.lastClickTime<300){swiper.emit('doubleTap doubleClick',e)}} 156data.lastClickTime=now();nextTick(()=>
156{if(!swiper.destroyed) 157swiper.allowClick=!0});if(!data.isTouched||!data.isMoved||!swiper.swipeDirection||(touches.diff===0&&!data.loopSwapReset)||(data.currentTranslate===data.startTranslate&&!data.loopSwapReset)){data.isTouched=!1;data.isMoved=!1;data.startMoving=!1;return} 158data.isTouched=!1;data.isMoved=!1;data.startMoving=!1;let currentPos;if(params.followFinger){currentPos=rtl?swiper.translate:-swiper.translate}else{currentPos=-(data.currentTranslate??0)} 159if(params.cssMode){return} 160if(params.freeMode&¶ms.freeMode.enabled){swiper.freeMode.onTouchEnd({currentPos});return} 161const swipeToLast=currentPos>=-swiper.maxTranslate()&&!swiper.params.loop;let stopIndex=0;let groupSize=swiper.slidesSizesGrid[0];for(let i=0;i<slidesGrid.length;i+=i<params.slidesPerGroupSkip?1:params.slidesPerGroup){const increment=i<params.slidesPerGroupSkip-1?1:params.slidesPerGroup;if(typeof slidesGrid[i+increment]!=='undefined'){if(swipeToLast||(currentPos>=slidesGrid[i]&¤tPos<slidesGrid[i+increment])){stopIndex=i;groupSize=slidesGrid[i+increment]-slidesGrid[i]}}else if(swipeToLast||currentPos>=slidesGrid[i]){stopIndex=i;groupSize=slidesGrid[slidesGrid.length-1]-slidesGrid[slidesGrid.length-2]}} 162let rewindFirstIndex=null;let rewindLastIndex=null;if(params.rewind){if(swiper.isBeginning){rewindLastIndex=params.virtual?.enabled&&swiper.virtual?swiper.virtual.slides.length-1:swiper.slides.length-1}else if(swiper.isEnd){rewindFirstIndex=0}} 163const ratio=(currentPos-slidesGrid[stopIndex])/groupSize;const increment=stopIndex<params.slidesPerGroupSkip-1?1:params.slidesPerGroup;if(timeDiff>params.longSwipesMs){if(!params.longSwipes){swiper.slideTo(swiper.activeIndex);return} 164if(swiper.swipeDirection==='next'){if(ratio>=params.longSwipesRatio) 165swiper.slideTo(params.rewind&&swiper.isEnd?rewindFirstIndex:stopIndex+increment);else swiper.slideTo(stopIndex)} 166if(swiper.swipeDirection==='prev'){if(ratio>1-params.longSwipesRatio){swiper.slideTo(stopIndex+increment)}else if(rewindLastIndex!==null&&ratio<0&&Math.abs(ratio)>params.longSwipesRatio){swiper.slideTo(rewindLastIndex)}else{swiper.slideTo(stopIndex)}}}else{if(!params.shortSwipes){swiper.slideTo(swiper.activeIndex);return} 167const isNavButtonTarget=swiper.navigation&&(e.target===swiper.navigation.nextEl||e.target===swiper.navigation.prevEl);if(!isNavButtonTarget){if(swiper.swipeDirection==='next'){swiper.slideTo(rewindFirstIndex!==null?rewindFirstIndex:stopIndex+increment)} 168if(swiper.swipeDirection==='prev'){swiper.slideTo(rewindLastIndex!==null?rewindLastIndex:stopIndex)}}else if(e.target===swiper.navigation.nextEl){swiper.slideTo(stopIndex+increment)}else{swiper.slideTo(stopIndex)}}} 169function onTouchMove(event){const swiper=this;if(swiper.destroyed) 170return;const data=swiper.touchEventsData;const{params,touches,rtlTranslate:rtl,enabled}=swiper;if(!enabled) 171return;if(!params.simulateTouch&&event.pointerType==='mouse') 172return;const wrapped=event;const e=wrapped.originalEvent??wrapped;if(e.type==='pointermove'){if(data.touchId!==null) 173return;const pe=e;if(pe.pointerId!==data.pointerId) 174return} 175let targetTouch;if(e.type==='touchmove'){const te=e;const found=[...te.changedTouches].find((t)=>t.identifier===data.touchId);if(!found||found.identifier!==data.touchId) 176return;targetTouch=found}else{targetTouch=e} 177if(!data.isTouched){if(data.startMoving&&data.isScrolling){swiper.emit('touchMoveOpposite',e)} 178return} 179if(data.lastMoveEvent===e) 180return;data.lastMoveEvent=e;for(const node of data.startEventPath??[]){if(node===swiper.el) 181break;const child=node.swiper;if(child&&child!==swiper&&!child.destroyed&&child.params.nested&&child.touchEventsData.isTouched){child.onTouchMove(event)}} 182const pageX=targetTouch.pageX;const pageY=targetTouch.pageY;if(e.preventedByNestedSwiper){touches.startX=pageX;touches.startY=pageY;return} 183if(!swiper.allowTouchMove){if(!e.target.matches(data.focusableElements)){swiper.allowClick=!1} 184if(data.isTouched){Object.assign(touches,{startX:pageX,startY:pageY,currentX:pageX,currentY:pageY,});data.touchStartTime=now()} 185return} 186if(params.touchReleaseOnEdges&&!params.loop){if(swiper.isVertical()){if((pageY<touches.startY&&swiper.translate<=swiper.maxTranslate())||(pageY>touches.startY&&swiper.translate>=swiper.minTranslate())){data.isTouched=!1;data.isMoved=!1;return}}else if(rtl&&((pageX>touches.startX&&-swiper.translate<=swiper.maxTranslate())||(pageX<touches.startX&&-swiper.translate>=swiper.minTranslate()))){return}else if(!rtl&&((pageX<touches.startX&&swiper.translate<=swiper.maxTranslate())||(pageX>touches.startX&&swiper.translate>=swiper.minTranslate()))){return}} 187if(document.activeElement&&document.activeElement.matches(data.focusableElements)&&document.activeElement!==e.target&&e.pointerType!=='mouse'){document.activeElement.blur()} 188if(document.activeElement){if(e.target===document.activeElement&&e.target.matches(data.focusableElements)){data.isMoved=!0;swiper.allowClick=!1;return}} 189if(data.allowTouchCallbacks){swiper.emit('touchMove',e)} 190touches.previousX=touches.currentX;touches.previousY=touches.currentY;touches.currentX=pageX;touches.currentY=pageY;const diffX=touches.currentX-touches.startX;const diffY=touches.currentY-touches.startY;if(swiper.params.threshold&&Math.sqrt(diffX**2+diffY**2)<swiper.params.threshold) 191return;if(typeof data.isScrolling==='undefined'){let touchAngle;if((swiper.isHorizontal()&&touches.currentY===touches.startY)||(swi
191per.isVertical()&&touches.currentX===touches.startX)){data.isScrolling=!1}else{if(diffX*diffX+diffY*diffY>=25){touchAngle=(Math.atan2(Math.abs(diffY),Math.abs(diffX))*180)/Math.PI;data.isScrolling=swiper.isHorizontal()?touchAngle>params.touchAngle:90-touchAngle>params.touchAngle}}} 192if(data.isScrolling){swiper.emit('touchMoveOpposite',e)} 193if(typeof data.startMoving==='undefined'){if(touches.currentX!==touches.startX||touches.currentY!==touches.startY){data.startMoving=!0}} 194if(data.isScrolling||(e.type==='touchmove'&&data.preventTouchMoveFromPointerMove)){data.isTouched=!1;return} 195if(!data.startMoving){return} 196swiper.allowClick=!1;if(!params.cssMode&&e.cancelable){e.preventDefault()} 197if(params.touchMoveStopPropagation&&!params.nested){e.stopPropagation()} 198let diff=swiper.isHorizontal()?diffX:diffY;let touchesDiff=swiper.isHorizontal()?touches.currentX-touches.previousX:touches.currentY-touches.previousY;if(params.oneWayMovement){diff=Math.abs(diff)*(rtl?1:-1);touchesDiff=Math.abs(touchesDiff)*(rtl?1:-1)} 199touches.diff=diff;diff*=params.touchRatio;if(rtl){diff=-diff;touchesDiff=-touchesDiff} 200const prevTouchesDirection=swiper.touchesDirection;swiper.swipeDirection=diff>0?'prev':'next';swiper.touchesDirection=touchesDiff>0?'prev':'next';const isLoop=swiper.params.loop&&!params.cssMode;const allowLoopFix=(swiper.touchesDirection==='next'&&swiper.allowSlideNext)||(swiper.touchesDirection==='prev'&&swiper.allowSlidePrev);if(!data.isMoved){if(isLoop&&allowLoopFix){swiper.loopFix({direction:swiper.swipeDirection})} 201data.startTranslate=swiper.getTranslate();swiper.setTransition(0);if(swiper.animating){const evt=new window.CustomEvent('transitionend',{bubbles:!0,cancelable:!0,detail:{bySwiperTouchMove:!0,},});swiper.wrapperEl.dispatchEvent(evt)} 202data.allowMomentumBounce=!1;if(params.grabCursor&&(swiper.allowSlideNext===!0||swiper.allowSlidePrev===!0)){swiper.setGrabCursor(!0)} 203swiper.emit('sliderFirstMove',e)} 204new Date().getTime();if(params._loopSwapReset!==!1&&data.isMoved&&data.allowThresholdMove&&prevTouchesDirection!==swiper.touchesDirection&&isLoop&&allowLoopFix&&Math.abs(diff)>=1){Object.assign(touches,{startX:pageX,startY:pageY,currentX:pageX,currentY:pageY,startTranslate:data.currentTranslate,});data.loopSwapReset=!0;data.startTranslate=data.currentTranslate;return} 205swiper.emit('sliderMove',e);data.isMoved=!0;const startTranslate=data.startTranslate??0;data.currentTranslate=diff+startTranslate;let disableParentSwiper=!0;let resistanceRatio=params.resistanceRatio;if(params.touchReleaseOnEdges){resistanceRatio=0} 206if(diff>0){if(isLoop&&allowLoopFix&&!0&&data.allowThresholdMove&&data.currentTranslate>(params.centeredSlides?swiper.minTranslate()-swiper.slidesSizesGrid[swiper.activeIndex+1]-(params.slidesPerView!=='auto'&&swiper.slides.length-params.slidesPerView>=2?swiper.slidesSizesGrid[swiper.activeIndex+1]+swiper.params.spaceBetween:0)-swiper.params.spaceBetween:swiper.minTranslate())){swiper.loopFix({direction:'prev',setTranslate:!0,activeSlideIndex:0})} 207if(data.currentTranslate>swiper.minTranslate()){disableParentSwiper=!1;if(params.resistance){data.currentTranslate=swiper.minTranslate()-1+(-swiper.minTranslate()+startTranslate+diff)**resistanceRatio}}}else if(diff<0){if(isLoop&&allowLoopFix&&!0&&data.allowThresholdMove&&data.currentTranslate<(params.centeredSlides?swiper.maxTranslate()+swiper.slidesSizesGrid[swiper.slidesSizesGrid.length-1]+swiper.params.spaceBetween+(params.slidesPerView!=='auto'&&swiper.slides.length-params.slidesPerView>=2?swiper.slidesSizesGrid[swiper.slidesSizesGrid.length-1]+swiper.params.spaceBetween:0):swiper.maxTranslate())){swiper.loopFix({direction:'next',setTranslate:!0,activeSlideIndex:swiper.slides.length-(params.slidesPerView==='auto'?swiper.slidesPerViewDynamic():Math.ceil(parseFloat(String(params.slidesPerView)))),})} 208if(data.currentTranslate<swiper.maxTranslate()){disableParentSwiper=!1;if(params.resistance){data.currentTranslate=swiper.maxTranslate()+1-(swiper.maxTranslate()-startTranslate-diff)**resistanceRatio}}} 209if(disableParentSwiper){e.preventedByNestedSwiper=!0} 210if(!swiper.allowSlideNext&&swiper.swipeDirection==='next'&&(data.currentTranslate??0)<startTranslate){data.currentTranslate=startTranslate} 211if(!swiper.allowSlidePrev&&swiper.swipeDirection==='prev'&&(data.currentTranslate??0)>startTranslate){data.currentTranslate=startTranslate} 212if(!swiper.allowSlidePrev&&!swiper.allowSlideNext){data.currentTranslate=startTranslate} 213if(params.threshold>0){if(Math.abs(diff)>params.threshold||data.allowThresholdMove){if(!data.allowThresholdMove){data.allowThresholdMove=!0;touches.startX=touches.currentX;touches.startY=touches.currentY;data.currentTranslate=data.startTranslate;touches.diff=swiper.isHorizontal()?touches.currentX-touches.startX:touches.currentY-touches.startY;return}}else{data.currentTranslate=data.startTranslate;return}} 214if(!params.followFinger||params.cssMode) 215return;
215if((params.freeMode&¶ms.freeMode.enabled&&swiper.freeMode)||params.watchSlidesProgress){swiper.updateActiveIndex();swiper.updateSlidesClasses()} 216if(params.freeMode&¶ms.freeMode.enabled&&swiper.freeMode){swiper.freeMode.onTouchMove()} 217swiper.updateProgress(data.currentTranslate);swiper.setTranslate(data.currentTranslate??0)} 218function closestElement(selector,base){function __closestFrom(el){if(!el||el===document||el===window) 219return null;let cur=el;if(cur.assignedSlot) 220cur=cur.assignedSlot;const found=cur.closest(selector);if(!found&&!cur.getRootNode){return null} 221const root=cur.getRootNode();return found||__closestFrom(root.host)} 222return __closestFrom(base)} 223function preventEdgeSwipe(swiper,event,startX){const{params}=swiper;const edgeSwipeDetection=params.edgeSwipeDetection;const edgeSwipeThreshold=params.edgeSwipeThreshold;if(edgeSwipeDetection&&(startX<=edgeSwipeThreshold||startX>=window.innerWidth-edgeSwipeThreshold)){if(edgeSwipeDetection==='prevent'){event.preventDefault();return!0} 224return!1} 225return!0} 226function onTouchStart(event){const swiper=this;if(swiper.destroyed) 227return;const e=event.originalEvent??event;const data=swiper.touchEventsData;if(e.type==='pointerdown'){const pe=e;if(data.pointerId!==null&&data.pointerId!==pe.pointerId){return} 228data.pointerId=pe.pointerId}else if(e.type==='touchstart'&&e.targetTouches.length===1){data.touchId=e.targetTouches[0].identifier} 229if(e.type==='touchstart'){preventEdgeSwipe(swiper,e,e.targetTouches[0].pageX);return} 230const{params,touches,enabled}=swiper;if(!enabled) 231return;if(!params.simulateTouch&&e.pointerType==='mouse') 232return;if(swiper.animating&¶ms.preventInteractionOnTransition){return} 233if(!swiper.animating&¶ms.cssMode&¶ms.loop){swiper.loopFix()} 234let targetEl=e.target;if(params.touchEventsTarget==='wrapper'){if(!elementIsChildOf(targetEl,swiper.wrapperEl)) 235return} 236const mouseLike=e;if(typeof mouseLike.which==='number'&&mouseLike.which===3) 237return;if(typeof mouseLike.button==='number'&&mouseLike.button>0) 238return;if(data.isTouched&&data.isMoved) 239return;const swipingClassHasValue=!!params.noSwipingClass&¶ms.noSwipingClass!=='';const eventPath=e.composedPath?e.composedPath():e.path;if(swipingClassHasValue&&e.target&&e.target.shadowRoot&&eventPath){targetEl=eventPath[0]} 240const noSwipingSelector=params.noSwipingSelector?params.noSwipingSelector:`.${params.noSwipingClass}`;const isTargetShadow=!!(e.target&&e.target.shadowRoot);if(params.noSwiping&&(isTargetShadow?closestElement(noSwipingSelector,targetEl):targetEl.closest(noSwipingSelector))){swiper.allowClick=!0;return} 241if(params.swipeHandler){if(typeof params.swipeHandler==='string'&&!targetEl.closest(params.swipeHandler)) 242return} 243const pe=e;touches.currentX=pe.pageX;touches.currentY=pe.pageY;const startX=touches.currentX;const startY=touches.currentY;if(!preventEdgeSwipe(swiper,e,startX)){return} 244Object.assign(data,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:undefined,startMoving:undefined,});touches.startX=startX;touches.startY=startY;data.touchStartTime=now();data.startEventPath=eventPath;swiper.allowClick=!0;swiper.updateSize();swiper.swipeDirection=undefined;if(params.threshold>0) 245data.allowThresholdMove=!1;let preventDefault=!0;if(targetEl.matches(data.focusableElements)){preventDefault=!1;if(targetEl.nodeName==='SELECT'){data.isTouched=!1}} 246if(document.activeElement&&document.activeElement.matches(data.focusableElements)&&document.activeElement!==targetEl&&(pe.pointerType==='mouse'||(pe.pointerType!=='mouse'&&!targetEl.matches(data.focusableElements)))){document.activeElement.blur()} 247const shouldPreventDefault=preventDefault&&swiper.allowTouchMove&¶ms.touchStartPreventDefault;if((params.touchStartForcePreventDefault||shouldPreventDefault)&&!targetEl.isContentEditable){e.preventDefault()} 248if(params.freeMode&¶ms.freeMode.enabled&&swiper.freeMode&&swiper.animating&&!params.cssMode){swiper.freeMode.onTouchStart()} 249swiper.emit('touchStart',e)} 250const events=(swiper,method)=>{const{params,el,wrapperEl,device}=swiper;const capture=!!params.nested;const domMethod=method==='on'?'addEventListener':'removeEventListener';const swiperMethod=method;if(!el||typeof el==='string') 251return;document[domMethod]('touchstart',swiper.onDocumentTouchStart,{passive:!1,capture,});el[domMethod]('touchstart',swiper.onTouchStart,{passive:!1});el[domMethod]('pointerdown',swiper.onTouchStart,{passive:!1});document[domMethod]('touchmove',swiper.onTouchMove,{passive:!1,capture,});document[domMethod]('pointermove',swiper.onTouchMove,{passive:!1,capture,});document[domMethod]('touchend',swiper.onTouchEnd,{passive:!0});document[domMethod]('pointerup',swiper.onTouchEnd,{passive:!0});document[domMethod]('pointercancel',swiper.onTouchEnd,{passive:!0});document[domMethod]('touchcancel',swiper.onTouchEnd,{passive:!0});document[domMethod]('pointerout',swiper.onTouchEnd,{passive:!0});document[domMethod]('pointerleave',swiper.onTouchEnd,{passive:!0});document[domMethod]('contextmenu',swiper.onTouchEnd,{passive:!0});if(params.preventClicks||params.preventClicksPropagation){el[domMethod]('click',swiper.onClick,!0)} 252if(params.cssMode){wrapperEl[domMethod]('scroll',swiper.onScroll)} 253const subscribe=(events)=>{swiper[swiperMethod](events,onResize,!0)};if(params.updateOnWindowResize){subscribe(device.ios||device.android?'resize orientationchange observerUpdate':'resize observerUpdate')}else{subscribe('observerUpdate')} 254if(params.lazyPreload){el[domMethod]('load',swiper.onLoad,{capture:!0});el[domMethod]('error',swiper.onLoad,{capture:!0})}};function attachEvents(){const swiper=this;const{params}=swiper;
254swiper.onTouchStart=onTouchStart.bind(swiper);swiper.onTouchMove=onTouchMove.bind(swiper);swiper.onTouchEnd=onTouchEnd.bind(swiper);swiper.onDocumentTouchStart=onDocumentTouchStart.bind(swiper);if(params.cssMode){swiper.onScroll=onScroll.bind(swiper)} 255swiper.onClick=onClick.bind(swiper);swiper.onLoad=onLoad.bind(swiper);events(swiper,'on')} 256function detachEvents(){const swiper=this;events(swiper,'off')} 257var events$1={attachEvents,detachEvents,};function setGrabCursor(moving){const swiper=this;if(!swiper.params.simulateTouch||(swiper.params.watchOverflow&&swiper.isLocked)||swiper.params.cssMode) 258return;const el=swiper.params.touchEventsTarget==='container'?swiper.el:swiper.wrapperEl;if(swiper.isElement){swiper.__preventObserver__=!0} 259el.style.cursor='move';el.style.cursor=moving?'grabbing':'grab';if(swiper.isElement){requestAnimationFrame(()=>{swiper.__preventObserver__=!1})}} 260function unsetGrabCursor(){const swiper=this;if((swiper.params.watchOverflow&&swiper.isLocked)||swiper.params.cssMode){return} 261if(swiper.isElement){swiper.__preventObserver__=!0} 262swiper[swiper.params.touchEventsTarget==='container'?'el':'wrapperEl'].style.cursor='';if(swiper.isElement){requestAnimationFrame(()=>{swiper.__preventObserver__=!1})}} 263var grabCursor={setGrabCursor,unsetGrabCursor,};function loopCreate(slideRealIndex,initial){const swiper=this;const{params,slidesEl}=swiper;if(!params.loop||(swiper.virtual&&swiper.params.virtual?.enabled)) 264return;const initSlides=()=>{const slides=elementChildren(slidesEl,`.${params.slideClass}, swiper-slide`);slides.forEach((el,index)=>{el.setAttribute('data-swiper-slide-index',String(index))})};const clearBlankSlides=()=>{const slides=elementChildren(slidesEl,`.${params.slideBlankClass}`);slides.forEach((el)=>{el.remove()});if(slides.length>0){swiper.recalcSlides();swiper.updateSlides()}};const gridEnabled=swiper.grid&¶ms.grid&¶ms.grid.rows>1;if(params.loopAddBlankSlides&&(params.slidesPerGroup>1||gridEnabled)){clearBlankSlides()} 265const slidesPerGroup=params.slidesPerGroup*(gridEnabled?params.grid.rows:1);const shouldFillGroup=swiper.slides.length%slidesPerGroup!==0;const shouldFillGrid=gridEnabled&&swiper.slides.length%params.grid.rows!==0;const addBlankSlides=(amountOfSlides)=>{for(let i=0;i<amountOfSlides;i+=1){const slideEl=swiper.isElement?createElement('swiper-slide',[params.slideBlankClass]):createElement('div',[params.slideClass,params.slideBlankClass]);swiper.slidesEl.append(slideEl)}};if(shouldFillGroup){if(params.loopAddBlankSlides){const slidesToAdd=slidesPerGroup-(swiper.slides.length%slidesPerGroup);addBlankSlides(slidesToAdd);swiper.recalcSlides();swiper.updateSlides()}else{showWarning('Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)')} 266initSlides()}else if(shouldFillGrid){if(params.loopAddBlankSlides){const slidesToAdd=params.grid.rows-(swiper.slides.length%params.grid.rows);addBlankSlides(slidesToAdd);swiper.recalcSlides();swiper.updateSlides()}else{showWarning('Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)')} 267initSlides()}else{initSlides()} 268const bothDirections=params.centeredSlides||!!params.slidesOffsetBefore||!!params.slidesOffsetAfter;swiper.loopFix({slideRealIndex,direction:bothDirections?undefined:'next',initial,})} 269function loopDestroy(){const swiper=this;const{params,slidesEl}=swiper;if(!params.loop||!slidesEl||(swiper.virtual&&swiper.params.virtual?.enabled)) 270return;swiper.recalcSlides();const newSlidesOrder=[];swiper.slides.forEach((slideEl)=>{const loopSlideEl=slideEl;const index=typeof loopSlideEl.swiperSlideIndex==='undefined'?Number(slideEl.getAttribute('data-swiper-slide-index')):loopSlideEl.swiperSlideIndex;newSlidesOrder[index]=slideEl});swiper.slides.forEach((slideEl)=>{slideEl.removeAttribute('data-swiper-slide-index')});newSlidesOrder.forEach((slideEl)=>{slidesEl.append(slideEl)});swiper.recalcSlides();swiper.slideTo(swiper.realIndex,0)} 271function loopFix(options={}){const{slideRealIndex,slideTo=!0,direction,setTranslate,activeSlideIndex:activeSlideIndexParam,initial,byController,byMousewheel,}=options;let activeSlideIndex=activeSlideIndexParam;const swiper=this;if(!swiper.params.loop) 272return;if(swiper.params.watchOverflow&&swiper.isLocked) 273return;swiper.emit('beforeLoopFix');swiper.__loopFixInProgress__=!0;const{slides,allowSlidePrev,allowSlideNext,slidesEl,params}=swiper;const{centeredSlides,slidesOffsetBefore,slidesOffsetAfter,initialSlide}=params;const bothDirections=centeredSlides||!!slidesOffsetBefore||!!slidesOffsetAfter;swiper.allowSlidePrev=!0;swiper.allowSlideNext=!0;if(swiper.virtual&¶ms.virtual?.enabled){if(slideTo){const virtualSlidesLength=swiper.virtual.slides.length;const virtualSlidesBefore=swiper.virtual.slidesBefore??0;if(!bothDirections&&swiper.snapIndex===0){swiper.slideTo(virtualSlidesLength,0,!1,!0)}else if(bothDirections&&swiper.snapIndex<params.slidesPerView){swiper.slideTo(virtualSlidesLength+swiper.snapIndex,0,!1,!0)}
273else if(swiper.snapIndex===swiper.snapGrid.length-1){swiper.slideTo(virtualSlidesBefore,0,!1,!0)}} 274swiper.allowSlidePrev=allowSlidePrev;swiper.allowSlideNext=allowSlideNext;swiper.__loopFixInProgress__=!1;swiper.emit('loopFix');return} 275let slidesPerView=params.slidesPerView;if(slidesPerView==='auto'){slidesPerView=swiper.slidesPerViewDynamic()}else{slidesPerView=Math.ceil(parseFloat(String(params.slidesPerView)));if(bothDirections&&slidesPerView%2===0){slidesPerView=slidesPerView+1}} 276const slidesPerGroup=params.slidesPerGroupAuto?slidesPerView:params.slidesPerGroup;const resolveOffset=(value)=>(typeof value==='function'?value.call(swiper):value)||0;const slidesGridStep=swiper.slidesGrid.length>1?(swiper.slidesGrid[swiper.slidesGrid.length-1]-swiper.slidesGrid[0])/(swiper.slidesGrid.length-1):swiper.size;const offsetSlidesBefore=slidesGridStep>0?resolveOffset(slidesOffsetBefore)/slidesGridStep:0;const offsetSlidesAfter=slidesGridStep>0?resolveOffset(slidesOffsetAfter)/slidesGridStep:0;let loopedSlides=bothDirections?Math.max(slidesPerGroup,(centeredSlides?Math.ceil(slidesPerView/2):0)+Math.ceil(Math.max(offsetSlidesBefore,offsetSlidesAfter))):slidesPerGroup;if(loopedSlides%slidesPerGroup!==0){loopedSlides+=slidesPerGroup-(loopedSlides%slidesPerGroup)} 277loopedSlides+=params.loopAdditionalSlides;swiper.loopedSlides=loopedSlides;const gridEnabled=swiper.grid&¶ms.grid&¶ms.grid.rows>1;if(slides.length<slidesPerView+loopedSlides||(swiper.params.effect==='cards'&&slides.length<slidesPerView+loopedSlides*2)){showWarning('Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled or not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters')}else if(gridEnabled&¶ms.grid.fill==='row'){showWarning('Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`')} 278const prependSlidesIndexes=[];const appendSlidesIndexes=[];const cols=gridEnabled?Math.ceil(slides.length/params.grid.rows):slides.length;const isInitialOverflow=initial&&cols-initialSlide<slidesPerView&&!bothDirections;let activeIndex=isInitialOverflow?initialSlide:swiper.activeIndex;if(typeof activeSlideIndex==='undefined'){activeSlideIndex=swiper.getSlideIndex(slides.find((el)=>el.classList.contains(params.slideActiveClass)))}else{activeIndex=activeSlideIndex} 279const isNext=direction==='next'||!direction;const isPrev=direction==='prev'||!direction;let slidesPrepended=0;let slidesAppended=0;const activeColIndex=gridEnabled?(slides[activeSlideIndex].column??0):activeSlideIndex;const activeColIndexWithShift=activeColIndex+(bothDirections&&typeof setTranslate==='undefined'?(centeredSlides?-slidesPerView/2+0.5:0)-offsetSlidesBefore:0);if(activeColIndexWithShift<loopedSlides){slidesPrepended=Math.max(loopedSlides-activeColIndexWithShift,slidesPerGroup);for(let i=0;i<loopedSlides-activeColIndexWithShift;i+=1){const index=i-Math.floor(i/cols)*cols;if(gridEnabled){const colIndexToPrepend=cols-index-1;for(let j=slides.length-1;j>=0;j-=1){if(slides[j].column===colIndexToPrepend) 280prependSlidesIndexes.push(j)}}else{prependSlidesIndexes.push(cols-index-1)}}}else if(activeColIndexWithShift+slidesPerView>cols-loopedSlides){slidesAppended=Math.max(activeColIndexWithShift-(cols-loopedSlides*2),slidesPerGroup);if(isInitialOverflow){slidesAppended=Math.max(slidesAppended,slidesPerView-cols+initialSlide+1)} 281for(let i=0;i<slidesAppended;i+=1){const index=i-Math.floor(i/cols)*cols;if(gridEnabled){slides.forEach((slide,slideIndex)=>{if(slide.column===index) 282appendSlidesIndexes.push(slideIndex)})}else{appendSlidesIndexes.push(index)}}} 283swiper.__preventObserver__=!0;requestAnimationFrame(()=>{swiper.__preventObserver__=!1});if(swiper.params.effect==='cards'&&slides.length<slidesPerView+loopedSlides*2){if(appendSlidesIndexes.includes(activeSlideIndex)){appendSlidesIndexes.splice(appendSlidesIndexes.indexOf(activeSlideIndex),1)} 284if(prependSlidesIndexes.includes(activeSlideIndex)){prependSlidesIndexes.splice(prependSlidesIndexes.indexOf(activeSlideIndex),1)}}
285if(isPrev){prependSlidesIndexes.forEach((index)=>{const slideEl=slides[index];slideEl.swiperLoopMoveDOM=!0;slidesEl.prepend(slideEl);slideEl.swiperLoopMoveDOM=!1})} 286if(isNext){appendSlidesIndexes.forEach((index)=>{const slideEl=slides[index];slideEl.swiperLoopMoveDOM=!0;slidesEl.append(slideEl);slideEl.swiperLoopMoveDOM=!1})} 287swiper.recalcSlides();if(params.slidesPerView==='auto'){swiper.updateSlides()}else if(gridEnabled&&((prependSlidesIndexes.length>0&&isPrev)||(appendSlidesIndexes.length>0&&isNext))){swiper.slides.forEach((slide,slideIndex)=>{swiper.grid.updateSlide(slideIndex,slide,swiper.slides)})} 288if(params.watchSlidesProgress){swiper.updateSlidesOffset()} 289if(slideTo){if(prependSlidesIndexes.length>0&&isPrev){if(typeof slideRealIndex==='undefined'){const currentSlideTranslate=swiper.slidesGrid[activeIndex];const newSlideTranslate=swiper.slidesGrid[activeIndex+slidesPrepended];const diff=newSlideTranslate-currentSlideTranslate;if(byMousewheel){swiper.setTranslate(swiper.translate-diff)}else{swiper.slideTo(activeIndex+Math.ceil(slidesPrepended),0,!1,!0);if(setTranslate){swiper.touchEventsData.startTranslate=swiper.touchEventsData.startTranslate-diff;swiper.touchEventsData.currentTranslate=swiper.touchEventsData.currentTranslate-diff}}}else{if(setTranslate){const shift=gridEnabled?prependSlidesIndexes.length/params.grid.rows:prependSlidesIndexes.length;swiper.slideTo(swiper.activeIndex+shift,0,!1,!0);swiper.touchEventsData.currentTranslate=swiper.translate}}}else if(appendSlidesIndexes.length>0&&isNext){if(typeof slideRealIndex==='undefined'){const currentSlideTranslate=swiper.slidesGrid[activeIndex];const newSlideTranslate=swiper.slidesGrid[activeIndex-slidesAppended];const diff=newSlideTranslate-currentSlideTranslate;if(byMousewheel){swiper.setTranslate(swiper.translate-diff)}else{swiper.slideTo(activeIndex-slidesAppended,0,!1,!0);if(setTranslate){swiper.touchEventsData.startTranslate=swiper.touchEventsData.startTranslate-diff;swiper.touchEventsData.currentTranslate=swiper.touchEventsData.currentTranslate-diff}}}else{const shift=gridEnabled?appendSlidesIndexes.length/params.grid.rows:appendSlidesIndexes.length;swiper.slideTo(swiper.activeIndex-shift,0,!1,!0)}}} 290swiper.allowSlidePrev=allowSlidePrev;swiper.allowSlideNext=allowSlideNext;const controlled=swiper.controller?.control;if(controlled&&!byController){const loopParams={slideRealIndex,direction,setTranslate,activeSlideIndex,byController:!0,};if(Array.isArray(controlled)){controlled.forEach((c)=>{if(!c.destroyed&&c.params.loop) 291c.loopFix({...loopParams,slideTo:c.params.slidesPerView===params.slidesPerView?slideTo:!1,})})}else if(controlled instanceof swiper.constructor&&controlled.params.loop){controlled.loopFix({...loopParams,slideTo:controlled.params.slidesPerView===params.slidesPerView?slideTo:!1,})}} 292swiper.__loopFixInProgress__=!1;swiper.emit('loopFix')} 293var loop={loopCreate,loopFix,loopDestroy,};function moduleExtendParams(params,allModulesParams){return function extendParams(obj={}){const moduleParamName=Object.keys(obj)[0];const moduleParams=obj[moduleParamName];if(typeof moduleParams!=='object'||moduleParams===null){extend(allModulesParams,obj);return} 294if(params[moduleParamName]===!0){params[moduleParamName]={enabled:!0}} 295if(moduleParamName==='navigation'&¶ms[moduleParamName]&¶ms[moduleParamName].enabled&&!params[moduleParamName].prevEl&&!params[moduleParamName].nextEl){params[moduleParamName].auto=!0} 296if(['pagination','scrollbar'].indexOf(moduleParamName)>=0&¶ms[moduleParamName]&¶ms[moduleParamName].enabled&&!params[moduleParamName].el){params[moduleParamName].auto=!0} 297if(!(moduleParamName in params&&'enabled' in moduleParams)){extend(allModulesParams,obj);return} 298if(typeof params[moduleParamName]==='object'&&!('enabled' in params[moduleParamName])){params[moduleParamName].enabled=!0} 299if(!params[moduleParamName]) 300params[moduleParamName]={enabled:!1};extend(allModulesParams,obj)}} 301const Observer=({swiper,extendParams,on})=>{const observers=[];const attach=(target,options={})=>{const ObserverFunc=window.MutationObserver||window.WebkitMutationObserver;if(!ObserverFunc) 302return;const observer=new ObserverFunc((mutations)=>{if(swiper.__preventObserver__) 303return;if(mutations.length===1){swiper.emit('observerUpdate',mutations[0]);return} 304const observerUpdate=function observerUpdate(){swiper.emit('observerUpdate',mutations[0])};if(window.requestAnimationFrame){window.requestAnimationFrame(observerUpdate)}else{window.setTimeout(observerUpdate,0)}});observer.observe(target,{attributes:typeof options.attributes==='undefined'?!0:options.attributes,childList:swiper.isElement||(typeof options.childList==='undefined'?!0:options.childList),characterData:typeof options.characterData==='undefined'?!0:options.characterData,});observers.push(observer)};const init=()=>{if(!swiper.params.observer) 305return;if(swiper.params.observeParents){const containerParents=elementParents(swiper.hostEl);for(let i=0;i<containerParents.length;i+=1){attach(containerParents[i])}} 306attach(swiper.hostEl,{childList:swiper.params.observeSlideChildren,});attach(swiper.wrapperEl,{attributes:!1})};const destroy=()=>
306{observers.forEach((observer)=>{observer.disconnect()});observers.splice(0,observers.length)};extendParams({observer:!1,observeParents:!1,observeSlideChildren:!1,});on('init',init);on('destroy',destroy)};const Resize=({swiper,on,emit})=>{let observer=null;let animationFrame=null;const resizeHandler=()=>{if(!swiper||swiper.destroyed||!swiper.initialized) 307return;emit('beforeResize');emit('resize')};const createObserver=()=>{if(!swiper||swiper.destroyed||!swiper.initialized) 308return;let observedWidth=swiper.width;let observedHeight=swiper.height;observer=new ResizeObserver((entries)=>{animationFrame=window.requestAnimationFrame(()=>{let newWidth=observedWidth;let newHeight=observedHeight;entries.forEach(({contentBoxSize,contentRect,target})=>{if(target&&target!==swiper.el) 309return;const box=Array.isArray(contentBoxSize)?contentBoxSize[0]:contentBoxSize;newWidth=contentRect?contentRect.width:box.inlineSize;newHeight=contentRect?contentRect.height:box.blockSize});if(newWidth!==observedWidth||newHeight!==observedHeight){observedWidth=newWidth;observedHeight=newHeight;resizeHandler()}})});observer.observe(swiper.el)};const removeObserver=()=>{if(animationFrame){window.cancelAnimationFrame(animationFrame)} 310if(observer&&observer.unobserve&&swiper.el){observer.unobserve(swiper.el);observer=null}};const orientationChangeHandler=()=>{if(!swiper||swiper.destroyed||!swiper.initialized) 311return;emit('orientationchange')};on('init',()=>{if(swiper.params.resizeObserver&&typeof window.ResizeObserver!=='undefined'){createObserver();return} 312window.addEventListener('resize',resizeHandler);window.addEventListener('orientationchange',orientationChangeHandler)});on('destroy',()=>{removeObserver();window.removeEventListener('resize',resizeHandler);window.removeEventListener('orientationchange',orientationChangeHandler)})};function slideNext(speed,runCallbacks=!0,internal){const swiper=this;const{enabled,params,animating}=swiper;if(!enabled||swiper.destroyed) 313return swiper;if(typeof speed==='undefined'){speed=swiper.params.speed} 314let perGroup=params.slidesPerGroup;if(params.slidesPerView==='auto'&¶ms.slidesPerGroup===1&¶ms.slidesPerGroupAuto){perGroup=Math.max(swiper.slidesPerViewDynamic('current',!0),1)} 315const increment=swiper.activeIndex<params.slidesPerGroupSkip?1:perGroup;const isVirtual=swiper.virtual&¶ms.virtual?.enabled;if(params.loop){if(animating&&!isVirtual&¶ms.loopPreventsSliding) 316return!1;swiper.loopFix({direction:'next'});swiper._clientLeft=swiper.wrapperEl.clientLeft;if(swiper.activeIndex===swiper.slides.length-1&¶ms.cssMode){requestAnimationFrame(()=>{swiper.slideTo(swiper.activeIndex+increment,speed,runCallbacks,internal)});return!0}} 317if(params.rewind&&swiper.isEnd){return swiper.slideTo(0,speed,runCallbacks,internal)} 318return swiper.slideTo(swiper.activeIndex+increment,speed,runCallbacks,internal)} 319function slidePrev(speed,runCallbacks=!0,internal){const swiper=this;const{params,snapGrid,slidesGrid,rtlTranslate,enabled,animating}=swiper;if(!enabled||swiper.destroyed) 320return swiper;if(typeof speed==='undefined'){speed=swiper.params.speed} 321const isVirtual=swiper.virtual&¶ms.virtual?.enabled;if(params.loop){if(animating&&!isVirtual&¶ms.loopPreventsSliding) 322return!1;swiper.loopFix({direction:'prev'});swiper._clientLeft=swiper.wrapperEl.clientLeft} 323const translate=rtlTranslate?swiper.translate:-swiper.translate;function normalize(val){if(val<0) 324return-Math.floor(Math.abs(val));return Math.floor(val)} 325const normalizedTranslate=normalize(translate);const normalizedSnapGrid=snapGrid.map((val)=>normalize(val));const isFreeMode=params.freeMode&¶ms.freeMode.enabled;let prevSnap=snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate)-1];if(typeof prevSnap==='undefined'&&(params.cssMode||isFreeMode)){let prevSnapIndex;snapGrid.forEach((snap,snapIndex)=>{if(normalizedTranslate>=snap){prevSnapIndex=snapIndex}});if(typeof prevSnapIndex!=='undefined'){prevSnap=isFreeMode?snapGrid[prevSnapIndex]:snapGrid[prevSnapIndex>0?prevSnapIndex-1:prevSnapIndex]}} 326let prevIndex=0;if(typeof prevSnap!=='undefined'){prevIndex=slidesGrid.indexOf(prevSnap);if(prevIndex<0) 327prevIndex=swiper.activeIndex-1;if(params.slidesPerView==='auto'&¶ms.slidesPerGroup===1&¶ms.slidesPerGroupAuto){prevIndex=prevIndex-swiper.slidesPerViewDynamic('previous',!0)+1;prevIndex=Math.max(prevIndex,0)}} 328if(params.rewind&&swiper.isBeginning){const lastIndex=swiper.params.virtual?.enabled&&swiper.virtual?swiper.virtual.slides.length-1:swiper.slides.length-1;return swiper.slideTo(lastIndex,speed,runCallbacks,internal)}else if(params.loop&&swiper.activeIndex===0&¶ms.cssMode){requestAnimationFrame(()=>{swiper.slideTo(prevIndex,speed,runCallbacks,internal)});return!0} 329return swiper.slideTo(prevIndex,speed,runCallbacks,internal)} 330function slideReset(speed,runCallbacks=!0,internal){const swiper=this;if(swiper.destroyed) 331return;if(typeof speed==='undefined'){speed=swiper.params.speed} 332return swiper.slideTo(swiper.activeIndex,speed,runCallbacks,internal)} 333function slideTo(index=0,speed,runCallbacks=!0,internal,initial){if(typeof index==='string'){index=parseInt(index,10)} 334const swiper=this;let slideIndex=index;if(slideIndex<0) 335slideIndex=0;const{params,snapGrid,slidesGrid,previousIndex,activeIndex,rtlTranslate:rtl,wrapperEl,enabled,}=swiper;if((!enabled&&!internal&&!initial)||swiper.destroyed||(swiper.animating&¶ms.preventInteractionOnTransition)){return!1} 336if(typeof speed==='undefined'){speed=swiper.params.speed} 337const skip=Math.min(swiper.params.slidesPerGroupSkip,slideIndex);let snapIndex=skip+Math.floor((slideIndex-skip)/swiper.params.slidesPerGroup);if(snapIndex>=snapGrid.length) 338snapIndex=snapGrid.length-1;const translate=-snapGrid[snapIndex];if(params.normalizeSlideIndex){for(let i=0;i<slidesGrid.length;i+=1){const normalizedTranslate=-Math.floor(translate*100);const normalizedGrid=Math.floor(slidesGrid[i]*100);const normalizedGridNext=Math.floor(slidesGrid[i+1]*100);if(typeof slidesGrid[i+1]!=='undefined'){if(normalizedTranslate>=normalizedGrid&&normalizedTranslate<normalizedGridNext-(normalizedGridNext-normalizedGrid)/2){slideIndex=i}else if(normalizedTranslate>=normalizedGrid&&normalizedTranslate<normalizedGridNext){slideIndex=i+1}}else if(normalizedTranslate>=normalizedGrid){slideIndex=i}}} 339if(swiper.initialized&&slideIndex!==activeIndex){if(!swiper.allowSlideNext&&(rtl?translate>swiper.translate&&translate>swiper.minTranslate():translate<swiper.translate&&translate<swiper.minTranslate())){return!1} 340if(!swiper.allowSlidePrev&&translate>swiper.translate&&translate>
340swiper.maxTranslate()){if((activeIndex||0)!==slideIndex){return!1}}} 341if(slideIndex!==(previousIndex||0)&&runCallbacks){swiper.emit('beforeSlideChangeStart')} 342swiper.updateProgress(translate);let direction;if(slideIndex>activeIndex) 343direction='next';else if(slideIndex<activeIndex) 344direction='prev';else direction='reset';const isVirtual=swiper.virtual&&swiper.params.virtual?.enabled;const isInitialVirtual=isVirtual&&initial;if(!isInitialVirtual&&((rtl&&-translate===swiper.translate)||(!rtl&&translate===swiper.translate))){swiper.updateActiveIndex(slideIndex);if(params.autoHeight){swiper.updateAutoHeight()} 345swiper.updateSlidesClasses();if(params.effect!=='slide'){swiper.setTranslate(translate)} 346if(direction!=='reset'){swiper.transitionStart(runCallbacks,direction);swiper.transitionEnd(runCallbacks,direction)} 347return!1} 348if(params.cssMode){const isH=swiper.isHorizontal();const t=rtl?translate:-translate;if(speed===0){if(isVirtual){swiper.wrapperEl.style.scrollSnapType='none';swiper._immediateVirtual=!0} 349if(isVirtual&&!swiper._cssModeVirtualInitialSet&&(swiper.params.initialSlide??0)>0){swiper._cssModeVirtualInitialSet=!0;requestAnimationFrame(()=>{wrapperEl[isH?'scrollLeft':'scrollTop']=t})}else{wrapperEl[isH?'scrollLeft':'scrollTop']=t} 350if(isVirtual){requestAnimationFrame(()=>{swiper.wrapperEl.style.scrollSnapType='';swiper._immediateVirtual=!1})}}else{wrapperEl.scrollTo({[isH?'left':'top']:t,behavior:'smooth',})} 351return!0} 352const browser=getBrowser();const isSafari=browser.isSafari;if(isVirtual&&!initial&&isSafari&&swiper.isElement){swiper.virtual.update(!1,!1,slideIndex)} 353swiper.setTransition(speed);swiper.setTranslate(translate);swiper.updateActiveIndex(slideIndex);swiper.updateSlidesClasses();swiper.emit('beforeTransitionStart',speed,internal);swiper.transitionStart(runCallbacks,direction);if(speed===0){swiper.transitionEnd(runCallbacks,direction)}else if(!swiper.animating){swiper.animating=!0;if(!swiper.onSlideToWrapperTransitionEnd){swiper.onSlideToWrapperTransitionEnd=function transitionEnd(e){if(!swiper||swiper.destroyed) 354return;if(e.target!==this) 355return;swiper.wrapperEl.removeEventListener('transitionend',swiper.onSlideToWrapperTransitionEnd);swiper.onSlideToWrapperTransitionEnd=null;delete swiper.onSlideToWrapperTransitionEnd;swiper.transitionEnd(runCallbacks,direction)}} 356swiper.wrapperEl.addEventListener('transitionend',swiper.onSlideToWrapperTransitionEnd)} 357return!0} 358function slideToClickedSlide(){const swiper=this;if(swiper.destroyed) 359return;const{params,slidesEl,clickedSlide,clickedIndex}=swiper;if(clickedSlide===undefined||clickedIndex===undefined) 360return;const slidesPerView=params.slidesPerView==='auto'?swiper.slidesPerViewDynamic():params.slidesPerView;let slideToIndex=swiper.getSlideIndexWhenGrid(clickedIndex);let realIndex;const slideSelector=swiper.isElement?`swiper-slide`:`.${params.slideClass}`;const isGrid=swiper.grid&&swiper.params.grid&&swiper.params.grid.rows>1;if(params.loop){if(swiper.animating) 361return;realIndex=parseInt(clickedSlide.getAttribute('data-swiper-slide-index'),10);if(params.centeredSlides){swiper.slideToLoop(realIndex)}else if(slideToIndex>(isGrid?(swiper.slides.length-slidesPerView)/2-(swiper.params.grid.rows-1):swiper.slides.length-slidesPerView)){swiper.loopFix();slideToIndex=swiper.getSlideIndex(elementChildren(slidesEl,`${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]);nextTick(()=>{swiper.slideTo(slideToIndex)})}else{swiper.slideTo(slideToIndex)}}else{swiper.slideTo(slideToIndex)}} 362function slideToClosest(speed,runCallbacks=!0,internal,threshold=0.5){const swiper=this;if(swiper.destroyed) 363return;if(typeof speed==='undefined'){speed=swiper.params.speed} 364let index=swiper.activeIndex;const skip=Math.min(swiper.params.slidesPerGroupSkip,index);const snapIndex=skip+Math.floor((index-skip)/swiper.params.slidesPerGroup);const translate=swiper.rtlTranslate?swiper.translate:-swiper.translate;if(translate>=swiper.snapGrid[snapIndex]){const currentSnap=swiper.snapGrid[snapIndex];const nextSnap=swiper.snapGrid[snapIndex+1];if(translate-currentSnap>(nextSnap-currentSnap)*threshold){index+=swiper.params.slidesPerGroup}}else{const prevSnap=swiper.snapGrid[snapIndex-1];const currentSnap=swiper.snapGrid[snapIndex];if(translate-prevSnap<=(currentSnap-prevSnap)*threshold){index-=swiper.params.slidesPerGroup}} 365index=Math.max(index,0);index=Math.min(index,swiper.slidesGrid.length-1);return swiper.slideTo(index,speed,runCallbacks,internal)} 366function slideToLoop(index=0,speed,runCallbacks=!0,internal){if(typeof index==='string'){const indexAsNumber=parseInt(index,10);index=indexAsNumber} 367const swiper=this;if(swiper.destroyed) 368return;if(typeof speed==='undefined'){speed=swiper.params.speed} 369const gridEnabled=swiper.grid&&swiper.params.grid&&swiper.params.grid.rows>1;let newIndex=index;if(swiper.params.loop){if(swiper.virtual&&swiper.params.virtual?.enabled){newIndex=newIndex+(swiper.virtual.slidesBefore??0)}else{let targetSlideIndex;if(gridEnabled){const slideIndex=newIndex*swiper.params.grid.rows;const targetSlideEl=swiper.slides.find((slideEl)=>Number(slideEl.getAttribute('data-swiper-slide-index'))===slideIndex);targetSlideIndex=targetSlideEl?.column??0}else{targetSlideIndex=swiper.getSlideIndexByData(newIndex)} 370const cols=gridEnabled?Math.ceil(swiper.slides.length/swiper.params.grid.rows):swiper.slides.length;const{centeredSlides,slidesOffsetBefore,slidesOffsetAfter}=swiper.params;const bothDirections=centeredSlides||!!slidesOffsetBefore||!!slidesOffsetAfter;let slidesPerView;if(swiper.params.slidesPerView==='auto'){slidesPerView=swiper.slidesPerViewDynamic()}else{slidesPerView=Math.ceil(parseFloat(String(swiper.params.slidesPerView)));if(bothDirections&&slidesPerView%2===0){slidesPerView=slidesPerView+1}} 371let needLoopFix=cols-targetSlideIndex<slidesPerView;if(bothDirections){needLoopFix=needLoopFix||targetSlideIndex<Math.ceil(slidesPerView/2)} 372if(internal&&bothDirections&&swiper.params.slidesPerView!=='auto'&&!gridEnabled){needLoopFix=!1} 373if(needLoopFix){const direction=bothDirections?targetSlideIndex<swiper.activeIndex?'prev':'next':target
373SlideIndex-swiper.activeIndex-1<swiper.params.slidesPerView?'next':'prev';swiper.loopFix({direction,slideTo:!0,activeSlideIndex:direction==='next'?targetSlideIndex+1:targetSlideIndex-cols+1,slideRealIndex:direction==='next'?swiper.realIndex:undefined,})} 374if(gridEnabled){const slideIndex=newIndex*swiper.params.grid.rows;const targetSlideEl=swiper.slides.find((slideEl)=>Number(slideEl.getAttribute('data-swiper-slide-index'))===slideIndex);newIndex=targetSlideEl?.column??0}else{newIndex=swiper.getSlideIndexByData(newIndex)}}} 375requestAnimationFrame(()=>{swiper.slideTo(newIndex,speed,runCallbacks,internal)});return swiper} 376var slide={slideTo,slideToLoop,slideNext,slidePrev,slideReset,slideToClosest,slideToClickedSlide,};function setTransition(duration,byController){const swiper=this;if(!swiper.params.cssMode){swiper.wrapperEl.style.transitionDuration=`${duration}ms`;swiper.wrapperEl.style.transitionDelay=duration===0?`0ms`:''} 377swiper.emit('setTransition',duration,byController)} 378function transitionEmit({swiper,runCallbacks,direction,step,}){const{activeIndex,previousIndex}=swiper;let dir=direction;if(!dir){if(activeIndex>previousIndex) 379dir='next';else if(activeIndex<previousIndex) 380dir='prev';else dir='reset'} 381swiper.emit(`transition${step}`);if(runCallbacks&&dir==='reset'){swiper.emit(`slideResetTransition${step}`)}else if(runCallbacks&&activeIndex!==previousIndex){swiper.emit(`slideChangeTransition${step}`);if(dir==='next'){swiper.emit(`slideNextTransition${step}`)}else{swiper.emit(`slidePrevTransition${step}`)}}} 382function transitionEnd(runCallbacks=!0,direction){const swiper=this;const{params}=swiper;swiper.animating=!1;if(params.cssMode) 383return;swiper.setTransition(0);transitionEmit({swiper,runCallbacks,direction,step:'End'})} 384function transitionStart(runCallbacks=!0,direction){const swiper=this;const{params}=swiper;if(params.cssMode) 385return;if(params.autoHeight){swiper.updateAutoHeight()} 386transitionEmit({swiper,runCallbacks,direction,step:'Start'})} 387var transition={setTransition,transitionStart,transitionEnd,};function getSwiperTranslate(axis=this.isHorizontal()?'x':'y'){const swiper=this;const{params,rtlTranslate:rtl,translate,wrapperEl}=swiper;if(params.virtualTranslate){return rtl?-translate:translate} 388if(params.cssMode){return translate} 389let currentTranslate=getTranslate(wrapperEl,axis);currentTranslate+=swiper.cssOverflowAdjustment();if(rtl) 390currentTranslate=-currentTranslate;return currentTranslate||0} 391function maxTranslate(){return-this.snapGrid[this.snapGrid.length-1]} 392function minTranslate(){return-this.snapGrid[0]} 393function setTranslate(translate,byController){const swiper=this;const{rtlTranslate:rtl,params,wrapperEl,progress}=swiper;let x=0;let y=0;const z=0;if(swiper.isHorizontal()){x=rtl?-translate:translate}else{y=translate} 394if(params.roundLengths){x=Math.floor(x);y=Math.floor(y)} 395swiper.previousTranslate=swiper.translate;swiper.translate=swiper.isHorizontal()?x:y;if(params.cssMode){wrapperEl[swiper.isHorizontal()?'scrollLeft':'scrollTop']=swiper.isHorizontal()?-x:-y}else if(!params.virtualTranslate){if(swiper.isHorizontal()){x-=swiper.cssOverflowAdjustment()}else{y-=swiper.cssOverflowAdjustment()} 396wrapperEl.style.transform=`translate3d(${x}px, ${y}px, ${z}px)`} 397let newProgress;const translatesDiff=swiper.maxTranslate()-swiper.minTranslate();if(translatesDiff===0){newProgress=0}else{newProgress=(translate-swiper.minTranslate())/translatesDiff} 398if(newProgress!==progress){swiper.updateProgress(translate)} 399swiper.emit('setTranslate',swiper.translate,byController)} 400function translateTo(translate=0,speed=this.params.speed,runCallbacks=!0,translateBounds=!0,internal){const swiper=this;const{params,wrapperEl}=swiper;if(swiper.animating&¶ms.preventInteractionOnTransition){return!1} 401const minTranslate=swiper.minTranslate();const maxTranslate=swiper.maxTranslate();let newTranslate;if(translateBounds&&translate>minTranslate) 402newTranslate=minTranslate;else if(translateBounds&&translate<maxTranslate) 403newTranslate=maxTranslate;else newTranslate=translate;swiper.updateProgress(newTranslate);if(params.cssMode){const isH=swiper.isHorizontal();if(speed===0){wrapperEl[isH?'scrollLeft':'scrollTop']=-newTranslate}else{wrapperEl.scrollTo({[isH?'left':'top']:-newTranslate,behavior:'smooth',})} 404return!0} 405if(speed===0){swiper.setTransition(0);swiper.setTranslate(newTranslate);
405if(runCallbacks){swiper.emit('beforeTransitionStart',speed,internal);swiper.emit('transitionEnd')}}else{swiper.setTransition(speed);swiper.setTranslate(newTranslate);if(runCallbacks){swiper.emit('beforeTransitionStart',speed,internal);swiper.emit('transitionStart')} 406if(!swiper.animating){swiper.animating=!0;if(!swiper.onTranslateToWrapperTransitionEnd){swiper.onTranslateToWrapperTransitionEnd=function transitionEnd(e){if(!swiper||swiper.destroyed) 407return;if(e.target!==this) 408return;swiper.wrapperEl.removeEventListener('transitionend',swiper.onTranslateToWrapperTransitionEnd);swiper.onTranslateToWrapperTransitionEnd=null;delete swiper.onTranslateToWrapperTransitionEnd;swiper.animating=!1;if(runCallbacks){swiper.emit('transitionEnd')}}} 409swiper.wrapperEl.addEventListener('transitionend',swiper.onTranslateToWrapperTransitionEnd)}} 410return!0} 411var translate={getTranslate:getSwiperTranslate,setTranslate,minTranslate,maxTranslate,translateTo,};function getActiveIndexByTranslate(swiper){const{slidesGrid,params}=swiper;const translate=swiper.rtlTranslate?swiper.translate:-swiper.translate;let activeIndex;for(let i=0;i<slidesGrid.length;i+=1){if(typeof slidesGrid[i+1]!=='undefined'){if(translate>=slidesGrid[i]&&translate<slidesGrid[i+1]-(slidesGrid[i+1]-slidesGrid[i])/2){activeIndex=i}else if(translate>=slidesGrid[i]&&translate<slidesGrid[i+1]){activeIndex=i+1}}else if(translate>=slidesGrid[i]){activeIndex=i}} 412if(params.normalizeSlideIndex){if(activeIndex<0||typeof activeIndex==='undefined') 413activeIndex=0} 414return activeIndex} 415function updateActiveIndex(newActiveIndex){const swiper=this;const translate=swiper.rtlTranslate?swiper.translate:-swiper.translate;const{snapGrid,params,activeIndex:previousIndex,realIndex:previousRealIndex,snapIndex:previousSnapIndex,}=swiper;let activeIndex=newActiveIndex;let snapIndex;const getVirtualRealIndex=(aIndex)=>{const virtualSlides=swiper.virtual.slides;let realIndex=aIndex-(swiper.virtual.slidesBefore??0);if(realIndex<0){realIndex=virtualSlides.length+realIndex} 416if(realIndex>=virtualSlides.length){realIndex-=virtualSlides.length} 417return realIndex};if(typeof activeIndex==='undefined'){activeIndex=getActiveIndexByTranslate(swiper)} 418if(snapGrid.indexOf(translate)>=0){snapIndex=snapGrid.indexOf(translate)}else{const skip=Math.min(params.slidesPerGroupSkip,activeIndex);snapIndex=skip+Math.floor((activeIndex-skip)/params.slidesPerGroup)} 419if(snapIndex>=snapGrid.length) 420snapIndex=snapGrid.length-1;if(activeIndex===previousIndex&&!swiper.params.loop){if(snapIndex!==previousSnapIndex){swiper.snapIndex=snapIndex;swiper.emit('snapIndexChange')} 421return} 422if(activeIndex===previousIndex&&swiper.params.loop&&swiper.virtual&&swiper.params.virtual?.enabled){swiper.realIndex=getVirtualRealIndex(activeIndex);return} 423const gridEnabled=swiper.grid&¶ms.grid&¶ms.grid.rows>1;let realIndex;if(swiper.virtual&¶ms.virtual?.enabled){if(params.loop){realIndex=getVirtualRealIndex(activeIndex)}else{realIndex=activeIndex}}else if(gridEnabled){const firstSlideInColumn=swiper.slides.find((slideEl)=>slideEl.column===activeIndex);let activeSlideIndex=parseInt(firstSlideInColumn.getAttribute('data-swiper-slide-index'),10);if(Number.isNaN(activeSlideIndex)){activeSlideIndex=Math.max(swiper.slides.indexOf(firstSlideInColumn),0)} 424realIndex=Math.floor(activeSlideIndex/params.grid.rows)}else if(swiper.slides[activeIndex]){const slideIndex=swiper.slides[activeIndex].getAttribute('data-swiper-slide-index');if(slideIndex){realIndex=parseInt(slideIndex,10)}else{realIndex=activeIndex}}else{realIndex=activeIndex} 425Object.assign(swiper,{previousSnapIndex,snapIndex,previousRealIndex,realIndex,previousIndex,activeIndex,});if(swiper.initialized){preload(swiper)} 426if(swiper.__loopFixInProgress__) 427return;swiper.emit('activeIndexChange');swiper.emit('snapIndexChange');if(swiper.initialized||swiper.params.runCallbacksOnInit){if((swiper.__lastEmittedRealIndex__??previousRealIndex)!==realIndex){swiper.emit('realIndexChange')} 428swiper.emit('slideChange')} 429swiper.__lastEmittedRealIndex__=realIndex} 430function updateAutoHeight(speed){const swiper=this;const activeSlides=[];
430const isVirtual=swiper.virtual&&swiper.params.virtual?.enabled;let newHeight=0;let i;if(typeof speed==='number'){swiper.setTransition(speed)}else if(speed===!0){swiper.setTransition(swiper.params.speed)} 431const getSlideByIndex=(index)=>{if(isVirtual){return swiper.slides[swiper.getSlideIndexByData(index)]} 432return swiper.slides[index]};if(swiper.params.slidesPerView!=='auto'&&swiper.params.slidesPerView>1){if(swiper.params.centeredSlides){(swiper.visibleSlides||[]).forEach((slide)=>{activeSlides.push(slide)})}else{for(i=0;i<Math.ceil(swiper.params.slidesPerView);i+=1){const index=swiper.activeIndex+i;if(index>swiper.slides.length&&!isVirtual) 433break;const slide=getSlideByIndex(index);if(slide) 434activeSlides.push(slide)}}}else{const slide=getSlideByIndex(swiper.activeIndex);if(slide) 435activeSlides.push(slide)} 436for(i=0;i<activeSlides.length;i+=1){if(typeof activeSlides[i]!=='undefined'){const height=activeSlides[i].offsetHeight;newHeight=height>newHeight?height:newHeight}} 437if(newHeight||newHeight===0) 438swiper.wrapperEl.style.height=`${newHeight}px`} 439function updateClickedSlide(el,path){const swiper=this;const params=swiper.params;let slide=el.closest(`.${params.slideClass}, swiper-slide`);if(!slide&&swiper.isElement&&path&&path.length>1&&path.includes(el)){[...path.slice(path.indexOf(el)+1,path.length)].forEac
439h((pathEl)=>{if(!slide&&pathEl.matches&&pathEl.matches(`.${params.slideClass}, swiper-slide`)){slide=pathEl}})} 440let slideFound=!1;let slideIndex;if(slide){for(let i=0;i<swiper.slides.length;i+=1){if(swiper.slides[i]===slide){slideFound=!0;slideIndex=i;break}}} 441if(slide&&slideFound){swiper.clickedSlide=slide;if(swiper.virtual&&swiper.params.virtual?.enabled){swiper.clickedIndex=parseInt(slide.getAttribute('data-swiper-slide-index'),10)}else{swiper.clickedIndex=slideIndex}}else{swiper.clickedSlide=undefined;swiper.clickedIndex=undefined;return} 442if(params.slideToClickedSlide&&swiper.clickedIndex!==undefined&&swiper.clickedIndex!==swiper.activeIndex){swiper.slideToClickedSlide()}} 443function updateProgress(translate){const swiper=this;if(typeof translate==='undefined'){const multiplier=swiper.rtlTranslate?-1:1;translate=(swiper&&swiper.translate&&swiper.translate*multiplier)||0} 444const params=swiper.params;const translatesDiff=swiper.maxTranslate()-swiper.minTranslate();let{progress,isBeginning,isEnd}=swiper;let progressLoop=swiper.progressLoop;const wasBeginning=isBeginning;const wasEnd=isEnd;if(translatesDiff===0){progress=0;isBeginning=!0;isEnd=!0}else{progress=(translate-swiper.minTranslate())/translatesDiff;const isBeginningRounded=Math.abs(translate-swiper.minTranslate())<1;const isEndRounded=Math.abs(translate-swiper.maxTranslate())<1;isBeginning=isBeginningRounded||progress<=0;isEnd=isEndRounded||progress>=1;if(isBeginningRounded) 445progress=0;if(isEndRounded) 446progress=1} 447if(params.loop){const firstSlideIndex=swiper.getSlideIndexByData(0);const lastSlideIndex=swiper.getSlideIndexByData(swiper.slides.length-1);const firstSlideTranslate=swiper.slidesGrid[firstSlideIndex];const lastSlideTranslate=swiper.slidesGrid[lastSlideIndex];const translateMax=swiper.slidesGrid[swiper.slidesGrid.length-1];const translateAbs=Math.abs(translate);if(translateAbs>=firstSlideTranslate){progressLoop=(translateAbs-firstSlideTranslate)/translateMax}else{progressLoop=(translateAbs+translateMax-lastSlideTranslate)/translateMax} 448if(progressLoop>1) 449progressLoop-=1} 450Object.assign(swiper,{progress,progressLoop,isBeginning,isEnd,});if(params.watchSlidesProgress||(params.centeredSlides&¶ms.autoHeight)) 451swiper.updateSlidesProgress(translate);if(isBeginning&&!wasBeginning){swiper.emit('reachBeginning toEdge')} 452if(isEnd&&!wasEnd){swiper.emit('reachEnd toEdge')} 453if((wasBeginning&&!isBeginning)||(wasEnd&&!isEnd)){swiper.emit('fromEdge')} 454swiper.emit('progress',progress)} 455function updateSize(){const swiper=this;let width;let height;const el=swiper.el;if(typeof swiper.params.width!=='undefined'&&swiper.params.width!==null){width=swiper.params.width}else{width=el.clientWidth} 456if(typeof swiper.params.height!=='undefined'&&swiper.params.height!==null){height=swiper.params.height}else{height=el.clientHeight} 457if((width===0&&swiper.isHorizontal())||(height===0&&swiper.isVertical())){return} 458width=width-parseInt(elementStyle(el,'padding-left')||'0',10)-parseInt(elementStyle(el,'padding-right')||'0',10);height=height-parseInt(elementStyle(el,'padding-top')||'0',10)-parseInt(elementStyle(el,'padding-bottom')||'0',10);if(Number.isNaN(width)) 459width=0;if(Number.isNaN(height)) 460height=0;Object.assign(swiper,{width,height,size:swiper.isHorizontal()?width:height,})} 461function updateSlides(){const swiper=this;function getDirectionPropertyValue(node,label){return parseFloat(node.getPropertyValue(swiper.getDirectionLabel(label))||'0')} 462const params=swiper.params;const{wrapperEl,slidesEl,rtlTranslate:rtl,wrongRTL}=swiper;const isVirtual=!!(swiper.virtual&¶ms.virtual?.enabled);const previousSlidesLength=isVirtual?swiper.virtual.slides.length:swiper.slides.length;const slides=elementChildren(slidesEl,`.${swiper.params.slideClass}, swiper-slide`);const slidesLength=isVirtual?swiper.virtual.slides.length:slides.length;let snapGrid=[];const slidesGrid=[];const slidesSizesGrid=[];const resolveOffset=(value)=>typeof value==='function'?value.call(swiper):value;const offsetBefore=resolveOffset(params.slidesOffsetBefore);const offsetAfter=resolveOffset(params.slidesOffsetAfter);const previousSnapGridLength=swiper.snapGrid.length;const previousSlidesGridLength=swiper.slidesGrid.length;const swiperSize=swiper.size-offsetBefore-offsetAfter;let spaceBetween=params.spaceBetween;let slidePosition=-offsetBefore;let prevSlideSize=0;let index=0;
462if(typeof swiperSize==='undefined'){return} 463if(typeof spaceBetween==='string'&&spaceBetween.indexOf('%')>=0){spaceBetween=(parseFloat(spaceBetween.replace('%',''))/100)*swiperSize}else if(typeof spaceBetween==='string'){spaceBetween=parseFloat(spaceBetween)} 464swiper.virtualSize=-spaceBetween-offsetBefore-offsetAfter;slides.forEach((slideEl)=>{if(rtl){slideEl.style.marginLeft=''}else{slideEl.style.marginRight=''} 465slideEl.style.marginBottom='';slideEl.style.marginTop=''});if(params.centeredSlides&¶ms.cssMode){setCSSProperty(wrapperEl,'--swiper-centered-offset-before','');setCSSProperty(wrapperEl,'--swiper-centered-offset-after','')} 466if(params.cssMode){setCSSProperty(wrapperEl,'--swiper-slides-offset-before',`${offsetBefore}px`);setCSSProperty(wrapperEl,'--swiper-slides-offset-after',`${offsetAfter}px`)} 467const gridEnabled=params.grid&¶ms.grid.rows>1&&swiper.grid;if(gridEnabled){swiper.grid.initSlides(slides)}else if(swiper.grid){swiper.grid.unsetSlides()} 468let slideSize=0;const shouldResetSlideSize=params.slidesPerView==='auto'&¶ms.breakpoints&&Object.keys(params.breakpoints).filter((key)=>{const bp=params.breakpoints[key];return typeof bp?.slidesPerView!=='undefined'}).length>0;for(let i=0;i<slidesLength;i+=1){slideSize=0;const slide=slides[i];if(slide){if(gridEnabled){swiper.grid.updateSlide(i,slide,slides)} 469if(elementStyle(slide,'display')==='none') 470continue} 471if(isVirtual&¶ms.slidesPerView==='auto'){if(params.virtual?.slidesPerViewAutoSlideSize){slideSize=params.virtual.slidesPerViewAutoSlideSize} 472if(slideSize&&slide){if(params.roundLengths) 473slideSize=Math.floor(slideSize);slide.style[swiper.getDirectionLabel('width')]=`${slideSize}px`}}else if(params.slidesPerView==='auto'){if(shouldResetSlideSize){slide.style[swiper.getDirectionLabel('width')]=``} 474const slideStyles=getComputedStyle(slide);const currentTransform=slide.style.transform;const currentWebKitTransform=slide.style.webkitTransform;if(currentTransform){slide.style.transform='none'} 475if(currentWebKitTransform){slide.style.webkitTransform='none'} 476if(params.roundLengths){slideSize=swiper.isHorizontal()?elementOuterSize(slide,'width'):elementOuterSize(slide,'height')}else{const width=getDirectionPropertyValue(slideStyles,'width');const paddingLeft=getDirectionPropertyValue(slideStyles,'padding-left');const paddingRight=getDirectionPropertyValue(slideStyles,'padding-right');const marginLeft=getDirectionPropertyValue(slideStyles,'margin-left');const marginRight=getDirectionPropertyValue(slideStyles,'margin-right');const boxSizing=slideStyles.getPropertyValue('box-sizing');
476if(boxSizing&&boxSizing==='border-box'){slideSize=width+marginLeft+marginRight}else{const{clientWidth,offsetWidth}=slide;slideSize=width+paddingLeft+paddingRight+marginLeft+marginRight+(offsetWidth-clientWidth)}} 477if(currentTransform){slide.style.transform=currentTransform} 478if(currentWebKitTransform){slide.style.webkitTransform=currentWebKitTransform} 479if(params.roundLengths) 480slideSize=Math.floor(slideSize)}else{slideSize=(swiperSize-(params.slidesPerView-1)*spaceBetween)/params.slidesPerView;if(params.roundLengths) 481slideSize=Math.floor(slideSize);if(slide){slide.style[swiper.getDirectionLabel('width')]=`${slideSize}px`}} 482if(slide){slide.swiperSlideSize=slideSize} 483slidesSizesGrid.push(slideSize);if(params.centeredSlides){slidePosition=slidePosition+slideSize/2+prevSlideSize/2+spaceBetween;if(prevSlideSize===0&&i!==0) 484slidePosition=slidePosition-swiperSize/2-spaceBetween;if(i===0) 485slidePosition=slidePosition-swiperSize/2-spaceBetween;if(Math.abs(slidePosition)<1/1000) 486slidePosition=0;if(params.roundLengths) 487slidePosition=Math.floor(slidePosition);if(index%params.slidesPerGroup===0) 488snapGrid.push(slidePosition);slidesGrid.push(slidePosition)}else{if(params.roundLengths) 489slidePosition=Math.floor(slidePosition);if((index-Math.min(swiper.params.slidesPerGroupSkip,index))%swiper.params.slidesPerGroup===0) 490snapGrid.push(slidePosition);slidesGrid.push(slidePosition);slidePosition=slidePosition+slideSize+spaceBetween} 491swiper.virtualSize+=slideSize+spaceBetween;prevSlideSize=slideSize;index+=1} 492swiper.virtualSize=Math.max(swiper.virtualSize,swiperSize)+offsetAfter;if(rtl&&wrongRTL&&(params.effect==='slide'||params.effect==='coverflow')){wrapperEl.style.width=`${swiper.virtualSize + spaceBetween}px`} 493if(params.setWrapperSize){wrapperEl.style[swiper.getDirectionLabel('width')]=`${swiper.virtualSize + spaceBetween}px`} 494if(gridEnabled){swiper.grid.updateWrapperSize(slideSize,snapGrid)} 495if(!params.centeredSlides){const isFractionalSlidesPerView=params.slidesPerView!=='auto'&¶ms.slidesPerView%1!==0;const shouldSnapToSlideEdge=params.snapToSlideEdge&&!params.loop&&(params.slidesPerView==='auto'||isFractionalSlidesPerView);let lastAllowedSnapIndex=snapGrid.length;if(shouldSnapToSlideEdge){let minVisibleSlides;if(params.slidesPerView==='auto'){minVisibleSlides=1;let accumulatedSize=0;for(let i=slidesSizesGrid.length-1;i>=0;i-=1){accumulatedSize+=slidesSizesGrid[i]+(i<slidesSizesGrid.length-1?spaceBetween:0);if(accumulatedSize<=swiperSize){minVisibleSlides=slidesSizesGrid.length-i}else{break}}}else{minVisibleSlides=Math.floor(params.slidesPerView)}
496lastAllowedSnapIndex=Math.max(slidesLength-minVisibleSlides,0)} 497const newSlidesGrid=[];for(let i=0;i<snapGrid.length;i+=1){let slidesGridItem=snapGrid[i];if(params.roundLengths) 498slidesGridItem=Math.floor(slidesGridItem);if(shouldSnapToSlideEdge){if(i<=lastAllowedSnapIndex){newSlidesGrid.push(slidesGridItem)}}else if(snapGrid[i]<=swiper.virtualSize-swiperSize){newSlidesGrid.push(slidesGridItem)}} 499snapGrid=newSlidesGrid;if(Math.floor(swiper.virtualSize-swiperSize)-Math.floor(snapGrid[snapGrid.length-1])>1){if(!shouldSnapToSlideEdge){snapGrid.push(swiper.virtualSize-swiperSize)}}} 500if(isVirtual&¶ms.loop){const size=slidesSizesGrid[0]+spaceBetween;const slidesBefore=swiper.virtual.slidesBefore??0;const slidesAfter=swiper.virtual.slidesAfter??0;const virtualLoopCount=slidesBefore+slidesAfter;if(params.slidesPerGroup>1){const groups=Math.ceil(virtualLoopCount/params.slidesPerGroup);const groupSize=size*params.slidesPerGroup;for(let i=0;i<groups;i+=1){snapGrid.push(snapGrid[snapGrid.length-1]+groupSize)}} 501for(let i=0;i<virtualLoopCount;i+=1){if(params.slidesPerGroup===1){snapGrid.push(snapGrid[snapGrid.length-1]+size)} 502slidesGrid.push(slidesGrid[slidesGrid.length-1]+size);swiper.virtualSize+=size}} 503if(snapGrid.length===0) 504snapGrid=[0];if(spaceBetween!==0){const key=swiper.isHorizontal()&&rtl?'marginLeft':swiper.getDirectionLabel('marginRight');slides.filter((_,slideIndex)=>{if(!params.cssMode||params.loop) 505return!0;if(slideIndex===slides.length-1){return!1} 506return!0}).forEach((slideEl)=>{slideEl.style[key]=`${spaceBetween}px`})} 507if(params.centeredSlides&¶ms.centeredSlidesBounds){let allSlidesSize=0;slidesSizesGrid.forEach((slideSizeValue)=>{allSlidesSize+=slideSizeValue+(spaceBetween||0)});allSlidesSize-=spaceBetween;const maxSnap=allSlidesSize>swiperSize?allSlidesSize-swiperSize:0;snapGrid=snapGrid.map((snap)=>{if(snap<=0) 508return-offsetBefore;if(snap>maxSnap) 509return maxSnap+offsetAfter;return snap})} 510if(params.centerInsufficientSlides){let allSlidesSize=0;slidesSizesGrid.forEach((slideSizeValue)=>{allSlidesSize+=slideSizeValue+(spaceBetween||0)});allSlidesSize-=spaceBetween;if(allSlidesSize<swiperSize){const allSlidesOffset=(swiperSize-allSlidesSize)/2;snapGrid.forEach((snap,snapIndex)=>{snapGrid[snapIndex]=snap-allSlidesOffset});slidesGrid.forEach((snap,snapIndex)=>{slidesGrid[snapIndex]=snap+allSlidesOffset})}} 511Object.assign(swiper,{slides,snapGrid,slidesGrid,slidesSizesGrid,});if(params.centeredSlides&¶ms.cssMode&&!params.centeredSlidesBounds){setCSSProperty(wrapperEl,'--swiper-centered-offset-before',`${-snapGrid[0]}px`);setCSSProperty(wrapperEl,'--swiper-centered-offset-after',`${swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2}px`);const addToSnapGrid=-swiper.snapGrid[0];const addToSlidesGrid=-swiper.slidesGrid[0];swiper.snapGrid=swiper.snapGrid.map((v)=>v+addToSnapGrid);swiper.slidesGrid=swiper.slidesGrid.map((v)=>v+addToSlidesGrid)} 512if(slidesLength!==previousSlidesLength){swiper.emit('slidesLengthChange')} 513if(snapGrid.length!==previousSnapGridLength){if(swiper.params.watchOverflow) 514swiper.checkOverflow();swiper.emit('snapGridLengthChange')} 515if(slidesGrid.length!==previousSlidesGridLength){swiper.emit('slidesGridLengthChange')} 516if(params.watchSlidesProgress){swiper.updateSlidesOffset()} 517swiper.emit('slidesUpdated');if(!isVirtual&&!params.cssMode&&(params.effect==='slide'||params.effect==='fade')){const backFaceHiddenClass=`${params.containerModifierClass}backface-hidden`;const hasClassBackfaceClassAdded=swiper.el.classList.contains(backFaceHiddenClass);if(slidesLength<=params.maxBackfaceHiddenSlides){if(!hasClassBackfaceClassAdded) 518swiper.el.classList.add(backFaceHiddenClass)}else if(hasClassBackfaceClassAdded){swiper.el.classList.remove(backFaceHiddenClass)}}} 519const toggleSlideClasses$1=(slideEl,condition,className)=>{if(condition&&!slideEl.classList.contains(className)){slideEl.classList.add(className)}else if(!condition&&slideEl.classList.contains(className)){slideEl.classList.remove(className)}};function updateSlidesClasses(){const swiper=this;const{slides,params,slidesEl,activeIndex}=swiper;const isVirtual=!!(swiper.virtual&¶ms.virtual?.enabled);const gridEnabled=swiper.grid&¶ms.grid&¶ms.grid.rows>1;const getFilteredSlide=(selector)=>{return elementChildren(slidesEl,`.${params.slideClass}${selector}, swiper-slide${selector}`)[0]};let activeSlide;let prevSlide;let nextSlide;if(isVirtual){if(params.loop){const virtualSlides=swiper.virtual.slides;let slideIndex=activeIndex-(swiper.virtual.slidesBefore??0);if(slideIndex<0) 520slideIndex=virtualSlides.length+slideIndex;if(slideIndex>=virtualSlides.length) 521slideIndex-=virtualSlides.length;activeSlide=getFilteredSlide(`[data-swiper-slide-index="${slideIndex}"]`)}else{activeSlide=getFilteredSlide(`[data-swiper-slide-index="${activeIndex}"]`)}}else if(gridEnabled){activeSlide=slides.find((slideEl)=>slideEl.column===activeIndex);nextSlide=slides.find((slideEl)=>slideEl.column===activeIndex+1);prevSlide=slides.find((slideEl)=>slideEl.column===activeIndex-1)}else{activeSlide=slides[activeIndex]} 522if(activeSlide){if(!gridEnabled){nextSlide=elementNextAll(activeSlide,`.${params.slideClass}, swiper-slide`)[0];if(params.loop&&!nextSlide){nextSlide=slides[0]} 523prevSlide=elementPrevAll(activeSlide,`.${params.slideClass}, swiper-slide`)[0];if(params.loop&&!prevSlide===0){prevSlide=slides[slides.length-1]}}}
524slides.forEach((slideEl)=>{toggleSlideClasses$1(slideEl,slideEl===activeSlide,params.slideActiveClass);toggleSlideClasses$1(slideEl,slideEl===nextSlide,params.slideNextClass);toggleSlideClasses$1(slideEl,slideEl===prevSlide,params.slidePrevClass)});swiper.emitSlidesClasses()} 525function updateSlidesOffset(){const swiper=this;const slides=swiper.slides;const minusOffset=swiper.isElement?swiper.isHorizontal()?swiper.wrapperEl.offsetLeft:swiper.wrapperEl.offsetTop:0;for(let i=0;i<slides.length;i+=1){slides[i].swiperSlideOffset=(swiper.isHorizontal()?slides[i].offsetLeft:slides[i].offsetTop)-minusOffset-swiper.cssOverflowAdjustment()}} 526const toggleSlideClasses=(slideEl,condition,className)=>{if(condition&&!slideEl.classList.contains(className)){slideEl.classList.add(className)}else if(!condition&&slideEl.classList.contains(className)){slideEl.classList.remove(className)}};function updateSlidesProgress(translate=(this&&this.translate)||0){const swiper=this;const params=swiper.params;const{slides,rtlTranslate:rtl,snapGrid}=swiper;if(slides.length===0) 527return;if(typeof slides[0].swiperSlideOffset==='undefined') 528swiper.updateSlidesOffset();let offsetCenter=-translate;if(rtl) 529offsetCenter=translate;swiper.visibleSlidesIndexes=[];swiper.visibleSlides=[];let spaceBetween=params.spaceBetween;if(typeof spaceBetween==='string'&&spaceBetween.indexOf('%')>=0){spaceBetween=(parseFloat(spaceBetween.replace('%',''))/100)*swiper.size}else if(typeof spaceBetween==='string'){spaceBetween=parseFloat(spaceBetween)} 530for(let i=0;i<slides.length;i+=1){const slide=slides[i];let slideOffset=slide.swiperSlideOffset??0;if(params.cssMode&¶ms.centeredSlides){slideOffset-=slides[0].swiperSlideOffset??0} 531const slideSize=slide.swiperSlideSize??0;const slideProgress=(offsetCenter+(params.centeredSlides?swiper.minTranslate():0)-slideOffset)/(slideSize+spaceBetween);const originalSlideProgress=(offsetCenter-snapGrid[0]+(params.centeredSlides?swiper.minTranslate():0)-slideOffset)/(slideSize+spaceBetween);const slideBefore=-(offsetCenter-slideOffset);const slideAfter=slideBefore+swiper.slidesSizesGrid[i];const isFullyVisible=slideBefore>=0&&slideBefore<=swiper.size-swiper.slidesSizesGrid[i];const isVisible=(slideBefore>=0&&slideBefore<swiper.size-1)||(slideAfter>1&&slideAfter<=swiper.size)||(slideBefore<=0&&slideAfter>=swiper.size);if(isVisible){swiper.visibleSlides.push(slide);swiper.visibleSlidesIndexes.push(i)} 532toggleSlideClasses(slide,isVisible,params.slideVisibleClass);toggleSlideClasses(slide,isFullyVisible,params.slideFullyVisibleClass);slide.progress=rtl?-slideProgress:slideProgress;slide.originalProgress=rtl?-originalSlideProgress:originalSlideProgress}} 533var update={updateSize,updateSlides,updateAutoHeight,updateSlidesOffset,updateSlidesProgress,updateProgress,updateSlidesClasses,updateActiveIndex,updateClickedSlide,};const prototypes={eventsEmitter,update,translate,transition,slide,loop,grabCursor,events:events$1,breakpoints,checkOverflow:checkOverflow$1,classes,};const extendedDefaults={};class Swiper{static extendedDefaults;static defaults;constructor(...args){let el;let params;if(args.length===1&&args[0]!==null&&typeof args[0]==='object'&&Object.prototype.toString.call(args[0]).slice(8,-1)==='Object'){params=args[0]}else{[el,params]=args} 534if(!params) 535params={};params=extend({},params);if(el&&!params.el) 536params.el=el;if(params.el&&typeof params.el==='string'&&typeof document!=='undefined'&&document.querySelectorAll(params.el).length>1){const swipers=[];document.querySelectorAll(params.el).forEach((containerEl)=>{const newParams=extend({},params,{el:containerEl});swipers.push(new Swiper(newParams))});return swipers} 537const swiper=this;swiper.__swiper__=!0;swiper.support=getSupport();swiper.device=getDevice({userAgent:params.userAgent??undefined});swiper.browser=getBrowser();swiper.eventsListeners={};swiper.eventsAnyListeners=[];swiper.modules=[...(swiper.__modules__||[])];if(params.modules&&Array.isArray(params.modules)){params.modules.forEach((mod)=>{const fn=mod;if(typeof fn==='function'&&swiper.modules.indexOf(fn)<0){swiper.modules.push(fn)}})} 538const allModulesParams={};
538swiper.modules.forEach((mod)=>{mod({params:params,swiper,extendParams:moduleExtendParams(params,allModulesParams),on:swiper.on.bind(swiper),once:swiper.once.bind(swiper),off:swiper.off.bind(swiper),emit:swiper.emit.bind(swiper),})});const swiperParams=extend({},defaults,allModulesParams);swiper.params=extend({},swiperParams,extendedDefaults,params);swiper.originalParams=extend({},swiper.params);swiper.passedParams=extend({},params);if(swiper.params&&swiper.params.on){const onHandlers=swiper.params.on;Object.keys(onHandlers).forEach((eventName)=>{const handler=onHandlers[eventName];if(handler) 539swiper.on(eventName,handler)})} 540if(swiper.params&&swiper.params.onAny){swiper.onAny(swiper.params.onAny)} 541Object.assign(swiper,{enabled:swiper.params.enabled,el,classNames:[],slides:[],slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal(){return swiper.params.direction==='horizontal'},isVertical(){return swiper.params.direction==='vertical'},activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,cssOverflowAdjustment(){return Math.trunc(this.translate/2**23)*2**23},allowSlideNext:swiper.params.allowSlideNext,allowSlidePrev:swiper.params.allowSlidePrev,touchEventsData:{isTouched:undefined,isMoved:undefined,allowTouchCallbacks:undefined,touchStartTime:undefined,isScrolling:undefined,currentTranslate:undefined,startTranslate:undefined,allowThresholdMove:undefined,focusableElements:swiper.params.focusableElements,lastClickTime:0,clickTimeout:undefined,velocities:[],allowMomentumBounce:undefined,startMoving:undefined,pointerId:null,touchId:null,},allowClick:!0,allowTouchMove:swiper.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0,},imagesToLoad:[],imagesLoaded:0,});swiper.emit('_swiper');if(swiper.params.init){swiper.init()} 542return swiper} 543getDirectionLabel(property){if(this.isHorizontal()){return property} 544return{'width':'height','margin-top':'margin-left','margin-bottom ':'margin-right','margin-left':'margin-top','margin-right':'margin-bottom','padding-left':'padding-top','padding-right':'padding-bottom','marginRight':'marginBottom',}[property]} 545isHorizontal(){return this.params.direction==='horizontal'} 546isVertical(){return this.params.direction==='vertical'} 547cssOverflowAdjustment(){return Math.trunc(this.translate/2**23)*2**23} 548getSlideIndex(slideEl){const{slidesEl,params}=this;const slides=elementChildren(slidesEl,`.${params.slideClass}, swiper-slide`);const firstSlideIndex=elementIndex(slides[0]);return elementIndex(slideEl)-(firstSlideIndex??0)} 549getSlideIndexByData(index){return this.getSlideIndex(this.slides.find((slideEl)=>Number(slideEl.getAttribute('data-swiper-slide-index'))===index))} 550getSlideIndexWhenGrid(index){if(this.grid&&this.params.grid&&this.params.grid.rows>1){if(this.params.grid.fill==='column'){index=Math.floor(index/this.params.grid.rows)}else if(this.params.grid.fill==='row'){index=index%Math.ceil(this.slides.length/this.params.grid.rows)}} 551return index} 552recalcSlides(){const{slidesEl,params}=this;this.slides=elementChildren(slidesEl,`.${params.slideClass}, swiper-slide`)} 553enable(){if(this.enabled) 554return;this.enabled=!0;if(this.params.grabCursor){this.setGrabCursor()} 555this.emit('enable')} 556disable(){if(!this.enabled) 557return;this.enabled=!1;if(this.params.grabCursor){this.unsetGrabCursor()} 558this.emit('disable')} 559setProgress(progress,speed){progress=Math.min(Math.max(progress,0),1);const min=this.minTranslate();const max=this.maxTranslate();const current=(max-min)*progress+min;this.translateTo(current,typeof speed==='undefined'?0:speed);this.updateActiveIndex();this.updateSlidesClasses()} 560emitContainerClasses(){if(!this.params._emitClasses||!this.el) 561return;const cls=this.el.className.split(' ').filter((className)=>{return(className.indexOf('swiper')===0||className.indexOf(this.params.containerModifierClass)===0)});this.emit('_containerClasses',cls.join(' '))} 562getSlideClasses(slideEl){if(this.destroyed) 563return'';return slideEl.className.split(' ').filter((className)=>{return(className.indexOf('swiper-slide')===0||className.indexOf(this.params.slideClass)===0)}).join(' ')}
564emitSlidesClasses(){if(!this.params._emitClasses||!this.el) 565return;const updates=[];this.slides.forEach((slideEl)=>{const classNames=this.getSlideClasses(slideEl);updates.push({slideEl,classNames});this.emit('_slideClass',slideEl,classNames)});this.emit('_slideClasses',updates)} 566slidesPerViewDynamic(view='current',exact=!1){const{params,slides,slidesGrid,slidesSizesGrid,size:swiperSize,activeIndex}=this;let spv=1;if(typeof params.slidesPerView==='number') 567return params.slidesPerView;if(!swiperSize) 568return spv;if(params.centeredSlides){let slideSize=slides[activeIndex]?Math.ceil(slides[activeIndex].swiperSlideSize??0):0;let breakLoop=!1;for(let i=activeIndex+1;i<slides.length;i+=1){if(slides[i]&&!breakLoop){slideSize+=Math.ceil(slides[i].swiperSlideSize??0);spv+=1;if(slideSize>swiperSize) 569breakLoop=!0}} 570for(let i=activeIndex-1;i>=0;i-=1){if(slides[i]&&!breakLoop){slideSize+=slides[i].swiperSlideSize??0;spv+=1;if(slideSize>swiperSize) 571breakLoop=!0}}}else if(view==='current'){for(let i=activeIndex+1;i<slides.length;i+=1){const slideInView=exact?slidesGrid[i]+slidesSizesGrid[i]-slidesGrid[activeIndex]<swiperSize:slidesGrid[i]-slidesGrid[activeIndex]<swiperSize;if(slideInView){spv+=1}}}else{for(let i=activeIndex-1;i>=0;i-=1){const slideInView=slidesGrid[activeIndex]-slidesGrid[i]<swiperSize;if(slideInView){spv+=1}}} 572return spv} 573update(){const swiper=this;if(!swiper||swiper.destroyed) 574return;const{snapGrid,params}=swiper;if(params.breakpoints){swiper.setBreakpoint()} 575if(params.lazyPreload){[...swiper.el.querySelectorAll('[loading="lazy"]')].forEach((imageEl)=>{if(imageEl.complete){processLazyPreloader(swiper,imageEl)}})} 576swiper.updateSize();swiper.updateSlides();swiper.updateProgress();swiper.updateSlidesClasses();function setTranslate(){const translateValue=swiper.rtlTranslate?swiper.translate*-1:swiper.translate;const newTranslate=Math.min(Math.max(translateValue,swiper.maxTranslate()),swiper.minTranslate());swiper.setTranslate(newTranslate);swiper.updateActiveIndex();swiper.updateSlidesClasses()} 577let translated;if(params.freeMode?.enabled&&!params.cssMode){setTranslate();if(params.autoHeight){swiper.updateAutoHeight()}}else{if((params.slidesPerView==='auto'||params.slidesPerView>1)&&swiper.isEnd&&!params.centeredSlides){const slidesLength=swiper.virtual&¶ms.virtual?.enabled?swiper.virtual.slides.length:swiper.slides.length;translated=swiper.slideTo(slidesLength-1,0,!1,!0)}else{translated=swiper.slideTo(swiper.activeIndex,0,!1,!0)} 578if(!translated){setTranslate()}} 579if(params.watchOverflow&&snapGrid!==swiper.snapGrid){swiper.checkOverflow()} 580swiper.emit('update')} 581changeDirection(newDirection,needUpdate=!0){const swiper=this;const currentDirection=swiper.params.direction;if(!newDirection){newDirection=currentDirection==='horizontal'?'vertical':'horizontal'} 582if(newDirection===currentDirection||(newDirection!=='horizontal'&&newDirection!=='vertical')){return swiper} 583swiper.el.classList.remove(`${swiper.params.containerModifierClass}${currentDirection}`);swiper.el.classList.add(`${swiper.params.containerModifierClass}${newDirection}`);swiper.emitContainerClasses();swiper.params.direction=newDirection;swiper.rtlTranslate=newDirection==='horizontal'&&swiper.rtl;swiper.slides.forEach((slideEl)=>{if(newDirection==='vertical'){slideEl.style.width=''}else{slideEl.style.height=''}});swiper.emit('changeDirection');if(needUpdate) 584swiper.update();return swiper} 585changeLanguageDirection(direction){const swiper=this;if((swiper.rtl&&direction==='rtl')||(!swiper.rtl&&direction==='ltr')) 586return;swiper.rtl=direction==='rtl';swiper.rtlTranslate=swiper.params.direction==='horizontal'&&swiper.rtl;if(swiper.rtl){swiper.el.classList.add(`${swiper.params.containerModifierClass}rtl`);swiper.el.dir='rtl'}else{swiper.el.classList.remove(`${swiper.params.containerModifierClass}rtl`);swiper.el.dir='ltr'} 587swiper.update()} 588mount(element){const swiper=this;if(swiper.mounted) 589return!0;if(typeof document==='undefined') 590return!1;const initialEl=element??swiper.params.el;let el=null;if(typeof initialEl==='string'){el=document.querySelector(initialEl)}else if(initialEl instanceof HTMLElement){el=initialEl} 591if(!el){return!1} 592el.swiper=swiper;const parent=el.parentNode;if(parent&&parent.host&&parent.host.nodeName===swiper.params.swiperElementNodeName.toUpperCase()){swiper.isElement=!0} 593const getWrapperSelector=()=>{return `.${(swiper.params.wrapperClass || '').trim().split(' ').join('.')}`};const getWrapper=()=>{if(el&&el.shadowRoot){const res=el.shadowRoot.querySelector(getWrapperSelector());return res} 594return elementChildren(el,getWrapperSelector())[0]};let wrapperEl=getWrapper();if(!wrapperEl&&swiper.params.createElements){wrapperEl=createElement('div',swiper.params.wrapperClass);el.append(wrapperEl);elementChildren(el,`.${swiper.params.slideClass}`).forEach((slideEl)=>{wrapperEl.append(slideEl)})} 595const host=swiper.isElement?el.parentNode.host:null;
595Object.assign(swiper,{el,wrapperEl,slidesEl:swiper.isElement&&!host.slideSlots?host:wrapperEl,hostEl:swiper.isElement?host:el,mounted:!0,rtl:el.dir.toLowerCase()==='rtl'||elementStyle(el,'direction')==='rtl',rtlTranslate:swiper.params.direction==='horizontal'&&(el.dir.toLowerCase()==='rtl'||elementStyle(el,'direction')==='rtl'),wrongRTL:elementStyle(wrapperEl,'display')==='-webkit-box',});return!0} 596init(el){const swiper=this;if(swiper.initialized) 597return swiper;const mounted=swiper.mount(el);if(mounted===!1) 598return swiper;swiper.emit('beforeInit');if(swiper.params.breakpoints){swiper.setBreakpoint()} 599swiper.addClasses();swiper.updateSize();swiper.updateSlides();if(swiper.params.watchOverflow){swiper.checkOverflow()} 600if(swiper.params.grabCursor&&swiper.enabled){swiper.setGrabCursor()} 601if(swiper.params.loop&&swiper.virtual&&swiper.params.virtual?.enabled){swiper.slideTo((swiper.params.initialSlide??0)+(swiper.virtual.slidesBefore??0),0,swiper.params.runCallbacksOnInit,!1,!0)}else{swiper.slideTo(swiper.params.initialSlide,0,swiper.params.runCallbacksOnInit,!1,!0)} 602if(swiper.params.loop){swiper.loopCreate(undefined,!0)} 603swiper.attachEvents();if(swiper.params.lazyPreload){const lazyElements=[...swiper.el.querySelectorAll('[loading="lazy"]'),];if(swiper.isElement){lazyElements.push(...swiper.hostEl.querySelectorAll('[loading="lazy"]'))} 604lazyElements.forEach((imageEl)=>{if(imageEl.complete) 605processLazyPreloader(swiper,imageEl)})} 606swiper.initialized=!0;preload(swiper);swiper.emit('init');swiper.emit('afterInit');return swiper} 607destroy(deleteInstance=!0,cleanStyles=!0){const swiper=this;const{params,el,wrapperEl,slides}=swiper;if(typeof swiper.params==='undefined'||swiper.destroyed){return null} 608swiper.emit('beforeDestroy');swiper.initialized=!1;swiper.detachEvents();if(params.loop){swiper.loopDestroy()} 609if(cleanStyles){swiper.removeClasses();if(el&&typeof el!=='string'){el.removeAttribute('style')} 610if(wrapperEl){wrapperEl.removeAttribute('style')} 611if(slides&&slides.length){slides.forEach((slideEl)=>{slideEl.classList.remove(params.slideVisibleClass,params.slideFullyVisibleClass,params.slideActiveClass,params.slideNextClass,params.slidePrevClass);slideEl.removeAttribute('style');slideEl.removeAttribute('data-swiper-slide-index')})}} 612swiper.emit('destroy');Object.keys(swiper.eventsListeners).forEach((eventName)=>{swiper.off(eventName)});if(deleteInstance!==!1){if(swiper.el&&typeof swiper.el!=='string'){swiper.el.swiper=null} 613deleteProps(swiper)} 614swiper.destroyed=!0;return null} 615static extendDefaults(newDefaults){extend(extendedDefaults,newDefaults)} 616static installModule(mod){if(!Swiper.prototype.__modules__) 617Swiper.prototype.__modules__=[];const modules=Swiper.prototype.__modules__;if(typeof mod==='function'&&modules.indexOf(mod)<0){modules.push(mod)}} 618static use(module){if(Array.isArray(module)){module.forEach((m)=>Swiper.installModule(m));return Swiper} 619Swiper.installModule(module);return Swiper}} 620Object.defineProperty(Swiper,'extendedDefaults',{get(){return extendedDefaults},});Object.defineProperty(Swiper,'defaults',{get(){return defaults},});const prototypeRecord=prototypes;const swiperProto=Swiper.prototype;Object.keys(prototypeRecord).forEach((prototypeGroup)=>{const group=prototypeRecord[prototypeGroup];Object.keys(group).forEach((protoMethod)=>{swiperProto[protoMethod]=group[protoMethod]})});Swiper.use([Resize,Observer]);const Virtual=({swiper,extendParams,on,emit})=>{extendParams({virtual:{enabled:!1,slides:[],cache:!0,slidesPerViewAutoSlideSize:320,renderSlide:null,renderExternal:null,renderExternalUpdate:!0,addSlidesBefore:0,addSlidesAfter:0,},});let cssModeTimeout;swiper.virtual={cache:{},from:0,to:-1,slides:[],offset:0,slidesGrid:[],};function getParams(){return swiper.params.virtual} 621let tempDOM;const getTempDOM=()=>(tempDOM??=document.createElement('div'));
621function renderSlide(slide,index){const params=getParams();if(params.cache&&swiper.virtual.cache[index]){return swiper.virtual.cache[index]} 622let slideEl;if(params.renderSlide){const rendered=params.renderSlide.call(swiper,slide,index);if(typeof rendered==='string'){const el=getTempDOM();setInnerHTML(el,rendered);slideEl=el.children[0]}else{slideEl=rendered}}else if(swiper.isElement){slideEl=createElement('swiper-slide')}else{slideEl=createElement('div',swiper.params.slideClass)} 623slideEl.setAttribute('data-swiper-slide-index',String(index));if(!params.renderSlide){setInnerHTML(slideEl,slide)} 624if(params.cache){swiper.virtual.cache[index]=slideEl} 625return slideEl} 626function update(force,beforeInit,forceActiveIndex){const{slidesPerGroup,centeredSlides,slidesPerView,loop:isLoop,initialSlide,}=swiper.params;if(beforeInit&&!isLoop&&(initialSlide??0)>0){return} 627const{addSlidesBefore,addSlidesAfter,slidesPerViewAutoSlideSize}=getParams();const{from:previousFrom,to:previousTo,slides,slidesGrid:previousSlidesGrid,offset:previousOffset,}=swiper.virtual;if(!swiper.params.cssMode){swiper.updateActiveIndex()} 628const activeIndex=typeof forceActiveIndex==='undefined'?swiper.activeIndex||0:forceActiveIndex;let offsetProp;if(swiper.rtlTranslate) 629offsetProp='right';else offsetProp=swiper.isHorizontal()?'left':'top';let slidesPerViewNumeric;if(slidesPerView==='auto'){if(slidesPerViewAutoSlideSize){let swiperSize=swiper.size;if(!swiperSize){swiperSize=swiper.isHorizontal()?swiper.el.getBoundingClientRect().width:swiper.el.getBoundingClientRect().height} 630slidesPerViewNumeric=Math.max(1,Math.ceil(swiperSize/slidesPerViewAutoSlideSize))}else{slidesPerViewNumeric=1}}else{slidesPerViewNumeric=slidesPerView??1} 631const groupSize=slidesPerGroup??1;let slidesAfter;let slidesBefore;if(centeredSlides){slidesAfter=Math.floor(slidesPerViewNumeric/2)+groupSize+addSlidesAfter;slidesBefore=Math.floor(slidesPerViewNumeric/2)+groupSize+addSlidesBefore}else{slidesAfter=slidesPerViewNumeric+(groupSize-1)+addSlidesAfter;slidesBefore=(isLoop?slidesPerViewNumeric:groupSize)+addSlidesBefore} 632let from=activeIndex-slidesBefore;let to=activeIndex+slidesAfter;if(!isLoop){from=Math.max(from,0);to=Math.min(to,slides.length-1)} 633let offset=(swiper.slidesGrid[from]||0)-(swiper.slidesGrid[0]||0);if(isLoop&&activeIndex>=slidesBefore){from-=slidesBefore;if(!centeredSlides) 634offset+=swiper.slidesGrid[0]}else if(isLoop&&activeIndex<slidesBefore){from=-slidesBefore;if(centeredSlides) 635offset+=swiper.slidesGrid[0]} 636Object.assign(swiper.virtual,{from,to,offset,slidesGrid:swiper.slidesGrid,slidesBefore,slidesAfter,});function onRendered(){swiper.updateSlides();swiper.updateProgress();swiper.updateSlidesClasses();emit('virtualUpdate')} 637if(previousFrom===from&&previousTo===to&&!force){if(swiper.slidesGrid!==previousSlidesGrid&&offset!==previousOffset){swiper.slides.forEach((slideEl)=>{slideEl.style.setProperty(offsetProp,`${offset - Math.abs(swiper.cssOverflowAdjustment())}px`)})} 638swiper.updateProgress();emit('virtualUpdate');return} 639const virtualParams=getParams();if(virtualParams.renderExternal){const slidesToRender=[];for(let i=from;i<=to;i+=1){slidesToRender.push(slides[i])} 640virtualParams.renderExternal.call(swiper,{offset,from,to,slides:slidesToRender,});if(virtualParams.renderExternalUpdate){onRendered()}else{emit('virtualUpdate')} 641return} 642const prependIndexes=[];const appendIndexes=[];const getSlideIndex=(index)=>{let slideIndex=index;if(index<0){slideIndex=slides.length+index}else if(slideIndex>=slides.length){slideIndex=slideIndex-slides.length} 643return slideIndex};if(force){swiper.slides.filter((el)=>el.matches(`.${swiper.params.slideClass}, swiper-slide`)).forEach((slideEl)=>{slideEl.remove()})}else{for(let i=previousFrom;i<=previousTo;i+=1){if(i<from||i>to){const slideIndex=getSlideIndex(i);swiper.slides.filter((el)=>el.matches(`.${swiper.params.slideClass}[data-swiper-slide-index="${slideIndex}"], swiper-slide[data-swiper-slide-index="${slideIndex}"]`)).forEach((slideEl)=>{slideEl.remove()})}}} 644const loopFrom=isLoop?-slides.length:0;const loopTo=isLoop?slides.length*2:slides.length;for(let i=loopFrom;i<loopTo;i+=1){if(i>=from&&i<=to){const slideIndex=getSlideIndex(i);if(typeof previousTo==='undefined'||force){appendIndexes.push(slideIndex)}else{if(i>previousTo) 645appendIndexes.push(slideIndex);if(i<previousFrom) 646prependIndexes.push(slideIndex)}}}
647appendIndexes.forEach((index)=>{swiper.slidesEl.append(renderSlide(slides[index],index))});if(isLoop){for(let i=prependIndexes.length-1;i>=0;i-=1){const index=prependIndexes[i];swiper.slidesEl.prepend(renderSlide(slides[index],index))}}else{prependIndexes.sort((a,b)=>b-a);prependIndexes.forEach((index)=>{swiper.slidesEl.prepend(renderSlide(slides[index],index))})} 648elementChildren(swiper.slidesEl,'.swiper-slide, swiper-slide').forEach((slideEl)=>{slideEl.style.setProperty(offsetProp,`${offset - Math.abs(swiper.cssOverflowAdjustment())}px`)});onRendered()} 649function appendSlide(slides){if(slides!==null&&typeof slides==='object'&&'length' in slides){const arr=slides;for(let i=0;i<arr.length;i+=1){if(arr[i]) 650swiper.virtual.slides.push(arr[i])}}else{swiper.virtual.slides.push(slides)} 651update(!0)} 652function prependSlide(slides){const activeIndex=swiper.activeIndex;let newActiveIndex=activeIndex+1;let numberOfNewSlides=1;if(Array.isArray(slides)){for(let i=0;i<slides.length;i+=1){if(slides[i]) 653swiper.virtual.slides.unshift(slides[i])} 654newActiveIndex=activeIndex+slides.length;numberOfNewSlides=slides.length}else{swiper.virtual.slides.unshift(slides)} 655if(getParams().cache){const cache=swiper.virtual.cache;const newCache={};Object.keys(cache).forEach((cachedIndex)=>{const cachedEl=cache[Number(cachedIndex)];const cachedElIndex=cachedEl.getAttribute('data-swiper-slide-index');if(cachedElIndex){cachedEl.setAttribute('data-swiper-slide-index',String(parseInt(cachedElIndex,10)+numberOfNewSlides))} 656newCache[parseInt(cachedIndex,10)+numberOfNewSlides]=cachedEl});swiper.virtual.cache=newCache} 657update(!0);swiper.slideTo(newActiveIndex,0)} 658function removeSlide(slidesIndexes){if(typeof slidesIndexes==='undefined'||slidesIndexes===null) 659return;let activeIndex=swiper.activeIndex;const shiftCacheDownFrom=(removedIndex)=>{Object.keys(swiper.virtual.cache).forEach((key)=>{const numericKey=Number(key);if(numericKey>removedIndex){const shifted=swiper.virtual.cache[numericKey];swiper.virtual.cache[numericKey-1]=shifted;shifted.setAttribute('data-swiper-slide-index',String(numericKey-1));delete swiper.virtual.cache[numericKey]}})};if(Array.isArray(slidesIndexes)){for(let i=slidesIndexes.length-1;i>=0;i-=1){if(getParams().cache){delete swiper.virtual.cache[slidesIndexes[i]];shiftCacheDownFrom(slidesIndexes[i])} 660swiper.virtual.slides.splice(slidesIndexes[i],1);if(slidesIndexes[i]<activeIndex) 661activeIndex-=1;activeIndex=Math.max(activeIndex,0)}}else{if(getParams().cache){delete swiper.virtual.cache[slidesIndexes];shiftCacheDownFrom(slidesIndexes)} 662swiper.virtual.slides.splice(slidesIndexes,1);if(slidesIndexes<activeIndex) 663activeIndex-=1;activeIndex=Math.max(activeIndex,0)} 664update(!0);swiper.slideTo(activeIndex,0)} 665function removeAllSlides(){swiper.virtual.slides=[];if(getParams().cache){swiper.virtual.cache={}} 666update(!0);swiper.slideTo(0,0)} 667on('beforeInit',()=>{if(!getParams().enabled) 668return;let domSlidesAssigned=!1;const passedVirtual=swiper.passedParams.virtual;const passedSlidesUndefined=!passedVirtual||typeof passedVirtual!=='object'||passedVirtual.slides===undefined;if(passedSlidesUndefined){const slides=[...swiper.slidesEl.children].filter((el)=>el.matches(`.${swiper.params.slideClass}, swiper-slide`));if(slides&&slides.length){swiper.virtual.slides=[...slides];domSlidesAssigned=!0;slides.forEach((slideEl,slideIndex)=>{slideEl.setAttribute('data-swiper-slide-index',String(slideIndex));swiper.virtual.cache[slideIndex]=slideEl;slideEl.remove()})}} 669if(!domSlidesAssigned){swiper.virtual.slides=getParams().slides} 670swiper.classNames.push(`${swiper.params.containerModifierClass}virtual`);swiper.params.watchSlidesProgress=!0;swiper.originalParams.watchSlidesProgress=!0;update(!1,!0)});on('setTranslate',()=>{if(!getParams().enabled) 671return;if(swiper.params.cssMode&&!swiper._immediateVirtual){clearTimeout(cssModeTimeout);cssModeTimeout=setTimeout(()=>{update()},100)}else{update()}});on('init update resize',()=>{if(!getParams().enabled) 672return;if(swiper.params.cssMode){setCSSProperty(swiper.wrapperEl,'--swiper-virtual-size',`${swiper.virtualSize}px`)}});Object.assign(swiper.virtual,{appendSlide,prependSlide,removeSlide,removeAllSlides,update,})};const Keyboard=({swiper,extendParams,on,emit})=>{extendParams({keyboard:{enabled:!1,onlyInViewport:!0,pageUpDown:!0,speed:undefined,},});function getParams(){return swiper.params.keyboard} 673function handle(event){if(!swiper.enabled) 674return;const{rtlTranslate:rtl}=swiper;const e='originalEvent' in event&&event.originalEvent?event.originalEvent:event;
674const kc=e.keyCode||e.charCode;const params=getParams();const pageUpDown=!!params.pageUpDown;const isPageUp=pageUpDown&&kc===33;const isPageDown=pageUpDown&&kc===34;const isArrowLeft=kc===37;const isArrowRight=kc===39;const isArrowUp=kc===38;const isArrowDown=kc===40;if(!swiper.allowSlideNext&&((swiper.isHorizontal()&&isArrowRight)||(swiper.isVertical()&&isArrowDown)||isPageDown)){return!1} 675if(!swiper.allowSlidePrev&&((swiper.isHorizontal()&&isArrowLeft)||(swiper.isVertical()&&isArrowUp)||isPageUp)){return!1} 676if(e.shiftKey||e.altKey||e.ctrlKey||e.metaKey){return undefined} 677const activeElement=document.activeElement;if(activeElement&&(activeElement.isContentEditable||(activeElement.nodeName&&(activeElement.nodeName.toLowerCase()==='input'||activeElement.nodeName.toLowerCase()==='textarea')))){return undefined} 678if(params.onlyInViewport&&(isPageUp||isPageDown||isArrowLeft||isArrowRight||isArrowUp||isArrowDown)){let inView=!1;if(elementParents(swiper.el,`.${swiper.params.slideClass}, swiper-slide`).length>0&&elementParents(swiper.el,`.${swiper.params.slideActiveClass}`).length===0){return undefined} 679const el=swiper.el;const swiperWidth=el.clientWidth;const swiperHeight=el.clientHeight;const windowWidth=window.innerWidth;const windowHeight=window.innerHeight;const swiperOffset=elementOffset(el);if(rtl) 680swiperOffset.left-=el.scrollLeft;const swiperCoord=[[swiperOffset.left,swiperOffset.top],[swiperOffset.left+swiperWidth,swiperOffset.top],[swiperOffset.left,swiperOffset.top+swiperHeight],[swiperOffset.left+swiperWidth,swiperOffset.top+swiperHeight],];for(let i=0;i<swiperCoord.length;i+=1){const point=swiperCoord[i];if(point[0]>=0&&point[0]<=windowWidth&&point[1]>=0&&point[1]<=windowHeight){if(point[0]===0&&point[1]===0) 681continue;inView=!0}} 682if(!inView) 683return undefined} 684const speed=params.speed;if(swiper.isHorizontal()){if(isPageUp||isPageDown||isArrowLeft||isArrowRight){if(e.cancelable) 685e.preventDefault()} 686if(((isPageDown||isArrowRight)&&!rtl)||((isPageUp||isArrowLeft)&&rtl)) 687swiper.slideNext(speed);if(((isPageUp||isArrowLeft)&&!rtl)||((isPageDown||isArrowRight)&&rtl)) 688swiper.slidePrev(speed)}else{if(isPageUp||isPageDown||isArrowUp||isArrowDown){if(e.cancelable) 689e.preventDefault()} 690if(isPageDown||isArrowDown) 691swiper.slideNext(speed);if(isPageUp||isArrowUp) 692swiper.slidePrev(speed)} 693emit('keyPress',kc);return undefined} 694function enable(){if(swiper.keyboard.enabled) 695return;document.addEventListener('keydown',handle);swiper.keyboard.enabled=!0} 696function disable(){if(!swiper.keyboard.enabled) 697return;document.removeEventListener('keydown',handle);swiper.keyboard.enabled=!1} 698swiper.keyboard={enabled:!1,enable,disable,};on('init',()=>{if(getParams().enabled){enable()}});on('destroy',()=>{if(swiper.keyboard.enabled){disable()}})};const Mousewheel=({swiper,extendParams,on,emit})=>{extendParams({mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarget:'container',thresholdDelta:null,thresholdTime:null,noMousewheelClass:'swiper-no-mousewheel',},});let timeout;let lastScrollTime=now();let lastEventBeforeSnap;let mouseEntered=!1;const recentWheelEvents=[];function getParams(){return swiper.params.mousewheel} 699function normalize(e){const PIXEL_STEP=10;const LINE_HEIGHT=40;const PAGE_HEIGHT=800;const ev=e;let sX=0;let sY=0;let pX=0;let pY=0;if(ev.detail!==undefined){sY=ev.detail} 700if(ev.wheelDelta!==undefined){sY=-ev.wheelDelta/120} 701if(ev.wheelDeltaY!==undefined){sY=-ev.wheelDeltaY/120} 702if(ev.wheelDeltaX!==undefined){sX=-ev.wheelDeltaX/120} 703if(ev.axis!==undefined&&ev.HORIZONTAL_AXIS!==undefined&&ev.axis===ev.HORIZONTAL_AXIS){sX=sY;sY=0} 704pX=sX*PIXEL_STEP;pY=sY*PIXEL_STEP;if(ev.deltaY!==undefined){pY=ev.deltaY} 705if(ev.deltaX!==undefined){pX=ev.deltaX} 706if(ev.shiftKey&&!pX){pX=pY;pY=0} 707if((pX||pY)&&ev.deltaMode){if(ev.deltaMode===1){pX*=LINE_HEIGHT;pY*=LINE_HEIGHT}else{pX*=PAGE_HEIGHT;pY*=PAGE_HEIGHT}} 708if(pX&&!sX){sX=pX<1?-1:1} 709if(pY&&!sY){sY=pY<1?-1:1} 710return{spinX:sX,spinY:sY,pixelX:pX,pixelY:pY,}} 711function handleMouseEnter(){if(!swiper.enabled) 712return;mouseEntered=!0} 713function handleMouseLeave(){if(!swiper.enabled) 714return;mouseEntered=!1} 715function animateSlider(newEvent){const params=getParams();if(params.thresholdDelta&&newEvent.delta<params.thresholdDelta){return!1} 716if(params.thresholdTime&&now()-lastScrollTime<params.thresholdTime){return!1} 717if(newEvent.delta>=6&&now()-lastScrollTime<60){return!0} 718if(newEvent.direction<0){if((!swiper.isEnd||swiper.params.loop)&&!swiper.animating){swiper.slideNext();emit('scroll',newEvent.raw)}}else if((!swiper.isBeginning||swiper.params.loop)&&!swiper.animating){swiper.slidePrev();emit('scroll',newEvent.raw)} 719lastScrollTime=new window.Date().getTime();return!1} 720function releaseScroll(newEvent){const params=getParams();if(newEvent.direction<0){if(swiper.isEnd&&!swiper.params.loop&¶ms.releaseOnEdges){return!0}}
720else if(swiper.isBeginning&&!swiper.params.loop&¶ms.releaseOnEdges){return!0} 721return!1} 722function handle(event){let e='originalEvent' in event&&event.originalEvent?event.originalEvent:event;let disableParentSwiper=!0;if(!swiper.enabled) 723return!1;const params=getParams();if(event.target.closest(`.${params.noMousewheelClass}`)) 724return!1;if(swiper.params.cssMode){e.preventDefault()} 725let targetEl=swiper.el;if(params.eventsTarget!=='container'){targetEl=document.querySelector(params.eventsTarget)} 726const targetElContainsTarget=targetEl&&targetEl.contains(e.target);if(!mouseEntered&&!targetElContainsTarget&&!params.releaseOnEdges) 727return!0;let delta=0;const rtlFactor=swiper.rtlTranslate?-1:1;const data=normalize(e);if(params.forceToAxis){if(swiper.isHorizontal()){if(Math.abs(data.pixelX)>Math.abs(data.pixelY)) 728delta=-data.pixelX*rtlFactor;else return!0}else if(Math.abs(data.pixelY)>Math.abs(data.pixelX)) 729delta=-data.pixelY;else return!0}else{delta=Math.abs(data.pixelX)>Math.abs(data.pixelY)?-data.pixelX*rtlFactor:-data.pixelY} 730if(delta===0) 731return!0;if(params.invert) 732delta=-delta;let positions=swiper.getTranslate()+delta*(params.sensitivity??1);if(positions>=swiper.minTranslate()) 733positions=swiper.minTranslate();if(positions<=swiper.maxTranslate()) 734positions=swiper.maxTranslate();disableParentSwiper=swiper.params.loop?!0:!(positions===swiper.minTranslate()||positions===swiper.maxTranslate());if(disableParentSwiper&&swiper.params.nested) 735e.stopPropagation();const freeModeParams=swiper.params.freeMode;if(!swiper.params.freeMode||!freeModeParams?.enabled){const newEvent={time:now(),delta:Math.abs(delta),direction:Math.sign(delta),raw:event,};if(recentWheelEvents.length>=2){recentWheelEvents.shift()} 736const prevEvent=recentWheelEvents.length?recentWheelEvents[recentWheelEvents.length-1]:undefined;recentWheelEvents.push(newEvent);if(prevEvent){if(newEvent.direction!==prevEvent.direction||newEvent.delta>prevEvent.delta||newEvent.time>prevEvent.time+150){animateSlider(newEvent)}}else{animateSlider(newEvent)} 737if(releaseScroll(newEvent)){return!0}}else{const newEvent={time:now(),delta:Math.abs(delta),direction:Math.sign(delta),};const ignoreWheelEvents=lastEventBeforeSnap&&newEvent.time<lastEventBeforeSnap.time+500&&newEvent.delta<=lastEventBeforeSnap.delta&&newEvent.direction===lastEventBeforeSnap.direction;if(!ignoreWheelEvents){lastEventBeforeSnap=undefined;let position=swiper.getTranslate()+delta*(params.sensitivity??1);const wasBeginning=swiper.isBeginning;const wasEnd=swiper.isEnd;if(position>=swiper.minTranslate()) 738position=swiper.minTranslate();if(position<=swiper.maxTranslate()) 739position=swiper.maxTranslate();swiper.setTransition(0);swiper.setTranslate(position);swiper.updateProgress();swiper.updateActiveIndex();swiper.updateSlidesClasses();if((!wasBeginning&&swiper.isBeginning)||(!wasEnd&&swiper.isEnd)){swiper.updateSlidesClasses()} 740if(swiper.params.loop){swiper.loopFix({direction:newEvent.direction<0?'next':'prev',byMousewheel:!0,})} 741if(freeModeParams?.sticky){clearTimeout(timeout);timeout=undefined;if(recentWheelEvents.length>=15){recentWheelEvents.shift()} 742const prevEvent=recentWheelEvents.length?recentWheelEvents[recentWheelEvents.length-1]:undefined;const firstEvent=recentWheelEvents[0];recentWheelEvents.push(newEvent);if(prevEvent&&(newEvent.delta>prevEvent.delta||newEvent.direction!==prevEvent.direction)){recentWheelEvents.splice(0)}else if(recentWheelEvents.length>=15&&firstEvent&&newEvent.time-firstEvent.time<500&&firstEvent.delta-newEvent.delta>=1&&newEvent.delta<=6){const snapToThreshold=delta>0?0.8:0.2;lastEventBeforeSnap=newEvent;recentWheelEvents.splice(0);timeout=nextTick(()=>{if(swiper.destroyed||!swiper.params) 743return;swiper.slideToClosest(swiper.params.speed,!0,undefined,snapToThreshold)},0)} 744if(!timeout){timeout=nextTick(()=>{if(swiper.destroyed||!swiper.params) 745return;const snapToThreshold=0.5;lastEventBeforeSnap=newEvent;recentWheelEvents.splice(0);swiper.slideToClosest(swiper.params.speed,!0,undefined,snapToThreshold)},500)}} 746if(!ignoreWheelEvents) 747emit('scroll',e);const autoplayParams=swiper.params.autoplay;
747if(swiper.params.autoplay&&autoplayParams?.disableOnInteraction){swiper.autoplay.stop()} 748if(params.releaseOnEdges&&(position===swiper.minTranslate()||position===swiper.maxTranslate())){return!0}}} 749if(e.cancelable) 750e.preventDefault();return!1} 751function events(method){const params=getParams();let targetEl=swiper.el;if(params.eventsTarget!=='container'){targetEl=document.querySelector(params.eventsTarget)} 752targetEl[method]('mouseenter',handleMouseEnter);targetEl[method]('mouseleave',handleMouseLeave);targetEl[method]('wheel',handle)} 753function enable(){if(swiper.params.cssMode){swiper.wrapperEl.removeEventListener('wheel',handle);return!0} 754if(swiper.mousewheel.enabled) 755return!1;events('addEventListener');swiper.mousewheel.enabled=!0;return!0} 756function disable(){if(swiper.params.cssMode){swiper.wrapperEl.addEventListener('wheel',handle);return!0} 757if(!swiper.mousewheel.enabled) 758return!1;events('removeEventListener');swiper.mousewheel.enabled=!1;return!0} 759on('init',()=>{const params=getParams();if(!params.enabled&&swiper.params.cssMode){disable()} 760if(params.enabled) 761enable()});swiper.mousewheel={enabled:!1,enable,disable,};on('destroy',()=>{if(swiper.params.cssMode){enable()} 762if(swiper.mousewheel.enabled) 763disable()})};function createElementIfNotDefined(swiper,originalParams,params,checkProps){const target=(params??{});const original=(originalParams??{});if(swiper.params.createElements){Object.keys(checkProps).forEach((key)=>{if(!target[key]&&target.auto===!0){let element=elementChildren(swiper.el,`.${checkProps[key]}`)[0];if(!element){element=createElement('div',checkProps[key]);element.className=checkProps[key];swiper.el.append(element)} 764target[key]=element;original[key]=element}})} 765return target} 766const arrowSvg=`<svg class="swiper-navigation-icon" width="11" height="20" viewBox="0 0 11 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.38296 20.0762C0.111788 19.805 0.111788 19.3654 0.38296 19.0942L9.19758 10.2796L0.38296 1.46497C0.111788 1.19379 0.111788 0.754138 0.38296 0.482966C0.654131 0.211794 1.09379 0.211794 1.36496 0.482966L10.4341 9.55214C10.8359 9.9539 10.8359 10.6053 10.4341 11.007L1.36496 20.0762C1.09379 20.3474 0.654131 20.3474 0.38296 20.0762Z" fill="currentColor"/></svg>`;const Navigation=({swiper,extendParams,on,emit})=>{extendParams({navigation:{nextEl:null,prevEl:null,addIcons:!0,hideOnClick:!1,disabledClass:'swiper-button-disabled',hiddenClass:'swiper-button-hidden',lockClass:'swiper-button-lock',navigationDisabledClass:'swiper-navigation-disabled',},});swiper.navigation={nextEl:null,prevEl:null,arrowSvg,};function getParams(){return swiper.params.navigation} 767function getEl(el){let res;if(el&&typeof el==='string'&&swiper.isElement){res=(swiper.el.querySelector(el)||swiper.hostEl.querySelector(el));if(res) 768return res} 769if(el){if(typeof el==='string') 770res=[...document.querySelectorAll(el)];if(swiper.params.uniqueNavElements&&typeof el==='string'&&res&&res.length>1&&swiper.el.querySelectorAll(el).length===1){res=swiper.el.querySelector(el)}else if(res&&res.length===1){res=res[0]}} 771if(el&&!res) 772return el;return res} 773function toggleEl(el,disabled){const params=getParams();const els=makeElementsArray(el);els.forEach((subEl)=>{if(subEl){subEl.classList[disabled?'add':'remove'](...params.disabledClass.split(' '));if(subEl.tagName==='BUTTON') 774subEl.disabled=disabled;if(swiper.params.watchOverflow&&swiper.enabled){subEl.classList[swiper.isLocked?'add':'remove'](params.lockClass)}}})} 775function update(){const{nextEl,prevEl}=swiper.navigation;if(swiper.params.loop){toggleEl(prevEl,!1);toggleEl(nextEl,!1);return} 776toggleEl(prevEl,swiper.isBeginning&&!swiper.params.rewind);toggleEl(nextEl,swiper.isEnd&&!swiper.params.rewind)} 777function onPrevClick(e){e.preventDefault();if(swiper.isBeginning&&!swiper.params.loop&&!swiper.params.rewind) 778return;swiper.slidePrev();emit('navigationPrev')} 779function onNextClick(e){e.preventDefault();if(swiper.isEnd&&!swiper.params.loop&&!swiper.params.rewind) 780return;swiper.slideNext();emit('navigationNext')} 781function init(){swiper.params.navigation=createElementIfNotDefined(swiper,swiper.originalParams.navigation,swiper.params.navigation,{nextEl:'swiper-button-next',prevEl:'swiper-button-prev',});const params=getParams();if(!(params.nextEl||params.prevEl)) 782return;const nextEl=getEl(params.nextEl);const prevEl=getEl(params.prevEl);Object.assign(swiper.navigation,{nextEl,prevEl,});const nextEls=makeElementsArray(nextEl);const prevEls=makeElementsArray(prevEl);const initButton=(el,dir)=>{if(el){if(params.addIcons&&el.matches('.swiper-button-next,.swiper-button-prev')&&!el.querySelector('svg')){const tempEl=document.createElement('div');setInnerHTML(tempEl,arrowSvg);const svgEl=tempEl.querySelector('svg');if(svgEl) 783el.appendChild(svgEl);tempEl.remove()} 784el.addEventListener('click',dir==='next'?onNextClick:onPrevClick)} 785if(!swiper.enabled&&el){el.classList.add(...params.lockClass.split(' '))}};
785nextEls.forEach((el)=>initButton(el,'next'));prevEls.forEach((el)=>initButton(el,'prev'))} 786function destroy(){const params=getParams();const{nextEl,prevEl}=swiper.navigation;const nextEls=makeElementsArray(nextEl);const prevEls=makeElementsArray(prevEl);const destroyButton=(el,dir)=>{el.removeEventListener('click',dir==='next'?onNextClick:onPrevClick);el.classList.remove(...params.disabledClass.split(' '))};nextEls.forEach((el)=>destroyButton(el,'next'));prevEls.forEach((el)=>destroyButton(el,'prev'))} 787on('init',()=>{if(getParams().enabled===!1){disable()}else{init();update()}});on('toEdge fromEdge lock unlock',()=>{update()});on('destroy',()=>{destroy()});on('enable disable',()=>{const params=getParams();const{nextEl,prevEl}=swiper.navigation;const nextEls=makeElementsArray(nextEl);const prevEls=makeElementsArray(prevEl);if(swiper.enabled){update();return}[...nextEls,...prevEls].filter((el)=>!!el).forEach((el)=>el.classList.add(params.lockClass))});on('click',(_s,e)=>{const params=getParams();const{nextEl,prevEl}=swiper.navigation;const nextEls=makeElementsArray(nextEl);const prevEls=makeElementsArray(prevEl);const targetEl=e.target;let targetIsButton=prevEls.includes(targetEl)||nextEls.includes(targetEl);if(swiper.isElement&&!targetIsButton){const path=e.composedPath?e.composedPath():[];if(path.length){targetIsButton=path.find((pathEl)=>nextEls.includes(pathEl)||prevEls.includes(pathEl))}} 788if(params.hideOnClick&&!targetIsButton){if(swiper.pagination&&swiper.params.pagination&&swiper.params.pagination.clickable&&(swiper.pagination.el===targetEl||swiper.pagination.el.contains(targetEl))) 789return;let isHidden;if(nextEls.length){isHidden=nextEls[0].classList.contains(params.hiddenClass)}else if(prevEls.length){isHidden=prevEls[0].classList.contains(params.hiddenClass)} 790if(isHidden===!0){emit('navigationShow')}else{emit('navigationHide')}[...nextEls,...prevEls].filter((el)=>!!el).forEach((el)=>el.classList.toggle(params.hiddenClass))}});const enable=()=>{const params=getParams();swiper.el.classList.remove(...params.navigationDisabledClass.split(' '));init();update()};const disable=()=>{const params=getParams();swiper.el.classList.add(...params.navigationDisabledClass.split(' '));destroy()};Object.assign(swiper.navigation,{enable,disable,update,init,destroy,})};function classesToSelector(classes=''){return `.${classes 791 .trim() 792 .replace(/([.:!+/()[\]#>~*^$|=,'"@{}\\])/g, '\\$1') 793 .replace(/ /g, '.')}`} 794const isVirtualEnabled$2=(swiper)=>!!swiper.virtual&&!!swiper.params.virtual?.enabled;const isFreeModeEnabled=(swiper)=>!!swiper.params.freeMode?.enabled;const getSlidesLength=(swiper)=>{if(isVirtualEnabled$2(swiper)) 795return swiper.virtual.slides.length;const gridRows=swiper.params.grid?.rows;if(swiper.grid&&gridRows&&gridRows>1){return swiper.slides.length/Math.ceil(gridRows)} 796return swiper.slides.length};const Pagination=({swiper,extendParams,on,emit})=>{const pfx='swiper-pagination';extendParams({pagination:{el:null,bulletElement:'span',clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:'bullets',dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:(number)=>number,formatFractionTotal:(number)=>number,bulletClass:`${pfx}-bullet`,bulletActiveClass:`${pfx}-bullet-active`,modifierClass:`${pfx}-`,currentClass:`${pfx}-current`,totalClass:`${pfx}-total`,hiddenClass:`${pfx}-hidden`,progressbarFillClass:`${pfx}-progressbar-fill`,progressbarOppositeClass:`${pfx}-progressbar-opposite`,clickableClass:`${pfx}-clickable`,lockClass:`${pfx}-lock`,horizontalClass:`${pfx}-horizontal`,verticalClass:`${pfx}-vertical`,paginationDisabledClass:`${pfx}-disabled`,},});swiper.pagination={el:null,bullets:[],};let bulletSize;let dynamicBulletIndex=0;function getParams(){return swiper.params.pagination} 797function isPaginationDisabled(){const elParam=getParams().el;return(!elParam||!swiper.pagination.el||(Array.isArray(swiper.pagination.el)&&swiper.pagination.el.length===0))} 798function setSideBullets(bulletEl,position){const{bulletActiveClass}=getParams();if(!bulletEl) 799return;let current=bulletEl[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`];if(current){current.classList.add(`${bulletActiveClass}-${position}`);current=current[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`];if(current){current.classList.add(`${bulletActiveClass}-${position}-${position}`)}}} 800function getMoveDirection(prevIndex,nextIndex,length){prevIndex=prevIndex%length;nextIndex=nextIndex%length;if(nextIndex===prevIndex+1){return'next'}else if(nextIndex===prevIndex-1){return'previous'} 801return undefined} 802function onBulletClick(e){const targetEl=e.target;const bulletEl=targetEl.closest(classesToSelector(getParams().bulletClass));if(!bulletEl){return} 803e.preventDefault();const index=(elementIndex(bulletEl)??0)*(swiper.params.slidesPerGroup??1);if(swiper.params.loop){if(swiper.realIndex===index) 804return;const moveDirection=getMoveDirection(swiper.realIndex,index,swiper.slides.length);if(moveDirection==='next'){swiper.slideNext()}else if(moveDirection==='previous'){swiper.slidePrev()}else{swiper.slideToLoop(index)}}else{swiper.slideTo(index)}}
805function update(){const rtl=swiper.rtl;const params=getParams();if(isPaginationDisabled()) 806return;const els=makeElementsArray(swiper.pagination.el);let current;let previousIndex;const slidesLength=getSlidesLength(swiper);const total=swiper.params.loop?Math.ceil(slidesLength/(swiper.params.slidesPerGroup??1)):swiper.snapGrid.length;if(swiper.params.loop){previousIndex=swiper.previousRealIndex||0;current=(swiper.params.slidesPerGroup??1)>1?Math.floor(swiper.realIndex/(swiper.params.slidesPerGroup??1)):swiper.realIndex}else if(typeof swiper.snapIndex!=='undefined'){current=swiper.snapIndex;previousIndex=swiper.previousSnapIndex}else{previousIndex=swiper.previousIndex||0;current=swiper.activeIndex||0} 807if(params.type==='bullets'&&swiper.pagination.bullets&&swiper.pagination.bullets.length>0){const bullets=swiper.pagination.bullets;let firstIndex=0;let lastIndex=0;let midIndex=0;if(params.dynamicBullets){bulletSize=elementOuterSize(bullets[0],swiper.isHorizontal()?'width':'height');const dim=swiper.isHorizontal()?'width':'height';
807els.forEach((subEl)=>{subEl.style[dim]=`${(bulletSize ?? 0) * (params.dynamicMainBullets + 4)}px`});if(params.dynamicMainBullets>1&&previousIndex!==undefined){dynamicBulletIndex+=current-(previousIndex||0);if(dynamicBulletIndex>params.dynamicMainBullets-1){dynamicBulletIndex=params.dynamicMainBullets-1}else if(dynamicBulletIndex<0){dynamicBulletIndex=0}} 808firstIndex=Math.max(current-dynamicBulletIndex,0);lastIndex=firstIndex+(Math.min(bullets.length,params.dynamicMainBullets)-1);midIndex=(lastIndex+firstIndex)/2} 809bullets.forEach((bulletEl)=>{const classesToRemove=['','-next','-next-next','-prev','-prev-prev','-main',].map((suffix)=>`${params.bulletActiveClass}${suffix}`).flatMap((s)=>(typeof s==='string'&&s.includes(' ')?s.split(' '):[s]));bulletEl.classList.remove(...classesToRemove)});if(els.length>1){bullets.forEach((bullet)=>{const bulletIndex=elementIndex(bullet);if(bulletIndex===current){bullet.classList.add(...params.bulletActiveClass.split(' '))}else if(swiper.isElement){bullet.setAttribute('part','bullet')} 810if(params.dynamicBullets&&bulletIndex!==undefined){if(bulletIndex>=firstIndex&&bulletIndex<=lastIndex){bullet.classList.add(...`${params.bulletActiveClass}-main`.split(' '))} 811if(bulletIndex===firstIndex){setSideBullets(bullet,'prev')} 812if(bulletIndex===lastIndex){setSideBullets(bullet,'next')}}})}else{const bullet=bullets[current];if(bullet){bullet.classList.add(...params.bulletActiveClass.split(' '))} 813if(swiper.isElement){bullets.forEach((bulletEl,bulletIndex)=>{bulletEl.setAttribute('part',bulletIndex===current?'bullet-active':'bullet')})} 814if(params.dynamicBullets){const firstDisplayedBullet=bullets[firstIndex];const lastDisplayedBullet=bullets[lastIndex];for(let i=firstIndex;i<=lastIndex;i+=1){if(bullets[i]){bullets[i].classList.add(...`${params.bulletActiveClass}-main`.split(' '))}} 815setSideBullets(firstDisplayedBullet,'prev');setSideBullets(lastDisplayedBullet,'next')}} 816if(params.dynamicBullets){const dynamicBulletsLength=Math.min(bullets.length,params.dynamicMainBullets+4);const bulletsOffset=((bulletSize??0)*dynamicBulletsLength-(bulletSize??0))/2-midIndex*(bulletSize??0);const offsetProp=rtl?'right':'left';const positionDim=swiper.isHorizontal()?offsetProp:'top';bullets.forEach((bullet)=>{bullet.style[positionDim]=`${bulletsOffset}px`})}} 817els.forEach((subEl,subElIndex)=>{if(params.type==='fraction'){subEl.querySelectorAll(classesToSelector(params.currentClass)).forEach((fractionEl)=>{fractionEl.textContent=String(params.formatFractionCurrent(current+1))});subEl.querySelectorAll(classesToSelector(params.totalClass)).forEach((totalEl)=>{totalEl.textContent=String(params.formatFractionTotal(total))})} 818if(params.type==='progressbar'){let progressbarDirection;if(params.progressbarOpposite){progressbarDirection=swiper.isHorizontal()?'vertical':'horizontal'}else{progressbarDirection=swiper.isHorizontal()?'horizontal':'vertical'} 819const scale=(current+1)/total;let scaleX=1;let scaleY=1;if(progressbarDirection==='horizontal'){scaleX=scale}else{scaleY=scale} 820subEl.querySelectorAll(classesToSelector(params.progressbarFillClass)).forEach((progressEl)=>{progressEl.style.transform=`translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`;progressEl.style.transitionDuration=`${swiper.params.speed}ms`})} 821if(params.type==='custom'&¶ms.renderCustom){setInnerHTML(subEl,params.renderCustom(swiper,current+1,total));if(subElIndex===0) 822emit('paginationRender',subEl)}else{if(subElIndex===0) 823emit('paginationRender',subEl);emit('paginationUpdate',subEl)} 824if(swiper.params.watchOverflow&&swiper.enabled){subEl.classList[swiper.isLocked?'add':'remove'](params.lockClass)}})} 825function render(){const params=getParams();if(isPaginationDisabled()) 826return;const slidesLength=getSlidesLength(swiper);const els=makeElementsArray(swiper.pagination.el);let paginationHTML='';if(params.type==='bullets'){let numberOfBullets=swiper.params.loop?Math.ceil(slidesLength/(swiper.params.slidesPerGroup??1)):swiper.snapGrid.length;if(swiper.params.freeMode&&isFreeModeEnabled(swiper)&&numberOfBullets>slidesLength){numberOfBullets=slidesLength} 827for(let i=0;i<numberOfBullets;i+=1){if(params.renderBullet){paginationHTML+=params.renderBullet.call(swi
827per,i,params.bulletClass)}else{paginationHTML+=`<${params.bulletElement} ${swiper.isElement ? 'part="bullet"' : ''} class="${params.bulletClass}"></${params.bulletElement}>`}}} 828if(params.type==='fraction'){if(params.renderFraction){paginationHTML=params.renderFraction.call(swiper,params.currentClass,params.totalClass)}else{paginationHTML=`<span class="${params.currentClass}"></span>`+' / '+`<span class="${params.totalClass}"></span>`}} 829if(params.type==='progressbar'){if(params.renderProgressbar){paginationHTML=params.renderProgressbar.call(swiper,params.progressbarFillClass)}else{paginationHTML=`<span class="${params.progressbarFillClass}"></span>`}} 830swiper.pagination.bullets=[];els.forEach((subEl)=>{if(params.type!=='custom'){setInnerHTML(subEl,paginationHTML||'')} 831if(params.type==='bullets'){swiper.pagination.bullets.push(...Array.from(subEl.querySelectorAll(classesToSelector(params.bulletClass))))}});if(params.type!=='custom'){emit('paginationRender',els[0])}} 832function init(){swiper.params.pagination=createElementIfNotDefined(swiper,swiper.originalParams.pagination,swiper.params.pagination,{el:'swiper-pagination'});const params=getParams();if(!params.el) 833return;let el;if(typeof params.el==='string'&&swiper.isElement){el=swiper.el.querySelector(params.el)} 834if(!el&&typeof params.el==='string'){el=[...document.querySelectorAll(params.el)]} 835if(!el){el=params.el} 836if(!el||(Array.isArray(el)&&el.length===0)) 837return;if(swiper.params.uniqueNavElements&&typeof params.el==='string'&&Array.isArray(el)&&el.length>1){el=[...swiper.el.querySelectorAll(params.el)];if(el.length>1){const found=el.find((subEl)=>{if(elementParents(subEl,'.swiper')[0]!==swiper.el) 838return!1;return!0});if(found) 839el=found}} 840if(Array.isArray(el)&&el.length===1) 841el=el[0];Object.assign(swiper.pagination,{el,});const els=makeElementsArray(el);els.forEach((subEl)=>{if(params.type==='bullets'&¶ms.clickable){subEl.classList.add(...(params.clickableClass||'').split(' '))} 842subEl.classList.add(params.modifierClass+params.type);subEl.classList.add(swiper.isHorizontal()?params.horizontalClass:params.verticalClass);if(params.type==='bullets'&¶ms.dynamicBullets){subEl.classList.add(`${params.modifierClass}${params.type}-dynamic`);dynamicBulletIndex=0;if(params.dynamicMainBullets<1){params.dynamicMainBullets=1}} 843if(params.type==='progressbar'&¶ms.progressbarOpposite){subEl.classList.add(params.progressbarOppositeClass)} 844if(params.clickable){subEl.addEventListener('click',onBulletClick)} 845if(!swiper.enabled){subEl.classList.add(params.lockClass)}})} 846function destroy(){const params=getParams();if(isPaginationDisabled()) 847return;const el=swiper.pagination.el;if(el){const els=makeElementsArray(el);els.forEach((subEl)=>{subEl.classList.remove(params.hiddenClass);subEl.classList.remove(params.modifierClass+params.type);subEl.classList.remove(swiper.isHorizontal()?params.horizontalClass:params.verticalClass);if(params.clickable){subEl.classList.remove(...(params.clickableClass||'').split(' '));subEl.removeEventListener('click',onBulletClick)}})} 848if(swiper.pagination.bullets) 849swiper.pagination.bullets.forEach((subEl)=>subEl.classList.remove(...params.bulletActiveClass.split(' ')))} 850on('changeDirection',()=>{if(!swiper.pagination||!swiper.pagination.el) 851return;const params=getParams();const els=makeElementsArray(swiper.pagination.el);els.forEach((subEl)=>{subEl.classList.remove(params.horizontalClass,params.verticalClass);subEl.classList.add(swiper.isHorizontal()?params.horizontalClass:params.verticalClass)})});on('init',()=>{if(getParams().enabled===!1){disable()}else{init();render();update()}});on('activeIndexChange',()=>{if(typeof swiper.snapIndex==='undefined'){update()}});on('snapIndexChange',()=>{update()});on('snapGridLengthChange',()=>{render();update()});on('destroy',()=>{destroy()});on('enable disable',()=>{const{el}=swiper.pagination;if(el){const params=getParams();const els=makeElementsArray(el);els.forEach((subEl)=>subEl.classList[swiper.enabled?'remove':'add'](params.lockClass))}});on('lock unlock',()=>{update()});on('click',(_s,e)=>{const targetEl=e.target;
851const els=makeElementsArray(swiper.pagination.el);const params=getParams();if(params.el&¶ms.hideOnClick&&els&&els.length>0&&!targetEl.classList.contains(params.bulletClass)){if(swiper.navigation&&((swiper.navigation.nextEl&&targetEl===swiper.navigation.nextEl)||(swiper.navigation.prevEl&&targetEl===swiper.navigation.prevEl))) 852return;const isHidden=els[0].classList.contains(params.hiddenClass);if(isHidden===!0){emit('paginationShow')}else{emit('paginationHide')} 853els.forEach((subEl)=>subEl.classList.toggle(params.hiddenClass))}});const enable=()=>{const params=getParams();swiper.el.classList.remove(params.paginationDisabledClass);const{el}=swiper.pagination;if(el){const els=makeElementsArray(el);els.forEach((subEl)=>subEl.classList.remove(params.paginationDisabledClass))} 854init();render();update()};const disable=()=>{const params=getParams();swiper.el.classList.add(params.paginationDisabledClass);const{el}=swiper.pagination;if(el){const els=makeElementsArray(el);els.forEach((subEl)=>subEl.classList.add(params.paginationDisabledClass))} 855destroy()};Object.assign(swiper.pagination,{enable,disable,render,update,init,destroy,})};const Scrollbar=({swiper,extendParams,on,emit})=>{let isTouched=!1;let timeout=null;let dragTimeout=null;let dragStartPos=0;let dragSize=0;let trackSize=0;let divider=0;extendParams({scrollbar:{el:null,dragSize:'auto',hide:!1,draggable:!1,snapOnRelease:!0,lockClass:'swiper-scrollbar-lock',dragClass:'swiper-scrollbar-drag',scrollbarDisabledClass:'swiper-scrollbar-disabled',horizontalClass:`swiper-scrollbar-horizontal`,verticalClass:`swiper-scrollbar-vertical`,},});swiper.scrollbar={el:null,dragEl:null,};function getParams(){return swiper.params.scrollbar} 856function setTranslate(){const params=getParams();if(!params.el||!swiper.scrollbar.el) 857return;const{scrollbar,rtlTranslate:rtl}=swiper;const{dragEl,el}=scrollbar;const progress=swiper.params.loop?(swiper.progressLoop??0):swiper.progress;let newSize=dragSize;let newPos=(trackSize-dragSize)*progress;if(rtl){newPos=-newPos;if(newPos>0){newSize=dragSize-newPos;newPos=0}else if(-newPos+dragSize>trackSize){newSize=trackSize+newPos}}else if(newPos<0){newSize=dragSize+newPos;newPos=0}else if(newPos+dragSize>trackSize){newSize=trackSize-newPos} 858if(swiper.isHorizontal()){dragEl.style.transform=`translate3d(${newPos}px, 0, 0)`;dragEl.style.width=`${newSize}px`}else{dragEl.style.transform=`translate3d(0px, ${newPos}px, 0)`;dragEl.style.height=`${newSize}px`} 859if(params.hide){if(timeout) 860clearTimeout(timeout);el.style.opacity='1';timeout=setTimeout(()=>{el.style.opacity='0';el.style.transitionDuration='400ms'},1000)}} 861function setTransition(duration){if(!getParams().el||!swiper.scrollbar.el) 862return;swiper.scrollbar.dragEl.style.transitionDuration=`${duration}ms`} 863function updateSize(){const params=getParams();if(!params.el||!swiper.scrollbar.el) 864return;const{scrollbar}=swiper;const{dragEl,el}=scrollbar;dragEl.style.width='';dragEl.style.height='';trackSize=swiper.isHorizontal()?el.offsetWidth:el.offsetHeight;divider=swiper.size/(swiper.virtualSize+(swiper.params.slidesOffsetBefore??0)-(swiper.params.centeredSlides?swiper.snapGrid[0]:0));if(params.dragSize==='auto'){dragSize=trackSize*divider}else{dragSize=parseInt(String(params.dragSize),10)} 865if(swiper.isHorizontal()){dragEl.style.width=`${dragSize}px`}else{dragEl.style.height=`${dragSize}px`} 866if(divider>=1){el.style.display='none'}else{el.style.display=''} 867if(params.hide){el.style.opacity='0'} 868if(swiper.params.watchOverflow&&swiper.enabled){scrollbar.el.classList[swiper.isLocked?'add':'remove'](params.lockClass)}} 869function getPointerPosition(e){if(swiper.isHorizontal()){return e.clientX??e.touches?.[0]?.clientX??0} 870return e.clientY??e.touches?.[0]?.clientY??0} 871function setDragPosition(e){const{scrollbar,rtlTranslate:rtl}=swiper;const{el}=scrollbar;let positionRatio;positionRatio=(getPointerPosition(e)-elementOffset(el)[swiper.isHorizontal()?'left':'top']-(dragStartPos!==null?dragStartPos:dragSize / 2)) /(trackSize-dragSize);positionRatio=Math.max(Math.min(positionRatio,1),0);if(rtl){positionRatio=1-positionRatio} 872const position=swiper.minTranslate()+(swiper.maxTranslate()-swiper.minTranslate())*positionRatio;swiper.updateProgress(position);swiper.setTranslate(position);swiper.updateActiveIndex();swiper.updateSlidesClasses()} 873function onDragStart(e){const params=getParams();const{scrollbar,wrapperEl}=swiper;const{el,dragEl}=scrollbar;isTouched=!0;dragStartPos=e.target===dragEl?getPointerPosition(e)-e.target.getBoundingClientRect()[swiper.isHorizontal()?'left':'top']:null;e.preventDefault();e.stopPropagation();wrapperEl.style.transitionDuration='100ms';dragEl.style.transitionDuration='100ms';setDragPosition(e);if(dragTimeout) 874clearTimeout(dragTimeout);el.style.transitionDuration='0ms';if(params.hide){el.style.opacity='1'} 875if(swiper.params.cssMode){swiper.wrapperEl.style.scrollSnapType='none'} 876emit('scrollbarDragStart',e)} 877function onDragMove(e){const{scrollbar,wrapperEl}=swiper;const{el,dragEl}=scrollbar;if(!isTouched) 878return;if(e.cancelable) 879e.preventDefault();setDragPosition(e);wrapperEl.style.transitionDuration='0ms';el.style.transitionDuration='0ms';dragEl.style.transitionDuration='0ms';emit('scrollbarDragMove',e)} 880function onDragEnd(e){const params=getParams();const{scrollbar,wrapperEl}=swiper;const{el}=scrollbar;if(!isTouched) 881return;isTouched=!1;if(swiper.params.cssMode){swiper.wrapperEl.style.scrollSnapType='';wrapperEl.style.transitionDuration=''} 882if(params.hide){if(dragTimeout) 883clearTimeout(dragTimeout);dragTimeout=nextTick(()=>{el.style.opacity='0';el.style.transitionDuration='400ms'},1000)} 884emit('scrollbarDragEnd',e);if(params.snapOnRelease){swiper.slideToClosest()}}
885function events(method){const{scrollbar,params}=swiper;const el=scrollbar.el;if(!el) 886return;const activeListener=params.passiveListeners?{passive:!1,capture:!1}:!1;const passiveListener=params.passiveListeners?{passive:!0,capture:!1}:!1;const eventMethod=method==='on'?'addEventListener':'removeEventListener';el[eventMethod]('pointerdown',onDragStart,activeListener);document[eventMethod]('pointermove',onDragMove,activeListener);document[eventMethod]('pointerup',onDragEnd,passiveListener)} 887function enableDraggable(){if(!getParams().el||!swiper.scrollbar.el) 888return;events('on')} 889function disableDraggable(){if(!getParams().el||!swiper.scrollbar.el) 890return;events('off')} 891function init(){const{scrollbar,el:swiperEl}=swiper;swiper.params.scrollbar=createElementIfNotDefined(swiper,swiper.originalParams.scrollbar,swiper.params.scrollbar,{el:'swiper-scrollbar'});const params=getParams();if(!params.el) 892return;let el;if(typeof params.el==='string'&&swiper.isElement){el=swiper.el.querySelector(params.el)} 893if(!el&&typeof params.el==='string'){el=document.querySelectorAll(params.el);if(!el.length) 894return}else if(!el){el=params.el} 895if(swiper.params.uniqueNavElements&&typeof params.el==='string'&&el.length>1&&swiperEl.querySelectorAll(params.el).length===1){el=swiperEl.querySelector(params.el)} 896if(el.length>0){el=el[0]} 897const elTyped=el;elTyped.classList.add(swiper.isHorizontal()?params.horizontalClass:params.verticalClass);let dragEl=null;if(elTyped){dragEl=elTyped.querySelector(classesToSelector(params.dragClass));if(!dragEl){dragEl=createElement('div',params.dragClass);elTyped.append(dragEl)}} 898Object.assign(scrollbar,{el:elTyped,dragEl,});if(params.draggable){enableDraggable()} 899if(elTyped){elTyped.classList[swiper.enabled?'remove':'add'](...classesToTokens(params.lockClass))}} 900function destroy(){const params=getParams();const el=swiper.scrollbar.el;if(el){el.classList.remove(...classesToTokens(swiper.isHorizontal()?params.horizontalClass:params.verticalClass))} 901disableDraggable()} 902on('changeDirection',()=>{if(!swiper.scrollbar||!swiper.scrollbar.el) 903return;const params=getParams();const els=makeElementsArray(swiper.scrollbar.el);els.forEach((subEl)=>{subEl.classList.remove(params.horizontalClass,params.verticalClass);subEl.classList.add(swiper.isHorizontal()?params.horizontalClass:params.verticalClass)})});on('init',()=>{if(getParams().enabled===!1){disable()}else{init();updateSize();setTranslate()}});on('update resize observerUpdate lock unlock changeDirection',()=>{updateSize()});on('setTranslate',()=>{setTranslate()});on('setTransition',(_s,duration)=>{setTransition(duration)});on('enable disable',()=>{const{el}=swiper.scrollbar;if(el){el.classList[swiper.enabled?'remove':'add'](...classesToTokens(getParams().lockClass))}});on('destroy',()=>{destroy()});const enable=()=>{const params=getParams();swiper.el.classList.remove(...classesToTokens(params.scrollbarDisabledClass));if(swiper.scrollbar.el){swiper.scrollbar.el.classList.remove(...classesToTokens(params.scrollbarDisabledClass))} 904init();updateSize();setTranslate()};const disable=()=>{const params=getParams();swiper.el.classList.add(...classesToTokens(params.scrollbarDisabledClass));if(swiper.scrollbar.el){swiper.scrollbar.el.classList.add(...classesToTokens(params.scrollbarDisabledClass))} 905destroy()};Object.assign(swiper.scrollbar,{enable,disable,updateSize,setTranslate,init,destroy,})};const Parallax=({swiper,extendParams,on})=>{extendParams({parallax:{enabled:!1,},});function getParams(){return swiper.params.parallax} 906const elementsSelector='[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]';const setTransform=(el,progress)=>{const{rtl}=swiper;const rtlFactor=rtl?-1:1;const p=el.getAttribute('data-swiper-parallax')||'0';let x=el.getAttribute('data-swiper-parallax-x');let y=el.getAttribute('data-swiper-parallax-y');const scale=el.getAttribute('data-swiper-parallax-scale');const opacity=el.getAttribute('data-swiper-parallax-opacity');const rotate=el.getAttribute('data-swiper-parallax-rotate');if(x||y){x=x||'0';y=y||'0'}
906else if(swiper.isHorizontal()){x=p;y='0'}else{y=p;x='0'} 907if(x.indexOf('%')>=0){x=`${parseInt(x, 10) * progress * rtlFactor}%`}else{x=`${Number(x) * progress * rtlFactor}px`} 908if(y.indexOf('%')>=0){y=`${parseInt(y, 10) * progress}%`}else{y=`${Number(y) * progress}px`} 909if(typeof opacity!=='undefined'&&opacity!==null){const opacityNum=Number(opacity);const currentOpacity=opacityNum-(opacityNum-1)*(1-Math.abs(progress));el.style.opacity=String(currentOpacity)} 910let transform=`translate3d(${x}, ${y}, 0px)`;if(typeof scale!=='undefined'&&scale!==null){const scaleNum=Number(scale);const currentScale=scaleNum-(scaleNum-1)*(1-Math.abs(progress));transform+=` scale(${currentScale})`} 911if(rotate&&typeof rotate!=='undefined'&&rotate!==null){const currentRotate=Number(rotate)*progress*-1;transform+=` rotate(${currentRotate}deg)`} 912el.style.transform=transform};const setTranslate=()=>{const{el,slides,progress,snapGrid}=swiper;const elements=elementChildren(el,elementsSelector);if(swiper.isElement){elements.push(...elementChildren(swiper.hostEl,elementsSelector))} 913elements.forEach((subEl)=>{setTransform(subEl,progress)});slides.forEach((slideEl,slideIndex)=>{let slideProgress=slideEl.progress??0;const slidesPerGroup=swiper.params.slidesPerGroup??1;if(slidesPerGroup>1&&swiper.params.slidesPerView!=='auto'){slideProgress+=Math.ceil(slideIndex/2)-progress*(snapGrid.length-1)} 914slideProgress=Math.min(Math.max(slideProgress,-1),1);slideEl.querySelectorAll(`${elementsSelector}, [data-swiper-parallax-rotate]`).forEach((subEl)=>{setTransform(subEl,slideProgress)})})};const setTransition=(duration=swiper.params.speed??300)=>{const{el,hostEl}=swiper;const elements=[...el.querySelectorAll(elementsSelector)];if(swiper.isElement){elements.push(...hostEl.querySelectorAll(elementsSelector))} 915elements.forEach((parallaxEl)=>{const attr=parallaxEl.getAttribute('data-swiper-parallax-duration');let parallaxDuration=(attr?parseInt(attr,10):0)||duration;if(duration===0) 916parallaxDuration=0;parallaxEl.style.transitionDuration=`${parallaxDuration}ms`})};on('beforeInit',()=>{if(!getParams().enabled) 917return;swiper.params.watchSlidesProgress=!0;swiper.originalParams.watchSlidesProgress=!0});on('init',()=>{if(!getParams().enabled) 918return;setTranslate()});on('setTranslate',()=>{if(!getParams().enabled) 919return;setTranslate()});on('setTransition',(_swiper,duration)=>{if(!getParams().enabled) 920return;setTransition(duration)})};const Zoom=({swiper,extendParams,on,emit})=>{extendParams({zoom:{enabled:!1,limitToOriginalSize:!1,maxRatio:3,minRatio:1,panOnMouseMove:!1,toggle:!0,containerClass:'swiper-zoom-container',zoomedSlideClass:'swiper-slide-zoomed',},});swiper.zoom={enabled:!1,};function getParams(){return swiper.params.zoom} 921let currentScale=1;let isScaling=!1;let isPanningWithMouse=!1;let mousePanStart={x:0,y:0};const mousePanSensitivity=-3;let fakeGestureTouched=!1;let fakeGestureMoved=!1;const evCache=[];const gesture={originX:0,originY:0,slideEl:undefined,slideWidth:undefined,slideHeight:undefined,imageEl:undefined,imageWrapEl:undefined,maxRatio:3,};const image={isTouched:undefined,isMoved:undefined,currentX:undefined,currentY:undefined,minX:undefined,minY:undefined,maxX:undefined,maxY:undefined,width:undefined,height:undefined,startX:undefined,startY:undefined,touchesStart:{},touchesCurrent:{},};const velocity={x:undefined,y:undefined,prevPositionX:undefined,prevPositionY:undefined,prevTime:undefined,};let scale=1;Object.defineProperty(swiper.zoom,'scale',{get(){return scale},set(value){if(scale!==value){const imageEl=gesture.imageEl;const slideEl=gesture.slideEl;emit('zoomChange',value,imageEl,slideEl)} 922scale=value},});function getDistanceBetweenTouches(){if(evCache.length<2) 923return 1;const x1=evCache[0].pageX;const y1=evCache[0].pageY;const x2=evCache[1].pageX;const y2=evCache[1].pageY;const distance=Math.sqrt((x2-x1)**2+(y2-y1)**2);return distance} 924function getMaxRatio(){const params=getParams();const attr=gesture.imageWrapEl?.getAttribute('data-swiper-zoom');const maxRatio=attr!=null?Number(attr):params.maxRatio;const imageEl=gesture.imageEl;
924if(params.limitToOriginalSize&&imageEl&&imageEl.naturalWidth){const imageMaxRatio=imageEl.naturalWidth/imageEl.offsetWidth;return Math.min(imageMaxRatio,maxRatio)} 925return maxRatio} 926function getScaleOrigin(){if(evCache.length<2||!gesture.imageEl) 927return[null,null];const box=gesture.imageEl.getBoundingClientRect();return[(evCache[0].pageX+(evCache[1].pageX-evCache[0].pageX)/2-box.x-window.scrollX)/currentScale,(evCache[0].pageY+(evCache[1].pageY-evCache[0].pageY)/2-box.y-window.scrollY)/currentScale,]} 928function getSlideSelector(){return swiper.isElement?`swiper-slide`:`.${swiper.params.slideClass}`} 929function eventWithinSlide(e){const slideSelector=getSlideSelector();const target=e.target;if(!target) 930return!1;if(target.matches(slideSelector)) 931return!0;if(swiper.slides.filter((slideEl)=>slideEl.contains(target)).length>0) 932return!0;return!1} 933function eventWithinZoomContainer(e){const selector=`.${getParams().containerClass}`;const target=e.target;if(!target) 934return!1;if(target.matches(selector)) 935return!0;if([...swiper.hostEl.querySelectorAll(selector)].filter((containerEl)=>containerEl.contains(target)).length>0) 936return!0;return!1} 937function onGestureStart(e){if(e.pointerType==='mouse'){evCache.splice(0,evCache.length)} 938if(!eventWithinSlide(e)) 939return;const params=getParams();fakeGestureTouched=!1;fakeGestureMoved=!1;evCache.push(e);if(evCache.length<2){return} 940fakeGestureTouched=!0;gesture.scaleStart=getDistanceBetweenTouches();if(!gesture.slideEl){const target=e.target;gesture.slideEl=target?.closest(`.${swiper.params.slideClass}, swiper-slide`)??undefined;if(!gesture.slideEl) 941gesture.slideEl=swiper.slides[swiper.activeIndex];let imageEl=gesture.slideEl?.querySelector(`.${params.containerClass}`)??null;if(imageEl){imageEl=imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0]??null} 942gesture.imageEl=imageEl??undefined;if(imageEl){gesture.imageWrapEl=elementParents(imageEl,`.${params.containerClass}`)[0]??undefined}else{gesture.imageWrapEl=undefined} 943if(!gesture.imageWrapEl){gesture.imageEl=undefined;return} 944gesture.maxRatio=getMaxRatio()} 945if(gesture.imageEl){const[originX,originY]=getScaleOrigin();gesture.originX=originX??0;gesture.originY=originY??0;gesture.imageEl.style.transitionDuration='0ms'} 946isScaling=!0} 947function onGestureChange(e){if(!eventWithinSlide(e)) 948return;const params=getParams();const zoom=swiper.zoom;const pointerIndex=evCache.findIndex((cachedEv)=>cachedEv.pointerId===e.pointerId);if(pointerIndex>=0) 949evCache[pointerIndex]=e;if(evCache.length<2){return} 950fakeGestureMoved=!0;gesture.scaleMove=getDistanceBetweenTouches();if(!gesture.imageEl){return} 951zoom.scale=(gesture.scaleMove/(gesture.scaleStart??1))*currentScale;if(zoom.scale>gesture.maxRatio){zoom.scale=gesture.maxRatio-1+(zoom.scale-gesture.maxRatio+1)**0.5} 952if(zoom.scale<params.minRatio){zoom.scale=params.minRatio+1-(params.minRatio-zoom.scale+1)**0.5} 953gesture.imageEl.style.transform=`translate3d(0,0,0) scale(${zoom.scale})`} 954function onGestureEnd(e){if(!eventWithinSlide(e)) 955return;if(e.pointerType==='mouse'&&e.type==='pointerout') 956return;const params=getParams();const zoom=swiper.zoom;const pointerIndex=evCache.findIndex((cachedEv)=>cachedEv.pointerId===e.pointerId);if(pointerIndex>=0) 957evCache.splice(pointerIndex,1);if(!fakeGestureTouched||!fakeGestureMoved){return} 958fakeGestureTouched=!1;fakeGestureMoved=!1;if(!gesture.imageEl) 959return;zoom.scale=Math.max(Math.min(zoom.scale,gesture.maxRatio),params.minRatio);gesture.imageEl.style.transitionDuration=`${swiper.params.speed}ms`;gesture.imageEl.style.transform=`translate3d(0,0,0) scale(${zoom.scale})`;currentScale=zoom.scale;isScaling=!1;if(zoom.scale>1&&gesture.slideEl){gesture.slideEl.classList.add(`${params.zoomedSlideClass}`)}else if(zoom.scale<=1&&gesture.slideEl){gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`)} 960if(zoom.scale===1){gesture.originX=0;gesture.originY=0;gesture.slideEl=undefined}} 961let allowTouchMoveTimeout;function allowTouchMove(){swiper.touchEventsData.preventTouchMoveFromPointerMove=!1} 962function preventTouchMove(){if(allowTouchMoveTimeout!==undefined) 963clearTimeout(allowTouchMoveTimeout);swiper.touchEventsData.preventTouchMoveFromPointerMove=!0;allowTouchMoveTimeout=setTimeout(()=>{if(swiper.destroyed) 964return;allowTouchMove()})} 965function onTouchStart(e){const device=swiper.device;if(image.isTouched) 966return;const event=evCache.length>0?evCache[0]:e;image.touchesStart.x=event.pageX;image.touchesStart.y=event.pageY;if(!gesture.imageEl) 967return;if(device.android&&e.cancelable) 968e.preventDefault();image.isTouched=!0} 969function onTouchMove(e){const isMouseEvent=e.pointerType==='mouse';const isMousePan=isMouseEvent&&getParams().panOnMouseMove;if(!eventWithinSlide(e)||!eventWithinZoomContainer(e)){return} 970const zoom=swiper.zoom;if(!gesture.imageEl){return} 971if(!image.isTouched||!gesture.slideEl){if(isMousePan) 972onMouseMove(e);return} 973if(isMousePan){onMouseMove(e);return} 974if(!image.isMoved){image.width=gesture.imageEl.offsetWidth||gesture.imageEl.clientWidth;image.height=gesture.imageEl.offsetHeight||gesture.imageEl.clientHeight;image.startX=getTranslate(gesture.imageWrapEl,'x')||0;image.startY=getTranslate(gesture.imageWrapEl,'y')||0;gesture.slideWidth=gesture.slideEl.offsetWidth;gesture.slideHeight=gesture.slideEl.offsetHeight;gesture.imageWrapEl.style.transitionDuration='0ms'} 975const scaledWidth=image.width*zoom.scale;const scaledHeight=image.height*zoom.scale;image.minX=Math.min(gesture.slideWidth/2-scaledWidth/2,0);image.maxX=-image.minX;image.minY=Math.min(gesture.slideHeight/2-scaledHeight/2,0);image.maxY=-image.minY;image.touchesCurrent.x=evCache.length>0?evCache[0].pageX:e.pageX;image.touchesCurrent.y=evCache.length>0?evCache[0].pageY:e.pageY;const touchesDiff=Math.max(Math.abs(image.touchesCurrent.x-(image.touchesStart.x??0)),Math.abs(image.touchesCurrent.y-(image.touchesStart.y??0)));if(touchesDiff>5){swiper.allowClick=!1} 976const startX=image.startX??0;const startY=image.startY??0;if(!image.isMoved&&!isScaling){if(swiper.isHorizontal()&&((Math.floor(image.minX)===Math.floor(startX)&&image.touchesCurrent.x<(image.touchesStart.x??0))||(Math.floor(image.maxX)===Math.floor(startX)&&image.touchesCurrent.x>(image.touchesStart.x??0)))){image.isTouched=!1;allowTouchMove();return} 977if(!swiper.isHorizontal()&&((Math.floor(image.minY)===Math.floor(startY)&&image.touchesCurrent.y<(image.touchesStart.y??0))||(Math.floor(image.maxY)===Math.floor(startY)&&image.touchesCurrent.y>(image.touchesStart.y??0)))){image.isTouched=!1;allowTouchMove();return}} 978if(e.cancelable){e.preventDefault()} 979e.stopPropagation();preventTouchMove();image.isMoved=!0;const scaleRatio=(zoom.scale-currentScale)/(gesture.maxRatio-getParams().minRatio);const{originX,originY}=gesture;image.currentX=image.touchesCurrent.x-(image.touchesStart.x??0)+startX+scaleRatio*(image.width-originX*2);image.currentY=image.touchesCurrent.y-(image.touchesStart.y??0)+startY+scaleRatio*(image.height-originY*2);if(image.currentX<image.minX){image.currentX=image.minX+1-(image.minX-image.currentX+1)**0.8} 980if(image.currentX>image.maxX){image.currentX=image.maxX-1+(image.currentX-image.maxX+1)**0.8} 981if(image.currentY<image.minY){image.currentY=image.minY+1-(image.minY-image.currentY+1)**0.8} 982if(image.currentY>image.maxY){image.currentY=image.maxY-1+(image.currentY-image.maxY+1)**0.8} 983if(!velocity.prevPositionX) 984velocity.prevPositionX=image.touchesCurrent.x;if(!velocity.prevPositionY) 985velocity.prevPositionY=image.touchesCurrent.y;if(!velocity.prevTime) 986velocity.prevTime=Date.now();velocity.x=(image.touchesCurrent.x-velocity.prevPositionX)/(Date.now()-velocity.prevTime)/2;velocity.y=(image.touchesCurrent.y-velocity.prevPositionY)/(Date.now()-velocity.prevTime)/2;if(Math.abs(image.touchesCurrent.x-velocity.prevPositionX)<2) 987velocity.x=0;if(Math.abs(image.touchesCurrent.y-velocity.prevPositionY)<2) 988velocity.y=0;velocity.prevPositionX=image.touchesCurrent.x;velocity.prevPositionY=image.touchesCurrent.y;velocity.prevTime=Date.now();gesture.imageWrapEl.style.transform=`translate3d(${image.currentX}px, ${image.currentY}px,0)`} 989function onTouchEnd(){const zoom=swiper.zoom;evCache.length=0;if(!gesture.imageEl) 990return;if(!image.isTouched||!image.isMoved){image.isTouched=!1;image.isMoved=!1;return} 991image.isTouched=!1;image.isMoved=!1;let momentumDurationX=300;let momentumDurationY=300;const velocityX=velocity.x??0;const velocityY=velocity.y??0;const momentumDistanceX=velocityX*momentumDurationX;const newPositionX=image.currentX+momentumDistanceX;const momentumDistanceY=velocityY*momentumDurationY;const newPositionY=image.currentY+momentumDistanceY;if(velocityX!==0) 992momentumDurationX=Math.abs((newPositionX-image.currentX)/velocityX);if(velocityY!==0) 993momentumDurationY=Math.abs((newPositionY-image.currentY)/velocityY);const momentumDuration=Math.max(momentumDurationX,momentumDurationY);image.currentX=newPositionX;image.currentY=newPositionY;const scaledWidth=image.width*zoom.scale;const scaledHeight=image.height*zoom.scale;image.minX=Math.min(gesture.slideWidth/2-scaledWidth/2,0);image.maxX=-image.minX;image.minY=Math.min(gesture.slideHeight/2-scaledHeight/2,0);image.maxY=-image.minY;image.currentX=Math.max(Math.min(image.currentX,image.maxX),image.minX);image.currentY=Math.max(Math.min(image.currentY,image.maxY),image.minY);gesture.imageWrapEl.style.transitionDuration=`${momentumDuration}ms`;gesture.imageWrapEl.style.transform=`translate3d(${image.currentX}px, ${image.currentY}px,0)`} 994function onTransitionEnd(){const zoom=swiper.zoom;if(gesture.slideEl&&swiper.activeIndex!==swiper.slides.indexOf(gesture.slideEl)){if(gesture.imageEl){gesture.imageEl.style.transform='translate3d(0,
9940,0) scale(1)'} 995if(gesture.imageWrapEl){gesture.imageWrapEl.style.transform='translate3d(0,0,0)'} 996gesture.slideEl.classList.remove(`${getParams().zoomedSlideClass}`);zoom.scale=1;currentScale=1;gesture.slideEl=undefined;gesture.imageEl=undefined;gesture.imageWrapEl=undefined;gesture.originX=0;gesture.originY=0}} 997function onMouseMove(e){if(currentScale<=1||!gesture.imageWrapEl) 998return;if(!eventWithinSlide(e)||!eventWithinZoomContainer(e)) 999return;const currentTransform=window.getComputedStyle(gesture.imageWrapEl).transform;const matrix=new window.DOMMatrix(currentTransform);if(!isPanningWithMouse){isPanningWithMouse=!0;mousePanStart.x=e.clientX;mousePanStart.y=e.clientY;image.startX=matrix.e;image.startY=matrix.f;image.width=gesture.imageEl.offsetWidth||gesture.imageEl.clientWidth;image.height=gesture.imageEl.offsetHeight||gesture.imageEl.clientHeight;gesture.slideWidth=gesture.slideEl.offsetWidth;gesture.slideHeight=gesture.slideEl.offsetHeight;return} 1000const deltaX=(e.clientX-mousePanStart.x)*mousePanSensitivity;const deltaY=(e.clientY-mousePanStart.y)*mousePanSensitivity;const scaledWidth=image.width*currentScale;const scaledHeight=image.height*currentScale;const slideWidth=gesture.slideWidth;const slideHeight=gesture.slideHeight;const minX=Math.min(slideWidth/2-scaledWidth/2,0);const maxX=-minX;const minY=Math.min(slideHeight/2-scaledHeight/2,0);const maxY=-minY;const newX=Math.max(Math.min(image.startX+deltaX,maxX),minX);const newY=Math.max(Math.min(image.startY+deltaY,maxY),minY);gesture.imageWrapEl.style.transitionDuration='0ms';gesture.imageWrapEl.style.transform=`translate3d(${newX}px, ${newY}px, 0)`;mousePanStart.x=e.clientX;mousePanStart.y=e.clientY;image.startX=newX;image.startY=newY;image.currentX=newX;image.currentY=newY} 1001function zoomIn(e){const zoom=swiper.zoom;const params=getParams();if(!gesture.slideEl){if(e&&typeof e!=='number'&&'target' in e&&e.target){gesture.slideEl=e.target.closest(`.${swiper.params.slideClass}, swiper-slide`)??undefined} 1002if(!gesture.slideEl){const virtual=swiper.params.virtual;if(virtual&&virtual.enabled&&swiper.virtual){gesture.slideEl=elementChildren(swiper.slidesEl,`.${swiper.params.slideActiveClass}`)[0]??undefined}else{gesture.slideEl=swiper.slides[swiper.activeIndex]}} 1003let imageEl=gesture.slideEl?.querySelector(`.${params.containerClass}`)??null;if(imageEl){imageEl=imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0]??null} 1004gesture.imageEl=imageEl??undefined;if(imageEl){gesture.imageWrapEl=elementParents(imageEl,`.${params.containerClass}`)[0]??undefined}else{gesture.imageWrapEl=undefined}} 1005if(!gesture.imageEl||!gesture.imageWrapEl||!gesture.slideEl) 1006return;gesture.maxRatio=getMaxRatio();if(swiper.params.cssMode){swiper.wrapperEl.style.overflow='hidden';swiper.wrapperEl.style.touchAction='none'} 1007gesture.slideEl.classList.add(`${params.zoomedSlideClass}`);let touchX;let touchY;let offsetX;let offsetY;let diffX;let diffY;let translateX;let translateY;let imageWidth;let imageHeight;let scaledWidth;let scaledHeight;let translateMinX;let translateMinY;let translateMaxX;let translateMaxY;let slideWidth;let slideHeight;const eventIsPointer=e&&typeof e!=='number';if(typeof image.touchesStart.x==='undefined'&&eventIsPointer){touchX=e.pageX;touchY=e.pageY}else{touchX=image.touchesStart.x;touchY=image.touchesStart.y} 1008const prevScale=currentScale;const forceZoomRatio=typeof e==='number'?e:null;
1008if(currentScale===1&&forceZoomRatio){touchX=undefined;touchY=undefined;image.touchesStart.x=undefined;image.touchesStart.y=undefined} 1009const maxRatio=getMaxRatio();zoom.scale=forceZoomRatio||maxRatio;currentScale=forceZoomRatio||maxRatio;if(e&&!(currentScale===1&&forceZoomRatio)){slideWidth=gesture.slideEl.offsetWidth;slideHeight=gesture.slideEl.offsetHeight;offsetX=elementOffset(gesture.slideEl).left+window.scrollX;offsetY=elementOffset(gesture.slideEl).top+window.scrollY;diffX=offsetX+slideWidth/2-(touchX??0);diffY=offsetY+slideHeight/2-(touchY??0);imageWidth=gesture.imageEl.offsetWidth||gesture.imageEl.clientWidth;imageHeight=gesture.imageEl.offsetHeight||gesture.imageEl.clientHeight;scaledWidth=imageWidth*zoom.scale;scaledHeight=imageHeight*zoom.scale;translateMinX=Math.min(slideWidth/2-scaledWidth/2,0);translateMinY=Math.min(slideHeight/2-scaledHeight/2,0);translateMaxX=-translateMinX;translateMaxY=-translateMinY;if(prevScale>0&&forceZoomRatio&&typeof image.currentX==='number'&&typeof image.currentY==='number'){translateX=(image.currentX*zoom.scale)/prevScale;translateY=(image.currentY*zoom.scale)/prevScale}else{translateX=diffX*zoom.scale;translateY=diffY*zoom.scale} 1010if(translateX<translateMinX){translateX=translateMinX} 1011if(translateX>translateMaxX){translateX=translateMaxX} 1012if(translateY<translateMinY){translateY=translateMinY} 1013if(translateY>translateMaxY){translateY=translateMaxY}}else{translateX=0;translateY=0} 1014if(forceZoomRatio&&zoom.scale===1){gesture.originX=0;gesture.originY=0} 1015image.currentX=translateX;image.currentY=translateY;gesture.imageWrapEl.style.transitionDuration='300ms';gesture.imageWrapEl.style.transform=`translate3d(${translateX}px, ${translateY}px,0)`;gesture.imageEl.style.transitionDuration='300ms';gesture.imageEl.style.transform=`translate3d(0,0,0) scale(${zoom.scale})`} 1016function zoomOut(){const zoom=swiper.zoom;const params=getParams();if(!gesture.slideEl){const virtual=swiper.params.virtual;if(virtual&&virtual.enabled&&swiper.virtual){gesture.slideEl=elementChildren(swiper.slidesEl,`.${swiper.params.slideActiveClass}`)[0]??undefined}else{gesture.slideEl=swiper.slides[swiper.activeIndex]} 1017let imageEl=gesture.slideEl?.querySelector(`.${params.containerClass}`)??null;if(imageEl){imageEl=imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0]??null} 1018gesture.imageEl=imageEl??undefined;if(imageEl){gesture.imageWrapEl=elementParents(imageEl,`.${params.containerClass}`)[0]??undefined}else{gesture.imageWrapEl=undefined}} 1019if(!gesture.imageEl||!gesture.imageWrapEl||!gesture.slideEl) 1020return;gesture.maxRatio=getMaxRatio();if(swiper.params.cssMode){swiper.wrapperEl.style.overflow='';swiper.wrapperEl.style.touchAction=''} 1021zoom.scale=1;currentScale=1;image.currentX=undefined;image.currentY=undefined;image.touchesStart.x=undefined;image.touchesStart.y=undefined;gesture.imageWrapEl.style.transitionDuration='300ms';gesture.imageWrapEl.style.transform='translate3d(0,0,0)';gesture.imageEl.style.transitionDuration='300ms';gesture.imageEl.style.transform='translate3d(0,0,0) scale(1)';gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`);gesture.slideEl=undefined;gesture.originX=0;gesture.originY=0;if(params.panOnMouseMove){mousePanStart={x:0,y:0};if(isPanningWithMouse){isPanningWithMouse=!1;image.startX=0;image.startY=0}}} 1022function zoomToggle(e){const zoom=swiper.zoom;if(zoom.scale&&zoom.scale!==1){zoomOut()}else{zoomIn(e)}} 1023function getListeners(){const passiveListener=swiper.params.passiveListeners?{passive:!0,capture:!1}:!1;const activeListenerWithCapture=swiper.params.passiveListeners?{passive:!1,capture:!0}:!0;return{passiveListener,activeListenerWithCapture}} 1024function enable(){const zoom=swiper.zoom;if(zoom.enabled) 1025return;zoom.enabled=!0;const{passiveListener,activeListenerWithCapture}=getListeners();swiper.wrapperEl.addEventListener('pointerdown',onGestureStart,passiveListener);swiper.wrapperEl.addEventListener('pointermove',onGestureChange,activeListenerWithCapture);['pointerup','pointercancel','pointerout'].forEach((eventName)=>{swiper.wrapperEl.addEventListener(eventName,onGestureEnd,passiveListener)});swiper.wrapperEl.addEventListener('pointermove',onTouchMove,activeListenerWithCapture)} 1026function disable(){const zoom=swiper.zoom;if(!zoom.enabled) 1027return;zoom.enabled=!1;const{passiveListener,activeListenerWithCapture}=getListeners();swiper.wrapperEl.removeEventListener('pointerdown',onGestureStart,passiveListener);swiper.wrapperEl.removeEventListener('pointermove',onGestureChange,activeListenerWithCapture);['pointerup','pointercancel','pointerout'].forEach((eventName)=>
1027{swiper.wrapperEl.removeEventListener(eventName,onGestureEnd,passiveListener)});swiper.wrapperEl.removeEventListener('pointermove',onTouchMove,activeListenerWithCapture)} 1028on('init',()=>{if(getParams().enabled){enable()}});on('destroy',()=>{disable()});on('touchStart',(_s,e)=>{if(!swiper.zoom.enabled) 1029return;onTouchStart(e)});on('touchEnd',()=>{if(!swiper.zoom.enabled) 1030return;onTouchEnd()});on('doubleTap',(_s,e)=>{if(!swiper.animating&&getParams().enabled&&swiper.zoom.enabled&&getParams().toggle){zoomToggle(e)}});on('transitionEnd',()=>{if(swiper.zoom.enabled&&getParams().enabled){onTransitionEnd()}});on('slideChange',()=>{if(swiper.zoom.enabled&&getParams().enabled&&swiper.params.cssMode){onTransitionEnd()}});Object.assign(swiper.zoom,{enable,disable,in:zoomIn,out:zoomOut,toggle:zoomToggle,})};class LinearSpline{x;y;lastIndex;binarySearch;constructor(x,y){let maxIndex;let minIndex;let guess;this.binarySearch=(array,val)=>{minIndex=-1;maxIndex=array.length;while(maxIndex-minIndex>1){guess=(maxIndex+minIndex)>>1;if(array[guess]<=val){minIndex=guess}else{maxIndex=guess}} 1031return maxIndex};this.x=x;this.y=y;this.lastIndex=x.length-1} 1032interpolate(x2){if(!x2) 1033return 0;const i3=this.binarySearch(this.x,x2);const i1=i3-1;return(((x2-this.x[i1])*(this.y[i3]-this.y[i1]))/(this.x[i3]-this.x[i1])+this.y[i1])}} 1034const Controller=({swiper,extendParams,on})=>{extendParams({controller:{control:undefined,inverse:!1,by:'slide',},});swiper.controller={control:undefined,};function getParams(){return swiper.params.controller} 1035function getInterpolateFunction(c){swiper.controller.spline=swiper.params.loop?new LinearSpline(swiper.slidesGrid,c.slidesGrid):new LinearSpline(swiper.snapGrid,c.snapGrid)} 1036function setTranslate(_t,byController){const controlled=swiper.controller.control;let multiplier;let controlledTranslate;const SwiperCtor=swiper.constructor;function setControlledTranslate(c){if(c.destroyed) 1037return;const translate=swiper.rtlTranslate?-swiper.translate:swiper.translate;const controllerParams=getParams();if(controllerParams.by==='slide'){getInterpolateFunction(c);controlledTranslate=-swiper.controller.spline.interpolate(-translate)}else{controlledTranslate=0} 1038if(!controlledTranslate||controllerParams.by==='container'){multiplier=(c.maxTranslate()-c.minTranslate())/(swiper.maxTranslate()-swiper.minTranslate());if(Number.isNaN(multiplier)||!Number.isFinite(multiplier)){multiplier=1} 1039controlledTranslate=(translate-swiper.minTranslate())*multiplier+c.minTranslate()} 1040if(controllerParams.inverse){controlledTranslate=c.maxTranslate()-controlledTranslate} 1041c.updateProgress(controlledTranslate);c.setTranslate(controlledTranslate,swiper);c.updateActiveIndex();c.updateSlidesClasses()} 1042if(Array.isArray(controlled)){for(let i=0;i<controlled.length;i+=1){const target=controlled[i];if(target&&target!==byController&&target instanceof SwiperCtor){setControlledTranslate(target)}}}else if(controlled instanceof SwiperCtor&&byController!==controlled){setControlledTranslate(controlled)}} 1043function setTransition(duration,byController){const SwiperCtor=swiper.constructor;const controlled=swiper.controller.control;function setControlledTransition(c){if(c.destroyed) 1044return;c.setTransition(duration,swiper);if(duration!==0){c.transitionStart();if(c.params.autoHeight){nextTick(()=>{c.updateAutoHeight()})} 1045elementTransitionEnd(c.wrapperEl,()=>{if(!controlled) 1046return;c.transitionEnd()})}} 1047if(Array.isArray(controlled)){for(let i=0;i<controlled.length;i+=1){const target=controlled[i];if(target&&target!==byController&&target instanceof SwiperCtor){setControlledTransition(target)}}}else if(controlled instanceof SwiperCtor&&byController!==controlled){setControlledTransition(controlled)}} 1048function removeSpline(){if(!swiper.controller.control) 1049return;if(swiper.controller.spline){swiper.controller.spline=undefined;delete swiper.controller.spline}} 1050on('beforeInit',()=>{const controllerParam=getParams().control;if(typeof window!=='undefined'&&(typeof controllerParam==='string'||controllerParam instanceof HTMLElement)){const controlElements=typeof controllerParam==='string'?[...document.querySelectorAll(controllerParam)]:[controllerParam];
1050controlElements.forEach((controlElement)=>{if(!swiper.controller.control) 1051swiper.controller.control=[];const list=swiper.controller.control;if(controlElement&&controlElement.swiper){list.push(controlElement.swiper)}else if(controlElement){const eventName=`${swiper.params.eventsPrefix}init`;const onControllerSwiper=(e)=>{const detail=e.detail;if(detail&&detail[0]) 1052list.push(detail[0]);swiper.update();controlElement.removeEventListener(eventName,onControllerSwiper)};controlElement.addEventListener(eventName,onControllerSwiper)}});return} 1053swiper.controller.control=controllerParam});on('update',()=>{removeSpline()});on('resize',()=>{removeSpline()});on('observerUpdate',()=>{removeSpline()});on('setTranslate',(_s,translate,byController)=>{if(!swiper.controller.control) 1054return;if(!Array.isArray(swiper.controller.control)&&swiper.controller.control.destroyed) 1055return;swiper.controller.setTranslate(translate,byController)});on('setTransition',(_s,duration,byController)=>{if(!swiper.controller.control) 1056return;if(!Array.isArray(swiper.controller.control)&&swiper.controller.control.destroyed) 1057return;swiper.controller.setTransition(duration,byController)});Object.assign(swiper.controller,{setTranslate,setTransition,})};const isVirtualEnabled$1=(swiper)=>!!swiper.virtual&&!!swiper.params.virtual?.enabled;const A11y=({swiper,extendParams,on})=>{extendParams({a11y:{enabled:!0,notificationClass:'swiper-notification',prevSlideMessage:'Previous slide',nextSlideMessage:'Next slide',firstSlideMessage:'This is the first slide',lastSlideMessage:'This is the last slide',paginationBulletMessage:'Go to slide {{index}}',slideLabelMessage:'{{index}} / {{slidesLength}}',containerMessage:null,containerRoleDescriptionMessage:null,containerRole:null,itemRoleDescriptionMessage:null,slideRole:'group',id:null,scrollOnFocus:!0,wrapperLiveRegion:!0,},});swiper.a11y={clicked:!1,};let liveRegion=null;let preventFocusHandler=!1;let focusTargetSlideEl;let visibilityChangedTimestamp=new Date().getTime();function getParams(){return swiper.params.a11y} 1058function notify(message){const notification=liveRegion;if(!notification||!message) 1059return;setInnerHTML(notification,message)} 1060function getRandomNumber(size=16){const randomChar=()=>Math.round(16*Math.random()).toString(16);return'x'.repeat(size).replace(/x/g,randomChar)} 1061function makeElFocusable(el){const els=makeElementsArray(el);els.forEach((subEl)=>{subEl.setAttribute('tabIndex','0')})} 1062function makeElNotFocusable(el){const els=makeElementsArray(el);els.forEach((subEl)=>{subEl.setAttribute('tabIndex','-1')})} 1063function addElRole(el,role){const els=makeElementsArray(el);els.forEach((subEl)=>{subEl.setAttribute('role',role)})} 1064function addElRoleDescription(el,description){const els=makeElementsArray(el);els.forEach((subEl)=>{subEl.setAttribute('aria-roledescription',description)})} 1065function addElLabel(el,label){const els=makeElementsArray(el);els.forEach((subEl)=>{subEl.setAttribute('aria-label',label)})} 1066function addElId(el,id){const els=makeElementsArray(el);els.forEach((subEl)=>{subEl.setAttribute('id',id)})} 1067function addElLive(el,live){const els=makeElementsArray(el);els.forEach((subEl)=>{subEl.setAttribute('aria-live',live)})} 1068function disableEl(el){const els=makeElementsArray(el);els.forEach((subEl)=>{subEl.setAttribute('aria-disabled','true')})} 1069function enableEl(el){const els=makeElementsArray(el);els.forEach((subEl)=>{subEl.removeAttribute('aria-disabled')})} 1070function onEnterOrSpaceKey(e){if(e.keyCode!==13&&e.keyCode!==32) 1071return;const params=getParams();const paginationParams=swiper.params.pagination;const targetEl=e.target;if(swiper.pagination&&swiper.pagination.el&&(targetEl===swiper.pagination.el||swiper.pagination.el.contains(targetEl))){if(!targetEl.matches(classesToSelector(paginationParams?.bulletClass))) 1072return} 1073if(swiper.navigation&&swiper.navigation.prevEl&&swiper.navigation.nextEl){const prevEls=makeElementsArray(swiper.navigation.prevEl);const nextEls=makeElementsArray(swiper.navigation.nextEl);if(nextEls.includes(targetEl)){if(!(swiper.isEnd&&!swiper.params.loop)){swiper.slideNext()} 1074if(swiper.isEnd){notify(params.lastSlideMessage)}else{notify(params.nextSlideMessage)}} 1075if(prevEls.includes(targetEl)){if(!(swiper.isBeginning&&!swiper.params.loop)){swiper.slidePrev()} 1076if(swiper.isBeginning){notify(params.firstSlideMessage)}else{notify(params.prevSlideMessage)}}} 1077if(swiper.pagination&&targetEl.matches(classesToSelector(paginationParams?.bulletClass))){targetEl.click()}} 1078function updateNavigation(){if(swiper.params.loop||swiper.params.rewind||!swiper.navigation) 1079return;const{nextEl,prevEl}=swiper.navigation;if(prevEl){if(swiper.isBeginning){disableEl(prevEl);makeElNotFocusable(prevEl)}else{enableEl(prevEl);makeElFocusable(prevEl)}} 1080if(nextEl){if(swiper.isEnd){disableEl(nextEl);makeElNotFocusable(nextEl)}else{enableEl(nextEl);makeElFocusable(nextEl)}}} 1081function hasPagination(){return!!(swiper.pagination&&swiper.pagination.bullets&&swiper.pagination.bullets.length)} 1082function hasClickablePagination(){const paginationParams=swiper.params.pagination;
1082return hasPagination()&&!!paginationParams?.clickable} 1083function updatePagination(){const params=getParams();if(!hasPagination()) 1084return;const paginationParams=swiper.params.pagination;swiper.pagination.bullets.forEach((bulletEl)=>{if(paginationParams.clickable){makeElFocusable(bulletEl);if(!paginationParams.renderBullet){addElRole(bulletEl,'button');addElLabel(bulletEl,params.paginationBulletMessage.replace(/\{\{index\}\}/,String((elementIndex(bulletEl)??0)+1)))}} 1085if(bulletEl.matches(classesToSelector(paginationParams.bulletActiveClass))){bulletEl.setAttribute('aria-current','true')}else{bulletEl.removeAttribute('aria-current')}})} 1086const initNavEl=(el,_wrapperId,message)=>{makeElFocusable(el);if(el.tagName!=='BUTTON'){addElRole(el,'button');el.addEventListener('keydown',onEnterOrSpaceKey)} 1087addElLabel(el,message)};const handlePointerDown=(e)=>{if(focusTargetSlideEl&&focusTargetSlideEl!==e.target&&!focusTargetSlideEl.contains(e.target)){preventFocusHandler=!0} 1088swiper.a11y.clicked=!0};const handlePointerUp=()=>{preventFocusHandler=!1;requestAnimationFrame(()=>{requestAnimationFrame(()=>{if(!swiper.destroyed){swiper.a11y.clicked=!1}})})};const onVisibilityChange=(_e)=>{visibilityChangedTimestamp=new Date().getTime()};let inertSlides=[];const releaseInertSlides=()=>{inertSlides.forEach((slideEl)=>slideEl.removeAttribute('inert'));inertSlides=[]};const handleTabKey=(e)=>{if(e.key!=='Tab'||!swiper.params.loop||swiper.destroyed) 1089return;const target=e.target;const slideEl=target?.closest?.(`.${swiper.params.slideClass}, swiper-slide`);if(!slideEl||!swiper.slides.includes(slideEl)) 1090return;const realIndex=parseInt(slideEl.getAttribute('data-swiper-slide-index')||'',10);if(Number.isNaN(realIndex)) 1091return;const slidesLength=isVirtualEnabled$1(swiper)?swiper.virtual.slides.length:swiper.slides.length;const isEdge=e.shiftKey?realIndex===0:realIndex===slidesLength-1;if(!isEdge) 1092return;releaseInertSlides();swiper.slides.forEach((el)=>{if(el===slideEl||el.hasAttribute('inert')) 1093return;el.setAttribute('inert','');inertSlides.push(el)});setTimeout(releaseInertSlides,0)};const handleFocus=(e)=>{const params=getParams();if(swiper.a11y.clicked||!params.scrollOnFocus) 1094return;if(new Date().getTime()-visibilityChangedTimestamp<100) 1095return;const target=e.target;const slideEl=target.closest(`.${swiper.params.slideClass}, swiper-slide`);if(!slideEl||!swiper.slides.includes(slideEl)) 1096return;focusTargetSlideEl=slideEl;const isVirtual=isVirtualEnabled$1(swiper);const isActive=(isVirtual?parseInt(slideEl.getAttribute('data-swiper-slide-index')||'0',10):swiper.slides.indexOf(slideEl))===swiper.activeIndex;const isVisible=swiper.params.watchSlidesProgress&&swiper.visibleSlides&&swiper.visibleSlides.includes(slideEl);if(isActive||isVisible) 1097return;const sourceCapabilities=e.sourceCapabilities;if(sourceCapabilities&&sourceCapabilities.firesTouchEvents) 1098return;if(swiper.isHorizontal()){swiper.el.scrollLeft=0}else{swiper.el.scrollTop=0} 1099requestAnimationFrame(()=>{if(preventFocusHandler) 1100return;if(swiper.params.loop){swiper.slideToLoop(swiper.getSlideIndexWhenGrid(parseInt(slideEl.getAttribute('data-swiper-slide-index')||'0',10)),0)}else if(isVirtual){swiper.slideTo(swiper.getSlideIndexWhenGrid(parseInt(slideEl.getAttribute('data-swiper-slide-index')||'0',10)),0)}else{swiper.slideTo(swiper.getSlideIndexWhenGrid(swiper.slides.indexOf(slideEl)),0)} 1101preventFocusHandler=!1})};const initSlides=()=>{const params=getParams();if(params.itemRoleDescriptionMessage){addElRoleDescription(swiper.slides,params.itemRoleDescriptionMessage)} 1102if(params.slideRole){addElRole(swiper.slides,params.slideRole)} 1103const slidesLength=swiper.slides.length;const slideLabelMessage=params.slideLabelMessage;if(slideLabelMessage){swiper.slides.forEach((slideEl,index)=>{const slideIndex=swiper.params.loop?parseInt(slideEl.getAttribute('data-swiper-slide-index')||'0',10):index;const ariaLabelMessage=slideLabelMessage.replace(/\{\{index\}\}/,String(slideIndex+1)).replace(/\{\{slidesLength\}\}/,String(slidesLength));addElLabel(slideEl,ariaLabelMessage)})}};const init=()=>{const params=getParams();if(liveRegion)
1104swiper.el.append(liveRegion);const containerEl=swiper.el;if(params.containerRoleDescriptionMessage){addElRoleDescription(containerEl,params.containerRoleDescriptionMessage)} 1105if(params.containerMessage){addElLabel(containerEl,params.containerMessage)} 1106if(params.containerRole){addElRole(containerEl,params.containerRole)} 1107const wrapperEl=swiper.wrapperEl;const wrapperId=String(params.id||wrapperEl.getAttribute('id')||`swiper-wrapper-${getRandomNumber(16)}`);addElId(wrapperEl,wrapperId);if(params.wrapperLiveRegion){const autoplayParams=swiper.params.autoplay;const live=swiper.params.autoplay&&autoplayParams?.enabled?'off':'polite';addElLive(wrapperEl,live)} 1108initSlides();const nav=swiper.navigation?swiper.navigation:{nextEl:undefined,prevEl:undefined};const nextEls=makeElementsArray(nav.nextEl);const prevEls=makeElementsArray(nav.prevEl);if(nextEls){nextEls.forEach((el)=>initNavEl(el,wrapperId,params.nextSlideMessage))} 1109if(prevEls){prevEls.forEach((el)=>initNavEl(el,wrapperId,params.prevSlideMessage))} 1110if(hasClickablePagination()){const paginationEl=makeElementsArray(swiper.pagination.el);paginationEl.forEach((el)=>{el.addEventListener('keydown',onEnterOrSpaceKey)})} 1111document.addEventListener('visibilitychange',onVisibilityChange);swiper.el.addEventListener('focus',handleFocus,!0);swiper.el.addEventListener('keydown',handleTabKey,!0);swiper.el.addEventListener('pointerdown',handlePointerDown,!0);swiper.el.addEventListener('pointerup',handlePointerUp,!0)};function destroy(){if(liveRegion) 1112liveRegion.remove();const nav=swiper.navigation?swiper.navigation:{nextEl:undefined,prevEl:undefined};const nextEls=makeElementsArray(nav.nextEl);const prevEls=makeElementsArray(nav.prevEl);if(nextEls){nextEls.forEach((el)=>el.removeEventListener('keydown',onEnterOrSpaceKey))} 1113if(prevEls){prevEls.forEach((el)=>el.removeEventListener('keydown',onEnterOrSpaceKey))} 1114if(hasClickablePagination()){const paginationEl=makeElementsArray(swiper.pagination.el);paginationEl.forEach((el)=>{el.removeEventListener('keydown',onEnterOrSpaceKey)})} 1115document.removeEventListener('visibilitychange',onVisibilityChange);if(swiper.el&&typeof swiper.el!=='string'){swiper.el.removeEventListener('focus',handleFocus,!0);swiper.el.removeEventListener('keydown',handleTabKey,!0);swiper.el.removeEventListener('pointerdown',handlePointerDown,!0);swiper.el.removeEventListener('pointerup',handlePointerUp,!0)} 1116releaseInertSlides()} 1117on('beforeInit',()=>{liveRegion=createElement('span',getParams().notificationClass);liveRegion.setAttribute('aria-live','assertive');liveRegion.setAttribute('aria-atomic','true')});on('afterInit',()=>{if(!getParams().enabled) 1118return;init()});on('slidesLengthChange snapGridLengthChange slidesGridLengthChange',()=>{if(!getParams().enabled) 1119return;initSlides()});on('fromEdge toEdge afterInit lock unlock',()=>{if(!getParams().enabled) 1120return;updateNavigation()});on('paginationUpdate',()=>{if(!getParams().enabled) 1121return;updatePagination()});on('destroy',()=>{if(!getParams().enabled) 1122return;destroy()})};const History=({swiper,extendParams,on})=>{extendParams({history:{enabled:!1,root:'',replaceState:!1,key:'slides',keepQuery:!1,},});let initialized=!1;let paths={key:undefined,value:undefined};function getParams(){return swiper.params.history} 1123const slugify=(text)=>{return text.toString().replace(/\s+/g,'-').replace(/[^\w-]+/g,'').replace(/--+/g,'-').replace(/^-+/,'').replace(/-+$/,'')};const getPathValues=(urlOverride)=>{let location;if(urlOverride){location=new URL(urlOverride)}else{location=window.location} 1124const pathArray=location.pathname.slice(1).split('/').filter((part)=>part!=='');const total=pathArray.length;const key=pathArray[total-2];const value=pathArray[total-1];return{key,value}};const setHistory=(key,index)=>{const params=getParams();if(!initialized||!params.enabled) 1125return;let location;if(swiper.params.url){location=new URL(swiper.params.url)}else{location=window.location} 1126const isVirtualEnabled=!!swiper.params.virtual?.enabled;const slide=swiper.virtual&&isVirtualEnabled?swiper.slidesEl.querySelector(`[data-swiper-slide-index="${index}"]`):swiper.slides[index];if(!slide) 1127return;let value=slugify(slide.getAttribute('data-history')||'');const root=params.root;if(root.length>0){const trimmedRoot=root[root.length-1]==='/'?root.slice(0,root.length-1):root;value=`${trimmedRoot}/${key ? `${key}/` : ''}${value}`}else if(!location.pathname.includes(key||'')){value=`${key ? `${key}/` : ''}${value}`} 1128if(params.keepQuery){value+=location.search} 1129const currentState=window.history.state;if(currentState&¤tState.value===value){return} 1130if(params.replaceState){window.history.replaceState({value},'',value)}else{window.history.pushState({value},'',value)}};const scrollToSlide=(speed,value,runCallbacks)=>{if(value){for(let i=0,length=swiper.slides.length;i<length;i+=1){const slide=swiper.slides[i];const slideHistory=slugify(slide.getAttribute('data-history')||'');if(slideHistory===value){const index=swiper.getSlideIndex(slide);swiper.slideTo(index,speed,runCallbacks)}}}else{swiper.slideTo(0,speed,runCallbacks)}};const setHistoryPopState=()=>{paths=getPathValues(swiper.params.url);scrollToSlide(swiper.params.speed,paths.value,!1)};const init=()=>{const params=swiper.params.history;if(!params) 1131return;
1131if(!window.history||!window.history.pushState){params.enabled=!1;const hashParams=swiper.params.hashNavigation;if(hashParams) 1132hashParams.enabled=!0;return} 1133initialized=!0;paths=getPathValues(swiper.params.url);if(!paths.key&&!paths.value){if(!params.replaceState){window.addEventListener('popstate',setHistoryPopState)} 1134return} 1135scrollToSlide(0,paths.value,swiper.params.runCallbacksOnInit);if(!params.replaceState){window.addEventListener('popstate',setHistoryPopState)}};const destroy=()=>{if(!getParams().replaceState){window.removeEventListener('popstate',setHistoryPopState)}};on('init',()=>{if(getParams().enabled){init()}});on('destroy',()=>{if(getParams().enabled){destroy()}});on('transitionEnd _freeModeNoMomentumRelease',()=>{if(initialized){setHistory(getParams().key,swiper.activeIndex)}});on('slideChange',()=>{if(initialized&&swiper.params.cssMode){setHistory(getParams().key,swiper.activeIndex)}})};const isVirtualEnabled=(swiper)=>!!swiper.virtual&&!!swiper.params.virtual?.enabled;const HashNavigation=({swiper,extendParams,emit,on})=>{let initialized=!1;extendParams({hashNavigation:{enabled:!1,replaceState:!1,watchState:!1,getSlideIndex(_s,hash){if(isVirtualEnabled(swiper)){const slideWithHash=swiper.slides.find((slideEl)=>slideEl.getAttribute('data-hash')===hash);if(!slideWithHash) 1136return 0;const index=parseInt(slideWithHash.getAttribute('data-swiper-slide-index')||'0',10);return index} 1137const matched=elementChildren(swiper.slidesEl,`.${swiper.params.slideClass}[data-hash="${hash}"], swiper-slide[data-hash="${hash}"]`)[0];return matched?swiper.getSlideIndex(matched):0},},});function getParams(){return swiper.params.hashNavigation} 1138const onHashChange=()=>{emit('hashChange');const newHash=document.location.hash.replace('#','');const activeSlideEl=isVirtualEnabled(swiper)?swiper.slidesEl.querySelector(`[data-swiper-slide-index="${swiper.activeIndex}"]`):swiper.slides[swiper.activeIndex];const activeSlideHash=activeSlideEl?activeSlideEl.getAttribute('data-hash'):'';if(newHash!==activeSlideHash){const newIndex=getParams().getSlideIndex(swiper,newHash);if(typeof newIndex==='undefined'||Number.isNaN(newIndex)) 1139return;swiper.slideTo(newIndex)}};const setHash=()=>{const params=getParams();if(!initialized||!params.enabled) 1140return;const activeSlideEl=isVirtualEnabled(swiper)?swiper.slidesEl.querySelector(`[data-swiper-slide-index="${swiper.activeIndex}"]`):swiper.slides[swiper.activeIndex];const activeSlideHash=activeSlideEl?activeSlideEl.getAttribute('data-hash')||activeSlideEl.getAttribute('data-history'):'';if(params.replaceState&&window.history&&window.history.replaceState){window.history.replaceState(null,'',`#${activeSlideHash}`||'');emit('hashSet')}else{document.location.hash=activeSlideHash||'';emit('hashSet')}};const init=()=>{const params=getParams();const historyParams=swiper.params.history;if(!params.enabled||(historyParams&&historyParams.enabled)) 1141return;initialized=!0;const hash=document.location.hash.replace('#','');if(hash){const speed=0;const index=params.getSlideIndex(swiper,hash);swiper.slideTo(index||0,speed,swiper.params.runCallbacksOnInit,!0)} 1142if(params.watchState){window.addEventListener('hashchange',onHashChange)}};const destroy=()=>{if(getParams().watchState){window.removeEventListener('hashchange',onHashChange)}};on('init',()=>{if(getParams().enabled){init()}});on('destroy',()=>{if(getParams().enabled){destroy()}});on('transitionEnd _freeModeNoMomentumRelease',()=>{if(initialized){setHash()}});on('slideChange',()=>{if(initialized&&swiper.params.cssMode){setHash()}})};const Autoplay=({swiper,extendParams,on,emit,params})=>{swiper.autoplay={running:!1,paused:!1,timeLeft:0,};extendParams({autoplay:{enabled:!1,delay:3000,waitForTransition:!0,disableOnInteraction:!1,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1,},});function getParams(){return swiper.params.autoplay} 1143const initialAutoplayDelay=typeof params.autoplay==='object'&¶ms.autoplay&&typeof params.autoplay.delay==='number'?params.autoplay.delay:3000;let timeout;let raf;let autoplayDelayTotal=initialAutoplayDelay;let autoplayDelayCurrent=initialAutoplayDelay;let autoplayTimeLeft=0;let autoplayStartTime=new Date().getTime();let wasPaused=!1;let isTouched=!1;let pausedByTouch=!1;let touchStartTimeout;let pausedByInteraction=!1;let pausedByPointerEnter=!1;
1143function onTransitionEnd(e){if(!swiper||swiper.destroyed||!swiper.wrapperEl) 1144return;if(e.target!==swiper.wrapperEl) 1145return;swiper.wrapperEl.removeEventListener('transitionend',onTransitionEnd);const detail=e.detail;if(pausedByPointerEnter||(detail&&detail.bySwiperTouchMove)){return} 1146resume()} 1147const calcTimeLeft=()=>{if(swiper.destroyed||!swiper.autoplay.running) 1148return;if(swiper.autoplay.paused){wasPaused=!0}else if(wasPaused){autoplayDelayCurrent=autoplayTimeLeft;wasPaused=!1} 1149const timeLeft=swiper.autoplay.paused?autoplayTimeLeft:autoplayStartTime+autoplayDelayCurrent-new Date().getTime();swiper.autoplay.timeLeft=timeLeft;emit('autoplayTimeLeft',timeLeft,timeLeft/autoplayDelayTotal);raf=requestAnimationFrame(()=>{calcTimeLeft()})};const getSlideDelay=()=>{let activeSlideEl;const virtualEnabled=!!swiper.params.virtual?.enabled;if(swiper.virtual&&virtualEnabled){activeSlideEl=swiper.slides.find((slideEl)=>slideEl.classList.contains('swiper-slide-active'))}else{activeSlideEl=swiper.slides[swiper.activeIndex]} 1150if(!activeSlideEl) 1151return undefined;const attr=activeSlideEl.getAttribute('data-swiper-autoplay');if(attr==null) 1152return undefined;return parseInt(attr,10)};const getTotalDelay=()=>{let totalDelay=getParams().delay;const currentSlideDelay=getSlideDelay();if(typeof currentSlideDelay==='number'&&!Number.isNaN(currentSlideDelay)&¤tSlideDelay>0){totalDelay=currentSlideDelay} 1153return totalDelay};const run=(delayForce)=>{if(swiper.destroyed||!swiper.autoplay.running) 1154return 0;if(raf!==undefined) 1155cancelAnimationFrame(raf);calcTimeLeft();let delay=delayForce;if(typeof delay==='undefined'){delay=getTotalDelay();autoplayDelayTotal=delay;autoplayDelayCurrent=delay} 1156autoplayTimeLeft=delay;const speed=swiper.params.speed;const proceed=()=>{if(!swiper||swiper.destroyed) 1157return;const autoplayParams=getParams();if(autoplayParams.reverseDirection){if(!swiper.isBeginning||swiper.params.loop||swiper.params.rewind){swiper.slidePrev(speed,!0,!0);emit('autoplay')}else if(!autoplayParams.stopOnLastSlide){swiper.slideTo(swiper.slides.length-1,speed,!0,!0);emit('autoplay')}}else{if(!swiper.isEnd||swiper.params.loop||swiper.params.rewind){swiper.slideNext(speed,!0,!0);emit('autoplay')}else if(!autoplayParams.stopOnLastSlide){swiper.slideTo(0,speed,!0,!0);emit('autoplay')}} 1158if(swiper.params.cssMode){autoplayStartTime=new Date().getTime();requestAnimationFrame(()=>{run()})}};if(delay>0){if(timeout!==undefined) 1159clearTimeout(timeout);timeout=setTimeout(()=>{proceed()},delay)}else{requestAnimationFrame(()=>{proceed()})} 1160return delay};const start=()=>{autoplayStartTime=new Date().getTime();swiper.autoplay.running=!0;run();emit('autoplayStart');return!0};const stop=()=>{swiper.autoplay.running=!1;if(timeout!==undefined) 1161clearTimeout(timeout);if(raf!==undefined) 1162cancelAnimationFrame(raf);emit('autoplayStop');return!0};const pause=(internal,reset)=>{if(swiper.destroyed||!swiper.autoplay.running) 1163return;if(timeout!==undefined) 1164clearTimeout(timeout);if(!internal){pausedByInteraction=!0} 1165const proceed=()=>{emit('autoplayPause');if(getParams().waitForTransition){swiper.wrapperEl.addEventListener('transitionend',onTransitionEnd)}else{resume()}};swiper.autoplay.paused=!0;if(reset){proceed();return} 1166const delay=autoplayTimeLeft||getParams().delay;autoplayTimeLeft=delay-(new Date().getTime()-autoplayStartTime);if(swiper.isEnd&&autoplayTimeLeft<0&&!swiper.params.loop) 1167return;if(autoplayTimeLeft<0) 1168autoplayTimeLeft=0;proceed()};const resume=()=>{if((swiper.isEnd&&autoplayTimeLeft<0&&!swiper.params.loop)||swiper.destroyed||!swiper.autoplay.running) 1169return;autoplayStartTime=new Date().getTime();if(pausedByInteraction){pausedByInteraction=!1;run(autoplayTimeLeft)}else{run()} 1170swiper.autoplay.paused=!1;emit('autoplayResume')};const onVisibilityChange=()=>{if(swiper.destroyed||!swiper.autoplay.running) 1171return;if(document.visibilityState==='hidden'){pausedByInteraction=!0;pause(!0)} 1172if(document.visibilityState==='visible'){resume()}};const onPointerEnter=(e)=>{if(e.pointerType!=='mouse') 1173return;pausedByInteraction=!0;pausedByPointerEnter=!0;if(swiper.animating||swiper.autoplay.paused) 1174return;pause(!0)};const onPointerLeave=(e)=>{if(e.pointerType!=='mouse') 1175return;pausedByPointerEnter=!1;if(swiper.autoplay.paused){resume()}};const attachMouseEvents=()=>
1175{if(getParams().pauseOnMouseEnter){swiper.el.addEventListener('pointerenter',onPointerEnter);swiper.el.addEventListener('pointerleave',onPointerLeave)}};const detachMouseEvents=()=>{if(swiper.el&&typeof swiper.el!=='string'){swiper.el.removeEventListener('pointerenter',onPointerEnter);swiper.el.removeEventListener('pointerleave',onPointerLeave)}};const attachDocumentEvents=()=>{document.addEventListener('visibilitychange',onVisibilityChange)};const detachDocumentEvents=()=>{document.removeEventListener('visibilitychange',onVisibilityChange)};on('init',()=>{if(getParams().enabled){attachMouseEvents();attachDocumentEvents();start()}});on('destroy',()=>{detachMouseEvents();detachDocumentEvents();if(swiper.autoplay.running){stop()}});on('_freeModeStaticRelease',()=>{if(pausedByTouch||pausedByInteraction){resume()}});on('_freeModeNoMomentumRelease',()=>{if(!getParams().disableOnInteraction){pause(!0,!0)}else{stop()}});on('beforeTransitionStart',(_s,_speed,internal)=>{if(swiper.destroyed||!swiper.autoplay.running) 1176return;if(internal||!getParams().disableOnInteraction){pause(!0,!0)}else{stop()}});on('sliderFirstMove',()=>{if(swiper.destroyed||!swiper.autoplay.running) 1177return;if(getParams().disableOnInteraction){stop();return} 1178isTouched=!0;pausedByTouch=!1;pausedByInteraction=!1;touchStartTimeout=setTimeout(()=>{pausedByInteraction=!0;pausedByTouch=!0;pause(!0)},200)});on('touchEnd',()=>{if(swiper.destroyed||!swiper.autoplay.running||!isTouched) 1179return;if(touchStartTimeout!==undefined) 1180clearTimeout(touchStartTimeout);if(timeout!==undefined) 1181clearTimeout(timeout);if(getParams().disableOnInteraction){pausedByTouch=!1;isTouched=!1;return} 1182if(pausedByTouch&&swiper.params.cssMode) 1183resume();pausedByTouch=!1;isTouched=!1});on('slideChange',()=>{if(swiper.destroyed||!swiper.autoplay.running) 1184return;if(swiper.autoplay.paused){autoplayTimeLeft=getTotalDelay();autoplayDelayTotal=getTotalDelay()}});Object.assign(swiper.autoplay,{start,stop,pause,resume,})};const Thumb=({swiper,extendParams,on})=>{extendParams({thumbs:{swiper:null,multipleActiveThumbs:!0,autoScrollOffset:0,slideThumbActiveClass:'swiper-slide-thumb-active',thumbsContainerClass:'swiper-thumbs',},});let initialized=!1;let swiperCreated=!1;swiper.thumbs={swiper:null,};function getParams(){return swiper.params.thumbs} 1185function isVirtualEnabled(){const thumbsSwiper=swiper.thumbs.swiper;if(!thumbsSwiper||thumbsSwiper.destroyed) 1186return!1;const virtual=thumbsSwiper.params.virtual;return!!virtual&&!!virtual.enabled} 1187function onThumbClick(){const thumbsSwiper=swiper.thumbs.swiper;if(!thumbsSwiper||thumbsSwiper.destroyed) 1188return;const clickedIndex=thumbsSwiper.clickedIndex;const clickedSlide=thumbsSwiper.clickedSlide;const thumbsParams=getParams();if(clickedSlide&&clickedSlide.classList.contains(thumbsParams.slideThumbActiveClass)) 1189return;if(typeof clickedIndex==='undefined'||clickedIndex===null) 1190return;let slideToIndex;if(thumbsSwiper.params.loop){const attr=thumbsSwiper.clickedSlide?.getAttribute('data-swiper-slide-index');slideToIndex=attr==null?clickedIndex:parseInt(attr,10)}else{slideToIndex=clickedIndex} 1191if(swiper.params.loop){swiper.slideToLoop(slideToIndex)}else{swiper.slideTo(slideToIndex)}} 1192function init(){const thumbsParams=getParams();if(initialized) 1193return!1;initialized=!0;const SwiperClass=swiper.constructor;if(thumbsParams.swiper instanceof SwiperClass){if(thumbsParams.swiper.destroyed){initialized=!1;return!1} 1194const thumbsSwiper=thumbsParams.swiper;swiper.thumbs.swiper=thumbsSwiper;Object.assign(thumbsSwiper.originalParams,{watchSlidesProgress:!0,slideToClickedSlide:!1,});Object.assign(thumbsSwiper.params,{watchSlidesProgress:!0,slideToClickedSlide:!1,});thumbsSwiper.update()}else if(isObject(thumbsParams.swiper)){const thumbsSwiperParams=Object.assign({},thumbsParams.swiper);Object.assign(thumbsSwiperParams,{watchSlidesProgress:!0,slideToClickedSlide:!1,});swiper.thumbs.swiper=new SwiperClass(thumbsSwiperParams);swiperCreated=!0} 1195const thumbsSwiper=swiper.thumbs.swiper;if(!thumbsSwiper) 1196return!1;thumbsSwiper.el.classList.add(thumbsParams.thumbsContainerClass);thumbsSwiper.on('tap',onThumbClick);if(isVirtualEnabled()){thumbsSwiper.on('virtualUpdate',()=>{update(!1,{autoScroll:!1})})} 1197return!0} 1198function update(initial,p){const thumbsSwiper=swiper.thumbs.swiper;if(!thumbsSwiper||thumbsSwiper.destroyed) 1199return;let thumbsToActivate=1;const thumbsParams=getParams();const thumbActiveClass=thumbsParams.slideThumbActiveClass;const slidesPerView=swiper.params.slidesPerView;if(typeof slidesPerView==='number'&&slidesPerView>
11991&&!swiper.params.centeredSlides){thumbsToActivate=slidesPerView} 1200if(!thumbsParams.multipleActiveThumbs){thumbsToActivate=1} 1201thumbsToActivate=Math.floor(thumbsToActivate);thumbsSwiper.slides.forEach((slideEl)=>slideEl.classList.remove(thumbActiveClass));if(thumbsSwiper.params.loop||isVirtualEnabled()){for(let i=0;i<thumbsToActivate;i+=1){elementChildren(thumbsSwiper.slidesEl,`[data-swiper-slide-index="${swiper.realIndex + i}"]`).forEach((slideEl)=>{slideEl.classList.add(thumbActiveClass)})}}else{for(let i=0;i<thumbsToActivate;i+=1){const slide=thumbsSwiper.slides[swiper.realIndex+i];if(slide){slide.classList.add(thumbActiveClass)}}} 1202if(p?.autoScroll??!0){autoScroll(initial?0:undefined)}} 1203function autoScroll(slideSpeed){const thumbsSwiper=swiper.thumbs.swiper;if(!thumbsSwiper||thumbsSwiper.destroyed) 1204return;const thumbsSlidesPerView=thumbsSwiper.params.slidesPerView;const slidesPerView=thumbsSlidesPerView==='auto'?thumbsSwiper.slidesPerViewDynamic():(thumbsSlidesPerView??1);const autoScrollOffset=getParams().autoScrollOffset;const useOffset=autoScrollOffset&&!thumbsSwiper.params.loop;if(swiper.realIndex!==thumbsSwiper.realIndex||useOffset){const currentThumbsIndex=thumbsSwiper.activeIndex;let newThumbsIndex;let direction;if(thumbsSwiper.params.loop){const newThumbsSlide=thumbsSwiper.slides.find((slideEl)=>slideEl.getAttribute('data-swiper-slide-index')===`${swiper.realIndex}`);newThumbsIndex=newThumbsSlide?thumbsSwiper.slides.indexOf(newThumbsSlide):-1;direction=swiper.activeIndex>swiper.previousIndex?'next':'prev'}else{newThumbsIndex=swiper.realIndex;direction=newThumbsIndex>swiper.previousIndex?'next':'prev'} 1205if(useOffset){newThumbsIndex+=direction==='next'?autoScrollOffset:-1*autoScrollOffset} 1206if(thumbsSwiper.visibleSlidesIndexes&&thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex)<0){if(thumbsSwiper.params.centeredSlides){if(newThumbsIndex>currentThumbsIndex){newThumbsIndex=newThumbsIndex-Math.floor(slidesPerView/2)+1}else{newThumbsIndex=newThumbsIndex+Math.floor(slidesPerView/2)-1}}else if(newThumbsIndex>currentThumbsIndex&&thumbsSwiper.params.slidesPerGroup===1);thumbsSwiper.slideTo(newThumbsIndex,slideSpeed)}}} 1207on('beforeInit',()=>{const thumbs=swiper.params.thumbs;if(!thumbs||!thumbs.swiper) 1208return;if(typeof thumbs.swiper==='string'||thumbs.swiper instanceof HTMLElement){const getThumbsElementAndInit=()=>{const thumbsElement=typeof thumbs.swiper==='string'?document.querySelector(thumbs.swiper):thumbs.swiper;if(thumbsElement&&thumbsElement.swiper){thumbs.swiper=thumbsElement.swiper;init();update(!0)}else if(thumbsElement){const eventName=`${swiper.params.eventsPrefix}init`;const onThumbsSwiper=(e)=>{const detail=e.detail;thumbs.swiper=detail[0];thumbsElement.removeEventListener(eventName,onThumbsSwiper);init();update(!0);thumbs.swiper.update();swiper.update()};thumbsElement.addEventListener(eventName,onThumbsSwiper)} 1209return thumbsElement};const watchForThumbsToAppear=()=>{if(swiper.destroyed) 1210return;const thumbsElement=getThumbsElementAndInit();if(!thumbsElement){requestAnimationFrame(watchForThumbsToAppear)}};requestAnimationFrame(watchForThumbsToAppear)}else{init();update(!0)}});on('slideChange update resize observerUpdate',()=>{update()});on('setTransition',(_s,duration)=>{const thumbsSwiper=swiper.thumbs.swiper;if(!thumbsSwiper||thumbsSwiper.destroyed) 1211return;thumbsSwiper.setTransition(duration)});on('beforeDestroy',()=>{const thumbsSwiper=swiper.thumbs.swiper;if(!thumbsSwiper||thumbsSwiper.destroyed) 1212return;if(swiperCreated){thumbsSwiper.destroy()}});Object.assign(swiper.thumbs,{init,update,})};const FreeMode=({swiper,extendParams,emit,once})=>{extendParams({freeMode:{enabled:!1,momentum:!0,momentumRatio:1,momentumBounce:!0,momentumBounceRatio:1,momentumVelocityRatio:1,sticky:!1,minimumVelocity:0.02,},});function getParams(){return swiper.params.freeMode} 1213function onTouchStart(){if(swiper.params.cssMode) 1214return;const translate=swiper.getTranslate();swiper.setTranslate(translate);swiper.setTransition(0);swiper.touchEventsData.velocities.length=0;swiper.freeMode.onTouchEnd({currentPos:swiper.rtl?swiper.translate:-swiper.translate})} 1215function onTouchMove(){if(swiper.params.cssMode) 1216return;const{touchEventsData:data,touches}=swiper;if(data.velocities.length===0){data.velocities.push({position:touches[swiper.isHorizontal()?'
1216startX':'startY'],time:data.touchStartTime??now(),})} 1217data.velocities.push({position:touches[swiper.isHorizontal()?'currentX':'currentY'],time:now(),})} 1218function onTouchEnd({currentPos}){if(swiper.params.cssMode) 1219return;const{wrapperEl,rtlTranslate:rtl,snapGrid,touchEventsData:data}=swiper;const params=swiper.params;const freeModeParams=getParams();const touchEndTime=now();const timeDiff=touchEndTime-(data.touchStartTime??touchEndTime);if(currentPos<-swiper.minTranslate()){swiper.slideTo(swiper.activeIndex);return} 1220if(currentPos>-swiper.maxTranslate()){if(swiper.slides.length<snapGrid.length){swiper.slideTo(snapGrid.length-1)}else{swiper.slideTo(swiper.slides.length-1)} 1221return} 1222if(freeModeParams.momentum){if(data.velocities.length>1){const lastMoveEvent=data.velocities.pop();const velocityEvent=data.velocities.pop();const distance=lastMoveEvent.position-velocityEvent.position;const time=lastMoveEvent.time-velocityEvent.time;swiper.velocity=distance/time;swiper.velocity/=2;if(Math.abs(swiper.velocity)<freeModeParams.minimumVelocity){swiper.velocity=0} 1223if(time>150||now()-lastMoveEvent.time>300){swiper.velocity=0}}else{swiper.velocity=0} 1224swiper.velocity*=freeModeParams.momentumVelocityRatio;data.velocities.length=0;let momentumDuration=1000*freeModeParams.momentumRatio;const momentumDistance=swiper.velocity*momentumDuration;let newPosition=swiper.translate+momentumDistance;if(rtl) 1225newPosition=-newPosition;let doBounce=!1;let afterBouncePosition;const bounceAmount=Math.abs(swiper.velocity)*20*freeModeParams.momentumBounceRatio;let needsLoopFix=!1;if(newPosition<swiper.maxTranslate()){if(freeModeParams.momentumBounce){if(newPosition+swiper.maxTranslate()<-bounceAmount){newPosition=swiper.maxTranslate()-bounceAmount} 1226afterBouncePosition=swiper.maxTranslate();doBounce=!0;data.allowMomentumBounce=!0}else{newPosition=swiper.maxTranslate()} 1227if(params.loop&¶ms.centeredSlides) 1228needsLoopFix=!0}else if(newPosition>swiper.minTranslate()){if(freeModeParams.momentumBounce){if(newPosition-swiper.minTranslate()>bounceAmount){newPosition=swiper.minTranslate()+bounceAmount} 1229afterBouncePosition=swiper.minTranslate();doBounce=!0;data.allowMomentumBounce=!0}else{newPosition=swiper.minTranslate()} 1230if(params.loop&¶ms.centeredSlides) 1231needsLoopFix=!0}else if(freeModeParams.sticky){let nextSlide=0;for(let j=0;j<snapGrid.length;j+=1){if(snapGrid[j]>-newPosition){nextSlide=j;break}} 1232if(Math.abs(snapGrid[nextSlide]-newPosition)<Math.abs((snapGrid[nextSlide-1]??snapGrid[nextSlide])-newPosition)||swiper.swipeDirection==='next'){newPosition=snapGrid[nextSlide]}else{newPosition=snapGrid[nextSlide-1]} 1233newPosition=-newPosition} 1234if(needsLoopFix){once('transitionEnd',()=>{swiper.loopFix()})} 1235if(swiper.velocity!==0){if(rtl){momentumDuration=Math.abs((-newPosition-swiper.translate)/swiper.velocity)}else{momentumDuration=Math.abs((newPosition-swiper.translate)/swiper.velocity)} 1236if(freeModeParams.sticky){const moveDistance=Math.abs((rtl?-newPosition:newPosition)-swiper.translate);const currentSlideSize=swiper.slidesSizesGrid[swiper.activeIndex];const speed=params.speed;if(moveDistance<currentSlideSize){momentumDuration=speed}else if(moveDistance<2*currentSlideSize){momentumDuration=speed*1.5}else{momentumDuration=speed*2.5}}}else if(freeModeParams.sticky){swiper.slideToClosest();return} 1237if(freeModeParams.momentumBounce&&doBounce&&afterBouncePosition!==undefined){swiper.updateProgress(afterBouncePosition);swiper.setTransition(momentumDuration);swiper.setTranslate(newPosition);swiper.transitionStart(!0,swiper.swipeDirection);swiper.animating=!0;elementTransitionEnd(wrapperEl,()=>{if(!swiper||swiper.destroyed||!data.allowMomentumBounce) 1238return;emit('momentumBounce');swiper.setTransition(params.speed);setTimeout(()=>{swiper.setTranslate(afterBouncePosition);elementTransitionEnd(wrapperEl,()=>{if(!swiper||swiper.destroyed) 1239return;swiper.transitionEnd()})},0)})}else if(swiper.velocity){emit('_freeModeNoMomentumRelease');swiper.updateProgress(newPosition);swiper.setTransition(momentumDuration);swiper.setTranslate(newPosition);swiper.transitionStart(!0,swiper.swipeDirection);if(!swiper.animating){swiper.animating=!0;elementTransitionEnd(wrapperEl,()=>{if(!swiper||swiper.destroyed) 1240return;swiper.transitionEnd()})}}else{swiper.updateProgress(newPosition)} 1241swiper.updateActiveIndex();swiper.updateSlidesClasses()}else if(freeModeParams.sticky){swiper.slideToClosest();return}else{emit('_freeModeNoMomentumRelease')} 1242if(!freeModeParams.momentum||timeDiff>=params.longSwipesMs){emit('_freeModeStaticRelease');swiper.updateProgress();swiper.updateActiveIndex();swiper.updateSlidesClasses()}} 1243swiper.freeMode={onTouchStart,onTouchMove,onTouchEnd,}};const Grid=({swiper,extendParams,on})=>{extendParams({grid:{rows:1,fill:'column',},});function getParams(){return swiper.params.grid}
1244let slidesNumberEvenToRows;let slidesPerRow;let numFullColumns;let wasMultiRow;const getSpaceBetween=()=>{let spaceBetween=swiper.params.spaceBetween??0;if(typeof spaceBetween==='string'&&spaceBetween.indexOf('%')>=0){spaceBetween=(parseFloat(spaceBetween.replace('%',''))/100)*swiper.size}else if(typeof spaceBetween==='string'){spaceBetween=parseFloat(spaceBetween)} 1245return spaceBetween};const isVirtualEnabled=()=>{const virtualParams=swiper.params.virtual;return(!!swiper.virtual&&typeof virtualParams==='object'&&virtualParams!==null&&!!virtualParams.enabled)};const initSlides=(slides)=>{const{slidesPerView}=swiper.params;const{rows,fill}=getParams();const slidesLength=isVirtualEnabled()?swiper.virtual.slides.length:slides.length;numFullColumns=Math.floor(slidesLength/rows);if(Math.floor(slidesLength/rows)===slidesLength/rows){slidesNumberEvenToRows=slidesLength}else{slidesNumberEvenToRows=Math.ceil(slidesLength/rows)*rows} 1246if(slidesPerView!=='auto'&&fill==='row'){slidesNumberEvenToRows=Math.max(slidesNumberEvenToRows,Math.floor(slidesPerView??1)*rows)} 1247slidesPerRow=slidesNumberEvenToRows/rows};const unsetSlides=()=>{if(swiper.slides){swiper.slides.forEach((slide)=>{const gridSlide=slide;if(gridSlide.swiperSlideGridSet){slide.style.height='';slide.style.setProperty(swiper.getDirectionLabel('margin-top'),'')}})}};const updateSlide=(i,slide,slides)=>{const{slidesPerGroup}=swiper.params;const spaceBetween=getSpaceBetween();const{rows,fill}=getParams();const slidesLength=isVirtualEnabled()?swiper.virtual.slides.length:slides.length;let newSlideOrderIndex;let column;let row;if(fill==='row'&&(slidesPerGroup??1)>1){const groupsPer=slidesPerGroup??1;const groupIndex=Math.floor(i/(groupsPer*rows));const slideIndexInGroup=i-rows*groupsPer*groupIndex;const columnsInGroup=groupIndex===0?groupsPer:Math.min(Math.ceil((slidesLength-groupIndex*rows*groupsPer)/rows),groupsPer);row=Math.floor(slideIndexInGroup/columnsInGroup);column=slideIndexInGroup-row*columnsInGroup+groupIndex*groupsPer;newSlideOrderIndex=column+(row*slidesNumberEvenToRows)/rows;slide.style.order=String(newSlideOrderIndex)}else if(fill==='column'){column=Math.floor(i/rows);row=i-column*rows;if(column>numFullColumns||(column===numFullColumns&&row===rows-1)){row+=1;if(row>=rows){row=0;column+=1}}}else{row=Math.floor(i/slidesPerRow);column=i-row*slidesPerRow} 1248const gridSlide=slide;gridSlide.row=row;gridSlide.column=column;slide.style.height=`calc((100% - ${(rows - 1) * spaceBetween}px) / ${rows})`;slide.style.setProperty(swiper.getDirectionLabel('margin-top'),row!==0&&spaceBetween?`${spaceBetween}px`:'');gridSlide.swiperSlideGridSet=!0};const updateWrapperSize=(slideSize,snapGrid)=>{const{centeredSlides,roundLengths}=swiper.params;const spaceBetween=getSpaceBetween();const{rows}=getParams();swiper.virtualSize=(slideSize+spaceBetween)*slidesNumberEvenToRows;swiper.virtualSize=Math.ceil(swiper.virtualSize/rows)-spaceBetween;if(!swiper.params.cssMode){swiper.wrapperEl.style.setProperty(swiper.getDirectionLabel('width'),`${swiper.virtualSize + spaceBetween}px`)} 1249if(centeredSlides){const newSlidesGrid=[];for(let i=0;i<snapGrid.length;i+=1){let slidesGridItem=snapGrid[i];if(roundLengths) 1250slidesGridItem=Math.floor(slidesGridItem);if(snapGrid[i]<swiper.virtualSize+snapGrid[0]) 1251newSlidesGrid.push(slidesGridItem)} 1252snapGrid.splice(0,snapGrid.length);snapGrid.push(...newSlidesGrid)}};const onInit=()=>{const gridParams=swiper.params.grid;wasMultiRow=!!(gridParams&&(gridParams.rows??1)>1)};const onUpdate=()=>{const{params,el}=swiper;const gridParams=params.grid;const isMultiRow=!!(gridParams&&(gridParams.rows??1)>1);if(wasMultiRow&&!isMultiRow){el.classList.remove(`${params.containerModifierClass}grid`,`${params.containerModifierClass}grid-column`);numFullColumns=1;swiper.emitContainerClasses()}else if(!wasMultiRow&&isMultiRow){el.classList.add(`${params.containerModifierClass}grid`);if(gridParams.fill==='column'){el.classList.add(`${params.containerModifierClass}grid-column`)} 1253swiper.emitContainerClasses()} 1254wasMultiRow=isMultiRow};on('init',onInit);on('update',onUpdate);swiper.grid={initSlides,unsetSlides,updateSlide,updateWrapperSize,}};function addSlide(index,slides){const swiper=this;const{params,activeIndex,slidesEl}=swiper;let activeIndexBuffer=activeIndex;if(params.loop){activeIndexBuffer-=swiper.loopedSlides??0;swiper.loopDestroy();swiper.recalcSlides()} 1255const baseLength=swiper.slides.length;if(index<=0){swiper.prependSlide(slides);return} 1256if(index>=baseLength){swiper.appendSlide(slides);return} 1257let newActiveIndex=activeIndexBuffer>index?activeIndexBuffer+1:activeIndexBuffer;const slidesBuffer=[];for(let i=baseLength-1;i>=index;i-=1){const currentSlide=swiper.slides[i];if(!currentSlide) 1258continue;currentSlide.remove();slidesBuffer.unshift(currentSlide)} 1259if(Array.isArray(slides)){for(let i=0;i<slides.length;i+=1){const slide=slides[i];if(slide) 1260slidesEl.append(slide)} 1261newActiveIndex=activeIndexBuffer>index?activeIndexBuffer+slides.length:activeIndexBuffer}else{slidesEl.append(slides)} 1262for(let i=0;i<slidesBuffer.length;i+=1){slidesEl.append(slidesBuffer[i])} 1263swiper.recalcSlides();if(params.loop){swiper.loopCreate()}
1264if(!params.observer||swiper.isElement){swiper.update()} 1265if(params.loop){swiper.slideTo(newActiveIndex+(swiper.loopedSlides??0),0,!1)}else{swiper.slideTo(newActiveIndex,0,!1)}} 1266function appendSlide(slides){const swiper=this;const{params,slidesEl}=swiper;if(params.loop){swiper.loopDestroy()} 1267const appendElement=(slideEl)=>{if(typeof slideEl==='string'){const tempDOM=document.createElement('div');setInnerHTML(tempDOM,slideEl);const child=tempDOM.children[0];if(child) 1268slidesEl.append(child);setInnerHTML(tempDOM,'')}else{slidesEl.append(slideEl)}};if(Array.isArray(slides)){for(let i=0;i<slides.length;i+=1){const slide=slides[i];if(slide) 1269appendElement(slide)}}else{appendElement(slides)} 1270swiper.recalcSlides();if(params.loop){swiper.loopCreate()} 1271if(!params.observer||swiper.isElement){swiper.update()}} 1272function prependSlide(slides){const swiper=this;const{params,activeIndex,slidesEl}=swiper;if(params.loop){swiper.loopDestroy()} 1273let newActiveIndex=activeIndex+1;const prependElement=(slideEl)=>{if(typeof slideEl==='string'){const tempDOM=document.createElement('div');setInnerHTML(tempDOM,slideEl);const child=tempDOM.children[0];if(child) 1274slidesEl.prepend(child);setInnerHTML(tempDOM,'')}else{slidesEl.prepend(slideEl)}};if(Array.isArray(slides)){for(let i=0;i<slides.length;i+=1){const slide=slides[i];if(slide) 1275prependElement(slide)} 1276newActiveIndex=activeIndex+slides.length}else{prependElement(slides)} 1277swiper.recalcSlides();if(params.loop){swiper.loopCreate()} 1278if(!params.observer||swiper.isElement){swiper.update()} 1279swiper.slideTo(newActiveIndex,0,!1)} 1280function removeAllSlides(){const swiper=this;const slidesIndexes=[];for(let i=0;i<swiper.slides.length;i+=1){slidesIndexes.push(i)} 1281swiper.removeSlide(slidesIndexes)} 1282function removeSlide(slidesIndexes){const swiper=this;const{params,activeIndex}=swiper;let activeIndexBuffer=activeIndex;if(params.loop){activeIndexBuffer-=swiper.loopedSlides??0;swiper.loopDestroy()} 1283let newActiveIndex=activeIndexBuffer;if(Array.isArray(slidesIndexes)){for(let i=0;i<slidesIndexes.length;i+=1){const indexToRemove=slidesIndexes[i];if(swiper.slides[indexToRemove]) 1284swiper.slides[indexToRemove].remove();if(indexToRemove<newActiveIndex) 1285newActiveIndex-=1} 1286newActiveIndex=Math.max(newActiveIndex,0)}else{const indexToRemove=slidesIndexes;if(swiper.slides[indexToRemove]) 1287swiper.slides[indexToRemove].remove();if(indexToRemove<newActiveIndex) 1288newActiveIndex-=1;newActiveIndex=Math.max(newActiveIndex,0)} 1289swiper.recalcSlides();if(params.loop){swiper.loopCreate()} 1290if(!params.observer||swiper.isElement){swiper.update()} 1291if(params.loop){swiper.slideTo(newActiveIndex+(swiper.loopedSlides??0),0,!1)}else{swiper.slideTo(newActiveIndex,0,!1)}} 1292const Manipulation=({swiper})=>{Object.assign(swiper,{appendSlide:appendSlide.bind(swiper),prependSlide:prependSlide.bind(swiper),addSlide:addSlide.bind(swiper),removeSlide:removeSlide.bind(swiper),removeAllSlides:removeAllSlides.bind(swiper),})};function effectInit(params){const{effect,swiper,on,setTranslate,setTransition,overwriteParams,perspective,recreateShadows,getEffectParams,}=params;on('beforeInit',()=>{if(swiper.params.effect!==effect) 1293return;swiper.classNames.push(`${swiper.params.containerModifierClass}${effect}`);if(perspective&&perspective()){swiper.classNames.push(`${swiper.params.containerModifierClass}3d`)} 1294const overwriteParamsResult=overwriteParams?overwriteParams():{};Object.assign(swiper.params,overwriteParamsResult);Object.assign(swiper.originalParams,overwriteParamsResult)});on('setTranslate _virtualUpdated',()=>{if(swiper.params.effect!==effect) 1295return;setTranslate()});on('setTransition',(_s,duration)=>{if(swiper.params.effect!==effect) 1296return;setTransition(duration)});on('transitionEnd',()=>{if(swiper.params.effect!==effect) 1297return;if(recreateShadows){const effectParams=getEffectParams?getEffectParams():undefined;if(!effectParams||!effectParams.slideShadows) 1298return;swiper.slides.forEach((slideEl)=>{slideEl.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach((shadowEl)=>shadowEl.remove())});recreateShadows()}});let requireUpdateOnVirtual=!1;on('virtualUpdate',()=>{if(swiper.params.effect!==effect) 1299return;if(!swiper.slides.length){requireUpdateOnVirtual=!0} 1300requestAnimationFrame(()=>{if(requireUpdateOnVirtual&&swiper.slides&&swiper.slides.length){setTranslate();requireUpdateOnVirtual=!1}})})} 1301function effectTarget(_effectParams,slideEl){const transformEl=getSlideTransformEl(slideEl);if(transformEl!==slideEl){transformEl.style.backfaceVisibility='hidden';transformEl.style.setProperty('-webkit-backface-visibility','hidden')} 1302return transformEl} 1303function effectVirtualTransitionEnd({swiper,duration,transformElements,allSlides,}){const{activeIndex}=swiper;const getSlide=(el)=>{if(!el.parentElement){return swiper.slides.find((slideEl)=>slideEl.shadowRoot&&slideEl.shadowRoot===el.parentNode)} 1304if(el.parentElement instanceof HTMLElement) 1305return el.parentElement;return undefined};if(swiper.params.virtualTranslate&&duration!==0){let eventTriggered=!1;let transitionEndTarget;if(allSlides){transitionEndTarget=transformElements}else{transitionEndTarget=transformElements.filter((transformEl)=>{const el=transformEl.classList.contains('swiper-slide-transform')?getSlide(transformEl):transformEl;return!!el&&swiper.getSlideIndex(el)===activeIndex})} 1306transitionEndTarget.forEach((el)=>{elementTransitionEnd(el,()=>{if(eventTriggered) 1307return;if(!swiper||swiper.destroyed) 1308return;eventTriggered=!0;swiper.animating=!1;const evt=new CustomEvent('transitionend',{bubbles:!0,cancelable:!0});
1308swiper.wrapperEl.dispatchEvent(evt)})})}} 1309const EffectFade=({swiper,extendParams,on})=>{extendParams({fadeEffect:{crossFade:!1,mode:'default',},});let outInDuration=0;function getParams(){return swiper.params.fadeEffect} 1310function getMode(){const params=getParams();if(params.mode==='default'&¶ms.crossFade) 1311return'cross-fade';return params.mode} 1312const setTranslate=()=>{const{slides}=swiper;const params=getParams();const mode=getMode();const outInTransition=mode==='out-in'&&outInDuration>0;const duration=outInDuration;outInDuration=0;const targetEls=[];const incomingEls=[];let hasFadingOut=!1;for(let i=0;i<slides.length;i+=1){const slideEl=slides[i];const offset=slideEl.swiperSlideOffset??0;let tx=-offset;if(!swiper.params.virtualTranslate) 1313tx-=swiper.translate;let ty=0;if(!swiper.isHorizontal()){ty=tx;tx=0} 1314const slideProgress=slideEl.progress??0;let slideOpacity;if(mode==='cross-fade'){slideOpacity=Math.max(1-Math.abs(slideProgress),0)}else if(mode==='out-in'){slideOpacity=Math.max(1-2*Math.abs(slideProgress),0)}else{slideOpacity=1+Math.min(Math.max(slideProgress,-1),0)} 1315const targetEl=effectTarget(params,slideEl);if(outInTransition){const prevOpacity=parseFloat(targetEl.style.opacity);if(slideOpacity===0&&prevOpacity>0) 1316hasFadingOut=!0;if(slideOpacity>0) 1317incomingEls.push(targetEl);targetEls.push(targetEl)} 1318targetEl.style.opacity=String(slideOpacity);targetEl.style.transform=`translate3d(${tx}px, ${ty}px, 0px)`} 1319if(outInTransition){targetEls.forEach((el)=>{const delayed=hasFadingOut&&incomingEls.includes(el);el.style.transitionDuration=`${duration / 2}ms`;el.style.transitionDelay=delayed?`${duration / 2}ms`:'0ms'});effectVirtualTransitionEnd({swiper,duration,transformElements:incomingEls,allSlides:!0,})}};const setTransition=(duration)=>{const mode=getMode();const transformElements=swiper.slides.map((slideEl)=>getSlideTransformEl(slideEl));transformElements.forEach((el)=>{el.style.transitionDuration=`${duration}ms`;if(mode==='out-in'&&duration===0) 1320el.style.transitionDelay=''});if(mode==='out-in'&&duration>0&&!swiper.params.cssMode){outInDuration=duration;return} 1321effectVirtualTransitionEnd({swiper,duration,transformElements,allSlides:!0})};effectInit({effect:'fade',swiper,on,setTranslate,setTransition,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!swiper.params.cssMode,}),})};const EffectCube=({swiper,extendParams,on})=>{extendParams({cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:0.94,},});function getParams(){return swiper.params.cubeEffect} 1322const createSlideShadows=(slideEl,progress,isHorizontal)=>{let shadowBefore=isHorizontal?slideEl.querySelector('.swiper-slide-shadow-left'):slideEl.querySelector('.swiper-slide-shadow-top');let shadowAfter=isHorizontal?slideEl.querySelector('.swiper-slide-shadow-right'):slideEl.querySelector('.swiper-slide-shadow-bottom');if(!shadowBefore){shadowBefore=createElement('div',`swiper-slide-shadow-cube swiper-slide-shadow-${isHorizontal ? 'left' : 'top'}`.split(' '));slideEl.append(shadowBefore)} 1323if(!shadowAfter){shadowAfter=createElement('div',`swiper-slide-shadow-cube swiper-slide-shadow-${isHorizontal ? 'right' : 'bottom'}`.split(' '));slideEl.append(shadowAfter)} 1324if(shadowBefore) 1325shadowBefore.style.opacity=String(Math.max(-progress,0));if(shadowAfter) 1326shadowAfter.style.opacity=String(Math.max(progress,0))};const recreateShadows=()=>{const isHorizontal=swiper.isHorizontal();swiper.slides.forEach((slideEl)=>{const progress=Math.max(Math.min(slideEl.progress??0,1),-1);createSlideShadows(slideEl,progress,isHorizontal)})};const setTranslate=()=>{const{el,wrapperEl,slides,width:swiperWidth,height:swiperHeight,rtlTranslate:rtl,size:swiperSize,}=swiper;const r=getRotateFix(swiper);const params=getParams();const isHorizontal=swiper.isHorizontal();const isVirtual=!!(swiper.virtual&&swiper.params.virtual?.enabled);let wrapperRotate=0;let cubeShadowEl=null;if(params.shadow){if(isHorizontal){cubeShadowEl=swiper.wrapperEl.querySelector('.swiper-cube-shadow');if(!cubeShadowEl){cubeShadowEl=createElement('div','swiper-cube-shadow');swiper.wrapperEl.append(cubeShadowEl)} 1327cubeShadowEl.style.height=`${swiperWidth}px`}else{cubeShadowEl=el.querySelector('.swiper-cube-shadow');if(!cubeShadowEl){cubeShadowEl=createElement('div','swiper-cube-shadow');el.append(cubeShadowEl)}}} 1328for(let i=0;i<slides.length;i+=1){const slideEl=slides[i];let slideIndex=i;if(isVirtual){slideIndex=parseInt(slideEl.getAttribute('data-swiper-slide-index')??'0',10)} 1329let slideAngle=slideIndex*90;let round=Math.floor(slideAngle/360);if(rtl){slideAngle=-slideAngle;round=Math.floor(-slideAngle/360)} 1330const progress=Math.max(Math.min(slideEl.progress??0,1),-1);let tx=0;let ty=0;let tz=0;if(slideIndex%4===0){tx=-round*4*swiperSize;tz=0}else if((slideIndex-1)%4===0){tx=0;tz=-round*4*swiperSize}else if((slideIndex-2)%4===0){tx=swiperSize+round*4*swiperSize;
1330tz=swiperSize}else if((slideIndex-3)%4===0){tx=-swiperSize;tz=3*swiperSize+swiperSize*4*round} 1331if(rtl){tx=-tx} 1332if(!isHorizontal){ty=tx;tx=0} 1333const transform=`rotateX(${r(isHorizontal ? 0 : -slideAngle)}deg) rotateY(${r(isHorizontal ? slideAngle : 0)}deg) translate3d(${tx}px, ${ty}px, ${tz}px)`;if(progress<=1&&progress>-1){wrapperRotate=slideIndex*90+progress*90;if(rtl) 1334wrapperRotate=-slideIndex*90-progress*90} 1335slideEl.style.transform=transform;if(params.slideShadows){createSlideShadows(slideEl,progress,isHorizontal)}} 1336wrapperEl.style.transformOrigin=`50% 50% -${swiperSize / 2}px`;wrapperEl.style.setProperty('-webkit-transform-origin',`50% 50% -${swiperSize / 2}px`);if(params.shadow&&cubeShadowEl){if(isHorizontal){cubeShadowEl.style.transform=`translate3d(0px, ${swiperWidth / 2 + params.shadowOffset}px, ${-swiperWidth / 2}px) rotateX(89.99deg) rotateZ(0deg) scale(${params.shadowScale})`}else{const shadowAngle=Math.abs(wrapperRotate)-Math.floor(Math.abs(wrapperRotate)/90)*90;const multiplier=1.5-(Math.sin((shadowAngle*2*Math.PI)/360)/2+Math.cos((shadowAngle*2*Math.PI)/360)/2);const scale1=params.shadowScale;const scale2=params.shadowScale/multiplier;const offset=params.shadowOffset;cubeShadowEl.style.transform=`scale3d(${scale1}, 1, ${scale2}) translate3d(0px, ${swiperHeight / 2 + offset}px, ${-swiperHeight / 2 / scale2}px) rotateX(-89.99deg)`}} 1337wrapperEl.style.transform=`translate3d(0px,0,0px) rotateX(${r(swiper.isHorizontal() ? 0 : wrapperRotate)}deg) rotateY(${r(swiper.isHorizontal() ? -wrapperRotate : 0)}deg)`;wrapperEl.style.setProperty('--swiper-cube-translate-z','0px')};const setTransition=(duration)=>{const{el,slides}=swiper;slides.forEach((slideEl)=>{slideEl.style.transitionDuration=`${duration}ms`;slideEl.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach((subEl)=>{subEl.style.transitionDuration=`${duration}ms`})});if(swiper.params.cubeEffect?.shadow&&!swiper.isHorizontal()){const shadowEl=el.querySelector('.swiper-cube-shadow');if(shadowEl) 1338shadowEl.style.transitionDuration=`${duration}ms`}};effectInit({effect:'cube',swiper,on,setTranslate,setTransition,recreateShadows,getEffectParams:()=>swiper.params.cubeEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0,}),})};function createShadow(suffix,slideEl,side){const shadowClass=`swiper-slide-shadow${side ? `-${side}` : ''}${suffix ? ` swiper-slide-shadow-${suffix}` : ''}`;const shadowContainer=getSlideTransformEl(slideEl);const selector=`.${shadowClass.split(' ').join('.')}`;const existing=shadowContainer.querySelector(selector);if(existing) 1339return existing;const created=createElement('div',shadowClass.split(' '));shadowContainer.append(created);return created} 1340const EffectFlip=({swiper,extendParams,on})=>{extendParams({flipEffect:{slideShadows:!0,limitRotation:!0,},});function getParams(){return swiper.params.flipEffect} 1341const createSlideShadows=(slideEl,progress)=>{let shadowBefore=swiper.isHorizontal()?slideEl.querySelector('.swiper-slide-shadow-left'):slideEl.querySelector('.swiper-slide-shadow-top');let shadowAfter=swiper.isHorizontal()?slideEl.querySelector('.swiper-slide-shadow-right'):slideEl.querySelector('.swiper-slide-shadow-bottom');if(!shadowBefore){shadowBefore=createShadow('flip',slideEl,swiper.isHorizontal()?'left':'top')} 1342if(!shadowAfter){shadowAfter=createShadow('flip',slideEl,swiper.isHorizontal()?'right':'bottom')} 1343if(shadowBefore) 1344shadowBefore.style.opacity=String(Math.max(-progress,0));if(shadowAfter) 1345shadowAfter.style.opacity=String(Math.max(progress,0))};const recreateShadows=()=>{const params=getParams();swiper.slides.forEach((slideEl)=>{let progress=slideEl.progress??0;if(params.limitRotation){progress=Math.max(Math.min(progress,1),-1)} 1346createSlideShadows(slideEl,progress)})};const setTranslate=()=>{const{slides,rtlTranslate:rtl}=swiper;const params=getParams();const rotateFix=getRotateFix(swiper);for(let i=0;i<slides.length;i+=1){const slideEl=slides[i];let progress=slideEl.progress??0;
1346if(params.limitRotation){progress=Math.max(Math.min(progress,1),-1)} 1347const offset=slideEl.swiperSlideOffset??0;const rotate=-180*progress;let rotateY=rotate;let rotateX=0;let tx=swiper.params.cssMode?-offset-swiper.translate:-offset;let ty=0;if(!swiper.isHorizontal()){ty=tx;tx=0;rotateX=-rotateY;rotateY=0}else if(rtl){rotateY=-rotateY} 1348slideEl.style.zIndex=String(-Math.abs(Math.round(progress))+slides.length);if(params.slideShadows){createSlideShadows(slideEl,progress)} 1349const transform=`translate3d(${tx}px, ${ty}px, 0px) rotateX(${rotateFix(rotateX)}deg) rotateY(${rotateFix(rotateY)}deg)`;const targetEl=effectTarget(params,slideEl);targetEl.style.transform=transform}};const setTransition=(duration)=>{const transformElements=swiper.slides.map((slideEl)=>getSlideTransformEl(slideEl));transformElements.forEach((el)=>{el.style.transitionDuration=`${duration}ms`;el.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach((shadowEl)=>{shadowEl.style.transitionDuration=`${duration}ms`})});effectVirtualTransitionEnd({swiper,duration,transformElements})};effectInit({effect:'flip',swiper,on,setTranslate,setTransition,recreateShadows,getEffectParams:()=>swiper.params.flipEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!swiper.params.cssMode,}),})};const EffectCoverflow=({swiper,extendParams,on})=>{extendParams({coverflowEffect:{rotate:50,stretch:0,depth:100,scale:1,modifier:1,slideShadows:!0,},});function getParams(){return swiper.params.coverflowEffect} 1350const setTranslate=()=>{const{width:swiperWidth,height:swiperHeight,slides,slidesSizesGrid}=swiper;const params=getParams();const isHorizontal=swiper.isHorizontal();const transform=swiper.translate;const center=isHorizontal?-transform+swiperWidth/2:-transform+swiperHeight/2;const rotate=isHorizontal?params.rotate:-params.rotate;const translate=params.depth;const r=getRotateFix(swiper);for(let i=0,length=slides.length;i<length;i+=1){const slideEl=slides[i];const slideSize=slidesSizesGrid[i];const slideOffset=slideEl.swiperSlideOffset??0;const centerOffset=(center-slideOffset-slideSize/2)/slideSize;const offsetMultiplier=typeof params.modifier==='function'?params.modifier(centerOffset):centerOffset*params.modifier;let rotateY=isHorizontal?rotate*offsetMultiplier:0;let rotateX=isHorizontal?0:rotate*offsetMultiplier;let translateZ=-translate*Math.abs(offsetMultiplier);let stretch=typeof params.stretch==='string'&¶ms.stretch.indexOf('%')!==-1?(parseFloat(params.stretch)/100)*slideSize:params.stretch;let translateY=isHorizontal?0:stretch*offsetMultiplier;let translateX=isHorizontal?stretch*offsetMultiplier:0;let scale=1-(1-params.scale)*Math.abs(offsetMultiplier);if(Math.abs(translateX)<0.001) 1351translateX=0;if(Math.abs(translateY)<0.001) 1352translateY=0;if(Math.abs(translateZ)<0.001) 1353translateZ=0;if(Math.abs(rotateY)<0.001) 1354rotateY=0;if(Math.abs(rotateX)<0.001) 1355rotateX=0;if(Math.abs(scale)<0.001) 1356scale=0;const slideTransform=`translate3d(${translateX}px,${translateY}px,${translateZ}px) rotateX(${r(rotateX)}deg) rotateY(${r(rotateY)}deg) scale(${scale})`;const targetEl=effectTarget(params,slideEl);targetEl.style.transform=slideTransform;slideEl.style.zIndex=String(-Math.abs(Math.round(offsetMultiplier))+1);if(params.slideShadows){let shadowBeforeEl=isHorizontal?slideEl.querySelector('.swiper-slide-shadow-left'):slideEl.querySelector('.swiper-slide-shadow-top');let shadowAfterEl=isHorizontal?slideEl.querySelector('.swiper-slide-shadow-right'):slideEl.querySelector('.swiper-slide-shadow-bottom');if(!shadowBeforeEl){shadowBeforeEl=createShadow('coverflow',slideEl,isHorizontal?'left':'top')} 1357if(!shadowAfterEl){shadowAfterEl=createShadow('coverflow',slideEl,isHorizontal?'right':'bottom')} 1358if(shadowBeforeEl) 1359shadowBeforeEl.style.opacity=String(offsetMultiplier>0?offsetMultiplier:0);if(shadowAfterEl) 1360shadowAfterEl.style.opacity=String(-offsetMultiplier>0?-offsetMultiplier:0)}}};const setTransition=(duration)=>{const transformElements=swiper.slides.map((slideEl)=>getSlideTransformEl(slideEl));
1360transformElements.forEach((el)=>{el.style.transitionDuration=`${duration}ms`;el.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach((shadowEl)=>{shadowEl.style.transitionDuration=`${duration}ms`})})};effectInit({effect:'coverflow',swiper,on,setTranslate,setTransition,perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0,}),})};const EffectCreative=({swiper,extendParams,on})=>{extendParams({creativeEffect:{limitProgress:1,shadowPerProgress:!1,progressMultiplier:1,perspective:!0,prev:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1,},next:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1,},},});function getParams(){return swiper.params.creativeEffect} 1361const getTranslateValue=(value)=>{if(typeof value==='string') 1362return value;return `${value}px`};const setTranslate=()=>{const{slides,wrapperEl,slidesSizesGrid}=swiper;const params=getParams();const{progressMultiplier:multiplier}=params;const isCenteredSlides=swiper.params.centeredSlides;const rotateFix=getRotateFix(swiper);if(isCenteredSlides){const margin=slidesSizesGrid[0]/2-(swiper.params.slidesOffsetBefore??0);wrapperEl.style.transform=`translateX(calc(50% - ${margin}px))`} 1363for(let i=0;i<slides.length;i+=1){const slideEl=slides[i];const slideProgress=slideEl.progress??0;const progress=Math.min(Math.max(slideProgress,-params.limitProgress),params.limitProgress);let originalProgress=progress;if(!isCenteredSlides){originalProgress=Math.min(Math.max(slideEl.originalProgress??0,-params.limitProgress),params.limitProgress)} 1364const offset=slideEl.swiperSlideOffset??0;const t=[swiper.params.cssMode?-offset-swiper.translate:-offset,0,0,];const r=[0,0,0];let custom=!1;if(!swiper.isHorizontal()){t[1]=t[0];t[0]=0} 1365let data={translate:[0,0,0],rotate:[0,0,0],scale:1,opacity:1,};if(progress<0){data=params.next;custom=!0}else if(progress>0){data=params.prev;custom=!0} 1366t.forEach((value,index)=>{t[index]=`calc(${value}px + (${getTranslateValue(data.translate[index])} * ${Math.abs(progress * multiplier)}))`});r.forEach((_value,index)=>{r[index]=data.rotate[index]*Math.abs(progress*multiplier)});slideEl.style.zIndex=String(-Math.abs(Math.round(slideProgress))+slides.length);const translateString=t.join(', ');const rotateString=`rotateX(${rotateFix(r[0])}deg) rotateY(${rotateFix(r[1])}deg) rotateZ(${rotateFix(r[2])}deg)`;const scaleString=originalProgress<0?`scale(${1 + (1 - data.scale) * originalProgress * multiplier})`:`scale(${1 - (1 - data.scale) * originalProgress * multiplier})`;const opacityString=originalProgress<0?1+(1-data.opacity)*originalProgress*multiplier:1-(1-data.opacity)*originalProgress*multiplier;const transform=`translate3d(${translateString}) ${rotateString} ${scaleString}`;if((custom&&data.shadow)||!custom){let shadowEl=slideEl.querySelector('.swiper-slide-shadow');if(!shadowEl&&data.shadow){shadowEl=createShadow('creative',slideEl)} 1367if(shadowEl){const shadowOpacity=params.shadowPerProgress?progress*(1/params.limitProgress):progress;shadowEl.style.opacity=String(Math.min(Math.max(Math.abs(shadowOpacity),0),1))}} 1368const targetEl=effectTarget(params,slideEl);targetEl.style.transform=transform;targetEl.style.opacity=String(opacityString);if(data.origin){targetEl.style.transformOrigin=data.origin}}};const setTransition=(duration)=>{const transformElements=swiper.slides.map((slideEl)=>getSlideTransformEl(slideEl));transformElements.forEach((el)=>{el.style.transitionDuration=`${duration}ms`;el.querySelectorAll('.swiper-slide-shadow').forEach((shadowEl)=>{shadowEl.style.transitionDuration=`${duration}ms`})});effectVirtualTransitionEnd({swiper,duration,transformElements,allSlides:!0})};effectInit({effect:'creative',swiper,on,setTranslate,setTransition,perspective:()=>getParams().perspective,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!swiper.params.cssMode,}),})};const EffectCards=({swiper,extendParams,on})=>{extendParams({cardsEffect:{slideShadows:!0,rotate:!0,perSlideRotate:2,perSlideOffset:8,},});function getParams(){return swiper.params.cardsEffect} 1369const setTranslate=()=>{const{slides,activeIndex,rtlTranslate:rtl}=swiper;const params=getParams();const{startTranslate,isTouched}=swiper.touchEventsData;const currentTranslate=rtl?-swiper.translate:swiper.translate;
1369for(let i=0;i<slides.length;i+=1){const slideEl=slides[i];const slideProgress=slideEl.progress??0;const progress=Math.min(Math.max(slideProgress,-4),4);let offset=slideEl.swiperSlideOffset??0;if(swiper.params.centeredSlides&&!swiper.params.cssMode){swiper.wrapperEl.style.transform=`translateX(${swiper.minTranslate()}px)`} 1370if(swiper.params.centeredSlides&&swiper.params.cssMode){offset-=slides[0].swiperSlideOffset??0} 1371let tX=swiper.params.cssMode?-offset-swiper.translate:-offset;let tY=0;const tZ=-100*Math.abs(progress);let scale=1;let rotate=-params.perSlideRotate*progress;let tXAdd=params.perSlideOffset-Math.abs(progress)*0.75;const slideIndex=swiper.virtual&&swiper.params.virtual?.enabled?swiper.virtual.from+i:i;const isSwipeToNext=(slideIndex===activeIndex||slideIndex===activeIndex-1)&&progress>0&&progress<1&&(isTouched||swiper.params.cssMode)&&(currentTranslate??0)<(startTranslate??0);const isSwipeToPrev=(slideIndex===activeIndex||slideIndex===activeIndex+1)&&progress<0&&progress>-1&&(isTouched||swiper.params.cssMode)&&(currentTranslate??0)>(startTranslate??0);if(isSwipeToNext||isSwipeToPrev){const subProgress=(1-Math.abs((Math.abs(progress)-0.5)/0.5))**0.5;rotate+=-28*progress*subProgress;scale+=-0.5*subProgress;tXAdd+=96*subProgress;tY=`${(params.rotate || swiper.isHorizontal() ? -25 : 0) * subProgress * Math.abs(progress)}%`} 1372if(progress<0){tX=`calc(${tX}px ${rtl ? '-' : '+'} (${tXAdd * Math.abs(progress)}%))`}else if(progress>0){tX=`calc(${tX}px ${rtl ? '-' : '+'} (${-tXAdd * Math.abs(progress)}%))`}else{tX=`${tX}px`} 1373if(!swiper.isHorizontal()){const prevY=tY;tY=tX;tX=prevY} 1374const scaleString=progress<0?`${1 + (1 - scale) * progress}`:`${1 - (1 - scale) * progress}`;const transform=` 1375 translate3d(${tX}, ${tY}, ${tZ}px) 1376 rotateZ(${params.rotate ? (rtl ? -rotate : rotate) : 0}deg) 1377 scale(${scaleString}) 1378 `;if(params.slideShadows){let shadowEl=slideEl.querySelector('.swiper-slide-shadow');if(!shadowEl){shadowEl=createShadow('cards',slideEl)} 1379if(shadowEl) 1380shadowEl.style.opacity=String(Math.min(Math.max((Math.abs(progress)-0.5)/0.5,0),1))} 1381slideEl.style.zIndex=String(-Math.abs(Math.round(slideProgress))+slides.length);const targetEl=effectTarget(params,slideEl);targetEl.style.transform=transform}};const setTransition=(duration)=>{const transformElements=swiper.slides.map((slideEl)=>getSlideTransformEl(slideEl));transformElements.forEach((el)=>{el.style.transitionDuration=`${duration}ms`;el.querySelectorAll('.swiper-slide-shadow').forEach((shadowEl)=>{shadowEl.style.transitionDuration=`${duration}ms`})});effectVirtualTransitionEnd({swiper,duration,transformElements})};effectInit({effect:'cards',swiper,on,setTranslate,setTransition,perspective:()=>!0,overwriteParams:()=>({_loopSwapReset:!1,watchSlidesProgress:!0,loopAdditionalSlides:getParams().rotate?3:2,centeredSlides:!0,virtualTranslate:!swiper.params.cssMode,}),})};const modules=[Virtual,Keyboard,Mousewheel,Navigation,Pagination,Scrollbar,Parallax,Zoom,Controller,A11y,History,HashNavigation,Autoplay,Thumb,FreeMode,Grid,Manipulation,EffectFade,EffectCube,EffectFlip,EffectCoverflow,EffectCreative,EffectCards];Swiper.use(modules);return Swiper})()
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.