@seafile/sdoc-editor 2.0.52 → 2.0.54

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 (26) hide show
  1. package/dist/basic-sdk/comment/components/comment-delete-popover.js +1 -0
  2. package/dist/basic-sdk/comment/components/comment-item-reply.js +0 -5
  3. package/dist/basic-sdk/extension/commons/color-menu/index.js +9 -17
  4. package/dist/basic-sdk/extension/commons/file-insert-dialog/index.js +3 -1
  5. package/dist/basic-sdk/extension/commons/menu/menu-group.js +1 -5
  6. package/dist/basic-sdk/extension/plugins/ai/ai-module/index.js +13 -4
  7. package/dist/basic-sdk/extension/plugins/callout/render-elem/index.js +1 -0
  8. package/dist/basic-sdk/extension/plugins/code-block/hover-menu/index.js +2 -0
  9. package/dist/basic-sdk/extension/plugins/list/menu/index.js +3 -6
  10. package/dist/basic-sdk/extension/plugins/list/transforms/toggle-list.js +0 -1
  11. package/dist/basic-sdk/extension/plugins/mention/render-elem/participant-popover.js +1 -0
  12. package/dist/basic-sdk/extension/plugins/multi-column/resize-handlers/index.js +1 -0
  13. package/dist/basic-sdk/extension/plugins/seatable-tables/draggable/index.js +14 -17
  14. package/dist/basic-sdk/extension/plugins/seatable-tables/formatter/index.js +1 -4
  15. package/dist/basic-sdk/extension/plugins/seatable-tables/seatable-settings/dtable-search-input/index.js +3 -8
  16. package/dist/basic-sdk/extension/plugins/seatable-tables/seatable-settings/filter-setter/filter-popover.js +1 -4
  17. package/dist/basic-sdk/extension/plugins/seatable-tables/seatable-settings/filter-setter/index.js +3 -6
  18. package/dist/basic-sdk/extension/plugins/seatable-tables/seatable-settings/hide-column-setter/index.js +1 -4
  19. package/dist/basic-sdk/extension/plugins/seatable-tables/seatable-settings/sort-setter/index.js +3 -6
  20. package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/common-menu.js +6 -9
  21. package/dist/basic-sdk/extension/plugins/table/menu/color-selector-popover/index.js +1 -7
  22. package/dist/basic-sdk/extension/plugins/video/plugin.js +0 -1
  23. package/dist/basic-sdk/extension/toolbar/insert-element-toolbar/index.js +1 -0
  24. package/dist/components/doc-operations/collaborators-operation/index.js +2 -3
  25. package/dist/components/toast/toast.js +2 -5
  26. package/package.json +2 -1
@@ -42,6 +42,7 @@ const CommentDeletePopover = _ref => {
42
42
  document.removeEventListener('click', hide, true);
43
43
  document.removeEventListener('keydown', onHotKey);
44
44
  };
45
+ // eslint-disable-next-line react-hooks/exhaustive-deps
45
46
  }, []);
46
47
  const {
47
48
  t
@@ -12,7 +12,6 @@ var _reactstrap = require("reactstrap");
12
12
  var _dayjs = _interopRequireDefault(require("dayjs"));
13
13
  var _context = _interopRequireDefault(require("../../../context"));
14
14
  var _commentEditor = _interopRequireDefault(require("./comment-editor"));
15
- var _notificationHooks = require("../hooks/notification-hooks");
16
15
  var _commentDeletePopover = _interopRequireDefault(require("./comment-delete-popover"));
17
16
  var _mdToHtml = _interopRequireDefault(require("../../../slate-convert/md-to-html"));
18
17
  const CommentItemReply = _ref => {
@@ -25,11 +24,7 @@ const CommentItemReply = _ref => {
25
24
  t
26
25
  } = _ref;
27
26
  const [isDropdownOpen, setDropdownOpen] = (0, _react.useState)(false);
28
- const {
29
- notificationsInfo
30
- } = (0, _notificationHooks.useNotificationContext)();
31
27
  const itemRef = (0, _react.useRef)(null);
32
- const isUnseen = notificationsInfo.notifications_map[`sdoc_notification_${reply.comment_id}_${reply.id}`] ? true : false;
33
28
  const [isEditing, setIsEditing] = (0, _react.useState)(false);
34
29
  const [editorContent, setEditorContent] = (0, _react.useState)('');
35
30
  const replyOpToolsId = `replyOpTools_${reply.id}`;
@@ -64,52 +64,44 @@ const ColorMenu = _ref => {
64
64
  const color = event.target.dataset.color;
65
65
  onSetColor(color);
66
66
  }
67
-
68
67
  // eslint-disable-next-line react-hooks/exhaustive-deps
69
68
  }, [recentUsedColors, recentUsedColorsKey, isShowMenu, isPickerShow]);
