@univerjs/docs-ui 0.24.0 → 0.25.0

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 (121) hide show
  1. package/lib/cjs/facade.js +42 -11
  2. package/lib/cjs/index.js +4487 -1456
  3. package/lib/cjs/locale/ar-SA.js +124 -0
  4. package/lib/cjs/locale/ca-ES.js +11 -10
  5. package/lib/cjs/locale/de-DE.js +124 -0
  6. package/lib/cjs/locale/en-US.js +11 -10
  7. package/lib/cjs/locale/es-ES.js +11 -10
  8. package/lib/cjs/locale/fa-IR.js +11 -10
  9. package/lib/cjs/locale/fr-FR.js +11 -10
  10. package/lib/cjs/locale/id-ID.js +124 -0
  11. package/lib/cjs/locale/it-IT.js +124 -0
  12. package/lib/cjs/locale/ja-JP.js +11 -10
  13. package/lib/cjs/locale/ko-KR.js +11 -10
  14. package/lib/cjs/locale/pl-PL.js +124 -0
  15. package/lib/cjs/locale/pt-BR.js +124 -0
  16. package/lib/cjs/locale/ru-RU.js +13 -12
  17. package/lib/cjs/locale/sk-SK.js +11 -10
  18. package/lib/cjs/locale/vi-VN.js +22 -21
  19. package/lib/cjs/locale/zh-CN.js +11 -10
  20. package/lib/cjs/locale/zh-HK.js +124 -0
  21. package/lib/cjs/locale/zh-TW.js +22 -21
  22. package/lib/es/facade.js +42 -11
  23. package/lib/es/index.js +4476 -1462
  24. package/lib/es/locale/ar-SA.js +123 -0
  25. package/lib/es/locale/ca-ES.js +11 -10
  26. package/lib/es/locale/de-DE.js +123 -0
  27. package/lib/es/locale/en-US.js +11 -10
  28. package/lib/es/locale/es-ES.js +11 -10
  29. package/lib/es/locale/fa-IR.js +11 -10
  30. package/lib/es/locale/fr-FR.js +11 -10
  31. package/lib/es/locale/id-ID.js +123 -0
  32. package/lib/es/locale/it-IT.js +123 -0
  33. package/lib/es/locale/ja-JP.js +11 -10
  34. package/lib/es/locale/ko-KR.js +11 -10
  35. package/lib/es/locale/pl-PL.js +123 -0
  36. package/lib/es/locale/pt-BR.js +123 -0
  37. package/lib/es/locale/ru-RU.js +13 -12
  38. package/lib/es/locale/sk-SK.js +11 -10
  39. package/lib/es/locale/vi-VN.js +22 -21
  40. package/lib/es/locale/zh-CN.js +11 -10
  41. package/lib/es/locale/zh-HK.js +123 -0
  42. package/lib/es/locale/zh-TW.js +22 -21
  43. package/lib/facade.js +42 -11
  44. package/lib/index.css +240 -26
  45. package/lib/index.js +4476 -1462
  46. package/lib/locale/ar-SA.js +123 -0
  47. package/lib/locale/ca-ES.js +11 -10
  48. package/lib/locale/de-DE.js +123 -0
  49. package/lib/locale/en-US.js +11 -10
  50. package/lib/locale/es-ES.js +11 -10
  51. package/lib/locale/fa-IR.js +11 -10
  52. package/lib/locale/fr-FR.js +11 -10
  53. package/lib/locale/id-ID.js +123 -0
  54. package/lib/locale/it-IT.js +123 -0
  55. package/lib/locale/ja-JP.js +11 -10
  56. package/lib/locale/ko-KR.js +11 -10
  57. package/lib/locale/pl-PL.js +123 -0
  58. package/lib/locale/pt-BR.js +123 -0
  59. package/lib/locale/ru-RU.js +13 -12
  60. package/lib/locale/sk-SK.js +11 -10
  61. package/lib/locale/vi-VN.js +22 -21
  62. package/lib/locale/zh-CN.js +11 -10
  63. package/lib/locale/zh-HK.js +123 -0
  64. package/lib/locale/zh-TW.js +22 -21
  65. package/lib/types/commands/commands/doc-block-move.command.d.ts +40 -0
  66. package/lib/types/commands/commands/doc-delete.command.d.ts +2 -1
  67. package/lib/types/commands/commands/doc-page-setup.command.d.ts +2 -0
  68. package/lib/types/commands/commands/list.command.d.ts +1 -0
  69. package/lib/types/components/paragraph-menu/index.d.ts +23 -1
  70. package/lib/types/controllers/render-controllers/doc-contextmenu.render-controller.d.ts +8 -2
  71. package/lib/types/controllers/render-controllers/doc.render-controller.d.ts +8 -2
  72. package/lib/types/controllers/render-controllers/zoom.render-controller.d.ts +3 -3
  73. package/lib/types/facade/f-document.d.ts +18 -0
  74. package/lib/types/index.d.ts +6 -1
  75. package/lib/types/locale/ar-SA.d.ts +18 -0
  76. package/lib/types/locale/de-DE.d.ts +18 -0
  77. package/lib/types/locale/en-US.d.ts +117 -110
  78. package/lib/types/locale/id-ID.d.ts +18 -0
  79. package/lib/types/locale/it-IT.d.ts +18 -0
  80. package/lib/types/locale/pl-PL.d.ts +18 -0
  81. package/lib/types/locale/pt-BR.d.ts +18 -0
  82. package/lib/types/locale/zh-HK.d.ts +18 -0
  83. package/lib/types/menu/menu.d.ts +9 -1
  84. package/lib/types/menu/paragraph-menu.d.ts +21 -2
  85. package/lib/types/menu/schema.d.ts +1 -0
  86. package/lib/types/services/clipboard/clipboard.service.d.ts +5 -1
  87. package/lib/types/services/clipboard/html-to-udm/converter.d.ts +12 -0
  88. package/lib/types/services/clipboard/html-to-udm/paste-plugins/type.d.ts +1 -0
  89. package/lib/types/services/clipboard/internal-fragment.d.ts +30 -0
  90. package/lib/types/services/doc-content-insert.service.d.ts +28 -0
  91. package/lib/types/services/doc-event-manager.service.d.ts +19 -1
  92. package/lib/types/services/doc-paragraph-menu.service.d.ts +51 -3
  93. package/lib/types/services/doc-popup-manager.service.d.ts +2 -2
  94. package/lib/types/services/docs-render.service.d.ts +2 -1
  95. package/lib/types/services/editor/editor.d.ts +1 -0
  96. package/lib/types/services/selection/convert-text-range.d.ts +1 -0
  97. package/lib/types/services/selection/doc-selection-render.service.d.ts +4 -0
  98. package/lib/types/views/page-settings/index.d.ts +4 -2
  99. package/lib/types/views/rich-text-editor/hooks/use-editor.d.ts +2 -1
  100. package/lib/umd/facade.js +5 -1
  101. package/lib/umd/index.js +37 -10
  102. package/lib/umd/locale/ar-SA.js +1 -0
  103. package/lib/umd/locale/ca-ES.js +1 -1
  104. package/lib/umd/locale/de-DE.js +1 -0
  105. package/lib/umd/locale/en-US.js +1 -1
  106. package/lib/umd/locale/es-ES.js +1 -1
  107. package/lib/umd/locale/fa-IR.js +1 -1
  108. package/lib/umd/locale/fr-FR.js +1 -1
  109. package/lib/umd/locale/id-ID.js +1 -0
  110. package/lib/umd/locale/it-IT.js +1 -0
  111. package/lib/umd/locale/ja-JP.js +1 -1
  112. package/lib/umd/locale/ko-KR.js +1 -1
  113. package/lib/umd/locale/pl-PL.js +1 -0
  114. package/lib/umd/locale/pt-BR.js +1 -0
  115. package/lib/umd/locale/ru-RU.js +1 -1
  116. package/lib/umd/locale/sk-SK.js +1 -1
  117. package/lib/umd/locale/vi-VN.js +1 -1
  118. package/lib/umd/locale/zh-CN.js +1 -1
  119. package/lib/umd/locale/zh-HK.js +1 -0
  120. package/lib/umd/locale/zh-TW.js +1 -1
  121. package/package.json +11 -11
