@seafile/sdoc-editor 0.3.6 → 0.3.7

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 (339) hide show
  1. package/dist/api/sdoc-server-api.js +165 -170
  2. package/dist/api/seafile-api.js +180 -246
  3. package/dist/basic-sdk/comment/comment-decorate.js +23 -30
  4. package/dist/basic-sdk/comment/components/comment-all-participants/index.js +18 -18
  5. package/dist/basic-sdk/comment/components/comment-all-participants/participant-avatar.js +13 -13
  6. package/dist/basic-sdk/comment/components/comment-delete-shadow.js +11 -9
  7. package/dist/basic-sdk/comment/components/comment-editor.js +37 -34
  8. package/dist/basic-sdk/comment/components/comment-input/comment-participant-item.js +16 -14
  9. package/dist/basic-sdk/comment/components/comment-input/index.js +110 -106
  10. package/dist/basic-sdk/comment/components/comment-item-content.js +29 -37
  11. package/dist/basic-sdk/comment/components/comment-item-reply.js +24 -33
  12. package/dist/basic-sdk/comment/components/comment-item-resolved-reply.js +5 -3
  13. package/dist/basic-sdk/comment/components/comment-item-wrapper.js +190 -285
  14. package/dist/basic-sdk/comment/components/comment-list.js +52 -72
  15. package/dist/basic-sdk/comment/components/comment-participants-editor/index.js +23 -30
  16. package/dist/basic-sdk/comment/components/comment-participants-editor/searched-collaborators.js +21 -19
  17. package/dist/basic-sdk/comment/components/comment-participants-editor/selected-participants.js +16 -14
  18. package/dist/basic-sdk/comment/components/editor-comment.js +23 -32
  19. package/dist/basic-sdk/comment/components/elements-comment-count/element-comment-count.js +18 -20
  20. package/dist/basic-sdk/comment/components/elements-comment-count/index.js +8 -8
  21. package/dist/basic-sdk/comment/components/global-comment/global-comment-body-header.js +23 -25
  22. package/dist/basic-sdk/comment/components/global-comment/global-comment-editor.js +9 -7
  23. package/dist/basic-sdk/comment/components/global-comment/global-comment-header.js +9 -6
  24. package/dist/basic-sdk/comment/components/global-comment/index.js +63 -86
  25. package/dist/basic-sdk/comment/constants/index.js +9 -9
  26. package/dist/basic-sdk/comment/helper.js +27 -26
  27. package/dist/basic-sdk/comment/hooks/comment-hooks/use-comment-context.js +8 -7
  28. package/dist/basic-sdk/comment/hooks/comment-hooks/use-comment-list.js +19 -30
  29. package/dist/basic-sdk/comment/hooks/comment-hooks/use-comment-mount.js +41 -71
  30. package/dist/basic-sdk/comment/hooks/notification-hooks/use-notification-context.js +8 -7
  31. package/dist/basic-sdk/comment/hooks/notification-hooks/use-notification-mount.js +45 -64
  32. package/dist/basic-sdk/comment/hooks/use-participants.js +46 -53
  33. package/dist/basic-sdk/comment/index.js +22 -19
  34. package/dist/basic-sdk/comment/provider/comment-context-provider.js +9 -11
  35. package/dist/basic-sdk/comment/provider/index.js +4 -2
  36. package/dist/basic-sdk/comment/provider/notification-context-provider.js +9 -11
  37. package/dist/basic-sdk/comment/reducer/comment-reducer.js +151 -137
  38. package/dist/basic-sdk/comment/reducer/notification-reducer.js +20 -15
  39. package/dist/basic-sdk/comment/utils/index.js +180 -173
  40. package/dist/basic-sdk/comment/utils/notification-utils.js +15 -14
  41. package/dist/basic-sdk/constants/index.js +9 -9
  42. package/dist/basic-sdk/cursor/helper.js +13 -9
  43. package/dist/basic-sdk/cursor/use-cursors.js +9 -13
  44. package/dist/basic-sdk/decorates/index.js +8 -9
  45. package/dist/basic-sdk/editor/editable-article.js +63 -57
  46. package/dist/basic-sdk/editor/sdoc-editor.js +42 -47
  47. package/dist/basic-sdk/extension/commons/color-menu/color-item.js +6 -4
  48. package/dist/basic-sdk/extension/commons/color-menu/index.js +40 -50
  49. package/dist/basic-sdk/extension/commons/dropdown-menu-item/index.js +17 -16
  50. package/dist/basic-sdk/extension/commons/element-popover/index.js +27 -45
  51. package/dist/basic-sdk/extension/commons/insert-element-dialog/index.js +46 -59
  52. package/dist/basic-sdk/extension/commons/menu/menu-group.js +7 -21
  53. package/dist/basic-sdk/extension/commons/menu/menu-item.js +17 -14
  54. package/dist/basic-sdk/extension/commons/more-dropdown/index.js +9 -7
  55. package/dist/basic-sdk/extension/commons/select-file-dialog/helpers.js +3 -3
  56. package/dist/basic-sdk/extension/commons/select-file-dialog/index.js +26 -23
  57. package/dist/basic-sdk/extension/commons/select-file-dialog/local-files/index.js +49 -80
  58. package/dist/basic-sdk/extension/constants/color.js +10 -10
  59. package/dist/basic-sdk/extension/constants/diff-view.js +3 -3
  60. package/dist/basic-sdk/extension/constants/element-type.js +29 -29
  61. package/dist/basic-sdk/extension/constants/font.js +44 -37
  62. package/dist/basic-sdk/extension/constants/index.js +27 -16
  63. package/dist/basic-sdk/extension/constants/keyboard.js +4 -4
  64. package/dist/basic-sdk/extension/constants/menus-config.js +234 -203
  65. package/dist/basic-sdk/extension/core/queries/index.js +185 -285
  66. package/dist/basic-sdk/extension/core/transforms/focus-editor.js +2 -2
  67. package/dist/basic-sdk/extension/core/transforms/move-children.js +14 -14
  68. package/dist/basic-sdk/extension/core/transforms/remove-node-children.js +6 -18
  69. package/dist/basic-sdk/extension/core/transforms/replace-node.js +22 -19
  70. package/dist/basic-sdk/extension/core/transforms/update-parent-node.js +6 -8
  71. package/dist/basic-sdk/extension/core/utils/index.js +12 -12
  72. package/dist/basic-sdk/extension/index.js +6 -6
  73. package/dist/basic-sdk/extension/plugins/blockquote/helpers.js +39 -54
  74. package/dist/basic-sdk/extension/plugins/blockquote/index.js +1 -1
  75. package/dist/basic-sdk/extension/plugins/blockquote/menu/index.js +34 -44
  76. package/dist/basic-sdk/extension/plugins/blockquote/model.js +8 -9
  77. package/dist/basic-sdk/extension/plugins/blockquote/plugin.js +36 -37
  78. package/dist/basic-sdk/extension/plugins/blockquote/render-elem.js +7 -5
  79. package/dist/basic-sdk/extension/plugins/check-list/helpers.js +15 -25
  80. package/dist/basic-sdk/extension/plugins/check-list/index.js +1 -1
  81. package/dist/basic-sdk/extension/plugins/check-list/menu/index.js +35 -45
  82. package/dist/basic-sdk/extension/plugins/check-list/model.js +9 -10
  83. package/dist/basic-sdk/extension/plugins/check-list/plugin.js +16 -10
  84. package/dist/basic-sdk/extension/plugins/check-list/render-elem.js +42 -56
  85. package/dist/basic-sdk/extension/plugins/clear-format/helpers.js +21 -36
  86. package/dist/basic-sdk/extension/plugins/clear-format/menu/index.js +12 -10
  87. package/dist/basic-sdk/extension/plugins/code-block/helpers.js +40 -58
  88. package/dist/basic-sdk/extension/plugins/code-block/hover-menu/index.js +38 -46
  89. package/dist/basic-sdk/extension/plugins/code-block/index.js +1 -1
  90. package/dist/basic-sdk/extension/plugins/code-block/menu/index.js +9 -7
  91. package/dist/basic-sdk/extension/plugins/code-block/model.js +8 -9
  92. package/dist/basic-sdk/extension/plugins/code-block/plugin.js +44 -51
  93. package/dist/basic-sdk/extension/plugins/code-block/prismjs.js +27 -27
  94. package/dist/basic-sdk/extension/plugins/code-block/render-elem.js +62 -58
  95. package/dist/basic-sdk/extension/plugins/file-link/constants/index.js +16 -14
  96. package/dist/basic-sdk/extension/plugins/file-link/helpers.js +34 -36
  97. package/dist/basic-sdk/extension/plugins/file-link/hover-menu/index.js +19 -23
  98. package/dist/basic-sdk/extension/plugins/file-link/index.js +1 -1
  99. package/dist/basic-sdk/extension/plugins/file-link/menu/index.js +10 -8
  100. package/dist/basic-sdk/extension/plugins/file-link/plugin.js +17 -11
  101. package/dist/basic-sdk/extension/plugins/file-link/render-elem.js +34 -38
  102. package/dist/basic-sdk/extension/plugins/font/helpers.js +75 -78
  103. package/dist/basic-sdk/extension/plugins/font/index.js +1 -1
  104. package/dist/basic-sdk/extension/plugins/font/menu/font-family/font-item.js +14 -13
  105. package/dist/basic-sdk/extension/plugins/font/menu/font-family/index.js +38 -55
  106. package/dist/basic-sdk/extension/plugins/font/menu/font-size/font-size-scale.js +12 -10
  107. package/dist/basic-sdk/extension/plugins/font/menu/font-size/index.js +29 -31
  108. package/dist/basic-sdk/extension/plugins/font/menu/index.js +5 -3
  109. package/dist/basic-sdk/extension/plugins/font/plugin.js +4 -4
  110. package/dist/basic-sdk/extension/plugins/header/helpers.js +32 -38
  111. package/dist/basic-sdk/extension/plugins/header/index.js +1 -1
  112. package/dist/basic-sdk/extension/plugins/header/menu/index.js +101 -107
  113. package/dist/basic-sdk/extension/plugins/header/plugin.js +41 -44
  114. package/dist/basic-sdk/extension/plugins/header/render-elem.js +28 -20
  115. package/dist/basic-sdk/extension/plugins/html/helper.js +30 -28
  116. package/dist/basic-sdk/extension/plugins/html/index.js +1 -1
  117. package/dist/basic-sdk/extension/plugins/html/plugin.js +12 -10
  118. package/dist/basic-sdk/extension/plugins/html/rules/blockquote.js +5 -3
  119. package/dist/basic-sdk/extension/plugins/html/rules/check-list.js +4 -2
  120. package/dist/basic-sdk/extension/plugins/html/rules/code-block.js +20 -24
  121. package/dist/basic-sdk/extension/plugins/html/rules/header.js +7 -5
  122. package/dist/basic-sdk/extension/plugins/html/rules/image.js +4 -2
  123. package/dist/basic-sdk/extension/plugins/html/rules/index.js +1 -1
  124. package/dist/basic-sdk/extension/plugins/html/rules/link.js +5 -3
  125. package/dist/basic-sdk/extension/plugins/html/rules/list.js +6 -4
  126. package/dist/basic-sdk/extension/plugins/html/rules/paragraph.js +5 -3
  127. package/dist/basic-sdk/extension/plugins/html/rules/table.js +5 -3
  128. package/dist/basic-sdk/extension/plugins/html/rules/text.js +5 -3
  129. package/dist/basic-sdk/extension/plugins/image/constants/index.js +2 -2
  130. package/dist/basic-sdk/extension/plugins/image/dialogs/image-previewer.js +59 -75
  131. package/dist/basic-sdk/extension/plugins/image/helpers.js +74 -98
  132. package/dist/basic-sdk/extension/plugins/image/hover-menu/index.js +49 -62
  133. package/dist/basic-sdk/extension/plugins/image/index.js +1 -1
  134. package/dist/basic-sdk/extension/plugins/image/menu/index.js +12 -9
  135. package/dist/basic-sdk/extension/plugins/image/model.js +11 -12
  136. package/dist/basic-sdk/extension/plugins/image/plugin.js +43 -35
  137. package/dist/basic-sdk/extension/plugins/image/render-elem.js +73 -91
  138. package/dist/basic-sdk/extension/plugins/index.js +1 -1
  139. package/dist/basic-sdk/extension/plugins/link/dialog/add-link-dialog/index.js +30 -39
  140. package/dist/basic-sdk/extension/plugins/link/helpers.js +76 -100
  141. package/dist/basic-sdk/extension/plugins/link/hover/index.js +12 -9
  142. package/dist/basic-sdk/extension/plugins/link/index.js +1 -1
  143. package/dist/basic-sdk/extension/plugins/link/menu/index.js +10 -8
  144. package/dist/basic-sdk/extension/plugins/link/model.js +10 -11
  145. package/dist/basic-sdk/extension/plugins/link/plugin.js +28 -31
  146. package/dist/basic-sdk/extension/plugins/link/render-elem.js +66 -74
  147. package/dist/basic-sdk/extension/plugins/list/helpers.js +45 -57
  148. package/dist/basic-sdk/extension/plugins/list/index.js +1 -1
  149. package/dist/basic-sdk/extension/plugins/list/menu/index.js +37 -49
  150. package/dist/basic-sdk/extension/plugins/list/model.js +11 -12
  151. package/dist/basic-sdk/extension/plugins/list/plugin/index.js +16 -12
  152. package/dist/basic-sdk/extension/plugins/list/plugin/insert-break-list.js +4 -4
  153. package/dist/basic-sdk/extension/plugins/list/plugin/insert-fragment-list.js +54 -70
  154. package/dist/basic-sdk/extension/plugins/list/plugin/normalize-list.js +16 -20
  155. package/dist/basic-sdk/extension/plugins/list/plugin/on-tab-handle.js +19 -14
  156. package/dist/basic-sdk/extension/plugins/list/plugin/shortcut.js +20 -28
  157. package/dist/basic-sdk/extension/plugins/list/queries/index.js +16 -18
  158. package/dist/basic-sdk/extension/plugins/list/render-elem.js +23 -15
  159. package/dist/basic-sdk/extension/plugins/list/transforms/insert-list-item.js +20 -24
  160. package/dist/basic-sdk/extension/plugins/list/transforms/move-list-item-down.js +16 -19
  161. package/dist/basic-sdk/extension/plugins/list/transforms/move-list-item-up.js +31 -35
  162. package/dist/basic-sdk/extension/plugins/list/transforms/move-list-items-to-list.js +18 -18
  163. package/dist/basic-sdk/extension/plugins/list/transforms/move-list-items.js +23 -24
  164. package/dist/basic-sdk/extension/plugins/list/transforms/normalize-list-item.js +38 -55
  165. package/dist/basic-sdk/extension/plugins/list/transforms/normalize-nested-list.js +11 -13
  166. package/dist/basic-sdk/extension/plugins/list/transforms/remove-first-list-item.js +8 -8
  167. package/dist/basic-sdk/extension/plugins/list/transforms/toggle-list.js +42 -50
  168. package/dist/basic-sdk/extension/plugins/list/transforms/unwrap-list.js +11 -14
  169. package/dist/basic-sdk/extension/plugins/markdown/index.js +1 -1
  170. package/dist/basic-sdk/extension/plugins/markdown/plugin.js +59 -52
  171. package/dist/basic-sdk/extension/plugins/paragraph/index.js +1 -1
  172. package/dist/basic-sdk/extension/plugins/paragraph/render-elem.js +12 -10
  173. package/dist/basic-sdk/extension/plugins/sdoc-link/constants/index.js +16 -14
  174. package/dist/basic-sdk/extension/plugins/sdoc-link/helpers.js +66 -65
  175. package/dist/basic-sdk/extension/plugins/sdoc-link/hover-menu/index.js +19 -23
  176. package/dist/basic-sdk/extension/plugins/sdoc-link/index.js +1 -1
  177. package/dist/basic-sdk/extension/plugins/sdoc-link/menu/index.js +10 -8
  178. package/dist/basic-sdk/extension/plugins/sdoc-link/plugin.js +23 -15
  179. package/dist/basic-sdk/extension/plugins/sdoc-link/render-elem.js +35 -39
  180. package/dist/basic-sdk/extension/plugins/table/constants/index.js +16 -14
  181. package/dist/basic-sdk/extension/plugins/table/dialog/custom-table-size-dialog/index.js +17 -24
  182. package/dist/basic-sdk/extension/plugins/table/dialog/custom-table-size-dialog/number-input.js +9 -7
  183. package/dist/basic-sdk/extension/plugins/table/helpers.js +466 -440
  184. package/dist/basic-sdk/extension/plugins/table/index.js +1 -1
  185. package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/cell-bg-color-menu.js +16 -13
  186. package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/cell-text-align-menu.js +16 -18
  187. package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/common-menu.js +58 -65
  188. package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/index.js +7 -5
  189. package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/remove-table-menu.js +11 -9
  190. package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/table-column-menu.js +13 -14
  191. package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/table-row-menu.js +13 -14
  192. package/dist/basic-sdk/extension/plugins/table/menu/table-context-menu/index.js +92 -105
  193. package/dist/basic-sdk/extension/plugins/table/menu/table-context-menu/insert-table-element.js +62 -66
  194. package/dist/basic-sdk/extension/plugins/table/menu/table-menu/index.js +9 -7
  195. package/dist/basic-sdk/extension/plugins/table/model.js +14 -15
  196. package/dist/basic-sdk/extension/plugins/table/plugin.js +130 -112
  197. package/dist/basic-sdk/extension/plugins/table/popover/table-size-popover/index.js +31 -45
  198. package/dist/basic-sdk/extension/plugins/table/popover/table-template/index.js +12 -14
  199. package/dist/basic-sdk/extension/plugins/table/popover/table-template/sample-table.js +15 -19
  200. package/dist/basic-sdk/extension/plugins/table/render/hooks.js +25 -32
  201. package/dist/basic-sdk/extension/plugins/table/render/index.js +57 -67
  202. package/dist/basic-sdk/extension/plugins/table/render/render-cell.js +42 -36
  203. package/dist/basic-sdk/extension/plugins/table/render/render-row.js +44 -49
  204. package/dist/basic-sdk/extension/plugins/table/render/resize-handlers/first-column-left-resize-handler.js +36 -45
  205. package/dist/basic-sdk/extension/plugins/table/render/resize-handlers/index.js +10 -8
  206. package/dist/basic-sdk/extension/plugins/table/render/resize-handlers/resize-handler.js +41 -50
  207. package/dist/basic-sdk/extension/plugins/table/render/table-header/columns-header/column-header.js +30 -29
  208. package/dist/basic-sdk/extension/plugins/table/render/table-header/columns-header/index.js +21 -33
  209. package/dist/basic-sdk/extension/plugins/table/render/table-header/index.js +17 -15
  210. package/dist/basic-sdk/extension/plugins/table/render/table-header/rows-columns-header.js +7 -5
  211. package/dist/basic-sdk/extension/plugins/table/render/table-header/rows-header/index.js +22 -32
  212. package/dist/basic-sdk/extension/plugins/table/render/table-header/rows-header/row-header.js +41 -43
  213. package/dist/basic-sdk/extension/plugins/table/render/table-root.js +16 -20
  214. package/dist/basic-sdk/extension/plugins/text-align/helpers.js +19 -24
  215. package/dist/basic-sdk/extension/plugins/text-align/index.js +1 -1
  216. package/dist/basic-sdk/extension/plugins/text-align/menu/index.js +20 -26
  217. package/dist/basic-sdk/extension/plugins/text-style/caret.js +9 -7
  218. package/dist/basic-sdk/extension/plugins/text-style/helpers.js +17 -24
  219. package/dist/basic-sdk/extension/plugins/text-style/index.js +1 -1
  220. package/dist/basic-sdk/extension/plugins/text-style/menu/index.js +38 -37
  221. package/dist/basic-sdk/extension/plugins/text-style/plugin.js +6 -6
  222. package/dist/basic-sdk/extension/plugins/text-style/render-elem.js +14 -10
  223. package/dist/basic-sdk/extension/render/custom-element.js +30 -49
  224. package/dist/basic-sdk/extension/render/element-decorate/rebase-decorate/index.js +6 -4
  225. package/dist/basic-sdk/extension/render/element-decorate/rebase-decorate/rebase-delete-modify-decorate.js +13 -10
  226. package/dist/basic-sdk/extension/render/element-decorate/rebase-decorate/rebase-modify-delete-decorate.js +13 -10
  227. package/dist/basic-sdk/extension/render/element-decorate/rebase-decorate/rebase-modify-modify-decorate.js +21 -19
  228. package/dist/basic-sdk/extension/render/render-element.js +5 -3
  229. package/dist/basic-sdk/extension/render/render-leaf.js +4 -6
  230. package/dist/basic-sdk/extension/toolbar/context-toolbar/index.js +18 -16
  231. package/dist/basic-sdk/extension/toolbar/header-toolbar/index.js +5 -3
  232. package/dist/basic-sdk/extension/toolbar/header-toolbar/insert-toolbar/index.js +29 -29
  233. package/dist/basic-sdk/extension/toolbar/header-toolbar/redo-undo.js +45 -53
  234. package/dist/basic-sdk/extension/toolbar/side-toolbar/event.js +8 -8
  235. package/dist/basic-sdk/extension/toolbar/side-toolbar/helpers.js +45 -49
  236. package/dist/basic-sdk/extension/toolbar/side-toolbar/index.js +50 -72
  237. package/dist/basic-sdk/extension/toolbar/side-toolbar/insert-below-menu.js +5 -3
  238. package/dist/basic-sdk/extension/toolbar/side-toolbar/insert-block-menu.js +25 -26
  239. package/dist/basic-sdk/extension/toolbar/side-toolbar/side-menu.js +24 -26
  240. package/dist/basic-sdk/extension/toolbar/side-toolbar/transform-menus.js +14 -16
  241. package/dist/basic-sdk/extension/utils/index.js +4 -4
  242. package/dist/basic-sdk/highlight/index.js +8 -13
  243. package/dist/basic-sdk/highlight/setNodeToDecorations.js +43 -73
  244. package/dist/basic-sdk/hooks/use-color-context.js +27 -35
  245. package/dist/basic-sdk/hooks/use-scroll-context.js +6 -4
  246. package/dist/basic-sdk/hooks/use-selection-element.js +5 -7
  247. package/dist/basic-sdk/hooks/use-selection-position.js +13 -15
  248. package/dist/basic-sdk/hooks/use-selection-update.js +6 -11
  249. package/dist/basic-sdk/layout/article-container.js +20 -23
  250. package/dist/basic-sdk/layout/editor-container.js +6 -4
  251. package/dist/basic-sdk/layout/editor-content.js +15 -15
  252. package/dist/basic-sdk/node-id/constants.js +9 -9
  253. package/dist/basic-sdk/node-id/helpers.js +44 -29
  254. package/dist/basic-sdk/node-id/index.js +13 -11
  255. package/dist/basic-sdk/outline/index.js +24 -27
  256. package/dist/basic-sdk/outline/outline-item.js +39 -44
  257. package/dist/basic-sdk/socket/helpers.js +99 -90
  258. package/dist/basic-sdk/socket/socket-client.js +175 -171
  259. package/dist/basic-sdk/socket/socket-manager.js +316 -297
  260. package/dist/basic-sdk/socket/with-socket-io.js +38 -30
  261. package/dist/basic-sdk/utils/debug.js +4 -4
  262. package/dist/basic-sdk/utils/diff-text.js +191 -193
  263. package/dist/basic-sdk/utils/diff.js +115 -106
  264. package/dist/basic-sdk/utils/document-utils.js +10 -13
  265. package/dist/basic-sdk/utils/dom-utils.js +18 -16
  266. package/dist/basic-sdk/utils/event-bus.js +26 -39
  267. package/dist/basic-sdk/utils/event-handler.js +81 -79
  268. package/dist/basic-sdk/utils/mouse-event.js +29 -27
  269. package/dist/basic-sdk/utils/object-utils.js +35 -53
  270. package/dist/basic-sdk/utils/rebase.js +101 -76
  271. package/dist/basic-sdk/views/published-revision-diff-viewer.js +19 -22
  272. package/dist/basic-sdk/views/readonly-article.js +7 -5
  273. package/dist/basic-sdk/views/revision-diff-viewer.js +15 -18
  274. package/dist/basic-sdk/views/sdoc-diff-viewer.js +8 -6
  275. package/dist/basic-sdk/views/sdoc-viewer.js +9 -7
  276. package/dist/components/common-loading/index.js +1 -1
  277. package/dist/components/doc-info/index.js +25 -23
  278. package/dist/components/doc-operations/collaborators-operation/collaborators-popover.js +36 -49
  279. package/dist/components/doc-operations/collaborators-operation/index.js +58 -76
  280. package/dist/components/doc-operations/comments-operation/index.js +7 -13
  281. package/dist/components/doc-operations/history-operation.js +5 -5
  282. package/dist/components/doc-operations/index.js +10 -9
  283. package/dist/components/doc-operations/more-operations.js +15 -21
  284. package/dist/components/doc-operations/revision-operations/changes-count/index.js +15 -16
  285. package/dist/components/doc-operations/revision-operations/index.js +65 -71
  286. package/dist/components/doc-operations/revision-operations/more-revision-operations/index.js +13 -17
  287. package/dist/components/doc-operations/revision-operations/publish-revision/index.js +8 -5
  288. package/dist/components/doc-operations/revision-operations/revisions/index.js +13 -19
  289. package/dist/components/doc-operations/revision-operations/revisions/revisions-dialog/index.js +56 -87
  290. package/dist/components/doc-operations/revision-operations/revisions/revisions-dialog/revision-operation/index.js +14 -16
  291. package/dist/components/doc-operations/revision-operations/view-changes/index.js +25 -32
  292. package/dist/components/doc-operations/share-operation/index.js +2 -2
  293. package/dist/components/doc-operations/tag-operation/constans.js +1 -1
  294. package/dist/components/doc-operations/tag-operation/file-tag-quick-view/index.js +26 -42
  295. package/dist/components/doc-operations/tag-operation/index.js +1 -1
  296. package/dist/components/doc-operations/tag-operation/tag-popover/index.js +95 -175
  297. package/dist/components/doc-operations/tag-operation/utils.js +2 -6
  298. package/dist/components/draft-dropdown/index.js +44 -53
  299. package/dist/components/loading/index.js +8 -22
  300. package/dist/components/modal-portal/index.js +15 -32
  301. package/dist/components/switch/index.js +8 -6
  302. package/dist/components/tip-dialog/index.js +21 -23
  303. package/dist/components/tip-message/index.js +93 -92
  304. package/dist/components/toast/alert.js +73 -88
  305. package/dist/components/toast/index.js +1 -1
  306. package/dist/components/toast/toast.js +76 -103
  307. package/dist/components/toast/toastManager.js +55 -89
  308. package/dist/components/toast/toaster.js +54 -56
  309. package/dist/components/tooltip/index.js +15 -16
  310. package/dist/constants/index.js +26 -6
  311. package/dist/constants/transfer-types.js +3 -3
  312. package/dist/context.js +242 -339
  313. package/dist/hooks/use-collaborators.js +18 -20
  314. package/dist/hooks/use-document.js +33 -45
  315. package/dist/layout/content.js +13 -26
  316. package/dist/layout/header.js +13 -26
  317. package/dist/layout/layout.js +11 -9
  318. package/dist/model/notification.js +10 -11
  319. package/dist/model/revision.js +27 -28
  320. package/dist/model/user.js +10 -11
  321. package/dist/pages/error-boundary.js +18 -36
  322. package/dist/pages/error-page.js +14 -26
  323. package/dist/pages/published-revision-viewer.js +23 -35
  324. package/dist/pages/simple-editor.js +39 -46
  325. package/dist/pages/simple-viewer.js +70 -104
  326. package/dist/utils/date-utils.js +67 -81
  327. package/dist/utils/get-event-transfer.js +13 -15
  328. package/dist/utils/hotkey.js +24 -24
  329. package/dist/utils/index.js +20 -20
  330. package/dist/utils/local-storage-utils.js +41 -58
  331. package/package.json +10 -10
  332. package/public/locales/cs/sdoc-editor.json +3 -1
  333. package/public/locales/de/sdoc-editor.json +3 -1
  334. package/public/locales/en/sdoc-editor.json +1 -0
  335. package/public/locales/es/sdoc-editor.json +3 -1
  336. package/public/locales/fr/sdoc-editor.json +3 -1
  337. package/public/locales/it/sdoc-editor.json +3 -1
  338. package/public/locales/ru/sdoc-editor.json +3 -1
  339. package/public/locales/zh_CN/sdoc-editor.json +1 -0
