@maketribe/ms-app 3.2.25 → 3.2.27

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 (310) 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/core/element-block.js +92 -0
  4. package/dist/cjs/components/basic/doc-editor/core/element-block.js.map +1 -0
  5. package/dist/cjs/components/basic/doc-editor/core/index.js +5 -6
  6. package/dist/cjs/components/basic/doc-editor/core/index.js.map +1 -1
  7. package/dist/cjs/components/basic/doc-editor/core/utils.js +20 -13
  8. package/dist/cjs/components/basic/doc-editor/core/utils.js.map +1 -1
  9. package/dist/cjs/components/basic/doc-editor/editor.vue.js +4 -4
  10. package/dist/cjs/components/basic/doc-editor/editor.vue.js.map +1 -1
  11. package/dist/cjs/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue.js +8 -8
  12. package/dist/cjs/components/basic/doc-editor/plugins/ElementBlockSelectionPlugin/index.vue.js.map +1 -0
  13. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/GridNode.js +164 -0
  14. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/GridNode.js.map +1 -0
  15. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js +89 -0
  16. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js.map +1 -0
  17. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js +120 -0
  18. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js.map +1 -0
  19. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js +128 -0
  20. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js.map +1 -0
  21. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js +94 -0
  22. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js.map +1 -0
  23. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/index.vue.js +217 -0
  24. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/index.vue.js.map +1 -0
  25. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/utils.js +140 -0
  26. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/utils.js.map +1 -0
  27. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js +54 -43
  28. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js.map +1 -1
  29. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js +19 -16
  30. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js.map +1 -1
  31. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/utils.js +32 -54
  32. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/utils.js.map +1 -1
  33. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js +25 -13
  34. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js.map +1 -1
  35. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/composables.js +14 -1
  36. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/composables.js.map +1 -1
  37. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js +80 -105
  38. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js.map +1 -1
  39. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/utils.js +0 -12
  40. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/utils.js.map +1 -1
  41. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/index.vue.js.map +1 -1
  42. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/nodes/RichTextNode.js +16 -16
  43. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/nodes/RichTextNode.js.map +1 -1
  44. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js +34 -7
  45. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js.map +1 -1
  46. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js +0 -1
  47. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +1 -1
  48. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +41 -5
  49. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +1 -1
  50. package/dist/cjs/components/basic/doc-editor/plugins/nodes.js +10 -4
  51. package/dist/cjs/components/basic/doc-editor/plugins/nodes.js.map +1 -1
  52. package/dist/cjs/components/basic/doc-editor/themes/doc-editor-edit.css.js +1 -1
  53. package/dist/cjs/components/basic/doc-editor/themes/doc-editor-edit.css.js.map +1 -1
  54. package/dist/cjs/components/basic/doc-editor/themes/doc-theme.css.js +3 -5
  55. package/dist/cjs/components/basic/doc-editor/themes/doc-theme.css.js.map +1 -1
  56. package/dist/cjs/components/basic/dynamic-form-panel/DynamicFormPanel.js +40 -18
  57. package/dist/cjs/components/basic/dynamic-form-panel/DynamicFormPanel.js.map +1 -1
  58. package/dist/cjs/components/basic/dynamic-form-panel/dialog.js +2 -2
  59. package/dist/cjs/components/basic/dynamic-form-panel/dialog.js.map +1 -1
  60. package/dist/cjs/components/basic/image-cropper/image-cropper-api.js.map +1 -1
  61. package/dist/cjs/components/basic/upload-file/ui/upload-image/upload-image.js +0 -2
  62. package/dist/cjs/components/basic/upload-file/ui/upload-image/upload-image.js.map +1 -1
  63. package/dist/cjs/components/basic/visual-page-editor/content-editable.vue.js +13 -9
  64. package/dist/cjs/components/basic/visual-page-editor/content-editable.vue.js.map +1 -1
  65. package/dist/cjs/components/basic/visual-page-editor/core/BlockRender.js +38 -0
  66. package/dist/cjs/components/basic/visual-page-editor/core/BlockRender.js.map +1 -0
  67. package/dist/cjs/components/basic/visual-page-editor/core/Dialog.js +76 -0
  68. package/dist/cjs/components/basic/visual-page-editor/core/Dialog.js.map +1 -0
  69. package/dist/cjs/components/basic/visual-page-editor/core/VisvalPageEditor.js +72 -1
  70. package/dist/cjs/components/basic/visual-page-editor/core/VisvalPageEditor.js.map +1 -1
  71. package/dist/cjs/components/basic/visual-page-editor/core/index.js +21 -13
  72. package/dist/cjs/components/basic/visual-page-editor/core/index.js.map +1 -1
  73. package/dist/cjs/components/basic/visual-page-editor/editor.vue.js +2 -29
  74. package/dist/cjs/components/basic/visual-page-editor/editor.vue.js.map +1 -1
  75. package/dist/cjs/components/basic/visual-page-editor/index.js +1 -1
  76. package/dist/cjs/components/basic/visual-page-editor/index.js.map +1 -1
  77. package/dist/cjs/components/basic/visual-page-editor/modules/BaseImageModule.js +10 -0
  78. package/dist/cjs/components/basic/visual-page-editor/modules/BaseImageModule.js.map +1 -0
  79. package/dist/cjs/components/basic/visual-page-editor/toolbar.vue.js +1 -1
  80. package/dist/cjs/components/basic/visual-page-editor/toolbar.vue.js.map +1 -1
  81. package/dist/cjs/modules/cms/cms-settings.js +4 -0
  82. package/dist/cjs/modules/cms/cms-settings.js.map +1 -1
  83. package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +4 -0
  84. package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js.map +1 -1
  85. package/dist/cjs/modules/cms/dataviews/cms-ad-defines/CmsAdDefinesForm.js +2 -0
  86. package/dist/cjs/modules/cms/dataviews/cms-ad-defines/CmsAdDefinesForm.js.map +1 -1
  87. package/dist/cjs/modules/cms/pages/cms-ad/index.vue2.js +8 -6
  88. package/dist/cjs/modules/cms/pages/cms-ad/index.vue2.js.map +1 -1
  89. package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +3 -1
  90. package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
  91. package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js +58 -6
  92. package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js.map +1 -1
  93. package/dist/cjs/modules/cms/pages/cms-settigns/DocModuleEditForm.vue.js +312 -0
  94. package/dist/cjs/modules/cms/pages/cms-settigns/DocModuleEditForm.vue.js.map +1 -0
  95. package/dist/cjs/modules/cms/pages/cms-settigns/DocModuleEditForm.vue2.js +4 -0
  96. package/dist/cjs/modules/cms/pages/cms-settigns/DocModuleEditForm.vue2.js.map +1 -0
  97. package/dist/cjs/modules/cms/pages/cms-settigns/index.vue2.js +18 -0
  98. package/dist/cjs/modules/cms/pages/cms-settigns/index.vue2.js.map +1 -1
  99. package/dist/cjs/modules/ms/components/image-select/image-select-api.js +14 -2
  100. package/dist/cjs/modules/ms/components/image-select/image-select-api.js.map +1 -1
  101. package/dist/cjs/modules/ms/components/image-select/image-select-panel.js +7 -1
  102. package/dist/cjs/modules/ms/components/image-select/image-select-panel.js.map +1 -1
  103. package/dist/cjs/modules/ms/image-upload-context/index.js +1 -1
  104. package/dist/cjs/modules/ms/image-upload-context/index.js.map +1 -1
  105. package/dist/esm/assets/iconfonts/iconfont.js +1 -1
  106. package/dist/esm/assets/iconfonts/iconfont.js.map +1 -1
  107. package/dist/esm/components/basic/doc-editor/core/element-block.js +92 -0
  108. package/dist/esm/components/basic/doc-editor/core/element-block.js.map +1 -0
  109. package/dist/esm/components/basic/doc-editor/core/index.js +6 -7
  110. package/dist/esm/components/basic/doc-editor/core/index.js.map +1 -1
  111. package/dist/esm/components/basic/doc-editor/core/utils.js +20 -13
  112. package/dist/esm/components/basic/doc-editor/core/utils.js.map +1 -1
  113. package/dist/esm/components/basic/doc-editor/editor.vue.js +4 -4
  114. package/dist/esm/components/basic/doc-editor/editor.vue.js.map +1 -1
  115. package/dist/esm/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue.js +8 -8
  116. package/dist/esm/components/basic/doc-editor/plugins/ElementBlockSelectionPlugin/index.vue.js.map +1 -0
  117. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/GridNode.js +164 -0
  118. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/GridNode.js.map +1 -0
  119. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js +89 -0
  120. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js.map +1 -0
  121. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js +120 -0
  122. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js.map +1 -0
  123. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js +128 -0
  124. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js.map +1 -0
  125. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js +94 -0
  126. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js.map +1 -0
  127. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/index.vue.js +218 -0
  128. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/index.vue.js.map +1 -0
  129. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/utils.js +140 -0
  130. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/utils.js.map +1 -0
  131. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js +55 -44
  132. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js.map +1 -1
  133. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js +20 -17
  134. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js.map +1 -1
  135. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/utils.js +33 -55
  136. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/utils.js.map +1 -1
  137. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js +25 -13
  138. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js.map +1 -1
  139. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/composables.js +14 -1
  140. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/composables.js.map +1 -1
  141. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js +84 -109
  142. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js.map +1 -1
  143. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/utils.js +0 -12
  144. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/utils.js.map +1 -1
  145. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/index.vue.js.map +1 -1
  146. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/nodes/RichTextNode.js +16 -16
  147. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/nodes/RichTextNode.js.map +1 -1
  148. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js +37 -10
  149. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js.map +1 -1
  150. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js +0 -1
  151. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +1 -1
  152. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +43 -7
  153. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +1 -1
  154. package/dist/esm/components/basic/doc-editor/plugins/nodes.js +10 -4
  155. package/dist/esm/components/basic/doc-editor/plugins/nodes.js.map +1 -1
  156. package/dist/esm/components/basic/doc-editor/themes/doc-editor-edit.css.js +1 -1
  157. package/dist/esm/components/basic/doc-editor/themes/doc-editor-edit.css.js.map +1 -1
  158. package/dist/esm/components/basic/doc-editor/themes/doc-theme.css.js +3 -5
  159. package/dist/esm/components/basic/doc-editor/themes/doc-theme.css.js.map +1 -1
  160. package/dist/esm/components/basic/dynamic-form-panel/DynamicFormPanel.js +40 -18
  161. package/dist/esm/components/basic/dynamic-form-panel/DynamicFormPanel.js.map +1 -1
  162. package/dist/esm/components/basic/dynamic-form-panel/dialog.js +2 -2
  163. package/dist/esm/components/basic/dynamic-form-panel/dialog.js.map +1 -1
  164. package/dist/esm/components/basic/image-cropper/image-cropper-api.js.map +1 -1
  165. package/dist/esm/components/basic/upload-file/ui/upload-image/upload-image.js +0 -2
  166. package/dist/esm/components/basic/upload-file/ui/upload-image/upload-image.js.map +1 -1
  167. package/dist/esm/components/basic/visual-page-editor/content-editable.vue.js +14 -10
  168. package/dist/esm/components/basic/visual-page-editor/content-editable.vue.js.map +1 -1
  169. package/dist/esm/components/basic/visual-page-editor/core/BlockRender.js +39 -0
  170. package/dist/esm/components/basic/visual-page-editor/core/BlockRender.js.map +1 -0
  171. package/dist/esm/components/basic/visual-page-editor/core/Dialog.js +76 -0
  172. package/dist/esm/components/basic/visual-page-editor/core/Dialog.js.map +1 -0
  173. package/dist/esm/components/basic/visual-page-editor/core/VisvalPageEditor.js +73 -2
  174. package/dist/esm/components/basic/visual-page-editor/core/VisvalPageEditor.js.map +1 -1
  175. package/dist/esm/components/basic/visual-page-editor/core/index.js +21 -13
  176. package/dist/esm/components/basic/visual-page-editor/core/index.js.map +1 -1
  177. package/dist/esm/components/basic/visual-page-editor/editor.vue.js +4 -31
  178. package/dist/esm/components/basic/visual-page-editor/editor.vue.js.map +1 -1
  179. package/dist/esm/components/basic/visual-page-editor/index.js +1 -1
  180. package/dist/esm/components/basic/visual-page-editor/index.js.map +1 -1
  181. package/dist/esm/components/basic/visual-page-editor/modules/BaseImageModule.js +9 -0
  182. package/dist/esm/components/basic/visual-page-editor/modules/BaseImageModule.js.map +1 -0
  183. package/dist/esm/components/basic/visual-page-editor/toolbar.vue.js +2 -2
  184. package/dist/esm/components/basic/visual-page-editor/toolbar.vue.js.map +1 -1
  185. package/dist/esm/modules/cms/cms-settings.js +4 -0
  186. package/dist/esm/modules/cms/cms-settings.js.map +1 -1
  187. package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +4 -0
  188. package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js.map +1 -1
  189. package/dist/esm/modules/cms/dataviews/cms-ad-defines/CmsAdDefinesForm.js +2 -0
  190. package/dist/esm/modules/cms/dataviews/cms-ad-defines/CmsAdDefinesForm.js.map +1 -1
  191. package/dist/esm/modules/cms/pages/cms-ad/index.vue2.js +9 -7
  192. package/dist/esm/modules/cms/pages/cms-ad/index.vue2.js.map +1 -1
  193. package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +3 -1
  194. package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
  195. package/dist/esm/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js +58 -6
  196. package/dist/esm/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js.map +1 -1
  197. package/dist/esm/modules/cms/pages/cms-settigns/DocModuleEditForm.vue.js +313 -0
  198. package/dist/esm/modules/cms/pages/cms-settigns/DocModuleEditForm.vue.js.map +1 -0
  199. package/dist/esm/modules/cms/pages/cms-settigns/DocModuleEditForm.vue2.js +5 -0
  200. package/dist/esm/modules/cms/pages/cms-settigns/DocModuleEditForm.vue2.js.map +1 -0
  201. package/dist/esm/modules/cms/pages/cms-settigns/index.vue2.js +18 -0
  202. package/dist/esm/modules/cms/pages/cms-settigns/index.vue2.js.map +1 -1
  203. package/dist/esm/modules/ms/components/image-select/image-select-api.js +14 -2
  204. package/dist/esm/modules/ms/components/image-select/image-select-api.js.map +1 -1
  205. package/dist/esm/modules/ms/components/image-select/image-select-panel.js +9 -3
  206. package/dist/esm/modules/ms/components/image-select/image-select-panel.js.map +1 -1
  207. package/dist/esm/modules/ms/image-upload-context/index.js +1 -1
  208. package/dist/esm/modules/ms/image-upload-context/index.js.map +1 -1
  209. package/dist/style/components/basic/doc-editor/index.css +1 -1
  210. package/dist/style/components/basic/visual-page-editor/index.css +1 -1
  211. package/dist/style/components/index.css +1 -1
  212. package/dist/style/index.css +2 -2
  213. package/dist/style/src/components/basic/doc-editor/index.scss +2 -0
  214. package/dist/style/src/components/basic/visual-page-editor/index.scss +4 -2
  215. package/dist/types/components/basic/doc-editor/core/element-block.d.ts +45 -0
  216. package/dist/types/components/basic/doc-editor/core/index.d.ts +8 -4
  217. package/dist/types/components/basic/doc-editor/core/utils.d.ts +2 -2
  218. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/GridNode.d.ts +88 -0
  219. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.d.ts +50 -0
  220. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.d.ts +72 -0
  221. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.d.ts +64 -0
  222. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.d.ts +51 -0
  223. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/index.d.ts +5 -0
  224. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/utils.d.ts +3 -0
  225. package/dist/types/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.d.ts +24 -20
  226. package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.d.ts +18 -10
  227. package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/composables.d.ts +5 -0
  228. package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/index.d.ts +0 -1
  229. package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/utils.d.ts +0 -6
  230. package/dist/types/components/basic/doc-editor/plugins/index.d.ts +3 -3
  231. package/dist/types/components/basic/doc-editor/utils/getSelectedNode.d.ts +1 -1
  232. package/dist/types/components/basic/dynamic-form-panel/type.d.ts +3 -2
  233. package/dist/types/components/basic/visual-page-editor/core/Dialog.d.ts +15 -0
  234. package/dist/types/components/basic/visual-page-editor/core/ModuleDefine.d.ts +12 -0
  235. package/dist/types/components/basic/visual-page-editor/core/VisvalPageEditor.d.ts +45 -1
  236. package/dist/types/components/basic/visual-page-editor/core/index.d.ts +2 -10
  237. package/dist/types/components/basic/visual-page-editor/editor.vue.d.ts +1 -0
  238. package/dist/types/components/basic/visual-page-editor/index.d.ts +2 -1
  239. package/dist/types/components/basic/visual-page-editor/modules/index.d.ts +1 -0
  240. package/dist/types/modules/cms/cms-settings.d.ts +4 -28
  241. package/dist/types/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.d.ts +1 -0
  242. package/dist/types/modules/cms/pages/cms-settigns/DocModuleEditForm.vue.d.ts +45 -0
  243. package/dist/types/modules/ms/components/image-select/image-select-api.d.ts +1 -1
  244. package/dist/types/modules/ms/image-upload-context/index.d.ts +1 -1
  245. package/package.json +9 -8
  246. package/dist/cjs/components/basic/doc-editor/core/decorator-module.js +0 -13
  247. package/dist/cjs/components/basic/doc-editor/core/decorator-module.js.map +0 -1
  248. package/dist/cjs/components/basic/doc-editor/core/element-module.js +0 -68
  249. package/dist/cjs/components/basic/doc-editor/core/element-module.js.map +0 -1
  250. package/dist/cjs/components/basic/doc-editor/plugins/DecoratorModuleToolbarPlugin/index.vue.js.map +0 -1
  251. package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/ImageTextNode.js +0 -106
  252. package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/ImageTextNode.js.map +0 -1
  253. package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js +0 -45
  254. package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js.map +0 -1
  255. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.js +0 -143
  256. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.js.map +0 -1
  257. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockCantainerNode.js +0 -123
  258. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockCantainerNode.js.map +0 -1
  259. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockNode.js +0 -84
  260. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockNode.js.map +0 -1
  261. package/dist/cjs/components/basic/visual-page-editor/components/BlockRender.js +0 -31
  262. package/dist/cjs/components/basic/visual-page-editor/components/BlockRender.js.map +0 -1
  263. package/dist/cjs/components/basic/visual-page-editor/utils/Dialog.js +0 -111
  264. package/dist/cjs/components/basic/visual-page-editor/utils/Dialog.js.map +0 -1
  265. package/dist/cjs/components/basic/visual-page-editor/visual-components/ImageRenderComponent.js +0 -29
  266. package/dist/cjs/components/basic/visual-page-editor/visual-components/ImageRenderComponent.js.map +0 -1
  267. package/dist/esm/components/basic/doc-editor/core/decorator-module.js +0 -13
  268. package/dist/esm/components/basic/doc-editor/core/decorator-module.js.map +0 -1
  269. package/dist/esm/components/basic/doc-editor/core/element-module.js +0 -68
  270. package/dist/esm/components/basic/doc-editor/core/element-module.js.map +0 -1
  271. package/dist/esm/components/basic/doc-editor/plugins/DecoratorModuleToolbarPlugin/index.vue.js.map +0 -1
  272. package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/ImageTextNode.js +0 -106
  273. package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/ImageTextNode.js.map +0 -1
  274. package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js +0 -46
  275. package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js.map +0 -1
  276. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.js +0 -143
  277. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.js.map +0 -1
  278. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockCantainerNode.js +0 -123
  279. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockCantainerNode.js.map +0 -1
  280. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockNode.js +0 -84
  281. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockNode.js.map +0 -1
  282. package/dist/esm/components/basic/visual-page-editor/components/BlockRender.js +0 -32
  283. package/dist/esm/components/basic/visual-page-editor/components/BlockRender.js.map +0 -1
  284. package/dist/esm/components/basic/visual-page-editor/utils/Dialog.js +0 -111
  285. package/dist/esm/components/basic/visual-page-editor/utils/Dialog.js.map +0 -1
  286. package/dist/esm/components/basic/visual-page-editor/visual-components/ImageRenderComponent.js +0 -28
  287. package/dist/esm/components/basic/visual-page-editor/visual-components/ImageRenderComponent.js.map +0 -1
  288. package/dist/types/components/basic/doc-editor/core/decorator-module.d.ts +0 -60
  289. package/dist/types/components/basic/doc-editor/core/element-module.d.ts +0 -15
  290. package/dist/types/components/basic/doc-editor/plugins/ImageTextPlugin/ImageTextNode.d.ts +0 -63
  291. package/dist/types/components/basic/doc-editor/plugins/ImageTextPlugin/index.d.ts +0 -1
  292. package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.d.ts +0 -86
  293. package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/ModuleRenderComponent.d.ts +0 -23
  294. package/dist/types/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockCantainerNode.d.ts +0 -63
  295. package/dist/types/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockNode.d.ts +0 -58
  296. package/dist/types/components/basic/visual-page-editor/core/RenderComponent.d.ts +0 -16
  297. package/dist/types/components/basic/visual-page-editor/utils/Dialog.d.ts +0 -15
  298. package/dist/types/components/basic/visual-page-editor/visual-components/index.d.ts +0 -1
  299. /package/dist/cjs/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue2.js +0 -0
  300. /package/dist/cjs/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue2.js.map +0 -0
  301. /package/dist/cjs/components/basic/doc-editor/plugins/{ImageTextPlugin → GridPlugin}/index.vue2.js +0 -0
  302. /package/dist/cjs/components/basic/doc-editor/plugins/{ImageTextPlugin → GridPlugin}/index.vue2.js.map +0 -0
  303. /package/dist/esm/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue2.js +0 -0
  304. /package/dist/esm/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue2.js.map +0 -0
  305. /package/dist/esm/components/basic/doc-editor/plugins/{ImageTextPlugin → GridPlugin}/index.vue2.js +0 -0
  306. /package/dist/esm/components/basic/doc-editor/plugins/{ImageTextPlugin → GridPlugin}/index.vue2.js.map +0 -0
  307. /package/dist/types/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue.d.ts +0 -0
  308. /package/dist/types/components/basic/doc-editor/plugins/{ImageTextPlugin → GridPlugin}/index.vue.d.ts +0 -0
  309. /package/dist/types/components/basic/visual-page-editor/{components → core}/BlockRender.d.ts +0 -0
  310. /package/dist/types/components/basic/visual-page-editor/{visual-components/ImageRenderComponent.d.ts → modules/BaseImageModule.d.ts} +0 -0
