@ai-group/chat-sdk 3.5.13 → 3.6.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/cjs/components/FileGallery/index.js +1 -1
  2. package/dist/cjs/components/FileGallery/index.js.map +1 -1
  3. package/dist/cjs/components/FolderTree/DirectoryTree.d.ts +6 -0
  4. package/dist/cjs/components/FolderTree/DirectoryTree.js +5 -2
  5. package/dist/cjs/components/FolderTree/DirectoryTree.js.map +2 -2
  6. package/dist/cjs/components/FolderTree/index.js +28 -27
  7. package/dist/cjs/components/FolderTree/index.js.map +2 -2
  8. package/dist/cjs/components/FolderTree/styles.js +4 -1
  9. package/dist/cjs/components/FolderTree/styles.js.map +2 -2
  10. package/dist/cjs/components/FolderTree/types.d.ts +5 -0
  11. package/dist/cjs/components/FolderTree/types.js.map +1 -1
  12. package/dist/cjs/components/XAdkProvider/index.js +2 -0
  13. package/dist/cjs/components/XAdkProvider/index.js.map +2 -2
  14. package/dist/cjs/components/XAdkThoughtChain/index.js +75 -39
  15. package/dist/cjs/components/XAdkThoughtChain/index.js.map +2 -2
  16. package/dist/cjs/components/XAdkThoughtChain/styles.js +27 -26
  17. package/dist/cjs/components/XAdkThoughtChain/styles.js.map +2 -2
  18. package/dist/cjs/index.d.ts +2 -1
  19. package/dist/cjs/index.js +9 -0
  20. package/dist/cjs/index.js.map +2 -2
  21. package/dist/cjs/styles/tokens.d.ts +27 -0
  22. package/dist/cjs/styles/tokens.js +72 -0
  23. package/dist/cjs/styles/tokens.js.map +7 -0
  24. package/dist/cjs/types/XAdkThoughtChain.d.ts +13 -0
  25. package/dist/cjs/types/XAdkThoughtChain.js.map +1 -1
  26. package/dist/esm/components/FileGallery/index.js +1 -1
  27. package/dist/esm/components/FileGallery/index.js.map +1 -1
  28. package/dist/esm/components/FolderTree/DirectoryTree.d.ts +6 -0
  29. package/dist/esm/components/FolderTree/DirectoryTree.js +6 -2
  30. package/dist/esm/components/FolderTree/DirectoryTree.js.map +1 -1
  31. package/dist/esm/components/FolderTree/index.js +32 -28
  32. package/dist/esm/components/FolderTree/index.js.map +1 -1
  33. package/dist/esm/components/FolderTree/styles.js +2 -2
  34. package/dist/esm/components/FolderTree/styles.js.map +1 -1
  35. package/dist/esm/components/FolderTree/types.d.ts +5 -0
  36. package/dist/esm/components/FolderTree/types.js.map +1 -1
  37. package/dist/esm/components/XAdkProvider/index.js +3 -2
  38. package/dist/esm/components/XAdkProvider/index.js.map +1 -1
  39. package/dist/esm/components/XAdkThoughtChain/index.js +100 -50
  40. package/dist/esm/components/XAdkThoughtChain/index.js.map +1 -1
  41. package/dist/esm/components/XAdkThoughtChain/styles.js +20 -19
  42. package/dist/esm/components/XAdkThoughtChain/styles.js.map +1 -1
  43. package/dist/esm/index.d.ts +2 -1
  44. package/dist/esm/index.js +3 -0
  45. package/dist/esm/index.js.map +1 -1
  46. package/dist/esm/styles/tokens.d.ts +27 -0
  47. package/dist/esm/styles/tokens.js +42 -0
  48. package/dist/esm/styles/tokens.js.map +1 -0
  49. package/dist/esm/types/XAdkThoughtChain.d.ts +13 -0
  50. package/dist/esm/types/XAdkThoughtChain.js.map +1 -1
  51. package/dist/umd/chat-sdk.min.js +1 -1
  52. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","useEffect","CheckCircleFilled","SyncOutlined","ThunderboltOutlined","PartitionOutlined","RightOutlined","DownOutlined","MarkdownRender","FunctionCallRender","useStyles","defaultToolKindResolver","cleanProcessText","jsx","_jsx","jsxs","_jsxs","TimelineItem","_ref","icon","title","children","_ref$collapsible","collapsible","_ref$defaultOpen","defaultOpen","blink","_useState","_useState2","_slicedToArray","isOpen","setIsOpen","styles","className","timelineItem","timelineLeft","timelineConnector","timelineRight","collapsibleHeader","onClick","undefined","arrowIcon","stepContent","TimelineTextItem","_ref2","item","timelineIcon","titleText","text","content","TimelineToolItem","_ref3","_msg$functionCall","_msg$functionCall2","_msg$functionCall3","_msg$functionResponse","_msg$functionResponse2","_renderFunctionCall","msg","onConfirm","showFnCallDetail","renderFunctionCall","toolKindResolver","strategies","fnName","functionCall","name","kind","needsConfirm","functionResponse","isDone","toolName","args","componentName","statusInfo","response","processData","output","titleNode","toolTitleGroup","toolStatusTag","timelineIconTool","showDetail","renderApproval","renderHandoff","XAdkThoughtChain","_ref4","_ref4$defaultOpen","_ref4$showFnCallDetai","_ref4$title","_ref4$items","items","loading","_ref4$blink","_ref4$toolKindResolve","_useState3","_useState4","Promise","resolve","then","shouldBlink","thoughtChainBlock","thoughtHeader","headerLeft","statusIcon","spin","style","color","concat","headerTitle","caret","thinkingBody","timeline","map","i","type","key"],"sources":["../../../../src/components/XAdkThoughtChain/index.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport {\n CheckCircleFilled,\n SyncOutlined,\n ThunderboltOutlined,\n PartitionOutlined,\n RightOutlined,\n DownOutlined,\n} from \"@ant-design/icons\";\nimport MarkdownRender from \"@/components/XAdkChatbot/components/MarkdownRender\";\nimport FunctionCallRender from \"@/components/XAdkChatbot/components/FunctionCallRender\";\nimport { useStyles } from \"./styles\";\nimport {\n XAdkThoughtChainProps,\n ThoughtChainItemType,\n TimelineItemProps,\n FunctionCall,\n IMessage,\n RenderFunctionCall,\n ToolRenderKind,\n} from \"@/types\";\nimport { defaultToolKindResolver } from \"@/types/FunctionCallRender\";\nimport { cleanProcessText } from \"@/utils\";\n\nconst TimelineItem = ({\n icon,\n title,\n children,\n collapsible = true,\n defaultOpen = true,\n blink,\n}: TimelineItemProps) => {\n const [isOpen, setIsOpen] = useState(defaultOpen);\n const styles = useStyles();\n\n return (\n <div className={styles.timelineItem}>\n <div className={styles.timelineLeft}>\n {icon}\n <div className={styles.timelineConnector} />\n </div>\n <div className={styles.timelineRight}>\n <div\n className={styles.collapsibleHeader}\n onClick={() => (collapsible ? setIsOpen(!isOpen) : undefined)}\n >\n <div className={blink ? styles.blink : undefined}>{title}</div>\n {collapsible && (\n <span className={styles.arrowIcon}>\n {isOpen ? <DownOutlined /> : <RightOutlined />}\n </span>\n )}\n </div>\n\n {isOpen && <div className={styles.stepContent}>{children}</div>}\n </div>\n </div>\n );\n};\n\nconst TimelineTextItem: React.FC<{\n item: ThoughtChainItemType;\n blink?: boolean;\n}> = ({ item, blink }) => {\n return (\n <TimelineItem\n icon={\n <span className={useStyles().timelineIcon}>\n <PartitionOutlined />\n </span>\n }\n title={<span className={useStyles().titleText}>{item.title}</span>}\n blink={blink}\n >\n <MarkdownRender text={cleanProcessText(item.content)} />\n </TimelineItem>\n );\n};\n\nconst TimelineToolItem: React.FC<{\n msg: IMessage;\n collapsible?: boolean;\n showFnCallDetail: boolean;\n onConfirm?: (fnCall: FunctionCall, confirmed: boolean) => void;\n blink?: boolean;\n renderFunctionCall?: RenderFunctionCall;\n toolKindResolver: (name: string | undefined) => ToolRenderKind;\n strategies?: XAdkThoughtChainProps[\"strategies\"];\n}> = ({\n msg,\n collapsible,\n onConfirm,\n showFnCallDetail,\n blink,\n renderFunctionCall,\n toolKindResolver,\n strategies,\n}) => {\n const styles = useStyles();\n const fnName = msg.functionCall?.name;\n const kind = toolKindResolver(fnName);\n const needsConfirm = msg.functionCall && !msg.functionResponse;\n const isDone = !!msg.functionResponse;\n\n const toolName =\n msg.functionCall?.args?.componentName ||\n msg.functionCall?.name ||\n \"组件执行\";\n\n const statusInfo =\n msg.functionResponse?.response?.processData ||\n msg.functionResponse?.response?.output;\n\n const titleNode = (\n <div className={styles.toolTitleGroup}>\n <span className={styles.toolName}>{toolName}</span>\n {isDone && <span className={styles.toolStatusTag}>执行成功</span>}\n </div>\n );\n\n return (\n <TimelineItem\n icon={\n <span className={styles.timelineIconTool}>\n <ThunderboltOutlined />\n </span>\n }\n title={titleNode}\n collapsible={collapsible}\n defaultOpen={needsConfirm}\n blink={blink}\n >\n {statusInfo && typeof statusInfo === \"string\" && (\n <div className={styles.statusInfo}>{statusInfo}</div>\n )}\n {renderFunctionCall?.(msg) ?? (\n <FunctionCallRender\n msg={msg}\n showDetail={showFnCallDetail}\n onConfirm={onConfirm}\n kind={kind}\n renderApproval={strategies?.renderApproval}\n renderHandoff={strategies?.renderHandoff}\n />\n )}\n </TimelineItem>\n );\n};\n\nconst XAdkThoughtChain: React.FC<XAdkThoughtChainProps> = ({\n defaultOpen = false,\n showFnCallDetail = false,\n title = \"思维链已完成\",\n items = [],\n loading,\n blink = false,\n onConfirm,\n renderFunctionCall,\n toolKindResolver = defaultToolKindResolver,\n strategies,\n}) => {\n const styles = useStyles();\n const [isOpen, setIsOpen] = useState(defaultOpen);\n useEffect(() => {\n if (loading) Promise.resolve().then(() => setIsOpen(true));\n }, [loading]);\n\n const shouldBlink = blink && loading;\n\n return (\n <div className={styles.thoughtChainBlock}>\n <div className={styles.thoughtHeader} onClick={() => setIsOpen(!isOpen)}>\n <div className={styles.headerLeft}>\n <div className={styles.statusIcon}>\n {loading ? (\n <SyncOutlined spin style={{ color: \"#1677ff\" }} />\n ) : (\n <CheckCircleFilled style={{ color: \"#52c41a\" }} />\n )}\n </div>\n <span\n className={`${styles.headerTitle}${shouldBlink ? ` ${styles.blink}` : \"\"}`}\n >\n {loading ? \"深度思考与执行中...\" : title}\n </span>\n <div className={`${styles.caret} ${isOpen ? \"open\" : \"\"}`}>\n <RightOutlined />\n </div>\n </div>\n </div>\n {isOpen && (\n <div className={styles.thinkingBody}>\n <div className={styles.timeline}>\n {items.map((item, i) =>\n item.type === \"text\" ? (\n <TimelineTextItem\n key={item.key || i}\n item={item}\n blink={shouldBlink}\n />\n ) : (\n <TimelineToolItem\n key={`tool-${item.key || i}`}\n msg={item.msg!}\n collapsible={item.collapsible}\n showFnCallDetail={showFnCallDetail}\n onConfirm={onConfirm}\n blink={shouldBlink}\n renderFunctionCall={renderFunctionCall}\n toolKindResolver={toolKindResolver}\n strategies={strategies}\n />\n ),\n )}\n </div>\n </div>\n )}\n </div>\n );\n};\n\nexport default XAdkThoughtChain;\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","useState","useEffect","CheckCircleFilled","CloseCircleFilled","ClockCircleOutlined","SyncOutlined","ThunderboltOutlined","PartitionOutlined","RightOutlined","DownOutlined","MarkdownRender","FunctionCallRender","useStyles","defaultToolKindResolver","cleanProcessText","jsx","_jsx","jsxs","_jsxs","TimelineItem","_ref","icon","title","children","_ref$collapsible","collapsible","_ref$defaultOpen","defaultOpen","blink","_useState","_useState2","_slicedToArray","isOpen","setIsOpen","styles","className","timelineItem","timelineLeft","timelineConnector","timelineRight","collapsibleHeader","onClick","undefined","arrowIcon","stepContent","TimelineTextItem","_ref2","item","timelineIcon","titleText","text","content","TimelineToolItem","_ref3","_msg$functionCall","_msg$functionCall2","_msg$functionCall3","_msg$functionResponse","_msg$functionResponse2","_renderFunctionCall","msg","onConfirm","showFnCallDetail","renderFunctionCall","toolKindResolver","strategies","fnName","functionCall","name","kind","needsConfirm","functionResponse","isDone","toolName","args","componentName","statusInfo","response","processData","output","titleNode","toolTitleGroup","toolStatusTag","timelineIconTool","showDetail","renderApproval","renderHandoff","StatusIcon","_ref4","status","spin","style","color","XAdkThoughtChain","_ref5","_ref5$collapsible","showCollapsibleHeader","_ref5$defaultOpen","_ref5$showFnCallDetai","_ref5$title","_ref5$items","items","loading","_ref5$blink","_ref5$toolKindResolve","effectiveStatus","isLoading","_useState3","_useState4","Promise","resolve","then","shouldBlink","renderTimeline","timeline","map","i","type","key","concat","thoughtChainBlock","thinkingBody","thoughtHeader","headerLeft","statusIcon","headerTitle","caret"],"sources":["../../../../src/components/XAdkThoughtChain/index.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport {\n CheckCircleFilled,\n CloseCircleFilled,\n ClockCircleOutlined,\n SyncOutlined,\n ThunderboltOutlined,\n PartitionOutlined,\n RightOutlined,\n DownOutlined,\n} from \"@ant-design/icons\";\nimport MarkdownRender from \"@/components/XAdkChatbot/components/MarkdownRender\";\nimport FunctionCallRender from \"@/components/XAdkChatbot/components/FunctionCallRender\";\nimport { useStyles } from \"./styles\";\nimport {\n XAdkThoughtChainProps,\n ThoughtChainItemType,\n ThoughtChainStatus,\n TimelineItemProps,\n FunctionCall,\n IMessage,\n RenderFunctionCall,\n ToolRenderKind,\n} from \"@/types\";\nimport { defaultToolKindResolver } from \"@/types/FunctionCallRender\";\nimport { cleanProcessText } from \"@/utils\";\n\nconst TimelineItem = ({\n icon,\n title,\n children,\n collapsible = true,\n defaultOpen = true,\n blink,\n}: TimelineItemProps) => {\n const [isOpen, setIsOpen] = useState(defaultOpen);\n const styles = useStyles();\n\n return (\n <div className={styles.timelineItem}>\n <div className={styles.timelineLeft}>\n {icon}\n <div className={styles.timelineConnector} />\n </div>\n <div className={styles.timelineRight}>\n <div\n className={styles.collapsibleHeader}\n onClick={() => (collapsible ? setIsOpen(!isOpen) : undefined)}\n >\n <div className={blink ? styles.blink : undefined}>{title}</div>\n {collapsible && (\n <span className={styles.arrowIcon}>\n {isOpen ? <DownOutlined /> : <RightOutlined />}\n </span>\n )}\n </div>\n\n {isOpen && <div className={styles.stepContent}>{children}</div>}\n </div>\n </div>\n );\n};\n\nconst TimelineTextItem: React.FC<{\n item: ThoughtChainItemType;\n blink?: boolean;\n}> = ({ item, blink }) => {\n return (\n <TimelineItem\n icon={\n <span className={useStyles().timelineIcon}>\n <PartitionOutlined />\n </span>\n }\n title={<span className={useStyles().titleText}>{item.title}</span>}\n blink={blink}\n >\n <MarkdownRender text={cleanProcessText(item.content)} />\n </TimelineItem>\n );\n};\n\nconst TimelineToolItem: React.FC<{\n msg: IMessage;\n collapsible?: boolean;\n showFnCallDetail: boolean;\n onConfirm?: (fnCall: FunctionCall, confirmed: boolean) => void;\n blink?: boolean;\n renderFunctionCall?: RenderFunctionCall;\n toolKindResolver: (name: string | undefined) => ToolRenderKind;\n strategies?: XAdkThoughtChainProps[\"strategies\"];\n}> = ({\n msg,\n collapsible,\n onConfirm,\n showFnCallDetail,\n blink,\n renderFunctionCall,\n toolKindResolver,\n strategies,\n}) => {\n const styles = useStyles();\n const fnName = msg.functionCall?.name;\n const kind = toolKindResolver(fnName);\n const needsConfirm = msg.functionCall && !msg.functionResponse;\n const isDone = !!msg.functionResponse;\n\n const toolName =\n msg.functionCall?.args?.componentName ||\n msg.functionCall?.name ||\n \"组件执行\";\n\n const statusInfo =\n msg.functionResponse?.response?.processData ||\n msg.functionResponse?.response?.output;\n\n const titleNode = (\n <div className={styles.toolTitleGroup}>\n <span className={styles.toolName}>{toolName}</span>\n {isDone && <span className={styles.toolStatusTag}>执行成功</span>}\n </div>\n );\n\n return (\n <TimelineItem\n icon={\n <span className={styles.timelineIconTool}>\n <ThunderboltOutlined />\n </span>\n }\n title={titleNode}\n collapsible={collapsible}\n defaultOpen={needsConfirm}\n blink={blink}\n >\n {statusInfo && typeof statusInfo === \"string\" && (\n <div className={styles.statusInfo}>{statusInfo}</div>\n )}\n {renderFunctionCall?.(msg) ?? (\n <FunctionCallRender\n msg={msg}\n showDetail={showFnCallDetail}\n onConfirm={onConfirm}\n kind={kind}\n renderApproval={strategies?.renderApproval}\n renderHandoff={strategies?.renderHandoff}\n />\n )}\n </TimelineItem>\n );\n};\n\nconst StatusIcon: React.FC<{ status: ThoughtChainStatus }> = ({ status }) => {\n switch (status) {\n case \"loading\":\n return <SyncOutlined spin style={{ color: \"#1677ff\" }} />;\n case \"success\":\n return <CheckCircleFilled style={{ color: \"#52c41a\" }} />;\n case \"error\":\n return <CloseCircleFilled style={{ color: \"#ff4d4f\" }} />;\n case \"pending\":\n return <ClockCircleOutlined style={{ color: \"#8c8c8c\" }} />;\n }\n};\n\nconst XAdkThoughtChain: React.FC<XAdkThoughtChainProps> = ({\n collapsible: showCollapsibleHeader = false,\n status,\n className,\n style,\n defaultOpen = false,\n showFnCallDetail = false,\n title = \"思维链已完成\",\n items = [],\n loading,\n blink = false,\n onConfirm,\n renderFunctionCall,\n toolKindResolver = defaultToolKindResolver,\n strategies,\n}) => {\n const styles = useStyles();\n\n // status 优先,loading 向后兼容\n const effectiveStatus: ThoughtChainStatus =\n status ?? (loading ? \"loading\" : \"success\");\n const isLoading = effectiveStatus === \"loading\";\n\n const [isOpen, setIsOpen] = useState(defaultOpen);\n useEffect(() => {\n if (isLoading) Promise.resolve().then(() => setIsOpen(true));\n }, [isLoading]);\n\n const shouldBlink = blink && isLoading;\n\n const renderTimeline = () => (\n <div className={styles.timeline}>\n {items.map((item, i) =>\n item.type === \"text\" ? (\n <TimelineTextItem\n key={item.key || i}\n item={item}\n blink={shouldBlink}\n />\n ) : (\n <TimelineToolItem\n key={`tool-${item.key || i}`}\n msg={item.msg!}\n collapsible={item.collapsible}\n showFnCallDetail={showFnCallDetail}\n onConfirm={onConfirm}\n blink={shouldBlink}\n renderFunctionCall={renderFunctionCall}\n toolKindResolver={toolKindResolver}\n strategies={strategies}\n />\n ),\n )}\n </div>\n );\n\n // 不显示外层 header,直接渲染 timeline\n if (!showCollapsibleHeader) {\n return (\n <div\n className={`${styles.thoughtChainBlock}${className ? ` ${className}` : \"\"}`}\n style={style}\n >\n <div className={styles.thinkingBody}>{renderTimeline()}</div>\n </div>\n );\n }\n\n // 显示可折叠 header\n return (\n <div\n className={`${styles.thoughtChainBlock}${className ? ` ${className}` : \"\"}`}\n style={style}\n >\n <div className={styles.thoughtHeader} onClick={() => setIsOpen(!isOpen)}>\n <div className={styles.headerLeft}>\n <div className={styles.statusIcon}>\n <StatusIcon status={effectiveStatus} />\n </div>\n <span\n className={`${styles.headerTitle}${shouldBlink ? ` ${styles.blink}` : \"\"}`}\n >\n {isLoading ? \"深度思考与执行中...\" : title}\n </span>\n <div className={`${styles.caret} ${isOpen ? \"open\" : \"\"}`}>\n <RightOutlined />\n </div>\n </div>\n </div>\n {isOpen && (\n <div className={styles.thinkingBody}>{renderTimeline()}</div>\n )}\n </div>\n );\n};\n\nexport default XAdkThoughtChain;\n"],"mappings":"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"}
