@univerjs/sheets-ui 1.0.0-beta.0 → 1.0.0-beta.2

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 (107) hide show
  1. package/lib/cjs/facade.js +5 -5
  2. package/lib/cjs/index.js +1535 -1542
  3. package/lib/cjs/locale/ar-SA.js +14 -133
  4. package/lib/cjs/locale/ca-ES.js +16 -135
  5. package/lib/cjs/locale/de-DE.js +14 -133
  6. package/lib/cjs/locale/en-US.js +14 -133
  7. package/lib/cjs/locale/es-ES.js +14 -133
  8. package/lib/cjs/locale/fa-IR.js +14 -133
  9. package/lib/cjs/locale/fr-FR.js +14 -133
  10. package/lib/cjs/locale/id-ID.js +14 -133
  11. package/lib/cjs/locale/it-IT.js +14 -133
  12. package/lib/cjs/locale/ja-JP.js +14 -133
  13. package/lib/cjs/locale/ko-KR.js +14 -133
  14. package/lib/cjs/locale/pl-PL.js +14 -133
  15. package/lib/cjs/locale/pt-BR.js +14 -133
  16. package/lib/cjs/locale/ru-RU.js +14 -133
  17. package/lib/cjs/locale/sk-SK.js +16 -135
  18. package/lib/cjs/locale/vi-VN.js +14 -133
  19. package/lib/cjs/locale/zh-CN.js +14 -133
  20. package/lib/cjs/locale/zh-HK.js +14 -133
  21. package/lib/cjs/locale/zh-TW.js +14 -133
  22. package/lib/es/facade.js +6 -6
  23. package/lib/es/index.js +1543 -1551
  24. package/lib/es/locale/ar-SA.js +14 -133
  25. package/lib/es/locale/ca-ES.js +16 -135
  26. package/lib/es/locale/de-DE.js +14 -133
  27. package/lib/es/locale/en-US.js +14 -133
  28. package/lib/es/locale/es-ES.js +14 -133
  29. package/lib/es/locale/fa-IR.js +14 -133
  30. package/lib/es/locale/fr-FR.js +14 -133
  31. package/lib/es/locale/id-ID.js +14 -133
  32. package/lib/es/locale/it-IT.js +14 -133
  33. package/lib/es/locale/ja-JP.js +14 -133
  34. package/lib/es/locale/ko-KR.js +14 -133
  35. package/lib/es/locale/pl-PL.js +14 -133
  36. package/lib/es/locale/pt-BR.js +14 -133
  37. package/lib/es/locale/ru-RU.js +14 -133
  38. package/lib/es/locale/sk-SK.js +16 -135
  39. package/lib/es/locale/vi-VN.js +14 -133
  40. package/lib/es/locale/zh-CN.js +14 -133
  41. package/lib/es/locale/zh-HK.js +14 -133
  42. package/lib/es/locale/zh-TW.js +14 -133
  43. package/lib/facade.js +6 -6
  44. package/lib/index.css +54 -87
  45. package/lib/index.js +1543 -1551
  46. package/lib/locale/ar-SA.js +14 -133
  47. package/lib/locale/ca-ES.js +16 -135
  48. package/lib/locale/de-DE.js +14 -133
  49. package/lib/locale/en-US.js +14 -133
  50. package/lib/locale/es-ES.js +14 -133
  51. package/lib/locale/fa-IR.js +14 -133
  52. package/lib/locale/fr-FR.js +14 -133
  53. package/lib/locale/id-ID.js +14 -133
  54. package/lib/locale/it-IT.js +14 -133
  55. package/lib/locale/ja-JP.js +14 -133
  56. package/lib/locale/ko-KR.js +14 -133
  57. package/lib/locale/pl-PL.js +14 -133
  58. package/lib/locale/pt-BR.js +14 -133
  59. package/lib/locale/ru-RU.js +14 -133
  60. package/lib/locale/sk-SK.js +16 -135
  61. package/lib/locale/vi-VN.js +14 -133
  62. package/lib/locale/zh-CN.js +14 -133
  63. package/lib/locale/zh-HK.js +14 -133
  64. package/lib/locale/zh-TW.js +14 -133
  65. package/lib/types/controllers/editor/data-sync.controller.d.ts +4 -2
  66. package/lib/types/controllers/editor/editing.render-controller.d.ts +5 -2
  67. package/lib/types/controllers/force-string-alert-render.controller.d.ts +9 -4
  68. package/lib/types/controllers/render-controllers/contextmenu.render-controller.d.ts +4 -0
  69. package/lib/types/controllers/render-controllers/header-menu.render-controller.d.ts +4 -4
  70. package/lib/types/controllers/render-controllers/scroll.render-controller.d.ts +6 -0
  71. package/lib/types/controllers/utils/range-tools.d.ts +2 -0
  72. package/lib/types/embed-tab-anchor.d.ts +2 -1
  73. package/lib/types/index.d.ts +1 -1
  74. package/lib/types/locale/en-US.d.ts +1 -106
  75. package/lib/types/menu/header-menu-shape.d.ts +3 -3
  76. package/lib/types/services/cell-alert-manager.service.d.ts +6 -0
  77. package/lib/types/services/cell-popup-manager.service.d.ts +6 -7
  78. package/lib/types/services/editor-bridge.service.d.ts +3 -0
  79. package/lib/types/services/sheet-embed-integration.service.d.ts +5 -0
  80. package/lib/types/services/sheet-embed-runtime.service.d.ts +2 -1
  81. package/lib/types/views/CellPopup.d.ts +2 -1
  82. package/lib/types/views/hook.d.ts +0 -4
  83. package/lib/types/views/status-bar/CopyableStatisticItem.d.ts +0 -2
  84. package/lib/types/views/status-bar/StatusBar.d.ts +1 -1
  85. package/lib/umd/facade.js +1 -1
  86. package/lib/umd/index.js +14 -11
  87. package/lib/umd/locale/ar-SA.js +1 -1
  88. package/lib/umd/locale/ca-ES.js +1 -1
  89. package/lib/umd/locale/de-DE.js +1 -1
  90. package/lib/umd/locale/en-US.js +1 -1
  91. package/lib/umd/locale/es-ES.js +1 -1
  92. package/lib/umd/locale/fa-IR.js +1 -1
  93. package/lib/umd/locale/fr-FR.js +1 -1
  94. package/lib/umd/locale/id-ID.js +1 -1
  95. package/lib/umd/locale/it-IT.js +1 -1
  96. package/lib/umd/locale/ja-JP.js +1 -1
  97. package/lib/umd/locale/ko-KR.js +1 -1
  98. package/lib/umd/locale/pl-PL.js +1 -1
  99. package/lib/umd/locale/pt-BR.js +1 -1
  100. package/lib/umd/locale/ru-RU.js +1 -1
  101. package/lib/umd/locale/sk-SK.js +1 -1
  102. package/lib/umd/locale/vi-VN.js +1 -1
  103. package/lib/umd/locale/zh-CN.js +1 -1
  104. package/lib/umd/locale/zh-HK.js +1 -1
  105. package/lib/umd/locale/zh-TW.js +1 -1
  106. package/package.json +14 -14
  107. package/lib/types/services/sheet-loading-render.service.d.ts +0 -65
