@ant-design/agentic-ui 2.29.59 → 2.30.1
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/List/index.d.ts +11 -0
- package/dist/Bubble/List/index.js +13 -1
- package/dist/Bubble/MessagesContent/EXCEPTION.js +11 -2
- package/dist/Bubble/MessagesContent/MarkdownPreview.js +34 -4
- package/dist/Bubble/MessagesContent/index.js +39 -10
- package/dist/Bubble/MessagesContent/style.js +55 -22
- package/dist/Bubble/UserBubble.js +3 -1
- package/dist/Bubble/type.d.ts +11 -0
- package/dist/Hooks/useLanguage.d.ts +1 -0
- package/dist/I18n/locales.d.ts +1 -0
- package/dist/I18n/locales.js +5 -3
- package/dist/MarkdownEditor/BaseMarkdownEditor.js +37 -5
- package/dist/MarkdownEditor/editor/elements/AgenticUiBlocks/AgenticUiTaskBlock.d.ts +4 -0
- package/dist/MarkdownEditor/editor/elements/AgenticUiBlocks/AgenticUiTaskBlock.js +74 -0
- package/dist/MarkdownEditor/editor/elements/AgenticUiBlocks/AgenticUiToolUseBarBlock.d.ts +4 -0
- package/dist/MarkdownEditor/editor/elements/AgenticUiBlocks/AgenticUiToolUseBarBlock.js +114 -0
- package/dist/MarkdownEditor/editor/elements/AgenticUiBlocks/agenticUiEmbedUtils.d.ts +20 -0
- package/dist/MarkdownEditor/editor/elements/AgenticUiBlocks/agenticUiEmbedUtils.js +169 -0
- package/dist/MarkdownEditor/editor/elements/Table/EditableTable.d.ts +11 -0
- package/dist/MarkdownEditor/editor/elements/Table/EditableTable.js +207 -0
- package/dist/MarkdownEditor/editor/elements/Table/Table.js +10 -276
- package/dist/MarkdownEditor/editor/elements/Table/TableCellIndex/index.js +7 -227
- package/dist/MarkdownEditor/editor/elements/Table/TableCellIndexSpacer/index.js +20 -229
- package/dist/MarkdownEditor/editor/elements/Table/commands/tableCommands.d.ts +9 -0
- package/dist/MarkdownEditor/editor/elements/Table/commands/tableCommands.js +242 -0
- package/dist/MarkdownEditor/editor/elements/Table/utils/editableTableWidth.d.ts +20 -0
- package/dist/MarkdownEditor/editor/elements/Table/utils/editableTableWidth.js +60 -0
- package/dist/MarkdownEditor/editor/elements/Table/utils/useEditableTableColWidths.d.ts +6 -0
- package/dist/MarkdownEditor/editor/elements/Table/utils/useEditableTableColWidths.js +20 -0
- package/dist/MarkdownEditor/editor/elements/Table/utils/useEditableTableContentWidth.d.ts +10 -0
- package/dist/MarkdownEditor/editor/elements/Table/utils/useEditableTableContentWidth.js +103 -0
- package/dist/MarkdownEditor/editor/elements/index.js +7 -0
- package/dist/MarkdownEditor/editor/parser/parse/parseCode.js +33 -2
- package/dist/MarkdownEditor/editor/parser/parserSlateNodeToMarkdown.js +3 -0
- package/dist/MarkdownEditor/editor/plugins/handlePaste.js +4 -1
- package/dist/MarkdownEditor/plugin.d.ts +15 -0
- package/dist/MarkdownEditor/style.js +258 -326
- package/dist/MarkdownEditor/types.d.ts +14 -0
- package/dist/MarkdownInputField/AttachmentButton/AttachmentButtonPopover.js +1 -1
- package/dist/MarkdownInputField/AttachmentButton/AttachmentFileList/AttachmentFileIcon.js +2 -2
- package/dist/MarkdownInputField/AttachmentButton/AttachmentFileList/AttachmentFileListItem.js +11 -8
- package/dist/MarkdownInputField/AttachmentButton/index.js +7 -2
- package/dist/MarkdownInputField/AttachmentButton/types.d.ts +5 -1
- package/dist/MarkdownInputField/AttachmentButton/utils.d.ts +7 -0
- package/dist/MarkdownInputField/AttachmentButton/utils.js +9 -1
- package/dist/MarkdownInputField/FileMapView/FileMapViewItem.js +10 -5
- package/dist/MarkdownInputField/FileUploadManager/index.d.ts +9 -0
- package/dist/MarkdownInputField/FileUploadManager/index.js +20 -4
- package/dist/MarkdownInputField/MarkdownInputField.js +5 -3
- package/dist/MarkdownInputField/SendActions/index.d.ts +9 -0
- package/dist/MarkdownInputField/SendActions/index.js +3 -2
- package/dist/MarkdownInputField/hooks/useMarkdownInputFieldRefs.js +10 -3
- package/dist/MarkdownInputField/utils/renderHelpers.d.ts +8 -1
- package/dist/MarkdownInputField/utils/renderHelpers.js +5 -1
- package/dist/MarkdownRenderer/AnimationText.d.ts +19 -0
- package/dist/MarkdownRenderer/AnimationText.js +226 -0
- package/dist/MarkdownRenderer/CharacterQueue.d.ts +36 -0
- package/dist/MarkdownRenderer/CharacterQueue.js +188 -0
- package/dist/MarkdownRenderer/MarkdownRenderer.d.ts +13 -0
- package/dist/MarkdownRenderer/MarkdownRenderer.js +362 -0
- package/dist/MarkdownRenderer/index.d.ts +11 -0
- package/dist/MarkdownRenderer/index.js +9 -0
- package/dist/MarkdownRenderer/renderers/AgenticUiTaskBlockRenderer.d.ts +6 -0
- package/dist/MarkdownRenderer/renderers/AgenticUiTaskBlockRenderer.js +66 -0
- package/dist/MarkdownRenderer/renderers/AgenticUiToolUseBarBlockRenderer.d.ts +6 -0
- package/dist/MarkdownRenderer/renderers/AgenticUiToolUseBarBlockRenderer.js +134 -0
- package/dist/MarkdownRenderer/renderers/ChartRenderer.d.ts +12 -0
- package/dist/MarkdownRenderer/renderers/ChartRenderer.js +395 -0
- package/dist/MarkdownRenderer/renderers/CodeRenderer.d.ts +7 -0
- package/dist/MarkdownRenderer/renderers/CodeRenderer.js +218 -0
- package/dist/MarkdownRenderer/renderers/MermaidRenderer.d.ts +7 -0
- package/dist/MarkdownRenderer/renderers/MermaidRenderer.js +43 -0
- package/dist/MarkdownRenderer/renderers/SchemaRenderer.d.ts +15 -0
- package/dist/MarkdownRenderer/renderers/SchemaRenderer.js +115 -0
- package/dist/MarkdownRenderer/renderers/index.d.ts +4 -0
- package/dist/MarkdownRenderer/renderers/index.js +4 -0
- package/dist/MarkdownRenderer/style.d.ts +16 -0
- package/dist/MarkdownRenderer/style.js +47 -0
- package/dist/MarkdownRenderer/types.d.ts +74 -0
- package/dist/MarkdownRenderer/types.js +1 -0
- package/dist/MarkdownRenderer/useMarkdownToReact.d.ts +23 -0
- package/dist/MarkdownRenderer/useMarkdownToReact.js +1241 -0
- package/dist/MarkdownRenderer/useStreaming.d.ts +29 -0
- package/dist/MarkdownRenderer/useStreaming.js +399 -0
- package/dist/Plugins/chart/AreaChart/index.js +4 -2
- package/dist/Plugins/chart/ChartRender.js +1 -0
- package/dist/Plugins/chart/LineChart/index.js +4 -2
- package/dist/Plugins/chart/components/ChartContainer/ChartErrorBoundary.d.ts +8 -0
- package/dist/Plugins/chart/components/ChartContainer/ChartErrorBoundary.js +31 -6
- package/dist/Plugins/chart/index.js +3 -1
- package/dist/Plugins/mermaid/style.js +0 -3
- package/dist/TaskList/TaskList.js +3 -12
- package/dist/TaskList/components/TaskListItem.js +3 -12
- package/dist/ThoughtChainList/ThoughtChainListItem.js +2 -4
- package/dist/ThoughtChainList/index.js +4 -21
- package/dist/ToolUseBarThink/index.js +20 -59
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -0
- package/package.json +2 -1
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { useMemo } from "react";
|
|
2
|
+
import { getEditableTableColWidths } from "./editableTableWidth";
|
|
3
|
+
export function useEditableTableColWidths(param) {
|
|
4
|
+
var readonly = param.readonly, columnCount = param.columnCount, availableTableWidth = param.availableTableWidth, mobileBreakpointValue = param.mobileBreakpointValue, element = param.element;
|
|
5
|
+
return useMemo(function() {
|
|
6
|
+
return getEditableTableColWidths({
|
|
7
|
+
readonly: readonly,
|
|
8
|
+
columnCount: columnCount,
|
|
9
|
+
availableTableWidth: availableTableWidth,
|
|
10
|
+
mobileBreakpointValue: mobileBreakpointValue,
|
|
11
|
+
element: element
|
|
12
|
+
});
|
|
13
|
+
}, [
|
|
14
|
+
readonly,
|
|
15
|
+
columnCount,
|
|
16
|
+
availableTableWidth,
|
|
17
|
+
mobileBreakpointValue,
|
|
18
|
+
element
|
|
19
|
+
]);
|
|
20
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface UseEditableTableContentWidthParams {
|
|
3
|
+
readonly: boolean;
|
|
4
|
+
markdownContainerRef?: React.RefObject<HTMLElement | null>;
|
|
5
|
+
minContainerWidth: number;
|
|
6
|
+
}
|
|
7
|
+
export declare function useEditableTableContentWidth({ readonly, markdownContainerRef, minContainerWidth, }: UseEditableTableContentWidthParams): {
|
|
8
|
+
resolvedContentWidth: number;
|
|
9
|
+
availableTableWidth: number;
|
|
10
|
+
};
|
|
@@ -0,0 +1,103 @@
|
|
|
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
|
+
}
|
|
9
|
+
function _iterable_to_array_limit(arr, i) {
|
|
10
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
11
|
+
if (_i == null) return;
|
|
12
|
+
var _arr = [];
|
|
13
|
+
var _n = true;
|
|
14
|
+
var _d = false;
|
|
15
|
+
var _s, _e;
|
|
16
|
+
try {
|
|
17
|
+
for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
|
|
18
|
+
_arr.push(_s.value);
|
|
19
|
+
if (i && _arr.length === i) break;
|
|
20
|
+
}
|
|
21
|
+
} catch (err) {
|
|
22
|
+
_d = true;
|
|
23
|
+
_e = err;
|
|
24
|
+
} finally{
|
|
25
|
+
try {
|
|
26
|
+
if (!_n && _i["return"] != null) _i["return"]();
|
|
27
|
+
} finally{
|
|
28
|
+
if (_d) throw _e;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return _arr;
|
|
32
|
+
}
|
|
33
|
+
function _non_iterable_rest() {
|
|
34
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
35
|
+
}
|
|
36
|
+
function _sliced_to_array(arr, i) {
|
|
37
|
+
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
|
38
|
+
}
|
|
39
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
|
40
|
+
if (!o) return;
|
|
41
|
+
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
42
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
43
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
44
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
45
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
46
|
+
}
|
|
47
|
+
import { useEffect, useMemo, useState } from "react";
|
|
48
|
+
import { TABLE_ROW_INDEX_COL_WIDTH } from "../TableColgroup";
|
|
49
|
+
var TABLE_HORIZONTAL_PADDING = 32;
|
|
50
|
+
var DEFAULT_CONTENT_WIDTH = 400;
|
|
51
|
+
var getEditorContentElement = function getEditorContentElement(markdownContainerRef) {
|
|
52
|
+
var _markdownContainerRef_current;
|
|
53
|
+
return (markdownContainerRef === null || markdownContainerRef === void 0 ? void 0 : (_markdownContainerRef_current = markdownContainerRef.current) === null || _markdownContainerRef_current === void 0 ? void 0 : _markdownContainerRef_current.querySelector('.ant-agentic-md-editor-content')) || null;
|
|
54
|
+
};
|
|
55
|
+
var getEditorContentWidth = function getEditorContentWidth(markdownContainerRef) {
|
|
56
|
+
var _getEditorContentElement;
|
|
57
|
+
return ((_getEditorContentElement = getEditorContentElement(markdownContainerRef)) === null || _getEditorContentElement === void 0 ? void 0 : _getEditorContentElement.clientWidth) || 0;
|
|
58
|
+
};
|
|
59
|
+
export function useEditableTableContentWidth(param) {
|
|
60
|
+
var readonly = param.readonly, markdownContainerRef = param.markdownContainerRef, minContainerWidth = param.minContainerWidth;
|
|
61
|
+
var _useState = _sliced_to_array(useState(0), 2), contentWidth = _useState[0], setContentWidth = _useState[1];
|
|
62
|
+
var resolvedContentWidth = useMemo(function() {
|
|
63
|
+
if (contentWidth > 0) return contentWidth;
|
|
64
|
+
return getEditorContentWidth(markdownContainerRef) || DEFAULT_CONTENT_WIDTH;
|
|
65
|
+
}, [
|
|
66
|
+
contentWidth,
|
|
67
|
+
markdownContainerRef
|
|
68
|
+
]);
|
|
69
|
+
var availableTableWidth = useMemo(function() {
|
|
70
|
+
return Math.max(resolvedContentWidth - TABLE_HORIZONTAL_PADDING - TABLE_ROW_INDEX_COL_WIDTH, minContainerWidth);
|
|
71
|
+
}, [
|
|
72
|
+
resolvedContentWidth,
|
|
73
|
+
minContainerWidth
|
|
74
|
+
]);
|
|
75
|
+
useEffect(function() {
|
|
76
|
+
if (readonly || typeof window === 'undefined') return;
|
|
77
|
+
var contentElement = getEditorContentElement(markdownContainerRef);
|
|
78
|
+
if (!contentElement) {
|
|
79
|
+
setContentWidth(0);
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
var updateWidth = function updateWidth() {
|
|
83
|
+
return setContentWidth(contentElement.clientWidth || 0);
|
|
84
|
+
};
|
|
85
|
+
if (typeof ResizeObserver === 'undefined') {
|
|
86
|
+
updateWidth();
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
var resizeObserver = new ResizeObserver(updateWidth);
|
|
90
|
+
resizeObserver.observe(contentElement);
|
|
91
|
+
updateWidth();
|
|
92
|
+
return function() {
|
|
93
|
+
return resizeObserver.disconnect();
|
|
94
|
+
};
|
|
95
|
+
}, [
|
|
96
|
+
readonly,
|
|
97
|
+
markdownContainerRef
|
|
98
|
+
]);
|
|
99
|
+
return {
|
|
100
|
+
resolvedContentWidth: resolvedContentWidth,
|
|
101
|
+
availableTableWidth: availableTableWidth
|
|
102
|
+
};
|
|
103
|
+
}
|
|
@@ -96,6 +96,8 @@ import { debugInfo } from "../../../Utils/debugUtils";
|
|
|
96
96
|
import { JINJA_DOLLAR_PLACEHOLDER } from "../parser/constants";
|
|
97
97
|
import { useEditorStore } from "../store";
|
|
98
98
|
import { EditorUtils } from "../utils/editorUtils";
|
|
99
|
+
import { AgenticUiTaskBlock, ReadonlyAgenticUiTaskBlock } from "./AgenticUiBlocks/AgenticUiTaskBlock";
|
|
100
|
+
import { AgenticUiToolUseBarBlock, ReadonlyAgenticUiToolUseBarBlock } from "./AgenticUiBlocks/AgenticUiToolUseBarBlock";
|
|
99
101
|
import { Blockquote } from "./Blockquote";
|
|
100
102
|
import { ReadonlyBlockquote } from "./Blockquote/ReadonlyBlockquote";
|
|
101
103
|
import { Break } from "./Break";
|
|
@@ -243,6 +245,11 @@ var MElementComponent = function MElementComponent(props) {
|
|
|
243
245
|
case 'apassify':
|
|
244
246
|
case 'apaasify':
|
|
245
247
|
return props.readonly ? /*#__PURE__*/ React.createElement(ReadonlySchema, readonlyElementProps) : /*#__PURE__*/ React.createElement(Schema, props);
|
|
248
|
+
case 'agentic-ui-task':
|
|
249
|
+
return props.readonly ? /*#__PURE__*/ React.createElement(ReadonlyAgenticUiTaskBlock, readonlyElementProps) : /*#__PURE__*/ React.createElement(AgenticUiTaskBlock, props);
|
|
250
|
+
case 'agentic-ui-toolusebar':
|
|
251
|
+
case 'agentic-ui-usertoolbar':
|
|
252
|
+
return props.readonly ? /*#__PURE__*/ React.createElement(ReadonlyAgenticUiToolUseBarBlock, readonlyElementProps) : /*#__PURE__*/ React.createElement(AgenticUiToolUseBarBlock, props);
|
|
246
253
|
case 'image':
|
|
247
254
|
return props.readonly ? /*#__PURE__*/ React.createElement(ReadonlyEditorImage, readonlyElementProps) : /*#__PURE__*/ React.createElement(EditorImage, props);
|
|
248
255
|
case 'media':
|
|
@@ -59,7 +59,35 @@ var NOT_SPACE_START = /^\S*/;
|
|
|
59
59
|
var ENDING_NEWLINE = /\n$/;
|
|
60
60
|
/**
|
|
61
61
|
* 处理schema类型语言的辅助函数
|
|
62
|
-
*/ var
|
|
62
|
+
*/ var processAgenticUiJsonBlock = function processAgenticUiJsonBlock(slateType) {
|
|
63
|
+
return function(element, value) {
|
|
64
|
+
var parsed = {};
|
|
65
|
+
try {
|
|
66
|
+
parsed = json5.parse(value || '{}');
|
|
67
|
+
} catch (unused) {
|
|
68
|
+
try {
|
|
69
|
+
parsed = partialJsonParse(value || '{}');
|
|
70
|
+
} catch (error) {
|
|
71
|
+
parsed = {
|
|
72
|
+
_parseError: true,
|
|
73
|
+
_raw: value
|
|
74
|
+
};
|
|
75
|
+
console.error('parse agentic-ui embed block error', error);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return _object_spread_props(_object_spread({}, element), {
|
|
79
|
+
type: slateType,
|
|
80
|
+
language: slateType,
|
|
81
|
+
value: parsed,
|
|
82
|
+
children: [
|
|
83
|
+
{
|
|
84
|
+
text: value
|
|
85
|
+
}
|
|
86
|
+
]
|
|
87
|
+
});
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
var processSchemaLanguage = function processSchemaLanguage(element, value) {
|
|
63
91
|
var json = [];
|
|
64
92
|
try {
|
|
65
93
|
json = json5.parse(value || '[]');
|
|
@@ -97,7 +125,10 @@ var ENDING_NEWLINE = /\n$/;
|
|
|
97
125
|
type: 'katex'
|
|
98
126
|
});
|
|
99
127
|
},
|
|
100
|
-
'agentar-card': processSchemaLanguage
|
|
128
|
+
'agentar-card': processSchemaLanguage,
|
|
129
|
+
'agentic-ui-task': processAgenticUiJsonBlock('agentic-ui-task'),
|
|
130
|
+
'agentic-ui-toolusebar': processAgenticUiJsonBlock('agentic-ui-toolusebar'),
|
|
131
|
+
/** @deprecated 使用 `agentic-ui-toolusebar`,保留解析以兼容旧内容 */ 'agentic-ui-usertoolbar': processAgenticUiJsonBlock('agentic-ui-toolusebar')
|
|
101
132
|
};
|
|
102
133
|
/**
|
|
103
134
|
* 处理代码块节点
|
|
@@ -755,7 +755,10 @@ import { parseMarkdownToNodesAndInsert } from "./parseMarkdownToNodesAndInsert";
|
|
|
755
755
|
'table',
|
|
756
756
|
'code',
|
|
757
757
|
'schema',
|
|
758
|
-
'apaasify'
|
|
758
|
+
'apaasify',
|
|
759
|
+
'agentic-ui-task',
|
|
760
|
+
'agentic-ui-toolusebar',
|
|
761
|
+
'agentic-ui-usertoolbar'
|
|
759
762
|
].includes(rangeNode.type);
|
|
760
763
|
};
|
|
761
764
|
/**
|
|
@@ -1,8 +1,21 @@
|
|
|
1
1
|
import { Node } from 'mdast';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { Editor, NodeEntry } from 'slate';
|
|
4
|
+
import type { Plugin } from 'unified';
|
|
4
5
|
import { ElementProps, Elements } from './el';
|
|
5
6
|
import type { JinjaConfig } from './types';
|
|
7
|
+
/**
|
|
8
|
+
* MarkdownRenderer 渲染模式下的插件配置。
|
|
9
|
+
* 与 Slate 编辑器侧的 elements 并行,用于 HTML/React 渲染模式。
|
|
10
|
+
*/
|
|
11
|
+
export interface RendererPlugin {
|
|
12
|
+
/** 用于 HTML/React 渲染模式的组件映射(tagName → Component) */
|
|
13
|
+
rendererComponents?: Record<string, React.ComponentType<any>>;
|
|
14
|
+
/** 自定义 rehype 插件 */
|
|
15
|
+
rehypePlugins?: Plugin[];
|
|
16
|
+
/** 自定义 remark 插件 */
|
|
17
|
+
remarkPlugins?: Plugin[];
|
|
18
|
+
}
|
|
6
19
|
export type MarkdownEditorPlugin = {
|
|
7
20
|
elements?: Record<string, React.ComponentType<ElementProps<any>>>;
|
|
8
21
|
parseMarkdown?: {
|
|
@@ -20,5 +33,7 @@ export type MarkdownEditorPlugin = {
|
|
|
20
33
|
jinja?: true;
|
|
21
34
|
/** 通过插件启用时的默认 Jinja 配置(当未传 props.jinja 时使用) */
|
|
22
35
|
jinjaConfig?: JinjaConfig;
|
|
36
|
+
/** MarkdownRenderer 渲染模式下的配置 */
|
|
37
|
+
renderer?: RendererPlugin;
|
|
23
38
|
};
|
|
24
39
|
export declare const PluginContext: React.Context<MarkdownEditorPlugin[]>;
|