@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,4 +1,31 @@
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
+
1
24
  export declare abstract class AbstractedSheetSDK extends EditorSDK {
25
+ /**
26
+ * 表格准备就绪
27
+ */
28
+ abstract ready(): Promise<void>;
2
29
  /**
3
30
  * 打印文档
4
31
  */
@@ -25,10 +52,25 @@ export declare abstract class AbstractedSheetSDK extends EditorSDK {
25
52
  abstract get text(): SheetText;
26
53
  }
27
54
 
55
+ /**
56
+ * 匿名用户信息
57
+ * 当前用户信息未知时的缺省值
58
+ */
59
+ export declare interface EditorAnonymousOptions {
60
+ /**
61
+ * 匿名用户默认显示名称
62
+ */
63
+ name: string;
64
+ /**
65
+ * 匿名用户默认头像
66
+ */
67
+ avatar: string;
68
+ }
69
+
28
70
  /**
29
71
  * 编辑器内部资源请求配置
30
72
  */
31
- declare interface EditorAssetsOptions {
73
+ export declare interface EditorAssetsOptions {
32
74
  /**
33
75
  * 通用资源请求代理配置,
34
76
  * 用于套件内部资源请求时代理请求
@@ -47,7 +89,7 @@ declare interface EditorAssetsOptions {
47
89
  /**
48
90
  * 基于对象存储的图片处理抽象
49
91
  */
50
- declare interface EditorAssetsOssImageProcessing {
92
+ export declare interface EditorAssetsOssImageProcessing {
51
93
  /**
52
94
  * 压缩图片的方法
53
95
  * @param imageUrl 图片的 URL
@@ -74,7 +116,7 @@ declare interface EditorAssetsOssImageProcessing {
74
116
  }) => Promise<string>;
75
117
  }
76
118
 
77
- declare interface EditorAssetsResolver {
119
+ export declare interface EditorAssetsResolver {
78
120
  /**
79
121
  * 将资源文件 ID 转换为 URL 的方法
80
122
  * @param assetId 资源文件 ID
@@ -96,11 +138,121 @@ declare interface EditorAssetsResolver {
96
138
  checkAssetReady: (assetId: string) => Promise<boolean> | boolean;
97
139
  }
98
140
 
141
+ /**
142
+ * 编辑器附件限制配置,sdk中会使用在不同的场景下使用不同的限制规则组合
143
+ */
144
+ export declare interface EditorAttachmentLimitationOptions {
145
+ /**
146
+ * 检查附件大小的规则
147
+ * @param file
148
+ * @returns
149
+ */
150
+ checkFile: (params: EditorAttachmentLimitationOptionsCheckFunctionParams) => Promise<{
151
+ limited: true;
152
+ message: string;
153
+ } | {
154
+ limited: false;
155
+ }>;
156
+ }
157
+
158
+ /**
159
+ * 编辑器附件限制配置检查函数参数
160
+ */
161
+ export declare interface EditorAttachmentLimitationOptionsCheckFunctionParams {
162
+ /**
163
+ * 文件名称,带后缀名
164
+ */
165
+ name: string;
166
+ /**
167
+ * 文件大小,单位为Byte
168
+ */
169
+ size: number;
170
+ /**
171
+ * 文件的mime类型,例如image/jpeg、application/vnd.ms-excel等
172
+ */
173
+ mime?: string;
174
+ }
175
+
176
+ /**
177
+ * 编辑器附件限制配置
178
+ * @deprecated 使用limitations代替
179
+ */
180
+ export declare interface EditorAttachmentMaxSizeOptions {
181
+ /**
182
+ * 图片大小上限值,单位为Byte
183
+ * 设置为Infinity时表示不限制图片大小
184
+ */
185
+ value?: number;
186
+ /**
187
+ * 超限警告相关配置
188
+ */
189
+ warning?: {
190
+ /**
191
+ * 超限警告文本
192
+ */
193
+ text?: string;
194
+ };
195
+ }
196
+
197
+ /**
198
+ * 编辑器附件信息
199
+ */
200
+ export declare interface EditorAttachmentOptions {
201
+ uploader: AbstractedEditorFileUploader;
202
+ download: (url: string) => void;
203
+ /**
204
+ * 图片附件相关配置
205
+ */
206
+ image?: {
207
+ /**
208
+ * 图片大小上限相关配置
209
+ * @deprecated 使用limitations代替
210
+ */
211
+ maxSize?: EditorAttachmentMaxSizeOptions;
212
+ /**
213
+ * 支持的图片格式列表,例如jpg,png等
214
+ */
215
+ supportTypes?: string[];
216
+ /**
217
+ * 图片附件的限制配置
218
+ */
219
+ limitations?: EditorAttachmentLimitationOptions;
220
+ };
221
+ /**
222
+ * 其他附件相关配置
223
+ */
224
+ attachment?: {
225
+ /**
226
+ * 图片大小上限相关配置
227
+ * @deprecated 使用limitations代替
228
+ */
229
+ maxSize?: EditorAttachmentMaxSizeOptions;
230
+ /**
231
+ * 支持的附件格式列表,例如doc,docx等
232
+ */
233
+ supportTypes?: string[];
234
+ /**
235
+ * 附件的限制配置
236
+ */
237
+ limitations?: EditorAttachmentLimitationOptions;
238
+ };
239
+ }
240
+
241
+ /**
242
+ * 基础文件属性
243
+ */
244
+ export declare interface EditorBaseUploadableFile {
245
+ secretly?: boolean;
246
+ bucket: 'images' | 'attachments';
247
+ encrypt: string;
248
+ fileGuid: string;
249
+ }
250
+
99
251
  /**
100
252
  * 品牌相关设置,
101
253
  * 用于在套件中展示品牌外露信息
102
254
  */
103
- declare interface EditorBrandOptions {
255
+ export declare interface EditorBrandOptions {
104
256
  /**
105
257
  * 需要显示在品牌展示位的内容,按数组顺序显示
106
258
  */
@@ -124,7 +276,7 @@ declare interface EditorBrandOptions {
124
276
  /**
125
277
  * 单条评论数据
126
278
  */
127
- declare interface EditorCommentItem {
279
+ export declare interface EditorCommentItem {
128
280
  /**
129
281
  * 评论 ID
130
282
  */
@@ -141,7 +293,7 @@ declare interface EditorCommentItem {
141
293
  };
142
294
  }
143
295
 
144
- declare interface EditorComments {
296
+ export declare interface EditorComments {
145
297
  /**
146
298
  * 检查是否有评论
147
299
  * @returns
@@ -187,7 +339,7 @@ declare interface EditorComments {
187
339
  /**
188
340
  * 编辑器评论初始化配置
189
341
  */
190
- declare interface EditorCommentsOptions {
342
+ export declare interface EditorCommentsOptions {
191
343
  /**
192
344
  * 评论作者信息,如果这里的信息为空,将会使用 user 信息
193
345
  */
@@ -218,7 +370,7 @@ declare interface EditorCommentsOptions {
218
370
  };
219
371
  }
220
372
 
221
- declare interface EditorContent {
373
+ export declare interface EditorContent<Delta = EditorDelta> {
222
374
  /**
223
375
  * 设置编辑器内容
224
376
  * @param content
@@ -227,15 +379,42 @@ declare interface EditorContent {
227
379
  /**
228
380
  * 获取编辑器内容
229
381
  */
230
- getContent: () => Promise<EditorDelta>;
382
+ getContent: () => Promise<Delta>;
231
383
  /**
232
384
  * 添加监听,当内容发生变化时触发监听,传入 Delta
233
385
  * @param listener
234
386
  */
235
- addChangeListener: (listener: (change: EditorDelta) => void) => () => void;
387
+ addChangeListener: (listener: (change: Delta) => void) => () => void;
236
388
  }
237
389
 
238
- declare interface EditorDelta {
390
+ /**
391
+ * 右键菜单栏二级以下的菜单入口
392
+ */
393
+ export declare type EditorContextMenuEntryButton<TName extends string> = EditorMenuEntryButton<TName>;
394
+
395
+ /**
396
+ * 右键菜单栏一级菜单配置,此处用于定义一级菜单的操作入口,
397
+ * 右键菜单栏一级菜单指点击右键弹出菜单时的菜单项
398
+ */
399
+ export declare type EditorContextMenuEntryConfig<TName extends string> = EditorMenuEntryConfig<TName>;
400
+
401
+ /**
402
+ * 右键菜单栏功能按钮配置
403
+ */
404
+ export declare type EditorContextMenuFeatureButton<TName extends string> = EditorMenuFeatureButton<TName>;
405
+
406
+ /**
407
+ * 右键菜单栏按钮配置
408
+ */
409
+ export declare type EditorContextMenuFeatureButtonConfig<TName extends string> = EditorMenuFeatureButtonConfig<TName>;
410
+
411
+ /**
412
+ * 右键菜单栏相关配置
413
+ * 右键菜单栏是指的编辑器中点击右键弹出的菜单栏。目前等于菜单栏配置,可扩展
414
+ */
415
+ export declare type EditorContextMenuOptions<TName extends string> = EditorMenuOptions<TName>;
416
+
417
+ export declare interface EditorDelta {
239
418
  compose: (other: EditorDelta, isDocument?: boolean) => EditorDelta;
240
419
  transform: (other: EditorDelta, priority?: boolean) => EditorDelta;
241
420
  stringify: () => string;
@@ -245,7 +424,7 @@ declare interface EditorDelta {
245
424
  /**
246
425
  * 编辑器嵌入对象
247
426
  */
248
- declare interface EditorEmbeddedObject {
427
+ export declare interface EditorEmbeddedObject {
249
428
  /**
250
429
  * 嵌入的对象 url
251
430
  */
@@ -263,7 +442,7 @@ declare interface EditorEmbeddedObject {
263
442
  /**
264
443
  * 编辑器嵌入对象抽象类
265
444
  */
266
- declare interface EditorEmbeddedObjectOptions {
445
+ export declare interface EditorEmbeddedObjectOptions {
267
446
  /**
268
447
  * 执行打开嵌入对象操作,
269
448
  * 如果已经处理了打开操作,返回 true,否则返回 false,
@@ -291,7 +470,20 @@ declare interface EditorEmbeddedObjectOptions {
291
470
  };
292
471
  }
293
472
 
294
- declare interface EditorFontFace {
473
+ export declare interface EditorExportOptions {
474
+ /**
475
+ * 可导出类型
476
+ * @description
477
+ */
478
+ supportedTypes?: string[];
479
+ /**
480
+ * 导出文件
481
+ * @description
482
+ */
483
+ exportFile: (type: string) => Promise<void>;
484
+ }
485
+
486
+ export declare interface EditorFontFace {
295
487
  /**
296
488
  * 字体的名称,用于在用户界面上显示的名称
297
489
  */
@@ -317,7 +509,7 @@ declare interface EditorFontFace {
317
509
  /**
318
510
  * 字体元数据
319
511
  */
320
- declare interface EditorFontMeta {
512
+ export declare interface EditorFontMeta {
321
513
  head: {
322
514
  unitsPerEm: number;
323
515
  };
@@ -354,14 +546,14 @@ declare interface EditorFontMeta {
354
546
  /**
355
547
  * 字体列表
356
548
  */
357
- declare interface EditorFontsList {
549
+ export declare interface EditorFontsList {
358
550
  /**
359
551
  * 返回解析为字体的列表的 Promise。
360
552
  */
361
553
  getAll: () => Promise<EditorFontFace[]>;
362
554
  }
363
555
 
364
- declare interface EditorFontsOptions {
556
+ export declare interface EditorFontsOptions {
365
557
  /**
366
558
  * 服务器字体列表,用于获取服务器端配置的字体列表,
367
559
  * 并提供可用于字体的加载 URL 和字体元数据。
@@ -372,7 +564,7 @@ declare interface EditorFontsOptions {
372
564
  /**
373
565
  * i18n 相关设置
374
566
  */
375
- declare interface EditorI18nOptions {
567
+ export declare interface EditorI18nOptions {
376
568
  /**
377
569
  * 语言,默认使用浏览器当前环境中的语言
378
570
  */
@@ -383,12 +575,12 @@ declare interface EditorI18nOptions {
383
575
  direction?: 'ltr' | 'rtl';
384
576
  }
385
577
 
386
- declare type EditorImageCropPoint = 'nw' | 'north' | 'ne' | 'west' | 'center' | 'east' | 'sw' | 'south' | 'se';
578
+ export declare type EditorImageCropPoint = 'nw' | 'north' | 'ne' | 'west' | 'center' | 'east' | 'sw' | 'south' | 'se';
387
579
 
388
580
  /**
389
581
  * 链接配置,抽象打开链接等操作
390
582
  */
391
- declare interface EditorLinkOptions {
583
+ export declare interface EditorLinkOptions {
392
584
  /**
393
585
  * 打开链接,如果取消了打开链接操作,返回 false
394
586
  * @param url
@@ -398,10 +590,20 @@ declare interface EditorLinkOptions {
398
590
  open: (url: string, target: string) => Promise<boolean>;
399
591
  }
400
592
 
593
+ /**
594
+ * 可上传文件
595
+ */
596
+ export declare interface EditorLocalUploadableFile extends EditorBaseUploadableFile {
597
+ name: string;
598
+ size: number;
599
+ mime: string;
600
+ raw: File;
601
+ }
602
+
401
603
  /**
402
604
  * 菜单栏自定义按钮配置
403
605
  */
404
- declare type EditorMenuCustomButton = {
606
+ export declare type EditorMenuCustomButton = {
405
607
  /**
406
608
  * 按钮名称
407
609
  */
@@ -444,7 +646,7 @@ declare type EditorMenuCustomButton = {
444
646
  /**
445
647
  * 菜单栏二级以下的菜单入口
446
648
  */
447
- declare interface EditorMenuEntryButton {
649
+ export declare interface EditorMenuEntryButton<TName extends string> {
448
650
  type: 'entry';
449
651
  /**
450
652
  * 菜单名称
@@ -454,13 +656,17 @@ declare interface EditorMenuEntryButton {
454
656
  * 菜单图标
455
657
  */
456
658
  icon?: string;
659
+ /**
660
+ * 下一级子菜单
661
+ */
662
+ children?: Array<EditorMenuFeatureButton<TName> | EditorMenuEntryButton<TName>>[];
457
663
  }
458
664
 
459
665
  /**
460
666
  * 菜单栏一级菜单配置,此处用于定义一级菜单的操作入口,
461
667
  * 一级菜单在鼠标悬停时展示二级列表
462
668
  */
463
- declare interface EditorMenuEntryConfig<TName extends string> {
669
+ export declare interface EditorMenuEntryConfig<TName extends string> {
464
670
  /**
465
671
  * 一级菜单名称
466
672
  */
@@ -470,13 +676,17 @@ declare interface EditorMenuEntryConfig<TName extends string> {
470
676
  * 将第一层数组中的所有按钮放到一个区域内用分隔符隔开,
471
677
  * 第二层数组为按钮的定义,可以是功能按钮也可以是一个下拉入口。
472
678
  */
473
- children: Array<EditorMenuFeatureButton<TName> | EditorMenuEntryButton>[];
679
+ children: Array<EditorMenuFeatureButton<TName> | EditorMenuEntryButton<TName>>[];
680
+ /**
681
+ * 是否隐藏一级菜单
682
+ */
683
+ type?: 'hidden';
474
684
  }
475
685
 
476
686
  /**
477
687
  * 菜单栏功能按钮配置
478
688
  */
479
- declare type EditorMenuFeatureButton<TName extends string> = {
689
+ export declare type EditorMenuFeatureButton<TName extends string> = {
480
690
  /**
481
691
  * 隐藏按钮,用作在需要隐藏菜单栏时定义
482
692
  */
@@ -504,17 +714,17 @@ declare type EditorMenuFeatureButton<TName extends string> = {
504
714
  /**
505
715
  * 菜单栏按钮配置
506
716
  */
507
- declare type EditorMenuFeatureButtonConfig<TName extends string> = Record<TName, EditorMenuFeatureButton<TName>>;
717
+ export declare type EditorMenuFeatureButtonConfig<TName extends string> = Record<TName, EditorMenuFeatureButton<TName>>;
508
718
 
509
719
  /**
510
720
  * 菜单栏相关配置,目前菜单栏不是所有套件都支持,
511
721
  * 菜单栏是指的编辑器最上放可以展开二级菜单的那一栏。
512
722
  */
513
- declare interface EditorMenuOptions<TName extends string> {
723
+ export declare interface EditorMenuOptions<TName extends string> {
514
724
  /**
515
- * 菜单栏是否显示
725
+ * 菜单栏是否隐藏
516
726
  */
517
- visible?: boolean;
727
+ hidden?: boolean;
518
728
  /**
519
729
  * 是否禁用菜单栏所有功能
520
730
  */
@@ -536,7 +746,7 @@ declare interface EditorMenuOptions<TName extends string> {
536
746
  /**
537
747
  * 编辑器基础模式接口
538
748
  */
539
- declare interface EditorMode {
749
+ export declare interface EditorMode {
540
750
  /**
541
751
  * 获取当前编辑器模式
542
752
  */
@@ -555,7 +765,7 @@ declare interface EditorMode {
555
765
  /**
556
766
  * 编辑器初始化的时相关的模式配置
557
767
  */
558
- declare type EditorModeOptions = {
768
+ export declare type EditorModeOptions = {
559
769
  type: 'standard';
560
770
  /**
561
771
  * 当 mode 为 `standard` 时,可以设置当前编辑器的权限模式
@@ -573,12 +783,12 @@ declare type EditorModeOptions = {
573
783
  * - `preview` 预览模式,只能查看内容
574
784
  * - `presentation` 演示模式,用作演示场景,演示模式下部分套件可以进行一些简单的编辑操作
575
785
  */
576
- declare type EditorModeType = 'standard' | 'preview' | 'presentation';
786
+ export declare type EditorModeType = 'standard' | 'preview' | 'presentation';
577
787
 
578
788
  /**
579
789
  * 编辑器初始化通用参数
580
790
  */
581
- declare interface EditorOptions {
791
+ export declare interface EditorOptions {
582
792
  /**
583
793
  * 编辑器初始化内容,可以是 string 或者 ArrayBuffer,
584
794
  * 也可以通过异步 Promise 加载
@@ -592,6 +802,10 @@ declare interface EditorOptions {
592
802
  * 当前操作编辑器的用户信息
593
803
  */
594
804
  user?: EditorUserOptions;
805
+ /**
806
+ * 匿名用户的缺省信息
807
+ */
808
+ anonymous?: EditorAnonymousOptions;
595
809
  /**
596
810
  * i18n 相关设置
597
811
  */
@@ -600,10 +814,6 @@ declare interface EditorOptions {
600
814
  * 品牌相关设置
601
815
  */
602
816
  brand?: EditorBrandOptions;
603
- /**
604
- * 工具栏相关设置
605
- */
606
- toolbar?: EditorToolbarOptions;
607
817
  /**
608
818
  * 编辑器内部资源请求配置
609
819
  */
@@ -628,12 +838,78 @@ declare interface EditorOptions {
628
838
  * 编辑器评论设置
629
839
  */
630
840
  comments?: EditorCommentsOptions;
841
+ /**
842
+ * 附件设置
843
+ */
844
+ attachment?: EditorAttachmentOptions;
845
+ /**
846
+ * 导出设置
847
+ */
848
+ export?: EditorExportOptions;
849
+ }
850
+
851
+ /**
852
+ * 大纲目录接口
853
+ */
854
+ export declare interface EditorOutline<Content = unknown> {
855
+ /**
856
+ * 设置大纲目录是否可见
857
+ * @param visible 是否可见
858
+ */
859
+ setVisible: (visible: boolean) => void;
860
+ /**
861
+ * 获取目录信息
862
+ * @returns 目录信息
863
+ */
864
+ getContent: () => Promise<EditorOutlineItem<Content>[]>;
865
+ /**
866
+ * 添加目录信息改变时的监听器
867
+ * @param listener 监听器
868
+ * @returns 取消监听器的函数
869
+ */
870
+ addChangedListener: (listener: (content: EditorOutlineItem<Content>[]) => void) => () => void;
871
+ /**
872
+ * 跳转到指定条目对应的正文位置
873
+ * @param id 条目id
874
+ * @returns 跳转是否成功
875
+ */
876
+ goto: (id: string) => Promise<boolean>;
877
+ }
878
+
879
+ /**
880
+ * 大纲目录项条目
881
+ */
882
+ export declare interface EditorOutlineItem<Content = unknown> {
883
+ /**
884
+ * 目录项 ID
885
+ */
886
+ id: string;
887
+ /**
888
+ * 目录项层级
889
+ */
890
+ level: number;
891
+ /**
892
+ * 目录项内容
893
+ */
894
+ content: Content;
895
+ }
896
+
897
+ /**
898
+ * 大纲目录初始化参数,
899
+ * 用于配置大纲目录的行为和外观。
900
+ */
901
+ export declare interface EditorOutlineOptions {
902
+ /**
903
+ * 初始化编辑器时是否显示大纲目录,
904
+ * 默认为 false。
905
+ */
906
+ visible?: boolean;
631
907
  }
632
908
 
633
909
  /**
634
910
  * 编辑器打印设置
635
911
  */
636
- declare interface EditorPrintOptions {
912
+ export declare interface EditorPrintOptions {
637
913
  /**
638
914
  * 部分套件如果绕过了编辑器预设的打印接口,直接通过拉起了浏览器的打印页面,这时打印页面无法获取到编辑器的内容,
639
915
  * 这种情况下就会 fallback 到这个 options 上,显示一个提示信息。
@@ -647,10 +923,21 @@ declare interface EditorPrintOptions {
647
923
  disabled?: boolean;
648
924
  }
649
925
 
926
+ /**
927
+ * 远程文件上传
928
+ */
929
+ export declare interface EditorRemoteUploadableFile extends EditorBaseUploadableFile {
930
+ src: string;
931
+ name?: never;
932
+ size?: never;
933
+ mime?: never;
934
+ raw?: never;
935
+ }
936
+
650
937
  /**
651
938
  * 编辑器通用接口
652
939
  */
653
- declare abstract class EditorSDK {
940
+ export declare abstract class EditorSDK {
654
941
  protected options: EditorOptions;
655
942
  constructor(options: EditorOptions);
656
943
  /**
@@ -691,13 +978,62 @@ declare abstract class EditorSDK {
691
978
  * - `viewer` 阅读模式
692
979
  * - `reviewer` 评论模式
693
980
  */
694
- declare type EditorStandardRole = 'editor' | 'viewer' | 'reviewer';
981
+ export declare type EditorStandardRole = 'editor' | 'viewer' | 'reviewer';
982
+
983
+ /**
984
+ * 上传任务回调
985
+ */
986
+ export declare interface EditorTaskCallbacks {
987
+ /**
988
+ * 上传进度回调
989
+ * @param taskId
990
+ * @param loaded
991
+ * @param total
992
+ * @param progress
993
+ * @param data
994
+ * @returns
995
+ */
996
+ onProgress?: (taskId: string, loaded: number, total: number, progress: number, data?: unknown) => void;
997
+ /**
998
+ * 上传错误回调
999
+ * @param taskId
1000
+ * @param error
1001
+ * @returns
1002
+ */
1003
+ onError?: (taskId: string, error: Error) => void;
1004
+ /**
1005
+ * 上传暂停回调
1006
+ * @param taskId
1007
+ * @returns
1008
+ */
1009
+ onPause?: (taskId: string) => void;
1010
+ /**
1011
+ * 上传取消
1012
+ * @param taskId
1013
+ * @returns
1014
+ */
1015
+ onAbort?: (taskId: string) => void;
1016
+ /**
1017
+ * 上传恢复
1018
+ * @param taskId
1019
+ * @returns
1020
+ */
1021
+ onResume?: (taskId: string) => void;
1022
+ /**
1023
+ * 上传完成回调
1024
+ * @param taskId
1025
+ * @param status
1026
+ * @param data
1027
+ * @returns
1028
+ */
1029
+ onEnd?: (taskId: string, status: 'Error' | 'Finished' | 'Canceled', data: unknown) => void;
1030
+ }
695
1031
 
696
1032
  /**
697
1033
  * 文本格式接口,
698
1034
  * 包括设置、读取选区内文本的 BIUS、family、大小、颜色等
699
1035
  */
700
- declare interface EditorText<Color = string, TRangeValue = unknown> {
1036
+ export declare interface EditorText<Color = string, TRangeValue = unknown> {
701
1037
  /**
702
1038
  * 获取当前选区或指定选区内的文本格式状态
703
1039
  */
@@ -721,7 +1057,7 @@ declare interface EditorText<Color = string, TRangeValue = unknown> {
721
1057
  /**
722
1058
  * 文本格式状态
723
1059
  */
724
- declare interface EditorTextFormat<Color = string> {
1060
+ export declare interface EditorTextFormat<Color = string> {
725
1061
  /**
726
1062
  * 粗体
727
1063
  */
@@ -759,7 +1095,7 @@ declare interface EditorTextFormat<Color = string> {
759
1095
  /**
760
1096
  * 文本格式初始化选项
761
1097
  */
762
- declare interface EditorTextOptions<Color = string> {
1098
+ export declare interface EditorTextOptions<Color = string> {
763
1099
  /**
764
1100
  * 当前编辑器默认的文本格式
765
1101
  */
@@ -769,7 +1105,7 @@ declare interface EditorTextOptions<Color = string> {
769
1105
  /**
770
1106
  * 工具栏自定义按钮配置
771
1107
  */
772
- declare interface EditorToolbarCustomButton extends Omit<EditorToolbarFeatureButton, 'name'> {
1108
+ export declare interface EditorToolbarCustomButton extends Omit<EditorToolbarFeatureButton, 'name'> {
773
1109
  /**
774
1110
  * 自定义按钮名称
775
1111
  */
@@ -787,7 +1123,7 @@ declare interface EditorToolbarCustomButton extends Omit<EditorToolbarFeatureBut
787
1123
  /**
788
1124
  * 工具栏自定义按钮配置
789
1125
  */
790
- declare interface EditorToolbarCustomButtonConfig {
1126
+ export declare interface EditorToolbarCustomButtonConfig {
791
1127
  /**
792
1128
  * 按钮配置
793
1129
  */
@@ -797,11 +1133,11 @@ declare interface EditorToolbarCustomButtonConfig {
797
1133
  /**
798
1134
  * 工具栏内置功能按钮配置
799
1135
  */
800
- declare interface EditorToolbarFeatureButton {
1136
+ export declare interface EditorToolbarFeatureButton<ToolButtonName extends string = EditorToolbarFeatureButtonName> {
801
1137
  /**
802
1138
  * 按钮类型
803
1139
  */
804
- name: EditorToolbarFeatureButtonName;
1140
+ name: ToolButtonName;
805
1141
  /**
806
1142
  * 按钮标签(显示文本)
807
1143
  */
@@ -810,6 +1146,10 @@ declare interface EditorToolbarFeatureButton {
810
1146
  * 按钮图标,可以是 base64 的图片信息,也可以是图片 url
811
1147
  */
812
1148
  icon?: string;
1149
+ /**
1150
+ * 按钮是否隐藏
1151
+ */
1152
+ hidden?: boolean;
813
1153
  /**
814
1154
  * 按钮是否禁用
815
1155
  */
@@ -823,14 +1163,14 @@ declare interface EditorToolbarFeatureButton {
823
1163
  /**
824
1164
  * 工具栏内置功能按钮配置
825
1165
  */
826
- declare type EditorToolbarFeatureButtonConfig = {
827
- [key in EditorToolbarFeatureButtonName]?: EditorToolbarFeatureButton;
1166
+ export declare type EditorToolbarFeatureButtonConfig<ToolButtonName extends string> = {
1167
+ [key in ToolButtonName]?: EditorToolbarFeatureButton<ToolButtonName>;
828
1168
  };
829
1169
 
830
1170
  /**
831
1171
  * 工具栏内置功能按钮
832
1172
  */
833
- declare type EditorToolbarFeatureButtonName =
1173
+ export declare type EditorToolbarFeatureButtonName =
834
1174
  /**
835
1175
  * 加粗
836
1176
  */
@@ -863,11 +1203,11 @@ declare type EditorToolbarFeatureButtonName =
863
1203
  /**
864
1204
  * 工具栏相关设置,可以控制工具栏的显示内容
865
1205
  */
866
- declare interface EditorToolbarOptions {
1206
+ export declare interface EditorToolbarOptions<ToolButtonName extends string = EditorToolbarFeatureButtonName> {
867
1207
  /**
868
1208
  * 控制工具栏显隐状态
869
1209
  */
870
- visible?: boolean;
1210
+ hidden?: boolean;
871
1211
  /**
872
1212
  * 是否禁用工具栏所有功能
873
1213
  */
@@ -875,17 +1215,58 @@ declare interface EditorToolbarOptions {
875
1215
  /**
876
1216
  * 现有按钮的功能配置
877
1217
  */
878
- features?: EditorToolbarFeatureButtonConfig;
1218
+ features?: EditorToolbarFeatureButtonConfig<ToolButtonName>;
879
1219
  /**
880
1220
  * 自定义按钮
881
1221
  */
882
1222
  custom?: EditorToolbarCustomButtonConfig;
883
1223
  }
884
1224
 
1225
+ export declare type EditorUploadableFile = EditorLocalUploadableFile;
1226
+
1227
+ /**
1228
+ * 文件开始上传入参
1229
+ */
1230
+ export declare interface EditorUploadStartOptions extends EditorUploadTaskCallbacks {
1231
+ files: EditorUploadableFile[];
1232
+ }
1233
+
1234
+ /**
1235
+ * 上传状态
1236
+ */
1237
+ export declare enum EditorUploadStatus {
1238
+ Waiting = "Waiting",
1239
+ Uploading = "Uploading",
1240
+ Paused = "Paused",
1241
+ Canceled = "Canceled",
1242
+ Error = "Error",
1243
+ Finished = "Finished"
1244
+ }
1245
+
1246
+ export declare type EditorUploadTaskCallbacks = Omit<EditorTaskCallbacks, 'onEnd'> & {
1247
+ onLoadend: (results: {
1248
+ taskId: string;
1249
+ status: 'Error' | 'Finished' | 'Canceled';
1250
+ data?: unknown;
1251
+ }[]) => void;
1252
+ };
1253
+
1254
+ /**
1255
+ * 上传任务信息
1256
+ */
1257
+ export declare interface EditorUploadTaskInfo {
1258
+ taskId: string;
1259
+ fileInfo: EditorUploadableFile;
1260
+ total: number;
1261
+ readonly loaded: number;
1262
+ readonly progress: number;
1263
+ readonly status: EditorUploadStatus;
1264
+ }
1265
+
885
1266
  /**
886
1267
  * 操作当前编辑器的用户信息
887
1268
  */
888
- declare interface EditorUserOptions {
1269
+ export declare interface EditorUserOptions {
889
1270
  /**
890
1271
  * 用户 ID,用于标识用户
891
1272
  */
@@ -898,12 +1279,16 @@ declare interface EditorUserOptions {
898
1279
  * 用户头像
899
1280
  */
900
1281
  avatar?: string;
1282
+ /**
1283
+ * 用户默认头像,当用户未设置头像时显示
1284
+ */
1285
+ defaultAvatar?: string;
901
1286
  }
902
1287
 
903
1288
  /**
904
1289
  * 编辑器外部水印信息
905
1290
  */
906
- declare interface EditorWatermarkOptions {
1291
+ export declare interface EditorWatermarkOptions {
907
1292
  /**
908
1293
  * 获取用作初始化使用的默认水印
909
1294
  */
@@ -915,7 +1300,7 @@ declare interface EditorWatermarkOptions {
915
1300
  required?: boolean;
916
1301
  }
917
1302
 
918
- declare type EditorWatermarkResource = {
1303
+ export declare type EditorWatermarkResource = {
919
1304
  type: 'data-url';
920
1305
  url: string;
921
1306
  } | {
@@ -926,18 +1311,18 @@ declare type EditorWatermarkResource = {
926
1311
  /**
927
1312
  * 请求、响应头
928
1313
  */
929
- declare type HTTPHeaders = Record<string, string | number | boolean | undefined>;
1314
+ export declare type HTTPHeaders = Record<string, string | number | boolean | undefined>;
930
1315
 
931
1316
  /**
932
1317
  * 请求方法
933
1318
  */
934
- declare type HTTPMethod = 'get' | 'GET' | 'delete' | 'DELETE' | 'head' | 'HEAD' | 'options' | 'OPTIONS' | 'post' | 'POST' | 'put' | 'PUT' | 'patch' | 'PATCH';
1319
+ export declare type HTTPMethod = 'get' | 'GET' | 'delete' | 'DELETE' | 'head' | 'HEAD' | 'options' | 'OPTIONS' | 'post' | 'POST' | 'put' | 'PUT' | 'patch' | 'PATCH';
935
1320
 
936
1321
  /**
937
1322
  * HTTP 代理,用于抽象 HTTP 请求,
938
1323
  * 将请求代理编辑器外部
939
1324
  */
940
- declare interface HTTPProxy {
1325
+ export declare interface HTTPProxy {
941
1326
  /**
942
1327
  * 发送请求,如果需要做请求、响应拦截,需要在 proxy.interceptors 中实现,
943
1328
  * 套件内使用 proxy 发送请求的方式应该为类似如下方式:
@@ -984,7 +1369,7 @@ declare interface HTTPProxy {
984
1369
  /**
985
1370
  * 请求配置
986
1371
  */
987
- declare interface HTTPRequestConfig<Data = unknown> {
1372
+ export declare interface HTTPRequestConfig<Data = unknown> {
988
1373
  /**
989
1374
  * 请求地址
990
1375
  */
@@ -1010,7 +1395,7 @@ declare interface HTTPRequestConfig<Data = unknown> {
1010
1395
  /**
1011
1396
  * 响应数据
1012
1397
  */
1013
- declare interface HTTPResponse<Data = unknown> {
1398
+ export declare interface HTTPResponse<Data = unknown> {
1014
1399
  /**
1015
1400
  * 响应数据 body
1016
1401
  */
@@ -1028,9 +1413,9 @@ declare interface HTTPResponse<Data = unknown> {
1028
1413
  /**
1029
1414
  * 请求返回类型
1030
1415
  */
1031
- declare type HTTPResponseType = 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream';
1416
+ export declare type HTTPResponseType = 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream';
1032
1417
 
1033
- declare type MaybePromiseValue<T> = T | Promise<T>;
1418
+ export declare type MaybePromiseValue<T> = T | Promise<T>;
1034
1419
 
1035
1420
  /**
1036
1421
  * 表格单元格对象