@seafile/sdoc-editor 3.0.83 → 3.0.85

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.
@@ -275,6 +275,12 @@
275
275
  .sdoc-code-block-pre {
276
276
  background: #FAFAFA;
277
277
  border: 1px solid #f0f0f0;
278
+ position: relative;
279
+ overflow-y: hidden !important;
280
+ }
281
+
282
+ .sdoc-code-block-pre.hidden {
283
+ padding-bottom: 48px !important;
278
284
  }
279
285
 
280
286
  .sdoc-code-block-pre .sdoc-code-no-wrap {
@@ -285,6 +291,38 @@
285
291
  white-space: pre;
286
292
  }
287
293
 
294
+ .sdoc-code-block-container .sdoc-code-block-hidden-icon {
295
+ height: 32px;
296
+ display: flex;
297
+ justify-content: center;
298
+ align-items: center;
299
+ position: absolute;
300
+ left: 48%;
301
+ bottom: 8px;
302
+ }
303
+
304
+ .sdoc-code-block-container .sdoc-code-block-hidden-icon .icon-container {
305
+ width: 32px;
306
+ height: 20px;
307
+ background-color: #999;
308
+ border-radius: 30px;
309
+ display: flex;
310
+ align-items: center;
311
+ justify-content: center;
312
+ cursor: pointer;
313
+ }
314
+
315
+ .sdoc-code-block-container .sdoc-code-block-hidden-icon .icon-container .sdocfont {
316
+ color: #fff;
317
+ font-size: 12px;
318
+ }
319
+
320
+ .sdoc-code-block-code.hide-code {
321
+ max-height: 580.2px;
322
+ display: block;
323
+ overflow: hidden;
324
+ }
325
+
288
326
  .sdoc-code-block-code .sdoc-code-line {
289
327
  position: relative;
290
328
  counter-increment: number;
@@ -11,6 +11,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm
11
11
  var _react = _interopRequireWildcard(require("react"));
12
12
  var _slate = require("@seafile/slate");
13
13
  var _slateReact = require("@seafile/slate-react");
14
+ var _classnames = _interopRequireDefault(require("classnames"));
14
15
  var _constants = require("../../../constants");
15
16
  var _useScrollContext = require("../../../hooks/use-scroll-context");
16
17
  var _eventBus = _interopRequireDefault(require("../../../utils/event-bus"));
@@ -41,6 +42,10 @@ var CodeBlock = function CodeBlock(_ref) {
41
42
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
42
43
  showHoverMenu = _useState4[0],
43
44
  setShowHoverMenu = _useState4[1];
45
+ var _useState5 = (0, _react.useState)(false),
46
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
47
+ showAllCode = _useState6[0],
48
+ setShowAllCode = _useState6[1];
44
49
  var onChangeLanguage = (0, _react.useCallback)(function (lang) {
45
50
  var language = lang.value;
46
51
  var path = _slateReact.ReactEditor.findPath(editor, element);
@@ -133,6 +138,10 @@ var CodeBlock = function CodeBlock(_ref) {
133
138
  var handleScroll = function handleScroll() {
134
139
  _eventBus["default"].getInstance().dispatch(_constants.INTERNAL_EVENT.UPDATE_SEARCH_REPLACE_HIGHLIGHT);
135
140
  };
141
+ var isHiddenCodeBlockParts = children.length > 30;
142
+ var toggleHidden = function toggleHidden() {
143
+ setShowAllCode(!showAllCode);
144
+ };
136
145
  return /*#__PURE__*/_react["default"].createElement("div", Object.assign({
137
146
  "data-id": element.id
138
147
  }, attributes, {
@@ -141,11 +150,24 @@ var CodeBlock = function CodeBlock(_ref) {
141
150
  onMouseLeave: onMouseLeave
142
151
  }), /*#__PURE__*/_react["default"].createElement("pre", {
143
152
  onScroll: handleScroll,
144
- className: 'sdoc-code-block-pre',
153
+ className: (0, _classnames["default"])('sdoc-code-block-pre', {
154
+ 'hidden': isHiddenCodeBlockParts
155
+ }),
145
156
  ref: codeBlockRef
146
157
  }, /*#__PURE__*/_react["default"].createElement("code", {
147
- className: "sdoc-code-block-code ".concat(white_space === 'nowrap' ? 'sdoc-code-no-wrap' : '')
148
- }, children)), showHoverMenu && /*#__PURE__*/_react["default"].createElement(_hoverMenu["default"], {
158
+ className: "sdoc-code-block-code ".concat(white_space === 'nowrap' ? 'sdoc-code-no-wrap' : '', " ").concat(!showAllCode ? 'hide-code' : '')
159
+ }, children)), children.length > 30 && /*#__PURE__*/_react["default"].createElement("span", {
160
+ className: "sdoc-code-block-hidden-icon",
161
+ onClick: toggleHidden,
162
+ contentEditable: false,
163
+ suppressContentEditableWarning: true
164
+ }, /*#__PURE__*/_react["default"].createElement("span", {
165
+ className: "icon-container"
166
+ }, !showAllCode ? /*#__PURE__*/_react["default"].createElement("i", {
167
+ className: "sdocfont sdoc-arrow-down arrow"
168
+ }) : /*#__PURE__*/_react["default"].createElement("i", {
169
+ className: "sdocfont sdoc-arrow-up arrow"
170
+ }))), showHoverMenu && /*#__PURE__*/_react["default"].createElement(_hoverMenu["default"], {
149
171
  menuPosition: menuPosition,
150
172
  onChangeLanguage: onChangeLanguage,
151
173
  language: element.language,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seafile/sdoc-editor",
3
- "version": "3.0.83",
3
+ "version": "3.0.85",
4
4
  "main": "dist/index.js",
5
5
  "scripts": {
6
6
  "test": "jest",
@@ -72,5 +72,5 @@
72
72
  "publishConfig": {
73
73
  "access": "public"
74
74
  },
75
- "gitHead": "b46d847b2723878e37bf05209d47a2059a49d098"
75
+ "gitHead": "17559d80caf39007b3ddec54671e986ba6c9254a"
76
76
  }