@seafile/sdoc-editor 3.0.196 → 3.0.198

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/assets/css/dropdown-menu.css +1 -1
  2. package/dist/comment/components/comment-item-content.js +1 -1
  3. package/dist/comment/components/global-comment/global-comment-header.js +5 -2
  4. package/dist/components/tooltip/index.js +8 -3
  5. package/dist/extension/commons/color-menu/index.js +1 -1
  6. package/dist/extension/commons/menu/menu-item.js +4 -2
  7. package/dist/extension/commons/more-dropdown/index.js +24 -3
  8. package/dist/extension/commons/select-lib-file-dialog/index.css +22 -6
  9. package/dist/extension/commons/select-lib-file-dialog/index.js +1 -7
  10. package/dist/extension/constants/index.js +4 -2
  11. package/dist/extension/plugins/callout/render-elem/callout-hover-menu/index.js +2 -2
  12. package/dist/extension/plugins/file-link/hover-menu/index.css +13 -4
  13. package/dist/extension/plugins/file-link/hover-menu/index.js +4 -4
  14. package/dist/extension/plugins/font/menu/font-family/index.js +1 -1
  15. package/dist/extension/plugins/font/menu/font-size/index.js +1 -1
  16. package/dist/extension/plugins/header/menu/index.js +7 -0
  17. package/dist/extension/plugins/image/hover-menu/index.js +7 -9
  18. package/dist/extension/plugins/sdoc-link/hover-menu/index.css +13 -4
  19. package/dist/extension/plugins/sdoc-link/hover-menu/index.js +4 -4
  20. package/dist/extension/plugins/search-replace/menu/index.js +1 -0
  21. package/dist/extension/plugins/search-replace/popover/index.js +6 -1
  22. package/dist/extension/plugins/text-align/menu/index.js +1 -1
  23. package/dist/extension/plugins/toggle-header/render-elem.css +1 -1
  24. package/dist/extension/toolbar/header-toolbar/insert-toolbar/index.js +1 -1
  25. package/dist/outline/index.js +4 -1
  26. package/package.json +3 -3
@@ -80,7 +80,7 @@
80
80
  }
81
81
 
82
82
  .sdoc-dropdown-menu .sdoc-dropdown-item-content .sdoc-dropdown-item-content-icon {
83
- margin-right: 12px;
83
+ margin-right: 8px;
84
84
  }
85
85
 
86
86
  .sdoc-dropdown-menu .sdoc-arrow-right {
@@ -168,7 +168,7 @@ var CommentItemContent = function CommentItemContent(_ref) {
168
168
  onClick: markAsResolved
169
169
  }, /*#__PURE__*/_react["default"].createElement("i", {
170
170
  className: "sdocfont sdoc-check-mark"
171
- })), /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
171
+ })), !isDropdownOpen && /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
172
172
  target: "tooltip_".concat(menuId)
173
173
  }, t('Resolved_tip'))), /*#__PURE__*/_react["default"].createElement(_reactstrap.Dropdown, {
174
174
  id: targetId,
@@ -131,7 +131,7 @@ var GlobalCommentHeader = function GlobalCommentHeader(_ref2) {
131
131
  id: "comment-types"
132
132
  }, /*#__PURE__*/_react["default"].createElement("i", {
133
133
  className: "sdocfont sdoc-filter1"
134
- }), isMounted && /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
134
+ }), isMounted && !isDropdownOpen && /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
135
135
  target: "comment-types"
136
136
  }, t('Filter'))), /*#__PURE__*/_react["default"].createElement(_reactstrap.DropdownMenu, {
137
137
  className: "sdoc-dropdown-menu sdoc-comment-filter-dropdown",
@@ -157,10 +157,13 @@ var GlobalCommentHeader = function GlobalCommentHeader(_ref2) {
157
157
  }), isMounted && /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
158
158
  target: "sdoc-read-all-btn"
159
159
  }, t('Mark_all_as_read'))), /*#__PURE__*/_react["default"].createElement("div", {
160
+ id: "sdoc-comment-close",
160
161
  className: "sdoc-icon-btn",
161
162
  onClick: toggle
162
163
  }, /*#__PURE__*/_react["default"].createElement("i", {
163
164
  className: "sdocfont sdoc-sm-close"
164
- }))));
165
+ }), isMounted && /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
166
+ target: "sdoc-comment-close"
167
+ }, t('Close')))));
165
168
  };
166
169
  var _default = exports["default"] = GlobalCommentHeader;
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports["default"] = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
8
9
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
9
10
  var _react = _interopRequireDefault(require("react"));
10
11
  var _reactstrap = require("reactstrap");
