@univerjs/sheets 0.5.4 → 0.5.5-experimental.20250123-34738ff

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 (105) hide show
  1. package/lib/cjs/facade.js +1 -1
  2. package/lib/cjs/index.js +3 -3
  3. package/lib/cjs/locale/en-US.js +1 -1
  4. package/lib/cjs/locale/fa-IR.js +1 -1
  5. package/lib/cjs/locale/fr-FR.js +1 -1
  6. package/lib/cjs/locale/ru-RU.js +1 -1
  7. package/lib/cjs/locale/vi-VN.js +1 -1
  8. package/lib/cjs/locale/zh-CN.js +1 -1
  9. package/lib/cjs/locale/zh-TW.js +1 -1
  10. package/lib/es/facade.js +2664 -1499
  11. package/lib/es/index.js +9211 -8683
  12. package/lib/es/locale/en-US.js +2 -2
  13. package/lib/es/locale/fa-IR.js +2 -2
  14. package/lib/es/locale/fr-FR.js +2 -2
  15. package/lib/es/locale/ru-RU.js +2 -2
  16. package/lib/es/locale/vi-VN.js +2 -2
  17. package/lib/es/locale/zh-CN.js +2 -2
  18. package/lib/es/locale/zh-TW.js +2 -2
  19. package/lib/types/basics/const/command-listener-const.d.ts +149 -13
  20. package/lib/types/commands/commands/remove-sheet.command.d.ts +1 -1
  21. package/lib/types/commands/commands/split-text-to-columns.command.d.ts +1 -1
  22. package/lib/types/commands/operations/selection.operation.d.ts +1 -0
  23. package/lib/types/commands/utils/selection-command-util.d.ts +1 -1
  24. package/lib/types/controllers/config.schema.d.ts +4 -0
  25. package/lib/types/facade/f-defined-name.d.ts +22 -16
  26. package/lib/types/facade/f-enum.d.ts +24 -0
  27. package/lib/types/facade/f-event.d.ts +474 -24
  28. package/lib/types/facade/f-permission.d.ts +141 -9
  29. package/lib/types/facade/f-range.d.ts +416 -98
  30. package/lib/types/facade/f-selection.d.ts +27 -1
  31. package/lib/types/facade/f-sheet-hooks.d.ts +3 -0
  32. package/lib/types/facade/f-univer.d.ts +39 -3
  33. package/lib/types/facade/f-workbook.d.ts +57 -60
  34. package/lib/types/facade/f-worksheet.d.ts +654 -209
  35. package/lib/types/facade/index.d.ts +2 -0
  36. package/lib/types/index.d.ts +2 -1
  37. package/lib/types/model/range-protection-rule.model.d.ts +1 -1
  38. package/lib/types/model/range-theme-util.d.ts +3 -3
  39. package/lib/types/services/permission/permission-point/const.d.ts +117 -4
  40. package/lib/types/services/permission/range-permission/range-protection.ref-range.d.ts +1 -1
  41. package/lib/types/services/permission/range-permission/range-protection.service.d.ts +1 -1
  42. package/lib/types/services/permission/worksheet-permission/worksheet-permission-rule.model.d.ts +1 -1
  43. package/lib/types/services/selections/selection-data-model.d.ts +7 -7
  44. package/lib/types/services/selections/selection.service.d.ts +4 -0
  45. package/lib/umd/facade.js +1 -1
  46. package/lib/umd/index.js +3 -3
  47. package/lib/umd/locale/en-US.js +1 -1
  48. package/lib/umd/locale/fa-IR.js +1 -1
  49. package/lib/umd/locale/fr-FR.js +1 -1
  50. package/lib/umd/locale/ru-RU.js +1 -1
  51. package/lib/umd/locale/vi-VN.js +1 -1
  52. package/lib/umd/locale/zh-CN.js +1 -1
  53. package/lib/umd/locale/zh-TW.js +1 -1
  54. package/package.json +8 -8
  55. package/LICENSE +0 -176
  56. package/lib/types/basics/__tests__/cell-type.spec.d.ts +0 -16
  57. package/lib/types/basics/__tests__/cell-value.spec.d.ts +0 -16
  58. package/lib/types/basics/__tests__/expand.data.d.ts +0 -2
  59. package/lib/types/basics/__tests__/expand.spec.d.ts +0 -16
  60. package/lib/types/basics/__tests__/rangeMerge.spec.d.ts +0 -16
  61. package/lib/types/basics/__tests__/row-column-value.spec.d.ts +0 -16
  62. package/lib/types/basics/__tests__/utils.spec.d.ts +0 -16
  63. package/lib/types/commands/commands/__tests__/add-merge-command.spec.d.ts +0 -16
  64. package/lib/types/commands/commands/__tests__/clear-selection.command.spec.d.ts +0 -16
  65. package/lib/types/commands/commands/__tests__/copy-worksheet.command.spec.d.ts +0 -16
  66. package/lib/types/commands/commands/__tests__/create-command-test-bed.d.ts +0 -7
  67. package/lib/types/commands/commands/__tests__/delete-range.command.spec.d.ts +0 -16
  68. package/lib/types/commands/commands/__tests__/insert-range.command.spec.d.ts +0 -16
  69. package/lib/types/commands/commands/__tests__/insert-remove-rows-cols.command.spec.d.ts +0 -16
  70. package/lib/types/commands/commands/__tests__/move-range-commands.spec.d.ts +0 -16
  71. package/lib/types/commands/commands/__tests__/move-rows-cols.command.spec.d.ts +0 -16
  72. package/lib/types/commands/commands/__tests__/range-template-command.sepc.d.ts +0 -16
  73. package/lib/types/commands/commands/__tests__/remove-rows-cols.command.spec.d.ts +0 -16
  74. package/lib/types/commands/commands/__tests__/remove-sheet.command.spec.d.ts +0 -16
  75. package/lib/types/commands/commands/__tests__/set-border.command.spec.d.ts +0 -16
  76. package/lib/types/commands/commands/__tests__/set-col-data.command.spec.d.ts +0 -16
  77. package/lib/types/commands/commands/__tests__/set-col-width.command.spec.d.ts +0 -16
  78. package/lib/types/commands/commands/__tests__/set-frozen.command.spec.d.ts +0 -16
  79. package/lib/types/commands/commands/__tests__/set-gridlines-command.spec.d.ts +0 -16
  80. package/lib/types/commands/commands/__tests__/set-range-values.command.spec.d.ts +0 -16
  81. package/lib/types/commands/commands/__tests__/set-row-col-visible.command.spec.d.ts +0 -16
  82. package/lib/types/commands/commands/__tests__/set-row-data.command.spec.d.ts +0 -16
  83. package/lib/types/commands/commands/__tests__/set-row-height.command.spec.d.ts +0 -16
  84. package/lib/types/commands/commands/__tests__/set-style.command.spec.d.ts +0 -16
  85. package/lib/types/commands/commands/__tests__/set-tab-color.command.spec.d.ts +0 -16
  86. package/lib/types/commands/commands/__tests__/set-worksheet-default-style.command.spec.d.ts +0 -16
  87. package/lib/types/commands/commands/__tests__/set-worksheet-hide.command.spec.d.ts +0 -16
  88. package/lib/types/commands/commands/__tests__/set-worksheet-name.command.spec.d.ts +0 -16
  89. package/lib/types/commands/commands/__tests__/set-worksheet-order.command.spec.d.ts +0 -16
  90. package/lib/types/commands/commands/__tests__/set-worksheet-show.command.spec.d.ts +0 -16
  91. package/lib/types/commands/mutations/__tests__/create-command-test-bed.d.ts +0 -8
  92. package/lib/types/commands/mutations/__tests__/move-rows-cols.mutation.spec.d.ts +0 -16
  93. package/lib/types/commands/mutations/__tests__/remove-row-col.mutation.spec.d.ts +0 -16
  94. package/lib/types/controllers/__tests__/util.d.ts +0 -13
  95. package/lib/types/facade/__tests__/utils.spec.d.ts +0 -16
  96. package/lib/types/services/__tests__/move-active-cell.spec.d.ts +0 -16
  97. package/lib/types/services/__tests__/numfmt.service.test.d.ts +0 -16
  98. package/lib/types/services/__tests__/ref-range.setvice.spec.d.ts +0 -16
  99. package/lib/types/services/__tests__/util.d.ts +0 -14
  100. package/lib/types/services/ref-range/__tests__/__testing__.d.ts +0 -14
  101. package/lib/types/services/ref-range/__tests__/ref-range.service.spec.d.ts +0 -13
  102. package/lib/types/services/ref-range/__tests__/utils.spec.d.ts +0 -16
  103. package/lib/types/services/ref-range/__tests__/watch-range.spec.d.ts +0 -16
  104. package/lib/types/services/sheet-interceptor/__tests__/create-core-test-bed.d.ts +0 -13
  105. package/lib/types/services/sheet-interceptor/__tests__/sheet-interceptor.service.spec.d.ts +0 -16
@@ -14,6 +14,8 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import './f-univer';
17
+ import './f-enum';
18
+ export * from './f-enum';
17
19
  export * from './f-event';
18
20
  export { FPermission } from './f-permission';
19
21
  export { FRange } from './f-range';
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  export { UniverSheetsPlugin } from './sheets-plugin';
17
- export { COMMAND_LISTENER_SKELETON_CHANGE, COMMAND_LISTENER_VALUE_CHANGE } from './basics/const/command-listener-const';
17
+ export { COMMAND_LISTENER_SKELETON_CHANGE, COMMAND_LISTENER_VALUE_CHANGE, type CommandListenerSkeletonChange, type CommandListenerValueChange, getSkeletonChangedEffectedRange, getValueChangedEffectedRange, SheetSkeletonChangeType, SheetValueChangeType, } from './basics/const/command-listener-const';
18
18
  export { type IAddWorksheetMergeMutationParams, type IDeleteRangeMutationParams, type IInsertColMutationParams, type IInsertRangeMutationParams, type IInsertRowMutationParams, type IInsertSheetMutationParams, type IRemoveColMutationParams, type IRemoveRowsMutationParams, type IRemoveSheetMutationParams, type IRemoveWorksheetMergeMutationParams, type IWorksheetRangeThemeStyleMutationParams, } from './basics/interfaces/mutation-interface';
19
19
  export { convertPrimaryWithCoordToPrimary, convertSelectionDataToRange, type ISelectionStyle, type ISelectionWidgetConfig, type ISelectionWithCoord, type ISelectionWithStyle, type ISheetRangeLocation, SELECTION_CONTROL_BORDER_BUFFER_COLOR, SELECTION_CONTROL_BORDER_BUFFER_WIDTH, } from './basics/selection';
20
20
  export { createTopMatrixFromMatrix, createTopMatrixFromRanges, findAllRectangle, rangeMerge, RangeMergeUtil } from './basics/rangeMerge';
