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.8 KiB

import{b as A,d as E,u as ae,c as d,k as B,o as p,v as M,r as U,y as $,w,E as j,x as I,n as m,e as t,A as q,a9 as G,ag as Z,h as re,i as O,aj as J,aH as le,m as k,s as ie,Q as ue,a as h,f as ce,I as T,g as de,J as pe,M as me,an as fe,H,ab as Q,G as _,ao as F,aI as ge}from"./normalize-040897f0.js";import{d as ye,a as ve,E as Ce}from"./aria-60547dd7.js";import{_ as K,i as he,m as be,T as P,E as R,B as Te,D as we}from"./base-4c430c4f.js";import{b as Ee,E as V}from"./config-provider-d42b9336.js";const Ne=A({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"],ke=E({name:"ElBadge"}),Be=E({...ke,props:Ne,setup(s,{expose:n}){const e=s,o=ae("badge"),a=d(()=>e.isDot?"":B(e.value)&&B(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())},[U(l.$slots,"default"),$(Z,{name:`${t(o).namespace.value}-zoom-in-center`,persisted:""},{default:w(()=>[j(I("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:q(t(a))},null,10,Se),[[G,!l.hidden&&(t(a)||l.isDot)]])]),_:1},8,["name"])],2))}});var Me=K(Be,[["__file","/home/runner/work/element-plus/element-plus/packages/components/badge/src/badge.vue"]]);const Ie=re(Me),W=["success","info","warning","error"],i=be({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=A({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:he,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:W,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}}),$e={destroy:()=>!0},c=le([]),xe=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}},ze=s=>{const{prev:n}=xe(s);return n?n.vm.exposed.bottom.value:0},De=(s,n)=>c.findIndex(o=>o.id===s)>0?20:n,Le=["id"],Oe=["innerHTML"],He=E({name:"ElMessage"}),Fe=E({...He,props:_e,emits:$e,setup(s,{expose:n}){const e=s,{Close:o}=Te,{ns:a,zIndex:l}=Ee("message"),{currentZIndex:u,nextZIndex:f}=l,g=k(),v=k(!1),C=k(0);let N;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]}}),x=d(()=>e.icon||P[e.type]||""),se=d(()=>ze(e.id)),z=d(()=>De(e.id,e.offset)+se.value),ne=d(()=>C.value+z.value),te=d(()=>({top:`${z.value}px`,zIndex:u.value}));function S(){e.duration!==0&&({stop:N}=fe(()=>{b()},e.duration))}function D(){N==null||N()}function b(){v.value=!1}function oe({code:r}){r===Ce.esc&&b()}return ie(()=>{S(),f(),v.value=!0}),ue(()=>e.repeatNum,()=>{D(),S()}),ye(document,"keydown",oe),ve(g,()=>{C.value=g.value.getBoundingClientRect().height}),n({visible:v,bottom:ne,close:b}),(r,L)=>(p(),h(Z,{name:t(a).b("fade"),onBeforeLeave:r.onClose,onAfterLeave:L[0]||(L[0]=je=>r.$emit("destroy")),persisted:""},{default:w(()=>[j(I("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:ce(t(te)),role:"alert",onMouseenter:D,onMouseleave:S},[r.repeatNum>1?(p(),h(t(Ie),{key:0,value:r.repeatNum,type:t(Y),class:m(t(a).e("badge"))},null,8,["value","type","class"])):T("v-if",!0),t(x)?(p(),h(t(R),{key:1,class:m([t(a).e("icon"),t(ee)])},{default:w(()=>[(p(),h(de(t(x))))]),_:1},8,["class"])):T("v-if",!0),U(r.$slots,"default",{},()=>[r.dangerouslyUseHTMLString?(p(),M(pe,{key:1},[T(" Caution here, message could've been compromised, never use user's input as message "),I("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"))},q(r.message),3))]),r.showClose?(p(),h(t(R),{key:2,class:m(t(a).e("closeBtn")),onClick:me(b,["stop"])},{default:w(()=>[$(t(o))]),_:1},8,["class","onClick"])):T("v-if",!0)],46,Le),[[G,v.value]])]),_:3},8,["name","onBeforeLeave"]))}});var Pe=K(Fe,[["__file","/home/runner/work/element-plus/element-plus/packages/components/message/src/message.vue"]]);let Re=1;const X=s=>{const n=!s||H(s)||Q(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);we(o)||(o=document.body),e.appendTo=o}return e},Ve=s=>{const n=c.indexOf(s);if(n===-1)return;c.splice(n,1);const{handler:e}=s;e.close()},Ae=({appendTo:s,...n},e)=>{const o=`message_${Re++}`,a=n.onClose,l=document.createElement("div"),u={...n,id:o,onClose:()=>{a==null||a(),Ve(C)},onDestroy:()=>{F(null,l)}},f=$(Pe,u,_(u.message)||Q(u.message)?{default:_(u.message)?u.message:()=>u.message}:null);f.appContext=e||y._context,F(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(B(V.max)&&c.length>=V.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=Ae(e,n);return c.push(o),o.handler};W.forEach(s=>{y[s]=(n={},e)=>{const o=X(n);return y({...o,type:s},e)}});function Ue(s){for(const n of c)(!s||s===n.props.type)&&n.handler.close()}y.closeAll=Ue;y._context=null;const Qe=ge(y,"$message");export{Qe as E};