vendor: 19,840 bytes, lines 1-137
1(function(global,factory){typeof exports==='object'&&typeof module!=='undefined'?module.exports=factory():typeof define==='function'&&define.amd?define(factory):(global=typeof globalThis!=='undefined'?globalThis:global||self,global.Swiper=factory())}(this,(function(){'use strict';function isObject$1(obj){return obj!==null&&typeof obj==='object'&&'constructor' in obj&&obj.constructor===Object} 2function extend$1(target={},src={}){Object.keys(src).forEach(key=>{if(typeof target[key]==='undefined')target[key]=src[key];else if(isObject$1(src[key])&&isObject$1(target[key])&&Object.keys(src[key]).length>0){extend$1(target[key],src[key])}})} 3const ssrDocument={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:''},querySelector(){return null},querySelectorAll(){return[]},getElementById(){return null},createEvent(){return{initEvent(){}}},createElement(){return{children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName(){return[]}}},createElementNS(){return{}},importNode(){return null},location:{hash:'',host:'',hostname:'',href:'',origin:'',pathname:'',protocol:'',search:''}};function getDocument(){const doc=typeof document!=='undefined'?document:{};extend$1(doc,ssrDocument);return doc} 4const ssrWindow={document:ssrDocument,navigator:{userAgent:''},location:{hash:'',host:'',hostname:'',href:'',origin:'',pathname:'',protocol:'',search:''},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function CustomEvent(){return this},addEventListener(){},removeEventListener(){},getComputedStyle(){return{getPropertyValue(){return''}}},Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia(){return{}},requestAnimationFrame(callback){if(typeof setTimeout==='undefined'){callback();return null} 5return setTimeout(callback,0)},cancelAnimationFrame(id){if(typeof setTimeout==='undefined'){return} 6clearTimeout(id)}};function getWindow(){const win=typeof window!=='undefined'?window:{};extend$1(win,ssrWindow);return win} 7function makeReactive(obj){const proto=obj.__proto__;Object.defineProperty(obj,'__proto__',{get(){return proto},set(value){proto.__proto__=value}})} 8class Dom7 extends Array{constructor(items){super(...(items||[]));makeReactive(this)}} 9function arrayFlat(arr=[]){const res=[];arr.forEach(el=>{if(Array.isArray(el)){res.push(...arrayFlat(el))}else{res.push(el)}});return res} 10function arrayFilter(arr,callback){return Array.prototype.filter.call(arr,callback)} 11function arrayUnique(arr){const uniqueArray=[];for(let i=0;i<arr.length;i+=1){if(uniqueArray.indexOf(arr[i])===-1)uniqueArray.push(arr[i])} 12return uniqueArray} 13function qsa(selector,context){if(typeof selector!=='string'){return[selector]} 14const a=[];const res=context.querySelectorAll(selector);for(let i=0;i<res.length;i+=1){a.push(res[i])} 15return a} 16function $(selector,context){const window=getWindow();const document=getDocument();let arr=[];if(!context&&selector instanceof Dom7){return selector} 17if(!selector){return new Dom7(arr)} 18if(typeof selector==='string'){const html=selector.trim();if(html.indexOf('<')>=0&&html.indexOf('>')>=0){let toCreate='div';if(html.indexOf('<li')===0)toCreate='ul';if(html.indexOf('<tr')===0)toCreate='tbody';if(html.indexOf('<td')===0||html.indexOf('<th')===0)toCreate='tr';if(html.indexOf('<tbody')===0)toCreate='table';if(html.indexOf('<option')===0)toCreate='select';const tempParent=document.createElement(toCreate);tempParent.innerHTML=html;for(let i=0;i<tempParent.childNodes.length;i+=1){arr.push(tempParent.childNodes[i])}}else{arr=qsa(selector.trim(),context||document)}}else if(selector.nodeType||selector===window||selector===document){arr.push(selector)}else if(Array.isArray(selector)){if(selector instanceof Dom7)return selector;arr=selector} 19return new Dom7(arrayUnique(arr))} 20$.fn=Dom7.prototype;function addClass(...classes){const classNames=arrayFlat(classes.map(c=>c.split(' ')));this.forEach(el=>{el.classList.add(...classNames)});return this} 21function removeClass(...classes){const classNames=arrayFlat(classes.map(c=>c.split(' ')));this.forEach(el=>{el.classList.remove(...classNames)});return this} 22function toggleClass(...classes){const classNames=arrayFlat(classes.map(c=>c.split(' ')));this.forEach(el=>{classNames.forEach(className=>{el.classList.toggle(className)})})} 23function hasClass(...classes){const classNames=arrayFlat(classes.map(c=>c.split(' ')));return arrayFilter(this,el=>{return classNames.filter(className=>el.classList.contains(className)).length>0}).length>0} 24function attr(attrs,value){if(arguments.length===1&&typeof attrs==='string'){if(this[0])return this[0].getAttribute(attrs);return undefined} 25for(let i=0;i<this.length;i+=1){if(arguments.length===2){this[i].setAttribute(attrs,value)}else{for(const attrName in attrs){this[i][attrName]=attrs[attrName];this[i].setAttribute(attrName,attrs[attrName])}}} 26return this} 27function removeAttr(attr){for(let i=0;i<this.length;i+=1){this[i].removeAttribute(attr)} 28return this} 29function transform(transform){for(let i=0;i<this.length;i+=1){this[i].style.transform=transform} 30return this} 31function transition$1(duration){for(let i=0;i<this.length;i+=1){this[i].style.transitionDuration=typeof duration!=='string'?`${duration}ms`:duration} 32return this} 33function on(...args){let[eventType,targetSelector,listener,capture]=args;if(typeof args[1]==='function'){[eventType,listener,capture]=args;targetSelector=undefined} 34if(!capture)capture=!1;function handleLiveEvent(e){const target=e.target;if(!target)return;const eventData=e.target.dom7EventData||[];if(eventData.indexOf(e)<0){eventData.unshift(e)} 35if($(target).is(targetSelector))listener.apply(target,eventData);else{const parents=$(target).parents();for(let k=0;k<parents.length;k+=1){if($(parents[k]).is(targetSelector))listener.apply(parents[k],eventData)}}} 36function handleEvent(e){const eventData=e&&e.target?e.target.dom7EventData||[]:[];if(eventData.indexOf(e)<0){eventData.unshift(e)} 37listener.apply(this,eventData)} 38const events=eventType.split(' ');let j;for(let i=0;i<this.length;i+=1){const el=this[i];if(!targetSelector){for(j=0;j<events.length;j+=1){const event=events[j];if(!el.dom7Listeners)el.dom7Listeners={};if(!el.dom7Listeners[event])el.dom7Listeners[event]=[];el.dom7Listeners[event].push({listener,proxyListener:handleEvent});el.addEventListener(event,handleEvent,capture)}}else{for(j=0;j<events.length;j+=1){const event=events[j];if(!el.dom7LiveListeners)el.dom7LiveListeners={};if(!el.dom7LiveListeners[event])el.dom7LiveListeners[event]=[];el.dom7LiveListeners[event].push({listener,proxyListener:handleLiveEvent});el.addEventListener(event,handleLiveEvent,capture)}}} 39return this} 40function off(...args){let[eventType,targetSelector,listener,capture]=args;if(typeof args[1]==='function'){[eventType,listener,capture]=args;targetSelector=undefined} 41if(!capture)capture=!1;const events=eventType.split(' ');for(let i=0;i<events.length;i+=1){const event=events[i];for(let j=0;j<this.length;j+=1){const el=this[j];let handlers;if(!targetSelector&&el.dom7Listeners){handlers=el.dom7Listeners[event]}else if(targetSelector&&el.dom7LiveListeners){handlers=el.dom7LiveListeners[event]} 42if(handlers&&handlers.length){for(let k=handlers.length-1;k>=0;k-=1){const handler=handlers[k];if(listener&&handler.listener===listener){el.removeEventListener(event,handler.proxyListener,capture);handlers.splice(k,1)}else if(listener&&handler.listener&&handler.listener.dom7proxy&&handler.listener.dom7proxy===listener){el.removeEventListener(event,handler.proxyListener,capture);handlers.splice(k,1)}else if(!listener){el.removeEventListener(event,handler.proxyListener,capture);handlers.splice(k,1)}}}}} 43return this} 44function trigger(...args){const window=getWindow();const events=args[0].split(' ');const eventData=args[1];for(let i=0;i<events.length;i+=1){const event=events[i];for(let j=0;j<this.length;j+=1){const el=this[j];if(window.CustomEvent){const evt=new window.CustomEvent(event,{detail:eventData,bubbles:!0,cancelable:!0});el.dom7EventData=args.filter((data,dataIndex)=>dataIndex>0);el.dispatchEvent(evt);el.dom7EventData=[];delete el.dom7EventData}}} 45return this} 46function transitionEnd$1(callback){const dom=this;function fireCallBack(e){if(e.target!==this)return;callback.call(this,e);dom.off('transitionend',fireCallBack)} 47if(callback){dom.on('transitionend',fireCallBack)} 48return this} 49function outerWidth(includeMargins){if(this.length>0){if(includeMargins){const styles=this.styles();return this[0].offsetWidth+parseFloat(styles.getPropertyValue('margin-right'))+parseFloat(styles.getPropertyValue('margin-left'))} 50return this[0].offsetWidth} 51return null} 52function outerHeight(includeMargins){if(this.length>0){if(includeMargins){const styles=this.styles();return this[0].offsetHeight+parseFloat(styles.getPropertyValue('margin-top'))+parseFloat(styles.getPropertyValue('margin-bottom'))} 53return this[0].offsetHeight} 54return null} 55function offset(){if(this.length>0){const window=getWindow();const document=getDocument();const el=this[0];const box=el.getBoundingClientRect();const body=document.body;const clientTop=el.clientTop||body.clientTop||0;const clientLeft=el.clientLeft||body.clientLeft||0;const scrollTop=el===window?window.scrollY:el.scrollTop;const scrollLeft=el===window?window.scrollX:el.scrollLeft;return{top:box.top+scrollTop-clientTop,left:box.left+scrollLeft-clientLeft}} 56return null} 57function styles(){const window=getWindow();if(this[0])return window.getComputedStyle(this[0],null);return{}} 58function css(props,value){const window=getWindow();let i;if(arguments.length===1){if(typeof props==='string'){if(this[0])return window.getComputedStyle(this[0],null).getPropertyValue(props)}else{for(i=0;i<this.length;i+=1){for(const prop in props){this[i].style[prop]=props[prop]}} 59return this}} 60if(arguments.length===2&&typeof props==='string'){for(i=0;i<this.length;i+=1){this[i].style[props]=value} 61return this} 62return this} 63function each(callback){if(!callback)return this;this.forEach((el,index)=>{callback.apply(el,[el,index])});return this} 64function filter(callback){const result=arrayFilter(this,callback);return $(result)} 65function html(html){if(typeof html==='undefined'){return this[0]?this[0].innerHTML:null} 66for(let i=0;i<this.length;i+=1){this[i].innerHTML=html} 67return this} 68function text(text){if(typeof text==='undefined'){return this[0]?this[0].textContent.trim():null} 69for(let i=0;i<this.length;i+=1){this[i].textContent=text} 70return this} 71function is(selector){const window=getWindow();const document=getDocument();const el=this[0];let compareWith;let i;if(!el||typeof selector==='undefined')return!1;if(typeof selector==='string'){if(el.matches)return el.matches(selector);if(el.webkitMatchesSelector)return el.webkitMatchesSelector(selector);if(el.msMatchesSelector)return el.msMatchesSelector(selector);compareWith=$(selector);for(i=0;i<compareWith.length;i+=1){if(compareWith[i]===el)return!0} 72return!1} 73if(selector===document){return el===document} 74if(selector===window){return el===window} 75if(selector.nodeType||selector instanceof Dom7){compareWith=selector.nodeType?[selector]:selector;for(i=0;i<compareWith.length;i+=1){if(compareWith[i]===el)return!0} 76return!1} 77return!1} 78function index(){let child=this[0];let i;if(child){i=0;while((child=child.previousSibling)!==null){if(child.nodeType===1)i+=1} 79return i} 80return undefined} 81function eq(index){if(typeof index==='undefined')return this;const length=this.length;if(index>length-1){return $([])} 82if(index<0){const returnIndex=length+index;if(returnIndex<0)return $([]);return $([this[returnIndex]])} 83return $([this[index]])} 84function append(...els){let newChild;const document=getDocument();for(let k=0;k<els.length;k+=1){newChild=els[k];for(let i=0;i<this.length;i+=1){if(typeof newChild==='string'){const tempDiv=document.createElement('div');tempDiv.innerHTML=newChild;while(tempDiv.firstChild){this[i].appendChild(tempDiv.firstChild)}}else if(newChild instanceof Dom7){for(let j=0;j<newChild.length;j+=1){this[i].appendChild(newChild[j])}}else{this[i].appendChild(newChild)}}} 85return this} 86function prepend(newChild){const document=getDocument();let i;let j;for(i=0;i<this.length;i+=1){if(typeof newChild==='string'){const tempDiv=document.createElement('div');tempDiv.innerHTML=newChild;for(j=tempDiv.childNodes.length-1;j>=0;j-=1){this[i].insertBefore(tempDiv.childNodes[j],this[i].childNodes[0])}}else if(newChild instanceof Dom7){for(j=0;j<newChild.length;j+=1){this[i].insertBefore(newChild[j],this[i].childNodes[0])}}else{this[i].insertBefore(newChild,this[i].childNodes[0])}} 87return this} 88function next(selector){if(this.length>0){if(selector){if(this[0].nextElementSibling&&$(this[0].nextElementSibling).is(selector)){return $([this[0].nextElementSibling])} 89return $([])} 90if(this[0].nextElementSibling)return $([this[0].nextElementSibling]);return $([])} 91return $([])} 92function nextAll(selector){const nextEls=[];let el=this[0];if(!el)return $([]);while(el.nextElementSibling){const next=el.nextElementSibling;if(selector){if($(next).is(selector))nextEls.push(next)}else nextEls.push(next);el=next} 93return $(nextEls)} 94function prev(selector){if(this.length>0){const el=this[0];if(selector){if(el.previousElementSibling&&$(el.previousElementSibling).is(selector)){return $([el.previousElementSibling])} 95return $([])} 96if(el.previousElementSibling)return $([el.previousElementSibling]);return $([])} 97return $([])} 98function prevAll(selector){const prevEls=[];let el=this[0];if(!el)return $([]);while(el.previousElementSibling){const prev=el.previousElementSibling;if(selector){if($(prev).is(selector))prevEls.push(prev)}else prevEls.push(prev);el=prev} 99return $(prevEls)} 100function parent(selector){const parents=[];for(let i=0;i<this.length;i+=1){if(this[i].parentNode!==null){if(selector){if($(this[i].parentNode).is(selector))parents.push(this[i].parentNode)}else{parents.push(this[i].parentNode)}}} 101return $(parents)} 102function parents(selector){const parents=[];for(let i=0;i<this.length;i+=1){let parent=this[i].parentNode;while(parent){if(selector){if($(parent).is(selector))parents.push(parent)}else{parents.push(parent)} 103parent=parent.parentNode}} 104return $(parents)} 105function closest(selector){let closest=this;if(typeof selector==='undefined'){return $([])} 106if(!closest.is(selector)){closest=closest.parents(selector).eq(0)} 107return closest} 108function find(selector){const foundElements=[];for(let i=0;i<this.length;i+=1){const found=this[i].querySelectorAll(selector);for(let j=0;j<found.length;j+=1){foundElements.push(found[j])}} 109return $(foundElements)} 110function children(selector){const children=[];for(let i=0;i<this.length;i+=1){const childNodes=this[i].children;for(let j=0;j<childNodes.length;j+=1){if(!selector||$(childNodes[j]).is(selector)){children.push(childNodes[j])}}} 111return $(children)} 112function remove(){for(let i=0;i<this.length;i+=1){if(this[i].parentNode)this[i].parentNode.removeChild(this[i])} 113return this} 114const Methods={addClass,removeClass,hasClass,toggleClass,attr,removeAttr,transform,transition:transition$1,on,off,trigger,transitionEnd:transitionEnd$1,outerWidth,outerHeight,styles,offset,css,each,html,text,is,index,eq,append,prepend,next,nextAll,prev,prevAll,parent,parents,closest,find,children,filter,remove};Object.keys(Methods).forEach(methodName=>{Object.defineProperty($.fn,methodName,{value:Methods[methodName],writable:!0})});function deleteProps(obj){const object=obj;Object.keys(object).forEach(key=>{try{object[key]=null}catch(e){} 115try{delete object[key]}catch(e){}})} 116function nextTick(callback,delay=0){return setTimeout(callback,delay)} 117function now(){return Date.now()} 118function getComputedStyle$1(el){const window=getWindow();let style;if(window.getComputedStyle){style=window.getComputedStyle(el,null)} 119if(!style&&el.currentStyle){style=el.currentStyle} 120if(!style){style=el.style} 121return style} 122function getTranslate(el,axis='x'){const window=getWindow();let matrix;let curTransform;let transformMatrix;const curStyle=getComputedStyle$1(el);if(window.WebKitCSSMatrix){curTransform=curStyle.transform||curStyle.webkitTransform;if(curTransform.split(',').length>6){curTransform=curTransform.split(', ').map(a=>a.replace(',','.')).join(', ')} 123transformMatrix=new window.WebKitCSSMatrix(curTransform==='none'?'':curTransform)}else{transformMatrix=curStyle.MozTransform||curStyle.OTransform||curStyle.MsTransform||curStyle.msTransform||curStyle.transform||curStyle.getPropertyValue('transform').replace('translate(','matrix(1, 0, 0, 1,');matrix=transformMatrix.toString().split(',')} 124if(axis==='x'){if(window.WebKitCSSMatrix)curTransform=transformMatrix.m41;else if(matrix.length===16)curTransform=parseFloat(matrix[12]);else curTransform=parseFloat(matrix[4])} 125if(axis==='y'){if(window.WebKitCSSMatrix)curTransform=transformMatrix.m42;else if(matrix.length===16)curTransform=parseFloat(matrix[13]);else curTransform=parseFloat(matrix[5])} 126return curTransform||0} 127function isObject(o){return typeof o==='object'&&o!==null&&o.constructor&&Object.prototype.toString.call(o).slice(8,-1)==='Object'} 128function isNode(node){if(typeof window!=='undefined'&&typeof window.HTMLElement!=='undefined'){return node instanceof HTMLElement} 129return node&&(node.nodeType===1||node.nodeType===11)} 130function extend(...args){const to=Object(args[0]);const noExtend=['__proto__','constructor','prototype'];for(let i=1;i<args.length;i+=1){const nextSource=args[i];if(nextSource!==undefined&&nextSource!==null&&!isNode(nextSource)){const keysArray=Object.keys(Object(nextSource)).filter(key=>noExtend.indexOf(key)<0);for(let nextIndex=0,len=keysArray.length;nextIndex<len;nextIndex+=1){const nextKey=keysArray[nextIndex];const desc=Object.getOwnPropertyDescriptor(nextSource,nextKey);if(desc!==undefined&&desc.enumerable){if(isObject(to[nextKey])&&isObject(nextSource[nextKey])){if(nextSource[nextKey].__swiper__){to[nextKey]=nextSource[nextKey]}else{extend(to[nextKey],nextSource[nextKey])}}else if(!isObject(to[nextKey])&&isObject(nextSource[nextKey])){to[nextKey]={};if(nextSource[nextKey].__swiper__){to[nextKey]=nextSource[nextKey]}else{extend(to[nextKey],nextSource[nextKey])}}else{to[nextKey]=nextSource[nextKey]}}}}} 131return to} 132function setCSSProperty(el,varName,varValue){el.style.setProperty(varName,varValue)} 133function animateCSSModeScroll({swiper,targetPosition,side}){const window=getWindow();const startPosition=-swiper.translate;let startTime=null;let time;const duration=swiper.params.speed;swiper.wrapperEl.style.scrollSnapType='none';window.cancelAnimationFrame(swiper.cssModeFrameID);const dir=targetPosition>startPosition?'next':'prev';const isOutOfBound=(current,target)=>{return dir==='next'&¤t>=target||dir==='prev'&¤t<=target};const animate=()=>{time=new Date().getTime();if(startTime===null){startTime=time} 134const progress=Math.max(Math.min((time-startTime)/duration,1),0);const easeProgress=0.5-Math.cos(progress*Math.PI)/2;let currentPosition=startPosition+easeProgress*(targetPosition-startPosition);if(isOutOfBound(currentPosition,targetPosition)){currentPosition=targetPosition} 135swiper.wrapperEl.scrollTo({[side]:currentPosition});if(isOutOfBound(currentPosition,targetPosition)){swiper.wrapperEl.style.overflow='hidden';swiper.wrapperEl.style.scrollSnapType='';setTimeout(()=>{swiper.wrapperEl.style.overflow='';swiper.wrapperEl.scrollTo({[side]:currentPosition})});window.cancelAnimationFrame(swiper.cssModeFrameID);return} 136swiper.cssModeFrameID=window.requestAnimationFrame(animate)};animate()} 137let support;function calcSupport(){const window=getWindow();const document=getDocument();return{smoothScroll:document.documentElement&&'scrollBehavior' in document.documentElement.style,touch:!!('ontouchstart' in window||window.DocumentTouch&&document instanceof window.DocumentTouch),passiveListener:function checkPassiveListener(){let supportsPassive=!1;try{const opts=Object.defineProperty({}
137,'passive',{get(){supportsPassive=!0}});window.addEventListener('testPassiveListener',null,opts)}catch(e){} 138return supportsPassive}(),gestures:function checkGestures(){return'ongesturestart' in window}()}} 139function getSupport(){if(!support){support=calcSupport()} 140return support} 141let deviceCached;function calcDevice({userAgent}={}){const support=getSupport();const window=getWindow();const platform=window.navigator.platform;const ua=userAgent||window.navigator.userAgent;const device={ios:!1,android:!1};const screenWidth=window.screen.width;const screenHeight=window.screen.height;const android=ua.match(/(Android);?[\s\/]+([\d.]+)?/);let ipad=ua.match(/(iPad).*OS\s([\d_]+)/);const ipod=ua.match(/(iPod)(.*OS\s([\d_]+))?/);const iphone=!ipad&&ua.match(/(iPhone\sOS|iOS)\s([\d_]+)/);const windows=platform==='Win32';let macos=platform==='MacIntel';const iPadScreens=['1024x1366','1366x1024','834x1194','1194x834','834x1112','1112x834','768x1024','1024x768','820x1180','1180x820','810x1080','1080x810'];if(!ipad&&macos&&support.touch&&iPadScreens.indexOf(`${screenWidth}x${screenHeight}`)>=0){ipad=ua.match(/(Version)\/([\d.]+)/);if(!ipad)ipad=[0,1,'13_0_0'];macos=!1} 142if(android&&!windows){device.os='android';device.android=!0} 143if(ipad||iphone||ipod){device.os='ios';device.ios=!0} 144return device} 145function getDevice(overrides={}){if(!deviceCached){deviceCached=calcDevice(overrides)} 146return deviceCached} 147let browser;function calcBrowser(){const window=getWindow();function isSafari(){const ua=window.navigator.userAgent.toLowerCase();return ua.indexOf('safari')>=0&&ua.indexOf('chrome')<0&&ua.indexOf('android')<0} 148return{isSafari:isSafari(),isWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent)}} 149function getBrowser(){if(!browser){browser=calcBrowser()} 150return browser} 151function Resize({swiper,on,emit}){const window=getWindow();let observer=null;const resizeHandler=()=>{if(!swiper||swiper.destroyed||!swiper.initialized)return;emit('beforeResize');emit('resize')};const createObserver=()=>{if(!swiper||swiper.destroyed||!swiper.initialized)return;observer=new ResizeObserver(entries=>{const{width,height}=swiper;let newWidth=width;let newHeight=height;entries.forEach(({contentBoxSize,contentRect,target})=>
151{if(target&&target!==swiper.el)return;newWidth=contentRect?contentRect.width:(contentBoxSize[0]||contentBoxSize).inlineSize;newHeight=contentRect?contentRect.height:(contentBoxSize[0]||contentBoxSize).blockSize});if(newWidth!==width||newHeight!==height){resizeHandler()}});observer.observe(swiper.el)};const removeObserver=()=>{if(observer&&observer.unobserve&&swiper.el){observer.unobserve(swiper.el);observer=null}};const orientationChangeHandler=()=>{if(!swiper||swiper.destroyed||!swiper.initialized)return;emit('orientationchange')};on('init',()=>{if(swiper.params.resizeObserver&&typeof window.ResizeObserver!=='undefined'){createObserver();return} 152window.addEventListener('resize',resizeHandler);window.addEventListener('orientationchange',orientationChangeHandler)});on('destroy',()=>{removeObserver();window.removeEventListener('resize',resizeHandler);window.removeEventListener('orientationchange',orientationChangeHandler)})} 153function Observer({swiper,extendParams,on,emit}){const observers=[];const window=getWindow();const attach=(target,options={})=>{const ObserverFunc=window.MutationObserver||window.WebkitMutationObserver;const observer=new ObserverFunc(mutations=>{if(mutations.length===1){emit('observerUpdate',mutations[0]);return} 154const observerUpdate=function observerUpdate(){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:typeof options.childList==='undefined'?!0:options.childList,characterData:typeof options.characterData==='undefined'?!0:options.characterData});observers.push(observer)};const init=()=>{if(!swiper.params.observer)return;if(swiper.params.observeParents){const containerParents=swiper.$el.parents();for(let i=0;i<containerParents.length;i+=1){attach(containerParents[i])}} 155attach(swiper.$el[0],{childList:swiper.params.observeSlideChildren});attach(swiper.$wrapperEl[0],{attributes:!1})};const destroy=()=>{observers.forEach(observer=>{observer.disconnect()});observers.splice(0,observers.length)};extendParams({observer:!1,observeParents:!1,observeSlideChildren:!1});on('init',init);on('destroy',destroy)} 156var eventsEmitter={on(events,handler,priority){const self=this;if(typeof handler!=='function')return self;const method=priority?'unshift':'push';events.split(' ').forEach(event=>{if(!self.eventsListeners[event])self.eventsListeners[event]=[];self.eventsListeners[event][method](handler)});return self},once(events,handler,priority){const self=this;if(typeof handler!=='function')return self;function onceHandler(...args){self.off(events,onceHandler);if(onceHandler.__emitterProxy){delete onceHandler.__emitterProxy} 157handler.apply(self,args)} 158onceHandler.__emitterProxy=handler;return self.on(events,onceHandler,priority)},onAny(handler,priority){const self=this;if(typeof handler!=='function')return self;const method=priority?'unshift':'push';if(self.eventsAnyListeners.indexOf(handler)<0){self.eventsAnyListeners[method](handler)} 159return self},offAny(handler){const self=this;if(!self.eventsAnyListeners)return self;const index=self.eventsAnyListeners.indexOf(handler);if(index>=0){self.eventsAnyListeners.splice(index,1)} 160return self},off(events,handler){const self=this;if(!self.eventsListeners)return 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},emit(...args){const self=this;if(!self.eventsListeners)return 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{events=args[0].events;data=args[0].data;context=args[0].context||self} 161data.unshift(context);const eventsArray=Array.isArray(events)?events:events.split(' ');eventsArray.forEach(event=>{if(self.eventsAnyListeners&&self.eventsAnyListeners.length){self.eventsAnyListeners.forEac
vendor: 7,035 bytes, lines 161-193
161h(eventHandler=>{eventHandler.apply(context,[event,...data])})} 162if(self.eventsListeners&&self.eventsListeners[event]){self.eventsListeners[event].forEach(eventHandler=>{eventHandler.apply(context,data)})}});return self}};function 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[0].clientWidth} 163if(typeof swiper.params.height!=='undefined'&&swiper.params.height!==null){height=swiper.params.height}else{height=$el[0].clientHeight} 164if(width===0&&swiper.isHorizontal()||height===0&&swiper.isVertical()){return} 165width=width-parseInt($el.css('padding-left')||0,10)-parseInt($el.css('padding-right')||0,10);height=height-parseInt($el.css('padding-top')||0,10)-parseInt($el.css('padding-bottom')||0,10);if(Number.isNaN(width))width=0;if(Number.isNaN(height))height=0;Object.assign(swiper,{width,height,size:swiper.isHorizontal()?width:height})} 166function updateSlides(){const swiper=this;function getDirectionLabel(property){if(swiper.isHorizontal()){return property} 167return{'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]} 168function getDirectionPropertyValue(node,label){return parseFloat(node.getPropertyValue(getDirectionLabel(label))||0)} 169const params=swiper.params;const{$wrapperEl,size:swiperSize,rtlTranslate:rtl,wrongRTL}=swiper;const isVirtual=swiper.virtual&¶ms.virtual.enabled;const previousSlidesLength=isVirtual?swiper.virtual.slides.length:swiper.slides.length;const slides=$wrapperEl.children(`.${swiper.params.slideClass}`);const slidesLength=isVirtual?swiper.virtual.slides.length:slides.length;let snapGrid=[];const slidesGrid=[];const slidesSizesGrid=[];let offsetBefore=params.slidesOffsetBefore;if(typeof offsetBefore==='function'){offsetBefore=params.slidesOffsetBefore.call(swiper)} 170let offsetAfter=params.slidesOffsetAfter;if(typeof offsetAfter==='function'){offsetAfter=params.slidesOffsetAfter.call(swiper)} 171const previousSnapGridLength=swiper.snapGrid.length;const previousSlidesGridLength=swiper.slidesGrid.length;let spaceBetween=params.spaceBetween;let slidePosition=-offsetBefore;let prevSlideSize=0;let index=0;if(typeof swiperSize==='undefined'){return} 172if(typeof spaceBetween==='string'&&spaceBetween.indexOf('%')>=0){spaceBetween=parseFloat(spaceBetween.replace('%',''))/100*swiperSize} 173swiper.virtualSize=-spaceBetween;if(rtl)slides.css({marginLeft:'',marginBottom:'',marginTop:''});else slides.css({marginRight:'',marginBottom:'',marginTop:''});if(params.centeredSlides&¶ms.cssMode){setCSSProperty(swiper.wrapperEl,'--swiper-centered-offset-before','');setCSSProperty(swiper.wrapperEl,'--swiper-centered-offset-after','')} 174const gridEnabled=params.grid&¶ms.grid.rows>1&&swiper.grid;if(gridEnabled){swiper.grid.initSlides(slidesLength)} 175let slideSize;const shouldResetSlideSize=params.slidesPerView==='auto'&¶ms.breakpoints&&Object.keys(params.breakpoints).filter(key=>{return typeof params.breakpoints[key].slidesPerView!=='undefined'}).length>0;for(let i=0;i<slidesLength;i+=1){slideSize=0;const slide=slides.eq(i);if(gridEnabled){swiper.grid.updateSlide(i,slide,slidesLength,getDirectionLabel)} 176if(slide.css('display')==='none')continue;if(params.slidesPerView==='auto'){if(shouldResetSlideSize){slides[i].style[getDirectionLabel('width')]=``} 177const slideStyles=getComputedStyle(slide[0]);const currentTransform=slide[0].style.transform;const currentWebKitTransform=slide[0].style.webkitTransform;if(currentTransform){slide[0].style.transform='none'} 178if(currentWebKitTransform){slide[0].style.webkitTransform='none'} 179if(params.roundLengths){slideSize=swiper.isHorizontal()?slide.outerWidth(!0):slide.outerHeight(!0)}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');if(boxSizing&&boxSizing==='border-box'){slideSize=width+marginLeft+marginRight}else{const{clientWidth,offsetWidth}=slide[0];slideSize=width+paddingLeft+paddingRight+marginLeft+marginRight+(offsetWidth-clientWidth)}} 180if(currentTransform){slide[0].style.transform=currentTransform} 181if(currentWebKitTransform){slide[0].style.webkitTransform=currentWebKitTransform} 182if(params.roundLengths)slideSize=Math.floor(slideSize)}else{slideSize=(swiperSize-(params.slidesPerView-1)*spaceBetween)/params.slidesPerView;if(params.roundLengths)slideSize=Math.floor(slideSize);if(slides[i]){slides[i].style[getDirectionLabel('width')]=`${slideSize}px`}} 183if(slides[i]){slides[i].swiperSlideSize=slideSize} 184slidesSizesGrid.push(slideSize);if(params.centeredSlides){slidePosition=slidePosition+slideSize/2+prevSlideSize/2+spaceBetween;if(prevSlideSize===0&&i!==0)slidePosition=slidePosition-swiperSize/2-spaceBetween;if(i===0)slidePosition=slidePosition-swiperSize/2-spaceBetween;if(Math.abs(slidePosition)<1/1000)slidePosition=0;if(params.roundLengths)slidePosition=Math.floor(slidePosition);if(index%params.slidesPerGroup===0)snapGrid.push(slidePosition);slidesGrid.push(slidePosition)}else{if(params.roundLengths)slidePosition=Math.floor(slidePosition);if((index-Math.min(swiper.params.slidesPerGroupSkip,index))%swiper.params.slidesPerGroup===0)snapGrid.push(slidePosition);slidesGrid.push(slidePosition);slidePosition=slidePosition+slideSize+spaceBetween} 185swiper.virtualSize+=slideSize+spaceBetween;prevSlideSize=slideSize;index+=1} 186swiper.virtualSize=Math.max(swiper.virtualSize,swiperSize)+offsetAfter;if(rtl&&wrongRTL&&(params.effect==='slide'||params.effect==='coverflow')){$wrapperEl.css({width:`${swiper.virtualSize + params.spaceBetween}px`})} 187if(params.setWrapperSize){$wrapperEl.css({[getDirectionLabel('width')]:`${swiper.virtualSize + params.spaceBetween}px`})} 188if(gridEnabled){swiper.grid.updateWrapperSize(slideSize,snapGrid,getDirectionLabel)} 189if(!params.centeredSlides){const newSlidesGrid=[];for(let i=0;i<snapGrid.length;i+=1){let slidesGridItem=snapGrid[i];if(params.roundLengths)slidesGridItem=Math.floor(slidesGridItem);if(snapGrid[i]<=swiper.virtualSize-swiperSize){newSlidesGrid.push(slidesGridItem)}} 190snapGrid=newSlidesGrid;if(Math.floor(swiper.virtualSize-swiperSize)-Math.floor(snapGrid[snapGrid.length-1])>1){snapGrid.push(swiper.virtualSize-swiperSize)}} 191if(snapGrid.length===0)snapGrid=[0];if(params.spaceBetween!==0){const key=swiper.isHorizontal()&&rtl?'marginLeft':getDirectionLabel('marginRight');slides.filter((_,slideIndex)=>{if(!params.cssMode)return!0;if(slideIndex===slides.length-1){return!1} 192return!0}).css({[key]:`${spaceBetween}px`})} 193if(params.centeredSlides&¶ms.centeredSlidesBounds){let allSlidesSize=0;
193slidesSizesGrid.forEach(slideSizeValue=>{allSlidesSize+=slideSizeValue+(params.spaceBetween?params.spaceBetween:0)});allSlidesSize-=params.spaceBetween;const maxSnap=allSlidesSize-swiperSize;snapGrid=snapGrid.map(snap=>{if(snap<0)return-offsetBefore;if(snap>maxSnap)return maxSnap+offsetAfter;return snap})} 194if(params.centerInsufficientSlides){let allSlidesSize=0;slidesSizesGrid.forEach(slideSizeValue=>{allSlidesSize+=slideSizeValue+(params.spaceBetween?params.spaceBetween:0)});allSlidesSize-=params.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})}} 195Object.assign(swiper,{slides,snapGrid,slidesGrid,slidesSizesGrid});if(params.centeredSlides&¶ms.cssMode&&!params.centeredSlidesBounds){setCSSProperty(swiper.wrapperEl,'--swiper-centered-offset-before',`${-snapGrid[0]}px`);setCSSProperty(swiper.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)} 196if(slidesLength!==previousSlidesLength){swiper.emit('slidesLengthChange')} 197if(snapGrid.length!==previousSnapGridLength){if(swiper.params.watchOverflow)swiper.checkOverflow();swiper.emit('snapGridLengthChange')} 198if(slidesGrid.length!==previousSlidesGridLength){swiper.emit('slidesGridLengthChange')} 199if(params.watchSlidesProgress){swiper.updateSlidesOffset()}} 200function updateAutoHeight(speed){const swiper=this;const activeSlides=[];const 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)} 201const getSlideByIndex=index=>{if(isVirtual){return swiper.slides.filter(el=>parseInt(el.getAttribute('data-swiper-slide-index'),10)===index)[0]} 202return swiper.slides.eq(index)[0]};if(swiper.params.slidesPerView!=='auto'&&swiper.params.slidesPerView>1){if(swiper.params.centeredSlides){swiper.visibleSlides.each(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)break;activeSlides.push(getSlideByIndex(index))}}}else{activeSlides.push(getSlideByIndex(swiper.activeIndex))} 203for(i=0;i<activeSlides.length;i+=1){if(typeof activeSlides[i]!=='undefined'){const height=activeSlides[i].offsetHeight;newHeight=height>newHeight?height:newHeight}} 204if(newHeight)swiper.$wrapperEl.css('height',`${newHeight}px`)} 205function updateSlidesOffset(){const swiper=this;const slides=swiper.slides;for(let i=0;i<slides.length;i+=1){slides[i].swiperSlideOffset=swiper.isHorizontal()?slides[i].offsetLeft:slides[i].offsetTop}} 206function updateSlidesProgress(translate=this&&this.translate||0){const swiper=this;const params=swiper.params;const{slides,rtlTranslate:rtl,snapGrid}=swiper;if(slides.length===0)return;if(typeof slides[0].swiperSlideOffset==='undefined')swiper.updateSlidesOffset();let offsetCenter=-translate;if(rtl)offsetCenter=translate;slides.removeClass(params.slideVisibleClass);swiper.visibleSlidesIndexes=[];swiper.visibleSlides=[];for(let i=0;i<slides.length;i+=1){const slide=slides[i];let slideOffset=slide.swiperSlideOffset;if(params.cssMode&¶ms.centeredSlides){slideOffset-=slides[0].swiperSlideOffset} 207const slideProgress=(offsetCenter+(params.centeredSlides?swiper.minTranslate():0)-slideOffset)/(slide.swiperSlideSize+params.spaceBetween);const originalSlideProgress=(offsetCenter-snapGrid[0]+(params.centeredSlides?swiper.minTranslate():0)-slideOffset)/(slide.swiperSlideSize+params.spaceBetween);const slideBefore=-(offsetCenter-slideOffset);const slideAfter=slideBefore+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);slides.eq(i).addClass(params.slideVisibleClass)} 208slide.progress=rtl?-slideProgress:slideProgress;slide.originalProgress=rtl?-originalSlideProgress:originalSlideProgress} 209swiper.visibleSlides=$(swiper.visibleSlides)} 210function updateProgress(translate){const swiper=this;if(typeof translate==='undefined'){const multiplier=swiper.rtlTranslate?-1:1;translate=swiper&&swiper.translate&&swiper.translate*multiplier||0} 211const params=swiper.params;const translatesDiff=swiper.maxTranslate()-swiper.minTranslate();
vendor: 4,818 bytes, lines 211-231
211let{progress,isBeginning,isEnd}=swiper;const wasBeginning=isBeginning;const wasEnd=isEnd;if(translatesDiff===0){progress=0;isBeginning=!0;isEnd=!0}else{progress=(translate-swiper.minTranslate())/translatesDiff;isBeginning=progress<=0;isEnd=progress>=1} 212Object.assign(swiper,{progress,isBeginning,isEnd});if(params.watchSlidesProgress||params.centeredSlides&¶ms.autoHeight)swiper.updateSlidesProgress(translate);if(isBeginning&&!wasBeginning){swiper.emit('reachBeginning toEdge')} 213if(isEnd&&!wasEnd){swiper.emit('reachEnd toEdge')} 214if(wasBeginning&&!isBeginning||wasEnd&&!isEnd){swiper.emit('fromEdge')} 215swiper.emit('progress',progress)} 216function updateSlidesClasses(){const swiper=this;const{slides,params,$wrapperEl,activeIndex,realIndex}=swiper;const isVirtual=swiper.virtual&¶ms.virtual.enabled;slides.removeClass(`${params.slideActiveClass} ${params.slideNextClass} ${params.slidePrevClass} ${params.slideDuplicateActiveClass} ${params.slideDuplicateNextClass} ${params.slideDuplicatePrevClass}`);let activeSlide;if(isVirtual){activeSlide=swiper.$wrapperEl.find(`.${params.slideClass}[data-swiper-slide-index="${activeIndex}"]`)}else{activeSlide=slides.eq(activeIndex)} 217activeSlide.addClass(params.slideActiveClass);if(params.loop){if(activeSlide.hasClass(params.slideDuplicateClass)){$wrapperEl.children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index="${realIndex}"]`).addClass(params.slideDuplicateActiveClass)}else{$wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index="${realIndex}"]`).addClass(params.slideDuplicateActiveClass)}} 218let nextSlide=activeSlide.nextAll(`.${params.slideClass}`).eq(0).addClass(params.slideNextClass);if(params.loop&&nextSlide.length===0){nextSlide=slides.eq(0);nextSlide.addClass(params.slideNextClass)} 219let prevSlide=activeSlide.prevAll(`.${params.slideClass}`).eq(0).addClass(params.slidePrevClass);if(params.loop&&prevSlide.length===0){prevSlide=slides.eq(-1);prevSlide.addClass(params.slidePrevClass)} 220if(params.loop){if(nextSlide.hasClass(params.slideDuplicateClass)){$wrapperEl.children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index="${nextSlide.attr('data-swiper-slide-index')}"]`).addClass(params.slideDuplicateNextClass)}else{$wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index="${nextSlide.attr('data-swiper-slide-index')}"]`).addClass(params.slideDuplicateNextClass)} 221if(prevSlide.hasClass(params.slideDuplicateClass)){$wrapperEl.children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index="${prevSlide.attr('data-swiper-slide-index')}"]`).addClass(params.slideDuplicatePrevClass)}else{$wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index="${prevSlide.attr('data-swiper-slide-index')}"]`).addClass(params.slideDuplicatePrevClass)}} 222swiper.emitSlidesClasses()} 223function updateActiveIndex(newActiveIndex){const swiper=this;const translate=swiper.rtlTranslate?swiper.translate:-swiper.translate;const{slidesGrid,snapGrid,params,activeIndex:previousIndex,realIndex:previousRealIndex,snapIndex:previousSnapIndex}=swiper;let activeIndex=newActiveIndex;let snapIndex;if(typeof activeIndex==='undefined'){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}} 224if(params.normalizeSlideIndex){if(activeIndex<0||typeof activeIndex==='undefined')activeIndex=0}} 225if(snapGrid.indexOf(translate)>=0){snapIndex=snapGrid.indexOf(translate)}else{const skip=Math.min(params.slidesPerGroupSkip,activeIndex);snapIndex=skip+Math.floor((activeIndex-skip)/params.slidesPerGroup)} 226if(snapIndex>=snapGrid.length)snapIndex=snapGrid.length-1;if(activeIndex===previousIndex){if(snapIndex!==previousSnapIndex){swiper.snapIndex=snapIndex;swiper.emit('snapIndexChange')} 227return} 228const realIndex=parseInt(swiper.slides.eq(activeIndex).attr('data-swiper-slide-index')||activeIndex,10);Object.assign(swiper,{snapIndex,realIndex,previousIndex,activeIndex});swiper.emit('activeIndexChange');swiper.emit('snapIndexChange');if(previousRealIndex!==realIndex){swiper.emit('realIndexChange')} 229if(swiper.initialized||swiper.params.runCallbacksOnInit){swiper.emit('slideChange')}} 230function updateClickedSlide(e){const swiper=this;const params=swiper.params;const slide=$(e.target).closest(`.${params.slideClass}`)[0];let 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}}} 231if(slide&&slideFound){swiper.clickedSlide=slide;
231if(swiper.virtual&&swiper.params.virtual.enabled){swiper.clickedIndex=parseInt($(slide).attr('data-swiper-slide-index'),10)}else{swiper.clickedIndex=slideIndex}}else{swiper.clickedSlide=undefined;swiper.clickedIndex=undefined;return} 232if(params.slideToClickedSlide&&swiper.clickedIndex!==undefined&&swiper.clickedIndex!==swiper.activeIndex){swiper.slideToClickedSlide()}} 233var update={updateSize,updateSlides,updateAutoHeight,updateSlidesOffset,updateSlidesProgress,updateProgress,updateSlidesClasses,updateActiveIndex,updateClickedSlide};function getSwiperTranslate(axis=this.isHorizontal()?'x':'y'){const swiper=this;const{params,rtlTranslate:rtl,translate,$wrapperEl}=swiper;if(params.virtualTranslate){return rtl?-translate:translate} 234if(params.cssMode){return translate} 235let currentTranslate=getTranslate($wrapperEl[0],axis);if(rtl)currentTranslate=-currentTranslate;return currentTranslate||0} 236function setTranslate(translate,byController){const swiper=this;const{rtlTranslate:rtl,params,$wrapperEl,wrapperEl,progress}=swiper;let x=0;let y=0;const z=0;if(swiper.isHorizontal()){x=rtl?-translate:translate}else{y=translate} 237if(params.roundLengths){x=Math.floor(x);y=Math.floor(y)} 238if(params.cssMode){wrapperEl[swiper.isHorizontal()?'scrollLeft':'scrollTop']=swiper.isHorizontal()?-x:-y}else if(!params.virtualTranslate){$wrapperEl.transform(`translate3d(${x}px, ${y}px, ${z}px)`)} 239swiper.previousTranslate=swiper.translate;swiper.translate=swiper.isHorizontal()?x:y;let newProgress;const translatesDiff=swiper.maxTranslate()-swiper.minTranslate();if(translatesDiff===0){newProgress=0}else{newProgress=(translate-swiper.minTranslate())/translatesDiff} 240if(newProgress!==progress){swiper.updateProgress(translate)} 241swiper.emit('setTranslate',swiper.translate,byController)} 242function minTranslate(){return-this.snapGrid[0]} 243function maxTranslate(){return-this.snapGrid[this.snapGrid.length-1]} 244function 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} 245const minTranslate=swiper.minTranslate();const maxTranslate=swiper.maxTranslate();let newTranslate;if(translateBounds&&translate>minTranslate)newTranslate=minTranslate;else if(translateBounds&&translate<maxTranslate)newTranslate=maxTranslate;else newTranslate=translate;swiper.updateProgress(newTranslate);if(params.cssMode){const isH=swiper.isHorizontal();if(speed===0){wrapperEl[isH?'scrollLeft':'scrollTop']=-newTranslate}else{if(!swiper.support.smoothScroll){animateCSSModeScroll({swiper,targetPosition:-newTranslate,side:isH?'left':'top'});return!0} 246wrapperEl.scrollTo({[isH?'left':'top']:-newTranslate,behavior:'smooth'})} 247return!0} 248if(speed===0){swiper.setTransition(0);swiper.setTranslate(newTranslate);if(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')} 249if(!swiper.animating){swiper.animating=!0;if(!swiper.onTranslateToWrapperTransitionEnd){swiper.onTranslateToWrapperTransitionEnd=function transitionEnd(e){if(!swiper||swiper.destroyed)return;if(e.target!==this)return;swiper.$wrapperEl[0].removeEventListener('transitionend',swiper.onTranslateToWrapperTransitionEnd);swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd',swiper.onTranslateToWrapperTransitionEnd);swiper.onTranslateToWrapperTransitionEnd=null;delete swiper.onTranslateToWrapperTransitionEnd;if(runCallbacks){swiper.emit('transitionEnd')}}} 250swiper.$wrapperEl[0].addEventListener('transitionend',swiper.onTranslateToWrapperTransitionEnd);swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd',swiper.onTranslateToWrapperTransitionEnd)}} 251return!0} 252var translate={getTranslate:getSwiperTranslate,setTranslate,minTranslate,maxTranslate,translateTo};function setTransition(duration,byController){const swiper=this;if(!swiper.params.cssMode){swiper.$wrapperEl.transition(duration)} 253swiper.emit('setTransition',duration,byController)} 254function transitionEmit({swiper,runCallbacks,direction,step}){const{activeIndex,previousIndex}=swiper;let dir=direction;if(!dir){if(activeIndex>previousIndex)dir='next';else if(activeIndex<previousIndex)dir='prev';else dir='reset'} 255swiper.emit(`transition${step}`);
255if(runCallbacks&&activeIndex!==previousIndex){if(dir==='reset'){swiper.emit(`slideResetTransition${step}`);return} 256swiper.emit(`slideChangeTransition${step}`);if(dir==='next'){swiper.emit(`slideNextTransition${step}`)}else{swiper.emit(`slidePrevTransition${step}`)}}} 257function transitionStart(runCallbacks=!0,direction){const swiper=this;const{params}=swiper;if(params.cssMode)return;if(params.autoHeight){swiper.updateAutoHeight()} 258transitionEmit({swiper,runCallbacks,direction,step:'Start'})} 259function transitionEnd(runCallbacks=!0,direction){const swiper=this;const{params}=swiper;swiper.animating=!1;if(params.cssMode)return;swiper.setTransition(0);transitionEmit({swiper,runCallbacks,direction,step:'End'})} 260var transition={setTransition,transitionStart,transitionEnd};function slideTo(index=0,speed=this.params.speed,runCallbacks=!0,internal,initial){if(typeof index!=='number'&&typeof index!=='string'){throw new Error(`The 'index' argument cannot have type other than 'number' or 'string'. [${typeof index}] given.`)} 261if(typeof index==='string'){const indexAsNumber=parseInt(index,10);const isValidNumber=isFinite(indexAsNumber);if(!isValidNumber){throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${index}] given.`)} 262index=indexAsNumber} 263const swiper=this;let slideIndex=index;if(slideIndex<0)slideIndex=0;const{params,snapGrid,slidesGrid,previousIndex,activeIndex,rtlTranslate:rtl,wrapperEl,enabled}=swiper;if(swiper.animating&¶ms.preventInteractionOnTransition||!enabled&&!internal&&!initial){return!1} 264const skip=Math.min(swiper.params.slidesPerGroupSkip,slideIndex);let snapIndex=skip+Math.floor((slideIndex-skip)/swiper.params.slidesPerGroup);if(snapIndex>=snapGrid.length)snapIndex=snapGrid.length-1;if((activeIndex||params.initialSlide||0)===(previousIndex||0)&&runCallbacks){swiper.emit('beforeSlideChangeStart')} 265const translate=-snapGrid[snapIndex];swiper.updateProgress(translate);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}}} 266if(swiper.initialized&&slideIndex!==activeIndex){if(!swiper.allowSlideNext&&translate<swiper.translate&&translate<swiper.minTranslate()){return!1} 267if(!swiper.allowSlidePrev&&translate>swiper.translate&&translate>swiper.maxTranslate()){if((activeIndex||0)!==slideIndex)return!1}} 268let direction;if(slideIndex>activeIndex)direction='next';else if(slideIndex<activeIndex)direction='prev';else direction='reset';if(rtl&&-translate===swiper.translate||!rtl&&translate===swiper.translate){swiper.updateActiveIndex(slideIndex);if(params.autoHeight){swiper.updateAutoHeight()} 269swiper.updateSlidesClasses();if(params.effect!=='slide'){swiper.setTranslate(translate)} 270if(direction!=='reset'){swiper.transitionStart(runCallbacks,direction);swiper.transitionEnd(runCallbacks,direction)} 271return!1} 272if(params.cssMode){const isH=swiper.isHorizontal();const t=rtl?translate:-translate;if(speed===0){const isVirtual=swiper.virtual&&swiper.params.virtual.enabled;if(isVirtual){swiper.wrapperEl.style.scrollSnapType='none';swiper._immediateVirtual=!0} 273wrapperEl[isH?'scrollLeft':'scrollTop']=t;if(isVirtual){requestAnimationFrame(()=>{swiper.wrapperEl.style.scrollSnapType='';swiper._swiperImmediateVirtual=!1})}}else{if(!swiper.support.smoothScroll){animateCSSModeScroll({swiper,targetPosition:t,side:isH?'left':'top'});return!0} 274wrapperEl.scrollTo({[isH?'left':'top']:t,behavior:'smooth'})} 275return!0} 276if(speed===0){swiper.setTransition(0);swiper.setTranslate(translate);swiper.updateActiveIndex(slideIndex);swiper.updateSlidesClasses();swiper.emit('beforeTransitionStart',speed,internal);swiper.transitionStart(runCallbacks,direction);swiper.transitionEnd(runCallbacks,direction)}else{swiper.setTransition(speed);swiper.setTranslate(translate);swiper.updateActiveIndex(slideIndex);swiper.updateSlidesClasses();swiper.emit('beforeTransitionStart',speed,internal);swiper.transitionStart(runCallbacks,direction);if(!swiper.animating){swiper.animating=!0;if(!swiper.onSlideToWrapperTransitionEnd){swiper.onSlideToWrapperTransitionEnd=function transitionEnd(e){if(!swiper||swiper.destroyed)return;if(e.target!==this)return;swiper.$wrapperEl[0].removeEventListener('transitionend',swiper.onSlideToWrapperTransitionEnd);swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd',swiper.onSlideToWrapperTransitionEnd);swiper.onSlideToWrapperTransitionEnd=null;delete swiper.onSlideToWrapperTransitionEnd;swiper.transitionEnd(runCallbacks,direction)}} 277swiper.$wrapperEl[0].addEventListener('transitionend',swiper.onSlideToWrapperTransitionEnd);swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd',swiper.onSlideToWrapperTransitionEnd)}} 278return!0} 279function slideToLoop(index=0,speed=this.params.speed,runCallbacks=!0,internal){const swiper=this;let newIndex=index;if(swiper.params.loop){newIndex+=swiper.loopedSlides} 280return swiper.slideTo(newIndex,speed,runCallbacks,internal)} 281function slideNext(speed=this.params.speed,runCallbacks=!0,internal){const swiper=this;const{animating,enabled,params}=swiper;if(!enabled)return swiper;let perGroup=params.slidesPerGroup;if(params.slidesPerView==='auto'&¶ms.slidesPerGroup===1&¶ms.slidesPerGroupAuto){perGroup=Math.max(swiper.slidesPerViewDynamic('current',!0),1)} 282const increment=swiper.activeIndex<params.slidesPerGroupSkip?1:perGroup;if(params.loop){if(animating&¶ms.loopPreventsSlide)return!1;swiper.loopFix();swiper._clientLeft=swiper.$wrapperEl[0].clientLeft} 283return swiper.slideTo(swiper.activeIndex+increment,speed,runCallbacks,internal)} 284function slidePrev(speed=this.params.speed,runCallbacks=!0,internal){const swiper=this;const{params,animating,snapGrid,slidesGrid,rtlTranslate,enabled}=swiper;if(!enabled)return swiper;if(params.loop){if(animating&¶ms.loopPreventsSlide)return!1;swiper.loopFix();swiper._clientLeft=swiper.$wrapperEl[0].clientLeft} 285const translate=rtlTranslate?swiper.translate:-swiper.translate;function normalize(val){if(val<0)return-Math.floor(Math.abs(val));return Math.floor(val)} 286const normalizedTranslate=normalize(translate);const normalizedSnapGrid=snapGrid.map(val=>normalize(val));let prevSnap=snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate)-1];if(typeof prevSnap==='undefined'&¶ms.cssMode){let prevSnapIndex;
286snapGrid.forEach((snap,snapIndex)=>{if(normalizedTranslate>=snap){prevSnapIndex=snapIndex}});if(typeof prevSnapIndex!=='undefined'){prevSnap=snapGrid[prevSnapIndex>0?prevSnapIndex-1:prevSnapIndex]}} 287let prevIndex=0;if(typeof prevSnap!=='undefined'){prevIndex=slidesGrid.indexOf(prevSnap);if(prevIndex<0)prevIndex=swiper.activeIndex-1;if(params.slidesPerView==='auto'&¶ms.slidesPerGroup===1&¶ms.slidesPerGroupAuto){prevIndex=prevIndex-swiper.slidesPerViewDynamic('previous',!0)+1;prevIndex=Math.max(prevIndex,0)}} 288return swiper.slideTo(prevIndex,speed,runCallbacks,internal)} 289function slideReset(speed=this.params.speed,runCallbacks=!0,internal){const swiper=this;return swiper.slideTo(swiper.activeIndex,speed,runCallbacks,internal)} 290function slideToClosest(speed=this.params.speed,runCallbacks=!0,internal,threshold=0.5){const swiper=this;let 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}} 291index=Math.max(index,0);index=Math.min(index,swiper.slidesGrid.length-1);return swiper.slideTo(index,speed,runCallbacks,internal)} 292function slideToClickedSlide(){const swiper=this;const{params,$wrapperEl}=swiper;const slidesPerView=params.slidesPerView==='auto'?swiper.slidesPerViewDynamic():params.slidesPerView;let slideToIndex=swiper.clickedIndex;let realIndex;if(params.loop){if(swiper.animating)return;realIndex=parseInt($(swiper.clickedSlide).attr('data-swiper-slide-index'),10);if(params.centeredSlides){if(slideToIndex<swiper.loopedSlides-slidesPerView/2||slideToIndex>swiper.slides.length-swiper.loopedSlides+slidesPerView/2){swiper.loopFix();slideToIndex=$wrapperEl.children(`.${params.slideClass}[data-swiper-slide-index="${realIndex}"]:not(.${params.slideDuplicateClass})`).eq(0).index();nextTick(()=>{swiper.slideTo(slideToIndex)})}else{swiper.slideTo(slideToIndex)}}else if(slideToIndex>swiper.slides.length-slidesPerView){swiper.loopFix();slideToIndex=$wrapperEl.children(`.${params.slideClass}[data-swiper-slide-index="${realIndex}"]:not(.${params.slideDuplicateClass})`).eq(0).index();nextTick(()=>{swiper.slideTo(slideToIndex)})}else{swiper.slideTo(slideToIndex)}}else{swiper.slideTo(slideToIndex)}} 293var slide={slideTo,slideToLoop,slideNext,slidePrev,slideReset,slideToClosest,slideToClickedSlide};function loopCreate(){const swiper=this;const document=getDocument();const{params,$wrapperEl}=swiper;const $selector=$($wrapperEl.children()[0].parentNode);$selector.children(`.${params.slideClass}.${params.slideDuplicateClass}`).remove();let slides=$selector.children(`.${params.slideClass}`);if(params.loopFillGroupWithBlank){const blankSlidesNum=params.slidesPerGroup-slides.length%params.slidesPerGroup;if(blankSlidesNum!==params.slidesPerGroup){for(let i=0;i<blankSlidesNum;i+=1){const blankNode=$(document.createElement('div')).addClass(`${params.slideClass} ${params.slideBlankClass}`);$selector.append(blankNode)} 294slides=$selector.children(`.${params.slideClass}`)}} 295if(params.slidesPerView==='auto'&&!params.loopedSlides)params.loopedSlides=slides.length;swiper.loopedSlides=Math.ceil(parseFloat(params.loopedSlides||params.slidesPerView,10));swiper.loopedSlides+=params.loopAdditionalSlides;if(swiper.loopedSlides>slides.length){swiper.loopedSlides=slides.length} 296const prependSlides=[];const appendSlides=[];slides.each((el,index)=>{const slide=$(el);if(index<swiper.loopedSlides){appendSlides.push(el)} 297if(index<slides.length&&index>=slides.length-swiper.loopedSlides){prependSlides.push(el)} 298slide.attr('data-swiper-slide-index',index)});for(let i=0;i<appendSlides.length;i+=1){$selector.append($(appendSlides[i].cloneNode(!0)).addClass(params.slideDuplicateClass))} 299for(let i=prependSlides.length-1;i>=0;
vendor: 7,747 bytes, lines 299-334
299i-=1){$selector.prepend($(prependSlides[i].cloneNode(!0)).addClass(params.slideDuplicateClass))}} 300function loopFix(){const swiper=this;swiper.emit('beforeLoopFix');const{activeIndex,slides,loopedSlides,allowSlidePrev,allowSlideNext,snapGrid,rtlTranslate:rtl}=swiper;let newIndex;swiper.allowSlidePrev=!0;swiper.allowSlideNext=!0;const snapTranslate=-snapGrid[activeIndex];const diff=snapTranslate-swiper.getTranslate();if(activeIndex<loopedSlides){newIndex=slides.length-loopedSlides*3+activeIndex;newIndex+=loopedSlides;const slideChanged=swiper.slideTo(newIndex,0,!1,!0);if(slideChanged&&diff!==0){swiper.setTranslate((rtl?-swiper.translate:swiper.translate)-diff)}}else if(activeIndex>=slides.length-loopedSlides){newIndex=-slides.length+activeIndex+loopedSlides;newIndex+=loopedSlides;const slideChanged=swiper.slideTo(newIndex,0,!1,!0);if(slideChanged&&diff!==0){swiper.setTranslate((rtl?-swiper.translate:swiper.translate)-diff)}} 301swiper.allowSlidePrev=allowSlidePrev;swiper.allowSlideNext=allowSlideNext;swiper.emit('loopFix')} 302function loopDestroy(){const swiper=this;const{$wrapperEl,params,slides}=swiper;$wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass},.${params.slideClass}.${params.slideBlankClass}`).remove();slides.removeAttr('data-swiper-slide-index')} 303var loop={loopCreate,loopFix,loopDestroy};function setGrabCursor(moving){const swiper=this;if(swiper.support.touch||!swiper.params.simulateTouch||swiper.params.watchOverflow&&swiper.isLocked||swiper.params.cssMode)return;const el=swiper.params.touchEventsTarget==='container'?swiper.el:swiper.wrapperEl;el.style.cursor='move';el.style.cursor=moving?'-webkit-grabbing':'-webkit-grab';el.style.cursor=moving?'-moz-grabbin':'-moz-grab';el.style.cursor=moving?'grabbing':'grab'} 304function unsetGrabCursor(){const swiper=this;if(swiper.support.touch||swiper.params.watchOverflow&&swiper.isLocked||swiper.params.cssMode){return} 305swiper[swiper.params.touchEventsTarget==='container'?'el':'wrapperEl'].style.cursor=''} 306var grabCursor={setGrabCursor,unsetGrabCursor};function closestElement(selector,base=this){function __closestFrom(el){if(!el||el===getDocument()||el===getWindow())return null;if(el.assignedSlot)el=el.assignedSlot;const found=el.closest(selector);return found||__closestFrom(el.getRootNode().host)} 307return __closestFrom(base)} 308function onTouchStart(event){const swiper=this;const document=getDocument();const window=getWindow();const data=swiper.touchEventsData;const{params,touches,enabled}=swiper;if(!enabled)return;if(swiper.animating&¶ms.preventInteractionOnTransition){return} 309if(!swiper.animating&¶ms.cssMode&¶ms.loop){swiper.loopFix()} 310let e=event;if(e.originalEvent)e=e.originalEvent;let $targetEl=$(e.target);if(params.touchEventsTarget==='wrapper'){if(!$targetEl.closest(swiper.wrapperEl).length)return} 311data.isTouchEvent=e.type==='touchstart';if(!data.isTouchEvent&&'which' in e&&e.which===3)return;if(!data.isTouchEvent&&'button' in e&&e.button>0)return;if(data.isTouched&&data.isMoved)return;const swipingClassHasValue=!!params.noSwipingClass&¶ms.noSwipingClass!=='';if(swipingClassHasValue&&e.target&&e.target.shadowRoot&&event.path&&event.path[0]){$targetEl=$(event.path[0])} 312const noSwipingSelector=params.noSwipingSelector?params.noSwipingSelector:`.${params.noSwipingClass}`;const isTargetShadow=!!(e.target&&e.target.shadowRoot);if(params.noSwiping&&(isTargetShadow?closestElement(noSwipingSelector,e.target):$targetEl.closest(noSwipingSelector)[0])){swiper.allowClick=!0;return} 313if(params.swipeHandler){if(!$targetEl.closest(params.swipeHandler)[0])return} 314touches.currentX=e.type==='touchstart'?e.targetTouches[0].pageX:e.pageX;touches.currentY=e.type==='touchstart'?e.targetTouches[0].pageY:e.pageY;const startX=touches.currentX;const startY=touches.currentY;const edgeSwipeDetection=params.edgeSwipeDetection||params.iOSEdgeSwipeDetection;const edgeSwipeThreshold=params.edgeSwipeThreshold||params.iOSEdgeSwipeThreshold;if(edgeSwipeDetection&&(startX<=edgeSwipeThreshold||startX>=window.innerWidth-edgeSwipeThreshold)){if(edgeSwipeDetection==='prevent'){event.preventDefault()}else{return}} 315Object.assign(data,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:undefined,startMoving:undefined});touches.startX=startX;touches.startY=startY;data.touchStartTime=now();swiper.allowClick=!0;swiper.updateSize();swiper.swipeDirection=undefined;if(params.threshold>0)data.allowThresholdMove=!1;if(e.type!=='touchstart'){let preventDefault=!0;if($targetEl.is(data.focusableElements))preventDefault=!1;if(document.activeElement&&$(document.activeElement).is(data.focusableElements)&&document.activeElement!==$targetEl[0]){document.activeElement.blur()} 316const shouldPreventDefault=preventDefault&&swiper.allowTouchMove&¶ms.touchStartPreventDefault;if((params.touchStartForcePreventDefault||shouldPreventDefault)&&!$targetEl[0].isContentEditable){e.preventDefault()}} 317swiper.emit('touchStart',e)} 318function onTouchMove(event){const document=getDocument();const swiper=this;const data=swiper.touchEventsData;const{params,touches,rtlTranslate:rtl,enabled}=swiper;if(!enabled)return;let e=event;if(e.originalEvent)e=e.originalEvent;if(!data.isTouched){if(data.startMoving&&data.isScrolling){swiper.emit('touchMoveOpposite',e)} 319return} 320if(data.isTouchEvent&&e.type!=='touchmove')return;const targetTouch=e.type==='touchmove'&&e.targetTouches&&(e.targetTouches[0]||e.changedTouches[0]);const pageX=e.type==='touchmove'?targetTouch.pageX:e.pageX;const pageY=e.type==='touchmove'?targetTouch.pageY:e.pageY;if(e.preventedByNestedSwiper){touches.startX=pageX;touches.startY=pageY;return} 321if(!swiper.allowTouchMove){swiper.allowClick=!1;if(data.isTouched){Object.assign(touches,{startX:pageX,startY:pageY,currentX:pageX,currentY:pageY});data.touchStartTime=now()} 322return} 323if(data.isTouchEvent&¶ms.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(pageX<touches.startX&&swiper.translate<=swiper.maxTranslate()||pageX>touches.startX&&swiper.translate>=swiper.minTranslate()){return}} 324if(data.isTouchEvent&&document.activeElement){if(e.target===document.activeElement&&$(e.target).is(data.focusableElements)){data.isMoved=!0;swiper.allowClick=!1;return}} 325if(data.allowTouchCallbacks){swiper.emit('touchMove',e)} 326if(e.targetTouches&&e.targetTouches.length>1)return;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)return;if(typeof data.isScrolling==='undefined'){let touchAngle;if(swiper.isHorizontal()&&touches.currentY===touches.startY||swiper.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}}} 327if(data.isScrolling){swiper.emit('touchMoveOpposite',e)} 328if(typeof data.startMoving==='undefined'){if(touches.currentX!==touches.startX||touches.currentY!==touches.startY){data.startMoving=!0}} 329if(data.isScrolling){data.isTouched=!1;return} 330if(!data.startMoving){return} 331swiper.allowClick=!1;if(!params.cssMode&&e.cancelable){e.preventDefault()} 332if(params.touchMoveStopPropagation&&!params.nested){e.stopPropagation()} 333if(!data.isMoved){if(params.loop&&!params.cssMode){swiper.loopFix()} 334data.startTranslate=swiper.getTranslate();swiper.setTransition(0);if(swiper.animating){swiper.$wrapperEl.trigger('webkitTransitionEnd transitionend')}
335data.allowMomentumBounce=!1;if(params.grabCursor&&(swiper.allowSlideNext===!0||swiper.allowSlidePrev===!0)){swiper.setGrabCursor(!0)} 336swiper.emit('sliderFirstMove',e)} 337swiper.emit('sliderMove',e);data.isMoved=!0;let diff=swiper.isHorizontal()?diffX:diffY;touches.diff=diff;diff*=params.touchRatio;if(rtl)diff=-diff;swiper.swipeDirection=diff>0?'prev':'next';data.currentTranslate=diff+data.startTranslate;let disableParentSwiper=!0;let resistanceRatio=params.resistanceRatio;if(params.touchReleaseOnEdges){resistanceRatio=0} 338if(diff>0&&data.currentTranslate>swiper.minTranslate()){disableParentSwiper=!1;if(params.resistance)data.currentTranslate=swiper.minTranslate()-1+(-swiper.minTranslate()+data.startTranslate+diff)**resistanceRatio}else if(diff<0&&data.currentTranslate<swiper.maxTranslate()){disableParentSwiper=!1;if(params.resistance)data.currentTranslate=swiper.maxTranslate()+1-(swiper.maxTranslate()-data.startTranslate-diff)**resistanceRatio} 339if(disableParentSwiper){e.preventedByNestedSwiper=!0} 340if(!swiper.allowSlideNext&&swiper.swipeDirection==='next'&&data.currentTranslate<data.startTranslate){data.currentTranslate=data.startTranslate} 341if(!swiper.allowSlidePrev&&swiper.swipeDirection==='prev'&&data.currentTranslate>data.startTranslate){data.currentTranslate=data.startTranslate} 342if(!swiper.allowSlidePrev&&!swiper.allowSlideNext){data.currentTranslate=data.startTranslate} 343if(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}} 344if(!params.followFinger||params.cssMode)return;if(params.freeMode&¶ms.freeMode.enabled&&swiper.freeMode||params.watchSlidesProgress){swiper.updateActiveIndex();swiper.updateSlidesClasses()} 345if(swiper.params.freeMode&¶ms.freeMode.enabled&&swiper.freeMode){swiper.freeMode.onTouchMove()} 346swiper.updateProgress(data.currentTranslate);swiper.setTranslate(data.currentTranslate)} 347function onTouchEnd(event){const swiper=this;const data=swiper.touchEventsData;const{params,touches,rtlTranslate:rtl,slidesGrid,enabled}=swiper;if(!enabled)return;let e=event;if(e.originalEvent)e=e.originalEvent;if(data.allowTouchCallbacks){swiper.emit('touchEnd',e)} 348data.allowTouchCallbacks=!1;if(!data.isTouched){if(data.isMoved&¶ms.grabCursor){swiper.setGrabCursor(!1)} 349data.isMoved=!1;data.startMoving=!1;return} 350if(params.grabCursor&&data.isMoved&&data.isTouched&&(swiper.allowSlideNext===!0||swiper.allowSlidePrev===!0)){swiper.setGrabCursor(!1)} 351const touchEndTime=now();const timeDiff=touchEndTime-data.touchStartTime;if(swiper.allowClick){swiper.updateClickedSlide(e);swiper.emit('tap click',e);if(timeDiff<300&&touchEndTime-data.lastClickTime<300){swiper.emit('doubleTap doubleClick',e)}} 352data.lastClickTime=now();nextTick(()=>{if(!swiper.destroyed)swiper.allowClick=!0});if(!data.isTouched||!data.isMoved||!swiper.swipeDirection||touches.diff===0||data.currentTranslate===data.startTranslate){data.isTouched=!1;data.isMoved=!1;data.startMoving=!1;return} 353data.isTouched=!1;data.isMoved=!1;data.startMoving=!1;let currentPos;if(params.followFinger){currentPos=rtl?swiper.translate:-swiper.translate}else{currentPos=-data.currentTranslate} 354if(params.cssMode){return} 355if(swiper.params.freeMode&¶ms.freeMode.enabled){swiper.freeMode.onTouchEnd({currentPos});return} 356let 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(currentPos>=slidesGrid[i]&¤tPos<slidesGrid[i+increment]){stopIndex=i;groupSize=slidesGrid[i+increment]-slidesGrid[i]}}else if(currentPos>=slidesGrid[i]){stopIndex=i;groupSize=slidesGrid[slidesGrid.length-1]-slidesGrid[slidesGrid.length-2]}} 357const 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} 358if(swiper.swipeDirection==='next'){if(ratio>=params.longSwipesRatio)swiper.slideTo(stopIndex+increment);else swiper.slideTo(stopIndex)} 359if(swiper.swipeDirection==='prev'){if(ratio>1-params.longSwipesRatio)swiper.slideTo(stopIndex+increment);else swiper.slideTo(stopIndex)}}else{if(!params.shortSwipes){swiper.slideTo(swiper.activeIndex);return} 360const isNavButtonTarget=swiper.navigation&&(e.target===swiper.navigation.nextEl||e.target===swiper.navigation.prevEl);if(!isNavButtonTarget){if(swiper.swipeDirection==='next'){swiper.slideTo(stopIndex+increment)} 361if(swiper.swipeDirection==='prev'){swiper.slideTo(stopIndex)}}else if(e.target===swiper.navigation.nextEl){swiper.slideTo(stopIndex+increment)}else{swiper.slideTo(stopIndex)}}} 362function onResize(){const swiper=this;const{params,el}=swiper;if(el&&el.offsetWidth===0)return;if(params.breakpoints){swiper.setBreakpoint()} 363const{allowSlideNext,allowSlidePrev,snapGrid}=swiper;swiper.allowSlideNext=!0;swiper.allowSlidePrev=!0;swiper.updateSize();swiper.updateSlides();swiper.updateSlidesClasses();if((params.slidesPerView==='auto'||params.slidesPerView>1)&&swiper.isEnd&&!swiper.isBeginning&&!swiper.params.centeredSlides){swiper.slideTo(swiper.slides.length-1,0,!1,!0)}else{swiper.slideTo(swiper.activeIndex,0,!1,!0)} 364if(swiper.autoplay&&swiper.autoplay.running&&swiper.autoplay.paused){swiper.autoplay.run()} 365swiper.allowSlidePrev=allowSlidePrev;swiper.allowSlideNext=allowSlideNext;if(swiper.params.watchOverflow&&snapGrid!==swiper.snapGrid){swiper.checkOverflow()}} 366function onClick(e){const swiper=this;if(!swiper.enabled)return;if(!swiper.allowClick){if(swiper.params.preventClicks)e.preventDefault();if(swiper.params.preventClicksPropagation&&swiper.animating){e.stopPropagation();e.stopImmediatePropagation()}}} 367function onScroll(){const swiper=this;const{wrapperEl,rtlTranslate,enabled}=swiper;if(!enabled)return;swiper.previousTranslate=swiper.translate;if(swiper.isHorizontal()){swiper.translate=-wrapperEl.scrollLeft}else{swiper.translate=-wrapperEl.scrollTop} 368if(swiper.translate===-0)swiper.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} 369if(newProgress!==swiper.progress){swiper.updateProgress(rtlTranslate?-swiper.translate:swiper.translate)} 370swiper.emit('setTranslate',swiper.translate,!1)} 371let dummyEventAttached=!1;function dummyEventListener(){} 372const events=(swiper,method)=>{const document=getDocument();const{params,touchEvents,el,wrapperEl,device,support}=swiper;const capture=!!params.nested;const domMethod=method==='on'?'addEventListener':'removeEventListener';const swiperMethod=method;if(!support.touch){el[domMethod](touchEvents.start,swiper.onTouchStart,!1);document[domMethod](touchEvents.move,swiper.onTouchMove,capture);document[domMethod](touchEvents.end,swiper.onTouchEnd,!1)}else{const passiveListener=touchEvents.start==='touchstart'&&support.passiveListener&¶ms.passiveListeners?{passive:!0,capture:!1}:!1;el[domMethod](touchEvents.start,swiper.onTouchStart,passiveListener);el[domMethod](touchEvents.move,swiper.onTouchMove,support.passiveListener?{passive:!1,capture}:capture);el[domMethod](touchEvents.end,swiper.onTouchEnd,passiveListener);if(touchEvents.cancel){el[domMethod](touchEvents.cancel,swiper.onTouchEnd,passiveListener)}} 373if(params.preventClicks||params.preventClicksPropagation){el[domMethod]('click',swiper.onClick,!0)} 374if(params.cssMode){wrapperEl[domMethod]('scroll',swiper.onScroll)} 375if(params.updateOnWindowResize){swiper[swiperMethod](device.ios||device.android?'resize orientationchange observerUpdate':'resize observerUpdate',onResize,!0)}else{swiper[swiperMethod]('observerUpdate',onResize,!0)}};function attachEvents(){const swiper=this;const document=getDocument();const{params,support}=swiper;
375swiper.onTouchStart=onTouchStart.bind(swiper);swiper.onTouchMove=onTouchMove.bind(swiper);swiper.onTouchEnd=onTouchEnd.bind(swiper);if(params.cssMode){swiper.onScroll=onScroll.bind(swiper)} 376swiper.onClick=onClick.bind(swiper);if(support.touch&&!dummyEventAttached){document.addEventListener('touchstart',dummyEventListener);dummyEventAttached=!0} 377events(swiper,'on')} 378function detachEvents(){const swiper=this;events(swiper,'off')} 379var events$1={attachEvents,detachEvents};const isGridEnabled=(swiper,params)=>{return swiper.grid&¶ms.grid&¶ms.grid.rows>1};function setBreakpoint(){const swiper=this;const{activeIndex,initialized,loopedSlides=0,params,$el}=swiper;const breakpoints=params.breakpoints;if(!breakpoints||breakpoints&&Object.keys(breakpoints).length===0)return;const breakpoint=swiper.getBreakpoint(breakpoints,swiper.params.breakpointsBase,swiper.el);if(!breakpoint||swiper.currentBreakpoint===breakpoint)return;const breakpointOnlyParams=breakpoint in breakpoints?breakpoints[breakpoint]:undefined;const breakpointParams=breakpointOnlyParams||swiper.originalParams;const wasMultiRow=isGridEnabled(swiper,params);const isMultiRow=isGridEnabled(swiper,breakpointParams);const wasEnabled=params.enabled;if(wasMultiRow&&!isMultiRow){$el.removeClass(`${params.containerModifierClass}grid ${params.containerModifierClass}grid-column`);swiper.emitContainerClasses()}else if(!wasMultiRow&&isMultiRow){$el.addClass(`${params.containerModifierClass}grid`);if(breakpointParams.grid.fill&&breakpointParams.grid.fill==='column'||!breakpointParams.grid.fill&¶ms.grid.fill==='column'){$el.addClass(`${params.containerModifierClass}grid-column`)} 380swiper.emitContainerClasses()} 381const directionChanged=breakpointParams.direction&&breakpointParams.direction!==params.direction;const needsReLoop=params.loop&&(breakpointParams.slidesPerView!==params.slidesPerView||directionChanged);if(directionChanged&&initialized){swiper.changeDirection()} 382extend(swiper.params,breakpointParams);const isEnabled=swiper.params.enabled;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()} 383swiper.currentBreakpoint=breakpoint;swiper.emit('_beforeBreakpoint',breakpointParams);if(needsReLoop&&initialized){swiper.loopDestroy();swiper.loopCreate();swiper.updateSlides();swiper.slideTo(activeIndex-loopedSlides+swiper.loopedSlides,0,!1)} 384swiper.emit('breakpoint',breakpointParams)} 385function getBreakpoint(breakpoints,base='window',containerEl){if(!breakpoints||base==='container'&&!containerEl)return undefined;let breakpoint=!1;const window=getWindow();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}} 386return{value:point,point}});points.sort((a,b)=>
386parseInt(a.value,10)-parseInt(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}} 387return breakpoint||'max'} 388var breakpoints={setBreakpoint,getBreakpoint};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} 389function addClasses(){const swiper=this;const{classNames,params,rtl,$el,device,support}=swiper;const suffixes=prepareClasses(['initialized',params.direction,{'pointer-events':!support.touch},{'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}],params.containerModifierClass);classNames.push(...suffixes);$el.addClass([...classNames].join(' '));swiper.emitContainerClasses()} 390function removeClasses(){const swiper=this;const{$el,classNames}=swiper;$el.removeClass(classNames.join(' '));swiper.emitContainerClasses()} 391var classes={addClasses,removeClasses};function loadImage(imageEl,src,srcset,sizes,checkForComplete,callback){const window=getWindow();let image;function onReady(){if(callback)callback()} 392const isPicture=$(imageEl).parent('picture')[0];if(!isPicture&&(!imageEl.complete||!checkForComplete)){if(src){image=new window.Image();image.onload=onReady;image.onerror=onReady;if(sizes){image.sizes=sizes} 393if(srcset){image.srcset=srcset} 394if(src){image.src=src}}else{onReady()}}else{onReady()}} 395function preloadImages(){const swiper=this;swiper.imagesToLoad=swiper.$el.find('img');function onReady(){if(typeof swiper==='undefined'||swiper===null||!swiper||swiper.destroyed)return;if(swiper.imagesLoaded!==undefined)swiper.imagesLoaded+=1;if(swiper.imagesLoaded===swiper.imagesToLoad.length){if(swiper.params.updateOnImagesReady)swiper.update();swiper.emit('imagesReady')}} 396for(let i=0;i<swiper.imagesToLoad.length;i+=1){const imageEl=swiper.imagesToLoad[i];swiper.loadImage(imageEl,imageEl.currentSrc||imageEl.getAttribute('src'),imageEl.srcset||imageEl.getAttribute('srcset'),imageEl.sizes||imageEl.getAttribute('sizes'),!0,onReady)}} 397var images={loadImage,preloadImages};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} 398if(params.allowSlideNext===!0){swiper.allowSlideNext=!swiper.isLocked} 399if(params.allowSlidePrev===!0){swiper.allowSlidePrev=!swiper.isLocked} 400if(wasLocked&&wasLocked!==swiper.isLocked){swiper.isEnd=!1} 401if(wasLocked!==swiper.isLocked){swiper.emit(swiper.isLocked?'lock':'unlock')}} 402var checkOverflow$1={checkOverflow};var defaults={init:!0,direction:'horizontal',touchEventsTarget:'wrapper',initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!0,nested:!1,createElements:!1,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,watchOverflow:!0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:0.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:0,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,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,loopFillGroupWithBlank:!1,loopPreventsSlide:!0,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:'swiper-no-swiping',noSwipingSelector:null,passiveListeners:!0,containerModifierClass:'swiper-',slideClass:'swiper-slide',slideBlankClass:'swiper-slide-invisible-blank',slideActiveClass:'swiper-slide-active',slideDuplicateActiveClass:'swiper-slide-duplicate-active',slideVisibleClass:'swiper-slide-visible',slideDuplicateClass:'swiper-slide-duplicate',slideNextClass:'swiper-slide-next',slideDuplicateNextClass:'swiper-slide-duplicate-next',slidePrevClass:'swiper-slide-prev',slideDuplicatePrevClass:'swiper-slide-duplicate-prev',wrapperClass:'swiper-wrapper',runCallbacksOnInit:!0,_emitClasses:!1};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} 403if(['navigation','pagination','scrollbar'].indexOf(moduleParamName)>=0&¶ms[moduleParamName]===!0){params[moduleParamName]={auto:!0}} 404if(!(moduleParamName in params&&'enabled' in moduleParams)){extend(allModulesParams,obj);return} 405if(params[moduleParamName]===!0){params[moduleParamName]={enabled:!0}} 406if(typeof params[moduleParamName]==='object'&&!('enabled' in params[moduleParamName])){params[moduleParamName].enabled=!0} 407if(!params[moduleParamName])params[moduleParamName]={enabled:!1};extend(allModulesParams,obj)}} 408const prototypes={eventsEmitter,update,translate,transition,slide,loop,grabCursor,events:events$1,breakpoints,checkOverflow:checkOverflow$1,classes,images};const extendedDefaults={};class Swiper{constructor(...args){let el;let params;
408if(args.length===1&&args[0].constructor&&Object.prototype.toString.call(args[0]).slice(8,-1)==='Object'){params=args[0]}else{[el,params]=args} 409if(!params)params={};params=extend({},params);if(el&&!params.el)params.el=el;if(params.el&&$(params.el).length>1){const swipers=[];$(params.el).each(containerEl=>{const newParams=extend({},params,{el:containerEl});swipers.push(new Swiper(newParams))});return swipers} 410const swiper=this;swiper.__swiper__=!0;swiper.support=getSupport();swiper.device=getDevice({userAgent:params.userAgent});swiper.browser=getBrowser();swiper.eventsListeners={};swiper.eventsAnyListeners=[];swiper.modules=[...swiper.__modules__];if(params.modules&&Array.isArray(params.modules)){swiper.modules.push(...params.modules)} 411const allModulesParams={};swiper.modules.forEach(mod=>{mod({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){Object.keys(swiper.params.on).forEac
411h(eventName=>{swiper.on(eventName,swiper.params.on[eventName])})} 412if(swiper.params&&swiper.params.onAny){swiper.onAny(swiper.params.onAny)} 413swiper.$=$;Object.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,allowSlideNext:swiper.params.allowSlideNext,allowSlidePrev:swiper.params.allowSlidePrev,touchEvents:function touchEvents(){const touch=['touchstart','touchmove','touchend','touchcancel'];const desktop=['pointerdown','pointermove','pointerup'];swiper.touchEventsTouch={start:touch[0],move:touch[1],end:touch[2],cancel:touch[3]};swiper.touchEventsDesktop={start:desktop[0],move:desktop[1],end:desktop[2]};return swiper.support.touch||!swiper.params.simulateTouch?swiper.touchEventsTouch:swiper.touchEventsDesktop}(),touchEventsData:{isTouched:undefined,isMoved:undefined,allowTouchCallbacks:undefined,touchStartTime:undefined,isScrolling:undefined,currentTranslate:undefined,startTranslate:undefined,allowThresholdMove:undefined,focusableElements:swiper.params.focusableElements,lastClickTime:now(),clickTimeout:undefined,velocities:[],allowMomentumBounce:undefined,isTouchEvent:undefined,startMoving:undefined},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()} 414return swiper} 415enable(){const swiper=this;if(swiper.enabled)return;swiper.enabled=!0;if(swiper.params.grabCursor){swiper.setGrabCursor()} 416swiper.emit('enable')} 417disable(){const swiper=this;if(!swiper.enabled)return;swiper.enabled=!1;if(swiper.params.grabCursor){swiper.unsetGrabCursor()} 418swiper.emit('disable')} 419setProgress(progress,speed){const swiper=this;progress=Math.min(Math.max(progress,0),1);const min=swiper.minTranslate();const max=swiper.maxTranslate();const current=(max-min)*progress+min;swiper.translateTo(current,typeof speed==='undefined'?0:speed);swiper.updateActiveIndex();swiper.updateSlidesClasses()} 420emitContainerClasses(){const swiper=this;if(!swiper.params._emitClasses||!swiper.el)return;const cls=swiper.el.className.split(' ').filter(className=>{return className.indexOf('swiper')===0||className.indexOf(swiper.params.containerModifierClass)===0});swiper.emit('_containerClasses',cls.join(' '))} 421getSlideClasses(slideEl){const swiper=this;return slideEl.className.split(' ').filter(className=>{return className.indexOf('swiper-slide')===0||className.indexOf(swiper.params.slideClass)===0}).join(' ')} 422emitSlidesClasses(){const swiper=this;if(!swiper.params._emitClasses||!swiper.el)return;const updates=[];swiper.slides.each(slideEl=>{const classNames=swiper.getSlideClasses(slideEl);updates.push({slideEl,classNames});swiper.emit('_slideClass',slideEl,classNames)});swiper.emit('_slideClasses',updates)} 423slidesPerViewDynamic(view='current',exact=!1){const swiper=this;const{params,slides,slidesGrid,slidesSizesGrid,size:swiperSize,activeIndex}=swiper;let spv=1;if(params.centeredSlides){let slideSize=slides[activeIndex].swiperSlideSize;let breakLoop;for(let i=activeIndex+1;i<slides.length;i+=1){if(slides[i]&&!breakLoop){slideSize+=slides[i].swiperSlideSize;spv+=1;if(slideSize>swiperSize)breakLoop=!0}} 424for(let i=activeIndex-1;i>=0;i-=1){if(slides[i]&&!breakLoop){slideSize+=slides[i].swiperSlideSize;spv+=1;if(slideSize>swiperSize)breakLoop=!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}}}} 425return spv} 426update(){const swiper=this;if(!swiper||swiper.destroyed)return;const{snapGrid,params}=swiper;if(params.breakpoints){swiper.setBreakpoint()} 427swiper.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()} 428let translated;if(swiper.params.freeMode&&swiper.params.freeMode.enabled){setTranslate();if(swiper.params.autoHeight){swiper.updateAutoHeight()}}else{if((swiper.params.slidesPerView==='auto'||swiper.params.slidesPerView>1)&&swiper.isEnd&&!swiper.params.centeredSlides){translated=swiper.slideTo(swiper.slides.length-1,0,!1,!0)}else{translated=swiper.slideTo(swiper.activeIndex,0,!1,!0)} 429if(!translated){setTranslate()}} 430if(params.watchOverflow&&snapGrid!==swiper.snapGrid){swiper.checkOverflow()} 431swiper.emit('update')} 432changeDirection(newDirection,needUpdate=!0){const swiper=this;const currentDirection=swiper.params.direction;if(!newDirection){newDirection=currentDirection==='horizontal'?'vertical':'horizontal'} 433if(newDirection===currentDirection||newDirection!=='horizontal'&&newDirection!=='vertical'){return swiper} 434swiper.$el.removeClass(`${swiper.params.containerModifierClass}${currentDirection}`).addClass(`${swiper.params.containerModifierClass}${newDirection}`);swiper.emitContainerClasses();swiper.params.direction=newDirection;swiper.slides.each(slideEl=>{if(newDirection==='vertical'){slideEl.style.width=''}else{slideEl.style.height=''}});swiper.emit('changeDirection');
434if(needUpdate)swiper.update();return swiper} 435mount(el){const swiper=this;if(swiper.mounted)return!0;const $el=$(el||swiper.params.el);el=$el[0];if(!el){return!1} 436el.swiper=swiper;const getWrapperSelector=()=>{return `.${(swiper.params.wrapperClass || '').trim().split(' ').join('.')}`};const getWrapper=()=>{if(el&&el.shadowRoot&&el.shadowRoot.querySelector){const res=$(el.shadowRoot.querySelector(getWrapperSelector()));res.children=options=>$el.children(options);return res} 437return $el.children(getWrapperSelector())};let $wrapperEl=getWrapper();if($wrapperEl.length===0&&swiper.params.createElements){const document=getDocument();const wrapper=document.createElement('div');$wrapperEl=$(wrapper);wrapper.className=swiper.params.wrapperClass;$el.append(wrapper);$el.children(`.${swiper.params.slideClass}`).each(slideEl=>{$wrapperEl.append(slideEl)})} 438Object.assign(swiper,{$el,el,$wrapperEl,wrapperEl:$wrapperEl[0],mounted:!0,rtl:el.dir.toLowerCase()==='rtl'||$el.css('direction')==='rtl',rtlTranslate:swiper.params.direction==='horizontal'&&(el.dir.toLowerCase()==='rtl'||$el.css('direction')==='rtl'),wrongRTL:$wrapperEl.css('display')==='-webkit-box'});return!0} 439init(el){const swiper=this;if(swiper.initialized)return swiper;const mounted=swiper.mount(el);if(mounted===!1)return swiper;swiper.emit('beforeInit');if(swiper.params.breakpoints){swiper.setBreakpoint()} 440swiper.addClasses();if(swiper.params.loop){swiper.loopCreate()} 441swiper.updateSize();swiper.updateSlides();if(swiper.params.watchOverflow){swiper.checkOverflow()} 442if(swiper.params.grabCursor&&swiper.enabled){swiper.setGrabCursor()} 443if(swiper.params.preloadImages){swiper.preloadImages()} 444if(swiper.params.loop){swiper.slideTo(swiper.params.initialSlide+swiper.loopedSlides,0,swiper.params.runCallbacksOnInit,!1,!0)}else{swiper.slideTo(swiper.params.initialSlide,0,swiper.params.runCallbacksOnInit,!1,!0)} 445swiper.attachEvents();swiper.initialized=!0;swiper.emit('init');swiper.emit('afterInit');return swiper} 446destroy(deleteInstance=!0,cleanStyles=!0){const swiper=this;const{params,$el,$wrapperEl,slides}=swiper;if(typeof swiper.params==='undefined'||swiper.destroyed){return null} 447swiper.emit('beforeDestroy');swiper.initialized=!1;swiper.detachEvents();if(params.loop){swiper.loopDestroy()} 448if(cleanStyles){swiper.removeClasses();$el.removeAttr('style');$wrapperEl.removeAttr('style');if(slides&&slides.length){slides.removeClass([params.slideVisibleClass,params.slideActiveClass,params.slideNextClass,params.slidePrevClass].join(' ')).removeAttr('style').removeAttr('data-swiper-slide-index')}} 449swiper.emit('destroy');Object.keys(swiper.eventsListeners).forEach(eventName=>{swiper.off(eventName)});if(deleteInstance!==!1){swiper.$el[0].swiper=null;deleteProps(swiper)} 450swiper.destroyed=!0;return null} 451static extendDefaults(newDefaults){extend(extendedDefaults,newDefaults)} 452static get extendedDefaults(){return extendedDefaults} 453static get defaults(){return defaults} 454static installModule(mod){if(!Swiper.prototype.__modules__)Swiper.prototype.__modules__=[];const modules=Swiper.prototype.__modules__;if(typeof mod==='function'&&modules.indexOf(mod)<0){modules.push(mod)}} 455static use(module){if(Array.isArray(module)){module.forEach(m=>Swiper.installModule(m));return Swiper} 456Swiper.installModule(module);return Swiper}} 457Object.keys(prototypes).forEach(prototypeGroup=>{Object.keys(prototypes[prototypeGroup]).forEach(protoMethod=>{Swiper.prototype[protoMethod]=prototypes[prototypeGroup][protoMethod]})});Swiper.use([Resize,Observer]);function Virtual({swiper,extendParams,on}){extendParams({virtual:{enabled:!1,slides:[],cache:!0,renderSlide:null,renderExternal:null,renderExternalUpdate:!0,addSlidesBefore:0,addSlidesAfter:0}});let cssModeTimeout;swiper.virtual={cache:{},from:undefined,to:undefined,slides:[],offset:0,slidesGrid:[]};
457function renderSlide(slide,index){const params=swiper.params.virtual;if(params.cache&&swiper.virtual.cache[index]){return swiper.virtual.cache[index]} 458const $slideEl=params.renderSlide?$(params.renderSlide.call(swiper,slide,index)):$(`<div class="${swiper.params.slideClass}" data-swiper-slide-index="${index}">${slide}</div>`);if(!$slideEl.attr('data-swiper-slide-index'))$slideEl.attr('data-swiper-slide-index',index);if(params.cache)swiper.virtual.cache[index]=$slideEl;return $slideEl} 459function update(force){const{slidesPerView,slidesPerGroup,centeredSlides}=swiper.params;const{addSlidesBefore,addSlidesAfter}=swiper.params.virtual;const{from:previousFrom,to:previousTo,slides,slidesGrid:previousSlidesGrid,offset:previousOffset}=swiper.virtual;if(!swiper.params.cssMode){swiper.updateActiveIndex()} 460const activeIndex=swiper.activeIndex||0;let offsetProp;if(swiper.rtlTranslate)offsetProp='right';else offsetProp=swiper.isHorizontal()?'left':'top';let slidesAfter;let slidesBefore;if(centeredSlides){slidesAfter=Math.floor(slidesPerView/2)+slidesPerGroup+addSlidesAfter;slidesBefore=Math.floor(slidesPerView/2)+slidesPerGroup+addSlidesBefore}else{slidesAfter=slidesPerView+(slidesPerGroup-1)+addSlidesAfter;slidesBefore=slidesPerGroup+addSlidesBefore} 461const from=Math.max((activeIndex||0)-slidesBefore,0);const to=Math.min((activeIndex||0)+slidesAfter,slides.length-1);const offset=(swiper.slidesGrid[from]||0)-(swiper.slidesGrid[0]||0);Object.assign(swiper.virtual,{from,to,offset,slidesGrid:swiper.slidesGrid});function onRendered(){swiper.updateSlides();swiper.updateProgress();swiper.updateSlidesClasses();if(swiper.lazy&&swiper.params.lazy.enabled){swiper.lazy.load()}} 462if(previousFrom===from&&previousTo===to&&!force){if(swiper.slidesGrid!==previousSlidesGrid&&offset!==previousOffset){swiper.slides.css(offsetProp,`${offset}px`)} 463swiper.updateProgress();return} 464if(swiper.params.virtual.renderExternal){swiper.params.virtual.renderExternal.call(swiper,{offset,from,to,slides:function getSlides(){const slidesToRender=[];for(let i=from;i<=to;i+=1){slidesToRender.push(slides[i])} 465return slidesToRender}()});if(swiper.params.virtual.renderExternalUpdate){onRendered()} 466return} 467const prependIndexes=[];const appendIndexes=[];if(force){swiper.$wrapperEl.find(`.${swiper.params.slideClass}`).remove()}else{for(let i=previousFrom;i<=previousTo;i+=1){if(i<from||i>to){swiper.$wrapperEl.find(`.${swiper.params.slideClass}[data-swiper-slide-index="${i}"]`).remove()}}} 468for(let i=0;i<slides.length;i+=1){if(i>=from&&i<=to){if(typeof previousTo==='undefined'||force){appendIndexes.push(i)}else{if(i>previousTo)appendIndexes.push(i);if(i<previousFrom)prependIndexes.push(i)}}} 469appendIndexes.forEach(index=>{swiper.$wrapperEl.append(renderSlide(slides[index],index))});prependIndexes.sort((a,b)=>b-a).forEach(index=>{swiper.$wrapperEl.prepend(renderSlide(slides[index],index))});swiper.$wrapperEl.children('.swiper-slide').css(offsetProp,`${offset}px`);onRendered()} 470function appendSlide(slides){if(typeof slides==='object'&&'length' in slides){for(let i=0;i<slides.length;i+=1){if(slides[i])swiper.virtual.slides.push(slides[i])}}else{swiper.virtual.slides.push(slides)} 471update(!0)} 472function 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])swiper.virtual.slides.unshift(slides[i])} 473newActiveIndex=activeIndex+slides.length;numberOfNewSlides=slides.length}else{swiper.virtual.slides.unshift(slides)} 474if(swiper.params.virtual.cache){const cache=swiper.virtual.cache;const newCache={};Object.keys(cache).forEach(cachedIndex=>{const $cachedEl=cache[cachedIndex];const cachedElIndex=$cachedEl.attr('data-swiper-slide-index');if(cachedElIndex){$cachedEl.attr('data-swiper-slide-index',parseInt(cachedElIndex,10)+numberOfNewSlides)} 475newCache[parseInt(cachedIndex,10)+numberOfNewSlides]=$cachedEl});swiper.virtual.cache=newCache} 476update(!0);swiper.slideTo(newActiveIndex,0)} 477function removeSlide(slidesIndexes){if(typeof slidesIndexes==='undefined'||slidesIndexes===null)return;let activeIndex=swiper.activeIndex;if(Array.isArray(slidesIndexes)){for(let i=slidesIndexes.length-1;i>=0;i-=1){swiper.virtual.slides.splice(slidesIndexes[i],1);if(swiper.params.virtual.cache){delete swiper.virtual.cache[slidesIndexes[i]]} 478if(slidesIndexes[i]<activeIndex)activeIndex-=1;activeIndex=Math.max(activeIndex,0)}}else{swiper.virtual.slides.splice(slidesIndexes,1);if(swiper.params.virtual.cache){delete swiper.virtual.cache[slidesIndexes]} 479if(slidesIndexes<activeIndex)activeIndex-=1;activeIndex=Math.max(activeIndex,0)} 480update(!0);swiper.slideTo(activeIndex,0)} 481function removeAllSlides(){swiper.virtual.slides=[];if(swiper.params.virtual.cache){swiper.virtual.cache={}} 482update(!0);swiper.slideTo(0,0)} 483on('beforeInit',()=>{if(!swiper.params.virtual.enabled)return;swiper.virtual.slides=swiper.params.virtual.slides;swiper.classNames.push(`${swiper.params.containerModifierClass}virtual`);swiper.params.watchSlidesProgress=!0;swiper.originalParams.watchSlidesProgress=!0;
483if(!swiper.params.initialSlide){update()}});on('setTranslate',()=>{if(!swiper.params.virtual.enabled)return;if(swiper.params.cssMode&&!swiper._immediateVirtual){clearTimeout(cssModeTimeout);cssModeTimeout=setTimeout(()=>{update()},100)}else{update()}});on('init update resize',()=>{if(!swiper.params.virtual.enabled)return;if(swiper.params.cssMode){setCSSProperty(swiper.wrapperEl,'--swiper-virtual-size',`${swiper.virtualSize}px`)}});Object.assign(swiper.virtual,{appendSlide,prependSlide,removeSlide,removeAllSlides,update})} 484function Keyboard({swiper,extendParams,on,emit}){const document=getDocument();const window=getWindow();swiper.keyboard={enabled:!1};extendParams({keyboard:{enabled:!1,onlyInViewport:!0,pageUpDown:!0}});function handle(event){if(!swiper.enabled)return;const{rtlTranslate:rtl}=swiper;let e=event;if(e.originalEvent)e=e.originalEvent;const kc=e.keyCode||e.charCode;const pageUpDown=swiper.params.keyboard.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} 485if(!swiper.allowSlidePrev&&(swiper.isHorizontal()&&isArrowLeft||swiper.isVertical()&&isArrowUp||isPageUp)){return!1} 486if(e.shiftKey||e.altKey||e.ctrlKey||e.metaKey){return undefined} 487if(document.activeElement&&document.activeElement.nodeName&&(document.activeElement.nodeName.toLowerCase()==='input'||document.activeElement.nodeName.toLowerCase()==='textarea')){return undefined} 488if(swiper.params.keyboard.onlyInViewport&&(isPageUp||isPageDown||isArrowLeft||isArrowRight||isArrowUp||isArrowDown)){let inView=!1;if(swiper.$el.parents(`.${swiper.params.slideClass}`).length>0&&swiper.$el.parents(`.${swiper.params.slideActiveClass}`).length===0){return undefined} 489const $el=swiper.$el;const swiperWidth=$el[0].clientWidth;const swiperHeight=$el[0].clientHeight;const windowWidth=window.innerWidth;const windowHeight=window.innerHeight;const swiperOffset=swiper.$el.offset();if(rtl)swiperOffset.left-=swiper.$el[0].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)continue;inView=!0}} 490if(!inView)return undefined} 491if(swiper.isHorizontal()){if(isPageUp||isPageDown||isArrowLeft||isArrowRight){if(e.preventDefault)e.preventDefault();else e.returnValue=!1} 492if((isPageDown||isArrowRight)&&!rtl||(isPageUp||isArrowLeft)&&rtl)swiper.slideNext();if((isPageUp||isArrowLeft)&&!rtl||(isPageDown||isArrowRight)&&rtl)swiper.slidePrev()}else{if(isPageUp||isPageDown||isArrowUp||isArrowDown){if(e.preventDefault)e.preventDefault();else e.returnValue=!1} 493if(isPageDown||isArrowDown)swiper.slideNext();if(isPageUp||isArrowUp)swiper.slidePrev()} 494emit('keyPress',kc);return undefined} 495function enable(){if(swiper.keyboard.enabled)return;$(document).on('keydown',handle);swiper.keyboard.enabled=!0} 496function disable(){if(!swiper.keyboard.enabled)return;$(document).off('keydown',handle);swiper.keyboard.enabled=!1} 497on('init',()=>{if(swiper.params.keyboard.enabled){enable()}});on('destroy',()=>{if(swiper.keyboard.enabled){disable()}});Object.assign(swiper.keyboard,{enable,disable})} 498function Mousewheel({swiper,extendParams,on,emit}){const window=getWindow();extendParams({mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarget:'container',thresholdDelta:null,thresholdTime:null}});swiper.mousewheel={enabled:!1};let timeout;let lastScrollTime=now();let lastEventBeforeSnap;const recentWheelEvents=[];function normalize(e){const PIXEL_STEP=10;const LINE_HEIGHT=40;const PAGE_HEIGHT=800;let sX=0;let sY=0;let pX=0;let pY=0;if('detail' in e){sY=e.detail} 499if('wheelDelta' in e){sY=-e.wheelDelta/120} 500if('wheelDeltaY' in e){sY=-e.wheelDeltaY/120} 501if('wheelDeltaX' in e){sX=-e.wheelDeltaX/120} 502if('axis' in e&&e.axis===e.HORIZONTAL_AXIS){sX=sY;sY=0} 503pX=sX*PIXEL_STEP;pY=sY*PIXEL_STEP;if('deltaY' in e){pY=e.deltaY} 504if('deltaX' in e){pX=e.deltaX} 505if(e.shiftKey&&!pX){pX=pY;pY=0} 506if((pX||pY)&&e.deltaMode){if(e.deltaMode===1){pX*=LINE_HEIGHT;pY*=LINE_HEIGHT}else{pX*=PAGE_HEIGHT;pY*=PAGE_HEIGHT}} 507if(pX&&!sX){sX=pX<1?-1:1} 508if(pY&&!sY){sY=pY<1?-1:1} 509return{spinX:sX,spinY:sY,pixelX:pX,pixelY:pY}} 510function handleMouseEnter(){if(!swiper.enabled)return;swiper.mouseEntered=!0} 511function handleMouseLeave(){if(!swiper.enabled)return;swiper.mouseEntered=!1} 512function animateSlider(newEvent){if(swiper.params.mousewheel.thresholdDelta&&newEvent.delta<swiper.params.mousewheel.thresholdDelta){return!1} 513if(swiper.params.mousewheel.thresholdTime&&now()-lastScrollTime<swiper.params.mousewheel.thresholdTime){return!1} 514if(newEvent.delta>=6&&now()-lastScrollTime<60){return!0} 515if(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)} 516lastScrollTime=new window.Date().getTime();return!1} 517function releaseScroll(newEvent){const params=swiper.params.mousewheel;if(newEvent.direction<0){if(swiper.isEnd&&!swiper.params.loop&¶ms.releaseOnEdges){return!0}}
517else if(swiper.isBeginning&&!swiper.params.loop&¶ms.releaseOnEdges){return!0} 518return!1} 519function handle(event){let e=event;let disableParentSwiper=!0;if(!swiper.enabled)return;const params=swiper.params.mousewheel;if(swiper.params.cssMode){e.preventDefault()} 520let target=swiper.$el;if(swiper.params.mousewheel.eventsTarget!=='container'){target=$(swiper.params.mousewheel.eventsTarget)} 521if(!swiper.mouseEntered&&!target[0].contains(e.target)&&!params.releaseOnEdges)return!0;if(e.originalEvent)e=e.originalEvent;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))delta=-data.pixelX*rtlFactor;else return!0}else if(Math.abs(data.pixelY)>Math.abs(data.pixelX))delta=-data.pixelY;else return!0}else{delta=Math.abs(data.pixelX)>Math.abs(data.pixelY)?-data.pixelX*rtlFactor:-data.pixelY} 522if(delta===0)return!0;if(params.invert)delta=-delta;let positions=swiper.getTranslate()+delta*params.sensitivity;if(positions>=swiper.minTranslate())positions=swiper.minTranslate();if(positions<=swiper.maxTranslate())positions=swiper.maxTranslate();disableParentSwiper=swiper.params.loop?!0:!(positions===swiper.minTranslate()||positions===swiper.maxTranslate());if(disableParentSwiper&&swiper.params.nested)e.stopPropagation();if(!swiper.params.freeMode||!swiper.params.freeMode.enabled){const newEvent={time:now(),delta:Math.abs(delta),direction:Math.sign(delta),raw:event};if(recentWheelEvents.length>=2){recentWheelEvents.shift()} 523const 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)} 524if(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;if(swiper.params.loop){swiper.loopFix()} 525let position=swiper.getTranslate()+delta*params.sensitivity;const wasBeginning=swiper.isBeginning;const wasEnd=swiper.isEnd;if(position>=swiper.minTranslate())position=swiper.minTranslate();if(position<=swiper.maxTranslate())position=swiper.maxTranslate();swiper.setTransition(0);swiper.setTranslate(position);swiper.updateProgress();swiper.updateActiveIndex();swiper.updateSlidesClasses();if(!wasBeginning&&swiper.isBeginning||!wasEnd&&swiper.isEnd){swiper.updateSlidesClasses()} 526if(swiper.params.freeMode.sticky){clearTimeout(timeout);timeout=undefined;if(recentWheelEvents.length>=15){recentWheelEvents.shift()} 527const 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&&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(()=>{swiper.slideToClosest(swiper.params.speed,!0,undefined,snapToThreshold)},0)} 528if(!timeout){timeout=nextTick(()=>{const snapToThreshold=0.5;lastEventBeforeSnap=newEvent;recentWheelEvents.splice(0);swiper.slideToClosest(swiper.params.speed,!0,undefined,snapToThreshold)},500)}} 529if(!ignoreWheelEvents)emit('scroll',e);if(swiper.params.autoplay&&swiper.params.autoplayDisableOnInteraction)swiper.autoplay.stop();if(position===swiper.minTranslate()||position===swiper.maxTranslate())return!0}} 530if(e.preventDefault)e.preventDefault();else e.returnValue=!1;return!1} 531function events(method){let target=swiper.$el;if(swiper.params.mousewheel.eventsTarget!=='container'){target=$(swiper.params.mousewheel.eventsTarget)} 532target[method]('mouseenter',handleMouseEnter);target[method]('mouseleave',handleMouseLeave);target[method]('wheel',handle)} 533function enable(){if(swiper.params.cssMode){swiper.wrapperEl.removeEventListener('wheel',handle);return!0} 534if(swiper.mousewheel.enabled)return!1;events('on');swiper.mousewheel.enabled=!0;return!0} 535function disable(){if(swiper.params.cssMode){swiper.wrapperEl.addEventListener(event,handle);return!0} 536if(!swiper.mousewheel.enabled)return!1;events('off');swiper.mousewheel.enabled=!1;return!0} 537on('init',()=>{if(!swiper.params.mousewheel.enabled&&swiper.params.cssMode){disable()} 538if(swiper.params.mousewheel.enabled)enable()});on('destroy',()=>{if(swiper.params.cssMode){enable()} 539if(swiper.mousewheel.enabled)disable()});Object.assign(swiper.mousewheel,{enable,disable})} 540function createElementIfNotDefined(swiper,originalParams,params,checkProps){const document=getDocument();
540if(swiper.params.createElements){Object.keys(checkProps).forEach(key=>{if(!params[key]&¶ms.auto===!0){let element=swiper.$el.children(`.${checkProps[key]}`)[0];if(!element){element=document.createElement('div');element.className=checkProps[key];swiper.$el.append(element)} 541params[key]=element;originalParams[key]=element}})} 542return params} 543function Navigation({swiper,extendParams,on,emit}){extendParams({navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:'swiper-button-disabled',hiddenClass:'swiper-button-hidden',lockClass:'swiper-button-lock'}});swiper.navigation={nextEl:null,$nextEl:null,prevEl:null,$prevEl:null};function getEl(el){let $el;if(el){$el=$(el);if(swiper.params.uniqueNavElements&&typeof el==='string'&&$el.length>1&&swiper.$el.find(el).length===1){$el=swiper.$el.find(el)}} 544return $el} 545function toggleEl($el,disabled){const params=swiper.params.navigation;if($el&&$el.length>0){$el[disabled?'addClass':'removeClass'](params.disabledClass);if($el[0]&&$el[0].tagName==='BUTTON')$el[0].disabled=disabled;if(swiper.params.watchOverflow&&swiper.enabled){$el[swiper.isLocked?'addClass':'removeClass'](params.lockClass)}}} 546function update(){if(swiper.params.loop)return;const{$nextEl,$prevEl}=swiper.navigation;toggleEl($prevEl,swiper.isBeginning);toggleEl($nextEl,swiper.isEnd)} 547function onPrevClick(e){e.preventDefault();if(swiper.isBeginning&&!swiper.params.loop)return;swiper.slidePrev()} 548function onNextClick(e){e.preventDefault();if(swiper.isEnd&&!swiper.params.loop)return;swiper.slideNext()} 549function init(){const params=swiper.params.navigation;swiper.params.navigation=createElementIfNotDefined(swiper,swiper.originalParams.navigation,swiper.params.navigation,{nextEl:'swiper-button-next',prevEl:'swiper-button-prev'});if(!(params.nextEl||params.prevEl))return;const $nextEl=getEl(params.nextEl);const $prevEl=getEl(params.prevEl);if($nextEl&&$nextEl.length>0){$nextEl.on('click',onNextClick)} 550if($prevEl&&$prevEl.length>0){$prevEl.on('click',onPrevClick)} 551Object.assign(swiper.navigation,{$nextEl,nextEl:$nextEl&&$nextEl[0],$prevEl,prevEl:$prevEl&&$prevEl[0]});if(!swiper.enabled){if($nextEl)$nextEl.addClass(params.lockClass);if($prevEl)$prevEl.addClass(params.lockClass)}} 552function destroy(){const{$nextEl,$prevEl}=swiper.navigation;if($nextEl&&$nextEl.length){$nextEl.off('click',onNextClick);$nextEl.removeClass(swiper.params.navigation.disabledClass)} 553if($prevEl&&$prevEl.length){$prevEl.off('click',onPrevClick);$prevEl.removeClass(swiper.params.navigation.disabledClass)}} 554on('init',()=>{init();update()});on('toEdge fromEdge lock unlock',()=>{update()});on('destroy',()=>{destroy()});on('enable disable',()=>{const{$nextEl,$prevEl}=swiper.navigation;if($nextEl){$nextEl[swiper.enabled?'removeClass':'addClass'](swiper.params.navigation.lockClass)} 555if($prevEl){$prevEl[swiper.enabled?'removeClass':'addClass'](swiper.params.navigation.lockClass)}});on('click',(_s,e)=>{const{$nextEl,$prevEl}=swiper.navigation;const targetEl=e.target;if(swiper.params.navigation.hideOnClick&&!$(targetEl).is($prevEl)&&!$(targetEl).is($nextEl)){if(swiper.pagination&&swiper.params.pagination&&swiper.params.pagination.clickable&&(swiper.pagination.el===targetEl||swiper.pagination.el.contains(targetEl)))return;let isHidden;if($nextEl){isHidden=$nextEl.hasClass(swiper.params.navigation.hiddenClass)}else if($prevEl){isHidden=$prevEl.hasClass(swiper.params.navigation.hiddenClass)} 556if(isHidden===!0){emit('navigationShow')}else{emit('navigationHide')} 557if($nextEl){$nextEl.toggleClass(swiper.params.navigation.hiddenClass)} 558if($prevEl){$prevEl.toggleClass(swiper.params.navigation.hiddenClass)}}});Object.assign(swiper.navigation,{update,init,destroy})} 559function classesToSelector(classes=''){return `.${classes.trim().replace(/([\.:!\/])/g, '\\$1') // eslint-disable-line 560 .replace(/ /g, '.')}`} 561function 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`}});swiper.pagination={el:null,$el:null,bullets:[]};let bulletSize;let dynamicBulletIndex=0;function isPaginationDisabled(){return!swiper.params.pagination.el||!swiper.pagination.el||!swiper.pagination.$el||swiper.pagination.$el.length===0} 562function setSideBullets($bulletEl,position){const{bulletActiveClass}=swiper.params.pagination;$bulletEl[position]().addClass(`${bulletActiveClass}-${position}`)[position]().addClass(`${bulletActiveClass}-${position}-${position}`)}
vendor: 4,662 bytes, lines 563-580
563function update(){const rtl=swiper.rtl;const params=swiper.params.pagination;if(isPaginationDisabled())return;const slidesLength=swiper.virtual&&swiper.params.virtual.enabled?swiper.virtual.slides.length:swiper.slides.length;const $el=swiper.pagination.$el;let current;const total=swiper.params.loop?Math.ceil((slidesLength-swiper.loopedSlides*2)/swiper.params.slidesPerGroup):swiper.snapGrid.length;if(swiper.params.loop){current=Math.ceil((swiper.activeIndex-swiper.loopedSlides)/swiper.params.slidesPerGroup);if(current>slidesLength-1-swiper.loopedSlides*2){current-=slidesLength-swiper.loopedSlides*2} 564if(current>total-1)current-=total;if(current<0&&swiper.params.paginationType!=='bullets')current=total+current}else if(typeof swiper.snapIndex!=='undefined'){current=swiper.snapIndex}else{current=swiper.activeIndex||0} 565if(params.type==='bullets'&&swiper.pagination.bullets&&swiper.pagination.bullets.length>0){const bullets=swiper.pagination.bullets;let firstIndex;let lastIndex;let midIndex;if(params.dynamicBullets){bulletSize=bullets.eq(0)[swiper.isHorizontal()?'outerWidth':'outerHeight'](!0);$el.css(swiper.isHorizontal()?'width':'height',`${bulletSize * (params.dynamicMainBullets + 4)}px`);if(params.dynamicMainBullets>1&&swiper.previousIndex!==undefined){dynamicBulletIndex+=current-swiper.previousIndex;if(dynamicBulletIndex>params.dynamicMainBullets-1){dynamicBulletIndex=params.dynamicMainBullets-1}else if(dynamicBulletIndex<0){dynamicBulletIndex=0}} 566firstIndex=current-dynamicBulletIndex;lastIndex=firstIndex+(Math.min(bullets.length,params.dynamicMainBullets)-1);midIndex=(lastIndex+firstIndex)/2} 567bullets.removeClass(['','-next','-next-next','-prev','-prev-prev','-main'].map(suffix=>`${params.bulletActiveClass}${suffix}`).join(' '));if($el.length>1){bullets.each(bullet=>{const $bullet=$(bullet);const bulletIndex=$bullet.index();if(bulletIndex===current){$bullet.addClass(params.bulletActiveClass)} 568if(params.dynamicBullets){if(bulletIndex>=firstIndex&&bulletIndex<=lastIndex){$bullet.addClass(`${params.bulletActiveClass}-main`)} 569if(bulletIndex===firstIndex){setSideBullets($bullet,'prev')} 570if(bulletIndex===lastIndex){setSideBullets($bullet,'next')}}})}else{const $bullet=bullets.eq(current);const bulletIndex=$bullet.index();$bullet.addClass(params.bulletActiveClass);if(params.dynamicBullets){const $firstDisplayedBullet=bullets.eq(firstIndex);const $lastDisplayedBullet=bullets.eq(lastIndex);for(let i=firstIndex;i<=lastIndex;i+=1){bullets.eq(i).addClass(`${params.bulletActiveClass}-main`)} 571if(swiper.params.loop){if(bulletIndex>=bullets.length-params.dynamicMainBullets){for(let i=params.dynamicMainBullets;i>=0;i-=1){bullets.eq(bullets.length-i).addClass(`${params.bulletActiveClass}-main`)} 572bullets.eq(bullets.length-params.dynamicMainBullets-1).addClass(`${params.bulletActiveClass}-prev`)}else{setSideBullets($firstDisplayedBullet,'prev');setSideBullets($lastDisplayedBullet,'next')}}else{setSideBullets($firstDisplayedBullet,'prev');setSideBullets($lastDisplayedBullet,'next')}}} 573if(params.dynamicBullets){const dynamicBulletsLength=Math.min(bullets.length,params.dynamicMainBullets+4);const bulletsOffset=(bulletSize*dynamicBulletsLength-bulletSize)/2-midIndex*bulletSize;const offsetProp=rtl?'right':'left';bullets.css(swiper.isHorizontal()?offsetProp:'top',`${bulletsOffset}px`)}} 574if(params.type==='fraction'){$el.find(classesToSelector(params.currentClass)).text(params.formatFractionCurrent(current+1));$el.find(classesToSelector(params.totalClass)).text(params.formatFractionTotal(total))} 575if(params.type==='progressbar'){let progressbarDirection;if(params.progressbarOpposite){progressbarDirection=swiper.isHorizontal()?'vertical':'horizontal'}else{progressbarDirection=swiper.isHorizontal()?'horizontal':'vertical'} 576const scale=(current+1)/total;let scaleX=1;let scaleY=1;if(progressbarDirection==='horizontal'){scaleX=scale}else{scaleY=scale} 577$el.find(classesToSelector(params.progressbarFillClass)).transform(`translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`).transition(swiper.params.speed)} 578if(params.type==='custom'&¶ms.renderCustom){$el.html(params.renderCustom(swiper,current+1,total));emit('paginationRender',$el[0])}else{emit('paginationUpdate',$el[0])} 579if(swiper.params.watchOverflow&&swiper.enabled){$el[swiper.isLocked?'addClass':'removeClass'](params.lockClass)}} 580function render(){const params=swiper.params.pagination;if(isPaginationDisabled())return;const slidesLength=swiper.virtual&&swiper.params.virtual.enabled?swiper.virtual.slides.length:swiper.slides.length;const $el=swiper.pagination.$el;let paginationHTML='';if(params.type==='bullets'){let numberOfBullets=swiper.params.loop?Math.
580ceil((slidesLength-swiper.loopedSlides*2)/swiper.params.slidesPerGroup):swiper.snapGrid.length;if(swiper.params.freeMode&&swiper.params.freeMode.enabled&&!swiper.params.loop&&numberOfBullets>slidesLength){numberOfBullets=slidesLength} 581for(let i=0;i<numberOfBullets;i+=1){if(params.renderBullet){paginationHTML+=params.renderBullet.call(swiper,i,params.bulletClass)}else{paginationHTML+=`<${params.bulletElement} class="${params.bulletClass}"></${params.bulletElement}>`}} 582$el.html(paginationHTML);swiper.pagination.bullets=$el.find(classesToSelector(params.bulletClass))} 583if(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>`} 584$el.html(paginationHTML)} 585if(params.type==='progressbar'){if(params.renderProgressbar){paginationHTML=params.renderProgressbar.call(swiper,params.progressbarFillClass)}else{paginationHTML=`<span class="${params.progressbarFillClass}"></span>`} 586$el.html(paginationHTML)} 587if(params.type!=='custom'){emit('paginationRender',swiper.pagination.$el[0])}} 588function init(){swiper.params.pagination=createElementIfNotDefined(swiper,swiper.originalParams.pagination,swiper.params.pagination,{el:'swiper-pagination'});const params=swiper.params.pagination;if(!params.el)return;let $el=$(params.el);if($el.length===0)return;if(swiper.params.uniqueNavElements&&typeof params.el==='string'&&$el.length>1){$el=swiper.$el.find(params.el);if($el.length>1){$el=$el.filter(el=>{if($(el).parents('.swiper')[0]!==swiper.el)return!1;return!0})}} 589if(params.type==='bullets'&¶ms.clickable){$el.addClass(params.clickableClass)} 590$el.addClass(params.modifierClass+params.type);$el.addClass(params.modifierClass+swiper.params.direction);if(params.type==='bullets'&¶ms.dynamicBullets){$el.addClass(`${params.modifierClass}${params.type}-dynamic`);dynamicBulletIndex=0;if(params.dynamicMainBullets<1){params.dynamicMainBullets=1}} 591if(params.type==='progressbar'&¶ms.progressbarOpposite){$el.addClass(params.progressbarOppositeClass)} 592if(params.clickable){$el.on('click',classesToSelector(params.bulletClass),function onClick(e){e.preventDefault();let index=$(this).index()*swiper.params.slidesPerGroup;if(swiper.params.loop)index+=swiper.loopedSlides;swiper.slideTo(index)})} 593Object.assign(swiper.pagination,{$el,el:$el[0]});if(!swiper.enabled){$el.addClass(params.lockClass)}} 594function destroy(){const params=swiper.params.pagination;if(isPaginationDisabled())return;const $el=swiper.pagination.$el;$el.removeClass(params.hiddenClass);$el.removeClass(params.modifierClass+params.type);$el.removeClass(params.modifierClass+swiper.params.direction);if(swiper.pagination.bullets&&swiper.pagination.bullets.removeClass)swiper.pagination.bullets.removeClass(params.bulletActiveClass);if(params.clickable){$el.off('click',classesToSelector(params.bulletClass))}} 595on('init',()=>{init();render();update()});on('activeIndexChange',()=>{if(swiper.params.loop){update()}else if(typeof swiper.snapIndex==='undefined'){update()}});on('snapIndexChange',()=>{if(!swiper.params.loop){update()}});on('slidesLengthChange',()=>{if(swiper.params.loop){render();update()}});on('snapGridLengthChange',()=>{if(!swiper.params.loop){render();update()}});on('destroy',()=>{destroy()});on('enable disable',()=>{const{$el}=swiper.pagination;if($el){$el[swiper.enabled?'removeClass':'addClass'](swiper.params.pagination.lockClass)}});on('lock unlock',()=>{update()});on('click',(_s,e)=>{const targetEl=e.target;const{$el}=swiper.pagination;if(swiper.params.pagination.el&&swiper.params.pagination.hideOnClick&&$el.length>0&&!$(targetEl).hasClass(swiper.params.pagination.bulletClass)){if(swiper.navigation&&(swiper.navigation.nextEl&&targetEl===swiper.navigation.nextEl||swiper.navigation.prevEl&&targetEl===swiper.navigation.prevEl))return;const isHidden=$el.hasClass(swiper.params.pagination.hiddenClass);if(isHidden===!0){emit('paginationShow')}else{emit('paginationHide')} 596$el.toggleClass(swiper.params.pagination.hiddenClass)}});Object.assign(swiper.pagination,{render,update,init,destroy})} 597function Scrollbar({swiper,extendParams,on,emit}){const document=getDocument();let isTouched=!1;let timeout=null;let dragTimeout=null;let dragStartPos;let dragSize;let trackSize;let divider;extendParams({scrollbar:{el:null,dragSize:'auto',hide:!1,draggable:!1,snapOnRelease:!0,lockClass:'swiper-scrollbar-lock',dragClass:'swiper-scrollbar-drag'}});swiper.scrollbar={el:null,dragEl:null,$el:null,$dragEl:null};function setTranslate(){if(!swiper.params.scrollbar.el||!swiper.scrollbar.el)return;const{scrollbar,rtlTranslate:rtl,progress}=swiper;const{$dragEl,$el}=scrollbar;const params=swiper.params.scrollbar;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} 598if(swiper.isHorizontal()){$dragEl.transform(`translate3d(${newPos}px, 0, 0)`);$dragEl[0].style.width=`${newSize}px`}else{$dragEl.transform(`translate3d(0px, ${newPos}px, 0)`);$dragEl[0].style.height=`${newSize}px`} 599if(params.hide){clearTimeout(timeout);$el[0].style.opacity=1;timeout=setTimeout(()=>{$el[0].style.opacity=0;$el.transition(400)},1000)}} 600function setTransition(duration){if(!swiper.params.scrollbar.el||!swiper.scrollbar.el)return;swiper.scrollbar.$dragEl.transition(duration)} 601function updateSize(){if(!swiper.params.scrollbar.el||!swiper.scrollbar.el)return;const{scrollbar}=swiper;const{$dragEl,$el}=scrollbar;$dragEl[0].style.width='';$dragEl[0].style.height='';trackSize=swiper.isHorizontal()?$el[0].offsetWidth:$el[0].offsetHeight;divider=swiper.size/(swiper.virtualSize+swiper.params.slidesOffsetBefore-(swiper.params.centeredSlides?swiper.snapGrid[0]:0));if(swiper.params.scrollbar.dragSize==='auto'){dragSize=trackSize*divider}else{dragSize=parseInt(swiper.params.scrollbar.dragSize,10)} 602if(swiper.isHorizontal()){$dragEl[0].style.width=`${dragSize}px`}else{$dragEl[0].style.height=`${dragSize}px`} 603if(divider>=1){$el[0].style.display='none'}else{$el[0].style.display=''} 604if(swiper.params.scrollbar.hide){$el[0].style.opacity=0} 605if(swiper.params.watchOverflow&&swiper.enabled){scrollbar.$el[swiper.isLocked?'addClass':'removeClass'](swiper.params.scrollbar.lockClass)}} 606function getPointerPosition(e){if(swiper.isHorizontal()){return e.type==='touchstart'||e.type==='touchmove'?e.targetTouches[0].clientX:e.clientX} 607return e.type==='touchstart'||e.type==='touchmove'?e.targetTouches[0].clientY:e.clientY} 608function setDragPosition(e){const{scrollbar,rtlTranslate:rtl}=swiper;const{$el}=scrollbar;let positionRatio;positionRatio=(getPointerPosition(e)-$el.offset()[swiper.isHorizontal()?'left':'top']-(dragStartPos!==null?dragStartPos:dragSize/2))/(trackSize-dragSize);positionRatio=Math.max(Math.min(positionRatio,1),0);if(rtl){positionRatio=1-positionRatio} 609const position=swiper.minTranslate()+(swiper.maxTranslate()-swiper.minTranslate())*positionRatio;swiper.updateProgress(position);swiper.setTranslate(position);swiper.updateActiveIndex();swiper.updateSlidesClasses()} 610function onDragStart(e){const params=swiper.params.scrollbar;const{scrollbar,$wrapperEl}=swiper;const{$el,$dragEl}=scrollbar;isTouched=!0;dragStartPos=e.target===$dragEl[0]||e.target===$dragEl?getPointerPosition(e)-e.target.getBoundingClientRect()[swiper.isHorizontal()?'left':'top']:null;e.preventDefault();e.stopPropagation();$wrapperEl.transition(100);$dragEl.transition(100);setDragPosition(e);clearTimeout(dragTimeout);$el.transition(0);if(params.hide){$el.css('opacity',1)} 611if(swiper.params.cssMode){swiper.$wrapperEl.css('scroll-snap-type','none')} 612emit('scrollbarDragStart',e)} 613function onDragMove(e){const{scrollbar,$wrapperEl}=swiper;const{$el,$dragEl}=scrollbar;if(!isTouched)return;if(e.preventDefault)e.preventDefault();else e.returnValue=!1;setDragPosition(e);$wrapperEl.transition(0);$el.transition(0);$dragEl.transition(0);emit('scrollbarDragMove',e)} 614function onDragEnd(e){const params=swiper.params.scrollbar;const{scrollbar,$wrapperEl}=swiper;const{$el}=scrollbar;if(!isTouched)return;isTouched=!1;if(swiper.params.cssMode){swiper.$wrapperEl.css('scroll-snap-type','');$wrapperEl.transition('')} 615if(params.hide){clearTimeout(dragTimeout);dragTimeout=nextTick(()=>{$el.css('opacity',0);$el.transition(400)},1000)} 616emit('scrollbarDragEnd',e);if(params.snapOnRelease){swiper.slideToClosest()}}
617function events(method){const{scrollbar,touchEventsTouch,touchEventsDesktop,params,support}=swiper;const $el=scrollbar.$el;const target=$el[0];const activeListener=support.passiveListener&¶ms.passiveListeners?{passive:!1,capture:!1}:!1;const passiveListener=support.passiveListener&¶ms.passiveListeners?{passive:!0,capture:!1}:!1;if(!target)return;const eventMethod=method==='on'?'addEventListener':'removeEventListener';if(!support.touch){target[eventMethod](touchEventsDesktop.start,onDragStart,activeListener);document[eventMethod](touchEventsDesktop.move,onDragMove,activeListener);document[eventMethod](touchEventsDesktop.end,onDragEnd,passiveListener)}else{target[eventMethod](touchEventsTouch.start,onDragStart,activeListener);target[eventMethod](touchEventsTouch.move,onDragMove,activeListener);target[eventMethod](touchEventsTouch.end,onDragEnd,passiveListener)}} 618function enableDraggable(){if(!swiper.params.scrollbar.el)return;events('on')} 619function disableDraggable(){if(!swiper.params.scrollbar.el)return;events('off')} 620function init(){const{scrollbar,$el:$swiperEl}=swiper;swiper.params.scrollbar=createElementIfNotDefined(swiper,swiper.originalParams.scrollbar,swiper.params.scrollbar,{el:'swiper-scrollbar'});const params=swiper.params.scrollbar;if(!params.el)return;let $el=$(params.el);if(swiper.params.uniqueNavElements&&typeof params.el==='string'&&$el.length>1&&$swiperEl.find(params.el).length===1){$el=$swiperEl.find(params.el)} 621let $dragEl=$el.find(`.${swiper.params.scrollbar.dragClass}`);if($dragEl.length===0){$dragEl=$(`<div class="${swiper.params.scrollbar.dragClass}"></div>`);$el.append($dragEl)} 622Object.assign(scrollbar,{$el,el:$el[0],$dragEl,dragEl:$dragEl[0]});if(params.draggable){enableDraggable()} 623if($el){$el[swiper.enabled?'removeClass':'addClass'](swiper.params.scrollbar.lockClass)}} 624function destroy(){disableDraggable()} 625on('init',()=>{init();updateSize();setTranslate()});on('update resize observerUpdate lock unlock',()=>{updateSize()});on('setTranslate',()=>{setTranslate()});on('setTransition',(_s,duration)=>{setTransition(duration)});on('enable disable',()=>{const{$el}=swiper.scrollbar;if($el){$el[swiper.enabled?'removeClass':'addClass'](swiper.params.scrollbar.lockClass)}});on('destroy',()=>{destroy()});Object.assign(swiper.scrollbar,{updateSize,setTranslate,init,destroy})} 626function Parallax({swiper,extendParams,on}){extendParams({parallax:{enabled:!1}});const setTransform=(el,progress)=>{const{rtl}=swiper;const $el=$(el);const rtlFactor=rtl?-1:1;const p=$el.attr('data-swiper-parallax')||'0';let x=$el.attr('data-swiper-parallax-x');let y=$el.attr('data-swiper-parallax-y');const scale=$el.attr('data-swiper-parallax-scale');const opacity=$el.attr('data-swiper-parallax-opacity');if(x||y){x=x||'0';y=y||'0'}else if(swiper.isHorizontal()){x=p;y='0'}else{y=p;x='0'} 627if(x.indexOf('%')>=0){x=`${parseInt(x, 10) * progress * rtlFactor}%`}else{x=`${x * progress * rtlFactor}px`} 628if(y.indexOf('%')>=0){y=`${parseInt(y, 10) * progress}%`}else{y=`${y * progress}px`} 629if(typeof opacity!=='undefined'&&opacity!==null){const currentOpacity=opacity-(opacity-1)*(1-Math.abs(progress));$el[0].style.opacity=currentOpacity} 630if(typeof scale==='undefined'||scale===null){$el.transform(`translate3d(${x}, ${y}, 0px)`)}else{const currentScale=scale-(scale-1)*(1-Math.abs(progress));$el.transform(`translate3d(${x}, ${y}, 0px) scale(${currentScale})`)}};const setTranslate=()=>{const{$el,slides,progress,snapGrid}=swiper;$el.children('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(el=>{setTransform(el,progress)});slides.each((slideEl,slideIndex)=>{let slideProgress=slideEl.progress;if(swiper.params.slidesPerGroup>1&&swiper.params.slidesPerView!=='auto'){slideProgress+=Math.ceil(slideIndex/2)-progress*(snapGrid.length-1)} 631slideProgress=Math.min(Math.max(slideProgress,-1),1);$(slideEl).find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(el=>{setTransform(el,slideProgress)})})};const setTransition=(duration=swiper.params.speed)=>{const{$el}=swiper;$el.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(parallaxEl=>{const $parallaxEl=$(parallaxEl);let parallaxDuration=parseInt($parallaxEl.attr('data-swiper-parallax-duration'),10)||duration;if(duration===0)parallaxDuration=0;$parallaxEl.transition(parallaxDuration)})};on('beforeInit',()=>{if(!swiper.params.parallax.enabled)return;swiper.params.watchSlidesProgress=!0;swiper.originalParams.watchSlidesProgress=!0});on('init',()=>{if(!swiper.params.parallax.enabled)return;setTranslate()});on('setTranslate',()=>{if(!swiper.params.parallax.enabled)return;setTranslate()});on('setTransition',(_swiper,duration)=>
vendor: 12,869 bytes, lines 631-681
631{if(!swiper.params.parallax.enabled)return;setTransition(duration)})} 632function Zoom({swiper,extendParams,on,emit}){const window=getWindow();extendParams({zoom:{enabled:!1,maxRatio:3,minRatio:1,toggle:!0,containerClass:'swiper-zoom-container',zoomedSlideClass:'swiper-slide-zoomed'}});swiper.zoom={enabled:!1};let currentScale=1;let isScaling=!1;let gesturesEnabled;let fakeGestureTouched;let fakeGestureMoved;const gesture={$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?gesture.$imageEl[0]:undefined;const slideEl=gesture.$slideEl?gesture.$slideEl[0]:undefined;emit('zoomChange',value,imageEl,slideEl)} 633scale=value}});function getDistanceBetweenTouches(e){if(e.targetTouches.length<2)return 1;const x1=e.targetTouches[0].pageX;const y1=e.targetTouches[0].pageY;const x2=e.targetTouches[1].pageX;const y2=e.targetTouches[1].pageY;const distance=Math.sqrt((x2-x1)**2+(y2-y1)**2);return distance} 634function onGestureStart(e){const support=swiper.support;const params=swiper.params.zoom;fakeGestureTouched=!1;fakeGestureMoved=!1;if(!support.gestures){if(e.type!=='touchstart'||e.type==='touchstart'&&e.targetTouches.length<2){return} 635fakeGestureTouched=!0;gesture.scaleStart=getDistanceBetweenTouches(e)} 636if(!gesture.$slideEl||!gesture.$slideEl.length){gesture.$slideEl=$(e.target).closest(`.${swiper.params.slideClass}`);if(gesture.$slideEl.length===0)gesture.$slideEl=swiper.slides.eq(swiper.activeIndex);gesture.$imageEl=gesture.$slideEl.find(`.${params.containerClass}`).eq(0).find('img, svg, canvas, picture, .swiper-zoom-target');gesture.$imageWrapEl=gesture.$imageEl.parent(`.${params.containerClass}`);gesture.maxRatio=gesture.$imageWrapEl.attr('data-swiper-zoom')||params.maxRatio;if(gesture.$imageWrapEl.length===0){gesture.$imageEl=undefined;return}} 637if(gesture.$imageEl){gesture.$imageEl.transition(0)} 638isScaling=!0} 639function onGestureChange(e){const support=swiper.support;const params=swiper.params.zoom;const zoom=swiper.zoom;if(!support.gestures){if(e.type!=='touchmove'||e.type==='touchmove'&&e.targetTouches.length<2){return} 640fakeGestureMoved=!0;gesture.scaleMove=getDistanceBetweenTouches(e)} 641if(!gesture.$imageEl||gesture.$imageEl.length===0){if(e.type==='gesturechange')onGestureStart(e);return} 642if(support.gestures){zoom.scale=e.scale*currentScale}else{zoom.scale=gesture.scaleMove/gesture.scaleStart*currentScale} 643if(zoom.scale>gesture.maxRatio){zoom.scale=gesture.maxRatio-1+(zoom.scale-gesture.maxRatio+1)**0.5} 644if(zoom.scale<params.minRatio){zoom.scale=params.minRatio+1-(params.minRatio-zoom.scale+1)**0.5} 645gesture.$imageEl.transform(`translate3d(0,0,0) scale(${zoom.scale})`)} 646function onGestureEnd(e){const device=swiper.device;const support=swiper.support;const params=swiper.params.zoom;const zoom=swiper.zoom;if(!support.gestures){if(!fakeGestureTouched||!fakeGestureMoved){return} 647if(e.type!=='touchend'||e.type==='touchend'&&e.changedTouches.length<2&&!device.android){return} 648fakeGestureTouched=!1;fakeGestureMoved=!1} 649if(!gesture.$imageEl||gesture.$imageEl.length===0)return;zoom.scale=Math.max(Math.min(zoom.scale,gesture.maxRatio),params.minRatio);gesture.$imageEl.transition(swiper.params.speed).transform(`translate3d(0,0,0) scale(${zoom.scale})`);currentScale=zoom.scale;isScaling=!1;if(zoom.scale===1)gesture.$slideEl=undefined} 650function onTouchStart(e){const device=swiper.device;if(!gesture.$imageEl||gesture.$imageEl.length===0)return;if(image.isTouched)return;if(device.android&&e.cancelable)e.preventDefault();image.isTouched=!0;image.touchesStart.x=e.type==='touchstart'?e.targetTouches[0].pageX:e.pageX;image.touchesStart.y=e.type==='touchstart'?e.targetTouches[0].pageY:e.pageY} 651function onTouchMove(e){const zoom=swiper.zoom;if(!gesture.$imageEl||gesture.$imageEl.length===0)return;swiper.allowClick=!1;if(!image.isTouched||!gesture.$slideEl)return;if(!image.isMoved){image.width=gesture.$imageEl[0].offsetWidth;image.height=gesture.$imageEl[0].offsetHeight;image.startX=getTranslate(gesture.$imageWrapEl[0],'x')||0;image.startY=getTranslate(gesture.$imageWrapEl[0],'y')||0;gesture.slideWidth=gesture.$slideEl[0].offsetWidth;gesture.slideHeight=gesture.$slideEl[0].offsetHeight;gesture.$imageWrapEl.transition(0)} 652const scaledWidth=image.width*zoom.scale;const scaledHeight=image.height*zoom.scale;if(scaledWidth<gesture.slideWidth&&scaledHeight<gesture.slideHeight)return;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=e.type==='touchmove'?e.targetTouches[0].pageX:e.pageX;image.touchesCurrent.y=e.type==='touchmove'?e.targetTouches[0].pageY:e.pageY;if(!image.isMoved&&!isScaling){if(swiper.isHorizontal()&&(Math.floor(image.minX)===Math.floor(image.startX)&&image.touchesCurrent.x<image.touchesStart.x||Math.floor(image.maxX)===Math.floor(image.startX)&&image.touchesCurrent.x>image.touchesStart.x)){image.isTouched=!1;return} 653if(!swiper.isHorizontal()&&(Math.floor(image.minY)===Math.floor(image.startY)&&image.touchesCurrent.y<image.touchesStart.y||Math.floor(image.maxY)===Math.floor(image.startY)&&image.touchesCurrent.y>image.touchesStart.y)){image.isTouched=!1;return}} 654if(e.cancelable){e.preventDefault()} 655e.stopPropagation();image.isMoved=!0;image.currentX=image.touchesCurrent.x-image.touchesStart.x+image.startX;image.currentY=image.touchesCurrent.y-image.touchesStart.y+image.startY;if(image.currentX<image.minX){image.currentX=image.minX+1-(image.minX-image.currentX+1)**0.8} 656if(image.currentX>image.maxX){image.currentX=image.maxX-1+(image.currentX-image.maxX+1)**0.8} 657if(image.currentY<image.minY){image.currentY=image.minY+1-(image.minY-image.currentY+1)**0.8} 658if(image.currentY>image.maxY){image.currentY=image.maxY-1+(image.currentY-image.maxY+1)**0.8} 659if(!velocity.prevPositionX)velocity.prevPositionX=image.touchesCurrent.x;if(!velocity.prevPositionY)velocity.prevPositionY=image.touchesCurrent.y;if(!velocity.prevTime)velocity.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)velocity.x=0;if(Math.abs(image.touchesCurrent.y-velocity.prevPositionY)<2)velocity.y=0;velocity.prevPositionX=image.touchesCurrent.x;velocity.prevPositionY=image.touchesCurrent.y;velocity.prevTime=Date.now();gesture.$imageWrapEl.transform(`translate3d(${image.currentX}px, ${image.currentY}px,0)`)} 660function onTouchEnd(){const zoom=swiper.zoom;if(!gesture.$imageEl||gesture.$imageEl.length===0)return;if(!image.isTouched||!image.isMoved){image.isTouched=!1;image.isMoved=!1;return} 661image.isTouched=!1;image.isMoved=!1;let momentumDurationX=300;let momentumDurationY=300;const momentumDistanceX=velocity.x*momentumDurationX;const newPositionX=image.currentX+momentumDistanceX;const momentumDistanceY=velocity.y*momentumDurationY;const newPositionY=image.currentY+momentumDistanceY;if(velocity.x!==0)momentumDurationX=Math.abs((newPositionX-image.currentX)/velocity.x);if(velocity.y!==0)momentumDurationY=Math.abs((newPositionY-image.currentY)/velocity.y);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.transition(momentumDuration).transform(`translate3d(${image.currentX}px, ${image.currentY}px,0)`)} 662function onTransitionEnd(){const zoom=swiper.zoom;if(gesture.$slideEl&&swiper.previousIndex!==swiper.activeIndex){if(gesture.$imageEl){gesture.$imageEl.transform('translate3d(0,0,0) scale(1)')} 663if(gesture.$imageWrapEl){gesture.$imageWrapEl.transform('translate3d(0,0,0)')} 664zoom.scale=1;currentScale=1;gesture.$slideEl=undefined;gesture.$imageEl=undefined;gesture.$imageWrapEl=undefined}} 665function zoomIn(e){const zoom=swiper.zoom;const params=swiper.params.zoom;if(!gesture.$slideEl){if(e&&e.target){gesture.$slideEl=$(e.target).closest(`.${swiper.params.slideClass}`)} 666if(!gesture.$slideEl){if(swiper.params.virtual&&swiper.params.virtual.enabled&&swiper.virtual){gesture.$slideEl=swiper.$wrapperEl.children(`.${swiper.params.slideActiveClass}`)}else{gesture.$slideEl=swiper.slides.eq(swiper.activeIndex)}} 667gesture.$imageEl=gesture.$slideEl.find(`.${params.containerClass}`).eq(0).find('img, svg, canvas, picture, .swiper-zoom-target');gesture.$imageWrapEl=gesture.$imageEl.parent(`.${params.containerClass}`)} 668if(!gesture.$imageEl||gesture.$imageEl.length===0||!gesture.$imageWrapEl||gesture.$imageWrapEl.length===0)return;if(swiper.params.cssMode){swiper.wrapperEl.style.overflow='hidden';swiper.wrapperEl.style.touchAction='none'} 669gesture.$slideEl.addClass(`${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;if(typeof image.touchesStart.x==='undefined'&&e){touchX=e.type==='touchend'?e.changedTouches[0].pageX:e.pageX;touchY=e.type==='touchend'?e.changedTouches[0].pageY:e.pageY}else{touchX=image.touchesStart.x;touchY=image.touchesStart.y} 670zoom.scale=gesture.$imageWrapEl.attr('data-swiper-zoom')||params.maxRatio;currentScale=gesture.$imageWrapEl.attr('data-swiper-zoom')||params.maxRatio;if(e){slideWidth=gesture.$slideEl[0].offsetWidth;slideHeight=gesture.$slideEl[0].offsetHeight;offsetX=gesture.$slideEl.offset().left+window.scrollX;offsetY=gesture.$slideEl.offset().top+window.scrollY;diffX=offsetX+slideWidth/2-touchX;diffY=offsetY+slideHeight/2-touchY;imageWidth=gesture.$imageEl[0].offsetWidth;imageHeight=gesture.$imageEl[0].offsetHeight;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;translateX=diffX*zoom.scale;translateY=diffY*zoom.scale;if(translateX<translateMinX){translateX=translateMinX} 671if(translateX>translateMaxX){translateX=translateMaxX} 672if(translateY<translateMinY){translateY=translateMinY} 673if(translateY>translateMaxY){translateY=translateMaxY}}else{translateX=0;translateY=0} 674gesture.$imageWrapEl.transition(300).transform(`translate3d(${translateX}px, ${translateY}px,0)`);gesture.$imageEl.transition(300).transform(`translate3d(0,0,0) scale(${zoom.scale})`)} 675function zoomOut(){const zoom=swiper.zoom;const params=swiper.params.zoom;if(!gesture.$slideEl){if(swiper.params.virtual&&swiper.params.virtual.enabled&&swiper.virtual){gesture.$slideEl=swiper.$wrapperEl.children(`.${swiper.params.slideActiveClass}`)}else{gesture.$slideEl=swiper.slides.eq(swiper.activeIndex)} 676gesture.$imageEl=gesture.$slideEl.find(`.${params.containerClass}`).eq(0).find('img, svg, canvas, picture, .swiper-zoom-target');gesture.$imageWrapEl=gesture.$imageEl.parent(`.${params.containerClass}`)} 677if(!gesture.$imageEl||gesture.$imageEl.length===0||!gesture.$imageWrapEl||gesture.$imageWrapEl.length===0)return;if(swiper.params.cssMode){swiper.wrapperEl.style.overflow='';swiper.wrapperEl.style.touchAction=''} 678zoom.scale=1;currentScale=1;gesture.$imageWrapEl.transition(300).transform('translate3d(0,0,0)');gesture.$imageEl.transition(300).transform('translate3d(0,0,0) scale(1)');gesture.$slideEl.removeClass(`${params.zoomedSlideClass}`);gesture.$slideEl=undefined} 679function zoomToggle(e){const zoom=swiper.zoom;if(zoom.scale&&zoom.scale!==1){zoomOut()}else{zoomIn(e)}} 680function getListeners(){const support=swiper.support;const passiveListener=swiper.touchEvents.start==='touchstart'&&support.passiveListener&&swiper.params.passiveListeners?{passive:!0,capture:!1}:!1;const activeListenerWithCapture=support.passiveListener?{passive:!1,capture:!0}:!0;return{passiveListener,activeListenerWithCapture}} 681function getSlideSelector(){return `.${swiper.params.slideClass}`}
682function toggleGestures(method){const{passiveListener}=getListeners();const slideSelector=getSlideSelector();swiper.$wrapperEl[method]('gesturestart',slideSelector,onGestureStart,passiveListener);swiper.$wrapperEl[method]('gesturechange',slideSelector,onGestureChange,passiveListener);swiper.$wrapperEl[method]('gestureend',slideSelector,onGestureEnd,passiveListener)} 683function enableGestures(){if(gesturesEnabled)return;gesturesEnabled=!0;toggleGestures('on')} 684function disableGestures(){if(!gesturesEnabled)return;gesturesEnabled=!1;toggleGestures('off')} 685function enable(){const zoom=swiper.zoom;if(zoom.enabled)return;zoom.enabled=!0;const support=swiper.support;const{passiveListener,activeListenerWithCapture}=getListeners();const slideSelector=getSlideSelector();if(support.gestures){swiper.$wrapperEl.on(swiper.touchEvents.start,enableGestures,passiveListener);swiper.$wrapperEl.on(swiper.touchEvents.end,disableGestures,passiveListener)}else if(swiper.touchEvents.start==='touchstart'){swiper.$wrapperEl.on(swiper.touchEvents.start,slideSelector,onGestureStart,passiveListener);swiper.$wrapperEl.on(swiper.touchEvents.move,slideSelector,onGestureChange,activeListenerWithCapture);swiper.$wrapperEl.on(swiper.touchEvents.end,slideSelector,onGestureEnd,passiveListener);if(swiper.touchEvents.cancel){swiper.$wrapperEl.on(swiper.touchEvents.cancel,slideSelector,onGestureEnd,passiveListener)}} 686swiper.$wrapperEl.on(swiper.touchEvents.move,`.${swiper.params.zoom.containerClass}`,onTouchMove,activeListenerWithCapture)} 687function disable(){const zoom=swiper.zoom;if(!zoom.enabled)return;const support=swiper.support;zoom.enabled=!1;const{passiveListener,activeListenerWithCapture}=getListeners();const slideSelector=getSlideSelector();if(support.gestures){swiper.$wrapperEl.off(swiper.touchEvents.start,enableGestures,passiveListener);swiper.$wrapperEl.off(swiper.touchEvents.end,disableGestures,passiveListener)}else if(swiper.touchEvents.start==='touchstart'){swiper.$wrapperEl.off(swiper.touchEvents.start,slideSelector,onGestureStart,passiveListener);swiper.$wrapperEl.off(swiper.touchEvents.move,slideSelector,onGestureChange,activeListenerWithCapture);swiper.$wrapperEl.off(swiper.touchEvents.end,slideSelector,onGestureEnd,passiveListener);if(swiper.touchEvents.cancel){swiper.$wrapperEl.off(swiper.touchEvents.cancel,slideSelector,onGestureEnd,passiveListener)}} 688swiper.$wrapperEl.off(swiper.touchEvents.move,`.${swiper.params.zoom.containerClass}`,onTouchMove,activeListenerWithCapture)} 689on('init',()=>{if(swiper.params.zoom.enabled){enable()}});on('destroy',()=>{disable()});on('touchStart',(_s,e)=>{if(!swiper.zoom.enabled)return;onTouchStart(e)});on('touchEnd',(_s,e)=>{if(!swiper.zoom.enabled)return;onTouchEnd()});on('doubleTap',(_s,e)=>{if(!swiper.animating&&swiper.params.zoom.enabled&&swiper.zoom.enabled&&swiper.params.zoom.toggle){zoomToggle(e)}});on('transitionEnd',()=>{if(swiper.zoom.enabled&&swiper.params.zoom.enabled){onTransitionEnd()}});on('slideChange',()=>{if(swiper.zoom.enabled&&swiper.params.zoom.enabled&&swiper.params.cssMode){onTransitionEnd()}});Object.assign(swiper.zoom,{enable,disable,in:zoomIn,out:zoomOut,toggle:zoomToggle})} 690function Lazy({swiper,extendParams,on,emit}){extendParams({lazy:{checkInView:!1,enabled:!1,loadPrevNext:!1,loadPrevNextAmount:1,loadOnTransitionStart:!1,scrollingElement:'',elementClass:'swiper-lazy',loadingClass:'swiper-lazy-loading',loadedClass:'swiper-lazy-loaded',preloaderClass:'swiper-lazy-preloader'}});swiper.lazy={};let scrollHandlerAttached=!1;let initialImageLoaded=!1;function loadInSlide(index,loadInDuplicate=!0){const params=swiper.params.lazy;if(typeof index==='undefined')return;if(swiper.slides.length===0)return;const isVirtual=swiper.virtual&&swiper.params.virtual.enabled;const $slideEl=isVirtual?swiper.$wrapperEl.children(`.${swiper.params.slideClass}[data-swiper-slide-index="${index}"]`):swiper.slides.eq(index);const $images=$slideEl.find(`.${params.elementClass}:not(.${params.loadedClass}):not(.${params.loadingClass})`);if($slideEl.hasClass(params.elementClass)&&!$slideEl.hasClass(params.loadedClass)&&!$slideEl.hasClass(params.loadingClass)){$images.push($slideEl[0])} 691if($images.length===0)return;$images.each(imageEl=>{const $imageEl=$(imageEl);$imageEl.addClass(params.loadingClass);const background=$imageEl.attr('data-background');const src=$imageEl.attr('data-src');const srcset=$imageEl.attr('data-srcset');const sizes=$imageEl.attr('data-sizes');const $pictureEl=$imageEl.parent('picture');swiper.loadImage($imageEl[0],src||background,srcset,sizes,!1,()=>{if(typeof swiper==='undefined'||swiper===null||!swiper||swiper&&!swiper.params||swiper.destroyed)return;if(background){$imageEl.css('background-image',`url("${background}")`);$imageEl.removeAttr('data-background')}else{if(srcset){$imageEl.attr('srcset',srcset);$imageEl.removeAttr('data-srcset')} 692if(sizes){$imageEl.attr('sizes',sizes);$imageEl.removeAttr('data-sizes')} 693if($pictureEl.length){$pictureEl.children('source').each(sourceEl=>{const $source=$(sourceEl);if($source.attr('data-srcset')){$source.attr('srcset',$source.attr('data-srcset'));$source.removeAttr('data-srcset')}})} 694if(src){$imageEl.attr('src',src);$imageEl.removeAttr('data-src')}} 695$imageEl.addClass(params.loadedClass).removeClass(params.loadingClass);$slideEl.find(`.${params.preloaderClass}`).remove();
695if(swiper.params.loop&&loadInDuplicate){const slideOriginalIndex=$slideEl.attr('data-swiper-slide-index');if($slideEl.hasClass(swiper.params.slideDuplicateClass)){const originalSlide=swiper.$wrapperEl.children(`[data-swiper-slide-index="${slideOriginalIndex}"]:not(.${swiper.params.slideDuplicateClass})`);loadInSlide(originalSlide.index(),!1)}else{const duplicatedSlide=swiper.$wrapperEl.children(`.${swiper.params.slideDuplicateClass}[data-swiper-slide-index="${slideOriginalIndex}"]`);loadInSlide(duplicatedSlide.index(),!1)}} 696emit('lazyImageReady',$slideEl[0],$imageEl[0]);if(swiper.params.autoHeight){swiper.updateAutoHeight()}});emit('lazyImageLoad',$slideEl[0],$imageEl[0])})} 697function load(){const{$wrapperEl,params:swiperParams,slides,activeIndex}=swiper;const isVirtual=swiper.virtual&&swiperParams.virtual.enabled;const params=swiperParams.lazy;let slidesPerView=swiperParams.slidesPerView;if(slidesPerView==='auto'){slidesPerView=0} 698function slideExist(index){if(isVirtual){if($wrapperEl.children(`.${swiperParams.slideClass}[data-swiper-slide-index="${index}"]`).length){return!0}}else if(slides[index])return!0;return!1} 699function slideIndex(slideEl){if(isVirtual){return $(slideEl).attr('data-swiper-slide-index')} 700return $(slideEl).index()} 701if(!initialImageLoaded)initialImageLoaded=!0;if(swiper.params.watchSlidesProgress){$wrapperEl.children(`.${swiperParams.slideVisibleClass}`).each(slideEl=>{const index=isVirtual?$(slideEl).attr('data-swiper-slide-index'):$(slideEl).index();loadInSlide(index)})}else if(slidesPerView>1){for(let i=activeIndex;i<activeIndex+slidesPerView;i+=1){if(slideExist(i))loadInSlide(i)}}else{loadInSlide(activeIndex)} 702if(params.loadPrevNext){if(slidesPerView>1||params.loadPrevNextAmount&¶ms.loadPrevNextAmount>1){const amount=params.loadPrevNextAmount;const spv=slidesPerView;const maxIndex=Math.min(activeIndex+spv+Math.max(amount,spv),slides.length);const minIndex=Math.max(activeIndex-Math.max(spv,amount),0);for(let i=activeIndex+slidesPerView;i<maxIndex;i+=1){if(slideExist(i))loadInSlide(i)} 703for(let i=minIndex;i<activeIndex;i+=1){if(slideExist(i))loadInSlide(i)}}else{const nextSlide=$wrapperEl.children(`.${swiperParams.slideNextClass}`);if(nextSlide.length>0)loadInSlide(slideIndex(nextSlide));const prevSlide=$wrapperEl.children(`.${swiperParams.slidePrevClass}`);if(prevSlide.length>0)loadInSlide(slideIndex(prevSlide))}}} 704function checkInViewOnLoad(){const window=getWindow();if(!swiper||swiper.destroyed)return;const $scrollElement=swiper.params.lazy.scrollingElement?$(swiper.params.lazy.scrollingElement):$(window);const isWindow=$scrollElement[0]===window;const scrollElementWidth=isWindow?window.innerWidth:$scrollElement[0].offsetWidth;const scrollElementHeight=isWindow?window.innerHeight:$scrollElement[0].offsetHeight;const swiperOffset=swiper.$el.offset();const{rtlTranslate:rtl}=swiper;let inView=!1;if(rtl)swiperOffset.left-=swiper.$el[0].scrollLeft;const swiperCoord=[[swiperOffset.left,swiperOffset.top],[swiperOffset.left+swiper.width,swiperOffset.top],[swiperOffset.left,swiperOffset.top+swiper.height],[swiperOffset.left+swiper.width,swiperOffset.top+swiper.height]];for(let i=0;i<swiperCoord.length;i+=1){const point=swiperCoord[i];if(point[0]>=0&&point[0]<=scrollElementWidth&&point[1]>=0&&point[1]<=scrollElementHeight){if(point[0]===0&&point[1]===0)continue;inView=!0}} 705const passiveListener=swiper.touchEvents.start==='touchstart'&&swiper.support.passiveListener&&swiper.params.passiveListeners?{passive:!0,capture:!1}:!1;if(inView){load();
705$scrollElement.off('scroll',checkInViewOnLoad,passiveListener)}else if(!scrollHandlerAttached){scrollHandlerAttached=!0;$scrollElement.on('scroll',checkInViewOnLoad,passiveListener)}} 706on('beforeInit',()=>{if(swiper.params.lazy.enabled&&swiper.params.preloadImages){swiper.params.preloadImages=!1}});on('init',()=>{if(swiper.params.lazy.enabled){if(swiper.params.lazy.checkInView){checkInViewOnLoad()}else{load()}}});on('scroll',()=>{if(swiper.params.freeMode&&swiper.params.freeMode.enabled&&!swiper.params.freeMode.sticky){load()}});on('scrollbarDragMove resize _freeModeNoMomentumRelease',()=>{if(swiper.params.lazy.enabled){if(swiper.params.lazy.checkInView){checkInViewOnLoad()}else{load()}}});on('transitionStart',()=>{if(swiper.params.lazy.enabled){if(swiper.params.lazy.loadOnTransitionStart||!swiper.params.lazy.loadOnTransitionStart&&!initialImageLoaded){if(swiper.params.lazy.checkInView){checkInViewOnLoad()}else{load()}}}});on('transitionEnd',()=>{if(swiper.params.lazy.enabled&&!swiper.params.lazy.loadOnTransitionStart){if(swiper.params.lazy.checkInView){checkInViewOnLoad()}else{load()}}});on('slideChange',()=>{const{lazy,cssMode,watchSlidesProgress,touchReleaseOnEdges,resistanceRatio}=swiper.params;if(lazy.enabled&&(cssMode||watchSlidesProgress&&(touchReleaseOnEdges||resistanceRatio===0))){load()}});Object.assign(swiper.lazy,{load,loadInSlide})} 707function Controller({swiper,extendParams,on}){extendParams({controller:{control:undefined,inverse:!1,by:'slide'}});swiper.controller={control:undefined};function LinearSpline(x,y){const binarySearch=function search(){let maxIndex;let minIndex;let guess;return(array,val)=>{minIndex=-1;maxIndex=array.length;while(maxIndex-minIndex>1){guess=maxIndex+minIndex>>1;if(array[guess]<=val){minIndex=guess}else{maxIndex=guess}} 708return maxIndex}}();this.x=x;this.y=y;this.lastIndex=x.length-1;let i1;let i3;this.interpolate=function interpolate(x2){if(!x2)return 0;i3=binarySearch(this.x,x2);i1=i3-1;return(x2-this.x[i1])*(this.y[i3]-this.y[i1])/(this.x[i3]-this.x[i1])+this.y[i1]};return this} 709function getInterpolateFunction(c){if(!swiper.controller.spline){swiper.controller.spline=swiper.params.loop?new LinearSpline(swiper.slidesGrid,c.slidesGrid):new LinearSpline(swiper.snapGrid,c.snapGrid)}} 710function setTranslate(_t,byController){const controlled=swiper.controller.control;let multiplier;let controlledTranslate;const Swiper=swiper.constructor;function setControlledTranslate(c){const translate=swiper.rtlTranslate?-swiper.translate:swiper.translate;if(swiper.params.controller.by==='slide'){getInterpolateFunction(c);controlledTranslate=-swiper.controller.spline.interpolate(-translate)} 711if(!controlledTranslate||swiper.params.controller.by==='container'){multiplier=(c.maxTranslate()-c.minTranslate())/(swiper.maxTranslate()-swiper.minTranslate());controlledTranslate=(translate-swiper.minTranslate())*multiplier+c.minTranslate()} 712if(swiper.params.controller.inverse){controlledTranslate=c.maxTranslate()-controlledTranslate} 713c.updateProgress(controlledTranslate);c.setTranslate(controlledTranslate,swiper);c.updateActiveIndex();c.updateSlidesClasses()} 714if(Array.isArray(controlled)){for(let i=0;i<controlled.length;i+=1){if(controlled[i]!==byController&&controlled[i]instanceof Swiper){setControlledTranslate(controlled[i])}}}else if(controlled instanceof Swiper&&byController!==controlled){setControlledTranslate(controlled)}} 715function setTransition(duration,byController){const Swiper=swiper.constructor;const controlled=swiper.controller.control;let i;function setControlledTransition(c){c.setTransition(duration,swiper);if(duration!==0){c.transitionStart();if(c.params.autoHeight){nextTick(()=>{c.updateAutoHeight()})} 716c.$wrapperEl.transitionEnd(()=>{if(!controlled)return;if(c.params.loop&&swiper.params.controller.by==='slide'){c.loopFix()} 717c.transitionEnd()})}} 718if(Array.isArray(controlled)){for(i=0;i<controlled.length;i+=1){if(controlled[i]!==byController&&controlled[i]instanceof Swiper){setControlledTransition(controlled[i])}}}else if(controlled instanceof Swiper&&byController!==controlled){setControlledTransition(controlled)}} 719function removeSpline(){if(!swiper.controller.control)return;if(swiper.controller.spline){swiper.controller.spline=undefined;delete swiper.controller.spline}} 720on('beforeInit',()=>{swiper.controller.control=swiper.params.controller.control});on('update',()=>{removeSpline()});on('resize',()=>{removeSpline()});on('observerUpdate',()=>{removeSpline()});on('setTranslate',(_s,translate,byController)=>{if(!swiper.controller.control)return;swiper.controller.setTranslate(translate,byController)});on('setTransition',(_s,duration,byController)=>{if(!swiper.controller.control)return;swiper.controller.setTransition(duration,byController)});Object.assign(swiper.controller,{setTranslate,setTransition})} 721function 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,itemRoleDescriptionMessage:null,slideRole:'group'}});let liveRegion=null;function notify(message){const notification=liveRegion;if(notification.length===0)return;notification.html('');notification.html(message)} 722function getRandomNumber(size=16){const randomChar=()=>Math.round(16*Math.random()).toString(16);return'x'.repeat(size).replace(/x/g,randomChar)} 723function makeElFocusable($el){$el.attr('tabIndex','0')} 724function makeElNotFocusable($el){$el.attr('tabIndex','-1')} 725function addElRole($el,role){$el.attr('role',role)} 726function addElRoleDescription($el,description){$el.attr('aria-roledescription',description)} 727function addElControls($el,controls){$el.attr('aria-controls',controls)} 728function addElLabel($el,label){$el.attr('aria-label',label)} 729function addElId($el,id){$el.attr('id',id)} 730function addElLive($el,live){$el.attr('aria-live',live)} 731function disableEl($el){$el.attr('aria-disabled',!0)} 732function enableEl($el){$el.attr('aria-disabled',!1)} 733function onEnterOrSpaceKey(e){if(e.keyCode!==13&&e.keyCode!==32)return;const params=swiper.params.a11y;const $targetEl=$(e.target);if(swiper.navigation&&swiper.navigation.$nextEl&&$targetEl.is(swiper.navigation.$nextEl)){if(!(swiper.isEnd&&!swiper.params.loop)){swiper.slideNext()} 734if(swiper.isEnd){notify(params.lastSlideMessage)}else{notify(params.nextSlideMessage)}} 735if(swiper.navigation&&swiper.navigation.$prevEl&&$targetEl.is(swiper.navigation.$prevEl)){if(!(swiper.isBeginning&&!swiper.params.loop)){swiper.slidePrev()} 736if(swiper.isBeginning){notify(params.firstSlideMessage)}else{notify(params.prevSlideMessage)}}
737if(swiper.pagination&&$targetEl.is(classesToSelector(swiper.params.pagination.bulletClass))){$targetEl[0].click()}} 738function updateNavigation(){if(swiper.params.loop||!swiper.navigation)return;const{$nextEl,$prevEl}=swiper.navigation;if($prevEl&&$prevEl.length>0){if(swiper.isBeginning){disableEl($prevEl);makeElNotFocusable($prevEl)}else{enableEl($prevEl);makeElFocusable($prevEl)}} 739if($nextEl&&$nextEl.length>0){if(swiper.isEnd){disableEl($nextEl);makeElNotFocusable($nextEl)}else{enableEl($nextEl);makeElFocusable($nextEl)}}} 740function hasPagination(){return swiper.pagination&&swiper.params.pagination.clickable&&swiper.pagination.bullets&&swiper.pagination.bullets.length} 741function updatePagination(){const params=swiper.params.a11y;if(hasPagination()){swiper.pagination.bullets.each(bulletEl=>{const $bulletEl=$(bulletEl);makeElFocusable($bulletEl);if(!swiper.params.pagination.renderBullet){addElRole($bulletEl,'button');addElLabel($bulletEl,params.paginationBulletMessage.replace(/\{\{index\}\}/,$bulletEl.index()+1))}})}} 742const initNavEl=($el,wrapperId,message)=>{makeElFocusable($el);if($el[0].tagName!=='BUTTON'){addElRole($el,'button');$el.on('keydown',onEnterOrSpaceKey)} 743addElLabel($el,message);addElControls($el,wrapperId)};function init(){const params=swiper.params.a11y;swiper.$el.append(liveRegion);const $containerEl=swiper.$el;if(params.containerRoleDescriptionMessage){addElRoleDescription($containerEl,params.containerRoleDescriptionMessage)} 744if(params.containerMessage){addElLabel($containerEl,params.containerMessage)} 745const $wrapperEl=swiper.$wrapperEl;const wrapperId=$wrapperEl.attr('id')||`swiper-wrapper-${getRandomNumber(16)}`;const live=swiper.params.autoplay&&swiper.params.autoplay.enabled?'off':'polite';addElId($wrapperEl,wrapperId);addElLive($wrapperEl,live);if(params.itemRoleDescriptionMessage){addElRoleDescription($(swiper.slides),params.itemRoleDescriptionMessage)} 746addElRole($(swiper.slides),params.slideRole);const slidesLength=swiper.params.loop?swiper.slides.filter(el=>!el.classList.contains(swiper.params.slideDuplicateClass)).length:swiper.slides.length;swiper.slides.each((slideEl,index)=>{const $slideEl=$(slideEl);const slideIndex=swiper.params.loop?parseInt($slideEl.attr('data-swiper-slide-index'),10):index;const ariaLabelMessage=params.slideLabelMessage.replace(/\{\{index\}\}/,slideIndex+1).replace(/\{\{slidesLength\}\}/,slidesLength);addElLabel($slideEl,ariaLabelMessage)});let $nextEl;let $prevEl;if(swiper.navigation&&swiper.navigation.$nextEl){$nextEl=swiper.navigation.$nextEl} 747if(swiper.navigation&&swiper.navigation.$prevEl){$prevEl=swiper.navigation.$prevEl} 748if($nextEl&&$nextEl.length){initNavEl($nextEl,wrapperId,params.nextSlideMessage)} 749if($prevEl&&$prevEl.length){initNavEl($prevEl,wrapperId,params.prevSlideMessage)} 750if(hasPagination()){swiper.pagination.$el.on('keydown',classesToSelector(swiper.params.pagination.bulletClass),onEnterOrSpaceKey)}} 751function destroy(){if(liveRegion&&liveRegion.length>0)liveRegion.remove();let $nextEl;let $prevEl;if(swiper.navigation&&swiper.navigation.$nextEl){$nextEl=swiper.navigation.$nextEl} 752if(swiper.navigation&&swiper.navigation.$prevEl){$prevEl=swiper.navigation.$prevEl} 753if($nextEl){$nextEl.off('keydown',onEnterOrSpaceKey)} 754if($prevEl){$prevEl.off('keydown',onEnterOrSpaceKey)} 755if(hasPagination()){swiper.pagination.$el.off('keydown',classesToSelector(swiper.params.pagination.bulletClass),onEnterOrSpaceKey)}} 756on('beforeInit',()=>{liveRegion=$(`<span class="${swiper.params.a11y.notificationClass}" aria-live="assertive" aria-atomic="true"></span>`)});on('afterInit',()=>{if(!swiper.params.a11y.enabled)return;init();updateNavigation()});on('toEdge',()=>{if(!swiper.params.a11y.enabled)return;updateNavigation()});on('fromEdge',()=>{if(!swiper.params.a11y.enabled)return;updateNavigation()});on('paginationUpdate',()=>{if(!swiper.params.a11y.enabled)return;updatePagination()});on('destroy',()=>{if(!swiper.params.a11y.enabled)return;destroy()})} 757function History({swiper,extendParams,on}){extendParams({history:{enabled:!1,root:'',replaceState:!1,key:'slides'}});let initialized=!1;let paths={};const slugify=text=>{return text.toString().replace(/\s+/g,'-').replace(/[^\w-]+/g,'').replace(/--+/g,'-').replace(/^-+/,'').replace(/-+$/,'')};const getPathValues=urlOverride=>{const window=getWindow();let location;if(urlOverride){location=new URL(urlOverride)}else{location=window.location} 758const 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 window=getWindow();if(!initialized||!swiper.params.history.enabled)return;let location;if(swiper.params.url){location=new URL(swiper.params.url)}else{location=window.location} 759const slide=swiper.slides.eq(index);let value=slugify(slide.attr('data-history'));if(swiper.params.history.root.length>0){let root=swiper.params.history.root;if(root[root.length-1]==='/')root=root.slice(0,root.length-1);value=`${root}/${key}/${value}`}else if(!location.pathname.includes(key)){value=`${key}/${value}`} 760const currentState=window.history.state;if(currentState&¤tState.value===value){return} 761if(swiper.params.history.replaceState){window.history.replaceState({value},null,value)}else{window.history.pushState({value},null,value)}};const scrollToSlide=(speed,value,runCallbacks)=>{if(value){for(let i=0,length=swiper.slides.length;i<length;i+=1){const slide=swiper.slides.eq(i);const slideHistory=slugify(slide.attr('data-history'));if(slideHistory===value&&!slide.hasClass(swiper.params.slideDuplicateClass)){const index=sli
761de.index();swiper.slideTo(index,speed,runCallbacks)}}}else{swiper.slideTo(0,speed,runCallbacks)}};const setHistoryPopState=()=>{paths=getPathValues(swiper.params.url);scrollToSlide(swiper.params.speed,swiper.paths.value,!1)};const init=()=>{const window=getWindow();if(!swiper.params.history)return;if(!window.history||!window.history.pushState){swiper.params.history.enabled=!1;swiper.params.hashNavigation.enabled=!0;return} 762initialized=!0;paths=getPathValues(swiper.params.url);if(!paths.key&&!paths.value)return;scrollToSlide(0,paths.value,swiper.params.runCallbacksOnInit);if(!swiper.params.history.replaceState){window.addEventListener('popstate',setHistoryPopState)}};const destroy=()=>{const window=getWindow();if(!swiper.params.history.replaceState){window.removeEventListener('popstate',setHistoryPopState)}};on('init',()=>{if(swiper.params.history.enabled){init()}});on('destroy',()=>{if(swiper.params.history.enabled){destroy()}});on('transitionEnd _freeModeNoMomentumRelease',()=>{if(initialized){setHistory(swiper.params.history.key,swiper.activeIndex)}});on('slideChange',()=>{if(initialized&&swiper.params.cssMode){setHistory(swiper.params.history.key,swiper.activeIndex)}})} 763function HashNavigation({swiper,extendParams,emit,on}){let initialized=!1;const document=getDocument();const window=getWindow();extendParams({hashNavigation:{enabled:!1,replaceState:!1,watchState:!1}});const onHashChange=()=>{emit('hashChange');const newHash=document.location.hash.replace('#','');const activeSlideHash=swiper.slides.eq(swiper.activeIndex).attr('data-hash');if(newHash!==activeSlideHash){const newIndex=swiper.$wrapperEl.children(`.${swiper.params.slideClass}[data-hash="${newHash}"]`).index();if(typeof newIndex==='undefined')return;swiper.slideTo(newIndex)}};const setHash=()=>{if(!initialized||!swiper.params.hashNavigation.enabled)return;if(swiper.params.hashNavigation.replaceState&&window.history&&window.history.replaceState){window.history.replaceState(null,null,`#${swiper.slides.eq(swiper.activeIndex).attr('data-hash')}`||'');emit('hashSet')}else{const slide=swiper.slides.eq(swiper.activeIndex);const hash=slide.attr('data-hash')||slide.attr('data-history');document.location.hash=hash||'';emit('hashSet')}};const init=()=>{if(!swiper.params.hashNavigation.enabled||swiper.params.history&&swiper.params.history.enabled)return;initialized=!0;const hash=document.location.hash.replace('#','');if(hash){const speed=0;for(let i=0,length=swiper.slides.length;i<length;i+=1){const slide=swiper.slides.eq(i);const slideHash=slide.attr('data-hash')||slide.attr('data-history');if(slideHash===hash&&!slide.hasClass(swiper.params.slideDuplicateClass)){const index=slide.index();swiper.slideTo(index,speed,swiper.params.runCallbacksOnInit,!0)}}} 764if(swiper.params.hashNavigation.watchState){$(window).on('hashchange',onHashChange)}};const destroy=()=>{if(swiper.params.hashNavigation.watchState){$(window).off('hashchange',onHashChange)}};on('init',()=>{if(swiper.params.hashNavigation.enabled){init()}});on('destroy',()=>{if(swiper.params.hashNavigation.enabled){destroy()}});on('transitionEnd _freeModeNoMomentumRelease',()=>{if(initialized){setHash()}});on('slideChange',()=>{if(initialized&&swiper.params.cssMode){setHash()}})} 765function Autoplay({swiper,extendParams,on,emit}){let timeout;swiper.autoplay={running:!1,paused:!1};extendParams({autoplay:{enabled:!1,delay:3000,waitForTransition:!0,disableOnInteraction:!0,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1}});function run(){const $activeSlideEl=swiper.slides.eq(swiper.activeIndex);let delay=swiper.params.autoplay.delay;if($activeSlideEl.attr('data-swiper-autoplay')){delay=$activeSlideEl.attr('data-swiper-autoplay')||swiper.params.autoplay.delay} 766clearTimeout(timeout);timeout=nextTick(()=>{let autoplayResult;if(swiper.params.autoplay.reverseDirection){if(swiper.params.loop){swiper.loopFix();autoplayResult=swiper.slidePrev(swiper.params.speed,!0,!0);emit('autoplay')}else if(!swiper.isBeginning){autoplayResult=swiper.slidePrev(swiper.params.speed,!0,!0);emit('autoplay')}else if(!swiper.params.autoplay.stopOnLastSlide){autoplayResult=swiper.slideTo(swiper.slides.length-1,swiper.params.speed,!0,
766!0);emit('autoplay')}else{stop()}}else if(swiper.params.loop){swiper.loopFix();autoplayResult=swiper.slideNext(swiper.params.speed,!0,!0);emit('autoplay')}else if(!swiper.isEnd){autoplayResult=swiper.slideNext(swiper.params.speed,!0,!0);emit('autoplay')}else if(!swiper.params.autoplay.stopOnLastSlide){autoplayResult=swiper.slideTo(0,swiper.params.speed,!0,!0);emit('autoplay')}else{stop()} 767if(swiper.params.cssMode&&swiper.autoplay.running)run();else if(autoplayResult===!1){run()}},delay)} 768function start(){if(typeof timeout!=='undefined')return!1;if(swiper.autoplay.running)return!1;swiper.autoplay.running=!0;emit('autoplayStart');run();return!0} 769function stop(){if(!swiper.autoplay.running)return!1;if(typeof timeout==='undefined')return!1;if(timeout){clearTimeout(timeout);timeout=undefined} 770swiper.autoplay.running=!1;emit('autoplayStop');return!0} 771function pause(speed){if(!swiper.autoplay.running)return;if(swiper.autoplay.paused)return;if(timeout)clearTimeout(timeout);swiper.autoplay.paused=!0;if(speed===0||!swiper.params.autoplay.waitForTransition){swiper.autoplay.paused=!1;run()}else{['transitionend','webkitTransitionEnd'].forEach(event=>{swiper.$wrapperEl[0].addEventListener(event,onTransitionEnd)})}} 772function onVisibilityChange(){const document=getDocument();if(document.visibilityState==='hidden'&&swiper.autoplay.running){pause()} 773if(document.visibilityState==='visible'&&swiper.autoplay.paused){run();swiper.autoplay.paused=!1}} 774function onTransitionEnd(e){if(!swiper||swiper.destroyed||!swiper.$wrapperEl)return;if(e.target!==swiper.$wrapperEl[0])return;['transitionend','webkitTransitionEnd'].forEach(event=>{swiper.$wrapperEl[0].removeEventListener(event,onTransitionEnd)});swiper.autoplay.paused=!1;if(!swiper.autoplay.running){stop()}else{run()}} 775function onMouseEnter(){if(swiper.params.autoplay.disableOnInteraction){stop()}else{pause()}['transitionend','webkitTransitionEnd'].forEach(event=>{swiper.$wrapperEl[0].removeEventListener(event,onTransitionEnd)})} 776function onMouseLeave(){if(swiper.params.autoplay.disableOnInteraction){return} 777swiper.autoplay.paused=!1;run()} 778function attachMouseEvents(){if(swiper.params.autoplay.pauseOnMouseEnter){swiper.$el.on('mouseenter',onMouseEnter);swiper.$el.on('mouseleave',onMouseLeave)}} 779function detachMouseEvents(){swiper.$el.off('mouseenter',onMouseEnter);swiper.$el.off('mouseleave',onMouseLeave)} 780on('init',()=>{if(swiper.params.autoplay.enabled){start();const document=getDocument();document.addEventListener('visibilitychange',onVisibilityChange);attachMouseEvents()}});on('beforeTransitionStart',(_s,speed,internal)=>{if(swiper.autoplay.running){if(internal||!swiper.params.autoplay.disableOnInteraction){swiper.autoplay.pause(speed)}else{stop()}}});on('sliderFirstMove',()=>{if(swiper.autoplay.running){if(swiper.params.autoplay.disableOnInteraction){stop()}else{pause()}}});on('touchEnd',()=>{if(swiper.params.cssMode&&swiper.autoplay.paused&&!swiper.params.autoplay.disableOnInteraction){run()}});on('destroy',()=>{detachMouseEvents();if(swiper.autoplay.running){stop()} 781const document=getDocument();document.removeEventListener('visibilitychange',onVisibilityChange)});Object.assign(swiper.autoplay,{pause,run,start,stop})} 782function 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 onThumbClick(){const thumbsSwiper=swiper.thumbs.swiper;if(!thumbsSwiper)return;const clickedIndex=thumbsSwiper.clickedIndex;const clickedSlide=thumbsSwiper.clickedSlide;if(clickedSlide&&$(clickedSlide).hasClass(swiper.params.thumbs.slideThumbActiveClass))return;if(typeof clickedIndex==='undefined'||clickedIndex===null)return;let slideToIndex;if(thumbsSwiper.params.loop){slideToIndex=parseInt($(thumbsSwiper.clickedSlide).attr('data-swiper-slide-index'),10)}else{slideToIndex=clickedIndex} 783if(swiper.params.loop){let currentIndex=swiper.activeIndex;if(swiper.slides.eq(currentIndex).hasClass(swiper.params.slideDuplicateClass)){swiper.loopFix();swiper._clientLeft=swiper.$wrapperEl[0].clientLeft;currentIndex=swiper.activeIndex} 784const prevIndex=swiper.slides.eq(currentIndex).prevAll(`[data-swiper-slide-index="${slideToIndex}"]`).eq(0).index();const nextIndex=swiper.slides.eq(currentIndex).nextAll(`[data-swiper-slide-index="${slideToIndex}"]`).eq(0).index();if(typeof prevIndex==='undefined')slideToIndex=nextIndex;
784else if(typeof nextIndex==='undefined')slideToIndex=prevIndex;else if(nextIndex-currentIndex<currentIndex-prevIndex)slideToIndex=nextIndex;else slideToIndex=prevIndex} 785swiper.slideTo(slideToIndex)} 786function init(){const{thumbs:thumbsParams}=swiper.params;if(initialized)return!1;initialized=!0;const SwiperClass=swiper.constructor;if(thumbsParams.swiper instanceof SwiperClass){swiper.thumbs.swiper=thumbsParams.swiper;Object.assign(swiper.thumbs.swiper.originalParams,{watchSlidesProgress:!0,slideToClickedSlide:!1});Object.assign(swiper.thumbs.swiper.params,{watchSlidesProgress:!0,slideToClickedSlide:!1})}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} 787swiper.thumbs.swiper.$el.addClass(swiper.params.thumbs.thumbsContainerClass);swiper.thumbs.swiper.on('tap',onThumbClick);return!0} 788function update(initial){const thumbsSwiper=swiper.thumbs.swiper;if(!thumbsSwiper)return;const slidesPerView=thumbsSwiper.params.slidesPerView==='auto'?thumbsSwiper.slidesPerViewDynamic():thumbsSwiper.params.slidesPerView;const autoScrollOffset=swiper.params.thumbs.autoScrollOffset;const useOffset=autoScrollOffset&&!thumbsSwiper.params.loop;if(swiper.realIndex!==thumbsSwiper.realIndex||useOffset){let currentThumbsIndex=thumbsSwiper.activeIndex;let newThumbsIndex;let direction;if(thumbsSwiper.params.loop){if(thumbsSwiper.slides.eq(currentThumbsIndex).hasClass(thumbsSwiper.params.slideDuplicateClass)){thumbsSwiper.loopFix();thumbsSwiper._clientLeft=thumbsSwiper.$wrapperEl[0].clientLeft;currentThumbsIndex=thumbsSwiper.activeIndex} 789const prevThumbsIndex=thumbsSwiper.slides.eq(currentThumbsIndex).prevAll(`[data-swiper-slide-index="${swiper.realIndex}"]`).eq(0).index();const nextThumbsIndex=thumbsSwiper.slides.eq(currentThumbsIndex).nextAll(`[data-swiper-slide-index="${swiper.realIndex}"]`).eq(0).index();if(typeof prevThumbsIndex==='undefined'){newThumbsIndex=nextThumbsIndex}else if(typeof nextThumbsIndex==='undefined'){newThumbsIndex=prevThumbsIndex}else if(nextThumbsIndex-currentThumbsIndex===currentThumbsIndex-prevThumbsIndex){newThumbsIndex=thumbsSwiper.params.slidesPerGroup>1?nextThumbsIndex:currentThumbsIndex}else if(nextThumbsIndex-currentThumbsIndex<currentThumbsIndex-prevThumbsIndex){newThumbsIndex=nextThumbsIndex}else{newThumbsIndex=prevThumbsIndex} 790direction=swiper.activeIndex>swiper.previousIndex?'next':'prev'}else{newThumbsIndex=swiper.realIndex;direction=newThumbsIndex>swiper.previousIndex?'next':'prev'} 791if(useOffset){newThumbsIndex+=direction==='next'?autoScrollOffset:-1*autoScrollOffset} 792if(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,initial?0:undefined)}} 793let thumbsToActivate=1;const thumbActiveClass=swiper.params.thumbs.slideThumbActiveClass;if(swiper.params.slidesPerView>1&&!swiper.params.centeredSlides){thumbsToActivate=swiper.params.slidesPerView} 794if(!swiper.params.thumbs.multipleActiveThumbs){thumbsToActivate=1} 795thumbsToActivate=Math.floor(thumbsToActivate);thumbsSwiper.slides.removeClass(thumbActiveClass);if(thumbsSwiper.params.loop||thumbsSwiper.params.virtual&&thumbsSwiper.params.virtual.enabled){for(let i=0;i<thumbsToActivate;i+=1){thumbsSwiper.$wrapperEl.children(`[data-swiper-slide-index="${swiper.realIndex + i}"]`).addClass(thumbActiveClass)}}else{for(let i=0;i<thumbsToActivate;i+=1){thumbsSwiper.slides.eq(swiper.realIndex+i).addClass(thumbActiveClass)}}} 796on('beforeInit',()=>{const{thumbs}=swiper.params;if(!thumbs||!thumbs.swiper)return;init();update(!0)});on('slideChange update resize observerUpdate',()=>{if(!swiper.thumbs.swiper)return;update()});on('setTransition',(_s,duration)=>{const thumbsSwiper=swiper.thumbs.swiper;if(!thumbsSwiper)return;thumbsSwiper.setTransition(duration)});on('beforeDestroy',()=>{const thumbsSwiper=swiper.thumbs.swiper;if(!thumbsSwiper)return;if(swiperCreated&&thumbsSwiper){thumbsSwiper.destroy()}});Object.assign(swiper.thumbs,{init,update})} 797function 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 onTouchMove(){const{touchEventsData:data,touches}=swiper;if(data.velocities.length===0){data.velocities.push({position:touches[swiper.isHorizontal()?'
797startX':'startY'],time:data.touchStartTime})} 798data.velocities.push({position:touches[swiper.isHorizontal()?'currentX':'currentY'],time:now()})} 799function onTouchEnd({currentPos}){const{params,$wrapperEl,rtlTranslate:rtl,snapGrid,touchEventsData:data}=swiper;const touchEndTime=now();const timeDiff=touchEndTime-data.touchStartTime;if(currentPos<-swiper.minTranslate()){swiper.slideTo(swiper.activeIndex);return} 800if(currentPos>-swiper.maxTranslate()){if(swiper.slides.length<snapGrid.length){swiper.slideTo(snapGrid.length-1)}else{swiper.slideTo(swiper.slides.length-1)} 801return} 802if(params.freeMode.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)<params.freeMode.minimumVelocity){swiper.velocity=0} 803if(time>150||now()-lastMoveEvent.time>300){swiper.velocity=0}}else{swiper.velocity=0} 804swiper.velocity*=params.freeMode.momentumVelocityRatio;data.velocities.length=0;let momentumDuration=1000*params.freeMode.momentumRatio;const momentumDistance=swiper.velocity*momentumDuration;let newPosition=swiper.translate+momentumDistance;if(rtl)newPosition=-newPosition;let doBounce=!1;let afterBouncePosition;const bounceAmount=Math.abs(swiper.velocity)*20*params.freeMode.momentumBounceRatio;let needsLoopFix;if(newPosition<swiper.maxTranslate()){if(params.freeMode.momentumBounce){if(newPosition+swiper.maxTranslate()<-bounceAmount){newPosition=swiper.maxTranslate()-bounceAmount} 805afterBouncePosition=swiper.maxTranslate();doBounce=!0;data.allowMomentumBounce=!0}else{newPosition=swiper.maxTranslate()} 806if(params.loop&¶ms.centeredSlides)needsLoopFix=!0}else if(newPosition>swiper.minTranslate()){if(params.freeMode.momentumBounce){if(newPosition-swiper.minTranslate()>bounceAmount){newPosition=swiper.minTranslate()+bounceAmount} 807afterBouncePosition=swiper.minTranslate();doBounce=!0;data.allowMomentumBounce=!0}else{newPosition=swiper.minTranslate()} 808if(params.loop&¶ms.centeredSlides)needsLoopFix=!0}else if(params.freeMode.sticky){let nextSlide;for(let j=0;j<snapGrid.length;j+=1){if(snapGrid[j]>-newPosition){nextSlide=j;break}} 809if(Math.abs(snapGrid[nextSlide]-newPosition)<Math.abs(snapGrid[nextSlide-1]-newPosition)||swiper.swipeDirection==='next'){newPosition=snapGrid[nextSlide]}else{newPosition=snapGrid[nextSlide-1]} 810newPosition=-newPosition} 811if(needsLoopFix){once('transitionEnd',()=>{swiper.loopFix()})} 812if(swiper.velocity!==0){if(rtl){momentumDuration=Math.abs((-newPosition-swiper.translate)/swiper.velocity)}else{momentumDuration=Math.abs((newPosition-swiper.translate)/swiper.velocity)} 813if(params.freeMode.sticky){const moveDistance=Math.abs((rtl?-newPosition:newPosition)-swiper.translate);const currentSlideSize=swiper.slidesSizesGrid[swiper.activeIndex];if(moveDistance<currentSlideSize){momentumDuration=params.speed}else if(moveDistance<2*currentSlideSize){momentumDuration=params.speed*1.5}else{momentumDuration=params.speed*2.5}}}else if(params.freeMode.sticky){swiper.slideToClosest();return} 814if(params.freeMode.momentumBounce&&doBounce){swiper.updateProgress(afterBouncePosition);swiper.setTransition(momentumDuration);swiper.setTranslate(newPosition);swiper.transitionStart(!0,swiper.swipeDirection);swiper.animating=!0;$wrapperEl.transitionEnd(()=>{if(!swiper||swiper.destroyed||!data.allowMomentumBounce)return;emit('momentumBounce');swiper.setTransition(params.speed);setTimeout(()=>{swiper.setTranslate(afterBouncePosition);$wrapperEl.transitionEnd(()=>{if(!swiper||swiper.destroyed)return;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;$wrapperEl.transitionEnd(()=>{if(!swiper||swiper.destroyed)return;swiper.transitionEnd()})}}else{swiper.updateProgress(newPosition)} 815swiper.updateActiveIndex();swiper.updateSlidesClasses()}else if(params.freeMode.sticky){swiper.slideToClosest();return}else if(params.freeMode){emit('_freeModeNoMomentumRelease')} 816if(!params.freeMode.momentum||timeDiff>=params.longSwipesMs){swiper.updateProgress();swiper.updateActiveIndex();swiper.updateSlidesClasses()}} 817Object.assign(swiper,{freeMode:{onTouchMove,onTouchEnd}})} 818function Grid({swiper,extendParams}){extendParams({grid:{rows:1,fill:'column'}});
818let slidesNumberEvenToRows;let slidesPerRow;let numFullColumns;const initSlides=slidesLength=>{const{slidesPerView}=swiper.params;const{rows,fill}=swiper.params.grid;slidesPerRow=slidesNumberEvenToRows/rows;numFullColumns=Math.floor(slidesLength/rows);if(Math.floor(slidesLength/rows)===slidesLength/rows){slidesNumberEvenToRows=slidesLength}else{slidesNumberEvenToRows=Math.ceil(slidesLength/rows)*rows} 819if(slidesPerView!=='auto'&&fill==='row'){slidesNumberEvenToRows=Math.max(slidesNumberEvenToRows,slidesPerView*rows)}};const updateSlide=(i,slide,slidesLength,getDirectionLabel)=>{const{slidesPerGroup,spaceBetween}=swiper.params;const{rows,fill}=swiper.params.grid;let newSlideOrderIndex;let column;let row;if(fill==='row'&&slidesPerGroup>1){const groupIndex=Math.floor(i/(slidesPerGroup*rows));const slideIndexInGroup=i-rows*slidesPerGroup*groupIndex;const columnsInGroup=groupIndex===0?slidesPerGroup:Math.min(Math.ceil((slidesLength-groupIndex*rows*slidesPerGroup)/rows),slidesPerGroup);row=Math.floor(slideIndexInGroup/columnsInGroup);column=slideIndexInGroup-row*columnsInGroup+groupIndex*slidesPerGroup;newSlideOrderIndex=column+row*slidesNumberEvenToRows/rows;slide.css({'-webkit-order':newSlideOrderIndex,order: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} 820slide.css(getDirectionLabel('margin-top'),row!==0?spaceBetween&&`${spaceBetween}px`:'')};const updateWrapperSize=(slideSize,snapGrid,getDirectionLabel)=>{const{spaceBetween,centeredSlides,roundLengths}=swiper.params;const{rows}=swiper.params.grid;swiper.virtualSize=(slideSize+spaceBetween)*slidesNumberEvenToRows;swiper.virtualSize=Math.ceil(swiper.virtualSize/rows)-spaceBetween;swiper.$wrapperEl.css({[getDirectionLabel('width')]:`${swiper.virtualSize + spaceBetween}px`});if(centeredSlides){snapGrid.splice(0,snapGrid.length);const newSlidesGrid=[];for(let i=0;i<snapGrid.length;i+=1){let slidesGridItem=snapGrid[i];if(roundLengths)slidesGridItem=Math.floor(slidesGridItem);if(snapGrid[i]<swiper.virtualSize+snapGrid[0])newSlidesGrid.push(slidesGridItem)} 821snapGrid.push(...newSlidesGrid)}};swiper.grid={initSlides,updateSlide,updateWrapperSize}} 822function appendSlide(slides){const swiper=this;const{$wrapperEl,params}=swiper;if(params.loop){swiper.loopDestroy()} 823if(typeof slides==='object'&&'length' in slides){for(let i=0;i<slides.length;i+=1){if(slides[i])$wrapperEl.append(slides[i])}}else{$wrapperEl.append(slides)} 824if(params.loop){swiper.loopCreate()} 825if(!params.observer){swiper.update()}} 826function prependSlide(slides){const swiper=this;const{params,$wrapperEl,activeIndex}=swiper;if(params.loop){swiper.loopDestroy()} 827let newActiveIndex=activeIndex+1;if(typeof slides==='object'&&'length' in slides){for(let i=0;i<slides.length;i+=1){if(slides[i])$wrapperEl.prepend(slides[i])} 828newActiveIndex=activeIndex+slides.length}else{$wrapperEl.prepend(slides)} 829if(params.loop){swiper.loopCreate()} 830if(!params.observer){swiper.update()} 831swiper.slideTo(newActiveIndex,0,!1)} 832function addSlide(index,slides){const swiper=this;const{$wrapperEl,params,activeIndex}=swiper;let activeIndexBuffer=activeIndex;if(params.loop){activeIndexBuffer-=swiper.loopedSlides;swiper.loopDestroy();swiper.slides=$wrapperEl.children(`.${params.slideClass}`)} 833const baseLength=swiper.slides.length;if(index<=0){swiper.prependSlide(slides);return} 834if(index>=baseLength){swiper.appendSlide(slides);return} 835let newActiveIndex=activeIndexBuffer>index?activeIndexBuffer+1:activeIndexBuffer;const slidesBuffer=[];for(let i=baseLength-1;i>=index;i-=1){const currentSlide=swiper.slides.eq(i);currentSlide.remove();slidesBuffer.unshift(currentSlide)} 836if(typeof slides==='object'&&'length' in slides){for(let i=0;i<slides.length;i+=1){if(slides[i])$wrapperEl.append(slides[i])} 837newActiveIndex=activeIndexBuffer>index?activeIndexBuffer+slides.length:activeIndexBuffer}else{$wrapperEl.append(slides)} 838for(let i=0;i<slidesBuffer.length;i+=1){$wrapperEl.append(slidesBuffer[i])} 839if(params.loop){swiper.loopCreate()}
840if(!params.observer){swiper.update()} 841if(params.loop){swiper.slideTo(newActiveIndex+swiper.loopedSlides,0,!1)}else{swiper.slideTo(newActiveIndex,0,!1)}} 842function removeSlide(slidesIndexes){const swiper=this;const{params,$wrapperEl,activeIndex}=swiper;let activeIndexBuffer=activeIndex;if(params.loop){activeIndexBuffer-=swiper.loopedSlides;swiper.loopDestroy();swiper.slides=$wrapperEl.children(`.${params.slideClass}`)} 843let newActiveIndex=activeIndexBuffer;let indexToRemove;if(typeof slidesIndexes==='object'&&'length' in slidesIndexes){for(let i=0;i<slidesIndexes.length;i+=1){indexToRemove=slidesIndexes[i];if(swiper.slides[indexToRemove])swiper.slides.eq(indexToRemove).remove();if(indexToRemove<newActiveIndex)newActiveIndex-=1} 844newActiveIndex=Math.max(newActiveIndex,0)}else{indexToRemove=slidesIndexes;if(swiper.slides[indexToRemove])swiper.slides.eq(indexToRemove).remove();if(indexToRemove<newActiveIndex)newActiveIndex-=1;newActiveIndex=Math.max(newActiveIndex,0)} 845if(params.loop){swiper.loopCreate()} 846if(!params.observer){swiper.update()} 847if(params.loop){swiper.slideTo(newActiveIndex+swiper.loopedSlides,0,!1)}else{swiper.slideTo(newActiveIndex,0,!1)}} 848function removeAllSlides(){const swiper=this;const slidesIndexes=[];for(let i=0;i<swiper.slides.length;i+=1){slidesIndexes.push(i)} 849swiper.removeSlide(slidesIndexes)} 850function 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)})} 851function effectInit(params){const{effect,swiper,on,setTranslate,setTransition,overwriteParams,perspective}=params;on('beforeInit',()=>{if(swiper.params.effect!==effect)return;swiper.classNames.push(`${swiper.params.containerModifierClass}${effect}`);if(perspective&&perspective()){swiper.classNames.push(`${swiper.params.containerModifierClass}3d`)} 852const overwriteParamsResult=overwriteParams?overwriteParams():{};Object.assign(swiper.params,overwriteParamsResult);Object.assign(swiper.originalParams,overwriteParamsResult)});on('setTranslate',()=>{if(swiper.params.effect!==effect)return;setTranslate()});on('setTransition',(_s,duration)=>{if(swiper.params.effect!==effect)return;setTransition(duration)})} 853function effectTarget(effectParams,$slideEl){if(effectParams.transformEl){return $slideEl.find(effectParams.transformEl).css({'backface-visibility':'hidden','-webkit-backface-visibility':'hidden'})} 854return $slideEl} 855function effectVirtualTransitionEnd({swiper,duration,transformEl,allSlides}){const{slides,activeIndex,$wrapperEl}=swiper;if(swiper.params.virtualTranslate&&duration!==0){let eventTriggered=!1;let $transitionEndTarget;if(allSlides){$transitionEndTarget=transformEl?slides.find(transformEl):slides}else{$transitionEndTarget=transformEl?slides.eq(activeIndex).find(transformEl):slides.eq(activeIndex)} 856$transitionEndTarget.transitionEnd(()=>{if(eventTriggered)return;if(!swiper||swiper.destroyed)return;eventTriggered=!0;swiper.animating=!1;const triggerEvents=['webkitTransitionEnd','transitionend'];for(let i=0;i<triggerEvents.length;i+=1){$wrapperEl.trigger(triggerEvents[i])}})}} 857function EffectFade({swiper,extendParams,on}){extendParams({fadeEffect:{crossFade:!1,transformEl:null}});const setTranslate=()=>{const{slides}=swiper;const params=swiper.params.fadeEffect;for(let i=0;i<slides.length;i+=1){const $slideEl=swiper.slides.eq(i);const offset=$slideEl[0].swiperSlideOffset;let tx=-offset;if(!swiper.params.virtualTranslate)tx-=swiper.translate;let ty=0;if(!swiper.isHorizontal()){ty=tx;tx=0} 858const slideOpacity=swiper.params.fadeEffect.crossFade?Math.max(1-Math.abs($slideEl[0].progress),0):1+Math.min(Math.max($slideEl[0].progress,-1),0);const $targetEl=effectTarget(params,$slideEl);$targetEl.css({opacity:slideOpacity}).transform(`translate3d(${tx}px, ${ty}px, 0px)`)}};const setTransition=duration=>{const{transformEl}=swiper.params.fadeEffect;const $transitionElements=transformEl?swiper.slides.find(transformEl):swiper.slides;$transitionElements.transition(duration);effectVirtualTransitionEnd({swiper,duration,transformEl,allSlides:!0})};effectInit({effect:'fade',swiper,on,setTranslate,setTransition,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!swiper.params.cssMode})})} 859function EffectCube({swiper,extendParams,on}){extendParams({cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:0.94}});const setTranslate=()=>{const{$el,$wrapperEl,slides,width:swiperWidth,height:swiperHeight,rtlTranslate:rtl,size:swiperSize,browser}=swiper;const params=swiper.params.cubeEffect;const isHorizontal=swiper.isHorizontal();
859const isVirtual=swiper.virtual&&swiper.params.virtual.enabled;let wrapperRotate=0;let $cubeShadowEl;if(params.shadow){if(isHorizontal){$cubeShadowEl=$wrapperEl.find('.swiper-cube-shadow');if($cubeShadowEl.length===0){$cubeShadowEl=$('<div class="swiper-cube-shadow"></div>');$wrapperEl.append($cubeShadowEl)} 860$cubeShadowEl.css({height:`${swiperWidth}px`})}else{$cubeShadowEl=$el.find('.swiper-cube-shadow');if($cubeShadowEl.length===0){$cubeShadowEl=$('<div class="swiper-cube-shadow"></div>');$el.append($cubeShadowEl)}}} 861for(let i=0;i<slides.length;i+=1){const $slideEl=slides.eq(i);let slideIndex=i;if(isVirtual){slideIndex=parseInt($slideEl.attr('data-swiper-slide-index'),10)} 862let slideAngle=slideIndex*90;let round=Math.floor(slideAngle/360);if(rtl){slideAngle=-slideAngle;round=Math.floor(-slideAngle/360)} 863const progress=Math.max(Math.min($slideEl[0].progress,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;
863tz=swiperSize}else if((slideIndex-3)%4===0){tx=-swiperSize;tz=3*swiperSize+swiperSize*4*round} 864if(rtl){tx=-tx} 865if(!isHorizontal){ty=tx;tx=0} 866const transform=`rotateX(${isHorizontal ? 0 : -slideAngle}deg) rotateY(${isHorizontal ? slideAngle : 0}deg) translate3d(${tx}px, ${ty}px, ${tz}px)`;if(progress<=1&&progress>-1){wrapperRotate=slideIndex*90+progress*90;if(rtl)wrapperRotate=-slideIndex*90-progress*90} 867$slideEl.transform(transform);if(params.slideShadows){let shadowBefore=isHorizontal?$slideEl.find('.swiper-slide-shadow-left'):$slideEl.find('.swiper-slide-shadow-top');let shadowAfter=isHorizontal?$slideEl.find('.swiper-slide-shadow-right'):$slideEl.find('.swiper-slide-shadow-bottom');if(shadowBefore.length===0){shadowBefore=$(`<div class="swiper-slide-shadow-${isHorizontal ? 'left' : 'top'}"></div>`);$slideEl.append(shadowBefore)} 868if(shadowAfter.length===0){shadowAfter=$(`<div class="swiper-slide-shadow-${isHorizontal ? 'right' : 'bottom'}"></div>`);$slideEl.append(shadowAfter)} 869if(shadowBefore.length)shadowBefore[0].style.opacity=Math.max(-progress,0);if(shadowAfter.length)shadowAfter[0].style.opacity=Math.max(progress,0)}} 870$wrapperEl.css({'-webkit-transform-origin':`50% 50% -${swiperSize / 2}px`,'transform-origin':`50% 50% -${swiperSize / 2}px`});if(params.shadow){if(isHorizontal){$cubeShadowEl.transform(`translate3d(0px, ${swiperWidth / 2 + params.shadowOffset}px, ${-swiperWidth / 2}px) rotateX(90deg) 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.transform(`scale3d(${scale1}, 1, ${scale2}) translate3d(0px, ${swiperHeight / 2 + offset}px, ${-swiperHeight / 2 / scale2}px) rotateX(-90deg)`)}} 871const zFactor=browser.isSafari||browser.isWebView?-swiperSize/2:0;$wrapperEl.transform(`translate3d(0px,0,${zFactor}px) rotateX(${swiper.isHorizontal() ? 0 : wrapperRotate}deg) rotateY(${swiper.isHorizontal() ? -wrapperRotate : 0}deg)`)};const setTransition=duration=>{const{$el,slides}=swiper;slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);if(swiper.params.cubeEffect.shadow&&!swiper.isHorizontal()){$el.find('.swiper-cube-shadow').transition(duration)}};effectInit({effect:'cube',swiper,on,setTranslate,setTransition,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0})})} 872function createShadow(params,$slideEl,side){const shadowClass=`swiper-slide-shadow${side ? `-${side}` : ''}`;const $shadowContainer=params.transformEl?$slideEl.find(params.transformEl):$slideEl;let $shadowEl=$shadowContainer.children(`.${shadowClass}`);if(!$shadowEl.length){$shadowEl=$(`<div class="swiper-slide-shadow${side ? `-${side}` : ''}"></div>`);$shadowContainer.append($shadowEl)} 873return $shadowEl} 874function EffectFlip({swiper,extendParams,on}){extendParams({flipEffect:{slideShadows:!0,limitRotation:!0,transformEl:null}});const setTranslate=()=>{const{slides,rtlTranslate:rtl}=swiper;const params=swiper.params.flipEffect;for(let i=0;i<slides.length;i+=1){const $slideEl=slides.eq(i);let progress=$slideEl[0].progress;if(swiper.params.flipEffect.limitRotation){progress=Math.max(Math.min($slideEl[0].progress,1),-1)} 875const offset=$slideEl[0].swiperSlideOffset;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} 876$slideEl[0].style.zIndex=-Math.abs(Math.round(progress))+slides.length;if(params.slideShadows){let shadowBefore=swiper.isHorizontal()?$slideEl.find('.swiper-slide-shadow-left'):$slideEl.find('.swiper-slide-shadow-top');let shadowAfter=swiper.isHorizontal()?$slideEl.find('.swiper-slide-shadow-right'):$slideEl.find('.swiper-slide-shadow-bottom');if(shadowBefore.length===0){shadowBefore=createShadow(params,$slideEl,swiper.isHorizontal()?'left':'top')}
877if(shadowAfter.length===0){shadowAfter=createShadow(params,$slideEl,swiper.isHorizontal()?'right':'bottom')} 878if(shadowBefore.length)shadowBefore[0].style.opacity=Math.max(-progress,0);if(shadowAfter.length)shadowAfter[0].style.opacity=Math.max(progress,0)} 879const transform=`translate3d(${tx}px, ${ty}px, 0px) rotateX(${rotateX}deg) rotateY(${rotateY}deg)`;const $targetEl=effectTarget(params,$slideEl);$targetEl.transform(transform)}};const setTransition=duration=>{const{transformEl}=swiper.params.flipEffect;const $transitionElements=transformEl?swiper.slides.find(transformEl):swiper.slides;$transitionElements.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);effectVirtualTransitionEnd({swiper,duration,transformEl})};effectInit({effect:'flip',swiper,on,setTranslate,setTransition,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!swiper.params.cssMode})})} 880function EffectCoverflow({swiper,extendParams,on}){extendParams({coverflowEffect:{rotate:50,stretch:0,depth:100,scale:1,modifier:1,slideShadows:!0,transformEl:null}});const setTranslate=()=>{const{width:swiperWidth,height:swiperHeight,slides,slidesSizesGrid}=swiper;const params=swiper.params.coverflowEffect;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;for(let i=0,length=slides.length;i<length;i+=1){const $slideEl=slides.eq(i);const slideSize=slidesSizesGrid[i];const slideOffset=$slideEl[0].swiperSlideOffset;const offsetMultiplier=(center-slideOffset-slideSize/2)/slideSize*params.modifier;let rotateY=isHorizontal?rotate*offsetMultiplier:0;let rotateX=isHorizontal?0:rotate*offsetMultiplier;let translateZ=-translate*Math.abs(offsetMultiplier);let stretch=params.stretch;if(typeof stretch==='string'&&stretch.indexOf('%')!==-1){stretch=parseFloat(params.stretch)/100*slideSize} 881let 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)translateX=0;if(Math.abs(translateY)<0.001)translateY=0;if(Math.abs(translateZ)<0.001)translateZ=0;if(Math.abs(rotateY)<0.001)rotateY=0;if(Math.abs(rotateX)<0.001)rotateX=0;if(Math.abs(scale)<0.001)scale=0;const slideTransform=`translate3d(${translateX}px,${translateY}px,${translateZ}px) rotateX(${rotateX}deg) rotateY(${rotateY}deg) scale(${scale})`;const $targetEl=effectTarget(params,$slideEl);$targetEl.transform(slideTransform);$slideEl[0].style.zIndex=-Math.abs(Math.round(offsetMultiplier))+1;if(params.slideShadows){let $shadowBeforeEl=isHorizontal?$slideEl.find('.swiper-slide-shadow-left'):$slideEl.find('.swiper-slide-shadow-top');let $shadowAfterEl=isHorizontal?$slideEl.find('.swiper-slide-shadow-right'):$slideEl.find('.swiper-slide-shadow-bottom');if($shadowBeforeEl.length===0){$shadowBeforeEl=createShadow(params,$slideEl,isHorizontal?'left':'top')} 882if($shadowAfterEl.length===0){$shadowAfterEl=createShadow(params,$slideEl,isHorizontal?'right':'bottom')} 883if($shadowBeforeEl.length)$shadowBeforeEl[0].style.opacity=offsetMultiplier>0?offsetMultiplier:0;if($shadowAfterEl.length)$shadowAfterEl[0].style.opacity=-offsetMultiplier>0?-offsetMultiplier:0}}};const setTransition=duration=>{const{transformEl}=swiper.params.coverflowEffect;const $transitionElements=transformEl?swiper.slides.find(transformEl):swiper.slides;$transitionElements.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration)};effectInit({effect:'coverflow',swiper,on,setTranslate,setTransition,perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0})})} 884function EffectCreative({swiper,extendParams,on}){extendParams({creativeEffect:{transformEl:null,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}}});const getTranslateValue=value=>{if(typeof value==='string')return value;return `${value}px`};const setTranslate=()=>{const{slides,$wrapperEl,slidesSizesGrid}=swiper;const params=swiper.params.creativeEffect;const{progressMultiplier:multiplier}=params;const isCenteredSlides=swiper.params.centeredSlides;if(isCenteredSlides){const margin=slidesSizesGrid[0]/2-swiper.params.slidesOffsetBefore||0;$wrapperEl.transform(`translateX(calc(50% - ${margin}px))`)} 885for(let i=0;i<slides.length;i+=1){const $slideEl=slides.eq(i);const slideProgress=$slideEl[0].progress;const progress=Math.min(Math.max($slideEl[0].progress,-params.limitProgress),params.limitProgress);let originalProgress=progress;if(!isCenteredSlides){originalProgress=Math.min(Math.max($slideEl[0].originalProgress,-params.limitProgress),params.limitProgress)} 886const offset=$slideEl[0].swiperSlideOffset;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}
887let 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} 888t.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[0].style.zIndex=-Math.abs(Math.round(slideProgress))+slides.length;const translateString=t.join(', ');const rotateString=`rotateX(${r[0]}deg) rotateY(${r[1]}deg) rotateZ(${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.children('.swiper-slide-shadow');if($shadowEl.length===0&&data.shadow){$shadowEl=createShadow(params,$slideEl)} 889if($shadowEl.length){const shadowOpacity=params.shadowPerProgress?progress*(1/params.limitProgress):progress;$shadowEl[0].style.opacity=Math.min(Math.max(Math.abs(shadowOpacity),0),1)}} 890const $targetEl=effectTarget(params,$slideEl);$targetEl.transform(transform).css({opacity:opacityString});if(data.origin){$targetEl.css('transform-origin',data.origin)}}};const setTransition=duration=>{const{transformEl}=swiper.params.creativeEffect;const $transitionElements=transformEl?swiper.slides.find(transformEl):swiper.slides;$transitionElements.transition(duration).find('.swiper-slide-shadow').transition(duration);effectVirtualTransitionEnd({swiper,duration,transformEl,allSlides:!0})};effectInit({effect:'creative',swiper,on,setTranslate,setTransition,perspective:()=>swiper.params.creativeEffect.perspective,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!swiper.params.cssMode})})} 891function EffectCards({swiper,extendParams,on}){extendParams({cardsEffect:{slideShadows:!0,transformEl:null}});const setTranslate=()=>{const{slides,activeIndex}=swiper;const params=swiper.params.cardsEffect;const{startTranslate,isTouched}=swiper.touchEventsData;const currentTranslate=swiper.translate;for(let i=0;i<slides.length;i+=1){const $slideEl=slides.eq(i);const slideProgress=$slideEl[0].progress;const progress=Math.min(Math.max(slideProgress,-4),4);let offset=$slideEl[0].swiperSlideOffset;if(swiper.params.centeredSlides&&!swiper.params.cssMode){swiper.$wrapperEl.transform(`translateX(${swiper.minTranslate()}px)`)} 892if(swiper.params.centeredSlides&&swiper.params.cssMode){offset-=slides[0].swiperSlideOffset} 893let tX=swiper.params.cssMode?-offset-swiper.translate:-offset;let tY=0;const tZ=-100*Math.abs(progress);let scale=1;let rotate=-2*progress;let tXAdd=8-Math.abs(progress)*0.75;const isSwipeToNext=(i===activeIndex||i===activeIndex-1)&&progress>0&&progress<1&&(isTouched||swiper.params.cssMode)&¤tTranslate<startTranslate;const isSwipeToPrev=(i===activeIndex||i===activeIndex+1)&&progress<0&&progress>-1&&(isTouched||swiper.params.cssMode)&¤tTranslate>startTranslate;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=`${-25 * subProgress * Math.abs(progress)}%`} 894if(progress<0){tX=`calc(${tX}px + (${tXAdd * Math.abs(progress)}%))`}else if(progress>0){tX=`calc(${tX}px + (-${tXAdd * Math.abs(progress)}%))`}else{tX=`${tX}px`} 895if(!swiper.isHorizontal()){const prevY=tY;tY=tX;tX=prevY} 896const scaleString=progress<0?`${1 + (1 - scale) * progress}`:`${1 - (1 - scale) * progress}`;const transform=` 897 translate3d(${tX}, ${tY}, ${tZ}px) 898 rotateZ(${rotate}deg) 899 scale(${scaleString}) 900 `;if(params.slideShadows){let $shadowEl=$slideEl.find('.swiper-slide-shadow');if($shadowEl.length===0){$shadowEl=createShadow(params,$slideEl)} 901if($shadowEl.length)$shadowEl[0].style.opacity=Math.min(Math.max((Math.abs(progress)-0.5)/0.5,0),1)}
902$slideEl[0].style.zIndex=-Math.abs(Math.round(slideProgress))+slides.length;const $targetEl=effectTarget(params,$slideEl);$targetEl.transform(transform)}};const setTransition=duration=>{const{transformEl}=swiper.params.cardsEffect;const $transitionElements=transformEl?swiper.slides.find(transformEl):swiper.slides;$transitionElements.transition(duration).find('.swiper-slide-shadow').transition(duration);effectVirtualTransitionEnd({swiper,duration,transformEl})};effectInit({effect:'cards',swiper,on,setTranslate,setTransition,perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!swiper.params.cssMode})})} 903const modules=[Virtual,Keyboard,Mousewheel,Navigation,Pagination,Scrollbar,Parallax,Zoom,Lazy,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.