@ant-design/agentic-ui 2.29.7 → 2.29.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.
Files changed (84) hide show
  1. package/dist/ChatLayout/components/FooterBackgroundLottie/index.js +1 -1
  2. package/dist/MarkdownEditor/BaseMarkdownEditor.js +1 -1
  3. package/dist/MarkdownEditor/editor/elements/Blockquote/ReadonlyBlockquote.d.ts +33 -0
  4. package/dist/MarkdownEditor/editor/elements/Blockquote/ReadonlyBlockquote.js +69 -0
  5. package/dist/MarkdownEditor/editor/elements/Break/ReadonlyBreak.d.ts +30 -0
  6. package/dist/MarkdownEditor/editor/elements/Break/ReadonlyBreak.js +88 -0
  7. package/dist/MarkdownEditor/editor/elements/Card/ReadonlyCard.d.ts +34 -0
  8. package/dist/MarkdownEditor/editor/elements/Card/ReadonlyCard.js +96 -0
  9. package/dist/MarkdownEditor/editor/elements/Code/ReadonlyCode.d.ts +33 -0
  10. package/dist/MarkdownEditor/editor/elements/Code/ReadonlyCode.js +145 -0
  11. package/dist/MarkdownEditor/editor/elements/FootnoteDefinition/ReadonlyFootnoteDefinition.d.ts +34 -0
  12. package/dist/MarkdownEditor/editor/elements/FootnoteDefinition/ReadonlyFootnoteDefinition.js +125 -0
  13. package/dist/MarkdownEditor/editor/elements/FootnoteReference/ReadonlyFootnoteReference.d.ts +34 -0
  14. package/dist/MarkdownEditor/editor/elements/FootnoteReference/ReadonlyFootnoteReference.js +101 -0
  15. package/dist/MarkdownEditor/editor/elements/Head/ReadonlyHead.d.ts +35 -0
  16. package/dist/MarkdownEditor/editor/elements/Head/ReadonlyHead.js +111 -0
  17. package/dist/MarkdownEditor/editor/elements/Head/index.d.ts +3 -0
  18. package/dist/MarkdownEditor/editor/elements/Head/index.js +3 -1
  19. package/dist/MarkdownEditor/editor/elements/Hr/ReadonlyHr.d.ts +30 -0
  20. package/dist/MarkdownEditor/editor/elements/Hr/ReadonlyHr.js +95 -0
  21. package/dist/MarkdownEditor/editor/elements/Image/ReadonlyEditorImage.d.ts +35 -0
  22. package/dist/MarkdownEditor/editor/elements/Image/ReadonlyEditorImage.js +426 -0
  23. package/dist/MarkdownEditor/editor/elements/Image/index.js +38 -50
  24. package/dist/MarkdownEditor/editor/elements/InlineKatex/ReadonlyInlineKatex.d.ts +32 -0
  25. package/dist/MarkdownEditor/editor/elements/InlineKatex/ReadonlyInlineKatex.js +100 -0
  26. package/dist/MarkdownEditor/editor/elements/Katex/ReadonlyKatex.d.ts +32 -0
  27. package/dist/MarkdownEditor/editor/elements/Katex/ReadonlyKatex.js +110 -0
  28. package/dist/MarkdownEditor/editor/elements/LinkCard/ReadonlyLinkCard.d.ts +40 -0
  29. package/dist/MarkdownEditor/editor/elements/LinkCard/ReadonlyLinkCard.js +215 -0
  30. package/dist/MarkdownEditor/editor/elements/List/List.js +27 -12
  31. package/dist/MarkdownEditor/editor/elements/List/ReadonlyList.d.ts +33 -0
  32. package/dist/MarkdownEditor/editor/elements/List/ReadonlyList.js +93 -0
  33. package/dist/MarkdownEditor/editor/elements/List/ReadonlyListItem.d.ts +35 -0
  34. package/dist/MarkdownEditor/editor/elements/List/ReadonlyListItem.js +138 -0
  35. package/dist/MarkdownEditor/editor/elements/Media/ReadonlyMedia.d.ts +36 -0
  36. package/dist/MarkdownEditor/editor/elements/Media/ReadonlyMedia.js +600 -0
  37. package/dist/MarkdownEditor/editor/elements/Mermaid/ReadonlyMermaid.d.ts +32 -0
  38. package/dist/MarkdownEditor/editor/elements/Mermaid/ReadonlyMermaid.js +101 -0
  39. package/dist/MarkdownEditor/editor/elements/Paragraph/ReadonlyParagraph.d.ts +35 -0
  40. package/dist/MarkdownEditor/editor/elements/Paragraph/ReadonlyParagraph.js +109 -0
  41. package/dist/MarkdownEditor/editor/elements/Paragraph/index.js +2 -1
  42. package/dist/MarkdownEditor/editor/elements/Schema/ReadonlySchema.d.ts +33 -0
  43. package/dist/MarkdownEditor/editor/elements/Schema/ReadonlySchema.js +163 -0
  44. package/dist/MarkdownEditor/editor/elements/index.d.ts +20 -1
  45. package/dist/MarkdownEditor/editor/elements/index.js +65 -29
  46. package/dist/MarkdownEditor/editor/parser/parse/parseBlockElements.js +18 -10
  47. package/dist/MarkdownEditor/editor/parser/parserSlateNodeToMarkdown.js +64 -21
  48. package/dist/MarkdownEditor/editor/plugins/elements.js +60 -6
  49. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/backspace.js +97 -39
  50. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/tab.d.ts +14 -0
  51. package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/tab.js +117 -90
  52. package/dist/MarkdownEditor/editor/plugins/index.d.ts +8 -0
  53. package/dist/MarkdownEditor/editor/plugins/index.js +8 -0
  54. package/dist/MarkdownEditor/editor/plugins/insertParsedHtmlNodes.d.ts +12 -6
  55. package/dist/MarkdownEditor/editor/plugins/insertParsedHtmlNodes.js +67 -42
  56. package/dist/MarkdownEditor/editor/plugins/utils.d.ts +31 -0
  57. package/dist/MarkdownEditor/editor/plugins/utils.js +75 -0
  58. package/dist/MarkdownEditor/editor/plugins/withCardPlugin.d.ts +15 -0
  59. package/dist/MarkdownEditor/editor/plugins/withCardPlugin.js +329 -0
  60. package/dist/MarkdownEditor/editor/plugins/withCodeTagPlugin.d.ts +11 -0
  61. package/dist/MarkdownEditor/editor/plugins/withCodeTagPlugin.js +299 -0
  62. package/dist/MarkdownEditor/editor/plugins/withInlineNodes.d.ts +12 -0
  63. package/dist/MarkdownEditor/editor/plugins/withInlineNodes.js +17 -0
  64. package/dist/MarkdownEditor/editor/plugins/withLinkAndMediaPlugin.d.ts +11 -0
  65. package/dist/MarkdownEditor/editor/plugins/withLinkAndMediaPlugin.js +70 -0
  66. package/dist/MarkdownEditor/editor/plugins/withListsPlugin.d.ts +23 -0
  67. package/dist/MarkdownEditor/editor/plugins/withListsPlugin.js +204 -0
  68. package/dist/MarkdownEditor/editor/plugins/withMarkdown.d.ts +9 -12
  69. package/dist/MarkdownEditor/editor/plugins/withMarkdown.js +17 -764
  70. package/dist/MarkdownEditor/editor/plugins/withSchemaPlugin.d.ts +11 -0
  71. package/dist/MarkdownEditor/editor/plugins/withSchemaPlugin.js +55 -0
  72. package/dist/MarkdownEditor/editor/plugins/withVoidNodes.d.ts +12 -0
  73. package/dist/MarkdownEditor/editor/plugins/withVoidNodes.js +17 -0
  74. package/dist/MarkdownEditor/editor/store.d.ts +0 -11
  75. package/dist/MarkdownEditor/editor/store.js +4 -112
  76. package/dist/MarkdownEditor/editor/utils/docx/module.js +41 -8
  77. package/dist/MarkdownEditor/editor/utils/editorCommands.d.ts +97 -0
  78. package/dist/MarkdownEditor/editor/utils/editorCommands.js +966 -0
  79. package/dist/MarkdownEditor/editor/utils/editorUtils.js +2 -2
  80. package/dist/MarkdownEditor/editor/utils/keyboard.js +15 -391
  81. package/dist/MarkdownEditor/el.d.ts +12 -5
  82. package/dist/MarkdownInputField/MarkdownInputField.js +10 -23
  83. package/dist/MarkdownInputField/style.js +9 -4
  84. package/package.json +7 -7
