@univerjs/sheets-ui 0.14.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/lib/cjs/facade.js +1 -1
  2. package/lib/cjs/index.js +14 -14
  3. package/lib/cjs/locale/ca-ES.js +1 -1
  4. package/lib/cjs/locale/en-US.js +1 -1
  5. package/lib/cjs/locale/es-ES.js +1 -1
  6. package/lib/cjs/locale/fa-IR.js +1 -1
  7. package/lib/cjs/locale/fr-FR.js +1 -1
  8. package/lib/cjs/locale/ja-JP.js +1 -1
  9. package/lib/cjs/locale/ko-KR.js +1 -1
  10. package/lib/cjs/locale/ru-RU.js +1 -1
  11. package/lib/cjs/locale/vi-VN.js +1 -1
  12. package/lib/cjs/locale/zh-CN.js +1 -1
  13. package/lib/cjs/locale/zh-TW.js +1 -1
  14. package/lib/es/facade.js +83 -82
  15. package/lib/es/index.js +5855 -5678
  16. package/lib/es/locale/ca-ES.js +5 -2
  17. package/lib/es/locale/en-US.js +5 -2
  18. package/lib/es/locale/es-ES.js +5 -2
  19. package/lib/es/locale/fa-IR.js +5 -2
  20. package/lib/es/locale/fr-FR.js +5 -2
  21. package/lib/es/locale/ja-JP.js +5 -2
  22. package/lib/es/locale/ko-KR.js +5 -2
  23. package/lib/es/locale/ru-RU.js +5 -2
  24. package/lib/es/locale/vi-VN.js +5 -2
  25. package/lib/es/locale/zh-CN.js +5 -2
  26. package/lib/es/locale/zh-TW.js +5 -2
  27. package/lib/facade.js +83 -82
  28. package/lib/index.js +5855 -5678
  29. package/lib/locale/ca-ES.js +5 -2
  30. package/lib/locale/en-US.js +5 -2
  31. package/lib/locale/es-ES.js +5 -2
  32. package/lib/locale/fa-IR.js +5 -2
  33. package/lib/locale/fr-FR.js +5 -2
  34. package/lib/locale/ja-JP.js +5 -2
  35. package/lib/locale/ko-KR.js +5 -2
  36. package/lib/locale/ru-RU.js +5 -2
  37. package/lib/locale/vi-VN.js +5 -2
  38. package/lib/locale/zh-CN.js +5 -2
  39. package/lib/locale/zh-TW.js +5 -2
  40. package/lib/types/commands/commands/set-frozen.command.d.ts +5 -1
  41. package/lib/types/components/menu-item-frozen/MenuItemFrozen.d.ts +2 -0
  42. package/lib/types/components/menu-item-frozen/index.d.ts +17 -0
  43. package/lib/types/components/menu-item-frozen/interface.d.ts +5 -0
  44. package/lib/types/controllers/clipboard/utils.d.ts +1 -1
  45. package/lib/types/controllers/menu/frozen.menu.d.ts +14 -0
  46. package/lib/types/controllers/menu/menu.d.ts +0 -8
  47. package/lib/types/facade/f-enum.d.ts +18 -0
  48. package/lib/types/facade/f-worksheet.d.ts +19 -4
  49. package/lib/types/facade/index.d.ts +1 -0
  50. package/lib/types/index.d.ts +1 -1
  51. package/lib/types/locale/en-US.d.ts +3 -0
  52. package/lib/types/views/defined-name/DefinedNameOverlay.d.ts +4 -1
  53. package/lib/umd/facade.js +1 -1
  54. package/lib/umd/index.js +13 -13
  55. package/lib/umd/locale/ca-ES.js +1 -1
  56. package/lib/umd/locale/en-US.js +1 -1
  57. package/lib/umd/locale/es-ES.js +1 -1
  58. package/lib/umd/locale/fa-IR.js +1 -1
  59. package/lib/umd/locale/fr-FR.js +1 -1
  60. package/lib/umd/locale/ja-JP.js +1 -1
  61. package/lib/umd/locale/ko-KR.js +1 -1
  62. package/lib/umd/locale/ru-RU.js +1 -1
  63. package/lib/umd/locale/vi-VN.js +1 -1
  64. package/lib/umd/locale/zh-CN.js +1 -1
  65. package/lib/umd/locale/zh-TW.js +1 -1
  66. package/package.json +16 -16
