@officesdk/editor-sdk-core 0.0.0-21 → 0.0.0-23

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 (259) hide show
  1. package/cjs/docs/sdk.js +1 -1
  2. package/cjs/docx/index.js +1 -1
  3. package/cjs/docx/menu.js +1 -1
  4. package/cjs/docx/outline.js +1 -1
  5. package/cjs/docx/pages.js +17 -1
  6. package/cjs/docx/paragraphs.js +3 -0
  7. package/cjs/docx/revisions.js +3 -0
  8. package/cjs/docx/sdk.js +1 -1
  9. package/cjs/docx/signature.js +3 -0
  10. package/cjs/docx/statistic.js +3 -0
  11. package/cjs/docx/theme.js +1 -1
  12. package/cjs/docx/ui.js +3 -0
  13. package/cjs/form/feature.js +3 -0
  14. package/cjs/form/index.js +21 -0
  15. package/cjs/form/link.js +3 -0
  16. package/cjs/form/publish.js +3 -0
  17. package/cjs/form/sdk.js +28 -0
  18. package/cjs/form/sheet.js +3 -0
  19. package/cjs/form/table.js +3 -0
  20. package/cjs/form/ui.js +3 -0
  21. package/cjs/pdf/pages.js +1 -1
  22. package/cjs/presentation/anonymous.js +3 -0
  23. package/cjs/presentation/assistant.js +3 -0
  24. package/cjs/presentation/chart.js +3 -0
  25. package/cjs/presentation/comments.js +3 -0
  26. package/cjs/presentation/diagram.js +3 -0
  27. package/cjs/presentation/event-subscription.js +3 -0
  28. package/cjs/presentation/export.js +1 -1
  29. package/cjs/presentation/fonts.js +1 -1
  30. package/cjs/presentation/index.js +1 -1
  31. package/cjs/presentation/presentation.js +3 -0
  32. package/cjs/presentation/remote-live.js +3 -0
  33. package/cjs/presentation/sdk.js +1 -1
  34. package/cjs/presentation/slides-pane.js +3 -0
  35. package/cjs/presentation/theme.js +3 -0
  36. package/cjs/shared/assets.js +1 -1
  37. package/cjs/shared/attachment.js +1 -1
  38. package/cjs/shared/brand.js +1 -1
  39. package/cjs/shared/collaborators.js +1 -1
  40. package/cjs/shared/comments.js +1 -1
  41. package/cjs/shared/copy.js +3 -0
  42. package/cjs/shared/device.js +3 -0
  43. package/cjs/shared/download.js +1 -2
  44. package/cjs/shared/drag-n-drop.js +6 -0
  45. package/cjs/shared/duplicate.js +6 -0
  46. package/cjs/shared/edit.js +2 -0
  47. package/cjs/shared/editor.js +1 -1
  48. package/cjs/shared/export.js +1 -1
  49. package/cjs/shared/feature.js +1 -1
  50. package/cjs/shared/file.js +1 -1
  51. package/cjs/shared/follow-mode.js +1 -1
  52. package/cjs/shared/fonts.js +1 -1
  53. package/cjs/shared/guides.js +3 -0
  54. package/cjs/shared/history.js +1 -1
  55. package/cjs/shared/import.js +1 -1
  56. package/cjs/shared/index.js +1 -1
  57. package/cjs/shared/link.js +1 -1
  58. package/cjs/shared/logs.js +3 -0
  59. package/cjs/shared/mention.js +1 -1
  60. package/cjs/shared/menu.js +1 -1
  61. package/cjs/shared/mode.js +1 -1
  62. package/cjs/shared/outline.js +1 -1
  63. package/cjs/shared/paste.js +3 -0
  64. package/cjs/shared/presentation.js +3 -0
  65. package/cjs/shared/render.js +3 -0
  66. package/cjs/shared/share.js +3 -0
  67. package/cjs/shared/shortcut.js +3 -0
  68. package/cjs/shared/socket.js +3 -0
  69. package/cjs/shared/toolbar.js +1 -1
  70. package/cjs/shared/ui.js +1 -1
  71. package/cjs/shared/uploader.js +1 -1
  72. package/cjs/shared/version.js +1 -1
  73. package/cjs/shared/watermark.js +1 -1
  74. package/cjs/sheet/combine-sheets.js +1 -1
  75. package/cjs/sheet/date-mention.js +3 -0
  76. package/cjs/sheet/event-subscription.js +3 -0
  77. package/cjs/sheet/export.js +1 -1
  78. package/cjs/sheet/follow-selection.js +3 -0
  79. package/cjs/sheet/form.js +1 -1
  80. package/cjs/sheet/formula.js +1 -1
  81. package/cjs/sheet/import-range.js +1 -1
  82. package/cjs/sheet/import.js +3 -0
  83. package/cjs/sheet/independent-viewport.js +3 -0
  84. package/cjs/sheet/index.js +1 -1
  85. package/cjs/sheet/lock.js +1 -1
  86. package/cjs/sheet/ole.js +3 -0
  87. package/cjs/sheet/paste.js +3 -0
  88. package/cjs/sheet/render.js +1 -1
  89. package/cjs/sheet/sdk.js +1 -1
  90. package/cjs/sheet/sheet-tab.js +3 -0
  91. package/cjs/sheet/ui.js +3 -0
  92. package/cjs/sheet/worksheet.js +1 -1
  93. package/cjs/table/combine-tables.js +3 -0
  94. package/cjs/table/copy.js +3 -0
  95. package/cjs/table/dashboard.js +3 -0
  96. package/cjs/table/explain-page.js +3 -0
  97. package/cjs/table/export.js +3 -0
  98. package/cjs/table/field.js +3 -0
  99. package/cjs/table/form.js +3 -0
  100. package/cjs/table/formula.js +3 -0
  101. package/cjs/table/history.js +3 -0
  102. package/cjs/table/import.js +3 -0
  103. package/cjs/table/index.js +6 -2
  104. package/cjs/table/list-bar-context-menu.js +3 -0
  105. package/cjs/table/mention.js +3 -0
  106. package/cjs/table/motable.js +16 -0
  107. package/cjs/table/paste.js +3 -0
  108. package/cjs/table/render.js +3 -0
  109. package/cjs/table/resource.js +1 -1
  110. package/cjs/table/sdk.js +1 -1
  111. package/cjs/table/shortcuts.js +3 -0
  112. package/cjs/table/snapshot.js +3 -0
  113. package/cjs/table/subscription.js +25 -0
  114. package/cjs/table/table.js +1 -1
  115. package/cjs/table/template.js +3 -0
  116. package/cjs/table/toolbar.js +1 -1
  117. package/cjs/table/toolbox.js +3 -0
  118. package/cjs/table/ui.js +3 -0
  119. package/cjs/table/version.js +3 -0
  120. package/cjs/table/view.js +26 -0
  121. package/cjs/table/window.js +3 -0
  122. package/esm/docs/sdk.js +1 -1
  123. package/esm/docx/index.js +1 -1
  124. package/esm/docx/menu.js +1 -1
  125. package/esm/docx/outline.js +1 -1
  126. package/esm/docx/pages.js +15 -2
  127. package/esm/docx/paragraphs.js +2 -0
  128. package/esm/docx/revisions.js +2 -0
  129. package/esm/docx/sdk.js +1 -1
  130. package/esm/docx/signature.js +2 -0
  131. package/esm/docx/statistic.js +2 -0
  132. package/esm/docx/theme.js +1 -1
  133. package/esm/docx/ui.js +2 -0
  134. package/esm/form/feature.js +2 -0
  135. package/esm/form/index.js +3 -0
  136. package/esm/form/link.js +2 -0
  137. package/esm/form/publish.js +2 -0
  138. package/esm/form/sdk.js +25 -0
  139. package/esm/form/sheet.js +2 -0
  140. package/esm/form/table.js +2 -0
  141. package/esm/form/ui.js +2 -0
  142. package/esm/pdf/pages.js +1 -1
  143. package/esm/presentation/anonymous.js +2 -0
  144. package/esm/presentation/assistant.js +2 -0
  145. package/esm/presentation/chart.js +2 -0
  146. package/esm/presentation/comments.js +2 -0
  147. package/esm/presentation/diagram.js +2 -0
  148. package/esm/presentation/event-subscription.js +2 -0
  149. package/esm/presentation/export.js +1 -1
  150. package/esm/presentation/fonts.js +1 -1
  151. package/esm/presentation/index.js +1 -1
  152. package/esm/presentation/presentation.js +2 -0
  153. package/esm/presentation/remote-live.js +2 -0
  154. package/esm/presentation/sdk.js +1 -1
  155. package/esm/presentation/slides-pane.js +2 -0
  156. package/esm/presentation/theme.js +2 -0
  157. package/esm/shared/assets.js +1 -1
  158. package/esm/shared/attachment.js +1 -1
  159. package/esm/shared/brand.js +1 -1
  160. package/esm/shared/collaborators.js +1 -1
  161. package/esm/shared/comments.js +1 -1
  162. package/esm/shared/copy.js +2 -0
  163. package/esm/shared/device.js +2 -0
  164. package/esm/shared/download.js +2 -2
  165. package/esm/shared/drag-n-drop.js +5 -0
  166. package/esm/shared/duplicate.js +5 -0
  167. package/esm/shared/edit.js +2 -0
  168. package/esm/shared/editor.js +1 -1
  169. package/esm/shared/export.js +1 -1
  170. package/esm/shared/feature.js +1 -1
  171. package/esm/shared/file.js +1 -1
  172. package/esm/shared/follow-mode.js +1 -1
  173. package/esm/shared/fonts.js +1 -1
  174. package/esm/shared/guides.js +2 -0
  175. package/esm/shared/history.js +1 -1
  176. package/esm/shared/import.js +1 -1
  177. package/esm/shared/index.js +1 -1
  178. package/esm/shared/link.js +1 -1
  179. package/esm/shared/logs.js +2 -0
  180. package/esm/shared/mention.js +1 -1
  181. package/esm/shared/menu.js +1 -1
  182. package/esm/shared/mode.js +1 -1
  183. package/esm/shared/outline.js +1 -1
  184. package/esm/shared/paste.js +2 -0
  185. package/esm/shared/presentation.js +2 -0
  186. package/esm/shared/render.js +2 -0
  187. package/esm/shared/share.js +2 -0
  188. package/esm/shared/shortcut.js +2 -0
  189. package/esm/shared/socket.js +2 -0
  190. package/esm/shared/toolbar.js +1 -1
  191. package/esm/shared/ui.js +1 -1
  192. package/esm/shared/uploader.js +1 -1
  193. package/esm/shared/version.js +1 -1
  194. package/esm/shared/watermark.js +1 -1
  195. package/esm/sheet/combine-sheets.js +1 -1
  196. package/esm/sheet/date-mention.js +2 -0
  197. package/esm/sheet/event-subscription.js +2 -0
  198. package/esm/sheet/export.js +1 -1
  199. package/esm/sheet/follow-selection.js +2 -0
  200. package/esm/sheet/form.js +1 -1
  201. package/esm/sheet/formula.js +1 -1
  202. package/esm/sheet/import-range.js +1 -1
  203. package/esm/sheet/import.js +2 -0
  204. package/esm/sheet/independent-viewport.js +2 -0
  205. package/esm/sheet/index.js +1 -1
  206. package/esm/sheet/lock.js +1 -1
  207. package/esm/sheet/ole.js +2 -0
  208. package/esm/sheet/paste.js +2 -0
  209. package/esm/sheet/render.js +1 -1
  210. package/esm/sheet/sdk.js +1 -1
  211. package/esm/sheet/sheet-tab.js +2 -0
  212. package/esm/sheet/ui.js +2 -0
  213. package/esm/sheet/worksheet.js +1 -1
  214. package/esm/table/combine-tables.js +2 -0
  215. package/esm/table/copy.js +2 -0
  216. package/esm/table/dashboard.js +2 -0
  217. package/esm/table/explain-page.js +2 -0
  218. package/esm/table/export.js +2 -0
  219. package/esm/table/field.js +2 -0
  220. package/esm/table/form.js +2 -0
  221. package/esm/table/formula.js +2 -0
  222. package/esm/table/history.js +2 -0
  223. package/esm/table/import.js +2 -0
  224. package/esm/table/index.js +3 -1
  225. package/esm/table/list-bar-context-menu.js +2 -0
  226. package/esm/table/mention.js +2 -0
  227. package/esm/table/motable.js +13 -0
  228. package/esm/table/paste.js +2 -0
  229. package/esm/table/render.js +2 -0
  230. package/esm/table/resource.js +1 -1
  231. package/esm/table/sdk.js +1 -1
  232. package/esm/table/shortcuts.js +2 -0
  233. package/esm/table/snapshot.js +2 -0
  234. package/esm/table/subscription.js +22 -0
  235. package/esm/table/table.js +1 -1
  236. package/esm/table/template.js +2 -0
  237. package/esm/table/toolbar.js +1 -1
  238. package/esm/table/toolbox.js +2 -0
  239. package/esm/table/ui.js +2 -0
  240. package/esm/table/version.js +2 -0
  241. package/esm/table/view.js +23 -0
  242. package/esm/table/window.js +2 -0
  243. package/package.json +6 -1
  244. package/types/combine.d.ts +2985 -265
  245. package/types/diagram.d.ts +823 -115
  246. package/types/docs.d.ts +850 -115
  247. package/types/docx.d.ts +1096 -119
  248. package/types/form.d.ts +3027 -0
  249. package/types/pdf.d.ts +829 -115
  250. package/types/presentation.d.ts +1088 -129
  251. package/types/shared.d.ts +823 -115
  252. package/types/sheet.d.ts +1112 -161
  253. package/types/table.d.ts +2097 -173
  254. package/cjs/shared/checkpoints.js +0 -19
  255. package/cjs/sheet/comments.js +0 -3
  256. package/cjs/sheet/font.js +0 -3
  257. package/esm/shared/checkpoints.js +0 -16
  258. package/esm/sheet/comments.js +0 -2
  259. package/esm/sheet/font.js +0 -2
