@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,8 +1,8 @@
1
1
  import { Editor, Transforms } from '@seafile/slate';
2
2
  import { ReactEditor } from '@seafile/slate-react';
3
- export var focusEditor = function focusEditor(editor, target) {
3
+ export const focusEditor = (editor, target) => {
4
4
  if (target) {
5
- Editor.withoutNormalizing(editor, function () {
5
+ Editor.withoutNormalizing(editor, () => {
6
6
  Transforms.deselect(editor);
7
7
  Transforms.select(editor, target);
8
8
  });
@@ -1,25 +1,25 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
1
  import { Editor, Path, Transforms } from '@seafile/slate';
3
2
  import { getNode } from '../queries';
4
- export var moveChildren = function moveChildren(editor, _ref) {
5
- var at = _ref.at,
6
- to = _ref.to,
7
- match = _ref.match,
8
- _ref$fromStartIndex = _ref.fromStartIndex,
9
- fromStartIndex = _ref$fromStartIndex === void 0 ? 0 : _ref$fromStartIndex;
10
- var moved = 0;
11
- var parentPath = Path.isPath(at) ? at : at[1];
12
- var parentNode = Path.isPath(at) ? getNode(editor, parentPath) : at[0];
3
+ export const moveChildren = (editor, _ref) => {
4
+ let {
5
+ at,
6
+ to,
7
+ match,
8
+ fromStartIndex = 0
9
+ } = _ref;
10
+ let moved = 0;
11
+ const parentPath = Path.isPath(at) ? at : at[1];
12
+ const parentNode = Path.isPath(at) ? getNode(editor, parentPath) : at[0];
13
13
  if (!parentNode) return moved;
14
14
  // There have none children in a not block element
15
15
  if (!Editor.isBlock(editor, parentNode)) return moved;
16
- for (var i = parentNode.children.length - 1; i >= fromStartIndex; i--) {
17
- var childPath = [].concat(_toConsumableArray(parentPath), [i]);
18
- var childNode = getNode(editor, childPath);
16
+ for (let i = parentNode.children.length - 1; i >= fromStartIndex; i--) {
17
+ const childPath = [...parentPath, i];
18
+ const childNode = getNode(editor, childPath);
19
19
  if (!match || childNode && match([childNode, childPath])) {
20
20
  Transforms.moveNodes(editor, {
21
21
  at: childPath,
22
- to: to
22
+ to
23
23
  });
24
24
  moved++;
25
25
  }
@@ -1,24 +1,12 @@
1
1
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
- import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
4
2
  import { Transforms, Node } from '@seafile/slate';
5
- export var removeNodeChildren = function removeNodeChildren(editor, path, options) {
6
- var nodeChildren = Node.children(editor, path, {
3
+ export const removeNodeChildren = (editor, path, options) => {
4
+ const nodeChildren = Node.children(editor, path, {
7
5
  reverse: true
8
6
  });
9
- var _iterator = _createForOfIteratorHelper(nodeChildren),
10
- _step;
11
- try {
12
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
13
- var _step$value = _slicedToArray(_step.value, 2),
14
- childPath = _step$value[1];
15
- Transforms.removeNodes(editor, _objectSpread(_objectSpread({}, options), {}, {
16
- at: childPath
17
- }));
18
- }
19
- } catch (err) {
20
- _iterator.e(err);
21
- } finally {
22
- _iterator.f();
7
+ for (const [, childPath] of nodeChildren) {
8
+ Transforms.removeNodes(editor, _objectSpread(_objectSpread({}, options), {}, {
9
+ at: childPath
10
+ }));
23
11
  }
24
12
  };
@@ -1,37 +1,40 @@
1
1
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
2
  import { Editor, Transforms } from '@seafile/slate';
3
3
  import { removeNodeChildren } from './remove-node-children';
4
- export var replaceNodeChildren = function replaceNodeChildren(editor, _ref) {
5
- var at = _ref.at,
6
- nodes = _ref.nodes,
7
- insertOptions = _ref.insertOptions,
8
- removeOptions = _ref.removeOptions;
9
- Editor.withoutNormalizing(editor, function () {
4
+ export const replaceNodeChildren = (editor, _ref) => {
5
+ let {
6
+ at,
7
+ nodes,
8
+ insertOptions,
9
+ removeOptions
10
+ } = _ref;
11
+ Editor.withoutNormalizing(editor, () => {
10
12
  removeNodeChildren(editor, at, removeOptions);
11
13
  Transforms.insertNodes(editor, nodes, _objectSpread(_objectSpread({}, insertOptions), {}, {
12
14
  at: at.concat([0])
13
15
  }));
14
16
  });
15
17
  };
16
- export var replaceNode = function replaceNode(editor) {
17
- var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
18
- at = _ref2.at,
19
- nodes = _ref2.nodes,
20
- insertOptions = _ref2.insertOptions,
21
- removeOptions = _ref2.removeOptions;
22
- Editor.withoutNormalizing(editor, function () {
18
+ export const replaceNode = function (editor) {
19
+ let {
20
+ at,
21
+ nodes,
22
+ insertOptions,
23
+ removeOptions
24
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
25
+ Editor.withoutNormalizing(editor, () => {
23
26
  Transforms.removeNodes(editor, _objectSpread({
24
- at: at
27
+ at
25
28
  }, removeOptions));
26
29
  Transforms.insertNodes(editor, nodes, _objectSpread(_objectSpread({}, insertOptions), {}, {
27
- at: at
30
+ at
28
31
  }));
29
32
  });
30
33
  };
31
- export var deleteNodeMark = function deleteNodeMark(editor, path, element) {
32
- var marks = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
33
- var newElement = _objectSpread({}, element);
34
- marks.forEach(function (markItem) {
34
+ export const deleteNodeMark = function (editor, path, element) {
35
+ let marks = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
36
+ const newElement = _objectSpread({}, element);
37
+ marks.forEach(markItem => {
35
38
  newElement[markItem] && delete newElement[markItem];
36
39
  });
37
40
  replaceNode(editor, {
@@ -2,17 +2,15 @@ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
2
  import { REBASE_MARK_KEY } from '../../../constants';
3
3
  import { getNode } from '../queries';
4
4
  import { replaceNode } from './replace-node';
5
- export var updateRebaseParentNodeByPath = function updateRebaseParentNodeByPath(editor, path) {
6
- var parentPath = path.slice(0, -1);
7
- var parentNode = getNode(editor, parentPath);
8
- if (parentNode.children.filter(function (item) {
9
- return item[REBASE_MARK_KEY.REBASE_TYPE];
10
- }).length !== 0) return;
11
- var newParentElement = _objectSpread({}, parentNode);
5
+ export const updateRebaseParentNodeByPath = (editor, path) => {
6
+ const parentPath = path.slice(0, -1);
7
+ const parentNode = getNode(editor, parentPath);
8
+ if (parentNode.children.filter(item => item[REBASE_MARK_KEY.REBASE_TYPE]).length !== 0) return;
9
+ const newParentElement = _objectSpread({}, parentNode);
12
10
  newParentElement[REBASE_MARK_KEY.REBASE_TYPE] && delete newParentElement[REBASE_MARK_KEY.REBASE_TYPE];
13
11
  newParentElement[REBASE_MARK_KEY.OLD_ELEMENT] && delete newParentElement[REBASE_MARK_KEY.OLD_ELEMENT];
14
12
  newParentElement[REBASE_MARK_KEY.ORIGIN] && delete newParentElement[REBASE_MARK_KEY.ORIGIN];
15
- newParentElement['children'] = newParentElement['children'].map(function (item) {
13
+ newParentElement['children'] = newParentElement['children'].map(item => {
16
14
  item[REBASE_MARK_KEY.REBASE_TYPE] && delete item[REBASE_MARK_KEY.REBASE_TYPE];
17
15
  item[REBASE_MARK_KEY.OLD_ELEMENT] && delete item[REBASE_MARK_KEY.OLD_ELEMENT];
18
16
  item[REBASE_MARK_KEY.ORIGIN] && delete item[REBASE_MARK_KEY.ORIGIN];
@@ -1,14 +1,11 @@
1
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
1
  import React from 'react';
3
2
  import slugid from 'slugid';
4
3
  import { useTranslation } from 'react-i18next';
5
- export var match = function match(node, path, predicate) {
4
+ export const match = (node, path, predicate) => {
6
5
  if (!predicate) return true;
7
6
  if (typeof predicate === 'object') {
8
- return Object.entries(predicate).every(function (_ref) {
9
- var _ref2 = _slicedToArray(_ref, 2),
10
- key = _ref2[0],
11
- value = _ref2[1];
7
+ return Object.entries(predicate).every(_ref => {
8
+ let [key, value] = _ref;
12
9
  if (value && !Array.isArray(value)) {
13
10
  return node[key] === value;
14
11
  }
@@ -18,23 +15,26 @@ export var match = function match(node, path, predicate) {
18
15
  }
19
16
  return predicate(node, path);
20
17
  };
21
- export var generateDefaultText = function generateDefaultText() {
18
+ export const generateDefaultText = () => {
22
19
  return {
23
20
  id: slugid.nice(),
24
21
  text: ''
25
22
  };
26
23
  };
27
- export var generateEmptyElement = function generateEmptyElement(type) {
24
+ export const generateEmptyElement = type => {
28
25
  return {
29
26
  id: slugid.nice(),
30
- type: type,
27
+ type,
31
28
  children: [generateDefaultText()]
32
29
  };
33
30
  };
34
31
  export function Placeholder(props) {
35
- var title = props.title;
36
- var _useTranslation = useTranslation(),
37
- t = _useTranslation.t;
32
+ const {
33
+ title
34
+ } = props;
35
+ const {
36
+ t
37
+ } = useTranslation();
38
38
  return /*#__PURE__*/React.createElement("span", {
39
39
  style: {
40
40
  position: 'absolute',
@@ -5,17 +5,17 @@ import Plugins from './plugins';
5
5
  import renderElement from './render/render-element';
6
6
  import renderLeaf from './render/render-leaf';
7
7
  import { HeaderToolbar, ContextToolbar, SideToolbar } from './toolbar';
8
- var baseEditor = withHistory(withReact(createEditor()));
9
- var defaultEditor = Plugins === null || Plugins === void 0 ? void 0 : Plugins.reduce(function (editor, pluginItem) {
10
- var withPlugin = pluginItem.editorPlugin;
8
+ const baseEditor = withHistory(withReact(createEditor()));
9
+ const defaultEditor = Plugins === null || Plugins === void 0 ? void 0 : Plugins.reduce((editor, pluginItem) => {
10
+ const withPlugin = pluginItem.editorPlugin;
11
11
  if (withPlugin) {
12
12
  return withPlugin(editor);
13
13
  }
14
14
  return editor;
15
15
  }, baseEditor);
16
- export var createDefaultEditor = function createDefaultEditor() {
17
- var defaultEditor = Plugins === null || Plugins === void 0 ? void 0 : Plugins.reduce(function (editor, pluginItem) {
18
- var withPlugin = pluginItem.editorPlugin;
16
+ export const createDefaultEditor = () => {
17
+ const defaultEditor = Plugins === null || Plugins === void 0 ? void 0 : Plugins.reduce((editor, pluginItem) => {
18
+ const withPlugin = pluginItem.editorPlugin;
19
19
  if (withPlugin) {
20
20
  return withPlugin(editor);
21
21
  }
@@ -1,32 +1,28 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
1
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
3
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
4
2
  import { Editor, Transforms, Element } from '@seafile/slate';
5
3
  import slugid from 'slugid';
6
4
  import { BLOCKQUOTE, CHECK_LIST_ITEM, IMAGE, ORDERED_LIST, PARAGRAPH, UNORDERED_LIST, CODE_BLOCK, TABLE } from '../../constants';
7
5
  import { focusEditor, getNodeType } from '../../core';
8
- export var isMenuDisabled = function isMenuDisabled(editor, readonly) {
6
+ export const isMenuDisabled = (editor, readonly) => {
9
7
  if (readonly) return true;
10
8
  if (editor.selection == null) return true;
11
- var _Editor$nodes = Editor.nodes(editor, {
12
- match: function match(n) {
13
- var type = getNodeType(n);
9
+ const [nodeEntry] = Editor.nodes(editor, {
10
+ match: n => {
11
+ const type = getNodeType(n);
14
12
 
15
- // Only available for p and blockquote
16
- if (type === PARAGRAPH) return true;
17
- if (type === BLOCKQUOTE) return true;
18
- if (type === UNORDERED_LIST) return true;
19
- if (type === ORDERED_LIST) return true;
20
- if (type === CHECK_LIST_ITEM) return true;
21
- if (type && type.startWith && type.startWith('header')) return true;
22
- if (type === IMAGE) return true;
23
- return false;
24
- },
25
- universal: true,
26
- mode: 'highest' // Match top level
27
- }),
28
- _Editor$nodes2 = _slicedToArray(_Editor$nodes, 1),
29
- nodeEntry = _Editor$nodes2[0];
13
+ // Only available for p and blockquote
14
+ if (type === PARAGRAPH) return true;
15
+ if (type === BLOCKQUOTE) return true;
16
+ if (type === UNORDERED_LIST) return true;
17
+ if (type === ORDERED_LIST) return true;
18
+ if (type === CHECK_LIST_ITEM) return true;
19
+ if (type && type.startWith && type.startWith('header')) return true;
20
+ if (type === IMAGE) return true;
21
+ return false;
22
+ },
23
+ universal: true,
24
+ mode: 'highest' // Match top level
25
+ });
30
26
 
31
27
  // Match to p blockquote, do not disable
32
28
  if (nodeEntry) {
@@ -35,50 +31,41 @@ export var isMenuDisabled = function isMenuDisabled(editor, readonly) {
35
31
  // 未匹配到,则禁用
36
32
  return true;
37
33
  };
38
- export var getBlockQuoteType = function getBlockQuoteType(editor) {
39
- var _Editor$nodes3 = Editor.nodes(editor, {
40
- match: function match(n) {
41
- return getNodeType(n) === BLOCKQUOTE;
42
- },
43
- universal: true
44
- }),
45
- _Editor$nodes4 = _slicedToArray(_Editor$nodes3, 1),
46
- match = _Editor$nodes4[0];
34
+ export const getBlockQuoteType = editor => {
35
+ const [match] = Editor.nodes(editor, {
36
+ match: n => getNodeType(n) === BLOCKQUOTE,
37
+ universal: true
38
+ });
47
39
  if (!match) return PARAGRAPH;
48
- var _match = _slicedToArray(match, 1),
49
- n = _match[0];
40
+ const [n] = match;
50
41
  return getNodeType(n);
51
42
  };
52
- export var setBlockQuoteType = function setBlockQuoteType(editor, active) {
43
+ export const setBlockQuoteType = (editor, active) => {
53
44
  if (!active) {
54
- var blockquoteNode = {
45
+ const blockquoteNode = {
55
46
  id: slugid.nice(),
56
47
  type: BLOCKQUOTE
57
48
  };
58
49
  Transforms.wrapNodes(editor, blockquoteNode, {
59
50
  mode: 'highest',
60
- match: function match(n) {
61
- return Element.isElement(n) && Editor.isBlock(editor, n);
62
- }
51
+ match: n => Element.isElement(n) && Editor.isBlock(editor, n)
63
52
  });
64
53
  } else {
65
54
  Transforms.unwrapNodes(editor, {
66
55
  mode: 'highest',
67
- match: function match(n) {
68
- return Element.isElement(n) && Editor.isBlock(editor, n);
69
- }
56
+ match: n => Element.isElement(n) && Editor.isBlock(editor, n)
70
57
  });
71
58
  }
72
59
  focusEditor(editor);
73
60
  };
74
- export var getFormattedElements = function getFormattedElements(data) {
75
- var elements = [];
76
- var arr = [];
77
- data.forEach(function (item) {
61
+ export const getFormattedElements = data => {
62
+ const elements = [];
63
+ let arr = [];
64
+ data.forEach(item => {
78
65
  if ([CODE_BLOCK, TABLE, BLOCKQUOTE].includes(item === null || item === void 0 ? void 0 : item.type)) {
79
66
  // Insert quote block
80
67
  if (arr.length !== 0) {
81
- var blockquoteNode = {
68
+ const blockquoteNode = {
82
69
  id: slugid.nice(),
83
70
  type: BLOCKQUOTE
84
71
  };
@@ -87,10 +74,10 @@ export var getFormattedElements = function getFormattedElements(data) {
87
74
  arr = [];
88
75
  }
89
76
  // Merge quote block
90
- var preElement = elements[elements.length - 1];
77
+ let preElement = elements[elements.length - 1];
91
78
  if ((preElement === null || preElement === void 0 ? void 0 : preElement.type) === BLOCKQUOTE && (item === null || item === void 0 ? void 0 : item.type) === BLOCKQUOTE) {
92
79
  elements[elements.length - 1] = _objectSpread(_objectSpread({}, preElement), {}, {
93
- children: [].concat(_toConsumableArray(preElement.children), _toConsumableArray(item.children))
80
+ children: [...preElement.children, ...item.children]
94
81
  });
95
82
  } else {
96
83
  elements.push(item);
@@ -101,15 +88,13 @@ export var getFormattedElements = function getFormattedElements(data) {
101
88
  });
102
89
  return elements;
103
90
  };
104
- export var getFormattedRestElements = function getFormattedRestElements(data) {
105
- var restElements = data.slice(0);
91
+ export const getFormattedRestElements = data => {
92
+ const restElements = data.slice(0);
106
93
  // Contains quote block type elements
107
- if (data.find(function (item) {
108
- return (item === null || item === void 0 ? void 0 : item.type) === BLOCKQUOTE;
109
- })) {
110
- data.forEach(function (item, index) {
94
+ if (data.find(item => (item === null || item === void 0 ? void 0 : item.type) === BLOCKQUOTE)) {
95
+ data.forEach((item, index) => {
111
96
  if ((item === null || item === void 0 ? void 0 : item.type) === BLOCKQUOTE) {
112
- restElements.splice.apply(restElements, [index, 1].concat(_toConsumableArray(item.children)));
97
+ restElements.splice(index, 1, ...item.children);
113
98
  }
114
99
  });
115
100
  }
@@ -3,7 +3,7 @@ import QuoteMenu from './menu';
3
3
  import Blockquote from './model';
4
4
  import withBlockquote from './plugin';
5
5
  import renderBlockquote from './render-elem';
6
- var BlockquotePlugin = {
6
+ const BlockquotePlugin = {
7
7
  type: BLOCKQUOTE,
8
8
  nodeType: 'element',
9
9
  model: Blockquote,
@@ -1,57 +1,47 @@
1
1
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
- import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
3
- import _createClass from "@babel/runtime/helpers/esm/createClass";
4
- import _inherits from "@babel/runtime/helpers/esm/inherits";
5
- import _createSuper from "@babel/runtime/helpers/esm/createSuper";
6
2
  import React from 'react';
7
3
  import { BLOCKQUOTE, MENUS_CONFIG_MAP } from '../../../constants';
8
4
  import { MenuItem } from '../../../commons';
9
5
  import { getBlockQuoteType, isMenuDisabled, setBlockQuoteType } from '../helpers';
10
- var QuoteMenu = /*#__PURE__*/function (_React$Component) {
11
- _inherits(QuoteMenu, _React$Component);
12
- var _super = _createSuper(QuoteMenu);
13
- function QuoteMenu() {
14
- var _this;
15
- _classCallCheck(this, QuoteMenu);
16
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
17
- args[_key] = arguments[_key];
18
- }
19
- _this = _super.call.apply(_super, [this].concat(args));
20
- _this.isActive = function () {
21
- var editor = _this.props.editor;
6
+ class QuoteMenu extends React.Component {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.isActive = () => {
10
+ const {
11
+ editor
12
+ } = this.props;
22
13
  return getBlockQuoteType(editor) === BLOCKQUOTE;
23
14
  };
24
- _this.isDisabled = function () {
25
- var _this$props = _this.props,
26
- editor = _this$props.editor,
27
- readonly = _this$props.readonly;
15
+ this.isDisabled = () => {
16
+ const {
17
+ editor,
18
+ readonly
19
+ } = this.props;
28
20
  return isMenuDisabled(editor, readonly);
29
21
  };
30
- _this.onMouseDown = function (e) {
31
- var editor = _this.props.editor;
32
- var active = _this.isActive(editor);
22
+ this.onMouseDown = e => {
23
+ const {
24
+ editor
25
+ } = this.props;
26
+ const active = this.isActive(editor);
33
27
  setBlockQuoteType(editor, active);
34
28
  };
35
- return _this;
36
29
  }
37
- _createClass(QuoteMenu, [{
38
- key: "render",
39
- value: function render() {
40
- var _this$props2 = this.props,
41
- isRichEditor = _this$props2.isRichEditor,
42
- className = _this$props2.className;
43
- var menuConfig = MENUS_CONFIG_MAP[BLOCKQUOTE];
44
- var props = _objectSpread(_objectSpread({
45
- isRichEditor: isRichEditor,
46
- className: className
47
- }, menuConfig), {}, {
48
- disabled: this.isDisabled(),
49
- isActive: this.isActive(),
50
- onMouseDown: this.onMouseDown
51
- });
52
- return /*#__PURE__*/React.createElement(MenuItem, props);
53
- }
54
- }]);
55
- return QuoteMenu;
56
- }(React.Component);
30
+ render() {
31
+ const {
32
+ isRichEditor,
33
+ className
34
+ } = this.props;
35
+ const menuConfig = MENUS_CONFIG_MAP[BLOCKQUOTE];
36
+ const props = _objectSpread(_objectSpread({
37
+ isRichEditor,
38
+ className
39
+ }, menuConfig), {}, {
40
+ disabled: this.isDisabled(),
41
+ isActive: this.isActive(),
42
+ onMouseDown: this.onMouseDown
43
+ });
44
+ return /*#__PURE__*/React.createElement(MenuItem, props);
45
+ }
46
+ }
57
47
  export default QuoteMenu;
@@ -1,11 +1,10 @@
1
- import _createClass from "@babel/runtime/helpers/esm/createClass";
2
- import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
3
1
  import { BLOCKQUOTE } from '../../constants';
4
- var Blockquote = /*#__PURE__*/_createClass(function Blockquote(options) {
5
- _classCallCheck(this, Blockquote);
6
- this.type = options.type || BLOCKQUOTE;
7
- this.children = options.children || [{
8
- text: ''
9
- }];
10
- });
2
+ class Blockquote {
3
+ constructor(options) {
4
+ this.type = options.type || BLOCKQUOTE;
5
+ this.children = options.children || [{
6
+ text: ''
7
+ }];
8
+ }
9
+ }
11
10
  export default Blockquote;
@@ -1,40 +1,39 @@
1
1
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
2
  import { Editor, Element, Point, Transforms, Node, Range } from '@seafile/slate';
4
3
  import { ReactEditor } from '@seafile/slate-react';
5
4
  import { generateEmptyElement, getSelectedNodeByType, isSelectionAtBlockStart } from '../../core';
6
5
  import { BLOCKQUOTE, PARAGRAPH, CODE_BLOCK, TABLE } from '../../constants';
7
6
  import { setBlockQuoteType, getFormattedElements, getFormattedRestElements } from './helpers';
8
- var withBlockquote = function withBlockquote(editor) {
9
- var insertBreak = editor.insertBreak,
10
- insertText = editor.insertText,
11
- deleteBackward = editor.deleteBackward,
12
- insertFragment = editor.insertFragment;
13
- var newEditor = editor;
14
- newEditor.insertBreak = function () {
15
- var selection = editor.selection;
7
+ const withBlockquote = editor => {
8
+ const {
9
+ insertBreak,
10
+ insertText,
11
+ deleteBackward,
12
+ insertFragment
13
+ } = editor;
14
+ const newEditor = editor;
15
+ newEditor.insertBreak = () => {
16
+ const {
17
+ selection
18
+ } = editor;
16
19
  if (selection == null) return insertBreak();
17
- var _Editor$nodes = Editor.nodes(editor, {
18
- match: function match(n) {
19
- return Element.isElement(n) && n.type === BLOCKQUOTE;
20
- },
21
- universal: true
22
- }),
23
- _Editor$nodes2 = _slicedToArray(_Editor$nodes, 1),
24
- nodeEntry = _Editor$nodes2[0];
20
+ const [nodeEntry] = Editor.nodes(editor, {
21
+ match: n => Element.isElement(n) && n.type === BLOCKQUOTE,
22
+ universal: true
23
+ });
25
24
  if (!nodeEntry) return insertBreak();
26
- var quoteElem = nodeEntry[0];
27
- var quotePath = ReactEditor.findPath(editor, quoteElem);
28
- var quoteEndLocation = Editor.end(editor, quotePath);
25
+ const quoteElem = nodeEntry[0];
26
+ const quotePath = ReactEditor.findPath(editor, quoteElem);
27
+ const quoteEndLocation = Editor.end(editor, quotePath);
29
28
  if (Point.equals(quoteEndLocation, selection.focus)) {
30
29
  // Cursor is at the end of blockquote
31
- var str = Node.string(quoteElem);
30
+ const str = Node.string(quoteElem);
32
31
  // The last of the blockquote text is \n;
33
32
  if (str && str.slice(-1) === '\n') {
34
33
  // Step 1: Remove the last \n
35
34
  editor.deleteBackward('character');
36
35
  // Step 2: Insert a paragraph
37
- var p = generateEmptyElement(PARAGRAPH);
36
+ const p = generateEmptyElement(PARAGRAPH);
38
37
  Transforms.insertNodes(newEditor, p, {
39
38
  mode: 'highest'
40
39
  });
@@ -45,24 +44,26 @@ var withBlockquote = function withBlockquote(editor) {
45
44
  // In other cases, insert a newline
46
45
  insertText('\n');
47
46
  };
48
- newEditor.deleteBackward = function (unit) {
49
- var selection = newEditor.selection;
47
+ newEditor.deleteBackward = unit => {
48
+ const {
49
+ selection
50
+ } = newEditor;
50
51
  if (selection === null) {
51
52
  deleteBackward(unit);
52
53
  return;
53
54
  }
54
- var node = getSelectedNodeByType(editor, BLOCKQUOTE);
55
+ const node = getSelectedNodeByType(editor, BLOCKQUOTE);
55
56
  if (node) {
56
57
  if (isSelectionAtBlockStart(editor)) {
57
58
  setBlockQuoteType(editor, PARAGRAPH);
58
59
  return;
59
60
  }
60
61
  if (unit === 'line' && Range.isCollapsed(selection)) {
61
- var quoteString = Node.string(node);
62
- for (var index = selection.anchor.offset; index > 1; index--) {
63
- var char = quoteString.slice(index - 1, index);
62
+ const quoteString = Node.string(node);
63
+ for (let index = selection.anchor.offset; index > 1; index--) {
64
+ const char = quoteString.slice(index - 1, index);
64
65
  if (char === '\n') {
65
- var deleteRange = selection.anchor.offset === index ? _objectSpread(_objectSpread({}, selection), {}, {
66
+ const deleteRange = selection.anchor.offset === index ? _objectSpread(_objectSpread({}, selection), {}, {
66
67
  anchor: _objectSpread(_objectSpread({}, selection.anchor), {}, {
67
68
  offset: index - 1
68
69
  })
@@ -83,21 +84,19 @@ var withBlockquote = function withBlockquote(editor) {
83
84
  }
84
85
  deleteBackward(unit);
85
86
  };
86
- newEditor.insertFragment = function (data) {
87
+ newEditor.insertFragment = data => {
87
88
  // Paste into quote block
88
89
  if (getSelectedNodeByType(newEditor, BLOCKQUOTE)) {
89
- var lastIndex = data.findLastIndex(function (item) {
90
- return [CODE_BLOCK, TABLE].includes(item === null || item === void 0 ? void 0 : item.type);
91
- });
92
- var elements = getFormattedElements(data.slice(0, lastIndex + 1));
93
- var restElements = getFormattedRestElements(data.slice(lastIndex + 1));
94
- var path = Editor.path(newEditor, newEditor.selection);
90
+ const lastIndex = data.findLastIndex(item => [CODE_BLOCK, TABLE].includes(item === null || item === void 0 ? void 0 : item.type));
91
+ let elements = getFormattedElements(data.slice(0, lastIndex + 1));
92
+ let restElements = getFormattedRestElements(data.slice(lastIndex + 1));
93
+ const path = Editor.path(newEditor, newEditor.selection);
95
94
 
96
95
  // Insert elements of quote block
97
96
  if (restElements.length !== 0) {
98
97
  // Insert text when inserting a single line paragraph
99
98
  if (restElements.length === 1 && restElements[0].type === PARAGRAPH) {
100
- var string = Node.string(restElements[0]);
99
+ const string = Node.string(restElements[0]);
101
100
  Editor.insertText(newEditor, string);
102
101
  } else {
103
102
  Transforms.insertNodes(newEditor, restElements, {