@seafile/sdoc-editor 2.0.82 → 2.0.83

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 (1210) hide show
  1. package/dist/android/constants.js +10 -0
  2. package/dist/android/js-bridge.js +75 -0
  3. package/dist/android/outline-module.js +26 -0
  4. package/dist/api/sdoc-server-api.js +193 -0
  5. package/dist/api/seafile-api.js +304 -0
  6. package/dist/comment/comment-decorate.js +50 -0
  7. package/dist/comment/components/comment-all-participants/index.js +67 -0
  8. package/dist/comment/components/comment-all-participants/participant-avatar.js +43 -0
  9. package/dist/comment/components/comment-context-menu/index.js +36 -0
  10. package/dist/comment/components/comment-context-menu/menu-item.js +56 -0
  11. package/dist/comment/components/comment-delete-popover.js +79 -0
  12. package/dist/comment/components/comment-editor.js +162 -0
  13. package/dist/comment/components/comment-item-collapse-wrapper.js +203 -0
  14. package/dist/comment/components/comment-item-content.js +186 -0
  15. package/dist/comment/components/comment-item-reply.js +156 -0
  16. package/dist/comment/components/comment-item-resolved-reply.js +36 -0
  17. package/dist/comment/components/comment-item-wrapper.js +486 -0
  18. package/dist/comment/components/comment-list.js +259 -0
  19. package/dist/comment/components/comment-operation/index.js +35 -0
  20. package/dist/comment/components/comment-participants-editor/index.js +76 -0
  21. package/dist/comment/components/comment-participants-editor/searched-collaborators.js +60 -0
  22. package/dist/comment/components/comment-participants-editor/selected-participants.js +46 -0
  23. package/dist/comment/components/editor-comment.js +217 -0
  24. package/dist/comment/components/elements-comment-count/element-comment-count.js +67 -0
  25. package/dist/comment/components/elements-comment-count/index.js +51 -0
  26. package/dist/comment/components/global-comment/global-comment-body-header.js +91 -0
  27. package/dist/comment/components/global-comment/global-comment-editor.js +34 -0
  28. package/dist/comment/components/global-comment/global-comment-header.js +106 -0
  29. package/dist/comment/components/global-comment/index.js +246 -0
  30. package/dist/comment/components/index.js +21 -0
  31. package/dist/comment/constants/index.js +26 -0
  32. package/dist/comment/helper.js +197 -0
  33. package/dist/comment/hooks/comment-hooks/use-comment-context.js +18 -0
  34. package/dist/comment/hooks/comment-hooks/use-comment-list.js +59 -0
  35. package/dist/comment/hooks/comment-hooks/use-comment-mount.js +87 -0
  36. package/dist/comment/hooks/notification-hooks/index.js +25 -0
  37. package/dist/comment/hooks/notification-hooks/use-notification-context.js +18 -0
  38. package/dist/comment/hooks/notification-hooks/use-notification-mount.js +92 -0
  39. package/dist/comment/hooks/use-participants.js +23 -0
  40. package/dist/comment/index.js +60 -0
  41. package/dist/comment/provider/comment-context-provider.js +39 -0
  42. package/dist/comment/provider/index.js +21 -0
  43. package/dist/comment/provider/notification-context-provider.js +33 -0
  44. package/dist/comment/provider/participants-content-provider.js +107 -0
  45. package/dist/comment/reducer/comment-reducer.js +310 -0
  46. package/dist/comment/reducer/notification-reducer.js +81 -0
  47. package/dist/comment/utils/get-event-transfer.js +81 -0
  48. package/dist/comment/utils/index.js +268 -0
  49. package/dist/comment/utils/notification-utils.js +59 -0
  50. package/dist/components/file-loading/index.js +15 -0
  51. package/dist/components/loading/index.js +31 -0
  52. package/dist/components/toast/alert.js +64 -0
  53. package/dist/components/toast/index.js +10 -0
  54. package/dist/components/toast/toast.js +127 -0
  55. package/dist/components/toast/toastManager.js +142 -0
  56. package/dist/components/toast/toaster.js +74 -0
  57. package/dist/components/tooltip/index.js +44 -0
  58. package/dist/constants/index.js +117 -59
  59. package/dist/constants/key-codes.js +109 -0
  60. package/dist/constants/plugin.js +14 -0
  61. package/dist/constants/z-index.js +8 -0
  62. package/dist/context.js +369 -0
  63. package/dist/cursor/helper.js +43 -0
  64. package/dist/cursor/use-cursors.js +31 -0
  65. package/dist/decorates/index.js +28 -0
  66. package/dist/editor/comment-article.js +108 -0
  67. package/dist/editor/editable-article.js +245 -0
  68. package/dist/editor/revision-editor.js +81 -0
  69. package/dist/editor/sdoc-comment-editor.js +133 -0
  70. package/dist/editor/sdoc-editor.js +278 -0
  71. package/dist/editor/wiki-editor.js +196 -0
  72. package/dist/extension/commons/Inline-bug-fix-wrapper/index.js +17 -0
  73. package/dist/extension/commons/color-menu/color-item.js +29 -0
  74. package/dist/extension/commons/color-menu/index.js +220 -0
  75. package/dist/extension/commons/dropdown-menu-item/index.js +56 -0
  76. package/dist/extension/commons/element-popover/index.js +63 -0
  77. package/dist/extension/commons/file-insert-dialog/index.js +315 -0
  78. package/dist/extension/commons/index.js +47 -0
  79. package/dist/extension/commons/insert-element-dialog/index.js +283 -0
  80. package/dist/extension/commons/menu/index.js +21 -0
  81. package/dist/extension/commons/menu/menu-group.js +29 -0
  82. package/dist/extension/commons/menu/menu-item.js +59 -0
  83. package/dist/extension/commons/menu-shortcut-indicator/index.js +23 -0
  84. package/dist/extension/commons/more-dropdown/index.js +44 -0
  85. package/dist/extension/commons/search-list/index.js +154 -0
  86. package/dist/extension/commons/select/_option.js +50 -0
  87. package/dist/extension/commons/select/field-setting.js +110 -0
  88. package/dist/extension/commons/select/index.js +155 -0
  89. package/dist/extension/commons/select/menu/index.js +11 -0
  90. package/dist/extension/commons/select/menu/item.js +52 -0
  91. package/dist/extension/commons/select/menu/menu.js +44 -0
  92. package/dist/extension/commons/select-file-dialog/helpers.js +52 -0
  93. package/dist/extension/commons/select-file-dialog/index.js +213 -0
  94. package/dist/extension/commons/select-file-dialog/local-files/index.js +228 -0
  95. package/dist/extension/commons/wiki-file-insert-dialog/index.js +275 -0
  96. package/dist/extension/constants/color.js +282 -0
  97. package/dist/extension/constants/diff-view.js +20 -0
  98. package/dist/extension/constants/element-type.js +56 -0
  99. package/dist/extension/constants/font.js +530 -0
  100. package/dist/extension/constants/index.js +532 -0
  101. package/dist/extension/constants/keyboard.js +45 -0
  102. package/dist/extension/constants/menus-config.js +385 -0
  103. package/dist/extension/core/index.js +38 -0
  104. package/dist/extension/core/queries/index.js +680 -0
  105. package/dist/extension/core/transforms/delete-merge.js +198 -0
  106. package/dist/extension/core/transforms/focus-editor.js +17 -0
  107. package/dist/extension/core/transforms/index.js +71 -0
  108. package/dist/extension/core/transforms/move-children.js +35 -0
  109. package/dist/extension/core/transforms/rebase.js +66 -0
  110. package/dist/extension/core/transforms/remove-node-children.js +31 -0
  111. package/dist/extension/core/transforms/replace-node.js +37 -0
  112. package/dist/extension/core/transforms/update-parent-node.js +33 -0
  113. package/dist/extension/core/utils/index.js +50 -0
  114. package/dist/extension/index.js +84 -0
  115. package/dist/extension/plugins/ai/ai-icon/index.js +24 -0
  116. package/dist/extension/plugins/ai/ai-menu/ai-context-menu.js +39 -0
  117. package/dist/extension/plugins/ai/ai-menu/ai-dropdown-menu.js +33 -0
  118. package/dist/extension/plugins/ai/ai-menu/index.js +20 -0
  119. package/dist/extension/plugins/ai/ai-menu/menu-item.js +57 -0
  120. package/dist/extension/plugins/ai/ai-module/adjust-sub-menu.js +42 -0
  121. package/dist/extension/plugins/ai/ai-module/helpers.js +71 -0
  122. package/dist/extension/plugins/ai/ai-module/index.js +629 -0
  123. package/dist/extension/plugins/ai/ai-module/lang-sub-menu.js +53 -0
  124. package/dist/extension/plugins/ai/ai-module/tip-dialog.js +38 -0
  125. package/dist/extension/plugins/ai/constants/index.js +137 -0
  126. package/dist/extension/plugins/blockquote/helpers.js +160 -0
  127. package/dist/extension/plugins/blockquote/index.js +21 -0
  128. package/dist/extension/plugins/blockquote/menu/index.js +64 -0
  129. package/dist/extension/plugins/blockquote/model.js +18 -0
  130. package/dist/extension/plugins/blockquote/plugin.js +156 -0
  131. package/dist/extension/plugins/blockquote/render-elem.js +22 -0
  132. package/dist/extension/plugins/callout/constant.js +60 -0
  133. package/dist/extension/plugins/callout/helper.js +279 -0
  134. package/dist/extension/plugins/callout/index.js +19 -0
  135. package/dist/extension/plugins/callout/menu/index.js +49 -0
  136. package/dist/extension/plugins/callout/plugin.js +116 -0
  137. package/dist/extension/plugins/callout/render-elem/callout-color-selector/index.js +58 -0
  138. package/dist/extension/plugins/callout/render-elem/callout-hover-menu/index.js +94 -0
  139. package/dist/extension/plugins/callout/render-elem/callout-icon/index.js +41 -0
  140. package/dist/extension/plugins/callout/render-elem/index.js +138 -0
  141. package/dist/extension/plugins/check-list/helpers.js +132 -0
  142. package/dist/extension/plugins/check-list/index.js +16 -0
  143. package/dist/extension/plugins/check-list/menu/index.js +67 -0
  144. package/dist/extension/plugins/check-list/model.js +19 -0
  145. package/dist/extension/plugins/check-list/plugin.js +102 -0
  146. package/dist/extension/plugins/check-list/render-elem.js +82 -0
  147. package/dist/extension/plugins/clear-format/helpers.js +70 -0
  148. package/dist/extension/plugins/clear-format/menu/index.js +35 -0
  149. package/dist/extension/plugins/code-block/helpers.js +215 -0
  150. package/dist/extension/plugins/code-block/hover-menu/index.js +271 -0
  151. package/dist/extension/plugins/code-block/index.js +19 -0
  152. package/dist/extension/plugins/code-block/menu/index.js +33 -0
  153. package/dist/extension/plugins/code-block/model.js +18 -0
  154. package/dist/extension/plugins/code-block/plugin.js +231 -0
  155. package/dist/extension/plugins/code-block/prismjs.js +187 -0
  156. package/dist/extension/plugins/code-block/render-elem.js +176 -0
  157. package/dist/extension/plugins/file-link/constants/index.js +24 -0
  158. package/dist/extension/plugins/file-link/helpers.js +122 -0
  159. package/dist/extension/plugins/file-link/hover-menu/index.js +126 -0
  160. package/dist/extension/plugins/file-link/index.js +18 -0
  161. package/dist/extension/plugins/file-link/menu/index.js +36 -0
  162. package/dist/extension/plugins/file-link/plugin.js +66 -0
  163. package/dist/extension/plugins/file-link/render-elem.js +169 -0
  164. package/dist/extension/plugins/font/helpers.js +167 -0
  165. package/dist/extension/plugins/font/index.js +13 -0
  166. package/dist/extension/plugins/font/menu/font-family/font-item.js +38 -0
  167. package/dist/extension/plugins/font/menu/font-family/index.js +164 -0
  168. package/dist/extension/plugins/font/menu/font-size/font-size-scale.js +38 -0
  169. package/dist/extension/plugins/font/menu/font-size/index.js +107 -0
  170. package/dist/extension/plugins/font/menu/index.js +22 -0
  171. package/dist/extension/plugins/font/plugin.js +18 -0
  172. package/dist/extension/plugins/group/index.js +13 -0
  173. package/dist/extension/plugins/group/render-elem.js +22 -0
  174. package/dist/extension/plugins/header/helpers.js +74 -0
  175. package/dist/extension/plugins/header/index.js +17 -0
  176. package/dist/extension/plugins/header/menu/index.js +157 -0
  177. package/dist/extension/plugins/header/placeholder.js +33 -0
  178. package/dist/extension/plugins/header/plugin.js +143 -0
  179. package/dist/extension/plugins/header/render-elem.js +74 -0
  180. package/dist/extension/plugins/history/history-menu.js +77 -0
  181. package/dist/extension/plugins/html/helper.js +141 -0
  182. package/dist/extension/plugins/html/index.js +13 -0
  183. package/dist/extension/plugins/html/plugin.js +48 -0
  184. package/dist/extension/plugins/html/rules/blockquote.js +22 -0
  185. package/dist/extension/plugins/html/rules/check-list.js +25 -0
  186. package/dist/extension/plugins/html/rules/code-block.js +93 -0
  187. package/dist/extension/plugins/html/rules/header.js +30 -0
  188. package/dist/extension/plugins/html/rules/image.js +27 -0
  189. package/dist/extension/plugins/html/rules/index.js +18 -0
  190. package/dist/extension/plugins/html/rules/link.js +27 -0
  191. package/dist/extension/plugins/html/rules/list.js +61 -0
  192. package/dist/extension/plugins/html/rules/paragraph.js +22 -0
  193. package/dist/extension/plugins/html/rules/table.js +39 -0
  194. package/dist/extension/plugins/html/rules/text.js +64 -0
  195. package/dist/extension/plugins/image/base64-to-unit8array.js +21 -0
  196. package/dist/extension/plugins/image/constants/index.js +30 -0
  197. package/dist/extension/plugins/image/copy-image-error-svg/index.js +62 -0
  198. package/dist/extension/plugins/image/dialogs/image-previewer.js +100 -0
  199. package/dist/extension/plugins/image/helpers.js +349 -0
  200. package/dist/extension/plugins/image/hover-menu/index.js +314 -0
  201. package/dist/extension/plugins/image/image-cache.js +41 -0
  202. package/dist/extension/plugins/image/image-loader/index.js +22 -0
  203. package/dist/extension/plugins/image/index.js +21 -0
  204. package/dist/extension/plugins/image/menu/index.js +70 -0
  205. package/dist/extension/plugins/image/model.js +21 -0
  206. package/dist/extension/plugins/image/plugin.js +228 -0
  207. package/dist/extension/plugins/image/render-elem.js +412 -0
  208. package/dist/extension/plugins/image/use-copy-image.js +132 -0
  209. package/dist/extension/plugins/image/use-upload-image.js +106 -0
  210. package/dist/extension/plugins/index.js +180 -0
  211. package/dist/extension/plugins/link/dialog/add-link-dialog/index.js +152 -0
  212. package/dist/extension/plugins/link/helpers.js +225 -0
  213. package/dist/extension/plugins/link/hover/index.js +57 -0
  214. package/dist/extension/plugins/link/index.js +21 -0
  215. package/dist/extension/plugins/link/menu/index.js +62 -0
  216. package/dist/extension/plugins/link/model.js +20 -0
  217. package/dist/extension/plugins/link/plugin.js +189 -0
  218. package/dist/extension/plugins/link/render-elem.js +143 -0
  219. package/dist/extension/plugins/list/helpers.js +123 -0
  220. package/dist/extension/plugins/list/index.js +18 -0
  221. package/dist/extension/plugins/list/menu/index.js +79 -0
  222. package/dist/extension/plugins/list/model.js +44 -0
  223. package/dist/extension/plugins/list/plugin/index.js +140 -0
  224. package/dist/extension/plugins/list/plugin/insert-break-list.js +29 -0
  225. package/dist/extension/plugins/list/plugin/insert-fragment-list.js +190 -0
  226. package/dist/extension/plugins/list/plugin/normalize-list.js +84 -0
  227. package/dist/extension/plugins/list/plugin/on-tab-handle.js +52 -0
  228. package/dist/extension/plugins/list/plugin/shortcut.js +97 -0
  229. package/dist/extension/plugins/list/queries/index.js +53 -0
  230. package/dist/extension/plugins/list/render-elem.js +55 -0
  231. package/dist/extension/plugins/list/transforms/index.js +76 -0
  232. package/dist/extension/plugins/list/transforms/insert-list-item.js +96 -0
  233. package/dist/extension/plugins/list/transforms/is-across-list-items.js +22 -0
  234. package/dist/extension/plugins/list/transforms/move-list-item-down.js +51 -0
  235. package/dist/extension/plugins/list/transforms/move-list-item-sublist-to-list-item-sublist.js +67 -0
  236. package/dist/extension/plugins/list/transforms/move-list-item-up.js +129 -0
  237. package/dist/extension/plugins/list/transforms/move-list-items-to-list.js +62 -0
  238. package/dist/extension/plugins/list/transforms/move-list-items.js +73 -0
  239. package/dist/extension/plugins/list/transforms/normalize-list-item.js +126 -0
  240. package/dist/extension/plugins/list/transforms/normalize-nested-list.js +40 -0
  241. package/dist/extension/plugins/list/transforms/remove-first-list-item.js +24 -0
  242. package/dist/extension/plugins/list/transforms/remove-list-item.js +66 -0
  243. package/dist/extension/plugins/list/transforms/toggle-list.js +173 -0
  244. package/dist/extension/plugins/list/transforms/unwrap-list.js +53 -0
  245. package/dist/extension/plugins/markdown/index.js +12 -0
  246. package/dist/extension/plugins/markdown/plugin.js +183 -0
  247. package/dist/extension/plugins/mention/helper.js +229 -0
  248. package/dist/extension/plugins/mention/index.js +17 -0
  249. package/dist/extension/plugins/mention/plugin.js +264 -0
  250. package/dist/extension/plugins/mention/render-elem/comment-participant-item.js +54 -0
  251. package/dist/extension/plugins/mention/render-elem/index.js +57 -0
  252. package/dist/extension/plugins/mention/render-elem/participant-popover.js +246 -0
  253. package/dist/extension/plugins/multi-column/constants/index.js +7 -0
  254. package/dist/extension/plugins/multi-column/helper.js +208 -0
  255. package/dist/extension/plugins/multi-column/index.js +17 -0
  256. package/dist/extension/plugins/multi-column/plugin.js +149 -0
  257. package/dist/extension/plugins/multi-column/render/index.js +98 -0
  258. package/dist/extension/plugins/multi-column/render/multi-column-root.js +21 -0
  259. package/dist/extension/plugins/multi-column/render/render-column.js +52 -0
  260. package/dist/extension/plugins/multi-column/render-elem.js +20 -0
  261. package/dist/extension/plugins/multi-column/resize-handlers/column-resize-handler.js +26 -0
  262. package/dist/extension/plugins/multi-column/resize-handlers/index.js +166 -0
  263. package/dist/extension/plugins/paragraph/helper.js +16 -0
  264. package/dist/extension/plugins/paragraph/index.js +16 -0
  265. package/dist/extension/plugins/paragraph/plugin.js +162 -0
  266. package/dist/extension/plugins/paragraph/render-elem.js +74 -0
  267. package/dist/extension/plugins/quick-insert/helper.js +53 -0
  268. package/dist/extension/plugins/quick-insert/index.js +16 -0
  269. package/dist/extension/plugins/quick-insert/plugin/index.js +171 -0
  270. package/dist/extension/plugins/quick-insert/render-elem.js +107 -0
  271. package/dist/extension/plugins/sdoc-link/constants/index.js +24 -0
  272. package/dist/extension/plugins/sdoc-link/helpers.js +278 -0
  273. package/dist/extension/plugins/sdoc-link/hover-menu/index.js +125 -0
  274. package/dist/extension/plugins/sdoc-link/index.js +19 -0
  275. package/dist/extension/plugins/sdoc-link/menu/index.js +36 -0
  276. package/dist/extension/plugins/sdoc-link/plugin.js +98 -0
  277. package/dist/extension/plugins/sdoc-link/render/render-elem.js +183 -0
  278. package/dist/extension/plugins/sdoc-link/render/render-file-link-temp-input.js +32 -0
  279. package/dist/extension/plugins/search-replace/constant.js +8 -0
  280. package/dist/extension/plugins/search-replace/helper.js +347 -0
  281. package/dist/extension/plugins/search-replace/index.js +17 -0
  282. package/dist/extension/plugins/search-replace/menu/index.js +93 -0
  283. package/dist/extension/plugins/search-replace/plugin.js +26 -0
  284. package/dist/extension/plugins/search-replace/popover/index.js +256 -0
  285. package/dist/extension/plugins/search-replace/popover/replace-all-confirm-modal.js +47 -0
  286. package/dist/extension/plugins/table/constants/index.js +62 -0
  287. package/dist/extension/plugins/table/dialogs/custom-table-size-dialog/index.js +109 -0
  288. package/dist/extension/plugins/table/dialogs/custom-table-size-dialog/number-input.js +33 -0
  289. package/dist/extension/plugins/table/dialogs/index.js +20 -0
  290. package/dist/extension/plugins/table/dialogs/split-cell-setting-dialog.js +122 -0
  291. package/dist/extension/plugins/table/helpers.js +2002 -0
  292. package/dist/extension/plugins/table/index.js +21 -0
  293. package/dist/extension/plugins/table/menu/active-table-menu/common-menu.js +90 -0
  294. package/dist/extension/plugins/table/menu/color-selector-popover/color-item.js +29 -0
  295. package/dist/extension/plugins/table/menu/color-selector-popover/index.js +182 -0
  296. package/dist/extension/plugins/table/menu/horizontal-align-popover/index.js +81 -0
  297. package/dist/extension/plugins/table/menu/index.js +20 -0
  298. package/dist/extension/plugins/table/menu/table-context-menu/index.js +244 -0
  299. package/dist/extension/plugins/table/menu/table-context-menu/insert-table-element.js +99 -0
  300. package/dist/extension/plugins/table/menu/table-menu/index.js +39 -0
  301. package/dist/extension/plugins/table/menu/vertical-align-popover/index.js +83 -0
  302. package/dist/extension/plugins/table/model.js +56 -0
  303. package/dist/extension/plugins/table/plugin.js +603 -0
  304. package/dist/extension/plugins/table/popover/table-size-popover/index.js +269 -0
  305. package/dist/extension/plugins/table/popover/table-template/index.js +131 -0
  306. package/dist/extension/plugins/table/popover/table-template/sample-table.js +48 -0
  307. package/dist/extension/plugins/table/render/drag-handlers/column-drag-handler.js +22 -0
  308. package/dist/extension/plugins/table/render/drag-handlers/index.js +56 -0
  309. package/dist/extension/plugins/table/render/drag-handlers/row-drag-handler.js +22 -0
  310. package/dist/extension/plugins/table/render/hooks.js +78 -0
  311. package/dist/extension/plugins/table/render/index.js +309 -0
  312. package/dist/extension/plugins/table/render/render-cell.js +231 -0
  313. package/dist/extension/plugins/table/render/render-row.js +13 -0
  314. package/dist/extension/plugins/table/render/resize-handlers/column-resize-handler.js +120 -0
  315. package/dist/extension/plugins/table/render/resize-handlers/first-column-left-resize-handler.js +107 -0
  316. package/dist/extension/plugins/table/render/resize-handlers/index.js +70 -0
  317. package/dist/extension/plugins/table/render/resize-handlers/row-resize-handler.js +105 -0
  318. package/dist/extension/plugins/table/render/resize-mask/index.js +137 -0
  319. package/dist/extension/plugins/table/render/table-header/columns-header/column-header.js +101 -0
  320. package/dist/extension/plugins/table/render/table-header/columns-header/index.js +104 -0
  321. package/dist/extension/plugins/table/render/table-header/index.js +107 -0
  322. package/dist/extension/plugins/table/render/table-header/rows-columns-header.js +30 -0
  323. package/dist/extension/plugins/table/render/table-header/rows-header/index.js +100 -0
  324. package/dist/extension/plugins/table/render/table-header/rows-header/row-header.js +127 -0
  325. package/dist/extension/plugins/table/render/table-root.js +64 -0
  326. package/dist/extension/plugins/table/render-elem.js +27 -0
  327. package/dist/extension/plugins/text-align/helpers.js +54 -0
  328. package/dist/extension/plugins/text-align/index.js +8 -0
  329. package/dist/extension/plugins/text-align/menu/index.js +105 -0
  330. package/dist/extension/plugins/text-style/caret.js +57 -0
  331. package/dist/extension/plugins/text-style/helpers.js +67 -0
  332. package/dist/extension/plugins/text-style/index.js +15 -0
  333. package/dist/extension/plugins/text-style/menu/comemnt-editor-menu.js +74 -0
  334. package/dist/extension/plugins/text-style/menu/index.js +163 -0
  335. package/dist/extension/plugins/text-style/plugin.js +30 -0
  336. package/dist/extension/plugins/text-style/render-elem.js +153 -0
  337. package/dist/extension/plugins/video/constants/index.js +10 -0
  338. package/dist/extension/plugins/video/dialog/add-video-link-dialog/index.js +113 -0
  339. package/dist/extension/plugins/video/helpers.js +199 -0
  340. package/dist/extension/plugins/video/index.js +20 -0
  341. package/dist/extension/plugins/video/menu/index.js +73 -0
  342. package/dist/extension/plugins/video/plugin.js +52 -0
  343. package/dist/extension/plugins/video/render-elem.js +160 -0
  344. package/dist/extension/plugins/wiki-link/helpers.js +72 -0
  345. package/dist/extension/plugins/wiki-link/index.js +16 -0
  346. package/dist/extension/render/custom-element.js +240 -0
  347. package/dist/extension/render/element-decorate/index.js +13 -0
  348. package/dist/extension/render/element-decorate/rebase-decorate/index.js +36 -0
  349. package/dist/extension/render/element-decorate/rebase-decorate/rebase-delete-modify-decorate.js +71 -0
  350. package/dist/extension/render/element-decorate/rebase-decorate/rebase-modify-delete-decorate.js +71 -0
  351. package/dist/extension/render/element-decorate/rebase-decorate/rebase-modify-modify-decorate.js +134 -0
  352. package/dist/extension/render/helper.js +62 -0
  353. package/dist/extension/render/render-comment-editor-element.js +113 -0
  354. package/dist/extension/render/render-element.js +22 -0
  355. package/dist/extension/render/render-leaf.js +21 -0
  356. package/dist/extension/toolbar/comment-editor-toolbar/index.js +63 -0
  357. package/dist/extension/toolbar/comment-editor-toolbar/post-comment/index.js +34 -0
  358. package/dist/extension/toolbar/context-toolbar/index.js +73 -0
  359. package/dist/extension/toolbar/header-toolbar/index.js +80 -0
  360. package/dist/extension/toolbar/header-toolbar/insert-toolbar/index.js +105 -0
  361. package/dist/extension/toolbar/index.js +27 -0
  362. package/dist/extension/toolbar/insert-element-toolbar/const.js +7 -0
  363. package/dist/extension/toolbar/insert-element-toolbar/index.js +415 -0
  364. package/dist/extension/toolbar/side-toolbar/event.js +7 -0
  365. package/dist/extension/toolbar/side-toolbar/helpers.js +504 -0
  366. package/dist/extension/toolbar/side-toolbar/index.js +612 -0
  367. package/dist/extension/toolbar/side-toolbar/insert-below-menu.js +30 -0
  368. package/dist/extension/toolbar/side-toolbar/insert-block-menu.js +194 -0
  369. package/dist/extension/toolbar/side-toolbar/side-menu.js +266 -0
  370. package/dist/extension/toolbar/side-toolbar/transform-menus.js +38 -0
  371. package/dist/extension/utils/index.js +78 -0
  372. package/dist/highlight/index.js +31 -0
  373. package/dist/highlight/setNodeToDecorations.js +113 -0
  374. package/dist/hooks/use-collaborators.js +60 -0
  375. package/dist/hooks/use-color-context.js +56 -0
  376. package/dist/hooks/use-force-update.js +21 -0
  377. package/dist/hooks/use-plugins.js +66 -0
  378. package/dist/hooks/use-scroll-context.js +17 -0
  379. package/dist/hooks/use-selection-element.js +25 -0
  380. package/dist/hooks/use-selection-position.js +71 -0
  381. package/dist/hooks/use-selection-update.js +25 -0
  382. package/dist/index.js +223 -41
  383. package/dist/layout/article-container.js +93 -0
  384. package/dist/layout/editor-container.js +30 -0
  385. package/dist/layout/editor-content.js +82 -0
  386. package/dist/layout/index.js +16 -13
  387. package/dist/model/index.js +12 -5
  388. package/dist/model/notification.js +20 -0
  389. package/dist/model/user.js +19 -0
  390. package/dist/node-id/constants.js +24 -0
  391. package/dist/node-id/helpers.js +138 -0
  392. package/dist/node-id/index.js +74 -0
  393. package/dist/outline/index.js +94 -0
  394. package/dist/outline/outline-item.js +114 -0
  395. package/dist/outline/wiki-outline.js +119 -0
  396. package/dist/right-panel/index.js +95 -0
  397. package/dist/right-panel/resize-width/index.js +137 -0
  398. package/dist/slate-convert/html-to-slate/constants.js +39 -0
  399. package/dist/slate-convert/html-to-slate/helper.js +63 -0
  400. package/dist/slate-convert/html-to-slate/index.js +137 -0
  401. package/dist/slate-convert/html-to-slate/rules/blockquote.js +22 -0
  402. package/dist/slate-convert/html-to-slate/rules/check-list.js +25 -0
  403. package/dist/slate-convert/html-to-slate/rules/code-block.js +94 -0
  404. package/dist/slate-convert/html-to-slate/rules/header.js +22 -0
  405. package/dist/slate-convert/html-to-slate/rules/image.js +27 -0
  406. package/dist/slate-convert/html-to-slate/rules/index.js +18 -0
  407. package/dist/slate-convert/html-to-slate/rules/link.js +27 -0
  408. package/dist/slate-convert/html-to-slate/rules/list.js +55 -0
  409. package/dist/slate-convert/html-to-slate/rules/paragraph.js +32 -0
  410. package/dist/slate-convert/html-to-slate/rules/table.js +45 -0
  411. package/dist/slate-convert/html-to-slate/rules/text.js +61 -0
  412. package/dist/slate-convert/index.js +34 -0
  413. package/dist/slate-convert/md-to-html/index.js +53 -0
  414. package/dist/slate-convert/md-to-html/sanitize-schema.js +24 -0
  415. package/dist/slate-convert/md-to-slate/index.js +44 -0
  416. package/dist/slate-convert/md-to-slate/transform.js +379 -0
  417. package/dist/slate-convert/slate-to-md/index.js +43 -0
  418. package/dist/slate-convert/slate-to-md/transform.js +347 -0
  419. package/dist/socket/helpers.js +282 -0
  420. package/dist/socket/index.js +20 -0
  421. package/dist/socket/socket-client.js +207 -0
  422. package/dist/socket/socket-manager.js +367 -0
  423. package/dist/socket/with-socket-io.js +65 -0
  424. package/dist/utils/Kebab-to-camel.js +12 -0
  425. package/dist/utils/common-utils.js +60 -0
  426. package/dist/utils/debounce.js +22 -0
  427. package/dist/utils/debug.js +20 -0
  428. package/dist/utils/default-mode.js +25 -0
  429. package/dist/utils/diff-text.js +299 -0
  430. package/dist/utils/diff.js +351 -0
  431. package/dist/utils/document-utils.js +76 -0
  432. package/dist/utils/dom-utils.js +51 -0
  433. package/dist/utils/event-bus.js +53 -0
  434. package/dist/utils/event-handler.js +129 -0
  435. package/dist/utils/full-width-mode.js +32 -0
  436. package/dist/utils/is-punctuation-mark.js +50 -0
  437. package/dist/utils/local-storage-utils.js +69 -0
  438. package/dist/utils/mouse-event.js +73 -0
  439. package/dist/utils/object-utils.js +73 -0
  440. package/dist/utils/rebase.js +280 -0
  441. package/dist/views/index.js +41 -0
  442. package/dist/views/published-revision-diff-viewer.js +70 -0
  443. package/dist/views/readonly-article.js +39 -0
  444. package/dist/views/revision-diff-viewer.js +68 -0
  445. package/dist/views/sdoc-diff-viewer.js +40 -0
  446. package/dist/views/sdoc-viewer.js +71 -0
  447. package/dist/views/sdoc-wiki-viewer.js +50 -0
  448. package/dist/wiki-outline/index.js +80 -0
  449. package/dist/wiki-outline/outline-item.js +30 -0
  450. package/package.json +24 -140
  451. package/README.md +0 -51
  452. package/TODO.md +0 -55
  453. package/dist/assets/css/plugin-editor.css +0 -7
  454. package/dist/assets/css/simple-editor.css +0 -9
  455. package/dist/assets/css/simple-viewer.css +0 -6
  456. package/dist/assets/images/content-replaced.png +0 -0
  457. package/dist/assets/images/revision-avatar.png +0 -0
  458. package/dist/assets/images/sdoc-freezed.png +0 -0
  459. package/dist/basic-sdk/android/constants.js +0 -10
  460. package/dist/basic-sdk/android/js-bridge.js +0 -74
  461. package/dist/basic-sdk/android/outline-module.js +0 -29
  462. package/dist/basic-sdk/api/sdoc-server-api.js +0 -189
  463. package/dist/basic-sdk/api/seafile-api.js +0 -220
  464. package/dist/basic-sdk/comment/comment-decorate.js +0 -33
  465. package/dist/basic-sdk/comment/components/comment-all-participants/index.js +0 -67
  466. package/dist/basic-sdk/comment/components/comment-all-participants/participant-avatar.js +0 -43
  467. package/dist/basic-sdk/comment/components/comment-context-menu/index.js +0 -38
  468. package/dist/basic-sdk/comment/components/comment-context-menu/menu-item.js +0 -57
  469. package/dist/basic-sdk/comment/components/comment-delete-popover.js +0 -80
  470. package/dist/basic-sdk/comment/components/comment-editor.js +0 -165
  471. package/dist/basic-sdk/comment/components/comment-item-collapse-wrapper.js +0 -160
  472. package/dist/basic-sdk/comment/components/comment-item-content.js +0 -156
  473. package/dist/basic-sdk/comment/components/comment-item-reply.js +0 -124
  474. package/dist/basic-sdk/comment/components/comment-item-resolved-reply.js +0 -38
  475. package/dist/basic-sdk/comment/components/comment-item-wrapper.js +0 -368
  476. package/dist/basic-sdk/comment/components/comment-list.js +0 -216
  477. package/dist/basic-sdk/comment/components/comment-operation/index.js +0 -31
  478. package/dist/basic-sdk/comment/components/comment-participants-editor/index.js +0 -69
  479. package/dist/basic-sdk/comment/components/comment-participants-editor/searched-collaborators.js +0 -62
  480. package/dist/basic-sdk/comment/components/comment-participants-editor/selected-participants.js +0 -48
  481. package/dist/basic-sdk/comment/components/editor-comment.js +0 -183
  482. package/dist/basic-sdk/comment/components/elements-comment-count/element-comment-count.js +0 -64
  483. package/dist/basic-sdk/comment/components/elements-comment-count/index.js +0 -49
  484. package/dist/basic-sdk/comment/components/global-comment/global-comment-body-header.js +0 -87
  485. package/dist/basic-sdk/comment/components/global-comment/global-comment-editor.js +0 -36
  486. package/dist/basic-sdk/comment/components/global-comment/global-comment-header.js +0 -82
  487. package/dist/basic-sdk/comment/components/global-comment/index.js +0 -216
  488. package/dist/basic-sdk/comment/components/index.js +0 -21
  489. package/dist/basic-sdk/comment/constants/index.js +0 -26
  490. package/dist/basic-sdk/comment/helper.js +0 -184
  491. package/dist/basic-sdk/comment/hooks/comment-hooks/use-comment-context.js +0 -20
  492. package/dist/basic-sdk/comment/hooks/comment-hooks/use-comment-list.js +0 -45
  493. package/dist/basic-sdk/comment/hooks/comment-hooks/use-comment-mount.js +0 -58
  494. package/dist/basic-sdk/comment/hooks/notification-hooks/index.js +0 -25
  495. package/dist/basic-sdk/comment/hooks/notification-hooks/use-notification-context.js +0 -20
  496. package/dist/basic-sdk/comment/hooks/notification-hooks/use-notification-mount.js +0 -74
  497. package/dist/basic-sdk/comment/hooks/use-participants.js +0 -26
  498. package/dist/basic-sdk/comment/index.js +0 -65
  499. package/dist/basic-sdk/comment/provider/comment-context-provider.js +0 -37
  500. package/dist/basic-sdk/comment/provider/index.js +0 -23
  501. package/dist/basic-sdk/comment/provider/notification-context-provider.js +0 -31
  502. package/dist/basic-sdk/comment/provider/participants-content-provider.js +0 -96
  503. package/dist/basic-sdk/comment/reducer/comment-reducer.js +0 -353
  504. package/dist/basic-sdk/comment/reducer/notification-reducer.js +0 -89
  505. package/dist/basic-sdk/comment/utils/get-event-transfer.js +0 -77
  506. package/dist/basic-sdk/comment/utils/index.js +0 -281
  507. package/dist/basic-sdk/comment/utils/notification-utils.js +0 -62
  508. package/dist/basic-sdk/components/file-loading/index.js +0 -15
  509. package/dist/basic-sdk/components/loading/index.js +0 -19
  510. package/dist/basic-sdk/components/toast/alert.js +0 -51
  511. package/dist/basic-sdk/components/toast/index.js +0 -10
  512. package/dist/basic-sdk/components/toast/toast.js +0 -104
  513. package/dist/basic-sdk/components/toast/toastManager.js +0 -110
  514. package/dist/basic-sdk/components/toast/toaster.js +0 -77
  515. package/dist/basic-sdk/components/tooltip/index.js +0 -39
  516. package/dist/basic-sdk/constants/index.js +0 -125
  517. package/dist/basic-sdk/constants/key-codes.js +0 -109
  518. package/dist/basic-sdk/constants/plugin.js +0 -14
  519. package/dist/basic-sdk/constants/z-index.js +0 -8
  520. package/dist/basic-sdk/context.js +0 -275
  521. package/dist/basic-sdk/cursor/helper.js +0 -57
  522. package/dist/basic-sdk/cursor/use-cursors.js +0 -27
  523. package/dist/basic-sdk/decorates/index.js +0 -28
  524. package/dist/basic-sdk/editor/comment-article.js +0 -104
  525. package/dist/basic-sdk/editor/editable-article.js +0 -242
  526. package/dist/basic-sdk/editor/revision-editor.js +0 -83
  527. package/dist/basic-sdk/editor/sdoc-comment-editor.js +0 -128
  528. package/dist/basic-sdk/editor/sdoc-editor.js +0 -268
  529. package/dist/basic-sdk/editor/wiki-editor.js +0 -191
  530. package/dist/basic-sdk/extension/commons/Inline-bug-fix-wrapper/index.js +0 -17
  531. package/dist/basic-sdk/extension/commons/color-menu/color-item.js +0 -31
  532. package/dist/basic-sdk/extension/commons/color-menu/index.js +0 -208
  533. package/dist/basic-sdk/extension/commons/dropdown-menu-item/index.js +0 -57
  534. package/dist/basic-sdk/extension/commons/element-popover/index.js +0 -47
  535. package/dist/basic-sdk/extension/commons/file-insert-dialog/index.js +0 -282
  536. package/dist/basic-sdk/extension/commons/index.js +0 -47
  537. package/dist/basic-sdk/extension/commons/insert-element-dialog/index.js +0 -251
  538. package/dist/basic-sdk/extension/commons/menu/index.js +0 -21
  539. package/dist/basic-sdk/extension/commons/menu/menu-group.js +0 -17
  540. package/dist/basic-sdk/extension/commons/menu/menu-item.js +0 -60
  541. package/dist/basic-sdk/extension/commons/menu-shortcut-indicator/index.js +0 -22
  542. package/dist/basic-sdk/extension/commons/more-dropdown/index.js +0 -44
  543. package/dist/basic-sdk/extension/commons/search-list/index.js +0 -149
  544. package/dist/basic-sdk/extension/commons/select/_option.js +0 -39
  545. package/dist/basic-sdk/extension/commons/select/field-setting.js +0 -109
  546. package/dist/basic-sdk/extension/commons/select/index.js +0 -142
  547. package/dist/basic-sdk/extension/commons/select/menu/index.js +0 -11
  548. package/dist/basic-sdk/extension/commons/select/menu/item.js +0 -39
  549. package/dist/basic-sdk/extension/commons/select/menu/menu.js +0 -34
  550. package/dist/basic-sdk/extension/commons/select-file-dialog/helpers.js +0 -54
  551. package/dist/basic-sdk/extension/commons/select-file-dialog/index.js +0 -207
  552. package/dist/basic-sdk/extension/commons/select-file-dialog/local-files/index.js +0 -191
  553. package/dist/basic-sdk/extension/commons/wiki-file-insert-dialog/index.js +0 -274
  554. package/dist/basic-sdk/extension/constants/color.js +0 -282
  555. package/dist/basic-sdk/extension/constants/diff-view.js +0 -20
  556. package/dist/basic-sdk/extension/constants/element-type.js +0 -56
  557. package/dist/basic-sdk/extension/constants/font.js +0 -537
  558. package/dist/basic-sdk/extension/constants/index.js +0 -562
  559. package/dist/basic-sdk/extension/constants/keyboard.js +0 -45
  560. package/dist/basic-sdk/extension/constants/menus-config.js +0 -472
  561. package/dist/basic-sdk/extension/core/index.js +0 -38
  562. package/dist/basic-sdk/extension/core/queries/index.js +0 -613
  563. package/dist/basic-sdk/extension/core/transforms/delete-merge.js +0 -174
  564. package/dist/basic-sdk/extension/core/transforms/focus-editor.js +0 -18
  565. package/dist/basic-sdk/extension/core/transforms/index.js +0 -71
  566. package/dist/basic-sdk/extension/core/transforms/move-children.js +0 -35
  567. package/dist/basic-sdk/extension/core/transforms/rebase.js +0 -75
  568. package/dist/basic-sdk/extension/core/transforms/remove-node-children.js +0 -19
  569. package/dist/basic-sdk/extension/core/transforms/replace-node.js +0 -43
  570. package/dist/basic-sdk/extension/core/transforms/update-parent-node.js +0 -34
  571. package/dist/basic-sdk/extension/core/utils/index.js +0 -50
  572. package/dist/basic-sdk/extension/index.js +0 -87
  573. package/dist/basic-sdk/extension/plugins/ai/ai-icon/index.js +0 -26
  574. package/dist/basic-sdk/extension/plugins/ai/ai-menu/ai-context-menu.js +0 -41
  575. package/dist/basic-sdk/extension/plugins/ai/ai-menu/ai-dropdown-menu.js +0 -35
  576. package/dist/basic-sdk/extension/plugins/ai/ai-menu/index.js +0 -20
  577. package/dist/basic-sdk/extension/plugins/ai/ai-menu/menu-item.js +0 -58
  578. package/dist/basic-sdk/extension/plugins/ai/ai-module/adjust-sub-menu.js +0 -44
  579. package/dist/basic-sdk/extension/plugins/ai/ai-module/helpers.js +0 -72
  580. package/dist/basic-sdk/extension/plugins/ai/ai-module/index.js +0 -600
  581. package/dist/basic-sdk/extension/plugins/ai/ai-module/lang-sub-menu.js +0 -55
  582. package/dist/basic-sdk/extension/plugins/ai/ai-module/tip-dialog.js +0 -41
  583. package/dist/basic-sdk/extension/plugins/ai/constants/index.js +0 -137
  584. package/dist/basic-sdk/extension/plugins/blockquote/helpers.js +0 -153
  585. package/dist/basic-sdk/extension/plugins/blockquote/index.js +0 -21
  586. package/dist/basic-sdk/extension/plugins/blockquote/menu/index.js +0 -55
  587. package/dist/basic-sdk/extension/plugins/blockquote/model.js +0 -16
  588. package/dist/basic-sdk/extension/plugins/blockquote/plugin.js +0 -144
  589. package/dist/basic-sdk/extension/plugins/blockquote/render-elem.js +0 -24
  590. package/dist/basic-sdk/extension/plugins/callout/constant.js +0 -58
  591. package/dist/basic-sdk/extension/plugins/callout/helper.js +0 -262
  592. package/dist/basic-sdk/extension/plugins/callout/index.js +0 -19
  593. package/dist/basic-sdk/extension/plugins/callout/menu/index.js +0 -52
  594. package/dist/basic-sdk/extension/plugins/callout/plugin.js +0 -110
  595. package/dist/basic-sdk/extension/plugins/callout/render-elem/callout-color-selector/index.js +0 -65
  596. package/dist/basic-sdk/extension/plugins/callout/render-elem/callout-hover-menu/index.js +0 -90
  597. package/dist/basic-sdk/extension/plugins/callout/render-elem/callout-icon/index.js +0 -45
  598. package/dist/basic-sdk/extension/plugins/callout/render-elem/index.js +0 -134
  599. package/dist/basic-sdk/extension/plugins/check-list/helpers.js +0 -121
  600. package/dist/basic-sdk/extension/plugins/check-list/index.js +0 -16
  601. package/dist/basic-sdk/extension/plugins/check-list/menu/index.js +0 -58
  602. package/dist/basic-sdk/extension/plugins/check-list/model.js +0 -17
  603. package/dist/basic-sdk/extension/plugins/check-list/plugin.js +0 -110
  604. package/dist/basic-sdk/extension/plugins/check-list/render-elem.js +0 -71
  605. package/dist/basic-sdk/extension/plugins/clear-format/helpers.js +0 -54
  606. package/dist/basic-sdk/extension/plugins/clear-format/menu/index.js +0 -35
  607. package/dist/basic-sdk/extension/plugins/code-block/helpers.js +0 -206
  608. package/dist/basic-sdk/extension/plugins/code-block/hover-menu/index.js +0 -257
  609. package/dist/basic-sdk/extension/plugins/code-block/index.js +0 -19
  610. package/dist/basic-sdk/extension/plugins/code-block/menu/index.js +0 -35
  611. package/dist/basic-sdk/extension/plugins/code-block/model.js +0 -16
  612. package/dist/basic-sdk/extension/plugins/code-block/plugin.js +0 -229
  613. package/dist/basic-sdk/extension/plugins/code-block/prismjs.js +0 -189
  614. package/dist/basic-sdk/extension/plugins/code-block/render-elem.js +0 -182
  615. package/dist/basic-sdk/extension/plugins/file-link/constants/index.js +0 -26
  616. package/dist/basic-sdk/extension/plugins/file-link/helpers.js +0 -125
  617. package/dist/basic-sdk/extension/plugins/file-link/hover-menu/index.js +0 -120
  618. package/dist/basic-sdk/extension/plugins/file-link/index.js +0 -18
  619. package/dist/basic-sdk/extension/plugins/file-link/menu/index.js +0 -38
  620. package/dist/basic-sdk/extension/plugins/file-link/plugin.js +0 -72
  621. package/dist/basic-sdk/extension/plugins/file-link/render-elem.js +0 -164
  622. package/dist/basic-sdk/extension/plugins/font/helpers.js +0 -173
  623. package/dist/basic-sdk/extension/plugins/font/index.js +0 -13
  624. package/dist/basic-sdk/extension/plugins/font/menu/font-family/font-item.js +0 -39
  625. package/dist/basic-sdk/extension/plugins/font/menu/font-family/index.js +0 -145
  626. package/dist/basic-sdk/extension/plugins/font/menu/font-size/font-size-scale.js +0 -38
  627. package/dist/basic-sdk/extension/plugins/font/menu/font-size/index.js +0 -103
  628. package/dist/basic-sdk/extension/plugins/font/menu/index.js +0 -24
  629. package/dist/basic-sdk/extension/plugins/font/plugin.js +0 -18
  630. package/dist/basic-sdk/extension/plugins/group/index.js +0 -13
  631. package/dist/basic-sdk/extension/plugins/group/render-elem.js +0 -25
  632. package/dist/basic-sdk/extension/plugins/header/helpers.js +0 -69
  633. package/dist/basic-sdk/extension/plugins/header/index.js +0 -17
  634. package/dist/basic-sdk/extension/plugins/header/menu/index.js +0 -153
  635. package/dist/basic-sdk/extension/plugins/header/placeholder.js +0 -35
  636. package/dist/basic-sdk/extension/plugins/header/plugin.js +0 -140
  637. package/dist/basic-sdk/extension/plugins/header/render-elem.js +0 -90
  638. package/dist/basic-sdk/extension/plugins/history/history-menu.js +0 -70
  639. package/dist/basic-sdk/extension/plugins/html/helper.js +0 -144
  640. package/dist/basic-sdk/extension/plugins/html/index.js +0 -13
  641. package/dist/basic-sdk/extension/plugins/html/plugin.js +0 -50
  642. package/dist/basic-sdk/extension/plugins/html/rules/blockquote.js +0 -24
  643. package/dist/basic-sdk/extension/plugins/html/rules/check-list.js +0 -27
  644. package/dist/basic-sdk/extension/plugins/html/rules/code-block.js +0 -89
  645. package/dist/basic-sdk/extension/plugins/html/rules/header.js +0 -32
  646. package/dist/basic-sdk/extension/plugins/html/rules/image.js +0 -29
  647. package/dist/basic-sdk/extension/plugins/html/rules/index.js +0 -18
  648. package/dist/basic-sdk/extension/plugins/html/rules/link.js +0 -29
  649. package/dist/basic-sdk/extension/plugins/html/rules/list.js +0 -59
  650. package/dist/basic-sdk/extension/plugins/html/rules/paragraph.js +0 -24
  651. package/dist/basic-sdk/extension/plugins/html/rules/table.js +0 -41
  652. package/dist/basic-sdk/extension/plugins/html/rules/text.js +0 -66
  653. package/dist/basic-sdk/extension/plugins/image/base64-to-unit8array.js +0 -21
  654. package/dist/basic-sdk/extension/plugins/image/constants/index.js +0 -30
  655. package/dist/basic-sdk/extension/plugins/image/copy-image-error-svg/index.js +0 -64
  656. package/dist/basic-sdk/extension/plugins/image/dialogs/image-previewer.js +0 -86
  657. package/dist/basic-sdk/extension/plugins/image/helpers.js +0 -346
  658. package/dist/basic-sdk/extension/plugins/image/hover-menu/index.js +0 -302
  659. package/dist/basic-sdk/extension/plugins/image/image-cache.js +0 -30
  660. package/dist/basic-sdk/extension/plugins/image/image-loader/index.js +0 -24
  661. package/dist/basic-sdk/extension/plugins/image/index.js +0 -21
  662. package/dist/basic-sdk/extension/plugins/image/menu/index.js +0 -73
  663. package/dist/basic-sdk/extension/plugins/image/model.js +0 -19
  664. package/dist/basic-sdk/extension/plugins/image/plugin.js +0 -230
  665. package/dist/basic-sdk/extension/plugins/image/render-elem.js +0 -405
  666. package/dist/basic-sdk/extension/plugins/image/use-copy-image.js +0 -80
  667. package/dist/basic-sdk/extension/plugins/image/use-upload-image.js +0 -67
  668. package/dist/basic-sdk/extension/plugins/index.js +0 -180
  669. package/dist/basic-sdk/extension/plugins/link/dialog/add-link-dialog/index.js +0 -140
  670. package/dist/basic-sdk/extension/plugins/link/helpers.js +0 -232
  671. package/dist/basic-sdk/extension/plugins/link/hover/index.js +0 -60
  672. package/dist/basic-sdk/extension/plugins/link/index.js +0 -21
  673. package/dist/basic-sdk/extension/plugins/link/menu/index.js +0 -63
  674. package/dist/basic-sdk/extension/plugins/link/model.js +0 -18
  675. package/dist/basic-sdk/extension/plugins/link/plugin.js +0 -148
  676. package/dist/basic-sdk/extension/plugins/link/render-elem.js +0 -142
  677. package/dist/basic-sdk/extension/plugins/list/helpers.js +0 -115
  678. package/dist/basic-sdk/extension/plugins/list/index.js +0 -18
  679. package/dist/basic-sdk/extension/plugins/list/menu/index.js +0 -65
  680. package/dist/basic-sdk/extension/plugins/list/model.js +0 -47
  681. package/dist/basic-sdk/extension/plugins/list/plugin/index.js +0 -140
  682. package/dist/basic-sdk/extension/plugins/list/plugin/insert-break-list.js +0 -30
  683. package/dist/basic-sdk/extension/plugins/list/plugin/insert-fragment-list.js +0 -176
  684. package/dist/basic-sdk/extension/plugins/list/plugin/normalize-list.js +0 -80
  685. package/dist/basic-sdk/extension/plugins/list/plugin/on-tab-handle.js +0 -61
  686. package/dist/basic-sdk/extension/plugins/list/plugin/shortcut.js +0 -89
  687. package/dist/basic-sdk/extension/plugins/list/queries/index.js +0 -55
  688. package/dist/basic-sdk/extension/plugins/list/render-elem.js +0 -64
  689. package/dist/basic-sdk/extension/plugins/list/transforms/index.js +0 -76
  690. package/dist/basic-sdk/extension/plugins/list/transforms/insert-list-item.js +0 -94
  691. package/dist/basic-sdk/extension/plugins/list/transforms/is-across-list-items.js +0 -25
  692. package/dist/basic-sdk/extension/plugins/list/transforms/move-list-item-down.js +0 -48
  693. package/dist/basic-sdk/extension/plugins/list/transforms/move-list-item-sublist-to-list-item-sublist.js +0 -63
  694. package/dist/basic-sdk/extension/plugins/list/transforms/move-list-item-up.js +0 -125
  695. package/dist/basic-sdk/extension/plugins/list/transforms/move-list-items-to-list.js +0 -63
  696. package/dist/basic-sdk/extension/plugins/list/transforms/move-list-items.js +0 -73
  697. package/dist/basic-sdk/extension/plugins/list/transforms/normalize-list-item.js +0 -109
  698. package/dist/basic-sdk/extension/plugins/list/transforms/normalize-nested-list.js +0 -38
  699. package/dist/basic-sdk/extension/plugins/list/transforms/remove-first-list-item.js +0 -24
  700. package/dist/basic-sdk/extension/plugins/list/transforms/remove-list-item.js +0 -64
  701. package/dist/basic-sdk/extension/plugins/list/transforms/toggle-list.js +0 -164
  702. package/dist/basic-sdk/extension/plugins/list/transforms/unwrap-list.js +0 -51
  703. package/dist/basic-sdk/extension/plugins/markdown/index.js +0 -12
  704. package/dist/basic-sdk/extension/plugins/markdown/plugin.js +0 -202
  705. package/dist/basic-sdk/extension/plugins/mention/helper.js +0 -239
  706. package/dist/basic-sdk/extension/plugins/mention/index.js +0 -17
  707. package/dist/basic-sdk/extension/plugins/mention/plugin.js +0 -269
  708. package/dist/basic-sdk/extension/plugins/mention/render-elem/comment-participant-item.js +0 -56
  709. package/dist/basic-sdk/extension/plugins/mention/render-elem/index.js +0 -61
  710. package/dist/basic-sdk/extension/plugins/mention/render-elem/participant-popover.js +0 -242
  711. package/dist/basic-sdk/extension/plugins/multi-column/constants/index.js +0 -7
  712. package/dist/basic-sdk/extension/plugins/multi-column/helper.js +0 -192
  713. package/dist/basic-sdk/extension/plugins/multi-column/index.js +0 -17
  714. package/dist/basic-sdk/extension/plugins/multi-column/plugin.js +0 -153
  715. package/dist/basic-sdk/extension/plugins/multi-column/render/index.js +0 -91
  716. package/dist/basic-sdk/extension/plugins/multi-column/render/multi-column-root.js +0 -23
  717. package/dist/basic-sdk/extension/plugins/multi-column/render/render-column.js +0 -46
  718. package/dist/basic-sdk/extension/plugins/multi-column/render-elem.js +0 -20
  719. package/dist/basic-sdk/extension/plugins/multi-column/resize-handlers/column-resize-handler.js +0 -28
  720. package/dist/basic-sdk/extension/plugins/multi-column/resize-handlers/index.js +0 -148
  721. package/dist/basic-sdk/extension/plugins/paragraph/helper.js +0 -17
  722. package/dist/basic-sdk/extension/plugins/paragraph/index.js +0 -16
  723. package/dist/basic-sdk/extension/plugins/paragraph/plugin.js +0 -166
  724. package/dist/basic-sdk/extension/plugins/paragraph/render-elem.js +0 -78
  725. package/dist/basic-sdk/extension/plugins/quick-insert/helper.js +0 -51
  726. package/dist/basic-sdk/extension/plugins/quick-insert/index.js +0 -16
  727. package/dist/basic-sdk/extension/plugins/quick-insert/plugin/index.js +0 -172
  728. package/dist/basic-sdk/extension/plugins/quick-insert/render-elem.js +0 -103
  729. package/dist/basic-sdk/extension/plugins/sdoc-link/constants/index.js +0 -26
  730. package/dist/basic-sdk/extension/plugins/sdoc-link/helpers.js +0 -291
  731. package/dist/basic-sdk/extension/plugins/sdoc-link/hover-menu/index.js +0 -119
  732. package/dist/basic-sdk/extension/plugins/sdoc-link/index.js +0 -19
  733. package/dist/basic-sdk/extension/plugins/sdoc-link/menu/index.js +0 -38
  734. package/dist/basic-sdk/extension/plugins/sdoc-link/plugin.js +0 -102
  735. package/dist/basic-sdk/extension/plugins/sdoc-link/render/render-elem.js +0 -180
  736. package/dist/basic-sdk/extension/plugins/sdoc-link/render/render-file-link-temp-input.js +0 -34
  737. package/dist/basic-sdk/extension/plugins/search-replace/constant.js +0 -8
  738. package/dist/basic-sdk/extension/plugins/search-replace/helper.js +0 -355
  739. package/dist/basic-sdk/extension/plugins/search-replace/index.js +0 -17
  740. package/dist/basic-sdk/extension/plugins/search-replace/menu/index.js +0 -89
  741. package/dist/basic-sdk/extension/plugins/search-replace/plugin.js +0 -28
  742. package/dist/basic-sdk/extension/plugins/search-replace/popover/index.js +0 -238
  743. package/dist/basic-sdk/extension/plugins/search-replace/popover/replace-all-confirm-modal.js +0 -50
  744. package/dist/basic-sdk/extension/plugins/table/constants/index.js +0 -64
  745. package/dist/basic-sdk/extension/plugins/table/dialogs/custom-table-size-dialog/index.js +0 -102
  746. package/dist/basic-sdk/extension/plugins/table/dialogs/custom-table-size-dialog/number-input.js +0 -31
  747. package/dist/basic-sdk/extension/plugins/table/dialogs/index.js +0 -20
  748. package/dist/basic-sdk/extension/plugins/table/dialogs/split-cell-setting-dialog.js +0 -115
  749. package/dist/basic-sdk/extension/plugins/table/helpers.js +0 -2124
  750. package/dist/basic-sdk/extension/plugins/table/index.js +0 -21
  751. package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/common-menu.js +0 -83
  752. package/dist/basic-sdk/extension/plugins/table/menu/color-selector-popover/color-item.js +0 -31
  753. package/dist/basic-sdk/extension/plugins/table/menu/color-selector-popover/index.js +0 -173
  754. package/dist/basic-sdk/extension/plugins/table/menu/horizontal-align-popover/index.js +0 -79
  755. package/dist/basic-sdk/extension/plugins/table/menu/index.js +0 -20
  756. package/dist/basic-sdk/extension/plugins/table/menu/table-context-menu/index.js +0 -232
  757. package/dist/basic-sdk/extension/plugins/table/menu/table-context-menu/insert-table-element.js +0 -97
  758. package/dist/basic-sdk/extension/plugins/table/menu/table-menu/index.js +0 -41
  759. package/dist/basic-sdk/extension/plugins/table/menu/vertical-align-popover/index.js +0 -81
  760. package/dist/basic-sdk/extension/plugins/table/model.js +0 -54
  761. package/dist/basic-sdk/extension/plugins/table/plugin.js +0 -621
  762. package/dist/basic-sdk/extension/plugins/table/popover/table-size-popover/index.js +0 -265
  763. package/dist/basic-sdk/extension/plugins/table/popover/table-template/index.js +0 -129
  764. package/dist/basic-sdk/extension/plugins/table/popover/table-template/sample-table.js +0 -44
  765. package/dist/basic-sdk/extension/plugins/table/render/drag-handlers/column-drag-handler.js +0 -24
  766. package/dist/basic-sdk/extension/plugins/table/render/drag-handlers/index.js +0 -53
  767. package/dist/basic-sdk/extension/plugins/table/render/drag-handlers/row-drag-handler.js +0 -24
  768. package/dist/basic-sdk/extension/plugins/table/render/hooks.js +0 -76
  769. package/dist/basic-sdk/extension/plugins/table/render/index.js +0 -271
  770. package/dist/basic-sdk/extension/plugins/table/render/render-cell.js +0 -253
  771. package/dist/basic-sdk/extension/plugins/table/render/render-row.js +0 -15
  772. package/dist/basic-sdk/extension/plugins/table/render/resize-handlers/column-resize-handler.js +0 -114
  773. package/dist/basic-sdk/extension/plugins/table/render/resize-handlers/first-column-left-resize-handler.js +0 -100
  774. package/dist/basic-sdk/extension/plugins/table/render/resize-handlers/index.js +0 -74
  775. package/dist/basic-sdk/extension/plugins/table/render/resize-handlers/row-resize-handler.js +0 -90
  776. package/dist/basic-sdk/extension/plugins/table/render/resize-mask/index.js +0 -136
  777. package/dist/basic-sdk/extension/plugins/table/render/table-header/columns-header/column-header.js +0 -104
  778. package/dist/basic-sdk/extension/plugins/table/render/table-header/columns-header/index.js +0 -92
  779. package/dist/basic-sdk/extension/plugins/table/render/table-header/index.js +0 -114
  780. package/dist/basic-sdk/extension/plugins/table/render/table-header/rows-columns-header.js +0 -32
  781. package/dist/basic-sdk/extension/plugins/table/render/table-header/rows-header/index.js +0 -90
  782. package/dist/basic-sdk/extension/plugins/table/render/table-header/rows-header/row-header.js +0 -126
  783. package/dist/basic-sdk/extension/plugins/table/render/table-root.js +0 -60
  784. package/dist/basic-sdk/extension/plugins/table/render-elem.js +0 -27
  785. package/dist/basic-sdk/extension/plugins/text-align/helpers.js +0 -51
  786. package/dist/basic-sdk/extension/plugins/text-align/index.js +0 -8
  787. package/dist/basic-sdk/extension/plugins/text-align/menu/index.js +0 -98
  788. package/dist/basic-sdk/extension/plugins/text-style/caret.js +0 -60
  789. package/dist/basic-sdk/extension/plugins/text-style/helpers.js +0 -63
  790. package/dist/basic-sdk/extension/plugins/text-style/index.js +0 -15
  791. package/dist/basic-sdk/extension/plugins/text-style/menu/comemnt-editor-menu.js +0 -72
  792. package/dist/basic-sdk/extension/plugins/text-style/menu/index.js +0 -163
  793. package/dist/basic-sdk/extension/plugins/text-style/plugin.js +0 -30
  794. package/dist/basic-sdk/extension/plugins/text-style/render-elem.js +0 -137
  795. package/dist/basic-sdk/extension/plugins/video/constants/index.js +0 -10
  796. package/dist/basic-sdk/extension/plugins/video/dialog/add-video-link-dialog/index.js +0 -108
  797. package/dist/basic-sdk/extension/plugins/video/helpers.js +0 -209
  798. package/dist/basic-sdk/extension/plugins/video/index.js +0 -20
  799. package/dist/basic-sdk/extension/plugins/video/menu/index.js +0 -76
  800. package/dist/basic-sdk/extension/plugins/video/plugin.js +0 -52
  801. package/dist/basic-sdk/extension/plugins/video/render-elem.js +0 -155
  802. package/dist/basic-sdk/extension/plugins/wiki-link/helpers.js +0 -77
  803. package/dist/basic-sdk/extension/plugins/wiki-link/index.js +0 -16
  804. package/dist/basic-sdk/extension/render/custom-element.js +0 -214
  805. package/dist/basic-sdk/extension/render/element-decorate/index.js +0 -13
  806. package/dist/basic-sdk/extension/render/element-decorate/rebase-decorate/index.js +0 -38
  807. package/dist/basic-sdk/extension/render/element-decorate/rebase-decorate/rebase-delete-modify-decorate.js +0 -74
  808. package/dist/basic-sdk/extension/render/element-decorate/rebase-decorate/rebase-modify-delete-decorate.js +0 -74
  809. package/dist/basic-sdk/extension/render/element-decorate/rebase-decorate/rebase-modify-modify-decorate.js +0 -136
  810. package/dist/basic-sdk/extension/render/helper.js +0 -64
  811. package/dist/basic-sdk/extension/render/render-comment-editor-element.js +0 -105
  812. package/dist/basic-sdk/extension/render/render-element.js +0 -24
  813. package/dist/basic-sdk/extension/render/render-leaf.js +0 -19
  814. package/dist/basic-sdk/extension/toolbar/comment-editor-toolbar/index.js +0 -64
  815. package/dist/basic-sdk/extension/toolbar/comment-editor-toolbar/post-comment/index.js +0 -36
  816. package/dist/basic-sdk/extension/toolbar/context-toolbar/index.js +0 -75
  817. package/dist/basic-sdk/extension/toolbar/header-toolbar/index.js +0 -81
  818. package/dist/basic-sdk/extension/toolbar/header-toolbar/insert-toolbar/index.js +0 -103
  819. package/dist/basic-sdk/extension/toolbar/index.js +0 -27
  820. package/dist/basic-sdk/extension/toolbar/insert-element-toolbar/const.js +0 -7
  821. package/dist/basic-sdk/extension/toolbar/insert-element-toolbar/index.js +0 -419
  822. package/dist/basic-sdk/extension/toolbar/side-toolbar/event.js +0 -7
  823. package/dist/basic-sdk/extension/toolbar/side-toolbar/helpers.js +0 -506
  824. package/dist/basic-sdk/extension/toolbar/side-toolbar/index.js +0 -562
  825. package/dist/basic-sdk/extension/toolbar/side-toolbar/insert-below-menu.js +0 -32
  826. package/dist/basic-sdk/extension/toolbar/side-toolbar/insert-block-menu.js +0 -205
  827. package/dist/basic-sdk/extension/toolbar/side-toolbar/side-menu.js +0 -252
  828. package/dist/basic-sdk/extension/toolbar/side-toolbar/transform-menus.js +0 -38
  829. package/dist/basic-sdk/extension/utils/index.js +0 -88
  830. package/dist/basic-sdk/highlight/index.js +0 -26
  831. package/dist/basic-sdk/highlight/setNodeToDecorations.js +0 -83
  832. package/dist/basic-sdk/hooks/use-collaborators.js +0 -62
  833. package/dist/basic-sdk/hooks/use-color-context.js +0 -49
  834. package/dist/basic-sdk/hooks/use-force-update.js +0 -15
  835. package/dist/basic-sdk/hooks/use-plugins.js +0 -64
  836. package/dist/basic-sdk/hooks/use-scroll-context.js +0 -20
  837. package/dist/basic-sdk/hooks/use-selection-element.js +0 -26
  838. package/dist/basic-sdk/hooks/use-selection-position.js +0 -68
  839. package/dist/basic-sdk/hooks/use-selection-update.js +0 -20
  840. package/dist/basic-sdk/index.js +0 -264
  841. package/dist/basic-sdk/layout/article-container.js +0 -89
  842. package/dist/basic-sdk/layout/editor-container.js +0 -32
  843. package/dist/basic-sdk/layout/editor-content.js +0 -79
  844. package/dist/basic-sdk/layout/index.js +0 -27
  845. package/dist/basic-sdk/model/index.js +0 -20
  846. package/dist/basic-sdk/model/notification.js +0 -18
  847. package/dist/basic-sdk/model/user.js +0 -17
  848. package/dist/basic-sdk/node-id/constants.js +0 -24
  849. package/dist/basic-sdk/node-id/helpers.js +0 -160
  850. package/dist/basic-sdk/node-id/index.js +0 -69
  851. package/dist/basic-sdk/outline/index.js +0 -91
  852. package/dist/basic-sdk/outline/outline-item.js +0 -114
  853. package/dist/basic-sdk/outline/wiki-outline.js +0 -110
  854. package/dist/basic-sdk/right-panel/index.js +0 -95
  855. package/dist/basic-sdk/right-panel/resize-width/index.js +0 -132
  856. package/dist/basic-sdk/slate-convert/html-to-slate/constants.js +0 -39
  857. package/dist/basic-sdk/slate-convert/html-to-slate/helper.js +0 -64
  858. package/dist/basic-sdk/slate-convert/html-to-slate/index.js +0 -137
  859. package/dist/basic-sdk/slate-convert/html-to-slate/rules/blockquote.js +0 -24
  860. package/dist/basic-sdk/slate-convert/html-to-slate/rules/check-list.js +0 -27
  861. package/dist/basic-sdk/slate-convert/html-to-slate/rules/code-block.js +0 -90
  862. package/dist/basic-sdk/slate-convert/html-to-slate/rules/header.js +0 -24
  863. package/dist/basic-sdk/slate-convert/html-to-slate/rules/image.js +0 -29
  864. package/dist/basic-sdk/slate-convert/html-to-slate/rules/index.js +0 -18
  865. package/dist/basic-sdk/slate-convert/html-to-slate/rules/link.js +0 -29
  866. package/dist/basic-sdk/slate-convert/html-to-slate/rules/list.js +0 -57
  867. package/dist/basic-sdk/slate-convert/html-to-slate/rules/paragraph.js +0 -34
  868. package/dist/basic-sdk/slate-convert/html-to-slate/rules/table.js +0 -45
  869. package/dist/basic-sdk/slate-convert/html-to-slate/rules/text.js +0 -63
  870. package/dist/basic-sdk/slate-convert/index.js +0 -34
  871. package/dist/basic-sdk/slate-convert/md-to-html/index.js +0 -53
  872. package/dist/basic-sdk/slate-convert/md-to-html/sanitize-schema.js +0 -24
  873. package/dist/basic-sdk/slate-convert/md-to-slate/index.js +0 -44
  874. package/dist/basic-sdk/slate-convert/md-to-slate/transform.js +0 -414
  875. package/dist/basic-sdk/slate-convert/slate-to-md/index.js +0 -43
  876. package/dist/basic-sdk/slate-convert/slate-to-md/transform.js +0 -344
  877. package/dist/basic-sdk/socket/helpers.js +0 -299
  878. package/dist/basic-sdk/socket/index.js +0 -20
  879. package/dist/basic-sdk/socket/socket-client.js +0 -211
  880. package/dist/basic-sdk/socket/socket-manager.js +0 -386
  881. package/dist/basic-sdk/socket/with-socket-io.js +0 -73
  882. package/dist/basic-sdk/utils/Kebab-to-camel.js +0 -10
  883. package/dist/basic-sdk/utils/common-utils.js +0 -65
  884. package/dist/basic-sdk/utils/debounce.js +0 -20
  885. package/dist/basic-sdk/utils/debug.js +0 -20
  886. package/dist/basic-sdk/utils/default-mode.js +0 -28
  887. package/dist/basic-sdk/utils/diff-text.js +0 -297
  888. package/dist/basic-sdk/utils/diff.js +0 -376
  889. package/dist/basic-sdk/utils/document-utils.js +0 -81
  890. package/dist/basic-sdk/utils/dom-utils.js +0 -57
  891. package/dist/basic-sdk/utils/event-bus.js +0 -40
  892. package/dist/basic-sdk/utils/event-handler.js +0 -131
  893. package/dist/basic-sdk/utils/full-width-mode.js +0 -36
  894. package/dist/basic-sdk/utils/is-punctuation-mark.js +0 -50
  895. package/dist/basic-sdk/utils/local-storage-utils.js +0 -52
  896. package/dist/basic-sdk/utils/mouse-event.js +0 -81
  897. package/dist/basic-sdk/utils/object-utils.js +0 -58
  898. package/dist/basic-sdk/utils/rebase.js +0 -332
  899. package/dist/basic-sdk/views/index.js +0 -41
  900. package/dist/basic-sdk/views/published-revision-diff-viewer.js +0 -67
  901. package/dist/basic-sdk/views/readonly-article.js +0 -40
  902. package/dist/basic-sdk/views/revision-diff-viewer.js +0 -65
  903. package/dist/basic-sdk/views/sdoc-diff-viewer.js +0 -42
  904. package/dist/basic-sdk/views/sdoc-viewer.js +0 -69
  905. package/dist/basic-sdk/views/sdoc-wiki-viewer.js +0 -51
  906. package/dist/basic-sdk/wiki-outline/index.js +0 -78
  907. package/dist/basic-sdk/wiki-outline/outline-item.js +0 -32
  908. package/dist/components/doc-info/index.css +0 -102
  909. package/dist/components/doc-info/index.js +0 -123
  910. package/dist/components/doc-operations/collaborators-operation/collaborators-popover.css +0 -74
  911. package/dist/components/doc-operations/collaborators-operation/collaborators-popover.js +0 -49
  912. package/dist/components/doc-operations/collaborators-operation/index.js +0 -90
  913. package/dist/components/doc-operations/index.js +0 -48
  914. package/dist/components/doc-operations/more-operations.js +0 -160
  915. package/dist/components/doc-operations/plugins-operations.js +0 -56
  916. package/dist/components/doc-operations/presentation-operation/index.js +0 -44
  917. package/dist/components/doc-operations/revision-operations/changes-count/index.css +0 -34
  918. package/dist/components/doc-operations/revision-operations/changes-count/index.js +0 -115
  919. package/dist/components/doc-operations/revision-operations/index.js +0 -245
  920. package/dist/components/doc-operations/revision-operations/more-revision-operations/index.css +0 -53
  921. package/dist/components/doc-operations/revision-operations/more-revision-operations/index.js +0 -68
  922. package/dist/components/doc-operations/revision-operations/publish-revision/index.js +0 -31
  923. package/dist/components/doc-operations/revision-operations/revisions/index.css +0 -16
  924. package/dist/components/doc-operations/revision-operations/revisions/index.js +0 -63
  925. package/dist/components/doc-operations/revision-operations/revisions/revisions-dialog/index.css +0 -126
  926. package/dist/components/doc-operations/revision-operations/revisions/revisions-dialog/index.js +0 -234
  927. package/dist/components/doc-operations/revision-operations/revisions/revisions-dialog/revision-operation/index.css +0 -34
  928. package/dist/components/doc-operations/revision-operations/revisions/revisions-dialog/revision-operation/index.js +0 -66
  929. package/dist/components/doc-operations/revision-operations/view-changes/index.css +0 -3
  930. package/dist/components/doc-operations/revision-operations/view-changes/index.js +0 -72
  931. package/dist/components/doc-operations/share-operation/index.js +0 -30
  932. package/dist/components/doc-operations/style.css +0 -93
  933. package/dist/components/draft-dropdown/index.js +0 -76
  934. package/dist/components/draft-dropdown/style.css +0 -43
  935. package/dist/components/error-boundary/error-page.css +0 -16
  936. package/dist/components/error-boundary/error-page.js +0 -36
  937. package/dist/components/error-boundary/index.js +0 -33
  938. package/dist/components/modal-header/index.css +0 -18
  939. package/dist/components/modal-header/index.js +0 -29
  940. package/dist/components/modal-portal/index.js +0 -26
  941. package/dist/components/switch/index.css +0 -14
  942. package/dist/components/switch/index.js +0 -37
  943. package/dist/components/tip-dialog/index.css +0 -48
  944. package/dist/components/tip-dialog/index.js +0 -115
  945. package/dist/components/tip-message/index.js +0 -194
  946. package/dist/components/tip-message/style.css +0 -15
  947. package/dist/hooks/index.js +0 -12
  948. package/dist/hooks/use-document.js +0 -78
  949. package/dist/layout/content.js +0 -23
  950. package/dist/layout/header.js +0 -23
  951. package/dist/layout/layout.css +0 -32
  952. package/dist/layout/layout.js +0 -62
  953. package/dist/model/revision.js +0 -40
  954. package/dist/pages/diff-viewer.js +0 -8
  955. package/dist/pages/published-revision-viewer.js +0 -88
  956. package/dist/pages/sdoc-wiki-editor.js +0 -61
  957. package/dist/pages/simple-editor.js +0 -153
  958. package/dist/pages/simple-viewer.js +0 -88
  959. package/dist/pages/wiki-viewer.js +0 -25
  960. package/dist/plugin-module/assets/css/default.css +0 -25
  961. package/dist/plugin-module/assets/css/dropdown-menu.css +0 -138
  962. package/dist/plugin-module/assets/css/layout.css +0 -160
  963. package/dist/plugin-module/assets/css/sdoc-comment-editor-plugin.css +0 -19
  964. package/dist/plugin-module/assets/css/sdoc-editor-article.css +0 -29
  965. package/dist/plugin-module/assets/css/sdoc-editor-plugins.css +0 -320
  966. package/dist/plugin-module/assets/css/sdoc-viewer.css +0 -14
  967. package/dist/plugin-module/assets/images/black-border.png +0 -0
  968. package/dist/plugin-module/assets/images/grey-border.png +0 -0
  969. package/dist/plugin-module/assets/images/image-placeholder.png +0 -0
  970. package/dist/plugin-module/assets/images/no-border.png +0 -0
  971. package/dist/plugin-module/assets/images/sdoc-ask-ai.png +0 -0
  972. package/dist/plugin-module/assets/images/sdoc-freezed.png +0 -0
  973. package/dist/plugin-module/constants/index.js +0 -40
  974. package/dist/plugin-module/editor/editable-article.js +0 -243
  975. package/dist/plugin-module/editor/plugin-editor.js +0 -210
  976. package/dist/plugin-module/error-boundary/error-page.css +0 -16
  977. package/dist/plugin-module/error-boundary/error-page.js +0 -36
  978. package/dist/plugin-module/error-boundary/index.js +0 -33
  979. package/dist/plugin-module/gloable-ui/insert-element-dialog.js +0 -247
  980. package/dist/plugin-module/index.js +0 -111
  981. package/dist/plugin-module/layout/article-container.js +0 -39
  982. package/dist/plugin-module/layout/editor-container.js +0 -32
  983. package/dist/plugin-module/layout/editor-content.js +0 -79
  984. package/dist/plugin-module/layout/index.js +0 -27
  985. package/dist/plugin-module/plugins/chart/chart-edit-dialog/index.css +0 -33
  986. package/dist/plugin-module/plugins/chart/chart-edit-dialog/index.js +0 -70
  987. package/dist/plugin-module/plugins/chart/helpers.js +0 -69
  988. package/dist/plugin-module/plugins/chart/hover-menu/index.css +0 -55
  989. package/dist/plugin-module/plugins/chart/hover-menu/index.js +0 -57
  990. package/dist/plugin-module/plugins/chart/index.js +0 -19
  991. package/dist/plugin-module/plugins/chart/menu/index.js +0 -31
  992. package/dist/plugin-module/plugins/chart/plugin.js +0 -26
  993. package/dist/plugin-module/plugins/chart/render-elem.css +0 -64
  994. package/dist/plugin-module/plugins/chart/render-elem.js +0 -154
  995. package/dist/plugin-module/plugins/index.js +0 -34
  996. package/dist/plugin-module/plugins/seatable-column/constants/cell-types.js +0 -37
  997. package/dist/plugin-module/plugins/seatable-column/constants/column.js +0 -37
  998. package/dist/plugin-module/plugins/seatable-column/helpers.js +0 -159
  999. package/dist/plugin-module/plugins/seatable-column/index.js +0 -17
  1000. package/dist/plugin-module/plugins/seatable-column/menu/column-list-item.js +0 -36
  1001. package/dist/plugin-module/plugins/seatable-column/menu/column-list-menu.css +0 -50
  1002. package/dist/plugin-module/plugins/seatable-column/menu/column-list-menu.js +0 -71
  1003. package/dist/plugin-module/plugins/seatable-column/menu/index.js +0 -48
  1004. package/dist/plugin-module/plugins/seatable-column/model.js +0 -19
  1005. package/dist/plugin-module/plugins/seatable-column/plugin.js +0 -38
  1006. package/dist/plugin-module/plugins/seatable-column/render-elem.css +0 -36
  1007. package/dist/plugin-module/plugins/seatable-column/render-elem.js +0 -183
  1008. package/dist/plugin-module/plugins/seatable-row/dialog/add-seatable-row-dialog/index.css +0 -417
  1009. package/dist/plugin-module/plugins/seatable-row/dialog/add-seatable-row-dialog/index.js +0 -76
  1010. package/dist/plugin-module/plugins/seatable-row/dialog/add-seatable-row-dialog/record-content.js +0 -209
  1011. package/dist/plugin-module/plugins/seatable-row/dialog/add-seatable-row-dialog/resize-handle/ResizeHandle.js +0 -38
  1012. package/dist/plugin-module/plugins/seatable-row/dialog/add-seatable-row-dialog/resize-handle/index.css +0 -384
  1013. package/dist/plugin-module/plugins/seatable-row/dialog/add-seatable-row-dialog/row-card-header-cell.js +0 -125
  1014. package/dist/plugin-module/plugins/seatable-row/dialog/add-seatable-row-dialog/row-card-header.js +0 -144
  1015. package/dist/plugin-module/plugins/seatable-row/dialog/add-seatable-row-dialog/row-card-item.js +0 -161
  1016. package/dist/plugin-module/plugins/seatable-row/dialog/add-seatable-row-dialog/seatable-table-record.js +0 -47
  1017. package/dist/plugin-module/plugins/seatable-row/helpers.js +0 -99
  1018. package/dist/plugin-module/plugins/seatable-row/index.js +0 -17
  1019. package/dist/plugin-module/plugins/seatable-row/menu/index.css +0 -3
  1020. package/dist/plugin-module/plugins/seatable-row/menu/index.js +0 -46
  1021. package/dist/plugin-module/plugins/seatable-row/menu/seatable-list.js +0 -92
  1022. package/dist/plugin-module/plugins/seatable-row/model.js +0 -19
  1023. package/dist/plugin-module/plugins/seatable-row/plugin.js +0 -61
  1024. package/dist/plugin-module/plugins/seatable-row/render-elem/index.css +0 -133
  1025. package/dist/plugin-module/plugins/seatable-row/render-elem/index.js +0 -174
  1026. package/dist/plugin-module/plugins/seatable-row/render-elem/record-header.js +0 -78
  1027. package/dist/plugin-module/plugins/seatable-row/render-elem/record-item.js +0 -41
  1028. package/dist/plugin-module/plugins/seatable-tables/draggable/index.css +0 -7
  1029. package/dist/plugin-module/plugins/seatable-tables/draggable/index.js +0 -78
  1030. package/dist/plugin-module/plugins/seatable-tables/formatter/collaborator-wrapper.js +0 -107
  1031. package/dist/plugin-module/plugins/seatable-tables/formatter/index.js +0 -290
  1032. package/dist/plugin-module/plugins/seatable-tables/formatter/link-formatter/index.css +0 -41
  1033. package/dist/plugin-module/plugins/seatable-tables/formatter/link-formatter/index.js +0 -282
  1034. package/dist/plugin-module/plugins/seatable-tables/formatter/link-formatter/utils.js +0 -86
  1035. package/dist/plugin-module/plugins/seatable-tables/helpers.js +0 -89
  1036. package/dist/plugin-module/plugins/seatable-tables/index.js +0 -21
  1037. package/dist/plugin-module/plugins/seatable-tables/menu/index.css +0 -5
  1038. package/dist/plugin-module/plugins/seatable-tables/menu/index.js +0 -57
  1039. package/dist/plugin-module/plugins/seatable-tables/menu/seatable-list.js +0 -77
  1040. package/dist/plugin-module/plugins/seatable-tables/model.js +0 -24
  1041. package/dist/plugin-module/plugins/seatable-tables/op-menu/index.css +0 -211
  1042. package/dist/plugin-module/plugins/seatable-tables/op-menu/index.js +0 -386
  1043. package/dist/plugin-module/plugins/seatable-tables/plugin.js +0 -78
  1044. package/dist/plugin-module/plugins/seatable-tables/render-element/index.css +0 -126
  1045. package/dist/plugin-module/plugins/seatable-tables/render-element/index.js +0 -15
  1046. package/dist/plugin-module/plugins/seatable-tables/render-element/record-header.js +0 -85
  1047. package/dist/plugin-module/plugins/seatable-tables/render-element/record-item.js +0 -47
  1048. package/dist/plugin-module/plugins/seatable-tables/render-element/record-list.js +0 -30
  1049. package/dist/plugin-module/plugins/seatable-tables/render-element/seatable-table.js +0 -343
  1050. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/common-add-tool/index.css +0 -18
  1051. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/common-add-tool/index.js +0 -31
  1052. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/custom-switch/index.css +0 -28
  1053. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/custom-switch/index.js +0 -25
  1054. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/dtable-search-input/index.js +0 -134
  1055. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/filter-setter/filter-popover-widgets/calendar-filter/date-translate.js +0 -61
  1056. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/filter-setter/filter-popover-widgets/calendar-filter/dayjs.js +0 -11
  1057. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/filter-setter/filter-popover-widgets/calendar-filter/index.js +0 -183
  1058. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/filter-setter/filter-popover-widgets/collaborator-filter/index.js +0 -115
  1059. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/filter-setter/filter-popover-widgets/department-filter/_department-select.css +0 -209
  1060. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/filter-setter/filter-popover-widgets/department-filter/_department-utils.js +0 -47
  1061. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/filter-setter/filter-popover-widgets/department-filter/department-multiple-select-filter.js +0 -97
  1062. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/filter-setter/filter-popover-widgets/department-filter/department-multiple-select.js +0 -156
  1063. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/filter-setter/filter-popover-widgets/department-filter/department-single-select-filter.js +0 -98
  1064. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/filter-setter/filter-popover-widgets/department-filter/department-single-select.js +0 -283
  1065. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/filter-setter/filter-popover-widgets/department-filter/index.js +0 -20
  1066. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/filter-setter/filter-popover-widgets/department-filter/selected-departments.js +0 -88
  1067. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/filter-setter/filter-popover-widgets/department-filter/use-click-outside.js +0 -28
  1068. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/filter-setter/filter-popover-widgets/filter-item-utils.js +0 -151
  1069. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/filter-setter/filter-popover-widgets/filter-item.js +0 -704
  1070. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/filter-setter/filter-popover-widgets/filters-list.css +0 -330
  1071. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/filter-setter/filter-popover-widgets/filters-list.js +0 -130
  1072. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/filter-setter/filter-popover-widgets/number-editor/index.js +0 -169
  1073. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/filter-setter/filter-popover-widgets/rate-item/index.js +0 -80
  1074. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/filter-setter/filter-popover.css +0 -30
  1075. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/filter-setter/filter-popover.js +0 -197
  1076. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/filter-setter/filters-utils.js +0 -476
  1077. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/filter-setter/index.css +0 -0
  1078. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/filter-setter/index.js +0 -63
  1079. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/hide-column-setter/hide-column-item.js +0 -61
  1080. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/hide-column-setter/hide-column-popover.js +0 -201
  1081. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/hide-column-setter/index.css +0 -106
  1082. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/hide-column-setter/index.js +0 -50
  1083. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/index.css +0 -70
  1084. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/index.js +0 -154
  1085. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/sort-setter/index.css +0 -83
  1086. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/sort-setter/index.js +0 -48
  1087. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/sort-setter/sort-popover.js +0 -281
  1088. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/sort-setter/sort-utils.js +0 -80
  1089. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/table-setting/index.js +0 -47
  1090. package/dist/plugin-module/plugins/seatable-tables/seatable-settings/utils/utils.js +0 -44
  1091. package/dist/plugin-module/render/render-elements.js +0 -58
  1092. package/dist/plugin-module/toolbar/header-toolbar/index.js +0 -81
  1093. package/dist/plugin-module/toolbar/header-toolbar/insert-toolbar/index.css +0 -28
  1094. package/dist/plugin-module/toolbar/header-toolbar/insert-toolbar/index.js +0 -104
  1095. package/dist/plugin-module/views/plugin-viewer.js +0 -54
  1096. package/dist/plugin-module/views/readonly-article.js +0 -41
  1097. package/dist/utils/date-utils.js +0 -78
  1098. package/dist/utils/index.js +0 -52
  1099. package/public/favicon.ico +0 -0
  1100. package/public/index.html +0 -44
  1101. package/public/locales/cs/sdoc-editor.json +0 -626
  1102. package/public/locales/de/sdoc-editor.json +0 -626
  1103. package/public/locales/en/sdoc-editor.json +0 -638
  1104. package/public/locales/es/sdoc-editor.json +0 -626
  1105. package/public/locales/es_AR/sdoc-editor.json +0 -626
  1106. package/public/locales/es_MX/sdoc-editor.json +0 -626
  1107. package/public/locales/fr/sdoc-editor.json +0 -626
  1108. package/public/locales/it/sdoc-editor.json +0 -627
  1109. package/public/locales/ru/sdoc-editor.json +0 -626
  1110. package/public/locales/zh_CN/sdoc-editor.json +0 -639
  1111. package/public/manifest.json +0 -15
  1112. package/public/media/dtable-font.css +0 -1568
  1113. package/public/media/dtable-fonts/dtable-font.eot +0 -0
  1114. package/public/media/dtable-fonts/dtable-font.svg +0 -793
  1115. package/public/media/dtable-fonts/dtable-font.ttf +0 -0
  1116. package/public/media/dtable-fonts/dtable-font.woff +0 -0
  1117. package/public/media/dtable-fonts/dtable-font.woff2 +0 -0
  1118. package/public/media/scripts/mathjax/tex-svg.js +0 -1
  1119. package/public/media/sdoc-editor-font/iconfont.css +0 -558
  1120. package/public/media/sdoc-editor-font/iconfont.eot +0 -0
  1121. package/public/media/sdoc-editor-font/iconfont.svg +0 -289
  1122. package/public/media/sdoc-editor-font/iconfont.ttf +0 -0
  1123. package/public/media/sdoc-editor-font/iconfont.woff +0 -0
  1124. package/public/media/sdoc-editor-font/iconfont.woff2 +0 -0
  1125. package/public/media/sdoc-editor-font.css +0 -558
  1126. package/public/media/seafile-logo.png +0 -0
  1127. package/public/media/seafile-ui.css +0 -8
  1128. /package/dist/{basic-sdk/assets → assets}/css/default.css +0 -0
  1129. /package/dist/{basic-sdk/assets → assets}/css/diff-viewer.css +0 -0
  1130. /package/dist/{basic-sdk/assets → assets}/css/dropdown-menu.css +0 -0
  1131. /package/dist/{basic-sdk/assets → assets}/css/layout.css +0 -0
  1132. /package/dist/{basic-sdk/assets → assets}/css/sdoc-comment-editor-plugin.css +0 -0
  1133. /package/dist/{basic-sdk/assets → assets}/css/sdoc-editor-article.css +0 -0
  1134. /package/dist/{basic-sdk/assets → assets}/css/sdoc-editor-plugins.css +0 -0
  1135. /package/dist/{basic-sdk/assets → assets}/css/sdoc-viewer.css +0 -0
  1136. /package/dist/{basic-sdk/assets → assets}/css/sdoc-wiki-viewer.css +0 -0
  1137. /package/dist/{basic-sdk/assets → assets}/images/black-border.png +0 -0
  1138. /package/dist/{basic-sdk/assets → assets}/images/grey-border.png +0 -0
  1139. /package/dist/{basic-sdk/assets → assets}/images/image-placeholder.png +0 -0
  1140. /package/dist/{basic-sdk/assets → assets}/images/no-border.png +0 -0
  1141. /package/dist/{basic-sdk/assets → assets}/images/sdoc-ask-ai.png +0 -0
  1142. /package/dist/{basic-sdk/comment → comment}/components/comment-all-participants/index.css +0 -0
  1143. /package/dist/{basic-sdk/comment → comment}/components/comment-context-menu/index.css +0 -0
  1144. /package/dist/{basic-sdk/comment → comment}/components/comment-list.css +0 -0
  1145. /package/dist/{basic-sdk/comment → comment}/components/comment-operation/index.css +0 -0
  1146. /package/dist/{basic-sdk/comment → comment}/components/comment-participants-editor/index.css +0 -0
  1147. /package/dist/{basic-sdk/comment → comment}/components/elements-comment-count/index.css +0 -0
  1148. /package/dist/{basic-sdk/comment → comment}/components/global-comment/index.css +0 -0
  1149. /package/dist/{basic-sdk/comment → comment}/components/style.css +0 -0
  1150. /package/dist/{basic-sdk/components → components}/file-loading/index.css +0 -0
  1151. /package/dist/{basic-sdk/components → components}/loading/style.css +0 -0
  1152. /package/dist/{basic-sdk/components → components}/toast/index.css +0 -0
  1153. /package/dist/{basic-sdk/components → components}/tooltip/index.css +0 -0
  1154. /package/dist/{basic-sdk/extension → extension}/commons/color-menu/index.css +0 -0
  1155. /package/dist/{basic-sdk/extension → extension}/commons/dropdown-menu-item/index.css +0 -0
  1156. /package/dist/{basic-sdk/extension → extension}/commons/file-insert-dialog/style.css +0 -0
  1157. /package/dist/{basic-sdk/extension → extension}/commons/menu/menu.css +0 -0
  1158. /package/dist/{basic-sdk/extension → extension}/commons/menu-shortcut-indicator/style.css +0 -0
  1159. /package/dist/{basic-sdk/extension → extension}/commons/search-list/index.css +0 -0
  1160. /package/dist/{basic-sdk/extension → extension}/commons/select/menu/style.css +0 -0
  1161. /package/dist/{basic-sdk/extension → extension}/commons/select/style.css +0 -0
  1162. /package/dist/{basic-sdk/extension → extension}/commons/select-file-dialog/index.css +0 -0
  1163. /package/dist/{basic-sdk/extension → extension}/commons/select-file-dialog/local-files/index.css +0 -0
  1164. /package/dist/{basic-sdk/extension → extension}/commons/wiki-file-insert-dialog/style.css +0 -0
  1165. /package/dist/{basic-sdk/extension → extension}/plugins/ai/ai-icon/style.css +0 -0
  1166. /package/dist/{basic-sdk/extension → extension}/plugins/ai/ai-menu/style.css +0 -0
  1167. /package/dist/{basic-sdk/extension → extension}/plugins/ai/ai-module/style.css +0 -0
  1168. /package/dist/{basic-sdk/extension → extension}/plugins/ai/index.js +0 -0
  1169. /package/dist/{basic-sdk/extension → extension}/plugins/callout/menu/index.css +0 -0
  1170. /package/dist/{basic-sdk/extension → extension}/plugins/callout/render-elem/callout-color-selector/style.css +0 -0
  1171. /package/dist/{basic-sdk/extension → extension}/plugins/callout/render-elem/callout-hover-menu/style.css +0 -0
  1172. /package/dist/{basic-sdk/extension → extension}/plugins/callout/render-elem/callout-icon/style.css +0 -0
  1173. /package/dist/{basic-sdk/extension → extension}/plugins/callout/render-elem/index.css +0 -0
  1174. /package/dist/{basic-sdk/extension → extension}/plugins/code-block/hover-menu/index.css +0 -0
  1175. /package/dist/{basic-sdk/extension → extension}/plugins/file-link/hover-menu/index.css +0 -0
  1176. /package/dist/{basic-sdk/extension → extension}/plugins/file-link/render-elem.css +0 -0
  1177. /package/dist/{basic-sdk/extension → extension}/plugins/font/menu/font-family/index.css +0 -0
  1178. /package/dist/{basic-sdk/extension → extension}/plugins/font/menu/font-size/index.css +0 -0
  1179. /package/dist/{basic-sdk/extension → extension}/plugins/header/menu/style.css +0 -0
  1180. /package/dist/{basic-sdk/extension → extension}/plugins/image/hover-menu/index.css +0 -0
  1181. /package/dist/{basic-sdk/extension → extension}/plugins/image/image-loader/index.css +0 -0
  1182. /package/dist/{basic-sdk/extension → extension}/plugins/link/hover/index.css +0 -0
  1183. /package/dist/{basic-sdk/extension → extension}/plugins/mention/render-elem/index.css +0 -0
  1184. /package/dist/{basic-sdk/extension → extension}/plugins/multi-column/render/index.css +0 -0
  1185. /package/dist/{basic-sdk/extension → extension}/plugins/sdoc-link/hover-menu/index.css +0 -0
  1186. /package/dist/{basic-sdk/extension → extension}/plugins/sdoc-link/render/render-elem.css +0 -0
  1187. /package/dist/{basic-sdk/extension → extension}/plugins/search-replace/menu/index.css +0 -0
  1188. /package/dist/{basic-sdk/extension → extension}/plugins/search-replace/popover/index.css +0 -0
  1189. /package/dist/{basic-sdk/extension → extension}/plugins/table/dialogs/custom-table-size-dialog/index.css +0 -0
  1190. /package/dist/{basic-sdk/extension → extension}/plugins/table/menu/color-selector-popover/style.css +0 -0
  1191. /package/dist/{basic-sdk/extension → extension}/plugins/table/menu/table-context-menu/index.css +0 -0
  1192. /package/dist/{basic-sdk/extension → extension}/plugins/table/menu/vertical-align-popover/style.css +0 -0
  1193. /package/dist/{basic-sdk/extension → extension}/plugins/table/popover/table-size-popover/index.css +0 -0
  1194. /package/dist/{basic-sdk/extension → extension}/plugins/table/popover/table-template/index.css +0 -0
  1195. /package/dist/{basic-sdk/extension → extension}/plugins/table/render/alternate-color.css +0 -0
  1196. /package/dist/{basic-sdk/extension → extension}/plugins/table/render/index.css +0 -0
  1197. /package/dist/{basic-sdk/extension → extension}/plugins/table/render/table-header/index.css +0 -0
  1198. /package/dist/{basic-sdk/extension → extension}/plugins/text-align/menu/index.css +0 -0
  1199. /package/dist/{basic-sdk/extension → extension}/plugins/video/index.css +0 -0
  1200. /package/dist/{basic-sdk/extension → extension}/render/element-decorate/rebase-decorate/index.css +0 -0
  1201. /package/dist/{basic-sdk/extension → extension}/toolbar/comment-editor-toolbar/post-comment/style.css +0 -0
  1202. /package/dist/{basic-sdk/extension → extension}/toolbar/context-toolbar/index.css +0 -0
  1203. /package/dist/{basic-sdk/extension → extension}/toolbar/header-toolbar/insert-toolbar/index.css +0 -0
  1204. /package/dist/{basic-sdk/extension → extension}/toolbar/insert-element-toolbar/style.css +0 -0
  1205. /package/dist/{basic-sdk/extension → extension}/toolbar/side-toolbar/index.css +0 -0
  1206. /package/dist/{basic-sdk/extension → extension}/toolbar/side-toolbar/side-menu.css +0 -0
  1207. /package/dist/{basic-sdk/outline → outline}/style.css +0 -0
  1208. /package/dist/{basic-sdk/right-panel → right-panel}/index.css +0 -0
  1209. /package/dist/{basic-sdk/right-panel → right-panel}/resize-width/index.css +0 -0
  1210. /package/dist/{basic-sdk/wiki-outline → wiki-outline}/style.css +0 -0
