@seafile/sdoc-editor 0.1.82 → 0.1.84

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 (51) hide show
  1. package/dist/basic-sdk/assets/css/layout.css +33 -7
  2. package/dist/basic-sdk/comment/color-menu/color-item.js +22 -0
  3. package/dist/basic-sdk/comment/color-menu/index.css +109 -0
  4. package/dist/basic-sdk/comment/color-menu/index.js +199 -0
  5. package/dist/basic-sdk/comment/style.css +1 -0
  6. package/dist/basic-sdk/constants/index.js +1 -0
  7. package/dist/basic-sdk/editor.js +45 -4
  8. package/dist/basic-sdk/extension/constants/color.js +265 -0
  9. package/dist/basic-sdk/extension/constants/index.js +9 -2
  10. package/dist/basic-sdk/extension/plugins/header/menu/style.css +1 -1
  11. package/dist/basic-sdk/extension/plugins/header/plugin.js +2 -1
  12. package/dist/basic-sdk/extension/plugins/image/helpers.js +1 -3
  13. package/dist/basic-sdk/extension/plugins/image/menu/style.css +2 -2
  14. package/dist/basic-sdk/extension/plugins/image/plugin.js +21 -0
  15. package/dist/basic-sdk/extension/plugins/table/helpers.js +386 -49
  16. package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/common-menu.js +4 -0
  17. package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/index.js +40 -13
  18. package/dist/basic-sdk/extension/plugins/table/plugin.js +138 -214
  19. package/dist/basic-sdk/extension/plugins/table/render/index.js +38 -8
  20. package/dist/basic-sdk/extension/plugins/table/render/render-cell.js +16 -7
  21. package/dist/basic-sdk/extension/plugins/table/render/table-header/rows-header/row-header.js +2 -2
  22. package/dist/basic-sdk/extension/plugins/text-align/menu/style.css +1 -1
  23. package/dist/basic-sdk/node-id/helpers.js +18 -0
  24. package/dist/basic-sdk/node-id/index.js +3 -3
  25. package/dist/basic-sdk/outline/index.js +75 -0
  26. package/dist/basic-sdk/outline/outline-item.js +52 -0
  27. package/dist/basic-sdk/outline/style.css +83 -0
  28. package/dist/basic-sdk/utils/event-handler.js +9 -1
  29. package/dist/basic-sdk/utils/object-utils.js +3 -0
  30. package/dist/basic-sdk/views/viewer.js +6 -4
  31. package/dist/components/code-block-hover-menu/index.css +1 -1
  32. package/dist/components/doc-info/index.js +3 -1
  33. package/dist/components/draft-dropdown/index.js +77 -0
  34. package/dist/components/draft-dropdown/style.css +43 -0
  35. package/dist/components/more-dropdown/index.js +10 -3
  36. package/dist/components/more-dropdown/style.css +1 -1
  37. package/dist/constants/index.js +3 -1
  38. package/dist/pages/simple-editor.js +2 -0
  39. package/dist/utils/index.js +2 -1
  40. package/dist/utils/local-storage-utils.js +49 -0
  41. package/package.json +2 -1
  42. package/public/locales/en/sdoc-editor.json +46 -1
  43. package/public/locales/zh-CN/sdoc-editor.json +46 -1
  44. package/public/media/sdoc-editor-font/iconfont.eot +0 -0
  45. package/public/media/sdoc-editor-font/iconfont.svg +4 -0
  46. package/public/media/sdoc-editor-font/iconfont.ttf +0 -0
  47. package/public/media/sdoc-editor-font/iconfont.woff +0 -0
  48. package/public/media/sdoc-editor-font/iconfont.woff2 +0 -0
  49. package/public/media/sdoc-editor-font.css +14 -6
  50. package/dist/basic-sdk/assets/css/outline.css +0 -52
  51. package/dist/basic-sdk/outline.js +0 -125
@@ -17,23 +17,50 @@
17
17
  }
18
18
 
19
19
  .sdoc-editor-container .sdoc-editor-content {
20
- flex: 1;
20
+ width: 100%;
21
+ height: calc(100% - 44px);
21
22
  display: flex;
22
23
  background: #f5f5f5;
23
- overflow: auto;
24
+ position: relative;
24
25
  }