@@ -1,19 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const vue = require("vue");
4
- const decoratorModule = require("./decorator-module.js");
5
- require("@lexical/utils");
4
+ const elementBlock = require("./element-block.js");
6
5
  require("lexical");
7
- require("lexical-vue");
8
6
  const DEVICE_VIEW_MODE = vue.ref("pc");
9
7
  const ToolbarExtendPlugins = vue.reactive([]);
10
8
  const registerDocEditorToolbarExtend = function(options) {
11
9
  ToolbarExtendPlugins.push(options);
12
10
  ToolbarExtendPlugins.sort((a, b) => a.sort < b.sort ? 1 : -1);
13
11
  };
14
- exports.REMOVE_DECORATORMODULE_COMMAND = decoratorModule.REMOVE_DECORATORMODULE_COMMAND;
15
- exports.SELECTED_DECORATORMODULE_COMMAND = decoratorModule.SELECTED_DECORATORMODULE_COMMAND;
16
- exports.UPDATE_DECORATORMODULE_TOOLBAR_POS_COMMAND = decoratorModule.UPDATE_DECORATORMODULE_TOOLBAR_POS_COMMAND;
12
+ exports.REMOVE_ELEMENTBLOCK_COMMAND = elementBlock.REMOVE_ELEMENTBLOCK_COMMAND;
13
+ exports.SELECTED_ELEMENTBLOCK_COMMAND = elementBlock.SELECTED_ELEMENTBLOCK_COMMAND;
14
+ exports.UPDATE_ELEMENTBLOCK_TOOLBAR_POS_COMMAND = elementBlock.UPDATE_ELEMENTBLOCK_TOOLBAR_POS_COMMAND;
15
+ exports.useElementBlockSelection = elementBlock.useElementBlockSelection;
17
16
  exports.DEVICE_VIEW_MODE = DEVICE_VIEW_MODE;
18
17
  exports.ToolbarExtendPlugins = ToolbarExtendPlugins;
