ant-design-x-vue
Version:
Craft AI-driven interfaces effortlessly
130 lines (129 loc) • 3.8 kB
JavaScript
import { defineComponent as q, mergeDefaults as F, toRef as f, computed as o, createVNode as r, mergeProps as H } from "vue";
import { c as S, _ as T } from "../chunks/helper-chunk.mjs";
import { b as a } from "../chunks/module-chunk.mjs";
import j 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 $ from "./style/index.mjs";
import { ThoughtChainNodeContextProvider as A } from "./context.mjs";
import O from "./item.mjs";
import V from "../x-provider/hooks/use-x-provider-context.mjs";
const X = /* @__PURE__ */ q({
name: "AXThoughtChain",
__name: "ThoughtChain",
props: F({
items: {
type: Array,
required: !1
},
collapsible: {
type: [Boolean, Object],
required: !1
},
size: {
type: null,
required: !1
},
styles: {
type: Object,
required: !1
},
classNames: {
type: Object,
required: !1
},
prefixCls: {
type: String,
required: !1
},
rootClassName: {
type: String,
required: !1
}
}, {
styles: () => ({}),
classNames: () => ({}),
size: "middle"
}),
setup(e, {
expose: C
}) {
C();
const d = S(e, ["prefixCls", "rootClassName", "class", "items", "collapsible", "styles", "style", "classNames", "size"]);
f(e, "class"), f(e, "prefixCls");
const y = o(() => j(d, {
attr: !0,
aria: !0,
data: !0
})), {
getPrefixCls: m,
direction: n
} = V(), h = o(() => m()), s = o(() => m("thought-chain", e.prefixCls)), t = k("thoughtChain"), [
v,
g,
x
// collapseMotion
] = z(() => e.collapsible, s.value, h.value), [N, p, b] = $(s), P = o(() => a(e.class, e.rootClassName, s.value, t.value.className, p.value, b, {
[`${s.value}-rtl`]: n.value === "rtl"
}, `${s.value}-${e.size}`));
return () => N(r("div", H(y.value, {
class: P.value,
style: {
...typeof t.value.style == "object" ? t.value.style : {},
...typeof e.style == "object" ? e.style : {}
}
}), [r(A, {
value: {
prefixCls: s.value,
enableCollapse: v.value,
// collapseMotion,
expandedKeys: g.value,
direction: n.value,
classNames: {
itemHeader: a(t.value.classNames.itemHeader, e.classNames.itemHeader),
itemContent: a(t.value.classNames.itemContent, e.classNames.itemContent),
itemFooter: a(t.value.classNames.itemFooter, e.classNames.itemFooter)
},
styles: {
itemHeader: {
...t.value.styles.itemHeader,
...e.styles.itemHeader
},
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((l, i) => {
var c;
return r(O, {
key: l.key || `key_${i}`,
class: a(t.value.classNames.item, e.classNames.item),
style: {
...t.value.styles.item,
...e.styles.item
},
info: {
...l,
icon: l.icon || i + 1
},
onClick: x,
nextStatus: ((c = e.items[i + 1]) == null ? void 0 : c.status) || l.status
}, null);
})];
}
})]));
}
}), M = /* @__PURE__ */ T(X, [["__file", "/Users/wangzhichao/办公/code/github/ant-design-x-vue-pure/ant-design-x-vue/src/thought-chain/ThoughtChain.vue"]]);
export {
M as default
};