import{d as k,u as L,ae as U,M as A,m as c,o as i,a as y,n as h,k as C,p as f,q as _,e as F,B as m,y as N,ac as T,a9 as V,f as z,H as O,r as D}from"./vue-vendor-B3m6NcsA.js";import{_ as q,I as G,ad as X,ae as Y,Z,af as J,f as K,D as Q,h as w,m as R,y as M,X as W,A as x,q as ee,x as se,ax as oe}from"./index-Ccm7NuMR.js";const te=k({name:"Message",components:{AIconHover:G,IconInfoCircleFill:X,IconCheckCircleFill:Y,IconExclamationCircleFill:Z,IconCloseCircleFill:J,IconClose:K,IconLoading:Q},props:{type:{type:String,default:"info"},closable:{type:Boolean,default:!1},showIcon:{type:Boolean,default:!0},duration:{type:Number,default:3e3},resetOnUpdate:{type:Boolean,default:!1},resetOnHover:{type:Boolean,default:!1}},emits:["close"],setup(e,{emit:s}){const o=w("message");let r=0;const l=()=>{s("close")},t=()=>{e.duration>0&&(r=window.setTimeout(l,e.duration))},n=()=>{r&&(window.clearTimeout(r),r=0)};return L(()=>{t()}),U(()=>{e.resetOnUpdate&&(n(),t())}),A(()=>{n()}),{handleMouseEnter:()=>{e.resetOnHover&&n()},handleMouseLeave:()=>{e.resetOnHover&&t()},prefixCls:o,handleClose:l}}});function ne(e,s,o,r,l,t){const n=c("icon-info-circle-fill"),a=c("icon-check-circle-fill"),u=c("icon-exclamation-circle-fill"),E=c("icon-close-circle-fill"),j=c("icon-loading"),B=c("icon-close"),H=c("a-icon-hover");return i(),y("li",{role:"alert",class:h([e.prefixCls,`${e.prefixCls}-${e.type}`,{[`${e.prefixCls}-closable`]:e.closable}]),onMouseenter:s[1]||(s[1]=(...p)=>e.handleMouseEnter&&e.handleMouseEnter(...p)),onMouseleave:s[2]||(s[2]=(...p)=>e.handleMouseLeave&&e.handleMouseLeave(...p))},[e.showIcon&&!(e.type==="normal"&&!e.$slots.icon)?(i(),y("span",{key:0,class:h(`${e.prefixCls}-icon`)},[C(e.$slots,"icon",{},()=>[e.type==="info"?(i(),f(n,{key:0})):e.type==="success"?(i(),f(a,{key:1})):e.type==="warning"?(i(),f(u,{key:2})):e.type==="error"?(i(),f(E,{key:3})):e.type==="loading"?(i(),f(j,{key:4})):_("v-if",!0)])],2)):_("v-if",!0),F("span",{class:h(`${e.prefixCls}-content`)},[C(e.$slots,"default")],2),e.closable?(i(),y("span",{key:1,class:h(`${e.prefixCls}-close-btn`),onClick:s[0]||(s[0]=(...p)=>e.handleClose&&e.handleClose(...p))},[m(H,null,{default:N(()=>[m(B)]),_:1})],2)):_("v-if",!0)],34)}var ae=q(te,[["render",ne]]);function le(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!V(e)}var re=k({name:"MessageList",props:{messages:{type:Array,default:()=>[]},position:{type:String,default:"top"}},emits:["close","afterClose"],setup(e,s){const o=w("message-list"),{zIndex:r}=R("message",{runOnMounted:!0});return()=>{let l;return m(T,{class:[o,`${o}-${e.position}`],name:"fade-message",tag:"ul",style:{zIndex:r.value},onAfterLeave:()=>s.emit("afterClose")},le(l=e.messages.map(t=>{const n={default:M(t.content),icon:M(t.icon)};return m(ae,{key:t.id,type:t.type,duration:t.duration,closable:t.closable,resetOnUpdate:t.resetOnUpdate,resetOnHover:t.resetOnHover,onClose:()=>s.emit("close",t.id)},n)}))?l:{default:()=>[l]})}}}),ie=Object.defineProperty,ce=Object.defineProperties,ue=Object.getOwnPropertyDescriptors,b=Object.getOwnPropertySymbols,de=Object.prototype.hasOwnProperty,pe=Object.prototype.propertyIsEnumerable,I=(e,s,o)=>s in e?ie(e,s,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[s]=o,v=(e,s)=>{for(var o in s||(s={}))de.call(s,o)&&I(e,o,s[o]);if(b)for(var o of b(s))pe.call(s,o)&&I(e,o,s[o]);return e},P=(e,s)=>ce(e,ue(s));class fe{constructor(s,o){this.messageCount=0,this.add=t=>{var n;this.messageCount++;const a=(n=t.id)!=null?n:`__arco_message_${this.messageCount}`;if(this.messageIds.has(a))return this.update(a,t);const u=z(v({id:a},t));return this.messages.value.push(u),this.messageIds.add(a),{close:()=>this.remove(a)}},this.update=(t,n)=>{for(let a=0;athis.remove(t)}},this.remove=t=>{for(let n=0;n{this.messages.value.splice(0)},this.destroy=()=>{this.messages.value.length===0&&this.container&&(O(null,this.container),document.body.removeChild(this.container),this.container=null,d[this.position]=void 0)};const{position:r="top"}=s;this.container=se("message"),this.messageIds=new Set,this.messages=D([]),this.position=r;const l=m(re,{messages:this.messages.value,position:r,onClose:this.remove,onAfterClose:this.destroy});(o??$._context)&&(l.appContext=o??$._context),O(l,this.container),document.body.appendChild(this.container)}}const d={},S=[...oe,"loading","normal"],g=S.reduce((e,s)=>(e[s]=(o,r)=>{W(o)&&(o={content:o});const l=v({type:s},o),{position:t="top"}=l;return d[t]||(d[t]=new fe(l,r)),d[t].add(l)},e),{});g.clear=e=>{var s;e?(s=d[e])==null||s.clear():Object.values(d).forEach(o=>o==null?void 0:o.clear())};const $=P(v({},g),{install:e=>{const s={clear:g.clear};for(const o of S)s[o]=(r,l=e._context)=>g[o](r,l);e.config.globalProperties.$message=s},_context:null});export{$ as M};