@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.
- package/dist/constants/event-types.js +16 -0
- package/dist/constants/hot-keys.js +43 -0
- package/dist/containers/article-info/index.js +57 -0
- package/dist/containers/custom/get-event-transfer.js +38 -0
- package/dist/containers/custom/set-event-transfer.js +36 -0
- package/dist/containers/hotkeys-helper/classify-hotkeys.js +39 -0
- package/dist/containers/hotkeys-helper/index.js +52 -0
- package/dist/containers/loading/index.js +33 -0
- package/dist/containers/outline/index.js +80 -0
- package/dist/containers/outline/outline-item.js +30 -0
- package/dist/editors/plain-markdown-editor/code-mirror.js +84 -0
- package/dist/editors/plain-markdown-editor/index.js +149 -0
- package/dist/editors/simple-slate-editor /index.js +90 -0
- package/dist/editors/simple-slate-editor /with-props-editor.js +18 -0
- package/dist/editors/slate-editor/editor-help/index.js +53 -0
- package/dist/editors/slate-editor/index.js +102 -0
- package/dist/editors/slate-editor/with-props-editor.js +18 -0
- package/dist/editors/slate-viewer/index.js +42 -0
- package/dist/extension/commons/element-popover/index.js +64 -0
- package/dist/extension/commons/index.js +26 -0
- package/dist/extension/commons/menu/index.js +21 -0
- package/dist/extension/commons/menu/menu-drop-down.js +104 -0
- package/dist/extension/commons/menu/menu-group.js +18 -0
- package/dist/extension/commons/menu/menu-item.js +54 -0
- package/dist/extension/commons/tooltip/index.js +26 -0
- package/dist/extension/constants/element-types.js +29 -0
- package/dist/extension/constants/index.js +46 -0
- package/dist/extension/constants/keyboard.js +33 -0
- package/dist/extension/constants/menus-config.js +121 -0
- package/dist/extension/core/index.js +38 -0
- package/dist/extension/core/queries/index.js +479 -0
- package/dist/extension/core/transforms/focus-editor.js +17 -0
- package/dist/extension/core/transforms/index.js +49 -0
- package/dist/extension/core/transforms/move-children.js +35 -0
- package/dist/extension/core/transforms/remove-node-children.js +31 -0
- package/dist/extension/core/transforms/replace-node-children.js +22 -0
- package/dist/extension/core/utils/index.js +103 -0
- package/dist/extension/editor.js +19 -0
- package/dist/extension/index.js +48 -0
- package/dist/extension/plugins/blockquote/helpers.js +77 -0
- package/dist/extension/plugins/blockquote/index.js +18 -0
- package/dist/extension/plugins/blockquote/menu/index.js +33 -0
- package/dist/extension/plugins/blockquote/plugin.js +70 -0
- package/dist/extension/plugins/blockquote/render-elem.js +18 -0
- package/dist/extension/plugins/check-list/helper.js +35 -0
- package/dist/extension/plugins/check-list/index.js +19 -0
- package/dist/extension/plugins/check-list/menu/index.js +40 -0
- package/dist/extension/plugins/check-list/plugin.js +50 -0
- package/dist/extension/plugins/check-list/render-elem.js +44 -0
- package/dist/extension/plugins/clear-format/helpers.js +65 -0
- package/dist/extension/plugins/clear-format/menu/index.js +34 -0
- package/dist/extension/plugins/code-block/helpers.js +175 -0
- package/dist/extension/plugins/code-block/index.js +20 -0
- package/dist/extension/plugins/code-block/menu/index.js +37 -0
- package/dist/extension/plugins/code-block/plugin.js +270 -0
- package/dist/extension/plugins/code-block/render-elem/constant.js +12 -0
- package/dist/extension/plugins/code-block/render-elem/index.js +62 -0
- package/dist/extension/plugins/code-block/render-elem/language-selector.js +39 -0
- package/dist/extension/plugins/formula/helper.js +74 -0
- package/dist/extension/plugins/formula/index.js +19 -0
- package/dist/extension/plugins/formula/menu/formula-modal.js +97 -0
- package/dist/extension/plugins/formula/menu/index.js +71 -0
- package/dist/extension/plugins/formula/plugin.js +18 -0
- package/dist/extension/plugins/formula/render-elem.js +48 -0
- package/dist/extension/plugins/header/helper.js +57 -0
- package/dist/extension/plugins/header/index.js +19 -0
- package/dist/extension/plugins/header/menu/index.js +110 -0
- package/dist/extension/plugins/header/plugin.js +146 -0
- package/dist/extension/plugins/header/render-elem.js +34 -0
- package/dist/extension/plugins/image/helper.js +62 -0
- package/dist/extension/plugins/image/index.js +19 -0
- package/dist/extension/plugins/image/menu/image-menu-dialog.js +79 -0
- package/dist/extension/plugins/image/menu/image-menu-popover.js +96 -0
- package/dist/extension/plugins/image/menu/index.js +58 -0
- package/dist/extension/plugins/image/plugin.js +24 -0
- package/dist/extension/plugins/image/render-element/image-previewer.js +78 -0
- package/dist/extension/plugins/image/render-element/index.js +122 -0
- package/dist/extension/plugins/index.js +95 -0
- package/dist/extension/plugins/link/helper.js +235 -0
- package/dist/extension/plugins/link/index.js +19 -0
- package/dist/extension/plugins/link/menu/index.js +98 -0
- package/dist/extension/plugins/link/menu/link-modal.js +163 -0
- package/dist/extension/plugins/link/plugin.js +104 -0
- package/dist/extension/plugins/link/render-elem/index.js +83 -0
- package/dist/extension/plugins/link/render-elem/link-popover.js +77 -0
- package/dist/extension/plugins/list/constant.js +8 -0
- package/dist/extension/plugins/list/helpers.js +78 -0
- package/dist/extension/plugins/list/index.js +19 -0
- package/dist/extension/plugins/list/menu/index.js +46 -0
- package/dist/extension/plugins/list/plugin/index.js +48 -0
- package/dist/extension/plugins/list/plugin/insert-break-list.js +28 -0
- package/dist/extension/plugins/list/plugin/insert-fragment-list.js +190 -0
- package/dist/extension/plugins/list/plugin/normalize-list.js +81 -0
- package/dist/extension/plugins/list/plugin/on-tab-handle.js +52 -0
- package/dist/extension/plugins/list/queries/index.js +51 -0
- package/dist/extension/plugins/list/render-elem/index.js +38 -0
- package/dist/extension/plugins/list/transforms/index.js +75 -0
- package/dist/extension/plugins/list/transforms/insert-list-item.js +100 -0
- package/dist/extension/plugins/list/transforms/move-list-item-down.js +51 -0
- package/dist/extension/plugins/list/transforms/move-list-item-up.js +124 -0
- package/dist/extension/plugins/list/transforms/move-list-items-to-list.js +62 -0
- package/dist/extension/plugins/list/transforms/move-list-items.js +73 -0
- package/dist/extension/plugins/list/transforms/normalize-list-item.js +125 -0
- package/dist/extension/plugins/list/transforms/normalize-nested-list.js +40 -0
- package/dist/extension/plugins/list/transforms/remove-first-list-item.js +24 -0
- package/dist/extension/plugins/list/transforms/transforms-to-list.js +148 -0
- package/dist/extension/plugins/list/transforms/unwrap-list.js +50 -0
- package/dist/extension/plugins/node-id/constants.js +24 -0
- package/dist/extension/plugins/node-id/helpers.js +69 -0
- package/dist/extension/plugins/node-id/index.js +12 -0
- package/dist/extension/plugins/node-id/with-node-id.js +39 -0
- package/dist/extension/plugins/paragraph/helper.js +16 -0
- package/dist/extension/plugins/paragraph/index.js +17 -0
- package/dist/extension/plugins/paragraph/plugin.js +47 -0
- package/dist/extension/plugins/paragraph/render-elem.js +18 -0
- package/dist/extension/plugins/table/constant.js +9 -0
- package/dist/extension/plugins/table/helper.js +232 -0
- package/dist/extension/plugins/table/index.js +21 -0
- package/dist/extension/plugins/table/menu/index.js +64 -0
- package/dist/extension/plugins/table/menu/table-operator.js +98 -0
- package/dist/extension/plugins/table/menu/table-size-selector.js +100 -0
- package/dist/extension/plugins/table/model.js +95 -0
- package/dist/extension/plugins/table/plugin.js +173 -0
- package/dist/extension/plugins/table/render-elem/context-menu.js +93 -0
- package/dist/extension/plugins/table/render-elem/index.js +189 -0
- package/dist/extension/plugins/table/table-operations.js +187 -0
- package/dist/extension/plugins/text-style/helpers.js +44 -0
- package/dist/extension/plugins/text-style/index.js +17 -0
- package/dist/extension/plugins/text-style/menu/index.js +34 -0
- package/dist/extension/plugins/text-style/plugin.js +36 -0
- package/dist/extension/plugins/text-style/render-elem.js +52 -0
- package/dist/extension/render/render-element.js +113 -0
- package/dist/extension/render/render-leaf.js +21 -0
- package/dist/extension/toolbar/header-toolbar/index.js +113 -0
- package/dist/extension/toolbar/index.js +13 -0
- package/dist/extension/toolbar/user-help/shortcut-dialog.js +141 -0
- package/dist/hooks/use-mathjax.js +51 -0
- package/dist/hooks/use-scroll-context.js +17 -0
- package/dist/hooks/use-selection-update.js +25 -0
- package/dist/index.js +80 -0
- package/dist/pages/markdown-editor.js +65 -0
- package/dist/pages/markdown-view.js +49 -0
- package/dist/pages/rich-markdown-editor.js +111 -0
- package/dist/pages/simple-editor.js +63 -0
- package/dist/slate-convert/html-to-slate/constants.js +40 -0
- package/dist/slate-convert/html-to-slate/helper.js +60 -0
- package/dist/slate-convert/html-to-slate/index.js +138 -0
- package/dist/slate-convert/html-to-slate/rules/blockquote.js +22 -0
- package/dist/slate-convert/html-to-slate/rules/check-list.js +25 -0
- package/dist/slate-convert/html-to-slate/rules/code-block.js +93 -0
- package/dist/slate-convert/html-to-slate/rules/header.js +22 -0
- package/dist/slate-convert/html-to-slate/rules/image.js +27 -0
- package/dist/slate-convert/html-to-slate/rules/index.js +18 -0
- package/dist/slate-convert/html-to-slate/rules/link.js +27 -0
- package/dist/slate-convert/html-to-slate/rules/list.js +55 -0
- package/dist/slate-convert/html-to-slate/rules/paragraph.js +22 -0
- package/dist/slate-convert/html-to-slate/rules/table.js +39 -0
- package/dist/slate-convert/html-to-slate/rules/text.js +61 -0
- package/dist/slate-convert/index.js +34 -0
- package/dist/slate-convert/md-to-html/index.js +53 -0
- package/dist/slate-convert/md-to-html/sanitize-schema.js +24 -0
- package/dist/slate-convert/md-to-slate/index.js +44 -0
- package/dist/slate-convert/md-to-slate/transform.js +326 -0
- package/dist/slate-convert/slate-to-md/index.js +43 -0
- package/dist/slate-convert/slate-to-md/transform.js +269 -0
- package/dist/utils/common.js +26 -0
- package/dist/utils/deserialize-html.js +260 -0
- package/dist/utils/dom-utils.js +51 -0
- package/dist/utils/event-bus.js +54 -0
- package/dist/utils/event-handler.js +40 -0
- package/dist/utils/object-utils.js +73 -0
- package/package.json +7 -2
- package/.babelrc +0 -5
- package/.eslintignore +0 -19
- package/.eslintrc.json +0 -52
- package/.github/workflows/nodejs.yml +0 -25
- package/.vscode/settings.json +0 -5
- package/config/config.common.js +0 -157
- package/config/config.dev.js +0 -53
- package/config/jest/cssTransform.js +0 -16
- package/config/jest/fileTransform.js +0 -40
- package/config/utils/theme.css.js +0 -103
- package/config.js +0 -61
- package/dev-server.js +0 -145
- package/jest.config.js +0 -16
- package/scripts/ejs.js +0 -16
- package/site/_i18n/index.js +0 -35
- package/site/api/index.js +0 -212
- package/site/app.js +0 -21
- package/site/assets/css/app.css +0 -47
- package/site/assets/css/seafile-editor.css +0 -33
- package/site/commons/loading/index.js +0 -14
- package/site/commons/switch/index.css +0 -14
- package/site/commons/switch/index.js +0 -37
- package/site/commons/toast/alert.js +0 -106
- package/site/commons/toast/index.js +0 -5
- package/site/commons/toast/toast.js +0 -195
- package/site/commons/toast/toastManager.js +0 -138
- package/site/commons/toast/toaster.js +0 -64
- package/site/index.html +0 -23
- package/site/index.js +0 -21
- package/site/pages/home.js +0 -21
- package/site/pages/plain-markdown-view.js +0 -6
- package/site/pages/rich-seafile-editor.js +0 -72
- package/site/pages/seafile-editor.js +0 -39
- package/site/pages/seafile-viewer.js +0 -45
- package/site/pages/simple-editor.js +0 -44
- package/site/pages/wiki-viewer.js +0 -7
- package/site/setting.js +0 -36
- package/site/setting.local.dist.js +0 -23
- package/src/constants/event-types.js +0 -11
- package/src/constants/hot-keys.js +0 -47
- package/src/containers/article-info/index.js +0 -49
- package/src/containers/custom/get-event-transfer.js +0 -28
- package/src/containers/custom/set-event-transfer.js +0 -32
- package/src/containers/hotkeys-helper/classify-hotkeys.js +0 -30
- package/src/containers/hotkeys-helper/index.js +0 -43
- package/src/containers/loading/index.js +0 -14
- package/src/containers/loading/style.css +0 -49
- package/src/containers/outline/index.js +0 -75
- package/src/containers/outline/outline-item.js +0 -28
- package/src/editors/plain-markdown-editor/code-mirror.js +0 -73
- package/src/editors/plain-markdown-editor/index.js +0 -136
- package/src/editors/simple-slate-editor /index.js +0 -71
- package/src/editors/simple-slate-editor /with-props-editor.js +0 -15
- package/src/editors/slate-editor/editor-help/index.js +0 -46
- package/src/editors/slate-editor/index.js +0 -77
- package/src/editors/slate-editor/with-props-editor.js +0 -15
- package/src/editors/slate-viewer/index.js +0 -35
- package/src/extension/commons/element-popover/index.js +0 -52
- package/src/extension/commons/index.js +0 -10
- package/src/extension/commons/menu/index.js +0 -9
- package/src/extension/commons/menu/menu-drop-down.js +0 -110
- package/src/extension/commons/menu/menu-group.js +0 -20
- package/src/extension/commons/menu/menu-item.js +0 -60
- package/src/extension/commons/tooltip/index.js +0 -26
- package/src/extension/constants/element-types.js +0 -23
- package/src/extension/constants/index.js +0 -37
- package/src/extension/constants/keyboard.js +0 -29
- package/src/extension/constants/menus-config.js +0 -149
- package/src/extension/core/index.js +0 -3
- package/src/extension/core/queries/index.js +0 -410
- package/src/extension/core/transforms/focus-editor.js +0 -12
- package/src/extension/core/transforms/index.js +0 -4
- package/src/extension/core/transforms/move-children.js +0 -23
- package/src/extension/core/transforms/remove-node-children.js +0 -8
- package/src/extension/core/transforms/replace-node-children.js +0 -14
- package/src/extension/core/utils/index.js +0 -76
- package/src/extension/editor.js +0 -14
- package/src/extension/index.js +0 -15
- package/src/extension/plugins/blockquote/helpers.js +0 -65
- package/src/extension/plugins/blockquote/index.js +0 -13
- package/src/extension/plugins/blockquote/menu/index.js +0 -31
- package/src/extension/plugins/blockquote/plugin.js +0 -64
- package/src/extension/plugins/blockquote/render-elem.js +0 -9
- package/src/extension/plugins/check-list/helper.js +0 -34
- package/src/extension/plugins/check-list/index.js +0 -14
- package/src/extension/plugins/check-list/menu/index.js +0 -44
- package/src/extension/plugins/check-list/plugin.js +0 -46
- package/src/extension/plugins/check-list/render-elem.js +0 -23
- package/src/extension/plugins/clear-format/helpers.js +0 -48
- package/src/extension/plugins/clear-format/menu/index.js +0 -39
- package/src/extension/plugins/code-block/helpers.js +0 -107
- package/src/extension/plugins/code-block/index.js +0 -14
- package/src/extension/plugins/code-block/menu/index.js +0 -40
- package/src/extension/plugins/code-block/plugin.js +0 -210
- package/src/extension/plugins/code-block/render-elem/constant.js +0 -17
- package/src/extension/plugins/code-block/render-elem/index.js +0 -55
- package/src/extension/plugins/code-block/render-elem/language-selector.js +0 -38
- package/src/extension/plugins/formula/helper.js +0 -68
- package/src/extension/plugins/formula/index.js +0 -14
- package/src/extension/plugins/formula/menu/formula-modal.js +0 -73
- package/src/extension/plugins/formula/menu/index.js +0 -63
- package/src/extension/plugins/formula/plugin.js +0 -18
- package/src/extension/plugins/formula/render-elem.js +0 -40
- package/src/extension/plugins/header/helper.js +0 -47
- package/src/extension/plugins/header/index.js +0 -14
- package/src/extension/plugins/header/menu/index.js +0 -114
- package/src/extension/plugins/header/plugin.js +0 -134
- package/src/extension/plugins/header/render-elem.js +0 -31
- package/src/extension/plugins/image/helper.js +0 -50
- package/src/extension/plugins/image/index.js +0 -14
- package/src/extension/plugins/image/menu/image-menu-dialog.js +0 -68
- package/src/extension/plugins/image/menu/image-menu-popover.js +0 -76
- package/src/extension/plugins/image/menu/index.js +0 -61
- package/src/extension/plugins/image/plugin.js +0 -23
- package/src/extension/plugins/image/render-element/image-previewer.js +0 -71
- package/src/extension/plugins/image/render-element/index.js +0 -94
- package/src/extension/plugins/index.js +0 -47
- package/src/extension/plugins/link/helper.js +0 -161
- package/src/extension/plugins/link/index.js +0 -14
- package/src/extension/plugins/link/menu/index.js +0 -82
- package/src/extension/plugins/link/menu/link-modal.js +0 -135
- package/src/extension/plugins/link/plugin.js +0 -85
- package/src/extension/plugins/link/render-elem/index.js +0 -69
- package/src/extension/plugins/link/render-elem/link-popover.js +0 -79
- package/src/extension/plugins/list/constant.js +0 -3
- package/src/extension/plugins/list/helpers.js +0 -53
- package/src/extension/plugins/list/index.js +0 -14
- package/src/extension/plugins/list/menu/index.js +0 -48
- package/src/extension/plugins/list/plugin/index.js +0 -48
- package/src/extension/plugins/list/plugin/insert-break-list.js +0 -25
- package/src/extension/plugins/list/plugin/insert-fragment-list.js +0 -162
- package/src/extension/plugins/list/plugin/normalize-list.js +0 -64
- package/src/extension/plugins/list/plugin/on-tab-handle.js +0 -34
- package/src/extension/plugins/list/queries/index.js +0 -39
- package/src/extension/plugins/list/render-elem/index.js +0 -26
- package/src/extension/plugins/list/transforms/index.js +0 -23
- package/src/extension/plugins/list/transforms/insert-list-item.js +0 -65
- package/src/extension/plugins/list/transforms/move-list-item-down.js +0 -40
- package/src/extension/plugins/list/transforms/move-list-item-up.js +0 -105
- package/src/extension/plugins/list/transforms/move-list-items-to-list.js +0 -58
- package/src/extension/plugins/list/transforms/move-list-items.js +0 -76
- package/src/extension/plugins/list/transforms/normalize-list-item.js +0 -92
- package/src/extension/plugins/list/transforms/normalize-nested-list.js +0 -31
- package/src/extension/plugins/list/transforms/remove-first-list-item.js +0 -11
- package/src/extension/plugins/list/transforms/transforms-to-list.js +0 -91
- package/src/extension/plugins/list/transforms/unwrap-list.js +0 -44
- package/src/extension/plugins/node-id/constants.js +0 -18
- package/src/extension/plugins/node-id/helpers.js +0 -61
- package/src/extension/plugins/node-id/index.js +0 -7
- package/src/extension/plugins/node-id/with-node-id.js +0 -37
- package/src/extension/plugins/paragraph/helper.js +0 -9
- package/src/extension/plugins/paragraph/index.js +0 -12
- package/src/extension/plugins/paragraph/plugin.js +0 -40
- package/src/extension/plugins/paragraph/render-elem.js +0 -11
- package/src/extension/plugins/table/constant.js +0 -3
- package/src/extension/plugins/table/helper.js +0 -175
- package/src/extension/plugins/table/index.js +0 -15
- package/src/extension/plugins/table/menu/index.js +0 -69
- package/src/extension/plugins/table/menu/table-operator.js +0 -101
- package/src/extension/plugins/table/menu/table-size-selector.js +0 -71
- package/src/extension/plugins/table/model.js +0 -69
- package/src/extension/plugins/table/plugin.js +0 -159
- package/src/extension/plugins/table/render-elem/context-menu.js +0 -78
- package/src/extension/plugins/table/render-elem/index.js +0 -157
- package/src/extension/plugins/table/table-operations.js +0 -162
- package/src/extension/plugins/text-style/helpers.js +0 -38
- package/src/extension/plugins/text-style/index.js +0 -12
- package/src/extension/plugins/text-style/menu/index.js +0 -41
- package/src/extension/plugins/text-style/plugin.js +0 -37
- package/src/extension/plugins/text-style/render-elem.js +0 -45
- package/src/extension/render/render-element.js +0 -82
- package/src/extension/render/render-leaf.js +0 -16
- package/src/extension/toolbar/header-toolbar/index.js +0 -129
- package/src/extension/toolbar/index.js +0 -5
- package/src/extension/toolbar/user-help/shortcut-dialog.js +0 -144
- package/src/hooks/use-mathjax.js +0 -44
- package/src/hooks/use-scroll-context.js +0 -14
- package/src/hooks/use-selection-update.js +0 -14
- package/src/index.js +0 -22
- package/src/pages/markdown-editor.js +0 -53
- package/src/pages/markdown-view.js +0 -36
- package/src/pages/rich-markdown-editor.js +0 -95
- package/src/pages/simple-editor.js +0 -52
- package/src/slate-convert/html-to-slate/constants.js +0 -54
- package/src/slate-convert/html-to-slate/helper.js +0 -22
- package/src/slate-convert/html-to-slate/index.js +0 -144
- package/src/slate-convert/html-to-slate/rules/blockquote.js +0 -16
- package/src/slate-convert/html-to-slate/rules/check-list.js +0 -22
- package/src/slate-convert/html-to-slate/rules/code-block.js +0 -91
- package/src/slate-convert/html-to-slate/rules/header.js +0 -18
- package/src/slate-convert/html-to-slate/rules/image.js +0 -18
- package/src/slate-convert/html-to-slate/rules/index.js +0 -23
- package/src/slate-convert/html-to-slate/rules/link.js +0 -24
- package/src/slate-convert/html-to-slate/rules/list.js +0 -52
- package/src/slate-convert/html-to-slate/rules/paragraph.js +0 -16
- package/src/slate-convert/html-to-slate/rules/table.js +0 -37
- package/src/slate-convert/html-to-slate/rules/text.js +0 -63
- package/src/slate-convert/index.js +0 -11
- package/src/slate-convert/md-to-html/index.js +0 -44
- package/src/slate-convert/md-to-html/sanitize-schema.js +0 -41
- package/src/slate-convert/md-to-slate/index.js +0 -42
- package/src/slate-convert/md-to-slate/transform.js +0 -336
- package/src/slate-convert/slate-to-md/index.js +0 -44
- package/src/slate-convert/slate-to-md/transform.js +0 -248
- package/src/utils/common.js +0 -30
- package/src/utils/deserialize-html.js +0 -174
- package/src/utils/dom-utils.js +0 -45
- package/src/utils/event-bus.js +0 -37
- package/src/utils/event-handler.js +0 -36
- package/src/utils/object-utils.js +0 -51
- package/tests/core/constants/index.js +0 -54
- package/tests/core/index.js +0 -11
- package/tests/core/jsx/index.js +0 -9
- package/tests/core/stub-editor/index.js +0 -26
- package/tests/core/utils.js +0 -58
- package/tests/extension/plugins/list/insert-block.test.js +0 -40
- package/tests/extension/plugins/list/insert-fragment-list.test.js +0 -392
- package/tests/extension/plugins/list/toggle-list.test.js +0 -160
- package/tests/extension/plugins/text/text.test.js +0 -29
- package/tests/extension/plugins/text-style/toggle-text-style.test.js +0 -148
- package/tests/slate-convert/html-to-slate/blockquote.test.js +0 -107
- package/tests/slate-convert/html-to-slate/code-block.test.js +0 -32
- package/tests/slate-convert/html-to-slate/header.test.js +0 -56
- package/tests/slate-convert/html-to-slate/link.test.js +0 -77
- package/tests/slate-convert/html-to-slate/list.test.js +0 -190
- package/tests/slate-convert/html-to-slate/paragraph.test.js +0 -40
- package/tests/slate-convert/html-to-slate/text.test.js +0 -131
- package/tests/slate-convert/md-to-html/blockquote.test.js +0 -110
- package/tests/slate-convert/md-to-html/check-list.test.js +0 -19
- package/tests/slate-convert/md-to-html/code-block.test.js +0 -19
- package/tests/slate-convert/md-to-html/header.test.js +0 -20
- package/tests/slate-convert/md-to-html/image.test.js +0 -17
- package/tests/slate-convert/md-to-html/image_reference.test.js +0 -17
- package/tests/slate-convert/md-to-html/link.test.js +0 -15
- package/tests/slate-convert/md-to-html/link_reference.test.js +0 -15
- package/tests/slate-convert/md-to-html/list-ordered.test.js +0 -22
- package/tests/slate-convert/md-to-html/list-unordered.test.js +0 -22
- package/tests/slate-convert/md-to-html/paragraph.test.js +0 -15
- package/tests/slate-convert/md-to-html/table.test.js +0 -29
- package/tests/slate-convert/md-to-html/text_base.test.js +0 -14
- package/tests/slate-convert/md-to-html/text_bold.test.js +0 -14
- package/tests/slate-convert/md-to-html/text_bold_italic.test.js +0 -15
- package/tests/slate-convert/md-to-html/text_code.test.js +0 -14
- package/tests/slate-convert/md-to-html/text_code_bold.test.js +0 -14
- package/tests/slate-convert/md-to-html/text_code_bold_italic.test.js +0 -14
- package/tests/slate-convert/md-to-html/text_code_italic.test.js +0 -14
- package/tests/slate-convert/md-to-html/text_italic.test.js +0 -14
- package/tests/slate-convert/md-to-slate/blockquote.test.js +0 -200
- package/tests/slate-convert/md-to-slate/check-list.test.js +0 -34
- package/tests/slate-convert/md-to-slate/code-block.test.js +0 -32
- package/tests/slate-convert/md-to-slate/header.test.js +0 -49
- package/tests/slate-convert/md-to-slate/image.test.js +0 -31
- package/tests/slate-convert/md-to-slate/link.test.js +0 -30
- package/tests/slate-convert/md-to-slate/list-ordered.test.js +0 -42
- package/tests/slate-convert/md-to-slate/list-unordered.test.js +0 -42
- package/tests/slate-convert/md-to-slate/paragraph.test.js +0 -19
- package/tests/slate-convert/md-to-slate/table.test.js +0 -34
- package/tests/slate-convert/md-to-slate/text_base.test.js +0 -19
- package/tests/slate-convert/md-to-slate/text_bold.test.js +0 -22
- package/tests/slate-convert/md-to-slate/text_bold_italic.test.js +0 -23
- package/tests/slate-convert/md-to-slate/text_code.test.js +0 -22
- package/tests/slate-convert/md-to-slate/text_code_bold.test.js +0 -23
- package/tests/slate-convert/md-to-slate/text_code_bold_italic.test.js +0 -24
- package/tests/slate-convert/md-to-slate/text_code_italic.test.js +0 -23
- package/tests/slate-convert/md-to-slate/text_italic.test.js +0 -22
- package/tests/slate-convert/slate-to-md/blockquote.test.js +0 -416
- package/tests/slate-convert/slate-to-md/check-list.test.js +0 -96
- package/tests/slate-convert/slate-to-md/code-block.test.js +0 -35
- package/tests/slate-convert/slate-to-md/formula.test.js +0 -26
- package/tests/slate-convert/slate-to-md/header.test.js +0 -109
- package/tests/slate-convert/slate-to-md/image.test.js +0 -98
- package/tests/slate-convert/slate-to-md/link.test.js +0 -52
- package/tests/slate-convert/slate-to-md/list-ordered.test.js +0 -87
- package/tests/slate-convert/slate-to-md/list-unordered.test.js +0 -81
- package/tests/slate-convert/slate-to-md/paragraph.test.js +0 -28
- package/tests/slate-convert/slate-to-md/table.test.js +0 -56
- package/tests/slate-convert/slate-to-md/text_base.test.js +0 -28
- package/tests/slate-convert/slate-to-md/text_bold.test.js +0 -36
- package/tests/slate-convert/slate-to-md/text_bold_italic.test.js +0 -42
- package/tests/slate-convert/slate-to-md/text_code.test.js +0 -31
- package/tests/slate-convert/slate-to-md/text_code_bold.test.js +0 -37
- package/tests/slate-convert/slate-to-md/text_code_bold_italic.test.js +0 -43
- package/tests/slate-convert/slate-to-md/text_code_italic.test.js +0 -37
- package/tests/slate-convert/slate-to-md/text_italic.test.js +0 -36
- /package/{src → dist}/assets/css/slate-editor.css +0 -0
- /package/{src → dist}/containers/article-info/style.css +0 -0
- /package/{src → dist}/containers/hotkeys-helper/style.css +0 -0
- /package/{site/commons → dist/containers}/loading/style.css +0 -0
- /package/{src → dist}/containers/outline/style.css +0 -0
- /package/{src → dist}/editors/plain-markdown-editor/code-mirror.css +0 -0
- /package/{src → dist}/editors/plain-markdown-editor/style.css +0 -0
- /package/{src → dist}/editors/slate-editor/editor-help/style.css +0 -0
- /package/{src → dist}/editors/slate-viewer/style.css +0 -0
- /package/{src → dist}/extension/commons/menu/menu.css +0 -0
- /package/{src → dist}/extension/commons/tooltip/index.css +0 -0
- /package/{src → dist}/extension/plugins/code-block/render-elem/style.css +0 -0
- /package/{src → dist}/extension/plugins/formula/formula.css +0 -0
- /package/{src → dist}/extension/plugins/header/menu/style.css +0 -0
- /package/{src → dist}/extension/plugins/image/menu/style.css +0 -0
- /package/{src → dist}/extension/plugins/image/render-element/style.css +0 -0
- /package/{src → dist}/extension/plugins/link/render-elem/style.css +0 -0
- /package/{src → dist}/extension/plugins/list/render-elem/style.css +0 -0
- /package/{src → dist}/extension/plugins/table/menu/style.css +0 -0
- /package/{src → dist}/extension/plugins/table/render-elem/style.css +0 -0
- /package/{src → dist}/extension/toolbar/header-toolbar/style.css +0 -0
- /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;
|