@ant-design/agentic-ui 2.30.7 → 2.30.9
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/MarkdownEditor/editor/parser/parserMarkdownToSlateNode.js +1 -3
- package/dist/MarkdownEditor/editor/parser/remarkDirectiveContainersOnly.d.ts +17 -0
- package/dist/MarkdownEditor/editor/parser/remarkDirectiveContainersOnly.js +51 -0
- package/dist/MarkdownEditor/editor/parser/remarkParse.d.ts +1 -1
- package/dist/MarkdownEditor/editor/parser/remarkParse.js +2 -2
- package/dist/MarkdownEditor/editor/style.js +7 -5
- package/dist/MarkdownEditor/editor/utils/markdownToHtml.js +2 -2
- package/dist/MarkdownInputField/FileMapView/FileMapViewItem.js +54 -16
- package/dist/MarkdownInputField/FileMapView/index.js +8 -2
- package/dist/MarkdownInputField/FileMapView/style.js +5 -1
- package/dist/MarkdownRenderer/markdownReactShared.d.ts +1 -1
- package/dist/MarkdownRenderer/markdownReactShared.js +3 -3
- package/package.json +3 -2
|
@@ -98,7 +98,6 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
|
98
98
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
99
99
|
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
100
100
|
}
|
|
101
|
-
import { preprocessProtectTimeFromDirective } from "./constants";
|
|
102
101
|
import { applyContextPropsAndConfig } from "./parse/applyContextPropsAndConfig";
|
|
103
102
|
import { handleBlockquote, handleContainerDirective, handleFootnoteDefinition, handleHeading, handleList, handleListItem, handleParagraph, handleTextAndInlineElements } from "./parse/parseBlockElements";
|
|
104
103
|
import { handleCode, handleYaml } from "./parse/parseCode";
|
|
@@ -236,8 +235,7 @@ var removeAnswerTags = function removeAnswerTags(text) {
|
|
|
236
235
|
{
|
|
237
236
|
key: "preprocessMarkdown",
|
|
238
237
|
value: function preprocessMarkdown(md) {
|
|
239
|
-
var
|
|
240
|
-
var thinkProcessed = removeAnswerTags(preprocessThinkTags(timeProtected));
|
|
238
|
+
var thinkProcessed = removeAnswerTags(preprocessThinkTags(md || ''));
|
|
241
239
|
var nonStandardProcessed = removeAnswerTags(preprocessNonStandardHtmlTags(thinkProcessed));
|
|
242
240
|
return preprocessMarkdownTableNewlines(nonStandardProcessed);
|
|
243
241
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 仅启用 remark-directive 的 **容器** 语法(`:::name` … `:::`),不解析行内 `:foo` 与块级 `::foo`。
|
|
3
|
+
* 避免普通文本中的 `:15`(时间)或 `:icon[...]` 被误解析为指令。
|
|
4
|
+
*
|
|
5
|
+
* 依赖与 `remark-directive` 相同:`micromark-extension-directive` + `mdast-util-directive`。
|
|
6
|
+
*
|
|
7
|
+
* 仅使用官方入口 `directive()` 中与 `lib/syntax.js` 一致的 flow[58][0](容器指令),
|
|
8
|
+
* 避免深层路径 `lib/directive-container.js`(未列入 package exports,Next/Turbopack 等会解析失败)。
|
|
9
|
+
*/
|
|
10
|
+
import type { Root } from 'mdast';
|
|
11
|
+
import type { Plugin } from 'unified';
|
|
12
|
+
/**
|
|
13
|
+
* @returns {undefined}
|
|
14
|
+
* Nothing.
|
|
15
|
+
*/
|
|
16
|
+
declare const remarkDirectiveContainersOnly: Plugin<[], Root>;
|
|
17
|
+
export default remarkDirectiveContainersOnly;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 仅启用 remark-directive 的 **容器** 语法(`:::name` … `:::`),不解析行内 `:foo` 与块级 `::foo`。
|
|
3
|
+
* 避免普通文本中的 `:15`(时间)或 `:icon[...]` 被误解析为指令。
|
|
4
|
+
*
|
|
5
|
+
* 依赖与 `remark-directive` 相同:`micromark-extension-directive` + `mdast-util-directive`。
|
|
6
|
+
*
|
|
7
|
+
* 仅使用官方入口 `directive()` 中与 `lib/syntax.js` 一致的 flow[58][0](容器指令),
|
|
8
|
+
* 避免深层路径 `lib/directive-container.js`(未列入 package exports,Next/Turbopack 等会解析失败)。
|
|
9
|
+
*/ function _define_property(obj, key, value) {
|
|
10
|
+
if (key in obj) {
|
|
11
|
+
Object.defineProperty(obj, key, {
|
|
12
|
+
value: value,
|
|
13
|
+
enumerable: true,
|
|
14
|
+
configurable: true,
|
|
15
|
+
writable: true
|
|
16
|
+
});
|
|
17
|
+
} else {
|
|
18
|
+
obj[key] = value;
|
|
19
|
+
}
|
|
20
|
+
return obj;
|
|
21
|
+
}
|
|
22
|
+
import { directiveFromMarkdown, directiveToMarkdown } from "mdast-util-directive";
|
|
23
|
+
import { directive } from "micromark-extension-directive";
|
|
24
|
+
/** `:` — 与 micromark-extension-directive 内 `syntax.js` 中 flow/text 映射键一致 */ var MICROMARK_DIRECTIVE_MARK = 58;
|
|
25
|
+
var directiveContainerOnlyMicromarkExtension = function() {
|
|
26
|
+
var _ext_flow;
|
|
27
|
+
var ext = directive();
|
|
28
|
+
var atColon = (_ext_flow = ext.flow) === null || _ext_flow === void 0 ? void 0 : _ext_flow[MICROMARK_DIRECTIVE_MARK];
|
|
29
|
+
var container = Array.isArray(atColon) ? atColon[0] : atColon;
|
|
30
|
+
if (!container) {
|
|
31
|
+
throw new Error('micromark-extension-directive: expected container construct on flow[58]');
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
flow: _define_property({}, MICROMARK_DIRECTIVE_MARK, [
|
|
35
|
+
container
|
|
36
|
+
])
|
|
37
|
+
};
|
|
38
|
+
}();
|
|
39
|
+
/**
|
|
40
|
+
* @returns {undefined}
|
|
41
|
+
* Nothing.
|
|
42
|
+
*/ var remarkDirectiveContainersOnly = function remarkDirectiveContainersOnly() {
|
|
43
|
+
var data = this.data();
|
|
44
|
+
var micromarkExtensions = data.micromarkExtensions || (data.micromarkExtensions = []);
|
|
45
|
+
var fromMarkdownExtensions = data.fromMarkdownExtensions || (data.fromMarkdownExtensions = []);
|
|
46
|
+
var toMarkdownExtensions = data.toMarkdownExtensions || (data.toMarkdownExtensions = []);
|
|
47
|
+
micromarkExtensions.push(directiveContainerOnlyMicromarkExtension);
|
|
48
|
+
fromMarkdownExtensions.push(directiveFromMarkdown());
|
|
49
|
+
toMarkdownExtensions.push(directiveToMarkdown());
|
|
50
|
+
};
|
|
51
|
+
export default remarkDirectiveContainersOnly;
|
|
@@ -20,5 +20,5 @@ export declare function fixStrongWithSpecialChars(): (tree: any) => void;
|
|
|
20
20
|
* 须在 remark-math 之前运行
|
|
21
21
|
*/
|
|
22
22
|
export declare function protectJinjaDollarInText(): (tree: any) => void;
|
|
23
|
-
declare const markdownParser: import("unified").Processor<import("mdast").Root,
|
|
23
|
+
declare const markdownParser: import("unified").Processor<import("mdast").Root, import("mdast").Root, import("mdast").Root, import("mdast").Root, string>;
|
|
24
24
|
export default markdownParser;
|
|
@@ -23,7 +23,6 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
|
23
23
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
24
24
|
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
25
25
|
}
|
|
26
|
-
import remarkDirective from "remark-directive";
|
|
27
26
|
import remarkFrontmatter from "remark-frontmatter";
|
|
28
27
|
import remarkGfm from "remark-gfm";
|
|
29
28
|
import remarkHtml from "remark-html";
|
|
@@ -32,6 +31,7 @@ import remarkParse from "remark-parse";
|
|
|
32
31
|
import { unified } from "unified";
|
|
33
32
|
import { visit } from "unist-util-visit";
|
|
34
33
|
import { JINJA_DOLLAR_PLACEHOLDER } from "./constants";
|
|
34
|
+
import remarkDirectiveContainersOnly from "./remarkDirectiveContainersOnly";
|
|
35
35
|
/**
|
|
36
36
|
* 提取段落节点的文本内容
|
|
37
37
|
* @param paragraphNode - 段落节点
|
|
@@ -363,7 +363,7 @@ import { JINJA_DOLLAR_PLACEHOLDER } from "./constants";
|
|
|
363
363
|
// Markdown 解析器(用于解析 Markdown 为 mdast AST)
|
|
364
364
|
// 注意:这个解析器只用于解析,不包含 HTML 渲染相关的插件
|
|
365
365
|
var markdownParser = unified().use(remarkParse) // 解析 Markdown
|
|
366
|
-
.use(
|
|
366
|
+
.use(remarkDirectiveContainersOnly) // 仅解析 ::: 容器(不解析行内 :foo)
|
|
367
367
|
.use(remarkHtml).use(remarkFrontmatter, [
|
|
368
368
|
'yaml'
|
|
369
369
|
]) // 处理前置元数据
|
|
@@ -380,10 +380,9 @@ var genStyle = function genStyle(token) {
|
|
|
380
380
|
}), _define_property(_obj, 'li + li', {
|
|
381
381
|
marginTop: '0.25em'
|
|
382
382
|
}), _define_property(_obj, "blockquote", {
|
|
383
|
-
display: '
|
|
383
|
+
display: 'block',
|
|
384
|
+
boxSizing: 'border-box',
|
|
384
385
|
padding: '8px 12px',
|
|
385
|
-
gap: '10px',
|
|
386
|
-
flexGrow: 1,
|
|
387
386
|
zIndex: 1,
|
|
388
387
|
fontSize: 'var(--font-size-base)',
|
|
389
388
|
fontWeight: 'normal',
|
|
@@ -392,6 +391,10 @@ var genStyle = function genStyle(token) {
|
|
|
392
391
|
position: 'relative',
|
|
393
392
|
color: 'var(--color-gray-text-secondary)',
|
|
394
393
|
margin: '0 !important',
|
|
394
|
+
// 原 flex + gap 在子节点之间的间距(::before 为 absolute,不参与 flex)
|
|
395
|
+
'& > * + *': {
|
|
396
|
+
marginTop: '10px'
|
|
397
|
+
},
|
|
395
398
|
'&:before': {
|
|
396
399
|
content: "''",
|
|
397
400
|
left: '0',
|
|
@@ -400,8 +403,7 @@ var genStyle = function genStyle(token) {
|
|
|
400
403
|
height: 'calc(100% - 22px)',
|
|
401
404
|
borderRadius: '4px',
|
|
402
405
|
width: '3px',
|
|
403
|
-
display: '
|
|
404
|
-
alignSelf: 'stretch',
|
|
406
|
+
display: 'block',
|
|
405
407
|
zIndex: 0,
|
|
406
408
|
backgroundColor: 'var(--color-gray-control-fill-secondary)'
|
|
407
409
|
}
|
|
@@ -167,7 +167,6 @@ function _ts_generator(thisArg, body) {
|
|
|
167
167
|
import rehypeKatex from "rehype-katex";
|
|
168
168
|
import rehypeRaw from "rehype-raw";
|
|
169
169
|
import rehypeStringify from "rehype-stringify";
|
|
170
|
-
import remarkDirective from "remark-directive";
|
|
171
170
|
import remarkFrontmatter from "remark-frontmatter";
|
|
172
171
|
import remarkGfm from "remark-gfm";
|
|
173
172
|
import remarkMath from "remark-math";
|
|
@@ -177,6 +176,7 @@ import { unified } from "unified";
|
|
|
177
176
|
import { visit } from "unist-util-visit";
|
|
178
177
|
import { JINJA_DOLLAR_PLACEHOLDER } from "../parser/constants";
|
|
179
178
|
import { remarkDirectiveContainer } from "../parser/remarkDirectiveContainer";
|
|
179
|
+
import remarkDirectiveContainersOnly from "../parser/remarkDirectiveContainersOnly";
|
|
180
180
|
import { convertParagraphToImage, fixStrongWithSpecialChars, protectJinjaDollarInText } from "../parser/remarkParse";
|
|
181
181
|
// HTML 转义相关的正则表达式和工具
|
|
182
182
|
var ESCAPE_TEST_NO_ENCODE = /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/;
|
|
@@ -373,7 +373,7 @@ export var DEFAULT_MARKDOWN_REMARK_PLUGINS = [
|
|
|
373
373
|
remarkFrontmatter,
|
|
374
374
|
FRONTMATTER_LANGUAGES
|
|
375
375
|
],
|
|
376
|
-
|
|
376
|
+
remarkDirectiveContainersOnly,
|
|
377
377
|
[
|
|
378
378
|
remarkDirectiveContainer,
|
|
379
379
|
REMARK_DIRECTIVE_CONTAINER_OPTIONS
|
|
@@ -117,6 +117,55 @@ import { isFileMetaPlaceholderState, kbToSize } from "../AttachmentButton/utils"
|
|
|
117
117
|
var lastDotIndex = fileName.lastIndexOf('.');
|
|
118
118
|
var displayName = lastDotIndex > 0 ? fileName.slice(0, lastDotIndex) : fileName;
|
|
119
119
|
var displayExtension = lastDotIndex > 0 && lastDotIndex < fileName.length - 1 ? fileName.slice(lastDotIndex + 1) : '';
|
|
120
|
+
var showSize = typeof file.size === 'number' && file.size > 0;
|
|
121
|
+
var fileSize = showSize ? kbToSize(file.size / 1024) : '';
|
|
122
|
+
var lastModifiedTime = (file === null || file === void 0 ? void 0 : file.lastModified) ? dayjs(file.lastModified).format('HH:mm') : '';
|
|
123
|
+
var renderExtensionContainer = function renderExtensionContainer() {
|
|
124
|
+
if (file.status === 'error' && file.errorMessage) {
|
|
125
|
+
return /*#__PURE__*/ React.createElement("div", {
|
|
126
|
+
"data-testid": "file-item-extension-container",
|
|
127
|
+
className: classNames("".concat(props.prefixCls, "-file-name-extension-container"), props.hashId)
|
|
128
|
+
}, /*#__PURE__*/ React.createElement("span", {
|
|
129
|
+
className: classNames("".concat(props.prefixCls, "-file-error-msg"), props.hashId),
|
|
130
|
+
"data-testid": "file-item-error-msg",
|
|
131
|
+
style: {
|
|
132
|
+
color: 'var(--color-red-text-secondary)'
|
|
133
|
+
}
|
|
134
|
+
}, file.errorMessage));
|
|
135
|
+
}
|
|
136
|
+
var items = [];
|
|
137
|
+
if (displayExtension) {
|
|
138
|
+
items.push(/*#__PURE__*/ React.createElement("span", {
|
|
139
|
+
key: "ext",
|
|
140
|
+
"data-testid": "file-item-extension",
|
|
141
|
+
className: classNames("".concat(props.prefixCls, "-file-name-extension"), props.hashId)
|
|
142
|
+
}, displayExtension));
|
|
143
|
+
}
|
|
144
|
+
if (fileSize) {
|
|
145
|
+
items.push(/*#__PURE__*/ React.createElement("div", {
|
|
146
|
+
key: "size",
|
|
147
|
+
"data-testid": "file-item-size",
|
|
148
|
+
className: classNames("".concat(props.prefixCls, "-file-size"), props.hashId)
|
|
149
|
+
}, fileSize));
|
|
150
|
+
}
|
|
151
|
+
if (lastModifiedTime) {
|
|
152
|
+
items.push(/*#__PURE__*/ React.createElement("div", {
|
|
153
|
+
key: "time",
|
|
154
|
+
"data-testid": "file-item-time"
|
|
155
|
+
}, lastModifiedTime));
|
|
156
|
+
}
|
|
157
|
+
if (items.length === 0) return null;
|
|
158
|
+
return /*#__PURE__*/ React.createElement("div", {
|
|
159
|
+
"data-testid": "file-item-extension-container",
|
|
160
|
+
className: classNames("".concat(props.prefixCls, "-file-name-extension-container"), props.hashId)
|
|
161
|
+
}, items.map(function(item, index) {
|
|
162
|
+
return /*#__PURE__*/ React.createElement(React.Fragment, {
|
|
163
|
+
key: index
|
|
164
|
+
}, index > 0 && /*#__PURE__*/ React.createElement("span", {
|
|
165
|
+
className: classNames("".concat(props.prefixCls, "-separator"), props.hashId)
|
|
166
|
+
}, "|"), item);
|
|
167
|
+
}));
|
|
168
|
+
};
|
|
120
169
|
// 有 status 但无 url/previewUrl:文件内容未拿到,展示大小与格式占位块(loading 状态除外)
|
|
121
170
|
if (isFileMetaPlaceholderState(file)) {
|
|
122
171
|
return /*#__PURE__*/ React.createElement(FileMetaPlaceholder, {
|
|
@@ -162,33 +211,22 @@ import { isFileMetaPlaceholderState, kbToSize } from "../AttachmentButton/utils"
|
|
|
162
211
|
className: classNames(props.className, _define_property({}, "".concat(props.prefixCls, "-meta-placeholder"), isFileMetaPlaceholderState(file))),
|
|
163
212
|
"data-testid": "file-item"
|
|
164
213
|
}, /*#__PURE__*/ React.createElement("div", {
|
|
214
|
+
"data-testid": "file-item-icon",
|
|
165
215
|
className: classNames("".concat(props.prefixCls, "-file-icon"), props.hashId)
|
|
166
216
|
}, /*#__PURE__*/ React.createElement(AttachmentFileIcon, {
|
|
167
217
|
file: file,
|
|
168
218
|
className: classNames("".concat(props.prefixCls, "-file-icon-img"), props.hashId)
|
|
169
219
|
})), /*#__PURE__*/ React.createElement("div", {
|
|
220
|
+
"data-testid": "file-item-info",
|
|
170
221
|
className: classNames("".concat(props.prefixCls, "-file-info"), props.hashId)
|
|
171
222
|
}, /*#__PURE__*/ React.createElement("div", {
|
|
172
223
|
className: classNames("".concat(props.prefixCls, "-file-name"), props.hashId)
|
|
173
224
|
}, /*#__PURE__*/ React.createElement("span", {
|
|
225
|
+
"data-testid": "file-item-name",
|
|
174
226
|
className: classNames("".concat(props.prefixCls, "-file-name-text"), props.hashId),
|
|
175
227
|
title: file === null || file === void 0 ? void 0 : file.name
|
|
176
|
-
}, displayName)), /*#__PURE__*/ React.createElement("div", {
|
|
177
|
-
|
|
178
|
-
}, file.status === 'error' && file.errorMessage ? /*#__PURE__*/ React.createElement("span", {
|
|
179
|
-
className: classNames("".concat(props.prefixCls, "-file-error-msg"), props.hashId),
|
|
180
|
-
style: {
|
|
181
|
-
color: 'var(--color-red-text-secondary)'
|
|
182
|
-
}
|
|
183
|
-
}, file.errorMessage) : /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement("span", {
|
|
184
|
-
className: classNames("".concat(props.prefixCls, "-file-name-extension"), props.hashId)
|
|
185
|
-
}, displayExtension), /*#__PURE__*/ React.createElement("span", {
|
|
186
|
-
className: classNames("".concat(props.prefixCls, "-separator"), props.hashId)
|
|
187
|
-
}, "|"), /*#__PURE__*/ React.createElement("div", {
|
|
188
|
-
className: classNames("".concat(props.prefixCls, "-file-size"), props.hashId)
|
|
189
|
-
}, kbToSize(file.size / 1024)), /*#__PURE__*/ React.createElement("span", {
|
|
190
|
-
className: classNames("".concat(props.prefixCls, "-separator"), props.hashId)
|
|
191
|
-
}, "|"), /*#__PURE__*/ React.createElement("div", null, (file === null || file === void 0 ? void 0 : file.lastModified) ? dayjs(file === null || file === void 0 ? void 0 : file.lastModified).format('HH:mm') : '')))), hovered ? /*#__PURE__*/ React.createElement("div", {
|
|
228
|
+
}, displayName)), renderExtensionContainer()), hovered ? /*#__PURE__*/ React.createElement("div", {
|
|
229
|
+
"data-testid": "file-item-action-bar",
|
|
192
230
|
className: classNames("".concat(props.prefixCls, "-action-bar"), props.hashId)
|
|
193
231
|
}, props.customSlot ? /*#__PURE__*/ React.createElement(ActionIconBox, {
|
|
194
232
|
title: '更多',
|
|
@@ -335,6 +335,7 @@ import { useStyle } from "./style";
|
|
|
335
335
|
};
|
|
336
336
|
var _obj;
|
|
337
337
|
return wrapSSR(/*#__PURE__*/ React.createElement("div", {
|
|
338
|
+
"data-testid": "file-view-list",
|
|
338
339
|
style: {
|
|
339
340
|
display: 'flex',
|
|
340
341
|
flexDirection: 'column',
|
|
@@ -344,7 +345,7 @@ import { useStyle } from "./style";
|
|
|
344
345
|
alignItems: placement === 'left' ? 'flex-start' : 'flex-end',
|
|
345
346
|
width: 'max-content'
|
|
346
347
|
}
|
|
347
|
-
}, /*#__PURE__*/ React.createElement(motion.div, {
|
|
348
|
+
}, imgList.length > 0 && /*#__PURE__*/ React.createElement(motion.div, {
|
|
348
349
|
variants: {
|
|
349
350
|
visible: {
|
|
350
351
|
opacity: 1,
|
|
@@ -364,6 +365,7 @@ import { useStyle } from "./style";
|
|
|
364
365
|
initial: "hidden",
|
|
365
366
|
animate: 'visible',
|
|
366
367
|
style: props.style,
|
|
368
|
+
"data-testid": "file-view-image-list",
|
|
367
369
|
className: classNames(prefix, hashId, props.className, "".concat(prefix, "-").concat(placement), (_obj = {}, _define_property(_obj, "".concat(prefix, "-image-list-view"), imgList.length > 1), _define_property(_obj, "".concat(prefix, "-image-list-view-").concat(placement), imgList.length > 1), _obj))
|
|
368
370
|
}, /*#__PURE__*/ React.createElement(Image.PreviewGroup, null, imgList.map(function(file, index) {
|
|
369
371
|
if (file.status !== undefined && file.status !== null && !file.url && !file.previewUrl) {
|
|
@@ -391,6 +393,7 @@ import { useStyle } from "./style";
|
|
|
391
393
|
whileInView: "visible",
|
|
392
394
|
initial: "hidden",
|
|
393
395
|
animate: "visible",
|
|
396
|
+
"data-testid": "file-view-video-list",
|
|
394
397
|
className: classNames("".concat(prefix, "-video-row"), "".concat(prefix, "-video-row-").concat(placement), hashId),
|
|
395
398
|
style: props.style
|
|
396
399
|
}, videoList.map(function(file, index) {
|
|
@@ -424,6 +427,7 @@ import { useStyle } from "./style";
|
|
|
424
427
|
}
|
|
425
428
|
},
|
|
426
429
|
"aria-label": "播放视频:".concat(file.name),
|
|
430
|
+
"data-testid": "file-view-video-thumb",
|
|
427
431
|
style: thumbSize
|
|
428
432
|
}, /*#__PURE__*/ React.createElement("video", {
|
|
429
433
|
src: videoUrl,
|
|
@@ -459,7 +463,7 @@ import { useStyle } from "./style";
|
|
|
459
463
|
maxWidth: '80vw',
|
|
460
464
|
maxHeight: '80vh'
|
|
461
465
|
}
|
|
462
|
-
})), /*#__PURE__*/ React.createElement(motion.div, {
|
|
466
|
+
})), allNoMediaFiles.length > 0 && /*#__PURE__*/ React.createElement(motion.div, {
|
|
463
467
|
variants: {
|
|
464
468
|
visible: {
|
|
465
469
|
opacity: 1,
|
|
@@ -478,6 +482,7 @@ import { useStyle } from "./style";
|
|
|
478
482
|
whileInView: "visible",
|
|
479
483
|
initial: "hidden",
|
|
480
484
|
animate: 'visible',
|
|
485
|
+
"data-testid": "file-view-file-list",
|
|
481
486
|
className: classNames(prefix, hashId, props.className, "".concat(prefix, "-").concat(placement), "".concat(prefix, "-vertical")),
|
|
482
487
|
style: props.style
|
|
483
488
|
}, noMediaFileList.map(function(file, index) {
|
|
@@ -503,6 +508,7 @@ import { useStyle } from "./style";
|
|
|
503
508
|
file: file
|
|
504
509
|
});
|
|
505
510
|
}), props.maxDisplayCount !== undefined && allNoMediaFiles.length > props.maxDisplayCount && !showAllFiles ? /*#__PURE__*/ React.createElement("div", {
|
|
511
|
+
"data-testid": "file-view-view-all",
|
|
506
512
|
style: {
|
|
507
513
|
width: (_props_style = props.style) === null || _props_style === void 0 ? void 0 : _props_style.width
|
|
508
514
|
},
|
|
@@ -77,7 +77,11 @@ var genStyle = function genStyle(token) {
|
|
|
77
77
|
flexWrap: 'wrap',
|
|
78
78
|
alignItems: 'flex-start',
|
|
79
79
|
gap: 4,
|
|
80
|
-
|
|
80
|
+
padding: 0,
|
|
81
|
+
maxWidth: 'calc(285px * 3 + 4px * 2)',
|
|
82
|
+
'& > :only-child': {
|
|
83
|
+
marginTop: 8
|
|
84
|
+
}
|
|
81
85
|
},
|
|
82
86
|
'&::-webkit-scrollbar': {
|
|
83
87
|
width: 6
|
|
@@ -90,4 +90,4 @@ export interface UseMarkdownToReactOptions {
|
|
|
90
90
|
*/
|
|
91
91
|
contentRevisionSource?: string;
|
|
92
92
|
}
|
|
93
|
-
export {
|
|
93
|
+
export { buildEditorAlignedComponents, createHastProcessor, markLastParagraphStreamingTail, renderMarkdownBlock, splitMarkdownBlocks, };
|
|
@@ -126,7 +126,6 @@ import React, { useContext } from "react";
|
|
|
126
126
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
127
127
|
import rehypeKatex from "rehype-katex";
|
|
128
128
|
import rehypeRaw from "rehype-raw";
|
|
129
|
-
import remarkDirective from "remark-directive";
|
|
130
129
|
import remarkFrontmatter from "remark-frontmatter";
|
|
131
130
|
import remarkGfm from "remark-gfm";
|
|
132
131
|
import remarkMath from "remark-math";
|
|
@@ -135,6 +134,7 @@ import remarkRehype from "remark-rehype";
|
|
|
135
134
|
import { unified } from "unified";
|
|
136
135
|
import { visit } from "unist-util-visit";
|
|
137
136
|
import { remarkDirectiveContainer } from "../MarkdownEditor/editor/parser/remarkDirectiveContainer";
|
|
137
|
+
import remarkDirectiveContainersOnly from "../MarkdownEditor/editor/parser/remarkDirectiveContainersOnly";
|
|
138
138
|
import { convertParagraphToImage, fixStrongWithSpecialChars, protectJinjaDollarInText } from "../MarkdownEditor/editor/parser/remarkParse";
|
|
139
139
|
import { REMARK_REHYPE_DIRECTIVE_HANDLERS } from "../MarkdownEditor/editor/utils/markdownToHtml";
|
|
140
140
|
import { parseChineseCurrencyToNumber } from "../Plugins/chart/utils";
|
|
@@ -330,7 +330,7 @@ var createHastProcessor = function createHastProcessor(extraRemarkPlugins, confi
|
|
|
330
330
|
var processor = unified();
|
|
331
331
|
processor.use(remarkParse).use(remarkGfm, {
|
|
332
332
|
singleTilde: false
|
|
333
|
-
}).use(fixStrongWithSpecialChars).use(convertParagraphToImage).use(protectJinjaDollarInText).use(remarkMath, INLINE_MATH_WITH_SINGLE_DOLLAR).use(remarkFrontmatter, FRONTMATTER_LANGUAGES).use(
|
|
333
|
+
}).use(fixStrongWithSpecialChars).use(convertParagraphToImage).use(protectJinjaDollarInText).use(remarkMath, INLINE_MATH_WITH_SINGLE_DOLLAR).use(remarkFrontmatter, FRONTMATTER_LANGUAGES).use(remarkDirectiveContainersOnly).use(remarkDirectiveContainer, REMARK_DIRECTIVE_CONTAINER_OPTIONS).use(remarkChartFromComment).use(remarkRehypePlugin, {
|
|
334
334
|
allowDangerousHtml: true,
|
|
335
335
|
handlers: REMARK_REHYPE_DIRECTIVE_HANDLERS
|
|
336
336
|
}).use(rehypeRaw).use(rehypeKatex, {
|
|
@@ -1156,4 +1156,4 @@ var extractLanguageFromClassName = function extractLanguageFromClassName(classNa
|
|
|
1156
1156
|
}
|
|
1157
1157
|
return blocks;
|
|
1158
1158
|
};
|
|
1159
|
-
export {
|
|
1159
|
+
export { buildEditorAlignedComponents, createHastProcessor, markLastParagraphStreamingTail, renderMarkdownBlock, splitMarkdownBlocks };
|
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.9",
|
|
4
4
|
"description": "面向智能体的 UI 组件库,提供多步推理可视化、工具调用展示、任务执行协同等 Agentic UI 能力",
|
|
5
5
|
"repository": "git@github.com:ant-design/agentic-ui.git",
|
|
6
6
|
"license": "MIT",
|
|
@@ -91,6 +91,8 @@
|
|
|
91
91
|
"lodash-es": "^4.17.23",
|
|
92
92
|
"lottie-react": "^2.4.1",
|
|
93
93
|
"markdown-it": "^14.1.1",
|
|
94
|
+
"mdast-util-directive": "^3.1.0",
|
|
95
|
+
"micromark-extension-directive": "^4.0.0",
|
|
94
96
|
"markdown-it-container": "^4.0.0",
|
|
95
97
|
"mermaid": "^11.12.2",
|
|
96
98
|
"mustache": "^4.2.0",
|
|
@@ -109,7 +111,6 @@
|
|
|
109
111
|
"rehype-raw": "^7.0.0",
|
|
110
112
|
"rehype-stringify": "^10.0.1",
|
|
111
113
|
"remark": "^15.0.1",
|
|
112
|
-
"remark-directive": "^4.0.0",
|
|
113
114
|
"remark-frontmatter": "^5.0.0",
|
|
114
115
|
"remark-gfm": "^4.0.1",
|
|
115
116
|
"remark-html": "^16.0.1",
|