@seafile/sdoc-editor 3.0.114 → 3.0.115

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 (31) hide show
  1. package/dist/extension/constants/element-type.js +7 -2
  2. package/dist/extension/constants/index.js +34 -2
  3. package/dist/extension/constants/menus-config.js +30 -15
  4. package/dist/extension/plugins/blockquote/helpers.js +5 -3
  5. package/dist/extension/plugins/callout/helper.js +12 -2
  6. package/dist/extension/plugins/check-list/helpers.js +1 -0
  7. package/dist/extension/plugins/code-block/helpers.js +14 -0
  8. package/dist/extension/plugins/formula/helper.js +31 -1
  9. package/dist/extension/plugins/formula/menu/index.js +3 -1
  10. package/dist/extension/plugins/header/helpers.js +1 -0
  11. package/dist/extension/plugins/image/helpers.js +1 -0
  12. package/dist/extension/plugins/index.js +8 -1
  13. package/dist/extension/plugins/list/helpers.js +2 -1
  14. package/dist/extension/plugins/multi-column/helper.js +11 -0
  15. package/dist/extension/plugins/paragraph/render-elem.js +2 -2
  16. package/dist/extension/plugins/quick-insert/plugin/index.js +2 -2
  17. package/dist/extension/plugins/quick-insert/render-elem.js +3 -1
  18. package/dist/extension/plugins/table/helpers.js +3 -1
  19. package/dist/extension/plugins/toggle-header/helper.js +189 -0
  20. package/dist/extension/plugins/toggle-header/index.js +17 -0
  21. package/dist/extension/plugins/toggle-header/placeholder.js +35 -0
  22. package/dist/extension/plugins/toggle-header/plugin.js +537 -0
  23. package/dist/extension/plugins/toggle-header/render-elem.css +45 -0
  24. package/dist/extension/plugins/toggle-header/render-elem.js +130 -0
  25. package/dist/extension/plugins/video/helpers.js +1 -0
  26. package/dist/extension/plugins/whiteboard/helper.js +18 -4
  27. package/dist/extension/render/custom-element.js +20 -0
  28. package/dist/extension/toolbar/insert-element-toolbar/index.js +44 -9
  29. package/dist/extension/toolbar/side-toolbar/helpers.js +132 -19
  30. package/dist/extension/toolbar/side-toolbar/insert-block-menu.js +7 -1
  31. package/package.json +2 -2
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.WIKI_LINK = exports.WHITEBOARD = exports.VIDEO_LINK = exports.VIDEO = exports.UNORDERED_LIST = exports.TWO_COLUMN = exports.TOP_LEVEL_TYPES = exports.TITLE = exports.THREE_COLUMN = exports.TABLE_ROW = exports.TABLE_CELL = exports.TABLE = exports.SUBTITLE = exports.SDOC_LINK = exports.QUICK_INSERT = exports.PARAGRAPH = exports.ORDERED_LIST = exports.MULTI_COLUMN = exports.MENTION_TEMP = exports.MENTION = exports.LIST_ITEM = exports.LINK = exports.INLINE_LEVEL_TYPES = exports.IMAGE_BLOCK = exports.IMAGE = exports.HEADER6 = exports.HEADER5 = exports.HEADER4 = exports.HEADER3 = exports.HEADER2 = exports.HEADER1 = exports.HEADER = exports.GROUP = exports.FOUR_COLUMN = exports.FORMULA = exports.FONT_SIZE_REDUCE = exports.FONT_SIZE_INCREASE = exports.FONT_SIZE = exports.FIVE_COLUMN = exports.FILE_VIEW = exports.FILE_LINK_INSET_INPUT_TEMP = exports.FILE_LINK = exports.COLUMN = exports.CODE_LINE = exports.CODE_BLOCK = exports.CHECK_LIST_ITEM = exports.CALL_OUT = exports.BLOCKQUOTE = exports.ASK_AI = void 0;
6
+ exports.WIKI_LINK = exports.WHITEBOARD = exports.VIDEO_LINK = exports.VIDEO = exports.UNORDERED_LIST = exports.TWO_COLUMN = exports.TOP_LEVEL_TYPES = exports.TOGGLE_HEADER3 = exports.TOGGLE_HEADER2 = exports.TOGGLE_HEADER1 = exports.TOGGLE_HEADER = exports.TOGGLE_CONTENT = exports.TITLE = exports.THREE_COLUMN = exports.TABLE_ROW = exports.TABLE_CELL = exports.TABLE = exports.SUBTITLE = exports.SDOC_LINK = exports.QUICK_INSERT = exports.PARAGRAPH = exports.ORDERED_LIST = exports.MULTI_COLUMN = exports.MENTION_TEMP = exports.MENTION = exports.LIST_ITEM = exports.LINK = exports.INLINE_LEVEL_TYPES = exports.IMAGE_BLOCK = exports.IMAGE = exports.HEADER6 = exports.HEADER5 = exports.HEADER4 = exports.HEADER3 = exports.HEADER2 = exports.HEADER1 = exports.HEADER = exports.GROUP = exports.FOUR_COLUMN = exports.FORMULA = exports.FONT_SIZE_REDUCE = exports.FONT_SIZE_INCREASE = exports.FONT_SIZE = exports.FIVE_COLUMN = exports.FILE_VIEW = exports.FILE_LINK_INSET_INPUT_TEMP = exports.FILE_LINK = exports.COLUMN = exports.CODE_LINE = exports.CODE_BLOCK = exports.CHECK_LIST_ITEM = exports.CALL_OUT = exports.BLOCKQUOTE = exports.ASK_AI = void 0;
7
7
  var BLOCKQUOTE = exports.BLOCKQUOTE = 'blockquote';
