@univerjs/sheets-ui 0.5.5-nightly.202501220324 → 0.5.5-nightly.202501231606

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 (54) hide show
  1. package/lib/cjs/facade.js +1 -1
  2. package/lib/cjs/index.js +6 -6
  3. package/lib/es/facade.js +5 -2
  4. package/lib/es/index.js +87 -61
  5. package/lib/types/controllers/render-controllers/freeze.render-controller.d.ts +6 -2
  6. package/lib/types/facade/f-event.d.ts +38 -32
  7. package/lib/types/facade/f-permission.d.ts +3 -0
  8. package/lib/types/facade/f-range.d.ts +27 -5
  9. package/lib/types/facade/f-sheet-hooks.d.ts +3 -0
  10. package/lib/types/facade/f-univer.d.ts +6 -0
  11. package/lib/types/facade/f-workbook.d.ts +3 -0
  12. package/lib/types/facade/f-worksheet.d.ts +3 -0
  13. package/lib/types/services/clipboard/utils.d.ts +1 -1
  14. package/lib/types/services/sheet-skeleton-manager.service.d.ts +1 -1
  15. package/lib/umd/facade.js +1 -1
  16. package/lib/umd/index.js +6 -6
  17. package/package.json +14 -14
  18. package/lib/types/commands/commands/__tests__/add-worksheet-merge.command.spec.d.ts +0 -16
  19. package/lib/types/commands/commands/__tests__/auto-fill.controller.spec.d.ts +0 -16
  20. package/lib/types/commands/commands/__tests__/create-command-test-bed.d.ts +0 -7
  21. package/lib/types/commands/commands/__tests__/create-selection-command-test-bed.d.ts +0 -28
  22. package/lib/types/commands/commands/__tests__/create-sheet-skeleton-test-bed.d.ts +0 -22
  23. package/lib/types/commands/commands/__tests__/hide-row-col-confirm.command.spec.d.ts +0 -16
  24. package/lib/types/commands/commands/__tests__/remove-row-col-confirm.command.spec.d.ts +0 -16
  25. package/lib/types/commands/commands/__tests__/selection-utils.spec.d.ts +0 -16
  26. package/lib/types/commands/commands/__tests__/set-format-painter.command.spec.d.ts +0 -16
  27. package/lib/types/commands/commands/__tests__/set-frozen.command.spec.d.ts +0 -16
  28. package/lib/types/commands/commands/__tests__/set-selections.command.spec.d.ts +0 -16
  29. package/lib/types/commands/commands/__tests__/sheet-skeleton.spec.d.ts +0 -16
  30. package/lib/types/controllers/editor/__tests__/create-test-bed.d.ts +0 -7
  31. package/lib/types/controllers/editor/__tests__/end-edit.controller.spec.d.ts +0 -16
  32. package/lib/types/controllers/editor/__tests__/mock-function.service.d.ts +0 -5
  33. package/lib/types/controllers/menu/__tests__/create-menu-test-bed.d.ts +0 -13
  34. package/lib/types/controllers/menu/__tests__/menu.spec.d.ts +0 -16
  35. package/lib/types/controllers/menu/__tests__/row-col.menu.spec.d.ts +0 -16
  36. package/lib/types/controllers/utils/__tests__/cell-tools.spec.d.ts +0 -16
  37. package/lib/types/facade/__tests__/create-test-bed.d.ts +0 -10
  38. package/lib/types/facade/__tests__/f-sheet-hooks.spec.d.ts +0 -16
  39. package/lib/types/services/auto-fill/__tests__/tool.spec.d.ts +0 -16
  40. package/lib/types/services/clipboard/__tests__/clipboard-copy-filter.spec.d.ts +0 -16
  41. package/lib/types/services/clipboard/__tests__/clipboard-paste-alignment.spec.d.ts +0 -16
  42. package/lib/types/services/clipboard/__tests__/clipboard-paste-border.spec.d.ts +0 -16
  43. package/lib/types/services/clipboard/__tests__/clipboard-paste-col-width.spec.d.ts +0 -16
  44. package/lib/types/services/clipboard/__tests__/clipboard-paste-font.spec.d.ts +0 -16
  45. package/lib/types/services/clipboard/__tests__/clipboard-paste-form-excel.spec.d.ts +0 -16
  46. package/lib/types/services/clipboard/__tests__/clipboard-paste-from-google.spec.d.ts +0 -16
  47. package/lib/types/services/clipboard/__tests__/clipboard-paste-from-notepad.spec.d.ts +0 -16
  48. package/lib/types/services/clipboard/__tests__/clipboard-paste-rotate.spec.d.ts +0 -16
  49. package/lib/types/services/clipboard/__tests__/clipboard-service.spec.d.ts +0 -16
  50. package/lib/types/services/clipboard/__tests__/clipboard-test-bed.d.ts +0 -29
  51. package/lib/types/services/clipboard/__tests__/constant.d.ts +0 -28
  52. package/lib/types/services/clipboard/__tests__/mock-clipboard.d.ts +0 -39
  53. package/lib/types/services/clipboard/__tests__/sheet-paste.spec.d.ts +0 -16
  54. package/lib/types/services/clipboard/__tests__/utils.spec.d.ts +0 -16
@@ -17,6 +17,9 @@ export interface IFComponentKey {
17
17
  }
18
18
  export interface IFCanvasPopup extends Omit<ICanvasPopup, 'componentKey'>, IFComponentKey {
19
19
  }
