@officesdk/editor-sdk-core 0.0.0-20 → 0.0.0-22

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 (52) hide show
  1. package/cjs/docx/menu.js +1 -1
  2. package/cjs/shared/collaboration.js +1 -1
  3. package/cjs/shared/decryption.js +1 -1
  4. package/cjs/shared/editor.js +1 -1
  5. package/cjs/shared/import.js +3 -0
  6. package/cjs/shared/index.js +1 -1
  7. package/cjs/shared/menu.js +1 -1
  8. package/cjs/sheet/export.js +1 -1
  9. package/cjs/sheet/formula.js +3 -0
  10. package/cjs/sheet/import-range.js +3 -0
  11. package/cjs/sheet/index.js +1 -1
  12. package/cjs/sheet/render.js +1 -1
  13. package/cjs/sheet/sdk.js +1 -1
  14. package/cjs/table/filed-context-menu.js +3 -0
  15. package/cjs/table/index.js +1 -1
  16. package/cjs/table/list-bar.js +3 -0
  17. package/cjs/table/sdk.js +1 -1
  18. package/cjs/table/toolbar.js +3 -0
  19. package/cjs/table/view-context-menu.js +3 -0
  20. package/esm/docx/menu.js +1 -1
  21. package/esm/shared/collaboration.js +1 -1
  22. package/esm/shared/decryption.js +1 -1
  23. package/esm/shared/editor.js +1 -1
  24. package/esm/shared/import.js +2 -0
  25. package/esm/shared/index.js +1 -1
  26. package/esm/shared/menu.js +1 -1
  27. package/esm/sheet/export.js +1 -1
  28. package/esm/sheet/formula.js +2 -0
  29. package/esm/sheet/import-range.js +2 -0
  30. package/esm/sheet/index.js +1 -1
  31. package/esm/sheet/render.js +1 -1
  32. package/esm/sheet/sdk.js +1 -1
  33. package/esm/table/filed-context-menu.js +2 -0
  34. package/esm/table/index.js +1 -1
  35. package/esm/table/list-bar.js +2 -0
  36. package/esm/table/sdk.js +1 -1
  37. package/esm/table/toolbar.js +2 -0
  38. package/esm/table/view-context-menu.js +2 -0
  39. package/package.json +6 -1
  40. package/types/combine.d.ts +302 -27
  41. package/types/diagram.d.ts +60 -18
  42. package/types/docs.d.ts +60 -18
  43. package/types/docx.d.ts +61 -19
  44. package/types/pdf.d.ts +60 -18
  45. package/types/presentation.d.ts +60 -18
  46. package/types/shared.d.ts +60 -18
  47. package/types/sheet.d.ts +92 -26
  48. package/types/table.d.ts +269 -18
  49. package/cjs/shared/render.js +0 -3
  50. package/cjs/sheet/import-formula.js +0 -3
  51. package/esm/shared/render.js +0 -2
  52. package/esm/sheet/import-formula.js +0 -2
@@ -347,6 +347,10 @@ export declare interface EditorCollaborationOptions {
347
347
  * 是否使用严格的长度校验规则,默认关闭,在开启后如果出现长度校验失败会立刻禁止编辑器继续编写,并将保存状态设置为错误状态
348
348
  */
349
349
  strictCLC?: boolean;
350
+ /**
351
+ * 版本号, 需通过内容接口response header获取
352
+ */
353
+ rev: MaybePromiseValue<number>;
350
354
  }
351
355
 
352
356
  /**
@@ -522,7 +526,7 @@ export declare interface EditorDecryptionOptions {
522
526
  * @param buffer - 需要解密的二进制数据
523
527
  * @returns 解密后的二进制数据
524
528
  */
525
- decrypt?: (buffer: ArrayBuffer) => ArrayBuffer;
529
+ decryptFile?: (buffer: ArrayBuffer) => ArrayBuffer;
526
530
  }
527
531
 