19
18
  exports.registerDocEditorToolbarExtend = registerDocEditorToolbarExtend;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/components/basic/doc-editor/core/index.ts"],"sourcesContent":["\r\nimport { ref,reactive } from \"vue\"\r\nimport {\r\n useLexicalComposer\r\n} from \"lexical-vue\";\r\nexport * from \"./decorator-module\"\r\nexport * from \"./element-module\"\r\nexport * from \"./utils\"\r\n\r\nexport type DeviceVieeMode = 'pc' | 'mobile';\r\n\r\nexport const DEVICE_VIEW_MODE = ref<DeviceVieeMode>(\"pc\")\r\n\r\n/**\r\n * 工具条扩展\r\n */\r\nexport type ToolbarExtendPlugin = {\r\n icon: string;\r\n text:string,\r\n action:Function,\r\n sort:number\r\n};\r\n\r\n// 插入的插件列表\r\nexport const ToolbarExtendPlugins = reactive<ToolbarExtendPlugin[]>([]);\r\n\r\n/**\r\n * 注册工具条的扩展\r\n * @param options \r\n */\r\nexport const registerDocEditorToolbarExtend = function(options:ToolbarExtendPlugin){\r\n ToolbarExtendPlugins.push(options);\r\n ToolbarExtendPlugins.sort((a,b)=>a.sort<b.sort ? 1:-1);\r\n}\r\n\r\n\r\n"],"names":["ref","reactive"],"mappings":";;;;;;;AAWa,MAAA,mBAAmBA,QAAoB,IAAI;AAa3C,MAAA,uBAAuBC,IAAgC,SAAA,EAAE;AAMzD,MAAA,iCAAiC,SAAS,SAA4B;AACjF,uBAAqB,KAAK,OAAO;AACZ,uBAAA,KAAK,CAAC,GAAE,MAAI,EAAE,OAAK,EAAE,OAAO,IAAE,EAAE;AACvD;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/basic/doc-editor/core/index.ts"],"sourcesContent":["\r\nimport { ref,reactive } from \"vue\"\r\nexport * from \"./element-block\"\r\nexport * from \"./utils\"\r\n\r\n/**\r\n * 设备显示模式\r\n */\r\nexport const DEVICE_VIEW_MODE = ref<'pc' | 'mobile'>(\"pc\")\r\n\r\n/**\r\n * 工具条扩展\r\n */\r\nexport type ToolbarExtendPlugin = {\r\n icon: string;\r\n text:string,\r\n action:Function,\r\n sort:number\r\n};\r\n\r\n/**\r\n * 插入的插件列表\r\n */\r\nexport const ToolbarExtendPlugins = reactive<ToolbarExtendPlugin[]>([]);\r\n\r\n/**\r\n * 注册工具条的扩展\r\n * @param options \r\n */\r\nexport const registerDocEditorToolbarExtend = function(options:ToolbarExtendPlugin){\r\n ToolbarExtendPlugins.push(options);\r\n ToolbarExtendPlugins.sort((a,b)=>a.sort<b.sort ? 1:-1);\r\n}\r\n\r\n\r\n"],"names":["ref","reactive"],"mappings":";;;;;AAQa,MAAA,mBAAmBA,QAAqB,IAAI;AAe5C,MAAA,uBAAuBC,IAAgC,SAAA,EAAE;AAMzD,MAAA,iCAAiC,SAAS,SAA4B;AACjF,uBAAqB,KAAK,OAAO;AACZ,uBAAA,KAAK,CAAC,GAAE,MAAI,EAAE,OAAK,EAAE,OAAO,IAAE,EAAE;AACvD;;;;;;;;"}
@@ -11,22 +11,29 @@ const isNodeSelected = function(editor, key) {
11
11
  });
12
12
  };
