| 1 |
- import{c as Y,m as _,n as D,r as X,J as y,C as z,K as M,v as $,y as A,w as B}from"./index-c2909177.js";import{T as x}from"./use-route-01d6b0b1.js";import{r as n,d as F,l as L,a as N,c as k}from"./index-e4df6086.js";import{u as K}from"./axios-12198959.js";import{c as V}from"./interceptor-9a671ee0.js";function J(t,l){return t>l?"horizontal":l>t?"vertical":""}function j(){const t=n(0),l=n(0),u=n(0),o=n(0),s=n(0),c=n(0),i=n(""),d=n(!0),p=()=>i.value==="vertical",a=()=>i.value==="horizontal",h=()=>{u.value=0,o.value=0,s.value=0,c.value=0,i.value="",d.value=!0};return{move:f=>{const g=f.touches[0];u.value=(g.clientX<0?0:g.clientX)-t.value,o.value=g.clientY-l.value,s.value=Math.abs(u.value),c.value=Math.abs(o.value);const m=10;(!i.value||s.value<m&&c.value<m)&&(i.value=J(s.value,c.value)),d.value&&(s.value>x||c.value>x)&&(d.value=!1)},start:f=>{h(),t.value=f.touches[0].clientX,l.value=f.touches[0].clientY},reset:h,startX:t,startY:l,deltaX:u,deltaY:o,offsetX:s,offsetY:c,direction:i,isVertical:p,isHorizontal:a,isTap:d}}const[q,w]=Y("swipe-cell"),G={name:_(""),disabled:Boolean,leftWidth:D,rightWidth:D,beforeClose:Function,stopPropagation:Boolean};var Q=F({name:q,props:G,emits:["open","close","click"],setup(t,{emit:l,slots:u}){let o,s,c;const i=n(),d=n(),p=n(),a=L({offset:0,dragging:!1}),h=j(),T=e=>e.value?M(e).width:0,C=N(()=>X(t.leftWidth)?+t.leftWidth:T(d)),f=N(()=>X(t.rightWidth)?+t.rightWidth:T(p)),g=e=>{a.offset=e==="left"?C.value:-f.value,o||(o=!0,l("open",{name:t.name,position:e}))},m=e=>{a.offset=0,o&&(o=!1,l("close",{name:t.name,position:e}))},R=e=>{const r=Math.abs(a.offset),v=.15,O=o?1-v:v,P=e==="left"?C.value:f.value;P&&r>P*O?g(e):m(e)},H=e=>{t.disabled||(c=a.offset,h.start(e))},I=e=>{if(t.disabled)return;const{deltaX:r}=h;h.move(e),h.isHorizontal()&&(s=!0,a.dragging=!0,(!o||r.value*c<0)&&$(e,t.stopPropagation),a.offset=A(r.value+c,-f.value,C.value))},b=()=>{a.dragging&&(a.dragging=!1,R(a.offset>0?"left":"right"),setTimeout(()=>{s=!1},0))},E=(e="outside")=>{l("click",e),o&&!s&&V(t.beforeClose,{args:[{name:t.name,position:e}],done:()=>m(e)})},S=(e,r)=>v=>{r&&v.stopPropagation(),E(e)},W=(e,r)=>{const v=u[e];if(v)return k("div",{ref:r,class:w(e),onClick:S(e,!0)},[v()])};return K({open:g,close:m}),y(i,()=>E("outside"),{eventName:"touchstart"}),z("touchmove",I,{target:i}),()=>{var e;const r={transform:`translate3d(${a.offset}px, 0, 0)`,transitionDuration:a.dragging?"0s":".6s"};return k("div",{ref:i,class:w(),onClick:S("cell",s),onTouchstartPassive:H,onTouchend:b,onTouchcancel:b},[k("div",{class:w("wrapper"),style:r},[W("left",d),(e=u.default)==null?void 0:e.call(u),W("right",p)])])}}});const oe=B(Q);export{oe as S,j as u};
|