@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
@@ -3,11 +3,13 @@ import React from 'react';
3
3
  import { Node } from '@seafile/slate';
4
4
  import { Placeholder } from '../../core';
5
5
  import { SDOC_FONT_SIZE } from '../../constants';
6
- export var renderTitle = function renderTitle(props, editor) {
7
- var element = props.element,
8
- attributes = props.attributes,
9
- children = props.children;
10
- var style = {
6
+ export const renderTitle = (props, editor) => {
7
+ const {
8
+ element,
9
+ attributes,
10
+ children
11
+ } = props;
12
+ const style = {
11
13
  fontSize: "".concat(SDOC_FONT_SIZE[element.type], "pt"),
12
14
  textAlign: element.align
13
15
  };
@@ -19,11 +21,13 @@ export var renderTitle = function renderTitle(props, editor) {
19
21
  style: _objectSpread({}, style)
20
22
  }), children);
21
23
  };
22
- export var renderSubtitle = function renderSubtitle(props, editor) {
23
- var element = props.element,
24
- attributes = props.attributes,
25
- children = props.children;
26
- var style = {
24
+ export const renderSubtitle = (props, editor) => {
25
+ const {
26
+ element,
27
+ attributes,
28
+ children
29
+ } = props;
30
+ const style = {
27
31
  color: '#888',
28
32
  fontSize: "".concat(SDOC_FONT_SIZE[element.type], "pt"),
29
33
  textAlign: element.align
@@ -36,21 +40,25 @@ export var renderSubtitle = function renderSubtitle(props, editor) {
36
40
  style: _objectSpread({}, style)
37
41
  }), children);
38
42
  };
39
- export var renderHeader = function renderHeader(props, editor) {
40
- var element = props.element,
41
- attributes = props.attributes,
42
- children = props.children,
43
- isComposing = props.isComposing;
44
- var type = element.type;
45
- var level = type.split('header')[1];
46
- var style = _objectSpread({
43
+ export const renderHeader = (props, editor) => {
44
+ const {
45
+ element,
46
+ attributes,
47
+ children,
48
+ isComposing
49
+ } = props;
50
+ const {
51
+ type
52
+ } = element;
53
+ const level = type.split('header')[1];
54
+ const style = _objectSpread({
47
55
  textAlign: element.align,
48
56
  fontSize: "".concat(SDOC_FONT_SIZE[element.type], "pt")
49
57
  }, level === '6' && {
50
58
  fontStyle: 'italic'
51
59
  });
52
- var isShowPlaceHolder = false;
53
- var firstChild = editor.children[0];
60
+ let isShowPlaceHolder = false;
61
+ const firstChild = editor.children[0];
54
62
  if (firstChild.id === element.id && Node.string(element) === '' && !isComposing) {
55
63
  isShowPlaceHolder = true;
56
64
  }
@@ -2,12 +2,12 @@ import slugid from 'slugid';
2
2
  import typeOf from 'type-of';
3
3
  import { INLINE_LEVEL_TYPES, LIST_ITEM, PARAGRAPH, TOP_LEVEL_TYPES, UNORDERED_LIST } from '../../constants';
4
4
  import rules from './rules';
5
- var cruftNewline = function cruftNewline(element) {
5
+ const cruftNewline = element => {
6
6
  return !(element.nodeName === '#text' && element.nodeValue === '\n');
7
7
  };
8
- var deserializeElement = function deserializeElement(element) {
9
- var node;
10
- var next = function next(elements) {
8
+ const deserializeElement = element => {
9
+ let node;
10
+ const next = elements => {
11
11
  if (Object.prototype.toString.call(elements) === '[object NodeList]') {
12
12
  elements = Array.from(elements);
13
13
  }
@@ -23,11 +23,11 @@ var deserializeElement = function deserializeElement(element) {
23
23
  throw new Error("The `next` argument was called with invalid children: \"".concat(elements, "\"."));
24
24
  }
25
25
  };
26
- for (var i = 0; i < rules.length; i++) {
27
- var rule = rules[i];
26
+ for (let i = 0; i < rules.length; i++) {
27
+ const rule = rules[i];
28
28
  if (!rule) continue;
29
- var ret = rule(element, next);
30
- var type = typeOf(ret);
29
+ const ret = rule(element, next);
30
+ const type = typeOf(ret);
31
31
  if (type !== 'array' && type !== 'object' && type !== 'null' && type !== 'undefined') {
32
32
  throw new Error("A rule returned an invalid deserialized representation: \"".concat(node, "\"."));
33
33
  }
@@ -50,15 +50,15 @@ var deserializeElement = function deserializeElement(element) {
50
50
  // If node is undefined, it means that the label is not processed, and continue to process the child nodes of the element
51
51
  return node || next(element.childNodes);
52
52
  };
53
- var deserializeElements = function deserializeElements() {
54
- var elements = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
55
- var isTopLevel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
56
- var nodes = [];
57
- elements.filter(cruftNewline).forEach(function (element) {
58
- var node = deserializeElement(element);
53
+ const deserializeElements = function () {
54
+ let elements = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
55
+ let isTopLevel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
56
+ let nodes = [];
57
+ elements.filter(cruftNewline).forEach(element => {
58
+ const node = deserializeElement(element);
59
59
  switch (typeOf(node)) {
60
60
  case 'array':
61
- var formatNode = isTopLevel ? formatElementNodes(node) : node;
61
+ const formatNode = isTopLevel ? formatElementNodes(node) : node;
62
62
  nodes = nodes.concat(formatNode);
63
63
  break;
64
64
  case 'object':
@@ -71,14 +71,14 @@ var deserializeElements = function deserializeElements() {
71
71
 
72
72
  return nodes;
73
73
  };
74
- var formatElementNodes = function formatElementNodes(nodes) {
74
+ const formatElementNodes = nodes => {
75
75
  if (nodes.length === 0) return nodes;
76
- nodes = nodes.reduce(function (memo, node) {
76
+ nodes = nodes.reduce((memo, node) => {
77
77
  if (TOP_LEVEL_TYPES.includes(node.type)) {
78
78
  memo.push(node);
79
79
  }
80
80
  if (node.type === LIST_ITEM) {
81
- var newNode = {
81
+ const newNode = {
82
82
  id: slugid.nice(),
83
83
  type: UNORDERED_LIST,
84
84
  children: [node]
@@ -93,32 +93,34 @@ var formatElementNodes = function formatElementNodes(nodes) {
93
93
 
94
94
  // text | image | link
95
95
  if (!node.type || INLINE_LEVEL_TYPES.includes(node.type)) {
96
- var prevNode = memo[memo.length - 1];
96
+ let prevNode = memo[memo.length - 1];
97
97
  if (prevNode && prevNode.type === PARAGRAPH) {
98
98
  prevNode.children.push(node);
99
99
  return memo;
100
100
  }
101
- var _newNode = {
101
+ const newNode = {
102
102
  id: slugid.nice(),
103
103
  type: PARAGRAPH,
104
104
  children: [node]
105
105
  };
106
- memo.push(_newNode);
106
+ memo.push(newNode);
107
107
  return memo;
108
108
  }
109
109
  return memo;
110
110
  }, []);
111
111
  return nodes;
112
112
  };
113
- var parseHtml = function parseHtml(html) {
114
- var parsed = new DOMParser().parseFromString(html, 'text/html');
115
- var body = parsed.body;
113
+ const parseHtml = html => {
114
+ const parsed = new DOMParser().parseFromString(html, 'text/html');
115
+ const {
116
+ body
117
+ } = parsed;
116
118
  return body;
117
119
  };
118
- export var deserializeHtml = function deserializeHtml(html) {
119
- var fragment = parseHtml(html);
120
- var children = Array.from(fragment.childNodes);
121
- var nodes = [];
120
+ export const deserializeHtml = html => {
121
+ const fragment = parseHtml(html);
122
+ const children = Array.from(fragment.childNodes);
123
+ let nodes = [];
122
124
  nodes = deserializeElements(children, true);
123
125
  nodes = formatElementNodes(nodes);
124
126
  if (nodes.length === 0) {
@@ -1,5 +1,5 @@
1
1
  import withHtml from './plugin';
2
- var HtmlPlugin = {
2
+ const HtmlPlugin = {
3
3
  type: 'html',
4
4
  editorPlugin: withHtml
5
5
  };
@@ -2,18 +2,20 @@ import slugid from 'slugid';
2
2
  import { deserializeHtml } from './helper';
3
3
  import { getSelectedNodeByType } from '../../core';
4
4
  import { CODE_BLOCK, CODE_LINE } from '../../constants';
5
- var withHtml = function withHtml(editor) {
6
- var insertData = editor.insertData;
7
- var newEditor = editor;
8
- newEditor.insertData = function (data) {
5
+ const withHtml = editor => {
6
+ const {
7
+ insertData
8
+ } = editor;
9
+ const newEditor = editor;
10
+ newEditor.insertData = data => {
9
11
  if (!newEditor.insertFragmentData(data)) {
10
12
  // Other document paste content into code block
11
13
  if (!data.types.includes('text/code-block') && getSelectedNodeByType(editor, CODE_BLOCK)) {
12
- var plaintext = data.getData('text/plain') || '';
14
+ const plaintext = data.getData('text/plain') || '';
13
15
  if (plaintext) {
14
- var fragmentData = [];
15
- plaintext.split('\n').forEach(function (item) {
16
- var codeLine = {
16
+ let fragmentData = [];
17
+ plaintext.split('\n').forEach(item => {
18
+ const codeLine = {
17
19
  id: slugid.nice(),
18
20
  type: CODE_LINE,
19
21
  children: [{
@@ -27,9 +29,9 @@ var withHtml = function withHtml(editor) {
27
29
  }
28
30
  return;
29
31
  }
30
- var htmlContent = data.getData('text/html') || '';
32
+ const htmlContent = data.getData('text/html') || '';
31
33
  if (htmlContent) {
32
- var content = deserializeHtml(htmlContent);
34
+ const content = deserializeHtml(htmlContent);
33
35
  editor.insertFragment(content);
34
36
  return;
35
37
  }
@@ -1,8 +1,10 @@
1
1
  import slugid from 'slugid';
2
2
  import { BLOCKQUOTE } from '../../../constants';
3
- var blockquoteRule = function blockquoteRule(element, parseChild) {
4
- var nodeName = element.nodeName,
5
- childNodes = element.childNodes;
3
+ const blockquoteRule = (element, parseChild) => {
4
+ const {
5
+ nodeName,
6
+ childNodes
7
+ } = element;
6
8
  if (nodeName === 'BLOCKQUOTE') {
7
9
  return {
8
10
  id: slugid.nice(),
@@ -1,7 +1,9 @@
1
1
  import slugid from 'slugid';
2
2
  import { CHECK_LIST_ITEM } from '../../../constants';
3
- var checkListRule = function checkListRule(element, parseChild) {
4
- var nodeName = element.nodeName;
3
+ const checkListRule = (element, parseChild) => {
4
+ const {
5
+ nodeName
6
+ } = element;
5
7
  if (nodeName === 'INPUT' && element.getAttribute('type') === 'checkbox') {
6
8
  return {
7
9
  id: slugid.nice(),
@@ -1,19 +1,17 @@
1
1
  import slugid from 'slugid';
2
2
  import { CODE_BLOCK, CODE_LINE } from '../../../constants';
3
3
  import { genCodeLangs } from '../../code-block/prismjs';
4
- var codeBlockRule = function codeBlockRule(element, parseChild) {
5
- var nodeName = element.nodeName,
6
- childNodes = element.childNodes;
4
+ const codeBlockRule = (element, parseChild) => {
5
+ const {
6
+ nodeName,
7
+ childNodes
8
+ } = element;
7
9
  if (nodeName === 'PRE') {
8
- var children = Array.from(childNodes).filter(function (item) {
9
- return item.nodeName === 'CODE';
10
- });
11
- var codeChild = children[0];
10
+ const children = Array.from(childNodes).filter(item => item.nodeName === 'CODE');
11
+ let codeChild = children[0];
12
12
  if (codeChild) {
13
- var lang = codeChild.getAttribute('lang');
14
- lang = genCodeLangs().find(function (item) {
15
- return item.value === lang;
16
- }) || 'plaintext';
13
+ let lang = codeChild.getAttribute('lang');
14
+ lang = genCodeLangs().find(item => item.value === lang) || 'plaintext';
17
15
  return {
18
16
  id: slugid.nice(),
19
17
  language: lang,
@@ -21,9 +19,9 @@ var codeBlockRule = function codeBlockRule(element, parseChild) {
21
19
  children: parseChild(children)
22
20
  };
23
21
  } else {
24
- var _lang = 'plaintext';
25
- var content = childNodes[0].textContent;
26
- var _children = content.split('\n').map(function (text) {
22
+ const lang = 'plaintext';
23
+ const content = childNodes[0].textContent;
24
+ const children = content.split('\n').map(text => {
27
25
  return {
28
26
  id: slugid.nice(),
29
27
  type: CODE_LINE,
@@ -35,18 +33,16 @@ var codeBlockRule = function codeBlockRule(element, parseChild) {
35
33
  });
36
34
  return {
37
35
  id: slugid.nice(),
38
- language: _lang,
36
+ language: lang,
39
37
  type: CODE_BLOCK,
40
- children: _children
38
+ children: children
41
39
  };
42
40
  }
43
41
  }
44
42
  if (nodeName === 'CODE' && element.parentElement.nodeName === 'PRE') {
45
- var childIsP = Array.from(childNodes).every(function (n) {
46
- return n.nodeName === 'P';
47
- });
43
+ const childIsP = Array.from(childNodes).every(n => n.nodeName === 'P');
48
44
  if (childIsP) {
49
- return Array.from(childNodes).map(function (n) {
45
+ return Array.from(childNodes).map(n => {
50
46
  return {
51
47
  id: slugid.nice(),
52
48
  type: CODE_LINE,
@@ -57,8 +53,8 @@ var codeBlockRule = function codeBlockRule(element, parseChild) {
57
53
  };
58
54
  });
59
55
  }
60
- var _content = element.textContent;
61
- var hasNewLine = _content.indexOf('\n') > -1;
56
+ const content = element.textContent;
57
+ const hasNewLine = content.indexOf('\n') > -1;
62
58
  if (!hasNewLine) {
63
59
  return {
64
60
  id: slugid.nice(),
@@ -69,8 +65,8 @@ var codeBlockRule = function codeBlockRule(element, parseChild) {
69
65
  }]
70
66
  };
71
67
  }
72
- var codes = _content.split('\n');
73
- return codes.map(function (item) {
68
+ const codes = content.split('\n');
69
+ return codes.map(item => {
74
70
  return {
75
71
  id: slugid.nice(),
76
72
  type: CODE_LINE,
@@ -1,6 +1,6 @@
1
1
  import slugid from 'slugid';
2
- var HEADER_LIST = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6'];
3
- var HEADER_TYPE_MAP = {
2
+ const HEADER_LIST = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6'];
3
+ const HEADER_TYPE_MAP = {
4
4
  H1: 'header1',
5
5
  H2: 'header2',
6
6
  H3: 'header3',
@@ -8,9 +8,11 @@ var HEADER_TYPE_MAP = {
8
8
  H5: 'header5',
9
9
  H6: 'header6'
10
10
  };
11
- var headerRule = function headerRule(element, parseChild) {
12
- var nodeName = element.nodeName,
13
- childNodes = element.childNodes;
11
+ const headerRule = (element, parseChild) => {
12
+ const {
13
+ nodeName,
14
+ childNodes
15
+ } = element;
14
16
  if (nodeName && HEADER_LIST.includes(nodeName)) {
15
17
  return {
16
18
  id: slugid.nice(),
@@ -1,7 +1,9 @@
1
1
  import slugid from 'slugid';
2
2
  import { IMAGE } from '../../../constants';
3
- var imageRule = function imageRule(element, parseChild) {
4
- var nodeName = element.nodeName;
3
+ const imageRule = (element, parseChild) => {
4
+ const {
5
+ nodeName
6
+ } = element;
5
7
  if (nodeName === 'IMG') {
6
8
  return {
7
9
  id: slugid.nice(),
@@ -7,5 +7,5 @@ import listRule from './list';
7
7
  import paragraphRule from './paragraph';
8
8
  import tableRule from './table';
9
9
  import textRule from './text';
10
- var rules = [blockquoteRule, codeBlockRule, headerRule, imageRule, linkRule, listRule, tableRule, paragraphRule, textRule];
10
+ const rules = [blockquoteRule, codeBlockRule, headerRule, imageRule, linkRule, listRule, tableRule, paragraphRule, textRule];
11
11
  export default rules;
@@ -1,8 +1,10 @@
1
1
  import slugid from 'slugid';
2
2
  import { LINK } from '../../../constants';
3
- var linkRule = function linkRule(element, parseChild) {
4
- var nodeName = element.nodeName;
5
- var content = element.textContent || element.getAttribute('title') || element.getAttribute('href');
3
+ const linkRule = (element, parseChild) => {
4
+ const {
5
+ nodeName
6
+ } = element;
7
+ const content = element.textContent || element.getAttribute('title') || element.getAttribute('href');
6
8
  if (nodeName === 'A') {
7
9
  return {
8
10
  id: slugid.nice(),
@@ -1,9 +1,11 @@
1
1
  import slugid from 'slugid';
2
2
  import { LIST_ITEM, ORDERED_LIST, PARAGRAPH, UNORDERED_LIST } from '../../../constants';
3
- var PARAGRAPH_TAGS = ['DIV', 'P'];
4
- var listRule = function listRule(element, parseChild) {
5
- var nodeName = element.nodeName,
6
- childNodes = element.childNodes;
3
+ const PARAGRAPH_TAGS = ['DIV', 'P'];
4
+ const listRule = (element, parseChild) => {
5
+ const {
6
+ nodeName,
7
+ childNodes
8
+ } = element;
7
9
  if (nodeName === 'UL') {
8
10
  return {
9
11
  id: slugid.nice(),
@@ -1,8 +1,10 @@
1
1
  import slugid from 'slugid';
2
2
  import { PARAGRAPH } from '../../../constants';
3
- var paragraphRule = function paragraphRule(element, parseChild) {
4
- var nodeName = element.nodeName,
5
- childNodes = element.childNodes;
3
+ const paragraphRule = (element, parseChild) => {
4
+ const {
5
+ nodeName,
6
+ childNodes
7
+ } = element;
6
8
  if (nodeName === 'P' && element.parentElement.nodeName !== 'LI') {
7
9
  return {
8
10
  id: slugid.nice(),
@@ -1,8 +1,10 @@
1
1
  import slugid from 'slugid';
2
2
  import { TABLE, TABLE_CELL, TABLE_ROW } from '../../../constants';
3
- var tableRule = function tableRule(element, parseChild) {
4
- var nodeName = element.nodeName,
5
- childNodes = element.childNodes;
3
+ const tableRule = (element, parseChild) => {
4
+ const {
5
+ nodeName,
6
+ childNodes
7
+ } = element;
6
8
  if (nodeName === 'TABLE') {
7
9
  return {
8
10
  id: slugid.nice(),
@@ -1,7 +1,9 @@
1
1
  import slugid from 'slugid';
2
- var textRule = function textRule(element, parseChild) {
3
- var nodeName = element.nodeName,
4
- nodeType = element.nodeType;
2
+ const textRule = (element, parseChild) => {
3
+ const {
4
+ nodeName,
5
+ nodeType
6
+ } = element;
5
7
  if (nodeName === 'SPAN') {
6
8
  return {
7
9
  id: slugid.nice(),
@@ -1,8 +1,8 @@
1
1
  import blackBorder from '../../../../assets/images/black-border.png';
2
2
  import greyBorder from '../../../../assets/images/grey-border.png';
3
3
  import noBorder from '../../../../assets/images/no-border.png';
4
- export var IMAGE_DISPLAY_TYPE = ['Inline', 'Block'];
5
- export var IMAGE_BORDER_TYPE = [{
4
+ export const IMAGE_DISPLAY_TYPE = ['Inline', 'Block'];
5
+ export const IMAGE_BORDER_TYPE = [{
6
6
  type: 'none',
7
7
  imgUrl: noBorder,
8
8
  value: 'none'
@@ -1,94 +1,78 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
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
1
  import React from 'react';
7
2
  import Lightbox from '@seafile/react-image-lightbox';
8
3
  import { getImageURL } from '../helpers';
9
4
  import '@seafile/react-image-lightbox/style.css';
10
- var ImagePreviewer = /*#__PURE__*/function (_React$Component) {
11
- _inherits(ImagePreviewer, _React$Component);
12
- var _super = _createSuper(ImagePreviewer);
13
- function ImagePreviewer(props) {
14
- var _this;
15
- _classCallCheck(this, ImagePreviewer);
16
- _this = _super.call(this, props);
17
- _this.getImageNodes = function (nodes) {
18
- var nodeIndex = 0;
19
- var list = [];
5
+ class ImagePreviewer extends React.Component {
6
+ constructor(props) {
7
+ super(props);
8
+ this.getImageNodes = nodes => {
9
+ let nodeIndex = 0;
10
+ const list = [];
20
11
  while (nodes && nodeIndex <= nodes.length - 1) {
21
- var currentNode = nodes[nodeIndex];
12
+ const currentNode = nodes[nodeIndex];
22
13
  if (currentNode.type === 'image') {
23
- var url = getImageURL(currentNode.data.src);
14
+ const url = getImageURL(currentNode.data.src);
24
15
  url && list.push(url);
25
16
  } else {
26
- list.push.apply(list, _toConsumableArray(_this.getImageNodes(currentNode.children)));
17
+ list.push(...this.getImageNodes(currentNode.children));
27
18
  }
28
19
  nodeIndex++;
29
20
  }
30
21
  return list;
31
22
  };
32
- _this.moveToPrevImage = function () {
33
- _this.setState(function (prevState) {
34
- return {
35
- imageIndex: (prevState.imageIndex + _this.images.length - 1) % _this.images.length
36
- };
37
- });
23
+ this.moveToPrevImage = () => {
24
+ this.setState(prevState => ({
25
+ imageIndex: (prevState.imageIndex + this.images.length - 1) % this.images.length
26
+ }));
38
27
  };
39
- _this.moveToNextImage = function () {
40
- _this.setState(function (prevState) {
41
- return {
42
- imageIndex: (prevState.imageIndex + 1) % _this.images.length
43
- };
44
- });
28
+ this.moveToNextImage = () => {
29
+ this.setState(prevState => ({
30
+ imageIndex: (prevState.imageIndex + 1) % this.images.length
31
+ }));
45
32
  };
46
- var editor = props.editor,
47
- imageUrl = props.imageUrl;
48
- _this.images = _this.getImageNodes(editor.children);
49
- _this.state = {
50
- imageIndex: _this.images.findIndex(function (item) {
51
- return item === imageUrl;
52
- })
33
+ const {
34
+ editor,
35
+ imageUrl
36
+ } = props;
37
+ this.images = this.getImageNodes(editor.children);
38
+ this.state = {
39
+ imageIndex: this.images.findIndex(item => item === imageUrl)
53
40
  };
54
- return _this;
55
41
  }
56
- _createClass(ImagePreviewer, [{
57
- key: "render",
58
- value: function render() {
59
- var imageIndex = this.state.imageIndex;
60
- var imageItemsLength = this.images.length;
61
- var mainSrc = this.images[imageIndex] || '';
62
- var imageTitle = '';
63
- try {
64
- imageTitle = mainSrc ? decodeURI(mainSrc.slice(mainSrc.lastIndexOf('/') + 1)) : '';
65
- } catch (error) {
66
- // eslint-disable-next-line no-console
67
- console.log(error);
68
- }
69
- var imageTitleEl = /*#__PURE__*/React.createElement("span", {
70
- className: "d-flex"
71
- }, /*#__PURE__*/React.createElement("span", {
72
- className: "text-truncate"
73
- }, imageTitle), /*#__PURE__*/React.createElement("span", {
74
- className: "flex-shrink-0"
75
- }, "(", imageIndex + 1, "/", this.images.length, ")"));
76
- return /*#__PURE__*/React.createElement(Lightbox, {
77
- wrapperClassName: "sf-editor-image-previewer",
78
- imageTitle: imageTitleEl,
79
- mainSrc: mainSrc,
80
- toolbarButtons: [],
81
- nextSrc: this.images[(imageIndex + 1) % imageItemsLength],
82
- prevSrc: this.images[(imageIndex + imageItemsLength - 1) % imageItemsLength],
83
- onCloseRequest: this.props.toggleImagePreviewer,
84
- onMovePrevRequest: this.moveToPrevImage,
85
- onMoveNextRequest: this.moveToNextImage,
86
- reactModalProps: {
87
- shouldReturnFocusAfterClose: false
88
- }
89
- });
42
+ render() {
43
+ const {
44
+ imageIndex
45
+ } = this.state;
46
+ const imageItemsLength = this.images.length;
47
+ const mainSrc = this.images[imageIndex] || '';
48
+ let imageTitle = '';
49
+ try {
50
+ imageTitle = mainSrc ? decodeURI(mainSrc.slice(mainSrc.lastIndexOf('/') + 1)) : '';
51
+ } catch (error) {
52
+ // eslint-disable-next-line no-console
53
+ console.log(error);
90
54
  }
91
- }]);
92
- return ImagePreviewer;
93
- }(React.Component);
55
+ const imageTitleEl = /*#__PURE__*/React.createElement("span", {
56
+ className: "d-flex"
57
+ }, /*#__PURE__*/React.createElement("span", {
58
+ className: "text-truncate"
59
+ }, imageTitle), /*#__PURE__*/React.createElement("span", {
60
+ className: "flex-shrink-0"
61
+ }, "(", imageIndex + 1, "/", this.images.length, ")"));
62
+ return /*#__PURE__*/React.createElement(Lightbox, {
63
+ wrapperClassName: "sf-editor-image-previewer",
64
+ imageTitle: imageTitleEl,
65
+ mainSrc: mainSrc,
66
+ toolbarButtons: [],
67
+ nextSrc: this.images[(imageIndex + 1) % imageItemsLength],
68
+ prevSrc: this.images[(imageIndex + imageItemsLength - 1) % imageItemsLength],
69
+ onCloseRequest: this.props.toggleImagePreviewer,
70
+ onMovePrevRequest: this.moveToPrevImage,
71
+ onMoveNextRequest: this.moveToNextImage,
72
+ reactModalProps: {
73
+ shouldReturnFocusAfterClose: false
74
+ }
75
+ });
76
+ }
77
+ }
94
78
  export default ImagePreviewer;