@maketribe/ms-app 3.2.22 → 3.2.23

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 (317) hide show
  1. package/dist/cjs/components/basic/doc-editor/editor.vue.js +25 -49
  2. package/dist/cjs/components/basic/doc-editor/editor.vue.js.map +1 -1
  3. package/dist/cjs/components/basic/doc-editor/plugins/AutoLinkPlugin.vue.js +2 -25
  4. package/dist/cjs/components/basic/doc-editor/plugins/AutoLinkPlugin.vue.js.map +1 -1
  5. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js +41 -61
  6. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js.map +1 -1
  7. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/HtmlBlockTools.vue.js +64 -0
  8. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/HtmlBlockTools.vue.js.map +1 -0
  9. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/HtmlBlockTools.vue2.js +4 -0
  10. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/HtmlBlockTools.vue2.js.map +1 -0
  11. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/HtmlEditDialog.js +49 -0
  12. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/HtmlEditDialog.js.map +1 -0
  13. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js +49 -73
  14. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js.map +1 -1
  15. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js +13 -23
  16. package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js.map +1 -1
  17. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/DocImageComponent.js +4 -27
  18. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/DocImageComponent.js.map +1 -1
  19. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js +0 -1
  20. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js.map +1 -1
  21. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageTools.vue.js +2 -23
  22. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageTools.vue.js.map +1 -1
  23. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.js +5 -24
  24. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.js.map +1 -1
  25. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js +2 -22
  26. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js.map +1 -1
  27. package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js +2 -23
  28. package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js.map +1 -1
  29. package/dist/cjs/components/basic/doc-editor/{lexical-vue/components/LexicalContentEditable.vue.js → plugins/RichTextPlugin/ContentEditable.vue.js} +5 -18
  30. package/dist/{esm/components/basic/doc-editor/lexical-vue/components/LexicalContentEditable.vue.js.map → cjs/components/basic/doc-editor/plugins/RichTextPlugin/ContentEditable.vue.js.map} +1 -1
  31. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/ContentEditable.vue2.js +4 -0
  32. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/ContentEditable.vue2.js.map +1 -0
  33. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/DecoratedTeleports.js +13 -0
  34. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/DecoratedTeleports.js.map +1 -0
  35. package/dist/cjs/components/basic/doc-editor/{lexical-vue/components/LexicalRichTextPlugin.vue.js → plugins/RichTextPlugin/index.vue.js} +20 -26
  36. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/index.vue.js.map +1 -0
  37. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/nodes/RichTextNode.js +153 -0
  38. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/nodes/RichTextNode.js.map +1 -0
  39. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue.js +2 -22
  40. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue.js.map +1 -1
  41. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js +2 -23
  42. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js.map +1 -1
  43. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/InlineToolsPlugin.vue.js +2 -24
  44. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/InlineToolsPlugin.vue.js.map +1 -1
  45. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js +16 -26
  46. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +1 -1
  47. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +10 -24
  48. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +1 -1
  49. package/dist/cjs/components/basic/doc-editor/plugins/nodes.js +12 -7
  50. package/dist/cjs/components/basic/doc-editor/plugins/nodes.js.map +1 -1
  51. package/dist/cjs/components/basic/doc-editor/themes/doc-editor.css.js +1 -1
  52. package/dist/cjs/components/basic/doc-editor/themes/doc-editor.css.js.map +1 -1
  53. package/dist/cjs/components/basic/doc-editor/themes/doc-theme.css.js +4 -8
  54. package/dist/cjs/components/basic/doc-editor/themes/doc-theme.css.js.map +1 -1
  55. package/dist/cjs/components/data-model/data-filter-form/components/condition-date/condition-date-options.js +1 -1
  56. package/dist/cjs/components/data-model/data-filter-form/components/condition-date/condition-date-options.js.map +1 -1
  57. package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesTable.js +3 -3
  58. package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesTable.js.map +1 -1
  59. package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +2 -2
  60. package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
  61. package/dist/cjs/modules/ms/dataviews/ms-material/ms-material-group/MsMaterialGroupForm.js +4 -0
  62. package/dist/cjs/modules/ms/dataviews/ms-material/ms-material-group/MsMaterialGroupForm.js.map +1 -1
  63. package/dist/cjs/modules/ms/dataviews/ms-member/MsMemberTable.js +1 -1
  64. package/dist/cjs/modules/ms/dataviews/ms-member/MsMemberTable.js.map +1 -1
  65. package/dist/esm/components/basic/doc-editor/editor.vue.js +27 -51
  66. package/dist/esm/components/basic/doc-editor/editor.vue.js.map +1 -1
  67. package/dist/esm/components/basic/doc-editor/plugins/AutoLinkPlugin.vue.js +2 -25
  68. package/dist/esm/components/basic/doc-editor/plugins/AutoLinkPlugin.vue.js.map +1 -1
  69. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js +40 -60
  70. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js.map +1 -1
  71. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/HtmlBlockTools.vue.js +65 -0
  72. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/HtmlBlockTools.vue.js.map +1 -0
  73. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/HtmlBlockTools.vue2.js +5 -0
  74. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/HtmlBlockTools.vue2.js.map +1 -0
  75. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/HtmlEditDialog.js +49 -0
  76. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/HtmlEditDialog.js.map +1 -0
  77. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js +51 -75
  78. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js.map +1 -1
  79. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js +12 -22
  80. package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js.map +1 -1
  81. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/DocImageComponent.js +1 -24
  82. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/DocImageComponent.js.map +1 -1
  83. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js +0 -1
  84. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js.map +1 -1
  85. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageTools.vue.js +1 -22
  86. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageTools.vue.js.map +1 -1
  87. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.js +4 -23
  88. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.js.map +1 -1
  89. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js +1 -21
  90. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js.map +1 -1
  91. package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js +1 -22
  92. package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js.map +1 -1
  93. package/dist/esm/components/basic/doc-editor/{lexical-vue/components/LexicalContentEditable.vue.js → plugins/RichTextPlugin/ContentEditable.vue.js} +3 -16
  94. package/dist/{cjs/components/basic/doc-editor/lexical-vue/components/LexicalContentEditable.vue.js.map → esm/components/basic/doc-editor/plugins/RichTextPlugin/ContentEditable.vue.js.map} +1 -1
  95. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/ContentEditable.vue2.js +5 -0
  96. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/ContentEditable.vue2.js.map +1 -0
  97. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/DecoratedTeleports.js +14 -0
  98. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/DecoratedTeleports.js.map +1 -0
  99. package/dist/esm/components/basic/doc-editor/{lexical-vue/components/LexicalRichTextPlugin.vue.js → plugins/RichTextPlugin/index.vue.js} +18 -24
  100. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/index.vue.js.map +1 -0
  101. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/nodes/RichTextNode.js +153 -0
  102. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/nodes/RichTextNode.js.map +1 -0
  103. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue.js +1 -21
  104. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue.js.map +1 -1
  105. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js +1 -22
  106. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js.map +1 -1
  107. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/InlineToolsPlugin.vue.js +1 -23
  108. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/InlineToolsPlugin.vue.js.map +1 -1
  109. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js +15 -25
  110. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +1 -1
  111. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +9 -23
  112. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +1 -1
  113. package/dist/esm/components/basic/doc-editor/plugins/nodes.js +13 -8
  114. package/dist/esm/components/basic/doc-editor/plugins/nodes.js.map +1 -1
  115. package/dist/esm/components/basic/doc-editor/themes/doc-editor.css.js +1 -1
  116. package/dist/esm/components/basic/doc-editor/themes/doc-editor.css.js.map +1 -1
  117. package/dist/esm/components/basic/doc-editor/themes/doc-theme.css.js +4 -8
  118. package/dist/esm/components/basic/doc-editor/themes/doc-theme.css.js.map +1 -1
  119. package/dist/esm/components/data-model/data-filter-form/components/condition-date/condition-date-options.js +1 -1
  120. package/dist/esm/components/data-model/data-filter-form/components/condition-date/condition-date-options.js.map +1 -1
  121. package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesTable.js +3 -3
  122. package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesTable.js.map +1 -1
  123. package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +2 -2
  124. package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
  125. package/dist/esm/modules/ms/dataviews/ms-material/ms-material-group/MsMaterialGroupForm.js +4 -0
  126. package/dist/esm/modules/ms/dataviews/ms-material/ms-material-group/MsMaterialGroupForm.js.map +1 -1
  127. package/dist/esm/modules/ms/dataviews/ms-member/MsMemberTable.js +1 -1
  128. package/dist/esm/modules/ms/dataviews/ms-member/MsMemberTable.js.map +1 -1
  129. package/dist/types/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.d.ts +6 -3
  130. package/dist/types/components/basic/doc-editor/plugins/HtmlBlockPlugin/HtmlEditDialog.d.ts +6 -0
  131. package/dist/types/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.d.ts +18 -19
  132. package/dist/types/components/basic/doc-editor/plugins/ImagePlugin/index.d.ts +2 -1
  133. package/dist/types/components/basic/doc-editor/{lexical-vue/components/LexicalRichTextPlugin.vue.d.ts → plugins/RichTextPlugin/index.vue.d.ts} +12 -11
  134. package/dist/types/components/basic/doc-editor/plugins/RichTextPlugin/nodes/RichTextNode.d.ts +12 -0
  135. package/dist/types/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.d.ts +22 -1
  136. package/dist/types/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.d.ts +22 -1
  137. package/dist/types/components/basic/doc-editor/plugins/VideoPlugin/VideoNode.d.ts +2 -2
  138. package/dist/types/components/basic/doc-editor/plugins/index.d.ts +9 -0
  139. package/dist/types/components/basic/doc-editor/plugins/nodes.d.ts +1 -1
  140. package/dist/types/components/data-model/data-filter-form/components/condition-date/condition-date-options.d.ts +1 -1
  141. package/dist/types/components/data-model/data-filter-form/components/condition-date/condition-date.d.ts +2 -2
  142. package/dist/types/components/data-model/data-filter-form/components/condition-date/index.d.ts +2 -2
  143. package/dist/types/components/data-model/data-table/views/table/index.d.ts +1 -1
  144. package/dist/types/components/data-model/data-table/views/table/table.d.ts +1 -1
  145. package/dist/types/components/data-model/data-table/views/tree/index.d.ts +1 -1
  146. package/dist/types/components/data-model/data-table/views/tree/tree.d.ts +1 -1
  147. package/dist/types/modules/ms/components/material-list/material-item.vue.d.ts +1 -1
  148. package/dist/types/modules/ms/dataviews/ms-material/ms-material-group/MsMaterialGroupForm.d.ts +1 -0
  149. package/package.json +25 -25
  150. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoEmbedPlugin/shared.js +0 -5
  151. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoEmbedPlugin/shared.js.map +0 -1
  152. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue.js +0 -4
  153. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue.js.map +0 -1
  154. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue2.js +0 -39
  155. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue2.js.map +0 -1
  156. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/shared.js +0 -176
  157. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/shared.js.map +0 -1
  158. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js +0 -4
  159. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js.map +0 -1
  160. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js +0 -108
  161. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js.map +0 -1
  162. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalComposer.vue.js +0 -74
  163. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalComposer.vue.js.map +0 -1
  164. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalComposer.vue2.js +0 -4
  165. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalComposer.vue2.js.map +0 -1
  166. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalContentEditable.vue2.js +0 -4
  167. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalContentEditable.vue2.js.map +0 -1
  168. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalDecoratedTeleports.js +0 -26
  169. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalDecoratedTeleports.js.map +0 -1
  170. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js +0 -36
  171. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js.map +0 -1
  172. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalHistoryPlugin.vue.js +0 -31
  173. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalHistoryPlugin.vue.js.map +0 -1
  174. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalHistoryPlugin.vue2.js +0 -4
  175. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalHistoryPlugin.vue2.js.map +0 -1
  176. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalMenu/shared.js +0 -16
  177. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalMenu/shared.js.map +0 -1
  178. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue.js.map +0 -1
  179. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue2.js +0 -4
  180. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue2.js.map +0 -1
  181. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalTypeaheadMenuPlugin/shared.js +0 -5
  182. package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalTypeaheadMenuPlugin/shared.js.map +0 -1
  183. package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/inject.js +0 -5
  184. package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/inject.js.map +0 -1
  185. package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/useCanShowPlaceholder.js +0 -31
  186. package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/useCanShowPlaceholder.js.map +0 -1
  187. package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/useCollaborationContext.js +0 -29
  188. package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/useCollaborationContext.js.map +0 -1
  189. package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/useDecorators.js +0 -31
  190. package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/useDecorators.js.map +0 -1
  191. package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/useHistory.js +0 -15
  192. package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/useHistory.js.map +0 -1
  193. package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/useLexicalComposer.js +0 -17
  194. package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/useLexicalComposer.js.map +0 -1
  195. package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/useLexicalNodeSelection.js +0 -54
  196. package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/useLexicalNodeSelection.js.map +0 -1
  197. package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/useMounted.js +0 -14
  198. package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/useMounted.js.map +0 -1
  199. package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/useRichTextSetup.js +0 -16
  200. package/dist/cjs/components/basic/doc-editor/lexical-vue/composables/useRichTextSetup.js.map +0 -1
  201. package/dist/cjs/components/basic/doc-editor/plugins/index.vue.js +0 -23
  202. package/dist/cjs/components/basic/doc-editor/plugins/index.vue.js.map +0 -1
  203. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoEmbedPlugin/shared.js +0 -4
  204. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoEmbedPlugin/shared.js.map +0 -1
  205. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue.js +0 -5
  206. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue.js.map +0 -1
  207. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue2.js +0 -40
  208. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue2.js.map +0 -1
  209. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/shared.js +0 -176
  210. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/shared.js.map +0 -1
  211. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js +0 -5
  212. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js.map +0 -1
  213. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js +0 -109
  214. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js.map +0 -1
  215. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalComposer.vue.js +0 -75
  216. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalComposer.vue.js.map +0 -1
  217. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalComposer.vue2.js +0 -5
  218. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalComposer.vue2.js.map +0 -1
  219. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalContentEditable.vue2.js +0 -5
  220. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalContentEditable.vue2.js.map +0 -1
  221. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalDecoratedTeleports.js +0 -27
  222. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalDecoratedTeleports.js.map +0 -1
  223. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js +0 -36
  224. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js.map +0 -1
  225. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalHistoryPlugin.vue.js +0 -32
  226. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalHistoryPlugin.vue.js.map +0 -1
  227. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalHistoryPlugin.vue2.js +0 -5
  228. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalHistoryPlugin.vue2.js.map +0 -1
  229. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalMenu/shared.js +0 -15
  230. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalMenu/shared.js.map +0 -1
  231. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue.js.map +0 -1
  232. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue2.js +0 -5
  233. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue2.js.map +0 -1
  234. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalTypeaheadMenuPlugin/shared.js +0 -4
  235. package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalTypeaheadMenuPlugin/shared.js.map +0 -1
  236. package/dist/esm/components/basic/doc-editor/lexical-vue/composables/inject.js +0 -5
  237. package/dist/esm/components/basic/doc-editor/lexical-vue/composables/inject.js.map +0 -1
  238. package/dist/esm/components/basic/doc-editor/lexical-vue/composables/useCanShowPlaceholder.js +0 -31
  239. package/dist/esm/components/basic/doc-editor/lexical-vue/composables/useCanShowPlaceholder.js.map +0 -1
  240. package/dist/esm/components/basic/doc-editor/lexical-vue/composables/useCollaborationContext.js +0 -28
  241. package/dist/esm/components/basic/doc-editor/lexical-vue/composables/useCollaborationContext.js.map +0 -1
  242. package/dist/esm/components/basic/doc-editor/lexical-vue/composables/useDecorators.js +0 -31
  243. package/dist/esm/components/basic/doc-editor/lexical-vue/composables/useDecorators.js.map +0 -1
  244. package/dist/esm/components/basic/doc-editor/lexical-vue/composables/useHistory.js +0 -15
  245. package/dist/esm/components/basic/doc-editor/lexical-vue/composables/useHistory.js.map +0 -1
  246. package/dist/esm/components/basic/doc-editor/lexical-vue/composables/useLexicalComposer.js +0 -17
  247. package/dist/esm/components/basic/doc-editor/lexical-vue/composables/useLexicalComposer.js.map +0 -1
  248. package/dist/esm/components/basic/doc-editor/lexical-vue/composables/useLexicalNodeSelection.js +0 -54
  249. package/dist/esm/components/basic/doc-editor/lexical-vue/composables/useLexicalNodeSelection.js.map +0 -1
  250. package/dist/esm/components/basic/doc-editor/lexical-vue/composables/useMounted.js +0 -14
  251. package/dist/esm/components/basic/doc-editor/lexical-vue/composables/useMounted.js.map +0 -1
  252. package/dist/esm/components/basic/doc-editor/lexical-vue/composables/useRichTextSetup.js +0 -16
  253. package/dist/esm/components/basic/doc-editor/lexical-vue/composables/useRichTextSetup.js.map +0 -1
  254. package/dist/esm/components/basic/doc-editor/plugins/index.vue.js +0 -24
  255. package/dist/esm/components/basic/doc-editor/plugins/index.vue.js.map +0 -1
  256. package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalAutoEmbedPlugin/index.vue.d.ts +0 -36
  257. package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalAutoEmbedPlugin/shared.d.ts +0 -21
  258. package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalAutoFocusPlugin.vue.d.ts +0 -15
  259. package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue.d.ts +0 -26
  260. package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/shared.d.ts +0 -14
  261. package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalAutoScrollPlugin.vue.d.ts +0 -15
  262. package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.d.ts +0 -31
  263. package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalCharacterLimitPlugin.vue.d.ts +0 -29
  264. package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalClearEditorPlugin.vue.d.ts +0 -6
  265. package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalClickableLinkPlugin.vue.d.ts +0 -29
  266. package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalCollaborationPlugin.vue.d.ts +0 -34
  267. package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalComposer.vue.d.ts +0 -31
  268. package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalContextMenuPlugin.vue.d.ts +0 -62
  269. package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.d.ts +0 -16
  270. package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalHashtagPlugin.vue.d.ts +0 -2
  271. package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalHistoryPlugin.vue.d.ts +0 -16
  272. package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalLinkPlugin.vue.d.ts +0 -15
  273. package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalListPlugin.vue.d.ts +0 -2
  274. package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalMarkdownShortcutPlugin.vue.d.ts +0 -30
  275. package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalMenu/index.vue.d.ts +0 -55
  276. package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalMenu/shared.d.ts +0 -32
  277. package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalNodeMenuPlugin.vue.d.ts +0 -61
  278. package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalOnChangePlugin.vue.d.ts +0 -39
  279. package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalPlainTextPlugin.vue.d.ts +0 -12
  280. package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalTabIndentationPlugin.vue.d.ts +0 -2
  281. package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalTablePlugin.vue.d.ts +0 -39
  282. package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalTreeViewPlugin.vue.d.ts +0 -25
  283. package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalTypeaheadMenuPlugin/index.vue.d.ts +0 -59
  284. package/dist/types/components/basic/doc-editor/lexical-vue/components/LexicalTypeaheadMenuPlugin/shared.d.ts +0 -21
  285. package/dist/types/components/basic/doc-editor/lexical-vue/components/index.d.ts +0 -32
  286. package/dist/types/components/basic/doc-editor/lexical-vue/composables/index.d.ts +0 -16
  287. package/dist/types/components/basic/doc-editor/lexical-vue/composables/inject.d.ts +0 -1
  288. package/dist/types/components/basic/doc-editor/lexical-vue/composables/listenerManager.d.ts +0 -1
  289. package/dist/types/components/basic/doc-editor/lexical-vue/composables/useCanShowPlaceholder.d.ts +0 -2
  290. package/dist/types/components/basic/doc-editor/lexical-vue/composables/useCharacterLimit.d.ts +0 -9
  291. package/dist/types/components/basic/doc-editor/lexical-vue/composables/useCollaborationContext.d.ts +0 -1388
  292. package/dist/types/components/basic/doc-editor/lexical-vue/composables/useDecorators.d.ts +0 -4
  293. package/dist/types/components/basic/doc-editor/lexical-vue/composables/useEffect.d.ts +0 -5
  294. package/dist/types/components/basic/doc-editor/lexical-vue/composables/useHistory.d.ts +0 -4
  295. package/dist/types/components/basic/doc-editor/lexical-vue/composables/useLexicalCommandsLog.d.ts +0 -5
  296. package/dist/types/components/basic/doc-editor/lexical-vue/composables/useLexicalComposer.d.ts +0 -6
  297. package/dist/types/components/basic/doc-editor/lexical-vue/composables/useLexicalIsTextContentEmpty.d.ts +0 -2
  298. package/dist/types/components/basic/doc-editor/lexical-vue/composables/useLexicalNodeSelection.d.ts +0 -7
  299. package/dist/types/components/basic/doc-editor/lexical-vue/composables/useLexicalTextEntity.d.ts +0 -3
  300. package/dist/types/components/basic/doc-editor/lexical-vue/composables/useList.d.ts +0 -2
  301. package/dist/types/components/basic/doc-editor/lexical-vue/composables/useMounted.d.ts +0 -4
  302. package/dist/types/components/basic/doc-editor/lexical-vue/composables/usePlainTextSetup.d.ts +0 -2
  303. package/dist/types/components/basic/doc-editor/lexical-vue/composables/useReactiveEditor.d.ts +0 -2
  304. package/dist/types/components/basic/doc-editor/lexical-vue/composables/useRichTextSetup.d.ts +0 -2
  305. package/dist/types/components/basic/doc-editor/lexical-vue/composables/useTableOfContents.d.ts +0 -8
  306. package/dist/types/components/basic/doc-editor/lexical-vue/composables/useYjsCollaboration.d.ts +0 -8
  307. package/dist/types/components/basic/doc-editor/lexical-vue/index.d.ts +0 -2
  308. package/dist/types/components/basic/doc-editor/lexical-vue/types.d.ts +0 -2
  309. package/dist/types/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolba-back.vue.d.ts +0 -2
  310. package/dist/types/components/basic/doc-editor/plugins/index.vue.d.ts +0 -2
  311. /package/dist/cjs/components/basic/doc-editor/plugins/{index.vue2.js → RichTextPlugin/index.vue2.js} +0 -0
  312. /package/dist/cjs/components/basic/doc-editor/plugins/{index.vue2.js.map → RichTextPlugin/index.vue2.js.map} +0 -0
  313. /package/dist/esm/components/basic/doc-editor/plugins/{index.vue2.js → RichTextPlugin/index.vue2.js} +0 -0
  314. /package/dist/esm/components/basic/doc-editor/plugins/{index.vue2.js.map → RichTextPlugin/index.vue2.js.map} +0 -0
  315. /package/dist/types/components/basic/doc-editor/{lexical-vue/components/LexicalCheckListPlugin.vue.d.ts → plugins/HtmlBlockPlugin/HtmlBlockTools.vue.d.ts} +0 -0
  316. /package/dist/types/components/basic/doc-editor/{lexical-vue/components/LexicalContentEditable.vue.d.ts → plugins/RichTextPlugin/ContentEditable.vue.d.ts} +0 -0
  317. /package/dist/types/components/basic/doc-editor/{lexical-vue/components/LexicalDecoratedTeleports.d.ts → plugins/RichTextPlugin/DecoratedTeleports.d.ts} +0 -0
