@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,174 +1,122 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.unwrapCodeBlock = exports.transformToCodeBlock = exports.setCodeBlockLanguage = exports.isMenuDisabled = exports.isInCodeBlock = exports.getCodeBlockNodeEntry = void 0;
8
- var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createForOfIteratorHelper"));
9
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
10
- var _slate = require("slate");
11
- var _elementTypes = require("../../constants/element-types");
12
- var _core = require("../../core");
13
- var _constant = require("./render-elem/constant");
1
+ import { Editor, Element, Node, Point, Range, Transforms, isBlock } from 'slate';
2
+ import { CODE_BLOCK, CODE_LINE, PARAGRAPH } from '../../constants/element-types';
3
+ import { focusEditor, generateElement, getSelectedElems, getSelectedNodeEntryByType } from '../../core';
14
4
  // eslint-disable-next-line no-unused-vars
15
-
16
- var isMenuDisabled = exports.isMenuDisabled = function isMenuDisabled(editor, readonly) {
5
+ import { EXPLAIN_TEXT, LANGUAGE_MAP } from './render-elem/constant';
6
+ export const isMenuDisabled = (editor, readonly) => {
17
7
  if (readonly) return true;
18
- var selection = editor.selection;
8
+ const {
9
+ selection
10
+ } = editor;
19
11
  if (!selection) return true;
20
- var selectedElements = (0, _core.getSelectedElems)(editor);
21
- var isSelectedVoid = selectedElements.find(function (node) {
22
- return editor.isVoid(node);
23
- });
12
+ const selectedElements = getSelectedElems(editor);
13
+ const isSelectedVoid = selectedElements.find(node => editor.isVoid(node));
24
14
  if (isSelectedVoid) return true;
25
15
  // Disable the menu when selection is not in the paragraph or code block
26
- var isEnable = selectedElements.every(function (node) {
27
- return [_elementTypes.CODE_BLOCK, _elementTypes.PARAGRAPH, _elementTypes.CODE_LINE].includes(node.type);
28
- });
16
+ const isEnable = selectedElements.every(node => [CODE_BLOCK, PARAGRAPH, CODE_LINE].includes(node.type));
29
17
  return !isEnable;
30
18
  };
31
- var getCodeBlockNodeEntry = exports.getCodeBlockNodeEntry = function getCodeBlockNodeEntry(editor) {
19
+ export const getCodeBlockNodeEntry = editor => {
32
20
  if (!editor.selection) return;
33
- var _Editor$nodes = _slate.Editor.nodes(editor, {
34
- match: function match(node) {
35
- return node.type === _elementTypes.CODE_BLOCK;
36
- },
37
- mode: 'highest'
38
- }),
39
- _Editor$nodes2 = (0, _slicedToArray2.default)(_Editor$nodes, 1),
40
- codeBlock = _Editor$nodes2[0];
21
+ const [codeBlock] = Editor.nodes(editor, {
22
+ match: node => node.type === CODE_BLOCK,
23
+ mode: 'highest'
24
+ });
41
25
  return codeBlock;
42
26
  };
43
- var isInCodeBlock = exports.isInCodeBlock = function isInCodeBlock(editor) {
27
+ export const isInCodeBlock = editor => {
44
28
  if (!editor.selection) return false;
45
- var _Editor$nodes3 = _slate.Editor.nodes(editor, {
46
- match: function match(node) {
47
- return node.type === _elementTypes.CODE_BLOCK;
48
- },
49
- mode: 'highest'
50
- }),
51
- _Editor$nodes4 = (0, _slicedToArray2.default)(_Editor$nodes3, 1),
52
- codeBlock = _Editor$nodes4[0];
53
- if (!codeBlock) return false;
54
- var selectedElements = (0, _core.getSelectedElems)(editor);
55
- var isInCodeBlock = !selectedElements.find(function (element) {
56
- return ![_elementTypes.CODE_BLOCK, _elementTypes.CODE_LINE].includes(element.type);
29
+ const [codeBlock] = Editor.nodes(editor, {
30
+ match: node => node.type === CODE_BLOCK,
31
+ mode: 'highest'
57
32
  });
33
+ if (!codeBlock) return false;
34
+ const selectedElements = getSelectedElems(editor);
35
+ const isInCodeBlock = !selectedElements.find(element => ![CODE_BLOCK, CODE_LINE].includes(element.type));
58
36
  return isInCodeBlock;
59
37
  };
60
- var transformToCodeBlock = exports.transformToCodeBlock = function transformToCodeBlock(editor) {
61
- var selectedElements = (0, _core.getSelectedElems)(editor);
62
- var selectedCodeBlockNum = selectedElements.reduce(function (codeBlockNum, node) {
63
- return node.type === _elementTypes.CODE_BLOCK ? ++codeBlockNum : codeBlockNum;
64
- }, 0);
38
+ export const transformToCodeBlock = editor => {
39
+ const selectedElements = getSelectedElems(editor);
40
+ const selectedCodeBlockNum = selectedElements.reduce((codeBlockNum, node) => node.type === CODE_BLOCK ? ++codeBlockNum : codeBlockNum, 0);
65
41
  if (selectedCodeBlockNum > 0) return;
66
- var originSelection = editor.selection;
67
- var originAnchor = originSelection.anchor,
68
- originFocus = originSelection.focus;
69
- var textList = [];
70
- var nodeEntries = _slate.Editor.nodes(editor, {
71
- match: function match(node) {
72
- return editor.children.includes(node);
73
- },
42
+ const originSelection = editor.selection;
43
+ const {
44
+ anchor: originAnchor,
45
+ focus: originFocus
46
+ } = originSelection;
47
+ const textList = [];
48
+ const nodeEntries = Editor.nodes(editor, {
49
+ match: node => editor.children.includes(node),
74
50
  // Match the highest level node that custom selected
75
51
  universal: true
76
52
  });
77
- var _iterator = (0, _createForOfIteratorHelper2.default)(nodeEntries),
78
- _step;
79
- try {
80
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
81
- var nodeEntry = _step.value;
82
- var _nodeEntry = (0, _slicedToArray2.default)(nodeEntry, 1),
83
- node = _nodeEntry[0];
84
- if (node) {
85
- textList.push(_slate.Node.string(node));
86
- }
53
+ for (let nodeEntry of nodeEntries) {
54
+ const [node] = nodeEntry;
55
+ if (node) {
56
+ textList.push(Node.string(node));
87
57
  }
88
- // Generate code block
89
- } catch (err) {
90
- _iterator.e(err);
91
- } finally {
92
- _iterator.f();
93
58
  }
94
- var codeBlockChildren = textList.map(function (text) {
95
- return (0, _core.generateElement)(_elementTypes.CODE_LINE, {
96
- childrenOrText: text
97
- });
98
- });
99
- var codeBlock = (0, _core.generateElement)(_elementTypes.CODE_BLOCK, {
59
+ // Generate code block
60
+ const codeBlockChildren = textList.map(text => generateElement(CODE_LINE, {
61
+ childrenOrText: text
62
+ }));
63
+ const codeBlock = generateElement(CODE_BLOCK, {
100
64
  childrenOrText: codeBlockChildren,
101
65
  props: {
102
- lang: _constant.EXPLAIN_TEXT
66
+ lang: EXPLAIN_TEXT
103
67
  }
104
68
  });
105
- _slate.Transforms.removeNodes(editor, {
69
+ Transforms.removeNodes(editor, {
106
70
  at: editor.selection,
107
71
  mode: 'highest',
108
- match: function match(node) {
109
- return _slate.Element.isElement(node) && (0, _slate.isBlock)(editor, node);
110
- }
72
+ match: node => Element.isElement(node) && isBlock(editor, node)
111
73
  });
112
- var selectedPath = _slate.Editor.path(editor, originSelection);
113
- var isCollapsed = editor.selection && _slate.Range.isCollapsed(editor.selection);
114
- var beginPath = _slate.Point.isBefore(originAnchor, originFocus) ? originAnchor.path : originFocus.path;
115
- var focusPoint = _slate.Point.isAfter(originFocus, originAnchor) ? originFocus : originAnchor;
116
- var insertPath = selectedPath && Object.keys(selectedPath).length ? [selectedPath[0]] : [beginPath[0]];
117
- _slate.Transforms.insertNodes(editor, codeBlock, {
74
+ const selectedPath = Editor.path(editor, originSelection);
75
+ const isCollapsed = editor.selection && Range.isCollapsed(editor.selection);
76
+ const beginPath = Point.isBefore(originAnchor, originFocus) ? originAnchor.path : originFocus.path;
77
+ const focusPoint = Point.isAfter(originFocus, originAnchor) ? originFocus : originAnchor;
78
+ const insertPath = selectedPath && Object.keys(selectedPath).length ? [selectedPath[0]] : [beginPath[0]];
79
+ Transforms.insertNodes(editor, codeBlock, {
118
80
  at: insertPath
119
81
  });
120
- (0, _core.focusEditor)(editor, isCollapsed ? _slate.Editor.end(editor, insertPath) : focusPoint);
82
+ focusEditor(editor, isCollapsed ? Editor.end(editor, insertPath) : focusPoint);
121
83
  };
122
- var unwrapCodeBlock = exports.unwrapCodeBlock = function unwrapCodeBlock(editor) {
123
- var selectedCodeBlock = (0, _core.getSelectedNodeEntryByType)(editor, _elementTypes.CODE_BLOCK);
84
+ export const unwrapCodeBlock = editor => {
85
+ const selectedCodeBlock = getSelectedNodeEntryByType(editor, CODE_BLOCK);
124
86
  if (!selectedCodeBlock) return;
125
- var selectedCodeBlockPath = selectedCodeBlock[1];
126
- var codeLineEntries = _slate.Editor.nodes(editor, {
87
+ const selectedCodeBlockPath = selectedCodeBlock[1];
88
+ const codeLineEntries = Editor.nodes(editor, {
127
89
  at: selectedCodeBlockPath,
128
- match: function match(node) {
129
- return node.type === _elementTypes.CODE_LINE;
130
- }
90
+ match: node => node.type === CODE_LINE
131
91
  });
132
- var paragraphNodes = [];
133
- var _iterator2 = (0, _createForOfIteratorHelper2.default)(codeLineEntries),
134
- _step2;
135
- try {
136
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
137
- var codeLineEntry = _step2.value;
138
- var _codeLineEntry = (0, _slicedToArray2.default)(codeLineEntry, 1),
139
- codeLineNode = _codeLineEntry[0];
140
- var paragraph = (0, _core.generateElement)(_elementTypes.PARAGRAPH, {
141
- childrenOrText: _slate.Node.string(codeLineNode)
142
- });
143
- paragraphNodes.push(paragraph);
144
- }
145
- } catch (err) {
146
- _iterator2.e(err);
147
- } finally {
148
- _iterator2.f();
92
+ const paragraphNodes = [];
93
+ for (const codeLineEntry of codeLineEntries) {
94
+ const [codeLineNode] = codeLineEntry;
95
+ const paragraph = generateElement(PARAGRAPH, {
96
+ childrenOrText: Node.string(codeLineNode)
97
+ });
98
+ paragraphNodes.push(paragraph);
149
99
  }
150
- _slate.Transforms.removeNodes(editor, {
100
+ Transforms.removeNodes(editor, {
151
101
  at: selectedCodeBlockPath,
152
- match: function match(node) {
153
- return node.type === _elementTypes.CODE_BLOCK;
154
- },
102
+ match: node => node.type === CODE_BLOCK,
155
103
  mode: 'highest'
156
104
  });
157
- _slate.Transforms.insertNodes(editor, paragraphNodes, {
105
+ Transforms.insertNodes(editor, paragraphNodes, {
158
106
  at: selectedCodeBlockPath
159
107
  });
160
- var focusPath = [selectedCodeBlockPath[0] + paragraphNodes.length - 1];
161
- (0, _core.focusEditor)(editor, _slate.Editor.end(editor, focusPath));
108
+ const focusPath = [selectedCodeBlockPath[0] + paragraphNodes.length - 1];
109
+ focusEditor(editor, Editor.end(editor, focusPath));
162
110
  };
163
111
 
164
112
  /**
165
113
  * @param {object} editor
166
114
  * @param {keyof LANGUAGE_MAP} [lang = EXPLAIN_TEXT] by default is 'none'
167
115
  */
168
- var setCodeBlockLanguage = exports.setCodeBlockLanguage = function setCodeBlockLanguage(editor, lang) {
169
- var selectedNode = (0, _core.getSelectedNodeEntryByType)(editor, _elementTypes.CODE_BLOCK);
170
- _slate.Transforms.setNodes(editor, {
171
- lang: lang
116
+ export const setCodeBlockLanguage = (editor, lang) => {
117
+ const selectedNode = getSelectedNodeEntryByType(editor, CODE_BLOCK);
118
+ Transforms.setNodes(editor, {
119
+ lang
172
120
  }, {
173
121
  at: selectedNode[1]
174
122
  });
@@ -1,20 +1,12 @@
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 _elementTypes = require("../../constants/element-types");
10
- var _menu = _interopRequireDefault(require("./menu"));
11
- var _plugin = _interopRequireDefault(require("./plugin"));
12
- var _renderElem = _interopRequireWildcard(require("./render-elem"));
13
- var CodeBlockPlugin = {
14
- type: _elementTypes.CODE_BLOCK,
1
+ import { CODE_BLOCK } from '../../constants/element-types';
2
+ import CodeBlockMenu from './menu';
3
+ import withCodeBlock from './plugin';
4
+ import renderCodeBlock, { renderCodeLine } from './render-elem';
5
+ const CodeBlockPlugin = {
6
+ type: CODE_BLOCK,
15
7
  nodeType: 'element',
16
- editorMenus: [_menu.default],
17
- editorPlugin: _plugin.default,
18
- renderElements: [_renderElem.default, _renderElem.renderCodeLine]
8
+ editorMenus: [CodeBlockMenu],
9
+ editorPlugin: withCodeBlock,
10
+ renderElements: [renderCodeBlock, renderCodeLine]
19
11
  };
20
- var _default = exports.default = CodeBlockPlugin;
12
+ export default CodeBlockPlugin;
@@ -1,37 +1,30 @@
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 = void 0;
8
- var _react = _interopRequireWildcard(require("react"));
9
- var _commons = require("../../../commons");
10
- var _elementTypes = require("../../../constants/element-types");
11
- var _helpers = require("../helpers");
12
- var _constants = require("../../../constants");
13
- var menuConfig = _constants.MENUS_CONFIG_MAP[_elementTypes.CODE_BLOCK];
14
- var CodeBlockMenu = function CodeBlockMenu(_ref) {
15
- var isRichEditor = _ref.isRichEditor,
16
- className = _ref.className,
17
- readonly = _ref.readonly,
18
- editor = _ref.editor;
1
+ import React, { useCallback, useMemo } from 'react';
2
+ import { MenuItem } from '../../../commons';
3
+ import { CODE_BLOCK } from '../../../constants/element-types';
4
+ import { isInCodeBlock, isMenuDisabled, transformToCodeBlock, unwrapCodeBlock } from '../helpers';
5
+ import { MENUS_CONFIG_MAP } from '../../../constants';
6
+ const menuConfig = MENUS_CONFIG_MAP[CODE_BLOCK];
7
+ const CodeBlockMenu = _ref => {
8
+ let {
9
+ isRichEditor,
10
+ className,
11
+ readonly,
12
+ editor
13
+ } = _ref;
19
14
  // eslint-disable-next-line react-hooks/exhaustive-deps
20
- var isActive = (0, _react.useMemo)(function () {
21
- return (0, _helpers.isInCodeBlock)(editor);
22
- }, [editor.selection]);
23
- var onMousedown = (0, _react.useCallback)(function (e) {
15
+ const isActive = useMemo(() => isInCodeBlock(editor), [editor.selection]);
16
+ const onMousedown = useCallback(e => {
24
17
  e.preventDefault();
25
- isActive ? (0, _helpers.unwrapCodeBlock)(editor) : (0, _helpers.transformToCodeBlock)(editor);
18
+ isActive ? unwrapCodeBlock(editor) : transformToCodeBlock(editor);
26
19
  // eslint-disable-next-line react-hooks/exhaustive-deps
27
20
  }, [isActive]);
28
- return /*#__PURE__*/_react.default.createElement(_commons.MenuItem, Object.assign({
29
- type: _elementTypes.CODE_BLOCK,
21
+ return /*#__PURE__*/React.createElement(MenuItem, Object.assign({
22
+ type: CODE_BLOCK,
30
23
  isRichEditor: isRichEditor,
31
24
  className: className,
32
- disabled: (0, _helpers.isMenuDisabled)(editor, readonly),
25
+ disabled: isMenuDisabled(editor, readonly),
33
26
  isActive: isActive,
34
27
  onMouseDown: onMousedown
35
28
  }, menuConfig));
36
29
  };
37
- var _default = exports.default = CodeBlockMenu;
30
+ export default CodeBlockMenu;