@@ -13,14 +13,48 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import type { DocumentDataModel, IParagraphRange } from '@univerjs/core';
16
+ import type { DocumentDataModel, ICustomBlock, ICustomTable, IDocumentBlockRange } from '@univerjs/core';
17
17
  import type { IRenderContext, IRenderModule } from '@univerjs/engine-render';
18
- import type { IMutiPageParagraphBound } from './doc-event-manager.service';
18
+ import type { IMutiPageParagraphBound, ITableBound } from './doc-event-manager.service';
19
19
  import { Disposable } from '@univerjs/core';
20
20
  import { DocSelectionManagerService, DocSkeletonManagerService } from '@univerjs/docs';
21
21
  import { DocEventManagerService } from './doc-event-manager.service';
22
22
  import { DocCanvasPopManagerService } from './doc-popup-manager.service';
23
23
  import { DocFloatMenuService } from './float-menu.service';
24
+ export type DocBlockMenuTargetKind = 'paragraph' | 'blockRange' | 'table' | 'customBlock';
25
+ export interface IDocBlockMenuTarget {
26
+ kind: DocBlockMenuTargetKind;
27
+ key: string;
28
+ paragraph?: IMutiPageParagraphBound;
29
+ blockRange?: IDocumentBlockRange;
30
+ table?: ICustomTable;
31
+ customBlock?: ICustomBlock;
32
+ icon?: string;
33
+ cellRange?: {
34
+ startOffset: number;
35
+ endOffset: number;
36
+ };
37
+ menuRange: {
38
+ startOffset: number;
39
+ endOffset: number;
40
+ collapsed: boolean;
41
+ };
42
+ moveRange: {
43
+ startOffset: number;
44
+ endOffset: number;
45
+ };
46
+ emptyMode: boolean;
47
+ draggable: boolean;
48
+ }
49
+ export interface IDocBlockDropTarget {
50
+ targetOffset: number;
51
+ rect: {
52
+ left: number;
53
+ right: number;
54
+ top: number;
55
+ bottom: number;
56
+ };
57
+ }
24
58
  export declare class DocParagraphMenuService extends Disposable implements IRenderModule {
25
59
  private _context;
26
60
  private _docSelectionManagerService;
@@ -29,11 +63,25 @@ export declare class DocParagraphMenuService extends Disposable implements IRend
29
63
  private _docSkeletonManagerService;
30
64
  private _floatMenuService;
31
65
  private _paragrahMenu;
32
- get activeParagraph(): IParagraphRange | undefined;
66
+ private readonly _activeTarget$;
67
+ readonly activeTarget$: import("rxjs").Observable<IDocBlockMenuTarget | null>;
68
+ private _isBlockMenuDragging;
69
+ get activeParagraph(): IMutiPageParagraphBound | undefined;
70
+ get activeTarget(): IDocBlockMenuTarget | null;
71
+ setBlockMenuDragging(isDragging: boolean): void;
72
+ get isBlockMenuDragging(): boolean;
33
73
  constructor(_context: IRenderContext<DocumentDataModel>, _docSelectionManagerService: DocSelectionManagerService, _docEventManagerService: DocEventManagerService, _docPopupManagerService: DocCanvasPopManagerService, _docSkeletonManagerService: DocSkeletonManagerService, _floatMenuService: DocFloatMenuService);
34
74
  private _isCursorInActiveParagraph;
35
75
  setParagraphMenuActive(active: boolean): void;
36
76
  private _init;
37
77
  showParagraphMenu(paragraph: IMutiPageParagraphBound): void;
78
+ showTableMenu(tableBound: ITableBound): void;
79
+ getDropTargetFromClientPoint(clientX: number, clientY: number, sourceRange: {
80
+ startOffset: number;
81
+ endOffset: number;
82
+ }): IDocBlockDropTarget | null;
38
83
  hideParagraphMenu(force?: boolean): void;
84
+ private _buildParagraphMenuTarget;
85
+ private _getBodyBlockTargets;
86
+ private _getCellBlockTargets;
39
87
  }
