@univerjs/sheets-ui 0.19.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17,7 +17,6 @@ import type { IDisposable, Nullable } from '@univerjs/core';
17
17
  import type { IColumnsHeaderCfgParam, IMouseEvent, IPointerEvent, IRowsHeaderCfgParam } from '@univerjs/engine-render';
18
18
  import type { ICellPosWithEvent, IDragCellPosition, IHoverRichTextInfo, IHoverRichTextPosition, IScrollState } from '@univerjs/sheets-ui';
19
19
  import type { IDialogPartMethodOptions, ISidebarMethodOptions } from '@univerjs/ui';
20
- import type { ICellEventParam } from './f-event';
21
20
  import { FWorkbook } from '@univerjs/sheets/facade';
22
21
  /**
23
22
  * @ignore
@@ -282,7 +281,6 @@ export declare class FWorkbookSheetsUIMixin extends FWorkbook implements IFWorkb
282
281
  */
283
282
  private _getSheetRenderComponent;
284
283
  private _logDeprecation;
285
- generateCellParams(cell: IHoverRichTextPosition | ICellPosWithEvent): ICellEventParam;
286
284
  onCellClick(callback: (cell: IHoverRichTextInfo) => void): IDisposable;
287
285
  onCellHover(callback: (cell: IHoverRichTextPosition) => void): IDisposable;
288
286
  onCellPointerDown(callback: (cell: ICellPosWithEvent) => void): IDisposable;
@@ -23,7 +23,7 @@ import { FWorksheet } from '@univerjs/sheets/facade';
23
23
  /**
24
24
  * @ignore
25
25
  */
