@maketribe/ms-app 3.2.5 → 3.2.6

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 (195) hide show
  1. package/dist/cjs/assets/iconfonts/iconfont.js +1 -1
  2. package/dist/cjs/assets/iconfonts/iconfont.js.map +1 -1
  3. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue.js +2 -37
  4. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue.js.map +1 -1
  5. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue2.js +37 -2
  6. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue2.js.map +1 -1
  7. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js +4 -0
  8. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js.map +1 -0
  9. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js +108 -0
  10. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js.map +1 -0
  11. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js +4 -0
  12. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js.map +1 -1
  13. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue.js +24 -18
  14. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue.js.map +1 -1
  15. package/dist/cjs/components/basic/doc-editor/plugins/AutoLinkPlugin.vue.js +1 -1
  16. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js +93 -0
  17. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js.map +1 -0
  18. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js +128 -0
  19. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js.map +1 -0
  20. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js +51 -0
  21. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js.map +1 -0
  22. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue2.js +4 -0
  23. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue2.js.map +1 -0
  24. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js +0 -1
  25. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js.map +1 -1
  26. package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.js +7 -0
  27. package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.js.map +1 -1
  28. package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js.map +1 -1
  29. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/{HtmlCodeTool.vue.js → PreviewToolbar.vue.js} +56 -43
  30. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +1 -0
  31. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue2.js +4 -0
  32. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue2.js.map +1 -0
  33. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +2 -2
  34. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +1 -1
  35. package/dist/cjs/components/basic/doc-editor/plugins/index.vue.js +3 -1
  36. package/dist/cjs/components/basic/doc-editor/plugins/index.vue.js.map +1 -1
  37. package/dist/cjs/components/basic/doc-editor/plugins/nodes.js +3 -1
  38. package/dist/cjs/components/basic/doc-editor/plugins/nodes.js.map +1 -1
  39. package/dist/cjs/components/business/resource-list/ResourceManager.js +0 -24
  40. package/dist/cjs/components/business/resource-list/ResourceManager.js.map +1 -1
  41. package/dist/cjs/components/business/resource-list/resource-list.vue.js +38 -15
  42. package/dist/cjs/components/business/resource-list/resource-list.vue.js.map +1 -1
  43. package/dist/cjs/components/business/resource-manager/resource-manager.vue.js +1 -12
  44. package/dist/cjs/components/business/resource-manager/resource-manager.vue.js.map +1 -1
  45. package/dist/cjs/components/data-model/data-table/views/tree/tree.js +14 -2
  46. package/dist/cjs/components/data-model/data-table/views/tree/tree.js.map +1 -1
  47. package/dist/cjs/index.js +2 -2
  48. package/dist/cjs/modules/cms/components/part-tree/index.vue.js +24 -9
  49. package/dist/cjs/modules/cms/components/part-tree/index.vue.js.map +1 -1
  50. package/dist/cjs/modules/cms/dataviews/cms-parts/CmsContentManPartForm.js +26 -0
  51. package/dist/cjs/modules/cms/dataviews/cms-parts/CmsContentManPartForm.js.map +1 -0
  52. package/dist/cjs/modules/cms/index.js +2 -1
  53. package/dist/cjs/modules/cms/index.js.map +1 -1
  54. package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +44 -22
  55. package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
  56. package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js +2 -2
  57. package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
  58. package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js +99 -87
  59. package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js.map +1 -1
  60. package/dist/cjs/modules/cms/pages/cms-resource/index.vue2.js +45 -5
  61. package/dist/cjs/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
  62. package/dist/cjs/modules/ms/components/material-list/material-item.vue.js +0 -1
  63. package/dist/cjs/modules/ms/components/material-list/material-item.vue.js.map +1 -1
  64. package/dist/cjs/modules/ms/components/material-list/material-list-options.js +1 -1
  65. package/dist/cjs/modules/ms/components/material-list/material-list-options.js.map +1 -1
  66. package/dist/cjs/modules/ms/components/material-select/material-select-api.js +1 -1
  67. package/dist/cjs/modules/ms/dataviews/ms-menu/MsMenuTree.js +18 -0
  68. package/dist/cjs/modules/ms/dataviews/ms-menu/MsMenuTree.js.map +1 -1
  69. package/dist/cjs/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js +4 -1
  70. package/dist/cjs/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js.map +1 -1
  71. package/dist/cjs/modules/ms/index.js +2 -2
  72. package/dist/cjs/modules/ms/pages/ms-material/index.vue2.js +13 -16
  73. package/dist/cjs/modules/ms/pages/ms-material/index.vue2.js.map +1 -1
  74. package/dist/cjs/modules/ms/pages/ms-menu/index.vue2.js +47 -6
  75. package/dist/cjs/modules/ms/pages/ms-menu/index.vue2.js.map +1 -1
  76. package/dist/esm/assets/iconfonts/iconfont.js +1 -1
  77. package/dist/esm/assets/iconfonts/iconfont.js.map +1 -1
  78. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue.js +1 -36
  79. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue.js.map +1 -1
  80. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue2.js +36 -1
  81. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue2.js.map +1 -1
  82. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js +5 -0
  83. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js.map +1 -0
  84. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js +109 -0
  85. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js.map +1 -0
  86. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js +4 -0
  87. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js.map +1 -1
  88. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue.js +25 -19
  89. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue.js.map +1 -1
  90. package/dist/esm/components/basic/doc-editor/plugins/AutoLinkPlugin.vue.js +1 -1
  91. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js +94 -0
  92. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js.map +1 -0
  93. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js +128 -0
  94. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js.map +1 -0
  95. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js +52 -0
  96. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js.map +1 -0
  97. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue2.js +5 -0
  98. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue2.js.map +1 -0
  99. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js +0 -1
  100. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js.map +1 -1
  101. package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.js +7 -0
  102. package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.js.map +1 -1
  103. package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js.map +1 -1
  104. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js +117 -0
  105. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +1 -0
  106. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue2.js +5 -0
  107. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue2.js.map +1 -0
  108. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +1 -1
  109. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +1 -1
  110. package/dist/esm/components/basic/doc-editor/plugins/index.vue.js +3 -1
  111. package/dist/esm/components/basic/doc-editor/plugins/index.vue.js.map +1 -1
  112. package/dist/esm/components/basic/doc-editor/plugins/nodes.js +3 -1
  113. package/dist/esm/components/basic/doc-editor/plugins/nodes.js.map +1 -1
  114. package/dist/esm/components/business/resource-list/ResourceManager.js +1 -25
  115. package/dist/esm/components/business/resource-list/ResourceManager.js.map +1 -1
  116. package/dist/esm/components/business/resource-list/resource-list.vue.js +39 -16
  117. package/dist/esm/components/business/resource-list/resource-list.vue.js.map +1 -1
  118. package/dist/esm/components/business/resource-manager/resource-manager.vue.js +2 -13
  119. package/dist/esm/components/business/resource-manager/resource-manager.vue.js.map +1 -1
  120. package/dist/esm/components/data-model/data-table/views/tree/tree.js +15 -3
  121. package/dist/esm/components/data-model/data-table/views/tree/tree.js.map +1 -1
  122. package/dist/esm/index.js +2 -2
  123. package/dist/esm/modules/cms/components/part-tree/index.vue.js +25 -10
  124. package/dist/esm/modules/cms/components/part-tree/index.vue.js.map +1 -1
  125. package/dist/esm/modules/cms/dataviews/cms-parts/CmsContentManPartForm.js +26 -0
  126. package/dist/esm/modules/cms/dataviews/cms-parts/CmsContentManPartForm.js.map +1 -0
  127. package/dist/esm/modules/cms/index.js +2 -1
  128. package/dist/esm/modules/cms/index.js.map +1 -1
  129. package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +46 -24
  130. package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
  131. package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js +2 -2
  132. package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
  133. package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js +101 -89
  134. package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js.map +1 -1
  135. package/dist/esm/modules/cms/pages/cms-resource/index.vue2.js +46 -6
  136. package/dist/esm/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
  137. package/dist/esm/modules/ms/components/material-list/material-item.vue.js +0 -1
  138. package/dist/esm/modules/ms/components/material-list/material-item.vue.js.map +1 -1
  139. package/dist/esm/modules/ms/components/material-list/material-list-options.js +1 -1
  140. package/dist/esm/modules/ms/components/material-list/material-list-options.js.map +1 -1
  141. package/dist/esm/modules/ms/components/material-select/material-select-api.js +1 -1
  142. package/dist/esm/modules/ms/dataviews/ms-menu/MsMenuTree.js +18 -0
  143. package/dist/esm/modules/ms/dataviews/ms-menu/MsMenuTree.js.map +1 -1
  144. package/dist/esm/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js +4 -1
  145. package/dist/esm/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js.map +1 -1
  146. package/dist/esm/modules/ms/index.js +2 -2
  147. package/dist/esm/modules/ms/pages/ms-material/index.vue2.js +14 -17
  148. package/dist/esm/modules/ms/pages/ms-material/index.vue2.js.map +1 -1
  149. package/dist/esm/modules/ms/pages/ms-menu/index.vue2.js +48 -7
  150. package/dist/esm/modules/ms/pages/ms-menu/index.vue2.js.map +1 -1
  151. package/dist/style/components/basic/doc-editor/index.css +1 -1
  152. package/dist/style/components/index.css +2 -2
  153. package/dist/style/components/material-item.css +1 -1
  154. package/dist/style/index.css +2 -2
  155. package/dist/style/modules/cms/index.css +1 -1
  156. package/dist/style/modules/cms/pages/cms-contents/index.css +1 -1
  157. package/dist/style/modules/cms/resource-manager.css +1 -1
  158. package/dist/style/src/components/basic/doc-editor/index.scss +22 -2
  159. package/dist/style/src/components/material-item.scss +66 -64
  160. package/dist/style/src/modules/cms/pages/cms-contents/index.scss +1 -2
  161. package/dist/style/src/modules/cms/resource-manager.scss +63 -0
  162. package/dist/style/src/theme/theme.scss +310 -303
  163. package/dist/style/theme/theme.css +1 -1
  164. package/dist/types/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.d.ts +20 -0
  165. package/dist/types/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.d.ts +57 -0
  166. package/dist/types/components/basic/doc-editor/plugins/ImageTextPlugin/index.d.ts +1 -0
  167. package/dist/types/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.d.ts +2 -0
  168. package/dist/types/components/business/resource-list/ResourceManager.d.ts +0 -1
  169. package/dist/types/components/business/resource-manager/index.d.ts +32 -6
  170. package/dist/types/components/business/resource-manager/resource-manager.vue.d.ts +10 -1
  171. package/dist/types/components/data-model/data-table/views/table/index.d.ts +1 -1
  172. package/dist/types/components/data-model/data-table/views/table/table.d.ts +1 -1
  173. package/dist/types/modules/cms/components/part-tree/index.d.ts +5 -9
  174. package/dist/types/modules/cms/components/part-tree/index.vue.d.ts +16 -15
  175. package/dist/types/modules/cms/dataviews/cms-parts/CmsContentManPartForm.d.ts +8 -0
  176. package/dist/types/modules/cms/dataviews/cms-parts/index.d.ts +1 -0
  177. package/dist/types/modules/ms/dataviews/ms-material/index.d.ts +0 -1
  178. package/dist/types/modules/ms/dataviews/ms-menu/MsMenuTree.d.ts +1 -0
  179. package/package.json +2 -2
  180. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue.js.map +0 -1
  181. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue2.js +0 -4
  182. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue2.js.map +0 -1
  183. package/dist/cjs/modules/ms/dataviews/ms-material/MsMaterialMan.js +0 -130
  184. package/dist/cjs/modules/ms/dataviews/ms-material/MsMaterialMan.js.map +0 -1
  185. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue.js +0 -104
  186. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue.js.map +0 -1
  187. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue2.js +0 -5
  188. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue2.js.map +0 -1
  189. package/dist/esm/modules/ms/dataviews/ms-material/MsMaterialMan.js +0 -130
  190. package/dist/esm/modules/ms/dataviews/ms-material/MsMaterialMan.js.map +0 -1
  191. package/dist/style/modules/cms/pages/cms-contents/part-edit-add-page.css +0 -1
  192. package/dist/style/src/modules/cms/pages/cms-contents/part-edit-add-page.scss +0 -127
  193. package/dist/types/modules/ms/dataviews/ms-material/MsMaterialMan.d.ts +0 -31
  194. /package/dist/types/components/basic/doc-editor/plugins/{ToolbarPlugin/HtmlCodeTool.vue.d.ts → HtmlBlockPlugin/index.vue.d.ts} +0 -0
  195. /package/dist/types/{modules/cms/pages/cms-contents/part-edit-add-page.vue.d.ts → components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolba-back.vue.d.ts} +0 -0
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ const vue = require("vue");
3
+ const utils = require("@lexical/utils");
4
+ const lexical = require("lexical");
5
+ require("@lexical/text");
6
+ const useMounted = require("../composables/useMounted.js");
7
+ require("@lexical/overflow");
8
+ require("tiny-invariant");
9
+ require("@lexical/history");
10
+ const useLexicalComposer = require("../composables/useLexicalComposer.js");
11
+ const useLexicalNodeSelection = require("../composables/useLexicalNodeSelection.js");
12
+ require("@lexical/list");
13
+ require("@lexical/dragon");
14
+ require("@lexical/plain-text");
15
+ require("@lexical/rich-text");
16
+ require("@lexical/yjs");
17
+ require("yjs");
18
+ const LexicalDecoratorBlockNode = require("./LexicalDecoratorBlockNode.js");
19
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
20
+ __name: "LexicalBlockWithAlignableContents",
21
+ props: {
22
+ format: {},
23
+ nodeKey: {},
24
+ baseClass: {},
25
+ focusClass: {}
26
+ },
27
+ setup(__props) {
28
+ const props = __props;
29
+ const editor = useLexicalComposer.useLexicalComposer();
30
+ const { isSelected, setSelected, clearSelection } = useLexicalNodeSelection.useLexicalNodeSelection(props.nodeKey);
31
+ const containerRef = vue.ref(null);
32
+ function onDelete(event) {
33
+ if (isSelected.value && lexical.$isNodeSelection(lexical.$getSelection())) {
34
+ event.preventDefault();
35
+ const node = lexical.$getNodeByKey(props.nodeKey);
36
+ if (lexical.$isDecoratorNode(node))
37
+ node == null ? void 0 : node.remove();
38
+ }
39
+ return false;
40
+ }
41
+ useMounted.useMounted(() => {
42
+ return utils.mergeRegister(
43
+ editor.registerCommand(
44
+ lexical.FORMAT_ELEMENT_COMMAND,
45
+ (formatType) => {
46
+ if (isSelected.value) {
47
+ const selection = lexical.$getSelection();
48
+ if (lexical.$isNodeSelection(selection)) {
49
+ const node = lexical.$getNodeByKey(props.nodeKey);
50
+ if (node && LexicalDecoratorBlockNode.$isDecoratorBlockNode(node))
51
+ node.setFormat(formatType);
52
+ } else if (lexical.$isRangeSelection(selection)) {
53
+ const nodes = selection.getNodes();
54
+ for (const node of nodes) {
55
+ if (LexicalDecoratorBlockNode.$isDecoratorBlockNode(node)) {
56
+ node.setFormat(formatType);
57
+ } else {
58
+ const element = utils.$getNearestBlockElementAncestorOrThrow(node);
59
+ element.setFormat(formatType);
60
+ }
61
+ }
62
+ }
63
+ return true;
64
+ }
65
+ return false;
66
+ },
67
+ lexical.COMMAND_PRIORITY_LOW
68
+ ),
69
+ editor.registerCommand(
70
+ lexical.CLICK_COMMAND,
71
+ (event) => {
72
+ if (event.target === containerRef.value) {
73
+ event.preventDefault();
74
+ if (!event.shiftKey)
75
+ clearSelection();
76
+ setSelected(!isSelected.value);
77
+ return true;
78
+ }
79
+ return false;
80
+ },
81
+ lexical.COMMAND_PRIORITY_LOW
82
+ ),
83
+ editor.registerCommand(
84
+ lexical.KEY_DELETE_COMMAND,
85
+ onDelete,
86
+ lexical.COMMAND_PRIORITY_LOW
87
+ ),
88
+ editor.registerCommand(
89
+ lexical.KEY_BACKSPACE_COMMAND,
90
+ onDelete,
91
+ lexical.COMMAND_PRIORITY_LOW
92
+ )
93
+ );
94
+ });
95
+ return (_ctx, _cache) => {
96
+ return vue.openBlock(), vue.createElementBlock("div", {
97
+ ref_key: "containerRef",
98
+ ref: containerRef,
99
+ style: vue.normalizeStyle(`text-align: ${_ctx.format}`),
100
+ class: vue.normalizeClass([_ctx.baseClass, vue.unref(isSelected) ? _ctx.focusClass : ""])
101
+ }, [
102
+ vue.renderSlot(_ctx.$slots, "default")
103
+ ], 6);
104
+ };
105
+ }
106
+ });
107
+ module.exports = _sfc_main;
108
+ //# sourceMappingURL=LexicalBlockWithAlignableContents.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LexicalBlockWithAlignableContents.vue2.js","sources":["../../../../../../../src/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport type {\r\n ElementFormatType,\r\n NodeKey,\r\n} from 'lexical'\r\nimport {\r\n $getNearestBlockElementAncestorOrThrow,\r\n mergeRegister,\r\n} from '@lexical/utils'\r\nimport {\r\n $getNodeByKey,\r\n $getSelection,\r\n $isDecoratorNode,\r\n $isNodeSelection,\r\n $isRangeSelection,\r\n CLICK_COMMAND,\r\n COMMAND_PRIORITY_LOW,\r\n FORMAT_ELEMENT_COMMAND,\r\n KEY_BACKSPACE_COMMAND,\r\n KEY_DELETE_COMMAND,\r\n} from 'lexical'\r\nimport { ref } from 'vue'\r\nimport { useLexicalComposer, useLexicalNodeSelection } from '../composables'\r\nimport { useMounted } from '../composables/useMounted'\r\nimport { $isDecoratorBlockNode } from './LexicalDecoratorBlockNode'\r\n\r\nconst props = defineProps<{\r\n format?: ElementFormatType\r\n nodeKey: NodeKey\r\n baseClass?: string\r\n focusClass?: string\r\n}>()\r\n\r\nconst editor = useLexicalComposer()\r\nconst { isSelected, setSelected, clearSelection } = useLexicalNodeSelection(props.nodeKey)\r\nconst containerRef = ref<HTMLDivElement | null>(null)\r\n\r\nfunction onDelete(event: KeyboardEvent) {\r\n if (isSelected.value && $isNodeSelection($getSelection())) {\r\n event.preventDefault()\r\n const node = $getNodeByKey(props.nodeKey)\r\n if ($isDecoratorNode(node))\r\n node?.remove()\r\n }\r\n return false\r\n}\r\n\r\nuseMounted(() => {\r\n return mergeRegister(\r\n editor.registerCommand<ElementFormatType>(\r\n FORMAT_ELEMENT_COMMAND,\r\n (formatType) => {\r\n if (isSelected.value) {\r\n const selection = $getSelection()\r\n\r\n if ($isNodeSelection(selection)) {\r\n const node = $getNodeByKey(props.nodeKey)\r\n\r\n if (node && $isDecoratorBlockNode(node))\r\n node.setFormat(formatType)\r\n }\r\n else if ($isRangeSelection(selection)) {\r\n const nodes = selection.getNodes()\r\n\r\n for (const node of nodes) {\r\n if ($isDecoratorBlockNode(node)) {\r\n node.setFormat(formatType)\r\n }\r\n else {\r\n const element = $getNearestBlockElementAncestorOrThrow(node)\r\n element.setFormat(formatType)\r\n }\r\n }\r\n }\r\n\r\n return true\r\n }\r\n return false\r\n },\r\n COMMAND_PRIORITY_LOW,\r\n ),\r\n editor.registerCommand<MouseEvent>(\r\n CLICK_COMMAND,\r\n (event) => {\r\n if (event.target === containerRef.value) {\r\n event.preventDefault()\r\n if (!event.shiftKey)\r\n clearSelection()\r\n\r\n setSelected(!isSelected.value)\r\n return true\r\n }\r\n return false\r\n },\r\n COMMAND_PRIORITY_LOW,\r\n ),\r\n editor.registerCommand(\r\n KEY_DELETE_COMMAND,\r\n onDelete,\r\n COMMAND_PRIORITY_LOW,\r\n ),\r\n editor.registerCommand(\r\n KEY_BACKSPACE_COMMAND,\r\n onDelete,\r\n COMMAND_PRIORITY_LOW,\r\n ),\r\n )\r\n})\r\n</script>\r\n\r\n<template>\r\n <div\r\n ref=\"containerRef\"\r\n :style=\"`text-align: ${format}`\"\r\n :class=\"[baseClass, isSelected ? focusClass : '']\"\r\n >\r\n <slot />\r\n </div>\r\n</template>\r\n"],"names":["useLexicalComposer","useLexicalNodeSelection","ref","$isNodeSelection","$getSelection","$getNodeByKey","$isDecoratorNode","useMounted","mergeRegister","FORMAT_ELEMENT_COMMAND","$isDecoratorBlockNode","$isRangeSelection","$getNearestBlockElementAncestorOrThrow","COMMAND_PRIORITY_LOW","CLICK_COMMAND","KEY_DELETE_COMMAND","KEY_BACKSPACE_COMMAND"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,UAAM,QAAQ;AAOd,UAAM,SAASA,mBAAAA;AACf,UAAM,EAAE,YAAY,aAAa,eAAmB,IAAAC,gDAAwB,MAAM,OAAO;AACnF,UAAA,eAAeC,QAA2B,IAAI;AAEpD,aAAS,SAAS,OAAsB;AACtC,UAAI,WAAW,SAASC,yBAAiBC,QAAAA,cAAe,CAAA,GAAG;AACzD,cAAM,eAAe;AACf,cAAA,OAAOC,QAAAA,cAAc,MAAM,OAAO;AACxC,YAAIC,QAAAA,iBAAiB,IAAI;AACvB,uCAAM;AAAA,MACV;AACO,aAAA;AAAA,IACT;AAEAC,eAAAA,WAAW,MAAM;AACR,aAAAC,MAAA;AAAA,QACL,OAAO;AAAA,UACLC,QAAA;AAAA,UACA,CAAC,eAAe;AACd,gBAAI,WAAW,OAAO;AACpB,oBAAM,YAAYL,QAAAA;AAEd,kBAAAD,QAAAA,iBAAiB,SAAS,GAAG;AACzB,sBAAA,OAAOE,QAAAA,cAAc,MAAM,OAAO;AAEpC,oBAAA,QAAQK,gDAAsB,IAAI;AACpC,uBAAK,UAAU,UAAU;AAAA,cAAA,WAEpBC,QAAAA,kBAAkB,SAAS,GAAG;AAC/B,sBAAA,QAAQ,UAAU;AAExB,2BAAW,QAAQ,OAAO;AACpB,sBAAAD,0BAAAA,sBAAsB,IAAI,GAAG;AAC/B,yBAAK,UAAU,UAAU;AAAA,kBAAA,OAEtB;AACG,0BAAA,UAAUE,6CAAuC,IAAI;AAC3D,4BAAQ,UAAU,UAAU;AAAA,kBAC9B;AAAA,gBACF;AAAA,cACF;AAEO,qBAAA;AAAA,YACT;AACO,mBAAA;AAAA,UACT;AAAA,UACAC,QAAA;AAAA,QACF;AAAA,QACA,OAAO;AAAA,UACLC,QAAA;AAAA,UACA,CAAC,UAAU;AACL,gBAAA,MAAM,WAAW,aAAa,OAAO;AACvC,oBAAM,eAAe;AACrB,kBAAI,CAAC,MAAM;AACM;AAEL,0BAAA,CAAC,WAAW,KAAK;AACtB,qBAAA;AAAA,YACT;AACO,mBAAA;AAAA,UACT;AAAA,UACAD,QAAA;AAAA,QACF;AAAA,QACA,OAAO;AAAA,UACLE,QAAA;AAAA,UACA;AAAA,UACAF,QAAA;AAAA,QACF;AAAA,QACA,OAAO;AAAA,UACLG,QAAA;AAAA,UACA;AAAA,UACAH,QAAA;AAAA,QACF;AAAA,MAAA;AAAA,IACF,CACD;;;;;;;;;;;;;;"}
@@ -28,5 +28,9 @@ class DecoratorBlockNode extends lexical.DecoratorNode {
28
28
  self.__format = format;
29
29
  }