70
69
  const toggle = (0, _react.useCallback)(() => {
71
70
  if (isPickerShow) return;
72
71
  popoverRef.current.toggle();
73
72
  setMenuShow(!isShowMenu);
74
-
75
73
  // eslint-disable-next-line react-hooks/exhaustive-deps
76
74
  }, [isShowMenu, isPickerShow]);
77
75
  const moreColorsPopoverToggle = (0, _react.useCallback)(() => {
78
76
  moreColorsPopoverRef.current.toggle();
79
77
  setPickerShow(!isPickerShow);
80
-
81
78
  // eslint-disable-next-line react-hooks/exhaustive-deps
82
79
  }, [moreColorsPopoverRef, isPickerShow]);
83
80
  const onClick = (0, _react.useCallback)(event => {
84
81
  (0, _mouseEvent.eventStopPropagation)(event);
85
-
86
- // eslint-disable-next-line react-hooks/exhaustive-deps
87
82
  }, []);
88
83
  const onChange = (0, _react.useCallback)(color => {
89
84
  const validColor = color.hex;
90
85
  onSetColor(validColor, false);
91
-
92
86
  // eslint-disable-next-line react-hooks/exhaustive-deps
93
87
  }, [disabled]);
94
- const validClassName = (0, _classnames.default)(className, 'sdoc-color-menu sdoc-menu-with-dropdown', {
95
- 'menu-show': isShowMenu,
96
- 'disabled': disabled,
97
- 'rich-icon-btn d-flex': isRichEditor,
98
- 'rich-icon-btn-disabled': isRichEditor && disabled,
99
- 'rich-icon-btn-hover': isRichEditor && !disabled,
100
- 'btn btn-icon btn-secondary btn-active d-flex': !isRichEditor
101
- });
102
88
  const setLastUsedColor = (0, _react.useCallback)(event => {
103
89
  (0, _mouseEvent.eventStopPropagation)(event);
104
90
  onSetColor(lastUsedColor, false);
105
-
106
91
  // eslint-disable-next-line react-hooks/exhaustive-deps
107
92
  }, [recentUsedColors, lastUsedColor, disabled]);
108
93
  const buttonId = `button-${id}`;
