@seafile/sdoc-editor 0.1.89 → 0.1.91

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 (40) hide show
  1. package/dist/basic-sdk/assets/css/layout.css +1 -1
  2. package/dist/basic-sdk/editor.js +6 -3
  3. package/dist/basic-sdk/extension/{menu → commons}/color-menu/index.css +1 -1
  4. package/dist/basic-sdk/extension/{menu → commons}/color-menu/index.js +14 -17
  5. package/dist/basic-sdk/extension/commons/index.js +5 -0
  6. package/dist/{components → basic-sdk/extension/commons}/more-dropdown/index.js +3 -3
  7. package/dist/basic-sdk/extension/constants/color.js +11 -1
  8. package/dist/basic-sdk/extension/constants/index.js +7 -6
  9. package/dist/basic-sdk/extension/index.js +1 -2
  10. package/dist/basic-sdk/extension/plugins/blockquote/menu/index.js +1 -1
  11. package/dist/basic-sdk/extension/plugins/check-list/menu/index.js +1 -1
  12. package/dist/basic-sdk/extension/plugins/clear-format/menu/index.js +1 -1
  13. package/dist/basic-sdk/extension/plugins/code-block/hover-menu/index.js +1 -1
  14. package/dist/basic-sdk/extension/plugins/code-block/menu/index.js +1 -1
  15. package/dist/basic-sdk/extension/plugins/image/menu/index.js +1 -1
  16. package/dist/basic-sdk/extension/plugins/link/menu/index.js +1 -1
  17. package/dist/basic-sdk/extension/plugins/list/menu/index.js +1 -1
  18. package/dist/basic-sdk/extension/plugins/table/helpers.js +1 -2
  19. package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/index.css +0 -4
  20. package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/index.js +17 -10
  21. package/dist/basic-sdk/extension/plugins/table/menu/table-context-menu/index.js +1 -1
  22. package/dist/basic-sdk/extension/plugins/table/menu/table-menu/index.js +1 -1
  23. package/dist/basic-sdk/extension/plugins/table/plugin.js +11 -6
  24. package/dist/basic-sdk/extension/plugins/text-style/menu/index.js +12 -4
  25. package/dist/basic-sdk/extension/toolbar/context-toolbar/index.css +1 -0
  26. package/dist/basic-sdk/extension/toolbar/context-toolbar/index.js +7 -5
  27. package/dist/basic-sdk/extension/toolbar/header-toolbar/index.js +54 -0
  28. package/dist/basic-sdk/extension/toolbar/{redo-undo.js → header-toolbar/redo-undo.js} +2 -2
  29. package/dist/basic-sdk/extension/toolbar/index.js +3 -54
  30. package/dist/basic-sdk/hooks/use-font-color-context.js +28 -0
  31. package/dist/basic-sdk/hooks/use-highlight-color-context.js +28 -0
  32. package/dist/basic-sdk/node-id/index.js +1 -1
  33. package/dist/layout/layout.css +1 -1
  34. package/package.json +1 -1
  35. package/dist/basic-sdk/constants/index.js +0 -1
  36. /package/dist/basic-sdk/extension/{menu → commons}/color-menu/color-item.js +0 -0
  37. /package/dist/basic-sdk/extension/{menu → commons/menu}/index.js +0 -0
  38. /package/dist/basic-sdk/extension/{menu → commons/menu}/menu-group.js +0 -0
  39. /package/dist/basic-sdk/extension/{menu → commons/menu}/menu-item.js +0 -0
  40. /package/dist/basic-sdk/extension/{menu → commons/menu}/menu.css +0 -0
@@ -61,7 +61,7 @@
61
61
 
62
62
  .sdoc-editor-container .sdoc-editor-content .article {
63
63
  width: 794px;
64
- min-height: 100%;
64
+ min-height: 800px;
65
65
  padding: 40px 60px;
66
66
  background-color: #fff;
67
67
  border: 1px solid #e5e6e8;
@@ -16,6 +16,8 @@ import CommentWrapper from './comment';
16
16
  import { usePipDecorate } from './decorates';
17
17
  import { getCursorPosition, getDomHeight, getDomMarginTop } from './utils/dom-utils';
18
18
  import EventBus from './utils/event-bus';
19
+ import { FontColorProvider } from './hooks/use-font-color-context';
20
+ import { HighlightColorProvider } from './hooks/use-highlight-color-context';
19
21
  import './assets/css/layout.css';
20
22
  import './assets/css/sdoc-editor-plugins.css';
21
23
  import './assets/css/dropdown-menu.css';
@@ -87,6 +89,7 @@ var SDocEditor = function SDocEditor(_ref) {
87
89
  var _scrollRef$current = scrollRef.current,
88
90
  scrollTop = _scrollRef$current.scrollTop,
89
91
  clientHeight = _scrollRef$current.clientHeight;
92
+ eventProxy.onKeyDown(event);
90
93
  if (event.key === 'ArrowLeft') {
91
94
  if (!isSelectionAtBlockStart(editor)) return;
92
95
  }
@@ -170,7 +173,7 @@ var SDocEditor = function SDocEditor(_ref) {
170
173
  return;
171
174
  }
172
175
  }
173
- eventProxy.onKeyDown(event);
176
+
174
177
  // eslint-disable-next-line react-hooks/exhaustive-deps
175
178
  }, []);
176
179
  var _useState3 = useState({}),
@@ -205,7 +208,7 @@ var SDocEditor = function SDocEditor(_ref) {
205
208
  }, []);
206
209
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
207
210
  className: "sdoc-editor-container"
208
- }, /*#__PURE__*/React.createElement(Toolbar, {
211
+ }, /*#__PURE__*/React.createElement(FontColorProvider, null, /*#__PURE__*/React.createElement(HighlightColorProvider, null, /*#__PURE__*/React.createElement(Toolbar, {
209
212
  editor: editor
210
213
  }), /*#__PURE__*/React.createElement("div", {
211
214
  className: "sdoc-editor-content"
@@ -243,6 +246,6 @@ var SDocEditor = function SDocEditor(_ref) {
243
246
  onMouseDown: onMouseDown,
244
247
  decorate: decorate,
245
248
  onCut: eventProxy.onCut
246
- })), /*#__PURE__*/React.createElement(CommentWrapper, null))))))))));
249
+ })), /*#__PURE__*/React.createElement(CommentWrapper, null))))))))))));
247
250
  };
