import{y as e,G as a,A as t,E as i,d as l,I as o,r as s,aB as n,ac as c,c as u,aa as v,j as r,a7 as h,a8 as d,h as p,o as f,ad as g,ae as w,_ as m,$ as x,n as y,a as b,a5 as C,L as z,aC as S,aq as M,az as T,w as I,ao as E}from"./index-76a02bac.js";const[O,X]=e("swipe"),Y={loop:a,width:t,height:t,vertical:Boolean,autoplay:i(0),duration:i(500),touchable:a,lazyRender:Boolean,initialSwipe:i(0),indicatorColor:String,showIndicators:a,stopPropagation:a},k=Symbol(O),B=I(l({name:O,props:Y,emits:["change","dragStart","dragEnd"],setup(e,{emit:a,slots:t}){const i=o(),l=o(),I=s({rect:null,width:0,height:0,offset:0,active:0,swiping:!1});let E=!1;const O=n(),{children:Y,linkChildren:B}=c(k),D=u((()=>Y.length)),P=u((()=>I[e.vertical?"height":"width"])),j=u((()=>e.vertical?O.deltaY.value:O.deltaX.value)),A=u((()=>I.rect?(e.vertical?I.rect.height:I.rect.width)-P.value*D.value:0)),R=u((()=>P.value?Math.ceil(Math.abs(A.value)/P.value):D.value)),q=u((()=>D.value*P.value)),F=u((()=>(I.active+D.value)%D.value)),G=u((()=>{const a=e.vertical?"vertical":"horizontal";return O.direction.value===a})),H=u((()=>{const a={transitionDuration:"".concat(I.swiping?0:e.duration,"ms"),transform:"translate".concat(e.vertical?"Y":"X","(").concat(+I.offset.toFixed(2),"px)")};if(P.value){const t=e.vertical?"height":"width",i=e.vertical?"width":"height";a[t]="".concat(q.value,"px"),a[i]=e[i]?"".concat(e[i],"px"):""}return a})),L=(a,t=0)=>{let i=a*P.value;e.loop||(i=Math.min(i,-A.value));let l=t-i;return e.loop||(l=T(l,A.value,0)),l},W=({pace:t=0,offset:i=0,emitChange:l})=>{if(D.value<=1)return;const{active:o}=I,s=(a=>{const{active:t}=I;return a?e.loop?T(t+a,-1,D.value):T(t+a,0,R.value):t})(t),n=L(s,i);if(e.loop){if(Y[0]&&n!==A.value){const e=n0;Y[D.value-1].setOffset(e?-q.value:0)}}I.active=s,I.offset=n,l&&s!==o&&a("change",F.value)},$=()=>{I.swiping=!0,I.active<=-1?W({pace:D.value}):I.active>=D.value&&W({pace:-D.value})},_=()=>{$(),O.reset(),M((()=>{I.swiping=!1,W({pace:1,emitChange:!0})}))};let J;const K=()=>clearTimeout(J),N=()=>{K(),+e.autoplay>0&&D.value>1&&(J=setTimeout((()=>{_(),N()}),+e.autoplay))},Q=(a=+e.initialSwipe)=>{if(!i.value)return;const t=()=>{var t,l;if(!C(i)){const a={width:i.value.offsetWidth,height:i.value.offsetHeight};I.rect=a,I.width=+(null!=(t=e.width)?t:a.width),I.height=+(null!=(l=e.height)?l:a.height)}D.value&&-1===(a=Math.min(D.value-1,a))&&(a=D.value-1),I.active=a,I.swiping=!0,I.offset=L(a),Y.forEach((e=>{e.setOffset(0)})),N()};C(i)?z().then(t):t()},U=()=>Q(I.active);let V;const Z=a=>{!e.touchable||a.touches.length>1||(O.start(a),E=!1,V=Date.now(),K(),$())},ee=()=>{if(!e.touchable||!I.swiping)return;const t=Date.now()-V,i=j.value/t;if((Math.abs(i)>.25||Math.abs(j.value)>P.value/2)&&G.value){const a=e.vertical?O.offsetY.value:O.offsetX.value;let t=0;t=e.loop?a>0?j.value>0?-1:1:0:-Math[j.value>0?"ceil":"floor"](j.value/P.value),W({pace:t,emitChange:!0})}else j.value&&W({pace:0});E=!1,I.swiping=!1,a("dragEnd",{index:F.value}),N()},ae=(a,t)=>{const i=t===F.value,l=i?{backgroundColor:e.indicatorColor}:void 0;return b("i",{style:l,"class":X("indicator",{active:i})},null)};return v({prev:()=>{$(),O.reset(),M((()=>{I.swiping=!1,W({pace:-1,emitChange:!0})}))},next:_,state:I,resize:U,swipeTo:(a,t={})=>{$(),O.reset(),M((()=>{let i;i=e.loop&&a===D.value?0===I.active?0:a:a%D.value,t.immediate?M((()=>{I.swiping=!1})):I.swiping=!1,W({pace:i-I.active,emitChange:!0})}))}}),B({size:P,props:e,count:D,activeIndicator:F}),r((()=>e.initialSwipe),(e=>Q(+e))),r(D,(()=>Q(I.active))),r((()=>e.autoplay),N),r([h,d,()=>e.width,()=>e.height],U),r(p(),(e=>{"visible"===e?N():K()})),f(Q),g((()=>Q(I.active))),w((()=>Q(I.active))),m(K),x(K),y("touchmove",(t=>{e.touchable&&I.swiping&&(O.move(t),G.value)&&(!e.loop&&(0===I.active&&j.value>0||I.active===D.value-1&&j.value<0)||(S(t,e.stopPropagation),W({offset:j.value}),E||(a("dragStart",{index:F.value}),E=!0)))}),{target:l}),()=>{var a;return b("div",{ref:i,"class":X()},[b("div",{ref:l,style:H.value,"class":X("track",{vertical:e.vertical}),onTouchstartPassive:Z,onTouchend:ee,onTouchcancel:ee},[null==(a=t["default"])?void 0:a.call(t)]),t.indicator?t.indicator({active:F.value,total:D.value}):e.showIndicators&&D.value>1?b("div",{"class":X("indicators",{vertical:e.vertical})},[Array(D.value).fill("").map(ae)]):void 0])}}})),[D,P]=e("swipe-item"),j=I(l({name:D,setup(e,{slots:a}){let t;const i=s({offset:0,inited:!1,mounted:!1}),{parent:l,index:o}=E(k);if(!l)return;const n=u((()=>{const e={},{vertical:a}=l.props;return l.size.value&&(e[a?"height":"width"]="".concat(l.size.value,"px")),i.offset&&(e.transform="translate".concat(a?"Y":"X","(").concat(i.offset,"px)")),e})),c=u((()=>{const{loop:e,lazyRender:a}=l.props;if(!a||t)return!0;if(!i.mounted)return!1;const s=l.activeIndicator.value,n=l.count.value-1,c=0===s&&e?n:s-1,u=s===n&&e?0:s+1;return t=o.value===s||o.value===c||o.value===u,t}));return f((()=>{z((()=>{i.mounted=!0}))})),v({setOffset:e=>{i.offset=e}}),()=>{var e;return b("div",{"class":P(),style:n.value},[c.value?null==(e=a["default"])?void 0:e.call(a):null])}}}));export{B as S,j as a};