30
30
  }
31
+ function $isDecoratorBlockNode(node) {
32
+ return node instanceof DecoratorBlockNode;
33
+ }
34
+ exports.$isDecoratorBlockNode = $isDecoratorBlockNode;
31
35
  exports.DecoratorBlockNode = DecoratorBlockNode;
32
36
  //# sourceMappingURL=LexicalDecoratorBlockNode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LexicalDecoratorBlockNode.js","sources":["../../../../../../../src/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.ts"],"sourcesContent":["import type { ElementFormatType, LexicalNode, NodeKey, SerializedLexicalNode, Spread } from 'lexical'\r\n\r\nimport { DecoratorNode } from 'lexical'\r\nimport type { Component } from 'vue'\r\n\r\nexport type SerializedDecoratorBlockNode = Spread<\r\n {\r\n format: ElementFormatType\r\n },\r\n SerializedLexicalNode\r\n>\r\n\r\nexport class DecoratorBlockNode extends DecoratorNode<Component> {\r\n __format?: ElementFormatType\r\n\r\n constructor(format?: ElementFormatType, key?: NodeKey) {\r\n super(key)\r\n this.__format = format || ''\r\n }\r\n\r\n exportJSON(): SerializedDecoratorBlockNode {\r\n return {\r\n format: this.__format || '',\r\n type: 'decorator-block',\r\n version: 1,\r\n }\r\n }\r\n\r\n createDOM() {\r\n return document.createElement('div')\r\n }\r\n\r\n updateDOM() {\r\n return false\r\n }\r\n\r\n setFormat(format: ElementFormatType) {\r\n const self = this.getWritable()\r\n self.__format = format\r\n }\r\n}\r\n\r\nexport function $createDecoratorBlockNode() {\r\n return new DecoratorBlockNode()\r\n}\r\n\r\nexport function $isDecoratorBlockNode(node: LexicalNode | null | undefined): node is DecoratorBlockNode {\r\n return node instanceof DecoratorBlockNode\r\n}\r\n"],"names":["DecoratorNode"],"mappings":";;;;;;AAYO,MAAM,2BAA2BA,QAAAA,cAAyB;AAAA,EAG/D,YAAY,QAA4B,KAAe;AACrD,UAAM,GAAG;AAHX;AAIE,SAAK,WAAW,UAAU;AAAA,EAC5B;AAAA,EAEA,aAA2C;AAClC,WAAA;AAAA,MACL,QAAQ,KAAK,YAAY;AAAA,MACzB,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,EAEb;AAAA,EAEA,YAAY;AACH,WAAA,SAAS,cAAc,KAAK;AAAA,EACrC;AAAA,EAEA,YAAY;AACH,WAAA;AAAA,EACT;AAAA,EAEA,UAAU,QAA2B;AAC7B,UAAA,OAAO,KAAK;AAClB,SAAK,WAAW;AAAA,EAClB;AACF;;"}