26
- export interface IFWorksheetSkeletonMixin {
26
+ export interface IFWorksheetUIMixin {
27
27
  /**
28
28
  * Refresh the canvas.
29
29
  * @returns {FWorksheet} The FWorksheet instance for chaining.
@@ -298,7 +298,7 @@ export interface IFWorksheetSkeletonMixin {
298
298
  */
299
299
  onScroll(callback: (params: Nullable<IViewportScrollState>) => void): IDisposable;
300
300
  }
301
- export declare class FWorksheetSkeletonMixin extends FWorksheet implements IFWorksheetSkeletonMixin {
301
+ export declare class FWorksheetUIMixin extends FWorksheet implements IFWorksheetUIMixin {
302
302
  refreshCanvas(): FWorksheet;
303
303
  highlightRanges(ranges: FRange[], style?: Nullable<Partial<ISelectionStyle>>, primary?: Nullable<ISelectionCell>): IDisposable;
304
304
  zoom(zoomRatio: number): FWorksheet;
@@ -327,6 +327,6 @@ export declare class FWorksheetSkeletonMixin extends FWorksheet implements IFWor
327
327
  private _getSheetRenderComponent;
328
328
  }
329
329
  declare module '@univerjs/sheets/facade' {
330
- interface FWorksheet extends IFWorksheetSkeletonMixin {
330
+ interface FWorksheet extends IFWorksheetUIMixin {
331
331
  }
332
332
  }
@@ -111,13 +111,10 @@ export { SELECTION_SHAPE_DEPTH } from './services/selection/const';
111
111
  export { SelectionControl, SelectionControl as SelectionShape } from './services/selection/selection-control';
112
112
  export { SheetSelectionRenderService } from './services/selection/selection-render.service';
113
113
  export { SelectionShapeExtension } from './services/selection/selection-shape-extension';
114
- export { attachPrimaryWithCoord, attachRangeWithCoord, attachSelectionWithCoord } from './services/selection/util';
115
114
  export { SheetSkeletonManagerService } from './services/sheet-skeleton-manager.service';
116
- export type { ISheetSkeletonManagerParam } from './services/sheet-skeleton-manager.service';
117
115
  export { SheetsRenderService } from './services/sheets-render.service';
118
116
  export { IStatusBarService, StatusBarService } from './services/status-bar.service';
119
117
  export { calculateDocSkeletonRects, getCustomRangePosition, getEditingCustomRangePosition } from './services/utils/doc-skeleton-util';
120
- export { convertPositionCellToSheetOverGrid, convertPositionSheetOverGridToAbsolute } from './services/utils/drawing-position-util';
121
118
  export { useKeyEventConfig } from './views/editor-container';
122
119
  export { FormulaBar } from './views/formula-bar/FormulaBar';
123
120
  export { MobileSheetBar } from './views/mobile/sheet-bar/MobileSheetBar';
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import type { ITextStyle, Nullable } from '@univerjs/core';
17
- import type { ISheetSkeletonManagerParam } from '../../sheet-skeleton-manager.service';
17
+ import type { ISheetSkeletonManagerParam } from '@univerjs/sheets';
18
18
  import type { IClipboardPropertyItem, IUniverSheetCopyDataModel } from '../type';
19
19
  import type { IPastePlugin } from './paste-plugins/type';
20
20
  export interface IStyleRule {
@@ -20,7 +20,7 @@ import type { Observable } from 'rxjs';
20
20
  import { Disposable, IContextService, IUniverInstanceService, ThemeService } from '@univerjs/core';
21
21
  import { IEditorService } from '@univerjs/docs-ui';
22
22
  import { DeviceInputEventType, IRenderManagerService } from '@univerjs/engine-render';
23
- import { SheetInterceptorService } from '@univerjs/sheets';
23
+ import { SheetInterceptorService, SheetSkeletonService } from '@univerjs/sheets';
24
24
  import { BehaviorSubject } from 'rxjs';
25
25
  export interface IEditorBridgeServiceVisibleParam {
26
26
  visible: boolean;
@@ -85,6 +85,7 @@ export interface IEditorBridgeService {
85
85
  }
86
86
  export declare class EditorBridgeService extends Disposable implements IEditorBridgeService, IDisposable {
87
87
  private readonly _sheetInterceptorService;
88
+ private readonly _sheetSkeletonService;
88
89
  private readonly _renderManagerService;
89
90
  private readonly _themeService;
90
91
  private readonly _univerInstanceService;
@@ -123,7 +124,7 @@ export declare class EditorBridgeService extends Disposable implements IEditorBr
123
124
  readonly afterVisible$: Observable<IEditorBridgeServiceVisibleParam>;
124
125
  private readonly _forceKeepVisible$;
125
126
  readonly forceKeepVisible$: Observable<boolean>;
126
- constructor(_sheetInterceptorService: SheetInterceptorService, _renderManagerService: IRenderManagerService, _themeService: ThemeService, _univerInstanceService: IUniverInstanceService, _editorService: IEditorService, _contextService: IContextService);
127
+ constructor(_sheetInterceptorService: SheetInterceptorService, _sheetSkeletonService: SheetSkeletonService, _renderManagerService: IRenderManagerService, _themeService: ThemeService, _univerInstanceService: IUniverInstanceService, _editorService: IEditorService, _contextService: IContextService);
127
128
  refreshEditCellState(): void;
128
129
  refreshEditCellPosition(resetSizeOnly?: boolean): void;
129
130
  setEditCell(param: ICurrentEditCellParam): void;
@@ -16,6 +16,7 @@
16
16
  import type { ISelectionWithStyle } from '@univerjs/sheets';
17
17
  import { Disposable, IUniverInstanceService, ThemeService } from '@univerjs/core';
18
18
  import { IRenderManagerService } from '@univerjs/engine-render';
19
+ import { SheetSkeletonService } from '@univerjs/sheets';
19
20
  import { SelectionControl } from '../selection/selection-control';
20
21
  export interface IMarkSelectionService {
21
22
  addShape(selection: ISelectionWithStyle, exits?: string[], zIndex?: number): string | null;
@@ -41,10 +42,11 @@ export declare const IMarkSelectionService: import("@wendellhu/redi").Identifier
41
42
  */
42
43
  export declare class MarkSelectionService extends Disposable implements IMarkSelectionService {
43
44
  private readonly _currentService;
45
+ private readonly _sheetSkeletonService;
44
46
  private readonly _renderManagerService;
45
47
  private readonly _themeService;
46
48
  private _shapeMap;
47
- constructor(_currentService: IUniverInstanceService, _renderManagerService: IRenderManagerService, _themeService: ThemeService);
49
+ constructor(_currentService: IUniverInstanceService, _sheetSkeletonService: SheetSkeletonService, _renderManagerService: IRenderManagerService, _themeService: ThemeService);
48
50
  addShape(selection: ISelectionWithStyle, exits?: string[], zIndex?: number): string | null;
49
51
  addShapeWithNoFresh(selection: ISelectionWithStyle, exits?: string[], zIndex?: number): string | null;
50
52
  refreshShapes(): void;
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import type { ICellInfo, ICellWithCoord, IContextService, IDisposable, IFreeze, IInterceptor, Injector, IRange, IRangeWithCoord, Nullable } from '@univerjs/core';
16
+ import type { ICellWithCoord, IContextService, IDisposable, IFreeze, IInterceptor, Injector, IRange, IRangeWithCoord, Nullable } from '@univerjs/core';
17
17
  import type { IMouseEvent, IPointerEvent, IRenderModule, Scene, SpreadsheetSkeleton, Viewport } from '@univerjs/engine-render';
18
18
  import type { ISelectionStyle, ISelectionWithCoord, ISelectionWithStyle } from '@univerjs/sheets';
19
19
  import type { Theme } from '@univerjs/themes';
@@ -47,10 +47,6 @@ export interface ISheetSelectionRenderService {
47
47
  getViewPort(): Viewport;
48
48
  getSkeleton(): SpreadsheetSkeleton;
49
49
  getSelectionControls(): SelectionControl[];
50
- /** @deprecated Use the function `attachSelectionWithCoord` instead. */
51
- attachSelectionWithCoord(selectionWithStyle: ISelectionWithStyle): ISelectionWithCoord;
52
- /** @deprecated Use the function `attachPrimaryWithCoord` instead`. */
53
- attachPrimaryWithCoord(primary: Nullable<Partial<ICellInfo>>): Nullable<ICellWithCoord>;
54
50
  /**
55
51
  * @deprecated Please use `getCellWithCoordByOffset` instead.
56
52
  */
@@ -202,10 +198,6 @@ export declare class BaseSelectionRenderService extends Disposable implements IS
202
198
  * @param moveStartPosY
203
199
  */
204
200
  protected _setupPointerMoveListener(viewportMain: Nullable<Viewport>, activeSelectionControl: SelectionControl, rangeType: RANGE_TYPE, scrollTimerType: ScrollTimerType | undefined, moveStartPosX: number, moveStartPosY: number): void;
205
- /** @deprecated Use the function `attachSelectionWithCoord` instead`. */
206
- attachSelectionWithCoord(selectionWithStyle: ISelectionWithStyle): ISelectionWithCoord;
207
- /** @deprecated Use the function `attachPrimaryWithCoord` instead`. */
208
- attachPrimaryWithCoord(primary: ICellInfo): ICellWithCoord;
209
201
  /**
210
202
  * @deprecated Please use `getCellWithCoordByOffset` instead.
211
203
  */
@@ -13,18 +13,11 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import type { IRange, IRangeWithCoord, Nullable, Workbook } from '@univerjs/core';
17
- import type { IRender, IRenderContext, IRenderModule } from '@univerjs/engine-render';
18
- import { Disposable, Injector } from '@univerjs/core';
19
- import { SpreadsheetSkeleton } from '@univerjs/engine-render';
16
+ import type { Nullable, Workbook } from '@univerjs/core';
17
+ import type { IRender, IRenderContext, IRenderModule, SpreadsheetSkeleton } from '@univerjs/engine-render';
18
+ import type { ISheetSkeletonManagerParam } from '@univerjs/sheets';
19
+ import { Disposable } from '@univerjs/core';
20
20
  import { SheetSkeletonService } from '@univerjs/sheets';
21
- export interface ISheetSkeletonManagerParam {
22
- unitId: string;
23
- sheetId: string;
24
- skeleton: SpreadsheetSkeleton;
25
- dirty: boolean;
26
- commandId?: string;
27
- }
28
21
  export interface ISheetSkeletonManagerSearch {
29
22
  sheetId: string;
30
23
  commandId?: string;
@@ -34,10 +27,8 @@ export interface ISheetSkeletonManagerSearch {
34
27
  */
35
28
  export declare class SheetSkeletonManagerService extends Disposable implements IRenderModule {
36
29
  private readonly _context;
37
- private readonly _injector;
38
- private readonly _sheetSkService;
30
+ private readonly _sheetSkeletonService;
39
31
  private _sheetId;
40
- private _sheetSkeletonParamStore;
41
32
  private readonly _currentSkeleton$;
42
33
  readonly currentSkeleton$: import("rxjs").Observable<Nullable<ISheetSkeletonManagerParam>>;
43
34
  /**
@@ -45,39 +36,25 @@ export declare class SheetSkeletonManagerService extends Disposable implements I
45
36
  */
46
37
  private readonly _currentSkeletonBefore$;
47
38
  readonly currentSkeletonBefore$: import("rxjs").Observable<Nullable<ISheetSkeletonManagerParam>>;
48
- constructor(_context: IRenderContext<Workbook>, _injector: Injector, _sheetSkService: SheetSkeletonService);
49
- private _initRemoveSheet;
39
+ constructor(_context: IRenderContext<Workbook>, _sheetSkeletonService: SheetSkeletonService);
40
+ dispose(): void;
50
41
  getCurrentSkeleton(): Nullable<SpreadsheetSkeleton>;
51
- /**
52
- * @deprecated use `getCurrentSkeleton` instead.
53
- */
54
- getCurrent(): Nullable<ISheetSkeletonManagerParam>;
55
42
  /**
56
43
  * get ISheetSkeletonManagerParam from _currentSkeletonSearchParam
57
- * @returns
58
44
  */
59
45
  getCurrentParam(): Nullable<ISheetSkeletonManagerParam>;
60
46
  /**
61
47
  * Get skeleton by sheetId
62
- * @param sheetId
63
48
  */
64
49
  getSkeleton(sheetId: string): Nullable<SpreadsheetSkeleton>;
65
50
  /**
66
51
  * Get SkeletonParam by sheetId
67
- * @param sheetId
68
52
  */
69
53
  getSkeletonParam(sheetId: string): Nullable<ISheetSkeletonManagerParam>;
70
- /**
71
- * @deprecated use `getSkeleton` instead.
72
- */
73
- getWorksheetSkeleton(sheetId: string): Nullable<ISheetSkeletonManagerParam>;
74
- getUnitSkeleton(unitId: string, sheetId: string): Nullable<ISheetSkeletonManagerParam>;
75
54
  /**
76
55
  * Command in COMMAND_LISTENER_SKELETON_CHANGE would cause setCurrent, see @packages/sheets-ui/src/controllers/render-controllers/sheet.render-controller.ts
77
- * @param searchParam
78
56
  */
79
- setCurrent(searchParam: ISheetSkeletonManagerSearch): Nullable<ISheetSkeletonManagerParam>;
80
- setSkeletonParam(sheetId: string, skp: ISheetSkeletonManagerParam): void;
57
+ setCurrent(searchParam: ISheetSkeletonManagerSearch): void;
81
58
  private _setCurrent;
82
59
  reCalculate(param?: Nullable<ISheetSkeletonManagerParam>): void;
83
60
  /**
@@ -86,18 +63,9 @@ export declare class SheetSkeletonManagerService extends Disposable implements I
86
63
  * @param state
87
64
  */
88
65
  makeDirty(searchParm: ISheetSkeletonManagerSearch, state?: boolean): void;
89
- /**
90
- * @deprecated Use function `ensureSkeleton` instead.
91
- * @param searchParam
92
- */
93
- getOrCreateSkeleton(searchParam: ISheetSkeletonManagerSearch): SpreadsheetSkeleton | undefined;
94
66
  ensureSkeleton(sheetId: string): SpreadsheetSkeleton | undefined;
95
- disposeSkeleton(sheetId: string): void;
96
- /** @deprecated Use function `attachRangeWithCoord` instead. */
97
- attachRangeWithCoord(range: IRange): Nullable<IRangeWithCoord>;
98
67
  private _getSkeletonParam;
99
68
  private _getSkeleton;
100
- private _buildSkeleton;
101
69
  setColumnHeaderSize(render: Nullable<IRender>, sheetId: string, size: number): void;
102
70
  setRowHeaderSize(render: Nullable<IRender>, sheetId: string, size: number): void;
103
71
  }
package/lib/umd/facade.js CHANGED
@@ -1 +1 @@
1
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`@univerjs/core`),require(`@univerjs/core/facade`),require(`@univerjs/docs`),require(`@univerjs/engine-render`),require(`@univerjs/sheets`),require(`@univerjs/sheets-ui`),require(`@univerjs/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`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsUiFacade={},e.UniverCore,e.UniverCoreFacade,e.UniverDocs,e.UniverEngineRender,e.UniverSheets,e.UniverSheetsUi,e.UniverSheetsFacade,e.UniverUi,e.rxjs))})(this,function(e,t,n,r,i,a,o,s,c,l){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var u=class extends n.FUniver{_initSheetUIEvent(e){let n=e.get(t.ICommandService);this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetEditStart,()=>n.beforeCommandExecuted(n=>{if(n.id!==o.SetCellEditVisibleOperation.id)return;let r=this.getActiveSheet();if(!r)return;let{workbook:i,worksheet:a}=r,s=e.get(o.IEditorBridgeService),{visible:c,keycode:l,eventType:u}=n.params,d=s.getEditLocation();if(c){let e={row:d.row,column:d.column,eventType:u,keycode:l,workbook:i,worksheet:a,isZenEditor:!1};if(this.fireEvent(this.Event.BeforeSheetEditStart,e),e.cancel)throw new t.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetEditEnd,()=>n.beforeCommandExecuted(n=>{if(n.id!==o.SetCellEditVisibleOperation.id)return;let r=this.getActiveSheet();if(!r)return;let{workbook:i,worksheet:a}=r,s=e.get(o.IEditorBridgeService),l=e.get(t.IUniverInstanceService),{visible:u,keycode:d,eventType:f}=n.params,p=s.getEditLocation();if(!u){let e={row:p.row,column:p.column,eventType:f,keycode:d,workbook:i,worksheet:a,isZenEditor:!1,value:t.RichTextValue.create(l.getUnit(t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isConfirm:d!==c.KeyCode.ESC};if(this.fireEvent(this.Event.BeforeSheetEditEnd,e),e.cancel)throw new t.CanceledError}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetEditStarted,()=>n.onCommandExecuted(t=>{if(t.id!==o.SetCellEditVisibleOperation.id)return;let n=this.getCommandSheetTarget(t);if(!n)return;let{workbook:r,worksheet:i}=n,a=e.get(o.IEditorBridgeService),{visible:s,keycode:c,eventType:l}=t.params,u=a.getEditLocation();if(s){let e={row:u.row,column:u.column,eventType:l,keycode:c,workbook:r,worksheet:i,isZenEditor:!1};this.fireEvent(this.Event.SheetEditStarted,e)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetEditEnded,()=>n.onCommandExecuted(t=>{if(t.id!==o.SetCellEditVisibleOperation.id)return;let n=this.getCommandSheetTarget(t);if(!n)return;let{workbook:r,worksheet:i}=n,a=e.get(o.IEditorBridgeService),{visible:s,keycode:l,eventType:u}=t.params,d=a.getEditLocation();if(!s){let e={row:d.row,column:d.column,eventType:u,keycode:l,workbook:r,worksheet:i,isZenEditor:!1,isConfirm:l!==c.KeyCode.ESC};this.fireEvent(this.Event.SheetEditEnded,e)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetEditChanging,()=>n.onCommandExecuted(n=>{if(n.id!==r.RichTextEditingMutation.id)return;let i=this.getActiveSheet();if(!i)return;let{workbook:a,worksheet:s}=i,c=e.get(o.IEditorBridgeService),l=e.get(t.IUniverInstanceService),u=n.params;if(!c.isVisible().visible)return;let{unitId:d}=u;if(d===t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY){let{row:e,column:n}=c.getEditLocation(),r={workbook:a,worksheet:s,row:e,column:n,value:t.RichTextValue.create(l.getUnit(t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isZenEditor:!1};this.fireEvent(this.Event.SheetEditChanging,r)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetZoomChange,()=>n.beforeCommandExecuted(e=>{if(e.id!==o.SetZoomRatioCommand.id)return;let n=this.getCommandSheetTarget(e);if(!n)return;let{workbook:r,worksheet:i}=n,a={zoom:e.params.zoomRatio,workbook:r,worksheet:i};if(this.fireEvent(this.Event.BeforeSheetZoomChange,a),a.cancel)throw new t.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetZoomChanged,()=>n.onCommandExecuted(e=>{if(e.id!==o.SetZoomRatioCommand.id)return;let t=this.getCommandSheetTarget(e);if(!t)return;let{workbook:n,worksheet:r}=t;this.fireEvent(this.Event.SheetZoomChanged,{zoom:r.getZoom(),workbook:n,worksheet:r})})))}_initObserverListener(e){let n=e.get(i.IRenderManagerService),r=e.get(t.LifecycleService),s=new t.DisposableCollection;this.disposeWithMe(r.lifecycle$.subscribe(n=>{if(n!==t.LifecycleStages.Rendered)return;let r=e.get(o.HoverManagerService),i=e.get(o.DragManagerService);r&&(s.dispose(),s.add(this.registerEventHandler(this.Event.CellClicked,()=>{var e;return(e=r.currentClickedCell$)==null?void 0:e.pipe((0,l.filter)(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.location.unitId,e.location.subUnitId);t&&this.fireEvent(this.Event.CellClicked,{...t,...e,row:e.location.row,column:e.location.col})})})),s.add(this.registerEventHandler(this.Event.CellHover,()=>{var e;return(e=r.currentRichText$)==null?void 0:e.pipe((0,l.filter)(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.CellHover,{...t,...e,row:e.row,column:e.col})})})),s.add(this.registerEventHandler(this.Event.CellPointerDown,()=>{var e;return(e=r.currentPointerDownCell$)==null?void 0:e.pipe((0,l.filter)(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.CellPointerDown,{...t,...e,row:e.row,column:e.col})})})),s.add(this.registerEventHandler(this.Event.CellPointerUp,()=>{var e;return(e=r.currentPointerUpCell$)==null?void 0:e.pipe((0,l.filter)(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.CellPointerUp,{...t,...e,row:e.row,column:e.col})})})),s.add(this.registerEventHandler(this.Event.CellPointerMove,()=>{var e;return(e=r.currentCellPosWithEvent$)==null?void 0:e.pipe((0,l.filter)(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.CellPointerMove,{...t,...e,row:e.row,column:e.col})})})),s.add(this.registerEventHandler(this.Event.DragOver,()=>{var e;return(e=i.currentCell$)==null?void 0:e.pipe((0,l.filter)(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.location.unitId,e.location.subUnitId);t&&this.fireEvent(this.Event.DragOver,{...t,...e,row:e.location.row,column:e.location.col})})})),s.add(this.registerEventHandler(this.Event.Drop,()=>{var e;return(e=i.endCell$)==null?void 0:e.pipe((0,l.filter)(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.location.unitId,e.location.subUnitId);t&&this.fireEvent(this.Event.Drop,{...t,...e,row:e.location.row,column:e.location.col})})})),s.add(this.registerEventHandler(this.Event.RowHeaderClick,()=>{var e;return(e=r.currentRowHeaderClick$)==null?void 0:e.pipe((0,l.filter)(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.RowHeaderClick,{...t,row:e.index})})})),s.add(this.registerEventHandler(this.Event.RowHeaderPointerDown,()=>{var e;return(e=r.currentRowHeaderPointerDown$)==null?void 0:e.pipe((0,l.filter)(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.RowHeaderPointerDown,{...t,row:e.index})})})),s.add(this.registerEventHandler(this.Event.RowHeaderPointerUp,()=>{var e;return(e=r.currentRowHeaderPointerUp$)==null?void 0:e.pipe((0,l.filter)(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.RowHeaderPointerUp,{...t,row:e.index})})})),s.add(this.registerEventHandler(this.Event.RowHeaderHover,()=>{var e;return(e=r.currentHoveredRowHeader$)==null?void 0:e.pipe((0,l.filter)(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.RowHeaderHover,{...t,row:e.index})})})),s.add(this.registerEventHandler(this.Event.ColumnHeaderClick,()=>{var e;return(e=r.currentColHeaderClick$)==null?void 0:e.pipe((0,l.filter)(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.ColumnHeaderClick,{...t,column:e.index})})})),s.add(this.registerEventHandler(this.Event.ColumnHeaderPointerDown,()=>{var e;return(e=r.currentColHeaderPointerDown$)==null?void 0:e.pipe((0,l.filter)(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.ColumnHeaderPointerDown,{...t,column:e.index})})})),s.add(this.registerEventHandler(this.Event.ColumnHeaderPointerUp,()=>{var e;return(e=r.currentColHeaderPointerUp$)==null?void 0:e.pipe((0,l.filter)(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.ColumnHeaderPointerUp,{...t,column:e.index})})})),s.add(this.registerEventHandler(this.Event.ColumnHeaderHover,()=>{var e;return(e=r.currentHoveredColHeader$)==null?void 0:e.pipe((0,l.filter)(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);t&&this.fireEvent(this.Event.ColumnHeaderHover,{...t,column:e.index})})})),this.disposeWithMe(s))}));let c,u=(0,l.combineLatest)([n.created$,r.lifecycle$]),d=new t.DisposableCollection;this.disposeWithMe(u.subscribe(([e,n])=>{if(e.type===t.UniverInstanceType.UNIVER_SHEET&&(c=e),n<=t.LifecycleStages.Rendered||!c)return;let r=this.getWorkbook(c.unitId);if(!r)return;d.dispose();let i=c.with(o.SheetScrollManagerService),s=c.with(a.SheetsSelectionsService);d.add(this.registerEventHandler(this.Event.Scroll,()=>i.validViewportScrollInfo$.subscribe(e=>{e&&this.fireEvent(this.Event.Scroll,{workbook:r,worksheet:r.getActiveSheet(),...e})}))),d.add(this.registerEventHandler(this.Event.SelectionMoveStart,()=>s.selectionMoveStart$.subscribe(e=>{var t;this.fireEvent(this.Event.SelectionMoveStart,{workbook:r,worksheet:r.getActiveSheet(),selections:(t=e==null?void 0:e.map(e=>e.range))==null?[]:t})}))),d.add(this.registerEventHandler(this.Event.SelectionMoving,()=>s.selectionMoving$.subscribe(e=>{var t;this.fireEvent(this.Event.SelectionMoving,{workbook:r,worksheet:r.getActiveSheet(),selections:(t=e==null?void 0:e.map(e=>e.range))==null?[]:t})}))),d.add(this.registerEventHandler(this.Event.SelectionMoveEnd,()=>s.selectionMoveEnd$.subscribe(e=>{var t;this.fireEvent(this.Event.SelectionMoveEnd,{workbook:r,worksheet:r.getActiveSheet(),selections:(t=e==null?void 0:e.map(e=>e.range))==null?[]:t})}))),d.add(this.registerEventHandler(this.Event.SelectionChanged,()=>s.selectionChanged$.subscribe(e=>{var t;this.fireEvent(this.Event.SelectionChanged,{workbook:r,worksheet:r.getActiveSheet(),selections:(t=e==null?void 0:e.map(e=>e.range))==null?[]:t})}))),c=null,this.disposeWithMe(d)}))}_initialize(e){this._initSheetUIEvent(e),this._initObserverListener(e);let n=e.get(t.ICommandService);this.disposeWithMe(this.registerEventHandler(this.Event.BeforeClipboardChange,()=>n.beforeCommandExecuted(e=>{switch(e.id){case c.CopyCommand.id:case c.CutCommand.id:this._beforeClipboardChange();break}}))),this.disposeWithMe(this.registerEventHandler(this.Event.ClipboardChanged,()=>n.onCommandExecuted(e=>{switch(e.id){case c.CopyCommand.id:case c.CutCommand.id:this._clipboardChanged();break}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeClipboardPaste,()=>n.beforeCommandExecuted(e=>{switch(e.id){case o.SheetPasteShortKeyCommand.id:this._beforeClipboardPaste(e.params);break;case c.PasteCommand.id:this._beforeClipboardPasteAsync();break}}))),this.disposeWithMe(this.registerEventHandler(this.Event.ClipboardPasted,()=>n.onCommandExecuted(e=>{switch(e.id){case o.SheetPasteShortKeyCommand.id:this._clipboardPaste(e.params);break;case c.PasteCommand.id:this._clipboardPasteAsync();break}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetSkeletonChanged,()=>n.onCommandExecuted(e=>{if(a.COMMAND_LISTENER_SKELETON_CHANGE.indexOf(e.id)>-1){let t=this.getActiveSheet();if(!t)return;let n=(0,a.getSkeletonChangedEffectedRange)(e,t.worksheet.getMaxColumns()).map(e=>{var t;return(t=this.getWorkbook(e.unitId))==null||(t=t.getSheetBySheetId(e.subUnitId))==null?void 0:t.getRange(e.range)}).filter(Boolean);if(!n.length)return;this.fireEvent(this.Event.SheetSkeletonChanged,{workbook:t.workbook,worksheet:t.worksheet,payload:e,skeleton:t.worksheet.getSkeleton(),effectedRanges:n})}})))}_generateClipboardCopyParam(){let e=this.getActiveWorkbook(),t=e==null?void 0:e.getActiveSheet(),n=e==null?void 0:e.getActiveRange();if(!e||!t||!n)return;let r=this._injector.get(o.ISheetClipboardService).generateCopyContent(e.getId(),t.getSheetId(),n.getRange());if(!r)return;let{html:i,plain:a}=r;return{workbook:e,worksheet:t,text:a,html:i,fromSheet:t,fromRange:n}}_beforeClipboardChange(){let e=this._generateClipboardCopyParam();if(e&&(this.fireEvent(this.Event.BeforeClipboardChange,e),e.cancel))throw new t.CanceledError}_clipboardChanged(){let e=this._generateClipboardCopyParam();e&&this.fireEvent(this.Event.ClipboardChanged,e)}_generateClipboardPasteParam(e){if(!e)return;let{htmlContent:t,textContent:n}=e,r=this.getActiveWorkbook(),i=r==null?void 0:r.getActiveSheet();if(!(!r||!i))return{workbook:r,worksheet:i,text:n,html:t}}async _generateClipboardPasteParamAsync(){let e=this.getActiveWorkbook(),t=e==null?void 0:e.getActiveSheet();if(!e||!t)return;let n=(await this._injector.get(c.IClipboardInterfaceService).read())[0],r;if(n){let i=n.types;r={workbook:e,worksheet:t,text:i.indexOf(c.PLAIN_TEXT_CLIPBOARD_MIME_TYPE)===-1?``:await n.getType(c.PLAIN_TEXT_CLIPBOARD_MIME_TYPE).then(e=>e&&e.text()),html:i.indexOf(c.HTML_CLIPBOARD_MIME_TYPE)===-1?``:await n.getType(c.HTML_CLIPBOARD_MIME_TYPE).then(e=>e&&e.text())}}return r}_beforeClipboardPaste(e){let n=this._generateClipboardPasteParam(e);if(n&&(this.fireEvent(this.Event.BeforeClipboardPaste,n),n.cancel))throw new t.CanceledError}_clipboardPaste(e){let n=this._generateClipboardPasteParam(e);if(n&&(this.fireEvent(this.Event.ClipboardPasted,n),n.cancel))throw new t.CanceledError}async _beforeClipboardPasteAsync(){if(!(0,c.supportClipboardAPI)()){this._injector.get(t.ILogService).warn(`[Facade]: The navigator object only supports the browser environment`);return}let e=await this._generateClipboardPasteParamAsync();if(e&&(this.fireEvent(this.Event.BeforeClipboardPaste,e),e.cancel))throw new t.CanceledError}async _clipboardPasteAsync(){if(!(0,c.supportClipboardAPI)()){this._injector.get(t.ILogService).warn(`[Facade]: The navigator object only supports the browser environment`);return}let e=await this._generateClipboardPasteParamAsync();if(e&&(this.fireEvent(this.Event.ClipboardPasted,e),e.cancel))throw new t.CanceledError}customizeColumnHeader(e){var t;let n=this.getActiveWorkbook();if(!n){console.error(`WorkBook not exist`);return}let r=n==null?void 0:n.getId(),a=this._injector.get(i.IRenderManagerService),s=n.getActiveSheet(),c=s.getSheetId(),l=a.getRenderById(r);if(l&&(t=e.headerStyle)!=null&&t.size){var u;l.with(o.SheetSkeletonManagerService).setColumnHeaderSize(l,c,(u=e.headerStyle)==null?void 0:u.size),s==null||s.refreshCanvas()}this._getSheetRenderComponent(r,o.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e),s==null||s.refreshCanvas()}customizeRowHeader(e){let t=this.getActiveWorkbook();if(!t){console.error(`WorkBook not exist`);return}let n=t==null?void 0:t.getId();this._getSheetRenderComponent(n,o.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}registerSheetRowHeaderExtension(e,...n){let r=this._getSheetRenderComponent(e,o.SHEET_VIEW_KEY.ROW),i=r.register(...n);return(0,t.toDisposable)(()=>{i.dispose(),r.makeDirty(!0)})}registerSheetColumnHeaderExtension(e,...n){let r=this._getSheetRenderComponent(e,o.SHEET_VIEW_KEY.COLUMN),i=r.register(...n);return(0,t.toDisposable)(()=>{i.dispose(),r.makeDirty(!0)})}registerSheetMainExtension(e,...n){let r=this._getSheetRenderComponent(e,o.SHEET_VIEW_KEY.MAIN),i=r.register(...n);return(0,t.toDisposable)(()=>{i.dispose(),r.makeDirty(!0)})}_getSheetRenderComponent(e,t){let n=this._injector.get(i.IRenderManagerService).getRenderById(e);if(!n)throw Error(`Render Unit with unitId ${e} not found`);let{components:r}=n,a=r.get(t);if(!a)throw Error(`Render component not found`);return a}getSheetHooks(){return this._injector.createInstance(s.FSheetHooks)}pasteIntoSheet(e,t,n){return this._commandService.executeCommand(o.SheetPasteShortKeyCommand.id,{htmlContent:e,textContent:t,files:n})}setProtectedRangeShadowStrategy(e){this._injector.get(o.SheetPermissionRenderManagerService).setProtectedRangeShadowStrategy(e)}getProtectedRangeShadowStrategy(){return this._injector.get(o.SheetPermissionRenderManagerService).getProtectedRangeShadowStrategy()}getProtectedRangeShadowStrategy$(){return this._injector.get(o.SheetPermissionRenderManagerService).getProtectedRangeShadowStrategy$()}setPermissionDialogVisible(e){this._injector.get(t.IPermissionService).setShowComponents(e)}};n.FUniver.extend(u);var d=class extends s.FWorkbook{openSiderbar(e){return this._logDeprecation(`openSiderbar`),this._injector.get(c.ISidebarService).open(e)}openDialog(e){this._logDeprecation(`openDialog`);let t=this._injector.get(c.IDialogService).open({...e,onClose:()=>{t.dispose()}});return t}customizeColumnHeader(e){let t=this._workbook.getUnitId();this._getSheetRenderComponent(t,o.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e)}customizeRowHeader(e){let t=this._workbook.getUnitId();this._getSheetRenderComponent(t,o.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}_getSheetRenderComponent(e,t){let n=this._injector.get(i.IRenderManagerService).getRenderById(e);if(!n)throw Error(`Render Unit with unitId ${e} not found`);let{components:r}=n,a=r.get(t);if(!a)throw Error(`Render component not found`);return a}_logDeprecation(e){this._injector.get(t.ILogService).warn(`[FWorkbook]`,`${e} is deprecated. Please use the function of the same name on "FUniver".`)}generateCellParams(e){let t=this.getActiveSheet();return{row:e.row,column:e.col,workbook:this,worksheet:t}}onCellClick(e){return(0,t.toDisposable)(this._injector.get(o.HoverManagerService).currentClickedCell$.pipe((0,l.filter)(e=>!!e)).subscribe(t=>{e(t)}))}onCellHover(e){return(0,t.toDisposable)(this._injector.get(o.HoverManagerService).currentRichText$.pipe((0,l.filter)(e=>!!e)).subscribe(e))}onCellPointerDown(e){return(0,t.toDisposable)(this._injector.get(o.HoverManagerService).currentPointerDownCell$.subscribe(e))}onCellPointerUp(e){return(0,t.toDisposable)(this._injector.get(o.HoverManagerService).currentPointerUpCell$.subscribe(e))}onCellPointerMove(e){return(0,t.toDisposable)(this._injector.get(o.HoverManagerService).currentCellPosWithEvent$.pipe((0,l.filter)(e=>!!e)).subscribe(t=>{e(t,t.event)}))}onDragOver(e){return(0,t.toDisposable)(this._injector.get(o.DragManagerService).currentCell$.pipe((0,l.filter)(e=>!!e)).subscribe(t=>{e(t)}))}onDrop(e){return(0,t.toDisposable)(this._injector.get(o.DragManagerService).endCell$.pipe((0,l.filter)(e=>!!e)).subscribe(t=>{e(t)}))}startEditing(){let e=this._injector.get(t.ICommandService);return this._injector.get(o.IEditorBridgeService).isVisible().visible?!0:e.syncExecuteCommand(o.SetCellEditVisibleOperation.id,{eventType:i.DeviceInputEventType.Dblclick,unitId:this._workbook.getUnitId(),visible:!0})}async endEditing(e){let n=this._injector.get(t.ICommandService);return this._injector.get(o.IEditorBridgeService).isVisible().visible&&n.syncExecuteCommand(o.SetCellEditVisibleOperation.id,{eventType:i.DeviceInputEventType.Keyboard,keycode:e?c.KeyCode.ENTER:c.KeyCode.ESC,visible:!1,unitId:this._workbook.getUnitId()}),await(0,t.awaitTime)(0),!0}endEditingAsync(e=!0){return this.endEditing(e)}abortEditingAsync(){return this.endEditingAsync(!1)}isCellEditing(){return this._injector.get(o.IEditorBridgeService).isVisible().visible}getScrollStateBySheetId(e){let t=this._workbook.getUnitId(),n=this._injector.get(i.IRenderManagerService).getRenderById(t);return n?n.with(o.SheetScrollManagerService).getScrollStateByParam({unitId:t,sheetId:e}):null}disableSelection(){let e=this._workbook.getUnitId(),t=this._injector.get(i.IRenderManagerService).getRenderById(e);return t&&t.with(o.ISheetSelectionRenderService).disableSelection(),this}enableSelection(){let e=this._workbook.getUnitId(),t=this._injector.get(i.IRenderManagerService).getRenderById(e);return t&&t.with(o.ISheetSelectionRenderService).enableSelection(),this}transparentSelection(){let e=this._workbook.getUnitId(),t=this._injector.get(i.IRenderManagerService).getRenderById(e);return t&&t.with(o.ISheetSelectionRenderService).transparentSelection(),this}showSelection(){let e=this._workbook.getUnitId(),t=this._injector.get(i.IRenderManagerService).getRenderById(e);return t&&t.with(o.ISheetSelectionRenderService).showSelection(),this}};s.FWorkbook.extend(d);var f=class extends s.FWorksheet{refreshCanvas(){let e=this._injector.get(i.IRenderManagerService),t=this._fWorkbook.id,n=e.getRenderById(t);if(!n)throw Error(`Render Unit with unitId ${t} not found`);n.with(o.SheetSkeletonManagerService).reCalculate();let r=n.mainComponent;if(!r)throw Error(`Main component not found`);return r.makeDirty(),this}highlightRanges(e,n,r){let i=this._injector.get(o.IMarkSelectionService),a=[];for(let t of e){let e=t.getRange(),o=i.addShapeWithNoFresh({range:e,style:n,primary:r});o&&a.push(o)}if(i.refreshShapes(),a.length===0)throw Error(`Failed to highlight current range`);return(0,t.toDisposable)(()=>{a.forEach(e=>{i.removeShape(e)})})}zoom(e){let n=this._injector.get(t.ICommandService),r=Math.min(Math.max(e,.1),4);return n.executeCommand(o.SetZoomRatioCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),zoomRatio:r}),this}getZoom(){return this._worksheet.getZoomRatio()}getVisibleRange(){let e=this._workbook.getUnitId(),t=this._injector.get(i.IRenderManagerService).getRenderById(e);if(!t)return null;let n=t.with(o.SheetSkeletonManagerService).getCurrentSkeleton();return n?n.getVisibleRangeByViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN):null}getVisibleRangesOfAllViewports(){let e=this._workbook.getUnitId(),t=this._injector.get(i.IRenderManagerService).getRenderById(e);if(!t)return null;let n=t.with(o.SheetSkeletonManagerService).getCurrentSkeleton();return n?n.getVisibleRanges():null}scrollToCell(e,t,n){let r=this._workbook.getUnitId(),a=this._injector.get(i.IRenderManagerService).getRenderById(r);return a&&(a==null?void 0:a.with(o.SheetsScrollRenderController)).scrollToCell(e,t,n),this}getScrollState(){let e={offsetX:0,offsetY:0,sheetViewStartColumn:0,sheetViewStartRow:0},t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),r=this._injector.get(i.IRenderManagerService).getRenderById(t);return r&&r.with(o.SheetScrollManagerService).getScrollStateByParam({unitId:t,sheetId:n})||e}onScroll(e){var n;let r=this._workbook.getUnitId(),a=(n=this._injector.get(i.IRenderManagerService).getRenderById(r))==null?void 0:n.with(o.SheetScrollManagerService);return a?(0,t.toDisposable)(a.validViewportScrollInfo$.subscribe(t=>{e(t)})):(0,t.toDisposable)(()=>{})}getSkeleton(){var e,t;let n=(e=this._injector.get(i.IRenderManagerService).getRenderById(this._workbook.getUnitId()))==null?void 0:e.with(o.SheetSkeletonManagerService);return n==null||(t=n.getWorksheetSkeleton(this._worksheet.getSheetId()))==null?void 0:t.skeleton}autoResizeColumn(e){return this.autoResizeColumns(e,1)}autoResizeColumns(e,t){let n=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),i=[{startColumn:e,endColumn:e+t-1,startRow:0,endRow:this._worksheet.getRowCount()-1}];return this._commandService.syncExecuteCommand(o.SetWorksheetColAutoWidthCommand.id,{unitId:n,subUnitId:r,ranges:i}),this}setColumnAutoWidth(e,t){return this.autoResizeColumns(e,t)}autoResizeRows(e,t){let n=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),i=[{startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(a.SetWorksheetRowIsAutoHeightCommand.id,{unitId:n,subUnitId:r,ranges:i}),this}customizeColumnHeader(e){var t;let n=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),a=this._injector.get(i.IRenderManagerService).getRenderById(n);if(a&&(t=e.headerStyle)!=null&&t.size){var s;a.with(o.SheetSkeletonManagerService).setColumnHeaderSize(a,r,(s=e.headerStyle)==null?void 0:s.size)}this._getSheetRenderComponent(n,o.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e,r)}customizeRowHeader(e){var t;let n=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),a=this._injector.get(i.IRenderManagerService).getRenderById(n);if(a&&(t=e.headerStyle)!=null&&t.size){var s;a.with(o.SheetSkeletonManagerService).setRowHeaderSize(a,r,(s=e.headerStyle)==null?void 0:s.size)}this._getSheetRenderComponent(n,o.SHEET_VIEW_KEY.ROW).setCustomHeader(e,r)}setColumnHeaderHeight(e){let t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return this._commandService.executeCommand(o.SetColumnHeaderHeightCommand.id,{unitId:t,subUnitId:n,size:e}),this}setRowHeaderWidth(e){let t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return this._commandService.executeCommand(o.SetRowHeaderWidthCommand.id,{unitId:t,subUnitId:n,size:e}),this}_getSheetRenderComponent(e,t){let n=this._injector.get(i.IRenderManagerService).getRenderById(e);if(!n)throw Error(`Render Unit with unitId ${e} not found`);let{components:r}=n,a=r.get(t);if(!a)throw Error(`Render component not found`);return a}};s.FWorksheet.extend(f);var p=class extends s.FPermission{setPermissionDialogVisible(e){this._permissionService.setShowComponents(e)}};s.FPermission.extend(p);var m=class extends s.FSheetHooks{onCellPointerMove(e){return(0,t.toDisposable)(this._injector.get(o.HoverManagerService).currentPosition$.subscribe(e))}onCellPointerOver(e){return(0,t.toDisposable)(this._injector.get(o.HoverManagerService).currentCell$.subscribe(e))}onCellDragOver(e){return(0,t.toDisposable)(this._injector.get(o.DragManagerService).currentCell$.subscribe(e))}onCellDrop(e){return(0,t.toDisposable)(this._injector.get(o.DragManagerService).endCell$.subscribe(e))}onCellRender(e,n=t.InterceptorEffectEnum.Style,r=a.InterceptCellContentPriority.DATA_VALIDATION){return this._injector.get(a.SheetInterceptorService).intercept(a.INTERCEPTOR_POINT.CELL_CONTENT,{effect:n,handler:(t,n,r)=>(t&&!t.customRender&&e&&(t.customRender=[...e]),r(t)),priority:r})}onBeforeCellEdit(e){return this._injector.get(t.ICommandService).beforeCommandExecuted(t=>{let n=t.params;t.id===o.SetCellEditVisibleOperation.id&&n.visible&&e(n)})}onAfterCellEdit(e){return this._injector.get(t.ICommandService).onCommandExecuted(t=>{let n=t.params;t.id===o.SetCellEditVisibleOperation.id&&!n.visible&&e(n)})}};s.FSheetHooks.extend(m);let h={CellClicked:`CellClicked`,CellPointerDown:`CellPointerDown`,CellPointerUp:`CellPointerUp`,CellPointerMove:`CellPointerMove`,CellHover:`CellHover`,DragOver:`DragOver`,Drop:`Drop`,Scroll:`Scroll`,SelectionMoveStart:`SelectionMoveStart`,SelectionMoving:`SelectionMoving`,SelectionMoveEnd:`SelectionMoveEnd`,SelectionChanged:`SelectionChanged`};var g=class{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 h.CellClicked}get CellHover(){return h.CellHover}get CellPointerDown(){return h.CellPointerDown}get CellPointerUp(){return h.CellPointerUp}get CellPointerMove(){return h.CellPointerMove}get DragOver(){return`DragOver`}get Drop(){return`Drop`}get Scroll(){return`Scroll`}get SelectionMoveStart(){return`SelectionMoveStart`}get SelectionChanged(){return`SelectionChanged`}get SelectionMoving(){return`SelectionMoving`}get SelectionMoveEnd(){return`SelectionMoveEnd`}get RowHeaderClick(){return`RowHeaderClick`}get RowHeaderPointerDown(){return`RowHeaderPointerDown`}get RowHeaderPointerUp(){return`RowHeaderPointerUp`}get RowHeaderHover(){return`RowHeaderHover`}get ColumnHeaderClick(){return`ColumnHeaderClick`}get ColumnHeaderPointerDown(){return`ColumnHeaderPointerDown`}get ColumnHeaderPointerUp(){return`ColumnHeaderPointerUp`}get ColumnHeaderHover(){return`ColumnHeaderHover`}get SheetSkeletonChanged(){return`SheetSkeletonChanged`}get BeforeSheetZoomChange(){return`BeforeSheetZoomChange`}get SheetZoomChanged(){return`SheetZoomChanged`}};n.FEventName.extend(g);var _=class{get SHEET_VIEWPORT_KEY(){return i.SHEET_VIEWPORT_KEY}};n.FEnum.extend(_);var v=class extends s.FRange{getCell(){var e;let n=this._injector.get(i.IRenderManagerService),r=this._injector.get(t.ILogService),a=this._workbook.getUnitId(),s=this._worksheet.getSheetId(),c=n.getRenderById(a),l=c==null||(e=c.with(o.SheetSkeletonManagerService).getSkeletonParam(s))==null?void 0:e.skeleton;if(!l)throw r.error("[Facade]: `FRange.getCell` can only be called in current worksheet"),Error("`FRange.getCell` can only be called in current worksheet");return l.getCellWithCoordByIndex(this._range.startRow,this._range.startColumn)}getCellRect(){let{startX:e,startY:t,endX:n,endY:r}=this.getCell(),i={x:e,y:t,width:n-e,height:r-t,top:t,left:e,bottom:r,right:n};return{...i,toJSON:()=>JSON.stringify(i)}}generateHTML(){var e;let t=this._injector.get(o.ISheetClipboardService).generateCopyContent(this._workbook.getUnitId(),this._worksheet.getSheetId(),this._range);return(e=t==null?void 0:t.html)==null?``:e}attachPopup(e){var t,n,r;e.direction=(t=e.direction)==null?`horizontal`:t,e.extraProps=(n=e.extraProps)==null?{}:n,e.offset=(r=e.offset)==null?[0,0]:r;let{key:i,disposableCollection:a}=y(e,this._injector.get(c.ComponentManager)),s=this._injector.get(o.SheetCanvasPopManagerService).attachPopupToCell(this._range.startRow,this._range.startColumn,{...e,componentKey:i},this.getUnitId(),this._worksheet.getSheetId());return s?(a.add(s),a):(a.dispose(),null)}attachAlertPopup(e){let t=this._injector.get(o.CellAlertManagerService),n={workbook:this._workbook,worksheet:this._worksheet,row:this._range.startRow,col:this._range.startColumn,unitId:this.getUnitId(),subUnitId:this._worksheet.getSheetId()};return t.showAlert({...e,location:n}),{dispose:()=>{t.removeAlert(e.key)}}}attachRangePopup(e){var t,n,r;e.direction=(t=e.direction)==null?`top-center`:t,e.extraProps=(n=e.extraProps)==null?{}:n,e.offset=(r=e.offset)==null?[0,0]:r;let{key:i,disposableCollection:a}=y(e,this._injector.get(c.ComponentManager)),s=this._injector.get(o.SheetCanvasPopManagerService).attachRangePopup(this._range,{...e,componentKey:i},this.getUnitId(),this._worksheet.getSheetId());return s?(a.add(s),a):(a.dispose(),null)}highlight(e,n){let r=this._injector.get(o.IMarkSelectionService),i=r.addShape({range:this._range,style:e,primary:n});if(!i)throw Error(`Failed to highlight current range`);return(0,t.toDisposable)(()=>{r.removeShape(i)})}showDropdown(e){return this._injector.get(o.ISheetCellDropdownManagerService).showDropdown(e)}};s.FRange.extend(v);function y(e,n){let{componentKey:r,isVue3:i}=e,a,o=new t.DisposableCollection;return typeof r==`string`?a=r:(a=`External_${(0,t.generateRandomId)(6)}`,o.add(n.register(a,r,{framework:i?`vue3`:`react`}))),{key:a,disposableCollection:o}}e.FSheetsUIEnum=_,e.transformComponentKey=y});
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`@univerjs/core`),require(`@univerjs/core/facade`),require(`@univerjs/docs`),require(`@univerjs/engine-render`),require(`@univerjs/sheets`),require(`@univerjs/sheets-ui`),require(`@univerjs/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`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.UniverSheetsUiFacade={},e.UniverCore,e.UniverCoreFacade,e.UniverDocs,e.UniverEngineRender,e.UniverSheets,e.UniverSheetsUi,e.UniverSheetsFacade,e.UniverUi,e.rxjs))})(this,function(e,t,n,r,i,a,o,s,c,l){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var u=class extends n.FUniver{_initSheetUIEvent(e){let n=e.get(t.ICommandService);this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetEditStart,()=>n.beforeCommandExecuted(n=>{if(n.id!==o.SetCellEditVisibleOperation.id)return;let r=this.getActiveSheet();if(!r)return;let{workbook:i,worksheet:a}=r,s=e.get(o.IEditorBridgeService),{visible:c,keycode:l,eventType:u}=n.params,d=s.getEditLocation();if(!c)return;let f={row:d.row,column:d.column,eventType:u,keycode:l,workbook:i,worksheet:a,isZenEditor:!1};if(this.fireEvent(this.Event.BeforeSheetEditStart,f),f.cancel)throw new t.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetEditEnd,()=>n.beforeCommandExecuted(n=>{if(n.id!==o.SetCellEditVisibleOperation.id)return;let r=this.getActiveSheet();if(!r)return;let{workbook:i,worksheet:a}=r,s=e.get(o.IEditorBridgeService),l=e.get(t.IUniverInstanceService),{visible:u,keycode:d,eventType:f}=n.params,p=s.getEditLocation();if(u)return;let m={row:p.row,column:p.column,eventType:f,keycode:d,workbook:i,worksheet:a,isZenEditor:!1,value:t.RichTextValue.create(l.getUnit(t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isConfirm:d!==c.KeyCode.ESC};if(this.fireEvent(this.Event.BeforeSheetEditEnd,m),m.cancel)throw new t.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetEditStarted,()=>n.onCommandExecuted(t=>{if(t.id!==o.SetCellEditVisibleOperation.id)return;let n=this.getCommandSheetTarget(t);if(!n)return;let{workbook:r,worksheet:i}=n,a=e.get(o.IEditorBridgeService),{visible:s,keycode:c,eventType:l}=t.params,u=a.getEditLocation();if(!s)return;let d={row:u.row,column:u.column,eventType:l,keycode:c,workbook:r,worksheet:i,isZenEditor:!1};this.fireEvent(this.Event.SheetEditStarted,d)}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetEditEnded,()=>n.onCommandExecuted(t=>{if(t.id!==o.SetCellEditVisibleOperation.id)return;let n=this.getCommandSheetTarget(t);if(!n)return;let{workbook:r,worksheet:i}=n,a=e.get(o.IEditorBridgeService),{visible:s,keycode:l,eventType:u}=t.params,d=a.getEditLocation();if(s)return;let f={row:d.row,column:d.column,eventType:u,keycode:l,workbook:r,worksheet:i,isZenEditor:!1,isConfirm:l!==c.KeyCode.ESC};this.fireEvent(this.Event.SheetEditEnded,f)}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetEditChanging,()=>n.onCommandExecuted(n=>{if(n.id!==r.RichTextEditingMutation.id)return;let i=this.getActiveSheet();if(!i)return;let{workbook:a,worksheet:s}=i,c=e.get(o.IEditorBridgeService),l=e.get(t.IUniverInstanceService),u=n.params;if(!c.isVisible().visible)return;let{unitId:d}=u;if(d===t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY){let{row:e,column:n}=c.getEditLocation(),r={workbook:a,worksheet:s,row:e,column:n,value:t.RichTextValue.create(l.getUnit(t.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isZenEditor:!1};this.fireEvent(this.Event.SheetEditChanging,r)}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeSheetZoomChange,()=>n.beforeCommandExecuted(e=>{if(e.id!==o.SetZoomRatioCommand.id)return;let n=this.getCommandSheetTarget(e);if(!n)return;let{workbook:r,worksheet:i}=n,a={zoom:e.params.zoomRatio,workbook:r,worksheet:i};if(this.fireEvent(this.Event.BeforeSheetZoomChange,a),a.cancel)throw new t.CanceledError}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetZoomChanged,()=>n.onCommandExecuted(e=>{if(e.id!==o.SetZoomRatioCommand.id)return;let t=this.getCommandSheetTarget(e);if(!t)return;let{workbook:n,worksheet:r}=t,i={zoom:r.getZoom(),workbook:n,worksheet:r};this.fireEvent(this.Event.SheetZoomChanged,i)})))}_initObserverListener(e){let n=e.get(i.IRenderManagerService),r=e.get(t.LifecycleService),s=new t.DisposableCollection;this.disposeWithMe(r.lifecycle$.subscribe(n=>{if(n!==t.LifecycleStages.Rendered)return;let r=e.get(o.HoverManagerService),i=e.get(o.DragManagerService);r&&(s.dispose(),s.add(this.registerEventHandler(this.Event.CellClicked,()=>{var e;return(e=r.currentClickedCell$)==null?void 0:e.pipe((0,l.filter)(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.location.unitId,e.location.subUnitId);if(!t)return;let n={...t,...e,row:e.location.row,column:e.location.col};this.fireEvent(this.Event.CellClicked,n)})})),s.add(this.registerEventHandler(this.Event.CellHover,()=>{var e;return(e=r.currentRichText$)==null?void 0:e.pipe((0,l.filter)(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);if(!t)return;let n={...t,...e,row:e.row,column:e.col};this.fireEvent(this.Event.CellHover,n)})})),s.add(this.registerEventHandler(this.Event.CellPointerDown,()=>{var e;return(e=r.currentPointerDownCell$)==null?void 0:e.pipe((0,l.filter)(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);if(!t)return;let n={...t,...e,row:e.row,column:e.col};this.fireEvent(this.Event.CellPointerDown,n)})})),s.add(this.registerEventHandler(this.Event.CellPointerUp,()=>{var e;return(e=r.currentPointerUpCell$)==null?void 0:e.pipe((0,l.filter)(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);if(!t)return;let n={...t,...e,row:e.row,column:e.col};this.fireEvent(this.Event.CellPointerUp,n)})})),s.add(this.registerEventHandler(this.Event.CellPointerMove,()=>{var e;return(e=r.currentCellPosWithEvent$)==null?void 0:e.pipe((0,l.filter)(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);if(!t)return;let n={...t,...e,row:e.row,column:e.col};this.fireEvent(this.Event.CellPointerMove,n)})})),s.add(this.registerEventHandler(this.Event.DragOver,()=>{var e;return(e=i.currentCell$)==null?void 0:e.pipe((0,l.filter)(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.location.unitId,e.location.subUnitId);if(!t)return;let n={...t,...e,row:e.location.row,column:e.location.col};this.fireEvent(this.Event.DragOver,n)})})),s.add(this.registerEventHandler(this.Event.Drop,()=>{var e;return(e=i.endCell$)==null?void 0:e.pipe((0,l.filter)(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.location.unitId,e.location.subUnitId);if(!t)return;let n={...t,...e,row:e.location.row,column:e.location.col};this.fireEvent(this.Event.Drop,n)})})),s.add(this.registerEventHandler(this.Event.RowHeaderClick,()=>{var e;return(e=r.currentRowHeaderClick$)==null?void 0:e.pipe((0,l.filter)(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);if(!t)return;let n={...t,row:e.index};this.fireEvent(this.Event.RowHeaderClick,n)})})),s.add(this.registerEventHandler(this.Event.RowHeaderPointerDown,()=>{var e;return(e=r.currentRowHeaderPointerDown$)==null?void 0:e.pipe((0,l.filter)(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);if(!t)return;let n={...t,row:e.index};this.fireEvent(this.Event.RowHeaderPointerDown,n)})})),s.add(this.registerEventHandler(this.Event.RowHeaderPointerUp,()=>{var e;return(e=r.currentRowHeaderPointerUp$)==null?void 0:e.pipe((0,l.filter)(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);if(!t)return;let n={...t,row:e.index};this.fireEvent(this.Event.RowHeaderPointerUp,n)})})),s.add(this.registerEventHandler(this.Event.RowHeaderHover,()=>{var e;return(e=r.currentHoveredRowHeader$)==null?void 0:e.pipe((0,l.filter)(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);if(!t)return;let n={...t,row:e.index};this.fireEvent(this.Event.RowHeaderHover,n)})})),s.add(this.registerEventHandler(this.Event.ColumnHeaderClick,()=>{var e;return(e=r.currentColHeaderClick$)==null?void 0:e.pipe((0,l.filter)(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);if(!t)return;let n={...t,column:e.index};this.fireEvent(this.Event.ColumnHeaderClick,n)})})),s.add(this.registerEventHandler(this.Event.ColumnHeaderPointerDown,()=>{var e;return(e=r.currentColHeaderPointerDown$)==null?void 0:e.pipe((0,l.filter)(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);if(!t)return;let n={...t,column:e.index};this.fireEvent(this.Event.ColumnHeaderPointerDown,n)})})),s.add(this.registerEventHandler(this.Event.ColumnHeaderPointerUp,()=>{var e;return(e=r.currentColHeaderPointerUp$)==null?void 0:e.pipe((0,l.filter)(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);if(!t)return;let n={...t,column:e.index};this.fireEvent(this.Event.ColumnHeaderPointerUp,n)})})),s.add(this.registerEventHandler(this.Event.ColumnHeaderHover,()=>{var e;return(e=r.currentHoveredColHeader$)==null?void 0:e.pipe((0,l.filter)(e=>!!e)).subscribe(e=>{let t=this.getSheetTarget(e.unitId,e.subUnitId);if(!t)return;let n={...t,column:e.index};this.fireEvent(this.Event.ColumnHeaderHover,n)})})),this.disposeWithMe(s))}));let c,u=(0,l.combineLatest)([n.created$,r.lifecycle$]),d=new t.DisposableCollection;this.disposeWithMe(u.subscribe(([e,n])=>{if(e.type===t.UniverInstanceType.UNIVER_SHEET&&(c=e),n<=t.LifecycleStages.Rendered||!c)return;let r=this.getWorkbook(c.unitId);if(!r)return;d.dispose();let i=c.with(o.SheetScrollManagerService),s=c.with(a.SheetsSelectionsService);d.add(this.registerEventHandler(this.Event.Scroll,()=>i.validViewportScrollInfo$.subscribe(e=>{if(!e)return;let t={workbook:r,worksheet:r.getActiveSheet(),...e};this.fireEvent(this.Event.Scroll,t)}))),d.add(this.registerEventHandler(this.Event.SelectionMoveStart,()=>s.selectionMoveStart$.subscribe(e=>{var t;let n={workbook:r,worksheet:r.getActiveSheet(),selections:(t=e==null?void 0:e.map(e=>e.range))==null?[]:t};this.fireEvent(this.Event.SelectionMoveStart,n)}))),d.add(this.registerEventHandler(this.Event.SelectionMoving,()=>s.selectionMoving$.subscribe(e=>{var t;let n={workbook:r,worksheet:r.getActiveSheet(),selections:(t=e==null?void 0:e.map(e=>e.range))==null?[]:t};this.fireEvent(this.Event.SelectionMoving,n)}))),d.add(this.registerEventHandler(this.Event.SelectionMoveEnd,()=>s.selectionMoveEnd$.subscribe(e=>{var t;let n={workbook:r,worksheet:r.getActiveSheet(),selections:(t=e==null?void 0:e.map(e=>e.range))==null?[]:t};this.fireEvent(this.Event.SelectionMoveEnd,n)}))),d.add(this.registerEventHandler(this.Event.SelectionChanged,()=>s.selectionChanged$.subscribe(e=>{var t;let n={workbook:r,worksheet:r.getActiveSheet(),selections:(t=e==null?void 0:e.map(e=>e.range))==null?[]:t};this.fireEvent(this.Event.SelectionChanged,n)}))),c=null,this.disposeWithMe(d)}))}_initialize(e){this._initSheetUIEvent(e),this._initObserverListener(e);let n=e.get(t.ICommandService);this.disposeWithMe(this.registerEventHandler(this.Event.BeforeClipboardChange,()=>n.beforeCommandExecuted(e=>{switch(e.id){case c.CopyCommand.id:case c.CutCommand.id:this._beforeClipboardChange();break}}))),this.disposeWithMe(this.registerEventHandler(this.Event.ClipboardChanged,()=>n.onCommandExecuted(e=>{switch(e.id){case c.CopyCommand.id:case c.CutCommand.id:this._clipboardChanged();break}}))),this.disposeWithMe(this.registerEventHandler(this.Event.BeforeClipboardPaste,()=>n.beforeCommandExecuted(e=>{switch(e.id){case o.SheetPasteShortKeyCommand.id:this._beforeClipboardPaste(e.params);break;case c.PasteCommand.id:this._beforeClipboardPasteAsync();break}}))),this.disposeWithMe(this.registerEventHandler(this.Event.ClipboardPasted,()=>n.onCommandExecuted(e=>{switch(e.id){case o.SheetPasteShortKeyCommand.id:this._clipboardPaste(e.params);break;case c.PasteCommand.id:this._clipboardPasteAsync();break}}))),this.disposeWithMe(this.registerEventHandler(this.Event.SheetSkeletonChanged,()=>n.onCommandExecuted(e=>{if(a.COMMAND_LISTENER_SKELETON_CHANGE.indexOf(e.id)>-1){let t=this.getActiveSheet();if(!t)return;let n=(0,a.getSkeletonChangedEffectedRange)(e,t.worksheet.getMaxColumns()).map(e=>{var t;return(t=this.getWorkbook(e.unitId))==null||(t=t.getSheetBySheetId(e.subUnitId))==null?void 0:t.getRange(e.range)}).filter(Boolean);if(!n.length)return;let r={workbook:t.workbook,worksheet:t.worksheet,payload:e,skeleton:t.worksheet.getSkeleton(),effectedRanges:n};this.fireEvent(this.Event.SheetSkeletonChanged,r)}})))}_generateClipboardCopyParam(){let e=this.getActiveWorkbook(),t=e==null?void 0:e.getActiveSheet(),n=e==null?void 0:e.getActiveRange();if(!e||!t||!n)return;let r=this._injector.get(o.ISheetClipboardService).generateCopyContent(e.getId(),t.getSheetId(),n.getRange());if(!r)return;let{html:i,plain:a}=r;return{workbook:e,worksheet:t,text:a,html:i,fromSheet:t,fromRange:n}}_beforeClipboardChange(){let e=this._generateClipboardCopyParam();if(e&&(this.fireEvent(this.Event.BeforeClipboardChange,e),e.cancel))throw new t.CanceledError}_clipboardChanged(){let e=this._generateClipboardCopyParam();e&&this.fireEvent(this.Event.ClipboardChanged,e)}_generateClipboardPasteParam(e){if(!e)return;let{htmlContent:t,textContent:n}=e,r=this.getActiveWorkbook(),i=r==null?void 0:r.getActiveSheet();if(!(!r||!i))return{workbook:r,worksheet:i,text:n,html:t}}async _generateClipboardPasteParamAsync(){let e=this.getActiveWorkbook(),t=e==null?void 0:e.getActiveSheet();if(!e||!t)return;let n=(await this._injector.get(c.IClipboardInterfaceService).read())[0],r;if(n){let i=n.types;r={workbook:e,worksheet:t,text:i.indexOf(c.PLAIN_TEXT_CLIPBOARD_MIME_TYPE)===-1?``:await n.getType(c.PLAIN_TEXT_CLIPBOARD_MIME_TYPE).then(e=>e&&e.text()),html:i.indexOf(c.HTML_CLIPBOARD_MIME_TYPE)===-1?``:await n.getType(c.HTML_CLIPBOARD_MIME_TYPE).then(e=>e&&e.text())}}return r}_beforeClipboardPaste(e){let n=this._generateClipboardPasteParam(e);if(n&&(this.fireEvent(this.Event.BeforeClipboardPaste,n),n.cancel))throw new t.CanceledError}_clipboardPaste(e){let n=this._generateClipboardPasteParam(e);if(n&&(this.fireEvent(this.Event.ClipboardPasted,n),n.cancel))throw new t.CanceledError}async _beforeClipboardPasteAsync(){if(!(0,c.supportClipboardAPI)()){this._injector.get(t.ILogService).warn(`[Facade]: The navigator object only supports the browser environment`);return}let e=await this._generateClipboardPasteParamAsync();if(e&&(this.fireEvent(this.Event.BeforeClipboardPaste,e),e.cancel))throw new t.CanceledError}async _clipboardPasteAsync(){if(!(0,c.supportClipboardAPI)()){this._injector.get(t.ILogService).warn(`[Facade]: The navigator object only supports the browser environment`);return}let e=await this._generateClipboardPasteParamAsync();if(e&&(this.fireEvent(this.Event.ClipboardPasted,e),e.cancel))throw new t.CanceledError}customizeColumnHeader(e){var t;let n=this.getActiveWorkbook();if(!n){console.error(`WorkBook not exist`);return}let r=n==null?void 0:n.getId(),a=this._injector.get(i.IRenderManagerService),s=n.getActiveSheet(),c=s.getSheetId(),l=a.getRenderById(r);if(l&&(t=e.headerStyle)!=null&&t.size){var u;l.with(o.SheetSkeletonManagerService).setColumnHeaderSize(l,c,(u=e.headerStyle)==null?void 0:u.size),s==null||s.refreshCanvas()}this._getSheetRenderComponent(r,o.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e),s==null||s.refreshCanvas()}customizeRowHeader(e){let t=this.getActiveWorkbook();if(!t){console.error(`WorkBook not exist`);return}let n=t==null?void 0:t.getId();this._getSheetRenderComponent(n,o.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}registerSheetRowHeaderExtension(e,...n){let r=this._getSheetRenderComponent(e,o.SHEET_VIEW_KEY.ROW),i=r.register(...n);return(0,t.toDisposable)(()=>{i.dispose(),r.makeDirty(!0)})}registerSheetColumnHeaderExtension(e,...n){let r=this._getSheetRenderComponent(e,o.SHEET_VIEW_KEY.COLUMN),i=r.register(...n);return(0,t.toDisposable)(()=>{i.dispose(),r.makeDirty(!0)})}registerSheetMainExtension(e,...n){let r=this._getSheetRenderComponent(e,o.SHEET_VIEW_KEY.MAIN),i=r.register(...n);return(0,t.toDisposable)(()=>{i.dispose(),r.makeDirty(!0)})}_getSheetRenderComponent(e,t){let n=this._injector.get(i.IRenderManagerService).getRenderById(e);if(!n)throw Error(`Render Unit with unitId ${e} not found`);let{components:r}=n,a=r.get(t);if(!a)throw Error(`Render component not found`);return a}getSheetHooks(){return this._injector.createInstance(s.FSheetHooks)}pasteIntoSheet(e,t,n){return this._commandService.executeCommand(o.SheetPasteShortKeyCommand.id,{htmlContent:e,textContent:t,files:n})}setProtectedRangeShadowStrategy(e){this._injector.get(o.SheetPermissionRenderManagerService).setProtectedRangeShadowStrategy(e)}getProtectedRangeShadowStrategy(){return this._injector.get(o.SheetPermissionRenderManagerService).getProtectedRangeShadowStrategy()}getProtectedRangeShadowStrategy$(){return this._injector.get(o.SheetPermissionRenderManagerService).getProtectedRangeShadowStrategy$()}setPermissionDialogVisible(e){this._injector.get(t.IPermissionService).setShowComponents(e)}};n.FUniver.extend(u);var d=class extends s.FWorkbook{openSiderbar(e){return this._logDeprecation(`openSiderbar`),this._injector.get(c.ISidebarService).open(e)}openDialog(e){this._logDeprecation(`openDialog`);let t=this._injector.get(c.IDialogService).open({...e,onClose:()=>{t.dispose()}});return t}customizeColumnHeader(e){let t=this._workbook.getUnitId();this._getSheetRenderComponent(t,o.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e)}customizeRowHeader(e){let t=this._workbook.getUnitId();this._getSheetRenderComponent(t,o.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}_getSheetRenderComponent(e,t){let n=this._injector.get(i.IRenderManagerService).getRenderById(e);if(!n)throw Error(`Render Unit with unitId ${e} not found`);let{components:r}=n,a=r.get(t);if(!a)throw Error(`Render component not found`);return a}_logDeprecation(e){this._injector.get(t.ILogService).warn(`[FWorkbook]`,`${e} is deprecated. Please use the function of the same name on "FUniver".`)}onCellClick(e){return(0,t.toDisposable)(this._injector.get(o.HoverManagerService).currentClickedCell$.pipe((0,l.filter)(e=>!!e)).subscribe(t=>{e(t)}))}onCellHover(e){return(0,t.toDisposable)(this._injector.get(o.HoverManagerService).currentRichText$.pipe((0,l.filter)(e=>!!e)).subscribe(e))}onCellPointerDown(e){return(0,t.toDisposable)(this._injector.get(o.HoverManagerService).currentPointerDownCell$.subscribe(e))}onCellPointerUp(e){return(0,t.toDisposable)(this._injector.get(o.HoverManagerService).currentPointerUpCell$.subscribe(e))}onCellPointerMove(e){return(0,t.toDisposable)(this._injector.get(o.HoverManagerService).currentCellPosWithEvent$.pipe((0,l.filter)(e=>!!e)).subscribe(t=>{e(t,t.event)}))}onDragOver(e){return(0,t.toDisposable)(this._injector.get(o.DragManagerService).currentCell$.pipe((0,l.filter)(e=>!!e)).subscribe(t=>{e(t)}))}onDrop(e){return(0,t.toDisposable)(this._injector.get(o.DragManagerService).endCell$.pipe((0,l.filter)(e=>!!e)).subscribe(t=>{e(t)}))}startEditing(){let e=this._injector.get(t.ICommandService);return this._injector.get(o.IEditorBridgeService).isVisible().visible?!0:e.syncExecuteCommand(o.SetCellEditVisibleOperation.id,{eventType:i.DeviceInputEventType.Dblclick,unitId:this._workbook.getUnitId(),visible:!0})}async endEditing(e){let n=this._injector.get(t.ICommandService);return this._injector.get(o.IEditorBridgeService).isVisible().visible&&n.syncExecuteCommand(o.SetCellEditVisibleOperation.id,{eventType:i.DeviceInputEventType.Keyboard,keycode:e?c.KeyCode.ENTER:c.KeyCode.ESC,visible:!1,unitId:this._workbook.getUnitId()}),await(0,t.awaitTime)(0),!0}endEditingAsync(e=!0){return this.endEditing(e)}abortEditingAsync(){return this.endEditingAsync(!1)}isCellEditing(){return this._injector.get(o.IEditorBridgeService).isVisible().visible}getScrollStateBySheetId(e){let t=this._workbook.getUnitId(),n=this._injector.get(i.IRenderManagerService).getRenderById(t);return n?n.with(o.SheetScrollManagerService).getScrollStateByParam({unitId:t,sheetId:e}):null}disableSelection(){let e=this._workbook.getUnitId(),t=this._injector.get(i.IRenderManagerService).getRenderById(e);return t&&t.with(o.ISheetSelectionRenderService).disableSelection(),this}enableSelection(){let e=this._workbook.getUnitId(),t=this._injector.get(i.IRenderManagerService).getRenderById(e);return t&&t.with(o.ISheetSelectionRenderService).enableSelection(),this}transparentSelection(){let e=this._workbook.getUnitId(),t=this._injector.get(i.IRenderManagerService).getRenderById(e);return t&&t.with(o.ISheetSelectionRenderService).transparentSelection(),this}showSelection(){let e=this._workbook.getUnitId(),t=this._injector.get(i.IRenderManagerService).getRenderById(e);return t&&t.with(o.ISheetSelectionRenderService).showSelection(),this}};s.FWorkbook.extend(d);var f=class extends s.FWorksheet{refreshCanvas(){let e=this._injector.get(i.IRenderManagerService),t=this._fWorkbook.id,n=e.getRenderById(t);if(!n)throw Error(`Render Unit with unitId ${t} not found`);n.with(o.SheetSkeletonManagerService).reCalculate();let r=n.mainComponent;if(!r)throw Error(`Main component not found`);return r.makeDirty(),this}highlightRanges(e,n,r){let i=this._injector.get(o.IMarkSelectionService),a=[];for(let t of e){let e=t.getRange(),o=i.addShapeWithNoFresh({range:e,style:n,primary:r});o&&a.push(o)}if(i.refreshShapes(),a.length===0)throw Error(`Failed to highlight current range`);return(0,t.toDisposable)(()=>{a.forEach(e=>{i.removeShape(e)})})}zoom(e){let n=this._injector.get(t.ICommandService),r=Math.min(Math.max(e,.1),4);return n.executeCommand(o.SetZoomRatioCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),zoomRatio:r}),this}getZoom(){return this._worksheet.getZoomRatio()}getVisibleRange(){let e=this._workbook.getUnitId(),t=this._injector.get(i.IRenderManagerService).getRenderById(e);if(!t)return null;let n=t.with(o.SheetSkeletonManagerService).getCurrentSkeleton();return n?n.getVisibleRangeByViewport(i.SHEET_VIEWPORT_KEY.VIEW_MAIN):null}getVisibleRangesOfAllViewports(){let e=this._workbook.getUnitId(),t=this._injector.get(i.IRenderManagerService).getRenderById(e);if(!t)return null;let n=t.with(o.SheetSkeletonManagerService).getCurrentSkeleton();return n?n.getVisibleRanges():null}scrollToCell(e,t,n){let r=this._workbook.getUnitId(),a=this._injector.get(i.IRenderManagerService).getRenderById(r);return a&&(a==null?void 0:a.with(o.SheetsScrollRenderController)).scrollToCell(e,t,n),this}getScrollState(){let e={offsetX:0,offsetY:0,sheetViewStartColumn:0,sheetViewStartRow:0},t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),r=this._injector.get(i.IRenderManagerService).getRenderById(t);return r&&r.with(o.SheetScrollManagerService).getScrollStateByParam({unitId:t,sheetId:n})||e}onScroll(e){var n;let r=this._workbook.getUnitId(),a=(n=this._injector.get(i.IRenderManagerService).getRenderById(r))==null?void 0:n.with(o.SheetScrollManagerService);return a?(0,t.toDisposable)(a.validViewportScrollInfo$.subscribe(t=>{e(t)})):(0,t.toDisposable)(()=>{})}getSkeleton(){var e;let t=(e=this._injector.get(i.IRenderManagerService).getRenderById(this._workbook.getUnitId()))==null?void 0:e.with(o.SheetSkeletonManagerService);return t==null?void 0:t.getSkeleton(this._worksheet.getSheetId())}autoResizeColumn(e){return this.autoResizeColumns(e,1)}autoResizeColumns(e,t){let n=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),i=[{startColumn:e,endColumn:e+t-1,startRow:0,endRow:this._worksheet.getRowCount()-1}];return this._commandService.syncExecuteCommand(o.SetWorksheetColAutoWidthCommand.id,{unitId:n,subUnitId:r,ranges:i}),this}setColumnAutoWidth(e,t){return this.autoResizeColumns(e,t)}autoResizeRows(e,t){let n=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),i=[{startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(a.SetWorksheetRowIsAutoHeightCommand.id,{unitId:n,subUnitId:r,ranges:i}),this}customizeColumnHeader(e){var t;let n=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),a=this._injector.get(i.IRenderManagerService).getRenderById(n);if(a&&(t=e.headerStyle)!=null&&t.size){var s;a.with(o.SheetSkeletonManagerService).setColumnHeaderSize(a,r,(s=e.headerStyle)==null?void 0:s.size)}this._getSheetRenderComponent(n,o.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e,r)}customizeRowHeader(e){var t;let n=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),a=this._injector.get(i.IRenderManagerService).getRenderById(n);if(a&&(t=e.headerStyle)!=null&&t.size){var s;a.with(o.SheetSkeletonManagerService).setRowHeaderSize(a,r,(s=e.headerStyle)==null?void 0:s.size)}this._getSheetRenderComponent(n,o.SHEET_VIEW_KEY.ROW).setCustomHeader(e,r)}setColumnHeaderHeight(e){let t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return this._commandService.executeCommand(o.SetColumnHeaderHeightCommand.id,{unitId:t,subUnitId:n,size:e}),this}setRowHeaderWidth(e){let t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return this._commandService.executeCommand(o.SetRowHeaderWidthCommand.id,{unitId:t,subUnitId:n,size:e}),this}_getSheetRenderComponent(e,t){let n=this._injector.get(i.IRenderManagerService).getRenderById(e);if(!n)throw Error(`Render Unit with unitId ${e} not found`);let{components:r}=n,a=r.get(t);if(!a)throw Error(`Render component not found`);return a}};s.FWorksheet.extend(f);var p=class extends s.FPermission{setPermissionDialogVisible(e){this._permissionService.setShowComponents(e)}};s.FPermission.extend(p);var m=class extends s.FSheetHooks{onCellPointerMove(e){return(0,t.toDisposable)(this._injector.get(o.HoverManagerService).currentPosition$.subscribe(e))}onCellPointerOver(e){return(0,t.toDisposable)(this._injector.get(o.HoverManagerService).currentCell$.subscribe(e))}onCellDragOver(e){return(0,t.toDisposable)(this._injector.get(o.DragManagerService).currentCell$.subscribe(e))}onCellDrop(e){return(0,t.toDisposable)(this._injector.get(o.DragManagerService).endCell$.subscribe(e))}onCellRender(e,n=t.InterceptorEffectEnum.Style,r=a.InterceptCellContentPriority.DATA_VALIDATION){return this._injector.get(a.SheetInterceptorService).intercept(a.INTERCEPTOR_POINT.CELL_CONTENT,{effect:n,handler:(t,n,r)=>(t&&!t.customRender&&e&&(t.customRender=[...e]),r(t)),priority:r})}onBeforeCellEdit(e){return this._injector.get(t.ICommandService).beforeCommandExecuted(t=>{let n=t.params;t.id===o.SetCellEditVisibleOperation.id&&n.visible&&e(n)})}onAfterCellEdit(e){return this._injector.get(t.ICommandService).onCommandExecuted(t=>{let n=t.params;t.id===o.SetCellEditVisibleOperation.id&&!n.visible&&e(n)})}};s.FSheetHooks.extend(m);var h=class extends n.FEventName{get BeforeClipboardChange(){return`BeforeClipboardChange`}get ClipboardChanged(){return`ClipboardChanged`}get BeforeClipboardPaste(){return`BeforeClipboardPaste`}get ClipboardPasted(){return`ClipboardPasted`}get BeforeSheetEditStart(){return`BeforeSheetEditStart`}get SheetEditStarted(){return`SheetEditStarted`}get SheetEditChanging(){return`SheetEditChanging`}get BeforeSheetEditEnd(){return`BeforeSheetEditEnd`}get SheetEditEnded(){return`SheetEditEnded`}get CellClicked(){return`CellClicked`}get CellHover(){return`CellHover`}get CellPointerDown(){return`CellPointerDown`}get CellPointerUp(){return`CellPointerUp`}get CellPointerMove(){return`CellPointerMove`}get DragOver(){return`DragOver`}get Drop(){return`Drop`}get Scroll(){return`Scroll`}get SelectionMoveStart(){return`SelectionMoveStart`}get SelectionChanged(){return`SelectionChanged`}get SelectionMoving(){return`SelectionMoving`}get SelectionMoveEnd(){return`SelectionMoveEnd`}get RowHeaderClick(){return`RowHeaderClick`}get RowHeaderPointerDown(){return`RowHeaderPointerDown`}get RowHeaderPointerUp(){return`RowHeaderPointerUp`}get RowHeaderHover(){return`RowHeaderHover`}get ColumnHeaderClick(){return`ColumnHeaderClick`}get ColumnHeaderPointerDown(){return`ColumnHeaderPointerDown`}get ColumnHeaderPointerUp(){return`ColumnHeaderPointerUp`}get ColumnHeaderHover(){return`ColumnHeaderHover`}get SheetSkeletonChanged(){return`SheetSkeletonChanged`}get BeforeSheetZoomChange(){return`BeforeSheetZoomChange`}get SheetZoomChanged(){return`SheetZoomChanged`}};n.FEventName.extend(h);var g=class extends n.FEnum{get SHEET_VIEWPORT_KEY(){return i.SHEET_VIEWPORT_KEY}};n.FEnum.extend(g);var _=class extends s.FRange{getCell(){var e;let n=this._injector.get(i.IRenderManagerService),r=this._injector.get(t.ILogService),a=this._workbook.getUnitId(),s=this._worksheet.getSheetId(),c=n.getRenderById(a),l=c==null||(e=c.with(o.SheetSkeletonManagerService).getSkeletonParam(s))==null?void 0:e.skeleton;if(!l)throw r.error("[Facade]: `FRange.getCell` can only be called in current worksheet"),Error("`FRange.getCell` can only be called in current worksheet");return l.getCellWithCoordByIndex(this._range.startRow,this._range.startColumn)}getCellRect(){let{startX:e,startY:t,endX:n,endY:r}=this.getCell(),i={x:e,y:t,width:n-e,height:r-t,top:t,left:e,bottom:r,right:n};return{...i,toJSON:()=>JSON.stringify(i)}}generateHTML(){var e;let t=this._injector.get(o.ISheetClipboardService).generateCopyContent(this._workbook.getUnitId(),this._worksheet.getSheetId(),this._range);return(e=t==null?void 0:t.html)==null?``:e}attachPopup(e){var t,n,r;e.direction=(t=e.direction)==null?`horizontal`:t,e.extraProps=(n=e.extraProps)==null?{}:n,e.offset=(r=e.offset)==null?[0,0]:r;let{key:i,disposableCollection:a}=v(e,this._injector.get(c.ComponentManager)),s=this._injector.get(o.SheetCanvasPopManagerService).attachPopupToCell(this._range.startRow,this._range.startColumn,{...e,componentKey:i},this.getUnitId(),this._worksheet.getSheetId());return s?(a.add(s),a):(a.dispose(),null)}attachAlertPopup(e){let t=this._injector.get(o.CellAlertManagerService),n={workbook:this._workbook,worksheet:this._worksheet,row:this._range.startRow,col:this._range.startColumn,unitId:this.getUnitId(),subUnitId:this._worksheet.getSheetId()};return t.showAlert({...e,location:n}),{dispose:()=>{t.removeAlert(e.key)}}}attachRangePopup(e){var t,n,r;e.direction=(t=e.direction)==null?`top-center`:t,e.extraProps=(n=e.extraProps)==null?{}:n,e.offset=(r=e.offset)==null?[0,0]:r;let{key:i,disposableCollection:a}=v(e,this._injector.get(c.ComponentManager)),s=this._injector.get(o.SheetCanvasPopManagerService).attachRangePopup(this._range,{...e,componentKey:i},this.getUnitId(),this._worksheet.getSheetId());return s?(a.add(s),a):(a.dispose(),null)}highlight(e,n){let r=this._injector.get(o.IMarkSelectionService),i=r.addShape({range:this._range,style:e,primary:n});if(!i)throw Error(`Failed to highlight current range`);return(0,t.toDisposable)(()=>{r.removeShape(i)})}showDropdown(e){return this._injector.get(o.ISheetCellDropdownManagerService).showDropdown(e)}};s.FRange.extend(_);function v(e,n){let{componentKey:r,isVue3:i}=e,a,o=new t.DisposableCollection;return typeof r==`string`?a=r:(a=`External_${(0,t.generateRandomId)(6)}`,o.add(n.register(a,r,{framework:i?`vue3`:`react`}))),{key:a,disposableCollection:o}}e.FSheetsUIEnumMixin=g,e.transformComponentKey=v});