@@ -1,34 +1,13 @@
1
- import { defineComponent, ref, createVNode, mergeProps } from "vue";
2
- import { CLICK_COMMAND, COMMAND_PRIORITY_LOW } from "lexical";
1
+ import { defineComponent, ref, createVNode } from "vue";
2
+ import { CLICK_COMMAND, COMMAND_PRIORITY_LOW, $getSelection, $isNodeSelection } from "lexical";
3
3
  import { mergeRegister } from "@lexical/utils";
4
- import "@lexical/text";
5
- import { useMounted } from "../../lexical-vue/composables/useMounted.js";
6
- import "@lexical/overflow";
7
- import "tiny-invariant";
8
- import "@lexical/history";
9
- import { useLexicalComposer } from "../../lexical-vue/composables/useLexicalComposer.js";
10
- import { useLexicalNodeSelection } from "../../lexical-vue/composables/useLexicalNodeSelection.js";
11
- import "@lexical/list";
12
- import "@lexical/dragon";
13
- import "@lexical/plain-text";
14
- import "@lexical/rich-text";
15
- import "@lexical/yjs";
16
- import "yjs";
17
- import "../../lexical-vue/components/LexicalDecoratedTeleports.js";
18
- import "@lexical/html";
19
- import "@lexical/link";
20
- import "@lexical/mark";
21
- import "@lexical/table";
22
- import "@lexical/hashtag";
23
- import _sfc_main from "../../lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js";
24
- import "@lexical/markdown";
25
- import "../../lexical-vue/composables/useCollaborationContext.js";
26
- import "../../lexical-vue/components/LexicalMenu/shared.js";
27
- import "../../lexical-vue/components/LexicalAutoEmbedPlugin/shared.js";
28
- import "../../lexical-vue/components/LexicalTypeaheadMenuPlugin/shared.js";
4
+ import { useLexicalComposer, useLexicalNodeSelection, useMounted } from "lexical-vue";
5
+ import { REMOVE_HTML_BLOCK_COMMAND, HTML_BLOCK_CHANGE } from "./index.js";
6
+ import { SELECTED_COMPONENT_COMMAND } from "../commands.js";
7
+ import _sfc_main from "./HtmlBlockTools.vue.js";
29
8
  const DocHtmlBlockComponent = /* @__PURE__ */ defineComponent({
30
9
  name: "DocHtmlBlockComponent",
31
- props: ["baseClass", "focusClass", "nodeKey", "attrs"],
10
+ props: ["baseClass", "focusClass", "class", "nodeKey", "html"],
32
11
  setup(props) {
33
12
  const editor = useLexicalComposer();
34
13
  const {
@@ -37,54 +16,55 @@ const DocHtmlBlockComponent = /* @__PURE__ */ defineComponent({
37
16
  clearSelection
38
17
  } = useLexicalNodeSelection(props.nodeKey);
39
18
  const selfElRef = ref(null);
19
+ const htmlContent = ref(props.html);
40
20
  useMounted(() => {
41
21
  return mergeRegister(
42
- // 选中图
22
+ // 选中
43
23
  editor.registerCommand(CLICK_COMMAND, (event) => {
44
- console.log(event.target);
45
24
  if (event.target === selfElRef.value) {
46
25
  event.preventDefault();
47
26
  if (!event.shiftKey) {
48
27
  clearSelection();
49
28
  }
50
29
  setSelected(true);
30
+ editor.dispatchCommand(SELECTED_COMPONENT_COMMAND, {
31
+ el: selfElRef.value,
32
+ component: _sfc_main
33
+ });
51
34
  return true;
52
35
  }
36
+ editor.dispatchCommand(SELECTED_COMPONENT_COMMAND, null);
37
+ return false;
38
+ }, COMMAND_PRIORITY_LOW),
39
+ // 删除
40
+ editor.registerCommand(REMOVE_HTML_BLOCK_COMMAND, () => {
41
+ const selection = $getSelection();
42
+ if ($isNodeSelection(selection)) {
43
+ selection.getNodes().forEach((node) => node.remove());
44
+ editor.dispatchCommand(SELECTED_COMPONENT_COMMAND, null);
45
+ }
46
+ return false;
47
+ }, COMMAND_PRIORITY_LOW),
48
+ // 修改
49
+ editor.registerCommand(HTML_BLOCK_CHANGE, (payload) => {
50
+ const selection = $getSelection();
51
+ if ($isNodeSelection(selection)) {
52
+ const node = selection.getNodes()[0];
53
+ if (node.getKey() == props.nodeKey) {
54
+ htmlContent.value = payload;
55
+ node.setHtml(payload);
56
+ }
57
+ }
53
58
  return false;
54
59
  }, COMMAND_PRIORITY_LOW)
55
60
  );
56
61
  });
57
62
  return () => {
58
- return createVNode(_sfc_main, {
59
- "nodeKey": "props.nodeKey"
60
- }, {
61
- default: () => [createVNode("iframe", mergeProps({
62
- "ref": (el) => selfElRef.value = el,
63
- "srcdoc": `
64
- <html>
65
- <head>
66
- <style type="text/css">
67
- ${props.attrs.css}
68
- </style>
69
- <script>
70
- ${props.attrs.js}
71
- <\/script>
72
- </head>
73
- <body>${props.attrs.content}</body>
74
- </html>
75
- `,
76
- "style": {
77
- width: "100%",
78
- padding: 0,
79
- margin: 0
80
- }
81
- }, {
82
- frameborder: 0,
83
- allowFullScreen: true
84
- }, {
85
- "allow": "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
86
- }), null)]
87
- });
63
+ return createVNode("div", {
64
+ "class": `${props.baseClass} ${props.class} ${isSelected.value ? props.focusClass : ""}`,
65
+ "ref": (el) => selfElRef.value = el,
66
+ "innerHTML": htmlContent.value
67
+ }, null);
88
68
  };
89
69
  }
90
70
  });
@@ -1 +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,wDAAgB;AAAA,EAC7BC,MAAM;AAAA,EACNC,OAAO,CAAC,aAAa,cAAc,WAAW,OAAO;AAAA,EACrDC,MAAMD,OAAO;AACX,UAAME,SAASC;AACf,UAAM;AAAA,MAAEC;AAAAA,MAAYC;AAAAA,MAAaC;AAAAA,IAAe,IAAIC,wBAClDP,MAAMQ,OACR;AACA,UAAMC,YAAYC,IAAS,IAAI;AAG/BC,eAAW,MAAM;AACf,aAAOC;AAAAA;AAAAA,QAELV,OAAOW,gBACLC,eACCC,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,oBACF;AAAA,MACF;AAAA,IACF,CAAC;AAED,WAAO,MAAM;AACX,aAAAC,YAAAC,WAAA;AAAA,QAAA,WAAA;AAAA,MAAA,GAAA;AAAA,QAAAC,SAAAA,MAAAF,CAAAA,sBAAAG,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;"}
1
+ {"version":3,"file":"DocHtmlBlockComponent.js","sources":["../../../../../../../src/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.tsx"],"sourcesContent":["import {\r\n $getSelection,\r\n $isNodeSelection,\r\n CLICK_COMMAND,\r\n COMMAND_PRIORITY_LOW,\r\n} from \"lexical\";\r\nimport { mergeRegister } from \"@lexical/utils\";\r\nimport {\r\n useLexicalComposer,\r\n useLexicalNodeSelection,\r\n useMounted,\r\n} from \"lexical-vue\";\r\nimport { defineComponent, ref } from \"vue\";\r\nimport { REMOVE_HTML_BLOCK_COMMAND,HTML_BLOCK_CHANGE, HtmlBlockNode } from './index'\r\nimport { SELECTED_COMPONENT_COMMAND,ComponentSelectEvent } from \"../commands\"\r\nimport HtmlBlockTools from \"./HtmlBlockTools.vue\";\r\n\r\n/**\r\n * 图片渲染组件\r\n */\r\nexport default defineComponent({\r\n name: \"DocHtmlBlockComponent\",\r\n props: [\"baseClass\", \"focusClass\", \"class\",\"nodeKey\", \"html\"],\r\n setup(props) {\r\n const editor = useLexicalComposer();\r\n const { isSelected, setSelected, clearSelection } = useLexicalNodeSelection(props.nodeKey);\r\n\r\n const selfElRef = ref<any>(null);\r\n const htmlContent = ref(props.html);\r\n\r\n // 编辑器挂载的时候\r\n useMounted(() => {\r\n return mergeRegister(\r\n // 选中\r\n editor.registerCommand<MouseEvent>(CLICK_COMMAND,(event) => {\r\n if (event.target === selfElRef.value) {\r\n\r\n event.preventDefault();\r\n\r\n if (!event.shiftKey) { clearSelection(); }\r\n\r\n setSelected(true);\r\n\r\n // 选中后显示工具条\r\n editor.dispatchCommand(SELECTED_COMPONENT_COMMAND,{ \r\n el:selfElRef.value,\r\n component:HtmlBlockTools\r\n } as ComponentSelectEvent);\r\n\r\n return true;\r\n }\r\n // 没选中\r\n editor.dispatchCommand(SELECTED_COMPONENT_COMMAND,null);\r\n return false;\r\n }, COMMAND_PRIORITY_LOW),\r\n // 删除\r\n editor.registerCommand(REMOVE_HTML_BLOCK_COMMAND, () => {\r\n \r\n const selection = $getSelection();\r\n \r\n if($isNodeSelection(selection)){\r\n\r\n selection.getNodes().forEach(node=>node.remove());\r\n // 没选中\r\n editor.dispatchCommand(SELECTED_COMPONENT_COMMAND,null);\r\n }\r\n return false;\r\n },COMMAND_PRIORITY_LOW),\r\n // 修改\r\n editor.registerCommand(HTML_BLOCK_CHANGE,(payload:string) => {\r\n\r\n const selection = $getSelection();\r\n\r\n if($isNodeSelection(selection)){\r\n \r\n const node = selection.getNodes()[0] as HtmlBlockNode;\r\n\r\n if(node.getKey() == props.nodeKey){\r\n htmlContent.value = payload;\r\n node.setHtml(payload)\r\n }\r\n \r\n }\r\n \r\n return false\r\n },COMMAND_PRIORITY_LOW),\r\n );\r\n });\r\n\r\n return () => {\r\n return <div class={`${props.baseClass} ${props.class} ${isSelected.value ? props.focusClass : ''}`} \r\n ref={el=>selfElRef.value=el} v-html={htmlContent.value}>\r\n </div>\r\n };\r\n },\r\n});\r\n"],"names":["defineComponent","name","props","setup","editor","useLexicalComposer","isSelected","setSelected","clearSelection","useLexicalNodeSelection","nodeKey","selfElRef","ref","htmlContent","html","useMounted","mergeRegister","registerCommand","CLICK_COMMAND","event","target","value","preventDefault","shiftKey","dispatchCommand","SELECTED_COMPONENT_COMMAND","el","component","HtmlBlockTools","COMMAND_PRIORITY_LOW","REMOVE_HTML_BLOCK_COMMAND","selection","$getSelection","$isNodeSelection","getNodes","forEach","node","remove","HTML_BLOCK_CHANGE","payload","getKey","setHtml","_createVNode","baseClass","class","focusClass"],"mappings":";;;;;;;AAoBA,MAAeA,wDAAgB;AAAA,EAC7BC,MAAM;AAAA,EACNC,OAAO,CAAC,aAAa,cAAc,SAAQ,WAAW,MAAM;AAAA,EAC5DC,MAAMD,OAAO;AACX,UAAME,SAASC;AACf,UAAM;AAAA,MAAEC;AAAAA,MAAYC;AAAAA,MAAaC;AAAAA,IAAe,IAAIC,wBAAwBP,MAAMQ,OAAO;AAEzF,UAAMC,YAAYC,IAAS,IAAI;AAC/B,UAAMC,cAAcD,IAAIV,MAAMY,IAAI;AAGlCC,eAAW,MAAM;AACf,aAAOC;AAAAA;AAAAA,QAELZ,OAAOa,gBAA4BC,eAAeC,WAAU;AAC1D,cAAIA,MAAMC,WAAWT,UAAUU,OAAO;AAEpCF,kBAAMG,eAAc;AAEpB,gBAAI,CAACH,MAAMI,UAAU;AAAEf;YAAmB;AAE1CD,wBAAY,IAAI;AAGhBH,mBAAOoB,gBAAgBC,4BAA2B;AAAA,cAChDC,IAAGf,UAAUU;AAAAA,cACbM,WAAUC;AAAAA,YACZ,CAAyB;AAEzB,mBAAO;AAAA,UACT;AAEAxB,iBAAOoB,gBAAgBC,4BAA2B,IAAI;AACtD,iBAAO;AAAA,QACR,GAAEI,oBAAoB;AAAA;AAAA,QAEvBzB,OAAOa,gBAAgBa,2BAA2B,MAAM;AAEtD,gBAAMC,YAAYC;AAElB,cAAGC,iBAAiBF,SAAS,GAAE;AAE7BA,sBAAUG,SAAQ,EAAGC,QAAQC,UAAMA,KAAKC,OAAM,CAAE;AAEhDjC,mBAAOoB,gBAAgBC,4BAA2B,IAAI;AAAA,UACxD;AACA,iBAAO;AAAA,QACR,GAACI,oBAAoB;AAAA;AAAA,QAEtBzB,OAAOa,gBAAgBqB,mBAAmBC,aAAmB;AAE3D,gBAAMR,YAAYC;AAElB,cAAGC,iBAAiBF,SAAS,GAAE;AAE7B,kBAAMK,OAAOL,UAAUG,SAAU,EAAC,CAAC;AAEnC,gBAAGE,KAAKI,YAAYtC,MAAMQ,SAAQ;AAChCG,0BAAYQ,QAAQkB;AACpBH,mBAAKK,QAAQF,OAAO;AAAA,YACtB;AAAA,UAEF;AAEA,iBAAO;AAAA,WACPV,oBAAoB;AAAA,MACxB;AAAA,IACF,CAAC;AAED,WAAO,MAAM;AACX,aAAAa,YAAA,OAAA;AAAA,QAAA,SAAmB,GAAGxC,MAAMyC,SAAS,IAAIzC,MAAM0C,KAAK,IAAItC,WAAWe,QAAQnB,MAAM2C,aAAa,EAAE;AAAA,QAAE,OAC7FnB,QAAIf,UAAUU,QAAMK;AAAAA,QAAE,aAAUb,YAAYQ;AAAAA,MAAK,GAAA,IAAA;AAAA;EAG1D;AACF,CAAC;"}
@@ -0,0 +1,65 @@
1
+ import { defineComponent, ref, onMounted, onUnmounted, resolveComponent, openBlock, createBlock, withCtx, createVNode, unref } from "vue";
2
+ import { SELECTION_CHANGE_COMMAND, $getSelection, $isNodeSelection } from "lexical";
3
+ import { mergeRegister } from "@lexical/utils";
4
+ import { useLexicalComposer } from "lexical-vue";
5
+ import { HtmlBlockNode, REMOVE_HTML_BLOCK_COMMAND, HTML_BLOCK_CHANGE } from "./index.js";
6
+ import { ShowHtmlEditPanel } from "./HtmlEditDialog.js";
7
+ const _sfc_main = /* @__PURE__ */ defineComponent({
8
+ __name: "HtmlBlockTools",
9
+ setup(__props) {
10
+ const editor = useLexicalComposer();
11
+ const htmlContent = ref("");
12
+ const editHandle = async () => {
13
+ var result = await ShowHtmlEditPanel(htmlContent.value);
14
+ editor.dispatchCommand(HTML_BLOCK_CHANGE, result);
15
+ };
16
+ onMounted(() => {
17
+ const unregisterMergeListener = mergeRegister(
18
+ editor.registerCommand(SELECTION_CHANGE_COMMAND, (payload, newEditor) => {
19
+ const selection = $getSelection();
20
+ if ($isNodeSelection(selection)) {
21
+ const node = selection.getNodes()[0];
22
+ if (node.__type == HtmlBlockNode.getType()) {
23
+ htmlContent.value = node == null ? void 0 : node.__html;
24
+ }
25
+ }
26
+ return false;
27
+ }, 1)
28
+ );
29
+ onUnmounted(() => unregisterMergeListener());
30
+ });
31
+ return (_ctx, _cache) => {
32
+ const _component_MKSvgIcon = resolveComponent("MKSvgIcon");
33
+ const _component_el_button = resolveComponent("el-button");
34
+ const _component_el_button_group = resolveComponent("el-button-group");
35
+ return openBlock(), createBlock(_component_el_button_group, null, {
36
+ default: withCtx(() => [
37
+ createVNode(_component_el_button, {
38
+ text: "",
39
+ onClick: editHandle
40
+ }, {
41
+ default: withCtx(() => [
42
+ createVNode(_component_MKSvgIcon, { iconClass: `Edit` })
43
+ ]),
44
+ _: 1
45
+ }),
46
+ createVNode(_component_el_button, {
47
+ text: "",
48
+ type: "danger",
49
+ onClick: _cache[0] || (_cache[0] = ($event) => unref(editor).dispatchCommand(unref(REMOVE_HTML_BLOCK_COMMAND), null))
50
+ }, {
51
+ default: withCtx(() => [
52
+ createVNode(_component_MKSvgIcon, { iconClass: `Delete` })
53
+ ]),
54
+ _: 1
55
+ })
56
+ ]),
57
+ _: 1
58
+ });
59
+ };
60
+ }
61
+ });
62
+ export {
63
+ _sfc_main as default
64
+ };
65
+ //# sourceMappingURL=HtmlBlockTools.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HtmlBlockTools.vue.js","sources":["../../../../../../../src/components/basic/doc-editor/plugins/HtmlBlockPlugin/HtmlBlockTools.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { \r\n SELECTION_CHANGE_COMMAND,$getSelection,$isNodeSelection \r\n} from 'lexical'\r\nimport { mergeRegister } from '@lexical/utils'\r\nimport { onMounted, onUnmounted,ref } from 'vue'\r\nimport { useLexicalComposer } from 'lexical-vue'\r\nimport { REMOVE_HTML_BLOCK_COMMAND,HTML_BLOCK_CHANGE, HtmlBlockNode } from './index'\r\nimport { ShowHtmlEditPanel } from \"./HtmlEditDialog\"\r\n\r\n \r\nconst editor = useLexicalComposer()\r\nconst htmlContent = ref(\"\")\r\n\r\n// 编辑\r\nconst editHandle = async ()=>{\r\n var result = await ShowHtmlEditPanel(htmlContent.value);\r\n editor.dispatchCommand(HTML_BLOCK_CHANGE,result as string)\r\n}\r\n\r\nonMounted(()=>{\r\n\r\n const unregisterMergeListener = mergeRegister(\r\n editor.registerCommand(SELECTION_CHANGE_COMMAND, (payload, newEditor) => {\r\n \r\n const selection = $getSelection();\r\n\r\n if($isNodeSelection(selection)){\r\n\r\n const node = selection.getNodes()[0] as HtmlBlockNode;\r\n \r\n if(node.__type == HtmlBlockNode.getType()){\r\n htmlContent.value = node?.__html\r\n }\r\n \r\n }\r\n return false;\r\n },1)\r\n )\r\n\r\n // 卸载\r\n onUnmounted(() => unregisterMergeListener())\r\n\r\n})\r\n\r\n</script>\r\n\r\n<template>\r\n <el-button-group>\r\n <el-button text @click=\"editHandle\">\r\n <MKSvgIcon :iconClass=\"`Edit`\" /> \r\n </el-button>\r\n <el-button text type=\"danger\" @click=\"editor.dispatchCommand(REMOVE_HTML_BLOCK_COMMAND,null)\">\r\n <MKSvgIcon :iconClass=\"`Delete`\" /> \r\n </el-button>\r\n </el-button-group>\r\n</template>\r\n"],"names":[],"mappings":";;;;;;;;;AAWA,UAAM,SAAS;AACT,UAAA,cAAc,IAAI,EAAE;AAG1B,UAAM,aAAa,YAAW;AAC5B,UAAI,SAAS,MAAM,kBAAkB,YAAY,KAAK;AAC/C,aAAA,gBAAgB,mBAAkB,MAAgB;AAAA,IAAA;AAG3D,cAAU,MAAI;AAEZ,YAAM,0BAA0B;AAAA,QAC9B,OAAO,gBAAgB,0BAA0B,CAAC,SAAS,cAAc;AAEvE,gBAAM,YAAY;AAEf,cAAA,iBAAiB,SAAS,GAAE;AAE7B,kBAAM,OAAO,UAAU,SAAS,EAAE,CAAC;AAEnC,gBAAG,KAAK,UAAU,cAAc,QAAA,GAAU;AACxC,0BAAY,QAAQ,6BAAM;AAAA,YAC5B;AAAA,UAEF;AACO,iBAAA;AAAA,WACP,CAAC;AAAA,MAAA;AAIO,kBAAA,MAAM,yBAAyB;AAAA,IAAA,CAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,5 @@
1
+ import _sfc_main from "./HtmlBlockTools.vue.js";
2
+ export {
3
+ _sfc_main as default
4
+ };
5
+ //# sourceMappingURL=HtmlBlockTools.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HtmlBlockTools.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,49 @@
1
+ import { ref, createVNode, Fragment, createTextVNode } from "vue";
2
+ import { Dialoger } from "@maketribe/dm";
3
+ import { ElButton } from "element-plus";
4
+ import { MKCodeEditor } from "../../../code-editor/index.js";
5
+ import { html } from "@codemirror/lang-html";
6
+ const ShowHtmlEditPanel = async (content) => {
7
+ return new Promise((resolve, reject) => {
8
+ const htmlValue = ref(content);
9
+ const extensions = [html()];
10
+ const handleCancelClick = () => {
11
+ dialogInstance.destroy();
12
+ };
13
+ const handleConfirmClick = () => {
14
+ dialogInstance.destroy();
15
+ resolve(htmlValue.value);
16
+ };
17
+ const dialogInstance = Dialoger.customRender({
18
+ title: "自定义HTML代码块",
19
+ class: "mk-html-editor-dialog",
20
+ width: "70%",
21
+ onClose: () => {
22
+ dialogInstance.destroy();
23
+ },
24
+ body: () => {
25
+ return createVNode(MKCodeEditor, {
26
+ "modelValue": htmlValue.value,
27
+ "onUpdate:modelValue": ($event) => htmlValue.value = $event,
28
+ "extensions": extensions
29
+ }, null);
30
+ },
31
+ footer: () => {
32
+ return createVNode(Fragment, null, [createVNode(ElButton, {
33
+ "onClick": handleCancelClick
34
+ }, {
35
+ default: () => [createTextVNode("取消")]
36
+ }), createVNode(ElButton, {
37
+ "type": "primary",
38
+ "onClick": handleConfirmClick
39
+ }, {
40
+ default: () => [createTextVNode("确定")]
41
+ })]);
42
+ }
43
+ });
44
+ });
45
+ };
46
+ export {
47
+ ShowHtmlEditPanel
48
+ };
49
+ //# sourceMappingURL=HtmlEditDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HtmlEditDialog.js","sources":["../../../../../../../src/components/basic/doc-editor/plugins/HtmlBlockPlugin/HtmlEditDialog.tsx"],"sourcesContent":["\r\nimport { Fragment,ref,unref } from 'vue'\r\nimport { Dialoger } from '@maketribe/dm'\r\nimport { ElButton} from \"element-plus\";\r\nimport { MKCodeEditor } from \"../../../code-editor\"\r\nimport { html } from \"@codemirror/lang-html\"\r\n/**\r\n * \r\n * @param html \r\n * @returns \r\n */\r\nexport const ShowHtmlEditPanel = async (content:any) => {\r\n return new Promise((resolve,reject) => {\r\n\r\n const htmlValue = ref(content)\r\n\r\n const extensions = [html()]\r\n\r\n // 取消编辑\r\n const handleCancelClick = () => {\r\n dialogInstance.destroy();\r\n };\r\n\r\n // 确认编辑\r\n const handleConfirmClick = () => {\r\n dialogInstance.destroy();\r\n resolve(htmlValue.value);\r\n };\r\n\r\n const dialogInstance = Dialoger.customRender({\r\n title: \"自定义HTML代码块\",\r\n class: \"mk-html-editor-dialog\",\r\n width: \"70%\",\r\n onClose: () => {\r\n dialogInstance.destroy();\r\n },\r\n body: () => {\r\n return <MKCodeEditor v-model={htmlValue.value} extensions={extensions} ></MKCodeEditor>\r\n },\r\n footer: () => {\r\n return <Fragment>\r\n <ElButton onClick={handleCancelClick}>取消</ElButton>\r\n <ElButton type=\"primary\" onClick={handleConfirmClick}>\r\n 确定\r\n </ElButton>\r\n </Fragment>\r\n },\r\n });\r\n });\r\n}\r\n"],"names":["ShowHtmlEditPanel","content","Promise","resolve","reject","htmlValue","ref","extensions","html","handleCancelClick","dialogInstance","destroy","handleConfirmClick","value","Dialoger","customRender","title","class","width","onClose","body","_createVNode","MKCodeEditor","$event","footer","_Fragment","ElButton","default","_createTextVNode"],"mappings":";;;;;AAWaA,MAAAA,oBAAoB,OAAQC,YAAgB;AACvD,SAAO,IAAIC,QAAQ,CAACC,SAAQC,WAAW;AAErC,UAAMC,YAAYC,IAAIL,OAAO;AAE7B,UAAMM,aAAa,CAACC,KAAI,CAAE;AAG1B,UAAMC,oBAAoBA,MAAM;AAC9BC,qBAAeC,QAAO;AAAA;AAIxB,UAAMC,qBAAqBA,MAAM;AAC/BF,qBAAeC,QAAO;AACtBR,cAAQE,UAAUQ,KAAK;AAAA;AAGzB,UAAMH,iBAAiBI,SAASC,aAAa;AAAA,MAC3CC,OAAO;AAAA,MACPC,OAAO;AAAA,MACPC,OAAO;AAAA,MACPC,SAASA,MAAM;AACbT,uBAAeC,QAAO;AAAA,MACvB;AAAA,MACDS,MAAMA,MAAM;AACV,eAAAC,YAAAC,cAAA;AAAA,UAAA,cAA8BjB,UAAUQ;AAAAA,UAAK,uBAAAU,YAAflB,UAAUQ,QAAKU;AAAAA,UAAA,cAAchB;AAAAA,QAAU,GAAA,IAAA;AAAA,MACtE;AAAA,MACDiB,QAAQA,MAAM;AACZ,eAAAH,YAAAI,UAAAJ,MAAAA,CAAAA,YAAAK,UAAA;AAAA,UAAA,WACqBjB;AAAAA,QAAiB,GAAA;AAAA,UAAAkB,SAAAA,MAAA,CAAAC,gBAAA,IAAA,CAAA;AAAA,SAAAP,GAAAA,YAAAK,UAAA;AAAA,UAAA,QAAA;AAAA,UAAA,WACFd;AAAAA,QAAkB,GAAA;AAAA,UAAAe,SAAAA,MAAA,CAAAC,gBAAA,IAAA,CAAA;AAAA,QAAA,CAAA,CAAA,CAAA;AAAA,MAIxD;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH;"}
@@ -1,128 +1,104 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
3
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
- import { createCommand } from "lexical";
4
+ import { createCommand, DecoratorNode } from "lexical";
5
5
  import { h } from "vue";
6
- import "@lexical/text";
7
- import "@lexical/utils";
8
- import "@lexical/overflow";
9
- import "tiny-invariant";
10
- import "@lexical/history";
11
- import "@lexical/list";
12
- import "@lexical/dragon";
13
- import "@lexical/plain-text";
14
- import "@lexical/rich-text";
15
- import "@lexical/yjs";
16
- import "yjs";
17
- import "../../lexical-vue/components/LexicalDecoratedTeleports.js";
18
- import "@lexical/html";
19
- import "@lexical/link";
20
- import "@lexical/mark";
21
- import "@lexical/table";
22
- import "@lexical/hashtag";
23
- import { DecoratorBlockNode } from "../../lexical-vue/components/LexicalDecoratorBlockNode.js";
24
- import "@lexical/markdown";
25
- import "../../lexical-vue/composables/useCollaborationContext.js";
26
- import "../../lexical-vue/components/LexicalMenu/shared.js";
27
- import "../../lexical-vue/components/LexicalAutoEmbedPlugin/shared.js";
28
- import "../../lexical-vue/components/LexicalTypeaheadMenuPlugin/shared.js";
29
6
  import DocHtmlBlockComponent from "./DocHtmlBlockComponent.js";
30
- createCommand("HTML_BLOCK_CHANGE");
31
- createCommand("REMOVE_HTML_BLOCK_COMMAND");
7
+ const HTML_BLOCK_CHANGE = createCommand("HTML_BLOCK_CHANGE");
8
+ const REMOVE_HTML_BLOCK_COMMAND = createCommand("REMOVE_HTML_BLOCK_COMMAND");
32
9
  const INSERT_HTML_BLOCK_COMMAND = createCommand("INSERT_HTML_BLOCK_COMMAND");
33
- class HtmlBlockNode extends DecoratorBlockNode {
34
- constructor(attrs, format, key) {
35
- super(format, key);
36
- __publicField(this, "__attrs");
37
- this.__attrs = attrs;
10
+ const ClassMake = "mk-doc-html-block";
11
+ class HtmlBlockNode extends DecoratorNode {
12
+ constructor(html, key) {
13
+ super(key);
14
+ __publicField(this, "__html");
15
+ __publicField(this, "__indent");
16
+ this.__html = html;
17
+ this.__indent = 0;
38
18
  }
39
19
  static getType() {
40
20
  return "HtmlBlock";
41
21
  }
42
22
  static clone(node) {
43
- return new HtmlBlockNode(node.__attrs, node.__format, node.__key);
23
+ return new HtmlBlockNode(node.__html, node.__key);
44
24
  }
45
25
  static importJSON(serializedNode) {
46
- const node = $createHtmlBlockNode(serializedNode.attrs);
47
- node.setFormat(serializedNode.format);
26
+ const node = $createHtmlBlockNode(serializedNode.html);
48
27
  return node;
49
28
  }
29
+ setHtml(html) {
30
+ this.getWritable().__html = html;
31
+ }
50
32
  exportJSON() {
51
33
  return {
52
34
  ...super.exportJSON(),
53
35
  type: this.getType(),
54
36
  version: 1,
55
- attrs: this.__attrs
37
+ indent: this.__indent,
38
+ html: this.__html
56
39
  };
57
40
  }
58
41
  exportDOM() {
59
42
  const element = document.createElement("div");
60
- element.innerHTML = this.__attrs.content;
61
- if (this.__attrs.js) {
62
- const script = document.createElement("script");
63
- script.innerHTML = this.__attrs.js;
64
- element.append(script);
65
- }
66
- if (this.__attrs.css) {
67
- const style = document.createElement("style");
68
- style.innerHTML = this.__attrs.css;
69
- element.append(style);
70
- }
71
- element.setAttribute("class", "mk-doc-html-block");
43
+ element.innerHTML = this.__html;
44
+ element.setAttribute("class", ClassMake);
72
45
  return { element };
73
46
  }
74
47
  static importDOM() {
75
48
  return {
76
- img: (dn) => {
49
+ div: (dn) => {
77
50
  return {
78
- conversion: (domNode) => {
79
- let css = "";
80
- let js = "";
81
- domNode.childNodes.forEach((node) => {
82
- if (node.nodeName.toLowerCase() == "style") {
83
- css += "\r\n" + node.textContent;
84
- node.remove();
85
- } else if (node.nodeName.toLowerCase() == "script") {
86
- js += "\r\n" + node.textContent;
87
- node.remove();
88
- }
89
- });
90
- return domNode.classList.contains("mk-doc-html-block") ? {
91
- node: $createHtmlBlockNode({
92
- content: domNode.innerHTML,
93
- css,
94
- js
95
- })
96
- } : null;
97
- },
98
- priority: 0
51
+ conversion: dn.classList.contains(ClassMake) ? (domNode) => {
52
+ return {
53
+ node: $createHtmlBlockNode(domNode.innerHTML)
54
+ };
55
+ } : null,
56
+ priority: 10
99
57
  };
100
58
  }
101
59
  };
102
60
  }
61
+ createDOM() {
62
+ return document.createElement("div");
63
+ }
103
64
  updateDOM() {
104
65
  return false;
105
66
  }
106
67
  getTextContent(_includeInert, _includeDirectionless) {
107
- return this.__attrs.content;
68
+ const element = document.createElement("div");
69
+ element.innerHTML = this.__html;
70
+ return element.textContent;
108
71
  }
109
72
  decorate(_editor, config) {
110
73
  const embedBlockTheme = config.theme.embedBlock || {};
111
74
  return h(DocHtmlBlockComponent, {
112
75
  baseClass: embedBlockTheme.base || "",
113
76
  focusClass: embedBlockTheme.focus || "",
114
- format: this.__format,
77
+ class: ClassMake,
115
78
  nodeKey: this.getKey(),
116
- attrs: this.__attrs
79
+ html: this.__html
117
80
  });
118
81
  }
82
+ setIndent(indentLevel) {
83
+ const self = this.getWritable();
84
+ self.__indent = indentLevel;
85
+ return this;
86
+ }
87
+ getIndent() {
88
+ return this.getLatest().__indent;
89
+ }
90
+ isInline() {
91
+ return false;
92
+ }
119
93
  }
120
- function $createHtmlBlockNode(attrs) {
121
- return new HtmlBlockNode(attrs);
94
+ function $createHtmlBlockNode(html) {
95
+ return new HtmlBlockNode(html);
122
96
  }
123
97
  export {
124
98
  $createHtmlBlockNode,
99
+ HTML_BLOCK_CHANGE,
125
100
  HtmlBlockNode,
126
- INSERT_HTML_BLOCK_COMMAND
101
+ INSERT_HTML_BLOCK_COMMAND,
102
+ REMOVE_HTML_BLOCK_COMMAND
127
103
  };
128
104
  //# sourceMappingURL=index.js.map
@@ -1 +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":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BiE,cAAc,mBAAmB;AAKzB,cAAc,2BAA2B;AAMrG,MAAA,4BAA4D,cAAc,2BAA2B;AAe3G,MAAM,sBAAsB,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,WAAO,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;"}
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 DOMExportOutput,\r\n EditorConfig,\r\n LexicalEditor,\r\n LexicalNode,\r\n NodeKey,\r\n Spread,\r\n LexicalCommand,\r\n SerializedLexicalNode\r\n} from 'lexical'\r\nimport { createCommand,DecoratorNode } from 'lexical'\r\nimport { h ,type Component } from 'vue'\r\nimport DocHtmlBlockComponent from \"./DocHtmlBlockComponent\"\r\n\r\n\r\n/**\r\n * html块改变\r\n */\r\nexport const HTML_BLOCK_CHANGE: LexicalCommand<string> = 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 * 插入html块指令\r\n */\r\nexport const INSERT_HTML_BLOCK_COMMAND: LexicalCommand<string> = createCommand('INSERT_HTML_BLOCK_COMMAND')\r\n\r\n/**\r\n * 图片节点序列化\r\n */\r\nexport type SerializedHtmlBlockNode = Spread<\r\n {\r\n html: string,\r\n indent:number\r\n },\r\n SerializedLexicalNode\r\n>\r\n\r\n// 类标识\r\nconst ClassMake = \"mk-doc-html-block\";\r\n\r\n/**\r\n * 定义html节点\r\n */\r\nexport class HtmlBlockNode extends DecoratorNode<Component> {\r\n __html: string\r\n __indent:number\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.__html,node.__key)\r\n }\r\n\r\n static importJSON(serializedNode: SerializedHtmlBlockNode): HtmlBlockNode {\r\n const node = $createHtmlBlockNode(serializedNode.html)\r\n return node\r\n }\r\n\r\n constructor(html: string, key?: NodeKey) {\r\n super(key)\r\n this.__html = html\r\n this.__indent = 0;\r\n }\r\n\r\n setHtml(html:string){\r\n this.getWritable().__html = html\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 indent:this.__indent,\r\n html: this.__html\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.__html;\r\n\r\n element.setAttribute(\"class\",ClassMake)\r\n \r\n return { element }\r\n }\r\n\r\n static importDOM(): DOMConversionMap | null {\r\n return {\r\n div: (dn: HTMLElement):any => {\r\n return {\r\n conversion: dn.classList.contains(ClassMake) ? (domNode: HTMLElement) => {\r\n return { \r\n node:$createHtmlBlockNode(domNode.innerHTML as string) \r\n };\r\n } : null,\r\n priority: 10\r\n }\r\n },\r\n }\r\n }\r\n createDOM() {\r\n return document.createElement('div')\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\r\n const element = document.createElement('div') \r\n element.innerHTML = this.__html;\r\n return element.textContent as string;\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 class:ClassMake,\r\n nodeKey: this.getKey(),\r\n html: this.__html\r\n })\r\n }\r\n setIndent(indentLevel:number) {\r\n const self = this.getWritable();\r\n self.__indent = indentLevel;\r\n return this;\r\n }\r\n getIndent() {\r\n return this.getLatest().__indent;\r\n }\r\n isInline() {\r\n return false;\r\n }\r\n}\r\n\r\n/**\r\n * 创建图片节点\r\n * @param src \r\n * @returns \r\n */\r\nexport function $createHtmlBlockNode(html: string): HtmlBlockNode {\r\n return new HtmlBlockNode(html)\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":[],"mappings":";;;;;;AAoBa,MAAA,oBAA4C,cAAc,mBAAmB;AAK7E,MAAA,4BAA4D,cAAc,2BAA2B;AAKrG,MAAA,4BAAoD,cAAc,2BAA2B;AAc1G,MAAM,YAAY;AAKX,MAAM,sBAAsB,cAAyB;AAAA,EAiB1D,YAAY,MAAe,KAAe;AACxC,UAAM,GAAG;AAjBX;AACA;AAiBE,SAAK,SAAS;AACd,SAAK,WAAW;AAAA,EAClB;AAAA,EAjBA,OAAO,UAAkB;AAChB,WAAA;AAAA,EACT;AAAA,EAEA,OAAO,MAAM,MAAoC;AAC/C,WAAO,IAAI,cAAc,KAAK,QAAO,KAAK,KAAK;AAAA,EACjD;AAAA,EAEA,OAAO,WAAW,gBAAwD;AAClE,UAAA,OAAO,qBAAqB,eAAe,IAAI;AAC9C,WAAA;AAAA,EACT;AAAA,EAQA,QAAQ,MAAY;AACb,SAAA,YAAA,EAAc,SAAS;AAAA,EAC9B;AAAA,EAEA,aAAsC;AAE7B,WAAA;AAAA,MACL,GAAG,MAAM,WAAW;AAAA,MACpB,MAAM,KAAK,QAAQ;AAAA,MACnB,SAAS;AAAA,MACT,QAAO,KAAK;AAAA,MACZ,MAAM,KAAK;AAAA,IAAA;AAAA,EAEf;AAAA,EAEA,YAA6B;AAErB,UAAA,UAAU,SAAS,cAAc,KAAK;AAG5C,YAAQ,YAAY,KAAK;AAEjB,YAAA,aAAa,SAAQ,SAAS;AAEtC,WAAO,EAAE,QAAQ;AAAA,EACnB;AAAA,EAEA,OAAO,YAAqC;AACnC,WAAA;AAAA,MACL,KAAM,CAAC,OAAwB;AACrB,eAAA;AAAA,UACN,YAAY,GAAG,UAAU,SAAS,SAAS,IAAI,CAAC,YAAyB;AAChE,mBAAA;AAAA,cACL,MAAK,qBAAqB,QAAQ,SAAmB;AAAA,YAAA;AAAA,UACvD,IACE;AAAA,UACJ,UAAU;AAAA,QAAA;AAAA,MAEd;AAAA,IAAA;AAAA,EAEJ;AAAA,EACA,YAAY;AACH,WAAA,SAAS,cAAc,KAAK;AAAA,EACrC;AAAA,EACA,YAAmB;AACV,WAAA;AAAA,EACT;AAAA,EAEA,eACE,eACA,uBACQ;AAEF,UAAA,UAAU,SAAS,cAAc,KAAK;AAC5C,YAAQ,YAAY,KAAK;AACzB,WAAO,QAAQ;AAAA,EACjB;AAAA,EAEA,SAAS,SAAwB,QAAiC;AAChE,UAAM,kBAAkB,OAAO,MAAM,cAAc,CAAA;AACnD,WAAO,EAAE,uBAAuB;AAAA,MAC9B,WAAW,gBAAgB,QAAQ;AAAA,MACnC,YAAY,gBAAgB,SAAS;AAAA,MACrC,OAAM;AAAA,MACN,SAAS,KAAK,OAAO;AAAA,MACrB,MAAM,KAAK;AAAA,IAAA,CACZ;AAAA,EACH;AAAA,EACA,UAAU,aAAoB;AACtB,UAAA,OAAO,KAAK;AAClB,SAAK,WAAW;AACT,WAAA;AAAA,EACT;AAAA,EACA,YAAY;AACH,WAAA,KAAK,UAAY,EAAA;AAAA,EAC1B;AAAA,EACA,WAAW;AACF,WAAA;AAAA,EACT;AACF;AAOO,SAAS,qBAAqB,MAA6B;AACzD,SAAA,IAAI,cAAc,IAAI;AAC/B;"}
@@ -1,29 +1,10 @@
1
1
  import { defineComponent, onMounted, onUnmounted } from "vue";
2
- import "@lexical/text";
2
+ import { useLexicalComposer } from "lexical-vue";
3
3
  import { mergeRegister, $insertNodeToNearestRoot } from "@lexical/utils";
4
- import "@lexical/overflow";
5
4
  import { COMMAND_PRIORITY_EDITOR } from "lexical";
6
- import "tiny-invariant";
7
- import "@lexical/history";
8
- import { useLexicalComposer } from "../../lexical-vue/composables/useLexicalComposer.js";
9
- import "@lexical/list";
10
- import "@lexical/dragon";
11
- import "@lexical/plain-text";
12
- import "@lexical/rich-text";
13
- import "@lexical/yjs";
14
- import "yjs";
15
- import "../../lexical-vue/components/LexicalDecoratedTeleports.js";
16
- import "@lexical/html";
17
- import "@lexical/link";
18
- import "@lexical/mark";
19
- import "@lexical/table";
20
- import "@lexical/hashtag";
21
- import "@lexical/markdown";
22
- import "../../lexical-vue/composables/useCollaborationContext.js";
23
- import "../../lexical-vue/components/LexicalMenu/shared.js";
24
- import "../../lexical-vue/components/LexicalAutoEmbedPlugin/shared.js";
25
- import "../../lexical-vue/components/LexicalTypeaheadMenuPlugin/shared.js";
26
5
  import { HtmlBlockNode, INSERT_HTML_BLOCK_COMMAND, $createHtmlBlockNode } from "./index.js";
6
+ import { RegisterToolbarExtend } from "../ToolbarPlugin/defines.js";
7
+ import { ShowHtmlEditPanel } from "./HtmlEditDialog.js";
27
8
  const _sfc_main = /* @__PURE__ */ defineComponent({
28
9
  __name: "index",
29
10
  setup(__props) {
@@ -32,6 +13,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
32
13
  if (!editor.hasNodes([HtmlBlockNode])) {
33
14
  throw new Error("HtmlBlockPlugin: 自定义HTML代码块节点未注册!");
34
15
  }
16
+ RegisterToolbarExtend({
17
+ icon: "html-code",
18
+ text: "自定义代码块",
19
+ action: async () => {
20
+ var result = await ShowHtmlEditPanel("");
21
+ editor.dispatchCommand(INSERT_HTML_BLOCK_COMMAND, result);
22
+ },
23
+ sort: 9
24
+ });
35
25
  const unregister = mergeRegister(
36
26
  // 插入
37
27
  editor.registerCommand(INSERT_HTML_BLOCK_COMMAND, (payload) => {
@@ -1 +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":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,UAAM,SAAS;AAEf,cAAU,MAAM;AAEd,UAAI,CAAC,OAAO,SAAS,CAAC,aAAa,CAAC,GAAE;AAC9B,cAAA,IAAI,MAAM,mCAAmC;AAAA,MACrD;AAgBA,YAAM,aAAa;AAAA;AAAA,QAGjB,OAAO,gBAAgC,2BAA0B,CAAC,YAAY;AACnD,mCAAA,qBAAqB,OAAO,CAAC;AAC/C,iBAAA;AAAA,WACP,uBAAuB;AAAA,MAAA;AAGf,kBAAA,MAAM,YAAY;AAAA,IAAA,CAC/B;;;;;;"}
1
+ {"version":3,"file":"index.vue.js","sources":["../../../../../../../src/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\n\r\nimport { useLexicalComposer } from 'lexical-vue'\r\nimport { $insertNodeToNearestRoot,mergeRegister } from '@lexical/utils'\r\nimport { \r\n $isNodeSelection, COMMAND_PRIORITY_EDITOR,COMMAND_PRIORITY_LOW,$getSelection,CLICK_COMMAND \r\n} from 'lexical'\r\n\r\nimport { onMounted, onUnmounted } from 'vue'\r\nimport { REMOVE_HTML_BLOCK_COMMAND,HTML_BLOCK_CHANGE,INSERT_HTML_BLOCK_COMMAND,HtmlBlockNode,$createHtmlBlockNode } from './index'\r\nimport { RegisterToolbarExtend,type ToolbarExtendPlugin } from \"../ToolbarPlugin/defines\"\r\nimport { ShowHtmlEditPanel } from \"./HtmlEditDialog\"\r\nimport { SELECTED_COMPONENT_COMMAND,ComponentSelectEvent } from \"../commands\"\r\n\r\n\r\nconst editor = useLexicalComposer()\r\n\r\nonMounted(() => {\r\n\r\n if (!editor.hasNodes([HtmlBlockNode])){\r\n throw new Error('HtmlBlockPlugin: 自定义HTML代码块节点未注册!')\r\n }\r\n \r\n // 注册到工具条\r\n RegisterToolbarExtend({\r\n icon:\"html-code\",\r\n text:\"自定义代码块\",\r\n action:async ()=>{\r\n\r\n var result = await ShowHtmlEditPanel(\"\");\r\n\r\n editor.dispatchCommand(INSERT_HTML_BLOCK_COMMAND,result as string)\r\n },\r\n sort:9\r\n } as ToolbarExtendPlugin)\r\n\r\n // 注册指令\r\n const unregister = mergeRegister(\r\n // 插入\r\n editor.registerCommand<string>(INSERT_HTML_BLOCK_COMMAND,(payload) => {\r\n $insertNodeToNearestRoot($createHtmlBlockNode(payload))\r\n return true\r\n },COMMAND_PRIORITY_EDITOR)\r\n );\r\n\r\n onUnmounted(() => unregister())\r\n})\r\n</script>\r\n\r\n<template />\r\n"],"names":[],"mappings":";;;;;;;;;;AAeA,UAAM,SAAS;AAEf,cAAU,MAAM;AAEd,UAAI,CAAC,OAAO,SAAS,CAAC,aAAa,CAAC,GAAE;AAC9B,cAAA,IAAI,MAAM,mCAAmC;AAAA,MACrD;AAGsB,4BAAA;AAAA,QACpB,MAAK;AAAA,QACL,MAAK;AAAA,QACL,QAAO,YAAU;AAEX,cAAA,SAAS,MAAM,kBAAkB,EAAE;AAEhC,iBAAA,gBAAgB,2BAA0B,MAAgB;AAAA,QACnE;AAAA,QACA,MAAK;AAAA,MAAA,CACiB;AAGxB,YAAM,aAAa;AAAA;AAAA,QAEjB,OAAO,gBAAwB,2BAA0B,CAAC,YAAY;AAC3C,mCAAA,qBAAqB,OAAO,CAAC;AAC/C,iBAAA;AAAA,WACP,uBAAuB;AAAA,MAAA;AAGf,kBAAA,MAAM,YAAY;AAAA,IAAA,CAC/B;;;;;;"}
@@ -1,30 +1,7 @@
1
1
  import { defineComponent, ref, reactive, computed, watch, createVNode } from "vue";
2
2
  import { CLICK_COMMAND, COMMAND_PRIORITY_LOW, $getSelection, $isNodeSelection } from "lexical";
3
3
  import { mergeRegister } from "@lexical/utils";
4
- import "@lexical/text";
5
- import { useMounted } from "../../lexical-vue/composables/useMounted.js";
6
- import "@lexical/overflow";
7
- import "tiny-invariant";
8
- import "@lexical/history";
9
- import { useLexicalComposer } from "../../lexical-vue/composables/useLexicalComposer.js";
10
- import { useLexicalNodeSelection } from "../../lexical-vue/composables/useLexicalNodeSelection.js";
11
- import "@lexical/list";
12
- import "@lexical/dragon";
13
- import "@lexical/plain-text";
14
- import "@lexical/rich-text";
15
- import "@lexical/yjs";
16
- import "yjs";
17
- import "../../lexical-vue/components/LexicalDecoratedTeleports.js";
18
- import "@lexical/html";
19
- import "@lexical/link";
20
- import "@lexical/mark";
21
- import "@lexical/table";
22
- import "@lexical/hashtag";
23
- import "@lexical/markdown";
24
- import "../../lexical-vue/composables/useCollaborationContext.js";
25
- import "../../lexical-vue/components/LexicalMenu/shared.js";
26
- import "../../lexical-vue/components/LexicalAutoEmbedPlugin/shared.js";
27
- import "../../lexical-vue/components/LexicalTypeaheadMenuPlugin/shared.js";
4
+ import { useLexicalComposer, useLexicalNodeSelection, useMounted } from "lexical-vue";
28
5
  import { Messager } from "@maketribe/dm";
29
6
  import { SELECTED_COMPONENT_COMMAND, DEVICE_VIEW_MODE } from "../commands.js";
30
7
  import { WebFileUpload } from "@maketribe/request";