@@ -0,0 +1,2002 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.updateTableRowHeight = exports.updateColumnWidth = exports.syncRemoveTable = exports.splitCell = exports.setTableSelectedRange = exports.setTableFragmentData = exports.setCellStyle = exports.removeTableElement = exports.removeTable = exports.normalizeTableELement = exports.moveRows = exports.moveColumns = exports.isTableWidthFitScreen = exports.isTableMenuDisabled = exports.isTableLocation = exports.isSelectedAllCell = exports.isPreventResetTableSelectedRange = exports.isLastTableCell = exports.isInTableSameCell = exports.isInTable = exports.isHideDragHandlerLine = exports.isCursorAtCellStart = exports.isCursorAtCellEnd = exports.isCombineCellsDisabled = exports.isAllInTable = exports.insertTableRow = exports.insertTableElement = exports.insertTableColumn = exports.insertTableByTemplate = exports.insertTable = exports.insertMultipleRowsAndColumns = exports.handleInsertTable = exports.handleCombinedCellsBeforeDeleteTableRow = exports.handleCombinedCellsBeforeDeleteTableColumn = exports.handleCombinedCellsAfterInsertTableRow = exports.handleCombinedCellsAfterInsertTableColumn = exports.getTableSelectedRangeAfterDrag = exports.getTableRowSelectedRange = exports.getTableDragType = exports.getTableColumnsWidth = exports.getTableColumnsAfterInsertColumn = exports.getTableColumns = exports.getTableColumnSelectedRange = exports.getSelectedInfo = exports.getRowHeight = exports.getRowDomHeight = exports.getResizeMaskCellInfo = exports.getInsertPosition = exports.getHighlightClass = exports.getFirstTableCell = exports.getCellInheritStyles = exports.getCellHighlightClassName = exports.getCellColumn = exports.generateTableRow = exports.generateTableCell = exports.generateInheritStyle = exports.generateEmptyTable = exports.generateDragMoveElement = exports.focusClosestCellWhenJustifyCellSize = exports.focusCell = exports.fitTableColumnToScreen = exports.elementHasImage = exports.deleteTableSelectCells = exports.deleteTableRangeData = exports.deleteHandler = exports.combineCells = exports.colorBlend = exports.adjustCombinedCellRange = void 0;
8
+ var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createForOfIteratorHelper"));
9
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
10
+ var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
11
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
13
+ var _slate = require("@seafile/slate");
14
+ var _slateReact = require("@seafile/slate-react");
15
+ var _deepCopy = _interopRequireDefault(require("deep-copy"));
16
+ var _slugid = _interopRequireDefault(require("slugid"));
17
+ var _constants = require("../../../constants");
18
+ var _helpers = require("../../../node-id/helpers");
19
+ var _eventBus = _interopRequireDefault(require("../../../utils/event-bus"));
20
+ var _objectUtils = _interopRequireDefault(require("../../../utils/object-utils"));
21
+ var _constants2 = require("../../constants");
22
+ var _core = require("../../core");
23
+ var _constants3 = require("./constants");
24
+ var isTableMenuDisabled = exports.isTableMenuDisabled = function isTableMenuDisabled(editor, readonly) {
25
+ if (readonly) return true;
26
+ var selection = editor.selection;
27
+ if (selection === null) return true;
28
+ if (!_slate.Range.isCollapsed(selection)) return true;
29
+ var _Editor$nodes = _slate.Editor.nodes(editor, {
30
+ match: function match(n) {
31
+ var type = (0, _core.getNodeType)(n);
32
+ if (!type && (0, _core.isTextNode)(n) && n.id) {
33
+ var parentNode = (0, _core.getParentNode)(editor.children, n.id);
34
+ type = (0, _core.getNodeType)(parentNode);
35
+ }
36
+ if (type.startsWith('header')) return true;
37
+ if (type === _constants2.ELEMENT_TYPE.TITLE) return true;
38
+ if (type === _constants2.ELEMENT_TYPE.SUBTITLE) return true;
39
+ if (type === _constants2.ELEMENT_TYPE.CODE_BLOCK) return true;
40
+ if (type === _constants2.ELEMENT_TYPE.ORDERED_LIST) return true;
41
+ if (type === _constants2.ELEMENT_TYPE.UNORDERED_LIST) return true;
42
+ if (type === _constants2.ELEMENT_TYPE.BLOCKQUOTE) return true;
43
+ if (type === _constants2.ELEMENT_TYPE.LIST_ITEM) return true;
44
+ if (type === _constants2.ELEMENT_TYPE.TABLE) return true;
45
+ if (type === _constants2.ELEMENT_TYPE.TABLE_CELL) return true;
46
+ if (type === _constants2.ELEMENT_TYPE.TABLE_ROW) return true;
47
+ if (type === _constants2.ELEMENT_TYPE.CALL_OUT) return true;
48
+ if (type === _constants2.ELEMENT_TYPE.MULTI_COLUMN) return true;
49
+ if (_slate.Editor.isVoid(editor, n)) return true;
50
+ return false;
51
+ },
52
+ universal: true
53
+ }),
54
+ _Editor$nodes2 = (0, _slicedToArray2["default"])(_Editor$nodes, 1),
55
+ match = _Editor$nodes2[0];
56
+ if (match) return true;
57
+ return false;
58
+ };
59
+ var isCombineCellsDisabled = exports.isCombineCellsDisabled = function isCombineCellsDisabled(editor, readonly) {
60
+ if (readonly) return true;
61
+ var selection = editor.selection,
62
+ tableSelectedRange = editor.tableSelectedRange;
63
+ if (!selection) return true;
64
+ if (!_objectUtils["default"].isSameObject(tableSelectedRange, _constants3.EMPTY_SELECTED_RANGE)) {
65
+ return false;
66
+ }
67
+ return true;
68
+ };
69
+ var generateTableCell = exports.generateTableCell = function generateTableCell(editor, rowIndex, cellIndex) {
70
+ var style = {};
71
+ var tableNodeEntry = (0, _core.getSelectedNodeEntryByType)(editor, _constants2.ELEMENT_TYPE.TABLE);
72
+ if (tableNodeEntry && rowIndex !== undefined && cellIndex !== undefined) {
73
+ var _tableNodeEntry = (0, _slicedToArray2["default"])(tableNodeEntry, 2),
74
+ tablePath = _tableNodeEntry[1];
75
+ style = getCellInheritStyles(editor, tablePath, rowIndex, cellIndex);
76
+ }
77
+ return {
78
+ id: _slugid["default"].nice(),
79
+ type: _constants2.ELEMENT_TYPE.TABLE_CELL,
80
+ children: [{
81
+ text: '',
82
+ id: _slugid["default"].nice()
83
+ }],
84
+ style: style,
85
+ inherit_style: style
86
+ };
87
+ };
88
+ var generateTableRow = exports.generateTableRow = function generateTableRow(editor, colsCount, rowIndex) {
89
+ var children = [];
90
+ for (var i = 0; i < colsCount; i++) {
91
+ var tableCell = generateTableCell(editor, rowIndex, i);
92
+ children.push(tableCell);
93
+ }
94
+ return {
95
+ id: _slugid["default"].nice(),
96
+ type: _constants2.ELEMENT_TYPE.TABLE_ROW,
97
+ children: children,
98
+ style: (0, _defineProperty2["default"])({}, _constants3.TABLE_ROW_STYLE.MIN_HEIGHT, _constants3.TABLE_ROW_MIN_HEIGHT)
99
+ };
100
+ };
101
+
102
+ /**
103
+ * @param {Editor} editor
104
+ * @param {Object} tableProps
105
+ * @param {[number,number]} tableProps.size - table size, [row,column]
106
+ * @param {Boolean} tableProps.alternate_highlight - is alternate highlight
107
+ * @param {string} tableProps.alternate_highlight_color - table alternate highlight color
108
+ */
109
+ var generateEmptyTable = exports.generateEmptyTable = function generateEmptyTable(editor, tableProps) {
110
+ var _tableProps$size = tableProps.size,
111
+ size = _tableProps$size === void 0 ? [0, 0] : _tableProps$size,
112
+ _tableProps$alternate = tableProps.alternate_highlight,
113
+ alternate_highlight = _tableProps$alternate === void 0 ? false : _tableProps$alternate,
114
+ alternate_highlight_color = tableProps.alternate_highlight_color;
115
+ var rowsCount = size[0];
116
+ var colsCount = size[1];
117
+ var children = [];
118
+ for (var i = 0; i < rowsCount; i++) {
119
+ var tableRow = generateTableRow(editor, colsCount, i);
120
+ children.push(tableRow);
121
+ }
122
+ var columnWidth = Math.max(_constants3.TABLE_CELL_MIN_WIDTH, parseInt(editor.width / colsCount));
123
+ var columns = [];
124
+ for (var _i = 0; _i < colsCount; _i++) {
125
+ columns.push({
126
+ width: columnWidth
127
+ });
128
+ }
129
+ return {
130
+ id: _slugid["default"].nice(),
131
+ type: _constants2.ELEMENT_TYPE.TABLE,
132
+ children: children,
133
+ columns: columns,
134
+ ui: {
135
+ alternate_highlight: alternate_highlight,
136
+ alternate_highlight_color: alternate_highlight_color
137
+ },
138
+ style: {
139
+ gridTemplateColumns: "repeat(".concat(colsCount, ", ").concat(columnWidth, "px)"),
140
+ gridAutoRows: "minmax(".concat(_constants3.TABLE_ROW_MIN_HEIGHT, "px, auto)")
141
+ }
142
+ };
143
+ };
144
+ var insertTable = exports.insertTable = function insertTable(editor, size, selection) {
145
+ var position = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : _constants2.INSERT_POSITION.CURRENT;
146
+ if (!size) return;
147
+ if (position !== _constants2.INSERT_POSITION.AFTER) {
148
+ if (isTableMenuDisabled(editor)) return;
149
+ }
150
+ var tableNode = generateEmptyTable(editor, {
151
+ size: size
152
+ });
153
+ var validSelection = selection || editor.selection;
154
+ var path = _slate.Editor.path(editor, validSelection);
155
+ handleInsertTable(editor, position, path, tableNode);
156
+ };
157
+
158
+ // tableSize [tableHeight, tableWidth]
159
+ var getSelectedInfo = exports.getSelectedInfo = function getSelectedInfo(editor) {
160
+ var currentTable = (0, _core.getSelectedNodeByType)(editor, _constants2.ELEMENT_TYPE.TABLE);
161
+ var currentRow = (0, _core.getSelectedNodeByType)(editor, _constants2.ELEMENT_TYPE.TABLE_ROW);
162
+ var currentCell = (0, _core.getSelectedNodeByType)(editor, _constants2.ELEMENT_TYPE.TABLE_CELL);
163
+ var currentCellPath = (0, _core.findPath)(editor, currentCell);
164
+ return {
165
+ table: currentTable,
166
+ tablePath: (0, _core.findPath)(editor, currentTable),
167
+ tableSize: [currentTable.children.length, currentRow.children.length],
168
+ row: currentRow,
169
+ rowPath: (0, _core.findPath)(editor, currentRow),
170
+ rowIndex: currentCellPath[currentCellPath.length - 2],
171
+ cell: currentCell,
172
+ cellPath: (0, _core.findPath)(editor, currentCell),
173
+ cellIndex: currentCellPath[currentCellPath.length - 1]
174
+ };
175
+ };
176
+ var isInTable = exports.isInTable = function isInTable(editor) {
177
+ var selectedNodes = (0, _core.getSelectedElems)(editor);
178
+ if (!selectedNodes.some(function (node) {
179
+ return node.type === _constants2.ELEMENT_TYPE.TABLE;
180
+ })) return false;
181
+ var firstSelectedNode = selectedNodes[0];
182
+ return firstSelectedNode.type === _constants2.ELEMENT_TYPE.TABLE;
183
+ };
184
+ var isAllInTable = exports.isAllInTable = function isAllInTable(editor) {
185
+ var selectedNodes = (0, _core.getSelectedElems)(editor);
186
+ if (!selectedNodes.some(function (node) {
187
+ return node.type === _constants2.ELEMENT_TYPE.TABLE;
188
+ })) return false;
189
+ var firstSelectedNode = selectedNodes[0];
190
+ if (firstSelectedNode.type !== _constants2.ELEMENT_TYPE.TABLE) return false;
191
+ return selectedNodes.slice(1).every(function (node) {
192
+ return [_constants2.ELEMENT_TYPE.TABLE_ROW, _constants2.ELEMENT_TYPE.TABLE_CELL].includes(node.type);
193
+ }); // same table element
194
+ };
195
+ var isInTableSameCell = exports.isInTableSameCell = function isInTableSameCell(editor) {
196
+ var _editor$selection = editor.selection,
197
+ anchor = _editor$selection.anchor,
198
+ focus = _editor$selection.focus;
199
+ var match = function match(n) {
200
+ return n.type === _constants2.ELEMENT_TYPE.TABLE_CELL;
201
+ };
202
+ var anchorNode = (0, _core.getAboveBlockNode)(editor, {
203
+ at: anchor,
204
+ match: match
205
+ });
206
+ var focusNode = (0, _core.getAboveBlockNode)(editor, {
207
+ at: focus,
208
+ match: match
209
+ });
210
+ if (!anchorNode || !focusNode) return false;
211
+ return _slate.Path.equals(anchorNode[1], focusNode[1]);
212
+ };
213
+ var setCellStyle = exports.setCellStyle = function setCellStyle(editor, style) {
214
+ // Select single cell
215
+ if (_objectUtils["default"].isSameObject(editor.tableSelectedRange, _constants3.EMPTY_SELECTED_RANGE)) {
216
+ var selectedNodes = (0, _core.getSelectedElems)(editor);
217
+ var firstTableCellNodePath;
218
+ selectedNodes.forEach(function (node) {
219
+ if (node.type === _constants2.ELEMENT_TYPE.TABLE_CELL) {
220
+ var path = (0, _core.findPath)(editor, node);
221
+ if (path) {
222
+ firstTableCellNodePath = firstTableCellNodePath ? firstTableCellNodePath : path;
223
+ _slate.Transforms.setNodes(editor, {
224
+ style: (0, _objectSpread3["default"])((0, _objectSpread3["default"])({}, node.style), style),
225
+ inherit_style: generateInheritStyle(_constants3.INHERIT_CELL_STYLE_WHEN_SELECT_SINGLE, style, node)
226
+ }, {
227
+ at: path
228
+ });
229
+ }
230
+ }
231
+ });
232
+ if (firstTableCellNodePath) {
233
+ var start = _slate.Editor.start(editor, firstTableCellNodePath);
234
+ var end = _slate.Editor.end(editor, firstTableCellNodePath);
235
+ var newSelection = {
236
+ anchor: start,
237
+ focus: end
238
+ };
239
+ _slate.Transforms.select(editor, newSelection);
240
+ }
241
+ return;
242
+ }
243
+ // Select multiple cells
244
+ var _editor$tableSelected = editor.tableSelectedRange,
245
+ minColIndex = _editor$tableSelected.minColIndex,
246
+ maxColIndex = _editor$tableSelected.maxColIndex,
247
+ minRowIndex = _editor$tableSelected.minRowIndex,
248
+ maxRowIndex = _editor$tableSelected.maxRowIndex;
249
+ var _getSelectedInfo = getSelectedInfo(editor),
250
+ tablePath = _getSelectedInfo.tablePath;
251
+ for (var i = minRowIndex; i <= maxRowIndex; i++) {
252
+ for (var j = minColIndex; j <= maxColIndex; j++) {
253
+ var path = [].concat((0, _toConsumableArray2["default"])(tablePath), [i, j]);
254
+ var node = (0, _core.getNode)(editor, path);
255
+ _slate.Transforms.setNodes(editor, {
256
+ style: (0, _objectSpread3["default"])((0, _objectSpread3["default"])({}, node.style), style),
257
+ inherit_style: generateInheritStyle(_constants3.INHERIT_CELL_STYLE_WHEN_SELECT_MULTIPLE, style, node)
258
+ }, {
259
+ at: path
260
+ });
261
+ }
262
+ }
263
+ };
264
+ var insertTableRow = exports.insertTableRow = function insertTableRow(editor, table, rowIndex) {
265
+ var position = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : _constants3.TABLE_ELEMENT_POSITION.AFTER;
266
+ var tableRowCount = table.children.length;
267
+ if (tableRowCount >= _constants3.TABLE_MAX_ROWS) return;
268
+ var tableColumnCount = table.children[0].children.length;
269
+ var row = generateTableRow(editor, tableColumnCount, rowIndex);
270
+ var tablePath = (0, _core.findPath)(editor, table);
271
+ var targetPath = position === _constants3.TABLE_ELEMENT_POSITION.AFTER ? [].concat((0, _toConsumableArray2["default"])(tablePath), [rowIndex + 1]) : [].concat((0, _toConsumableArray2["default"])(tablePath), [rowIndex]);
272
+ _slate.Transforms.insertNodes(editor, row, {
273
+ at: targetPath
274
+ });
275
+ var focusPath = [].concat((0, _toConsumableArray2["default"])(targetPath), [0]);
276
+ (0, _core.focusEditor)(editor, focusPath);
277
+
278
+ // handle cells with the rowspan > 1
279
+ if (position === _constants3.TABLE_ELEMENT_POSITION.AFTER) {
280
+ handleCombinedCellsAfterInsertTableRow(editor, tablePath, table, rowIndex);
281
+ }
282
+ };
283
+ var handleCombinedCellsAfterInsertTableRow = exports.handleCombinedCellsAfterInsertTableRow = function handleCombinedCellsAfterInsertTableRow(editor, tablePath, table, rowIndex) {
284
+ // important background info: the new row is inserted after rowIndex
285
+ var cells = table.children[rowIndex].children;
286
+ for (var i = 0, len = cells.length; i < len; i++) {
287
+ var _cells$i = cells[i],
288
+ is_combined = _cells$i.is_combined,
289
+ rowspan = _cells$i.rowspan,
290
+ colspan = _cells$i.colspan;
291
+ if (is_combined) {
292
+ for (var ri = rowIndex - 1; ri >= 0; ri--) {
293
+ var _table$children$ri$ch = table.children[ri].children[i],
294
+ ri_is_combined = _table$children$ri$ch.is_combined,
295
+ ri_rowspan = _table$children$ri$ch.rowspan,
296
+ ri_colspan = _table$children$ri$ch.colspan;
297
+ if (!ri_is_combined && ri + ri_rowspan - 1 > rowIndex) {
298
+ _slate.Transforms.setNodes(editor, {
299
+ rowspan: ri_rowspan + 1
300
+ }, {
301
+ at: [].concat((0, _toConsumableArray2["default"])(tablePath), [ri, i])
302
+ });
303
+ for (var j = 0; j < ri_colspan; j++) {
304
+ _slate.Transforms.setNodes(editor, {
305
+ 'is_combined': true
306
+ }, {
307
+ at: [].concat((0, _toConsumableArray2["default"])(tablePath), [rowIndex + 1, i + j])
308
+ });
309
+ }
310
+ break;
311
+ }
312
+ }
313
+ } else {
314
+ if (rowspan > 1) {
315
+ _slate.Transforms.setNodes(editor, {
316
+ rowspan: rowspan + 1
317
+ }, {
318
+ at: [].concat((0, _toConsumableArray2["default"])(tablePath), [rowIndex, i])
319
+ });
320
+ for (var _j = 0; _j < colspan; _j++) {
321
+ _slate.Transforms.setNodes(editor, {
322
+ 'is_combined': true
323
+ }, {
324
+ at: [].concat((0, _toConsumableArray2["default"])(tablePath), [rowIndex + 1, i + _j])
325
+ });
326
+ }
327
+ }
328
+ }
329
+ }
330
+ };
331
+ var insertTableColumn = exports.insertTableColumn = function insertTableColumn(editor, table, columnIndex) {
332
+ var position = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : _constants3.TABLE_ELEMENT_POSITION.AFTER;
333
+ var tableColumnCount = table.children[0].children.length;
334
+ if (tableColumnCount >= _constants3.TABLE_MAX_COLUMNS) return;
335
+ var newCellIndex = position === _constants3.TABLE_ELEMENT_POSITION.AFTER ? columnIndex + 1 : columnIndex;
336
+ var newColumns = getTableColumnsAfterInsertColumn(editor, table, newCellIndex, 1);
337
+ updateColumnWidth(editor, table, newColumns);
338
+ var tablePath = (0, _core.findPath)(editor, table);
339
+ var tableRowCount = table.children.length;
340
+ for (var i = 0; i < tableRowCount; i++) {
341
+ var newCellPath = [].concat((0, _toConsumableArray2["default"])(tablePath), [i, newCellIndex]);
342
+ var newCell = generateTableCell(editor, i, columnIndex);
343
+ _slate.Transforms.insertNodes(editor, newCell, {
344
+ at: newCellPath
345
+ });
346
+ }
347
+ var focusPath = [].concat((0, _toConsumableArray2["default"])(tablePath), [0, newCellIndex, 0]);
348
+ (0, _core.focusEditor)(editor, focusPath);
349
+
350
+ // handle cells with the colspan > 1
351
+ if (position === _constants3.TABLE_ELEMENT_POSITION.AFTER) {
352
+ handleCombinedCellsAfterInsertTableColumn(editor, tablePath, table, columnIndex);
353
+ }
354
+ };
355
+ var handleCombinedCellsAfterInsertTableColumn = exports.handleCombinedCellsAfterInsertTableColumn = function handleCombinedCellsAfterInsertTableColumn(editor, tablePath, table, columnIndex) {
356
+ // important background info: the new column is inserted after columnIndex
357
+ for (var i = 0, len = table.children.length; i < len; i++) {
358
+ var _table$children$i$chi = table.children[i].children[columnIndex],
359
+ is_combined = _table$children$i$chi.is_combined,
360
+ rowspan = _table$children$i$chi.rowspan,
361
+ colspan = _table$children$i$chi.colspan;
362
+ if (is_combined) {
363
+ for (var ci = columnIndex - 1; ci >= 0; ci--) {
364
+ var _table$children$i$chi2 = table.children[i].children[ci],
365
+ ci_is_combined = _table$children$i$chi2.is_combined,
366
+ ci_rowspan = _table$children$i$chi2.rowspan,
367
+ ci_colspan = _table$children$i$chi2.colspan;
368
+ if (!ci_is_combined && ci + ci_colspan - 1 > columnIndex) {
369
+ _slate.Transforms.setNodes(editor, {
370
+ colspan: ci_colspan + 1
371
+ }, {
372
+ at: [].concat((0, _toConsumableArray2["default"])(tablePath), [i, ci])
373
+ });
374
+ for (var j = 0; j < ci_rowspan; j++) {
375
+ _slate.Transforms.setNodes(editor, {
376
+ 'is_combined': true
377
+ }, {
378
+ at: [].concat((0, _toConsumableArray2["default"])(tablePath), [i + j, columnIndex + 1])
379
+ });
380
+ }
381
+ break;
382
+ }
383
+ }
384
+ } else {
385
+ if (colspan > 1) {
386
+ _slate.Transforms.setNodes(editor, {
387
+ colspan: colspan + 1
388
+ }, {
389
+ at: [].concat((0, _toConsumableArray2["default"])(tablePath), [i, columnIndex])
390
+ });
391
+ for (var _j2 = 0; _j2 < rowspan; _j2++) {
392
+ _slate.Transforms.setNodes(editor, {
393
+ 'is_combined': true
394
+ }, {
395
+ at: [].concat((0, _toConsumableArray2["default"])(tablePath), [i + _j2, columnIndex + 1])
396
+ });
397
+ }
398
+ }
399
+ }
400
+ }
401
+ };
402
+ var insertTableElement = exports.insertTableElement = function insertTableElement(editor, type) {
403
+ var position = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _constants3.TABLE_ELEMENT_POSITION.AFTER;
404
+ var count = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
405
+ var _getSelectedInfo2 = getSelectedInfo(editor),
406
+ table = _getSelectedInfo2.table,
407
+ tablePath = _getSelectedInfo2.tablePath,
408
+ tableSize = _getSelectedInfo2.tableSize,
409
+ rowIndex = _getSelectedInfo2.rowIndex,
410
+ cellIndex = _getSelectedInfo2.cellIndex;
411
+ var eventBus = _eventBus["default"].getInstance();
412
+ eventBus.dispatch(_constants.INTERNAL_EVENT.CANCEL_TABLE_SELECT_RANGE);
413
+ if (type === _constants3.TABLE_ELEMENT.ROW) {
414
+ if (tableSize[0] >= _constants3.TABLE_MAX_ROWS) return;
415
+ var targetPath = position === _constants3.TABLE_ELEMENT_POSITION.AFTER ? [].concat((0, _toConsumableArray2["default"])(tablePath), [rowIndex + 1]) : [].concat((0, _toConsumableArray2["default"])(tablePath), [rowIndex]);
416
+ var validCount = Math.min(_constants3.TABLE_MAX_ROWS - tableSize[0], count);
417
+ for (var i = 0; i < validCount; i++) {
418
+ var row = generateTableRow(editor, tableSize[1], rowIndex);
419
+ _slate.Transforms.insertNodes(editor, row, {
420
+ at: targetPath
421
+ });
422
+ // handle combined cells
423
+ if (!(rowIndex === 0 && position === _constants3.TABLE_ELEMENT_POSITION.BEFORE)) {
424
+ var targetRowIndex = position === _constants3.TABLE_ELEMENT_POSITION.AFTER ? rowIndex : rowIndex - 1;
425
+ var currentTable = (0, _core.getSelectedNodeByType)(editor, _constants2.ELEMENT_TYPE.TABLE);
426
+ handleCombinedCellsAfterInsertTableRow(editor, tablePath, currentTable, targetRowIndex);
427
+ }
428
+ }
429
+ var focusPath = [].concat((0, _toConsumableArray2["default"])(targetPath), [cellIndex]);
430
+ (0, _core.focusEditor)(editor, focusPath);
431
+ return;
432
+ }
433
+ if (type === _constants3.TABLE_ELEMENT.COLUMN) {
434
+ if (tableSize[1] >= _constants3.TABLE_MAX_COLUMNS) return;
435
+ var newCellIndex = position === _constants3.TABLE_ELEMENT_POSITION.AFTER ? cellIndex + 1 : cellIndex;
436
+ var _validCount = Math.min(_constants3.TABLE_MAX_COLUMNS - tableSize[1], count);
437
+ var newColumns = getTableColumnsAfterInsertColumn(editor, table, newCellIndex, _validCount);
438
+ updateColumnWidth(editor, table, newColumns);
439
+ for (var j = 0; j < _validCount; j++) {
440
+ for (var _i2 = 0; _i2 < tableSize[0]; _i2++) {
441
+ var newCellPath = [].concat((0, _toConsumableArray2["default"])(tablePath), [_i2, newCellIndex]);
442
+ var newCell = generateTableCell(editor, _i2, cellIndex);
443
+ _slate.Transforms.insertNodes(editor, newCell, {
444
+ at: newCellPath
445
+ });
446
+ }
447
+ // handle combined cells
448
+ if (!(cellIndex === 0 && position === _constants3.TABLE_ELEMENT_POSITION.BEFORE)) {
449
+ var targetColumnIndex = position === _constants3.TABLE_ELEMENT_POSITION.AFTER ? cellIndex : cellIndex - 1;
450
+ var _currentTable = (0, _core.getSelectedNodeByType)(editor, _constants2.ELEMENT_TYPE.TABLE);
451
+ handleCombinedCellsAfterInsertTableColumn(editor, tablePath, _currentTable, targetColumnIndex);
452
+ }
453
+ }
454
+ var _focusPath = [].concat((0, _toConsumableArray2["default"])(tablePath), [rowIndex, cellIndex + 1, 0]);
455
+ (0, _core.focusEditor)(editor, _focusPath);
456
+ return;
457
+ }
458
+ };
459
+ var combineCells = exports.combineCells = function combineCells(editor) {
460
+ var _getSelectedInfo3 = getSelectedInfo(editor),
461
+ tablePath = _getSelectedInfo3.tablePath;
462
+ var _editor$tableSelected2 = editor.tableSelectedRange,
463
+ minColIndex = _editor$tableSelected2.minColIndex,
464
+ maxColIndex = _editor$tableSelected2.maxColIndex,
465
+ minRowIndex = _editor$tableSelected2.minRowIndex,
466
+ maxRowIndex = _editor$tableSelected2.maxRowIndex;
467
+ var newCellContent = [];
468
+ for (var i = minRowIndex; i < maxRowIndex + 1; i++) {
469
+ for (var j = minColIndex; j < maxColIndex + 1; j++) {
470
+ var nodePath = [].concat((0, _toConsumableArray2["default"])(tablePath), [i, j]);
471
+ var node = _slate.Editor.node(editor, nodePath);
472
+ if (node[0].is_combined) {
473
+ continue;
474
+ }
475
+ _slate.Transforms.setNodes(editor, {
476
+ 'is_combined': true
477
+ }, {
478
+ at: nodePath
479
+ });
480
+ newCellContent = newCellContent.concat(node[0].children);
481
+ }
482
+ }
483
+ var targetCellPath = [].concat((0, _toConsumableArray2["default"])(tablePath), [minRowIndex, minColIndex]);
484
+ var newCell = generateTableCell(editor);
485
+ newCell.children = newCellContent;
486
+ newCell.rowspan = maxRowIndex - minRowIndex + 1;
487
+ newCell.colspan = maxColIndex - minColIndex + 1;
488
+ // keep row.children.length not changed
489
+ _slate.Transforms.removeNodes(editor, {
490
+ at: targetCellPath
491
+ });
492
+ _slate.Transforms.insertNodes(editor, newCell, {
493
+ at: targetCellPath
494
+ });
495
+ (0, _core.focusEditor)(editor, targetCellPath);
496
+
497
+ // for clicking the 'combine cell' icon in the toolbar
498
+ var eventBus = _eventBus["default"].getInstance();
499
+ eventBus.dispatch(_constants.INTERNAL_EVENT.CANCEL_TABLE_SELECT_RANGE);
500
+ };
501
+ var splitCell = exports.splitCell = function splitCell(editor, rowNumber, columnNumber) {
502
+ if (rowNumber === 1 && columnNumber === 1) {
503
+ return;
504
+ }
505
+ var _getSelectedInfo4 = getSelectedInfo(editor),
506
+ cell = _getSelectedInfo4.cell,
507
+ rowIndex = _getSelectedInfo4.rowIndex,
508
+ cellIndex = _getSelectedInfo4.cellIndex,
509
+ cellPath = _getSelectedInfo4.cellPath,
510
+ tablePath = _getSelectedInfo4.tablePath;
511
+ var rowspan = cell.rowspan,
512
+ colspan = cell.colspan;
513
+ var rowspanBase = Math.floor(rowspan / rowNumber);
514
+ var rowspanLeft = rowspan % rowNumber;
515
+ var colspanBase = Math.floor(colspan / columnNumber);
516
+ var colspanLeft = colspan % columnNumber;
517
+ var cellNumber = rowNumber * columnNumber;
518
+ var dataBlockNumber = Math.ceil(cell.children.length / cellNumber);
519
+ var firstNewCell;
520
+ var rowspanSum = 0;
521
+ for (var i = 0; i < rowNumber; i++) {
522
+ var newRowSpan = rowspanBase + (i + 1 <= rowspanLeft ? 1 : 0);
523
+ var colspanSum = 0;
524
+ for (var j = 0; j < columnNumber; j++) {
525
+ var newCell = generateTableCell(editor);
526
+ var startIndex = (i * columnNumber + j) * dataBlockNumber;
527
+ if (startIndex < cell.children.length) {
528
+ var endIndex = Math.min(startIndex + dataBlockNumber, cell.children.length);
529
+ newCell.children = cell.children.slice(startIndex, endIndex);
530
+ }
531
+ newCell.rowspan = newRowSpan;
532
+ newCell.colspan = colspanBase + (j + 1 <= colspanLeft ? 1 : 0);
533
+ var newRowIndex = rowIndex + rowspanSum;
534
+ var newCellIndex = cellIndex + colspanSum;
535
+ var targetCellPath = [].concat((0, _toConsumableArray2["default"])(tablePath), [newRowIndex, newCellIndex]);
536
+ if (i === 0 && j === 0) {
537
+ firstNewCell = newCell;
538
+ } else {
539
+ _slate.Transforms.removeNodes(editor, {
540
+ at: targetCellPath
541
+ });
542
+ _slate.Transforms.insertNodes(editor, newCell, {
543
+ at: targetCellPath
544
+ });
545
+ }
546
+ colspanSum += newCell.colspan;
547
+ }
548
+ rowspanSum += newRowSpan;
549
+ }
550
+ _slate.Transforms.removeNodes(editor, {
551
+ at: cellPath
552
+ });
553
+ _slate.Transforms.insertNodes(editor, firstNewCell, {
554
+ at: cellPath
555
+ });
556
+ };
557
+ var syncRemoveTable = exports.syncRemoveTable = function syncRemoveTable(editor, path) {
558
+ var validPath = path;
559
+ if (!validPath) {
560
+ var _getSelectedInfo5 = getSelectedInfo(editor),
561
+ tablePath = _getSelectedInfo5.tablePath;
562
+ validPath = tablePath;
563
+ }
564
+ editor.reSetTableSelectedRange();
565
+ _slate.Transforms.removeNodes(editor, {
566
+ at: validPath
567
+ });
568
+ };
569
+ var removeTable = exports.removeTable = function removeTable(editor, path) {
570
+ var validPath = path;
571
+ if (!validPath) {
572
+ var _getSelectedInfo6 = getSelectedInfo(editor),
573
+ tablePath = _getSelectedInfo6.tablePath;
574
+ validPath = tablePath;
575
+ }
576
+ editor.reSetTableSelectedRange();
577
+
578
+ // Clicking the menu causes the table to be re-rendered, and the deletion operation is performed synchronously. When rendering, it is found that the data is lost and an error is reported.
579
+ setTimeout(function () {
580
+ _slate.Transforms.removeNodes(editor, {
581
+ at: validPath
582
+ });
583
+ if (_slate.Editor.hasPath(editor, validPath)) {
584
+ var endOfLastNodePoint = _slate.Editor.end(editor, validPath);
585
+ var range = {
586
+ anchor: endOfLastNodePoint,
587
+ focus: endOfLastNodePoint
588
+ };
589
+ (0, _core.focusEditor)(editor, range);
590
+ }
591
+ }, 0);
592
+ };
593
+ var removeTableElement = exports.removeTableElement = function removeTableElement(editor, type) {
594
+ var _getSelectedInfo7 = getSelectedInfo(editor),
595
+ table = _getSelectedInfo7.table,
596
+ tablePath = _getSelectedInfo7.tablePath,
597
+ tableSize = _getSelectedInfo7.tableSize,
598
+ rowPath = _getSelectedInfo7.rowPath,
599
+ rowIndex = _getSelectedInfo7.rowIndex,
600
+ cellIndex = _getSelectedInfo7.cellIndex;
601
+ var eventBus = _eventBus["default"].getInstance();
602
+ eventBus.dispatch(_constants.INTERNAL_EVENT.CANCEL_TABLE_SELECT_RANGE);
603
+ if (type === _constants3.TABLE_ELEMENT.TABLE) {
604
+ removeTable(editor, tablePath);
605
+ return;
606
+ }
607
+ if (type === _constants3.TABLE_ELEMENT.ROW) {
608
+ if (tableSize[0] === 1) {
609
+ removeTable(editor, tablePath);
610
+ return;
611
+ }
612
+ if (!_objectUtils["default"].isSameObject(editor.tableSelectedRange, _constants3.EMPTY_SELECTED_RANGE)) {
613
+ var _editor$tableSelected3 = editor.tableSelectedRange,
614
+ minRowIndex = _editor$tableSelected3.minRowIndex,
615
+ maxRowIndex = _editor$tableSelected3.maxRowIndex;
616
+ if (minRowIndex === 0 && maxRowIndex === tableSize[0] - 1) {
617
+ removeTable(editor, tablePath);
618
+ return;
619
+ }
620
+ for (var i = minRowIndex; i <= maxRowIndex; i++) {
621
+ queueMicrotask(function () {
622
+ _slate.Transforms.removeNodes(editor, {
623
+ at: [].concat((0, _toConsumableArray2["default"])(tablePath), [minRowIndex])
624
+ });
625
+ });
626
+ }
627
+ var _focusPath2 = [].concat((0, _toConsumableArray2["default"])(tablePath), [minRowIndex === 0 ? 0 : minRowIndex - 1, cellIndex]);
628
+ (0, _core.focusEditor)(editor, _focusPath2);
629
+ return;
630
+ }
631
+ handleCombinedCellsBeforeDeleteTableRow(editor, tablePath, table, rowIndex);
632
+ _slate.Transforms.removeNodes(editor, {
633
+ at: rowPath
634
+ });
635
+ var focusRowIndex = rowIndex === tableSize[0] - 1 ? rowIndex - 1 : rowIndex;
636
+ var focusPath = [].concat((0, _toConsumableArray2["default"])(tablePath), [focusRowIndex, cellIndex]);
637
+ (0, _core.focusEditor)(editor, focusPath);
638
+ return;
639
+ }
640
+ if (type === _constants3.TABLE_ELEMENT.COLUMN) {
641
+ if (tableSize[1] === 1) {
642
+ removeTable(editor, tablePath);
643
+ return;
644
+ }
645
+ if (!_objectUtils["default"].isSameObject(editor.tableSelectedRange, _constants3.EMPTY_SELECTED_RANGE)) {
646
+ var _editor$tableSelected4 = editor.tableSelectedRange,
647
+ minColIndex = _editor$tableSelected4.minColIndex,
648
+ maxColIndex = _editor$tableSelected4.maxColIndex;
649
+ if (minColIndex === 0 && maxColIndex === tableSize[1] - 1) {
650
+ removeTable(editor, tablePath);
651
+ return;
652
+ }
653
+ var _columns = getTableColumns(editor, table);
654
+ var _newColumns = [].concat((0, _toConsumableArray2["default"])(_columns.slice(0, minColIndex)), (0, _toConsumableArray2["default"])(_columns.slice(maxColIndex + 1)));
655
+ updateColumnWidth(editor, table, _newColumns);
656
+ for (var _i3 = 0; _i3 < tableSize[0]; _i3++) {
657
+ for (var j = minColIndex; j <= maxColIndex; j++) {
658
+ // count
659
+ var cellPath = [].concat((0, _toConsumableArray2["default"])(tablePath), [_i3, minColIndex]);
660
+ _slate.Transforms.removeNodes(editor, {
661
+ at: cellPath
662
+ });
663
+ }
664
+ }
665
+ var _focusPath3 = [].concat((0, _toConsumableArray2["default"])(tablePath), [rowIndex, minColIndex === 0 ? 0 : minColIndex - 1]);
666
+ (0, _core.focusEditor)(editor, _focusPath3);
667
+ return;
668
+ }
669
+ var columns = getTableColumns(editor, table);
670
+ var newColumns = columns.slice(0);
671
+ newColumns.splice(cellIndex, 1);
672
+ updateColumnWidth(editor, table, newColumns);
673
+ handleCombinedCellsBeforeDeleteTableColumn(editor, tablePath, table, cellIndex);
674
+ for (var _i4 = 0; _i4 < tableSize[0]; _i4++) {
675
+ var _cellPath = [].concat((0, _toConsumableArray2["default"])(tablePath), [_i4, cellIndex]);
676
+ _slate.Transforms.removeNodes(editor, {
677
+ at: _cellPath
678
+ });
679
+ }
680
+ var focusCellIndex = cellIndex === tableSize[1] - 1 ? cellIndex - 1 : cellIndex;
681
+ var _focusPath4 = [].concat((0, _toConsumableArray2["default"])(tablePath), [rowIndex, focusCellIndex]);
682
+ (0, _core.focusEditor)(editor, _focusPath4);
683
+ return;
684
+ }
685
+ };
686
+
687
+ // handle combined cells before deleting a row
688
+ var handleCombinedCellsBeforeDeleteTableRow = exports.handleCombinedCellsBeforeDeleteTableRow = function handleCombinedCellsBeforeDeleteTableRow(editor, tablePath, table, rowIndex) {
689
+ var cells = table.children[rowIndex].children;
690
+ for (var i = 0, len = cells.length; i < len; i++) {
691
+ var _cells$i2 = cells[i],
692
+ is_combined = _cells$i2.is_combined,
693
+ rowspan = _cells$i2.rowspan,
694
+ colspan = _cells$i2.colspan;
695
+ if (is_combined) {
696
+ for (var ri = rowIndex - 1; ri >= 0; ri--) {
697
+ var _table$children$ri$ch2 = table.children[ri].children[i],
698
+ ri_is_combined = _table$children$ri$ch2.is_combined,
699
+ ri_rowspan = _table$children$ri$ch2.rowspan;
700
+ if (!ri_is_combined && ri + ri_rowspan - 1 >= rowIndex) {
701
+ _slate.Transforms.setNodes(editor, {
702
+ rowspan: ri_rowspan - 1
703
+ }, {
704
+ at: [].concat((0, _toConsumableArray2["default"])(tablePath), [ri, i])
705
+ });
706
+ break;
707
+ }
708
+ }
709
+ } else {
710
+ if (rowspan > 1) {
711
+ var targetCellPath = [].concat((0, _toConsumableArray2["default"])(tablePath), [rowIndex + 1, i]);
712
+ var newCell = generateTableCell(editor);
713
+ newCell.rowspan = rowspan - 1;
714
+ newCell.colspan = colspan;
715
+ _slate.Transforms.removeNodes(editor, {
716
+ at: targetCellPath
717
+ });
718
+ _slate.Transforms.insertNodes(editor, newCell, {
719
+ at: targetCellPath
720
+ });
721
+ }
722
+ }
723
+ }
724
+ };
725
+
726
+ // handle combined cells before deleting a column
727
+ var handleCombinedCellsBeforeDeleteTableColumn = exports.handleCombinedCellsBeforeDeleteTableColumn = function handleCombinedCellsBeforeDeleteTableColumn(editor, tablePath, table, columnIndex) {
728
+ for (var i = 0, len = table.children.length; i < len; i++) {
729
+ var _table$children$i$chi3 = table.children[i].children[columnIndex],
730
+ is_combined = _table$children$i$chi3.is_combined,
731
+ rowspan = _table$children$i$chi3.rowspan,
732
+ colspan = _table$children$i$chi3.colspan;
733
+ if (is_combined) {
734
+ for (var ci = columnIndex - 1; ci >= 0; ci--) {
735
+ var _table$children$i$chi4 = table.children[i].children[ci],
736
+ ci_is_combined = _table$children$i$chi4.is_combined,
737
+ ci_colspan = _table$children$i$chi4.colspan;
738
+ if (!ci_is_combined && ci + ci_colspan - 1 >= columnIndex) {
739
+ _slate.Transforms.setNodes(editor, {
740
+ colspan: ci_colspan - 1
741
+ }, {
742
+ at: [].concat((0, _toConsumableArray2["default"])(tablePath), [i, ci])
743
+ });
744
+ break;
745
+ }
746
+ }
747
+ } else {
748
+ if (colspan > 1) {
749
+ var targetCellPath = [].concat((0, _toConsumableArray2["default"])(tablePath), [i, columnIndex + 1]);
750
+ var newCell = generateTableCell(editor);
751
+ newCell.rowspan = rowspan;
752
+ newCell.colspan = colspan - 1;
753
+ _slate.Transforms.removeNodes(editor, {
754
+ at: targetCellPath
755
+ });
756
+ _slate.Transforms.insertNodes(editor, newCell, {
757
+ at: targetCellPath
758
+ });
759
+ }
760
+ }
761
+ }
762
+ };
763
+ var setTableSelectedRange = exports.setTableSelectedRange = function setTableSelectedRange(editor, range) {
764
+ if (range) {
765
+ editor.tableSelectedRange = range;
766
+ return;
767
+ }
768
+ editor.tableSelectedRange = _constants3.EMPTY_SELECTED_RANGE;
769
+ };
770
+ var updateTableRowHeight = exports.updateTableRowHeight = function updateTableRowHeight(editor, element, rowHeight) {
771
+ var path = (0, _core.findPath)(editor, element);
772
+ var targetNode = (0, _core.getNode)(editor, path);
773
+ var _targetNode$style = targetNode.style,
774
+ style = _targetNode$style === void 0 ? {} : _targetNode$style;
775
+ if (style[_constants3.TABLE_ROW_STYLE.MIN_HEIGHT] === rowHeight) return;
776
+ _slate.Transforms.setNodes(editor, {
777
+ style: (0, _objectSpread3["default"])((0, _objectSpread3["default"])({}, style), {}, (0, _defineProperty2["default"])({}, _constants3.TABLE_ROW_STYLE.MIN_HEIGHT, rowHeight))
778
+ }, {
779
+ at: path
780
+ });
781
+ };
782
+ var updateColumnWidth = exports.updateColumnWidth = function updateColumnWidth(editor, element, columns) {
783
+ var path = (0, _core.findPath)(editor, element);
784
+ _slate.Transforms.setNodes(editor, {
785
+ columns: columns
786
+ }, {
787
+ at: path
788
+ });
789
+ };
790
+ var getTableColumnsWidth = exports.getTableColumnsWidth = function getTableColumnsWidth() {
791
+ var columns = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
792
+ if (!Array.isArray(columns) || columns.length === 0) return 0;
793
+ return columns.reduce(function (pre, cur) {
794
+ return pre + cur.width;
795
+ }, 0);
796
+ };
797
+ var getTableColumnsAfterInsertColumn = exports.getTableColumnsAfterInsertColumn = function getTableColumnsAfterInsertColumn(editor, element, targetColumnIndex, insertColumnCount) {
798
+ var columns = getTableColumns(editor, element);
799
+ var newColumns = columns.slice(0);
800
+ var totalColumnsWidth = getTableColumnsWidth(columns);
801
+ var targetColumn = columns[targetColumnIndex] || columns[targetColumnIndex - 1];
802
+ var targetInsertColumnsWidth = targetColumn.width * insertColumnCount;
803
+
804
+ // Currently in scrolling state, insert directly
805
+ if (totalColumnsWidth > editor.width) {
806
+ for (var i = 0; i < insertColumnCount; i++) {
807
+ newColumns.splice(targetColumnIndex, 0, targetColumn);
808
+ }
809
+ return newColumns;
810
+ }
811
+
812
+ // Not currently scrolling
813
+ // It is not a scroll state after inserting a new column
814
+ if (totalColumnsWidth + targetInsertColumnsWidth < editor.width) {
815
+ for (var _i5 = 0; _i5 < insertColumnCount; _i5++) {
816
+ newColumns.push(targetColumn);
817
+ }
818
+ return newColumns;
819
+ }
820
+
821
+ // After inserting a new column is a scrolling state
822
+ for (var _i6 = 0; _i6 < insertColumnCount; _i6++) {
823
+ totalColumnsWidth += targetColumn.width;
824
+ newColumns.splice(targetColumnIndex, 0, targetColumn);
825
+ }
826
+ var proportion = totalColumnsWidth / (editor.width - 1);
827
+ return newColumns.map(function (column) {
828
+ return (0, _objectSpread3["default"])((0, _objectSpread3["default"])({}, column), {}, {
829
+ width: Math.max(parseInt(column.width / proportion), _constants3.TABLE_CELL_MIN_WIDTH)
830
+ });
831
+ });
832
+ };
833
+ var getTableColumns = exports.getTableColumns = function getTableColumns(editor, element) {
834
+ if (!element) return [];
835
+ var tableElement = element;
836
+ if (element.type === _constants2.ELEMENT_TYPE.TABLE_CELL) {
837
+ var cellPath = (0, _core.findPath)(editor, element);
838
+ var tablePath = cellPath.slice(0, -2);
839
+ tableElement = (0, _core.getNode)(editor, tablePath);
840
+ }
841
+ var _tableElement = tableElement,
842
+ columns = _tableElement.columns,
843
+ children = _tableElement.children;
844
+ if (columns) return columns;
845
+ var columnsCount = children[0].children.length;
846
+ var initColumns = [];
847
+ var pageEditAreaWidth = editor.width || _constants.PAGE_EDIT_AREA_WIDTH;
848
+ for (var i = 0; i < columnsCount; i++) {
849
+ var column = {
850
+ width: Math.max(_constants3.TABLE_CELL_MIN_WIDTH, parseInt(pageEditAreaWidth / columnsCount))
851
+ };
852
+ initColumns.push(column);
853
+ }
854
+ return initColumns;
855
+ };
856
+ var getCellColumn = exports.getCellColumn = function getCellColumn(editor, cellElement) {
857
+ var column = {
858
+ width: _constants3.TABLE_CELL_MIN_WIDTH
859
+ };
860
+ if (!editor || !cellElement) return column;
861
+ var cellPath = (0, _core.findPath)(editor, cellElement);
862
+ if (!cellPath) return column;
863
+ var pathLength = cellPath.length;
864
+ var cellIndex = cellPath[pathLength - 1];
865
+ var tablePath = cellPath.slice(0, -2);
866
+ var tableElement = (0, _core.getNode)(editor, tablePath);
867
+ var columns = tableElement.columns;
868
+ var columnsCount = tableElement.children[0].children.length;
869
+ var pageEditAreaWidth = editor.width || _constants.PAGE_EDIT_AREA_WIDTH;
870
+ if (columns) {
871
+ column = columns[cellIndex];
872
+ }
873
+ return column || {
874
+ width: Math.max(_constants3.TABLE_CELL_MIN_WIDTH, parseInt(pageEditAreaWidth / columnsCount))
875
+ };
876
+ };
877
+ var getFirstTableCell = exports.getFirstTableCell = function getFirstTableCell(element) {
878
+ var tableCellElement = element;
879
+ while (tableCellElement && !(tableCellElement.hasAttribute('row-index') && tableCellElement.hasAttribute('cell-index'))) {
880
+ tableCellElement = tableCellElement.parentNode;
881
+ }
882
+ return tableCellElement;
883
+ };
884
+ var _elementHasImage = exports.elementHasImage = function elementHasImage(element) {
885
+ if (!element) return false;
886
+ if (!Array.isArray(element.children) || element.children.length === 0) return false;
887
+ return element.children.some(function (child) {
888
+ if (child.type === _constants2.ELEMENT_TYPE.IMAGE) return true;
889
+ if (_objectUtils["default"].hasProperty(child, 'children')) {
890
+ return _elementHasImage(child);
891
+ }
892
+ return false;
893
+ });
894
+ };
895
+ var isSelectedAllCell = exports.isSelectedAllCell = function isSelectedAllCell(editor) {
896
+ var _getSelectedInfo8 = getSelectedInfo(editor),
897
+ tableSize = _getSelectedInfo8.tableSize;
898
+ return _objectUtils["default"].isSameObject(editor.tableSelectedRange, {
899
+ minColIndex: 0,
900
+ maxColIndex: tableSize[1] - 1,
901
+ minRowIndex: 0,
902
+ maxRowIndex: tableSize[0] - 1
903
+ });
904
+ };
905
+ var insertMultipleRowsAndColumns = exports.insertMultipleRowsAndColumns = function insertMultipleRowsAndColumns(editor, rows, columns) {
906
+ var _getSelectedInfo9 = getSelectedInfo(editor),
907
+ table = _getSelectedInfo9.table,
908
+ tablePath = _getSelectedInfo9.tablePath,
909
+ tableSize = _getSelectedInfo9.tableSize,
910
+ rowIndex = _getSelectedInfo9.rowIndex,
911
+ cellIndex = _getSelectedInfo9.cellIndex;
912
+ var newTable = (0, _deepCopy["default"])(table);
913
+ var eventBus = _eventBus["default"].getInstance();
914
+ eventBus.dispatch(_constants.INTERNAL_EVENT.CANCEL_TABLE_SELECT_RANGE);
915
+ var insertRows = rows.slice(tableSize[0] - rowIndex);
916
+ var insertColumns = columns.slice(tableSize[1] - cellIndex);
917
+ var validInsertRows = insertRows.slice(0, Math.min(_constants3.TABLE_MAX_ROWS - tableSize[0], insertRows.length));
918
+ var validInsertColumns = insertColumns.slice(0, Math.min(_constants3.TABLE_MAX_COLUMNS - tableSize[1], columns.length));
919
+ for (var i = 0; i < validInsertRows.length; i++) {
920
+ var insertRow = validInsertRows[i];
921
+ var row = generateTableRow(editor, tableSize[1], rowIndex);
922
+ row.style = insertRow.style;
923
+ newTable.children.push(row);
924
+ }
925
+ if (validInsertColumns.length > 0) {
926
+ newTable.columns = [].concat((0, _toConsumableArray2["default"])(table.columns), (0, _toConsumableArray2["default"])(validInsertColumns));
927
+ }
928
+ for (var j = 0; j < validInsertColumns.length; j++) {
929
+ for (var _i7 = 0; _i7 < tableSize[0] + validInsertRows.length; _i7++) {
930
+ var newCell = generateTableCell(editor);
931
+ newTable.children[_i7].children.push(newCell);
932
+ }
933
+ }
934
+ for (var _i8 = rowIndex; _i8 < Math.min(_constants3.TABLE_MAX_ROWS, rowIndex + rows.length); _i8++) {
935
+ var _row = rows[_i8 - rowIndex];
936
+ var cells = _row.children;
937
+ for (var _j3 = cellIndex; _j3 < Math.min(_constants3.TABLE_MAX_COLUMNS, cellIndex + columns.length); _j3++) {
938
+ var replaceCellIndex = _j3 - cellIndex;
939
+ var replaceCell = cells[replaceCellIndex];
940
+ newTable.children[_i8].children[_j3].children = (0, _helpers.replacePastedDataId)(replaceCell.children);
941
+ }
942
+ }
943
+ (0, _core.replaceNode)(editor, {
944
+ at: tablePath,
945
+ nodes: newTable
946
+ });
947
+ (0, _core.focusEditor)(editor, [].concat((0, _toConsumableArray2["default"])(tablePath), [rowIndex, cellIndex, 0]));
948
+ var newFocus = editor.selection.focus;
949
+ _slate.Transforms.select(editor, {
950
+ focus: newFocus,
951
+ anchor: newFocus
952
+ });
953
+ return;
954
+ };
955
+ var setTableFragmentData = exports.setTableFragmentData = function setTableFragmentData(editor, dataTransfer) {
956
+ var selectedNode = (0, _core.getSelectedNodeByType)(editor, _constants2.ELEMENT_TYPE.TABLE);
957
+ var fragment = editor.getFragment();
958
+ var string = JSON.stringify(fragment);
959
+ var encoded = window.btoa(encodeURIComponent(string));
960
+ dataTransfer.setData("application/".concat(_constants2.CLIPBOARD_FORMAT_KEY), encoded);
961
+ var tableDom = document.createElement('table');
962
+ var _editor$tableSelected5 = editor.tableSelectedRange,
963
+ minColIndex = _editor$tableSelected5.minColIndex,
964
+ maxColIndex = _editor$tableSelected5.maxColIndex,
965
+ minRowIndex = _editor$tableSelected5.minRowIndex,
966
+ maxRowIndex = _editor$tableSelected5.maxRowIndex;
967
+ var tablePath = (0, _core.findPath)(editor, selectedNode);
968
+ for (var i = minRowIndex; i <= maxRowIndex; i++) {
969
+ var tr = document.createElement('tr');
970
+ for (var j = minColIndex; j <= maxColIndex; j++) {
971
+ var path = [].concat((0, _toConsumableArray2["default"])(tablePath), [i, j]);
972
+ var node = (0, _core.getNode)(editor, path);
973
+ var td = document.createElement('td');
974
+ var _div = document.createElement('div');
975
+ _div.innerHTML = _slateReact.ReactEditor.toDOMNode(editor, node).innerHTML;
976
+ td.appendChild(_div);
977
+ tr.appendChild(td);
978
+ }
979
+ tableDom.appendChild(tr);
980
+ }
981
+ tableDom.setAttribute('data-slate-fragment', encoded);
982
+ var div = document.createElement('div');
983
+ div.appendChild(tableDom);
984
+ dataTransfer.setData('text/html', div.innerHTML);
985
+ dataTransfer.setData('text/plain', div.innerText);
986
+ return dataTransfer;
987
+ };
988
+ var deleteTableRangeData = exports.deleteTableRangeData = function deleteTableRangeData(editor) {
989
+ var tableSelectedRange = editor.tableSelectedRange;
990
+ var minRowIndex = tableSelectedRange.minRowIndex,
991
+ maxRowIndex = tableSelectedRange.maxRowIndex,
992
+ minColIndex = tableSelectedRange.minColIndex,
993
+ maxColIndex = tableSelectedRange.maxColIndex;
994
+ var _getSelectedInfo0 = getSelectedInfo(editor),
995
+ tablePath = _getSelectedInfo0.tablePath;
996
+ var forceCellPath;
997
+ for (var i = minRowIndex; i <= maxRowIndex; i++) {
998
+ for (var j = minColIndex; j <= maxColIndex; j++) {
999
+ var path = [].concat((0, _toConsumableArray2["default"])(tablePath), [i, j]);
1000
+ var node = (0, _core.getNode)(editor, path);
1001
+ if (!forceCellPath && (_slate.Node.string(node) || _elementHasImage(node))) {
1002
+ forceCellPath = path;
1003
+ }
1004
+ var firstNode = node.children[0];
1005
+ (0, _core.replaceNodeChildren)(editor, {
1006
+ at: path,
1007
+ nodes: (0, _objectSpread3["default"])((0, _objectSpread3["default"])({}, firstNode), {}, {
1008
+ text: ''
1009
+ })
1010
+ });
1011
+ }
1012
+ }
1013
+ if (forceCellPath) {
1014
+ editor.tableSelectedRange = _constants3.EMPTY_SELECTED_RANGE;
1015
+ var eventBus = _eventBus["default"].getInstance();
1016
+ eventBus.dispatch(_constants.INTERNAL_EVENT.CANCEL_TABLE_SELECT_RANGE);
1017
+ (0, _core.focusEditor)(editor, forceCellPath);
1018
+ var newFocus = editor.selection.focus;
1019
+ _slate.Transforms.select(editor, {
1020
+ focus: newFocus,
1021
+ anchor: newFocus
1022
+ });
1023
+ }
1024
+ };
1025
+ var deleteHandler = exports.deleteHandler = function deleteHandler(editor) {
1026
+ var selection = editor.selection,
1027
+ tableSelectedRange = editor.tableSelectedRange;
1028
+ if (selection == null) return '';
1029
+ if (!_objectUtils["default"].isSameObject(tableSelectedRange, _constants3.EMPTY_SELECTED_RANGE)) {
1030
+ if (isSelectedAllCell(editor)) return 'table';
1031
+ return 'range';
1032
+ }
1033
+ var _Editor$nodes3 = _slate.Editor.nodes(editor, {
1034
+ match: function match(n) {
1035
+ var type = (0, _core.getNodeType)(n);
1036
+ if (!type && (0, _core.isTextNode)(n) && n.id) {
1037
+ var parentNode = (0, _core.getParentNode)(editor.children, n.id);
1038
+ type = (0, _core.getNodeType)(parentNode);
1039
+ }
1040
+ return type === _constants2.ELEMENT_TYPE.TABLE_CELL;
1041
+ }
1042
+ }),
1043
+ _Editor$nodes4 = (0, _slicedToArray2["default"])(_Editor$nodes3, 1),
1044
+ cellNodeEntry = _Editor$nodes4[0];
1045
+ if (cellNodeEntry) {
1046
+ var _cellNodeEntry = (0, _slicedToArray2["default"])(cellNodeEntry, 2),
1047
+ cellPath = _cellNodeEntry[1];
1048
+ var start = _slate.Editor.start(editor, cellPath);
1049
+ if (_slate.Point.equals(selection.anchor, start)) {
1050
+ return 'default';
1051
+ }
1052
+ }
1053
+ return '';
1054
+ };
1055
+ var isTableLocation = exports.isTableLocation = function isTableLocation(editor, location) {
1056
+ var tables = _slate.Editor.nodes(editor, {
1057
+ at: location,
1058
+ match: function match(n) {
1059
+ var type = (0, _core.getNodeType)(n);
1060
+ if (!type && (0, _core.isTextNode)(n) && n.id) {
1061
+ var parentNode = (0, _core.getParentNode)(editor.children, n.id);
1062
+ type = (0, _core.getNodeType)(parentNode);
1063
+ }
1064
+ return type === _constants2.ELEMENT_TYPE.TABLE_CELL;
1065
+ }
1066
+ });
1067
+ var hasTable = false;
1068
+ // eslint-disable-next-line no-unused-vars
1069
+ var _iterator = (0, _createForOfIteratorHelper2["default"])(tables),
1070
+ _step;
1071
+ try {
1072
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
1073
+ var table = _step.value;
1074
+ hasTable = true;
1075
+ }
1076
+ } catch (err) {
1077
+ _iterator.e(err);
1078
+ } finally {
1079
+ _iterator.f();
1080
+ }
1081
+ return hasTable;
1082
+ };
1083
+ var isCursorAtCellEnd = exports.isCursorAtCellEnd = function isCursorAtCellEnd(cell) {
1084
+ var cursor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
1085
+ if (!cell) return false;
1086
+ var childrenCount = cell.children.length;
1087
+ var lastChildren = cell.children[childrenCount - 1];
1088
+ var textCount = lastChildren.text.length;
1089
+ return cursor === textCount;
1090
+ };
1091
+ var isCursorAtCellStart = exports.isCursorAtCellStart = function isCursorAtCellStart() {
1092
+ var cursor = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
1093
+ return cursor === 0;
1094
+ };
1095
+ var focusCell = exports.focusCell = function focusCell(editor, event) {
1096
+ var keyboardName = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
1097
+ var _getSelectedInfo1 = getSelectedInfo(editor),
1098
+ tableSize = _getSelectedInfo1.tableSize,
1099
+ tablePath = _getSelectedInfo1.tablePath,
1100
+ rowIndex = _getSelectedInfo1.rowIndex,
1101
+ cellIndex = _getSelectedInfo1.cellIndex,
1102
+ cell = _getSelectedInfo1.cell;
1103
+ var tableParentPath = tablePath.slice(0, -1);
1104
+ var tableIndex = tablePath[tablePath.length - 1];
1105
+ var selection = editor.selection;
1106
+ var focus = selection.focus;
1107
+ if (keyboardName === _constants2.KEYBOARD.UP) {
1108
+ if (!isCursorAtCellStart(focus.offset)) {
1109
+ setTimeout(function () {
1110
+ if ((0, _core.getSelectedNodeByType)(editor, _constants2.ELEMENT_TYPE.TABLE)) {
1111
+ var _getSelectedInfo10 = getSelectedInfo(editor),
1112
+ newCellIndex = _getSelectedInfo10.cellIndex;
1113
+ if (Math.abs(newCellIndex - cellIndex) !== 0) {
1114
+ if (rowIndex === 0) {
1115
+ if (tableIndex !== 0) {
1116
+ (0, _core.focusEditor)(editor, [].concat((0, _toConsumableArray2["default"])(tableParentPath), [tableIndex - 1]));
1117
+ }
1118
+ return;
1119
+ }
1120
+ (0, _core.focusEditor)(editor, [].concat((0, _toConsumableArray2["default"])(tableParentPath), [tableIndex, rowIndex - 1, cellIndex]));
1121
+ var _newFocus = editor.selection.focus;
1122
+ _slate.Transforms.select(editor, {
1123
+ focus: _newFocus,
1124
+ anchor: _newFocus
1125
+ });
1126
+ }
1127
+ }
1128
+ }, 10);
1129
+ return;
1130
+ }
1131
+ event.preventDefault();
1132
+ if (rowIndex === 0) {
1133
+ if (tableIndex !== 0) {
1134
+ (0, _core.focusEditor)(editor, [].concat((0, _toConsumableArray2["default"])(tableParentPath), [tableIndex - 1]));
1135
+ }
1136
+ return;
1137
+ }
1138
+ (0, _core.focusEditor)(editor, [].concat((0, _toConsumableArray2["default"])(tableParentPath), [tableIndex, rowIndex - 1, cellIndex]));
1139
+ var newFocus = editor.selection.focus;
1140
+ _slate.Transforms.select(editor, {
1141
+ focus: newFocus,
1142
+ anchor: newFocus
1143
+ });
1144
+ }
1145
+ if (keyboardName === _constants2.KEYBOARD.RIGHT) {
1146
+ if (!isCursorAtCellEnd(cell, focus.offset)) return;
1147
+ event.preventDefault();
1148
+ if (rowIndex === tableSize[0] - 1 && cellIndex === tableSize[1] - 1) {
1149
+ (0, _core.focusEditor)(editor, [].concat((0, _toConsumableArray2["default"])(tableParentPath), [tableIndex + 1]));
1150
+ return;
1151
+ }
1152
+ if (cellIndex === tableSize[1] - 1) {
1153
+ (0, _core.focusEditor)(editor, [].concat((0, _toConsumableArray2["default"])(tableParentPath), [tableIndex, rowIndex + 1, 0]));
1154
+ } else {
1155
+ (0, _core.focusEditor)(editor, [].concat((0, _toConsumableArray2["default"])(tableParentPath), [tableIndex, rowIndex, cellIndex + 1]));
1156
+ }
1157
+ var newAnchor = editor.selection.anchor;
1158
+ _slate.Transforms.select(editor, {
1159
+ focus: newAnchor,
1160
+ anchor: newAnchor
1161
+ });
1162
+ }
1163
+ if (keyboardName === _constants2.KEYBOARD.DOWN) {
1164
+ if (!isCursorAtCellEnd(cell, focus.offset)) {
1165
+ setTimeout(function () {
1166
+ if ((0, _core.getSelectedNodeByType)(editor, _constants2.ELEMENT_TYPE.TABLE)) {
1167
+ var _getSelectedInfo11 = getSelectedInfo(editor),
1168
+ newCellIndex = _getSelectedInfo11.cellIndex;
1169
+ if (Math.abs(newCellIndex - cellIndex) !== 0) {
1170
+ if (rowIndex === tableSize[0] - 1) {
1171
+ var nextNode = (0, _core.getNode)(editor, [].concat((0, _toConsumableArray2["default"])(tableParentPath), [tableIndex + 1]));
1172
+ if (!nextNode) return;
1173
+ (0, _core.focusEditor)(editor, [].concat((0, _toConsumableArray2["default"])(tableParentPath), [tableIndex + 1]));
1174
+ return;
1175
+ }
1176
+ (0, _core.focusEditor)(editor, [].concat((0, _toConsumableArray2["default"])(tableParentPath), [tableIndex, rowIndex + 1, cellIndex]));
1177
+ var _newAnchor = editor.selection.anchor;
1178
+ _slate.Transforms.select(editor, {
1179
+ focus: _newAnchor,
1180
+ anchor: _newAnchor
1181
+ });
1182
+ }
1183
+ }
1184
+ }, 10);
1185
+ return;
1186
+ }
1187
+ event.preventDefault();
1188
+ if (rowIndex === tableSize[0] - 1) {
1189
+ var nextNode = (0, _core.getNode)([].concat((0, _toConsumableArray2["default"])(tableParentPath), [tableIndex + 1]));
1190
+ if (!nextNode) return;
1191
+ (0, _core.focusEditor)(editor, [].concat((0, _toConsumableArray2["default"])(tableParentPath), [tableIndex + 1]));
1192
+ return;
1193
+ }
1194
+ (0, _core.focusEditor)(editor, [].concat((0, _toConsumableArray2["default"])(tableParentPath), [tableIndex, rowIndex + 1, cellIndex]));
1195
+ var _newAnchor2 = editor.selection.anchor;
1196
+ _slate.Transforms.select(editor, {
1197
+ focus: _newAnchor2,
1198
+ anchor: _newAnchor2
1199
+ });
1200
+ }
1201
+ if (keyboardName === _constants2.KEYBOARD.LEFT) {
1202
+ if (!isCursorAtCellStart(focus.offset)) return;
1203
+ event.preventDefault();
1204
+ if (rowIndex === 0 && cellIndex === 0) {
1205
+ if (tableIndex !== 0) {
1206
+ (0, _core.focusEditor)(editor, [].concat((0, _toConsumableArray2["default"])(tableParentPath), [tableIndex - 1]));
1207
+ }
1208
+ return;
1209
+ }
1210
+ if (cellIndex === 0) {
1211
+ (0, _core.focusEditor)(editor, [].concat((0, _toConsumableArray2["default"])(tableParentPath), [tableIndex, rowIndex - 1, tableSize[1] - 1]));
1212
+ } else {
1213
+ (0, _core.focusEditor)(editor, [].concat((0, _toConsumableArray2["default"])(tableParentPath), [tableIndex, rowIndex, cellIndex - 1]));
1214
+ }
1215
+ var _newFocus2 = editor.selection.focus;
1216
+ _slate.Transforms.select(editor, {
1217
+ focus: _newFocus2,
1218
+ anchor: _newFocus2
1219
+ });
1220
+ }
1221
+ };
1222
+ var isLastTableCell = exports.isLastTableCell = function isLastTableCell(editor, cellNode) {
1223
+ if (cellNode[0].type !== _constants2.ELEMENT_TYPE.TABLE_CELL) return false;
1224
+ var _getSelectedInfo12 = getSelectedInfo(editor),
1225
+ tableSize = _getSelectedInfo12.tableSize;
1226
+ var lastRowIndex = tableSize[0] - 1;
1227
+ var lastColumnIndex = tableSize[1] - 1;
1228
+ var cellNodePath = cellNode[1];
1229
+ var cellNodePathDeep = cellNodePath.length;
1230
+ return cellNodePath[cellNodePathDeep - 1] === lastColumnIndex && cellNodePath[cellNodePathDeep - 2] === lastRowIndex;
1231
+ };
1232
+ var getValidColor = function getValidColor(color) {
1233
+ if (!color) return '';
1234
+ var validColor = color.length === 4 ? '#' + color.slice(1, 4).repeat(2) : color;
1235
+ return validColor.toUpperCase();
1236
+ };
1237
+ var colorBlend = exports.colorBlend = function colorBlend(c1, c2, ratio) {
1238
+ var color1 = getValidColor(c1);
1239
+ var color2 = getValidColor(c2);
1240
+ if (!color1 && !color2) return 'unset';
1241
+ if (color1 && !color2) return color1;
1242
+ if (!color1 && color2) return color2;
1243
+ if (color1 === '#FFFFFF') return color2;
1244
+ if (color2 === '#FFFFFF') return color1;
1245
+ var validRatio = Math.max(Math.min(Number(ratio), 1), 0);
1246
+ var r1 = parseInt(color1.substring(1, 3), 16);
1247
+ var g1 = parseInt(color1.substring(3, 5), 16);
1248
+ var b1 = parseInt(color1.substring(5, 7), 16);
1249
+ var r2 = parseInt(color2.substring(1, 3), 16);
1250
+ var g2 = parseInt(color2.substring(3, 5), 16);
1251
+ var b2 = parseInt(color2.substring(5, 7), 16);
1252
+ var r = Math.round(r1 * (1 - validRatio) + r2 * validRatio);
1253
+ var g = Math.round(g1 * (1 - validRatio) + g2 * validRatio);
1254
+ var b = Math.round(b1 * (1 - validRatio) + b2 * validRatio);
1255
+ r = ('0' + (r || 0).toString(16)).slice(-2);
1256
+ g = ('0' + (g || 0).toString(16)).slice(-2);
1257
+ b = ('0' + (b || 0).toString(16)).slice(-2);
1258
+ return '#' + r + g + b;
1259
+ };
1260
+ var getRowHeight = exports.getRowHeight = function getRowHeight(element, rowIndex) {
1261
+ var _element$style = element.style,
1262
+ style = _element$style === void 0 ? {} : _element$style;
1263
+ var rowHeight = style[_constants3.TABLE_ROW_STYLE.MIN_HEIGHT] || _constants3.TABLE_ROW_MIN_HEIGHT;
1264
+ return rowIndex === 0 ? rowHeight + 1 : rowHeight;
1265
+ };
1266
+ var getRowDomHeight = exports.getRowDomHeight = function getRowDomHeight(editor, row) {
1267
+ var height = 0;
1268
+ var _iterator2 = (0, _createForOfIteratorHelper2["default"])(row.children),
1269
+ _step2;
1270
+ try {
1271
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
1272
+ var cell = _step2.value;
1273
+ var is_combined = cell.is_combined,
1274
+ _cell$rowspan = cell.rowspan,
1275
+ rowspan = _cell$rowspan === void 0 ? 1 : _cell$rowspan;
1276
+ if (is_combined || rowspan > 1) continue;
1277
+ var cellDom = null;
1278
+ try {
1279
+ cellDom = _slateReact.ReactEditor.toDOMNode(editor, cell);
1280
+ } catch (error) {
1281
+ if (!cellDom) break;
1282
+ }
1283
+ height = cellDom.getBoundingClientRect().height;
1284
+ break;
1285
+ }
1286
+ // if the row is empty, get the height from style
1287
+ } catch (err) {
1288
+ _iterator2.e(err);
1289
+ } finally {
1290
+ _iterator2.f();
1291
+ }
1292
+ if (!height) {
1293
+ height = row.style[_constants3.TABLE_ROW_STYLE.MIN_HEIGHT] || _constants3.TABLE_ROW_MIN_HEIGHT;
1294
+ }
1295
+ return height;
1296
+ };
1297
+ var normalizeTableCell = function normalizeTableCell(editor, cell) {
1298
+ if (!cell) return generateTableCell(editor);
1299
+ var newCell = (0, _objectSpread3["default"])({
1300
+ children: [{
1301
+ text: '',
1302
+ id: _slugid["default"].nice()
1303
+ }]
1304
+ }, cell);
1305
+
1306
+ // normalize cell children
1307
+ var newCellChildren = [];
1308
+ newCell.children.forEach(function (cellChild) {
1309
+ var cellChildType = cellChild.type;
1310
+ if (cellChildType === _constants2.ELEMENT_TYPE.PARAGRAPH) {
1311
+ newCellChildren.push.apply(newCellChildren, (0, _toConsumableArray2["default"])(cellChild.children));
1312
+ } else {
1313
+ newCellChildren.push(cellChild);
1314
+ }
1315
+ });
1316
+ newCell.children = newCellChildren.map(function (item) {
1317
+ if (item.BOLD) {
1318
+ item.bold = item.BOLD;
1319
+ delete item['BOLD'];
1320
+ }
1321
+ if (item.ITALIC) {
1322
+ item.italic = item.ITALIC;
1323
+ delete item['ITALIC'];
1324
+ }
1325
+ return item;
1326
+ });
1327
+
1328
+ // normalize cell style
1329
+ if (newCell.data) {
1330
+ var cellStyle = (0, _objectSpread3["default"])({}, newCell.data);
1331
+ delete newCell['data'];
1332
+ Object.keys(cellStyle).forEach(function (cellStyleKey) {
1333
+ if (cellStyleKey === 'align') {
1334
+ cellStyle['text_align'] = cellStyle['align'];
1335
+ delete cellStyle['align'];
1336
+ }
1337
+ });
1338
+ newCell.style = cellStyle;
1339
+ }
1340
+ return newCell;
1341
+ };
1342
+ var normalizeTableELement = exports.normalizeTableELement = function normalizeTableELement(editor, element) {
1343
+ if (element.type !== _constants2.ELEMENT_TYPE.TABLE) {
1344
+ var size = [element.children.length, element.children[0].children.length];
1345
+ return generateEmptyTable(editor, {
1346
+ size: size
1347
+ });
1348
+ }
1349
+ var newElement = (0, _objectSpread3["default"])({}, element);
1350
+ for (var i = 0; i < element.children.length; i++) {
1351
+ var row = newElement.children[i];
1352
+ for (var j = 0; j < row.children.length; j++) {
1353
+ row.children[j] = normalizeTableCell(editor, row.children[j]);
1354
+ }
1355
+ newElement.children[i] = row;
1356
+ }
1357
+ return newElement;
1358
+ };
1359
+ var insertTableByTemplate = exports.insertTableByTemplate = function insertTableByTemplate(editor, alternateColor) {
1360
+ var size = [4, 4];
1361
+ var tableNode = generateEmptyTable(editor, {
1362
+ size: size,
1363
+ alternate_highlight_color: alternateColor,
1364
+ alternate_highlight: true
1365
+ });
1366
+ var path = _slate.Editor.path(editor, editor.selection);
1367
+ var insertPosition = getInsertPosition(editor);
1368
+ handleInsertTable(editor, insertPosition, path, tableNode);
1369
+ };
1370
+
1371
+ /**
1372
+ * @param {Editor} editor
1373
+ * @param {InsertPosition} insertPosition
1374
+ * @param {Path} path
1375
+ * @param {Node} tableNode
1376
+ * Insert table by insertPosition
1377
+ */
1378
+ var handleInsertTable = exports.handleInsertTable = function handleInsertTable(editor, insertPosition, path, tableNode) {
1379
+ var selection = editor.selection;
1380
+ if (insertPosition === _constants2.INSERT_POSITION.BEFORE) {
1381
+ var insertPath = [path[0]];
1382
+ _slate.Transforms.insertNodes(editor, tableNode, {
1383
+ at: insertPath
1384
+ });
1385
+ } else if (insertPosition === _constants2.INSERT_POSITION.AFTER) {
1386
+ var _insertPath = [path[0] + 1];
1387
+ _slate.Transforms.insertNodes(editor, tableNode, {
1388
+ at: _insertPath
1389
+ });
1390
+ } else if (insertPosition === _constants2.INSERT_POSITION.CURRENT) {
1391
+ _slate.Transforms.splitNodes(editor, {
1392
+ at: selection,
1393
+ always: true
1394
+ });
1395
+ _slate.Transforms.insertNodes(editor, tableNode, {
1396
+ at: selection.anchor
1397
+ });
1398
+ }
1399
+ _slateReact.ReactEditor.focus(editor);
1400
+ };
1401
+ var getInsertPosition = exports.getInsertPosition = function getInsertPosition(editor) {
1402
+ var selection = editor.selection;
1403
+ if (!selection) return _constants2.INSERT_POSITION.CURRENT;
1404
+ if (!_slate.Range.isCollapsed(selection)) return _constants2.INSERT_POSITION.CURRENT;
1405
+ var aboveNodeEntry = (0, _core.getAboveBlockNode)(editor);
1406
+ if (!aboveNodeEntry) return _constants2.INSERT_POSITION.CURRENT;
1407
+ var isAtStart = _slate.Editor.isStart(editor, selection.anchor, aboveNodeEntry[1]);
1408
+ if (isAtStart) return _constants2.INSERT_POSITION.BEFORE;
1409
+ var isAtEnd = _slate.Editor.isEnd(editor, selection.anchor, aboveNodeEntry[1]);
1410
+ if (isAtEnd) return _constants2.INSERT_POSITION.AFTER;
1411
+ return _constants2.INSERT_POSITION.CURRENT;
1412
+ };
1413
+ var generateInheritStyle = exports.generateInheritStyle = function generateInheritStyle(allowedInheritStyleList, style, cell) {
1414
+ var inheritStyle = (0, _objectSpread3["default"])({}, cell['inherit_style']) || {};
1415
+ for (var key in style) {
1416
+ if (Object.hasOwnProperty.call(style, key) && allowedInheritStyleList.includes(key)) {
1417
+ inheritStyle[key] = style[key];
1418
+ }
1419
+ }
1420
+ return inheritStyle;
1421
+ };
1422
+ var getCellInheritStyles = exports.getCellInheritStyles = function getCellInheritStyles(editor, tablePath, rowIndex, colIndex) {
1423
+ var _table$children$rowIn, _tableCell$inherit_st;
1424
+ var _Editor$nodes5 = _slate.Editor.nodes(editor, {
1425
+ match: function match(n) {
1426
+ return n.type === _constants2.ELEMENT_TYPE.TABLE;
1427
+ },
1428
+ at: tablePath
1429
+ }),
1430
+ _Editor$nodes6 = (0, _slicedToArray2["default"])(_Editor$nodes5, 1),
1431
+ tableNodeEntry = _Editor$nodes6[0];
1432
+ if (!tableNodeEntry) return {};
1433
+ var table = tableNodeEntry[0];
1434
+ var tableCell = (_table$children$rowIn = table.children[rowIndex]) === null || _table$children$rowIn === void 0 ? void 0 : _table$children$rowIn.children[colIndex];
1435
+ if (!tableCell) return {};
1436
+ return (_tableCell$inherit_st = tableCell['inherit_style']) !== null && _tableCell$inherit_st !== void 0 ? _tableCell$inherit_st : {};
1437
+ };
1438
+ var getCellHighlightClassName = exports.getCellHighlightClassName = function getCellHighlightClassName(primaryColorClassName, rowIndex) {
1439
+ var className = '';
1440
+ if (rowIndex === 0) {
1441
+ className = primaryColorClassName;
1442
+ } else if (rowIndex % 2 === 0) {
1443
+ className = _constants3.TABLE_ALTERNATE_HIGHLIGHT_CLASS_MAP[primaryColorClassName];
1444
+ }
1445
+ return className;
1446
+ };
1447
+ var focusClosestCellWhenJustifyCellSize = exports.focusClosestCellWhenJustifyCellSize = function focusClosestCellWhenJustifyCellSize(editor, adjustingCell) {
1448
+ var cellPath = _slateReact.ReactEditor.findPath(editor, adjustingCell);
1449
+ (0, _core.focusEditor)(editor, _slate.Editor.end(editor, cellPath));
1450
+ };
1451
+
1452
+ // Search main cell of combined cell
1453
+ var searchCombinedMainCell = function searchCombinedMainCell(table, startRowIndex, startColIndex) {
1454
+ for (var rowIndex = startRowIndex; rowIndex >= 0; rowIndex--) {
1455
+ var row = table.children[rowIndex];
1456
+ for (var cellIndex = startColIndex; cellIndex >= 0; cellIndex--) {
1457
+ var currentCell = row.children[cellIndex];
1458
+ var _currentCell$colspan = currentCell.colspan,
1459
+ colspan = _currentCell$colspan === void 0 ? 0 : _currentCell$colspan,
1460
+ _currentCell$rowspan = currentCell.rowspan,
1461
+ rowspan = _currentCell$rowspan === void 0 ? 0 : _currentCell$rowspan;
1462
+ if (colspan <= 1 && rowspan <= 1) continue;
1463
+ var isInColRange = cellIndex + colspan >= startColIndex;
1464
+ var isInRowRange = rowIndex + rowspan >= startRowIndex;
1465
+ if (isInColRange && isInRowRange) {
1466
+ return {
1467
+ currentCell: currentCell,
1468
+ rowIndex: rowIndex,
1469
+ cellIndex: cellIndex
1470
+ };
1471
+ } else break;
1472
+ }
1473
+ }
1474
+ };
1475
+ var getResizeMaskCellInfo = exports.getResizeMaskCellInfo = function getResizeMaskCellInfo(editor, table, rowIndex, cellIndex) {
1476
+ // The cell shown cursor as resize (mouse is on this cell)
1477
+ var focusCellIndex = cellIndex;
1478
+ var focusCell = table.children[rowIndex].children[cellIndex];
1479
+ // The cell dominating resize handlers (the true cell to be resized)
1480
+ var cell = table.children[rowIndex].children[cellIndex];
1481
+ // Resolve combined cell
1482
+ if (cell.is_combined) {
1483
+ var targetCellInfo = searchCombinedMainCell(table, rowIndex, cellIndex);
1484
+ cellIndex = targetCellInfo.cellIndex;
1485
+ rowIndex = targetCellInfo.rowIndex;
1486
+ cell = targetCellInfo.currentCell;
1487
+ }
1488
+ var columns = table.columns;
1489
+ var focussedCell = _slateReact.ReactEditor.toDOMNode(editor, cell);
1490
+ var colspan = focusCell.colspan,
1491
+ rowspan = focusCell.rowspan;
1492
+ var width = columns[cellIndex].width;
1493
+ var height = focussedCell.getBoundingClientRect().height;
1494
+ // Calculate cell width and height
1495
+ if (colspan > 1) {
1496
+ var index = cellIndex + 1;
1497
+ while (index < cellIndex + colspan) {
1498
+ width += columns[index].width;
1499
+ index++;
1500
+ }
1501
+ }
1502
+ if (rowspan > 1) {
1503
+ var _index = rowIndex + 1;
1504
+ while (_index < rowIndex + rowspan) {
1505
+ var currentCell = table.children[_index].children[cellIndex];
1506
+ var currentHeight = _slateReact.ReactEditor.toDOMNode(editor, currentCell).getBoundingClientRect().height;
1507
+ height += currentHeight;
1508
+ _index++;
1509
+ }
1510
+ }
1511
+ return {
1512
+ width: width,
1513
+ height: height,
1514
+ top: focussedCell.offsetTop,
1515
+ left: focussedCell.offsetLeft,
1516
+ rowIndex: rowIndex,
1517
+ cellIndex: cellIndex,
1518
+ cell: cell,
1519
+ focusCellIndex: focusCellIndex
1520
+ };
1521
+ };
1522
+
1523
+ // Table alternate highlight
1524
+ var getHighlightClass = exports.getHighlightClass = function getHighlightClass(editor, cellPath) {
1525
+ var _tableEntry$;
1526
+ var _Editor$nodes7 = _slate.Editor.nodes(editor, {
1527
+ at: cellPath,
1528
+ match: function match(n) {
1529
+ return n.type === _constants2.ELEMENT_TYPE.TABLE;
1530
+ }
1531
+ }),
1532
+ _Editor$nodes8 = (0, _slicedToArray2["default"])(_Editor$nodes7, 1),
1533
+ tableEntry = _Editor$nodes8[0];
1534
+ var _ref = ((_tableEntry$ = tableEntry[0]) === null || _tableEntry$ === void 0 ? void 0 : _tableEntry$.ui) || {},
1535
+ alternate_highlight = _ref.alternate_highlight,
1536
+ alternate_highlight_color = _ref.alternate_highlight_color;
1537
+ if (!alternate_highlight) return '';
1538
+ var rowIndex = cellPath[cellPath.length - 2];
1539
+ var className = getCellHighlightClassName(alternate_highlight_color, rowIndex);
1540
+ return className;
1541
+ };
1542
+
1543
+ // Correct the selected range when combined cell are selected
1544
+ var adjustCombinedCellRange = exports.adjustCombinedCellRange = function adjustCombinedCellRange(table, range) {
1545
+ var minRowIndex = range.minRowIndex,
1546
+ maxRowIndex = range.maxRowIndex,
1547
+ minColIndex = range.minColIndex,
1548
+ maxColIndex = range.maxColIndex;
1549
+ var firstCell = table.children[minRowIndex].children[minColIndex];
1550
+ var _firstCell$colspan = firstCell.colspan,
1551
+ colspan = _firstCell$colspan === void 0 ? 0 : _firstCell$colspan,
1552
+ _firstCell$rowspan = firstCell.rowspan,
1553
+ rowspan = _firstCell$rowspan === void 0 ? 0 : _firstCell$rowspan;
1554
+ if (rowspan > 1 || colspan > 1) {
1555
+ var isRowCombined = minRowIndex + rowspan === maxRowIndex + 1;
1556
+ var isColCombined = minColIndex + colspan === maxColIndex + 1;
1557
+ if (isRowCombined && isColCombined) return _constants3.EMPTY_SELECTED_RANGE;
1558
+ }
1559
+ return range;
1560
+ };
1561
+
1562
+ /**
1563
+ * Do not reset table selected range, when drag table column / row
1564
+ * @param {MouseEvent} event
1565
+ * @returns {Boolean}
1566
+ */
1567
+ var isPreventResetTableSelectedRange = exports.isPreventResetTableSelectedRange = function isPreventResetTableSelectedRange(event) {
1568
+ var target = event.target;
1569
+ var draggable = target.getAttribute('draggable');
1570
+ var isColumnHeader = target.classList.contains('sdoc-table-column-header');
1571
+ var isRowHeader = target.classList.contains('sdoc-table-row-header');
1572
+ var isHeader = isColumnHeader || isRowHeader;
1573
+ var isPreventReset = isHeader || draggable === 'true';
1574
+ return isPreventReset;
1575
+ };
1576
+
1577
+ /**
1578
+ * Check drag type, column or row
1579
+ */
1580
+ var getTableDragType = exports.getTableDragType = function getTableDragType(table, selectedRange) {
1581
+ var rowCount = table.children.length;
1582
+ var minRowIndex = selectedRange.minRowIndex,
1583
+ maxRowIndex = selectedRange.maxRowIndex;
1584
+ var isSelectColumn = minRowIndex === 0 && maxRowIndex === rowCount - 1;
1585
+ return isSelectColumn ? _constants3.DRAG_HANDLER_COLUMN : _constants3.DRAG_HANDLER_ROW;
1586
+ };
1587
+ var updateTableColumns = function updateTableColumns(editor, table, targetColIndex, startColIndex, endColIndex) {
1588
+ var columns = (0, _toConsumableArray2["default"])(table.columns);
1589
+ var deleteCount = endColIndex - startColIndex + 1;
1590
+ var newColumns = columns.splice(startColIndex, deleteCount);
1591
+ columns.splice.apply(columns, [targetColIndex, 0].concat((0, _toConsumableArray2["default"])(newColumns)));
1592
+ updateColumnWidth(editor, table, columns);
1593
+ };
1594
+ var moveColumns = exports.moveColumns = function moveColumns(editor, targetColIndex, startColIndex, endColIndex) {
1595
+ // Get selected table information
1596
+ var _getSelectedInfo13 = getSelectedInfo(editor),
1597
+ table = _getSelectedInfo13.table,
1598
+ tablePath = _getSelectedInfo13.tablePath;
1599
+ // Check if moving columns forward or backward
1600
+ var isMoveToFroward = targetColIndex < startColIndex;
1601
+
1602
+ // Iterate over each row in the table
1603
+ table.children.forEach(function (row, rowIndex) {
1604
+ if (isMoveToFroward) {
1605
+ // Calculate target and source paths for moving columns forward
1606
+ var targetPath = [].concat((0, _toConsumableArray2["default"])(tablePath), [rowIndex, targetColIndex]);
1607
+ var sourcePath = [].concat((0, _toConsumableArray2["default"])(tablePath), [rowIndex, endColIndex]);
1608
+
1609
+ // Move columns forward by inserting nodes
1610
+ for (var insertIndex = endColIndex; insertIndex >= startColIndex; insertIndex--) {
1611
+ var insertNode = row.children[insertIndex];
1612
+ _slate.Transforms.removeNodes(editor, {
1613
+ at: sourcePath
1614
+ });
1615
+ _slate.Transforms.insertNodes(editor, insertNode, {
1616
+ at: targetPath
1617
+ });
1618
+ }
1619
+ } else {
1620
+ // Calculate target and source paths for moving columns backward
1621
+ var _targetPath = [].concat((0, _toConsumableArray2["default"])(tablePath), [rowIndex, targetColIndex - 1]);
1622
+ var _sourcePath = [].concat((0, _toConsumableArray2["default"])(tablePath), [rowIndex, startColIndex]);
1623
+
1624
+ // Move columns backward by inserting nodes
1625
+ for (var _insertIndex = startColIndex; _insertIndex <= endColIndex; _insertIndex++) {
1626
+ var _insertNode = row.children[_insertIndex];
1627
+ _slate.Transforms.removeNodes(editor, {
1628
+ at: _sourcePath
1629
+ });
1630
+ _slate.Transforms.insertNodes(editor, _insertNode, {
1631
+ at: _targetPath
1632
+ });
1633
+ }
1634
+ }
1635
+ });
1636
+
1637
+ // Update table columns after moving
1638
+ updateTableColumns(editor, table, targetColIndex, startColIndex, endColIndex);
1639
+
1640
+ // Set new selected range after moving columns
1641
+ var newSelectRange = {
1642
+ minRowIndex: 0,
1643
+ maxRowIndex: table.children.length - 1,
1644
+ minColIndex: targetColIndex,
1645
+ maxColIndex: targetColIndex + endColIndex - startColIndex
1646
+ };
1647
+ setTableSelectedRange(editor, newSelectRange);
1648
+ };
1649
+
1650
+ /**
1651
+ * Calculate the new selected range after dragging a column or row in the table.
1652
+ * @param {Object} table - The table object containing columns and rows.
1653
+ * @param {string} moveType - The type of drag operation (DRAG_HANDLER_COLUMN for column, DRAG_HANDLER_ROW for row).
1654
+ * @param {number} targetIndex - The index of the target column or row after dragging.
1655
+ * @param {number} startIndex - The index of the starting column or row before dragging.
1656
+ * @param {number} endIndex - The index of the ending column or row before dragging.
1657
+ * @returns {Object} - The new selected range after the drag operation.
1658
+ */
1659
+ var getTableSelectedRangeAfterDrag = exports.getTableSelectedRangeAfterDrag = function getTableSelectedRangeAfterDrag(table, moveType, targetIndex, startIndex, endIndex) {
1660
+ // Calculate the total number of columns and rows in the table
1661
+ var colCount = table.columns.length;
1662
+ var rowCount = table.children.length;
1663
+
1664
+ // Initialize the new selected range with full table range
1665
+ var newSelectRange = {
1666
+ minRowIndex: 0,
1667
+ maxRowIndex: rowCount - 1,
1668
+ minColIndex: 0,
1669
+ maxColIndex: colCount - 1
1670
+ };
1671
+
1672
+ // Determine if the drag movement is forward or backward
1673
+ var isMoveToFroward = targetIndex < startIndex;
1674
+
1675
+ // Adjust selected range based on the type of drag operation
1676
+ if (moveType === _constants3.DRAG_HANDLER_COLUMN) {
1677
+ if (isMoveToFroward) {
1678
+ newSelectRange.minColIndex = targetIndex;
1679
+ newSelectRange.maxColIndex = targetIndex + endIndex - startIndex;
1680
+ } else {
1681
+ var moveCount = endIndex - startIndex + 1;
1682
+ newSelectRange.minColIndex = targetIndex - moveCount;
1683
+ newSelectRange.maxColIndex = targetIndex - 1;
1684
+ }
1685
+ } else {
1686
+ if (isMoveToFroward) {
1687
+ newSelectRange.minRowIndex = targetIndex;
1688
+ newSelectRange.maxRowIndex = targetIndex + endIndex - startIndex;
1689
+ } else {
1690
+ var _moveCount = endIndex - startIndex + 1;
1691
+ newSelectRange.minRowIndex = targetIndex - _moveCount;
1692
+ newSelectRange.maxRowIndex = targetIndex - 1;
1693
+ }
1694
+ }
1695
+ return newSelectRange;
1696
+ };
1697
+ var moveRows = exports.moveRows = function moveRows(editor, targetRowIndex, startRowIndex, endRowIndex) {
1698
+ var _getSelectedInfo14 = getSelectedInfo(editor),
1699
+ table = _getSelectedInfo14.table,
1700
+ tablePath = _getSelectedInfo14.tablePath;
1701
+ var isMoveToFroward = targetRowIndex < startRowIndex;
1702
+ var targetPath = [].concat((0, _toConsumableArray2["default"])(tablePath), [isMoveToFroward ? targetRowIndex : targetRowIndex - 1]);
1703
+ var sourcePath = [].concat((0, _toConsumableArray2["default"])(tablePath), [isMoveToFroward ? endRowIndex : startRowIndex]);
1704
+ if (isMoveToFroward) {
1705
+ for (var insertIndex = endRowIndex; insertIndex >= startRowIndex; insertIndex--) {
1706
+ var insertNode = table.children[insertIndex];
1707
+ _slate.Transforms.removeNodes(editor, {
1708
+ at: sourcePath
1709
+ });
1710
+ _slate.Transforms.insertNodes(editor, insertNode, {
1711
+ at: targetPath
1712
+ });
1713
+ }
1714
+ } else {
1715
+ for (var _insertIndex2 = startRowIndex; _insertIndex2 <= endRowIndex; _insertIndex2++) {
1716
+ var _insertNode2 = table.children[_insertIndex2];
1717
+ _slate.Transforms.removeNodes(editor, {
1718
+ at: sourcePath
1719
+ });
1720
+ _slate.Transforms.insertNodes(editor, _insertNode2, {
1721
+ at: targetPath
1722
+ });
1723
+ }
1724
+ }
1725
+ var newSelectRange = {
1726
+ minRowIndex: targetRowIndex,
1727
+ maxRowIndex: targetRowIndex + endRowIndex - startRowIndex,
1728
+ minColIndex: 0,
1729
+ maxColIndex: table.children.length - 1
1730
+ };
1731
+ setTableSelectedRange(editor, newSelectRange);
1732
+ };
1733
+ var generateDragMoveElement = exports.generateDragMoveElement = function generateDragMoveElement(tipText) {
1734
+ var canvasId = 'sdoc-drag-image';
1735
+ var canvas = document.getElementById(canvasId);
1736
+ if (!canvas) {
1737
+ var dpr = window.devicePixelRatio;
1738
+ canvas = document.createElement('canvas');
1739
+ canvas.width = 115;
1740
+ canvas.height = 30;
1741
+ canvas.id = canvasId;
1742
+ document.body.appendChild(canvas);
1743
+ var _canvas$getBoundingCl = canvas.getBoundingClientRect(),
1744
+ cssWidth = _canvas$getBoundingCl.width,
1745
+ cssHeight = _canvas$getBoundingCl.height;
1746
+ canvas.style.width = canvas.width + 'px';
1747
+ canvas.style.height = canvas.height + 'px';
1748
+ canvas.width = dpr * cssWidth;
1749
+ canvas.height = dpr * cssHeight;
1750
+ canvas.style.position = 'fixed';
1751
+ }
1752
+ canvas.style.display = 'block';
1753
+ var context = canvas.getContext('2d');
1754
+ context.clearRect(0, 0, canvas.width, canvas.height);
1755
+ context.fillStyle = 'rgb(241,243,246)';
1756
+ context.fillRect(0, 0, canvas.width, canvas.height);
1757
+ context.font = '22px Arial';
1758
+ context.textBaseline = 'middle';
1759
+ context.textAlign = 'center';
1760
+ context.fillStyle = 'black';
1761
+ context.fillText(tipText, canvas.width / 2, canvas.height / 2);
1762
+ return canvas;
1763
+ };
1764
+ var isHideDragHandlerLine = exports.isHideDragHandlerLine = function isHideDragHandlerLine(editor, displayType, table, cellPath, isDragOverCellHalf) {
1765
+ var pathLength = cellPath.length;
1766
+ var rowIndex = cellPath[pathLength - 2];
1767
+ var cellIndex = cellPath[pathLength - 1];
1768
+
1769
+ // Check is above cell selected
1770
+ var currentCellDom = _slateReact.ReactEditor.toDOMNode(editor, table.children[rowIndex].children[cellIndex]);
1771
+ var isCurrentCellSelected = currentCellDom.classList.contains(_constants3.CELL_SELECTED);
1772
+ if (isCurrentCellSelected) return true;
1773
+ if (isDragOverCellHalf) {
1774
+ if (displayType === _constants3.DRAG_HANDLER_COLUMN) {
1775
+ cellIndex = cellIndex + 1;
1776
+ } else {
1777
+ rowIndex = rowIndex + 1;
1778
+ }
1779
+ }
1780
+ var isEndOfRowOrColumn = displayType === _constants3.DRAG_HANDLER_COLUMN && cellIndex === table.columns.length || displayType === _constants3.DRAG_HANDLER_ROW && rowIndex === table.children.length;
1781
+ if (isEndOfRowOrColumn) return false;
1782
+ var preCellDom = null;
1783
+ if (displayType === _constants3.DRAG_HANDLER_COLUMN && cellIndex > 0) {
1784
+ var prevCell = table.children[rowIndex].children[cellIndex - 1];
1785
+ preCellDom = _slateReact.ReactEditor.toDOMNode(editor, prevCell);
1786
+
1787
+ // Check if there are merged cells in the columns before and after the drag line
1788
+ var beforeLineColumnHasCombined = table.children.find(function (item) {
1789
+ var cell = item.children[cellIndex - 1];
1790
+ return cell.children.length > 1;
1791
+ });
1792
+ var afterLineColumnHasCombined = table.children.find(function (item) {
1793
+ var cell = item.children[cellIndex];
1794
+ return (cell === null || cell === void 0 ? void 0 : cell.is_combined) === true;
1795
+ });
1796
+ if (beforeLineColumnHasCombined && afterLineColumnHasCombined) return true;
1797
+ } else if (displayType === _constants3.DRAG_HANDLER_ROW && rowIndex > 0) {
1798
+ var _prevCell = table.children[rowIndex - 1].children[cellIndex];
1799
+ preCellDom = _slateReact.ReactEditor.toDOMNode(editor, _prevCell);
1800
+
1801
+ // Check whether there are merged cells in the rows before and after the drag line
1802
+ var beforeLineRow = table.children[rowIndex - 1];
1803
+ var afterLineRow = table.children[rowIndex];
1804
+ var beforeLineRowHasCombined = beforeLineRow.children.find(function (item) {
1805
+ return item.children.length > 1;
1806
+ });
1807
+ var afterLineRowHasCombined = afterLineRow.children.find(function (item) {
1808
+ return (item === null || item === void 0 ? void 0 : item.is_combined) === true;
1809
+ });
1810
+ if (beforeLineRowHasCombined && afterLineRowHasCombined) return true;
1811
+ }
1812
+
1813
+ // Check is above cell selected
1814
+ currentCellDom = _slateReact.ReactEditor.toDOMNode(editor, table.children[rowIndex].children[cellIndex]);
1815
+ isCurrentCellSelected = currentCellDom.classList.contains(_constants3.CELL_SELECTED);
1816
+ if (isCurrentCellSelected) return true;
1817
+
1818
+ // Check if the previous cell is selected
1819
+ var isPrevCellSelected = preCellDom && preCellDom.classList.contains(_constants3.CELL_SELECTED);
1820
+ if (isPrevCellSelected) return true;
1821
+ var isCombined = false;
1822
+ // Check if the combined cell
1823
+ if (displayType === _constants3.DRAG_HANDLER_COLUMN) {
1824
+ isCombined = table.children.some(function (row) {
1825
+ return row.children[cellIndex - isDragOverCellHalf].is_combined;
1826
+ });
1827
+ } else {
1828
+ isCombined = table.children[rowIndex - isDragOverCellHalf].children.some(function (cell) {
1829
+ return cell.is_combined;
1830
+ });
1831
+ }
1832
+ if (isCombined) return true;
1833
+
1834
+ // Check is the last column
1835
+ if (displayType === _constants3.DRAG_HANDLER_COLUMN) {
1836
+ var isLastColumn = cellIndex === table.columns.length - 1;
1837
+ if (isLastColumn) return false;
1838
+ }
1839
+ };
1840
+ var getTableRowSelectedRange = exports.getTableRowSelectedRange = function getTableRowSelectedRange(table, rowIndex) {
1841
+ var row = table.children[rowIndex];
1842
+ var columnCount = row.children.length;
1843
+ var minRowIndex = rowIndex;
1844
+ var maxRowIndex = rowIndex;
1845
+ var minColIndex = 0;
1846
+ var maxColIndex = columnCount - 1;
1847
+ var _findRowRange = function findRowRange(findRowIndex) {
1848
+ var checkRow = table.children[findRowIndex];
1849
+ var combinedIndexes = checkRow.children.reduce(function (acc, cell, index) {
1850
+ if (cell.is_combined) acc.push(index);
1851
+ if (cell.rowspan > 1) {
1852
+ maxRowIndex = Math.max(maxRowIndex, findRowIndex + cell.rowspan - 1);
1853
+ _findRowRange(maxRowIndex);
1854
+ }
1855
+ return acc;
1856
+ }, []);
1857
+ combinedIndexes.some(function (combinedIndex) {
1858
+ var _searchCombinedMainCe = searchCombinedMainCell(table, findRowIndex, combinedIndex),
1859
+ mainCellRowIndex = _searchCombinedMainCe.rowIndex,
1860
+ currentCell = _searchCombinedMainCe.currentCell;
1861
+ if (minRowIndex > mainCellRowIndex) {
1862
+ minRowIndex = mainCellRowIndex;
1863
+ _findRowRange(minRowIndex, 0);
1864
+ return false;
1865
+ } else if (maxRowIndex < mainCellRowIndex + currentCell.rowspan - 1) {
1866
+ maxRowIndex = mainCellRowIndex + currentCell.rowspan - 1;
1867
+ _findRowRange(maxRowIndex, 0);
1868
+ return false;
1869
+ }
1870
+ return false;
1871
+ });
1872
+ };
1873
+ _findRowRange(rowIndex);
1874
+ return {
1875
+ minRowIndex: minRowIndex,
1876
+ maxRowIndex: maxRowIndex,
1877
+ minColIndex: minColIndex,
1878
+ maxColIndex: maxColIndex
1879
+ };
1880
+ };
1881
+ var getTableColumnSelectedRange = exports.getTableColumnSelectedRange = function getTableColumnSelectedRange(table, columnIndex) {
1882
+ var minRowIndex = 0;
1883
+ var maxRowIndex = table.children.length - 1;
1884
+ var minColIndex = columnIndex;
1885
+ var maxColIndex = columnIndex;
1886
+ var _findColRange = function findColRange(findColIndex) {
1887
+ var combinedIndexes = [];
1888
+ table.children.forEach(function (row, rowIndex) {
1889
+ var cell = row.children[findColIndex];
1890
+ if (cell.is_combined) combinedIndexes.push(rowIndex);
1891
+ if (cell.colspan > 1) {
1892
+ maxColIndex = Math.max(maxColIndex, findColIndex + cell.colspan - 1);
1893
+ _findColRange(maxColIndex);
1894
+ }
1895
+ });
1896
+ combinedIndexes.some(function (combinedIndex) {
1897
+ var _searchCombinedMainCe2 = searchCombinedMainCell(table, combinedIndex, findColIndex),
1898
+ mainCellColIndex = _searchCombinedMainCe2.cellIndex,
1899
+ currentCell = _searchCombinedMainCe2.currentCell;
1900
+ if (minColIndex > mainCellColIndex) {
1901
+ minColIndex = mainCellColIndex;
1902
+ _findColRange(minColIndex, 0);
1903
+ return false;
1904
+ } else if (maxColIndex < mainCellColIndex + currentCell.colspan - 1) {
1905
+ maxColIndex = mainCellColIndex + currentCell.colspan - 1;
1906
+ _findColRange(maxColIndex, 0);
1907
+ return false;
1908
+ }
1909
+ return false;
1910
+ });
1911
+ };
1912
+ _findColRange(columnIndex);
1913
+ return {
1914
+ minRowIndex: minRowIndex,
1915
+ maxRowIndex: maxRowIndex,
1916
+ minColIndex: minColIndex,
1917
+ maxColIndex: maxColIndex
1918
+ };
1919
+ };
1920
+ var isTableWidthFitScreen = exports.isTableWidthFitScreen = function isTableWidthFitScreen(editor) {
1921
+ var _getSelectedInfo15 = getSelectedInfo(editor),
1922
+ table = _getSelectedInfo15.table;
1923
+ var tableNode = _slateReact.ReactEditor.toDOMNode(editor, table);
1924
+ if (!tableNode) return;
1925
+ var tableDom = tableNode.querySelector('.sdoc-table-scroll-wrapper');
1926
+ var _tableDom$getBounding = tableDom.getBoundingClientRect(),
1927
+ tableWidth = _tableDom$getBounding.width;
1928
+ var sdocWidth = editor.width;
1929
+ if (tableWidth >= sdocWidth) return true;
1930
+ return false;
1931
+ };
1932
+ var fitTableColumnToScreen = exports.fitTableColumnToScreen = function fitTableColumnToScreen(editor) {
1933
+ var _getSelectedInfo16 = getSelectedInfo(editor),
1934
+ table = _getSelectedInfo16.table,
1935
+ tablePath = _getSelectedInfo16.tablePath;
1936
+ var colCount = table.columns.length;
1937
+ var columnWidth = Math.max(_constants3.TABLE_CELL_MIN_WIDTH, parseInt(editor.width / colCount));
1938
+ var columns = table.columns.map(function (column) {
1939
+ return (0, _objectSpread3["default"])((0, _objectSpread3["default"])({}, column), {}, {
1940
+ width: columnWidth
1941
+ });
1942
+ });
1943
+ _slate.Transforms.setNodes(editor, {
1944
+ columns: columns
1945
+ }, {
1946
+ at: tablePath
1947
+ });
1948
+ };
1949
+ var deleteTableSelectCells = exports.deleteTableSelectCells = function deleteTableSelectCells(editor, deleteRange) {
1950
+ // eslint-disable-next-line no-unused-vars
1951
+ var start = deleteRange.start,
1952
+ end = deleteRange.end,
1953
+ rowsLength = deleteRange.rowsLength,
1954
+ columnLength = deleteRange.columnLength;
1955
+ // table path [tableIdx, rowIdx, colIdx, ...];
1956
+ if (start.length <= 3) return;
1957
+ var tableIndex = start[0];
1958
+ var minRowIndex = start[1];
1959
+ var deletePaths = [];
1960
+ if (start[1] === end[1]) {
1961
+ var minColIndex = start[2];
1962
+ var maxColIndex = end[2];
1963
+ for (var colIndex = minColIndex; colIndex <= maxColIndex; colIndex++) {
1964
+ deletePaths.push([tableIndex, minRowIndex, colIndex]);
1965
+ }
1966
+ }
1967
+ if (start[1] !== end[1]) {
1968
+ var isAfter = end[1] - start[1] === 1;
1969
+ // push first row
1970
+ var _minColIndex = start[2];
1971
+ for (var _colIndex = _minColIndex; _colIndex <= columnLength - 1; _colIndex++) {
1972
+ deletePaths.push([tableIndex, minRowIndex, _colIndex]);
1973
+ }
1974
+
1975
+ // push center row
1976
+ if (!isAfter) {
1977
+ for (var i = start[1] + 1; i <= end[1] - 1; i++) {
1978
+ for (var j = 0; j <= columnLength - 1; j++) {
1979
+ deletePaths.push([tableIndex, i, j]);
1980
+ }
1981
+ }
1982
+ }
1983
+
1984
+ // push last row
1985
+ var _maxColIndex = end[2];
1986
+ var maxRowIndex = end[1];
1987
+ for (var _colIndex2 = 0; _colIndex2 <= _maxColIndex; _colIndex2++) {
1988
+ deletePaths.push([tableIndex, maxRowIndex, _colIndex2]);
1989
+ }
1990
+ }
1991
+ for (var _i9 = 0; _i9 < deletePaths.length; _i9++) {
1992
+ var path = deletePaths[_i9];
1993
+ var node = (0, _core.getNode)(editor, path);
1994
+ var firstNode = node.children[0];
1995
+ (0, _core.replaceNodeChildren)(editor, {
1996
+ at: path,
1997
+ nodes: (0, _objectSpread3["default"])((0, _objectSpread3["default"])({}, firstNode), {}, {
1998
+ text: ''
1999
+ })
2000
+ });
2001
+ }
2002
+ };