8
8
  var TITLE = exports.TITLE = 'title';
9
9
  var SUBTITLE = exports.SUBTITLE = 'subtitle';
@@ -46,6 +46,11 @@ var VIDEO_LINK = exports.VIDEO_LINK = 'video_link';
46
46
  var WHITEBOARD = exports.WHITEBOARD = 'whiteboard';
47
47
  var FILE_VIEW = exports.FILE_VIEW = 'file_view';
48
48
  var FORMULA = exports.FORMULA = 'formula';
49
+ var TOGGLE_HEADER = exports.TOGGLE_HEADER = 'toggle_header';
50
+ var TOGGLE_HEADER1 = exports.TOGGLE_HEADER1 = 'toggle_header1';
51
+ var TOGGLE_HEADER2 = exports.TOGGLE_HEADER2 = 'toggle_header2';
52
+ var TOGGLE_HEADER3 = exports.TOGGLE_HEADER3 = 'toggle_header3';
53
+ var TOGGLE_CONTENT = exports.TOGGLE_CONTENT = 'toggle_content';
49
54
  var ASK_AI = exports.ASK_AI = 'ask_ai';
50
55
 
51
56
  // font
@@ -55,5 +60,5 @@ var FONT_SIZE_REDUCE = exports.FONT_SIZE_REDUCE = 'font-size-reduce';
55
60
 
56
61
  // group
57
62
  var GROUP = exports.GROUP = 'group';
58
- var TOP_LEVEL_TYPES = exports.TOP_LEVEL_TYPES = [BLOCKQUOTE, TITLE, SUBTITLE, HEADER1, HEADER2, HEADER3, HEADER4, HEADER5, HEADER6, ORDERED_LIST, UNORDERED_LIST, CHECK_LIST_ITEM, PARAGRAPH, CODE_BLOCK, TABLE, IMAGE_BLOCK, VIDEO, WHITEBOARD];
63
+ var TOP_LEVEL_TYPES = exports.TOP_LEVEL_TYPES = [BLOCKQUOTE, TITLE, SUBTITLE, HEADER1, HEADER2, HEADER3, HEADER4, HEADER5, HEADER6, ORDERED_LIST, UNORDERED_LIST, CHECK_LIST_ITEM, PARAGRAPH, CODE_BLOCK, TABLE, IMAGE_BLOCK, VIDEO, WHITEBOARD, TOGGLE_HEADER];
59
64
  var INLINE_LEVEL_TYPES = exports.INLINE_LEVEL_TYPES = [IMAGE, LINK, MENTION, MENTION_TEMP];
@@ -456,6 +456,37 @@ Object.defineProperty(exports, "TITLE", {
456
456
  return _elementType.TITLE;
457
457
  }
458
458
  });
459
+ Object.defineProperty(exports, "TOGGLE_CONTENT", {
460
+ enumerable: true,
461
+ get: function get() {
462
+ return _elementType.TOGGLE_CONTENT;
463
+ }
464
+ });
465
+ Object.defineProperty(exports, "TOGGLE_HEADER", {
466
+ enumerable: true,
467
+ get: function get() {
468
+ return _elementType.TOGGLE_HEADER;
469
+ }
470
+ });
471
+ Object.defineProperty(exports, "TOGGLE_HEADER1", {
472
+ enumerable: true,
473
+ get: function get() {
474
+ return _elementType.TOGGLE_HEADER1;
475
+ }
476
+ });
477
+ Object.defineProperty(exports, "TOGGLE_HEADER2", {
478
+ enumerable: true,
479
+ get: function get() {
480
+ return _elementType.TOGGLE_HEADER2;
481
+ }
482
+ });
483
+ Object.defineProperty(exports, "TOGGLE_HEADER3", {
484
+ enumerable: true,
485
+ get: function get() {
486
+ return _elementType.TOGGLE_HEADER3;
487
+ }
488
+ });
489
+ exports.TOGGLE_TITLE_TYPES = void 0;
459
490
  Object.defineProperty(exports, "TOP_LEVEL_TYPES", {
460
491
  enumerable: true,
461
492
  get: function get() {
@@ -520,6 +551,7 @@ var HEADER_TAG = exports.HEADER_TAG = {
520
551
  header6: 'H6'
521
552
  };
522
553
  var HEADER_TITLE_MAP = exports.HEADER_TITLE_MAP = (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"])({}, _elementType.TITLE, 'Title'), _elementType.SUBTITLE, 'Subtitle'), _elementType.HEADER1, 'Header_one'), _elementType.HEADER2, 'Header_two'), _elementType.HEADER3, 'Header_three'), _elementType.HEADER4, 'Header_four'), _elementType.HEADER5, 'Header_five'), _elementType.HEADER6, 'Header_six'), _elementType.PARAGRAPH, 'Paragraph');
554
+ var TOGGLE_TITLE_TYPES = exports.TOGGLE_TITLE_TYPES = [_elementType.TOGGLE_HEADER1, _elementType.TOGGLE_HEADER2, _elementType.TOGGLE_HEADER3];
523
555
  var TRANSPARENT = exports.TRANSPARENT = 'transparent';
524
556
  var CLIPBOARD_FORMAT_KEY = exports.CLIPBOARD_FORMAT_KEY = 'x-slate-fragment';
525
557
  var RECENT_COPY_CONTENT = exports.RECENT_COPY_CONTENT = 'sdoc-recent-copy-content';
@@ -556,6 +588,6 @@ var FILEEXT_TYPE_MAP = exports.FILEEXT_TYPE_MAP = {
556
588
  EXCALIDRAW: 'draw',
557
589
  DOCUMENT: 'word'
558
590
  };
559
- 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];
591
+ 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);
560
592
  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]));