@@ -1,39 +1,37 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
- import _toArray from "@babel/runtime/helpers/esm/toArray";
3
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
4
1
  import { Element, Path, Transforms, Node, Editor } from '@seafile/slate';
5
2
  import slugid from 'slugid';
6
3
  import { LIST_ITEM, PARAGRAPH } from '../../../constants';
7
4
  import { findNode, generateDefaultText, getCommonNode, getNode, getNodes } from '../../../core';
8
5
  import { getListTypes } from '../queries';
9
- var isListRoot = function isListRoot(node) {
6
+ const isListRoot = node => {
10
7
  return Element.isElement(node) && getListTypes().includes(node.type);
11
8
  };
12
- var getFirstAncestorOfType = function getFirstAncestorOfType(root, entry, _ref) {
13
- var type = _ref.type;
14
- var ancestor = Path.parent(entry[1]);
9
+ const getFirstAncestorOfType = (root, entry, _ref) => {
10
+ let {
11
+ type
12
+ } = _ref;
13
+ let ancestor = Path.parent(entry[1]);
15
14
  while (getNode(root, ancestor).type !== type) {
16
15
  ancestor = Path.parent(ancestor);
17
16
  }
18
17
  return [getNode(root, ancestor), ancestor];
19
18
  };
20
- var findListItemsWithContent = function findListItemsWithContent(first) {
21
- var prev = null;
22
- var node = first;
19
+ const findListItemsWithContent = first => {
20
+ let prev = null;
21
+ let node = first;
23
22
  while (isListRoot(node) || node.type === LIST_ITEM && node.children[0].type !== PARAGRAPH) {
24
23
  prev = node;
25
- var _node$children = _slicedToArray(node.children, 1);
26
- node = _node$children[0];
24
+ [node] = node.children;
27
25
  }
28
26
  return prev ? prev.children : [node];
29
27
  };
30
- var trimList = function trimList(listRoot) {
28
+ const trimList = listRoot => {
31
29
  if (!isListRoot(listRoot)) {
32
30
  return [listRoot];
33
31
  }
34
- var _texts = Node.texts(listRoot);
35
- var textEntries = Array.from(_texts);
36
- var commonAncestorEntry = textEntries.reduce(function (commonAncestor, textEntry) {
32
+ const _texts = Node.texts(listRoot);
33
+ const textEntries = Array.from(_texts);
34
+ const commonAncestorEntry = textEntries.reduce((commonAncestor, textEntry) => {
37
35
  return Path.isAncestor(commonAncestor[1], textEntry[1]) ? commonAncestor : getCommonNode(listRoot, textEntry[1], commonAncestor[1]);
38
36
  }, getFirstAncestorOfType(listRoot, textEntries[0], {
39
37
  type: LIST_ITEM
@@ -41,59 +39,44 @@ var trimList = function trimList(listRoot) {
41
39
 
42
40
  // is ul/ol: return children
43
41
  // is not ul/ol
44
- var _ref2 = isListRoot(commonAncestorEntry[0]) ? commonAncestorEntry[0].children : [commonAncestorEntry[0]],
45
- _ref3 = _toArray(_ref2),
46
- first = _ref3[0],
47
- rest = _ref3.slice(1);
48
- return [].concat(_toConsumableArray(findListItemsWithContent(first)), _toConsumableArray(rest));
42
+ const [first, ...rest] = isListRoot(commonAncestorEntry[0]) ? commonAncestorEntry[0].children : [commonAncestorEntry[0]];
43
+ return [...findListItemsWithContent(first), ...rest];
49
44
  };
50
- var wrapNodeIntoListItem = function wrapNodeIntoListItem(node) {
45
+ const wrapNodeIntoListItem = node => {
51
46
  return node.type === LIST_ITEM ? node : {
52
47
  id: slugid.nice(),
53
48
  type: LIST_ITEM,
54
49
  children: [node]
55
50
  };
56
51
  };
57
- var isSingleLic = function isSingleLic(fragment) {
58
- var isFragmentOnlyListRoot = fragment.length === 1 && isListRoot(fragment[0]);
59
- return isFragmentOnlyListRoot && _toConsumableArray(getNodes({
52
+ const isSingleLic = fragment => {
53
+ const isFragmentOnlyListRoot = fragment.length === 1 && isListRoot(fragment[0]);
54
+ return isFragmentOnlyListRoot && [...getNodes({
60
55
  children: fragment
61
- })).filter(function (entry) {
62
- return Element.isElement(entry[0]);
63
- }).filter(function (_ref4) {
64
- var _ref5 = _slicedToArray(_ref4, 1),
65
- node = _ref5[0];
56
+ })].filter(entry => Element.isElement(entry[0])).filter(_ref2 => {
57
+ let [node] = _ref2;
66
58
  return node.type === PARAGRAPH;
67
59
  }).length === 1;
68
60
  };
69
- export var getTextAndListItemNodes = function getTextAndListItemNodes(editor, fragment, liEntry, licEntry) {
70
- var _liEntry = _slicedToArray(liEntry, 2),
71
- liPath = _liEntry[1];
72
- var _licEntry = _slicedToArray(licEntry, 2),
73
- licNode = _licEntry[0],
74
- licPath = _licEntry[1];
75
- var isEmptyNode = !Node.string(licNode);
61
+ export const getTextAndListItemNodes = (editor, fragment, liEntry, licEntry) => {
62
+ const [, liPath] = liEntry;
63
+ const [licNode, licPath] = licEntry;
64
+ const isEmptyNode = !Node.string(licNode);
76
65
  // format copied fragment
77
66
  // first: lic, path: [...liPath, 0, 0]
78
67
  // rest: children, path: [...liPath, 1, 0]
79
- var _fragment$flatMap$map = fragment.flatMap(trimList).map(wrapNodeIntoListItem),
80
- _fragment$flatMap$map2 = _toArray(_fragment$flatMap$map),
81
- first = _fragment$flatMap$map2[0],
82
- rest = _fragment$flatMap$map2.slice(1);
83
- var textNode = null;
84
- var listItemNodes = [];
68
+ const [first, ...rest] = fragment.flatMap(trimList).map(wrapNodeIntoListItem);
69
+ let textNode = null;
70
+ let listItemNodes = [];
85
71
  if (isListRoot(fragment[0])) {
86
72
  if (isSingleLic(fragment)) {
87
73
  textNode = first;
88
74
  listItemNodes = rest;
89
75
  } else if (isEmptyNode) {
90
- var li = getNode(editor, liPath);
91
- var _li$children = _toArray(li.children),
92
- currentSubLists = _li$children.slice(1); // old
76
+ const li = getNode(editor, liPath);
77
+ const [, ...currentSubLists] = li.children; // old
93
78
 
94
- var _first$children = _toArray(first.children),
95
- newLic = _first$children[0],
96
- newSubLists = _first$children.slice(1); // copied
79
+ const [newLic, ...newSubLists] = first.children; // copied
97
80
  // insert copied contents
98
81
  Transforms.insertNodes(editor, newLic, {
99
82
  at: Path.next(licPath),
@@ -104,7 +87,7 @@ export var getTextAndListItemNodes = function getTextAndListItemNodes(editor, fr
104
87
  });
105
88
  if (newSubLists.length) {
106
89
  if (currentSubLists.length) {
107
- var path = [].concat(_toConsumableArray(liPath), [1, 0]);
90
+ const path = [...liPath, 1, 0];
108
91
  Transforms.insertNodes(editor, newSubLists[0].children, {
109
92
  at: path,
110
93
  select: true
@@ -120,33 +103,35 @@ export var getTextAndListItemNodes = function getTextAndListItemNodes(editor, fr
120
103
  listItemNodes = rest;
121
104
  } else {
122
105
  textNode = generateDefaultText();
123
- listItemNodes = [first].concat(_toConsumableArray(rest));
106
+ listItemNodes = [first, ...rest];
124
107
  }
125
108
  } else {
126
109
  textNode = first;
127
110
  listItemNodes = rest;
128
111
  return {
129
- textNode: textNode,
130
- listItemNodes: listItemNodes
112
+ textNode,
113
+ listItemNodes
131
114
  };
132
115
  }
133
116
  return {
134
- textNode: textNode,
135
- listItemNodes: listItemNodes
117
+ textNode,
118
+ listItemNodes
136
119
  };
137
120
  };
138
- export var insertFragmentList = function insertFragmentList(editor) {
139
- var _insertFragment = editor.insertFragment;
140
- return function (fragment) {
141
- Editor.withoutNormalizing(editor, function () {
142
- var liEntry = findNode(editor, {
121
+ export const insertFragmentList = editor => {
122
+ const {
123
+ insertFragment: _insertFragment
124
+ } = editor;
125
+ return fragment => {
126
+ Editor.withoutNormalizing(editor, () => {
127
+ let liEntry = findNode(editor, {
143
128
  match: {
144
129
  type: LIST_ITEM
145
130
  },
146
131
  mode: 'lowest'
147
132
  });
148
133
  if (!liEntry) {
149
- var nodes = isListRoot(fragment) ? [generateDefaultText()].concat(_toConsumableArray(fragment)) : fragment;
134
+ const nodes = isListRoot(fragment) ? [generateDefaultText(), ...fragment] : fragment;
150
135
  return _insertFragment(nodes);
151
136
  }
152
137
  Transforms.insertFragment(editor, [generateDefaultText()]); // need ' '
@@ -157,23 +142,22 @@ export var insertFragmentList = function insertFragmentList(editor) {
157
142
  },
158
143
  mode: 'lowest'
159
144
  });
160
- var licEntry = findNode(editor, {
145
+ const licEntry = findNode(editor, {
161
146
  match: {
162
147
  type: PARAGRAPH
163
148
  },
164
149
  mode: 'lowest'
165
150
  });
166
151
  if (!licEntry) {
167
- var _nodes = isListRoot(fragment) ? [generateDefaultText()].concat(_toConsumableArray(fragment)) : fragment;
168
- return _insertFragment(_nodes);
152
+ const nodes = isListRoot(fragment) ? [generateDefaultText(), ...fragment] : fragment;
153
+ return _insertFragment(nodes);
169
154
  }
170
- var _getTextAndListItemNo = getTextAndListItemNodes(editor, fragment, liEntry, licEntry),
171
- textNode = _getTextAndListItemNo.textNode,
172
- listItemNodes = _getTextAndListItemNo.listItemNodes;
155
+ const {
156
+ textNode,
157
+ listItemNodes
158
+ } = getTextAndListItemNodes(editor, fragment, liEntry, licEntry);
173
159
  Transforms.insertFragment(editor, [textNode]);
174
- var _liEntry2 = liEntry,
175
- _liEntry3 = _slicedToArray(_liEntry2, 2),
176
- liPath = _liEntry3[1];
160
+ const [, liPath] = liEntry;
177
161
  return Transforms.insertNodes(editor, listItemNodes, {
178
162
  at: Path.next(liPath),
179
163
  select: true
@@ -1,31 +1,29 @@
1
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
1
  import { Element, Transforms, Path } from '@seafile/slate';
3
2
  import { LIST_ITEM } from '../../../constants';
4
3
  import { getChildren, getNode, getPreviousPath, match } from '../../../core';
5
4
  import { getListTypes } from '../queries';
6
5
  import { moveListItemsToList, normalizeListItem, normalizeNestedList } from '../transforms';
7
6
  import { generateEmptyListItem } from '../model';
8
- export var normalizeList = function normalizeList(editor) {
9
- var normalizeNode = editor.normalizeNode;
10
- return function (_ref) {
11
- var _ref2 = _slicedToArray(_ref, 2),
12
- node = _ref2[0],
13
- path = _ref2[1];
7
+ export const normalizeList = editor => {
8
+ const {
9
+ normalizeNode
10
+ } = editor;
11
+ return _ref => {
12
+ let [node, path] = _ref;
14
13
  if (!Element.isElement(node)) {
15
14
  return normalizeNode([node, path]);
16
15
  }
17
- var listTypes = getListTypes();
16
+ const listTypes = getListTypes();
18
17
 
19
18
  // root
20
19
  if (listTypes.includes(node.type)) {
21
- var children = getChildren([node, path]);
22
- var nonLiChild = children.find(function (_ref3) {
23
- var _ref4 = _slicedToArray(_ref3, 1),
24
- child = _ref4[0];
20
+ const children = getChildren([node, path]);
21
+ const nonLiChild = children.find(_ref2 => {
22
+ let [child] = _ref2;
25
23
  return child.type !== LIST_ITEM;
26
24
  });
27
25
  if (nonLiChild) {
28
- var listItem = generateEmptyListItem();
26
+ const listItem = generateEmptyListItem();
29
27
  Transforms.wrapNodes(editor, listItem, {
30
28
  at: nonLiChild[1]
31
29
  });
@@ -35,16 +33,14 @@ export var normalizeList = function normalizeList(editor) {
35
33
  if (match(node, [], {
36
34
  type: listTypes
37
35
  })) {
38
- if (!node.children.length || !node.children.find(function (item) {
39
- return item.type === LIST_ITEM;
40
- })) {
36
+ if (!node.children.length || !node.children.find(item => item.type === LIST_ITEM)) {
41
37
  Transforms.removeNodes(editor, {
42
38
  at: path
43
39
  });
44
40
  return;
45
41
  }
46
- var nextPath = Path.next(path);
47
- var nextNode = getNode(editor, nextPath);
42
+ const nextPath = Path.next(path);
43
+ const nextNode = getNode(editor, nextPath);
48
44
  if ((nextNode === null || nextNode === void 0 ? void 0 : nextNode.type) === node.type) {
49
45
  moveListItemsToList(editor, {
50
46
  fromList: [nextNode, nextPath],
@@ -52,8 +48,8 @@ export var normalizeList = function normalizeList(editor) {
52
48
  deleteFromList: true
53
49
  });
54
50
  }
55
- var prevPath = getPreviousPath(path);
56
- var prevNode = getNode(editor, prevPath);
51
+ const prevPath = getPreviousPath(path);
52
+ const prevNode = getNode(editor, prevPath);
57
53
  if ((prevNode === null || prevNode === void 0 ? void 0 : prevNode.type) === node.type) {
58
54
  editor.normalizeNode([prevNode, prevPath]);
59
55
  return;
@@ -4,35 +4,40 @@ import { Editor, Range, Transforms } from '@seafile/slate';
4
4
  import { LIST_ITEM } from '../../../constants';
5
5
  import { findNode } from '../../../core';
6
6
  import { moveListItems } from '../transforms';
7
- export var onTabHandle = function onTabHandle(editor, event) {
8
- var selection = editor.selection;
7
+ export const onTabHandle = (editor, event) => {
8
+ const {
9
+ selection
10
+ } = editor;
9
11
  if (!selection) return;
10
- var listSelected = findNode(editor, {
12
+ const listSelected = findNode(editor, {
11
13
  type: [LIST_ITEM]
12
14
  });
13
15
  if (!listSelected) return false;
14
- var workRange = editor.selection;
16
+ let workRange = editor.selection;
15
17
  if (!Range.isCollapsed(selection)) {
16
- var anchor = selection.anchor,
17
- focus = selection.focus;
18
+ let {
19
+ anchor,
20
+ focus
21
+ } = selection;
18
22
  if (Range.isBackward(selection)) {
19
- var _anchor$focus = {
23
+ ({
24
+ anchor,
25
+ focus
26
+ } = {
20
27
  anchor: _objectSpread({}, selection.focus),
21
28
  focus: _objectSpread({}, selection.anchor)
22
- };
23
- anchor = _anchor$focus.anchor;
24
- focus = _anchor$focus.focus;
29
+ });
25
30
  }
26
- var unHungRange = Editor.unhangRange(editor, {
27
- anchor: anchor,
28
- focus: focus
31
+ const unHungRange = Editor.unhangRange(editor, {
32
+ anchor,
33
+ focus
29
34
  });
30
35
  if (unHungRange) {
31
36
  workRange = unHungRange;
32
37
  Transforms.select(editor, unHungRange);
33
38
  }
34
39
  }
35
- var increase = isHotkey('shift+tab', event) ? false : true;
40
+ const increase = isHotkey('shift+tab', event) ? false : true;
36
41
  if (workRange && listSelected) {
37
42
  event.preventDefault();
38
43
  moveListItems(editor, {
@@ -1,4 +1,3 @@
1
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
1
  import { Editor, Path, Range, Transforms } from '@seafile/slate';
3
2
  import { ORDERED_LIST, PARAGRAPH } from '../../../constants';
4
3
  import { getBeforeText, setListType } from '../helpers';
@@ -10,30 +9,27 @@ import { generateEmptyListItem } from '../model';
10
9
  * @param {String} text
11
10
  * @returns {Boolean} isPreventInsert
12
11
  */
13
- export var handleShortcut = function handleShortcut(editor, text) {
12
+ export const handleShortcut = (editor, text) => {
14
13
  if (text !== ' ') return false;
15
- var selection = editor.selection;
14
+ const {
15
+ selection
16
+ } = editor;
16
17
  if (!Range.isCollapsed(selection)) return false;
17
- var _Editor$above = Editor.above(editor),
18
- _Editor$above2 = _slicedToArray(_Editor$above, 2),
19
- aboveNode = _Editor$above2[0],
20
- aboveNodePath = _Editor$above2[1];
21
- var aboveNodeRef = Editor.pathRef(editor, aboveNodePath);
18
+ let [aboveNode, aboveNodePath] = Editor.above(editor);
19
+ const aboveNodeRef = Editor.pathRef(editor, aboveNodePath);
22
20
  if (aboveNode.type !== PARAGRAPH) return false;
23
21
  // Match ordered list shortcut
24
- var regShortcut = /^\s*[1-9]+\.\s*$/;
25
- var _getBeforeText = getBeforeText(editor),
26
- beforeText = _getBeforeText.beforeText,
27
- range = _getBeforeText.range;
28
- var matchResult = beforeText.match(regShortcut);
29
- var matchedText = matchResult && matchResult[0];
22
+ const regShortcut = /^\s*[1-9]+\.\s*$/;
23
+ const {
24
+ beforeText,
25
+ range
26
+ } = getBeforeText(editor);
27
+ const matchResult = beforeText.match(regShortcut);
28
+ const matchedText = matchResult && matchResult[0];
30
29
  // If the match fails or the match is not at the beginning of the line, it is not a shortcut
31
30
  if (!matchResult || matchResult.index !== 0) return false;
32
- var previousNodePath = getPreviousPath(aboveNodePath);
33
- var _Editor$node = Editor.node(editor, previousNodePath),
34
- _Editor$node2 = _slicedToArray(_Editor$node, 2),
35
- previousNode = _Editor$node2[0],
36
- previousPath = _Editor$node2[1];
31
+ const previousNodePath = getPreviousPath(aboveNodePath);
32
+ const [previousNode, previousPath] = Editor.node(editor, previousNodePath);
37
33
  // If the previous node is not an ordered list and is not start with `1.`,it is not a shortcut
38
34
  if (previousNode.type !== ORDERED_LIST && matchedText !== '1.') return false;
39
35
  // If the previous node is not an ordered list and is start with `1.`,transforms to ordered list
@@ -47,7 +43,7 @@ export var handleShortcut = function handleShortcut(editor, text) {
47
43
  return;
48
44
  }
49
45
  // Record the order number of the shortcut that will be inserted as a list item
50
- var shortcutOrderNum = parseInt(matchResult[0].slice(0, -1));
46
+ const shortcutOrderNum = parseInt(matchResult[0].slice(0, -1));
51
47
 
52
48
  // Check If order number is continuous
53
49
  if (previousNode.children.length + 1 !== shortcutOrderNum) return false;
@@ -57,15 +53,11 @@ export var handleShortcut = function handleShortcut(editor, text) {
57
53
  at: range
58
54
  });
59
55
  // Update aboveNode after delete shortcut text
60
- var _Editor$above3 = Editor.above(editor);
61
- var _Editor$above4 = _slicedToArray(_Editor$above3, 1);
62
- aboveNode = _Editor$above4[0];
63
- var _getLastChild = getLastChild([previousNode, previousPath]),
64
- _getLastChild2 = _slicedToArray(_getLastChild, 2),
65
- lastListItemPath = _getLastChild2[1];
66
- var targetInsertPath = Path.next(lastListItemPath);
56
+ [aboveNode] = Editor.above(editor);
57
+ const [, lastListItemPath] = getLastChild([previousNode, previousPath]);
58
+ const targetInsertPath = Path.next(lastListItemPath);
67
59
  // Wrap the paragraph in a list item
68
- var insertedListItem = generateEmptyListItem();
60
+ const insertedListItem = generateEmptyListItem();
69
61
  insertedListItem.children.push(aboveNode);
70
62
  Transforms.insertNodes(editor, insertedListItem, {
71
63
  at: targetInsertPath
@@ -1,13 +1,13 @@
1
1
  import { Editor, Element, Range, Node } from '@seafile/slate';
2
2
  import { LIST_ITEM, ORDERED_LIST, UNORDERED_LIST } from '../../../constants';
3
- export var getListTypes = function getListTypes() {
3
+ export const getListTypes = () => {
4
4
  return [ORDERED_LIST, UNORDERED_LIST];
5
5
  };
6
- export var getListItemEntry = function getListItemEntry(editor) {
7
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
8
- _ref$at = _ref.at,
9
- at = _ref$at === void 0 ? editor.selection : _ref$at;
10
- var _at = null;
6
+ export const getListItemEntry = function (editor) {
7
+ let {
8
+ at = editor.selection
9
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
10
+ let _at = null;
11
11
  if (Range.isRange(at) && !Range.isCollapsed(at)) {
12
12
  _at = at.focus.path;
13
13
  } else if (Range.isRange(at)) {
@@ -16,32 +16,30 @@ export var getListItemEntry = function getListItemEntry(editor) {
16
16
  _at = at;
17
17
  }
18
18
  if (_at) {
19
- var node = Node.get(editor, _at);
19
+ const node = Node.get(editor, _at);
20
20
  if (node) {
21
- var listItem = Editor.above(editor, {
21
+ const listItem = Editor.above(editor, {
22
22
  at: _at,
23
- match: function match(n) {
24
- return Element.isElement(n) && n.type === LIST_ITEM;
25
- }
23
+ match: n => Element.isElement(n) && n.type === LIST_ITEM
26
24
  });
27
25
  if (listItem) {
28
- var list = Editor.parent(editor, listItem[1]);
26
+ const list = Editor.parent(editor, listItem[1]);
29
27
  return {
30
- list: list,
31
- listItem: listItem
28
+ list,
29
+ listItem
32
30
  };
33
31
  }
34
32
  }
35
33
  }
36
34
  return null;
37
35
  };
38
- export var hasListChild = function hasListChild(node) {
39
- return node.children.some(function (n) {
36
+ export const hasListChild = node => {
37
+ return node.children.some(n => {
40
38
  return Element.isElement(n) && getListTypes().includes(n.type);
41
39
  });
42
40
  };
43
- export var isListNested = function isListNested(editor, listPath) {
41
+ export const isListNested = (editor, listPath) => {
44
42
  var _Editor$parent;
45
- var listParentNode = (_Editor$parent = Editor.parent(editor, listPath)) === null || _Editor$parent === void 0 ? void 0 : _Editor$parent[0];
43
+ const listParentNode = (_Editor$parent = Editor.parent(editor, listPath)) === null || _Editor$parent === void 0 ? void 0 : _Editor$parent[0];
46
44
  return (listParentNode === null || listParentNode === void 0 ? void 0 : listParentNode.type) === LIST_ITEM;
47
45
  };
@@ -1,22 +1,28 @@
1
1
  import React from 'react';
2
2
  import { ORDERED_LIST } from '../../constants';
3
- var renderList = function renderList(props, editor) {
4
- var attributes = props.attributes,
5
- children = props.children,
6
- node = props.element;
7
- var Tag = node.type === ORDERED_LIST ? 'ol' : 'ul';
3
+ const renderList = (props, editor) => {
4
+ const {
5
+ attributes,
6
+ children,
7
+ element: node
8
+ } = props;
9
+ const Tag = node.type === ORDERED_LIST ? 'ol' : 'ul';
8
10
  return /*#__PURE__*/React.createElement(Tag, Object.assign({
9
11
  "data-id": node.id,
10
12
  "data-root": "true",
11
13
  className: "list-container d-flex flex-column"
12
14
  }, attributes), children);
13
15
  };
14
- var renderListItem = function renderListItem(props, editor) {
15
- var attributes = props.attributes,
16
- children = props.children,
17
- element = props.element;
18
- var align = element.children[0].align;
19
- var className = '';
16
+ const renderListItem = (props, editor) => {
17
+ const {
18
+ attributes,
19
+ children,
20
+ element
21
+ } = props;
22
+ const {
23
+ align
24
+ } = element.children[0];
25
+ let className = '';
20
26
  switch (align) {
21
27
  case 'center':
22
28
  className = 'align-self-center';
@@ -34,10 +40,12 @@ var renderListItem = function renderListItem(props, editor) {
34
40
  className: className
35
41
  }), children);
36
42
  };
37
- var renderListLic = function renderListLic(props, editor) {
38
- var attributes = props.attributes,
39
- children = props.children,
40
- element = props.element;
43
+ const renderListLic = (props, editor) => {
44
+ const {
45
+ attributes,
46
+ children,
47
+ element
48
+ } = props;
41
49
  return /*#__PURE__*/React.createElement("div", Object.assign({
42
50
  "data-id": element.id,
43
51
  "data-root": "true"
@@ -1,28 +1,24 @@
1
1
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
2
  import { Transforms, Editor, Path, Range } from '@seafile/slate';
4
3
  import { LIST_ITEM, PARAGRAPH } from '../../../constants';
5
4
  import { getAboveNode, isBlockTextEmptyAfterSelection, isStartPoint } from '../../../core';
6
5
  import { generateEmptyListContent, generateEmptyListItem } from '../model';
7
6
 
8
7
  // list > list_item > paragraph
9
- export var insertListItem = function insertListItem(editor) {
10
- var paragraphEntry = getAboveNode(editor, {
8
+ export const insertListItem = editor => {
9
+ const paragraphEntry = getAboveNode(editor, {
11
10
  match: {
12
11
  type: PARAGRAPH
13
12
  }
14
13
  });
15
14
  if (!paragraphEntry) return false;
16
- var _paragraphEntry = _slicedToArray(paragraphEntry, 2),
17
- paragraphPath = _paragraphEntry[1];
18
- var listItemEntry = Editor.parent(editor, paragraphPath);
15
+ const [, paragraphPath] = paragraphEntry;
16
+ const listItemEntry = Editor.parent(editor, paragraphPath);
19
17
  if (!listItemEntry) return false;
20
- var _listItemEntry = _slicedToArray(listItemEntry, 2),
21
- listItemNode = _listItemEntry[0],
22
- listItemPath = _listItemEntry[1];
18
+ const [listItemNode, listItemPath] = listItemEntry;
23
19
  if (listItemNode.type !== LIST_ITEM) return false;
24
- var success = false;
25
- Editor.withoutNormalizing(editor, function () {
20
+ let success = false;
21
+ Editor.withoutNormalizing(editor, () => {
26
22
  var _editor$selection;
27
23
  if (!Range.isCollapsed(editor.selection)) {
28
24
  // 删除选中的内容
@@ -30,17 +26,17 @@ export var insertListItem = function insertListItem(editor) {
30
26
  at: editor.selection
31
27
  });
32
28
  }
33
- var _isStartPoint = isStartPoint(editor, (_editor$selection = editor.selection) === null || _editor$selection === void 0 ? void 0 : _editor$selection.focus, paragraphPath);
34
- var isEndPoint = isBlockTextEmptyAfterSelection(editor);
35
- var nextParagraphPath = Path.next(paragraphPath);
36
- var nextListItemPath = Path.next(listItemPath);
29
+ const _isStartPoint = isStartPoint(editor, (_editor$selection = editor.selection) === null || _editor$selection === void 0 ? void 0 : _editor$selection.focus, paragraphPath);
30
+ const isEndPoint = isBlockTextEmptyAfterSelection(editor);
31
+ const nextParagraphPath = Path.next(paragraphPath);
32
+ const nextListItemPath = Path.next(listItemPath);
37
33
  if (_isStartPoint) {
38
34
  // listItem 有内容,光标在开始
39
- var itemContent = generateEmptyListContent();
35
+ const itemContent = generateEmptyListContent();
40
36
  Transforms.insertNodes(editor, itemContent, {
41
37
  at: listItemPath
42
38
  });
43
- var listItem = generateEmptyListItem();
39
+ const listItem = generateEmptyListItem();
44
40
  Transforms.wrapNodes(editor, listItem, {
45
41
  at: listItemPath
46
42
  });
@@ -50,8 +46,8 @@ export var insertListItem = function insertListItem(editor) {
50
46
  if (!isEndPoint) {
51
47
  // listItem 有内容,光标在中间
52
48
  Transforms.splitNodes(editor);
53
- var _listItem = generateEmptyListItem();
54
- Transforms.wrapNodes(editor, _listItem, {
49
+ const listItem = generateEmptyListItem();
50
+ Transforms.wrapNodes(editor, listItem, {
55
51
  at: nextParagraphPath
56
52
  });
57
53
  Transforms.moveNodes(editor, {
@@ -66,13 +62,13 @@ export var insertListItem = function insertListItem(editor) {
66
62
  } else {
67
63
  var _Editor$marks;
68
64
  // listItem 有内容,光标在结尾
69
- var marks = (_Editor$marks = Editor.marks(editor)) === null || _Editor$marks === void 0 ? void 0 : _Editor$marks.key;
70
- var _itemContent = generateEmptyListContent();
71
- Transforms.insertNodes(editor, _objectSpread(_objectSpread({}, _itemContent), marks), {
65
+ const marks = (_Editor$marks = Editor.marks(editor)) === null || _Editor$marks === void 0 ? void 0 : _Editor$marks.key;
66
+ const itemContent = generateEmptyListContent();
67
+ Transforms.insertNodes(editor, _objectSpread(_objectSpread({}, itemContent), marks), {
72
68
  at: nextListItemPath
73
69
  });
74
- var _listItem2 = generateEmptyListItem();
75
- Transforms.wrapNodes(editor, _listItem2, {
70
+ const listItem = generateEmptyListItem();
71
+ Transforms.wrapNodes(editor, listItem, {
76
72
  at: nextListItemPath
77
73
  });
78
74
  Transforms.select(editor, nextListItemPath);