@@ -21,7 +22,9 @@ var Tooltip = function Tooltip(_ref) {
21
22
  _ref$fade = _ref.fade,
22
23
  fade = _ref$fade === void 0 ? false : _ref$fade,
23
24
  _ref$delay = _ref.delay,
24
- delay = _ref$delay === void 0 ? 0 : _ref$delay;
25
+ delay = _ref$delay === void 0 ? 0 : _ref$delay,
26
+ _ref$offset = _ref.offset,
27
+ offset = _ref$offset === void 0 ? null : _ref$offset;
25
28
  var hasBoundary = modifiers.find(function (item) {
26
29
  return item.name === 'preventOverflow';
27
30
  });
@@ -31,7 +34,7 @@ var Tooltip = function Tooltip(_ref) {
31
34
  boundary: window.document.body
32
35
  }
33
36
  }]);
34
- var props = {
37
+ var props = (0, _objectSpread2["default"])({
35
38
  target: target,
36
39
  placement: placement,
37
40
  popperClassName: (0, _classnames["default"])('sdoc-tooltip', className),
@@ -40,7 +43,9 @@ var Tooltip = function Tooltip(_ref) {
40
43
  autohide: false,
41
44
  fade: fade,
42
45
  modifiers: newModifiers
43
- };
46
+ }, offset && {
47
+ offset: offset
48
+ });
44
49
  return /*#__PURE__*/_react["default"].createElement(_reactstrap.UncontrolledTooltip, props, children);
45
50
  };
46
51
  var _default = exports["default"] = Tooltip;
@@ -145,7 +145,7 @@ var ColorMenu = function ColorMenu(_ref) {
145
145
  className: "sdoc-color-toggle sdoc-menu-with-dropdown-triangle"
146
146
  }, /*#__PURE__*/_react["default"].createElement("i", {
147
147
  className: "sdoc-menu-with-dropdown-triangle-icon sdocfont sdoc-".concat(isShowMenu ? 'arrow-up' : 'arrow-down')
148
- }))), text && /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
148
+ }))), text && !isShowMenu && /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
149
149
  target: buttonId
150
150
  }, t(text)), !disabled && /*#__PURE__*/_react["default"].createElement(_reactstrap.UncontrolledPopover, {
151
151
  target: id,
@@ -23,7 +23,9 @@ var MenuItem = function MenuItem(_ref) {
23
23
  iconClass = _ref.iconClass,
24
24
  id = _ref.id,
25
25
  text = _ref.text,
26
- ariaLabel = _ref.ariaLabel;
26
+ ariaLabel = _ref.ariaLabel,
27
+ _ref$isShowPopover = _ref.isShowPopover,
28
+ isShowPopover = _ref$isShowPopover === void 0 ? false : _ref$isShowPopover;
27
29
  var _useTranslation = (0, _reactI18next.useTranslation)('sdoc-editor'),
28
30
  t = _useTranslation.t;
29
31
  var onClick = (0, _react.useCallback)(function (event) {
@@ -52,7 +54,7 @@ var MenuItem = function MenuItem(_ref) {
52
54
  className: "sdoc-link-menu-item"
53
55
  }, /*#__PURE__*/_react["default"].createElement("span", null, t(text)), /*#__PURE__*/_react["default"].createElement("i", {
54
56
  className: "sdocfont sdoc-arrow-down"
55
- }))), /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
57
+ }))), !isShowPopover && /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
56
58
  target: id
57
59
  }, t(text)));
58
60
  };
@@ -1,13 +1,17 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"];
3
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports["default"] = void 0;
8
- var _react = _interopRequireDefault(require("react"));
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _reactI18next = require("react-i18next");
9
12
  var _reactstrap = require("reactstrap");
10
13
  var _classnames = _interopRequireDefault(require("classnames"));
