@worktile/theia 19.1.2 → 19.1.4

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.
@@ -8,3 +8,4 @@ export declare const DEFAULT_SCROLL_CONTAINER = ".the-editable-container";
8
8
  export declare const ELEMENT_UNIQUE_ID = "key";
9
9
  export declare const ZERO_WIDTH_CHAR = "\u200B";
10
10
  export declare const QUICK_INSERT_HOTKEY = "/";
11
+ export declare const HIDDEN_CLASS = "slate-block-hidden";
@@ -10,7 +10,7 @@ import { cloneDeep, map, assign, defaults, groupBy, uniq, isEqual } from 'lodash
10
10
  export { assign, cloneDeep, debounce, defaults, groupBy, isEqual, map, uniq } from 'lodash';
11
11
  import { Editor, Element, Span, Range, Path, Node, Point, Text, Transforms, Operation, createEditor } from 'slate';
12
12
  import * as i4 from 'slate-angular';
13
- import { FAKE_LEFT_BLOCK_CARD_OFFSET, FAKE_RIGHT_BLOCK_CARD_OFFSET, NODE_TO_PARENT, NODE_TO_INDEX, getClipboardData, AngularEditor, hotkeys, getPlainText as getPlainText$1, createClipboardData, setClipboardData, isClipboardWriteSupported, BaseElementComponent, IS_SAFARI, ELEMENT_TO_COMPONENT, BaseTextComponent, SlateModule, hasBlockCard, isCardLeft, SlateChildrenOutlet, EDITOR_TO_ELEMENT, defaultScrollSelectionIntoView, getDataTransferClipboard, withAngular } from 'slate-angular';
13
+ import { FAKE_LEFT_BLOCK_CARD_OFFSET, FAKE_RIGHT_BLOCK_CARD_OFFSET, NODE_TO_PARENT, NODE_TO_INDEX, getClipboardData, AngularEditor, hotkeys, getPlainText as getPlainText$1, createClipboardData, setClipboardData, isClipboardWriteSupported, BaseElementComponent, IS_SAFARI, ELEMENT_TO_COMPONENT, NODE_TO_ELEMENT, BaseTextComponent, SlateModule, hasBlockCard, isCardLeft, SlateChildrenOutlet, EDITOR_TO_ELEMENT, defaultScrollSelectionIntoView, getDataTransferClipboard, withAngular } from 'slate-angular';
14
14
  import { HistoryEditor, withHistory } from 'slate-history';
15
15
  import { TheiaConverter } from '@atinc/selene';
16
16
  import { isObject, isArray, isString, isUndefined } from 'ngx-tethys/util';
@@ -61,6 +61,7 @@ const DEFAULT_SCROLL_CONTAINER = '.the-editable-container';
61
61
  const ELEMENT_UNIQUE_ID = 'key';
62
62
  const ZERO_WIDTH_CHAR = '\u200B';
63
63
  const QUICK_INSERT_HOTKEY = '/';
64
+ const HIDDEN_CLASS = 'slate-block-hidden';
64
65
 
65
66
  var ElementKinds;
