@univerjs/sheets 0.5.5 → 0.6.0-alpha.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.
Files changed (73) hide show
  1. package/lib/cjs/facade.js +1 -1
  2. package/lib/cjs/index.js +3 -3
  3. package/lib/es/facade.js +531 -396
  4. package/lib/es/index.js +537 -425
  5. package/lib/types/facade/f-defined-name.d.ts +22 -16
  6. package/lib/types/facade/f-enum.d.ts +3 -0
  7. package/lib/types/facade/f-event.d.ts +43 -41
  8. package/lib/types/facade/f-permission.d.ts +141 -9
  9. package/lib/types/facade/f-range.d.ts +155 -149
  10. package/lib/types/facade/f-selection.d.ts +3 -1
  11. package/lib/types/facade/f-sheet-hooks.d.ts +3 -0
  12. package/lib/types/facade/f-univer.d.ts +9 -3
  13. package/lib/types/facade/f-workbook.d.ts +13 -5
  14. package/lib/types/facade/f-worksheet.d.ts +2 -1
  15. package/lib/types/index.d.ts +1 -0
  16. package/lib/types/model/range-protection-rule.model.d.ts +1 -1
  17. package/lib/types/services/permission/permission-point/const.d.ts +117 -4
  18. package/lib/types/services/permission/range-permission/range-protection.ref-range.d.ts +1 -1
  19. package/lib/types/services/permission/range-permission/range-protection.service.d.ts +1 -1
  20. package/lib/types/services/permission/worksheet-permission/worksheet-permission-rule.model.d.ts +1 -1
  21. package/lib/umd/facade.js +1 -1
  22. package/lib/umd/index.js +3 -3
  23. package/package.json +8 -8
  24. package/lib/types/basics/__tests__/cell-type.spec.d.ts +0 -16
  25. package/lib/types/basics/__tests__/cell-value.spec.d.ts +0 -16
  26. package/lib/types/basics/__tests__/expand.data.d.ts +0 -2
  27. package/lib/types/basics/__tests__/expand.spec.d.ts +0 -16
  28. package/lib/types/basics/__tests__/rangeMerge.spec.d.ts +0 -16
  29. package/lib/types/basics/__tests__/row-column-value.spec.d.ts +0 -16
  30. package/lib/types/basics/__tests__/utils.spec.d.ts +0 -16
  31. package/lib/types/commands/commands/__tests__/add-merge-command.spec.d.ts +0 -16
  32. package/lib/types/commands/commands/__tests__/clear-selection.command.spec.d.ts +0 -16
  33. package/lib/types/commands/commands/__tests__/copy-worksheet.command.spec.d.ts +0 -16
  34. package/lib/types/commands/commands/__tests__/create-command-test-bed.d.ts +0 -7
  35. package/lib/types/commands/commands/__tests__/delete-range.command.spec.d.ts +0 -16
  36. package/lib/types/commands/commands/__tests__/insert-range.command.spec.d.ts +0 -16
  37. package/lib/types/commands/commands/__tests__/insert-remove-rows-cols.command.spec.d.ts +0 -16
  38. package/lib/types/commands/commands/__tests__/move-range-commands.spec.d.ts +0 -16
  39. package/lib/types/commands/commands/__tests__/move-rows-cols.command.spec.d.ts +0 -16
  40. package/lib/types/commands/commands/__tests__/range-template-command.sepc.d.ts +0 -16
  41. package/lib/types/commands/commands/__tests__/remove-rows-cols.command.spec.d.ts +0 -16
  42. package/lib/types/commands/commands/__tests__/remove-sheet.command.spec.d.ts +0 -16
  43. package/lib/types/commands/commands/__tests__/set-border.command.spec.d.ts +0 -16
  44. package/lib/types/commands/commands/__tests__/set-col-data.command.spec.d.ts +0 -16
  45. package/lib/types/commands/commands/__tests__/set-col-width.command.spec.d.ts +0 -16
  46. package/lib/types/commands/commands/__tests__/set-frozen.command.spec.d.ts +0 -16
  47. package/lib/types/commands/commands/__tests__/set-gridlines-command.spec.d.ts +0 -16
  48. package/lib/types/commands/commands/__tests__/set-range-values.command.spec.d.ts +0 -16
  49. package/lib/types/commands/commands/__tests__/set-row-col-visible.command.spec.d.ts +0 -16
  50. package/lib/types/commands/commands/__tests__/set-row-data.command.spec.d.ts +0 -16
  51. package/lib/types/commands/commands/__tests__/set-row-height.command.spec.d.ts +0 -16
  52. package/lib/types/commands/commands/__tests__/set-style.command.spec.d.ts +0 -16
  53. package/lib/types/commands/commands/__tests__/set-tab-color.command.spec.d.ts +0 -16
  54. package/lib/types/commands/commands/__tests__/set-worksheet-default-style.command.spec.d.ts +0 -16
  55. package/lib/types/commands/commands/__tests__/set-worksheet-hide.command.spec.d.ts +0 -16
  56. package/lib/types/commands/commands/__tests__/set-worksheet-name.command.spec.d.ts +0 -16
  57. package/lib/types/commands/commands/__tests__/set-worksheet-order.command.spec.d.ts +0 -16
  58. package/lib/types/commands/commands/__tests__/set-worksheet-show.command.spec.d.ts +0 -16
  59. package/lib/types/commands/mutations/__tests__/create-command-test-bed.d.ts +0 -8
  60. package/lib/types/commands/mutations/__tests__/move-rows-cols.mutation.spec.d.ts +0 -16
  61. package/lib/types/commands/mutations/__tests__/remove-row-col.mutation.spec.d.ts +0 -16
  62. package/lib/types/controllers/__tests__/util.d.ts +0 -13
  63. package/lib/types/facade/__tests__/utils.spec.d.ts +0 -16
  64. package/lib/types/services/__tests__/move-active-cell.spec.d.ts +0 -16
  65. package/lib/types/services/__tests__/numfmt.service.test.d.ts +0 -16
  66. package/lib/types/services/__tests__/ref-range.setvice.spec.d.ts +0 -16
  67. package/lib/types/services/__tests__/util.d.ts +0 -14
  68. package/lib/types/services/ref-range/__tests__/__testing__.d.ts +0 -14
  69. package/lib/types/services/ref-range/__tests__/ref-range.service.spec.d.ts +0 -13
  70. package/lib/types/services/ref-range/__tests__/utils.spec.d.ts +0 -16
  71. package/lib/types/services/ref-range/__tests__/watch-range.spec.d.ts +0 -16
  72. package/lib/types/services/sheet-interceptor/__tests__/create-core-test-bed.d.ts +0 -13
  73. package/lib/types/services/sheet-interceptor/__tests__/sheet-interceptor.service.spec.d.ts +0 -16
@@ -3,6 +3,9 @@ import { FWorksheet } from './f-worksheet';
3
3
  import { FDefinedNameBuilder } from './f-defined-name';
4
4
  import { FPermission } from './f-permission';
5
5
  import { FWorkbook } from './f-workbook';
6
+ /**
7
+ * @ignore
8
+ */
6
9
  export interface IFUniverSheetsMixin {
7
10
  /**
8
11
  * @deprecated use `univerAPI.createWorkbook` instead.
@@ -77,9 +80,9 @@ export interface IFUniverSheetsMixin {
77
80
  * @example
78
81
  * ```ts
79
82
  * univerAPI.addEvent(univerAPI.event.CommandExecuted, (commandInfo) => {
80
- * const target = univerAPI.getCommandSheetTarget(commandInfo);
81
- * if (!target) return;
82
- * const { workbook, worksheet } = target;
83
+ * const target = univerAPI.getCommandSheetTarget(commandInfo);
84
+ * if (!target) return;
85
+ * const { workbook, worksheet } = target;
83
86
  * });
84
87
  * ```
85
88
  */
@@ -112,6 +115,9 @@ export declare class FUniverSheetsMixin extends FUniver implements IFUniverSheet
112
115
  worksheet: FWorksheet;
113
116
  }>;
114
117
  private _initWorkbookEvent;
118
+ /**
119
+ * @ignore
120
+ */
115
121
  _initialize(injector: Injector): void;
116
122
  createUniverSheet(data: Partial<IWorkbookData>): FWorkbook;
117
123
  createWorkbook(data: Partial<IWorkbookData>): FWorkbook;
@@ -1,10 +1,14 @@
1
1
  import { CommandListener, CustomData, IDisposable, IRange, IWorkbookData, LocaleType, Workbook, FBaseInitialable, ICommandService, ILogService, Injector, IPermissionService, IResourceLoaderService, IUniverInstanceService, LocaleService } from '@univerjs/core';
2
2
  import { ISetDefinedNameMutationParam, IDefinedNamesService } from '@univerjs/engine-formula';
3
- import { RangeThemeStyle, SheetsSelectionsService } from '@univerjs/sheets';
3
+ import { IRangeThemeStyleJSON, RangeThemeStyle, SheetsSelectionsService } from '@univerjs/sheets';
4
4
  import { FontLine as _FontLine, FRange } from './f-range';
5
5
  import { FDefinedName } from './f-defined-name';
6
6
  import { FPermission } from './f-permission';
7
7
  import { FWorksheet } from './f-worksheet';