561
- var ROOT_ELEMENT_TYPES = exports.ROOT_ELEMENT_TYPES = [_elementType.PARAGRAPH, _elementType.TITLE, _elementType.SUBTITLE, _elementType.CHECK_LIST_ITEM, _elementType.ORDERED_LIST, _elementType.UNORDERED_LIST, _elementType.BLOCKQUOTE, _elementType.HEADER1, _elementType.HEADER2, _elementType.HEADER3, _elementType.HEADER4, _elementType.HEADER5, _elementType.HEADER6, _elementType.CALL_OUT, _elementType.TABLE, _elementType.CODE_BLOCK, _elementType.IMAGE_BLOCK, _elementType.VIDEO, _elementType.WHITEBOARD, _elementType.FORMULA, _elementType.MULTI_COLUMN];
593
+ var ROOT_ELEMENT_TYPES = exports.ROOT_ELEMENT_TYPES = [_elementType.PARAGRAPH, _elementType.TITLE, _elementType.SUBTITLE, _elementType.CHECK_LIST_ITEM, _elementType.ORDERED_LIST, _elementType.UNORDERED_LIST, _elementType.BLOCKQUOTE, _elementType.HEADER1, _elementType.HEADER2, _elementType.HEADER3, _elementType.HEADER4, _elementType.HEADER5, _elementType.HEADER6, _elementType.CALL_OUT, _elementType.TABLE, _elementType.CODE_BLOCK, _elementType.IMAGE_BLOCK, _elementType.VIDEO, _elementType.WHITEBOARD, _elementType.FORMULA, _elementType.MULTI_COLUMN, _elementType.TOGGLE_HEADER];
@@ -233,20 +233,20 @@ var SIDE_TRANSFORM_MENUS_CONFIG = exports.SIDE_TRANSFORM_MENUS_CONFIG = [{
233
233
  type: _elementType.HEADER3,
234
234
  text: 'Header_three'
235
235
  }, {
236
- id: _elementType.HEADER4,
237
- iconClass: 'sdocfont sdoc-header4',
238
- type: _elementType.HEADER4,
239
- text: 'Header_four'
236
+ id: _elementType.TOGGLE_HEADER1,
237
+ iconClass: 'sdocfont sdoc-toggle-header1',
238
+ type: _elementType.TOGGLE_HEADER1,
239
+ text: 'Toggle_header_one'
240
240
  }, {
241
- id: _elementType.HEADER5,
242
- iconClass: 'sdocfont sdoc-header5',
243
- type: _elementType.HEADER5,
244
- text: 'Header_five'
241
+ id: _elementType.TOGGLE_HEADER2,
242
+ iconClass: 'sdocfont sdoc-toggle-header2',
243
+ type: _elementType.TOGGLE_HEADER2,
244
+ text: 'Toggle_header_two'
245
245
  }, {
246
- id: _elementType.HEADER6,
247
- iconClass: 'sdocfont sdoc-header6',
248
- type: _elementType.HEADER6,
249
- text: 'Header_six'
246
+ id: _elementType.TOGGLE_HEADER3,
247
+ iconClass: 'sdocfont sdoc-toggle-header3',
248
+ type: _elementType.TOGGLE_HEADER3,
249
+ text: 'Toggle_header_three'
250
250
  }, {
251
251
  id: _elementType.UNORDERED_LIST,
252
252
  iconClass: 'sdocfont sdoc-list-ul',
@@ -340,7 +340,7 @@ var SIDE_INSERT_MENUS_CONFIG = exports.SIDE_INSERT_MENUS_CONFIG = (_SIDE_INSERT_
340
340
  iconClass: 'sdocfont sdoc-text',
341
341
  type: _elementType.PARAGRAPH,
342
342
  text: 'Paragraph'
343
- }), (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_SIDE_INSERT_MENUS_CO, _elementType.HEADER, [{
343
+ }), (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_SIDE_INSERT_MENUS_CO, _elementType.HEADER, [{
344
344
  id: _elementType.HEADER1,
345
345
  iconClass: 'sdocfont sdoc-header1',
346
346
  type: _elementType.HEADER1,
@@ -355,6 +355,21 @@ var SIDE_INSERT_MENUS_CONFIG = exports.SIDE_INSERT_MENUS_CONFIG = (_SIDE_INSERT_
355
355
  iconClass: 'sdocfont sdoc-header3',
356
356
  type: _elementType.HEADER3,
357
357
  text: 'Header_three'
358
+ }]), _elementType.TOGGLE_HEADER, [{
359
+ id: _elementType.TOGGLE_HEADER1,
360
+ iconClass: 'sdocfont sdoc-toggle-header1',
361
+ type: _elementType.TOGGLE_HEADER1,
362
+ text: 'Toggle_header_one'
363
+ }, {
364
+ id: _elementType.TOGGLE_HEADER2,
365
+ iconClass: 'sdocfont sdoc-toggle-header2',
366
+ type: _elementType.TOGGLE_HEADER2,
367
+ text: 'Toggle_header_two'
368
+ }, {
369
+ id: _elementType.TOGGLE_HEADER3,
370
+ iconClass: 'sdocfont sdoc-toggle-header3',
371
+ type: _elementType.TOGGLE_HEADER3,
372
+ text: 'Toggle_header_three'
358
373
  }]), _elementType.MULTI_COLUMN, [{
359
374
  id: _elementType.TWO_COLUMN,
360
375
  iconClass: 'sdocfont sdoc-multi-column',
@@ -386,8 +401,8 @@ var SIDE_INSERT_MENUS_CONFIG = exports.SIDE_INSERT_MENUS_CONFIG = (_SIDE_INSERT_
386
401
  type: _elementType.FORMULA,
387
402
  text: 'Formula'
388
403
  }));
389
- var SIDE_INSERT_MENUS_SEARCH_MAP = exports.SIDE_INSERT_MENUS_SEARCH_MAP = (_SIDE_INSERT_MENUS_SE = {}, (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"])(_SIDE_INSERT_MENUS_SE, _elementType.IMAGE, 'Image'), _elementType.VIDEO, 'Video'), _elementType.TABLE, 'Table'), _elementType.COLUMN, 'Column'), _elementType.TWO_COLUMN, 'Two_column'), _elementType.THREE_COLUMN, 'Three_column'), _elementType.FOUR_COLUMN, 'Four_column'), _elementType.LINK, 'Link'), _elementType.CODE_BLOCK, 'Code_block'), _elementType.CALL_OUT, 'Callout'), (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"])(_SIDE_INSERT_MENUS_SE, _elementType.UNORDERED_LIST, 'Unordered_list'), _elementType.ORDERED_LIST, 'Ordered_list'), _elementType.CHECK_LIST_ITEM, 'Check_list'), _elementType.PARAGRAPH, 'Paragraph'), _elementType.HEADER1, 'Header_one'), _elementType.HEADER2, 'Header_two'), _elementType.HEADER3, 'Header_three'), _elementType.HEADER4, 'Header_four'), _elementType.FILE_VIEW, 'File_view'));
390
- var SIDE_QUICK_INSERT_MENUS_SEARCH_MAP = exports.SIDE_QUICK_INSERT_MENUS_SEARCH_MAP = (_SIDE_QUICK_INSERT_ME = {}, (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"])(_SIDE_QUICK_INSERT_ME, _elementType.IMAGE, 'Image'), _elementType.VIDEO, 'Video'), _elementType.TABLE, 'Table'), _elementType.COLUMN, 'Column'), _elementType.TWO_COLUMN, 'Two_column'), _elementType.THREE_COLUMN, 'Three_column'), _elementType.FOUR_COLUMN, 'Four_column'), _elementType.LINK, 'Link'), _elementType.CODE_BLOCK, 'Code_block'), _elementType.CALL_OUT, 'Callout'), (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"])(_SIDE_QUICK_INSERT_ME, _elementType.UNORDERED_LIST, 'Unordered_list'), _elementType.ORDERED_LIST, 'Ordered_list'), _elementType.CHECK_LIST_ITEM, 'Check_list'), _elementType.PARAGRAPH, 'Paragraph'), _elementType.HEADER1, 'Header_one'), _elementType.HEADER2, 'Header_two'), _elementType.HEADER3, 'Header_three'), _elementType.HEADER4, 'Header_four'), _elementType.FILE_VIEW, 'File_view'), _elementType.FORMULA, 'Formula'));
404
+ var SIDE_INSERT_MENUS_SEARCH_MAP = exports.SIDE_INSERT_MENUS_SEARCH_MAP = (_SIDE_INSERT_MENUS_SE = {}, (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"])(_SIDE_INSERT_MENUS_SE, _elementType.IMAGE, 'Image'), _elementType.VIDEO, 'Video'), _elementType.TABLE, 'Table'), _elementType.COLUMN, 'Column'), _elementType.TWO_COLUMN, 'Two_column'), _elementType.THREE_COLUMN, 'Three_column'), _elementType.FOUR_COLUMN, 'Four_column'), _elementType.LINK, 'Link'), _elementType.CODE_BLOCK, 'Code_block'), _elementType.CALL_OUT, 'Callout'), (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"])(_SIDE_INSERT_MENUS_SE, _elementType.UNORDERED_LIST, 'Unordered_list'), _elementType.ORDERED_LIST, 'Ordered_list'), _elementType.CHECK_LIST_ITEM, 'Check_list'), _elementType.PARAGRAPH, 'Paragraph'), _elementType.HEADER1, 'Header_one'), _elementType.HEADER2, 'Header_two'), _elementType.HEADER3, 'Header_three'), _elementType.HEADER4, 'Header_four'), _elementType.TOGGLE_HEADER1, 'Toggle_header_one'), _elementType.TOGGLE_HEADER2, 'Toggle_header_two'), (0, _defineProperty2["default"])((0, _defineProperty2["default"])(_SIDE_INSERT_MENUS_SE, _elementType.TOGGLE_HEADER3, 'Toggle_header_three'), _elementType.FILE_VIEW, 'File_view'));
405
+ var SIDE_QUICK_INSERT_MENUS_SEARCH_MAP = exports.SIDE_QUICK_INSERT_MENUS_SEARCH_MAP = (_SIDE_QUICK_INSERT_ME = {}, (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"])(_SIDE_QUICK_INSERT_ME, _elementType.IMAGE, 'Image'), _elementType.VIDEO, 'Video'), _elementType.TABLE, 'Table'), _elementType.COLUMN, 'Column'), _elementType.TWO_COLUMN, 'Two_column'), _elementType.THREE_COLUMN, 'Three_column'), _elementType.FOUR_COLUMN, 'Four_column'), _elementType.LINK, 'Link'), _elementType.CODE_BLOCK, 'Code_block'), _elementType.CALL_OUT, 'Callout'), (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"])(_SIDE_QUICK_INSERT_ME, _elementType.UNORDERED_LIST, 'Unordered_list'), _elementType.ORDERED_LIST, 'Ordered_list'), _elementType.CHECK_LIST_ITEM, 'Check_list'), _elementType.PARAGRAPH, 'Paragraph'), _elementType.HEADER1, 'Header_one'), _elementType.HEADER2, 'Header_two'), _elementType.HEADER3, 'Header_three'), _elementType.HEADER4, 'Header_four'), _elementType.FILE_VIEW, 'File_view'), _elementType.FORMULA, 'Formula'), (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])(_SIDE_QUICK_INSERT_ME, _elementType.TOGGLE_HEADER1, 'Toggle_header_one'), _elementType.TOGGLE_HEADER2, 'Toggle_header_two'), _elementType.TOGGLE_HEADER3, 'Toggle_header_three'));
391
406
 
