@ant-design/agentic-ui 2.11.1 → 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.
Files changed (37) hide show
  1. package/dist/Bubble/MessagesContent/BubbleExtra.js +7 -1
  2. package/dist/MarkdownEditor/editor/types/Table.d.ts +1 -0
  3. package/dist/MarkdownEditor/editor/utils/ace.d.ts +22 -105
  4. package/dist/MarkdownEditor/editor/utils/ace.js +328 -106
  5. package/dist/MarkdownEditor/types.d.ts +1 -1
  6. package/dist/MarkdownInputField/AttachmentButton/AttachmentButtonPopover.d.ts +2 -4
  7. package/dist/MarkdownInputField/AttachmentButton/AttachmentButtonPopover.js +8 -61
  8. package/dist/MarkdownInputField/AttachmentButton/index.d.ts +1 -1
  9. package/dist/MarkdownInputField/AttachmentButton/index.js +7 -19
  10. package/dist/MarkdownInputField/FileUploadManager/index.d.ts +1 -1
  11. package/dist/MarkdownInputField/FileUploadManager/index.js +137 -138
  12. package/dist/MarkdownInputField/MarkdownInputField.d.ts +32 -0
  13. package/dist/MarkdownInputField/MarkdownInputField.js +26 -8
  14. package/dist/MarkdownInputField/SendActions/index.d.ts +1 -1
  15. package/dist/Plugins/chart/ChartRender.js +75 -13
  16. package/dist/Plugins/chart/LineChart/index.js +10 -4
  17. package/dist/Plugins/chart/index.js +17 -5
  18. package/dist/Plugins/chart/utils.d.ts +40 -0
  19. package/dist/Plugins/chart/utils.js +116 -0
  20. package/dist/Plugins/code/CodeUI/Katex/Katex.d.ts +0 -1
  21. package/dist/Plugins/code/CodeUI/Katex/Katex.js +182 -6
  22. package/dist/Plugins/code/components/AceEditor.d.ts +4 -6
  23. package/dist/Plugins/code/components/AceEditor.js +362 -40
  24. package/dist/Plugins/code/loadAceEditor.d.ts +26 -0
  25. package/dist/Plugins/code/loadAceEditor.js +266 -0
  26. package/dist/Plugins/katex/InlineKatex.d.ts +0 -1
  27. package/dist/Plugins/katex/InlineKatex.js +183 -7
  28. package/dist/Plugins/katex/Katex.d.ts +0 -1
  29. package/dist/Plugins/katex/Katex.js +184 -6
  30. package/dist/Plugins/katex/loadKatex.d.ts +18 -0
  31. package/dist/Plugins/katex/loadKatex.js +181 -0
  32. package/dist/Plugins/mermaid/Mermaid.js +315 -113
  33. package/dist/Schema/SchemaEditor/AceEditorWrapper.d.ts +1 -1
  34. package/dist/Schema/SchemaEditor/AceEditorWrapper.js +342 -53
  35. package/dist/Utils/loadCSS.d.ts +31 -0
  36. package/dist/Utils/loadCSS.js +264 -0
  37. 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 katex from "katex";
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 "./katex.min.css";
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
- katex.render(state().code, divRef.current, {
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
+ };