@univerjs/sheets 0.20.1 → 0.21.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 (58) hide show
  1. package/lib/cjs/facade.js +8352 -1
  2. package/lib/cjs/index.js +21494 -2
  3. package/lib/cjs/locale/ca-ES.js +17 -1
  4. package/lib/cjs/locale/en-US.js +32 -1
  5. package/lib/cjs/locale/es-ES.js +17 -1
  6. package/lib/cjs/locale/fa-IR.js +17 -1
  7. package/lib/cjs/locale/fr-FR.js +17 -1
  8. package/lib/cjs/locale/ja-JP.js +17 -1
  9. package/lib/cjs/locale/ko-KR.js +17 -1
  10. package/lib/cjs/locale/ru-RU.js +17 -1
  11. package/lib/cjs/locale/sk-SK.js +17 -1
  12. package/lib/cjs/locale/vi-VN.js +17 -1
  13. package/lib/cjs/locale/zh-CN.js +17 -1
  14. package/lib/cjs/locale/zh-TW.js +17 -1
  15. package/lib/es/facade.js +8314 -1
  16. package/lib/es/index.js +20973 -2
  17. package/lib/es/locale/ca-ES.js +16 -1
  18. package/lib/es/locale/en-US.js +31 -1
  19. package/lib/es/locale/es-ES.js +16 -1
  20. package/lib/es/locale/fa-IR.js +16 -1
  21. package/lib/es/locale/fr-FR.js +16 -1
  22. package/lib/es/locale/ja-JP.js +16 -1
  23. package/lib/es/locale/ko-KR.js +16 -1
  24. package/lib/es/locale/ru-RU.js +16 -1
  25. package/lib/es/locale/sk-SK.js +16 -1
  26. package/lib/es/locale/vi-VN.js +16 -1
  27. package/lib/es/locale/zh-CN.js +16 -1
  28. package/lib/es/locale/zh-TW.js +16 -1
  29. package/lib/facade.js +8314 -1
  30. package/lib/index.js +20973 -2
  31. package/lib/locale/ca-ES.js +16 -1
  32. package/lib/locale/en-US.js +31 -1
  33. package/lib/locale/es-ES.js +16 -1
  34. package/lib/locale/fa-IR.js +16 -1
  35. package/lib/locale/fr-FR.js +16 -1
  36. package/lib/locale/ja-JP.js +16 -1
  37. package/lib/locale/ko-KR.js +16 -1
  38. package/lib/locale/ru-RU.js +16 -1
  39. package/lib/locale/sk-SK.js +16 -1
  40. package/lib/locale/vi-VN.js +16 -1
  41. package/lib/locale/zh-CN.js +16 -1
  42. package/lib/locale/zh-TW.js +16 -1
  43. package/lib/types/commands/commands/remove-row-col.command.d.ts +2 -1
  44. package/lib/types/controllers/permission/sheet-permission-check.controller.d.ts +11 -12
  45. package/lib/types/facade/f-univer.d.ts +0 -7
  46. package/lib/types/facade/f-workbook.d.ts +0 -13
  47. package/lib/types/facade/index.d.ts +2 -2
  48. package/lib/types/facade/permission/f-range-permission.d.ts +31 -228
  49. package/lib/types/facade/permission/f-range-protection-rule.d.ts +157 -46
  50. package/lib/types/facade/permission/f-workbook-permission.d.ts +51 -129
  51. package/lib/types/facade/permission/f-worksheet-permission.d.ts +111 -199
  52. package/lib/types/facade/permission/permission-types.d.ts +20 -125
  53. package/lib/types/facade/permission/util.d.ts +40 -0
  54. package/lib/types/services/permission/range-permission/util.d.ts +2 -1
  55. package/lib/umd/facade.js +1 -1
  56. package/lib/umd/index.js +2 -2
  57. package/package.json +9 -9
  58. package/lib/types/facade/f-permission.d.ts +0 -426
