UNPKG

ll-package

Version:

2 lines (1 loc) 1.58 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const x=require("../../../@babel/runtime/helpers/esm/objectSpread2.js"),e=require("vue"),U=require("../_util/classNames.js"),_=e.defineComponent({name:"Notice",inheritAttrs:!1,props:["prefixCls","duration","updateMark","noticeKey","closeIcon","closable","props","onClick","onClose","holder","visible"],setup(l,V){let{attrs:p,slots:r}=V,i,M=!1;const v=e.computed(()=>l.duration===void 0?4.5:l.duration),b=()=>{v.value&&!M&&(i=setTimeout(()=>{N()},v.value*1e3))},c=()=>{i&&(clearTimeout(i),i=null)},N=t=>{t&&t.stopPropagation(),c();const{onClose:o,noticeKey:s}=l;o&&o(s)},k=()=>{c(),b()};return e.onMounted(()=>{b()}),e.onUnmounted(()=>{M=!0,c()}),e.watch([v,()=>l.updateMark,()=>l.visible],(t,o)=>{let[s,u,m]=t,[C,d,f]=o;(s!==C||u!==d||m!==f&&f)&&k()},{flush:"post"}),()=>{var t,o;const{prefixCls:s,closable:u,closeIcon:m=(t=r.closeIcon)===null||t===void 0?void 0:t.call(r),onClick:C,holder:d}=l,{class:f,style:$}=p,n=`${s}-notice`,w=Object.keys(p).reduce((h,a)=>((a.startsWith("data-")||a.startsWith("aria-")||a==="role")&&(h[a]=p[a]),h),{}),T=e.createVNode("div",x.default({class:U.default(n,f,{[`${n}-closable`]:u}),style:$,onMouseenter:c,onMouseleave:b,onClick:C},w),[e.createVNode("div",{class:`${n}-content`},[(o=r.default)===null||o===void 0?void 0:o.call(r)]),u?e.createVNode("a",{tabindex:0,onClick:N,class:`${n}-close`},[m||e.createVNode("span",{class:`${n}-close-x`},null)]):null]);return d?e.createVNode(e.Teleport,{to:d},{default:()=>T}):T}}});exports.default=_;