@ant-design/agentic-ui 2.30.22 → 2.30.24

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 (58) hide show
  1. package/dist/Bubble/MessagesContent/MarkdownPreview.d.ts +0 -58
  2. package/dist/Bubble/MessagesContent/MarkdownPreview.js +79 -156
  3. package/dist/Hooks/useAutoScroll.js +6 -4
  4. package/dist/MarkdownEditor/BaseMarkdownEditor.d.ts +1 -50
  5. package/dist/MarkdownEditor/BaseMarkdownEditor.js +11 -55
  6. package/dist/MarkdownEditor/editor/Editor.js +11 -9
  7. package/dist/MarkdownEditor/editor/elements/Code/index.js +1 -0
  8. package/dist/MarkdownEditor/editor/plugins/elements.d.ts +2 -0
  9. package/dist/MarkdownEditor/editor/plugins/elements.js +4 -2
  10. package/dist/MarkdownEditor/editor/plugins/handlePaste.js +46 -35
  11. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/backspace.js +133 -133
  12. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/enter.js +156 -140
  13. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/match.d.ts +2 -1
  14. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/match.js +23 -4
  15. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/tab.js +40 -36
  16. package/dist/MarkdownEditor/editor/plugins/index.d.ts +1 -0
  17. package/dist/MarkdownEditor/editor/plugins/index.js +1 -0
  18. package/dist/MarkdownEditor/editor/plugins/useKeyboard.js +46 -44
  19. package/dist/MarkdownEditor/editor/plugins/withCodeTagPlugin.js +1 -13
  20. package/dist/MarkdownEditor/editor/plugins/withMarkdown.js +2 -1
  21. package/dist/MarkdownEditor/editor/plugins/withSanitizeInvalidChildren.d.ts +7 -0
  22. package/dist/MarkdownEditor/editor/plugins/withSanitizeInvalidChildren.js +217 -0
  23. package/dist/MarkdownEditor/editor/store.d.ts +3 -1
  24. package/dist/MarkdownEditor/editor/store.js +15 -29
  25. package/dist/MarkdownEditor/editor/utils/editorCommands.js +98 -17
  26. package/dist/MarkdownEditor/editor/utils/editorUtils.d.ts +11 -0
  27. package/dist/MarkdownEditor/editor/utils/editorUtils.js +43 -6
  28. package/dist/MarkdownEditor/editor/utils/keyboard.js +14 -12
  29. package/dist/MarkdownEditor/types.d.ts +36 -414
  30. package/dist/MarkdownEditor/types.js +1 -4
  31. package/dist/MarkdownInputField/MarkdownInputField.js +2 -0
  32. package/dist/MarkdownInputField/SendActions/index.js +7 -4
  33. package/dist/MarkdownInputField/SendButton/index.d.ts +6 -0
  34. package/dist/MarkdownInputField/SendButton/index.js +6 -0
  35. package/dist/MarkdownInputField/hooks/useMarkdownInputFieldHandlers.d.ts +2 -1
  36. package/dist/MarkdownInputField/hooks/useMarkdownInputFieldHandlers.js +6 -1
  37. package/dist/MarkdownRenderer/AnimationText.d.ts +1 -5
  38. package/dist/MarkdownRenderer/AnimationText.js +2 -8
  39. package/dist/MarkdownRenderer/CharacterQueue.d.ts +0 -2
  40. package/dist/MarkdownRenderer/CharacterQueue.js +2 -2
  41. package/dist/MarkdownRenderer/MarkdownRenderer.d.ts +1 -9
  42. package/dist/MarkdownRenderer/MarkdownRenderer.js +1 -9
  43. package/dist/MarkdownRenderer/StreamingCursor.d.ts +4 -0
  44. package/dist/MarkdownRenderer/StreamingCursor.js +20 -0
  45. package/dist/MarkdownRenderer/markdownReactShared.d.ts +8 -38
  46. package/dist/MarkdownRenderer/markdownReactShared.js +9 -45
  47. package/dist/MarkdownRenderer/renderers/ChartRenderer.js +9 -1
  48. package/dist/MarkdownRenderer/streaming/MarkdownBlockPiece.d.ts +1 -3
  49. package/dist/MarkdownRenderer/streaming/MarkdownBlockPiece.js +16 -28
  50. package/dist/MarkdownRenderer/style.js +18 -0
  51. package/dist/MarkdownRenderer/types.d.ts +14 -86
  52. package/dist/MarkdownRenderer/useStreaming.d.ts +1 -10
  53. package/dist/MarkdownRenderer/useStreaming.js +5 -13
  54. package/dist/ThoughtChainList/MarkdownEditor.d.ts +1 -35
  55. package/dist/ThoughtChainList/MarkdownEditor.js +5 -44
  56. package/dist/Workspace/RealtimeFollow/index.d.ts +3 -0
  57. package/dist/Workspace/RealtimeFollow/index.js +5 -3
  58. package/package.json +2 -2
