mirror of
https://github.com/un-pany/v3-admin-vite.git
synced 2025-04-23 04:19:20 +08:00
2 lines
4.4 KiB
JavaScript
2 lines
4.4 KiB
JavaScript
import{a0 as e,ao as t,X as o,a5 as s,aM as n,ac as a,a9 as l,ad as i,m as r,n as u,T as c,aa as p,aN as f,aj as d,R as m,ai as v,af as y,r as g,bx as b}from"./index-a49147f4.js";import{w as h,ar as C,i as x,ac as k,aj as S,j as T,b1 as _,b3 as j,m as E,a3 as I,aR as L,a5 as M,ax as w,k as H,aJ as N,au as B,l as z,F as $,t as F,_ as q,ba as A}from"./runtime-core.esm-bundler-42d2bde8.js";const O=["success","info","warning","error"],R=e({customClass:{type:String,default:""},dangerouslyUseHTMLString:{type:Boolean,default:!1},duration:{type:Number,default:4500},icon:{type:t},id:{type:String,default:""},message:{type:o([String,Object]),default:""},offset:{type:Number,default:0},onClick:{type:o(Function),default:()=>{}},onClose:{type:o(Function),required:!0},position:{type:String,values:["top-right","top-left","bottom-right","bottom-left"],default:"top-right"},showClose:{type:Boolean,default:!0},title:{type:String,default:""},type:{type:String,values:[...O,""],default:""},zIndex:{type:Number,default:0}}),U=["id"],W=["textContent"],D={key:0},J=["innerHTML"],X=h({name:"ElNotification"});var Z=p(h({...X,props:R,emits:{destroy:()=>!0},setup(e,{expose:t}){const o=e,p=s("notification"),{Close:m}=n,v=C(!1);let y;const g=x((()=>{const e=o.type;return e&&a[o.type]?p.m(e):""})),b=x((()=>o.type&&a[o.type]||o.icon)),h=x((()=>o.position.endsWith("right")?"right":"left")),q=x((()=>o.position.startsWith("top")?"top":"bottom")),A=x((()=>({[q.value]:`${o.offset}px`,zIndex:o.zIndex})));function O(){o.duration>0&&({stop:y}=f((()=>{v.value&&X()}),o.duration))}function R(){null==y||y()}function X(){v.value=!1}return k((()=>{O(),v.value=!0})),l(document,"keydown",(function({code:e}){e===d.delete||e===d.backspace?R():e===d.esc?v.value&&X():O()})),t({visible:v,close:X}),(e,t)=>(S(),T(c,{name:L(p).b("fade"),onBeforeLeave:e.onClose,onAfterLeave:t[1]||(t[1]=t=>e.$emit("destroy")),persisted:""},{default:_((()=>[j(E("div",{id:e.id,class:I([L(p).b(),e.customClass,L(h)]),style:M(L(A)),role:"alert",onMouseenter:R,onMouseleave:O,onClick:t[0]||(t[0]=(...t)=>e.onClick&&e.onClick(...t))},[L(b)?(S(),T(L(i),{key:0,class:I([L(p).e("icon"),L(g)])},{default:_((()=>[(S(),T(w(L(b))))])),_:1},8,["class"])):H("v-if",!0),E("div",{class:I(L(p).e("group"))},[E("h2",{class:I(L(p).e("title")),textContent:N(e.title)},null,10,W),j(E("div",{class:I(L(p).e("content")),style:M(e.title?void 0:{margin:0})},[B(e.$slots,"default",{},(()=>[e.dangerouslyUseHTMLString?(S(),z($,{key:1},[H(" Caution here, message could've been compromised, never use user's input as message "),E("p",{innerHTML:e.message},null,8,J)],2112)):(S(),z("p",D,N(e.message),1))]))],6),[[r,e.message]]),e.showClose?(S(),T(L(i),{key:0,class:I(L(p).e("closeBtn")),onClick:u(X,["stop"])},{default:_((()=>[F(L(m))])),_:1},8,["class","onClick"])):H("v-if",!0)],2)],46,U),[[r,v.value]])])),_:3},8,["name","onBeforeLeave"]))}}),[["__file","/home/runner/work/element-plus/element-plus/packages/components/notification/src/notification.vue"]]);const G={"top-left":[],"top-right":[],"bottom-left":[],"bottom-right":[]};let K=1;const P=function(e={},t=null){if(!m)return{close:()=>{}};("string"==typeof e||q(e))&&(e={message:e});const o=e.position||"top-right";let s=e.offset||0;G[o].forEach((({vm:e})=>{var t;s+=((null==(t=e.el)?void 0:t.offsetHeight)||0)+16})),s+=16;const{nextZIndex:n}=v(),a="notification_"+K++,l=e.onClose,i={zIndex:n(),...e,offset:s,id:a,onClose:()=>{!function(e,t,o){const s=G[t],n=s.findIndex((({vm:t})=>{var o;return(null==(o=t.component)?void 0:o.props.id)===e}));if(-1===n)return;const{vm:a}=s[n];if(!a)return;null==o||o(a);const l=a.el.offsetHeight,i=t.split("-")[0];s.splice(n,1);const r=s.length;if(r<1)return;for(let u=n;u<r;u++){const{el:e,component:t}=s[u].vm,o=Number.parseInt(e.style[i],10)-l-16;t.props.offset=o}}(a,o,l)}};let r=document.body;y(e.appendTo)?r=e.appendTo:A(e.appendTo)&&(r=document.querySelector(e.appendTo)),y(r)||(r=document.body);const u=document.createElement("div"),c=F(Z,i,q(i.message)?{default:()=>i.message}:null);return c.appContext=null!=t?t:P._context,c.props.onDestroy=()=>{g(null,u)},g(c,u),G[o].push({vm:c}),r.appendChild(u.firstElementChild),{close:()=>{c.component.exposed.visible.value=!1}}};O.forEach((e=>{P[e]=(t={})=>(("string"==typeof t||q(t))&&(t={message:t}),P({...t,type:e}))})),P.closeAll=function(){for(const e of Object.values(G))e.forEach((({vm:e})=>{e.component.exposed.visible.value=!1}))},P._context=null;const Q=b(P,"$notify");export{Q as E};
|