@@ -1 +1,16 @@
1
- const e={sheets:{tabs:{sheetCopy:`(Còpia{0})`,sheet:`Full`},info:{overlappingSelections:`No es pot utilitzar aquesta ordre en seleccions superposades`,acrossMergedCell:`A través d'una cel·la combinada`,partOfCell:`Només una part d'una cel·la combinada està seleccionada`,hideSheet:`No hi ha fulls visibles després d'ocultar aquest`}}};export{e as default};
1
+ //#region src/locale/ca-ES.ts
2
+ const locale = { sheets: {
3
+ tabs: {
4
+ sheetCopy: "(Còpia{0})",
5
+ sheet: "Full"
6
+ },
7
+ info: {
8
+ overlappingSelections: "No es pot utilitzar aquesta ordre en seleccions superposades",
9
+ acrossMergedCell: "A través d'una cel·la combinada",
10
+ partOfCell: "Només una part d'una cel·la combinada està seleccionada",
11
+ hideSheet: "No hi ha fulls visibles després d'ocultar aquest"
12
+ }
13
+ } };
14
+
15
+ //#endregion
16
+ export { locale as default };
@@ -1 +1,31 @@
1
- const e={sheets:{tabs:{sheetCopy:`(Copy{0})`,sheet:`Sheet`},info:{overlappingSelections:`Cannot use that command on overlapping selections`,acrossMergedCell:`Across a merged cell`,partOfCell:`Only part of a merged cell is selected`,hideSheet:`No visible sheet after you hide this`}}};export{e as default};
1
+ //#region src/locale/en-US.ts
2
+ /**
3
+ * Copyright 2023-present DreamNum Co., Ltd.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ const locale = { sheets: {
18
+ tabs: {
19
+ sheetCopy: "(Copy{0})",
20
+ sheet: "Sheet"
21
+ },
22
+ info: {
23
+ overlappingSelections: "Cannot use that command on overlapping selections",
24
+ acrossMergedCell: "Across a merged cell",
25
+ partOfCell: "Only part of a merged cell is selected",
26
+ hideSheet: "No visible sheet after you hide this"
27
+ }
28
+ } };
29
+
30
+ //#endregion
31
+ export { locale as default };
@@ -1 +1,16 @@
1
- const e={sheets:{tabs:{sheetCopy:`(Copia{0})`,sheet:`Hoja`},info:{overlappingSelections:`No se puede usar ese comando en selecciones superpuestas`,acrossMergedCell:`A través de una celda combinada`,partOfCell:`Solo una parte de una celda combinada está seleccionada`,hideSheet:`No hay hojas visibles después de ocultar esta`}}};export{e as default};
1
+ //#region src/locale/es-ES.ts
2
+ const locale = { sheets: {
3
+ tabs: {
4
+ sheetCopy: "(Copia{0})",
5
+ sheet: "Hoja"
6
+ },
7
+ info: {
8
+ overlappingSelections: "No se puede usar ese comando en selecciones superpuestas",
9
+ acrossMergedCell: "A través de una celda combinada",
10
+ partOfCell: "Solo una parte de una celda combinada está seleccionada",
11
+ hideSheet: "No hay hojas visibles después de ocultar esta"
12
+ }
13
+ } };
14
+
15
+ //#endregion
16
+ export { locale as default };
@@ -1 +1,16 @@
1
- const e={sheets:{tabs:{sheetCopy:`(کپی{0})`,sheet:`برگ`},info:{overlappingSelections:`نمی‌توان از این دستور روی انتخاب‌های همپوشانی استفاده کرد`,acrossMergedCell:`در سراسر سلول ادغام شده`,partOfCell:`فقط بخشی از سلول ادغام شده انتخاب شده است`,hideSheet:`پس از پنهان کردن این برگ، هیچ برگی قابل مشاهده نخواهد بود`}}};export{e as default};
1
+ //#region src/locale/fa-IR.ts
2
+ const locale = { sheets: {
3
+ tabs: {
4
+ sheetCopy: "(کپی{0})",
5
+ sheet: "برگ"
6
+ },
7
+ info: {
8
+ overlappingSelections: "نمی‌توان از این دستور روی انتخاب‌های همپوشانی استفاده کرد",
9
+ acrossMergedCell: "در سراسر سلول ادغام شده",
10
+ partOfCell: "فقط بخشی از سلول ادغام شده انتخاب شده است",
11
+ hideSheet: "پس از پنهان کردن این برگ، هیچ برگی قابل مشاهده نخواهد بود"
12
+ }
13
+ } };
14
+
15
+ //#endregion
16
+ export { locale as default };
@@ -1 +1,16 @@
1
- const e={sheets:{tabs:{sheetCopy:`(Copie{0})`,sheet:`Feuille`},info:{overlappingSelections:`Impossible d'utiliser cette commande sur des sélections qui se chevauchent`,acrossMergedCell:`À travers une cellule fusionnée`,partOfCell:`Seule une partie d'une cellule fusionnée est sélectionnée`,hideSheet:`Aucune feuille visible après avoir masqué celle-ci`}}};export{e as default};
1
+ //#region src/locale/fr-FR.ts
2
+ const locale = { sheets: {
3
+ tabs: {
4
+ sheetCopy: "(Copie{0})",
5
+ sheet: "Feuille"
6
+ },
7
+ info: {
8
+ overlappingSelections: "Impossible d'utiliser cette commande sur des sélections qui se chevauchent",
9
+ acrossMergedCell: "À travers une cellule fusionnée",
10
+ partOfCell: "Seule une partie d'une cellule fusionnée est sélectionnée",
11
+ hideSheet: "Aucune feuille visible après avoir masqué celle-ci"
12
+ }
13
+ } };
14
+
15
+ //#endregion
16
+ export { locale as default };
@@ -1 +1,16 @@
1
- const e={sheets:{tabs:{sheetCopy:`(コピー{0})`,sheet:`シート`},info:{overlappingSelections:`そのコマンドは、重なり合う選択範囲に対しては使用できません。`,acrossMergedCell:`結合セルをまたいでいます`,partOfCell:`結合セルの一部が選択されています`,hideSheet:`表示されるシートがなくなるため、このシートを非表示にできません。`}}};export{e as default};
1
+ //#region src/locale/ja-JP.ts
2
+ const locale = { sheets: {
3
+ tabs: {
4
+ sheetCopy: "(コピー{0})",
5
+ sheet: "シート"
6
+ },
7
+ info: {
8
+ overlappingSelections: "そのコマンドは、重なり合う選択範囲に対しては使用できません。",
9
+ acrossMergedCell: "結合セルをまたいでいます",
10
+ partOfCell: "結合セルの一部が選択されています",
11
+ hideSheet: "表示されるシートがなくなるため、このシートを非表示にできません。"
12
+ }
13
+ } };
14
+
15
+ //#endregion
16
+ export { locale as default };
@@ -1 +1,16 @@
1
- const e={sheets:{tabs:{sheetCopy:`(복사본{0})`,sheet:`시트`},info:{overlappingSelections:`겹치는 영역에서는 해당 명령을 사용할 수 없습니다.`,acrossMergedCell:`병합된 셀을 가로지름`,partOfCell:`병합된 셀의 일부만 선택됨`,hideSheet:`이 시트를 숨기면 표시되는 시트가 없습니다.`}}};export{e as default};
1
+ //#region src/locale/ko-KR.ts
2
+ const locale = { sheets: {
3
+ tabs: {
4
+ sheetCopy: "(복사본{0})",
5
+ sheet: "시트"
6
+ },
7
+ info: {
8
+ overlappingSelections: "겹치는 영역에서는 해당 명령을 사용할 수 없습니다.",
9
+ acrossMergedCell: "병합된 셀을 가로지름",
10
+ partOfCell: "병합된 셀의 일부만 선택됨",
11
+ hideSheet: "이 시트를 숨기면 표시되는 시트가 없습니다."
12
+ }
13
+ } };
14
+
15
+ //#endregion
16
+ export { locale as default };
@@ -1 +1,16 @@
1
- const e={sheets:{tabs:{sheetCopy:`(Копия{0})`,sheet:`Лист`},info:{overlappingSelections:`Невозможно использовать эту команду на пересекающихся выделениях`,acrossMergedCell:`Через объединенную ячейку`,partOfCell:`Выделена только часть объединенной ячейки`,hideSheet:`После скрытия этого листа не будет видно ни одного листа`}}};export{e as default};
1
+ //#region src/locale/ru-RU.ts
2
+ const locale = { sheets: {
3
+ tabs: {
4
+ sheetCopy: "(Копия{0})",
5
+ sheet: "Лист"
6
+ },
7
+ info: {
8
+ overlappingSelections: "Невозможно использовать эту команду на пересекающихся выделениях",
9
+ acrossMergedCell: "Через объединенную ячейку",
10
+ partOfCell: "Выделена только часть объединенной ячейки",
11
+ hideSheet: "После скрытия этого листа не будет видно ни одного листа"
12
+ }
13
+ } };
14
+
15
+ //#endregion
16
+ export { locale as default };
@@ -1 +1,16 @@
1
- const e={sheets:{tabs:{sheetCopy:`(Kópia{0})`,sheet:`Hárok`},info:{overlappingSelections:`Na prekrývajúcich sa výberoch nie je možné použiť tento príkaz`,acrossMergedCell:`Cez zlúčenú bunku`,partOfCell:`Je vybraná iba časť zlúčenej bunky`,hideSheet:`Po skrytí tohto hárka nebude viditeľný žiadny hárok`}}};export{e as default};
1
+ //#region src/locale/sk-SK.ts
2
+ const locale = { sheets: {
3
+ tabs: {
4
+ sheetCopy: "(Kópia{0})",
5
+ sheet: "Hárok"
6
+ },
7
+ info: {
8
+ overlappingSelections: "Na prekrývajúcich sa výberoch nie je možné použiť tento príkaz",
9
+ acrossMergedCell: "Cez zlúčenú bunku",
10
+ partOfCell: "Je vybraná iba časť zlúčenej bunky",
11
+ hideSheet: "Po skrytí tohto hárka nebude viditeľný žiadny hárok"
12
+ }
13
+ } };
14
+
15
+ //#endregion
16
+ export { locale as default };
@@ -1 +1,16 @@
1
- const e={sheets:{tabs:{sheetCopy:`(Bản sao {0})`,sheet:`Bảng tính`},info:{overlappingSelections:`Không thể sử dụng lệnh này trên các vùng chọn chồng chéo nhau`,acrossMergedCell:`Không thể vượt qua các ô đã hợp nhất`,partOfCell:`Chỉ chọn một phần của ô đã hợp nhất`,hideSheet:`Không có bảng tính nào hiển thị sau khi ẩn`}}};export{e as default};
1
+ //#region src/locale/vi-VN.ts
2
+ const locale = { sheets: {
3
+ tabs: {
4
+ sheetCopy: "(Bản sao {0})",
5
+ sheet: "Bảng tính"
6
+ },
7
+ info: {
8
+ overlappingSelections: "Không thể sử dụng lệnh này trên các vùng chọn chồng chéo nhau",
9
+ acrossMergedCell: "Không thể vượt qua các ô đã hợp nhất",
10
+ partOfCell: "Chỉ chọn một phần của ô đã hợp nhất",
11
+ hideSheet: "Không có bảng tính nào hiển thị sau khi ẩn"
12
+ }
13
+ } };
14
+
15
+ //#endregion
16
+ export { locale as default };
@@ -1 +1,16 @@
1
- const e={sheets:{tabs:{sheetCopy:`(副本{0})`,sheet:`工作表`},info:{overlappingSelections:`无法对重叠选区使用该命令`,acrossMergedCell:`无法跨越合并单元格`,partOfCell:`仅选择了合并单元格的一部分`,hideSheet:`隐藏后无可见工作表`}}};export{e as default};
1
+ //#region src/locale/zh-CN.ts
2
+ const locale = { sheets: {
3
+ tabs: {
4
+ sheetCopy: "(副本{0})",
5
+ sheet: "工作表"
6
+ },
7
+ info: {
8
+ overlappingSelections: "无法对重叠选区使用该命令",
9
+ acrossMergedCell: "无法跨越合并单元格",
10
+ partOfCell: "仅选择了合并单元格的一部分",
11
+ hideSheet: "隐藏后无可见工作表"
12
+ }
13
+ } };
14
+
15
+ //#endregion
16
+ export { locale as default };
@@ -1 +1,16 @@
1
- const e={sheets:{tabs:{sheetCopy:`(副本{0})`,sheet:`工作表`},info:{overlappingSelections:`無法對重疊選區使用該命令`,acrossMergedCell:`無法跨越合併儲存格`,partOfCell:`僅選擇了合併儲存格的一部份`,hideSheet:`隱藏後無可見工作表`}}};export{e as default};
1
+ //#region src/locale/zh-TW.ts
2
+ const locale = { sheets: {
3
+ tabs: {
4
+ sheetCopy: "(副本{0})",
5
+ sheet: "工作表"
6
+ },
7
+ info: {
8
+ overlappingSelections: "無法對重疊選區使用該命令",
9
+ acrossMergedCell: "無法跨越合併儲存格",
10
+ partOfCell: "僅選擇了合併儲存格的一部份",
11
+ hideSheet: "隱藏後無可見工作表"
12
+ }
13
+ } };
14
+
15
+ //#endregion
16
+ export { locale as default };
@@ -14,7 +14,8 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import type { ICommand, IRange } from '@univerjs/core';
17
- export interface IRemoveRowColCommandParams {
17
+ import type { ISheetCommandSharedParams } from '../utils/interface';
18
+ export interface IRemoveRowColCommandParams extends Partial<ISheetCommandSharedParams> {
18
19
  range: IRange;
19
20
  }
20
21
  export interface IRemoveRowColCommandInterceptParams extends IRemoveRowColCommandParams {
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import type { IPermissionTypes, IRange } from '@univerjs/core';
17
- import { Disposable, DisposableCollection, ICommandService, IContextService, IPermissionService, IUniverInstanceService, LocaleService } from '@univerjs/core';
17
+ import { Disposable, DisposableCollection, ICommandService, IPermissionService, IUniverInstanceService, LocaleService } from '@univerjs/core';
18
18
  import { IDefinedNamesService, LexerTreeBuilder } from '@univerjs/engine-formula';
19
19
  import { RangeProtectionRuleModel } from '../../model/range-protection-rule.model';
20
20
  import { WorksheetProtectionRuleModel } from '../../services/permission/worksheet-permission';
@@ -28,23 +28,22 @@ export declare class SheetPermissionCheckController extends Disposable {
28
28
  private _worksheetProtectionRuleModel;
29
29
  private readonly _localeService;
30
30
  private readonly _lexerTreeBuilder;
31
- private readonly _contextService;
32
31
  private readonly _definedNamesService;
33
32
  disposableCollection: DisposableCollection;
34
33
  private _triggerPermissionUIEvent$;
35
34
  triggerPermissionUIEvent$: import("rxjs").Observable<string>;
36
- constructor(_commandService: ICommandService, _univerInstanceService: IUniverInstanceService, _permissionService: IPermissionService, _selectionManagerService: SheetsSelectionsService, _rangeProtectionRuleModel: RangeProtectionRuleModel, _worksheetProtectionRuleModel: WorksheetProtectionRuleModel, _localeService: LocaleService, _lexerTreeBuilder: LexerTreeBuilder, _contextService: IContextService, _definedNamesService: IDefinedNamesService);
37
- blockExecuteWithoutPermission(errorMsg: string): void;
38
- private _getPermissionCheck;
35
+ constructor(_commandService: ICommandService, _univerInstanceService: IUniverInstanceService, _permissionService: IPermissionService, _selectionManagerService: SheetsSelectionsService, _rangeProtectionRuleModel: RangeProtectionRuleModel, _worksheetProtectionRuleModel: WorksheetProtectionRuleModel, _localeService: LocaleService, _lexerTreeBuilder: LexerTreeBuilder, _definedNamesService: IDefinedNamesService);
39
36
  private _initialize;
40
37
  private _commandExecutedListener;
41
- private _permissionCheckWithInsertRangeMove;
42
- private _permissionCheckByWorksheetCommand;
43
- permissionCheckWithoutRange(permissionTypes: IPermissionTypes, unitId?: string, subUnitId?: string): boolean;
38
+ blockExecuteWithoutPermission(errorMsg: string): void;
39
+ private _getPermissionCheck;
44
40
  permissionCheckWithRanges(permissionTypes: IPermissionTypes, selectionRanges?: IRange[], unitId?: string, subUnitId?: string): boolean;
45
- private _permissionCheckByMoveCommand;
46
- private _permissionCheckByMoveRangeCommand;
47
- private _permissionCheckBySetRangeValue;
41
+ permissionCheckWithoutRange(permissionTypes: IPermissionTypes, unitId?: string, subUnitId?: string): boolean;
48
42
  private _permissionCheckWithFormula;
49
- private _permissionCheckByAutoFillCommand;
43
+ private _permissionCheckBySetRangeValue;
44
+ private _permissionCheckByMoveRowsColsCommand;
45
+ private _permissionCheckByMoveRangeCommand;
46
+ private _permissionCheckByInsertRowColCommand;
47
+ private _permissionCheckByWorksheetCommand;
48
+ private _permissionCheckWithInsertOrDeleteMoveRange;
50
49
  }
@@ -17,7 +17,6 @@ import type { ICommandInfo, ICreateUnitOptions, IDisposable, Injector, IWorkbook
17
17
  import type { FWorksheet } from './f-worksheet';
18
18
  import { FUniver } from '@univerjs/core/facade';
19
19
  import { FDefinedNameBuilder } from './f-defined-name';
20
- import { FPermission } from './f-permission';
21
20
  import { FWorkbook } from './f-workbook';
22
21
  /**
23
22
  * @ignore
@@ -75,11 +74,6 @@ export interface IFUniverSheetsMixin {
75
74
  */
