UNPKG

ant-design-x-vue

Version:

Craft AI-driven interfaces effortlessly

105 lines (104 loc) 3.26 kB
import { defineComponent as $, mergeDefaults as S, toRef as n, ref as G, computed as m, watch as V, createVNode as s, mergeProps as X } from "vue"; import { a as j, c as v } from "../attachments/Attachments2.mjs"; import w from "../_util/pick-attrs.mjs"; import F from "./ConversationsItem.mjs"; import y from "./GroupTitle.mjs"; import M from "../_util/hooks/useMergedState.mjs"; import "../x-provider/index.mjs"; import R from "./hooks/useGroupable.mjs"; import T from "../_util/hooks/use-x-component-config.mjs"; import D from "./style/index.mjs"; import { GroupTitleContextProvider as L } from "./context.mjs"; import q from "../x-provider/hooks/use-x-provider-context.mjs"; const I = /* @__PURE__ */ $({ name: "AXConversations", __name: "Conversations", props: S({ 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 C = j(e, ["prefixCls", "rootClassName", "items", "activeKey", "defaultActiveKey", "onActiveChange", "menu", "styles", "classNames", "groupable", "class", "style"]); n(e, "class"), n(e, "activeKey"), n(e, "prefixCls"); const c = G(e.activeKey), f = m(() => w(C, { attr: !0, aria: !0, data: !0 })), [d, x] = M(e.defaultActiveKey, { value: c }); V(() => e.activeKey, () => { c.value = e.activeKey; }); const u = R(() => e.groupable, () => e.items), { getPrefixCls: k, direction: r } = q(), l = m(() => k("conversations", e.prefixCls)), i = T("conversations"), [K, A, N] = D(l), g = m(() => v(l.value, i.value.className, e.class, e.rootClassName, A.value, N, { [`${l.value}-rtl`]: r.value === "rtl" })), P = (t) => { x(t.key), e.onActiveChange && e.onActiveChange(t.key); }; return () => K(s("ul", X(f.value, { style: { ...typeof i.value.style == "object" ? i.value.style : {}, ...typeof e.style == "object" ? e.style : {} }, class: g.value }), [u.value.groupList.map((t, b) => { const o = t.data.map((a, h) => s(F, { key: a.key || `key-${h}`, info: a, prefixCls: l.value, direction: r.value, class: v(e.classNames.item, i.value.classNames.item), style: { ...i.value.styles.item, ...e.styles.item }, menu: typeof e.menu == "function" ? e.menu(a) : e.menu, active: d.value === a.key, onClick: P }, null)); return u.value.enableGroup ? s("li", { key: t.name || `key-${b}` }, [s(L, { value: { prefixCls: l.value } }, { default: () => { var a; return [((a = t.title) == null ? void 0 : a.call(t, t.name, { components: { GroupTitle: y } })) || s(y, { key: t.name }, { default: () => [t.name] })]; } }), s("ul", { class: `${l.value}-list` }, [o])]) : o; })])); } }); export { I as default };