package/types/pdf.d.ts CHANGED
@@ -59,16 +59,6 @@ export declare abstract class AbstractedPdfSDK {
59
59
  abstract get outline(): PdfOutline;
60
60
  }
61
61
 
62
- export declare type CheckLimitationResult = {
63
- status: 'limited';
64
- /**
65
- * 被限制原因
66
- */
67
- reason?: string;
68
- } | {
69
- status: 'unlimited';
70
- };
71
-
72
62
  /**
73
63
  * 协作者信息接口
74
64
  */
@@ -144,7 +134,7 @@ export declare interface EditorAssetsOssImageProcessing {
144
134
  quality?: number;
145
135
  maxWidth?: number;
146
136
  maxHeight?: number;
147
- }) => Promise<string>;
137
+ }) => string;
148
138
  /**
149
139
  * 裁切图片的方法
150
140
  * @param imageUrl 图片的 URL
@@ -152,12 +142,12 @@ export declare interface EditorAssetsOssImageProcessing {
152
142
  * @returns 裁切后的图片 URL
153
143
  */
154
144
  crop: (imageUrl: string, cropOptions: {
155
- x?: number;
156
- y?: number;
145
+ x: number;
146
+ y: number;
157
147
  w: number;
158
148
  h: number;
159
- g?: EditorImageCropPoint;
160
- }) => Promise<string>;
149
+ g: EditorImageCropPoint;
150
+ }) => string;
161
151
  }
162
152
 
