@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,22 +1,20 @@
1
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
- import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
3
1
  import copy from 'copy-to-clipboard';
4
2
  import { Transforms, Editor, Node } from '@seafile/slate';
5
3
  import slugid from 'slugid';
6
4
  import { CODE_BLOCK, CODE_LINE, INSERT_POSITION, PARAGRAPH } from '../../constants';
7
5
  import { getNodeType, getSelectedNodeByType, getSelectedElems } from '../../core';
8
6
  import { genCodeLangs } from './prismjs';
9
- export var isMenuDisabled = function isMenuDisabled(editor, readonly) {
7
+ export const isMenuDisabled = (editor, readonly) => {
10
8
  if (readonly) return true;
11
- var selection = editor.selection;
9
+ const {
10
+ selection
11
+ } = editor;
12
12
  if (selection == null) return true;
13
- var selectedElems = getSelectedElems(editor);
14
- var hasVoid = selectedElems.some(function (elem) {
15
- return editor.isVoid(elem);
16
- });
13
+ const selectedElems = getSelectedElems(editor);
14
+ const hasVoid = selectedElems.some(elem => editor.isVoid(elem));
17
15
  if (hasVoid) return true;
18
- var isMatch = selectedElems.some(function (elem) {
19
- var type = getNodeType(elem);
16
+ const isMatch = selectedElems.some(elem => {
17
+ const type = getNodeType(elem);
20
18
  if (type === CODE_BLOCK || type === PARAGRAPH) return true;
21
19
  return false;
22
20
  });
@@ -24,53 +22,41 @@ export var isMenuDisabled = function isMenuDisabled(editor, readonly) {
24
22
  return true; // disable
25
23
  };
26
24
 
27
- export var getSelectCodeElem = function getSelectCodeElem(editor) {
28
- var codeNode = getSelectedNodeByType(editor, CODE_BLOCK);
25
+ export const getSelectCodeElem = editor => {
26
+ const codeNode = getSelectedNodeByType(editor, CODE_BLOCK);
29
27
  if (codeNode == null) return null;
30
28
  return codeNode;
31
29
  };
32
- export var changeToCodeBlock = function changeToCodeBlock(editor) {
33
- var language = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
34
- var position = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : INSERT_POSITION.CURRENT;
30
+ export const changeToCodeBlock = function (editor) {
31
+ let language = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
32
+ let position = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : INSERT_POSITION.CURRENT;
35
33
  // Summarizes the strings for the selected highest-level node
36
- var strArr = [];
34
+ let strArr = [];
37
35
  if (position === INSERT_POSITION.AFTER) {
38
36
  strArr = [''];
39
37
  } else {
40
38
  // Select the plain text of the node
41
- var nodeEntries = Editor.nodes(editor, {
42
- match: function match(n) {
43
- return editor.children.includes(n);
44
- },
39
+ const nodeEntries = Editor.nodes(editor, {
40
+ match: n => editor.children.includes(n),
45
41
  // Matches the selected node at the highest level
46
42
  universal: true
47
43
  });
48
- var _iterator = _createForOfIteratorHelper(nodeEntries),
49
- _step;
50
- try {
51
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
52
- var nodeEntry = _step.value;
53
- var _nodeEntry = _slicedToArray(nodeEntry, 1),
54
- n = _nodeEntry[0];
55
- if (n) strArr.push(Node.string(n));
56
- }
57
-
58
- // Deletes the selected node at the highest level
59
- } catch (err) {
60
- _iterator.e(err);
61
- } finally {
62
- _iterator.f();
44
+ for (let nodeEntry of nodeEntries) {
45
+ const [n] = nodeEntry;
46
+ if (n) strArr.push(Node.string(n));
63
47
  }
48
+
49
+ // Deletes the selected node at the highest level
64
50
  Transforms.removeNodes(editor, {
65
51
  mode: 'highest'
66
52
  });
67
53
  }
68
54
 
69
55
  // Insert the codeBlockNode node
70
- var newCodeBlockNode = {
56
+ const newCodeBlockNode = {
71
57
  id: slugid.nice(),
72
58
  type: CODE_BLOCK,
73
- language: language,
59
+ language,
74
60
  style: {
75
61
  white_space: 'nowrap' // default nowrap
76
62
  },
@@ -84,7 +70,7 @@ export var changeToCodeBlock = function changeToCodeBlock(editor) {
84
70
  }]
85
71
  }]
86
72
  };
87
- var path = Editor.path(editor, editor.selection);
73
+ const path = Editor.path(editor, editor.selection);
88
74
  if (position === INSERT_POSITION.AFTER) {
89
75
  Transforms.insertNodes(editor, newCodeBlockNode, {
90
76
  mode: 'highest',
@@ -93,8 +79,8 @@ export var changeToCodeBlock = function changeToCodeBlock(editor) {
93
79
  Transforms.select(editor, [path[0] + 1, 0, 0]);
94
80
  return;
95
81
  }
96
- var atPath = path ? [path[0]] : editor.selection;
97
- var atPoint = path ? {
82
+ const atPath = path ? [path[0]] : editor.selection;
83
+ const atPoint = path ? {
98
84
  anchor: {
99
85
  offset: 0,
100
86
  path: [path[0], 0, 0]
@@ -110,12 +96,12 @@ export var changeToCodeBlock = function changeToCodeBlock(editor) {
110
96
  });
111
97
  Transforms.select(editor, atPoint);
112
98
  };
113
- export var changeToPlainText = function changeToPlainText(editor) {
114
- var elem = getSelectCodeElem(editor);
99
+ export const changeToPlainText = editor => {
100
+ const elem = getSelectCodeElem(editor);
115
101
  if (elem == null) return;
116
102
 
117
103
  // Get code text
118
- var str = Node.string(elem);
104
+ const str = Node.string(elem);
119
105
 
120
106
  // Delete the highest level node, -> "the code-block node"
121
107
  Transforms.removeNodes(editor, {
@@ -123,7 +109,7 @@ export var changeToPlainText = function changeToPlainText(editor) {
123
109
  });
124
110
 
125
111
  // Insert p node
126
- var pList = str.split('\n').map(function (s) {
112
+ const pList = str.split('\n').map(s => {
127
113
  return {
128
114
  id: elem.id,
129
115
  type: PARAGRAPH,
@@ -137,34 +123,30 @@ export var changeToPlainText = function changeToPlainText(editor) {
137
123
  mode: 'highest'
138
124
  });
139
125
  };
140
- export var setClipboardCodeBlockData = function setClipboardCodeBlockData(value) {
126
+ export const setClipboardCodeBlockData = value => {
141
127
  // Insert text into the clipboard for use on other pages
142
- var text = value.children.map(function (line) {
143
- return Node.string(line);
144
- }).join('\n');
128
+ const text = value.children.map(line => Node.string(line)).join('\n');
145
129
  copy(text, {
146
130
  format: 'text/plain',
147
- onCopy: function onCopy(data) {
131
+ onCopy: data => {
148
132
  // Set the sdoc editor to format the data
149
133
  data.setData('text/code-block', JSON.stringify(value));
150
134
  }
151
135
  });
152
136
  };
153
- export var deleteBackwardByLength = function deleteBackwardByLength(editor, len) {
154
- var i = len >= 4 ? 4 : len;
137
+ export const deleteBackwardByLength = (editor, len) => {
138
+ let i = len >= 4 ? 4 : len;
155
139
  while (i > 0) {
156
140
  Editor.deleteBackward(editor, 'word');
157
141
  i--;
158
142
  }
159
143
  };
160
- export var getSelectedLangOption = function getSelectedLangOption(lang) {
161
- var langs = genCodeLangs();
162
- var selectedLangOption = langs.find(function (item) {
163
- return item.value === lang;
164
- });
144
+ export const getSelectedLangOption = lang => {
145
+ const langs = genCodeLangs();
146
+ const selectedLangOption = langs.find(item => item.value === lang);
165
147
  return selectedLangOption || langs[0];
166
148
  };
167
- export var getValidLang = function getValidLang(lang) {
168
- var langOption = getSelectedLangOption(lang);
149
+ export const getValidLang = lang => {
150
+ const langOption = getSelectedLangOption(lang);
169
151
  return langOption.value;
170
152
  };
@@ -1,4 +1,3 @@
1
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
1
  import React, { useCallback, useEffect, useState } from 'react';
3
2
  import { Input } from 'reactstrap';
4
3
  import { withTranslation } from 'react-i18next';
@@ -7,53 +6,44 @@ import { ElementPopover } from '../../../commons/';
7
6
  import { genCodeLangs } from '../prismjs';
8
7
  import { getSelectedLangOption } from '../helpers';
9
8
  import './index.css';
10
- var CodeBlockHoverMenu = function CodeBlockHoverMenu(_ref) {
11
- var style = _ref.style,
12
- language = _ref.language,
13
- menuPosition = _ref.menuPosition,
14
- onChangeLanguage = _ref.onChangeLanguage,
15
- onChangeAutoLineWrap = _ref.onChangeAutoLineWrap,
16
- onCopyCodeBlock = _ref.onCopyCodeBlock,
17
- onDeleteCodeBlock = _ref.onDeleteCodeBlock,
18
- t = _ref.t;
19
- var _style$white_space = style.white_space,
20
- white_space = _style$white_space === void 0 ? 'nowrap' : _style$white_space;
21
- var _useState = useState(false),
22
- _useState2 = _slicedToArray(_useState, 2),
23
- isShowlangsList = _useState2[0],
24
- setIsShowlangsList = _useState2[1];
25
- var _useState3 = useState(''),
26
- _useState4 = _slicedToArray(_useState3, 2),
27
- selectedLanguageText = _useState4[0],
28
- setSelectedLanguageText = _useState4[1];
29
- var _useState5 = useState(genCodeLangs()),
30
- _useState6 = _slicedToArray(_useState5, 2),
31
- langsData = _useState6[0],
32
- setLangsData = _useState6[1];
33
- var _useState7 = useState(false),
34
- _useState8 = _slicedToArray(_useState7, 2),
35
- isShowTooltip = _useState8[0],
36
- setIsShowTooltip = _useState8[1];
37
- var onHiddenLangsList = useCallback(function (e) {
9
+ const CodeBlockHoverMenu = _ref => {
10
+ let {
11
+ style,
12
+ language,
13
+ menuPosition,
14
+ onChangeLanguage,
15
+ onChangeAutoLineWrap,
16
+ onCopyCodeBlock,
17
+ onDeleteCodeBlock,
18
+ t
19
+ } = _ref;
20
+ const {
21
+ white_space = 'nowrap'
22
+ } = style;
23
+ const [isShowlangsList, setIsShowlangsList] = useState(false);
24
+ const [selectedLanguageText, setSelectedLanguageText] = useState('');
25
+ const [langsData, setLangsData] = useState(genCodeLangs());
26
+ const [isShowTooltip, setIsShowTooltip] = useState(false);
27
+ const onHiddenLangsList = useCallback(e => {
38
28
  if (!e.target.parentNode.className.includes('sdoc-search-langs')) {
39
29
  setIsShowlangsList(false);
40
30
  }
41
31
  // eslint-disable-next-line react-hooks/exhaustive-deps
42
32
  }, []);
43
- useEffect(function () {
33
+ useEffect(() => {
44
34
  setIsShowTooltip(true);
45
35
  window.addEventListener('click', onHiddenLangsList);
46
- return function () {
36
+ return () => {
47
37
  window.removeEventListener('click', onHiddenLangsList);
48
38
  };
49
39
  // eslint-disable-next-line react-hooks/exhaustive-deps
50
40
  }, []);
51
- var onShowLangs = useCallback(function (e) {
41
+ const onShowLangs = useCallback(e => {
52
42
  e.stopPropagation();
53
43
  setIsShowlangsList(!isShowlangsList);
54
44
  // eslint-disable-next-line react-hooks/exhaustive-deps
55
45
  }, [isShowlangsList]);
56
- var onAutoLineWrap = useCallback(function () {
46
+ const onAutoLineWrap = useCallback(() => {
57
47
  if (white_space === 'normal') {
58
48
  onChangeAutoLineWrap('nowrap');
59
49
  } else {
@@ -61,36 +51,38 @@ var CodeBlockHoverMenu = function CodeBlockHoverMenu(_ref) {
61
51
  }
62
52
  // eslint-disable-next-line react-hooks/exhaustive-deps
63
53
  }, [white_space]);
64
- var onDelete = useCallback(function () {
54
+ const onDelete = useCallback(() => {
65
55
  onDeleteCodeBlock();
66
56
  // eslint-disable-next-line react-hooks/exhaustive-deps
67
57
  }, []);
68
- var onSelectLang = useCallback(function (lang) {
69
- var text = lang.text;
58
+ const onSelectLang = useCallback(lang => {
59
+ const {
60
+ text
61
+ } = lang;
70
62
  setSelectedLanguageText(text);
71
63
  onChangeLanguage(lang);
72
64
  // eslint-disable-next-line react-hooks/exhaustive-deps
73
65
  }, []);
74
- useEffect(function () {
66
+ useEffect(() => {
75
67
  // Compatible with legacy code
76
- var selectedLanguage = language;
68
+ let selectedLanguage = language;
77
69
  if (language === 'text') {
78
70
  selectedLanguage = 'plaintext';
79
71
  }
80
- var selectedLanguageOption = getSelectedLangOption(selectedLanguage);
72
+ const selectedLanguageOption = getSelectedLangOption(selectedLanguage);
81
73
  setSelectedLanguageText(selectedLanguageOption.text);
82
74
  }, [language]);
83
- var onChange = useCallback(function (e) {
84
- var filterData = [];
85
- var restData = [];
86
- genCodeLangs().forEach(function (item) {
75
+ const onChange = useCallback(e => {
76
+ const filterData = [];
77
+ const restData = [];
78
+ genCodeLangs().forEach(item => {
87
79
  if (item.value.startsWith(e.currentTarget.value.toLowerCase())) {
88
80
  filterData.push(item);
89
81
  } else {
90
82
  restData.push(item);
91
83
  }
92
84
  });
93
- setLangsData([].concat(filterData, restData));
85
+ setLangsData([...filterData, ...restData]);
94
86
  // eslint-disable-next-line react-hooks/exhaustive-deps
95
87
  }, []);
96
88
  return /*#__PURE__*/React.createElement(ElementPopover, null, /*#__PURE__*/React.createElement("div", {
@@ -160,12 +152,12 @@ var CodeBlockHoverMenu = function CodeBlockHoverMenu(_ref) {
160
152
  onChange: onChange
161
153
  })), /*#__PURE__*/React.createElement("ul", {
162
154
  className: "langs-list-ul"
163
- }, langsData.map(function (item) {
155
+ }, langsData.map(item => {
164
156
  return /*#__PURE__*/React.createElement("li", {
165
157
  className: "langs-list-li ".concat(selectedLanguageText === item.text ? 'active' : ''),
166
158
  id: item.value,
167
159
  key: item.value,
168
- onClick: function onClick() {
160
+ onClick: () => {
169
161
  onSelectLang(item);
170
162
  }
171
163
  }, item.text, /*#__PURE__*/React.createElement("span", {
@@ -2,7 +2,7 @@ import { CODE_BLOCK } from '../../constants';
2
2
  import CodeBlockMenu from './menu';
3
3
  import withCodeBlock from './plugin';
4
4
  import { renderCodeBlock, renderCodeLine } from './render-elem';
5
- var CodeBlockPlugin = {
5
+ const CodeBlockPlugin = {
6
6
  type: CODE_BLOCK,
7
7
  nodeType: 'element',
8
8
  editorMenus: [CodeBlockMenu],
@@ -3,13 +3,15 @@ import { focusEditor } from '../../../core';
3
3
  import { MENUS_CONFIG_MAP, ELEMENT_TYPE, INSERT_POSITION } from '../../../constants';
4
4
  import { isMenuDisabled, changeToCodeBlock } from '../helpers';
5
5
  import DropdownMenuItem from '../../../commons/dropdown-menu-item';
6
- var CodeBlockMenu = function CodeBlockMenu(_ref) {
7
- var editor = _ref.editor,
8
- readonly = _ref.readonly,
9
- toggle = _ref.toggle;
10
- var disabled = isMenuDisabled(editor, readonly);
11
- var menuConfig = MENUS_CONFIG_MAP[ELEMENT_TYPE.CODE_BLOCK];
12
- var insertCodeBlock = useCallback(function () {
6
+ const CodeBlockMenu = _ref => {
7
+ let {
8
+ editor,
9
+ readonly,
10
+ toggle
11
+ } = _ref;
12
+ const disabled = isMenuDisabled(editor, readonly);
13
+ const menuConfig = MENUS_CONFIG_MAP[ELEMENT_TYPE.CODE_BLOCK];
14
+ const insertCodeBlock = useCallback(() => {
13
15
  changeToCodeBlock(editor, 'plaintext', INSERT_POSITION.CURRENT);
14
16
  toggle && toggle();
15
17
  focusEditor(editor);
@@ -1,11 +1,10 @@
1
- import _createClass from "@babel/runtime/helpers/esm/createClass";
2
- import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
3
1
  import { BLOCKQUOTE } from '../../constants';
4
- var Blockquote = /*#__PURE__*/_createClass(function Blockquote(options) {
5
- _classCallCheck(this, Blockquote);
6
- this.type = options.type || BLOCKQUOTE;
7
- this.children = options.children || [{
8
- text: ''
9
- }];
10
- });
2
+ class Blockquote {
3
+ constructor(options) {
4
+ this.type = options.type || BLOCKQUOTE;
5
+ this.children = options.children || [{
6
+ text: ''
7
+ }];
8
+ }
9
+ }
11
10
  export default Blockquote;
@@ -1,6 +1,3 @@
1
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
- import _toArray from "@babel/runtime/helpers/esm/toArray";
3
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
4
1
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
5
2
  import slugid from 'slugid';
6
3
  import isHotkey from 'is-hotkey';
@@ -8,55 +5,57 @@ import { Transforms, Node, Range, Editor } from '@seafile/slate';
8
5
  import { getNodeType, isLastNode, getSelectedNodeByType, generateEmptyElement, isSelectionAtBlockStart } from '../../core';
9
6
  import { deleteBackwardByLength } from './helpers';
10
7
  import { CODE_BLOCK, PARAGRAPH, CODE_LINE, BLOCKQUOTE } from '../../constants';
11
- var withCodeBlock = function withCodeBlock(editor) {
12
- var normalizeNode = editor.normalizeNode,
13
- insertFragment = editor.insertFragment,
14
- insertText = editor.insertText,
15
- insertBreak = editor.insertBreak,
16
- insertData = editor.insertData,
17
- deleteBackward = editor.deleteBackward;
18
- var newEditor = editor;
8
+ const withCodeBlock = editor => {
9
+ const {
10
+ normalizeNode,
11
+ insertFragment,
12
+ insertText,
13
+ insertBreak,
14
+ insertData,
15
+ deleteBackward
16
+ } = editor;
17
+ const newEditor = editor;
19
18
 
20
19
  // If you enter two Spaces in quick succession, a period and a space appear (Default Settings for mac)
21
- newEditor.insertText = function (data) {
20
+ newEditor.insertText = data => {
22
21
  if (data === '. ') {
23
22
  return insertText(' ');
24
23
  }
25
24
  return insertText(data);
26
25
  };
27
- newEditor.deleteBackward = function (unit) {
28
- var node = getSelectedNodeByType(editor, CODE_BLOCK);
26
+ newEditor.deleteBackward = unit => {
27
+ const node = getSelectedNodeByType(editor, CODE_BLOCK);
29
28
  if (node) {
30
29
  if (isSelectionAtBlockStart(editor)) return;
31
30
  }
32
31
  deleteBackward(unit);
33
32
  };
34
- newEditor.insertData = function (data) {
33
+ newEditor.insertData = data => {
35
34
  // Paste a single code block element somewhere other than a code block
36
35
  if (data.types.includes('text/code-block') && !getSelectedNodeByType(editor, CODE_BLOCK)) {
37
- var options = {};
36
+ const options = {};
38
37
  // Paste into quote block
39
38
  if (getSelectedNodeByType(newEditor, BLOCKQUOTE)) {
40
- var path = Editor.path(newEditor, newEditor.selection);
39
+ const path = Editor.path(newEditor, newEditor.selection);
41
40
  options['at'] = [path[0]];
42
41
  }
43
- var codeBlockNode = JSON.parse(data.getData('text/code-block'));
42
+ const codeBlockNode = JSON.parse(data.getData('text/code-block'));
44
43
  return Transforms.insertNodes(newEditor, codeBlockNode, _objectSpread({}, options));
45
44
  }
46
45
  insertData(data);
47
46
  };
48
- newEditor.insertFragment = function (data) {
47
+ newEditor.insertFragment = data => {
49
48
  // Only selected code block content
50
49
  if (data.length === 1 && data[0].type === CODE_BLOCK && !getSelectedNodeByType(editor, CODE_BLOCK)) {
51
- data.forEach(function (node, index) {
50
+ data.forEach((node, index) => {
52
51
  if (node.type === CODE_BLOCK) {
53
- var newBlock = node.children.map(function (line) {
54
- var text = Node.string(line);
55
- var p = generateEmptyElement(PARAGRAPH);
52
+ const newBlock = node.children.map(line => {
53
+ const text = Node.string(line);
54
+ const p = generateEmptyElement(PARAGRAPH);
56
55
  p.children[0].text = text;
57
56
  return p;
58
57
  });
59
- data.splice.apply(data, [index, 1].concat(_toConsumableArray(newBlock)));
58
+ data.splice(index, 1, ...newBlock);
60
59
  }
61
60
  });
62
61
  return insertFragment(data);
@@ -64,17 +63,15 @@ var withCodeBlock = function withCodeBlock(editor) {
64
63
  // Paste into code block
65
64
  if (getSelectedNodeByType(editor, CODE_BLOCK)) {
66
65
  // Pasted data is code block split with code-line
67
- data.forEach(function (node, index) {
66
+ data.forEach((node, index) => {
68
67
  if (node.type === CODE_BLOCK) {
69
- var codeLineArr = node.children.map(function (line) {
70
- return line;
71
- });
72
- data.splice.apply(data, [index, 1].concat(_toConsumableArray(codeLineArr)));
68
+ const codeLineArr = node.children.map(line => line);
69
+ data.splice(index, 1, ...codeLineArr);
73
70
  }
74
71
  });
75
- var newData = data.map(function (node) {
76
- var text = Node.string(node);
77
- var codeLine = {
72
+ const newData = data.map(node => {
73
+ const text = Node.string(node);
74
+ const codeLine = {
78
75
  id: slugid.nice(),
79
76
  type: CODE_LINE,
80
77
  children: [{
@@ -86,12 +83,10 @@ var withCodeBlock = function withCodeBlock(editor) {
86
83
  });
87
84
 
88
85
  // current focus code-line string not empty
89
- var string = Editor.string(newEditor, newEditor.selection.focus.path);
86
+ const string = Editor.string(newEditor, newEditor.selection.focus.path);
90
87
  if (string.length !== 0 && Range.isCollapsed(newEditor.selection)) {
91
- var _newData = _toArray(newData),
92
- node = _newData[0],
93
- restNode = _newData.slice(1);
94
- var text = Node.string(node);
88
+ const [node, ...restNode] = newData;
89
+ const text = Node.string(node);
95
90
  insertText(text);
96
91
  if (restNode.length !== 0) {
97
92
  insertBreak();
@@ -108,11 +103,9 @@ var withCodeBlock = function withCodeBlock(editor) {
108
103
  };
109
104
 
110
105
  // Rewrite normalizeNode
111
- newEditor.normalizeNode = function (_ref) {
112
- var _ref2 = _slicedToArray(_ref, 2),
113
- node = _ref2[0],
114
- path = _ref2[1];
115
- var type = getNodeType(node);
106
+ newEditor.normalizeNode = _ref => {
107
+ let [node, path] = _ref;
108
+ const type = getNodeType(node);
116
109
  if (type === CODE_LINE && path.length <= 1) {
117
110
  Transforms.setNodes(newEditor, {
118
111
  type: PARAGRAPH
@@ -130,9 +123,9 @@ var withCodeBlock = function withCodeBlock(editor) {
130
123
  }
131
124
 
132
125
  // code-block is the last node in the editor and needs to be followed by a p node
133
- var isLast = isLastNode(newEditor, node);
126
+ const isLast = isLastNode(newEditor, node);
134
127
  if (isLast) {
135
- var paragraph = generateEmptyElement(PARAGRAPH);
128
+ const paragraph = generateEmptyElement(PARAGRAPH);
136
129
  Transforms.insertNodes(newEditor, paragraph, {
137
130
  at: [path[0] + 1]
138
131
  });
@@ -148,12 +141,12 @@ var withCodeBlock = function withCodeBlock(editor) {
148
141
  });
149
142
  }
150
143
  if (node.children.length > 1) {
151
- node.children.forEach(function (child, index) {
144
+ node.children.forEach((child, index) => {
152
145
  if (child.type !== CODE_LINE) {
153
146
  Transforms.setNodes(newEditor, {
154
147
  type: CODE_LINE
155
148
  }, {
156
- at: [].concat(_toConsumableArray(path), [index])
149
+ at: [...path, index]
157
150
  });
158
151
  }
159
152
  });
@@ -163,11 +156,11 @@ var withCodeBlock = function withCodeBlock(editor) {
163
156
  // Perform default behavior
164
157
  return normalizeNode([node, path]);
165
158
  };
166
- newEditor.codeBlockOnKeyDown = function (event) {
159
+ newEditor.codeBlockOnKeyDown = event => {
167
160
  if (isHotkey(['command+enter', 'ctrl+enter'], event)) {
168
161
  if (newEditor.selection && !Range.isExpanded(newEditor.selection)) {
169
- var path = Editor.path(newEditor, newEditor.selection);
170
- var p = generateEmptyElement(PARAGRAPH);
162
+ const path = Editor.path(newEditor, newEditor.selection);
163
+ const p = generateEmptyElement(PARAGRAPH);
171
164
  Transforms.insertNodes(newEditor, p, {
172
165
  at: [path[0] + 1]
173
166
  });
@@ -178,14 +171,14 @@ var withCodeBlock = function withCodeBlock(editor) {
178
171
  newEditor.insertText(' ');
179
172
  }
180
173
  if (isHotkey('shift+tab', event)) {
181
- var range = {
174
+ const range = {
182
175
  anchor: {
183
176
  offset: 0,
184
177
  path: newEditor.selection.focus.path
185
178
  },
186
179
  focus: _objectSpread({}, newEditor.selection.focus)
187
180
  };
188
- var str = Editor.string(newEditor, range);
181
+ const str = Editor.string(newEditor, range);
189
182
  if (str.trim() === '') {
190
183
  deleteBackwardByLength(newEditor, str.length);
191
184
  }