@artmate/chat
Version:
借鉴字节开源react库AntX,通过vue实现的版本
2 lines (1 loc) • 1.47 kB
JavaScript
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),u=require("element-plus"),c=require("../hooks/useNamespace.js"),d=e.defineComponent({__name:"header",props:{open:{type:Boolean,default:!1},title:{default:""},closable:{type:Boolean,default:!0},className:{default:""}},emits:["update:open","onOpenChange"],setup(a,{emit:r}){const i=a,o=r,l=c.useNamespace("sender-header"),n=e.useSlots();return e.watch(()=>i.open,t=>{o("onOpenChange",t)}),(t,s)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(l).b(),t.className])},[t.closable!==!1||t.title||e.unref(n).title?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(l).b("header"))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(l).b("title"))},[e.renderSlot(t.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(l).b("close"))},[e.withDirectives(e.createVNode(e.unref(u.ElButton),{icon:"Close",link:"",size:"large",type:"info",onClick:s[0]||(s[0]=m=>o("update:open",!1))},null,512),[[e.vShow,t.closable]])],2)],2)):e.createCommentVNode("",!0),e.unref(n).default?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(l).b("content"))},[e.renderSlot(t.$slots,"default")],2)):e.createCommentVNode("",!0)],2)),[[e.vShow,t.open]])}});exports.default=d;