import{i as h}from"./CK1rB-uI.js";function k({swiper:e,extendParams:C,on:u,emit:o,params:d}){e.autoplay={running:!1,paused:!1,timeLeft:0},C({autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!1,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1}});let f,E,b=d&&d.autoplay?d.autoplay.delay:3e3,g=d&&d.autoplay?d.autoplay.delay:3e3,n,c=new Date().getTime(),L,v,s,M,D,r,S;function O(t){!e||e.destroyed||!e.wrapperEl||t.target===e.wrapperEl&&(e.wrapperEl.removeEventListener("transitionend",O),!(S||t.detail&&t.detail.bySwiperTouchMove)&&i())}const A=()=>{if(e.destroyed||!e.autoplay.running)return;e.autoplay.paused?L=!0:L&&(g=n,L=!1);const t=e.autoplay.paused?n:c+g-new Date().getTime();e.autoplay.timeLeft=t,o("autoplayTimeLeft",t,t/b),E=requestAnimationFrame(()=>{A()})},q=()=>{let t;return e.virtual&&e.params.virtual.enabled?t=e.slides.find(a=>a.classList.contains("swiper-slide-active")):t=e.slides[e.activeIndex],t?parseInt(t.getAttribute("data-swiper-autoplay"),10):void 0},T=t=>{if(e.destroyed||!e.autoplay.running)return;cancelAnimationFrame(E),A();let l=typeof t>"u"?e.params.autoplay.delay:t;b=e.params.autoplay.delay,g=e.params.autoplay.delay;const a=q();!Number.isNaN(a)&&a>0&&typeof t>"u"&&(l=a,b=a,g=a),n=l;const p=e.params.speed,B=()=>{!e||e.destroyed||(e.params.autoplay.reverseDirection?!e.isBeginning||e.params.loop||e.params.rewind?(e.slidePrev(p,!0,!0),o("autoplay")):e.params.autoplay.stopOnLastSlide||(e.slideTo(e.slides.length-1,p,!0,!0),o("autoplay")):!e.isEnd||e.params.loop||e.params.rewind?(e.slideNext(p,!0,!0),o("autoplay")):e.params.autoplay.stopOnLastSlide||(e.slideTo(0,p,!0,!0),o("autoplay")),e.params.cssMode&&(c=new Date().getTime(),requestAnimationFrame(()=>{T()})))};return l>0?(clearTimeout(f),f=setTimeout(()=>{B()},l)):requestAnimationFrame(()=>{B()}),l},I=()=>{c=new Date().getTime(),e.autoplay.running=!0,T(),o("autoplayStart")},m=()=>{e.autoplay.running=!1,clearTimeout(f),cancelAnimationFrame(E),o("autoplayStop")},y=(t,l)=>{if(e.destroyed||!e.autoplay.running)return;clearTimeout(f),t||(r=!0);const a=()=>{o("autoplayPause"),e.params.autoplay.waitForTransition?e.wrapperEl.addEventListener("transitionend",O):i()};if(e.autoplay.paused=!0,l){D&&(n=e.params.autoplay.delay),D=!1,a();return}n=(n||e.params.autoplay.delay)-(new Date().getTime()-c),!(e.isEnd&&n<0&&!e.params.loop)&&(n<0&&(n=0),a())},i=()=>{e.isEnd&&n<0&&!e.params.loop||e.destroyed||!e.autoplay.running||(c=new Date().getTime(),r?(r=!1,T(n)):T(),e.autoplay.paused=!1,o("autoplayResume"))},F=()=>{if(e.destroyed||!e.autoplay.running)return;const t=h();t.visibilityState==="hidden"&&(r=!0,y(!0)),t.visibilityState==="visible"&&i()},P=t=>{t.pointerType==="mouse"&&(r=!0,S=!0,!(e.animating||e.autoplay.paused)&&y(!0))},N=t=>{t.pointerType==="mouse"&&(S=!1,e.autoplay.paused&&i())},x=()=>{e.params.autoplay.pauseOnMouseEnter&&(e.el.addEventListener("pointerenter",P),e.el.addEventListener("pointerleave",N))},R=()=>{e.el&&typeof e.el!="string"&&(e.el.removeEventListener("pointerenter",P),e.el.removeEventListener("pointerleave",N))},_=()=>{h().addEventListener("visibilitychange",F)},j=()=>{h().removeEventListener("visibilitychange",F)};u("init",()=>{e.params.autoplay.enabled&&(x(),_(),I())}),u("destroy",()=>{R(),j(),e.autoplay.running&&m()}),u("_freeModeStaticRelease",()=>{(s||r)&&i()}),u("_freeModeNoMomentumRelease",()=>{e.params.autoplay.disableOnInteraction?m():y(!0,!0)}),u("beforeTransitionStart",(t,l,a)=>{e.destroyed||!e.autoplay.running||(a||!e.params.autoplay.disableOnInteraction?y(!0,!0):m())}),u("sliderFirstMove",()=>{if(!(e.destroyed||!e.autoplay.running)){if(e.params.autoplay.disableOnInteraction){m();return}v=!0,s=!1,r=!1,M=setTimeout(()=>{r=!0,s=!0,y(!0)},200)}}),u("touchEnd",()=>{if(!(e.destroyed||!e.autoplay.running||!v)){if(clearTimeout(M),clearTimeout(f),e.params.autoplay.disableOnInteraction){s=!1,v=!1;return}s&&e.params.cssMode&&i(),s=!1,v=!1}}),u("slideChange",()=>{e.destroyed||!e.autoplay.running||(D=!0)}),Object.assign(e.autoplay,{start:I,stop:m,pause:y,resume:i})}export{k as A};
