weboffice-js-sdk 2.0.3 → 2.0.4

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.
@@ -0,0 +1,849 @@
1
+ import type { DocumentErrorMessage, ExternalAppParams } from './types/Document';
2
+ export interface TitleFacade {
3
+ addChangedListener: (listener: (title: string) => void) => () => void;
4
+ setTitle: (title: string) => Promise<void>;
5
+ }
6
+ export interface CommentsFacade {
7
+ show: (type?: 'list' | 'card') => Promise<void>;
8
+ hide: (type?: 'list' | 'card') => Promise<void>;
9
+ }
10
+ export interface HistoryFacade {
11
+ show: () => Promise<void>;
12
+ hide: () => Promise<void>;
13
+ }
14
+ export interface DiscussionFacade {
15
+ show: () => Promise<void>;
16
+ hide: () => Promise<void>;
17
+ }
18
+ export interface CollaboratorFacade {
19
+ show: () => Promise<void>;
20
+ hide: () => Promise<void>;
21
+ }
22
+ export interface ExternalAppFacade {
23
+ insert: (url: string, params?: ExternalAppParams) => Promise<null | DocumentErrorMessage>;
24
+ }
25
+ export interface DocsRangeBounding {
26
+ top: number;
27
+ right: number;
28
+ bottom: number;
29
+ left: number;
30
+ start: number;
31
+ end: number;
32
+ }
33
+ export interface DocsRangeValue {
34
+ start: number;
35
+ end: number;
36
+ }
37
+ export interface DocsReplaceParams {
38
+ value: string;
39
+ }
40
+ export interface DocsReplaceResult {
41
+ id: string;
42
+ oldValue: string;
43
+ }
44
+ export type DocsSearchDirection = 'forward' | 'backward';
45
+ export interface DocsSearchParams {
46
+ content: string;
47
+ highlight?: boolean;
48
+ caseSensitive?: boolean;
49
+ wholeWord?: boolean;
50
+ useRegex?: boolean;
51
+ searchDirection?: DocsSearchDirection;
52
+ range?: DocsRangeValue;
53
+ }
54
+ export interface DocsSearchResult {
55
+ keyword: string;
56
+ id: string;
57
+ range: DocsRangeValue;
58
+ isProtected?: boolean;
59
+ }
60
+ export type DocsContinueWritingType = 'text' | 'html' | 'markdown';
61
+ export type DocsBulletListStyle = 'disc' | 'circle' | 'square';
62
+ export type DocsOrderedListStyle = 'decimal' | 'lower-alpha' | 'lower-roman';
63
+ export type DocsListStyle = {
64
+ type: 'none';
65
+ } | {
66
+ type: 'ordered';
67
+ style?: DocsOrderedListStyle;
68
+ } | {
69
+ type: 'bullet';
70
+ style?: DocsBulletListStyle;
71
+ } | {
72
+ type: 'task';
73
+ };
74
+ export type DocsPageWidth = 'standard' | 'wide' | 'full';
75
+ export type DocsParagraphType = 'paragraph' | 'title' | 'subtitle' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
76
+ export interface DocsTextStyle {
77
+ bold?: boolean;
78
+ italic?: boolean;
79
+ underline?: boolean;
80
+ strikethrough?: boolean;
81
+ color?: string;
82
+ backgroundColor?: string;
83
+ fontFamily?: string;
84
+ fontSize?: number;
85
+ }
86
+ export interface DocsParagraphStyle {
87
+ align?: 'left' | 'center' | 'right' | 'justify';
88
+ vertical?: 'top' | 'middle' | 'bottom';
89
+ }
90
+ export type DocsTableCellStyle = DocsTextStyle & DocsParagraphStyle;
91
+ export interface DocsDefaultStyle {
92
+ color: string;
93
+ fontSize: string;
94
+ fontFamily: string;
95
+ lineSpacing: string;
96
+ font: string;
97
+ size: string;
98
+ linespacing: string;
99
+ }
100
+ export type DocsKnownCodeBlockLanguage = 'plaintext' | 'arduino' | 'bash' | 'basic' | 'csharp' | 'cpp' | 'css' | 'clojure' | 'coffeescript' | 'dart' | 'diff' | 'docker' | 'elixir' | 'erlang' | 'fsharp' | 'fortran' | 'glsl' | 'gherkin' | 'go' | 'groovy' | 'html' | 'haskell' | 'json' | 'java' | 'javascript' | 'less' | 'lisp' | 'lua' | 'makefile' | 'markdown' | 'matlab' | 'nix' | 'ocaml' | 'objectivec' | 'php' | 'perl' | 'powershell' | 'prolog' | 'protobuf' | 'python' | 'r' | 'ruby' | 'rust' | 'scss' | 'sql' | 'scala' | 'scheme' | 'shellsession' | 'swift' | 'typescript' | 'vbnet' | 'vala' | 'verilog' | (string & {});
101
+ export interface DocsCodeBlockAttrs {
102
+ language?: DocsKnownCodeBlockLanguage;
103
+ wordWrap?: boolean;
104
+ }
105
+ export type DocsCodeBlockDirection = 'ltr' | 'rtl';
106
+ export type DocsCodeBlockAlignment = 'start' | 'end' | 'center' | 'justify';
107
+ export type DocsCodeBlockIndent = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;
108
+ export interface DocsCodeBlockTextNode {
109
+ element: 'text';
110
+ text: string;
111
+ }
112
+ export interface DocsCodeBlockParagraphAttrs {
113
+ direction?: DocsCodeBlockDirection;
114
+ lineHeight?: string;
115
+ textIndent?: string;
116
+ alignment?: DocsCodeBlockAlignment;
117
+ indent?: DocsCodeBlockIndent;
118
+ }
119
+ export interface DocsCodeBlockParagraphNode {
120
+ element: 'paragraph';
121
+ attrs: DocsCodeBlockParagraphAttrs | null;
122
+ content: DocsCodeBlockTextNode[];
123
+ }
124
+ export interface DocsCodeBlockInsertOptions {
125
+ attrs?: DocsCodeBlockAttrs;
126
+ content?: DocsCodeBlockParagraphNode[];
127
+ }
128
+ export type TOCNodeType = 'heading' | 'ordered-list' | 'bullet-list' | 'task' | string;
129
+ export interface DocsTOCItem {
130
+ id: string;
131
+ level: string;
132
+ text: string;
133
+ pos: number;
134
+ nodeType: TOCNodeType;
135
+ leadingSymbol: string | null;
136
+ }
137
+ export interface DocsSidebarState {
138
+ visible: boolean;
139
+ selectedTab: string;
140
+ }
141
+ export interface DocsTableSelection {
142
+ row: number;
143
+ column: number;
144
+ rowCount: number;
145
+ columnCount: number;
146
+ }
147
+ export declare enum EditorSaveStatus {
148
+ NoChange = 0,
149
+ Success = 1,
150
+ Fail = 2
151
+ }
152
+ export interface EditorSaveResult {
153
+ status: EditorSaveStatus;
154
+ }
155
+ export type Content = string | ArrayBuffer | Record<string, never> | object;
156
+ export interface ClipboardPasteParams {
157
+ html: string;
158
+ text: string;
159
+ base64File?: string;
160
+ removeTrailingEmptyRows?: boolean;
161
+ removeTrailingEmptyColumns?: boolean;
162
+ }
163
+ export type SheetAppendDataAxis = 'row' | 'column';
164
+ export interface SheetSelection {
165
+ getRange: (value?: SheetRangeValue) => SheetRangeFacade | null;
166
+ setRange: (value: SheetRangeValue | null) => Promise<void>;
167
+ }
168
+ export declare enum SheetRangeType {
169
+ Cells = "cells",
170
+ Rows = "rows",
171
+ Columns = "columns",
172
+ Sheet = "sheet"
173
+ }
174
+ export type SheetRangeValue = {
175
+ type: `${SheetRangeType.Cells}`;
176
+ row: number;
177
+ rowCount: number;
178
+ column: number;
179
+ columnCount: number;
180
+ } | {
181
+ type: `${SheetRangeType.Rows}`;
182
+ row: number;
183
+ rowCount: number;
184
+ } | {
185
+ type: `${SheetRangeType.Columns}`;
186
+ column: number;
187
+ columnCount: number;
188
+ } | {
189
+ type: `${SheetRangeType.Sheet}`;
190
+ };
191
+ export type SheetCellRange = Omit<Extract<SheetRangeValue, {
192
+ type: `${SheetRangeType.Cells}`;
193
+ }>, 'type'>;
194
+ export type SheetRangeText = string | string[][];
195
+ export type SheetCellValue = {
196
+ type: 'primitive';
197
+ value: string | number | boolean;
198
+ } | {
199
+ type: 'date';
200
+ value: number;
201
+ } | {
202
+ type: 'calcError';
203
+ value: {
204
+ error: string;
205
+ };
206
+ };
207
+ export type SheetWritableCellValue = Exclude<SheetCellValue, {
208
+ type: 'calcError';
209
+ }>;
210
+ export type FormatCategory = string;
211
+ export type AlignValue = 'left' | 'right' | 'center' | 'justify';
212
+ export type VerticalValue = 'top' | 'middle' | 'bottom';
213
+ export type WrapValue = 'overflow' | 'wrap' | 'clip';
214
+ export interface BorderStyle {
215
+ style?: string;
216
+ color?: string;
217
+ }
218
+ export interface RichTextItem {
219
+ text: string;
220
+ [key: string]: string | number | boolean | undefined;
221
+ }
222
+ export interface SheetWritableCellMeta {
223
+ formatCategory?: FormatCategory;
224
+ color?: string;
225
+ background?: string;
226
+ fontFamily?: string;
227
+ fontSize?: number;
228
+ align?: AlignValue;
229
+ bold?: boolean;
230
+ italic?: boolean;
231
+ underline?: boolean;
232
+ strike?: boolean;
233
+ vertical?: VerticalValue;
234
+ wrap?: WrapValue;
235
+ textRotation?: number;
236
+ textIndent?: number;
237
+ borderTop?: BorderStyle;
238
+ borderRight?: BorderStyle;
239
+ borderBottom?: BorderStyle;
240
+ borderLeft?: BorderStyle;
241
+ diagonalDown?: BorderStyle;
242
+ diagonalUp?: BorderStyle;
243
+ precision?: number;
244
+ }
245
+ export interface SheetCellData extends SheetWritableCellMeta {
246
+ value: SheetCellValue | null;
247
+ formula: string | null;
248
+ text: string;
249
+ format?: string;
250
+ span?: SheetCellRange;
251
+ richText?: RichTextItem[];
252
+ }
253
+ export type SheetWritableCellData = ({
254
+ value: string | number | boolean | Date | null;
255
+ } & SheetWritableCellMeta) | ({
256
+ formula: string | null;
257
+ quotePrefix?: boolean;
258
+ } & SheetWritableCellMeta) | ({
259
+ text: string | null;
260
+ richText?: RichTextItem[];
261
+ } & SheetWritableCellMeta);
262
+ export interface SearchMatch {
263
+ row: number;
264
+ column: number;
265
+ text: string;
266
+ isLinkCell?: boolean;
267
+ formulaInfo?: {
268
+ formulaText: string;
269
+ hasFormula: boolean;
270
+ };
271
+ }
272
+ export type PermissionDict = Record<number, PermissionLevel>;
273
+ export declare enum PermissionLevel {
274
+ Editable = 0,
275
+ ReadOnly = 1,
276
+ Private = 2
277
+ }
278
+ export interface AddRangeLockParams {
279
+ ranges?: SheetCellRange[];
280
+ sheetId?: string;
281
+ description?: string;
282
+ userPermissions: PermissionDict;
283
+ departmentPermissions?: PermissionDict;
284
+ visitorPermission?: PermissionLevel;
285
+ }
286
+ export interface AddSheetLockParams {
287
+ sheetId?: string;
288
+ description?: string;
289
+ userPermissions: PermissionDict;
290
+ departmentPermissions?: PermissionDict;
291
+ visitorPermission?: PermissionLevel;
292
+ }
293
+ export interface RemoveRangeLocksParams {
294
+ sheetId?: string;
295
+ ranges?: SheetCellRange[];
296
+ }
297
+ export interface RemoveSheetLockParams {
298
+ sheetId?: string;
299
+ }
300
+ export declare enum MentionTypes {
301
+ Comment = "comment",
302
+ Mention = "mention_at",
303
+ DateMention = "date_mention"
304
+ }
305
+ export type RevisionCreateOptions = string | {
306
+ name: string;
307
+ };
308
+ export type SheetChartFirstAs = 'auto' | 'seriesLabel' | 'categoryLabel' | 'none';
309
+ export type SheetChartSeriesOrientation = 'auto' | 'horizontal' | 'vertical';
310
+ export type SheetChartType = 'pie' | 'doughnut' | 'chinaMap' | 'funnel' | 'sunburst' | 'gauge' | 'gantt' | 'abstract' | 'columnClustered' | 'columnStacked' | 'columnStacked100' | 'barClustered' | 'barStacked' | 'barStacked100' | 'line' | 'lineStacked' | 'lineStacked100' | 'lineMarkers' | 'lineMarkersStacked' | 'lineMarkersStacked100' | 'area' | 'areaStacked' | 'areaStacked100' | 'stockOHLC' | 'xyScatter' | 'bubble' | 'histogram' | 'waterfall' | 'combination';
311
+ export interface AddChartFromSelectionBuiltinParams {
312
+ chartType?: SheetChartType;
313
+ series?: {
314
+ orientation?: SheetChartSeriesOrientation;
315
+ trimPaddings?: boolean;
316
+ firstAs?: SheetChartFirstAs;
317
+ };
318
+ }
319
+ export interface AddChartFromSelectionExternalParams extends AddChartFromSelectionBuiltinParams {
320
+ recommendationMode?: 'builtin' | 'external';
321
+ }
322
+ export type AddChartFromSelectionParams = AddChartFromSelectionBuiltinParams | AddChartFromSelectionExternalParams;
323
+ export interface AddChartFromSelectionResult {
324
+ chartId: string;
325
+ chartType: SheetChartType;
326
+ }
327
+ export interface EditorTextFormat<Color = string> {
328
+ bold: boolean;
329
+ italic: boolean;
330
+ underline: boolean;
331
+ strike: boolean;
332
+ color: Color;
333
+ highlight: Color;
334
+ size: number | string;
335
+ family: string;
336
+ }
337
+ export type PresentationHorizontalAlign = 'left' | 'center' | 'right' | 'justify' | 'dist';
338
+ export type PresentationVerticalAlign = 'top' | 'mid' | 'bottom' | 'wordArtVert' | 'eaVert' | 'mongolianVert' | 'vert' | 'vert270';
339
+ export interface PresentationIndent {
340
+ left?: number;
341
+ right?: number;
342
+ firstLine?: number;
343
+ }
344
+ export type PresentationLineSpaceRule = 'atLeast' | 'auto' | 'exact';
345
+ export type PresentationBulletSubType = string;
346
+ export type PresentationOrderedSubType = 'arabicPeriod' | 'arabicParenBoth' | 'ea1ChsPeriod' | 'chineseNumberParenBoth' | 'alphaLcParenR' | 'romanLcPeriod' | 'alphaUcPeriod';
347
+ export type PresentationListType = {
348
+ type: 'none';
349
+ } | {
350
+ type: 'bullet';
351
+ subType?: PresentationBulletSubType;
352
+ char?: string;
353
+ } | {
354
+ type: 'ordered';
355
+ subType?: PresentationOrderedSubType;
356
+ startAt?: number;
357
+ };
358
+ export interface PresentationParagraphSpacing {
359
+ line?: number;
360
+ lineRule?: PresentationLineSpaceRule;
361
+ before?: number;
362
+ after?: number;
363
+ }
364
+ export interface PresentationParagraphStyle {
365
+ align?: PresentationHorizontalAlign;
366
+ vertical?: PresentationVerticalAlign;
367
+ direction?: 'ltr' | 'rtl';
368
+ indent?: PresentationIndent;
369
+ spacing?: PresentationParagraphSpacing;
370
+ listType?: PresentationListType;
371
+ }
372
+ export interface PresentationTextStyle {
373
+ bold?: boolean;
374
+ italic?: boolean;
375
+ underline?: boolean;
376
+ strikethrough?: boolean;
377
+ fontSize?: number;
378
+ fontFamily?: string;
379
+ }
380
+ export interface PresentationParagraph {
381
+ text: string;
382
+ textStyle?: PresentationTextStyle;
383
+ paragraphStyle?: PresentationParagraphStyle;
384
+ }
385
+ export interface PresentationOffset {
386
+ x: number;
387
+ y: number;
388
+ }
389
+ export interface PresentationSize {
390
+ width: number;
391
+ height: number;
392
+ }
393
+ export interface PresentationShapeFill {
394
+ type?: 'solid' | 'none';
395
+ color?: string;
396
+ transparency?: number;
397
+ }
398
+ export interface PresentationShapeLayout {
399
+ rotation?: number;
400
+ flipHorizontal?: boolean;
401
+ flipVertical?: boolean;
402
+ }
403
+ export type PresentationShapeDashType = 'dash' | 'dashDot' | 'dot' | 'lgDash' | 'lgDashDot' | 'lgDashDotDot' | 'solid';
404
+ export interface PresentationShapeLine {
405
+ visible?: boolean;
406
+ color?: string;
407
+ transparency?: number;
408
+ width?: number;
409
+ dashType?: PresentationShapeDashType;
410
+ }
411
+ export type PresentationShapeContent = string | PresentationParagraph[];
412
+ export type PresentationLineShapeType = 'line' | 'lineWithArrow' | 'lineWithTwoArrows' | 'bentConnector5' | 'bentConnector5WithArrow' | 'bentConnector5WithTwoArrows' | 'curvedConnector3' | 'curvedConnector3WithArrow' | 'curvedConnector3WithTwoArrows' | 'spline';
413
+ export type PresentationShapeType = string;
414
+ export interface PresentationShapeBaseOptions {
415
+ offset: PresentationOffset;
416
+ size: PresentationSize;
417
+ fill?: PresentationShapeFill;
418
+ line?: PresentationShapeLine;
419
+ layout?: PresentationShapeLayout;
420
+ }
421
+ export type PresentationInsertShapeOptions = (PresentationShapeBaseOptions & {
422
+ type: PresentationLineShapeType;
423
+ content?: never;
424
+ }) | (PresentationShapeBaseOptions & {
425
+ type: PresentationTextShapeType;
426
+ content?: PresentationShapeContent;
427
+ });
428
+ export interface PresentationShapeBase {
429
+ id: string;
430
+ name: string;
431
+ type: PresentationShapeType;
432
+ setFill: (fill: PresentationShapeFill) => void;
433
+ setLine: (line: PresentationShapeLine) => void;
434
+ setLayout: (layout: PresentationShapeLayout) => void;
435
+ remove: () => void;
436
+ }
437
+ export type PresentationTextShapeType = Exclude<PresentationShapeType, PresentationLineShapeType>;
438
+ export interface PresentationTextShape extends PresentationShapeBase {
439
+ type: PresentationTextShapeType;
440
+ textContent?: string;
441
+ setContent: (content: PresentationShapeContent) => void;
442
+ appendText: (text: string) => void;
443
+ appendParagraphs: (paragraphs: PresentationParagraph[]) => void;
444
+ }
445
+ export type PresentationShape = PresentationShapeBase | PresentationTextShape;
446
+ export type PresentationParagraphLineSpacing = 0.9 | 1.0 | 1.15 | 1.5 | 2.0 | 2.5 | 3.0;
447
+ export interface PresentationTableCell {
448
+ setStyle: (style: PresentationTableCellStyle) => void;
449
+ clearStyle: () => void;
450
+ }
451
+ export type PresentationTableCellStyle = PresentationTextStyle & PresentationParagraphStyle;
452
+ export interface PresentationTableSelection {
453
+ row: number;
454
+ column: number;
455
+ rowCount: number;
456
+ columnCount: number;
457
+ }
458
+ export interface PresentationTableRange {
459
+ setStyle: (style: PresentationTableCellStyle) => void;
460
+ clearStyle: () => void;
461
+ setSpan: () => void;
462
+ removeSpan: () => void;
463
+ }
464
+ export interface PresentationTableItem {
465
+ id: string;
466
+ rowCount: number;
467
+ columnCount: number;
468
+ remove: () => void;
469
+ insertRows: (index: number, count: number, placement?: 'before' | 'after') => void;
470
+ insertColumns: (index: number, count: number, placement?: 'before' | 'after') => void;
471
+ deleteRows: (index: number, count: number) => void;
472
+ deleteColumns: (index: number, count: number) => void;
473
+ setRowHeight: (index: number, height: number) => void;
474
+ setColumnWidth: (index: number, width: number) => void;
475
+ getCell: (row: number, column: number) => PresentationTableCell | null;
476
+ getRange: (range: PresentationTableSelection) => PresentationTableRange | null;
477
+ setDirection: (direction: 'ltr' | 'rtl') => void;
478
+ }
479
+ export interface PresentationTableOptions {
480
+ offset: PresentationOffset;
481
+ rowCount: number;
482
+ columnCount: number;
483
+ rowHeights: number[];
484
+ columnWidths: number[];
485
+ content?: string | PresentationParagraph[];
486
+ }
487
+ export type PresentationTextBoxDirection = 'horizontal' | 'vertical';
488
+ export interface PresentationTextBoxOptions extends PresentationShapeBaseOptions {
489
+ content?: PresentationShapeContent;
490
+ direction?: PresentationTextBoxDirection;
491
+ }
492
+ export interface PresentationTextRangeValue {
493
+ start: string;
494
+ end: string;
495
+ }
496
+ export interface LocksFacade {
497
+ show: () => Promise<void>;
498
+ hide: () => Promise<void>;
499
+ addRangeLock: (options: AddRangeLockParams) => Promise<void>;
500
+ addSheetLock: (options: AddSheetLockParams) => Promise<void>;
501
+ removeRangeLocksInRanges: (options: RemoveRangeLocksParams) => Promise<void>;
502
+ removeSheetLock: (options: RemoveSheetLockParams) => Promise<void>;
503
+ }
504
+ export interface MentionFacade {
505
+ locateCellByGuid: (guid: string, notificationType?: MentionTypes) => Promise<void>;
506
+ }
507
+ export interface ContentFacade {
508
+ setContent: (content: Content) => Promise<void>;
509
+ }
510
+ export interface VersionFacade {
511
+ show?: () => Promise<void>;
512
+ hide?: () => Promise<void>;
513
+ createRevision: (options?: RevisionCreateOptions) => Promise<undefined | null | DocumentErrorMessage>;
514
+ }
515
+ export interface PresentationFacade {
516
+ start: (index?: number) => Promise<void>;
517
+ quit: () => Promise<void>;
518
+ startFromCurrent: () => Promise<void>;
519
+ startRemoteLive: () => Promise<void>;
520
+ startSpeakerView: () => Promise<void>;
521
+ addChangeListener: (listener: (payload: unknown) => void) => () => void;
522
+ }
523
+ export interface DocsRangeFacade {
524
+ start: number;
525
+ end: number;
526
+ isCaret: boolean;
527
+ getText: () => Promise<string>;
528
+ getHtml: () => Promise<string>;
529
+ setText: (text: string) => Promise<void>;
530
+ setHtml: (html: string) => Promise<void>;
531
+ getBounding: () => Promise<DocsRangeBounding | null>;
532
+ setStyle: (style: DocsTextStyle) => Promise<void>;
533
+ continueWriting: (content: string, type: DocsContinueWritingType, abort?: () => void) => Promise<boolean>;
534
+ setListStyle: (style: DocsListStyle) => Promise<void>;
535
+ insertLink: (href: string, text: string, viewType: 'link' | 'card' | 'preview') => Promise<void>;
536
+ insertImage: (data: File | string) => Promise<void>;
537
+ insertAttachment: (data: File, viewType: 'link' | 'card' | 'preview') => Promise<void>;
538
+ setParagraphType: (type: DocsParagraphType) => Promise<void>;
539
+ clearStyle: () => Promise<void>;
540
+ clearContent: () => Promise<void>;
541
+ clearAll: () => Promise<void>;
542
+ insertHorizontalRule: () => Promise<void>;
543
+ insertQuote: () => Promise<void>;
544
+ }
545
+ export interface DocsSelectionFacade {
546
+ getRange: (value?: DocsRangeValue) => Promise<DocsRangeFacade | null>;
547
+ setRange: (value: DocsRangeValue | null) => Promise<void>;
548
+ addRangeListener: (listener: (value: DocsRangeValue | null) => void) => () => void;
549
+ getWholeRange: () => Promise<DocsRangeFacade | null>;
550
+ insertText: (text: string) => Promise<DocsRangeValue>;
551
+ insertHtml: (html: string) => Promise<DocsRangeValue>;
552
+ insertTable: (rowCount: number, columnCount: number) => Promise<{
553
+ tableId: string;
554
+ }>;
555
+ insertCodeBlock: (options?: DocsCodeBlockInsertOptions) => Promise<void>;
556
+ }
557
+ export interface DocsSearchFacade {
558
+ findOne: (params: DocsSearchParams) => Promise<DocsSearchResult | null>;
559
+ findAll: (params: DocsSearchParams) => Promise<DocsSearchResult[] | null>;
560
+ replaceOne: (id: string, params: DocsReplaceParams) => Promise<DocsReplaceResult | null>;
561
+ replaceAll: (params: DocsReplaceParams) => Promise<void>;
562
+ clear: () => Promise<void>;
563
+ }
564
+ export interface DocsOutlineFacade {
565
+ show: () => Promise<void>;
566
+ hide: () => Promise<void>;
567
+ getOpen: () => Promise<boolean>;
568
+ setOpen: (isOpen: boolean) => Promise<void>;
569
+ getAll: () => Promise<DocsTOCItem[]>;
570
+ getOne: (id: string) => Promise<DocsTOCItem | null>;
571
+ deleteAll: () => Promise<boolean>;
572
+ deleteOne: (id: string) => Promise<boolean>;
573
+ add: (item: Omit<DocsTOCItem, 'id'>) => Promise<boolean>;
574
+ }
575
+ export interface DocsSidebarFacade {
576
+ show: (tab?: string) => Promise<void>;
577
+ close: () => Promise<void>;
578
+ getState: () => Promise<DocsSidebarState>;
579
+ }
580
+ export interface DocsTableCellFacade {
581
+ tableId: string;
582
+ row: number;
583
+ column: number;
584
+ setFormula: (formula: 'sum' | 'average', ranges: DocsTableSelection[]) => Promise<void>;
585
+ removeFormula: () => Promise<void>;
586
+ setStyle: (style: DocsTableCellStyle) => Promise<void>;
587
+ clearStyle: () => Promise<void>;
588
+ }
589
+ export interface DocsTableRangeFacade {
590
+ tableId: string;
591
+ selection: DocsTableSelection;
592
+ setStyle: (style: DocsTableCellStyle) => Promise<void>;
593
+ clearStyle: () => Promise<void>;
594
+ setSpan: () => Promise<void>;
595
+ removeSpan: () => Promise<void>;
596
+ }
597
+ export interface DocsTableFacade {
598
+ tableId: string;
599
+ insertRows: (index: number, count: number, placement?: 'before' | 'after') => Promise<void>;
600
+ insertColumns: (index: number, count: number, placement?: 'before' | 'after') => Promise<void>;
601
+ deleteRows: (index: number, count: number) => Promise<void>;
602
+ deleteColumns: (index: number, count: number) => Promise<void>;
603
+ setRowHeight: (index: number, height: number) => Promise<void>;
604
+ setColumnWidth: (index: number, width: number) => Promise<void>;
605
+ setFullscreen: (status: boolean) => Promise<void>;
606
+ getCell: (row: number, column: number) => Promise<DocsTableCellFacade | null>;
607
+ getRange: (selection: DocsTableSelection) => Promise<DocsTableRangeFacade | null>;
608
+ }
609
+ export interface DocsTablesFacade {
610
+ getAll: () => Promise<DocsTableFacade[]>;
611
+ getOne: (tableId: string) => Promise<DocsTableFacade | null>;
612
+ deleteOne: (tableId: string) => Promise<boolean>;
613
+ }
614
+ export interface DocsSettingsFacade {
615
+ getPageWidth: () => Promise<DocsPageWidth>;
616
+ setPageWidth: (width: DocsPageWidth) => Promise<void>;
617
+ getDefaultStyle: () => Promise<DocsDefaultStyle>;
618
+ setDefaultStyle: (style: Partial<DocsDefaultStyle>) => Promise<void>;
619
+ }
620
+ export interface SheetRangeFacade {
621
+ sheetId?: string;
622
+ row: number;
623
+ column: number;
624
+ rowCount: number;
625
+ columnCount: number;
626
+ getText: (format?: 'plain' | 'matrix') => Promise<string | string[][]>;
627
+ setText: (text: SheetRangeText) => Promise<void>;
628
+ getHtml: () => Promise<string>;
629
+ setHtml: (html: string) => Promise<void>;
630
+ getValue: () => Promise<(SheetCellValue | null)[][]>;
631
+ setValue: (values: (SheetWritableCellValue | null)[][]) => Promise<void>;
632
+ getData: () => Promise<SheetCellData[][]>;
633
+ getFormula: () => Promise<(string | null)[][]>;
634
+ setFormula: (formula: (string | null)[][]) => Promise<void>;
635
+ setData: (data: SheetWritableCellData[][]) => Promise<void>;
636
+ setSpan: () => Promise<void>;
637
+ removeSpan: () => Promise<void>;
638
+ getSpans: () => Promise<SheetCellRange[] | null>;
639
+ clearContent: () => Promise<void>;
640
+ clearStyle: () => Promise<void>;
641
+ clearAll: () => Promise<void>;
642
+ }
643
+ export interface SheetCellFacade {
644
+ sheetId?: string;
645
+ row: number;
646
+ column: number;
647
+ getCellText: () => Promise<string>;
648
+ setCellText: (text: string) => Promise<void>;
649
+ getCellValue: () => Promise<SheetCellValue | null>;
650
+ getCellData: () => Promise<SheetCellData>;
651
+ getCellFormula: () => Promise<string | null>;
652
+ setCellFormula: (formula: string) => Promise<void>;
653
+ setCellValue: (value: SheetWritableCellValue | null) => Promise<void>;
654
+ setCellData: (data: SheetWritableCellData) => Promise<void>;
655
+ setCheckbox: (checked: boolean) => Promise<void>;
656
+ setScore: (score: 0 | 1 | 2 | 3 | 4 | 5) => Promise<void>;
657
+ setProgress: (progress: number) => Promise<void>;
658
+ insertImage: (data: File | string) => Promise<void>;
659
+ insertMention: (userId: number, userName: string) => Promise<void>;
660
+ insertAttachmentLink: (data: File) => Promise<void>;
661
+ clearContent: () => Promise<void>;
662
+ clearStyle: () => Promise<void>;
663
+ clearAll: () => Promise<void>;
664
+ }
665
+ export interface SheetWorksheetFacade {
666
+ id?: string;
667
+ name?: string;
668
+ getSelections: () => Promise<SheetSelection[] | null>;
669
+ getRange: (value: SheetRangeValue) => Promise<SheetRangeFacade | null>;
670
+ addRangeListener: (listener: (value: {
671
+ sheet: string;
672
+ ranges: SheetRangeValue[] | null;
673
+ }) => void) => () => void;
674
+ getBounding: (range: SheetRangeValue) => Promise<{
675
+ left: number;
676
+ top: number;
677
+ width: number;
678
+ height: number;
679
+ } | null>;
680
+ locateCell: (row: number, column: number) => Promise<void>;
681
+ getCell: (row: number, column: number) => Promise<SheetCellFacade | null>;
682
+ getActiveCell: () => Promise<SheetCellFacade | null>;
683
+ setActiveCell: (options: {
684
+ row: number;
685
+ column: number;
686
+ }) => Promise<void>;
687
+ search: (text: string, range?: SheetRangeValue | SheetRangeValue[]) => Promise<void>;
688
+ cancelSearch: () => Promise<void>;
689
+ paste: (params: ClipboardPasteParams) => Promise<void>;
690
+ getViewportSize: () => Promise<{
691
+ width: number;
692
+ height: number;
693
+ }>;
694
+ endEdit: () => Promise<void>;
695
+ addRows: (index: number, count: number) => Promise<void>;
696
+ addColumns: (index: number, count: number) => Promise<void>;
697
+ deleteRows: (index: number, count: number) => Promise<void>;
698
+ deleteColumns: (index: number, count: number) => Promise<void>;
699
+ appendData: (data: SheetWritableCellData[][], axis?: SheetAppendDataAxis) => Promise<void>;
700
+ setRowsHeight: (data: Array<{
701
+ row: number;
702
+ height: number;
703
+ }>) => Promise<void>;
704
+ setColumnsWidth: (data: Array<{
705
+ column: number;
706
+ width: number;
707
+ }>) => Promise<void>;
708
+ setRowsVisible: (rows: number[], visible: boolean) => Promise<void>;
709
+ setColumnsVisible: (columns: number[], visible: boolean) => Promise<void>;
710
+ setFrozenRowCount: (count: number) => Promise<void>;
711
+ setFrozenColumnCount: (count: number) => Promise<void>;
712
+ setTabColor: (color: string) => Promise<void>;
713
+ rename: (name: string) => Promise<void>;
714
+ setVisible: (visible: boolean) => Promise<void>;
715
+ }
716
+ export interface SheetWorkbookFacade {
717
+ getWorksheets: () => Promise<SheetWorksheetFacade[]>;
718
+ getWorksheetById: (sheetId: string) => Promise<SheetWorksheetFacade | null>;
719
+ getActiveWorksheet: () => Promise<SheetWorksheetFacade>;
720
+ setActiveWorksheet: (sheetId: string) => Promise<void>;
721
+ save: () => Promise<EditorSaveResult>;
722
+ addWorksheet: (name?: string, index?: number) => Promise<void>;
723
+ deleteWorksheet: (sheetId: string) => Promise<void>;
724
+ moveWorksheet: (sheetId: string, index: number) => Promise<void>;
725
+ }
726
+ export interface SheetChartsFacade {
727
+ addChartFromSelection: (params?: AddChartFromSelectionParams) => Promise<AddChartFromSelectionResult | undefined>;
728
+ }
729
+ export interface SheetSelectionsFacade {
730
+ getAll: () => Promise<SheetRangeValue[]>;
731
+ }
732
+ export interface PresentationSlideFacade {
733
+ id: string;
734
+ getIndex: () => Promise<number>;
735
+ getShapes: () => Promise<PresentationShape[]>;
736
+ getTables: () => Promise<PresentationTableItem[]>;
737
+ insertShape: {
738
+ (options: Extract<PresentationInsertShapeOptions, {
739
+ type: PresentationLineShapeType;
740
+ }>): Promise<PresentationShapeBase>;
741
+ (options: Extract<PresentationInsertShapeOptions, {
742
+ type: PresentationTextShapeType;
743
+ }>): Promise<PresentationTextShape>;
744
+ };
745
+ insertTextBox: (options: PresentationTextBoxOptions) => Promise<PresentationTextShape>;
746
+ insertTable: (options: PresentationTableOptions) => Promise<PresentationTableItem>;
747
+ insertImage: (image: File, size?: PresentationSize, offset?: PresentationOffset) => Promise<void>;
748
+ insertAudio: (data: File, size?: PresentationSize, offset?: PresentationOffset, name?: string) => Promise<void>;
749
+ insertVideo: (data: File, size?: PresentationSize, offset?: PresentationOffset, name?: string) => Promise<void>;
750
+ insertAttachment: (file: File, size?: PresentationSize, offset?: PresentationOffset, name?: string) => Promise<void>;
751
+ }
752
+ export interface PresentationSlidesFacade {
753
+ getCurrentSlide: () => Promise<PresentationSlideFacade>;
754
+ setCurrentSlideIndex: (slideId: string) => Promise<void>;
755
+ getSlideIndex: (slideId: string) => Promise<number>;
756
+ getSlidesCount: () => Promise<number>;
757
+ getSlides: () => Promise<PresentationSlideFacade[]>;
758
+ getSlideById: (slideId: string) => Promise<PresentationSlideFacade | null>;
759
+ getSelectedSlides: (ids?: string[]) => Promise<PresentationSlideFacade[]>;
760
+ setSelectedSlides: (ids: string[]) => Promise<void>;
761
+ addSlide: () => Promise<PresentationSlideFacade>;
762
+ duplicateSlide: (slideId: string) => Promise<PresentationSlideFacade>;
763
+ deleteSlide: (slideId: string) => Promise<void>;
764
+ hideSlide: (slideId: string) => Promise<void>;
765
+ }
766
+ export interface PresentationTextRangeFacade {
767
+ start: string;
768
+ end: string;
769
+ getText: () => Promise<string>;
770
+ setText: (text: string) => Promise<void>;
771
+ getHtml: () => Promise<string>;
772
+ setHtml: (html: string) => Promise<void>;
773
+ getBounding: () => Promise<{
774
+ left: number;
775
+ top: number;
776
+ width: number;
777
+ height: number;
778
+ } | null>;
779
+ setStyle: (style: PresentationTextStyle) => Promise<void>;
780
+ setVerticalAlign: (vertical: PresentationVerticalAlign) => Promise<void>;
781
+ setHorizontalAlign: (align: PresentationHorizontalAlign) => Promise<void>;
782
+ setListStyle: (style: PresentationListType) => Promise<void>;
783
+ setLineSpacing: (spacing: PresentationParagraphLineSpacing) => Promise<void>;
784
+ increaseIndent: () => Promise<void>;
785
+ decreaseIndent: () => Promise<void>;
786
+ setTextDirection: (direction: 'ltr' | 'rtl') => Promise<void>;
787
+ clearStyle: () => Promise<void>;
788
+ clearContent: () => Promise<void>;
789
+ clearAll: () => Promise<void>;
790
+ insertLink: (url: string, text: string) => Promise<void>;
791
+ }
792
+ export interface PresentationSelectionFacade {
793
+ getTextRange: (value?: PresentationTextRangeValue) => Promise<PresentationTextRangeFacade | null>;
794
+ setTextRange: (value: PresentationTextRangeValue | null) => Promise<void>;
795
+ getSelectedShapes: (ids?: string[]) => Promise<PresentationShape[] | null>;
796
+ setSelectedShapes: (ids: string[] | null) => Promise<void>;
797
+ addRangeListener: (listener: (value: PresentationTextRangeValue | null) => void) => () => void;
798
+ }
799
+ export interface PresentationTextFacade {
800
+ get: (range?: PresentationTextRangeValue) => Promise<Partial<EditorTextFormat>>;
801
+ apply: (format: Partial<EditorTextFormat>, range?: PresentationTextRangeValue) => Promise<Partial<EditorTextFormat>>;
802
+ clear: (range: PresentationTextRangeValue) => Promise<void>;
803
+ }
804
+ export interface PresentationZoomFacade {
805
+ getPercentage: () => Promise<number>;
806
+ setPercentage: (percentage: number) => Promise<void>;
807
+ setFitMode: (mode: 'none' | 'window') => Promise<void>;
808
+ getFitMode: () => Promise<'none' | 'window'>;
809
+ zoomIn: () => Promise<void>;
810
+ zoomOut: () => Promise<void>;
811
+ }
812
+ export interface PresentationEventSubscriptionFacade {
813
+ addErrorListener: (listener: (error: {
814
+ code: number | string;
815
+ message?: string;
816
+ }) => void) => () => void;
817
+ addLoadedListener: (listener: () => void) => () => void;
818
+ }
819
+ export interface OfficeSDKRootFacadeState {
820
+ title?: TitleFacade;
821
+ history?: HistoryFacade;
822
+ comments?: CommentsFacade;
823
+ discussion?: DiscussionFacade;
824
+ collaborator?: CollaboratorFacade;
825
+ externalApp?: ExternalAppFacade;
826
+ locks?: LocksFacade;
827
+ mention?: MentionFacade;
828
+ content?: ContentFacade;
829
+ version?: VersionFacade;
830
+ presentation?: PresentationFacade;
831
+ selection?: DocsSelectionFacade | PresentationSelectionFacade;
832
+ search?: DocsSearchFacade;
833
+ outline?: DocsOutlineFacade;
834
+ sidebar?: DocsSidebarFacade;
835
+ tables?: DocsTablesFacade;
836
+ settings?: DocsSettingsFacade;
837
+ workbook?: SheetWorkbookFacade;
838
+ activeSheet?: SheetWorksheetFacade;
839
+ charts?: SheetChartsFacade;
840
+ selections?: SheetSelectionsFacade;
841
+ slides?: PresentationSlidesFacade;
842
+ text?: PresentationTextFacade;
843
+ zoom?: PresentationZoomFacade;
844
+ eventSubscription?: PresentationEventSubscriptionFacade;
845
+ batchChanges?: <T>(callback: () => T | Promise<T>) => Promise<Awaited<T>>;
846
+ export?: (type: string) => Promise<void>;
847
+ print?: () => Promise<void>;
848
+ setFocus?: (isFocus: boolean) => Promise<void>;
849
+ }