@netless/app-slide 0.2.106-beta.1 → 0.2.106-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/README-zh.md CHANGED
@@ -72,6 +72,17 @@ manager.addApp({
72
72
 
73
73
  用于匹配课件笔记的固定白板分辨率。添加 app 时传入主白板尺寸;传入 `null` 时使用 PPT 自身分辨率。
74
74
 
75
+ 5. (可选) `navigationButtonMode`
76
+
77
+ 底部左右按钮的导航模式,默认值为 `"page"`。
78
+
79
+ ```ts
80
+ appOptions: {
81
+ navigationButtonMode: "page", // 上一页/下一页
82
+ // navigationButtonMode: "step", // 上一步/下一步
83
+ }
84
+ ```
85
+
75
86
  ### 协议
76
87
 
77
88
  MIT @ [netless](https://github.com/netless-io)
package/README.md CHANGED
@@ -85,6 +85,17 @@ Parameters:
85
85
 
86
86
  Fixed whiteboard resolution used to fit the slide notes. Pass the main view size when adding the app; use `null` to use the slide resolution.
87
87
 
88
+ 5. (optional) `navigationButtonMode`
89
+
90
+ Controls the footer left/right buttons. It defaults to `"page"`.
91
+
92
+ ```ts
93
+ appOptions: {
94
+ navigationButtonMode: "page", // previous/next page
95
+ // navigationButtonMode: "step", // previous/next animation step
96
+ }
97
+ ```
98
+
88
99
  ### Preview
89
100
 
90
101
  ```ts
package/dist/index.d.ts CHANGED
@@ -1130,6 +1130,7 @@ interface SlideDocsViewerConfig {
1130
1130
  appId: string;
1131
1131
  urlInterrupter?: (url: string) => Promise<string>;
1132
1132
  enableScale?: boolean;
1133
+ navigationButtonMode?: NavigationButtonMode;
1133
1134
  onPagesReady?: (pages: DocsViewerPage[]) => void;
1134
1135
  onNavigate?: (index: number, origin?: string) => void;
1135
1136
  }
@@ -1147,6 +1148,7 @@ declare class SlideDocsViewer {
1147
1148
  protected isViewMounted: boolean;
1148
1149
  protected justSildeReadonly: boolean;
1149
1150
  protected syncEventQueuePolicy: SyncEventQueuePolicy;
1151
+ private readonly navigationButtonMode;
1150
1152
  private enableScale;
1151
1153
  private boxSizeEventCount;
1152
1154
  private latestBoxSize;
@@ -1155,7 +1157,7 @@ declare class SlideDocsViewer {
1155
1157
  private lastAppliedSource;
1156
1158
  private offBoxSizeChange;
1157
1159
  private contentResizeObserver;
1158
- constructor({ context, box, view, mountSlideController, mountWhiteboard, baseScenePath, appId, urlInterrupter, enableScale, onPagesReady, onNavigate, }: SlideDocsViewerConfig);
1160
+ constructor({ context, box, view, mountSlideController, mountWhiteboard, baseScenePath, appId, urlInterrupter, enableScale, navigationButtonMode, onPagesReady, onNavigate, }: SlideDocsViewerConfig);
1159
1161
  $slide: HTMLDivElement;
1160
1162
  $whiteboardView: HTMLDivElement;
1161
1163
  $overlay: HTMLDivElement;
@@ -1187,6 +1189,8 @@ declare class SlideDocsViewer {
1187
1189
  protected _onPageChanged: () => void;
1188
1190
  protected refreshPages: () => void;
1189
1191
  protected getPageIndex(page: number): number;
1192
+ protected unmountPromise?: Promise<this>;
1193
+ protected destroyPromise?: Promise<void>;
1190
1194
  unmount(): Promise<this>;
1191
1195
  setReadonly(readonly: boolean): void;
1192
1196
  destroy(): Promise<void>;
@@ -1297,6 +1301,7 @@ declare class SlidePreviewer {
1297
1301
  declare const usePlugin: (plugin: any) => any;
1298
1302
  declare const version: string;
1299
1303
 
1304
+ type NavigationButtonMode = "page" | "step";
1300
1305
  interface AppOptions extends Pick<ISlideConfig, "rtcAudio" | "useLocalCache" | "resourceTimeout" | "loaderDelegate" | "urlInterrupter" | "navigatorDelegate" | "fixedFrameSize" | "logger" | "enableGlobalClick" | "skipActionWhenFrozen" | "syncEventQueuePolicy"> {
1301
1306
  /** show debug controller */
1302
1307
  debug?: boolean;
@@ -1326,6 +1331,8 @@ interface AppOptions extends Pick<ISlideConfig, "rtcAudio" | "useLocalCache" | "
1326
1331
  invisibleBehavior?: "frozen" | "pause";
1327
1332
  /** just readonly, no operate silder */
1328
1333
  justSildeReadonly?: true;
1334
+ /** footer navigation button behavior @default 'page' */
1335
+ navigationButtonMode?: NavigationButtonMode;
1329
1336
  enableScale?: boolean;
1330
1337
  resourceMaxRetries?: number;
1331
1338
  onResourceMaxRetries: (url: string, error: Error) => void;
@@ -1364,4 +1371,4 @@ declare const SlideApp: NetlessApp<Attributes, MagixEvents, AppOptions, AppResul
1364
1371
  };
1365
1372
 
1366
1373
  export { DefaultUrl, DocsViewer, FreezerLength, SideEffectManager, Slide, SlideController, SlideControllerBase, SlideDocsViewer, SlidePreviewer, addHooks, apps, SlideApp as default, getFreezerLength, log, logger, onCreated, onDestroyed, previewSlide, setFreezerLength, syncSceneWithSlide, useFreezer, usePlugin, version };
1367
- export type { AddHooks, AppOptions, AppResult, Attributes, FreezableSlide, ILogger, PreviewParams };
1374
+ export type { AddHooks, AppOptions, AppResult, Attributes, FreezableSlide, ILogger, NavigationButtonMode, PreviewParams };