@netless/app-slide 0.2.81 → 0.2.82-beta.2

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.
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ReadonlyTeleBox, RegisterParams, AppContext, View, NetlessApp } from '@netless/window-manager';
1
+ import { ReadonlyTeleBox, RegisterParams, Room, AppContext, Player, View, NetlessApp } from '@netless/window-manager';
2
2
  import { VolumeAdjuster, SlideError } from '@netless/ppt-player';
3
3
  import { IPlugin } from '@netless/plugin-system';
4
4
 
@@ -203,6 +203,7 @@ interface ISlideRenderOptions {
203
203
  * [4] 3K 3200 × 1800, greater than 4 is calculated as 4; --- default setting for PC devices.
204
204
  */
205
205
  transitionResolutionLevel?: number;
206
+ antialias?: boolean;
206
207
  }
207
208
  interface INavigatorDelegate {
208
209
  gotoPage?: (index: number) => void;
@@ -757,6 +758,7 @@ interface FreezableSlide {
757
758
  freeze: () => void;
758
759
  unfreeze: () => void;
759
760
  }
761
+ declare let useFreezer: boolean;
760
762
  declare let FreezerLength: number;
761
763
  declare function getFreezerLength(): number;
762
764
  /** @param length - must be >= 1, default is 2 */
@@ -911,6 +913,8 @@ declare class DocsViewer {
911
913
  protected sideEffect: SideEffectManager;
912
914
  }
913
915
 
916
+ declare function syncSceneWithSlide(room: Room, context: AppContext<Attributes>, slide: Slide, baseScenePath: string): void;
917
+
914
918
  declare const DefaultUrl = "https://convertcdn.netless.link/dynamicConvert";
915
919
  interface SlideControllerOptions {
916
920
  context: AppContext<Attributes, MagixEvents, AppOptions>;
@@ -929,51 +933,52 @@ interface SlideControllerOptions {
929
933
  showRenderError?: boolean;
930
934
  invisibleBehavior?: "frozen" | "pause";
931
935
  }
936
+ type MagixEventListener = Parameters<AppContext<Attributes, MagixEvents>["addMagixEventListener"]>[1];
932
937
  declare class SlideController {
933
938
  readonly context: SlideControllerOptions["context"];
934
939
  readonly slide: Slide;
935
940
  readonly showRenderError: boolean;
936
941
  readonly onRenderError?: (error: Error, pageIndex: number) => void;
937
942
  readonly onNavigate: (index: number, origin?: string) => void;
938
- private readonly room?;
939
- private readonly player?;
940
- private readonly sideEffect;
941
- private readonly onRenderStart;
942
- private readonly onPageChanged;
943
- private readonly onTransitionStart;
944
- private readonly onTransitionEnd;
945
- private readonly onError;
946
- private syncStateOnceFlag;
947
- private visible;
948
- private savedIsFrozen;
949
- private invisibleBehavior;
943
+ protected readonly room?: Room;
944
+ protected readonly player?: Player;
945
+ protected readonly sideEffect: SideEffectManager;
946
+ protected readonly onRenderStart: SlideControllerOptions["onRenderStart"];
947
+ protected readonly onPageChanged: SlideControllerOptions["onPageChanged"];
948
+ protected readonly onTransitionStart: SlideControllerOptions["onTransitionStart"];
949
+ protected readonly onTransitionEnd: SlideControllerOptions["onTransitionEnd"];
950
+ protected readonly onError: SlideControllerOptions["onError"];
951
+ protected syncStateOnceFlag: boolean;
952
+ protected visible: boolean;
953
+ protected savedIsFrozen: boolean;
954
+ protected invisibleBehavior: "frozen" | "pause";
950
955
  previewList: string[];
951
956
  constructor({ context, anchor, onRenderStart, onPageChanged, onTransitionStart, onTransitionEnd, onNavigate, onError, onRenderError, showRenderError, invisibleBehavior, }: SlideControllerOptions);
952
957
  ready: boolean;
953
- private resolveReady;
958
+ protected resolveReady: (index: number) => void;
954
959
  readonly readyPromise: Promise<void>;
955
960
  jumpToPage(page: number, origin?: string): void;
956
- private initialize;
957
- private kickStart;
958
- private registerEventListeners;
959
- private onSyncDispatch;
960
- private magixEventListener;
961
- private syncStateOnce;
962
- private onStateChange;
963
- private pollCount;
964
- private pollReadyState;
965
- private _pageCount;
961
+ protected initialize(): void;
962
+ protected kickStart(): void;
963
+ protected registerEventListeners(): void;
964
+ protected onSyncDispatch: (event: SyncEvent) => void;
965
+ protected magixEventListener: MagixEventListener;
966
+ protected syncStateOnce(): void;
967
+ protected onStateChange: (state: SlideState) => void;
968
+ protected pollCount: number;
969
+ protected pollReadyState: () => void;
970
+ protected _pageCount: number;
966
971
  get pageCount(): number;
967
972
  get page(): number;
968
- private createSlide;
969
- private destroyed;
973
+ protected createSlide(anchor: HTMLDivElement, defaults?: Partial<ISlideConfig>): Slide;
974
+ protected destroyed: boolean;
970
975
  destroy(): void;
971
976
  timestamp: () => number;
972
977
  isFrozen: boolean;
973
- private _toFreeze;
978
+ protected _toFreeze: -1 | 0 | 1;
974
979
  freeze: () => void;
975
980
  unfreeze: () => Promise<void>;
976
- private onVisibilityChange;
981
+ protected onVisibilityChange: () => Promise<void>;
977
982
  }
978
983
 
979
984
  type MountSlideOptions = Omit<SlideControllerOptions, "context" | "onPageChanged"> & {
@@ -1000,10 +1005,10 @@ declare class SlideDocsViewer {
1000
1005
  protected readonly mountSlideController: SlideDocsViewerConfig["mountSlideController"];
1001
1006
  protected readonly mountWhiteboard: SlideDocsViewerConfig["mountWhiteboard"];
1002
1007
  protected readonly onNavigate: (index: number, origin?: string) => void;
1003
- private readonly baseScenePath;
1004
- private readonly appId;
1005
- private isViewMounted;
1006
- private justSildeReadonly;
1008
+ protected readonly baseScenePath: string;
1009
+ protected readonly appId: string;
1010
+ protected isViewMounted: boolean;
1011
+ protected justSildeReadonly: boolean;
1007
1012
  constructor({ context, box, view, mountSlideController, mountWhiteboard, baseScenePath, appId, urlInterrupter, onPagesReady, onNavigate, }: SlideDocsViewerConfig);
1008
1013
  $slide: HTMLDivElement;
1009
1014
  $whiteboardView: HTMLDivElement;
@@ -1021,8 +1026,8 @@ declare class SlideDocsViewer {
1021
1026
  protected onRenderStart: () => void;
1022
1027
  protected onRenderEnd: () => void;
1023
1028
  onPageChanged: () => void;
1024
- private _onPageChangedTimer;
1025
- private _onPageChanged;
1029
+ protected _onPageChangedTimer: number;
1030
+ protected _onPageChanged: () => void;
1026
1031
  protected refreshPages: () => void;
1027
1032
  protected getPageIndex(page: number): number;
1028
1033
  unmount(): this;
@@ -1035,10 +1040,48 @@ declare class SlideDocsViewer {
1035
1040
  protected sideEffect: SideEffectManager;
1036
1041
  protected wrapClassName(className: string): string;
1037
1042
  protected namespace: string;
1038
- private getWhiteSnapshot;
1039
- private reportProgress;
1040
- private toPdf;
1043
+ protected getWhiteSnapshot(pageIndex: number, canvas: HTMLCanvasElement, ctx: CanvasRenderingContext2D, slideWidth: number, slideHeight: number): Promise<void>;
1044
+ protected reportProgress(progress: number, result: {
1045
+ pdf: ArrayBuffer;
1046
+ title: string;
1047
+ } | null): void;
1048
+ protected toPdf: () => Promise<null | undefined>;
1049
+ }
1050
+
1051
+ type DebugMessage = {
1052
+ slide: boolean | "__instance" | "__debug";
1053
+ };
1054
+ type RoomLogger = {
1055
+ debug: (...args: any) => void;
1056
+ info: (...args: any) => void;
1057
+ warn: (...args: any) => void;
1058
+ };
1059
+ declare class Logger {
1060
+ enable: boolean;
1061
+ apps: Record<string, {
1062
+ context?: AppContext | null;
1063
+ controller?: SlideController | null;
1064
+ }>;
1065
+ setAppContext(appId: string, context: AppContext | null): void;
1066
+ setAppController(appId: string, controller: SlideController | null): void;
1067
+ deleteApp(appId: string): void;
1068
+ level: "debug" | "verbose";
1069
+ roomLogger: RoomLogger | null;
1070
+ constructor(enable: boolean);
1071
+ initialize(): void;
1072
+ dispose(): void;
1073
+ log(...args: any[]): void;
1074
+ verbose(...args: any[]): void;
1075
+ warn(...args: any[]): void;
1076
+ /**
1077
+ * @example
1078
+ * window.postMessage({ slide: '__debug' })
1079
+ * window.dispatchEvent(new MessageEvent('message', { data: { slide: '__debug' } }))
1080
+ */
1081
+ _onMessage: (ev: MessageEvent<DebugMessage> | CustomEvent<DebugMessage>) => void;
1041
1082
  }
1083
+ declare const logger: Logger;
1084
+ declare const log: (...args: any[]) => void;
1042
1085
 
1043
1086
  interface PreviewParams {
1044
1087
  container: HTMLElement;
@@ -1055,10 +1098,10 @@ declare class SlidePreviewer {
1055
1098
  slide: Slide | null;
1056
1099
  debug: boolean;
1057
1100
  $slide: HTMLDivElement;
1058
- private previewList;
1059
- private readonly sideEffect;
1101
+ protected previewList: string[];
1102
+ protected readonly sideEffect: SideEffectManager;
1060
1103
  ready: boolean;
1061
- private resolveReady;
1104
+ protected resolveReady: () => void;
1062
1105
  readonly readyPromise: Promise<void>;
1063
1106
  constructor(config: {
1064
1107
  target: HTMLElement;
@@ -1072,7 +1115,7 @@ declare class SlidePreviewer {
1072
1115
  * previewer.registerHotKeys(windowLike)
1073
1116
  */
1074
1117
  registerHotKeys(windowLike: Window): void;
1075
- private hotkeyListener;
1118
+ protected hotkeyListener: (ev: KeyboardEvent) => void;
1076
1119
  mount(taskId: string, url: string, resourceList: string[], previewList?: string[]): void;
1077
1120
  protected renderStyle(): HTMLElement;
1078
1121
  protected registerEventListeners(): void;
@@ -1082,7 +1125,7 @@ declare class SlidePreviewer {
1082
1125
  protected onError: ({ error }: {
1083
1126
  error: Error;
1084
1127
  }) => void;
1085
- private destroyed;
1128
+ protected destroyed: boolean;
1086
1129
  destroy(): void;
1087
1130
  protected refreshPages: () => void;
1088
1131
  protected getPageIndex(page: number): number;
@@ -1145,4 +1188,4 @@ interface AppResult {
1145
1188
  }
1146
1189
  declare const SlideApp: NetlessApp<Attributes, MagixEvents, AppOptions, AppResult>;
1147
1190
 
1148
- export { type AddHooks, type AppOptions, type AppResult, type Attributes, DefaultUrl, type FreezableSlide, FreezerLength, type ILogger, type PreviewParams, Slide, SlidePreviewer, addHooks, apps, SlideApp as default, getFreezerLength, onCreated, onDestroyed, previewSlide, setFreezerLength, usePlugin, version };
1191
+ export { type AddHooks, type AppOptions, type AppResult, type Attributes, DefaultUrl, type FreezableSlide, FreezerLength, type ILogger, type PreviewParams, SideEffectManager, Slide, SlideController, SlideDocsViewer, SlidePreviewer, addHooks, apps, SlideApp as default, getFreezerLength, log, logger, onCreated, onDestroyed, previewSlide, setFreezerLength, syncSceneWithSlide, useFreezer, usePlugin, version };