@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,5 +1,4 @@
1
1
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
2
  import React, { useCallback, useEffect, useState, useRef } from 'react';
4
3
  import classnames from 'classnames';
5
4
  import { useScrollContext } from '../../../hooks/use-scroll-context';
@@ -8,43 +7,40 @@ import HoverMenu from './hover-menu';
8
7
  import { DELETED_STYLE, ADDED_STYLE } from '../../constants';
9
8
  import { FILE_LINK_TYPE } from './constants';
10
9
  import './render-elem.css';
11
- var FileLink = function FileLink(_ref) {
12
- var editor = _ref.editor,
13
- element = _ref.element,
14
- children = _ref.children,
15
- attributes = _ref.attributes;
16
- var fileRef = useRef(null);
17
- var scrollRef = useScrollContext();
18
- var _useState = useState(false),
19
- _useState2 = _slicedToArray(_useState, 2),
20
- isShowInsertHoverMenu = _useState2[0],
21
- setIsShowInsertHoverMenu = _useState2[1];
22
- var _useState3 = useState({}),
23
- _useState4 = _slicedToArray(_useState3, 2),
24
- menuPosition = _useState4[0],
25
- setMenuPosition = _useState4[1];
26
- var registerEventHandle = useCallback(function () {
10
+ const FileLink = _ref => {
11
+ let {
12
+ editor,
13
+ element,
14
+ children,
15
+ attributes
16
+ } = _ref;
17
+ const fileRef = useRef(null);
18
+ const scrollRef = useScrollContext();
19
+ const [isShowInsertHoverMenu, setIsShowInsertHoverMenu] = useState(false);
20
+ const [menuPosition, setMenuPosition] = useState({});
21
+ const registerEventHandle = useCallback(() => {
27
22
  document.addEventListener('click', onHideInsertHoverMenu);
28
23
  // eslint-disable-next-line react-hooks/exhaustive-deps
29
24
  }, []);
30
- var unregisterEventHandle = useCallback(function () {
25
+ const unregisterEventHandle = useCallback(() => {
31
26
  document.removeEventListener('click', onHideInsertHoverMenu);
32
27
  // eslint-disable-next-line react-hooks/exhaustive-deps
33
28
  }, []);
34
- useEffect(function () {
35
- return function () {
29
+ useEffect(() => {
30
+ return () => {
36
31
  unregisterEventHandle();
37
32
  };
38
33
  // eslint-disable-next-line react-hooks/exhaustive-deps
39
34
  }, []);
40
- var setPosition = useCallback(function (elem) {
35
+ const setPosition = useCallback(elem => {
41
36
  if (elem) {
42
- var _elem$getBoundingClie = elem.getBoundingClientRect(),
43
- top = _elem$getBoundingClie.top,
44
- left = _elem$getBoundingClie.left;
45
- var menuTop = top - 42; // top = top distance - menu height
46
- var menuLeft = left - 18; // left = left distance - (menu width / 2)
47
- var newMenuPosition = {
37
+ const {
38
+ top,
39
+ left
40
+ } = elem.getBoundingClientRect();
41
+ const menuTop = top - 42; // top = top distance - menu height
42
+ const menuLeft = left - 18; // left = left distance - (menu width / 2)
43
+ const newMenuPosition = {
48
44
  top: menuTop,
49
45
  left: menuLeft
50
46
  };
@@ -52,44 +48,44 @@ var FileLink = function FileLink(_ref) {
52
48
  }
53
49
  // eslint-disable-next-line react-hooks/exhaustive-deps
54
50
  }, []);
55
- var onScroll = useCallback(function (e) {
51
+ const onScroll = useCallback(e => {
56
52
  setPosition(fileRef.current);
57
53
  // eslint-disable-next-line react-hooks/exhaustive-deps
58
54
  }, []);
59
- useEffect(function () {
60
- var observerRefValue = null;
55
+ useEffect(() => {
56
+ let observerRefValue = null;
61
57
  if (isShowInsertHoverMenu) {
62
58
  scrollRef.current && scrollRef.current.addEventListener('scroll', onScroll);
63
59
  observerRefValue = scrollRef.current;
64
60
  } else {
65
61
  scrollRef.current && scrollRef.current.removeEventListener('scroll', onScroll);
66
62
  }
67
- return function () {
63
+ return () => {
68
64
  if (observerRefValue) {
69
65
  observerRefValue.removeEventListener('scroll', onScroll);
70
66
  }
71
67
  };
72
68
  // eslint-disable-next-line react-hooks/exhaustive-deps
73
69
  }, [isShowInsertHoverMenu]);
74
- var onClickFile = useCallback(function (e) {
70
+ const onClickFile = useCallback(e => {
75
71
  e.stopPropagation();
76
72
  setPosition(e.currentTarget);
77
73
  setIsShowInsertHoverMenu(true);
78
- setTimeout(function () {
74
+ setTimeout(() => {
79
75
  registerEventHandle();
80
76
  }, 0);
81
77
  // eslint-disable-next-line react-hooks/exhaustive-deps
82
78
  }, []);
83
- var onHideInsertHoverMenu = useCallback(function (e) {
79
+ const onHideInsertHoverMenu = useCallback(e => {
84
80
  setIsShowInsertHoverMenu(false);
85
81
  unregisterEventHandle();
86
82
  // eslint-disable-next-line react-hooks/exhaustive-deps
87
83
  }, []);
88
- var onUnwrapFileLinkNode = useCallback(function () {
84
+ const onUnwrapFileLinkNode = useCallback(() => {
89
85
  unwrapLinkNode(editor, element);
90
86
  // eslint-disable-next-line react-hooks/exhaustive-deps
91
87
  }, []);
92
- var style = {};
88
+ let style = {};
93
89
  if (element.ADD) {
94
90
  style = _objectSpread({}, ADDED_STYLE);
95
91
  } else if (element.DELETE) {
@@ -118,7 +114,7 @@ var FileLink = function FileLink(_ref) {
118
114
  style: style
119
115
  }, /*#__PURE__*/React.createElement("a", {
120
116
  href: getUrl(element.doc_uuid),
121
- onClick: function onClick(e) {
117
+ onClick: e => {
122
118
  e.preventDefault();
123
119
  },
124
120
  title: element.title
@@ -130,7 +126,7 @@ var FileLink = function FileLink(_ref) {
130
126
  onHideInsertHoverMenu: onHideInsertHoverMenu
131
127
  }));
132
128
  };
133
- var renderFileLink = function renderFileLink(props, editor) {
129
+ const renderFileLink = (props, editor) => {
134
130
  return /*#__PURE__*/React.createElement(FileLink, Object.assign({}, props, {
135
131
  editor: editor
136
132
  }));
@@ -1,23 +1,19 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
1
  import { Editor, Element } from '@seafile/slate';
4
2
  import { CODE_BLOCK, IMAGE, DEFAULT_FONT, GOOGLE_FONT_CLASS, FONT, SDOC_FONT_SIZE, HEADERS, TITLE, SUBTITLE, CODE_LINE, TEXT_STYLE_MAP } from '../../constants';
5
3
  import { focusEditor, getParentNode } from '../../core';
6
4
  import context from '../../../../context';
7
5
  import { isMac } from '../../../../utils';
8
- export var isMenuDisabled = function isMenuDisabled(editor, readonly) {
6
+ export const isMenuDisabled = (editor, readonly) => {
9
7
  if (readonly) return true;
10
8
  if (!editor.selection) return true;
11
- var _Editor$nodes = Editor.nodes(editor, {
12
- match: function match(node) {
13
- return !Editor.isEditor(node) && Element.isElement(node) && Editor.isBlock(editor, node);
14
- },
15
- universal: true,
16
- mode: 'highest'
17
- }),
18
- _Editor$nodes2 = _slicedToArray(_Editor$nodes, 1),
19
- match = _Editor$nodes2[0];
20
- var elementType = match[0].type;
9
+ const [match] = Editor.nodes(editor, {
10
+ match: node => {
11
+ return !Editor.isEditor(node) && Element.isElement(node) && Editor.isBlock(editor, node);
12
+ },
13
+ universal: true,
14
+ mode: 'highest'
15
+ });
16
+ const elementType = match[0].type;
21
17
  if (elementType === CODE_BLOCK || elementType === IMAGE) {
22
18
  return true;
23
19
  }
@@ -25,48 +21,48 @@ export var isMenuDisabled = function isMenuDisabled(editor, readonly) {
25
21
  };
26
22
 
27
23
  // font size
28
- export var getFontSize = function getFontSize(editor) {
29
- var selection = editor.selection;
30
- var marks = Editor.marks(editor);
24
+ export const getFontSize = editor => {
25
+ const {
26
+ selection
27
+ } = editor;
28
+ const marks = Editor.marks(editor);
31
29
  if (marks && marks[TEXT_STYLE_MAP.FONT_SIZE]) {
32
30
  return marks[TEXT_STYLE_MAP.FONT_SIZE];
33
31
  }
34
32
  if (!selection) return SDOC_FONT_SIZE.DEFAULT;
35
- var _Editor$nodes3 = Editor.nodes(editor, {
36
- at: Editor.unhangRange(editor, selection),
37
- match: function match(n) {
38
- if (!Editor.isEditor(n) && !Element.isElement(n)) {
39
- if (n[TEXT_STYLE_MAP.FONT_SIZE]) return true;
40
- var _parentNode = getParentNode(editor.children, n.id);
41
- if (!_parentNode) return false;
42
- if ([TITLE, SUBTITLE].concat(_toConsumableArray(HEADERS), [CODE_LINE]).includes(_parentNode.type)) {
43
- return true;
44
- }
45
- return false;
33
+ const [match] = Editor.nodes(editor, {
34
+ at: Editor.unhangRange(editor, selection),
35
+ match: n => {
36
+ if (!Editor.isEditor(n) && !Element.isElement(n)) {
37
+ if (n[TEXT_STYLE_MAP.FONT_SIZE]) return true;
38
+ const parentNode = getParentNode(editor.children, n.id);
39
+ if (!parentNode) return false;
40
+ if ([TITLE, SUBTITLE, ...HEADERS, CODE_LINE].includes(parentNode.type)) {
41
+ return true;
46
42
  }
47
43
  return false;
48
44
  }
49
- }),
50
- _Editor$nodes4 = _slicedToArray(_Editor$nodes3, 1),
51
- match = _Editor$nodes4[0];
45
+ return false;
46
+ }
47
+ });
52
48
  if (!match) return SDOC_FONT_SIZE.DEFAULT;
53
49
  // has font-size attribute
54
- var matched = match[0];
50
+ const matched = match[0];
55
51
  if (matched[TEXT_STYLE_MAP.FONT_SIZE]) {
56
52
  return matched[TEXT_STYLE_MAP.FONT_SIZE];
57
53
  }
58
- var parentNode = getParentNode(editor.children, matched.id);
54
+ const parentNode = getParentNode(editor.children, matched.id);
59
55
  return SDOC_FONT_SIZE[parentNode.type];
60
56
  };
61
- export var setFontSize = function setFontSize(editor, value) {
57
+ export const setFontSize = (editor, value) => {
62
58
  Editor.addMark(editor, TEXT_STYLE_MAP.FONT_SIZE, value);
63
59
  focusEditor(editor);
64
60
  };
65
- export var scaleFontSize = function scaleFontSize(editor, type) {
66
- var isDisabled = isMenuDisabled(editor);
61
+ export const scaleFontSize = (editor, type) => {
62
+ const isDisabled = isMenuDisabled(editor);
67
63
  if (isDisabled) return;
68
- var fontSize = getFontSize(editor);
69
- var fontSizeValue = fontSize;
64
+ const fontSize = getFontSize(editor);
65
+ let fontSizeValue = fontSize;
70
66
  if (type === 'increase') {
71
67
  fontSizeValue = fontSizeValue + 1;
72
68
  }
@@ -78,71 +74,72 @@ export var scaleFontSize = function scaleFontSize(editor, type) {
78
74
  };
79
75
 
80
76
  // font
81
- export var getFont = function getFont(editor) {
82
- var selection = editor.selection;
83
- var marks = Editor.marks(editor);
77
+ export const getFont = editor => {
78
+ const {
79
+ selection
80
+ } = editor;
81
+ const marks = Editor.marks(editor);
84
82
  if (marks && marks[TEXT_STYLE_MAP.FONT]) {
85
83
  return marks[TEXT_STYLE_MAP.FONT];
86
84
  }
87
85
  if (!selection) return DEFAULT_FONT;
88
- var _Editor$nodes5 = Editor.nodes(editor, {
89
- at: Editor.unhangRange(editor, selection),
90
- match: function match(n) {
91
- return !Editor.isEditor(n) && !Element.isElement(n) && n['font'];
92
- }
93
- }),
94
- _Editor$nodes6 = _slicedToArray(_Editor$nodes5, 1),
95
- match = _Editor$nodes6[0];
86
+ const [match] = Editor.nodes(editor, {
87
+ at: Editor.unhangRange(editor, selection),
88
+ match: n => !Editor.isEditor(n) && !Element.isElement(n) && n['font']
89
+ });
96
90
  if (!match) return DEFAULT_FONT;
97
91
  return match[0][TEXT_STYLE_MAP.FONT];
98
92
  };
99
- export var setFont = function setFont(editor, value) {
93
+ export const setFont = (editor, value) => {
100
94
  Editor.addMark(editor, TEXT_STYLE_MAP.FONT, value);
101
95
  focusEditor(editor);
102
96
  };
103
- export var hasFontLoaded = function hasFontLoaded() {
104
- var fontObject = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
105
- var fontWeight = arguments.length > 1 ? arguments[1] : undefined;
106
- var name = fontObject.name,
107
- isSystemOwn = fontObject.isSystemOwn;
97
+ export const hasFontLoaded = function () {
98
+ let fontObject = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
99
+ let fontWeight = arguments.length > 1 ? arguments[1] : undefined;
100
+ const {
101
+ name,
102
+ isSystemOwn
103
+ } = fontObject;
108
104
  if (isSystemOwn) return true;
109
105
  if (!name) return true;
110
- var nameString = name.split(' ').join('+');
111
- var fontLinkId = "sdoc-font-link-".concat(nameString, "-").concat(fontWeight);
106
+ const nameString = name.split(' ').join('+');
107
+ const fontLinkId = "sdoc-font-link-".concat(nameString, "-").concat(fontWeight);
112
108
  return document.getElementById(fontLinkId);
113
109
  };
114
- export var loadFont = function loadFont() {
115
- var fontObject = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
116
- var fontWeight = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 400;
117
- var name = fontObject.name,
118
- isSystemOwn = fontObject.isSystemOwn,
119
- _fontObject$supportFo = fontObject.supportFontWeight,
120
- supportFontWeight = _fontObject$supportFo === void 0 ? [] : _fontObject$supportFo;
110
+ export const loadFont = function () {
111
+ let fontObject = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
112
+ let fontWeight = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 400;
113
+ const {
114
+ name,
115
+ isSystemOwn,
116
+ supportFontWeight = []
117
+ } = fontObject;
121
118
  if (isSystemOwn) return;
122
119
  if (!name) return;
123
- var validFontWeight = supportFontWeight.includes(fontWeight) ? fontWeight : supportFontWeight[0];
124
- var nameString = name.split(' ').join('+');
125
- var fontLinkId = "sdoc-font-link-".concat(nameString, "-").concat(validFontWeight);
120
+ const validFontWeight = supportFontWeight.includes(fontWeight) ? fontWeight : supportFontWeight[0];
121
+ const nameString = name.split(' ').join('+');
122
+ const fontLinkId = "sdoc-font-link-".concat(nameString, "-").concat(validFontWeight);
126
123
  if (document.getElementById(fontLinkId)) return;
127
- var href = "https://fonts.googleapis.com/css?family=".concat(nameString, ":").concat(validFontWeight);
128
- var fontLink = document.createElement('link');
124
+ const href = "https://fonts.googleapis.com/css?family=".concat(nameString, ":").concat(validFontWeight);
125
+ const fontLink = document.createElement('link');
129
126
  fontLink.rel = 'stylesheet';
130
127
  fontLink.href = href;
131
128
  fontLink.id = fontLinkId;
132
129
  fontLink.className = GOOGLE_FONT_CLASS;
133
130
  document.body.appendChild(fontLink);
134
131
  };
135
- export var generatorFontFamily = function generatorFontFamily(fontName, fontWeight) {
136
- var lang = context.getSetting('lang') || 'zh-cn';
132
+ export const generatorFontFamily = (fontName, fontWeight) => {
133
+ const lang = context.getSetting('lang') || 'zh-cn';
137
134
  if (fontName === DEFAULT_FONT) {
138
- return "'Arial', ".concat(lang === 'zh-cn' ? "\u5B8B\u4F53" : 'Arial', ", 'sans-serif'");
135
+ return "'Arial', ".concat(lang === 'zh-cn' ? '\u5b8b\u4f53' : 'Arial', ", 'sans-serif'");
139
136
  }
140
- var fontObject = FONT.find(function (item) {
141
- return item.name === fontName;
142
- }) || {};
143
- var usuallyFontFamilyName = fontObject.usuallyFontFamilyName,
144
- fontFamilyName = fontObject.fontFamilyName;
137
+ const fontObject = FONT.find(item => item.name === fontName) || {};
138
+ const {
139
+ usuallyFontFamilyName,
140
+ fontFamilyName
141
+ } = fontObject;
145
142
  loadFont(fontObject, fontWeight);
146
- var validFontName = fontFamilyName && isMac() ? fontFamilyName['mac'] : fontName;
147
- return "".concat(validFontName, ", ").concat(lang === 'zh-cn' ? "\u5B8B\u4F53" : 'Arial', ", ").concat(usuallyFontFamilyName || 'sans-serif');
143
+ const validFontName = fontFamilyName && isMac() ? fontFamilyName['mac'] : fontName;
144
+ return "".concat(validFontName, ", ").concat(lang === 'zh-cn' ? '\u5b8b\u4f53' : 'Arial', ", ").concat(usuallyFontFamilyName || 'sans-serif');
148
145
  };
@@ -1,5 +1,5 @@
1
1
  import withFont from './plugin';
2
- var FontPlugin = {
2
+ const FontPlugin = {
3
3
  type: 'font',
4
4
  editorPlugin: withFont
5
5
  };
@@ -3,25 +3,26 @@ import { useTranslation } from 'react-i18next';
3
3
  import classnames from 'classnames';
4
4
  import { hasFontLoaded, generatorFontFamily } from '../../helpers';
5
5
  import { DEFAULT_FONT } from '../../../../constants';
6
- var FontItem = function FontItem(_ref) {
7
- var selectedFont = _ref.selectedFont,
8
- fontObject = _ref.fontObject,
9
- setFont = _ref.setFont;
10
- var _useTranslation = useTranslation(),
11
- t = _useTranslation.t;
12
- var fontName = fontObject.name;
13
- var isSelected = selectedFont === fontName;
14
- var isFontLoad = hasFontLoaded(fontObject, 400);
15
- var style = isFontLoad ? {
6
+ const FontItem = _ref => {
7
+ let {
8
+ selectedFont,
9
+ fontObject,
10
+ setFont
11
+ } = _ref;
12
+ const {
13
+ t
14
+ } = useTranslation();
15
+ const fontName = fontObject.name;
16
+ const isSelected = selectedFont === fontName;
17
+ const isFontLoad = hasFontLoaded(fontObject, 400);
18
+ const style = isFontLoad ? {
16
19
  fontFamily: generatorFontFamily(fontName, 400)
17
20
  } : {};
18
21
  return /*#__PURE__*/React.createElement("div", {
19
22
  className: classnames('sdoc-dropdown-menu-item', {
20
23
  'position-relative': isSelected
21
24
  }),
22
- onClick: function onClick() {
23
- return setFont(fontName);
24
- }
25
+ onClick: () => setFont(fontName)
25
26
  }, isSelected && /*#__PURE__*/React.createElement("i", {
26
27
  className: "sdocfont sdoc-check-mark"
27
28
  }), /*#__PURE__*/React.createElement("span", {
@@ -1,5 +1,3 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
1
  import React, { useState, useRef, useCallback, useEffect } from 'react';
4
2
  import { UncontrolledPopover } from 'reactstrap';
5
3
  import { useTranslation } from 'react-i18next';
@@ -12,47 +10,35 @@ import context from '../../../../../../context';
12
10
  import FontItem from './font-item';
13
11
  import ObjectUtils from '../../../../../utils/object-utils';
14
12
  import './index.css';
15
- var FontFamily = function FontFamily(_ref) {
16
- var editor = _ref.editor,
17
- isRichEditor = _ref.isRichEditor,
18
- className = _ref.className,
19
- readonly = _ref.readonly;
20
- var _useState = useState(LocalStorage.getItem(RECENT_USED_FONTS_KEY, [])),
21
- _useState2 = _slicedToArray(_useState, 2),
22
- recentUsedFonts = _useState2[0],
23
- setRecentUsedFonts = _useState2[1];
24
- var _useState3 = useState(false),
25
- _useState4 = _slicedToArray(_useState3, 2),
26
- isShowMenu = _useState4[0],
27
- setMenuShow = _useState4[1];
28
- var _useState5 = useState(FONT),
29
- _useState6 = _slicedToArray(_useState5, 2),
30
- fontList = _useState6[0],
31
- setFontList = _useState6[1];
32
- var _useTranslation = useTranslation(),
33
- t = _useTranslation.t;
34
- var popoverRef = useRef(null);
35
- var disabled = isMenuDisabled(editor, readonly);
36
- var fontSizeButtonId = 'sdoc-button-font';
37
- var selectedFont = getFont(editor);
38
- var lang = context.getSetting('lang');
39
- useEffect(function () {
13
+ const FontFamily = _ref => {
14
+ let {
15
+ editor,
16
+ isRichEditor,
17
+ className,
18
+ readonly
19
+ } = _ref;
20
+ const [recentUsedFonts, setRecentUsedFonts] = useState(LocalStorage.getItem(RECENT_USED_FONTS_KEY, []));
21
+ const [isShowMenu, setMenuShow] = useState(false);
22
+ const [fontList, setFontList] = useState(FONT);
23
+ const {
24
+ t
25
+ } = useTranslation();
26
+ const popoverRef = useRef(null);
27
+ const disabled = isMenuDisabled(editor, readonly);
28
+ const fontSizeButtonId = 'sdoc-button-font';
29
+ let selectedFont = getFont(editor);
30
+ const lang = context.getSetting('lang');
31
+ useEffect(() => {
40
32
  if (lang === 'zh-cn') {
41
- var chineseFonts = FONT.filter(function (item) {
42
- return ObjectUtils.hasProperty(item, 'langOrder');
43
- });
44
- chineseFonts.sort(function (a, b) {
45
- return b['langOrder'][lang] - a['langOrder'][lang];
46
- });
47
- var others = FONT.filter(function (item) {
48
- return !ObjectUtils.hasProperty(item, 'langOrder');
49
- });
50
- setFontList([].concat(_toConsumableArray(chineseFonts), _toConsumableArray(others)));
33
+ const chineseFonts = FONT.filter(item => ObjectUtils.hasProperty(item, 'langOrder'));
34
+ chineseFonts.sort((a, b) => b['langOrder'][lang] - a['langOrder'][lang]);
35
+ const others = FONT.filter(item => !ObjectUtils.hasProperty(item, 'langOrder'));
36
+ setFontList([...chineseFonts, ...others]);
51
37
  }
52
38
 
53
39
  // eslint-disable-next-line react-hooks/exhaustive-deps
54
40
  }, []);
55
- var validClassName = classnames(className, 'sdoc-menu-with-dropdown sdoc-font-family-menu', {
41
+ const validClassName = classnames(className, 'sdoc-menu-with-dropdown sdoc-font-family-menu', {
56
42
  'menu-show': isShowMenu,
57
43
  'disabled': disabled,
58
44
  'rich-icon-btn d-flex': isRichEditor,
@@ -60,26 +46,25 @@ var FontFamily = function FontFamily(_ref) {
60
46
  'rich-icon-btn-hover': isRichEditor && !disabled,
61
47
  'btn btn-icon btn-secondary btn-active d-flex': !isRichEditor
62
48
  });
63
- var fontRef = useRef(null);
64
- var toggle = useCallback(function (event) {
49
+ const fontRef = useRef(null);
50
+ const toggle = useCallback(event => {
65
51
  popoverRef.current.toggle();
66
52
  setMenuShow(!isShowMenu);
67
53
 
68
54
  // eslint-disable-next-line react-hooks/exhaustive-deps
69
55
  }, [isShowMenu]);
70
- var caretIconClass = "sdoc-menu-with-dropdown-triangle-icon sdocfont sdoc-".concat(isShowMenu ? 'caret-up' : 'drop-down');
71
- var _ref2 = fontRef.current ? fontRef.current.getBoundingClientRect() : {
72
- bottom: 92.5
73
- },
74
- bottom = _ref2.bottom;
75
- var updateFont = useCallback(function (fontName) {
56
+ const caretIconClass = "sdoc-menu-with-dropdown-triangle-icon sdocfont sdoc-".concat(isShowMenu ? 'caret-up' : 'drop-down');
57
+ const {
58
+ bottom
59
+ } = fontRef.current ? fontRef.current.getBoundingClientRect() : {
60
+ bottom: 92.5
61
+ };
62
+ const updateFont = useCallback(fontName => {
76
63
  toggle();
77
64
  setFont(editor, fontName);
78
65
  if (recentUsedFonts[0] !== fontName) {
79
- var fontNameIndex = recentUsedFonts.findIndex(function (item) {
80
- return item === fontName;
81
- });
82
- var newRecentUsedFonts;
66
+ const fontNameIndex = recentUsedFonts.findIndex(item => item === fontName);
67
+ let newRecentUsedFonts;
83
68
  if (fontNameIndex === -1) {
84
69
  newRecentUsedFonts = recentUsedFonts.slice(0, 9);
85
70
  } else {
@@ -123,10 +108,8 @@ var FontFamily = function FontFamily(_ref) {
123
108
  }
124
109
  }, Array.isArray(recentUsedFonts) && recentUsedFonts.length > 0 && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
125
110
  className: "sdoc-dropdown-menu-title-name"
126
- }, t('Recently_used')), recentUsedFonts.map(function (item, index) {
127
- var fontObject = FONT.find(function (font) {
128
- return font.name === item;
129
- });
111
+ }, t('Recently_used')), recentUsedFonts.map((item, index) => {
112
+ const fontObject = FONT.find(font => font.name === item);
130
113
  return /*#__PURE__*/React.createElement(FontItem, {
131
114
  key: "".concat(index, "-recently-used"),
132
115
  fontObject: fontObject,
@@ -137,7 +120,7 @@ var FontFamily = function FontFamily(_ref) {
137
120
  className: "sdoc-dropdown-menu-divider"
138
121
  })), /*#__PURE__*/React.createElement("div", {
139
122
  className: "sdoc-dropdown-menu-title-name"
140
- }, t('All_fonts')), fontList.map(function (item, index) {
123
+ }, t('All_fonts')), fontList.map((item, index) => {
141
124
  if (item.type === 'divide') {
142
125
  return /*#__PURE__*/React.createElement("div", {
143
126
  className: "sdoc-dropdown-menu-divider"
@@ -1,15 +1,17 @@
1
1
  import React from 'react';
2
2
  import classnames from 'classnames';
3
3
  import Tooltip from '../../../../../../components/tooltip';
4
- var FontSizeScale = function FontSizeScale(_ref) {
5
- var children = _ref.children,
6
- id = _ref.id,
7
- className = _ref.className,
8
- disabled = _ref.disabled,
9
- isRichEditor = _ref.isRichEditor,
10
- onClick = _ref.onClick,
11
- tipMessage = _ref.tipMessage;
12
- var validClassName = classnames(className, {
4
+ const FontSizeScale = _ref => {
5
+ let {
6
+ children,
7
+ id,
8
+ className,
9
+ disabled,
10
+ isRichEditor,
11
+ onClick,
12
+ tipMessage
13
+ } = _ref;
14
+ const validClassName = classnames(className, {
13
15
  'disabled': disabled,
14
16
  'rich-icon-btn': isRichEditor,
15
17
  'rich-icon-btn-disabled': isRichEditor && disabled,
@@ -20,7 +22,7 @@ var FontSizeScale = function FontSizeScale(_ref) {
20
22
  type: "button",
21
23
  className: validClassName,
22
24
  disabled: disabled,
23
- onClick: disabled ? function () {} : onClick,
25
+ onClick: disabled ? () => {} : onClick,
24
26
  id: id
25
27
  }, children), tipMessage && /*#__PURE__*/React.createElement(Tooltip, {
26
28
  target: id