@seafile/sdoc-editor 0.3.6 → 0.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/dist/api/sdoc-server-api.js +165 -170
  2. package/dist/api/seafile-api.js +180 -246
  3. package/dist/basic-sdk/comment/comment-decorate.js +23 -30
  4. package/dist/basic-sdk/comment/components/comment-all-participants/index.js +18 -18
  5. package/dist/basic-sdk/comment/components/comment-all-participants/participant-avatar.js +13 -13
  6. package/dist/basic-sdk/comment/components/comment-delete-shadow.js +11 -9
  7. package/dist/basic-sdk/comment/components/comment-editor.js +37 -34
  8. package/dist/basic-sdk/comment/components/comment-input/comment-participant-item.js +16 -14
  9. package/dist/basic-sdk/comment/components/comment-input/index.js +110 -106
  10. package/dist/basic-sdk/comment/components/comment-item-content.js +29 -37
  11. package/dist/basic-sdk/comment/components/comment-item-reply.js +24 -33
  12. package/dist/basic-sdk/comment/components/comment-item-resolved-reply.js +5 -3
  13. package/dist/basic-sdk/comment/components/comment-item-wrapper.js +190 -285
  14. package/dist/basic-sdk/comment/components/comment-list.js +52 -72
  15. package/dist/basic-sdk/comment/components/comment-participants-editor/index.js +23 -30
  16. package/dist/basic-sdk/comment/components/comment-participants-editor/searched-collaborators.js +21 -19
  17. package/dist/basic-sdk/comment/components/comment-participants-editor/selected-participants.js +16 -14
  18. package/dist/basic-sdk/comment/components/editor-comment.js +23 -32
  19. package/dist/basic-sdk/comment/components/elements-comment-count/element-comment-count.js +18 -20
  20. package/dist/basic-sdk/comment/components/elements-comment-count/index.js +8 -8
  21. package/dist/basic-sdk/comment/components/global-comment/global-comment-body-header.js +23 -25
  22. package/dist/basic-sdk/comment/components/global-comment/global-comment-editor.js +9 -7
  23. package/dist/basic-sdk/comment/components/global-comment/global-comment-header.js +9 -6
  24. package/dist/basic-sdk/comment/components/global-comment/index.js +63 -86
  25. package/dist/basic-sdk/comment/constants/index.js +9 -9
  26. package/dist/basic-sdk/comment/helper.js +27 -26
  27. package/dist/basic-sdk/comment/hooks/comment-hooks/use-comment-context.js +8 -7
  28. package/dist/basic-sdk/comment/hooks/comment-hooks/use-comment-list.js +19 -30
  29. package/dist/basic-sdk/comment/hooks/comment-hooks/use-comment-mount.js +41 -71
  30. package/dist/basic-sdk/comment/hooks/notification-hooks/use-notification-context.js +8 -7
  31. package/dist/basic-sdk/comment/hooks/notification-hooks/use-notification-mount.js +45 -64
  32. package/dist/basic-sdk/comment/hooks/use-participants.js +46 -53
  33. package/dist/basic-sdk/comment/index.js +22 -19
  34. package/dist/basic-sdk/comment/provider/comment-context-provider.js +9 -11
  35. package/dist/basic-sdk/comment/provider/index.js +4 -2
  36. package/dist/basic-sdk/comment/provider/notification-context-provider.js +9 -11
  37. package/dist/basic-sdk/comment/reducer/comment-reducer.js +151 -137
  38. package/dist/basic-sdk/comment/reducer/notification-reducer.js +20 -15
  39. package/dist/basic-sdk/comment/utils/index.js +180 -173
  40. package/dist/basic-sdk/comment/utils/notification-utils.js +15 -14
  41. package/dist/basic-sdk/constants/index.js +9 -9
  42. package/dist/basic-sdk/cursor/helper.js +13 -9
  43. package/dist/basic-sdk/cursor/use-cursors.js +9 -13
  44. package/dist/basic-sdk/decorates/index.js +8 -9
  45. package/dist/basic-sdk/editor/editable-article.js +63 -57
  46. package/dist/basic-sdk/editor/sdoc-editor.js +42 -47
  47. package/dist/basic-sdk/extension/commons/color-menu/color-item.js +6 -4
  48. package/dist/basic-sdk/extension/commons/color-menu/index.js +40 -50
  49. package/dist/basic-sdk/extension/commons/dropdown-menu-item/index.js +17 -16
  50. package/dist/basic-sdk/extension/commons/element-popover/index.js +27 -45
  51. package/dist/basic-sdk/extension/commons/insert-element-dialog/index.js +46 -59
  52. package/dist/basic-sdk/extension/commons/menu/menu-group.js +7 -21
  53. package/dist/basic-sdk/extension/commons/menu/menu-item.js +17 -14
  54. package/dist/basic-sdk/extension/commons/more-dropdown/index.js +9 -7
  55. package/dist/basic-sdk/extension/commons/select-file-dialog/helpers.js +3 -3
  56. package/dist/basic-sdk/extension/commons/select-file-dialog/index.js +26 -23
  57. package/dist/basic-sdk/extension/commons/select-file-dialog/local-files/index.js +49 -80
  58. package/dist/basic-sdk/extension/constants/color.js +10 -10
  59. package/dist/basic-sdk/extension/constants/diff-view.js +3 -3
  60. package/dist/basic-sdk/extension/constants/element-type.js +29 -29
  61. package/dist/basic-sdk/extension/constants/font.js +44 -37
  62. package/dist/basic-sdk/extension/constants/index.js +27 -16
  63. package/dist/basic-sdk/extension/constants/keyboard.js +4 -4
  64. package/dist/basic-sdk/extension/constants/menus-config.js +234 -203
  65. package/dist/basic-sdk/extension/core/queries/index.js +185 -285
  66. package/dist/basic-sdk/extension/core/transforms/focus-editor.js +2 -2
  67. package/dist/basic-sdk/extension/core/transforms/move-children.js +14 -14
  68. package/dist/basic-sdk/extension/core/transforms/remove-node-children.js +6 -18
  69. package/dist/basic-sdk/extension/core/transforms/replace-node.js +22 -19
  70. package/dist/basic-sdk/extension/core/transforms/update-parent-node.js +6 -8
  71. package/dist/basic-sdk/extension/core/utils/index.js +12 -12
  72. package/dist/basic-sdk/extension/index.js +6 -6
  73. package/dist/basic-sdk/extension/plugins/blockquote/helpers.js +39 -54
  74. package/dist/basic-sdk/extension/plugins/blockquote/index.js +1 -1
  75. package/dist/basic-sdk/extension/plugins/blockquote/menu/index.js +34 -44
  76. package/dist/basic-sdk/extension/plugins/blockquote/model.js +8 -9
  77. package/dist/basic-sdk/extension/plugins/blockquote/plugin.js +36 -37
  78. package/dist/basic-sdk/extension/plugins/blockquote/render-elem.js +7 -5
  79. package/dist/basic-sdk/extension/plugins/check-list/helpers.js +15 -25
  80. package/dist/basic-sdk/extension/plugins/check-list/index.js +1 -1
  81. package/dist/basic-sdk/extension/plugins/check-list/menu/index.js +35 -45
  82. package/dist/basic-sdk/extension/plugins/check-list/model.js +9 -10
  83. package/dist/basic-sdk/extension/plugins/check-list/plugin.js +16 -10
  84. package/dist/basic-sdk/extension/plugins/check-list/render-elem.js +42 -56
  85. package/dist/basic-sdk/extension/plugins/clear-format/helpers.js +21 -36
  86. package/dist/basic-sdk/extension/plugins/clear-format/menu/index.js +12 -10
  87. package/dist/basic-sdk/extension/plugins/code-block/helpers.js +40 -58
  88. package/dist/basic-sdk/extension/plugins/code-block/hover-menu/index.js +38 -46
  89. package/dist/basic-sdk/extension/plugins/code-block/index.js +1 -1
  90. package/dist/basic-sdk/extension/plugins/code-block/menu/index.js +9 -7
  91. package/dist/basic-sdk/extension/plugins/code-block/model.js +8 -9
  92. package/dist/basic-sdk/extension/plugins/code-block/plugin.js +44 -51
  93. package/dist/basic-sdk/extension/plugins/code-block/prismjs.js +27 -27
  94. package/dist/basic-sdk/extension/plugins/code-block/render-elem.js +62 -58
  95. package/dist/basic-sdk/extension/plugins/file-link/constants/index.js +16 -14
  96. package/dist/basic-sdk/extension/plugins/file-link/helpers.js +34 -36
  97. package/dist/basic-sdk/extension/plugins/file-link/hover-menu/index.js +19 -23
  98. package/dist/basic-sdk/extension/plugins/file-link/index.js +1 -1
  99. package/dist/basic-sdk/extension/plugins/file-link/menu/index.js +10 -8
  100. package/dist/basic-sdk/extension/plugins/file-link/plugin.js +17 -11
  101. package/dist/basic-sdk/extension/plugins/file-link/render-elem.js +34 -38
  102. package/dist/basic-sdk/extension/plugins/font/helpers.js +75 -78
  103. package/dist/basic-sdk/extension/plugins/font/index.js +1 -1
  104. package/dist/basic-sdk/extension/plugins/font/menu/font-family/font-item.js +14 -13
  105. package/dist/basic-sdk/extension/plugins/font/menu/font-family/index.js +38 -55
  106. package/dist/basic-sdk/extension/plugins/font/menu/font-size/font-size-scale.js +12 -10
  107. package/dist/basic-sdk/extension/plugins/font/menu/font-size/index.js +29 -31
  108. package/dist/basic-sdk/extension/plugins/font/menu/index.js +5 -3
  109. package/dist/basic-sdk/extension/plugins/font/plugin.js +4 -4
  110. package/dist/basic-sdk/extension/plugins/header/helpers.js +32 -38
  111. package/dist/basic-sdk/extension/plugins/header/index.js +1 -1
  112. package/dist/basic-sdk/extension/plugins/header/menu/index.js +101 -107
  113. package/dist/basic-sdk/extension/plugins/header/plugin.js +41 -44
  114. package/dist/basic-sdk/extension/plugins/header/render-elem.js +28 -20
  115. package/dist/basic-sdk/extension/plugins/html/helper.js +30 -28
  116. package/dist/basic-sdk/extension/plugins/html/index.js +1 -1
  117. package/dist/basic-sdk/extension/plugins/html/plugin.js +12 -10
  118. package/dist/basic-sdk/extension/plugins/html/rules/blockquote.js +5 -3
  119. package/dist/basic-sdk/extension/plugins/html/rules/check-list.js +4 -2
  120. package/dist/basic-sdk/extension/plugins/html/rules/code-block.js +20 -24
  121. package/dist/basic-sdk/extension/plugins/html/rules/header.js +7 -5
  122. package/dist/basic-sdk/extension/plugins/html/rules/image.js +4 -2
  123. package/dist/basic-sdk/extension/plugins/html/rules/index.js +1 -1
  124. package/dist/basic-sdk/extension/plugins/html/rules/link.js +5 -3
  125. package/dist/basic-sdk/extension/plugins/html/rules/list.js +6 -4
  126. package/dist/basic-sdk/extension/plugins/html/rules/paragraph.js +5 -3
  127. package/dist/basic-sdk/extension/plugins/html/rules/table.js +5 -3
  128. package/dist/basic-sdk/extension/plugins/html/rules/text.js +5 -3
  129. package/dist/basic-sdk/extension/plugins/image/constants/index.js +2 -2
  130. package/dist/basic-sdk/extension/plugins/image/dialogs/image-previewer.js +59 -75
  131. package/dist/basic-sdk/extension/plugins/image/helpers.js +74 -98
  132. package/dist/basic-sdk/extension/plugins/image/hover-menu/index.js +49 -62
  133. package/dist/basic-sdk/extension/plugins/image/index.js +1 -1
  134. package/dist/basic-sdk/extension/plugins/image/menu/index.js +12 -9
  135. package/dist/basic-sdk/extension/plugins/image/model.js +11 -12
  136. package/dist/basic-sdk/extension/plugins/image/plugin.js +43 -35
  137. package/dist/basic-sdk/extension/plugins/image/render-elem.js +73 -91
  138. package/dist/basic-sdk/extension/plugins/index.js +1 -1
  139. package/dist/basic-sdk/extension/plugins/link/dialog/add-link-dialog/index.js +30 -39
  140. package/dist/basic-sdk/extension/plugins/link/helpers.js +76 -100
  141. package/dist/basic-sdk/extension/plugins/link/hover/index.js +12 -9
  142. package/dist/basic-sdk/extension/plugins/link/index.js +1 -1
  143. package/dist/basic-sdk/extension/plugins/link/menu/index.js +10 -8
  144. package/dist/basic-sdk/extension/plugins/link/model.js +10 -11
  145. package/dist/basic-sdk/extension/plugins/link/plugin.js +28 -31
  146. package/dist/basic-sdk/extension/plugins/link/render-elem.js +66 -74
  147. package/dist/basic-sdk/extension/plugins/list/helpers.js +45 -57
  148. package/dist/basic-sdk/extension/plugins/list/index.js +1 -1
  149. package/dist/basic-sdk/extension/plugins/list/menu/index.js +37 -49
  150. package/dist/basic-sdk/extension/plugins/list/model.js +11 -12
  151. package/dist/basic-sdk/extension/plugins/list/plugin/index.js +16 -12
  152. package/dist/basic-sdk/extension/plugins/list/plugin/insert-break-list.js +4 -4
  153. package/dist/basic-sdk/extension/plugins/list/plugin/insert-fragment-list.js +54 -70
  154. package/dist/basic-sdk/extension/plugins/list/plugin/normalize-list.js +16 -20
  155. package/dist/basic-sdk/extension/plugins/list/plugin/on-tab-handle.js +19 -14
  156. package/dist/basic-sdk/extension/plugins/list/plugin/shortcut.js +20 -28
  157. package/dist/basic-sdk/extension/plugins/list/queries/index.js +16 -18
  158. package/dist/basic-sdk/extension/plugins/list/render-elem.js +23 -15
  159. package/dist/basic-sdk/extension/plugins/list/transforms/insert-list-item.js +20 -24
  160. package/dist/basic-sdk/extension/plugins/list/transforms/move-list-item-down.js +16 -19
  161. package/dist/basic-sdk/extension/plugins/list/transforms/move-list-item-up.js +31 -35
  162. package/dist/basic-sdk/extension/plugins/list/transforms/move-list-items-to-list.js +18 -18
  163. package/dist/basic-sdk/extension/plugins/list/transforms/move-list-items.js +23 -24
  164. package/dist/basic-sdk/extension/plugins/list/transforms/normalize-list-item.js +38 -55
  165. package/dist/basic-sdk/extension/plugins/list/transforms/normalize-nested-list.js +11 -13
  166. package/dist/basic-sdk/extension/plugins/list/transforms/remove-first-list-item.js +8 -8
  167. package/dist/basic-sdk/extension/plugins/list/transforms/toggle-list.js +42 -50
  168. package/dist/basic-sdk/extension/plugins/list/transforms/unwrap-list.js +11 -14
  169. package/dist/basic-sdk/extension/plugins/markdown/index.js +1 -1
  170. package/dist/basic-sdk/extension/plugins/markdown/plugin.js +59 -52
  171. package/dist/basic-sdk/extension/plugins/paragraph/index.js +1 -1
  172. package/dist/basic-sdk/extension/plugins/paragraph/render-elem.js +12 -10
  173. package/dist/basic-sdk/extension/plugins/sdoc-link/constants/index.js +16 -14
  174. package/dist/basic-sdk/extension/plugins/sdoc-link/helpers.js +66 -65
  175. package/dist/basic-sdk/extension/plugins/sdoc-link/hover-menu/index.js +19 -23
  176. package/dist/basic-sdk/extension/plugins/sdoc-link/index.js +1 -1
  177. package/dist/basic-sdk/extension/plugins/sdoc-link/menu/index.js +10 -8
  178. package/dist/basic-sdk/extension/plugins/sdoc-link/plugin.js +23 -15
  179. package/dist/basic-sdk/extension/plugins/sdoc-link/render-elem.js +35 -39
  180. package/dist/basic-sdk/extension/plugins/table/constants/index.js +16 -14
  181. package/dist/basic-sdk/extension/plugins/table/dialog/custom-table-size-dialog/index.js +17 -24
  182. package/dist/basic-sdk/extension/plugins/table/dialog/custom-table-size-dialog/number-input.js +9 -7
  183. package/dist/basic-sdk/extension/plugins/table/helpers.js +466 -440
  184. package/dist/basic-sdk/extension/plugins/table/index.js +1 -1
  185. package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/cell-bg-color-menu.js +16 -13
  186. package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/cell-text-align-menu.js +16 -18
  187. package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/common-menu.js +58 -65
  188. package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/index.js +7 -5
  189. package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/remove-table-menu.js +11 -9
  190. package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/table-column-menu.js +13 -14
  191. package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/table-row-menu.js +13 -14
  192. package/dist/basic-sdk/extension/plugins/table/menu/table-context-menu/index.js +92 -105
  193. package/dist/basic-sdk/extension/plugins/table/menu/table-context-menu/insert-table-element.js +62 -66
  194. package/dist/basic-sdk/extension/plugins/table/menu/table-menu/index.js +9 -7
  195. package/dist/basic-sdk/extension/plugins/table/model.js +14 -15
  196. package/dist/basic-sdk/extension/plugins/table/plugin.js +130 -112
  197. package/dist/basic-sdk/extension/plugins/table/popover/table-size-popover/index.js +31 -45
  198. package/dist/basic-sdk/extension/plugins/table/popover/table-template/index.js +12 -14
  199. package/dist/basic-sdk/extension/plugins/table/popover/table-template/sample-table.js +15 -19
  200. package/dist/basic-sdk/extension/plugins/table/render/hooks.js +25 -32
  201. package/dist/basic-sdk/extension/plugins/table/render/index.js +57 -67
  202. package/dist/basic-sdk/extension/plugins/table/render/render-cell.js +42 -36
  203. package/dist/basic-sdk/extension/plugins/table/render/render-row.js +44 -49
  204. package/dist/basic-sdk/extension/plugins/table/render/resize-handlers/first-column-left-resize-handler.js +36 -45
  205. package/dist/basic-sdk/extension/plugins/table/render/resize-handlers/index.js +10 -8
  206. package/dist/basic-sdk/extension/plugins/table/render/resize-handlers/resize-handler.js +41 -50
  207. package/dist/basic-sdk/extension/plugins/table/render/table-header/columns-header/column-header.js +30 -29
  208. package/dist/basic-sdk/extension/plugins/table/render/table-header/columns-header/index.js +21 -33
  209. package/dist/basic-sdk/extension/plugins/table/render/table-header/index.js +17 -15
  210. package/dist/basic-sdk/extension/plugins/table/render/table-header/rows-columns-header.js +7 -5
  211. package/dist/basic-sdk/extension/plugins/table/render/table-header/rows-header/index.js +22 -32
  212. package/dist/basic-sdk/extension/plugins/table/render/table-header/rows-header/row-header.js +41 -43
  213. package/dist/basic-sdk/extension/plugins/table/render/table-root.js +16 -20
  214. package/dist/basic-sdk/extension/plugins/text-align/helpers.js +19 -24
  215. package/dist/basic-sdk/extension/plugins/text-align/index.js +1 -1
  216. package/dist/basic-sdk/extension/plugins/text-align/menu/index.js +20 -26
  217. package/dist/basic-sdk/extension/plugins/text-style/caret.js +9 -7
  218. package/dist/basic-sdk/extension/plugins/text-style/helpers.js +17 -24
  219. package/dist/basic-sdk/extension/plugins/text-style/index.js +1 -1
  220. package/dist/basic-sdk/extension/plugins/text-style/menu/index.js +38 -37
  221. package/dist/basic-sdk/extension/plugins/text-style/plugin.js +6 -6
  222. package/dist/basic-sdk/extension/plugins/text-style/render-elem.js +14 -10
  223. package/dist/basic-sdk/extension/render/custom-element.js +30 -49
  224. package/dist/basic-sdk/extension/render/element-decorate/rebase-decorate/index.js +6 -4
  225. package/dist/basic-sdk/extension/render/element-decorate/rebase-decorate/rebase-delete-modify-decorate.js +13 -10
  226. package/dist/basic-sdk/extension/render/element-decorate/rebase-decorate/rebase-modify-delete-decorate.js +13 -10
  227. package/dist/basic-sdk/extension/render/element-decorate/rebase-decorate/rebase-modify-modify-decorate.js +21 -19
  228. package/dist/basic-sdk/extension/render/render-element.js +5 -3
  229. package/dist/basic-sdk/extension/render/render-leaf.js +4 -6
  230. package/dist/basic-sdk/extension/toolbar/context-toolbar/index.js +18 -16
  231. package/dist/basic-sdk/extension/toolbar/header-toolbar/index.js +5 -3
  232. package/dist/basic-sdk/extension/toolbar/header-toolbar/insert-toolbar/index.js +29 -29
  233. package/dist/basic-sdk/extension/toolbar/header-toolbar/redo-undo.js +45 -53
  234. package/dist/basic-sdk/extension/toolbar/side-toolbar/event.js +8 -8
  235. package/dist/basic-sdk/extension/toolbar/side-toolbar/helpers.js +45 -49
  236. package/dist/basic-sdk/extension/toolbar/side-toolbar/index.js +50 -72
  237. package/dist/basic-sdk/extension/toolbar/side-toolbar/insert-below-menu.js +5 -3
  238. package/dist/basic-sdk/extension/toolbar/side-toolbar/insert-block-menu.js +25 -26
  239. package/dist/basic-sdk/extension/toolbar/side-toolbar/side-menu.js +24 -26
  240. package/dist/basic-sdk/extension/toolbar/side-toolbar/transform-menus.js +14 -16
  241. package/dist/basic-sdk/extension/utils/index.js +4 -4
  242. package/dist/basic-sdk/highlight/index.js +8 -13
  243. package/dist/basic-sdk/highlight/setNodeToDecorations.js +43 -73
  244. package/dist/basic-sdk/hooks/use-color-context.js +27 -35
  245. package/dist/basic-sdk/hooks/use-scroll-context.js +6 -4
  246. package/dist/basic-sdk/hooks/use-selection-element.js +5 -7
  247. package/dist/basic-sdk/hooks/use-selection-position.js +13 -15
  248. package/dist/basic-sdk/hooks/use-selection-update.js +6 -11
  249. package/dist/basic-sdk/layout/article-container.js +20 -23
  250. package/dist/basic-sdk/layout/editor-container.js +6 -4
  251. package/dist/basic-sdk/layout/editor-content.js +15 -15
  252. package/dist/basic-sdk/node-id/constants.js +9 -9
  253. package/dist/basic-sdk/node-id/helpers.js +44 -29
  254. package/dist/basic-sdk/node-id/index.js +13 -11
  255. package/dist/basic-sdk/outline/index.js +24 -27
  256. package/dist/basic-sdk/outline/outline-item.js +39 -44
  257. package/dist/basic-sdk/socket/helpers.js +99 -90
  258. package/dist/basic-sdk/socket/socket-client.js +175 -171
  259. package/dist/basic-sdk/socket/socket-manager.js +316 -297
  260. package/dist/basic-sdk/socket/with-socket-io.js +38 -30
  261. package/dist/basic-sdk/utils/debug.js +4 -4
  262. package/dist/basic-sdk/utils/diff-text.js +191 -193
  263. package/dist/basic-sdk/utils/diff.js +115 -106
  264. package/dist/basic-sdk/utils/document-utils.js +10 -13
  265. package/dist/basic-sdk/utils/dom-utils.js +18 -16
  266. package/dist/basic-sdk/utils/event-bus.js +26 -39
  267. package/dist/basic-sdk/utils/event-handler.js +81 -79
  268. package/dist/basic-sdk/utils/mouse-event.js +29 -27
  269. package/dist/basic-sdk/utils/object-utils.js +35 -53
  270. package/dist/basic-sdk/utils/rebase.js +101 -76
  271. package/dist/basic-sdk/views/published-revision-diff-viewer.js +19 -22
  272. package/dist/basic-sdk/views/readonly-article.js +7 -5
  273. package/dist/basic-sdk/views/revision-diff-viewer.js +15 -18
  274. package/dist/basic-sdk/views/sdoc-diff-viewer.js +8 -6
  275. package/dist/basic-sdk/views/sdoc-viewer.js +9 -7
  276. package/dist/components/common-loading/index.js +1 -1
  277. package/dist/components/doc-info/index.js +25 -23
  278. package/dist/components/doc-operations/collaborators-operation/collaborators-popover.js +36 -49
  279. package/dist/components/doc-operations/collaborators-operation/index.js +58 -76
  280. package/dist/components/doc-operations/comments-operation/index.js +7 -13
  281. package/dist/components/doc-operations/history-operation.js +5 -5
  282. package/dist/components/doc-operations/index.js +10 -9
  283. package/dist/components/doc-operations/more-operations.js +15 -21
  284. package/dist/components/doc-operations/revision-operations/changes-count/index.js +15 -16
  285. package/dist/components/doc-operations/revision-operations/index.js +65 -71
  286. package/dist/components/doc-operations/revision-operations/more-revision-operations/index.js +13 -17
  287. package/dist/components/doc-operations/revision-operations/publish-revision/index.js +8 -5
  288. package/dist/components/doc-operations/revision-operations/revisions/index.js +13 -19
  289. package/dist/components/doc-operations/revision-operations/revisions/revisions-dialog/index.js +56 -87
  290. package/dist/components/doc-operations/revision-operations/revisions/revisions-dialog/revision-operation/index.js +14 -16
  291. package/dist/components/doc-operations/revision-operations/view-changes/index.js +25 -32
  292. package/dist/components/doc-operations/share-operation/index.js +2 -2
  293. package/dist/components/doc-operations/tag-operation/constans.js +1 -1
  294. package/dist/components/doc-operations/tag-operation/file-tag-quick-view/index.js +26 -42
  295. package/dist/components/doc-operations/tag-operation/index.js +1 -1
  296. package/dist/components/doc-operations/tag-operation/tag-popover/index.js +95 -175
  297. package/dist/components/doc-operations/tag-operation/utils.js +2 -6
  298. package/dist/components/draft-dropdown/index.js +44 -53
  299. package/dist/components/loading/index.js +8 -22
  300. package/dist/components/modal-portal/index.js +15 -32
  301. package/dist/components/switch/index.js +8 -6
  302. package/dist/components/tip-dialog/index.js +21 -23
  303. package/dist/components/tip-message/index.js +93 -92
  304. package/dist/components/toast/alert.js +73 -88
  305. package/dist/components/toast/index.js +1 -1
  306. package/dist/components/toast/toast.js +76 -103
  307. package/dist/components/toast/toastManager.js +55 -89
  308. package/dist/components/toast/toaster.js +54 -56
  309. package/dist/components/tooltip/index.js +15 -16
  310. package/dist/constants/index.js +26 -6
  311. package/dist/constants/transfer-types.js +3 -3
  312. package/dist/context.js +242 -339
  313. package/dist/hooks/use-collaborators.js +18 -20
  314. package/dist/hooks/use-document.js +33 -45
  315. package/dist/layout/content.js +13 -26
  316. package/dist/layout/header.js +13 -26
  317. package/dist/layout/layout.js +11 -9
  318. package/dist/model/notification.js +10 -11
  319. package/dist/model/revision.js +27 -28
  320. package/dist/model/user.js +10 -11
  321. package/dist/pages/error-boundary.js +18 -36
  322. package/dist/pages/error-page.js +14 -26
  323. package/dist/pages/published-revision-viewer.js +23 -35
  324. package/dist/pages/simple-editor.js +39 -46
  325. package/dist/pages/simple-viewer.js +70 -104
  326. package/dist/utils/date-utils.js +67 -81
  327. package/dist/utils/get-event-transfer.js +13 -15
  328. package/dist/utils/hotkey.js +24 -24
  329. package/dist/utils/index.js +20 -20
  330. package/dist/utils/local-storage-utils.js +41 -58
  331. package/package.json +10 -10
  332. package/public/locales/cs/sdoc-editor.json +3 -1
  333. package/public/locales/de/sdoc-editor.json +3 -1
  334. package/public/locales/en/sdoc-editor.json +1 -0
  335. package/public/locales/es/sdoc-editor.json +3 -1
  336. package/public/locales/fr/sdoc-editor.json +3 -1
  337. package/public/locales/it/sdoc-editor.json +3 -1
  338. package/public/locales/ru/sdoc-editor.json +3 -1
  339. package/public/locales/zh_CN/sdoc-editor.json +1 -0
