@seafile/seafile-editor 1.0.32-2 → 1.0.32-20

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 (213) hide show
  1. package/dist/constants/event-types.js +8 -2
  2. package/dist/constants/hot-keys.js +7 -1
  3. package/dist/constants/index.js +7 -1
  4. package/dist/containers/article-info/index.js +28 -20
  5. package/dist/containers/custom/get-event-transfer.js +7 -1
  6. package/dist/containers/custom/set-event-transfer.js +9 -3
  7. package/dist/containers/hotkeys-helper/classify-hotkeys.js +19 -12
  8. package/dist/containers/hotkeys-helper/index.js +29 -21
  9. package/dist/containers/loading/index.js +14 -7
  10. package/dist/containers/outline/index.js +25 -17
  11. package/dist/containers/outline/outline-item.js +14 -6
  12. package/dist/editors/plain-markdown-editor/code-mirror.js +30 -23
  13. package/dist/editors/plain-markdown-editor/index.js +34 -27
  14. package/dist/editors/simple-slate-editor /index.js +41 -33
  15. package/dist/editors/simple-slate-editor /with-props-editor.js +7 -1
  16. package/dist/editors/slate-editor/editor-help/index.js +28 -20
  17. package/dist/editors/slate-editor/index.js +48 -40
  18. package/dist/editors/slate-editor/with-props-editor.js +7 -1
  19. package/dist/editors/slate-viewer/index.js +34 -26
  20. package/dist/extension/commons/element-popover/index.js +14 -7
  21. package/dist/extension/commons/index.js +33 -4
  22. package/dist/extension/commons/menu/index.js +21 -4
  23. package/dist/extension/commons/menu/menu-drop-down.js +37 -29
  24. package/dist/extension/commons/menu/menu-group.js +10 -3
  25. package/dist/extension/commons/menu/menu-item.js +20 -12
  26. package/dist/extension/commons/menu/menu.css +2 -3
  27. package/dist/extension/commons/select/_option.js +15 -8
  28. package/dist/extension/commons/select/field-setting.js +26 -19
  29. package/dist/extension/commons/select/index.js +33 -26
  30. package/dist/extension/commons/select/menu/index.js +11 -4
  31. package/dist/extension/commons/select/menu/item.js +17 -10
  32. package/dist/extension/commons/select/menu/menu.js +13 -6
  33. package/dist/extension/commons/tooltip/index.js +14 -7
  34. package/dist/extension/constants/element-types.js +28 -22
  35. package/dist/extension/constants/index.js +42 -16
  36. package/dist/extension/constants/keyboard.js +9 -3
  37. package/dist/extension/constants/menus-config.js +31 -25
  38. package/dist/extension/core/index.js +38 -3
  39. package/dist/extension/core/queries/index.js +130 -89
  40. package/dist/extension/core/transforms/focus-editor.js +15 -8
  41. package/dist/extension/core/transforms/index.js +49 -4
  42. package/dist/extension/core/transforms/move-children.js +16 -9
  43. package/dist/extension/core/transforms/remove-node-children.js +12 -5
  44. package/dist/extension/core/transforms/replace-node-children.js +14 -7
  45. package/dist/extension/core/utils/index.js +38 -23
  46. package/dist/extension/editor.js +16 -9
  47. package/dist/extension/highlight/index.js +20 -3
  48. package/dist/extension/highlight/normalize-tokens.js +9 -2
  49. package/dist/extension/highlight/prismjs.js +27 -20
  50. package/dist/extension/highlight/set-node-decorations.js +21 -14
  51. package/dist/extension/highlight/use-highlight.js +12 -5
  52. package/dist/extension/index.js +67 -8
  53. package/dist/extension/plugins/blockquote/helpers.js +37 -27
  54. package/dist/extension/plugins/blockquote/index.js +14 -7
  55. package/dist/extension/plugins/blockquote/menu/index.js +19 -12
  56. package/dist/extension/plugins/blockquote/plugin.js +23 -17
  57. package/dist/extension/plugins/blockquote/render-elem.js +10 -3
  58. package/dist/extension/plugins/check-list/helper.js +23 -14
  59. package/dist/extension/plugins/check-list/index.js +16 -9
  60. package/dist/extension/plugins/check-list/menu/index.js +22 -14
  61. package/dist/extension/plugins/check-list/plugin.js +19 -13
  62. package/dist/extension/plugins/check-list/render-elem.js +17 -9
  63. package/dist/extension/plugins/clear-format/helpers.js +21 -13
  64. package/dist/extension/plugins/clear-format/menu/index.js +17 -10
  65. package/dist/extension/plugins/code-block/helpers.js +73 -50
  66. package/dist/extension/plugins/code-block/index.js +17 -9
  67. package/dist/extension/plugins/code-block/menu/index.js +20 -13
  68. package/dist/extension/plugins/code-block/plugin.js +69 -62
  69. package/dist/extension/plugins/code-block/render-elem/constant.js +8 -2
  70. package/dist/extension/plugins/code-block/render-elem/index.js +33 -23
  71. package/dist/extension/plugins/code-block/render-elem/language-selector.js +18 -11
  72. package/dist/extension/plugins/column/constants/cell-types.js +33 -27
  73. package/dist/extension/plugins/column/constants/column.js +9 -2
  74. package/dist/extension/plugins/column/helpers.js +41 -29
  75. package/dist/extension/plugins/column/index.js +16 -9
  76. package/dist/extension/plugins/column/menu/index.js +19 -12
  77. package/dist/extension/plugins/column/model.js +7 -1
  78. package/dist/extension/plugins/column/plugin.js +10 -4
  79. package/dist/extension/plugins/column/render-elem.js +29 -22
  80. package/dist/extension/plugins/formula/helper.js +36 -24
  81. package/dist/extension/plugins/formula/index.js +16 -9
  82. package/dist/extension/plugins/formula/menu/formula-modal.js +35 -28
  83. package/dist/extension/plugins/formula/menu/index.js +30 -22
  84. package/dist/extension/plugins/formula/plugin.js +9 -3
  85. package/dist/extension/plugins/formula/render-elem.js +24 -16
  86. package/dist/extension/plugins/header/helper.js +30 -21
  87. package/dist/extension/plugins/header/index.js +16 -9
  88. package/dist/extension/plugins/header/menu/index.js +42 -34
  89. package/dist/extension/plugins/header/menu/style.css +1 -1
  90. package/dist/extension/plugins/header/plugin.js +38 -31
  91. package/dist/extension/plugins/header/render-elem.js +17 -9
  92. package/dist/extension/plugins/image/helper.js +39 -26
  93. package/dist/extension/plugins/image/index.js +16 -9
  94. package/dist/extension/plugins/image/menu/image-menu-dialog.js +28 -20
  95. package/dist/extension/plugins/image/menu/image-menu-popover.js +33 -25
  96. package/dist/extension/plugins/image/menu/index.js +23 -15
  97. package/dist/extension/plugins/image/plugin.js +16 -10
  98. package/dist/extension/plugins/image/render-element/image-previewer.js +23 -15
  99. package/dist/extension/plugins/image/render-element/index.js +36 -27
  100. package/dist/extension/plugins/index.js +108 -20
  101. package/dist/extension/plugins/link/helper.js +86 -70
  102. package/dist/extension/plugins/link/index.js +16 -9
  103. package/dist/extension/plugins/link/menu/index.js +37 -29
  104. package/dist/extension/plugins/link/menu/link-modal.js +39 -31
  105. package/dist/extension/plugins/link/plugin.js +37 -30
  106. package/dist/extension/plugins/link/render-elem/index.js +35 -26
  107. package/dist/extension/plugins/link/render-elem/link-popover.js +35 -27
  108. package/dist/extension/plugins/link/render-elem/style.css +1 -1
  109. package/dist/extension/plugins/list/constant.js +8 -2
  110. package/dist/extension/plugins/list/helpers.js +37 -27
  111. package/dist/extension/plugins/list/index.js +16 -9
  112. package/dist/extension/plugins/list/menu/index.js +23 -15
  113. package/dist/extension/plugins/list/plugin/index.js +24 -17
  114. package/dist/extension/plugins/list/plugin/insert-break-list.js +16 -9
  115. package/dist/extension/plugins/list/plugin/insert-fragment-list.js +55 -46
  116. package/dist/extension/plugins/list/plugin/normalize-list.js +32 -25
  117. package/dist/extension/plugins/list/plugin/on-tab-handle.js +23 -15
  118. package/dist/extension/plugins/list/plugin/shortcut.js +25 -19
  119. package/dist/extension/plugins/list/queries/index.js +25 -16
  120. package/dist/extension/plugins/list/render-elem/index.js +17 -8
  121. package/dist/extension/plugins/list/transforms/index.js +75 -11
  122. package/dist/extension/plugins/list/transforms/insert-list-item.js +40 -33
  123. package/dist/extension/plugins/list/transforms/move-list-item-down.js +19 -12
  124. package/dist/extension/plugins/list/transforms/move-list-item-up.js +36 -29
  125. package/dist/extension/plugins/list/transforms/move-list-items-to-list.js +19 -12
  126. package/dist/extension/plugins/list/transforms/move-list-items.js +28 -21
  127. package/dist/extension/plugins/list/transforms/normalize-list-item.js +39 -32
  128. package/dist/extension/plugins/list/transforms/normalize-nested-list.js +18 -11
  129. package/dist/extension/plugins/list/transforms/remove-first-list-item.js +13 -6
  130. package/dist/extension/plugins/list/transforms/transforms-to-list.js +43 -36
  131. package/dist/extension/plugins/list/transforms/unwrap-list.js +22 -15
  132. package/dist/extension/plugins/markdown/index.js +10 -3
  133. package/dist/extension/plugins/markdown/plugin.js +48 -42
  134. package/dist/extension/plugins/node-id/constants.js +15 -9
  135. package/dist/extension/plugins/node-id/helpers.js +29 -18
  136. package/dist/extension/plugins/node-id/index.js +10 -3
  137. package/dist/extension/plugins/node-id/with-node-id.js +10 -4
  138. package/dist/extension/plugins/paragraph/helper.js +15 -8
  139. package/dist/extension/plugins/paragraph/index.js +14 -7
  140. package/dist/extension/plugins/paragraph/plugin.js +21 -15
  141. package/dist/extension/plugins/paragraph/render-elem.js +10 -3
  142. package/dist/extension/plugins/table/constant.js +9 -3
  143. package/dist/extension/plugins/table/helper.js +65 -48
  144. package/dist/extension/plugins/table/index.js +18 -10
  145. package/dist/extension/plugins/table/menu/index.js +27 -19
  146. package/dist/extension/plugins/table/menu/table-operator.js +43 -32
  147. package/dist/extension/plugins/table/menu/table-size-selector.js +25 -17
  148. package/dist/extension/plugins/table/model.js +20 -13
  149. package/dist/extension/plugins/table/plugin.js +52 -47
  150. package/dist/extension/plugins/table/render-elem/context-menu.js +32 -25
  151. package/dist/extension/plugins/table/render-elem/index.js +72 -45
  152. package/dist/extension/plugins/table/table-operations.js +75 -57
  153. package/dist/extension/plugins/text-style/helpers.js +28 -13
  154. package/dist/extension/plugins/text-style/index.js +14 -7
  155. package/dist/extension/plugins/text-style/menu/index.js +19 -11
  156. package/dist/extension/plugins/text-style/plugin.js +17 -10
  157. package/dist/extension/plugins/text-style/render-elem.js +25 -18
  158. package/dist/extension/render/render-element.js +30 -22
  159. package/dist/extension/render/render-leaf.js +14 -7
  160. package/dist/extension/toolbar/header-toolbar/index.js +63 -55
  161. package/dist/extension/toolbar/index.js +13 -2
  162. package/dist/extension/toolbar/user-help/shortcut-dialog.js +60 -52
  163. package/dist/hooks/use-insert-image.js +18 -11
  164. package/dist/hooks/use-mathjax.js +10 -4
  165. package/dist/hooks/use-scroll-context.js +13 -5
  166. package/dist/hooks/use-selection-update.js +13 -6
  167. package/dist/hooks/user-link-click.js +7 -1
  168. package/dist/index.js +129 -14
  169. package/dist/pages/email-editor-dialog/index.js +139 -0
  170. package/dist/pages/longtext-editor-dialog/browser-tip.js +12 -5
  171. package/dist/pages/longtext-editor-dialog/index.js +103 -63
  172. package/dist/pages/longtext-editor-dialog/longtext-modal.js +17 -10
  173. package/dist/pages/longtext-editor-dialog/style.css +43 -4
  174. package/dist/pages/markdown-editor.js +25 -17
  175. package/dist/pages/markdown-preview/index.js +21 -14
  176. package/dist/pages/markdown-preview/style.css +20 -0
  177. package/dist/pages/markdown-view.js +21 -13
  178. package/dist/pages/rich-markdown-editor.js +33 -25
  179. package/dist/pages/seatable-editor.js +25 -17
  180. package/dist/pages/seatable-viewer.js +21 -13
  181. package/dist/pages/simple-editor.js +25 -17
  182. package/dist/slate-convert/html-to-slate/constants.js +32 -26
  183. package/dist/slate-convert/html-to-slate/helper.js +9 -2
  184. package/dist/slate-convert/html-to-slate/index.js +28 -21
  185. package/dist/slate-convert/html-to-slate/rules/blockquote.js +12 -5
  186. package/dist/slate-convert/html-to-slate/rules/check-list.js +13 -6
  187. package/dist/slate-convert/html-to-slate/rules/code-block.js +28 -21
  188. package/dist/slate-convert/html-to-slate/rules/header.js +13 -6
  189. package/dist/slate-convert/html-to-slate/rules/image.js +13 -6
  190. package/dist/slate-convert/html-to-slate/rules/index.js +18 -11
  191. package/dist/slate-convert/html-to-slate/rules/link.js +13 -6
  192. package/dist/slate-convert/html-to-slate/rules/list.js +22 -15
  193. package/dist/slate-convert/html-to-slate/rules/paragraph.js +12 -5
  194. package/dist/slate-convert/html-to-slate/rules/table.js +16 -9
  195. package/dist/slate-convert/html-to-slate/rules/text.js +16 -9
  196. package/dist/slate-convert/index.js +34 -8
  197. package/dist/slate-convert/md-to-html/index.js +31 -26
  198. package/dist/slate-convert/md-to-html/sanitize-schema.js +11 -4
  199. package/dist/slate-convert/md-to-slate/index.js +18 -12
  200. package/dist/slate-convert/md-to-slate/transform.js +109 -82
  201. package/dist/slate-convert/slate-to-md/index.js +16 -10
  202. package/dist/slate-convert/slate-to-md/transform.js +15 -13
  203. package/dist/utils/common.js +17 -7
  204. package/dist/utils/deserialize-html.js +40 -33
  205. package/dist/utils/dom-utils.js +17 -7
  206. package/dist/utils/event-bus.js +7 -1
  207. package/dist/utils/event-handler.js +14 -7
  208. package/dist/utils/get-browser-Info.js +8 -2
  209. package/dist/utils/get-preview-content.js +12 -6
  210. package/dist/utils/is-punctuation-mark.js +7 -1
  211. package/dist/utils/object-utils.js +14 -7
  212. package/dist/utils/replace-slate-nodes.js +9 -2
  213. package/package.json +6 -5
