UNPKG

@artmate/chat

Version:

**开箱即用的AI组件库(基于 Vue3 + ElementPlus)**

114 lines (113 loc) 3.92 kB
import { defineComponent as V, useSlots as E, useId as F, computed as z, createElementBlock as a, openBlock as l, normalizeStyle as d, normalizeClass as n, unref as t, createElementVNode as i, withDirectives as D, createCommentVNode as r, renderSlot as m, createTextVNode as H, createVNode as $, withCtx as I, toDisplayString as g, vShow as K } from "vue"; import { ArrowRightBold as T } from "@element-plus/icons-vue"; import { ElIcon as _ } from "element-plus"; import { useNamespace as A } from "../hooks/useNamespace.js"; const O = { key: 0 }, L = /* @__PURE__ */ V({ __name: "item", props: { info: { default: () => ({}) }, nextStatus: {}, headerClick: { type: Function, default: () => { } }, expandedKeys: {}, className: {}, style: {}, classNames: {}, styles: {}, enableCollapse: { type: Boolean } }, setup(w) { const e = w, o = A("thought-chain-item"), c = E(), u = F(), B = () => { var s; return (s = e.headerClick) == null ? void 0 : s.call(e, u); }, f = z(() => { var s; return (s = e.expandedKeys) == null ? void 0 : s.includes(u); }); return (s, R) => { var p, y, b, h, C, v, N, k, S, x; return l(), a("div", { class: n([ t(o).b(), ((p = e.info) == null ? void 0 : p.status) && t(o).b(`${e.info.status}${s.nextStatus ? `-${s.nextStatus}` : ""}`), e.className ]), style: d(e.style) }, [ i("div", { class: n([t(o).b("header"), (y = e.classNames) == null ? void 0 : y.itemHeader]), style: d((b = e.styles) == null ? void 0 : b.itemHeader), onClick: B }, [ i("div", { class: n([t(o).b("icon")]) }, [ m(s.$slots, "icon", { info: e.info }) ], 2), i("div", { class: n([t(o).b("header-box"), s.enableCollapse && t(c).content]) }, [ i("span", { class: n([t(o).b("title")]) }, [ i("strong", null, [ e.enableCollapse && t(c).content ? (l(), a("div", O, [ $(t(_), { class: n([t(o).b("collapse-icon"), f.value && "rotate"]) }, { default: I(() => [ $(t(T)) ]), _: 1 }, 8, ["class"]) ])) : r("", !0), H(" " + g((h = e.info) == null ? void 0 : h.title), 1) ]) ], 2), (C = e.info) != null && C.description ? (l(), a("span", { key: 0, class: n([t(o).b("desc")]) }, g((v = e.info) == null ? void 0 : v.description), 3)) : r("", !0) ], 2), t(c).extra ? (l(), a("div", { key: 0, class: n([t(o).b("extra")]) }, [ m(s.$slots, "extra", { info: e.info }) ], 2)) : r("", !0) ], 6), t(c).content ? D((l(), a("div", { key: 0, class: n([t(o).b("content")]) }, [ i("div", { class: n([t(o).b("content-box"), (N = e.classNames) == null ? void 0 : N.itemContent]), style: d((k = e.styles) == null ? void 0 : k.itemContent) }, [ m(s.$slots, "content", { info: e.info }) ], 6) ], 2)), [ [K, e.enableCollapse ? f.value : !0] ]) : r("", !0), t(c).footer ? (l(), a("div", { key: 1, class: n([t(o).b("footer"), (S = e.classNames) == null ? void 0 : S.itemFooter]), style: d((x = e.styles) == null ? void 0 : x.itemFooter) }, [ m(s.$slots, "footer", { info: e.info }) ], 6)) : r("", !0) ], 6); }; } }); export { L as default };