@officesdk/editor-sdk-core 0.0.0-10 → 0.0.0-12

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 (89) hide show
  1. package/cjs/diagram/index.js +16 -1
  2. package/cjs/diagram/sdk.js +1 -1
  3. package/cjs/docs/index.js +21 -0
  4. package/cjs/docs/info.js +3 -0
  5. package/cjs/docs/range.js +7 -0
  6. package/cjs/docs/sdk.js +28 -0
  7. package/cjs/docs/selection.js +3 -0
  8. package/cjs/docx/context-menu.js +3 -0
  9. package/cjs/docx/index.js +16 -1
  10. package/cjs/docx/info.js +1 -1
  11. package/cjs/docx/menu.js +1 -1
  12. package/cjs/docx/sdk.js +1 -1
  13. package/cjs/docx/selection.js +1 -1
  14. package/cjs/docx/theme.js +1 -1
  15. package/cjs/docx/window.js +1 -1
  16. package/cjs/pdf/index.js +16 -1
  17. package/cjs/presentation/index.js +16 -1
  18. package/cjs/presentation/sdk.js +1 -1
  19. package/cjs/presentation/toolbar.js +3 -0
  20. package/cjs/shared/attachment.js +3 -0
  21. package/cjs/shared/content.js +1 -1
  22. package/cjs/shared/context-menu.js +3 -0
  23. package/cjs/shared/editor.js +1 -1
  24. package/cjs/shared/export.js +3 -0
  25. package/cjs/shared/file-picker.js +3 -0
  26. package/cjs/shared/index.js +5 -2
  27. package/cjs/shared/menu.js +1 -1
  28. package/cjs/shared/toolbar.js +1 -1
  29. package/cjs/shared/uploader.js +22 -0
  30. package/cjs/shared/user.js +1 -1
  31. package/cjs/sheet/index.js +16 -1
  32. package/cjs/sheet/sdk.js +1 -1
  33. package/cjs/table/content.js +3 -0
  34. package/cjs/table/index.js +23 -0
  35. package/cjs/table/resource.js +3 -0
  36. package/cjs/table/sdk.js +11 -0
  37. package/cjs/table/selection.js +21 -0
  38. package/cjs/table/table.js +3 -0
  39. package/esm/diagram/index.js +2 -1
  40. package/esm/diagram/sdk.js +1 -1
  41. package/esm/docs/index.js +3 -0
  42. package/esm/docs/info.js +2 -0
  43. package/esm/docs/range.js +6 -0
  44. package/esm/docs/sdk.js +25 -0
  45. package/esm/docs/selection.js +2 -0
  46. package/esm/docx/context-menu.js +2 -0
  47. package/esm/docx/index.js +2 -1
  48. package/esm/docx/info.js +1 -1
  49. package/esm/docx/menu.js +1 -1
  50. package/esm/docx/sdk.js +1 -1
  51. package/esm/docx/selection.js +1 -1
  52. package/esm/docx/theme.js +1 -1
  53. package/esm/docx/window.js +1 -1
  54. package/esm/pdf/index.js +2 -1
  55. package/esm/presentation/index.js +2 -1
  56. package/esm/presentation/sdk.js +1 -1
  57. package/esm/presentation/toolbar.js +2 -0
  58. package/esm/shared/attachment.js +2 -0
  59. package/esm/shared/content.js +1 -1
  60. package/esm/shared/context-menu.js +2 -0
  61. package/esm/shared/editor.js +1 -1
  62. package/esm/shared/export.js +2 -0
  63. package/esm/shared/file-picker.js +2 -0
  64. package/esm/shared/index.js +2 -1
  65. package/esm/shared/menu.js +1 -1
  66. package/esm/shared/toolbar.js +1 -1
  67. package/esm/shared/uploader.js +19 -0
  68. package/esm/shared/user.js +1 -1
  69. package/esm/sheet/index.js +2 -1
  70. package/esm/sheet/sdk.js +1 -1
  71. package/esm/table/content.js +2 -0
  72. package/esm/table/index.js +4 -0
  73. package/esm/table/resource.js +2 -0
  74. package/esm/table/sdk.js +8 -0
  75. package/esm/table/selection.js +18 -0
  76. package/esm/table/table.js +2 -0
  77. package/package.json +72 -7
  78. package/types/diagram.d.ts +1454 -0
  79. package/types/docs.d.ts +1581 -0
  80. package/{docx.d.ts → types/docx.d.ts} +535 -114
  81. package/types/pdf.d.ts +1663 -0
  82. package/{presentation.d.ts → types/presentation.d.ts} +488 -61
  83. package/{shared.d.ts → types/shared.d.ts} +341 -18
  84. package/{sheet.d.ts → types/sheet.d.ts} +448 -63
  85. package/types/table.d.ts +1704 -0
  86. package/cjs/index.js +0 -16
  87. package/diagram.d.ts +0 -358
  88. package/esm/index.js +0 -7
  89. package/pdf.d.ts +0 -760