20
+ /**
21
+ * @ignore
22
+ */
20
23
  interface IFRangeSheetsUIMixin {
21
24
  /**
22
25
  * Return this cell information, including whether it is merged and cell coordinates
@@ -55,12 +58,21 @@ interface IFRangeSheetsUIMixin {
55
58
  * @returns The disposable object to detach the popup, if the popup is not attached, return `null`.
56
59
  * @example
57
60
  ```
61
+ univerAPI.getComponentManager().register(
62
+ 'myPopup',
63
+ () => React.createElement('div', {
64
+ style: {
65
+ color: 'red',
66
+ fontSize: '14px'
67
+ }
68
+ }, 'Custom Popup')
69
+ );
70
+
58
71
  let sheet = univerAPI.getActiveWorkbook().getActiveSheet();
59
72
  let range = sheet.getRange(2, 2, 3, 3);
60
73
  univerAPI.getActiveWorkbook().setActiveRange(range);
61
74
  let disposable = range.attachPopup({
62
- componentKey: 'univer.sheet.cell-alert',
63
- extraProps: { alert: { type: 0, title: 'This is an Info', message: 'This is an info message' } },
75
+ componentKey: 'myPopup'
64
76
  });
65
77
  ```
66
78
  */
@@ -78,7 +90,7 @@ interface IFRangeSheetsUIMixin {
78
90
  */
79
91
  attachAlertPopup(alert: Omit<ICellAlert, 'location'>): IDisposable;
80
92
  /**
81
- * Attach a DOM popup to the start cell of current range.
93
+ * Attach a DOM popup to the current range.
82
94
  * @param alert The alert to attach
83
95
  * @returns The disposable object to detach the alert.
84
96
  * @example
@@ -86,9 +98,19 @@ interface IFRangeSheetsUIMixin {
86
98
  let sheet = univerAPI.getActiveWorkbook().getActiveSheet();
87
99
  let range = sheet.getRange(2, 2, 3, 3);
88
100
  univerAPI.getActiveWorkbook().setActiveRange(range);
101
+
102
+ univerAPI.getComponentManager().register(
103
+ 'myPopup',
104
+ () => React.createElement('div', {
105
+ style: {
106
+ background: 'red',
107
+ fontSize: '14px'
108
+ }
109
+ }, 'Custom Popup')
110
+ );
89
111
  let disposable = range.attachRangePopup({
90
- componentKey: 'univer.sheet.single-dom-popup',
91
- extraProps: { alert: { type: 0, title: 'This is an Info', message: 'This is an info message' } },
112
+ componentKey: 'myPopup',
113
+ direction: 'top' // 'vertical' | 'horizontal' | 'top' | 'right' | 'left' | 'bottom' | 'bottom-center' | 'top-center';
92
114
  });
93
115
  * ```
94
116
  */
@@ -1,6 +1,9 @@
1
1
  import { ICellCustomRender, IDisposable, Nullable, InterceptorEffectEnum } from '@univerjs/core';
2
2
  import { IDragCellPosition, IEditorBridgeServiceVisibleParam, IHoverCellPosition } from '@univerjs/sheets-ui';
3
3
  import { FSheetHooks } from '@univerjs/sheets/facade';
4
+ /**
5
+ * @ignore
6
+ */
4
7
  export interface IFSheetHooksUIMixin {
5
8
  /**
6
9
  * The onCellPointerMove event is fired when a pointer changes coordinates.
@@ -1,6 +1,9 @@
1
1
  import { IDisposable, Injector, FUniver } from '@univerjs/core';
2
2
  import { IColumnsHeaderCfgParam, IRowsHeaderCfgParam, SheetExtension } from '@univerjs/engine-render';
3
3
  import { FSheetHooks } from '@univerjs/sheets/facade';
4
+ /**
5
+ * @ignore
6
+ */
4
7
  export interface IFUniverSheetsUIMixin {
5
8
  /**
6
9
  * Customize the column header of the spreadsheet.
@@ -48,6 +51,9 @@ export interface IFUniverSheetsUIMixin {
48
51
  }
49
52
  export declare class FUniverSheetsUIMixin extends FUniver implements IFUniverSheetsUIMixin {
50
53
  private _initSheetUIEvent;
54
+ /**
55
+ * @ignore
56
+ */
51
57
  _initObserverListener(injector: Injector): void;
52
58
  /**
53
59
  * @ignore
@@ -4,6 +4,9 @@ import { ICellPosWithEvent, IDragCellPosition, IHoverRichTextInfo, IHoverRichTex
4
4
  import { ICellEventParam } from './f-event';
5
5
  import { FWorkbook } from '@univerjs/sheets/facade';
6
6
  import { IDialogPartMethodOptions, ISidebarMethodOptions } from '@univerjs/ui';
7
+ /**
8
+ * @ignore
9
+ */
7
10
  export interface IFWorkbookSheetsUIMixin {
8
11
  /**
9
12
  * Open a sidebar.
@@ -2,6 +2,9 @@ import { IDisposable, IRange, Nullable } from '@univerjs/core';
2
2
  import { SpreadsheetSkeleton } from '@univerjs/engine-render';
3
3
  import { IScrollState, IViewportScrollState } from '@univerjs/sheets-ui';
4
4
  import { FWorksheet } from '@univerjs/sheets/facade';
5
+ /**
6
+ * @ignore
7
+ */
5
8
  export interface IFWorksheetSkeletonMixin {
6
9
  /**
7
10
  * Refresh the canvas.
@@ -13,7 +13,7 @@ export declare const getRepeatRange: (sourceRange: IRange, targetRange: IRange,
13
13
  startRange: IRange;
14
14
  repeatRelativeRange: IRange;
15
15
  }[];
16
- export declare function clipboardItemIsFromExcel(html: string): Promise<boolean>;
16
+ export declare function htmlIsFromExcel(html: string): boolean;
17
17
  export declare function mergeCellValues(...cellValues: IObjectMatrixPrimitiveType<Nullable<ICellData>>[]): IObjectMatrixPrimitiveType<Nullable<ICellData>> | IObjectMatrixPrimitiveType<IObjectMatrixPrimitiveType<Nullable<ICellData>>>;
18
18
  export declare function getRangeValuesMergeable(m1: IMutationInfo<ISetRangeValuesMutationParams>, m2: IMutationInfo<ISetRangeValuesMutationParams>): boolean;
19
19
  export declare function mergeSetRangeValues(mutations: IMutationInfo[]): IMutationInfo<object>[];
@@ -58,5 +58,5 @@ export declare class SheetSkeletonManagerService extends Disposable implements I
58
58
  attachRangeWithCoord(range: IRange): Nullable<IRangeWithCoord>;
59
59
  private _getSkeleton;
60
60
  private _buildSkeleton;
61
- setColumnHeaderSize(sheetId: string, render: IRender, size: number): void;
61
+ setColumnHeaderSize(render: IRender, sheetId: string, size: number): void;
62
62
  }
package/lib/umd/facade.js CHANGED
@@ -1 +1 @@
1
- (function(global,factory){typeof exports=="object"&&typeof module<"u"?factory(exports,require("@univerjs/core"),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/docs","@univerjs/engine-render","@univerjs/sheets","@univerjs/sheets-ui","@univerjs/sheets/facade","@univerjs/ui","rxjs"],factory):(global=typeof globalThis<"u"?globalThis:global||self,factory(global.UniverSheetsUiFacade={},global.UniverCore,global.UniverDocs,global.UniverEngineRender,global.UniverSheets,global.UniverSheetsUi,global.UniverSheetsFacade,global.UniverUi,global.rxjs))})(this,function(exports2,core,docs,engineRender,sheets,sheetsUi,facade,ui,rxjs){"use strict";var __defProp=Object.defineProperty;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});const _FUniverSheetsUIMixin=class _FUniverSheetsUIMixin extends core.FUniver{_initSheetUIEvent(injector){const commandService=injector.get(core.ICommandService);this.disposeWithMe(commandService.beforeCommandExecuted(commandInfo=>{if(commandInfo.id===sheetsUi.SetCellEditVisibleOperation.id){if(!this._eventListend(this.Event.BeforeSheetEditStart)&&!this._eventListend(this.Event.BeforeSheetEditEnd))return;const target=this.getCommandSheetTarget(commandInfo);if(!target)return;const{workbook,worksheet}=target,editorBridgeService=injector.get(sheetsUi.IEditorBridgeService),univerInstanceService=injector.get(core.IUniverInstanceService),params=commandInfo.params,{visible,keycode,eventType}=params,loc=editorBridgeService.getEditLocation();if(visible){const eventParams={row:loc.row,column:loc.column,eventType,keycode,workbook,worksheet,isZenEditor:!1};if(this.fireEvent(this.Event.BeforeSheetEditStart,eventParams),eventParams.cancel)throw new core.CanceledError}else{const eventParams={row:loc.row,column:loc.column,eventType,keycode,workbook,worksheet,isZenEditor:!1,value:core.RichTextValue.create(univerInstanceService.getUnit(core.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isConfirm:keycode!==ui.KeyCode.ESC};if(this.fireEvent(this.Event.BeforeSheetEditEnd,eventParams),eventParams.cancel)throw new core.CanceledError}}if(commandInfo.id===sheetsUi.SetZoomRatioCommand.id){if(!this._eventListend(this.Event.BeforeSheetZoomChange))return;const target=this.getCommandSheetTarget(commandInfo);if(!target)return;const{workbook,worksheet}=target;this.fireEvent(this.Event.BeforeSheetZoomChange,{zoom:commandInfo.params.zoomRatio,workbook,worksheet})}})),this.disposeWithMe(commandService.onCommandExecuted(commandInfo=>{if(commandInfo.id===sheetsUi.SetCellEditVisibleOperation.id){if(!this._eventListend(this.Event.SheetEditStarted)&&!this._eventListend(this.Event.SheetEditEnded))return;const target=this.getCommandSheetTarget(commandInfo);if(!target)return;const{workbook,worksheet}=target,editorBridgeService=injector.get(sheetsUi.IEditorBridgeService),params=commandInfo.params,{visible,keycode,eventType}=params,loc=editorBridgeService.getEditLocation();if(visible){const eventParams={row:loc.row,column:loc.column,eventType,keycode,workbook,worksheet,isZenEditor:!1};this.fireEvent(this.Event.SheetEditStarted,eventParams)}else{const eventParams={row:loc.row,column:loc.column,eventType,keycode,workbook,worksheet,isZenEditor:!1,isConfirm:keycode!==ui.KeyCode.ESC};this.fireEvent(this.Event.SheetEditEnded,eventParams)}}if(commandInfo.id===docs.RichTextEditingMutation.id){if(!this._eventListend(this.Event.SheetEditChanging))return;const target=this.getCommandSheetTarget(commandInfo);if(!target)return;const{workbook,worksheet}=target,editorBridgeService=injector.get(sheetsUi.IEditorBridgeService),univerInstanceService=injector.get(core.IUniverInstanceService),params=commandInfo.params;if(!editorBridgeService.isVisible().visible)return;const{unitId}=params;if(unitId===core.DOCS_NORMAL_EDITOR_UNIT_ID_KEY){const{row,column}=editorBridgeService.getEditLocation(),eventParams={workbook,worksheet,row,column,value:core.RichTextValue.create(univerInstanceService.getUnit(core.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isZenEditor:!1};this.fireEvent(this.Event.SheetEditChanging,eventParams)}}if(commandInfo.id===sheetsUi.SetZoomRatioCommand.id){if(!this._eventListend(this.Event.SheetZoomChanged))return;const target=this.getCommandSheetTarget(commandInfo);if(!target)return;const{workbook,worksheet}=target;this.fireEvent(this.Event.SheetZoomChanged,{zoom:worksheet.getZoom(),workbook,worksheet})}})),this._initObserverListener(injector)}_initObserverListener(injector){const unitM=injector.get(core.IUniverInstanceService).getFocusedUnit(),unitId=unitM==null?void 0:unitM.getUnitId(),renderManagerService=injector.get(engineRender.IRenderManagerService);if(unitId){const lifeCycleService2=injector.get(core.LifecycleService),disposable=new core.DisposableCollection;this.disposeWithMe(lifeCycleService2.lifecycle$.subscribe(lifecycle=>{var _a,_b,_c,_d,_e,_f,_g,_h,_i,_j,_k,_l,_m,_n,_o;if(lifecycle<core.LifecycleStages.Rendered)return;disposable.dispose();const hoverManagerService=injector.get(sheetsUi.HoverManagerService),dragManagerService=injector.get(sheetsUi.DragManagerService);hoverManagerService&&(disposable.add((_a=hoverManagerService.currentClickedCell$)==null?void 0:_a.pipe(rxjs.filter(cell=>!!cell)).subscribe(cell=>{if(!this._eventListend(this.Event.CellClicked))return;const baseParams=this.getSheetTarget(cell.location.unitId,cell.location.subUnitId);baseParams&&this.fireEvent(this.Event.CellClicked,{...baseParams,...cell,row:cell.location.row,column:cell.location.col})})),disposable.add((_b=hoverManagerService.currentRichText$)==null?void 0:_b.pipe(rxjs.filter(cell=>!!cell)).subscribe(cell=>{if(!this._eventListend(this.Event.CellHover))return;const baseParams=this.getSheetTarget(cell.unitId,cell.subUnitId);baseParams&&this.fireEvent(this.Event.CellHover,{...baseParams,...cell,row:cell.row,column:cell.col})})),disposable.add((_c=hoverManagerService.currentPointerDownCell$)==null?void 0:_c.pipe(rxjs.filter(cell=>!!cell)).subscribe(cell=>{if(!this._eventListend(this.Event.CellPointerDown))return;const baseParams=this.getSheetTarget(cell.unitId,cell.subUnitId);baseParams&&this.fireEvent(this.Event.CellPointerDown,{...baseParams,...cell,row:cell.row,column:cell.col})})),disposable.add((_d=hoverManagerService.currentPointerUpCell$)==null?void 0:_d.pipe(rxjs.filter(cell=>!!cell)).subscribe(cell=>{if(!this._eventListend(this.Event.CellPointerUp))return;const baseParams=this.getSheetTarget(cell.unitId,cell.subUnitId);baseParams&&this.fireEvent(this.Event.CellPointerUp,{...baseParams,...cell,row:cell.row,column:cell.col})})),disposable.add((_e=hoverManagerService.currentCellPosWithEvent$)==null?void 0:_e.pipe(rxjs.filter(cell=>!!cell)).subscribe(cell=>{if(!this._eventListend(this.Event.CellPointerMove))return;const baseParams=this.getSheetTarget(cell.unitId,cell.subUnitId);baseParams&&this.fireEvent(this.Event.CellPointerMove,{...baseParams,...cell,row:cell.row,column:cell.col})})),disposable.add((_f=dragManagerService.currentCell$)==null?void 0:_f.pipe(rxjs.filter(cell=>!!cell)).subscribe(cell=>{if(!this._eventListend(this.Event.DragOver))return;const baseParams=this.getSheetTarget(cell.location.unitId,cell.location.subUnitId);baseParams&&this.fireEvent(this.Event.DragOver,{...baseParams,...cell,row:cell.location.row,column:cell.location.col})})),disposable.add((_g=dragManagerService.endCell$)==null?void 0:_g.pipe(rxjs.filter(cell=>!!cell)).subscribe(cell=>{if(!this._eventListend(this.Event.Drop))return;const baseParams=this.getSheetTarget(cell.location.unitId,cell.location.subUnitId);baseParams&&this.fireEvent(this.Event.Drop,{...baseParams,...cell,row:cell.location.row,column:cell.location.col})})),disposable.add((_h=hoverManagerService.currentRowHeaderClick$)==null?void 0:_h.pipe(rxjs.filter(header=>!!header)).subscribe(header=>{if(!this._eventListend(this.Event.RowHeaderClick))return;const baseParams=this.getSheetTarget(header.unitId,header.subUnitId);baseParams&&this.fireEvent(this.Event.RowHeaderClick,{...baseParams,row:header.index})})),disposable.add((_i=hoverManagerService.currentRowHeaderPointerDown$)==null?void 0:_i.pipe(rxjs.filter(header=>!!header)).subscribe(header=>{if(!this._eventListend(this.Event.RowHeaderPointerDown))return;const baseParams=this.getSheetTarget(header.unitId,header.subUnitId);baseParams&&this.fireEvent(this.Event.RowHeaderPointerDown,{...baseParams,row:header.index})})),disposable.add((_j=hoverManagerService.currentRowHeaderPointerUp$)==null?void 0:_j.pipe(rxjs.filter(header=>!!header)).subscribe(header=>{if(!this._eventListend(this.Event.RowHeaderPointerUp))return;const baseParams=this.getSheetTarget(header.unitId,header.subUnitId);baseParams&&this.fireEvent(this.Event.RowHeaderPointerUp,{...baseParams,row:header.index})})),disposable.add((_k=hoverManagerService.currentHoveredRowHeader$)==null?void 0:_k.pipe(rxjs.filter(header=>!!header)).subscribe(header=>{if(!this._eventListend(this.Event.RowHeaderHover))return;const baseParams=this.getSheetTarget(header.unitId,header.subUnitId);baseParams&&this.fireEvent(this.Event.RowHeaderHover,{...baseParams,row:header.index})})),disposable.add((_l=hoverManagerService.currentColHeaderClick$)==null?void 0:_l.pipe(rxjs.filter(header=>!!header)).subscribe(header=>{if(!this._eventListend(this.Event.ColumnHeaderClick))return;const baseParams=this.getSheetTarget(header.unitId,header.subUnitId);baseParams&&this.fireEvent(this.Event.ColumnHeaderClick,{...baseParams,column:header.index})})),disposable.add((_m=hoverManagerService.currentColHeaderPointerDown$)==null?void 0:_m.pipe(rxjs.filter(header=>!!header)).subscribe(header=>{if(!this._eventListend(this.Event.ColumnHeaderPointerDown))return;const baseParams=this.getSheetTarget(header.unitId,header.subUnitId);baseParams&&this.fireEvent(this.Event.ColumnHeaderPointerDown,{...baseParams,column:header.index})})),disposable.add((_n=hoverManagerService.currentColHeaderPointerUp$)==null?void 0:_n.pipe(rxjs.filter(header=>!!header)).subscribe(header=>{if(!this._eventListend(this.Event.ColumnHeaderPointerUp))return;const baseParams=this.getSheetTarget(header.unitId,header.subUnitId);baseParams&&this.fireEvent(this.Event.ColumnHeaderPointerUp,{...baseParams,column:header.index})})),disposable.add((_o=hoverManagerService.currentHoveredColHeader$)==null?void 0:_o.pipe(rxjs.filter(header=>!!header)).subscribe(header=>{if(!this._eventListend(this.Event.ColumnHeaderHover))return;const baseParams=this.getSheetTarget(header.unitId,header.subUnitId);baseParams&&this.fireEvent(this.Event.ColumnHeaderHover,{...baseParams,column:header.index})})))})),this.disposeWithMe(disposable)}const unitMap=new Map;let sheetRenderUnit;const lifeCycleService=injector.get(core.LifecycleService),combined$=rxjs.combineLatest([renderManagerService.created$,lifeCycleService.lifecycle$]);this.disposeWithMe(combined$.subscribe(([created,lifecycle])=>{var _a;if(created.type===core.UniverInstanceType.UNIVER_SHEET&&(sheetRenderUnit=created),lifecycle<=core.LifecycleStages.Rendered)return;const disposable=new core.DisposableCollection;if(!sheetRenderUnit)return;const workbook=this.getWorkbook(sheetRenderUnit.unitId);if(!workbook)return;unitMap.get(sheetRenderUnit.unitId)&&((_a=unitMap.get(sheetRenderUnit.unitId))==null||_a.dispose()),unitMap.set(sheetRenderUnit.unitId,disposable);const scrollManagerService=sheetRenderUnit.with(sheetsUi.SheetScrollManagerService);disposable.add(scrollManagerService.validViewportScrollInfo$.subscribe(params=>{params&&this._eventListend(this.Event.Scroll)&&this.fireEvent(this.Event.Scroll,{workbook,worksheet:workbook.getActiveSheet(),...params})}));const selectionService=sheetRenderUnit.with(sheets.SheetsSelectionsService);disposable.add(selectionService.selectionMoveStart$.subscribe(selections=>{var _a2;this._eventListend(this.Event.SelectionMoveStart)&&this.fireEvent(this.Event.SelectionMoveStart,{workbook,worksheet:workbook.getActiveSheet(),selections:(_a2=selections==null?void 0:selections.map(s=>s.range))!=null?_a2:[]})})),disposable.add(selectionService.selectionMoving$.subscribe(selections=>{var _a2;this._eventListend(this.Event.SelectionMoving)&&this.fireEvent(this.Event.SelectionMoving,{workbook,worksheet:workbook.getActiveSheet(),selections:(_a2=selections==null?void 0:selections.map(s=>s.range))!=null?_a2:[]})})),disposable.add(selectionService.selectionMoveEnd$.subscribe(selections=>{var _a2;this._eventListend(this.Event.SelectionMoveEnd)&&this.fireEvent(this.Event.SelectionMoveEnd,{workbook,worksheet:workbook.getActiveSheet(),selections:(_a2=selections==null?void 0:selections.map(s=>s.range))!=null?_a2:[]})})),disposable.add(selectionService.selectionChanged$.subscribe(selections=>{var _a2;this._eventListend(this.Event.SelectionChanged)&&this.fireEvent(this.Event.SelectionChanged,{workbook,worksheet:workbook.getActiveSheet(),selections:(_a2=selections==null?void 0:selections.map(s=>s.range))!=null?_a2:[]})})),sheetRenderUnit=null,this.disposeWithMe(disposable)})),this.disposeWithMe(renderManagerService.disposed$.subscribe(unitId2=>{var _a;(_a=unitMap.get(unitId2))==null||_a.dispose(),unitMap.delete(unitId2)})),this.disposeWithMe(()=>{unitMap.forEach(disposable=>{disposable.dispose()})})}_initialize(injector){this._initSheetUIEvent(injector);const commandService=injector.get(core.ICommandService);this.disposeWithMe(commandService.beforeCommandExecuted(commandInfo=>{switch(commandInfo.id){case ui.CopyCommand.id:case ui.CutCommand.id:this._beforeClipboardChange();break;case sheetsUi.SheetPasteShortKeyCommand.id:this._beforeClipboardPaste(commandInfo.params);break}})),this.disposeWithMe(commandService.onCommandExecuted(commandInfo=>{if(sheets.COMMAND_LISTENER_SKELETON_CHANGE.indexOf(commandInfo.id)>-1){if(!this._eventListend(this.Event.SheetSkeletonChanged))return;const sheet=this.getActiveSheet();if(!sheet)return;const ranges=sheets.getSkeletonChangedEffectedRange(commandInfo).map(range=>{var _a,_b;return(_b=(_a=this.getWorkbook(range.unitId))==null?void 0:_a.getSheetBySheetId(range.subUnitId))==null?void 0:_b.getRange(range.range)}).filter(Boolean);if(!ranges.length)return;this.fireEvent(this.Event.SheetSkeletonChanged,{workbook:sheet.workbook,worksheet:sheet.worksheet,payload:commandInfo,skeleton:sheet.worksheet.getSkeleton(),effectedRanges:ranges});return}switch(commandInfo.id){case ui.CopyCommand.id:case ui.CutCommand.id:this._clipboardChanged();break;case sheetsUi.SheetPasteShortKeyCommand.id:this._clipboardPaste();break;case ui.PasteCommand.id:this._clipboardPasteAsync();break}})),this.disposeWithMe(commandService.beforeCommandExecuted(async commandInfo=>{switch(commandInfo.id){case ui.PasteCommand.id:await this._beforeClipboardPasteAsync();break}}))}_generateClipboardCopyParam(){const workbook=this.getActiveWorkbook(),worksheet=workbook==null?void 0:workbook.getActiveSheet(),range=workbook==null?void 0:workbook.getActiveRange();if(!workbook||!worksheet||!range)return;const content=this._injector.get(sheetsUi.ISheetClipboardService).generateCopyContent(workbook.getId(),worksheet.getSheetId(),range.getRange());if(!content)return;const{html,plain}=content;return{workbook,worksheet,text:plain,html,fromSheet:worksheet,fromRange:range}}_beforeClipboardChange(){if(!this.hasEventCallback(this.Event.BeforeClipboardChange))return;const eventParams=this._generateClipboardCopyParam();if(eventParams&&(this.fireEvent(this.Event.BeforeClipboardChange,eventParams),eventParams.cancel))throw new Error("Before clipboard change is canceled")}_clipboardChanged(){if(!this.hasEventCallback(this.Event.ClipboardChanged))return;const eventParams=this._generateClipboardCopyParam();if(eventParams&&(this.fireEvent(this.Event.ClipboardChanged,eventParams),eventParams.cancel))throw new Error("Clipboard changed is canceled")}_generateClipboardPasteParam(params){if(!params)return;const{htmlContent,textContent}=params,workbook=this.getActiveWorkbook(),worksheet=workbook==null?void 0:workbook.getActiveSheet();return!workbook||!worksheet?void 0:{workbook,worksheet,text:textContent,html:htmlContent}}async _generateClipboardPasteParamAsync(){const workbook=this.getActiveWorkbook(),worksheet=workbook==null?void 0:workbook.getActiveSheet();if(!workbook||!worksheet)return;const item=(await this._injector.get(ui.IClipboardInterfaceService).read())[0];let eventParams;if(item){const types=item.types,text=types.indexOf(ui.PLAIN_TEXT_CLIPBOARD_MIME_TYPE)!==-1?await item.getType(ui.PLAIN_TEXT_CLIPBOARD_MIME_TYPE).then(blob=>blob&&blob.text()):"",html=types.indexOf(ui.HTML_CLIPBOARD_MIME_TYPE)!==-1?await item.getType(ui.HTML_CLIPBOARD_MIME_TYPE).then(blob=>blob&&blob.text()):"";eventParams={workbook,worksheet,text,html}}return eventParams}_beforeClipboardPaste(params){if(!this.hasEventCallback(this.Event.BeforeClipboardPaste))return;const eventParams=this._generateClipboardPasteParam(params);if(eventParams&&(this.fireEvent(this.Event.BeforeClipboardPaste,eventParams),eventParams.cancel))throw new Error("Before clipboard paste is canceled")}_clipboardPaste(params){if(!this.hasEventCallback(this.Event.BeforeClipboardPaste))return;const eventParams=this._generateClipboardPasteParam(params);if(eventParams&&(this.fireEvent(this.Event.BeforeClipboardPaste,eventParams),eventParams.cancel))throw new Error("Clipboard pasted is canceled")}async _beforeClipboardPasteAsync(){if(!this.hasEventCallback(this.Event.BeforeClipboardPaste))return;if(!ui.supportClipboardAPI()){this._injector.get(core.ILogService).warn("[Facade]: The navigator object only supports the browser environment");return}const eventParams=await this._generateClipboardPasteParamAsync();if(eventParams&&(this.fireEvent(this.Event.BeforeClipboardPaste,eventParams),eventParams.cancel))throw new Error("Before clipboard paste is canceled")}async _clipboardPasteAsync(){if(!this.hasEventCallback(this.Event.ClipboardPasted))return;if(!ui.supportClipboardAPI()){this._injector.get(core.ILogService).warn("[Facade]: The navigator object only supports the browser environment");return}const eventParams=await this._generateClipboardPasteParamAsync();if(eventParams&&(this.fireEvent(this.Event.ClipboardPasted,eventParams),eventParams.cancel))throw new Error("Clipboard pasted is canceled")}customizeColumnHeader(cfg){var _a,_b;const wb=this.getActiveWorkbook();if(!wb){console.error("WorkBook not exist");return}const unitId=wb==null?void 0:wb.getId(),renderManagerService=this._injector.get(engineRender.IRenderManagerService),activeSheet=wb.getActiveSheet(),subUnitId=activeSheet.getSheetId(),render=renderManagerService.getRenderById(unitId);render&&((_a=cfg.headerStyle)!=null&&_a.size)&&(render.with(sheetsUi.SheetSkeletonManagerService).setColumnHeaderSize(subUnitId,render,(_b=cfg.headerStyle)==null?void 0:_b.size),activeSheet==null||activeSheet.refreshCanvas()),this._getSheetRenderComponent(unitId,sheetsUi.SHEET_VIEW_KEY.COLUMN).setCustomHeader(cfg),activeSheet==null||activeSheet.refreshCanvas()}customizeRowHeader(cfg){const wb=this.getActiveWorkbook();if(!wb){console.error("WorkBook not exist");return}const unitId=wb==null?void 0:wb.getId();this._getSheetRenderComponent(unitId,sheetsUi.SHEET_VIEW_KEY.ROW).setCustomHeader(cfg)}registerSheetRowHeaderExtension(unitId,...extensions){const sheetComponent=this._getSheetRenderComponent(unitId,sheetsUi.SHEET_VIEW_KEY.ROW),registerDisposable=sheetComponent.register(...extensions);return core.toDisposable(()=>{registerDisposable.dispose(),sheetComponent.makeDirty(!0)})}registerSheetColumnHeaderExtension(unitId,...extensions){const sheetComponent=this._getSheetRenderComponent(unitId,sheetsUi.SHEET_VIEW_KEY.COLUMN),registerDisposable=sheetComponent.register(...extensions);return core.toDisposable(()=>{registerDisposable.dispose(),sheetComponent.makeDirty(!0)})}registerSheetMainExtension(unitId,...extensions){const sheetComponent=this._getSheetRenderComponent(unitId,sheetsUi.SHEET_VIEW_KEY.MAIN),registerDisposable=sheetComponent.register(...extensions);return core.toDisposable(()=>{registerDisposable.dispose(),sheetComponent.makeDirty(!0)})}_getSheetRenderComponent(unitId,viewKey){const render=this._injector.get(engineRender.IRenderManagerService).getRenderById(unitId);if(!render)throw new Error(`Render Unit with unitId ${unitId} not found`);const{components}=render,renderComponent=components.get(viewKey);if(!renderComponent)throw new Error("Render component not found");return renderComponent}getSheetHooks(){return this._injector.createInstance(facade.FSheetHooks)}};__name(_FUniverSheetsUIMixin,"FUniverSheetsUIMixin");let FUniverSheetsUIMixin=_FUniverSheetsUIMixin;core.FUniver.extend(FUniverSheetsUIMixin);const _FWorkbookSheetsUIMixin=class _FWorkbookSheetsUIMixin extends facade.FWorkbook{openSiderbar(params){return this._logDeprecation("openSiderbar"),this._injector.get(ui.ISidebarService).open(params)}openDialog(dialog){this._logDeprecation("openDialog");const disposable=this._injector.get(ui.IDialogService).open({...dialog,onClose:__name(()=>{disposable.dispose()},"onClose")});return disposable}_logDeprecation(name){this._injector.get(core.ILogService).warn("[FWorkbook]",`${name} is deprecated. Please use the function of the same name on "FUniver".`)}generateCellParams(cell){const worksheet=this.getActiveSheet();return{row:cell.row,column:cell.col,workbook:this,worksheet}}onCellClick(callback){const hoverManagerService=this._injector.get(sheetsUi.HoverManagerService);return core.toDisposable(hoverManagerService.currentClickedCell$.pipe(rxjs.filter(cell=>!!cell)).subscribe(cell=>{callback(cell)}))}onCellHover(callback){const hoverManagerService=this._injector.get(sheetsUi.HoverManagerService);return core.toDisposable(hoverManagerService.currentRichText$.pipe(rxjs.filter(cell=>!!cell)).subscribe(callback))}onCellPointerDown(callback){const hoverManagerService=this._injector.get(sheetsUi.HoverManagerService);return core.toDisposable(hoverManagerService.currentPointerDownCell$.subscribe(callback))}onCellPointerUp(callback){const hoverManagerService=this._injector.get(sheetsUi.HoverManagerService);return core.toDisposable(hoverManagerService.currentPointerUpCell$.subscribe(callback))}onCellPointerMove(callback){const hoverManagerService=this._injector.get(sheetsUi.HoverManagerService);return core.toDisposable(hoverManagerService.currentCellPosWithEvent$.pipe(rxjs.filter(cell=>!!cell)).subscribe(cell=>{callback(cell,cell.event)}))}onDragOver(callback){const dragManagerService=this._injector.get(sheetsUi.DragManagerService);return core.toDisposable(dragManagerService.currentCell$.pipe(rxjs.filter(cell=>!!cell)).subscribe(cell=>{callback(cell)}))}onDrop(callback){const dragManagerService=this._injector.get(sheetsUi.DragManagerService);return core.toDisposable(dragManagerService.endCell$.pipe(rxjs.filter(cell=>!!cell)).subscribe(cell=>{callback(cell)}))}startEditing(){return this._injector.get(core.ICommandService).syncExecuteCommand(sheetsUi.SetCellEditVisibleOperation.id,{eventType:engineRender.DeviceInputEventType.Dblclick,unitId:this._workbook.getUnitId(),visible:!0})}async endEditing(save){return this._injector.get(core.ICommandService).syncExecuteCommand(sheetsUi.SetCellEditVisibleOperation.id,{eventType:engineRender.DeviceInputEventType.Keyboard,keycode:save?ui.KeyCode.ENTER:ui.KeyCode.ESC,visible:!1,unitId:this._workbook.getUnitId()}),await core.awaitTime(0),!0}endEditingAsync(save=!0){return this.endEditing(save)}getScrollStateBySheetId(sheetId){const unitId=this._workbook.getUnitId(),render=this._injector.get(engineRender.IRenderManagerService).getRenderById(unitId);return render?render.with(sheetsUi.SheetScrollManagerService).getScrollStateByParam({unitId,sheetId}):null}disableSelection(){const unitId=this._workbook.getUnitId(),render=this._injector.get(engineRender.IRenderManagerService).getRenderById(unitId);return render&&render.with(sheetsUi.ISheetSelectionRenderService).disableSelection(),this}enableSelection(){const unitId=this._workbook.getUnitId(),render=this._injector.get(engineRender.IRenderManagerService).getRenderById(unitId);return render&&render.with(sheetsUi.ISheetSelectionRenderService).enableSelection(),this}transparentSelection(){const unitId=this._workbook.getUnitId(),render=this._injector.get(engineRender.IRenderManagerService).getRenderById(unitId);return render&&render.with(sheetsUi.ISheetSelectionRenderService).transparentSelection(),this}showSelection(){const unitId=this._workbook.getUnitId(),render=this._injector.get(engineRender.IRenderManagerService).getRenderById(unitId);return render&&render.with(sheetsUi.ISheetSelectionRenderService).showSelection(),this}};__name(_FWorkbookSheetsUIMixin,"FWorkbookSheetsUIMixin");let FWorkbookSheetsUIMixin=_FWorkbookSheetsUIMixin;facade.FWorkbook.extend(FWorkbookSheetsUIMixin);const _FWorksheetSkeletonMixin=class _FWorksheetSkeletonMixin extends facade.FWorksheet{refreshCanvas(){const renderManagerService=this._injector.get(engineRender.IRenderManagerService),unitId=this._fWorkbook.id,render=renderManagerService.getRenderById(unitId);if(!render)throw new Error(`Render Unit with unitId ${unitId} not found`);render.with(sheetsUi.SheetSkeletonManagerService).reCalculate();const mainComponent=render.mainComponent;if(!mainComponent)throw new Error("Main component not found");return mainComponent.makeDirty(),this}zoom(zoomRatio){return this._injector.get(core.ICommandService).syncExecuteCommand(sheetsUi.ChangeZoomRatioCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),zoomRatio}),this}getZoom(){return this._worksheet.getZoomRatio()}getVisibleRange(){const unitId=this._workbook.getUnitId(),render=this._injector.get(engineRender.IRenderManagerService).getRenderById(unitId);let range={startColumn:0,startRow:0,endColumn:0,endRow:0};if(!render)return range;const sk=render.with(sheetsUi.SheetSkeletonManagerService).getCurrentSkeleton();if(!sk)return range;const visibleRangeMap=sk==null?void 0:sk.getVisibleRanges();if(!visibleRangeMap)return range;range=sk.getVisibleRangeByViewport(engineRender.SHEET_VIEWPORT_KEY.VIEW_MAIN);for(const[k,r]of visibleRangeMap)engineRender.sheetContentViewportKeys.indexOf(k)!==-1&&(range.startColumn=Math.min(range.startColumn,r.startColumn),range.startRow=Math.min(range.startRow,r.startRow),range.endColumn=Math.max(range.endColumn,r.endColumn),range.endRow=Math.max(range.endRow,r.endRow));return range}scrollToCell(row,column){const unitId=this._workbook.getUnitId(),render=this._injector.get(engineRender.IRenderManagerService).getRenderById(unitId);return render&&(render==null?void 0:render.with(sheetsUi.SheetsScrollRenderController)).scrollToCell(row,column),this}getScrollState(){const emptyScrollState={offsetX:0,offsetY:0,sheetViewStartColumn:0,sheetViewStartRow:0},unitId=this._workbook.getUnitId(),sheetId=this._worksheet.getSheetId(),render=this._injector.get(engineRender.IRenderManagerService).getRenderById(unitId);return render&&render.with(sheetsUi.SheetScrollManagerService).getScrollStateByParam({unitId,sheetId})||emptyScrollState}onScroll(callback){var _a;const unitId=this._workbook.getUnitId(),scrollManagerService=(_a=this._injector.get(engineRender.IRenderManagerService).getRenderById(unitId))==null?void 0:_a.with(sheetsUi.SheetScrollManagerService);if(scrollManagerService){const sub=scrollManagerService.validViewportScrollInfo$.subscribe(params=>{callback(params)});return core.toDisposable(sub)}return core.toDisposable(()=>{})}getSkeleton(){var _a,_b;const service=(_a=this._injector.get(engineRender.IRenderManagerService).getRenderById(this._workbook.getUnitId()))==null?void 0:_a.with(sheetsUi.SheetSkeletonManagerService);return(_b=service==null?void 0:service.getWorksheetSkeleton(this._worksheet.getSheetId()))==null?void 0:_b.skeleton}setColumnAutoWidth(columnPosition,numColumn){const unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId(),ranges=[{startColumn:columnPosition,endColumn:columnPosition+numColumn-1,startRow:0,endRow:this._worksheet.getRowCount()-1}];return this._commandService.syncExecuteCommand(sheetsUi.SetWorksheetColAutoWidthCommand.id,{unitId,subUnitId,ranges}),this}};__name(_FWorksheetSkeletonMixin,"FWorksheetSkeletonMixin");let FWorksheetSkeletonMixin=_FWorksheetSkeletonMixin;facade.FWorksheet.extend(FWorksheetSkeletonMixin);const _FPermissionSheetsUIMixin=class _FPermissionSheetsUIMixin extends facade.FPermission{setPermissionDialogVisible(visible){this._permissionService.setShowComponents(visible)}};__name(_FPermissionSheetsUIMixin,"FPermissionSheetsUIMixin");let FPermissionSheetsUIMixin=_FPermissionSheetsUIMixin;facade.FPermission.extend(FPermissionSheetsUIMixin);const _FSheetHooksUIMixin=class _FSheetHooksUIMixin extends facade.FSheetHooks{onCellPointerMove(callback){return core.toDisposable(this._injector.get(sheetsUi.HoverManagerService).currentPosition$.subscribe(callback))}onCellPointerOver(callback){return core.toDisposable(this._injector.get(sheetsUi.HoverManagerService).currentCell$.subscribe(callback))}onCellDragOver(callback){return core.toDisposable(this._injector.get(sheetsUi.DragManagerService).currentCell$.subscribe(callback))}onCellDrop(callback){return core.toDisposable(this._injector.get(sheetsUi.DragManagerService).endCell$.subscribe(callback))}onCellRender(customRender,effect=core.InterceptorEffectEnum.Style,priority=sheets.InterceptCellContentPriority.DATA_VALIDATION){return this._injector.get(sheets.SheetInterceptorService).intercept(sheets.INTERCEPTOR_POINT.CELL_CONTENT,{effect,handler:__name((cell,pos,next)=>next({...cell,customRender:[...(cell==null?void 0:cell.customRender)||[],...customRender||[]]}),"handler"),priority})}onBeforeCellEdit(callback){return this._injector.get(core.ICommandService).beforeCommandExecuted(command=>{const params=command.params;command.id===sheetsUi.SetCellEditVisibleOperation.id&&params.visible&&callback(params)})}onAfterCellEdit(callback){return this._injector.get(core.ICommandService).onCommandExecuted(command=>{const params=command.params;command.id===sheetsUi.SetCellEditVisibleOperation.id&&!params.visible&&callback(params)})}};__name(_FSheetHooksUIMixin,"FSheetHooksUIMixin");let FSheetHooksUIMixin=_FSheetHooksUIMixin;facade.FSheetHooks.extend(FSheetHooksUIMixin);const CellFEventName={CellClicked:"CellClicked",CellPointerDown:"CellPointerDown",CellPointerUp:"CellPointerUp",CellPointerMove:"CellPointerMove",CellHover:"CellHover",DragOver:"DragOver",Drop:"Drop",Scroll:"Scroll",SelectionMoveStart:"SelectionMoveStart",SelectionMoving:"SelectionMoving",SelectionMoveEnd:"SelectionMoveEnd",SelectionChanged:"SelectionChanged"},_FSheetsUIEventName=class _FSheetsUIEventName extends core.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 CellFEventName.CellClicked}get CellHover(){return CellFEventName.CellHover}get CellPointerDown(){return CellFEventName.CellPointerDown}get CellPointerUp(){return CellFEventName.CellPointerUp}get CellPointerMove(){return CellFEventName.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"}};__name(_FSheetsUIEventName,"FSheetsUIEventName");let FSheetsUIEventName=_FSheetsUIEventName;core.FEventName.extend(FSheetsUIEventName);const _FRangeSheetsUIMixin=class _FRangeSheetsUIMixin extends facade.FRange{getCell(){var _a;const renderManagerService=this._injector.get(engineRender.IRenderManagerService),logService=this._injector.get(core.ILogService),unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId(),render=renderManagerService.getRenderById(unitId),skeleton=(_a=render==null?void 0:render.with(sheetsUi.SheetSkeletonManagerService).getWorksheetSkeleton(subUnitId))==null?void 0:_a.skeleton;if(!skeleton)throw logService.error("[Facade]: `FRange.getCell` can only be called in current worksheet"),new Error("`FRange.getCell` can only be called in current worksheet");return skeleton.getCellWithCoordByIndex(this._range.startRow,this._range.startColumn)}getCellRect(){const{startX:x,startY:y,endX:x2,endY:y2}=this.getCell(),data={x,y,width:x2-x,height:y2-y,top:y,left:x,bottom:y2,right:x2};return{...data,toJSON:__name(()=>JSON.stringify(data),"toJSON")}}generateHTML(){var _a;const copyContent=this._injector.get(sheetsUi.ISheetClipboardService).generateCopyContent(this._workbook.getUnitId(),this._worksheet.getSheetId(),this._range);return(_a=copyContent==null?void 0:copyContent.html)!=null?_a:""}attachPopup(popup){var _a,_b,_c;popup.direction=(_a=popup.direction)!=null?_a:"horizontal",popup.extraProps=(_b=popup.extraProps)!=null?_b:{},popup.offset=(_c=popup.offset)!=null?_c:[0,0];const{key,disposableCollection}=transformComponentKey(popup,this._injector.get(ui.ComponentManager)),disposePopup=this._injector.get(sheetsUi.SheetCanvasPopManagerService).attachPopupToCell(this._range.startRow,this._range.startColumn,{...popup,componentKey:key},this.getUnitId(),this._worksheet.getSheetId());return disposePopup?(disposableCollection.add(disposePopup),disposableCollection):(disposableCollection.dispose(),null)}attachAlertPopup(alert){const cellAlertService=this._injector.get(sheetsUi.CellAlertManagerService),location={workbook:this._workbook,worksheet:this._worksheet,row:this._range.startRow,col:this._range.startColumn,unitId:this.getUnitId(),subUnitId:this._worksheet.getSheetId()};return cellAlertService.showAlert({...alert,location}),{dispose:__name(()=>{cellAlertService.removeAlert(alert.key)},"dispose")}}attachRangePopup(popup){var _a,_b,_c;popup.direction=(_a=popup.direction)!=null?_a:"horizontal",popup.extraProps=(_b=popup.extraProps)!=null?_b:{},popup.offset=(_c=popup.offset)!=null?_c:[0,0];const{key,disposableCollection}=transformComponentKey(popup,this._injector.get(ui.ComponentManager)),disposePopup=this._injector.get(sheetsUi.SheetCanvasPopManagerService).attachRangePopup(this._range,{...popup,componentKey:key},this.getUnitId(),this._worksheet.getSheetId());return disposePopup?(disposableCollection.add(disposePopup),disposableCollection):(disposableCollection.dispose(),null)}highlight(style,primary){const markSelectionService=this._injector.get(sheetsUi.IMarkSelectionService),id=markSelectionService.addShape({range:this._range,style,primary});if(!id)throw new Error("Failed to highlight current range");return core.toDisposable(()=>{markSelectionService.removeShape(id)})}};__name(_FRangeSheetsUIMixin,"FRangeSheetsUIMixin");let FRangeSheetsUIMixin=_FRangeSheetsUIMixin;facade.FRange.extend(FRangeSheetsUIMixin);function transformComponentKey(component,componentManager){const{componentKey,isVue3}=component;let key;const disposableCollection=new core.DisposableCollection;return typeof componentKey=="string"?key=componentKey:(key=`External_${core.generateRandomId(6)}`,disposableCollection.add(componentManager.register(key,componentKey,{framework:isVue3?"vue3":"react"}))),{key,disposableCollection}}__name(transformComponentKey,"transformComponentKey"),exports2.transformComponentKey=transformComponentKey,Object.defineProperty(exports2,Symbol.toStringTag,{value:"Module"})});
1
+ (function(global,factory){typeof exports=="object"&&typeof module<"u"?factory(exports,require("@univerjs/core"),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/docs","@univerjs/engine-render","@univerjs/sheets","@univerjs/sheets-ui","@univerjs/sheets/facade","@univerjs/ui","rxjs"],factory):(global=typeof globalThis<"u"?globalThis:global||self,factory(global.UniverSheetsUiFacade={},global.UniverCore,global.UniverDocs,global.UniverEngineRender,global.UniverSheets,global.UniverSheetsUi,global.UniverSheetsFacade,global.UniverUi,global.rxjs))})(this,function(exports2,core,docs,engineRender,sheets,sheetsUi,facade,ui,rxjs){"use strict";var __defProp=Object.defineProperty;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});const _FUniverSheetsUIMixin=class _FUniverSheetsUIMixin extends core.FUniver{_initSheetUIEvent(injector){const commandService=injector.get(core.ICommandService);this.disposeWithMe(commandService.beforeCommandExecuted(commandInfo=>{if(commandInfo.id===sheetsUi.SetCellEditVisibleOperation.id){if(!this._eventListend(this.Event.BeforeSheetEditStart)&&!this._eventListend(this.Event.BeforeSheetEditEnd))return;const target=this.getCommandSheetTarget(commandInfo);if(!target)return;const{workbook,worksheet}=target,editorBridgeService=injector.get(sheetsUi.IEditorBridgeService),univerInstanceService=injector.get(core.IUniverInstanceService),params=commandInfo.params,{visible,keycode,eventType}=params,loc=editorBridgeService.getEditLocation();if(visible){const eventParams={row:loc.row,column:loc.column,eventType,keycode,workbook,worksheet,isZenEditor:!1};if(this.fireEvent(this.Event.BeforeSheetEditStart,eventParams),eventParams.cancel)throw new core.CanceledError}else{const eventParams={row:loc.row,column:loc.column,eventType,keycode,workbook,worksheet,isZenEditor:!1,value:core.RichTextValue.create(univerInstanceService.getUnit(core.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isConfirm:keycode!==ui.KeyCode.ESC};if(this.fireEvent(this.Event.BeforeSheetEditEnd,eventParams),eventParams.cancel)throw new core.CanceledError}}if(commandInfo.id===sheetsUi.SetZoomRatioCommand.id){if(!this._eventListend(this.Event.BeforeSheetZoomChange))return;const target=this.getCommandSheetTarget(commandInfo);if(!target)return;const{workbook,worksheet}=target;this.fireEvent(this.Event.BeforeSheetZoomChange,{zoom:commandInfo.params.zoomRatio,workbook,worksheet})}})),this.disposeWithMe(commandService.onCommandExecuted(commandInfo=>{if(commandInfo.id===sheetsUi.SetCellEditVisibleOperation.id){if(!this._eventListend(this.Event.SheetEditStarted)&&!this._eventListend(this.Event.SheetEditEnded))return;const target=this.getCommandSheetTarget(commandInfo);if(!target)return;const{workbook,worksheet}=target,editorBridgeService=injector.get(sheetsUi.IEditorBridgeService),params=commandInfo.params,{visible,keycode,eventType}=params,loc=editorBridgeService.getEditLocation();if(visible){const eventParams={row:loc.row,column:loc.column,eventType,keycode,workbook,worksheet,isZenEditor:!1};this.fireEvent(this.Event.SheetEditStarted,eventParams)}else{const eventParams={row:loc.row,column:loc.column,eventType,keycode,workbook,worksheet,isZenEditor:!1,isConfirm:keycode!==ui.KeyCode.ESC};this.fireEvent(this.Event.SheetEditEnded,eventParams)}}if(commandInfo.id===docs.RichTextEditingMutation.id){if(!this._eventListend(this.Event.SheetEditChanging))return;const target=this.getCommandSheetTarget(commandInfo);if(!target)return;const{workbook,worksheet}=target,editorBridgeService=injector.get(sheetsUi.IEditorBridgeService),univerInstanceService=injector.get(core.IUniverInstanceService),params=commandInfo.params;if(!editorBridgeService.isVisible().visible)return;const{unitId}=params;if(unitId===core.DOCS_NORMAL_EDITOR_UNIT_ID_KEY){const{row,column}=editorBridgeService.getEditLocation(),eventParams={workbook,worksheet,row,column,value:core.RichTextValue.create(univerInstanceService.getUnit(core.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isZenEditor:!1};this.fireEvent(this.Event.SheetEditChanging,eventParams)}}if(commandInfo.id===sheetsUi.SetZoomRatioCommand.id){if(!this._eventListend(this.Event.SheetZoomChanged))return;const target=this.getCommandSheetTarget(commandInfo);if(!target)return;const{workbook,worksheet}=target;this.fireEvent(this.Event.SheetZoomChanged,{zoom:worksheet.getZoom(),workbook,worksheet})}})),this._initObserverListener(injector)}_initObserverListener(injector){const unitM=injector.get(core.IUniverInstanceService).getFocusedUnit(),unitId=unitM==null?void 0:unitM.getUnitId(),renderManagerService=injector.get(engineRender.IRenderManagerService);if(unitId){const lifeCycleService2=injector.get(core.LifecycleService),disposable=new core.DisposableCollection;this.disposeWithMe(lifeCycleService2.lifecycle$.subscribe(lifecycle=>{var _a,_b,_c,_d,_e,_f,_g,_h,_i,_j,_k,_l,_m,_n,_o;if(lifecycle<core.LifecycleStages.Rendered)return;disposable.dispose();const hoverManagerService=injector.get(sheetsUi.HoverManagerService),dragManagerService=injector.get(sheetsUi.DragManagerService);hoverManagerService&&(disposable.add((_a=hoverManagerService.currentClickedCell$)==null?void 0:_a.pipe(rxjs.filter(cell=>!!cell)).subscribe(cell=>{if(!this._eventListend(this.Event.CellClicked))return;const baseParams=this.getSheetTarget(cell.location.unitId,cell.location.subUnitId);baseParams&&this.fireEvent(this.Event.CellClicked,{...baseParams,...cell,row:cell.location.row,column:cell.location.col})})),disposable.add((_b=hoverManagerService.currentRichText$)==null?void 0:_b.pipe(rxjs.filter(cell=>!!cell)).subscribe(cell=>{if(!this._eventListend(this.Event.CellHover))return;const baseParams=this.getSheetTarget(cell.unitId,cell.subUnitId);baseParams&&this.fireEvent(this.Event.CellHover,{...baseParams,...cell,row:cell.row,column:cell.col})})),disposable.add((_c=hoverManagerService.currentPointerDownCell$)==null?void 0:_c.pipe(rxjs.filter(cell=>!!cell)).subscribe(cell=>{if(!this._eventListend(this.Event.CellPointerDown))return;const baseParams=this.getSheetTarget(cell.unitId,cell.subUnitId);baseParams&&this.fireEvent(this.Event.CellPointerDown,{...baseParams,...cell,row:cell.row,column:cell.col})})),disposable.add((_d=hoverManagerService.currentPointerUpCell$)==null?void 0:_d.pipe(rxjs.filter(cell=>!!cell)).subscribe(cell=>{if(!this._eventListend(this.Event.CellPointerUp))return;const baseParams=this.getSheetTarget(cell.unitId,cell.subUnitId);baseParams&&this.fireEvent(this.Event.CellPointerUp,{...baseParams,...cell,row:cell.row,column:cell.col})})),disposable.add((_e=hoverManagerService.currentCellPosWithEvent$)==null?void 0:_e.pipe(rxjs.filter(cell=>!!cell)).subscribe(cell=>{if(!this._eventListend(this.Event.CellPointerMove))return;const baseParams=this.getSheetTarget(cell.unitId,cell.subUnitId);baseParams&&this.fireEvent(this.Event.CellPointerMove,{...baseParams,...cell,row:cell.row,column:cell.col})})),disposable.add((_f=dragManagerService.currentCell$)==null?void 0:_f.pipe(rxjs.filter(cell=>!!cell)).subscribe(cell=>{if(!this._eventListend(this.Event.DragOver))return;const baseParams=this.getSheetTarget(cell.location.unitId,cell.location.subUnitId);baseParams&&this.fireEvent(this.Event.DragOver,{...baseParams,...cell,row:cell.location.row,column:cell.location.col})})),disposable.add((_g=dragManagerService.endCell$)==null?void 0:_g.pipe(rxjs.filter(cell=>!!cell)).subscribe(cell=>{if(!this._eventListend(this.Event.Drop))return;const baseParams=this.getSheetTarget(cell.location.unitId,cell.location.subUnitId);baseParams&&this.fireEvent(this.Event.Drop,{...baseParams,...cell,row:cell.location.row,column:cell.location.col})})),disposable.add((_h=hoverManagerService.currentRowHeaderClick$)==null?void 0:_h.pipe(rxjs.filter(header=>!!header)).subscribe(header=>{if(!this._eventListend(this.Event.RowHeaderClick))return;const baseParams=this.getSheetTarget(header.unitId,header.subUnitId);baseParams&&this.fireEvent(this.Event.RowHeaderClick,{...baseParams,row:header.index})})),disposable.add((_i=hoverManagerService.currentRowHeaderPointerDown$)==null?void 0:_i.pipe(rxjs.filter(header=>!!header)).subscribe(header=>{if(!this._eventListend(this.Event.RowHeaderPointerDown))return;const baseParams=this.getSheetTarget(header.unitId,header.subUnitId);baseParams&&this.fireEvent(this.Event.RowHeaderPointerDown,{...baseParams,row:header.index})})),disposable.add((_j=hoverManagerService.currentRowHeaderPointerUp$)==null?void 0:_j.pipe(rxjs.filter(header=>!!header)).subscribe(header=>{if(!this._eventListend(this.Event.RowHeaderPointerUp))return;const baseParams=this.getSheetTarget(header.unitId,header.subUnitId);baseParams&&this.fireEvent(this.Event.RowHeaderPointerUp,{...baseParams,row:header.index})})),disposable.add((_k=hoverManagerService.currentHoveredRowHeader$)==null?void 0:_k.pipe(rxjs.filter(header=>!!header)).subscribe(header=>{if(!this._eventListend(this.Event.RowHeaderHover))return;const baseParams=this.getSheetTarget(header.unitId,header.subUnitId);baseParams&&this.fireEvent(this.Event.RowHeaderHover,{...baseParams,row:header.index})})),disposable.add((_l=hoverManagerService.currentColHeaderClick$)==null?void 0:_l.pipe(rxjs.filter(header=>!!header)).subscribe(header=>{if(!this._eventListend(this.Event.ColumnHeaderClick))return;const baseParams=this.getSheetTarget(header.unitId,header.subUnitId);baseParams&&this.fireEvent(this.Event.ColumnHeaderClick,{...baseParams,column:header.index})})),disposable.add((_m=hoverManagerService.currentColHeaderPointerDown$)==null?void 0:_m.pipe(rxjs.filter(header=>!!header)).subscribe(header=>{if(!this._eventListend(this.Event.ColumnHeaderPointerDown))return;const baseParams=this.getSheetTarget(header.unitId,header.subUnitId);baseParams&&this.fireEvent(this.Event.ColumnHeaderPointerDown,{...baseParams,column:header.index})})),disposable.add((_n=hoverManagerService.currentColHeaderPointerUp$)==null?void 0:_n.pipe(rxjs.filter(header=>!!header)).subscribe(header=>{if(!this._eventListend(this.Event.ColumnHeaderPointerUp))return;const baseParams=this.getSheetTarget(header.unitId,header.subUnitId);baseParams&&this.fireEvent(this.Event.ColumnHeaderPointerUp,{...baseParams,column:header.index})})),disposable.add((_o=hoverManagerService.currentHoveredColHeader$)==null?void 0:_o.pipe(rxjs.filter(header=>!!header)).subscribe(header=>{if(!this._eventListend(this.Event.ColumnHeaderHover))return;const baseParams=this.getSheetTarget(header.unitId,header.subUnitId);baseParams&&this.fireEvent(this.Event.ColumnHeaderHover,{...baseParams,column:header.index})})))})),this.disposeWithMe(disposable)}const unitMap=new Map;let sheetRenderUnit;const lifeCycleService=injector.get(core.LifecycleService),combined$=rxjs.combineLatest([renderManagerService.created$,lifeCycleService.lifecycle$]);this.disposeWithMe(combined$.subscribe(([created,lifecycle])=>{var _a;if(created.type===core.UniverInstanceType.UNIVER_SHEET&&(sheetRenderUnit=created),lifecycle<=core.LifecycleStages.Rendered)return;const disposable=new core.DisposableCollection;if(!sheetRenderUnit)return;const workbook=this.getWorkbook(sheetRenderUnit.unitId);if(!workbook)return;unitMap.get(sheetRenderUnit.unitId)&&((_a=unitMap.get(sheetRenderUnit.unitId))==null||_a.dispose()),unitMap.set(sheetRenderUnit.unitId,disposable);const scrollManagerService=sheetRenderUnit.with(sheetsUi.SheetScrollManagerService);disposable.add(scrollManagerService.validViewportScrollInfo$.subscribe(params=>{params&&this._eventListend(this.Event.Scroll)&&this.fireEvent(this.Event.Scroll,{workbook,worksheet:workbook.getActiveSheet(),...params})}));const selectionService=sheetRenderUnit.with(sheets.SheetsSelectionsService);disposable.add(selectionService.selectionMoveStart$.subscribe(selections=>{var _a2;this._eventListend(this.Event.SelectionMoveStart)&&this.fireEvent(this.Event.SelectionMoveStart,{workbook,worksheet:workbook.getActiveSheet(),selections:(_a2=selections==null?void 0:selections.map(s=>s.range))!=null?_a2:[]})})),disposable.add(selectionService.selectionMoving$.subscribe(selections=>{var _a2;this._eventListend(this.Event.SelectionMoving)&&this.fireEvent(this.Event.SelectionMoving,{workbook,worksheet:workbook.getActiveSheet(),selections:(_a2=selections==null?void 0:selections.map(s=>s.range))!=null?_a2:[]})})),disposable.add(selectionService.selectionMoveEnd$.subscribe(selections=>{var _a2;this._eventListend(this.Event.SelectionMoveEnd)&&this.fireEvent(this.Event.SelectionMoveEnd,{workbook,worksheet:workbook.getActiveSheet(),selections:(_a2=selections==null?void 0:selections.map(s=>s.range))!=null?_a2:[]})})),disposable.add(selectionService.selectionChanged$.subscribe(selections=>{var _a2;this._eventListend(this.Event.SelectionChanged)&&this.fireEvent(this.Event.SelectionChanged,{workbook,worksheet:workbook.getActiveSheet(),selections:(_a2=selections==null?void 0:selections.map(s=>s.range))!=null?_a2:[]})})),sheetRenderUnit=null,this.disposeWithMe(disposable)})),this.disposeWithMe(renderManagerService.disposed$.subscribe(unitId2=>{var _a;(_a=unitMap.get(unitId2))==null||_a.dispose(),unitMap.delete(unitId2)})),this.disposeWithMe(()=>{unitMap.forEach(disposable=>{disposable.dispose()})})}_initialize(injector){this._initSheetUIEvent(injector);const commandService=injector.get(core.ICommandService);this.disposeWithMe(commandService.beforeCommandExecuted(commandInfo=>{switch(commandInfo.id){case ui.CopyCommand.id:case ui.CutCommand.id:this._beforeClipboardChange();break;case sheetsUi.SheetPasteShortKeyCommand.id:this._beforeClipboardPaste(commandInfo.params);break}})),this.disposeWithMe(commandService.onCommandExecuted(commandInfo=>{if(sheets.COMMAND_LISTENER_SKELETON_CHANGE.indexOf(commandInfo.id)>-1){if(!this._eventListend(this.Event.SheetSkeletonChanged))return;const sheet=this.getActiveSheet();if(!sheet)return;const ranges=sheets.getSkeletonChangedEffectedRange(commandInfo).map(range=>{var _a,_b;return(_b=(_a=this.getWorkbook(range.unitId))==null?void 0:_a.getSheetBySheetId(range.subUnitId))==null?void 0:_b.getRange(range.range)}).filter(Boolean);if(!ranges.length)return;this.fireEvent(this.Event.SheetSkeletonChanged,{workbook:sheet.workbook,worksheet:sheet.worksheet,payload:commandInfo,skeleton:sheet.worksheet.getSkeleton(),effectedRanges:ranges});return}switch(commandInfo.id){case ui.CopyCommand.id:case ui.CutCommand.id:this._clipboardChanged();break;case sheetsUi.SheetPasteShortKeyCommand.id:this._clipboardPaste();break;case ui.PasteCommand.id:this._clipboardPasteAsync();break}})),this.disposeWithMe(commandService.beforeCommandExecuted(async commandInfo=>{switch(commandInfo.id){case ui.PasteCommand.id:await this._beforeClipboardPasteAsync();break}}))}_generateClipboardCopyParam(){const workbook=this.getActiveWorkbook(),worksheet=workbook==null?void 0:workbook.getActiveSheet(),range=workbook==null?void 0:workbook.getActiveRange();if(!workbook||!worksheet||!range)return;const content=this._injector.get(sheetsUi.ISheetClipboardService).generateCopyContent(workbook.getId(),worksheet.getSheetId(),range.getRange());if(!content)return;const{html,plain}=content;return{workbook,worksheet,text:plain,html,fromSheet:worksheet,fromRange:range}}_beforeClipboardChange(){if(!this.hasEventCallback(this.Event.BeforeClipboardChange))return;const eventParams=this._generateClipboardCopyParam();if(eventParams&&(this.fireEvent(this.Event.BeforeClipboardChange,eventParams),eventParams.cancel))throw new Error("Before clipboard change is canceled")}_clipboardChanged(){if(!this.hasEventCallback(this.Event.ClipboardChanged))return;const eventParams=this._generateClipboardCopyParam();if(eventParams&&(this.fireEvent(this.Event.ClipboardChanged,eventParams),eventParams.cancel))throw new Error("Clipboard changed is canceled")}_generateClipboardPasteParam(params){if(!params)return;const{htmlContent,textContent}=params,workbook=this.getActiveWorkbook(),worksheet=workbook==null?void 0:workbook.getActiveSheet();return!workbook||!worksheet?void 0:{workbook,worksheet,text:textContent,html:htmlContent}}async _generateClipboardPasteParamAsync(){const workbook=this.getActiveWorkbook(),worksheet=workbook==null?void 0:workbook.getActiveSheet();if(!workbook||!worksheet)return;const item=(await this._injector.get(ui.IClipboardInterfaceService).read())[0];let eventParams;if(item){const types=item.types,text=types.indexOf(ui.PLAIN_TEXT_CLIPBOARD_MIME_TYPE)!==-1?await item.getType(ui.PLAIN_TEXT_CLIPBOARD_MIME_TYPE).then(blob=>blob&&blob.text()):"",html=types.indexOf(ui.HTML_CLIPBOARD_MIME_TYPE)!==-1?await item.getType(ui.HTML_CLIPBOARD_MIME_TYPE).then(blob=>blob&&blob.text()):"";eventParams={workbook,worksheet,text,html}}return eventParams}_beforeClipboardPaste(params){if(!this.hasEventCallback(this.Event.BeforeClipboardPaste))return;const eventParams=this._generateClipboardPasteParam(params);if(eventParams&&(this.fireEvent(this.Event.BeforeClipboardPaste,eventParams),eventParams.cancel))throw new Error("Before clipboard paste is canceled")}_clipboardPaste(params){if(!this.hasEventCallback(this.Event.BeforeClipboardPaste))return;const eventParams=this._generateClipboardPasteParam(params);if(eventParams&&(this.fireEvent(this.Event.BeforeClipboardPaste,eventParams),eventParams.cancel))throw new Error("Clipboard pasted is canceled")}async _beforeClipboardPasteAsync(){if(!this.hasEventCallback(this.Event.BeforeClipboardPaste))return;if(!ui.supportClipboardAPI()){this._injector.get(core.ILogService).warn("[Facade]: The navigator object only supports the browser environment");return}const eventParams=await this._generateClipboardPasteParamAsync();if(eventParams&&(this.fireEvent(this.Event.BeforeClipboardPaste,eventParams),eventParams.cancel))throw new Error("Before clipboard paste is canceled")}async _clipboardPasteAsync(){if(!this.hasEventCallback(this.Event.ClipboardPasted))return;if(!ui.supportClipboardAPI()){this._injector.get(core.ILogService).warn("[Facade]: The navigator object only supports the browser environment");return}const eventParams=await this._generateClipboardPasteParamAsync();if(eventParams&&(this.fireEvent(this.Event.ClipboardPasted,eventParams),eventParams.cancel))throw new Error("Clipboard pasted is canceled")}customizeColumnHeader(cfg){var _a,_b;const wb=this.getActiveWorkbook();if(!wb){console.error("WorkBook not exist");return}const unitId=wb==null?void 0:wb.getId(),renderManagerService=this._injector.get(engineRender.IRenderManagerService),activeSheet=wb.getActiveSheet(),subUnitId=activeSheet.getSheetId(),render=renderManagerService.getRenderById(unitId);render&&((_a=cfg.headerStyle)!=null&&_a.size)&&(render.with(sheetsUi.SheetSkeletonManagerService).setColumnHeaderSize(render,subUnitId,(_b=cfg.headerStyle)==null?void 0:_b.size),activeSheet==null||activeSheet.refreshCanvas()),this._getSheetRenderComponent(unitId,sheetsUi.SHEET_VIEW_KEY.COLUMN).setCustomHeader(cfg),activeSheet==null||activeSheet.refreshCanvas()}customizeRowHeader(cfg){const wb=this.getActiveWorkbook();if(!wb){console.error("WorkBook not exist");return}const unitId=wb==null?void 0:wb.getId();this._getSheetRenderComponent(unitId,sheetsUi.SHEET_VIEW_KEY.ROW).setCustomHeader(cfg)}registerSheetRowHeaderExtension(unitId,...extensions){const sheetComponent=this._getSheetRenderComponent(unitId,sheetsUi.SHEET_VIEW_KEY.ROW),registerDisposable=sheetComponent.register(...extensions);return core.toDisposable(()=>{registerDisposable.dispose(),sheetComponent.makeDirty(!0)})}registerSheetColumnHeaderExtension(unitId,...extensions){const sheetComponent=this._getSheetRenderComponent(unitId,sheetsUi.SHEET_VIEW_KEY.COLUMN),registerDisposable=sheetComponent.register(...extensions);return core.toDisposable(()=>{registerDisposable.dispose(),sheetComponent.makeDirty(!0)})}registerSheetMainExtension(unitId,...extensions){const sheetComponent=this._getSheetRenderComponent(unitId,sheetsUi.SHEET_VIEW_KEY.MAIN),registerDisposable=sheetComponent.register(...extensions);return core.toDisposable(()=>{registerDisposable.dispose(),sheetComponent.makeDirty(!0)})}_getSheetRenderComponent(unitId,viewKey){const render=this._injector.get(engineRender.IRenderManagerService).getRenderById(unitId);if(!render)throw new Error(`Render Unit with unitId ${unitId} not found`);const{components}=render,renderComponent=components.get(viewKey);if(!renderComponent)throw new Error("Render component not found");return renderComponent}getSheetHooks(){return this._injector.createInstance(facade.FSheetHooks)}};__name(_FUniverSheetsUIMixin,"FUniverSheetsUIMixin");let FUniverSheetsUIMixin=_FUniverSheetsUIMixin;core.FUniver.extend(FUniverSheetsUIMixin);const _FWorkbookSheetsUIMixin=class _FWorkbookSheetsUIMixin extends facade.FWorkbook{openSiderbar(params){return this._logDeprecation("openSiderbar"),this._injector.get(ui.ISidebarService).open(params)}openDialog(dialog){this._logDeprecation("openDialog");const disposable=this._injector.get(ui.IDialogService).open({...dialog,onClose:__name(()=>{disposable.dispose()},"onClose")});return disposable}_logDeprecation(name){this._injector.get(core.ILogService).warn("[FWorkbook]",`${name} is deprecated. Please use the function of the same name on "FUniver".`)}generateCellParams(cell){const worksheet=this.getActiveSheet();return{row:cell.row,column:cell.col,workbook:this,worksheet}}onCellClick(callback){const hoverManagerService=this._injector.get(sheetsUi.HoverManagerService);return core.toDisposable(hoverManagerService.currentClickedCell$.pipe(rxjs.filter(cell=>!!cell)).subscribe(cell=>{callback(cell)}))}onCellHover(callback){const hoverManagerService=this._injector.get(sheetsUi.HoverManagerService);return core.toDisposable(hoverManagerService.currentRichText$.pipe(rxjs.filter(cell=>!!cell)).subscribe(callback))}onCellPointerDown(callback){const hoverManagerService=this._injector.get(sheetsUi.HoverManagerService);return core.toDisposable(hoverManagerService.currentPointerDownCell$.subscribe(callback))}onCellPointerUp(callback){const hoverManagerService=this._injector.get(sheetsUi.HoverManagerService);return core.toDisposable(hoverManagerService.currentPointerUpCell$.subscribe(callback))}onCellPointerMove(callback){const hoverManagerService=this._injector.get(sheetsUi.HoverManagerService);return core.toDisposable(hoverManagerService.currentCellPosWithEvent$.pipe(rxjs.filter(cell=>!!cell)).subscribe(cell=>{callback(cell,cell.event)}))}onDragOver(callback){const dragManagerService=this._injector.get(sheetsUi.DragManagerService);return core.toDisposable(dragManagerService.currentCell$.pipe(rxjs.filter(cell=>!!cell)).subscribe(cell=>{callback(cell)}))}onDrop(callback){const dragManagerService=this._injector.get(sheetsUi.DragManagerService);return core.toDisposable(dragManagerService.endCell$.pipe(rxjs.filter(cell=>!!cell)).subscribe(cell=>{callback(cell)}))}startEditing(){return this._injector.get(core.ICommandService).syncExecuteCommand(sheetsUi.SetCellEditVisibleOperation.id,{eventType:engineRender.DeviceInputEventType.Dblclick,unitId:this._workbook.getUnitId(),visible:!0})}async endEditing(save){return this._injector.get(core.ICommandService).syncExecuteCommand(sheetsUi.SetCellEditVisibleOperation.id,{eventType:engineRender.DeviceInputEventType.Keyboard,keycode:save?ui.KeyCode.ENTER:ui.KeyCode.ESC,visible:!1,unitId:this._workbook.getUnitId()}),await core.awaitTime(0),!0}endEditingAsync(save=!0){return this.endEditing(save)}getScrollStateBySheetId(sheetId){const unitId=this._workbook.getUnitId(),render=this._injector.get(engineRender.IRenderManagerService).getRenderById(unitId);return render?render.with(sheetsUi.SheetScrollManagerService).getScrollStateByParam({unitId,sheetId}):null}disableSelection(){const unitId=this._workbook.getUnitId(),render=this._injector.get(engineRender.IRenderManagerService).getRenderById(unitId);return render&&render.with(sheetsUi.ISheetSelectionRenderService).disableSelection(),this}enableSelection(){const unitId=this._workbook.getUnitId(),render=this._injector.get(engineRender.IRenderManagerService).getRenderById(unitId);return render&&render.with(sheetsUi.ISheetSelectionRenderService).enableSelection(),this}transparentSelection(){const unitId=this._workbook.getUnitId(),render=this._injector.get(engineRender.IRenderManagerService).getRenderById(unitId);return render&&render.with(sheetsUi.ISheetSelectionRenderService).transparentSelection(),this}showSelection(){const unitId=this._workbook.getUnitId(),render=this._injector.get(engineRender.IRenderManagerService).getRenderById(unitId);return render&&render.with(sheetsUi.ISheetSelectionRenderService).showSelection(),this}};__name(_FWorkbookSheetsUIMixin,"FWorkbookSheetsUIMixin");let FWorkbookSheetsUIMixin=_FWorkbookSheetsUIMixin;facade.FWorkbook.extend(FWorkbookSheetsUIMixin);const _FWorksheetSkeletonMixin=class _FWorksheetSkeletonMixin extends facade.FWorksheet{refreshCanvas(){const renderManagerService=this._injector.get(engineRender.IRenderManagerService),unitId=this._fWorkbook.id,render=renderManagerService.getRenderById(unitId);if(!render)throw new Error(`Render Unit with unitId ${unitId} not found`);render.with(sheetsUi.SheetSkeletonManagerService).reCalculate();const mainComponent=render.mainComponent;if(!mainComponent)throw new Error("Main component not found");return mainComponent.makeDirty(),this}zoom(zoomRatio){return this._injector.get(core.ICommandService).syncExecuteCommand(sheetsUi.ChangeZoomRatioCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),zoomRatio}),this}getZoom(){return this._worksheet.getZoomRatio()}getVisibleRange(){const unitId=this._workbook.getUnitId(),render=this._injector.get(engineRender.IRenderManagerService).getRenderById(unitId);let range={startColumn:0,startRow:0,endColumn:0,endRow:0};if(!render)return range;const sk=render.with(sheetsUi.SheetSkeletonManagerService).getCurrentSkeleton();if(!sk)return range;const visibleRangeMap=sk==null?void 0:sk.getVisibleRanges();if(!visibleRangeMap)return range;range=sk.getVisibleRangeByViewport(engineRender.SHEET_VIEWPORT_KEY.VIEW_MAIN);for(const[k,r]of visibleRangeMap)engineRender.sheetContentViewportKeys.indexOf(k)!==-1&&(range.startColumn=Math.min(range.startColumn,r.startColumn),range.startRow=Math.min(range.startRow,r.startRow),range.endColumn=Math.max(range.endColumn,r.endColumn),range.endRow=Math.max(range.endRow,r.endRow));return range}scrollToCell(row,column){const unitId=this._workbook.getUnitId(),render=this._injector.get(engineRender.IRenderManagerService).getRenderById(unitId);return render&&(render==null?void 0:render.with(sheetsUi.SheetsScrollRenderController)).scrollToCell(row,column),this}getScrollState(){const emptyScrollState={offsetX:0,offsetY:0,sheetViewStartColumn:0,sheetViewStartRow:0},unitId=this._workbook.getUnitId(),sheetId=this._worksheet.getSheetId(),render=this._injector.get(engineRender.IRenderManagerService).getRenderById(unitId);return render&&render.with(sheetsUi.SheetScrollManagerService).getScrollStateByParam({unitId,sheetId})||emptyScrollState}onScroll(callback){var _a;const unitId=this._workbook.getUnitId(),scrollManagerService=(_a=this._injector.get(engineRender.IRenderManagerService).getRenderById(unitId))==null?void 0:_a.with(sheetsUi.SheetScrollManagerService);if(scrollManagerService){const sub=scrollManagerService.validViewportScrollInfo$.subscribe(params=>{callback(params)});return core.toDisposable(sub)}return core.toDisposable(()=>{})}getSkeleton(){var _a,_b;const service=(_a=this._injector.get(engineRender.IRenderManagerService).getRenderById(this._workbook.getUnitId()))==null?void 0:_a.with(sheetsUi.SheetSkeletonManagerService);return(_b=service==null?void 0:service.getWorksheetSkeleton(this._worksheet.getSheetId()))==null?void 0:_b.skeleton}setColumnAutoWidth(columnPosition,numColumn){const unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId(),ranges=[{startColumn:columnPosition,endColumn:columnPosition+numColumn-1,startRow:0,endRow:this._worksheet.getRowCount()-1}];return this._commandService.syncExecuteCommand(sheetsUi.SetWorksheetColAutoWidthCommand.id,{unitId,subUnitId,ranges}),this}};__name(_FWorksheetSkeletonMixin,"FWorksheetSkeletonMixin");let FWorksheetSkeletonMixin=_FWorksheetSkeletonMixin;facade.FWorksheet.extend(FWorksheetSkeletonMixin);const _FPermissionSheetsUIMixin=class _FPermissionSheetsUIMixin extends facade.FPermission{setPermissionDialogVisible(visible){this._permissionService.setShowComponents(visible)}};__name(_FPermissionSheetsUIMixin,"FPermissionSheetsUIMixin");let FPermissionSheetsUIMixin=_FPermissionSheetsUIMixin;facade.FPermission.extend(FPermissionSheetsUIMixin);const _FSheetHooksUIMixin=class _FSheetHooksUIMixin extends facade.FSheetHooks{onCellPointerMove(callback){return core.toDisposable(this._injector.get(sheetsUi.HoverManagerService).currentPosition$.subscribe(callback))}onCellPointerOver(callback){return core.toDisposable(this._injector.get(sheetsUi.HoverManagerService).currentCell$.subscribe(callback))}onCellDragOver(callback){return core.toDisposable(this._injector.get(sheetsUi.DragManagerService).currentCell$.subscribe(callback))}onCellDrop(callback){return core.toDisposable(this._injector.get(sheetsUi.DragManagerService).endCell$.subscribe(callback))}onCellRender(customRender,effect=core.InterceptorEffectEnum.Style,priority=sheets.InterceptCellContentPriority.DATA_VALIDATION){return this._injector.get(sheets.SheetInterceptorService).intercept(sheets.INTERCEPTOR_POINT.CELL_CONTENT,{effect,handler:__name((cell,pos,next)=>next({...cell,customRender:[...(cell==null?void 0:cell.customRender)||[],...customRender||[]]}),"handler"),priority})}onBeforeCellEdit(callback){return this._injector.get(core.ICommandService).beforeCommandExecuted(command=>{const params=command.params;command.id===sheetsUi.SetCellEditVisibleOperation.id&&params.visible&&callback(params)})}onAfterCellEdit(callback){return this._injector.get(core.ICommandService).onCommandExecuted(command=>{const params=command.params;command.id===sheetsUi.SetCellEditVisibleOperation.id&&!params.visible&&callback(params)})}};__name(_FSheetHooksUIMixin,"FSheetHooksUIMixin");let FSheetHooksUIMixin=_FSheetHooksUIMixin;facade.FSheetHooks.extend(FSheetHooksUIMixin);const CellFEventName={CellClicked:"CellClicked",CellPointerDown:"CellPointerDown",CellPointerUp:"CellPointerUp",CellPointerMove:"CellPointerMove",CellHover:"CellHover",DragOver:"DragOver",Drop:"Drop",Scroll:"Scroll",SelectionMoveStart:"SelectionMoveStart",SelectionMoving:"SelectionMoving",SelectionMoveEnd:"SelectionMoveEnd",SelectionChanged:"SelectionChanged"},_FSheetsUIEventName=class _FSheetsUIEventName extends core.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 CellFEventName.CellClicked}get CellHover(){return CellFEventName.CellHover}get CellPointerDown(){return CellFEventName.CellPointerDown}get CellPointerUp(){return CellFEventName.CellPointerUp}get CellPointerMove(){return CellFEventName.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"}};__name(_FSheetsUIEventName,"FSheetsUIEventName");let FSheetsUIEventName=_FSheetsUIEventName;core.FEventName.extend(FSheetsUIEventName);const _FRangeSheetsUIMixin=class _FRangeSheetsUIMixin extends facade.FRange{getCell(){var _a;const renderManagerService=this._injector.get(engineRender.IRenderManagerService),logService=this._injector.get(core.ILogService),unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId(),render=renderManagerService.getRenderById(unitId),skeleton=(_a=render==null?void 0:render.with(sheetsUi.SheetSkeletonManagerService).getWorksheetSkeleton(subUnitId))==null?void 0:_a.skeleton;if(!skeleton)throw logService.error("[Facade]: `FRange.getCell` can only be called in current worksheet"),new Error("`FRange.getCell` can only be called in current worksheet");return skeleton.getCellWithCoordByIndex(this._range.startRow,this._range.startColumn)}getCellRect(){const{startX:x,startY:y,endX:x2,endY:y2}=this.getCell(),data={x,y,width:x2-x,height:y2-y,top:y,left:x,bottom:y2,right:x2};return{...data,toJSON:__name(()=>JSON.stringify(data),"toJSON")}}generateHTML(){var _a;const copyContent=this._injector.get(sheetsUi.ISheetClipboardService).generateCopyContent(this._workbook.getUnitId(),this._worksheet.getSheetId(),this._range);return(_a=copyContent==null?void 0:copyContent.html)!=null?_a:""}attachPopup(popup){var _a,_b,_c;popup.direction=(_a=popup.direction)!=null?_a:"horizontal",popup.extraProps=(_b=popup.extraProps)!=null?_b:{},popup.offset=(_c=popup.offset)!=null?_c:[0,0];const{key,disposableCollection}=transformComponentKey(popup,this._injector.get(ui.ComponentManager)),disposePopup=this._injector.get(sheetsUi.SheetCanvasPopManagerService).attachPopupToCell(this._range.startRow,this._range.startColumn,{...popup,componentKey:key},this.getUnitId(),this._worksheet.getSheetId());return disposePopup?(disposableCollection.add(disposePopup),disposableCollection):(disposableCollection.dispose(),null)}attachAlertPopup(alert){const cellAlertService=this._injector.get(sheetsUi.CellAlertManagerService),location={workbook:this._workbook,worksheet:this._worksheet,row:this._range.startRow,col:this._range.startColumn,unitId:this.getUnitId(),subUnitId:this._worksheet.getSheetId()};return cellAlertService.showAlert({...alert,location}),{dispose:__name(()=>{cellAlertService.removeAlert(alert.key)},"dispose")}}attachRangePopup(popup){var _a,_b,_c;popup.direction=(_a=popup.direction)!=null?_a:"top-center",popup.extraProps=(_b=popup.extraProps)!=null?_b:{},popup.offset=(_c=popup.offset)!=null?_c:[0,0];const{key,disposableCollection}=transformComponentKey(popup,this._injector.get(ui.ComponentManager)),disposePopup=this._injector.get(sheetsUi.SheetCanvasPopManagerService).attachRangePopup(this._range,{...popup,componentKey:key},this.getUnitId(),this._worksheet.getSheetId());return disposePopup?(disposableCollection.add(disposePopup),disposableCollection):(disposableCollection.dispose(),null)}highlight(style,primary){const markSelectionService=this._injector.get(sheetsUi.IMarkSelectionService),id=markSelectionService.addShape({range:this._range,style,primary});if(!id)throw new Error("Failed to highlight current range");return core.toDisposable(()=>{markSelectionService.removeShape(id)})}};__name(_FRangeSheetsUIMixin,"FRangeSheetsUIMixin");let FRangeSheetsUIMixin=_FRangeSheetsUIMixin;facade.FRange.extend(FRangeSheetsUIMixin);function transformComponentKey(component,componentManager){const{componentKey,isVue3}=component;let key;const disposableCollection=new core.DisposableCollection;return typeof componentKey=="string"?key=componentKey:(key=`External_${core.generateRandomId(6)}`,disposableCollection.add(componentManager.register(key,componentKey,{framework:isVue3?"vue3":"react"}))),{key,disposableCollection}}__name(transformComponentKey,"transformComponentKey"),exports2.transformComponentKey=transformComponentKey,Object.defineProperty(exports2,Symbol.toStringTag,{value:"Module"})});