14
+ var _tooltip = _interopRequireDefault(require("../../../components/tooltip"));
11
15
  var MoreDropdown = function MoreDropdown(_ref) {
12
16
  var _ref$isRichEditor = _ref.isRichEditor,
13
17
  isRichEditor = _ref$isRichEditor === void 0 ? true : _ref$isRichEditor,
@@ -15,6 +19,7 @@ var MoreDropdown = function MoreDropdown(_ref) {
15
19
  className = _ref$className === void 0 ? 'menu-group-item' : _ref$className,
16
20
  disabled = _ref.disabled,
17
21
  children = _ref.children;
22
+ var popoverRef = (0, _react.useRef)(null);
18
23
  var validClassName = (0, _classnames["default"])(className, 'sdoc-more-text-button', {
19
24
  'disabled': disabled,
20
25
  'rich-icon-btn': isRichEditor,
@@ -23,6 +28,18 @@ var MoreDropdown = function MoreDropdown(_ref) {
23
28
  'btn btn-icon btn-secondary btn-active': !isRichEditor
24
29
  });
25
30
  var buttonId = 'sdoc-more-text-operations';
31
+ var _useTranslation = (0, _reactI18next.useTranslation)('sdoc-editor'),
32
+ t = _useTranslation.t;
33
+ var _useState = (0, _react.useState)(false),
34
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
35
+ isShowMenu = _useState2[0],
36
+ setIsShowMenu = _useState2[1];
37
+ var toggle = (0, _react.useCallback)(function (event) {
38
+ popoverRef.current.toggle();
39
+ setIsShowMenu(!isShowMenu);
40
+
41
+ // eslint-disable-next-line react-hooks/exhaustive-deps
42
+ }, [isShowMenu]);
26
43
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("button", {
27
44
  className: validClassName,
28
45
  type: "button",
@@ -30,14 +47,18 @@ var MoreDropdown = function MoreDropdown(_ref) {
30
47
  id: buttonId
31
48
  }, /*#__PURE__*/_react["default"].createElement("i", {
32
49
  className: "sdocfont sdoc-more"
33
- })), /*#__PURE__*/_react["default"].createElement(_reactstrap.UncontrolledPopover, {
50
+ }), !isShowMenu && /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
51
+ target: buttonId
52
+ }, t('More_operation'))), /*#__PURE__*/_react["default"].createElement(_reactstrap.UncontrolledPopover, {
34
53
  target: buttonId,
35
54
  className: "sdoc-dropdown-menu",
36
55
  popperClassName: "sdoc-popover-box-shadow",
37
56
  trigger: "legacy",
38
57
  placement: "bottom-end",
39
58
  hideArrow: true,
40
- fade: false
59
+ toggle: toggle,
60
+ fade: false,
61
+ ref: popoverRef
41
62
  }, /*#__PURE__*/_react["default"].createElement("div", {
42
63
  className: "menu-group"
43
64
  }, children)));
@@ -1,9 +1,9 @@
1
1
  .sdoc-file-select-dialog {
2
- max-width: 700px;
2
+ max-width: 740px;
3
3
  }
4
4
 
5
5
  .sdoc-file-select-dialog .sdoc-file-select-modal {
6
- width: 700px;
6
+ width: 740px;
7
7
  }
8
8
 
9
9
  .sdoc-file-select-dialog .highlight-bg-color {
@@ -52,6 +52,10 @@
52
52
  width: 28px;
53
53
  }
54
54
 
55
+ .sdoc-file-select-dialog .sdoc-file-select-container {
56
+ margin: 0;
57
+ }
58
+
55
59
  .sdoc-file-select-dialog .sdoc-file-select__side-panel {
56
60
  padding: 1rem;
57
61
  line-height: 24px;
@@ -64,19 +68,19 @@
64
68
  align-items: center;
65
69
  position: relative;
66
70
  height: 32px;
67
- padding: 0 10px 0 14px;
71
+ padding: 0 10px;
68
72
  cursor: default;
69
73
  transition: background-color 0.3s ease, font-weight 0.3s ease;
70
74
  border: none;
71
- border-radius: 3px;
72
75
  }
73
76
 
