UNPKG

ant-design-x-vue-next

Version:

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

154 lines (153 loc) 4.54 kB
import { defineComponent as F, ref as H, computed as a, createVNode as c, mergeProps as P } from "vue"; import { b as o } from "../chunks/module-chunk.mjs"; import S from "../_util/pick-attrs.mjs"; import "../x-provider/index.mjs"; import k from "../_util/hooks/use-x-component-config.mjs"; import z from "./hooks/useCollapsible.mjs"; import T from "./style/index.mjs"; import { ThoughtChainNodeContextProvider as V } from "./context.mjs"; import X from "./item.mjs"; import j from "../x-provider/hooks/use-x-provider-context.mjs"; const O = /* @__PURE__ */ F({ name: "AXThoughtChain", __name: "ThoughtChain", props: { items: null, collapsible: { type: Boolean }, defaultExpandedKeys: null, expandedKeys: null, onExpand: { type: Function }, line: { type: [Boolean, String], default: !0 }, size: { default: "middle" }, styles: { default: () => ({}) }, classNames: { default: () => ({}) }, prefixCls: null, rootClassName: null }, setup(y, { expose: v }) { const e = y, d = H(null), C = a(() => { const s = S(e, { attr: !0, aria: !0, data: !0 }), { class: m, style: u, size: n, title: i, ...r } = s; return r; }), { getPrefixCls: p, direction: f } = j(), h = a(() => p()), l = a(() => p("thought-chain", e.prefixCls)), t = k("thoughtChain"), [x, N, g] = z(() => ({ collapsible: e.collapsible, defaultExpandedKeys: e.defaultExpandedKeys, expandedKeys: e.expandedKeys, onExpand: e.onExpand }), l.value, h.value), [_, b, E] = T(l), I = a(() => { const { line: s } = e; if (s === !1) return `${l.value}-line-false`; if (s === "dashed") return `${l.value}-line-dashed`; if (s === "dotted") return `${l.value}-line-dotted`; }), K = a(() => { var s; return o(e.class, e.className, e.rootClassName, l.value, t.value.className, (s = t.value.classNames) == null ? void 0 : s.root, e.classNames.root, b.value, E, I.value, { [`${l.value}-rtl`]: f.value === "rtl" }, `${l.value}-${e.size}`); }), $ = a(() => { var s; return { ...typeof t.value.style == "object" ? t.value.style : {}, ...((s = t.value.styles) == null ? void 0 : s.root) || {}, ...typeof e.style == "object" ? e.style : {}, ...e.styles.root || {} }; }); return v({ nativeElement: d }), () => { var s, m; return _(c("div", P(C.value, { ref: d, class: K.value, style: $.value }), [c(V, { value: { prefixCls: l.value, enableCollapse: x.value, expandedKeys: N.value, direction: f.value, line: e.line, classNames: { itemHeader: o(t.value.classNames.itemHeader, e.classNames.itemHeader), itemIcon: o((s = t.value.classNames) == null ? void 0 : s.itemIcon, e.classNames.itemIcon), itemContent: o(t.value.classNames.itemContent, e.classNames.itemContent), itemFooter: o(t.value.classNames.itemFooter, e.classNames.itemFooter) }, styles: { itemHeader: { ...t.value.styles.itemHeader, ...e.styles.itemHeader }, itemIcon: { ...((m = t.value.styles) == null ? void 0 : m.itemIcon) || {}, ...e.styles.itemIcon || {} }, itemContent: { ...t.value.styles.itemContent, ...e.styles.itemContent }, itemFooter: { ...t.value.styles.itemFooter, ...e.styles.itemFooter } } } }, { default: () => { var u; return [(u = e.items) == null ? void 0 : u.map((n, i) => { var r; return c(X, { key: n.key || `key_${i}`, class: o(t.value.classNames.item, e.classNames.item), style: { ...t.value.styles.item, ...e.styles.item }, line: e.line, info: { ...n, icon: n.icon || i + 1 }, onClick: g, nextStatus: ((r = e.items[i + 1]) == null ? void 0 : r.status) || n.status }, null); })]; } })])); }; } }); export { O as default };