@@ -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>;
@@ -44,15 +44,15 @@ export declare class RangeThemeStyle {
44
44
  */
45
45
  lastRowStyle: Nullable<IRangeThemeStyleItem>;
46
46
  /**
47
- * @property {Nullable<IRangeThemeStyleItem>} effect for the first column.
47
+ * @property {Nullable<IRangeThemeStyleItem>} firstColumnStyle effect for the first column.
48
48
  */
49
49
  firstColumnStyle: Nullable<IRangeThemeStyleItem>;
50
50
  /**
51
- * @property {Nullable<IRangeThemeStyleItem>} effect for the second column.
51
+ * @property {Nullable<IRangeThemeStyleItem>} secondColumnStyle effect for the second column.
52
52
  */
53
53
  secondColumnStyle: Nullable<IRangeThemeStyleItem>;
54
54
  /**
55
- * @property {Nullable<IRangeThemeStyleItem>} effect for the last column.
55
+ * @property {Nullable<IRangeThemeStyleItem>} lastColumnStyle effect for the last column.
56
56
  */
57
57
  lastColumnStyle: Nullable<IRangeThemeStyleItem>;
58
58
  /**
@@ -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>;
@@ -1,6 +1,6 @@
1
1
  import { ISelectionCell, Nullable, Workbook, Disposable } from '@univerjs/core';
2
+ import { Observable, BehaviorSubject } from 'rxjs';
2
3
  import { ISelectionWithStyle } from '../../basics/selection';
3
- import { BehaviorSubject } from 'rxjs';
4
4
  import { SelectionMoveType } from './type';
5
5
  /**
6
6
  * Origin name: WorkbookSelections
@@ -13,15 +13,16 @@ export declare class WorkbookSelectionModel extends Disposable {
13
13
  */
14
14
  private _worksheetSelections;
15
15
  private readonly _selectionMoveStart$;
16
- readonly selectionMoveStart$: import('rxjs').Observable<Nullable<ISelectionWithStyle[]>>;
16
+ readonly selectionMoveStart$: Observable<Nullable<ISelectionWithStyle[]>>;
17
17
  private readonly _selectionMoving$;
18
- readonly selectionMoving$: import('rxjs').Observable<Nullable<ISelectionWithStyle[]>>;
18
+ readonly selectionMoving$: Observable<Nullable<ISelectionWithStyle[]>>;
19
19
  readonly _selectionMoveEnd$: BehaviorSubject<ISelectionWithStyle[]>;
20
- readonly selectionMoveEnd$: import('rxjs').Observable<ISelectionWithStyle[]>;
20
+ readonly selectionMoveEnd$: Observable<ISelectionWithStyle[]>;
21
21
  private readonly _selectionSet$;
22
- readonly selectionSet$: import('rxjs').Observable<ISelectionWithStyle[]>;
22
+ readonly selectionSet$: Observable<ISelectionWithStyle[]>;
23
+ selectionChanged$: Observable<ISelectionWithStyle[]>;
23
24
  private readonly _beforeSelectionMoveEnd$;
24
- readonly beforeSelectionMoveEnd$: import('rxjs').Observable<ISelectionWithStyle[]>;
25
+ readonly beforeSelectionMoveEnd$: Observable<ISelectionWithStyle[]>;
25
26
  constructor(_workbook: Workbook);
26
27
  dispose(): void;
27
28
  addSelections(sheetId: string, selectionDatas: ISelectionWithStyle[]): void;
@@ -48,5 +49,4 @@ export declare class WorkbookSelectionModel extends Disposable {
48
49
  getCurrentLastSelection(): Readonly<Nullable<ISelectionWithStyle & {
49
50
  primary: ISelectionCell;
50
51
  }>>;
51
- private _eventAfterSetSelections;
52
52
  }
@@ -23,6 +23,10 @@ export declare class SheetsSelectionsService extends RxDisposable {
23
23
  * Selection Events, usually triggered when changing unit.(focus in formula editor)
24
24
  */
25
25
  selectionSet$: Observable<Nullable<ISelectionWithStyle[]>>;
26
+ /**
27
+ * Selection Events, merge moveEnd$ and selectionSet$
28
+ */
29
+ selectionChanged$: Observable<Nullable<ISelectionWithStyle[]>>;
26
30
  constructor(_instanceSrv: IUniverInstanceService);
27
31
  protected _init(): void;
28
32
  /**
package/lib/umd/facade.js CHANGED
@@ -1 +1 @@
1
- (function(m,r){typeof exports=="object"&&typeof module<"u"?r(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"],r):(m=typeof globalThis<"u"?globalThis:m||self,r(m.UniverSheetsFacade={},m.UniverCore,m.UniverSheets,m.UniverEngineFormula))})(this,function(m,r,a,w){"use strict";var se=Object.defineProperty;var ae=(m,r,a)=>r in m?se(m,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):m[r]=a;var S=(m,r,a)=>ae(m,typeof r!="symbol"?r+"":r,a);var F=Object.defineProperty,W=Object.getOwnPropertyDescriptor,D=(h,i,e,t)=>{for(var n=t>1?void 0:t?W(i,e):i,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=(t?s(i,e,n):s(n))||n);return t&&n&&F(i,e,n),n},_=(h,i)=>(e,t)=>i(e,t,h);function M(h,i,e){const t=e.getDefinedNameMap(h);if(t==null)return i.t("definedName.defaultName")+1;const o=Array.from(Object.values(t)).length+1,s=i.t("definedName.defaultName")+o;if(e.getValueByName(h,s)==null)return s;let d=o+1;for(;;){const c=i.t("definedName.defaultName")+d;if(e.getValueByName(h,c)==null)return c;d++}}class I{constructor(){S(this,"_definedNameParam");this._definedNameParam={id:r.generateRandomId(10),unitId:"",name:"",formulaOrRefString:""}}setName(i){return this._definedNameParam.name=i,this}setFormula(i){return this._definedNameParam.formulaOrRefString=`=${i}`,this}setRef(i){return this._definedNameParam.formulaOrRefString=i,this}setRefByRange(i,e,t,n){return this._definedNameParam.formulaOrRefString=w.serializeRange({startRow:i,endRow:i+(t!=null?t:1)-1,startColumn:e,endColumn:e+(n!=null?n:1)-1}),this}setComment(i){return this._definedNameParam.comment=i,this}setHidden(i){return this._definedNameParam.hidden=i,this}build(){return this._definedNameParam}load(i){return this._definedNameParam=i,this}}let v=class extends r.FBase{constructor(h,i,e,t,n,o,s,d,c,u){super(),this._definedNameParam=h,this._injector=i,this._commandService=e,this._permissionService=t,this._worksheetProtectionRuleModel=n,this._rangeProtectionRuleModel=o,this._worksheetProtectionPointRuleModel=s,this._authzIoService=d,this._localeService=c,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(h){this._definedNameParam.name=h,this._apply()}setFormula(h){this._definedNameParam.formulaOrRefString=`=${h}`,this._apply()}setRef(h){this._definedNameParam.formulaOrRefString=h,this._apply()}getFormulaOrRefString(){return this._definedNameParam.formulaOrRefString}setRefByRange(h,i,e,t){this._definedNameParam.formulaOrRefString=w.serializeRange({startRow:h,endRow:h+(e!=null?e:1)-1,startColumn:i,endColumn:i+(t!=null?t:1)-1}),this._apply()}getComment(){return this._definedNameParam.comment}setComment(h){this._definedNameParam.comment=h,this._apply()}setScopeToWorksheet(h){this._definedNameParam.localSheetId=h.getSheetId(),this._apply()}setScopeToWorkbook(){this._definedNameParam.localSheetId=a.SCOPE_WORKBOOK_VALUE_DEFINED_NAME,this._apply()}setHidden(h){this._definedNameParam.hidden=h,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 h=this._injector.createInstance(I);return h.load(this._definedNameParam),h}};v=D([_(1,r.Inject(r.Injector)),_(2,r.ICommandService),_(3,r.IPermissionService),_(4,r.Inject(a.WorksheetProtectionRuleModel)),_(5,r.Inject(a.RangeProtectionRuleModel)),_(6,r.Inject(a.WorksheetProtectionPointModel)),_(7,r.Inject(r.IAuthzIoService)),_(8,r.Inject(r.LocaleService)),_(9,w.IDefinedNamesService)],v);var T=Object.defineProperty,j=Object.getOwnPropertyDescriptor,A=(h,i,e,t)=>{for(var n=t>1?void 0:t?j(i,e):i,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=(t?s(i,e,n):s(n))||n);return t&&n&&T(i,e,n),n},C=(h,i)=>(e,t)=>i(e,t,h);m.FPermission=class extends r.FBase{constructor(e,t,n,o,s,d,c){super();S(this,"permissionPointsDefinition",a.PermissionPointsDefinitions);S(this,"rangeRuleChangedAfterAuth$");S(this,"sheetRuleChangedAfterAuth$");this._injector=e,this._commandService=t,this._permissionService=n,this._worksheetProtectionRuleModel=o,this._rangeProtectionRuleModel=s,this._worksheetProtectionPointRuleModel=d,this._authzIoService=c,this.rangeRuleChangedAfterAuth$=this._rangeProtectionRuleModel.ruleRefresh$,this.sheetRuleChangedAfterAuth$=this._worksheetProtectionRuleModel.ruleRefresh$}setWorkbookPermissionPoint(e,t,n){const o=new t(e);this._permissionService.getPermissionPoint(o.id)||this._permissionService.addPermissionPoint(o),this._permissionService.updatePermissionPoint(o.id,n)}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 o=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:o,unitType:a.UnitObject.Worksheet,unitId:e,subUnitId:t}}))return o}removeWorksheetPermission(e,t){this._commandService.syncExecuteCommand(a.DeleteWorksheetProtectionMutation.id,{unitId:e,subUnitId:t}),[...a.getAllWorksheetPermissionPoint(),...a.getAllWorksheetPermissionPointByPointPanel()].forEach(n=>{const o=new n(e,t);this._permissionService.updatePermissionPoint(o.id,!0)}),this._worksheetProtectionPointRuleModel.deleteRule(e,t)}async setWorksheetPermissionPoint(e,t,n,o){const s=this._worksheetProtectionRuleModel.getRule(e,t);let d;if(n===a.WorksheetEditPermission||n===a.WorksheetViewPermission)if(s)d=s.permissionId;else{if(this._rangeProtectionRuleModel.getSubunitRuleList(e,t).length>0)throw new Error("sheet protection cannot intersect with range protection");d=await this.addWorksheetBasePermission(e,t)}else{const g=this._worksheetProtectionPointRuleModel.getRule(e,t);g?d=g.permissionId:(d=await this._authzIoService.create({objectType:a.UnitObject.Worksheet,worksheetObject:{collaborators:[],unitID:e,strategies:[],name:"",scope:void 0}}),this._commandService.executeCommand(a.SetWorksheetPermissionPointsMutation.id,{unitId:e,subUnitId:t,permissionId:d}))}const u=new n(e,t);return this._permissionService.getPermissionPoint(u.id)||this._permissionService.addPermissionPoint(u),this._permissionService.updatePermissionPoint(u.id,o),d}async addRangeBaseProtection(e,t,n){const o=await this._authzIoService.create({objectType:a.UnitObject.SelectRange,selectRangeObject:{collaborators:[],unitID:e,name:"",scope:void 0}}),s=`ruleId_${r.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(P=>n.some(b=>r.Rectangle.intersects(b,P)))))throw new Error("range protection cannot intersect");if(this._commandService.syncExecuteCommand(a.AddRangeProtectionMutation.id,{unitId:e,subUnitId:t,rules:[{permissionId:o,unitType:a.UnitObject.SelectRange,unitId:e,subUnitId:t,ranges:n,id:s}]}))return{permissionId:o,ruleId:s}}removeRangeProtection(e,t,n){this._commandService.syncExecuteCommand(a.DeleteRangeProtectionMutation.id,{unitId:e,subUnitId:t,ruleIds:n})&&this._rangeProtectionRuleModel.getSubunitRuleList(e,t).length===0&&(this._worksheetProtectionPointRuleModel.deleteRule(e,t),[...a.getAllWorksheetPermissionPointByPointPanel()].forEach(d=>{const c=new d(e,t);this._permissionService.updatePermissionPoint(c.id,c.value)}))}setRangeProtectionPermissionPoint(e,t,n,o,s){const d=new o(e,t,n);this._permissionService.getPermissionPoint(d.id)||this._permissionService.addPermissionPoint(d),this._permissionService.updatePermissionPoint(d.id,s)}setRangeProtectionRanges(e,t,n,o){const s=this._rangeProtectionRuleModel.getRule(e,t,n);if(s){if(this._rangeProtectionRuleModel.getSubunitRuleList(e,t).filter(u=>u.id!==n).some(u=>u.ranges.some(l=>o.some(g=>r.Rectangle.intersects(g,l)))))throw new Error("range protection cannot intersect");this._commandService.syncExecuteCommand(a.SetRangeProtectionMutation.id,{unitId:e,subUnitId:t,ruleId:n,rule:{...s,ranges:o}})}}},m.FPermission=A([C(0,r.Inject(r.Injector)),C(1,r.ICommandService),C(2,r.IPermissionService),C(3,r.Inject(a.WorksheetProtectionRuleModel)),C(4,r.Inject(a.RangeProtectionRuleModel)),C(5,r.Inject(a.WorksheetProtectionPointModel)),C(6,r.Inject(r.IAuthzIoService))],m.FPermission);function x(h){switch(h){case"left":return r.HorizontalAlign.LEFT;case"center":return r.HorizontalAlign.CENTER;case"normal":return r.HorizontalAlign.RIGHT;default:throw new Error(`Invalid horizontal alignment: ${h}`)}}function O(h){switch(h){case r.HorizontalAlign.LEFT:return"left";case r.HorizontalAlign.CENTER:return"center";case r.HorizontalAlign.RIGHT:return"normal";default:throw new Error(`Invalid horizontal alignment: ${h}`)}}function B(h){switch(h){case"top":return r.VerticalAlign.TOP;case"middle":return r.VerticalAlign.MIDDLE;case"bottom":return r.VerticalAlign.BOTTOM;default:throw new Error(`Invalid vertical alignment: ${h}`)}}function V(h){switch(h){case r.VerticalAlign.TOP:return"top";case r.VerticalAlign.MIDDLE:return"middle";case r.VerticalAlign.BOTTOM:return"bottom";default:throw new Error(`Invalid vertical alignment: ${h}`)}}function R(h){return r.isFormulaString(h)?{f:h}:r.isCellV(h)?{v:h}:(r.isICellData(h),h)}function U(h,i){const e=new r.ObjectMatrix,{startRow:t,startColumn:n,endRow:o,endColumn:s}=i;if(r.Tools.isArray(h))for(let d=0;d<=o-t;d++)for(let c=0;c<=s-n;c++)e.setValue(d+t,c+n,R(h[d][c]));else new r.ObjectMatrix(h).forValue((c,u,l)=>{e.setValue(c,u,R(l))});return e.getMatrix()}function y(h,i){return{startRow:h.startRow,endRow:h.endRow,startColumn:0,endColumn:i.getColumnCount()-1,rangeType:r.RANGE_TYPE.ROW}}function p(h,i){return{startRow:0,endRow:i.getRowCount()-1,startColumn:h.startColumn,endColumn:h.endColumn,rangeType:r.RANGE_TYPE.COLUMN}}var L=Object.defineProperty,z=Object.getOwnPropertyDescriptor,H=(h,i,e,t)=>{for(var n=t>1?void 0:t?z(i,e):i,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=(t?s(i,e,n):s(n))||n);return t&&n&&L(i,e,n),n},E=(h,i)=>(e,t)=>i(e,t,h);m.FRange=class extends r.FBaseInitialable{constructor(i,e,t,n,o,s){super(n),this._workbook=i,this._worksheet=e,this._range=t,this._injector=n,this._commandService=o,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:i,startRow:e,endColumn:t,endRow:n}=this._range;return this._worksheet.getMergedCellRange(e,i,n,t).some(s=>r.Rectangle.equals(s,this._range))}getCellStyleData(){var t;const i=this.getCellData(),e=this._workbook.getStyles();return i&&e&&(t=e.getStyleByCell(i))!=null?t:null}getValue(){var i,e;return(e=(i=this._worksheet.getCell(this._range.startRow,this._range.startColumn))==null?void 0:i.v)!=null?e:null}getValues(){var s,d;const{startRow:i,endRow:e,startColumn:t,endColumn:n}=this._range,o=[];for(let c=i;c<=e;c++){const u=[];for(let l=t;l<=n;l++)u.push((d=(s=this._worksheet.getCell(c,l))==null?void 0:s.v)!=null?d:null);o.push(u)}return o}getCellData(){var i;return(i=this._worksheet.getCell(this._range.startRow,this._range.startColumn))!=null?i:null}getCellDatas(){const{startRow:i,endRow:e,startColumn:t,endColumn:n}=this._range,o=[];for(let s=i;s<=e;s++){const d=[];for(let c=t;c<=n;c++)d.push(this._worksheet.getCellRaw(s,c));o.push(d)}return o}getCellDataGrid(){return this.getCellDatas()}getRichTextValue(){const i=this.getCellData();return i!=null&&i.p?new r.RichTextValue(i.p):null}getRichTextValues(){return this.getCellDataGrid().map(e=>e.map(t=>t!=null&&t.p?new r.RichTextValue(t.p):null))}getValueAndRichTextValue(){const i=this.getCellData();return i!=null&&i.p?new r.RichTextValue(i.p):i==null?void 0:i.v}getValueAndRichTextValues(){return this.getCellDatas().map(e=>e.map(t=>t!=null&&t.p?new r.RichTextValue(t.p):t==null?void 0:t.v))}getFormulas(){const i=[],{startRow:e,endRow:t,startColumn:n,endColumn:o}=this._range,s=this._worksheet.getSheetId(),d=this._workbook.getUnitId();for(let c=e;c<=t;c++){const u=[];for(let l=n;l<=o;l++){const g=this._formulaDataModel.getFormulaStringByCell(c,l,s,d);u.push(g||"")}i.push(u)}return i}getWrap(){return this._worksheet.getRange(this._range).getWrap()===r.BooleanNumber.TRUE}getWrapStrategy(){return this._worksheet.getRange(this._range).getWrapStrategy()}getHorizontalAlignment(){return O(this._worksheet.getRange(this._range).getHorizontalAlignment())}getVerticalAlignment(){return V(this._worksheet.getRange(this._range).getVerticalAlignment())}setCustomMetaData(i){return this.setValue({custom:i})}setCustomMetaDatas(i){return this.setValues(i.map(e=>e.map(t=>({custom:t}))))}getCustomMetaData(){var e;const i=this.getCellData();return(e=i==null?void 0:i.custom)!=null?e:null}getCustomMetaDatas(){return this.getCellDataGrid().map(e=>e.map(t=>{var n;return(n=t==null?void 0:t.custom)!=null?n:null}))}setBackgroundColor(i){return this._commandService.syncExecuteCommand(a.SetStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:{type:"bg",value:{rgb:i}}}),this}setBackground(i){return this.setBackgroundColor(i),this}setValue(i){const e=R(i);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(i){const e=R(i);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(i){const e=i instanceof r.RichTextValue?i.getData():i,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(i){const e=i.map(o=>o.map(s=>s&&{p:s instanceof r.RichTextValue?s.getData():s})),t=U(e,this._range),n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:t};return this._commandService.syncExecuteCommand(a.SetRangeValuesCommand.id,n),this}setWrap(i){return this._commandService.syncExecuteCommand(a.SetTextWrapCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:i?r.WrapStrategy.WRAP:r.WrapStrategy.UNSPECIFIED}),this}setWrapStrategy(i){return this._commandService.syncExecuteCommand(a.SetTextWrapCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:i}),this}setVerticalAlignment(i){return this._commandService.syncExecuteCommand(a.SetVerticalTextAlignCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:B(i)}),this}setHorizontalAlignment(i){return this._commandService.syncExecuteCommand(a.SetHorizontalTextAlignCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:x(i)}),this}setValues(i){const e=U(i,this._range);return this._commandService.syncExecuteCommand(a.SetRangeValuesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:e}),this}setFontWeight(i){let e;if(i==="bold")e=r.BooleanNumber.TRUE;else if(i==="normal")e=r.BooleanNumber.FALSE;else if(i===null)e=null;else throw new Error("Invalid fontWeight");const t={type:"bl",value:e},n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};return this._commandService.executeCommand(a.SetStyleCommand.id,n),this}setFontStyle(i){let e;if(i==="italic")e=r.BooleanNumber.TRUE;else if(i==="normal")e=r.BooleanNumber.FALSE;else if(i===null)e=null;else throw new Error("Invalid fontStyle");const t={type:"it",value:e},n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};return this._commandService.executeCommand(a.SetStyleCommand.id,n),this}setFontLine(i){if(i==="underline")this._setFontUnderline({s:r.BooleanNumber.TRUE});else if(i==="line-through")this._setFontStrikethrough({s:r.BooleanNumber.TRUE});else if(i==="none")this._setFontUnderline({s:r.BooleanNumber.FALSE}),this._setFontStrikethrough({s:r.BooleanNumber.FALSE});else if(i===null)this._setFontUnderline(null),this._setFontStrikethrough(null);else throw new Error("Invalid fontLine");return this}_setFontUnderline(i){const e={type:"ul",value:i},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};this._commandService.executeCommand(a.SetStyleCommand.id,t)}_setFontStrikethrough(i){const e={type:"st",value:i},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};this._commandService.executeCommand(a.SetStyleCommand.id,t)}setFontFamily(i){const e={type:"ff",value:i},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};return this._commandService.executeCommand(a.SetStyleCommand.id,t),this}setFontSize(i){const e={type:"fs",value:i},t={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:e};return this._commandService.executeCommand(a.SetStyleCommand.id,t),this}setFontColor(i){const t={type:"cl",value:i===null?null:{rgb:i}},n={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:t};return this._commandService.executeCommand(a.SetStyleCommand.id,n),this}merge(i=!0){const e=this._workbook.getUnitId(),t=this._worksheet.getSheetId();return a.addMergeCellsUtil(this._injector,e,t,[this._range],i),this}mergeAcross(i=!0){const e=a.getAddMergeMutationRangeByType([this._range],r.Dimension.ROWS),t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return a.addMergeCellsUtil(this._injector,t,n,e,i),this}mergeVertically(i=!0){const e=a.getAddMergeMutationRangeByType([this._range],r.Dimension.COLUMNS),t=this._workbook.getUnitId(),n=this._worksheet.getSheetId();return a.addMergeCellsUtil(this._injector,t,n,e,i),this}isPartOfMerge(){const{startRow:i,startColumn:e,endRow:t,endColumn:n}=this._range;return this._worksheet.getMergedCellRange(i,e,t,n).length>0}breakApart(){return this._commandService.executeCommand(a.RemoveWorksheetMergeCommand.id,{ranges:[this._range]}),this}forEach(i){const{startColumn:e,startRow:t,endColumn:n,endRow:o}=this._range;this._worksheet.getMatrixWithMergedCells(t,e,o,n).forValue((s,d,c)=>{i(s,d,c)})}getA1Notation(i){return i?w.serializeRangeWithSheet(this._worksheet.getName(),this._range):w.serializeRange(this._range)}activate(){return this._injector.createInstance(m.FWorkbook,this._workbook).setActiveRange(this),this}activateAsCurrentCell(){const i=this._worksheet.getMergedCell(this._range.startRow,this._range.startColumn);if(i&&r.Rectangle.equals(i,this._range)||!i&&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(i,e,t){this._commandService.executeCommand(a.SplitTextToColumnsCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,delimiter:e,customDelimiter:t,treatMultipleDelimitersAsOne:i})}useThemeStyle(i){if(i==null){const e=this.getUsedThemeStyle();e&&this.removeThemeStyle(e)}else this._commandService.executeCommand(a.SetWorksheetRangeThemeStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,themeName:i})}removeThemeStyle(i){this._commandService.executeCommand(a.DeleteWorksheetRangeThemeStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,themeName:i})}getUsedThemeStyle(){return this._injector.get(a.SheetRangeThemeService).getAppliedRangeThemeStyle({unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range})}},m.FRange=H([E(3,r.Inject(r.Injector)),E(4,r.ICommandService),E(5,r.Inject(w.FormulaDataModel))],m.FRange);var $=Object.defineProperty,G=Object.getOwnPropertyDescriptor,Y=(h,i,e,t)=>{for(var n=t>1?void 0:t?G(i,e):i,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=(t?s(i,e,n):s(n))||n);return t&&n&&$(i,e,n),n},q=(h,i)=>(e,t)=>i(e,t,h);m.FSelection=class{constructor(i,e,t,n){this._workbook=i,this._worksheet=e,this._selections=t,this._injector=n}getActiveRange(){const i=this._selections.find(e=>!!e.primary);return i?this._injector.createInstance(m.FRange,this._workbook,this._worksheet,i.range):null}getActiveRangeList(){return this._selections.map(i=>this._injector.createInstance(m.FRange,this._workbook,this._worksheet,i.range))}getCurrentCell(){const i=this._selections.find(e=>!!e.primary);return i?i.primary:null}getActiveSheet(){const i=this._injector.createInstance(m.FWorkbook,this._workbook);return this._injector.createInstance(m.FWorksheet,i,this._workbook,this._worksheet)}updatePrimaryCell(i){const e=this._injector.get(r.ICommandService);let t=[],n=!1;for(const{range:s,style:d}of this._selections)r.Rectangle.contains(s,i.getRange())?(t.push({range:s,primary:a.getPrimaryForRange(i.getRange(),this._worksheet),style:d}),n=!0):t.push({range:s,primary:null,style:d});n||(t=[{range:i.getRange(),primary:a.getPrimaryForRange(i.getRange(),this._worksheet)}]);const o={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),selections:t};return e.syncExecuteCommand(a.SetSelectionsOperation.id,o),new m.FSelection(this._workbook,this._worksheet,t,this._injector)}getNextDataRange(i){if(!this._selections.find(n=>!!n.primary))return null;const t=a.getNextPrimaryCell(this._selections.concat(),i,this._worksheet);return t?this._injector.createInstance(m.FRange,this._workbook,this._worksheet,t):null}},m.FSelection=Y([q(3,r.Inject(r.Injector))],m.FSelection);var K=Object.defineProperty,J=Object.getOwnPropertyDescriptor,Q=(h,i,e,t)=>{for(var n=t>1?void 0:t?J(i,e):i,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=(t?s(i,e,n):s(n))||n);return t&&n&&K(i,e,n),n},f=(h,i)=>(e,t)=>i(e,t,h);m.FWorksheet=class extends r.FBaseInitialable{constructor(e,t,n,o,s,d,c){super(o);S(this,"_eventRegistry",new Map);S(this,"setActiveSelection",this.setActiveRange);this._fWorkbook=e,this._workbook=t,this._worksheet=n,this._injector=o,this._selectionManagerService=s,this._logService=d,this._commandService=c}getSheet(){return this._worksheet}_ensureEventRegistry(e){return this._eventRegistry.has(e)||this._eventRegistry.set(e,new r.Registry),this._eventRegistry.get(e)}addEvent(e,t){return this._ensureEventRegistry(e).add(t),r.toDisposable(()=>this._ensureEventRegistry(e).delete(t))}fireEvent(e,t){var n;return(n=this._eventRegistry.get(e))==null||n.getData().forEach(o=>{o(t)}),t.cancel}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(),n=this._worksheet.getSheetId();return this._commandService.syncExecuteCommand(a.SetWorksheetDefaultStyleMutation.id,{unitId:t,subUnitId:n,defaultStyle:e}),this._worksheet.setDefaultCellStyle(e),this}setColumnDefaultStyle(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s={unitId:n,subUnitId:o,columnData:{[e]:{s:t}}};return this._commandService.syncExecuteCommand(a.SetColDataCommand.id,s),this}setRowDefaultStyle(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s={unitId:n,subUnitId:o,rowData:{[e]:{s:t}}};return this._commandService.syncExecuteCommand(a.SetRowDataCommand.id,s),this}getRange(e,t,n,o){let s,d;if(typeof e=="string"){const{range:c,sheetName:u}=w.deserializeRangeWithSheet(e),l=u?this._workbook.getSheetBySheetName(u):this._worksheet;if(!l)throw new Error("Range not found");d=l,s={...c,unitId:this._workbook.getUnitId(),sheetId:d.getSheetId(),rangeType:r.RANGE_TYPE.NORMAL,startRow:c.rangeType===r.RANGE_TYPE.COLUMN?0:c.startRow,endRow:c.rangeType===r.RANGE_TYPE.COLUMN?d.getMaxRows()-1:c.endRow,startColumn:c.rangeType===r.RANGE_TYPE.ROW?0:c.startColumn,endColumn:c.rangeType===r.RANGE_TYPE.ROW?d.getMaxColumns()-1:c.endColumn}}else if(typeof e=="number"&&t!==void 0)d=this._worksheet,s={startRow:e,endRow:e+(n!=null?n:1)-1,startColumn:t,endColumn:t+(o!=null?o: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,d,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 n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=r.Direction.DOWN,d=e+1,c=e+t,u=0,l=this._worksheet.getColumnCount()-1,g=a.copyRangeStyles(this._worksheet,d,c,u,l,!0,e);return this._commandService.syncExecuteCommand(a.InsertRowByRangeCommand.id,{unitId:n,subUnitId:o,direction:s,range:{startRow:d,endRow:c,startColumn:u,endColumn:l},cellValue:g}),this}insertRowsBefore(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=r.Direction.UP,d=e,c=e+t-1,u=0,l=this._worksheet.getColumnCount()-1,g=a.copyRangeStyles(this._worksheet,d,c,u,l,!0,e-1);return this._commandService.syncExecuteCommand(a.InsertRowByRangeCommand.id,{unitId:n,subUnitId:o,direction:s,range:{startRow:d,endRow:c,startColumn:u,endColumn:l},cellValue:g}),this}deleteRow(e){return this.deleteRows(e,1)}deleteRows(e,t){const n={startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return this._commandService.syncExecuteCommand(a.RemoveRowByRangeCommand.id,{range:n,unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}moveRows(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=y(e.getRange(),this._worksheet),d=s,c={startRow:t,endRow:t,startColumn:s.startColumn,endColumn:s.endColumn};return this._commandService.syncExecuteCommand(a.MoveRowsCommand.id,{unitId:n,subUnitId:o,range:s,fromRange:d,toRange:c}),this}hideRow(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),o=y(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(a.SetRowHiddenCommand.id,{unitId:t,subUnitId:n,ranges:[o]}),this}hideRows(e,t=1){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s={startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1,rangeType:r.RANGE_TYPE.ROW};return this._commandService.syncExecuteCommand(a.SetRowHiddenCommand.id,{unitId:n,subUnitId:o,ranges:[s]}),this}unhideRow(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),o=y(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(a.SetSpecificRowsVisibleCommand.id,{unitId:t,subUnitId:n,ranges:[o]}),this}showRows(e,t=1){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s={startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1,rangeType:r.RANGE_TYPE.ROW};return this._commandService.syncExecuteCommand(a.SetSpecificRowsVisibleCommand.id,{unitId:n,subUnitId:o,ranges:[s]}),this}setRowHeight(e,t){return this.setRowHeights(e,1,t)}setRowHeights(e,t,n){var l;const o=this._workbook.getUnitId(),s=this._worksheet.getSheetId(),d=this._worksheet.getRowManager(),c=[],u=[];for(let g=e;g<e+t;g++){const P=((l=d.getRow(g))==null?void 0:l.ah)||this._worksheet.getConfig().defaultRowHeight,b={startRow:g,endRow:g,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};n<=P?c.push(b):u.push(b)}return u.length>0&&this._commandService.syncExecuteCommand(a.SetRowHeightCommand.id,{unitId:o,subUnitId:s,ranges:u,value:n}),c.length>0&&this._commandService.syncExecuteCommand(a.SetWorksheetRowIsAutoHeightCommand.id,{unitId:o,subUnitId:s,ranges:c}),this}setRowHeightsForced(e,t,n){const o=this._workbook.getUnitId(),s=this._worksheet.getSheetId(),d=[{startRow:e,endRow:e+t-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(a.SetRowHeightCommand.id,{unitId:o,subUnitId:s,ranges:d,value:n}),this}setRowCustom(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),o={};for(const[d,c]of Object.entries(e))o[Number(d)]={custom:c};const s={unitId:t,subUnitId:n,rowData:o};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 n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=r.Direction.RIGHT,d=0,c=this._worksheet.getRowCount()-1,u=e+1,l=e+t,g=a.copyRangeStyles(this._worksheet,d,c,u,l,!1,e);return this._commandService.syncExecuteCommand(a.InsertColByRangeCommand.id,{unitId:n,subUnitId:o,direction:s,range:{startRow:d,endRow:c,startColumn:u,endColumn:l},cellValue:g}),this}insertColumnsBefore(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=r.Direction.LEFT,d=0,c=this._worksheet.getRowCount()-1,u=e,l=e+t-1,g=a.copyRangeStyles(this._worksheet,d,c,u,l,!1,e-1);return this._commandService.syncExecuteCommand(a.InsertColByRangeCommand.id,{unitId:n,subUnitId:o,direction:s,range:{startRow:d,endRow:c,startColumn:u,endColumn:l},cellValue:g}),this}deleteColumn(e){return this.deleteColumns(e,1)}deleteColumns(e,t){const n={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:e,endColumn:e+t-1};return this._commandService.syncExecuteCommand(a.RemoveColByRangeCommand.id,{range:n,unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}moveColumns(e,t){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s=p(e.getRange(),this._worksheet),d=s,c={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:t,endColumn:t};return this._commandService.syncExecuteCommand(a.MoveColsCommand.id,{unitId:n,subUnitId:o,range:s,fromRange:d,toRange:c}),this}hideColumn(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),o=p(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(a.SetColHiddenCommand.id,{unitId:t,subUnitId:n,ranges:[o]}),this}hideColumns(e,t=1){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:e,endColumn:e+t-1,rangeType:r.RANGE_TYPE.COLUMN};return this._commandService.syncExecuteCommand(a.SetColHiddenCommand.id,{unitId:n,subUnitId:o,ranges:[s]}),this}unhideColumn(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),o=p(e.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(a.SetSpecificColsVisibleCommand.id,{unitId:t,subUnitId:n,ranges:[o]}),this}showColumns(e,t=1){const n=this._workbook.getUnitId(),o=this._worksheet.getSheetId(),s={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:e,endColumn:e+t-1,rangeType:r.RANGE_TYPE.COLUMN};return this._commandService.syncExecuteCommand(a.SetSpecificColsVisibleCommand.id,{unitId:n,subUnitId:o,ranges:[s]}),this}setColumnWidth(e,t){return this.setColumnWidths(e,1,t)}setColumnWidths(e,t,n){const o=this._workbook.getUnitId(),s=this._worksheet.getSheetId(),d=[{startColumn:e,endColumn:e+t-1,startRow:0,endRow:this._worksheet.getRowCount()-1}];return this._commandService.syncExecuteCommand(a.SetColWidthCommand.id,{unitId:o,subUnitId:s,ranges:d,value:n}),this}setColumnCustom(e){const t=this._workbook.getUnitId(),n=this._worksheet.getSheetId(),o={};for(const[d,c]of Object.entries(e))o[Number(d)]={custom:c};const s={unitId:t,subUnitId:n,columnData:o};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 o=this._worksheet.getMergedCell(e,t);if(o)return this._injector.createInstance(m.FRange,this._workbook,this._worksheet,o)}getActiveRange(){return this._fWorkbook.getActiveRange()}setActiveRange(e){const{unitId:t,sheetId:n}=e.getRange();if(t!==this._workbook.getUnitId()||n!==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 n=e[0];this.setFreeze({...t,startColumn:n>0?n:-1,xSplit:n})}else if(arguments.length===2){let[n=0,o=0]=e;n>o&&([n,o]=[o,n]),this._commandService.syncExecuteCommand(a.SetFrozenCommand.id,{startColumn:o+1,xSplit:o-n+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 n=e[0];this.setFreeze({...t,startRow:n>0?n:-1,ySplit:n})}else if(arguments.length===2){let[n=0,o=0]=e;n>o&&([n,o]=[o,n]),this._commandService.syncExecuteCommand(a.SetFrozenCommand.id,{startRow:o+1,ySplit:o-n+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===r.BooleanNumber.FALSE}setHiddenGridlines(e){return this._commandService.executeCommand(a.ToggleGridlinesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),showGridlines:e?r.BooleanNumber.FALSE:r.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.executeCommand(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(r.ICommandService).onCommandExecuted(n=>{if(n.id===a.SetRangeValuesMutation.id){const o=n.params;o.unitId===this._workbook.getUnitId()&&o.subUnitId===this._worksheet.getSheetId()&&o.cellValue&&e(new r.ObjectMatrix(o.cellValue))}})}onBeforeCellDataChange(e){return this._injector.get(r.ICommandService).beforeCommandExecuted(n=>{if(n.id===a.SetRangeValuesMutation.id){const o=n.params;o.unitId===this._workbook.getUnitId()&&o.subUnitId===this._worksheet.getSheetId()&&o.cellValue&&e(new r.ObjectMatrix(o.cellValue))}})}hideSheet(){const e=this._injector.get(r.ICommandService);if(this._workbook.getSheets().filter(s=>s.isSheetHidden()!==r.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(r.ICommandService).syncExecuteCommand(a.SetWorksheetShowCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}isSheetHidden(){return this._worksheet.isSheetHidden()===r.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(),n=this._worksheet.getSheetId(),o=this._injector.get(r.ICommandService),s={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return o.syncExecuteCommand(a.ClearSelectionAllCommand.id,{unitId:t,subUnitId:n,ranges:[s],options:e}),this}clearContents(){const e=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),n=this._injector.get(r.ICommandService),o={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return n.syncExecuteCommand(a.ClearSelectionContentCommand.id,{unitId:e,subUnitId:t,ranges:[o]}),this}clearFormats(){const e=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),n=this._injector.get(r.ICommandService),o={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return n.syncExecuteCommand(a.ClearSelectionFormatCommand.id,{unitId:e,subUnitId:t,ranges:[o]}),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 o=this._injector.createInstance(I).setName(e).setRef(t).build();o.localSheetId=this.getSheetId(),this._fWorkbook.insertDefinedNameBuilder(o)}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=Q([f(3,r.Inject(r.Injector)),f(4,r.Inject(a.SheetsSelectionsService)),f(5,r.Inject(r.ILogService)),f(6,r.ICommandService)],m.FWorksheet);var X=Object.defineProperty,Z=Object.getOwnPropertyDescriptor,ee=(h,i,e,t)=>{for(var n=t>1?void 0:t?Z(i,e):i,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=(t?s(i,e,n):s(n))||n);return t&&n&&X(i,e,n),n},k=(h,i)=>(e,t)=>i(e,t,h);m.FWorkbook=class extends r.FBaseInitialable{constructor(e,t,n,o,s,d,c,u,l,g){super(t);S(this,"id");S(this,"_eventRegistry",new Map);this._workbook=e,this._injector=t,this._resourceLoaderService=n,this._selectionManagerService=o,this._univerInstanceService=s,this._commandService=d,this._permissionService=c,this._logService=u,this._localeService=l,this._definedNamesService=g,this.id=this._workbook.getUnitId()}getWorkbook(){return this._workbook}_ensureEventRegistry(e){return this._eventRegistry.has(e)||this._eventRegistry.set(e,new r.Registry),this._eventRegistry.get(e)}addEvent(e,t){return this._ensureEventRegistry(e).add(t),this.addUIEvent(e,t),r.toDisposable(()=>this._ensureEventRegistry(e).delete(t))}fireEvent(e,t){var n;return(n=this._eventRegistry.get(e))==null||n.getData().forEach(o=>{o(t)}),t.cancel}addUIEvent(e,t){}get Enum(){return r.FEnum.get()}get Event(){return r.FEventName.get()}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,n){const o=r.mergeWorksheetSnapshotWithDefault({});o.rowCount=t,o.columnCount=n,o.name=e,o.id=e.toLowerCase().replace(/ /g,"-"),this._commandService.syncExecuteCommand(a.InsertSheetCommand.id,{unitId:this.id,index:this._workbook.getSheets().length,sheet:o}),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:e.getSheetId()}),e}insertSheet(e){e!=null?this._commandService.syncExecuteCommand(a.InsertSheetCommand.id,{sheet:{name:e}}):this._commandService.syncExecuteCommand(a.InsertSheetCommand.id);const t=this.id,n=this._workbook.getSheets()[this._workbook.getSheets().length-1].getSheetId();this._commandService.syncExecuteCommand(a.SetWorksheetActiveOperation.id,{unitId:t,subUnitId:n});const o=this._workbook.getActiveSheet();if(!o)throw new Error("No active sheet found");return this._injector.createInstance(m.FWorksheet,this,this._workbook,o)}deleteSheet(e){const t=this.id,n=e.getSheetId();return this._commandService.syncExecuteCommand(a.RemoveSheetCommand.id,{unitId:t,subUnitId:n})}undo(){return this._univerInstanceService.focusUnit(this.id),this._commandService.syncExecuteCommand(r.UndoCommand.id),this}redo(){return this._univerInstanceService.focusUnit(this.id),this._commandService.syncExecuteCommand(r.RedoCommand.id),this}onBeforeCommandExecute(e){return this._commandService.beforeCommandExecuted(t=>{var n;((n=t.params)==null?void 0:n.unitId)===this.id&&e(t)})}onCommandExecuted(e){return this._commandService.onCommandExecuted(t=>{var n;((n=t.params)==null?void 0:n.unitId)===this.id&&e(t)})}onSelectionChange(e){return r.toDisposable(this._selectionManagerService.selectionMoveEnd$.subscribe(t=>{this._univerInstanceService.getCurrentUnitForType(r.UniverInstanceType.UNIVER_SHEET).getUnitId()===this.id&&(t!=null&&t.length?e(t.map(n=>n.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(),n=e.getRange().sheetId||t.getSheetId(),o=n?this._workbook.getSheetBySheetId(n):this._workbook.getActiveSheet(!0);if(!o)throw new Error("No active sheet found");o.getSheetId()!==t.getSheetId()&&this.setActiveSheet(this._injector.createInstance(m.FWorksheet,this,this._workbook,o));const s={unitId:this.getId(),subUnitId:n,selections:[e].map(d=>({range:d.getRange(),primary:a.getPrimaryForRange(d.getRange(),o),style:null}))};return this._commandService.syncExecuteCommand(a.SetSelectionsOperation.id,s),this}getActiveRange(){const e=this._workbook.getActiveSheet(),n=this._selectionManagerService.getCurrentSelections().find(o=>!!o.primary);return n?this._injector.createInstance(m.FRange,this._workbook,e,n.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 n=t;return n<0?n=0:n>this._workbook.getSheets().length-1&&(n=this._workbook.getSheets().length-1),this._commandService.syncExecuteCommand(a.SetWorksheetOrderCommand.id,{unitId:e.getWorkbook().getUnitId(),order:n,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(v,{...t,unitId:this.id}):null}getDefinedNames(){const e=this._definedNamesService.getDefinedNameMap(this.id);return e?Object.values(e).map(t=>this._injector.createInstance(v,{...t,unitId:this.id})):[]}insertDefinedName(e,t){const o=this._injector.createInstance(I).setName(e).setRef(t).build();return o.localSheetId=a.SCOPE_WORKBOOK_VALUE_DEFINED_NAME,this.insertDefinedNameBuilder(o),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=ee([k(1,r.Inject(r.Injector)),k(2,r.Inject(r.IResourceLoaderService)),k(3,r.Inject(a.SheetsSelectionsService)),k(4,r.IUniverInstanceService),k(5,r.ICommandService),k(6,r.IPermissionService),k(7,r.ILogService),k(8,r.Inject(r.LocaleService)),k(9,w.IDefinedNamesService)],m.FWorkbook);class te extends r.FUniver{getCommandSheetTarget(i){var o;const e=i.params;if(!e)return;const t=e.unitId?this.getUniverSheet(e.unitId):(o=this.getActiveWorkbook)==null?void 0:o.call(this);if(!t)return;const n=t.getSheetBySheetId(e.subUnitId||e.sheetId)||t.getActiveSheet();if(n)return{workbook:t,worksheet:n}}getSheetTarget(i,e){const t=this.getUniverSheet(i);if(!t)return;const n=t.getSheetBySheetId(e);if(n)return{workbook:t,worksheet:n}}_initWorkbookEvent(i){const e=i.get(r.IUniverInstanceService);this.disposeWithMe(e.unitDisposed$.subscribe(t=>{this._eventRegistry.get(this.Event.WorkbookDisposed)&&t.type===r.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===r.UniverInstanceType.UNIVER_SHEET){const n=t,o=i.createInstance(m.FWorkbook,n);this.fireEvent(this.Event.WorkbookCreated,{unitId:t.getUnitId(),type:t.type,workbook:o,unit:o})}}))}_initialize(i){const e=i.get(r.ICommandService);this.disposeWithMe(e.beforeCommandExecuted(t=>{var n;switch(t.id){case a.InsertSheetCommand.id:{const o=t.params,{unitId:s,index:d,sheet:c}=o||{},u=s?this.getUniverSheet(s):(n=this.getActiveWorkbook)==null?void 0:n.call(this);if(!u)return;const l={workbook:u,index:d,sheet:c};if(this.fireEvent(this.Event.BeforeSheetCreate,l),l.cancel)throw new r.CanceledError;break}}})),this.disposeWithMe(e.onCommandExecuted(t=>{var n;switch(t.id){case a.InsertSheetCommand.id:{const o=t.params,{unitId:s}=o||{},d=s?this.getUniverSheet(s):(n=this.getActiveWorkbook)==null?void 0:n.call(this);if(!d)return;const c=d.getActiveSheet();if(!c)return;const u={workbook:d,worksheet:c};this.fireEvent(this.Event.SheetCreated,u);break}}})),this._initWorkbookEvent(i)}createUniverSheet(i){const t=this._injector.get(r.IUniverInstanceService).createUnit(r.UniverInstanceType.UNIVER_SHEET,i);return this._injector.createInstance(m.FWorkbook,t)}createWorkbook(i){return this.createUniverSheet(i)}getActiveWorkbook(){const i=this._univerInstanceService.getCurrentUnitForType(r.UniverInstanceType.UNIVER_SHEET);return i?this._injector.createInstance(m.FWorkbook,i):null}getActiveUniverSheet(){return this.getActiveWorkbook()}getUniverSheet(i){const e=this._univerInstanceService.getUnit(i,r.UniverInstanceType.UNIVER_SHEET);return e?this._injector.createInstance(m.FWorkbook,e):null}getWorkbook(i){return this.getUniverSheet(i)}getPermission(){return this._injector.createInstance(m.FPermission)}onUniverSheetCreated(i){const e=this._univerInstanceService.getTypeOfUnitAdded$(r.UniverInstanceType.UNIVER_SHEET).subscribe(t=>{const n=this._injector.createInstance(m.FWorkbook,t);i(n)});return r.toDisposable(e)}newDefinedName(){return this._injector.createInstance(I)}}r.FUniver.extend(te);class N extends r.FEventName{get SheetCreated(){return"SheetCreated"}get BeforeSheetCreate(){return"BeforeSheetCreate"}get WorkbookCreated(){return"WorkbookCreated"}get WorkbookDisposed(){return"WorkbookDisposed"}}r.FEventName.extend(N);var ne=Object.defineProperty,ie=Object.getOwnPropertyDescriptor,oe=(h,i,e,t)=>{for(var n=t>1?void 0:t?ie(i,e):i,o=h.length-1,s;o>=0;o--)(s=h[o])&&(n=(t?s(i,e,n):s(n))||n);return t&&n&&ne(i,e,n),n},re=(h,i)=>(e,t)=>i(e,t,h);m.FSheetHooks=class extends r.FBase{constructor(i){super(),this._injector=i}},m.FSheetHooks=oe([re(0,r.Inject(r.Injector))],m.FSheetHooks),m.FSheetEventName=N,Object.defineProperty(m,Symbol.toStringTag,{value:"Module"})});
1
+ (function(global,factory){typeof exports=="object"&&typeof module<"u"?factory(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"],factory):(global=typeof globalThis<"u"?globalThis:global||self,factory(global.UniverSheetsFacade={},global.UniverCore,global.UniverSheets,global.UniverEngineFormula))})(this,function(exports2,core,sheets,engineFormula){"use strict";var __defProp=Object.defineProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!="symbol"?key+"":key,value);var _a,_b,_c,_d,_e,_f,_g;var __defProp$6=Object.defineProperty,__getOwnPropDesc$6=Object.getOwnPropertyDescriptor,__decorateClass$6=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$6(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$6(target,key,result),result},"__decorateClass$6"),__decorateParam$6=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$6");function getDefinedNameFieldName(unitId,localeService,definedNamesService){const definedNameMap=definedNamesService.getDefinedNameMap(unitId);if(definedNameMap==null)return localeService.t("definedName.defaultName")+1;const count=Array.from(Object.values(definedNameMap)).length+1,name=localeService.t("definedName.defaultName")+count;if(definedNamesService.getValueByName(unitId,name)==null)return name;let i=count+1;for(;;){const newName=localeService.t("definedName.defaultName")+i;if(definedNamesService.getValueByName(unitId,newName)==null)return newName;i++}}__name(getDefinedNameFieldName,"getDefinedNameFieldName");const _FDefinedNameBuilder=class _FDefinedNameBuilder{constructor(){__publicField(this,"_definedNameParam");this._definedNameParam={id:core.generateRandomId(10),unitId:"",name:"",formulaOrRefString:""}}setName(name){return this._definedNameParam.name=name,this}setFormula(formula){return this._definedNameParam.formulaOrRefString=`=${formula}`,this}setRef(a1Notation){return this._definedNameParam.formulaOrRefString=a1Notation,this}setRefByRange(row,column,numRows,numColumns){return this._definedNameParam.formulaOrRefString=engineFormula.serializeRange({startRow:row,endRow:row+(numRows!=null?numRows:1)-1,startColumn:column,endColumn:column+(numColumns!=null?numColumns:1)-1}),this}setComment(comment){return this._definedNameParam.comment=comment,this}setHidden(hidden){return this._definedNameParam.hidden=hidden,this}build(){return this._definedNameParam}load(param){return this._definedNameParam=param,this}};__name(_FDefinedNameBuilder,"FDefinedNameBuilder");let FDefinedNameBuilder=_FDefinedNameBuilder,FDefinedName=(_a=class extends core.FBase{constructor(_definedNameParam,_injector,_commandService,_permissionService,_worksheetProtectionRuleModel,_rangeProtectionRuleModel,_worksheetProtectionPointRuleModel,_authzIoService,_localeService,_definedNamesService){super(),this._definedNameParam=_definedNameParam,this._injector=_injector,this._commandService=_commandService,this._permissionService=_permissionService,this._worksheetProtectionRuleModel=_worksheetProtectionRuleModel,this._rangeProtectionRuleModel=_rangeProtectionRuleModel,this._worksheetProtectionPointRuleModel=_worksheetProtectionPointRuleModel,this._authzIoService=_authzIoService,this._localeService=_localeService,this._definedNamesService=_definedNamesService}_apply(){this._definedNameParam.name===""&&(this._definedNameParam.name=getDefinedNameFieldName(this._definedNameParam.unitId,this._localeService,this._definedNamesService)),this._commandService.syncExecuteCommand(sheets.SetDefinedNameCommand.id,this._definedNameParam)}getName(){return this._definedNameParam.name}setName(name){this._definedNameParam.name=name,this._apply()}setFormula(formula){this._definedNameParam.formulaOrRefString=`=${formula}`,this._apply()}setRef(refString){this._definedNameParam.formulaOrRefString=refString,this._apply()}getFormulaOrRefString(){return this._definedNameParam.formulaOrRefString}setRefByRange(row,column,numRows,numColumns){this._definedNameParam.formulaOrRefString=engineFormula.serializeRange({startRow:row,endRow:row+(numRows!=null?numRows:1)-1,startColumn:column,endColumn:column+(numColumns!=null?numColumns:1)-1}),this._apply()}getComment(){return this._definedNameParam.comment}setComment(comment){this._definedNameParam.comment=comment,this._apply()}setScopeToWorksheet(worksheet){this._definedNameParam.localSheetId=worksheet.getSheetId(),this._apply()}setScopeToWorkbook(){this._definedNameParam.localSheetId=sheets.SCOPE_WORKBOOK_VALUE_DEFINED_NAME,this._apply()}setHidden(hidden){this._definedNameParam.hidden=hidden,this._apply()}delete(){this._commandService.syncExecuteCommand(sheets.RemoveDefinedNameCommand.id,this._definedNameParam)}getLocalSheetId(){return this._definedNameParam.localSheetId}isWorkbookScope(){return this._definedNameParam.localSheetId===sheets.SCOPE_WORKBOOK_VALUE_DEFINED_NAME}toBuilder(){const builder=this._injector.createInstance(FDefinedNameBuilder);return builder.load(this._definedNameParam),builder}},__name(_a,"FDefinedName"),_a);FDefinedName=__decorateClass$6([__decorateParam$6(1,core.Inject(core.Injector)),__decorateParam$6(2,core.ICommandService),__decorateParam$6(3,core.IPermissionService),__decorateParam$6(4,core.Inject(sheets.WorksheetProtectionRuleModel)),__decorateParam$6(5,core.Inject(sheets.RangeProtectionRuleModel)),__decorateParam$6(6,core.Inject(sheets.WorksheetProtectionPointModel)),__decorateParam$6(7,core.Inject(core.IAuthzIoService)),__decorateParam$6(8,core.Inject(core.LocaleService)),__decorateParam$6(9,engineFormula.IDefinedNamesService)],FDefinedName);var __defProp$5=Object.defineProperty,__getOwnPropDesc$5=Object.getOwnPropertyDescriptor,__decorateClass$5=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$5(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$5(target,key,result),result},"__decorateClass$5"),__decorateParam$5=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$5");exports2.FPermission=(_b=class extends core.FBase{constructor(_injector,_commandService,_permissionService,_worksheetProtectionRuleModel,_rangeProtectionRuleModel,_worksheetProtectionPointRuleModel,_authzIoService){super();__publicField(this,"permissionPointsDefinition",sheets.PermissionPointsDefinitions);__publicField(this,"rangeRuleChangedAfterAuth$");__publicField(this,"sheetRuleChangedAfterAuth$");this._injector=_injector,this._commandService=_commandService,this._permissionService=_permissionService,this._worksheetProtectionRuleModel=_worksheetProtectionRuleModel,this._rangeProtectionRuleModel=_rangeProtectionRuleModel,this._worksheetProtectionPointRuleModel=_worksheetProtectionPointRuleModel,this._authzIoService=_authzIoService,this.rangeRuleChangedAfterAuth$=this._rangeProtectionRuleModel.ruleRefresh$,this.sheetRuleChangedAfterAuth$=this._worksheetProtectionRuleModel.ruleRefresh$}setWorkbookPermissionPoint(unitId,FPointClass,value){const instance=new FPointClass(unitId);this._permissionService.getPermissionPoint(instance.id)||this._permissionService.addPermissionPoint(instance),this._permissionService.updatePermissionPoint(instance.id,value)}setWorkbookEditPermission(unitId,value){this.setWorkbookPermissionPoint(unitId,sheets.WorkbookEditablePermission,value)}async addWorksheetBasePermission(unitId,subUnitId){if(this._rangeProtectionRuleModel.getSubunitRuleList(unitId,subUnitId).length>0)throw new Error("sheet protection cannot intersect with range protection");const permissionId=await this._authzIoService.create({objectType:sheets.UnitObject.Worksheet,worksheetObject:{collaborators:[],unitID:unitId,strategies:[],name:"",scope:void 0}});if(this._commandService.syncExecuteCommand(sheets.AddWorksheetProtectionMutation.id,{unitId,subUnitId,rule:{permissionId,unitType:sheets.UnitObject.Worksheet,unitId,subUnitId}}))return permissionId}removeWorksheetPermission(unitId,subUnitId){this._commandService.syncExecuteCommand(sheets.DeleteWorksheetProtectionMutation.id,{unitId,subUnitId}),[...sheets.getAllWorksheetPermissionPoint(),...sheets.getAllWorksheetPermissionPointByPointPanel()].forEach(F=>{const instance=new F(unitId,subUnitId);this._permissionService.updatePermissionPoint(instance.id,!0)}),this._worksheetProtectionPointRuleModel.deleteRule(unitId,subUnitId)}async setWorksheetPermissionPoint(unitId,subUnitId,FPointClass,value){const hasBasePermission=this._worksheetProtectionRuleModel.getRule(unitId,subUnitId);let permissionId;if(FPointClass===sheets.WorksheetEditPermission||FPointClass===sheets.WorksheetViewPermission)if(hasBasePermission)permissionId=hasBasePermission.permissionId;else{if(this._rangeProtectionRuleModel.getSubunitRuleList(unitId,subUnitId).length>0)throw new Error("sheet protection cannot intersect with range protection");permissionId=await this.addWorksheetBasePermission(unitId,subUnitId)}else{const rule=this._worksheetProtectionPointRuleModel.getRule(unitId,subUnitId);rule?permissionId=rule.permissionId:(permissionId=await this._authzIoService.create({objectType:sheets.UnitObject.Worksheet,worksheetObject:{collaborators:[],unitID:unitId,strategies:[],name:"",scope:void 0}}),this._commandService.syncExecuteCommand(sheets.SetWorksheetPermissionPointsMutation.id,{unitId,subUnitId,permissionId}))}const instance=new FPointClass(unitId,subUnitId);return this._permissionService.getPermissionPoint(instance.id)||this._permissionService.addPermissionPoint(instance),this._permissionService.updatePermissionPoint(instance.id,value),permissionId}async addRangeBaseProtection(unitId,subUnitId,ranges){const permissionId=await this._authzIoService.create({objectType:sheets.UnitObject.SelectRange,selectRangeObject:{collaborators:[],unitID:unitId,name:"",scope:void 0}}),ruleId=`ruleId_${core.generateRandomId(6)}`;if(this._worksheetProtectionRuleModel.getRule(unitId,subUnitId))throw new Error("sheet protection cannot intersect with range protection");if(this._rangeProtectionRuleModel.getSubunitRuleList(unitId,subUnitId).some(rule=>rule.ranges.some(range=>ranges.some(newRange=>core.Rectangle.intersects(newRange.getRange(),range)))))throw new Error("range protection cannot intersect");if(this._commandService.syncExecuteCommand(sheets.AddRangeProtectionMutation.id,{unitId,subUnitId,rules:[{permissionId,unitType:sheets.UnitObject.SelectRange,unitId,subUnitId,ranges:ranges.map(range=>range.getRange()),id:ruleId}]}))return{permissionId,ruleId}}removeRangeProtection(unitId,subUnitId,ruleIds){this._commandService.syncExecuteCommand(sheets.DeleteRangeProtectionMutation.id,{unitId,subUnitId,ruleIds})&&this._rangeProtectionRuleModel.getSubunitRuleList(unitId,subUnitId).length===0&&(this._worksheetProtectionPointRuleModel.deleteRule(unitId,subUnitId),[...sheets.getAllWorksheetPermissionPointByPointPanel()].forEach(F=>{const instance=new F(unitId,subUnitId);this._permissionService.updatePermissionPoint(instance.id,instance.value)}))}setRangeProtectionPermissionPoint(unitId,subUnitId,permissionId,FPointClass,value){const instance=new FPointClass(unitId,subUnitId,permissionId);this._permissionService.getPermissionPoint(instance.id)||this._permissionService.addPermissionPoint(instance),this._permissionService.updatePermissionPoint(instance.id,value)}setRangeProtectionRanges(unitId,subUnitId,ruleId,ranges){const rule=this._rangeProtectionRuleModel.getRule(unitId,subUnitId,ruleId);if(rule){if(this._rangeProtectionRuleModel.getSubunitRuleList(unitId,subUnitId).filter(r=>r.id!==ruleId).some(rule2=>rule2.ranges.some(range=>ranges.some(newRange=>core.Rectangle.intersects(newRange.getRange(),range)))))throw new Error("range protection cannot intersect");this._commandService.syncExecuteCommand(sheets.SetRangeProtectionMutation.id,{unitId,subUnitId,ruleId,rule:{...rule,ranges:ranges.map(range=>range.getRange())}})}}},__name(_b,"FPermission"),_b),exports2.FPermission=__decorateClass$5([__decorateParam$5(0,core.Inject(core.Injector)),__decorateParam$5(1,core.ICommandService),__decorateParam$5(2,core.IPermissionService),__decorateParam$5(3,core.Inject(sheets.WorksheetProtectionRuleModel)),__decorateParam$5(4,core.Inject(sheets.RangeProtectionRuleModel)),__decorateParam$5(5,core.Inject(sheets.WorksheetProtectionPointModel)),__decorateParam$5(6,core.Inject(core.IAuthzIoService))],exports2.FPermission);function transformFacadeHorizontalAlignment(value){switch(value){case"left":return core.HorizontalAlign.LEFT;case"center":return core.HorizontalAlign.CENTER;case"normal":return core.HorizontalAlign.RIGHT;default:throw new Error(`Invalid horizontal alignment: ${value}`)}}__name(transformFacadeHorizontalAlignment,"transformFacadeHorizontalAlignment");function transformCoreHorizontalAlignment(value){switch(value){case core.HorizontalAlign.LEFT:return"left";case core.HorizontalAlign.CENTER:return"center";case core.HorizontalAlign.RIGHT:return"normal";default:throw new Error(`Invalid horizontal alignment: ${value}`)}}__name(transformCoreHorizontalAlignment,"transformCoreHorizontalAlignment");function transformFacadeVerticalAlignment(value){switch(value){case"top":return core.VerticalAlign.TOP;case"middle":return core.VerticalAlign.MIDDLE;case"bottom":return core.VerticalAlign.BOTTOM;default:throw new Error(`Invalid vertical alignment: ${value}`)}}__name(transformFacadeVerticalAlignment,"transformFacadeVerticalAlignment");function transformCoreVerticalAlignment(value){switch(value){case core.VerticalAlign.TOP:return"top";case core.VerticalAlign.MIDDLE:return"middle";case core.VerticalAlign.BOTTOM:return"bottom";default:throw new Error(`Invalid vertical alignment: ${value}`)}}__name(transformCoreVerticalAlignment,"transformCoreVerticalAlignment");function covertCellValue(value){return core.isFormulaString(value)?{f:value,v:null,p:null}:core.isCellV(value)?{v:value,p:null,f:null}:(core.isICellData(value),value)}__name(covertCellValue,"covertCellValue");function covertCellValues(value,range){const cellValue=new core.ObjectMatrix,{startRow,startColumn,endRow,endColumn}=range;if(core.Tools.isArray(value))for(let r=0;r<=endRow-startRow;r++)for(let c=0;c<=endColumn-startColumn;c++)cellValue.setValue(r+startRow,c+startColumn,covertCellValue(value[r][c]));else new core.ObjectMatrix(value).forValue((r,c,v)=>{cellValue.setValue(r,c,covertCellValue(v))});return cellValue.getMatrix()}__name(covertCellValues,"covertCellValues");function covertToRowRange(range,worksheet){return{startRow:range.startRow,endRow:range.endRow,startColumn:0,endColumn:worksheet.getColumnCount()-1,rangeType:core.RANGE_TYPE.ROW}}__name(covertToRowRange,"covertToRowRange");function covertToColRange(range,worksheet){return{startRow:0,endRow:worksheet.getRowCount()-1,startColumn:range.startColumn,endColumn:range.endColumn,rangeType:core.RANGE_TYPE.COLUMN}}__name(covertToColRange,"covertToColRange");var __defProp$4=Object.defineProperty,__getOwnPropDesc$4=Object.getOwnPropertyDescriptor,__decorateClass$4=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$4(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$4(target,key,result),result},"__decorateClass$4"),__decorateParam$4=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$4");exports2.FRange=(_c=class extends core.FBaseInitialable{constructor(_workbook,_worksheet,_range,_injector,_commandService,_formulaDataModel){super(_injector),this._workbook=_workbook,this._worksheet=_worksheet,this._range=_range,this._injector=_injector,this._commandService=_commandService,this._formulaDataModel=_formulaDataModel}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,startRow,endColumn,endRow}=this._range;return this._worksheet.getMergedCellRange(startRow,startColumn,endRow,endColumn).some(range=>core.Rectangle.equals(range,this._range))}getCellStyleData(){var _a2;const cell=this.getCellData(),styles=this._workbook.getStyles();return cell&&styles&&(_a2=styles.getStyleByCell(cell))!=null?_a2:null}getCellStyle(){const data=this.getCellStyleData();return data?core.TextStyleValue.create(data):null}getCellStyles(){const cells=this.getCellDatas(),styles=this._workbook.getStyles();return cells.map(row=>row.map(cell=>{if(!cell)return null;const style=styles.getStyleByCell(cell);return style?core.TextStyleValue.create(style):null}))}getValue(includeRichText){var _a2,_b2;return includeRichText?this.getValueAndRichTextValue():(_b2=(_a2=this._worksheet.getCell(this._range.startRow,this._range.startColumn))==null?void 0:_a2.v)!=null?_b2:null}getValues(includeRichText){var _a2,_b2;includeRichText&&this.getValueAndRichTextValues();const{startRow,endRow,startColumn,endColumn}=this._range,range=[];for(let r=startRow;r<=endRow;r++){const row=[];for(let c=startColumn;c<=endColumn;c++)row.push((_b2=(_a2=this._worksheet.getCell(r,c))==null?void 0:_a2.v)!=null?_b2:null);range.push(row)}return range}getCellData(){var _a2;return(_a2=this._worksheet.getCell(this._range.startRow,this._range.startColumn))!=null?_a2:null}getCellDatas(){return this.getCellDataGrid()}getCellDataGrid(){const{startRow,endRow,startColumn,endColumn}=this._range,range=[];for(let r=startRow;r<=endRow;r++){const row=[];for(let c=startColumn;c<=endColumn;c++)row.push(this._worksheet.getCellRaw(r,c));range.push(row)}return range}getRichTextValue(){const data=this.getCellData();return data!=null&&data.p?new core.RichTextValue(data.p):null}getRichTextValues(){return this.getCellDataGrid().map(row=>row.map(data=>data!=null&&data.p?new core.RichTextValue(data.p):null))}getValueAndRichTextValue(){const cell=this.getCellData();return cell!=null&&cell.p?new core.RichTextValue(cell.p):cell==null?void 0:cell.v}getValueAndRichTextValues(){return this.getCellDatas().map(row=>row.map(data=>data!=null&&data.p?new core.RichTextValue(data.p):data==null?void 0:data.v))}getFormulas(){const formulas=[],{startRow,endRow,startColumn,endColumn}=this._range,sheetId=this._worksheet.getSheetId(),unitId=this._workbook.getUnitId();for(let row=startRow;row<=endRow;row++){const rowFormulas=[];for(let col=startColumn;col<=endColumn;col++){const formulaString=this._formulaDataModel.getFormulaStringByCell(row,col,sheetId,unitId);rowFormulas.push(formulaString||"")}formulas.push(rowFormulas)}return formulas}getWrap(){return this._worksheet.getRange(this._range).getWrap()===core.BooleanNumber.TRUE}getWrapStrategy(){return this._worksheet.getRange(this._range).getWrapStrategy()}getHorizontalAlignment(){return transformCoreHorizontalAlignment(this._worksheet.getRange(this._range).getHorizontalAlignment())}getVerticalAlignment(){return transformCoreVerticalAlignment(this._worksheet.getRange(this._range).getVerticalAlignment())}setCustomMetaData(data){return this.setValue({custom:data})}setCustomMetaDatas(datas){return this.setValues(datas.map(row=>row.map(data=>({custom:data}))))}getCustomMetaData(){var _a2;const cell=this.getCellData();return(_a2=cell==null?void 0:cell.custom)!=null?_a2:null}getCustomMetaDatas(){return this.getCellDataGrid().map(row=>row.map(data=>{var _a2;return(_a2=data==null?void 0:data.custom)!=null?_a2:null}))}setBorder(type,style,color){return this._commandService.syncExecuteCommand(sheets.SetBorderBasicCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),value:{type,style,color}}),this}setBackgroundColor(color){return this._commandService.syncExecuteCommand(sheets.SetStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style:{type:"bg",value:{rgb:color}}}),this}setBackground(color){return this.setBackgroundColor(color),this}setValue(value){const realValue=covertCellValue(value);if(!realValue)throw new Error("Invalid value");return this._commandService.syncExecuteCommand(sheets.SetRangeValuesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:realValue}),this}setValueForCell(value){const realValue=covertCellValue(value);if(!realValue)throw new Error("Invalid value");return this._commandService.syncExecuteCommand(sheets.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:realValue}),this}setRichTextValueForCell(value){const p=value instanceof core.RichTextValue?value.getData():value,params={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}};return this._commandService.syncExecuteCommand(sheets.SetRangeValuesCommand.id,params),this}setRichTextValues(values){const cellDatas=values.map(row=>row.map(item=>item&&{p:item instanceof core.RichTextValue?item.getData():item})),realValue=covertCellValues(cellDatas,this._range),params={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:realValue};return this._commandService.syncExecuteCommand(sheets.SetRangeValuesCommand.id,params),this}setWrap(isWrapEnabled){return this._commandService.syncExecuteCommand(sheets.SetTextWrapCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:isWrapEnabled?core.WrapStrategy.WRAP:core.WrapStrategy.UNSPECIFIED}),this}setWrapStrategy(strategy){return this._commandService.syncExecuteCommand(sheets.SetTextWrapCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:strategy}),this}setVerticalAlignment(alignment){return this._commandService.syncExecuteCommand(sheets.SetVerticalTextAlignCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:transformFacadeVerticalAlignment(alignment)}),this}setHorizontalAlignment(alignment){return this._commandService.syncExecuteCommand(sheets.SetHorizontalTextAlignCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:transformFacadeHorizontalAlignment(alignment)}),this}setValues(value){const realValue=covertCellValues(value,this._range);return this._commandService.syncExecuteCommand(sheets.SetRangeValuesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,value:realValue}),this}setFontWeight(fontWeight){let value;if(fontWeight==="bold")value=core.BooleanNumber.TRUE;else if(fontWeight==="normal")value=core.BooleanNumber.FALSE;else if(fontWeight===null)value=null;else throw new Error("Invalid fontWeight");const style={type:"bl",value},setStyleParams={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style};return this._commandService.syncExecuteCommand(sheets.SetStyleCommand.id,setStyleParams),this}setFontStyle(fontStyle){let value;if(fontStyle==="italic")value=core.BooleanNumber.TRUE;else if(fontStyle==="normal")value=core.BooleanNumber.FALSE;else if(fontStyle===null)value=null;else throw new Error("Invalid fontStyle");const style={type:"it",value},setStyleParams={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style};return this._commandService.syncExecuteCommand(sheets.SetStyleCommand.id,setStyleParams),this}setFontLine(fontLine){if(fontLine==="underline")this._setFontUnderline({s:core.BooleanNumber.TRUE});else if(fontLine==="line-through")this._setFontStrikethrough({s:core.BooleanNumber.TRUE});else if(fontLine==="none")this._setFontUnderline({s:core.BooleanNumber.FALSE}),this._setFontStrikethrough({s:core.BooleanNumber.FALSE});else if(fontLine===null)this._setFontUnderline(null),this._setFontStrikethrough(null);else throw new Error("Invalid fontLine");return this}_setFontUnderline(value){const style={type:"ul",value},setStyleParams={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style};this._commandService.syncExecuteCommand(sheets.SetStyleCommand.id,setStyleParams)}_setFontStrikethrough(value){const style={type:"st",value},setStyleParams={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style};this._commandService.syncExecuteCommand(sheets.SetStyleCommand.id,setStyleParams)}setFontFamily(fontFamily){const style={type:"ff",value:fontFamily},setStyleParams={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style};return this._commandService.syncExecuteCommand(sheets.SetStyleCommand.id,setStyleParams),this}setFontSize(size){const style={type:"fs",value:size},setStyleParams={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style};return this._commandService.syncExecuteCommand(sheets.SetStyleCommand.id,setStyleParams),this}setFontColor(color){const style={type:"cl",value:color===null?null:{rgb:color}},setStyleParams={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,style};return this._commandService.syncExecuteCommand(sheets.SetStyleCommand.id,setStyleParams),this}merge(defaultMerge=!0){const unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId();return sheets.addMergeCellsUtil(this._injector,unitId,subUnitId,[this._range],defaultMerge),this}mergeAcross(defaultMerge=!0){const ranges=sheets.getAddMergeMutationRangeByType([this._range],core.Dimension.ROWS),unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId();return sheets.addMergeCellsUtil(this._injector,unitId,subUnitId,ranges,defaultMerge),this}mergeVertically(defaultMerge=!0){const ranges=sheets.getAddMergeMutationRangeByType([this._range],core.Dimension.COLUMNS),unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId();return sheets.addMergeCellsUtil(this._injector,unitId,subUnitId,ranges,defaultMerge),this}isPartOfMerge(){const{startRow,startColumn,endRow,endColumn}=this._range;return this._worksheet.getMergedCellRange(startRow,startColumn,endRow,endColumn).length>0}breakApart(){return this._commandService.syncExecuteCommand(sheets.RemoveWorksheetMergeCommand.id,{ranges:[this._range]}),this}forEach(callback){const{startColumn,startRow,endColumn,endRow}=this._range;this._worksheet.getMatrixWithMergedCells(startRow,startColumn,endRow,endColumn).forValue((row,col,value)=>{callback(row,col,value)})}getA1Notation(withSheet){return withSheet?engineFormula.serializeRangeWithSheet(this._worksheet.getName(),this._range):engineFormula.serializeRange(this._range)}activate(){return this._injector.createInstance(exports2.FWorkbook,this._workbook).setActiveRange(this),this}activateAsCurrentCell(){const mergeInfo=this._worksheet.getMergedCell(this._range.startRow,this._range.startColumn);if(mergeInfo&&core.Rectangle.equals(mergeInfo,this._range)||!mergeInfo&&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(treatMultipleDelimitersAsOne,delimiter,customDelimiter){this._commandService.syncExecuteCommand(sheets.SplitTextToColumnsCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,delimiter,customDelimiter,treatMultipleDelimitersAsOne})}useThemeStyle(themeName){if(themeName==null){const usedThemeName=this.getUsedThemeStyle();usedThemeName&&this.removeThemeStyle(usedThemeName)}else this._commandService.syncExecuteCommand(sheets.SetWorksheetRangeThemeStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,themeName})}removeThemeStyle(themeName){this._commandService.syncExecuteCommand(sheets.DeleteWorksheetRangeThemeStyleCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range,themeName})}getUsedThemeStyle(){return this._injector.get(sheets.SheetRangeThemeService).getAppliedRangeThemeStyle({unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:this._range})}},__name(_c,"FRange"),_c),exports2.FRange=__decorateClass$4([__decorateParam$4(3,core.Inject(core.Injector)),__decorateParam$4(4,core.ICommandService),__decorateParam$4(5,core.Inject(engineFormula.FormulaDataModel))],exports2.FRange);var __defProp$3=Object.defineProperty,__getOwnPropDesc$3=Object.getOwnPropertyDescriptor,__decorateClass$3=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$3(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$3(target,key,result),result},"__decorateClass$3"),__decorateParam$3=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$3");exports2.FSelection=(_d=class{constructor(_workbook,_worksheet,_selections,_injector){this._workbook=_workbook,this._worksheet=_worksheet,this._selections=_selections,this._injector=_injector}getActiveRange(){const active=this._selections.find(selection=>!!selection.primary);return active?this._injector.createInstance(exports2.FRange,this._workbook,this._worksheet,active.range):null}getActiveRangeList(){return this._selections.map(selection=>this._injector.createInstance(exports2.FRange,this._workbook,this._worksheet,selection.range))}getCurrentCell(){const current=this._selections.find(selection=>!!selection.primary);return current?current.primary:null}getActiveSheet(){const fWorkbook=this._injector.createInstance(exports2.FWorkbook,this._workbook);return this._injector.createInstance(exports2.FWorksheet,fWorkbook,this._workbook,this._worksheet)}updatePrimaryCell(cell){const commandService=this._injector.get(core.ICommandService);let newSelections=[],hasSetPrimary=!1;for(const{range,style}of this._selections)core.Rectangle.contains(range,cell.getRange())?(newSelections.push({range,primary:sheets.getPrimaryForRange(cell.getRange(),this._worksheet),style}),hasSetPrimary=!0):newSelections.push({range,primary:null,style});hasSetPrimary||(newSelections=[{range:cell.getRange(),primary:sheets.getPrimaryForRange(cell.getRange(),this._worksheet)}]);const setSelectionOperationParams={unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),selections:newSelections};return commandService.syncExecuteCommand(sheets.SetSelectionsOperation.id,setSelectionOperationParams),new exports2.FSelection(this._workbook,this._worksheet,newSelections,this._injector)}getNextDataRange(direction){if(!this._selections.find(selection=>!!selection.primary))return null;const range=sheets.getNextPrimaryCell(this._selections.concat(),direction,this._worksheet);return range?this._injector.createInstance(exports2.FRange,this._workbook,this._worksheet,range):null}},__name(_d,"FSelection"),_d),exports2.FSelection=__decorateClass$3([__decorateParam$3(3,core.Inject(core.Injector))],exports2.FSelection);var __defProp$2=Object.defineProperty,__getOwnPropDesc$2=Object.getOwnPropertyDescriptor,__decorateClass$2=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$2(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$2(target,key,result),result},"__decorateClass$2"),__decorateParam$2=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$2");exports2.FWorksheet=(_e=class extends core.FBaseInitialable{constructor(_fWorkbook,_workbook,_worksheet,_injector,_selectionManagerService,_logService,_commandService){super(_injector);__publicField(this,"setActiveSelection",this.setActiveRange);this._fWorkbook=_fWorkbook,this._workbook=_workbook,this._worksheet=_worksheet,this._injector=_injector,this._selectionManagerService=_selectionManagerService,this._logService=_logService,this._commandService=_commandService}getSheet(){return this._worksheet}getInject(){return this._injector}getWorkbook(){return this._workbook}getSheetId(){return this._worksheet.getSheetId()}getSheetName(){return this._worksheet.getName()}getSelection(){const selections=this._selectionManagerService.getCurrentSelections();return selections?this._injector.createInstance(exports2.FSelection,this._workbook,this._worksheet,selections):null}getDefaultStyle(){return this._worksheet.getDefaultCellStyle()}getRowDefaultStyle(index,keepRaw=!1){return this._worksheet.getRowStyle(index,keepRaw)}getColumnDefaultStyle(index,keepRaw=!1){return this._worksheet.getColumnStyle(index,keepRaw)}setDefaultStyle(style){const unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId();return this._commandService.syncExecuteCommand(sheets.SetWorksheetDefaultStyleMutation.id,{unitId,subUnitId,defaultStyle:style}),this._worksheet.setDefaultCellStyle(style),this}setColumnDefaultStyle(index,style){const unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId(),params={unitId,subUnitId,columnData:{[index]:{s:style}}};return this._commandService.syncExecuteCommand(sheets.SetColDataCommand.id,params),this}setRowDefaultStyle(index,style){const unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId(),params={unitId,subUnitId,rowData:{[index]:{s:style}}};return this._commandService.syncExecuteCommand(sheets.SetRowDataCommand.id,params),this}getRange(rowOrA1Notation,column,numRows,numColumns){let range,sheet;if(typeof rowOrA1Notation=="object")range=rowOrA1Notation,sheet=this._worksheet;else if(typeof rowOrA1Notation=="string"){const{range:parsedRange,sheetName}=engineFormula.deserializeRangeWithSheet(rowOrA1Notation),rangeSheet=sheetName?this._workbook.getSheetBySheetName(sheetName):this._worksheet;if(!rangeSheet)throw new Error("Range not found");sheet=rangeSheet,range={...parsedRange,unitId:this._workbook.getUnitId(),sheetId:sheet.getSheetId(),rangeType:core.RANGE_TYPE.NORMAL,startRow:parsedRange.rangeType===core.RANGE_TYPE.COLUMN?0:parsedRange.startRow,endRow:parsedRange.rangeType===core.RANGE_TYPE.COLUMN?sheet.getMaxRows()-1:parsedRange.endRow,startColumn:parsedRange.rangeType===core.RANGE_TYPE.ROW?0:parsedRange.startColumn,endColumn:parsedRange.rangeType===core.RANGE_TYPE.ROW?sheet.getMaxColumns()-1:parsedRange.endColumn}}else if(typeof rowOrA1Notation=="number"&&column!==void 0)sheet=this._worksheet,range={startRow:rowOrA1Notation,endRow:rowOrA1Notation+(numRows!=null?numRows:1)-1,startColumn:column,endColumn:column+(numColumns!=null?numColumns:1)-1,unitId:this._workbook.getUnitId(),sheetId:this._worksheet.getSheetId()};else throw new Error("Invalid range specification");return this._injector.createInstance(exports2.FRange,this._workbook,sheet,range)}getMaxColumns(){return this._worksheet.getMaxColumns()}getMaxRows(){return this._worksheet.getMaxRows()}insertRowAfter(afterPosition){return this.insertRowsAfter(afterPosition,1)}insertRowBefore(beforePosition){return this.insertRowsBefore(beforePosition,1)}insertRows(rowIndex,numRows=1){return this.insertRowsBefore(rowIndex,numRows)}insertRowsAfter(afterPosition,howMany){const unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId(),direction=core.Direction.DOWN,startRow=afterPosition+1,endRow=afterPosition+howMany,startColumn=0,endColumn=this._worksheet.getColumnCount()-1,cellValue=sheets.copyRangeStyles(this._worksheet,startRow,endRow,startColumn,endColumn,!0,afterPosition);return this._commandService.syncExecuteCommand(sheets.InsertRowByRangeCommand.id,{unitId,subUnitId,direction,range:{startRow,endRow,startColumn,endColumn},cellValue}),this}insertRowsBefore(beforePosition,howMany){const unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId(),direction=core.Direction.UP,startRow=beforePosition,endRow=beforePosition+howMany-1,startColumn=0,endColumn=this._worksheet.getColumnCount()-1,cellValue=sheets.copyRangeStyles(this._worksheet,startRow,endRow,startColumn,endColumn,!0,beforePosition-1);return this._commandService.syncExecuteCommand(sheets.InsertRowByRangeCommand.id,{unitId,subUnitId,direction,range:{startRow,endRow,startColumn,endColumn},cellValue}),this}deleteRow(rowPosition){return this.deleteRows(rowPosition,1)}deleteRows(rowPosition,howMany){const range={startRow:rowPosition,endRow:rowPosition+howMany-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return this._commandService.syncExecuteCommand(sheets.RemoveRowByRangeCommand.id,{range,unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}moveRows(rowSpec,destinationIndex){const unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId(),range=covertToRowRange(rowSpec.getRange(),this._worksheet),fromRange=range,toRange={startRow:destinationIndex,endRow:destinationIndex,startColumn:range.startColumn,endColumn:range.endColumn};return this._commandService.syncExecuteCommand(sheets.MoveRowsCommand.id,{unitId,subUnitId,range,fromRange,toRange}),this}hideRow(row){const unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId(),range=covertToRowRange(row.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(sheets.SetRowHiddenCommand.id,{unitId,subUnitId,ranges:[range]}),this}hideRows(rowIndex,numRow=1){const unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId(),range={startRow:rowIndex,endRow:rowIndex+numRow-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1,rangeType:core.RANGE_TYPE.ROW};return this._commandService.syncExecuteCommand(sheets.SetRowHiddenCommand.id,{unitId,subUnitId,ranges:[range]}),this}unhideRow(row){const unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId(),range=covertToRowRange(row.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(sheets.SetSpecificRowsVisibleCommand.id,{unitId,subUnitId,ranges:[range]}),this}showRows(rowIndex,numRow=1){const unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId(),range={startRow:rowIndex,endRow:rowIndex+numRow-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1,rangeType:core.RANGE_TYPE.ROW};return this._commandService.syncExecuteCommand(sheets.SetSpecificRowsVisibleCommand.id,{unitId,subUnitId,ranges:[range]}),this}setRowHeight(rowPosition,height){return this.setRowHeights(rowPosition,1,height)}autoFitRow(rowPosition,auto=core.BooleanNumber.TRUE){const unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId(),ranges=[{startRow:rowPosition,endRow:rowPosition,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(sheets.SetTextWrapCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),range:ranges[0],value:core.WrapStrategy.WRAP}),this._commandService.syncExecuteCommand(sheets.SetWorksheetRowIsAutoHeightMutation.id,{unitId,subUnitId,ranges,autoHeightInfo:auto}),this}setRowHeights(startRow,numRows,height){var _a2;const unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId(),rowManager=this._worksheet.getRowManager(),autoHeightRanges=[],rowHeightRanges=[];for(let i=startRow;i<startRow+numRows;i++){const autoRowHeight=((_a2=rowManager.getRow(i))==null?void 0:_a2.ah)||this._worksheet.getConfig().defaultRowHeight,range={startRow:i,endRow:i,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};height<=autoRowHeight?autoHeightRanges.push(range):rowHeightRanges.push(range)}return rowHeightRanges.length>0&&this._commandService.syncExecuteCommand(sheets.SetRowHeightCommand.id,{unitId,subUnitId,ranges:rowHeightRanges,value:height}),autoHeightRanges.length>0&&this._commandService.syncExecuteCommand(sheets.SetWorksheetRowIsAutoHeightCommand.id,{unitId,subUnitId,ranges:autoHeightRanges}),this}setRowAutoHeight(startRow,numRows){const unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId(),ranges=[{startRow,endRow:startRow+numRows-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(sheets.SetWorksheetRowIsAutoHeightCommand.id,{unitId,subUnitId,ranges}),this}setRowHeightsForced(startRow,numRows,height){const unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId(),ranges=[{startRow,endRow:startRow+numRows-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(sheets.SetRowHeightCommand.id,{unitId,subUnitId,ranges,value:height}),this}setRowCustom(custom){const unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId(),rowData={};for(const[rowIndex,customData]of Object.entries(custom))rowData[Number(rowIndex)]={custom:customData};const params={unitId,subUnitId,rowData};return this._commandService.syncExecuteCommand(sheets.SetRowDataCommand.id,params),this}insertColumnAfter(afterPosition){return this.insertColumnsAfter(afterPosition,1)}insertColumnBefore(beforePosition){return this.insertColumnsBefore(beforePosition,1)}insertColumns(columnIndex,numColumns=1){return this.insertColumnsBefore(columnIndex,numColumns)}insertColumnsAfter(afterPosition,howMany){const unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId(),direction=core.Direction.RIGHT,startRow=0,endRow=this._worksheet.getRowCount()-1,startColumn=afterPosition+1,endColumn=afterPosition+howMany,cellValue=sheets.copyRangeStyles(this._worksheet,startRow,endRow,startColumn,endColumn,!1,afterPosition);return this._commandService.syncExecuteCommand(sheets.InsertColByRangeCommand.id,{unitId,subUnitId,direction,range:{startRow,endRow,startColumn,endColumn},cellValue}),this}insertColumnsBefore(beforePosition,howMany){const unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId(),direction=core.Direction.LEFT,startRow=0,endRow=this._worksheet.getRowCount()-1,startColumn=beforePosition,endColumn=beforePosition+howMany-1,cellValue=sheets.copyRangeStyles(this._worksheet,startRow,endRow,startColumn,endColumn,!1,beforePosition-1);return this._commandService.syncExecuteCommand(sheets.InsertColByRangeCommand.id,{unitId,subUnitId,direction,range:{startRow,endRow,startColumn,endColumn},cellValue}),this}deleteColumn(columnPosition){return this.deleteColumns(columnPosition,1)}deleteColumns(columnPosition,howMany){const range={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:columnPosition,endColumn:columnPosition+howMany-1};return this._commandService.syncExecuteCommand(sheets.RemoveColByRangeCommand.id,{range,unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}moveColumns(columnSpec,destinationIndex){const unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId(),range=covertToColRange(columnSpec.getRange(),this._worksheet),fromRange=range,toRange={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:destinationIndex,endColumn:destinationIndex};return this._commandService.syncExecuteCommand(sheets.MoveColsCommand.id,{unitId,subUnitId,range,fromRange,toRange}),this}hideColumn(column){const unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId(),range=covertToColRange(column.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(sheets.SetColHiddenCommand.id,{unitId,subUnitId,ranges:[range]}),this}hideColumns(columnIndex,numColumn=1){const unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId(),range={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:columnIndex,endColumn:columnIndex+numColumn-1,rangeType:core.RANGE_TYPE.COLUMN};return this._commandService.syncExecuteCommand(sheets.SetColHiddenCommand.id,{unitId,subUnitId,ranges:[range]}),this}unhideColumn(column){const unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId(),range=covertToColRange(column.getRange(),this._worksheet);return this._commandService.syncExecuteCommand(sheets.SetSpecificColsVisibleCommand.id,{unitId,subUnitId,ranges:[range]}),this}showColumns(columnIndex,numColumn=1){const unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId(),range={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:columnIndex,endColumn:columnIndex+numColumn-1,rangeType:core.RANGE_TYPE.COLUMN};return this._commandService.syncExecuteCommand(sheets.SetSpecificColsVisibleCommand.id,{unitId,subUnitId,ranges:[range]}),this}setColumnWidth(columnPosition,width){return this.setColumnWidths(columnPosition,1,width)}setColumnWidths(startColumn,numColumn,width){const unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId(),ranges=[{startColumn,endColumn:startColumn+numColumn-1,startRow:0,endRow:this._worksheet.getRowCount()-1}];return this._commandService.syncExecuteCommand(sheets.SetColWidthCommand.id,{unitId,subUnitId,ranges,value:width}),this}setColumnCustom(custom){const unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId(),columnData={};for(const[columnIndex,customData]of Object.entries(custom))columnData[Number(columnIndex)]={custom:customData};const params={unitId,subUnitId,columnData};return this._commandService.syncExecuteCommand(sheets.SetColDataCommand.id,params),this}getMergedRanges(){return this._worksheet.getSnapshot().mergeData.map(merge=>this._injector.createInstance(exports2.FRange,this._workbook,this._worksheet,merge))}getCellMergeData(row,column){const mergeData=this._worksheet.getMergedCell(row,column);if(mergeData)return this._injector.createInstance(exports2.FRange,this._workbook,this._worksheet,mergeData)}getActiveRange(){return this._fWorkbook.getActiveRange()}setActiveRange(range){const{unitId,sheetId}=range.getRange();if(unitId!==this._workbook.getUnitId()||sheetId!==this._worksheet.getSheetId())throw new Error("Specified range must be part of the sheet.");return this._fWorkbook.setActiveRange(range),this}setFreeze(freeze){return this._logService.warn("setFreeze is deprecated, use setFrozenRows and setFrozenColumns instead"),this._commandService.syncExecuteCommand(sheets.SetFrozenCommand.id,{...freeze,unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()}),this}cancelFreeze(){return this._commandService.syncExecuteCommand(sheets.CancelFrozenCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()}),this}getFreeze(){return this._worksheet.getFreeze()}setFrozenColumns(...args){const freezeCfg=this.getFreeze();if(arguments.length===1){const columns=args[0];this.setFreeze({...freezeCfg,startColumn:columns>0?columns:-1,xSplit:columns})}else if(arguments.length===2){let[startColumn=0,endColumn=0]=args;startColumn>endColumn&&([startColumn,endColumn]=[endColumn,startColumn]),this._commandService.syncExecuteCommand(sheets.SetFrozenCommand.id,{startColumn:endColumn+1,xSplit:endColumn-startColumn+1,startRow:freezeCfg.startRow,ySplit:freezeCfg.ySplit,unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()})}return this}setFrozenRows(...args){const freezeCfg=this.getFreeze();if(arguments.length===1){const rows=args[0];this.setFreeze({...freezeCfg,startRow:rows>0?rows:-1,ySplit:rows})}else if(arguments.length===2){let[startRow=0,endRow=0]=args;startRow>endRow&&([startRow,endRow]=[endRow,startRow]),this._commandService.syncExecuteCommand(sheets.SetFrozenCommand.id,{startRow:endRow+1,ySplit:endRow-startRow+1,startColumn:freezeCfg.startColumn,xSplit:freezeCfg.xSplit,unitId:this._workbook.getUnitId(),subUnitId:this.getSheetId()})}return this}getFrozenColumns(){const freeze=this.getFreeze();return freeze.startColumn===-1?0:freeze.startColumn}getFrozenRows(){const freeze=this.getFreeze();return freeze.startRow===-1?0:freeze.startRow}getFrozenRowRange(){const cfg=this._worksheet.getFreeze();return{startRow:cfg.startRow-cfg.ySplit,endRow:cfg.startRow-1}}getFrozenColumnRange(){const cfg=this._worksheet.getFreeze();return{startColumn:cfg.startColumn-cfg.xSplit,endColumn:cfg.startColumn-1}}hasHiddenGridLines(){return this._worksheet.getConfig().showGridlines===core.BooleanNumber.FALSE}setHiddenGridlines(hidden){return this._commandService.syncExecuteCommand(sheets.ToggleGridlinesCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),showGridlines:hidden?core.BooleanNumber.FALSE:core.BooleanNumber.TRUE}),this}setGridLinesColor(color){return this._commandService.syncExecuteCommand(sheets.SetGridlinesColorCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),color}),this}getGridLinesColor(){return this._worksheet.getGridlinesColor()}setTabColor(color){return this._commandService.syncExecuteCommand(sheets.SetTabColorCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),color}),this}getTabColor(){return this._worksheet.getTabColor()}onCellDataChange(callback){return this._injector.get(core.ICommandService).onCommandExecuted(command=>{if(command.id===sheets.SetRangeValuesMutation.id){const params=command.params;params.unitId===this._workbook.getUnitId()&&params.subUnitId===this._worksheet.getSheetId()&&params.cellValue&&callback(new core.ObjectMatrix(params.cellValue))}})}onBeforeCellDataChange(callback){return this._injector.get(core.ICommandService).beforeCommandExecuted(command=>{if(command.id===sheets.SetRangeValuesMutation.id){const params=command.params;params.unitId===this._workbook.getUnitId()&&params.subUnitId===this._worksheet.getSheetId()&&params.cellValue&&callback(new core.ObjectMatrix(params.cellValue))}})}hideSheet(){const commandService=this._injector.get(core.ICommandService);if(this._workbook.getSheets().filter(sheet=>sheet.isSheetHidden()!==core.BooleanNumber.TRUE).length<=1)throw new Error("Cannot hide the only visible sheet");return commandService.syncExecuteCommand(sheets.SetWorksheetHideCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}showSheet(){return this._injector.get(core.ICommandService).syncExecuteCommand(sheets.SetWorksheetShowCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId()}),this}isSheetHidden(){return this._worksheet.isSheetHidden()===core.BooleanNumber.TRUE}setName(name){return this._commandService.syncExecuteCommand(sheets.SetWorksheetNameCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),name}),this}activate(){return this._fWorkbook.setActiveSheet(this),this}getIndex(){return this._workbook.getSheetIndex(this._worksheet)}clear(options){options&&options.contentsOnly&&!options.formatOnly&&this.clearContents(),options&&options.formatOnly&&!options.contentsOnly&&this.clearFormats();const unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId(),commandService=this._injector.get(core.ICommandService),range={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return commandService.syncExecuteCommand(sheets.ClearSelectionAllCommand.id,{unitId,subUnitId,ranges:[range],options}),this}clearContents(){const unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId(),commandService=this._injector.get(core.ICommandService),range={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return commandService.syncExecuteCommand(sheets.ClearSelectionContentCommand.id,{unitId,subUnitId,ranges:[range]}),this}clearFormats(){const unitId=this._workbook.getUnitId(),subUnitId=this._worksheet.getSheetId(),commandService=this._injector.get(core.ICommandService),range={startRow:0,endRow:this._worksheet.getRowCount()-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1};return commandService.syncExecuteCommand(sheets.ClearSelectionFormatCommand.id,{unitId,subUnitId,ranges:[range]}),this}getDataRange(){const lastRow=this.getLastRows(),lastColumn=this.getLastColumns();return this.getRange(0,0,lastRow+1,lastColumn+1)}getLastColumns(){return this._worksheet.getLastColumnWithContent()}getLastColumn(){return this._worksheet.getLastColumnWithContent()}getLastRows(){return this._worksheet.getLastRowWithContent()}getLastRow(){return this._worksheet.getLastRowWithContent()}equalTo(other){return other instanceof exports2.FWorksheet?this._worksheet.getSheetId()===other.getSheetId()&&this._workbook.getUnitId()===other.getWorkbook().getUnitId():!1}insertDefinedName(name,formulaOrRefString){const param=this._injector.createInstance(FDefinedNameBuilder).setName(name).setRef(formulaOrRefString).build();param.localSheetId=this.getSheetId(),this._fWorkbook.insertDefinedNameBuilder(param)}getDefinedNames(){return this._fWorkbook.getDefinedNames().filter(name=>name.getLocalSheetId()===this.getSheetId())}setCustomMetadata(custom){return this._worksheet.setCustomMetadata(custom),this}setRowCustomMetadata(index,custom){return this._worksheet.getRowManager().setCustomMetadata(index,custom),this}setColumnCustomMetadata(index,custom){return this._worksheet.getColumnManager().setCustomMetadata(index,custom),this}getRowCustomMetadata(index){return this._worksheet.getRowManager().getCustomMetadata(index)}getColumnCustomMetadata(index){return this._worksheet.getColumnManager().getCustomMetadata(index)}getMergeData(){return this._worksheet.getMergeData().map(merge=>this._injector.createInstance(exports2.FRange,this._workbook,this._worksheet,merge))}},__name(_e,"FWorksheet"),_e),exports2.FWorksheet=__decorateClass$2([__decorateParam$2(3,core.Inject(core.Injector)),__decorateParam$2(4,core.Inject(sheets.SheetsSelectionsService)),__decorateParam$2(5,core.Inject(core.ILogService)),__decorateParam$2(6,core.ICommandService)],exports2.FWorksheet);var __defProp$1=Object.defineProperty,__getOwnPropDesc$1=Object.getOwnPropertyDescriptor,__decorateClass$1=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$1(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$1(target,key,result),result},"__decorateClass$1"),__decorateParam$1=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$1");exports2.FWorkbook=(_f=class extends core.FBaseInitialable{constructor(_workbook,_injector,_resourceLoaderService,_selectionManagerService,_univerInstanceService,_commandService,_permissionService,_logService,_localeService,_definedNamesService){super(_injector);__publicField(this,"id");this._workbook=_workbook,this._injector=_injector,this._resourceLoaderService=_resourceLoaderService,this._selectionManagerService=_selectionManagerService,this._univerInstanceService=_univerInstanceService,this._commandService=_commandService,this._permissionService=_permissionService,this._logService=_logService,this._localeService=_localeService,this._definedNamesService=_definedNamesService,this.id=this._workbook.getUnitId()}getWorkbook(){return this._workbook}getId(){return this.id}getName(){return this._workbook.name}setName(name){this._workbook.setName(name)}save(){return this._resourceLoaderService.saveUnit(this._workbook.getUnitId())}getSnapshot(){return this._logService.warn("use 'save' instead of 'getSnapshot'"),this.save()}getActiveSheet(){const activeSheet=this._workbook.getActiveSheet();return this._injector.createInstance(exports2.FWorksheet,this,this._workbook,activeSheet)}getSheets(){return this._workbook.getSheets().map(sheet=>this._injector.createInstance(exports2.FWorksheet,this,this._workbook,sheet))}create(name,rows,column){const newSheet=core.mergeWorksheetSnapshotWithDefault({});newSheet.rowCount=rows,newSheet.columnCount=column,newSheet.name=name,newSheet.id=name.toLowerCase().replace(/ /g,"-"),this._commandService.syncExecuteCommand(sheets.InsertSheetCommand.id,{unitId:this.id,index:this._workbook.getSheets().length,sheet:newSheet}),this._commandService.syncExecuteCommand(sheets.SetWorksheetActiveOperation.id,{unitId:this.id,subUnitId:this._workbook.getSheets()[this._workbook.getSheets().length-1].getSheetId()});const worksheet=this._workbook.getActiveSheet();if(!worksheet)throw new Error("No active sheet found");return this._injector.createInstance(exports2.FWorksheet,this,this._workbook,worksheet)}getSheetBySheetId(sheetId){const worksheet=this._workbook.getSheetBySheetId(sheetId);return worksheet?this._injector.createInstance(exports2.FWorksheet,this,this._workbook,worksheet):null}getSheetByName(name){const worksheet=this._workbook.getSheetBySheetName(name);return worksheet?this._injector.createInstance(exports2.FWorksheet,this,this._workbook,worksheet):null}setActiveSheet(sheet){return this._commandService.syncExecuteCommand(sheets.SetWorksheetActiveOperation.id,{unitId:this.id,subUnitId:typeof sheet=="string"?sheet:sheet.getSheetId()}),typeof sheet=="string"?this.getSheetBySheetId(sheet):sheet}insertSheet(sheetName){sheetName!=null?this._commandService.syncExecuteCommand(sheets.InsertSheetCommand.id,{sheet:{name:sheetName}}):this._commandService.syncExecuteCommand(sheets.InsertSheetCommand.id);const unitId=this.id,subUnitId=this._workbook.getSheets()[this._workbook.getSheets().length-1].getSheetId();this._commandService.syncExecuteCommand(sheets.SetWorksheetActiveOperation.id,{unitId,subUnitId});const worksheet=this._workbook.getActiveSheet();if(!worksheet)throw new Error("No active sheet found");return this._injector.createInstance(exports2.FWorksheet,this,this._workbook,worksheet)}deleteSheet(sheet){const unitId=this.id,subUnitId=typeof sheet=="string"?sheet:sheet.getSheetId();return this._commandService.syncExecuteCommand(sheets.RemoveSheetCommand.id,{unitId,subUnitId})}undo(){return this._univerInstanceService.focusUnit(this.id),this._commandService.syncExecuteCommand(core.UndoCommand.id),this}redo(){return this._univerInstanceService.focusUnit(this.id),this._commandService.syncExecuteCommand(core.RedoCommand.id),this}onBeforeCommandExecute(callback){return this._commandService.beforeCommandExecuted(command=>{var _a2;((_a2=command.params)==null?void 0:_a2.unitId)===this.id&&callback(command)})}onCommandExecuted(callback){return this._commandService.onCommandExecuted(command=>{var _a2;((_a2=command.params)==null?void 0:_a2.unitId)===this.id&&callback(command)})}onSelectionChange(callback){return core.toDisposable(this._selectionManagerService.selectionMoveEnd$.subscribe(selections=>{this._univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SHEET).getUnitId()===this.id&&(selections!=null&&selections.length?callback(selections.map(s=>s.range)):callback([]))}))}setEditable(value){const instance=new sheets.WorkbookEditablePermission(this._workbook.getUnitId());return this._permissionService.getPermissionPoint(instance.id)||this._permissionService.addPermissionPoint(instance),this._permissionService.updatePermissionPoint(instance.id,value),this}setActiveRange(range){const sheet=this.getActiveSheet(),sheetId=range.getRange().sheetId||sheet.getSheetId(),worksheet=sheetId?this._workbook.getSheetBySheetId(sheetId):this._workbook.getActiveSheet(!0);if(!worksheet)throw new Error("No active sheet found");worksheet.getSheetId()!==sheet.getSheetId()&&this.setActiveSheet(this._injector.createInstance(exports2.FWorksheet,this,this._workbook,worksheet));const setSelectionOperationParams={unitId:this.getId(),subUnitId:sheetId,selections:[range].map(r=>({range:r.getRange(),primary:sheets.getPrimaryForRange(r.getRange(),worksheet),style:null}))};return this._commandService.syncExecuteCommand(sheets.SetSelectionsOperation.id,setSelectionOperationParams),this}getActiveRange(){const activeSheet=this._workbook.getActiveSheet(),active=this._selectionManagerService.getCurrentSelections().find(selection=>!!selection.primary);return active?this._injector.createInstance(exports2.FRange,this._workbook,activeSheet,active.range):null}deleteActiveSheet(){const sheet=this.getActiveSheet();return this.deleteSheet(sheet)}duplicateSheet(sheet){return this._commandService.syncExecuteCommand(sheets.CopySheetCommand.id,{unitId:sheet.getWorkbook().getUnitId(),subUnitId:sheet.getSheetId()}),this._injector.createInstance(exports2.FWorksheet,this,this._workbook,this._workbook.getActiveSheet())}duplicateActiveSheet(){const sheet=this.getActiveSheet();return this.duplicateSheet(sheet)}getNumSheets(){return this._workbook.getSheets().length}getLocale(){return this._localeService.getCurrentLocale()}setLocale(locale){this._localeService.setLocale(locale)}setSpreadsheetLocale(locale){return this._localeService.setLocale(locale),this}getUrl(){return location.href}moveSheet(sheet,index){let sheetIndexVal=index;return sheetIndexVal<0?sheetIndexVal=0:sheetIndexVal>this._workbook.getSheets().length-1&&(sheetIndexVal=this._workbook.getSheets().length-1),this._commandService.syncExecuteCommand(sheets.SetWorksheetOrderCommand.id,{unitId:sheet.getWorkbook().getUnitId(),order:sheetIndexVal,subUnitId:sheet.getSheetId()}),this}moveActiveSheet(index){const sheet=this.getActiveSheet();return this.moveSheet(sheet,index)}getPermission(){return this._injector.createInstance(exports2.FPermission)}getDefinedName(name){const definedName=this._definedNamesService.getValueByName(this.id,name);return definedName?this._injector.createInstance(FDefinedName,{...definedName,unitId:this.id}):null}getDefinedNames(){const definedNames=this._definedNamesService.getDefinedNameMap(this.id);return definedNames?Object.values(definedNames).map(definedName=>this._injector.createInstance(FDefinedName,{...definedName,unitId:this.id})):[]}insertDefinedName(name,formulaOrRefString){const param=this._injector.createInstance(FDefinedNameBuilder).setName(name).setRef(formulaOrRefString).build();return param.localSheetId=sheets.SCOPE_WORKBOOK_VALUE_DEFINED_NAME,this.insertDefinedNameBuilder(param),this}deleteDefinedName(name){const definedName=this.getDefinedName(name);return definedName?(definedName.delete(),!0):!1}insertDefinedNameBuilder(param){param.unitId=this.getId(),this._commandService.syncExecuteCommand(sheets.SetDefinedNameCommand.id,param)}updateDefinedNameBuilder(param){this._commandService.syncExecuteCommand(sheets.SetDefinedNameCommand.id,param)}getRegisteredRangeThemes(){return this._injector.get(sheets.SheetRangeThemeService).getRegisteredRangeThemes()}registerRangeTheme(rangeThemeStyle){this._commandService.syncExecuteCommand(sheets.RegisterWorksheetRangeThemeStyleCommand.id,{unitId:this.getId(),rangeThemeStyle})}unregisterRangeTheme(themeName){this._commandService.syncExecuteCommand(sheets.UnregisterWorksheetRangeThemeStyleCommand.id,{unitId:this.getId(),themeName})}createRangeThemeStyle(themeName,themeStyleJson){return new sheets.RangeThemeStyle(themeName,themeStyleJson)}setCustomMetadata(custom){return this._workbook.setCustomMetadata(custom),this}getCustomMetadata(){return this._workbook.getCustomMetadata()}},__name(_f,"FWorkbook"),_f),exports2.FWorkbook=__decorateClass$1([__decorateParam$1(1,core.Inject(core.Injector)),__decorateParam$1(2,core.Inject(core.IResourceLoaderService)),__decorateParam$1(3,core.Inject(sheets.SheetsSelectionsService)),__decorateParam$1(4,core.IUniverInstanceService),__decorateParam$1(5,core.ICommandService),__decorateParam$1(6,core.IPermissionService),__decorateParam$1(7,core.ILogService),__decorateParam$1(8,core.Inject(core.LocaleService)),__decorateParam$1(9,engineFormula.IDefinedNamesService)],exports2.FWorkbook);const _FUniverSheetsMixin=class _FUniverSheetsMixin extends core.FUniver{getCommandSheetTarget(commandInfo){var _a2;const params=commandInfo.params;if(!params)return;const workbook=params.unitId?this.getUniverSheet(params.unitId):(_a2=this.getActiveWorkbook)==null?void 0:_a2.call(this);if(!workbook)return;const worksheet=workbook.getSheetBySheetId(params.subUnitId||params.sheetId)||workbook.getActiveSheet();if(worksheet)return{workbook,worksheet}}getSheetTarget(unitId,subUnitId){const workbook=this.getUniverSheet(unitId);if(!workbook)return;const worksheet=workbook.getSheetBySheetId(subUnitId);if(worksheet)return{workbook,worksheet}}_initWorkbookEvent(injector){const univerInstanceService=injector.get(core.IUniverInstanceService);this.disposeWithMe(univerInstanceService.unitDisposed$.subscribe(unit=>{this._eventRegistry.get(this.Event.WorkbookDisposed)&&unit.type===core.UniverInstanceType.UNIVER_SHEET&&this.fireEvent(this.Event.WorkbookDisposed,{unitId:unit.getUnitId(),unitType:unit.type,snapshot:unit.getSnapshot()})})),this.disposeWithMe(univerInstanceService.unitAdded$.subscribe(unit=>{if(this._eventRegistry.get(this.Event.WorkbookCreated)&&unit.type===core.UniverInstanceType.UNIVER_SHEET){const workbook=unit,workbookUnit=injector.createInstance(exports2.FWorkbook,workbook);this.fireEvent(this.Event.WorkbookCreated,{unitId:unit.getUnitId(),type:unit.type,workbook:workbookUnit,unit:workbookUnit})}}))}_initialize(injector){const commandService=injector.get(core.ICommandService);this.disposeWithMe(commandService.beforeCommandExecuted(commandInfo=>{var _a2,_b2,_c2,_d2;switch(commandInfo.id){case sheets.InsertSheetCommand.id:{const params=commandInfo.params,{unitId,index,sheet}=params||{},workbook=unitId?this.getUniverSheet(unitId):(_a2=this.getActiveWorkbook)==null?void 0:_a2.call(this);if(!workbook)return;const eventParams={workbook,index,sheet};if(this.fireEvent(this.Event.BeforeSheetCreate,eventParams),eventParams.cancel)throw new core.CanceledError;break}case sheets.SetWorksheetActivateCommand.id:{if(!this._eventListend(this.Event.BeforeActiveSheetChange))return;const{subUnitId:sheetId,unitId}=commandInfo.params,workbook=unitId?this.getUniverSheet(unitId):(_b2=this.getActiveWorkbook)==null?void 0:_b2.call(this);if(!workbook||!sheetId)return;const activeSheet=workbook.getSheetBySheetId(sheetId),oldActiveSheet=workbook.getActiveSheet();if(!activeSheet||!oldActiveSheet)return;this._fireBeforeActiveSheetChange(workbook,activeSheet,oldActiveSheet);break}case sheets.RemoveSheetCommand.id:{if(!this._eventListend(this.Event.BeforeSheetDelete))return;const target=this.getCommandSheetTarget(commandInfo);if(!target)return;const{workbook,worksheet}=target;this._fireBeforeSheetDelete(workbook,worksheet);break}case sheets.SetWorksheetOrderCommand.id:{if(!this._eventListend(this.Event.BeforeSheetMove))return;const{fromOrder,toOrder}=commandInfo.params,target=this.getCommandSheetTarget(commandInfo);if(!target)return;this._fireBeforeSheetMove(target.workbook,target.worksheet,toOrder,fromOrder);break}case sheets.SetWorksheetNameCommand.id:{if(!this._eventListend(this.Event.BeforeSheetNameChange))return;const{name}=commandInfo.params,target=this.getCommandSheetTarget(commandInfo);if(!target)return;this._fireBeforeSheetNameChange(target.workbook,target.worksheet,name,target.worksheet.getSheetName());break}case sheets.SetTabColorCommand.id:{if(!this._eventListend(this.Event.BeforeSheetTabColorChange))return;const{color}=commandInfo.params,target=this.getCommandSheetTarget(commandInfo);if(!target)return;this._fireBeforeSheetTabColorChange(target.workbook,target.worksheet,color,target.worksheet.getTabColor());break}case sheets.SetWorksheetHideCommand.id:{if(!this._eventListend(this.Event.BeforeSheetHideChange))return;const{hidden}=commandInfo.params,target=this.getCommandSheetTarget(commandInfo);if(!target)return;this._fireBeforeSheetHideChange(target.workbook,target.worksheet,!!hidden);break}case sheets.SetGridlinesColorCommand.id:{if(!this._eventListend(this.Event.BeforeGridlineColorChange))return;const target=this.getCommandSheetTarget(commandInfo);if(!target)return;this.fireEvent(this.Event.BeforeGridlineColorChange,{...target,color:(_c2=commandInfo.params)==null?void 0:_c2.color});break}case sheets.ToggleGridlinesCommand.id:{if(!this._eventListend(this.Event.BeforeGridlineEnableChange))return;const target=this.getCommandSheetTarget(commandInfo);if(!target)return;this.fireEvent(this.Event.BeforeGridlineEnableChange,{...target,enabled:!!((_d2=commandInfo.params)!=null&&_d2.showGridlines)});break}}})),this.disposeWithMe(commandService.onCommandExecuted(commandInfo=>{var _a2,_b2;if(sheets.COMMAND_LISTENER_VALUE_CHANGE.indexOf(commandInfo.id)>-1){if(!this._eventListend(this.Event.SheetValueChanged)||!this.getActiveSheet())return;const ranges=sheets.getValueChangedEffectedRange(commandInfo).map(range=>{var _a3,_b3;return(_b3=(_a3=this.getWorkbook(range.unitId))==null?void 0:_a3.getSheetBySheetId(range.subUnitId))==null?void 0:_b3.getRange(range.range)}).filter(Boolean);if(!ranges.length)return;this.fireEvent(this.Event.SheetValueChanged,{payload:commandInfo,effectedRanges:ranges});return}switch(commandInfo.id){case sheets.InsertSheetCommand.id:{const params=commandInfo.params,{unitId}=params||{},workbook=unitId?this.getUniverSheet(unitId):(_a2=this.getActiveWorkbook)==null?void 0:_a2.call(this);if(!workbook)return;const worksheet=workbook.getActiveSheet();if(!worksheet)return;const eventParams={workbook,worksheet};this.fireEvent(this.Event.SheetCreated,eventParams);break}case sheets.SetWorksheetActivateCommand.id:{if(!this._eventListend(this.Event.ActiveSheetChanged))return;const target=this.getActiveSheet();if(!target)return;const{workbook,worksheet:activeSheet}=target;this._fireActiveSheetChanged(workbook,activeSheet);break}case sheets.RemoveSheetCommand.id:{if(!this._eventListend(this.Event.SheetDeleted))return;const{subUnitId:sheetId,unitId}=commandInfo.params,workbook=unitId?this.getUniverSheet(unitId):(_b2=this.getActiveWorkbook)==null?void 0:_b2.call(this);if(!workbook||!sheetId)return;this._fireSheetDeleted(workbook,sheetId);break}case sheets.SetWorksheetOrderCommand.id:{if(!this._eventListend(this.Event.SheetMoved))return;const{toOrder:toIndex}=commandInfo.params,target=this.getCommandSheetTarget(commandInfo);if(!target)return;this._fireSheetMoved(target.workbook,target.worksheet,toIndex);break}case sheets.SetWorksheetNameCommand.id:{if(!this._eventListend(this.Event.SheetNameChanged))return;const{name}=commandInfo.params,target=this.getCommandSheetTarget(commandInfo);if(!target)return;this._fireSheetNameChanged(target.workbook,target.worksheet,name);break}case sheets.SetTabColorCommand.id:{if(!this._eventListend(this.Event.SheetTabColorChanged))return;const{color}=commandInfo.params,target=this.getCommandSheetTarget(commandInfo);if(!target)return;this._fireSheetTabColorChanged(target.workbook,target.worksheet,color);break}case sheets.SetWorksheetHideCommand.id:{if(!this._eventListend(this.Event.SheetHideChanged))return;const{hidden}=commandInfo.params,target=this.getCommandSheetTarget(commandInfo);if(!target)return;this._fireSheetHideChanged(target.workbook,target.worksheet,!!hidden);break}case sheets.SetGridlinesColorCommand.id:case sheets.ToggleGridlinesCommand.id:{if(!this._eventListend(this.Event.GridlineChanged))return;const target=this.getCommandSheetTarget(commandInfo);if(!target)return;this.fireEvent(this.Event.GridlineChanged,{...target,enabled:!target.worksheet.hasHiddenGridLines(),color:target.worksheet.getGridLinesColor()});break}}})),this._initWorkbookEvent(injector)}createUniverSheet(data){const workbook=this._injector.get(core.IUniverInstanceService).createUnit(core.UniverInstanceType.UNIVER_SHEET,data);return this._injector.createInstance(exports2.FWorkbook,workbook)}createWorkbook(data){return this.createUniverSheet(data)}getActiveWorkbook(){const workbook=this._univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SHEET);return workbook?this._injector.createInstance(exports2.FWorkbook,workbook):null}getActiveUniverSheet(){return this.getActiveWorkbook()}getUniverSheet(id){const workbook=this._univerInstanceService.getUnit(id,core.UniverInstanceType.UNIVER_SHEET);return workbook?this._injector.createInstance(exports2.FWorkbook,workbook):null}getWorkbook(id){return this.getUniverSheet(id)}getPermission(){return this._injector.createInstance(exports2.FPermission)}onUniverSheetCreated(callback){const subscription=this._univerInstanceService.getTypeOfUnitAdded$(core.UniverInstanceType.UNIVER_SHEET).subscribe(workbook=>{const fworkbook=this._injector.createInstance(exports2.FWorkbook,workbook);callback(fworkbook)});return core.toDisposable(subscription)}newDefinedName(){return this._injector.createInstance(FDefinedNameBuilder)}getActiveSheet(){const workbook=this.getActiveWorkbook();if(!workbook)return null;const worksheet=workbook.getActiveSheet();return worksheet?{workbook,worksheet}:null}_fireBeforeActiveSheetChange(workbook,newActiveSheet,oldActiveSheet){this.fireEvent(this.Event.BeforeActiveSheetChange,{workbook,activeSheet:newActiveSheet,oldActiveSheet})}_fireActiveSheetChanged(workbook,newActiveSheet){this.fireEvent(this.Event.ActiveSheetChanged,{workbook,activeSheet:newActiveSheet})}_fireBeforeSheetDelete(workbook,worksheet){this.fireEvent(this.Event.BeforeSheetDelete,{workbook,worksheet})}_fireSheetDeleted(workbook,sheetId){this.fireEvent(this.Event.SheetDeleted,{workbook,sheetId})}_fireBeforeSheetMove(workbook,worksheet,toIndex,fromIndex){this.fireEvent(this.Event.BeforeSheetMove,{workbook,worksheet,newIndex:toIndex,oldIndex:fromIndex})}_fireSheetMoved(workbook,worksheet,toIndex){this.fireEvent(this.Event.SheetMoved,{workbook,worksheet,newIndex:toIndex})}_fireBeforeSheetNameChange(workbook,worksheet,newName,oldName){this.fireEvent(this.Event.BeforeSheetNameChange,{workbook,worksheet,newName,oldName})}_fireSheetNameChanged(workbook,worksheet,newName){this.fireEvent(this.Event.SheetNameChanged,{workbook,worksheet,newName})}_fireBeforeSheetTabColorChange(workbook,worksheet,newColor,oldColor){this.fireEvent(this.Event.BeforeSheetTabColorChange,{workbook,worksheet,newColor,oldColor})}_fireSheetTabColorChanged(workbook,worksheet,newColor){this.fireEvent(this.Event.SheetTabColorChanged,{workbook,worksheet,newColor})}_fireBeforeSheetHideChange(workbook,worksheet,hidden){this.fireEvent(this.Event.BeforeSheetHideChange,{workbook,worksheet,hidden})}_fireSheetHideChanged(workbook,worksheet,hidden){this.fireEvent(this.Event.SheetHideChanged,{workbook,worksheet,hidden})}};__name(_FUniverSheetsMixin,"FUniverSheetsMixin");let FUniverSheetsMixin=_FUniverSheetsMixin;core.FUniver.extend(FUniverSheetsMixin);const _FSheetsEnum=class _FSheetsEnum{get SheetValueChangeType(){return sheets.SheetValueChangeType}get SheetSkeletonChangeType(){return sheets.SheetSkeletonChangeType}};__name(_FSheetsEnum,"FSheetsEnum");let FSheetsEnum=_FSheetsEnum;core.FEnum.extend(FSheetsEnum);const _FSheetEventName=class _FSheetEventName extends core.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"}};__name(_FSheetEventName,"FSheetEventName");let FSheetEventName=_FSheetEventName;core.FEventName.extend(FSheetEventName);var __defProp2=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__decorateClass=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp2(target,key,result),result},"__decorateClass"),__decorateParam=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam");exports2.FSheetHooks=(_g=class extends core.FBase{constructor(_injector){super(),this._injector=_injector}},__name(_g,"FSheetHooks"),_g),exports2.FSheetHooks=__decorateClass([__decorateParam(0,core.Inject(core.Injector))],exports2.FSheetHooks),exports2.FSheetEventName=FSheetEventName,exports2.FSheetsEnum=FSheetsEnum,Object.defineProperty(exports2,Symbol.toStringTag,{value:"Module"})});