| 1 |
- import{c as A,m as L,n as D,j as R,A as M,C as O,D as _,p as j,q,w as z}from"./index-3075fd64.js";import{u as F}from"./index-0810be85.js";import{u as V}from"./use-scope-id-c38e64b2.js";import{d as X,r as v,B as $,a as x,c as p}from"./index-16aedc47.js";import{c as G}from"./on-popup-reopen-b90101a6.js";const[J,C]=A("swipe-cell"),K={name:L(""),disabled:Boolean,leftWidth:D,rightWidth:D,beforeClose:Function,stopPropagation:Boolean};var Q=X({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=$({offset:0,dragging:!1}),i=F(),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}))},y=e=>{const a=Math.abs(o.offset),s=.15,I=n?1-s:s,B=e==="left"?g.value:h.value;B&&a>B*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)&&j(e,t.stopPropagation),o.offset=q(a.value+u,-h.value,g.value))},b=()=>{o.dragging&&(o.dragging=!1,y(o.offset>0?"left":"right"),setTimeout(()=>{c=!1},0))},P=(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})))},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}),M(d,()=>P("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: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=z(Q);export{oe as S};
|