@seafile/seafile-editor 1.0.0 → 1.0.2

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 (478) hide show
  1. package/dist/constants/event-types.js +16 -0
  2. package/dist/constants/hot-keys.js +43 -0
  3. package/dist/containers/article-info/index.js +57 -0
  4. package/dist/containers/custom/get-event-transfer.js +38 -0
  5. package/dist/containers/custom/set-event-transfer.js +36 -0
  6. package/dist/containers/hotkeys-helper/classify-hotkeys.js +39 -0
  7. package/dist/containers/hotkeys-helper/index.js +52 -0
  8. package/dist/containers/loading/index.js +33 -0
  9. package/dist/containers/outline/index.js +80 -0
  10. package/dist/containers/outline/outline-item.js +30 -0
  11. package/dist/editors/plain-markdown-editor/code-mirror.js +84 -0
  12. package/dist/editors/plain-markdown-editor/index.js +149 -0
  13. package/dist/editors/simple-slate-editor /index.js +90 -0
  14. package/dist/editors/simple-slate-editor /with-props-editor.js +18 -0
  15. package/dist/editors/slate-editor/editor-help/index.js +53 -0
  16. package/dist/editors/slate-editor/index.js +102 -0
  17. package/dist/editors/slate-editor/with-props-editor.js +18 -0
  18. package/dist/editors/slate-viewer/index.js +42 -0
  19. package/dist/extension/commons/element-popover/index.js +64 -0
  20. package/dist/extension/commons/index.js +26 -0
  21. package/dist/extension/commons/menu/index.js +21 -0
  22. package/dist/extension/commons/menu/menu-drop-down.js +104 -0
  23. package/dist/extension/commons/menu/menu-group.js +18 -0
  24. package/dist/extension/commons/menu/menu-item.js +54 -0
  25. package/dist/extension/commons/tooltip/index.js +26 -0
  26. package/dist/extension/constants/element-types.js +29 -0
  27. package/dist/extension/constants/index.js +46 -0
  28. package/dist/extension/constants/keyboard.js +33 -0
  29. package/dist/extension/constants/menus-config.js +121 -0
  30. package/dist/extension/core/index.js +38 -0
  31. package/dist/extension/core/queries/index.js +479 -0
  32. package/dist/extension/core/transforms/focus-editor.js +17 -0
  33. package/dist/extension/core/transforms/index.js +49 -0
  34. package/dist/extension/core/transforms/move-children.js +35 -0
  35. package/dist/extension/core/transforms/remove-node-children.js +31 -0
  36. package/dist/extension/core/transforms/replace-node-children.js +22 -0
  37. package/dist/extension/core/utils/index.js +103 -0
  38. package/dist/extension/editor.js +19 -0
  39. package/dist/extension/index.js +48 -0
  40. package/dist/extension/plugins/blockquote/helpers.js +77 -0
  41. package/dist/extension/plugins/blockquote/index.js +18 -0
  42. package/dist/extension/plugins/blockquote/menu/index.js +33 -0
  43. package/dist/extension/plugins/blockquote/plugin.js +70 -0
  44. package/dist/extension/plugins/blockquote/render-elem.js +18 -0
  45. package/dist/extension/plugins/check-list/helper.js +35 -0
  46. package/dist/extension/plugins/check-list/index.js +19 -0
  47. package/dist/extension/plugins/check-list/menu/index.js +40 -0
  48. package/dist/extension/plugins/check-list/plugin.js +50 -0
  49. package/dist/extension/plugins/check-list/render-elem.js +44 -0
  50. package/dist/extension/plugins/clear-format/helpers.js +65 -0
  51. package/dist/extension/plugins/clear-format/menu/index.js +34 -0
  52. package/dist/extension/plugins/code-block/helpers.js +175 -0
  53. package/dist/extension/plugins/code-block/index.js +20 -0
  54. package/dist/extension/plugins/code-block/menu/index.js +37 -0
  55. package/dist/extension/plugins/code-block/plugin.js +270 -0
  56. package/dist/extension/plugins/code-block/render-elem/constant.js +12 -0
  57. package/dist/extension/plugins/code-block/render-elem/index.js +62 -0
  58. package/dist/extension/plugins/code-block/render-elem/language-selector.js +39 -0
  59. package/dist/extension/plugins/formula/helper.js +74 -0
  60. package/dist/extension/plugins/formula/index.js +19 -0
  61. package/dist/extension/plugins/formula/menu/formula-modal.js +97 -0
  62. package/dist/extension/plugins/formula/menu/index.js +71 -0
  63. package/dist/extension/plugins/formula/plugin.js +18 -0
  64. package/dist/extension/plugins/formula/render-elem.js +48 -0
  65. package/dist/extension/plugins/header/helper.js +57 -0
  66. package/dist/extension/plugins/header/index.js +19 -0
  67. package/dist/extension/plugins/header/menu/index.js +110 -0
  68. package/dist/extension/plugins/header/plugin.js +146 -0
  69. package/dist/extension/plugins/header/render-elem.js +34 -0
  70. package/dist/extension/plugins/image/helper.js +62 -0
  71. package/dist/extension/plugins/image/index.js +19 -0
  72. package/dist/extension/plugins/image/menu/image-menu-dialog.js +79 -0
  73. package/dist/extension/plugins/image/menu/image-menu-popover.js +96 -0
  74. package/dist/extension/plugins/image/menu/index.js +58 -0
  75. package/dist/extension/plugins/image/plugin.js +24 -0
  76. package/dist/extension/plugins/image/render-element/image-previewer.js +78 -0
  77. package/dist/extension/plugins/image/render-element/index.js +122 -0
  78. package/dist/extension/plugins/index.js +95 -0
  79. package/dist/extension/plugins/link/helper.js +235 -0
  80. package/dist/extension/plugins/link/index.js +19 -0
  81. package/dist/extension/plugins/link/menu/index.js +98 -0
  82. package/dist/extension/plugins/link/menu/link-modal.js +163 -0
  83. package/dist/extension/plugins/link/plugin.js +104 -0
  84. package/dist/extension/plugins/link/render-elem/index.js +83 -0
  85. package/dist/extension/plugins/link/render-elem/link-popover.js +77 -0
  86. package/dist/extension/plugins/list/constant.js +8 -0
  87. package/dist/extension/plugins/list/helpers.js +78 -0
  88. package/dist/extension/plugins/list/index.js +19 -0
  89. package/dist/extension/plugins/list/menu/index.js +46 -0
  90. package/dist/extension/plugins/list/plugin/index.js +48 -0
  91. package/dist/extension/plugins/list/plugin/insert-break-list.js +28 -0
  92. package/dist/extension/plugins/list/plugin/insert-fragment-list.js +190 -0
  93. package/dist/extension/plugins/list/plugin/normalize-list.js +81 -0
  94. package/dist/extension/plugins/list/plugin/on-tab-handle.js +52 -0
  95. package/dist/extension/plugins/list/queries/index.js +51 -0
  96. package/dist/extension/plugins/list/render-elem/index.js +38 -0
  97. package/dist/extension/plugins/list/transforms/index.js +75 -0
  98. package/dist/extension/plugins/list/transforms/insert-list-item.js +100 -0
  99. package/dist/extension/plugins/list/transforms/move-list-item-down.js +51 -0
  100. package/dist/extension/plugins/list/transforms/move-list-item-up.js +124 -0
  101. package/dist/extension/plugins/list/transforms/move-list-items-to-list.js +62 -0
  102. package/dist/extension/plugins/list/transforms/move-list-items.js +73 -0
  103. package/dist/extension/plugins/list/transforms/normalize-list-item.js +125 -0
  104. package/dist/extension/plugins/list/transforms/normalize-nested-list.js +40 -0
  105. package/dist/extension/plugins/list/transforms/remove-first-list-item.js +24 -0
  106. package/dist/extension/plugins/list/transforms/transforms-to-list.js +148 -0
  107. package/dist/extension/plugins/list/transforms/unwrap-list.js +50 -0
  108. package/dist/extension/plugins/node-id/constants.js +24 -0
  109. package/dist/extension/plugins/node-id/helpers.js +69 -0
  110. package/dist/extension/plugins/node-id/index.js +12 -0
  111. package/dist/extension/plugins/node-id/with-node-id.js +39 -0
  112. package/dist/extension/plugins/paragraph/helper.js +16 -0
  113. package/dist/extension/plugins/paragraph/index.js +17 -0
  114. package/dist/extension/plugins/paragraph/plugin.js +47 -0
  115. package/dist/extension/plugins/paragraph/render-elem.js +18 -0
  116. package/dist/extension/plugins/table/constant.js +9 -0
  117. package/dist/extension/plugins/table/helper.js +232 -0
  118. package/dist/extension/plugins/table/index.js +21 -0
  119. package/dist/extension/plugins/table/menu/index.js +64 -0
  120. package/dist/extension/plugins/table/menu/table-operator.js +98 -0
  121. package/dist/extension/plugins/table/menu/table-size-selector.js +100 -0
  122. package/dist/extension/plugins/table/model.js +95 -0
  123. package/dist/extension/plugins/table/plugin.js +173 -0
  124. package/dist/extension/plugins/table/render-elem/context-menu.js +93 -0
  125. package/dist/extension/plugins/table/render-elem/index.js +189 -0
  126. package/dist/extension/plugins/table/table-operations.js +187 -0
  127. package/dist/extension/plugins/text-style/helpers.js +44 -0
  128. package/dist/extension/plugins/text-style/index.js +17 -0
  129. package/dist/extension/plugins/text-style/menu/index.js +34 -0
  130. package/dist/extension/plugins/text-style/plugin.js +36 -0
  131. package/dist/extension/plugins/text-style/render-elem.js +52 -0
  132. package/dist/extension/render/render-element.js +113 -0
  133. package/dist/extension/render/render-leaf.js +21 -0
  134. package/dist/extension/toolbar/header-toolbar/index.js +113 -0
  135. package/dist/extension/toolbar/index.js +13 -0
  136. package/dist/extension/toolbar/user-help/shortcut-dialog.js +141 -0
  137. package/dist/hooks/use-mathjax.js +51 -0
  138. package/dist/hooks/use-scroll-context.js +17 -0
  139. package/dist/hooks/use-selection-update.js +25 -0
  140. package/dist/index.js +80 -0
  141. package/dist/pages/markdown-editor.js +65 -0
  142. package/dist/pages/markdown-view.js +49 -0
  143. package/dist/pages/rich-markdown-editor.js +111 -0
  144. package/dist/pages/simple-editor.js +63 -0
  145. package/dist/slate-convert/html-to-slate/constants.js +40 -0
  146. package/dist/slate-convert/html-to-slate/helper.js +60 -0
  147. package/dist/slate-convert/html-to-slate/index.js +138 -0
  148. package/dist/slate-convert/html-to-slate/rules/blockquote.js +22 -0
  149. package/dist/slate-convert/html-to-slate/rules/check-list.js +25 -0
  150. package/dist/slate-convert/html-to-slate/rules/code-block.js +93 -0
  151. package/dist/slate-convert/html-to-slate/rules/header.js +22 -0
  152. package/dist/slate-convert/html-to-slate/rules/image.js +27 -0
  153. package/dist/slate-convert/html-to-slate/rules/index.js +18 -0
  154. package/dist/slate-convert/html-to-slate/rules/link.js +27 -0
  155. package/dist/slate-convert/html-to-slate/rules/list.js +55 -0
  156. package/dist/slate-convert/html-to-slate/rules/paragraph.js +22 -0
  157. package/dist/slate-convert/html-to-slate/rules/table.js +39 -0
  158. package/dist/slate-convert/html-to-slate/rules/text.js +61 -0
  159. package/dist/slate-convert/index.js +34 -0
  160. package/dist/slate-convert/md-to-html/index.js +53 -0
  161. package/dist/slate-convert/md-to-html/sanitize-schema.js +24 -0
  162. package/dist/slate-convert/md-to-slate/index.js +44 -0
  163. package/dist/slate-convert/md-to-slate/transform.js +326 -0
  164. package/dist/slate-convert/slate-to-md/index.js +43 -0
  165. package/dist/slate-convert/slate-to-md/transform.js +269 -0
  166. package/dist/utils/common.js +26 -0
  167. package/dist/utils/deserialize-html.js +260 -0
  168. package/dist/utils/dom-utils.js +51 -0
  169. package/dist/utils/event-bus.js +54 -0
  170. package/dist/utils/event-handler.js +40 -0
  171. package/dist/utils/object-utils.js +73 -0
  172. package/package.json +7 -2
  173. package/.babelrc +0 -5
  174. package/.eslintignore +0 -19
  175. package/.eslintrc.json +0 -52
  176. package/.github/workflows/nodejs.yml +0 -25
  177. package/.vscode/settings.json +0 -5
  178. package/config/config.common.js +0 -157
  179. package/config/config.dev.js +0 -53
  180. package/config/jest/cssTransform.js +0 -16
  181. package/config/jest/fileTransform.js +0 -40
  182. package/config/utils/theme.css.js +0 -103
  183. package/config.js +0 -61
  184. package/dev-server.js +0 -145
  185. package/jest.config.js +0 -16
  186. package/scripts/ejs.js +0 -16
  187. package/site/_i18n/index.js +0 -35
  188. package/site/api/index.js +0 -212
  189. package/site/app.js +0 -21
  190. package/site/assets/css/app.css +0 -47
  191. package/site/assets/css/seafile-editor.css +0 -33
  192. package/site/commons/loading/index.js +0 -14
  193. package/site/commons/switch/index.css +0 -14
  194. package/site/commons/switch/index.js +0 -37
  195. package/site/commons/toast/alert.js +0 -106
  196. package/site/commons/toast/index.js +0 -5
  197. package/site/commons/toast/toast.js +0 -195
  198. package/site/commons/toast/toastManager.js +0 -138
  199. package/site/commons/toast/toaster.js +0 -64
  200. package/site/index.html +0 -23
  201. package/site/index.js +0 -21
  202. package/site/pages/home.js +0 -21
  203. package/site/pages/plain-markdown-view.js +0 -6
  204. package/site/pages/rich-seafile-editor.js +0 -72
  205. package/site/pages/seafile-editor.js +0 -39
  206. package/site/pages/seafile-viewer.js +0 -45
  207. package/site/pages/simple-editor.js +0 -44
  208. package/site/pages/wiki-viewer.js +0 -7
  209. package/site/setting.js +0 -36
  210. package/site/setting.local.dist.js +0 -23
  211. package/src/constants/event-types.js +0 -11
  212. package/src/constants/hot-keys.js +0 -47
  213. package/src/containers/article-info/index.js +0 -49
  214. package/src/containers/custom/get-event-transfer.js +0 -28
  215. package/src/containers/custom/set-event-transfer.js +0 -32
  216. package/src/containers/hotkeys-helper/classify-hotkeys.js +0 -30
  217. package/src/containers/hotkeys-helper/index.js +0 -43
  218. package/src/containers/loading/index.js +0 -14
  219. package/src/containers/loading/style.css +0 -49
  220. package/src/containers/outline/index.js +0 -75
  221. package/src/containers/outline/outline-item.js +0 -28
  222. package/src/editors/plain-markdown-editor/code-mirror.js +0 -73
  223. package/src/editors/plain-markdown-editor/index.js +0 -136
  224. package/src/editors/simple-slate-editor /index.js +0 -71
  225. package/src/editors/simple-slate-editor /with-props-editor.js +0 -15
  226. package/src/editors/slate-editor/editor-help/index.js +0 -46
  227. package/src/editors/slate-editor/index.js +0 -77
  228. package/src/editors/slate-editor/with-props-editor.js +0 -15
  229. package/src/editors/slate-viewer/index.js +0 -35
  230. package/src/extension/commons/element-popover/index.js +0 -52
  231. package/src/extension/commons/index.js +0 -10
  232. package/src/extension/commons/menu/index.js +0 -9
  233. package/src/extension/commons/menu/menu-drop-down.js +0 -110
  234. package/src/extension/commons/menu/menu-group.js +0 -20
  235. package/src/extension/commons/menu/menu-item.js +0 -60
  236. package/src/extension/commons/tooltip/index.js +0 -26
  237. package/src/extension/constants/element-types.js +0 -23
  238. package/src/extension/constants/index.js +0 -37
  239. package/src/extension/constants/keyboard.js +0 -29
  240. package/src/extension/constants/menus-config.js +0 -149
  241. package/src/extension/core/index.js +0 -3
  242. package/src/extension/core/queries/index.js +0 -410
  243. package/src/extension/core/transforms/focus-editor.js +0 -12
  244. package/src/extension/core/transforms/index.js +0 -4
  245. package/src/extension/core/transforms/move-children.js +0 -23
  246. package/src/extension/core/transforms/remove-node-children.js +0 -8
  247. package/src/extension/core/transforms/replace-node-children.js +0 -14
  248. package/src/extension/core/utils/index.js +0 -76
  249. package/src/extension/editor.js +0 -14
  250. package/src/extension/index.js +0 -15
  251. package/src/extension/plugins/blockquote/helpers.js +0 -65
  252. package/src/extension/plugins/blockquote/index.js +0 -13
  253. package/src/extension/plugins/blockquote/menu/index.js +0 -31
  254. package/src/extension/plugins/blockquote/plugin.js +0 -64
  255. package/src/extension/plugins/blockquote/render-elem.js +0 -9
  256. package/src/extension/plugins/check-list/helper.js +0 -34
  257. package/src/extension/plugins/check-list/index.js +0 -14
  258. package/src/extension/plugins/check-list/menu/index.js +0 -44
  259. package/src/extension/plugins/check-list/plugin.js +0 -46
  260. package/src/extension/plugins/check-list/render-elem.js +0 -23
  261. package/src/extension/plugins/clear-format/helpers.js +0 -48
  262. package/src/extension/plugins/clear-format/menu/index.js +0 -39
  263. package/src/extension/plugins/code-block/helpers.js +0 -107
  264. package/src/extension/plugins/code-block/index.js +0 -14
  265. package/src/extension/plugins/code-block/menu/index.js +0 -40
  266. package/src/extension/plugins/code-block/plugin.js +0 -210
  267. package/src/extension/plugins/code-block/render-elem/constant.js +0 -17
  268. package/src/extension/plugins/code-block/render-elem/index.js +0 -55
  269. package/src/extension/plugins/code-block/render-elem/language-selector.js +0 -38
  270. package/src/extension/plugins/formula/helper.js +0 -68
  271. package/src/extension/plugins/formula/index.js +0 -14
  272. package/src/extension/plugins/formula/menu/formula-modal.js +0 -73
  273. package/src/extension/plugins/formula/menu/index.js +0 -63
  274. package/src/extension/plugins/formula/plugin.js +0 -18
  275. package/src/extension/plugins/formula/render-elem.js +0 -40
  276. package/src/extension/plugins/header/helper.js +0 -47
  277. package/src/extension/plugins/header/index.js +0 -14
  278. package/src/extension/plugins/header/menu/index.js +0 -114
  279. package/src/extension/plugins/header/plugin.js +0 -134
  280. package/src/extension/plugins/header/render-elem.js +0 -31
  281. package/src/extension/plugins/image/helper.js +0 -50
  282. package/src/extension/plugins/image/index.js +0 -14
  283. package/src/extension/plugins/image/menu/image-menu-dialog.js +0 -68
  284. package/src/extension/plugins/image/menu/image-menu-popover.js +0 -76
  285. package/src/extension/plugins/image/menu/index.js +0 -61
  286. package/src/extension/plugins/image/plugin.js +0 -23
  287. package/src/extension/plugins/image/render-element/image-previewer.js +0 -71
  288. package/src/extension/plugins/image/render-element/index.js +0 -94
  289. package/src/extension/plugins/index.js +0 -47
  290. package/src/extension/plugins/link/helper.js +0 -161
  291. package/src/extension/plugins/link/index.js +0 -14
  292. package/src/extension/plugins/link/menu/index.js +0 -82
  293. package/src/extension/plugins/link/menu/link-modal.js +0 -135
  294. package/src/extension/plugins/link/plugin.js +0 -85
  295. package/src/extension/plugins/link/render-elem/index.js +0 -69
  296. package/src/extension/plugins/link/render-elem/link-popover.js +0 -79
  297. package/src/extension/plugins/list/constant.js +0 -3
  298. package/src/extension/plugins/list/helpers.js +0 -53
  299. package/src/extension/plugins/list/index.js +0 -14
  300. package/src/extension/plugins/list/menu/index.js +0 -48
  301. package/src/extension/plugins/list/plugin/index.js +0 -48
  302. package/src/extension/plugins/list/plugin/insert-break-list.js +0 -25
  303. package/src/extension/plugins/list/plugin/insert-fragment-list.js +0 -162
  304. package/src/extension/plugins/list/plugin/normalize-list.js +0 -64
  305. package/src/extension/plugins/list/plugin/on-tab-handle.js +0 -34
  306. package/src/extension/plugins/list/queries/index.js +0 -39
  307. package/src/extension/plugins/list/render-elem/index.js +0 -26
  308. package/src/extension/plugins/list/transforms/index.js +0 -23
  309. package/src/extension/plugins/list/transforms/insert-list-item.js +0 -65
  310. package/src/extension/plugins/list/transforms/move-list-item-down.js +0 -40
  311. package/src/extension/plugins/list/transforms/move-list-item-up.js +0 -105
  312. package/src/extension/plugins/list/transforms/move-list-items-to-list.js +0 -58
  313. package/src/extension/plugins/list/transforms/move-list-items.js +0 -76
  314. package/src/extension/plugins/list/transforms/normalize-list-item.js +0 -92
  315. package/src/extension/plugins/list/transforms/normalize-nested-list.js +0 -31
  316. package/src/extension/plugins/list/transforms/remove-first-list-item.js +0 -11
  317. package/src/extension/plugins/list/transforms/transforms-to-list.js +0 -91
  318. package/src/extension/plugins/list/transforms/unwrap-list.js +0 -44
  319. package/src/extension/plugins/node-id/constants.js +0 -18
  320. package/src/extension/plugins/node-id/helpers.js +0 -61
  321. package/src/extension/plugins/node-id/index.js +0 -7
  322. package/src/extension/plugins/node-id/with-node-id.js +0 -37
  323. package/src/extension/plugins/paragraph/helper.js +0 -9
  324. package/src/extension/plugins/paragraph/index.js +0 -12
  325. package/src/extension/plugins/paragraph/plugin.js +0 -40
  326. package/src/extension/plugins/paragraph/render-elem.js +0 -11
  327. package/src/extension/plugins/table/constant.js +0 -3
  328. package/src/extension/plugins/table/helper.js +0 -175
  329. package/src/extension/plugins/table/index.js +0 -15
  330. package/src/extension/plugins/table/menu/index.js +0 -69
  331. package/src/extension/plugins/table/menu/table-operator.js +0 -101
  332. package/src/extension/plugins/table/menu/table-size-selector.js +0 -71
  333. package/src/extension/plugins/table/model.js +0 -69
  334. package/src/extension/plugins/table/plugin.js +0 -159
  335. package/src/extension/plugins/table/render-elem/context-menu.js +0 -78
  336. package/src/extension/plugins/table/render-elem/index.js +0 -157
  337. package/src/extension/plugins/table/table-operations.js +0 -162
  338. package/src/extension/plugins/text-style/helpers.js +0 -38
  339. package/src/extension/plugins/text-style/index.js +0 -12
  340. package/src/extension/plugins/text-style/menu/index.js +0 -41
  341. package/src/extension/plugins/text-style/plugin.js +0 -37
  342. package/src/extension/plugins/text-style/render-elem.js +0 -45
  343. package/src/extension/render/render-element.js +0 -82
  344. package/src/extension/render/render-leaf.js +0 -16
  345. package/src/extension/toolbar/header-toolbar/index.js +0 -129
  346. package/src/extension/toolbar/index.js +0 -5
  347. package/src/extension/toolbar/user-help/shortcut-dialog.js +0 -144
  348. package/src/hooks/use-mathjax.js +0 -44
  349. package/src/hooks/use-scroll-context.js +0 -14
  350. package/src/hooks/use-selection-update.js +0 -14
  351. package/src/index.js +0 -22
  352. package/src/pages/markdown-editor.js +0 -53
  353. package/src/pages/markdown-view.js +0 -36
  354. package/src/pages/rich-markdown-editor.js +0 -95
  355. package/src/pages/simple-editor.js +0 -52
  356. package/src/slate-convert/html-to-slate/constants.js +0 -54
  357. package/src/slate-convert/html-to-slate/helper.js +0 -22
  358. package/src/slate-convert/html-to-slate/index.js +0 -144
  359. package/src/slate-convert/html-to-slate/rules/blockquote.js +0 -16
  360. package/src/slate-convert/html-to-slate/rules/check-list.js +0 -22
  361. package/src/slate-convert/html-to-slate/rules/code-block.js +0 -91
  362. package/src/slate-convert/html-to-slate/rules/header.js +0 -18
  363. package/src/slate-convert/html-to-slate/rules/image.js +0 -18
  364. package/src/slate-convert/html-to-slate/rules/index.js +0 -23
  365. package/src/slate-convert/html-to-slate/rules/link.js +0 -24
  366. package/src/slate-convert/html-to-slate/rules/list.js +0 -52
  367. package/src/slate-convert/html-to-slate/rules/paragraph.js +0 -16
  368. package/src/slate-convert/html-to-slate/rules/table.js +0 -37
  369. package/src/slate-convert/html-to-slate/rules/text.js +0 -63
  370. package/src/slate-convert/index.js +0 -11
  371. package/src/slate-convert/md-to-html/index.js +0 -44
  372. package/src/slate-convert/md-to-html/sanitize-schema.js +0 -41
  373. package/src/slate-convert/md-to-slate/index.js +0 -42
  374. package/src/slate-convert/md-to-slate/transform.js +0 -336
  375. package/src/slate-convert/slate-to-md/index.js +0 -44
  376. package/src/slate-convert/slate-to-md/transform.js +0 -248
  377. package/src/utils/common.js +0 -30
  378. package/src/utils/deserialize-html.js +0 -174
  379. package/src/utils/dom-utils.js +0 -45
  380. package/src/utils/event-bus.js +0 -37
  381. package/src/utils/event-handler.js +0 -36
  382. package/src/utils/object-utils.js +0 -51
  383. package/tests/core/constants/index.js +0 -54
  384. package/tests/core/index.js +0 -11
  385. package/tests/core/jsx/index.js +0 -9
  386. package/tests/core/stub-editor/index.js +0 -26
  387. package/tests/core/utils.js +0 -58
  388. package/tests/extension/plugins/list/insert-block.test.js +0 -40
  389. package/tests/extension/plugins/list/insert-fragment-list.test.js +0 -392
  390. package/tests/extension/plugins/list/toggle-list.test.js +0 -160
  391. package/tests/extension/plugins/text/text.test.js +0 -29
  392. package/tests/extension/plugins/text-style/toggle-text-style.test.js +0 -148
  393. package/tests/slate-convert/html-to-slate/blockquote.test.js +0 -107
  394. package/tests/slate-convert/html-to-slate/code-block.test.js +0 -32
  395. package/tests/slate-convert/html-to-slate/header.test.js +0 -56
  396. package/tests/slate-convert/html-to-slate/link.test.js +0 -77
  397. package/tests/slate-convert/html-to-slate/list.test.js +0 -190
  398. package/tests/slate-convert/html-to-slate/paragraph.test.js +0 -40
  399. package/tests/slate-convert/html-to-slate/text.test.js +0 -131
  400. package/tests/slate-convert/md-to-html/blockquote.test.js +0 -110
  401. package/tests/slate-convert/md-to-html/check-list.test.js +0 -19
  402. package/tests/slate-convert/md-to-html/code-block.test.js +0 -19
  403. package/tests/slate-convert/md-to-html/header.test.js +0 -20
  404. package/tests/slate-convert/md-to-html/image.test.js +0 -17
  405. package/tests/slate-convert/md-to-html/image_reference.test.js +0 -17
  406. package/tests/slate-convert/md-to-html/link.test.js +0 -15
  407. package/tests/slate-convert/md-to-html/link_reference.test.js +0 -15
  408. package/tests/slate-convert/md-to-html/list-ordered.test.js +0 -22
  409. package/tests/slate-convert/md-to-html/list-unordered.test.js +0 -22
  410. package/tests/slate-convert/md-to-html/paragraph.test.js +0 -15
  411. package/tests/slate-convert/md-to-html/table.test.js +0 -29
  412. package/tests/slate-convert/md-to-html/text_base.test.js +0 -14
  413. package/tests/slate-convert/md-to-html/text_bold.test.js +0 -14
  414. package/tests/slate-convert/md-to-html/text_bold_italic.test.js +0 -15
  415. package/tests/slate-convert/md-to-html/text_code.test.js +0 -14
  416. package/tests/slate-convert/md-to-html/text_code_bold.test.js +0 -14
  417. package/tests/slate-convert/md-to-html/text_code_bold_italic.test.js +0 -14
  418. package/tests/slate-convert/md-to-html/text_code_italic.test.js +0 -14
  419. package/tests/slate-convert/md-to-html/text_italic.test.js +0 -14
  420. package/tests/slate-convert/md-to-slate/blockquote.test.js +0 -200
  421. package/tests/slate-convert/md-to-slate/check-list.test.js +0 -34
  422. package/tests/slate-convert/md-to-slate/code-block.test.js +0 -32
  423. package/tests/slate-convert/md-to-slate/header.test.js +0 -49
  424. package/tests/slate-convert/md-to-slate/image.test.js +0 -31
  425. package/tests/slate-convert/md-to-slate/link.test.js +0 -30
  426. package/tests/slate-convert/md-to-slate/list-ordered.test.js +0 -42
  427. package/tests/slate-convert/md-to-slate/list-unordered.test.js +0 -42
  428. package/tests/slate-convert/md-to-slate/paragraph.test.js +0 -19
  429. package/tests/slate-convert/md-to-slate/table.test.js +0 -34
  430. package/tests/slate-convert/md-to-slate/text_base.test.js +0 -19
  431. package/tests/slate-convert/md-to-slate/text_bold.test.js +0 -22
  432. package/tests/slate-convert/md-to-slate/text_bold_italic.test.js +0 -23
  433. package/tests/slate-convert/md-to-slate/text_code.test.js +0 -22
  434. package/tests/slate-convert/md-to-slate/text_code_bold.test.js +0 -23
  435. package/tests/slate-convert/md-to-slate/text_code_bold_italic.test.js +0 -24
  436. package/tests/slate-convert/md-to-slate/text_code_italic.test.js +0 -23
  437. package/tests/slate-convert/md-to-slate/text_italic.test.js +0 -22
  438. package/tests/slate-convert/slate-to-md/blockquote.test.js +0 -416
  439. package/tests/slate-convert/slate-to-md/check-list.test.js +0 -96
  440. package/tests/slate-convert/slate-to-md/code-block.test.js +0 -35
  441. package/tests/slate-convert/slate-to-md/formula.test.js +0 -26
  442. package/tests/slate-convert/slate-to-md/header.test.js +0 -109
  443. package/tests/slate-convert/slate-to-md/image.test.js +0 -98
  444. package/tests/slate-convert/slate-to-md/link.test.js +0 -52
  445. package/tests/slate-convert/slate-to-md/list-ordered.test.js +0 -87
  446. package/tests/slate-convert/slate-to-md/list-unordered.test.js +0 -81
  447. package/tests/slate-convert/slate-to-md/paragraph.test.js +0 -28
  448. package/tests/slate-convert/slate-to-md/table.test.js +0 -56
  449. package/tests/slate-convert/slate-to-md/text_base.test.js +0 -28
  450. package/tests/slate-convert/slate-to-md/text_bold.test.js +0 -36
  451. package/tests/slate-convert/slate-to-md/text_bold_italic.test.js +0 -42
  452. package/tests/slate-convert/slate-to-md/text_code.test.js +0 -31
  453. package/tests/slate-convert/slate-to-md/text_code_bold.test.js +0 -37
  454. package/tests/slate-convert/slate-to-md/text_code_bold_italic.test.js +0 -43
  455. package/tests/slate-convert/slate-to-md/text_code_italic.test.js +0 -37
  456. package/tests/slate-convert/slate-to-md/text_italic.test.js +0 -36
  457. /package/{src → dist}/assets/css/slate-editor.css +0 -0
  458. /package/{src → dist}/containers/article-info/style.css +0 -0
  459. /package/{src → dist}/containers/hotkeys-helper/style.css +0 -0
  460. /package/{site/commons → dist/containers}/loading/style.css +0 -0
  461. /package/{src → dist}/containers/outline/style.css +0 -0
  462. /package/{src → dist}/editors/plain-markdown-editor/code-mirror.css +0 -0
  463. /package/{src → dist}/editors/plain-markdown-editor/style.css +0 -0
  464. /package/{src → dist}/editors/slate-editor/editor-help/style.css +0 -0
  465. /package/{src → dist}/editors/slate-viewer/style.css +0 -0
  466. /package/{src → dist}/extension/commons/menu/menu.css +0 -0
  467. /package/{src → dist}/extension/commons/tooltip/index.css +0 -0
  468. /package/{src → dist}/extension/plugins/code-block/render-elem/style.css +0 -0
  469. /package/{src → dist}/extension/plugins/formula/formula.css +0 -0
  470. /package/{src → dist}/extension/plugins/header/menu/style.css +0 -0
  471. /package/{src → dist}/extension/plugins/image/menu/style.css +0 -0
  472. /package/{src → dist}/extension/plugins/image/render-element/style.css +0 -0
  473. /package/{src → dist}/extension/plugins/link/render-elem/style.css +0 -0
  474. /package/{src → dist}/extension/plugins/list/render-elem/style.css +0 -0
  475. /package/{src → dist}/extension/plugins/table/menu/style.css +0 -0
  476. /package/{src → dist}/extension/plugins/table/render-elem/style.css +0 -0
  477. /package/{src → dist}/extension/toolbar/header-toolbar/style.css +0 -0
  478. /package/{src → dist}/extension/toolbar/user-help/style.css +0 -0
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useScrollContext = exports.ScrollContext = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var ScrollContext = exports.ScrollContext = /*#__PURE__*/_react.default.createContext(null);
10
+ var useScrollContext = exports.useScrollContext = function useScrollContext() {
11
+ var context = (0, _react.useContext)(ScrollContext);
12
+ if (!context) {
13
+ throw new Error('The \`useScrollContext\` hook must be used inside the <ScrollContext> component\'s context.');
14
+ }
15
+ var scrollRef = context.scrollRef;
16
+ return scrollRef;
17
+ };
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = useSelectionUpdate;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
9
+ var _react = require("react");
10
+ var _eventBus = _interopRequireDefault(require("../utils/event-bus"));
11
+ function useSelectionUpdate() {
12
+ var _useState = (0, _react.useState)({}),
13
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
14
+ update = _useState2[1];
15
+ (0, _react.useEffect)(function () {
16
+ var onChange = function onChange() {
17
+ return update({});
18
+ };
19
+ var eventBus = _eventBus.default.getInstance();
20
+ var unsubscribe = eventBus.subscribe('change', onChange);
21
+ return function () {
22
+ unsubscribe();
23
+ };
24
+ }, []);
25
+ }
package/dist/index.js ADDED
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "EXTERNAL_EVENTS", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _eventTypes.EXTERNAL_EVENTS;
11
+ }
12
+ });
13
+ Object.defineProperty(exports, "EventBus", {
14
+ enumerable: true,
15
+ get: function get() {
16
+ return _eventBus.default;
17
+ }
18
+ });
19
+ Object.defineProperty(exports, "MarkdownEditor", {
20
+ enumerable: true,
21
+ get: function get() {
22
+ return _markdownEditor.default;
23
+ }
24
+ });
25
+ Object.defineProperty(exports, "MarkdownViewer", {
26
+ enumerable: true,
27
+ get: function get() {
28
+ return _markdownView.default;
29
+ }
30
+ });
31
+ Object.defineProperty(exports, "PlainMarkdownEditor", {
32
+ enumerable: true,
33
+ get: function get() {
34
+ return _plainMarkdownEditor.default;
35
+ }
36
+ });
37
+ Object.defineProperty(exports, "RichMarkdownEditor", {
38
+ enumerable: true,
39
+ get: function get() {
40
+ return _richMarkdownEditor.default;
41
+ }
42
+ });
43
+ Object.defineProperty(exports, "SimpleEditor", {
44
+ enumerable: true,
45
+ get: function get() {
46
+ return _simpleEditor.default;
47
+ }
48
+ });
49
+ Object.defineProperty(exports, "deserializeHtml", {
50
+ enumerable: true,
51
+ get: function get() {
52
+ return _slateConvert.deserializeHtml;
53
+ }
54
+ });
55
+ Object.defineProperty(exports, "mdStringToSlate", {
56
+ enumerable: true,
57
+ get: function get() {
58
+ return _slateConvert.mdStringToSlate;
59
+ }
60
+ });
61
+ Object.defineProperty(exports, "processor", {
62
+ enumerable: true,
63
+ get: function get() {
64
+ return _slateConvert.processor;
65
+ }
66
+ });
67
+ Object.defineProperty(exports, "slateToMdString", {
68
+ enumerable: true,
69
+ get: function get() {
70
+ return _slateConvert.slateToMdString;
71
+ }
72
+ });
73
+ var _eventTypes = require("./constants/event-types");
74
+ var _plainMarkdownEditor = _interopRequireDefault(require("./editors/plain-markdown-editor"));
75
+ var _richMarkdownEditor = _interopRequireDefault(require("./pages/rich-markdown-editor"));
76
+ var _markdownEditor = _interopRequireDefault(require("./pages/markdown-editor"));
77
+ var _markdownView = _interopRequireDefault(require("./pages/markdown-view"));
78
+ var _simpleEditor = _interopRequireDefault(require("./pages/simple-editor"));
79
+ var _eventBus = _interopRequireDefault(require("./utils/event-bus"));
80
+ var _slateConvert = require("./slate-convert");
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _loading = _interopRequireDefault(require("../containers/loading"));
12
+ var _slateConvert = require("../slate-convert");
13
+ var _useMathjax = _interopRequireDefault(require("../hooks/use-mathjax"));
14
+ var _slateEditor = _interopRequireDefault(require("../editors/slate-editor"));
15
+ var SimpleEditor = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
16
+ var isFetching = _ref.isFetching,
17
+ value = _ref.value,
18
+ editorApi = _ref.editorApi,
19
+ mathJaxSource = _ref.mathJaxSource,
20
+ _ref$onValueChanged = _ref.onValueChanged,
21
+ onValueChanged = _ref$onValueChanged === void 0 ? function () {} : _ref$onValueChanged,
22
+ children = _ref.children;
23
+ var _useState = (0, _react.useState)([]),
24
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
25
+ richValue = _useState2[0],
26
+ setRichValue = _useState2[1];
27
+ var _useState3 = (0, _react.useState)(true),
28
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
29
+ isLoading = _useState4[0],
30
+ setIsLoading = _useState4[1];
31
+ var _useMathJax = (0, _useMathjax.default)(mathJaxSource),
32
+ isLoadingMathJax = _useMathJax.isLoadingMathJax;
33
+ (0, _react.useImperativeHandle)(ref, function () {
34
+ return {
35
+ getValue: function getValue() {
36
+ var mdStringValue = (0, _slateConvert.slateToMdString)(richValue);
37
+ return mdStringValue;
38
+ }
39
+ };
40
+ }, [richValue]);
41
+ (0, _react.useEffect)(function () {
42
+ if (!isFetching) {
43
+ var _richValue = (0, _slateConvert.mdStringToSlate)(value);
44
+ setRichValue(_richValue);
45
+ setIsLoading(false);
46
+ }
47
+ // eslint-disable-next-line react-hooks/exhaustive-deps
48
+ }, [isFetching]);
49
+ var onSave = (0, _react.useCallback)(function (content) {
50
+ setRichValue(content);
51
+ onValueChanged && onValueChanged();
52
+ }, [onValueChanged]);
53
+ var props = {
54
+ isSupportFormula: !!mathJaxSource,
55
+ value: richValue,
56
+ editorApi: editorApi,
57
+ onSave: onSave,
58
+ children: children
59
+ };
60
+ if (isFetching || isLoading || isLoadingMathJax) {
61
+ return /*#__PURE__*/_react.default.createElement(_loading.default, null);
62
+ }
63
+ return /*#__PURE__*/_react.default.createElement(_slateEditor.default, props);
64
+ });
65
+ var _default = exports.default = SimpleEditor;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = MarkdownViewer;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _loading = _interopRequireDefault(require("../containers/loading"));
12
+ var _slateConvert = require("../slate-convert");
13
+ var _useMathjax = _interopRequireDefault(require("../hooks/use-mathjax"));
14
+ var _slateViewer = _interopRequireDefault(require("../editors/slate-viewer"));
15
+ function MarkdownViewer(_ref) {
16
+ var isFetching = _ref.isFetching,
17
+ value = _ref.value,
18
+ mathJaxSource = _ref.mathJaxSource,
19
+ isShowOutline = _ref.isShowOutline,
20
+ beforeRenderCallback = _ref.beforeRenderCallback;
21
+ var _useState = (0, _react.useState)([]),
22
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
23
+ richValue = _useState2[0],
24
+ setRichValue = _useState2[1];
25
+ var _useState3 = (0, _react.useState)(true),
26
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
27
+ isLoading = _useState4[0],
28
+ setIsLoading = _useState4[1];
29
+ var _useMathJax = (0, _useMathjax.default)(mathJaxSource),
30
+ isLoadingMathJax = _useMathJax.isLoadingMathJax;
31
+ (0, _react.useEffect)(function () {
32
+ if (!isFetching) {
33
+ var _richValue = (0, _slateConvert.mdStringToSlate)(value);
34
+ beforeRenderCallback && beforeRenderCallback(_richValue);
35
+ setRichValue(_richValue);
36
+ setIsLoading(false);
37
+ }
38
+ // eslint-disable-next-line react-hooks/exhaustive-deps
39
+ }, [isFetching]);
40
+ var props = {
41
+ isSupportFormula: !!mathJaxSource,
42
+ value: richValue,
43
+ isShowOutline: isShowOutline
44
+ };
45
+ if (isFetching || isLoading || isLoadingMathJax) {
46
+ return /*#__PURE__*/_react.default.createElement(_loading.default, null);
47
+ }
48
+ return /*#__PURE__*/_react.default.createElement(_slateViewer.default, props);
49
+ }
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var _slateEditor = _interopRequireDefault(require("../editors/slate-editor"));
13
+ var _plainMarkdownEditor = _interopRequireDefault(require("../editors/plain-markdown-editor"));
14
+ var _loading = _interopRequireDefault(require("../containers/loading"));
15
+ var _slateConvert = require("../slate-convert");
16
+ var _useMathjax = _interopRequireDefault(require("../hooks/use-mathjax"));
17
+ var EDITOR_MODE = {
18
+ RICH: 'rich',
19
+ PLAIN: 'plain'
20
+ };
21
+ var RichMarkdownEditor = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
22
+ var _ref$mode = _ref.mode,
23
+ mode = _ref$mode === void 0 ? EDITOR_MODE.RICH : _ref$mode,
24
+ isFetching = _ref.isFetching,
25
+ value = _ref.value,
26
+ editorApi = _ref.editorApi,
27
+ onValueChanged = _ref.onValueChanged,
28
+ mathJaxSource = _ref.mathJaxSource,
29
+ children = _ref.children;
30
+ var currentMode = (0, _react.useRef)(mode);
31
+ var _useState = (0, _react.useState)(''),
32
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
33
+ mdStringValue = _useState2[0],
34
+ setMdStringValue = _useState2[1];
35
+ var _useState3 = (0, _react.useState)([]),
36
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
37
+ richValue = _useState4[0],
38
+ setRichValue = _useState4[1];
39
+ var _useState5 = (0, _react.useState)(true),
40
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
41
+ isLoading = _useState6[0],
42
+ setIsLoading = _useState6[1];
43
+ var _useMathJax = (0, _useMathjax.default)(mathJaxSource),
44
+ isLoadingMathJax = _useMathJax.isLoadingMathJax;
45
+ (0, _react.useImperativeHandle)(ref, function () {
46
+ return {
47
+ getValue: function getValue() {
48
+ if (mode === EDITOR_MODE.RICH) {
49
+ var newValue = (0, _slateConvert.slateToMdString)(richValue);
50
+ return newValue;
51
+ } else {
52
+ return mdStringValue;
53
+ }
54
+ }
55
+ };
56
+ }, [mdStringValue, mode, richValue]);
57
+ (0, _react.useEffect)(function () {
58
+ if (!isFetching) {
59
+ var _richValue = (0, _slateConvert.mdStringToSlate)(value);
60
+ setRichValue(_richValue);
61
+ setMdStringValue(value);
62
+ setIsLoading(false);
63
+ }
64
+ // eslint-disable-next-line react-hooks/exhaustive-deps
65
+ }, [isFetching]);
66
+ (0, _react.useEffect)(function () {
67
+ if (mode !== currentMode.current && mode === EDITOR_MODE.RICH) {
68
+ setIsLoading(true);
69
+ queueMicrotask(function () {
70
+ currentMode.current = mode;
71
+ var newRichValue = (0, _slateConvert.mdStringToSlate)(mdStringValue);
72
+ setRichValue(newRichValue);
73
+ setIsLoading(false);
74
+ });
75
+ }
76
+ if (mode !== currentMode.current && mode === EDITOR_MODE.PLAIN) {
77
+ setIsLoading(true);
78
+ queueMicrotask(function () {
79
+ currentMode.current = mode;
80
+ var newMdStringValue = (0, _slateConvert.slateToMdString)(richValue);
81
+ setMdStringValue(newMdStringValue);
82
+ setIsLoading(false);
83
+ });
84
+ }
85
+ }, [mdStringValue, mode, richValue]);
86
+ var onSave = (0, _react.useCallback)(function (content) {
87
+ if (mode === EDITOR_MODE.RICH) {
88
+ setRichValue(content);
89
+ } else {
90
+ setMdStringValue(content);
91
+ }
92
+ onValueChanged && onValueChanged();
93
+ }, [mode, onValueChanged]);
94
+ var props = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({
95
+ onSave: onSave,
96
+ isSupportFormula: !!mathJaxSource
97
+ }, children && {
98
+ children: children
99
+ }), mode === EDITOR_MODE.PLAIN && {
100
+ value: mdStringValue
101
+ }), mode === EDITOR_MODE.RICH && {
102
+ value: richValue
103
+ }), mode === EDITOR_MODE.RICH && {
104
+ editorApi: editorApi
105
+ });
106
+ if (isFetching || isLoading || isLoadingMathJax) {
107
+ return /*#__PURE__*/_react.default.createElement(_loading.default, null);
108
+ }
109
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, mode === 'rich' && /*#__PURE__*/_react.default.createElement(_slateEditor.default, props), mode === 'plain' && /*#__PURE__*/_react.default.createElement(_plainMarkdownEditor.default, props));
110
+ });
111
+ var _default = exports.default = RichMarkdownEditor;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _loading = _interopRequireDefault(require("../containers/loading"));
12
+ var _slateConvert = require("../slate-convert");
13
+ var _useMathjax = _interopRequireDefault(require("../hooks/use-mathjax"));
14
+ var _simpleSlateEditor = _interopRequireDefault(require("../editors/simple-slate-editor "));
15
+ var SimpleEditor = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
16
+ var isFetching = _ref.isFetching,
17
+ value = _ref.value,
18
+ editorApi = _ref.editorApi,
19
+ mathJaxSource = _ref.mathJaxSource,
20
+ _ref$onValueChanged = _ref.onValueChanged,
21
+ onValueChanged = _ref$onValueChanged === void 0 ? function () {} : _ref$onValueChanged;
22
+ var _useState = (0, _react.useState)([]),
23
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
24
+ richValue = _useState2[0],
25
+ setRichValue = _useState2[1];
26
+ var _useState3 = (0, _react.useState)(true),
27
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
28
+ isLoading = _useState4[0],
29
+ setIsLoading = _useState4[1];
30
+ var _useMathJax = (0, _useMathjax.default)(mathJaxSource),
31
+ isLoadingMathJax = _useMathJax.isLoadingMathJax;
32
+ (0, _react.useImperativeHandle)(ref, function () {
33
+ return {
34
+ getValue: function getValue() {
35
+ var mdStringValue = (0, _slateConvert.slateToMdString)(richValue);
36
+ return mdStringValue;
37
+ }
38
+ };
39
+ }, [richValue]);
40
+ (0, _react.useEffect)(function () {
41
+ if (!isFetching) {
42
+ var _richValue = (0, _slateConvert.mdStringToSlate)(value);
43
+ setRichValue(_richValue);
44
+ setIsLoading(false);
45
+ }
46
+ // eslint-disable-next-line react-hooks/exhaustive-deps
47
+ }, [isFetching]);
48
+ var onSave = (0, _react.useCallback)(function (content) {
49
+ setRichValue(content);
50
+ onValueChanged && onValueChanged();
51
+ }, [onValueChanged]);
52
+ var props = {
53
+ isSupportFormula: !!mathJaxSource,
54
+ value: richValue,
55
+ editorApi: editorApi,
56
+ onSave: onSave
57
+ };
58
+ if (isFetching || isLoading || isLoadingMathJax) {
59
+ return /*#__PURE__*/_react.default.createElement(_loading.default, null);
60
+ }
61
+ return /*#__PURE__*/_react.default.createElement(_simpleSlateEditor.default, props);
62
+ });
63
+ var _default = exports.default = SimpleEditor;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.UNORDERED_LIST = exports.TOP_LEVEL_TYPES = exports.TABLE_ROW = exports.TABLE_CELL = exports.TABLE = exports.PARAGRAPH = exports.ORDERED_LIST = exports.LIST_ITEM = exports.LINK = exports.INLINE_LEVEL_TYPES = exports.IMAGE = exports.HEADER_TYPE_MAP = exports.HEADER_LIST = exports.HEADER6 = exports.HEADER5 = exports.HEADER4 = exports.HEADER3 = exports.HEADER2 = exports.HEADER1 = exports.HEADER = exports.FORMULA = exports.COLUMN = exports.CODE_LINE = exports.CODE_BLOCK = exports.CHECK_LIST_ITEM = exports.BLOCKQUOTE = void 0;
7
+ var BLOCKQUOTE = exports.BLOCKQUOTE = 'blockquote';
8
+ var HEADER = exports.HEADER = 'header';
9
+ // each header type should be start with HEADER, all of justices should based on HEADER
10
+ var HEADER1 = exports.HEADER1 = "".concat(HEADER, "1");
11
+ var HEADER2 = exports.HEADER2 = "".concat(HEADER, "2");
12
+ var HEADER3 = exports.HEADER3 = "".concat(HEADER, "3");
13
+ var HEADER4 = exports.HEADER4 = "".concat(HEADER, "4");
14
+ var HEADER5 = exports.HEADER5 = "".concat(HEADER, "5");
15
+ var HEADER6 = exports.HEADER6 = "".concat(HEADER, "6");
16
+ var ORDERED_LIST = exports.ORDERED_LIST = 'ordered_list'; // <ol>
17
+ var UNORDERED_LIST = exports.UNORDERED_LIST = 'unordered_list'; // <ul> // unordered_list can not work
18
+ var LIST_ITEM = exports.LIST_ITEM = 'list_item'; // <li>
19
+ var CHECK_LIST_ITEM = exports.CHECK_LIST_ITEM = 'check_list_item';
20
+ var PARAGRAPH = exports.PARAGRAPH = 'paragraph';
21
+ var CODE_BLOCK = exports.CODE_BLOCK = 'code_block';
22
+ var CODE_LINE = exports.CODE_LINE = 'code_line';
23
+ var TABLE = exports.TABLE = 'table';
24
+ var TABLE_ROW = exports.TABLE_ROW = 'table_row';
25
+ var TABLE_CELL = exports.TABLE_CELL = 'table_cell';
26
+ var IMAGE = exports.IMAGE = 'image';
27
+ var LINK = exports.LINK = 'link';
28
+ var FORMULA = exports.FORMULA = 'formula';
29
+ var COLUMN = exports.COLUMN = 'column';
30
+ var TOP_LEVEL_TYPES = exports.TOP_LEVEL_TYPES = [BLOCKQUOTE, HEADER1, HEADER2, HEADER3, HEADER4, HEADER5, HEADER6, ORDERED_LIST, UNORDERED_LIST, CHECK_LIST_ITEM, PARAGRAPH, CODE_BLOCK, TABLE];
31
+ var INLINE_LEVEL_TYPES = exports.INLINE_LEVEL_TYPES = [IMAGE, LINK];
32
+ var HEADER_LIST = exports.HEADER_LIST = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6'];
33
+ var HEADER_TYPE_MAP = exports.HEADER_TYPE_MAP = {
34
+ H1: HEADER1,
35
+ H2: HEADER2,
36
+ H3: HEADER3,
37
+ H4: HEADER4,
38
+ H5: HEADER5,
39
+ H6: HEADER6
40
+ };
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.genCodeLangs = void 0;
7
+ var genCodeLangs = exports.genCodeLangs = function genCodeLangs() {
8
+ return [{
9
+ text: 'Plain Text',
10
+ value: 'plaintext'
11
+ }, {
12
+ text: 'Bash',
13
+ value: 'bash'
14
+ }, {
15
+ text: 'CSS',
16
+ value: 'css'
17
+ }, {
18
+ text: 'C',
19
+ value: 'c'
20
+ }, {
21
+ text: 'C++',
22
+ value: 'cpp'
23
+ }, {
24
+ text: 'C#',
25
+ value: 'csharp'
26
+ }, {
27
+ text: 'Go',
28
+ value: 'go'
29
+ }, {
30
+ text: 'HTML',
31
+ value: 'html'
32
+ }, {
33
+ text: 'Javascript',
34
+ value: 'javascript'
35
+ }, {
36
+ text: 'Java',
37
+ value: 'java'
38
+ }, {
39
+ text: 'PHP',
40
+ value: 'php'
41
+ }, {
42
+ text: 'Python',
43
+ value: 'python'
44
+ }, {
45
+ text: 'Ruby',
46
+ value: 'ruby'
47
+ }, {
48
+ text: 'SQL',
49
+ value: 'sql'
50
+ }, {
51
+ text: 'Swift',
52
+ value: 'swift'
53
+ }, {
54
+ text: 'Typescript',
55
+ value: 'typescript'
56
+ }, {
57
+ text: 'XML',
58
+ value: 'xml'
59
+ }];
60
+ };
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _slugid = _interopRequireDefault(require("slugid"));
9
+ var _typeOf = _interopRequireDefault(require("type-of"));
10
+ var _constants = require("./constants");
11
+ var _rules = _interopRequireDefault(require("./rules"));
12
+ var cruftNewline = function cruftNewline(element) {
13
+ return !(element.nodeName === '#text' && element.nodeValue === '\n');
14
+ };
15
+ var deserializeElement = function deserializeElement(element) {
16
+ var node;
17
+ var next = function next(elements) {
18
+ if (Object.prototype.toString.call(elements) === '[object NodeList]') {
19
+ elements = Array.from(elements);
20
+ }
21
+ switch ((0, _typeOf.default)(elements)) {
22
+ case 'array':
23
+ return deserializeElements(elements);
24
+ case 'object':
25
+ return deserializeElement(elements);
26
+ case 'null':
27
+ case 'undefined':
28
+ return;
29
+ default:
30
+ throw new Error("The `next` argument was called with invalid children: \"".concat(elements, "\"."));
31
+ }
32
+ };
33
+ for (var i = 0; i < _rules.default.length; i++) {
34
+ var rule = _rules.default[i];
35
+ if (!rule) continue;
36
+ var ret = rule(element, next);
37
+ var type = (0, _typeOf.default)(ret);
38
+ if (type !== 'array' && type !== 'object' && type !== 'null' && type !== 'undefined') {
39
+ throw new Error("A rule returned an invalid deserialized representation: \"".concat(node, "\"."));
40
+ }
41
+
42
+ // Not eligible for current component processing
43
+ if (ret === undefined) {
44
+ continue;
45
+ }
46
+
47
+ // Empty tags will be discarded and not converted accordingly
48
+ if (ret === null) {
49
+ return null;
50
+ }
51
+
52
+ // Assign the final processing result to node
53
+ node = ret;
54
+ break;
55
+ }
56
+
57
+ // If node is undefined, it means that the label is not processed, and continue to process the child nodes of the element
58
+ return node || next(element.childNodes);
59
+ };
60
+ var deserializeElements = function deserializeElements() {
61
+ var elements = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
62
+ var isTopLevel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
63
+ var nodes = [];
64
+ elements.filter(cruftNewline).forEach(function (element) {
65
+ var node = deserializeElement(element);
66
+ switch ((0, _typeOf.default)(node)) {
67
+ case 'array':
68
+ var formatNode = isTopLevel ? formatElementNodes(node) : node;
69
+ nodes = nodes.concat(formatNode);
70
+ break;
71
+ case 'object':
72
+ nodes.push(node);
73
+ break;
74
+ default:
75
+ // nothing todo
76
+ }
77
+ });
78
+
79
+ return nodes;
80
+ };
81
+ var formatElementNodes = function formatElementNodes(nodes) {
82
+ if (nodes.length === 0) {
83
+ return [{
84
+ id: _slugid.default.nice(),
85
+ type: _constants.PARAGRAPH,
86
+ children: [{
87
+ text: '',
88
+ id: _slugid.default.nice()
89
+ }]
90
+ }];
91
+ }
92
+ nodes = nodes.reduce(function (memo, node) {
93
+ if (_constants.TOP_LEVEL_TYPES.includes(node.type)) {
94
+ memo.push(node);
95
+ }
96
+ if (node.type === _constants.LIST_ITEM) {
97
+ var newNode = {
98
+ id: _slugid.default.nice(),
99
+ type: _constants.UNORDERED_LIST,
100
+ children: [node]
101
+ };
102
+ memo.push(newNode);
103
+ return memo;
104
+ }
105
+
106
+ // The following types will not appear individually during the pasting process
107
+ // code_line
108
+ // table_row | table_cell
109
+
110
+ // text | image | link
111
+ if (!node.type || _constants.INLINE_LEVEL_TYPES.includes(node.type)) {
112
+ var prevNode = memo[memo.length - 1];
113
+ if (prevNode && prevNode.type === _constants.PARAGRAPH) {
114
+ prevNode.children.push(node);
115
+ return memo;
116
+ }
117
+ var _newNode = {
118
+ id: _slugid.default.nice(),
119
+ type: _constants.PARAGRAPH,
120
+ children: [node]
121
+ };
122
+ memo.push(_newNode);
123
+ return memo;
124
+ }
125
+ return memo;
126
+ }, []);
127
+ return nodes;
128
+ };
129
+ var deserializeHtml = function deserializeHtml(html) {
130
+ var parsed = new DOMParser().parseFromString(html, 'text/html');
131
+ var fragment = parsed.body;
132
+ var children = Array.from(fragment.childNodes);
133
+ var nodes = [];
134
+ nodes = deserializeElements(children, true);
135
+ nodes = formatElementNodes(nodes);
136
+ return nodes;
137
+ };
138
+ var _default = exports.default = deserializeHtml;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _slugid = _interopRequireDefault(require("slugid"));
9
+ var _constants = require("../constants");
10
+ var blockquoteRule = function blockquoteRule(element, parseChild) {
11
+ var nodeName = element.nodeName,
12
+ childNodes = element.childNodes;
13
+ if (nodeName === 'BLOCKQUOTE') {
14
+ return {
15
+ id: _slugid.default.nice(),
16
+ type: _constants.BLOCKQUOTE,
17
+ children: parseChild(childNodes)
18
+ };
19
+ }
20
+ return;
21
+ };
22
+ var _default = exports.default = blockquoteRule;