You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2 lines
5.7 KiB

import{m as V,z as N,A as ae,y as d,s as E,o as p,c as M,G as q,b as x,w,i as A,a as _,E as m,C as t,t as G,R as Z,T as j,M as re,U as O,a0 as J,aC as le,Z as ie,r as B,k as ue,g as ce,h,I as de,l as T,W as pe,F as me,H as fe,aB as ge,aD as F,q as H,at as W,aa as $,au as R,aE as ye}from"./config-provider-00a78c77.js";import{_ as K,k as ve,x as Ce,G as P,L as he,q as be,g as U,T as Te,s as we,J as Ne}from"./axios-cf97e465.js";const ke=V({value:{type:[String,Number],default:""},max:{type:Number,default:99},isDot:Boolean,hidden:Boolean,type:{type:String,values:["primary","success","warning","info","danger"],default:"danger"}}),Se=["textContent"],Be=N({name:"ElBadge"}),Ee=N({...Be,props:ke,setup(s,{expose:n}){const e=s,o=ae("badge"),a=d(()=>e.isDot?"":E(e.value)&&E(e.max)?e.max<e.value?`${e.max}+`:`${e.value}`:`${e.value}`);return n({content:a}),(l,u)=>(p(),M("div",{class:m(t(o).b())},[q(l.$slots,"default"),x(j,{name:`${t(o).namespace.value}-zoom-in-center`,persisted:""},{default:w(()=>[A(_("sup",{class:m([t(o).e("content"),t(o).em("content",l.type),t(o).is("fixed",!!l.$slots.default),t(o).is("dot",l.isDot)]),textContent:G(t(a))},null,10,Se),[[Z,!l.hidden&&(t(a)||l.isDot)]])]),_:1},8,["name"])],2))}});var Me=K(Ee,[["__file","/home/runner/work/element-plus/element-plus/packages/components/badge/src/badge.vue"]]);const _e=re(Me),Q=["success","info","warning","error"],i=Ce({customClass:"",center:!1,dangerouslyUseHTMLString:!1,duration:3e3,icon:void 0,id:"",message:"",onClose:void 0,showClose:!1,type:"info",offset:16,zIndex:0,grouping:!1,repeatNum:1,appendTo:J?document.body:void 0}),$e=V({customClass:{type:String,default:i.customClass},center:{type:Boolean,default:i.center},dangerouslyUseHTMLString:{type:Boolean,default:i.dangerouslyUseHTMLString},duration:{type:Number,default:i.duration},icon:{type:ve,default:i.icon},id:{type:String,default:i.id},message:{type:O([String,Object,Function]),default:i.message},onClose:{type:O(Function),required:!1},showClose:{type:Boolean,default:i.showClose},type:{type:String,values:Q,default:i.type},offset:{type:Number,default:i.offset},zIndex:{type:Number,default:i.zIndex},grouping:{type:Boolean,default:i.grouping},repeatNum:{type:Number,default:i.repeatNum}}),xe={destroy:()=>!0},c=le([]),ze=s=>{const n=c.findIndex(a=>a.id===s),e=c[n];let o;return n>0&&(o=c[n-1]),{current:e,prev:o}},Ie=s=>{const{prev:n}=ze(s);return n?n.vm.exposed.bottom.value:0},Le=(s,n)=>c.findIndex(o=>o.id===s)>0?20:n,De=["id"],Oe=["innerHTML"],Fe=N({name:"ElMessage"}),He=N({...Fe,props:$e,emits:xe,setup(s,{expose:n}){const e=s,{Close:o}=Te,{ns:a,zIndex:l}=ie("message"),{currentZIndex:u,nextZIndex:f}=l,g=B(),v=B(!1),C=B(0);let k;const Y=d(()=>e.type?e.type==="error"?"danger":e.type:"info"),ee=d(()=>{const r=e.type;return{[a.bm("icon",r)]:r&&P[r]}}),z=d(()=>e.icon||P[e.type]||""),se=d(()=>Ie(e.id)),I=d(()=>Le(e.id,e.offset)+se.value),ne=d(()=>C.value+I.value),te=d(()=>({top:`${I.value}px`,zIndex:u.value}));function S(){e.duration!==0&&({stop:k}=ge(()=>{b()},e.duration))}function L(){k==null||k()}function b(){v.value=!1}function oe({code:r}){r===we.esc&&b()}return ue(()=>{S(),f(),v.value=!0}),ce(()=>e.repeatNum,()=>{L(),S()}),he(document,"keydown",oe),be(g,()=>{C.value=g.value.getBoundingClientRect().height}),n({visible:v,bottom:ne,close:b}),(r,D)=>(p(),h(j,{name:t(a).b("fade"),onBeforeLeave:r.onClose,onAfterLeave:D[0]||(D[0]=Ae=>r.$emit("destroy")),persisted:""},{default:w(()=>[A(_("div",{id:r.id,ref_key:"messageRef",ref:g,class:m([t(a).b(),{[t(a).m(r.type)]:r.type&&!r.icon},t(a).is("center",r.center),t(a).is("closable",r.showClose),r.customClass]),style:de(t(te)),role:"alert",onMouseenter:L,onMouseleave:S},[r.repeatNum>1?(p(),h(t(_e),{key:0,value:r.repeatNum,type:t(Y),class:m(t(a).e("badge"))},null,8,["value","type","class"])):T("v-if",!0),t(z)?(p(),h(t(U),{key:1,class:m([t(a).e("icon"),t(ee)])},{default:w(()=>[(p(),h(pe(t(z))))]),_:1},8,["class"])):T("v-if",!0),q(r.$slots,"default",{},()=>[r.dangerouslyUseHTMLString?(p(),M(me,{key:1},[T(" Caution here, message could've been compromised, never use user's input as message "),_("p",{class:m(t(a).e("content")),innerHTML:r.message},null,10,Oe)],2112)):(p(),M("p",{key:0,class:m(t(a).e("content"))},G(r.message),3))]),r.showClose?(p(),h(t(U),{key:2,class:m(t(a).e("closeBtn")),onClick:fe(b,["stop"])},{default:w(()=>[x(t(o))]),_:1},8,["class","onClick"])):T("v-if",!0)],46,De),[[Z,v.value]])]),_:3},8,["name","onBeforeLeave"]))}});var Re=K(He,[["__file","/home/runner/work/element-plus/element-plus/packages/components/message/src/message.vue"]]);let Pe=1;const X=s=>{const n=!s||H(s)||W(s)||$(s)?{message:s}:s,e={...i,...n};if(!e.appendTo)e.appendTo=document.body;else if(H(e.appendTo)){let o=document.querySelector(e.appendTo);Ne(o)||(o=document.body),e.appendTo=o}return e},Ue=s=>{const n=c.indexOf(s);if(n===-1)return;c.splice(n,1);const{handler:e}=s;e.close()},Ve=({appendTo:s,...n},e)=>{const o=`message_${Pe++}`,a=n.onClose,l=document.createElement("div"),u={...n,id:o,onClose:()=>{a==null||a(),Ue(C)},onDestroy:()=>{R(null,l)}},f=x(Re,u,$(u.message)||W(u.message)?{default:$(u.message)?u.message:()=>u.message}:null);f.appContext=e||y._context,R(f,l),s.appendChild(l.firstElementChild);const g=f.component,C={id:o,vnode:f,vm:g,handler:{close:()=>{g.exposed.visible.value=!1}},props:f.component.props};return C},y=(s={},n)=>{if(!J)return{close:()=>{}};if(E(F.max)&&c.length>=F.max)return{close:()=>{}};const e=X(s);if(e.grouping&&c.length){const a=c.find(({vnode:l})=>{var u;return((u=l.props)==null?void 0:u.message)===e.message});if(a)return a.props.repeatNum+=1,a.props.type=e.type,a.handler}const o=Ve(e,n);return c.push(o),o.handler};Q.forEach(s=>{y[s]=(n={},e)=>{const o=X(n);return y({...o,type:s},e)}});function qe(s){for(const n of c)(!s||s===n.props.type)&&n.handler.close()}y.closeAll=qe;y._context=null;const je=ye(y,"$message");export{je as E};