| 1 |
- import{c as L,m as M,n as B,v as R,L as A,E as O,M as _,y as z,A as F,w as V}from"./index-f8f67ba0.js";import{b as X}from"./function-call-6876fcd3.js";import{u as $}from"./use-expose-fbc3766e.js";import{d as j,r as v,B as q,a as x,c as p}from"./index-b63c6ed2.js";import{c as G}from"./on-popup-reopen-965edd2a.js";const[J,C]=L("swipe-cell"),K={name:M(""),disabled:Boolean,leftWidth:B,rightWidth:B,beforeClose:Function,stopPropagation:Boolean};var Q=j({name:J,props:K,emits:["open","close","click"],setup(t,{emit:r,slots:f}){let n,c,u,l;const d=v(),k=v(),w=v(),o=q({offset:0,dragging:!1}),i=X(),T=e=>e.value?_(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,r("open",{name:t.name,position:e}))},m=e=>{o.offset=0,n&&(n=!1,r("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,i.start(e))},N=e=>{if(t.disabled)return;const{deltaX:a}=i;i.move(e),i.isHorizontal()&&(c=!0,o.dragging=!0,(!n||a.value*u<0)&&z(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))},E=(e="outside")=>{l||(r("click",e),n&&!c&&(l=!0,G(t.beforeClose,{args:[{name:t.name,position:e}],done:()=>{l=!1,m(e)},canceled:()=>l=!1,error:()=>l=!1})))},P=(e,a)=>s=>{a&&s.stopPropagation(),E(e)},S=(e,a)=>{const s=f[e];if(s)return p("div",{ref:a,class:C(e),onClick:P(e,!0)},[s()])};return $({open:W,close:m}),A(d,()=>E("outside"),{eventName:"touchstart"}),O("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:P("cell",c),onTouchstartPassive:H,onTouchend:b,onTouchcancel:b},[p("div",{class:C("wrapper"),style:a},[S("left",k),(e=f.default)==null?void 0:e.call(f),S("right",w)])])}}});const oe=V(Q);export{oe as S};
|