ant-design-x-vue
Version:
Craft AI-driven interfaces effortlessly
2 lines (1 loc) • 2.62 kB
JavaScript
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue"),A=require("../chunks/helper-chunk.js"),r=require("../chunks/module-chunk.js"),P=require("../_util/pick-attrs.js"),b=require("./ConversationsItem.js"),v=require("./GroupTitle.js"),V=require("../_util/hooks/useMergedState.js");require("../x-provider/index.js");const S=require("./hooks/useGroupable.js"),G=require("../_util/hooks/use-x-component-config.js"),M=require("./style/index.js"),R=require("./context.js"),T=require("../x-provider/hooks/use-x-provider-context.js"),$=t.defineComponent({name:"AXConversations",__name:"Conversations",props:t.mergeDefaults({items:null,activeKey:null,defaultActiveKey:null,onActiveChange:{type:Function},menu:{type:Function},groupable:null,styles:null,classNames:null,prefixCls:null,rootClassName:null},{styles:()=>({}),classNames:()=>({})}),setup(e){const m=A.createPropsRestProxy(e,["prefixCls","rootClassName","items","activeKey","defaultActiveKey","onActiveChange","menu","styles","classNames","groupable","class","style"]);t.toRef(e,"class"),t.toRef(e,"activeKey"),t.toRef(e,"prefixCls");const n=t.ref(e.activeKey),d=t.computed(()=>P.default(m,{attr:!0,aria:!0,data:!0})),[y,C]=V.default(e.defaultActiveKey,{value:n});t.watch(()=>e.activeKey,()=>{n.value=e.activeKey});const c=S.default(()=>e.groupable,()=>e.items),{getPrefixCls:f,direction:i}=T.default(),l=t.computed(()=>f("conversations",e.prefixCls)),u=G.default("conversations"),[k,x,N]=M.default(l),h=t.computed(()=>r.classnames(l.value,u.value.className,e.class,e.rootClassName,x.value,N,{[`${l.value}-rtl`]:i.value==="rtl"})),q=s=>{C(s.key),e.onActiveChange&&e.onActiveChange(s.key)};return()=>k(t.createVNode("ul",t.mergeProps(d.value,{style:{...typeof u.value.style=="object"?u.value.style:{},...typeof e.style=="object"?e.style:{}},class:h.value}),[c.value.groupList.map((s,K)=>{const o=s.data.map((a,g)=>t.createVNode(b.default,{key:a.key||`key-${g}`,info:a,prefixCls:l.value,direction:i.value,class:r.classnames(e.classNames.item,u.value.classNames.item),style:{...u.value.styles.item,...e.styles.item},menu:typeof e.menu=="function"?e.menu(a):e.menu,active:y.value===a.key,onClick:q},null));return c.value.enableGroup?t.createVNode("li",{key:s.name||`key-${K}`},[t.createVNode(R.GroupTitleContextProvider,{value:{prefixCls:l.value}},{default:()=>{var a;return[((a=s.title)==null?void 0:a.call(s,s.name,{components:{GroupTitle:v.default}}))||t.createVNode(v.default,{key:s.name},{default:()=>[s.name]})]}}),t.createVNode("ul",{class:`${l.value}-list`},[o])]):o})]))}});exports.default=$;