@seafile/seafile-editor 1.0.2 → 1.0.4

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 (172) hide show
  1. package/dist/constants/event-types.js +2 -8
  2. package/dist/constants/hot-keys.js +1 -7
  3. package/dist/containers/article-info/index.js +24 -34
  4. package/dist/containers/custom/get-event-transfer.js +10 -16
  5. package/dist/containers/custom/set-event-transfer.js +10 -16
  6. package/dist/containers/hotkeys-helper/classify-hotkeys.js +20 -25
  7. package/dist/containers/hotkeys-helper/index.js +32 -35
  8. package/dist/containers/loading/index.js +11 -32
  9. package/dist/containers/outline/index.js +41 -51
  10. package/dist/containers/outline/outline-item.js +15 -21
  11. package/dist/editors/plain-markdown-editor/code-mirror.js +51 -75
  12. package/dist/editors/plain-markdown-editor/index.js +90 -107
  13. package/dist/editors/simple-slate-editor /index.js +43 -57
  14. package/dist/editors/simple-slate-editor /with-props-editor.js +4 -10
  15. package/dist/editors/slate-editor/editor-help/index.js +24 -37
  16. package/dist/editors/slate-editor/index.js +50 -64
  17. package/dist/editors/slate-editor/with-props-editor.js +4 -10
  18. package/dist/editors/slate-viewer/index.js +25 -31
  19. package/dist/extension/commons/element-popover/index.js +30 -55
  20. package/dist/extension/commons/index.js +3 -26
  21. package/dist/extension/commons/menu/index.js +4 -21
  22. package/dist/extension/commons/menu/menu-drop-down.js +50 -63
  23. package/dist/extension/commons/menu/menu-group.js +4 -11
  24. package/dist/extension/commons/menu/menu-item.js +25 -30
  25. package/dist/extension/commons/tooltip/index.js +14 -19
  26. package/dist/extension/constants/element-types.js +22 -28
  27. package/dist/extension/constants/index.js +15 -37
  28. package/dist/extension/constants/keyboard.js +3 -9
  29. package/dist/extension/constants/menus-config.js +118 -105
  30. package/dist/extension/core/index.js +3 -38
  31. package/dist/extension/core/queries/index.js +209 -304
  32. package/dist/extension/core/transforms/focus-editor.js +7 -13
  33. package/dist/extension/core/transforms/index.js +4 -49
  34. package/dist/extension/core/transforms/move-children.js +18 -25
  35. package/dist/extension/core/transforms/remove-node-children.js +8 -27
  36. package/dist/extension/core/transforms/replace-node-children.js +14 -19
  37. package/dist/extension/core/utils/index.js +36 -44
  38. package/dist/extension/editor.js +8 -15
  39. package/dist/extension/index.js +7 -48
  40. package/dist/extension/plugins/blockquote/helpers.js +38 -57
  41. package/dist/extension/plugins/blockquote/index.js +8 -15
  42. package/dist/extension/plugins/blockquote/menu/index.js +20 -25
  43. package/dist/extension/plugins/blockquote/plugin.js +35 -41
  44. package/dist/extension/plugins/blockquote/render-elem.js +9 -14
  45. package/dist/extension/plugins/check-list/helper.js +14 -24
  46. package/dist/extension/plugins/check-list/index.js +10 -17
  47. package/dist/extension/plugins/check-list/menu/index.js +21 -29
  48. package/dist/extension/plugins/check-list/plugin.js +24 -26
  49. package/dist/extension/plugins/check-list/render-elem.js +22 -28
  50. package/dist/extension/plugins/clear-format/helpers.js +25 -47
  51. package/dist/extension/plugins/clear-format/menu/index.js +22 -29
  52. package/dist/extension/plugins/code-block/helpers.js +74 -126
  53. package/dist/extension/plugins/code-block/index.js +10 -18
  54. package/dist/extension/plugins/code-block/menu/index.js +20 -27
  55. package/dist/extension/plugins/code-block/plugin.js +123 -144
  56. package/dist/extension/plugins/code-block/render-elem/constant.js +15 -11
  57. package/dist/extension/plugins/code-block/render-elem/index.js +30 -39
  58. package/dist/extension/plugins/code-block/render-elem/language-selector.js +19 -27
  59. package/dist/extension/plugins/formula/helper.js +39 -45
  60. package/dist/extension/plugins/formula/index.js +10 -17
  61. package/dist/extension/plugins/formula/menu/formula-modal.js +37 -52
  62. package/dist/extension/plugins/formula/menu/index.js +34 -50
  63. package/dist/extension/plugins/formula/plugin.js +12 -14
  64. package/dist/extension/plugins/formula/render-elem.js +27 -33
  65. package/dist/extension/plugins/header/helper.js +35 -48
  66. package/dist/extension/plugins/header/index.js +10 -17
  67. package/dist/extension/plugins/header/menu/index.js +52 -66
  68. package/dist/extension/plugins/header/plugin.js +72 -83
  69. package/dist/extension/plugins/header/render-elem.js +15 -20
  70. package/dist/extension/plugins/image/helper.js +28 -37
  71. package/dist/extension/plugins/image/index.js +10 -17
  72. package/dist/extension/plugins/image/menu/image-menu-dialog.js +31 -42
  73. package/dist/extension/plugins/image/menu/image-menu-popover.js +35 -67
  74. package/dist/extension/plugins/image/menu/index.js +24 -34
  75. package/dist/extension/plugins/image/plugin.js +18 -18
  76. package/dist/extension/plugins/image/render-element/image-previewer.js +32 -42
  77. package/dist/extension/plugins/image/render-element/index.js +58 -74
  78. package/dist/extension/plugins/index.js +18 -94
  79. package/dist/extension/plugins/link/helper.js +102 -139
  80. package/dist/extension/plugins/link/index.js +10 -17
  81. package/dist/extension/plugins/link/menu/index.js +46 -62
  82. package/dist/extension/plugins/link/menu/link-modal.js +67 -87
  83. package/dist/extension/plugins/link/plugin.js +52 -56
  84. package/dist/extension/plugins/link/render-elem/index.js +39 -54
  85. package/dist/extension/plugins/link/render-elem/link-popover.js +38 -42
  86. package/dist/extension/plugins/list/constant.js +2 -8
  87. package/dist/extension/plugins/list/helpers.js +40 -54
  88. package/dist/extension/plugins/list/index.js +10 -17
  89. package/dist/extension/plugins/list/menu/index.js +23 -33
  90. package/dist/extension/plugins/list/plugin/index.js +28 -31
  91. package/dist/extension/plugins/list/plugin/insert-break-list.js +9 -15
  92. package/dist/extension/plugins/list/plugin/insert-fragment-list.js +86 -109
  93. package/dist/extension/plugins/list/plugin/normalize-list.js +31 -42
  94. package/dist/extension/plugins/list/plugin/on-tab-handle.js +35 -34
  95. package/dist/extension/plugins/list/queries/index.js +22 -30
  96. package/dist/extension/plugins/list/render-elem/index.js +27 -27
  97. package/dist/extension/plugins/list/transforms/index.js +11 -75
  98. package/dist/extension/plugins/list/transforms/insert-list-item.js +38 -47
  99. package/dist/extension/plugins/list/transforms/move-list-item-down.js +22 -32
  100. package/dist/extension/plugins/list/transforms/move-list-item-up.js +45 -56
  101. package/dist/extension/plugins/list/transforms/move-list-items-to-list.js +25 -31
  102. package/dist/extension/plugins/list/transforms/move-list-items.js +37 -44
  103. package/dist/extension/plugins/list/transforms/normalize-list-item.js +57 -81
  104. package/dist/extension/plugins/list/transforms/normalize-nested-list.js +17 -26
  105. package/dist/extension/plugins/list/transforms/remove-first-list-item.js +12 -19
  106. package/dist/extension/plugins/list/transforms/transforms-to-list.js +60 -84
  107. package/dist/extension/plugins/list/transforms/unwrap-list.js +20 -29
  108. package/dist/extension/plugins/node-id/constants.js +9 -15
  109. package/dist/extension/plugins/node-id/helpers.js +33 -35
  110. package/dist/extension/plugins/node-id/index.js +4 -11
  111. package/dist/extension/plugins/node-id/with-node-id.js +18 -26
  112. package/dist/extension/plugins/paragraph/helper.js +7 -13
  113. package/dist/extension/plugins/paragraph/index.js +8 -15
  114. package/dist/extension/plugins/paragraph/plugin.js +25 -27
  115. package/dist/extension/plugins/paragraph/render-elem.js +9 -14
  116. package/dist/extension/plugins/table/constant.js +3 -9
  117. package/dist/extension/plugins/table/helper.js +133 -154
  118. package/dist/extension/plugins/table/index.js +11 -19
  119. package/dist/extension/plugins/table/menu/index.js +26 -38
  120. package/dist/extension/plugins/table/menu/table-operator.js +62 -77
  121. package/dist/extension/plugins/table/menu/table-size-selector.js +41 -62
  122. package/dist/extension/plugins/table/model.js +39 -41
  123. package/dist/extension/plugins/table/plugin.js +95 -102
  124. package/dist/extension/plugins/table/render-elem/context-menu.js +42 -65
  125. package/dist/extension/plugins/table/render-elem/index.js +85 -93
  126. package/dist/extension/plugins/table/table-operations.js +101 -118
  127. package/dist/extension/plugins/text-style/helpers.js +18 -28
  128. package/dist/extension/plugins/text-style/index.js +8 -15
  129. package/dist/extension/plugins/text-style/menu/index.js +19 -25
  130. package/dist/extension/plugins/text-style/plugin.js +16 -21
  131. package/dist/extension/plugins/text-style/render-elem.js +28 -33
  132. package/dist/extension/render/render-element.js +26 -47
  133. package/dist/extension/render/render-leaf.js +9 -18
  134. package/dist/extension/toolbar/header-toolbar/index.js +66 -84
  135. package/dist/extension/toolbar/index.js +2 -13
  136. package/dist/extension/toolbar/user-help/shortcut-dialog.js +108 -131
  137. package/dist/hooks/use-mathjax.js +9 -20
  138. package/dist/hooks/use-scroll-context.js +7 -12
  139. package/dist/hooks/use-selection-update.js +9 -21
  140. package/dist/index.js +9 -80
  141. package/dist/pages/markdown-editor.js +30 -43
  142. package/dist/pages/markdown-view.js +25 -37
  143. package/dist/pages/rich-markdown-editor.js +54 -67
  144. package/dist/pages/simple-editor.js +29 -42
  145. package/dist/slate-convert/html-to-slate/constants.js +26 -32
  146. package/dist/slate-convert/html-to-slate/helper.js +1 -7
  147. package/dist/slate-convert/html-to-slate/index.js +44 -51
  148. package/dist/slate-convert/html-to-slate/rules/blockquote.js +10 -15
  149. package/dist/slate-convert/html-to-slate/rules/check-list.js +10 -15
  150. package/dist/slate-convert/html-to-slate/rules/code-block.js +40 -51
  151. package/dist/slate-convert/html-to-slate/rules/header.js +11 -16
  152. package/dist/slate-convert/html-to-slate/rules/image.js +10 -15
  153. package/dist/slate-convert/html-to-slate/rules/index.js +11 -18
  154. package/dist/slate-convert/html-to-slate/rules/link.js +11 -16
  155. package/dist/slate-convert/html-to-slate/rules/list.js +21 -26
  156. package/dist/slate-convert/html-to-slate/rules/paragraph.js +10 -15
  157. package/dist/slate-convert/html-to-slate/rules/table.js +14 -19
  158. package/dist/slate-convert/html-to-slate/rules/text.js +14 -19
  159. package/dist/slate-convert/index.js +8 -34
  160. package/dist/slate-convert/md-to-html/index.js +26 -31
  161. package/dist/slate-convert/md-to-html/sanitize-schema.js +5 -12
  162. package/dist/slate-convert/md-to-slate/index.js +17 -23
  163. package/dist/slate-convert/md-to-slate/transform.js +183 -175
  164. package/dist/slate-convert/slate-to-md/index.js +14 -20
  165. package/dist/slate-convert/slate-to-md/transform.js +76 -87
  166. package/dist/utils/common.js +8 -15
  167. package/dist/utils/deserialize-html.js +118 -166
  168. package/dist/utils/dom-utils.js +18 -22
  169. package/dist/utils/event-bus.js +27 -47
  170. package/dist/utils/event-handler.js +29 -38
  171. package/dist/utils/object-utils.js +39 -62
  172. package/package.json +5 -4