25
26
 
26
- .sdoc-editor-container .sdoc-editor-article-container {
27
- flex: 1 1 auto;
27
+ .sdoc-editor-container .sdoc-editor-content.readonly {
28
+ height: 100%;
29
+ }
30
+
31
+ .sdoc-editor-container .sdoc-absolute-wrapper {
32
+ position: absolute;
33
+ left: 0;
34
+ right: 0;
35
+ top: 0;
36
+ bottom: 0;
37
+ height: 100%;
38
+ width: 100%;
39
+ }
40
+
41
+ .sdoc-editor-container .sdoc-article-wrapper {
42
+ position: absolute;
43
+ left: 0;
44
+ right: 0;
45
+ top: 0;
46
+ bottom: 0;
47
+ z-index: 100;
28
48
  overflow: auto;
49
+ }
50
+
51
+ .sdoc-editor-container .sdoc-article-container {
29
52
  position: relative;
53
+ top: 0;
54
+ width: 794px;
55
+ margin: 0 auto;
56
+ padding-top: 20px;
57
+ padding-bottom: 20px;
30
58
  }
31
59
 
32
60
  .sdoc-editor-container .sdoc-editor-content .article {
33
61
  width: 794px;
34
- min-height: calc(100% - 40px);
62
+ min-height: 100%;
35
63
  padding: 40px 60px;
36
- margin: 20px 0;
37
64
  background-color: #fff;
38
65
  border: 1px solid #e5e6e8;
39
66
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.06);
@@ -43,7 +70,6 @@
43
70
  caret-color: blue;
44
71
  }
45
72
 
