@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.
Files changed (83) 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.js +1 -1
  75. package/dist/MarkdownEditor/editor/utils/docx/module.js +41 -8
  76. package/dist/MarkdownEditor/editor/utils/editorCommands.d.ts +97 -0
  77. package/dist/MarkdownEditor/editor/utils/editorCommands.js +966 -0
  78. package/dist/MarkdownEditor/editor/utils/editorUtils.js +2 -2
  79. package/dist/MarkdownEditor/editor/utils/keyboard.js +15 -391
  80. package/dist/MarkdownEditor/el.d.ts +12 -5
  81. package/dist/MarkdownInputField/MarkdownInputField.js +10 -23
  82. package/dist/MarkdownInputField/style.js +9 -4
  83. package/package.json +8 -8
@@ -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 { ConfigProvider } from "antd";
54
+ import classNames from "classnames";
55
+ import React, { useContext } from "react";
56
+ import { debugInfo } from "../../../../Utils/debugUtils";
57
+ import { useStyle } from "./style";
58
+ /**
59
+ * ReadonlyMermaid 组件 - 只读 Mermaid 图表预览组件
60
+ *
61
+ * 专门针对 readonly 模式优化的 Mermaid 图表组件。
62
+ * 简化渲染逻辑,提升预览模式性能。
63
+ *
64
+ * @component
65
+ * @description 只读 Mermaid 图表预览组件,用于预览模式下的 Mermaid 图表渲染
66
+ * @param {RenderElementProps} props - 组件属性
67
+ * @param {any} props.element - Mermaid 图表节点元素
68
+ * @param {React.ReactNode} props.children - 子组件内容
69
+ * @param {Object} props.attributes - 元素属性
70
+ *
71
+ * @example
72
+ * ```tsx
73
+ * <ReadonlyMermaid
74
+ * element={mermaidNode}
75
+ * attributes={attributes}
76
+ * >
77
+ * 图表内容
78
+ * </ReadonlyMermaid>
79
+ * ```
80
+ *
81
+ * @returns {React.ReactElement} 渲染的只读 Mermaid 图表组件
82
+ *
83
+ * @remarks
84
+ * - 使用 React.memo 优化性能
85
+ * - 保持预览模式的视觉效果
86
+ */ export var ReadonlyMermaid = /*#__PURE__*/ React.memo(function(param) {
87
+ var attributes = param.attributes, children = param.children, element = param.element;
88
+ var _element_otherProps, _element_value, _element_otherProps1;
89
+ debugInfo('ReadonlyMermaid - 渲染只读 Mermaid 图表', {
90
+ hasError: (element === null || element === void 0 ? void 0 : (_element_otherProps = element.otherProps) === null || _element_otherProps === void 0 ? void 0 : _element_otherProps.error) === true,
91
+ valueLength: element === null || element === void 0 ? void 0 : (_element_value = element.value) === null || _element_value === void 0 ? void 0 : _element_value.length
92
+ });
93
+ var context = useContext(ConfigProvider.ConfigContext);
94
+ var baseCls = context === null || context === void 0 ? void 0 : context.getPrefixCls('agentic-md-editor-mermaid');
95
+ var _useStyle = useStyle(baseCls), wrapSSR = _useStyle.wrapSSR, hashId = _useStyle.hashId;
96
+ var hasError = (element === null || element === void 0 ? void 0 : (_element_otherProps1 = element.otherProps) === null || _element_otherProps1 === void 0 ? void 0 : _element_otherProps1.error) === true;
97
+ return wrapSSR(/*#__PURE__*/ React.createElement("pre", _object_spread_props(_object_spread({}, attributes), {
98
+ className: classNames(baseCls, hashId, _define_property({}, "".concat(baseCls, "-error"), hasError))
99
+ }), /*#__PURE__*/ React.createElement("code", null, children)));
100
+ });
101
+ ReadonlyMermaid.displayName = 'ReadonlyMermaid';
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ import { ElementProps, ParagraphNode } from '../../../el';
3
+ /**
4
+ * ReadonlyParagraph 组件 - 只读段落预览组件
5
+ *
6
+ * 专门针对 readonly 模式优化的段落组件,移除了拖拽手柄、占位符逻辑等编辑相关功能。
7
+ * 简化渲染逻辑,提升预览模式性能。
8
+ *
9
+ * @component
10
+ * @description 只读段落预览组件,用于预览模式下的段落渲染
11
+ * @param {ElementProps<ParagraphNode>} props - 组件属性
12
+ * @param {ParagraphNode} props.element - 段落节点元素
13
+ * @param {React.ReactNode} props.children - 子组件内容
14
+ * @param {Object} props.attributes - 元素属性
15
+ *
16
+ * @example
17
+ * ```tsx
18
+ * <ReadonlyParagraph
19
+ * element={paragraphNode}
20
+ * attributes={attributes}
21
+ * >
22
+ * 段落内容
23
+ * </ReadonlyParagraph>
24
+ * ```
25
+ *
26
+ * @returns {React.ReactElement} 渲染的只读段落组件
27
+ *
28
+ * @remarks
29
+ * - 移除拖拽手柄(DragHandle)
30
+ * - 移除占位符逻辑
31
+ * - 移除拖拽相关事件处理
32
+ * - 使用 React.memo 优化性能
33
+ * - 保持预览模式的视觉效果
34
+ */
35
+ export declare const ReadonlyParagraph: React.FC<ElementProps<ParagraphNode>>;
@@ -0,0 +1,109 @@
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 from "react";
55
+ import { Node } from "slate";
56
+ import { debugInfo } from "../../../../Utils/debugUtils";
57
+ /**
58
+ * ReadonlyParagraph 组件 - 只读段落预览组件
59
+ *
60
+ * 专门针对 readonly 模式优化的段落组件,移除了拖拽手柄、占位符逻辑等编辑相关功能。
61
+ * 简化渲染逻辑,提升预览模式性能。
62
+ *
63
+ * @component
64
+ * @description 只读段落预览组件,用于预览模式下的段落渲染
65
+ * @param {ElementProps<ParagraphNode>} props - 组件属性
66
+ * @param {ParagraphNode} props.element - 段落节点元素
67
+ * @param {React.ReactNode} props.children - 子组件内容
68
+ * @param {Object} props.attributes - 元素属性
69
+ *
70
+ * @example
71
+ * ```tsx
72
+ * <ReadonlyParagraph
73
+ * element={paragraphNode}
74
+ * attributes={attributes}
75
+ * >
76
+ * 段落内容
77
+ * </ReadonlyParagraph>
78
+ * ```
79
+ *
80
+ * @returns {React.ReactElement} 渲染的只读段落组件
81
+ *
82
+ * @remarks
83
+ * - 移除拖拽手柄(DragHandle)
84
+ * - 移除占位符逻辑
85
+ * - 移除拖拽相关事件处理
86
+ * - 使用 React.memo 优化性能
87
+ * - 保持预览模式的视觉效果
88
+ */ export var ReadonlyParagraph = /*#__PURE__*/ React.memo(function(props) {
89
+ var _props_children;
90
+ debugInfo('ReadonlyParagraph - 渲染只读段落', {
91
+ align: props.element.align,
92
+ children: props.element.children
93
+ });
94
+ var str = Node.string(props.element).trim();
95
+ debugInfo('ReadonlyParagraph - useMemo 渲染', {
96
+ strLength: str.length,
97
+ align: props.element.align
98
+ });
99
+ return /*#__PURE__*/ React.createElement("div", _object_spread_props(_object_spread({}, props.attributes), {
100
+ "data-be": 'paragraph',
101
+ className: classNames({}),
102
+ "data-align": props.element.align,
103
+ style: {
104
+ display: !!str || !!((_props_children = props.children) === null || _props_children === void 0 ? void 0 : _props_children.at(0).type) ? undefined : 'none',
105
+ textAlign: props.element.align
106
+ }
107
+ }), props.children);
108
+ });
109
+ ReadonlyParagraph.displayName = 'ReadonlyParagraph';
@@ -145,7 +145,8 @@ export var Paragraph = function(props) {
145
145
  },