109
94
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("button", {
110
95
  type: "button",
111
96
  "aria-label": ariaLabel,
112
- className: validClassName,
97
+ className: (0, _classnames.default)(className, 'sdoc-color-menu sdoc-menu-with-dropdown', {
98
+ 'menu-show': isShowMenu,
99
+ 'disabled': disabled,
100
+ 'rich-icon-btn d-flex': isRichEditor,
101
+ 'rich-icon-btn-disabled': isRichEditor && disabled,
102
+ 'rich-icon-btn-hover': isRichEditor && !disabled,
103
+ 'btn btn-icon btn-secondary btn-active d-flex': !isRichEditor
104
+ }),
113
105
  id: buttonId,
114
106
  disabled: disabled
115
107
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -199,7 +191,7 @@ const ColorMenu = _ref => {
199
191
  target: "sdoc-more-colors",
200
192
  className: "sdoc-more-colors-popover",
201
193
  trigger: "hover",
202
- placement: "left-end",
194
+ placement: "right",
203
195
  hideArrow: true,
204
196
  fade: false,
205
197
  toggle: moreColorsPopoverToggle,
@@ -150,7 +150,8 @@ const FileLinkInsertDialog = _ref => {
150
150
  document.removeEventListener('keydown', onKeydown);
151
151
  unsubscribeCloseDialog();
152
152
  };
153
- }, [closeDialog, editor, eventBus, files, getPosition, onClick, onKeydown, onScroll]);
153
+ // eslint-disable-next-line
154
+ }, [closeDialog, eventBus, getPosition, onClick, onKeydown, onScroll]);
154
155
  const onSearch = (0, _react.useCallback)((0, _debounce.default)(async searchText => {
155
156
  // Show history files when search is empty
156
157
  if (searchText.trim().length === 0) {
@@ -223,6 +224,7 @@ const FileLinkInsertDialog = _ref => {
223
224
  newFileName: createName,
224
225
  ...external_props
225
226
  });
227
+ // eslint-disable-next-line react-hooks/exhaustive-deps
226
228
  }, [editor, element, newFileName]);
227
229
  const createFileTipDefault = (0, _react.useMemo)(() => {
228
230
  return 'Create_a_new_file';
@@ -5,17 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
9
8
  var _react = _interopRequireDefault(require("react"));
10
9
  class MenuGroup extends _react.default.PureComponent {
11
10
  render() {
12
11
  return /*#__PURE__*/_react.default.createElement("div", {
13
- className: 'btn-group ' + this.props.className,
12
+ className: 'btn-group ' + (this.props.className || 'menu-group'),
14
13
  role: 'group'
15
14
  }, this.props.children);
16
15
  }
17
16
  }
18
- (0, _defineProperty2.default)(MenuGroup, "defaultProps", {
19
- className: 'menu-group'
20
- });
21
17
  var _default = exports.default = MenuGroup;
@@ -67,12 +67,21 @@ function AIModule(_ref) {
67
67
  const articleDom = document.querySelector('.sdoc-editor__article');
68
68
  articleDom.style.paddingBottom = needPaddingBottomHeight + 'px';
69
69
  }
70
+ const isInView = rect.top + rect.height - window.innerHeight;
70
71
  const heightDiff = rect.bottom + _constants.AI_MIN_HEIGHT - window.innerHeight;
71
72
  if (heightDiff > 0) {
72
- scrollRef.current.scrollTo({
73
- top: scrollTop + rect.top - 94,
74
- behavior: 'smooth'
75
- });
73
+ if (isInView < 0) {
74
+ scrollRef.current.scrollTo({
75
+ top: scrollTop + rect.top - 94,
76
+ behavior: 'smooth'
77
+ });
78
+ } else {
79
+ scrollRef.current.scrollTo({
80
+ top: scrollTop + (rect.bottom - 94) - 100,
81
+ // scroll top + the rect bottom with container top - shown content height
82
+ behavior: 'smooth'
83
+ });
84
+ }
76
85
  }
77
86
  setTimeout(() => {
78
87
  var _rect, _inputRef$current;
@@ -65,6 +65,7 @@ const renderCallout = (_ref, editor) => {
65
65
  if (isContainUnitElement) return false;
66
66
  const elementContent = _slate.Node.string(element);
67
67
  return !elementContent.length;
68
+ // eslint-disable-next-line react-hooks/exhaustive-deps
68
69
  }, [element, isSelected]);
69
70
  const handleCloseColorSelector = (0, _react.useCallback)(() => {
70
71
  setIsShowColorSelector(false);
@@ -166,6 +166,8 @@ const CodeBlockHoverMenu = _ref2 => {
166
166
  case 'Enter':
167
167
  onSelectLang(langsData[selectedIndex], selectedIndex);
168
168
  break;
169
+ default:
170
+ break;
169
171
  }
170
172
  }, [langsData, selectedIndex, onSelectLang]);
171
173
  const scrollToLang = index => {
@@ -17,7 +17,7 @@ class ListMenu extends _react.default.Component {
17
17
  (0, _defineProperty2.default)(this, "isActive", () => {
18
18
  const {
19
19
  editor,
20
- type
20
+ type = _constants.UNORDERED_LIST
21
21
  } = this.props;
22
22
  return (0, _helpers.getListType)(editor, type) === type;
23
23
  });
@@ -34,7 +34,7 @@ class ListMenu extends _react.default.Component {
34
34
  if (this.isDisabled()) return;
35
35
  const {
36
36
  editor,
37
- type
37
+ type = _constants.UNORDERED_LIST
38
38
  } = this.props;
39
39
 
40
40
  // 执行命令
@@ -46,7 +46,7 @@ class ListMenu extends _react.default.Component {
46
46
  const {
47
47
  isRichEditor,
48
48
  className,
49
- type,
49
+ type = _constants.UNORDERED_LIST,
50
50
  ariaLabel
51
51
  } = this.props;
52
52
  const menuConfig = _constants.MENUS_CONFIG_MAP[type];
@@ -62,7 +62,4 @@ class ListMenu extends _react.default.Component {
62
62
  return /*#__PURE__*/_react.default.createElement(_commons.MenuItem, props);
63
63
  }
64
64
  }
65
- (0, _defineProperty2.default)(ListMenu, "defaultProps", {
66
- type: _constants.UNORDERED_LIST
67
- });
68
65
  var _default = exports.default = ListMenu;
@@ -10,7 +10,6 @@ var _core = require("../../../core");
10
10
  var _queries = require("../queries");
11
11
  var _unwrapList = require("./unwrap-list");
12
12
  var _model = require("../model");
13
- var _slateReact = require("@seafile/slate-react");
14
13
  const wrapLineList = (editor, type) => {
15
14
  const list = (0, _model.generateEmptyList)(type);
16
15
  _slate.Transforms.wrapNodes(editor, list);
@@ -187,6 +187,7 @@ const ParticipantPopover = _ref => {
187
187
  return;
188
188
  }
189
189
  handleInvolvedKeyUp(event);
190
+ // eslint-disable-next-line react-hooks/exhaustive-deps
190
191
  }, [editor, handleInvolvedKeyUp, handleSelectCollaborator, handleSelectingCollaborator]);
191
192
 
192
193
  // Add the Enter keydown event listener during the capture phase
@@ -116,6 +116,7 @@ const ResizeHandlers = _ref => {
116
116
  'mouseleave': onMouseUp
117
117
  });
118
118
  };
119
+ // eslint-disable-next-line react-hooks/exhaustive-deps
119
120
  }, [handleResizeColumn, column, isDraggingResizeHandler, isMouseNearBorder]);
120
121
  let leftAccumulator = 0;
121
122
  return /*#__PURE__*/_react.default.createElement("div", {
@@ -18,21 +18,23 @@ class Draggable extends _react.default.Component {
18
18
  drag: null
19
19
  });
20
20
  (0, _defineProperty2.default)(this, "onMouseDown", e => {
21
- const drag = this.props.onDragStart(e);
22
- if (e.preventDefault) {
23
- e.preventDefault();
24
- }
25
- (0, _mouseEvent.eventStopPropagation)(e);
26
- if (drag === null && e.button !== 0) {
27
- return;
21
+ if (this.props.onDragStart) {
22
+ const drag = this.props.onDragStart(e);
23
+ if (e.preventDefault) {
24
+ e.preventDefault();
25
+ }
26
+ (0, _mouseEvent.eventStopPropagation)(e);
27
+ if (drag === null && e.button !== 0) {
28
+ return;
29
+ }
30
+ this.setState({
31
+ drag
32
+ });
28
33
  }
29
34
  window.addEventListener('mouseup', this.onMouseUp);
30
35
  window.addEventListener('mousemove', this.onMouseMove);
31
36
  window.addEventListener('touchend', this.onMouseUp);
32
37
  window.addEventListener('touchmove', this.onMouseMove);
33
- this.setState({
34
- drag
35
- });
36
38
  });
37
39
  (0, _defineProperty2.default)(this, "onMouseMove", e => {
38
40
  if (this.state.drag === null) {
@@ -42,12 +44,12 @@ class Draggable extends _react.default.Component {
42
44
  e.preventDefault();
43
45
  }
44
46
  (0, _mouseEvent.eventStopPropagation)(e);
45
- this.props.onDrag(e);
47
+ this.props.onDrag && this.props.onDrag(e);
46
48
  });
47
49
  (0, _defineProperty2.default)(this, "onMouseUp", e => {
48
50
  (0, _mouseEvent.eventStopPropagation)(e);
49
51
  this.cleanUp();
50
- this.props.onDragEnd(e, this.state.drag);
52
+ this.props.onDragEnd && this.props.onDragEnd(e, this.state.drag);
51
53
  this.setState({
52
54
  drag: null
53
55
  });
@@ -73,9 +75,4 @@ class Draggable extends _react.default.Component {
73
75
  }));
74
76
  }
75
77
  }
76
- (0, _defineProperty2.default)(Draggable, "defaultProps", {
77
- onDragStart: () => true,
78
- onDragEnd: () => {},
79
- onDrag: () => {}
80
- });
81
78
  var _default = exports.default = Draggable;
@@ -55,7 +55,7 @@ class CellFormatter extends _react.default.Component {
55
55
  column,
56
56
  cellValue,
57
57
  collaborators,
58
- isSample,
58
+ isSample = true,
59
59
  isSeatableRow
60
60
  } = this.props;
61
61
  const {
@@ -287,7 +287,4 @@ class CellFormatter extends _react.default.Component {
287
287
  return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, this.renderFormatter());
288
288
  }
289
289
  }
290
- (0, _defineProperty2.default)(CellFormatter, "defaultProps", {
291
- isSample: true
292
- });
293
290
  var _default = exports.default = (0, _reactI18next.withTranslation)('sdoc-editor')(CellFormatter);
@@ -23,7 +23,7 @@ class DtableSearchInput extends _react.Component {
23
23
  this.timer && clearTimeout(this.timer);
24
24
  const {
25
25
  onChange,
26
- wait
26
+ wait = 100
27
27
  } = this.props;
28
28
  let text = e.target.value;
29
29
  this.setState({
@@ -85,7 +85,7 @@ class DtableSearchInput extends _react.Component {
85
85
  }, "\xD7");
86
86
  });
87
87
  this.state = {
88
- searchValue: props.value
88
+ searchValue: props.value || ''
89
89
  };
90
90
  this.isInputtingChinese = false;
91
91
  this.timer = null;
@@ -109,7 +109,7 @@ class DtableSearchInput extends _react.Component {
109
109
  autoFocus,
110
110
  className,
111
111
  onKeyDown,
112
- disabled,
112
+ disabled = false,
113
113
  style
114
114
  } = this.props;
115
115
  const {
@@ -131,9 +131,4 @@ class DtableSearchInput extends _react.Component {
131
131
  }), this.renderClear());
132
132
  }