@@ -1,17 +1,11 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.focusEditor = void 0;
7
- var _slate = require("slate");
8
- var _slateReact = require("slate-react");
9
- var focusEditor = exports.focusEditor = function focusEditor(editor, target) {
1
+ import { Editor, Transforms } from 'slate';
2
+ import { ReactEditor } from 'slate-react';
3
+ export const focusEditor = (editor, target) => {
10
4
  if (target) {
11
- _slate.Editor.withoutNormalizing(editor, function () {
12
- _slate.Transforms.deselect(editor);
13
- _slate.Transforms.select(editor, target);
5
+ Editor.withoutNormalizing(editor, () => {
6
+ Transforms.deselect(editor);
7
+ Transforms.select(editor, target);
14
8
  });
15
9
  }
16
- _slateReact.ReactEditor.focus(editor);
10
+ ReactEditor.focus(editor);
17
11
  };
@@ -1,49 +1,4 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _moveChildren = require("./move-children");
7
- Object.keys(_moveChildren).forEach(function (key) {
8
- if (key === "default" || key === "__esModule") return;
9
- if (key in exports && exports[key] === _moveChildren[key]) return;
10
- Object.defineProperty(exports, key, {
11
- enumerable: true,
12
- get: function get() {
13
- return _moveChildren[key];
14
- }
15
- });
16
- });
17
- var _removeNodeChildren = require("./remove-node-children");
18
- Object.keys(_removeNodeChildren).forEach(function (key) {
19
- if (key === "default" || key === "__esModule") return;
20
- if (key in exports && exports[key] === _removeNodeChildren[key]) return;
21
- Object.defineProperty(exports, key, {
22
- enumerable: true,
23
- get: function get() {
24
- return _removeNodeChildren[key];
25
- }
26
- });
27
- });
28
- var _focusEditor = require("./focus-editor");
29
- Object.keys(_focusEditor).forEach(function (key) {
30
- if (key === "default" || key === "__esModule") return;
31
- if (key in exports && exports[key] === _focusEditor[key]) return;
32
- Object.defineProperty(exports, key, {
33
- enumerable: true,
34
- get: function get() {
35
- return _focusEditor[key];
36
- }
37
- });
38
- });
39
- var _replaceNodeChildren = require("./replace-node-children");
40
- Object.keys(_replaceNodeChildren).forEach(function (key) {
41
- if (key === "default" || key === "__esModule") return;
42
- if (key in exports && exports[key] === _replaceNodeChildren[key]) return;
43
- Object.defineProperty(exports, key, {
44
- enumerable: true,
45
- get: function get() {
46
- return _replaceNodeChildren[key];
47
- }
48
- });
49
- });
1
+ export * from './move-children';
2
+ export * from './remove-node-children';
3
+ export * from './focus-editor';
4
+ export * from './replace-node-children';
@@ -1,32 +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.moveChildren = void 0;
8
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
9
- var _slate = require("slate");
10
- var _queries = require("../queries");
11
- var moveChildren = exports.moveChildren = function moveChildren(editor, _ref) {
12
- var at = _ref.at,
13
- to = _ref.to,
14
- match = _ref.match,
15
- _ref$fromStartIndex = _ref.fromStartIndex,
16
- fromStartIndex = _ref$fromStartIndex === void 0 ? 0 : _ref$fromStartIndex;
17
- var moved = 0;
18
- var parentPath = _slate.Path.isPath(at) ? at : at[1];
19
- var parentNode = _slate.Path.isPath(at) ? (0, _queries.getNode)(editor, parentPath) : at[0];
1
+ import { Editor, Path, Transforms } from 'slate';
2
+ import { getNode } from '../queries';
3
+ export const moveChildren = (editor, _ref) => {
4
+ let {
5
+ at,
6
+ to,
7
+ match,
8
+ fromStartIndex = 0
9
+ } = _ref;
10
+ let moved = 0;
11
+ const parentPath = Path.isPath(at) ? at : at[1];
12
+ const parentNode = Path.isPath(at) ? getNode(editor, parentPath) : at[0];
20
13
  if (!parentNode) return moved;
21
14
  // There have none children in a not block element
22
- if (!_slate.Editor.isBlock(editor, parentNode)) return moved;
23
- for (var i = parentNode.children.length - 1; i >= fromStartIndex; i--) {
24
- var childPath = [].concat((0, _toConsumableArray2.default)(parentPath), [i]);
25
- var childNode = (0, _queries.getNode)(editor, childPath);
15
+ if (!Editor.isBlock(editor, parentNode)) return moved;
16
+ for (let i = parentNode.children.length - 1; i >= fromStartIndex; i--) {
17
+ const childPath = [...parentPath, i];
18
+ const childNode = getNode(editor, childPath);
26
19
  if (!match || childNode && match([childNode, childPath])) {
27
- _slate.Transforms.moveNodes(editor, {
20
+ Transforms.moveNodes(editor, {
28
21
  at: childPath,
29
- to: to
22
+ to
30
23
  });
31
24
  moved++;
32
25
  }
@@ -1,31 +1,12 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.removeNodeChildren = void 0;
8
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
9
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
10
- var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createForOfIteratorHelper"));
11
- var _slate = require("slate");
12
- var removeNodeChildren = exports.removeNodeChildren = function removeNodeChildren(editor, path, options) {
13
- var nodeChildren = _slate.Node.children(editor, path, {
1
+ import { Transforms, Node } from 'slate';
2
+ export const removeNodeChildren = (editor, path, options) => {
3
+ const nodeChildren = Node.children(editor, path, {
14
4
  reverse: true
15
5
  });
16
- var _iterator = (0, _createForOfIteratorHelper2.default)(nodeChildren),
17
- _step;
18
- try {
19
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
20
- var _step$value = (0, _slicedToArray2.default)(_step.value, 2),
21
- childPath = _step$value[1];
22
- _slate.Transforms.removeNodes(editor, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, options), {}, {
23
- at: childPath
24
- }));
25
- }
26
- } catch (err) {
27
- _iterator.e(err);
28
- } finally {
29
- _iterator.f();
6
+ for (const [, childPath] of nodeChildren) {
7
+ Transforms.removeNodes(editor, {
8
+ ...options,
9
+ at: childPath
10
+ });
30
11
  }
31
12
  };
@@ -1,22 +1,17 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.replaceNodeChildren = void 0;
8
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
9
- var _slate = require("slate");
10
- var _removeNodeChildren = require("./remove-node-children");
11
- var replaceNodeChildren = exports.replaceNodeChildren = function replaceNodeChildren(editor, _ref) {
12
- var at = _ref.at,
13
- nodes = _ref.nodes,
14
- insertOptions = _ref.insertOptions,
15
- removeOptions = _ref.removeOptions;
16
- _slate.Editor.withoutNormalizing(editor, function () {
17
- (0, _removeNodeChildren.removeNodeChildren)(editor, at, removeOptions);
18
- _slate.Transforms.insertNodes(editor, nodes, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, insertOptions), {}, {
1
+ import { Editor, Transforms } from 'slate';
2
+ import { removeNodeChildren } from './remove-node-children';
3
+ export const replaceNodeChildren = (editor, _ref) => {
4
+ let {
5
+ at,
6
+ nodes,
7
+ insertOptions,
8
+ removeOptions
9
+ } = _ref;
10
+ Editor.withoutNormalizing(editor, () => {
11
+ removeNodeChildren(editor, at, removeOptions);
12
+ Transforms.insertNodes(editor, nodes, {
13
+ ...insertOptions,
19
14
  at: at.concat([0])
20
- }));
15
+ });
21
16
  });
22
17
  };
@@ -1,22 +1,11 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.match = exports.isEmptyParagraph = exports.generateEmptyElement = exports.generateElement = exports.generateDefaultText = exports.generateDefaultParagraph = exports.Placeholder = void 0;
8
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
9
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
10
- var _slugid = _interopRequireDefault(require("slugid"));
11
- var _reactI18next = require("react-i18next");
12
- var _elementTypes = require("../../constants/element-types");
13
- var match = exports.match = function match(node, path, predicate) {
1
+ import slugid from 'slugid';
2
+ import { useTranslation } from 'react-i18next';
3
+ import { PARAGRAPH } from '../../constants/element-types';
4
+ export const match = (node, path, predicate) => {
14
5
  if (!predicate) return true;
15
6
  if (typeof predicate === 'object') {
16
- return Object.entries(predicate).every(function (_ref) {
17
- var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
18
- key = _ref2[0],
19
- value = _ref2[1];
7
+ return Object.entries(predicate).every(_ref => {
8
+ let [key, value] = _ref;
20
9
  if (value && !Array.isArray(value)) {
21
10
  return node[key] === value;
22
11
  }
@@ -26,23 +15,23 @@ var match = exports.match = function match(node, path, predicate) {
26
15
  }
27
16
  return predicate(node, path);
28
17
  };
29
- var generateDefaultText = exports.generateDefaultText = function generateDefaultText() {
18
+ export const generateDefaultText = () => {
30
19
  return {
31
- id: _slugid.default.nice(),
20
+ id: slugid.nice(),
32
21
  text: ''
33
22
  };
34
23
  };
35
- var generateDefaultParagraph = exports.generateDefaultParagraph = function generateDefaultParagraph() {
24
+ export const generateDefaultParagraph = () => {
36
25
  return {
37
- id: _slugid.default.nice(),
38
- type: _elementTypes.PARAGRAPH,
26
+ id: slugid.nice(),
27
+ type: PARAGRAPH,
39
28
  children: [generateDefaultText()]
40
29
  };
41
30
  };
42
- var generateEmptyElement = exports.generateEmptyElement = function generateEmptyElement(type) {
31
+ export const generateEmptyElement = type => {
43
32
  return {
44
- id: _slugid.default.nice(),
45
- type: type,
33
+ id: slugid.nice(),
34
+ type,
46
35
  children: [generateDefaultText()]
47
36
  };
48
37
  };
@@ -54,39 +43,42 @@ var generateEmptyElement = exports.generateEmptyElement = function generateEmpty
54
43
  * @param {object} [options.props = {}]
55
44
  * @returns {Node}
56
45
  */
57
- var generateElement = exports.generateElement = function generateElement(type) {
58
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
59
- var _options$childrenOrTe = options.childrenOrText,
60
- childrenOrText = _options$childrenOrTe === void 0 ? '' : _options$childrenOrTe,
61
- _options$props = options.props,
62
- props = _options$props === void 0 ? {} : _options$props;
46
+ export const generateElement = function (type) {
47
+ let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
48
+ let {
49
+ childrenOrText = '',
50
+ props = {}
51
+ } = options;
63
52
  if (typeof childrenOrText === 'string') {
64
53
  childrenOrText = [{
65
- id: _slugid.default.nice(),
54
+ id: slugid.nice(),
66
55
  text: childrenOrText
67
56
  }];
68
57
  }
69
58
  if (!Array.isArray(childrenOrText)) {
70
59
  throw Error('childrenOrText must be a string or a Node array!');
71
60
  }
72
- return (0, _objectSpread2.default)({
73
- id: _slugid.default.nice(),
74
- type: type,
75
- children: childrenOrText
76
- }, props);
61
+ return {
62
+ id: slugid.nice(),
63
+ type,
64
+ children: childrenOrText,
65
+ ...props
66
+ };
77
67
  };
78
- var isEmptyParagraph = exports.isEmptyParagraph = function isEmptyParagraph(node) {
68
+ export const isEmptyParagraph = node => {
79
69
  if (node.type !== 'paragraph') return false;
80
70
  if (node.children.length !== 1) return false;
81
- var _node$children = (0, _slicedToArray2.default)(node.children, 1),
82
- child = _node$children[0];
71
+ const [child] = node.children;
83
72
  if (Text.isText(child) && child.text === '' && child.type !== 'image') return true;
84
73
  return false;
85
74
  };
86
- var Placeholder = exports.Placeholder = function Placeholder(props) {
87
- var title = props.title;
88
- var _useTranslation = (0, _reactI18next.useTranslation)(),
89
- t = _useTranslation.t;
75
+ export const Placeholder = props => {
76
+ const {
77
+ title
78
+ } = props;
79
+ const {
80
+ t
81
+ } = useTranslation();
90
82
  return /*#__PURE__*/React.createElement("span", {
91
83
  style: {
92
84
  position: 'absolute',
@@ -1,19 +1,12 @@
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 _slate = require("slate");
9
- var _slateHistory = require("slate-history");
10
- var _slateReact = require("slate-react");
11
- var _plugins = _interopRequireDefault(require("./plugins"));
12
- var baseEditor = _plugins.default.reduce(function (editor, pluginItem) {
13
- var withPlugin = pluginItem.editorPlugin;
1
+ import { createEditor } from 'slate';
2
+ import { withHistory } from 'slate-history';
3
+ import { withReact } from 'slate-react';
4
+ import Plugins from './plugins';
5
+ const baseEditor = Plugins.reduce((editor, pluginItem) => {
6
+ const withPlugin = pluginItem.editorPlugin;
14
7
  if (withPlugin) {
15
8
  return withPlugin(editor);
16
9
  }
17
10
  return editor;
18
- }, (0, _slateHistory.withHistory)((0, _slateReact.withReact)((0, _slate.createEditor)())));
19
- var _default = exports.default = baseEditor;
11
+ }, withHistory(withReact(createEditor())));
12
+ export default baseEditor;
@@ -1,48 +1,7 @@
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, "ELementTypes", {
8
- enumerable: true,
9
- get: function get() {
10
- return _constants.ELementTypes;
11
- }
12
- });
13
- Object.defineProperty(exports, "Toolbar", {
14
- enumerable: true,
15
- get: function get() {
16
- return _toolbar.Toolbar;
17
- }
18
- });
19
- Object.defineProperty(exports, "baseEditor", {
20
- enumerable: true,
21
- get: function get() {
22
- return _editor.default;
23
- }
24
- });
25
- Object.defineProperty(exports, "isEmptyParagraph", {
26
- enumerable: true,
27
- get: function get() {
28
- return _core.isEmptyParagraph;
29
- }
30
- });
31
- Object.defineProperty(exports, "renderElement", {
32
- enumerable: true,
33
- get: function get() {
34
- return _renderElement.default;
35
- }
36
- });
37
- Object.defineProperty(exports, "renderLeaf", {
38
- enumerable: true,
39
- get: function get() {
40
- return _renderLeaf.default;
41
- }
42
- });
43
- var _constants = require("./constants");
44
- var _core = require("./core");
45
- var _renderElement = _interopRequireDefault(require("./render/render-element"));
46
- var _renderLeaf = _interopRequireDefault(require("./render/render-leaf"));
47
- var _toolbar = require("./toolbar");
48
- var _editor = _interopRequireDefault(require("./editor"));
1
+ import { ELementTypes } from './constants';
2
+ import { isEmptyParagraph } from './core';
3
+ import renderElement from './render/render-element';
4
+ import renderLeaf from './render/render-leaf';
5
+ import { Toolbar } from './toolbar';
6
+ import baseEditor from './editor';
7
+ export { ELementTypes, isEmptyParagraph, renderElement, renderLeaf, Toolbar, baseEditor };
@@ -1,37 +1,27 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.setBlockQuoteType = exports.isMenuDisabled = exports.getBlockQuoteType = void 0;
8
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
9
- var _slate = require("slate");
10
- var _slugid = _interopRequireDefault(require("slugid"));
11
- var _elementTypes = require("../../constants/element-types");
12
- var _core = require("../../core");
13
- var isMenuDisabled = exports.isMenuDisabled = function isMenuDisabled(editor, readonly) {
1
+ import { Editor, Transforms, Element } from 'slate';
2
+ import slugid from 'slugid';
3
+ import { BLOCKQUOTE, CHECK_LIST_ITEM, IMAGE, ORDERED_LIST, PARAGRAPH, UNORDERED_LIST } from '../../constants/element-types';
4
+ import { focusEditor, getNodeType } from '../../core';
5
+ export const isMenuDisabled = (editor, readonly) => {
14
6
  if (readonly) return true;
15
7
  if (editor.selection == null) return true;
16
- var _Editor$nodes = _slate.Editor.nodes(editor, {
17
- match: function match(n) {
18
- var type = (0, _core.getNodeType)(n);
8
+ const [nodeEntry] = Editor.nodes(editor, {
9
+ match: n => {
10
+ const type = getNodeType(n);
19
11
 
20
- // Only available for p and blockquote
21
- if (type === _elementTypes.PARAGRAPH) return true;
22
- if (type === _elementTypes.BLOCKQUOTE) return true;
23
- if (type === _elementTypes.UNORDERED_LIST) return true;
24
- if (type === _elementTypes.ORDERED_LIST) return true;
25
- if (type === _elementTypes.CHECK_LIST_ITEM) return true;
26
- if (type && type.startWith && type.startWith('header')) return true;
27
- if (type === _elementTypes.IMAGE) return true;
28
- return false;
29
- },
30
- universal: true,
31
- mode: 'highest' // Match top level
32
- }),
33
- _Editor$nodes2 = (0, _slicedToArray2.default)(_Editor$nodes, 1),
34
- nodeEntry = _Editor$nodes2[0];
12
+ // Only available for p and blockquote
13
+ if (type === PARAGRAPH) return true;
14
+ if (type === BLOCKQUOTE) return true;
15
+ if (type === UNORDERED_LIST) return true;
16
+ if (type === ORDERED_LIST) return true;
17
+ if (type === CHECK_LIST_ITEM) return true;
18
+ if (type && type.startWith && type.startWith('header')) return true;
19
+ if (type === IMAGE) return true;
20
+ return false;
21
+ },
22
+ universal: true,
23
+ mode: 'highest' // Match top level
24
+ });
35
25
 
36
26
  // Match to p blockquote, do not disable
37
27
  if (nodeEntry) {
@@ -39,39 +29,30 @@ var isMenuDisabled = exports.isMenuDisabled = function isMenuDisabled(editor, re
39
29
  }
40
30
  return true;
41
31
  };
42
- var getBlockQuoteType = exports.getBlockQuoteType = function getBlockQuoteType(editor) {
43
- var _Editor$nodes3 = _slate.Editor.nodes(editor, {
44
- match: function match(n) {
45
- return (0, _core.getNodeType)(n) === _elementTypes.BLOCKQUOTE;
46
- },
47
- universal: true
48
- }),
49
- _Editor$nodes4 = (0, _slicedToArray2.default)(_Editor$nodes3, 1),
50
- match = _Editor$nodes4[0];
51
- if (!match) return _elementTypes.PARAGRAPH;
52
- var _match = (0, _slicedToArray2.default)(match, 1),
53
- n = _match[0];
54
- return (0, _core.getNodeType)(n);
32
+ export const getBlockQuoteType = editor => {
33
+ const [match] = Editor.nodes(editor, {
34
+ match: n => getNodeType(n) === BLOCKQUOTE,
35
+ universal: true
36
+ });
37
+ if (!match) return PARAGRAPH;
38
+ const [n] = match;
39
+ return getNodeType(n);
55
40
  };
56
- var setBlockQuoteType = exports.setBlockQuoteType = function setBlockQuoteType(editor, active) {
41
+ export const setBlockQuoteType = (editor, active) => {
57
42
  if (!active) {
58
- var blockquoteNode = {
59
- id: _slugid.default.nice(),
60
- type: _elementTypes.BLOCKQUOTE
43
+ const blockquoteNode = {
44
+ id: slugid.nice(),
45
+ type: BLOCKQUOTE
61
46
  };
62
- _slate.Transforms.wrapNodes(editor, blockquoteNode, {
47
+ Transforms.wrapNodes(editor, blockquoteNode, {
63
48
  mode: 'highest',
64
- match: function match(n) {
65
- return _slate.Element.isElement(n) && _slate.Editor.isBlock(editor, n);
66
- }
49
+ match: n => Element.isElement(n) && Editor.isBlock(editor, n)
67
50
  });
68
51
  } else {
69
- _slate.Transforms.unwrapNodes(editor, {
52
+ Transforms.unwrapNodes(editor, {
70
53
  mode: 'highest',
71
- match: function match(n) {
72
- return _slate.Element.isElement(n) && _slate.Editor.isBlock(editor, n);
73
- }
54
+ match: n => Element.isElement(n) && Editor.isBlock(editor, n)
74
55
  });
75
56
  }
76
- (0, _core.focusEditor)(editor);
57
+ focusEditor(editor);
77
58
  };
@@ -1,18 +1,11 @@
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 _elementTypes = require("../../constants/element-types");
9
- var _plugin = _interopRequireDefault(require("./plugin"));
10
- var _renderElem = _interopRequireDefault(require("./render-elem"));
11
- var BlockquotePlugin = {
12
- type: _elementTypes.BLOCKQUOTE,
1
+ import { BLOCKQUOTE } from '../../constants/element-types';
2
+ import withBlockquote from './plugin';
3
+ import renderBlockquote from './render-elem';
4
+ const BlockquotePlugin = {
5
+ type: BLOCKQUOTE,
13
6
  nodeType: 'element',
14
7
  editorMenus: [],
15
- editorPlugin: _plugin.default,
16
- renderElements: [_renderElem.default]
8
+ editorPlugin: withBlockquote,
9
+ renderElements: [renderBlockquote]
17
10
  };
18
- var _default = exports.default = BlockquotePlugin;
11
+ export default BlockquotePlugin;
@@ -1,32 +1,27 @@
1
- "use strict";
2
-
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = BlockquoteMenu;
8
- var _react = _interopRequireWildcard(require("react"));
9
- var _commons = require("../../../commons");
10
- var _menusConfig = require("../../../constants/menus-config");
11
- var _elementTypes = require("../../../constants/element-types");
12
- var _helpers = require("../helpers");
13
- var menuConfig = _menusConfig.MENUS_CONFIG_MAP[_elementTypes.BLOCKQUOTE];
14
- var isActive = function isActive(editor) {
15
- return (0, _helpers.getBlockQuoteType)(editor) === _elementTypes.BLOCKQUOTE;
1
+ import React, { useCallback } from 'react';
2
+ import { MenuItem } from '../../../commons';
3
+ import { MENUS_CONFIG_MAP } from '../../../constants/menus-config';
4
+ import { BLOCKQUOTE } from '../../../constants/element-types';
5
+ import { getBlockQuoteType, isMenuDisabled, setBlockQuoteType } from '../helpers';
6
+ const menuConfig = MENUS_CONFIG_MAP[BLOCKQUOTE];
7
+ const isActive = editor => {
8
+ return getBlockQuoteType(editor) === BLOCKQUOTE;
16
9
  };
17
- function BlockquoteMenu(_ref) {
18
- var isRichEditor = _ref.isRichEditor,
19
- className = _ref.className,
20
- readonly = _ref.readonly,
21
- editor = _ref.editor;
22
- var onMousedown = (0, _react.useCallback)(function (event) {
23
- var active = isActive(editor);
24
- (0, _helpers.setBlockQuoteType)(editor, active);
10
+ export default function BlockquoteMenu(_ref) {
11
+ let {
12
+ isRichEditor,
13
+ className,
14
+ readonly,
15
+ editor
16
+ } = _ref;
17
+ const onMousedown = useCallback(event => {
18
+ const active = isActive(editor);
19
+ setBlockQuoteType(editor, active);
25
20
  }, [editor]);
26
- return /*#__PURE__*/_react.default.createElement(_commons.MenuItem, Object.assign({
21
+ return /*#__PURE__*/React.createElement(MenuItem, Object.assign({
27
22
  isRichEditor: isRichEditor,
28
23
  className: className,
29
- disabled: (0, _helpers.isMenuDisabled)(editor, readonly),
24
+ disabled: isMenuDisabled(editor, readonly),
30
25
  isActive: isActive(editor),
31
26
  onMouseDown: onMousedown
32
27
  }, menuConfig));