74
77
  .sdoc-file-select-dialog .sdoc-file-select__repo-item:hover {
78
+ border-radius: 3px;
75
79
  background-color: var(--bs-nav-hover-bg, #f5f5f5);
76
80
  }
77
81
 
78
82
  .sdoc-file-select-dialog .sdoc-file-select__repo-item.active {
79
- background-color: var(--bs-nav-active-bg, #f3f3f3);
83
+ background-color: var(--bs-nav-active-bg, #f0f0f0);
80
84
  font-weight: 500;
81
85
  }
82
86
 
@@ -85,7 +89,7 @@
85
89
  display: block;
86
90
  position: absolute;
87
91
  top: 4px;
88
- left: 0;
92
+ left: -8px;
89
93
  width: 4px;
90
94
  height: 24px;
91
95
  background-color: #ff9800;
@@ -104,6 +108,17 @@
104
108
  white-space: nowrap;
105
109
  }
106
110
 
111
+ .sdoc-file-select__main-panel {
112
+ display: flex;
113
+ flex-direction: column;
114
+ padding: 0;
115
+ }
116
+
117
+ .sdoc-file-select__main-panel .sdoc-files-tree {
118
+ max-height: 400px;
119
+ min-height: 400px;
120
+ }
121
+
107
122
  .sdoc-file-select__main-panel .sdoc-file-select-footer {
108
123
  display: flex;
109
124
  align-items: center;
@@ -113,6 +128,7 @@
113
128
  }
114
129
 
115
130
  @media (max-width: 768px) {
131
+
116
132
  .sdoc-file-select-dialog .sdoc-file-select__side-panel,
117
133
  .sdoc-file-select-dialog .sdoc-file-select__main-panel {
118
134
  max-width: 100% !important;
@@ -11,7 +11,6 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm
11
11
  var _react = _interopRequireWildcard(require("react"));
12
12
  var _reactI18next = require("react-i18next");
13
13
  var _reactstrap = require("reactstrap");
14
- var _lib = _interopRequireDefault(require("../../../assets/images/lib.png"));
15
14
  var _toast = _interopRequireDefault(require("../../../components/toast"));
16
15
  var _context = _interopRequireDefault(require("../../../context"));
17
16
  var _commonUtils = require("../../../utils/common-utils");
@@ -113,12 +112,7 @@ var SelectLibFileDialog = function SelectLibFileDialog(_ref) {
113
112
  onSelectRepo(repo.repo_id);
114
113
  }
115
114
  }
116
- }, /*#__PURE__*/_react["default"].createElement("img", {
117
- className: "lib-icon",
118
- src: _lib["default"],
119
- width: "20",
120
- alt: ""
121
- }), /*#__PURE__*/_react["default"].createElement("span", {
115
+ }, /*#__PURE__*/_react["default"].createElement("span", {
122
116
  className: "sdoc-file-select__repo-name"
123
117
  }, repo.repo_name));
124
118
  })), /*#__PURE__*/_react["default"].createElement("div", {
@@ -591,7 +591,8 @@ var FILEEXT_TYPE = exports.FILEEXT_TYPE = {
591
591
  SPREADSHEET: ['xls', 'xlsx', 'ods', 'fods'],
592
592
  MARKDOWN: ['markdown', 'md'],
593
593
  EXCALIDRAW: ['exdraw'],
594
- DOCUMENT: ['doc', 'docx', 'docxf', 'oform', 'ppt', 'pptx', 'odt', 'fodt', 'odp', 'fodp', 'odg']
594
+ DOCUMENT: ['doc', 'docx', 'docxf', 'oform', 'ppt', 'pptx', 'odt', 'fodt', 'odp', 'fodp', 'odg'],
595
+ IMAGE: ['gif', 'jpeg', 'jpg', 'png', 'heic', 'ico', 'bmp', 'tif', 'tiff', 'psd', 'psb', 'webp', 'jfif', 'avif']
595
596
  };
596
597
  var FILEEXT_TYPE_MAP = exports.FILEEXT_TYPE_MAP = {
597
598
  VIDEO: 'video',
@@ -599,7 +600,8 @@ var FILEEXT_TYPE_MAP = exports.FILEEXT_TYPE_MAP = {
599
600
  SPREADSHEET: 'excel',
600
601
  MARKDOWN: 'md',
601
602
  EXCALIDRAW: 'draw',
602
- DOCUMENT: 'word'
603
+ DOCUMENT: 'word',
604
+ IMAGE: 'pic'
603
605
  };
604
606
  var SUPPORTED_SIDE_OPERATION_TYPE = exports.SUPPORTED_SIDE_OPERATION_TYPE = [_elementType.PARAGRAPH, _elementType.SUBTITLE, _elementType.HEADER1, _elementType.HEADER2, _elementType.HEADER3, _elementType.HEADER4, _elementType.HEADER5, _elementType.HEADER6, _elementType.CHECK_LIST_ITEM, _elementType.CODE_BLOCK, _elementType.TABLE, _elementType.BLOCKQUOTE, _elementType.CALL_OUT, _elementType.IMAGE_BLOCK, _elementType.VIDEO, _elementType.WHITEBOARD, _elementType.FORMULA, _elementType.TOGGLE_HEADER].concat(TOGGLE_TITLE_TYPES, [_elementType.FILE_VIEW, _elementType.EMBED_LINK, _elementType.DIVIDER]);
605
607
  var MOUSE_ENTER_EVENT_DISABLED_MAP = exports.MOUSE_ENTER_EVENT_DISABLED_MAP = (_MOUSE_ENTER_EVENT_DI = {}, (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_MOUSE_ENTER_EVENT_DI, _elementType.PARAGRAPH, [_elementType.CALL_OUT]), _elementType.TITLE, [_elementType.CALL_OUT]), _elementType.SUBTITLE, [_elementType.CALL_OUT]), _elementType.CHECK_LIST_ITEM, [_elementType.CALL_OUT]), _elementType.ORDERED_LIST, [_elementType.CALL_OUT]), _elementType.UNORDERED_LIST, [_elementType.CALL_OUT]), _elementType.LIST_ITEM, [_elementType.CALL_OUT]), _elementType.BLOCKQUOTE, [_elementType.CALL_OUT]), _elementType.HEADER1, [_elementType.CALL_OUT]), _elementType.HEADER2, [_elementType.CALL_OUT]), (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_MOUSE_ENTER_EVENT_DI, _elementType.HEADER3, [_elementType.CALL_OUT]), _elementType.HEADER4, [_elementType.CALL_OUT]), _elementType.HEADER5, [_elementType.CALL_OUT]), _elementType.HEADER6, [_elementType.CALL_OUT]), _elementType.CALL_OUT, [_elementType.CALL_OUT]));
