@ant-design/agentic-ui 2.11.2 → 2.12.0
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/Bubble/MessagesContent/BubbleExtra.js +7 -1
- package/dist/MarkdownEditor/editor/types/Table.d.ts +1 -0
- package/dist/MarkdownEditor/editor/utils/ace.d.ts +22 -105
- package/dist/MarkdownEditor/editor/utils/ace.js +328 -106
- package/dist/MarkdownEditor/types.d.ts +1 -1
- package/dist/MarkdownInputField/AttachmentButton/index.js +5 -3
- package/dist/MarkdownInputField/MarkdownInputField.d.ts +32 -0
- package/dist/MarkdownInputField/MarkdownInputField.js +26 -8
- package/dist/Plugins/chart/ChartRender.js +75 -13
- package/dist/Plugins/chart/LineChart/index.js +10 -4
- package/dist/Plugins/chart/index.js +17 -5
- package/dist/Plugins/chart/utils.d.ts +40 -0
- package/dist/Plugins/chart/utils.js +116 -0
- package/dist/Plugins/code/CodeUI/Katex/Katex.d.ts +0 -1
- package/dist/Plugins/code/CodeUI/Katex/Katex.js +182 -6
- package/dist/Plugins/code/components/AceEditor.d.ts +4 -6
- package/dist/Plugins/code/components/AceEditor.js +362 -40
- package/dist/Plugins/code/loadAceEditor.d.ts +26 -0
- package/dist/Plugins/code/loadAceEditor.js +266 -0
- package/dist/Plugins/katex/InlineKatex.d.ts +0 -1
- package/dist/Plugins/katex/InlineKatex.js +183 -7
- package/dist/Plugins/katex/Katex.d.ts +0 -1
- package/dist/Plugins/katex/Katex.js +184 -6
- package/dist/Plugins/katex/loadKatex.d.ts +18 -0
- package/dist/Plugins/katex/loadKatex.js +181 -0
- package/dist/Plugins/mermaid/Mermaid.js +315 -113
- package/dist/Schema/SchemaEditor/AceEditorWrapper.d.ts +1 -1
- package/dist/Schema/SchemaEditor/AceEditorWrapper.js +342 -53
- package/dist/Utils/loadCSS.d.ts +31 -0
- package/dist/Utils/loadCSS.js +264 -0
- package/package.json +1 -1
|
@@ -6,6 +6,35 @@ function _array_like_to_array(arr, len) {
|
|
|
6
6
|
function _array_with_holes(arr) {
|
|
7
7
|
if (Array.isArray(arr)) return arr;
|
|
8
8
|
}
|
|
9
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
10
|
+
try {
|
|
11
|
+
var info = gen[key](arg);
|
|
12
|
+
var value = info.value;
|
|
13
|
+
} catch (error) {
|
|
14
|
+
reject(error);
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
if (info.done) {
|
|
18
|
+
resolve(value);
|
|
19
|
+
} else {
|
|
20
|
+
Promise.resolve(value).then(_next, _throw);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function _async_to_generator(fn) {
|
|
24
|
+
return function() {
|
|
25
|
+
var self = this, args = arguments;
|
|
26
|
+
return new Promise(function(resolve, reject) {
|
|
27
|
+
var gen = fn.apply(self, args);
|
|
28
|
+
function _next(value) {
|
|
29
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
30
|
+
}
|
|
31
|
+
function _throw(err) {
|
|
32
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
33
|
+
}
|
|
34
|
+
_next(undefined);
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
}
|
|
9
38
|
function _iterable_to_array_limit(arr, i) {
|
|
10
39
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
11
40
|
if (_i == null) return;
|
|
@@ -44,11 +73,105 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
|
44
73
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
45
74
|
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
46
75
|
}
|
|
76
|
+
function _ts_generator(thisArg, body) {
|
|
77
|
+
var f, y, t, g, _ = {
|
|
78
|
+
label: 0,
|
|
79
|
+
sent: function() {
|
|
80
|
+
if (t[0] & 1) throw t[1];
|
|
81
|
+
return t[1];
|
|
82
|
+
},
|
|
83
|
+
trys: [],
|
|
84
|
+
ops: []
|
|
85
|
+
};
|
|
86
|
+
return g = {
|
|
87
|
+
next: verb(0),
|
|
88
|
+
"throw": verb(1),
|
|
89
|
+
"return": verb(2)
|
|
90
|
+
}, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
|
|
91
|
+
return this;
|
|
92
|
+
}), g;
|
|
93
|
+
function verb(n) {
|
|
94
|
+
return function(v) {
|
|
95
|
+
return step([
|
|
96
|
+
n,
|
|
97
|
+
v
|
|
98
|
+
]);
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
function step(op) {
|
|
102
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
103
|
+
while(_)try {
|
|
104
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
105
|
+
if (y = 0, t) op = [
|
|
106
|
+
op[0] & 2,
|
|
107
|
+
t.value
|
|
108
|
+
];
|
|
109
|
+
switch(op[0]){
|
|
110
|
+
case 0:
|
|
111
|
+
case 1:
|
|
112
|
+
t = op;
|
|
113
|
+
break;
|
|
114
|
+
case 4:
|
|
115
|
+
_.label++;
|
|
116
|
+
return {
|
|
117
|
+
value: op[1],
|
|
118
|
+
done: false
|
|
119
|
+
};
|
|
120
|
+
case 5:
|
|
121
|
+
_.label++;
|
|
122
|
+
y = op[1];
|
|
123
|
+
op = [
|
|
124
|
+
0
|
|
125
|
+
];
|
|
126
|
+
continue;
|
|
127
|
+
case 7:
|
|
128
|
+
op = _.ops.pop();
|
|
129
|
+
_.trys.pop();
|
|
130
|
+
continue;
|
|
131
|
+
default:
|
|
132
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
133
|
+
_ = 0;
|
|
134
|
+
continue;
|
|
135
|
+
}
|
|
136
|
+
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
137
|
+
_.label = op[1];
|
|
138
|
+
break;
|
|
139
|
+
}
|
|
140
|
+
if (op[0] === 6 && _.label < t[1]) {
|
|
141
|
+
_.label = t[1];
|
|
142
|
+
t = op;
|
|
143
|
+
break;
|
|
144
|
+
}
|
|
145
|
+
if (t && _.label < t[2]) {
|
|
146
|
+
_.label = t[2];
|
|
147
|
+
_.ops.push(op);
|
|
148
|
+
break;
|
|
149
|
+
}
|
|
150
|
+
if (t[2]) _.ops.pop();
|
|
151
|
+
_.trys.pop();
|
|
152
|
+
continue;
|
|
153
|
+
}
|
|
154
|
+
op = body.call(thisArg, _);
|
|
155
|
+
} catch (e) {
|
|
156
|
+
op = [
|
|
157
|
+
6,
|
|
158
|
+
e
|
|
159
|
+
];
|
|
160
|
+
y = 0;
|
|
161
|
+
} finally{
|
|
162
|
+
f = t = 0;
|
|
163
|
+
}
|
|
164
|
+
if (op[0] & 5) throw op[1];
|
|
165
|
+
return {
|
|
166
|
+
value: op[0] ? op[1] : void 0,
|
|
167
|
+
done: true
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
}
|
|
47
171
|
import classNames from "classnames";
|
|
48
|
-
import
|
|
49
|
-
import React, { useEffect, useRef } from "react";
|
|
172
|
+
import React, { useEffect, useRef, useState, startTransition } from "react";
|
|
50
173
|
import { useGetSetState } from "react-use";
|
|
51
|
-
import "./
|
|
174
|
+
import { loadKatex } from "./loadKatex";
|
|
52
175
|
/**
|
|
53
176
|
* Katex 组件 - KaTeX 数学公式渲染组件
|
|
54
177
|
*
|
|
@@ -87,9 +210,62 @@ import "./katex.min.css";
|
|
|
87
210
|
code: '',
|
|
88
211
|
error: ''
|
|
89
212
|
}), 2), state = _useGetSetState[0], setState = _useGetSetState[1];
|
|
213
|
+
var _useState = _sliced_to_array(useState(false), 2), katexLoaded = _useState[0], setKatexLoaded = _useState[1];
|
|
214
|
+
var katexRef = useRef(null);
|
|
90
215
|
var divRef = useRef(null);
|
|
91
216
|
var timer = useRef(0);
|
|
217
|
+
// 异步加载 Katex 库和 CSS
|
|
218
|
+
useEffect(function() {
|
|
219
|
+
if (process.env.NODE_ENV === 'test') {
|
|
220
|
+
// 测试环境跳过加载
|
|
221
|
+
setKatexLoaded(true);
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
startTransition(function() {
|
|
225
|
+
// 异步加载在 startTransition 外部执行
|
|
226
|
+
_async_to_generator(function() {
|
|
227
|
+
var katexModule, error;
|
|
228
|
+
return _ts_generator(this, function(_state) {
|
|
229
|
+
switch(_state.label){
|
|
230
|
+
case 0:
|
|
231
|
+
_state.trys.push([
|
|
232
|
+
0,
|
|
233
|
+
2,
|
|
234
|
+
,
|
|
235
|
+
3
|
|
236
|
+
]);
|
|
237
|
+
return [
|
|
238
|
+
4,
|
|
239
|
+
loadKatex()
|
|
240
|
+
];
|
|
241
|
+
case 1:
|
|
242
|
+
katexModule = _state.sent();
|
|
243
|
+
katexRef.current = katexModule.default;
|
|
244
|
+
setKatexLoaded(true);
|
|
245
|
+
return [
|
|
246
|
+
3,
|
|
247
|
+
3
|
|
248
|
+
];
|
|
249
|
+
case 2:
|
|
250
|
+
error = _state.sent();
|
|
251
|
+
console.error('Failed to load Katex:', error);
|
|
252
|
+
// 即使加载失败也设置 loaded,避免无限加载
|
|
253
|
+
setKatexLoaded(true);
|
|
254
|
+
return [
|
|
255
|
+
3,
|
|
256
|
+
3
|
|
257
|
+
];
|
|
258
|
+
case 3:
|
|
259
|
+
return [
|
|
260
|
+
2
|
|
261
|
+
];
|
|
262
|
+
}
|
|
263
|
+
});
|
|
264
|
+
})();
|
|
265
|
+
});
|
|
266
|
+
}, []);
|
|
92
267
|
useEffect(function() {
|
|
268
|
+
if (!katexLoaded || !katexRef.current) return;
|
|
93
269
|
var code = props.el.value || '';
|
|
94
270
|
clearTimeout(timer.current);
|
|
95
271
|
timer.current = window.setTimeout(function() {
|
|
@@ -98,8 +274,8 @@ import "./katex.min.css";
|
|
|
98
274
|
});
|
|
99
275
|
if (state().code) {
|
|
100
276
|
try {
|
|
101
|
-
if (divRef.current) {
|
|
102
|
-
|
|
277
|
+
if (divRef.current && katexRef.current) {
|
|
278
|
+
katexRef.current.render(state().code, divRef.current, {
|
|
103
279
|
strict: false,
|
|
104
280
|
output: 'htmlAndMathml',
|
|
105
281
|
throwOnError: false,
|
|
@@ -120,7 +296,9 @@ import "./katex.min.css";
|
|
|
120
296
|
return window.clearTimeout(timer.current);
|
|
121
297
|
};
|
|
122
298
|
}, [
|
|
123
|
-
props.el
|
|
299
|
+
props.el,
|
|
300
|
+
katexLoaded,
|
|
301
|
+
state
|
|
124
302
|
]);
|
|
125
303
|
return /*#__PURE__*/ React.createElement("div", {
|
|
126
304
|
style: {
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Katex 异步加载器
|
|
3
|
+
*
|
|
4
|
+
* 使用单例模式确保 katex 库和 CSS 只加载一次
|
|
5
|
+
*/
|
|
6
|
+
import './katex.min.css';
|
|
7
|
+
type KatexModule = typeof import('katex');
|
|
8
|
+
/**
|
|
9
|
+
* 加载 Katex 核心库
|
|
10
|
+
* 使用单例模式确保只加载一次
|
|
11
|
+
*/
|
|
12
|
+
export declare const loadKatex: () => Promise<KatexModule>;
|
|
13
|
+
/**
|
|
14
|
+
* 预加载 Katex 资源
|
|
15
|
+
* 使用动态 import 提前开始加载,但不阻塞当前执行
|
|
16
|
+
*/
|
|
17
|
+
export declare const preloadKatex: () => void;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Katex 异步加载器
|
|
3
|
+
*
|
|
4
|
+
* 使用单例模式确保 katex 库和 CSS 只加载一次
|
|
5
|
+
*/ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
6
|
+
try {
|
|
7
|
+
var info = gen[key](arg);
|
|
8
|
+
var value = info.value;
|
|
9
|
+
} catch (error) {
|
|
10
|
+
reject(error);
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
if (info.done) {
|
|
14
|
+
resolve(value);
|
|
15
|
+
} else {
|
|
16
|
+
Promise.resolve(value).then(_next, _throw);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
function _async_to_generator(fn) {
|
|
20
|
+
return function() {
|
|
21
|
+
var self = this, args = arguments;
|
|
22
|
+
return new Promise(function(resolve, reject) {
|
|
23
|
+
var gen = fn.apply(self, args);
|
|
24
|
+
function _next(value) {
|
|
25
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
26
|
+
}
|
|
27
|
+
function _throw(err) {
|
|
28
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
29
|
+
}
|
|
30
|
+
_next(undefined);
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
function _ts_generator(thisArg, body) {
|
|
35
|
+
var f, y, t, g, _ = {
|
|
36
|
+
label: 0,
|
|
37
|
+
sent: function() {
|
|
38
|
+
if (t[0] & 1) throw t[1];
|
|
39
|
+
return t[1];
|
|
40
|
+
},
|
|
41
|
+
trys: [],
|
|
42
|
+
ops: []
|
|
43
|
+
};
|
|
44
|
+
return g = {
|
|
45
|
+
next: verb(0),
|
|
46
|
+
"throw": verb(1),
|
|
47
|
+
"return": verb(2)
|
|
48
|
+
}, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
|
|
49
|
+
return this;
|
|
50
|
+
}), g;
|
|
51
|
+
function verb(n) {
|
|
52
|
+
return function(v) {
|
|
53
|
+
return step([
|
|
54
|
+
n,
|
|
55
|
+
v
|
|
56
|
+
]);
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
function step(op) {
|
|
60
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
61
|
+
while(_)try {
|
|
62
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
63
|
+
if (y = 0, t) op = [
|
|
64
|
+
op[0] & 2,
|
|
65
|
+
t.value
|
|
66
|
+
];
|
|
67
|
+
switch(op[0]){
|
|
68
|
+
case 0:
|
|
69
|
+
case 1:
|
|
70
|
+
t = op;
|
|
71
|
+
break;
|
|
72
|
+
case 4:
|
|
73
|
+
_.label++;
|
|
74
|
+
return {
|
|
75
|
+
value: op[1],
|
|
76
|
+
done: false
|
|
77
|
+
};
|
|
78
|
+
case 5:
|
|
79
|
+
_.label++;
|
|
80
|
+
y = op[1];
|
|
81
|
+
op = [
|
|
82
|
+
0
|
|
83
|
+
];
|
|
84
|
+
continue;
|
|
85
|
+
case 7:
|
|
86
|
+
op = _.ops.pop();
|
|
87
|
+
_.trys.pop();
|
|
88
|
+
continue;
|
|
89
|
+
default:
|
|
90
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
91
|
+
_ = 0;
|
|
92
|
+
continue;
|
|
93
|
+
}
|
|
94
|
+
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
95
|
+
_.label = op[1];
|
|
96
|
+
break;
|
|
97
|
+
}
|
|
98
|
+
if (op[0] === 6 && _.label < t[1]) {
|
|
99
|
+
_.label = t[1];
|
|
100
|
+
t = op;
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
if (t && _.label < t[2]) {
|
|
104
|
+
_.label = t[2];
|
|
105
|
+
_.ops.push(op);
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
if (t[2]) _.ops.pop();
|
|
109
|
+
_.trys.pop();
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
op = body.call(thisArg, _);
|
|
113
|
+
} catch (e) {
|
|
114
|
+
op = [
|
|
115
|
+
6,
|
|
116
|
+
e
|
|
117
|
+
];
|
|
118
|
+
y = 0;
|
|
119
|
+
} finally{
|
|
120
|
+
f = t = 0;
|
|
121
|
+
}
|
|
122
|
+
if (op[0] & 5) throw op[1];
|
|
123
|
+
return {
|
|
124
|
+
value: op[0] ? op[1] : void 0,
|
|
125
|
+
done: true
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
import "./katex.min.css";
|
|
130
|
+
var katexLoader = null;
|
|
131
|
+
/**
|
|
132
|
+
* 加载 Katex 核心库
|
|
133
|
+
* 使用单例模式确保只加载一次
|
|
134
|
+
*/ export var loadKatex = /*#__PURE__*/ function() {
|
|
135
|
+
var _ref = _async_to_generator(function() {
|
|
136
|
+
return _ts_generator(this, function(_state) {
|
|
137
|
+
if (typeof window === 'undefined') {
|
|
138
|
+
throw new Error('Katex 仅在浏览器环境中可用');
|
|
139
|
+
}
|
|
140
|
+
if (!katexLoader) {
|
|
141
|
+
// 使用 webpack 魔法注释确保正确代码分割
|
|
142
|
+
katexLoader = import(/* webpackChunkName: "katex" */ "katex").then(/*#__PURE__*/ function() {
|
|
143
|
+
var _ref = _async_to_generator(function(module) {
|
|
144
|
+
return _ts_generator(this, function(_state) {
|
|
145
|
+
// 异步加载 CSS
|
|
146
|
+
return [
|
|
147
|
+
2,
|
|
148
|
+
module
|
|
149
|
+
];
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
return function(module) {
|
|
153
|
+
return _ref.apply(this, arguments);
|
|
154
|
+
};
|
|
155
|
+
}()).catch(function(error) {
|
|
156
|
+
katexLoader = null;
|
|
157
|
+
throw error;
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
return [
|
|
161
|
+
2,
|
|
162
|
+
katexLoader
|
|
163
|
+
];
|
|
164
|
+
});
|
|
165
|
+
});
|
|
166
|
+
return function loadKatex() {
|
|
167
|
+
return _ref.apply(this, arguments);
|
|
168
|
+
};
|
|
169
|
+
}();
|
|
170
|
+
/**
|
|
171
|
+
* 预加载 Katex 资源
|
|
172
|
+
* 使用动态 import 提前开始加载,但不阻塞当前执行
|
|
173
|
+
*/ export var preloadKatex = function() {
|
|
174
|
+
if (typeof window === 'undefined') return;
|
|
175
|
+
// 使用动态 import 预加载,不等待结果
|
|
176
|
+
if (!katexLoader) {
|
|
177
|
+
loadKatex().catch(function() {
|
|
178
|
+
// 静默处理错误,预加载失败不影响后续使用
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
};
|