@ant-design/agentic-ui 2.30.20 → 2.30.22
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/MarkdownPreview.js +6 -5
- package/dist/Bubble/OpenAIMessageBubble/index.d.ts +11 -0
- package/dist/Bubble/OpenAIMessageBubble/index.js +8 -0
- package/dist/Bubble/OpenAIMessageBubble/mapOllamaMessages.d.ts +7 -0
- package/dist/Bubble/OpenAIMessageBubble/mapOllamaMessages.js +136 -0
- package/dist/Bubble/OpenAIMessageBubble/mapOpenAIMessages.d.ts +8 -0
- package/dist/Bubble/OpenAIMessageBubble/mapOpenAIMessages.js +156 -0
- package/dist/Bubble/OpenAIMessageBubble/mapOpenClawMessages.d.ts +8 -0
- package/dist/Bubble/OpenAIMessageBubble/mapOpenClawMessages.js +127 -0
- package/dist/Bubble/OpenAIMessageBubble/normalizeOllamaMessages.d.ts +16 -0
- package/dist/Bubble/OpenAIMessageBubble/normalizeOllamaMessages.js +110 -0
- package/dist/Bubble/OpenAIMessageBubble/normalizeOpenClawMessages.d.ts +10 -0
- package/dist/Bubble/OpenAIMessageBubble/normalizeOpenClawMessages.js +61 -0
- package/dist/Bubble/OpenAIMessageBubble/ollamaTypes.d.ts +48 -0
- package/dist/Bubble/OpenAIMessageBubble/ollamaTypes.js +1 -0
- package/dist/Bubble/OpenAIMessageBubble/openClawTypes.d.ts +27 -0
- package/dist/Bubble/OpenAIMessageBubble/openClawTypes.js +1 -0
- package/dist/Bubble/OpenAIMessageBubble/types.d.ts +71 -0
- package/dist/Bubble/OpenAIMessageBubble/types.js +1 -0
- package/dist/Bubble/OpenAIMessageBubble/useOllamaMessageBubbleData.d.ts +7 -0
- package/dist/Bubble/OpenAIMessageBubble/useOllamaMessageBubbleData.js +23 -0
- package/dist/Bubble/OpenAIMessageBubble/useOpenAIMessageBubbleData.d.ts +6 -0
- package/dist/Bubble/OpenAIMessageBubble/useOpenAIMessageBubbleData.js +20 -0
- package/dist/Bubble/OpenAIMessageBubble/useOpenClawMessageBubbleData.d.ts +7 -0
- package/dist/Bubble/OpenAIMessageBubble/useOpenClawMessageBubbleData.js +22 -0
- package/dist/Bubble/index.d.ts +2 -0
- package/dist/Bubble/index.js +1 -0
- package/dist/MarkdownEditor/editor/Editor.js +24 -12
- package/dist/MarkdownEditor/editor/elements/Table/SimpleTable.js +5 -1
- package/dist/MarkdownEditor/editor/elements/Table/commands/tableCommands.js +24 -8
- package/dist/MarkdownEditor/editor/elements/index.js +18 -14
- package/dist/MarkdownEditor/editor/plugins/useKeyboard.js +17 -5
- package/dist/MarkdownEditor/editor/store.d.ts +12 -0
- package/dist/MarkdownEditor/editor/store.js +30 -5
- package/dist/MarkdownEditor/editor/tools/InsertAutocomplete.js +15 -11
- package/dist/MarkdownInputField/AttachmentButton/AttachmentFileList/AttachmentFileListItem.d.ts +1 -1
- package/dist/MarkdownInputField/AttachmentButton/AttachmentFileList/AttachmentFileListItem.js +4 -5
- package/dist/MarkdownInputField/AttachmentButton/AttachmentFileList/index.d.ts +1 -1
- package/dist/MarkdownInputField/AttachmentButton/index.d.ts +1 -1
- package/dist/MarkdownInputField/MarkdownInputField.js +6 -1
- package/dist/MarkdownInputField/hooks/useMarkdownInputFieldHandlers.js +6 -2
- package/dist/MarkdownInputField/hooks/useMarkdownInputFieldRefs.d.ts +1 -0
- package/dist/MarkdownInputField/hooks/useMarkdownInputFieldRefs.js +36 -5
- package/dist/MarkdownInputField/utils/renderHelpers.js +5 -0
- package/dist/MarkdownRenderer/FncRefForMarkdown.d.ts +24 -0
- package/dist/MarkdownRenderer/FncRefForMarkdown.js +65 -0
- package/dist/MarkdownRenderer/MarkdownRenderer.js +24 -9
- package/dist/MarkdownRenderer/extractFootnoteDefinitions.d.ts +13 -0
- package/dist/MarkdownRenderer/extractFootnoteDefinitions.js +40 -0
- package/dist/MarkdownRenderer/markdownReactShared.d.ts +4 -1
- package/dist/MarkdownRenderer/markdownReactShared.js +20 -10
- package/dist/MarkdownRenderer/renderers/CodeRenderer.d.ts +4 -1
- package/dist/MarkdownRenderer/renderers/CodeRenderer.js +27 -3
- package/dist/MarkdownRenderer/renderers/SchemaRenderer.d.ts +2 -0
- package/dist/MarkdownRenderer/renderers/SchemaRenderer.js +33 -5
- package/dist/MarkdownRenderer/streaming/useStreamingMarkdownReact.js +2 -1
- package/dist/MarkdownRenderer/types.d.ts +5 -9
- package/dist/MarkdownRenderer/useMarkdownToReact.js +1 -1
- package/dist/Plugins/mermaid/MermaidRendererImpl.js +481 -7
- package/dist/Plugins/mermaid/style.js +71 -22
- package/dist/Plugins/mermaid/useMermaidRender.d.ts +2 -1
- package/dist/Plugins/mermaid/useMermaidRender.js +41 -13
- package/dist/Plugins/mermaid/utils.d.ts +16 -0
- package/dist/Plugins/mermaid/utils.js +197 -5
- package/dist/Workspace/Browser/index.js +19 -1
- package/package.json +8 -7
|
@@ -52,15 +52,18 @@ function _object_spread_props(target, source) {
|
|
|
52
52
|
}
|
|
53
53
|
import { useEditorStyleRegister } from "../../Hooks/useStyle";
|
|
54
54
|
var genStyle = function genStyle(token) {
|
|
55
|
-
|
|
55
|
+
var gridLightColor = 'rgba(0, 0, 0, 0.08)';
|
|
56
|
+
var gridDarkColor = 'rgba(255, 255, 255, 0.14)';
|
|
57
|
+
var _obj;
|
|
58
|
+
return _obj = {}, _define_property(_obj, token.componentCls, {
|
|
56
59
|
marginBottom: '0.75em',
|
|
57
60
|
cursor: 'default',
|
|
58
61
|
userSelect: 'none',
|
|
59
62
|
padding: '0.75rem 0',
|
|
60
63
|
borderRadius: '1em',
|
|
61
64
|
maxWidth: '800px',
|
|
62
|
-
border:
|
|
63
|
-
backgroundColor:
|
|
65
|
+
border: "1px solid ".concat(token.colorBorder),
|
|
66
|
+
backgroundColor: token.colorBgContainer,
|
|
64
67
|
minWidth: '240px',
|
|
65
68
|
minHeight: '200px',
|
|
66
69
|
display: 'flex',
|
|
@@ -72,27 +75,70 @@ var genStyle = function genStyle(token) {
|
|
|
72
75
|
contain: 'layout style paint',
|
|
73
76
|
overflow: 'hidden',
|
|
74
77
|
transition: 'height 0.3s ease, min-height 0.3s ease',
|
|
75
|
-
'
|
|
78
|
+
'&-fullscreen': {
|
|
76
79
|
width: '100%',
|
|
80
|
+
maxWidth: '100%',
|
|
81
|
+
height: '100%'
|
|
82
|
+
},
|
|
83
|
+
'&-toolbar-float': {
|
|
84
|
+
position: 'absolute',
|
|
85
|
+
top: token.paddingSM,
|
|
86
|
+
insetInlineEnd: token.paddingSM,
|
|
87
|
+
left: 'auto',
|
|
88
|
+
zIndex: 10,
|
|
77
89
|
display: 'flex',
|
|
90
|
+
alignItems: 'center',
|
|
91
|
+
gap: token.paddingXXS,
|
|
92
|
+
pointerEvents: 'auto'
|
|
93
|
+
},
|
|
94
|
+
'&-viewport': {
|
|
95
|
+
flex: 1,
|
|
96
|
+
width: '100%',
|
|
97
|
+
minHeight: 220,
|
|
98
|
+
overflow: 'hidden',
|
|
99
|
+
position: 'relative',
|
|
100
|
+
touchAction: 'none',
|
|
101
|
+
cursor: 'grab'
|
|
102
|
+
},
|
|
103
|
+
'&-viewport[data-mermaid-panning="true"]': {
|
|
104
|
+
cursor: 'grabbing'
|
|
105
|
+
},
|
|
106
|
+
'&-viewport[data-mermaid-grid="true"]': {
|
|
107
|
+
backgroundSize: '28px 28px',
|
|
108
|
+
backgroundImage: "radial-gradient(circle, ".concat(gridLightColor, " 1.2px, transparent 1.2px)")
|
|
109
|
+
},
|
|
110
|
+
'&-viewport[data-mermaid-grid="true"]&-dark-grid': {
|
|
111
|
+
backgroundImage: "radial-gradient(circle, ".concat(gridDarkColor, " 1.2px, transparent 1.2px)")
|
|
112
|
+
},
|
|
113
|
+
'& [data-mermaid-container="true"]': {
|
|
114
|
+
zIndex: 0,
|
|
115
|
+
width: '100%',
|
|
116
|
+
minHeight: 220,
|
|
117
|
+
display: 'block',
|
|
78
118
|
justifyContent: 'center',
|
|
79
119
|
position: 'relative',
|
|
80
120
|
isolation: 'isolate',
|
|
81
121
|
contain: 'layout style paint',
|
|
82
|
-
overflow: '
|
|
83
|
-
transition: 'opacity 0.3s ease, height 0.3s ease, min-height 0.3s ease, max-height 0.3s ease'
|
|
122
|
+
overflow: 'visible',
|
|
123
|
+
transition: 'opacity 0.3s ease, height 0.3s ease, min-height 0.3s ease, max-height 0.3s ease',
|
|
124
|
+
'--mermaid-pan-x': '0px',
|
|
125
|
+
'--mermaid-pan-y': '0px',
|
|
126
|
+
'--mermaid-scale': 1
|
|
84
127
|
},
|
|
85
128
|
'& [data-mermaid-wrapper]': {
|
|
86
129
|
position: 'relative',
|
|
87
|
-
width: '
|
|
88
|
-
maxWidth: '
|
|
89
|
-
overflow: '
|
|
130
|
+
width: 'max-content',
|
|
131
|
+
maxWidth: 'none',
|
|
132
|
+
overflow: 'visible',
|
|
90
133
|
isolation: 'isolate',
|
|
91
134
|
contain: 'layout style paint',
|
|
92
135
|
display: 'flex',
|
|
93
|
-
justifyContent: '
|
|
94
|
-
alignItems: '
|
|
95
|
-
minHeight:
|
|
136
|
+
justifyContent: 'flex-start',
|
|
137
|
+
alignItems: 'flex-start',
|
|
138
|
+
minHeight: 0,
|
|
139
|
+
transform: 'translate(var(--mermaid-pan-x), var(--mermaid-pan-y)) scale(var(--mermaid-scale))',
|
|
140
|
+
transformOrigin: '0 0',
|
|
141
|
+
willChange: 'transform'
|
|
96
142
|
},
|
|
97
143
|
'& [data-mermaid-svg="true"]': {
|
|
98
144
|
maxWidth: '100%',
|
|
@@ -101,7 +147,7 @@ var genStyle = function genStyle(token) {
|
|
|
101
147
|
},
|
|
102
148
|
'&-error': {
|
|
103
149
|
textAlign: 'center',
|
|
104
|
-
color:
|
|
150
|
+
color: token.colorError,
|
|
105
151
|
padding: '0.5rem',
|
|
106
152
|
flex: 1,
|
|
107
153
|
position: 'relative',
|
|
@@ -114,7 +160,7 @@ var genStyle = function genStyle(token) {
|
|
|
114
160
|
},
|
|
115
161
|
'&-empty': {
|
|
116
162
|
textAlign: 'left',
|
|
117
|
-
color:
|
|
163
|
+
color: token.colorTextSecondary,
|
|
118
164
|
padding: '0.75rem 1.5rem',
|
|
119
165
|
position: 'relative',
|
|
120
166
|
zIndex: 1,
|
|
@@ -137,30 +183,33 @@ var genStyle = function genStyle(token) {
|
|
|
137
183
|
'& svg': {
|
|
138
184
|
'& .node': {
|
|
139
185
|
'& rect, & circle, & ellipse, & polygon': {
|
|
140
|
-
stroke:
|
|
186
|
+
stroke: token.colorBorder,
|
|
141
187
|
strokeWidth: '1px',
|
|
142
|
-
fill:
|
|
188
|
+
fill: token.colorBgContainer
|
|
143
189
|
}
|
|
144
190
|
},
|
|
145
191
|
'& text': {
|
|
146
192
|
dominantBaseline: 'middle',
|
|
147
|
-
textAnchor: 'middle'
|
|
193
|
+
textAnchor: 'middle',
|
|
194
|
+
fill: "".concat(token.colorText, " !important")
|
|
148
195
|
},
|
|
149
196
|
'& .nodeLabel': {
|
|
150
197
|
fontWeight: 500,
|
|
151
|
-
fill:
|
|
198
|
+
fill: "".concat(token.colorText, " !important")
|
|
152
199
|
},
|
|
153
200
|
'& .edgeLabel': {
|
|
154
|
-
fill:
|
|
201
|
+
fill: "".concat(token.colorTextSecondary, " !important")
|
|
155
202
|
},
|
|
156
203
|
'& .flowchart-label': {
|
|
157
|
-
fill:
|
|
204
|
+
fill: "".concat(token.colorText, " !important")
|
|
158
205
|
},
|
|
159
206
|
'& .label': {
|
|
160
|
-
fill:
|
|
207
|
+
fill: "".concat(token.colorText, " !important")
|
|
161
208
|
}
|
|
162
209
|
}
|
|
163
|
-
})
|
|
210
|
+
}), _define_property(_obj, "".concat(token.componentCls, '[data-mermaid-theme="dark"] ').concat(token.componentCls, '-viewport[data-mermaid-grid="true"]'), {
|
|
211
|
+
backgroundImage: "radial-gradient(circle, ".concat(gridDarkColor, " 1.2px, transparent 1.2px)")
|
|
212
|
+
}), _obj;
|
|
164
213
|
};
|
|
165
214
|
export function useStyle(prefixCls) {
|
|
166
215
|
return useEditorStyleRegister('agentic-plugin-mermaid', function(token) {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import type { MermaidThemeToken } from './utils';
|
|
2
3
|
/**
|
|
3
4
|
* Mermaid 渲染 Hook
|
|
4
5
|
*/
|
|
5
|
-
export declare const useMermaidRender: (code: string, divRef: React.RefObject<HTMLDivElement>, id: string, isVisible: boolean) => {
|
|
6
|
+
export declare const useMermaidRender: (code: string, divRef: React.RefObject<HTMLDivElement>, id: string, isVisible: boolean, themeToken?: MermaidThemeToken) => {
|
|
6
7
|
error: string;
|
|
7
8
|
renderedCode: string;
|
|
8
9
|
};
|
|
@@ -172,25 +172,40 @@ function _ts_generator(thisArg, body) {
|
|
|
172
172
|
};
|
|
173
173
|
}
|
|
174
174
|
}
|
|
175
|
-
import { useEffect, useRef, useState } from "react";
|
|
176
|
-
import { cleanupTempElement, loadMermaid, renderSvgToContainer } from "./utils";
|
|
175
|
+
import { useEffect, useMemo, useRef, useState } from "react";
|
|
176
|
+
import { applyMermaidTheme, cleanupTempElement, createMermaidThemeConfig, loadMermaid, renderSvgToContainer } from "./utils";
|
|
177
177
|
/**
|
|
178
178
|
* Mermaid 渲染 Hook
|
|
179
|
-
*/ export var useMermaidRender = function useMermaidRender(code, divRef, id, isVisible) {
|
|
179
|
+
*/ export var useMermaidRender = function useMermaidRender(code, divRef, id, isVisible, themeToken) {
|
|
180
180
|
var timer = useRef(null);
|
|
181
181
|
var mermaidRef = useRef(null);
|
|
182
|
-
var
|
|
182
|
+
var renderedSignatureRef = useRef('');
|
|
183
|
+
var latestRenderSignatureRef = useRef('');
|
|
184
|
+
var appliedThemeCacheKeyRef = useRef('');
|
|
183
185
|
var _useState = _sliced_to_array(useState(''), 2), error = _useState[0], setError = _useState[1];
|
|
184
186
|
var _useState1 = _sliced_to_array(useState(''), 2), renderedCode = _useState1[0], setRenderedCode = _useState1[1];
|
|
187
|
+
var themeConfig = useMemo(function() {
|
|
188
|
+
return createMermaidThemeConfig(themeToken);
|
|
189
|
+
}, [
|
|
190
|
+
themeToken === null || themeToken === void 0 ? void 0 : themeToken.colorBgContainer,
|
|
191
|
+
themeToken === null || themeToken === void 0 ? void 0 : themeToken.colorBgElevated,
|
|
192
|
+
themeToken === null || themeToken === void 0 ? void 0 : themeToken.colorBorder,
|
|
193
|
+
themeToken === null || themeToken === void 0 ? void 0 : themeToken.colorPrimary,
|
|
194
|
+
themeToken === null || themeToken === void 0 ? void 0 : themeToken.colorText,
|
|
195
|
+
themeToken === null || themeToken === void 0 ? void 0 : themeToken.colorTextSecondary,
|
|
196
|
+
themeToken === null || themeToken === void 0 ? void 0 : themeToken.fontFamily
|
|
197
|
+
]);
|
|
198
|
+
var renderSignature = "".concat(themeConfig.cacheKey, "::").concat(code);
|
|
199
|
+
latestRenderSignatureRef.current = renderSignature;
|
|
185
200
|
useEffect(function() {
|
|
186
|
-
if (!isVisible ||
|
|
201
|
+
if (!isVisible || renderedSignatureRef.current === renderSignature) {
|
|
187
202
|
return;
|
|
188
203
|
}
|
|
189
204
|
if (timer.current) {
|
|
190
205
|
window.clearTimeout(timer.current);
|
|
191
206
|
}
|
|
192
207
|
if (!code) {
|
|
193
|
-
|
|
208
|
+
renderedSignatureRef.current = '';
|
|
194
209
|
setRenderedCode('');
|
|
195
210
|
setError('');
|
|
196
211
|
if (divRef.current) {
|
|
@@ -198,14 +213,14 @@ import { cleanupTempElement, loadMermaid, renderSvgToContainer } from "./utils";
|
|
|
198
213
|
}
|
|
199
214
|
return;
|
|
200
215
|
}
|
|
201
|
-
var
|
|
216
|
+
var currentSignature = renderSignature;
|
|
202
217
|
timer.current = window.setTimeout(function() {
|
|
203
218
|
return _async_to_generator(function() {
|
|
204
219
|
var _mermaidRef_current, api, _tmp, trimmedCode, svg, err;
|
|
205
220
|
return _ts_generator(this, function(_state) {
|
|
206
221
|
switch(_state.label){
|
|
207
222
|
case 0:
|
|
208
|
-
if (
|
|
223
|
+
if (latestRenderSignatureRef.current !== currentSignature) {
|
|
209
224
|
timer.current = null;
|
|
210
225
|
return [
|
|
211
226
|
2
|
|
@@ -239,9 +254,13 @@ import { cleanupTempElement, loadMermaid, renderSvgToContainer } from "./utils";
|
|
|
239
254
|
case 4:
|
|
240
255
|
api = _tmp;
|
|
241
256
|
mermaidRef.current = api;
|
|
257
|
+
if (appliedThemeCacheKeyRef.current !== themeConfig.cacheKey) {
|
|
258
|
+
applyMermaidTheme(api, themeConfig);
|
|
259
|
+
appliedThemeCacheKeyRef.current = themeConfig.cacheKey;
|
|
260
|
+
}
|
|
242
261
|
trimmedCode = code.trim();
|
|
243
262
|
if (!trimmedCode) {
|
|
244
|
-
|
|
263
|
+
renderedSignatureRef.current = '';
|
|
245
264
|
setRenderedCode('');
|
|
246
265
|
setError('');
|
|
247
266
|
if (divRef.current) {
|
|
@@ -258,10 +277,16 @@ import { cleanupTempElement, loadMermaid, renderSvgToContainer } from "./utils";
|
|
|
258
277
|
];
|
|
259
278
|
case 5:
|
|
260
279
|
svg = _state.sent().svg;
|
|
280
|
+
if (latestRenderSignatureRef.current !== currentSignature) {
|
|
281
|
+
timer.current = null;
|
|
282
|
+
return [
|
|
283
|
+
2
|
|
284
|
+
];
|
|
285
|
+
}
|
|
261
286
|
if (divRef.current) {
|
|
262
287
|
renderSvgToContainer(svg, divRef.current);
|
|
263
288
|
}
|
|
264
|
-
|
|
289
|
+
renderedSignatureRef.current = currentSignature;
|
|
265
290
|
setRenderedCode(code);
|
|
266
291
|
setError('');
|
|
267
292
|
return [
|
|
@@ -270,9 +295,9 @@ import { cleanupTempElement, loadMermaid, renderSvgToContainer } from "./utils";
|
|
|
270
295
|
];
|
|
271
296
|
case 6:
|
|
272
297
|
err = _state.sent();
|
|
273
|
-
if (
|
|
298
|
+
if (latestRenderSignatureRef.current === currentSignature) {
|
|
274
299
|
setError(String(err));
|
|
275
|
-
|
|
300
|
+
renderedSignatureRef.current = currentSignature;
|
|
276
301
|
setRenderedCode(code);
|
|
277
302
|
if (divRef.current) {
|
|
278
303
|
divRef.current.innerHTML = '';
|
|
@@ -305,7 +330,10 @@ import { cleanupTempElement, loadMermaid, renderSvgToContainer } from "./utils";
|
|
|
305
330
|
}, [
|
|
306
331
|
code,
|
|
307
332
|
id,
|
|
308
|
-
isVisible
|
|
333
|
+
isVisible,
|
|
334
|
+
renderSignature,
|
|
335
|
+
themeConfig,
|
|
336
|
+
divRef
|
|
309
337
|
]);
|
|
310
338
|
return {
|
|
311
339
|
error: error,
|
|
@@ -1,4 +1,20 @@
|
|
|
1
1
|
import type { MermaidApi } from './types';
|
|
2
|
+
export interface MermaidThemeToken {
|
|
3
|
+
colorBgContainer?: string;
|
|
4
|
+
colorBgElevated?: string;
|
|
5
|
+
colorText?: string;
|
|
6
|
+
colorTextSecondary?: string;
|
|
7
|
+
colorBorder?: string;
|
|
8
|
+
colorPrimary?: string;
|
|
9
|
+
fontFamily?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface MermaidThemeConfig {
|
|
12
|
+
cacheKey: string;
|
|
13
|
+
darkMode: boolean;
|
|
14
|
+
themeVariables: Record<string, string>;
|
|
15
|
+
}
|
|
16
|
+
export declare const createMermaidThemeConfig: (token?: MermaidThemeToken) => MermaidThemeConfig;
|
|
17
|
+
export declare const applyMermaidTheme: (api: MermaidApi, themeConfig?: MermaidThemeConfig) => void;
|
|
2
18
|
/**
|
|
3
19
|
* 加载 Mermaid 库
|
|
4
20
|
* 使用单例模式确保只加载一次,并初始化配置
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
function _array_like_to_array(arr, len) {
|
|
2
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
3
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
4
|
+
return arr2;
|
|
5
|
+
}
|
|
6
|
+
function _array_with_holes(arr) {
|
|
7
|
+
if (Array.isArray(arr)) return arr;
|
|
8
|
+
}
|
|
1
9
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
2
10
|
try {
|
|
3
11
|
var info = gen[key](arg);
|
|
@@ -34,6 +42,44 @@ function _instanceof(left, right) {
|
|
|
34
42
|
return left instanceof right;
|
|
35
43
|
}
|
|
36
44
|
}
|
|
45
|
+
function _iterable_to_array_limit(arr, i) {
|
|
46
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
47
|
+
if (_i == null) return;
|
|
48
|
+
var _arr = [];
|
|
49
|
+
var _n = true;
|
|
50
|
+
var _d = false;
|
|
51
|
+
var _s, _e;
|
|
52
|
+
try {
|
|
53
|
+
for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
|
|
54
|
+
_arr.push(_s.value);
|
|
55
|
+
if (i && _arr.length === i) break;
|
|
56
|
+
}
|
|
57
|
+
} catch (err) {
|
|
58
|
+
_d = true;
|
|
59
|
+
_e = err;
|
|
60
|
+
} finally{
|
|
61
|
+
try {
|
|
62
|
+
if (!_n && _i["return"] != null) _i["return"]();
|
|
63
|
+
} finally{
|
|
64
|
+
if (_d) throw _e;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return _arr;
|
|
68
|
+
}
|
|
69
|
+
function _non_iterable_rest() {
|
|
70
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
71
|
+
}
|
|
72
|
+
function _sliced_to_array(arr, i) {
|
|
73
|
+
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
|
74
|
+
}
|
|
75
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
|
76
|
+
if (!o) return;
|
|
77
|
+
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
78
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
79
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
80
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
81
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
82
|
+
}
|
|
37
83
|
function _ts_generator(thisArg, body) {
|
|
38
84
|
var f, y, t, _ = {
|
|
39
85
|
label: 0,
|
|
@@ -134,6 +180,156 @@ function _ts_generator(thisArg, body) {
|
|
|
134
180
|
}
|
|
135
181
|
}
|
|
136
182
|
var mermaidLoader = null;
|
|
183
|
+
var COLOR_DARKNESS_THRESHOLD = 145;
|
|
184
|
+
var DEFAULT_LIGHT_BACKGROUND = '#ffffff';
|
|
185
|
+
var DEFAULT_DARK_BACKGROUND = '#141414';
|
|
186
|
+
var DEFAULT_LIGHT_TEXT_COLOR = '#1f1f1f';
|
|
187
|
+
var DEFAULT_DARK_TEXT_COLOR = '#f5f5f5';
|
|
188
|
+
var DEFAULT_LIGHT_SECONDARY_TEXT_COLOR = '#595959';
|
|
189
|
+
var DEFAULT_DARK_SECONDARY_TEXT_COLOR = '#bfbfbf';
|
|
190
|
+
var DEFAULT_LIGHT_BORDER_COLOR = '#d9d9d9';
|
|
191
|
+
var DEFAULT_DARK_BORDER_COLOR = '#434343';
|
|
192
|
+
var DEFAULT_PRIMARY_COLOR = '#1677ff';
|
|
193
|
+
var DEFAULT_FONT_FAMILY = 'Inter, -apple-system, Segoe UI, sans-serif';
|
|
194
|
+
var parseColorToRgb = function parseColorToRgb(color) {
|
|
195
|
+
var normalizedColor = color.trim().toLowerCase();
|
|
196
|
+
var shortHexMatch = normalizedColor.match(/^#([0-9a-f]{3})$/i);
|
|
197
|
+
if (shortHexMatch) {
|
|
198
|
+
var _shortHexMatch__split_map = _sliced_to_array(shortHexMatch[1].split('').map(function(char) {
|
|
199
|
+
return Number.parseInt(char + char, 16);
|
|
200
|
+
}), 3), r = _shortHexMatch__split_map[0], g = _shortHexMatch__split_map[1], b = _shortHexMatch__split_map[2];
|
|
201
|
+
return {
|
|
202
|
+
r: r,
|
|
203
|
+
g: g,
|
|
204
|
+
b: b
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
var hexMatch = normalizedColor.match(/^#([0-9a-f]{6})$/i);
|
|
208
|
+
if (hexMatch) {
|
|
209
|
+
return {
|
|
210
|
+
r: Number.parseInt(hexMatch[1].slice(0, 2), 16),
|
|
211
|
+
g: Number.parseInt(hexMatch[1].slice(2, 4), 16),
|
|
212
|
+
b: Number.parseInt(hexMatch[1].slice(4, 6), 16)
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
var rgbMatch = normalizedColor.match(/^rgba?\((\d{1,3})[\s,]+(\d{1,3})[\s,]+(\d{1,3})(?:[\s,]+[\d.]+)?\)$/i);
|
|
216
|
+
if (rgbMatch) {
|
|
217
|
+
return {
|
|
218
|
+
r: Number.parseInt(rgbMatch[1], 10),
|
|
219
|
+
g: Number.parseInt(rgbMatch[2], 10),
|
|
220
|
+
b: Number.parseInt(rgbMatch[3], 10)
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
return null;
|
|
224
|
+
};
|
|
225
|
+
var isDarkBackground = function isDarkBackground(color) {
|
|
226
|
+
if (!color) {
|
|
227
|
+
return false;
|
|
228
|
+
}
|
|
229
|
+
var rgbColor = parseColorToRgb(color);
|
|
230
|
+
if (!rgbColor) {
|
|
231
|
+
return false;
|
|
232
|
+
}
|
|
233
|
+
var brightness = (rgbColor.r * 299 + rgbColor.g * 587 + rgbColor.b * 114) / 1000;
|
|
234
|
+
return brightness < COLOR_DARKNESS_THRESHOLD;
|
|
235
|
+
};
|
|
236
|
+
var isLightTextColor = function isLightTextColor(color) {
|
|
237
|
+
if (!color) {
|
|
238
|
+
return false;
|
|
239
|
+
}
|
|
240
|
+
var rgbColor = parseColorToRgb(color);
|
|
241
|
+
if (!rgbColor) {
|
|
242
|
+
return false;
|
|
243
|
+
}
|
|
244
|
+
var brightness = (rgbColor.r * 299 + rgbColor.g * 587 + rgbColor.b * 114) / 1000;
|
|
245
|
+
return brightness >= COLOR_DARKNESS_THRESHOLD;
|
|
246
|
+
};
|
|
247
|
+
var inferDarkMode = function inferDarkMode(token) {
|
|
248
|
+
if (isDarkBackground(token.colorBgContainer)) {
|
|
249
|
+
return true;
|
|
250
|
+
}
|
|
251
|
+
// Fallback for CSS variables / unresolved background colors.
|
|
252
|
+
return isLightTextColor(token.colorText);
|
|
253
|
+
};
|
|
254
|
+
export var createMermaidThemeConfig = function createMermaidThemeConfig() {
|
|
255
|
+
var token = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
256
|
+
var darkMode = inferDarkMode(token);
|
|
257
|
+
var background = token.colorBgContainer ? token.colorBgContainer : darkMode ? DEFAULT_DARK_BACKGROUND : DEFAULT_LIGHT_BACKGROUND;
|
|
258
|
+
var elevatedBackground = token.colorBgElevated || (darkMode ? '#1f1f1f' : '#fafafa');
|
|
259
|
+
var textColor = token.colorText ? token.colorText : darkMode ? DEFAULT_DARK_TEXT_COLOR : DEFAULT_LIGHT_TEXT_COLOR;
|
|
260
|
+
var secondaryTextColor = token.colorTextSecondary ? token.colorTextSecondary : darkMode ? DEFAULT_DARK_SECONDARY_TEXT_COLOR : DEFAULT_LIGHT_SECONDARY_TEXT_COLOR;
|
|
261
|
+
var borderColor = token.colorBorder ? token.colorBorder : darkMode ? DEFAULT_DARK_BORDER_COLOR : DEFAULT_LIGHT_BORDER_COLOR;
|
|
262
|
+
var primaryColor = token.colorPrimary || DEFAULT_PRIMARY_COLOR;
|
|
263
|
+
var fontFamily = token.fontFamily || DEFAULT_FONT_FAMILY;
|
|
264
|
+
var themeVariables = {
|
|
265
|
+
primaryColor: primaryColor,
|
|
266
|
+
primaryTextColor: textColor,
|
|
267
|
+
primaryBorderColor: borderColor,
|
|
268
|
+
lineColor: borderColor,
|
|
269
|
+
mainBkg: background,
|
|
270
|
+
secondBkg: elevatedBackground,
|
|
271
|
+
tertiaryColor: elevatedBackground,
|
|
272
|
+
background: background,
|
|
273
|
+
textColor: textColor,
|
|
274
|
+
fontFamily: fontFamily,
|
|
275
|
+
clusterBkg: elevatedBackground,
|
|
276
|
+
clusterBorder: borderColor,
|
|
277
|
+
edgeLabelBackground: background,
|
|
278
|
+
edgeLabelTextColor: secondaryTextColor,
|
|
279
|
+
nodeBkg: background,
|
|
280
|
+
nodeBorder: borderColor,
|
|
281
|
+
defaultLinkColor: borderColor,
|
|
282
|
+
titleColor: textColor,
|
|
283
|
+
actorBkg: elevatedBackground,
|
|
284
|
+
actorBorder: borderColor,
|
|
285
|
+
actorTextColor: textColor,
|
|
286
|
+
actorLineColor: borderColor,
|
|
287
|
+
signalColor: secondaryTextColor,
|
|
288
|
+
signalTextColor: textColor,
|
|
289
|
+
labelBoxBkgColor: background,
|
|
290
|
+
labelBoxBorderColor: borderColor,
|
|
291
|
+
labelTextColor: textColor,
|
|
292
|
+
loopTextColor: textColor,
|
|
293
|
+
noteBkg: elevatedBackground,
|
|
294
|
+
noteBorderColor: borderColor,
|
|
295
|
+
noteTextColor: textColor,
|
|
296
|
+
activationBorderColor: borderColor,
|
|
297
|
+
activationBkgColor: elevatedBackground,
|
|
298
|
+
sequenceNumberColor: textColor
|
|
299
|
+
};
|
|
300
|
+
var cacheKey = [
|
|
301
|
+
darkMode ? 'dark' : 'light',
|
|
302
|
+
background,
|
|
303
|
+
elevatedBackground,
|
|
304
|
+
textColor,
|
|
305
|
+
secondaryTextColor,
|
|
306
|
+
borderColor,
|
|
307
|
+
primaryColor,
|
|
308
|
+
fontFamily
|
|
309
|
+
].join('|');
|
|
310
|
+
return {
|
|
311
|
+
cacheKey: cacheKey,
|
|
312
|
+
darkMode: darkMode,
|
|
313
|
+
themeVariables: themeVariables
|
|
314
|
+
};
|
|
315
|
+
};
|
|
316
|
+
export var applyMermaidTheme = function applyMermaidTheme(api, themeConfig) {
|
|
317
|
+
if (!(api === null || api === void 0 ? void 0 : api.initialize)) {
|
|
318
|
+
return;
|
|
319
|
+
}
|
|
320
|
+
if (!themeConfig) {
|
|
321
|
+
api.initialize({
|
|
322
|
+
startOnLoad: false
|
|
323
|
+
});
|
|
324
|
+
return;
|
|
325
|
+
}
|
|
326
|
+
api.initialize({
|
|
327
|
+
startOnLoad: false,
|
|
328
|
+
theme: 'base',
|
|
329
|
+
darkMode: themeConfig.darkMode,
|
|
330
|
+
themeVariables: themeConfig.themeVariables
|
|
331
|
+
});
|
|
332
|
+
};
|
|
137
333
|
/**
|
|
138
334
|
* 加载 Mermaid 库
|
|
139
335
|
* 使用单例模式确保只加载一次,并初始化配置
|
|
@@ -148,11 +344,7 @@ var mermaidLoader = null;
|
|
|
148
344
|
// webpackChunkName 指定 chunk 名称,webpackMode 指定加载模式
|
|
149
345
|
mermaidLoader = import(/* webpackChunkName: "mermaid" */ /* webpackMode: "lazy" */ "mermaid").then(function(module) {
|
|
150
346
|
var api = module.default;
|
|
151
|
-
|
|
152
|
-
api.initialize({
|
|
153
|
-
startOnLoad: false
|
|
154
|
-
});
|
|
155
|
-
}
|
|
347
|
+
applyMermaidTheme(api);
|
|
156
348
|
return api;
|
|
157
349
|
}).catch(function(error) {
|
|
158
350
|
mermaidLoader = null;
|
|
@@ -164,6 +164,15 @@ export var BrowserItemComponent = function BrowserItemComponent(param) {
|
|
|
164
164
|
e.stopPropagation();
|
|
165
165
|
onLocate === null || onLocate === void 0 ? void 0 : onLocate(item);
|
|
166
166
|
};
|
|
167
|
+
var handleOpenFromSite = function handleOpenFromSite(e) {
|
|
168
|
+
e.preventDefault();
|
|
169
|
+
e.stopPropagation();
|
|
170
|
+
if (onOpen) {
|
|
171
|
+
onOpen(item);
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
window.open(item.url, '_blank', 'noopener,noreferrer');
|
|
175
|
+
};
|
|
167
176
|
return wrapSSR(/*#__PURE__*/ React.createElement(List.Item, {
|
|
168
177
|
className: className,
|
|
169
178
|
style: itemStyle,
|
|
@@ -197,7 +206,16 @@ export var BrowserItemComponent = function BrowserItemComponent(param) {
|
|
|
197
206
|
}, /*#__PURE__*/ React.createElement("div", {
|
|
198
207
|
className: classNames("".concat(prefixCls, "-result-item-title"), hashId)
|
|
199
208
|
}, item.title)))), /*#__PURE__*/ React.createElement("div", {
|
|
200
|
-
className: classNames("".concat(prefixCls, "-result-item-site"), hashId)
|
|
209
|
+
className: classNames("".concat(prefixCls, "-result-item-site"), hashId),
|
|
210
|
+
role: "link",
|
|
211
|
+
tabIndex: 0,
|
|
212
|
+
"aria-label": item.site,
|
|
213
|
+
onClick: handleOpenFromSite,
|
|
214
|
+
onKeyDown: function onKeyDown(event) {
|
|
215
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
216
|
+
handleOpenFromSite(event);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
201
219
|
}, renderSiteAvatar(item.site, item.icon), /*#__PURE__*/ React.createElement(Tooltip, {
|
|
202
220
|
title: item.site,
|
|
203
221
|
mouseEnterDelay: 1
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ant-design/agentic-ui",
|
|
3
|
-
"version": "2.30.
|
|
3
|
+
"version": "2.30.22",
|
|
4
4
|
"description": "面向智能体的 UI 组件库,提供多步推理可视化、工具调用展示、任务执行协同等 Agentic UI 能力",
|
|
5
5
|
"repository": "git@github.com:ant-design/agentic-ui.git",
|
|
6
6
|
"license": "MIT",
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"lint:css": "stylelint \"{src,test}/**/*.{css,less}\"",
|
|
25
25
|
"lint:es": "eslint \"{src,test}/**/*.{js,jsx,ts,tsx}\"",
|
|
26
26
|
"prepare": "husky install && dumi setup",
|
|
27
|
+
"prepublishOnly": "npm run build && npm run test",
|
|
27
28
|
"prettier": "prettier --write \"{src,docs,test}/**/*.{js,jsx,ts,tsx,css,less,json,md}\"",
|
|
28
29
|
"preview": "pnpm dumi preview",
|
|
29
30
|
"report:demo": "node scripts/generateDemoReport.js",
|
|
@@ -85,14 +86,14 @@
|
|
|
85
86
|
"hast-util-to-jsx-runtime": "^2.3.6",
|
|
86
87
|
"is-hotkey": "^0.2.0",
|
|
87
88
|
"json5": "^2.2.3",
|
|
88
|
-
"katex": "^0.16.
|
|
89
|
+
"katex": "^0.16.44",
|
|
89
90
|
"lodash": "^4.17.23",
|
|
90
91
|
"lodash-es": "^4.17.23",
|
|
91
92
|
"lottie-react": "^2.4.1",
|
|
92
93
|
"markdown-it": "^14.1.1",
|
|
93
94
|
"markdown-it-container": "^4.0.0",
|
|
94
95
|
"mdast-util-directive": "^3.1.0",
|
|
95
|
-
"mermaid": "^11.
|
|
96
|
+
"mermaid": "^11.14.0",
|
|
96
97
|
"micromark-extension-directive": "^4.0.0",
|
|
97
98
|
"mustache": "^4.2.0",
|
|
98
99
|
"nanoid": "^5.1.6",
|
|
@@ -118,11 +119,11 @@
|
|
|
118
119
|
"remark-rehype": "^11.1.2",
|
|
119
120
|
"rxjs": "^7.8.2",
|
|
120
121
|
"slash2": "^2.0.0",
|
|
121
|
-
"slate": "0.
|
|
122
|
-
"slate-dom": "0.
|
|
122
|
+
"slate": "0.124.0",
|
|
123
|
+
"slate-dom": "0.124.0",
|
|
123
124
|
"slate-history": "0.113.1",
|
|
124
125
|
"slate-hyperscript": "0.100.0",
|
|
125
|
-
"slate-react": "0.
|
|
126
|
+
"slate-react": "0.124.0",
|
|
126
127
|
"string-width": "^7.2.0",
|
|
127
128
|
"styled-components": "^6.3.8",
|
|
128
129
|
"tailwind-merge": "^3.4.0",
|
|
@@ -175,7 +176,7 @@
|
|
|
175
176
|
"prettier-plugin-packagejson": "^2.5.22",
|
|
176
177
|
"react": "^18.3.1",
|
|
177
178
|
"react-dom": "^18.3.1",
|
|
178
|
-
"recharts": "^3.
|
|
179
|
+
"recharts": "^3.8.1",
|
|
179
180
|
"sast": "^0.8.1",
|
|
180
181
|
"stylelint": "^14.16.1",
|
|
181
182
|
"typescript": "^5.9.3",
|