vexip-ui
Version:
A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good
3 lines (2 loc) • 3.31 kB
JavaScript
"use strict";const e=require("vue");require("../icon/index.cjs");require("../renderer/index.cjs");require("../popup/index.cjs");const i=require("@vexip-ui/config"),s=require("./symbol.cjs"),b=require("../popup/popup.vue2.cjs"),t=require("../icon/icon.cjs"),m=require("../renderer/renderer.cjs"),_=["aria-live"],g=["innerHTML"],B=["onClick"],C=e.defineComponent({name:"Message",__name:"message",setup(z,{expose:p}){const o=i.useNameHelper("message"),c=i.useIcons(),f=e.computed(()=>({primary:c.value.info,info:c.value.info,success:c.value.success,warning:c.value.warning,error:c.value.error})),a=e.ref("top"),r=e.ref(),y=e.computed(()=>`${a.value}-center`);async function d(l){r.value&&await r.value.add(l)}async function u(l){return!!r.value&&await r.value.remove(l)}function v(l){a.value=l.placement||a.value}function k(){r.value&&r.value.clear()}return p(e.reactive({popup:r,add:d,remove:u,clear:k,config:v})),(l,q)=>(e.openBlock(),e.createBlock(e.unref(b),{ref_key:"popup",ref:r,class:e.normalizeClass(e.unref(o).b()),"transition-name":e.unref(o).ns(`popup-${a.value}`),placement:y.value},{item:e.withCtx(({item:n})=>[e.createElementVNode("div",{class:e.normalizeClass([{[e.unref(o).be("item")]:!0,[e.unref(o).bs("vars")]:!0,[e.unref(o).bem("item",n.type)]:n.type&&e.unref(s.effectiveTypes).includes(n.type),[e.unref(o).bem("item","background")]:n.background,[e.unref(o).bem("item","color")]:n.background&&n.color,[e.unref(o).bem("item","color-only")]:!n.background&&n.color,[e.unref(o).bem("item","has-icon")]:n.icon,[e.unref(o).bem("item","closable")]:n.closable},n.className]),role:"alert",style:e.normalizeStyle([{color:typeof n.color=="string"?n.color:void 0,backgroundColor:typeof n.background=="string"?n.background:void 0},n.style||{}]),"aria-atomic":"true","aria-live":n.type&&e.unref(s.assertiveTypes).includes(n.type)?"assertive":"polite"},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(o).be("wrapper"))},[n.icon||n.type&&e.unref(s.effectiveTypes).includes(n.type)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(o).be("icon")),style:e.normalizeStyle({color:n.iconColor})},[n.icon?(e.openBlock(),e.createBlock(e.unref(t),{key:0,icon:n.icon,style:e.normalizeStyle([{color:n.iconColor},n.icon.style])},null,8,["icon","style"])):(e.openBlock(),e.createBlock(e.unref(t),e.mergeProps({key:1},f.value[n.type],{style:{color:n.iconColor}}),null,16,["style"]))],6)):e.createCommentVNode("",!0),typeof n.renderer=="function"?(e.openBlock(),e.createBlock(e.unref(m),{key:1,renderer:n.renderer,data:n},null,8,["renderer","data"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[n.parseHtml?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(o).be("content")),innerHTML:n.content},null,10,g)):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(o).be("content"))},e.toDisplayString(n.content||""),3))],64))],2),n.closable?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:e.normalizeClass(e.unref(o).be("close")),onClick:h=>u(n.key)},[e.createVNode(e.unref(t),e.mergeProps(e.unref(c).close,{label:"close"}),null,16)],10,B)):e.createCommentVNode("",!0)],14,_)]),_:1},8,["class","transition-name","placement"]))}});module.exports=C;
//# sourceMappingURL=message.vue2.cjs.map