46
-
47
73
  .sdoc-editor-container .seafile-block-container {
48
74
  position: relative;
49
75
  }
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ import { withTranslation } from 'react-i18next';
3
+ import classnames from 'classnames';
4
+ var ColorItem = function ColorItem(_ref) {
5
+ var t = _ref.t,
6
+ color = _ref.color,
7
+ recentUsedColor = _ref.recentUsedColor;
8
+ return /*#__PURE__*/React.createElement("div", {
9
+ className: classnames('sdoc-color-item', {
10
+ 'selected': recentUsedColor === color.value
11
+ }),
12
+ style: {
13
+ backgroundColor: color.value
14
+ },
15
+ color: color.value,
16
+ "data-color": color.value,
17
+ title: color.index ? t(color.name, {
18
+ value: color.index
19
+ }) : t(color.name)
20
+ });
21
+ };
22
+ export default withTranslation('sdoc-editor')(ColorItem);
@@ -0,0 +1,109 @@
1
+ .sdoc-color-menu .sdoc-color-icon {
2
+ font-size: 12px !important;
3
+ height: 12px;
4
+ line-height: 12px;
5
+ }
6
+
7
+ .sdoc-color-menu .recent-used-color {
8
+ width: 12px;
9
+ height: 3px;
10
+ border-radius: 1px;
11
+ margin-top: 2px;
12
+ border: 1px solid rgba(0, 0, 0, .08);
13
+ }
14
+
15
+ .sdoc-color-menu-popover .sdoc-color-dropdown-menu {
16
+ width: 251px;
17
+ padding: 0 0 12px 0;
18
+ }
19
+
20
+ .sdoc-color-menu-popover .sdoc-color-no-color-container {
21
+ width: 100%;
22
+ height: 24px;
23
+ margin-bottom: 5px;
24
+ }
25
+
26
+ .sdoc-color-menu-popover .sdoc-color-no-color-content {
27
+ height: 100%;
28
+ width: 100%;
29
+ text-align: center;
30
+ border: 1px solid rgba(0, 0, 0, .12);
31
+ border-radius: 2px;
32
+ font-size: 12px;
33
+ line-height: 22px;
34
+ cursor: pointer;
35
+ }
36
+
37
+ .sdoc-color-menu-popover .sdoc-color-default-colors-container {
38
+ display: flex;
39
+ flex-wrap: wrap;
40
+ }
41
+
42
+ .sdoc-color-menu-popover .sdoc-color-item {
43
+ height: 20px;
44
+ width: 20px;
45
+ margin-right: 3px;
46
+ margin-bottom: 3px;
47
+ border: 0.5px solid rgba(0, 0, 0, .08);
48
+ }
49
+
50
+ .sdoc-color-menu-popover .sdoc-color-item.selected {
51
+ position: relative;
52
+ }
53
+
54
+ .sdoc-color-menu-popover .sdoc-color-item.selected::after {
55
+ content: '';
56
+ position: absolute;
57
+ width: calc(100% + 4px);
58
+ height: calc((100% + 4px));
59
+ top: -2px;
60
+ left: -2px;
61
+ pointer-events: none;
62
+ border: 1px solid rgba(0, 0, 0, .88);
63
+ }
64
+
65
+ .sdoc-color-menu-popover .sdoc-color-item:hover {
66
+ cursor: pointer;
67
+ }
68
+
69
+ .sdoc-color-menu-popover .sdoc-color-item:nth-child(10n) {
70
+ margin-right: 0px;
71
+ }
72
+
73
+ .sdoc-color-menu-popover .sdoc-color-sub-title {
74
+ font-size: 11px;
75
+ line-height: 16px;
76
+ margin: 7px 0;
77
+ color: rgba(0, 0, 0, 0.4);
78
+ }
79
+
80
+ .sdoc-color-menu-popover .sdoc-colors-divider {
81
+ width: 100%;
82
+ height: 1px;
83
+ border-bottom: 1px solid rgba(0, 0, 0, 0.08);
84
+ margin: 0px 0 8px 0;
85
+ }
86
+
87
+ .sdoc-color-menu-popover .sdoc-more-colors {
88
+ display: flex;
89
+ align-items: center;
90
+ justify-content: baseline;
91
+ height: 30px;
92
+ font-size: 12px;
93
+ padding: 0 12px;
94
+ }
95
+
96
+ .sdoc-color-menu-popover .sdoc-more-colors .sdocfont {
97
+ font-size: 12px;
98
+ transform: scale(.6);
99
+ color: #888;
100
+ }
101
+
102
+ .sdoc-color-menu-popover .sdoc-more-colors.show-pick {
103
+ cursor: pointer;
104
+ background-color: rgba(51, 77, 102, .06);
105
+ }
106
+
107
+ .sdoc-more-colors-popover .popover {
108
+ left: 10px !important;
109
+ }
@@ -0,0 +1,199 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import React, { useCallback, useRef, useState } from 'react';
3
+ import { withTranslation } from 'react-i18next';
4
+ import classnames from 'classnames';
5
+ import { UncontrolledPopover } from 'reactstrap';
6
+ import { ChromePicker } from 'react-color';
7
+ import { DEFAULT_COLORS, STANDARD_COLORS, DEFAULT_RECENT_USED_COLORS } from '../../extension/constants';
8
+ import { LocalStorage } from '../../../utils';
9
+ import { eventStopPropagation } from '../../utils/mouse-event';
10
+ import ColorItem from './color-item';
11
+ import './index.css';
12
+ var ColorMenu = function ColorMenu(_ref) {
13
+ var iconClass = _ref.iconClass,
14
+ id = _ref.id,
15
+ isRichEditor = _ref.isRichEditor,
16
+ className = _ref.className,
17
+ disabled = _ref.disabled,
18
+ t = _ref.t,
19
+ setColor = _ref.setColor,
20
+ localStorageKey = _ref.localStorageKey;
21
+ var popoverRef = useRef(null);
22
+ var moreColorsPopoverRef = useRef(null);
23
+ var _useState = useState(LocalStorage.getItem(localStorageKey, DEFAULT_RECENT_USED_COLORS)),
24
+ _useState2 = _slicedToArray(_useState, 2),
25
+ recentUsedColors = _useState2[0],
26
+ setRecentUsedColors = _useState2[1];
27
+ var _useState3 = useState(false),
28
+ _useState4 = _slicedToArray(_useState3, 2),
29
+ isShowMenu = _useState4[0],
30
+ setMenuShow = _useState4[1];
31
+ var _useState5 = useState(false),
32
+ _useState6 = _slicedToArray(_useState5, 2),
33
+ isPickerShow = _useState6[0],
34
+ setPickerShow = _useState6[1];
35
+ var onSetColor = useCallback(function (color) {
36
+ var shouldClose = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
37
+ var validColor = color || 'transparent';
38
+ setColor(validColor);
39
+ if (validColor !== 'transparent' && recentUsedColors[0] !== validColor) {
40
+ var newRecentUsedColors = recentUsedColors.slice(0, 9);
41
+ newRecentUsedColors.unshift(validColor);
42
+ LocalStorage.setItem(localStorageKey, newRecentUsedColors);
43
+ setRecentUsedColors(newRecentUsedColors);
44
+ }
45
+ if (shouldClose) {
46
+ popoverRef.current.toggle();
47
+ setMenuShow(!isShowMenu);
48
+ }
49
+
50
+ // eslint-disable-next-line react-hooks/exhaustive-deps
51
+ }, [recentUsedColors, localStorageKey, isShowMenu, isPickerShow]);
52
+ var setColorProxy = useCallback(function (event) {
53
+ if (event.target.className.includes('sdoc-color-item')) {
54
+ var color = event.target.dataset.color;
55
+ onSetColor(color);
56
+ }
57
+
58
+ // eslint-disable-next-line react-hooks/exhaustive-deps
59
+ }, [recentUsedColors, localStorageKey, isShowMenu, isPickerShow]);
60
+ var toggle = useCallback(function () {
61
+ if (isPickerShow) return;
62
+ popoverRef.current.toggle();
63
+ setMenuShow(!isShowMenu);
64
+
65
+ // eslint-disable-next-line react-hooks/exhaustive-deps
66
+ }, [isShowMenu, isPickerShow]);
67
+ var moreColorsPopoverToggle = useCallback(function () {
68
+ moreColorsPopoverRef.current.toggle();
69
+ setPickerShow(!isPickerShow);
70
+
71
+ // eslint-disable-next-line react-hooks/exhaustive-deps
72
+ }, [moreColorsPopoverRef, isPickerShow]);
73
+ var onClick = useCallback(function (event) {
74
+ eventStopPropagation(event);
75
+
76
+ // eslint-disable-next-line react-hooks/exhaustive-deps
77
+ }, []);
78
+ var onChange = useCallback(function (color) {
79
+ var validColor = color.hex;
80
+ onSetColor(validColor, false);
81
+
82
+ // eslint-disable-next-line react-hooks/exhaustive-deps
83
+ }, []);
84
+ var validClassName = classnames(className, 'sdoc-color-menu', {
85
+ 'rich-icon-btn d-flex': isRichEditor,
86
+ 'rich-icon-btn-disabled': isRichEditor && disabled,
87
+ 'rich-icon-btn-hover': isRichEditor && !disabled,
88
+ 'btn btn-icon btn-secondary btn-active d-flex': !isRichEditor
89
+ });
90
+ var setRecentUsedColor = useCallback(function (event) {
91
+ eventStopPropagation(event);
92
+ onSetColor(recentUsedColors[0], false);
93
+
94
+ // eslint-disable-next-line react-hooks/exhaustive-deps
95
+ }, [recentUsedColors]);
96
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("button", {
97
+ type: "button",
98
+ className: validClassName
99
+ }, /*#__PURE__*/React.createElement("div", {
100
+ className: "d-flex flex-column justify-content-center h-100 mr-1 pt-1",
101
+ onClick: setRecentUsedColor
102
+ }, /*#__PURE__*/React.createElement("i", {
103
+ className: classnames(iconClass, 'sdoc-color-icon')
104
+ }), /*#__PURE__*/React.createElement("div", {
105
+ className: "recent-used-color",
106
+ style: {
107
+ backgroundColor: recentUsedColors[0] || 'transparent'
108
+ }
109
+ })), /*#__PURE__*/React.createElement("i", {
110
+ id: id,
111
+ className: "sdocfont sdoc-".concat(isShowMenu ? 'caret-up' : 'drop-down')
112
+ })), /*#__PURE__*/React.createElement(UncontrolledPopover, {
113
+ target: id,
114
+ className: "sdoc-color-menu-popover",
115
+ trigger: "legacy",
116
+ placement: "bottom-start",
117
+ hideArrow: true,
118
+ toggle: toggle,
119
+ fade: false,
120
+ ref: popoverRef
121
+ }, /*#__PURE__*/React.createElement("div", {
122
+ className: "sdoc-dropdown-menu sdoc-color-dropdown-menu"
123
+ }, /*#__PURE__*/React.createElement("div", {
124
+ className: "p-3 d-flex flex-column"
125
+ }, /*#__PURE__*/React.createElement("div", {
126
+ className: "sdoc-color-no-color-container"
127
+ }, /*#__PURE__*/React.createElement("div", {
128
+ className: "sdoc-color-no-color-content",
129
+ onClick: function onClick() {
130
+ return onSetColor();
131
+ }
132
+ }, t('No_color'))), /*#__PURE__*/React.createElement("div", {
133
+ className: "sdoc-color-default-colors-container",
134
+ onClick: setColorProxy
135
+ }, DEFAULT_COLORS.map(function (color, index) {
136
+ return /*#__PURE__*/React.createElement(ColorItem, {
137
+ key: "default-color-".concat(index),
138
+ color: color,
139
+ recentUsedColor: recentUsedColors[0]
140
+ });
141
+ })), /*#__PURE__*/React.createElement("div", {
142
+ className: "sdoc-color-standard-colors-container"
143
+ }, /*#__PURE__*/React.createElement("div", {
144
+ className: "sdoc-color-sub-title"
145
+ }, t('Standard_color')), /*#__PURE__*/React.createElement("div", {
146
+ className: "d-flex",
147
+ onClick: setColorProxy
148
+ }, STANDARD_COLORS.map(function (color, index) {
149
+ return /*#__PURE__*/React.createElement(ColorItem, {
150
+ key: "standard-color-".concat(index),
151
+ color: color,
152
+ recentUsedColor: recentUsedColors[0]
153
+ });
154
+ }))), /*#__PURE__*/React.createElement("div", {
155
+ className: "sdoc-color-recent-used-colors-container"
156
+ }, /*#__PURE__*/React.createElement("div", {
157
+ className: "sdoc-color-sub-title"
158
+ }, t('Recently_used')), /*#__PURE__*/React.createElement("div", {
159
+ className: "d-flex",
160
+ onClick: setColorProxy
161
+ }, recentUsedColors.map(function (color, index) {
162
+ return /*#__PURE__*/React.createElement(ColorItem, {
163
+ key: "standard-color-".concat(index),
164
+ color: {
165
+ value: color,
166
+ name: color
167
+ }
168
+ });
169
+ })))), /*#__PURE__*/React.createElement("div", {
170
+ className: "sdoc-colors-divider"
171
+ }), /*#__PURE__*/React.createElement("div", {
172
+ className: classnames('sdoc-more-colors', {
173
+ 'show-pick': isPickerShow
174
+ }),
175
+ id: "sdoc-more-colors"
176
+ }, /*#__PURE__*/React.createElement("span", null, t('More_color')), /*#__PURE__*/React.createElement("i", {
177
+ className: "sdocfont sdoc-right-slide"
178
+ })), /*#__PURE__*/React.createElement(UncontrolledPopover, {
179
+ target: "sdoc-more-colors",
180
+ className: "sdoc-more-colors-popover",
181
+ trigger: "hover",
182
+ placement: "left-end",
183
+ hideArrow: true,
184
+ toggle: moreColorsPopoverToggle,
185
+ ref: moreColorsPopoverRef
186
+ }, /*#__PURE__*/React.createElement("div", {
187
+ className: "sdoc-more-colors-container",
188
+ onClick: onClick
189
+ }, /*#__PURE__*/React.createElement(ChromePicker, {
190
+ disableAlpha: true,
191
+ color: recentUsedColors[0] || '',
192
+ onChange: onChange
193
+ }))))));
194
+ };
195
+ ColorMenu.defaultProps = {
196
+ isRichEditor: true,
197
+ className: 'menu-group-item'
198
+ };
199
+ export default withTranslation('sdoc-editor')(ColorMenu);
@@ -14,6 +14,7 @@
14
14
  .sdoc-comment-container .comment-container-right {
15
15
  position: absolute;
16
16
  left: 100%;
17
+ width: 320px;
17
18
  }