13
13
  const clearSelection = (editor) => {
14
- editor.update(() => {
15
- const selection = lexical.$getSelection();
16
- if (lexical.$isNodeSelection(selection))
17
- selection.clear();
14
+ return new Promise((resolove) => {
15
+ editor.update(() => {
16
+ const selection = lexical.$getSelection();
17
+ if (lexical.$isNodeSelection(selection) && selection) {
18
+ selection.clear();
19
+ }
20
+ resolove(void 0);
21
+ });
18
22
  });
19
23
  };
20
24
  const setSelected = (editor, selected, key) => {
21
- editor.update(() => {
22
- let selection = lexical.$getSelection();
23
- if (!lexical.$isNodeSelection(selection)) {
24
- selection = lexical.$createNodeSelection();
25
- lexical.$setSelection(selection);
26
- }
27
- if (lexical.$isNodeSelection(selection)) {
28
- selection.add(vue.unref(key));
29
- }
25
+ return new Promise((resolove) => {
26
+ editor.update(() => {
27
+ let selection = lexical.$getSelection();
28
+ if (!lexical.$isNodeSelection(selection)) {
29
+ selection = lexical.$createNodeSelection();
30
+ lexical.$setSelection(selection);
31
+ }
32
+ if (lexical.$isNodeSelection(selection)) {
33
+ selection.add(vue.unref(key));
34
+ }
35
+ resolove(void 0);
36
+ });
30
37
  });
31
38
  };
32
39
  exports.clearSelection = clearSelection;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../../../src/components/basic/doc-editor/core/utils.ts"],"sourcesContent":["import type { LexicalEditor, NodeKey } from 'lexical'\r\n\r\nimport {\r\n $createNodeSelection,\r\n $getNodeByKey,\r\n $getSelection,\r\n $isNodeSelection,\r\n $setSelection,\r\n} from 'lexical'\r\nimport { unref } from 'vue'\r\n\r\n// isNodeSelected \r\nexport const isNodeSelected = function (editor: LexicalEditor, key: NodeKey): boolean {\r\n return editor.getEditorState().read(() => {\r\n const node = $getNodeByKey(key)\r\n if (node === null)\r\n return false\r\n return node.isSelected()\r\n })\r\n}\r\n\r\n// 取消选中\r\nexport const clearSelection = (editor: LexicalEditor) => {\r\n editor.update(() => {\r\n const selection = $getSelection()\r\n if ($isNodeSelection(selection))\r\n (selection).clear()\r\n })\r\n}\r\n\r\n// 设置选中\r\nexport const setSelected = (editor: LexicalEditor,selected: boolean,key:string) => {\r\n editor.update(() => {\r\n let selection = $getSelection()\r\n\r\n if (!$isNodeSelection(selection)) {\r\n selection = $createNodeSelection()\r\n $setSelection(selection)\r\n }\r\n if ($isNodeSelection(selection)) {\r\n if (selected)\r\n selection.add(unref(key))\r\n else\r\n selection.delete(unref(key))\r\n }\r\n })\r\n}\r\n\r\n"],"names":["$getNodeByKey","$getSelection","$isNodeSelection","$createNodeSelection","$setSelection","unref"],"mappings":";;;;AAYa,MAAA,iBAAiB,SAAU,QAAuB,KAAuB;AACpF,SAAO,OAAO,iBAAiB,KAAK,MAAM;AAClC,UAAA,OAAOA,sBAAc,GAAG;AAC9B,QAAI,SAAS;AACJ,aAAA;AACT,WAAO,KAAK;EAAW,CACxB;AACH;AAGa,MAAA,iBAAiB,CAAC,WAA0B;AACvD,SAAO,OAAO,MAAM;AAClB,UAAM,YAAYC,QAAAA;AAClB,QAAIC,QAAAA,iBAAiB,SAAS;AAC3B,gBAAW,MAAM;AAAA,EAAA,CACrB;AACH;AAGO,MAAM,cAAc,CAAC,QAAsB,UAAkB,QAAe;AACjF,SAAO,OAAO,MAAM;AAClB,QAAI,YAAYD,QAAAA;AAEZ,QAAA,CAACC,QAAAA,iBAAiB,SAAS,GAAG;AAChC,kBAAYC,QAAqB,qBAAA;AACjCC,cAAA,cAAc,SAAS;AAAA,IACzB;AACI,QAAAF,QAAAA,iBAAiB,SAAS,GAAG;AAEnB,gBAAA,IAAIG,UAAM,GAAG,CAAC;AAAA,IAG5B;AAAA,EAAA,CACD;AACH;;;;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../../../src/components/basic/doc-editor/core/utils.ts"],"sourcesContent":["import type { LexicalEditor, NodeKey } from 'lexical'\r\n\r\nimport {\r\n $createNodeSelection,\r\n $getNodeByKey,\r\n $getSelection,\r\n $isNodeSelection,\r\n $setSelection,\r\n} from 'lexical'\r\nimport { unref } from 'vue'\r\n\r\n// isNodeSelected \r\nexport const isNodeSelected = function (editor: LexicalEditor, key: NodeKey): boolean {\r\n return editor.getEditorState().read(() => {\r\n const node = $getNodeByKey(key)\r\n if (node === null)\r\n return false\r\n return node.isSelected()\r\n })\r\n}\r\n\r\n// 取消选中\r\nexport const clearSelection = (editor: LexicalEditor):Promise<undefined> => {\r\n return new Promise(resolove=>{\r\n editor.update(() => {\r\n const selection = $getSelection()\r\n if ($isNodeSelection(selection) && selection){\r\n selection.clear();\r\n }\r\n resolove(undefined)\r\n })\r\n })\r\n}\r\n\r\n// 设置选中\r\nexport const setSelected = (editor: LexicalEditor,selected: boolean,key:string):Promise<undefined> => {\r\n\r\n return new Promise(resolove=>{\r\n editor.update(() => {\r\n let selection = $getSelection()\r\n \r\n if (!$isNodeSelection(selection)) {\r\n selection = $createNodeSelection()\r\n $setSelection(selection)\r\n }\r\n if ($isNodeSelection(selection)) {\r\n if (selected)\r\n selection.add(unref(key))\r\n else\r\n selection.delete(unref(key))\r\n }\r\n resolove(undefined)\r\n })\r\n })\r\n \r\n}\r\n\r\n"],"names":["$getNodeByKey","$getSelection","$isNodeSelection","$createNodeSelection","$setSelection","unref"],"mappings":";;;;AAYa,MAAA,iBAAiB,SAAU,QAAuB,KAAuB;AACpF,SAAO,OAAO,iBAAiB,KAAK,MAAM;AAClC,UAAA,OAAOA,sBAAc,GAAG;AAC9B,QAAI,SAAS;AACJ,aAAA;AACT,WAAO,KAAK;EAAW,CACxB;AACH;AAGa,MAAA,iBAAiB,CAAC,WAA6C;AACnE,SAAA,IAAI,QAAQ,CAAU,aAAA;AAC3B,WAAO,OAAO,MAAM;AAClB,YAAM,YAAYC,QAAAA;AACd,UAAAC,QAAA,iBAAiB,SAAS,KAAK,WAAU;AAC3C,kBAAU,MAAM;AAAA,MAClB;AACA,eAAS,MAAS;AAAA,IAAA,CACnB;AAAA,EAAA,CACF;AACH;AAGO,MAAM,cAAc,CAAC,QAAsB,UAAkB,QAAkC;AAE7F,SAAA,IAAI,QAAQ,CAAU,aAAA;AAC3B,WAAO,OAAO,MAAM;AAClB,UAAI,YAAYD,QAAAA;AAEZ,UAAA,CAACC,QAAAA,iBAAiB,SAAS,GAAG;AAChC,oBAAYC,QAAqB,qBAAA;AACjCC,gBAAA,cAAc,SAAS;AAAA,MACzB;AACI,UAAAF,QAAAA,iBAAiB,SAAS,GAAG;AAEnB,kBAAA,IAAIG,UAAM,GAAG,CAAC;AAAA,MAG5B;AACA,eAAS,MAAS;AAAA,IAAA,CACnB;AAAA,EAAA,CACF;AAEH;;;;"}
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  const vue = require("vue");
3
3
  const lexicalVue = require("lexical-vue");
4
- const index_vue_vue_type_script_setup_true_lang$4 = require("./plugins/AutoLinkPlugin/index.vue.js");
4
+ const index_vue_vue_type_script_setup_true_lang$3 = require("./plugins/AutoLinkPlugin/index.vue.js");
5
5
  const index_vue_vue_type_script_setup_true_lang$2 = require("./plugins/ImagePlugin/index.vue.js");
6
- const index_vue_vue_type_script_setup_true_lang$3 = require("./plugins/ImageTextPlugin/index.vue.js");
7
6
  const index_vue_vue_type_script_setup_true_lang = require("./plugins/ToolbarPlugin/index.vue.js");
8
7
  const index_vue_vue_type_script_setup_true_lang$1 = require("./plugins/RichTextPlugin/index.vue.js");
9
- const index_vue_vue_type_script_setup_true_lang$6 = require("./plugins/DecoratorModuleToolbarPlugin/index.vue.js");
10
- const index_vue_vue_type_script_setup_true_lang$5 = require("./plugins/ModulePlugin/index.vue.js");
8
+ const index_vue_vue_type_script_setup_true_lang$6 = require("./plugins/ElementBlockSelectionPlugin/index.vue.js");
9
+ const index_vue_vue_type_script_setup_true_lang$4 = require("./plugins/ModulePlugin/index.vue.js");
10
+ const index_vue_vue_type_script_setup_true_lang$5 = require("./plugins/GridPlugin/index.vue.js");
11
11
  const nodes = require("./plugins/nodes.js");
12
12
  const composables = require("./plugins/ModulePlugin/composables.js");
13
13
  const index = require("./core/index.js");
@@ -1 +1 @@
1
- {"version":3,"file":"editor.vue.js","sources":["../../../../../src/components/basic/doc-editor/editor.vue"],"sourcesContent":["<template>\r\n <LexicalComposer :initial-config=\"config\">\r\n <div class=\"mk-doc-editor\" :class=\"DEVICE_VIEW_MODE\">\r\n <ToolbarPlugin :js=\"js\" :css=\"css\" />\r\n <div class=\"mk-doc-editor__stage_warp\">\r\n <slot name=\"before-extentions\"></slot>\r\n <div class=\"mk-doc-editor__stage_body\">\r\n <slot name=\"header\"></slot>\r\n <iframe title=\"iframe\" class=\"mk-doc-editor__stage_iframe\" ref=\"iframeContentRef\"></iframe>\r\n <Teleport v-if=\"iframeBody\" :to=\"iframeBody\">\r\n <RichTextPlugin :content=\"props.content\" @change=\"contentChangeHandle\" :placeholder=\"placeholder\">\r\n </RichTextPlugin>\r\n <ImagePlugin />\r\n <ImageTextPlugin />\r\n <AutoLinkPlugin />\r\n <ModulePlugin />\r\n </Teleport>\r\n <DecoratorModuleToolbarPlugin />\r\n <slot name=\"footer\"></slot>\r\n </div>\r\n <slot name=\"after-extentions\"></slot>\r\n </div>\r\n \r\n </div>\r\n <LexicalAutoFocusPlugin />\r\n <LexicalCheckListPlugin />\r\n <LexicalHashtagPlugin />\r\n <LexicalListPlugin />\r\n <LexicalHistoryPlugin />\r\n </LexicalComposer>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { defineOptions,defineProps,defineEmits,computed,ref,onMounted,watch } from \"vue\"\r\nimport {\r\n LexicalComposer,\r\n LexicalAutoFocusPlugin,\r\n LexicalCheckListPlugin,\r\n LexicalHashtagPlugin,\r\n LexicalHistoryPlugin,\r\n LexicalListPlugin,\r\n} from 'lexical-vue'\r\nimport { \r\n ToolbarPlugin,\r\n RichTextPlugin,\r\n AutoLinkPlugin,\r\n ImagePlugin,\r\n ImageTextPlugin,\r\n DecoratorModuleToolbarPlugin,\r\n ModulePlugin\r\n} from \"./plugins\"\r\nimport { useModules } from \"./plugins/ModulePlugin/composables\"\r\nimport { DEVICE_VIEW_MODE } from \"./core\"\r\n\r\nimport DocTheme from \"./themes/DocTheme\";\r\nimport DocNodes from \"./plugins/nodes\"\r\nimport DocEditorCss from \"./themes/doc-editor.css?raw\";\r\nimport DocEditorEditCss from \"./themes/doc-editor-edit.css?raw\";\r\nimport DocThemeCss from \"./themes/doc-theme.css?raw\";\r\n\r\n// 定义组件\r\ndefineOptions({ name: \"MKDocEditor\" })\r\n\r\n// 事件\r\nconst emit = defineEmits(['change']);\r\n\r\n// 参数\r\nconst props = defineProps({\r\n placeholder:{type:String,default:\"这里输入正文...\"},\r\n content:{ type:String,default:`` },\r\n js:{ type:String,default:`` },\r\n css:{ type:String,default:`` }\r\n})\r\n \r\n\r\n// 配置\r\nconst config = {\r\n namespace: 'MyEditor',\r\n theme: DocTheme,\r\n nodes: [\r\n ...DocNodes,\r\n ],\r\n onError(error:Error) {\r\n // Catch any errors that occur during Lexical updates and log them\r\n // or throw them as needed. If you don't throw them, Lexical will\r\n // try to recover gracefully without losing user data.\r\n console.error(error)\r\n },\r\n}\r\n\r\n// iframe 编辑器\r\nconst iframeContentRef = ref(null as any);\r\nconst iframeBody = computed(()=>iframeContentRef.value?.contentWindow?.document?.body)\r\n\r\n//内容改变时\r\nconst updateStage = ()=>{\r\n setTimeout(() => {\r\n if(iframeBody.value?.scrollHeight > iframeBody.value?.offsetHeight){\r\n iframeContentRef.value.style.height = (iframeBody.value?.scrollHeight + 10)+\"px\";\r\n }\r\n }, 10);\r\n}\r\nconst contentChangeHandle = (content:any)=>{\r\n emit('change',content);\r\n updateStage();\r\n}\r\n\r\nonMounted(()=>{\r\n\r\n const doc = iframeContentRef.value?.contentWindow?.document;\r\n\r\n // 样式\r\n const style = document.createElement(\"style\");\r\n style.setAttribute(\"type\",\"text/css\")\r\n\r\n // 默认样式\r\n style.innerHTML = [DocEditorCss,DocThemeCss,DocEditorEditCss].join(\"\\r\\n\");\r\n\r\n //模块渲染样式\r\n style.innerHTML += useModules().filter(item=>item.editorCss).map(item=>item.editorCss).join(\"\\r\\n\");\r\n\r\n doc.head.append(style);\r\n\r\n // 扩展的js和css\r\n props.js.split(\",\").filter(item=>!!item).forEach(path=>{\r\n const script = document.createElement(\"script\");\r\n script.src = path;\r\n script.setAttribute(\"crossorigin\",\"true\")\r\n doc.head.append(script);\r\n })\r\n props.css.split(\",\").filter(item=>!!item).forEach(path=>{\r\n const link = document.createElement(\"link\");\r\n link.href = path;\r\n link.setAttribute(\"rel\",\"stylesheet\")\r\n link.setAttribute(\"crossorigin\",\"true\")\r\n doc.head.append(link);\r\n })\r\n\r\n // 设备显示模式改变\r\n watch(DEVICE_VIEW_MODE,(payload: string) => {\r\n doc.body.style.fontSize = payload == \"pc\" ? \"14px\" : \"18px\";\r\n updateStage();\r\n return false\r\n },{ immediate :true})\r\n\r\n // 初始化计算舞台\r\n setTimeout(()=> updateStage(),500)\r\n});\r\n\r\n</script>\r\n"],"names":["DocNodes","ref","computed","onMounted","DocEditorCss","DocThemeCss","DocEditorEditCss","useModules","watch","DEVICE_VIEW_MODE"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgEA,UAAM,OAAO;AAGb,UAAM,QAAQ;AASd,UAAM,SAAS;AAAA,MACb,WAAW;AAAA,MACX,OAAO;AAAA,MACP,OAAO;AAAA,QACL,GAAGA;AAAAA,MACL;AAAA,MACA,QAAQ,OAAa;AAInB,gBAAQ,MAAM,KAAK;AAAA,MACrB;AAAA,IAAA;AAII,UAAA,mBAAmBC,QAAI,IAAW;AACxC,UAAM,aAAaC,IAAS,SAAA;;AAAI,gDAAiB,UAAjB,mBAAwB,kBAAxB,mBAAuC,aAAvC,mBAAiD;AAAA,KAAI;AAGrF,UAAM,cAAc,MAAI;AACtB,iBAAW,MAAM;;AACf,cAAG,gBAAW,UAAX,mBAAkB,kBAAe,gBAAW,UAAX,mBAAkB,eAAa;AACjE,2BAAiB,MAAM,MAAM,WAAU,gBAAW,UAAX,mBAAkB,gBAAe,KAAI;AAAA,QAC9E;AAAA,SACC,EAAE;AAAA,IAAA;AAED,UAAA,sBAAsB,CAAC,YAAc;AACzC,WAAK,UAAS,OAAO;AACT;IAAA;AAGdC,QAAAA,UAAU,MAAI;;AAEN,YAAA,OAAM,4BAAiB,UAAjB,mBAAwB,kBAAxB,mBAAuC;AAG7C,YAAA,QAAQ,SAAS,cAAc,OAAO;AACtC,YAAA,aAAa,QAAO,UAAU;AAGpC,YAAM,YAAY,CAACC,WAAaC,UAAYC,aAAgB,EAAE,KAAK,MAAM;AAGzE,YAAM,aAAaC,YAAA,WAAA,EAAa,OAAO,UAAM,KAAK,SAAS,EAAE,IAAI,CAAM,SAAA,KAAK,SAAS,EAAE,KAAK,MAAM;AAE9F,UAAA,KAAK,OAAO,KAAK;AAGf,YAAA,GAAG,MAAM,GAAG,EAAE,OAAO,CAAM,SAAA,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAM,SAAA;AAC/C,cAAA,SAAS,SAAS,cAAc,QAAQ;AAC9C,eAAO,MAAM;AACN,eAAA,aAAa,eAAc,MAAM;AACpC,YAAA,KAAK,OAAO,MAAM;AAAA,MAAA,CACvB;AACK,YAAA,IAAI,MAAM,GAAG,EAAE,OAAO,CAAM,SAAA,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAM,SAAA;AAChD,cAAA,OAAO,SAAS,cAAc,MAAM;AAC1C,aAAK,OAAO;AACP,aAAA,aAAa,OAAM,YAAY;AAC/B,aAAA,aAAa,eAAc,MAAM;AAClC,YAAA,KAAK,OAAO,IAAI;AAAA,MAAA,CACrB;AAGKC,gBAAAC,MAAAA,kBAAiB,CAAC,YAAoB;AAC1C,YAAI,KAAK,MAAM,WAAW,WAAW,OAAO,SAAS;AACzC;AACL,eAAA;AAAA,MAAA,GACP,EAAE,WAAW,KAAA,CAAK;AAGT,iBAAA,MAAK,eAAc,GAAG;AAAA,IAAA,CAClC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"editor.vue.js","sources":["../../../../../src/components/basic/doc-editor/editor.vue"],"sourcesContent":["<template>\r\n <LexicalComposer :initial-config=\"config\">\r\n <div class=\"mk-doc-editor\" :class=\"DEVICE_VIEW_MODE\">\r\n <ToolbarPlugin :js=\"js\" :css=\"css\" />\r\n <div class=\"mk-doc-editor__stage_warp\">\r\n <slot name=\"before-extentions\"></slot>\r\n <div class=\"mk-doc-editor__stage_body\">\r\n <slot name=\"header\"></slot>\r\n <iframe title=\"iframe\" class=\"mk-doc-editor__stage_iframe\" ref=\"iframeContentRef\"></iframe>\r\n <Teleport v-if=\"iframeBody\" :to=\"iframeBody\">\r\n <RichTextPlugin :content=\"props.content\" @change=\"contentChangeHandle\" :placeholder=\"placeholder\">\r\n </RichTextPlugin>\r\n <ImagePlugin />\r\n <AutoLinkPlugin />\r\n <ModulePlugin />\r\n <GridPlugin />\r\n </Teleport>\r\n <ElementBlockSelectionPlugin />\r\n <slot name=\"footer\"></slot>\r\n </div>\r\n <slot name=\"after-extentions\"></slot>\r\n </div>\r\n \r\n </div>\r\n <LexicalAutoFocusPlugin />\r\n <LexicalCheckListPlugin />\r\n <LexicalHashtagPlugin />\r\n <LexicalListPlugin />\r\n <LexicalHistoryPlugin />\r\n </LexicalComposer>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { defineOptions,defineProps,defineEmits,computed,ref,onMounted,watch } from \"vue\"\r\nimport {\r\n LexicalComposer,\r\n LexicalAutoFocusPlugin,\r\n LexicalCheckListPlugin,\r\n LexicalHashtagPlugin,\r\n LexicalHistoryPlugin,\r\n LexicalListPlugin,\r\n} from 'lexical-vue'\r\nimport { \r\n ToolbarPlugin,\r\n RichTextPlugin,\r\n AutoLinkPlugin,\r\n ImagePlugin,\r\n ElementBlockSelectionPlugin,\r\n GridPlugin,\r\n ModulePlugin\r\n} from \"./plugins\"\r\nimport { useModules } from \"./plugins/ModulePlugin/composables\"\r\nimport { DEVICE_VIEW_MODE } from \"./core\"\r\n\r\nimport DocTheme from \"./themes/DocTheme\";\r\nimport DocNodes from \"./plugins/nodes\"\r\nimport DocEditorCss from \"./themes/doc-editor.css?raw\";\r\nimport DocEditorEditCss from \"./themes/doc-editor-edit.css?raw\";\r\nimport DocThemeCss from \"./themes/doc-theme.css?raw\";\r\n\r\n// 定义组件\r\ndefineOptions({ name: \"MKDocEditor\" })\r\n\r\n// 事件\r\nconst emit = defineEmits(['change']);\r\n\r\n// 参数\r\nconst props = defineProps({\r\n placeholder:{type:String,default:\"这里输入正文...\"},\r\n content:{ type:String,default:`` },\r\n js:{ type:String,default:`` },\r\n css:{ type:String,default:`` }\r\n})\r\n \r\n\r\n// 配置\r\nconst config = {\r\n namespace: 'MyEditor',\r\n theme: DocTheme,\r\n nodes: [\r\n ...DocNodes,\r\n ],\r\n onError(error:Error) {\r\n // Catch any errors that occur during Lexical updates and log them\r\n // or throw them as needed. If you don't throw them, Lexical will\r\n // try to recover gracefully without losing user data.\r\n console.error(error)\r\n },\r\n}\r\n\r\n// iframe 编辑器\r\nconst iframeContentRef = ref(null as any);\r\nconst iframeBody = computed(()=>iframeContentRef.value?.contentWindow?.document?.body)\r\n\r\n//内容改变时\r\nconst updateStage = ()=>{\r\n setTimeout(() => {\r\n if(iframeBody.value?.scrollHeight > iframeBody.value?.offsetHeight){\r\n iframeContentRef.value.style.height = (iframeBody.value?.scrollHeight + 10)+\"px\";\r\n }\r\n }, 10);\r\n}\r\nconst contentChangeHandle = (content:any)=>{\r\n emit('change',content);\r\n updateStage();\r\n}\r\n\r\nonMounted(()=>{\r\n\r\n const doc = iframeContentRef.value?.contentWindow?.document;\r\n\r\n // 样式\r\n const style = document.createElement(\"style\");\r\n style.setAttribute(\"type\",\"text/css\")\r\n\r\n // 默认样式\r\n style.innerHTML = [DocEditorCss,DocThemeCss,DocEditorEditCss].join(\"\\r\\n\");\r\n\r\n //模块渲染样式\r\n style.innerHTML += useModules().filter(item=>item.editorCss).map(item=>item.editorCss).join(\"\\r\\n\");\r\n\r\n doc.head.append(style);\r\n\r\n // 扩展的js和css\r\n props.js.split(\",\").filter(item=>!!item).forEach(path=>{\r\n const script = document.createElement(\"script\");\r\n script.src = path;\r\n script.setAttribute(\"crossorigin\",\"true\")\r\n doc.head.append(script);\r\n })\r\n\r\n props.css.split(\",\").filter(item=>!!item).forEach(path=>{\r\n const link = document.createElement(\"link\");\r\n link.href = path;\r\n link.setAttribute(\"rel\",\"stylesheet\")\r\n link.setAttribute(\"crossorigin\",\"true\")\r\n doc.head.append(link);\r\n })\r\n\r\n // 设备显示模式改变\r\n watch(DEVICE_VIEW_MODE,(payload: string) => {\r\n doc.body.style.fontSize = payload == \"pc\" ? \"14px\" : \"18px\";\r\n updateStage();\r\n return false\r\n },{ immediate :true})\r\n\r\n // 初始化计算舞台\r\n setTimeout(()=> updateStage(),500)\r\n});\r\n\r\n</script>\r\n"],"names":["DocNodes","ref","computed","onMounted","DocEditorCss","DocThemeCss","DocEditorEditCss","useModules","watch","DEVICE_VIEW_MODE"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgEA,UAAM,OAAO;AAGb,UAAM,QAAQ;AASd,UAAM,SAAS;AAAA,MACb,WAAW;AAAA,MACX,OAAO;AAAA,MACP,OAAO;AAAA,QACL,GAAGA;AAAAA,MACL;AAAA,MACA,QAAQ,OAAa;AAInB,gBAAQ,MAAM,KAAK;AAAA,MACrB;AAAA,IAAA;AAII,UAAA,mBAAmBC,QAAI,IAAW;AACxC,UAAM,aAAaC,IAAS,SAAA;;AAAI,gDAAiB,UAAjB,mBAAwB,kBAAxB,mBAAuC,aAAvC,mBAAiD;AAAA,KAAI;AAGrF,UAAM,cAAc,MAAI;AACtB,iBAAW,MAAM;;AACf,cAAG,gBAAW,UAAX,mBAAkB,kBAAe,gBAAW,UAAX,mBAAkB,eAAa;AACjE,2BAAiB,MAAM,MAAM,WAAU,gBAAW,UAAX,mBAAkB,gBAAe,KAAI;AAAA,QAC9E;AAAA,SACC,EAAE;AAAA,IAAA;AAED,UAAA,sBAAsB,CAAC,YAAc;AACzC,WAAK,UAAS,OAAO;AACT;IAAA;AAGdC,QAAAA,UAAU,MAAI;;AAEN,YAAA,OAAM,4BAAiB,UAAjB,mBAAwB,kBAAxB,mBAAuC;AAG7C,YAAA,QAAQ,SAAS,cAAc,OAAO;AACtC,YAAA,aAAa,QAAO,UAAU;AAGpC,YAAM,YAAY,CAACC,WAAaC,UAAYC,aAAgB,EAAE,KAAK,MAAM;AAGzE,YAAM,aAAaC,YAAA,WAAA,EAAa,OAAO,UAAM,KAAK,SAAS,EAAE,IAAI,CAAM,SAAA,KAAK,SAAS,EAAE,KAAK,MAAM;AAE9F,UAAA,KAAK,OAAO,KAAK;AAGf,YAAA,GAAG,MAAM,GAAG,EAAE,OAAO,CAAM,SAAA,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAM,SAAA;AAC/C,cAAA,SAAS,SAAS,cAAc,QAAQ;AAC9C,eAAO,MAAM;AACN,eAAA,aAAa,eAAc,MAAM;AACpC,YAAA,KAAK,OAAO,MAAM;AAAA,MAAA,CACvB;AAEK,YAAA,IAAI,MAAM,GAAG,EAAE,OAAO,CAAM,SAAA,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAM,SAAA;AAChD,cAAA,OAAO,SAAS,cAAc,MAAM;AAC1C,aAAK,OAAO;AACP,aAAA,aAAa,OAAM,YAAY;AAC/B,aAAA,aAAa,eAAc,MAAM;AAClC,YAAA,KAAK,OAAO,IAAI;AAAA,MAAA,CACrB;AAGKC,gBAAAC,MAAAA,kBAAiB,CAAC,YAAoB;AAC1C,YAAI,KAAK,MAAM,WAAW,WAAW,OAAO,SAAS;AACzC;AACL,eAAA;AAAA,MAAA,GACP,EAAE,WAAW,KAAA,CAAK;AAGT,iBAAA,MAAK,eAAc,GAAG;AAAA,IAAA,CAClC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -4,7 +4,7 @@ const lexical = require("lexical");
4
4
  const utils = require("@lexical/utils");
5
5
  const lexicalVue = require("lexical-vue");
6
6
  const index = require("../../core/index.js");
7
- const decoratorModule = require("../../core/decorator-module.js");
7
+ const elementBlock = require("../../core/element-block.js");
8
8
  const lowPriority = 1;
9
9
  const _sfc_main = /* @__PURE__ */ vue.defineComponent({
10
10
  __name: "index",
@@ -14,7 +14,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
14
14
  const selectPayload = vue.shallowRef(null);
15
15
  const toolsPos = vue.reactive({ left: "px", top: "0px" });
16
16
  vue.watch(index.DEVICE_VIEW_MODE, () => {
17
- editor.dispatchCommand(decoratorModule.UPDATE_DECORATORMODULE_TOOLBAR_POS_COMMAND, null);
17
+ editor.dispatchCommand(elementBlock.UPDATE_ELEMENTBLOCK_TOOLBAR_POS_COMMAND, null);
18
18
  });
19
19
  const updateToolsPos = () => {
20
20
  vue.nextTick(() => {
@@ -34,10 +34,10 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
34
34
  };
35
35
  lexicalVue.useMounted(() => {
36
36
  return utils.mergeRegister(
37
- editor.registerCommand(decoratorModule.UPDATE_DECORATORMODULE_TOOLBAR_POS_COMMAND, () => updateToolsPos(), lowPriority),
38
- editor.registerUpdateListener(({ editorState }) => editorState.read(() => updateToolsPos())),
37
+ editor.registerCommand(elementBlock.UPDATE_ELEMENTBLOCK_TOOLBAR_POS_COMMAND, () => updateToolsPos(), lowPriority),
38
+ editor.registerUpdateListener(() => setTimeout(() => updateToolsPos(), 50)),
39
39
  // 选中模块
40
- editor.registerCommand(decoratorModule.SELECTED_DECORATORMODULE_COMMAND, (payload) => {
40
+ editor.registerCommand(elementBlock.SELECTED_ELEMENTBLOCK_COMMAND, (payload) => {
41
41
  if (payload != null) {
42
42
  let toolsbarList = [];
43
43
  if (typeof payload.toolsbars == "function") {
@@ -60,11 +60,11 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
60
60
  return updateToolsPos();
61
61
  }, lowPriority),
62
62
  // 删除模块
63
- editor.registerCommand(decoratorModule.REMOVE_DECORATORMODULE_COMMAND, () => {
63
+ editor.registerCommand(elementBlock.REMOVE_ELEMENTBLOCK_COMMAND, () => {
64
64
  const selection = lexical.$getSelection();
65
65
  if (lexical.$isNodeSelection(selection)) {
66
66
  selection.getNodes().forEach((node) => node.remove());
67
- editor.dispatchCommand(decoratorModule.SELECTED_DECORATORMODULE_COMMAND, null);
67
+ editor.dispatchCommand(elementBlock.SELECTED_ELEMENTBLOCK_COMMAND, null);
68
68
  }
69
69
  return false;
70
70
  }, lowPriority)
@@ -123,7 +123,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
123
123
  vue.createVNode(_component_el_button, {
124
124
  text: "",
125
125
  type: "danger",
126
- onClick: _cache[0] || (_cache[0] = ($event) => vue.unref(editor).dispatchCommand(vue.unref(decoratorModule.REMOVE_DECORATORMODULE_COMMAND), null))
126
+ onClick: _cache[0] || (_cache[0] = ($event) => vue.unref(editor).dispatchCommand(vue.unref(elementBlock.REMOVE_ELEMENTBLOCK_COMMAND), null))
127
127
  }, {
128
128
  default: vue.withCtx(() => [
129
129
  vue.createVNode(_component_MKSvgIcon, { iconClass: `Delete` })
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.vue.js","sources":["../../../../../../../src/components/basic/doc-editor/plugins/ElementBlockSelectionPlugin/index.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { type CommandListenerPriority, $isNodeSelection, $getSelection } from 'lexical'\r\nimport { mergeRegister } from '@lexical/utils'\r\nimport { useLexicalComposer, useMounted } from 'lexical-vue'\r\nimport { ref, reactive, shallowRef, nextTick, watch } from 'vue'\r\nimport {\r\n UPDATE_ELEMENTBLOCK_TOOLBAR_POS_COMMAND, SELECTED_ELEMENTBLOCK_COMMAND, REMOVE_ELEMENTBLOCK_COMMAND,\r\n type SelectElementBlocktEventType, DEVICE_VIEW_MODE,\r\n SelectElementBlockToolsbarFunction\r\n} from \"../../core\"\r\n\r\n// 点击工具条按钮\r\nconst lowPriority: CommandListenerPriority = 1\r\nconst editor = useLexicalComposer()\r\nconst toolbarRef = ref<HTMLDivElement | null>(null)\r\nconst selectPayload = shallowRef<SelectElementBlocktEventType | null>(null);\r\nconst toolsPos = reactive({ left: \"px\", top: \"0px\" });\r\n\r\nwatch(DEVICE_VIEW_MODE, () => {\r\n editor.dispatchCommand(UPDATE_ELEMENTBLOCK_TOOLBAR_POS_COMMAND, null);\r\n})\r\n\r\n\r\n// 更新工具条坐标\r\nconst updateToolsPos = () => {\r\n\r\n nextTick(() => {\r\n \r\n if (selectPayload.value != null && toolbarRef.value != null) {\r\n const editIframeRect = (toolbarRef.value.getRootNode() as any).body.querySelector(\".mk-doc-editor__stage_iframe\").getBoundingClientRect();\r\n const editBodyRect = (toolbarRef.value.getRootNode() as any).body.querySelector(\".mk-doc-editor__stage_body\").getBoundingClientRect();\r\n const baseY = editIframeRect.y - editBodyRect.y;\r\n const selectRect = selectPayload.value.element.getBoundingClientRect();\r\n const toolsRect = toolbarRef.value.getBoundingClientRect();\r\n if (toolsRect) {\r\n // 中心点\r\n toolsPos.top = Math.max(selectRect.y - toolsRect.height - 5 + baseY, 5 + baseY) + \"px\"\r\n toolsPos.left = toolsRect.width / -2 + selectRect.x + selectRect.width / 2 + \"px\";\r\n }\r\n }\r\n })\r\n return false;\r\n}\r\n\r\nuseMounted(() => {\r\n return mergeRegister(\r\n editor.registerCommand(UPDATE_ELEMENTBLOCK_TOOLBAR_POS_COMMAND, () => updateToolsPos(), lowPriority),\r\n editor.registerUpdateListener(() => setTimeout(()=> updateToolsPos(),50)),\r\n // 选中模块\r\n editor.registerCommand(SELECTED_ELEMENTBLOCK_COMMAND, (payload: SelectElementBlocktEventType) => {\r\n\r\n if (payload != null) {\r\n\r\n let toolsbarList = [];\r\n\r\n // 如果是函数的话\r\n if (typeof payload.toolsbars == \"function\") {\r\n\r\n const selection = $getSelection();\r\n\r\n if ($isNodeSelection(selection)) {\r\n toolsbarList = payload.toolsbars(selection) ?? [];\r\n }\r\n else {\r\n toolsbarList = payload.toolsbars(null) ?? [];\r\n }\r\n }\r\n else {\r\n toolsbarList = payload.toolsbars;\r\n }\r\n\r\n selectPayload.value = {\r\n element: payload.element,\r\n toolsbars: toolsbarList\r\n };\r\n }\r\n else {\r\n selectPayload.value = null;\r\n }\r\n\r\n return updateToolsPos();\r\n }, lowPriority),\r\n // 删除模块\r\n editor.registerCommand(REMOVE_ELEMENTBLOCK_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 // 没选中\r\n editor.dispatchCommand(SELECTED_ELEMENTBLOCK_COMMAND, null);\r\n }\r\n return false;\r\n }, lowPriority)\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]\r\n\r\n // console.log(node,node.getTopLevelElement());\r\n // }\r\n\r\n // return updateToolsPos();\r\n // },lowPriority)\r\n )\r\n})\r\n\r\n</script>\r\n\r\n<template>\r\n <div v-if=\"selectPayload != null\" ref=\"toolbarRef\" class=\"mk-doc-editor-decorator-module-toolbar\" :style=\"toolsPos\">\r\n <el-button-group>\r\n\r\n <template v-for=\"item in selectPayload.toolsbars as any[]\">\r\n <el-tooltip effect=\"dark\" :content=\"item.title\" placement=\"top\">\r\n <el-button text @click=\"item.action()\">\r\n <MKSvgIcon :iconClass=\"item.icon\" />\r\n </el-button>\r\n </el-tooltip>\r\n </template>\r\n <el-tooltip effect=\"dark\" content=\"删除\" placement=\"top\">\r\n <el-button text type=\"danger\" @click=\"editor.dispatchCommand(REMOVE_ELEMENTBLOCK_COMMAND, null)\">\r\n <MKSvgIcon :iconClass=\"`Delete`\" />\r\n </el-button>\r\n </el-tooltip>\r\n\r\n </el-button-group>\r\n </div>\r\n</template>\r\n"],"names":["useLexicalComposer","ref","shallowRef","reactive","watch","DEVICE_VIEW_MODE","UPDATE_ELEMENTBLOCK_TOOLBAR_POS_COMMAND","nextTick","useMounted","mergeRegister","SELECTED_ELEMENTBLOCK_COMMAND","$getSelection","$isNodeSelection","REMOVE_ELEMENTBLOCK_COMMAND"],"mappings":";;;;;;;AAYA,MAAM,cAAuC;;;;AAC7C,UAAM,SAASA,WAAAA;AACT,UAAA,aAAaC,QAA2B,IAAI;AAC5C,UAAA,gBAAgBC,eAAgD,IAAI;AAC1E,UAAM,WAAWC,IAAAA,SAAS,EAAE,MAAM,MAAM,KAAK,OAAO;AAEpDC,QAAA,MAAMC,wBAAkB,MAAM;AACrB,aAAA,gBAAgBC,sDAAyC,IAAI;AAAA,IAAA,CACrE;AAID,UAAM,iBAAiB,MAAM;AAE3BC,UAAAA,SAAS,MAAM;AAEb,YAAI,cAAc,SAAS,QAAQ,WAAW,SAAS,MAAM;AACrD,gBAAA,iBAAkB,WAAW,MAAM,YAAA,EAAsB,KAAK,cAAc,8BAA8B,EAAE;AAC5G,gBAAA,eAAgB,WAAW,MAAM,YAAA,EAAsB,KAAK,cAAc,4BAA4B,EAAE;AACxG,gBAAA,QAAQ,eAAe,IAAI,aAAa;AAC9C,gBAAM,aAAa,cAAc,MAAM,QAAQ,sBAAsB;AAC/D,gBAAA,YAAY,WAAW,MAAM,sBAAsB;AACzD,cAAI,WAAW;AAEJ,qBAAA,MAAM,KAAK,IAAI,WAAW,IAAI,UAAU,SAAS,IAAI,OAAO,IAAI,KAAK,IAAI;AACzE,qBAAA,OAAO,UAAU,QAAQ,KAAK,WAAW,IAAI,WAAW,QAAQ,IAAI;AAAA,UAC/E;AAAA,QACF;AAAA,MAAA,CACD;AACM,aAAA;AAAA,IAAA;AAGTC,eAAAA,WAAW,MAAM;AACR,aAAAC,MAAA;AAAA,QACL,OAAO,gBAAgBH,aAAAA,yCAAyC,MAAM,eAAA,GAAkB,WAAW;AAAA,QACnG,OAAO,uBAAuB,MAAO,WAAW,MAAK,eAAe,GAAE,EAAE,CAAC;AAAA;AAAA,QAEzE,OAAO,gBAAgBI,4CAA+B,CAAC,YAA0C;AAE/F,cAAI,WAAW,MAAM;AAEnB,gBAAI,eAAe,CAAA;AAGf,gBAAA,OAAO,QAAQ,aAAa,YAAY;AAE1C,oBAAM,YAAYC,QAAAA;AAEd,kBAAAC,QAAAA,iBAAiB,SAAS,GAAG;AAC/B,+BAAe,QAAQ,UAAU,SAAS,KAAK,CAAA;AAAA,cAAC,OAE7C;AACH,+BAAe,QAAQ,UAAU,IAAI,KAAK,CAAA;AAAA,cAC5C;AAAA,YAAA,OAEG;AACH,6BAAe,QAAQ;AAAA,YACzB;AAEA,0BAAc,QAAQ;AAAA,cACpB,SAAS,QAAQ;AAAA,cACjB,WAAW;AAAA,YAAA;AAAA,UACb,OAEG;AACH,0BAAc,QAAQ;AAAA,UACxB;AAEA,iBAAO,eAAe;AAAA,WACrB,WAAW;AAAA;AAAA,QAEd,OAAO,gBAAgBC,aAAAA,6BAA6B,MAAM;AAExD,gBAAM,YAAYF,QAAAA;AAEd,cAAAC,QAAAA,iBAAiB,SAAS,GAAG;AAE/B,sBAAU,WAAW,QAAQ,CAAQ,SAAA,KAAK,QAAQ;AAG3C,mBAAA,gBAAgBF,4CAA+B,IAAI;AAAA,UAC5D;AACO,iBAAA;AAAA,WACN,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAAA;AAAA,IAchB,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,164 @@
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
+ class GridNode extends lexical.ElementNode {
8
+ constructor(attrs, key) {
9
+ super(key);
10
+ __publicField(this, "__attrs");
11
+ this.__attrs = attrs;
12
+ }
13
+ static getType() {
14
+ return "grid";
15
+ }
16
+ static hasGridNodeByElement(el) {
17
+ return el.classList.contains(GridNode.getMarkClassName()) ? el : null;
18
+ }
19
+ static getMarkClassName() {
20
+ return `mk-doc__${GridNode.getType()}`;
21
+ }
22
+ static getExtraClassName(el) {
23
+ return el.className.replace(GridNode.getMarkClassName(), "").trim();
24
+ }
25
+ static clone(node) {
26
+ return new GridNode(node.__attrs, node.__key);
27
+ }
28
+ static importJSON(serializedNode) {
29
+ return new GridNode(serializedNode.attrs);
30
+ }
31
+ static importDOM() {
32
+ return {
33
+ div: (domNode) => {
34
+ return GridNode.hasGridNodeByElement(domNode) ? {
35
+ conversion: () => {
36
+ return {
37
+ node: new GridNode({
38
+ class: GridNode.getExtraClassName(domNode),
39
+ width: domNode.style.width || "100%",
40
+ height: domNode.style.height,
41
+ flex: domNode.style.flex,
42
+ maxWidth: domNode.style.maxWidth,
43
+ maxHeight: domNode.style.maxHeight
44
+ })
45
+ };
46
+ },
47
+ priority: 1
48
+ } : null;
49
+ }
50
+ };
51
+ }
52
+ /**
53
+ * 设置属性
54
+ * @param pos
55
+ */
56
+ setAttrs(data) {
57
+ const writable = this.getWritable();
58
+ Object.assign(writable.__attrs, data);
59
+ }
60
+ /**
61
+ * 获取属性
62
+ * @param pos
63
+ */
64
+ getAttrs() {
65
+ return this.__attrs;
66
+ }
67
+ /**
68
+ * 导出JSON
69
+ * @returns
70
+ */
71
+ exportJSON() {
72
+ return {
73
+ ...super.exportJSON(),
74
+ type: this.getType(),
75
+ attrs: this.__attrs,
76
+ version: 1
77
+ };
78
+ }
79
+ /**
80
+ * 更新元素属性
81
+ * @param el
82
+ */
83
+ updateElementAttr(el) {
84
+ Object.keys(this.__attrs).forEach((key) => {
85
+ if (["class", "overflowX"].indexOf(key) < 0) {
86
+ el.style[key] = this.__attrs[key];
87
+ }
88
+ });
89
+ }
90
+ /**
91
+ * 获取标识类
92
+ * @returns
93
+ */
94
+ getMarkClassName() {
95
+ return `mk-doc__${this.getType()}`;
96
+ }
97
+ /**
98
+ * 导出DOM
99
+ * @returns
100
+ */
101
+ exportDOM() {
102
+ const element = document.createElement("div");
103
+ this.updateElementAttr(element);
104
+ let extraClassName = GridNode.getExtraClassName(element);
105
+ if (extraClassName != this.__attrs.class) {
106
+ if (extraClassName) {
107
+ element.classList.remove(extraClassName);
108
+ }
109
+ if (this.__attrs.class) {
110
+ element.classList.add(this.__attrs.class);
111
+ }
112
+ }
113
+ if (!element.classList.contains(GridNode.getMarkClassName())) {
114
+ element.classList.add(GridNode.getMarkClassName());
115
+ }
116
+ if (!element.classList.contains(this.getMarkClassName())) {
117
+ element.classList.add(this.getMarkClassName());
118
+ }
119
+ return { element };
120
+ }
121
+ /**
122
+ * 创建渲染DOM
123
+ * @param config
124
+ * @returns
125
+ */
126
+ createDOM(config) {
127
+ const el = this.exportDOM().element;
128
+ el.setAttribute("node-key", this.__key);
129
+ return el;
130
+ }
131
+ /**
132
+ * 更新DOM
133
+ * @param prevNode
134
+ * @param dom
135
+ * @param config
136
+ * @returns
137
+ */
138
+ updateDOM(prevNode, el, config) {
139
+ this.updateElementAttr(el);
140
+ let extraClassName = GridNode.getExtraClassName(el).replace(this.getMarkClassName(), "").trim();
141
+ if (extraClassName != this.__attrs.class) {
142
+ if (extraClassName) {
143
+ el.classList.remove(extraClassName);
144
+ }
145
+ if (this.__attrs.class) {
146
+ el.classList.add(this.__attrs.class);
147
+ }
148
+ }
149
+ return false;
150
+ }
151
+ /**
152
+ * 非内联
153
+ * @returns
154
+ */
155
+ isInline() {
156
+ return false;
157
+ }
158
+ }
159
+ function $isGridNode(node) {
160
+ return node instanceof GridNode;
161
+ }
162
+ exports.$isGridNode = $isGridNode;
163
+ exports.GridNode = GridNode;
164
+ //# sourceMappingURL=GridNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridNode.js","sources":["../../../../../../../src/components/basic/doc-editor/plugins/GridPlugin/GridNode.ts"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\nimport type { DOMConversionMap, SerializedElementNode, LexicalNode, NodeKey, Spread,EditorConfig, DOMExportOutput } from 'lexical'\r\nimport { ElementNode } from 'lexical'\r\n\r\n/**\r\n * 容器属性\r\n */\r\nexport type GridNodeAttrType = {\r\n class:string,\r\n width:string,\r\n height:string,\r\n maxWidth:string,\r\n maxHeight:string,\r\n flex:string\r\n};\r\n\r\n/**\r\n * 节点序列化 \r\n */\r\nexport type SerializedGridNode = Spread<{ attrs:GridNodeAttrType },SerializedElementNode>\r\n\r\n/**\r\n * 格子\r\n */\r\nexport class GridNode extends ElementNode{\r\n\r\n __attrs:GridNodeAttrType\r\n\r\n static getType(): string { return \"grid\"; }\r\n\r\n static hasGridNodeByElement(el:HTMLElement):HTMLElement|null{\r\n return el.classList.contains(GridNode.getMarkClassName()) ? el : null;\r\n }\r\n\r\n static getMarkClassName(): string {\r\n return `mk-doc__${GridNode.getType()}`\r\n }\r\n\r\n static getExtraClassName(el:HTMLElement){\r\n return el.className.replace(GridNode.getMarkClassName(),\"\").trim();\r\n }\r\n\r\n static clone(node: GridNode): GridNode {\r\n \r\n return new GridNode(node.__attrs,node.__key)\r\n }\r\n\r\n static importJSON(serializedNode: SerializedGridNode): GridNode {\r\n return new GridNode(serializedNode.attrs)\r\n }\r\n\r\n static importDOM(): DOMConversionMap | null {\r\n return {\r\n div : (domNode: HTMLElement) => {\r\n\r\n return GridNode.hasGridNodeByElement(domNode) ? {\r\n\r\n conversion: ()=>{ \r\n\r\n return { \r\n\r\n node:new GridNode({\r\n class:GridNode.getExtraClassName(domNode),\r\n width:domNode.style.width || \"100%\",\r\n height:domNode.style.height,\r\n flex:domNode.style.flex,\r\n maxWidth:domNode.style.maxWidth,\r\n maxHeight:domNode.style.maxHeight\r\n } as GridNodeAttrType) \r\n };\r\n },\r\n priority: 1\r\n } : null;\r\n }\r\n }\r\n }\r\n\r\n constructor(attrs:GridNodeAttrType,key?: NodeKey) {\r\n super(key)\r\n this.__attrs = attrs;\r\n }\r\n\r\n /**\r\n * 设置属性\r\n * @param pos \r\n */\r\n setAttrs(data?:GridNodeAttrType){\r\n const writable = this.getWritable();\r\n Object.assign(writable.__attrs,data)\r\n }\r\n\r\n /**\r\n * 获取属性\r\n * @param pos \r\n */\r\n getAttrs():GridNodeAttrType{\r\n return this.__attrs;\r\n }\r\n\r\n /**\r\n * 导出JSON\r\n * @returns \r\n */\r\n exportJSON(): SerializedGridNode {\r\n return {\r\n ...super.exportJSON(), \r\n type: this.getType(),\r\n attrs:this.__attrs,\r\n version: 1\r\n }\r\n }\r\n\r\n /**\r\n * 更新元素属性\r\n * @param el \r\n */\r\n updateElementAttr(el:HTMLElement){\r\n // 更新属性\r\n Object.keys(this.__attrs).forEach((key:any)=>{\r\n if([\"class\",\"overflowX\"].indexOf(key) < 0){\r\n el.style[key] = (this.__attrs as any)[key];\r\n }\r\n })\r\n }\r\n\r\n /**\r\n * 获取标识类\r\n * @returns \r\n */\r\n getMarkClassName(): string {\r\n return `mk-doc__${this.getType()}`\r\n }\r\n\r\n /**\r\n * 导出DOM\r\n * @returns \r\n */\r\n exportDOM(): DOMExportOutput {\r\n \r\n const element = document.createElement('div')\r\n\r\n this.updateElementAttr(element);\r\n\r\n // 移除老标识\r\n let extraClassName = GridNode.getExtraClassName(element);\r\n\r\n if(extraClassName != this.__attrs.class){\r\n\r\n if(extraClassName){\r\n element.classList.remove(extraClassName);\r\n }\r\n\r\n // 添加样式\r\n if (this.__attrs.class) {\r\n element.classList.add(this.__attrs.class);\r\n }\r\n }\r\n\r\n // 标识格子\r\n if (!element.classList.contains(GridNode.getMarkClassName())) {\r\n element.classList.add(GridNode.getMarkClassName());\r\n }\r\n\r\n // 标识指定\r\n if (!element.classList.contains(this.getMarkClassName())) {\r\n element.classList.add(this.getMarkClassName());\r\n }\r\n\r\n return { element }\r\n }\r\n\r\n /**\r\n * 创建渲染DOM\r\n * @param config \r\n * @returns \r\n */\r\n createDOM(config: EditorConfig): HTMLElement {\r\n\r\n const el = this.exportDOM().element as HTMLElement;\r\n\r\n el.setAttribute(\"node-key\",this.__key)\r\n\r\n return el;\r\n }\r\n\r\n /**\r\n * 更新DOM\r\n * @param prevNode \r\n * @param dom \r\n * @param config \r\n * @returns \r\n */\r\n updateDOM(prevNode: GridNode, el: HTMLElement, config: EditorConfig): boolean {\r\n // 更新属性\r\n \r\n this.updateElementAttr(el);\r\n\r\n // 移除老标识\r\n let extraClassName = GridNode.getExtraClassName(el).replace(this.getMarkClassName(),\"\").trim();\r\n\r\n if(extraClassName != this.__attrs.class){\r\n\r\n if(extraClassName){\r\n el.classList.remove(extraClassName);\r\n }\r\n\r\n if (this.__attrs.class) {\r\n el.classList.add(this.__attrs.class);\r\n }\r\n }\r\n return false\r\n }\r\n\r\n /**\r\n * 非内联\r\n * @returns \r\n */\r\n isInline(): boolean {\r\n return false;\r\n }\r\n}\r\n\r\n/**\r\n * 是否是格子\r\n * @param node \r\n * @returns \r\n */\r\nexport function $isGridNode(\r\n node: GridNode | LexicalNode | null | undefined,\r\n): node is GridNode {\r\n return node instanceof GridNode\r\n}\r\n\r\n"],"names":["ElementNode"],"mappings":";;;;;;AA4BO,MAAM,iBAAiBA,QAAAA,YAAW;AAAA,EAqDvC,YAAY,OAAuB,KAAe;AAChD,UAAM,GAAG;AApDX;AAqDE,SAAK,UAAU;AAAA,EACjB;AAAA,EApDA,OAAO,UAAkB;AAAS,WAAA;AAAA,EAAQ;AAAA,EAE1C,OAAO,qBAAqB,IAAgC;AAC1D,WAAO,GAAG,UAAU,SAAS,SAAS,kBAAkB,IAAI,KAAK;AAAA,EACnE;AAAA,EAEA,OAAO,mBAA2B;AACzB,WAAA,WAAW,SAAS,QAAA,CAAS;AAAA,EACtC;AAAA,EAEA,OAAO,kBAAkB,IAAe;AAC/B,WAAA,GAAG,UAAU,QAAQ,SAAS,oBAAmB,EAAE,EAAE;EAC9D;AAAA,EAEA,OAAO,MAAM,MAA0B;AAErC,WAAO,IAAI,SAAS,KAAK,SAAQ,KAAK,KAAK;AAAA,EAC7C;AAAA,EAEA,OAAO,WAAW,gBAA8C;AACvD,WAAA,IAAI,SAAS,eAAe,KAAK;AAAA,EAC1C;AAAA,EAEA,OAAO,YAAqC;AACnC,WAAA;AAAA,MACL,KAAM,CAAC,YAAyB;AAEvB,eAAA,SAAS,qBAAqB,OAAO,IAAI;AAAA,UAE9C,YAAY,MAAI;AAEN,mBAAA;AAAA,cAEP,MAAK,IAAI,SAAS;AAAA,gBACf,OAAM,SAAS,kBAAkB,OAAO;AAAA,gBACxC,OAAM,QAAQ,MAAM,SAAS;AAAA,gBAC7B,QAAO,QAAQ,MAAM;AAAA,gBACrB,MAAK,QAAQ,MAAM;AAAA,gBACnB,UAAS,QAAQ,MAAM;AAAA,gBACvB,WAAU,QAAQ,MAAM;AAAA,cAAA,CACL;AAAA,YAAA;AAAA,UAEzB;AAAA,UACA,UAAU;AAAA,QACR,IAAA;AAAA,MACN;AAAA,IAAA;AAAA,EAEJ;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,SAAS,MAAuB;AACxB,UAAA,WAAW,KAAK;AACf,WAAA,OAAO,SAAS,SAAQ,IAAI;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,WAA2B;AACzB,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,aAAiC;AACxB,WAAA;AAAA,MACL,GAAG,MAAM,WAAW;AAAA,MACpB,MAAM,KAAK,QAAQ;AAAA,MACnB,OAAM,KAAK;AAAA,MACX,SAAS;AAAA,IAAA;AAAA,EAEb;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,kBAAkB,IAAe;AAE/B,WAAO,KAAK,KAAK,OAAO,EAAE,QAAQ,CAAC,QAAU;AAC3C,UAAG,CAAC,SAAQ,WAAW,EAAE,QAAQ,GAAG,IAAI,GAAE;AACxC,WAAG,MAAM,GAAG,IAAK,KAAK,QAAgB,GAAG;AAAA,MAC3C;AAAA,IAAA,CACD;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,mBAA2B;AAClB,WAAA,WAAW,KAAK,QAAA,CAAS;AAAA,EAClC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,YAA6B;AAErB,UAAA,UAAU,SAAS,cAAc,KAAK;AAE5C,SAAK,kBAAkB,OAAO;AAG1B,QAAA,iBAAiB,SAAS,kBAAkB,OAAO;AAEpD,QAAA,kBAAkB,KAAK,QAAQ,OAAM;AAEtC,UAAG,gBAAe;AACR,gBAAA,UAAU,OAAO,cAAc;AAAA,MACzC;AAGI,UAAA,KAAK,QAAQ,OAAO;AACtB,gBAAQ,UAAU,IAAI,KAAK,QAAQ,KAAK;AAAA,MAC1C;AAAA,IACF;AAGA,QAAI,CAAC,QAAQ,UAAU,SAAS,SAAS,iBAAA,CAAkB,GAAG;AAC5D,cAAQ,UAAU,IAAI,SAAS,iBAAkB,CAAA;AAAA,IACnD;AAGA,QAAI,CAAC,QAAQ,UAAU,SAAS,KAAK,iBAAA,CAAkB,GAAG;AACxD,cAAQ,UAAU,IAAI,KAAK,iBAAkB,CAAA;AAAA,IAC/C;AAEA,WAAO,EAAE,QAAQ;AAAA,EACnB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,UAAU,QAAmC;AAErC,UAAA,KAAK,KAAK,UAAA,EAAY;AAEzB,OAAA,aAAa,YAAW,KAAK,KAAK;AAE9B,WAAA;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,UAAU,UAAoB,IAAiB,QAA+B;AAG5E,SAAK,kBAAkB,EAAE;AAGrB,QAAA,iBAAiB,SAAS,kBAAkB,EAAE,EAAE,QAAQ,KAAK,iBAAiB,GAAE,EAAE,EAAE,KAAK;AAE1F,QAAA,kBAAkB,KAAK,QAAQ,OAAM;AAEtC,UAAG,gBAAe;AACb,WAAA,UAAU,OAAO,cAAc;AAAA,MACpC;AAEI,UAAA,KAAK,QAAQ,OAAO;AACtB,WAAG,UAAU,IAAI,KAAK,QAAQ,KAAK;AAAA,MACrC;AAAA,IACF;AACO,WAAA;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,WAAoB;AACX,WAAA;AAAA,EACT;AACF;AAOO,SAAS,YACd,MACkB;AAClB,SAAO,gBAAgB;AACzB;;;"}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const lexical = require("lexical");
4
+ const GridNode = require("./GridNode.js");
5
+ const INSERT_IMAGETEXTGRID_COMMAND = lexical.createCommand("INSERT_IMAGETEXTGRID_COMMAND");
6
+ class ImageTextGridNode extends GridNode.GridNode {
7
+ static getType() {
8
+ return "image-text";
9
+ }
10
+ static hasGridNodeByElement(el) {
11
+ return el.classList.contains(ImageTextGridNode.getMarkClassName()) ? el : null;
12
+ }
13
+ static getMarkClassName() {
14
+ return `mk-doc__${ImageTextGridNode.getType()}`;
15
+ }
16
+ static getExtraClassName(el) {
17
+ return GridNode.GridNode.getExtraClassName(el).replace(ImageTextGridNode.getMarkClassName(), "").trim();
18
+ }
19
+ static clone(node) {
20
+ return new ImageTextGridNode(node.__attrs, node.__key);
21
+ }
22
+ static importJSON(serializedNode) {
23
+ return new ImageTextGridNode(serializedNode.attrs);
24
+ }
25
+ static importDOM() {
26
+ return {
27
+ div: (domNode) => {
28
+ return ImageTextGridNode.hasGridNodeByElement(domNode) ? {
29
+ conversion: () => {
30
+ return {
31
+ node: new ImageTextGridNode({
32
+ class: ImageTextGridNode.getExtraClassName(domNode),
33
+ width: domNode.style.width || "100%",
34
+ height: domNode.style.height,
35
+ flex: domNode.style.flex,
36
+ maxWidth: domNode.style.maxWidth,
37
+ maxHeight: domNode.style.maxHeight
38
+ })
39
+ };
40
+ },
41
+ priority: 4
42
+ } : null;
43
+ }
44
+ };
45
+ }
46
+ constructor(attrs, key) {
47
+ super(attrs, key);
48
+ }
49
+ /**
50
+ * 设置属性
51
+ * @param pos
52
+ */
53
+ setAttrs(data) {
54
+ const writable = this.getWritable();
55
+ Object.assign(writable.__attrs, data);
56
+ }
57
+ /**
58
+ * 获取属性
59
+ * @param pos
60
+ */
61
+ getAttrs() {
62
+ return this.__attrs;
63
+ }
64
+ /**
65
+ * 导出JSON
66
+ * @returns
67
+ */
68
+ exportJSON() {
69
+ return {
70
+ ...super.exportJSON(),
71
+ type: this.getType(),
72
+ attrs: this.__attrs,
73
+ version: 1
74
+ };
75
+ }
76
+ /* 不允许空
77
+ * @returns
78
+ */
79
+ canBeEmpty() {
80
+ return false;
81
+ }
82
+ }
83
+ function $isImageTextGridNode(node) {
84
+ return node instanceof ImageTextGridNode;
85
+ }
86
+ exports.$isImageTextGridNode = $isImageTextGridNode;
87
+ exports.INSERT_IMAGETEXTGRID_COMMAND = INSERT_IMAGETEXTGRID_COMMAND;
88
+ exports.ImageTextGridNode = ImageTextGridNode;
89
+ //# sourceMappingURL=ImageTextGridNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageTextGridNode.js","sources":["../../../../../../../src/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.ts"],"sourcesContent":["import type { DOMConversionMap, LexicalCommand, LexicalNode, NodeKey, Spread, DOMExportOutput } from 'lexical'\r\nimport { createCommand,} from 'lexical'\r\nimport { type GridNodeAttrType , GridNode,SerializedGridNode } from \"./GridNode\"\r\n\r\n/**\r\n * 属性\r\n */\r\nexport type ImageTextGridNodeAttrType = GridNodeAttrType & {};\r\n\r\n/**\r\n * 插入图文\r\n */\r\nexport const INSERT_IMAGETEXTGRID_COMMAND: LexicalCommand<ImageTextGridNodeAttrType> = createCommand('INSERT_IMAGETEXTGRID_COMMAND')\r\n\r\n/**\r\n * 图文节点序列化\r\n */\r\nexport type SerializedImageTextGridNode = Spread<{},SerializedGridNode>\r\n\r\n/**\r\n * 图文格子\r\n */\r\nexport class ImageTextGridNode extends GridNode{\r\n\r\n declare __attrs:ImageTextGridNodeAttrType\r\n\r\n static getType(): string {\r\n return \"image-text\";\r\n }\r\n\r\n\r\n static hasGridNodeByElement(el:HTMLElement):HTMLElement|null{\r\n return el.classList.contains(ImageTextGridNode.getMarkClassName()) ? el : null;\r\n }\r\n \r\n static getMarkClassName(): string {\r\n return `mk-doc__${ImageTextGridNode.getType()}`\r\n }\r\n\r\n static getExtraClassName(el:HTMLElement){\r\n return GridNode.getExtraClassName(el).replace(ImageTextGridNode.getMarkClassName(),\"\").trim();\r\n }\r\n\r\n static clone(node: ImageTextGridNode): ImageTextGridNode {\r\n return new ImageTextGridNode(node.__attrs,node.__key)\r\n }\r\n\r\n static importJSON(serializedNode: SerializedImageTextGridNode): ImageTextGridNode {\r\n return new ImageTextGridNode(serializedNode.attrs)\r\n }\r\n\r\n static importDOM(): DOMConversionMap | null {\r\n return {\r\n div : (domNode: HTMLElement) => {\r\n\r\n return ImageTextGridNode.hasGridNodeByElement(domNode) ? {\r\n\r\n conversion: ()=>{ \r\n\r\n return { \r\n node:new ImageTextGridNode({\r\n class:ImageTextGridNode.getExtraClassName(domNode),\r\n width:domNode.style.width || \"100%\",\r\n height:domNode.style.height,\r\n flex:domNode.style.flex,\r\n maxWidth:domNode.style.maxWidth,\r\n maxHeight:domNode.style.maxHeight,\r\n } as ImageTextGridNodeAttrType) \r\n };\r\n },\r\n priority: 4\r\n } : null;\r\n }\r\n }\r\n }\r\n\r\n constructor(attrs:ImageTextGridNodeAttrType,key?: NodeKey) {\r\n super(attrs,key)\r\n }\r\n\r\n /**\r\n * 设置属性\r\n * @param pos \r\n */\r\n setAttrs(data?:ImageTextGridNodeAttrType){\r\n const writable = this.getWritable();\r\n Object.assign(writable.__attrs,data)\r\n }\r\n\r\n /**\r\n * 获取属性\r\n * @param pos \r\n */\r\n getAttrs():ImageTextGridNodeAttrType{\r\n return this.__attrs;\r\n }\r\n /**\r\n * 导出JSON\r\n * @returns \r\n */\r\n exportJSON(): SerializedGridNode {\r\n return {\r\n ...super.exportJSON(),\r\n type: this.getType(),\r\n attrs:this.__attrs,\r\n version: 1\r\n }\r\n }\r\n \r\n\r\n /* 不允许空\r\n * @returns \r\n */\r\n canBeEmpty(): boolean {\r\n return false\r\n }\r\n}\r\n\r\n/**\r\n * 判断是否是图文节点\r\n * @param node \r\n * @returns \r\n */\r\nexport function $isImageTextGridNode(\r\n node: ImageTextGridNode | LexicalNode | null | undefined,\r\n): node is ImageTextGridNode {\r\n return node instanceof ImageTextGridNode\r\n}\r\n"],"names":["createCommand","GridNode"],"mappings":";;;;AAYa,MAAA,+BAA0EA,sBAAc,8BAA8B;AAU5H,MAAM,0BAA0BC,SAAAA,SAAQ;AAAA,EAI7C,OAAO,UAAkB;AAChB,WAAA;AAAA,EACT;AAAA,EAGA,OAAO,qBAAqB,IAAgC;AAC1D,WAAO,GAAG,UAAU,SAAS,kBAAkB,kBAAkB,IAAI,KAAK;AAAA,EAC5E;AAAA,EAEA,OAAO,mBAA2B;AACzB,WAAA,WAAW,kBAAkB,QAAA,CAAS;AAAA,EAC/C;AAAA,EAEA,OAAO,kBAAkB,IAAe;AAC/B,WAAAA,kBAAS,kBAAkB,EAAE,EAAE,QAAQ,kBAAkB,oBAAmB,EAAE,EAAE;EACzF;AAAA,EAEA,OAAO,MAAM,MAA4C;AACvD,WAAO,IAAI,kBAAkB,KAAK,SAAQ,KAAK,KAAK;AAAA,EACtD;AAAA,EAEA,OAAO,WAAW,gBAAgE;AACzE,WAAA,IAAI,kBAAkB,eAAe,KAAK;AAAA,EACnD;AAAA,EAEA,OAAO,YAAqC;AACnC,WAAA;AAAA,MACL,KAAM,CAAC,YAAyB;AAEtB,eAAA,kBAAkB,qBAAqB,OAAO,IAAI;AAAA,UAExD,YAAY,MAAI;AAEN,mBAAA;AAAA,cACN,MAAK,IAAI,kBAAkB;AAAA,gBACzB,OAAM,kBAAkB,kBAAkB,OAAO;AAAA,gBACjD,OAAM,QAAQ,MAAM,SAAS;AAAA,gBAC7B,QAAO,QAAQ,MAAM;AAAA,gBACrB,MAAK,QAAQ,MAAM;AAAA,gBACnB,UAAS,QAAQ,MAAM;AAAA,gBACvB,WAAU,QAAQ,MAAM;AAAA,cAAA,CACI;AAAA,YAAA;AAAA,UAElC;AAAA,UACA,UAAU;AAAA,QACR,IAAA;AAAA,MACN;AAAA,IAAA;AAAA,EAEJ;AAAA,EAEA,YAAY,OAAgC,KAAe;AACzD,UAAM,OAAM,GAAG;AAAA,EACjB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAS,MAAgC;AACjC,UAAA,WAAW,KAAK;AACf,WAAA,OAAO,SAAS,SAAQ,IAAI;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,WAAoC;AAClC,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,aAAiC;AACxB,WAAA;AAAA,MACL,GAAG,MAAM,WAAW;AAAA,MACpB,MAAM,KAAK,QAAQ;AAAA,MACnB,OAAM,KAAK;AAAA,MACX,SAAS;AAAA,IAAA;AAAA,EAEb;AAAA;AAAA;AAAA;AAAA,EAMA,aAAsB;AACb,WAAA;AAAA,EACT;AACF;AAOO,SAAS,qBACd,MAC2B;AAC3B,SAAO,gBAAgB;AACzB;;;;"}
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const lexical = require("lexical");
4
+ const GridNode = require("./GridNode.js");
5
+ const INSERT_LAYOUTGRID_COMMAND = lexical.createCommand("INSERT_LAYOUTGRID_COMMAND");
6
+ class LayoutGridNode extends GridNode.GridNode {
7
+ static getType() {
8
+ return "layout-grid";
9
+ }
10
+ static hasGridNodeByElement(el) {
11
+ return el.classList.contains(LayoutGridNode.getMarkClassName()) ? el : null;
12
+ }
13
+ static getMarkClassName() {
14
+ return `mk-doc__${LayoutGridNode.getType()}`;
15
+ }
16
+ static getExtraClassName(el) {
17
+ return GridNode.GridNode.getExtraClassName(el).replace(LayoutGridNode.getMarkClassName(), "").trim();
18
+ }
19
+ static clone(node) {
20
+ return new LayoutGridNode(node.__attrs, node.__key);
21
+ }
22
+ static importJSON(serializedNode) {
23
+ return new LayoutGridNode(serializedNode.attrs);
24
+ }
25
+ static importDOM() {
26
+ return {
27
+ div: (domNode) => {
28
+ return LayoutGridNode.hasGridNodeByElement(domNode) ? {
29
+ conversion: () => {
30
+ return {
31
+ node: new LayoutGridNode({
32
+ class: LayoutGridNode.getExtraClassName(domNode),
33
+ display: domNode.style.display || "block",
34
+ width: domNode.style.width || "100%",
35
+ height: domNode.style.height,
36
+ maxWidth: domNode.style.maxWidth,
37
+ maxHeight: domNode.style.maxHeight,
38
+ flex: domNode.style.flex,
39
+ flexDirection: domNode.style.flexDirection,
40
+ flexWrap: domNode.style.flexWrap,
41
+ alignContent: domNode.style.alignContent,
42
+ justifyContent: domNode.style.justifyContent,
43
+ alignItems: domNode.style.alignItems
44
+ })
45
+ };
46
+ },
47
+ priority: 4
48
+ } : null;
49
+ }
50
+ };
51
+ }
52
+ constructor(attrs, key) {
53
+ super(attrs, key);
54
+ }
55
+ /**
56
+ * 设置属性
57
+ * @param pos
58
+ */
59
+ setAttrs(data) {
60
+ const writable = this.getWritable();
61
+ Object.assign(writable.__attrs, data);
62
+ }
63
+ /**
64
+ * 获取属性
65
+ * @param pos
66
+ */
67
+ getAttrs() {
68
+ return this.__attrs;
69
+ }
70
+ /**
71
+ * 导出JSON
72
+ * @returns
73
+ */
74
+ exportJSON() {
75
+ return {
76
+ ...super.exportJSON(),
77
+ type: this.getType(),
78
+ attrs: this.__attrs,
79
+ version: 1
80
+ };
81
+ }
82
+ /**
83
+ * 创建渲染DOM
84
+ * @param config
85
+ * @returns
86
+ */
87
+ createDOM(config) {
88
+ const el = super.createDOM(config);
89
+ if (this.getChildrenSize() <= 0) {
90
+ el.setAttribute("contenteditable", "false");
91
+ el.setAttribute("data-lexical-decorator", "true");
92
+ }
93
+ return el;
94
+ }
95
+ /**
96
+ * 更新DOM
97
+ * @param prevNode
98
+ * @param dom
99
+ * @param config
100
+ * @returns
101
+ */
102
+ updateDOM(prevNode, el, config) {
103
+ super.updateDOM(prevNode, el, config);
104
+ if (this.getChildrenSize() <= 0) {
105
+ el.setAttribute("contenteditable", "false");
106
+ el.setAttribute("data-lexical-decorator", "true");
107
+ } else {
108
+ el.removeAttribute("contenteditable");
109
+ el.removeAttribute("data-lexical-decorator");
110
+ }
111
+ return false;
112
+ }
113
+ }
114
+ function $isLayoutGridNode(node) {
115
+ return node instanceof LayoutGridNode;
116
+ }
117
+ exports.$isLayoutGridNode = $isLayoutGridNode;
118
+ exports.INSERT_LAYOUTGRID_COMMAND = INSERT_LAYOUTGRID_COMMAND;
119
+ exports.LayoutGridNode = LayoutGridNode;
120
+ //# sourceMappingURL=LayoutGridNode.js.map