@@ -16,8 +16,6 @@
16
16
  declare const locale: {
17
17
  'sheets-ui': {
18
18
  toolbar: {
19
- undo: string;
20
- redo: string;
21
19
  formatPainter: string;
22
20
  font: string;
23
21
  fontSize: string;
@@ -26,44 +24,33 @@ declare const locale: {
26
24
  bold: string;
27
25
  italic: string;
28
26
  strikethrough: string;
29
- subscript: string;
30
- superscript: string;
31
27
  underline: string;
32
28
  textColor: {
33
29
  main: string;
34
- right: string;
35
30
  };
36
31
  resetColor: string;
37
32
  fillColor: {
38
33
  main: string;
39
- right: string;
40
34
  };
41
35
  border: {
42
36
  main: string;
43
- right: string;
44
37
  };
45
38
  mergeCell: {
46
39
  main: string;
47
- right: string;
48
40
  };
49
41
  horizontalAlignMode: {
50
42
  main: string;
51
- right: string;
52
43
  };
53
44
  verticalAlignMode: {
54
45
  main: string;
55
- right: string;
56
46
  };
57
47
  textWrapMode: {
58
48
  main: string;
59
- right: string;
60
49
  };
61
50
  shrinkToFit: string;
62
51
  textRotateMode: {
63
52
  main: string;
64
- right: string;
65
53
  };
66
- more: string;
67
54
  toggleGridlines: string;
68
55
  fullscreen: string;
69
56
  };
@@ -78,11 +65,6 @@ declare const locale: {
78
65
  button: {
79
66
  confirm: string;
80
67
  cancel: string;
81
- close: string;
82
- insert: string;
83
- prevPage: string;
84
- nextPage: string;
85
- total: string;
86
68
  };
87
69
  borderLine: {
88
70
  borderTop: string;
@@ -100,17 +82,12 @@ declare const locale: {
100
82
  borderTlbrTlbcTlmr: string;
101
83
  borderBlTr: string;
102
84
  borderMltrBctr: string;
103
- borderColor: string;
104
- borderSize: string;
105
- borderType: string;
106
85
  };
107
86
  merge: {
108
87
  all: string;
109
88
  vertical: string;
110
89
  horizontal: string;
111
90
  cancel: string;
112
- overlappingError: string;
113
- partiallyError: string;
114
91
  confirm: {
115
92
  warning: string;
116
93
  dismantleMergeCellWarning: string;
@@ -143,17 +120,6 @@ declare const locale: {
143
120
  changeColor: string;
144
121
  hide: string;
145
122
  unhide: string;
146
- moveLeft: string;
147
- moveRight: string;
148
- resetColor: string;
149
- cancelText: string;
150
- chooseText: string;
151
- tipNameRepeat: string;
152
- noMoreSheet: string;
153
- confirmDelete: string;
154
- redoDelete: string;
155
- noHide: string;
156
- chartEditNoOpt: string;
157
123
  sheetNameErrorTitle: string;
158
124
  sheetNameSpecCharError: string;
159
125
  sheetNameCannotIsEmptyError: string;
@@ -191,16 +157,6 @@ declare const locale: {
191
157
  insertColsLeftSuffix: string;
192
158
  insertColsRightSuffix: string;
193
159
  delete: string;
194
- deleteCell: string;
195
- insertCell: string;
196
- deleteSelected: string;
197
- hide: string;
198
- hideSelected: string;
199
- showHide: string;
200
- toTopAdd: string;
201
- toBottomAdd: string;
202
- toLeftAdd: string;
203
- toRightAdd: string;
204
160
  deleteSelectedRow: string;
205
161
  deleteSelectedColumn: string;
206
162
  hideSelectedRow: string;
@@ -213,21 +169,10 @@ declare const locale: {
213
169
  moveUp: string;
214
170
  moveRight: string;
215
171
  moveDown: string;
216
- add: string;
217
- row: string;
218
- column: string;
219
- confirm: string;
220
172
  clearSelection: string;
221
173
  clearContent: string;
222
174
  clearFormat: string;
223
175
  clearAll: string;
224
- root: string;
225
- log: string;
226
- delete0: string;
227
- removeDuplicate: string;
228
- byRow: string;
229
- byCol: string;
230
- generateNewMatrix: string;
231
176
  fitContent: string;
232
177
  freeze: string;
233
178
  freezeCell: string;
@@ -248,27 +193,10 @@ declare const locale: {
248
193
  textToNumber: string;
249
194
  };
250
195
  info: {
251
- notChangeMerge: string;
252
- detailUpdate: string;
253
- detailSave: string;
254
- loading: string;
255
- copy: string;
256
- return: string;
257
- rename: string;
258
- tips: string;
259
- noName: string;
260
- wait: string;
261
- add: string;
262
- addLast: string;
263
- backTop: string;
264
- nextPage: string;
265
- tipInputNumber: string;
266
- tipInputNumberLimit: string;
267
- tipRowHeightLimit: string;
268
- tipColumnWidthLimit: string;
269
196
  problem: string;
270
197
  error: string;
271
198
  forceStringInfo: string;
199
+ convertToNumber: string;
272
200
  };
273
201
  clipboard: {
274
202
  paste: {
@@ -287,8 +215,6 @@ declare const locale: {
287
215
  max: string;
288
216
  count: string;
289
217
  countA: string;
290
- clickToCopy: string;
291
- copied: string;
292
218
  };
293
219
  shortcut: {
294
220
  'sheet-view': string;
@@ -340,17 +266,12 @@ declare const locale: {
340
266
  scopeWorkbook: string;
341
267
  inputNamePlaceholder: string;
342
268
  inputCommentPlaceholder: string;
343
- inputRangePlaceholder: string;
344
- inputFormulaPlaceholder: string;
345
269
  formulaOrRefStringInvalid: string;
346
270
  defaultName: string;
347
271
  updateButton: string;
348
272
  deleteButton: string;
349
273
  deleteConfirmText: string;
350
274
  };
351
- uploadLoading: {
352
- loading: string;
353
- };
354
275
  'data-validation': {
355
276
  alert: {
356
277
  ok: string;
@@ -367,7 +288,6 @@ declare const locale: {
367
288
  toolbarMenu: string;
368
289
  panel: {
369
290
  title: string;
370
- name: string;
371
291
  protectedRange: string;
372
292
  permissionDirection: string;
373
293
  permissionDirectionPlaceholder: string;
@@ -380,25 +300,16 @@ declare const locale: {
380
300
  designedPerson: string;
381
301
  addPerson: string;
382
302
  canEdit: string;
383
- canView: string;
384
303
  delete: string;
385
304
  currentSheet: string;
386
305
  allSheet: string;
387
306
  edit: string;
388
- Print: string;
389
- Comment: string;
390
307
  Copy: string;
391
308
  SetCellStyle: string;
392
309
  SetCellValue: string;
393
- SetHyperLink: string;
394
310
  Sort: string;
395
311
  Filter: string;
396
312
  PivotTable: string;
397
- FloatImage: string;
398
- RowHeightColWidth: string;
399
- RowHeightColWidthReadonly: string;
400
- FilterReadonly: string;
401
- nameError: string;
402
313
  created: string;
403
314
  iCanEdit: string;
404
315
  iCanNotEdit: string;
@@ -418,11 +329,7 @@ declare const locale: {
418
329
  };
419
330
  dialog: {
420
331
  emptyList: string;
421
- allowUserToEdit: string;
422
332
  allowedPermissionType: string;
423
- setCellValue: string;
424
- setCellStyle: string;
425
- copy: string;
426
333
  alert: string;
427
334
  search: string;
428
335
  ownerInherit: string;
@@ -437,18 +344,6 @@ declare const locale: {
437
344
  copyErr: string;
438
345
  workbookCopyErr: string;
439
346
  setRowColStyleErr: string;
440
- moveRowColErr: string;
441
- moveRangeErr: string;
442
- insertRowColErr: string;
443
- removeRowColErr: string;
444
- autoFillErr: string;
445
- filterErr: string;
446
- operatorSheetErr: string;
447
- insertOrDeleteMoveRangeErr: string;
448
- printErr: string;
449
- formulaErr: string;
450
- hyperLinkErr: string;
451
- commentErr: string;
452
347
  };
453
348
  button: {
454
349
  confirm: string;
@@ -24,9 +24,9 @@ export declare enum HEADER_MENU_SHAPE_TYPE {
24
24
  NORMAL = 0,
25
25
  HIGHLIGHT = 1
26
26
  }
27
- export declare const HEADER_MENU_SHAPE_CIRCLE_FILL = "rgba(0, 0, 0, 0.15)";
28
- export declare const HEADER_MENU_SHAPE_TRIANGLE_FILL = "rgb(0, 0, 0)";
29
- export declare const HEADER_MENU_BACKGROUND_COLOR = "rgb(255, 255, 255, 1)";
27
+ export declare const HEADER_MENU_SHAPE_CIRCLE_FILL = "gray.200";
28
+ export declare const HEADER_MENU_SHAPE_TRIANGLE_FILL = "gray.900";
29
+ export declare const HEADER_MENU_BACKGROUND_COLOR = "gray.50";
30
30
  export declare class HeaderMenuShape<T extends IHeaderMenuShapeProps = IHeaderMenuShapeProps> extends Shape<T> {
31
31
  private _size;
32
32
  private _iconRatio;
@@ -24,6 +24,11 @@ export declare enum CellAlertType {
24
24
  WARNING = 1,
25
25
  ERROR = 2
26
26
  }
27
+ export interface ICellAlertMenuItem {
28
+ label: ReactNode;
29
+ disabled?: boolean;
30
+ onSelect: () => void;
31
+ }
27
32
  export interface ICellAlert {
28
33
  type: CellAlertType;
29
34
  title: ReactNode;
@@ -32,6 +37,7 @@ export interface ICellAlert {
32
37
  width: number;
33
38
  height: number;
34
39
  key: string;
40
+ menu?: ICellAlertMenuItem[];
35
41
  }
36
42
  export declare class CellAlertManagerService extends Disposable {
37
43
  private readonly _renderManagerService;
@@ -15,11 +15,13 @@
15
15
  */
16
16
  import type { IDisposable } from '@univerjs/core';
17
17
  import type { ISheetLocationBase } from '@univerjs/sheets';
18
+ import type { RectPopupDirection } from '@univerjs/ui';
18
19
  import type { ICanvasPopup } from './canvas-pop-manager.service';
19
20
  import { Disposable } from '@univerjs/core';
20
21
  import { SheetCanvasPopManagerService } from './canvas-pop-manager.service';
22
+ export type CellPopupDirection = Extract<RectPopupDirection, 'horizontal' | 'vertical' | 'left-center'>;
21
23
  export interface ICellPopup extends Omit<ICanvasPopup, 'direction' | 'offset' | 'mask'> {
22
- direction?: 'horizontal' | 'vertical';
24
+ direction?: CellPopupDirection;
23
25
  id?: string;
24
26
  priority: number;
25
27
  }
@@ -27,12 +29,9 @@ export interface ICellPopupDirectionCache {
27
29
  popups: ICellPopup[];
28
30
  disposable?: IDisposable;
29
31
  }
30
- export interface ICellPopupCache {
31
- horizontal?: ICellPopupDirectionCache;
32
- vertical?: ICellPopupDirectionCache;
33
- }
32
+ export type ICellPopupCache = Partial<Record<CellPopupDirection, ICellPopupDirectionCache>>;
34
33
  export interface ICellPopupChange extends ISheetLocationBase {
35
- direction: 'horizontal' | 'vertical';
34
+ direction: CellPopupDirection;
36
35
  }
37
36
  export declare class CellPopupManagerService extends Disposable {
38
37
  private readonly _sheetCanvasPopManagerService;
@@ -42,7 +41,7 @@ export declare class CellPopupManagerService extends Disposable {
42
41
  constructor(_sheetCanvasPopManagerService: SheetCanvasPopManagerService);
43
42
  private _ensureCellPopupMap;
44
43
  showPopup(location: ISheetLocationBase, popup: ICellPopup): IDisposable;
45
- getPopups(unitId: string, subUnitId: string, row: number, col: number, direction: 'horizontal' | 'vertical'): ICellPopup[];
44
+ getPopups(unitId: string, subUnitId: string, row: number, col: number, direction: CellPopupDirection): ICellPopup[];
46
45
  hidePopup(unitId: string, subUnitId: string, row: number, col: number): void;
47
46
  hidePopupsForUnit(unitId: string, subUnitId?: string): void;
48
47
  }
@@ -44,6 +44,7 @@ export interface ICellEditorState {
44
44
  documentLayoutObject: IDocumentLayoutObject;
45
45
  editorUnitId: string;
46
46
  isInArrayFormulaRange?: Nullable<boolean>;
47
+ isPercentFormat?: boolean;
47
48
  }
48
49
  export interface ICellEditorLayout {
49
50
  position: IPosition;
@@ -118,6 +119,7 @@ export declare class EditorBridgeService extends Disposable implements IEditorBr
118
119
  documentLayoutObject: IDocumentLayoutObject;
119
120
  editorUnitId: string;
120
121
  isInArrayFormulaRange?: Nullable<boolean>;
122
+ isPercentFormat?: boolean;
121
123
  } | null>;
122
124
  private readonly _visibleParams$;
123
125
  readonly visible$: Observable<IEditorBridgeServiceVisibleParam>;
@@ -154,6 +156,7 @@ export declare class EditorBridgeService extends Disposable implements IEditorBr
154
156
  documentLayoutObject: IDocumentLayoutObject;
155
157
  editorUnitId: string;
156
158
  isInArrayFormulaRange: Nullable<boolean>;
159
+ isPercentFormat: boolean | undefined;
157
160
  } | undefined;
158
161
  private _getWorkbookForEditUnit;
159
162
  getCurrentEditorId(): string;
@@ -25,11 +25,13 @@ export declare const SHEET_EMBED_ID_ATTRIBUTE = "data-embed-id";
25
25
  export declare const SHEET_EMBED_HOST_UNIT_ID_ATTRIBUTE = "data-embed-host-unit-id";
26
26
  export declare const SHEET_EMBED_CHILD_UNIT_ID_ATTRIBUTE = "data-embed-child-unit-id";
27
27
  export declare const SHEET_EMBED_CHILD_TYPE_ATTRIBUTE = "data-embed-child-type";
28
+ export type SheetEmbedRuntimeSessionMode = 'host-passive' | 'child-keyboard' | 'child-fullscreen' | 'child-tab';
28
29
  export interface ISheetEmbedRuntimeDomScope {
29
30
  embedId: string;
30
31
  hostUnitId?: string;
31
32
  childUnitId?: string;
32
33
  childType?: UniverInstanceType;
34
+ sessionMode?: SheetEmbedRuntimeSessionMode;
33
35
  }
34
36
  export interface ISheetEmbedInteractionBoundaryService {
35
37
  registerOwnedElement(embedId: string, element: HTMLElement): IDisposable;
@@ -45,6 +47,7 @@ export interface ISheetEmbedRuntimeFocusCoordinator {
45
47
  childUnitId?: string;
46
48
  childType?: UniverInstanceType;
47
49
  associatedChildUnitIds?: string[];
50
+ sessionMode?: SheetEmbedRuntimeSessionMode;
48
51
  }): IDisposable;
49
52
  registerElement(options: {
50
53
  embedId: string;
@@ -84,6 +87,7 @@ export declare class EmbedRuntimeFocusCoordinator implements ISheetEmbedRuntimeF
84
87
  hostUnitId?: string;
85
88
  childType?: UniverInstanceType;
86
89
  associatedChildUnitIds?: string[];
90
+ sessionMode?: SheetEmbedRuntimeSessionMode;
87
91
  }): IDisposable;
88
92
  registerElement(options: {
89
93
  embedId: string;
@@ -96,6 +100,7 @@ export declare class EmbedRuntimeFocusCoordinator implements ISheetEmbedRuntimeF
96
100
  hostUnitId?: string;
97
101
  childUnitId?: string;
98
102
  childType?: UniverInstanceType;
103
+ sessionMode?: SheetEmbedRuntimeSessionMode;
99
104
  }): IDisposable;
100
105
  hasChildInteractionLease(embedId: string | undefined): boolean;
101
106
  hasHostPreservingChildFocusLeaseForHost(hostUnitId: string | undefined): boolean;
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import type { IDisposable } from '@univerjs/core';
16
+ import type { IDisposable, UniverInstanceType } from '@univerjs/core';
17
17
  export interface ISheetEmbedTabMountParams {
18
18
  hostUnitId: string;
19
19
  hostAnchorId: string;
@@ -21,6 +21,7 @@ export interface ISheetEmbedTabMountParams {
21
21
  }
22
22
  export interface ISheetEmbedRuntimeService {
23
23
  mountSheetTab(params: ISheetEmbedTabMountParams): IDisposable | undefined;
24
+ getSheetTabChildType?(params: ISheetEmbedTabMountParams): UniverInstanceType | undefined;
24
25
  clearTab(embedId?: string): void;
25
26
  }
26
27
  export declare const ISheetEmbedRuntimeService: import("@wendellhu/redi").IdentifierDecorator<ISheetEmbedRuntimeService>;
@@ -15,8 +15,9 @@
15
15
  */
16
16
  import type { ISheetLocationBase } from '@univerjs/sheets';
17
17
  import type { IPopupWithExtraProps } from '@univerjs/ui';
18
+ import type { CellPopupDirection } from '../services/cell-popup-manager.service';
18
19
  export declare const CellPopup: (props: {
19
20
  popup: IPopupWithExtraProps<ISheetLocationBase & {
20
- direction: "horizontal" | "vertical";
21
+ direction: CellPopupDirection;
21
22
  }>;
22
23
  }) => import("react").JSX.Element;
@@ -15,11 +15,7 @@
15
15
  */
16
16
  import type { Workbook } from '@univerjs/core';
17
17
  import { SheetSkeletonManagerService } from '../services/sheet-skeleton-manager.service';
18
- export declare const SheetLoadingWorkbookContext: import("react").Context<Workbook | null>;
19
18
  export declare function useActiveWorkbook(): Workbook | null;
20
- export declare function useSheetLoadingWorkbook(): Workbook | null;
21
- export declare function useSheetLoading(): boolean;
22
- export declare function useSheetLoadingPreviewReady(): boolean;
23
19
  export declare function useActiveWorksheet(workbook?: Workbook | null): import("@univerjs/core").Nullable<import("@univerjs/core").Worksheet>;
24
20
  export declare function useWorkbooks(): Workbook[];
25
21
  export declare function useSheetSkeleton(): SheetSkeletonManagerService | null | undefined;
@@ -14,7 +14,6 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import type { IFunctionNames } from '@univerjs/engine-formula';
17
- import type { FC } from 'react';
18
17
  export interface IStatisticItem {
19
18
  name: IFunctionNames;
20
19
  value: number;
@@ -26,6 +25,5 @@ export declare const functionDisplayNames: IFunctionNameMap;
26
25
  interface IFunctionNameMap {
27
26
  [key: string]: string;
28
27
  }
29
- export declare const CopyableStatisticItem: FC<IStatisticItem>;
30
28
  export declare function formatNumber(item: IStatisticItem): string | 0;
31
29
  export {};
@@ -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 declare const StatusBar: () => false | import("react").JSX.Element;
16
+ export declare const StatusBar: () => import("react").JSX.Element | null;
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=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=>{let t={workbook:r,worksheet:r.getActiveSheet(),selections:(e==null?void 0:e.map(e=>e.range))??[]};this.fireEvent(this.Event.SelectionMoveStart,t)}))),d.add(this.registerEventHandler(this.Event.SelectionMoving,()=>s.selectionMoving$.subscribe(e=>{let t={workbook:r,worksheet:r.getActiveSheet(),selections:(e==null?void 0:e.map(e=>e.range))??[]};this.fireEvent(this.Event.SelectionMoving,t)}))),d.add(this.registerEventHandler(this.Event.SelectionMoveEnd,()=>s.selectionMoveEnd$.subscribe(e=>{let t={workbook:r,worksheet:r.getActiveSheet(),selections:(e==null?void 0:e.map(e=>e.range))??[]};this.fireEvent(this.Event.SelectionMoveEnd,t)}))),d.add(this.registerEventHandler(this.Event.SelectionChanged,()=>s.selectionChanged$.subscribe(e=>{let t={workbook:r,worksheet:r.getActiveSheet(),selections:(e==null?void 0:e.map(e=>e.range))??[]};this.fireEvent(this.Event.SelectionChanged,t)})))),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{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())}autoResizeColumns(e,t=1){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}autoResizeRows(e,t=1){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(){let e=this._injector.get(o.ISheetClipboardService).generateCopyContent(this._workbook.getUnitId(),this._worksheet.getSheetId(),this._range);return(e==null?void 0:e.html)??``}attachPopup(e){e.direction=e.direction??`horizontal`,e.extraProps=e.extraProps??{},e.offset=e.offset??[0,0];let{key:t,disposableCollection:n}=g(e,this._injector.get(s.ComponentManager)),r=this._injector.get(o.SheetCanvasPopManagerService).attachPopupToCell(this._range.startRow,this._range.startColumn,{...e,componentKey:t},this.getUnitId(),this._worksheet.getSheetId());return r?(n.add(r),n):(n.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){e.direction=e.direction??`top-center`,e.extraProps=e.extraProps??{},e.offset=e.offset??[0,0];let{key:t,disposableCollection:n}=g(e,this._injector.get(s.ComponentManager)),r=this._injector.get(o.SheetCanvasPopManagerService).attachRangePopup(this._range,{...e,componentKey:t},this.getUnitId(),this._worksheet.getSheetId());return r?(n.add(r),n):(n.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??`react`;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});
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=e.get(t.IUniverInstanceService),l=new t.DisposableCollection,u=()=>{let t=e.get(o.HoverManagerService),n=e.get(o.DragManagerService);l.add(this.registerEventHandler(this.Event.CellClicked,()=>{var e;return(e=t.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)})})),l.add(this.registerEventHandler(this.Event.CellHover,()=>{var e;return(e=t.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)})})),l.add(this.registerEventHandler(this.Event.CellPointerDown,()=>{var e;return(e=t.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)})})),l.add(this.registerEventHandler(this.Event.CellPointerUp,()=>{var e;return(e=t.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)})})),l.add(this.registerEventHandler(this.Event.CellPointerMove,()=>{var e;return(e=t.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)})})),l.add(this.registerEventHandler(this.Event.DragOver,()=>{var e;return(e=n.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)})})),l.add(this.registerEventHandler(this.Event.Drop,()=>{var e;return(e=n.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)})})),l.add(this.registerEventHandler(this.Event.RowHeaderClick,()=>{var e;return(e=t.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)})})),l.add(this.registerEventHandler(this.Event.RowHeaderPointerDown,()=>{var e;return(e=t.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)})})),l.add(this.registerEventHandler(this.Event.RowHeaderPointerUp,()=>{var e;return(e=t.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)})})),l.add(this.registerEventHandler(this.Event.RowHeaderHover,()=>{var e;return(e=t.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)})})),l.add(this.registerEventHandler(this.Event.ColumnHeaderClick,()=>{var e;return(e=t.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)})})),l.add(this.registerEventHandler(this.Event.ColumnHeaderPointerDown,()=>{var e;return(e=t.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)})})),l.add(this.registerEventHandler(this.Event.ColumnHeaderPointerUp,()=>{var e;return(e=t.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)})})),l.add(this.registerEventHandler(this.Event.ColumnHeaderHover,()=>{var e;return(e=t.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(l)},d=s.getAllUnitsForType(t.UniverInstanceType.UNIVER_SHEET).length>0?(0,c.of)(!0):s.getTypeOfUnitAdded$(t.UniverInstanceType.UNIVER_SHEET).pipe((0,c.take)(1));this.disposeWithMe((0,c.combineLatest)([d,r.lifecycle$]).pipe((0,c.filter)(([,e])=>e>=t.LifecycleStages.Rendered),(0,c.take)(1)).subscribe(()=>u()));let f,p=(0,c.combineLatest)([n.created$,r.lifecycle$]),m=new t.DisposableCollection;this.disposeWithMe(p.subscribe(([e,n])=>{if(e.type===t.UniverInstanceType.UNIVER_SHEET&&(f=e),n<=t.LifecycleStages.Rendered||!f)return;let r=this.getWorkbook(f.unitId);if(!r)return;m.dispose();let i=f.with(o.SheetScrollManagerService),s=this._tryGetRenderDependency(f,a.SheetsSelectionsService);m.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&&(m.add(this.registerEventHandler(this.Event.SelectionMoveStart,()=>s.selectionMoveStart$.subscribe(e=>{let t={workbook:r,worksheet:r.getActiveSheet(),selections:(e==null?void 0:e.map(e=>e.range))??[]};this.fireEvent(this.Event.SelectionMoveStart,t)}))),m.add(this.registerEventHandler(this.Event.SelectionMoving,()=>s.selectionMoving$.subscribe(e=>{let t={workbook:r,worksheet:r.getActiveSheet(),selections:(e==null?void 0:e.map(e=>e.range))??[]};this.fireEvent(this.Event.SelectionMoving,t)}))),m.add(this.registerEventHandler(this.Event.SelectionMoveEnd,()=>s.selectionMoveEnd$.subscribe(e=>{let t={workbook:r,worksheet:r.getActiveSheet(),selections:(e==null?void 0:e.map(e=>e.range))??[]};this.fireEvent(this.Event.SelectionMoveEnd,t)}))),m.add(this.registerEventHandler(this.Event.SelectionChanged,()=>s.selectionChanged$.subscribe(e=>{let t={workbook:r,worksheet:r.getActiveSheet(),selections:(e==null?void 0:e.map(e=>e.range))??[]};this.fireEvent(this.Event.SelectionChanged,t)})))),f=null,this.disposeWithMe(m)}))}_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{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())}autoResizeColumns(e,t=1){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}autoResizeRows(e,t=1){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(){let e=this._injector.get(o.ISheetClipboardService).generateCopyContent(this._workbook.getUnitId(),this._worksheet.getSheetId(),this._range);return(e==null?void 0:e.html)??``}attachPopup(e){e.direction=e.direction??`horizontal`,e.extraProps=e.extraProps??{},e.offset=e.offset??[0,0];let{key:t,disposableCollection:n}=g(e,this._injector.get(s.ComponentManager)),r=this._injector.get(o.SheetCanvasPopManagerService).attachPopupToCell(this._range.startRow,this._range.startColumn,{...e,componentKey:t},this.getUnitId(),this._worksheet.getSheetId());return r?(n.add(r),n):(n.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){e.direction=e.direction??`top-center`,e.extraProps=e.extraProps??{},e.offset=e.offset??[0,0];let{key:t,disposableCollection:n}=g(e,this._injector.get(s.ComponentManager)),r=this._injector.get(o.SheetCanvasPopManagerService).attachRangePopup(this._range,{...e,componentKey:t},this.getUnitId(),this._worksheet.getSheetId());return r?(n.add(r),n):(n.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??`react`;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});