133
133
  }
134
- (0, _defineProperty2.default)(DtableSearchInput, "defaultProps", {
135
- wait: 100,
136
- disabled: false,
137
- value: ''
138
- });
139
134
  var _default = exports.default = DtableSearchInput;
@@ -163,7 +163,7 @@ class FilterPopover extends _react.Component {
163
163
  return /*#__PURE__*/_react.default.createElement("div", {
164
164
  ref: ref => this.dtablePopoverRef = ref,
165
165
  onClick: this.onPopoverInsideClick,
166
- className: this.props.filtersClassName
166
+ className: this.props.filtersClassName || ''
167
167
  }, /*#__PURE__*/_react.default.createElement(_filtersList.default, {
168
168
  filterConjunction: filterConjunction,
169
169
  filters: filters,
@@ -194,7 +194,4 @@ class FilterPopover extends _react.Component {
194
194
  });
195
195
  }
196
196
  }
197
- (0, _defineProperty2.default)(FilterPopover, "defaultProps", {
198
- filtersClassName: ''
199
- });
200
197
  var _default = exports.default = (0, _reactI18next.withTranslation)('sdoc-editor')(FilterPopover);
@@ -37,7 +37,8 @@ class FilterSetter extends _react.default.Component {
37
37
  filters,
38
38
  columns,
39
39
  collaborators,
40
- isNeedSubmit,
40
+ target = 'sdoc-editor-filter-popover',
41
+ isNeedSubmit = false,
41
42
  isShowFilterPopover,
42
43
  container
43
44
  } = this.props;
@@ -47,7 +48,7 @@ class FilterSetter extends _react.default.Component {
47
48
  container: container,
48
49
  filtersClassName: filtersClassName,
49
50
  popperClassName: popperClassName,
50
- target: this.props.target,
51
+ target: target,
51
52
  isNeedSubmit: isNeedSubmit,
52
53
  columns: columns,
53
54
  collaborators: collaborators,
@@ -59,8 +60,4 @@ class FilterSetter extends _react.default.Component {
59
60
  }));