@@ -11,6 +11,17 @@ export declare class EditorUtils {
11
11
  readonly text: "";
12
12
  }];
13
13
  };
14
+ /**
15
+ * 通过 Slate Transforms API 安全替换编辑器全部内容。
16
+ * 避免直接赋值 editor.children,确保 Operation/History/Normalizer 管线正常运行。
17
+ *
18
+ * @param editor - 编辑器实例
19
+ * @param nodes - 新的节点列表
20
+ * @param options.withoutHistory - 是否跳过 History 记录(默认 true,适用于外部数据同步场景)
21
+ */
22
+ static replaceEditorContent(editor: Editor, nodes: Node[], options?: {
23
+ withoutHistory?: boolean;
24
+ }): void;
14
25
  static hasPath(editor: Editor, path: Path): boolean;
15
26
  static focus(editor: Editor): void;
16
27
  static blur(editor: Editor): void;
@@ -135,6 +135,7 @@ function _unsupported_iterable_to_array(o, minLen) {
135
135
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
136
136
  }
137
137
  /* eslint-disable no-param-reassign */ import { Editor, Element, Node, Path, Point, Range, Text, Transforms } from "slate";
138
+ import { HistoryEditor } from "slate-history";
138
139
  import { ReactEditor } from "slate-react";
139
140
  import { getMediaType } from "./dom";
140
141
  export var EditorUtils = /*#__PURE__*/ function() {
@@ -156,6 +157,44 @@ export var EditorUtils = /*#__PURE__*/ function() {
156
157
  };
157
158
  }
158
159
  },
