function-call-215ccdbc.js 7.9 KB

1
  1. import{r as m,R as K,O as se,w as S,d as L,c as u,M as U,i as F,v as H,a as le,A as ce,o as X,s as ie,U as re,T as ue,F as de,m as _,J as fe,V as ve,B as me,g as ye}from"./index-234c814f.js";import{n as P,t as I,d as A,R as he,P as Ce,y as V,c as D,E as G,e as x,g as ke,v as R,w as Z,f as b,I as q,p as Oe,S as ge,l as we,i as Ie}from"./index-1428e3a1.js";import{u as J}from"./use-expose-e42a8a37.js";import{T as M,H as be}from"./constant-eba5e2d8.js";import{P as Se,c as Pe}from"./on-popup-reopen-29631c54.js";import{L as pe}from"./index-43f66c3b.js";let Te=2e3;const xe=()=>++Te,W={show:Boolean,zIndex:P,overlay:I,duration:P,teleport:[String,Object],lockScroll:I,lazyRender:I,beforeClose:Function,overlayStyle:Object,overlayClass:A,transitionAppear:Boolean,closeOnClickOverlay:I},lt=Object.keys(W);function ze(e,t){return e>t?"horizontal":t>e?"vertical":""}function Be(){const e=m(0),t=m(0),o=m(0),l=m(0),n=m(0),s=m(0),a=m(""),c=m(!0),h=()=>a.value==="vertical",y=()=>a.value==="horizontal",f=()=>{o.value=0,l.value=0,n.value=0,s.value=0,a.value="",c.value=!0};return{move:v=>{const C=v.touches[0];o.value=(C.clientX<0?0:C.clientX)-e.value,l.value=C.clientY-t.value,n.value=Math.abs(o.value),s.value=Math.abs(l.value);const k=10;(!a.value||n.value<k&&s.value<k)&&(a.value=ze(n.value,s.value)),c.value&&(n.value>M||s.value>M)&&(c.value=!1)},start:v=>{f(),e.value=v.touches[0].clientX,t.value=v.touches[0].clientY},reset:f,startX:e,startY:t,deltaX:o,deltaY:l,offsetX:n,offsetY:s,direction:a,isVertical:h,isHorizontal:y,isTap:c}}let p=0;const $="van-overflow-hidden";function Ae(e,t){const o=Be(),l="01",n="10",s=f=>{o.move(f);const i=o.deltaY.value>0?n:l,d=Ce(f.target,e.value),{scrollHeight:v,offsetHeight:C,scrollTop:k}=d;let O="11";k===0?O=C>=v?"00":"01":k+C>=v&&(O="10"),O!=="11"&&o.isVertical()&&!(parseInt(O,2)&parseInt(i,2))&&V(f,!0)},a=()=>{document.addEventListener("touchstart",o.start),document.addEventListener("touchmove",s,{passive:!1}),p||document.body.classList.add($),p++},c=()=>{p&&(document.removeEventListener("touchstart",o.start),document.removeEventListener("touchmove",s),p--,p||document.body.classList.remove($))},h=()=>t()&&a(),y=()=>t()&&c();he(h),K(y),se(y),S(t,f=>{f?a():c()})}function Q(e){const t=m(!1);return S(e,o=>{o&&(t.value=o)},{immediate:!0}),o=>()=>t.value?o():null}const[Ee,Le]=D("overlay"),_e={show:Boolean,zIndex:P,duration:P,className:A,lockScroll:I,lazyRender:I,customStyle:Object};var De=L({name:Ee,props:_e,setup(e,{slots:t}){const o=m(),l=Q(()=>e.show||!e.lazyRender),n=a=>{e.lockScroll&&V(a,!0)},s=l(()=>{var a;const c=x(ke(e.zIndex),e.customStyle);return R(e.duration)&&(c.animationDuration=`${e.duration}s`),F(u("div",{ref:o,style:c,class:[Le(),e.className]},[(a=t.default)==null?void 0:a.call(t)]),[[H,e.show]])});return G("touchmove",n,{target:o}),()=>u(U,{name:"van-fade",appear:!0},{default:s})}});const Re=Z(De),Ne=x({},W,{round:Boolean,position:b("center"),closeIcon:b("cross"),closeable:Boolean,transition:String,iconPrefix:String,closeOnPopstate:Boolean,closeIconPosition:b("top-right"),safeAreaInsetTop:Boolean,safeAreaInsetBottom:Boolean}),[Me,Y]=D("popup");var $e=L({name:Me,inheritAttrs:!1,props:Ne,emits:["open","close","opened","closed","keydown","update:show","clickOverlay","clickCloseIcon"],setup(e,{emit:t,attrs:o,slots:l}){let n,s;const a=m(),c=m(),h=Q(()=>e.show||!e.lazyRender),y=le(()=>{const r={zIndex:a.value};if(R(e.duration)){const g=e.position==="center"?"animationDuration":"transitionDuration";r[g]=`${e.duration}s`}return r}),f=()=>{n||(n=!0,a.value=e.zIndex!==void 0?+e.zIndex:xe(),t("open"))},i=()=>{n&&Pe(e.beforeClose,{done(){n=!1,t("close"),t("update:show",!1)}})},d=r=>{t("clickOverlay",r),e.closeOnClickOverlay&&i()},v=()=>{if(e.overlay)return u(Re,{show:e.show,class:e.overlayClass,zIndex:a.value,duration:e.duration,customStyle:e.overlayStyle,role:e.closeOnClickOverlay?"button":void 0,tabindex:e.closeOnClickOverlay?0:void 0,onClick:d},{default:l["overlay-content"]})},C=r=>{t("clickCloseIcon",r),i()},k=()=>{if(e.closeable)return u(q,{role:"button",tabindex:0,name:e.closeIcon,class:[Y("close-icon",e.closeIconPosition),be],classPrefix:e.iconPrefix,onClick:C},null)};let O;const ee=()=>{O&&clearTimeout(O),O=setTimeout(()=>{t("opened")})},te=()=>t("closed"),oe=r=>t("keydown",r),ne=h(()=>{var r;const{round:g,position:z,safeAreaInsetTop:E,safeAreaInsetBottom:ae}=e;return F(u("div",_({ref:c,style:y.value,role:"dialog",tabindex:0,class:[Y({round:g,[z]:z}),{"van-safe-area-top":E,"van-safe-area-bottom":ae}],onKeydown:oe},o),[(r=l.default)==null?void 0:r.call(l),k()]),[[H,e.show]])}),N=()=>{const{position:r,transition:g,transitionAppear:z}=e,E=r==="center"?"van-fade":`van-popup-slide-${r}`;return u(U,{name:g||E,appear:z,onAfterEnter:ee,onAfterLeave:te},{default:ne})};return S(()=>e.show,r=>{r&&!n&&(f(),o.tabindex===0&&ce(()=>{var g;(g=c.value)==null||g.focus()})),!r&&n&&(n=!1,t("close"))}),J({popupRef:c}),Ae(c,()=>e.show&&e.lockScroll),G("popstate",()=>{e.closeOnPopstate&&(i(),s=!1)}),X(()=>{e.show&&f()}),ie(()=>{s&&(t("update:show",!0),s=!1)}),K(()=>{e.show&&e.teleport&&(i(),s=!0)}),re(Se,()=>e.show),()=>e.teleport?u(ue,{to:e.teleport},{default:()=>[v(),N()]}):u(de,null,[v(),N()])}});const Ye=Z($e);let T=0;function je(e){e?(T||document.body.classList.add("van-toast--unclickable"),T++):T&&(T--,T||document.body.classList.remove("van-toast--unclickable"))}const[Ke,w]=D("toast"),Ue=["show","overlay","teleport","transition","overlayClass","overlayStyle","closeOnClickOverlay"],Fe={icon:String,show:Boolean,type:b("text"),overlay:Boolean,message:P,iconSize:P,duration:ge(2e3),position:b("middle"),teleport:[String,Object],wordBreak:String,className:A,iconPrefix:String,transition:b("van-fade"),loadingType:String,forbidClick:Boolean,overlayClass:A,overlayStyle:Object,closeOnClick:Boolean,closeOnClickOverlay:Boolean};var He=L({name:Ke,props:Fe,emits:["update:show"],setup(e,{emit:t,slots:o}){let l,n=!1;const s=()=>{const i=e.show&&e.forbidClick;n!==i&&(n=i,je(n))},a=i=>t("update:show",i),c=()=>{e.closeOnClick&&a(!1)},h=()=>clearTimeout(l),y=()=>{const{icon:i,type:d,iconSize:v,iconPrefix:C,loadingType:k}=e;if(i||d==="success"||d==="fail")return u(q,{name:i||d,size:v,class:w("icon"),classPrefix:C},null);if(d==="loading")return u(pe,{class:w("loading"),size:v,type:k},null)},f=()=>{const{type:i,message:d}=e;if(o.message)return u("div",{class:w("text")},[o.message()]);if(R(d)&&d!=="")return i==="html"?u("div",{key:0,class:w("text"),innerHTML:String(d)},null):u("div",{class:w("text")},[d])};return S(()=>[e.show,e.forbidClick],s),S(()=>[e.show,e.type,e.message,e.duration],()=>{h(),e.show&&e.duration>0&&(l=setTimeout(()=>{a(!1)},e.duration))}),X(s),fe(s),()=>u(Ye,_({class:[w([e.position,e.wordBreak==="normal"?"break-normal":e.wordBreak,{[e.type]:!e.icon}]),e.className],lockScroll:!1,onClick:c,onClosed:h,"onUpdate:show":a},Oe(e,Ue)),{default:()=>[y(),f()]})}});function Xe(){const e=me({show:!1}),t=n=>{e.show=n},o=n=>{x(e,n,{transitionAppear:!0}),t(!0)},l=()=>t(!1);return J({open:o,close:l,toggle:t}),{open:o,close:l,state:e,toggle:t}}function Ve(e){const t=ve(e),o=document.createElement("div");return document.body.appendChild(o),{instance:t.mount(o),unmount(){t.unmount(),document.body.removeChild(o)}}}const Ge={icon:"",type:"text",message:"",className:"",overlay:!1,onClose:void 0,onOpened:void 0,duration:2e3,teleport:"body",iconSize:void 0,iconPrefix:void 0,position:"middle",transition:"van-fade",forbidClick:!1,loadingType:void 0,overlayClass:"",overlayStyle:void 0,closeOnClick:!1,closeOnClickOverlay:!1};let B=[],Ze=!1,j=x({},Ge);const qe=new Map;function Je(e){return Ie(e)?e:{message:e}}function We(){const{instance:e,unmount:t}=Ve({setup(){const o=m(""),{open:l,state:n,close:s,toggle:a}=Xe(),c=()=>{},h=()=>u(He,_(n,{onClosed:c,"onUpdate:show":a}),null);return S(o,y=>{n.message=y}),ye().render=h,{open:l,close:s,message:o}}});return e}function Qe(){if(!B.length||Ze){const e=We();B.push(e)}return B[B.length-1]}function ct(e={}){if(!we)return{};const t=Qe(),o=Je(e);return t.open(x({},j,qe.get(o.type||j.type),o)),t}export{Re as O,Ye as P,lt as a,Be as b,Ve as m,W as p,ct as s,Xe as u};