@univerjs/sheets-ui 1.0.0-alpha.1 → 1.0.0-alpha.3

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 (114) hide show
  1. package/lib/cjs/facade.js +51 -40
  2. package/lib/cjs/index.js +1187 -287
  3. package/lib/cjs/locale/ar-SA.js +7 -2
  4. package/lib/cjs/locale/ca-ES.js +7 -2
  5. package/lib/cjs/locale/de-DE.js +7 -2
  6. package/lib/cjs/locale/en-US.js +5 -0
  7. package/lib/cjs/locale/es-ES.js +8 -3
  8. package/lib/cjs/locale/fa-IR.js +7 -2
  9. package/lib/cjs/locale/fr-FR.js +7 -2
  10. package/lib/cjs/locale/id-ID.js +7 -2
  11. package/lib/cjs/locale/it-IT.js +7 -2
  12. package/lib/cjs/locale/ja-JP.js +5 -0
  13. package/lib/cjs/locale/ko-KR.js +5 -0
  14. package/lib/cjs/locale/pl-PL.js +7 -2
  15. package/lib/cjs/locale/pt-BR.js +7 -2
  16. package/lib/cjs/locale/ru-RU.js +7 -2
  17. package/lib/cjs/locale/sk-SK.js +7 -2
  18. package/lib/cjs/locale/vi-VN.js +7 -2
  19. package/lib/cjs/locale/zh-CN.js +5 -0
  20. package/lib/cjs/locale/zh-HK.js +5 -0
  21. package/lib/cjs/locale/zh-TW.js +5 -0
  22. package/lib/es/facade.js +51 -40
  23. package/lib/es/index.js +1168 -264
  24. package/lib/es/locale/ar-SA.js +7 -2
  25. package/lib/es/locale/ca-ES.js +7 -2
  26. package/lib/es/locale/de-DE.js +7 -2
  27. package/lib/es/locale/en-US.js +5 -0
  28. package/lib/es/locale/es-ES.js +8 -3
  29. package/lib/es/locale/fa-IR.js +7 -2
  30. package/lib/es/locale/fr-FR.js +7 -2
  31. package/lib/es/locale/id-ID.js +7 -2
  32. package/lib/es/locale/it-IT.js +7 -2
  33. package/lib/es/locale/ja-JP.js +5 -0
  34. package/lib/es/locale/ko-KR.js +5 -0
  35. package/lib/es/locale/pl-PL.js +7 -2
  36. package/lib/es/locale/pt-BR.js +7 -2
  37. package/lib/es/locale/ru-RU.js +7 -2
  38. package/lib/es/locale/sk-SK.js +7 -2
  39. package/lib/es/locale/vi-VN.js +7 -2
  40. package/lib/es/locale/zh-CN.js +5 -0
  41. package/lib/es/locale/zh-HK.js +5 -0
  42. package/lib/es/locale/zh-TW.js +5 -0
  43. package/lib/facade.js +51 -40
  44. package/lib/index.css +42 -4
  45. package/lib/index.js +1168 -264
  46. package/lib/locale/ar-SA.js +7 -2
  47. package/lib/locale/ca-ES.js +7 -2
  48. package/lib/locale/de-DE.js +7 -2
  49. package/lib/locale/en-US.js +5 -0
  50. package/lib/locale/es-ES.js +8 -3
  51. package/lib/locale/fa-IR.js +7 -2
  52. package/lib/locale/fr-FR.js +7 -2
  53. package/lib/locale/id-ID.js +7 -2
  54. package/lib/locale/it-IT.js +7 -2
  55. package/lib/locale/ja-JP.js +5 -0
  56. package/lib/locale/ko-KR.js +5 -0
  57. package/lib/locale/pl-PL.js +7 -2
  58. package/lib/locale/pt-BR.js +7 -2
  59. package/lib/locale/ru-RU.js +7 -2
  60. package/lib/locale/sk-SK.js +7 -2
  61. package/lib/locale/vi-VN.js +7 -2
  62. package/lib/locale/zh-CN.js +5 -0
  63. package/lib/locale/zh-HK.js +5 -0
  64. package/lib/locale/zh-TW.js +5 -0
  65. package/lib/types/commands/commands/set-scroll.command.d.ts +3 -0
  66. package/lib/types/controllers/editor/editing.render-controller.d.ts +1 -0
  67. package/lib/types/controllers/editor/formula-editor.controller.d.ts +1 -0
  68. package/lib/types/controllers/render-controllers/contextmenu.render-controller.d.ts +7 -2
  69. package/lib/types/controllers/render-controllers/editor-bridge.render-controller.d.ts +7 -1
  70. package/lib/types/controllers/render-controllers/header-unhide.render-controller.d.ts +0 -1
  71. package/lib/types/embed-tab-anchor.d.ts +23 -0
  72. package/lib/types/facade/f-range.d.ts +5 -4
  73. package/lib/types/facade/f-univer.d.ts +1 -0
  74. package/lib/types/index.d.ts +16 -3
  75. package/lib/types/locale/en-US.d.ts +5 -0
  76. package/lib/types/services/canvas-pop-manager.service.d.ts +9 -0
  77. package/lib/types/services/cell-popup-manager.service.d.ts +1 -0
  78. package/lib/types/services/editor/cell-editor-resize.service.d.ts +4 -1
  79. package/lib/types/services/editor-bridge.service.d.ts +2 -0
  80. package/lib/types/services/print-interceptor.service.d.ts +8 -0
  81. package/lib/types/services/selection/base-selection-render.service.d.ts +1 -0
  82. package/lib/types/services/sheet-embed-integration.service.d.ts +126 -0
  83. package/lib/types/services/sheet-embed-runtime.service.d.ts +26 -0
  84. package/lib/types/services/sheet-host-chrome-override.service.d.ts +25 -0
  85. package/lib/types/services/sheet-skeleton-manager.service.d.ts +2 -0
  86. package/lib/types/views/border-panel/interface.d.ts +63 -2
  87. package/lib/types/views/editor-container/EditorContainer.d.ts +7 -5
  88. package/lib/types/{menu/mobile-menu.d.ts → views/editor-container/EditorContainer.spec.d.ts} +1 -1
  89. package/lib/types/views/editor-container/focus-editor.d.ts +25 -0
  90. package/lib/types/views/sheet-bar/sheet-bar-tabs/SheetBarItem.d.ts +2 -1
  91. package/lib/types/views/sheet-bar/sheet-bar-tabs/utils/sheet-tab-drag-sort.d.ts +1 -0
  92. package/lib/types/views/sheet-bar/sheet-bar-tabs/utils/slide-tab-bar.d.ts +2 -1
  93. package/lib/umd/facade.js +1 -1
  94. package/lib/umd/index.js +12 -12
  95. package/lib/umd/locale/ar-SA.js +1 -1
  96. package/lib/umd/locale/ca-ES.js +1 -1
  97. package/lib/umd/locale/de-DE.js +1 -1
  98. package/lib/umd/locale/en-US.js +1 -1
  99. package/lib/umd/locale/es-ES.js +1 -1
  100. package/lib/umd/locale/fa-IR.js +1 -1
  101. package/lib/umd/locale/fr-FR.js +1 -1
  102. package/lib/umd/locale/id-ID.js +1 -1
  103. package/lib/umd/locale/it-IT.js +1 -1
  104. package/lib/umd/locale/ja-JP.js +1 -1
  105. package/lib/umd/locale/ko-KR.js +1 -1
  106. package/lib/umd/locale/pl-PL.js +1 -1
  107. package/lib/umd/locale/pt-BR.js +1 -1
  108. package/lib/umd/locale/ru-RU.js +1 -1
  109. package/lib/umd/locale/sk-SK.js +1 -1
  110. package/lib/umd/locale/vi-VN.js +1 -1
  111. package/lib/umd/locale/zh-CN.js +1 -1
  112. package/lib/umd/locale/zh-HK.js +1 -1
  113. package/lib/umd/locale/zh-TW.js +1 -1
  114. package/package.json +16 -16