@@ -77,7 +77,7 @@ function CalloutHoverMenu(_ref) {
77
77
  className: "sdocfont sdoc-callout-color mr-1"
78
78
  }), /*#__PURE__*/_react["default"].createElement("span", {
79
79
  className: "sdocfont sdoc-arrow-down"
80
- })), isShowTooltip && /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
80
+ })), isShowTooltip && !isShowColorSelector && /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
81
81
  target: "select_callout_color",
82
82
  placement: "top",
83
83
  fade: true
@@ -91,7 +91,7 @@ function CalloutHoverMenu(_ref) {
91
91
  className: "sdocfont sdoc-callout-icon mr-1"
92
92
  }), /*#__PURE__*/_react["default"].createElement("span", {
93
93
  className: "sdocfont sdoc-arrow-down"
94
- })), isShowTooltip && /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
94
+ })), isShowTooltip && !isShowIcon && /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
95
95
  target: "select_callout_icon",
96
96
  placement: "top",
97
97
  fade: true
@@ -80,14 +80,23 @@
80
80
  position: absolute;
81
81
  top: 32px;
82
82
  left: 0px;
83
- padding: 8px 0;
84
83
  background-color: #fff;
85
- border: 1px solid #e5e6e8;
86
- border-radius: 2px;
87
- box-shadow: 0 0 10px #ccc;
84
+ border: 1px solid #eee;
85
+ border-radius: 8px;
86
+ box-shadow: 0 6px 14px 0 rgba(0, 0, 0, 0.1);
88
87
  display: flex;
89
88
  flex-direction: column;
90
89
  align-items: flex-start;
91
90
  z-index: 101;
92
91
  white-space: nowrap;
93
92
  }
93
+
94
+ .sdoc-file-link-hover-menu-container .sdoc-file-display-style-popover .sdoc-dropdown-menu-item {
95
+ padding: 0 12px 0 38px;
96
+ position: relative;
97
+ }
98
+
99
+ .sdoc-file-link-hover-menu-container .sdoc-file-display-style-popover .sdoc-dropdown-menu-item .sdoc-check-mark {
100
+ position: absolute;
101
+ left: 12px;
102
+ }
@@ -50,8 +50,8 @@ var FileLinkHoverMenu = function FileLinkHoverMenu(_ref) {
50
50
  // eslint-disable-next-line react-hooks/exhaustive-deps
51
51
  }, []);
52
52
  var onShowProver = (0, _react.useCallback)(function (e) {
53
- setIsShowDisplayStylePopover(true);
54
- }, []);
53
+ setIsShowDisplayStylePopover(!isShowDisplayStylePopover);
54
+ }, [isShowDisplayStylePopover]);
55
55
  var onSelect = (0, _react.useCallback)(function (event, value) {
56
56
  event.stopPropagation();
57
57
  var path = _slateReact.ReactEditor.findPath(editor, element);
@@ -117,7 +117,7 @@ var FileLinkHoverMenu = function FileLinkHoverMenu(_ref) {
117
117
  return /*#__PURE__*/_react["default"].createElement("div", {
118
118
  key: fileLinkType,
119
119
  "date-type": fileLinkType,
120
- className: "sdoc-dropdown-menu-item sdoc-dropdown-item-with-left-icon pr-2",
120
+ className: "sdoc-dropdown-menu-item",
121
121
  onClick: function onClick(event) {
122
122
  return onSelect(event, fileLinkType);
123
123
  }
@@ -128,7 +128,7 @@ var FileLinkHoverMenu = function FileLinkHoverMenu(_ref) {
128
128
  }), /*#__PURE__*/_react["default"].createElement("span", null, t(_constants2.FILE_LINK_TYPE_CONFIG[fileLinkType].text))), selectedType === fileLinkType && /*#__PURE__*/_react["default"].createElement("i", {
129
129
  className: "sdocfont sdoc-check-mark sdoc-dropdown-item-right-icon"
130
130
  }));
131
- }))), isShowTooltip && /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
131
+ }))), isShowTooltip && !isShowDisplayStylePopover && /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
132
132
  target: "select_style",
133
133
  placement: "top",
134
134
  fade: true
@@ -115,7 +115,7 @@ var FontFamily = function FontFamily(_ref) {
115
115
  className: "sdoc-menu-with-dropdown-triangle"
116
116
  }, /*#__PURE__*/_react["default"].createElement("span", {
117
117
  className: caretIconClass
118
- }))), /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
118
+ }))), !isShowMenu && /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
119
119
  target: fontSizeButtonId
