@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.
- package/dist/ChatLayout/components/FooterBackgroundLottie/index.js +1 -1
- package/dist/MarkdownEditor/BaseMarkdownEditor.js +1 -1
- package/dist/MarkdownEditor/editor/elements/Blockquote/ReadonlyBlockquote.d.ts +33 -0
- package/dist/MarkdownEditor/editor/elements/Blockquote/ReadonlyBlockquote.js +69 -0
- package/dist/MarkdownEditor/editor/elements/Break/ReadonlyBreak.d.ts +30 -0
- package/dist/MarkdownEditor/editor/elements/Break/ReadonlyBreak.js +88 -0
- package/dist/MarkdownEditor/editor/elements/Card/ReadonlyCard.d.ts +34 -0
- package/dist/MarkdownEditor/editor/elements/Card/ReadonlyCard.js +96 -0
- package/dist/MarkdownEditor/editor/elements/Code/ReadonlyCode.d.ts +33 -0
- package/dist/MarkdownEditor/editor/elements/Code/ReadonlyCode.js +145 -0
- package/dist/MarkdownEditor/editor/elements/FootnoteDefinition/ReadonlyFootnoteDefinition.d.ts +34 -0
- package/dist/MarkdownEditor/editor/elements/FootnoteDefinition/ReadonlyFootnoteDefinition.js +125 -0
- package/dist/MarkdownEditor/editor/elements/FootnoteReference/ReadonlyFootnoteReference.d.ts +34 -0
- package/dist/MarkdownEditor/editor/elements/FootnoteReference/ReadonlyFootnoteReference.js +101 -0
- package/dist/MarkdownEditor/editor/elements/Head/ReadonlyHead.d.ts +35 -0
- package/dist/MarkdownEditor/editor/elements/Head/ReadonlyHead.js +111 -0
- package/dist/MarkdownEditor/editor/elements/Head/index.d.ts +3 -0
- package/dist/MarkdownEditor/editor/elements/Head/index.js +3 -1
- package/dist/MarkdownEditor/editor/elements/Hr/ReadonlyHr.d.ts +30 -0
- package/dist/MarkdownEditor/editor/elements/Hr/ReadonlyHr.js +95 -0
- package/dist/MarkdownEditor/editor/elements/Image/ReadonlyEditorImage.d.ts +35 -0
- package/dist/MarkdownEditor/editor/elements/Image/ReadonlyEditorImage.js +426 -0
- package/dist/MarkdownEditor/editor/elements/Image/index.js +38 -50
- package/dist/MarkdownEditor/editor/elements/InlineKatex/ReadonlyInlineKatex.d.ts +32 -0
- package/dist/MarkdownEditor/editor/elements/InlineKatex/ReadonlyInlineKatex.js +100 -0
- package/dist/MarkdownEditor/editor/elements/Katex/ReadonlyKatex.d.ts +32 -0
- package/dist/MarkdownEditor/editor/elements/Katex/ReadonlyKatex.js +110 -0
- package/dist/MarkdownEditor/editor/elements/LinkCard/ReadonlyLinkCard.d.ts +40 -0
- package/dist/MarkdownEditor/editor/elements/LinkCard/ReadonlyLinkCard.js +215 -0
- package/dist/MarkdownEditor/editor/elements/List/List.js +27 -12
- package/dist/MarkdownEditor/editor/elements/List/ReadonlyList.d.ts +33 -0
- package/dist/MarkdownEditor/editor/elements/List/ReadonlyList.js +93 -0
- package/dist/MarkdownEditor/editor/elements/List/ReadonlyListItem.d.ts +35 -0
- package/dist/MarkdownEditor/editor/elements/List/ReadonlyListItem.js +138 -0
- package/dist/MarkdownEditor/editor/elements/Media/ReadonlyMedia.d.ts +36 -0
- package/dist/MarkdownEditor/editor/elements/Media/ReadonlyMedia.js +600 -0
- package/dist/MarkdownEditor/editor/elements/Mermaid/ReadonlyMermaid.d.ts +32 -0
- package/dist/MarkdownEditor/editor/elements/Mermaid/ReadonlyMermaid.js +101 -0
- package/dist/MarkdownEditor/editor/elements/Paragraph/ReadonlyParagraph.d.ts +35 -0
- package/dist/MarkdownEditor/editor/elements/Paragraph/ReadonlyParagraph.js +109 -0
- package/dist/MarkdownEditor/editor/elements/Paragraph/index.js +2 -1
- package/dist/MarkdownEditor/editor/elements/Schema/ReadonlySchema.d.ts +33 -0
- package/dist/MarkdownEditor/editor/elements/Schema/ReadonlySchema.js +163 -0
- package/dist/MarkdownEditor/editor/elements/index.d.ts +20 -1
- package/dist/MarkdownEditor/editor/elements/index.js +65 -29
- package/dist/MarkdownEditor/editor/parser/parse/parseBlockElements.js +18 -10
- package/dist/MarkdownEditor/editor/parser/parserSlateNodeToMarkdown.js +64 -21
- package/dist/MarkdownEditor/editor/plugins/elements.js +60 -6
- package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/backspace.js +97 -39
- package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/tab.d.ts +14 -0
- package/dist/MarkdownEditor/editor/plugins/hotKeyCommands/tab.js +117 -90
- package/dist/MarkdownEditor/editor/plugins/index.d.ts +8 -0
- package/dist/MarkdownEditor/editor/plugins/index.js +8 -0
- package/dist/MarkdownEditor/editor/plugins/insertParsedHtmlNodes.d.ts +12 -6
- package/dist/MarkdownEditor/editor/plugins/insertParsedHtmlNodes.js +67 -42
- package/dist/MarkdownEditor/editor/plugins/utils.d.ts +31 -0
- package/dist/MarkdownEditor/editor/plugins/utils.js +75 -0
- package/dist/MarkdownEditor/editor/plugins/withCardPlugin.d.ts +15 -0
- package/dist/MarkdownEditor/editor/plugins/withCardPlugin.js +329 -0
- package/dist/MarkdownEditor/editor/plugins/withCodeTagPlugin.d.ts +11 -0
- package/dist/MarkdownEditor/editor/plugins/withCodeTagPlugin.js +299 -0
- package/dist/MarkdownEditor/editor/plugins/withInlineNodes.d.ts +12 -0
- package/dist/MarkdownEditor/editor/plugins/withInlineNodes.js +17 -0
- package/dist/MarkdownEditor/editor/plugins/withLinkAndMediaPlugin.d.ts +11 -0
- package/dist/MarkdownEditor/editor/plugins/withLinkAndMediaPlugin.js +70 -0
- package/dist/MarkdownEditor/editor/plugins/withListsPlugin.d.ts +23 -0
- package/dist/MarkdownEditor/editor/plugins/withListsPlugin.js +204 -0
- package/dist/MarkdownEditor/editor/plugins/withMarkdown.d.ts +9 -12
- package/dist/MarkdownEditor/editor/plugins/withMarkdown.js +17 -764
- package/dist/MarkdownEditor/editor/plugins/withSchemaPlugin.d.ts +11 -0
- package/dist/MarkdownEditor/editor/plugins/withSchemaPlugin.js +55 -0
- package/dist/MarkdownEditor/editor/plugins/withVoidNodes.d.ts +12 -0
- package/dist/MarkdownEditor/editor/plugins/withVoidNodes.js +17 -0
- package/dist/MarkdownEditor/editor/store.d.ts +0 -11
- package/dist/MarkdownEditor/editor/store.js +4 -112
- package/dist/MarkdownEditor/editor/utils/docx/module.js +41 -8
- package/dist/MarkdownEditor/editor/utils/editorCommands.d.ts +97 -0
- package/dist/MarkdownEditor/editor/utils/editorCommands.js +966 -0
- package/dist/MarkdownEditor/editor/utils/editorUtils.js +2 -2
- package/dist/MarkdownEditor/editor/utils/keyboard.js +15 -391
- package/dist/MarkdownEditor/el.d.ts +12 -5
- package/dist/MarkdownInputField/MarkdownInputField.js +10 -23
- package/dist/MarkdownInputField/style.js +9 -4
- 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
|
-
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
},
|
|
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
|
|
129
|
-
return jsx('element',
|
|
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
|
|
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',
|
|
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;
|