@@ -1,4 +1,3 @@
1
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
1
  import React, { useState, useRef, useCallback } from 'react';
3
2
  import { UncontrolledPopover } from 'reactstrap';
4
3
  import { useTranslation } from 'react-i18next';
@@ -7,36 +6,36 @@ import { isMenuDisabled, getFontSize, setFontSize } from '../../helpers';
7
6
  import { FONT_SIZE } from '../../../../constants';
8
7
  import Tooltip from '../../../../../../components/tooltip';
9
8
  import './index.css';
10
- var FontSize = function FontSize(_ref) {
11
- var isRichEditor = _ref.isRichEditor,
12
- className = _ref.className,
13
- editor = _ref.editor,
14
- readonly = _ref.readonly;
15
- var _useState = useState(false),
16
- _useState2 = _slicedToArray(_useState, 2),
17
- isShowMenu = _useState2[0],
18
- setMenuShow = _useState2[1];
19
- var _useTranslation = useTranslation(),
20
- t = _useTranslation.t;
21
- var popoverRef = useRef(null);
22
- var disabled = isMenuDisabled(editor, readonly);
23
- var fontSizeButtonId = 'sdoc-button-font-size';
24
- var selectedFontSize = getFontSize(editor);
25
- var fontSizeRef = useRef(null);
26
- var toggle = useCallback(function (event) {
9
+ const FontSize = _ref => {
10
+ let {
11
+ isRichEditor,
12
+ className,
13
+ editor,
14
+ readonly
15
+ } = _ref;
16
+ const [isShowMenu, setMenuShow] = useState(false);
17
+ const {
18
+ t
19
+ } = useTranslation();
20
+ const popoverRef = useRef(null);
21
+ const disabled = isMenuDisabled(editor, readonly);
22
+ const fontSizeButtonId = 'sdoc-button-font-size';
23
+ let selectedFontSize = getFontSize(editor);
24
+ const fontSizeRef = useRef(null);
25
+ const toggle = useCallback(event => {
27
26
  popoverRef.current.toggle();
28
27
  setMenuShow(!isShowMenu);
29
28
 
30
29
  // eslint-disable-next-line react-hooks/exhaustive-deps
31
30
  }, [isShowMenu]);
32
- var updateFontSize = useCallback(function (item) {
33
- var fontSize = item.value;
31
+ const updateFontSize = useCallback(item => {
32
+ const fontSize = item.value;
34
33
  toggle();
35
34
  setFontSize(editor, fontSize);
36
35
 
37
36
  // eslint-disable-next-line react-hooks/exhaustive-deps
38
37
  }, [editor, selectedFontSize, isShowMenu]);
39
- var validClassName = classnames(className, 'sdoc-menu-with-dropdown sdoc-font-size-menu', {
38
+ const validClassName = classnames(className, 'sdoc-menu-with-dropdown sdoc-font-size-menu', {
40
39
  'menu-show': isShowMenu,
41
40
  'disabled': disabled,
42
41
  'rich-icon-btn d-flex': isRichEditor,
@@ -44,11 +43,12 @@ var FontSize = function FontSize(_ref) {
44
43
  'rich-icon-btn-hover': isRichEditor && !disabled,
45
44
  'btn btn-icon btn-secondary btn-active d-flex': !isRichEditor
46
45
  });
47
- var caretIconClass = "sdoc-menu-with-dropdown-triangle-icon sdocfont sdoc-".concat(isShowMenu ? 'caret-up' : 'drop-down');
48
- var _ref2 = fontSizeRef.current ? fontSizeRef.current.getBoundingClientRect() : {
49
- bottom: 92.5
50
- },
51
- bottom = _ref2.bottom;
46
+ const caretIconClass = "sdoc-menu-with-dropdown-triangle-icon sdocfont sdoc-".concat(isShowMenu ? 'caret-up' : 'drop-down');
47
+ const {
48
+ bottom
49
+ } = fontSizeRef.current ? fontSizeRef.current.getBoundingClientRect() : {
50
+ bottom: 92.5
51
+ };
52
52
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("button", {
53
53
  type: "button",
54
54
  className: validClassName,
@@ -79,16 +79,14 @@ var FontSize = function FontSize(_ref) {
79
79
  style: {
80
80
  maxHeight: window.innerHeight - bottom - 100
81
81
  }
82
- }, FONT_SIZE.map(function (item, index) {
83
- var isSelected = selectedFontSize + '' === item.name;
82
+ }, FONT_SIZE.map((item, index) => {
83
+ const isSelected = selectedFontSize + '' === item.name;
84
84
  return /*#__PURE__*/React.createElement("div", {
85
85
  key: index,
86
86
  className: classnames('sdoc-dropdown-menu-item', {
87
87
  'position-relative': isSelected
88
88
  }),
89
- onClick: function onClick() {
90
- return updateFontSize(item);
91
- }
89
+ onClick: () => updateFontSize(item)
92
90
  }, isSelected && /*#__PURE__*/React.createElement("i", {
93
91
  className: "sdocfont sdoc-check-mark"
94
92
  }), item.name);
@@ -1,9 +1,11 @@
1
1
  import React from 'react';
2
2
  import FontFamily from './font-family';
3
3
  import FontSize from './font-size';
4
- var Font = function Font(_ref) {
5
- var editor = _ref.editor,
6
- readonly = _ref.readonly;
4
+ const Font = _ref => {
5
+ let {
6
+ editor,
7
+ readonly
8
+ } = _ref;
7
9
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FontFamily, {
8
10
  editor: editor,
9
11
  readonly: readonly
@@ -1,10 +1,10 @@
1
1
  import { scaleFontSize } from './helpers';
2
- var withFont = function withFont(editor) {
3
- var newEditor = editor;
4
- newEditor.increaseFontSize = function () {
2
+ const withFont = editor => {
3
+ const newEditor = editor;
4
+ newEditor.increaseFontSize = () => {
5
5
  scaleFontSize(newEditor, 'increase');
6
6
  };
7
- newEditor.reduceFontSize = function () {
7
+ newEditor.reduceFontSize = () => {
8
8
  scaleFontSize(newEditor, 'reduce');
9
9
  };
10
10
  return newEditor;
@@ -1,52 +1,46 @@
1
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
1
  import { Editor, Transforms } from '@seafile/slate';
3
2
  import { getNodeType } from '../../core';
4
3
  import { ELEMENT_TYPE, HEADER, PARAGRAPH, SUBTITLE, TITLE } from '../../constants';
5
- export var isMenuDisabled = function isMenuDisabled(editor) {
6
- var readonly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
4
+ export const isMenuDisabled = function (editor) {
5
+ let readonly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
7
6
  if (readonly) return true;
8
7
  if (!editor.selection) return true;
9
- var _Editor$nodes = Editor.nodes(editor, {
10
- match: function match(n) {
11
- var type = getNodeType(n);
12
- if (!type) return false;
13
- if (type === ELEMENT_TYPE.CODE_LINE) return true;
14
- if (type === ELEMENT_TYPE.CODE_BLOCK) return true;
15
- if (type === ELEMENT_TYPE.PARAGRAPH) return true;
16
- if (type.startsWith(HEADER)) return true;
17
- if (type === TITLE) return true;
18
- if (type === SUBTITLE) return true;
19
- return false;
20
- },
21
- universal: true,
22
- mode: 'highest'
23
- }),
24
- _Editor$nodes2 = _slicedToArray(_Editor$nodes, 1),
25
- match = _Editor$nodes2[0];
8
+ const [match] = Editor.nodes(editor, {
9
+ match: n => {
10
+ let type = getNodeType(n);
11
+ if (!type) return false;
12
+ if (type === ELEMENT_TYPE.CODE_LINE) return true;
13
+ if (type === ELEMENT_TYPE.CODE_BLOCK) return true;
14
+ if (type === ELEMENT_TYPE.PARAGRAPH) return true;
15
+ if (type.startsWith(HEADER)) return true;
16
+ if (type === TITLE) return true;
17
+ if (type === SUBTITLE) return true;
18
+ return false;
19
+ },
20
+ universal: true,
21
+ mode: 'highest'
22
+ });
26
23
  return !match;
27
24
  };
28
- export var getHeaderType = function getHeaderType(editor) {
29
- var _Editor$nodes3 = Editor.nodes(editor, {
30
- match: function match(n) {
31
- var nodeType = getNodeType(n);
32
- if (!nodeType) return false;
33
- if (nodeType.includes(HEADER)) return true;
34
- if (nodeType === TITLE) return true;
35
- if (nodeType === SUBTITLE) return true;
36
- return false;
37
- },
38
- universal: true
39
- }),
40
- _Editor$nodes4 = _slicedToArray(_Editor$nodes3, 1),
41
- match = _Editor$nodes4[0];
25
+ export const getHeaderType = editor => {
26
+ const [match] = Editor.nodes(editor, {
27
+ match: n => {
28
+ const nodeType = getNodeType(n);
29
+ if (!nodeType) return false;
30
+ if (nodeType.includes(HEADER)) return true;
31
+ if (nodeType === TITLE) return true;
32
+ if (nodeType === SUBTITLE) return true;
33
+ return false;
34
+ },
35
+ universal: true
36
+ });
42
37
  if (!match) return PARAGRAPH;
43
- var _match = _slicedToArray(match, 1),
44
- n = _match[0];
38
+ const [n] = match;
45
39
  return getNodeType(n);
46
40
  };
47
- export var setHeaderType = function setHeaderType(editor, type) {
41
+ export const setHeaderType = (editor, type) => {
48
42
  if (!type) return;
49
43
  Transforms.setNodes(editor, {
50
- type: type
44
+ type
51
45
  });
52
46
  };
@@ -1,7 +1,7 @@
1
1
  import { HEADER } from '../../constants';
2
2
  import withHeader from './plugin';
3
3
  import { renderTitle, renderHeader, renderSubtitle } from './render-elem';
4
- var HeaderPlugin = {
4
+ const HeaderPlugin = {
5
5
  type: HEADER,
6
6
  nodeType: 'element',
7
7
  editorPlugin: withHeader,
@@ -1,8 +1,3 @@
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, { Fragment } from 'react';
7
2
  import { withTranslation } from 'react-i18next';
8
3
  import classnames from 'classnames';
@@ -11,141 +6,140 @@ import { HEADERS, HEADER_TITLE_MAP, MAC_HOTKEYS, PARAGRAPH, SDOC_FONT_SIZE, SUBT
11
6
  import Tooltip from '../../../../../components/tooltip';
12
7
  import { focusEditor } from '../../../core';
13
8
  import './style.css';
14
- var HeaderMenu = /*#__PURE__*/function (_React$Component) {
15
- _inherits(HeaderMenu, _React$Component);
16
- var _super = _createSuper(HeaderMenu);
17
- function HeaderMenu(props) {
18
- var _this;
19
- _classCallCheck(this, HeaderMenu);
20
- _this = _super.call(this, props);
21
- _this.registerEventHandler = function () {
22
- document.addEventListener('click', _this.onHideHeaderMenu, true);
9
+ class HeaderMenu extends React.Component {
10
+ constructor(props) {
11
+ super(props);
12
+ this.registerEventHandler = () => {
13
+ document.addEventListener('click', this.onHideHeaderMenu, true);
23
14
  };
24
- _this.unregisterEventHandler = function () {
25
- document.removeEventListener('click', _this.onHideHeaderMenu, true);
15
+ this.unregisterEventHandler = () => {
16
+ document.removeEventListener('click', this.onHideHeaderMenu, true);
26
17
  };
27
- _this.onHideHeaderMenu = function (e) {
28
- var menu = _this.menu;
29
- var clickIsInMenu = menu && menu.contains(e.target) && menu !== e.target;
18
+ this.onHideHeaderMenu = e => {
19
+ const menu = this.menu;
20
+ const clickIsInMenu = menu && menu.contains(e.target) && menu !== e.target;
30
21
  if (clickIsInMenu) return;
31
- _this.setState({
22
+ this.setState({
32
23
  isShowHeaderPopover: false
33
- }, function () {
34
- _this.unregisterEventHandler();
24
+ }, () => {
25
+ this.unregisterEventHandler();
35
26
  });
36
27
  };
37
- _this.getValue = function () {
38
- var editor = _this.props.editor;
28
+ this.getValue = () => {
29
+ const {
30
+ editor
31
+ } = this.props;
39
32
  return getHeaderType(editor);
40
33
  };
41
- _this.isActive = function (type) {
42
- return _this.getValue() === type;
34
+ this.isActive = type => {
35
+ return this.getValue() === type;
43
36
  };
44
- _this.isDisabled = function () {
45
- var _this$props = _this.props,
46
- editor = _this$props.editor,
47
- readonly = _this$props.readonly;
37
+ this.isDisabled = () => {
38
+ const {
39
+ editor,
40
+ readonly
41
+ } = this.props;
48
42
  return isMenuDisabled(editor, readonly);
49
43
  };
50
- _this.onToggleClick = function (event) {
44
+ this.onToggleClick = event => {
51
45
  event.stopPropagation();
52
46
  event.nativeEvent.stopImmediatePropagation();
53
- var isShowHeaderPopover = !_this.state.isShowHeaderPopover;
47
+ const isShowHeaderPopover = !this.state.isShowHeaderPopover;
54
48
  if (isShowHeaderPopover) {
55
- _this.setState({
56
- isShowHeaderPopover: isShowHeaderPopover
57
- }, function () {
58
- _this.registerEventHandler();
49
+ this.setState({
50
+ isShowHeaderPopover
51
+ }, () => {
52
+ this.registerEventHandler();
59
53
  });
60
54
  } else {
61
- _this.setState({
62
- isShowHeaderPopover: isShowHeaderPopover
63
- }, function () {
64
- _this.unregisterEventHandler();
55
+ this.setState({
56
+ isShowHeaderPopover
57
+ }, () => {
58
+ this.unregisterEventHandler();
65
59
  });
66
60
  }
67
61
  };
68
- _this.onMouseDown = function (type) {
69
- return function () {
70
- var editor = _this.props.editor;
71
- var active = _this.isActive(type);
72
- var newType = active ? PARAGRAPH : type;
62
+ this.onMouseDown = type => {
63
+ return () => {
64
+ const {
65
+ editor
66
+ } = this.props;
67
+ const active = this.isActive(type);
68
+ const newType = active ? PARAGRAPH : type;
73
69
  setHeaderType(editor, newType);
74
70
  focusEditor(editor, editor.selection);
75
- _this.setState({
71
+ this.setState({
76
72
  isShowHeaderPopover: false
77
- }, function () {
78
- _this.unregisterEventHandler();
73
+ }, () => {
74
+ this.unregisterEventHandler();
79
75
  });
80
76
  };
81
77
  };
82
- _this.setMenuRef = function (ref) {
83
- _this.menu = ref;
78
+ this.setMenuRef = ref => {
79
+ this.menu = ref;
84
80
  };
85
- _this.getToolTip = function (type) {
81
+ this.getToolTip = type => {
86
82
  // chrome in Mac: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"
87
- var isMac = window.navigator.userAgent.indexOf('Macintosh') !== -1;
83
+ const isMac = window.navigator.userAgent.indexOf('Macintosh') !== -1;
88
84
  return isMac ? MAC_HOTKEYS[type] : WIN_HOTKEYS[type];
89
85
  };
90
- _this.state = {
86
+ this.state = {
91
87
  isShowHeaderPopover: false
92
88
  };
93
- return _this;
94
89
  }
95
- _createClass(HeaderMenu, [{
96
- key: "render",
97
- value: function render() {
98
- var _this2 = this;
99
- var t = this.props.t;
100
- var isShowHeaderPopover = this.state.isShowHeaderPopover;
101
- var headerIconClass = "sdocfont sdoc-".concat(isShowHeaderPopover ? 'caret-up' : 'drop-down');
102
- var currentType = this.getValue();
103
- var disabled = this.isDisabled();
104
- var itemList = [PARAGRAPH, 'divider', TITLE, SUBTITLE, 'divider'].concat(_toConsumableArray(HEADERS));
105
- return /*#__PURE__*/React.createElement("div", {
106
- className: "header-menu"
90
+ render() {
91
+ const {
92
+ t
93
+ } = this.props;
94
+ const {
95
+ isShowHeaderPopover
96
+ } = this.state;
97
+ const headerIconClass = "sdocfont sdoc-".concat(isShowHeaderPopover ? 'caret-up' : 'drop-down');
98
+ const currentType = this.getValue();
99
+ const disabled = this.isDisabled();
100
+ const itemList = [PARAGRAPH, 'divider', TITLE, SUBTITLE, 'divider', ...HEADERS];
101
+ return /*#__PURE__*/React.createElement("div", {
102
+ className: "header-menu"
103
+ }, /*#__PURE__*/React.createElement("div", {
104
+ className: classnames('header-toggle', {
105
+ 'header-toggle-disabled': disabled
106
+ }),
107
+ onClick: disabled ? () => {} : this.onToggleClick
108
+ }, /*#__PURE__*/React.createElement("span", {
109
+ className: "active"
110
+ }, t(HEADER_TITLE_MAP[currentType])), !disabled && /*#__PURE__*/React.createElement("span", {
111
+ className: headerIconClass
112
+ })), isShowHeaderPopover && /*#__PURE__*/React.createElement("div", {
113
+ ref: this.setMenuRef,
114
+ className: "header-popover sdoc-dropdown-menu"
115
+ }, itemList.map((item, index) => {
116
+ if (item === 'divider') {
117
+ return /*#__PURE__*/React.createElement("div", {
118
+ key: index,
119
+ className: "sdoc-dropdown-menu-divider"
120
+ });
121
+ }
122
+ const id = "".concat(item, "-").concat(index);
123
+ const isSelected = currentType === item;
124
+ return /*#__PURE__*/React.createElement(Fragment, {
125
+ key: index
107
126
  }, /*#__PURE__*/React.createElement("div", {
108
- className: classnames('header-toggle', {
109
- 'header-toggle-disabled': disabled
127
+ id: id,
128
+ className: classnames('sdoc-dropdown-menu-item', {
129
+ 'position-relative': isSelected
110
130
  }),
111
- onClick: disabled ? function () {} : this.onToggleClick
112
- }, /*#__PURE__*/React.createElement("span", {
113
- className: "active"
114
- }, t(HEADER_TITLE_MAP[currentType])), !disabled && /*#__PURE__*/React.createElement("span", {
115
- className: headerIconClass
116
- })), isShowHeaderPopover && /*#__PURE__*/React.createElement("div", {
117
- ref: this.setMenuRef,
118
- className: "header-popover sdoc-dropdown-menu"
119
- }, itemList.map(function (item, index) {
120
- if (item === 'divider') {
121
- return /*#__PURE__*/React.createElement("div", {
122
- key: index,
123
- className: "sdoc-dropdown-menu-divider"
124
- });
131
+ onClick: this.onMouseDown(item)
132
+ }, isSelected && /*#__PURE__*/React.createElement("i", {
133
+ className: "sdocfont sdoc-check-mark"
134
+ }), /*#__PURE__*/React.createElement("span", {
135
+ style: {
136
+ fontSize: "".concat(SDOC_FONT_SIZE[item], "pt")
125
137
  }
126
- var id = "".concat(item, "-").concat(index);
127
- var isSelected = currentType === item;
128
- return /*#__PURE__*/React.createElement(Fragment, {
129
- key: index
130
- }, /*#__PURE__*/React.createElement("div", {
131
- id: id,
132
- className: classnames('sdoc-dropdown-menu-item', {
133
- 'position-relative': isSelected
134
- }),
135
- onClick: _this2.onMouseDown(item)
136
- }, isSelected && /*#__PURE__*/React.createElement("i", {
137
- className: "sdocfont sdoc-check-mark"
138
- }), /*#__PURE__*/React.createElement("span", {
139
- style: {
140
- fontSize: "".concat(SDOC_FONT_SIZE[item], "pt")
141
- }
142
- }, t(HEADER_TITLE_MAP[item]))), /*#__PURE__*/React.createElement(Tooltip, {
143
- target: id,
144
- placement: "right"
145
- }, _this2.getToolTip(item)));
146
- })));
147
- }
148
- }]);
149
- return HeaderMenu;
150
- }(React.Component);
138
+ }, t(HEADER_TITLE_MAP[item]))), /*#__PURE__*/React.createElement(Tooltip, {
139
+ target: id,
140
+ placement: "right"
141
+ }, this.getToolTip(item)));
142
+ })));
143
+ }
144
+ }
151
145
  export default withTranslation('sdoc-editor')(HeaderMenu);
@@ -1,4 +1,3 @@
1
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
1
  import { Editor, Element, Transforms, Node } from '@seafile/slate';
3
2
  import { PARAGRAPH, HEADERS, LIST_TYPE_ARRAY, TITLE, SUBTITLE, HEADER } from '../../constants';
4
3
  import { generateEmptyElement, getSelectedNodeByTypes } from '../../core';
@@ -6,46 +5,46 @@ import { isMenuDisabled, setHeaderType } from './helpers';
6
5
  import isHotkey from 'is-hotkey';
7
6
  import { MAC_HOTKEYS_EVENT, WIN_HOTKEYS } from '../../constants/keyboard';
8
7
  import { isMac } from '../../../../utils';
9
- var isSelectionAtLineEnd = function isSelectionAtLineEnd(editor, path) {
10
- var selection = editor.selection;
8
+ const isSelectionAtLineEnd = (editor, path) => {
9
+ const {
10
+ selection
11
+ } = editor;
11
12
  if (!selection) return false;
12
- var isAtLineEnd = Editor.isEnd(editor, selection.anchor, path) || Editor.isEnd(editor, selection.focus, path);
13
+ const isAtLineEnd = Editor.isEnd(editor, selection.anchor, path) || Editor.isEnd(editor, selection.focus, path);
13
14
  return isAtLineEnd;
14
15
  };
15
- var withHeader = function withHeader(editor) {
16
- var insertBreak = editor.insertBreak,
17
- insertFragment = editor.insertFragment,
18
- insertText = editor.insertText;
19
- var newEditor = editor;
16
+ const withHeader = editor => {
17
+ const {
18
+ insertBreak,
19
+ insertFragment,
20
+ insertText
21
+ } = editor;
22
+ const newEditor = editor;
20
23
 
21
24
  // Rewrite insertBreak - insert paragraph when carriage return at the end of header
22
- newEditor.insertBreak = function () {
23
- var _Editor$nodes = Editor.nodes(newEditor, {
24
- match: function match(n) {
25
- if (!Element.isElement(n)) return false;
26
- if (!n.type) return false;
27
- if (n.type.startsWith(HEADER)) return true;
28
- if (n.type === TITLE) return true;
29
- if (n.type === SUBTITLE) return true;
30
- return false;
31
- },
32
- // Matches nodes whose node.type starts with header
33
- universal: true
34
- }),
35
- _Editor$nodes2 = _slicedToArray(_Editor$nodes, 1),
36
- match = _Editor$nodes2[0];
25
+ newEditor.insertBreak = () => {
26
+ const [match] = Editor.nodes(newEditor, {
27
+ match: n => {
28
+ if (!Element.isElement(n)) return false;
29
+ if (!n.type) return false;
30
+ if (n.type.startsWith(HEADER)) return true;
31
+ if (n.type === TITLE) return true;
32
+ if (n.type === SUBTITLE) return true;
33
+ return false;
34
+ },
35
+ // Matches nodes whose node.type starts with header
36
+ universal: true
37
+ });
37
38
  if (!match) {
38
39
  insertBreak();
39
40
  return;
40
41
  }
41
- var isAtLineEnd = isSelectionAtLineEnd(editor, match[1]);
42
- var nextNode = Editor.next(editor, {
42
+ const isAtLineEnd = isSelectionAtLineEnd(editor, match[1]);
43
+ const nextNode = Editor.next(editor, {
43
44
  at: match[1]
44
45
  });
45
46
  if (isAtLineEnd && nextNode && editor.children.length === 2) {
46
- var _nextNode = _slicedToArray(nextNode, 2),
47
- node = _nextNode[0],
48
- path = _nextNode[1];
47
+ const [node, path] = nextNode;
49
48
  if (node && node.children[0].text === '') {
50
49
  Transforms.select(editor, path);
51
50
  return;
@@ -54,7 +53,7 @@ var withHeader = function withHeader(editor) {
54
53
 
55
54
  // If an empty p is inserted at the end of the line, otherwise wrap normally
56
55
  if (isAtLineEnd) {
57
- var p = generateEmptyElement(PARAGRAPH);
56
+ const p = generateEmptyElement(PARAGRAPH);
58
57
  Transforms.insertNodes(newEditor, p, {
59
58
  mode: 'highest'
60
59
  });
@@ -62,30 +61,28 @@ var withHeader = function withHeader(editor) {
62
61
  insertBreak();
63
62
  }
64
63
  };
65
- newEditor.insertFragment = function (data) {
64
+ newEditor.insertFragment = data => {
66
65
  var _data$, _data$$children;
67
- var headerNode = getSelectedNodeByTypes(editor, HEADERS);
68
- var headerText = Node.string(headerNode || {
66
+ const headerNode = getSelectedNodeByTypes(editor, HEADERS);
67
+ const headerText = Node.string(headerNode || {
69
68
  children: []
70
69
  });
71
- var isSingleListItem = data.length === 1 && ((_data$ = data[0]) === null || _data$ === void 0 ? void 0 : (_data$$children = _data$.children) === null || _data$$children === void 0 ? void 0 : _data$$children.length) === 1 && LIST_TYPE_ARRAY.includes(data[0].type);
70
+ const isSingleListItem = data.length === 1 && ((_data$ = data[0]) === null || _data$ === void 0 ? void 0 : (_data$$children = _data$.children) === null || _data$$children === void 0 ? void 0 : _data$$children.length) === 1 && LIST_TYPE_ARRAY.includes(data[0].type);
72
71
  // Insert a list item when the header is empty, insert only the text
73
72
  if (headerNode && headerText.length === 0 && isSingleListItem) {
74
- var text = Node.string(data[0]);
73
+ const text = Node.string(data[0]);
75
74
  insertText(text);
76
75
  return;
77
76
  }
78
77
  return insertFragment(data);
79
78
  };
80
- newEditor.onHotKeyDown = function (event) {
81
- var HOT_KEYS = isMac() ? MAC_HOTKEYS_EVENT : WIN_HOTKEYS;
82
- var hotEntries = Object.entries(HOT_KEYS);
83
- var isHeaderEvent = false;
84
- var headerType = '';
85
- for (var index = 0; index < hotEntries.length; index++) {
86
- var _hotEntries$index = _slicedToArray(hotEntries[index], 2),
87
- key = _hotEntries$index[0],
88
- value = _hotEntries$index[1];
79
+ newEditor.onHotKeyDown = event => {
80
+ const HOT_KEYS = isMac() ? MAC_HOTKEYS_EVENT : WIN_HOTKEYS;
81
+ const hotEntries = Object.entries(HOT_KEYS);
82
+ let isHeaderEvent = false;
83
+ let headerType = '';
84
+ for (let index = 0; index < hotEntries.length; index++) {
85
+ const [key, value] = hotEntries[index];
89
86
  isHeaderEvent = isHotkey(value, event);
90
87
  if (isHeaderEvent) {
91
88
  headerType = key;