60
61
  }
61
62
  }
62
- (0, _defineProperty2.default)(FilterSetter, "defaultProps", {
63
- target: 'sdoc-editor-filter-popover',
64
- isNeedSubmit: false
65
- });
66
63
  var _default = exports.default = (0, _reactI18next.withTranslation)('sdoc-editor')(FilterSetter);
@@ -26,7 +26,7 @@ class HideColumnSetter extends _react.Component {
26
26
  }
27
27
  render() {
28
28
  const {
29
- target,
29
+ target = 'sdoc-editor-hide-column-popover',
30
30
  columns,
31
31
  isShowHideColumnSetter,
32
32
  container,
@@ -47,7 +47,4 @@ class HideColumnSetter extends _react.Component {
47
47
  }));
48
48
  }
49
49
  }
50
- (0, _defineProperty2.default)(HideColumnSetter, "defaultProps", {
51
- target: 'sdoc-editor-hide-column-popover'
52
- });
53
50
  var _default = exports.default = (0, _reactI18next.withTranslation)('sdoc-editor')(HideColumnSetter);
@@ -23,9 +23,10 @@ class SortSetter extends _react.Component {
23
23
  }
24
24
  render() {
25
25
  const {
26
+ target = 'sdoc-editor-sort-popover',
27
+ isNeedSubmit = false,
26
28
  sorts,
27
29
  columns,
28
- isNeedSubmit,
29
30
  isShowSortPopover,
30
31
  container,
31
32
  popperClassName,
@@ -33,7 +34,7 @@ class SortSetter extends _react.Component {
33
34
  } = this.props;
34
35
  if (!columns) return null;
35
36
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, isShowSortPopover && /*#__PURE__*/_react.default.createElement(_sortPopover.default, {
36
- target: this.props.target,
37
+ target: target,
37
38
  popperClassName: popperClassName,
38
39
  container: container,
39
40
  isNeedSubmit: isNeedSubmit,
@@ -44,8 +45,4 @@ class SortSetter extends _react.Component {
44
45
  }));
45
46
  }
46
47
  }