392
407
  // Other operations menu config
393
408
  var SIDE_OTHER_OPERATIONS_MENUS_SEARCH_MAP = exports.SIDE_OTHER_OPERATIONS_MENUS_SEARCH_MAP = {
@@ -65,9 +65,10 @@ var setBlockQuoteType = exports.setBlockQuoteType = function setBlockQuoteType(e
65
65
  id: _slugid["default"].nice(),
66
66
  type: _constants.BLOCKQUOTE
67
67
  };
68
- // Insert block quote into column node if in multi_column node
68
+ // Insert block quote into toggle or column node in multi_column node
69
69
  var currentMultiColumnEntry = (0, _core.getSelectedNodeEntryByType)(editor, _constants.MULTI_COLUMN);
70
- if (currentMultiColumnEntry) {
70
+ var currentToggleContentEntry = (0, _core.getSelectedNodeEntryByType)(editor, _constants.TOGGLE_CONTENT);
71
+ if (currentMultiColumnEntry || currentToggleContentEntry) {
71
72
  _slate.Transforms.wrapNodes(editor, blockquoteNode, {
72
73
  mode: 'lowest',
73
74
  match: function match(n) {
@@ -86,7 +87,8 @@ var setBlockQuoteType = exports.setBlockQuoteType = function setBlockQuoteType(e
86
87
  });
87
88
  } else {
88
89
  var _currentMultiColumnEntry = (0, _core.getSelectedNodeEntryByType)(editor, _constants.MULTI_COLUMN);
89
- if (_currentMultiColumnEntry) {
90
+ var _currentToggleContentEntry = (0, _core.getSelectedNodeEntryByType)(editor, _constants.TOGGLE_CONTENT);
91
+ if (_currentMultiColumnEntry || _currentToggleContentEntry) {
90
92
  var blockquoteEntry = _slate.Editor.above(editor, {
91
93
  at: editor.selection.anchor.path,
92
94
  match: function match(n) {
@@ -37,9 +37,10 @@ var isMenuDisabled = exports.isMenuDisabled = function isMenuDisabled(editor, re
37
37
  return _constant.CALLOUT_ALLOWED_INSIDE_TYPES.includes(element.type);
38
38
  });
39
39
  if (isAllSelectedElementsInAllowTypes) return false;
40
- // If selection is in multi_column, able callout menu
40
+ // If selection is in multi_column or toggle_content, able callout menu
41
+ var currentToggleContentEntry = (0, _core.getSelectedNodeEntryByType)(editor, _elementType.TOGGLE_CONTENT);
41
42
  var currentMultiColumnEntry = (0, _core.getSelectedNodeEntryByType)(editor, _elementType.MULTI_COLUMN);
42
- if (currentMultiColumnEntry) return false;
43
+ if (currentMultiColumnEntry || currentToggleContentEntry) return false;
43
44
  return true;
44
45
  };
45
46
 
@@ -61,6 +62,15 @@ var wrapCallout = exports.wrapCallout = function wrapCallout(editor) {
61
62
  var selection = editor.selection;
62
63
  if (!selection) return;
63
64
  var callout = generateCallout();
65
+ // Handle inserting callout into inside toggle content
66
+ var currentToggleContentEntry = (0, _core.getSelectedNodeEntryByType)(editor, _elementType.TOGGLE_CONTENT);
67
+ if (currentToggleContentEntry) {
68
+ _slate.Transforms.wrapNodes(editor, callout, {
69
+ at: editor.selection.anchor.path.slice(0, -1)
70
+ });
71
+ (0, _core.focusEditor)(editor);
72
+ return;
73
+ }
64
74
  // Handle inserting callout into inside multi_column
65
75
  var currentMultiColumnEntry = (0, _core.getSelectedNodeEntryByType)(editor, _elementType.MULTI_COLUMN);
66
76
  if (currentMultiColumnEntry) {
@@ -34,6 +34,7 @@ var isMenuDisabled = exports.isMenuDisabled = function isMenuDisabled(editor, re
34
34
  var notMatch = selectedElements.some(function (element) {
35
35
  if (_slate.Editor.isVoid(editor, element) && _slate.Editor.isBlock(editor, element)) return true;
36
36
  var type = element.type;
37
+ if (_constants.TOGGLE_TITLE_TYPES.includes(type)) return true;
37
38
  if (type === _constants.ELEMENT_TYPE.CODE_LINE) return true;
38
39
  if (type === _constants.ELEMENT_TYPE.CODE_BLOCK) return true;
39
40
  if ([_constants.ORDERED_LIST, _constants.UNORDERED_LIST].includes(type) && (0, _core.isMultiLevelList)(element)) return true;
@@ -19,6 +19,11 @@ var isMenuDisabled = exports.isMenuDisabled = function isMenuDisabled(editor, re
19
19
  var selection = editor.selection;
20
20
  if (selection === null) return true;
21
21
  if ((0, _helper.getCalloutEntry)(editor)) return true;
22
+
23
+ // If selection is in multi_column or toggle_content, able callout menu
24
+ var currentToggleContentEntry = (0, _core.getSelectedNodeEntryByType)(editor, _constants.TOGGLE_CONTENT);
25
+ var currentMultiColumnEntry = (0, _core.getSelectedNodeEntryByType)(editor, _constants.MULTI_COLUMN);
26
+ if (currentMultiColumnEntry || currentToggleContentEntry) return false;
22
27
  var selectedElems = (0, _core.getSelectedElems)(editor);
23
28
  var hasVoid = selectedElems.some(function (elem) {
24
29
  return editor.isVoid(elem);
@@ -82,6 +87,15 @@ var changeToCodeBlock = exports.changeToCodeBlock = function changeToCodeBlock(e
82
87
 
83
88
  // Insert current
84
89
  if (position === _constants.INSERT_POSITION.CURRENT) {
90
+ // Insert codeblock in toggle content
91
+ var currentToggleContentEntry = (0, _core.getSelectedNodeEntryByType)(editor, _constants.TOGGLE_CONTENT);
92
+ if (currentToggleContentEntry) {
93
+ newCodeBlockNode.children[0].children[0].text = strArr.join('\n');
94
+ _slate.Transforms.insertNodes(editor, newCodeBlockNode, {
95
+ at: path.slice(0, -1)
96
+ });
97
+ return;
98
+ }
85
99
  // Insert codeblock in multi_column
86
100
  var currentMultiColumnEntry = (0, _core.getSelectedNodeEntryByType)(editor, _constants.MULTI_COLUMN);
87
101
  if (currentMultiColumnEntry) {
@@ -4,13 +4,43 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.updateFormula = exports.onCopyFormulaNode = exports.insertFormula = void 0;
7
+ exports.updateFormula = exports.onCopyFormulaNode = exports.isInsertFormulaMenuDisabled = exports.insertFormula = void 0;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
8
9
  var _slate = require("@seafile/slate");
9
10
  var _slateReact = require("@seafile/slate-react");
10
11
  var _copyToClipboard = _interopRequireDefault(require("copy-to-clipboard"));
11
12
  var _slugid = _interopRequireDefault(require("slugid"));
13
+ var _constants = require("../../constants");
12
14
  var _elementType = require("../../constants/element-type");
13
15
  var _core = require("../../core");
16
+ var isInsertFormulaMenuDisabled = exports.isInsertFormulaMenuDisabled = function isInsertFormulaMenuDisabled(editor, readonly) {
17
+ if (readonly) return true;
18
+ var selection = editor.selection;
19
+ if (selection === null) return true;
20
+ if (!_slate.Range.isCollapsed(selection)) return true;
21
+ var _Editor$nodes = _slate.Editor.nodes(editor, {
22
+ match: function match(n) {
23
+ var type = (0, _core.getNodeType)(n);
24
+ if (_constants.TOGGLE_TITLE_TYPES.includes(type)) return true;
25
+ if (type === _elementType.CODE_BLOCK) return true;
26
+ if (type.startsWith('header')) return true;
27
+ if (type === _elementType.TITLE) return true;
28
+ if (type === _elementType.SUBTITLE) return true;
29
+ if (type === _elementType.LIST_ITEM) return true;
30
+ if (type === _elementType.CHECK_LIST_ITEM) return true;
31
+ if (type === _elementType.MULTI_COLUMN) return true;
32
+ if (type === _elementType.BLOCKQUOTE) return true;
33
+ if (type === _elementType.CALL_OUT) return true;
34
+ if (_slate.Editor.isVoid(editor, n)) return true;
35
+ return false;
36
+ },
37
+ universal: true
38
+ }),
39
+ _Editor$nodes2 = (0, _slicedToArray2["default"])(_Editor$nodes, 1),
40
+ match = _Editor$nodes2[0];
41
+ if (match) return true;
42
+ return false;
43
+ };
14
44
  var insertFormula = exports.insertFormula = function insertFormula(editor, data) {
15
45
  var formula = {
16
46
  id: _slugid["default"].nice(),
@@ -10,11 +10,13 @@ var _constants = require("../../../../constants");
10
10
  var _eventBus = _interopRequireDefault(require("../../../../utils/event-bus"));
11
11
  var _dropdownMenuItem = _interopRequireDefault(require("../../../commons/dropdown-menu-item"));
12
12
  var _constants2 = require("../../../constants");
13
+ var _helper = require("../helper");
13
14
  var FormulaMenu = function FormulaMenu(_ref) {
14
15
  var editor = _ref.editor,
15
16
  readonly = _ref.readonly,
16
17
  toggle = _ref.toggle;
17
18
  var menuConfig = _constants2.MENUS_CONFIG_MAP[_constants2.ELEMENT_TYPE.FORMULA];
19
+ var disabled = (0, _helper.isInsertFormulaMenuDisabled)(editor, readonly);
18
20
  var OpenFormulaModal = function OpenFormulaModal() {
19
21
  toggle && toggle();
20
22
  var eventBus = _eventBus["default"].getInstance();
@@ -24,7 +26,7 @@ var FormulaMenu = function FormulaMenu(_ref) {
24
26
  });
25
27
  };
26
28
  return /*#__PURE__*/_react["default"].createElement(_dropdownMenuItem["default"], {
27
- disabled: readonly,
29
+ disabled: disabled,
28
30
  menuConfig: menuConfig,
29
31
  onClick: OpenFormulaModal
30
32
  });
@@ -47,6 +47,7 @@ var getHeaderType = exports.getHeaderType = function getHeaderType(editor) {
47
47
  if (!match) return _constants.PARAGRAPH;
48
48
  var _match = (0, _slicedToArray2["default"])(match, 1),
49
49
  n = _match[0];
50
+ if (n.type === _constants.TOGGLE_HEADER) return _constants.PARAGRAPH;
50
51
  return (0, _core.getNodeType)(n);
51
52
  };
52
53
  var isSelectionInHeader = exports.isSelectionInHeader = function isSelectionInHeader(editor) {
@@ -48,6 +48,7 @@ var isInsertImageMenuDisabled = exports.isInsertImageMenuDisabled = function isI
48
48
  var parentNode = (0, _core.getParentNode)(editor.children, n.id);
49
49
  type = (0, _core.getNodeType)(parentNode);
50
50
  }
51
+ if (_constants2.TOGGLE_TITLE_TYPES.includes(type)) return true;
51
52
  if (type === _constants2.CODE_BLOCK) return true;
52
53
  if (type.startsWith('header')) return true;
53
54
  if (type === _constants2.TITLE) return true;
@@ -149,6 +149,12 @@ Object.defineProperty(exports, "TextPlugin", {
149
149
  return _textStyle["default"];
150
150
  }
151
151
  });
152
+ Object.defineProperty(exports, "ToggleHeaderPlugin", {
153
+ enumerable: true,
154
+ get: function get() {
155
+ return _toggleHeader["default"];
156
+ }
157
+ });
152
158
  Object.defineProperty(exports, "VideoPlugin", {
153
159
  enumerable: true,
154
160
  get: function get() {
@@ -192,10 +198,11 @@ var _searchReplace = _interopRequireDefault(require("./search-replace"));
192
198
  var _table = _interopRequireDefault(require("./table"));
193
199
  var _textAlign = _interopRequireDefault(require("./text-align"));
194
200
  var _textStyle = _interopRequireDefault(require("./text-style"));
201
+ var _toggleHeader = _interopRequireDefault(require("./toggle-header"));
195
202
  var _video = _interopRequireDefault(require("./video"));
196
203
  var _whiteboard = _interopRequireDefault(require("./whiteboard"));
197
204
  var _wikiLink = _interopRequireDefault(require("./wiki-link"));
198
- var Plugins = [_markdown["default"], _html["default"], _header["default"], _link["default"], _blockquote["default"], _list["default"], _checkList["default"], _codeBlock["default"], _image["default"], _video["default"], _table["default"], _multiColumn["default"], _textStyle["default"], _textAlign["default"], _font["default"], _sdocLink["default"], _paragraph["default"], _fileLink["default"], _callout["default"], _searchReplace["default"], _quickInsert["default"], _group["default"], _whiteboard["default"], _fileView["default"], _formula["default"]];
205
+ var Plugins = [_markdown["default"], _html["default"], _header["default"], _link["default"], _blockquote["default"], _list["default"], _checkList["default"], _codeBlock["default"], _image["default"], _video["default"], _table["default"], _multiColumn["default"], _textStyle["default"], _textAlign["default"], _font["default"], _sdocLink["default"], _paragraph["default"], _fileLink["default"], _callout["default"], _searchReplace["default"], _quickInsert["default"], _group["default"], _whiteboard["default"], _fileView["default"], _formula["default"], _toggleHeader["default"]];
199
206
  var WikiPlugins = exports.WikiPlugins = [].concat(Plugins, [_wikiLink["default"], _fileView["default"]]);
200
207
  var CommentPlugins = exports.CommentPlugins = [_markdown["default"], _html["default"], _paragraph["default"], _textStyle["default"], _list["default"], _image["default"], _link["default"], _mention["default"], _blockquote["default"]];
201
208
  var _default = exports["default"] = Plugins;
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.setListType = exports.isSingleListItem = exports.isMenuDisabled = exports.getListType = exports.getBeforeText = void 0;
8
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
9
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
9
10
  var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createForOfIteratorHelper"));
10
11
  var _slate = require("@seafile/slate");
11
12
  var _constants = require("../../constants");
@@ -35,7 +36,7 @@ var isMenuDisabled = exports.isMenuDisabled = function isMenuDisabled(editor, re
35
36
  var notMatch = selectedElements.some(function (element) {
36
37
  if (_slate.Editor.isVoid(editor, element) && _slate.Editor.isBlock(editor, element)) return true;
37
38
  var type = element.type;
38
- if ([_constants.CODE_LINE, _constants.CODE_BLOCK, _constants.TABLE, _constants.CHECK_LIST_ITEM].includes(type)) return true;
39
+ if ([_constants.CODE_LINE, _constants.CODE_BLOCK, _constants.TABLE, _constants.CHECK_LIST_ITEM].concat((0, _toConsumableArray2["default"])(_constants.TOGGLE_TITLE_TYPES)).includes(type)) return true;
39
40
  return false;
40
41
  });
41
42
  if (notMatch) return true;
@@ -204,6 +204,17 @@ var handleInsertMultiColumn = exports.handleInsertMultiColumn = function handleI
204
204
  at: insertPath
205
205
  });
206
206
  }
207
+ // When inserting multi column in the toggle content, insert after
208
+ var currentToggleContentEntry = (0, _core.getSelectedNodeEntryByType)(editor, _constants2.TOGGLE_CONTENT);
209
+ if (currentToggleContentEntry) {
210
+ insertPath = [path[0] + 1];
211
+ _slate.Transforms.insertNodes(editor, multiColumnNode, {
212
+ at: insertPath
213
+ });
214
+ _slate.Transforms.select(editor, _slate.Editor.start(editor, insertPath));
215
+ _slateReact.ReactEditor.focus(editor);
216
+ return;
217
+ }
207
218
  // If there are multiple children in the editor, insert the new multi-column node at the current selection
208
219
  if (editor.children.length !== 1 && !currentMultiColumnEntry) {
209
220
  _slate.Transforms.insertNodes(editor, multiColumnNode, {
@@ -42,9 +42,9 @@ var Paragraph = function Paragraph(_ref) {
42
42
  isShowPlaceHolder = true;
43
43
  }
44
44
 
45
- // Distinguish whether paragraph node is in multi_column node
45
+ // Distinguish whether paragraph node is in multi_column or toggle_header node
46
46
  var aboveNodeEntry = isSelected && (0, _core.getTopLevelBlockNode)(editor);
47
- if (!isComposing && aboveNodeEntry && aboveNodeEntry[0].type === _constants2.ELEMENT_TYPE.MULTI_COLUMN && isSelected && (0, _helper.isEmptyNode)(element) && _slate.Range.isCollapsed(editor.selection)) {
47
+ if (!isComposing && aboveNodeEntry && [_constants2.ELEMENT_TYPE.MULTI_COLUMN, _constants2.ELEMENT_TYPE.TOGGLE_HEADER].includes(aboveNodeEntry[0].type) && isSelected && (0, _helper.isEmptyNode)(element) && _slate.Range.isCollapsed(editor.selection)) {
48
48
  isShowPlaceHolder = true;
49
49
  }
50
50
  var style = {
@@ -33,8 +33,8 @@ var withQuickInsert = function withQuickInsert(editor) {
33
33
  return insertText(text);
34
34
  }
35
35
 
36
- // Disable quick insert for non-empty nodes if not multi_column node
37
- if (_slate.Node.string(blockNode) !== '' && blockNode.type !== _constants2.MULTI_COLUMN) {
36
+ // Disable quick insert for non-empty nodes if not multi_column or toggle_header node
37
+ if (_slate.Node.string(blockNode) !== '' && ![_constants2.MULTI_COLUMN, _constants2.TOGGLE_HEADER].includes(blockNode.type)) {
38
38
  return insertText(text);
39
39
  }
40
40
 
@@ -33,7 +33,9 @@ var RenderQuickInsert = function RenderQuickInsert(_ref, editor, readonly) {
33
33
  var scrollRef = (0, _useScrollContext.useScrollContext)();
34
34
  var insertElmRef = (0, _react.useRef)(null);
35
35
  var aboveBlockNode = (0, _core.getAboveBlockNode)(editor);
36
- var isEmptyNode = aboveBlockNode && _slate.Editor.isEmpty(editor, aboveBlockNode === null || aboveBlockNode === void 0 ? void 0 : aboveBlockNode[0]);
36
+ var parentBlockNode = _slate.Editor.parent(editor, aboveBlockNode === null || aboveBlockNode === void 0 ? void 0 : aboveBlockNode[1]);
37
+ // In toggle content's empty paragraph or empty paragraph
38
+ var isEmptyNode = parentBlockNode && (parentBlockNode === null || parentBlockNode === void 0 ? void 0 : parentBlockNode[0].type) === _constants.TOGGLE_CONTENT || aboveBlockNode && _slate.Editor.isEmpty(editor, aboveBlockNode === null || aboveBlockNode === void 0 ? void 0 : aboveBlockNode[0]);
37
39
  var _useState3 = (0, _react.useState)((0, _helper.isSelectionSameWithInsert)(editor, element)),
38
40
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
39
41
  isShowPopover = _useState4[0],
@@ -33,6 +33,7 @@ var isTableMenuDisabled = exports.isTableMenuDisabled = function isTableMenuDisa
33
33
  var parentNode = (0, _core.getParentNode)(editor.children, n.id);
34
34
  type = (0, _core.getNodeType)(parentNode);
35
35
  }
36
+ if (_constants2.TOGGLE_TITLE_TYPES.includes(type)) return true;
36
37
  if (type.startsWith('header')) return true;
37
38
  if (type === _constants2.ELEMENT_TYPE.TITLE) return true;
38
39
  if (type === _constants2.ELEMENT_TYPE.SUBTITLE) return true;
@@ -1403,7 +1404,8 @@ var getInsertPosition = exports.getInsertPosition = function getInsertPosition(e
1403
1404
  if (!selection) return _constants2.INSERT_POSITION.CURRENT;
1404
1405
  if (!_slate.Range.isCollapsed(selection)) return _constants2.INSERT_POSITION.CURRENT;
1405
1406
  var aboveNodeEntry = (0, _core.getAboveBlockNode)(editor);
1406
- if (!aboveNodeEntry) return _constants2.INSERT_POSITION.CURRENT;
1407
+ var parentBlockNode = _slate.Editor.parent(editor, aboveNodeEntry === null || aboveNodeEntry === void 0 ? void 0 : aboveNodeEntry[1]);
1408
+ if (!aboveNodeEntry || (parentBlockNode === null || parentBlockNode === void 0 ? void 0 : parentBlockNode[0].type) === _constants2.TOGGLE_CONTENT) return _constants2.INSERT_POSITION.CURRENT;
1407
1409
  var isAtStart = _slate.Editor.isStart(editor, selection.anchor, aboveNodeEntry[1]);
1408
1410
  if (isAtStart) return _constants2.INSERT_POSITION.BEFORE;
1409
1411
  var isAtEnd = _slate.Editor.isEnd(editor, selection.anchor, aboveNodeEntry[1]);