18
19
 
19
20
  .sdoc-comment-container .comment-container-right .comment-add-wrapper {
@@ -0,0 +1 @@
1
+ export var CLIPBOARD_FORMAT_KEY = 'x-slate-fragment';
@@ -100,6 +100,7 @@ var SDocEditor = function SDocEditor(_ref) {
100
100
  }, []);
101
101
  var onMouseDown = useCallback(function (event) {
102
102
  if (event.button === 0) {
103
+ editor.reSetTableSelectedRange();
103
104
  eventBus.dispatch(EXTERNAL_EVENT.CANCEL_TABLE_SELECT_RANGE);
104
105
  }
105
106
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -194,18 +195,57 @@ var SDocEditor = function SDocEditor(_ref) {
194
195
  eventProxy.onKeyDown(event);
195
196
  // eslint-disable-next-line react-hooks/exhaustive-deps
196
197
  }, []);
198
+ var _useState7 = useState({}),
199
+ _useState8 = _slicedToArray(_useState7, 2),
200
+ containerStyle = _useState8[0],
201
+ setContainerStyle = _useState8[1];
202
+ var handleWindowResize = useCallback(function () {
203
+ var rect = scrollRef.current.getBoundingClientRect();
204
+ var articleRect = articleRef.current.getBoundingClientRect();
205
+ if ((rect.width - articleRect.width) / 2 < 280) {
206
+ setContainerStyle({
207
+ marginLeft: '280px'
208
+ });
209
+ } else {
210
+ setContainerStyle({});
211
+ }
212
+ }, []);
213
+ useEffect(function () {
214
+ handleWindowResize();
215
+ window.addEventListener('resize', handleWindowResize);
216
+ return function () {
217
+ window.removeEventListener('resize', handleWindowResize);
218
+ };
219
+ }, [handleWindowResize]);
220
+ var _useState9 = useState(0),
221
+ _useState10 = _slicedToArray(_useState9, 2),
222
+ scrollLeft = _useState10[0],
223
+ setScrollLeft = _useState10[1];
224
+ var onWrapperScroll = useCallback(function (event) {
225
+ var scrollLeft = event.target.scrollLeft;
226
+ setScrollLeft(scrollLeft);
227
+ }, []);
197
228
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
198
229
  className: "sdoc-editor-container"
199
230
  }, /*#__PURE__*/React.createElement(Toolbar, {
200
231
  editor: editor
201
232
  }), /*#__PURE__*/React.createElement("div", {
202
233
  className: "sdoc-editor-content"
234
+ }, /*#__PURE__*/React.createElement("div", {
235
+ className: "sdoc-absolute-wrapper"
203
236
  }, /*#__PURE__*/React.createElement(SDocOutline, {
237
+ scrollLeft: scrollLeft,
204
238
  doc: slateValue,
205
239
  docUuid: config.docUuid
206
- }), /*#__PURE__*/React.createElement("div", {
240
+ })), /*#__PURE__*/React.createElement("div", {
241
+ className: "sdoc-absolute-wrapper"
242
+ }, /*#__PURE__*/React.createElement("div", {
207
243
  ref: scrollRef,
208
- className: "sdoc-editor-article-container"
244
+ className: "sdoc-article-wrapper",
245
+ onScroll: onWrapperScroll
246
+ }, /*#__PURE__*/React.createElement("div", {
247
+ className: "sdoc-article-container",
248
+ style: containerStyle
209
249
  }, /*#__PURE__*/React.createElement(ScrollContext.Provider, {
210
250
  value: {
211
251
  scrollRef: scrollRef
@@ -224,8 +264,9 @@ var SDocEditor = function SDocEditor(_ref) {
224
264
  onKeyDown: onKeyDown,
225
265
  onContextMenu: onContextMenu,
226
266
  onMouseDown: onMouseDown,
227
- decorate: decorate
228
- })), /*#__PURE__*/React.createElement(CommentWrapper, null))))))), isShowContextMenu && /*#__PURE__*/React.createElement(ContextMenu, {
267
+ decorate: decorate,
268
+ onCut: eventProxy.onCut
269
+ })), /*#__PURE__*/React.createElement(CommentWrapper, null))))))))), isShowContextMenu && /*#__PURE__*/React.createElement(ContextMenu, {
229
270
  editor: editor,
230
271
  contextMenuPosition: menuPosition
231
272
  }));