528
532
  export declare interface EditorDelta {
@@ -766,6 +770,37 @@ export declare interface EditorI18nOptions {
766
770
 
767
771
  export declare type EditorImageCropPoint = 'nw' | 'north' | 'ne' | 'west' | 'center' | 'east' | 'sw' | 'south' | 'se';
768
772
 
773
+ export declare interface EditorImportOptions {
774
+ /**
775
+ * 获取导入状态,没有contentUrl时需要显示导入进度
776
+ * 待导入完成后再渲染
777
+ */
778
+ getImportStatus?: () => Promise<{
779
+ /**
780
+ * 导入进度
781
+ */
782
+ progress: number;
783
+ /**
784
+ * 导入中
785
+ */
786
+ status: 'importing';
787
+ } | {
788
+ /**
789
+ * 导入完成
790
+ */
791
+ status: 'completed';
792
+ } | {
793
+ /**
794
+ * 导入失败
795
+ */
796
+ status: 'failed';
797
+ /**
798
+ * 导入失败错误信息
799
+ */
800
+ errorMessage?: string;
801
+ }>;
802
+ }
803
+
769
804
  /**
770
805
  * 链接配置,抽象打开链接等操作
771
806
  */
@@ -855,14 +890,18 @@ export declare interface EditorMenuButtonMenuItemConfig<TName extends string> ex
855
890
 
856
891
  /**
857
892
  * 编辑器菜单配置类型
858
- * 联合类型,表示可以是任意一种菜单项配置
893
+ * 根据 TName 类型的不同返回不同的菜单配置类型:
894
+ * 1. 当 TName 是对象类型时(如 {pasteMenu: [...]}),会自动提取对象的键作为菜单名称
895
+ * 2. 当 TName 是字符串时,返回普通菜单项配置
859
896
  */
860
- export declare type EditorMenuEntryConfig<TName extends string> = EditorMenuHiddenMenuItemConfig<TName> | EditorMenuButtonMenuItemConfig<TName> | EditorMenuLinkMenuItemConfig<TName> | EditorMenuEntryMenuItemConfig<TName>;
897
+ export declare type EditorMenuEntryConfig<TName extends EditorMenuName> = TName extends Record<string, EditorMenuName[]> ? EditorMenuEntryMenuItemConfig<string & keyof TName, TName[keyof TName]> : TName extends string ? EditorMenuHiddenMenuItemConfig<TName> | EditorMenuButtonMenuItemConfig<TName> | EditorMenuLinkMenuItemConfig<TName> | EditorMenuEntryMenuItemConfig<TName, never> : never;
861
898
 
862
899
  /**
863
900
  * 子菜单入口配置
901
+ * TName: 菜单项名称(字符串类型)
902
+ * TChildName: 子菜单项名称数组类型,用于配置下一级菜单项
864
903
  */
865
- export declare interface EditorMenuEntryMenuItemConfig<TName extends string> extends EditorMenuBaseMenuItemConfig<TName> {
904
+ export declare interface EditorMenuEntryMenuItemConfig<TName extends string, TChildName extends EditorMenuName[]> extends EditorMenuBaseMenuItemConfig<TName> {
866
905
  type: 'entry';
867
906
  /**
868
907
  * 是否禁用菜单项,禁用后菜单项依旧显示不过变为灰色,不可点击
@@ -880,8 +919,9 @@ export declare interface EditorMenuEntryMenuItemConfig<TName extends string> ext
880
919
  /**
881
920
  * 下一级菜单配置,下一级菜单配置项和上一级相同
882
921
  * 如果下一级仍然是 entry 类型,可以无限向下扩展
922
+ * 只有当 TName 是对象类型时才应有子菜单
883
923
  */
884
- children?: EditorMenuEntryConfig<TName>[];
924
+ children?: TChildName extends EditorMenuName[] ? EditorMenuEntryConfig<TChildName[number]>[] : never;
885
925
  }
886
926
 
887
927
  /**
@@ -946,11 +986,18 @@ export declare interface EditorMenuLinkMenuItemConfig<TName extends string> exte
946
986
  url?: string;
947
987
  }
948
988
 
989
+ /**
990
+ * 菜单项名称类型
991
+ * 可以是字符串或包含子菜单数组的对象
992
+ * 如: 'copy' 或 { pasteMenu: ['pasteAll', 'pasteHead', 'pasteValueOnly'] }
993
+ */
994
+ export declare type EditorMenuName = string | Record<string, EditorMenuName[]>;
995
+
949
996
  /**
950
997
  * 菜单栏相关配置,目前菜单栏不是所有套件都支持,
951
998
  * 菜单栏是指的编辑器最上放可以展开二级菜单的那一栏。
952
999
  */
953
- export declare interface EditorMenuOptions<TName extends string> {
1000
+ export declare interface EditorMenuOptions<TName extends EditorMenuName> {
954
1001
  /**
955
1002
  * 菜单栏是否隐藏,设置为true, 则整个菜单栏不显示
956
1003
  */
@@ -961,13 +1008,15 @@ export declare interface EditorMenuOptions<TName extends string> {
961
1008
  disabled?: boolean;
962
1009
  /**
963
1010
  * 菜单栏一级菜单配置,指显示在菜单栏上的菜单项。
1011
+ * 支持普通菜单项和嵌套菜单项
964
1012
  */
965
1013
  entries?: EditorMenuEntryConfig<TName>[];
966
1014
  /**
967
1015
  * 菜单栏功能按钮配置
968
1016
  * 更加间接的配置项
1017
+ * 仅在 TName 为字符串类型时有效
969
1018
  */
970
- features?: Partial<Record<TName, EditorMenuFeatureConfig>>;
1019
+ features?: TName extends string ? Partial<Record<TName, EditorMenuFeatureConfig>> : never;
971
1020
  /**
972
1021
  * 自定义按钮配置
973
1022
  */
@@ -1081,6 +1130,10 @@ export declare interface EditorOptions {
1081
1130
  * 导出设置
1082
1131
  */
1083
1132
  export?: EditorExportOptions;
1133
+ /**
1134
+ * 导入相关设置
1135
+ */
1136
+ import?: EditorImportOptions;
1084
1137
  /**
1085
1138
  * 解密设置
1086
1139
  */
@@ -1089,10 +1142,6 @@ export declare interface EditorOptions {
1089
1142
  * 网络请求设置
1090
1143
  */
1091
1144
  http?: HTTPProxy;
1092
- /**
1093
- * 编辑器渲染设置项
1094
- */
1095
- render?: EditorRenderOptions;
1096
1145
  /**
1097
1146
  * 编辑器 UI 相关
1098
1147
  */
@@ -1220,13 +1269,6 @@ export declare interface EditorRemoteUploadableFile extends EditorBaseUploadable
1220
1269
  raw?: never;
1221
1270
  }
1222
1271
 
1223
- export declare interface EditorRenderOptions {
1224
- /**
1225
- * 渲染的容器
1226
- */
1227
- container?: HTMLElement;
1228
- }
1229
-
1230
1272
  /**
1231
1273
  * 编辑器通用接口
1232
1274
  */
package/types/shared.d.ts CHANGED
@@ -315,6 +315,10 @@ export declare interface EditorCollaborationOptions {
315
315
  * 是否使用严格的长度校验规则,默认关闭,在开启后如果出现长度校验失败会立刻禁止编辑器继续编写,并将保存状态设置为错误状态
316
316
  */
317
317
  strictCLC?: boolean;
318
+ /**
319
+ * 版本号, 需通过内容接口response header获取
320
+ */
321
+ rev: MaybePromiseValue<number>;
318
322
  }
319
323
 
320
324
  /**
@@ -490,7 +494,7 @@ export declare interface EditorDecryptionOptions {
490
494
  * @param buffer - 需要解密的二进制数据
491
495
  * @returns 解密后的二进制数据
492
496
  */
493
- decrypt?: (buffer: ArrayBuffer) => ArrayBuffer;
497
+ decryptFile?: (buffer: ArrayBuffer) => ArrayBuffer;
494
498
  }
495
499
 
496
500
  export declare interface EditorDelta {
@@ -734,6 +738,37 @@ export declare interface EditorI18nOptions {
734
738
 
735
739
  export declare type EditorImageCropPoint = 'nw' | 'north' | 'ne' | 'west' | 'center' | 'east' | 'sw' | 'south' | 'se';
736
740
 
741
+ export declare interface EditorImportOptions {
742
+ /**
743
+ * 获取导入状态,没有contentUrl时需要显示导入进度
744
+ * 待导入完成后再渲染
745
+ */
746
+ getImportStatus?: () => Promise<{
747
+ /**
748
+ * 导入进度
749
+ */
750
+ progress: number;
751
+ /**
752
+ * 导入中
753
+ */
754
+ status: 'importing';
755
+ } | {
756
+ /**
757
+ * 导入完成
758
+ */
759
+ status: 'completed';
760
+ } | {
761
+ /**
762
+ * 导入失败
763
+ */
764
+ status: 'failed';
765
+ /**
766
+ * 导入失败错误信息
767
+ */
768
+ errorMessage?: string;
769
+ }>;
770
+ }
771
+
737
772
  /**
738
773
  * 链接配置,抽象打开链接等操作
739
774
  */
@@ -823,14 +858,18 @@ export declare interface EditorMenuButtonMenuItemConfig<TName extends string> ex
823
858
 
824
859
  /**
825
860
  * 编辑器菜单配置类型
826
- * 联合类型,表示可以是任意一种菜单项配置
861
+ * 根据 TName 类型的不同返回不同的菜单配置类型:
862
+ * 1. 当 TName 是对象类型时(如 {pasteMenu: [...]}),会自动提取对象的键作为菜单名称
863
+ * 2. 当 TName 是字符串时,返回普通菜单项配置
827
864
  */
828
- export declare type EditorMenuEntryConfig<TName extends string> = EditorMenuHiddenMenuItemConfig<TName> | EditorMenuButtonMenuItemConfig<TName> | EditorMenuLinkMenuItemConfig<TName> | EditorMenuEntryMenuItemConfig<TName>;
865
+ export declare type EditorMenuEntryConfig<TName extends EditorMenuName> = TName extends Record<string, EditorMenuName[]> ? EditorMenuEntryMenuItemConfig<string & keyof TName, TName[keyof TName]> : TName extends string ? EditorMenuHiddenMenuItemConfig<TName> | EditorMenuButtonMenuItemConfig<TName> | EditorMenuLinkMenuItemConfig<TName> | EditorMenuEntryMenuItemConfig<TName, never> : never;
829
866
 
830
867
  /**
831
868
  * 子菜单入口配置
869
+ * TName: 菜单项名称(字符串类型)
870
+ * TChildName: 子菜单项名称数组类型,用于配置下一级菜单项
832
871
  */
833
- export declare interface EditorMenuEntryMenuItemConfig<TName extends string> extends EditorMenuBaseMenuItemConfig<TName> {
872
+ export declare interface EditorMenuEntryMenuItemConfig<TName extends string, TChildName extends EditorMenuName[]> extends EditorMenuBaseMenuItemConfig<TName> {
834
873
  type: 'entry';
835
874
  /**
836
875
  * 是否禁用菜单项,禁用后菜单项依旧显示不过变为灰色,不可点击
@@ -848,8 +887,9 @@ export declare interface EditorMenuEntryMenuItemConfig<TName extends string> ext
848
887
  /**
849
888
  * 下一级菜单配置,下一级菜单配置项和上一级相同
850
889
  * 如果下一级仍然是 entry 类型,可以无限向下扩展
890
+ * 只有当 TName 是对象类型时才应有子菜单
851
891
  */
852
- children?: EditorMenuEntryConfig<TName>[];
892
+ children?: TChildName extends EditorMenuName[] ? EditorMenuEntryConfig<TChildName[number]>[] : never;
853
893
  }
854
894
 
855
895
  /**
@@ -914,11 +954,18 @@ export declare interface EditorMenuLinkMenuItemConfig<TName extends string> exte
914
954
  url?: string;
915
955
  }
916
956
 
957
+ /**
958
+ * 菜单项名称类型
959
+ * 可以是字符串或包含子菜单数组的对象
960
+ * 如: 'copy' 或 { pasteMenu: ['pasteAll', 'pasteHead', 'pasteValueOnly'] }
961
+ */
962
+ export declare type EditorMenuName = string | Record<string, EditorMenuName[]>;
963
+
917
964
  /**
918
965
  * 菜单栏相关配置,目前菜单栏不是所有套件都支持,
919
966
  * 菜单栏是指的编辑器最上放可以展开二级菜单的那一栏。
920
967
  */
921
- export declare interface EditorMenuOptions<TName extends string> {
968
+ export declare interface EditorMenuOptions<TName extends EditorMenuName> {
922
969
  /**
923
970
  * 菜单栏是否隐藏,设置为true, 则整个菜单栏不显示
924
971
  */
@@ -929,13 +976,15 @@ export declare interface EditorMenuOptions<TName extends string> {
929
976
  disabled?: boolean;
930
977
  /**
931
978
  * 菜单栏一级菜单配置,指显示在菜单栏上的菜单项。
979
+ * 支持普通菜单项和嵌套菜单项
932
980
  */
933
981
  entries?: EditorMenuEntryConfig<TName>[];
934
982
  /**
935
983
  * 菜单栏功能按钮配置
936
984
  * 更加间接的配置项
985
+ * 仅在 TName 为字符串类型时有效
937
986
  */
938
- features?: Partial<Record<TName, EditorMenuFeatureConfig>>;
987
+ features?: TName extends string ? Partial<Record<TName, EditorMenuFeatureConfig>> : never;
939
988
  /**
940
989
  * 自定义按钮配置
941
990
  */
@@ -1049,6 +1098,10 @@ export declare interface EditorOptions {
1049
1098
  * 导出设置
1050
1099
  */
1051
1100
  export?: EditorExportOptions;
1101
+ /**
1102
+ * 导入相关设置
1103
+ */
1104
+ import?: EditorImportOptions;
1052
1105
  /**
1053
1106
  * 解密设置
1054
1107
  */
@@ -1057,10 +1110,6 @@ export declare interface EditorOptions {
1057
1110
  * 网络请求设置
1058
1111
  */
1059
1112
  http?: HTTPProxy;
1060
- /**
1061
- * 编辑器渲染设置项
1062
- */
1063
- render?: EditorRenderOptions;
1064
1113
  /**
1065
1114
  * 编辑器 UI 相关
1066
1115
  */
@@ -1188,13 +1237,6 @@ export declare interface EditorRemoteUploadableFile extends EditorBaseUploadable
1188
1237
  raw?: never;
1189
1238
  }
1190
1239
 
1191
- export declare interface EditorRenderOptions {
1192
- /**
1193
- * 渲染的容器
1194
- */
1195
- container?: HTMLElement;
1196
- }
1197
-
1198
1240
  /**
1199
1241
  * 编辑器通用接口
1200
1242
  */
package/types/sheet.d.ts CHANGED
@@ -39,9 +39,9 @@ export declare abstract class AbstractedSheetSDK extends EditorSDK {
39
39
  */
40
40
  abstract endDemonstration(): Promise<void>;
41
41
  /**
42
- * 导出为图片/pdf
42
+ * 导出接口
43
43
  */
44
- abstract export(type: 'pdf' | 'image'): Promise<void>;
44
+ abstract export(type: string): Promise<void>;
45
45
  /**
46
46
  * 工作簿接口
47
47
  */
@@ -414,6 +414,10 @@ export declare interface EditorCollaborationOptions {
414
414
  * 是否使用严格的长度校验规则,默认关闭,在开启后如果出现长度校验失败会立刻禁止编辑器继续编写,并将保存状态设置为错误状态
415
415
  */
416
416
  strictCLC?: boolean;
417
+ /**
418
+ * 版本号, 需通过内容接口response header获取
419
+ */
420
+ rev: MaybePromiseValue<number>;
417
421
  }
418
422
 
419
423
  /**
@@ -453,6 +457,15 @@ export declare interface EditorCollaborators {
453
457
  addUserLeaveListener: (listener: (allUsers: CollaboratorInfo[], leftUsers: CollaboratorInfo[]) => void) => () => void;
454
458
  }
455
459
 
460
+ export declare interface EditorCollaboratorsOptions {
461
+ /**
462
+ * 推送协作者socket 对象
463
+ * 实际类型为socketIO.client
464
+ * TODO: 抽象为接口
465
+ */
466
+ socket?: unknown;
467
+ }
468
+
456
469
  /**
457
470
  * 单条评论数据
458
471
  */
@@ -589,7 +602,7 @@ export declare interface EditorDecryptionOptions {
589
602
  * @param buffer - 需要解密的二进制数据
590
603
  * @returns 解密后的二进制数据
591
604
  */
592
- decrypt?: (buffer: ArrayBuffer) => ArrayBuffer;
605
+ decryptFile?: (buffer: ArrayBuffer) => ArrayBuffer;
593
606
  }
594
607
 
595
608
  export declare interface EditorDelta {
@@ -833,6 +846,37 @@ export declare interface EditorI18nOptions {
833
846
 
834
847
  export declare type EditorImageCropPoint = 'nw' | 'north' | 'ne' | 'west' | 'center' | 'east' | 'sw' | 'south' | 'se';
835
848
 
849
+ export declare interface EditorImportOptions {
850
+ /**
851
+ * 获取导入状态,没有contentUrl时需要显示导入进度
852
+ * 待导入完成后再渲染
853
+ */
854
+ getImportStatus?: () => Promise<{
855
+ /**
856
+ * 导入进度
857
+ */
858
+ progress: number;
859
+ /**
860
+ * 导入中
861
+ */
862
+ status: 'importing';
863
+ } | {
864
+ /**
865
+ * 导入完成
866
+ */
867
+ status: 'completed';
868
+ } | {
869
+ /**
870
+ * 导入失败
871
+ */
872
+ status: 'failed';
873
+ /**
874
+ * 导入失败错误信息
875
+ */
876
+ errorMessage?: string;
877
+ }>;
878
+ }
879
+
836
880
  /**
837
881
  * 链接配置,抽象打开链接等操作
838
882
  */
@@ -922,14 +966,18 @@ export declare interface EditorMenuButtonMenuItemConfig<TName extends string> ex
922
966
 
923
967
  /**
924
968
  * 编辑器菜单配置类型
925
- * 联合类型,表示可以是任意一种菜单项配置
969
+ * 根据 TName 类型的不同返回不同的菜单配置类型:
970
+ * 1. 当 TName 是对象类型时(如 {pasteMenu: [...]}),会自动提取对象的键作为菜单名称
971
+ * 2. 当 TName 是字符串时,返回普通菜单项配置
926
972
  */
927
- export declare type EditorMenuEntryConfig<TName extends string> = EditorMenuHiddenMenuItemConfig<TName> | EditorMenuButtonMenuItemConfig<TName> | EditorMenuLinkMenuItemConfig<TName> | EditorMenuEntryMenuItemConfig<TName>;
973
+ export declare type EditorMenuEntryConfig<TName extends EditorMenuName> = TName extends Record<string, EditorMenuName[]> ? EditorMenuEntryMenuItemConfig<string & keyof TName, TName[keyof TName]> : TName extends string ? EditorMenuHiddenMenuItemConfig<TName> | EditorMenuButtonMenuItemConfig<TName> | EditorMenuLinkMenuItemConfig<TName> | EditorMenuEntryMenuItemConfig<TName, never> : never;
928
974
 
929
975
  /**
930
976
  * 子菜单入口配置
977
+ * TName: 菜单项名称(字符串类型)
978
+ * TChildName: 子菜单项名称数组类型,用于配置下一级菜单项
931
979
  */
932
- export declare interface EditorMenuEntryMenuItemConfig<TName extends string> extends EditorMenuBaseMenuItemConfig<TName> {
980
+ export declare interface EditorMenuEntryMenuItemConfig<TName extends string, TChildName extends EditorMenuName[]> extends EditorMenuBaseMenuItemConfig<TName> {
933
981
  type: 'entry';
934
982
  /**
935
983
  * 是否禁用菜单项,禁用后菜单项依旧显示不过变为灰色,不可点击
@@ -947,8 +995,9 @@ export declare interface EditorMenuEntryMenuItemConfig<TName extends string> ext
947
995
  /**
948
996
  * 下一级菜单配置,下一级菜单配置项和上一级相同
949
997
  * 如果下一级仍然是 entry 类型,可以无限向下扩展
998
+ * 只有当 TName 是对象类型时才应有子菜单
950
999
  */
951
- children?: EditorMenuEntryConfig<TName>[];
1000
+ children?: TChildName extends EditorMenuName[] ? EditorMenuEntryConfig<TChildName[number]>[] : never;
952
1001
  }
953
1002
 
954
1003
  /**
@@ -1013,11 +1062,18 @@ export declare interface EditorMenuLinkMenuItemConfig<TName extends string> exte
1013
1062
  url?: string;
1014
1063
  }
1015
1064
 
1065
+ /**
1066
+ * 菜单项名称类型
1067
+ * 可以是字符串或包含子菜单数组的对象
1068
+ * 如: 'copy' 或 { pasteMenu: ['pasteAll', 'pasteHead', 'pasteValueOnly'] }
1069
+ */
1070
+ export declare type EditorMenuName = string | Record<string, EditorMenuName[]>;
1071
+
1016
1072
  /**
1017
1073
  * 菜单栏相关配置,目前菜单栏不是所有套件都支持,
1018
1074
  * 菜单栏是指的编辑器最上放可以展开二级菜单的那一栏。
1019
1075
  */
1020
- export declare interface EditorMenuOptions<TName extends string> {
1076
+ export declare interface EditorMenuOptions<TName extends EditorMenuName> {
1021
1077
  /**
1022
1078
  * 菜单栏是否隐藏,设置为true, 则整个菜单栏不显示
1023
1079
  */
@@ -1028,13 +1084,15 @@ export declare interface EditorMenuOptions<TName extends string> {
1028
1084
  disabled?: boolean;
1029
1085
  /**
1030
1086
  * 菜单栏一级菜单配置,指显示在菜单栏上的菜单项。
1087
+ * 支持普通菜单项和嵌套菜单项
1031
1088
  */
1032
1089
  entries?: EditorMenuEntryConfig<TName>[];
1033
1090
  /**
1034
1091
  * 菜单栏功能按钮配置
1035
1092
  * 更加间接的配置项
1093
+ * 仅在 TName 为字符串类型时有效
1036
1094
  */
1037
- features?: Partial<Record<TName, EditorMenuFeatureConfig>>;
1095
+ features?: TName extends string ? Partial<Record<TName, EditorMenuFeatureConfig>> : never;
1038
1096
  /**
1039
1097
  * 自定义按钮配置
1040
1098
  */
@@ -1148,6 +1206,10 @@ export declare interface EditorOptions {
1148
1206
  * 导出设置
1149
1207
  */
1150
1208
  export?: EditorExportOptions;
1209
+ /**
1210
+ * 导入相关设置
1211
+ */
1212
+ import?: EditorImportOptions;
1151
1213
  /**
1152
1214
  * 解密设置
1153
1215
  */
@@ -1156,10 +1218,6 @@ export declare interface EditorOptions {
1156
1218
  * 网络请求设置
1157
1219
  */
1158
1220
  http?: HTTPProxy;
1159
- /**
1160
- * 编辑器渲染设置项
1161
- */
1162
- render?: EditorRenderOptions;
1163
1221
  /**
1164
1222
  * 编辑器 UI 相关
1165
1223
  */
@@ -1295,13 +1353,6 @@ export declare interface EditorRemoteUploadableFile extends EditorBaseUploadable
1295
1353
  raw?: never;
1296
1354
  }
1297
1355
 
1298
- export declare interface EditorRenderOptions {
1299
- /**
1300
- * 渲染的容器
1301
- */
1302
- container?: HTMLElement;
1303
- }
1304
-
1305
1356
  /**
1306
1357
  * 编辑器通用接口
1307
1358
  */
@@ -2215,11 +2266,11 @@ export declare interface SheetComments extends EditorComments {
2215
2266
 
2216
2267
  export declare interface SheetExportOptions extends EditorExportOptions {
2217
2268
  /**
2218
- * 导出表格的方法
2269
+ * 导出单个sheet的方法
2219
2270
  * @param type - 导出类型,支持 'csv' 或 'xlsx' 格式
2220
- * @param sheetId - 可选的表格ID,用于指定要导出的特定表格
2271
+ * @param sheetId - 表格ID,用于指定要导出的特定表格
2221
2272
  */
2222
- exportSheet?: (type: 'csv' | 'xlsx', sheetId?: string) => Promise<void>;
2273
+ exportSheet?: (type: 'csv' | 'xlsx', sheetId: string) => Promise<void>;
2223
2274
  }
2224
2275
 
2225
2276
  export declare interface SheetFontsOptions extends EditorFontsOptions {
@@ -2236,7 +2287,14 @@ export declare interface SheetFormOptions extends EditorFeatureConfig {
2236
2287
  getFormPagePath?: () => string;
2237
2288
  }
2238
2289
 
2239
- export declare interface SheetImportFormulaOptions extends EditorFeatureConfig {
2290
+ export declare interface SheetFormulaOptions {
2291
+ /**
2292
+ * 是否有公式缓存,需通过内容接口response header获取
2293
+ */
2294
+ hasFormulaCache?: MaybePromiseValue<boolean>;
2295
+ }
2296
+
2297
+ export declare interface SheetImportRangeOptions extends EditorFeatureConfig {
2240
2298
  /**
2241
2299
  * 注册一个监听器,用于在跨表格引用结果发生变化时触发
2242
2300
  * @param listener - 回调函数,参数 guidList 表示发生变化的 guid 列表,可以是字符串或字符串数组。
@@ -2448,7 +2506,7 @@ export declare type SheetRangeValue = {
2448
2506
  type: `${SheetRangeType.Sheet}`;
2449
2507
  };
2450
2508
 
2451
- export declare interface SheetRenderOptions extends EditorRenderOptions {
2509
+ export declare interface SheetRenderOptions {
2452
2510
  /**
2453
2511
  * 激活的工作表 ID
2454
2512
  */
@@ -2493,7 +2551,7 @@ export declare interface SheetSDKOptions extends EditorOptions {
2493
2551
  /**
2494
2552
  * 跨表格引用设置
2495
2553
  */
2496
- importFormula?: SheetImportFormulaOptions;
2554
+ importRange?: SheetImportRangeOptions;
2497
2555
  /**
2498
2556
  * 锁定设置
2499
2557
  */
@@ -2526,6 +2584,14 @@ export declare interface SheetSDKOptions extends EditorOptions {
2526
2584
  * 性能指标设置
2527
2585
  */
2528
2586
  performance?: EditorPerformanceOptions;
2587
+ /**
2588
+ * 协作者设置
2589
+ */
2590
+ collaborators?: EditorCollaboratorsOptions;
2591
+ /**
2592
+ * 公式
2593
+ */
2594
+ formula?: SheetFormulaOptions;
2529
2595
  }
2530
2596
 
2531
2597
  /**