120
120
  }, t('Font')), !disabled && /*#__PURE__*/_react["default"].createElement(_reactstrap.UncontrolledPopover, {
121
121
  target: fontSizeButtonId,
@@ -73,7 +73,7 @@ var FontSize = function FontSize(_ref) {
73
73
  className: "sdoc-menu-with-dropdown-triangle"
74
74
  }, /*#__PURE__*/_react["default"].createElement("span", {
75
75
  className: caretIconClass
76
- }))), /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
76
+ }))), !isShowMenu && /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
77
77
  target: fontSizeButtonId
78
78
  }, t('Font_size')), !disabled && /*#__PURE__*/_react["default"].createElement(_reactstrap.UncontrolledPopover, {
79
79
  target: fontSizeButtonId,
@@ -36,6 +36,9 @@ var HeaderMenu = /*#__PURE__*/function (_React$Component) {
36
36
  var menu = _this.menu;
37
37
  var clickIsInMenu = menu && menu.contains(e.target) && menu !== e.target;
38
38
  if (clickIsInMenu) return;
39
+
40
+ // in menu toggle
41
+ if (_this.menuToggle && _this.menuToggle.contains(e.target)) return;
39
42
  _this.setState({
40
43
  isShowHeaderPopover: false
41
44
  }, function () {
@@ -90,6 +93,9 @@ var HeaderMenu = /*#__PURE__*/function (_React$Component) {
90
93
  (0, _defineProperty2["default"])(_this, "setMenuRef", function (ref) {
91
94
  _this.menu = ref;
92
95
  });
96
+ (0, _defineProperty2["default"])(_this, "setMenuToggle", function (ref) {
97
+ _this.menuToggle = ref;
98
+ });
93
99
  (0, _defineProperty2["default"])(_this, "getToolTip", function (type) {
94
100
  return (0, _commonUtils.isMac)() ? _constants.MAC_HOTKEYS[type] : _constants.WIN_HOTKEYS[type];
95
101
  });
@@ -112,6 +118,7 @@ var HeaderMenu = /*#__PURE__*/function (_React$Component) {
112
118
  return /*#__PURE__*/_react["default"].createElement("div", {
113
119
  className: "header-menu"
114
120
  }, /*#__PURE__*/_react["default"].createElement("div", {
121
+ ref: this.setMenuToggle,
115
122
  className: (0, _classnames["default"])('header-toggle', {
116
123
  'header-toggle-disabled': disabled
117
124
  }),
@@ -164,13 +164,6 @@ var ImageHoverMenu = function ImageHoverMenu(_ref) {
164
164
  }
165
165
  // eslint-disable-next-line react-hooks/exhaustive-deps
166
166
  }, []);
167
- var borderPopoverStyle = (0, _react.useMemo)(function () {
168
- var isBlockChild = [_constants.TABLE, _constants.BLOCKQUOTE, _constants.CALL_OUT, _constants.MULTI_COLUMN].includes(type);
169
- if (!isBlockChild) return null;
170
- return {
171
- left: '8px'
172
- };
173
- }, [type]);
174
167
  return /*#__PURE__*/_react["default"].createElement(_commons.ElementPopover, null, /*#__PURE__*/_react["default"].createElement("div", {
175
168
  className: "sdoc-image-hover-menu-container",
176
169
  style: menuPosition
@@ -209,6 +202,7 @@ var ImageHoverMenu = function ImageHoverMenu(_ref) {
209
202
  })))), !readonly && /*#__PURE__*/_react["default"].createElement("span", {
210
203
  className: "op-group-item"
211
204
  }, type === _constants.IMAGE_BLOCK && /*#__PURE__*/_react["default"].createElement("span", {
205
+ id: "sdoc_image_alignment",
212
206
  role: "button",
213
207
  className: (0, _classnames["default"])('op-item', {
214
208
  'active': popoverState.alignPopover
@@ -238,7 +232,11 @@ var ImageHoverMenu = function ImageHoverMenu(_ref) {
238
232
  }), align === item.type && /*#__PURE__*/_react["default"].createElement("i", {
239
233
  className: "sdocfont sdoc-check-mark"
240
234
  }));
241
- }))), /*#__PURE__*/_react["default"].createElement("span", {
235
+ })), isShowTooltip && !popoverState.alignPopover && /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
236
+ target: "sdoc_image_alignment",
237
+ placement: "top",
238
+ fade: true
239
+ }, t('Alignment'))), /*#__PURE__*/_react["default"].createElement("span", {
242
240
  id: "sdoc_image_border",
243
241
  role: "button",
244
242
  className: (0, _classnames["default"])('op-item', {
@@ -272,7 +270,7 @@ var ImageHoverMenu = function ImageHoverMenu(_ref) {
272
270
  }), border_type === item.type && /*#__PURE__*/_react["default"].createElement("i", {
273
271
  className: "sdocfont sdoc-check-mark sdoc-dropdown-item-right-icon"
274
272
  })));
275
- })), isShowTooltip && /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
273
+ })), isShowTooltip && !popoverState.borderPopover && /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
276
274
  target: "sdoc_image_border",