@@ -3,39 +3,40 @@ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _temp
3
3
  /* eslint-disable import/prefer-default-export */
4
4
  import { css, keyframes } from "@emotion/css";
5
5
  import { withBasicStyles } from "../../styles/common";
6
+ import { token, tokens } from "../../styles/tokens";
6
7
  var blinkAnimation = keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n 0% { background-position-x: -200%; background-position-y: 100%; }\n 25% { background-position-x: -100%; background-position-y: 100%; }\n 50% { background-position-x: 0%; background-position-y: 100%; }\n 75% { background-position-x: 100%; background-position-y: 100%; }\n 100% { background-position-x: 200%; background-position-y: 100%; }\n"])));
7
8
  export var useStyles = withBasicStyles(function () {
8
9
  return {
9
10
  /* --- ThoughtChain --- */
10
11
 
11
- thoughtChainBlock: css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n margin-bottom: 16px;\n border-radius: 8px;\n overflow: hidden;\n "]))),
12
- thoughtHeader: css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n padding: 10px 14px;\n cursor: pointer;\n user-select: none;\n transition: background 0.2s;\n &:hover {\n background: #f0f0f0;\n border-color: #ccc;\n }\n "]))),
13
- headerLeft: css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n gap: 8px;\n "]))),
14
- caret: css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n font-size: 12px;\n color: #8194ad;\n transition: transform 0.2s;\n &.open {\n transform: rotate(90deg);\n }\n "]))),
12
+ thoughtChainBlock: css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n margin-bottom: ", ";\n border-radius: ", ";\n overflow: hidden;\n "])), token(tokens.spacingMd), token(tokens.borderRadius)),
13
+ thoughtHeader: css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n padding: 10px 14px;\n cursor: pointer;\n user-select: none;\n transition: background 0.2s;\n &:hover {\n background: ", ";\n border-color: #ccc;\n }\n "])), token(tokens.colorBgHover)),
14
+ headerLeft: css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n gap: ", ";\n "])), token(tokens.spacingSm)),
15
+ caret: css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n font-size: ", ";\n color: ", ";\n transition: transform 0.2s;\n &.open {\n transform: rotate(90deg);\n }\n "])), token(tokens.fontSizeSm), token(tokens.colorTextSecondary)),
15
16
  statusIcon: css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n font-size: 14px;\n display: flex;\n align-items: center;\n "]))),
16
- headerTitle: css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n font-size: 13px;\n color: #8194ad;\n font-weight: 500;\n "]))),
17
+ headerTitle: css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n font-size: ", ";\n color: ", ";\n font-weight: 500;\n "])), token(tokens.fontSizeBase), token(tokens.colorTextSecondary)),
17
18
  headerRight: css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([""]))),
18
- thinkingBody: css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n padding: 0 16px;\n animation: fadeIn 0.2s ease-in-out;\n "]))),
19
+ thinkingBody: css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n padding: 0 ", ";\n animation: fadeIn 0.2s ease-in-out;\n "])), token(tokens.spacingMd)),
19
20
  /* --- Timeline --- */
20
21
 
21
22
  timeline: css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n width: 100%;\n "]))),
22
23
  timelineItem: css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n display: flex;\n gap: 12px;\n position: relative;\n "]))),
23
24
  timelineLeft: css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 20px;\n flex-shrink: 0;\n "]))),
24
- timelineIcon: css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["\n color: #8194ad;\n font-size: 16px;\n margin-top: 6px;\n "]))),
25
- timelineIconTool: css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral(["\n color: #faad14;\n font-size: 16px;\n margin-top: 6px;\n "]))),
26
- timelineConnector: css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral(["\n flex: 1;\n width: 1px;\n background-color: #e5e5e5;\n margin: 4px 0;\n min-height: 12px;\n "]))),
25
+ timelineIcon: css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["\n color: ", ";\n font-size: 16px;\n margin-top: 6px;\n "])), token(tokens.colorTextSecondary)),
26
+ timelineIconTool: css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral(["\n color: ", ";\n font-size: 16px;\n margin-top: 6px;\n "])), token(tokens.colorWarning)),
27
+ timelineConnector: css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral(["\n flex: 1;\n width: 1px;\n background-color: ", ";\n margin: 4px 0;\n min-height: 12px;\n "])), token(tokens.colorBorder)),
27
28
  /* Hide connector on last item */