@@ -1,3 +1,41 @@
1
+ export declare abstract class AbstractedEditorFileUploader {
2
+ /**
3
+ * 开始上传
4
+ * @param options
5
+ */
6
+ abstract start(options: EditorUploadStartOptions): EditorUploadTaskInfo[];
7
+ /**
8
+ * 暂停上传,不传参数则取消所有上传任务
9
+ * @param taskIds
10
+ */
11
+ abstract pause(taskIds?: string[]): void;
12
+ /**
13
+ * 暂停上传,不传参数则暂停所有上传任务
14
+ * @param taskIds
15
+ */
16
+ abstract abort(taskIds?: string[]): void;
17
+ /**
18
+ * 恢复上传,不传参数则恢复所有上传任务
19
+ * @param taskIds
20
+ */
21
+ abstract resume(taskIds?: string[]): void;
22
+ }
23
+
24
+ /**
25
+ * 匿名用户信息
26
+ * 当前用户信息未知时的缺省值
27
+ */
28
+ export declare interface EditorAnonymousOptions {
29
+ /**
30
+ * 匿名用户默认显示名称
31
+ */
32
+ name: string;
33
+ /**
34
+ * 匿名用户默认头像
35
+ */
36
+ avatar: string;
37
+ }
38
+
1
39
  /**
2
40
  * 编辑器内部资源请求配置
3
41
  */
@@ -69,6 +107,116 @@ export declare interface EditorAssetsResolver {
69
107
  checkAssetReady: (assetId: string) => Promise<boolean> | boolean;
70
108
  }
71
109
 