1
+ {"version":3,"file":"LexicalDecoratorBlockNode.js","sources":["../../../../../../../src/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.ts"],"sourcesContent":["import type { ElementFormatType, LexicalNode, NodeKey, SerializedLexicalNode, Spread } from 'lexical'\r\n\r\nimport { DecoratorNode } from 'lexical'\r\nimport type { Component } from 'vue'\r\n\r\nexport type SerializedDecoratorBlockNode = Spread<\r\n {\r\n format: ElementFormatType\r\n },\r\n SerializedLexicalNode\r\n>\r\n\r\nexport class DecoratorBlockNode extends DecoratorNode<Component> {\r\n __format?: ElementFormatType\r\n\r\n constructor(format?: ElementFormatType, key?: NodeKey) {\r\n super(key)\r\n this.__format = format || ''\r\n }\r\n\r\n exportJSON(): SerializedDecoratorBlockNode {\r\n return {\r\n format: this.__format || '',\r\n type: 'decorator-block',\r\n version: 1,\r\n }\r\n }\r\n\r\n createDOM() {\r\n return document.createElement('div')\r\n }\r\n\r\n updateDOM() {\r\n return false\r\n }\r\n\r\n setFormat(format: ElementFormatType) {\r\n const self = this.getWritable()\r\n self.__format = format\r\n }\r\n}\r\n\r\nexport function $createDecoratorBlockNode() {\r\n return new DecoratorBlockNode()\r\n}\r\n\r\nexport function $isDecoratorBlockNode(node: LexicalNode | null | undefined): node is DecoratorBlockNode {\r\n return node instanceof DecoratorBlockNode\r\n}\r\n"],"names":["DecoratorNode"],"mappings":";;;;;;AAYO,MAAM,2BAA2BA,QAAAA,cAAyB;AAAA,EAG/D,YAAY,QAA4B,KAAe;AACrD,UAAM,GAAG;AAHX;AAIE,SAAK,WAAW,UAAU;AAAA,EAC5B;AAAA,EAEA,aAA2C;AAClC,WAAA;AAAA,MACL,QAAQ,KAAK,YAAY;AAAA,MACzB,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,EAEb;AAAA,EAEA,YAAY;AACH,WAAA,SAAS,cAAc,KAAK;AAAA,EACrC;AAAA,EAEA,YAAY;AACH,WAAA;AAAA,EACT;AAAA,EAEA,UAAU,QAA2B;AAC7B,UAAA,OAAO,KAAK;AAClB,SAAK,WAAW;AAAA,EAClB;AACF;AAMO,SAAS,sBAAsB,MAAkE;AACtG,SAAO,gBAAgB;AACzB;;;"}
@@ -33,26 +33,32 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
33
33
  const htmlContent = vue.ref("");