146
146
  "data-empty": isEmpty,
147
147
  style: {
148
- display: !!str || !!((_props_children = props.children) === null || _props_children === void 0 ? void 0 : _props_children.at(0).type) ? undefined : 'none'
148
+ display: !!str || !!((_props_children = props.children) === null || _props_children === void 0 ? void 0 : _props_children.at(0).type) ? undefined : 'none',
149
+ textAlign: props.element.align
149
150
  }
150
151
  }), /*#__PURE__*/ React.createElement(DragHandle, null), props.children);
151
152
  }, [
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import { RenderElementProps } from 'slate-react';
3
+ /**
4
+ * ReadonlySchema 组件 - 只读模式渲染组件
5
+ *
6
+ * 专门针对 readonly 模式优化的模式组件,移除了编辑相关功能。
7
+ * 简化渲染逻辑,提升预览模式性能。
8
+ *
9
+ * @component
10
+ * @description 只读模式预览组件,用于预览模式下的模式渲染
11
+ * @param {RenderElementProps} props - 组件属性
12
+ * @param {any} props.element - 模式节点元素
13
+ * @param {React.ReactNode} props.children - 子组件内容
14
+ * @param {Object} props.attributes - 元素属性
15
+ *
16
+ * @example
17
+ * ```tsx
18
+ * <ReadonlySchema
19
+ * element={schemaNode}
20
+ * attributes={attributes}
21
+ * >
22
+ * 模式内容
23
+ * </ReadonlySchema>
24
+ * ```
25
+ *
26
+ * @returns {React.ReactElement} 渲染的只读模式组件
27
+ *
28
+ * @remarks
29
+ * - 移除编辑相关功能
30
+ * - 使用 React.memo 优化性能
31
+ * - 保持预览模式的视觉效果
32
+ */
33
+ export declare const ReadonlySchema: React.FC<RenderElementProps>;
@@ -0,0 +1,163 @@
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
+ function _type_of(obj) {
54
+ "@swc/helpers - typeof";
55
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
56
+ }
57
+ import React, { useContext } from "react";
58
+ import { BubbleConfigContext } from "../../../../Bubble/BubbleConfigProvide";
59
+ import { SchemaRenderer } from "../../../../Schema";
60
+ import { debugInfo } from "../../../../Utils/debugUtils";
61
+ import { useEditorStore } from "../../store";
62
+ /**
63
+ * ReadonlySchema 组件 - 只读模式渲染组件
64
+ *
65
+ * 专门针对 readonly 模式优化的模式组件,移除了编辑相关功能。
66
+ * 简化渲染逻辑,提升预览模式性能。
67
+ *
68
+ * @component
69
+ * @description 只读模式预览组件,用于预览模式下的模式渲染
70
+ * @param {RenderElementProps} props - 组件属性
71
+ * @param {any} props.element - 模式节点元素
72
+ * @param {React.ReactNode} props.children - 子组件内容
73
+ * @param {Object} props.attributes - 元素属性
74
+ *
75
+ * @example
76
+ * ```tsx
77
+ * <ReadonlySchema
78
+ * element={schemaNode}
79
+ * attributes={attributes}
80
+ * >
81
+ * 模式内容
82
+ * </ReadonlySchema>
83
+ * ```
84
+ *
85
+ * @returns {React.ReactElement} 渲染的只读模式组件
86
+ *
87
+ * @remarks
88
+ * - 移除编辑相关功能
89
+ * - 使用 React.memo 优化性能
90
+ * - 保持预览模式的视觉效果
91
+ */ export var ReadonlySchema = /*#__PURE__*/ React.memo(function(props) {
92
+ debugInfo('ReadonlySchema - 渲染只读 Schema', {
93
+ language: props.element.language,
94
+ valueType: _type_of(props.element.value),
95
+ hasApaasify: !!props.element.apaasify
96
+ });
97
+ var node = props.element;
98
+ var editorProps = useEditorStore().editorProps;
99
+ var apaasify = (editorProps === null || editorProps === void 0 ? void 0 : editorProps.apaasify) || (editorProps === null || editorProps === void 0 ? void 0 : editorProps.apassify);
100
+ var bubble = (useContext(BubbleConfigContext) || {}).bubble;
101
+ if ((apaasify === null || apaasify === void 0 ? void 0 : apaasify.enable) && apaasify.render) {
102
+ debugInfo('ReadonlySchema - 使用自定义 apaasify 渲染');
103
+ var renderedContent = apaasify.render(props, bubble === null || bubble === void 0 ? void 0 : bubble.originData);
104
+ return /*#__PURE__*/ React.createElement("div", _object_spread_props(_object_spread({}, node.attributes), {
105
+ "data-testid": "schema-container",
106
+ contentEditable: false,
107
+ style: {
108
+ display: 'flex',
109
+ flexDirection: 'column',
110
+ userSelect: 'text',
111
+ WebkitUserSelect: 'text'
112
+ }
113
+ }), renderedContent, /*#__PURE__*/ React.createElement("div", {
114
+ "data-testid": "schema-hidden-json",
115
+ style: {
116
+ height: 1,
117
+ opacity: 0,
118
+ userSelect: 'none',
119
+ pointerEvents: 'none',
120
+ overflow: 'hidden'
121
+ }
122
+ }, JSON.stringify(props.element.value, null, 2)));
123
+ }
124
+ if (node.language === 'agentar-card') {
125
+ var _props_element_value;
126
+ debugInfo('ReadonlySchema - 使用 AgentAR 卡片渲染');
127
+ return /*#__PURE__*/ React.createElement("div", {
128
+ "data-testid": "agentar-card-container",
129
+ style: {
130
+ padding: '0.5em'
131
+ },
132
+ "data-agentar-card": true
133
+ }, /*#__PURE__*/ React.createElement(SchemaRenderer, {
134
+ schema: props.element.value,
135
+ values: ((_props_element_value = props.element.value) === null || _props_element_value === void 0 ? void 0 : _props_element_value.initialValues) || {},
136
+ useDefaultValues: false,
137
+ debug: false,
138
+ fallbackContent: null
139
+ }));
140
+ }
141
+ debugInfo('ReadonlySchema - 使用默认 JSON 渲染');
142
+ return /*#__PURE__*/ React.createElement("pre", _object_spread_props(_object_spread({}, props.attributes), {
143
+ style: {
144
+ background: 'rgb(242, 241, 241)',
145
+ color: 'rgb(27, 27, 27)',
146
+ padding: '1em',
147
+ borderRadius: '0.5em',
148
+ margin: '1em 0',
149
+ fontSize: '0.8em',
150
+ fontFamily: 'monospace',
151
+ lineHeight: '1.5',
152
+ overflowX: 'auto',
153
+ whiteSpace: 'pre-wrap',
154
+ wordBreak: 'break-all',
155
+ wordWrap: 'break-word'
156
+ }
157
+ }), /*#__PURE__*/ React.createElement("code", null, JSON.stringify(props.element.value, null, 2)), /*#__PURE__*/ React.createElement("div", {
158
+ style: {
159
+ display: 'none'
160
+ }
161
+ }, props.children));
162
+ });
163
+ ReadonlySchema.displayName = 'ReadonlySchema';
@@ -2,17 +2,36 @@ import React from 'react';
2
2
  import { RenderElementProps, RenderLeafProps } from 'slate-react';
3
3
  import { MarkdownEditorProps } from '../../types';
4
4
  import { Blockquote } from './Blockquote';
5
+ import { ReadonlyBlockquote } from './Blockquote/ReadonlyBlockquote';
5
6
  import { Break } from './Break';
7
+ import { ReadonlyBreak } from './Break/ReadonlyBreak';
8
+ import { ReadonlyCard } from './Card/ReadonlyCard';
6
9
  import { Code } from './Code';
10
+ import { ReadonlyCode } from './Code/ReadonlyCode';
11
+ import { ReadonlyFootnoteDefinition } from './FootnoteDefinition/ReadonlyFootnoteDefinition';
12
+ import { ReadonlyFootnoteReference } from './FootnoteReference/ReadonlyFootnoteReference';
7
13
  import { Head } from './Head';
14
+ import { ReadonlyHead } from './Head/ReadonlyHead';
8
15
  import { Hr } from './Hr';
16
+ import { ReadonlyHr } from './Hr/ReadonlyHr';
17
+ import { ReadonlyEditorImage } from './Image/ReadonlyEditorImage';
9
18
  import { InlineKatex } from './InlineKatex';
19
+ import { ReadonlyInlineKatex } from './InlineKatex/ReadonlyInlineKatex';
10
20
  import { Katex } from './Katex';
21
+ import { ReadonlyKatex } from './Katex/ReadonlyKatex';
22
+ import { ReadonlyLinkCard } from './LinkCard/ReadonlyLinkCard';
11
23
  import { List, ListItem } from './List';
24
+ import { ReadonlyList } from './List/ReadonlyList';
25
+ import { ReadonlyListItem } from './List/ReadonlyListItem';
12
26
  import { Media } from './Media';
27
+ import { ReadonlyMedia } from './Media/ReadonlyMedia';
13
28
  import { Mermaid } from './Mermaid';
29
+ import { ReadonlyMermaid } from './Mermaid/ReadonlyMermaid';
14
30
  import { Paragraph } from './Paragraph';
31
+ import { ReadonlyParagraph } from './Paragraph/ReadonlyParagraph';
15
32
  import { Schema } from './Schema';
33
+ import { ReadonlySchema } from './Schema/ReadonlySchema';
34
+ import { ReadonlyTableComponent } from './Table/ReadonlyTableComponent';
16
35
  /**
17
36
  * 性能优化说明:
18
37
  *
@@ -36,4 +55,4 @@ export declare const MLeaf: React.MemoExoticComponent<(props: RenderLeafProps &
36
55
  tagInputProps: MarkdownEditorProps['tagInputProps'];
37
56
  linkConfig: MarkdownEditorProps['linkConfig'];
38
57
  }) => React.JSX.Element>;
39
- export { Blockquote, Break, Code, Head, Hr, InlineKatex, Katex, List, ListItem, Media, Mermaid, Paragraph, Schema, };
58
+ export { Blockquote, Break, Code, Head, Hr, InlineKatex, Katex, List, ListItem, Media, Mermaid, Paragraph, ReadonlyBlockquote, ReadonlyBreak, ReadonlyCard, ReadonlyCode, ReadonlyEditorImage, ReadonlyFootnoteDefinition, ReadonlyFootnoteReference, ReadonlyHead, ReadonlyHr, ReadonlyInlineKatex, ReadonlyKatex, ReadonlyLinkCard, ReadonlyList, ReadonlyListItem, ReadonlyMedia, ReadonlyMermaid, ReadonlyParagraph, ReadonlySchema, ReadonlyTableComponent, Schema, };