@ai-group/chat-sdk 3.0.8 → 3.0.10
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.
- package/dist/cjs/components/FileGallery/index.js +7 -5
- package/dist/cjs/components/FileGallery/index.js.map +2 -2
- package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.js +34 -26
- package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.js.map +2 -2
- package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/styles.js +1 -1
- package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/styles.js.map +1 -1
- package/dist/cjs/components/XAdkChatbot/components/MarkdownRender/index.d.ts +3 -0
- package/dist/cjs/components/XAdkChatbot/components/MarkdownRender/index.js +74 -2
- package/dist/cjs/components/XAdkChatbot/components/MarkdownRender/index.js.map +3 -3
- package/dist/cjs/components/XAdkChatbot/index.js +10 -7
- package/dist/cjs/components/XAdkChatbot/index.js.map +2 -2
- package/dist/cjs/types/FileGallery.d.ts +2 -0
- package/dist/cjs/types/FileGallery.js.map +1 -1
- package/dist/cjs/types/XAdkChatbot.d.ts +3 -0
- package/dist/cjs/types/XAdkChatbot.js.map +1 -1
- package/dist/esm/components/FileGallery/index.js +12 -5
- package/dist/esm/components/FileGallery/index.js.map +1 -1
- package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.js +3 -0
- package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.js.map +1 -1
- package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/styles.js +1 -1
- package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/styles.js.map +1 -1
- package/dist/esm/components/XAdkChatbot/components/MarkdownRender/index.d.ts +3 -0
- package/dist/esm/components/XAdkChatbot/components/MarkdownRender/index.js +81 -2
- package/dist/esm/components/XAdkChatbot/components/MarkdownRender/index.js.map +1 -1
- package/dist/esm/components/XAdkChatbot/index.js +14 -8
- package/dist/esm/components/XAdkChatbot/index.js.map +1 -1
- package/dist/esm/types/FileGallery.d.ts +2 -0
- package/dist/esm/types/FileGallery.js.map +1 -1
- package/dist/esm/types/XAdkChatbot.d.ts +3 -0
- package/dist/esm/types/XAdkChatbot.js.map +1 -1
- package/dist/umd/chat-sdk.min.js +1 -1
- package/package.json +2 -3
- package/dist/cjs/components/FileGallery/FileGallery.stories.d.ts +0 -6
- package/dist/cjs/components/FileGallery/FileGallery.stories.js +0 -143
- package/dist/cjs/components/FileGallery/FileGallery.stories.js.map +0 -7
- package/dist/cjs/components/XAdkChatbot/XAdkChatbot.stories.d.ts +0 -13
- package/dist/cjs/components/XAdkChatbot/XAdkChatbot.stories.js +0 -633
- package/dist/cjs/components/XAdkChatbot/XAdkChatbot.stories.js.map +0 -7
- package/dist/cjs/components/XAdkProvider/XAdkProvider.stories.d.ts +0 -10
- package/dist/cjs/components/XAdkProvider/XAdkProvider.stories.js +0 -394
- package/dist/cjs/components/XAdkProvider/XAdkProvider.stories.js.map +0 -7
- package/dist/cjs/components/XAdkSender/XAdkSender.stories.d.ts +0 -6
- package/dist/cjs/components/XAdkSender/XAdkSender.stories.js +0 -121
- package/dist/cjs/components/XAdkSender/XAdkSender.stories.js.map +0 -7
- package/dist/cjs/components/XAiChatbot/XAiChatbot.stories.d.ts +0 -10
- package/dist/cjs/components/XAiChatbot/XAiChatbot.stories.js +0 -773
- package/dist/cjs/components/XAiChatbot/XAiChatbot.stories.js.map +0 -7
- package/dist/cjs/components/XAiConversations/XAiConversations.stories.d.ts +0 -6
- package/dist/cjs/components/XAiConversations/XAiConversations.stories.js +0 -83
- package/dist/cjs/components/XAiConversations/XAiConversations.stories.js.map +0 -7
- package/dist/cjs/components/XAiProvider/XAiProvider.stories.d.ts +0 -8
- package/dist/cjs/components/XAiProvider/XAiProvider.stories.js +0 -206
- package/dist/cjs/components/XAiProvider/XAiProvider.stories.js.map +0 -7
- package/dist/cjs/components/XAiSender/XAiSender.stories.d.ts +0 -6
- package/dist/cjs/components/XAiSender/XAiSender.stories.js +0 -102
- package/dist/cjs/components/XAiSender/XAiSender.stories.js.map +0 -7
- package/dist/cjs/components/XAiThoughtChain/XAiThoughtChain.stories.d.ts +0 -6
- package/dist/cjs/components/XAiThoughtChain/XAiThoughtChain.stories.js +0 -180
- package/dist/cjs/components/XAiThoughtChain/XAiThoughtChain.stories.js.map +0 -7
- package/dist/esm/components/FileGallery/FileGallery.stories.d.ts +0 -6
- package/dist/esm/components/FileGallery/FileGallery.stories.js +0 -48
- package/dist/esm/components/FileGallery/FileGallery.stories.js.map +0 -1
- package/dist/esm/components/XAdkChatbot/XAdkChatbot.stories.d.ts +0 -13
- package/dist/esm/components/XAdkChatbot/XAdkChatbot.stories.js +0 -510
- package/dist/esm/components/XAdkChatbot/XAdkChatbot.stories.js.map +0 -1
- package/dist/esm/components/XAdkProvider/XAdkProvider.stories.d.ts +0 -10
- package/dist/esm/components/XAdkProvider/XAdkProvider.stories.js +0 -338
- package/dist/esm/components/XAdkProvider/XAdkProvider.stories.js.map +0 -1
- package/dist/esm/components/XAdkSender/XAdkSender.stories.d.ts +0 -6
- package/dist/esm/components/XAdkSender/XAdkSender.stories.js +0 -128
- package/dist/esm/components/XAdkSender/XAdkSender.stories.js.map +0 -1
- package/dist/esm/components/XAiChatbot/XAiChatbot.stories.d.ts +0 -10
- package/dist/esm/components/XAiChatbot/XAiChatbot.stories.js +0 -636
- package/dist/esm/components/XAiChatbot/XAiChatbot.stories.js.map +0 -1
- package/dist/esm/components/XAiConversations/XAiConversations.stories.d.ts +0 -6
- package/dist/esm/components/XAiConversations/XAiConversations.stories.js +0 -42
- package/dist/esm/components/XAiConversations/XAiConversations.stories.js.map +0 -1
- package/dist/esm/components/XAiProvider/XAiProvider.stories.d.ts +0 -8
- package/dist/esm/components/XAiProvider/XAiProvider.stories.js +0 -208
- package/dist/esm/components/XAiProvider/XAiProvider.stories.js.map +0 -1
- package/dist/esm/components/XAiSender/XAiSender.stories.d.ts +0 -6
- package/dist/esm/components/XAiSender/XAiSender.stories.js +0 -87
- package/dist/esm/components/XAiSender/XAiSender.stories.js.map +0 -1
- package/dist/esm/components/XAiThoughtChain/XAiThoughtChain.stories.d.ts +0 -6
- package/dist/esm/components/XAiThoughtChain/XAiThoughtChain.stories.js +0 -159
- package/dist/esm/components/XAiThoughtChain/XAiThoughtChain.stories.js.map +0 -1
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
-
mod
|
|
26
|
-
));
|
|
27
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
-
|
|
29
|
-
// src/components/XAiThoughtChain/XAiThoughtChain.stories.tsx
|
|
30
|
-
var XAiThoughtChain_stories_exports = {};
|
|
31
|
-
__export(XAiThoughtChain_stories_exports, {
|
|
32
|
-
default: () => XAiThoughtChain_stories_default,
|
|
33
|
-
基础用法: () => 基础用法
|
|
34
|
-
});
|
|
35
|
-
module.exports = __toCommonJS(XAiThoughtChain_stories_exports);
|
|
36
|
-
var import_react = require("react");
|
|
37
|
-
var import__ = __toESM(require("."));
|
|
38
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
39
|
-
var meta = {
|
|
40
|
-
title: "AI组件/XAiThoughtChain 思维链",
|
|
41
|
-
component: import__.default,
|
|
42
|
-
parameters: {},
|
|
43
|
-
tags: ["autodocs"],
|
|
44
|
-
argTypes: {}
|
|
45
|
-
};
|
|
46
|
-
var XAiThoughtChain_stories_default = meta;
|
|
47
|
-
var BasicUsageStory = () => {
|
|
48
|
-
const [items, setItems] = (0, import_react.useState)([]);
|
|
49
|
-
const [loading, setLoading] = (0, import_react.useState)(true);
|
|
50
|
-
const steps = [
|
|
51
|
-
{
|
|
52
|
-
type: "text",
|
|
53
|
-
key: "planning",
|
|
54
|
-
title: "任务规划",
|
|
55
|
-
content: "\n为了规划审核路线,我需要明确以下几个步骤:\n1. 确认审核的具体内容或目标(例如:OCR审核、批注生成等)。\n2. 根据审核内容,选择合适的工具(例如:`OCR审核1`、`生成批注pdf1`)。\n3. 提供必要的输入参数(例如:文件链接、日期、流水号等)。\n4. 执行工具并获取结果。\n\n由于用户未提供具体的审核内容或目标,我需要进一步澄清。\n\n"
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
type: "text",
|
|
59
|
-
key: "reasoning",
|
|
60
|
-
title: "推理分析",
|
|
61
|
-
content: "\n用户没有提供具体的审核内容或目标,因此无法直接调用工具。我需要请求用户提供更多信息,例如:\n- 审核的文件类型(图片、PDF等)。\n- 审核的具体任务(OCR识别、批注生成等)。\n- 是否有现成的文件链接或其他输入参数。\n\n"
|
|
62
|
-
},
|
|
63
|
-
// 待执行工具
|
|
64
|
-
// {
|
|
65
|
-
// type: "tool",
|
|
66
|
-
// msg: {
|
|
67
|
-
// id: "040c3341-759f-43cb-8f51-d33f8d16063c",
|
|
68
|
-
// author: "aaa111",
|
|
69
|
-
// invocationId: "e-b8f96c1d-5432-42cf-8cff-c04745538504",
|
|
70
|
-
// eventId: "2029398995837837312",
|
|
71
|
-
// timestamp: 1772681399674,
|
|
72
|
-
// role: "bot",
|
|
73
|
-
// functionCall: {
|
|
74
|
-
// id: "adk-a30a7fb0-4413-4251-8229-b48e6f9c0b32",
|
|
75
|
-
// args: {
|
|
76
|
-
// originalFunctionCall: {
|
|
77
|
-
// id: "call_8c999d1ae7f34f98ad2666",
|
|
78
|
-
// args: {
|
|
79
|
-
// size: "1024*1024",
|
|
80
|
-
// prompt: "一只猫在草地上,卡通风格",
|
|
81
|
-
// n: 1,
|
|
82
|
-
// },
|
|
83
|
-
// name: "bailian_image_gen",
|
|
84
|
-
// },
|
|
85
|
-
// toolConfirmation: {
|
|
86
|
-
// hint: "Please approve or reject the tool call vdjxxwbgpwlfs() by responding with a FunctionResponse with an expected ToolConfirmation payload.",
|
|
87
|
-
// confirmed: false,
|
|
88
|
-
// },
|
|
89
|
-
// },
|
|
90
|
-
// name: "adk_request_confirmation",
|
|
91
|
-
// },
|
|
92
|
-
// },
|
|
93
|
-
// },
|
|
94
|
-
// 确认执行
|
|
95
|
-
{
|
|
96
|
-
type: "tool",
|
|
97
|
-
msg: {
|
|
98
|
-
id: "99f7dff6-3780-4712-829f-4670707e76cc",
|
|
99
|
-
author: "aaa111",
|
|
100
|
-
invocationId: "e-fe701a0d-9fa2-4b82-b338-751c2ab31619",
|
|
101
|
-
eventId: "2029431631083794432",
|
|
102
|
-
timestamp: 1772689180523,
|
|
103
|
-
role: "bot",
|
|
104
|
-
functionCall: {
|
|
105
|
-
id: "call_ed77f343b5614de096ce35",
|
|
106
|
-
args: {
|
|
107
|
-
size: "1024*1024",
|
|
108
|
-
prompt: "一只可爱的小猫"
|
|
109
|
-
},
|
|
110
|
-
name: "bailian_image_gen"
|
|
111
|
-
},
|
|
112
|
-
functionResponse: {
|
|
113
|
-
id: "call_ed77f343b5614de096ce35",
|
|
114
|
-
name: "bailian_image_gen",
|
|
115
|
-
response: {
|
|
116
|
-
error: "This tool call requires confirmation, please approve or reject."
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
];
|
|
122
|
-
(0, import_react.useEffect)(() => {
|
|
123
|
-
let stepIndex = 0;
|
|
124
|
-
let charIndex = 0;
|
|
125
|
-
let currentContent = "";
|
|
126
|
-
setItems([
|
|
127
|
-
{
|
|
128
|
-
...steps[0],
|
|
129
|
-
content: ""
|
|
130
|
-
}
|
|
131
|
-
]);
|
|
132
|
-
const timer = setInterval(() => {
|
|
133
|
-
const currentStep = steps[stepIndex];
|
|
134
|
-
if (!currentStep) {
|
|
135
|
-
clearInterval(timer);
|
|
136
|
-
setLoading(false);
|
|
137
|
-
return;
|
|
138
|
-
}
|
|
139
|
-
if (charIndex < currentStep.content.length) {
|
|
140
|
-
currentContent += currentStep.content[charIndex];
|
|
141
|
-
charIndex++;
|
|
142
|
-
setItems((prev) => {
|
|
143
|
-
const newItems = [...prev];
|
|
144
|
-
newItems[stepIndex] = {
|
|
145
|
-
...currentStep,
|
|
146
|
-
content: currentContent
|
|
147
|
-
};
|
|
148
|
-
return newItems;
|
|
149
|
-
});
|
|
150
|
-
} else {
|
|
151
|
-
stepIndex++;
|
|
152
|
-
charIndex = 0;
|
|
153
|
-
currentContent = "";
|
|
154
|
-
if (stepIndex < steps.length) {
|
|
155
|
-
setItems((prev) => [
|
|
156
|
-
...prev,
|
|
157
|
-
{
|
|
158
|
-
...steps[stepIndex],
|
|
159
|
-
content: ""
|
|
160
|
-
}
|
|
161
|
-
]);
|
|
162
|
-
} else {
|
|
163
|
-
clearInterval(timer);
|
|
164
|
-
setLoading(false);
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
}, 20);
|
|
168
|
-
return () => clearInterval(timer);
|
|
169
|
-
}, []);
|
|
170
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: { width: 440, border: "1px solid #eee", padding: 20 }, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import__.default, { loading, items, defaultOpen: true }) });
|
|
171
|
-
};
|
|
172
|
-
var 基础用法 = {
|
|
173
|
-
render: BasicUsageStory,
|
|
174
|
-
args: {}
|
|
175
|
-
};
|
|
176
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
177
|
-
0 && (module.exports = {
|
|
178
|
-
基础用法
|
|
179
|
-
});
|
|
180
|
-
//# sourceMappingURL=XAiThoughtChain.stories.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/components/XAiThoughtChain/XAiThoughtChain.stories.tsx"],
|
|
4
|
-
"sourcesContent": ["import { useState, useEffect } from \"react\";\nimport type { Meta, StoryObj } from \"@storybook/react-vite\";\nimport XAiThoughtChain from \".\";\n\nconst meta: Meta<typeof XAiThoughtChain> = {\n title: \"AI组件/XAiThoughtChain 思维链\",\n component: XAiThoughtChain,\n parameters: {},\n tags: [\"autodocs\"],\n argTypes: {},\n};\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\n// 基础用法\nconst BasicUsageStory = () => {\n const [items, setItems] = useState<any[]>([]);\n const [loading, setLoading] = useState(true);\n\n const steps = [\n {\n type: \"text\",\n key: \"planning\",\n title: \"任务规划\",\n content:\n \"\\n为了规划审核路线,我需要明确以下几个步骤:\\n1. 确认审核的具体内容或目标(例如:OCR审核、批注生成等)。\\n2. 根据审核内容,选择合适的工具(例如:`OCR审核1`、`生成批注pdf1`)。\\n3. 提供必要的输入参数(例如:文件链接、日期、流水号等)。\\n4. 执行工具并获取结果。\\n\\n由于用户未提供具体的审核内容或目标,我需要进一步澄清。\\n\\n\",\n },\n {\n type: \"text\",\n key: \"reasoning\",\n title: \"推理分析\",\n content:\n \"\\n用户没有提供具体的审核内容或目标,因此无法直接调用工具。我需要请求用户提供更多信息,例如:\\n- 审核的文件类型(图片、PDF等)。\\n- 审核的具体任务(OCR识别、批注生成等)。\\n- 是否有现成的文件链接或其他输入参数。\\n\\n\",\n },\n // 待执行工具\n // {\n // type: \"tool\",\n // msg: {\n // id: \"040c3341-759f-43cb-8f51-d33f8d16063c\",\n // author: \"aaa111\",\n // invocationId: \"e-b8f96c1d-5432-42cf-8cff-c04745538504\",\n // eventId: \"2029398995837837312\",\n // timestamp: 1772681399674,\n // role: \"bot\",\n // functionCall: {\n // id: \"adk-a30a7fb0-4413-4251-8229-b48e6f9c0b32\",\n // args: {\n // originalFunctionCall: {\n // id: \"call_8c999d1ae7f34f98ad2666\",\n // args: {\n // size: \"1024*1024\",\n // prompt: \"一只猫在草地上,卡通风格\",\n // n: 1,\n // },\n // name: \"bailian_image_gen\",\n // },\n // toolConfirmation: {\n // hint: \"Please approve or reject the tool call vdjxxwbgpwlfs() by responding with a FunctionResponse with an expected ToolConfirmation payload.\",\n // confirmed: false,\n // },\n // },\n // name: \"adk_request_confirmation\",\n // },\n // },\n // },\n // 确认执行\n {\n type: \"tool\",\n msg: {\n id: \"99f7dff6-3780-4712-829f-4670707e76cc\",\n author: \"aaa111\",\n invocationId: \"e-fe701a0d-9fa2-4b82-b338-751c2ab31619\",\n eventId: \"2029431631083794432\",\n timestamp: 1772689180523,\n role: \"bot\",\n functionCall: {\n id: \"call_ed77f343b5614de096ce35\",\n args: {\n size: \"1024*1024\",\n prompt: \"一只可爱的小猫\",\n },\n name: \"bailian_image_gen\",\n },\n functionResponse: {\n id: \"call_ed77f343b5614de096ce35\",\n name: \"bailian_image_gen\",\n response: {\n error:\n \"This tool call requires confirmation, please approve or reject.\",\n },\n },\n },\n },\n ];\n\n useEffect(() => {\n let stepIndex = 0;\n let charIndex = 0;\n let currentContent = \"\";\n\n // 先插入第一个空 step\n setItems([\n {\n ...steps[0],\n content: \"\",\n },\n ]);\n\n const timer = setInterval(() => {\n const currentStep = steps[stepIndex];\n\n if (!currentStep) {\n clearInterval(timer);\n setLoading(false);\n return;\n }\n\n if (charIndex < currentStep.content!.length) {\n currentContent += currentStep.content![charIndex];\n charIndex++;\n\n setItems((prev) => {\n const newItems = [...prev];\n newItems[stepIndex] = {\n ...currentStep,\n content: currentContent,\n };\n return newItems;\n });\n } else {\n // 当前 step 打完\n stepIndex++;\n charIndex = 0;\n currentContent = \"\";\n\n if (stepIndex < steps.length) {\n setItems((prev) => [\n ...prev,\n {\n ...steps[stepIndex],\n content: \"\",\n },\n ]);\n } else {\n clearInterval(timer);\n setLoading(false);\n }\n }\n }, 20); // 20ms 一个字符\n\n return () => clearInterval(timer);\n }, []);\n\n return (\n <div style={{ width: 440, border: \"1px solid #eee\", padding: 20 }}>\n <XAiThoughtChain loading={loading} items={items} defaultOpen />\n </div>\n );\n};\n\nexport const 基础用法: Story = {\n render: BasicUsageStory,\n args: {},\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["XAiThoughtChain"]
|
|
7
|
-
}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import FileGallery from "./index";
|
|
2
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
var meta = {
|
|
4
|
-
title: "AI组件/FileGallery 附件卡片",
|
|
5
|
-
component: FileGallery,
|
|
6
|
-
parameters: {
|
|
7
|
-
layout: "padded",
|
|
8
|
-
docs: {
|
|
9
|
-
description: {
|
|
10
|
-
component: "\n\n\u4E00\u4E2A\u901A\u7528\u7684\u5355\u6587\u4EF6\u5C55\u793A\u7EC4\u4EF6\uFF0C\u7C7B\u4F3C antd-design-x \u7684\u8BBE\u8BA1\u98CE\u683C\uFF0C\u652F\u6301\u591A\u79CD\u6587\u4EF6\u7C7B\u578B\u7684\u5C55\u793A\u548C\u4EA4\u4E92\u3002\n\n## \u2728 \u7279\u6027\n\n- \uD83D\uDCC1 \u652F\u6301\u591A\u79CD\u6587\u4EF6\u7C7B\u578B\u5C55\u793A (\u56FE\u7247\u3001\u97F3\u9891\u3001\u89C6\u9891\u3001\u6587\u6863\u7B49)\n- \uD83D\uDDBC\uFE0F \u56FE\u7247\u652F\u6301\u9884\u89C8\u548C\u7F29\u7565\u56FE\n- \uD83C\uDFB5 \u97F3\u9891\u6587\u4EF6\u652F\u6301\u5185\u8054\u64AD\u653E\n- \uD83C\uDFAC \u89C6\u9891\u6587\u4EF6\u652F\u6301\u5185\u8054\u64AD\u653E\n- \uD83D\uDCCA \u663E\u793A\u6587\u4EF6\u5927\u5C0F\u3001\u7C7B\u578B\u56FE\u6807\n- \uD83D\uDDD1\uFE0F \u652F\u6301\u5220\u9664\u64CD\u4F5C\n- \uD83D\uDCE4 \u652F\u6301\u4E0A\u4F20\u8FDB\u5EA6\u663E\u793A\n- \uD83C\uDFAF \u5355\u6587\u4EF6\u8BBE\u8BA1\uFF0C\u5E03\u5C40\u7075\u6D3B\u53EF\u63A7\n- \uD83C\uDFA8 \u652F\u6301\u5361\u7247\u5185\u90E8\u5E03\u5C40\u63A7\u5236\uFF08\u56FE\u6807\u5728\u5DE6/\u53F3\uFF09\n\n## \uD83C\uDFA8 \u652F\u6301\u7684\u6587\u4EF6\u7C7B\u578B\n\n### \u56FE\u7247 (\u5E26\u9884\u89C8)\n\n- jpg, jpeg, png, gif, webp, bmp, svg\n\n### \u97F3\u9891 (\u5185\u8054\u64AD\u653E)\n\n- mp3, wav, m4a, aac, ogg, flac\n\n### \u89C6\u9891 (\u5185\u8054\u64AD\u653E)\n\n- mp4, mov, webm, mkv, avi\n\n### \u6587\u6863 (\u56FE\u6807\u5C55\u793A)\n\n- PDF: pdf\n- Word: doc, docx\n- Excel: xls, xlsx, csv\n- PowerPoint: ppt, pptx\n- \u5176\u4ED6: \u901A\u7528\u6587\u4EF6\u56FE\u6807\n\n## \uD83D\uDCDD Props \u8BF4\u660E\n\n| \u5C5E\u6027 | \u7C7B\u578B | \u9ED8\u8BA4\u503C | \u8BF4\u660E |\n| --------- | --------------------- | ------ | ------------------------------------------ |\n| file | FileItem | - | \u6587\u4EF6\u5BF9\u8C61\uFF08\u5FC5\u9700\uFF09 |\n| align | \"left\" | \"right\" | \"left\" | \u5361\u7247\u5185\u90E8\u5E03\u5C40\uFF1A\u56FE\u6807\u5728\u5DE6(left)\u6216\u53F3(right) |\n| removable | boolean | false | \u662F\u5426\u663E\u793A\u5220\u9664\u6309\u94AE |\n| onRemove | (id: string) => void | - | \u5220\u9664\u6587\u4EF6\u56DE\u8C03 |\n| className | string | - | \u81EA\u5B9A\u4E49\u6837\u5F0F\u7C7B\u540D |\n| style | React.CSSProperties | - | \u81EA\u5B9A\u4E49\u6837\u5F0F |\n\n\n## \uD83D\uDCA1 \u8BBE\u8BA1\u7406\u5FF5\n\n### \u4E3A\u4EC0\u4E48\u662F\u5355\u6587\u4EF6\u8BBE\u8BA1\uFF1F\n\n1. **\u5E03\u5C40\u7075\u6D3B\u6027**\uFF1A\u4E0A\u5C42\u7EC4\u4EF6\u53EF\u4EE5\u81EA\u7531\u63A7\u5236\u6587\u4EF6\u5217\u8868\u7684\u5E03\u5C40\u65B9\u5F0F\uFF08flex\u3001grid\u3001\u6C34\u5E73\u3001\u5782\u76F4\u7B49\uFF09\n2. **\u5BF9\u9F50\u63A7\u5236**\uFF1A\u901A\u8FC7\u5BB9\u5668\u7684 CSS \u63A7\u5236\u6574\u4E2A\u5217\u8868\u7684\u5BF9\u9F50\u65B9\u5F0F\uFF0C\u800C\u975E\u7EC4\u4EF6\u5185\u90E8\u63A7\u5236\n3. **\u8D23\u4EFB\u5355\u4E00**\uFF1A\u7EC4\u4EF6\u4E13\u6CE8\u4E8E\u5355\u4E2A\u6587\u4EF6\u7684\u5C55\u793A\uFF0C\u4E0D\u5173\u5FC3\u5217\u8868\u5E03\u5C40\n4. **\u6613\u4E8E\u6269\u5C55**\uFF1A\u53EF\u4EE5\u8F7B\u677E\u63D2\u5165\u5176\u4ED6\u5143\u7D20\uFF08\u5982\u5206\u9694\u7B26\u3001\u6807\u7B7E\u7B49\uFF09\n "
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
},
|
|
14
|
-
tags: ["autodocs"],
|
|
15
|
-
argTypes: {}
|
|
16
|
-
};
|
|
17
|
-
export default meta;
|
|
18
|
-
// ============================================
|
|
19
|
-
// 示例 1: 基础用法
|
|
20
|
-
// ============================================
|
|
21
|
-
export var 基础用法 = {
|
|
22
|
-
render: function render() {
|
|
23
|
-
var remoteFiles = [{
|
|
24
|
-
displayName: "report.xlsx",
|
|
25
|
-
mimeType: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
|
26
|
-
fileUri: "https://example.com/report.xlsx"
|
|
27
|
-
}, {
|
|
28
|
-
displayName: "photo.png",
|
|
29
|
-
mimeType: "image/png",
|
|
30
|
-
fileUri: "https://example.com/photo.png"
|
|
31
|
-
}];
|
|
32
|
-
return /*#__PURE__*/_jsx("div", {
|
|
33
|
-
style: {
|
|
34
|
-
display: "flex",
|
|
35
|
-
flexWrap: "wrap",
|
|
36
|
-
gap: "8px",
|
|
37
|
-
justifyContent: "flex-start"
|
|
38
|
-
},
|
|
39
|
-
children: remoteFiles.map(function (file, index) {
|
|
40
|
-
return /*#__PURE__*/_jsx(FileGallery, {
|
|
41
|
-
file: file,
|
|
42
|
-
align: "left"
|
|
43
|
-
}, index);
|
|
44
|
-
})
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
//# sourceMappingURL=FileGallery.stories.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["FileGallery","jsx","_jsx","meta","title","component","parameters","layout","docs","description","tags","argTypes","基础用法","render","remoteFiles","displayName","mimeType","fileUri","style","display","flexWrap","gap","justifyContent","children","map","file","index","align"],"sources":["../../../../src/components/FileGallery/FileGallery.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react-vite\";\nimport FileGallery from \"./index\";\n\nconst meta: Meta<typeof FileGallery> = {\n title: \"AI组件/FileGallery 附件卡片\",\n component: FileGallery,\n parameters: {\n layout: \"padded\",\n docs: {\n description: {\n component: `\n\n一个通用的单文件展示组件,类似 antd-design-x 的设计风格,支持多种文件类型的展示和交互。\n\n## ✨ 特性\n\n- 📁 支持多种文件类型展示 (图片、音频、视频、文档等)\n- 🖼️ 图片支持预览和缩略图\n- 🎵 音频文件支持内联播放\n- 🎬 视频文件支持内联播放\n- 📊 显示文件大小、类型图标\n- 🗑️ 支持删除操作\n- 📤 支持上传进度显示\n- 🎯 单文件设计,布局灵活可控\n- 🎨 支持卡片内部布局控制(图标在左/右)\n\n## 🎨 支持的文件类型\n\n### 图片 (带预览)\n\n- jpg, jpeg, png, gif, webp, bmp, svg\n\n### 音频 (内联播放)\n\n- mp3, wav, m4a, aac, ogg, flac\n\n### 视频 (内联播放)\n\n- mp4, mov, webm, mkv, avi\n\n### 文档 (图标展示)\n\n- PDF: pdf\n- Word: doc, docx\n- Excel: xls, xlsx, csv\n- PowerPoint: ppt, pptx\n- 其他: 通用文件图标\n\n## 📝 Props 说明\n\n| 属性 | 类型 | 默认值 | 说明 |\n| --------- | --------------------- | ------ | ------------------------------------------ |\n| file | FileItem | - | 文件对象(必需) |\n| align | \"left\" \\| \"right\" | \"left\" | 卡片内部布局:图标在左(left)或右(right) |\n| removable | boolean | false | 是否显示删除按钮 |\n| onRemove | (id: string) => void | - | 删除文件回调 |\n| className | string | - | 自定义样式类名 |\n| style | React.CSSProperties | - | 自定义样式 |\n\n\n## 💡 设计理念\n\n### 为什么是单文件设计?\n\n1. **布局灵活性**:上层组件可以自由控制文件列表的布局方式(flex、grid、水平、垂直等)\n2. **对齐控制**:通过容器的 CSS 控制整个列表的对齐方式,而非组件内部控制\n3. **责任单一**:组件专注于单个文件的展示,不关心列表布局\n4. **易于扩展**:可以轻松插入其他元素(如分隔符、标签等)\n `,\n },\n },\n },\n tags: [\"autodocs\"],\n argTypes: {},\n};\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\n// ============================================\n// 示例 1: 基础用法\n// ============================================\nexport const 基础用法: Story = {\n render: () => {\n const remoteFiles = [\n {\n displayName: \"report.xlsx\",\n mimeType:\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\n fileUri: \"https://example.com/report.xlsx\",\n },\n {\n displayName: \"photo.png\",\n mimeType: \"image/png\",\n fileUri: \"https://example.com/photo.png\",\n },\n ];\n\n return (\n <div\n style={{\n display: \"flex\",\n flexWrap: \"wrap\",\n gap: \"8px\",\n justifyContent: \"flex-start\",\n }}\n >\n {remoteFiles.map((file, index) => (\n <FileGallery key={index} file={file} align=\"left\" />\n ))}\n </div>\n );\n },\n};\n"],"mappings":"AACA,OAAOA,WAAW;AAAgB,SAAAC,GAAA,IAAAC,IAAA;AAElC,IAAMC,IAA8B,GAAG;EACrCC,KAAK,EAAE,uBAAuB;EAC9BC,SAAS,EAAEL,WAAW;EACtBM,UAAU,EAAE;IACVC,MAAM,EAAE,QAAQ;IAChBC,IAAI,EAAE;MACJC,WAAW,EAAE;QACXJ,SAAS;MA2DX;IACF;EACF,CAAC;EACDK,IAAI,EAAE,CAAC,UAAU,CAAC;EAClBC,QAAQ,EAAE,CAAC;AACb,CAAC;AAED,eAAeR,IAAI;AAGnB;AACA;AACA;AACA,OAAO,IAAMS,IAAW,GAAG;EACzBC,MAAM,EAAE,SAAAA,OAAA,EAAM;IACZ,IAAMC,WAAW,GAAG,CAClB;MACEC,WAAW,EAAE,aAAa;MAC1BC,QAAQ,EACN,mEAAmE;MACrEC,OAAO,EAAE;IACX,CAAC,EACD;MACEF,WAAW,EAAE,WAAW;MACxBC,QAAQ,EAAE,WAAW;MACrBC,OAAO,EAAE;IACX,CAAC,CACF;IAED,oBACEf,IAAA;MACEgB,KAAK,EAAE;QACLC,OAAO,EAAE,MAAM;QACfC,QAAQ,EAAE,MAAM;QAChBC,GAAG,EAAE,KAAK;QACVC,cAAc,EAAE;MAClB,CAAE;MAAAC,QAAA,EAEDT,WAAW,CAACU,GAAG,CAAC,UAACC,IAAI,EAAEC,KAAK;QAAA,oBAC3BxB,IAAA,CAACF,WAAW;UAAayB,IAAI,EAAEA,IAAK;UAACE,KAAK,EAAC;QAAM,GAA/BD,KAAiC,CAAC;MAAA,CACrD;IAAC,CACC,CAAC;EAEV;AACF,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from "@storybook/react-vite";
|
|
2
|
-
import XAdkChatbot from "./index";
|
|
3
|
-
declare const meta: Meta<typeof XAdkChatbot>;
|
|
4
|
-
export default meta;
|
|
5
|
-
type Story = StoryObj<typeof meta>;
|
|
6
|
-
export declare const 基础用法: Story;
|
|
7
|
-
export declare const 开场白和建议: Story;
|
|
8
|
-
export declare const 流式输出: Story;
|
|
9
|
-
export declare const 自定义Footer: Story;
|
|
10
|
-
export declare const 函数调用: Story;
|
|
11
|
-
export declare const 思维链: Story;
|
|
12
|
-
export declare const 代码高亮: Story;
|
|
13
|
-
export declare const 多轮对话: Story;
|