UNPKG

ll-package

Version:

2 lines (1 loc) 2.73 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d=require("../../../@babel/runtime/helpers/esm/objectSpread2.js"),N=require("../../../@babel/runtime/helpers/esm/extends.js"),o=require("vue"),E=require("./Notice.js"),F=require("../_util/transition.js"),G=require("../_util/classNames.js"),H=require("../_util/Portal.js");let x=0;const K=Date.now();function U(){const e=x;return x+=1,`rcNotification_${K}_${e}`}const D=o.defineComponent({name:"HookNotification",inheritAttrs:!1,props:["prefixCls","transitionName","animation","maxCount","closeIcon","hashId","remove","notices","getStyles","getClassName","onAllRemoved","getContainer"],setup(e,I){let{attrs:f,slots:g}=I;const C=new Map,b=o.computed(()=>e.notices),$=o.computed(()=>{let t=e.transitionName;if(!t&&e.animation)switch(typeof e.animation){case"string":t=e.animation;break;case"function":t=e.animation().name;break;case"object":t=e.animation.name;break;default:t=`${e.prefixCls}-fade`;break}return F.getTransitionGroupProps(t)}),j=t=>e.remove(t),s=o.ref({});o.watch(b,()=>{const t={};Object.keys(s.value).forEach(n=>{t[n]=[]}),e.notices.forEach(n=>{const{placement:a="topRight"}=n.notice;a&&(t[a]=t[a]||[],t[a].push(n))}),s.value=t});const w=o.computed(()=>Object.keys(s.value));return()=>{var t;const{prefixCls:n,closeIcon:a=(t=g.closeIcon)===null||t===void 0?void 0:t.call(g,{prefixCls:n})}=e,A=w.value.map(i=>{var v,m;const P=s.value[i],_=(v=e.getClassName)===null||v===void 0?void 0:v.call(e,i),M=(m=e.getStyles)===null||m===void 0?void 0:m.call(e,i),R=P.map((r,L)=>{let{notice:c,holderCallback:q}=r;const O=L===b.value.length-1?c.updateMark:void 0,{key:l,userPassKey:T}=c,{content:h}=c,k=N.default(N.default(N.default({prefixCls:n,closeIcon:typeof a=="function"?a({prefixCls:n}):a},c),c.props),{key:l,noticeKey:T||l,updateMark:O,onClose:u=>{var y;j(u),(y=c.onClose)===null||y===void 0||y.call(c)},onClick:c.onClick});return q?o.createVNode("div",{key:l,class:`${n}-hook-holder`,ref:u=>{typeof l>"u"||(u?(C.set(l,u),q(u,k)):C.delete(l))}},null):o.createVNode(E.default,d.default(d.default({},k),{},{class:G.default(k.class,e.hashId)}),{default:()=>[typeof h=="function"?h({prefixCls:n}):h]})}),S={[n]:1,[`${n}-${i}`]:1,[f.class]:!!f.class,[e.hashId]:!0,[_]:!!_};function V(){var r;P.length>0||(Reflect.deleteProperty(s.value,i),(r=e.onAllRemoved)===null||r===void 0||r.call(e))}return o.createVNode("div",{key:i,class:S,style:f.style||M||{top:"65px",left:"50%"}},[o.createVNode(o.TransitionGroup,d.default(d.default({tag:"div"},$.value),{},{onAfterLeave:V}),{default:()=>[R]})])});return o.createVNode(H.default,{getContainer:e.getContainer},{default:()=>[A]})}}}),z=D;exports.default=z;exports.getUuid=U;