| 1 |
- import{d as I,w as v,o as B,J as T,c as l,m as O,V as z,B as M,r as N,g as L}from"./index-84dbbcf9.js";import{c as V,p as j,d as y,n as k,V as U,b as w,I as A,r as E,e as C,k as q,i as D}from"./index-7d547c99.js";import{u as H}from"./use-scope-id-35da71d1.js";import{P as J}from"./index-ba3f0885.js";import{L as _}from"./index-1589a215.js";let d=0;function F(e){e?(d||document.body.classList.add("van-toast--unclickable"),d++):d&&(d--,d||document.body.classList.remove("van-toast--unclickable"))}const[G,c]=V("toast"),K=["show","overlay","teleport","transition","overlayClass","overlayStyle","closeOnClickOverlay","zIndex"],Q={icon:String,show:Boolean,type:y("text"),overlay:Boolean,message:k,iconSize:k,duration:U(2e3),position:y("middle"),teleport:[String,Object],wordBreak:String,className:w,iconPrefix:String,transition:y("van-fade"),loadingType:String,forbidClick:Boolean,overlayClass:w,overlayStyle:Object,closeOnClick:Boolean,closeOnClickOverlay:Boolean,zIndex:k};var R=I({name:G,props:Q,emits:["update:show"],setup(e,{emit:n,slots:t}){let i,o=!1;const r=()=>{const s=e.show&&e.forbidClick;o!==s&&(o=s,F(o))},u=s=>n("update:show",s),g=()=>{e.closeOnClick&&u(!1)},m=()=>clearTimeout(i),f=()=>{const{icon:s,type:a,iconSize:h,iconPrefix:x,loadingType:P}=e;if(s||a==="success"||a==="fail")return l(A,{name:s||a,size:h,class:c("icon"),classPrefix:x},null);if(a==="loading")return l(_,{class:c("loading"),size:h,type:P},null)},S=()=>{const{type:s,message:a}=e;if(t.message)return l("div",{class:c("text")},[t.message()]);if(E(a)&&a!=="")return s==="html"?l("div",{key:0,class:c("text"),innerHTML:String(a)},null):l("div",{class:c("text")},[a])};return v(()=>[e.show,e.forbidClick],r),v(()=>[e.show,e.type,e.message,e.duration],()=>{m(),e.show&&e.duration>0&&(i=setTimeout(()=>{u(!1)},e.duration))}),B(r),T(r),()=>l(J,O({class:[c([e.position,e.wordBreak==="normal"?"break-normal":e.wordBreak,{[e.type]:!e.icon}]),e.className],lockScroll:!1,onClick:g,onClosed:m,"onUpdate:show":u},j(e,K)),{default:()=>[f(),S()]})}});function W(){const e=M({show:!1}),n=o=>{e.show=o},t=o=>{C(e,o,{transitionAppear:!0}),n(!0)},i=()=>n(!1);return H({open:t,close:i,toggle:n}),{open:t,close:i,state:e,toggle:n}}function X(e){const n=z(e),t=document.createElement("div");return document.body.appendChild(t),{instance:n.mount(t),unmount(){n.unmount(),document.body.removeChild(t)}}}const Y={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 p=[],Z=!1,b=C({},Y);const $=new Map;function ee(e){return D(e)?e:{message:e}}function te(){const{instance:e,unmount:n}=X({setup(){const t=N(""),{open:i,state:o,close:r,toggle:u}=W(),g=()=>{},m=()=>l(R,O(o,{onClosed:g,"onUpdate:show":u}),null);return v(t,f=>{o.message=f}),L().render=m,{open:i,close:r,message:t}}});return e}function ne(){if(!p.length||Z){const e=te();p.push(e)}return p[p.length-1]}function re(e={}){if(!q)return{};const n=ne(),t=ee(e);return n.open(C({},b,$.get(t.type||b.type),t)),n}export{X as m,re as s,W as u};
|