34
34
  const contentIsEmpty = vue.computed(() => htmlContent.value == `<p class="mk-doc__paragraph"><br></p>` || !htmlContent.value);
35
35
  const setHtml = (html$1) => {
36
- let nodes = [];
37
- htmlContent.value = html$1;
38
- editor.update(() => {
39
- var _a;
40
- if (html$1.trim()) {
41
- nodes = html.$generateNodesFromDOM(editor, parser.parseFromString(html$1.trim(), "text/html"));
42
- }
43
- lexical.$selectAll();
44
- (_a = lexical.$getSelection()) == null ? void 0 : _a.insertNodes(nodes);
45
- });
36
+ if (htmlContent.value != html$1) {
37
+ let nodes = [];
38
+ htmlContent.value = html$1;
39
+ editor.update(() => {
40
+ var _a, _b;
41
+ if (html$1.trim()) {
42
+ nodes = html.$generateNodesFromDOM(editor, parser.parseFromString(html$1.trim(), "text/html"));
43
+ }
44
+ lexical.$selectAll();
45
+ if (nodes.length > 0) {
46
+ (_a = lexical.$getSelection()) == null ? void 0 : _a.insertNodes(nodes);
47
+ } else {
48
+ (_b = lexical.$getSelection()) == null ? void 0 : _b.insertText("");
49
+ }
50
+ });
51
+ }
46
52
  };
47
- const unregisterMergeListener = editor.registerUpdateListener(({ editorState }) => {
48
- editorState.read(() => {
49
- htmlContent.value = html.$generateHtmlFromNodes(editor);
50
- emit("change", htmlContent.value);
51
- });
52
- });
53
- vue.onUnmounted(() => unregisterMergeListener());
54
53
  vue.onMounted(() => {
55
- setHtml(props.content);
54
+ vue.watch(() => props.content, setHtml, { immediate: true });
55
+ vue.watch(htmlContent, (value) => emit("change", value));
56
+ const unregisterMergeListener = editor.registerUpdateListener(({ editorState }) => {
57
+ editorState.read(() => {
58
+ htmlContent.value = html.$generateHtmlFromNodes(editor);
59
+ });
60
+ });
61
+ vue.onUnmounted(() => unregisterMergeListener());
56
62
  });
57
63
  useRichTextSetup.useRichTextSetup(editor);