110
+ /**
111
+ * 编辑器附件限制配置,sdk中会使用在不同的场景下使用不同的限制规则组合
112
+ */
113
+ export declare interface EditorAttachmentLimitationOptions {
114
+ /**
115
+ * 检查附件大小的规则
116
+ * @param file
117
+ * @returns
118
+ */
119
+ checkFile: (params: EditorAttachmentLimitationOptionsCheckFunctionParams) => Promise<{
120
+ limited: true;
121
+ message: string;
122
+ } | {
123
+ limited: false;
124
+ }>;
125
+ }
126
+
127
+ /**
128
+ * 编辑器附件限制配置检查函数参数
129
+ */
130
+ export declare interface EditorAttachmentLimitationOptionsCheckFunctionParams {
131
+ /**
132
+ * 文件名称,带后缀名
133
+ */
134
+ name: string;
135
+ /**
136
+ * 文件大小,单位为Byte
137
+ */
138
+ size: number;
139
+ /**
140
+ * 文件的mime类型,例如image/jpeg、application/vnd.ms-excel等
141
+ */
142
+ mime?: string;
143
+ }
144
+
145
+ /**
146
+ * 编辑器附件限制配置
147
+ * @deprecated 使用limitations代替
148
+ */
149
+ export declare interface EditorAttachmentMaxSizeOptions {
150
+ /**
151
+ * 图片大小上限值,单位为Byte
152
+ * 设置为Infinity时表示不限制图片大小
153
+ */
154
+ value?: number;
155
+ /**
156
+ * 超限警告相关配置
157
+ */
158
+ warning?: {
159
+ /**
160
+ * 超限警告文本
161
+ */
162
+ text?: string;
163
+ };
164
+ }
165
+
166
+ /**
167
+ * 编辑器附件信息
168
+ */
169
+ export declare interface EditorAttachmentOptions {
170
+ uploader: AbstractedEditorFileUploader;
171
+ download: (url: string) => void;
172
+ /**
173
+ * 图片附件相关配置
174
+ */
175
+ image?: {
176
+ /**
177
+ * 图片大小上限相关配置
178
+ * @deprecated 使用limitations代替
179
+ */
180
+ maxSize?: EditorAttachmentMaxSizeOptions;
181
+ /**
182
+ * 支持的图片格式列表,例如jpg,png等
183
+ */
184
+ supportTypes?: string[];
185
+ /**
186
+ * 图片附件的限制配置
187
+ */
188
+ limitations?: EditorAttachmentLimitationOptions;
189
+ };
190
+ /**
191
+ * 其他附件相关配置
192
+ */
193
+ attachment?: {
194
+ /**
195
+ * 图片大小上限相关配置
196
+ * @deprecated 使用limitations代替
197
+ */
198
+ maxSize?: EditorAttachmentMaxSizeOptions;
199
+ /**
200
+ * 支持的附件格式列表,例如doc,docx等
201
+ */
202
+ supportTypes?: string[];
203
+ /**
204
+ * 附件的限制配置
205
+ */
206
+ limitations?: EditorAttachmentLimitationOptions;
207
+ };
208
+ }
209
+
210
+ /**
211
+ * 基础文件属性
212
+ */
213
+ export declare interface EditorBaseUploadableFile {
214
+ secretly?: boolean;
215
+ bucket: 'images' | 'attachments';
216
+ encrypt: string;
217
+ fileGuid: string;
218
+ }
219
+
72
220
  /**
73
221
  * 品牌相关设置,
74
222
  * 用于在套件中展示品牌外露信息
@@ -191,7 +339,7 @@ export declare interface EditorCommentsOptions {
191
339
  };
192
340
  }
193
341
 
194
- export declare interface EditorContent {
342
+ export declare interface EditorContent<Delta = EditorDelta> {
195
343
  /**
196
344
  * 设置编辑器内容
197
345
  * @param content
@@ -200,14 +348,41 @@ export declare interface EditorContent {
200
348
  /**
201
349
  * 获取编辑器内容
202
350
  */
203
- getContent: () => Promise<EditorDelta>;
351
+ getContent: () => Promise<Delta>;
204
352
  /**
205
353
  * 添加监听,当内容发生变化时触发监听,传入 Delta
206
354
  * @param listener
207
355
  */
208
- addChangeListener: (listener: (change: EditorDelta) => void) => () => void;
356
+ addChangeListener: (listener: (change: Delta) => void) => () => void;
209
357
  }
210
358
 
359
+ /**
360
+ * 右键菜单栏二级以下的菜单入口
361
+ */
362
+ export declare type EditorContextMenuEntryButton<TName extends string> = EditorMenuEntryButton<TName>;
363
+
364
+ /**
365
+ * 右键菜单栏一级菜单配置,此处用于定义一级菜单的操作入口,
366
+ * 右键菜单栏一级菜单指点击右键弹出菜单时的菜单项
367
+ */
368
+ export declare type EditorContextMenuEntryConfig<TName extends string> = EditorMenuEntryConfig<TName>;
369
+
370
+ /**
371
+ * 右键菜单栏功能按钮配置
372
+ */
373
+ export declare type EditorContextMenuFeatureButton<TName extends string> = EditorMenuFeatureButton<TName>;
374
+
375
+ /**
376
+ * 右键菜单栏按钮配置
377
+ */
378
+ export declare type EditorContextMenuFeatureButtonConfig<TName extends string> = EditorMenuFeatureButtonConfig<TName>;
379
+
380
+ /**
381
+ * 右键菜单栏相关配置
382
+ * 右键菜单栏是指的编辑器中点击右键弹出的菜单栏。目前等于菜单栏配置,可扩展
383
+ */
384
+ export declare type EditorContextMenuOptions<TName extends string> = EditorMenuOptions<TName>;
385
+
211
386
  export declare interface EditorDelta {
212
387
  compose: (other: EditorDelta, isDocument?: boolean) => EditorDelta;
213
388
  transform: (other: EditorDelta, priority?: boolean) => EditorDelta;
@@ -264,6 +439,19 @@ export declare interface EditorEmbeddedObjectOptions {
264
439
  };
265
440
  }