277
275
  placement: "top",
278
276
  fade: true
@@ -80,14 +80,23 @@
80
80
  position: absolute;
81
81
  top: 32px;
82
82
  left: 0px;
83
- padding: 8px 0;
84
83
  background-color: #fff;
85
- border: 1px solid #e5e6e8;
86
- border-radius: 2px;
87
- box-shadow: 0 0 10px #ccc;
84
+ border: 1px solid #eee;
85
+ border-radius: 8px;
86
+ box-shadow: 0 6px 14px 0 rgba(0, 0, 0, 0.1);
88
87
  display: flex;
89
88
  flex-direction: column;
90
89
  align-items: flex-start;
91
90
  z-index: 101;
92
91
  white-space: nowrap;
93
92
  }
93
+
94
+ .sdoc-file-link-hover-menu-container .sdoc-file-display-style-popover .sdoc-dropdown-item {
95
+ padding: 0 12px 0 38px;
96
+ position: relative;
97
+ }
98
+
99
+ .sdoc-file-link-hover-menu-container .sdoc-file-display-style-popover .sdoc-dropdown-menu-item .sdoc-check-mark {
100
+ position: absolute;
101
+ left: 12px;
102
+ }
@@ -56,8 +56,8 @@ var SdocLinkHoverMenu = function SdocLinkHoverMenu(_ref) {
56
56
  }, []);
57
57
  var onShowProver = (0, _react.useCallback)(function (e) {
58
58
  e.stopPropagation();
59
- setIsShowDisplayStylePopover(true);
60
- }, []);
59
+ setIsShowDisplayStylePopover(!isShowDisplayStylePopover);
60
+ }, [isShowDisplayStylePopover]);
61
61
  var onSelect = (0, _react.useCallback)(function (event, value) {
62
62
  event.stopPropagation();
63
63
  var path = _slateReact.ReactEditor.findPath(editor, element);
@@ -152,7 +152,7 @@ var SdocLinkHoverMenu = function SdocLinkHoverMenu(_ref) {
152
152
  return /*#__PURE__*/_react["default"].createElement("div", {
153
153
  key: sdocLinkType,
154
154
  "date-type": sdocLinkType,
155
- className: "sdoc-dropdown-menu-item sdoc-dropdown-item-with-left-icon pr-2",
155
+ className: "sdoc-dropdown-menu-item",
156
156
  onClick: function onClick(event) {
157
157
  return onSelect(event, sdocLinkType);
158
158
  }
@@ -163,7 +163,7 @@ var SdocLinkHoverMenu = function SdocLinkHoverMenu(_ref) {
163
163
  }), /*#__PURE__*/_react["default"].createElement("span", null, t(_constants2.SDOC_LINK_TYPE_CONFIG[sdocLinkType].text))), selectedType === sdocLinkType && /*#__PURE__*/_react["default"].createElement("i", {
164
164
  className: "sdocfont sdoc-check-mark sdoc-dropdown-item-right-icon"
165
165
  }));
166
- }))), isShowTooltip && /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
166
+ }))), isShowTooltip && !isShowDisplayStylePopover && /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
167
167
  target: "display_sdoc_link",
168
168
  placement: "top",
169
169
  fade: true