@@ -17,6 +17,7 @@ import type { DrawingTypeEnum, ICommandInfo, INeedCheckDisposable, IRange, Nulla
17
17
  import type { BaseObject, IBoundRectNoAngle, Viewport } from '@univerjs/engine-render';
18
18
  import type { ISheetLocationBase } from '@univerjs/sheets';
19
19
  import type { IPopup } from '@univerjs/ui';
20
+ import type { Observable } from 'rxjs';
20
21
  import { Disposable, ICommandService, IUniverInstanceService } from '@univerjs/core';
21
22
  import { IRenderManagerService } from '@univerjs/engine-render';
22
23
  import { RefRangeService, SheetsSelectionsService } from '@univerjs/sheets';
@@ -45,6 +46,7 @@ export declare class SheetCanvasPopManagerService extends Disposable {
45
46
  private readonly _selectionManagerService;
46
47
  private _popupMenuFeatureMap;
47
48
  private _popupMenuOffsetMap;
49
+ private readonly _popupDisposables;
48
50
  constructor(_globalPopupManagerService: ICanvasPopupService, _renderManagerService: IRenderManagerService, _univerInstanceService: IUniverInstanceService, _refRangeService: RefRangeService, _commandService: ICommandService, _refSelectionsService: ISheetSelectionRenderService, _selectionManagerService: SheetsSelectionsService);
49
51
  private _isSelectionMoving;
50
52
  private _initMoving;
@@ -83,6 +85,11 @@ export declare class SheetCanvasPopManagerService extends Disposable {
83
85
  dispose: () => void;
84
86
  canDispose: () => boolean;
85
87
  } | null | undefined;
88
+ attachPopupToDynamicAbsolutePosition(bound: IBoundRectNoAngle, anchorRect$: Observable<IBoundRectNoAngle>, popup: ICanvasPopup, _unitId?: string, _subUnitId?: string): {
89
+ dispose: () => void;
90
+ canDispose: () => boolean;
91
+ } | null | undefined;
92
+ private _attachAbsolutePopup;
86
93
  /**
87
94
  * Bind popup to the right part of cell at(row, col).
88
95
  * This popup would move with the cell.
@@ -105,6 +112,8 @@ export declare class SheetCanvasPopManagerService extends Disposable {
105
112
  * @param showOnSelectionMoving
106
113
  */
107
114
  attachRangePopup(range: IRange, popup: ICanvasPopup, _unitId?: string, _subUnitId?: string, viewport?: Viewport, showOnSelectionMoving?: boolean): Nullable<INeedCheckDisposable>;
115
+ private _resolveEmbeddedPopupInjector;
116
+ private _trackPopupDisposable;
108
117
  /**
109
118
  *
110
119
  * @param initialRow
@@ -44,4 +44,5 @@ export declare class CellPopupManagerService extends Disposable {
44
44
  showPopup(location: ISheetLocationBase, popup: ICellPopup): IDisposable;
45
45
  getPopups(unitId: string, subUnitId: string, row: number, col: number, direction: 'horizontal' | 'vertical'): ICellPopup[];
46
46
  hidePopup(unitId: string, subUnitId: string, row: number, col: number): void;
47
+ hidePopupsForUnit(unitId: string, subUnitId?: string): void;
47
48
  }
@@ -17,6 +17,7 @@ import { Disposable, IConfigService, IUniverInstanceService } from '@univerjs/co
17
17
  import { IRenderManagerService } from '@univerjs/engine-render';
18
18
  import { ILayoutService } from '@univerjs/ui';
19
19
  import { IEditorBridgeService } from '../editor-bridge.service';
20
+ import { ISheetEmbedFloatingGeometryService } from '../sheet-embed-integration.service';
20
21
  import { ICellEditorManagerService } from './cell-editor-manager.service';
21
22
  export declare class SheetCellEditorResizeService extends Disposable {
22
23
  private readonly _layoutService;
@@ -25,7 +26,8 @@ export declare class SheetCellEditorResizeService extends Disposable {
25
26
  private readonly _renderManagerService;
26
27
  private readonly _univerInstanceService;
27
28
  private readonly _configService;
28
- constructor(_layoutService: ILayoutService, _cellEditorManagerService: ICellEditorManagerService, _editorBridgeService: IEditorBridgeService, _renderManagerService: IRenderManagerService, _univerInstanceService: IUniverInstanceService, _configService: IConfigService);
29
+ private readonly _embedFloatingGeometryService?;
30
+ constructor(_layoutService: ILayoutService, _cellEditorManagerService: ICellEditorManagerService, _editorBridgeService: IEditorBridgeService, _renderManagerService: IRenderManagerService, _univerInstanceService: IUniverInstanceService, _configService: IConfigService, _embedFloatingGeometryService?: ISheetEmbedFloatingGeometryService | undefined);
29
31
  private get _currentRenderer();
30
32
  private get _editingUnitId();
31
33
  private get _editingRenderer();
@@ -45,6 +47,7 @@ export declare class SheetCellEditorResizeService extends Disposable {
45
47
  * and calculate the editor's boundaries relative to the browser.
46
48
  */
47
49
  private _editAreaProcessing;
50
+ private _getEditorContentElement;
48
51
  /**
49
52
  * Since the document does not support cell background color, an additional rect needs to be added.
50
53
  */
@@ -27,6 +27,7 @@ export interface IEditorBridgeServiceVisibleParam {
27
27
  eventType: DeviceInputEventType;
28
28
  unitId: string;
29
29
  keycode?: KeyCode;
30
+ initialValue?: string;
30
31
  }
31
32
  export interface ICurrentEditCellParam {
32
33
  scene: Scene;
@@ -154,6 +155,7 @@ export declare class EditorBridgeService extends Disposable implements IEditorBr
154
155
  editorUnitId: string;
155
156
  isInArrayFormulaRange: Nullable<boolean>;
156
157
  } | undefined;
158
+ private _getWorkbookForEditUnit;
157
159
  getCurrentEditorId(): string;
158
160
  changeVisible(params: IEditorBridgeServiceVisibleParam): void;
159
161
  isVisible(): IEditorBridgeServiceVisibleParam;
@@ -16,6 +16,12 @@
16
16
  import type { DisposableCollection, IRange, Worksheet } from '@univerjs/core';
17
17
  import type { Engine, Scene, Spreadsheet, SpreadsheetSkeleton } from '@univerjs/engine-render';
18
18
  import { Disposable, InterceptorManager } from '@univerjs/core';
19
+ /** Tracks asynchronous resources registered by all interceptors for one print page. */
20
+ export declare class SheetPrintingResourceCollector {
21
+ private readonly _pending;
22
+ add(resource: Promise<unknown>): void;
23
+ wait(timeout?: number): Promise<void>;
24
+ }
19
25
  interface ISheetPrintContext {
20
26
  unitId: string;
21
27
  subUnitId: string;
@@ -24,6 +30,8 @@ interface ISheetPrintContext {
24
30
  root: HTMLElement;
25
31
  worksheet: Worksheet;
26
32
  skeleton: SpreadsheetSkeleton;
33
+ range: IRange;
34
+ resourceCollector: SheetPrintingResourceCollector;
27
35
  offset: {
28
36
  offsetX: number;
29
37
  offsetY: number;
@@ -129,6 +129,7 @@ export declare class BaseSelectionRenderService extends Disposable implements IS
129
129
  }>;
130
130
  protected _escapeShortcutDisposable: Nullable<IDisposable>;
131
131
  constructor(_injector: Injector, _themeService: ThemeService, _shortcutService: IShortcutService, _sheetSkeletonManagerService: SheetSkeletonManagerService, contextService: IContextService);
132
+ dispose(): void;
132
133
  /**
133
134
  * If true, the selector will respond to the range of merged cells and automatically extend the selected range. If false, it will ignore the merged cells.
134
135
  */
@@ -0,0 +1,126 @@
1
+ /**
2
+ * Copyright 2023-present DreamNum Co., Ltd.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import type { IDisposable, UniverInstanceType } from '@univerjs/core';
17
+ import type { Observable } from 'rxjs';
18
+ import { Subject } from 'rxjs';
19
+ export declare const SHEET_EMBED_INTERACTION_BOUNDARY_OWNER_ATTRIBUTE = "data-embed-interaction-boundary-owner";
20
+ export declare const SHEET_EMBED_RUNTIME_FOCUS_ROLE_ATTRIBUTE = "data-embed-runtime-focus-role";
21
+ export declare const EMBED_INTERACTION_BOUNDARY_OWNER_ATTRIBUTE = "data-embed-interaction-boundary-owner";
22
+ export declare const EMBED_RUNTIME_FOCUS_ROLE_ATTRIBUTE = "data-embed-runtime-focus-role";
23
+ export declare const SHEET_EMBED_FLOAT_DOM_ATTRIBUTE = "data-embed-float-dom";
24
+ export declare const SHEET_EMBED_ID_ATTRIBUTE = "data-embed-id";
25
+ export declare const SHEET_EMBED_HOST_UNIT_ID_ATTRIBUTE = "data-embed-host-unit-id";
26
+ export declare const SHEET_EMBED_CHILD_UNIT_ID_ATTRIBUTE = "data-embed-child-unit-id";
27
+ export declare const SHEET_EMBED_CHILD_TYPE_ATTRIBUTE = "data-embed-child-type";
28
+ export interface ISheetEmbedRuntimeDomScope {
29
+ embedId: string;
30
+ hostUnitId?: string;
31
+ childUnitId?: string;
32
+ childType?: UniverInstanceType;
33
+ }
34
+ export interface ISheetEmbedInteractionBoundaryService {
35
+ registerOwnedElement(embedId: string, element: HTMLElement): IDisposable;
36
+ }
37
+ export declare const ISheetEmbedInteractionBoundaryService: import("@wendellhu/redi").IdentifierDecorator<ISheetEmbedInteractionBoundaryService>;
38
+ export interface ISheetEmbedRuntimeFocusCoordinator {
39
+ readonly runtimeSessionChanged$: Observable<void>;
40
+ acquireLease(options: {
41
+ embedId: string;
42
+ role: string;
43
+ owner?: string;
44
+ hostUnitId?: string;
45
+ childUnitId?: string;
46
+ childType?: UniverInstanceType;
47
+ associatedChildUnitIds?: string[];
48
+ }): IDisposable;
49
+ registerElement(options: {
50
+ embedId: string;
51
+ role: string;
52
+ element: HTMLElement;
53
+ }): IDisposable;
54
+ resolveRuntimeScopeByChildUnitId(childUnitId: string | undefined): ISheetEmbedRuntimeDomScope | undefined;
55
+ resolveActiveChildSessionRuntimeScope(): ISheetEmbedRuntimeDomScope | undefined;
56
+ isChildUnitInActiveSession(unitId: string | undefined): boolean;
57
+ isChildUnitRuntimeEvent(unitId: string | undefined, target: EventTarget | null | undefined, event?: Event): boolean;
58
+ }
59
+ export declare const ISheetEmbedRuntimeFocusCoordinator: import("@wendellhu/redi").IdentifierDecorator<ISheetEmbedRuntimeFocusCoordinator>;
60
+ export interface ISheetEmbedFloatingGeometryService {
61
+ readonly geometryInvalidated$: Observable<unknown>;
62
+ getRegistrationByChildUnitId(childUnitId: string): {
63
+ root: HTMLElement;
64
+ viewport?: HTMLElement | null;
65
+ contentRoot?: HTMLElement | null;
66
+ } | undefined;
67
+ }
68
+ export declare const ISheetEmbedFloatingGeometryService: import("@wendellhu/redi").IdentifierDecorator<ISheetEmbedFloatingGeometryService>;
69
+ export declare class EmbedInteractionBoundaryService implements ISheetEmbedInteractionBoundaryService {
70
+ private readonly _roots;
71
+ registerOwnedElement(embedId: string, element: HTMLElement): IDisposable;
72
+ contains(embedId: string | undefined, target: EventTarget | null | undefined): boolean;
73
+ private _mark;
74
+ }
75
+ export declare class EmbedRuntimeFocusCoordinator implements ISheetEmbedRuntimeFocusCoordinator {
76
+ private readonly _leases;
77
+ private readonly _elements;
78
+ readonly runtimeSessionChanged$: Subject<void>;
79
+ acquireLease(options: {
80
+ embedId: string;
81
+ role: string;
82
+ owner?: string;
83
+ childUnitId?: string;
84
+ hostUnitId?: string;
85
+ childType?: UniverInstanceType;
86
+ associatedChildUnitIds?: string[];
87
+ }): IDisposable;
88
+ registerElement(options: {
89
+ embedId: string;
90
+ role: string;
91
+ element: HTMLElement;
92
+ }): IDisposable;
93
+ containsElement(embedId: string, element: HTMLElement | null | undefined): boolean;
94
+ registerRuntimeScope(options: {
95
+ embedId: string;
96
+ hostUnitId?: string;
97
+ childUnitId?: string;
98
+ childType?: UniverInstanceType;
99
+ }): IDisposable;
100
+ hasChildInteractionLease(embedId: string | undefined): boolean;
101
+ hasHostPreservingChildFocusLeaseForHost(hostUnitId: string | undefined): boolean;
102
+ resolveRuntimeScopeByChildUnitId(childUnitId: string | undefined): ISheetEmbedRuntimeDomScope | undefined;
103
+ resolveActiveChildSessionRuntimeScope(): ISheetEmbedRuntimeDomScope | undefined;
104
+ isChildUnitInActiveSession(unitId: string | undefined): boolean;
105
+ isChildUnitRuntimeEvent(unitId: string | undefined, target: EventTarget | null | undefined): boolean;
106
+ }
107
+ export declare class EmbedFloatingGeometryService implements ISheetEmbedFloatingGeometryService {
108
+ private readonly _registrations;
109
+ private readonly _geometryInvalidated$;
110
+ readonly geometryInvalidated$: Observable<unknown>;
111
+ register(registration: {
112
+ embedId: string;
113
+ childUnitId?: string;
114
+ root: HTMLElement;
115
+ viewport?: HTMLElement | null;
116
+ contentRoot?: HTMLElement | null;
117
+ }): IDisposable;
118
+ getRegistrationByChildUnitId(childUnitId: string): {
119
+ childUnitId?: string;
120
+ root: HTMLElement;
121
+ viewport?: HTMLElement | null;
122
+ contentRoot?: HTMLElement | null;
123
+ } | undefined;
124
+ }
125
+ export declare function resolveSheetEmbedRuntimeDomScope(element: HTMLElement | null | undefined): ISheetEmbedRuntimeDomScope | undefined;
126
+ export declare function resolveActiveSheetEmbedRuntimeDomScope(ownerDocument?: Document): ISheetEmbedRuntimeDomScope | undefined;
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Copyright 2023-present DreamNum Co., Ltd.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import type { IDisposable } from '@univerjs/core';
17
+ export interface ISheetEmbedTabMountParams {
18
+ hostUnitId: string;
19
+ hostAnchorId: string;
20
+ embedId: string;
21
+ }
22
+ export interface ISheetEmbedRuntimeService {
23
+ mountSheetTab(params: ISheetEmbedTabMountParams): IDisposable | undefined;
24
+ clearTab(embedId?: string): void;
25
+ }
26
+ export declare const ISheetEmbedRuntimeService: import("@wendellhu/redi").IdentifierDecorator<ISheetEmbedRuntimeService>;
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Copyright 2023-present DreamNum Co., Ltd.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import type { Observable } from 'rxjs';
17
+ export interface ISheetHostChromeOverride {
18
+ entry?: string;
19
+ hostUnitId?: string;
20
+ }
21
+ export interface ISheetHostChromeOverrideService {
22
+ readonly override$: Observable<ISheetHostChromeOverride | null>;
23
+ getOverride?(): ISheetHostChromeOverride | null;
24
+ }
25
+ export declare const ISheetHostChromeOverrideService: import("@wendellhu/redi").IdentifierDecorator<ISheetHostChromeOverrideService>;
@@ -69,4 +69,6 @@ export declare class SheetSkeletonManagerService extends Disposable implements I
69
69
  private _getSkeleton;
70
70
  setColumnHeaderSize(render: Nullable<IRender>, sheetId: string, size: number): void;
71
71
  setRowHeaderSize(render: Nullable<IRender>, sheetId: string, size: number): void;
72
+ private _resetSelectionsIfAvailable;
73
+ private _tryGetRenderDependency;
72
74
  }
@@ -15,11 +15,72 @@
15
15
  */
16
16
  import type { IBorderInfo } from '@univerjs/sheets';
17
17
  import type { ICustomComponentProps } from '@univerjs/ui';
18
+ import { BorderStyleTypes } from '@univerjs/core';
18
19
  export declare const BORDER_PANEL_COMPONENT = "UI_PLUGIN_SHEETS_BORDER_PANEL_COMPONENT";
19
20
  export interface IBorderPanelProps extends ICustomComponentProps<IBorderInfo> {
20
21
  }
21
- export declare const BORDER_LINE_CHILDREN: {
22
- label: string;
22
+ export declare const BORDER_LINE_CHILDREN: ({
23
+ label: "sheets-ui.borderLine.borderTop";
23
24
  icon: string;
24
25
  value: string;
26
+ } | {
27
+ label: "sheets-ui.borderLine.borderBottom";
28
+ icon: string;
29
+ value: string;
30
+ } | {
31
+ label: "sheets-ui.borderLine.borderLeft";
32
+ icon: string;
33
+ value: string;
34
+ } | {
35
+ label: "sheets-ui.borderLine.borderRight";
36
+ icon: string;
37
+ value: string;
38
+ } | {
39
+ label: "sheets-ui.borderLine.borderNone";
40
+ icon: string;
41
+ value: string;
42
+ } | {
43
+ label: "sheets-ui.borderLine.borderAll";
44
+ icon: string;
45
+ value: string;
46
+ } | {
47
+ label: "sheets-ui.borderLine.borderOutside";
48
+ icon: string;
49
+ value: string;
50
+ } | {
51
+ label: "sheets-ui.borderLine.borderInside";
52
+ icon: string;
53
+ value: string;
54
+ } | {
55
+ label: "sheets-ui.borderLine.borderHorizontal";
56
+ icon: string;
57
+ value: string;
58
+ } | {
59
+ label: "sheets-ui.borderLine.borderVertical";
60
+ icon: string;
61
+ value: string;
62
+ } | {
63
+ label: "sheets-ui.borderLine.borderTlbr";
64
+ icon: string;
65
+ value: string;
66
+ } | {
67
+ label: "sheets-ui.borderLine.borderTlbcTlmr";
68
+ icon: string;
69
+ value: string;
70
+ } | {
71
+ label: "sheets-ui.borderLine.borderTlbrTlbcTlmr";
72
+ icon: string;
73
+ value: string;
74
+ } | {
75
+ label: "sheets-ui.borderLine.borderBlTr";
76
+ icon: string;
77
+ value: string;
78
+ } | {
79
+ label: "sheets-ui.borderLine.borderMltrBctr";
80
+ icon: string;
81
+ value: string;
82
+ })[];
83
+ export declare const BORDER_SIZE_CHILDREN: {
84
+ label: BorderStyleTypes;
85
+ value: BorderStyleTypes;
25
86
  }[];
@@ -13,12 +13,14 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import * as React from 'react';
17
- interface ICellIEditorProps {
18
- }
16
+ export declare function shouldRefocusCellEditorAfterPointerDown(options: {
17
+ root: HTMLElement | null | undefined;
18
+ target: EventTarget | null | undefined;
19
+ activeElement: Element | null | undefined;
20
+ isEditorFocusing: boolean | undefined;
21
+ }): boolean;
19
22
  /**
20
23
  * Cell editor container.
21
24
  * @returns the rendered cell editor container.
22
25
  */
23
- export declare const EditorContainer: React.FC<ICellIEditorProps>;
24
- export {};
26
+ export declare function EditorContainer(): import("react").JSX.Element;
@@ -13,4 +13,4 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- export { menuSchema } from './schema';
16
+ export {};
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Copyright 2023-present DreamNum Co., Ltd.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import type { IDisposable } from '@univerjs/core';
17
+ import type { ISheetEmbedInteractionBoundaryService, ISheetEmbedRuntimeFocusCoordinator } from '../../services/sheet-embed-integration.service';
18
+ export declare function focusSheetCellEditorElement(ownerDocument?: Document): boolean;
19
+ export declare function registerSheetCellEditorRuntimePortal(options: {
20
+ embedId: string;
21
+ ownerDocument?: Document;
22
+ interactionBoundaryService?: ISheetEmbedInteractionBoundaryService;
23
+ focusCoordinator?: ISheetEmbedRuntimeFocusCoordinator;
24
+ }): IDisposable;
25
+ export declare function resolveSheetCellEditorPortalRoot(ownerDocument?: Document): HTMLElement | null;
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import type { BooleanNumber } from '@univerjs/core';
17
- import type { CSSProperties, KeyboardEventHandler, ReactNode } from 'react';
17
+ import type { CSSProperties, KeyboardEventHandler, MouseEventHandler, ReactNode } from 'react';
18
18
  export interface IBaseSheetBarProps {
19
19
  label?: ReactNode;
20
20
  children?: unknown[];
@@ -27,6 +27,7 @@ export interface IBaseSheetBarProps {
27
27
  menuOverlay?: ReactNode;
28
28
  className?: string;
29
29
  onKeyDown?: KeyboardEventHandler<HTMLDivElement>;
30
+ onClick?: MouseEventHandler<HTMLDivElement>;
30
31
  tabIndex?: number;
31
32
  }
32
33
  export declare function SheetBarItem(props: IBaseSheetBarProps): import("react").JSX.Element;
@@ -24,3 +24,4 @@ export interface ISheetTabDragSortResult {
24
24
  }
25
25
  export declare function calculateSheetTabDragSort(items: ISheetTabLayoutItem[], activeIndex: number, dragOffsetX: number): ISheetTabDragSortResult;
26
26
  export declare function reorderItems<T>(items: T[], fromIndex: number, toIndex: number): T[];
27
+ export declare function getSheetTabTargetOrder(sheetOrder: readonly string[], visibleSheetIds: string[], targetIndex: number): number;
@@ -25,7 +25,7 @@ export interface ISlideTabBarConfig {
25
25
  onChangeName: (id: string, name: string) => void;
26
26
  onChangeTab: (event: MouseEvent, id: string) => void;
27
27
  onScroll: (state: IScrollState) => void;
28
- onNameCheckAlert: (text: string) => boolean;
28
+ onNameCheckAlert: (text: string, id?: string) => boolean;
29
29
  onNameChangeCheck: () => boolean;
30
30
  }
31
31
  export interface ISlideTabItemAnimate {
@@ -96,6 +96,7 @@ export declare class SlideTabBar {
96
96
  protected _downAction: (e: MouseEvent) => void;
97
97
  protected _wheelAction: (e: WheelEvent) => void;
98
98
  protected _scrollIncremental: number;
99
+ protected _dragStartScrollX: number;
99
100
  protected _compareDirection: number;
100
101
  protected _autoScrollTime: number | null;
101
102
  protected _slideScrollbar: SlideScrollbar;
package/lib/umd/facade.js CHANGED
@@ -1 +1 @@
1
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("@univerjs/core/facade"),require("@univerjs/docs"),require("@univerjs/engine-render"),require("@univerjs/sheets"),require("@univerjs/sheets-ui"),require("@univerjs/ui"),require("rxjs"),require("@univerjs/sheets/facade")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/core/facade`,`@univerjs/docs`,`@univerjs/engine-render`,`@univerjs/sheets`,`@univerjs/sheets-ui`,`@univerjs/ui`,`rxjs`,`@univerjs/sheets/facade`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsUiFacade={},e.UniverCore,e.UniverCoreFacade,e.UniverDocs,e.UniverEngineRender,e.UniverSheets,e.UniverSheetsUi,e.UniverUi,e.rxjs,e.UniverSheetsFacade))})(this,function(e,t,n,r,i,a,o,s,c,l){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var u=class extends n.FUniver{_initSheetUIEvent(e){let n=e.get(t.ICommandService);this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetEditStart,()=>n.beforeCommandExecuted(n=>{if(n.id!==o.SetCellEditVisibleOperation.id)return;let r=this.getActiveSheet();if(!r)return;let{workbook:i,worksheet:a}=r,s=e.get(o.IEditorBridgeService),{visible:c,keycode:l,eventType:u}=n.params,d=s.getEditLocation();if(!c)return;let f={row:d.row,column:d.column,eventType:u,keycode:l,workbook:i,worksheet:a};if(this.fireEvent(this.Event.BeforeSheetEditStart,f),f.cancel)throw new t.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetEditEnd,()=>n.beforeCommandExecuted(n=>{if(n.id!==o.SetCellEditVisibleOperation.id)return;let r=this.getActiveSheet();if(!r)return;let{workbook:i,worksheet:a}=r,c=e.get(o.IEditorBridgeService),l=e.get(t.IUniverInstanceService),{visible:u,keycode:d,eventType:f}=n.params,p=c.getEditLocation();if(u)return;let m={row:p.row,column:p.column,eventType:f,keycode:d,workbook:i,worksheet:a,value:t.RichTextValue.create(l.getUnit(t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isConfirm:d!==s.KeyCode.ESC};if(this.fireEvent(this.Event.BeforeSheetEditEnd,m),m.cancel)throw new t.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetEditStarted,()=>n.onCommandExecuted(t=>{if(t.id!==o.SetCellEditVisibleOperation.id)return;let n=t.params,r=this.getSheetCommandTarget(n);if(!r)return;let{workbook:i,worksheet:a}=r,{visible:s,keycode:c,eventType:l}=n;if(!s)return;let u=e.get(o.IEditorBridgeService).getEditLocation(),d={row:u.row,column:u.column,eventType:l,keycode:c,workbook:i,worksheet:a};this.fireEvent(this.Event.SheetEditStarted,d)}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetEditEnded,()=>n.onCommandExecuted(t=>{if(t.id!==o.SetCellEditVisibleOperation.id)return;let n=t.params,r=this.getSheetCommandTarget(n);if(!r)return;let{workbook:i,worksheet:a}=r,{visible:c,keycode:l,eventType:u}=n;if(c)return;let d=e.get(o.IEditorBridgeService).getEditLocation(),f={row:d.row,column:d.column,eventType:u,keycode:l,workbook:i,worksheet:a,isConfirm:l!==s.KeyCode.ESC};this.fireEvent(this.Event.SheetEditEnded,f)}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetEditChanging,()=>n.onCommandExecuted(n=>{if(n.id!==r.RichTextEditingMutation.id)return;let i=n.params,a=this.getActiveSheet();if(!a)return;let{workbook:s,worksheet:c}=a,l=e.get(o.IEditorBridgeService),u=e.get(t.IUniverInstanceService);if(!l.isVisible().visible)return;let{unitId:d}=i;if(d===t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY){let{row:e,column:n}=l.getEditLocation(),r={workbook:s,worksheet:c,row:e,column:n,value:t.RichTextValue.create(u.getUnit(t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot())};this.fireEvent(this.Event.SheetEditChanging,r)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetZoomChange,()=>n.beforeCommandExecuted(e=>{if(e.id!==o.SetZoomRatioCommand.id)return;let n=e.params,r=this.getSheetCommandTarget(n);if(!r)return;let{workbook:i,worksheet:a}=r,{zoomRatio:s}=n,c={workbook:i,worksheet:a,zoom:s};if(this.fireEvent(this.Event.BeforeSheetZoomChange,c),c.cancel)throw new t.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetZoomChanged,()=>n.onCommandExecuted(e=>{if(e.id!==o.SetZoomRatioCommand.id)return;let t=e.params,n=this.getSheetCommandTarget(t);if(!n)return;let{workbook:r,worksheet:i}=n,{zoomRatio:a}=t,s={workbook:r,worksheet:i,zoom:a};this.fireEvent(this.Event.SheetZoomChanged,s)})))}_initObserverListener(e){let n=e.get(i.IRenderManagerService),r=e.get(t.LifecycleService),s=new t.DisposableCollection;this.disposeWithMe(r.lifecycle$.subscribe(n=>{if(n!==t.LifecycleStages.Rendered)return;let r=e.get(o.HoverManagerService),i=e.get(o.DragManagerService);r&&(s.dispose(),s.add(this.registerEventHandler(this.Event.CellClicked,()=>{var e;return(e=r.currentClickedCell$)==null?void 0:e.pipe((0,c.filter)(e=>!!e)).subscribe(e=>{let{unitId:t,subUnitId:n,row:r,col:i}=e.location,a=this.getSheetCommandTarget({unitId:t,subUnitId:n});if(!a)return;let{workbook:o,worksheet:s}=a,c={workbook:o,worksheet:s,row:r,column:i};this.fireEvent(this.Event.CellClicked,c)})})),s.add(this.registerEventHandler(this.Event.CellHover,()=>{var e;return(e=r.currentRichText$)==null?void 0:e.pipe((0,c.filter)(e=>!!e)).subscribe(e=>{let{unitId:t,subUnitId:n,row:r,col:i}=e,a=this.getSheetCommandTarget({unitId:t,subUnitId:n});if(!a)return;let{workbook:o,worksheet:s}=a,c={workbook:o,worksheet:s,row:r,column:i};this.fireEvent(this.Event.CellHover,c)})})),s.add(this.registerEventHandler(this.Event.CellPointerDown,()=>{var e;return(e=r.currentPointerDownCell$)==null?void 0:e.pipe((0,c.filter)(e=>!!e)).subscribe(e=>{let{unitId:t,subUnitId:n,row:r,col:i}=e,a=this.getSheetCommandTarget({unitId:t,subUnitId:n});if(!a)return;let{workbook:o,worksheet:s}=a,c={workbook:o,worksheet:s,row:r,column:i};this.fireEvent(this.Event.CellPointerDown,c)})})),s.add(this.registerEventHandler(this.Event.CellPointerUp,()=>{var e;return(e=r.currentPointerUpCell$)==null?void 0:e.pipe((0,c.filter)(e=>!!e)).subscribe(e=>{let{unitId:t,subUnitId:n,row:r,col:i}=e,a=this.getSheetCommandTarget({unitId:t,subUnitId:n});if(!a)return;let{workbook:o,worksheet:s}=a,c={workbook:o,worksheet:s,row:r,column:i};this.fireEvent(this.Event.CellPointerUp,c)})})),s.add(this.registerEventHandler(this.Event.CellPointerMove,()=>{var e;return(e=r.currentCellPosWithEvent$)==null?void 0:e.pipe((0,c.filter)(e=>!!e)).subscribe(e=>{let{unitId:t,subUnitId:n,row:r,col:i}=e,a=this.getSheetCommandTarget({unitId:t,subUnitId:n});if(!a)return;let{workbook:o,worksheet:s}=a,c={workbook:o,worksheet:s,row:r,column:i};this.fireEvent(this.Event.CellPointerMove,c)})})),s.add(this.registerEventHandler(this.Event.DragOver,()=>{var e;return(e=i.currentCell$)==null?void 0:e.pipe((0,c.filter)(e=>!!e)).subscribe(e=>{let{unitId:t,subUnitId:n,row:r,col:i}=e.location,a=this.getSheetCommandTarget({unitId:t,subUnitId:n});if(!a)return;let{workbook:o,worksheet:s}=a,c={workbook:o,worksheet:s,...e,row:r,column:i};this.fireEvent(this.Event.DragOver,c)})})),s.add(this.registerEventHandler(this.Event.Drop,()=>{var e;return(e=i.endCell$)==null?void 0:e.pipe((0,c.filter)(e=>!!e)).subscribe(e=>{let{unitId:t,subUnitId:n,row:r,col:i}=e.location,a=this.getSheetCommandTarget({unitId:t,subUnitId:n});if(!a)return;let{workbook:o,worksheet:s}=a,c={workbook:o,worksheet:s,...e,row:r,column:i};this.fireEvent(this.Event.Drop,c)})})),s.add(this.registerEventHandler(this.Event.RowHeaderClick,()=>{var e;return(e=r.currentRowHeaderClick$)==null?void 0:e.pipe((0,c.filter)(e=>!!e)).subscribe(e=>{let{unitId:t,subUnitId:n,index:r}=e,i=this.getSheetCommandTarget({unitId:t,subUnitId:n});if(!i)return;let{workbook:a,worksheet:o}=i,s={workbook:a,worksheet:o,row:r};this.fireEvent(this.Event.RowHeaderClick,s)})})),s.add(this.registerEventHandler(this.Event.RowHeaderPointerDown,()=>{var e;return(e=r.currentRowHeaderPointerDown$)==null?void 0:e.pipe((0,c.filter)(e=>!!e)).subscribe(e=>{let{unitId:t,subUnitId:n,index:r}=e,i=this.getSheetCommandTarget({unitId:t,subUnitId:n});if(!i)return;let{workbook:a,worksheet:o}=i,s={workbook:a,worksheet:o,row:r};this.fireEvent(this.Event.RowHeaderPointerDown,s)})})),s.add(this.registerEventHandler(this.Event.RowHeaderPointerUp,()=>{var e;return(e=r.currentRowHeaderPointerUp$)==null?void 0:e.pipe((0,c.filter)(e=>!!e)).subscribe(e=>{let{unitId:t,subUnitId:n,index:r}=e,i=this.getSheetCommandTarget({unitId:t,subUnitId:n});if(!i)return;let{workbook:a,worksheet:o}=i,s={workbook:a,worksheet:o,row:r};this.fireEvent(this.Event.RowHeaderPointerUp,s)})})),s.add(this.registerEventHandler(this.Event.RowHeaderHover,()=>{var e;return(e=r.currentHoveredRowHeader$)==null?void 0:e.pipe((0,c.filter)(e=>!!e)).subscribe(e=>{let{unitId:t,subUnitId:n,index:r}=e,i=this.getSheetCommandTarget({unitId:t,subUnitId:n});if(!i)return;let{workbook:a,worksheet:o}=i,s={workbook:a,worksheet:o,row:r};this.fireEvent(this.Event.RowHeaderHover,s)})})),s.add(this.registerEventHandler(this.Event.ColumnHeaderClick,()=>{var e;return(e=r.currentColHeaderClick$)==null?void 0:e.pipe((0,c.filter)(e=>!!e)).subscribe(e=>{let{unitId:t,subUnitId:n,index:r}=e,i=this.getSheetCommandTarget({unitId:t,subUnitId:n});if(!i)return;let{workbook:a,worksheet:o}=i,s={workbook:a,worksheet:o,column:r};this.fireEvent(this.Event.ColumnHeaderClick,s)})})),s.add(this.registerEventHandler(this.Event.ColumnHeaderPointerDown,()=>{var e;return(e=r.currentColHeaderPointerDown$)==null?void 0:e.pipe((0,c.filter)(e=>!!e)).subscribe(e=>{let{unitId:t,subUnitId:n,index:r}=e,i=this.getSheetCommandTarget({unitId:t,subUnitId:n});if(!i)return;let{workbook:a,worksheet:o}=i,s={workbook:a,worksheet:o,column:r};this.fireEvent(this.Event.ColumnHeaderPointerDown,s)})})),s.add(this.registerEventHandler(this.Event.ColumnHeaderPointerUp,()=>{var e;return(e=r.currentColHeaderPointerUp$)==null?void 0:e.pipe((0,c.filter)(e=>!!e)).subscribe(e=>{let{unitId:t,subUnitId:n,index:r}=e,i=this.getSheetCommandTarget({unitId:t,subUnitId:n});if(!i)return;let{workbook:a,worksheet:o}=i,s={workbook:a,worksheet:o,column:r};this.fireEvent(this.Event.ColumnHeaderPointerUp,s)})})),s.add(this.registerEventHandler(this.Event.ColumnHeaderHover,()=>{var e;return(e=r.currentHoveredColHeader$)==null?void 0:e.pipe((0,c.filter)(e=>!!e)).subscribe(e=>{let{unitId:t,subUnitId:n,index:r}=e,i=this.getSheetCommandTarget({unitId:t,subUnitId:n});if(!i)return;let{workbook:a,worksheet:o}=i,s={workbook:a,worksheet:o,column:r};this.fireEvent(this.Event.ColumnHeaderHover,s)})})),this.disposeWithMe(s))}));let l,u=(0,c.combineLatest)([n.created$,r.lifecycle$]),d=new t.DisposableCollection;this.disposeWithMe(u.subscribe(([e,n])=>{if(e.type===t.UniverInstanceType.UNIVER_SHEET&&(l=e),n<=t.LifecycleStages.Rendered||!l)return;let r=this.getWorkbook(l.unitId);if(!r)return;d.dispose();let i=l.with(o.SheetScrollManagerService),s=l.with(a.SheetsSelectionsService);d.add(this.registerEventHandler(this.Event.Scroll,()=>i.validViewportScrollInfo$.subscribe(e=>{if(!e)return;let t={workbook:r,worksheet:r.getActiveSheet(),...e};this.fireEvent(this.Event.Scroll,t)}))),d.add(this.registerEventHandler(this.Event.SelectionMoveStart,()=>s.selectionMoveStart$.subscribe(e=>{var t;let n={workbook:r,worksheet:r.getActiveSheet(),selections:(t=e==null?void 0:e.map(e=>e.range))==null?[]:t};this.fireEvent(this.Event.SelectionMoveStart,n)}))),d.add(this.registerEventHandler(this.Event.SelectionMoving,()=>s.selectionMoving$.subscribe(e=>{var t;let n={workbook:r,worksheet:r.getActiveSheet(),selections:(t=e==null?void 0:e.map(e=>e.range))==null?[]:t};this.fireEvent(this.Event.SelectionMoving,n)}))),d.add(this.registerEventHandler(this.Event.SelectionMoveEnd,()=>s.selectionMoveEnd$.subscribe(e=>{var t;let n={workbook:r,worksheet:r.getActiveSheet(),selections:(t=e==null?void 0:e.map(e=>e.range))==null?[]:t};this.fireEvent(this.Event.SelectionMoveEnd,n)}))),d.add(this.registerEventHandler(this.Event.SelectionChanged,()=>s.selectionChanged$.subscribe(e=>{var t;let n={workbook:r,worksheet:r.getActiveSheet(),selections:(t=e==null?void 0:e.map(e=>e.range))==null?[]:t};this.fireEvent(this.Event.SelectionChanged,n)}))),l=null,this.disposeWithMe(d)}))}_initialize(e){this._initSheetUIEvent(e),this._initObserverListener(e);let n=e.get(t.ICommandService);this.disposeWithMe(this.registerEventHandler(this.Event.BeforeClipboardChange,()=>n.beforeCommandExecuted(e=>{switch(e.id){case s.CopyCommand.id:case s.CutCommand.id:this._beforeClipboardChange();break}}))),this.disposeWithMe(this.registerEventHandler(this.Event.ClipboardChanged,()=>n.onCommandExecuted(e=>{switch(e.id){case s.CopyCommand.id:case s.CutCommand.id:this._clipboardChanged();break}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeClipboardPaste,()=>n.beforeCommandExecuted(e=>{switch(e.id){case o.SheetPasteShortKeyCommand.id:this._beforeClipboardPaste(e.params);break;case s.PasteCommand.id:this._beforeClipboardPasteAsync();break}}))),this.disposeWithMe(this.registerEventHandler(this.Event.ClipboardPasted,()=>n.onCommandExecuted(e=>{switch(e.id){case o.SheetPasteShortKeyCommand.id:this._clipboardPaste(e.params);break;case s.PasteCommand.id:this._clipboardPasteAsync();break}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetSkeletonChanged,()=>n.onCommandExecuted(e=>{if(a.COMMAND_LISTENER_SKELETON_CHANGE.indexOf(e.id)>-1){let t=this.getActiveSheet();if(!t)return;let n=(0,a.getSkeletonChangedEffectedRange)(e,t.worksheet.getMaxColumns()).map(e=>{var t;return(t=this.getWorkbook(e.unitId))==null||(t=t.getSheetBySheetId(e.subUnitId))==null?void 0:t.getRange(e.range)}).filter(Boolean);if(!n.length)return;let r={workbook:t.workbook,worksheet:t.worksheet,payload:e,skeleton:t.worksheet.getSkeleton(),effectedRanges:n};this.fireEvent(this.Event.SheetSkeletonChanged,r)}})))}_generateClipboardCopyParam(){let e=this.getActiveWorkbook(),t=e==null?void 0:e.getActiveSheet(),n=e==null?void 0:e.getActiveRange();if(!e||!t||!n)return;let r=this._injector.get(o.ISheetClipboardService).generateCopyContent(e.getId(),t.getSheetId(),n.getRange());if(!r)return;let{html:i,plain:a}=r;return{workbook:e,worksheet:t,text:a,html:i,fromSheet:t,fromRange:n}}_beforeClipboardChange(){let e=this._generateClipboardCopyParam();if(e&&(this.fireEvent(this.Event.BeforeClipboardChange,e),e.cancel))throw new t.CanceledError}_clipboardChanged(){let e=this._generateClipboardCopyParam();e&&this.fireEvent(this.Event.ClipboardChanged,e)}_generateClipboardPasteParam(e){if(!e)return;let{htmlContent:t,textContent:n}=e,r=this.getActiveWorkbook(),i=r==null?void 0:r.getActiveSheet();if(!(!r||!i))return{workbook:r,worksheet:i,text:n,html:t}}async _generateClipboardPasteParamAsync(){let e=this.getActiveWorkbook(),t=e==null?void 0:e.getActiveSheet();if(!e||!t)return;let n=(await this._injector.get(s.IClipboardInterfaceService).read())[0],r;if(n){let i=n.types;r={workbook:e,worksheet:t,text:i.indexOf(s.PLAIN_TEXT_CLIPBOARD_MIME_TYPE)===-1?``:await n.getType(s.PLAIN_TEXT_CLIPBOARD_MIME_TYPE).then(e=>e&&e.text()),html:i.indexOf(s.HTML_CLIPBOARD_MIME_TYPE)===-1?``:await n.getType(s.HTML_CLIPBOARD_MIME_TYPE).then(e=>e&&e.text())}}return r}_beforeClipboardPaste(e){let n=this._generateClipboardPasteParam(e);if(n&&(this.fireEvent(this.Event.BeforeClipboardPaste,n),n.cancel))throw new t.CanceledError}_clipboardPaste(e){let n=this._generateClipboardPasteParam(e);if(n&&(this.fireEvent(this.Event.ClipboardPasted,n),n.cancel))throw new t.CanceledError}async _beforeClipboardPasteAsync(){if(!(0,s.supportClipboardAPI)()){this._injector.get(t.ILogService).warn(`[Facade]: The navigator object only supports the browser environment`);return}let e=await this._generateClipboardPasteParamAsync();if(e&&(this.fireEvent(this.Event.BeforeClipboardPaste,e),e.cancel))throw new t.CanceledError}async _clipboardPasteAsync(){if(!(0,s.supportClipboardAPI)()){this._injector.get(t.ILogService).warn(`[Facade]: The navigator object only supports the browser environment`);return}let e=await this._generateClipboardPasteParamAsync();if(e&&(this.fireEvent(this.Event.ClipboardPasted,e),e.cancel))throw new t.CanceledError}registerSheetRowHeaderExtension(e,...n){let r=this._getSheetRenderComponent(e,o.SHEET_VIEW_KEY.ROW),i=r.register(...n);return(0,t.toDisposable)(()=>{i.dispose(),r.makeDirty(!0)})}registerSheetColumnHeaderExtension(e,...n){let r=this._getSheetRenderComponent(e,o.SHEET_VIEW_KEY.COLUMN),i=r.register(...n);return(0,t.toDisposable)(()=>{i.dispose(),r.makeDirty(!0)})}registerSheetMainExtension(e,...n){let r=this._getSheetRenderComponent(e,o.SHEET_VIEW_KEY.MAIN),i=r.register(...n);return(0,t.toDisposable)(()=>{i.dispose(),r.makeDirty(!0)})}registerCellCustomRender(e,n=t.InterceptorEffectEnum.Style,r){return this._injector.get(a.SheetInterceptorService).intercept(a.INTERCEPTOR_POINT.CELL_CONTENT,{effect:n,handler:(t,n,r)=>(t&&!t.customRender&&e&&(t.customRender=[...e]),r(t)),priority:r})}_getSheetRenderComponent(e,t){let n=this._injector.get(i.IRenderManagerService).getRenderUnitById(e);if(!n)throw Error(`Render Unit with unitId ${e} not found`);let{components:r}=n,a=r.get(t);if(!a)throw Error(`Render component not found`);return a}pasteIntoSheet(e,t,n){return this._commandService.executeCommand(o.SheetPasteShortKeyCommand.id,{htmlContent:e,textContent:t,files:n})}setProtectedRangeShadowStrategy(e){this._injector.get(o.SheetPermissionRenderManagerService).setProtectedRangeShadowStrategy(e)}getProtectedRangeShadowStrategy(){return this._injector.get(o.SheetPermissionRenderManagerService).getProtectedRangeShadowStrategy()}getProtectedRangeShadowStrategy$(){return this._injector.get(o.SheetPermissionRenderManagerService).getProtectedRangeShadowStrategy$()}setPermissionDialogVisible(e){this._injector.get(t.IPermissionService).setShowComponents(e)}};n.FUniver.extend(u);var d=class extends l.FWorkbook{openSiderbar(e){return this._logDeprecation(`openSiderbar`),this._injector.get(s.ISidebarService).open(e)}openDialog(e){this._logDeprecation(`openDialog`);let t=this._injector.get(s.IDialogService).open({...e,onClose:()=>{t.dispose()}});return t}customizeColumnHeader(e){let t=this._workbook.getUnitId();this._getSheetRenderComponent(t,o.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e)}customizeRowHeader(e){let t=this._workbook.getUnitId();this._getSheetRenderComponent(t,o.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}_getSheetRenderComponent(e,t){let n=this._injector.get(i.IRenderManagerService).getRenderUnitById(e);if(!n)throw Error(`Render Unit with unitId ${e} not found`);let{components:r}=n,a=r.get(t);if(!a)throw Error(`Render component not found`);return a}_logDeprecation(e){this._injector.get(t.ILogService).warn(`[FWorkbook]`,`${e} is deprecated. Please use the function of the same name on "FUniver".`)}startEditing(){let e=this._injector.get(t.ICommandService);return this._injector.get(o.IEditorBridgeService).isVisible().visible?!0:e.syncExecuteCommand(o.SetCellEditVisibleOperation.id,{eventType:i.DeviceInputEventType.Dblclick,unitId:this._workbook.getUnitId(),visible:!0})}async endEditingAsync(e=!0){let n=this._injector.get(t.ICommandService);return this._injector.get(o.IEditorBridgeService).isVisible().visible&&n.syncExecuteCommand(o.SetCellEditVisibleOperation.id,{eventType:i.DeviceInputEventType.Keyboard,keycode:e?s.KeyCode.ENTER:s.KeyCode.ESC,visible:!1,unitId:this._workbook.getUnitId()}),await(0,t.awaitTime)(0),!0}abortEditingAsync(){return this.endEditingAsync(!1)}isCellEditing(){return this._injector.get(o.IEditorBridgeService).isVisible().visible}getScrollStateBySheetId(e){let t=this._workbook.getUnitId(),n=this._injector.get(i.IRenderManagerService).getRenderUnitById(t);return n?n.with(o.SheetScrollManagerService).getScrollStateByParam({unitId:t,sheetId:e}):null}disableSelection(){let e=this._workbook.getUnitId(),t=this._injector.get(i.IRenderManagerService).getRenderUnitById(e);return t&&t.with(o.ISheetSelectionRenderService).disableSelection(),this}enableSelection(){let e=this._workbook.getUnitId(),t=this._injector.get(i.IRenderManagerService).getRenderUnitById(e);return t&&t.with(o.ISheetSelectionRenderService).enableSelection(),this}transparentSelection(){let e=this._workbook.getUnitId(),t=this._injector.get(i.IRenderManagerService).getRenderUnitById(e);return t&&t.with(o.ISheetSelectionRenderService).transparentSelection(),this}showSelection(){let e=this._workbook.getUnitId(),t=this._injector.get(i.IRenderManagerService).getRenderUnitById(e);return t&&t.with(o.ISheetSelectionRenderService).showSelection(),this}};l.FWorkbook.extend(d);var f=class extends l.FWorksheet{refreshCanvas(){let e=this._injector.get(i.IRenderManagerService),t=this._fWorkbook.id,n=e.getRenderUnitById(t);if(!n)throw Error(`Render Unit with unitId ${t} not found`);return n.with(o.SheetSkeletonManagerService).reCalculate(),n.components.forEach(e=>{var t;(t=e.makeDirty)==null||t.call(e)}),this}highlightRanges(e,n,r){let i=this._injector.get(o.IMarkSelectionService),a=[];for(let t of e){let e=t.getRange(),o=i.addShapeWithNoFresh({range:e,style:n,primary:r});o&&a.push(o)}if(i.refreshShapes(),a.length===0)throw Error(`Failed to highlight current range`);return(0,t.toDisposable)(()=>{a.forEach(e=>{i.removeShape(e)})})}zoom(e){let n=this._injector.get(t.ICommandService),r=Math.min(Math.max(e,.1),4);return n.executeCommand(o.SetZoomRatioCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),zoomRatio:r}),this}getZoom(){return this._worksheet.getZoomRatio()}getVisibleRange(){let e=this._workbook.getUnitId(),t=this._injector.get(i.IRenderManagerService).getRenderUnitById(e);if(!t)return null;let n=t.with(o.SheetSkeletonManagerService).getCurrentSkeleton();return n?n.getVisibleRangeByViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN):null}getVisibleRangesOfAllViewports(){let e=this._workbook.getUnitId(),t=this._injector.get(i.IRenderManagerService).getRenderUnitById(e);if(!t)return null;let n=t.with(o.SheetSkeletonManagerService).getCurrentSkeleton();return n?n.getVisibleRanges():null}scrollToCell(e,t,n){let r=this._workbook.getUnitId(),a=this._injector.get(i.IRenderManagerService).getRenderUnitById(r);return a&&(a==null?void 0:a.with(o.SheetsScrollRenderController)).scrollToCell(e,t,n),this}getScrollState(){let e={offsetX:0,offsetY:0,sheetViewStartColumn:0,sheetViewStartRow:0},t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),r=this._injector.get(i.IRenderManagerService).getRenderUnitById(t);return r&&r.with(o.SheetScrollManagerService).getScrollStateByParam({unitId:t,sheetId:n})||e}getSkeleton(){var e;let t=(e=this._injector.get(i.IRenderManagerService).getRenderUnitById(this._workbook.getUnitId()))==null?void 0:e.with(o.SheetSkeletonManagerService);return t==null?void 0:t.getSkeleton(this._worksheet.getSheetId())}autoResizeColumn(e){return this.autoResizeColumns(e,1)}autoResizeColumns(e,t){let n=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),i=[{startColumn:e,endColumn:e+t-1,startRow:0,endRow:this._worksheet.getRowCount()-1}];return this._commandService.syncExecuteCommand(o.SetWorksheetColAutoWidthCommand.id,{unitId:n,subUnitId:r,ranges:i}),this}setColumnAutoWidth(e,t){return this.autoResizeColumns(e,t)}autoResizeRows(e,t){let n=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),i=[{startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(a.SetWorksheetRowIsAutoHeightCommand.id,{unitId:n,subUnitId:r,ranges:i}),this}customizeColumnHeader(e){var t;let n=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),a=this._injector.get(i.IRenderManagerService).getRenderUnitById(n);if(a&&(t=e.headerStyle)!=null&&t.size){var s;a.with(o.SheetSkeletonManagerService).setColumnHeaderSize(a,r,(s=e.headerStyle)==null?void 0:s.size)}this._getSheetRenderComponent(n,o.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e,r)}customizeRowHeader(e){var t;let n=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),a=this._injector.get(i.IRenderManagerService).getRenderUnitById(n);if(a&&(t=e.headerStyle)!=null&&t.size){var s;a.with(o.SheetSkeletonManagerService).setRowHeaderSize(a,r,(s=e.headerStyle)==null?void 0:s.size)}this._getSheetRenderComponent(n,o.SHEET_VIEW_KEY.ROW).setCustomHeader(e,r)}setColumnHeaderHeight(e){let t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return this._commandService.executeCommand(o.SetColumnHeaderHeightCommand.id,{unitId:t,subUnitId:n,size:e}),this}setRowHeaderWidth(e){let t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return this._commandService.executeCommand(o.SetRowHeaderWidthCommand.id,{unitId:t,subUnitId:n,size:e}),this}_getSheetRenderComponent(e,t){let n=this._injector.get(i.IRenderManagerService).getRenderUnitById(e);if(!n)throw Error(`Render Unit with unitId ${e} not found`);let{components:r}=n,a=r.get(t);if(!a)throw Error(`Render component not found`);return a}};l.FWorksheet.extend(f);var p=class extends n.FEventName{get BeforeClipboardChange(){return`BeforeClipboardChange`}get ClipboardChanged(){return`ClipboardChanged`}get BeforeClipboardPaste(){return`BeforeClipboardPaste`}get ClipboardPasted(){return`ClipboardPasted`}get BeforeSheetEditStart(){return`BeforeSheetEditStart`}get SheetEditStarted(){return`SheetEditStarted`}get SheetEditChanging(){return`SheetEditChanging`}get BeforeSheetEditEnd(){return`BeforeSheetEditEnd`}get SheetEditEnded(){return`SheetEditEnded`}get CellClicked(){return`CellClicked`}get CellHover(){return`CellHover`}get CellPointerDown(){return`CellPointerDown`}get CellPointerUp(){return`CellPointerUp`}get CellPointerMove(){return`CellPointerMove`}get DragOver(){return`DragOver`}get Drop(){return`Drop`}get Scroll(){return`Scroll`}get SelectionMoveStart(){return`SelectionMoveStart`}get SelectionChanged(){return`SelectionChanged`}get SelectionMoving(){return`SelectionMoving`}get SelectionMoveEnd(){return`SelectionMoveEnd`}get RowHeaderClick(){return`RowHeaderClick`}get RowHeaderPointerDown(){return`RowHeaderPointerDown`}get RowHeaderPointerUp(){return`RowHeaderPointerUp`}get RowHeaderHover(){return`RowHeaderHover`}get ColumnHeaderClick(){return`ColumnHeaderClick`}get ColumnHeaderPointerDown(){return`ColumnHeaderPointerDown`}get ColumnHeaderPointerUp(){return`ColumnHeaderPointerUp`}get ColumnHeaderHover(){return`ColumnHeaderHover`}get SheetSkeletonChanged(){return`SheetSkeletonChanged`}get BeforeSheetZoomChange(){return`BeforeSheetZoomChange`}get SheetZoomChanged(){return`SheetZoomChanged`}};n.FEventName.extend(p);var m=class extends n.FEnum{get SHEET_VIEWPORT_KEY(){return i.SHEET_VIEWPORT_KEY}};n.FEnum.extend(m);var h=class extends l.FRange{getCell(){var e;let n=this._injector.get(i.IRenderManagerService),r=this._injector.get(t.ILogService),a=this._workbook.getUnitId(),s=this._worksheet.getSheetId(),c=n.getRenderUnitById(a),l=c==null||(e=c.with(o.SheetSkeletonManagerService).getSkeletonParam(s))==null?void 0:e.skeleton;if(!l)throw r.error("[Facade]: `FRange.getCell` can only be called in current worksheet"),Error("`FRange.getCell` can only be called in current worksheet");return l.getCellWithCoordByIndex(this._range.startRow,this._range.startColumn)}getCellRect(){let{startX:e,startY:t,endX:n,endY:r}=this.getCell(),i={x:e,y:t,width:n-e,height:r-t,top:t,left:e,bottom:r,right:n};return{...i,toJSON:()=>JSON.stringify(i)}}generateHTML(){var e;let t=this._injector.get(o.ISheetClipboardService).generateCopyContent(this._workbook.getUnitId(),this._worksheet.getSheetId(),this._range);return(e=t==null?void 0:t.html)==null?``:e}attachPopup(e){var t,n,r;e.direction=(t=e.direction)==null?`horizontal`:t,e.extraProps=(n=e.extraProps)==null?{}:n,e.offset=(r=e.offset)==null?[0,0]:r;let{key:i,disposableCollection:a}=g(e,this._injector.get(s.ComponentManager)),c=this._injector.get(o.SheetCanvasPopManagerService).attachPopupToCell(this._range.startRow,this._range.startColumn,{...e,componentKey:i},this.getUnitId(),this._worksheet.getSheetId());return c?(a.add(c),a):(a.dispose(),null)}attachAlertPopup(e){let t=this._injector.get(o.CellAlertManagerService),n={workbook:this._workbook,worksheet:this._worksheet,row:this._range.startRow,col:this._range.startColumn,unitId:this.getUnitId(),subUnitId:this._worksheet.getSheetId()};return t.showAlert({...e,location:n}),{dispose:()=>{t.removeAlert(e.key)}}}attachRangePopup(e){var t,n,r;e.direction=(t=e.direction)==null?`top-center`:t,e.extraProps=(n=e.extraProps)==null?{}:n,e.offset=(r=e.offset)==null?[0,0]:r;let{key:i,disposableCollection:a}=g(e,this._injector.get(s.ComponentManager)),c=this._injector.get(o.SheetCanvasPopManagerService).attachRangePopup(this._range,{...e,componentKey:i},this.getUnitId(),this._worksheet.getSheetId());return c?(a.add(c),a):(a.dispose(),null)}highlight(e,n){let r=this._injector.get(o.IMarkSelectionService),i=r.addShape({range:this._range,style:e,primary:n});if(!i)throw Error(`Failed to highlight current range`);return(0,t.toDisposable)(()=>{r.removeShape(i)})}showDropdown(e){return this._injector.get(o.ISheetCellDropdownManagerService).showDropdown(e)}};l.FRange.extend(h);function g(e,n){let{componentKey:r,isVue3:i}=e,a,o=new t.DisposableCollection;return typeof r==`string`?a=r:(a=`External_${(0,t.generateRandomId)(6)}`,o.add(n.register(a,r,{framework:i?`vue3`:`react`}))),{key:a,disposableCollection:o}}e.FSheetsUIEnumMixin=m,e.transformComponentKey=g});
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@univerjs/core"),require("@univerjs/core/facade"),require("@univerjs/docs"),require("@univerjs/engine-render"),require("@univerjs/sheets"),require("@univerjs/sheets-ui"),require("@univerjs/ui"),require("rxjs"),require("@univerjs/sheets/facade")):typeof define==`function`&&define.amd?define([`exports`,`@univerjs/core`,`@univerjs/core/facade`,`@univerjs/docs`,`@univerjs/engine-render`,`@univerjs/sheets`,`@univerjs/sheets-ui`,`@univerjs/ui`,`rxjs`,`@univerjs/sheets/facade`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsUiFacade={},e.UniverCore,e.UniverCoreFacade,e.UniverDocs,e.UniverEngineRender,e.UniverSheets,e.UniverSheetsUi,e.UniverUi,e.rxjs,e.UniverSheetsFacade))})(this,function(e,t,n,r,i,a,o,s,c,l){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var u=class extends n.FUniver{_initSheetUIEvent(e){let n=e.get(t.ICommandService);this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetEditStart,()=>n.beforeCommandExecuted(n=>{if(n.id!==o.SetCellEditVisibleOperation.id)return;let r=this.getActiveSheet();if(!r)return;let{workbook:i,worksheet:a}=r,s=e.get(o.IEditorBridgeService),{visible:c,keycode:l,eventType:u}=n.params,d=s.getEditLocation();if(!c)return;let f={row:d.row,column:d.column,eventType:u,keycode:l,workbook:i,worksheet:a};if(this.fireEvent(this.Event.BeforeSheetEditStart,f),f.cancel)throw new t.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetEditEnd,()=>n.beforeCommandExecuted(n=>{if(n.id!==o.SetCellEditVisibleOperation.id)return;let r=this.getActiveSheet();if(!r)return;let{workbook:i,worksheet:a}=r,c=e.get(o.IEditorBridgeService),l=e.get(t.IUniverInstanceService),{visible:u,keycode:d,eventType:f}=n.params,p=c.getEditLocation();if(u)return;let m={row:p.row,column:p.column,eventType:f,keycode:d,workbook:i,worksheet:a,value:t.RichTextValue.create(l.getUnit(t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isConfirm:d!==s.KeyCode.ESC};if(this.fireEvent(this.Event.BeforeSheetEditEnd,m),m.cancel)throw new t.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetEditStarted,()=>n.onCommandExecuted(t=>{if(t.id!==o.SetCellEditVisibleOperation.id)return;let n=t.params,r=this.getSheetCommandTarget(n);if(!r)return;let{workbook:i,worksheet:a}=r,{visible:s,keycode:c,eventType:l}=n;if(!s)return;let u=e.get(o.IEditorBridgeService).getEditLocation(),d={row:u.row,column:u.column,eventType:l,keycode:c,workbook:i,worksheet:a};this.fireEvent(this.Event.SheetEditStarted,d)}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetEditEnded,()=>n.onCommandExecuted(t=>{if(t.id!==o.SetCellEditVisibleOperation.id)return;let n=t.params,r=this.getSheetCommandTarget(n);if(!r)return;let{workbook:i,worksheet:a}=r,{visible:c,keycode:l,eventType:u}=n;if(c)return;let d=e.get(o.IEditorBridgeService).getEditLocation(),f={row:d.row,column:d.column,eventType:u,keycode:l,workbook:i,worksheet:a,isConfirm:l!==s.KeyCode.ESC};this.fireEvent(this.Event.SheetEditEnded,f)}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetEditChanging,()=>n.onCommandExecuted(n=>{if(n.id!==r.RichTextEditingMutation.id)return;let i=n.params,a=this.getActiveSheet();if(!a)return;let{workbook:s,worksheet:c}=a,l=e.get(o.IEditorBridgeService),u=e.get(t.IUniverInstanceService);if(!l.isVisible().visible)return;let{unitId:d}=i;if(d===t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY){let{row:e,column:n}=l.getEditLocation(),r={workbook:s,worksheet:c,row:e,column:n,value:t.RichTextValue.create(u.getUnit(t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot())};this.fireEvent(this.Event.SheetEditChanging,r)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetZoomChange,()=>n.beforeCommandExecuted(e=>{if(e.id!==o.SetZoomRatioCommand.id)return;let n=e.params,r=this.getSheetCommandTarget(n);if(!r)return;let{workbook:i,worksheet:a}=r,{zoomRatio:s}=n,c={workbook:i,worksheet:a,zoom:s};if(this.fireEvent(this.Event.BeforeSheetZoomChange,c),c.cancel)throw new t.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetZoomChanged,()=>n.onCommandExecuted(e=>{if(e.id!==o.SetZoomRatioCommand.id)return;let t=e.params,n=this.getSheetCommandTarget(t);if(!n)return;let{workbook:r,worksheet:i}=n,{zoomRatio:a}=t,s={workbook:r,worksheet:i,zoom:a};this.fireEvent(this.Event.SheetZoomChanged,s)})))}_initObserverListener(e){let n=e.get(i.IRenderManagerService),r=e.get(t.LifecycleService),s=new t.DisposableCollection;this.disposeWithMe(r.lifecycle$.subscribe(n=>{if(n!==t.LifecycleStages.Rendered)return;let r=e.get(o.HoverManagerService),i=e.get(o.DragManagerService);r&&(s.dispose(),s.add(this.registerEventHandler(this.Event.CellClicked,()=>{var e;return(e=r.currentClickedCell$)==null?void 0:e.pipe((0,c.filter)(e=>!!e)).subscribe(e=>{let{unitId:t,subUnitId:n,row:r,col:i}=e.location,a=this.getSheetCommandTarget({unitId:t,subUnitId:n});if(!a)return;let{workbook:o,worksheet:s}=a,c={workbook:o,worksheet:s,row:r,column:i};this.fireEvent(this.Event.CellClicked,c)})})),s.add(this.registerEventHandler(this.Event.CellHover,()=>{var e;return(e=r.currentRichText$)==null?void 0:e.pipe((0,c.filter)(e=>!!e)).subscribe(e=>{let{unitId:t,subUnitId:n,row:r,col:i}=e,a=this.getSheetCommandTarget({unitId:t,subUnitId:n});if(!a)return;let{workbook:o,worksheet:s}=a,c={workbook:o,worksheet:s,row:r,column:i};this.fireEvent(this.Event.CellHover,c)})})),s.add(this.registerEventHandler(this.Event.CellPointerDown,()=>{var e;return(e=r.currentPointerDownCell$)==null?void 0:e.pipe((0,c.filter)(e=>!!e)).subscribe(e=>{let{unitId:t,subUnitId:n,row:r,col:i}=e,a=this.getSheetCommandTarget({unitId:t,subUnitId:n});if(!a)return;let{workbook:o,worksheet:s}=a,c={workbook:o,worksheet:s,row:r,column:i};this.fireEvent(this.Event.CellPointerDown,c)})})),s.add(this.registerEventHandler(this.Event.CellPointerUp,()=>{var e;return(e=r.currentPointerUpCell$)==null?void 0:e.pipe((0,c.filter)(e=>!!e)).subscribe(e=>{let{unitId:t,subUnitId:n,row:r,col:i}=e,a=this.getSheetCommandTarget({unitId:t,subUnitId:n});if(!a)return;let{workbook:o,worksheet:s}=a,c={workbook:o,worksheet:s,row:r,column:i};this.fireEvent(this.Event.CellPointerUp,c)})})),s.add(this.registerEventHandler(this.Event.CellPointerMove,()=>{var e;return(e=r.currentCellPosWithEvent$)==null?void 0:e.pipe((0,c.filter)(e=>!!e)).subscribe(e=>{let{unitId:t,subUnitId:n,row:r,col:i}=e,a=this.getSheetCommandTarget({unitId:t,subUnitId:n});if(!a)return;let{workbook:o,worksheet:s}=a,c={workbook:o,worksheet:s,row:r,column:i};this.fireEvent(this.Event.CellPointerMove,c)})})),s.add(this.registerEventHandler(this.Event.DragOver,()=>{var e;return(e=i.currentCell$)==null?void 0:e.pipe((0,c.filter)(e=>!!e)).subscribe(e=>{let{unitId:t,subUnitId:n,row:r,col:i}=e.location,a=this.getSheetCommandTarget({unitId:t,subUnitId:n});if(!a)return;let{workbook:o,worksheet:s}=a,c={workbook:o,worksheet:s,...e,row:r,column:i};this.fireEvent(this.Event.DragOver,c)})})),s.add(this.registerEventHandler(this.Event.Drop,()=>{var e;return(e=i.endCell$)==null?void 0:e.pipe((0,c.filter)(e=>!!e)).subscribe(e=>{let{unitId:t,subUnitId:n,row:r,col:i}=e.location,a=this.getSheetCommandTarget({unitId:t,subUnitId:n});if(!a)return;let{workbook:o,worksheet:s}=a,c={workbook:o,worksheet:s,...e,row:r,column:i};this.fireEvent(this.Event.Drop,c)})})),s.add(this.registerEventHandler(this.Event.RowHeaderClick,()=>{var e;return(e=r.currentRowHeaderClick$)==null?void 0:e.pipe((0,c.filter)(e=>!!e)).subscribe(e=>{let{unitId:t,subUnitId:n,index:r}=e,i=this.getSheetCommandTarget({unitId:t,subUnitId:n});if(!i)return;let{workbook:a,worksheet:o}=i,s={workbook:a,worksheet:o,row:r};this.fireEvent(this.Event.RowHeaderClick,s)})})),s.add(this.registerEventHandler(this.Event.RowHeaderPointerDown,()=>{var e;return(e=r.currentRowHeaderPointerDown$)==null?void 0:e.pipe((0,c.filter)(e=>!!e)).subscribe(e=>{let{unitId:t,subUnitId:n,index:r}=e,i=this.getSheetCommandTarget({unitId:t,subUnitId:n});if(!i)return;let{workbook:a,worksheet:o}=i,s={workbook:a,worksheet:o,row:r};this.fireEvent(this.Event.RowHeaderPointerDown,s)})})),s.add(this.registerEventHandler(this.Event.RowHeaderPointerUp,()=>{var e;return(e=r.currentRowHeaderPointerUp$)==null?void 0:e.pipe((0,c.filter)(e=>!!e)).subscribe(e=>{let{unitId:t,subUnitId:n,index:r}=e,i=this.getSheetCommandTarget({unitId:t,subUnitId:n});if(!i)return;let{workbook:a,worksheet:o}=i,s={workbook:a,worksheet:o,row:r};this.fireEvent(this.Event.RowHeaderPointerUp,s)})})),s.add(this.registerEventHandler(this.Event.RowHeaderHover,()=>{var e;return(e=r.currentHoveredRowHeader$)==null?void 0:e.pipe((0,c.filter)(e=>!!e)).subscribe(e=>{let{unitId:t,subUnitId:n,index:r}=e,i=this.getSheetCommandTarget({unitId:t,subUnitId:n});if(!i)return;let{workbook:a,worksheet:o}=i,s={workbook:a,worksheet:o,row:r};this.fireEvent(this.Event.RowHeaderHover,s)})})),s.add(this.registerEventHandler(this.Event.ColumnHeaderClick,()=>{var e;return(e=r.currentColHeaderClick$)==null?void 0:e.pipe((0,c.filter)(e=>!!e)).subscribe(e=>{let{unitId:t,subUnitId:n,index:r}=e,i=this.getSheetCommandTarget({unitId:t,subUnitId:n});if(!i)return;let{workbook:a,worksheet:o}=i,s={workbook:a,worksheet:o,column:r};this.fireEvent(this.Event.ColumnHeaderClick,s)})})),s.add(this.registerEventHandler(this.Event.ColumnHeaderPointerDown,()=>{var e;return(e=r.currentColHeaderPointerDown$)==null?void 0:e.pipe((0,c.filter)(e=>!!e)).subscribe(e=>{let{unitId:t,subUnitId:n,index:r}=e,i=this.getSheetCommandTarget({unitId:t,subUnitId:n});if(!i)return;let{workbook:a,worksheet:o}=i,s={workbook:a,worksheet:o,column:r};this.fireEvent(this.Event.ColumnHeaderPointerDown,s)})})),s.add(this.registerEventHandler(this.Event.ColumnHeaderPointerUp,()=>{var e;return(e=r.currentColHeaderPointerUp$)==null?void 0:e.pipe((0,c.filter)(e=>!!e)).subscribe(e=>{let{unitId:t,subUnitId:n,index:r}=e,i=this.getSheetCommandTarget({unitId:t,subUnitId:n});if(!i)return;let{workbook:a,worksheet:o}=i,s={workbook:a,worksheet:o,column:r};this.fireEvent(this.Event.ColumnHeaderPointerUp,s)})})),s.add(this.registerEventHandler(this.Event.ColumnHeaderHover,()=>{var e;return(e=r.currentHoveredColHeader$)==null?void 0:e.pipe((0,c.filter)(e=>!!e)).subscribe(e=>{let{unitId:t,subUnitId:n,index:r}=e,i=this.getSheetCommandTarget({unitId:t,subUnitId:n});if(!i)return;let{workbook:a,worksheet:o}=i,s={workbook:a,worksheet:o,column:r};this.fireEvent(this.Event.ColumnHeaderHover,s)})})),this.disposeWithMe(s))}));let l,u=(0,c.combineLatest)([n.created$,r.lifecycle$]),d=new t.DisposableCollection;this.disposeWithMe(u.subscribe(([e,n])=>{if(e.type===t.UniverInstanceType.UNIVER_SHEET&&(l=e),n<=t.LifecycleStages.Rendered||!l)return;let r=this.getWorkbook(l.unitId);if(!r)return;d.dispose();let i=l.with(o.SheetScrollManagerService),s=this._tryGetRenderDependency(l,a.SheetsSelectionsService);d.add(this.registerEventHandler(this.Event.Scroll,()=>i.validViewportScrollInfo$.subscribe(e=>{if(!e)return;let t={workbook:r,worksheet:r.getActiveSheet(),...e};this.fireEvent(this.Event.Scroll,t)}))),s&&(d.add(this.registerEventHandler(this.Event.SelectionMoveStart,()=>s.selectionMoveStart$.subscribe(e=>{var t;let n={workbook:r,worksheet:r.getActiveSheet(),selections:(t=e==null?void 0:e.map(e=>e.range))==null?[]:t};this.fireEvent(this.Event.SelectionMoveStart,n)}))),d.add(this.registerEventHandler(this.Event.SelectionMoving,()=>s.selectionMoving$.subscribe(e=>{var t;let n={workbook:r,worksheet:r.getActiveSheet(),selections:(t=e==null?void 0:e.map(e=>e.range))==null?[]:t};this.fireEvent(this.Event.SelectionMoving,n)}))),d.add(this.registerEventHandler(this.Event.SelectionMoveEnd,()=>s.selectionMoveEnd$.subscribe(e=>{var t;let n={workbook:r,worksheet:r.getActiveSheet(),selections:(t=e==null?void 0:e.map(e=>e.range))==null?[]:t};this.fireEvent(this.Event.SelectionMoveEnd,n)}))),d.add(this.registerEventHandler(this.Event.SelectionChanged,()=>s.selectionChanged$.subscribe(e=>{var t;let n={workbook:r,worksheet:r.getActiveSheet(),selections:(t=e==null?void 0:e.map(e=>e.range))==null?[]:t};this.fireEvent(this.Event.SelectionChanged,n)})))),l=null,this.disposeWithMe(d)}))}_tryGetRenderDependency(e,t){try{return e.with(t)}catch(e){if(e instanceof Error&&(e.message.includes(`DependencyNotFoundError`)||e.message.includes(`Cannot find`)))return null;throw e}}_initialize(e){this._initSheetUIEvent(e),this._initObserverListener(e);let n=e.get(t.ICommandService);this.disposeWithMe(this.registerEventHandler(this.Event.BeforeClipboardChange,()=>n.beforeCommandExecuted(e=>{switch(e.id){case s.CopyCommand.id:case s.CutCommand.id:this._beforeClipboardChange();break}}))),this.disposeWithMe(this.registerEventHandler(this.Event.ClipboardChanged,()=>n.onCommandExecuted(e=>{switch(e.id){case s.CopyCommand.id:case s.CutCommand.id:this._clipboardChanged();break}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeClipboardPaste,()=>n.beforeCommandExecuted(e=>{switch(e.id){case o.SheetPasteShortKeyCommand.id:this._beforeClipboardPaste(e.params);break;case s.PasteCommand.id:this._beforeClipboardPasteAsync();break}}))),this.disposeWithMe(this.registerEventHandler(this.Event.ClipboardPasted,()=>n.onCommandExecuted(e=>{switch(e.id){case o.SheetPasteShortKeyCommand.id:this._clipboardPaste(e.params);break;case s.PasteCommand.id:this._clipboardPasteAsync();break}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetSkeletonChanged,()=>n.onCommandExecuted(e=>{if(a.COMMAND_LISTENER_SKELETON_CHANGE.indexOf(e.id)>-1){let t=this.getActiveSheet();if(!t)return;let n=(0,a.getSkeletonChangedEffectedRange)(e,t.worksheet.getMaxColumns()).map(e=>{var t;return(t=this.getWorkbook(e.unitId))==null||(t=t.getSheetBySheetId(e.subUnitId))==null?void 0:t.getRange(e.range)}).filter(Boolean);if(!n.length)return;let r={workbook:t.workbook,worksheet:t.worksheet,payload:e,skeleton:t.worksheet.getSkeleton(),effectedRanges:n};this.fireEvent(this.Event.SheetSkeletonChanged,r)}})))}_generateClipboardCopyParam(){let e=this.getActiveWorkbook(),t=e==null?void 0:e.getActiveSheet(),n=e==null?void 0:e.getActiveRange();if(!e||!t||!n)return;let r=this._injector.get(o.ISheetClipboardService).generateCopyContent(e.getId(),t.getSheetId(),n.getRange());if(!r)return;let{html:i,plain:a}=r;return{workbook:e,worksheet:t,text:a,html:i,fromSheet:t,fromRange:n}}_beforeClipboardChange(){let e=this._generateClipboardCopyParam();if(e&&(this.fireEvent(this.Event.BeforeClipboardChange,e),e.cancel))throw new t.CanceledError}_clipboardChanged(){let e=this._generateClipboardCopyParam();e&&this.fireEvent(this.Event.ClipboardChanged,e)}_generateClipboardPasteParam(e){if(!e)return;let{htmlContent:t,textContent:n}=e,r=this.getActiveWorkbook(),i=r==null?void 0:r.getActiveSheet();if(!(!r||!i))return{workbook:r,worksheet:i,text:n,html:t}}async _generateClipboardPasteParamAsync(){let e=this.getActiveWorkbook(),t=e==null?void 0:e.getActiveSheet();if(!e||!t)return;let n=(await this._injector.get(s.IClipboardInterfaceService).read())[0],r;if(n){let i=n.types;r={workbook:e,worksheet:t,text:i.indexOf(s.PLAIN_TEXT_CLIPBOARD_MIME_TYPE)===-1?``:await n.getType(s.PLAIN_TEXT_CLIPBOARD_MIME_TYPE).then(e=>e&&e.text()),html:i.indexOf(s.HTML_CLIPBOARD_MIME_TYPE)===-1?``:await n.getType(s.HTML_CLIPBOARD_MIME_TYPE).then(e=>e&&e.text())}}return r}_beforeClipboardPaste(e){let n=this._generateClipboardPasteParam(e);if(n&&(this.fireEvent(this.Event.BeforeClipboardPaste,n),n.cancel))throw new t.CanceledError}_clipboardPaste(e){let n=this._generateClipboardPasteParam(e);if(n&&(this.fireEvent(this.Event.ClipboardPasted,n),n.cancel))throw new t.CanceledError}async _beforeClipboardPasteAsync(){if(!(0,s.supportClipboardAPI)()){this._injector.get(t.ILogService).warn(`[Facade]: The navigator object only supports the browser environment`);return}let e=await this._generateClipboardPasteParamAsync();if(e&&(this.fireEvent(this.Event.BeforeClipboardPaste,e),e.cancel))throw new t.CanceledError}async _clipboardPasteAsync(){if(!(0,s.supportClipboardAPI)()){this._injector.get(t.ILogService).warn(`[Facade]: The navigator object only supports the browser environment`);return}let e=await this._generateClipboardPasteParamAsync();if(e&&(this.fireEvent(this.Event.ClipboardPasted,e),e.cancel))throw new t.CanceledError}registerSheetRowHeaderExtension(e,...n){let r=this._getSheetRenderComponent(e,o.SHEET_VIEW_KEY.ROW),i=r.register(...n);return(0,t.toDisposable)(()=>{i.dispose(),r.makeDirty(!0)})}registerSheetColumnHeaderExtension(e,...n){let r=this._getSheetRenderComponent(e,o.SHEET_VIEW_KEY.COLUMN),i=r.register(...n);return(0,t.toDisposable)(()=>{i.dispose(),r.makeDirty(!0)})}registerSheetMainExtension(e,...n){let r=this._getSheetRenderComponent(e,o.SHEET_VIEW_KEY.MAIN),i=r.register(...n);return(0,t.toDisposable)(()=>{i.dispose(),r.makeDirty(!0)})}registerCellCustomRender(e,n=t.InterceptorEffectEnum.Style,r){return this._injector.get(a.SheetInterceptorService).intercept(a.INTERCEPTOR_POINT.CELL_CONTENT,{effect:n,handler:(t,n,r)=>(t&&!t.customRender&&e&&(t.customRender=[...e]),r(t)),priority:r})}_getSheetRenderComponent(e,t){let n=this._injector.get(i.IRenderManagerService).getRenderUnitById(e);if(!n)throw Error(`Render Unit with unitId ${e} not found`);let{components:r}=n,a=r.get(t);if(!a)throw Error(`Render component not found`);return a}pasteIntoSheet(e,t,n){return this._commandService.executeCommand(o.SheetPasteShortKeyCommand.id,{htmlContent:e,textContent:t,files:n})}setProtectedRangeShadowStrategy(e){this._injector.get(o.SheetPermissionRenderManagerService).setProtectedRangeShadowStrategy(e)}getProtectedRangeShadowStrategy(){return this._injector.get(o.SheetPermissionRenderManagerService).getProtectedRangeShadowStrategy()}getProtectedRangeShadowStrategy$(){return this._injector.get(o.SheetPermissionRenderManagerService).getProtectedRangeShadowStrategy$()}setPermissionDialogVisible(e){this._injector.get(t.IPermissionService).setShowComponents(e)}};n.FUniver.extend(u);var d=class extends l.FWorkbook{openSiderbar(e){return this._logDeprecation(`openSiderbar`),this._injector.get(s.ISidebarService).open(e)}openDialog(e){this._logDeprecation(`openDialog`);let t=this._injector.get(s.IDialogService).open({...e,onClose:()=>{t.dispose()}});return t}customizeColumnHeader(e){let t=this._workbook.getUnitId();this._getSheetRenderComponent(t,o.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e)}customizeRowHeader(e){let t=this._workbook.getUnitId();this._getSheetRenderComponent(t,o.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}_getSheetRenderComponent(e,t){let n=this._injector.get(i.IRenderManagerService).getRenderUnitById(e);if(!n)throw Error(`Render Unit with unitId ${e} not found`);let{components:r}=n,a=r.get(t);if(!a)throw Error(`Render component not found`);return a}_logDeprecation(e){this._injector.get(t.ILogService).warn(`[FWorkbook]`,`${e} is deprecated. Please use the function of the same name on "FUniver".`)}startEditing(){let e=this._injector.get(t.ICommandService);return this._injector.get(o.IEditorBridgeService).isVisible().visible?!0:e.syncExecuteCommand(o.SetCellEditVisibleOperation.id,{eventType:i.DeviceInputEventType.Dblclick,unitId:this._workbook.getUnitId(),visible:!0})}async endEditingAsync(e=!0){let n=this._injector.get(t.ICommandService);return this._injector.get(o.IEditorBridgeService).isVisible().visible&&n.syncExecuteCommand(o.SetCellEditVisibleOperation.id,{eventType:i.DeviceInputEventType.Keyboard,keycode:e?s.KeyCode.ENTER:s.KeyCode.ESC,visible:!1,unitId:this._workbook.getUnitId()}),await(0,t.awaitTime)(0),!0}abortEditingAsync(){return this.endEditingAsync(!1)}isCellEditing(){return this._injector.get(o.IEditorBridgeService).isVisible().visible}getScrollStateBySheetId(e){let t=this._workbook.getUnitId(),n=this._injector.get(i.IRenderManagerService).getRenderUnitById(t);return n?n.with(o.SheetScrollManagerService).getScrollStateByParam({unitId:t,sheetId:e}):null}disableSelection(){let e=this._workbook.getUnitId(),t=this._injector.get(i.IRenderManagerService).getRenderUnitById(e);return t&&t.with(o.ISheetSelectionRenderService).disableSelection(),this}enableSelection(){let e=this._workbook.getUnitId(),t=this._injector.get(i.IRenderManagerService).getRenderUnitById(e);return t&&t.with(o.ISheetSelectionRenderService).enableSelection(),this}transparentSelection(){let e=this._workbook.getUnitId(),t=this._injector.get(i.IRenderManagerService).getRenderUnitById(e);return t&&t.with(o.ISheetSelectionRenderService).transparentSelection(),this}showSelection(){let e=this._workbook.getUnitId(),t=this._injector.get(i.IRenderManagerService).getRenderUnitById(e);return t&&t.with(o.ISheetSelectionRenderService).showSelection(),this}};l.FWorkbook.extend(d);var f=class extends l.FWorksheet{refreshCanvas(){let e=this._injector.get(i.IRenderManagerService),t=this._fWorkbook.id,n=e.getRenderUnitById(t);if(!n)throw Error(`Render Unit with unitId ${t} not found`);return n.with(o.SheetSkeletonManagerService).reCalculate(),n.components.forEach(e=>{var t;(t=e.makeDirty)==null||t.call(e)}),this}highlightRanges(e,n,r){let i=this._injector.get(o.IMarkSelectionService),a=[];for(let t of e){let e=t.getRange(),o=i.addShapeWithNoFresh({range:e,style:n,primary:r});o&&a.push(o)}if(i.refreshShapes(),a.length===0)throw Error(`Failed to highlight current range`);return(0,t.toDisposable)(()=>{a.forEach(e=>{i.removeShape(e)})})}zoom(e){let n=this._injector.get(t.ICommandService),r=Math.min(Math.max(e,.1),4);return n.executeCommand(o.SetZoomRatioCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),zoomRatio:r}),this}getZoom(){return this._worksheet.getZoomRatio()}getVisibleRange(){let e=this._workbook.getUnitId(),t=this._injector.get(i.IRenderManagerService).getRenderUnitById(e);if(!t)return null;let n=t.with(o.SheetSkeletonManagerService).getCurrentSkeleton();return n?n.getVisibleRangeByViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN):null}getVisibleRangesOfAllViewports(){let e=this._workbook.getUnitId(),t=this._injector.get(i.IRenderManagerService).getRenderUnitById(e);if(!t)return null;let n=t.with(o.SheetSkeletonManagerService).getCurrentSkeleton();return n?n.getVisibleRanges():null}scrollToCell(e,t,n){let r=this._workbook.getUnitId(),a=this._injector.get(i.IRenderManagerService).getRenderUnitById(r);return a&&(a==null?void 0:a.with(o.SheetsScrollRenderController)).scrollToCell(e,t,n),this}getScrollState(){let e={offsetX:0,offsetY:0,sheetViewStartColumn:0,sheetViewStartRow:0},t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),r=this._injector.get(i.IRenderManagerService).getRenderUnitById(t);return r&&r.with(o.SheetScrollManagerService).getScrollStateByParam({unitId:t,sheetId:n})||e}getSkeleton(){var e;let t=(e=this._injector.get(i.IRenderManagerService).getRenderUnitById(this._workbook.getUnitId()))==null?void 0:e.with(o.SheetSkeletonManagerService);return t==null?void 0:t.getSkeleton(this._worksheet.getSheetId())}autoResizeColumn(e){return this.autoResizeColumns(e,1)}autoResizeColumns(e,t){let n=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),i=[{startColumn:e,endColumn:e+t-1,startRow:0,endRow:this._worksheet.getRowCount()-1}];return this._commandService.syncExecuteCommand(o.SetWorksheetColAutoWidthCommand.id,{unitId:n,subUnitId:r,ranges:i}),this}setColumnAutoWidth(e,t){return this.autoResizeColumns(e,t)}autoResizeRows(e,t){let n=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),i=[{startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(a.SetWorksheetRowIsAutoHeightCommand.id,{unitId:n,subUnitId:r,ranges:i}),this}customizeColumnHeader(e){var t;let n=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),a=this._injector.get(i.IRenderManagerService).getRenderUnitById(n);if(a&&(t=e.headerStyle)!=null&&t.size){var s;a.with(o.SheetSkeletonManagerService).setColumnHeaderSize(a,r,(s=e.headerStyle)==null?void 0:s.size)}this._getSheetRenderComponent(n,o.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e,r)}customizeRowHeader(e){var t;let n=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),a=this._injector.get(i.IRenderManagerService).getRenderUnitById(n);if(a&&(t=e.headerStyle)!=null&&t.size){var s;a.with(o.SheetSkeletonManagerService).setRowHeaderSize(a,r,(s=e.headerStyle)==null?void 0:s.size)}this._getSheetRenderComponent(n,o.SHEET_VIEW_KEY.ROW).setCustomHeader(e,r)}setColumnHeaderHeight(e){let t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return this._commandService.executeCommand(o.SetColumnHeaderHeightCommand.id,{unitId:t,subUnitId:n,size:e}),this}setRowHeaderWidth(e){let t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return this._commandService.executeCommand(o.SetRowHeaderWidthCommand.id,{unitId:t,subUnitId:n,size:e}),this}_getSheetRenderComponent(e,t){let n=this._injector.get(i.IRenderManagerService).getRenderUnitById(e);if(!n)throw Error(`Render Unit with unitId ${e} not found`);let{components:r}=n,a=r.get(t);if(!a)throw Error(`Render component not found`);return a}};l.FWorksheet.extend(f);var p=class extends n.FEventName{get BeforeClipboardChange(){return`BeforeClipboardChange`}get ClipboardChanged(){return`ClipboardChanged`}get BeforeClipboardPaste(){return`BeforeClipboardPaste`}get ClipboardPasted(){return`ClipboardPasted`}get BeforeSheetEditStart(){return`BeforeSheetEditStart`}get SheetEditStarted(){return`SheetEditStarted`}get SheetEditChanging(){return`SheetEditChanging`}get BeforeSheetEditEnd(){return`BeforeSheetEditEnd`}get SheetEditEnded(){return`SheetEditEnded`}get CellClicked(){return`CellClicked`}get CellHover(){return`CellHover`}get CellPointerDown(){return`CellPointerDown`}get CellPointerUp(){return`CellPointerUp`}get CellPointerMove(){return`CellPointerMove`}get DragOver(){return`DragOver`}get Drop(){return`Drop`}get Scroll(){return`Scroll`}get SelectionMoveStart(){return`SelectionMoveStart`}get SelectionChanged(){return`SelectionChanged`}get SelectionMoving(){return`SelectionMoving`}get SelectionMoveEnd(){return`SelectionMoveEnd`}get RowHeaderClick(){return`RowHeaderClick`}get RowHeaderPointerDown(){return`RowHeaderPointerDown`}get RowHeaderPointerUp(){return`RowHeaderPointerUp`}get RowHeaderHover(){return`RowHeaderHover`}get ColumnHeaderClick(){return`ColumnHeaderClick`}get ColumnHeaderPointerDown(){return`ColumnHeaderPointerDown`}get ColumnHeaderPointerUp(){return`ColumnHeaderPointerUp`}get ColumnHeaderHover(){return`ColumnHeaderHover`}get SheetSkeletonChanged(){return`SheetSkeletonChanged`}get BeforeSheetZoomChange(){return`BeforeSheetZoomChange`}get SheetZoomChanged(){return`SheetZoomChanged`}};n.FEventName.extend(p);var m=class extends n.FEnum{get SHEET_VIEWPORT_KEY(){return i.SHEET_VIEWPORT_KEY}};n.FEnum.extend(m);var h=class extends l.FRange{getCell(){var e;let n=this._injector.get(i.IRenderManagerService),r=this._injector.get(t.ILogService),a=this._workbook.getUnitId(),s=this._worksheet.getSheetId(),c=n.getRenderUnitById(a),l=c==null||(e=c.with(o.SheetSkeletonManagerService).getSkeletonParam(s))==null?void 0:e.skeleton;if(!l)throw r.error("[Facade]: `FRange.getCell` can only be called in current worksheet"),Error("`FRange.getCell` can only be called in current worksheet");return l.getCellWithCoordByIndex(this._range.startRow,this._range.startColumn)}getCellRect(){let{startX:e,startY:t,endX:n,endY:r}=this.getCell(),i={x:e,y:t,width:n-e,height:r-t,top:t,left:e,bottom:r,right:n};return{...i,toJSON:()=>JSON.stringify(i)}}generateHTML(){var e;let t=this._injector.get(o.ISheetClipboardService).generateCopyContent(this._workbook.getUnitId(),this._worksheet.getSheetId(),this._range);return(e=t==null?void 0:t.html)==null?``:e}attachPopup(e){var t,n,r;e.direction=(t=e.direction)==null?`horizontal`:t,e.extraProps=(n=e.extraProps)==null?{}:n,e.offset=(r=e.offset)==null?[0,0]:r;let{key:i,disposableCollection:a}=g(e,this._injector.get(s.ComponentManager)),c=this._injector.get(o.SheetCanvasPopManagerService).attachPopupToCell(this._range.startRow,this._range.startColumn,{...e,componentKey:i},this.getUnitId(),this._worksheet.getSheetId());return c?(a.add(c),a):(a.dispose(),null)}attachAlertPopup(e){let t=this._injector.get(o.CellAlertManagerService),n={workbook:this._workbook,worksheet:this._worksheet,row:this._range.startRow,col:this._range.startColumn,unitId:this.getUnitId(),subUnitId:this._worksheet.getSheetId()};return t.showAlert({...e,location:n}),{dispose:()=>{t.removeAlert(e.key)}}}attachRangePopup(e){var t,n,r;e.direction=(t=e.direction)==null?`top-center`:t,e.extraProps=(n=e.extraProps)==null?{}:n,e.offset=(r=e.offset)==null?[0,0]:r;let{key:i,disposableCollection:a}=g(e,this._injector.get(s.ComponentManager)),c=this._injector.get(o.SheetCanvasPopManagerService).attachRangePopup(this._range,{...e,componentKey:i},this.getUnitId(),this._worksheet.getSheetId());return c?(a.add(c),a):(a.dispose(),null)}highlight(e,n){let r=this._injector.get(o.IMarkSelectionService),i=r.addShape({range:this._range,style:e,primary:n});if(!i)throw Error(`Failed to highlight current range`);return(0,t.toDisposable)(()=>{r.removeShape(i)})}showDropdown(e){return this._injector.get(o.ISheetCellDropdownManagerService).showDropdown(e)}};l.FRange.extend(h);function g(e,n){let{componentKey:r,framework:i}=e,a,o=new t.DisposableCollection;if(typeof r==`string`)a=r;else{let e=i==null?`react`:i;a=e===`web-component`?`external-${(0,t.generateRandomId)(6).toLowerCase()}`:`External_${(0,t.generateRandomId)(6)}`,o.add(n.register(a,r,{framework:e}))}return{key:a,disposableCollection:o}}e.FSheetsUIEnumMixin=m,e.transformComponentKey=g});