UNPKG

ant-design-x-vue

Version:

Craft AI-driven interfaces effortlessly

2 lines (1 loc) 3.58 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue"),A=require("../chunks/helper-chunk.js"),B=require("ant-design-vue"),E=require("../_util/hooks/use-x-component-config.js");require("../x-provider/index.js");const I=require("./hooks/useTypedEffect.js"),X=require("./hooks/useTypingConfig.js"),j=require("./loading.js"),M=require("./style/index.js"),D=require("./context.js"),F=require("../x-provider/hooks/use-x-provider-context.js"),H=t.defineComponent({name:"AXBubble",__name:"Bubble",props:{prefixCls:{},rootClassName:{},styles:{default:()=>({})},classNames:{default:()=>({})},avatar:{},placement:{default:"start"},loading:{type:Boolean,default:!1},typing:{},content:{default:""},messageRender:{},loadingRender:{},variant:{default:"filled"},shape:{},_key:{},onTypingComplete:{},header:{},footer:{}},setup(e,{expose:g}){const m=A.createPropsRestProxy(e,["prefixCls","rootClassName","classNames","styles","avatar","placement","loading","loadingRender","typing","content","messageRender","variant","shape","onTypingComplete","header","footer","_key"]);t.toRef(e,"content"),t.toRef(e,"prefixCls");const n=t.useSlots(),f=t.ref(e.content);t.watch(()=>e.content,()=>{f.value=e.content});const{onUpdate:r}=t.unref(D.useBubbleContextInject()),v=t.ref(null),{direction:b,getPrefixCls:h}=F.default(),a=h("bubble",e.prefixCls),l=E.default("bubble"),[N,C,V,y]=X.default(()=>e.typing),[s,u]=I.default(f,N,C,V),c=t.ref(!1);t.watch(s,()=>{r==null||r()}),t.watchEffect(()=>{var o;!u.value&&!e.loading?c.value||(c.value=!0,(o=e.onTypingComplete)==null||o.call(e)):c.value=!1});const[x,k,R]=M.default(()=>a),$=t.computed(()=>[a,e.rootClassName,l.value.className,k.value,R,`${a}-${e.placement}`,{[`${a}-rtl`]:b.value==="rtl"},{[`${a}-typing`]:u.value&&!e.loading&&!e.messageRender&&!n.message&&!y.value}]),q=o=>Array.isArray(o)&&o.every(t.isVNode),P=t.computed(()=>n.avatar?n.avatar():typeof e.avatar=="function"?e.avatar():t.isVNode(e.avatar)||q(e.avatar)?e.avatar:t.createVNode(B.Avatar,e.avatar,null)),T=t.computed(()=>n.message?n.message({content:s.value}):e.messageRender?e.messageRender(s.value):s.value),S=t.computed(()=>e.loading?n.loading?n.loading():e.loadingRender?e.loadingRender():t.createVNode(j.default,{prefixCls:a},null):t.createVNode(t.Fragment,null,[T.value,u.value&&t.toValue(y)])),w=t.computed(()=>{const o=t.createVNode("div",{style:{...l.value.styles.content,...e.styles.content},class:[`${a}-content`,`${a}-content-${e.variant}`,{[`${a}-content-${e.shape}`]:e.shape},l.value.classNames.content,e.classNames.content]},[t.toValue(S)]),i=n.header?n.header({content:s.value,info:{key:e._key}}):typeof e.header=="function"?e.header(s.value,{key:e._key}):e.header,d=n.footer?n.footer({content:s.value,info:{key:e._key}}):typeof e.footer=="function"?e.footer(s.value,{key:e._key}):e.footer;return i||d?t.createVNode("div",{class:`${a}-content-wrapper`},[i&&t.createVNode("div",{class:[`${a}-header`,l.value.classNames.header,e.classNames.header],style:{...l.value.styles.header,...e.styles.header}},[i]),o,d&&t.createVNode("div",{class:[`${a}-footer`,l.value.classNames.footer,e.classNames.footer],style:{...l.value.styles.footer,...e.styles.footer}},[d])]):o});return g({nativeElement:v}),()=>x(t.createVNode("div",t.mergeProps({style:{...l.value.style},class:t.toValue($)},m,{ref:v}),[(n.avatar||e.avatar)&&t.createVNode("div",{style:{...l.value.styles.avatar,...e.styles.avatar},class:[`${a}-avatar`,l.value.classNames.avatar,e.classNames.avatar]},[t.toValue(P)]),t.toValue(w)]))}});exports.default=H;