47
- (0, _defineProperty2.default)(SortSetter, "defaultProps", {
48
- target: 'sdoc-editor-sort-popover',
49
- isNeedSubmit: false
50
- });
51
48
  var _default = exports.default = (0, _reactI18next.withTranslation)('sdoc-editor')(SortSetter);
@@ -14,12 +14,14 @@ class CommonMenu extends _react.Component {
14
14
  super(props);
15
15
  (0, _defineProperty2.default)(this, "getClassName", () => {
16
16
  const {
17
- isRichEditor,
18
- className,
17
+ isRichEditor = true,
18
+ className = 'menu-group-item',
19
19
  disabled
20
20
  } = this.props;
21
21
  let itemClass = 'btn btn-icon btn-secondary btn-active d-flex';
22
- if (!isRichEditor) return itemClass + ' ' + className + ' sdoc-menu-with-dropdown';
22
+ if (!isRichEditor) {
23
+ return itemClass + ' ' + className + ' sdoc-menu-with-dropdown';
24
+ }
23
25
  itemClass = `rich-icon-btn d-flex ${disabled ? 'rich-icon-btn-disabled' : 'rich-icon-btn-hover'}`;
24
26
  return itemClass + ' ' + className + ' sdoc-menu-with-dropdown';
25
27
  });
@@ -53,11 +55,10 @@ class CommonMenu extends _react.Component {
53
55
  const {
54
56
  isShowMenu
55
57
  } = this.state;
56
- const className = this.getClassName();
57
58
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("button", {
58
59
  id: id,
59
60
  type: "button",
60
- className: className
61
+ className: this.getClassName()
61
62
  }, /*#__PURE__*/_react.default.createElement("div", {
62
63
  className: "sdoc-menu-with-dropdown-icon"
63
64
  }, /*#__PURE__*/_react.default.createElement("i", {
@@ -79,8 +80,4 @@ class CommonMenu extends _react.Component {
79
80
  }, children)));
80
81
  }
81
82
  }
82
- (0, _defineProperty2.default)(CommonMenu, "defaultProps", {
83
- isRichEditor: true,
84
- className: 'menu-group-item'
85
- });
86
83
  var _default = exports.default = CommonMenu;
@@ -67,31 +67,25 @@ const ColorSelectorPopover = _ref => {
67
67
  const color = event.target.dataset.color;
68
68
  onSetColor(color);
69
69
  }
70
-
71
70
  // eslint-disable-next-line react-hooks/exhaustive-deps
72
71
  }, [recentUsedColors, recentUsedColorsKey, isShowMenu, isPickerShow]);
73
72
  const toggle = (0, _react.useCallback)(() => {
74
73
  if (isPickerShow) return;
75
74
  popoverRef.current.toggle();
76
75
  setMenuShow(!isShowMenu);
77
-
78
76
  // eslint-disable-next-line react-hooks/exhaustive-deps
79
77
  }, [isShowMenu, isPickerShow]);
80
78
  const moreColorsPopoverToggle = (0, _react.useCallback)(() => {
81
79
  moreColorsPopoverRef.current.toggle();
82
80
  setPickerShow(!isPickerShow);
83
-
84
81
  // eslint-disable-next-line react-hooks/exhaustive-deps
85
82
  }, [moreColorsPopoverRef, isPickerShow]);