@@ -1,47 +1,54 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
- import React from 'react';
3
- import isHotkey from 'is-hotkey';
4
- import processor from '../../slate-convert/md-to-html';
5
- import SeafileCodeMirror from './code-mirror';
6
- import './style.css';
7
- class PlainMarkdownEditor extends React.Component {
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _isHotkey = _interopRequireDefault(require("is-hotkey"));
11
+ var _mdToHtml = _interopRequireDefault(require("../../slate-convert/md-to-html"));
12
+ var _codeMirror = _interopRequireDefault(require("./code-mirror"));
13
+ require("./style.css");
14
+ class PlainMarkdownEditor extends _react.default.Component {
8
15
  constructor(props) {
9
16
  super(props);
10
17
  /*
11
18
  * the data about scroll, these variable has nothing to width react
12
19
  * they are not state
13
20
  * */
14
- _defineProperty(this, "scrollData", {
21
+ (0, _defineProperty2.default)(this, "scrollData", {
15
22
  scrollPercentage: 0,
16
23
  leftPanel: null,
17
24
  rightPanel: null
18
25
  });
19
- _defineProperty(this, "setContent", markdownContent => {
26
+ (0, _defineProperty2.default)(this, "setContent", markdownContent => {
20
27
  this.setState({
21
28
  editorValue: markdownContent
22
29
  });
23
- processor.process(markdownContent, (error, vfile) => {
30
+ _mdToHtml.default.process(markdownContent, (error, vfile) => {
24
31
  var html = String(vfile);
25
32
  this.setState({
26
33
  previewValue: html
27
34
  });
28
35
  });
29
36
  });
30
- _defineProperty(this, "updateCode", newCode => {
37
+ (0, _defineProperty2.default)(this, "updateCode", newCode => {
31
38
  this.setContent(newCode);
32
39
  this.props.onContentChanged && this.props.onContentChanged(newCode);
33
40
  });
34
- _defineProperty(this, "onEnterLeftPanel", () => {
41
+ (0, _defineProperty2.default)(this, "onEnterLeftPanel", () => {
35
42
  this.setState({
36
43
  isMouseInLeftSide: true
37
44
  });
38
45
  });
39
- _defineProperty(this, "onLeaveLeftPanel", () => {
46
+ (0, _defineProperty2.default)(this, "onLeaveLeftPanel", () => {
40
47
  this.setState({
41
48
  isMouseInLeftSide: false
42
49
  });
43
50
  });
44
- _defineProperty(this, "onLeftScroll", e => {
51
+ (0, _defineProperty2.default)(this, "onLeftScroll", e => {
45
52
  const {
46
53
  isMouseInLeftSide
47
54
  } = this.state;
@@ -50,17 +57,17 @@ class PlainMarkdownEditor extends React.Component {
50
57
  this.scrollData.scrollPercentage = srcElement.scrollTop / srcElement.scrollHeight;
51
58
  this.scrollData.rightPanel.scrollTop = this.scrollData.scrollPercentage * this.scrollData.rightPanel.scrollHeight;
52
59
  });
53
- _defineProperty(this, "onEnterRightPanel", () => {
60
+ (0, _defineProperty2.default)(this, "onEnterRightPanel", () => {
54
61
  this.setState({
55
62
  isMouseInRightSide: true
56
63
  });
57
64
  });
58
- _defineProperty(this, "onLeaveRightPanel", () => {
65
+ (0, _defineProperty2.default)(this, "onLeaveRightPanel", () => {
59
66
  this.setState({
60
67
  isMouseInRightSide: false
61
68
  });
62
69
  });
63
- _defineProperty(this, "onRightScroll", e => {
70
+ (0, _defineProperty2.default)(this, "onRightScroll", e => {
64
71
  const {
65
72
  isMouseInRightSide
66
73
  } = this.state;
@@ -69,11 +76,11 @@ class PlainMarkdownEditor extends React.Component {
69
76
  this.scrollData.scrollPercentage = srcElement.scrollTop / srcElement.scrollHeight;
70
77
  this.scrollData.leftPanel.scrollTop = this.scrollData.scrollPercentage * this.scrollData.leftPanel.scrollHeight;
71
78
  });
72
- _defineProperty(this, "onHotKey", event => {
79
+ (0, _defineProperty2.default)(this, "onHotKey", event => {
73
80
  const {
74
81
  onSave
75
82
  } = this.props;
76
- if (isHotkey('mod+s', event)) {
83
+ if ((0, _isHotkey.default)('mod+s', event)) {
77
84
  event.preventDefault();
78
85
  onSave && onSave(this.state.editorValue);
79
86
  return true;
@@ -101,28 +108,28 @@ class PlainMarkdownEditor extends React.Component {
101
108
  editorValue,
102
109
  previewValue
103
110
  } = this.state;
104
- return /*#__PURE__*/React.createElement("div", {
111
+ return /*#__PURE__*/_react.default.createElement("div", {
105
112
  className: "sf-plain-editor"
106
- }, /*#__PURE__*/React.createElement("div", {
113
+ }, /*#__PURE__*/_react.default.createElement("div", {
107
114
  className: "sf-plain-editor-main d-flex",
108
115
  onKeyDown: this.onHotKey
109
- }, /*#__PURE__*/React.createElement("div", {
116
+ }, /*#__PURE__*/_react.default.createElement("div", {
110
117
  className: "sf-plain-editor-left-panel",
111
118
  onMouseLeave: this.onLeaveLeftPanel,
112
119
  onMouseEnter: this.onEnterLeftPanel,
113
120
  onScroll: this.onLeftScroll
114
- }, /*#__PURE__*/React.createElement(SeafileCodeMirror, {
121
+ }, /*#__PURE__*/_react.default.createElement(_codeMirror.default, {
115
122
  autoFocus: true,
116
123
  initialValue: editorValue,
117
124
  onChange: this.updateCode
118
- })), /*#__PURE__*/React.createElement("div", {
125
+ })), /*#__PURE__*/_react.default.createElement("div", {
119
126
  className: "sf-plain-editor-right-panel",
120
127
  onMouseEnter: this.onEnterRightPanel,
121
128
  onMouseLeave: this.onLeaveRightPanel,
122
129
  onScroll: this.onRightScroll
123
- }, /*#__PURE__*/React.createElement("div", {
130
+ }, /*#__PURE__*/_react.default.createElement("div", {
124
131
  className: "preview"
125
- }, /*#__PURE__*/React.createElement("div", {
132
+ }, /*#__PURE__*/_react.default.createElement("div", {
126
133
  className: "rendered-markdown article",
127
134
  dangerouslySetInnerHTML: {
128
135
  __html: previewValue
@@ -130,4 +137,4 @@ class PlainMarkdownEditor extends React.Component {
130
137
  })))));
131
138
  }
132
139
  }
133
- export default PlainMarkdownEditor;
140
+ var _default = exports.default = PlainMarkdownEditor;
@@ -1,15 +1,23 @@
1
- import React, { useCallback, useState, useMemo, useEffect } from 'react';
2
- import { Editable, Slate } from 'slate-react';
3
- import { Editor } from 'slate';
4
- import { baseEditor, Toolbar, renderElement, renderLeaf, useHighlight, SetNodeToDecorations } from '../../extension';
5
- import EventBus from '../../utils/event-bus';
6
- import EventProxy from '../../utils/event-handler';
7
- import withPropsEditor from './with-props-editor';
8
- import { focusEditor } from '../../extension/core';
9
- import { isMac } from '../../utils/common';
10
- import './style.css';
11
- const isMacOS = isMac();
12
- export default function SimpleSlateEditor(_ref) {
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = SimpleSlateEditor;
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _slateReact = require("slate-react");
11
+ var _slate = require("slate");
12
+ var _extension = require("../../extension");
13
+ var _eventBus = _interopRequireDefault(require("../../utils/event-bus"));
14
+ var _eventHandler = _interopRequireDefault(require("../../utils/event-handler"));
15
+ var _withPropsEditor = _interopRequireDefault(require("./with-props-editor"));
16
+ var _core = require("../../extension/core");
17
+ var _common = require("../../utils/common");
18
+ require("./style.css");
19
+ const isMacOS = (0, _common.isMac)();
20
+ function SimpleSlateEditor(_ref) {
13
21
  let {
14
22
  value,
15
23
  editorApi,
@@ -18,40 +26,40 @@ export default function SimpleSlateEditor(_ref) {
18
26
  onContentChanged,
19
27
  isSupportFormula
20
28
  } = _ref;
21
- const [slateValue, setSlateValue] = useState(value);
22
- const editor = useMemo(() => withPropsEditor(baseEditor, {
29
+ const [slateValue, setSlateValue] = (0, _react.useState)(value);
30
+ const editor = (0, _react.useMemo)(() => (0, _withPropsEditor.default)(_extension.baseEditor, {
23
31
  editorApi,
24
32
  onSave,
25
33
  columns
26
34
  }), [columns, editorApi, onSave]);
27
- const eventProxy = useMemo(() => {
28
- return new EventProxy(editor);
35
+ const eventProxy = (0, _react.useMemo)(() => {
36
+ return new _eventHandler.default(editor);
29
37
  }, [editor]);
30
- const decorate = useHighlight(editor);
31
- const onChange = useCallback(value => {
38
+ const decorate = (0, _extension.useHighlight)(editor);
39
+ const onChange = (0, _react.useCallback)(value => {
32
40
  setSlateValue(value);
33
41
  const operations = editor.operations;
34
42
  const modifyOps = operations.filter(o => o.type !== 'set_selection');
35
43
  if (modifyOps.length > 0) {
36
44
  onContentChanged && onContentChanged(value);
37
45
  }
38
- const eventBus = EventBus.getInstance();
46
+ const eventBus = _eventBus.default.getInstance();
39
47
  eventBus.dispatch('change');
40
48
  }, [editor.operations, onContentChanged]);
41
49
 
42
50
  // useMount: focus editor
43
- useEffect(() => {
51
+ (0, _react.useEffect)(() => {
44
52
  const timer = setTimeout(() => {
45
53
  const [firstNode] = editor.children;
46
54
  if (firstNode) {
47
55
  const [firstNodeFirstChild] = firstNode.children;
48
56
  if (firstNodeFirstChild) {
49
- const endOfFirstNode = Editor.end(editor, [0, 0]);
57
+ const endOfFirstNode = _slate.Editor.end(editor, [0, 0]);
50
58
  const range = {
51
59
  anchor: endOfFirstNode,
52
60
  focus: endOfFirstNode
53
61
  };
54
- focusEditor(editor, range);
62
+ (0, _core.focusEditor)(editor, range);
55
63
  }
56
64
  }
57
65
  }, 300);
@@ -62,34 +70,34 @@ export default function SimpleSlateEditor(_ref) {
62
70
  }, []);
63
71
 
64
72
  // willUnmount
65
- useEffect(() => {
73
+ (0, _react.useEffect)(() => {
66
74
  return () => {
67
75
  editor.selection = null;
68
76
  };
69
77
  // eslint-disable-next-line react-hooks/exhaustive-deps
70
78
  }, []);
71
- return /*#__PURE__*/React.createElement("div", {
79
+ return /*#__PURE__*/_react.default.createElement("div", {
72
80
  className: "sf-simple-slate-editor-container"
73
- }, /*#__PURE__*/React.createElement(Toolbar, {
81
+ }, /*#__PURE__*/_react.default.createElement(_extension.Toolbar, {
74
82
  editor: editor,
75
83
  isSupportFormula: isSupportFormula,
76
84
  isSupportColumn: !!columns
77
- }), /*#__PURE__*/React.createElement("div", {
85
+ }), /*#__PURE__*/_react.default.createElement("div", {
78
86
  className: "sf-slate-editor-content"
79
- }, /*#__PURE__*/React.createElement(Slate, {
87
+ }, /*#__PURE__*/_react.default.createElement(_slateReact.Slate, {
80
88
  editor: editor,
81
89
  initialValue: slateValue,
82
90
  onChange: onChange
83
- }, /*#__PURE__*/React.createElement("div", {
91
+ }, /*#__PURE__*/_react.default.createElement("div", {
84
92
  className: "sf-slate-scroll-container ".concat(isMacOS ? '' : 'isWin')
85
- }, /*#__PURE__*/React.createElement("div", {
93
+ }, /*#__PURE__*/_react.default.createElement("div", {
86
94
  className: "sf-slate-article-container"
87
- }, /*#__PURE__*/React.createElement("div", {
95
+ }, /*#__PURE__*/_react.default.createElement("div", {
88
96
  className: "article"
89
- }, /*#__PURE__*/React.createElement(SetNodeToDecorations, null), /*#__PURE__*/React.createElement(Editable, {
97
+ }, /*#__PURE__*/_react.default.createElement(_extension.SetNodeToDecorations, null), /*#__PURE__*/_react.default.createElement(_slateReact.Editable, {
90
98
  decorate: decorate,
91
- renderElement: renderElement,
92
- renderLeaf: renderLeaf,
99
+ renderElement: _extension.renderElement,
100
+ renderLeaf: _extension.renderLeaf,
93
101
  onKeyDown: eventProxy.onKeyDown,
94
102
  onCopy: eventProxy.onCopy
95
103
  })))))));
@@ -1,3 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
1
7
  const withPropsEditor = function (editor) {
2
8
  let props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
3
9
  let newEditor = editor;
@@ -12,4 +18,4 @@ const withPropsEditor = function (editor) {
12
18
  }
13
19
  return newEditor;
14
20
  };
15
- export default withPropsEditor;
21
+ var _default = exports.default = withPropsEditor;
@@ -1,40 +1,48 @@
1
- import React, { useCallback, useEffect, useState } from 'react';
2
- import classNames from 'classnames';
3
- import EventBus from '../../../utils/event-bus';
4
- import { EXTERNAL_EVENTS, INTERNAL_EVENTS } from '../../../constants/event-types';
5
- import HotKeysHelper from '../../../containers/hotkeys-helper';
6
- import ArticleInfo from '../../../containers/article-info';
7
- import './style.css';
8
- export default function EditorHelp(_ref) {
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = EditorHelp;
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _classnames = _interopRequireDefault(require("classnames"));
11
+ var _eventBus = _interopRequireDefault(require("../../../utils/event-bus"));
12
+ var _eventTypes = require("../../../constants/event-types");
13
+ var _hotkeysHelper = _interopRequireDefault(require("../../../containers/hotkeys-helper"));
14
+ var _articleInfo = _interopRequireDefault(require("../../../containers/article-info"));
15
+ require("./style.css");
16
+ function EditorHelp(_ref) {
9
17
  let {
10
18
  children
11
19
  } = _ref;
12
- const [isShowHelpInfo, setIsShowHelpInfo] = useState(false);
13
- const [isShowArticleInfo, setIsShowArticleInfo] = useState(false);
14
- const updateArticleInfoState = useCallback(state => {
20
+ const [isShowHelpInfo, setIsShowHelpInfo] = (0, _react.useState)(false);
21
+ const [isShowArticleInfo, setIsShowArticleInfo] = (0, _react.useState)(false);
22
+ const updateArticleInfoState = (0, _react.useCallback)(state => {
15
23
  setIsShowArticleInfo(state);
16
24
  setIsShowHelpInfo(false);
17
25
  }, []);
18
- const updateHelpInfoState = useCallback(state => {
26
+ const updateHelpInfoState = (0, _react.useCallback)(state => {
19
27
  setIsShowHelpInfo(state);
20
28
  setIsShowArticleInfo(false);
21
29
  }, []);
22
- useEffect(() => {
23
- const eventBus = EventBus.getInstance();
24
- const unsubscribeArticleInfo = eventBus.subscribe(INTERNAL_EVENTS.ON_ARTICLE_INFO_TOGGLE, updateArticleInfoState);
25
- const unsubscribeHelpInfo = eventBus.subscribe(EXTERNAL_EVENTS.ON_HELP_INFO_TOGGLE, updateHelpInfoState);
30
+ (0, _react.useEffect)(() => {
31
+ const eventBus = _eventBus.default.getInstance();
32
+ const unsubscribeArticleInfo = eventBus.subscribe(_eventTypes.INTERNAL_EVENTS.ON_ARTICLE_INFO_TOGGLE, updateArticleInfoState);
33
+ const unsubscribeHelpInfo = eventBus.subscribe(_eventTypes.EXTERNAL_EVENTS.ON_HELP_INFO_TOGGLE, updateHelpInfoState);
26
34
  return () => {
27
35
  unsubscribeHelpInfo();
28
36
  unsubscribeArticleInfo();
29
37
  };
30
38
  // eslint-disable-next-line react-hooks/exhaustive-deps
31
39
  }, []);
32
- const containerClass = classNames('sf-markdown-help-wrapper', {
40
+ const containerClass = (0, _classnames.default)('sf-markdown-help-wrapper', {
33
41
  'active': isShowArticleInfo || isShowHelpInfo
34
42
  });
35
- return /*#__PURE__*/React.createElement("div", {
43
+ return /*#__PURE__*/_react.default.createElement("div", {
36
44
  className: containerClass
37
- }, isShowArticleInfo && /*#__PURE__*/React.createElement(ArticleInfo, {
45
+ }, isShowArticleInfo && /*#__PURE__*/_react.default.createElement(_articleInfo.default, {
38
46
  children: children
39
- }), isShowHelpInfo && /*#__PURE__*/React.createElement(HotKeysHelper, null));
47
+ }), isShowHelpInfo && /*#__PURE__*/_react.default.createElement(_hotkeysHelper.default, null));
40
48
  }
@@ -1,18 +1,26 @@
1
- import React, { useCallback, useState, useMemo, useEffect, useRef } from 'react';
2
- import { Editable, Slate } from 'slate-react';
3
- import { Editor } from 'slate';
4
- import { baseEditor, Toolbar, renderElement, renderLeaf, useHighlight, SetNodeToDecorations } from '../../extension';
5
- import EventBus from '../../utils/event-bus';
6
- import EventProxy from '../../utils/event-handler';
7
- import withPropsEditor from './with-props-editor';
8
- import EditorHelp from './editor-help';
9
- import { focusEditor } from '../../extension/core';
10
- import { ScrollContext } from '../../hooks/use-scroll-context';
11
- import useSeafileUtils from '../../hooks/use-insert-image';
12
- import { isMac } from '../../utils/common';
13
- import './style.css';
14
- const isMacOS = isMac();
15
- export default function SlateEditor(_ref) {
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = SlateEditor;
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _slateReact = require("slate-react");
11
+ var _slate = require("slate");
12
+ var _extension = require("../../extension");
13
+ var _eventBus = _interopRequireDefault(require("../../utils/event-bus"));
14
+ var _eventHandler = _interopRequireDefault(require("../../utils/event-handler"));
15
+ var _withPropsEditor = _interopRequireDefault(require("./with-props-editor"));
16
+ var _editorHelp = _interopRequireDefault(require("./editor-help"));
17
+ var _core = require("../../extension/core");
18
+ var _useScrollContext = require("../../hooks/use-scroll-context");
19
+ var _useInsertImage = _interopRequireDefault(require("../../hooks/use-insert-image"));
20
+ var _common = require("../../utils/common");
21
+ require("./style.css");
22
+ const isMacOS = (0, _common.isMac)();
23
+ function SlateEditor(_ref) {
16
24
  let {
17
25
  value,
18
26
  editorApi,
@@ -22,41 +30,41 @@ export default function SlateEditor(_ref) {
22
30
  isSupportInsertSeafileImage,
23
31
  children
24
32
  } = _ref;
25
- const [slateValue, setSlateValue] = useState(value);
26
- const scrollRef = useRef(null);
27
- const editor = useMemo(() => withPropsEditor(baseEditor, {
33
+ const [slateValue, setSlateValue] = (0, _react.useState)(value);
34
+ const scrollRef = (0, _react.useRef)(null);
35
+ const editor = (0, _react.useMemo)(() => (0, _withPropsEditor.default)(_extension.baseEditor, {
28
36
  editorApi,
29
37
  onSave
30
38
  }), [editorApi, onSave]);
31
- const eventProxy = useMemo(() => {
32
- return new EventProxy(editor);
39
+ const eventProxy = (0, _react.useMemo)(() => {
40
+ return new _eventHandler.default(editor);
33
41
  }, [editor]);
34
- useSeafileUtils(editor);
35
- const decorate = useHighlight(editor);
36
- const onChange = useCallback(value => {
42
+ (0, _useInsertImage.default)(editor);
43
+ const decorate = (0, _extension.useHighlight)(editor);
44
+ const onChange = (0, _react.useCallback)(value => {
37
45
  setSlateValue(value);
38
46
  const operations = editor.operations;
39
47
  const modifyOps = operations.filter(o => o.type !== 'set_selection');
40
48
  if (modifyOps.length > 0) {
41
49
  onContentChanged && onContentChanged(value);
42
50
  }
43
- const eventBus = EventBus.getInstance();
51
+ const eventBus = _eventBus.default.getInstance();
44
52
  eventBus.dispatch('change');
45
53
  }, [editor.operations, onContentChanged]);
46
54
 
47
55
  // useMount: focus editor
48
- useEffect(() => {
56
+ (0, _react.useEffect)(() => {
49
57
  const timer = setTimeout(() => {
50
58
  const [firstNode] = editor.children;
51
59
  if (firstNode) {
52
60
  const [firstNodeFirstChild] = firstNode.children;
53
61
  if (firstNodeFirstChild) {
54
- const endOfFirstNode = Editor.end(editor, [0, 0]);
62
+ const endOfFirstNode = _slate.Editor.end(editor, [0, 0]);
55
63
  const range = {
56
64
  anchor: endOfFirstNode,
57
65
  focus: endOfFirstNode
58
66
  };
59
- focusEditor(editor, range);
67
+ (0, _core.focusEditor)(editor, range);
60
68
  }
61
69
  }
62
70
  }, 300);
@@ -67,43 +75,43 @@ export default function SlateEditor(_ref) {
67
75
  }, []);
68
76
 
69
77
  // willUnmount
70
- useEffect(() => {
78
+ (0, _react.useEffect)(() => {
71
79
  return () => {
72
80
  editor.selection = null;
73
81
  };
74
82
  // eslint-disable-next-line react-hooks/exhaustive-deps
75
83
  }, []);
76
- return /*#__PURE__*/React.createElement("div", {
84
+ return /*#__PURE__*/_react.default.createElement("div", {
77
85
  className: "sf-slate-editor-container"
78
- }, /*#__PURE__*/React.createElement(Toolbar, {
86
+ }, /*#__PURE__*/_react.default.createElement(_extension.Toolbar, {
79
87
  editor: editor,
80
88
  isRichEditor: true,
81
89
  isSupportFormula: isSupportFormula,
82
90
  isSupportInsertSeafileImage: isSupportInsertSeafileImage
83
- }), /*#__PURE__*/React.createElement("div", {
91
+ }), /*#__PURE__*/_react.default.createElement("div", {
84
92
  className: "sf-slate-editor-content"
85
- }, /*#__PURE__*/React.createElement(ScrollContext.Provider, {
93
+ }, /*#__PURE__*/_react.default.createElement(_useScrollContext.ScrollContext.Provider, {
86
94
  value: {
87
95
  scrollRef
88
96
  }
89
- }, /*#__PURE__*/React.createElement(Slate, {
97
+ }, /*#__PURE__*/_react.default.createElement(_slateReact.Slate, {
90
98
  editor: editor,
91
99
  initialValue: slateValue,
92
100
  onChange: onChange
93
- }, /*#__PURE__*/React.createElement("div", {
101
+ }, /*#__PURE__*/_react.default.createElement("div", {
94
102
  ref: scrollRef,
95
103
  className: "sf-slate-scroll-container ".concat(isMacOS ? '' : 'isWin')
96
- }, /*#__PURE__*/React.createElement("div", {
104
+ }, /*#__PURE__*/_react.default.createElement("div", {
97
105
  className: "sf-slate-article-container"
98
- }, /*#__PURE__*/React.createElement("div", {
106
+ }, /*#__PURE__*/_react.default.createElement("div", {
99
107
  className: "article"
100
- }, /*#__PURE__*/React.createElement(SetNodeToDecorations, null), /*#__PURE__*/React.createElement(Editable, {
108
+ }, /*#__PURE__*/_react.default.createElement(_extension.SetNodeToDecorations, null), /*#__PURE__*/_react.default.createElement(_slateReact.Editable, {
101
109
  decorate: decorate,
102
- renderElement: renderElement,
103
- renderLeaf: renderLeaf,
110
+ renderElement: _extension.renderElement,
111
+ renderLeaf: _extension.renderLeaf,
104
112
  onKeyDown: eventProxy.onKeyDown,
105
113
  onCopy: eventProxy.onCopy
106
- })))), /*#__PURE__*/React.createElement(EditorHelp, {
114
+ })))), /*#__PURE__*/_react.default.createElement(_editorHelp.default, {
107
115
  children: children
108
116
  })))));
109
117
  }
@@ -1,3 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
1
7
  const withPropsEditor = function (editor) {
2
8
  let props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
3
9
  const newEditor = editor;
@@ -9,4 +15,4 @@ const withPropsEditor = function (editor) {
9
15
  }
10
16
  return newEditor;
11
17
  };
12
- export default withPropsEditor;
18
+ var _default = exports.default = withPropsEditor;
@@ -1,56 +1,64 @@
1
- import React, { useEffect, useMemo, useRef } from 'react';
2
- import { SetNodeToDecorations, createSlateEditor, renderElement, renderLeaf, useHighlight } from '../../extension';
3
- import { Editable, Slate } from 'slate-react';
4
- import Outline from '../../containers/outline';
5
- import { ScrollContext } from '../../hooks/use-scroll-context';
6
- import useLinkClick from '../../hooks/user-link-click';
7
- import { isMac } from '../../utils/common';
8
- import './style.css';
9
- const isMacOS = isMac();
10
- export default function SlateViewer(_ref) {
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = SlateViewer;
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _extension = require("../../extension");
11
+ var _slateReact = require("slate-react");
12
+ var _outline = _interopRequireDefault(require("../../containers/outline"));
13
+ var _useScrollContext = require("../../hooks/use-scroll-context");
14
+ var _userLinkClick = _interopRequireDefault(require("../../hooks/user-link-click"));
15
+ var _common = require("../../utils/common");
16
+ require("./style.css");
17
+ const isMacOS = (0, _common.isMac)();
18
+ function SlateViewer(_ref) {
11
19
  let {
12
20
  value,
13
21
  isShowOutline,
14
22
  scrollRef: externalScrollRef,
15
23
  onLinkClick
16
24
  } = _ref;
17
- const scrollRef = useRef(null);
18
- const editor = useMemo(() => {
19
- return createSlateEditor();
25
+ const scrollRef = (0, _react.useRef)(null);
26
+ const editor = (0, _react.useMemo)(() => {
27
+ return (0, _extension.createSlateEditor)();
20
28
  }, []);
21
29
  const containerScrollRef = externalScrollRef ? externalScrollRef : scrollRef;
22
- const decorate = useHighlight(editor);
23
- useLinkClick(onLinkClick);
30
+ const decorate = (0, _extension.useHighlight)(editor);
31
+ (0, _userLinkClick.default)(onLinkClick);
24
32
 
25
33
  // willUnmount
26
- useEffect(() => {
34
+ (0, _react.useEffect)(() => {
27
35
  return () => {
28
36
  editor.selection = null;
29
37
  };
30
38
  // eslint-disable-next-line react-hooks/exhaustive-deps
31
39
  }, []);
32
- return /*#__PURE__*/React.createElement(Slate, {
40
+ return /*#__PURE__*/_react.default.createElement(_slateReact.Slate, {
33
41
  editor: editor,
34
42
  initialValue: value
35
- }, /*#__PURE__*/React.createElement(ScrollContext.Provider, {
43
+ }, /*#__PURE__*/_react.default.createElement(_useScrollContext.ScrollContext.Provider, {
36
44
  value: {
37
45
  scrollRef: containerScrollRef
38
46
  }
39
- }, /*#__PURE__*/React.createElement("div", {
47
+ }, /*#__PURE__*/_react.default.createElement("div", {
40
48
  ref: scrollRef,
41
49
  className: "sf-slate-viewer-scroll-container ".concat(isMacOS ? '' : 'isWin', " ").concat(isShowOutline ? 'outline' : '')
42
- }, /*#__PURE__*/React.createElement("div", {
50
+ }, /*#__PURE__*/_react.default.createElement("div", {
43
51
  className: "sf-slate-viewer-article-container"
44
- }, /*#__PURE__*/React.createElement("div", {
52
+ }, /*#__PURE__*/_react.default.createElement("div", {
45
53
  className: "article"
46
- }, /*#__PURE__*/React.createElement(SetNodeToDecorations, null), /*#__PURE__*/React.createElement(Editable, {
54
+ }, /*#__PURE__*/_react.default.createElement(_extension.SetNodeToDecorations, null), /*#__PURE__*/_react.default.createElement(_slateReact.Editable, {
47
55
  readOnly: true,
48
56
  decorate: decorate,
49
- renderElement: renderElement,
50
- renderLeaf: renderLeaf
51
- }))), isShowOutline && /*#__PURE__*/React.createElement("div", {
57
+ renderElement: _extension.renderElement,
58
+ renderLeaf: _extension.renderLeaf
59
+ }))), isShowOutline && /*#__PURE__*/_react.default.createElement("div", {
52
60
  className: "sf-slate-viewer-outline"
53
- }, /*#__PURE__*/React.createElement(Outline, {
61
+ }, /*#__PURE__*/_react.default.createElement(_outline.default, {
54
62
  editor: editor
55
63
  })))));
56
64
  }