76
75
  getUniverSheet(id: string): FWorkbook | null;
77
76
  getWorkbook(id: string): FWorkbook | null;
78
- /**
79
- * Get the PermissionInstance.
80
- * @deprecated This function is deprecated and will be removed in version 0.6.0. Please use the function with the same name on the `FWorkbook` instance instead.
81
- */
82
- getPermission(): FPermission;
83
77
  /**
84
78
  * @deprecated Use `univerAPI.addEvent(univerAPI.Event.UnitCreated, () => {})`
85
79
  */
@@ -183,7 +177,6 @@ export declare class FUniverSheetsMixin extends FUniver implements IFUniverSheet
183
177
  getActiveUniverSheet(): FWorkbook | null;
184
178
  getUniverSheet(id: string): FWorkbook | null;
185
179
  getWorkbook(id: string): FWorkbook | null;
186
- getPermission(): FPermission;
187
180
  onUniverSheetCreated(callback: (workbook: FWorkbook) => void): IDisposable;
188
181
  newDefinedName(): FDefinedNameBuilder;
189
182
  getActiveSheet(): Nullable<{
@@ -22,7 +22,6 @@ import { FBaseInitialable } from '@univerjs/core/facade';
22
22
  import { IDefinedNamesService } from '@univerjs/engine-formula';
23
23
  import { RangeThemeStyle, SheetsSelectionsService } from '@univerjs/sheets';
24
24
  import { FDefinedName } from './f-defined-name';
25
- import { FPermission } from './f-permission';
26
25
  import { FRange } from './f-range';
27
26
  import { FWorksheet } from './f-worksheet';
28
27
  import { FWorkbookPermission } from './permission/f-workbook-permission';
@@ -514,18 +513,6 @@ export declare class FWorkbook extends FBaseInitialable {
514
513
  * ```
515
514
  */
516
515
  moveActiveSheet(index: number): FWorkbook;
517
- /**
518
- * Get the PermissionInstance.
519
- * @returns {FPermission} - The PermissionInstance.
520
- * @deprecated Use `getWorkbookPermission()` instead for the new permission API
521
- * @example
522
- * ```ts
523
- * const fWorkbook = univerAPI.getActiveWorkbook();
524
- * const permission = fWorkbook.getPermission();
525
- * console.log(permission);
526
- * ```
527
- */
528
- getPermission(): FPermission;
529
516
  /**
530
517
  * Get the WorkbookPermission instance for managing workbook-level permissions.
531
518
  * This is the new permission API that provides a more intuitive and type-safe interface.
@@ -17,10 +17,10 @@ import './f-univer';
17
17
  import './f-enum';
18
18
  export * from './f-enum';
19
19
  export * from './f-event';
20
- export { FPermission } from './f-permission';
21
20
  export { FRange } from './f-range';
22
21
  export { FSelection } from './f-selection';
23
22
  export { FSheetHooks } from './f-sheet-hooks';
24
23
  export { FWorkbook } from './f-workbook';
25
- export type * from './f-univer';
26
24
  export { FWorksheet } from './f-worksheet';
25
+ export { FWorkbookPermission } from './permission/f-workbook-permission';
26
+ export type * from './f-univer';