163
153
  export declare interface EditorAssetsResolver {
@@ -166,13 +156,13 @@ export declare interface EditorAssetsResolver {
166
156
  * @param assetId 资源文件 ID
167
157
  * @returns 转换后的资源 URL ,如果无法转换则返回 null
168
158
  */
169
- resolveUrl: (assetId: string) => Promise<string | null>;
159
+ resolveUrl: (assetId: string) => string | null;
170
160
  /**
171
161
  * 从 URL 中解析资源文件 ID 的方法
172
162
  * @param url 资源 URL
173
163
  * @returns 解析出的资源文件 ID
174
164
  */
175
- parseId: (url: string) => Promise<string | null>;
165
+ parseId: (url: string) => string | null;
176
166
  /**
177
167
  * 检查资源文件 ID 对应的文件是否准备就绪,
178
168
  * 在部分环境中,资源文件需要异步导入,在编辑器加载的时候可能还未准备就绪
@@ -182,6 +172,28 @@ export declare interface EditorAssetsResolver {
182
172
  checkAssetReady: (assetId: string) => Promise<boolean> | boolean;
183
173
  }
184
174
 
175
+ /**
176
+ * 编辑器附件下载配置
177
+ */
178
+ export declare interface EditorAttachmentDownloadOptions {
179
+ /**
180
+ * 是否禁用下载
181
+ */
182
+ disabled?: boolean;
183
+ /**
184
+ * 是否跳过验证
185
+ */
186
+ skipValidate?: boolean;
187
+ /**
188
+ * 下载附件
189
+ */
190
+ download?: (url: string) => void;
191
+ /**
192
+ * 获取附件下载地址
193
+ */
194
+ getDownloadUrl?: (url: string) => Promise<string>;
195
+ }
196
+
185
197
  /**
186
198
  * 编辑器附件限制配置,sdk中会使用在不同的场景下使用不同的限制规则组合
187
199
  */
@@ -191,9 +203,9 @@ export declare interface EditorAttachmentLimitationOptions {
191
203
  * @param file
192
204
  * @returns
193
205
  */
194
- checkFile: (params: EditorAttachmentLimitationOptionsCheckFunctionParams) => Promise<{
206
+ checkFile?: (params: EditorAttachmentLimitationOptionsCheckFunctionParams) => Promise<{
195
207
  limited: true;
196
- message: string;
208
+ message?: string;
197
209
  } | {
198
210
  limited: false;
199
211
  }>;
@@ -242,9 +254,24 @@ export declare interface EditorAttachmentMaxSizeOptions {
242
254
  * 编辑器附件信息
243
255
  */
244
256
  export declare interface EditorAttachmentOptions {
257
+ /**
258
+ * 附件选择器
259
+ */
245
260
  picker?: EditorFilePicker;
261
+ /**
262
+ * 附件上传器
263
+ */
246
264
  uploader?: AbstractedEditorFileUploader;
265
+ /**
266
+ * 下载
267
+ * @deprecated, 使用不同类型附件的download配置
268
+ */
247
269
  download?: (url: string) => void;
270
+ /**
271
+ * 预览
272
+ * @deprecated, 使用不同类型附件的preview配置
273
+ */
274
+ preview?: (url: string) => void;
248
275
  /**
249
276
  * 图片附件相关配置
250
277
  */
@@ -262,9 +289,27 @@ export declare interface EditorAttachmentOptions {
262
289
  * 图片附件的限制配置
263
290
  */
264
291
  limitations?: EditorAttachmentLimitationOptions;
292
+ /**
293
+ * 禁止预览
294
+ * @deprecated 使用preview.disabled代替
295
+ */
296
+ disablePreview?: boolean;
297
+ /**
298
+ * 预览
299
+ */
300
+ preview?: EditorAttachmentPreviewOptions;
301
+ /**
302
+ * 下载
303
+ */
304
+ download?: EditorAttachmentDownloadOptions;
305
+ /**
306
+ * 是否禁用缩略图
307
+ * 桌面客户端/极速sdk需要禁用
308
+ */
309
+ disableThumbnail?: boolean;
265
310
  };
266
311
  /**
267
- * 其他附件相关配置
312
+ * 附件相关配置
268
313
  */
269
314
  attachment?: {
270
315
  /**
@@ -280,9 +325,94 @@ export declare interface EditorAttachmentOptions {
280
325
  * 附件的限制配置
281
326
  */
282
327
  limitations?: EditorAttachmentLimitationOptions;
328
+ /**
329
+ * 禁止预览
330
+ * @deprecated 使用preview.disabled代替
331
+ */
332
+ disablePreview?: boolean;
333
+ /**
334
+ * 预览
335
+ */
336
+ preview?: EditorAttachmentPreviewOptions;
337
+ /**
338
+ * 下载
339
+ */
340
+ download?: EditorAttachmentDownloadOptions;
341
+ };
342
+ /**
343
+ * 视频相关配置
344
+ */
345
+ video?: {
346
+ /**
347
+ * 支持的视频格式
348
+ */
349
+ supportTypes?: string[];
350
+ /**
351
+ * 视频的限制配置
352
+ */
353
+ limitations?: EditorAttachmentLimitationOptions;
354
+ /**
355
+ * 预览
356
+ */
357
+ preview?: EditorAttachmentPreviewOptions;
358
+ /**
359
+ * 下载
360
+ */
361
+ download?: EditorAttachmentDownloadOptions;
362
+ };
363
+ /**
364
+ * 音频相关配置
365
+ */
366
+ audio?: {
367
+ /**
368
+ * 支持的音频
369
+ */
370
+ supportTypes?: string[];
371
+ /**
372
+ * 音频的限制配置
373
+ */
374
+ limitations?: EditorAttachmentLimitationOptions;
375
+ /**
376
+ * 预览
377
+ */
378
+ preview?: EditorAttachmentPreviewOptions;
379
+ /**
380
+ * 下载
381
+ */
382
+ download?: EditorAttachmentDownloadOptions;
383
+ };
384
+ /**
385
+ * 云文件附件相关配置
386
+ */
387
+ cloudFile?: {
388
+ /**
389
+ * 是否禁用云文件
390
+ */
391
+ disabled?: boolean;
283
392
  };
284
393
  }
285
394
 
395
+ /**
396
+ * 编辑器附件预览配置
397
+ */
398
+ export declare interface EditorAttachmentPreviewOptions {
399
+ /**
400
+ * 预览附件
401
+ * app, 桌面客户端需提供
402
+ */
403
+ preview?: (url: string) => void;
404
+ /**
405
+ * 获取附件预览url,saas、sdk、极速sdk需要提供
406
+ * @param id 文件url
407
+ * @returns 预览url
408
+ */
409
+ getPreviewUrl?: (url: string) => Promise<string>;
410
+ /**
411
+ * 是否禁用预览
412
+ */
413
+ disabled?: boolean;
414
+ }
415
+
286
416
  /**
287
417
  * 基础文件属性
288
418
  */
@@ -293,11 +423,19 @@ export declare interface EditorBaseUploadableFile {
293
423
  fileGuid: string;
294
424
  }
295
425
 
426
+ /**
427
+ * 品牌设置
428
+ */
429
+ export declare interface EditorBrandOptions {
430
+ enable: boolean;
431
+ getSettings: () => Promise<EditorBrandSetting | null>;
432
+ }
433
+
296
434
  /**
297
435
  * 品牌相关设置,
298
436
  * 用于在套件中展示品牌外露信息
299
437
  */
300
- export declare interface EditorBrandOptions {
438
+ export declare interface EditorBrandSetting {
301
439
  /**
302
440
  * 需要显示在品牌展示位的内容,按数组顺序显示
303
441
  */
@@ -318,24 +456,6 @@ export declare interface EditorBrandOptions {
318
456
  };
319
457
  }
320
458
 
321
- export declare interface EditorCheckpointsOptions {
322
- /**
323
- * 获取功能卡点限制
324
- * undefined代表无限制
325
- */
326
- getFeatureLimitation?: (key: string) => Limitation | undefined;
327
- /**
328
- * 检查是否超限
329
- * @param key 功能卡点key
330
- * @param value 功能卡点检查值,如文件大小/行列数量等
331
- */
332
- checkFeatureLimitation?: (key: string, value: number) => CheckLimitationResult;
333
- /**
334
- * 获取功能卡点状态,如某功能入口是否开启
335
- */
336
- getFeatureStatus?: (key: string) => FeatureStatus;
337
- }
338
-
339
459
  export declare interface EditorCollaborationOptions {
340
460
  /**
341
461
  * 是否允许离线编辑
@@ -377,23 +497,36 @@ export declare interface EditorCollaborators {
377
497
  * 停止监听协作者状态变化
378
498
  * 调用此方法后,将不再接收协作者进入/离开的事件
379
499
  */
380
- stop: () => void;
500
+ quit: () => void;
501
+ /**
502
+ * 监听事件
503
+ */
504
+ on: (event: string, callback: (...args: unknown[]) => void) => unknown;
505
+ /**
506
+ * 监听事件, 只监听一次
507
+ */
508
+ once: (event: string, callback: (...args: unknown[]) => void) => unknown;
509
+ /**
510
+ * 移除事件
511
+ */
512
+ off: (event: string, callback: (...args: unknown[]) => void) => unknown;
381
513
  /**
382
- * 添加协作者进入事件监听器
383
- * @param listener - 监听器回调函数,参数如下:
384
- * - allUsers: 当前所有协作者列表
385
- * - enteredUsers: 新进入的协作者列表
386
- * @returns 返回一个函数,调用该函数可以移除监听器
514
+ * 发送事件
387
515
  */
388
- addUserEnterListener: (listener: (allUsers: CollaboratorInfo[], enteredUsers: CollaboratorInfo[]) => void) => () => void;
516
+ emit: (event: string, ...args: unknown[]) => unknown;
517
+ }
518
+
519
+ export declare interface EditorCollaboratorsOptions {
389
520
  /**
390
- * 添加协作者离开事件监听器
391
- * @param listener - 监听器回调函数
392
- * - allUsers: 当前所有协作者列表
393
- * - leftUsers: 离开的协作者列表
394
- * @returns 返回一个函数,调用该函数可以移除监听器
521
+ * 是否禁用
522
+ */
523
+ disabled?: boolean;
524
+ /**
525
+ * 推送协作者socket 对象
526
+ * 实际类型为socketIO.client
527
+ * TODO: 抽象为接口
395
528
  */
396
- addUserLeaveListener: (listener: (allUsers: CollaboratorInfo[], leftUsers: CollaboratorInfo[]) => void) => () => void;
529
+ socket?: EditorSocket;
397
530
  }
398
531
 
399
532
  /**
@@ -457,6 +590,14 @@ export declare interface EditorComments {
457
590
  * 删除单条评论
458
591
  */
459
592
  deleteOne: (commentId: string) => Promise<boolean>;
593
+ /**
594
+ * 显示评论(侧边栏或其他形式)
595
+ */
596
+ show?: () => void;
597
+ /**
598
+ * 隐藏评论(侧边栏或其他形式)
599
+ */
600
+ hide?: () => void;
460
601
  }
461
602
 
462
603
  /**
@@ -492,11 +633,22 @@ export declare interface EditorCommentsOptions extends EditorFeatureConfig {
492
633
  mode: 'none' | 'card';
493
634
  };
494
635
  /**
495
- * 评论变化监听
496
- * @param listener
497
- * @returns 返回一个函数,调用该函数可以移除监听器
636
+ * 推送评论的 socket 对象
637
+ */
638
+ socket?: EditorSocket;
639
+ /**
640
+ * 评论相关功能配置
498
641
  */
499
- addChangedListener?: (listener: (type: 'create' | 'update' | 'close', data: EditorCommentItem) => void) => () => void;
642
+ features?: {
643
+ /**
644
+ * 添加评论
645
+ */
646
+ addComment?: EditorFeatureConfig;
647
+ /**
648
+ * 评论列表
649
+ */
650
+ commentList?: EditorFeatureConfig;
651
+ };
500
652
  }
501
653
 
502
654
  export declare interface EditorContent<Delta = EditorDelta> {
@@ -522,6 +674,11 @@ export declare interface EditorContent<Delta = EditorDelta> {
522
674
  */
523
675
  export declare type EditorContextMenuOptions<TName extends string> = EditorMenuOptions<TName>;
524
676
 
677
+ /**
678
+ * 粘贴相关设置
679
+ */
680
+ export declare type EditorCopyOptions = EditorLogicFeatureConfig;
681
+
525
682
  /**
526
683
  * 编辑器解密选项接口
527
684
  * 用于配置编辑器中需要解密的内容的相关选项
@@ -542,6 +699,28 @@ export declare interface EditorDelta {
542
699
  length: number;
543
700
  }
544
701
 
702
+ export declare type EditorDeviceMode = 'desktop' | 'mobile' | 'tablet';
703
+
704
+ /**
705
+ * 编辑器设备相关设置
706
+ */
707
+ export declare interface EditorDeviceOptions {
708
+ /**
709
+ * 设备模式
710
+ */
711
+ mode?: EditorDeviceMode;
712
+ }
713
+
714
+ /**
715
+ * 编辑器拖放配置
716
+ */
717
+ export declare type EditorDragNDropOptions = EditorFeatureConfig;
718
+
719
+ /**
720
+ * 编辑器创建副本配置
721
+ */
722
+ export declare type EditorDuplicateOptions = EditorFeatureConfig;
723
+
545
724
  /**
546
725
  * 编辑器嵌入对象
547
726
  */
@@ -591,15 +770,20 @@ export declare interface EditorEmbeddedObjectOptions {
591
770
  };
592
771
  }
593
772
 
594
- export declare interface EditorExportOptions {
773
+ export declare interface EditorExportOptions extends EditorFeatureConfig {
595
774
  /**
596
- * 可导出类型
775
+ * 可导出类型, undefined 表示对可导出类型无限制
776
+ * 导出由接口 + 本地实现
777
+ */
778
+ types?: string[];
779
+ /**
780
+ * 接口支持的导出类型
597
781
  */
598
782
  supportedTypes?: string[];
599
783
  /**
600
- * 导出文件
784
+ * 导出文件,调用接口实现
601
785
  */
602
- exportFile: (type: string) => Promise<void>;
786
+ exportFile?: (type: string) => Promise<void>;
603
787
  }
604
788
 
605
789
  export declare interface EditorFeatureConfig {
@@ -613,6 +797,28 @@ export declare interface EditorFeatureConfig {
613
797
  hidden?: boolean;
614
798
  }
615
799
 
800
+ export declare interface EditorFeaturesOptions {
801
+ /**
802
+ * 禁用特性入口
803
+ */
804
+ disabled?: boolean;
805
+ /**
806
+ * 对应/features接口,返回所有功能key
807
+ */
808
+ getFeatures?: () => Promise<string[]>;
809
+ }
810
+
811
+ /**
812
+ * 文件限制
813
+ */
814
+ export declare interface EditorFileLimitationOptions {
815
+ /**
816
+ * 获取最大文件大小,单位为MB
817
+ * 超过该上限后禁止编辑
818
+ */
819
+ getMaxFileSize?: () => number | undefined;
820
+ }
821
+
616
822
  export declare interface EditorFileOptions {
617
823
  /**
618
824
  * 文件guid
@@ -622,6 +828,18 @@ export declare interface EditorFileOptions {
622
828
  * 文件名
623
829
  */
624
830
  name?: string;
831
+ /**
832
+ * 创建者,以id标识
833
+ */
834
+ creator?: number;
835
+ /**
836
+ * 创建时间, 毫秒级时间戳
837
+ */
838
+ createdAt?: number;
839
+ /**
840
+ * 文件限制
841
+ */
842
+ limitations?: EditorFileLimitationOptions;
625
843
  }
626
844
 
627
845
  export declare interface EditorFilePicker {
@@ -651,7 +869,7 @@ export declare interface EditorFollowMode {
651
869
  * 获取当前演讲者信息
652
870
  * @returns 返回包含演讲者ID、姓名和头像信息的对象
653
871
  */
654
- getSpeaker: () => Speaker;
872
+ getSpeaker: () => Speaker | undefined;
655
873
  /**
656
874
  * 添加跟随状态变化的监听器
657
875
  * @param listener 状态变化时的回调函数
@@ -666,7 +884,7 @@ export declare interface EditorFollowModeOptions extends EditorFeatureConfig {
666
884
  * 实际类型为socketIO.client
667
885
  * TODO: 抽象为接口
668
886
  */
669
- socket?: unknown;
887
+ socket?: EditorSocket;
670
888
  }
671
889
 
672
890
  export declare interface EditorFontFace {
@@ -745,17 +963,35 @@ export declare interface EditorFontsOptions {
745
963
  * 并提供可用于字体的加载 URL 和字体元数据。
746
964
  */
747
965
  list: EditorFontsList;
966
+ /**
967
+ * 是否只使用本地字体,如果为 true,则不会从服务器获取字体列表。
968
+ */
969
+ useLocalFontsOnly?: boolean;
970
+ }
971
+
972
+ /**
973
+ * 功能引导设置
974
+ */
975
+ export declare interface EditorGuidesOptions {
976
+ /**
977
+ * 是否禁用
978
+ */
979
+ disabled?: boolean;
980
+ /**
981
+ * 获取引导数据
982
+ */
983
+ data?: <T = GuideData>() => Promise<T>;
748
984
  }
749
985
 
750
986
  export declare interface EditorHistory {
751
987
  /**
752
- * 显示历史记录侧边栏
988
+ * 显示历史记录(侧边栏或其他形式)
753
989
  */
754
- showSidebar: () => void;
990
+ show: () => void;
755
991
  /**
756
- * 隐藏历史记录侧边栏
992
+ * 隐藏历史记录(侧边栏或其他形式)
757
993
  */
758
- hideSidebar: () => void;
994
+ hide: () => void;
759
995
  }
760
996
 
761
997
  export declare type EditorHistoryOptions = EditorFeatureConfig;
@@ -778,7 +1014,12 @@ export declare type EditorImageCropPoint = 'nw' | 'north' | 'ne' | 'west' | 'cen
778
1014
 
779
1015
  export declare interface EditorImportOptions {
780
1016
  /**
781
- * 获取导入状态,没有contentUrl时需要显示导入进度
1017
+ * 当前文件是否正在导入中
1018
+ * 用于初始化时判断是否需要显示导入进度
1019
+ */
1020
+ isImporting?: boolean;
1021
+ /**
1022
+ * 获取当前文件导入状态,没有contentUrl时需要显示导入进度
782
1023
  * 待导入完成后再渲染
783
1024
  */
784
1025
  getImportStatus?: () => Promise<{
@@ -795,15 +1036,19 @@ export declare interface EditorImportOptions {
795
1036
  * 导入完成
796
1037
  */
797
1038
  status: 'completed';
1039
+ /**
1040
+ * 导入完成后的内容URL
1041
+ */
1042
+ contentUrl: string;
798
1043
  } | {
799
1044
  /**
800
1045
  * 导入失败
801
1046
  */
802
1047
  status: 'failed';
803
1048
  /**
804
- * 导入失败错误信息
1049
+ * 导入失败报错
805
1050
  */
806
- errorMessage?: string;
1051
+ error?: unknown;
807
1052
  }>;
808
1053
  }
809
1054
 
@@ -856,6 +1101,74 @@ export declare interface EditorLocalUploadableFile extends EditorBaseUploadableF
856
1101
  raw: File;
857
1102
  }
858
1103
 
1104
+ /**
1105
+ * 纯逻辑功能配置。
1106
+ * 不包含 UI 相关配置,仅用于逻辑判断。
1107
+ * 如:权限判断、功能开关等。
1108
+ * 所以不需要hidden,只使用disabled来判断
1109
+ */
1110
+ export declare type EditorLogicFeatureConfig = Omit<EditorFeatureConfig, 'hidden'>;
1111
+
1112
+ export declare interface EditorLogsOptions {
1113
+ /**
1114
+ * 是否禁用审计日志
1115
+ * sdk2.0需要禁用
1116
+ */
1117
+ isAuditLogDisabled?: boolean;
1118
+ /**
1119
+ * 是否禁用日志
1120
+ */
1121
+ disabled?: boolean;
1122
+ }
1123
+
1124
+ export declare interface EditorMentionOptions extends EditorFeatureConfig {
1125
+ /**
1126
+ * mention api url前缀
1127
+ * @shimo/mention-suggestion 需要用到
1128
+ * 对应环境变量 SDK_V2_PATH_PREFIX
1129
+ */
1130
+ apiUrlPrefix?: string;
1131
+ /**
1132
+ * mention文件卡片禁用设置
1133
+ */
1134
+ disableFileCard?: boolean;
1135
+ /**
1136
+ * mention日期卡片禁用设置
1137
+ */
1138
+ disableDateCard?: boolean;
1139
+ /**
1140
+ * mention用户卡片禁用设置
1141
+ */
1142
+ disableUserCard?: boolean;
1143
+ /**
1144
+ * mention点击回调
1145
+ */
1146
+ onMentionClick?: (payload: MentionEventPayload) => void;
1147
+ /**
1148
+ * mention文件选择弹窗支持的tab类型
1149
+ */
1150
+ mentionFilePanelTabs?: ('mine' | 'recent' | 'space')[];
1151
+ /**
1152
+ * mention弹窗底部支持的tab类型
1153
+ */
1154
+ mentionPopoverTabs?: ('contacts' | 'file' | 'calendar')[];
1155
+ /**
1156
+ * 是否禁止检查组织架构成员可见性
1157
+ * 该属性需要各套件对接最新版本@shimo/mention-suggestion(没用到的话可忽略)
1158
+ */
1159
+ disableCheckStaffVisibility?: boolean;
1160
+ }
1161
+
1162
+ /**
1163
+ * 编辑器菜单api
1164
+ */
1165
+ export declare interface EditorMenu {
1166
+ /**
1167
+ * 菜单功能api
1168
+ */
1169
+ features: EditorMenuFeatures;
1170
+ }
1171
+
859
1172
  /**
860
1173
  * 基础菜单项配置,所有菜单项类型都包含这些属性
861
1174
  */
@@ -956,6 +1269,38 @@ export declare interface EditorMenuFeatureConfig extends EditorFeatureConfig {
956
1269
  index?: number;
957
1270
  }
958
1271
 
1272
+ /**
1273
+ * 编辑器菜单功能api
1274
+ *
1275
+ * 提供对菜单项的显示、隐藏、启用和禁用等操作
1276
+ */
1277
+ export declare interface EditorMenuFeatures {
1278
+ /**
1279
+ * 显示菜单项
1280
+ * @param name 菜单项名称
1281
+ */
1282
+ showFeature: (name: string) => void;
1283
+ /**
1284
+ * 隐藏菜单项
1285
+ * @param name 菜单项名称
1286
+ */
1287
+ hideFeature: (name: string) => void;
1288
+ /**
1289
+ * 启用菜单项
1290
+ * @param name 菜单项名称
1291
+ */
1292
+ enableFeature: (name: string) => void;
1293
+ /**
1294
+ * 禁用菜单项
1295
+ * @param name 菜单项名称
1296
+ */
1297
+ disableFeature: (name: string) => void;
1298
+ /**
1299
+ * 恢复菜单项到默认状态,即根据配置项确定如何渲染菜单项。
1300
+ */
1301
+ resetFeature: (name: string) => void;
1302
+ }
1303
+
959
1304
  /**
960
1305
  * 隐藏菜单项配置
961
1306
  */
@@ -1022,7 +1367,7 @@ export declare interface EditorMenuOptions<TName extends EditorMenuName> {
1022
1367
  * 更加间接的配置项
1023
1368
  * 仅在 TName 为字符串类型时有效
1024
1369
  */
1025
- features?: TName extends string ? Partial<Record<TName, EditorMenuFeatureConfig>> : never;
1370
+ features?: [TName] extends [string] ? Partial<Record<TName, EditorMenuFeatureConfig>> : never;
1026
1371
  /**
1027
1372
  * 自定义按钮配置
1028
1373
  */
@@ -1058,9 +1403,25 @@ export declare type EditorModeOptions = {
1058
1403
  */
1059
1404
  role?: EditorStandardRole;
1060
1405
  } | {
1406
+ /**
1407
+ * 预览模式
1408
+ */
1061
1409
  type: 'preview';
1062
1410
  } | {
1411
+ /**
1412
+ * 演示模式
1413
+ */
1063
1414
  type: 'presentation';
1415
+ } | {
1416
+ /**
1417
+ * 历史模式
1418
+ */
1419
+ type: 'history';
1420
+ } | {
1421
+ /**
1422
+ * 嵌入模式
1423
+ */
1424
+ type: 'embedded';
1064
1425
  };
1065
1426
 
1066
1427
  /**
@@ -1068,8 +1429,9 @@ export declare type EditorModeOptions = {
1068
1429
  * - `standard` 标准模式,会根据用户权限配置不同的功能
1069
1430
  * - `preview` 预览模式,只能查看内容
1070
1431
  * - `presentation` 演示模式,用作演示场景,演示模式下部分套件可以进行一些简单的编辑操作
1432
+ * - `history` 历史模式,用作查看历史版本场景
1071
1433
  */
1072
- export declare type EditorModeType = 'standard' | 'preview' | 'presentation';
1434
+ export declare type EditorModeType = 'standard' | 'preview' | 'presentation' | 'history' | 'embedded';
1073
1435
 
1074
1436
  /**
1075
1437
  * 编辑器初始化通用参数
@@ -1093,7 +1455,7 @@ export declare interface EditorOptions {
1093
1455
  */
1094
1456
  anonymous?: EditorAnonymousOptions;
1095
1457
  /**
1096
- * 当前文件信息
1458
+ * 当前文件信息 & 配置
1097
1459
  */
1098
1460
  file?: EditorFileOptions;
1099
1461
  /**
@@ -1103,7 +1465,7 @@ export declare interface EditorOptions {
1103
1465
  /**
1104
1466
  * 品牌相关设置
1105
1467
  */
1106
- brand?: MaybePromiseValue<EditorBrandOptions>;
1468
+ brand?: EditorBrandOptions;
1107
1469
  /**
1108
1470
  * 编辑器内部资源请求配置
1109
1471
  */
@@ -1152,10 +1514,6 @@ export declare interface EditorOptions {
1152
1514
  * 编辑器 UI 相关
1153
1515
  */
1154
1516
  ui?: EditorUiOptions;
1155
- /**
1156
- * 编辑器卡点限制
1157
- */
1158
- checkpoints?: EditorCheckpointsOptions;
1159
1517
  /**
1160
1518
  * 编辑器工具箱设置
1161
1519
  */
@@ -1168,6 +1526,54 @@ export declare interface EditorOptions {
1168
1526
  * 编辑器协作相关
1169
1527
  */
1170
1528
  collaboration?: EditorCollaborationOptions;
1529
+ /**
1530
+ * 编辑器功能相关设置
1531
+ */
1532
+ features?: EditorFeaturesOptions;
1533
+ /**
1534
+ * 编辑器版本相关设置
1535
+ */
1536
+ version?: EditorVersionOptions;
1537
+ /**
1538
+ * 编辑器日志相关设置
1539
+ */
1540
+ logs?: EditorLogsOptions;
1541
+ /**
1542
+ * 编辑器快捷键相关设置
1543
+ */
1544
+ shortcuts?: EditorShortcutOptions;
1545
+ /**
1546
+ * 提及相关设置
1547
+ */
1548
+ mention?: EditorMentionOptions;
1549
+ /**
1550
+ * 编辑器拖放相关配置
1551
+ */
1552
+ dragNDrop?: EditorDragNDropOptions;
1553
+ /**
1554
+ * 编辑器引导相关设置
1555
+ */
1556
+ guides?: EditorGuidesOptions;
1557
+ /**
1558
+ * 编辑器复制相关设置
1559
+ */
1560
+ copy?: EditorCopyOptions;
1561
+ /**
1562
+ * 编辑器粘贴相关设置
1563
+ */
1564
+ paste?: EditorPasteOptions;
1565
+ /**
1566
+ * 编辑器设备信息相关设置
1567
+ */
1568
+ device?: EditorDeviceOptions;
1569
+ /**
1570
+ * 编辑器副本相关配置
1571
+ */
1572
+ duplicate?: EditorDuplicateOptions;
1573
+ /**
1574
+ * 分享相关接口
1575
+ */
1576
+ share?: EditorShareOptions;
1171
1577
  }
1172
1578
 
1173
1579
  /**
@@ -1220,7 +1626,7 @@ export declare interface EditorOutlineItem<Content = unknown> {
1220
1626
  * 大纲目录初始化参数,
1221
1627
  * 用于配置大纲目录的行为和外观。
1222
1628
  */
1223
- export declare interface EditorOutlineOptions {
1629
+ export declare interface EditorOutlineOptions extends EditorLogicFeatureConfig {
1224
1630
  /**
1225
1631
  * 初始化编辑器时是否显示大纲目录,
1226
1632
  * 默认为 false。
@@ -1228,6 +1634,50 @@ export declare interface EditorOutlineOptions {
1228
1634
  visible?: boolean;
1229
1635
  }
1230
1636
 
1637
+ export declare interface EditorPasteLimitationOptions {
1638
+ /**
1639
+ * 检查粘贴内容的规则
1640
+ * @param content
1641
+ * @returns
1642
+ */
1643
+ checkContent?: (params: EditorPasteLimitationOptionsCheckFunctionParams) => Promise<{
1644
+ limited: true;
1645
+ message: string;
1646
+ } | {
1647
+ limited: false;
1648
+ }>;
1649
+ /**
1650
+ * 获取最大粘贴数据大小,单位为MB
1651
+ */
1652
+ getMaxDataSize?: () => Promise<number | undefined>;
1653
+ }
1654
+
1655
+ export declare interface EditorPasteLimitationOptionsCheckFunctionParams {
1656
+ content: string;
1657
+ }
1658
+
1659
+ /**
1660
+ * 粘贴相关设置
1661
+ */
1662
+ export declare interface EditorPasteOptions extends EditorFeatureConfig {
1663
+ /**
1664
+ * 是否禁用远程图片粘贴, turbo暂时不支持远程图片粘贴
1665
+ */
1666
+ isRemoteImgDisabled?: boolean;
1667
+ /**
1668
+ * 粘贴内容限制规则
1669
+ */
1670
+ limitations?: EditorPasteLimitationOptions;
1671
+ }
1672
+
1673
+ export declare interface EditorPerformanceOptions {
1674
+ /**
1675
+ * 记录性能指标
1676
+ * @param mark 性能指标名称
1677
+ */
1678
+ record?: (mark: 'first_page' | 'first_editable_page') => void;
1679
+ }
1680
+
1231
1681
  export declare interface EditorPickedFile {
1232
1682
  /**
1233
1683
  * 文件大小
@@ -1251,6 +1701,17 @@ export declare interface EditorPickedFile {
1251
1701
  raw: File;
1252
1702
  }
1253
1703
 
1704
+ export declare interface EditorPresentation {
1705
+ /**
1706
+ * 进入演示模式
1707
+ */
1708
+ start: () => Promise<void>;
1709
+ /**
1710
+ * 退出演示模式
1711
+ */
1712
+ quit: () => Promise<void>;
1713
+ }
1714
+
1254
1715
  /**
1255
1716
  * 编辑器打印设置
1256
1717
  */
@@ -1275,6 +1736,13 @@ export declare interface EditorRemoteUploadableFile extends EditorBaseUploadable
1275
1736
  raw?: never;
1276
1737
  }
1277
1738
 
1739
+ export declare interface EditorRenderOptions {
1740
+ /**
1741
+ * 用于定位的锚点
1742
+ */
1743
+ hash?: string;
1744
+ }
1745
+
1278
1746
  /**
1279
1747
  * 编辑器通用接口
1280
1748
  */
@@ -1327,6 +1795,62 @@ export declare abstract class EditorSDK {
1327
1795
  * 部分环境不存在,如离线客户端
1328
1796
  */
1329
1797
  abstract get version(): EditorVersion | undefined;
1798
+ /**
1799
+ * 编辑器菜单栏相关接口
1800
+ */
1801
+ abstract get menu(): EditorMenu | undefined;
1802
+ /**
1803
+ * 编辑器演示模式相关接口
1804
+ */
1805
+ abstract get presentation(): EditorPresentation | undefined;
1806
+ }
1807
+
1808
+ export declare interface EditorShareOptions extends EditorLogicFeatureConfig {
1809
+ /**
1810
+ * 当前文件是否为共享文件
1811
+ */
1812
+ isShared?: boolean;
1813
+ }
1814
+
1815
+ export declare interface EditorShortcutOptions {
1816
+ /**
1817
+ * 自定义快捷键
1818
+ */
1819
+ customShortcuts?: ShortcutConfig[];
1820
+ /**
1821
+ * 禁用的快捷键
1822
+ * 桌面客户端需要禁用ctrl+s,ctrl+shift+s
1823
+ * 极速sdk需要禁用ctrl+s
1824
+ * sdk2.0需要禁用ctrl+shift+e
1825
+ */
1826
+ disabledShortcuts?: string[];
1827
+ }
1828
+
1829
+ /**
1830
+ * 编辑器 socket 接口, 用于评论、跟随模式、远程演示等场景
1831
+ * 实际类型为 socketIO.client
1832
+ */
1833
+ export declare interface EditorSocket {
1834
+ /**
1835
+ * 监听事件
1836
+ */
1837
+ on: (event: string, callback: (...args: unknown[]) => void) => unknown;
1838
+ /**
1839
+ * 监听事件, 只监听一次
1840
+ */
1841
+ once: (event: string, callback: (...args: unknown[]) => void) => unknown;
1842
+ /**
1843
+ * 移除事件
1844
+ */
1845
+ off: (event: string, callback: (...args: unknown[]) => void) => unknown;
1846
+ /**
1847
+ * 发送事件
1848
+ */
1849
+ emit: (event: string, ...args: unknown[]) => unknown;
1850
+ /**
1851
+ * 断开连接
1852
+ */
1853
+ disconnect: () => unknown;
1330
1854
  }
1331
1855
 
1332
1856
  /**
@@ -1516,6 +2040,12 @@ export declare interface EditorToolbarOptions<TName extends string> {
1516
2040
  * 自定义按钮
1517
2041
  */
1518
2042
  custom?: EditorToolbarFeatureButtonConfig<string>;
2043
+ /**
2044
+ * 工具栏挂载的容器dom,配置后则挂载到指定的容器上
2045
+ *
2046
+ * 如果不配置则按照套件的默认方式挂载。
2047
+ */
2048
+ container?: HTMLElement;
1519
2049
  }
1520
2050
 
1521
2051
  /**
@@ -1553,13 +2083,17 @@ export declare interface EditorUiOptions {
1553
2083
  /**
1554
2084
  * 显示升级弹窗
1555
2085
  */
1556
- showModal?: (options: ShowUpgradeModalProps) => Promise<ShowUpgradeModalResponse>;
2086
+ showModal?: (options: ShowUpgradeModalProps) => Promise<ShowUpgradeModalResponse | undefined>;
1557
2087
  };
1558
2088
  notification?: {
1559
2089
  /**
1560
2090
  * 渲染通知条
1561
2091
  */
1562
2092
  render?: (params: RenderNotificationProps) => void;
2093
+ /**
2094
+ * 是否禁用通知条
2095
+ */
2096
+ disabled?: boolean;
1563
2097
  };
1564
2098
  /**
1565
2099
  * 用户名片
@@ -1573,6 +2107,20 @@ export declare interface EditorUiOptions {
1573
2107
  * 渲染用户卡片
1574
2108
  */
1575
2109
  render?: (params: RenderUserCardProps) => RenderUserCardResult;
2110
+ /**
2111
+ * 是否禁用用户卡片
2112
+ * jd需要禁用
2113
+ */
2114
+ disabled?: boolean;
2115
+ };
2116
+ /**
2117
+ * 登录提示
2118
+ */
2119
+ loginNotice?: {
2120
+ /**
2121
+ * 显示登录提示
2122
+ */
2123
+ show?: () => void;
1576
2124
  };
1577
2125
  /**
1578
2126
  * toast
@@ -1586,6 +2134,10 @@ export declare interface EditorUiOptions {
1586
2134
  * 是否禁用toast
1587
2135
  */
1588
2136
  disabled?: boolean;
2137
+ /**
2138
+ * 自定义toast提示文本配置
2139
+ */
2140
+ tips?: ToastTipsConfig;
1589
2141
  };
1590
2142
  /**
1591
2143
  * confirm
@@ -1600,9 +2152,48 @@ export declare interface EditorUiOptions {
1600
2152
  */
1601
2153
  disabled?: boolean;
1602
2154
  };
2155
+ /**
2156
+ * 全屏配置
2157
+ */
2158
+ fullscreen?: EditorFeatureConfig;
2159
+ /**
2160
+ * 演示模式配置
2161
+ */
2162
+ presentation?: EditorFeatureConfig;
2163
+ /**
2164
+ * 帮助中心配置
2165
+ */
2166
+ helpCenter?: EditorFeatureConfig;
2167
+ /**
2168
+ * 新功能提醒相关配置
2169
+ */
2170
+ newFeature?: {
2171
+ /**
2172
+ * 是否不展示新功能提醒(包括任何形式的)
2173
+ */
2174
+ hidden?: boolean;
2175
+ };
2176
+ /**
2177
+ * 图片查看器配置
2178
+ */
2179
+ imageViewer?: {
2180
+ /**
2181
+ * 右键菜单配置
2182
+ */
2183
+ contextMenu?: EditorMenuOptions<'copy' | 'download'>;
2184
+ /**
2185
+ * 操作配置
2186
+ */
2187
+ operations?: {
2188
+ /**
2189
+ * 下载图片
2190
+ */
2191
+ download: EditorFeatureConfig;
2192
+ };
2193
+ };
1603
2194
  }
1604
2195
 
1605
- export declare type EditorUploadableFile = EditorLocalUploadableFile;
2196
+ export declare type EditorUploadableFile = EditorLocalUploadableFile | EditorRemoteUploadableFile;
1606
2197
 
1607
2198
  /**
1608
2199
  * 文件开始上传入参
@@ -1668,10 +2259,23 @@ export declare interface EditorUserOptions {
1668
2259
  export declare interface EditorVersion {
1669
2260
  /**
1670
2261
  * 保存版本
2262
+ * @param name 版本名称
2263
+ */
2264
+ createRevision: (name?: string) => void;
2265
+ /**
2266
+ * 显示版本(侧边栏或其他形式)
2267
+ * 区别于历史侧边栏,在应用表格里表现为打开历史侧边栏切换到版本 tab
1671
2268
  */
1672
- createRevision: () => void;
2269
+ show?: () => void;
2270
+ /**
2271
+ * 隐藏版本(侧边栏或其他形式)
2272
+ * 区别于历史侧边栏,在应用表格里表现为打开历史侧边栏切换到版本 tab
2273
+ */
2274
+ hide?: () => void;
1673
2275
  }
1674
2276
 
2277
+ export declare type EditorVersionOptions = EditorFeatureConfig;
2278
+
1675
2279
  /**
1676
2280
  * 编辑器外部水印信息
1677
2281
  */
@@ -1679,7 +2283,12 @@ export declare interface EditorWatermarkOptions {
1679
2283
  /**
1680
2284
  * 获取用作初始化使用的默认水印
1681
2285
  */
1682
- getWatermark: () => MaybePromiseValue<EditorWatermarkResource | null>;
2286
+ getWatermark?: () => MaybePromiseValue<EditorWatermarkResource | null>;
2287
+ /**
2288
+ * 获取文件导出水印
2289
+ * @param exportType 导出类型 图片/pdf/纯图pdf
2290
+ */
2291
+ getExportWatermark?: (exportType: 'image' | 'pdf' | 'image_pdf') => Promise<string[] | undefined>;
1683
2292
  /**
1684
2293
  * 是否必须,如果为 true,编辑器将在初始化时强制渲染水印,
1685
2294
  * 水印配置信息加载失败将导致编辑器初始化失败
@@ -1695,28 +2304,13 @@ export declare type EditorWatermarkResource = {
1695
2304
  url: string;
1696
2305
  };
1697
2306
 
1698
- export declare enum FeatureStatus {
1699
- /**
1700
- * 隐藏
1701
- */
1702
- Hidden = 0,
1703
- /**
1704
- * 正常
1705
- */
1706
- Normal = 1,
1707
- /**
1708
- * 禁用
1709
- */
1710
- Disabled = 2
1711
- }
1712
-
1713
2307
  export declare interface FileLinkParams {
1714
2308
  /**
1715
2309
  * 文件guid
1716
2310
  */
1717
2311
  fileGuid: string;
1718
2312
  /**
1719
- * 文件类型,如docs,sheets
2313
+ * 文件类型
1720
2314
  */
1721
2315
  type: string;
1722
2316
  /**
@@ -1775,6 +2369,14 @@ export declare enum FileType {
1775
2369
  CloudFile = 3
1776
2370
  }
1777
2371
 
2372
+ /**
2373
+ * 引导数据
2374
+ */
2375
+ export declare interface GuideData {
2376
+ type: number;
2377
+ id: number;
2378
+ }
2379
+
1778
2380
  /**
1779
2381
  * 请求、响应头
1780
2382
  */
@@ -1882,34 +2484,67 @@ export declare interface HTTPResponse<Data = unknown> {
1882
2484
  */
1883
2485
  export declare type HTTPResponseType = 'arraybuffer' | 'blob' | 'document' | 'json' | 'text' | 'stream';
1884
2486
 
1885
- export declare interface Limitation {
2487
+ export declare type MaybePromiseValue<T> = T | Promise<T>;
2488
+
2489
+ export declare interface MentionEventPayload {
1886
2490
  /**
1887
- * 限制原因(错误码)
2491
+ * 距离页面左边的距离
1888
2492
  */
1889
- code?: number;
2493
+ x: number;
1890
2494
  /**
1891
- * 单位(不参与计算,仅作显示)
1892
- * minutes、MB
2495
+ * 距离页面顶部的距离
1893
2496
  */
1894
- unit?: string;
2497
+ y: number;
1895
2498
  /**
1896
- * 描述
2499
+ * mention信息
1897
2500
  */
1898
- desc?: string;
2501
+ mentionInfo: MentionInfo;
2502
+ }
2503
+
2504
+ export declare interface MentionInfo {
2505
+ /** 用户 Id */
2506
+ userId?: number;
2507
+ /** 文件 Id */
2508
+ fileId?: string;
1899
2509
  /**
1900
- * min/max int64 默认表示 MB/个/分钟/行
2510
+ * mention区域宽度
1901
2511
  */
1902
- max?: number;
1903
- min?: number;
2512
+ width?: number;
2513
+ /**
2514
+ * mention区域高度
2515
+ */
2516
+ height?: number;
2517
+ /**
2518
+ * mention区域左上角距离页面左边的距离
2519
+ */
2520
+ left?: number;
2521
+ /**
2522
+ * mention区域左上角距离页面顶部的距离
2523
+ */
2524
+ top?: number;
1904
2525
  }
1905
2526
 
1906
- export declare type MaybePromiseValue<T> = T | Promise<T>;
1907
-
1908
2527
  /**
1909
2528
  * 升级弹窗类型
1910
2529
  * 个人版或企业版
1911
2530
  */
1912
- export declare type OpenType = 'personal' | 'enterprise';
2531
+ export declare type OpenType = 'personal' | 'enterprise' | 'pendingOrder';
2532
+
2533
+ export declare interface OperationToastConfig {
2534
+ /**
2535
+ * 成功提示文本
2536
+ */
2537
+ success?: string;
2538
+ /**
2539
+ * 失败提示文本
2540
+ */
2541
+ failed?: string;
2542
+ /**
2543
+ * 权限不足提示文本
2544
+ * 桌面客户端安全模式下需要提供【当前账号未获得此项能力授权。】
2545
+ */
2546
+ noPermission?: string;
2547
+ }
1913
2548
 
1914
2549
  /**
1915
2550
  * pdf 工具栏一级菜单
@@ -1988,6 +2623,12 @@ export declare interface PdfPages {
1988
2623
  * 获取指定页面
1989
2624
  */
1990
2625
  getPage: (page: number) => Promise<PdfPage | null>;
2626
+ /**
2627
+ * 获取指定页面的文本范围
2628
+ * @param page
2629
+ * @returns
2630
+ */
2631
+ getPageRange: (page: number) => Promise<PdfRange | null>;
1991
2632
  }
1992
2633
 
1993
2634
  /**
@@ -2167,15 +2808,15 @@ export declare interface RenderUserCardProps {
2167
2808
  height: number;
2168
2809
  hasReducedHeaderHeight?: boolean;
2169
2810
  };
2170
- position?: 'top' | 'left' | 'right' | 'bottom' | 'left_top' | 'left_bottom' | 'right_top' | 'bottom_top' | 'top_left' | 'top_right' | 'bottom_left' | 'bottom_right';
2171
- trigger: 'hover' | 'click';
2811
+ position?: 'top' | 'left' | 'right' | 'bottom' | 'left_top' | 'left_bottom' | 'right_top' | 'right_bottom' | 'top_left' | 'top_right' | 'bottom_left' | 'bottom_right';
2812
+ trigger?: 'hover' | 'click';
2172
2813
  }
2173
2814
 
2174
2815
  export declare interface RenderUserCardResult {
2175
2816
  /**
2176
2817
  * 关闭用户卡片
2177
2818
  */
2178
- close: (force?: boolean) => void;
2819
+ close?: (force?: boolean) => void;
2179
2820
  }
2180
2821
 
2181
2822
  /**
@@ -2216,6 +2857,18 @@ export declare interface SaveStatusDelegation {
2216
2857
  */
2217
2858
  export declare type Scene = 'history' | 'version' | 'public' | 'search' | 'attachments';
2218
2859
 
2860
+ export declare interface ShortcutConfig {
2861
+ /**
2862
+ * 快捷键,例如保存快捷键windows为ctrl+s, mac系统则为meta+s
2863
+ * 如果不想区分系统则为mod+s
2864
+ */
2865
+ key: string;
2866
+ /**
2867
+ * 快捷键回调
2868
+ */
2869
+ callback: () => void;
2870
+ }
2871
+
2219
2872
  export declare interface ShowConfirmOptions {
2220
2873
  /**
2221
2874
  * 确认框标题
@@ -2315,6 +2968,67 @@ export declare interface SyncStatusDelegation {
2315
2968
  onError: (error: unknown, context: SyncContext) => void;
2316
2969
  }
2317
2970
 
2971
+ /**
2972
+ * Toast提示文本配置接口
2973
+ */
2974
+ export declare interface ToastTipsConfig {
2975
+ /**
2976
+ * 复制相关提示文本
2977
+ */
2978
+ copy?: OperationToastConfig;
2979
+ /**
2980
+ * 粘贴相关提示文本
2981
+ */
2982
+ paste?: OperationToastConfig;
2983
+ /**
2984
+ * 剪切相关提示文本
2985
+ */
2986
+ cut?: OperationToastConfig;
2987
+ /**
2988
+ * 打印相关提示文本
2989
+ */
2990
+ print?: OperationToastConfig;
2991
+ /**
2992
+ * 导出相关提示文本
2993
+ */
2994
+ export?: OperationToastConfig;
2995
+ /**
2996
+ * 编辑相关提示文本
2997
+ */
2998
+ edit?: OperationToastConfig;
2999
+ /**
3000
+ * 下载相关提示文本
3001
+ */
3002
+ download?: {
3003
+ /**
3004
+ * 图片下载提示文本
3005
+ */
3006
+ image?: OperationToastConfig;
3007
+ /**
3008
+ * 附件下载提示文本
3009
+ */
3010
+ attachment?: OperationToastConfig;
3011
+ };
3012
+ /**
3013
+ * 预览相关提示文本
3014
+ */
3015
+ preview?: {
3016
+ /**
3017
+ * 图片预览提示文本
3018
+ */
3019
+ image?: OperationToastConfig;
3020
+ /**
3021
+ * 附件预览提示文本
3022
+ */
3023
+ attachment?: OperationToastConfig;
3024
+ };
3025
+ /**
3026
+ * 创建版本相关提示文本
3027
+ * sdk2.0需要提供
3028
+ */
3029
+ createVersion?: OperationToastConfig;
3030
+ }
3031
+
2318
3032
  /**
2319
3033
  * 工具箱工具项接口
2320
3034
  */