@univerjs/sheets-ui 0.15.2 → 0.15.3-insiders.20260131-b9b8805

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 (67) hide show
  1. package/lib/cjs/facade.js +1 -1
  2. package/lib/cjs/index.js +14 -14
  3. package/lib/cjs/locale/ca-ES.js +1 -1
  4. package/lib/cjs/locale/en-US.js +1 -1
  5. package/lib/cjs/locale/es-ES.js +1 -1
  6. package/lib/cjs/locale/fa-IR.js +1 -1
  7. package/lib/cjs/locale/fr-FR.js +1 -1
  8. package/lib/cjs/locale/ja-JP.js +1 -1
  9. package/lib/cjs/locale/ko-KR.js +1 -1
  10. package/lib/cjs/locale/ru-RU.js +1 -1
  11. package/lib/cjs/locale/sk-SK.js +1 -0
  12. package/lib/cjs/locale/vi-VN.js +1 -1
  13. package/lib/cjs/locale/zh-CN.js +1 -1
  14. package/lib/cjs/locale/zh-TW.js +1 -1
  15. package/lib/es/facade.js +676 -621
  16. package/lib/es/index.js +7332 -7009
  17. package/lib/es/locale/ca-ES.js +4 -2
  18. package/lib/es/locale/en-US.js +4 -2
  19. package/lib/es/locale/es-ES.js +4 -2
  20. package/lib/es/locale/fa-IR.js +4 -2
  21. package/lib/es/locale/fr-FR.js +4 -2
  22. package/lib/es/locale/ja-JP.js +4 -2
  23. package/lib/es/locale/ko-KR.js +4 -2
  24. package/lib/es/locale/ru-RU.js +4 -2
  25. package/lib/es/locale/sk-SK.js +463 -0
  26. package/lib/es/locale/vi-VN.js +4 -2
  27. package/lib/es/locale/zh-CN.js +4 -2
  28. package/lib/es/locale/zh-TW.js +4 -2
  29. package/lib/facade.js +676 -621
  30. package/lib/index.css +1 -1
  31. package/lib/index.js +7332 -7009
  32. package/lib/locale/ca-ES.js +4 -2
  33. package/lib/locale/en-US.js +4 -2
  34. package/lib/locale/es-ES.js +4 -2
  35. package/lib/locale/fa-IR.js +4 -2
  36. package/lib/locale/fr-FR.js +4 -2
  37. package/lib/locale/ja-JP.js +4 -2
  38. package/lib/locale/ko-KR.js +4 -2
  39. package/lib/locale/ru-RU.js +4 -2
  40. package/lib/locale/sk-SK.js +463 -0
  41. package/lib/locale/vi-VN.js +4 -2
  42. package/lib/locale/zh-CN.js +4 -2
  43. package/lib/locale/zh-TW.js +4 -2
  44. package/lib/types/controllers/config.schema.d.ts +5 -0
  45. package/lib/types/controllers/editor/editing.render-controller.d.ts +3 -2
  46. package/lib/types/controllers/menu/text-to-number.menu.d.ts +6 -0
  47. package/lib/types/controllers/render-controllers/mobile/mobile-header-resize.render-controller.d.ts +44 -0
  48. package/lib/types/index.d.ts +1 -1
  49. package/lib/types/locale/en-US.d.ts +2 -0
  50. package/lib/types/locale/sk-SK.d.ts +3 -0
  51. package/lib/types/views/editor-container/EditorContainer.d.ts +16 -1
  52. package/lib/umd/facade.js +1 -1
  53. package/lib/umd/index.js +15 -15
  54. package/lib/umd/locale/ca-ES.js +1 -1
  55. package/lib/umd/locale/en-US.js +1 -1
  56. package/lib/umd/locale/es-ES.js +1 -1
  57. package/lib/umd/locale/fa-IR.js +1 -1
  58. package/lib/umd/locale/fr-FR.js +1 -1
  59. package/lib/umd/locale/ja-JP.js +1 -1
  60. package/lib/umd/locale/ko-KR.js +1 -1
  61. package/lib/umd/locale/ru-RU.js +1 -1
  62. package/lib/umd/locale/sk-SK.js +1 -0
  63. package/lib/umd/locale/vi-VN.js +1 -1
  64. package/lib/umd/locale/zh-CN.js +1 -1
  65. package/lib/umd/locale/zh-TW.js +1 -1
  66. package/package.json +13 -13
  67. package/LICENSE +0 -176
@@ -50,7 +50,8 @@ const e = {
50
50
  right: "旋轉方式"
51
51
  },
52
52
  more: "更多",
53
- toggleGridlines: "切換網格線"
53
+ toggleGridlines: "切換網格線",
54
+ textToNumber: "文字轉數字"
54
55
  },