266
441
 
442
+ export declare interface EditorExportOptions {
443
+ /**
444
+ * 可导出类型
445
+ * @description
446
+ */
447
+ supportedTypes?: string[];
448
+ /**
449
+ * 导出文件
450
+ * @description
451
+ */
452
+ exportFile: (type: string) => Promise<void>;
453
+ }
454
+
267
455
  export declare interface EditorFontFace {
268
456
  /**
269
457
  * 字体的名称,用于在用户界面上显示的名称
@@ -371,6 +559,16 @@ export declare interface EditorLinkOptions {
371
559
  open: (url: string, target: string) => Promise<boolean>;
372
560
  }
373
561
 
562
+ /**
563
+ * 可上传文件
564
+ */
565
+ export declare interface EditorLocalUploadableFile extends EditorBaseUploadableFile {
566
+ name: string;
567
+ size: number;
568
+ mime: string;
569
+ raw: File;
570
+ }
571
+
374
572
  /**
375
573
  * 菜单栏自定义按钮配置
376
574
  */
@@ -417,7 +615,7 @@ export declare type EditorMenuCustomButton = {
417
615
  /**
418
616
  * 菜单栏二级以下的菜单入口
419
617
  */
420
- export declare interface EditorMenuEntryButton {
618
+ export declare interface EditorMenuEntryButton<TName extends string> {
421
619
  type: 'entry';
422
620
  /**
423
621
  * 菜单名称
@@ -427,6 +625,10 @@ export declare interface EditorMenuEntryButton {
427
625
  * 菜单图标
428
626
  */
429
627
  icon?: string;
628
+ /**
629
+ * 下一级子菜单
630
+ */
631
+ children?: Array<EditorMenuFeatureButton<TName> | EditorMenuEntryButton<TName>>[];
430
632
  }
431
633
 
432
634
  /**
@@ -443,7 +645,11 @@ export declare interface EditorMenuEntryConfig<TName extends string> {
443
645
  * 将第一层数组中的所有按钮放到一个区域内用分隔符隔开,
444
646
  * 第二层数组为按钮的定义,可以是功能按钮也可以是一个下拉入口。
445
647
  */
446
- children: Array<EditorMenuFeatureButton<TName> | EditorMenuEntryButton>[];
648
+ children: Array<EditorMenuFeatureButton<TName> | EditorMenuEntryButton<TName>>[];
649
+ /**
650
+ * 是否隐藏一级菜单
651
+ */
652
+ type?: 'hidden';
447
653
  }
448
654
 
449
655
  /**
@@ -485,9 +691,9 @@ export declare type EditorMenuFeatureButtonConfig<TName extends string> = Record
485
691
  */
486
692
  export declare interface EditorMenuOptions<TName extends string> {
487
693
  /**
488
- * 菜单栏是否显示
694
+ * 菜单栏是否隐藏
489
695
  */
490
- visible?: boolean;
696
+ hidden?: boolean;
491
697
  /**
492
698
  * 是否禁用菜单栏所有功能
493
699
  */
@@ -565,6 +771,10 @@ export declare interface EditorOptions {
565
771
  * 当前操作编辑器的用户信息
566
772
  */
567
773
  user?: EditorUserOptions;
774
+ /**
775
+ * 匿名用户的缺省信息
776
+ */
777
+ anonymous?: EditorAnonymousOptions;
568
778
  /**
569
779
  * i18n 相关设置
570
780
  */
@@ -573,10 +783,6 @@ export declare interface EditorOptions {
573
783
  * 品牌相关设置
574
784
  */
575
785
  brand?: EditorBrandOptions;
576
- /**
577
- * 工具栏相关设置
578
- */
579
- toolbar?: EditorToolbarOptions;
580
786
  /**
581
787
  * 编辑器内部资源请求配置
582
788
  */
@@ -601,6 +807,14 @@ export declare interface EditorOptions {
601
807
  * 编辑器评论设置
602
808
  */
603
809
  comments?: EditorCommentsOptions;
810
+ /**
811
+ * 附件设置
812
+ */
813
+ attachment?: EditorAttachmentOptions;
814
+ /**
815
+ * 导出设置
816
+ */
817
+ export?: EditorExportOptions;
604
818
  }
605
819
 
606
820
  /**
@@ -678,6 +892,17 @@ export declare interface EditorPrintOptions {
678
892
  disabled?: boolean;
679
893
  }
680
894
 
895
+ /**
896
+ * 远程文件上传
897
+ */
898
+ export declare interface EditorRemoteUploadableFile extends EditorBaseUploadableFile {
899
+ src: string;
900
+ name?: never;
901
+ size?: never;
902
+ mime?: never;
903
+ raw?: never;
904
+ }
905
+
681
906
  /**
682
907
  * 编辑器通用接口
683
908
  */
@@ -724,6 +949,55 @@ export declare abstract class EditorSDK {
724
949
  */
725
950
  export declare type EditorStandardRole = 'editor' | 'viewer' | 'reviewer';
726
951
 
952
+ /**
953
+ * 上传任务回调
954
+ */
955
+ export declare interface EditorTaskCallbacks {
956
+ /**
957
+ * 上传进度回调
958
+ * @param taskId
959
+ * @param loaded
960
+ * @param total
961
+ * @param progress
962
+ * @param data
963
+ * @returns
964
+ */
965
+ onProgress?: (taskId: string, loaded: number, total: number, progress: number, data?: unknown) => void;
966
+ /**
967
+ * 上传错误回调
968
+ * @param taskId
969
+ * @param error
970
+ * @returns
971
+ */
972
+ onError?: (taskId: string, error: Error) => void;
973
+ /**
974
+ * 上传暂停回调
975
+ * @param taskId
976
+ * @returns
977
+ */
978
+ onPause?: (taskId: string) => void;
979
+ /**
980
+ * 上传取消
981
+ * @param taskId
982
+ * @returns
983
+ */
984
+ onAbort?: (taskId: string) => void;
985
+ /**
986
+ * 上传恢复
987
+ * @param taskId
988
+ * @returns
989
+ */
990
+ onResume?: (taskId: string) => void;
991
+ /**
992
+ * 上传完成回调
993
+ * @param taskId
994
+ * @param status
995
+ * @param data
996
+ * @returns
997
+ */
998
+ onEnd?: (taskId: string, status: 'Error' | 'Finished' | 'Canceled', data: unknown) => void;
999
+ }
1000
+
727
1001
  /**
728
1002
  * 文本格式接口,
729
1003
  * 包括设置、读取选区内文本的 BIUS、family、大小、颜色等
@@ -828,11 +1102,11 @@ export declare interface EditorToolbarCustomButtonConfig {
828
1102
  /**
829
1103
  * 工具栏内置功能按钮配置
830
1104
  */
831
- export declare interface EditorToolbarFeatureButton {
1105
+ export declare interface EditorToolbarFeatureButton<ToolButtonName extends string = EditorToolbarFeatureButtonName> {
832
1106
  /**
833
1107
  * 按钮类型
834
1108
  */
835
- name: EditorToolbarFeatureButtonName;
1109
+ name: ToolButtonName;
836
1110
  /**
837
1111
  * 按钮标签(显示文本)
838
1112
  */
@@ -841,6 +1115,10 @@ export declare interface EditorToolbarFeatureButton {
841
1115
  * 按钮图标,可以是 base64 的图片信息,也可以是图片 url
842
1116
  */
843
1117
  icon?: string;
1118
+ /**
1119
+ * 按钮是否隐藏
1120
+ */
1121
+ hidden?: boolean;
844
1122
  /**
845
1123
  * 按钮是否禁用
846
1124
  */
@@ -854,8 +1132,8 @@ export declare interface EditorToolbarFeatureButton {
854
1132
  /**
855
1133
  * 工具栏内置功能按钮配置
856
1134
  */
857
- export declare type EditorToolbarFeatureButtonConfig = {
858
- [key in EditorToolbarFeatureButtonName]?: EditorToolbarFeatureButton;
1135
+ export declare type EditorToolbarFeatureButtonConfig<ToolButtonName extends string> = {
1136
+ [key in ToolButtonName]?: EditorToolbarFeatureButton<ToolButtonName>;
859
1137
  };
860
1138
 
861
1139
  /**
@@ -894,11 +1172,11 @@ export declare type EditorToolbarFeatureButtonName =
894
1172
  /**
895
1173
  * 工具栏相关设置,可以控制工具栏的显示内容
896
1174
  */
897
- export declare interface EditorToolbarOptions {
1175
+ export declare interface EditorToolbarOptions<ToolButtonName extends string = EditorToolbarFeatureButtonName> {
898
1176
  /**
899
1177
  * 控制工具栏显隐状态
900
1178
  */
901
- visible?: boolean;
1179
+ hidden?: boolean;
902
1180
  /**
903
1181
  * 是否禁用工具栏所有功能
904
1182
  */
@@ -906,13 +1184,54 @@ export declare interface EditorToolbarOptions {
906
1184
  /**
907
1185
  * 现有按钮的功能配置
908
1186
  */
909
- features?: EditorToolbarFeatureButtonConfig;
1187
+ features?: EditorToolbarFeatureButtonConfig<ToolButtonName>;
910
1188
  /**
911
1189
  * 自定义按钮
912
1190
  */
913
1191
  custom?: EditorToolbarCustomButtonConfig;
914
1192
  }
915
1193
 
1194
+ export declare type EditorUploadableFile = EditorLocalUploadableFile;
1195
+
1196
+ /**
1197
+ * 文件开始上传入参
1198
+ */
1199
+ export declare interface EditorUploadStartOptions extends EditorUploadTaskCallbacks {
1200
+ files: EditorUploadableFile[];
1201
+ }
1202
+
1203
+ /**
1204
+ * 上传状态
1205
+ */
1206
+ export declare enum EditorUploadStatus {
1207
+ Waiting = "Waiting",
1208
+ Uploading = "Uploading",
1209
+ Paused = "Paused",
1210
+ Canceled = "Canceled",
1211
+ Error = "Error",
1212
+ Finished = "Finished"
1213
+ }
1214
+
1215
+ export declare type EditorUploadTaskCallbacks = Omit<EditorTaskCallbacks, 'onEnd'> & {
1216
+ onLoadend: (results: {
1217
+ taskId: string;
1218
+ status: 'Error' | 'Finished' | 'Canceled';
1219
+ data?: unknown;
1220
+ }[]) => void;
1221
+ };
1222
+
1223
+ /**
1224
+ * 上传任务信息
1225
+ */
1226
+ export declare interface EditorUploadTaskInfo {
1227
+ taskId: string;
1228
+ fileInfo: EditorUploadableFile;
1229
+ total: number;
1230
+ readonly loaded: number;
1231
+ readonly progress: number;
1232
+ readonly status: EditorUploadStatus;
1233
+ }
1234
+
916
1235
  /**
917
1236
  * 操作当前编辑器的用户信息
918
1237
  */
@@ -929,6 +1248,10 @@ export declare interface EditorUserOptions {
929
1248
  * 用户头像
930
1249
  */
931
1250
  avatar?: string;
1251
+ /**
1252
+ * 用户默认头像,当用户未设置头像时显示
1253
+ */
1254
+ defaultAvatar?: string;
932
1255
  }
933
1256
 
934
1257
  /**