| 1 |
- import{c as L,m as M,n as B,r as R,J as O,C as _,K as z,v as A,y as F,w as J}from"./index-2b8b8865.js";import{u as K}from"./index-5a6273a2.js";import{u as V}from"./use-scope-id-c0080e82.js";import{d as X,r as v,B as $,a as x,c as p}from"./index-a15b76c8.js";import{c as j}from"./on-popup-reopen-579244af.js";const[q,C]=L("swipe-cell"),G={name:M(""),disabled:Boolean,leftWidth:B,rightWidth:B,beforeClose:Function,stopPropagation:Boolean};var Q=X({name:q,props:G,emits:["open","close","click"],setup(t,{emit:i,slots:f}){let n,c,u,l;const d=v(),k=v(),w=v(),o=$({offset:0,dragging:!1}),r=K(),T=e=>e.value?z(e).width:0,g=x(()=>R(t.leftWidth)?+t.leftWidth:T(k)),h=x(()=>R(t.rightWidth)?+t.rightWidth:T(w)),W=e=>{o.offset=e==="left"?g.value:-h.value,n||(n=!0,i("open",{name:t.name,position:e}))},m=e=>{o.offset=0,n&&(n=!1,i("close",{name:t.name,position:e}))},D=e=>{const a=Math.abs(o.offset),s=.15,I=n?1-s:s,y=e==="left"?g.value:h.value;y&&a>y*I?W(e):m(e)},H=e=>{t.disabled||(u=o.offset,r.start(e))},N=e=>{if(t.disabled)return;const{deltaX:a}=r;r.move(e),r.isHorizontal()&&(c=!0,o.dragging=!0,(!n||a.value*u<0)&&A(e,t.stopPropagation),o.offset=F(a.value+u,-h.value,g.value))},b=()=>{o.dragging&&(o.dragging=!1,D(o.offset>0?"left":"right"),setTimeout(()=>{c=!1},0))},P=(e="outside")=>{l||(i("click",e),n&&!c&&(l=!0,j(t.beforeClose,{args:[{name:t.name,position:e}],done:()=>{l=!1,m(e)},canceled:()=>l=!1,error:()=>l=!1})))},S=(e,a)=>s=>{a&&s.stopPropagation(),P(e)},E=(e,a)=>{const s=f[e];if(s)return p("div",{ref:a,class:C(e),onClick:S(e,!0)},[s()])};return V({open:W,close:m}),O(d,()=>P("outside"),{eventName:"touchstart"}),_("touchmove",N,{target:d}),()=>{var e;const a={transform:`translate3d(${o.offset}px, 0, 0)`,transitionDuration:o.dragging?"0s":".6s"};return p("div",{ref:d,class:C(),onClick:S("cell",c),onTouchstartPassive:H,onTouchend:b,onTouchcancel:b},[p("div",{class:C("wrapper"),style:a},[E("left",k),(e=f.default)==null?void 0:e.call(f),E("right",w)])])}}});const oe=J(Q);export{oe as S};
|