55
56
  align: {
56
57
  left: "靠左對齊",
@@ -240,7 +241,8 @@ const e = {
240
241
  editProtectRange: "設定保護範圍",
241
242
  removeProtectRange: "移除保護範圍",
242
243
  turnOnProtectRange: "新增保護範圍",
243
- viewAllProtectArea: "查看所有保護範圍"
244
+ viewAllProtectArea: "查看所有保護範圍",
245
+ textToNumber: "文字轉數字"
244
246
  },
245
247
  info: {
246
248
  tooltip: "提示",
@@ -84,6 +84,11 @@ export interface IUniverSheetsUIConfig {
84
84
  * @default false
85
85
  */
86
86
  disableForceStringMark?: boolean;
87
+ /**
88
+ * Whether to disable the edit.
89
+ * @default false
90
+ */
91
+ disableEdit?: boolean;
87
92
  }
88
93
  export declare const defaultPluginConfig: IUniverSheetsUIConfig;
89
94
  /**
@@ -1,4 +1,4 @@
1
- import { DocumentDataModel, ICellData, IDocumentBody, IDocumentData, IStyleData, Nullable, Styles, Disposable, ICommandService, IContextService, IUndoRedoService, IUniverInstanceService, LocaleService } from '@univerjs/core';
1
+ import { DocumentDataModel, ICellData, IDocumentBody, IDocumentData, IStyleData, Nullable, Styles, Disposable, ICommandService, IConfigService, IContextService, IUndoRedoService, IUniverInstanceService, LocaleService } from '@univerjs/core';
2
2
  import { DocSelectionManagerService } from '@univerjs/docs';
3
3
  import { IEditorService } from '@univerjs/docs-ui';
4
4
  import { IFunctionService, LexerTreeBuilder } from '@univerjs/engine-formula';
@@ -23,6 +23,7 @@ export declare class EditingRenderController extends Disposable {
23
23
  private readonly _sheetInterceptorService;
24
24
  private readonly _sheetCellEditorResizeService;
25
25
  private readonly _selectionManagerService;
26
+ private readonly _configService;
26
27
  /**
27
28
  * It is used to distinguish whether the user has actively moved the cursor in the editor, mainly through mouse clicks.
28
29
  */
@@ -30,7 +31,7 @@ export declare class EditingRenderController extends Disposable {
30
31
  /** If the corresponding unit is active and prepared for editing. */
31
32
  private _editingUnit;
32
33
  _cursorTimeout: NodeJS.Timeout;
33
- constructor(_undoRedoService: IUndoRedoService, _contextService: IContextService, _renderManagerService: IRenderManagerService, _editorBridgeService: IEditorBridgeService, _cellEditorManagerService: ICellEditorManagerService, _lexerTreeBuilder: LexerTreeBuilder, _functionService: IFunctionService, _textSelectionManagerService: DocSelectionManagerService, _commandService: ICommandService, _localService: LocaleService, _editorService: IEditorService, _univerInstanceService: IUniverInstanceService, _sheetInterceptorService: SheetInterceptorService, _sheetCellEditorResizeService: SheetCellEditorResizeService, _selectionManagerService: SheetsSelectionsService);
34
+ constructor(_undoRedoService: IUndoRedoService, _contextService: IContextService, _renderManagerService: IRenderManagerService, _editorBridgeService: IEditorBridgeService, _cellEditorManagerService: ICellEditorManagerService, _lexerTreeBuilder: LexerTreeBuilder, _functionService: IFunctionService, _textSelectionManagerService: DocSelectionManagerService, _commandService: ICommandService, _localService: LocaleService, _editorService: IEditorService, _univerInstanceService: IUniverInstanceService, _sheetInterceptorService: SheetInterceptorService, _sheetCellEditorResizeService: SheetCellEditorResizeService, _selectionManagerService: SheetsSelectionsService, _configService: IConfigService);
34
35
  dispose(): void;
35
36
  private get _workbookSelections();
36
37
  private _init;
@@ -0,0 +1,6 @@
1
+ import { IAccessor } from '@univerjs/core';
2
+ import { IMenuButtonItem } from '@univerjs/ui';
3
+ export declare const TEXT_TO_NUMBER_TOOLBAR_MENU_ID = "sheet.toolbar.text-to-number";
4
+ export declare function Text2NumberToolbarMenuItemFactory(accessor: IAccessor): IMenuButtonItem<string>;
5
+ export declare const TEXT_TO_NUMBER_CONTEXT_MENU_ID = "sheet.contextMenu.text-to-number";
6
+ export declare function Text2NumberContextMenuItemFactory(accessor: IAccessor): IMenuButtonItem<string>;
@@ -0,0 +1,44 @@
1
+ import { Workbook, Disposable, ICommandService, IContextService } from '@univerjs/core';
2
+ import { IRenderContext, IRenderModule } from '@univerjs/engine-render';
3
+ import { SheetsSelectionsService } from '@univerjs/sheets';
4
+ import { SheetScrollManagerService } from '../../../services/scroll-manager.service';
5
+ import { SheetSkeletonManagerService } from '../../../services/sheet-skeleton-manager.service';
6
+ export declare class MobileHeaderResizeRenderController extends Disposable implements IRenderModule {
7
+ private readonly _context;
8
+ private readonly _sheetSkeletonManagerService;
9
+ private readonly _selectionManagerService;
10
+ private readonly _commandService;
11
+ private readonly _contextService;
12
+ private readonly _scrollManagerService;
13
+ private _currentRow;
14
+ private _currentColumn;
15
+ private _rowResizeButton;
16
+ private _columnResizeButton;
17
+ private _resizeHelperShape;
18
+ private _isDragging;
19
+ private _touchStartX;
20
+ private _touchStartY;
21
+ private _touchMoveHandler;
22
+ private _touchEndHandler;
23
+ private _selectionSubscription;
24
+ private _scrollSubscription;
25
+ constructor(_context: IRenderContext<Workbook>, _sheetSkeletonManagerService: SheetSkeletonManagerService, _selectionManagerService: SheetsSelectionsService, _commandService: ICommandService, _contextService: IContextService, _scrollManagerService: SheetScrollManagerService);
26
+ dispose(): void;
27
+ private _init;
28
+ private _initResizeShapes;
29
+ private _initSelectionListener;
30
+ private _initScrollListener;
31
+ private _handleSelectionChange;
32
+ private _showRowResizeButton;
33
+ private _showColumnResizeButton;
34
+ private _updateButtonPositionOnScroll;
35
+ private _bindTouchEventsToButton;
36
+ private _startResize;
37
+ private _setupTouchHandlers;
38
+ private _createResizeHelper;
39
+ private _updateResizeHelper;
40
+ private _updateResizeButton;
41
+ private _cleanupResize;
42
+ private _cleanupTouchHandlers;
43
+ private _cancelResize;
44
+ }
@@ -47,7 +47,7 @@ export { SheetPermissionOpenDialogOperation } from './commands/operations/sheet-
47
47
  export { SheetPermissionOpenPanelOperation } from './commands/operations/sheet-permission-open-panel.operation';
48
48
  export { SidebarDefinedNameOperation } from './commands/operations/sidebar-defined-name.operation';
49
49
  export { EMBEDDING_FORMULA_EDITOR_COMPONENT_KEY, RANGE_SELECTOR_COMPONENT_KEY, SHEET_VIEW_KEY } from './common/keys';
50
- export { getCellRealRange } from './common/utils';
50
+ export { getCellRealRange, getViewportByCell } from './common/utils';
51
51
  export { useActiveWorkbook, useActiveWorksheet, useWorkbooks } from './components/hook';
52
52
  export { UNIVER_SHEET_PERMISSION_USER_PART } from './consts/permission';
53
53
  export { SHEET_UI_PLUGIN_NAME } from './consts/plugin-name';
@@ -65,6 +65,7 @@ declare const locale: {
65
65
  };
66
66
  more: string;
67
67
  toggleGridlines: string;
68
+ textToNumber: string;
68
69
  };
69
70
  align: {
70
71
  left: string;
@@ -255,6 +256,7 @@ declare const locale: {
255
256
  removeProtectRange: string;
256
257
  turnOnProtectRange: string;
257
258
  viewAllProtectArea: string;
259
+ textToNumber: string;
258
260
  };
259
261
  info: {
260
262
  tooltip: string;
@@ -0,0 +1,3 @@
1
+ import { default as enUS } from './en-US';
2
+ declare const locale: typeof enUS;
3
+ export default locale;
@@ -1,4 +1,19 @@
1
- import { default as React } from 'react';
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 * as React from 'react';
2
17
  interface ICellIEditorProps {
3
18
  }
4
19
  /**
package/lib/umd/facade.js CHANGED
@@ -1 +1 @@
1
- (function(p,h){typeof exports=="object"&&typeof module<"u"?h(exports,require("@univerjs/core"),require("@univerjs/core/facade"),require("@univerjs/docs"),require("@univerjs/engine-render"),require("@univerjs/sheets"),require("@univerjs/sheets-ui"),require("@univerjs/sheets/facade"),require("@univerjs/ui"),require("rxjs")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/core/facade","@univerjs/docs","@univerjs/engine-render","@univerjs/sheets","@univerjs/sheets-ui","@univerjs/sheets/facade","@univerjs/ui","rxjs"],h):(p=typeof globalThis<"u"?globalThis:p||self,h(p.UniverSheetsUiFacade={},p.UniverCore,p.UniverCoreFacade,p.UniverDocs,p.UniverEngineRender,p.UniverSheets,p.UniverSheetsUi,p.UniverSheetsFacade,p.UniverUi,p.rxjs))})(this,(function(p,h,R,y,u,f,s,b,C,m){"use strict";class D extends R.FUniver{_initSheetUIEvent(e){const r=e.get(h.ICommandService);this.registerEventHandler(this.Event.BeforeSheetEditStart,()=>r.beforeCommandExecuted(t=>{if(t.id!==s.SetCellEditVisibleOperation.id)return;const i=this.getActiveSheet();if(!i)return;const{workbook:o,worksheet:a}=i,l=e.get(s.IEditorBridgeService),g=t.params,{visible:S,keycode:v,eventType:c}=g,n=l.getEditLocation();if(S){const d={row:n.row,column:n.column,eventType:c,keycode:v,workbook:o,worksheet:a,isZenEditor:!1};if(this.fireEvent(this.Event.BeforeSheetEditStart,d),d.cancel)throw new h.CanceledError}})),this.registerEventHandler(this.Event.BeforeSheetEditEnd,()=>r.beforeCommandExecuted(t=>{if(t.id!==s.SetCellEditVisibleOperation.id)return;const i=this.getActiveSheet();if(!i)return;const{workbook:o,worksheet:a}=i,l=e.get(s.IEditorBridgeService),g=e.get(h.IUniverInstanceService),S=t.params,{visible:v,keycode:c,eventType:n}=S,d=l.getEditLocation();if(!v){const P={row:d.row,column:d.column,eventType:n,keycode:c,workbook:o,worksheet:a,isZenEditor:!1,value:h.RichTextValue.create(g.getUnit(h.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isConfirm:c!==C.KeyCode.ESC};if(this.fireEvent(this.Event.BeforeSheetEditEnd,P),P.cancel)throw new h.CanceledError}})),this.registerEventHandler(this.Event.SheetEditStarted,()=>r.onCommandExecuted(t=>{if(t.id!==s.SetCellEditVisibleOperation.id)return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:a}=i,l=e.get(s.IEditorBridgeService),g=t.params,{visible:S,keycode:v,eventType:c}=g,n=l.getEditLocation();if(S){const d={row:n.row,column:n.column,eventType:c,keycode:v,workbook:o,worksheet:a,isZenEditor:!1};this.fireEvent(this.Event.SheetEditStarted,d)}})),this.registerEventHandler(this.Event.SheetEditEnded,()=>r.onCommandExecuted(t=>{if(t.id!==s.SetCellEditVisibleOperation.id)return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:a}=i,l=e.get(s.IEditorBridgeService),g=t.params,{visible:S,keycode:v,eventType:c}=g,n=l.getEditLocation();if(!S){const d={row:n.row,column:n.column,eventType:c,keycode:v,workbook:o,worksheet:a,isZenEditor:!1,isConfirm:v!==C.KeyCode.ESC};this.fireEvent(this.Event.SheetEditEnded,d)}})),this.registerEventHandler(this.Event.SheetEditChanging,()=>r.onCommandExecuted(t=>{if(t.id!==y.RichTextEditingMutation.id)return;const i=this.getActiveSheet();if(!i)return;const{workbook:o,worksheet:a}=i,l=e.get(s.IEditorBridgeService),g=e.get(h.IUniverInstanceService),S=t.params;if(!l.isVisible().visible)return;const{unitId:v}=S;if(v===h.DOCS_NORMAL_EDITOR_UNIT_ID_KEY){const{row:c,column:n}=l.getEditLocation(),d={workbook:o,worksheet:a,row:c,column:n,value:h.RichTextValue.create(g.getUnit(h.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isZenEditor:!1};this.fireEvent(this.Event.SheetEditChanging,d)}})),this.registerEventHandler(this.Event.BeforeSheetZoomChange,()=>r.beforeCommandExecuted(t=>{if(t.id!==s.SetZoomRatioCommand.id)return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:a}=i,l={zoom:t.params.zoomRatio,workbook:o,worksheet:a};if(this.fireEvent(this.Event.BeforeSheetZoomChange,l),l.cancel)throw new h.CanceledError})),this.registerEventHandler(this.Event.SheetZoomChanged,()=>r.onCommandExecuted(t=>{if(t.id!==s.SetZoomRatioCommand.id)return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:a}=i;this.fireEvent(this.Event.SheetZoomChanged,{zoom:a.getZoom(),workbook:o,worksheet:a})}))}_initObserverListener(e){const r=e.get(u.IRenderManagerService),t=e.get(h.LifecycleService),i=new h.DisposableCollection;this.disposeWithMe(t.lifecycle$.subscribe(g=>{if(g!==h.LifecycleStages.Rendered)return;i.dispose();const S=e.get(s.HoverManagerService),v=e.get(s.DragManagerService);S&&(this.registerEventHandler(this.Event.CellClicked,()=>{var c;return(c=S.currentClickedCell$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.location.unitId,n.location.subUnitId);d&&this.fireEvent(this.Event.CellClicked,{...d,...n,row:n.location.row,column:n.location.col})})}),this.registerEventHandler(this.Event.CellHover,()=>{var c;return(c=S.currentRichText$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.CellHover,{...d,...n,row:n.row,column:n.col})})}),this.registerEventHandler(this.Event.CellPointerDown,()=>{var c;return(c=S.currentPointerDownCell$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.CellPointerDown,{...d,...n,row:n.row,column:n.col})})}),this.registerEventHandler(this.Event.CellPointerUp,()=>{var c;return(c=S.currentPointerUpCell$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.CellPointerUp,{...d,...n,row:n.row,column:n.col})})}),this.registerEventHandler(this.Event.CellPointerMove,()=>{var c;return(c=S.currentCellPosWithEvent$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.CellPointerMove,{...d,...n,row:n.row,column:n.col})})}),this.registerEventHandler(this.Event.DragOver,()=>{var c;return(c=v.currentCell$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.location.unitId,n.location.subUnitId);d&&this.fireEvent(this.Event.DragOver,{...d,...n,row:n.location.row,column:n.location.col})})}),this.registerEventHandler(this.Event.Drop,()=>{var c;return(c=v.endCell$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.location.unitId,n.location.subUnitId);d&&this.fireEvent(this.Event.Drop,{...d,...n,row:n.location.row,column:n.location.col})})}),this.registerEventHandler(this.Event.RowHeaderClick,()=>{var c;return(c=S.currentRowHeaderClick$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.RowHeaderClick,{...d,row:n.index})})}),this.registerEventHandler(this.Event.RowHeaderPointerDown,()=>{var c;return(c=S.currentRowHeaderPointerDown$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.RowHeaderPointerDown,{...d,row:n.index})})}),this.registerEventHandler(this.Event.RowHeaderPointerUp,()=>{var c;return(c=S.currentRowHeaderPointerUp$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.RowHeaderPointerUp,{...d,row:n.index})})}),this.registerEventHandler(this.Event.RowHeaderHover,()=>{var c;return(c=S.currentHoveredRowHeader$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.RowHeaderHover,{...d,row:n.index})})}),this.registerEventHandler(this.Event.ColumnHeaderClick,()=>{var c;return(c=S.currentColHeaderClick$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.ColumnHeaderClick,{...d,column:n.index})})}),this.registerEventHandler(this.Event.ColumnHeaderPointerDown,()=>{var c;return(c=S.currentColHeaderPointerDown$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.ColumnHeaderPointerDown,{...d,column:n.index})})}),this.registerEventHandler(this.Event.ColumnHeaderPointerUp,()=>{var c;return(c=S.currentColHeaderPointerUp$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.ColumnHeaderPointerUp,{...d,column:n.index})})}),this.registerEventHandler(this.Event.ColumnHeaderHover,()=>{var c;return(c=S.currentHoveredColHeader$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.ColumnHeaderHover,{...d,column:n.index})})}))})),this.disposeWithMe(i);const o=new Map;let a;const l=m.combineLatest([r.created$,t.lifecycle$]);this.disposeWithMe(l.subscribe(([g,S])=>{var P;if(g.type===h.UniverInstanceType.UNIVER_SHEET&&(a=g),S<=h.LifecycleStages.Rendered||!a)return;const v=new h.DisposableCollection,c=this.getWorkbook(a.unitId);if(!c)return;o.get(a.unitId)&&((P=o.get(a.unitId))==null||P.dispose()),o.set(a.unitId,v);const n=a.with(s.SheetScrollManagerService),d=a.with(f.SheetsSelectionsService);v.add(this.registerEventHandler(this.Event.Scroll,()=>n.validViewportScrollInfo$.subscribe(E=>{E&&this.fireEvent(this.Event.Scroll,{workbook:c,worksheet:c.getActiveSheet(),...E})}))),v.add(this.registerEventHandler(this.Event.SelectionMoveStart,()=>d.selectionMoveStart$.subscribe(E=>{var w;this.fireEvent(this.Event.SelectionMoveStart,{workbook:c,worksheet:c.getActiveSheet(),selections:(w=E==null?void 0:E.map(_=>_.range))!=null?w:[]})}))),v.add(this.registerEventHandler(this.Event.SelectionMoving,()=>d.selectionMoving$.subscribe(E=>{var w;this.fireEvent(this.Event.SelectionMoving,{workbook:c,worksheet:c.getActiveSheet(),selections:(w=E==null?void 0:E.map(_=>_.range))!=null?w:[]})}))),v.add(this.registerEventHandler(this.Event.SelectionMoveEnd,()=>d.selectionMoveEnd$.subscribe(E=>{var w;this.fireEvent(this.Event.SelectionMoveEnd,{workbook:c,worksheet:c.getActiveSheet(),selections:(w=E==null?void 0:E.map(_=>_.range))!=null?w:[]})}))),v.add(this.registerEventHandler(this.Event.SelectionChanged,()=>d.selectionChanged$.subscribe(E=>{var w;this.fireEvent(this.Event.SelectionChanged,{workbook:c,worksheet:c.getActiveSheet(),selections:(w=E==null?void 0:E.map(_=>_.range))!=null?w:[]})}))),a=null,this.disposeWithMe(v)})),this.disposeWithMe(r.disposed$.subscribe(g=>{var S;(S=o.get(g))==null||S.dispose(),o.delete(g)})),this.disposeWithMe(()=>{o.forEach(g=>{g.dispose()})})}_initialize(e){this._initSheetUIEvent(e),this._initObserverListener(e);const r=e.get(h.ICommandService);this.registerEventHandler(this.Event.BeforeClipboardChange,()=>r.beforeCommandExecuted(t=>{switch(t.id){case C.CopyCommand.id:case C.CutCommand.id:this._beforeClipboardChange();break}})),this.registerEventHandler(this.Event.ClipboardChanged,()=>r.onCommandExecuted(t=>{switch(t.id){case C.CopyCommand.id:case C.CutCommand.id:this._clipboardChanged();break}})),this.registerEventHandler(this.Event.BeforeClipboardPaste,()=>r.beforeCommandExecuted(t=>{switch(t.id){case s.SheetPasteShortKeyCommand.id:this._beforeClipboardPaste(t.params);break;case C.PasteCommand.id:this._beforeClipboardPasteAsync();break}})),this.registerEventHandler(this.Event.ClipboardPasted,()=>r.onCommandExecuted(t=>{switch(t.id){case s.SheetPasteShortKeyCommand.id:this._clipboardPaste(t.params);break;case C.PasteCommand.id:this._clipboardPasteAsync();break}})),this.registerEventHandler(this.Event.SheetSkeletonChanged,()=>r.onCommandExecuted(t=>{if(f.COMMAND_LISTENER_SKELETON_CHANGE.indexOf(t.id)>-1){const i=this.getActiveSheet();if(!i)return;const o=f.getSkeletonChangedEffectedRange(t,i.worksheet.getMaxColumns()).map(a=>{var l,g;return(g=(l=this.getWorkbook(a.unitId))==null?void 0:l.getSheetBySheetId(a.subUnitId))==null?void 0:g.getRange(a.range)}).filter(Boolean);if(!o.length)return;this.fireEvent(this.Event.SheetSkeletonChanged,{workbook:i.workbook,worksheet:i.worksheet,payload:t,skeleton:i.worksheet.getSkeleton(),effectedRanges:o})}}))}_generateClipboardCopyParam(){const e=this.getActiveWorkbook(),r=e==null?void 0:e.getActiveSheet(),t=e==null?void 0:e.getActiveRange();if(!e||!r||!t)return;const o=this._injector.get(s.ISheetClipboardService).generateCopyContent(e.getId(),r.getSheetId(),t.getRange());if(!o)return;const{html:a,plain:l}=o;return{workbook:e,worksheet:r,text:l,html:a,fromSheet:r,fromRange:t}}_beforeClipboardChange(){const e=this._generateClipboardCopyParam();if(e&&(this.fireEvent(this.Event.BeforeClipboardChange,e),e.cancel))throw new h.CanceledError}_clipboardChanged(){const e=this._generateClipboardCopyParam();e&&this.fireEvent(this.Event.ClipboardChanged,e)}_generateClipboardPasteParam(e){if(!e)return;const{htmlContent:r,textContent:t}=e,i=this.getActiveWorkbook(),o=i==null?void 0:i.getActiveSheet();return!i||!o?void 0:{workbook:i,worksheet:o,text:t,html:r}}async _generateClipboardPasteParamAsync(){const e=this.getActiveWorkbook(),r=e==null?void 0:e.getActiveSheet();if(!e||!r)return;const o=(await this._injector.get(C.IClipboardInterfaceService).read())[0];let a;if(o){const l=o.types,g=l.indexOf(C.PLAIN_TEXT_CLIPBOARD_MIME_TYPE)!==-1?await o.getType(C.PLAIN_TEXT_CLIPBOARD_MIME_TYPE).then(v=>v&&v.text()):"",S=l.indexOf(C.HTML_CLIPBOARD_MIME_TYPE)!==-1?await o.getType(C.HTML_CLIPBOARD_MIME_TYPE).then(v=>v&&v.text()):"";a={workbook:e,worksheet:r,text:g,html:S}}return a}_beforeClipboardPaste(e){const r=this._generateClipboardPasteParam(e);if(r&&(this.fireEvent(this.Event.BeforeClipboardPaste,r),r.cancel))throw new h.CanceledError}_clipboardPaste(e){const r=this._generateClipboardPasteParam(e);if(r&&(this.fireEvent(this.Event.ClipboardPasted,r),r.cancel))throw new h.CanceledError}async _beforeClipboardPasteAsync(){if(!C.supportClipboardAPI()){this._injector.get(h.ILogService).warn("[Facade]: The navigator object only supports the browser environment");return}const e=await this._generateClipboardPasteParamAsync();if(e&&(this.fireEvent(this.Event.BeforeClipboardPaste,e),e.cancel))throw new h.CanceledError}async _clipboardPasteAsync(){if(!C.supportClipboardAPI()){this._injector.get(h.ILogService).warn("[Facade]: The navigator object only supports the browser environment");return}const e=await this._generateClipboardPasteParamAsync();if(e&&(this.fireEvent(this.Event.ClipboardPasted,e),e.cancel))throw new h.CanceledError}customizeColumnHeader(e){var S,v;const r=this.getActiveWorkbook();if(!r){console.error("WorkBook not exist");return}const t=r==null?void 0:r.getId(),i=this._injector.get(u.IRenderManagerService),o=r.getActiveSheet(),a=o.getSheetId(),l=i.getRenderById(t);l&&((S=e.headerStyle)!=null&&S.size)&&(l.with(s.SheetSkeletonManagerService).setColumnHeaderSize(l,a,(v=e.headerStyle)==null?void 0:v.size),o==null||o.refreshCanvas()),this._getSheetRenderComponent(t,s.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e),o==null||o.refreshCanvas()}customizeRowHeader(e){const r=this.getActiveWorkbook();if(!r){console.error("WorkBook not exist");return}const t=r==null?void 0:r.getId();this._getSheetRenderComponent(t,s.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}registerSheetRowHeaderExtension(e,...r){const t=this._getSheetRenderComponent(e,s.SHEET_VIEW_KEY.ROW),i=t.register(...r);return h.toDisposable(()=>{i.dispose(),t.makeDirty(!0)})}registerSheetColumnHeaderExtension(e,...r){const t=this._getSheetRenderComponent(e,s.SHEET_VIEW_KEY.COLUMN),i=t.register(...r);return h.toDisposable(()=>{i.dispose(),t.makeDirty(!0)})}registerSheetMainExtension(e,...r){const t=this._getSheetRenderComponent(e,s.SHEET_VIEW_KEY.MAIN),i=t.register(...r);return h.toDisposable(()=>{i.dispose(),t.makeDirty(!0)})}_getSheetRenderComponent(e,r){const i=this._injector.get(u.IRenderManagerService).getRenderById(e);if(!i)throw new Error(`Render Unit with unitId ${e} not found`);const{components:o}=i,a=o.get(r);if(!a)throw new Error("Render component not found");return a}getSheetHooks(){return this._injector.createInstance(b.FSheetHooks)}pasteIntoSheet(e,r,t){return this._commandService.executeCommand(s.SheetPasteShortKeyCommand.id,{htmlContent:e,textContent:r,files:t})}setProtectedRangeShadowStrategy(e){this._injector.get(s.SheetPermissionRenderManagerService).setProtectedRangeShadowStrategy(e)}getProtectedRangeShadowStrategy(){return this._injector.get(s.SheetPermissionRenderManagerService).getProtectedRangeShadowStrategy()}getProtectedRangeShadowStrategy$(){return this._injector.get(s.SheetPermissionRenderManagerService).getProtectedRangeShadowStrategy$()}setPermissionDialogVisible(e){this._injector.get(h.IPermissionService).setShowComponents(e)}}R.FUniver.extend(D);class T extends b.FWorkbook{openSiderbar(e){return this._logDeprecation("openSiderbar"),this._injector.get(C.ISidebarService).open(e)}openDialog(e){this._logDeprecation("openDialog");const t=this._injector.get(C.IDialogService).open({...e,onClose:()=>{t.dispose()}});return t}customizeColumnHeader(e){const r=this._workbook.getUnitId();this._getSheetRenderComponent(r,s.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e)}customizeRowHeader(e){const r=this._workbook.getUnitId();this._getSheetRenderComponent(r,s.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}_getSheetRenderComponent(e,r){const i=this._injector.get(u.IRenderManagerService).getRenderById(e);if(!i)throw new Error(`Render Unit with unitId ${e} not found`);const{components:o}=i,a=o.get(r);if(!a)throw new Error("Render component not found");return a}_logDeprecation(e){this._injector.get(h.ILogService).warn("[FWorkbook]",`${e} is deprecated. Please use the function of the same name on "FUniver".`)}generateCellParams(e){const r=this.getActiveSheet();return{row:e.row,column:e.col,workbook:this,worksheet:r}}onCellClick(e){const r=this._injector.get(s.HoverManagerService);return h.toDisposable(r.currentClickedCell$.pipe(m.filter(t=>!!t)).subscribe(t=>{e(t)}))}onCellHover(e){const r=this._injector.get(s.HoverManagerService);return h.toDisposable(r.currentRichText$.pipe(m.filter(t=>!!t)).subscribe(e))}onCellPointerDown(e){const r=this._injector.get(s.HoverManagerService);return h.toDisposable(r.currentPointerDownCell$.subscribe(e))}onCellPointerUp(e){const r=this._injector.get(s.HoverManagerService);return h.toDisposable(r.currentPointerUpCell$.subscribe(e))}onCellPointerMove(e){const r=this._injector.get(s.HoverManagerService);return h.toDisposable(r.currentCellPosWithEvent$.pipe(m.filter(t=>!!t)).subscribe(t=>{e(t,t.event)}))}onDragOver(e){const r=this._injector.get(s.DragManagerService);return h.toDisposable(r.currentCell$.pipe(m.filter(t=>!!t)).subscribe(t=>{e(t)}))}onDrop(e){const r=this._injector.get(s.DragManagerService);return h.toDisposable(r.endCell$.pipe(m.filter(t=>!!t)).subscribe(t=>{e(t)}))}startEditing(){const e=this._injector.get(h.ICommandService);return this._injector.get(s.IEditorBridgeService).isVisible().visible?!0:e.syncExecuteCommand(s.SetCellEditVisibleOperation.id,{eventType:u.DeviceInputEventType.Dblclick,unitId:this._workbook.getUnitId(),visible:!0})}async endEditing(e){const r=this._injector.get(h.ICommandService);return this._injector.get(s.IEditorBridgeService).isVisible().visible&&r.syncExecuteCommand(s.SetCellEditVisibleOperation.id,{eventType:u.DeviceInputEventType.Keyboard,keycode:e?C.KeyCode.ENTER:C.KeyCode.ESC,visible:!1,unitId:this._workbook.getUnitId()}),await h.awaitTime(0),!0}endEditingAsync(e=!0){return this.endEditing(e)}abortEditingAsync(){return this.endEditingAsync(!1)}isCellEditing(){return this._injector.get(s.IEditorBridgeService).isVisible().visible}getScrollStateBySheetId(e){const r=this._workbook.getUnitId(),i=this._injector.get(u.IRenderManagerService).getRenderById(r);return i?i.with(s.SheetScrollManagerService).getScrollStateByParam({unitId:r,sheetId:e}):null}disableSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(u.IRenderManagerService).getRenderById(e);return t&&t.with(s.ISheetSelectionRenderService).disableSelection(),this}enableSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(u.IRenderManagerService).getRenderById(e);return t&&t.with(s.ISheetSelectionRenderService).enableSelection(),this}transparentSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(u.IRenderManagerService).getRenderById(e);return t&&t.with(s.ISheetSelectionRenderService).transparentSelection(),this}showSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(u.IRenderManagerService).getRenderById(e);return t&&t.with(s.ISheetSelectionRenderService).showSelection(),this}}b.FWorkbook.extend(T);class B extends b.FWorksheet{refreshCanvas(){const e=this._injector.get(u.IRenderManagerService),r=this._fWorkbook.id,t=e.getRenderById(r);if(!t)throw new Error(`Render Unit with unitId ${r} not found`);t.with(s.SheetSkeletonManagerService).reCalculate();const i=t.mainComponent;if(!i)throw new Error("Main component not found");return i.makeDirty(),this}highlightRanges(e,r,t){const i=this._injector.get(s.IMarkSelectionService),o=[];for(const a of e){const l=a.getRange(),g=i.addShapeWithNoFresh({range:l,style:r,primary:t});g&&o.push(g)}if(i.refreshShapes(),o.length===0)throw new Error("Failed to highlight current range");return h.toDisposable(()=>{o.forEach(a=>{i.removeShape(a)})})}zoom(e){const r=this._injector.get(h.ICommandService),t=Math.min(Math.max(e,.1),4);return r.executeCommand(s.SetZoomRatioCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),zoomRatio:t}),this}getZoom(){return this._worksheet.getZoomRatio()}getVisibleRange(){const e=this._workbook.getUnitId(),t=this._injector.get(u.IRenderManagerService).getRenderById(e);if(!t)return null;const o=t.with(s.SheetSkeletonManagerService).getCurrentSkeleton();return o?o.getVisibleRangeByViewport(u.SHEET_VIEWPORT_KEY.VIEW_MAIN):null}getVisibleRangesOfAllViewports(){const e=this._workbook.getUnitId(),t=this._injector.get(u.IRenderManagerService).getRenderById(e);if(!t)return null;const o=t.with(s.SheetSkeletonManagerService).getCurrentSkeleton();return o?o.getVisibleRanges():null}scrollToCell(e,r,t){const i=this._workbook.getUnitId(),a=this._injector.get(u.IRenderManagerService).getRenderById(i);return a&&(a==null?void 0:a.with(s.SheetsScrollRenderController)).scrollToCell(e,r,t),this}getScrollState(){const e={offsetX:0,offsetY:0,sheetViewStartColumn:0,sheetViewStartRow:0},r=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),o=this._injector.get(u.IRenderManagerService).getRenderById(r);return o&&o.with(s.SheetScrollManagerService).getScrollStateByParam({unitId:r,sheetId:t})||e}onScroll(e){var o;const r=this._workbook.getUnitId(),i=(o=this._injector.get(u.IRenderManagerService).getRenderById(r))==null?void 0:o.with(s.SheetScrollManagerService);if(i){const a=i.validViewportScrollInfo$.subscribe(l=>{e(l)});return h.toDisposable(a)}return h.toDisposable(()=>{})}getSkeleton(){var r,t;const e=(r=this._injector.get(u.IRenderManagerService).getRenderById(this._workbook.getUnitId()))==null?void 0:r.with(s.SheetSkeletonManagerService);return(t=e==null?void 0:e.getWorksheetSkeleton(this._worksheet.getSheetId()))==null?void 0:t.skeleton}autoResizeColumn(e){return this.autoResizeColumns(e,1)}autoResizeColumns(e,r){const t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),o=[{startColumn:e,endColumn:e+r-1,startRow:0,endRow:this._worksheet.getRowCount()-1}];return this._commandService.syncExecuteCommand(s.SetWorksheetColAutoWidthCommand.id,{unitId:t,subUnitId:i,ranges:o}),this}setColumnAutoWidth(e,r){return this.autoResizeColumns(e,r)}autoResizeRows(e,r){const t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),o=[{startRow:e,endRow:e+r-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(f.SetWorksheetRowIsAutoHeightCommand.id,{unitId:t,subUnitId:i,ranges:o}),this}customizeColumnHeader(e){var l,g;const r=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),o=this._injector.get(u.IRenderManagerService).getRenderById(r);o&&((l=e.headerStyle)!=null&&l.size)&&o.with(s.SheetSkeletonManagerService).setColumnHeaderSize(o,t,(g=e.headerStyle)==null?void 0:g.size),this._getSheetRenderComponent(r,s.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e,t)}customizeRowHeader(e){var l,g;const r=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),o=this._injector.get(u.IRenderManagerService).getRenderById(r);o&&((l=e.headerStyle)!=null&&l.size)&&o.with(s.SheetSkeletonManagerService).setRowHeaderSize(o,t,(g=e.headerStyle)==null?void 0:g.size),this._getSheetRenderComponent(r,s.SHEET_VIEW_KEY.ROW).setCustomHeader(e,t)}setColumnHeaderHeight(e){const r=this._workbook.getUnitId(),t=this._worksheet.getSheetId();return this._commandService.executeCommand(s.SetColumnHeaderHeightCommand.id,{unitId:r,subUnitId:t,size:e}),this}setRowHeaderWidth(e){const r=this._workbook.getUnitId(),t=this._worksheet.getSheetId();return this._commandService.executeCommand(s.SetRowHeaderWidthCommand.id,{unitId:r,subUnitId:t,size:e}),this}_getSheetRenderComponent(e,r){const i=this._injector.get(u.IRenderManagerService).getRenderById(e);if(!i)throw new Error(`Render Unit with unitId ${e} not found`);const{components:o}=i,a=o.get(r);if(!a)throw new Error("Render component not found");return a}}b.FWorksheet.extend(B);class A extends b.FPermission{setPermissionDialogVisible(e){this._permissionService.setShowComponents(e)}}b.FPermission.extend(A);class x extends b.FSheetHooks{onCellPointerMove(e){return h.toDisposable(this._injector.get(s.HoverManagerService).currentPosition$.subscribe(e))}onCellPointerOver(e){return h.toDisposable(this._injector.get(s.HoverManagerService).currentCell$.subscribe(e))}onCellDragOver(e){return h.toDisposable(this._injector.get(s.DragManagerService).currentCell$.subscribe(e))}onCellDrop(e){return h.toDisposable(this._injector.get(s.DragManagerService).endCell$.subscribe(e))}onCellRender(e,r=h.InterceptorEffectEnum.Style,t=f.InterceptCellContentPriority.DATA_VALIDATION){return this._injector.get(f.SheetInterceptorService).intercept(f.INTERCEPTOR_POINT.CELL_CONTENT,{effect:r,handler:(i,o,a)=>(i&&!i.customRender&&e&&(i.customRender=[...e]),a(i)),priority:t})}onBeforeCellEdit(e){return this._injector.get(h.ICommandService).beforeCommandExecuted(r=>{const t=r.params;r.id===s.SetCellEditVisibleOperation.id&&t.visible&&e(t)})}onAfterCellEdit(e){return this._injector.get(h.ICommandService).onCommandExecuted(r=>{const t=r.params;r.id===s.SetCellEditVisibleOperation.id&&!t.visible&&e(t)})}}b.FSheetHooks.extend(x);const k={CellClicked:"CellClicked",CellPointerDown:"CellPointerDown",CellPointerUp:"CellPointerUp",CellPointerMove:"CellPointerMove",CellHover:"CellHover"};class O{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 k.CellClicked}get CellHover(){return k.CellHover}get CellPointerDown(){return k.CellPointerDown}get CellPointerUp(){return k.CellPointerUp}get CellPointerMove(){return k.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"}}R.FEventName.extend(O);class H{get SHEET_VIEWPORT_KEY(){return u.SHEET_VIEWPORT_KEY}}R.FEnum.extend(H);class j extends b.FRange{getCell(){var l;const e=this._injector.get(u.IRenderManagerService),r=this._injector.get(h.ILogService),t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),o=e.getRenderById(t),a=(l=o==null?void 0:o.with(s.SheetSkeletonManagerService).getSkeletonParam(i))==null?void 0:l.skeleton;if(!a)throw r.error("[Facade]: `FRange.getCell` can only be called in current worksheet"),new Error("`FRange.getCell` can only be called in current worksheet");return a.getCellWithCoordByIndex(this._range.startRow,this._range.startColumn)}getCellRect(){const{startX:e,startY:r,endX:t,endY:i}=this.getCell(),o={x:e,y:r,width:t-e,height:i-r,top:r,left:e,bottom:i,right:t};return{...o,toJSON:()=>JSON.stringify(o)}}generateHTML(){var t;const r=this._injector.get(s.ISheetClipboardService).generateCopyContent(this._workbook.getUnitId(),this._worksheet.getSheetId(),this._range);return(t=r==null?void 0:r.html)!=null?t:""}attachPopup(e){var a,l,g;e.direction=(a=e.direction)!=null?a:"horizontal",e.extraProps=(l=e.extraProps)!=null?l:{},e.offset=(g=e.offset)!=null?g:[0,0];const{key:r,disposableCollection:t}=M(e,this._injector.get(C.ComponentManager)),o=this._injector.get(s.SheetCanvasPopManagerService).attachPopupToCell(this._range.startRow,this._range.startColumn,{...e,componentKey:r},this.getUnitId(),this._worksheet.getSheetId());return o?(t.add(o),t):(t.dispose(),null)}attachAlertPopup(e){const r=this._injector.get(s.CellAlertManagerService),t={workbook:this._workbook,worksheet:this._worksheet,row:this._range.startRow,col:this._range.startColumn,unitId:this.getUnitId(),subUnitId:this._worksheet.getSheetId()};return r.showAlert({...e,location:t}),{dispose:()=>{r.removeAlert(e.key)}}}attachRangePopup(e){var a,l,g;e.direction=(a=e.direction)!=null?a:"top-center",e.extraProps=(l=e.extraProps)!=null?l:{},e.offset=(g=e.offset)!=null?g:[0,0];const{key:r,disposableCollection:t}=M(e,this._injector.get(C.ComponentManager)),o=this._injector.get(s.SheetCanvasPopManagerService).attachRangePopup(this._range,{...e,componentKey:r},this.getUnitId(),this._worksheet.getSheetId());return o?(t.add(o),t):(t.dispose(),null)}highlight(e,r){const t=this._injector.get(s.IMarkSelectionService),i=t.addShape({range:this._range,style:e,primary:r});if(!i)throw new Error("Failed to highlight current range");return h.toDisposable(()=>{t.removeShape(i)})}showDropdown(e){return this._injector.get(s.ISheetCellDropdownManagerService).showDropdown(e)}async autoFill(e,r){const t=this.getRange(),i=e.getRange();if(!h.Rectangle.contains(i,t))throw new Error("AutoFill target range must contain source range");const{startRow:o,startColumn:a,endRow:l,endColumn:g}=t,{startRow:S,startColumn:v,endRow:c,endColumn:n}=i;if(l-o!==c-S&&g-a!==n-v)throw new Error("AutoFill can only fill in one direction");if(l-o===c-S&&a!==v&&g!==n)throw new Error("AutoFill can only fill in one direction");if(g-a===n-v&&o!==S&&l!==c)throw new Error("AutoFill can only fill in one direction");return this._commandService.executeCommand(s.AutoFillCommand.id,{sourceRange:t,targetRange:i,unitId:this.getUnitId(),subUnitId:this.getSheetId(),applyType:r})}}b.FRange.extend(j);function M(I,e){const{componentKey:r,isVue3:t}=I;let i;const o=new h.DisposableCollection;return typeof r=="string"?i=r:(i=`External_${h.generateRandomId(6)}`,o.add(e.register(i,r,{framework:t?"vue3":"react"}))),{key:i,disposableCollection:o}}p.FSheetsUIEnum=H,p.transformComponentKey=M,Object.defineProperty(p,Symbol.toStringTag,{value:"Module"})}));
1
+ (function(E,h){typeof exports=="object"&&typeof module<"u"?h(exports,require("@univerjs/core"),require("@univerjs/core/facade"),require("@univerjs/docs"),require("@univerjs/engine-render"),require("@univerjs/sheets"),require("@univerjs/sheets-ui"),require("@univerjs/sheets/facade"),require("@univerjs/ui"),require("rxjs")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/core/facade","@univerjs/docs","@univerjs/engine-render","@univerjs/sheets","@univerjs/sheets-ui","@univerjs/sheets/facade","@univerjs/ui","rxjs"],h):(E=typeof globalThis<"u"?globalThis:E||self,h(E.UniverSheetsUiFacade={},E.UniverCore,E.UniverCoreFacade,E.UniverDocs,E.UniverEngineRender,E.UniverSheets,E.UniverSheetsUi,E.UniverSheetsFacade,E.UniverUi,E.rxjs))})(this,(function(E,h,k,R,u,I,s,b,C,m){"use strict";class H extends k.FUniver{_initSheetUIEvent(e){const r=e.get(h.ICommandService);this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetEditStart,()=>r.beforeCommandExecuted(t=>{if(t.id!==s.SetCellEditVisibleOperation.id)return;const i=this.getActiveSheet();if(!i)return;const{workbook:o,worksheet:d}=i,l=e.get(s.IEditorBridgeService),g=t.params,{visible:v,keycode:S,eventType:c}=g,n=l.getEditLocation();if(v){const a={row:n.row,column:n.column,eventType:c,keycode:S,workbook:o,worksheet:d,isZenEditor:!1};if(this.fireEvent(this.Event.BeforeSheetEditStart,a),a.cancel)throw new h.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetEditEnd,()=>r.beforeCommandExecuted(t=>{if(t.id!==s.SetCellEditVisibleOperation.id)return;const i=this.getActiveSheet();if(!i)return;const{workbook:o,worksheet:d}=i,l=e.get(s.IEditorBridgeService),g=e.get(h.IUniverInstanceService),v=t.params,{visible:S,keycode:c,eventType:n}=v,a=l.getEditLocation();if(!S){const p={row:a.row,column:a.column,eventType:n,keycode:c,workbook:o,worksheet:d,isZenEditor:!1,value:h.RichTextValue.create(g.getUnit(h.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isConfirm:c!==C.KeyCode.ESC};if(this.fireEvent(this.Event.BeforeSheetEditEnd,p),p.cancel)throw new h.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetEditStarted,()=>r.onCommandExecuted(t=>{if(t.id!==s.SetCellEditVisibleOperation.id)return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:d}=i,l=e.get(s.IEditorBridgeService),g=t.params,{visible:v,keycode:S,eventType:c}=g,n=l.getEditLocation();if(v){const a={row:n.row,column:n.column,eventType:c,keycode:S,workbook:o,worksheet:d,isZenEditor:!1};this.fireEvent(this.Event.SheetEditStarted,a)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetEditEnded,()=>r.onCommandExecuted(t=>{if(t.id!==s.SetCellEditVisibleOperation.id)return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:d}=i,l=e.get(s.IEditorBridgeService),g=t.params,{visible:v,keycode:S,eventType:c}=g,n=l.getEditLocation();if(!v){const a={row:n.row,column:n.column,eventType:c,keycode:S,workbook:o,worksheet:d,isZenEditor:!1,isConfirm:S!==C.KeyCode.ESC};this.fireEvent(this.Event.SheetEditEnded,a)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetEditChanging,()=>r.onCommandExecuted(t=>{if(t.id!==R.RichTextEditingMutation.id)return;const i=this.getActiveSheet();if(!i)return;const{workbook:o,worksheet:d}=i,l=e.get(s.IEditorBridgeService),g=e.get(h.IUniverInstanceService),v=t.params;if(!l.isVisible().visible)return;const{unitId:S}=v;if(S===h.DOCS_NORMAL_EDITOR_UNIT_ID_KEY){const{row:c,column:n}=l.getEditLocation(),a={workbook:o,worksheet:d,row:c,column:n,value:h.RichTextValue.create(g.getUnit(h.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isZenEditor:!1};this.fireEvent(this.Event.SheetEditChanging,a)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetZoomChange,()=>r.beforeCommandExecuted(t=>{if(t.id!==s.SetZoomRatioCommand.id)return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:d}=i,l={zoom:t.params.zoomRatio,workbook:o,worksheet:d};if(this.fireEvent(this.Event.BeforeSheetZoomChange,l),l.cancel)throw new h.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetZoomChanged,()=>r.onCommandExecuted(t=>{if(t.id!==s.SetZoomRatioCommand.id)return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:d}=i;this.fireEvent(this.Event.SheetZoomChanged,{zoom:d.getZoom(),workbook:o,worksheet:d})})))}_initObserverListener(e){const r=e.get(u.IRenderManagerService),t=e.get(h.LifecycleService),i=new h.DisposableCollection;this.disposeWithMe(t.lifecycle$.subscribe(g=>{if(g!==h.LifecycleStages.Rendered)return;const v=e.get(s.HoverManagerService),S=e.get(s.DragManagerService);v&&(i.dispose(),i.add(this.registerEventHandler(this.Event.CellClicked,()=>{var c;return(c=v.currentClickedCell$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const a=this.getSheetTarget(n.location.unitId,n.location.subUnitId);a&&this.fireEvent(this.Event.CellClicked,{...a,...n,row:n.location.row,column:n.location.col})})})),i.add(this.registerEventHandler(this.Event.CellHover,()=>{var c;return(c=v.currentRichText$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const a=this.getSheetTarget(n.unitId,n.subUnitId);a&&this.fireEvent(this.Event.CellHover,{...a,...n,row:n.row,column:n.col})})})),i.add(this.registerEventHandler(this.Event.CellPointerDown,()=>{var c;return(c=v.currentPointerDownCell$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const a=this.getSheetTarget(n.unitId,n.subUnitId);a&&this.fireEvent(this.Event.CellPointerDown,{...a,...n,row:n.row,column:n.col})})})),i.add(this.registerEventHandler(this.Event.CellPointerUp,()=>{var c;return(c=v.currentPointerUpCell$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const a=this.getSheetTarget(n.unitId,n.subUnitId);a&&this.fireEvent(this.Event.CellPointerUp,{...a,...n,row:n.row,column:n.col})})})),i.add(this.registerEventHandler(this.Event.CellPointerMove,()=>{var c;return(c=v.currentCellPosWithEvent$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const a=this.getSheetTarget(n.unitId,n.subUnitId);a&&this.fireEvent(this.Event.CellPointerMove,{...a,...n,row:n.row,column:n.col})})})),i.add(this.registerEventHandler(this.Event.DragOver,()=>{var c;return(c=S.currentCell$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const a=this.getSheetTarget(n.location.unitId,n.location.subUnitId);a&&this.fireEvent(this.Event.DragOver,{...a,...n,row:n.location.row,column:n.location.col})})})),i.add(this.registerEventHandler(this.Event.Drop,()=>{var c;return(c=S.endCell$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const a=this.getSheetTarget(n.location.unitId,n.location.subUnitId);a&&this.fireEvent(this.Event.Drop,{...a,...n,row:n.location.row,column:n.location.col})})})),i.add(this.registerEventHandler(this.Event.RowHeaderClick,()=>{var c;return(c=v.currentRowHeaderClick$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const a=this.getSheetTarget(n.unitId,n.subUnitId);a&&this.fireEvent(this.Event.RowHeaderClick,{...a,row:n.index})})})),i.add(this.registerEventHandler(this.Event.RowHeaderPointerDown,()=>{var c;return(c=v.currentRowHeaderPointerDown$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const a=this.getSheetTarget(n.unitId,n.subUnitId);a&&this.fireEvent(this.Event.RowHeaderPointerDown,{...a,row:n.index})})})),i.add(this.registerEventHandler(this.Event.RowHeaderPointerUp,()=>{var c;return(c=v.currentRowHeaderPointerUp$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const a=this.getSheetTarget(n.unitId,n.subUnitId);a&&this.fireEvent(this.Event.RowHeaderPointerUp,{...a,row:n.index})})})),i.add(this.registerEventHandler(this.Event.RowHeaderHover,()=>{var c;return(c=v.currentHoveredRowHeader$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const a=this.getSheetTarget(n.unitId,n.subUnitId);a&&this.fireEvent(this.Event.RowHeaderHover,{...a,row:n.index})})})),i.add(this.registerEventHandler(this.Event.ColumnHeaderClick,()=>{var c;return(c=v.currentColHeaderClick$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const a=this.getSheetTarget(n.unitId,n.subUnitId);a&&this.fireEvent(this.Event.ColumnHeaderClick,{...a,column:n.index})})})),i.add(this.registerEventHandler(this.Event.ColumnHeaderPointerDown,()=>{var c;return(c=v.currentColHeaderPointerDown$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const a=this.getSheetTarget(n.unitId,n.subUnitId);a&&this.fireEvent(this.Event.ColumnHeaderPointerDown,{...a,column:n.index})})})),i.add(this.registerEventHandler(this.Event.ColumnHeaderPointerUp,()=>{var c;return(c=v.currentColHeaderPointerUp$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const a=this.getSheetTarget(n.unitId,n.subUnitId);a&&this.fireEvent(this.Event.ColumnHeaderPointerUp,{...a,column:n.index})})})),i.add(this.registerEventHandler(this.Event.ColumnHeaderHover,()=>{var c;return(c=v.currentHoveredColHeader$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const a=this.getSheetTarget(n.unitId,n.subUnitId);a&&this.fireEvent(this.Event.ColumnHeaderHover,{...a,column:n.index})})})),this.disposeWithMe(i))}));let o;const d=m.combineLatest([r.created$,t.lifecycle$]),l=new h.DisposableCollection;this.disposeWithMe(d.subscribe(([g,v])=>{if(g.type===h.UniverInstanceType.UNIVER_SHEET&&(o=g),v<=h.LifecycleStages.Rendered||!o)return;const S=this.getWorkbook(o.unitId);if(!S)return;l.dispose();const c=o.with(s.SheetScrollManagerService),n=o.with(I.SheetsSelectionsService);l.add(this.registerEventHandler(this.Event.Scroll,()=>c.validViewportScrollInfo$.subscribe(a=>{a&&this.fireEvent(this.Event.Scroll,{workbook:S,worksheet:S.getActiveSheet(),...a})}))),l.add(this.registerEventHandler(this.Event.SelectionMoveStart,()=>n.selectionMoveStart$.subscribe(a=>{var p;this.fireEvent(this.Event.SelectionMoveStart,{workbook:S,worksheet:S.getActiveSheet(),selections:(p=a==null?void 0:a.map(f=>f.range))!=null?p:[]})}))),l.add(this.registerEventHandler(this.Event.SelectionMoving,()=>n.selectionMoving$.subscribe(a=>{var p;this.fireEvent(this.Event.SelectionMoving,{workbook:S,worksheet:S.getActiveSheet(),selections:(p=a==null?void 0:a.map(f=>f.range))!=null?p:[]})}))),l.add(this.registerEventHandler(this.Event.SelectionMoveEnd,()=>n.selectionMoveEnd$.subscribe(a=>{var p;this.fireEvent(this.Event.SelectionMoveEnd,{workbook:S,worksheet:S.getActiveSheet(),selections:(p=a==null?void 0:a.map(f=>f.range))!=null?p:[]})}))),l.add(this.registerEventHandler(this.Event.SelectionChanged,()=>n.selectionChanged$.subscribe(a=>{var p;this.fireEvent(this.Event.SelectionChanged,{workbook:S,worksheet:S.getActiveSheet(),selections:(p=a==null?void 0:a.map(f=>f.range))!=null?p:[]})}))),o=null,this.disposeWithMe(l)}))}_initialize(e){this._initSheetUIEvent(e),this._initObserverListener(e);const r=e.get(h.ICommandService);this.disposeWithMe(this.registerEventHandler(this.Event.BeforeClipboardChange,()=>r.beforeCommandExecuted(t=>{switch(t.id){case C.CopyCommand.id:case C.CutCommand.id:this._beforeClipboardChange();break}}))),this.disposeWithMe(this.registerEventHandler(this.Event.ClipboardChanged,()=>r.onCommandExecuted(t=>{switch(t.id){case C.CopyCommand.id:case C.CutCommand.id:this._clipboardChanged();break}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeClipboardPaste,()=>r.beforeCommandExecuted(t=>{switch(t.id){case s.SheetPasteShortKeyCommand.id:this._beforeClipboardPaste(t.params);break;case C.PasteCommand.id:this._beforeClipboardPasteAsync();break}}))),this.disposeWithMe(this.registerEventHandler(this.Event.ClipboardPasted,()=>r.onCommandExecuted(t=>{switch(t.id){case s.SheetPasteShortKeyCommand.id:this._clipboardPaste(t.params);break;case C.PasteCommand.id:this._clipboardPasteAsync();break}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetSkeletonChanged,()=>r.onCommandExecuted(t=>{if(I.COMMAND_LISTENER_SKELETON_CHANGE.indexOf(t.id)>-1){const i=this.getActiveSheet();if(!i)return;const o=I.getSkeletonChangedEffectedRange(t,i.worksheet.getMaxColumns()).map(d=>{var l,g;return(g=(l=this.getWorkbook(d.unitId))==null?void 0:l.getSheetBySheetId(d.subUnitId))==null?void 0:g.getRange(d.range)}).filter(Boolean);if(!o.length)return;this.fireEvent(this.Event.SheetSkeletonChanged,{workbook:i.workbook,worksheet:i.worksheet,payload:t,skeleton:i.worksheet.getSkeleton(),effectedRanges:o})}})))}_generateClipboardCopyParam(){const e=this.getActiveWorkbook(),r=e==null?void 0:e.getActiveSheet(),t=e==null?void 0:e.getActiveRange();if(!e||!r||!t)return;const o=this._injector.get(s.ISheetClipboardService).generateCopyContent(e.getId(),r.getSheetId(),t.getRange());if(!o)return;const{html:d,plain:l}=o;return{workbook:e,worksheet:r,text:l,html:d,fromSheet:r,fromRange:t}}_beforeClipboardChange(){const e=this._generateClipboardCopyParam();if(e&&(this.fireEvent(this.Event.BeforeClipboardChange,e),e.cancel))throw new h.CanceledError}_clipboardChanged(){const e=this._generateClipboardCopyParam();e&&this.fireEvent(this.Event.ClipboardChanged,e)}_generateClipboardPasteParam(e){if(!e)return;const{htmlContent:r,textContent:t}=e,i=this.getActiveWorkbook(),o=i==null?void 0:i.getActiveSheet();return!i||!o?void 0:{workbook:i,worksheet:o,text:t,html:r}}async _generateClipboardPasteParamAsync(){const e=this.getActiveWorkbook(),r=e==null?void 0:e.getActiveSheet();if(!e||!r)return;const o=(await this._injector.get(C.IClipboardInterfaceService).read())[0];let d;if(o){const l=o.types,g=l.indexOf(C.PLAIN_TEXT_CLIPBOARD_MIME_TYPE)!==-1?await o.getType(C.PLAIN_TEXT_CLIPBOARD_MIME_TYPE).then(S=>S&&S.text()):"",v=l.indexOf(C.HTML_CLIPBOARD_MIME_TYPE)!==-1?await o.getType(C.HTML_CLIPBOARD_MIME_TYPE).then(S=>S&&S.text()):"";d={workbook:e,worksheet:r,text:g,html:v}}return d}_beforeClipboardPaste(e){const r=this._generateClipboardPasteParam(e);if(r&&(this.fireEvent(this.Event.BeforeClipboardPaste,r),r.cancel))throw new h.CanceledError}_clipboardPaste(e){const r=this._generateClipboardPasteParam(e);if(r&&(this.fireEvent(this.Event.ClipboardPasted,r),r.cancel))throw new h.CanceledError}async _beforeClipboardPasteAsync(){if(!C.supportClipboardAPI()){this._injector.get(h.ILogService).warn("[Facade]: The navigator object only supports the browser environment");return}const e=await this._generateClipboardPasteParamAsync();if(e&&(this.fireEvent(this.Event.BeforeClipboardPaste,e),e.cancel))throw new h.CanceledError}async _clipboardPasteAsync(){if(!C.supportClipboardAPI()){this._injector.get(h.ILogService).warn("[Facade]: The navigator object only supports the browser environment");return}const e=await this._generateClipboardPasteParamAsync();if(e&&(this.fireEvent(this.Event.ClipboardPasted,e),e.cancel))throw new h.CanceledError}customizeColumnHeader(e){var v,S;const r=this.getActiveWorkbook();if(!r){console.error("WorkBook not exist");return}const t=r==null?void 0:r.getId(),i=this._injector.get(u.IRenderManagerService),o=r.getActiveSheet(),d=o.getSheetId(),l=i.getRenderById(t);l&&((v=e.headerStyle)!=null&&v.size)&&(l.with(s.SheetSkeletonManagerService).setColumnHeaderSize(l,d,(S=e.headerStyle)==null?void 0:S.size),o==null||o.refreshCanvas()),this._getSheetRenderComponent(t,s.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e),o==null||o.refreshCanvas()}customizeRowHeader(e){const r=this.getActiveWorkbook();if(!r){console.error("WorkBook not exist");return}const t=r==null?void 0:r.getId();this._getSheetRenderComponent(t,s.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}registerSheetRowHeaderExtension(e,...r){const t=this._getSheetRenderComponent(e,s.SHEET_VIEW_KEY.ROW),i=t.register(...r);return h.toDisposable(()=>{i.dispose(),t.makeDirty(!0)})}registerSheetColumnHeaderExtension(e,...r){const t=this._getSheetRenderComponent(e,s.SHEET_VIEW_KEY.COLUMN),i=t.register(...r);return h.toDisposable(()=>{i.dispose(),t.makeDirty(!0)})}registerSheetMainExtension(e,...r){const t=this._getSheetRenderComponent(e,s.SHEET_VIEW_KEY.MAIN),i=t.register(...r);return h.toDisposable(()=>{i.dispose(),t.makeDirty(!0)})}_getSheetRenderComponent(e,r){const i=this._injector.get(u.IRenderManagerService).getRenderById(e);if(!i)throw new Error(`Render Unit with unitId ${e} not found`);const{components:o}=i,d=o.get(r);if(!d)throw new Error("Render component not found");return d}getSheetHooks(){return this._injector.createInstance(b.FSheetHooks)}pasteIntoSheet(e,r,t){return this._commandService.executeCommand(s.SheetPasteShortKeyCommand.id,{htmlContent:e,textContent:r,files:t})}setProtectedRangeShadowStrategy(e){this._injector.get(s.SheetPermissionRenderManagerService).setProtectedRangeShadowStrategy(e)}getProtectedRangeShadowStrategy(){return this._injector.get(s.SheetPermissionRenderManagerService).getProtectedRangeShadowStrategy()}getProtectedRangeShadowStrategy$(){return this._injector.get(s.SheetPermissionRenderManagerService).getProtectedRangeShadowStrategy$()}setPermissionDialogVisible(e){this._injector.get(h.IPermissionService).setShowComponents(e)}}k.FUniver.extend(H);class y extends b.FWorkbook{openSiderbar(e){return this._logDeprecation("openSiderbar"),this._injector.get(C.ISidebarService).open(e)}openDialog(e){this._logDeprecation("openDialog");const t=this._injector.get(C.IDialogService).open({...e,onClose:()=>{t.dispose()}});return t}customizeColumnHeader(e){const r=this._workbook.getUnitId();this._getSheetRenderComponent(r,s.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e)}customizeRowHeader(e){const r=this._workbook.getUnitId();this._getSheetRenderComponent(r,s.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}_getSheetRenderComponent(e,r){const i=this._injector.get(u.IRenderManagerService).getRenderById(e);if(!i)throw new Error(`Render Unit with unitId ${e} not found`);const{components:o}=i,d=o.get(r);if(!d)throw new Error("Render component not found");return d}_logDeprecation(e){this._injector.get(h.ILogService).warn("[FWorkbook]",`${e} is deprecated. Please use the function of the same name on "FUniver".`)}generateCellParams(e){const r=this.getActiveSheet();return{row:e.row,column:e.col,workbook:this,worksheet:r}}onCellClick(e){const r=this._injector.get(s.HoverManagerService);return h.toDisposable(r.currentClickedCell$.pipe(m.filter(t=>!!t)).subscribe(t=>{e(t)}))}onCellHover(e){const r=this._injector.get(s.HoverManagerService);return h.toDisposable(r.currentRichText$.pipe(m.filter(t=>!!t)).subscribe(e))}onCellPointerDown(e){const r=this._injector.get(s.HoverManagerService);return h.toDisposable(r.currentPointerDownCell$.subscribe(e))}onCellPointerUp(e){const r=this._injector.get(s.HoverManagerService);return h.toDisposable(r.currentPointerUpCell$.subscribe(e))}onCellPointerMove(e){const r=this._injector.get(s.HoverManagerService);return h.toDisposable(r.currentCellPosWithEvent$.pipe(m.filter(t=>!!t)).subscribe(t=>{e(t,t.event)}))}onDragOver(e){const r=this._injector.get(s.DragManagerService);return h.toDisposable(r.currentCell$.pipe(m.filter(t=>!!t)).subscribe(t=>{e(t)}))}onDrop(e){const r=this._injector.get(s.DragManagerService);return h.toDisposable(r.endCell$.pipe(m.filter(t=>!!t)).subscribe(t=>{e(t)}))}startEditing(){const e=this._injector.get(h.ICommandService);return this._injector.get(s.IEditorBridgeService).isVisible().visible?!0:e.syncExecuteCommand(s.SetCellEditVisibleOperation.id,{eventType:u.DeviceInputEventType.Dblclick,unitId:this._workbook.getUnitId(),visible:!0})}async endEditing(e){const r=this._injector.get(h.ICommandService);return this._injector.get(s.IEditorBridgeService).isVisible().visible&&r.syncExecuteCommand(s.SetCellEditVisibleOperation.id,{eventType:u.DeviceInputEventType.Keyboard,keycode:e?C.KeyCode.ENTER:C.KeyCode.ESC,visible:!1,unitId:this._workbook.getUnitId()}),await h.awaitTime(0),!0}endEditingAsync(e=!0){return this.endEditing(e)}abortEditingAsync(){return this.endEditingAsync(!1)}isCellEditing(){return this._injector.get(s.IEditorBridgeService).isVisible().visible}getScrollStateBySheetId(e){const r=this._workbook.getUnitId(),i=this._injector.get(u.IRenderManagerService).getRenderById(r);return i?i.with(s.SheetScrollManagerService).getScrollStateByParam({unitId:r,sheetId:e}):null}disableSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(u.IRenderManagerService).getRenderById(e);return t&&t.with(s.ISheetSelectionRenderService).disableSelection(),this}enableSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(u.IRenderManagerService).getRenderById(e);return t&&t.with(s.ISheetSelectionRenderService).enableSelection(),this}transparentSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(u.IRenderManagerService).getRenderById(e);return t&&t.with(s.ISheetSelectionRenderService).transparentSelection(),this}showSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(u.IRenderManagerService).getRenderById(e);return t&&t.with(s.ISheetSelectionRenderService).showSelection(),this}}b.FWorkbook.extend(y);class D extends b.FWorksheet{refreshCanvas(){const e=this._injector.get(u.IRenderManagerService),r=this._fWorkbook.id,t=e.getRenderById(r);if(!t)throw new Error(`Render Unit with unitId ${r} not found`);t.with(s.SheetSkeletonManagerService).reCalculate();const i=t.mainComponent;if(!i)throw new Error("Main component not found");return i.makeDirty(),this}highlightRanges(e,r,t){const i=this._injector.get(s.IMarkSelectionService),o=[];for(const d of e){const l=d.getRange(),g=i.addShapeWithNoFresh({range:l,style:r,primary:t});g&&o.push(g)}if(i.refreshShapes(),o.length===0)throw new Error("Failed to highlight current range");return h.toDisposable(()=>{o.forEach(d=>{i.removeShape(d)})})}zoom(e){const r=this._injector.get(h.ICommandService),t=Math.min(Math.max(e,.1),4);return r.executeCommand(s.SetZoomRatioCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),zoomRatio:t}),this}getZoom(){return this._worksheet.getZoomRatio()}getVisibleRange(){const e=this._workbook.getUnitId(),t=this._injector.get(u.IRenderManagerService).getRenderById(e);if(!t)return null;const o=t.with(s.SheetSkeletonManagerService).getCurrentSkeleton();return o?o.getVisibleRangeByViewport(u.SHEET_VIEWPORT_KEY.VIEW_MAIN):null}getVisibleRangesOfAllViewports(){const e=this._workbook.getUnitId(),t=this._injector.get(u.IRenderManagerService).getRenderById(e);if(!t)return null;const o=t.with(s.SheetSkeletonManagerService).getCurrentSkeleton();return o?o.getVisibleRanges():null}scrollToCell(e,r,t){const i=this._workbook.getUnitId(),d=this._injector.get(u.IRenderManagerService).getRenderById(i);return d&&(d==null?void 0:d.with(s.SheetsScrollRenderController)).scrollToCell(e,r,t),this}getScrollState(){const e={offsetX:0,offsetY:0,sheetViewStartColumn:0,sheetViewStartRow:0},r=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),o=this._injector.get(u.IRenderManagerService).getRenderById(r);return o&&o.with(s.SheetScrollManagerService).getScrollStateByParam({unitId:r,sheetId:t})||e}onScroll(e){var o;const r=this._workbook.getUnitId(),i=(o=this._injector.get(u.IRenderManagerService).getRenderById(r))==null?void 0:o.with(s.SheetScrollManagerService);if(i){const d=i.validViewportScrollInfo$.subscribe(l=>{e(l)});return h.toDisposable(d)}return h.toDisposable(()=>{})}getSkeleton(){var r,t;const e=(r=this._injector.get(u.IRenderManagerService).getRenderById(this._workbook.getUnitId()))==null?void 0:r.with(s.SheetSkeletonManagerService);return(t=e==null?void 0:e.getWorksheetSkeleton(this._worksheet.getSheetId()))==null?void 0:t.skeleton}autoResizeColumn(e){return this.autoResizeColumns(e,1)}autoResizeColumns(e,r){const t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),o=[{startColumn:e,endColumn:e+r-1,startRow:0,endRow:this._worksheet.getRowCount()-1}];return this._commandService.syncExecuteCommand(s.SetWorksheetColAutoWidthCommand.id,{unitId:t,subUnitId:i,ranges:o}),this}setColumnAutoWidth(e,r){return this.autoResizeColumns(e,r)}autoResizeRows(e,r){const t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),o=[{startRow:e,endRow:e+r-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(I.SetWorksheetRowIsAutoHeightCommand.id,{unitId:t,subUnitId:i,ranges:o}),this}customizeColumnHeader(e){var l,g;const r=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),o=this._injector.get(u.IRenderManagerService).getRenderById(r);o&&((l=e.headerStyle)!=null&&l.size)&&o.with(s.SheetSkeletonManagerService).setColumnHeaderSize(o,t,(g=e.headerStyle)==null?void 0:g.size),this._getSheetRenderComponent(r,s.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e,t)}customizeRowHeader(e){var l,g;const r=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),o=this._injector.get(u.IRenderManagerService).getRenderById(r);o&&((l=e.headerStyle)!=null&&l.size)&&o.with(s.SheetSkeletonManagerService).setRowHeaderSize(o,t,(g=e.headerStyle)==null?void 0:g.size),this._getSheetRenderComponent(r,s.SHEET_VIEW_KEY.ROW).setCustomHeader(e,t)}setColumnHeaderHeight(e){const r=this._workbook.getUnitId(),t=this._worksheet.getSheetId();return this._commandService.executeCommand(s.SetColumnHeaderHeightCommand.id,{unitId:r,subUnitId:t,size:e}),this}setRowHeaderWidth(e){const r=this._workbook.getUnitId(),t=this._worksheet.getSheetId();return this._commandService.executeCommand(s.SetRowHeaderWidthCommand.id,{unitId:r,subUnitId:t,size:e}),this}_getSheetRenderComponent(e,r){const i=this._injector.get(u.IRenderManagerService).getRenderById(e);if(!i)throw new Error(`Render Unit with unitId ${e} not found`);const{components:o}=i,d=o.get(r);if(!d)throw new Error("Render component not found");return d}}b.FWorksheet.extend(D);class T extends b.FPermission{setPermissionDialogVisible(e){this._permissionService.setShowComponents(e)}}b.FPermission.extend(T);class B extends b.FSheetHooks{onCellPointerMove(e){return h.toDisposable(this._injector.get(s.HoverManagerService).currentPosition$.subscribe(e))}onCellPointerOver(e){return h.toDisposable(this._injector.get(s.HoverManagerService).currentCell$.subscribe(e))}onCellDragOver(e){return h.toDisposable(this._injector.get(s.DragManagerService).currentCell$.subscribe(e))}onCellDrop(e){return h.toDisposable(this._injector.get(s.DragManagerService).endCell$.subscribe(e))}onCellRender(e,r=h.InterceptorEffectEnum.Style,t=I.InterceptCellContentPriority.DATA_VALIDATION){return this._injector.get(I.SheetInterceptorService).intercept(I.INTERCEPTOR_POINT.CELL_CONTENT,{effect:r,handler:(i,o,d)=>(i&&!i.customRender&&e&&(i.customRender=[...e]),d(i)),priority:t})}onBeforeCellEdit(e){return this._injector.get(h.ICommandService).beforeCommandExecuted(r=>{const t=r.params;r.id===s.SetCellEditVisibleOperation.id&&t.visible&&e(t)})}onAfterCellEdit(e){return this._injector.get(h.ICommandService).onCommandExecuted(r=>{const t=r.params;r.id===s.SetCellEditVisibleOperation.id&&!t.visible&&e(t)})}}b.FSheetHooks.extend(B);const _={CellClicked:"CellClicked",CellPointerDown:"CellPointerDown",CellPointerUp:"CellPointerUp",CellPointerMove:"CellPointerMove",CellHover:"CellHover"};class A{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"}}k.FEventName.extend(A);class P{get SHEET_VIEWPORT_KEY(){return u.SHEET_VIEWPORT_KEY}}k.FEnum.extend(P);class x extends b.FRange{getCell(){var l;const e=this._injector.get(u.IRenderManagerService),r=this._injector.get(h.ILogService),t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),o=e.getRenderById(t),d=(l=o==null?void 0:o.with(s.SheetSkeletonManagerService).getSkeletonParam(i))==null?void 0:l.skeleton;if(!d)throw r.error("[Facade]: `FRange.getCell` can only be called in current worksheet"),new Error("`FRange.getCell` can only be called in current worksheet");return d.getCellWithCoordByIndex(this._range.startRow,this._range.startColumn)}getCellRect(){const{startX:e,startY:r,endX:t,endY:i}=this.getCell(),o={x:e,y:r,width:t-e,height:i-r,top:r,left:e,bottom:i,right:t};return{...o,toJSON:()=>JSON.stringify(o)}}generateHTML(){var t;const r=this._injector.get(s.ISheetClipboardService).generateCopyContent(this._workbook.getUnitId(),this._worksheet.getSheetId(),this._range);return(t=r==null?void 0:r.html)!=null?t:""}attachPopup(e){var d,l,g;e.direction=(d=e.direction)!=null?d:"horizontal",e.extraProps=(l=e.extraProps)!=null?l:{},e.offset=(g=e.offset)!=null?g:[0,0];const{key:r,disposableCollection:t}=M(e,this._injector.get(C.ComponentManager)),o=this._injector.get(s.SheetCanvasPopManagerService).attachPopupToCell(this._range.startRow,this._range.startColumn,{...e,componentKey:r},this.getUnitId(),this._worksheet.getSheetId());return o?(t.add(o),t):(t.dispose(),null)}attachAlertPopup(e){const r=this._injector.get(s.CellAlertManagerService),t={workbook:this._workbook,worksheet:this._worksheet,row:this._range.startRow,col:this._range.startColumn,unitId:this.getUnitId(),subUnitId:this._worksheet.getSheetId()};return r.showAlert({...e,location:t}),{dispose:()=>{r.removeAlert(e.key)}}}attachRangePopup(e){var d,l,g;e.direction=(d=e.direction)!=null?d:"top-center",e.extraProps=(l=e.extraProps)!=null?l:{},e.offset=(g=e.offset)!=null?g:[0,0];const{key:r,disposableCollection:t}=M(e,this._injector.get(C.ComponentManager)),o=this._injector.get(s.SheetCanvasPopManagerService).attachRangePopup(this._range,{...e,componentKey:r},this.getUnitId(),this._worksheet.getSheetId());return o?(t.add(o),t):(t.dispose(),null)}highlight(e,r){const t=this._injector.get(s.IMarkSelectionService),i=t.addShape({range:this._range,style:e,primary:r});if(!i)throw new Error("Failed to highlight current range");return h.toDisposable(()=>{t.removeShape(i)})}showDropdown(e){return this._injector.get(s.ISheetCellDropdownManagerService).showDropdown(e)}async autoFill(e,r){const t=this.getRange(),i=e.getRange();if(!h.Rectangle.contains(i,t))throw new Error("AutoFill target range must contain source range");const{startRow:o,startColumn:d,endRow:l,endColumn:g}=t,{startRow:v,startColumn:S,endRow:c,endColumn:n}=i;if(l-o!==c-v&&g-d!==n-S)throw new Error("AutoFill can only fill in one direction");if(l-o===c-v&&d!==S&&g!==n)throw new Error("AutoFill can only fill in one direction");if(g-d===n-S&&o!==v&&l!==c)throw new Error("AutoFill can only fill in one direction");return this._commandService.executeCommand(s.AutoFillCommand.id,{sourceRange:t,targetRange:i,unitId:this.getUnitId(),subUnitId:this.getSheetId(),applyType:r})}}b.FRange.extend(x);function M(w,e){const{componentKey:r,isVue3:t}=w;let i;const o=new h.DisposableCollection;return typeof r=="string"?i=r:(i=`External_${h.generateRandomId(6)}`,o.add(e.register(i,r,{framework:t?"vue3":"react"}))),{key:i,disposableCollection:o}}E.FSheetsUIEnum=P,E.transformComponentKey=M,Object.defineProperty(E,Symbol.toStringTag,{value:"Module"})}));