86
83
  const onMouseDown = (0, _react.useCallback)(event => {
87
84
  (0, _mouseEvent.eventStopPropagation)(event);
88
-
89
- // eslint-disable-next-line react-hooks/exhaustive-deps
90
85
  }, []);
91
86
  const onChange = (0, _react.useCallback)(color => {
92
87
  const validColor = color.hex;
93
88
  onSetColor(validColor, false);
94
-
95
89
  // eslint-disable-next-line react-hooks/exhaustive-deps
96
90
  }, [readonly]);
97
91
  return /*#__PURE__*/_react.default.createElement(_reactstrap.UncontrolledPopover, {
@@ -162,7 +156,7 @@ const ColorSelectorPopover = _ref => {
162
156
  target: "sdoc-more-colors",
163
157
  className: "sdoc-more-colors-popover sdoc-table-more-colors",
164
158
  trigger: "hover",
165
- placement: "right-end",
159
+ placement: "right",
166
160
  hideArrow: true,
167
161
  fade: false,
168
162
  toggle: moreColorsPopoverToggle,
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
- var _react = _interopRequireDefault(require("react"));
9
8
  var _slate = require("@seafile/slate");
10
9
  var _isHotkey = _interopRequireDefault(require("is-hotkey"));
11
10
  var _core = require("../../core");
@@ -291,6 +291,7 @@ const QuickInsertBlockMenu = _ref => {
291
291
  delete items[_constants.VIDEO];
292
292
  }
293
293
  return items;
294
+ // eslint-disable-next-line react-hooks/exhaustive-deps
294
295
  }, [quickInsertMenuSearchMap, isDisableImage, onInsertImageToggle, isDisableVideo, isDisableMultiColumn, onInsertVideoToggle, isDisableTable, editor, createTable, callback, handleClosePopover, openLinkDialog, onInsertCodeBlock, isDisableCallout, onInsertCheckList, isEmptyNode, onInsertCallout, onInsertList, onInsert, createMultiColumn]);
295
296
  const getSelectItemDom = selectIndex => {
296
297
  const dropDownItemWrapper = downDownWrapperRef.current;
@@ -1,13 +1,12 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
10
- var _react = _interopRequireWildcard(require("react"));
9
+ var _react = _interopRequireDefault(require("react"));
11
10
  var _basicSdk = require("../../../basic-sdk");
12
11
  var _context = _interopRequireDefault(require("../../../context"));
13
12
  var _collaboratorsPopover = _interopRequireDefault(require("./collaborators-popover"));
@@ -73,7 +72,7 @@ class CollaboratorsOperation extends _react.default.PureComponent {
73
72
  const {
74
73
  collaborators
75
74
  } = this.state;
76
- return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
75
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
77
76
  className: "op-item collaborators-op-item",
78
77
  id: "collaborators"
79
78
  }, /*#__PURE__*/_react.default.createElement("i", {
@@ -93,7 +93,7 @@ class Toast extends _react.default.PureComponent {
93
93
  padding: 8
94
94
  }
95
95
  }, /*#__PURE__*/_react.default.createElement(_alert.default, {
96
- intent: this.props.intent,
96
+ intent: this.props.intent || 'none',
97
97
  title: this.props.title,
98
98
  children: this.props.children || '',
99
99
  isRemovable: this.props.hasCloseButton,
@@ -101,7 +101,4 @@ class Toast extends _react.default.PureComponent {
101
101
  }))));
102
102
  }
103
103
  }
104
- exports.default = Toast;
105
- (0, _defineProperty2.default)(Toast, "defaultProps", {
106
- intent: 'none'
107
- });
104
+ exports.default = Toast;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seafile/sdoc-editor",
3
- "version": "2.0.52",
3
+ "version": "2.0.54",
4
4
  "private": false,
5
5
  "description": "This is a sdoc editor",
6
6
  "main": "dist/index.js",
@@ -48,6 +48,7 @@
48
48
  "url-parse": "1.5.10"
49
49
  },
50
50
  "scripts": {
51
+ "lint-fix": "eslint --ext .jsx,.js ./src --fix",
51
52
  "clean": "rm -rf dist && mkdir dist",
52
53
  "start.bak": "node scripts/start.js",
53
54
  "start": "cross-env NODE_ENV=development node dev-server.js",