weboffice-js-sdk 2.0.5-beta.6 → 2.0.5-beta.8

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.
@@ -9,7 +9,7 @@ import { Document, DocumentPro, Presentation, Spreadsheet, Table, Form, Flowchar
9
9
  import { EmptyPageOptions } from './types/EmptyPage';
10
10
  import { BaseEditor } from './types/BaseEditor';
11
11
  import { SlashMenuOptions } from './types/SlashMenu';
12
- import type { CollaboratorFacade, CommentsFacade, ContentFacade, DiscussionFacade, DocsOutlineFacade, DocsSearchFacade, DocsSelectionFacade, DocsSettingsFacade, DocsSidebarFacade, DocsTablesFacade, ExternalAppFacade, HistoryFacade, LocksFacade, MentionFacade, PresentationEventSubscriptionFacade, PresentationFacade, PresentationSelectionFacade, PresentationSlidesFacade, PresentationTextFacade, PresentationZoomFacade, SheetChartsFacade, SheetSelectionsFacade, SheetWorkbookFacade, SheetWorksheetFacade, TitleFacade, VersionFacade } from './OfficeSDK.facade.types';
12
+ import type { CollaboratorFacade, CommentsFacade, ContentFacade, DiscussionFacade, DocsOutlineFacade, DocsSearchFacade, DocsSelectionFacade, DocsSettingsFacade, DocsSidebarFacade, DocsTablesFacade, ExternalAppFacade, HistoryFacade, LocksFacade, MentionFacade, OfficeSDKPresentationFacade, PresentationEventSubscriptionFacade, PresentationSelectionFacade, PresentationSlidesFacade, PresentationTextFacade, PresentationZoomFacade, SheetChartsFacade, SheetSelectionsFacade, SheetWorkbookFacade, SheetWorksheetFacade, TitleFacade, VersionFacade } from './OfficeSDK.facade.types';
13
13
  import type { HeaderBarsFacade } from './OfficeSDK.headerBars';
14
14
  export * from './OfficeSDK.facade.types';
15
15
  export * from './OfficeSDK.headerBars';
@@ -77,10 +77,10 @@ export declare class OfficeSDK extends TinyEmitter {
77
77
  */
78
78
  version?: VersionFacade;
79
79
  /**
80
- * 幻灯片套件(Presentation)的演示能力,仅在幻灯片文件下挂载。
81
- * 文档与表格套件不暴露演示 API,演示模式仅作为编辑器内 headerBars 能力保留。
80
+ * 当前套件支持的演示能力。
81
+ * 文档与表格支持 start / quit,幻灯片套件额外支持完整演示能力。
82
82
  */
83
- presentation?: PresentationFacade;
83
+ presentation?: OfficeSDKPresentationFacade;
84
84
  /**
85
85
  * 当前套件支持的选区能力。
86
86
  */
@@ -162,7 +162,9 @@ export interface ClipboardPasteParams {
162
162
  }
163
163
  export type SheetAppendDataAxis = 'row' | 'column';
164
164
  export interface SheetSelection {
165
- getRange: (value?: SheetRangeValue) => SheetRangeFacade | null;
165
+ /** 当前 iframe runtime 内稳定的选区标识。 */
166
+ id: string;
167
+ getRange: (value?: SheetRangeValue) => Promise<SheetRangeFacade | null>;
166
168
  setRange: (value: SheetRangeValue | null) => Promise<void>;
167
169
  }
168
170
  export declare enum SheetRangeType {
@@ -429,24 +431,24 @@ export interface PresentationShapeBase {
429
431
  id: string;
430
432
  name: string;
431
433
  type: PresentationShapeType;
432
- setFill: (fill: PresentationShapeFill) => void;
433
- setLine: (line: PresentationShapeLine) => void;
434
- setLayout: (layout: PresentationShapeLayout) => void;
435
- remove: () => void;
434
+ setFill: (fill: PresentationShapeFill) => Promise<void>;
435
+ setLine: (line: PresentationShapeLine) => Promise<void>;
436
+ setLayout: (layout: PresentationShapeLayout) => Promise<void>;
437
+ remove: () => Promise<void>;
436
438
  }
437
439
  export type PresentationTextShapeType = Exclude<PresentationShapeType, PresentationLineShapeType>;
438
440
  export interface PresentationTextShape extends PresentationShapeBase {
439
441
  type: PresentationTextShapeType;
440
442
  textContent?: string;
441
- setContent: (content: PresentationShapeContent) => void;
442
- appendText: (text: string) => void;
443
- appendParagraphs: (paragraphs: PresentationParagraph[]) => void;
443
+ setContent: (content: PresentationShapeContent) => Promise<void>;
444
+ appendText: (text: string) => Promise<void>;
445
+ appendParagraphs: (paragraphs: PresentationParagraph[]) => Promise<void>;
444
446
  }
445
447
  export type PresentationShape = PresentationShapeBase | PresentationTextShape;
446
448
  export type PresentationParagraphLineSpacing = 0.9 | 1.0 | 1.15 | 1.5 | 2.0 | 2.5 | 3.0;
447
449
  export interface PresentationTableCell {
448
- setStyle: (style: PresentationTableCellStyle) => void;
449
- clearStyle: () => void;
450
+ setStyle: (style: PresentationTableCellStyle) => Promise<void>;
451
+ clearStyle: () => Promise<void>;
450
452
  }
451
453
  export type PresentationTableCellStyle = PresentationTextStyle & PresentationParagraphStyle;
452
454
  export interface PresentationTableSelection {
@@ -456,25 +458,25 @@ export interface PresentationTableSelection {
456
458
  columnCount: number;
457
459
  }
458
460
  export interface PresentationTableRange {
459
- setStyle: (style: PresentationTableCellStyle) => void;
460
- clearStyle: () => void;
461
- setSpan: () => void;
462
- removeSpan: () => void;
461
+ setStyle: (style: PresentationTableCellStyle) => Promise<void>;
462
+ clearStyle: () => Promise<void>;
463
+ setSpan: () => Promise<void>;
464
+ removeSpan: () => Promise<void>;
463
465
  }
464
466
  export interface PresentationTableItem {
465
467
  id: string;
466
468
  rowCount: number;
467
469
  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;
470
+ remove: () => Promise<void>;
471
+ insertRows: (index: number, count: number, placement?: 'before' | 'after') => Promise<void>;
472
+ insertColumns: (index: number, count: number, placement?: 'before' | 'after') => Promise<void>;
473
+ deleteRows: (index: number, count: number) => Promise<void>;
474
+ deleteColumns: (index: number, count: number) => Promise<void>;
475
+ setRowHeight: (index: number, height: number) => Promise<void>;
476
+ setColumnWidth: (index: number, width: number) => Promise<void>;
477
+ getCell: (row: number, column: number) => Promise<PresentationTableCell | null>;
478
+ getRange: (range: PresentationTableSelection) => Promise<PresentationTableRange | null>;
479
+ setDirection: (direction: 'ltr' | 'rtl') => Promise<void>;
478
480
  }
479
481
  export interface PresentationTableOptions {
480
482
  offset: PresentationOffset;
@@ -512,14 +514,18 @@ export interface VersionFacade {
512
514
  hide?: () => Promise<void>;
513
515
  createRevision: (options?: RevisionCreateOptions) => Promise<undefined | null | DocumentErrorMessage>;
514
516
  }
515
- export interface PresentationFacade {
516
- start: (index?: number) => Promise<void>;
517
+ export interface BasicPresentationFacade {
518
+ start: () => Promise<void>;
517
519
  quit: () => Promise<void>;
520
+ }
521
+ export interface PresentationFacade extends BasicPresentationFacade {
522
+ start: (index?: number) => Promise<void>;
518
523
  startFromCurrent: () => Promise<void>;
519
524
  startRemoteLive: () => Promise<void>;
520
525
  startSpeakerView: () => Promise<void>;
521
526
  addChangeListener: (listener: (payload: unknown) => void) => () => void;
522
527
  }
528
+ export type OfficeSDKPresentationFacade = BasicPresentationFacade | PresentationFacade;
523
529
  export interface DocsRangeFacade {
524
530
  start: number;
525
531
  end: number;
@@ -827,7 +833,7 @@ export interface OfficeSDKRootFacadeState {
827
833
  mention?: MentionFacade;
828
834
  content?: ContentFacade;
829
835
  version?: VersionFacade;
830
- presentation?: PresentationFacade;
836
+ presentation?: OfficeSDKPresentationFacade;
831
837
  selection?: DocsSelectionFacade | PresentationSelectionFacade;
832
838
  search?: DocsSearchFacade;
833
839
  outline?: DocsOutlineFacade;
@@ -1,5 +1,6 @@
1
- import type { AddChartFromSelectionResult, DocsRangeFacade, DocsRangeValue, DocsTableFacade, EditorTextFormat, OfficeSDK, PresentationSlideFacade, PresentationShape, PresentationShapeBase, PresentationTextShape, PresentationTextRangeFacade, PresentationTextRangeValue, SheetRangeValue, SheetRangeFacade, SheetSelection } from './OfficeSDK';
1
+ import type { AddChartFromSelectionResult, BasicPresentationFacade, DocsRangeFacade, DocsRangeValue, DocsTableFacade, EditorTextFormat, OfficeSDK, PresentationFacade, PresentationSlideFacade, PresentationShape, PresentationShapeBase, PresentationTableCell, PresentationTableItem, PresentationTableRange, PresentationTableSelection, PresentationTextShape, PresentationTextRangeFacade, PresentationTextRangeValue, SheetRangeValue, SheetRangeFacade, SheetSelection } from './OfficeSDK';
2
2
  type IsAssignable<T, U> = T extends U ? true : false;
3
+ type IsEqual<T, U> = (<V>() => V extends T ? 1 : 2) extends <V>() => V extends U ? 1 : 2 ? (<V>() => V extends U ? 1 : 2) extends <V>() => V extends T ? 1 : 2 ? true : false : false;
3
4
  type Assert<T extends true> = T;
4
5
  type RootSelection = NonNullable<OfficeSDK['selection']>;
5
6
  type DocsSelection = Extract<RootSelection, {
@@ -8,6 +9,7 @@ type DocsSelection = Extract<RootSelection, {
8
9
  type PresentationSelection = Extract<RootSelection, {
9
10
  getTextRange: (value?: PresentationTextRangeValue) => Promise<PresentationTextRangeFacade | null>;
10
11
  }>;
12
+ type RootPresentation = NonNullable<OfficeSDK['presentation']>;
11
13
  export type EditorFacadeContractAssertions = [
12
14
  Assert<IsAssignable<NonNullable<OfficeSDK['title']>['setTitle'], (title: string) => Promise<void>>>,
13
15
  Assert<IsAssignable<NonNullable<OfficeSDK['title']>['addChangedListener'], (listener: (title: string) => void) => () => void>>,
@@ -15,12 +17,14 @@ export type EditorFacadeContractAssertions = [
15
17
  Assert<IsAssignable<NonNullable<OfficeSDK['history']>['show'], () => Promise<void>>>,
16
18
  Assert<IsAssignable<NonNullable<OfficeSDK['mention']>['locateCellByGuid'], (guid: string, notificationType?: import('./OfficeSDK').MentionTypes) => Promise<void>>>,
17
19
  Assert<IsAssignable<NonNullable<OfficeSDK['version']>['createRevision'], (options?: import('./OfficeSDK').RevisionCreateOptions) => Promise<undefined | null | import('./types/Document').DocumentErrorMessage>>>,
18
- Assert<IsAssignable<NonNullable<OfficeSDK['presentation']>['start'], (index?: number) => Promise<void>>>,
19
- Assert<IsAssignable<NonNullable<OfficeSDK['presentation']>['quit'], () => Promise<void>>>,
20
- Assert<IsAssignable<NonNullable<OfficeSDK['presentation']>['startFromCurrent'], () => Promise<void>>>,
21
- Assert<IsAssignable<NonNullable<OfficeSDK['presentation']>['startRemoteLive'], () => Promise<void>>>,
22
- Assert<IsAssignable<NonNullable<OfficeSDK['presentation']>['startSpeakerView'], () => Promise<void>>>,
23
- Assert<IsAssignable<NonNullable<OfficeSDK['presentation']>['addChangeListener'], (listener: (payload: unknown) => void) => () => void>>,
20
+ Assert<IsAssignable<RootPresentation, BasicPresentationFacade>>,
21
+ Assert<IsAssignable<RootPresentation['start'], () => Promise<void>>>,
22
+ Assert<IsAssignable<RootPresentation['quit'], () => Promise<void>>>,
23
+ Assert<IsAssignable<PresentationFacade['start'], (index?: number) => Promise<void>>>,
24
+ Assert<IsAssignable<PresentationFacade['startFromCurrent'], () => Promise<void>>>,
25
+ Assert<IsAssignable<PresentationFacade['startRemoteLive'], () => Promise<void>>>,
26
+ Assert<IsAssignable<PresentationFacade['startSpeakerView'], () => Promise<void>>>,
27
+ Assert<IsAssignable<PresentationFacade['addChangeListener'], (listener: (payload: unknown) => void) => () => void>>,
24
28
  Assert<IsAssignable<NonNullable<OfficeSDK['batchChanges']>, <T>(callback: () => T | Promise<T>) => Promise<Awaited<T>>>>,
25
29
  Assert<IsAssignable<NonNullable<OfficeSDK['print']>, () => Promise<void>>>,
26
30
  Assert<IsAssignable<NonNullable<OfficeSDK['export']>, (type: string) => Promise<void>>>,
@@ -45,6 +49,15 @@ export type EditorFacadeContractAssertions = [
45
49
  Assert<IsAssignable<NonNullable<OfficeSDK['charts']>['addChartFromSelection'], (params?: import('./OfficeSDK').AddChartFromSelectionParams) => Promise<AddChartFromSelectionResult | undefined>>>,
46
50
  Assert<IsAssignable<PresentationSelection['getSelectedShapes'], (ids?: string[]) => Promise<PresentationShape[] | null>>>,
47
51
  Assert<IsAssignable<NonNullable<OfficeSDK['zoom']>['setPercentage'], (percentage: number) => Promise<void>>>,
48
- Assert<IsAssignable<NonNullable<OfficeSDK['eventSubscription']>['addLoadedListener'], (listener: () => void) => () => void>>
52
+ Assert<IsAssignable<NonNullable<OfficeSDK['eventSubscription']>['addLoadedListener'], (listener: () => void) => () => void>>,
53
+ Assert<IsEqual<SheetSelection['getRange'], (value?: SheetRangeValue) => Promise<SheetRangeFacade | null>>>,
54
+ Assert<IsEqual<SheetSelection['id'], string>>,
55
+ Assert<IsEqual<PresentationShapeBase['setFill'], (fill: import('./OfficeSDK').PresentationShapeFill) => Promise<void>>>,
56
+ Assert<IsEqual<PresentationShapeBase['remove'], () => Promise<void>>>,
57
+ Assert<IsEqual<PresentationTableItem['getCell'], (row: number, column: number) => Promise<PresentationTableCell | null>>>,
58
+ Assert<IsEqual<PresentationTableItem['getRange'], (range: PresentationTableSelection) => Promise<PresentationTableRange | null>>>,
59
+ Assert<IsEqual<PresentationTableItem['insertRows'], (index: number, count: number, placement?: 'before' | 'after') => Promise<void>>>,
60
+ Assert<IsEqual<PresentationTableCell['clearStyle'], () => Promise<void>>>,
61
+ Assert<IsEqual<PresentationTableRange['setSpan'], () => Promise<void>>>
49
62
  ];
50
63
  export {};