@@ -30,7 +30,7 @@ export declare function transformOffset2Bound(offsetX: number, offsetY: number,
30
30
  };
31
31
  export interface IDocCanvasPopup extends Omit<IPopup, 'anchorRect$' | 'children' | 'unitId' | 'subUnitId' | 'canvasElement'> {
32
32
  mask?: boolean;
33
- extraProps?: Record<string, any>;
33
+ extraProps?: Record<string, unknown>;
34
34
  multipleDirection?: IPopup['direction'];
35
35
  }
36
36
  export declare const calcDocRangePositions: (range: ITextRangeParam, currentRender: IRender) => IBoundRectNoAngle[] | undefined;
@@ -43,7 +43,7 @@ export declare class DocCanvasPopManagerService extends Disposable {
43
43
  private _createRectPositionObserver;
44
44
  private _createObjectPositionObserver;
45
45
  private _createRangePositionObserver;
46
- attachPopupToRect(rect: IBoundRectNoAngle, popup: IDocCanvasPopup, unitId: string): INeedCheckDisposable;
46
+ attachPopupToRect(rect: IBoundRectNoAngle | (() => IBoundRectNoAngle), popup: IDocCanvasPopup, unitId: string): INeedCheckDisposable;
47
47
  /**
48
48
  * attach a popup to canvas object
49
49
  * @param targetObject target canvas object
@@ -13,8 +13,9 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { IUniverInstanceService, RxDisposable } from '@univerjs/core';
16
+ import { DocumentFlavor, IUniverInstanceService, RxDisposable } from '@univerjs/core';
17
17
  import { IRenderManagerService } from '@univerjs/engine-render';
18
+ export declare function getDocsCanvasBackgroundColor(documentFlavor?: DocumentFlavor): "#fff" | "#fafafa";
18
19
  export declare class DocsRenderService extends RxDisposable {
19
20
  private readonly _instanceSrv;
20
21
  private readonly _renderManagerService;
@@ -51,6 +51,7 @@ export interface IEditorStateParams extends Partial<IPosition> {
51
51
  }
52
52
  export interface IEditorCanvasStyle {
53
53
  fontSize?: number;
54
+ backgroundColor?: string;
54
55
  }
55
56
  export interface IEditorConfigParams {
56
57
  initialSnapshot: IDocumentData;
@@ -58,6 +58,7 @@ export declare class NodePositionConvertToCursor {
58
58
  private _documentOffsetConfig;
59
59
  private _docSkeleton;
60
60
  private _liquid;
61
+ private _horizontalClip;
61
62
  private _currentStartState;
62
63
  private _currentEndState;
63
64
  constructor(_documentOffsetConfig: IDocumentOffsetConfig, _docSkeleton: DocumentSkeleton);
@@ -141,6 +141,10 @@ export declare class DocSelectionRenderService extends RxDisposable implements I
141
141
  private _getCanvasOffset;
142
142
  private _updateInputPosition;
143
143
  private _moving;
144
+ private _hasVisibleSelectionRanges;
145
+ private _shouldSnapBackwardFocusToGlyphStart;
146
+ private _isBeforeNodePosition;
147
+ private _isFirstSelectableGlyphInDivide;
144
148
  __attachScrollEvent(): void;
145
149
  private _initInputEvents;
146
150
  private _eventHandle;
@@ -14,12 +14,14 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import type { IConfirmChildrenProps } from '@univerjs/ui';
17
- import { PageOrientType } from '@univerjs/core';
17
+ import { DocumentFlavor, ModernDocumentWidthMode, PageOrientType } from '@univerjs/core';
18
18
  export interface IPageSettingsProps {
19
19
  onClose: () => void;
20
20
  onConfirm: (settings: IPageSettings) => void;
21
21
  }
22
22
  export interface IPageSettings {
23
+ mode: DocumentFlavor.TRADITIONAL | DocumentFlavor.MODERN;
24
+ modernWidth: ModernDocumentWidthMode;
23
25
  paperSize: string;
24
26
  orientation: PageOrientType;
25
27
  margins: {
@@ -28,7 +30,7 @@ export interface IPageSettings {
28
30
  left: number;
29
31
  right: number;
30
32
  };
31
- pageSise: {
33
+ pageSize: {
32
34
  width: number;
33
35
  height: number;
34
36
  };
@@ -15,12 +15,13 @@
15
15
  */
16
16
  import type { IDocumentData, Nullable } from '@univerjs/core';
17
17
  import type { RefObject } from 'react';
18
- import type { Editor } from '../../../services/editor/editor';
18
+ import type { Editor, IEditorCanvasStyle } from '../../../services/editor/editor';
19
19
  export interface IUseEditorProps {
20
20
  editorId: string;
21
21
  initialValue: Nullable<IDocumentData | string>;
22
22
  container: RefObject<HTMLDivElement>;
23
23
  autoFocus?: boolean;
24
24
  isSingle?: boolean;
25
+ canvasStyle?: IEditorCanvasStyle;
25
26
  }
26
27
  export declare function useEditor(opts: IUseEditorProps): Editor | undefined;
package/lib/umd/facade.js CHANGED
@@ -1 +1,5 @@
1
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`@univerjs/core`),require(`@univerjs/core/facade`),require(`@univerjs/docs-ui`),require(`@univerjs/engine-render`)):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/core/facade`,`@univerjs/docs-ui`,`@univerjs/engine-render`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverDocsUiFacade={},e.UniverCore,e.UniverCoreFacade,e.UniverDocsUi,e.UniverEngineRender))})(this,function(e,t,n,r,i){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function a(e){"@babel/helpers - typeof";return a=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},a(e)}function o(e,t){if(a(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(a(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function s(e){var t=o(e,`string`);return a(t)==`symbol`?t:t+``}function c(e,t,n){return(t=s(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){return function(n,r){t(n,r,e)}}function u(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let d=class{constructor(e,t,n,r,i,a){this._documentDataModel=e,this._injector=t,this._univerInstanceService=n,this._commandService=r,this._resourceManagerService=i,this._renderManagerService=a,c(this,`id`,void 0),this.id=this._documentDataModel.getUnitId()}getId(){return this._documentDataModel.getUnitId()}getName(){return this.getSnapshot().title||``}getSnapshot(){let e=this._resourceManagerService.getResourcesByType(this.id,t.UniverInstanceType.UNIVER_DOC),n=this._documentDataModel.getSnapshot();return n.resources=e,n}undo(){return this._univerInstanceService.focusUnit(this.id),this._commandService.executeCommand(t.UndoCommand.id)}redo(){return this._univerInstanceService.focusUnit(this.id),this._commandService.executeCommand(t.RedoCommand.id)}appendText(e){let t=this.id,{body:n}=this.getSnapshot();if(!n)throw Error(`The document body is empty`);let i=n.dataStream.length-2,a={startOffset:i,endOffset:i,collapsed:!0,segmentId:``},{segmentId:o}=a;return this._commandService.executeCommand(r.InsertCommand.id,{unitId:t,body:{dataStream:e},range:a,segmentId:o})}setSelection(e,n){var i;let a=(i=this._renderManagerService.getRenderById(this.getId()))==null?void 0:i.with(r.DocSelectionRenderService);a==null||a.removeAllRanges(),a==null||a.addDocRanges([{startOffset:e,endOffset:n,rangeType:t.DOC_RANGE_TYPE.TEXT}],!0)}};d=u([l(1,(0,t.Inject)(t.Injector)),l(2,t.IUniverInstanceService),l(3,t.ICommandService),l(4,t.IResourceManagerService),l(5,i.IRenderManagerService)],d);var f=class extends n.FUniver{createUniverDoc(e){let n=this._univerInstanceService.createUnit(t.UniverInstanceType.UNIVER_DOC,e);return this._injector.createInstance(d,n)}getActiveDocument(){let e=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);return e?this._injector.createInstance(d,e):null}getUniverDoc(e){let t=this._univerInstanceService.getUniverDocInstance(e);return t?this._injector.createInstance(d,t):null}};n.FUniver.extend(f),Object.defineProperty(e,`FDocument`,{enumerable:!0,get:function(){return d}})});
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("@univerjs/core/facade"),require("@univerjs/docs-ui"),require("@univerjs/engine-render")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/core/facade`,`@univerjs/docs-ui`,`@univerjs/engine-render`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverDocsUiFacade={},e.UniverCore,e.UniverCoreFacade,e.UniverDocsUi,e.UniverEngineRender))})(this,function(e,t,n,r,i){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function a(e){"@babel/helpers - typeof";return a=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},a(e)}function o(e,t){if(a(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(a(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function s(e){var t=o(e,`string`);return a(t)==`symbol`?t:t+``}function c(e,t,n){return(t=s(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){return function(n,r){t(n,r,e)}}function u(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}let d=class{constructor(e,t,n,r,i,a){this._documentDataModel=e,this._injector=t,this._univerInstanceService=n,this._commandService=r,this._resourceManagerService=i,this._renderManagerService=a,c(this,`id`,void 0),this.id=this._documentDataModel.getUnitId()}getId(){return this._documentDataModel.getUnitId()}getName(){return this.getSnapshot().title||``}getSnapshot(){let e=this._resourceManagerService.getResourcesByType(this.id,t.UniverInstanceType.UNIVER_DOC),n=this._documentDataModel.getSnapshot();return n.resources=e,n}undo(){return this._univerInstanceService.focusUnit(this.id),this._commandService.executeCommand(t.UndoCommand.id)}redo(){return this._univerInstanceService.focusUnit(this.id),this._commandService.executeCommand(t.RedoCommand.id)}appendText(e){let{body:t}=this.getSnapshot();if(!t)throw Error(`The document body is empty`);let n=t.dataStream.length-2;return this.insertText(e,{startOffset:n,endOffset:n,segmentId:``})}insertText(e,t={}){var n,i,a;let o=this.id,{body:s}=this.getSnapshot();if(!s)throw Error(`The document body is empty`);let c=(n=t.startOffset)==null?Math.max(0,s.dataStream.length-2):n,l=(i=t.endOffset)==null?c:i,u=(a=t.segmentId)==null?``:a,d={startOffset:c,endOffset:l,collapsed:c===l,segmentId:u};return this._commandService.executeCommand(r.InsertCommand.id,{unitId:o,body:{dataStream:e},range:d,segmentId:u,...t.cursorOffset==null?{}:{cursorOffset:t.cursorOffset}})}insertParagraph(e=``,t={}){var n;let r=`${e.replace(/\r\n/g,`
2
+ `).replace(/\r/g,`
3
+ `).split(`
4
+ `).join(`\r
5
+ `)}\r\n`;return this.insertText(r,{...t,cursorOffset:(n=t.cursorOffset)==null?r.length:n})}setSelection(e,n){var i;let a=(i=this._renderManagerService.getRenderById(this.getId()))==null?void 0:i.with(r.DocSelectionRenderService);a==null||a.removeAllRanges(),a==null||a.addDocRanges([{startOffset:e,endOffset:n,rangeType:t.DOC_RANGE_TYPE.TEXT}],!0)}};d=u([l(1,(0,t.Inject)(t.Injector)),l(2,t.IUniverInstanceService),l(3,t.ICommandService),l(4,t.IResourceManagerService),l(5,i.IRenderManagerService)],d);var f=class extends n.FUniver{createUniverDoc(e){let n=this._univerInstanceService.createUnit(t.UniverInstanceType.UNIVER_DOC,e);return this._injector.createInstance(d,n)}getActiveDocument(){let e=this._univerInstanceService.getCurrentUnitOfType(t.UniverInstanceType.UNIVER_DOC);return e?this._injector.createInstance(d,e):null}getUniverDoc(e){let t=this._univerInstanceService.getUniverDocInstance(e);return t?this._injector.createInstance(d,t):null}};n.FUniver.extend(f),Object.defineProperty(e,"FDocument",{enumerable:!0,get:function(){return d}})});