UNPKG

@artmate/chat

Version:

**开箱即用的AI组件库(基于 Vue3 + ElementPlus)**

2 lines (1 loc) 4.89 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),M=require("element-plus"),H=require("../hooks/useNamespace.js"),L=require("./hooks/useTypedEffect.js"),w=require("./hooks/useTypingConfig.js"),N=require("./loading.vue.js");;/* empty css */const F=["innerHTML"],_=["innerHTML"],j=e.defineComponent({__name:"index",props:{avatar:{default:""},classNames:{},content:{default:void 0},loading:{type:Boolean,default:!1},loadingRender:{type:Function,default:void 0},messageRender:{},placement:{default:"start"},shape:{},styles:{default:()=>({})},typing:{type:[Boolean,Object],default:!1},variant:{default:"filled"}},emits:["update","typingComplete"],setup($,{expose:E,emit:z}){const n=$,d=z,o=H.useNamespace("bubble"),a=e.useSlots(),f=e.ref(),[R,T,V,s]=w.default(n.typing),q=e.computed(()=>n.content??""),[l,c]=L.default(q,R,T,V);e.watch(()=>l.value,()=>{d("update")});const r=e.computed(()=>{var t;return n.messageRender?n.messageRender(((t=l.value)==null?void 0:t.call(l))??""):l.value}),i=e.ref(!1);e.watch(()=>c.value||n.loading,()=>{!c.value&&!n.loading?i.value||(i.value=!0,d("typingComplete")):i.value=!1});const D=e.computed(()=>[o.b(),o.b(n.placement),{[o.b("typing")]:c.value&&!n.loading&&!n.messageRender&&!s}]);function p(t){return typeof t=="string"}function u(){return typeof l.value=="function"?l.value():l.value}return E({nativeElement:f}),(t,O)=>{var m,y,k,v,g,B,S,C,b,h;return e.openBlock(),e.createElementBlock("div",{ref_key:"divRef",ref:f,class:e.normalizeClass(D.value),style:e.normalizeStyle([e.unref(s)?`--cursor-char: ${e.unref(s)}`:""])},[e.unref(a).avatar||t.avatar?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass([e.unref(o).b("avatar"),(m=n.classNames)==null?void 0:m.avatar]),style:e.normalizeStyle((y=n.styles)==null?void 0:y.avatar)},[e.renderSlot(t.$slots,"avatar",{content:u()},()=>[typeof t.avatar=="string"?(e.openBlock(),e.createBlock(e.unref(M.ElAvatar),{key:0,size:32,src:t.avatar},null,8,["src"])):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.avatar),{key:1}))])],6)):e.createCommentVNode("",!0),e.unref(a).header||e.unref(a).footer?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass([e.unref(o).b("content-wrapper")])},[e.unref(a).header?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass([e.unref(o).b("header"),(k=n.classNames)==null?void 0:k.header]),style:e.normalizeStyle((v=n.styles)==null?void 0:v.header)},[e.renderSlot(t.$slots,"header",{content:u()})],6)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass([e.unref(o).b("content"),e.unref(o).b(`content-${n.variant}`),(g=n.classNames)==null?void 0:g.content,n.shape&&e.unref(o).b(`content-${n.placement}-${n.shape}`)]),style:e.normalizeStyle((B=n.styles)==null?void 0:B.content)},[n.loading?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.unref(a).loading?e.renderSlot(t.$slots,"loading",{key:0}):t.loadingRender?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.loadingRender()),{key:1})):(e.openBlock(),e.createBlock(N.default,{key:2,"prefix-cls":e.unref(o).b()},null,8,["prefix-cls"]))],64)):e.renderSlot(t.$slots,"content",{key:1,content:u()},()=>[p(r.value)?(e.openBlock(),e.createElementBlock("div",{key:1,innerHTML:r.value},null,8,F)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value),{key:0})),e.unref(c)?e.renderSlot(t.$slots,"suffix",{key:2},()=>[e.createTextVNode(e.toDisplayString(e.unref(s)),1)]):e.createCommentVNode("",!0)])],6),e.unref(a).footer?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass([e.unref(o).b("footer"),(S=n.classNames)==null?void 0:S.footer]),style:e.normalizeStyle((C=n.styles)==null?void 0:C.footer)},[e.renderSlot(t.$slots,"footer",{content:u()})],6)):e.createCommentVNode("",!0)],2)):(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass([e.unref(o).b("content"),e.unref(o).b(`content-${n.variant}`),(b=n.classNames)==null?void 0:b.content,n.shape&&e.unref(o).b(`content-${n.placement}-${n.shape}`)]),style:e.normalizeStyle((h=n.styles)==null?void 0:h.content)},[n.loading?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.unref(a).loading?e.renderSlot(t.$slots,"loading",{key:0}):t.loadingRender?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.loadingRender()),{key:1})):(e.openBlock(),e.createBlock(N.default,{key:2,"prefix-cls":e.unref(o).b()},null,8,["prefix-cls"]))],64)):e.renderSlot(t.$slots,"content",{key:1,content:u()},()=>[p(r.value)?(e.openBlock(),e.createElementBlock("div",{key:1,innerHTML:r.value},null,8,_)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value),{key:0})),e.unref(c)?e.renderSlot(t.$slots,"suffix",{key:2},()=>[e.createTextVNode(e.toDisplayString(e.unref(s)),1)]):e.createCommentVNode("",!0)])],6))],6)}}});exports.default=j;