@@ -225,8 +225,11 @@ const e = {
225
225
  generateNewMatrix: "Generar nova matriu",
226
226
  fitContent: "Ajustar a les dades",
227
227
  freeze: "Immobilitzar",
228
- freezeCol: "Immobilitzar fins a aquesta columna",
229
- freezeRow: "Immobilitzar fins a aquesta fila",
228
+ freezeCell: "Immobilitzar fins a la cel·la activa ({0} fila {1} columna)",
229
+ freezeCol: "Immobilitzar fins columna {0}",
230
+ freezeRow: "Immobilitzar fins fila {0}",
231
+ freezeFirstCol: "Immobilitzar primera columna",
232
+ freezeFirstRow: "Immobilitzar primera fila",
230
233
  cancelFreeze: "Mobilitzar panells",
231
234
  deleteAllRowsAlert: "No podeu suprimir totes les files del full",
232
235
  deleteAllColumnsAlert: "No podeu suprimir totes les columnes del full",
@@ -225,8 +225,11 @@ const e = {
225
225
  generateNewMatrix: "Generate new matrix",
226
226
  fitContent: "Fit for data",
227
227
  freeze: "Freeze",
228
- freezeCol: "Freeze to this column",
229
- freezeRow: "Freeze to this row",
228
+ freezeCell: "Freeze to active cell ({0} row {1} column)",
229
+ freezeCol: "Freeze to column {0}",
230
+ freezeRow: "Freeze to row {0}",
231
+ freezeFirstCol: "Freeze first column",
232
+ freezeFirstRow: "Freeze first row",
230
233
  cancelFreeze: "Cancel freeze",
231
234
  deleteAllRowsAlert: "You can't delete all the rows on the sheet",
232
235
  deleteAllColumnsAlert: "You can't delete all the columns on the sheet",
@@ -225,8 +225,11 @@ const e = {
225
225
  generateNewMatrix: "Generar nueva matriz",
226
226
  fitContent: "Ajustar al contenido",
227
227
  freeze: "Inmovilizar",
228
- freezeCol: "Inmovilizar hasta esta columna",
229
- freezeRow: "Inmovilizar hasta esta fila",
228
+ freezeCell: "Inmovilizar hasta la celda activa ({0} fila {1} columna)",
229
+ freezeCol: "Inmovilizar hasta columna {0}",
230
+ freezeRow: "Inmovilizar hasta fila {0}",
231
+ freezeFirstCol: "Inmovilizar primera columna",
232
+ freezeFirstRow: "Inmovilizar primera fila",
230
233
  cancelFreeze: "Movilizar paneles",
231
234
  deleteAllRowsAlert: "No puedes eliminar todas las filas de la hoja",
232
235
  deleteAllColumnsAlert: "No puedes eliminar todas las columnas de la hoja",
@@ -225,8 +225,11 @@ const e = {
225
225
  generateNewMatrix: "ایجاد ماتریس جدید",
226
226
  fitContent: "مناسب برای داده‌ها",
227
227
  freeze: "انجماد",
228
- freezeCol: "انجماد در این ستون",
229
- freezeRow: "انجماد در این سطر",
228
+ freezeCell: "انجماد تا سلول فعال ({0} سطر {1} ستون)",
229
+ freezeCol: "انجماد تا ستون {0}",
230
+ freezeRow: "انجماد تا سطر {0}",
231
+ freezeFirstCol: "انجماد اولین ستون",
232
+ freezeFirstRow: "انجماد اولین سطر",
230
233
  cancelFreeze: "لغو انجماد",
231
234
  deleteAllRowsAlert: "شما نمی‌توانید تمام سطرهای برگه را حذف کنید",
232
235
  deleteAllColumnsAlert: "شما نمی‌توانید تمام ستون‌های برگه را حذف کنید",
@@ -225,8 +225,11 @@ const e = {
225
225
  generateNewMatrix: "Générer une nouvelle matrice",
226
226
  fitContent: "Adapter au contenu",
227
227
  freeze: "Figer",
228
- freezeCol: "Figer jusqu'à cette colonne",
229
- freezeRow: "Figer jusqu'à cette ligne",
228
+ freezeCell: "Figer jusqu'à la cellule active ({0} ligne {1} colonne)",
229
+ freezeCol: "Figer jusqu'à la colonne {0}",
230
+ freezeRow: "Figer jusqu'à la ligne {0}",
231
+ freezeFirstCol: "Figer la première colonne",
232
+ freezeFirstRow: "Figer la première ligne",
230
233
  cancelFreeze: "Annuler le figement",
231
234
  deleteAllRowsAlert: "Vous ne pouvez pas supprimer toutes les lignes de la feuille",
232
235
  deleteAllColumnsAlert: "Vous ne pouvez pas supprimer toutes les colonnes de la feuille",
@@ -225,8 +225,11 @@ const e = {
225
225
  generateNewMatrix: "新しい行列を生成",
226
226
  fitContent: "内容に合わせる",
227
227
  freeze: "固定",
228
- freezeCol: "この列を固定",
229
- freezeRow: "この行を固定",
228
+ freezeCell: "アクティブセルまで固定({0}行 {1}列)",
229
+ freezeCol: "列{0}まで固定",
230
+ freezeRow: "行{0}まで固定",
231
+ freezeFirstCol: "最初の列を固定",
232
+ freezeFirstRow: "最初の行を固定",
230
233
  cancelFreeze: "固定を解除",
231
234
  deleteAllRowsAlert: "すべての行を削除できません",
232
235
  deleteAllColumnsAlert: "すべての列を削除できません",
@@ -225,8 +225,11 @@ const e = {
225
225
  generateNewMatrix: "새 행렬 생성",
226
226
  fitContent: "데이터에 맞게 조정",
227
227
  freeze: "고정",
228
- freezeCol: " 열에 고정",
229
- freezeRow: " 행에 고정",
228
+ freezeCell: "활성 셀까지 고정 ({0}행 {1}열)",
229
+ freezeCol: "{0}열까지 고정",
230
+ freezeRow: "{0}행까지 고정",
231
+ freezeFirstCol: "첫 번째 열 고정",
232
+ freezeFirstRow: "첫 번째 행 고정",
230
233
  cancelFreeze: "고정 해제",
231
234
  deleteAllRowsAlert: "행을 모두 삭제할 수 없습니다",
232
235
  deleteAllColumnsAlert: "열을 모두 삭제할 수 없습니다",
@@ -225,8 +225,11 @@ const e = {
225
225
  generateNewMatrix: "Создать новую матрицу",
226
226
  fitContent: "Подогнать под данные",
227
227
  freeze: "Закрепить",
228
- freezeCol: "Закрепить до этого столбца",
229
- freezeRow: "Закрепить до этой строки",
228
+ freezeCell: "Закрепить до активной ячейки ({0} строка {1} столбец)",
229
+ freezeCol: "Закрепить до {0} столбца",
230
+ freezeRow: "Закрепить до {0} строки",
231
+ freezeFirstCol: "Закрепить первый столбец",
232
+ freezeFirstRow: "Закрепить первую строку",
230
233
  cancelFreeze: "Отменить закрепление",
231
234
  deleteAllRowsAlert: "Нельзя удалить все строки на листе",
232
235
  deleteAllColumnsAlert: "Нельзя удалить все столбцы на листе",
@@ -225,8 +225,11 @@ const n = {
225
225
  generateNewMatrix: "Tạo ma trận mới",
226
226
  fitContent: "Vừa dữ liệu",
227
227
  freeze: "Đóng băng",
228
- freezeCol: "Đóng băng cột",
229
- freezeRow: "Đóng băng hàng",
228
+ freezeCell: "Đóng băng đến ô hiện tại ({0} hàng {1} cột)",
229
+ freezeCol: "Đóng băng đến cột {0}",
230
+ freezeRow: "Đóng băng đến hàng {0}",
231
+ freezeFirstCol: "Đóng băng cột đầu tiên",
232
+ freezeFirstRow: "Đóng băng hàng đầu tiên",
230
233
  cancelFreeze: "Hủy đóng băng",
231
234
  deleteAllRowsAlert: "Bạn không thể xóa tất cả các hàng trong trang bảng",
232
235
  deleteAllColumnsAlert: "Bạn không thể xóa tất cả các cột trong trang bảng",
@@ -226,8 +226,11 @@ const e = {
226
226
  generateNewMatrix: "生成新矩阵",
227
227
  fitContent: "适合数据",
228
228
  freeze: "冻结",
229
- freezeCol: "冻结列",
230
- freezeRow: "冻结行",
229
+ freezeCell: "冻结至活动单元格({0}行{1}列)",
230
+ freezeCol: "冻结至第 {0} 列",
231
+ freezeRow: "冻结至第 {0} 行",
232
+ freezeFirstCol: "冻结首列",
233
+ freezeFirstRow: "冻结首行",
231
234
  cancelFreeze: "取消冻结",
232
235
  deleteAllRowsAlert: "您无法删除工作表上的所有行",
233
236
  deleteAllColumnsAlert: "您无法删除工作表上的所有列",
@@ -226,8 +226,11 @@ const e = {
226
226
  generateNewMatrix: "產生新矩陣",
227
227
  fitContent: "適合數據",
228
228
  freeze: "凍結窗格",
229
- freezeCol: "凍結欄",
230
- freezeRow: "凍結列",
229
+ freezeCell: "凍結至目前儲存格(第 {0} 列 {1} 欄)",
230
+ freezeCol: "凍結至第 {0} 欄",
231
+ freezeRow: "凍結至第 {0} 列",
232
+ freezeFirstCol: "凍結第一欄",
233
+ freezeFirstRow: "凍結第一列",
231
234
  cancelFreeze: "取消凍結",
232
235
  deleteAllRowsAlert: "您無法刪除工作表上的所有列",
233
236
  deleteAllColumnsAlert: "您無法刪除工作表上的所有欄",
@@ -2,7 +2,9 @@ import { ICommand } from '@univerjs/core';
2
2
  export declare enum SetSelectionFrozenType {
3
3
  RowColumn = 0,
4
4
  Row = 1,
5
- Column = 2
5
+ Column = 2,
6
+ FirstRow = 3,
7
+ FirstColumn = 4
6
8
  }
7
9
  export interface ISetSelectionFrozenCommandParams {
8
10
  type?: SetSelectionFrozenType;
@@ -10,3 +12,5 @@ export interface ISetSelectionFrozenCommandParams {
10
12
  export declare const SetSelectionFrozenCommand: ICommand<ISetSelectionFrozenCommandParams>;
11
13
  export declare const SetRowFrozenCommand: ICommand;
12
14
  export declare const SetColumnFrozenCommand: ICommand;
15
+ export declare const SetFirstRowFrozenCommand: ICommand;
16
+ export declare const SetFirstColumnFrozenCommand: ICommand;
@@ -0,0 +1,2 @@
1
+ import { IMenuItemFrozenProps } from './interface';
2
+ export declare const MenuItemFrozen: (props: IMenuItemFrozenProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Copyright 2023-present DreamNum Co., Ltd.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ export { MENU_ITEM_FROZEN_COMPONENT } from './interface';
17
+ export { MenuItemFrozen } from './MenuItemFrozen';
@@ -0,0 +1,5 @@
1
+ import { ICustomComponentProps } from '@univerjs/ui';
2
+ export declare const MENU_ITEM_FROZEN_COMPONENT = "UI_PLUGIN_SHEETS_MENU_ITEM_FROZEN_COMPONENT";
3
+ export interface IMenuItemFrozenProps extends ICustomComponentProps<string> {
4
+ type: 'row' | 'col' | 'all';
5
+ }
@@ -86,8 +86,8 @@ export declare function getClearCellValueMutations(pasteTo: ISheetDiscreteRangeL
86
86
  * @param accessor
87
87
  */
88
88
  export declare function getClearAndSetMergeMutations(pasteTo: ISheetDiscreteRangeLocation, matrix: ObjectMatrix<ICellDataWithSpanInfo>, accessor: IAccessor): {
89
- undos: IMutationInfo<object>[];
90
89
  redos: IMutationInfo<object>[];
90
+ undos: IMutationInfo<object>[];
91
91
  };
92
92
  /**
93
93
  *
@@ -0,0 +1,14 @@
1
+ import { IAccessor } from '@univerjs/core';
2
+ import { IMenuButtonItem, IMenuSelectorItem } from '@univerjs/ui';
3
+ export declare const SHEET_FROZEN_MENU_ID = "sheet.menu.sheet-frozen";
4
+ export declare function SheetFrozenMenuItemFactory(accessor: IAccessor): IMenuSelectorItem<string>;
5
+ export declare const SHEET_FROZEN_COLUMN_HEADER_MENU_ID = "sheet.column-header-menu.sheet-frozen";
6
+ export declare function SheetFrozenColumnHeaderMenuItemFactory(accessor: IAccessor): IMenuSelectorItem<string>;
7
+ export declare const SHEET_FROZEN_ROW_HEADER_MENU_ID = "sheet.row-header-menu.sheet-frozen";
8
+ export declare function SheetFrozenRowHeaderMenuItemFactory(accessor: IAccessor): IMenuSelectorItem<string>;
9
+ export declare function FrozenMenuItemFactory(accessor: IAccessor): IMenuButtonItem;
10
+ export declare function FrozenRowMenuItemFactory(accessor: IAccessor): IMenuButtonItem;
11
+ export declare function FrozenColMenuItemFactory(accessor: IAccessor): IMenuButtonItem;
12
+ export declare function FrozenFirstRowMenuItemFactory(accessor: IAccessor): IMenuButtonItem;
13
+ export declare function FrozenFirstColMenuItemFactory(accessor: IAccessor): IMenuButtonItem;
14
+ export declare function CancelFrozenMenuItemFactory(accessor: IAccessor): IMenuButtonItem;
@@ -57,14 +57,6 @@ export declare function PasteColWidthMenuItemFactory(accessor: IAccessor): IMenu
57
57
  export declare function PasteBesidesBorderMenuItemFactory(accessor: IAccessor): IMenuButtonItem<string>;
58
58
  export declare function FitContentMenuItemFactory(accessor: IAccessor): IMenuButtonItem;
59
59
  export declare function ColAutoWidthMenuItemFactory(accessor: IAccessor): IMenuButtonItem;
60
- export declare const SHEET_FROZEN_MENU_ID = "sheet.menu.sheet-frozen";
61
- export declare function SheetFrozenMenuItemFactory(accessor: IAccessor): IMenuSelectorItem<string>;
62
- export declare const SHEET_FROZEN_HEADER_MENU_ID = "sheet.header-menu.sheet-frozen";
63
- export declare function SheetFrozenHeaderMenuItemFactory(accessor: IAccessor): IMenuSelectorItem<string>;
64
- export declare function FrozenMenuItemFactory(accessor: IAccessor): IMenuButtonItem;
65
- export declare function FrozenRowMenuItemFactory(accessor: IAccessor): IMenuButtonItem;
66
- export declare function FrozenColMenuItemFactory(accessor: IAccessor): IMenuButtonItem;
67
- export declare function CancelFrozenMenuItemFactory(accessor: IAccessor): IMenuButtonItem;
68
60
  export declare function HideRowMenuItemFactory(accessor: IAccessor): IMenuButtonItem;
69
61
  export declare function HideColMenuItemFactory(accessor: IAccessor): IMenuButtonItem;
70
62
  export declare function ShowRowMenuItemFactory(accessor: IAccessor): IMenuButtonItem;
@@ -0,0 +1,18 @@
1
+ import { SHEET_VIEWPORT_KEY } from '@univerjs/engine-render';
2
+ /**
3
+ * @ignore
4
+ */
5
+ export interface IFSheetsUIEnum {
6
+ /**
7
+ * Sheet value change command types. These commands affect the content or style of cells.
8
+ * Includes operations like setting cell values, moving ranges, merging cells, and applying styles.
9
+ */
10
+ SHEET_VIEWPORT_KEY: typeof SHEET_VIEWPORT_KEY;
11
+ }
12
+ export declare class FSheetsUIEnum implements IFSheetsUIEnum {
13
+ get SHEET_VIEWPORT_KEY(): typeof SHEET_VIEWPORT_KEY;
14
+ }
15
+ declare module '@univerjs/core/facade' {
16
+ interface FEnum extends IFSheetsUIEnum {
17
+ }
18
+ }
@@ -1,5 +1,5 @@
1
1
  import { IDisposable, IRange, ISelectionCell, Nullable } from '@univerjs/core';
2
- import { IColumnsHeaderCfgParam, IRowsHeaderCfgParam, SpreadsheetSkeleton } from '@univerjs/engine-render';
2
+ import { IColumnsHeaderCfgParam, IRowsHeaderCfgParam, SpreadsheetSkeleton, SHEET_VIEWPORT_KEY } from '@univerjs/engine-render';
3
3
  import { ISelectionStyle } from '@univerjs/sheets';
4
4
  import { IScrollState, IViewportScrollState } from '@univerjs/sheets-ui';
5
5
  import { FRange, FWorksheet } from '@univerjs/sheets/facade';
@@ -65,7 +65,7 @@ export interface IFWorksheetSkeletonMixin {
65
65
  */
66
66
  getZoom(): number;
67
67
  /**
68
- * Return visible range, sum view range of 4 viewports.
68
+ * Get visible range of main viewport.
69
69
  * @returns {IRange} - visible range
70
70
  * @example
71
71
  * ```ts
@@ -76,7 +76,21 @@ export interface IFWorksheetSkeletonMixin {
76
76
  * console.log(fWorksheet.getRange(visibleRange).getA1Notation());
77
77
  * ```
78
78
  */
79
- getVisibleRange(): IRange;
79
+ getVisibleRange(): IRange | null;
80
+ /**
81
+ * Get visible ranges of all viewports.
82
+ * @returns {Record<SHEET_VIEWPORT_KEY, IRange>} - visible ranges of all viewports
83
+ * @example
84
+ * ```ts
85
+ * const fWorkbook = univerAPI.getActiveWorkbook();
86
+ * const fWorksheet = fWorkbook.getActiveSheet();
87
+ * const visibleRanges = fWorksheet.getVisibleRangesOfAllViewports();
88
+ * console.log(visibleRanges);
89
+ * const mainLeftTopViewportRange = visibleRanges?.get(univerAPI.Enum.SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP);
90
+ * console.log(fWorksheet.getRange(mainLeftTopViewportRange).getA1Notation());
91
+ * ```
92
+ */
93
+ getVisibleRangesOfAllViewports(): Map<SHEET_VIEWPORT_KEY, IRange> | null;
80
94
  /**
81
95
  * Scroll spreadsheet(viewMain) to cell position. Make the cell at topleft of current viewport.
82
96
  * Based on the limitations of viewport and the number of rows and columns, you can only scroll to the maximum scrollable range.
@@ -272,7 +286,8 @@ export declare class FWorksheetSkeletonMixin extends FWorksheet implements IFWor
272
286
  highlightRanges(ranges: FRange[], style?: Nullable<Partial<ISelectionStyle>>, primary?: Nullable<ISelectionCell>): IDisposable;
273
287
  zoom(zoomRatio: number): FWorksheet;
274
288
  getZoom(): number;
275
- getVisibleRange(): IRange;
289
+ getVisibleRange(): IRange | null;
290
+ getVisibleRangesOfAllViewports(): Map<SHEET_VIEWPORT_KEY, IRange> | null;
276
291
  scrollToCell(row: number, column: number, duration?: number): FWorksheet;
277
292
  getScrollState(): IScrollState;
278
293
  onScroll(callback: (params: Nullable<IViewportScrollState>) => void): IDisposable;
@@ -19,6 +19,7 @@ import './f-worksheet';
19
19
  import './f-permission';
20
20
  import './f-sheet-hooks';
21
21
  import './f-event';
22
+ export * from './f-enum';
22
23
  export type * from './f-event';
23
24
  export type * from './f-permission';
24
25
  export { type IFComponentKey, transformComponentKey } from './f-range';
@@ -29,7 +29,7 @@ export { RefillCommand } from './commands/commands/refill.command';
29
29
  export { RemoveColConfirmCommand, RemoveRowConfirmCommand } from './commands/commands/remove-row-col-confirm.command';
30
30
  export { RemoveSheetConfirmCommand } from './commands/commands/remove-sheet-confirm.command';
31
31
  export { ApplyFormatPainterCommand, SetInfiniteFormatPainterCommand, SetOnceFormatPainterCommand } from './commands/commands/set-format-painter.command';
32
- export { SetColumnFrozenCommand, SetRowFrozenCommand, SetSelectionFrozenCommand } from './commands/commands/set-frozen.command';
32
+ export { SetColumnFrozenCommand, SetFirstColumnFrozenCommand, SetFirstRowFrozenCommand, SetRowFrozenCommand, SetSelectionFrozenCommand } from './commands/commands/set-frozen.command';
33
33
  export { type IScrollCommandParams, type IScrollToCellCommandParams, type ISetScrollRelativeCommandParams, ResetScrollCommand, ScrollCommand, ScrollToCellCommand, SetScrollRelativeCommand, } from './commands/commands/set-scroll.command';
34
34
  export { ExpandSelectionCommand, JumpOver, MoveSelectionCommand, MoveSelectionEnterAndTabCommand, SelectAllCommand } from './commands/commands/set-selection.command';
35
35
  export { SetWorksheetColAutoWidthCommand } from './commands/commands/set-worksheet-auto-col-width.command';
@@ -240,8 +240,11 @@ declare const locale: {
240
240
  generateNewMatrix: string;
241
241
  fitContent: string;
242
242
  freeze: string;
243
+ freezeCell: string;
243
244
  freezeCol: string;
244
245
  freezeRow: string;
246
+ freezeFirstCol: string;
247
+ freezeFirstRow: string;
245
248
  cancelFreeze: string;
246
249
  deleteAllRowsAlert: string;
247
250
  deleteAllColumnsAlert: string;
@@ -13,4 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- export declare function DefinedNameOverlay(): import("react/jsx-runtime").JSX.Element;
16
+ export declare function DefinedNameOverlay({ search, isInputEvent }: {
17
+ search: string;
18
+ isInputEvent: boolean;
19
+ }): import("react/jsx-runtime").JSX.Element;
package/lib/umd/facade.js CHANGED
@@ -1 +1 @@
1
- (function(p,h){typeof exports=="object"&&typeof module<"u"?h(exports,require("@univerjs/core"),require("@univerjs/core/facade"),require("@univerjs/docs"),require("@univerjs/engine-render"),require("@univerjs/sheets"),require("@univerjs/sheets-ui"),require("@univerjs/sheets/facade"),require("@univerjs/ui"),require("rxjs")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/core/facade","@univerjs/docs","@univerjs/engine-render","@univerjs/sheets","@univerjs/sheets-ui","@univerjs/sheets/facade","@univerjs/ui","rxjs"],h):(p=typeof globalThis<"u"?globalThis:p||self,h(p.UniverSheetsUiFacade={},p.UniverCore,p.UniverCoreFacade,p.UniverDocs,p.UniverEngineRender,p.UniverSheets,p.UniverSheetsUi,p.UniverSheetsFacade,p.UniverUi,p.rxjs))})(this,(function(p,h,P,H,u,I,a,b,C,m){"use strict";class y extends P.FUniver{_initSheetUIEvent(e){const r=e.get(h.ICommandService);this.registerEventHandler(this.Event.BeforeSheetEditStart,()=>r.beforeCommandExecuted(t=>{if(t.id!==a.SetCellEditVisibleOperation.id)return;const i=this.getActiveSheet();if(!i)return;const{workbook:o,worksheet:s}=i,l=e.get(a.IEditorBridgeService),g=t.params,{visible:v,keycode:S,eventType:c}=g,n=l.getEditLocation();if(v){const d={row:n.row,column:n.column,eventType:c,keycode:S,workbook:o,worksheet:s,isZenEditor:!1};if(this.fireEvent(this.Event.BeforeSheetEditStart,d),d.cancel)throw new h.CanceledError}})),this.registerEventHandler(this.Event.BeforeSheetEditEnd,()=>r.beforeCommandExecuted(t=>{if(t.id!==a.SetCellEditVisibleOperation.id)return;const i=this.getActiveSheet();if(!i)return;const{workbook:o,worksheet:s}=i,l=e.get(a.IEditorBridgeService),g=e.get(h.IUniverInstanceService),v=t.params,{visible:S,keycode:c,eventType:n}=v,d=l.getEditLocation();if(!S){const R={row:d.row,column:d.column,eventType:n,keycode:c,workbook:o,worksheet:s,isZenEditor:!1,value:h.RichTextValue.create(g.getUnit(h.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isConfirm:c!==C.KeyCode.ESC};if(this.fireEvent(this.Event.BeforeSheetEditEnd,R),R.cancel)throw new h.CanceledError}})),this.registerEventHandler(this.Event.SheetEditStarted,()=>r.onCommandExecuted(t=>{if(t.id!==a.SetCellEditVisibleOperation.id)return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:s}=i,l=e.get(a.IEditorBridgeService),g=t.params,{visible:v,keycode:S,eventType:c}=g,n=l.getEditLocation();if(v){const d={row:n.row,column:n.column,eventType:c,keycode:S,workbook:o,worksheet:s,isZenEditor:!1};this.fireEvent(this.Event.SheetEditStarted,d)}})),this.registerEventHandler(this.Event.SheetEditEnded,()=>r.onCommandExecuted(t=>{if(t.id!==a.SetCellEditVisibleOperation.id)return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:s}=i,l=e.get(a.IEditorBridgeService),g=t.params,{visible:v,keycode:S,eventType:c}=g,n=l.getEditLocation();if(!v){const d={row:n.row,column:n.column,eventType:c,keycode:S,workbook:o,worksheet:s,isZenEditor:!1,isConfirm:S!==C.KeyCode.ESC};this.fireEvent(this.Event.SheetEditEnded,d)}})),this.registerEventHandler(this.Event.SheetEditChanging,()=>r.onCommandExecuted(t=>{if(t.id!==H.RichTextEditingMutation.id)return;const i=this.getActiveSheet();if(!i)return;const{workbook:o,worksheet:s}=i,l=e.get(a.IEditorBridgeService),g=e.get(h.IUniverInstanceService),v=t.params;if(!l.isVisible().visible)return;const{unitId:S}=v;if(S===h.DOCS_NORMAL_EDITOR_UNIT_ID_KEY){const{row:c,column:n}=l.getEditLocation(),d={workbook:o,worksheet:s,row:c,column:n,value:h.RichTextValue.create(g.getUnit(h.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isZenEditor:!1};this.fireEvent(this.Event.SheetEditChanging,d)}})),this.registerEventHandler(this.Event.BeforeSheetZoomChange,()=>r.beforeCommandExecuted(t=>{if(t.id!==a.SetZoomRatioCommand.id)return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:s}=i,l={zoom:t.params.zoomRatio,workbook:o,worksheet:s};if(this.fireEvent(this.Event.BeforeSheetZoomChange,l),l.cancel)throw new h.CanceledError})),this.registerEventHandler(this.Event.SheetZoomChanged,()=>r.onCommandExecuted(t=>{if(t.id!==a.SetZoomRatioCommand.id)return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:s}=i;this.fireEvent(this.Event.SheetZoomChanged,{zoom:s.getZoom(),workbook:o,worksheet:s})}))}_initObserverListener(e){const r=e.get(u.IRenderManagerService),t=e.get(h.LifecycleService),i=new h.DisposableCollection;this.disposeWithMe(t.lifecycle$.subscribe(g=>{if(g!==h.LifecycleStages.Rendered)return;i.dispose();const v=e.get(a.HoverManagerService),S=e.get(a.DragManagerService);v&&(this.registerEventHandler(this.Event.CellClicked,()=>{var c;return(c=v.currentClickedCell$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.location.unitId,n.location.subUnitId);d&&this.fireEvent(this.Event.CellClicked,{...d,...n,row:n.location.row,column:n.location.col})})}),this.registerEventHandler(this.Event.CellHover,()=>{var c;return(c=v.currentRichText$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.CellHover,{...d,...n,row:n.row,column:n.col})})}),this.registerEventHandler(this.Event.CellPointerDown,()=>{var c;return(c=v.currentPointerDownCell$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.CellPointerDown,{...d,...n,row:n.row,column:n.col})})}),this.registerEventHandler(this.Event.CellPointerUp,()=>{var c;return(c=v.currentPointerUpCell$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.CellPointerUp,{...d,...n,row:n.row,column:n.col})})}),this.registerEventHandler(this.Event.CellPointerMove,()=>{var c;return(c=v.currentCellPosWithEvent$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.CellPointerMove,{...d,...n,row:n.row,column:n.col})})}),this.registerEventHandler(this.Event.DragOver,()=>{var c;return(c=S.currentCell$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.location.unitId,n.location.subUnitId);d&&this.fireEvent(this.Event.DragOver,{...d,...n,row:n.location.row,column:n.location.col})})}),this.registerEventHandler(this.Event.Drop,()=>{var c;return(c=S.endCell$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.location.unitId,n.location.subUnitId);d&&this.fireEvent(this.Event.Drop,{...d,...n,row:n.location.row,column:n.location.col})})}),this.registerEventHandler(this.Event.RowHeaderClick,()=>{var c;return(c=v.currentRowHeaderClick$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.RowHeaderClick,{...d,row:n.index})})}),this.registerEventHandler(this.Event.RowHeaderPointerDown,()=>{var c;return(c=v.currentRowHeaderPointerDown$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.RowHeaderPointerDown,{...d,row:n.index})})}),this.registerEventHandler(this.Event.RowHeaderPointerUp,()=>{var c;return(c=v.currentRowHeaderPointerUp$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.RowHeaderPointerUp,{...d,row:n.index})})}),this.registerEventHandler(this.Event.RowHeaderHover,()=>{var c;return(c=v.currentHoveredRowHeader$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.RowHeaderHover,{...d,row:n.index})})}),this.registerEventHandler(this.Event.ColumnHeaderClick,()=>{var c;return(c=v.currentColHeaderClick$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.ColumnHeaderClick,{...d,column:n.index})})}),this.registerEventHandler(this.Event.ColumnHeaderPointerDown,()=>{var c;return(c=v.currentColHeaderPointerDown$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.ColumnHeaderPointerDown,{...d,column:n.index})})}),this.registerEventHandler(this.Event.ColumnHeaderPointerUp,()=>{var c;return(c=v.currentColHeaderPointerUp$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.ColumnHeaderPointerUp,{...d,column:n.index})})}),this.registerEventHandler(this.Event.ColumnHeaderHover,()=>{var c;return(c=v.currentHoveredColHeader$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.ColumnHeaderHover,{...d,column:n.index})})}))})),this.disposeWithMe(i);const o=new Map;let s;const l=m.combineLatest([r.created$,t.lifecycle$]);this.disposeWithMe(l.subscribe(([g,v])=>{var R;if(g.type===h.UniverInstanceType.UNIVER_SHEET&&(s=g),v<=h.LifecycleStages.Rendered||!s)return;const S=new h.DisposableCollection,c=this.getWorkbook(s.unitId);if(!c)return;o.get(s.unitId)&&((R=o.get(s.unitId))==null||R.dispose()),o.set(s.unitId,S);const n=s.with(a.SheetScrollManagerService),d=s.with(I.SheetsSelectionsService);S.add(this.registerEventHandler(this.Event.Scroll,()=>n.validViewportScrollInfo$.subscribe(E=>{E&&this.fireEvent(this.Event.Scroll,{workbook:c,worksheet:c.getActiveSheet(),...E})}))),S.add(this.registerEventHandler(this.Event.SelectionMoveStart,()=>d.selectionMoveStart$.subscribe(E=>{var w;this.fireEvent(this.Event.SelectionMoveStart,{workbook:c,worksheet:c.getActiveSheet(),selections:(w=E==null?void 0:E.map(_=>_.range))!=null?w:[]})}))),S.add(this.registerEventHandler(this.Event.SelectionMoving,()=>d.selectionMoving$.subscribe(E=>{var w;this.fireEvent(this.Event.SelectionMoving,{workbook:c,worksheet:c.getActiveSheet(),selections:(w=E==null?void 0:E.map(_=>_.range))!=null?w:[]})}))),S.add(this.registerEventHandler(this.Event.SelectionMoveEnd,()=>d.selectionMoveEnd$.subscribe(E=>{var w;this.fireEvent(this.Event.SelectionMoveEnd,{workbook:c,worksheet:c.getActiveSheet(),selections:(w=E==null?void 0:E.map(_=>_.range))!=null?w:[]})}))),S.add(this.registerEventHandler(this.Event.SelectionChanged,()=>d.selectionChanged$.subscribe(E=>{var w;this.fireEvent(this.Event.SelectionChanged,{workbook:c,worksheet:c.getActiveSheet(),selections:(w=E==null?void 0:E.map(_=>_.range))!=null?w:[]})}))),s=null,this.disposeWithMe(S)})),this.disposeWithMe(r.disposed$.subscribe(g=>{var v;(v=o.get(g))==null||v.dispose(),o.delete(g)})),this.disposeWithMe(()=>{o.forEach(g=>{g.dispose()})})}_initialize(e){this._initSheetUIEvent(e),this._initObserverListener(e);const r=e.get(h.ICommandService);this.registerEventHandler(this.Event.BeforeClipboardChange,()=>r.beforeCommandExecuted(t=>{switch(t.id){case C.CopyCommand.id:case C.CutCommand.id:this._beforeClipboardChange();break}})),this.registerEventHandler(this.Event.ClipboardChanged,()=>r.onCommandExecuted(t=>{switch(t.id){case C.CopyCommand.id:case C.CutCommand.id:this._clipboardChanged();break}})),this.registerEventHandler(this.Event.BeforeClipboardPaste,()=>r.beforeCommandExecuted(t=>{switch(t.id){case a.SheetPasteShortKeyCommand.id:this._beforeClipboardPaste(t.params);break;case C.PasteCommand.id:this._beforeClipboardPasteAsync();break}})),this.registerEventHandler(this.Event.ClipboardPasted,()=>r.onCommandExecuted(t=>{switch(t.id){case a.SheetPasteShortKeyCommand.id:this._clipboardPaste(t.params);break;case C.PasteCommand.id:this._clipboardPasteAsync();break}})),this.registerEventHandler(this.Event.SheetSkeletonChanged,()=>r.onCommandExecuted(t=>{if(I.COMMAND_LISTENER_SKELETON_CHANGE.indexOf(t.id)>-1){const i=this.getActiveSheet();if(!i)return;const o=I.getSkeletonChangedEffectedRange(t,i.worksheet.getMaxColumns()).map(s=>{var l,g;return(g=(l=this.getWorkbook(s.unitId))==null?void 0:l.getSheetBySheetId(s.subUnitId))==null?void 0:g.getRange(s.range)}).filter(Boolean);if(!o.length)return;this.fireEvent(this.Event.SheetSkeletonChanged,{workbook:i.workbook,worksheet:i.worksheet,payload:t,skeleton:i.worksheet.getSkeleton(),effectedRanges:o})}}))}_generateClipboardCopyParam(){const e=this.getActiveWorkbook(),r=e==null?void 0:e.getActiveSheet(),t=e==null?void 0:e.getActiveRange();if(!e||!r||!t)return;const o=this._injector.get(a.ISheetClipboardService).generateCopyContent(e.getId(),r.getSheetId(),t.getRange());if(!o)return;const{html:s,plain:l}=o;return{workbook:e,worksheet:r,text:l,html:s,fromSheet:r,fromRange:t}}_beforeClipboardChange(){const e=this._generateClipboardCopyParam();if(e&&(this.fireEvent(this.Event.BeforeClipboardChange,e),e.cancel))throw new h.CanceledError}_clipboardChanged(){const e=this._generateClipboardCopyParam();e&&this.fireEvent(this.Event.ClipboardChanged,e)}_generateClipboardPasteParam(e){if(!e)return;const{htmlContent:r,textContent:t}=e,i=this.getActiveWorkbook(),o=i==null?void 0:i.getActiveSheet();return!i||!o?void 0:{workbook:i,worksheet:o,text:t,html:r}}async _generateClipboardPasteParamAsync(){const e=this.getActiveWorkbook(),r=e==null?void 0:e.getActiveSheet();if(!e||!r)return;const o=(await this._injector.get(C.IClipboardInterfaceService).read())[0];let s;if(o){const l=o.types,g=l.indexOf(C.PLAIN_TEXT_CLIPBOARD_MIME_TYPE)!==-1?await o.getType(C.PLAIN_TEXT_CLIPBOARD_MIME_TYPE).then(S=>S&&S.text()):"",v=l.indexOf(C.HTML_CLIPBOARD_MIME_TYPE)!==-1?await o.getType(C.HTML_CLIPBOARD_MIME_TYPE).then(S=>S&&S.text()):"";s={workbook:e,worksheet:r,text:g,html:v}}return s}_beforeClipboardPaste(e){const r=this._generateClipboardPasteParam(e);if(r&&(this.fireEvent(this.Event.BeforeClipboardPaste,r),r.cancel))throw new h.CanceledError}_clipboardPaste(e){const r=this._generateClipboardPasteParam(e);if(r&&(this.fireEvent(this.Event.ClipboardPasted,r),r.cancel))throw new h.CanceledError}async _beforeClipboardPasteAsync(){if(!C.supportClipboardAPI()){this._injector.get(h.ILogService).warn("[Facade]: The navigator object only supports the browser environment");return}const e=await this._generateClipboardPasteParamAsync();if(e&&(this.fireEvent(this.Event.BeforeClipboardPaste,e),e.cancel))throw new h.CanceledError}async _clipboardPasteAsync(){if(!C.supportClipboardAPI()){this._injector.get(h.ILogService).warn("[Facade]: The navigator object only supports the browser environment");return}const e=await this._generateClipboardPasteParamAsync();if(e&&(this.fireEvent(this.Event.ClipboardPasted,e),e.cancel))throw new h.CanceledError}customizeColumnHeader(e){var v,S;const r=this.getActiveWorkbook();if(!r){console.error("WorkBook not exist");return}const t=r==null?void 0:r.getId(),i=this._injector.get(u.IRenderManagerService),o=r.getActiveSheet(),s=o.getSheetId(),l=i.getRenderById(t);l&&((v=e.headerStyle)!=null&&v.size)&&(l.with(a.SheetSkeletonManagerService).setColumnHeaderSize(l,s,(S=e.headerStyle)==null?void 0:S.size),o==null||o.refreshCanvas()),this._getSheetRenderComponent(t,a.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e),o==null||o.refreshCanvas()}customizeRowHeader(e){const r=this.getActiveWorkbook();if(!r){console.error("WorkBook not exist");return}const t=r==null?void 0:r.getId();this._getSheetRenderComponent(t,a.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}registerSheetRowHeaderExtension(e,...r){const t=this._getSheetRenderComponent(e,a.SHEET_VIEW_KEY.ROW),i=t.register(...r);return h.toDisposable(()=>{i.dispose(),t.makeDirty(!0)})}registerSheetColumnHeaderExtension(e,...r){const t=this._getSheetRenderComponent(e,a.SHEET_VIEW_KEY.COLUMN),i=t.register(...r);return h.toDisposable(()=>{i.dispose(),t.makeDirty(!0)})}registerSheetMainExtension(e,...r){const t=this._getSheetRenderComponent(e,a.SHEET_VIEW_KEY.MAIN),i=t.register(...r);return h.toDisposable(()=>{i.dispose(),t.makeDirty(!0)})}_getSheetRenderComponent(e,r){const i=this._injector.get(u.IRenderManagerService).getRenderById(e);if(!i)throw new Error(`Render Unit with unitId ${e} not found`);const{components:o}=i,s=o.get(r);if(!s)throw new Error("Render component not found");return s}getSheetHooks(){return this._injector.createInstance(b.FSheetHooks)}pasteIntoSheet(e,r,t){return this._commandService.executeCommand(a.SheetPasteShortKeyCommand.id,{htmlContent:e,textContent:r,files:t})}setProtectedRangeShadowStrategy(e){this._injector.get(a.SheetPermissionRenderManagerService).setProtectedRangeShadowStrategy(e)}getProtectedRangeShadowStrategy(){return this._injector.get(a.SheetPermissionRenderManagerService).getProtectedRangeShadowStrategy()}getProtectedRangeShadowStrategy$(){return this._injector.get(a.SheetPermissionRenderManagerService).getProtectedRangeShadowStrategy$()}setPermissionDialogVisible(e){this._injector.get(h.IPermissionService).setShowComponents(e)}}P.FUniver.extend(y);class D extends b.FWorkbook{openSiderbar(e){return this._logDeprecation("openSiderbar"),this._injector.get(C.ISidebarService).open(e)}openDialog(e){this._logDeprecation("openDialog");const t=this._injector.get(C.IDialogService).open({...e,onClose:()=>{t.dispose()}});return t}customizeColumnHeader(e){const r=this._workbook.getUnitId();this._getSheetRenderComponent(r,a.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e)}customizeRowHeader(e){const r=this._workbook.getUnitId();this._getSheetRenderComponent(r,a.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}_getSheetRenderComponent(e,r){const i=this._injector.get(u.IRenderManagerService).getRenderById(e);if(!i)throw new Error(`Render Unit with unitId ${e} not found`);const{components:o}=i,s=o.get(r);if(!s)throw new Error("Render component not found");return s}_logDeprecation(e){this._injector.get(h.ILogService).warn("[FWorkbook]",`${e} is deprecated. Please use the function of the same name on "FUniver".`)}generateCellParams(e){const r=this.getActiveSheet();return{row:e.row,column:e.col,workbook:this,worksheet:r}}onCellClick(e){const r=this._injector.get(a.HoverManagerService);return h.toDisposable(r.currentClickedCell$.pipe(m.filter(t=>!!t)).subscribe(t=>{e(t)}))}onCellHover(e){const r=this._injector.get(a.HoverManagerService);return h.toDisposable(r.currentRichText$.pipe(m.filter(t=>!!t)).subscribe(e))}onCellPointerDown(e){const r=this._injector.get(a.HoverManagerService);return h.toDisposable(r.currentPointerDownCell$.subscribe(e))}onCellPointerUp(e){const r=this._injector.get(a.HoverManagerService);return h.toDisposable(r.currentPointerUpCell$.subscribe(e))}onCellPointerMove(e){const r=this._injector.get(a.HoverManagerService);return h.toDisposable(r.currentCellPosWithEvent$.pipe(m.filter(t=>!!t)).subscribe(t=>{e(t,t.event)}))}onDragOver(e){const r=this._injector.get(a.DragManagerService);return h.toDisposable(r.currentCell$.pipe(m.filter(t=>!!t)).subscribe(t=>{e(t)}))}onDrop(e){const r=this._injector.get(a.DragManagerService);return h.toDisposable(r.endCell$.pipe(m.filter(t=>!!t)).subscribe(t=>{e(t)}))}startEditing(){const e=this._injector.get(h.ICommandService);return this._injector.get(a.IEditorBridgeService).isVisible().visible?!0:e.syncExecuteCommand(a.SetCellEditVisibleOperation.id,{eventType:u.DeviceInputEventType.Dblclick,unitId:this._workbook.getUnitId(),visible:!0})}async endEditing(e){const r=this._injector.get(h.ICommandService);return this._injector.get(a.IEditorBridgeService).isVisible().visible&&r.syncExecuteCommand(a.SetCellEditVisibleOperation.id,{eventType:u.DeviceInputEventType.Keyboard,keycode:e?C.KeyCode.ENTER:C.KeyCode.ESC,visible:!1,unitId:this._workbook.getUnitId()}),await h.awaitTime(0),!0}endEditingAsync(e=!0){return this.endEditing(e)}abortEditingAsync(){return this.endEditingAsync(!1)}isCellEditing(){return this._injector.get(a.IEditorBridgeService).isVisible().visible}getScrollStateBySheetId(e){const r=this._workbook.getUnitId(),i=this._injector.get(u.IRenderManagerService).getRenderById(r);return i?i.with(a.SheetScrollManagerService).getScrollStateByParam({unitId:r,sheetId:e}):null}disableSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(u.IRenderManagerService).getRenderById(e);return t&&t.with(a.ISheetSelectionRenderService).disableSelection(),this}enableSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(u.IRenderManagerService).getRenderById(e);return t&&t.with(a.ISheetSelectionRenderService).enableSelection(),this}transparentSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(u.IRenderManagerService).getRenderById(e);return t&&t.with(a.ISheetSelectionRenderService).transparentSelection(),this}showSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(u.IRenderManagerService).getRenderById(e);return t&&t.with(a.ISheetSelectionRenderService).showSelection(),this}}b.FWorkbook.extend(D);class T extends b.FWorksheet{refreshCanvas(){const e=this._injector.get(u.IRenderManagerService),r=this._fWorkbook.id,t=e.getRenderById(r);if(!t)throw new Error(`Render Unit with unitId ${r} not found`);t.with(a.SheetSkeletonManagerService).reCalculate();const i=t.mainComponent;if(!i)throw new Error("Main component not found");return i.makeDirty(),this}highlightRanges(e,r,t){const i=this._injector.get(a.IMarkSelectionService),o=[];for(const s of e){const l=s.getRange(),g=i.addShapeWithNoFresh({range:l,style:r,primary:t});g&&o.push(g)}if(i.refreshShapes(),o.length===0)throw new Error("Failed to highlight current range");return h.toDisposable(()=>{o.forEach(s=>{i.removeShape(s)})})}zoom(e){const r=this._injector.get(h.ICommandService),t=Math.min(Math.max(e,.1),4);return r.executeCommand(a.SetZoomRatioCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),zoomRatio:t}),this}getZoom(){return this._worksheet.getZoomRatio()}getVisibleRange(){const e=this._workbook.getUnitId(),t=this._injector.get(u.IRenderManagerService).getRenderById(e);let i={startColumn:0,startRow:0,endColumn:0,endRow:0};if(!t)return i;const s=t.with(a.SheetSkeletonManagerService).getCurrentSkeleton();if(!s)return i;const l=s==null?void 0:s.getVisibleRanges();if(!l)return i;i=s.getVisibleRangeByViewport(u.SHEET_VIEWPORT_KEY.VIEW_MAIN);for(const[g,v]of l)u.sheetContentViewportKeys.indexOf(g)!==-1&&(i.startColumn=Math.min(i.startColumn,v.startColumn),i.startRow=Math.min(i.startRow,v.startRow),i.endColumn=Math.max(i.endColumn,v.endColumn),i.endRow=Math.max(i.endRow,v.endRow));return i}scrollToCell(e,r,t){const i=this._workbook.getUnitId(),s=this._injector.get(u.IRenderManagerService).getRenderById(i);return s&&(s==null?void 0:s.with(a.SheetsScrollRenderController)).scrollToCell(e,r,t),this}getScrollState(){const e={offsetX:0,offsetY:0,sheetViewStartColumn:0,sheetViewStartRow:0},r=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),o=this._injector.get(u.IRenderManagerService).getRenderById(r);return o&&o.with(a.SheetScrollManagerService).getScrollStateByParam({unitId:r,sheetId:t})||e}onScroll(e){var o;const r=this._workbook.getUnitId(),i=(o=this._injector.get(u.IRenderManagerService).getRenderById(r))==null?void 0:o.with(a.SheetScrollManagerService);if(i){const s=i.validViewportScrollInfo$.subscribe(l=>{e(l)});return h.toDisposable(s)}return h.toDisposable(()=>{})}getSkeleton(){var r,t;const e=(r=this._injector.get(u.IRenderManagerService).getRenderById(this._workbook.getUnitId()))==null?void 0:r.with(a.SheetSkeletonManagerService);return(t=e==null?void 0:e.getWorksheetSkeleton(this._worksheet.getSheetId()))==null?void 0:t.skeleton}autoResizeColumn(e){return this.autoResizeColumns(e,1)}autoResizeColumns(e,r){const t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),o=[{startColumn:e,endColumn:e+r-1,startRow:0,endRow:this._worksheet.getRowCount()-1}];return this._commandService.syncExecuteCommand(a.SetWorksheetColAutoWidthCommand.id,{unitId:t,subUnitId:i,ranges:o}),this}setColumnAutoWidth(e,r){return this.autoResizeColumns(e,r)}autoResizeRows(e,r){const t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),o=[{startRow:e,endRow:e+r-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(I.SetWorksheetRowIsAutoHeightCommand.id,{unitId:t,subUnitId:i,ranges:o}),this}customizeColumnHeader(e){var l,g;const r=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),o=this._injector.get(u.IRenderManagerService).getRenderById(r);o&&((l=e.headerStyle)!=null&&l.size)&&o.with(a.SheetSkeletonManagerService).setColumnHeaderSize(o,t,(g=e.headerStyle)==null?void 0:g.size),this._getSheetRenderComponent(r,a.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e,t)}customizeRowHeader(e){var l,g;const r=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),o=this._injector.get(u.IRenderManagerService).getRenderById(r);o&&((l=e.headerStyle)!=null&&l.size)&&o.with(a.SheetSkeletonManagerService).setRowHeaderSize(o,t,(g=e.headerStyle)==null?void 0:g.size),this._getSheetRenderComponent(r,a.SHEET_VIEW_KEY.ROW).setCustomHeader(e,t)}setColumnHeaderHeight(e){const r=this._workbook.getUnitId(),t=this._worksheet.getSheetId();return this._commandService.executeCommand(a.SetColumnHeaderHeightCommand.id,{unitId:r,subUnitId:t,size:e}),this}setRowHeaderWidth(e){const r=this._workbook.getUnitId(),t=this._worksheet.getSheetId();return this._commandService.executeCommand(a.SetRowHeaderWidthCommand.id,{unitId:r,subUnitId:t,size:e}),this}_getSheetRenderComponent(e,r){const i=this._injector.get(u.IRenderManagerService).getRenderById(e);if(!i)throw new Error(`Render Unit with unitId ${e} not found`);const{components:o}=i,s=o.get(r);if(!s)throw new Error("Render component not found");return s}}b.FWorksheet.extend(T);class B extends b.FPermission{setPermissionDialogVisible(e){this._permissionService.setShowComponents(e)}}b.FPermission.extend(B);class x extends b.FSheetHooks{onCellPointerMove(e){return h.toDisposable(this._injector.get(a.HoverManagerService).currentPosition$.subscribe(e))}onCellPointerOver(e){return h.toDisposable(this._injector.get(a.HoverManagerService).currentCell$.subscribe(e))}onCellDragOver(e){return h.toDisposable(this._injector.get(a.DragManagerService).currentCell$.subscribe(e))}onCellDrop(e){return h.toDisposable(this._injector.get(a.DragManagerService).endCell$.subscribe(e))}onCellRender(e,r=h.InterceptorEffectEnum.Style,t=I.InterceptCellContentPriority.DATA_VALIDATION){return this._injector.get(I.SheetInterceptorService).intercept(I.INTERCEPTOR_POINT.CELL_CONTENT,{effect:r,handler:(i,o,s)=>(i&&!i.customRender&&e&&(i.customRender=[...e]),s(i)),priority:t})}onBeforeCellEdit(e){return this._injector.get(h.ICommandService).beforeCommandExecuted(r=>{const t=r.params;r.id===a.SetCellEditVisibleOperation.id&&t.visible&&e(t)})}onAfterCellEdit(e){return this._injector.get(h.ICommandService).onCommandExecuted(r=>{const t=r.params;r.id===a.SetCellEditVisibleOperation.id&&!t.visible&&e(t)})}}b.FSheetHooks.extend(x);const k={CellClicked:"CellClicked",CellPointerDown:"CellPointerDown",CellPointerUp:"CellPointerUp",CellPointerMove:"CellPointerMove",CellHover:"CellHover"};class A{get BeforeClipboardChange(){return"BeforeClipboardChange"}get ClipboardChanged(){return"ClipboardChanged"}get BeforeClipboardPaste(){return"BeforeClipboardPaste"}get ClipboardPasted(){return"ClipboardPasted"}get BeforeSheetEditStart(){return"BeforeSheetEditStart"}get SheetEditStarted(){return"SheetEditStarted"}get SheetEditChanging(){return"SheetEditChanging"}get BeforeSheetEditEnd(){return"BeforeSheetEditEnd"}get SheetEditEnded(){return"SheetEditEnded"}get CellClicked(){return k.CellClicked}get CellHover(){return k.CellHover}get CellPointerDown(){return k.CellPointerDown}get CellPointerUp(){return k.CellPointerUp}get CellPointerMove(){return k.CellPointerMove}get DragOver(){return"DragOver"}get Drop(){return"Drop"}get Scroll(){return"Scroll"}get SelectionMoveStart(){return"SelectionMoveStart"}get SelectionChanged(){return"SelectionChanged"}get SelectionMoving(){return"SelectionMoving"}get SelectionMoveEnd(){return"SelectionMoveEnd"}get RowHeaderClick(){return"RowHeaderClick"}get RowHeaderPointerDown(){return"RowHeaderPointerDown"}get RowHeaderPointerUp(){return"RowHeaderPointerUp"}get RowHeaderHover(){return"RowHeaderHover"}get ColumnHeaderClick(){return"ColumnHeaderClick"}get ColumnHeaderPointerDown(){return"ColumnHeaderPointerDown"}get ColumnHeaderPointerUp(){return"ColumnHeaderPointerUp"}get ColumnHeaderHover(){return"ColumnHeaderHover"}get SheetSkeletonChanged(){return"SheetSkeletonChanged"}get BeforeSheetZoomChange(){return"BeforeSheetZoomChange"}get SheetZoomChanged(){return"SheetZoomChanged"}}P.FEventName.extend(A);class O extends b.FRange{getCell(){var l;const e=this._injector.get(u.IRenderManagerService),r=this._injector.get(h.ILogService),t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),o=e.getRenderById(t),s=(l=o==null?void 0:o.with(a.SheetSkeletonManagerService).getSkeletonParam(i))==null?void 0:l.skeleton;if(!s)throw r.error("[Facade]: `FRange.getCell` can only be called in current worksheet"),new Error("`FRange.getCell` can only be called in current worksheet");return s.getCellWithCoordByIndex(this._range.startRow,this._range.startColumn)}getCellRect(){const{startX:e,startY:r,endX:t,endY:i}=this.getCell(),o={x:e,y:r,width:t-e,height:i-r,top:r,left:e,bottom:i,right:t};return{...o,toJSON:()=>JSON.stringify(o)}}generateHTML(){var t;const r=this._injector.get(a.ISheetClipboardService).generateCopyContent(this._workbook.getUnitId(),this._worksheet.getSheetId(),this._range);return(t=r==null?void 0:r.html)!=null?t:""}attachPopup(e){var s,l,g;e.direction=(s=e.direction)!=null?s:"horizontal",e.extraProps=(l=e.extraProps)!=null?l:{},e.offset=(g=e.offset)!=null?g:[0,0];const{key:r,disposableCollection:t}=M(e,this._injector.get(C.ComponentManager)),o=this._injector.get(a.SheetCanvasPopManagerService).attachPopupToCell(this._range.startRow,this._range.startColumn,{...e,componentKey:r},this.getUnitId(),this._worksheet.getSheetId());return o?(t.add(o),t):(t.dispose(),null)}attachAlertPopup(e){const r=this._injector.get(a.CellAlertManagerService),t={workbook:this._workbook,worksheet:this._worksheet,row:this._range.startRow,col:this._range.startColumn,unitId:this.getUnitId(),subUnitId:this._worksheet.getSheetId()};return r.showAlert({...e,location:t}),{dispose:()=>{r.removeAlert(e.key)}}}attachRangePopup(e){var s,l,g;e.direction=(s=e.direction)!=null?s:"top-center",e.extraProps=(l=e.extraProps)!=null?l:{},e.offset=(g=e.offset)!=null?g:[0,0];const{key:r,disposableCollection:t}=M(e,this._injector.get(C.ComponentManager)),o=this._injector.get(a.SheetCanvasPopManagerService).attachRangePopup(this._range,{...e,componentKey:r},this.getUnitId(),this._worksheet.getSheetId());return o?(t.add(o),t):(t.dispose(),null)}highlight(e,r){const t=this._injector.get(a.IMarkSelectionService),i=t.addShape({range:this._range,style:e,primary:r});if(!i)throw new Error("Failed to highlight current range");return h.toDisposable(()=>{t.removeShape(i)})}showDropdown(e){return this._injector.get(a.ISheetCellDropdownManagerService).showDropdown(e)}async autoFill(e,r){const t=this.getRange(),i=e.getRange();if(!h.Rectangle.contains(i,t))throw new Error("AutoFill target range must contain source range");const{startRow:o,startColumn:s,endRow:l,endColumn:g}=t,{startRow:v,startColumn:S,endRow:c,endColumn:n}=i;if(l-o!==c-v&&g-s!==n-S)throw new Error("AutoFill can only fill in one direction");if(l-o===c-v&&s!==S&&g!==n)throw new Error("AutoFill can only fill in one direction");if(g-s===n-S&&o!==v&&l!==c)throw new Error("AutoFill can only fill in one direction");return this._commandService.executeCommand(a.AutoFillCommand.id,{sourceRange:t,targetRange:i,unitId:this.getUnitId(),subUnitId:this.getSheetId(),applyType:r})}}b.FRange.extend(O);function M(f,e){const{componentKey:r,isVue3:t}=f;let i;const o=new h.DisposableCollection;return typeof r=="string"?i=r:(i=`External_${h.generateRandomId(6)}`,o.add(e.register(i,r,{framework:t?"vue3":"react"}))),{key:i,disposableCollection:o}}p.transformComponentKey=M,Object.defineProperty(p,Symbol.toStringTag,{value:"Module"})}));
1
+ (function(p,h){typeof exports=="object"&&typeof module<"u"?h(exports,require("@univerjs/core"),require("@univerjs/core/facade"),require("@univerjs/docs"),require("@univerjs/engine-render"),require("@univerjs/sheets"),require("@univerjs/sheets-ui"),require("@univerjs/sheets/facade"),require("@univerjs/ui"),require("rxjs")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/core/facade","@univerjs/docs","@univerjs/engine-render","@univerjs/sheets","@univerjs/sheets-ui","@univerjs/sheets/facade","@univerjs/ui","rxjs"],h):(p=typeof globalThis<"u"?globalThis:p||self,h(p.UniverSheetsUiFacade={},p.UniverCore,p.UniverCoreFacade,p.UniverDocs,p.UniverEngineRender,p.UniverSheets,p.UniverSheetsUi,p.UniverSheetsFacade,p.UniverUi,p.rxjs))})(this,(function(p,h,R,y,u,f,s,b,C,m){"use strict";class D extends R.FUniver{_initSheetUIEvent(e){const r=e.get(h.ICommandService);this.registerEventHandler(this.Event.BeforeSheetEditStart,()=>r.beforeCommandExecuted(t=>{if(t.id!==s.SetCellEditVisibleOperation.id)return;const i=this.getActiveSheet();if(!i)return;const{workbook:o,worksheet:a}=i,l=e.get(s.IEditorBridgeService),g=t.params,{visible:S,keycode:v,eventType:c}=g,n=l.getEditLocation();if(S){const d={row:n.row,column:n.column,eventType:c,keycode:v,workbook:o,worksheet:a,isZenEditor:!1};if(this.fireEvent(this.Event.BeforeSheetEditStart,d),d.cancel)throw new h.CanceledError}})),this.registerEventHandler(this.Event.BeforeSheetEditEnd,()=>r.beforeCommandExecuted(t=>{if(t.id!==s.SetCellEditVisibleOperation.id)return;const i=this.getActiveSheet();if(!i)return;const{workbook:o,worksheet:a}=i,l=e.get(s.IEditorBridgeService),g=e.get(h.IUniverInstanceService),S=t.params,{visible:v,keycode:c,eventType:n}=S,d=l.getEditLocation();if(!v){const P={row:d.row,column:d.column,eventType:n,keycode:c,workbook:o,worksheet:a,isZenEditor:!1,value:h.RichTextValue.create(g.getUnit(h.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isConfirm:c!==C.KeyCode.ESC};if(this.fireEvent(this.Event.BeforeSheetEditEnd,P),P.cancel)throw new h.CanceledError}})),this.registerEventHandler(this.Event.SheetEditStarted,()=>r.onCommandExecuted(t=>{if(t.id!==s.SetCellEditVisibleOperation.id)return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:a}=i,l=e.get(s.IEditorBridgeService),g=t.params,{visible:S,keycode:v,eventType:c}=g,n=l.getEditLocation();if(S){const d={row:n.row,column:n.column,eventType:c,keycode:v,workbook:o,worksheet:a,isZenEditor:!1};this.fireEvent(this.Event.SheetEditStarted,d)}})),this.registerEventHandler(this.Event.SheetEditEnded,()=>r.onCommandExecuted(t=>{if(t.id!==s.SetCellEditVisibleOperation.id)return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:a}=i,l=e.get(s.IEditorBridgeService),g=t.params,{visible:S,keycode:v,eventType:c}=g,n=l.getEditLocation();if(!S){const d={row:n.row,column:n.column,eventType:c,keycode:v,workbook:o,worksheet:a,isZenEditor:!1,isConfirm:v!==C.KeyCode.ESC};this.fireEvent(this.Event.SheetEditEnded,d)}})),this.registerEventHandler(this.Event.SheetEditChanging,()=>r.onCommandExecuted(t=>{if(t.id!==y.RichTextEditingMutation.id)return;const i=this.getActiveSheet();if(!i)return;const{workbook:o,worksheet:a}=i,l=e.get(s.IEditorBridgeService),g=e.get(h.IUniverInstanceService),S=t.params;if(!l.isVisible().visible)return;const{unitId:v}=S;if(v===h.DOCS_NORMAL_EDITOR_UNIT_ID_KEY){const{row:c,column:n}=l.getEditLocation(),d={workbook:o,worksheet:a,row:c,column:n,value:h.RichTextValue.create(g.getUnit(h.DOCS_NORMAL_EDITOR_UNIT_ID_KEY).getSnapshot()),isZenEditor:!1};this.fireEvent(this.Event.SheetEditChanging,d)}})),this.registerEventHandler(this.Event.BeforeSheetZoomChange,()=>r.beforeCommandExecuted(t=>{if(t.id!==s.SetZoomRatioCommand.id)return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:a}=i,l={zoom:t.params.zoomRatio,workbook:o,worksheet:a};if(this.fireEvent(this.Event.BeforeSheetZoomChange,l),l.cancel)throw new h.CanceledError})),this.registerEventHandler(this.Event.SheetZoomChanged,()=>r.onCommandExecuted(t=>{if(t.id!==s.SetZoomRatioCommand.id)return;const i=this.getCommandSheetTarget(t);if(!i)return;const{workbook:o,worksheet:a}=i;this.fireEvent(this.Event.SheetZoomChanged,{zoom:a.getZoom(),workbook:o,worksheet:a})}))}_initObserverListener(e){const r=e.get(u.IRenderManagerService),t=e.get(h.LifecycleService),i=new h.DisposableCollection;this.disposeWithMe(t.lifecycle$.subscribe(g=>{if(g!==h.LifecycleStages.Rendered)return;i.dispose();const S=e.get(s.HoverManagerService),v=e.get(s.DragManagerService);S&&(this.registerEventHandler(this.Event.CellClicked,()=>{var c;return(c=S.currentClickedCell$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.location.unitId,n.location.subUnitId);d&&this.fireEvent(this.Event.CellClicked,{...d,...n,row:n.location.row,column:n.location.col})})}),this.registerEventHandler(this.Event.CellHover,()=>{var c;return(c=S.currentRichText$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.CellHover,{...d,...n,row:n.row,column:n.col})})}),this.registerEventHandler(this.Event.CellPointerDown,()=>{var c;return(c=S.currentPointerDownCell$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.CellPointerDown,{...d,...n,row:n.row,column:n.col})})}),this.registerEventHandler(this.Event.CellPointerUp,()=>{var c;return(c=S.currentPointerUpCell$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.CellPointerUp,{...d,...n,row:n.row,column:n.col})})}),this.registerEventHandler(this.Event.CellPointerMove,()=>{var c;return(c=S.currentCellPosWithEvent$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.CellPointerMove,{...d,...n,row:n.row,column:n.col})})}),this.registerEventHandler(this.Event.DragOver,()=>{var c;return(c=v.currentCell$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.location.unitId,n.location.subUnitId);d&&this.fireEvent(this.Event.DragOver,{...d,...n,row:n.location.row,column:n.location.col})})}),this.registerEventHandler(this.Event.Drop,()=>{var c;return(c=v.endCell$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.location.unitId,n.location.subUnitId);d&&this.fireEvent(this.Event.Drop,{...d,...n,row:n.location.row,column:n.location.col})})}),this.registerEventHandler(this.Event.RowHeaderClick,()=>{var c;return(c=S.currentRowHeaderClick$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.RowHeaderClick,{...d,row:n.index})})}),this.registerEventHandler(this.Event.RowHeaderPointerDown,()=>{var c;return(c=S.currentRowHeaderPointerDown$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.RowHeaderPointerDown,{...d,row:n.index})})}),this.registerEventHandler(this.Event.RowHeaderPointerUp,()=>{var c;return(c=S.currentRowHeaderPointerUp$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.RowHeaderPointerUp,{...d,row:n.index})})}),this.registerEventHandler(this.Event.RowHeaderHover,()=>{var c;return(c=S.currentHoveredRowHeader$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.RowHeaderHover,{...d,row:n.index})})}),this.registerEventHandler(this.Event.ColumnHeaderClick,()=>{var c;return(c=S.currentColHeaderClick$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.ColumnHeaderClick,{...d,column:n.index})})}),this.registerEventHandler(this.Event.ColumnHeaderPointerDown,()=>{var c;return(c=S.currentColHeaderPointerDown$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.ColumnHeaderPointerDown,{...d,column:n.index})})}),this.registerEventHandler(this.Event.ColumnHeaderPointerUp,()=>{var c;return(c=S.currentColHeaderPointerUp$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.ColumnHeaderPointerUp,{...d,column:n.index})})}),this.registerEventHandler(this.Event.ColumnHeaderHover,()=>{var c;return(c=S.currentHoveredColHeader$)==null?void 0:c.pipe(m.filter(n=>!!n)).subscribe(n=>{const d=this.getSheetTarget(n.unitId,n.subUnitId);d&&this.fireEvent(this.Event.ColumnHeaderHover,{...d,column:n.index})})}))})),this.disposeWithMe(i);const o=new Map;let a;const l=m.combineLatest([r.created$,t.lifecycle$]);this.disposeWithMe(l.subscribe(([g,S])=>{var P;if(g.type===h.UniverInstanceType.UNIVER_SHEET&&(a=g),S<=h.LifecycleStages.Rendered||!a)return;const v=new h.DisposableCollection,c=this.getWorkbook(a.unitId);if(!c)return;o.get(a.unitId)&&((P=o.get(a.unitId))==null||P.dispose()),o.set(a.unitId,v);const n=a.with(s.SheetScrollManagerService),d=a.with(f.SheetsSelectionsService);v.add(this.registerEventHandler(this.Event.Scroll,()=>n.validViewportScrollInfo$.subscribe(E=>{E&&this.fireEvent(this.Event.Scroll,{workbook:c,worksheet:c.getActiveSheet(),...E})}))),v.add(this.registerEventHandler(this.Event.SelectionMoveStart,()=>d.selectionMoveStart$.subscribe(E=>{var w;this.fireEvent(this.Event.SelectionMoveStart,{workbook:c,worksheet:c.getActiveSheet(),selections:(w=E==null?void 0:E.map(_=>_.range))!=null?w:[]})}))),v.add(this.registerEventHandler(this.Event.SelectionMoving,()=>d.selectionMoving$.subscribe(E=>{var w;this.fireEvent(this.Event.SelectionMoving,{workbook:c,worksheet:c.getActiveSheet(),selections:(w=E==null?void 0:E.map(_=>_.range))!=null?w:[]})}))),v.add(this.registerEventHandler(this.Event.SelectionMoveEnd,()=>d.selectionMoveEnd$.subscribe(E=>{var w;this.fireEvent(this.Event.SelectionMoveEnd,{workbook:c,worksheet:c.getActiveSheet(),selections:(w=E==null?void 0:E.map(_=>_.range))!=null?w:[]})}))),v.add(this.registerEventHandler(this.Event.SelectionChanged,()=>d.selectionChanged$.subscribe(E=>{var w;this.fireEvent(this.Event.SelectionChanged,{workbook:c,worksheet:c.getActiveSheet(),selections:(w=E==null?void 0:E.map(_=>_.range))!=null?w:[]})}))),a=null,this.disposeWithMe(v)})),this.disposeWithMe(r.disposed$.subscribe(g=>{var S;(S=o.get(g))==null||S.dispose(),o.delete(g)})),this.disposeWithMe(()=>{o.forEach(g=>{g.dispose()})})}_initialize(e){this._initSheetUIEvent(e),this._initObserverListener(e);const r=e.get(h.ICommandService);this.registerEventHandler(this.Event.BeforeClipboardChange,()=>r.beforeCommandExecuted(t=>{switch(t.id){case C.CopyCommand.id:case C.CutCommand.id:this._beforeClipboardChange();break}})),this.registerEventHandler(this.Event.ClipboardChanged,()=>r.onCommandExecuted(t=>{switch(t.id){case C.CopyCommand.id:case C.CutCommand.id:this._clipboardChanged();break}})),this.registerEventHandler(this.Event.BeforeClipboardPaste,()=>r.beforeCommandExecuted(t=>{switch(t.id){case s.SheetPasteShortKeyCommand.id:this._beforeClipboardPaste(t.params);break;case C.PasteCommand.id:this._beforeClipboardPasteAsync();break}})),this.registerEventHandler(this.Event.ClipboardPasted,()=>r.onCommandExecuted(t=>{switch(t.id){case s.SheetPasteShortKeyCommand.id:this._clipboardPaste(t.params);break;case C.PasteCommand.id:this._clipboardPasteAsync();break}})),this.registerEventHandler(this.Event.SheetSkeletonChanged,()=>r.onCommandExecuted(t=>{if(f.COMMAND_LISTENER_SKELETON_CHANGE.indexOf(t.id)>-1){const i=this.getActiveSheet();if(!i)return;const o=f.getSkeletonChangedEffectedRange(t,i.worksheet.getMaxColumns()).map(a=>{var l,g;return(g=(l=this.getWorkbook(a.unitId))==null?void 0:l.getSheetBySheetId(a.subUnitId))==null?void 0:g.getRange(a.range)}).filter(Boolean);if(!o.length)return;this.fireEvent(this.Event.SheetSkeletonChanged,{workbook:i.workbook,worksheet:i.worksheet,payload:t,skeleton:i.worksheet.getSkeleton(),effectedRanges:o})}}))}_generateClipboardCopyParam(){const e=this.getActiveWorkbook(),r=e==null?void 0:e.getActiveSheet(),t=e==null?void 0:e.getActiveRange();if(!e||!r||!t)return;const o=this._injector.get(s.ISheetClipboardService).generateCopyContent(e.getId(),r.getSheetId(),t.getRange());if(!o)return;const{html:a,plain:l}=o;return{workbook:e,worksheet:r,text:l,html:a,fromSheet:r,fromRange:t}}_beforeClipboardChange(){const e=this._generateClipboardCopyParam();if(e&&(this.fireEvent(this.Event.BeforeClipboardChange,e),e.cancel))throw new h.CanceledError}_clipboardChanged(){const e=this._generateClipboardCopyParam();e&&this.fireEvent(this.Event.ClipboardChanged,e)}_generateClipboardPasteParam(e){if(!e)return;const{htmlContent:r,textContent:t}=e,i=this.getActiveWorkbook(),o=i==null?void 0:i.getActiveSheet();return!i||!o?void 0:{workbook:i,worksheet:o,text:t,html:r}}async _generateClipboardPasteParamAsync(){const e=this.getActiveWorkbook(),r=e==null?void 0:e.getActiveSheet();if(!e||!r)return;const o=(await this._injector.get(C.IClipboardInterfaceService).read())[0];let a;if(o){const l=o.types,g=l.indexOf(C.PLAIN_TEXT_CLIPBOARD_MIME_TYPE)!==-1?await o.getType(C.PLAIN_TEXT_CLIPBOARD_MIME_TYPE).then(v=>v&&v.text()):"",S=l.indexOf(C.HTML_CLIPBOARD_MIME_TYPE)!==-1?await o.getType(C.HTML_CLIPBOARD_MIME_TYPE).then(v=>v&&v.text()):"";a={workbook:e,worksheet:r,text:g,html:S}}return a}_beforeClipboardPaste(e){const r=this._generateClipboardPasteParam(e);if(r&&(this.fireEvent(this.Event.BeforeClipboardPaste,r),r.cancel))throw new h.CanceledError}_clipboardPaste(e){const r=this._generateClipboardPasteParam(e);if(r&&(this.fireEvent(this.Event.ClipboardPasted,r),r.cancel))throw new h.CanceledError}async _beforeClipboardPasteAsync(){if(!C.supportClipboardAPI()){this._injector.get(h.ILogService).warn("[Facade]: The navigator object only supports the browser environment");return}const e=await this._generateClipboardPasteParamAsync();if(e&&(this.fireEvent(this.Event.BeforeClipboardPaste,e),e.cancel))throw new h.CanceledError}async _clipboardPasteAsync(){if(!C.supportClipboardAPI()){this._injector.get(h.ILogService).warn("[Facade]: The navigator object only supports the browser environment");return}const e=await this._generateClipboardPasteParamAsync();if(e&&(this.fireEvent(this.Event.ClipboardPasted,e),e.cancel))throw new h.CanceledError}customizeColumnHeader(e){var S,v;const r=this.getActiveWorkbook();if(!r){console.error("WorkBook not exist");return}const t=r==null?void 0:r.getId(),i=this._injector.get(u.IRenderManagerService),o=r.getActiveSheet(),a=o.getSheetId(),l=i.getRenderById(t);l&&((S=e.headerStyle)!=null&&S.size)&&(l.with(s.SheetSkeletonManagerService).setColumnHeaderSize(l,a,(v=e.headerStyle)==null?void 0:v.size),o==null||o.refreshCanvas()),this._getSheetRenderComponent(t,s.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e),o==null||o.refreshCanvas()}customizeRowHeader(e){const r=this.getActiveWorkbook();if(!r){console.error("WorkBook not exist");return}const t=r==null?void 0:r.getId();this._getSheetRenderComponent(t,s.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}registerSheetRowHeaderExtension(e,...r){const t=this._getSheetRenderComponent(e,s.SHEET_VIEW_KEY.ROW),i=t.register(...r);return h.toDisposable(()=>{i.dispose(),t.makeDirty(!0)})}registerSheetColumnHeaderExtension(e,...r){const t=this._getSheetRenderComponent(e,s.SHEET_VIEW_KEY.COLUMN),i=t.register(...r);return h.toDisposable(()=>{i.dispose(),t.makeDirty(!0)})}registerSheetMainExtension(e,...r){const t=this._getSheetRenderComponent(e,s.SHEET_VIEW_KEY.MAIN),i=t.register(...r);return h.toDisposable(()=>{i.dispose(),t.makeDirty(!0)})}_getSheetRenderComponent(e,r){const i=this._injector.get(u.IRenderManagerService).getRenderById(e);if(!i)throw new Error(`Render Unit with unitId ${e} not found`);const{components:o}=i,a=o.get(r);if(!a)throw new Error("Render component not found");return a}getSheetHooks(){return this._injector.createInstance(b.FSheetHooks)}pasteIntoSheet(e,r,t){return this._commandService.executeCommand(s.SheetPasteShortKeyCommand.id,{htmlContent:e,textContent:r,files:t})}setProtectedRangeShadowStrategy(e){this._injector.get(s.SheetPermissionRenderManagerService).setProtectedRangeShadowStrategy(e)}getProtectedRangeShadowStrategy(){return this._injector.get(s.SheetPermissionRenderManagerService).getProtectedRangeShadowStrategy()}getProtectedRangeShadowStrategy$(){return this._injector.get(s.SheetPermissionRenderManagerService).getProtectedRangeShadowStrategy$()}setPermissionDialogVisible(e){this._injector.get(h.IPermissionService).setShowComponents(e)}}R.FUniver.extend(D);class T extends b.FWorkbook{openSiderbar(e){return this._logDeprecation("openSiderbar"),this._injector.get(C.ISidebarService).open(e)}openDialog(e){this._logDeprecation("openDialog");const t=this._injector.get(C.IDialogService).open({...e,onClose:()=>{t.dispose()}});return t}customizeColumnHeader(e){const r=this._workbook.getUnitId();this._getSheetRenderComponent(r,s.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e)}customizeRowHeader(e){const r=this._workbook.getUnitId();this._getSheetRenderComponent(r,s.SHEET_VIEW_KEY.ROW).setCustomHeader(e)}_getSheetRenderComponent(e,r){const i=this._injector.get(u.IRenderManagerService).getRenderById(e);if(!i)throw new Error(`Render Unit with unitId ${e} not found`);const{components:o}=i,a=o.get(r);if(!a)throw new Error("Render component not found");return a}_logDeprecation(e){this._injector.get(h.ILogService).warn("[FWorkbook]",`${e} is deprecated. Please use the function of the same name on "FUniver".`)}generateCellParams(e){const r=this.getActiveSheet();return{row:e.row,column:e.col,workbook:this,worksheet:r}}onCellClick(e){const r=this._injector.get(s.HoverManagerService);return h.toDisposable(r.currentClickedCell$.pipe(m.filter(t=>!!t)).subscribe(t=>{e(t)}))}onCellHover(e){const r=this._injector.get(s.HoverManagerService);return h.toDisposable(r.currentRichText$.pipe(m.filter(t=>!!t)).subscribe(e))}onCellPointerDown(e){const r=this._injector.get(s.HoverManagerService);return h.toDisposable(r.currentPointerDownCell$.subscribe(e))}onCellPointerUp(e){const r=this._injector.get(s.HoverManagerService);return h.toDisposable(r.currentPointerUpCell$.subscribe(e))}onCellPointerMove(e){const r=this._injector.get(s.HoverManagerService);return h.toDisposable(r.currentCellPosWithEvent$.pipe(m.filter(t=>!!t)).subscribe(t=>{e(t,t.event)}))}onDragOver(e){const r=this._injector.get(s.DragManagerService);return h.toDisposable(r.currentCell$.pipe(m.filter(t=>!!t)).subscribe(t=>{e(t)}))}onDrop(e){const r=this._injector.get(s.DragManagerService);return h.toDisposable(r.endCell$.pipe(m.filter(t=>!!t)).subscribe(t=>{e(t)}))}startEditing(){const e=this._injector.get(h.ICommandService);return this._injector.get(s.IEditorBridgeService).isVisible().visible?!0:e.syncExecuteCommand(s.SetCellEditVisibleOperation.id,{eventType:u.DeviceInputEventType.Dblclick,unitId:this._workbook.getUnitId(),visible:!0})}async endEditing(e){const r=this._injector.get(h.ICommandService);return this._injector.get(s.IEditorBridgeService).isVisible().visible&&r.syncExecuteCommand(s.SetCellEditVisibleOperation.id,{eventType:u.DeviceInputEventType.Keyboard,keycode:e?C.KeyCode.ENTER:C.KeyCode.ESC,visible:!1,unitId:this._workbook.getUnitId()}),await h.awaitTime(0),!0}endEditingAsync(e=!0){return this.endEditing(e)}abortEditingAsync(){return this.endEditingAsync(!1)}isCellEditing(){return this._injector.get(s.IEditorBridgeService).isVisible().visible}getScrollStateBySheetId(e){const r=this._workbook.getUnitId(),i=this._injector.get(u.IRenderManagerService).getRenderById(r);return i?i.with(s.SheetScrollManagerService).getScrollStateByParam({unitId:r,sheetId:e}):null}disableSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(u.IRenderManagerService).getRenderById(e);return t&&t.with(s.ISheetSelectionRenderService).disableSelection(),this}enableSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(u.IRenderManagerService).getRenderById(e);return t&&t.with(s.ISheetSelectionRenderService).enableSelection(),this}transparentSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(u.IRenderManagerService).getRenderById(e);return t&&t.with(s.ISheetSelectionRenderService).transparentSelection(),this}showSelection(){const e=this._workbook.getUnitId(),t=this._injector.get(u.IRenderManagerService).getRenderById(e);return t&&t.with(s.ISheetSelectionRenderService).showSelection(),this}}b.FWorkbook.extend(T);class B extends b.FWorksheet{refreshCanvas(){const e=this._injector.get(u.IRenderManagerService),r=this._fWorkbook.id,t=e.getRenderById(r);if(!t)throw new Error(`Render Unit with unitId ${r} not found`);t.with(s.SheetSkeletonManagerService).reCalculate();const i=t.mainComponent;if(!i)throw new Error("Main component not found");return i.makeDirty(),this}highlightRanges(e,r,t){const i=this._injector.get(s.IMarkSelectionService),o=[];for(const a of e){const l=a.getRange(),g=i.addShapeWithNoFresh({range:l,style:r,primary:t});g&&o.push(g)}if(i.refreshShapes(),o.length===0)throw new Error("Failed to highlight current range");return h.toDisposable(()=>{o.forEach(a=>{i.removeShape(a)})})}zoom(e){const r=this._injector.get(h.ICommandService),t=Math.min(Math.max(e,.1),4);return r.executeCommand(s.SetZoomRatioCommand.id,{unitId:this._workbook.getUnitId(),subUnitId:this._worksheet.getSheetId(),zoomRatio:t}),this}getZoom(){return this._worksheet.getZoomRatio()}getVisibleRange(){const e=this._workbook.getUnitId(),t=this._injector.get(u.IRenderManagerService).getRenderById(e);if(!t)return null;const o=t.with(s.SheetSkeletonManagerService).getCurrentSkeleton();return o?o.getVisibleRangeByViewport(u.SHEET_VIEWPORT_KEY.VIEW_MAIN):null}getVisibleRangesOfAllViewports(){const e=this._workbook.getUnitId(),t=this._injector.get(u.IRenderManagerService).getRenderById(e);if(!t)return null;const o=t.with(s.SheetSkeletonManagerService).getCurrentSkeleton();return o?o.getVisibleRanges():null}scrollToCell(e,r,t){const i=this._workbook.getUnitId(),a=this._injector.get(u.IRenderManagerService).getRenderById(i);return a&&(a==null?void 0:a.with(s.SheetsScrollRenderController)).scrollToCell(e,r,t),this}getScrollState(){const e={offsetX:0,offsetY:0,sheetViewStartColumn:0,sheetViewStartRow:0},r=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),o=this._injector.get(u.IRenderManagerService).getRenderById(r);return o&&o.with(s.SheetScrollManagerService).getScrollStateByParam({unitId:r,sheetId:t})||e}onScroll(e){var o;const r=this._workbook.getUnitId(),i=(o=this._injector.get(u.IRenderManagerService).getRenderById(r))==null?void 0:o.with(s.SheetScrollManagerService);if(i){const a=i.validViewportScrollInfo$.subscribe(l=>{e(l)});return h.toDisposable(a)}return h.toDisposable(()=>{})}getSkeleton(){var r,t;const e=(r=this._injector.get(u.IRenderManagerService).getRenderById(this._workbook.getUnitId()))==null?void 0:r.with(s.SheetSkeletonManagerService);return(t=e==null?void 0:e.getWorksheetSkeleton(this._worksheet.getSheetId()))==null?void 0:t.skeleton}autoResizeColumn(e){return this.autoResizeColumns(e,1)}autoResizeColumns(e,r){const t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),o=[{startColumn:e,endColumn:e+r-1,startRow:0,endRow:this._worksheet.getRowCount()-1}];return this._commandService.syncExecuteCommand(s.SetWorksheetColAutoWidthCommand.id,{unitId:t,subUnitId:i,ranges:o}),this}setColumnAutoWidth(e,r){return this.autoResizeColumns(e,r)}autoResizeRows(e,r){const t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),o=[{startRow:e,endRow:e+r-1,startColumn:0,endColumn:this._worksheet.getColumnCount()-1}];return this._commandService.syncExecuteCommand(f.SetWorksheetRowIsAutoHeightCommand.id,{unitId:t,subUnitId:i,ranges:o}),this}customizeColumnHeader(e){var l,g;const r=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),o=this._injector.get(u.IRenderManagerService).getRenderById(r);o&&((l=e.headerStyle)!=null&&l.size)&&o.with(s.SheetSkeletonManagerService).setColumnHeaderSize(o,t,(g=e.headerStyle)==null?void 0:g.size),this._getSheetRenderComponent(r,s.SHEET_VIEW_KEY.COLUMN).setCustomHeader(e,t)}customizeRowHeader(e){var l,g;const r=this._workbook.getUnitId(),t=this._worksheet.getSheetId(),o=this._injector.get(u.IRenderManagerService).getRenderById(r);o&&((l=e.headerStyle)!=null&&l.size)&&o.with(s.SheetSkeletonManagerService).setRowHeaderSize(o,t,(g=e.headerStyle)==null?void 0:g.size),this._getSheetRenderComponent(r,s.SHEET_VIEW_KEY.ROW).setCustomHeader(e,t)}setColumnHeaderHeight(e){const r=this._workbook.getUnitId(),t=this._worksheet.getSheetId();return this._commandService.executeCommand(s.SetColumnHeaderHeightCommand.id,{unitId:r,subUnitId:t,size:e}),this}setRowHeaderWidth(e){const r=this._workbook.getUnitId(),t=this._worksheet.getSheetId();return this._commandService.executeCommand(s.SetRowHeaderWidthCommand.id,{unitId:r,subUnitId:t,size:e}),this}_getSheetRenderComponent(e,r){const i=this._injector.get(u.IRenderManagerService).getRenderById(e);if(!i)throw new Error(`Render Unit with unitId ${e} not found`);const{components:o}=i,a=o.get(r);if(!a)throw new Error("Render component not found");return a}}b.FWorksheet.extend(B);class A extends b.FPermission{setPermissionDialogVisible(e){this._permissionService.setShowComponents(e)}}b.FPermission.extend(A);class x extends b.FSheetHooks{onCellPointerMove(e){return h.toDisposable(this._injector.get(s.HoverManagerService).currentPosition$.subscribe(e))}onCellPointerOver(e){return h.toDisposable(this._injector.get(s.HoverManagerService).currentCell$.subscribe(e))}onCellDragOver(e){return h.toDisposable(this._injector.get(s.DragManagerService).currentCell$.subscribe(e))}onCellDrop(e){return h.toDisposable(this._injector.get(s.DragManagerService).endCell$.subscribe(e))}onCellRender(e,r=h.InterceptorEffectEnum.Style,t=f.InterceptCellContentPriority.DATA_VALIDATION){return this._injector.get(f.SheetInterceptorService).intercept(f.INTERCEPTOR_POINT.CELL_CONTENT,{effect:r,handler:(i,o,a)=>(i&&!i.customRender&&e&&(i.customRender=[...e]),a(i)),priority:t})}onBeforeCellEdit(e){return this._injector.get(h.ICommandService).beforeCommandExecuted(r=>{const t=r.params;r.id===s.SetCellEditVisibleOperation.id&&t.visible&&e(t)})}onAfterCellEdit(e){return this._injector.get(h.ICommandService).onCommandExecuted(r=>{const t=r.params;r.id===s.SetCellEditVisibleOperation.id&&!t.visible&&e(t)})}}b.FSheetHooks.extend(x);const k={CellClicked:"CellClicked",CellPointerDown:"CellPointerDown",CellPointerUp:"CellPointerUp",CellPointerMove:"CellPointerMove",CellHover:"CellHover"};class O{get BeforeClipboardChange(){return"BeforeClipboardChange"}get ClipboardChanged(){return"ClipboardChanged"}get BeforeClipboardPaste(){return"BeforeClipboardPaste"}get ClipboardPasted(){return"ClipboardPasted"}get BeforeSheetEditStart(){return"BeforeSheetEditStart"}get SheetEditStarted(){return"SheetEditStarted"}get SheetEditChanging(){return"SheetEditChanging"}get BeforeSheetEditEnd(){return"BeforeSheetEditEnd"}get SheetEditEnded(){return"SheetEditEnded"}get CellClicked(){return k.CellClicked}get CellHover(){return k.CellHover}get CellPointerDown(){return k.CellPointerDown}get CellPointerUp(){return k.CellPointerUp}get CellPointerMove(){return k.CellPointerMove}get DragOver(){return"DragOver"}get Drop(){return"Drop"}get Scroll(){return"Scroll"}get SelectionMoveStart(){return"SelectionMoveStart"}get SelectionChanged(){return"SelectionChanged"}get SelectionMoving(){return"SelectionMoving"}get SelectionMoveEnd(){return"SelectionMoveEnd"}get RowHeaderClick(){return"RowHeaderClick"}get RowHeaderPointerDown(){return"RowHeaderPointerDown"}get RowHeaderPointerUp(){return"RowHeaderPointerUp"}get RowHeaderHover(){return"RowHeaderHover"}get ColumnHeaderClick(){return"ColumnHeaderClick"}get ColumnHeaderPointerDown(){return"ColumnHeaderPointerDown"}get ColumnHeaderPointerUp(){return"ColumnHeaderPointerUp"}get ColumnHeaderHover(){return"ColumnHeaderHover"}get SheetSkeletonChanged(){return"SheetSkeletonChanged"}get BeforeSheetZoomChange(){return"BeforeSheetZoomChange"}get SheetZoomChanged(){return"SheetZoomChanged"}}R.FEventName.extend(O);class H{get SHEET_VIEWPORT_KEY(){return u.SHEET_VIEWPORT_KEY}}R.FEnum.extend(H);class j extends b.FRange{getCell(){var l;const e=this._injector.get(u.IRenderManagerService),r=this._injector.get(h.ILogService),t=this._workbook.getUnitId(),i=this._worksheet.getSheetId(),o=e.getRenderById(t),a=(l=o==null?void 0:o.with(s.SheetSkeletonManagerService).getSkeletonParam(i))==null?void 0:l.skeleton;if(!a)throw r.error("[Facade]: `FRange.getCell` can only be called in current worksheet"),new Error("`FRange.getCell` can only be called in current worksheet");return a.getCellWithCoordByIndex(this._range.startRow,this._range.startColumn)}getCellRect(){const{startX:e,startY:r,endX:t,endY:i}=this.getCell(),o={x:e,y:r,width:t-e,height:i-r,top:r,left:e,bottom:i,right:t};return{...o,toJSON:()=>JSON.stringify(o)}}generateHTML(){var t;const r=this._injector.get(s.ISheetClipboardService).generateCopyContent(this._workbook.getUnitId(),this._worksheet.getSheetId(),this._range);return(t=r==null?void 0:r.html)!=null?t:""}attachPopup(e){var a,l,g;e.direction=(a=e.direction)!=null?a:"horizontal",e.extraProps=(l=e.extraProps)!=null?l:{},e.offset=(g=e.offset)!=null?g:[0,0];const{key:r,disposableCollection:t}=M(e,this._injector.get(C.ComponentManager)),o=this._injector.get(s.SheetCanvasPopManagerService).attachPopupToCell(this._range.startRow,this._range.startColumn,{...e,componentKey:r},this.getUnitId(),this._worksheet.getSheetId());return o?(t.add(o),t):(t.dispose(),null)}attachAlertPopup(e){const r=this._injector.get(s.CellAlertManagerService),t={workbook:this._workbook,worksheet:this._worksheet,row:this._range.startRow,col:this._range.startColumn,unitId:this.getUnitId(),subUnitId:this._worksheet.getSheetId()};return r.showAlert({...e,location:t}),{dispose:()=>{r.removeAlert(e.key)}}}attachRangePopup(e){var a,l,g;e.direction=(a=e.direction)!=null?a:"top-center",e.extraProps=(l=e.extraProps)!=null?l:{},e.offset=(g=e.offset)!=null?g:[0,0];const{key:r,disposableCollection:t}=M(e,this._injector.get(C.ComponentManager)),o=this._injector.get(s.SheetCanvasPopManagerService).attachRangePopup(this._range,{...e,componentKey:r},this.getUnitId(),this._worksheet.getSheetId());return o?(t.add(o),t):(t.dispose(),null)}highlight(e,r){const t=this._injector.get(s.IMarkSelectionService),i=t.addShape({range:this._range,style:e,primary:r});if(!i)throw new Error("Failed to highlight current range");return h.toDisposable(()=>{t.removeShape(i)})}showDropdown(e){return this._injector.get(s.ISheetCellDropdownManagerService).showDropdown(e)}async autoFill(e,r){const t=this.getRange(),i=e.getRange();if(!h.Rectangle.contains(i,t))throw new Error("AutoFill target range must contain source range");const{startRow:o,startColumn:a,endRow:l,endColumn:g}=t,{startRow:S,startColumn:v,endRow:c,endColumn:n}=i;if(l-o!==c-S&&g-a!==n-v)throw new Error("AutoFill can only fill in one direction");if(l-o===c-S&&a!==v&&g!==n)throw new Error("AutoFill can only fill in one direction");if(g-a===n-v&&o!==S&&l!==c)throw new Error("AutoFill can only fill in one direction");return this._commandService.executeCommand(s.AutoFillCommand.id,{sourceRange:t,targetRange:i,unitId:this.getUnitId(),subUnitId:this.getSheetId(),applyType:r})}}b.FRange.extend(j);function M(I,e){const{componentKey:r,isVue3:t}=I;let i;const o=new h.DisposableCollection;return typeof r=="string"?i=r:(i=`External_${h.generateRandomId(6)}`,o.add(e.register(i,r,{framework:t?"vue3":"react"}))),{key:i,disposableCollection:o}}p.FSheetsUIEnum=H,p.transformComponentKey=M,Object.defineProperty(p,Symbol.toStringTag,{value:"Module"})}));