@@ -77,6 +77,7 @@ var SearchReplaceMenu = function SearchReplaceMenu(_ref) {
77
77
  ariaLabel: "search",
78
78
  disabled: false,
79
79
  isActive: isOpenPopover,
80
+ isShowPopover: isOpenPopover,
80
81
  onMouseDown: onMouseDown
81
82
  }, menuConfig)), isOpenPopover && /*#__PURE__*/_react["default"].createElement(_popover["default"], {
82
83
  editor: editor,
@@ -13,6 +13,7 @@ var _reactI18next = require("react-i18next");
13
13
  var _reactstrap = require("reactstrap");
14
14
  var _classnames = _interopRequireDefault(require("classnames"));
15
15
  var _isHotkey = _interopRequireDefault(require("is-hotkey"));
16
+ var _tooltip = _interopRequireDefault(require("../../../../components/tooltip"));
16
17
  var _constants = require("../../../../constants");
17
18
  var _context = _interopRequireDefault(require("../../../../context"));
18
19
  var _debounce = _interopRequireDefault(require("../../../../utils/debounce"));
@@ -211,9 +212,13 @@ var SearchReplacePopover = function SearchReplacePopover(_ref) {
211
212
  }, /*#__PURE__*/_react["default"].createElement("span", {
212
213
  className: "sdoc-search-replace-title-text"
213
214
  }, t('Search_and_replace')), /*#__PURE__*/_react["default"].createElement("i", {
215
+ id: "sdoc-search-replace-title-close",
214
216
  onClick: closePopover,
215
217
  className: "sdocfont sdoc-sm-close sdoc-search-replace-title-close"
216
- })), /*#__PURE__*/_react["default"].createElement("div", {
218
+ }), /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
219
+ target: "sdoc-search-replace-title-close",
220
+ offset: [-6, 0]
221
+ }, t('Close'))), /*#__PURE__*/_react["default"].createElement("div", {
217
222
  className: "sdoc-search-replace-popover-body"
218
223
  }, /*#__PURE__*/_react["default"].createElement(_reactstrap.Label, {
219
224
  "for": "sdoc-search-replace-search-ipt"
@@ -74,7 +74,7 @@ var TextAlignMenu = function TextAlignMenu(_ref) {
74
74
  className: "sdoc-menu-with-dropdown-triangle"
75
75
  }, /*#__PURE__*/_react["default"].createElement("span", {
76
76
  className: caretIconClass
77
- }))), /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
77
+ }))), !isShowMenu && /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
78
78
  target: buttonId
79
79
  }, t('Alignment_type')), !disabled && /*#__PURE__*/_react["default"].createElement(_reactstrap.UncontrolledPopover, {
80
80
  target: buttonId,
@@ -30,7 +30,7 @@
30
30
  display: inline-flex;
31
31
  align-items: center;
32
32
  justify-content: center;
33
- color: rgb(44, 44, 43);
33
+ color: #212529;
34
34
  opacity: 0.5;
35
35
  }
36
36
 
@@ -88,7 +88,7 @@ var InsertToolbar = function InsertToolbar(_ref) {
88
88
  className: "sdoc-menu-with-dropdown-triangle"
89
89
  }, /*#__PURE__*/_react["default"].createElement("span", {
90
90
  className: caretIconClass
91
- }))), /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
91
+ }))), !isShowMenu && /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
92
92
  target: insertToolbarId
93
93
  }, t('Insert')), !disabled && /*#__PURE__*/_react["default"].createElement(_reactstrap.UncontrolledPopover, {
94
94
  target: insertToolbarId,
@@ -70,9 +70,12 @@ var SDocOutline = function SDocOutline(_ref) {
70
70
  }, /*#__PURE__*/_react["default"].createElement("h2", {
71
71
  className: "sdoc-outline-header__title"
72
72
  }, t('Outline')), /*#__PURE__*/_react["default"].createElement("span", {
73
+ id: "sdoc-outline-close",
73
74
  className: "sdoc-outline-header__close sdocfont sdoc-sm-close",
74
75
  onClick: toggleShow
75
- })), list.length === 0 && /*#__PURE__*/_react["default"].createElement("p", {
76
+ }), /*#__PURE__*/_react["default"].createElement(_tooltip["default"], {
77
+ target: "sdoc-outline-close"
78
+ }, t('Close'))), list.length === 0 && /*#__PURE__*/_react["default"].createElement("p", {
76
79
  className: "mt-4 text-secondary"
77
80
  }, t('Headings_you_add_to_the_document_will_appear_here')), list.length > 0 && /*#__PURE__*/_react["default"].createElement("div", {
78
81
  className: "sdoc-outline-list-container"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seafile/sdoc-editor",
3
- "version": "3.0.196",
3
+ "version": "3.0.198",
4
4
  "main": "dist/index.js",
5
5
  "scripts": {
6
6
  "test": "jest",
@@ -20,7 +20,7 @@
20
20
  "@seafile/comment-editor": "1.0.31",
21
21
  "@seafile/print-js": "1.6.6",
22
22
  "@seafile/react-image-lightbox": "^5.0.6",
23
- "@seafile/sdoc-file-view": "0.0.63",
23
+ "@seafile/sdoc-file-view": "0.0.65",
24
24
  "@seafile/slate": "0.91.8",
25
25
  "@seafile/slate-history": "0.86.2",
26
26
  "@seafile/slate-hyperscript": "0.81.7",
@@ -72,5 +72,5 @@
72
72
  "publishConfig": {
73
73
  "access": "public"
74
74
  },
75
- "gitHead": "17ba5eec14cb267550259fa2a4e89fd0be03643d"
75
+ "gitHead": "8f8ef33b66b8529d76b564b109b81d4f7f0793f7"
76
76
  }