@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.
- package/dist/basic-sdk/assets/css/layout.css +1 -1
- package/dist/basic-sdk/editor.js +6 -3
- package/dist/basic-sdk/extension/{menu → commons}/color-menu/index.css +1 -1
- package/dist/basic-sdk/extension/{menu → commons}/color-menu/index.js +14 -17
- package/dist/basic-sdk/extension/commons/index.js +5 -0
- package/dist/{components → basic-sdk/extension/commons}/more-dropdown/index.js +3 -3
- package/dist/basic-sdk/extension/constants/color.js +11 -1
- package/dist/basic-sdk/extension/constants/index.js +7 -6
- package/dist/basic-sdk/extension/index.js +1 -2
- package/dist/basic-sdk/extension/plugins/blockquote/menu/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/check-list/menu/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/clear-format/menu/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/code-block/hover-menu/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/code-block/menu/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/image/menu/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/link/menu/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/list/menu/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/table/helpers.js +1 -2
- package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/index.css +0 -4
- package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/index.js +17 -10
- package/dist/basic-sdk/extension/plugins/table/menu/table-context-menu/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/table/menu/table-menu/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/table/plugin.js +11 -6
- package/dist/basic-sdk/extension/plugins/text-style/menu/index.js +12 -4
- package/dist/basic-sdk/extension/toolbar/context-toolbar/index.css +1 -0
- package/dist/basic-sdk/extension/toolbar/context-toolbar/index.js +7 -5
- package/dist/basic-sdk/extension/toolbar/header-toolbar/index.js +54 -0
- package/dist/basic-sdk/extension/toolbar/{redo-undo.js → header-toolbar/redo-undo.js} +2 -2
- package/dist/basic-sdk/extension/toolbar/index.js +3 -54
- package/dist/basic-sdk/hooks/use-font-color-context.js +28 -0
- package/dist/basic-sdk/hooks/use-highlight-color-context.js +28 -0
- package/dist/basic-sdk/node-id/index.js +1 -1
- package/dist/layout/layout.css +1 -1
- package/package.json +1 -1
- package/dist/basic-sdk/constants/index.js +0 -1
- /package/dist/basic-sdk/extension/{menu → commons}/color-menu/color-item.js +0 -0
- /package/dist/basic-sdk/extension/{menu → commons/menu}/index.js +0 -0
- /package/dist/basic-sdk/extension/{menu → commons/menu}/menu-group.js +0 -0
- /package/dist/basic-sdk/extension/{menu → commons/menu}/menu-item.js +0 -0
- /package/dist/basic-sdk/extension/{menu → commons/menu}/menu.css +0 -0
package/dist/basic-sdk/editor.js
CHANGED
|
@@ -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
|
-
|
|
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;
|
|
@@ -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(
|
|
29
|
+
var _useState = useState(LocalStorage.getItem(recentUsedColorsKey, DEFAULT_RECENT_USED_COLORS)),
|
|
29
30
|
_useState2 = _slicedToArray(_useState, 2),
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
var _useState3 = useState(
|
|
31
|
+
recentUsedColors = _useState2[0],
|
|
32
|
+
setRecentUsedColors = _useState2[1];
|
|
33
|
+
var _useState3 = useState(false),
|
|
33
34
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
isShowMenu = _useState4[0],
|
|
36
|
+
setMenuShow = _useState4[1];
|
|
36
37
|
var _useState5 = useState(false),
|
|
37
38
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
38
|
-
|
|
39
|
-
|
|
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
|
-
|
|
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;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import classnames from 'classnames';
|
|
3
3
|
import { UncontrolledPopover } from 'reactstrap';
|
|
4
|
-
var
|
|
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
|
-
|
|
34
|
+
MoreDropdown.defaultProps = {
|
|
35
35
|
isRichEditor: true,
|
|
36
36
|
className: 'menu-group-item'
|
|
37
37
|
};
|
|
38
|
-
export default
|
|
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:
|
|
76
|
-
|
|
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:
|
|
85
|
-
|
|
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
|
|
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 '../../../
|
|
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 '../../../
|
|
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 '../../../
|
|
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/
|
|
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 '../../../
|
|
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 '../../../
|
|
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 '../../../
|
|
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 '../../../
|
|
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;
|
|
@@ -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 '../../../../
|
|
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
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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:
|
|
148
|
-
|
|
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
|
|
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 '../../../../
|
|
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
|
-
|
|
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 '../../../
|
|
7
|
+
import { MenuItem, ColorMenu, MoreDropdown } from '../../../commons';
|
|
8
8
|
import { getValue, isMenuDisabled, addMark, removeMark } from '../helpers';
|
|
9
|
-
import
|
|
10
|
-
import
|
|
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) {
|
|
@@ -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 '../../
|
|
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:
|
|
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: '
|
|
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 '
|
|
8
|
-
import { MENUS_CONFIG_MAP, REDO, UNDO } from '
|
|
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
|
|
2
|
-
import
|
|
3
|
-
|
|
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');
|
package/dist/layout/layout.css
CHANGED
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export var CLIPBOARD_FORMAT_KEY = 'x-slate-fragment';
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|