@ant-design/agentic-ui 2.29.15 → 2.29.16
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/README.md +93 -205
- package/dist/Bubble/List/PureBubbleList.js +2 -4
- package/dist/Components/LayoutHeader/index.js +1 -1
- package/dist/Hooks/useLanguage.d.ts +2 -0
- package/dist/I18n/locales.d.ts +2 -0
- package/dist/I18n/locales.js +4 -0
- package/dist/MarkdownEditor/editor/parser/parse/parseHtml.js +11 -3
- package/dist/MarkdownEditor/editor/parser/parserMarkdownToSlateNode.d.ts +8 -0
- package/dist/MarkdownEditor/editor/parser/parserMarkdownToSlateNode.js +206 -144
- package/dist/MarkdownEditor/editor/plugins/elements.js +8 -2
- package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/match.d.ts +1 -1
- package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/match.js +4 -3
- package/dist/MarkdownEditor/editor/plugins/useKeyboard.js +1 -2
- package/dist/MarkdownInputField/MarkdownInputField.js +4 -2
- package/dist/MarkdownInputField/SendActions/index.d.ts +2 -0
- package/dist/MarkdownInputField/SendActions/index.js +5 -3
- package/dist/MarkdownInputField/SendButton/index.d.ts +4 -0
- package/dist/MarkdownInputField/SendButton/index.js +3 -3
- package/dist/MarkdownInputField/hooks/useMarkdownInputFieldHandlers.d.ts +1 -1
- package/dist/MarkdownInputField/hooks/useMarkdownInputFieldHandlers.js +23 -10
- package/dist/MarkdownInputField/types/MarkdownInputFieldProps.d.ts +3 -3
- package/dist/MarkdownInputField/utils/renderHelpers.d.ts +1 -1
- package/dist/MarkdownInputField/utils/renderHelpers.js +3 -1
- package/dist/Workspace/Browser/index.d.ts +4 -0
- package/dist/Workspace/Browser/index.js +25 -7
- package/dist/Workspace/File/style.js +4 -1
- package/guidelines/Guidelines.md +31 -0
- package/guidelines/components/bubble.md +41 -0
- package/guidelines/components/chat-layout.md +45 -0
- package/guidelines/components/input.md +52 -0
- package/guidelines/components/loading.md +33 -0
- package/guidelines/components/markdown-editor.md +30 -0
- package/guidelines/components/robot.md +26 -0
- package/guidelines/components/task-list.md +22 -0
- package/guidelines/components/thought-chain.md +30 -0
- package/guidelines/components/tool-use-bar.md +22 -0
- package/guidelines/components/welcome-message.md +27 -0
- package/guidelines/components/workspace.md +63 -0
- package/guidelines/design-tokens/colors.md +51 -0
- package/guidelines/design-tokens/spacing.md +29 -0
- package/guidelines/design-tokens/typography.md +46 -0
- package/guidelines/overview-components.md +30 -0
- package/guidelines/overview-icons.md +15 -0
- package/package.json +5 -2
package/README.md
CHANGED
|
@@ -1,251 +1,139 @@
|
|
|
1
|
-
# Agentic UI
|
|
1
|
+
# Agentic UI
|
|
2
|
+
|
|
3
|
+
<div align="center">
|
|
2
4
|
|
|
3
5
|
[](https://npmjs.org/package/@ant-design/agentic-ui)
|
|
4
6
|
[](https://npmjs.org/package/@ant-design/agentic-ui)
|
|
7
|
+
[](https://npmjs.org/package/@ant-design/agentic-ui)
|
|
5
8
|
|
|
6
|
-
>
|
|
7
|
-
|
|
8
|
-
## ✨ 什么是 Agentic UI
|
|
9
|
+
<p>面向智能体的 UI 组件库,提供多步推理可视化、工具调用展示、任务执行协同等 Agentic UI 能力。</p>
|
|
10
|
+
<p>从“回答一句话”到“完成一件事”——让智能体真正成为你的协作伙伴。</p>
|
|
9
11
|
|
|
10
|
-
|
|
12
|
+
</div>
|
|
11
13
|
|
|
12
|
-
|
|
14
|
+
## ✨ 特性
|
|
13
15
|
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
16
|
+
- **🤖 多步推理可视化** - 清晰展示智能体的“思考—行动—观察”完整链路
|
|
17
|
+
- **🔧 工具调用展示** - 可视化 API 调用、参数传递与执行结果
|
|
18
|
+
- **🧠 智能体协同** - 支持任务分解、进度跟踪与人在回路(Human-in-the-loop)交互
|
|
19
|
+
- **📝 流式 Markdown** - 支持打字机效果、数学公式、代码高亮与多模态输入
|
|
20
|
+
- **🎨 开箱即用** - 基于 Ant Design 体系,提供完整的 TypeScript 类型定义
|
|
21
|
+
- **🔌 插件化架构** - 灵活扩展图表、公式、代码格式化等能力
|
|
18
22
|
|
|
19
|
-
|
|
23
|
+
## 📦 安装
|
|
20
24
|
|
|
21
|
-
|
|
22
|
-
| ---------- | ---------- | -------------- |
|
|
23
|
-
| 核心目标 | 回答一句话 | 完成一件事 |
|
|
24
|
-
| 交互深度 | 单轮问答 | 端到端任务协同 |
|
|
25
|
-
| 过程可见性 | 黑盒 | 透明化 |
|
|
26
|
-
| 人机关系 | 被动响应 | 主动协作 |
|
|
25
|
+
推荐使用 `npm` 或 `pnpm` 进行安装:
|
|
27
26
|
|
|
28
|
-
|
|
27
|
+
```bash
|
|
28
|
+
npm install @ant-design/agentic-ui
|
|
29
|
+
# 或
|
|
30
|
+
pnpm add @ant-design/agentic-ui
|
|
31
|
+
# 或
|
|
32
|
+
yarn add @ant-design/agentic-ui
|
|
33
|
+
```
|
|
29
34
|
|
|
30
|
-
##
|
|
35
|
+
## 🚀 快速开始
|
|
31
36
|
|
|
32
|
-
###
|
|
37
|
+
### 基础示例:AI 对话气泡
|
|
33
38
|
|
|
34
|
-
|
|
35
|
-
**LUI**:用自然语言表达意图,系统解析并执行(常见为对话/命令式语言界面)
|
|
39
|
+
展示一个包含思维链(Thought Chain)的 AI 回复气泡:
|
|
36
40
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
| **怎么操作** | 点按钮、选菜单、填表单 | 像聊天一样用自然语言说出你的需求 |
|
|
40
|
-
| **交互方式** | 一步步点,系统照做 | 告诉目标,系统理解并帮你完成 |
|
|
41
|
-
| **上手难度** | 看得见的功能容易学,但界面复杂时难掌握 | 说话就行,但要说得清楚(比如"帮我订明天的会议室"比"订个会"更好) |
|
|
42
|
-
| **功能好不好找** | 功能都摆在界面上,一目了然 | 功能藏在对话里,需要提示或例子才知道能做什么 |
|
|
43
|
-
| **结果准不准** | 点哪打哪,结果确定 | 有时理解有偏差,可能需要你再解释一下 |
|
|
44
|
-
| **适合什么任务** | 简单、明确的操作(如上传文件、开关设置) | 复杂或多条件的任务(如"找上周类似但更便宜的方案") |
|
|
45
|
-
| **出错了怎么办** | 可撤销、重试,操作步骤清晰 | 系统会问你确认,或让你修改说法 |
|
|
46
|
-
| **能不能自动干活** | 得自己一步步点 | 一句话就能触发一连串自动操作(比如查数据+发邮件) |
|
|
41
|
+
```tsx
|
|
42
|
+
import { Bubble } from '@ant-design/agentic-ui';
|
|
47
43
|
|
|
48
|
-
|
|
44
|
+
export default () => (
|
|
45
|
+
<Bubble.AIBubble
|
|
46
|
+
content="我已经完成了数据分析,这是结果:"
|
|
47
|
+
thoughtChain={[
|
|
48
|
+
{ type: 'thought', content: '首先需要查询数据库' },
|
|
49
|
+
{ type: 'action', content: '执行 SQL 查询' },
|
|
50
|
+
{ type: 'observation', content: '获取到 1000 条记录' },
|
|
51
|
+
]}
|
|
52
|
+
/>
|
|
53
|
+
);
|
|
54
|
+
```
|
|
49
55
|
|
|
50
|
-
|
|
56
|
+
## 🧩 组件概览
|
|
51
57
|
|
|
52
|
-
|
|
53
|
-
**Agentic UI** 侧重"给目标,由智能体规划并执行,过程可见可控"
|
|
58
|
+
### 🤖 核心智能体组件
|
|
54
59
|
|
|
55
|
-
|
|
|
56
|
-
|
|
|
57
|
-
|
|
|
58
|
-
|
|
|
59
|
-
|
|
|
60
|
-
|
|
|
61
|
-
|
|
|
60
|
+
| 组件 | 描述 |
|
|
61
|
+
| --- | --- |
|
|
62
|
+
| `Bubble` | 对话气泡,支持 AI(带思维链)和用户模式 |
|
|
63
|
+
| `ThoughtChainList` | 独立展示智能体的“思考—行动—观察”推理过程 |
|
|
64
|
+
| `TaskList` | 任务列表,展示多步骤任务的状态(进行中、完成、等待) |
|
|
65
|
+
| `ToolUseBar` | 工具调用状态栏,展示 API 调用详情 |
|
|
66
|
+
| `AgenticLayout` | 智能体应用的标准布局框架 |
|
|
67
|
+
| `Workspace` | 包含文件管理、浏览器预览的智能体工作台 |
|
|
62
68
|
|
|
63
|
-
|
|
69
|
+
### ✍️ 编辑与输入
|
|
64
70
|
|
|
65
|
-
|
|
71
|
+
| 组件 | 描述 |
|
|
72
|
+
| --- | --- |
|
|
73
|
+
| `MarkdownEditor` | 支持流式输出、插件扩展的 Markdown 编辑器 |
|
|
74
|
+
| `MarkdownInputField` | 支持多模态(语音、文件)的输入框 |
|
|
75
|
+
| `SchemaForm` | 基于 Schema 自动生成的表单组件 |
|
|
66
76
|
|
|
67
|
-
|
|
77
|
+
### 🎯 交互与反馈
|
|
68
78
|
|
|
69
|
-
|
|
79
|
+
| 组件 | 描述 |
|
|
80
|
+
| --- | --- |
|
|
81
|
+
| `SuggestionList` | 下一步操作或问题的建议列表 |
|
|
82
|
+
| `WelcomeMessage` | 应用启动时的欢迎语引导 |
|
|
83
|
+
| `History` | 会话历史记录管理 |
|
|
84
|
+
| `AnswerAlert` | 用于展示结果状态的提示组件 |
|
|
70
85
|
|
|
71
|
-
|
|
72
|
-
npm install @ant-design/agentic-ui
|
|
73
|
-
# 或
|
|
74
|
-
pnpm add @ant-design/agentic-ui
|
|
75
|
-
```
|
|
86
|
+
## 💡 设计理念
|
|
76
87
|
|
|
77
|
-
|
|
88
|
+
**Agentic UI** 旨在解决传统 Chat UI 在处理复杂任务时的局限性。
|
|
78
89
|
|
|
79
|
-
|
|
80
|
-
|
|
90
|
+
| 维度 | Chat UI (LUI) | Agentic UI |
|
|
91
|
+
| --- | --- | --- |
|
|
92
|
+
| **核心目标** | 回答一句话 | 完成一件事 |
|
|
93
|
+
| **交互深度** | 单轮问答 | 端到端任务协同 |
|
|
94
|
+
| **过程可见性** | 黑盒(只看结果) | 透明化(可见思考与工具调用) |
|
|
95
|
+
| **人机关系** | 被动响应 | 主动协作 |
|
|
81
96
|
|
|
82
|
-
|
|
83
|
-
content="我已经完成了数据分析,这是结果:"
|
|
84
|
-
thoughtChain={[
|
|
85
|
-
{ type: 'thought', content: '首先需要查询数据库' },
|
|
86
|
-
{ type: 'action', content: '执行 SQL 查询' },
|
|
87
|
-
{ type: 'observation', content: '获取到 1000 条记录' },
|
|
88
|
-
]}
|
|
89
|
-
/>;
|
|
90
|
-
```
|
|
97
|
+
我们不仅提供界面控件,更提供一种**面向过程**的交互范式,让用户理解 AI 的决策逻辑,从而建立信任并进行有效协作。
|
|
91
98
|
|
|
92
|
-
|
|
99
|
+
## ⌨️ 本地开发
|
|
93
100
|
|
|
94
|
-
|
|
95
|
-
import { TaskList } from '@ant-design/agentic-ui';
|
|
101
|
+
克隆仓库并安装依赖:
|
|
96
102
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
{ id: 3, title: '生成报告', status: 'pending' },
|
|
102
|
-
]}
|
|
103
|
-
/>;
|
|
103
|
+
```bash
|
|
104
|
+
git clone git@github.com:ant-design/agentic-ui.git
|
|
105
|
+
cd agentic-ui
|
|
106
|
+
pnpm install
|
|
104
107
|
```
|
|
105
108
|
|
|
106
|
-
|
|
109
|
+
启动文档站点进行预览:
|
|
107
110
|
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
<ToolUseBar
|
|
112
|
-
toolName="database_query"
|
|
113
|
-
status="running"
|
|
114
|
-
params={{ table: 'users', limit: 100 }}
|
|
115
|
-
result={{ count: 1000, data: [...] }}
|
|
116
|
-
/>
|
|
111
|
+
```bash
|
|
112
|
+
pnpm start
|
|
113
|
+
# 访问 http://localhost:8000
|
|
117
114
|
```
|
|
118
115
|
|
|
119
|
-
|
|
116
|
+
运行测试:
|
|
120
117
|
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
<MarkdownEditor
|
|
125
|
-
initValue="# AI 生成内容"
|
|
126
|
-
typewriter={true} // 打字机效果
|
|
127
|
-
readonly={false}
|
|
128
|
-
/>;
|
|
118
|
+
```bash
|
|
119
|
+
pnpm test
|
|
129
120
|
```
|
|
130
121
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
## 🧩 完整组件列表
|
|
134
|
-
|
|
135
|
-
### 🤖 核心智能体组件
|
|
122
|
+
构建产物:
|
|
136
123
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
| `AgentRunBar` | 智能体运行状态栏 | 显示运行、暂停、停止等状态控制 |
|
|
141
|
-
| `Bubble` | AI/用户对话气泡 | 展示对话内容,支持 AI 和用户消息的差异化展示 |
|
|
142
|
-
| `ThoughtChainList` | 思维链可视化 | 展示"思考—行动—观察"的完整推理过程 |
|
|
143
|
-
| `TaskList` | 任务列表与进度跟踪 | 多步骤任务的状态管理与展示 |
|
|
144
|
-
| `ToolUseBar` | 工具调用展示 | 可视化 API 调用、参数、状态与结果 |
|
|
145
|
-
| `Workspace` | 智能体工作空间 | 文件管理、浏览器、实时跟踪等功能 |
|
|
146
|
-
|
|
147
|
-
### ✍️ 编辑与输入组件
|
|
148
|
-
|
|
149
|
-
| 组件 | 描述 | 主要功能 |
|
|
150
|
-
| -------------------- | ---------------------- | -------------------------------------------- |
|
|
151
|
-
| `MarkdownEditor` | 富文本 Markdown 编辑器 | 支持流式输出、打字机效果、完整 Markdown 语法 |
|
|
152
|
-
| `MarkdownInputField` | Markdown 输入框 | 支持多模态输入、文件上传、语音输入 |
|
|
153
|
-
|
|
154
|
-
### 📋 布局与容器组件
|
|
155
|
-
|
|
156
|
-
| 组件 | 描述 | 主要功能 |
|
|
157
|
-
| ---------------- | ------------ | ------------------------------------ |
|
|
158
|
-
| `ChatLayout` | 聊天布局容器 | 标准聊天界面布局,支持左右栏、全屏等 |
|
|
159
|
-
| `History` | 历史记录组件 | 会话历史管理,支持搜索、筛选、导出 |
|
|
160
|
-
| `WelcomeMessage` | 欢迎语组件 | 应用启动欢迎语,展示功能介绍 |
|
|
161
|
-
| `Quote` | 引用组件 | 引用消息或内容 |
|
|
162
|
-
|
|
163
|
-
### 🎯 交互与反馈组件
|
|
164
|
-
|
|
165
|
-
| 组件 | 描述 | 主要功能 |
|
|
166
|
-
| ---------------- | ------------- | -------------------------------- |
|
|
167
|
-
| `AnswerAlert` | 答案提醒组件 | 显示成功、错误、警告、加载等状态 |
|
|
168
|
-
| `BackTo` | 返回顶部/底部 | 快速滚动到页面顶部或底部 |
|
|
169
|
-
| `Loading` | 加载动画 | 多种样式的加载状态展示 |
|
|
170
|
-
| `SuggestionList` | 建议列表 | 智能推荐问题或操作 |
|
|
171
|
-
| `ActionIconBox` | 操作图标容器 | 统一的操作按钮样式 |
|
|
172
|
-
|
|
173
|
-
### 🧠 智能体专属组件
|
|
174
|
-
|
|
175
|
-
| 组件 | 描述 | 主要功能 |
|
|
176
|
-
| ---------------- | -------------- | ---------------------------- |
|
|
177
|
-
| `ChatBootPage` | 对话启动页组件 | 快速回复、案例推荐等引导功能 |
|
|
178
|
-
| `SchemaEditor` | Schema 编辑器 | 结构化数据编辑 |
|
|
179
|
-
| `SchemaForm` | Schema 表单 | 基于 Schema 自动生成表单 |
|
|
180
|
-
| `SchemaRenderer` | Schema 渲染器 | 渲染结构化数据 |
|
|
181
|
-
|
|
182
|
-
### 🔌 插件组件
|
|
183
|
-
|
|
184
|
-
| 插件类型 | 描述 | 支持功能 |
|
|
185
|
-
| ----------- | -------------- | ------------------------------- |
|
|
186
|
-
| `code` | 代码高亮插件 | 支持 100+ 编程语言语法高亮 |
|
|
187
|
-
| `katex` | 数学公式插件 | 支持 LaTeX 数学公式渲染 |
|
|
188
|
-
| `mermaid` | 图表插件 | 支持流程图、时序图、甘特图等 |
|
|
189
|
-
| `chart` | 数据图表插件 | 支持 ECharts 各类数据可视化图表 |
|
|
190
|
-
| `formatter` | 代码格式化插件 | 自动格式化代码 |
|
|
191
|
-
|
|
192
|
-
### 🛠️ 工具函数与 Hooks
|
|
193
|
-
|
|
194
|
-
| 名称 | 类型 | 描述 |
|
|
195
|
-
| -------------------- | ---- | ---------------------- |
|
|
196
|
-
| `useAutoScroll` | Hook | 自动滚动到底部 |
|
|
197
|
-
| `useCopied` | Hook | 复制到剪贴板 |
|
|
198
|
-
| `useLanguage` | Hook | 国际化语言切换 |
|
|
199
|
-
| `useSpeechSynthesis` | Hook | 语音合成(文字转语音) |
|
|
200
|
-
| `useClickAway` | Hook | 点击外部区域 |
|
|
201
|
-
| `useDebounceFn` | Hook | 防抖函数 |
|
|
202
|
-
| `useThrottleFn` | Hook | 节流函数 |
|
|
203
|
-
|
|
204
|
-
---
|
|
205
|
-
|
|
206
|
-
## 📦 特性
|
|
207
|
-
|
|
208
|
-
- ✅ **开箱即用** - 预设样式与交互,快速集成
|
|
209
|
-
- ✅ **TypeScript** - 完整的类型定义
|
|
210
|
-
- ✅ **主题定制** - 基于 Ant Design 主题系统
|
|
211
|
-
- ✅ **响应式** - 适配桌面端与移动端
|
|
212
|
-
- ✅ **流式输出** - 支持打字机效果
|
|
213
|
-
- ✅ **多模态** - 支持文本、图像、语音
|
|
214
|
-
- ✅ **插件化** - 可扩展的插件系统
|
|
215
|
-
- ✅ **国际化** - 内置多语言支持
|
|
216
|
-
|
|
217
|
-
---
|
|
218
|
-
|
|
219
|
-
## 📖 文档与示例
|
|
220
|
-
|
|
221
|
-
- [在线演示](https://ant-design.github.io/agentic-ui/)
|
|
222
|
-
- [完整文档](./docs/)
|
|
223
|
-
- [组件 API](./docs/components/)
|
|
224
|
-
- [设计规范](./docs/design-system/)
|
|
225
|
-
|
|
226
|
-
---
|
|
227
|
-
|
|
228
|
-
## 🌟 推荐使用场景
|
|
229
|
-
|
|
230
|
-
- 🤖 **企业 Copilot** - 智能办公助手
|
|
231
|
-
- 💬 **智能客服** - 知识检索与自动问答
|
|
232
|
-
- 📊 **数据分析与 BI** - 智能分析助理
|
|
233
|
-
- 🔄 **流程自动化(RPA)** - 协同智能体
|
|
234
|
-
|
|
235
|
-
---
|
|
124
|
+
```bash
|
|
125
|
+
pnpm build
|
|
126
|
+
```
|
|
236
127
|
|
|
237
128
|
## 🤝 贡献
|
|
238
129
|
|
|
239
|
-
|
|
130
|
+
欢迎参与共建!请查阅 [贡献指南](./CONTRIBUTING.md) 了解如何提交 Pull Request 和报告 Issue。
|
|
240
131
|
|
|
241
|
-
|
|
132
|
+
## 🔗 相关资源
|
|
242
133
|
|
|
243
|
-
|
|
134
|
+
- [在线文档](https://ant-design.github.io/agentic-ui/)
|
|
135
|
+
- [Ant Design](https://ant.design/)
|
|
244
136
|
|
|
245
137
|
## 📄 许可证
|
|
246
138
|
|
|
247
|
-
[MIT
|
|
248
|
-
|
|
249
|
-
---
|
|
250
|
-
|
|
251
|
-
**让 AI 的思考过程透明化,让智能体真正成为你的协作伙伴 🤖**
|
|
139
|
+
[MIT](./LICENSE)
|
|
@@ -119,11 +119,9 @@ export var PureBubbleList = function(props) {
|
|
|
119
119
|
}),
|
|
120
120
|
readonly: props.readonly,
|
|
121
121
|
onReply: onReply,
|
|
122
|
-
|
|
123
|
-
onDislike: onDislike,
|
|
122
|
+
onDislike: onDislike || onDisLike,
|
|
124
123
|
onLike: onLike,
|
|
125
|
-
|
|
126
|
-
onLikeCancel: onLikeCancel,
|
|
124
|
+
onLikeCancel: onLikeCancel || onCancelLike,
|
|
127
125
|
onAvatarClick: onAvatarClick,
|
|
128
126
|
onDoubleClick: onDoubleClick,
|
|
129
127
|
customConfig: bubbleRenderConfig === null || bubbleRenderConfig === void 0 ? void 0 : bubbleRenderConfig.customConfig,
|
|
@@ -102,7 +102,7 @@ import { useLayoutHeaderStyle } from "./style";
|
|
|
102
102
|
*
|
|
103
103
|
* @returns {React.ReactElement} 渲染的头部组件
|
|
104
104
|
*/ var LayoutHeader = function(param) {
|
|
105
|
-
var _param_title = param.title, title = _param_title === void 0 ? 'AI 助手' : _param_title, _param_showShare = param.showShare, showShare = _param_showShare === void 0 ?
|
|
105
|
+
var _param_title = param.title, title = _param_title === void 0 ? 'AI 助手' : _param_title, _param_showShare = param.showShare, showShare = _param_showShare === void 0 ? false : _param_showShare, _param_leftCollapsible = param.leftCollapsible, leftCollapsible = _param_leftCollapsible === void 0 ? false : _param_leftCollapsible, _param_rightCollapsible = param.rightCollapsible, rightCollapsible = _param_rightCollapsible === void 0 ? false : _param_rightCollapsible, controlledLeftCollapsed = param.leftCollapsed, controlledRightCollapsed = param.rightCollapsed, _param_leftDefaultCollapsed = param.leftDefaultCollapsed, leftDefaultCollapsed = _param_leftDefaultCollapsed === void 0 ? false : _param_leftDefaultCollapsed, _param_rightDefaultCollapsed = param.rightDefaultCollapsed, rightDefaultCollapsed = _param_rightDefaultCollapsed === void 0 ? false : _param_rightDefaultCollapsed, onLeftCollapse = param.onLeftCollapse, onRightCollapse = param.onRightCollapse, onShare = param.onShare, leftExtra = param.leftExtra, rightExtra = param.rightExtra, className = param.className;
|
|
106
106
|
var locale = useContext(I18nContext).locale;
|
|
107
107
|
var getPrefixCls = useContext(ConfigProvider.ConfigContext).getPrefixCls;
|
|
108
108
|
var prefixCls = getPrefixCls('layout-header');
|
|
@@ -356,6 +356,8 @@ export declare function useLanguage(): {
|
|
|
356
356
|
'input.supportedFormatMessage': string;
|
|
357
357
|
'input.sendButtonTooltip.send': string;
|
|
358
358
|
'input.sendButtonTooltip.newline': string;
|
|
359
|
+
'input.sendButtonTooltip.send.mod': string;
|
|
360
|
+
'input.sendButtonTooltip.newline.mod': string;
|
|
359
361
|
'common.name': string;
|
|
360
362
|
'common.updateTime': string;
|
|
361
363
|
'common.type': string;
|
package/dist/I18n/locales.d.ts
CHANGED
|
@@ -320,6 +320,8 @@ export declare const cnLabels: {
|
|
|
320
320
|
'input.supportedFormatMessage': string;
|
|
321
321
|
'input.sendButtonTooltip.send': string;
|
|
322
322
|
'input.sendButtonTooltip.newline': string;
|
|
323
|
+
'input.sendButtonTooltip.send.mod': string;
|
|
324
|
+
'input.sendButtonTooltip.newline.mod': string;
|
|
323
325
|
'common.name': string;
|
|
324
326
|
'common.updateTime': string;
|
|
325
327
|
'common.type': string;
|
package/dist/I18n/locales.js
CHANGED
|
@@ -340,6 +340,8 @@
|
|
|
340
340
|
'input.supportedFormatMessage': '支持上传文件,每个文件不超过 ${maxSize},支持 ${extensions}等格式。',
|
|
341
341
|
'input.sendButtonTooltip.send': '按 Enter 键发送',
|
|
342
342
|
'input.sendButtonTooltip.newline': '按 Shift+Enter 键换行',
|
|
343
|
+
'input.sendButtonTooltip.send.mod': '按 Cmd/Ctrl+Enter 键发送',
|
|
344
|
+
'input.sendButtonTooltip.newline.mod': '按 Enter 键换行',
|
|
343
345
|
// Other translations
|
|
344
346
|
'common.name': '名称',
|
|
345
347
|
'common.updateTime': '更新时间',
|
|
@@ -715,6 +717,8 @@
|
|
|
715
717
|
'input.supportedFormatMessage': 'Supports file upload, each file not exceeding ${maxSize}, formats such as ${extensions}.',
|
|
716
718
|
'input.sendButtonTooltip.send': 'Press Enter to send',
|
|
717
719
|
'input.sendButtonTooltip.newline': 'Press Shift+Enter for new line',
|
|
720
|
+
'input.sendButtonTooltip.send.mod': 'Press Cmd/Ctrl+Enter to send',
|
|
721
|
+
'input.sendButtonTooltip.newline.mod': 'Press Enter for new line',
|
|
718
722
|
// Other translations
|
|
719
723
|
'common.name': 'Name',
|
|
720
724
|
'common.updateTime': 'Update Time',
|
|
@@ -412,14 +412,22 @@ import partialJsonParse from "../json-parse";
|
|
|
412
412
|
if (!isComment) {
|
|
413
413
|
return {};
|
|
414
414
|
}
|
|
415
|
+
var trimmedValue = value.trim();
|
|
416
|
+
if (!trimmedValue) {
|
|
417
|
+
return {};
|
|
418
|
+
}
|
|
419
|
+
var looksLikeJson = trimmedValue.startsWith('{') || trimmedValue.startsWith('[');
|
|
420
|
+
if (!looksLikeJson) {
|
|
421
|
+
return {};
|
|
422
|
+
}
|
|
415
423
|
try {
|
|
416
|
-
return json5.parse(
|
|
424
|
+
return json5.parse(trimmedValue);
|
|
417
425
|
} catch (e) {
|
|
418
426
|
try {
|
|
419
|
-
return partialJsonParse(
|
|
427
|
+
return partialJsonParse(trimmedValue);
|
|
420
428
|
} catch (parseError) {
|
|
421
429
|
console.warn('Failed to parse HTML comment as JSON or partial JSON:', {
|
|
422
|
-
value:
|
|
430
|
+
value: trimmedValue,
|
|
423
431
|
error: parseError
|
|
424
432
|
});
|
|
425
433
|
}
|
|
@@ -30,6 +30,14 @@ export declare class MarkdownToSlateParser {
|
|
|
30
30
|
private config;
|
|
31
31
|
private readonly plugins;
|
|
32
32
|
constructor(config?: ParserMarkdownToSlateNodeConfig, plugins?: MarkdownEditorPlugin[]);
|
|
33
|
+
private preprocessMarkdown;
|
|
34
|
+
private buildMarkdownRoot;
|
|
35
|
+
private filterTopLevelSchema;
|
|
36
|
+
private createEmptyParagraph;
|
|
37
|
+
private createParseContext;
|
|
38
|
+
private parseHtmlCommentProps;
|
|
39
|
+
private resolveConfig;
|
|
40
|
+
private parseWithPlugins;
|
|
33
41
|
/**
|
|
34
42
|
* 解析 Markdown 字符串并返回解析后的结构和链接信息
|
|
35
43
|
*
|