58
64
  return (_ctx, _cache) => {
@@ -1 +1 @@
1
- {"version":3,"file":"LexicalRichTextPlugin.vue.js","sources":["../../../../../../../src/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { useCanShowPlaceholder, useLexicalComposer, useRichTextSetup } from '../composables'\r\nimport Decorators from './LexicalDecoratedTeleports'\r\nimport { ref,defineProps,computed,defineEmits,onMounted,onUnmounted } from \"vue\"\r\nimport { $getRoot, $getSelection ,$createRangeSelection,$selectAll } from 'lexical'\r\nimport { $generateHtmlFromNodes,$generateNodesFromDOM } from '@lexical/html'\r\n\r\n// 事件\r\nconst emit = defineEmits([\"change\"]);\r\n\r\n// 参数\r\nconst props = defineProps({\r\n content:{ type:String,default:`` }\r\n})\r\n\r\nconst editor = useLexicalComposer()\r\n\r\nconst canShowPlaceholder = useCanShowPlaceholder(editor)\r\n\r\nconst parser = new DOMParser();\r\n\r\nconst htmlContent = ref(\"\");\r\n\r\n// 空内容\r\nconst contentIsEmpty = computed(()=>htmlContent.value == `<p class=\"mk-doc__paragraph\"><br></p>` || !htmlContent.value);\r\n\r\n// 设置 HTML\r\nconst setHtml = (html : any)=>{\r\n\r\n let nodes : Array<any> = [];\r\n\r\n htmlContent.value = html;\r\n\r\n editor.update(()=>{\r\n\r\n if(html.trim()){\r\n // Once you have the DOM instance it's easy to generate LexicalNodes.\r\n nodes = $generateNodesFromDOM(editor,parser.parseFromString(html.trim(),\"text/html\"));\r\n }\r\n // 设置权限替换\r\n $selectAll();\r\n $getSelection()?.insertNodes(nodes);\r\n })\r\n}\r\n\r\n// 更新操作\r\nconst unregisterMergeListener = editor.registerUpdateListener(({ editorState }) => {\r\n editorState.read(() => {\r\n htmlContent.value = $generateHtmlFromNodes(editor);\r\n emit('change',htmlContent.value);\r\n })\r\n})\r\n\r\nonUnmounted(() => unregisterMergeListener());\r\n\r\nonMounted(()=>{\r\n // 初始化\r\n setHtml(props.content);\r\n})\r\n\r\n\r\n// 使用富文本\r\nuseRichTextSetup(editor)\r\n\r\n</script>\r\n\r\n<template>\r\n <div class=\"mk-doc-editor__stage__editable\">\r\n <slot name=\"contentEditable\"></slot>\r\n <slot v-if=\"canShowPlaceholder && contentIsEmpty\" name=\"placeholder\"></slot>\r\n <Decorators />\r\n </div>\r\n\r\n</template>\r\n"],"names":["useLexicalComposer","useCanShowPlaceholder","ref","computed","html","$generateNodesFromDOM","$selectAll","$getSelection","$generateHtmlFromNodes","onUnmounted","onMounted","useRichTextSetup"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,UAAM,OAAO;AAGb,UAAM,QAAQ;AAId,UAAM,SAASA,mBAAAA;AAET,UAAA,qBAAqBC,4CAAsB,MAAM;AAEjD,UAAA,SAAS,IAAI;AAEb,UAAA,cAAcC,QAAI,EAAE;AAGpB,UAAA,iBAAiBC,aAAS,MAAI,YAAY,SAAS,2CAA2C,CAAC,YAAY,KAAK;AAGhH,UAAA,UAAU,CAACC,WAAa;AAE1B,UAAI,QAAqB,CAAA;AAEzB,kBAAY,QAAQA;AAEpB,aAAO,OAAO,MAAI;;AAEb,YAAAA,OAAK,QAAO;AAEL,kBAAAC,KAAAA,sBAAsB,QAAO,OAAO,gBAAgBD,OAAK,KAAK,GAAE,WAAW,CAAC;AAAA,QACtF;AAEWE,gBAAAA;AACGC,oCAAA,MAAAA,mBAAG,YAAY;AAAA,MAAK,CACnC;AAAA,IAAA;AAIL,UAAM,0BAA0B,OAAO,uBAAuB,CAAC,EAAE,kBAAkB;AACjF,kBAAY,KAAK,MAAM;AACT,oBAAA,QAAQC,4BAAuB,MAAM;AAC5C,aAAA,UAAS,YAAY,KAAK;AAAA,MAAA,CAChC;AAAA,IAAA,CACF;AAEWC,oBAAA,MAAM,yBAAyB;AAE3CC,QAAAA,UAAU,MAAI;AAEZ,cAAQ,MAAM,OAAO;AAAA,IAAA,CACtB;AAIDC,qBAAA,iBAAiB,MAAM;;;;;;;;;;;"}
1
+ {"version":3,"file":"LexicalRichTextPlugin.vue.js","sources":["../../../../../../../src/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { useCanShowPlaceholder, useLexicalComposer, useRichTextSetup } from '../composables'\r\nimport Decorators from './LexicalDecoratedTeleports'\r\nimport { ref,defineProps,computed,defineEmits,onMounted,onUnmounted,watch } from \"vue\"\r\nimport { $getRoot, $getSelection ,$createRangeSelection,$selectAll } from 'lexical'\r\nimport { $generateHtmlFromNodes,$generateNodesFromDOM } from '@lexical/html'\r\n\r\n// 事件\r\nconst emit = defineEmits([\"change\"]);\r\n\r\n// 参数\r\nconst props = defineProps({\r\n content:{ type:String,default:`` }\r\n})\r\n\r\nconst editor = useLexicalComposer()\r\n\r\nconst canShowPlaceholder = useCanShowPlaceholder(editor)\r\n\r\nconst parser = new DOMParser();\r\n\r\n// html 内容\r\nconst htmlContent = ref(\"\");\r\n\r\n// 空内容\r\nconst contentIsEmpty = computed(()=>htmlContent.value == `<p class=\"mk-doc__paragraph\"><br></p>` || !htmlContent.value);\r\n\r\n// 设置 HTML\r\nconst setHtml = (html : any)=>{\r\n\r\n // 内容不同则重置 \r\n if(htmlContent.value != html){\r\n\r\n let nodes : Array<any> = [];\r\n\r\n htmlContent.value = html;\r\n\r\n editor.update(()=>{\r\n\r\n if(html.trim()){\r\n // Once you have the DOM instance it's easy to generate LexicalNodes.\r\n nodes = $generateNodesFromDOM(editor,parser.parseFromString(html.trim(),\"text/html\"));\r\n }\r\n // 设置权限替换\r\n $selectAll();\r\n\r\n if(nodes.length > 0){\r\n $getSelection()?.insertNodes(nodes);\r\n }\r\n else{\r\n $getSelection()?.insertText(\"\")\r\n }\r\n \r\n })\r\n }\r\n}\r\n\r\n\r\nonMounted(()=>{\r\n // 初始化\r\n watch(()=>props.content,setHtml,{ immediate:true });\r\n // 监听内容变化\r\n watch(htmlContent,(value:any)=>emit('change',value));\r\n\r\n // 更新操作\r\n const unregisterMergeListener = editor.registerUpdateListener(({ editorState }) => {\r\n editorState.read(() => {\r\n htmlContent.value = $generateHtmlFromNodes(editor);\r\n })\r\n })\r\n\r\n // 取消华仔\r\n onUnmounted(() => unregisterMergeListener());\r\n})\r\n\r\n\r\n// 使用富文本\r\nuseRichTextSetup(editor)\r\n\r\n</script>\r\n\r\n<template>\r\n <div class=\"mk-doc-editor__stage__editable\">\r\n <slot name=\"contentEditable\"></slot>\r\n <slot v-if=\"canShowPlaceholder && contentIsEmpty\" name=\"placeholder\"></slot>\r\n <Decorators />\r\n </div>\r\n\r\n</template>\r\n"],"names":["useLexicalComposer","useCanShowPlaceholder","ref","computed","html","$generateNodesFromDOM","$selectAll","$getSelection","onMounted","watch","$generateHtmlFromNodes","onUnmounted","useRichTextSetup"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,UAAM,OAAO;AAGb,UAAM,QAAQ;AAId,UAAM,SAASA,mBAAAA;AAET,UAAA,qBAAqBC,4CAAsB,MAAM;AAEjD,UAAA,SAAS,IAAI;AAGb,UAAA,cAAcC,QAAI,EAAE;AAGpB,UAAA,iBAAiBC,aAAS,MAAI,YAAY,SAAS,2CAA2C,CAAC,YAAY,KAAK;AAGhH,UAAA,UAAU,CAACC,WAAa;AAGvB,UAAA,YAAY,SAASA,QAAK;AAE3B,YAAI,QAAqB,CAAA;AAEzB,oBAAY,QAAQA;AAEpB,eAAO,OAAO,MAAI;;AAEb,cAAAA,OAAK,QAAO;AAEL,oBAAAC,KAAAA,sBAAsB,QAAO,OAAO,gBAAgBD,OAAK,KAAK,GAAE,WAAW,CAAC;AAAA,UACtF;AAEWE,kBAAAA;AAER,cAAA,MAAM,SAAS,GAAE;AACJC,wCAAA,MAAAA,mBAAG,YAAY;AAAA,UAAK,OAEhC;AACYA,wCAAA,MAAAA,mBAAG,WAAW;AAAA,UAC9B;AAAA,QAAA,CAED;AAAA,MACH;AAAA,IAAA;AAIJC,QAAAA,UAAU,MAAI;AAEZC,UAAA,MAAM,MAAI,MAAM,SAAQ,SAAQ,EAAE,WAAU,MAAM;AAElDA,UAAA,MAAM,aAAY,CAAC,UAAY,KAAK,UAAS,KAAK,CAAC;AAGnD,YAAM,0BAA0B,OAAO,uBAAuB,CAAC,EAAE,kBAAkB;AACjF,oBAAY,KAAK,MAAM;AACT,sBAAA,QAAQC,4BAAuB,MAAM;AAAA,QAAA,CAClD;AAAA,MAAA,CACF;AAGWC,sBAAA,MAAM,yBAAyB;AAAA,IAAA,CAC5C;AAIDC,qBAAA,iBAAiB,MAAM;;;;;;;;;;;"}
@@ -22,7 +22,7 @@ require("@lexical/markdown");
22
22
  require("../lexical-vue/composables/useCollaborationContext.js");
23
23
  require("../lexical-vue/components/LexicalMenu/shared.js");
24
24
  require("../lexical-vue/components/LexicalAutoEmbedPlugin/shared.js");
25
- const index_vue_vue_type_script_setup_true_lang = require("../lexical-vue/components/LexicalAutoLinkPlugin/index.vue.js");
25
+ const index_vue_vue_type_script_setup_true_lang = require("../lexical-vue/components/LexicalAutoLinkPlugin/index.vue2.js");
26
26
  require("../lexical-vue/components/LexicalTypeaheadMenuPlugin/shared.js");
27
27
  const _sfc_main = /* @__PURE__ */ vue.defineComponent({
28
28
  __name: "AutoLinkPlugin",
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ const vue = require("vue");
3
+ const lexical = require("lexical");
4
+ const utils = require("@lexical/utils");
5
+ require("@lexical/text");
6
+ const useMounted = require("../../lexical-vue/composables/useMounted.js");
7
+ require("@lexical/overflow");
8
+ require("tiny-invariant");
9
+ require("@lexical/history");
10
+ const useLexicalComposer = require("../../lexical-vue/composables/useLexicalComposer.js");
11
+ const useLexicalNodeSelection = require("../../lexical-vue/composables/useLexicalNodeSelection.js");
12
+ require("@lexical/list");
13
+ require("@lexical/dragon");
14
+ require("@lexical/plain-text");
15
+ require("@lexical/rich-text");
16
+ require("@lexical/yjs");
17
+ require("yjs");
18
+ require("../../lexical-vue/components/LexicalDecoratedTeleports.js");
19
+ require("@lexical/html");
20
+ require("@lexical/link");
21
+ require("@lexical/mark");
22
+ require("@lexical/table");
23
+ require("@lexical/hashtag");
24
+ const LexicalBlockWithAlignableContents_vue_vue_type_script_setup_true_lang = require("../../lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js");
25
+ require("@lexical/markdown");
26
+ require("../../lexical-vue/composables/useCollaborationContext.js");
27
+ require("../../lexical-vue/components/LexicalMenu/shared.js");
28
+ require("../../lexical-vue/components/LexicalAutoEmbedPlugin/shared.js");
29
+ require("../../lexical-vue/components/LexicalTypeaheadMenuPlugin/shared.js");
30
+ const DocHtmlBlockComponent = /* @__PURE__ */ vue.defineComponent({
31
+ name: "DocHtmlBlockComponent",
32
+ props: ["baseClass", "focusClass", "nodeKey", "attrs"],
33
+ setup(props) {
34
+ const editor = useLexicalComposer.useLexicalComposer();
35
+ const {
36
+ isSelected,
37
+ setSelected,
38
+ clearSelection
39
+ } = useLexicalNodeSelection.useLexicalNodeSelection(props.nodeKey);
40
+ const selfElRef = vue.ref(null);
41
+ useMounted.useMounted(() => {
42
+ return utils.mergeRegister(
43
+ // 选中图
44
+ editor.registerCommand(lexical.CLICK_COMMAND, (event) => {
45
+ console.log(event.target);
46
+ if (event.target === selfElRef.value) {
47
+ event.preventDefault();
48
+ if (!event.shiftKey) {
49
+ clearSelection();
50
+ }
51
+ setSelected(true);
52
+ return true;
53
+ }
54
+ return false;
55
+ }, lexical.COMMAND_PRIORITY_LOW)
56
+ );
57
+ });
58
+ return () => {
59
+ return vue.createVNode(LexicalBlockWithAlignableContents_vue_vue_type_script_setup_true_lang, {
60
+ "nodeKey": "props.nodeKey"
61
+ }, {
62
+ default: () => [vue.createVNode("iframe", vue.mergeProps({
63
+ "ref": (el) => selfElRef.value = el,
64
+ "srcdoc": `
65
+ <html>
66
+ <head>
67
+ <style type="text/css">
68
+ ${props.attrs.css}
69
+ </style>
70
+ <script>
71
+ ${props.attrs.js}
72
+ <\/script>
73
+ </head>
74
+ <body>${props.attrs.content}</body>
75
+ </html>
76
+ `,
77
+ "style": {
78
+ width: "100%",
79
+ padding: 0,
80
+ margin: 0
81
+ }
82
+ }, {
83
+ frameborder: 0,
84
+ allowFullScreen: true
85
+ }, {
86
+ "allow": "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
87
+ }), null)]
88
+ });
89
+ };
90
+ }
91
+ });
92
+ module.exports = DocHtmlBlockComponent;
93
+ //# sourceMappingURL=DocHtmlBlockComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocHtmlBlockComponent.js","sources":["../../../../../../../src/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.tsx"],"sourcesContent":["import type { ElementFormatType } from \"lexical\";\nimport {\n $getSelection,\n $isNodeSelection,\n CLICK_COMMAND,\n COMMAND_PRIORITY_LOW,\n} from \"lexical\";\nimport { mergeRegister } from \"@lexical/utils\";\nimport {\n useLexicalComposer,\n useLexicalNodeSelection,\n useMounted,\n DecoratorBlockNode,\n LexicalBlockWithAlignableContents,\n} from \"../../lexical-vue\";\nimport { defineComponent, ref, reactive, computed, watch } from \"vue\";\nimport { Messager } from \"@maketribe/dm\";\n\n/**\n * 图片渲染组件\n */\nexport default defineComponent({\n name: \"DocHtmlBlockComponent\",\n props: [\"baseClass\", \"focusClass\", \"nodeKey\", \"attrs\"],\n setup(props) {\n const editor = useLexicalComposer();\n const { isSelected, setSelected, clearSelection } = useLexicalNodeSelection(\n props.nodeKey\n );\n const selfElRef = ref<any>(null);\n\n // 编辑器挂载的时候\n useMounted(() => {\n return mergeRegister(\n // 选中图\n editor.registerCommand<MouseEvent>(\n CLICK_COMMAND,\n (event) => {\n console.log(event.target);\n if (event.target === selfElRef.value) {\n event.preventDefault();\n\n if (!event.shiftKey) {\n clearSelection();\n }\n\n setSelected(true);\n\n return true;\n }\n\n return false;\n },\n COMMAND_PRIORITY_LOW\n )\n );\n });\n\n return () => {\n return (\n <LexicalBlockWithAlignableContents nodeKey=\"props.nodeKey\">\n <iframe\n ref={(el) => (selfElRef.value = el)}\n srcdoc={`\n <html>\n <head>\n <style type=\"text/css\">\n ${props.attrs.css}\n </style>\n <script>\n ${props.attrs.js}\n </script>\n </head>\n <body>${props.attrs.content}</body>\n </html>\n `}\n style={{ width: \"100%\", padding: 0, margin: 0 }}\n {...{ frameborder: 0, allowFullScreen: true }}\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\n ></iframe>\n </LexicalBlockWithAlignableContents>\n );\n };\n },\n});\n"],"names":["defineComponent","name","props","setup","editor","useLexicalComposer","isSelected","setSelected","clearSelection","useLexicalNodeSelection","nodeKey","selfElRef","ref","useMounted","mergeRegister","registerCommand","CLICK_COMMAND","event","console","log","target","value","preventDefault","shiftKey","COMMAND_PRIORITY_LOW","_createVNode","LexicalBlockWithAlignableContents","default","_mergeProps","el","attrs","css","js","content","width","padding","margin","frameborder","allowFullScreen"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,MAAeA,4DAAgB;AAAA,EAC7BC,MAAM;AAAA,EACNC,OAAO,CAAC,aAAa,cAAc,WAAW,OAAO;AAAA,EACrDC,MAAMD,OAAO;AACX,UAAME,SAASC,mBAAAA;AACf,UAAM;AAAA,MAAEC;AAAAA,MAAYC;AAAAA,MAAaC;AAAAA,IAAe,IAAIC,wBAAuB,wBACzEP,MAAMQ,OACR;AACA,UAAMC,YAAYC,QAAS,IAAI;AAG/BC,eAAAA,WAAW,MAAM;AACf,aAAOC,MAAa;AAAA;AAAA,QAElBV,OAAOW,gBACLC,QAAa,eACZC,WAAU;AACTC,kBAAQC,IAAIF,MAAMG,MAAM;AACxB,cAAIH,MAAMG,WAAWT,UAAUU,OAAO;AACpCJ,kBAAMK,eAAc;AAEpB,gBAAI,CAACL,MAAMM,UAAU;AACnBf;YACF;AAEAD,wBAAY,IAAI;AAEhB,mBAAO;AAAA,UACT;AAEA,iBAAO;AAAA,WAETiB,QAAAA,oBACF;AAAA,MACF;AAAA,IACF,CAAC;AAED,WAAO,MAAM;AACX,aAAAC,IAAAA,YAAAC,uEAAA;AAAA,QAAA,WAAA;AAAA,MAAA,GAAA;AAAA,QAAAC,SAAAA,MAAAF,CAAAA,0BAAAG,IAAAA,WAAA;AAAA,UAAA,OAGYC,QAAQlB,UAAUU,QAAQQ;AAAAA,UAAG,UAC3B;AAAA;AAAA;AAAA;AAAA,kBAIF3B,MAAM4B,MAAMC,GAAG;AAAA;AAAA;AAAA,kBAGf7B,MAAM4B,MAAME,EAAE;AAAA;AAAA;AAAA,oBAGZ9B,MAAM4B,MAAMG,OAAO;AAAA;AAAA;AAAA,UAE5B,SACQ;AAAA,YAAEC,OAAO;AAAA,YAAQC,SAAS;AAAA,YAAGC,QAAQ;AAAA,UAAE;AAAA,QAAC,GAAA;AAAA,UACzCC,aAAa;AAAA,UAAGC,iBAAiB;AAAA,QAAI,GAAA;AAAA,UAAA,SAAA;AAAA,QAAA,CAAA,GAAA,IAAA,CAAA;AAAA,MAAA,CAAA;AAAA;EAMrD;AACF,CAAC;;"}
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
6
+ const lexical = require("lexical");
7
+ const vue = require("vue");
8
+ require("@lexical/text");
9
+ require("@lexical/utils");
10
+ require("@lexical/overflow");
11
+ require("tiny-invariant");
12
+ require("@lexical/history");
13
+ require("@lexical/list");
14
+ require("@lexical/dragon");
15
+ require("@lexical/plain-text");
16
+ require("@lexical/rich-text");
17
+ require("@lexical/yjs");
18
+ require("yjs");
19
+ require("../../lexical-vue/components/LexicalDecoratedTeleports.js");
20
+ require("@lexical/html");
21
+ require("@lexical/link");
22
+ require("@lexical/mark");
23
+ require("@lexical/table");
24
+ require("@lexical/hashtag");
25
+ const LexicalDecoratorBlockNode = require("../../lexical-vue/components/LexicalDecoratorBlockNode.js");
26
+ require("@lexical/markdown");
27
+ require("../../lexical-vue/composables/useCollaborationContext.js");
28
+ require("../../lexical-vue/components/LexicalMenu/shared.js");
29
+ require("../../lexical-vue/components/LexicalAutoEmbedPlugin/shared.js");
30
+ require("../../lexical-vue/components/LexicalTypeaheadMenuPlugin/shared.js");
31
+ const DocHtmlBlockComponent = require("./DocHtmlBlockComponent.js");
32
+ lexical.createCommand("HTML_BLOCK_CHANGE");
33
+ lexical.createCommand("REMOVE_HTML_BLOCK_COMMAND");
34
+ const INSERT_HTML_BLOCK_COMMAND = lexical.createCommand("INSERT_HTML_BLOCK_COMMAND");
35
+ class HtmlBlockNode extends LexicalDecoratorBlockNode.DecoratorBlockNode {
36
+ constructor(attrs, format, key) {
37
+ super(format, key);
38
+ __publicField(this, "__attrs");
39
+ this.__attrs = attrs;
40
+ }
41
+ static getType() {
42
+ return "HtmlBlock";
43
+ }
44
+ static clone(node) {
45
+ return new HtmlBlockNode(node.__attrs, node.__format, node.__key);
46
+ }
47
+ static importJSON(serializedNode) {
48
+ const node = $createHtmlBlockNode(serializedNode.attrs);
49
+ node.setFormat(serializedNode.format);
50
+ return node;
51
+ }
52
+ exportJSON() {
53
+ return {
54
+ ...super.exportJSON(),
55
+ type: this.getType(),
56
+ version: 1,
57
+ attrs: this.__attrs
58
+ };
59
+ }
60
+ exportDOM() {
61
+ const element = document.createElement("div");
62
+ element.innerHTML = this.__attrs.content;
63
+ if (this.__attrs.js) {
64
+ const script = document.createElement("script");
65
+ script.innerHTML = this.__attrs.js;
66
+ element.append(script);
67
+ }
68
+ if (this.__attrs.css) {
69
+ const style = document.createElement("style");
70
+ style.innerHTML = this.__attrs.css;
71
+ element.append(style);
72
+ }
73
+ element.setAttribute("class", "mk-doc-html-block");
74
+ return { element };
75
+ }
76
+ static importDOM() {
77
+ return {
78
+ img: (dn) => {
79
+ return {
80
+ conversion: (domNode) => {
81
+ let css = "";
82
+ let js = "";
83
+ domNode.childNodes.forEach((node) => {
84
+ if (node.nodeName.toLowerCase() == "style") {
85
+ css += "\r\n" + node.textContent;
86
+ node.remove();
87
+ } else if (node.nodeName.toLowerCase() == "script") {
88
+ js += "\r\n" + node.textContent;
89
+ node.remove();
90
+ }
91
+ });
92
+ return domNode.classList.contains("mk-doc-html-block") ? {
93
+ node: $createHtmlBlockNode({
94
+ content: domNode.innerHTML,
95
+ css,
96
+ js
97
+ })
98
+ } : null;
99
+ },
100
+ priority: 0
101
+ };
102
+ }
103
+ };
104
+ }
105
+ updateDOM() {
106
+ return false;
107
+ }
108
+ getTextContent(_includeInert, _includeDirectionless) {
109
+ return this.__attrs.content;
110
+ }
111
+ decorate(_editor, config) {
112
+ const embedBlockTheme = config.theme.embedBlock || {};
113
+ return vue.h(DocHtmlBlockComponent, {
114
+ baseClass: embedBlockTheme.base || "",
115
+ focusClass: embedBlockTheme.focus || "",
116
+ format: this.__format,
117
+ nodeKey: this.getKey(),
118
+ attrs: this.__attrs
119
+ });
120
+ }
121
+ }
122
+ function $createHtmlBlockNode(attrs) {
123
+ return new HtmlBlockNode(attrs);
124
+ }
125
+ exports.$createHtmlBlockNode = $createHtmlBlockNode;
126
+ exports.HtmlBlockNode = HtmlBlockNode;
127
+ exports.INSERT_HTML_BLOCK_COMMAND = INSERT_HTML_BLOCK_COMMAND;
128
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../../src/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.ts"],"sourcesContent":["\r\nimport type {\r\n DOMConversionMap,\r\n DOMConversionOutput,\r\n DOMExportOutput,\r\n EditorConfig,\r\n ElementFormatType,\r\n LexicalEditor,\r\n LexicalNode,\r\n NodeKey,\r\n Spread,\r\n LexicalCommand\r\n} from 'lexical'\r\nimport { createCommand } from 'lexical'\r\nimport { DecoratorBlockNode,type SerializedDecoratorBlockNode } from '../../lexical-vue'\r\nimport { h ,type Component} from 'vue'\r\nimport DocHtmlBlockComponent from \"./DocHtmlBlockComponent\"\r\n\r\n/**\r\n * html块类型\r\n */\r\nexport type HtmlBlockAttrs = { content:string, css?:string, js?:string };\r\n\r\n/**\r\n * html块改变\r\n */\r\nexport const HTML_BLOCK_CHANGE: LexicalCommand<HtmlBlockAttrs> = createCommand('HTML_BLOCK_CHANGE')\r\n\r\n/**\r\n * 删除html块\r\n */\r\nexport const REMOVE_HTML_BLOCK_COMMAND: LexicalCommand<undefined|null> = createCommand('REMOVE_HTML_BLOCK_COMMAND')\r\n\r\n\r\n/**\r\n * 插入html块指令\r\n */\r\nexport const INSERT_HTML_BLOCK_COMMAND: LexicalCommand<HtmlBlockAttrs> = createCommand('INSERT_HTML_BLOCK_COMMAND')\r\n\r\n/**\r\n * 图片节点序列化\r\n */\r\nexport type SerializedHtmlBlockNode = Spread<\r\n {\r\n attrs: HtmlBlockAttrs\r\n },\r\n SerializedDecoratorBlockNode\r\n>\r\n\r\n/**\r\n * 定义图片节点\r\n */\r\nexport class HtmlBlockNode extends DecoratorBlockNode {\r\n __attrs: HtmlBlockAttrs\r\n\r\n static getType(): string {\r\n return 'HtmlBlock'\r\n }\r\n\r\n static clone(node: HtmlBlockNode): HtmlBlockNode {\r\n return new HtmlBlockNode(node.__attrs, node.__format, node.__key)\r\n }\r\n\r\n static importJSON(serializedNode: SerializedHtmlBlockNode): HtmlBlockNode {\r\n const node = $createHtmlBlockNode(serializedNode.attrs)\r\n node.setFormat(serializedNode.format)\r\n return node\r\n }\r\n\r\n constructor(attrs: HtmlBlockAttrs, format?: ElementFormatType, key?: NodeKey) {\r\n super(format, key)\r\n this.__attrs = attrs\r\n }\r\n\r\n exportJSON(): SerializedHtmlBlockNode {\r\n\r\n return {\r\n ...super.exportJSON(),\r\n type: this.getType(),\r\n version: 1,\r\n attrs: this.__attrs,\r\n }\r\n }\r\n\r\n exportDOM(): DOMExportOutput {\r\n\r\n const element = document.createElement('div') \r\n\r\n // 内容\r\n element.innerHTML = this.__attrs.content;\r\n\r\n if(this.__attrs.js){\r\n const script = document.createElement('script') \r\n script.innerHTML = this.__attrs.js;\r\n element.append(script);\r\n }\r\n\r\n if(this.__attrs.css){\r\n const style = document.createElement('style')\r\n style.innerHTML = this.__attrs.css;\r\n element.append(style);\r\n }\r\n\r\n\r\n element.setAttribute(\"class\",\"mk-doc-html-block\")\r\n \r\n return { element }\r\n }\r\n\r\n static importDOM(): DOMConversionMap | null {\r\n return {\r\n img: (dn: HTMLElement) => {\r\n return {\r\n conversion: (domNode: HTMLElement) => {\r\n\r\n let css = \"\";\r\n let js = \"\";\r\n\r\n domNode.childNodes.forEach((node:ChildNode)=>{\r\n\r\n if(node.nodeName.toLowerCase() == \"style\"){\r\n css+=\"\\r\\n\"+node.textContent;\r\n node.remove()\r\n }\r\n else if(node.nodeName.toLowerCase() == \"script\"){\r\n js+=\"\\r\\n\"+node.textContent;\r\n node.remove()\r\n }\r\n });\r\n \r\n return domNode.classList.contains(\"mk-doc-html-block\") ? { \r\n node:$createHtmlBlockNode({\r\n content:domNode.innerHTML, css, js\r\n } as HtmlBlockAttrs) \r\n } : null;\r\n },\r\n priority: 0\r\n }\r\n },\r\n }\r\n }\r\n\r\n updateDOM(): false {\r\n return false\r\n }\r\n\r\n getTextContent(\r\n _includeInert?: boolean | undefined,\r\n _includeDirectionless?: false | undefined,\r\n ): string {\r\n return this.__attrs.content\r\n }\r\n\r\n decorate(_editor: LexicalEditor, config: EditorConfig): Component {\r\n const embedBlockTheme = config.theme.embedBlock || {}\r\n return h(DocHtmlBlockComponent, {\r\n baseClass: embedBlockTheme.base || '',\r\n focusClass: embedBlockTheme.focus || '',\r\n format: this.__format,\r\n nodeKey: this.getKey(),\r\n attrs: this.__attrs\r\n })\r\n }\r\n}\r\n\r\n/**\r\n * 创建图片节点\r\n * @param src \r\n * @returns \r\n */\r\nexport function $createHtmlBlockNode(attrs: HtmlBlockAttrs): HtmlBlockNode {\r\n return new HtmlBlockNode(attrs)\r\n}\r\n\r\n/**\r\n * 判断是否是图片节点\r\n * @param node \r\n * @returns \r\n */\r\nexport function $isHtmlBlockNode(\r\n node: HtmlBlockNode | LexicalNode | null | undefined,\r\n): node is HtmlBlockNode {\r\n return node instanceof HtmlBlockNode\r\n}\r\n"],"names":["createCommand","DecoratorBlockNode","h"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BiEA,sBAAc,mBAAmB;AAKzBA,sBAAc,2BAA2B;AAMrG,MAAA,4BAA4DA,sBAAc,2BAA2B;AAe3G,MAAM,sBAAsBC,0BAAAA,mBAAmB;AAAA,EAiBpD,YAAY,OAAuB,QAA4B,KAAe;AAC5E,UAAM,QAAQ,GAAG;AAjBnB;AAkBE,SAAK,UAAU;AAAA,EACjB;AAAA,EAjBA,OAAO,UAAkB;AAChB,WAAA;AAAA,EACT;AAAA,EAEA,OAAO,MAAM,MAAoC;AAC/C,WAAO,IAAI,cAAc,KAAK,SAAS,KAAK,UAAU,KAAK,KAAK;AAAA,EAClE;AAAA,EAEA,OAAO,WAAW,gBAAwD;AAClE,UAAA,OAAO,qBAAqB,eAAe,KAAK;AACjD,SAAA,UAAU,eAAe,MAAM;AAC7B,WAAA;AAAA,EACT;AAAA,EAOA,aAAsC;AAE7B,WAAA;AAAA,MACL,GAAG,MAAM,WAAW;AAAA,MACpB,MAAM,KAAK,QAAQ;AAAA,MACnB,SAAS;AAAA,MACT,OAAO,KAAK;AAAA,IAAA;AAAA,EAEhB;AAAA,EAEA,YAA6B;AAErB,UAAA,UAAU,SAAS,cAAc,KAAK;AAGpC,YAAA,YAAY,KAAK,QAAQ;AAE9B,QAAA,KAAK,QAAQ,IAAG;AACX,YAAA,SAAS,SAAS,cAAc,QAAQ;AACvC,aAAA,YAAY,KAAK,QAAQ;AAChC,cAAQ,OAAO,MAAM;AAAA,IACvB;AAEG,QAAA,KAAK,QAAQ,KAAI;AACZ,YAAA,QAAQ,SAAS,cAAc,OAAO;AACtC,YAAA,YAAY,KAAK,QAAQ;AAC/B,cAAQ,OAAO,KAAK;AAAA,IACtB;AAGQ,YAAA,aAAa,SAAQ,mBAAmB;AAEhD,WAAO,EAAE,QAAQ;AAAA,EACnB;AAAA,EAEA,OAAO,YAAqC;AACnC,WAAA;AAAA,MACL,KAAK,CAAC,OAAoB;AAChB,eAAA;AAAA,UACN,YAAY,CAAC,YAAyB;AAEpC,gBAAI,MAAM;AACV,gBAAI,KAAK;AAED,oBAAA,WAAW,QAAQ,CAAC,SAAiB;AAE3C,kBAAG,KAAK,SAAS,YAAY,KAAK,SAAQ;AACxC,uBAAK,SAAO,KAAK;AACjB,qBAAK,OAAO;AAAA,cAEN,WAAA,KAAK,SAAS,YAAA,KAAiB,UAAS;AAC9C,sBAAI,SAAO,KAAK;AAChB,qBAAK,OAAO;AAAA,cACd;AAAA,YAAA,CACD;AAED,mBAAO,QAAQ,UAAU,SAAS,mBAAmB,IAAK;AAAA,cACxD,MAAK,qBAAqB;AAAA,gBACxB,SAAQ,QAAQ;AAAA,gBAAW;AAAA,gBAAK;AAAA,cAAA,CACf;AAAA,YACjB,IAAA;AAAA,UACN;AAAA,UACA,UAAU;AAAA,QAAA;AAAA,MAEd;AAAA,IAAA;AAAA,EAEJ;AAAA,EAEA,YAAmB;AACV,WAAA;AAAA,EACT;AAAA,EAEA,eACE,eACA,uBACQ;AACR,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA,EAEA,SAAS,SAAwB,QAAiC;AAChE,UAAM,kBAAkB,OAAO,MAAM,cAAc,CAAA;AACnD,WAAOC,IAAAA,EAAE,uBAAuB;AAAA,MAC9B,WAAW,gBAAgB,QAAQ;AAAA,MACnC,YAAY,gBAAgB,SAAS;AAAA,MACrC,QAAQ,KAAK;AAAA,MACb,SAAS,KAAK,OAAO;AAAA,MACrB,OAAO,KAAK;AAAA,IAAA,CACb;AAAA,EACH;AACF;AAOO,SAAS,qBAAqB,OAAsC;AAClE,SAAA,IAAI,cAAc,KAAK;AAChC;;;;"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ const vue = require("vue");
3
+ require("@lexical/text");
4
+ const utils = require("@lexical/utils");
5
+ require("@lexical/overflow");
6
+ const lexical = require("lexical");
7
+ require("tiny-invariant");
8
+ require("@lexical/history");
9
+ const useLexicalComposer = require("../../lexical-vue/composables/useLexicalComposer.js");
10
+ require("@lexical/list");
11
+ require("@lexical/dragon");
12
+ require("@lexical/plain-text");
13
+ require("@lexical/rich-text");
14
+ require("@lexical/yjs");
15
+ require("yjs");
16
+ require("../../lexical-vue/components/LexicalDecoratedTeleports.js");
17
+ require("@lexical/html");
18
+ require("@lexical/link");
19
+ require("@lexical/mark");
20
+ require("@lexical/table");
21
+ require("@lexical/hashtag");
22
+ require("@lexical/markdown");
23
+ require("../../lexical-vue/composables/useCollaborationContext.js");
24
+ require("../../lexical-vue/components/LexicalMenu/shared.js");
25
+ require("../../lexical-vue/components/LexicalAutoEmbedPlugin/shared.js");
26
+ require("../../lexical-vue/components/LexicalTypeaheadMenuPlugin/shared.js");
27
+ const index = require("./index.js");
28
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
29
+ __name: "index",
30
+ setup(__props) {
31
+ const editor = useLexicalComposer.useLexicalComposer();
32
+ vue.onMounted(() => {
33
+ if (!editor.hasNodes([index.HtmlBlockNode])) {
34
+ throw new Error("HtmlBlockPlugin: 自定义HTML代码块节点未注册!");
35
+ }
36
+ const unregister = utils.mergeRegister(
37
+ // 插入
38
+ editor.registerCommand(index.INSERT_HTML_BLOCK_COMMAND, (payload) => {
39
+ utils.$insertNodeToNearestRoot(index.$createHtmlBlockNode(payload));
40
+ return true;
41
+ }, lexical.COMMAND_PRIORITY_EDITOR)
42
+ );
43
+ vue.onUnmounted(() => unregister());
44
+ });
45
+ return (_ctx, _cache) => {
46
+ return null;
47
+ };
48
+ }
49
+ });
50
+ module.exports = _sfc_main;
51
+ //# sourceMappingURL=index.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.vue.js","sources":["../../../../../../../src/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useLexicalComposer } from '../../lexical-vue'\nimport { $insertNodeToNearestRoot,mergeRegister } from '@lexical/utils'\nimport { COMMAND_PRIORITY_EDITOR,COMMAND_PRIORITY_LOW,$getSelection,CLICK_COMMAND } from 'lexical'\n\nimport { onMounted, onUnmounted } from 'vue'\nimport { INSERT_HTML_BLOCK_COMMAND,HtmlBlockNode,$createHtmlBlockNode,HtmlBlockAttrs } from './index'\nimport { RegisterToolbarExtend,type ToolbarExtendPlugin } from \"../ToolbarPlugin/defines\"\n\n\nconst editor = useLexicalComposer()\n\nonMounted(() => {\n\n if (!editor.hasNodes([HtmlBlockNode])){\n throw new Error('HtmlBlockPlugin: 自定义HTML代码块节点未注册!')\n }\n \n // 注册到工具条\n // RegisterToolbarExtend({\n // icon:\"html-code\",\n // text:\"自定义代码块\",\n // action:async ()=>{\n // editor.dispatchCommand(INSERT_HTML_BLOCK_COMMAND,{\n // content:`<div class=\"aa\">我是自定义代码块</div>`,\n // css:\"div.aa{ width:100%;height:300px }\"\n // })\n // },\n // sort:9\n // } as ToolbarExtendPlugin)\n\n // 注册指令\n const unregister = mergeRegister(\n\n // 插入\n editor.registerCommand<HtmlBlockAttrs>(INSERT_HTML_BLOCK_COMMAND,(payload) => {\n $insertNodeToNearestRoot($createHtmlBlockNode(payload))\n return true\n },COMMAND_PRIORITY_EDITOR),\n );\n\n onUnmounted(() => unregister())\n})\n</script>\n\n<template />\n"],"names":["useLexicalComposer","onMounted","HtmlBlockNode","mergeRegister","INSERT_HTML_BLOCK_COMMAND","$insertNodeToNearestRoot","$createHtmlBlockNode","COMMAND_PRIORITY_EDITOR","onUnmounted"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,UAAM,SAASA,mBAAAA;AAEfC,QAAAA,UAAU,MAAM;AAEd,UAAI,CAAC,OAAO,SAAS,CAACC,MAAAA,aAAa,CAAC,GAAE;AAC9B,cAAA,IAAI,MAAM,mCAAmC;AAAA,MACrD;AAgBA,YAAM,aAAaC,MAAA;AAAA;AAAA,QAGjB,OAAO,gBAAgCC,iCAA0B,CAAC,YAAY;AACnDC,yCAAAC,MAAAA,qBAAqB,OAAO,CAAC;AAC/C,iBAAA;AAAA,WACPC,+BAAuB;AAAA,MAAA;AAGfC,sBAAA,MAAM,YAAY;AAAA,IAAA,CAC/B;;;;;;;"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ const index_vue_vue_type_script_setup_true_lang = require("./index.vue.js");
3
+ module.exports = index_vue_vue_type_script_setup_true_lang;
4
+ //# sourceMappingURL=index.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -5,7 +5,6 @@ const dm = require("@maketribe/dm");
5
5
  const elementPlus = require("element-plus");
6
6
  const icons = require("@element-plus/icons-vue");
7
7
  const MsMaterialTable = require("../../../../../modules/ms/dataviews/ms-material/MsMaterialTable.js");
8
- require("@maketribe/request");
9
8
  const index = require("../../../../../modules/ms/components/material-list/index.js");
10
9
  const utils = require("@maketribe/utils");
11
10
  require("../../../image-cropper/index.js");