28
29
  timelineItemLastConnector: css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral(["\n display: none;\n "]))),
29
- timelineRight: css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral(["\n flex: 1;\n padding-bottom: 8px;\n min-width: 0;\n "]))),
30
- collapsibleHeader: css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteral(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 5px 8px;\n margin: 0 -8px 4px -8px;\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.2s;\n user-select: none;\n\n &:hover {\n background: #f5f5f5;\n }\n "]))),
31
- titleText: css(_templateObject19 || (_templateObject19 = _taggedTemplateLiteral(["\n font-size: 13px;\n font-weight: 600;\n color: #8194ad;\n "]))),
32
- toolTitleGroup: css(_templateObject20 || (_templateObject20 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n gap: 8px;\n overflow: hidden;\n "]))),
33
- toolName: css(_templateObject21 || (_templateObject21 = _taggedTemplateLiteral(["\n font-size: 13px;\n font-weight: 600;\n color: #8194ad;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n "]))),
34
- toolStatusTag: css(_templateObject22 || (_templateObject22 = _taggedTemplateLiteral(["\n font-size: 11px;\n color: #52c41a;\n background: #f6ffed;\n border: 1px solid #b7eb8f;\n padding: 0 6px;\n border-radius: 4px;\n flex-shrink: 0;\n "]))),
35
- arrowIcon: css(_templateObject23 || (_templateObject23 = _taggedTemplateLiteral(["\n font-size: 10px;\n color: #bbb;\n margin-left: 8px;\n "]))),
36
- stepContent: css(_templateObject24 || (_templateObject24 = _taggedTemplateLiteral(["\n font-size: 13px;\n color: #8194ad;\n line-height: 1.6;\n padding-left: 4px;\n "]))),
37
- statusInfo: css(_templateObject25 || (_templateObject25 = _taggedTemplateLiteral(["\n font-size: 12px;\n color: #8194ad;\n margin-bottom: 4px;\n font-style: italic;\n "]))),
38
- blink: css(_templateObject26 || (_templateObject26 = _taggedTemplateLiteral(["\n color: #8194ad;\n background-image: linear-gradient(\n 90deg,\n transparent,\n rgba(0, 0, 0, 0.88),\n transparent\n );\n background-clip: text;\n -webkit-background-clip: text;\n background-size: 50%;\n background-repeat: no-repeat;\n animation-name: ", ";\n animation-duration: 1s;\n animation-iteration-count: infinite;\n animation-timing-function: linear;\n animation-fill-mode: forwards;\n "])), blinkAnimation)
30
+ timelineRight: css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral(["\n flex: 1;\n padding-bottom: ", ";\n min-width: 0;\n "])), token(tokens.spacingSm)),
31
+ collapsibleHeader: css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteral(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 5px 8px;\n margin: 0 -8px 4px -8px;\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.2s;\n user-select: none;\n\n &:hover {\n background: ", ";\n }\n "])), token(tokens.colorBgHover)),
32
+ titleText: css(_templateObject19 || (_templateObject19 = _taggedTemplateLiteral(["\n font-size: ", ";\n font-weight: 600;\n color: ", ";\n "])), token(tokens.fontSizeBase), token(tokens.colorTextSecondary)),
33
+ toolTitleGroup: css(_templateObject20 || (_templateObject20 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n gap: ", ";\n overflow: hidden;\n "])), token(tokens.spacingSm)),
34
+ toolName: css(_templateObject21 || (_templateObject21 = _taggedTemplateLiteral(["\n font-size: ", ";\n font-weight: 600;\n color: ", ";\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n "])), token(tokens.fontSizeBase), token(tokens.colorTextSecondary)),
35
+ toolStatusTag: css(_templateObject22 || (_templateObject22 = _taggedTemplateLiteral(["\n font-size: 11px;\n color: ", ";\n background: #f6ffed;\n border: 1px solid #b7eb8f;\n padding: 0 6px;\n border-radius: 4px;\n flex-shrink: 0;\n "])), token(tokens.colorSuccess)),
36
+ arrowIcon: css(_templateObject23 || (_templateObject23 = _taggedTemplateLiteral(["\n font-size: 10px;\n color: #bbb;\n margin-left: ", ";\n "])), token(tokens.spacingSm)),
37
+ stepContent: css(_templateObject24 || (_templateObject24 = _taggedTemplateLiteral(["\n font-size: ", ";\n color: ", ";\n line-height: 1.6;\n padding-left: 4px;\n "])), token(tokens.fontSizeBase), token(tokens.colorTextSecondary)),
38
+ statusInfo: css(_templateObject25 || (_templateObject25 = _taggedTemplateLiteral(["\n font-size: ", ";\n color: ", ";\n margin-bottom: 4px;\n font-style: italic;\n "])), token(tokens.fontSizeSm), token(tokens.colorTextSecondary)),
39
+ blink: css(_templateObject26 || (_templateObject26 = _taggedTemplateLiteral(["\n color: ", ";\n background-image: linear-gradient(\n 90deg,\n transparent,\n rgba(0, 0, 0, 0.88),\n transparent\n );\n background-clip: text;\n -webkit-background-clip: text;\n background-size: 50%;\n background-repeat: no-repeat;\n animation-name: ", ";\n animation-duration: 1s;\n animation-iteration-count: infinite;\n animation-timing-function: linear;\n animation-fill-mode: forwards;\n "])), token(tokens.colorTextSecondary), blinkAnimation)
39
40
  };
40
41
  });
41
42
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["css","keyframes","withBasicStyles","blinkAnimation","_templateObject","_taggedTemplateLiteral","useStyles","thoughtChainBlock","_templateObject2","thoughtHeader","_templateObject3","headerLeft","_templateObject4","caret","_templateObject5","statusIcon","_templateObject6","headerTitle","_templateObject7","headerRight","_templateObject8","thinkingBody","_templateObject9","timeline","_templateObject10","timelineItem","_templateObject11","timelineLeft","_templateObject12","timelineIcon","_templateObject13","timelineIconTool","_templateObject14","timelineConnector","_templateObject15","timelineItemLastConnector","_templateObject16","timelineRight","_templateObject17","collapsibleHeader","_templateObject18","titleText","_templateObject19","toolTitleGroup","_templateObject20","toolName","_templateObject21","toolStatusTag","_templateObject22","arrowIcon","_templateObject23","stepContent","_templateObject24","statusInfo","_templateObject25","blink","_templateObject26"],"sources":["../../../../src/components/XAdkThoughtChain/styles.tsx"],"sourcesContent":["/* eslint-disable import/prefer-default-export */\nimport { css, keyframes } from \"@emotion/css\";\nimport { withBasicStyles, lightBlue, primaryBlue } from \"@/styles/common\";\n\nconst blinkAnimation = keyframes`\n 0% { background-position-x: -200%; background-position-y: 100%; }\n 25% { background-position-x: -100%; background-position-y: 100%; }\n 50% { background-position-x: 0%; background-position-y: 100%; }\n 75% { background-position-x: 100%; background-position-y: 100%; }\n 100% { background-position-x: 200%; background-position-y: 100%; }\n`;\n\nexport const useStyles = withBasicStyles(() => ({\n /* --- ThoughtChain --- */\n\n thoughtChainBlock: css`\n margin-bottom: 16px;\n border-radius: 8px;\n overflow: hidden;\n `,\n\n thoughtHeader: css`\n display: flex;\n align-items: center;\n padding: 10px 14px;\n cursor: pointer;\n user-select: none;\n transition: background 0.2s;\n &:hover {\n background: #f0f0f0;\n border-color: #ccc;\n }\n `,\n\n headerLeft: css`\n display: flex;\n align-items: center;\n gap: 8px;\n `,\n\n caret: css`\n font-size: 12px;\n color: #8194ad;\n transition: transform 0.2s;\n &.open {\n transform: rotate(90deg);\n }\n `,\n\n statusIcon: css`\n font-size: 14px;\n display: flex;\n align-items: center;\n `,\n\n headerTitle: css`\n font-size: 13px;\n color: #8194ad;\n font-weight: 500;\n `,\n\n headerRight: css``,\n\n thinkingBody: css`\n padding: 0 16px;\n animation: fadeIn 0.2s ease-in-out;\n `,\n\n /* --- Timeline --- */\n\n timeline: css`\n width: 100%;\n `,\n\n timelineItem: css`\n display: flex;\n gap: 12px;\n position: relative;\n `,\n\n timelineLeft: css`\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 20px;\n flex-shrink: 0;\n `,\n\n timelineIcon: css`\n color: #8194ad;\n font-size: 16px;\n margin-top: 6px;\n `,\n\n timelineIconTool: css`\n color: #faad14;\n font-size: 16px;\n margin-top: 6px;\n `,\n\n timelineConnector: css`\n flex: 1;\n width: 1px;\n background-color: #e5e5e5;\n margin: 4px 0;\n min-height: 12px;\n `,\n\n /* Hide connector on last item */\n timelineItemLastConnector: css`\n display: none;\n `,\n\n timelineRight: css`\n flex: 1;\n padding-bottom: 8px;\n min-width: 0;\n `,\n\n collapsibleHeader: css`\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 5px 8px;\n margin: 0 -8px 4px -8px;\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.2s;\n user-select: none;\n\n &:hover {\n background: #f5f5f5;\n }\n `,\n\n titleText: css`\n font-size: 13px;\n font-weight: 600;\n color: #8194ad;\n `,\n\n toolTitleGroup: css`\n display: flex;\n align-items: center;\n gap: 8px;\n overflow: hidden;\n `,\n\n toolName: css`\n font-size: 13px;\n font-weight: 600;\n color: #8194ad;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n `,\n\n toolStatusTag: css`\n font-size: 11px;\n color: #52c41a;\n background: #f6ffed;\n border: 1px solid #b7eb8f;\n padding: 0 6px;\n border-radius: 4px;\n flex-shrink: 0;\n `,\n\n arrowIcon: css`\n font-size: 10px;\n color: #bbb;\n margin-left: 8px;\n `,\n\n stepContent: css`\n font-size: 13px;\n color: #8194ad;\n line-height: 1.6;\n padding-left: 4px;\n `,\n\n statusInfo: css`\n font-size: 12px;\n color: #8194ad;\n margin-bottom: 4px;\n font-style: italic;\n `,\n\n blink: css`\n color: #8194ad;\n background-image: linear-gradient(\n 90deg,\n transparent,\n rgba(0, 0, 0, 0.88),\n transparent\n );\n background-clip: text;\n -webkit-background-clip: text;\n background-size: 50%;\n background-repeat: no-repeat;\n animation-name: ${blinkAnimation};\n animation-duration: 1s;\n animation-iteration-count: infinite;\n animation-timing-function: linear;\n animation-fill-mode: forwards;\n `,\n}));\n"],"mappings":";;AAAA;AACA,SAASA,GAAG,EAAEC,SAAS,QAAQ,cAAc;AAC7C,SAASC,eAAe;AAExB,IAAMC,cAAc,GAAGF,SAAS,CAAAG,eAAA,KAAAA,eAAA,GAAAC,sBAAA,6WAM/B;AAED,OAAO,IAAMC,SAAS,GAAGJ,eAAe,CAAC;EAAA,OAAO;IAC9C;;IAEAK,iBAAiB,EAAEP,GAAG,CAAAQ,gBAAA,KAAAA,gBAAA,GAAAH,sBAAA,sFAIrB;IAEDI,aAAa,EAAET,GAAG,CAAAU,gBAAA,KAAAA,gBAAA,GAAAL,sBAAA,gPAWjB;IAEDM,UAAU,EAAEX,GAAG,CAAAY,gBAAA,KAAAA,gBAAA,GAAAP,sBAAA,yEAId;IAEDQ,KAAK,EAAEb,GAAG,CAAAc,gBAAA,KAAAA,gBAAA,GAAAT,sBAAA,8IAOT;IAEDU,UAAU,EAAEf,GAAG,CAAAgB,gBAAA,KAAAA,gBAAA,GAAAX,sBAAA,gFAId;IAEDY,WAAW,EAAEjB,GAAG,CAAAkB,gBAAA,KAAAA,gBAAA,GAAAb,sBAAA,8EAIf;IAEDc,WAAW,EAAEnB,GAAG,CAAAoB,gBAAA,KAAAA,gBAAA,GAAAf,sBAAA,QAAE;IAElBgB,YAAY,EAAErB,GAAG,CAAAsB,gBAAA,KAAAA,gBAAA,GAAAjB,sBAAA,2EAGhB;IAED;;IAEAkB,QAAQ,EAAEvB,GAAG,CAAAwB,iBAAA,KAAAA,iBAAA,GAAAnB,sBAAA,8BAEZ;IAEDoB,YAAY,EAAEzB,GAAG,CAAA0B,iBAAA,KAAAA,iBAAA,GAAArB,sBAAA,yEAIhB;IAEDsB,YAAY,EAAE3B,GAAG,CAAA4B,iBAAA,KAAAA,iBAAA,GAAAvB,sBAAA,8HAMhB;IAEDwB,YAAY,EAAE7B,GAAG,CAAA8B,iBAAA,KAAAA,iBAAA,GAAAzB,sBAAA,6EAIhB;IAED0B,gBAAgB,EAAE/B,GAAG,CAAAgC,iBAAA,KAAAA,iBAAA,GAAA3B,sBAAA,6EAIpB;IAED4B,iBAAiB,EAAEjC,GAAG,CAAAkC,iBAAA,KAAAA,iBAAA,GAAA7B,sBAAA,sHAMrB;IAED;IACA8B,yBAAyB,EAAEnC,GAAG,CAAAoC,iBAAA,KAAAA,iBAAA,GAAA/B,sBAAA,gCAE7B;IAEDgC,aAAa,EAAErC,GAAG,CAAAsC,iBAAA,KAAAA,iBAAA,GAAAjC,sBAAA,uEAIjB;IAEDkC,iBAAiB,EAAEvC,GAAG,CAAAwC,iBAAA,KAAAA,iBAAA,GAAAnC,sBAAA,0SAcrB;IAEDoC,SAAS,EAAEzC,GAAG,CAAA0C,iBAAA,KAAAA,iBAAA,GAAArC,sBAAA,8EAIb;IAEDsC,cAAc,EAAE3C,GAAG,CAAA4C,iBAAA,KAAAA,iBAAA,GAAAvC,sBAAA,gGAKlB;IAEDwC,QAAQ,EAAE7C,GAAG,CAAA8C,iBAAA,KAAAA,iBAAA,GAAAzC,sBAAA,6JAOZ;IAED0C,aAAa,EAAE/C,GAAG,CAAAgD,iBAAA,KAAAA,iBAAA,GAAA3C,sBAAA,oLAQjB;IAED4C,SAAS,EAAEjD,GAAG,CAAAkD,iBAAA,KAAAA,iBAAA,GAAA7C,sBAAA,2EAIb;IAED8C,WAAW,EAAEnD,GAAG,CAAAoD,iBAAA,KAAAA,iBAAA,GAAA/C,sBAAA,sGAKf;IAEDgD,UAAU,EAAErD,GAAG,CAAAsD,iBAAA,KAAAA,iBAAA,GAAAjD,sBAAA,yGAKd;IAEDkD,KAAK,EAAEvD,GAAG,CAAAwD,iBAAA,KAAAA,iBAAA,GAAAnD,sBAAA,+cAYUF,cAAc;EAMpC,CAAC;AAAA,CAAC,CAAC"}
1
+ {"version":3,"names":["css","keyframes","withBasicStyles","token","tokens","blinkAnimation","_templateObject","_taggedTemplateLiteral","useStyles","thoughtChainBlock","_templateObject2","spacingMd","borderRadius","thoughtHeader","_templateObject3","colorBgHover","headerLeft","_templateObject4","spacingSm","caret","_templateObject5","fontSizeSm","colorTextSecondary","statusIcon","_templateObject6","headerTitle","_templateObject7","fontSizeBase","headerRight","_templateObject8","thinkingBody","_templateObject9","timeline","_templateObject10","timelineItem","_templateObject11","timelineLeft","_templateObject12","timelineIcon","_templateObject13","timelineIconTool","_templateObject14","colorWarning","timelineConnector","_templateObject15","colorBorder","timelineItemLastConnector","_templateObject16","timelineRight","_templateObject17","collapsibleHeader","_templateObject18","titleText","_templateObject19","toolTitleGroup","_templateObject20","toolName","_templateObject21","toolStatusTag","_templateObject22","colorSuccess","arrowIcon","_templateObject23","stepContent","_templateObject24","statusInfo","_templateObject25","blink","_templateObject26"],"sources":["../../../../src/components/XAdkThoughtChain/styles.tsx"],"sourcesContent":["/* eslint-disable import/prefer-default-export */\nimport { css, keyframes } from \"@emotion/css\";\nimport { withBasicStyles } from \"@/styles/common\";\nimport { token, tokens } from \"@/styles/tokens\";\n\nconst blinkAnimation = keyframes`\n 0% { background-position-x: -200%; background-position-y: 100%; }\n 25% { background-position-x: -100%; background-position-y: 100%; }\n 50% { background-position-x: 0%; background-position-y: 100%; }\n 75% { background-position-x: 100%; background-position-y: 100%; }\n 100% { background-position-x: 200%; background-position-y: 100%; }\n`;\n\nexport const useStyles = withBasicStyles(() => ({\n /* --- ThoughtChain --- */\n\n thoughtChainBlock: css`\n margin-bottom: ${token(tokens.spacingMd)};\n border-radius: ${token(tokens.borderRadius)};\n overflow: hidden;\n `,\n\n thoughtHeader: css`\n display: flex;\n align-items: center;\n padding: 10px 14px;\n cursor: pointer;\n user-select: none;\n transition: background 0.2s;\n &:hover {\n background: ${token(tokens.colorBgHover)};\n border-color: #ccc;\n }\n `,\n\n headerLeft: css`\n display: flex;\n align-items: center;\n gap: ${token(tokens.spacingSm)};\n `,\n\n caret: css`\n font-size: ${token(tokens.fontSizeSm)};\n color: ${token(tokens.colorTextSecondary)};\n transition: transform 0.2s;\n &.open {\n transform: rotate(90deg);\n }\n `,\n\n statusIcon: css`\n font-size: 14px;\n display: flex;\n align-items: center;\n `,\n\n headerTitle: css`\n font-size: ${token(tokens.fontSizeBase)};\n color: ${token(tokens.colorTextSecondary)};\n font-weight: 500;\n `,\n\n headerRight: css``,\n\n thinkingBody: css`\n padding: 0 ${token(tokens.spacingMd)};\n animation: fadeIn 0.2s ease-in-out;\n `,\n\n /* --- Timeline --- */\n\n timeline: css`\n width: 100%;\n `,\n\n timelineItem: css`\n display: flex;\n gap: 12px;\n position: relative;\n `,\n\n timelineLeft: css`\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 20px;\n flex-shrink: 0;\n `,\n\n timelineIcon: css`\n color: ${token(tokens.colorTextSecondary)};\n font-size: 16px;\n margin-top: 6px;\n `,\n\n timelineIconTool: css`\n color: ${token(tokens.colorWarning)};\n font-size: 16px;\n margin-top: 6px;\n `,\n\n timelineConnector: css`\n flex: 1;\n width: 1px;\n background-color: ${token(tokens.colorBorder)};\n margin: 4px 0;\n min-height: 12px;\n `,\n\n /* Hide connector on last item */\n timelineItemLastConnector: css`\n display: none;\n `,\n\n timelineRight: css`\n flex: 1;\n padding-bottom: ${token(tokens.spacingSm)};\n min-width: 0;\n `,\n\n collapsibleHeader: css`\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 5px 8px;\n margin: 0 -8px 4px -8px;\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.2s;\n user-select: none;\n\n &:hover {\n background: ${token(tokens.colorBgHover)};\n }\n `,\n\n titleText: css`\n font-size: ${token(tokens.fontSizeBase)};\n font-weight: 600;\n color: ${token(tokens.colorTextSecondary)};\n `,\n\n toolTitleGroup: css`\n display: flex;\n align-items: center;\n gap: ${token(tokens.spacingSm)};\n overflow: hidden;\n `,\n\n toolName: css`\n font-size: ${token(tokens.fontSizeBase)};\n font-weight: 600;\n color: ${token(tokens.colorTextSecondary)};\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n `,\n\n toolStatusTag: css`\n font-size: 11px;\n color: ${token(tokens.colorSuccess)};\n background: #f6ffed;\n border: 1px solid #b7eb8f;\n padding: 0 6px;\n border-radius: 4px;\n flex-shrink: 0;\n `,\n\n arrowIcon: css`\n font-size: 10px;\n color: #bbb;\n margin-left: ${token(tokens.spacingSm)};\n `,\n\n stepContent: css`\n font-size: ${token(tokens.fontSizeBase)};\n color: ${token(tokens.colorTextSecondary)};\n line-height: 1.6;\n padding-left: 4px;\n `,\n\n statusInfo: css`\n font-size: ${token(tokens.fontSizeSm)};\n color: ${token(tokens.colorTextSecondary)};\n margin-bottom: 4px;\n font-style: italic;\n `,\n\n blink: css`\n color: ${token(tokens.colorTextSecondary)};\n background-image: linear-gradient(\n 90deg,\n transparent,\n rgba(0, 0, 0, 0.88),\n transparent\n );\n background-clip: text;\n -webkit-background-clip: text;\n background-size: 50%;\n background-repeat: no-repeat;\n animation-name: ${blinkAnimation};\n animation-duration: 1s;\n animation-iteration-count: infinite;\n animation-timing-function: linear;\n animation-fill-mode: forwards;\n `,\n}));\n"],"mappings":"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"}
@@ -27,4 +27,5 @@ export { default as FunctionCallRender } from "./components/XAdkChatbot/componen
27
27
  export { default as ThinkRender } from "./components/XAdkChatbot/components/ThinkRender";
28
28
  export type { MarkdownRenderProps } from "./components/XAdkChatbot/components/MarkdownRender";
29
29
  export type { FunctionCallRenderProps } from "./types/FunctionCallRender";
30
- export type { XAdkThoughtChainProps, ThoughtChainItemType, } from "./types/XAdkThoughtChain";
30
+ export type { XAdkThoughtChainProps, ThoughtChainItemType, ThoughtChainStatus, } from "./types/XAdkThoughtChain";
31
+ export { tokens, tokenDefaults, token, cssVarStyle } from "./styles/tokens";
package/dist/esm/index.js CHANGED
@@ -39,4 +39,7 @@ export { default as FunctionCallRender } from "./components/XAdkChatbot/componen
39
39
  export { default as ThinkRender } from "./components/XAdkChatbot/components/ThinkRender";
40
40
 
41
41
  // 基础组件类型导出
42
+
43
+ // 设计令牌导出 - 供引用方覆盖样式
44
+ export { tokens, tokenDefaults, token, cssVarStyle } from "./styles/tokens";
42
45
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useXAi","XAiProvider","XAiChatbot","XAiSDK","XAiSender","FileGallery","XAiConversations","XAdkThoughtChain","useXAiSDK","request","XAdkProvider","XAdkChatbot","XAdkSender","XAdkSenderSwitch","useADKChat","baseChatStrategies","basePreset","baseToolKindResolver","mergeChatStrategies","resolvePresetUploadRequest","resolveChatPreset","createXGroupUploadRequest","xGroupAdkPreset","xGroupToolKindResolver","useChatState","useChatActions","useSession","FolderTree","default","MarkdownRender","FunctionCallRender","ThinkRender"],"sources":["../../src/index.ts"],"sourcesContent":["// index.ts\nimport { useXAi } from \"./context/AiProviderContext\";\nimport XAiProvider from \"./components/XAiProvider\";\nimport XAiChatbot from \"./components/XAiChatbot\";\nimport XAiSDK from \"./components/XAiSDK\";\nimport XAiSender from \"./components/XAiSender\";\nimport FileGallery from \"./components/FileGallery\";\nimport XAiConversations from \"./components/XAiConversations\";\nimport XAdkThoughtChain from \"./components/XAdkThoughtChain\";\nimport useXAiSDK from \"./hooks/useXAiSDK\";\nimport request from \"./utils/request\";\n\n// 新的 Compound Components 架构\nimport XAdkProvider from \"./components/XAdkProvider\";\nimport XAdkChatbot from \"./components/XAdkChatbot\";\nimport XAdkSender from \"./components/XAdkSender\";\nimport XAdkSenderSwitch from \"./components/XAdkSender/Switch\";\nimport useADKChat from \"./hooks/useADKChat\";\nimport {\n baseChatStrategies,\n basePreset,\n baseToolKindResolver,\n mergeChatStrategies,\n resolvePresetUploadRequest,\n resolveChatPreset,\n createXGroupUploadRequest,\n xGroupAdkPreset,\n xGroupToolKindResolver,\n} from \"./presets/xGroupAdk\";\n\n// 导出新的 Context Hooks\nexport {\n useChatState,\n useChatActions,\n useSession,\n} from \"./components/XAdkProvider/context\";\n\nexport * from \"./types\";\n\n// 导出自定义 Hook 相关类型\nexport type { ChatHookResult, ChatHookFactory } from \"./types/ChatHook\";\n\n// 旧 API - 保持向后兼容\nexport {\n useXAi,\n XAiProvider,\n XAiChatbot,\n XAiSDK,\n XAiSender,\n XAiConversations,\n useXAiSDK,\n request,\n};\n\n// 新 API - 推荐使用\nexport {\n XAdkProvider,\n XAdkChatbot,\n XAdkSender,\n XAdkSenderSwitch,\n FileGallery,\n XAdkThoughtChain,\n useADKChat,\n baseChatStrategies,\n basePreset,\n baseToolKindResolver,\n createXGroupUploadRequest,\n mergeChatStrategies,\n resolvePresetUploadRequest,\n resolveChatPreset,\n xGroupAdkPreset,\n xGroupToolKindResolver,\n};\n\n// FolderTree 文件树组件\nimport FolderTree from \"./components/FolderTree\";\nexport { FolderTree };\nexport type {\n FolderTreeProps,\n FolderTreeData,\n FileContentService,\n FolderTreeRef,\n} from \"./components/FolderTree\";\n\n// 基础组件导出 - 供高级用户和业务侧使用\nexport { default as MarkdownRender } from \"./components/XAdkChatbot/components/MarkdownRender\";\nexport { default as FunctionCallRender } from \"./components/XAdkChatbot/components/FunctionCallRender\";\nexport { default as ThinkRender } from \"./components/XAdkChatbot/components/ThinkRender\";\n\n// 基础组件类型导出\nexport type { MarkdownRenderProps } from \"./components/XAdkChatbot/components/MarkdownRender\";\nexport type { FunctionCallRenderProps } from \"./types/FunctionCallRender\";\nexport type {\n XAdkThoughtChainProps,\n ThoughtChainItemType,\n} from \"./types/XAdkThoughtChain\";\n"],"mappings":"AAAA;AACA,SAASA,MAAM;AACf,OAAOC,WAAW;AAClB,OAAOC,UAAU;AACjB,OAAOC,MAAM;AACb,OAAOC,SAAS;AAChB,OAAOC,WAAW;AAClB,OAAOC,gBAAgB;AACvB,OAAOC,gBAAgB;AACvB,OAAOC,SAAS;AAChB,OAAOC,OAAO;;AAEd;AACA,OAAOC,YAAY;AACnB,OAAOC,WAAW;AAClB,OAAOC,UAAU;AACjB,OAAOC,gBAAgB;AACvB,OAAOC,UAAU;AACjB,SACEC,kBAAkB,EAClBC,UAAU,EACVC,oBAAoB,EACpBC,mBAAmB,EACnBC,0BAA0B,EAC1BC,iBAAiB,EACjBC,yBAAyB,EACzBC,eAAe,EACfC,sBAAsB;;AAGxB;AACA,SACEC,YAAY,EACZC,cAAc,EACdC,UAAU;AAGZ;;AAEA;;AAGA;AACA,SACE1B,MAAM,EACNC,WAAW,EACXC,UAAU,EACVC,MAAM,EACNC,SAAS,EACTE,gBAAgB,EAChBE,SAAS,EACTC,OAAO;;AAGT;AACA,SACEC,YAAY,EACZC,WAAW,EACXC,UAAU,EACVC,gBAAgB,EAChBR,WAAW,EACXE,gBAAgB,EAChBO,UAAU,EACVC,kBAAkB,EAClBC,UAAU,EACVC,oBAAoB,EACpBI,yBAAyB,EACzBH,mBAAmB,EACnBC,0BAA0B,EAC1BC,iBAAiB,EACjBE,eAAe,EACfC,sBAAsB;;AAGxB;AACA,OAAOI,UAAU;AACjB,SAASA,UAAU;AAQnB;AACA,SAASC,OAAO,IAAIC,cAAc;AAClC,SAASD,OAAO,IAAIE,kBAAkB;AACtC,SAASF,OAAO,IAAIG,WAAW;;AAE/B"}
1
+ {"version":3,"names":["useXAi","XAiProvider","XAiChatbot","XAiSDK","XAiSender","FileGallery","XAiConversations","XAdkThoughtChain","useXAiSDK","request","XAdkProvider","XAdkChatbot","XAdkSender","XAdkSenderSwitch","useADKChat","baseChatStrategies","basePreset","baseToolKindResolver","mergeChatStrategies","resolvePresetUploadRequest","resolveChatPreset","createXGroupUploadRequest","xGroupAdkPreset","xGroupToolKindResolver","useChatState","useChatActions","useSession","FolderTree","default","MarkdownRender","FunctionCallRender","ThinkRender","tokens","tokenDefaults","token","cssVarStyle"],"sources":["../../src/index.ts"],"sourcesContent":["// index.ts\nimport { useXAi } from \"./context/AiProviderContext\";\nimport XAiProvider from \"./components/XAiProvider\";\nimport XAiChatbot from \"./components/XAiChatbot\";\nimport XAiSDK from \"./components/XAiSDK\";\nimport XAiSender from \"./components/XAiSender\";\nimport FileGallery from \"./components/FileGallery\";\nimport XAiConversations from \"./components/XAiConversations\";\nimport XAdkThoughtChain from \"./components/XAdkThoughtChain\";\nimport useXAiSDK from \"./hooks/useXAiSDK\";\nimport request from \"./utils/request\";\n\n// 新的 Compound Components 架构\nimport XAdkProvider from \"./components/XAdkProvider\";\nimport XAdkChatbot from \"./components/XAdkChatbot\";\nimport XAdkSender from \"./components/XAdkSender\";\nimport XAdkSenderSwitch from \"./components/XAdkSender/Switch\";\nimport useADKChat from \"./hooks/useADKChat\";\nimport {\n baseChatStrategies,\n basePreset,\n baseToolKindResolver,\n mergeChatStrategies,\n resolvePresetUploadRequest,\n resolveChatPreset,\n createXGroupUploadRequest,\n xGroupAdkPreset,\n xGroupToolKindResolver,\n} from \"./presets/xGroupAdk\";\n\n// 导出新的 Context Hooks\nexport {\n useChatState,\n useChatActions,\n useSession,\n} from \"./components/XAdkProvider/context\";\n\nexport * from \"./types\";\n\n// 导出自定义 Hook 相关类型\nexport type { ChatHookResult, ChatHookFactory } from \"./types/ChatHook\";\n\n// 旧 API - 保持向后兼容\nexport {\n useXAi,\n XAiProvider,\n XAiChatbot,\n XAiSDK,\n XAiSender,\n XAiConversations,\n useXAiSDK,\n request,\n};\n\n// 新 API - 推荐使用\nexport {\n XAdkProvider,\n XAdkChatbot,\n XAdkSender,\n XAdkSenderSwitch,\n FileGallery,\n XAdkThoughtChain,\n useADKChat,\n baseChatStrategies,\n basePreset,\n baseToolKindResolver,\n createXGroupUploadRequest,\n mergeChatStrategies,\n resolvePresetUploadRequest,\n resolveChatPreset,\n xGroupAdkPreset,\n xGroupToolKindResolver,\n};\n\n// FolderTree 文件树组件\nimport FolderTree from \"./components/FolderTree\";\nexport { FolderTree };\nexport type {\n FolderTreeProps,\n FolderTreeData,\n FileContentService,\n FolderTreeRef,\n} from \"./components/FolderTree\";\n\n// 基础组件导出 - 供高级用户和业务侧使用\nexport { default as MarkdownRender } from \"./components/XAdkChatbot/components/MarkdownRender\";\nexport { default as FunctionCallRender } from \"./components/XAdkChatbot/components/FunctionCallRender\";\nexport { default as ThinkRender } from \"./components/XAdkChatbot/components/ThinkRender\";\n\n// 基础组件类型导出\nexport type { MarkdownRenderProps } from \"./components/XAdkChatbot/components/MarkdownRender\";\nexport type { FunctionCallRenderProps } from \"./types/FunctionCallRender\";\nexport type {\n XAdkThoughtChainProps,\n ThoughtChainItemType,\n ThoughtChainStatus,\n} from \"./types/XAdkThoughtChain\";\n\n// 设计令牌导出 - 供引用方覆盖样式\nexport { tokens, tokenDefaults, token, cssVarStyle } from \"./styles/tokens\";\n"],"mappings":"AAAA;AACA,SAASA,MAAM;AACf,OAAOC,WAAW;AAClB,OAAOC,UAAU;AACjB,OAAOC,MAAM;AACb,OAAOC,SAAS;AAChB,OAAOC,WAAW;AAClB,OAAOC,gBAAgB;AACvB,OAAOC,gBAAgB;AACvB,OAAOC,SAAS;AAChB,OAAOC,OAAO;;AAEd;AACA,OAAOC,YAAY;AACnB,OAAOC,WAAW;AAClB,OAAOC,UAAU;AACjB,OAAOC,gBAAgB;AACvB,OAAOC,UAAU;AACjB,SACEC,kBAAkB,EAClBC,UAAU,EACVC,oBAAoB,EACpBC,mBAAmB,EACnBC,0BAA0B,EAC1BC,iBAAiB,EACjBC,yBAAyB,EACzBC,eAAe,EACfC,sBAAsB;;AAGxB;AACA,SACEC,YAAY,EACZC,cAAc,EACdC,UAAU;AAGZ;;AAEA;;AAGA;AACA,SACE1B,MAAM,EACNC,WAAW,EACXC,UAAU,EACVC,MAAM,EACNC,SAAS,EACTE,gBAAgB,EAChBE,SAAS,EACTC,OAAO;;AAGT;AACA,SACEC,YAAY,EACZC,WAAW,EACXC,UAAU,EACVC,gBAAgB,EAChBR,WAAW,EACXE,gBAAgB,EAChBO,UAAU,EACVC,kBAAkB,EAClBC,UAAU,EACVC,oBAAoB,EACpBI,yBAAyB,EACzBH,mBAAmB,EACnBC,0BAA0B,EAC1BC,iBAAiB,EACjBE,eAAe,EACfC,sBAAsB;;AAGxB;AACA,OAAOI,UAAU;AACjB,SAASA,UAAU;AAQnB;AACA,SAASC,OAAO,IAAIC,cAAc;AAClC,SAASD,OAAO,IAAIE,kBAAkB;AACtC,SAASF,OAAO,IAAIG,WAAW;;AAE/B;;AASA;AACA,SAASC,MAAM,EAAEC,aAAa,EAAEC,KAAK,EAAEC,WAAW"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * CSS Variables 设计令牌统一管理
3
+ *
4
+ * 引用方可通过在父容器设置同名 CSS 变量来覆盖组件样式:
5
+ * .my-app { --xadk-color-primary: #7c3aed; }
6
+ */
7
+ /** CSS 变量名常量 */
8
+ export declare const tokens: {
9
+ readonly colorPrimary: "--xadk-color-primary";
10
+ readonly colorSuccess: "--xadk-color-success";
11
+ readonly colorError: "--xadk-color-error";
12
+ readonly colorWarning: "--xadk-color-warning";
13
+ readonly colorTextSecondary: "--xadk-color-text-secondary";
14
+ readonly colorBorder: "--xadk-color-border";
15
+ readonly colorBgHover: "--xadk-color-bg-hover";
16
+ readonly fontSizeSm: "--xadk-font-size-sm";
17
+ readonly fontSizeBase: "--xadk-font-size-base";
18
+ readonly borderRadius: "--xadk-border-radius";
19
+ readonly spacingSm: "--xadk-spacing-sm";
20
+ readonly spacingMd: "--xadk-spacing-md";
21
+ };
22
+ /** 默认值映射 */
23
+ export declare const tokenDefaults: Record<string, string>;
24
+ /** 生成 var() 引用(带 fallback 默认值) */
25
+ export declare const token: (name: string, fallback?: string) => string;
26
+ /** 将 tokenDefaults 转为可注入到 style 属性的对象 */
27
+ export declare const cssVarStyle: Record<string, string>;
@@ -0,0 +1,42 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
+ var _tokenDefaults;
4
+ /**
5
+ * CSS Variables 设计令牌统一管理
6
+ *
7
+ * 引用方可通过在父容器设置同名 CSS 变量来覆盖组件样式:
8
+ * .my-app { --xadk-color-primary: #7c3aed; }
9
+ */
10
+
11
+ /** CSS 变量名常量 */
12
+ export var tokens = {
13
+ // 颜色
14
+ colorPrimary: "--xadk-color-primary",
15
+ colorSuccess: "--xadk-color-success",
16
+ colorError: "--xadk-color-error",
17
+ colorWarning: "--xadk-color-warning",
18
+ colorTextSecondary: "--xadk-color-text-secondary",
19
+ colorBorder: "--xadk-color-border",
20
+ colorBgHover: "--xadk-color-bg-hover",
21
+ // 字体
22
+ fontSizeSm: "--xadk-font-size-sm",
23
+ fontSizeBase: "--xadk-font-size-base",
24
+ // 圆角
25
+ borderRadius: "--xadk-border-radius",
26
+ // 间距
27
+ spacingSm: "--xadk-spacing-sm",
28
+ spacingMd: "--xadk-spacing-md"
29
+ };
30
+
31
+ /** 默认值映射 */
32
+ export var tokenDefaults = (_tokenDefaults = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_tokenDefaults, tokens.colorPrimary, "#0078FF"), tokens.colorSuccess, "#52c41a"), tokens.colorError, "#ff4d4f"), tokens.colorWarning, "#faad14"), tokens.colorTextSecondary, "#8194ad"), tokens.colorBorder, "#e5e5e5"), tokens.colorBgHover, "#f5f5f5"), tokens.fontSizeSm, "12px"), tokens.fontSizeBase, "13px"), tokens.borderRadius, "8px"), _defineProperty(_defineProperty(_tokenDefaults, tokens.spacingSm, "8px"), tokens.spacingMd, "16px"));
33
+
34
+ /** 生成 var() 引用(带 fallback 默认值) */
35
+ export var token = function token(name, fallback) {
36
+ var defaultVal = fallback !== null && fallback !== void 0 ? fallback : tokenDefaults[name];
37
+ return defaultVal ? "var(".concat(name, ", ").concat(defaultVal, ")") : "var(".concat(name, ")");
38
+ };
39
+
40
+ /** 将 tokenDefaults 转为可注入到 style 属性的对象 */
41
+ export var cssVarStyle = _objectSpread({}, tokenDefaults);
42
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["tokens","colorPrimary","colorSuccess","colorError","colorWarning","colorTextSecondary","colorBorder","colorBgHover","fontSizeSm","fontSizeBase","borderRadius","spacingSm","spacingMd","tokenDefaults","_tokenDefaults","_defineProperty","token","name","fallback","defaultVal","concat","cssVarStyle","_objectSpread"],"sources":["../../../src/styles/tokens.ts"],"sourcesContent":["/**\n * CSS Variables 设计令牌统一管理\n *\n * 引用方可通过在父容器设置同名 CSS 变量来覆盖组件样式:\n * .my-app { --xadk-color-primary: #7c3aed; }\n */\n\n/** CSS 变量名常量 */\nexport const tokens = {\n // 颜色\n colorPrimary: \"--xadk-color-primary\",\n colorSuccess: \"--xadk-color-success\",\n colorError: \"--xadk-color-error\",\n colorWarning: \"--xadk-color-warning\",\n colorTextSecondary: \"--xadk-color-text-secondary\",\n colorBorder: \"--xadk-color-border\",\n colorBgHover: \"--xadk-color-bg-hover\",\n\n // 字体\n fontSizeSm: \"--xadk-font-size-sm\",\n fontSizeBase: \"--xadk-font-size-base\",\n\n // 圆角\n borderRadius: \"--xadk-border-radius\",\n\n // 间距\n spacingSm: \"--xadk-spacing-sm\",\n spacingMd: \"--xadk-spacing-md\",\n} as const;\n\n/** 默认值映射 */\nexport const tokenDefaults: Record<string, string> = {\n [tokens.colorPrimary]: \"#0078FF\",\n [tokens.colorSuccess]: \"#52c41a\",\n [tokens.colorError]: \"#ff4d4f\",\n [tokens.colorWarning]: \"#faad14\",\n [tokens.colorTextSecondary]: \"#8194ad\",\n [tokens.colorBorder]: \"#e5e5e5\",\n [tokens.colorBgHover]: \"#f5f5f5\",\n [tokens.fontSizeSm]: \"12px\",\n [tokens.fontSizeBase]: \"13px\",\n [tokens.borderRadius]: \"8px\",\n [tokens.spacingSm]: \"8px\",\n [tokens.spacingMd]: \"16px\",\n};\n\n/** 生成 var() 引用(带 fallback 默认值) */\nexport const token = (name: string, fallback?: string): string => {\n const defaultVal = fallback ?? tokenDefaults[name];\n return defaultVal ? `var(${name}, ${defaultVal})` : `var(${name})`;\n};\n\n/** 将 tokenDefaults 转为可注入到 style 属性的对象 */\nexport const cssVarStyle: Record<string, string> = { ...tokenDefaults };\n"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO,IAAMA,MAAM,GAAG;EACpB;EACAC,YAAY,EAAE,sBAAsB;EACpCC,YAAY,EAAE,sBAAsB;EACpCC,UAAU,EAAE,oBAAoB;EAChCC,YAAY,EAAE,sBAAsB;EACpCC,kBAAkB,EAAE,6BAA6B;EACjDC,WAAW,EAAE,qBAAqB;EAClCC,YAAY,EAAE,uBAAuB;EAErC;EACAC,UAAU,EAAE,qBAAqB;EACjCC,YAAY,EAAE,uBAAuB;EAErC;EACAC,YAAY,EAAE,sBAAsB;EAEpC;EACAC,SAAS,EAAE,mBAAmB;EAC9BC,SAAS,EAAE;AACb,CAAU;;AAEV;AACA,OAAO,IAAMC,aAAqC,IAAAC,cAAA,OAAAC,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAD,cAAA,EAC/Cd,MAAM,CAACC,YAAY,EAAG,SAAS,GAC/BD,MAAM,CAACE,YAAY,EAAG,SAAS,GAC/BF,MAAM,CAACG,UAAU,EAAG,SAAS,GAC7BH,MAAM,CAACI,YAAY,EAAG,SAAS,GAC/BJ,MAAM,CAACK,kBAAkB,EAAG,SAAS,GACrCL,MAAM,CAACM,WAAW,EAAG,SAAS,GAC9BN,MAAM,CAACO,YAAY,EAAG,SAAS,GAC/BP,MAAM,CAACQ,UAAU,EAAG,MAAM,GAC1BR,MAAM,CAACS,YAAY,EAAG,MAAM,GAC5BT,MAAM,CAACU,YAAY,EAAG,KAAK,GAAAK,eAAA,CAAAA,eAAA,CAAAD,cAAA,EAC3Bd,MAAM,CAACW,SAAS,EAAG,KAAK,GACxBX,MAAM,CAACY,SAAS,EAAG,MAAM,EAC3B;;AAED;AACA,OAAO,IAAMI,KAAK,GAAG,SAARA,KAAKA,CAAIC,IAAY,EAAEC,QAAiB,EAAa;EAChE,IAAMC,UAAU,GAAGD,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAIL,aAAa,CAACI,IAAI,CAAC;EAClD,OAAOE,UAAU,UAAAC,MAAA,CAAUH,IAAI,QAAAG,MAAA,CAAKD,UAAU,gBAAAC,MAAA,CAAaH,IAAI,MAAG;AACpE,CAAC;;AAED;AACA,OAAO,IAAMI,WAAmC,GAAAC,aAAA,KAAQT,aAAa,CAAE"}
@@ -1,7 +1,18 @@
1
1
  import React, { type ReactNode } from "react";
2
2
  import { IMessage, RenderFunctionCall, ToolRenderKind, ChatStrategies } from "./";
3
+ export type ThoughtChainStatus = "pending" | "loading" | "success" | "error";
3
4
  export interface XAdkThoughtChainProps {
5
+ /** 是否显示外层可折叠 header(默认 false) */
6
+ collapsible?: boolean;
7
+ /** 状态枚举,优先级高于 loading(默认 'success') */
8
+ status?: ThoughtChainStatus;
9
+ /** 标准 className */
10
+ className?: string;
11
+ /** 标准 style */
12
+ style?: React.CSSProperties;
13
+ /** 默认展开状态,仅在 collapsible=true 时生效 */
4
14
  defaultOpen?: boolean;
15
+ /** @deprecated 使用 status='loading' 替代,保留向后兼容 */
5
16
  loading?: boolean;
6
17
  title?: ReactNode;
7
18
  items: ThoughtChainItemType[];
@@ -32,4 +43,6 @@ export interface ThoughtChainItemType {
32
43
  title?: ReactNode;
33
44
  collapsible?: boolean;
34
45
  msg?: IMessage;
46
+ /** item 级别状态 */
47
+ status?: ThoughtChainStatus;
35
48
  }
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/types/XAdkThoughtChain.ts"],"sourcesContent":["import React, { type ReactNode } from \"react\";\nimport {\n IMessage,\n RenderFunctionCall,\n ToolRenderKind,\n ChatStrategies,\n} from \"@/types\";\n\nexport interface XAdkThoughtChainProps {\n defaultOpen?: boolean;\n loading?: boolean;\n title?: ReactNode;\n items: ThoughtChainItemType[];\n showFnCallDetail?: boolean;\n onConfirm?: (fnCall: any, confirmed: boolean) => void;\n blink?: boolean;\n /** 自定义工具调用渲染函数,返回 null 则使用默认渲染 */\n renderFunctionCall?: RenderFunctionCall;\n /**\n * 工具名 → 渲染类型的解析策略,默认使用 defaultToolKindResolver\n */\n toolKindResolver?: (name: string | undefined) => ToolRenderKind;\n /** 聊天策略,可由 Provider preset 自动下发,也可在组件局部覆盖。 */\n strategies?: ChatStrategies;\n}\n\nexport interface TimelineItemProps {\n icon: React.ReactNode;\n title: React.ReactNode;\n children: React.ReactNode;\n collapsible?: boolean;\n defaultOpen?: boolean;\n blink?: boolean;\n}\n\nexport interface ThoughtChainItemType {\n type: \"tool\" | \"text\";\n key: string;\n content: string;\n title?: ReactNode;\n collapsible?: boolean;\n msg?: IMessage;\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["../../../src/types/XAdkThoughtChain.ts"],"sourcesContent":["import React, { type ReactNode } from \"react\";\nimport {\n IMessage,\n RenderFunctionCall,\n ToolRenderKind,\n ChatStrategies,\n} from \"@/types\";\n\nexport type ThoughtChainStatus = \"pending\" | \"loading\" | \"success\" | \"error\";\n\nexport interface XAdkThoughtChainProps {\n /** 是否显示外层可折叠 header(默认 false) */\n collapsible?: boolean;\n /** 状态枚举,优先级高于 loading(默认 'success') */\n status?: ThoughtChainStatus;\n /** 标准 className */\n className?: string;\n /** 标准 style */\n style?: React.CSSProperties;\n /** 默认展开状态,仅在 collapsible=true 时生效 */\n defaultOpen?: boolean;\n /** @deprecated 使用 status='loading' 替代,保留向后兼容 */\n loading?: boolean;\n title?: ReactNode;\n items: ThoughtChainItemType[];\n showFnCallDetail?: boolean;\n onConfirm?: (fnCall: any, confirmed: boolean) => void;\n blink?: boolean;\n /** 自定义工具调用渲染函数,返回 null 则使用默认渲染 */\n renderFunctionCall?: RenderFunctionCall;\n /**\n * 工具名 → 渲染类型的解析策略,默认使用 defaultToolKindResolver\n */\n toolKindResolver?: (name: string | undefined) => ToolRenderKind;\n /** 聊天策略,可由 Provider preset 自动下发,也可在组件局部覆盖。 */\n strategies?: ChatStrategies;\n}\n\nexport interface TimelineItemProps {\n icon: React.ReactNode;\n title: React.ReactNode;\n children: React.ReactNode;\n collapsible?: boolean;\n defaultOpen?: boolean;\n blink?: boolean;\n}\n\nexport interface ThoughtChainItemType {\n type: \"tool\" | \"text\";\n key: string;\n content: string;\n title?: ReactNode;\n collapsible?: boolean;\n msg?: IMessage;\n /** item 级别状态 */\n status?: ThoughtChainStatus;\n}\n"],"mappings":""}