ant-design-x-vue-next
Version:
Ant Design X for Vue — community continuation aligned with @ant-design/x
2 lines (1 loc) • 4.97 kB
JavaScript
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("vue"),y=require("../chunks/module-chunk.js"),le=require("../_util/pick-attrs.js"),N=require("./interface.js"),oe=require("./ConversationsItem.js"),ae=require("./Creation.js"),A=require("./GroupTitle.js"),re=require("../_util/hooks/useMergedState.js");require("../x-provider/index.js");const ne=require("./hooks/useGroupable.js"),ce=require("./hooks/useCollapsible.js"),ue=require("../_util/hooks/use-x-component-config.js"),ie=require("../_util/hooks/use-shortcut-keys.js"),de=require("./style/index.js"),ve=require("./context.js");require("../transition-collapse/index.js");const ye=require("ant-design-vue"),me=require("../x-provider/hooks/use-x-provider-context.js"),pe=require("../transition-collapse/TransitionCollapse.js");function fe(d){return typeof d=="function"||Object.prototype.toString.call(d)==="[object Object]"&&!s.isVNode(d)}const _e=s.defineComponent({name:"AXConversations",__name:"Conversations",props:{items:null,activeKey:null,defaultActiveKey:null,onActiveChange:{type:Function},menu:{type:Function},groupable:null,styles:null,classNames:null,prefixCls:null,rootClassName:null,creation:null,shortcutKeys:null},setup(d,{expose:T}){const u=d,{prefixCls:w,rootClassName:j,items:D,activeKey:C,defaultActiveKey:O,onActiveChange:i,menu:b,styles:m={},classNames:p={},groupable:M,class:L,style:K,creation:Ce,shortcutKeys:be,...R}=u,q=s.ref(C),x=s.ref(null),X=s.computed(()=>le.default(R,{attr:!0,aria:!0,data:!0})),[E,V]=re.default(O,{value:q});s.watch(()=>C,()=>{q.value=C});const f=ne.default(()=>M,()=>D),{enableCollapse:F,expandedKeys:z,onItemExpand:B}=ce.default(()=>f.value.hasCollapsible,()=>f.value.collapsibleOptions),H=e=>{const t=e.name||"";if(e.title)return e.title(t,{components:{GroupTitle:A.default}});const l=e.label;return typeof l=="function"?l(t,{groupInfo:{name:e.name,data:e.data}}):l!=null&&l!==""?l:t},{getPrefixCls:J,direction:$}=me.default(),o=s.computed(()=>J("conversations",w)),a=ue.default("conversations"),[Q,U,W]=de.default(o),Y=s.computed(()=>{var e;return y.classnames(o.value,a.value.className,(e=a.value.classNames)==null?void 0:e.root,p.root,L,j,U.value,W,{[`${o.value}-rtl`]:$.value==="rtl"})}),Z=s.computed(()=>{var e;return{...typeof a.value.style=="object"?a.value.style:{},...typeof K=="object"?K:{},...((e=a.value.styles)==null?void 0:e.root)||{},...m.root||{}}}),I=e=>{V(e.key);const t=(u.items||[]).find(l=>!N.isDividerItem(l)&&l.key===e.key);i==null||i(e.key,t)},ee=s.computed(()=>(u.items||[]).filter(e=>!N.isDividerItem(e)&&!!(e!=null&&e.key))),{shortcutKeysInfo:se,subscribe:te}=ie.default("conversations",s.toRef(u,"shortcutKeys"));return te(e=>{switch(e==null?void 0:e.name){case"items":{const t=e.actionKeyCodeNumber!==!1?e.actionKeyCodeNumber:e.index;if(typeof t=="number"){const l=ee.value[t];l!=null&&l.key&&!l.disabled&&(V(l.key),i==null||i(l.key,l))}break}case"creation":{const t=u.creation;typeof(t==null?void 0:t.onClick)=="function"&&!(t!=null&&t.disabled)&&t.onClick();break}}}),T({nativeElement:x}),()=>{var l,P,g;const e=u.creation,t=(l=se.value)==null?void 0:l.creation;return Q(s.createVNode("ul",s.mergeProps(X.value,{ref:x,style:Z.value,class:Y.value}),[!!e&&s.createVNode(ae.default,s.mergeProps({className:y.classnames((P=a.value.classNames)==null?void 0:P.creation,p.creation),style:{...(g=a.value.styles)==null?void 0:g.creation,...m.creation},prefixCls:`${o.value}-creation`},e,{shortcutKeysIcon:Array.isArray(t==null?void 0:t.shortcutKeysIcon)&&!Array.isArray(t.shortcutKeysIcon[0])?t.shortcutKeysIcon:e.shortcutKeysIcon}),null),f.value.groupList.map((r,k)=>{var S,G;const h=(_=>_.map((n,v)=>{if(N.isDividerItem(n))return s.createVNode(ye.Divider,{key:n.key||`key-divider-${k}-${v}`,class:`${o.value}-divider`,dashed:n.dashed},null);const c=n;return s.createVNode(oe.default,{key:c.key||`key-${k}-${v}`,info:c,prefixCls:o.value,direction:$.value,class:y.classnames(p.item,a.value.classNames.item),style:{...a.value.styles.item,...m.item},menu:typeof b=="function"?b(c):b,active:E.value===c.key,onClick:I},null)}))(r.data);if(f.value.enableGroup&&r.enableGroup!==!1&&!!r.name){const _=r.name||`key-${k}`,n=!!(F.value&&r.collapsible&&r.name),v=!n||z.value.includes(r.name),c=H(r);return s.createVNode("li",{key:_,class:y.classnames((S=a.value.classNames)==null?void 0:S.group,p.group),style:{...((G=a.value.styles)==null?void 0:G.group)||{},...m.group||{}}},[s.createVNode(ve.GroupTitleContextProvider,{value:{prefixCls:o.value}},{default:()=>[s.createVNode(A.default,{collapsible:n,expanded:v,onToggle:()=>{r.name&&B(r.name)}},fe(c)?c:{default:()=>[c]})]}),n?s.createVNode(pe.default,{prefixCls:o.value},{default:()=>[s.withDirectives(s.createVNode("ul",{key:`list-${_}`,class:y.classnames(`${o.value}-list`,`${o.value}-group-collapsible-list`)},[h]),[[s.vShow,v]])]}):s.createVNode("ul",{class:`${o.value}-list`},[h])])}return h})]))}}});exports.default=_e;