8
+ /**
9
+ * Facade API object bounded to a workbook. It provides a set of methods to interact with the workbook.
10
+ * @hideconstructor
11
+ */
8
12
  export declare class FWorkbook extends FBaseInitialable {
9
13
  protected readonly _workbook: Workbook;
10
14
  protected readonly _injector: Injector;
@@ -225,7 +229,7 @@ export declare class FWorkbook extends FBaseInitialable {
225
229
  * // The code below registers a callback that will be triggered before invoking a command targeting the Univer sheet
226
230
  * const activeSpreadsheet = univerAPI.getActiveWorkbook();
227
231
  * activeSpreadsheet.onBeforeCommandExecute((command) => {
228
- * console.log('Command executed:', command);
232
+ * console.log('Command executed:', command);
229
233
  * });
230
234
  * ```
231
235
  */
@@ -490,9 +494,9 @@ export declare class FWorkbook extends FBaseInitialable {
490
494
  * const fWorkbook = univerAPI.getActiveWorkbook();
491
495
  * const rangeThemeStyle = new RangeThemeStyle('MyTheme');
492
496
  * rangeThemeStyle.setSecondRowStyle({
493
- * bg: {
494
- * rgb: 'rgb(214,231,241)',
495
- * },
497
+ * bg: {
498
+ * rgb: 'rgb(214,231,241)',
499
+ * },
496
500
  * });
497
501
  * fWorkbook.registerRangeTheme(rangeThemeStyle);
498
502
  * ```
@@ -509,6 +513,7 @@ export declare class FWorkbook extends FBaseInitialable {
509
513
  * ```
510
514
  */
511
515
  unregisterRangeTheme(themeName: string): void;
516
+ createRangeThemeStyle(themeName: string, themeStyleJson?: Omit<IRangeThemeStyleJSON, 'name'>): RangeThemeStyle;
512
517
  /**
513
518
  * Set custom metadata of workbook
514
519
  * @param {CustomData | undefined} custom custom metadata
@@ -531,6 +536,9 @@ export declare class FWorkbook extends FBaseInitialable {
531
536
  */
532
537
  getCustomMetadata(): CustomData | undefined;
533
538
  }
539
+ /**
540
+ * @ignore
541
+ */
534
542
  export declare namespace FWorkbook {
535
543
  type FontLine = _FontLine;
536
544
  type FontStyle = _FontLine;
@@ -9,7 +9,8 @@ interface IFacadeClearOptions {
9
9
  formatOnly?: boolean;
10
10
  }
11
11
  /**
12
- * Represents a worksheet facade api instance. Which provides a set of methods to interact with the worksheet.
12
+ * A Facade API object bounded to a worksheet. It provides a set of methods to interact with the worksheet.
13
+ * @hideconstructor
13
14
  */
14
15
  export declare class FWorksheet extends FBaseInitialable {
15
16
  protected readonly _fWorkbook: FWorkbook;
@@ -22,6 +22,7 @@ export { type IUniverSheetsConfig } from './controllers/config.schema';
22
22
  export { MAX_CELL_PER_SHEET_KEY } from './controllers/config/config';
23
23
  export { BorderStyleManagerService, type IBorderInfo } from './services/border-style-manager.service';
24
24
  export { SheetRangeThemeService } from './services/range-theme-service';
25
+ export type { IRangeThemeStyleJSON } from './model/range-theme-util';
25
26
  export * from './services/permission/permission-point';
26
27
  export { WorksheetPermissionService } from './services/permission/worksheet-permission/worksheet-permission.service';
27
28
  export { WorkbookPermissionService } from './services/permission/workbook-permission/workbook-permission.service';
@@ -38,7 +38,7 @@ export declare class RangeProtectionRuleModel {
38
38
  private _ruleChange;
39
39
  ruleChange$: import('rxjs').Observable<IRuleChange>;
40
40
  private _ruleRefresh;
41
- ruleRefresh$: import('rxjs').Observable<unknown>;
41
+ ruleRefresh$: import('rxjs').Observable<string>;
42
42
  ruleRefresh(id: string): void;
43
43
  private _rangeRuleInitStateChange;
44
44
  rangeRuleInitStateChange$: import('rxjs').Observable<boolean>;
@@ -30,53 +30,166 @@ import { WorksheetInsertHyperlinkPermission } from './worksheet/insert-hyperlink
30
30
  import { WorksheetInsertRowPermission } from './worksheet/insert-row';
31
31
  import { WorksheetManageCollaboratorPermission } from './worksheet/manage-collaborator';
32
32
  import { WorksheetPivotTablePermission } from './worksheet/pivot-table';
33
- import { WorksheetSelectProtectedCellsPermission } from './worksheet/select-protected-cells';
34
- import { WorksheetSelectUnProtectedCellsPermission } from './worksheet/select-un-protected-cells';
35
33
  import { WorksheetSetCellStylePermission } from './worksheet/set-cell-style';
36
34
  import { WorksheetSetCellValuePermission } from './worksheet/set-cell-value';
37
35
  import { WorksheetSetColumnStylePermission } from './worksheet/set-column-style';
38
36
  import { WorksheetSetRowStylePermission } from './worksheet/set-row-style';
39
37
  import { WorksheetSortPermission } from './worksheet/sort';
40
38
  import { WorksheetViewPermission } from './worksheet/view';
39
+ /**
40
+ * @ignore
41
+ */
41
42
  export declare const PermissionPointsDefinitions: {
43
+ /**
44
+ * The permission point for adding or editing workbook comments
45
+ */
42
46
  WorkbookCommentPermission: typeof WorkbookCommentPermission;
47
+ /**
48
+ * The permission point for copy in workbook
49
+ */
43
50
  WorkbookCopyPermission: typeof WorkbookCopyPermission;
51
+ /**
52
+ * The permission point for creating protect in a workbook
53
+ */
44
54
  WorkbookCreateProtectPermission: typeof WorkbookCreateProtectPermission;
55
+ /**
56
+ * The permission point for creating new sheets in a workbook
57
+ */
45
58
  WorkbookCreateSheetPermission: typeof WorkbookCreateSheetPermission;
59
+ /**
60
+ * The permission point for deleting sheets in a workbook
61
+ */
46
62
  WorkbookDeleteSheetPermission: typeof WorkbookDeleteSheetPermission;
63
+ /**
64
+ * The permission point for duplicating a sheet in a workbook
65
+ */
47
66
  WorkbookDuplicatePermission: typeof WorkbookDuplicatePermission;
67
+ /**
68
+ * The permission point for editing workbook content
69
+ */
48
70
  WorkbookEditablePermission: typeof WorkbookEditablePermission;
71
+ /**
72
+ * The permission point for exporting workbook data
73
+ */
49
74
  WorkbookExportPermission: typeof WorkbookExportPermission;
75
+ /**
76
+ * The permission point for hiding sheets in a workbook
77
+ */
50
78
  WorkbookHideSheetPermission: typeof WorkbookHideSheetPermission;
79
+ /**
80
+ * The permission point for viewing and managing workbook history
81
+ */
51
82
  WorkbookHistoryPermission: typeof WorkbookHistoryPermission;
83
+ /**
84
+ * The permission point for managing collaborators in a workbook
85
+ */
52
86
  WorkbookManageCollaboratorPermission: typeof WorkbookManageCollaboratorPermission;
87
+ /**
88
+ * The permission point for moving sheets within a workbook
89
+ */
53
90
  WorkbookMoveSheetPermission: typeof WorkbookMoveSheetPermission;
91
+ /**
92
+ * The permission point for printing a workbook
93
+ */
54
94
  WorkbookPrintPermission: typeof WorkbookPrintPermission;
95
+ /**
96
+ * The permission point for recovering a previous history state of a workbook
97
+ */
55
98
  WorkbookRecoverHistoryPermission: typeof WorkbookRecoverHistoryPermission;
99
+ /**
100
+ * The permission point for renaming sheets in a workbook
101
+ */
56
102
  WorkbookRenameSheetPermission: typeof WorkbookRenameSheetPermission;
103
+ /**
104
+ * The permission point for sharing a workbook with others
105
+ */
57
106
  WorkbookSharePermission: typeof WorkbookSharePermission;
107
+ /**
108
+ * The permission point for viewing the history of a workbook
109
+ */
58
110
  WorkbookViewHistoryPermission: typeof WorkbookViewHistoryPermission;
111
+ /**
112
+ * The permission point for viewing a workbook
113
+ */
59
114
  WorkbookViewPermission: typeof WorkbookViewPermission;
115
+ /**
116
+ * The permission point for copying contents from a worksheet
117
+ */
60
118
  WorksheetCopyPermission: typeof WorksheetCopyPermission;
119
+ /**
120
+ * The permission point for deleting columns in a worksheet
121
+ */
61
122
  WorksheetDeleteColumnPermission: typeof WorksheetDeleteColumnPermission;
123
+ /**
124
+ * The permission point for deleting worksheet protection rules
125
+ */
62
126
  WorksheetDeleteProtectionPermission: typeof WorksheetDeleteProtectionPermission;
127
+ /**
128
+ * The permission point for deleting rows in a worksheet
129
+ */
63
130
  WorksheetDeleteRowPermission: typeof WorksheetDeleteRowPermission;
131
+ /**
132
+ * The permission point for editing extra objects (e.g. shapes) in a worksheet
133
+ */
64
134
  WorksheetEditExtraObjectPermission: typeof WorksheetEditExtraObjectPermission;
135
+ /**
136
+ * The permission point for editing the content of a worksheet
137
+ */
65
138
  WorksheetEditPermission: typeof WorksheetEditPermission;
139
+ /**
140
+ * The permission point for applying filters in a worksheet
141
+ */
66
142
  WorksheetFilterPermission: typeof WorksheetFilterPermission;
143
+ /**
144
+ * The permission point for inserting columns into a worksheet
145
+ */
67
146
  WorksheetInsertColumnPermission: typeof WorksheetInsertColumnPermission;
147
+ /**
148
+ * The permission point for inserting hyperlinks in a worksheet
149
+ */
68
150
  WorksheetInsertHyperlinkPermission: typeof WorksheetInsertHyperlinkPermission;
151
+ /**
152
+ * The permission point for inserting rows into a worksheet
153
+ */
69
154
  WorksheetInsertRowPermission: typeof WorksheetInsertRowPermission;
155
+ /**
156
+ * The permission point for managing collaborators of a worksheet
157
+ */
70
158
  WorksheetManageCollaboratorPermission: typeof WorksheetManageCollaboratorPermission;
159
+ /**
160
+ * The permission point for creating or modifying pivot tables in a worksheet
161
+ */
71
162
  WorksheetPivotTablePermission: typeof WorksheetPivotTablePermission;
72
- WorksheetSelectProtectedCellsPermission: typeof WorksheetSelectProtectedCellsPermission;
73
- WorksheetSelectUnProtectedCellsPermission: typeof WorksheetSelectUnProtectedCellsPermission;
163
+ /**
164
+ * The permission point for setting the style of cells in a worksheet
165
+ */
74
166
  WorksheetSetCellStylePermission: typeof WorksheetSetCellStylePermission;
167
+ /**
168
+ * The permission point for setting the value of cells in a worksheet
169
+ */
75
170
  WorksheetSetCellValuePermission: typeof WorksheetSetCellValuePermission;
171
+ /**
172
+ * The permission point for setting the style of columns in a worksheet
173
+ */
76
174
  WorksheetSetColumnStylePermission: typeof WorksheetSetColumnStylePermission;
175
+ /**
176
+ * The permission point for setting the style of rows in a worksheet
177
+ */
77
178
  WorksheetSetRowStylePermission: typeof WorksheetSetRowStylePermission;
179
+ /**
180
+ * The permission point for performing sort operations on a worksheet
181
+ */
78
182
  WorksheetSortPermission: typeof WorksheetSortPermission;
183
+ /**
184
+ * The permission point for viewing the content of a worksheet
185
+ */
79
186
  WorksheetViewPermission: typeof WorksheetViewPermission;
187
+ /**
188
+ * The permission point for editing the range protection settings
189
+ */
80
190
  RangeProtectionPermissionEditPoint: typeof RangeProtectionPermissionEditPoint;
191
+ /**
192
+ * The permission point for viewing the range protection settings
193
+ */
81
194
  RangeProtectionPermissionViewPoint: typeof RangeProtectionPermissionViewPoint;
82
195
  };
@@ -3,9 +3,9 @@ import { IAddRangeProtectionMutationParams } from '../../../commands/mutations/a
3
3
  import { IDeleteRangeProtectionMutationParams } from '../../../commands/mutations/delete-range-protection.mutation';
4
4
  import { ISetRangeProtectionMutationParams } from '../../../commands/mutations/set-range-protection.mutation';
5
5
  import { EffectRefRangeParams } from '../../../services/ref-range/type';
6
- import { RangeProtectionCache } from '../../../model/range-protection.cache';
7
6
  import { RangeProtectionRenderModel } from '../../../model/range-protection-render.model';
8
7
  import { RangeProtectionRuleModel } from '../../../model/range-protection-rule.model';
8
+ import { RangeProtectionCache } from '../../../model/range-protection.cache';
9
9
  import { RefRangeService } from '../../../services/ref-range/ref-range.service';
10
10
  import { SheetInterceptorService } from '../../sheet-interceptor/sheet-interceptor.service';
11
11
  export declare class RangeProtectionRefRangeService extends Disposable {
@@ -1,6 +1,6 @@
1
1
  import { Disposable, IPermissionService, IResourceManagerService, IUniverInstanceService } from '@univerjs/core';
2
- import { RangeProtectionCache } from '../../../model/range-protection.cache';
3
2
  import { RangeProtectionRuleModel } from '../../../model/range-protection-rule.model';
3
+ import { RangeProtectionCache } from '../../../model/range-protection.cache';
4
4
  export declare class RangeProtectionService extends Disposable {
5
5
  private _selectionProtectionRuleModel;
6
6
  private _permissionService;
@@ -16,7 +16,7 @@ export declare class WorksheetProtectionRuleModel {
16
16
  oldRule?: IWorksheetProtectionRule;
17
17
  type: IRuleChangeType;
18
18
  }>;
19
- ruleRefresh$: import('rxjs').Observable<unknown>;
19
+ ruleRefresh$: import('rxjs').Observable<string>;
20
20
  resetOrder$: import('rxjs').Observable<unknown>;
21
21
  private _worksheetRuleInitStateChange;
22
22
  worksheetRuleInitStateChange$: import('rxjs').Observable<boolean>;
package/lib/umd/facade.js CHANGED
@@ -1 +1 @@
1
- (function(m,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("@univerjs/core"),require("@univerjs/sheets"),require("@univerjs/engine-formula")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/sheets","@univerjs/engine-formula"],o):(m=typeof globalThis<"u"?globalThis:m||self,o(m.UniverSheetsFacade={},m.UniverCore,m.UniverSheets,m.UniverEngineFormula))})(this,function(m,o,a,C){"use strict";var ae=Object.defineProperty;var he=(m,o,a)=>o in m?ae(m,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):m[o]=a;var v=(m,o,a)=>he(m,typeof o!="symbol"?o+"":o,a);var W=Object.defineProperty,A=Object.getOwnPropertyDescriptor,F=(c,n,e,t)=>{for(var i=t>1?void 0:t?A(n,e):n,r=c.length-1,s;r>=0;r--)(s=c[r])&&(i=(t?s(n,e,i):s(i))||i);return t&&i&&W(n,e,i),i},_=(c,n)=>(e,t)=>n(e,t,c);function M(c,n,e){const t=e.getDefinedNameMap(c);if(t==null)return n.t("definedName.defaultName")+1;const r=Array.from(Object.values(t)).length+1,s=n.t("definedName.defaultName")+r;if(e.getValueByName(c,s)==null)return s;let h=r+1;for(;;){const d=n.t("definedName.defaultName")+h;if(e.getValueByName(c,d)==null)return d;h++}}class I{constructor(){v(this,"_definedNameParam");this._definedNameParam={id:o.generateRandomId(10),unitId:"",name:"",formulaOrRefString:""}}setName(n){return this._definedNameParam.name=n,this}setFormula(n){return this._definedNameParam.formulaOrRefString=`=${n}`,this}setRef(n){return this._definedNameParam.formulaOrRefString=n,this}setRefByRange(n,e,t,i){return this._definedNameParam.formulaOrRefString=C.serializeRange({startRow:n,endRow:n+(t!=null?t:1)-1,startColumn:e,endColumn:e+(i!=null?i:1)-1}),this}setComment(n){return this._definedNameParam.comment=n,this}setHidden(n){return this._definedNameParam.hidden=n,this}build(){return this._definedNameParam}load(n){return this._definedNameParam=n,this}}let R=class extends o.FBase{constructor(c,n,e,t,i,r,s,h,d,u){super(),this._definedNameParam=c,this._injector=n,this._commandService=e,this._permissionService=t,this._worksheetProtectionRuleModel=i,this._rangeProtectionRuleModel=r,this._worksheetProtectionPointRuleModel=s,this._authzIoService=h,this._localeService=d,this._definedNamesService=u}_apply(){this._definedNameParam.name===""&&(this._definedNameParam.name=M(this._definedNameParam.unitId,this._localeService,this._definedNamesService)),this._commandService.syncExecuteCommand(a.SetDefinedNameCommand.id,this._definedNameParam)}getName(){return this._definedNameParam.name}setName(c){this._definedNameParam.name=c,this._apply()}setFormula(c){this._definedNameParam.formulaOrRefString=`=${c}`,this._apply()}setRef(c){this._definedNameParam.formulaOrRefString=c,this._apply()}getFormulaOrRefString(){return this._definedNameParam.formulaOrRefString}setRefByRange(c,n,e,t){this._definedNameParam.formulaOrRefString=C.serializeRange({startRow:c,endRow:c+(e!=null?e:1)-1,startColumn:n,endColumn:n+(t!=null?t:1)-1}),this._apply()}getComment(){return this._definedNameParam.comment}setComment(c){this._definedNameParam.comment=c,this._apply()}setScopeToWorksheet(c){this._definedNameParam.localSheetId=c.getSheetId(),this._apply()}setScopeToWorkbook(){this._definedNameParam.localSheetId=a.SCOPE_WORKBOOK_VALUE_DEFINED_NAME,this._apply()}setHidden(c){this._definedNameParam.hidden=c,this._apply()}delete(){this._commandService.syncExecuteCommand(a.RemoveDefinedNameCommand.id,this._definedNameParam)}getLocalSheetId(){return this._definedNameParam.localSheetId}isWorkbookScope(){return this._definedNameParam.localSheetId===a.SCOPE_WORKBOOK_VALUE_DEFINED_NAME}toBuilder(){const c=this._injector.createInstance(I);return c.load(this._definedNameParam),c}};R=F([_(1,o.Inject(o.Injector)),_(2,o.ICommandService),_(3,o.IPermissionService),_(4,o.Inject(a.WorksheetProtectionRuleModel)),_(5,o.Inject(a.RangeProtectionRuleModel)),_(6,o.Inject(a.WorksheetProtectionPointModel)),_(7,o.Inject(o.IAuthzIoService)),_(8,o.Inject(o.LocaleService)),_(9,C.IDefinedNamesService)],R);var B=Object.defineProperty,D=Object.getOwnPropertyDescriptor,j=(c,n,e,t)=>{for(var i=t>1?void 0:t?D(n,e):n,r=c.length-1,s;r>=0;r--)(s=c[r])&&(i=(t?s(n,e,i):s(i))||i);return t&&i&&B(n,e,i),i},w=(c,n)=>(e,t)=>n(e,t,c);m.FPermission=class extends o.FBase{constructor(e,t,i,r,s,h,d){super();v(this,"permissionPointsDefinition",a.PermissionPointsDefinitions);v(this,"rangeRuleChangedAfterAuth$");v(this,"sheetRuleChangedAfterAuth$");this._injector=e,this._commandService=t,this._permissionService=i,this._worksheetProtectionRuleModel=r,this._rangeProtectionRuleModel=s,this._worksheetProtectionPointRuleModel=h,this._authzIoService=d,this.rangeRuleChangedAfterAuth$=this._rangeProtectionRuleModel.ruleRefresh$,this.sheetRuleChangedAfterAuth$=this._worksheetProtectionRuleModel.ruleRefresh$}setWorkbookPermissionPoint(e,t,i){const r=new t(e);this._permissionService.getPermissionPoint(r.id)||this._permissionService.addPermissionPoint(r),this._permissionService.updatePermissionPoint(r.id,i)}setWorkbookEditPermission(e,t){this.setWorkbookPermissionPoint(e,a.WorkbookEditablePermission,t)}async addWorksheetBasePermission(e,t){if(this._rangeProtectionRuleModel.getSubunitRuleList(e,t).length>0)throw new Error("sheet protection cannot intersect with range protection");const r=await this._authzIoService.create({objectType:a.UnitObject.Worksheet,worksheetObject:{collaborators:[],unitID:e,strategies:[],name:"",scope:void 0}});if(this._commandService.syncExecuteCommand(a.AddWorksheetProtectionMutation.id,{unitId:e,subUnitId:t,rule:{permissionId:r,unitType:a.UnitObject.Worksheet,unitId:e,subUnitId:t}}))return r}removeWorksheetPermission(e,t){this._commandService.syncExecuteCommand(a.DeleteWorksheetProtectionMutation.id,{unitId:e,subUnitId:t}),[...a.getAllWorksheetPermissionPoint(),...a.getAllWorksheetPermissionPointByPointPanel()].forEach(i=>{const r=new i(e,t);this._permissionService.updatePermissionPoint(r.id,!0)}),this._worksheetProtectionPointRuleModel.deleteRule(e,t)}async setWorksheetPermissionPoint(e,t,i,r){const s=this._worksheetProtectionRuleModel.getRule(e,t);let h;if(i===a.WorksheetEditPermission||i===a.WorksheetViewPermission)if(s)h=s.permissionId;else{if(this._rangeProtectionRuleModel.getSubunitRuleList(e,t).length>0)throw new Error("sheet protection cannot intersect with range protection");h=await this.addWorksheetBasePermission(e,t)}else{const g=this._worksheetProtectionPointRuleModel.getRule(e,t);g?h=g.permissionId:(h=await this._authzIoService.create({objectType:a.UnitObject.Worksheet,worksheetObject:{collaborators:[],unitID:e,strategies:[],name:"",scope:void 0}}),this._commandService.syncExecuteCommand(a.SetWorksheetPermissionPointsMutation.id,{unitId:e,subUnitId:t,permissionId:h}))}const u=new i(e,t);return this._permissionService.getPermissionPoint(u.id)||this._permissionService.addPermissionPoint(u),this._permissionService.updatePermissionPoint(u.id,r),h}async addRangeBaseProtection(e,t,i){const r=await this._authzIoService.create({objectType:a.UnitObject.SelectRange,selectRangeObject:{collaborators:[],unitID:e,name:"",scope:void 0}}),s=`ruleId_${o.generateRandomId(6)}`;if(this._worksheetProtectionRuleModel.getRule(e,t))throw new Error("sheet protection cannot intersect with range protection");if(this._rangeProtectionRuleModel.getSubunitRuleList(e,t).some(g=>g.ranges.some(k=>i.some(f=>o.Rectangle.intersects(f,k)))))throw new Error("range protection cannot intersect");if(this._commandService.syncExecuteCommand(a.AddRangeProtectionMutation.id,{unitId:e,subUnitId:t,rules:[{permissionId:r,unitType:a.UnitObject.SelectRange,unitId:e,subUnitId:t,ranges:i,id:s}]}))return{permissionId:r,ruleId:s}}removeRangeProtection(e,t,i){this._commandService.syncExecuteCommand(a.DeleteRangeProtectionMutation.id,{unitId:e,subUnitId:t,ruleIds:i})&&this._rangeProtectionRuleModel.getSubunitRuleList(e,t).length===0&&(this._worksheetProtectionPointRuleModel.deleteRule(e,t),[...a.getAllWorksheetPermissionPointByPointPanel()].forEach(h=>{const d=new h(e,t);this._permissionService.updatePermissionPoint(d.id,d.value)}))}setRangeProtectionPermissionPoint(e,t,i,r,s){const h=new r(e,t,i);this._permissionService.getPermissionPoint(h.id)||this._permissionService.addPermissionPoint(h),this._permissionService.updatePermissionPoint(h.id,s)}setRangeProtectionRanges(e,t,i,r){const s=this._rangeProtectionRuleModel.getRule(e,t,i);if(s){if(this._rangeProtectionRuleModel.getSubunitRuleList(e,t).filter(u=>u.id!==i).some(u=>u.ranges.some(l=>r.some(g=>o.Rectangle.intersects(g,l)))))throw new Error("range protection cannot intersect");this._commandService.syncExecuteCommand(a.SetRangeProtectionMutation.id,{unitId:e,subUnitId:t,ruleId:i,rule:{...s,ranges:r}})}}},m.FPermission=j([w(0,o.Inject(o.Injector)),w(1,o.ICommandService),w(2,o.IPermissionService),w(3,o.Inject(a.WorksheetProtectionRuleModel)),w(4,o.Inject(a.RangeProtectionRuleModel)),w(5,o.Inject(a.WorksheetProtectionPointModel)),w(6,o.Inject(o.IAuthzIoService))],m.FPermission);function x(c){switch(c){case"left":return o.HorizontalAlign.LEFT;case"center":return o.HorizontalAlign.CENTER;case"normal":return o.HorizontalAlign.RIGHT;default:throw new Error(`Invalid horizontal alignment: ${c}`)}}function O(c){switch(c){case o.HorizontalAlign.LEFT:return"left";case o.HorizontalAlign.CENTER:return"center";case o.HorizontalAlign.RIGHT:return"normal";default:throw new Error(`Invalid horizontal alignment: ${c}`)}}function V(c){switch(c){case"top":return o.VerticalAlign.TOP;case"middle":return o.VerticalAlign.MIDDLE;case"bottom":return o.VerticalAlign.BOTTOM;default:throw new Error(`Invalid vertical alignment: ${c}`)}}function L(c){switch(c){case o.VerticalAlign.TOP:return"top";case o.VerticalAlign.MIDDLE:return"middle";case o.VerticalAlign.BOTTOM:return"bottom";default:throw new Error(`Invalid vertical alignment: ${c}`)}}function b(c){return o.isFormulaString(c)?{f:c,v:null,p:null}:o.isCellV(c)?{v:c,p:null,f:null}:(o.isICellData(c),c)}function P(c,n){const e=new o.ObjectMatrix,{startRow:t,startColumn:i,endRow:r,endColumn:s}=n;if(o.Tools.isArray(c))for(let h=0;h<=r-t;h++)for(let d=0;d<=s-i;d++)e.setValue(h+t,d+i,b(c[h][d]));else new o.ObjectMatrix(c).forValue((d,u,l)=>{e.setValue(d,u,b(l))});return e.getMatrix()}function E(c,n){return{startRow:c.startRow,endRow:c.endRow,startColumn:0,endColumn:n.getColumnCount()-1,rangeType:o.RANGE_TYPE.ROW}}function p(c,n){return{startRow:0,endRow:n.getRowCount()-1,startColumn:c.startColumn,endColumn:c.endColumn,rangeType:o.RANGE_TYPE.COLUMN}}var H=Object.defineProperty,z=Object.getOwnPropertyDescriptor,G=(c,n,e,t)=>{for(var i=t>1?void 0:t?z(n,e):n,r=c.length-1,s;r>=0;r--)(s=c[r])&&(i=(t?s(n,e,i):s(i))||i);return t&&i&&H(n,e,i),i},U=(c,n)=>(e,t)=>n(e,t,c);m.FRange=class extends o.FBaseInitialable{constructor(n,e,t,i,r,s){super(i),this._workbook=n,this._worksheet=e,this._range=t,this._injector=i,this._commandService=r,this._formulaDataModel=s}getUnitId(){return this._workbook.getUnitId()}getSheetName(){return this._worksheet.getName()}getSheetId(){return this._worksheet.getSheetId()}getRange(){return this._range}getRow(){return this._range.startRow}getColumn(){return this._range.startColumn}getWidth(){return this._range.endColumn-this._range.startColumn+1}getHeight(){return this._range.endRow-this._range.startRow+1}isMerged(){const{startColumn:n,startRow:e,endColumn:t,endRow:i}=this._range;return this._worksheet.getMergedCellRange(e,n,i,t).some(s=>o.Rectangle.equals(s,this._range))}getCellStyleData(){var t;const n=this.getCellData(),e=this._workbook.getStyles();return n&&e&&(t=e.getStyleByCell(n))!=null?t:null}getCellStyle(){const n=this.getCellStyleData();return n?o.TextStyleValue.create(n):null}getCellStyles(){const n=this.getCellDatas(),e=this._workbook.getStyles();return n.map(t=>t.map(i=>{if(!i)return null;const r=e.getStyleByCell(i);return r?o.TextStyleValue.create(r):null}))}getValue(n){var e,t;return n?this.getValueAndRichTextValue():(t=(e=this._worksheet.getCell(this._range.startRow,this._range.startColumn))==null?void 0:e.v)!=null?t:null}getValues(n){var h,d;n&&this.getValueAndRichTextValues();const{startRow:e,endRow:t,startColumn:i,endColumn:r}=this._range,s=[];for(let u=e;u<=t;u++){const l=[];for(let g=i;g<=r;g++)l.push((d=(h=this._worksheet.getCell(u,g))==null?void 0:h.v)!=null?d:null);s.push(l)}return s}getCellData(){var n;return(n=this._worksheet.getCell(this._range.startRow,this._range.startColumn))!=null?n:null}getCellDatas(){return this.getCellDataGrid()}getCellDataGrid(){const{startRow:n,endRow:e,startColumn:t,endColumn:i}=this._range,r=[];for(let s=n;s<=e;s++){const h=[];for(let d=t;d<=i;d++)h.push(this._worksheet.getCellRaw(s,d));r.push(h)}return r}getRichTextValue(){const n=this.getCellData();return n!=null&&n.p?new o.RichTextValue(n.p):null}getRichTextValues(){return this.getCellDataGrid().map(e=>e.map(t=>t!=null&&t.p?new o.RichTextValue(t.p):null))}getValueAndRichTextValue(){const n=this.getCellData();return n!=null&&n.p?new o.RichTextValue(n.p):n==null?void 0:n.v}getValueAndRichTextValues(){return this.getCellDatas().map(e=>e.map(t=>t!=null&&t.p?new o.RichTextValue(t.p):t==null?void 0:t.v))}getFormulas(){const n=[],{startRow:e,endRow:t,startColumn:i,endColumn:r}=this._range,s=this._worksheet.getSheetId(),h=this._workbook.getUnitId();for(let d=e;d<=t;d++){const u=[];for(let l=i;l<=r;l++){const g=this._formulaDataModel.getFormulaStringByCell(d,l,s,h);u.push(g||"")}n.push(u)}return n}getWrap(){return this._worksheet.getRange(this._range).getWrap()===o.BooleanNumber.TRUE}getWrapStrategy(){return this._worksheet.getRange(this._range).getWrapStrategy()}getHorizontalAlignment(){return O(this._worksheet.getRange(this._range).getHorizontalAlignment())}getVerticalAlignment(){return L(this._worksheet.getRange(this._range).getVerticalAlignment())}setCustomMetaData(n){return this.setValue({custom:n})}setCustomMetaDatas(n){return this.setValues(n.map(e=>e.map(t=>({custom:t}))))}getCustomMetaData(){var e;const n=this.getCellData();return(e=n==null?void 0:n.custom)!=null?e:null}getCustomMetaDatas(){return this.getCellDataGrid().map(e=>e.map(t=>{var i;return(i=t==null?void 0:t.custom)!=null?i:null}))}setBorder(n,e,t){return this._commandService.syncExecuteCommand(a.SetBorderBasicCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),value:{type:n,style:e,color:t}}),this}setBackgroundColor(n){return this._commandService.syncExecuteCommand(a.SetStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:{type:"bg",value:{rgb:n}}}),this}setBackground(n){return this.setBackgroundColor(n),this}setValue(n){const e=b(n);if(!e)throw new Error("Invalid value");return this._commandService.syncExecuteCommand(a.SetRangeValuesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:e}),this}setValueForCell(n){const e=b(n);if(!e)throw new Error("Invalid value");return this._commandService.syncExecuteCommand(a.SetRangeValuesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:{startColumn:this._range.startColumn,startRow:this._range.startRow,endColumn:this._range.endColumn,endRow:this._range.endRow},value:e}),this}setRichTextValueForCell(n){const e=n instanceof o.RichTextValue?n.getData():n,t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:{startColumn:this._range.startColumn,startRow:this._range.startRow,endColumn:this._range.endColumn,endRow:this._range.endRow},value:{p:e}};return this._commandService.syncExecuteCommand(a.SetRangeValuesCommand.id,t),this}setRichTextValues(n){const e=n.map(r=>r.map(s=>s&&{p:s instanceof o.RichTextValue?s.getData():s})),t=P(e,this._range),i={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:t};return this._commandService.syncExecuteCommand(a.SetRangeValuesCommand.id,i),this}setWrap(n){return this._commandService.syncExecuteCommand(a.SetTextWrapCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:n?o.WrapStrategy.WRAP:o.WrapStrategy.UNSPECIFIED}),this}setWrapStrategy(n){return this._commandService.syncExecuteCommand(a.SetTextWrapCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:n}),this}setVerticalAlignment(n){return this._commandService.syncExecuteCommand(a.SetVerticalTextAlignCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:V(n)}),this}setHorizontalAlignment(n){return this._commandService.syncExecuteCommand(a.SetHorizontalTextAlignCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:x(n)}),this}setValues(n){const e=P(n,this._range);return this._commandService.syncExecuteCommand(a.SetRangeValuesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:e}),this}setFontWeight(n){let e;if(n==="bold")e=o.BooleanNumber.TRUE;else if(n==="normal")e=o.BooleanNumber.FALSE;else if(n===null)e=null;else throw new Error("Invalid fontWeight");const t={type:"bl",value:e},i={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};return this._commandService.syncExecuteCommand(a.SetStyleCommand.id,i),this}setFontStyle(n){let e;if(n==="italic")e=o.BooleanNumber.TRUE;else if(n==="normal")e=o.BooleanNumber.FALSE;else if(n===null)e=null;else throw new Error("Invalid fontStyle");const t={type:"it",value:e},i={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};return this._commandService.syncExecuteCommand(a.SetStyleCommand.id,i),this}setFontLine(n){if(n==="underline")this._setFontUnderline({s:o.BooleanNumber.TRUE});else if(n==="line-through")this._setFontStrikethrough({s:o.BooleanNumber.TRUE});else if(n==="none")this._setFontUnderline({s:o.BooleanNumber.FALSE}),this._setFontStrikethrough({s:o.BooleanNumber.FALSE});else if(n===null)this._setFontUnderline(null),this._setFontStrikethrough(null);else throw new Error("Invalid fontLine");return this}_setFontUnderline(n){const e={type:"ul",value:n},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};this._commandService.syncExecuteCommand(a.SetStyleCommand.id,t)}_setFontStrikethrough(n){const e={type:"st",value:n},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};this._commandService.syncExecuteCommand(a.SetStyleCommand.id,t)}setFontFamily(n){const e={type:"ff",value:n},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};return this._commandService.syncExecuteCommand(a.SetStyleCommand.id,t),this}setFontSize(n){const e={type:"fs",value:n},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};return this._commandService.syncExecuteCommand(a.SetStyleCommand.id,t),this}setFontColor(n){const t={type:"cl",value:n===null?null:{rgb:n}},i={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};return this._commandService.syncExecuteCommand(a.SetStyleCommand.id,i),this}merge(n=!0){const e=this._workbook.getUnitId(),t=this._worksheet.getSheetId();return a.addMergeCellsUtil(this._injector,e,t,[this._range],n),this}mergeAcross(n=!0){const e=a.getAddMergeMutationRangeByType([this._range],o.Dimension.ROWS),t=this._workbook.getUnitId(),i=this._worksheet.getSheetId();return a.addMergeCellsUtil(this._injector,t,i,e,n),this}mergeVertically(n=!0){const e=a.getAddMergeMutationRangeByType([this._range],o.Dimension.COLUMNS),t=this._workbook.getUnitId(),i=this._worksheet.getSheetId();return a.addMergeCellsUtil(this._injector,t,i,e,n),this}isPartOfMerge(){const{startRow:n,startColumn:e,endRow:t,endColumn:i}=this._range;return this._worksheet.getMergedCellRange(n,e,t,i).length>0}breakApart(){return this._commandService.syncExecuteCommand(a.RemoveWorksheetMergeCommand.id,{ranges:[this._range]}),this}forEach(n){const{startColumn:e,startRow:t,endColumn:i,endRow:r}=this._range;this._worksheet.getMatrixWithMergedCells(t,e,r,i).forValue((s,h,d)=>{n(s,h,d)})}getA1Notation(n){return n?C.serializeRangeWithSheet(this._worksheet.getName(),this._range):C.serializeRange(this._range)}activate(){return this._injector.createInstance(m.FWorkbook,this._workbook).setActiveRange(this),this}activateAsCurrentCell(){const n=this._worksheet.getMergedCell(this._range.startRow,this._range.startColumn);if(n&&o.Rectangle.equals(n,this._range)||!n&&this._range.startRow===this._range.endRow&&this._range.startColumn===this._range.endColumn)return this.activate();throw new Error("The range is not a single cell")}splitTextToColumns(n,e,t){this._commandService.syncExecuteCommand(a.SplitTextToColumnsCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,delimiter:e,customDelimiter:t,treatMultipleDelimitersAsOne:n})}useThemeStyle(n){if(n==null){const e=this.getUsedThemeStyle();e&&this.removeThemeStyle(e)}else this._commandService.syncExecuteCommand(a.SetWorksheetRangeThemeStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,themeName:n})}removeThemeStyle(n){this._commandService.syncExecuteCommand(a.DeleteWorksheetRangeThemeStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,themeName:n})}getUsedThemeStyle(){return this._injector.get(a.SheetRangeThemeService).getAppliedRangeThemeStyle({unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range})}},m.FRange=G([U(3,o.Inject(o.Injector)),U(4,o.ICommandService),U(5,o.Inject(C.FormulaDataModel))],m.FRange);var $=Object.defineProperty,Y=Object.getOwnPropertyDescriptor,q=(c,n,e,t)=>{for(var i=t>1?void 0:t?Y(n,e):n,r=c.length-1,s;r>=0;r--)(s=c[r])&&(i=(t?s(n,e,i):s(i))||i);return t&&i&&$(n,e,i),i},K=(c,n)=>(e,t)=>n(e,t,c);m.FSelection=class{constructor(n,e,t,i){this._workbook=n,this._worksheet=e,this._selections=t,this._injector=i}getActiveRange(){const n=this._selections.find(e=>!!e.primary);return n?this._injector.createInstance(m.FRange,this._workbook,this._worksheet,n.range):null}getActiveRangeList(){return this._selections.map(n=>this._injector.createInstance(m.FRange,this._workbook,this._worksheet,n.range))}getCurrentCell(){const n=this._selections.find(e=>!!e.primary);return n?n.primary:null}getActiveSheet(){const n=this._injector.createInstance(m.FWorkbook,this._workbook);return this._injector.createInstance(m.FWorksheet,n,this._workbook,this._worksheet)}updatePrimaryCell(n){const e=this._injector.get(o.ICommandService);let t=[],i=!1;for(const{range:s,style:h}of this._selections)o.Rectangle.contains(s,n.getRange())?(t.push({range:s,primary:a.getPrimaryForRange(n.getRange(),this._worksheet),style:h}),i=!0):t.push({range:s,primary:null,style:h});i||(t=[{range:n.getRange(),primary:a.getPrimaryForRange(n.getRange(),this._worksheet)}]);const r={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),selections:t};return e.syncExecuteCommand(a.SetSelectionsOperation.id,r),new m.FSelection(this._workbook,this._worksheet,t,this._injector)}getNextDataRange(n){if(!this._selections.find(i=>!!i.primary))return null;const t=a.getNextPrimaryCell(this._selections.concat(),n,this._worksheet);return t?this._injector.createInstance(m.FRange,this._workbook,this._worksheet,t):null}},m.FSelection=q([K(3,o.Inject(o.Injector))],m.FSelection);var J=Object.defineProperty,Q=Object.getOwnPropertyDescriptor,X=(c,n,e,t)=>{for(var i=t>1?void 0:t?Q(n,e):n,r=c.length-1,s;r>=0;r--)(s=c[r])&&(i=(t?s(n,e,i):s(i))||i);return t&&i&&J(n,e,i),i},y=(c,n)=>(e,t)=>n(e,t,c);m.FWorksheet=class extends o.FBaseInitialable{constructor(e,t,i,r,s,h,d){super(r);v(this,"setActiveSelection",this.setActiveRange);this._fWorkbook=e,this._workbook=t,this._worksheet=i,this._injector=r,this._selectionManagerService=s,this._logService=h,this._commandService=d}getSheet(){return this._worksheet}getInject(){return this._injector}getWorkbook(){return this._workbook}getSheetId(){return this._worksheet.getSheetId()}getSheetName(){return this._worksheet.getName()}getSelection(){const e=this._selectionManagerService.getCurrentSelections();return e?this._injector.createInstance(m.FSelection,this._workbook,this._worksheet,e):null}getDefaultStyle(){return this._worksheet.getDefaultCellStyle()}getRowDefaultStyle(e,t=!1){return this._worksheet.getRowStyle(e,t)}getColumnDefaultStyle(e,t=!1){return this._worksheet.getColumnStyle(e,t)}setDefaultStyle(e){const t=this._workbook.getUnitId(),i=this._worksheet.getSheetId();return this._commandService.syncExecuteCommand(a.SetWorksheetDefaultStyleMutation.id,{unitId:t,subUnitId:i,defaultStyle:e}),this._worksheet.setDefaultCellStyle(e),this}setColumnDefaultStyle(e,t){const i=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),s={unitId:i,subUnitId:r,columnData:{[e]:{s:t}}};return this._commandService.syncExecuteCommand(a.SetColDataCommand.id,s),this}setRowDefaultStyle(e,t){const i=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),s={unitId:i,subUnitId:r,rowData:{[e]:{s:t}}};return this._commandService.syncExecuteCommand(a.SetRowDataCommand.id,s),this}getRange(e,t,i,r){let s,h;if(typeof e=="object")s=e,h=this._worksheet;else if(typeof e=="string"){const{range:d,sheetName:u}=C.deserializeRangeWithSheet(e),l=u?this._workbook.getSheetBySheetName(u):this._worksheet;if(!l)throw new Error("Range not found");h=l,s={...d,unitId:this._workbook.getUnitId(),sheetId:h.getSheetId(),rangeType:o.RANGE_TYPE.NORMAL,startRow:d.rangeType===o.RANGE_TYPE.COLUMN?0:d.startRow,endRow:d.rangeType===o.RANGE_TYPE.COLUMN?h.getMaxRows()-1:d.endRow,startColumn:d.rangeType===o.RANGE_TYPE.ROW?0:d.startColumn,endColumn:d.rangeType===o.RANGE_TYPE.ROW?h.getMaxColumns()-1:d.endColumn}}else if(typeof e=="number"&&t!==void 0)h=this._worksheet,s={startRow:e,endRow:e+(i!=null?i:1)-1,startColumn:t,endColumn:t+(r!=null?r:1)-1,unitId:this._workbook.getUnitId(),sheetId:this._worksheet.getSheetId()};else throw new Error("Invalid range specification");return this._injector.createInstance(m.FRange,this._workbook,h,s)}getMaxColumns(){return this._worksheet.getMaxColumns()}getMaxRows(){return this._worksheet.getMaxRows()}insertRowAfter(e){return this.insertRowsAfter(e,1)}insertRowBefore(e){return this.insertRowsBefore(e,1)}insertRows(e,t=1){return this.insertRowsBefore(e,t)}insertRowsAfter(e,t){const i=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),s=o.Direction.DOWN,h=e+1,d=e+t,u=0,l=this._worksheet.getColumnCount()-1,g=a.copyRangeStyles(this._worksheet,h,d,u,l,!0,e);return this._commandService.syncExecuteCommand(a.InsertRowByRangeCommand.id,{unitId:i,subUnitId:r,direction:s,range:{startRow:h,endRow:d,startColumn:u,endColumn:l},cellValue:g}),this}insertRowsBefore(e,t){const i=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),s=o.Direction.UP,h=e,d=e+t-1,u=0,l=this._worksheet.getColumnCount()-1,g=a.copyRangeStyles(this._worksheet,h,d,u,l,!0,e-1);return this._commandService.syncExecuteCommand(a.InsertRowByRangeCommand.id,{unitId:i,subUnitId:r,direction:s,range:{startRow:h,endRow:d,startColumn:u,endColumn:l},cellValue:g}),this}deleteRow(e){return this.deleteRows(e,1)}deleteRows(e,t){const i={startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return this._commandService.syncExecuteCommand(a.RemoveRowByRangeCommand.id,{range:i,unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}moveRows(e,t){const i=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),s=E(e.getRange(),this._worksheet),h=s,d={startRow:t,endRow:t,startColumn:s.startColumn,endColumn:s.endColumn};return this._commandService.syncExecuteCommand(a.MoveRowsCommand.id,{unitId:i,subUnitId:r,range:s,fromRange:h,toRange:d}),this}hideRow(e){const t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),r=E(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(a.SetRowHiddenCommand.id,{unitId:t,subUnitId:i,ranges:[r]}),this}hideRows(e,t=1){const i=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),s={startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1,rangeType:o.RANGE_TYPE.ROW};return this._commandService.syncExecuteCommand(a.SetRowHiddenCommand.id,{unitId:i,subUnitId:r,ranges:[s]}),this}unhideRow(e){const t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),r=E(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(a.SetSpecificRowsVisibleCommand.id,{unitId:t,subUnitId:i,ranges:[r]}),this}showRows(e,t=1){const i=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),s={startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1,rangeType:o.RANGE_TYPE.ROW};return this._commandService.syncExecuteCommand(a.SetSpecificRowsVisibleCommand.id,{unitId:i,subUnitId:r,ranges:[s]}),this}setRowHeight(e,t){return this.setRowHeights(e,1,t)}autoFitRow(e,t=o.BooleanNumber.TRUE){const i=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),s=[{startRow:e,endRow:e,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(a.SetTextWrapCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:s[0],value:o.WrapStrategy.WRAP}),this._commandService.syncExecuteCommand(a.SetWorksheetRowIsAutoHeightMutation.id,{unitId:i,subUnitId:r,ranges:s,autoHeightInfo:t}),this}setRowHeights(e,t,i){var l;const r=this._workbook.getUnitId(),s=this._worksheet.getSheetId(),h=this._worksheet.getRowManager(),d=[],u=[];for(let g=e;g<e+t;g++){const k=((l=h.getRow(g))==null?void 0:l.ah)||this._worksheet.getConfig().defaultRowHeight,f={startRow:g,endRow:g,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};i<=k?d.push(f):u.push(f)}return u.length>0&&this._commandService.syncExecuteCommand(a.SetRowHeightCommand.id,{unitId:r,subUnitId:s,ranges:u,value:i}),d.length>0&&this._commandService.syncExecuteCommand(a.SetWorksheetRowIsAutoHeightCommand.id,{unitId:r,subUnitId:s,ranges:d}),this}setRowAutoHeight(e,t){const i=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),s=[{startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(a.SetWorksheetRowIsAutoHeightCommand.id,{unitId:i,subUnitId:r,ranges:s}),this}setRowHeightsForced(e,t,i){const r=this._workbook.getUnitId(),s=this._worksheet.getSheetId(),h=[{startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(a.SetRowHeightCommand.id,{unitId:r,subUnitId:s,ranges:h,value:i}),this}setRowCustom(e){const t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),r={};for(const[h,d]of Object.entries(e))r[Number(h)]={custom:d};const s={unitId:t,subUnitId:i,rowData:r};return this._commandService.syncExecuteCommand(a.SetRowDataCommand.id,s),this}insertColumnAfter(e){return this.insertColumnsAfter(e,1)}insertColumnBefore(e){return this.insertColumnsBefore(e,1)}insertColumns(e,t=1){return this.insertColumnsBefore(e,t)}insertColumnsAfter(e,t){const i=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),s=o.Direction.RIGHT,h=0,d=this._worksheet.getRowCount()-1,u=e+1,l=e+t,g=a.copyRangeStyles(this._worksheet,h,d,u,l,!1,e);return this._commandService.syncExecuteCommand(a.InsertColByRangeCommand.id,{unitId:i,subUnitId:r,direction:s,range:{startRow:h,endRow:d,startColumn:u,endColumn:l},cellValue:g}),this}insertColumnsBefore(e,t){const i=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),s=o.Direction.LEFT,h=0,d=this._worksheet.getRowCount()-1,u=e,l=e+t-1,g=a.copyRangeStyles(this._worksheet,h,d,u,l,!1,e-1);return this._commandService.syncExecuteCommand(a.InsertColByRangeCommand.id,{unitId:i,subUnitId:r,direction:s,range:{startRow:h,endRow:d,startColumn:u,endColumn:l},cellValue:g}),this}deleteColumn(e){return this.deleteColumns(e,1)}deleteColumns(e,t){const i={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:e,endColumn:e+t-1};return this._commandService.syncExecuteCommand(a.RemoveColByRangeCommand.id,{range:i,unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}moveColumns(e,t){const i=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),s=p(e.getRange(),this._worksheet),h=s,d={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:t,endColumn:t};return this._commandService.syncExecuteCommand(a.MoveColsCommand.id,{unitId:i,subUnitId:r,range:s,fromRange:h,toRange:d}),this}hideColumn(e){const t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),r=p(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(a.SetColHiddenCommand.id,{unitId:t,subUnitId:i,ranges:[r]}),this}hideColumns(e,t=1){const i=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),s={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:e,endColumn:e+t-1,rangeType:o.RANGE_TYPE.COLUMN};return this._commandService.syncExecuteCommand(a.SetColHiddenCommand.id,{unitId:i,subUnitId:r,ranges:[s]}),this}unhideColumn(e){const t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),r=p(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(a.SetSpecificColsVisibleCommand.id,{unitId:t,subUnitId:i,ranges:[r]}),this}showColumns(e,t=1){const i=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),s={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:e,endColumn:e+t-1,rangeType:o.RANGE_TYPE.COLUMN};return this._commandService.syncExecuteCommand(a.SetSpecificColsVisibleCommand.id,{unitId:i,subUnitId:r,ranges:[s]}),this}setColumnWidth(e,t){return this.setColumnWidths(e,1,t)}setColumnWidths(e,t,i){const r=this._workbook.getUnitId(),s=this._worksheet.getSheetId(),h=[{startColumn:e,endColumn:e+t-1,startRow:0,endRow:this._worksheet.getRowCount()-1}];return this._commandService.syncExecuteCommand(a.SetColWidthCommand.id,{unitId:r,subUnitId:s,ranges:h,value:i}),this}setColumnCustom(e){const t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),r={};for(const[h,d]of Object.entries(e))r[Number(h)]={custom:d};const s={unitId:t,subUnitId:i,columnData:r};return this._commandService.syncExecuteCommand(a.SetColDataCommand.id,s),this}getMergedRanges(){return this._worksheet.getSnapshot().mergeData.map(t=>this._injector.createInstance(m.FRange,this._workbook,this._worksheet,t))}getCellMergeData(e,t){const r=this._worksheet.getMergedCell(e,t);if(r)return this._injector.createInstance(m.FRange,this._workbook,this._worksheet,r)}getActiveRange(){return this._fWorkbook.getActiveRange()}setActiveRange(e){const{unitId:t,sheetId:i}=e.getRange();if(t!==this._workbook.getUnitId()||i!==this._worksheet.getSheetId())throw new Error("Specified range must be part of the sheet.");return this._fWorkbook.setActiveRange(e),this}setFreeze(e){return this._logService.warn("setFreeze is deprecated, use setFrozenRows and setFrozenColumns instead"),this._commandService.syncExecuteCommand(a.SetFrozenCommand.id,{...e,unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()}),this}cancelFreeze(){return this._commandService.syncExecuteCommand(a.CancelFrozenCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()}),this}getFreeze(){return this._worksheet.getFreeze()}setFrozenColumns(...e){const t=this.getFreeze();if(arguments.length===1){const i=e[0];this.setFreeze({...t,startColumn:i>0?i:-1,xSplit:i})}else if(arguments.length===2){let[i=0,r=0]=e;i>r&&([i,r]=[r,i]),this._commandService.syncExecuteCommand(a.SetFrozenCommand.id,{startColumn:r+1,xSplit:r-i+1,startRow:t.startRow,ySplit:t.ySplit,unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()})}return this}setFrozenRows(...e){const t=this.getFreeze();if(arguments.length===1){const i=e[0];this.setFreeze({...t,startRow:i>0?i:-1,ySplit:i})}else if(arguments.length===2){let[i=0,r=0]=e;i>r&&([i,r]=[r,i]),this._commandService.syncExecuteCommand(a.SetFrozenCommand.id,{startRow:r+1,ySplit:r-i+1,startColumn:t.startColumn,xSplit:t.xSplit,unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()})}return this}getFrozenColumns(){const e=this.getFreeze();return e.startColumn===-1?0:e.startColumn}getFrozenRows(){const e=this.getFreeze();return e.startRow===-1?0:e.startRow}getFrozenRowRange(){const e=this._worksheet.getFreeze();return{startRow:e.startRow-e.ySplit,endRow:e.startRow-1}}getFrozenColumnRange(){const e=this._worksheet.getFreeze();return{startColumn:e.startColumn-e.xSplit,endColumn:e.startColumn-1}}hasHiddenGridLines(){return this._worksheet.getConfig().showGridlines===o.BooleanNumber.FALSE}setHiddenGridlines(e){return this._commandService.syncExecuteCommand(a.ToggleGridlinesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),showGridlines:e?o.BooleanNumber.FALSE:o.BooleanNumber.TRUE}),this}setGridLinesColor(e){return this._commandService.syncExecuteCommand(a.SetGridlinesColorCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),color:e}),this}getGridLinesColor(){return this._worksheet.getGridlinesColor()}setTabColor(e){return this._commandService.syncExecuteCommand(a.SetTabColorCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),color:e}),this}getTabColor(){return this._worksheet.getTabColor()}onCellDataChange(e){return this._injector.get(o.ICommandService).onCommandExecuted(i=>{if(i.id===a.SetRangeValuesMutation.id){const r=i.params;r.unitId===this._workbook.getUnitId()&&r.subUnitId===this._worksheet.getSheetId()&&r.cellValue&&e(new o.ObjectMatrix(r.cellValue))}})}onBeforeCellDataChange(e){return this._injector.get(o.ICommandService).beforeCommandExecuted(i=>{if(i.id===a.SetRangeValuesMutation.id){const r=i.params;r.unitId===this._workbook.getUnitId()&&r.subUnitId===this._worksheet.getSheetId()&&r.cellValue&&e(new o.ObjectMatrix(r.cellValue))}})}hideSheet(){const e=this._injector.get(o.ICommandService);if(this._workbook.getSheets().filter(s=>s.isSheetHidden()!==o.BooleanNumber.TRUE).length<=1)throw new Error("Cannot hide the only visible sheet");return e.syncExecuteCommand(a.SetWorksheetHideCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}showSheet(){return this._injector.get(o.ICommandService).syncExecuteCommand(a.SetWorksheetShowCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}isSheetHidden(){return this._worksheet.isSheetHidden()===o.BooleanNumber.TRUE}setName(e){return this._commandService.syncExecuteCommand(a.SetWorksheetNameCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),name:e}),this}activate(){return this._fWorkbook.setActiveSheet(this),this}getIndex(){return this._workbook.getSheetIndex(this._worksheet)}clear(e){e&&e.contentsOnly&&!e.formatOnly&&this.clearContents(),e&&e.formatOnly&&!e.contentsOnly&&this.clearFormats();const t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),r=this._injector.get(o.ICommandService),s={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return r.syncExecuteCommand(a.ClearSelectionAllCommand.id,{unitId:t,subUnitId:i,ranges:[s],options:e}),this}clearContents(){const e=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),i=this._injector.get(o.ICommandService),r={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return i.syncExecuteCommand(a.ClearSelectionContentCommand.id,{unitId:e,subUnitId:t,ranges:[r]}),this}clearFormats(){const e=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),i=this._injector.get(o.ICommandService),r={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return i.syncExecuteCommand(a.ClearSelectionFormatCommand.id,{unitId:e,subUnitId:t,ranges:[r]}),this}getDataRange(){const e=this.getLastRows(),t=this.getLastColumns();return this.getRange(0,0,e+1,t+1)}getLastColumns(){return this._worksheet.getLastColumnWithContent()}getLastColumn(){return this._worksheet.getLastColumnWithContent()}getLastRows(){return this._worksheet.getLastRowWithContent()}getLastRow(){return this._worksheet.getLastRowWithContent()}equalTo(e){return e instanceof m.FWorksheet?this._worksheet.getSheetId()===e.getSheetId()&&this._workbook.getUnitId()===e.getWorkbook().getUnitId():!1}insertDefinedName(e,t){const r=this._injector.createInstance(I).setName(e).setRef(t).build();r.localSheetId=this.getSheetId(),this._fWorkbook.insertDefinedNameBuilder(r)}getDefinedNames(){return this._fWorkbook.getDefinedNames().filter(t=>t.getLocalSheetId()===this.getSheetId())}setCustomMetadata(e){return this._worksheet.setCustomMetadata(e),this}setRowCustomMetadata(e,t){return this._worksheet.getRowManager().setCustomMetadata(e,t),this}setColumnCustomMetadata(e,t){return this._worksheet.getColumnManager().setCustomMetadata(e,t),this}getRowCustomMetadata(e){return this._worksheet.getRowManager().getCustomMetadata(e)}getColumnCustomMetadata(e){return this._worksheet.getColumnManager().getCustomMetadata(e)}getMergeData(){return this._worksheet.getMergeData().map(e=>this._injector.createInstance(m.FRange,this._workbook,this._worksheet,e))}},m.FWorksheet=X([y(3,o.Inject(o.Injector)),y(4,o.Inject(a.SheetsSelectionsService)),y(5,o.Inject(o.ILogService)),y(6,o.ICommandService)],m.FWorksheet);var Z=Object.defineProperty,ee=Object.getOwnPropertyDescriptor,te=(c,n,e,t)=>{for(var i=t>1?void 0:t?ee(n,e):n,r=c.length-1,s;r>=0;r--)(s=c[r])&&(i=(t?s(n,e,i):s(i))||i);return t&&i&&Z(n,e,i),i},S=(c,n)=>(e,t)=>n(e,t,c);m.FWorkbook=class extends o.FBaseInitialable{constructor(e,t,i,r,s,h,d,u,l,g){super(t);v(this,"id");this._workbook=e,this._injector=t,this._resourceLoaderService=i,this._selectionManagerService=r,this._univerInstanceService=s,this._commandService=h,this._permissionService=d,this._logService=u,this._localeService=l,this._definedNamesService=g,this.id=this._workbook.getUnitId()}getWorkbook(){return this._workbook}getId(){return this.id}getName(){return this._workbook.name}setName(e){this._workbook.setName(e)}save(){return this._resourceLoaderService.saveUnit(this._workbook.getUnitId())}getSnapshot(){return this._logService.warn("use 'save' instead of 'getSnapshot'"),this.save()}getActiveSheet(){const e=this._workbook.getActiveSheet();return this._injector.createInstance(m.FWorksheet,this,this._workbook,e)}getSheets(){return this._workbook.getSheets().map(e=>this._injector.createInstance(m.FWorksheet,this,this._workbook,e))}create(e,t,i){const r=o.mergeWorksheetSnapshotWithDefault({});r.rowCount=t,r.columnCount=i,r.name=e,r.id=e.toLowerCase().replace(/ /g,"-"),this._commandService.syncExecuteCommand(a.InsertSheetCommand.id,{unitId:this.id,index:this._workbook.getSheets().length,sheet:r}),this._commandService.syncExecuteCommand(a.SetWorksheetActiveOperation.id,{unitId:this.id,subUnitId:this._workbook.getSheets()[this._workbook.getSheets().length-1].getSheetId()});const s=this._workbook.getActiveSheet();if(!s)throw new Error("No active sheet found");return this._injector.createInstance(m.FWorksheet,this,this._workbook,s)}getSheetBySheetId(e){const t=this._workbook.getSheetBySheetId(e);return t?this._injector.createInstance(m.FWorksheet,this,this._workbook,t):null}getSheetByName(e){const t=this._workbook.getSheetBySheetName(e);return t?this._injector.createInstance(m.FWorksheet,this,this._workbook,t):null}setActiveSheet(e){return this._commandService.syncExecuteCommand(a.SetWorksheetActiveOperation.id,{unitId:this.id,subUnitId:typeof e=="string"?e:e.getSheetId()}),typeof e=="string"?this.getSheetBySheetId(e):e}insertSheet(e){e!=null?this._commandService.syncExecuteCommand(a.InsertSheetCommand.id,{sheet:{name:e}}):this._commandService.syncExecuteCommand(a.InsertSheetCommand.id);const t=this.id,i=this._workbook.getSheets()[this._workbook.getSheets().length-1].getSheetId();this._commandService.syncExecuteCommand(a.SetWorksheetActiveOperation.id,{unitId:t,subUnitId:i});const r=this._workbook.getActiveSheet();if(!r)throw new Error("No active sheet found");return this._injector.createInstance(m.FWorksheet,this,this._workbook,r)}deleteSheet(e){const t=this.id,i=typeof e=="string"?e:e.getSheetId();return this._commandService.syncExecuteCommand(a.RemoveSheetCommand.id,{unitId:t,subUnitId:i})}undo(){return this._univerInstanceService.focusUnit(this.id),this._commandService.syncExecuteCommand(o.UndoCommand.id),this}redo(){return this._univerInstanceService.focusUnit(this.id),this._commandService.syncExecuteCommand(o.RedoCommand.id),this}onBeforeCommandExecute(e){return this._commandService.beforeCommandExecuted(t=>{var i;((i=t.params)==null?void 0:i.unitId)===this.id&&e(t)})}onCommandExecuted(e){return this._commandService.onCommandExecuted(t=>{var i;((i=t.params)==null?void 0:i.unitId)===this.id&&e(t)})}onSelectionChange(e){return o.toDisposable(this._selectionManagerService.selectionMoveEnd$.subscribe(t=>{this._univerInstanceService.getCurrentUnitForType(o.UniverInstanceType.UNIVER_SHEET).getUnitId()===this.id&&(t!=null&&t.length?e(t.map(i=>i.range)):e([]))}))}setEditable(e){const t=new a.WorkbookEditablePermission(this._workbook.getUnitId());return this._permissionService.getPermissionPoint(t.id)||this._permissionService.addPermissionPoint(t),this._permissionService.updatePermissionPoint(t.id,e),this}setActiveRange(e){const t=this.getActiveSheet(),i=e.getRange().sheetId||t.getSheetId(),r=i?this._workbook.getSheetBySheetId(i):this._workbook.getActiveSheet(!0);if(!r)throw new Error("No active sheet found");r.getSheetId()!==t.getSheetId()&&this.setActiveSheet(this._injector.createInstance(m.FWorksheet,this,this._workbook,r));const s={unitId:this.getId(),subUnitId:i,selections:[e].map(h=>({range:h.getRange(),primary:a.getPrimaryForRange(h.getRange(),r),style:null}))};return this._commandService.syncExecuteCommand(a.SetSelectionsOperation.id,s),this}getActiveRange(){const e=this._workbook.getActiveSheet(),i=this._selectionManagerService.getCurrentSelections().find(r=>!!r.primary);return i?this._injector.createInstance(m.FRange,this._workbook,e,i.range):null}deleteActiveSheet(){const e=this.getActiveSheet();return this.deleteSheet(e)}duplicateSheet(e){return this._commandService.syncExecuteCommand(a.CopySheetCommand.id,{unitId:e.getWorkbook().getUnitId(),subUnitId:e.getSheetId()}),this._injector.createInstance(m.FWorksheet,this,this._workbook,this._workbook.getActiveSheet())}duplicateActiveSheet(){const e=this.getActiveSheet();return this.duplicateSheet(e)}getNumSheets(){return this._workbook.getSheets().length}getLocale(){return this._localeService.getCurrentLocale()}setLocale(e){this._localeService.setLocale(e)}setSpreadsheetLocale(e){return this._localeService.setLocale(e),this}getUrl(){return location.href}moveSheet(e,t){let i=t;return i<0?i=0:i>this._workbook.getSheets().length-1&&(i=this._workbook.getSheets().length-1),this._commandService.syncExecuteCommand(a.SetWorksheetOrderCommand.id,{unitId:e.getWorkbook().getUnitId(),order:i,subUnitId:e.getSheetId()}),this}moveActiveSheet(e){const t=this.getActiveSheet();return this.moveSheet(t,e)}getPermission(){return this._injector.createInstance(m.FPermission)}getDefinedName(e){const t=this._definedNamesService.getValueByName(this.id,e);return t?this._injector.createInstance(R,{...t,unitId:this.id}):null}getDefinedNames(){const e=this._definedNamesService.getDefinedNameMap(this.id);return e?Object.values(e).map(t=>this._injector.createInstance(R,{...t,unitId:this.id})):[]}insertDefinedName(e,t){const r=this._injector.createInstance(I).setName(e).setRef(t).build();return r.localSheetId=a.SCOPE_WORKBOOK_VALUE_DEFINED_NAME,this.insertDefinedNameBuilder(r),this}deleteDefinedName(e){const t=this.getDefinedName(e);return t?(t.delete(),!0):!1}insertDefinedNameBuilder(e){e.unitId=this.getId(),this._commandService.syncExecuteCommand(a.SetDefinedNameCommand.id,e)}updateDefinedNameBuilder(e){this._commandService.syncExecuteCommand(a.SetDefinedNameCommand.id,e)}getRegisteredRangeThemes(){return this._injector.get(a.SheetRangeThemeService).getRegisteredRangeThemes()}registerRangeTheme(e){this._commandService.syncExecuteCommand(a.RegisterWorksheetRangeThemeStyleCommand.id,{unitId:this.getId(),rangeThemeStyle:e})}unregisterRangeTheme(e){this._commandService.syncExecuteCommand(a.UnregisterWorksheetRangeThemeStyleCommand.id,{unitId:this.getId(),themeName:e})}setCustomMetadata(e){return this._workbook.setCustomMetadata(e),this}getCustomMetadata(){return this._workbook.getCustomMetadata()}},m.FWorkbook=te([S(1,o.Inject(o.Injector)),S(2,o.Inject(o.IResourceLoaderService)),S(3,o.Inject(a.SheetsSelectionsService)),S(4,o.IUniverInstanceService),S(5,o.ICommandService),S(6,o.IPermissionService),S(7,o.ILogService),S(8,o.Inject(o.LocaleService)),S(9,C.IDefinedNamesService)],m.FWorkbook);class ne extends o.FUniver{getCommandSheetTarget(n){var r;const e=n.params;if(!e)return;const t=e.unitId?this.getUniverSheet(e.unitId):(r=this.getActiveWorkbook)==null?void 0:r.call(this);if(!t)return;const i=t.getSheetBySheetId(e.subUnitId||e.sheetId)||t.getActiveSheet();if(i)return{workbook:t,worksheet:i}}getSheetTarget(n,e){const t=this.getUniverSheet(n);if(!t)return;const i=t.getSheetBySheetId(e);if(i)return{workbook:t,worksheet:i}}_initWorkbookEvent(n){const e=n.get(o.IUniverInstanceService);this.disposeWithMe(e.unitDisposed$.subscribe(t=>{this._eventRegistry.get(this.Event.WorkbookDisposed)&&t.type===o.UniverInstanceType.UNIVER_SHEET&&this.fireEvent(this.Event.WorkbookDisposed,{unitId:t.getUnitId(),unitType:t.type,snapshot:t.getSnapshot()})})),this.disposeWithMe(e.unitAdded$.subscribe(t=>{if(this._eventRegistry.get(this.Event.WorkbookCreated)&&t.type===o.UniverInstanceType.UNIVER_SHEET){const i=t,r=n.createInstance(m.FWorkbook,i);this.fireEvent(this.Event.WorkbookCreated,{unitId:t.getUnitId(),type:t.type,workbook:r,unit:r})}}))}_initialize(n){const e=n.get(o.ICommandService);this.disposeWithMe(e.beforeCommandExecuted(t=>{var i,r,s,h;switch(t.id){case a.InsertSheetCommand.id:{const d=t.params,{unitId:u,index:l,sheet:g}=d||{},k=u?this.getUniverSheet(u):(i=this.getActiveWorkbook)==null?void 0:i.call(this);if(!k)return;const f={workbook:k,index:l,sheet:g};if(this.fireEvent(this.Event.BeforeSheetCreate,f),f.cancel)throw new o.CanceledError;break}case a.SetWorksheetActivateCommand.id:{if(!this._eventListend(this.Event.BeforeActiveSheetChange))return;const{subUnitId:d,unitId:u}=t.params,l=u?this.getUniverSheet(u):(r=this.getActiveWorkbook)==null?void 0:r.call(this);if(!l||!d)return;const g=l.getSheetBySheetId(d),k=l.getActiveSheet();if(!g||!k)return;this._fireBeforeActiveSheetChange(l,g,k);break}case a.RemoveSheetCommand.id:{if(!this._eventListend(this.Event.BeforeSheetDelete))return;const d=this.getCommandSheetTarget(t);if(!d)return;const{workbook:u,worksheet:l}=d;this._fireBeforeSheetDelete(u,l);break}case a.SetWorksheetOrderCommand.id:{if(!this._eventListend(this.Event.BeforeSheetMove))return;const{fromOrder:d,toOrder:u}=t.params,l=this.getCommandSheetTarget(t);if(!l)return;this._fireBeforeSheetMove(l.workbook,l.worksheet,u,d);break}case a.SetWorksheetNameCommand.id:{if(!this._eventListend(this.Event.BeforeSheetNameChange))return;const{name:d}=t.params,u=this.getCommandSheetTarget(t);if(!u)return;this._fireBeforeSheetNameChange(u.workbook,u.worksheet,d,u.worksheet.getSheetName());break}case a.SetTabColorCommand.id:{if(!this._eventListend(this.Event.BeforeSheetTabColorChange))return;const{color:d}=t.params,u=this.getCommandSheetTarget(t);if(!u)return;this._fireBeforeSheetTabColorChange(u.workbook,u.worksheet,d,u.worksheet.getTabColor());break}case a.SetWorksheetHideCommand.id:{if(!this._eventListend(this.Event.BeforeSheetHideChange))return;const{hidden:d}=t.params,u=this.getCommandSheetTarget(t);if(!u)return;this._fireBeforeSheetHideChange(u.workbook,u.worksheet,!!d);break}case a.SetGridlinesColorCommand.id:{if(!this._eventListend(this.Event.BeforeGridlineColorChange))return;const d=this.getCommandSheetTarget(t);if(!d)return;this.fireEvent(this.Event.BeforeGridlineColorChange,{...d,color:(s=t.params)==null?void 0:s.color});break}case a.ToggleGridlinesCommand.id:{if(!this._eventListend(this.Event.BeforeGridlineEnableChange))return;const d=this.getCommandSheetTarget(t);if(!d)return;this.fireEvent(this.Event.BeforeGridlineEnableChange,{...d,enabled:!!((h=t.params)!=null&&h.showGridlines)});break}}})),this.disposeWithMe(e.onCommandExecuted(t=>{var i,r;if(a.COMMAND_LISTENER_VALUE_CHANGE.indexOf(t.id)>-1){if(!this._eventListend(this.Event.SheetValueChanged)||!this.getActiveSheet())return;const h=a.getValueChangedEffectedRange(t).map(d=>{var u,l;return(l=(u=this.getWorkbook(d.unitId))==null?void 0:u.getSheetBySheetId(d.subUnitId))==null?void 0:l.getRange(d.range)}).filter(Boolean);if(!h.length)return;this.fireEvent(this.Event.SheetValueChanged,{payload:t,effectedRanges:h});return}switch(t.id){case a.InsertSheetCommand.id:{const s=t.params,{unitId:h}=s||{},d=h?this.getUniverSheet(h):(i=this.getActiveWorkbook)==null?void 0:i.call(this);if(!d)return;const u=d.getActiveSheet();if(!u)return;const l={workbook:d,worksheet:u};this.fireEvent(this.Event.SheetCreated,l);break}case a.SetWorksheetActivateCommand.id:{if(!this._eventListend(this.Event.ActiveSheetChanged))return;const s=this.getActiveSheet();if(!s)return;const{workbook:h,worksheet:d}=s;this._fireActiveSheetChanged(h,d);break}case a.RemoveSheetCommand.id:{if(!this._eventListend(this.Event.SheetDeleted))return;const{subUnitId:s,unitId:h}=t.params,d=h?this.getUniverSheet(h):(r=this.getActiveWorkbook)==null?void 0:r.call(this);if(!d||!s)return;this._fireSheetDeleted(d,s);break}case a.SetWorksheetOrderCommand.id:{if(!this._eventListend(this.Event.SheetMoved))return;const{toOrder:s}=t.params,h=this.getCommandSheetTarget(t);if(!h)return;this._fireSheetMoved(h.workbook,h.worksheet,s);break}case a.SetWorksheetNameCommand.id:{if(!this._eventListend(this.Event.SheetNameChanged))return;const{name:s}=t.params,h=this.getCommandSheetTarget(t);if(!h)return;this._fireSheetNameChanged(h.workbook,h.worksheet,s);break}case a.SetTabColorCommand.id:{if(!this._eventListend(this.Event.SheetTabColorChanged))return;const{color:s}=t.params,h=this.getCommandSheetTarget(t);if(!h)return;this._fireSheetTabColorChanged(h.workbook,h.worksheet,s);break}case a.SetWorksheetHideCommand.id:{if(!this._eventListend(this.Event.SheetHideChanged))return;const{hidden:s}=t.params,h=this.getCommandSheetTarget(t);if(!h)return;this._fireSheetHideChanged(h.workbook,h.worksheet,!!s);break}case a.SetGridlinesColorCommand.id:case a.ToggleGridlinesCommand.id:{if(!this._eventListend(this.Event.GridlineChanged))return;const s=this.getCommandSheetTarget(t);if(!s)return;this.fireEvent(this.Event.GridlineChanged,{...s,enabled:!s.worksheet.hasHiddenGridLines(),color:s.worksheet.getGridLinesColor()});break}}})),this._initWorkbookEvent(n)}createUniverSheet(n){const t=this._injector.get(o.IUniverInstanceService).createUnit(o.UniverInstanceType.UNIVER_SHEET,n);return this._injector.createInstance(m.FWorkbook,t)}createWorkbook(n){return this.createUniverSheet(n)}getActiveWorkbook(){const n=this._univerInstanceService.getCurrentUnitForType(o.UniverInstanceType.UNIVER_SHEET);return n?this._injector.createInstance(m.FWorkbook,n):null}getActiveUniverSheet(){return this.getActiveWorkbook()}getUniverSheet(n){const e=this._univerInstanceService.getUnit(n,o.UniverInstanceType.UNIVER_SHEET);return e?this._injector.createInstance(m.FWorkbook,e):null}getWorkbook(n){return this.getUniverSheet(n)}getPermission(){return this._injector.createInstance(m.FPermission)}onUniverSheetCreated(n){const e=this._univerInstanceService.getTypeOfUnitAdded$(o.UniverInstanceType.UNIVER_SHEET).subscribe(t=>{const i=this._injector.createInstance(m.FWorkbook,t);n(i)});return o.toDisposable(e)}newDefinedName(){return this._injector.createInstance(I)}getActiveSheet(){const n=this.getActiveWorkbook();if(!n)return null;const e=n.getActiveSheet();return e?{workbook:n,worksheet:e}:null}_fireBeforeActiveSheetChange(n,e,t){this.fireEvent(this.Event.BeforeActiveSheetChange,{workbook:n,activeSheet:e,oldActiveSheet:t})}_fireActiveSheetChanged(n,e){this.fireEvent(this.Event.ActiveSheetChanged,{workbook:n,activeSheet:e})}_fireBeforeSheetDelete(n,e){this.fireEvent(this.Event.BeforeSheetDelete,{workbook:n,worksheet:e})}_fireSheetDeleted(n,e){this.fireEvent(this.Event.SheetDeleted,{workbook:n,sheetId:e})}_fireBeforeSheetMove(n,e,t,i){this.fireEvent(this.Event.BeforeSheetMove,{workbook:n,worksheet:e,newIndex:t,oldIndex:i})}_fireSheetMoved(n,e,t){this.fireEvent(this.Event.SheetMoved,{workbook:n,worksheet:e,newIndex:t})}_fireBeforeSheetNameChange(n,e,t,i){this.fireEvent(this.Event.BeforeSheetNameChange,{workbook:n,worksheet:e,newName:t,oldName:i})}_fireSheetNameChanged(n,e,t){this.fireEvent(this.Event.SheetNameChanged,{workbook:n,worksheet:e,newName:t})}_fireBeforeSheetTabColorChange(n,e,t,i){this.fireEvent(this.Event.BeforeSheetTabColorChange,{workbook:n,worksheet:e,newColor:t,oldColor:i})}_fireSheetTabColorChanged(n,e,t){this.fireEvent(this.Event.SheetTabColorChanged,{workbook:n,worksheet:e,newColor:t})}_fireBeforeSheetHideChange(n,e,t){this.fireEvent(this.Event.BeforeSheetHideChange,{workbook:n,worksheet:e,hidden:t})}_fireSheetHideChanged(n,e,t){this.fireEvent(this.Event.SheetHideChanged,{workbook:n,worksheet:e,hidden:t})}}o.FUniver.extend(ne);class N{get SheetValueChangeType(){return a.SheetValueChangeType}get SheetSkeletonChangeType(){return a.SheetSkeletonChangeType}}o.FEnum.extend(N);class T extends o.FEventName{get SheetCreated(){return"SheetCreated"}get BeforeSheetCreate(){return"BeforeSheetCreate"}get WorkbookCreated(){return"WorkbookCreated"}get WorkbookDisposed(){return"WorkbookDisposed"}get GridlineChanged(){return"GridlineChanged"}get BeforeGridlineEnableChange(){return"BeforeGridlineEnableChange"}get BeforeGridlineColorChange(){return"BeforeGridlineColorChange"}get BeforeActiveSheetChange(){return"BeforeActiveSheetChange"}get ActiveSheetChanged(){return"ActiveSheetChanged"}get SheetDeleted(){return"SheetDeleted"}get BeforeSheetDelete(){return"BeforeSheetDelete"}get SheetMoved(){return"SheetMoved"}get BeforeSheetMove(){return"BeforeSheetMove"}get SheetNameChanged(){return"SheetNameChanged"}get BeforeSheetNameChange(){return"BeforeSheetNameChange"}get SheetTabColorChanged(){return"SheetTabColorChanged"}get BeforeSheetTabColorChange(){return"BeforeSheetTabColorChange"}get SheetHideChanged(){return"SheetHideChanged"}get BeforeSheetHideChange(){return"BeforeSheetHideChange"}get SheetValueChanged(){return"SheetValueChanged"}}o.FEventName.extend(T);var ie=Object.defineProperty,re=Object.getOwnPropertyDescriptor,oe=(c,n,e,t)=>{for(var i=t>1?void 0:t?re(n,e):n,r=c.length-1,s;r>=0;r--)(s=c[r])&&(i=(t?s(n,e,i):s(i))||i);return t&&i&&ie(n,e,i),i},se=(c,n)=>(e,t)=>n(e,t,c);m.FSheetHooks=class extends o.FBase{constructor(n){super(),this._injector=n}},m.FSheetHooks=oe([se(0,o.Inject(o.Injector))],m.FSheetHooks),m.FSheetEventName=T,m.FSheetsEnum=N,Object.defineProperty(m,Symbol.toStringTag,{value:"Module"})});
1
+ (function(m,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("@univerjs/core"),require("@univerjs/sheets"),require("@univerjs/engine-formula")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/sheets","@univerjs/engine-formula"],o):(m=typeof globalThis<"u"?globalThis:m||self,o(m.UniverSheetsFacade={},m.UniverCore,m.UniverSheets,m.UniverEngineFormula))})(this,function(m,o,a,C){"use strict";var ae=Object.defineProperty;var he=(m,o,a)=>o in m?ae(m,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):m[o]=a;var v=(m,o,a)=>he(m,typeof o!="symbol"?o+"":o,a);var W=Object.defineProperty,A=Object.getOwnPropertyDescriptor,F=(c,n,e,t)=>{for(var i=t>1?void 0:t?A(n,e):n,r=c.length-1,s;r>=0;r--)(s=c[r])&&(i=(t?s(n,e,i):s(i))||i);return t&&i&&W(n,e,i),i},_=(c,n)=>(e,t)=>n(e,t,c);function M(c,n,e){const t=e.getDefinedNameMap(c);if(t==null)return n.t("definedName.defaultName")+1;const r=Array.from(Object.values(t)).length+1,s=n.t("definedName.defaultName")+r;if(e.getValueByName(c,s)==null)return s;let h=r+1;for(;;){const d=n.t("definedName.defaultName")+h;if(e.getValueByName(c,d)==null)return d;h++}}class I{constructor(){v(this,"_definedNameParam");this._definedNameParam={id:o.generateRandomId(10),unitId:"",name:"",formulaOrRefString:""}}setName(n){return this._definedNameParam.name=n,this}setFormula(n){return this._definedNameParam.formulaOrRefString=`=${n}`,this}setRef(n){return this._definedNameParam.formulaOrRefString=n,this}setRefByRange(n,e,t,i){return this._definedNameParam.formulaOrRefString=C.serializeRange({startRow:n,endRow:n+(t!=null?t:1)-1,startColumn:e,endColumn:e+(i!=null?i:1)-1}),this}setComment(n){return this._definedNameParam.comment=n,this}setHidden(n){return this._definedNameParam.hidden=n,this}build(){return this._definedNameParam}load(n){return this._definedNameParam=n,this}}let R=class extends o.FBase{constructor(c,n,e,t,i,r,s,h,d,u){super(),this._definedNameParam=c,this._injector=n,this._commandService=e,this._permissionService=t,this._worksheetProtectionRuleModel=i,this._rangeProtectionRuleModel=r,this._worksheetProtectionPointRuleModel=s,this._authzIoService=h,this._localeService=d,this._definedNamesService=u}_apply(){this._definedNameParam.name===""&&(this._definedNameParam.name=M(this._definedNameParam.unitId,this._localeService,this._definedNamesService)),this._commandService.syncExecuteCommand(a.SetDefinedNameCommand.id,this._definedNameParam)}getName(){return this._definedNameParam.name}setName(c){this._definedNameParam.name=c,this._apply()}setFormula(c){this._definedNameParam.formulaOrRefString=`=${c}`,this._apply()}setRef(c){this._definedNameParam.formulaOrRefString=c,this._apply()}getFormulaOrRefString(){return this._definedNameParam.formulaOrRefString}setRefByRange(c,n,e,t){this._definedNameParam.formulaOrRefString=C.serializeRange({startRow:c,endRow:c+(e!=null?e:1)-1,startColumn:n,endColumn:n+(t!=null?t:1)-1}),this._apply()}getComment(){return this._definedNameParam.comment}setComment(c){this._definedNameParam.comment=c,this._apply()}setScopeToWorksheet(c){this._definedNameParam.localSheetId=c.getSheetId(),this._apply()}setScopeToWorkbook(){this._definedNameParam.localSheetId=a.SCOPE_WORKBOOK_VALUE_DEFINED_NAME,this._apply()}setHidden(c){this._definedNameParam.hidden=c,this._apply()}delete(){this._commandService.syncExecuteCommand(a.RemoveDefinedNameCommand.id,this._definedNameParam)}getLocalSheetId(){return this._definedNameParam.localSheetId}isWorkbookScope(){return this._definedNameParam.localSheetId===a.SCOPE_WORKBOOK_VALUE_DEFINED_NAME}toBuilder(){const c=this._injector.createInstance(I);return c.load(this._definedNameParam),c}};R=F([_(1,o.Inject(o.Injector)),_(2,o.ICommandService),_(3,o.IPermissionService),_(4,o.Inject(a.WorksheetProtectionRuleModel)),_(5,o.Inject(a.RangeProtectionRuleModel)),_(6,o.Inject(a.WorksheetProtectionPointModel)),_(7,o.Inject(o.IAuthzIoService)),_(8,o.Inject(o.LocaleService)),_(9,C.IDefinedNamesService)],R);var B=Object.defineProperty,D=Object.getOwnPropertyDescriptor,j=(c,n,e,t)=>{for(var i=t>1?void 0:t?D(n,e):n,r=c.length-1,s;r>=0;r--)(s=c[r])&&(i=(t?s(n,e,i):s(i))||i);return t&&i&&B(n,e,i),i},w=(c,n)=>(e,t)=>n(e,t,c);m.FPermission=class extends o.FBase{constructor(e,t,i,r,s,h,d){super();v(this,"permissionPointsDefinition",a.PermissionPointsDefinitions);v(this,"rangeRuleChangedAfterAuth$");v(this,"sheetRuleChangedAfterAuth$");this._injector=e,this._commandService=t,this._permissionService=i,this._worksheetProtectionRuleModel=r,this._rangeProtectionRuleModel=s,this._worksheetProtectionPointRuleModel=h,this._authzIoService=d,this.rangeRuleChangedAfterAuth$=this._rangeProtectionRuleModel.ruleRefresh$,this.sheetRuleChangedAfterAuth$=this._worksheetProtectionRuleModel.ruleRefresh$}setWorkbookPermissionPoint(e,t,i){const r=new t(e);this._permissionService.getPermissionPoint(r.id)||this._permissionService.addPermissionPoint(r),this._permissionService.updatePermissionPoint(r.id,i)}setWorkbookEditPermission(e,t){this.setWorkbookPermissionPoint(e,a.WorkbookEditablePermission,t)}async addWorksheetBasePermission(e,t){if(this._rangeProtectionRuleModel.getSubunitRuleList(e,t).length>0)throw new Error("sheet protection cannot intersect with range protection");const r=await this._authzIoService.create({objectType:a.UnitObject.Worksheet,worksheetObject:{collaborators:[],unitID:e,strategies:[],name:"",scope:void 0}});if(this._commandService.syncExecuteCommand(a.AddWorksheetProtectionMutation.id,{unitId:e,subUnitId:t,rule:{permissionId:r,unitType:a.UnitObject.Worksheet,unitId:e,subUnitId:t}}))return r}removeWorksheetPermission(e,t){this._commandService.syncExecuteCommand(a.DeleteWorksheetProtectionMutation.id,{unitId:e,subUnitId:t}),[...a.getAllWorksheetPermissionPoint(),...a.getAllWorksheetPermissionPointByPointPanel()].forEach(i=>{const r=new i(e,t);this._permissionService.updatePermissionPoint(r.id,!0)}),this._worksheetProtectionPointRuleModel.deleteRule(e,t)}async setWorksheetPermissionPoint(e,t,i,r){const s=this._worksheetProtectionRuleModel.getRule(e,t);let h;if(i===a.WorksheetEditPermission||i===a.WorksheetViewPermission)if(s)h=s.permissionId;else{if(this._rangeProtectionRuleModel.getSubunitRuleList(e,t).length>0)throw new Error("sheet protection cannot intersect with range protection");h=await this.addWorksheetBasePermission(e,t)}else{const g=this._worksheetProtectionPointRuleModel.getRule(e,t);g?h=g.permissionId:(h=await this._authzIoService.create({objectType:a.UnitObject.Worksheet,worksheetObject:{collaborators:[],unitID:e,strategies:[],name:"",scope:void 0}}),this._commandService.syncExecuteCommand(a.SetWorksheetPermissionPointsMutation.id,{unitId:e,subUnitId:t,rule:{unitId:e,subUnitId:t,permissionId:h}}))}const u=new i(e,t);return this._permissionService.getPermissionPoint(u.id)||this._permissionService.addPermissionPoint(u),this._permissionService.updatePermissionPoint(u.id,r),h}async addRangeBaseProtection(e,t,i){const r=await this._authzIoService.create({objectType:a.UnitObject.SelectRange,selectRangeObject:{collaborators:[],unitID:e,name:"",scope:void 0}}),s=`ruleId_${o.generateRandomId(6)}`;if(this._worksheetProtectionRuleModel.getRule(e,t))throw new Error("sheet protection cannot intersect with range protection");if(this._rangeProtectionRuleModel.getSubunitRuleList(e,t).some(g=>g.ranges.some(k=>i.some(f=>o.Rectangle.intersects(f.getRange(),k)))))throw new Error("range protection cannot intersect");if(this._commandService.syncExecuteCommand(a.AddRangeProtectionMutation.id,{unitId:e,subUnitId:t,rules:[{permissionId:r,unitType:a.UnitObject.SelectRange,unitId:e,subUnitId:t,ranges:i.map(g=>g.getRange()),id:s}]}))return{permissionId:r,ruleId:s}}removeRangeProtection(e,t,i){this._commandService.syncExecuteCommand(a.DeleteRangeProtectionMutation.id,{unitId:e,subUnitId:t,ruleIds:i})&&this._rangeProtectionRuleModel.getSubunitRuleList(e,t).length===0&&(this._worksheetProtectionPointRuleModel.deleteRule(e,t),[...a.getAllWorksheetPermissionPointByPointPanel()].forEach(h=>{const d=new h(e,t);this._permissionService.updatePermissionPoint(d.id,d.value)}))}setRangeProtectionPermissionPoint(e,t,i,r,s){const h=new r(e,t,i);this._permissionService.getPermissionPoint(h.id)||this._permissionService.addPermissionPoint(h),this._permissionService.updatePermissionPoint(h.id,s)}setRangeProtectionRanges(e,t,i,r){const s=this._rangeProtectionRuleModel.getRule(e,t,i);if(s){if(this._rangeProtectionRuleModel.getSubunitRuleList(e,t).filter(u=>u.id!==i).some(u=>u.ranges.some(l=>r.some(g=>o.Rectangle.intersects(g.getRange(),l)))))throw new Error("range protection cannot intersect");this._commandService.syncExecuteCommand(a.SetRangeProtectionMutation.id,{unitId:e,subUnitId:t,ruleId:i,rule:{...s,ranges:r.map(u=>u.getRange())}})}}},m.FPermission=j([w(0,o.Inject(o.Injector)),w(1,o.ICommandService),w(2,o.IPermissionService),w(3,o.Inject(a.WorksheetProtectionRuleModel)),w(4,o.Inject(a.RangeProtectionRuleModel)),w(5,o.Inject(a.WorksheetProtectionPointModel)),w(6,o.Inject(o.IAuthzIoService))],m.FPermission);function x(c){switch(c){case"left":return o.HorizontalAlign.LEFT;case"center":return o.HorizontalAlign.CENTER;case"normal":return o.HorizontalAlign.RIGHT;default:throw new Error(`Invalid horizontal alignment: ${c}`)}}function O(c){switch(c){case o.HorizontalAlign.LEFT:return"left";case o.HorizontalAlign.CENTER:return"center";case o.HorizontalAlign.RIGHT:return"normal";default:throw new Error(`Invalid horizontal alignment: ${c}`)}}function V(c){switch(c){case"top":return o.VerticalAlign.TOP;case"middle":return o.VerticalAlign.MIDDLE;case"bottom":return o.VerticalAlign.BOTTOM;default:throw new Error(`Invalid vertical alignment: ${c}`)}}function L(c){switch(c){case o.VerticalAlign.TOP:return"top";case o.VerticalAlign.MIDDLE:return"middle";case o.VerticalAlign.BOTTOM:return"bottom";default:throw new Error(`Invalid vertical alignment: ${c}`)}}function b(c){return o.isFormulaString(c)?{f:c,v:null,p:null}:o.isCellV(c)?{v:c,p:null,f:null}:(o.isICellData(c),c)}function P(c,n){const e=new o.ObjectMatrix,{startRow:t,startColumn:i,endRow:r,endColumn:s}=n;if(o.Tools.isArray(c))for(let h=0;h<=r-t;h++)for(let d=0;d<=s-i;d++)e.setValue(h+t,d+i,b(c[h][d]));else new o.ObjectMatrix(c).forValue((d,u,l)=>{e.setValue(d,u,b(l))});return e.getMatrix()}function E(c,n){return{startRow:c.startRow,endRow:c.endRow,startColumn:0,endColumn:n.getColumnCount()-1,rangeType:o.RANGE_TYPE.ROW}}function p(c,n){return{startRow:0,endRow:n.getRowCount()-1,startColumn:c.startColumn,endColumn:c.endColumn,rangeType:o.RANGE_TYPE.COLUMN}}var H=Object.defineProperty,z=Object.getOwnPropertyDescriptor,G=(c,n,e,t)=>{for(var i=t>1?void 0:t?z(n,e):n,r=c.length-1,s;r>=0;r--)(s=c[r])&&(i=(t?s(n,e,i):s(i))||i);return t&&i&&H(n,e,i),i},U=(c,n)=>(e,t)=>n(e,t,c);m.FRange=class extends o.FBaseInitialable{constructor(n,e,t,i,r,s){super(i),this._workbook=n,this._worksheet=e,this._range=t,this._injector=i,this._commandService=r,this._formulaDataModel=s}getUnitId(){return this._workbook.getUnitId()}getSheetName(){return this._worksheet.getName()}getSheetId(){return this._worksheet.getSheetId()}getRange(){return this._range}getRow(){return this._range.startRow}getColumn(){return this._range.startColumn}getWidth(){return this._range.endColumn-this._range.startColumn+1}getHeight(){return this._range.endRow-this._range.startRow+1}isMerged(){const{startColumn:n,startRow:e,endColumn:t,endRow:i}=this._range;return this._worksheet.getMergedCellRange(e,n,i,t).some(s=>o.Rectangle.equals(s,this._range))}getCellStyleData(){var t;const n=this.getCellData(),e=this._workbook.getStyles();return n&&e&&(t=e.getStyleByCell(n))!=null?t:null}getCellStyle(){const n=this.getCellStyleData();return n?o.TextStyleValue.create(n):null}getCellStyles(){const n=this.getCellDatas(),e=this._workbook.getStyles();return n.map(t=>t.map(i=>{if(!i)return null;const r=e.getStyleByCell(i);return r?o.TextStyleValue.create(r):null}))}getValue(n){var e,t;return n?this.getValueAndRichTextValue():(t=(e=this._worksheet.getCell(this._range.startRow,this._range.startColumn))==null?void 0:e.v)!=null?t:null}getValues(n){var h,d;n&&this.getValueAndRichTextValues();const{startRow:e,endRow:t,startColumn:i,endColumn:r}=this._range,s=[];for(let u=e;u<=t;u++){const l=[];for(let g=i;g<=r;g++)l.push((d=(h=this._worksheet.getCell(u,g))==null?void 0:h.v)!=null?d:null);s.push(l)}return s}getCellData(){var n;return(n=this._worksheet.getCell(this._range.startRow,this._range.startColumn))!=null?n:null}getCellDatas(){return this.getCellDataGrid()}getCellDataGrid(){const{startRow:n,endRow:e,startColumn:t,endColumn:i}=this._range,r=[];for(let s=n;s<=e;s++){const h=[];for(let d=t;d<=i;d++)h.push(this._worksheet.getCellRaw(s,d));r.push(h)}return r}getRichTextValue(){const n=this.getCellData();return n!=null&&n.p?new o.RichTextValue(n.p):null}getRichTextValues(){return this.getCellDataGrid().map(e=>e.map(t=>t!=null&&t.p?new o.RichTextValue(t.p):null))}getValueAndRichTextValue(){const n=this.getCellData();return n!=null&&n.p?new o.RichTextValue(n.p):n==null?void 0:n.v}getValueAndRichTextValues(){return this.getCellDatas().map(e=>e.map(t=>t!=null&&t.p?new o.RichTextValue(t.p):t==null?void 0:t.v))}getFormulas(){const n=[],{startRow:e,endRow:t,startColumn:i,endColumn:r}=this._range,s=this._worksheet.getSheetId(),h=this._workbook.getUnitId();for(let d=e;d<=t;d++){const u=[];for(let l=i;l<=r;l++){const g=this._formulaDataModel.getFormulaStringByCell(d,l,s,h);u.push(g||"")}n.push(u)}return n}getWrap(){return this._worksheet.getRange(this._range).getWrap()===o.BooleanNumber.TRUE}getWrapStrategy(){return this._worksheet.getRange(this._range).getWrapStrategy()}getHorizontalAlignment(){return O(this._worksheet.getRange(this._range).getHorizontalAlignment())}getVerticalAlignment(){return L(this._worksheet.getRange(this._range).getVerticalAlignment())}setCustomMetaData(n){return this.setValue({custom:n})}setCustomMetaDatas(n){return this.setValues(n.map(e=>e.map(t=>({custom:t}))))}getCustomMetaData(){var e;const n=this.getCellData();return(e=n==null?void 0:n.custom)!=null?e:null}getCustomMetaDatas(){return this.getCellDataGrid().map(e=>e.map(t=>{var i;return(i=t==null?void 0:t.custom)!=null?i:null}))}setBorder(n,e,t){return this._commandService.syncExecuteCommand(a.SetBorderBasicCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),value:{type:n,style:e,color:t}}),this}setBackgroundColor(n){return this._commandService.syncExecuteCommand(a.SetStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:{type:"bg",value:{rgb:n}}}),this}setBackground(n){return this.setBackgroundColor(n),this}setValue(n){const e=b(n);if(!e)throw new Error("Invalid value");return this._commandService.syncExecuteCommand(a.SetRangeValuesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:e}),this}setValueForCell(n){const e=b(n);if(!e)throw new Error("Invalid value");return this._commandService.syncExecuteCommand(a.SetRangeValuesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:{startColumn:this._range.startColumn,startRow:this._range.startRow,endColumn:this._range.endColumn,endRow:this._range.endRow},value:e}),this}setRichTextValueForCell(n){const e=n instanceof o.RichTextValue?n.getData():n,t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:{startColumn:this._range.startColumn,startRow:this._range.startRow,endColumn:this._range.endColumn,endRow:this._range.endRow},value:{p:e}};return this._commandService.syncExecuteCommand(a.SetRangeValuesCommand.id,t),this}setRichTextValues(n){const e=n.map(r=>r.map(s=>s&&{p:s instanceof o.RichTextValue?s.getData():s})),t=P(e,this._range),i={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:t};return this._commandService.syncExecuteCommand(a.SetRangeValuesCommand.id,i),this}setWrap(n){return this._commandService.syncExecuteCommand(a.SetTextWrapCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:n?o.WrapStrategy.WRAP:o.WrapStrategy.UNSPECIFIED}),this}setWrapStrategy(n){return this._commandService.syncExecuteCommand(a.SetTextWrapCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:n}),this}setVerticalAlignment(n){return this._commandService.syncExecuteCommand(a.SetVerticalTextAlignCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:V(n)}),this}setHorizontalAlignment(n){return this._commandService.syncExecuteCommand(a.SetHorizontalTextAlignCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:x(n)}),this}setValues(n){const e=P(n,this._range);return this._commandService.syncExecuteCommand(a.SetRangeValuesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:e}),this}setFontWeight(n){let e;if(n==="bold")e=o.BooleanNumber.TRUE;else if(n==="normal")e=o.BooleanNumber.FALSE;else if(n===null)e=null;else throw new Error("Invalid fontWeight");const t={type:"bl",value:e},i={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};return this._commandService.syncExecuteCommand(a.SetStyleCommand.id,i),this}setFontStyle(n){let e;if(n==="italic")e=o.BooleanNumber.TRUE;else if(n==="normal")e=o.BooleanNumber.FALSE;else if(n===null)e=null;else throw new Error("Invalid fontStyle");const t={type:"it",value:e},i={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};return this._commandService.syncExecuteCommand(a.SetStyleCommand.id,i),this}setFontLine(n){if(n==="underline")this._setFontUnderline({s:o.BooleanNumber.TRUE});else if(n==="line-through")this._setFontStrikethrough({s:o.BooleanNumber.TRUE});else if(n==="none")this._setFontUnderline({s:o.BooleanNumber.FALSE}),this._setFontStrikethrough({s:o.BooleanNumber.FALSE});else if(n===null)this._setFontUnderline(null),this._setFontStrikethrough(null);else throw new Error("Invalid fontLine");return this}_setFontUnderline(n){const e={type:"ul",value:n},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};this._commandService.syncExecuteCommand(a.SetStyleCommand.id,t)}_setFontStrikethrough(n){const e={type:"st",value:n},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};this._commandService.syncExecuteCommand(a.SetStyleCommand.id,t)}setFontFamily(n){const e={type:"ff",value:n},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};return this._commandService.syncExecuteCommand(a.SetStyleCommand.id,t),this}setFontSize(n){const e={type:"fs",value:n},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};return this._commandService.syncExecuteCommand(a.SetStyleCommand.id,t),this}setFontColor(n){const t={type:"cl",value:n===null?null:{rgb:n}},i={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};return this._commandService.syncExecuteCommand(a.SetStyleCommand.id,i),this}merge(n=!0){const e=this._workbook.getUnitId(),t=this._worksheet.getSheetId();return a.addMergeCellsUtil(this._injector,e,t,[this._range],n),this}mergeAcross(n=!0){const e=a.getAddMergeMutationRangeByType([this._range],o.Dimension.ROWS),t=this._workbook.getUnitId(),i=this._worksheet.getSheetId();return a.addMergeCellsUtil(this._injector,t,i,e,n),this}mergeVertically(n=!0){const e=a.getAddMergeMutationRangeByType([this._range],o.Dimension.COLUMNS),t=this._workbook.getUnitId(),i=this._worksheet.getSheetId();return a.addMergeCellsUtil(this._injector,t,i,e,n),this}isPartOfMerge(){const{startRow:n,startColumn:e,endRow:t,endColumn:i}=this._range;return this._worksheet.getMergedCellRange(n,e,t,i).length>0}breakApart(){return this._commandService.syncExecuteCommand(a.RemoveWorksheetMergeCommand.id,{ranges:[this._range]}),this}forEach(n){const{startColumn:e,startRow:t,endColumn:i,endRow:r}=this._range;this._worksheet.getMatrixWithMergedCells(t,e,r,i).forValue((s,h,d)=>{n(s,h,d)})}getA1Notation(n){return n?C.serializeRangeWithSheet(this._worksheet.getName(),this._range):C.serializeRange(this._range)}activate(){return this._injector.createInstance(m.FWorkbook,this._workbook).setActiveRange(this),this}activateAsCurrentCell(){const n=this._worksheet.getMergedCell(this._range.startRow,this._range.startColumn);if(n&&o.Rectangle.equals(n,this._range)||!n&&this._range.startRow===this._range.endRow&&this._range.startColumn===this._range.endColumn)return this.activate();throw new Error("The range is not a single cell")}splitTextToColumns(n,e,t){this._commandService.syncExecuteCommand(a.SplitTextToColumnsCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,delimiter:e,customDelimiter:t,treatMultipleDelimitersAsOne:n})}useThemeStyle(n){if(n==null){const e=this.getUsedThemeStyle();e&&this.removeThemeStyle(e)}else this._commandService.syncExecuteCommand(a.SetWorksheetRangeThemeStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,themeName:n})}removeThemeStyle(n){this._commandService.syncExecuteCommand(a.DeleteWorksheetRangeThemeStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,themeName:n})}getUsedThemeStyle(){return this._injector.get(a.SheetRangeThemeService).getAppliedRangeThemeStyle({unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range})}},m.FRange=G([U(3,o.Inject(o.Injector)),U(4,o.ICommandService),U(5,o.Inject(C.FormulaDataModel))],m.FRange);var $=Object.defineProperty,Y=Object.getOwnPropertyDescriptor,q=(c,n,e,t)=>{for(var i=t>1?void 0:t?Y(n,e):n,r=c.length-1,s;r>=0;r--)(s=c[r])&&(i=(t?s(n,e,i):s(i))||i);return t&&i&&$(n,e,i),i},K=(c,n)=>(e,t)=>n(e,t,c);m.FSelection=class{constructor(n,e,t,i){this._workbook=n,this._worksheet=e,this._selections=t,this._injector=i}getActiveRange(){const n=this._selections.find(e=>!!e.primary);return n?this._injector.createInstance(m.FRange,this._workbook,this._worksheet,n.range):null}getActiveRangeList(){return this._selections.map(n=>this._injector.createInstance(m.FRange,this._workbook,this._worksheet,n.range))}getCurrentCell(){const n=this._selections.find(e=>!!e.primary);return n?n.primary:null}getActiveSheet(){const n=this._injector.createInstance(m.FWorkbook,this._workbook);return this._injector.createInstance(m.FWorksheet,n,this._workbook,this._worksheet)}updatePrimaryCell(n){const e=this._injector.get(o.ICommandService);let t=[],i=!1;for(const{range:s,style:h}of this._selections)o.Rectangle.contains(s,n.getRange())?(t.push({range:s,primary:a.getPrimaryForRange(n.getRange(),this._worksheet),style:h}),i=!0):t.push({range:s,primary:null,style:h});i||(t=[{range:n.getRange(),primary:a.getPrimaryForRange(n.getRange(),this._worksheet)}]);const r={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),selections:t};return e.syncExecuteCommand(a.SetSelectionsOperation.id,r),new m.FSelection(this._workbook,this._worksheet,t,this._injector)}getNextDataRange(n){if(!this._selections.find(i=>!!i.primary))return null;const t=a.getNextPrimaryCell(this._selections.concat(),n,this._worksheet);return t?this._injector.createInstance(m.FRange,this._workbook,this._worksheet,t):null}},m.FSelection=q([K(3,o.Inject(o.Injector))],m.FSelection);var J=Object.defineProperty,Q=Object.getOwnPropertyDescriptor,X=(c,n,e,t)=>{for(var i=t>1?void 0:t?Q(n,e):n,r=c.length-1,s;r>=0;r--)(s=c[r])&&(i=(t?s(n,e,i):s(i))||i);return t&&i&&J(n,e,i),i},y=(c,n)=>(e,t)=>n(e,t,c);m.FWorksheet=class extends o.FBaseInitialable{constructor(e,t,i,r,s,h,d){super(r);v(this,"setActiveSelection",this.setActiveRange);this._fWorkbook=e,this._workbook=t,this._worksheet=i,this._injector=r,this._selectionManagerService=s,this._logService=h,this._commandService=d}getSheet(){return this._worksheet}getInject(){return this._injector}getWorkbook(){return this._workbook}getSheetId(){return this._worksheet.getSheetId()}getSheetName(){return this._worksheet.getName()}getSelection(){const e=this._selectionManagerService.getCurrentSelections();return e?this._injector.createInstance(m.FSelection,this._workbook,this._worksheet,e):null}getDefaultStyle(){return this._worksheet.getDefaultCellStyle()}getRowDefaultStyle(e,t=!1){return this._worksheet.getRowStyle(e,t)}getColumnDefaultStyle(e,t=!1){return this._worksheet.getColumnStyle(e,t)}setDefaultStyle(e){const t=this._workbook.getUnitId(),i=this._worksheet.getSheetId();return this._commandService.syncExecuteCommand(a.SetWorksheetDefaultStyleMutation.id,{unitId:t,subUnitId:i,defaultStyle:e}),this._worksheet.setDefaultCellStyle(e),this}setColumnDefaultStyle(e,t){const i=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),s={unitId:i,subUnitId:r,columnData:{[e]:{s:t}}};return this._commandService.syncExecuteCommand(a.SetColDataCommand.id,s),this}setRowDefaultStyle(e,t){const i=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),s={unitId:i,subUnitId:r,rowData:{[e]:{s:t}}};return this._commandService.syncExecuteCommand(a.SetRowDataCommand.id,s),this}getRange(e,t,i,r){let s,h;if(typeof e=="object")s=e,h=this._worksheet;else if(typeof e=="string"){const{range:d,sheetName:u}=C.deserializeRangeWithSheet(e),l=u?this._workbook.getSheetBySheetName(u):this._worksheet;if(!l)throw new Error("Range not found");h=l,s={...d,unitId:this._workbook.getUnitId(),sheetId:h.getSheetId(),rangeType:o.RANGE_TYPE.NORMAL,startRow:d.rangeType===o.RANGE_TYPE.COLUMN?0:d.startRow,endRow:d.rangeType===o.RANGE_TYPE.COLUMN?h.getMaxRows()-1:d.endRow,startColumn:d.rangeType===o.RANGE_TYPE.ROW?0:d.startColumn,endColumn:d.rangeType===o.RANGE_TYPE.ROW?h.getMaxColumns()-1:d.endColumn}}else if(typeof e=="number"&&t!==void 0)h=this._worksheet,s={startRow:e,endRow:e+(i!=null?i:1)-1,startColumn:t,endColumn:t+(r!=null?r:1)-1,unitId:this._workbook.getUnitId(),sheetId:this._worksheet.getSheetId()};else throw new Error("Invalid range specification");return this._injector.createInstance(m.FRange,this._workbook,h,s)}getMaxColumns(){return this._worksheet.getMaxColumns()}getMaxRows(){return this._worksheet.getMaxRows()}insertRowAfter(e){return this.insertRowsAfter(e,1)}insertRowBefore(e){return this.insertRowsBefore(e,1)}insertRows(e,t=1){return this.insertRowsBefore(e,t)}insertRowsAfter(e,t){const i=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),s=o.Direction.DOWN,h=e+1,d=e+t,u=0,l=this._worksheet.getColumnCount()-1,g=a.copyRangeStyles(this._worksheet,h,d,u,l,!0,e);return this._commandService.syncExecuteCommand(a.InsertRowByRangeCommand.id,{unitId:i,subUnitId:r,direction:s,range:{startRow:h,endRow:d,startColumn:u,endColumn:l},cellValue:g}),this}insertRowsBefore(e,t){const i=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),s=o.Direction.UP,h=e,d=e+t-1,u=0,l=this._worksheet.getColumnCount()-1,g=a.copyRangeStyles(this._worksheet,h,d,u,l,!0,e-1);return this._commandService.syncExecuteCommand(a.InsertRowByRangeCommand.id,{unitId:i,subUnitId:r,direction:s,range:{startRow:h,endRow:d,startColumn:u,endColumn:l},cellValue:g}),this}deleteRow(e){return this.deleteRows(e,1)}deleteRows(e,t){const i={startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return this._commandService.syncExecuteCommand(a.RemoveRowByRangeCommand.id,{range:i,unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}moveRows(e,t){const i=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),s=E(e.getRange(),this._worksheet),h=s,d={startRow:t,endRow:t,startColumn:s.startColumn,endColumn:s.endColumn};return this._commandService.syncExecuteCommand(a.MoveRowsCommand.id,{unitId:i,subUnitId:r,range:s,fromRange:h,toRange:d}),this}hideRow(e){const t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),r=E(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(a.SetRowHiddenCommand.id,{unitId:t,subUnitId:i,ranges:[r]}),this}hideRows(e,t=1){const i=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),s={startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1,rangeType:o.RANGE_TYPE.ROW};return this._commandService.syncExecuteCommand(a.SetRowHiddenCommand.id,{unitId:i,subUnitId:r,ranges:[s]}),this}unhideRow(e){const t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),r=E(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(a.SetSpecificRowsVisibleCommand.id,{unitId:t,subUnitId:i,ranges:[r]}),this}showRows(e,t=1){const i=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),s={startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1,rangeType:o.RANGE_TYPE.ROW};return this._commandService.syncExecuteCommand(a.SetSpecificRowsVisibleCommand.id,{unitId:i,subUnitId:r,ranges:[s]}),this}setRowHeight(e,t){return this.setRowHeights(e,1,t)}autoFitRow(e,t=o.BooleanNumber.TRUE){const i=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),s=[{startRow:e,endRow:e,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(a.SetTextWrapCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:s[0],value:o.WrapStrategy.WRAP}),this._commandService.syncExecuteCommand(a.SetWorksheetRowIsAutoHeightMutation.id,{unitId:i,subUnitId:r,ranges:s,autoHeightInfo:t}),this}setRowHeights(e,t,i){var l;const r=this._workbook.getUnitId(),s=this._worksheet.getSheetId(),h=this._worksheet.getRowManager(),d=[],u=[];for(let g=e;g<e+t;g++){const k=((l=h.getRow(g))==null?void 0:l.ah)||this._worksheet.getConfig().defaultRowHeight,f={startRow:g,endRow:g,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};i<=k?d.push(f):u.push(f)}return u.length>0&&this._commandService.syncExecuteCommand(a.SetRowHeightCommand.id,{unitId:r,subUnitId:s,ranges:u,value:i}),d.length>0&&this._commandService.syncExecuteCommand(a.SetWorksheetRowIsAutoHeightCommand.id,{unitId:r,subUnitId:s,ranges:d}),this}setRowAutoHeight(e,t){const i=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),s=[{startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(a.SetWorksheetRowIsAutoHeightCommand.id,{unitId:i,subUnitId:r,ranges:s}),this}setRowHeightsForced(e,t,i){const r=this._workbook.getUnitId(),s=this._worksheet.getSheetId(),h=[{startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(a.SetRowHeightCommand.id,{unitId:r,subUnitId:s,ranges:h,value:i}),this}setRowCustom(e){const t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),r={};for(const[h,d]of Object.entries(e))r[Number(h)]={custom:d};const s={unitId:t,subUnitId:i,rowData:r};return this._commandService.syncExecuteCommand(a.SetRowDataCommand.id,s),this}insertColumnAfter(e){return this.insertColumnsAfter(e,1)}insertColumnBefore(e){return this.insertColumnsBefore(e,1)}insertColumns(e,t=1){return this.insertColumnsBefore(e,t)}insertColumnsAfter(e,t){const i=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),s=o.Direction.RIGHT,h=0,d=this._worksheet.getRowCount()-1,u=e+1,l=e+t,g=a.copyRangeStyles(this._worksheet,h,d,u,l,!1,e);return this._commandService.syncExecuteCommand(a.InsertColByRangeCommand.id,{unitId:i,subUnitId:r,direction:s,range:{startRow:h,endRow:d,startColumn:u,endColumn:l},cellValue:g}),this}insertColumnsBefore(e,t){const i=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),s=o.Direction.LEFT,h=0,d=this._worksheet.getRowCount()-1,u=e,l=e+t-1,g=a.copyRangeStyles(this._worksheet,h,d,u,l,!1,e-1);return this._commandService.syncExecuteCommand(a.InsertColByRangeCommand.id,{unitId:i,subUnitId:r,direction:s,range:{startRow:h,endRow:d,startColumn:u,endColumn:l},cellValue:g}),this}deleteColumn(e){return this.deleteColumns(e,1)}deleteColumns(e,t){const i={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:e,endColumn:e+t-1};return this._commandService.syncExecuteCommand(a.RemoveColByRangeCommand.id,{range:i,unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}moveColumns(e,t){const i=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),s=p(e.getRange(),this._worksheet),h=s,d={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:t,endColumn:t};return this._commandService.syncExecuteCommand(a.MoveColsCommand.id,{unitId:i,subUnitId:r,range:s,fromRange:h,toRange:d}),this}hideColumn(e){const t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),r=p(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(a.SetColHiddenCommand.id,{unitId:t,subUnitId:i,ranges:[r]}),this}hideColumns(e,t=1){const i=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),s={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:e,endColumn:e+t-1,rangeType:o.RANGE_TYPE.COLUMN};return this._commandService.syncExecuteCommand(a.SetColHiddenCommand.id,{unitId:i,subUnitId:r,ranges:[s]}),this}unhideColumn(e){const t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),r=p(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(a.SetSpecificColsVisibleCommand.id,{unitId:t,subUnitId:i,ranges:[r]}),this}showColumns(e,t=1){const i=this._workbook.getUnitId(),r=this._worksheet.getSheetId(),s={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:e,endColumn:e+t-1,rangeType:o.RANGE_TYPE.COLUMN};return this._commandService.syncExecuteCommand(a.SetSpecificColsVisibleCommand.id,{unitId:i,subUnitId:r,ranges:[s]}),this}setColumnWidth(e,t){return this.setColumnWidths(e,1,t)}setColumnWidths(e,t,i){const r=this._workbook.getUnitId(),s=this._worksheet.getSheetId(),h=[{startColumn:e,endColumn:e+t-1,startRow:0,endRow:this._worksheet.getRowCount()-1}];return this._commandService.syncExecuteCommand(a.SetColWidthCommand.id,{unitId:r,subUnitId:s,ranges:h,value:i}),this}setColumnCustom(e){const t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),r={};for(const[h,d]of Object.entries(e))r[Number(h)]={custom:d};const s={unitId:t,subUnitId:i,columnData:r};return this._commandService.syncExecuteCommand(a.SetColDataCommand.id,s),this}getMergedRanges(){return this._worksheet.getSnapshot().mergeData.map(t=>this._injector.createInstance(m.FRange,this._workbook,this._worksheet,t))}getCellMergeData(e,t){const r=this._worksheet.getMergedCell(e,t);if(r)return this._injector.createInstance(m.FRange,this._workbook,this._worksheet,r)}getActiveRange(){return this._fWorkbook.getActiveRange()}setActiveRange(e){const{unitId:t,sheetId:i}=e.getRange();if(t!==this._workbook.getUnitId()||i!==this._worksheet.getSheetId())throw new Error("Specified range must be part of the sheet.");return this._fWorkbook.setActiveRange(e),this}setFreeze(e){return this._logService.warn("setFreeze is deprecated, use setFrozenRows and setFrozenColumns instead"),this._commandService.syncExecuteCommand(a.SetFrozenCommand.id,{...e,unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()}),this}cancelFreeze(){return this._commandService.syncExecuteCommand(a.CancelFrozenCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()}),this}getFreeze(){return this._worksheet.getFreeze()}setFrozenColumns(...e){const t=this.getFreeze();if(arguments.length===1){const i=e[0];this.setFreeze({...t,startColumn:i>0?i:-1,xSplit:i})}else if(arguments.length===2){let[i=0,r=0]=e;i>r&&([i,r]=[r,i]),this._commandService.syncExecuteCommand(a.SetFrozenCommand.id,{startColumn:r+1,xSplit:r-i+1,startRow:t.startRow,ySplit:t.ySplit,unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()})}return this}setFrozenRows(...e){const t=this.getFreeze();if(arguments.length===1){const i=e[0];this.setFreeze({...t,startRow:i>0?i:-1,ySplit:i})}else if(arguments.length===2){let[i=0,r=0]=e;i>r&&([i,r]=[r,i]),this._commandService.syncExecuteCommand(a.SetFrozenCommand.id,{startRow:r+1,ySplit:r-i+1,startColumn:t.startColumn,xSplit:t.xSplit,unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()})}return this}getFrozenColumns(){const e=this.getFreeze();return e.startColumn===-1?0:e.startColumn}getFrozenRows(){const e=this.getFreeze();return e.startRow===-1?0:e.startRow}getFrozenRowRange(){const e=this._worksheet.getFreeze();return{startRow:e.startRow-e.ySplit,endRow:e.startRow-1}}getFrozenColumnRange(){const e=this._worksheet.getFreeze();return{startColumn:e.startColumn-e.xSplit,endColumn:e.startColumn-1}}hasHiddenGridLines(){return this._worksheet.getConfig().showGridlines===o.BooleanNumber.FALSE}setHiddenGridlines(e){return this._commandService.syncExecuteCommand(a.ToggleGridlinesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),showGridlines:e?o.BooleanNumber.FALSE:o.BooleanNumber.TRUE}),this}setGridLinesColor(e){return this._commandService.syncExecuteCommand(a.SetGridlinesColorCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),color:e}),this}getGridLinesColor(){return this._worksheet.getGridlinesColor()}setTabColor(e){return this._commandService.syncExecuteCommand(a.SetTabColorCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),color:e}),this}getTabColor(){return this._worksheet.getTabColor()}onCellDataChange(e){return this._injector.get(o.ICommandService).onCommandExecuted(i=>{if(i.id===a.SetRangeValuesMutation.id){const r=i.params;r.unitId===this._workbook.getUnitId()&&r.subUnitId===this._worksheet.getSheetId()&&r.cellValue&&e(new o.ObjectMatrix(r.cellValue))}})}onBeforeCellDataChange(e){return this._injector.get(o.ICommandService).beforeCommandExecuted(i=>{if(i.id===a.SetRangeValuesMutation.id){const r=i.params;r.unitId===this._workbook.getUnitId()&&r.subUnitId===this._worksheet.getSheetId()&&r.cellValue&&e(new o.ObjectMatrix(r.cellValue))}})}hideSheet(){const e=this._injector.get(o.ICommandService);if(this._workbook.getSheets().filter(s=>s.isSheetHidden()!==o.BooleanNumber.TRUE).length<=1)throw new Error("Cannot hide the only visible sheet");return e.syncExecuteCommand(a.SetWorksheetHideCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}showSheet(){return this._injector.get(o.ICommandService).syncExecuteCommand(a.SetWorksheetShowCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}isSheetHidden(){return this._worksheet.isSheetHidden()===o.BooleanNumber.TRUE}setName(e){return this._commandService.syncExecuteCommand(a.SetWorksheetNameCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),name:e}),this}activate(){return this._fWorkbook.setActiveSheet(this),this}getIndex(){return this._workbook.getSheetIndex(this._worksheet)}clear(e){e&&e.contentsOnly&&!e.formatOnly&&this.clearContents(),e&&e.formatOnly&&!e.contentsOnly&&this.clearFormats();const t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),r=this._injector.get(o.ICommandService),s={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return r.syncExecuteCommand(a.ClearSelectionAllCommand.id,{unitId:t,subUnitId:i,ranges:[s],options:e}),this}clearContents(){const e=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),i=this._injector.get(o.ICommandService),r={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return i.syncExecuteCommand(a.ClearSelectionContentCommand.id,{unitId:e,subUnitId:t,ranges:[r]}),this}clearFormats(){const e=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),i=this._injector.get(o.ICommandService),r={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return i.syncExecuteCommand(a.ClearSelectionFormatCommand.id,{unitId:e,subUnitId:t,ranges:[r]}),this}getDataRange(){const e=this.getLastRows(),t=this.getLastColumns();return this.getRange(0,0,e+1,t+1)}getLastColumns(){return this._worksheet.getLastColumnWithContent()}getLastColumn(){return this._worksheet.getLastColumnWithContent()}getLastRows(){return this._worksheet.getLastRowWithContent()}getLastRow(){return this._worksheet.getLastRowWithContent()}equalTo(e){return e instanceof m.FWorksheet?this._worksheet.getSheetId()===e.getSheetId()&&this._workbook.getUnitId()===e.getWorkbook().getUnitId():!1}insertDefinedName(e,t){const r=this._injector.createInstance(I).setName(e).setRef(t).build();r.localSheetId=this.getSheetId(),this._fWorkbook.insertDefinedNameBuilder(r)}getDefinedNames(){return this._fWorkbook.getDefinedNames().filter(t=>t.getLocalSheetId()===this.getSheetId())}setCustomMetadata(e){return this._worksheet.setCustomMetadata(e),this}setRowCustomMetadata(e,t){return this._worksheet.getRowManager().setCustomMetadata(e,t),this}setColumnCustomMetadata(e,t){return this._worksheet.getColumnManager().setCustomMetadata(e,t),this}getRowCustomMetadata(e){return this._worksheet.getRowManager().getCustomMetadata(e)}getColumnCustomMetadata(e){return this._worksheet.getColumnManager().getCustomMetadata(e)}getMergeData(){return this._worksheet.getMergeData().map(e=>this._injector.createInstance(m.FRange,this._workbook,this._worksheet,e))}},m.FWorksheet=X([y(3,o.Inject(o.Injector)),y(4,o.Inject(a.SheetsSelectionsService)),y(5,o.Inject(o.ILogService)),y(6,o.ICommandService)],m.FWorksheet);var Z=Object.defineProperty,ee=Object.getOwnPropertyDescriptor,te=(c,n,e,t)=>{for(var i=t>1?void 0:t?ee(n,e):n,r=c.length-1,s;r>=0;r--)(s=c[r])&&(i=(t?s(n,e,i):s(i))||i);return t&&i&&Z(n,e,i),i},S=(c,n)=>(e,t)=>n(e,t,c);m.FWorkbook=class extends o.FBaseInitialable{constructor(e,t,i,r,s,h,d,u,l,g){super(t);v(this,"id");this._workbook=e,this._injector=t,this._resourceLoaderService=i,this._selectionManagerService=r,this._univerInstanceService=s,this._commandService=h,this._permissionService=d,this._logService=u,this._localeService=l,this._definedNamesService=g,this.id=this._workbook.getUnitId()}getWorkbook(){return this._workbook}getId(){return this.id}getName(){return this._workbook.name}setName(e){this._workbook.setName(e)}save(){return this._resourceLoaderService.saveUnit(this._workbook.getUnitId())}getSnapshot(){return this._logService.warn("use 'save' instead of 'getSnapshot'"),this.save()}getActiveSheet(){const e=this._workbook.getActiveSheet();return this._injector.createInstance(m.FWorksheet,this,this._workbook,e)}getSheets(){return this._workbook.getSheets().map(e=>this._injector.createInstance(m.FWorksheet,this,this._workbook,e))}create(e,t,i){const r=o.mergeWorksheetSnapshotWithDefault({});r.rowCount=t,r.columnCount=i,r.name=e,r.id=e.toLowerCase().replace(/ /g,"-"),this._commandService.syncExecuteCommand(a.InsertSheetCommand.id,{unitId:this.id,index:this._workbook.getSheets().length,sheet:r}),this._commandService.syncExecuteCommand(a.SetWorksheetActiveOperation.id,{unitId:this.id,subUnitId:this._workbook.getSheets()[this._workbook.getSheets().length-1].getSheetId()});const s=this._workbook.getActiveSheet();if(!s)throw new Error("No active sheet found");return this._injector.createInstance(m.FWorksheet,this,this._workbook,s)}getSheetBySheetId(e){const t=this._workbook.getSheetBySheetId(e);return t?this._injector.createInstance(m.FWorksheet,this,this._workbook,t):null}getSheetByName(e){const t=this._workbook.getSheetBySheetName(e);return t?this._injector.createInstance(m.FWorksheet,this,this._workbook,t):null}setActiveSheet(e){return this._commandService.syncExecuteCommand(a.SetWorksheetActiveOperation.id,{unitId:this.id,subUnitId:typeof e=="string"?e:e.getSheetId()}),typeof e=="string"?this.getSheetBySheetId(e):e}insertSheet(e){e!=null?this._commandService.syncExecuteCommand(a.InsertSheetCommand.id,{sheet:{name:e}}):this._commandService.syncExecuteCommand(a.InsertSheetCommand.id);const t=this.id,i=this._workbook.getSheets()[this._workbook.getSheets().length-1].getSheetId();this._commandService.syncExecuteCommand(a.SetWorksheetActiveOperation.id,{unitId:t,subUnitId:i});const r=this._workbook.getActiveSheet();if(!r)throw new Error("No active sheet found");return this._injector.createInstance(m.FWorksheet,this,this._workbook,r)}deleteSheet(e){const t=this.id,i=typeof e=="string"?e:e.getSheetId();return this._commandService.syncExecuteCommand(a.RemoveSheetCommand.id,{unitId:t,subUnitId:i})}undo(){return this._univerInstanceService.focusUnit(this.id),this._commandService.syncExecuteCommand(o.UndoCommand.id),this}redo(){return this._univerInstanceService.focusUnit(this.id),this._commandService.syncExecuteCommand(o.RedoCommand.id),this}onBeforeCommandExecute(e){return this._commandService.beforeCommandExecuted(t=>{var i;((i=t.params)==null?void 0:i.unitId)===this.id&&e(t)})}onCommandExecuted(e){return this._commandService.onCommandExecuted(t=>{var i;((i=t.params)==null?void 0:i.unitId)===this.id&&e(t)})}onSelectionChange(e){return o.toDisposable(this._selectionManagerService.selectionMoveEnd$.subscribe(t=>{this._univerInstanceService.getCurrentUnitForType(o.UniverInstanceType.UNIVER_SHEET).getUnitId()===this.id&&(t!=null&&t.length?e(t.map(i=>i.range)):e([]))}))}setEditable(e){const t=new a.WorkbookEditablePermission(this._workbook.getUnitId());return this._permissionService.getPermissionPoint(t.id)||this._permissionService.addPermissionPoint(t),this._permissionService.updatePermissionPoint(t.id,e),this}setActiveRange(e){const t=this.getActiveSheet(),i=e.getRange().sheetId||t.getSheetId(),r=i?this._workbook.getSheetBySheetId(i):this._workbook.getActiveSheet(!0);if(!r)throw new Error("No active sheet found");r.getSheetId()!==t.getSheetId()&&this.setActiveSheet(this._injector.createInstance(m.FWorksheet,this,this._workbook,r));const s={unitId:this.getId(),subUnitId:i,selections:[e].map(h=>({range:h.getRange(),primary:a.getPrimaryForRange(h.getRange(),r),style:null}))};return this._commandService.syncExecuteCommand(a.SetSelectionsOperation.id,s),this}getActiveRange(){const e=this._workbook.getActiveSheet(),i=this._selectionManagerService.getCurrentSelections().find(r=>!!r.primary);return i?this._injector.createInstance(m.FRange,this._workbook,e,i.range):null}deleteActiveSheet(){const e=this.getActiveSheet();return this.deleteSheet(e)}duplicateSheet(e){return this._commandService.syncExecuteCommand(a.CopySheetCommand.id,{unitId:e.getWorkbook().getUnitId(),subUnitId:e.getSheetId()}),this._injector.createInstance(m.FWorksheet,this,this._workbook,this._workbook.getActiveSheet())}duplicateActiveSheet(){const e=this.getActiveSheet();return this.duplicateSheet(e)}getNumSheets(){return this._workbook.getSheets().length}getLocale(){return this._localeService.getCurrentLocale()}setLocale(e){this._localeService.setLocale(e)}setSpreadsheetLocale(e){return this._localeService.setLocale(e),this}getUrl(){return location.href}moveSheet(e,t){let i=t;return i<0?i=0:i>this._workbook.getSheets().length-1&&(i=this._workbook.getSheets().length-1),this._commandService.syncExecuteCommand(a.SetWorksheetOrderCommand.id,{unitId:e.getWorkbook().getUnitId(),order:i,subUnitId:e.getSheetId()}),this}moveActiveSheet(e){const t=this.getActiveSheet();return this.moveSheet(t,e)}getPermission(){return this._injector.createInstance(m.FPermission)}getDefinedName(e){const t=this._definedNamesService.getValueByName(this.id,e);return t?this._injector.createInstance(R,{...t,unitId:this.id}):null}getDefinedNames(){const e=this._definedNamesService.getDefinedNameMap(this.id);return e?Object.values(e).map(t=>this._injector.createInstance(R,{...t,unitId:this.id})):[]}insertDefinedName(e,t){const r=this._injector.createInstance(I).setName(e).setRef(t).build();return r.localSheetId=a.SCOPE_WORKBOOK_VALUE_DEFINED_NAME,this.insertDefinedNameBuilder(r),this}deleteDefinedName(e){const t=this.getDefinedName(e);return t?(t.delete(),!0):!1}insertDefinedNameBuilder(e){e.unitId=this.getId(),this._commandService.syncExecuteCommand(a.SetDefinedNameCommand.id,e)}updateDefinedNameBuilder(e){this._commandService.syncExecuteCommand(a.SetDefinedNameCommand.id,e)}getRegisteredRangeThemes(){return this._injector.get(a.SheetRangeThemeService).getRegisteredRangeThemes()}registerRangeTheme(e){this._commandService.syncExecuteCommand(a.RegisterWorksheetRangeThemeStyleCommand.id,{unitId:this.getId(),rangeThemeStyle:e})}unregisterRangeTheme(e){this._commandService.syncExecuteCommand(a.UnregisterWorksheetRangeThemeStyleCommand.id,{unitId:this.getId(),themeName:e})}createRangeThemeStyle(e,t){return new a.RangeThemeStyle(e,t)}setCustomMetadata(e){return this._workbook.setCustomMetadata(e),this}getCustomMetadata(){return this._workbook.getCustomMetadata()}},m.FWorkbook=te([S(1,o.Inject(o.Injector)),S(2,o.Inject(o.IResourceLoaderService)),S(3,o.Inject(a.SheetsSelectionsService)),S(4,o.IUniverInstanceService),S(5,o.ICommandService),S(6,o.IPermissionService),S(7,o.ILogService),S(8,o.Inject(o.LocaleService)),S(9,C.IDefinedNamesService)],m.FWorkbook);class ne extends o.FUniver{getCommandSheetTarget(n){var r;const e=n.params;if(!e)return;const t=e.unitId?this.getUniverSheet(e.unitId):(r=this.getActiveWorkbook)==null?void 0:r.call(this);if(!t)return;const i=t.getSheetBySheetId(e.subUnitId||e.sheetId)||t.getActiveSheet();if(i)return{workbook:t,worksheet:i}}getSheetTarget(n,e){const t=this.getUniverSheet(n);if(!t)return;const i=t.getSheetBySheetId(e);if(i)return{workbook:t,worksheet:i}}_initWorkbookEvent(n){const e=n.get(o.IUniverInstanceService);this.disposeWithMe(e.unitDisposed$.subscribe(t=>{this._eventRegistry.get(this.Event.WorkbookDisposed)&&t.type===o.UniverInstanceType.UNIVER_SHEET&&this.fireEvent(this.Event.WorkbookDisposed,{unitId:t.getUnitId(),unitType:t.type,snapshot:t.getSnapshot()})})),this.disposeWithMe(e.unitAdded$.subscribe(t=>{if(this._eventRegistry.get(this.Event.WorkbookCreated)&&t.type===o.UniverInstanceType.UNIVER_SHEET){const i=t,r=n.createInstance(m.FWorkbook,i);this.fireEvent(this.Event.WorkbookCreated,{unitId:t.getUnitId(),type:t.type,workbook:r,unit:r})}}))}_initialize(n){const e=n.get(o.ICommandService);this.disposeWithMe(e.beforeCommandExecuted(t=>{var i,r,s,h;switch(t.id){case a.InsertSheetCommand.id:{const d=t.params,{unitId:u,index:l,sheet:g}=d||{},k=u?this.getUniverSheet(u):(i=this.getActiveWorkbook)==null?void 0:i.call(this);if(!k)return;const f={workbook:k,index:l,sheet:g};if(this.fireEvent(this.Event.BeforeSheetCreate,f),f.cancel)throw new o.CanceledError;break}case a.SetWorksheetActivateCommand.id:{if(!this._eventListend(this.Event.BeforeActiveSheetChange))return;const{subUnitId:d,unitId:u}=t.params,l=u?this.getUniverSheet(u):(r=this.getActiveWorkbook)==null?void 0:r.call(this);if(!l||!d)return;const g=l.getSheetBySheetId(d),k=l.getActiveSheet();if(!g||!k)return;this._fireBeforeActiveSheetChange(l,g,k);break}case a.RemoveSheetCommand.id:{if(!this._eventListend(this.Event.BeforeSheetDelete))return;const d=this.getCommandSheetTarget(t);if(!d)return;const{workbook:u,worksheet:l}=d;this._fireBeforeSheetDelete(u,l);break}case a.SetWorksheetOrderCommand.id:{if(!this._eventListend(this.Event.BeforeSheetMove))return;const{fromOrder:d,toOrder:u}=t.params,l=this.getCommandSheetTarget(t);if(!l)return;this._fireBeforeSheetMove(l.workbook,l.worksheet,u,d);break}case a.SetWorksheetNameCommand.id:{if(!this._eventListend(this.Event.BeforeSheetNameChange))return;const{name:d}=t.params,u=this.getCommandSheetTarget(t);if(!u)return;this._fireBeforeSheetNameChange(u.workbook,u.worksheet,d,u.worksheet.getSheetName());break}case a.SetTabColorCommand.id:{if(!this._eventListend(this.Event.BeforeSheetTabColorChange))return;const{color:d}=t.params,u=this.getCommandSheetTarget(t);if(!u)return;this._fireBeforeSheetTabColorChange(u.workbook,u.worksheet,d,u.worksheet.getTabColor());break}case a.SetWorksheetHideCommand.id:{if(!this._eventListend(this.Event.BeforeSheetHideChange))return;const{hidden:d}=t.params,u=this.getCommandSheetTarget(t);if(!u)return;this._fireBeforeSheetHideChange(u.workbook,u.worksheet,!!d);break}case a.SetGridlinesColorCommand.id:{if(!this._eventListend(this.Event.BeforeGridlineColorChange))return;const d=this.getCommandSheetTarget(t);if(!d)return;this.fireEvent(this.Event.BeforeGridlineColorChange,{...d,color:(s=t.params)==null?void 0:s.color});break}case a.ToggleGridlinesCommand.id:{if(!this._eventListend(this.Event.BeforeGridlineEnableChange))return;const d=this.getCommandSheetTarget(t);if(!d)return;this.fireEvent(this.Event.BeforeGridlineEnableChange,{...d,enabled:!!((h=t.params)!=null&&h.showGridlines)});break}}})),this.disposeWithMe(e.onCommandExecuted(t=>{var i,r;if(a.COMMAND_LISTENER_VALUE_CHANGE.indexOf(t.id)>-1){if(!this._eventListend(this.Event.SheetValueChanged)||!this.getActiveSheet())return;const h=a.getValueChangedEffectedRange(t).map(d=>{var u,l;return(l=(u=this.getWorkbook(d.unitId))==null?void 0:u.getSheetBySheetId(d.subUnitId))==null?void 0:l.getRange(d.range)}).filter(Boolean);if(!h.length)return;this.fireEvent(this.Event.SheetValueChanged,{payload:t,effectedRanges:h});return}switch(t.id){case a.InsertSheetCommand.id:{const s=t.params,{unitId:h}=s||{},d=h?this.getUniverSheet(h):(i=this.getActiveWorkbook)==null?void 0:i.call(this);if(!d)return;const u=d.getActiveSheet();if(!u)return;const l={workbook:d,worksheet:u};this.fireEvent(this.Event.SheetCreated,l);break}case a.SetWorksheetActivateCommand.id:{if(!this._eventListend(this.Event.ActiveSheetChanged))return;const s=this.getActiveSheet();if(!s)return;const{workbook:h,worksheet:d}=s;this._fireActiveSheetChanged(h,d);break}case a.RemoveSheetCommand.id:{if(!this._eventListend(this.Event.SheetDeleted))return;const{subUnitId:s,unitId:h}=t.params,d=h?this.getUniverSheet(h):(r=this.getActiveWorkbook)==null?void 0:r.call(this);if(!d||!s)return;this._fireSheetDeleted(d,s);break}case a.SetWorksheetOrderCommand.id:{if(!this._eventListend(this.Event.SheetMoved))return;const{toOrder:s}=t.params,h=this.getCommandSheetTarget(t);if(!h)return;this._fireSheetMoved(h.workbook,h.worksheet,s);break}case a.SetWorksheetNameCommand.id:{if(!this._eventListend(this.Event.SheetNameChanged))return;const{name:s}=t.params,h=this.getCommandSheetTarget(t);if(!h)return;this._fireSheetNameChanged(h.workbook,h.worksheet,s);break}case a.SetTabColorCommand.id:{if(!this._eventListend(this.Event.SheetTabColorChanged))return;const{color:s}=t.params,h=this.getCommandSheetTarget(t);if(!h)return;this._fireSheetTabColorChanged(h.workbook,h.worksheet,s);break}case a.SetWorksheetHideCommand.id:{if(!this._eventListend(this.Event.SheetHideChanged))return;const{hidden:s}=t.params,h=this.getCommandSheetTarget(t);if(!h)return;this._fireSheetHideChanged(h.workbook,h.worksheet,!!s);break}case a.SetGridlinesColorCommand.id:case a.ToggleGridlinesCommand.id:{if(!this._eventListend(this.Event.GridlineChanged))return;const s=this.getCommandSheetTarget(t);if(!s)return;this.fireEvent(this.Event.GridlineChanged,{...s,enabled:!s.worksheet.hasHiddenGridLines(),color:s.worksheet.getGridLinesColor()});break}}})),this._initWorkbookEvent(n)}createUniverSheet(n){const t=this._injector.get(o.IUniverInstanceService).createUnit(o.UniverInstanceType.UNIVER_SHEET,n);return this._injector.createInstance(m.FWorkbook,t)}createWorkbook(n){return this.createUniverSheet(n)}getActiveWorkbook(){const n=this._univerInstanceService.getCurrentUnitForType(o.UniverInstanceType.UNIVER_SHEET);return n?this._injector.createInstance(m.FWorkbook,n):null}getActiveUniverSheet(){return this.getActiveWorkbook()}getUniverSheet(n){const e=this._univerInstanceService.getUnit(n,o.UniverInstanceType.UNIVER_SHEET);return e?this._injector.createInstance(m.FWorkbook,e):null}getWorkbook(n){return this.getUniverSheet(n)}getPermission(){return this._injector.createInstance(m.FPermission)}onUniverSheetCreated(n){const e=this._univerInstanceService.getTypeOfUnitAdded$(o.UniverInstanceType.UNIVER_SHEET).subscribe(t=>{const i=this._injector.createInstance(m.FWorkbook,t);n(i)});return o.toDisposable(e)}newDefinedName(){return this._injector.createInstance(I)}getActiveSheet(){const n=this.getActiveWorkbook();if(!n)return null;const e=n.getActiveSheet();return e?{workbook:n,worksheet:e}:null}_fireBeforeActiveSheetChange(n,e,t){this.fireEvent(this.Event.BeforeActiveSheetChange,{workbook:n,activeSheet:e,oldActiveSheet:t})}_fireActiveSheetChanged(n,e){this.fireEvent(this.Event.ActiveSheetChanged,{workbook:n,activeSheet:e})}_fireBeforeSheetDelete(n,e){this.fireEvent(this.Event.BeforeSheetDelete,{workbook:n,worksheet:e})}_fireSheetDeleted(n,e){this.fireEvent(this.Event.SheetDeleted,{workbook:n,sheetId:e})}_fireBeforeSheetMove(n,e,t,i){this.fireEvent(this.Event.BeforeSheetMove,{workbook:n,worksheet:e,newIndex:t,oldIndex:i})}_fireSheetMoved(n,e,t){this.fireEvent(this.Event.SheetMoved,{workbook:n,worksheet:e,newIndex:t})}_fireBeforeSheetNameChange(n,e,t,i){this.fireEvent(this.Event.BeforeSheetNameChange,{workbook:n,worksheet:e,newName:t,oldName:i})}_fireSheetNameChanged(n,e,t){this.fireEvent(this.Event.SheetNameChanged,{workbook:n,worksheet:e,newName:t})}_fireBeforeSheetTabColorChange(n,e,t,i){this.fireEvent(this.Event.BeforeSheetTabColorChange,{workbook:n,worksheet:e,newColor:t,oldColor:i})}_fireSheetTabColorChanged(n,e,t){this.fireEvent(this.Event.SheetTabColorChanged,{workbook:n,worksheet:e,newColor:t})}_fireBeforeSheetHideChange(n,e,t){this.fireEvent(this.Event.BeforeSheetHideChange,{workbook:n,worksheet:e,hidden:t})}_fireSheetHideChanged(n,e,t){this.fireEvent(this.Event.SheetHideChanged,{workbook:n,worksheet:e,hidden:t})}}o.FUniver.extend(ne);class N{get SheetValueChangeType(){return a.SheetValueChangeType}get SheetSkeletonChangeType(){return a.SheetSkeletonChangeType}}o.FEnum.extend(N);class T extends o.FEventName{get SheetCreated(){return"SheetCreated"}get BeforeSheetCreate(){return"BeforeSheetCreate"}get WorkbookCreated(){return"WorkbookCreated"}get WorkbookDisposed(){return"WorkbookDisposed"}get GridlineChanged(){return"GridlineChanged"}get BeforeGridlineEnableChange(){return"BeforeGridlineEnableChange"}get BeforeGridlineColorChange(){return"BeforeGridlineColorChange"}get BeforeActiveSheetChange(){return"BeforeActiveSheetChange"}get ActiveSheetChanged(){return"ActiveSheetChanged"}get SheetDeleted(){return"SheetDeleted"}get BeforeSheetDelete(){return"BeforeSheetDelete"}get SheetMoved(){return"SheetMoved"}get BeforeSheetMove(){return"BeforeSheetMove"}get SheetNameChanged(){return"SheetNameChanged"}get BeforeSheetNameChange(){return"BeforeSheetNameChange"}get SheetTabColorChanged(){return"SheetTabColorChanged"}get BeforeSheetTabColorChange(){return"BeforeSheetTabColorChange"}get SheetHideChanged(){return"SheetHideChanged"}get BeforeSheetHideChange(){return"BeforeSheetHideChange"}get SheetValueChanged(){return"SheetValueChanged"}}o.FEventName.extend(T);var ie=Object.defineProperty,re=Object.getOwnPropertyDescriptor,oe=(c,n,e,t)=>{for(var i=t>1?void 0:t?re(n,e):n,r=c.length-1,s;r>=0;r--)(s=c[r])&&(i=(t?s(n,e,i):s(i))||i);return t&&i&&ie(n,e,i),i},se=(c,n)=>(e,t)=>n(e,t,c);m.FSheetHooks=class extends o.FBase{constructor(n){super(),this._injector=n}},m.FSheetHooks=oe([se(0,o.Inject(o.Injector))],m.FSheetHooks),m.FSheetEventName=T,m.FSheetsEnum=N,Object.defineProperty(m,Symbol.toStringTag,{value:"Module"})});