@@ -0,0 +1,11 @@
1
+ import { Editor } from 'slate';
2
+ /**
3
+ * 扩展编辑器以处理schema节点的操作
4
+ *
5
+ * @param editor - 要扩展的Slate编辑器实例
6
+ * @returns 增强后的编辑器实例,能够处理schema相关操作
7
+ *
8
+ * @description
9
+ * 该插件重写编辑器的 `apply` 方法,添加对schema节点的特殊处理逻辑。
10
+ */
11
+ export declare const withSchemaPlugin: (editor: Editor) => import("slate").BaseEditor & import("slate-react").ReactEditor & import("slate-history").HistoryEditor;
@@ -0,0 +1,55 @@
1
+ import { Node, Path, Transforms } from "slate";
2
+ /**
3
+ * 处理schema相关节点的操作
4
+ *
5
+ * @param editor - Slate编辑器实例
6
+ * @param operation - 要处理的操作
7
+ * @returns 如果操作被处理则返回true,否则返回false
8
+ *
9
+ * @description
10
+ * 处理以下schema相关操作:
11
+ * - 拆分schema节点 (split_node),在拆分点之后插入新的段落节点
12
+ */ var handleSchemaOperation = function(editor, operation) {
13
+ var _operation_properties;
14
+ if (operation.type === 'split_node' && ((_operation_properties = operation.properties) === null || _operation_properties === void 0 ? void 0 : _operation_properties.type) === 'schema') {
15
+ var node = Node.get(editor, operation.path);
16
+ if ((node === null || node === void 0 ? void 0 : node.type) === 'schema') {
17
+ Transforms.insertNodes(editor, [
18
+ {
19
+ type: 'paragraph',
20
+ children: [
21
+ {
22
+ text: '',
23
+ p: 'true'
24
+ }
25
+ ]
26
+ }
27
+ ], {
28
+ at: Path.next(operation.path),
29
+ select: true
30
+ });
31
+ }
32
+ return true;
33
+ }
34
+ return false;
35
+ };
36
+ /**
37
+ * 扩展编辑器以处理schema节点的操作
38
+ *
39
+ * @param editor - 要扩展的Slate编辑器实例
40
+ * @returns 增强后的编辑器实例,能够处理schema相关操作
41
+ *
42
+ * @description
43
+ * 该插件重写编辑器的 `apply` 方法,添加对schema节点的特殊处理逻辑。
44
+ */ export var withSchemaPlugin = function(editor) {
45
+ var apply = editor.apply;
46
+ editor.apply = function(operation) {
47
+ // 尝试处理schema相关操作
48
+ if (handleSchemaOperation(editor, operation)) {
49
+ return;
50
+ }
51
+ // 否则执行原始操作
52
+ apply(operation);
53
+ };
54
+ return editor;
55
+ };
@@ -0,0 +1,12 @@
1
+ import { Editor } from 'slate';
2
+ /**
3
+ * 扩展编辑器以识别空节点类型
4
+ *
5
+ * @param editor - 要扩展的Slate编辑器实例
6
+ * @returns 增强后的编辑器实例,能够识别空节点
7
+ *
8
+ * @description
9
+ * 该插件扩展编辑器的 `isVoid` 方法,使其能够识别特定的空元素类型。
10
+ * 空节点包括:'hr'、'break'
11
+ */
12
+ export declare const withVoidNodes: (editor: Editor) => import("slate").BaseEditor & import("slate-react").ReactEditor & import("slate-history").HistoryEditor;
@@ -0,0 +1,17 @@
1
+ import { voidNode } from "./utils";
2
+ /**
3
+ * 扩展编辑器以识别空节点类型
4
+ *
5
+ * @param editor - 要扩展的Slate编辑器实例
6
+ * @returns 增强后的编辑器实例,能够识别空节点
7
+ *
8
+ * @description
9
+ * 该插件扩展编辑器的 `isVoid` 方法,使其能够识别特定的空元素类型。
10
+ * 空节点包括:'hr'、'break'
11
+ */ export var withVoidNodes = function(editor) {
12
+ var isVoid = editor.isVoid;
13
+ editor.isVoid = function(element) {
14
+ return voidNode.has(element.type) || isVoid(element);
15
+ };
16
+ return editor;
17
+ };
@@ -204,17 +204,6 @@ export declare class EditorStore {
204
204
  * @private
205
205
  */
206
206
  private _parseAndSetContentWithRAF;
207
- /**
208
- * 使用 requestAnimationFrame 分批设置内容
209
- * 每帧插入一批节点,避免长时间阻塞主线程
210
- *
211
- * @param allNodes - 所有要插入的节点
212
- * @param batchSize - 每帧处理的节点数量
213
- * @param onProgress - 进度回调函数
214
- * @returns Promise,在所有节点插入完成后 resolve
215
- * @private
216
- */
217
- private _setContentWithRAF;
218
207
  /**
219
208
  * 按指定分隔符拆分 markdown 内容
220
209
  * 保持内容结构的完整性
@@ -648,64 +648,6 @@ export var EditorStoreContext = createContext(null);
648
648
  });
649
649
  }
650
650
  },
651
- {
652
- key: "_setContentWithRAF",
653
- value: /**
654
- * 使用 requestAnimationFrame 分批设置内容
655
- * 每帧插入一批节点,避免长时间阻塞主线程
656
- *
657
- * @param allNodes - 所有要插入的节点
658
- * @param batchSize - 每帧处理的节点数量
659
- * @param onProgress - 进度回调函数
660
- * @returns Promise,在所有节点插入完成后 resolve
661
- * @private
662
- */ function _setContentWithRAF(allNodes, batchSize, onProgress) {
663
- var _this = this;
664
- return new Promise(function(resolve, reject) {
665
- var currentIndex = 0;
666
- var totalNodes = allNodes.length;
667
- var rafId = null;
668
- var insertBatch = function() {
669
- try {
670
- var endIndex = Math.min(currentIndex + batchSize, totalNodes);
671
- var batch = allNodes.slice(currentIndex, endIndex);
672
- if (currentIndex === 0) {
673
- // 第一批:清空并插入
674
- _this._editor.current.children = batch;
675
- _this._editor.current.onChange();
676
- } else {
677
- var // 后续批次:追加节点
678
- _this__editor_current_children;
679
- (_this__editor_current_children = _this._editor.current.children).push.apply(_this__editor_current_children, _to_consumable_array(batch));
680
- _this._editor.current.onChange();
681
- }
682
- currentIndex = endIndex;
683
- var progress = currentIndex / totalNodes;
684
- // 直接调用进度回调,避免嵌套 requestAnimationFrame
685
- onProgress === null || onProgress === void 0 ? void 0 : onProgress(progress);
686
- if (currentIndex < totalNodes) {
687
- // 还有节点未处理,继续下一帧
688
- rafId = requestAnimationFrame(insertBatch);
689
- } else {
690
- // 所有节点处理完成
691
- ReactEditor.deselect(_this._editor.current);
692
- rafId = null;
693
- resolve();
694
- }
695
- } catch (error) {
696
- // 清理资源并拒绝 Promise
697
- if (rafId) {
698
- cancelAnimationFrame(rafId);
699
- rafId = null;
700
- }
701
- reject(error);
702
- }
703
- };
704
- // 开始第一帧
705
- rafId = requestAnimationFrame(insertBatch);
706
- });
707
- }
708
- },
709
651
  {
710
652
  key: "_splitMarkdown",
711
653
  value: /**
@@ -952,67 +894,17 @@ export var EditorStoreContext = createContext(null);
952
894
  * @param nodeList - 要设置为编辑器内容的节点列表
953
895
  */ key: "setContent",
954
896
  value: function setContent(nodeList) {
955
- var _this = this;
956
897
  var currentChildren = this._editor.current.children;
957
- var resultChildren = [];
958
- // 逐个比较节点,如果 hash 和 finished 相同就保留旧节点,否则使用新节点
959
- for(var i = 0; i < nodeList.length; i++){
960
- var newNode = nodeList[i];
961
- var oldNode = currentChildren[i];
962
- // 如果旧节点不存在,直接使用新节点
963
- if (!oldNode) {
964
- resultChildren.push(newNode);
965
- continue;
966
- }
967
- // 如果 hash 和 finished 都相同,保留旧节点,继续处理下一个
968
- if (this._isNodeEqual(newNode, oldNode)) {
969
- resultChildren.push(oldNode);
970
- continue;
971
- }
972
- // hash 或 finished 不相同,使用新节点替换
973
- resultChildren.push(newNode);
974
- }
975
- // 使用批处理模式执行所有操作
976
- Editor.withoutNormalizing(this._editor.current, function() {
977
- // 先删除多余的节点(从后往前删除,避免索引变化)
978
- if (currentChildren.length > resultChildren.length) {
979
- for(var i = currentChildren.length - 1; i >= resultChildren.length; i--){
980
- Transforms.removeNodes(_this._editor.current, {
981
- at: [
982
- i
983
- ]
984
- });
985
- }
986
- }
987
- // 然后逐个替换或插入节点(从前往后处理)
988
- for(var i1 = 0; i1 < resultChildren.length; i1++){
989
- var newNode = resultChildren[i1];
990
- var oldNode = currentChildren[i1];
991
- if (!oldNode) {
992
- // 旧节点不存在,插入新节点
993
- Transforms.insertNodes(_this._editor.current, newNode, {
994
- at: [
995
- i1
996
- ]
997
- });
998
- } else if (oldNode !== newNode) {
999
- // 节点不同,替换节点
1000
- _this._replaceNodeAt([
1001
- i1
1002
- ], newNode);
1003
- }
1004
- // 如果 oldNode === newNode,说明是同一个对象引用,不需要更新
1005
- }
1006
- });
898
+ this._editor.current.children = nodeList;
1007
899
  this._editor.current.onChange();
1008
900
  // 检查最后一个节点是否以换行符结尾
1009
- var lastNode = resultChildren[resultChildren.length - 1];
901
+ var lastNode = currentChildren[currentChildren.length - 1];
1010
902
  if (lastNode && Text.isText(lastNode)) {
1011
903
  var text = Node.string(lastNode);
1012
904
  if (!text.endsWith('\n')) {
1013
905
  this._editor.current.insertText('\n', {
1014
906
  at: [
1015
- resultChildren.length - 1
907
+ currentChildren.length - 1
1016
908
  ]
1017
909
  });
1018
910
  }
@@ -1067,7 +959,7 @@ export var EditorStoreContext = createContext(null);
1067
959
  */ function _isValidNode(item) {
1068
960
  if (!item) return false;
1069
961
  if (item.type === 'p' && (!item.children || item.children.length === 0)) return false;
1070
- if (item.type === 'list' && (!item.children || item.children.length === 0)) return false;
962
+ if ((item.type === 'list' || item.type === 'bulleted-list' || item.type === 'numbered-list') && (!item.children || item.children.length === 0)) return false;
1071
963
  if (item.type === 'listItem' && (!item.children || item.children.length === 0)) return false;
1072
964
  if (item.type === 'code' && item.language === 'code' && (!item.otherProps || item.otherProps.length === 0)) return false;
1073
965
  if (item.type === 'image' && !item.src) return false;
@@ -1,3 +1,31 @@
1
+ function _define_property(obj, key, value) {
2
+ if (key in obj) {
3
+ Object.defineProperty(obj, key, {
4
+ value: value,
5
+ enumerable: true,
6
+ configurable: true,
7
+ writable: true
8
+ });
9
+ } else {
10
+ obj[key] = value;
11
+ }
12
+ return obj;
13
+ }
14
+ function _object_spread(target) {
15
+ for(var i = 1; i < arguments.length; i++){
16
+ var source = arguments[i] != null ? arguments[i] : {};
17
+ var ownKeys = Object.keys(source);
18
+ if (typeof Object.getOwnPropertySymbols === "function") {
19
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
20
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
21
+ }));
22
+ }
23
+ ownKeys.forEach(function(key) {
24
+ _define_property(target, key, source[key]);
25
+ });
26
+ }
27
+ return target;
28
+ }
1
29
  /* eslint-disable @typescript-eslint/no-use-before-define */ import { message } from "antd";
2
30
  import { ELEMENT_TAGS } from "../../plugins/insertParsedHtmlNodes";
3
31
  export var TEXT_TAGS = {
@@ -119,24 +147,29 @@ export var makeDeserializer = function(jsx) {
119
147
  return jsx('element', attrs, (attrs === null || attrs === void 0 ? void 0 : attrs.children) || children);
120
148
  }
121
149
  if (nodeName === 'H3' || nodeName === 'H2' || nodeName === 'H1') {
122
- return jsx('element', {
150
+ var _ELEMENT_TAGS_nodeName1;
151
+ var attrs1 = (_ELEMENT_TAGS_nodeName1 = ELEMENT_TAGS[nodeName]) === null || _ELEMENT_TAGS_nodeName1 === void 0 ? void 0 : _ELEMENT_TAGS_nodeName1.call(ELEMENT_TAGS, el);
152
+ var align = attrs1 === null || attrs1 === void 0 ? void 0 : attrs1.align;
153
+ return jsx('element', _object_spread({
123
154
  type: 'head',
124
155
  className: nodeName,
125
- level: nodeName === null || nodeName === void 0 ? void 0 : nodeName.replace('H', '')
126
- }, children);
156
+ level: (attrs1 === null || attrs1 === void 0 ? void 0 : attrs1.level) || Number(nodeName === null || nodeName === void 0 ? void 0 : nodeName.replace('H', ''))
157
+ }, align ? {
158
+ align: align
159
+ } : {}), children);
127
160
  }
128
- var attrs1 = (_ELEMENT_TAGS_nodeName = ELEMENT_TAGS[nodeName]) === null || _ELEMENT_TAGS_nodeName === void 0 ? void 0 : _ELEMENT_TAGS_nodeName.call(ELEMENT_TAGS, el);
129
- return jsx('element', attrs1, children);
161
+ var attrs2 = (_ELEMENT_TAGS_nodeName = ELEMENT_TAGS[nodeName]) === null || _ELEMENT_TAGS_nodeName === void 0 ? void 0 : _ELEMENT_TAGS_nodeName.call(ELEMENT_TAGS, el);
162
+ return jsx('element', attrs2, children);
130
163
  }
131
164
  if (TEXT_TAGS[nodeName]) {
132
165
  var _TEXT_TAGS_nodeName;
133
- var attrs2 = (_TEXT_TAGS_nodeName = TEXT_TAGS[nodeName]) === null || _TEXT_TAGS_nodeName === void 0 ? void 0 : _TEXT_TAGS_nodeName.call(TEXT_TAGS);
166
+ var attrs3 = (_TEXT_TAGS_nodeName = TEXT_TAGS[nodeName]) === null || _TEXT_TAGS_nodeName === void 0 ? void 0 : _TEXT_TAGS_nodeName.call(TEXT_TAGS);
134
167
  try {
135
168
  return children.filter(Boolean).map(function(child) {
136
169
  if (typeof child === 'string') {
137
- return jsx('text', attrs2, child);
170
+ return jsx('text', attrs3, child);
138
171
  }
139
- return jsx('element', ELEMENT_TAGS.P(), child);
172
+ return jsx('element', ELEMENT_TAGS.P(el), child);
140
173
  });
141
174
  } catch (error) {
142
175
  console.error(error);
@@ -0,0 +1,97 @@
1
+ import { Editor, Path } from 'slate';
2
+ /**
3
+ * 获取当前编辑器中的最低层级元素节点
4
+ */
5
+ export declare function getCurrentNodes(editor: Editor): Generator<import("slate").NodeEntry<any>, void, undefined>;
6
+ /**
7
+ * 插入表格
8
+ *
9
+ * 在当前位置插入一个3x3的表格(包含表头行)。
10
+ * 根据当前节点类型(段落、标题或列单元格)
11
+ * 决定在何处插入表格及如何处理现有内容。
12
+ *
13
+ * @param editor Slate 编辑器实例
14
+ * @param node 可选的节点,如果不提供则从编辑器获取
15
+ */
16
+ export declare function insertTable(editor: Editor, node?: [any, Path]): void;
17
+ /**
18
+ * 插入代码块
19
+ *
20
+ * 在当前位置插入代码块,并根据传入的类型设置语言和渲染模式。
21
+ * 支持在列单元格内或普通段落/标题后插入代码块。
22
+ *
23
+ * @param editor Slate 编辑器实例
24
+ * @param type 可选的代码块类型,'mermaid'表示流程图,'html'表示HTML渲染
25
+ * @param node 可选的节点,如果不提供则从编辑器获取
26
+ */
27
+ export declare function insertCodeBlock(editor: Editor, type?: 'mermaid' | 'html', node?: [any, Path]): void;
28
+ /**
29
+ * 插入或移除引用块
30
+ *
31
+ * 如果当前节点已在引用块中,则移除引用块;
32
+ * 否则,将当前节点转换为引用块。
33
+ * 如果当前节点是标题,先将其转换为普通段落。
34
+ *
35
+ * @param editor Slate 编辑器实例
36
+ * @param node 可选的节点,如果不提供则从编辑器获取
37
+ */
38
+ export declare function toggleQuote(editor: Editor, node?: [any, Path]): void;
39
+ /**
40
+ * 插入水平分割线
41
+ *
42
+ * 在当前位置插入水平分割线,并将光标定位到分割线后的位置。
43
+ * 如果分割线后没有内容,则自动插入一个空段落并将光标定位到该段落。
44
+ *
45
+ * @param editor Slate 编辑器实例
46
+ * @param node 可选的节点,如果不提供则从编辑器获取
47
+ */
48
+ export declare function insertHorizontalLine(editor: Editor, node?: [any, Path]): void;
49
+ /**
50
+ * 将标题转换为普通段落
51
+ *
52
+ * 如果当前节点是标题类型,将其转换为普通段落
53
+ *
54
+ * @param editor Slate 编辑器实例
55
+ */
56
+ declare function convertToParagraph(editor: Editor): void;
57
+ /**
58
+ * 设置标题级别
59
+ *
60
+ * 将当前段落或标题节点转换为指定级别的标题。
61
+ * 如果级别为4,则转换为普通段落。
62
+ *
63
+ * @param editor Slate 编辑器实例
64
+ * @param level 标题级别(1-3)或4(表示普通段落)
65
+ */
66
+ export declare function setHeading(editor: Editor, level: number): void;
67
+ export { convertToParagraph };
68
+ /**
69
+ * 创建或转换列表
70
+ *
71
+ * 将当前段落或标题转换为指定类型的列表。
72
+ * 如果已经是列表项,则根据情况切换类型或解包。
73
+ *
74
+ * @param editor Slate 编辑器实例
75
+ * @param mode 列表类型 'ordered'(有序列表), 'unordered'(无序列表), 'task'(任务列表)
76
+ */
77
+ export declare function createList(editor: Editor, mode: 'ordered' | 'unordered' | 'task'): void;
78
+ /**
79
+ * 增加标题级别(使标题变小)
80
+ *
81
+ * 将段落转换为4级标题,
82
+ * 或将标题级别从1级改为普通段落,
83
+ * 或将其他级别标题升级一级(数字变小)
84
+ *
85
+ * @param editor Slate 编辑器实例
86
+ */
87
+ export declare function increaseHeadingLevel(editor: Editor): void;
88
+ /**
89
+ * 降低标题级别(使标题变大)
90
+ *
91
+ * 将段落转换为1级标题,
92
+ * 或将4级标题改为普通段落,
93
+ * 或将其他级别标题降级一级(数字变大)
94
+ *
95
+ * @param editor Slate 编辑器实例
96
+ */
97
+ export declare function decreaseHeadingLevel(editor: Editor): void;