160
+ {
161
+ key: "replaceEditorContent",
162
+ value: /**
163
+ * 通过 Slate Transforms API 安全替换编辑器全部内容。
164
+ * 避免直接赋值 editor.children,确保 Operation/History/Normalizer 管线正常运行。
165
+ *
166
+ * @param editor - 编辑器实例
167
+ * @param nodes - 新的节点列表
168
+ * @param options.withoutHistory - 是否跳过 History 记录(默认 true,适用于外部数据同步场景)
169
+ */ function replaceEditorContent(editor, nodes, options) {
170
+ var _ref = options || {}, _ref_withoutHistory = _ref.withoutHistory, withoutHistory = _ref_withoutHistory === void 0 ? true : _ref_withoutHistory;
171
+ var doReplace = function doReplace() {
172
+ Editor.withoutNormalizing(editor, function() {
173
+ if (editor.selection) {
174
+ Transforms.deselect(editor);
175
+ }
176
+ var totalChildren = editor.children.length;
177
+ for(var i = totalChildren - 1; i >= 0; i--){
178
+ Transforms.removeNodes(editor, {
179
+ at: [
180
+ i
181
+ ]
182
+ });
183
+ }
184
+ Transforms.insertNodes(editor, nodes, {
185
+ at: [
186
+ 0
187
+ ]
188
+ });
189
+ });
190
+ };
191
+ if (withoutHistory && HistoryEditor.isHistoryEditor(editor)) {
192
+ HistoryEditor.withoutSaving(editor, doReplace);
193
+ } else {
194
+ doReplace();
195
+ }
196
+ }
197
+ },
159
198
  {
160
199
  key: "hasPath",
161
200
  value: function hasPath(editor, path) {
@@ -485,18 +524,16 @@ export var EditorUtils = /*#__PURE__*/ function() {
485
524
  * @param insertNodes - 可选的插入节点数组。如果未提供,则使用默认段落节点
486
525
  * @param force - 可选的布尔值或历史记录对象。如果为布尔值,则强制重置历史记录;如果为历史记录对象,则使用提供的历史记录
487
526
  */ function reset(editor, insertNodes, force) {
488
- var nodesToInsert = insertNodes || [
527
+ var nodesToInsert = JSON.parse(JSON.stringify(insertNodes || [
489
528
  EditorUtils.p
490
- ];
491
- // 深克隆节点以避免引用问题
492
- editor.children = JSON.parse(JSON.stringify(nodesToInsert));
493
- if (force) {
529
+ ]));
530
+ EditorUtils.replaceEditorContent(editor, nodesToInsert);
531
+ if (force && HistoryEditor.isHistoryEditor(editor)) {
494
532
  editor.history = typeof force === 'boolean' ? {
495
533
  redos: [],
496
534
  undos: []
497
535
  } : force;
498
536
  }
499
- editor.onChange();
500
537
  }
501
538
  },
502
539
  {
@@ -884,11 +884,11 @@ export var useSystemKeyboard = function useSystemKeyboard(keyTask$, store, props
884
884
  try {
885
885
  copy(url);
886
886
  } catch (error) {}
887
- if (isHotkey('mod+x', e)) {
888
- Transforms.delete(store === null || store === void 0 ? void 0 : store.editor, {
887
+ if (isHotkey('mod+x', e) && (store === null || store === void 0 ? void 0 : store.editor)) {
888
+ Transforms.delete(store.editor, {
889
889
  at: node[1]
890
890
  });
891
- ReactEditor.focus(store === null || store === void 0 ? void 0 : store.editor);
891
+ ReactEditor.focus(store.editor);
892
892
  }
893
893
  }
894
894
  if ((node === null || node === void 0 ? void 0 : (_node_2 = node[0]) === null || _node_2 === void 0 ? void 0 : _node_2.type) === 'attach') {
@@ -897,11 +897,11 @@ export var useSystemKeyboard = function useSystemKeyboard(keyTask$, store, props
897
897
  try {
898
898
  copy(url1);
899
899
  } catch (error) {}
900
- if (isHotkey('mod+x', e)) {
901
- Transforms.delete(store === null || store === void 0 ? void 0 : store.editor, {
900
+ if (isHotkey('mod+x', e) && (store === null || store === void 0 ? void 0 : store.editor)) {
901
+ Transforms.delete(store.editor, {
902
902
  at: node[1]
903
903
  });
904
- ReactEditor.focus(store === null || store === void 0 ? void 0 : store.editor);
904
+ ReactEditor.focus(store.editor);
905
905
  }
906
906
  }
907
907
  }
@@ -909,12 +909,14 @@ export var useSystemKeyboard = function useSystemKeyboard(keyTask$, store, props
909
909
  var _task_curNodes = _sliced_to_array(task.curNodes, 1), node1 = _task_curNodes[0];
910
910
  if ((node1 === null || node1 === void 0 ? void 0 : node1[0].type) === 'media') {
911
911
  e.preventDefault();
912
- Transforms.removeNodes(task.editor, {
913
- at: node1[1]
914
- });
915
- Transforms.insertNodes(task.editor, EditorUtils.p, {
916
- at: node1[1],
917
- select: true
912
+ Editor.withoutNormalizing(task.editor, function() {
913
+ Transforms.removeNodes(task.editor, {
914
+ at: node1[1]
915
+ });
916
+ Transforms.insertNodes(task.editor, EditorUtils.p, {
917
+ at: node1[1],
918
+ select: true
919
+ });
918
920
  });
919
921
  ReactEditor.focus(task.editor);
920
922
  }