@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
@@ -17,8 +17,8 @@ import 'prismjs/components/prism-ruby';
17
17
  import 'prismjs/components/prism-swift';
18
18
  import 'prismjs/components/prism-bash';
19
19
  import 'prismjs/components/prism-lua';
20
- var newlineRe = /\r\n|\r|\n/;
21
- export var genCodeLangs = function genCodeLangs() {
20
+ const newlineRe = /\r\n|\r|\n/;
21
+ export const genCodeLangs = () => {
22
22
  return [{
23
23
  text: 'Plain Text',
24
24
  value: 'plaintext'
@@ -72,9 +72,9 @@ export var genCodeLangs = function genCodeLangs() {
72
72
  value: 'xml'
73
73
  }];
74
74
  };
75
- export var normalizeTokensByLanguageType = {
76
- 'php': function php(tokens) {
77
- tokens.forEach(function (token) {
75
+ export const normalizeTokensByLanguageType = {
76
+ 'php': tokens => {
77
+ tokens.forEach(token => {
78
78
  if (['<?', '?>'].includes(token.content)) {
79
79
  token.type = 'operator';
80
80
  token.alias = '';
@@ -83,7 +83,7 @@ export var normalizeTokensByLanguageType = {
83
83
  return tokens;
84
84
  }
85
85
  };
86
- var normalizeEmptyLines = function normalizeEmptyLines(line) {
86
+ const normalizeEmptyLines = line => {
87
87
  if (line.length === 0) {
88
88
  line.push({
89
89
  types: ['plain'],
@@ -95,28 +95,28 @@ var normalizeEmptyLines = function normalizeEmptyLines(line) {
95
95
  line[0].empty = true;
96
96
  }
97
97
  };
98
- var appendTypes = function appendTypes(types, add) {
99
- var typesSize = types.length;
98
+ const appendTypes = (types, add) => {
99
+ const typesSize = types.length;
100
100
  if (typesSize > 0 && types[typesSize - 1] === add) {
101
101
  return types;
102
102
  }
103
103
  return types.concat(add);
104
104
  };
105
- export var normalizeTokens = function normalizeTokens(tokens) {
106
- var typeArrStack = [[]];
107
- var tokenArrStack = [tokens];
108
- var tokenArrIndexStack = [0];
109
- var tokenArrSizeStack = [tokens.length];
110
- var i = 0;
111
- var stackIndex = 0;
112
- var currentLine = [];
113
- var acc = [currentLine];
105
+ export const normalizeTokens = tokens => {
106
+ const typeArrStack = [[]];
107
+ const tokenArrStack = [tokens];
108
+ const tokenArrIndexStack = [0];
109
+ const tokenArrSizeStack = [tokens.length];
110
+ let i = 0;
111
+ let stackIndex = 0;
112
+ let currentLine = [];
113
+ const acc = [currentLine];
114
114
  while (stackIndex > -1) {
115
115
  while ((i = tokenArrIndexStack[stackIndex]++) < tokenArrSizeStack[stackIndex]) {
116
- var content = void 0;
117
- var types = typeArrStack[stackIndex];
118
- var tokenArr = tokenArrStack[stackIndex];
119
- var token = tokenArr[i];
116
+ let content;
117
+ let types = typeArrStack[stackIndex];
118
+ const tokenArr = tokenArrStack[stackIndex];
119
+ const token = tokenArr[i];
120
120
 
121
121
  // Determine content and append type to types if necessary
122
122
  if (typeof token === 'string') {
@@ -141,20 +141,20 @@ export var normalizeTokens = function normalizeTokens(tokens) {
141
141
  }
142
142
 
143
143
  // Split by newlines
144
- var splitByNewlines = content.split(newlineRe);
145
- var newlineCount = splitByNewlines.length;
144
+ const splitByNewlines = content.split(newlineRe);
145
+ const newlineCount = splitByNewlines.length;
146
146
  currentLine.push({
147
- types: types,
147
+ types,
148
148
  content: splitByNewlines[0]
149
149
  });
150
150
 
151
151
  // Create a new line for each string on a new line
152
- for (var _i = 1; _i < newlineCount; _i++) {
152
+ for (let i = 1; i < newlineCount; i++) {
153
153
  normalizeEmptyLines(currentLine);
154
154
  acc.push(currentLine = []);
155
155
  currentLine.push({
156
- types: types,
157
- content: splitByNewlines[_i]
156
+ types,
157
+ content: splitByNewlines[i]
158
158
  });
159
159
  }
160
160
  }
@@ -1,5 +1,4 @@
1
1
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
2
  import React, { useCallback, useEffect, useState, useRef } from 'react';
4
3
  import { ReactEditor, useReadOnly } from '@seafile/slate-react';
5
4
  import { Transforms } from '@seafile/slate';
@@ -10,43 +9,44 @@ import CodeBlockHoverMenu from './hover-menu';
10
9
  import { setClipboardCodeBlockData } from './helpers';
11
10
  import { INTERNAL_EVENT } from '../../../constants';
12
11
  import '../../../assets/css/code-block.css';
13
- var CodeBlock = function CodeBlock(_ref) {
14
- var attributes = _ref.attributes,
15
- children = _ref.children,
16
- element = _ref.element,
17
- editor = _ref.editor;
18
- var readOnly = useReadOnly();
19
- var codeBlockRef = useRef();
20
- var scrollRef = useScrollContext();
21
- var _element$style = element.style,
22
- style = _element$style === void 0 ? {
12
+ const CodeBlock = _ref => {
13
+ let {
14
+ attributes,
15
+ children,
16
+ element,
17
+ editor
18
+ } = _ref;
19
+ const readOnly = useReadOnly();
20
+ const codeBlockRef = useRef();
21
+ const scrollRef = useScrollContext();
22
+ const {
23
+ style = {
23
24
  white_space: 'nowrap'
24
- } : _element$style;
25
- var white_space = style.white_space;
26
- var _useState = useState({
27
- top: '',
28
- left: ''
29
- }),
30
- _useState2 = _slicedToArray(_useState, 2),
31
- menuPosition = _useState2[0],
32
- setMenuPosition = _useState2[1];
33
- var _useState3 = useState(false),
34
- _useState4 = _slicedToArray(_useState3, 2),
35
- showHoverMenu = _useState4[0],
36
- setShowHoverMenu = _useState4[1];
37
- var onChangeLanguage = useCallback(function (lang) {
38
- var language = lang.value;
39
- var path = ReactEditor.findPath(editor, element);
25
+ }
26
+ } = element;
27
+ const {
28
+ white_space
29
+ } = style;
30
+ const [menuPosition, setMenuPosition] = useState({
31
+ top: '',
32
+ left: ''
33
+ });
34
+ const [showHoverMenu, setShowHoverMenu] = useState(false);
35
+ const onChangeLanguage = useCallback(lang => {
36
+ const {
37
+ value: language
38
+ } = lang;
39
+ const path = ReactEditor.findPath(editor, element);
40
40
  Transforms.setNodes(editor, {
41
- language: language
41
+ language
42
42
  }, {
43
43
  at: path
44
44
  });
45
45
  // eslint-disable-next-line react-hooks/exhaustive-deps
46
46
  }, []);
47
- var onChangeAutoLineWrap = useCallback(function (autoWrap) {
48
- var path = ReactEditor.findPath(editor, element);
49
- var newStyle = _objectSpread(_objectSpread({}, style), {}, {
47
+ const onChangeAutoLineWrap = useCallback(autoWrap => {
48
+ const path = ReactEditor.findPath(editor, element);
49
+ const newStyle = _objectSpread(_objectSpread({}, style), {}, {
50
50
  white_space: autoWrap
51
51
  });
52
52
  Transforms.setNodes(editor, {
@@ -56,12 +56,12 @@ var CodeBlock = function CodeBlock(_ref) {
56
56
  });
57
57
  // eslint-disable-next-line react-hooks/exhaustive-deps
58
58
  }, []);
59
- var onCopyCodeBlock = useCallback(function () {
59
+ const onCopyCodeBlock = useCallback(() => {
60
60
  setClipboardCodeBlockData(element);
61
61
  // eslint-disable-next-line react-hooks/exhaustive-deps
62
62
  }, [element]);
63
- var onDeleteCodeBlock = useCallback(function () {
64
- var path = ReactEditor.findPath(editor, element);
63
+ const onDeleteCodeBlock = useCallback(() => {
64
+ const path = ReactEditor.findPath(editor, element);
65
65
  Transforms.removeNodes(editor, {
66
66
  at: path
67
67
  });
@@ -69,14 +69,15 @@ var CodeBlock = function CodeBlock(_ref) {
69
69
  Transforms.select(editor, editor.selection);
70
70
  // eslint-disable-next-line react-hooks/exhaustive-deps
71
71
  }, []);
72
- var onFocusCodeBlock = useCallback(function (e) {
72
+ const onFocusCodeBlock = useCallback(e => {
73
73
  if (readOnly) return;
74
74
  if (codeBlockRef.current) {
75
- var _codeBlockRef$current = codeBlockRef.current.getBoundingClientRect(),
76
- top = _codeBlockRef$current.top,
77
- left = _codeBlockRef$current.left;
78
- var menuTop = top - 42; // top = top distance - menu height
79
- var newMenuPosition = {
75
+ const {
76
+ top,
77
+ left
78
+ } = codeBlockRef.current.getBoundingClientRect();
79
+ const menuTop = top - 42; // top = top distance - menu height
80
+ const newMenuPosition = {
80
81
  top: menuTop,
81
82
  left: left // left = code-block left distance
82
83
  };
@@ -86,20 +87,21 @@ var CodeBlock = function CodeBlock(_ref) {
86
87
  setShowHoverMenu(true);
87
88
  // eslint-disable-next-line react-hooks/exhaustive-deps
88
89
  }, []);
89
- var onMouseLeave = useCallback(function (e) {
90
+ const onMouseLeave = useCallback(e => {
90
91
  if (readOnly) return;
91
92
  setShowHoverMenu(false);
92
93
  // eslint-disable-next-line react-hooks/exhaustive-deps
93
94
  }, []);
94
- var onScroll = useCallback(function (e) {
95
+ const onScroll = useCallback(e => {
95
96
  if (readOnly) return;
96
97
  if (!showHoverMenu) return;
97
98
  if (e.currentTarget.scrollTop) {
98
- var _codeBlockRef$current2 = codeBlockRef.current.getBoundingClientRect(),
99
- top = _codeBlockRef$current2.top,
100
- left = _codeBlockRef$current2.left;
101
- var menuTop = top - 42; // top = top distance - menu height
102
- var newMenuPosition = {
99
+ const {
100
+ top,
101
+ left
102
+ } = codeBlockRef.current.getBoundingClientRect();
103
+ const menuTop = top - 42; // top = top distance - menu height
104
+ const newMenuPosition = {
103
105
  top: menuTop,
104
106
  left: left // left = code-block left distance
105
107
  };
@@ -107,24 +109,24 @@ var CodeBlock = function CodeBlock(_ref) {
107
109
  setMenuPosition(newMenuPosition);
108
110
  }
109
111
  }, [readOnly, showHoverMenu]);
110
- useEffect(function () {
112
+ useEffect(() => {
111
113
  if (readOnly) return;
112
- var observerRefValue = null;
114
+ let observerRefValue = null;
113
115
  if (scrollRef.current) {
114
116
  scrollRef.current.addEventListener('scroll', onScroll);
115
117
  observerRefValue = scrollRef.current;
116
118
  }
117
- return function () {
119
+ return () => {
118
120
  observerRefValue.removeEventListener('scroll', onScroll);
119
121
  };
120
122
  }, [onScroll, readOnly, scrollRef]);
121
- var onHiddenHoverMenu = useCallback(function () {
123
+ const onHiddenHoverMenu = useCallback(() => {
122
124
  if (codeBlockRef.current) {
123
125
  setShowHoverMenu(false);
124
126
  }
125
127
  }, []);
126
- useEffect(function () {
127
- var eventBus = EventBus.getInstance();
128
+ useEffect(() => {
129
+ const eventBus = EventBus.getInstance();
128
130
  eventBus.subscribe(INTERNAL_EVENT.HIDDEN_CODE_BLOCK_HOVER_MENU, onHiddenHoverMenu);
129
131
  // eslint-disable-next-line react-hooks/exhaustive-deps
130
132
  }, []);
@@ -152,15 +154,17 @@ var CodeBlock = function CodeBlock(_ref) {
152
154
  onDeleteCodeBlock: onDeleteCodeBlock
153
155
  }));
154
156
  };
155
- export var renderCodeBlock = function renderCodeBlock(props, editor) {
157
+ export const renderCodeBlock = (props, editor) => {
156
158
  return /*#__PURE__*/React.createElement(CodeBlock, Object.assign({}, props, {
157
159
  editor: editor
158
160
  }));
159
161
  };
160
- export var renderCodeLine = function renderCodeLine(props, editor) {
161
- var element = props.element,
162
- attributes = props.attributes,
163
- children = props.children;
162
+ export const renderCodeLine = (props, editor) => {
163
+ const {
164
+ element,
165
+ attributes,
166
+ children
167
+ } = props;
164
168
  return /*#__PURE__*/React.createElement("div", Object.assign({
165
169
  "data-id": element.id
166
170
  }, attributes, {
@@ -1,18 +1,20 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
- var _FILE_LINK_TYPE_CONFI;
3
- export var FILE_LINK_TYPE = {
1
+ export const FILE_LINK_TYPE = {
4
2
  TEXT_LINK: 'text_link',
5
3
  ICON_LINK: 'icon_link',
6
4
  CARD_LINK: 'card_link'
7
5
  };
8
- export var FILE_LINK_TYPE_CONFIG = (_FILE_LINK_TYPE_CONFI = {}, _defineProperty(_FILE_LINK_TYPE_CONFI, FILE_LINK_TYPE.TEXT_LINK, {
9
- icon: 'sdocfont sdoc-text-link',
10
- text: 'Text_link'
11
- }), _defineProperty(_FILE_LINK_TYPE_CONFI, FILE_LINK_TYPE.ICON_LINK, {
12
- icon: 'sdocfont sdoc-inline-link',
13
- text: 'Icon_and_text_Link'
14
- }), _defineProperty(_FILE_LINK_TYPE_CONFI, FILE_LINK_TYPE.CARD_LINK, {
15
- icon: 'sdocfont sdoc-card-link',
16
- text: 'Card'
17
- }), _FILE_LINK_TYPE_CONFI);
18
- export var FILE_LINK_TYPES = [FILE_LINK_TYPE.TEXT_LINK, FILE_LINK_TYPE.ICON_LINK, FILE_LINK_TYPE.CARD_LINK];
6
+ export const FILE_LINK_TYPE_CONFIG = {
7
+ [FILE_LINK_TYPE.TEXT_LINK]: {
8
+ icon: 'sdocfont sdoc-text-link',
9
+ text: 'Text_link'
10
+ },
11
+ [FILE_LINK_TYPE.ICON_LINK]: {
12
+ icon: 'sdocfont sdoc-inline-link',
13
+ text: 'Icon_and_text_Link'
14
+ },
15
+ [FILE_LINK_TYPE.CARD_LINK]: {
16
+ icon: 'sdocfont sdoc-card-link',
17
+ text: 'Card'
18
+ }
19
+ };
20
+ export const FILE_LINK_TYPES = [FILE_LINK_TYPE.TEXT_LINK, FILE_LINK_TYPE.ICON_LINK, FILE_LINK_TYPE.CARD_LINK];
@@ -1,4 +1,3 @@
1
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
1
  import { ReactEditor } from '@seafile/slate-react';
3
2
  import { Editor, Transforms, Range } from '@seafile/slate';
4
3
  import slugid from 'slugid';
@@ -6,12 +5,14 @@ import copy from 'copy-to-clipboard';
6
5
  import context from '../../../../context';
7
6
  import { FILE_LINK, INSERT_FILE_DISPLAY_TYPE, CODE_BLOCK, CODE_LINE, LINK, PARAGRAPH } from '../../constants';
8
7
  import { getNodeType, getSelectedElems } from '../../core';
9
- export var isMenuDisabled = function isMenuDisabled(editor, readonly) {
8
+ export const isMenuDisabled = (editor, readonly) => {
10
9
  if (readonly) return true;
11
10
  if (editor.selection == null) return true;
12
- var selectedElems = getSelectedElems(editor);
13
- var notMatch = selectedElems.some(function (elem) {
14
- var type = elem.type;
11
+ const selectedElems = getSelectedElems(editor);
12
+ const notMatch = selectedElems.some(elem => {
13
+ const {
14
+ type
15
+ } = elem;
15
16
  if (editor.isVoid(elem)) return true;
16
17
  if ([CODE_BLOCK, CODE_LINE, LINK].includes(type)) return true;
17
18
  return false;
@@ -20,8 +21,8 @@ export var isMenuDisabled = function isMenuDisabled(editor, readonly) {
20
21
  return false; // enable
21
22
  };
22
23
 
23
- export var generateFileNode = function generateFileNode(uuid, text) {
24
- var fileNode = {
24
+ export const generateFileNode = (uuid, text) => {
25
+ const fileNode = {
25
26
  id: slugid.nice(),
26
27
  type: FILE_LINK,
27
28
  doc_uuid: uuid,
@@ -34,30 +35,27 @@ export var generateFileNode = function generateFileNode(uuid, text) {
34
35
  };
35
36
  return fileNode;
36
37
  };
37
- export var getType = function getType(editor) {
38
- var _Editor$nodes = Editor.nodes(editor, {
39
- match: function match(n) {
40
- return getNodeType(n) === FILE_LINK;
41
- },
42
- universal: true
43
- }),
44
- _Editor$nodes2 = _slicedToArray(_Editor$nodes, 1),
45
- match = _Editor$nodes2[0];
38
+ export const getType = editor => {
39
+ const [match] = Editor.nodes(editor, {
40
+ match: n => getNodeType(n) === FILE_LINK,
41
+ universal: true
42
+ });
46
43
  if (!match) return PARAGRAPH;
47
- var _match = _slicedToArray(match, 1),
48
- n = _match[0];
44
+ const [n] = match;
49
45
  return getNodeType(n);
50
46
  };
51
- export var insertFileLink = function insertFileLink(editor, text, uuid) {
47
+ export const insertFileLink = (editor, text, uuid) => {
52
48
  if (isMenuDisabled(editor)) return;
53
49
  // Selection folded or not
54
- var selection = editor.selection;
50
+ const {
51
+ selection
52
+ } = editor;
55
53
  if (selection == null) return;
56
- var isCollapsed = Range.isCollapsed(selection);
54
+ const isCollapsed = Range.isCollapsed(selection);
57
55
  if (isCollapsed) {
58
56
  // Insert Spaces before and after filelinks for easy operation
59
57
  editor.insertText(' ');
60
- var fileNode = generateFileNode(uuid, text);
58
+ const fileNode = generateFileNode(uuid, text);
61
59
  Transforms.insertNodes(editor, fileNode);
62
60
 
63
61
  // Not being able to use insertText directly causes the added Spaces to be added to the linked text, as in the issue above, replaced by insertFragment
@@ -66,16 +64,16 @@ export var insertFileLink = function insertFileLink(editor, text, uuid) {
66
64
  text: ' '
67
65
  }]);
68
66
  } else {
69
- var selectedText = Editor.string(editor, selection); // Selected text
67
+ const selectedText = Editor.string(editor, selection); // Selected text
70
68
  if (selectedText !== text) {
71
69
  // If the selected text is different from the typed text, delete the text and insert the link
72
70
  editor.deleteFragment();
73
- var _fileNode = generateFileNode(uuid, text);
74
- Transforms.insertNodes(editor, _fileNode);
71
+ const fileNode = generateFileNode(uuid, text);
72
+ Transforms.insertNodes(editor, fileNode);
75
73
  } else {
76
74
  // If the selected text is the same as the entered text, only the link can be wrapped
77
- var _fileNode2 = generateFileNode(uuid, text);
78
- Transforms.wrapNodes(editor, _fileNode2, {
75
+ const fileNode = generateFileNode(uuid, text);
76
+ Transforms.wrapNodes(editor, fileNode, {
79
77
  split: true
80
78
  });
81
79
  Transforms.collapse(editor, {
@@ -84,27 +82,27 @@ export var insertFileLink = function insertFileLink(editor, text, uuid) {
84
82
  }
85
83
  }
86
84
  };
87
- export var unwrapLinkNode = function unwrapLinkNode(editor, element) {
85
+ export const unwrapLinkNode = (editor, element) => {
88
86
  if (editor.selection == null) return;
89
- var path = ReactEditor.findPath(editor, element);
87
+ const path = ReactEditor.findPath(editor, element);
90
88
  if (path) {
91
89
  Transforms.unwrapNodes(editor, {
92
90
  at: path
93
91
  });
94
92
  }
95
93
  };
96
- export var getUrl = function getUrl(uuid) {
94
+ export const getUrl = uuid => {
97
95
  return context.getSdocLocalFileUrl(uuid);
98
96
  };
99
- export var onCopyFileLinkNode = function onCopyFileLinkNode(editor, element) {
97
+ export const onCopyFileLinkNode = (editor, element) => {
100
98
  if (editor.selection == null || Range.isExpanded(editor.selection)) return;
101
- var p = ReactEditor.findPath(editor, element);
99
+ const p = ReactEditor.findPath(editor, element);
102
100
  Transforms.select(editor, p);
103
- var newData = editor.setFragmentData(new DataTransfer());
101
+ const newData = editor.setFragmentData(new DataTransfer());
104
102
  copy('copy', {
105
- onCopy: function onCopy(clipboardData) {
106
- newData.types.forEach(function (type) {
107
- var data = newData.getData(type);
103
+ onCopy: clipboardData => {
104
+ newData.types.forEach(type => {
105
+ const data = newData.getData(type);
108
106
  clipboardData.setData(type, data);
109
107
  });
110
108
  }
@@ -1,4 +1,3 @@
1
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
1
  import React, { useCallback, useState } from 'react';
3
2
  import { Transforms } from '@seafile/slate';
4
3
  import { ReactEditor, useReadOnly } from '@seafile/slate-react';
@@ -9,19 +8,18 @@ import { ElementPopover } from '../../../commons';
9
8
  import toaster from '../../../../../components/toast';
10
9
  import { getUrl, onCopyFileLinkNode } from '../helpers';
11
10
  import './index.css';
12
- var FileLinkHoverMenu = function FileLinkHoverMenu(_ref) {
13
- var editor = _ref.editor,
14
- menuPosition = _ref.menuPosition,
15
- element = _ref.element,
16
- onUnwrapFileLinkNode = _ref.onUnwrapFileLinkNode,
17
- onHideInsertHoverMenu = _ref.onHideInsertHoverMenu,
18
- t = _ref.t;
19
- var readOnly = useReadOnly();
20
- var _useState = useState(false),
21
- _useState2 = _slicedToArray(_useState, 2),
22
- isShowDisplayStylePopover = _useState2[0],
23
- setIsShowDisplayStylePopover = _useState2[1];
24
- var onCopy = useCallback(function (e) {
11
+ const FileLinkHoverMenu = _ref => {
12
+ let {
13
+ editor,
14
+ menuPosition,
15
+ element,
16
+ onUnwrapFileLinkNode,
17
+ onHideInsertHoverMenu,
18
+ t
19
+ } = _ref;
20
+ const readOnly = useReadOnly();
21
+ const [isShowDisplayStylePopover, setIsShowDisplayStylePopover] = useState(false);
22
+ const onCopy = useCallback(e => {
25
23
  e.stopPropagation();
26
24
  onCopyFileLinkNode(editor, element);
27
25
  toaster.success(t('Copied'), {
@@ -31,12 +29,12 @@ var FileLinkHoverMenu = function FileLinkHoverMenu(_ref) {
31
29
  onHideInsertHoverMenu();
32
30
  // eslint-disable-next-line react-hooks/exhaustive-deps
33
31
  }, []);
34
- var onShowProver = useCallback(function (e) {
32
+ const onShowProver = useCallback(e => {
35
33
  setIsShowDisplayStylePopover(true);
36
34
  }, []);
37
- var onSelect = useCallback(function (event, value) {
35
+ const onSelect = useCallback((event, value) => {
38
36
  event.stopPropagation();
39
- var path = ReactEditor.findPath(editor, element);
37
+ const path = ReactEditor.findPath(editor, element);
40
38
  if (path) {
41
39
  Transforms.setNodes(editor, {
42
40
  display_type: value
@@ -47,8 +45,8 @@ var FileLinkHoverMenu = function FileLinkHoverMenu(_ref) {
47
45
  onHideInsertHoverMenu();
48
46
  // eslint-disable-next-line react-hooks/exhaustive-deps
49
47
  }, []);
50
- var selectedType = element.display_type || FILE_LINK_TYPE.TEXT_LINK;
51
- var id = "file-link-display-type-".concat(element.id);
48
+ const selectedType = element.display_type || FILE_LINK_TYPE.TEXT_LINK;
49
+ const id = "file-link-display-type-".concat(element.id);
52
50
  return /*#__PURE__*/React.createElement(ElementPopover, null, /*#__PURE__*/React.createElement("div", {
53
51
  className: "sdoc-file-link-hover-menu-container",
54
52
  style: menuPosition
@@ -93,14 +91,12 @@ var FileLinkHoverMenu = function FileLinkHoverMenu(_ref) {
93
91
  className: "sdocfont sdoc-unlink icon-font"
94
92
  })))), isShowDisplayStylePopover && /*#__PURE__*/React.createElement("div", {
95
93
  className: "sdoc-file-display-style-popover sdoc-dropdown-menu"
96
- }, FILE_LINK_TYPES.map(function (fileLinkType) {
94
+ }, FILE_LINK_TYPES.map(fileLinkType => {
97
95
  return /*#__PURE__*/React.createElement("div", {
98
96
  key: fileLinkType,
99
97
  "date-type": fileLinkType,
100
98
  className: "sdoc-dropdown-menu-item sdoc-dropdown-item-with-left-icon pr-2",
101
- onClick: function onClick(event) {
102
- return onSelect(event, fileLinkType);
103
- }
99
+ onClick: event => onSelect(event, fileLinkType)
104
100
  }, /*#__PURE__*/React.createElement("div", {
105
101
  className: "sdoc-dropdown-item-content"
106
102
  }, /*#__PURE__*/React.createElement("i", {
@@ -2,7 +2,7 @@ import { FILE_LINK } from '../../constants';
2
2
  import FileLinkMenu from './menu';
3
3
  import withFileLink from './plugin';
4
4
  import renderFileLink from './render-elem';
5
- var FileLinkPlugin = {
5
+ const FileLinkPlugin = {
6
6
  type: FILE_LINK,
7
7
  editorMenus: [FileLinkMenu],
8
8
  editorPlugin: withFileLink,
@@ -3,14 +3,16 @@ import { FILE_LINK, MENUS_CONFIG_MAP, ELEMENT_TYPE } from '../../../constants';
3
3
  import { isMenuDisabled, insertFileLink } from '../helpers';
4
4
  import DropdownMenuItem from '../../../commons/dropdown-menu-item';
5
5
  import { INTERNAL_EVENT } from '../../../../constants';
6
- var FileLinkMenu = function FileLinkMenu(_ref) {
7
- var editor = _ref.editor,
8
- readonly = _ref.readonly,
9
- toggle = _ref.toggle,
10
- eventBus = _ref.eventBus;
11
- var disabled = isMenuDisabled(editor, readonly);
12
- var menuConfig = MENUS_CONFIG_MAP[FILE_LINK];
13
- var openSelectFileDialog = useCallback(function () {
6
+ const FileLinkMenu = _ref => {
7
+ let {
8
+ editor,
9
+ readonly,
10
+ toggle,
11
+ eventBus
12
+ } = _ref;
13
+ const disabled = isMenuDisabled(editor, readonly);
14
+ const menuConfig = MENUS_CONFIG_MAP[FILE_LINK];
15
+ const openSelectFileDialog = useCallback(() => {
14
16
  eventBus.dispatch(INTERNAL_EVENT.INSERT_ELEMENT, {
15
17
  type: ELEMENT_TYPE.FILE_LINK,
16
18
  insertFileLinkCallback: insertFileLink
@@ -1,30 +1,36 @@
1
1
  import { Transforms, Node, Editor } from '@seafile/slate';
2
2
  import { FILE_LINK } from '../../constants';
3
- var withFileLink = function withFileLink(editor) {
4
- var isInline = editor.isInline,
5
- deleteBackward = editor.deleteBackward;
6
- var newEditor = editor;
3
+ const withFileLink = editor => {
4
+ const {
5
+ isInline,
6
+ deleteBackward
7
+ } = editor;
8
+ const newEditor = editor;
7
9
 
8
10
  // Rewrite isInline
9
- newEditor.isInline = function (elem) {
10
- var type = elem.type;
11
+ newEditor.isInline = elem => {
12
+ const {
13
+ type
14
+ } = elem;
11
15
  if (type === FILE_LINK) {
12
16
  return true;
13
17
  }
14
18
  return isInline(elem);
15
19
  };
16
- newEditor.deleteBackward = function (unit) {
17
- var selection = newEditor.selection;
20
+ newEditor.deleteBackward = unit => {
21
+ const {
22
+ selection
23
+ } = newEditor;
18
24
  if (selection === null) {
19
25
  return deleteBackward(unit);
20
26
  }
21
27
 
22
28
  // Delete file link node
23
- var nodeEntry = Editor.node(newEditor, newEditor.selection);
29
+ const nodeEntry = Editor.node(newEditor, newEditor.selection);
24
30
  if (nodeEntry && Node.string(nodeEntry[0]).length === 0) {
25
- var beforePath = nodeEntry[1];
31
+ const beforePath = nodeEntry[1];
26
32
  beforePath.splice(-1, 1, Math.max(nodeEntry[1].at(-1) - 1, 0));
27
- var beforeNodeEntry = Editor.node(newEditor, beforePath);
33
+ const beforeNodeEntry = Editor.node(newEditor, beforePath);
28
34
  if (beforeNodeEntry && beforeNodeEntry[0].type === FILE_LINK) {
29
35
  Transforms.delete(newEditor, {
30
36
  at: beforeNodeEntry[1]