66
67
  (function (ElementKinds) {
@@ -1934,7 +1935,7 @@ class TheBaseElement extends BaseElementComponent {
1934
1935
  if (this.editor) {
1935
1936
  const isVisible = this.editor.isVisible(this.element);
1936
1937
  if (!isVisible) {
1937
- this.nativeElement.classList.add('slate-block-hidden');
1938
+ this.nativeElement.classList.add(HIDDEN_CLASS);
1938
1939
  }
1939
1940
  }
1940
1941
  }
@@ -7758,6 +7759,9 @@ function isHeadingElement(element) {
7758
7759
  function isStandardHeadingElement(element) {
7759
7760
  return isHeadingElement(element) && HeaderLevelMap[element.type] !== undefined;
7760
7761
  }
7762
+ function isStandardHeadingElementByType(type) {
7763
+ return HeaderLevelMap[type] !== undefined;
7764
+ }
7761
7765
  function getFollowElements(editor, element) {
7762
7766
  const index = editor.children.indexOf(element);
7763
7767
  const currentLevel = HeaderLevelMap[element.type];
@@ -7773,6 +7777,41 @@ function getFollowElements(editor, element) {
7773
7777
  }
7774
7778
  return result;
7775
7779
  }
7780
+ function getPreviousRelatedHeadingElements(editor, path) {
7781
+ const index = path[0];
7782
+ const element = editor.children[index];
7783
+ let currentLevel = HeaderLevelMap[element.type] || HeaderLevelMap[ElementKinds.heading_1];
7784
+ const linkedHeadingPaths = [];
7785
+ for (let i = index - 1; i >= 0; i--) {
7786
+ const element = editor.children[i];
7787
+ if (isStandardHeadingElement(element) && HeaderLevelMap[element.type] === currentLevel) {
7788
+ if (element.isCollapsed) {
7789
+ linkedHeadingPaths.push([i]);
7790
+ }
7791
+ return linkedHeadingPaths;
7792
+ }
7793
+ else if (isStandardHeadingElement(element) && HeaderLevelMap[element.type] > currentLevel && element.isCollapsed) {
7794
+ linkedHeadingPaths.push([i]);
7795
+ }
7796
+ }
7797
+ return null;
7798
+ }
7799
+ function getCollapsedStandardHeadingAbove(editor, path) {
7800
+ const index = path[0];
7801
+ const linkedHeadingPaths = [];
7802
+ for (let i = index - 1; i >= 0; i--) {
7803
+ const element = editor.children[i];
7804
+ if (isStandardHeadingElement(element)) {
7805
+ if (element.isCollapsed) {
7806
+ linkedHeadingPaths.push([i]);
7807
+ }
7808
+ if (editor.isVisible(element)) {
7809
+ return linkedHeadingPaths;
7810
+ }
7811
+ }
7812
+ }
7813
+ return linkedHeadingPaths;
7814
+ }
7776
7815
 
7777
7816
  class TheTableSelect {
7778
7817
  constructor(popoverRef) {
@@ -8147,20 +8186,39 @@ class TheHeadingElement extends TheBaseElement {
8147
8186
  if (isHeading && this.element && value.element !== this.element) {
8148
8187
  if (value.element.isCollapsed !== this.element.isCollapsed) {
8149
8188
  const followElements = getFollowElements(this.editor, value.element);
8150
- followElements.forEach(el => {
8151
- const isVisible = this.editor.isVisible(el);
8152
- const targetDom = AngularEditor.toDOMNode(this.editor, el);
8153
- if (isVisible) {
8154
- targetDom.classList.remove('slate-block-hidden');
8155
- }
8156
- else {
8157
- targetDom.classList.add('slate-block-hidden');
8158
- }
8159
- });
8189
+ // 一旦内容发生变化会出现 targetDom get undefined 的情况,所以等一个 setTimeout 周期
8190
+ setTimeout(() => {
8191
+ followElements.forEach(el => {
8192
+ const isVisible = this.editor.isVisible(el);
8193
+ const targetDom = NODE_TO_ELEMENT.get(el);
8194
+ if (!targetDom) {
8195
+ return;
8196
+ }
8197
+ if (isVisible) {
8198
+ targetDom.classList.remove(HIDDEN_CLASS);
8199
+ }
8200
+ else {
8201
+ targetDom.classList.add(HIDDEN_CLASS);
8202
+ }
8203
+ });
8204
+ }, 0);
8160
8205
  }
8161
8206
  }
8162
8207
  };
8163
8208
  }
8209
+ ngOnInit() {
8210
+ super.ngOnInit();
8211
+ if (this.element && isStandardHeadingElement(this.element) && this.element.isCollapsed) {
8212
+ const followElements = getFollowElements(this.editor, this.element);
8213
+ // 处理删除后撤销场景
8214
+ followElements.forEach(el => {
8215
+ const targetDom = NODE_TO_ELEMENT.get(el);
8216
+ if (targetDom) {
8217
+ targetDom.classList.add(HIDDEN_CLASS);
8218
+ }
8219
+ });
8220
+ }
8221
+ }
8164
8222
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: TheHeadingElement, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
8165
8223
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: TheHeadingElement, isStandalone: true, selector: "[theHeadingElement]", usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8166
8224
  }
@@ -10737,23 +10795,103 @@ const createFontSizePlugin = (locale) => createPluginFactory({
10737
10795
  }
10738
10796
  })();
10739
10797
 
10798
+ const cleanHeadingEffect = (editor, path) => {
10799
+ const index = path[0];
10800
+ const headingElement = editor.children[index];
10801
+ if (!isStandardHeadingElement(headingElement)) {
10802
+ return;
10803
+ }
10804
+ const followedElements = getFollowElements(editor, headingElement);
10805
+ if (headingElement.isCollapsed) {
10806
+ followedElements.forEach(el => {
10807
+ const targetDom = AngularEditor.toDOMNode(editor, el);
10808
+ targetDom.classList.contains(HIDDEN_CLASS) && targetDom.classList.remove(HIDDEN_CLASS);
10809
+ });
10810
+ }
10811
+ };
10740
10812
  const withHeading = (editor) => {
10741
- const { insertBreak, isVisible } = editor;
10813
+ const { insertBreak, isVisible, apply, deleteBackward, onClick } = editor;
10814
+ editor.apply = operation => {
10815
+ try {
10816
+ if (operation.type === 'merge_node' && operation.path.length === 1) {
10817
+ cleanHeadingEffect(editor, operation.path);
10818
+ }
10819
+ else if (operation.type === 'remove_node' && operation.path.length === 1) {
10820
+ // 协同场景下,merge_node 会被转换为 remove_node 和 insert_node
10821
+ cleanHeadingEffect(editor, operation.path);
10822
+ }
10823
+ }
10824
+ catch (error) {
10825
+ console.error('Error handing heading fold(hidden followed elements):', error);
10826
+ }
10827
+ apply(operation);
10828
+ };
10829
+ editor.deleteBackward = unit => {
10830
+ const { selection } = editor;
10831
+ const anchorBlock = getAnchorBlockEntry(editor);
10832
+ if (anchorBlock) {
10833
+ const [anchorBlockElement, path] = anchorBlock;
10834
+ const isCollapsed = selection && Range.isCollapsed(selection);
10835
+ const isStart = Editor.isStart(editor, selection.anchor, anchorBlock[1]);
10836
+ if (path.length === 1 && path[0] > 0 && isCollapsed && isStart && isStandardHeadingElement(anchorBlockElement)) {
10837
+ const prevPath = Path.previous(path);
10838
+ const prevElement = editor.children[prevPath[0]];
10839
+ const prevIsVisible = editor.isVisible(prevElement);
10840
+ if (!prevIsVisible) {
10841
+ const relatedHeadingPaths = getPreviousRelatedHeadingElements(editor, path);
10842
+ relatedHeadingPaths.forEach(path => {
10843
+ cleanHeadingEffect(editor, path);
10844
+ Transforms.setNodes(editor, { isCollapsed: false }, { at: path });
10845
+ });
10846
+ }
10847
+ }
10848
+ else if (path.length === 1 &&
10849
+ path[0] === 0 &&
10850
+ isCollapsed &&
10851
+ isStart &&
10852
+ isStandardHeadingElement(anchorBlockElement) &&
10853
+ anchorBlockElement.isCollapsed) {
10854
+ cleanHeadingEffect(editor, path);
10855
+ Transforms.setNodes(editor, { isCollapsed: null, type: ElementKinds.paragraph }, { at: path });
10856
+ return;
10857
+ }
10858
+ }
10859
+ deleteBackward(unit);
10860
+ };
10742
10861
  editor.insertBreak = () => {
10743
10862
  const { selection } = editor;
10744
10863
  const anchorBlock = getAnchorBlockEntry(editor);
10745
- if (anchorBlock && Range.isCollapsed(selection) && anchorBlock[0].type.startsWith('heading')) {
10746
- if (Editor.isStart(editor, selection.anchor, anchorBlock[1])) {
10864
+ const isHeading = anchorBlock && isHeadingElement(anchorBlock[0]);
10865
+ if (isHeading) {
10866
+ const isCollapsed = Range.isCollapsed(selection);
10867
+ const isStart = Editor.isStart(editor, selection.anchor, anchorBlock[1]);
10868
+ const isEnd = Editor.isEnd(editor, selection.focus, anchorBlock[1]);
10869
+ const isCollapsedHeading = anchorBlock[0].isCollapsed;
10870
+ if (isCollapsedHeading && anchorBlock[1].length === 1) {
10871
+ const followedElements = getFollowElements(editor, anchorBlock[0]);
10872
+ const toPath = [anchorBlock[1][0] + followedElements.length];
10873
+ const toRef = Editor.pathRef(editor, toPath);
10747
10874
  insertBreak();
10748
- Transforms.setNodes(editor, { type: ElementKinds.paragraph }, {
10749
- at: selection
10875
+ Transforms.moveNodes(editor, {
10876
+ to: toRef.current,
10877
+ mode: 'highest'
10750
10878
  });
10879
+ Transforms.setNodes(editor, { isCollapsed: false });
10751
10880
  return;
10752
10881
  }
10753
- if (Editor.isEnd(editor, selection.focus, anchorBlock[1])) {
10754
- insertBreak();
10755
- Transforms.setNodes(editor, { type: ElementKinds.paragraph });
10756
- return;
10882
+ else {
10883
+ if (isCollapsed && isStart) {
10884
+ insertBreak();
10885
+ Transforms.setNodes(editor, { type: ElementKinds.paragraph }, {
10886
+ at: selection
10887
+ });
10888
+ return;
10889
+ }
10890
+ if (isCollapsed && isEnd) {
10891
+ insertBreak();
10892
+ Transforms.setNodes(editor, { type: ElementKinds.paragraph });
10893
+ return;
10894
+ }
10757
10895
  }
10758
10896
  }
10759
10897
  insertBreak();
@@ -10767,7 +10905,7 @@ const withHeading = (editor) => {
10767
10905
  return true;
10768
10906
  }
10769
10907
  // 如果本身是二级标题,只可能被一级标题影响
10770
- const minHeadingLevel = headingLevel !== undefined ? headingLevel - 1 : HeaderLevelMap[ElementKinds.heading_4];
10908
+ let minHeadingLevel = headingLevel !== undefined ? headingLevel - 1 : HeaderLevelMap[ElementKinds.heading_4];
10771
10909
  for (let i = index - 1; i >= 0; i--) {
10772
10910
  const element = editor.children[i];
10773
10911
  if (isHeadingElement(element)) {
@@ -10781,6 +10919,10 @@ const withHeading = (editor) => {
10781
10919
  else if (element.isCollapsed) {
10782
10920
  return false;
10783
10921
  }
10922
+ else {
10923
+ // 遇到未折叠标题,则只能被比它更大的标题影响
10924
+ minHeadingLevel = elementHeadingLevel - 1;
10925
+ }
10784
10926
  }
10785
10927
  }
10786
10928
  }
@@ -10788,6 +10930,37 @@ const withHeading = (editor) => {
10788
10930
  }
10789
10931
  return isVisible(node);
10790
10932
  };
10933
+ editor.onClick = (event) => {
10934
+ const target = event.target;
10935
+ if (target instanceof HTMLElement && target.classList.contains('slate-editable-container')) {
10936
+ const index = editor.children.length - 1;
10937
+ const lastElement = editor.children[editor.children.length - 1];
10938
+ if (!editor.isVisible(lastElement)) {
10939
+ const path = [index];
10940
+ const collapsedStandardHeadings = getCollapsedStandardHeadingAbove(editor, path);
10941
+ if (collapsedStandardHeadings.length > 0) {
10942
+ const headingPath = collapsedStandardHeadings[collapsedStandardHeadings.length - 1];
10943
+ const headingNode = editor.children[headingPath[0]];
10944
+ const dom = AngularEditor.toDOMNode(editor, headingNode);
10945
+ const rect = dom.getBoundingClientRect();
10946
+ if (event.y > rect.bottom && event.x > rect.left && event.x < rect.right) {
10947
+ collapsedStandardHeadings.forEach(path => {
10948
+ cleanHeadingEffect(editor, path);
10949
+ Transforms.setNodes(editor, { isCollapsed: false }, { at: path });
10950
+ });
10951
+ const isEmptyParagraph = isEmptyParagraphElement(editor, editor.children[index]);
10952
+ if (isEmptyParagraph) {
10953
+ Transforms.select(editor, path);
10954
+ }
10955
+ else {
10956
+ Transforms.insertNodes(editor, createEmptyParagraph(), { at: [index + 1] });
10957
+ Transforms.select(editor, [index + 1]);
10958
+ }
10959
+ }
10960
+ }
10961
+ }
10962
+ }
10963
+ };
10791
10964
  return editor;
10792
10965
  };
10793
10966
  const headingListPlugins = HeadingEditor.headingPlugins();
@@ -18168,5 +18341,5 @@ const withTestPlugin = (plugins, initValue) => {
18168
18341
  * Generated bundle index. Do not edit.
18169
18342
  */
18170
18343
 
18171
- export { ALIGN_BLOCK_TYPES, A_TAG_REL_ATTR, AlignEditor, Alignment, BLOCK_DELETE_BACKWARD_TYPES, BasicTest, BlockquoteEditor, CLIPBOARD_FORMAT_KEY, CODEMIRROR_PADDING_TOP, CODE_MODES, CONTAINER_BLOCKS, CONTROL_KEY, CodeEditor, ColorEditor, ColumnResizeNotifierSource, ColumnResizingStore, DEFAULT_LANGUAGE, DEFAULT_SCROLL_CONTAINER, DISABLED_OPERATE_TYPES, DataTransferFaker, DefaultElementOptions, DefaultGlobalToolbarDefinition, DefaultInlineToolbarDefinition, DropdownMode, ELEMENT_UNIQUE_ID, EditorPresetConfigFactoryMock, ElementKinds, ErrorCodes, FontSizeTypes, FontSizes, HEADING_TYPES, HeaderLevelMap, HeadingEditor, HoveredCellInfo, HrEditor, IS_MAC, ImageEditor, IndentEditor, Indents, InlineCodeEditor, LINK_DEFAULT_TEXT, LIST_BLOCK_TYPES, LOWEST_TEXT_CONTAINER_TYPES, LayoutTypes, LinkEditor, ListEditor, MarkEditor, MarkProps, MarkTypes, MentionEditor, PICTURE_ACCEPTED_UPLOAD_MIME, PICTURE_ACCEPTED_UPLOAD_SIZE, PluginKeys, PluginMenuIcons, PluginMenuSvgs, Position, QUICK_INSERT_HOTKEY, QuickInsertEditor, ResizeRef, SLA_TABLE_CELL_SELECTOR, SLA_TABLE_SELECTOR, STANDARD_HEADING_TYPES, ScrollDirection, SpecialBackgroundColor, TAB_SPACE, THE_EDITOR_BG_COLOR, THE_EDITOR_COLOR, THE_EDITOR_CONVERSION_HINT_REF, THE_EDITOR_ORIGIN_ANCHOR, THE_EDITOR_POPOVER_REF, THE_EDITOR_PREVIOUS_SELECTION, THE_EDITOR_UUID, THE_I18N_DE_DE, THE_I18N_EN_US, THE_I18N_JA_JP, THE_I18N_LOCALE_ID, THE_I18N_RU_RU, THE_I18N_ZH_HANS, THE_I18N_ZH_HANT, THE_IMAGE_SERVICE_TOKEN, THE_LISTBOX_PARENT_GROUP_TOKEN, THE_LISTBOX_PARENT_OPTION_TOKEN, THE_LISTBOX_TOKEN, THE_MODE_PROVIDER, THE_MODE_TOKEN, THE_PLUGIN_MENU_REF, THE_PRESET_CONFIG_TOKEN, TableCellEventDispatcher, TableEditor, TableHeaderBackgroundColor, TablePosition, TheBaseElement, TheBaseSuggestion, TheBaseToolbarDropdown, TheBaseToolbarItem, TheColumnResizeDirective, TheColumnResizeOverlayHandle, TheContextMenu, TheContextService, TheConversionHint, TheDataMode, TheDefaultElement, TheEditor, TheEditorComponent, TheEditorModule, TheI18nService, TheImage, TheInlineToolbar, TheListboxDirective, TheListboxGroupDirective, TheListboxOptionDirective, TheLocaleType, TheMode, TheModeConfig, ThePluginMenu, ThePluginMenuComponent, ThePluginMenuItemType, ThePreventDefaultDirective, index$1 as TheQueries, TheQuickInsert, TheTableSelect, TheTemplate, TheText, TheToolbarComponent, TheToolbarDropdown, TheToolbarGroup, TheToolbarGroupToken, TheToolbarItem, TheToolbarService, index as TheTransforms, TodoItemEditor, ToolbarActionTypes, ToolbarAlignment, ToolbarItemType, ToolbarMoreGroup, VOID_BLOCK_TYPES, VerticalAlignEditor, VerticalAlignment, ZERO_WIDTH_CHAR, autoFocus, base64toBlob, bottomLeftPosition, buildPluginMenu, buildPluginMenuItemMap, buildQuickInsertMenus, calcPrintColumnWidth, calcSpanForColumn, calcSpanForRow, calculateHeaderRowHeight, calculateRowControls, coercePixelsFromCssValue, combinePlugins, copyNode, createCell, createEmptyContent, createEmptyParagraph, createMentionPlugin, createPluginFactory, createRow, createTable, createTablePosition, createTest1Plugin, createTestPlugin, createToolbar, createVerticalAlignPlugin, customPluginMock, customPluginMockKey, dataDeserialize, dataSerializing, deDeLocale, deleteElementKey, enUsLocale, errorImageUrlMock, extractFragment, filterTextFormat, fixBlockWithoutParagraph, fixBlockWithoutText, flattenDeepPlugins, getCellPositionsFromRange, getColsTotalWidth, getColumnsWidth, getDirtyElements, getEditorScrollContainer, getEditorUUID, getElementClassByPrefix, getElementHeight, getElementWidth, getEndBlock, getFollowElements, getGridColumns, getMode, getNextCell, getOriginCell, getPlugin, getPluginOptions, getPlugins, getRowsTotalHeight, getSelectCellNode, getSelectedCellPositions, getStartBlock, getTableByCell, getTableByRow, getTheDefaultPluginMenu, getToolbarClass, hasHeaderRow, headingOptions, htmlToTheia, idCreator, inValidTypes, initializeDefaultMenuIcons, injectTranslations, insertDataByInvalidType, internalPlugins, isCleanEmptyParagraph, isColorIndicator, isColorInput, isColorPanel, isDirectionKeydown, isHeadingElement, isInside, isMobileMode, isPrintMode, isPureEmptyParagraph, isRangeInTable, isRectangularInTableCells, isSelectedAllCell, isSelectionInTable, isStandardHeadingElement, isUrl, isVirtualKey, jaJpLocale, matchOptions, mergeArray, mergeDeepPlugins, mergeElementOptions, mergeOptions, nestedStructureByKey, normalizeValue, originOptions, plainToTheia, pluginKey, pluginKey1, pluginsByKey, reSelection, recursionNodes, refocus, ruRuLocale, scrollIntoView, setClipboardDataByDom, setEditorUUID, theTethysIconRegistryFaker, topLeftPosition, uniqueCellPosition, updatePopoverPosition, useElementStyle, withMention, withTestPlugin, withTheia, zhHansLocale, zhHantLocale };
18344
+ export { ALIGN_BLOCK_TYPES, A_TAG_REL_ATTR, AlignEditor, Alignment, BLOCK_DELETE_BACKWARD_TYPES, BasicTest, BlockquoteEditor, CLIPBOARD_FORMAT_KEY, CODEMIRROR_PADDING_TOP, CODE_MODES, CONTAINER_BLOCKS, CONTROL_KEY, CodeEditor, ColorEditor, ColumnResizeNotifierSource, ColumnResizingStore, DEFAULT_LANGUAGE, DEFAULT_SCROLL_CONTAINER, DISABLED_OPERATE_TYPES, DataTransferFaker, DefaultElementOptions, DefaultGlobalToolbarDefinition, DefaultInlineToolbarDefinition, DropdownMode, ELEMENT_UNIQUE_ID, EditorPresetConfigFactoryMock, ElementKinds, ErrorCodes, FontSizeTypes, FontSizes, HEADING_TYPES, HIDDEN_CLASS, HeaderLevelMap, HeadingEditor, HoveredCellInfo, HrEditor, IS_MAC, ImageEditor, IndentEditor, Indents, InlineCodeEditor, LINK_DEFAULT_TEXT, LIST_BLOCK_TYPES, LOWEST_TEXT_CONTAINER_TYPES, LayoutTypes, LinkEditor, ListEditor, MarkEditor, MarkProps, MarkTypes, MentionEditor, PICTURE_ACCEPTED_UPLOAD_MIME, PICTURE_ACCEPTED_UPLOAD_SIZE, PluginKeys, PluginMenuIcons, PluginMenuSvgs, Position, QUICK_INSERT_HOTKEY, QuickInsertEditor, ResizeRef, SLA_TABLE_CELL_SELECTOR, SLA_TABLE_SELECTOR, STANDARD_HEADING_TYPES, ScrollDirection, SpecialBackgroundColor, TAB_SPACE, THE_EDITOR_BG_COLOR, THE_EDITOR_COLOR, THE_EDITOR_CONVERSION_HINT_REF, THE_EDITOR_ORIGIN_ANCHOR, THE_EDITOR_POPOVER_REF, THE_EDITOR_PREVIOUS_SELECTION, THE_EDITOR_UUID, THE_I18N_DE_DE, THE_I18N_EN_US, THE_I18N_JA_JP, THE_I18N_LOCALE_ID, THE_I18N_RU_RU, THE_I18N_ZH_HANS, THE_I18N_ZH_HANT, THE_IMAGE_SERVICE_TOKEN, THE_LISTBOX_PARENT_GROUP_TOKEN, THE_LISTBOX_PARENT_OPTION_TOKEN, THE_LISTBOX_TOKEN, THE_MODE_PROVIDER, THE_MODE_TOKEN, THE_PLUGIN_MENU_REF, THE_PRESET_CONFIG_TOKEN, TableCellEventDispatcher, TableEditor, TableHeaderBackgroundColor, TablePosition, TheBaseElement, TheBaseSuggestion, TheBaseToolbarDropdown, TheBaseToolbarItem, TheColumnResizeDirective, TheColumnResizeOverlayHandle, TheContextMenu, TheContextService, TheConversionHint, TheDataMode, TheDefaultElement, TheEditor, TheEditorComponent, TheEditorModule, TheI18nService, TheImage, TheInlineToolbar, TheListboxDirective, TheListboxGroupDirective, TheListboxOptionDirective, TheLocaleType, TheMode, TheModeConfig, ThePluginMenu, ThePluginMenuComponent, ThePluginMenuItemType, ThePreventDefaultDirective, index$1 as TheQueries, TheQuickInsert, TheTableSelect, TheTemplate, TheText, TheToolbarComponent, TheToolbarDropdown, TheToolbarGroup, TheToolbarGroupToken, TheToolbarItem, TheToolbarService, index as TheTransforms, TodoItemEditor, ToolbarActionTypes, ToolbarAlignment, ToolbarItemType, ToolbarMoreGroup, VOID_BLOCK_TYPES, VerticalAlignEditor, VerticalAlignment, ZERO_WIDTH_CHAR, autoFocus, base64toBlob, bottomLeftPosition, buildPluginMenu, buildPluginMenuItemMap, buildQuickInsertMenus, calcPrintColumnWidth, calcSpanForColumn, calcSpanForRow, calculateHeaderRowHeight, calculateRowControls, coercePixelsFromCssValue, combinePlugins, copyNode, createCell, createEmptyContent, createEmptyParagraph, createMentionPlugin, createPluginFactory, createRow, createTable, createTablePosition, createTest1Plugin, createTestPlugin, createToolbar, createVerticalAlignPlugin, customPluginMock, customPluginMockKey, dataDeserialize, dataSerializing, deDeLocale, deleteElementKey, enUsLocale, errorImageUrlMock, extractFragment, filterTextFormat, fixBlockWithoutParagraph, fixBlockWithoutText, flattenDeepPlugins, getCellPositionsFromRange, getCollapsedStandardHeadingAbove, getColsTotalWidth, getColumnsWidth, getDirtyElements, getEditorScrollContainer, getEditorUUID, getElementClassByPrefix, getElementHeight, getElementWidth, getEndBlock, getFollowElements, getGridColumns, getMode, getNextCell, getOriginCell, getPlugin, getPluginOptions, getPlugins, getPreviousRelatedHeadingElements, getRowsTotalHeight, getSelectCellNode, getSelectedCellPositions, getStartBlock, getTableByCell, getTableByRow, getTheDefaultPluginMenu, getToolbarClass, hasHeaderRow, headingOptions, htmlToTheia, idCreator, inValidTypes, initializeDefaultMenuIcons, injectTranslations, insertDataByInvalidType, internalPlugins, isCleanEmptyParagraph, isColorIndicator, isColorInput, isColorPanel, isDirectionKeydown, isHeadingElement, isInside, isMobileMode, isPrintMode, isPureEmptyParagraph, isRangeInTable, isRectangularInTableCells, isSelectedAllCell, isSelectionInTable, isStandardHeadingElement, isStandardHeadingElementByType, isUrl, isVirtualKey, jaJpLocale, matchOptions, mergeArray, mergeDeepPlugins, mergeElementOptions, mergeOptions, nestedStructureByKey, normalizeValue, originOptions, plainToTheia, pluginKey, pluginKey1, pluginsByKey, reSelection, recursionNodes, refocus, ruRuLocale, scrollIntoView, setClipboardDataByDom, setEditorUUID, theTethysIconRegistryFaker, topLeftPosition, uniqueCellPosition, updatePopoverPosition, useElementStyle, withMention, withTestPlugin, withTheia, zhHansLocale, zhHantLocale };
18172
18345
  //# sourceMappingURL=worktile-theia.mjs.map