@ant-design/agentic-ui 2.29.7 → 2.29.8
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.js +1 -1
- 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 +8 -8
|
@@ -0,0 +1,125 @@
|
|
|
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
|
+
}
|
|
29
|
+
function ownKeys(object, enumerableOnly) {
|
|
30
|
+
var keys = Object.keys(object);
|
|
31
|
+
if (Object.getOwnPropertySymbols) {
|
|
32
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
33
|
+
if (enumerableOnly) {
|
|
34
|
+
symbols = symbols.filter(function(sym) {
|
|
35
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
keys.push.apply(keys, symbols);
|
|
39
|
+
}
|
|
40
|
+
return keys;
|
|
41
|
+
}
|
|
42
|
+
function _object_spread_props(target, source) {
|
|
43
|
+
source = source != null ? source : {};
|
|
44
|
+
if (Object.getOwnPropertyDescriptors) {
|
|
45
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
46
|
+
} else {
|
|
47
|
+
ownKeys(Object(source)).forEach(function(key) {
|
|
48
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
return target;
|
|
52
|
+
}
|
|
53
|
+
import { ExportOutlined } from "@ant-design/icons";
|
|
54
|
+
import React, { useMemo } from "react";
|
|
55
|
+
import { Node } from "slate";
|
|
56
|
+
import { debugInfo } from "../../../../Utils/debugUtils";
|
|
57
|
+
import { useEditorStore } from "../../store";
|
|
58
|
+
/**
|
|
59
|
+
* ReadonlyFootnoteDefinition 组件 - 只读脚注定义预览组件
|
|
60
|
+
*
|
|
61
|
+
* 专门针对 readonly 模式优化的脚注定义组件,移除了拖拽功能。
|
|
62
|
+
* 简化渲染逻辑,提升预览模式性能。
|
|
63
|
+
*
|
|
64
|
+
* @component
|
|
65
|
+
* @description 只读脚注定义预览组件,用于预览模式下的脚注定义渲染
|
|
66
|
+
* @param {ElementProps<FootnoteDefinitionNode>} props - 组件属性
|
|
67
|
+
* @param {FootnoteDefinitionNode} props.element - 脚注定义节点元素
|
|
68
|
+
* @param {React.ReactNode} props.children - 子组件内容
|
|
69
|
+
* @param {Object} props.attributes - 元素属性
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```tsx
|
|
73
|
+
* <ReadonlyFootnoteDefinition
|
|
74
|
+
* element={footnoteDefinitionNode}
|
|
75
|
+
* attributes={attributes}
|
|
76
|
+
* >
|
|
77
|
+
* 脚注内容
|
|
78
|
+
* </ReadonlyFootnoteDefinition>
|
|
79
|
+
* ```
|
|
80
|
+
*
|
|
81
|
+
* @returns {React.ReactElement} 渲染的只读脚注定义组件
|
|
82
|
+
*
|
|
83
|
+
* @remarks
|
|
84
|
+
* - 移除拖拽手柄(DragHandle)
|
|
85
|
+
* - 移除拖拽相关事件处理
|
|
86
|
+
* - 使用 React.memo 优化性能
|
|
87
|
+
* - 保持预览模式的视觉效果
|
|
88
|
+
*/ export var ReadonlyFootnoteDefinition = /*#__PURE__*/ React.memo(function(props) {
|
|
89
|
+
debugInfo('ReadonlyFootnoteDefinition - 渲染只读脚注定义', {
|
|
90
|
+
identifier: props.element.identifier,
|
|
91
|
+
url: props.element.url
|
|
92
|
+
});
|
|
93
|
+
var store = useEditorStore().store;
|
|
94
|
+
var element = props.element;
|
|
95
|
+
useMemo(function() {
|
|
96
|
+
debugInfo('ReadonlyFootnoteDefinition - 更新脚注定义映射', {
|
|
97
|
+
identifier: element.identifier
|
|
98
|
+
});
|
|
99
|
+
store.footnoteDefinitionMap = store.footnoteDefinitionMap.set(element.identifier, element);
|
|
100
|
+
}, [
|
|
101
|
+
element
|
|
102
|
+
]);
|
|
103
|
+
var str = Node.string(props.element);
|
|
104
|
+
debugInfo('ReadonlyFootnoteDefinition - 渲染', {
|
|
105
|
+
identifier: element.identifier,
|
|
106
|
+
strLength: str.length
|
|
107
|
+
});
|
|
108
|
+
return /*#__PURE__*/ React.createElement("div", _object_spread_props(_object_spread({}, props.attributes), {
|
|
109
|
+
style: {
|
|
110
|
+
fontSize: '12px',
|
|
111
|
+
margin: '5px 0',
|
|
112
|
+
display: 'flex',
|
|
113
|
+
gap: 4
|
|
114
|
+
},
|
|
115
|
+
"data-be": 'footnoteDefinition',
|
|
116
|
+
className: !str ? 'empty' : undefined
|
|
117
|
+
}), element.identifier, ".", /*#__PURE__*/ React.createElement("span", {
|
|
118
|
+
style: {
|
|
119
|
+
display: 'flex',
|
|
120
|
+
alignItems: 'center',
|
|
121
|
+
gap: 2
|
|
122
|
+
}
|
|
123
|
+
}, props.children, /*#__PURE__*/ React.createElement(ExportOutlined, null)));
|
|
124
|
+
});
|
|
125
|
+
ReadonlyFootnoteDefinition.displayName = 'ReadonlyFootnoteDefinition';
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ElementProps, FootnoteDefinitionNode } from '../../../el';
|
|
3
|
+
/**
|
|
4
|
+
* ReadonlyFootnoteReference 组件 - 只读脚注引用预览组件
|
|
5
|
+
*
|
|
6
|
+
* 专门针对 readonly 模式优化的脚注引用组件,移除了拖拽功能。
|
|
7
|
+
* 简化渲染逻辑,提升预览模式性能。
|
|
8
|
+
*
|
|
9
|
+
* @component
|
|
10
|
+
* @description 只读脚注引用预览组件,用于预览模式下的脚注引用渲染
|
|
11
|
+
* @param {ElementProps<FootnoteDefinitionNode>} props - 组件属性
|
|
12
|
+
* @param {FootnoteDefinitionNode} props.element - 脚注引用节点元素
|
|
13
|
+
* @param {React.ReactNode} props.children - 子组件内容
|
|
14
|
+
* @param {Object} props.attributes - 元素属性
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```tsx
|
|
18
|
+
* <ReadonlyFootnoteReference
|
|
19
|
+
* element={footnoteReferenceNode}
|
|
20
|
+
* attributes={attributes}
|
|
21
|
+
* >
|
|
22
|
+
* 引用内容
|
|
23
|
+
* </ReadonlyFootnoteReference>
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* @returns {React.ReactElement} 渲染的只读脚注引用组件
|
|
27
|
+
*
|
|
28
|
+
* @remarks
|
|
29
|
+
* - 移除拖拽手柄(DragHandle)
|
|
30
|
+
* - 移除拖拽相关事件处理
|
|
31
|
+
* - 使用 React.memo 优化性能
|
|
32
|
+
* - 保持预览模式的视觉效果
|
|
33
|
+
*/
|
|
34
|
+
export declare const ReadonlyFootnoteReference: React.FC<ElementProps<FootnoteDefinitionNode>>;
|
|
@@ -0,0 +1,101 @@
|
|
|
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
|
+
}
|
|
29
|
+
function ownKeys(object, enumerableOnly) {
|
|
30
|
+
var keys = Object.keys(object);
|
|
31
|
+
if (Object.getOwnPropertySymbols) {
|
|
32
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
33
|
+
if (enumerableOnly) {
|
|
34
|
+
symbols = symbols.filter(function(sym) {
|
|
35
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
keys.push.apply(keys, symbols);
|
|
39
|
+
}
|
|
40
|
+
return keys;
|
|
41
|
+
}
|
|
42
|
+
function _object_spread_props(target, source) {
|
|
43
|
+
source = source != null ? source : {};
|
|
44
|
+
if (Object.getOwnPropertyDescriptors) {
|
|
45
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
46
|
+
} else {
|
|
47
|
+
ownKeys(Object(source)).forEach(function(key) {
|
|
48
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
return target;
|
|
52
|
+
}
|
|
53
|
+
import React from "react";
|
|
54
|
+
import { Node } from "slate";
|
|
55
|
+
import { debugInfo } from "../../../../Utils/debugUtils";
|
|
56
|
+
/**
|
|
57
|
+
* ReadonlyFootnoteReference 组件 - 只读脚注引用预览组件
|
|
58
|
+
*
|
|
59
|
+
* 专门针对 readonly 模式优化的脚注引用组件,移除了拖拽功能。
|
|
60
|
+
* 简化渲染逻辑,提升预览模式性能。
|
|
61
|
+
*
|
|
62
|
+
* @component
|
|
63
|
+
* @description 只读脚注引用预览组件,用于预览模式下的脚注引用渲染
|
|
64
|
+
* @param {ElementProps<FootnoteDefinitionNode>} props - 组件属性
|
|
65
|
+
* @param {FootnoteDefinitionNode} props.element - 脚注引用节点元素
|
|
66
|
+
* @param {React.ReactNode} props.children - 子组件内容
|
|
67
|
+
* @param {Object} props.attributes - 元素属性
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* ```tsx
|
|
71
|
+
* <ReadonlyFootnoteReference
|
|
72
|
+
* element={footnoteReferenceNode}
|
|
73
|
+
* attributes={attributes}
|
|
74
|
+
* >
|
|
75
|
+
* 引用内容
|
|
76
|
+
* </ReadonlyFootnoteReference>
|
|
77
|
+
* ```
|
|
78
|
+
*
|
|
79
|
+
* @returns {React.ReactElement} 渲染的只读脚注引用组件
|
|
80
|
+
*
|
|
81
|
+
* @remarks
|
|
82
|
+
* - 移除拖拽手柄(DragHandle)
|
|
83
|
+
* - 移除拖拽相关事件处理
|
|
84
|
+
* - 使用 React.memo 优化性能
|
|
85
|
+
* - 保持预览模式的视觉效果
|
|
86
|
+
*/ export var ReadonlyFootnoteReference = /*#__PURE__*/ React.memo(function(props) {
|
|
87
|
+
debugInfo('ReadonlyFootnoteReference - 渲染只读脚注引用', {
|
|
88
|
+
identifier: props.element.identifier
|
|
89
|
+
});
|
|
90
|
+
var str = Node.string(props.element);
|
|
91
|
+
debugInfo('ReadonlyFootnoteReference - 渲染', {
|
|
92
|
+
identifier: props.element.identifier,
|
|
93
|
+
strLength: str.length
|
|
94
|
+
});
|
|
95
|
+
return /*#__PURE__*/ React.createElement("p", _object_spread_props(_object_spread({}, props.attributes), {
|
|
96
|
+
"data-be": 'paragraph',
|
|
97
|
+
"data-testid": "footnote-reference",
|
|
98
|
+
className: !str ? 'empty' : undefined
|
|
99
|
+
}), props.children);
|
|
100
|
+
});
|
|
101
|
+
ReadonlyFootnoteReference.displayName = 'ReadonlyFootnoteReference';
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ElementProps, HeadNode } from '../../../el';
|
|
3
|
+
/**
|
|
4
|
+
* ReadonlyHead 组件 - 只读标题预览组件
|
|
5
|
+
*
|
|
6
|
+
* 专门针对 readonly 模式优化的标题组件,移除了拖拽功能,保留标题样式和锚点。
|
|
7
|
+
* 简化渲染逻辑,提升预览模式性能。
|
|
8
|
+
*
|
|
9
|
+
* @component
|
|
10
|
+
* @description 只读标题预览组件,用于预览模式下的标题渲染
|
|
11
|
+
* @param {ElementProps<HeadNode>} props - 组件属性
|
|
12
|
+
* @param {HeadNode} props.element - 标题节点元素
|
|
13
|
+
* @param {React.ReactNode} props.children - 子组件内容
|
|
14
|
+
* @param {Object} props.attributes - 元素属性
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```tsx
|
|
18
|
+
* <ReadonlyHead
|
|
19
|
+
* element={headNode}
|
|
20
|
+
* attributes={attributes}
|
|
21
|
+
* >
|
|
22
|
+
* 标题内容
|
|
23
|
+
* </ReadonlyHead>
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* @returns {React.ReactElement} 渲染的只读标题组件
|
|
27
|
+
*
|
|
28
|
+
* @remarks
|
|
29
|
+
* - 移除拖拽手柄(DragHandle)
|
|
30
|
+
* - 移除拖拽相关事件处理
|
|
31
|
+
* - 保留锚点功能(id 属性)
|
|
32
|
+
* - 使用 React.memo 优化性能
|
|
33
|
+
* - 保持预览模式的视觉效果
|
|
34
|
+
*/
|
|
35
|
+
export declare const ReadonlyHead: React.FC<ElementProps<HeadNode>>;
|
|
@@ -0,0 +1,111 @@
|
|
|
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
|
+
}
|
|
29
|
+
function ownKeys(object, enumerableOnly) {
|
|
30
|
+
var keys = Object.keys(object);
|
|
31
|
+
if (Object.getOwnPropertySymbols) {
|
|
32
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
33
|
+
if (enumerableOnly) {
|
|
34
|
+
symbols = symbols.filter(function(sym) {
|
|
35
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
keys.push.apply(keys, symbols);
|
|
39
|
+
}
|
|
40
|
+
return keys;
|
|
41
|
+
}
|
|
42
|
+
function _object_spread_props(target, source) {
|
|
43
|
+
source = source != null ? source : {};
|
|
44
|
+
if (Object.getOwnPropertyDescriptors) {
|
|
45
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
46
|
+
} else {
|
|
47
|
+
ownKeys(Object(source)).forEach(function(key) {
|
|
48
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
return target;
|
|
52
|
+
}
|
|
53
|
+
import classNames from "classnames";
|
|
54
|
+
import React, { createElement } from "react";
|
|
55
|
+
import { Node } from "slate";
|
|
56
|
+
import { debugInfo } from "../../../../Utils/debugUtils";
|
|
57
|
+
import { slugify } from "../../utils/dom";
|
|
58
|
+
/**
|
|
59
|
+
* ReadonlyHead 组件 - 只读标题预览组件
|
|
60
|
+
*
|
|
61
|
+
* 专门针对 readonly 模式优化的标题组件,移除了拖拽功能,保留标题样式和锚点。
|
|
62
|
+
* 简化渲染逻辑,提升预览模式性能。
|
|
63
|
+
*
|
|
64
|
+
* @component
|
|
65
|
+
* @description 只读标题预览组件,用于预览模式下的标题渲染
|
|
66
|
+
* @param {ElementProps<HeadNode>} props - 组件属性
|
|
67
|
+
* @param {HeadNode} props.element - 标题节点元素
|
|
68
|
+
* @param {React.ReactNode} props.children - 子组件内容
|
|
69
|
+
* @param {Object} props.attributes - 元素属性
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```tsx
|
|
73
|
+
* <ReadonlyHead
|
|
74
|
+
* element={headNode}
|
|
75
|
+
* attributes={attributes}
|
|
76
|
+
* >
|
|
77
|
+
* 标题内容
|
|
78
|
+
* </ReadonlyHead>
|
|
79
|
+
* ```
|
|
80
|
+
*
|
|
81
|
+
* @returns {React.ReactElement} 渲染的只读标题组件
|
|
82
|
+
*
|
|
83
|
+
* @remarks
|
|
84
|
+
* - 移除拖拽手柄(DragHandle)
|
|
85
|
+
* - 移除拖拽相关事件处理
|
|
86
|
+
* - 保留锚点功能(id 属性)
|
|
87
|
+
* - 使用 React.memo 优化性能
|
|
88
|
+
* - 保持预览模式的视觉效果
|
|
89
|
+
*/ export var ReadonlyHead = /*#__PURE__*/ React.memo(function(param) {
|
|
90
|
+
var element = param.element, attributes = param.attributes, children = param.children;
|
|
91
|
+
var _Node_string;
|
|
92
|
+
debugInfo('ReadonlyHead - 渲染只读标题', {
|
|
93
|
+
level: element.level,
|
|
94
|
+
text: (_Node_string = Node.string(element)) === null || _Node_string === void 0 ? void 0 : _Node_string.substring(0, 50),
|
|
95
|
+
align: element.align
|
|
96
|
+
});
|
|
97
|
+
var str = Node.string(element);
|
|
98
|
+
debugInfo('ReadonlyHead - 渲染', {
|
|
99
|
+
level: element.level,
|
|
100
|
+
str: str === null || str === void 0 ? void 0 : str.substring(0, 50)
|
|
101
|
+
});
|
|
102
|
+
var _obj;
|
|
103
|
+
return /*#__PURE__*/ createElement("h".concat(element.level), _object_spread_props(_object_spread({}, attributes), (_obj = {
|
|
104
|
+
id: slugify(str)
|
|
105
|
+
}, _define_property(_obj, 'data-be', 'head'), _define_property(_obj, 'data-head', slugify(Node.string(element) || '')), _define_property(_obj, 'data-title', true), _define_property(_obj, 'data-align', element.align), _define_property(_obj, "style", {
|
|
106
|
+
textAlign: element.align
|
|
107
|
+
}), _define_property(_obj, "className", classNames({
|
|
108
|
+
empty: !str
|
|
109
|
+
})), _obj)), children);
|
|
110
|
+
});
|
|
111
|
+
ReadonlyHead.displayName = 'ReadonlyHead';
|
|
@@ -9,6 +9,9 @@ export declare function Head({ element, attributes, children, }: ElementProps<He
|
|
|
9
9
|
"data-empty": string | undefined;
|
|
10
10
|
"data-align": ("center" | "left" | "right") | undefined;
|
|
11
11
|
"data-drag-el": boolean;
|
|
12
|
+
style: {
|
|
13
|
+
textAlign: ("center" | "left" | "right") | undefined;
|
|
14
|
+
};
|
|
12
15
|
className: string;
|
|
13
16
|
'data-slate-node': "element";
|
|
14
17
|
'data-slate-inline'?: true | undefined;
|
|
@@ -130,7 +130,9 @@ export function Head(param) {
|
|
|
130
130
|
level: element.level
|
|
131
131
|
});
|
|
132
132
|
store.dragStart(e, markdownContainerRef.current);
|
|
133
|
-
}), _define_property(_obj, 'data-empty', !str && selected ? 'true' : undefined), _define_property(_obj, 'data-align', element.align), _define_property(_obj, 'data-drag-el', true), _define_property(_obj, "
|
|
133
|
+
}), _define_property(_obj, 'data-empty', !str && selected ? 'true' : undefined), _define_property(_obj, 'data-align', element.align), _define_property(_obj, 'data-drag-el', true), _define_property(_obj, "style", {
|
|
134
|
+
textAlign: element.align
|
|
135
|
+
}), _define_property(_obj, "className", classNames({
|
|
134
136
|
empty: !str
|
|
135
137
|
})), _obj)), /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement(DragHandle, null), children));
|
|
136
138
|
}, [
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { RenderElementProps } from 'slate-react';
|
|
3
|
+
/**
|
|
4
|
+
* ReadonlyHr 组件 - 只读分割线预览组件
|
|
5
|
+
*
|
|
6
|
+
* 专门针对 readonly 模式优化的分割线组件。
|
|
7
|
+
* 简化渲染逻辑,提升预览模式性能。
|
|
8
|
+
*
|
|
9
|
+
* @component
|
|
10
|
+
* @description 只读分割线预览组件,用于预览模式下的分割线渲染
|
|
11
|
+
* @param {RenderElementProps} props - 组件属性
|
|
12
|
+
* @param {React.ReactNode} props.children - 子组件内容
|
|
13
|
+
* @param {Object} props.attributes - 元素属性
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```tsx
|
|
17
|
+
* <ReadonlyHr
|
|
18
|
+
* attributes={attributes}
|
|
19
|
+
* >
|
|
20
|
+
* 内容
|
|
21
|
+
* </ReadonlyHr>
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* @returns {React.ReactElement} 渲染的只读分割线组件
|
|
25
|
+
*
|
|
26
|
+
* @remarks
|
|
27
|
+
* - 使用 React.memo 优化性能
|
|
28
|
+
* - 保持预览模式的视觉效果
|
|
29
|
+
*/
|
|
30
|
+
export declare const ReadonlyHr: React.FC<RenderElementProps>;
|
|
@@ -0,0 +1,95 @@
|
|
|
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
|
+
}
|
|
29
|
+
function ownKeys(object, enumerableOnly) {
|
|
30
|
+
var keys = Object.keys(object);
|
|
31
|
+
if (Object.getOwnPropertySymbols) {
|
|
32
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
33
|
+
if (enumerableOnly) {
|
|
34
|
+
symbols = symbols.filter(function(sym) {
|
|
35
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
keys.push.apply(keys, symbols);
|
|
39
|
+
}
|
|
40
|
+
return keys;
|
|
41
|
+
}
|
|
42
|
+
function _object_spread_props(target, source) {
|
|
43
|
+
source = source != null ? source : {};
|
|
44
|
+
if (Object.getOwnPropertyDescriptors) {
|
|
45
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
46
|
+
} else {
|
|
47
|
+
ownKeys(Object(source)).forEach(function(key) {
|
|
48
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
return target;
|
|
52
|
+
}
|
|
53
|
+
import React from "react";
|
|
54
|
+
import { debugInfo } from "../../../../Utils/debugUtils";
|
|
55
|
+
/**
|
|
56
|
+
* ReadonlyHr 组件 - 只读分割线预览组件
|
|
57
|
+
*
|
|
58
|
+
* 专门针对 readonly 模式优化的分割线组件。
|
|
59
|
+
* 简化渲染逻辑,提升预览模式性能。
|
|
60
|
+
*
|
|
61
|
+
* @component
|
|
62
|
+
* @description 只读分割线预览组件,用于预览模式下的分割线渲染
|
|
63
|
+
* @param {RenderElementProps} props - 组件属性
|
|
64
|
+
* @param {React.ReactNode} props.children - 子组件内容
|
|
65
|
+
* @param {Object} props.attributes - 元素属性
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```tsx
|
|
69
|
+
* <ReadonlyHr
|
|
70
|
+
* attributes={attributes}
|
|
71
|
+
* >
|
|
72
|
+
* 内容
|
|
73
|
+
* </ReadonlyHr>
|
|
74
|
+
* ```
|
|
75
|
+
*
|
|
76
|
+
* @returns {React.ReactElement} 渲染的只读分割线组件
|
|
77
|
+
*
|
|
78
|
+
* @remarks
|
|
79
|
+
* - 使用 React.memo 优化性能
|
|
80
|
+
* - 保持预览模式的视觉效果
|
|
81
|
+
*/ export var ReadonlyHr = /*#__PURE__*/ React.memo(function(param) {
|
|
82
|
+
var attributes = param.attributes, children = param.children;
|
|
83
|
+
debugInfo('ReadonlyHr - 渲染只读分割线');
|
|
84
|
+
return /*#__PURE__*/ React.createElement("div", _object_spread_props(_object_spread({}, attributes), {
|
|
85
|
+
contentEditable: false,
|
|
86
|
+
className: 'select-none',
|
|
87
|
+
style: {
|
|
88
|
+
height: '1px',
|
|
89
|
+
backgroundColor: 'rgb(229 231 235 / 1)',
|
|
90
|
+
margin: '2em 0',
|
|
91
|
+
border: 'none'
|
|
92
|
+
}
|
|
93
|
+
}), children);
|
|
94
|
+
});
|
|
95
|
+
ReadonlyHr.displayName = 'ReadonlyHr';
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ElementProps, MediaNode } from '../../../el';
|
|
3
|
+
/**
|
|
4
|
+
* ReadonlyEditorImage 组件 - 只读图片预览组件
|
|
5
|
+
*
|
|
6
|
+
* 专门针对 readonly 模式优化的图片组件,移除了调整大小、选择等编辑相关功能。
|
|
7
|
+
* 简化渲染逻辑,提升预览模式性能。
|
|
8
|
+
*
|
|
9
|
+
* @component
|
|
10
|
+
* @description 只读图片预览组件,用于预览模式下的图片渲染
|
|
11
|
+
* @param {ElementProps<MediaNode>} props - 组件属性
|
|
12
|
+
* @param {MediaNode} props.element - 图片节点元素
|
|
13
|
+
* @param {React.ReactNode} props.children - 子组件内容
|
|
14
|
+
* @param {Object} props.attributes - 元素属性
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```tsx
|
|
18
|
+
* <ReadonlyEditorImage
|
|
19
|
+
* element={imageNode}
|
|
20
|
+
* attributes={attributes}
|
|
21
|
+
* >
|
|
22
|
+
* 内容
|
|
23
|
+
* </ReadonlyEditorImage>
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* @returns {React.ReactElement} 渲染的只读图片组件
|
|
27
|
+
*
|
|
28
|
+
* @remarks
|
|
29
|
+
* - 移除调整大小功能
|
|
30
|
+
* - 移除选择状态管理
|
|
31
|
+
* - 保留加载状态和错误处理
|
|
32
|
+
* - 使用 React.memo 优化性能
|
|
33
|
+
* - 保持预览模式的视觉效果
|
|
34
|
+
*/
|
|
35
|
+
export declare const ReadonlyEditorImage: React.FC<ElementProps<MediaNode>>;
|