248
251
  export default SDocEditor;
@@ -47,7 +47,7 @@
47
47
  }
48
48
 
49
49
  .sdoc-color-menu-popover .popover {
50
- left: -30px !important;
50
+ left: -24px !important;
51
51
  }
52
52
 
53
53
  .sdoc-color-menu-popover .sdoc-color-dropdown-menu {
@@ -19,30 +19,28 @@ var ColorMenu = function ColorMenu(_ref) {
19
19
  t = _ref.t,
20
20
  setColor = _ref.setColor,
21
21
  recentUsedColorsKey = _ref.recentUsedColorsKey,
22
- lastUsedColorKey = _ref.lastUsedColorKey,
23
22
  text = _ref.text,
24
23
  defaultColorTip = _ref.defaultColorTip,
25
- defaultColor = _ref.defaultColor;
24
+ defaultColor = _ref.defaultColor,
25
+ lastUsedColor = _ref.lastUsedColor,
26
+ updateLastUsedColor = _ref.updateLastUsedColor;
26
27
  var popoverRef = useRef(null);
27
28
  var moreColorsPopoverRef = useRef(null);
28
- var _useState = useState(LocalStorage.getItem(lastUsedColorKey, '')),
29
+ var _useState = useState(LocalStorage.getItem(recentUsedColorsKey, DEFAULT_RECENT_USED_COLORS)),
29
30
  _useState2 = _slicedToArray(_useState, 2),
30
- lastUsedColor = _useState2[0],
31
- setLastUseColor = _useState2[1];
32
- var _useState3 = useState(LocalStorage.getItem(recentUsedColorsKey, DEFAULT_RECENT_USED_COLORS)),
31
+ recentUsedColors = _useState2[0],
32
+ setRecentUsedColors = _useState2[1];
33
+ var _useState3 = useState(false),
33
34
  _useState4 = _slicedToArray(_useState3, 2),
34
- recentUsedColors = _useState4[0],
35
- setRecentUsedColors = _useState4[1];
35
+ isShowMenu = _useState4[0],
36
+ setMenuShow = _useState4[1];
36
37
  var _useState5 = useState(false),
37
38
  _useState6 = _slicedToArray(_useState5, 2),
38
- isShowMenu = _useState6[0],
39
- setMenuShow = _useState6[1];
40
- var _useState7 = useState(false),
41
- _useState8 = _slicedToArray(_useState7, 2),
42
- isPickerShow = _useState8[0],
43
- setPickerShow = _useState8[1];
39
+ isPickerShow = _useState6[0],
40
+ setPickerShow = _useState6[1];
44
41
  var onSetColor = useCallback(function (color) {
45
42
  var shouldClose = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
43
+ if (disabled) return;
46
44
  var validColor = color || '';
47
45
  setColor(validColor);
48
46
  if (validColor !== '' && recentUsedColors[0] !== validColor) {
@@ -51,15 +49,14 @@ var ColorMenu = function ColorMenu(_ref) {
51
49
  LocalStorage.setItem(recentUsedColorsKey, newRecentUsedColors);
52
50
  setRecentUsedColors(newRecentUsedColors);
53
51
  }
54
- LocalStorage.setItem(lastUsedColorKey, validColor);
55
- setLastUseColor(validColor);
52
+ updateLastUsedColor && updateLastUsedColor(validColor);
56
53
  if (shouldClose) {
57
54
  popoverRef.current.toggle();
58
55
  setMenuShow(!isShowMenu);
59
56
  }
60
57
 
61
58
  // eslint-disable-next-line react-hooks/exhaustive-deps
62
- }, [recentUsedColors, recentUsedColorsKey, isShowMenu, isPickerShow]);
59
+ }, [recentUsedColors, recentUsedColorsKey, isShowMenu, isPickerShow, disabled]);
63
60
  var setColorProxy = useCallback(function (event) {
64
61
  if (event.target.className.includes('sdoc-color-item')) {
65
62
  var color = event.target.dataset.color;
@@ -0,0 +1,5 @@
1
+ import ColorMenu from './color-menu';
2
+ import ElementPopover from './element-popover';
3
+ import MoreDropdown from './more-dropdown';
4
+ import { MenuGroup, MenuItem } from './menu';
5
+ export { ColorMenu, ElementPopover, MenuGroup, MenuItem, MoreDropdown };
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import classnames from 'classnames';
3
3
  import { UncontrolledPopover } from 'reactstrap';
4
- var MoreDropdownMenu = function MoreDropdownMenu(_ref) {
4
+ var MoreDropdown = function MoreDropdown(_ref) {
5
5
  var className = _ref.className,
6
6
  disabled = _ref.disabled,
7
7
  isRichEditor = _ref.isRichEditor,
@@ -31,8 +31,8 @@ var MoreDropdownMenu = function MoreDropdownMenu(_ref) {
31
31
  className: "menu-group"
32
32
  }, children)));
33
33
  };
34
- MoreDropdownMenu.defaultProps = {
34
+ MoreDropdown.defaultProps = {
35
35
  isRichEditor: true,
36
36
  className: 'menu-group-item'
37
37
  };
38
- export default MoreDropdownMenu;
38
+ export default MoreDropdown;
@@ -263,4 +263,14 @@ export var STANDARD_COLORS = [{
263
263
 
264
264
  // Initialize the most recently used colors
265
265
  export var DEFAULT_RECENT_USED_COLORS = new Array(10).fill('');
266
- export var DEFAULT_FONT_COLOR = '#333333';
266
+ export var DEFAULT_FONT_COLOR = '#333333';
267
+
268
+ // default last used color
269
+ export var DEFAULT_LAST_USED_FONT_COLOR = '#FFFF00';
270
+ export var DEFAULT_LAST_USED_HIGHLIGHT_COLOR = '#FF0000';
271
+ export var DEFAULT_LAST_USED_TABLE_CELL_BG_COLOR = '#FF0000';
272
+
273
+ // recent used colors key
274
+ export var RECENT_USED_HIGHLIGHT_COLORS_KEY = 'sdoc-recent-used-highlight-colors';
275
+ export var RECENT_USED_FONT_COLORS_KEY = 'sdoc-recent-used-font-colors';
276
+ export var RECENT_USED_TABLE_CELL_BG_COLORS_KEY = 'sdoc-recent-used-bg-colors';
@@ -4,7 +4,7 @@ var _MENUS_CONFIG_MAP, _HEADER_TITLE_MAP;
4
4
  import * as ELEMENT_TYPE from './element-type';
5
5
  import { BLOCKQUOTE, HEADER, HEADER1, HEADER2, HEADER3, HEADER4, HEADER5, HEADER6, PARAGRAPH, BOLD, ITALIC, UNDERLINE, STRIKETHROUGH, SUPERSCRIPT, SUBSCRIPT, ORDERED_LIST, UNORDERED_LIST, LIST_ITEM, LIST_LIC, CHECK_LIST, CHECK_LIST_ITEM, LINK, HTML, CODE_BLOCK, CODE_LINE, IMAGE, TABLE, TABLE_CELL, TABLE_ROW, FORMULA, COLUMN, TEXT_STYLE, TEXT_STYLE_MORE, BOLD_ITALIC, TEXT_ALIGN, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_CENTER, CLEAR_FORMAT, COLOR, HIGHLIGHT_COLOR } from './element-type';
6
6
  import KEYBOARD from './keyboard';
7
- import { DEFAULT_COLORS, STANDARD_COLORS, DEFAULT_RECENT_USED_COLORS, DEFAULT_FONT_COLOR } from './color';
7
+ import { DEFAULT_COLORS, STANDARD_COLORS, DEFAULT_RECENT_USED_COLORS, DEFAULT_FONT_COLOR, RECENT_USED_HIGHLIGHT_COLORS_KEY, RECENT_USED_FONT_COLORS_KEY, RECENT_USED_TABLE_CELL_BG_COLORS_KEY, DEFAULT_LAST_USED_FONT_COLOR, DEFAULT_LAST_USED_HIGHLIGHT_COLOR, DEFAULT_LAST_USED_TABLE_CELL_BG_COLOR } from './color';
8
8
 
9
9
  // history
10
10
  export var UNDO = 'undo';
@@ -72,8 +72,8 @@ export var MENUS_CONFIG_MAP = (_MENUS_CONFIG_MAP = {}, _defineProperty(_MENUS_CO
72
72
  text: 'Highlight_color',
73
73
  type: HIGHLIGHT_COLOR,
74
74
  isColor: true,
75
- recentUsedColorsKey: 'sdoc-recent-used-highlight-colors',
76
- lastUsedColorKey: 'sdoc-last-used-highlight-color'
75
+ recentUsedColorsKey: RECENT_USED_HIGHLIGHT_COLORS_KEY,
76
+ defaultLastUsedColor: DEFAULT_LAST_USED_HIGHLIGHT_COLOR
77
77
  }, {
78
78
  id: "sdoc-font-".concat(COLOR),
79
79
  iconClass: 'sdocfont sdoc-font-color',
@@ -81,8 +81,8 @@ export var MENUS_CONFIG_MAP = (_MENUS_CONFIG_MAP = {}, _defineProperty(_MENUS_CO
81
81
  type: COLOR,
82
82
  defaultColor: DEFAULT_FONT_COLOR,
83
83
  isColor: true,
84
- recentUsedColorsKey: 'sdoc-recent-used-font-colors',
85
- lastUsedColorKey: 'sdoc-last-used-font-color'
84
+ recentUsedColorsKey: RECENT_USED_FONT_COLORS_KEY,
85
+ defaultLastUsedColor: DEFAULT_LAST_USED_FONT_COLOR
86
86
  }]), _defineProperty(_MENUS_CONFIG_MAP, TEXT_STYLE_MORE, [{
87
87
  id: STRIKETHROUGH,
88
88
  iconClass: 'sdocfont sdoc-strikethrough',
@@ -151,4 +151,5 @@ export var ADDED_STYLE = {
151
151
  export var HEADER_TYPE_ARRAY = ['header1', 'header2', 'header3', 'header4', 'header5', 'header6'];
152
152
  export var LIST_TYPE_ARRAY = ['unordered_list', 'ordered_list'];
153
153
  export var TRANSPARENT = 'transparent';
154
- export { BLOCKQUOTE, HEADER, HEADER1, HEADER2, HEADER3, HEADER4, HEADER5, HEADER6, PARAGRAPH, BOLD, ITALIC, UNDERLINE, STRIKETHROUGH, SUPERSCRIPT, SUBSCRIPT, ORDERED_LIST, UNORDERED_LIST, LIST_ITEM, LIST_LIC, CHECK_LIST, CHECK_LIST_ITEM, LINK, HTML, CODE_BLOCK, CODE_LINE, IMAGE, TABLE, TABLE_CELL, TABLE_ROW, FORMULA, COLUMN, TEXT_STYLE, TEXT_STYLE_MORE, BOLD_ITALIC, TEXT_ALIGN, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_CENTER, ELEMENT_TYPE, KEYBOARD, DEFAULT_COLORS, STANDARD_COLORS, DEFAULT_RECENT_USED_COLORS, CLEAR_FORMAT, DEFAULT_FONT_COLOR };
154
+ export var CLIPBOARD_FORMAT_KEY = 'x-slate-fragment';
155
+ export { BLOCKQUOTE, HEADER, HEADER1, HEADER2, HEADER3, HEADER4, HEADER5, HEADER6, PARAGRAPH, BOLD, ITALIC, UNDERLINE, STRIKETHROUGH, SUPERSCRIPT, SUBSCRIPT, ORDERED_LIST, UNORDERED_LIST, LIST_ITEM, LIST_LIC, CHECK_LIST, CHECK_LIST_ITEM, LINK, HTML, CODE_BLOCK, CODE_LINE, IMAGE, TABLE, TABLE_CELL, TABLE_ROW, FORMULA, COLUMN, TEXT_STYLE, TEXT_STYLE_MORE, BOLD_ITALIC, TEXT_ALIGN, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_CENTER, ELEMENT_TYPE, KEYBOARD, DEFAULT_COLORS, STANDARD_COLORS, DEFAULT_RECENT_USED_COLORS, CLEAR_FORMAT, DEFAULT_FONT_COLOR, RECENT_USED_HIGHLIGHT_COLORS_KEY, RECENT_USED_FONT_COLORS_KEY, RECENT_USED_TABLE_CELL_BG_COLORS_KEY, DEFAULT_LAST_USED_FONT_COLOR, DEFAULT_LAST_USED_HIGHLIGHT_COLOR, DEFAULT_LAST_USED_TABLE_CELL_BG_COLOR };
@@ -4,8 +4,7 @@ import { withHistory } from '@seafile/slate-history';
4
4
  import Plugins from './plugins';
5
5
  import renderElement from './render/render-element';
6
6
  import renderLeaf from './render/render-leaf';
7
- import Toolbar from './toolbar';
8
- import ContextToolbar from './toolbar/context-toolbar';
7
+ import { Toolbar, ContextToolbar } from './toolbar';
9
8
  var baseEditor = withHistory(withReact(createEditor()));
10
9
  var defaultEditor = Plugins.reduce(function (editor, pluginItem) {
11
10
  var withPlugin = pluginItem.editorPlugin;
@@ -5,7 +5,7 @@ import _inherits from "@babel/runtime/helpers/esm/inherits";
5
5
  import _createSuper from "@babel/runtime/helpers/esm/createSuper";
6
6
  import React from 'react';
7
7
  import { BLOCKQUOTE, MENUS_CONFIG_MAP } from '../../../constants';
8
- import { MenuItem } from '../../../menu';
8
+ import { MenuItem } from '../../../commons';
9
9
  import { getBlockQuoteType, isMenuDisabled, setBlockQuoteType } from '../helpers';
10
10
  var QuoteMenu = /*#__PURE__*/function (_React$Component) {
11
11
  _inherits(QuoteMenu, _React$Component);
@@ -5,7 +5,7 @@ import _inherits from "@babel/runtime/helpers/esm/inherits";
5
5
  import _createSuper from "@babel/runtime/helpers/esm/createSuper";
6
6
  import React from 'react';
7
7
  import { CHECK_LIST, CHECK_LIST_ITEM, MENUS_CONFIG_MAP, PARAGRAPH } from '../../../constants';
8
- import { MenuItem } from '../../../menu';
8
+ import { MenuItem } from '../../../commons';
9
9
  import { isMenuDisabled, setCheckListItemType, getCheckListItemType } from '../helpers';
10
10
  var CheckListMenu = /*#__PURE__*/function (_React$Component) {
11
11
  _inherits(CheckListMenu, _React$Component);
@@ -1,7 +1,7 @@
1
1
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
2
  import React, { useCallback } from 'react';
3
3
  import { CLEAR_FORMAT, MENUS_CONFIG_MAP } from '../../../constants';
4
- import { MenuItem } from '../../../menu';
4
+ import { MenuItem } from '../../../commons';
5
5
  import { isMenuDisabled, clearStyles } from '../helpers';
6
6
  var menuConfig = MENUS_CONFIG_MAP[CLEAR_FORMAT];
7
7
  var ClearFormatMenu = function ClearFormatMenu(_ref) {
@@ -1,7 +1,7 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
2
  import React, { useCallback, useEffect, useState } from 'react';
3
3
  import { withTranslation } from 'react-i18next';
4
- import ElementPopover from '../../../commons/element-popover';
4
+ import { ElementPopover } from '../../../commons/';
5
5
  import { genCodeLangs } from '../prismjs';
6
6
  import './index.css';
7
7
  var CodeBlockHoverMenu = function CodeBlockHoverMenu(_ref) {
@@ -6,7 +6,7 @@ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
6
6
  import React from 'react';
7
7
  import { focusEditor } from '../../../core';
8
8
  import { CODE_BLOCK, MENUS_CONFIG_MAP } from '../../../constants';
9
- import { MenuItem } from '../../../menu';
9
+ import { MenuItem } from '../../../commons';
10
10
  import { getSelectCodeElem, isMenuDisabled, changeToCodeBlock, changeToPlainText } from '../helpers';
11
11
  var CodeBlockMenu = /*#__PURE__*/function (_React$Component) {
12
12
  _inherits(CodeBlockMenu, _React$Component);
@@ -8,7 +8,7 @@ import { withTranslation } from 'react-i18next';
8
8
  import { insertImage, isInsertImageMenuDisabled } from '../helpers';
9
9
  import context from '../../../../../context';
10
10
  import { IMAGE, MENUS_CONFIG_MAP } from '../../../constants';
11
- import { MenuItem } from '../../../menu';
11
+ import { MenuItem } from '../../../commons';
12
12
  import InsertWebImageDialog from '../dialogs/insert-web-image-dialog';
13
13
  import './style.css';
14
14
  var ImageMenu = /*#__PURE__*/function (_React$Component) {
@@ -6,7 +6,7 @@ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
6
6
  import React from 'react';
7
7
  import { LINK, MENUS_CONFIG_MAP } from '../../../constants';
8
8
  import { getEditorString } from '../../../core';
9
- import { MenuItem } from '../../../menu';
9
+ import { MenuItem } from '../../../commons';
10
10
  import { getLinkType, isMenuDisabled } from '../helpers';
11
11
  import AddLinkDialog from './add-link-dialog';
12
12
  var LinkMenu = /*#__PURE__*/function (_React$Component) {
@@ -6,7 +6,7 @@ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
6
6
  import React from 'react';
7
7
  import { MENUS_CONFIG_MAP, ORDERED_LIST, UNORDERED_LIST } from '../../../constants';
8
8
  import { focusEditor } from '../../../core';
9
- import { MenuItem } from '../../../menu';
9
+ import { MenuItem } from '../../../commons';
10
10
  import { getListType, isMenuDisabled, setListType } from '../helpers';
11
11
  var ListMenu = /*#__PURE__*/function (_React$Component) {
12
12
  _inherits(ListMenu, _React$Component);
@@ -6,13 +6,12 @@ import slugid from 'slugid';
6
6
  import { Editor, Range, Transforms, Point, Node } from '@seafile/slate';
7
7
  import { ReactEditor } from '@seafile/slate-react';
8
8
  import { getNodeType, getParentNode, getSelectedNodeByType, isTextNode, getSelectedElems, focusEditor, getNode, findPath, replaceNodeChildren } from '../../core';
9
- import { ELEMENT_TYPE, KEYBOARD } from '../../constants';
9
+ import { ELEMENT_TYPE, KEYBOARD, CLIPBOARD_FORMAT_KEY } from '../../constants';
10
10
  import { TABLE_MAX_ROWS, TABLE_MAX_COLUMNS, EMPTY_SELECTED_RANGE, TABLE_ROW_MIN_HEIGHT, TABLE_CELL_MIN_WIDTH, TABLE_ELEMENT, TABLE_ELEMENT_POSITION } from './constants';
11
11
  import EventBus from '../../../utils/event-bus';
12
12
  import { EXTERNAL_EVENT, PAGE_EDIT_AREA_WIDTH } from '../../../../constants';
13
13
  import ObjectUtils from '../../../utils/object-utils';
14
14
  import { replacePastedDataId } from '../../../node-id/helpers';
15
- import { CLIPBOARD_FORMAT_KEY } from '../../../constants';
16
15
  export var isTableMenuDisabled = function isTableMenuDisabled(editor) {
17
16
  var selection = editor.selection;
18
17
  if (selection === null) return true;
@@ -14,7 +14,3 @@
14
14
  height: 100%;
15
15
  padding-top: 2px;
16
16
  }
17
-
18
- .sdoc-color-menu-popover.sdoc-table-cell-bg-colors-popover .popover {
19
- left: -24px !important;
20
- }
@@ -7,23 +7,25 @@ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
7
7
  import React, { Component } from 'react';
8
8
  import { withTranslation } from 'react-i18next';
9
9
  import classnames from 'classnames';
10
- import { MenuGroup, MenuItem } from '../../../../menu';
10
+ import { ColorMenu, MenuGroup, MenuItem } from '../../../../commons';
11
11
  import CommonMenu from './common-menu';
12
- import { MENUS_CONFIG_MAP, REMOVE_TABLE, BG_COLOR } from '../../../../constants';
12
+ import { MENUS_CONFIG_MAP, REMOVE_TABLE, BG_COLOR, RECENT_USED_TABLE_CELL_BG_COLORS_KEY, DEFAULT_LAST_USED_TABLE_CELL_BG_COLOR } from '../../../../constants';
13
13
  import { setCellStyle, insertTableElement, removeTableElement, isAllInTable } from '../../helpers';
14
14
  import { TABLE_ELEMENT } from '../../constants';
15
- import ColorMenu from '../../../../menu/color-menu';
16
15
  import './index.css';
17
16
  var ActiveTableMenu = /*#__PURE__*/function (_Component) {
18
17
  _inherits(ActiveTableMenu, _Component);
19
18
  var _super = _createSuper(ActiveTableMenu);
20
- function ActiveTableMenu() {
19
+ function ActiveTableMenu(_props) {
21
20
  var _this;
22
21
  _classCallCheck(this, ActiveTableMenu);
23
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
24
- args[_key] = arguments[_key];
25
- }
26
- _this = _super.call.apply(_super, [this].concat(args));
22
+ _this = _super.call(this, _props);
23
+ _this.updateLastUsedColor = function (color) {
24
+ if (_this.state.lastUsedColor === color) return;
25
+ _this.setState({
26
+ lastUsedColor: color
27
+ });
28
+ };
27
29
  _this.setTextAlignStyle = function (textAlign) {
28
30
  var editor = _this.props.editor;
29
31
  setCellStyle(editor, {
@@ -136,6 +138,7 @@ var ActiveTableMenu = /*#__PURE__*/function (_Component) {
136
138
  isRichEditor = _this$props2.isRichEditor,
137
139
  className = _this$props2.className;
138
140
  var menuConfig = MENUS_CONFIG_MAP[BG_COLOR];
141
+ var lastUsedColor = _this.state.lastUsedColor;
139
142
  var props = _objectSpread(_objectSpread({
140
143
  isRichEditor: isRichEditor,
141
144
  className: className,
@@ -144,12 +147,16 @@ var ActiveTableMenu = /*#__PURE__*/function (_Component) {
144
147
  }, menuConfig), {}, {
145
148
  onMouseDown: function onMouseDown() {},
146
149
  setColor: _this.setColor,
147
- recentUsedColorsKey: 'sdoc-recent-used-bg-colors',
148
- lastUsedColorKey: 'sdoc-last-used-bg-colors',
150
+ recentUsedColorsKey: RECENT_USED_TABLE_CELL_BG_COLORS_KEY,
151
+ lastUsedColor: lastUsedColor,
152
+ updateLastUsedColor: _this.updateLastUsedColor,
149
153
  popoverClassName: 'sdoc-table-cell-bg-colors-popover'
150
154
  });
151
155
  return /*#__PURE__*/React.createElement(ColorMenu, props);
152
156
  };
157
+ _this.state = {
158
+ lastUsedColor: DEFAULT_LAST_USED_TABLE_CELL_BG_COLOR
159
+ };
153
160
  return _this;
154
161
  }
155
162
  _createClass(ActiveTableMenu, [{
@@ -6,7 +6,7 @@ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
6
6
  import React from 'react';
7
7
  import { withTranslation } from 'react-i18next';
8
8
  import ObjectUtils from '../../../../../utils/object-utils';
9
- import ElementPopover from '../../../../commons/element-popover';
9
+ import { ElementPopover } from '../../../../commons';
10
10
  import { ELEMENT_TYPE } from '../../../../constants';
11
11
  import { getSelectedNodeByType } from '../../../../core';
12
12
  import { TABLE_MAX_COLUMNS, TABLE_MAX_ROWS, TABLE_ELEMENT, TABLE_ELEMENT_POSITION } from '../../constants';
@@ -7,7 +7,7 @@ import React from 'react';
7
7
  import { withTranslation } from 'react-i18next';
8
8
  import { insertTable, isTableMenuDisabled } from '../../helpers';
9
9
  import { TABLE, MENUS_CONFIG_MAP } from '../../../../constants';
10
- import { MenuItem } from '../../../../menu';
10
+ import { MenuItem } from '../../../../commons';
11
11
  import TableSizePopover from '../../popover/table-size-popover';
12
12
  var TableMenu = /*#__PURE__*/function (_React$Component) {
13
13
  _inherits(TableMenu, _React$Component);
@@ -4,13 +4,12 @@ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
4
  import isHotkey from 'is-hotkey';
5
5
  import { Editor, Transforms, Path } from '@seafile/slate';
6
6
  import { getNodeType, getParentNode, getSelectedNodeByType, isLastNode, generateEmptyElement } from '../../core';
7
- import { ELEMENT_TYPE, KEYBOARD, PARAGRAPH } from '../../constants';
7
+ import { ELEMENT_TYPE, KEYBOARD, PARAGRAPH, CLIPBOARD_FORMAT_KEY } from '../../constants';
8
8
  import { TABLE_MAX_ROWS, EMPTY_SELECTED_RANGE, TABLE_ELEMENT, TABLE_ELEMENT_POSITION } from './constants';
9
9
  import ObjectUtils from '../../../utils/object-utils';
10
10
  import { getSelectedInfo, insertTableElement, removeTable, insertMultipleRowsAndColumns, setTableFragmentData, deleteTableRangeData, focusCell, deleteHandler, isTableLocation, isLastTableCell } from './helpers';
11
11
  import EventBus from '../../../utils/event-bus';
12
12
  import { EXTERNAL_EVENT } from '../../../../constants';
13
- import { CLIPBOARD_FORMAT_KEY } from '../../../constants';
14
13
  var withTable = function withTable(editor) {
15
14
  var insertBreak = editor.insertBreak,
16
15
  deleteBackward = editor.deleteBackward,
@@ -43,7 +42,6 @@ var withTable = function withTable(editor) {
43
42
  eventBus.dispatch(EXTERNAL_EVENT.SET_TABLE_SELECT_RANGE, table, allTableRange);
44
43
  }
45
44
  if (isHotkey(KEYBOARD.UP, event)) {
46
- event.preventDefault();
47
45
  focusCell(newEditor, event, KEYBOARD.UP);
48
46
  }
49
47
  if (isHotkey(KEYBOARD.RIGHT, event)) {
@@ -109,7 +107,14 @@ var withTable = function withTable(editor) {
109
107
  }
110
108
  var tableSelectedRange = newEditor.tableSelectedRange;
111
109
  if (ObjectUtils.isSameObject(tableSelectedRange, EMPTY_SELECTED_RANGE)) {
112
- return getFragment();
110
+ var fragment = getFragment();
111
+
112
+ // When a cell is selected, it should be converted to text
113
+ return [Object.freeze({
114
+ children: fragment[0].children[0].children[0]['children'],
115
+ id: fragment[0]['id'],
116
+ type: ELEMENT_TYPE.PARAGRAPH
117
+ })];
113
118
  }
114
119
  var minColIndex = tableSelectedRange.minColIndex,
115
120
  maxColIndex = tableSelectedRange.maxColIndex,
@@ -135,10 +140,10 @@ var withTable = function withTable(editor) {
135
140
  var _column = columns[_j];
136
141
  selectedColumns.push(_column);
137
142
  }
138
- return _objectSpread(_objectSpread({}, selectedNode), {}, {
143
+ return Object.freeze(_objectSpread(_objectSpread({}, selectedNode), {}, {
139
144
  children: selectedRows,
140
145
  columns: selectedColumns
141
- });
146
+ }));
142
147
  };
143
148
 
144
149
  // copy: mod + c
@@ -4,16 +4,22 @@ import { withTranslation } from 'react-i18next';
4
4
  import { Editor } from '@seafile/slate';
5
5
  import { TEXT_STYLE, TEXT_STYLE_MORE, MENUS_CONFIG_MAP, ELEMENT_TYPE } from '../../../constants';
6
6
  import { focusEditor } from '../../../core';
7
- import { MenuItem } from '../../../menu';
7
+ import { MenuItem, ColorMenu, MoreDropdown } from '../../../commons';
8
8
  import { getValue, isMenuDisabled, addMark, removeMark } from '../helpers';
9
- import MoreDropdown from '../../../../../components/more-dropdown';
10
- import ColorMenu from '../../../menu/color-menu';
9
+ import { useFontColorContext } from '../../../../hooks/use-font-color-context';
10
+ import { useHighlightColorContext } from '../../../../hooks/use-highlight-color-context';
11
11
  var TextStyleMenuList = function TextStyleMenuList(_ref) {
12
12
  var editor = _ref.editor,
13
13
  t = _ref.t,
14
14
  isRichEditor = _ref.isRichEditor,
15
15
  className = _ref.className,
16
16
  idPrefix = _ref.idPrefix;
17
+ var _useFontColorContext = useFontColorContext(),
18
+ lastUsedFontColor = _useFontColorContext.color,
19
+ updateLastUsedFontColor = _useFontColorContext.updateColor;
20
+ var _useHighlightColorCon = useHighlightColorContext(),
21
+ lastUsedHighlightColor = _useHighlightColorCon.color,
22
+ updateLastUsedHighlightColor = _useHighlightColorCon.updateColor;
17
23
  var isActive = useCallback(function (type) {
18
24
  var isMark = getValue(editor, type);
19
25
  return !!isMark;
@@ -59,6 +65,8 @@ var TextStyleMenuList = function TextStyleMenuList(_ref) {
59
65
  return setColor(item.type, color);
60
66
  };
61
67
  itemProps['defaultColorTip'] = item.type === ELEMENT_TYPE.COLOR ? t('Default') : '';
68
+ itemProps['lastUsedColor'] = item.type === ELEMENT_TYPE.COLOR ? lastUsedFontColor : lastUsedHighlightColor;
69
+ itemProps['updateLastUsedColor'] = item.type === ELEMENT_TYPE.COLOR ? updateLastUsedFontColor : updateLastUsedHighlightColor;
62
70
  }
63
71
  return _objectSpread(_objectSpread(_objectSpread({}, itemProps), item), {}, {
64
72
  id: idPrefix ? "".concat(idPrefix, "_").concat(item.id) : item.id
@@ -66,7 +74,7 @@ var TextStyleMenuList = function TextStyleMenuList(_ref) {
66
74
  });
67
75
 
68
76
  // eslint-disable-next-line react-hooks/exhaustive-deps
69
- }, [editor]);
77
+ }, [editor, lastUsedFontColor, lastUsedHighlightColor]);
70
78
  var list = getTextStyleList(TEXT_STYLE);
71
79
  var dropdownList = getTextStyleList(TEXT_STYLE_MORE);
72
80
  return /*#__PURE__*/React.createElement(React.Fragment, null, list.map(function (itemProps, index) {
@@ -1,5 +1,6 @@
1
1
  .sdoc-context-toolbar {
2
2
  position: absolute;
3
+ display: none;
3
4
  width: auto;
4
5
  height: 42px;
5
6
  z-index: 101;
@@ -2,7 +2,7 @@ import React, { useRef, useEffect, useCallback } from 'react';
2
2
  import { createPortal } from 'react-dom';
3
3
  import { useFocused, useSlateStatic, useReadOnly } from '@seafile/slate-react';
4
4
  import { Editor, Range } from '@seafile/slate';
5
- import { MenuGroup } from '../../menu';
5
+ import { MenuGroup } from '../../commons';
6
6
  import TextStyleMenuList from '../../plugins/text-style/menu';
7
7
  import { useScrollContext } from '../../../hooks/use-scroll-context';
8
8
  import { getSelectedNodeByType } from '../../core';
@@ -21,6 +21,7 @@ var ContextToolbar = function ContextToolbar() {
21
21
  var rect = domRange.getBoundingClientRect();
22
22
  el.style.top = "".concat(rect.top - el.offsetHeight, "px");
23
23
  el.style.left = "".concat(rect.left, "px");
24
+ el.style.display = 'block';
24
25
  // eslint-disable-next-line react-hooks/exhaustive-deps
25
26
  }, []);
26
27
  var onScroll = useCallback(function (e) {
@@ -41,15 +42,16 @@ var ContextToolbar = function ContextToolbar() {
41
42
  scrollRef.current && scrollRef.current.addEventListener('scroll', onScroll);
42
43
  setContextToolbarPosition();
43
44
  });
45
+ var onMouseDown = useCallback(function (event) {
46
+ event.preventDefault(); // prevent toolbar from taking focus away from editor
47
+ }, []);
44
48
  return createPortal( /*#__PURE__*/React.createElement("div", {
45
49
  ref: ref,
46
50
  className: "sdoc-context-toolbar",
47
- onMouseDown: function onMouseDown(e) {
48
- e.preventDefault(); // prevent toolbar from taking focus away from editor
49
- }
51
+ onMouseDown: onMouseDown
50
52
  }, /*#__PURE__*/React.createElement(MenuGroup, null, /*#__PURE__*/React.createElement(TextStyleMenuList, {
51
53
  editor: editor,
52
- idPrefix: 'sdoc_context_toolar'
54
+ idPrefix: 'sdoc_context_toolbar'
53
55
  }))), document.body);
54
56
  };
55
57
  export default ContextToolbar;
@@ -0,0 +1,54 @@
1
+ import React from 'react';
2
+ import useSelectionUpdate from '../../../hooks/use-selection-update';
3
+ import { ORDERED_LIST, UNORDERED_LIST } from '../../constants';
4
+ import { MenuGroup } from '../../commons';
5
+ import QuoteMenu from '../../plugins/blockquote/menu';
6
+ import LinkMenu from '../../plugins/link/menu';
7
+ import ListMenu from '../../plugins/list/menu';
8
+ import ImageMenu from '../../plugins/image/menu';
9
+ import HeaderMenu from '../../plugins/header/menu';
10
+ import CheckListMenu from '../../plugins/check-list/menu';
11
+ import TextStyleMenuList from '../../plugins/text-style/menu';
12
+ import CodeBlockMenu from '../../plugins/code-block/menu';
13
+ import TextAlignMenu from '../../plugins/text-align/menu';
14
+ import { TableMenu, ActiveTableMenu } from '../../plugins/table/menu';
15
+ import ClearFormatMenu from '../../plugins/clear-format/menu';
16
+ import HistoryMenu from './redo-undo';
17
+ var Toolbar = function Toolbar(_ref) {
18
+ var editor = _ref.editor;
19
+ useSelectionUpdate();
20
+ return /*#__PURE__*/React.createElement("div", {
21
+ className: "sdoc-editor-toolbar"
22
+ }, /*#__PURE__*/React.createElement(MenuGroup, null, /*#__PURE__*/React.createElement(HistoryMenu, {
23
+ editor: editor
24
+ }), /*#__PURE__*/React.createElement(ClearFormatMenu, {
25
+ editor: editor
26
+ })), /*#__PURE__*/React.createElement(HeaderMenu, {
27
+ editor: editor
28
+ }), /*#__PURE__*/React.createElement(MenuGroup, null, /*#__PURE__*/React.createElement(TextStyleMenuList, {
29
+ editor: editor
30
+ })), /*#__PURE__*/React.createElement(MenuGroup, null, /*#__PURE__*/React.createElement(QuoteMenu, {
31
+ editor: editor
32
+ }), /*#__PURE__*/React.createElement(ListMenu, {
33
+ editor: editor,
34
+ type: UNORDERED_LIST
35
+ }), /*#__PURE__*/React.createElement(ListMenu, {
36
+ editor: editor,
37
+ type: ORDERED_LIST
38
+ }), /*#__PURE__*/React.createElement(CheckListMenu, {
39
+ editor: editor
40
+ }), /*#__PURE__*/React.createElement(TextAlignMenu, {
41
+ editor: editor
42
+ })), /*#__PURE__*/React.createElement(MenuGroup, null, /*#__PURE__*/React.createElement(CodeBlockMenu, {
43
+ editor: editor
44
+ }), /*#__PURE__*/React.createElement(TableMenu, {
45
+ editor: editor
46
+ })), /*#__PURE__*/React.createElement(ActiveTableMenu, {
47
+ editor: editor
48
+ }), /*#__PURE__*/React.createElement(MenuGroup, null, /*#__PURE__*/React.createElement(ImageMenu, {
49
+ editor: editor
50
+ }), /*#__PURE__*/React.createElement(LinkMenu, {
51
+ editor: editor
52
+ })));
53
+ };
54
+ export default Toolbar;
@@ -4,8 +4,8 @@ import _createClass from "@babel/runtime/helpers/esm/createClass";
4
4
  import _inherits from "@babel/runtime/helpers/esm/inherits";
5
5
  import _createSuper from "@babel/runtime/helpers/esm/createSuper";
6
6
  import React from 'react';
7
- import { MenuItem } from '../menu';
8
- import { MENUS_CONFIG_MAP, REDO, UNDO } from '../constants';
7
+ import { MenuItem } from '../../commons';
8
+ import { MENUS_CONFIG_MAP, REDO, UNDO } from '../../constants';
9
9
  var HistoryMenu = /*#__PURE__*/function (_React$Component) {
10
10
  _inherits(HistoryMenu, _React$Component);
11
11
  var _super = _createSuper(HistoryMenu);
@@ -1,54 +1,3 @@
1
- import React from 'react';
2
- import useSelectionUpdate from '../../hooks/use-selection-update';
3
- import { ORDERED_LIST, UNORDERED_LIST } from '../constants';
4
- import { MenuGroup } from '../menu';
5
- import QuoteMenu from '../plugins/blockquote/menu';
6
- import LinkMenu from '../plugins/link/menu';
7
- import ListMenu from '../plugins/list/menu';
8
- import ImageMenu from '../plugins/image/menu';
9
- import HeaderMenu from '../plugins/header/menu';
10
- import CheckListMenu from '../plugins/check-list/menu';
11
- import TextStyleMenuList from '../plugins/text-style/menu';
12
- import CodeBlockMenu from '../plugins/code-block/menu';
13
- import TextAlignMenu from '../plugins/text-align/menu';
14
- import HistoryMenu from './redo-undo';
15
- import { TableMenu, ActiveTableMenu } from '../plugins/table/menu';
16
- import ClearFormatMenu from '../plugins/clear-format/menu';
17
- var Toolbar = function Toolbar(_ref) {
18
- var editor = _ref.editor;
19
- useSelectionUpdate();
20
- return /*#__PURE__*/React.createElement("div", {
21
- className: "sdoc-editor-toolbar"
22
- }, /*#__PURE__*/React.createElement(MenuGroup, null, /*#__PURE__*/React.createElement(HistoryMenu, {
23
- editor: editor
24
- })), /*#__PURE__*/React.createElement(MenuGroup, null, /*#__PURE__*/React.createElement(ClearFormatMenu, {
25
- editor: editor
26
- })), /*#__PURE__*/React.createElement(HeaderMenu, {
27
- editor: editor
28
- }), /*#__PURE__*/React.createElement(MenuGroup, null, /*#__PURE__*/React.createElement(TextStyleMenuList, {
29
- editor: editor
30
- })), /*#__PURE__*/React.createElement(MenuGroup, null, /*#__PURE__*/React.createElement(QuoteMenu, {
31
- editor: editor
32
- }), /*#__PURE__*/React.createElement(ListMenu, {
33
- editor: editor,
34
- type: UNORDERED_LIST
35
- }), /*#__PURE__*/React.createElement(ListMenu, {
36
- editor: editor,
37
- type: ORDERED_LIST
38
- }), /*#__PURE__*/React.createElement(CheckListMenu, {
39
- editor: editor
40
- }), /*#__PURE__*/React.createElement(TextAlignMenu, {
41
- editor: editor
42
- })), /*#__PURE__*/React.createElement(MenuGroup, null, /*#__PURE__*/React.createElement(CodeBlockMenu, {
43
- editor: editor
44
- }), /*#__PURE__*/React.createElement(TableMenu, {
45
- editor: editor
46
- })), /*#__PURE__*/React.createElement(ActiveTableMenu, {
47
- editor: editor
48
- }), /*#__PURE__*/React.createElement(MenuGroup, null, /*#__PURE__*/React.createElement(ImageMenu, {
49
- editor: editor
50
- }), /*#__PURE__*/React.createElement(LinkMenu, {
51
- editor: editor
52
- })));
53
- };
54
- export default Toolbar;
1
+ import Toolbar from './header-toolbar';
2
+ import ContextToolbar from './context-toolbar';
3
+ export { Toolbar, ContextToolbar };
@@ -0,0 +1,28 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import React, { useContext, useState } from 'react';
3
+ import { DEFAULT_LAST_USED_FONT_COLOR } from '../extension/constants';
4
+ export var FontColorContext = React.createContext(null);
5
+ export var FontColorProvider = function FontColorProvider(props) {
6
+ var _useState = useState(DEFAULT_LAST_USED_FONT_COLOR),
7
+ _useState2 = _slicedToArray(_useState, 2),
8
+ color = _useState2[0],
9
+ updateColor = _useState2[1];
10
+ return /*#__PURE__*/React.createElement(FontColorContext.Provider, {
11
+ value: {
12
+ color: color,
13
+ updateColor: updateColor
14
+ }
15
+ }, props.children);
16
+ };
17
+ export var useFontColorContext = function useFontColorContext() {
18
+ var context = useContext(FontColorContext);
19
+ if (!context) {
20
+ throw new Error('\'FontColorContext\' is null');
21
+ }
22
+ var color = context.color,
23
+ updateColor = context.updateColor;
24
+ return {
25
+ color: color,
26
+ updateColor: updateColor
27
+ };
28
+ };
@@ -0,0 +1,28 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import React, { useContext, useState } from 'react';
3
+ import { DEFAULT_LAST_USED_HIGHLIGHT_COLOR } from '../extension/constants';
4
+ export var HighlightColorContext = React.createContext(null);
5
+ export var HighlightColorProvider = function HighlightColorProvider(props) {
6
+ var _useState = useState(DEFAULT_LAST_USED_HIGHLIGHT_COLOR),
7
+ _useState2 = _slicedToArray(_useState, 2),
8
+ color = _useState2[0],
9
+ updateColor = _useState2[1];
10
+ return /*#__PURE__*/React.createElement(HighlightColorContext.Provider, {
11
+ value: {
12
+ color: color,
13
+ updateColor: updateColor
14
+ }
15
+ }, props.children);
16
+ };
17
+ export var useHighlightColorContext = function useHighlightColorContext() {
18
+ var context = useContext(HighlightColorContext);
19
+ if (!context) {
20
+ throw new Error('\'HighlightColorContext\' is null');
21
+ }
22
+ var color = context.color,
23
+ updateColor = context.updateColor;
24
+ return {
25
+ color: color,
26
+ updateColor: updateColor
27
+ };
28
+ };
@@ -1,6 +1,6 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
2
  import { decorateOperation, replacePastedDataId } from './helpers';
3
- import { CLIPBOARD_FORMAT_KEY } from '../constants';
3
+ import { CLIPBOARD_FORMAT_KEY } from '../extension/constants';
4
4
  var catchSlateFragment = /data-slate-fragment="(.+?)"/m;
5
5
  var getSlateFragmentAttribute = function getSlateFragmentAttribute(dataTransfer) {
6
6
  var htmlData = dataTransfer.getData('text/html');
@@ -21,7 +21,7 @@ html, body {
21
21
  flex-shrink: 0;
22
22
  height: 56px;
23
23
  position: relative;
24
- z-index: 102;
24
+ z-index: 103;
25
25
  background-color: #fff;
26
26
  }
27
27
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seafile/sdoc-editor",
3
- "version": "0.1.89",
3
+ "version": "0.1.91",
4
4
  "private": false,
5
5
  "description": "This is a sdoc editor",
6
6
  "main": "dist/index.js",
@@ -1 +0,0 @@
1
- export var CLIPBOARD_FORMAT_KEY = 'x-slate-fragment';