swiper
Version:
Most modern mobile touch slider and framework with hardware accelerated transitions
2 lines • 1.21 kB
JavaScript
import{e as effectInit}from"../shared/effect-init.min.mjs";import{e as effectTarget}from"../shared/effect-target.min.mjs";import{e as effectVirtualTransitionEnd}from"../shared/effect-virtual-transition-end.min.mjs";import{p as getSlideTransformEl}from"../shared/utils.min.mjs";const EffectFade=({swiper:e,extendParams:t,on:s})=>{t({fadeEffect:{crossFade:!1}});effectInit({effect:"fade",swiper:e,on:s,setTranslate:()=>{const{slides:t}=e,s=e.params.fadeEffect;for(let a=0;a<t.length;a+=1){const r=t[a];let i=-(r.swiperSlideOffset??0);e.params.virtualTranslate||(i-=e.translate);let n=0;e.isHorizontal()||(n=i,i=0);const f=r.progress??0,o=s.crossFade?Math.max(1-Math.abs(f),0):1+Math.min(Math.max(f,-1),0),l=effectTarget(s,r);l.style.opacity=String(o),l.style.transform=`translate3d(${i}px, ${n}px, 0px)`}},setTransition:t=>{const s=e.slides.map(e=>getSlideTransformEl(e));s.forEach(e=>{e.style.transitionDuration=`${t}ms`}),effectVirtualTransitionEnd({swiper:e,duration:t,transformElements:s,allSlides:!0})},overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!e.params.cssMode})})};export{EffectFade as default};
//# sourceMappingURL=effect-fade.min.mjs.map