UNPKG

ant-design-x-vue-next

Version:

Ant Design X for Vue — community continuation aligned with @ant-design/x

50 lines (49 loc) 1.4 kB
import { defineComponent as c, useSlots as g, computed as p, createVNode as o } from "vue"; import { b as r, R as m } from "../chunks/module-chunk.mjs"; import { Typography as d } from "ant-design-vue"; import { useGroupTitleContextInject as f } from "./context.mjs"; const T = /* @__PURE__ */ c({ name: "AXConversationsGroupTitle", __name: "GroupTitle", props: { collapsible: { type: Boolean }, expanded: { type: Boolean }, onToggle: { type: Function }, className: null, style: null }, setup(u) { const l = u, t = g(), i = f(), a = p(() => { var e; return (e = t.default) == null ? void 0 : e.call(t); }), s = p(() => !!l.collapsible); return () => { const e = i.value.prefixCls; return o("div", { class: r(`${e}-group-title`, l.className, { [`${e}-group-title-collapsible`]: s.value }), style: l.style, onClick: () => { var n; s.value && ((n = l.onToggle) == null || n.call(l)); } }, [a.value && o("div", { class: `${e}-group-label` }, [o(d.Text, null, { default: () => [a.value] })]), s.value && o("div", { class: r(`${e}-group-collapse-trigger`, `${e}-group-collapse-trigger-${l.expanded ? "open" : "close"}`) }, [o(m, null, null)])]); }; } }); export { T as default };