@netless/fastboard-core 0.3.6 → 0.3.7

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 { Size, SceneDefinition, ConvertedFile, RoomPhase as RoomPhase$1, ApplianceNames, ShapeType, MemberState, RoomState, Camera, AnimationMode, Rectangle, Color, ConversionResponse, WhiteWebSdkConfiguration, JoinRoomParams, RoomCallbacks, WhiteWebSdk, Room, HotKeys, ViewCallbacks, PlayerPhase as PlayerPhase$1, PlayerState, PlayerSeekingResult, ReplayRoomParams, PlayerCallbacks, Player } from 'white-web-sdk';
1
+ import { Size, SceneDefinition, ConvertedFile, RoomPhase as RoomPhase$1, ApplianceNames, ShapeType, MemberState, RoomState, Camera, AnimationMode, Rectangle, Color, ConversionResponse, WhiteWebSdkConfiguration, JoinRoomParams, RoomCallbacks, WhiteWebSdk, Room, HotKeys, ViewCallbacks, PlayerPhase as PlayerPhase$1, PlayerState, PlayerSeekingResult, ReplayRoomParams, PlayerCallbacks, Player, View } from 'white-web-sdk';
2
2
  export { AnimationMode, ApplianceNames, Camera, Color, ConversionResponse, HotKey, HotKeys, JoinRoomParams, MemberState, PlayerSeekingResult, Rectangle, Room, RoomCallbacks, RoomState, SceneDefinition, ShapeType, ViewCallbacks, WhiteWebSdk, WhiteWebSdkConfiguration } from 'white-web-sdk';
3
3
  import { AddPageParams, MountParams, NetlessApp, WindowManager, PublicEvent, RegisterParams } from '@netless/window-manager';
4
4
  export { AddPageParams, MountParams, NetlessApp, PublicEvent, WindowManager } from '@netless/window-manager';
@@ -6,10 +6,10 @@ import { SyncedStore } from '@netless/synced-store';
6
6
  export { Diff, DiffOne, Storage, SyncedStore } from '@netless/synced-store';
7
7
  export { PreviewParams, default as SlideApp, Controller as SlideController, AppOptions as SlideOptions, SlidePreviewer, addHooks as addSlideHooks, previewSlide, apps as slideApps } from '@netless/app-slide';
8
8
 
9
- declare type Subscriber<T> = (value: T) => void;
10
- declare type Unsubscriber = () => void;
11
- declare type Updater<T> = (value: T) => T;
12
- declare type StartStopNotifier<T> = (set: Subscriber<T>) => Unsubscriber | void;
9
+ type Subscriber<T> = (value: T) => void;
10
+ type Unsubscriber = () => void;
11
+ type Updater<T> = (value: T) => T;
12
+ type StartStopNotifier<T> = (set: Subscriber<T>) => Unsubscriber | void;
13
13
  interface Readable<T> {
14
14
  readonly value: T;
15
15
  subscribe(this: void, run: Subscriber<T>): Unsubscriber;
@@ -37,7 +37,7 @@ declare const warnings: {
37
37
  };
38
38
  declare function warn(id: keyof typeof warnings): void;
39
39
 
40
- declare class FastboardAppBase<TEventData = any> {
40
+ declare class FastboardAppBase<TEventData extends Record<string, any> = any> {
41
41
  readonly sdk: WhiteWebSdk;
42
42
  readonly room: Room;
43
43
  readonly manager: WindowManager;
@@ -54,12 +54,12 @@ declare class FastboardAppBase<TEventData = any> {
54
54
  */
55
55
  destroy(): Promise<void>;
56
56
  }
57
- declare type RoomPhase = `${RoomPhase$1}`;
57
+ type RoomPhase = `${RoomPhase$1}`;
58
58
 
59
59
  /** pencil, eraser, rectangle... */
60
- declare type Appliance = `${ApplianceNames}`;
60
+ type Appliance = `${ApplianceNames}`;
61
61
  /** triangle, star... */
62
- declare type Shape = `${ShapeType}`;
62
+ type Shape = `${ShapeType}`;
63
63
  /** Params for static docs, they are rendered as many images. */
64
64
  interface InsertDocsStatic {
65
65
  readonly fileType: "pdf";
@@ -84,9 +84,9 @@ interface InsertDocsDynamic {
84
84
  /** @example [{ name: '1' }, { name: '2' }, { name: '3' }] */
85
85
  readonly scenes?: SceneDefinition[];
86
86
  }
87
- declare type InsertDocsParams = InsertDocsStatic | InsertDocsDynamic;
88
- declare type SetMemberStateFn = (partialMemberState: Partial<MemberState>) => void;
89
- declare type RoomStateChanged = (diff: Partial<RoomState>) => void;
87
+ type InsertDocsParams = InsertDocsStatic | InsertDocsDynamic;
88
+ type SetMemberStateFn = (partialMemberState: Partial<MemberState>) => void;
89
+ type RoomStateChanged = (diff: Partial<RoomState>) => void;
90
90
  /** App download progress. */
91
91
  interface AppsStatus {
92
92
  [kind: string]: {
@@ -95,7 +95,7 @@ interface AppsStatus {
95
95
  reason?: string;
96
96
  };
97
97
  }
98
- declare class FastboardApp<TEventData = any> extends FastboardAppBase<TEventData> {
98
+ declare class FastboardApp<TEventData extends Record<string, any> = any> extends FastboardAppBase<TEventData> {
99
99
  /**
100
100
  * Render this app to some DOM.
101
101
  */
@@ -275,7 +275,7 @@ interface FastboardOptions {
275
275
  region: NonNullable<WhiteWebSdkConfiguration["region"]>;
276
276
  };
277
277
  joinRoom: Omit<JoinRoomParams, "useMultiViews" | "disableNewPencil" | "disableMagixEventDispatchLimit"> & {
278
- callbacks?: Partial<RoomCallbacks>;
278
+ callbacks?: Partial<Omit<RoomCallbacks, "onCanRedoStepsUpdate" | "onCanUndoStepsUpdate">>;
279
279
  };
280
280
  managerConfig?: Omit<MountParams, "room">;
281
281
  netlessApps?: NetlessApp[];
@@ -295,9 +295,9 @@ interface FastboardOptions {
295
295
  * },
296
296
  * })
297
297
  */
298
- declare function createFastboard<TEventData = any>({ sdkConfig, joinRoom: { callbacks, ...joinRoomParams }, managerConfig, netlessApps, }: FastboardOptions): Promise<FastboardApp<TEventData>>;
298
+ declare function createFastboard<TEventData extends Record<string, any> = any>({ sdkConfig, joinRoom: { callbacks, ...joinRoomParams }, managerConfig, netlessApps, }: FastboardOptions): Promise<FastboardApp<TEventData>>;
299
299
 
300
- declare class FastboardPlayerBase<TEventData = any> {
300
+ declare class FastboardPlayerBase<TEventData extends Record<string, any> = any> {
301
301
  readonly sdk: WhiteWebSdk;
302
302
  readonly player: Player;
303
303
  readonly manager: WindowManager;
@@ -310,9 +310,9 @@ declare class FastboardPlayerBase<TEventData = any> {
310
310
  protected _addMainViewListener<K extends keyof ViewCallbacks>(name: K, listener: ViewCallbacks[K]): () => void;
311
311
  destroy(): void;
312
312
  }
313
- declare type PlayerPhase = `${PlayerPhase$1}`;
313
+ type PlayerPhase = `${PlayerPhase$1}`;
314
314
 
315
- declare class FastboardPlayer<TEventData = any> extends FastboardPlayerBase<TEventData> {
315
+ declare class FastboardPlayer<TEventData extends Record<string, any> = any> extends FastboardPlayerBase<TEventData> {
316
316
  /**
317
317
  * Render this player to some DOM.
318
318
  */
@@ -393,7 +393,7 @@ interface FastboardReplayOptions {
393
393
  * },
394
394
  * })
395
395
  */
396
- declare function replayFastboard<TEventData = any>({ sdkConfig, replayRoom: { callbacks, ...replayRoomParams }, managerConfig, netlessApps, }: FastboardReplayOptions): Promise<FastboardPlayer<TEventData>>;
396
+ declare function replayFastboard<TEventData extends Record<string, any> = any>({ sdkConfig, replayRoom: { callbacks, ...replayRoomParams }, managerConfig, netlessApps, }: FastboardReplayOptions): Promise<FastboardPlayer<TEventData>>;
397
397
 
398
398
  interface AppsConfig {
399
399
  [kind: string]: Omit<RegisterParams, "kind">;
@@ -401,4 +401,9 @@ interface AppsConfig {
401
401
  declare const register: typeof WindowManager.register;
402
402
  declare const version: string;
403
403
 
404
- export { Appliance, AppsConfig, AppsStatus, FastboardApp, FastboardOptions, FastboardPlayer, FastboardReplayOptions, InsertDocsDynamic, InsertDocsParams, InsertDocsStatic, PlayerPhase, Readable, RoomPhase, RoomStateChanged, SetMemberStateFn, Shape, StartStopNotifier, Subscriber, Unsubscriber, Updater, Writable, convertedFileToScene, createFastboard, genUID, getImageSize, makeSlideParams, readable, register, replayFastboard, version, warn, writable };
404
+ declare function addRoomListener<K extends keyof RoomCallbacks>(room: Room, name: K, listener: RoomCallbacks[K]): () => void;
405
+ declare function addPlayerListener<K extends keyof PlayerCallbacks>(player: Player, name: K, listener: PlayerCallbacks[K]): () => void;
406
+ declare function addViewListener<K extends keyof ViewCallbacks>(view: View, name: K, listener: (value: ViewCallbacks[K]) => void): () => void;
407
+ declare function addManagerListener<K extends keyof PublicEvent>(manager: WindowManager, name: K, listener: (value: PublicEvent[K]) => void): () => void;
408
+
409
+ export { Appliance, AppsConfig, AppsStatus, FastboardApp, FastboardOptions, FastboardPlayer, FastboardReplayOptions, InsertDocsDynamic, InsertDocsParams, InsertDocsStatic, PlayerPhase, Readable, RoomPhase, RoomStateChanged, SetMemberStateFn, Shape, StartStopNotifier, Subscriber, Unsubscriber, Updater, Writable, addManagerListener, addPlayerListener, addRoomListener, addViewListener, convertedFileToScene, createFastboard, genUID, getImageSize, makeSlideParams, readable, register, replayFastboard, version, warn, writable };
package/dist/index.js CHANGED
@@ -1,13 +1,14 @@
1
1
  'use strict';
2
2
 
3
- var __create = Object.create;
3
+ var whiteWebSdk = require('white-web-sdk');
4
+ var windowManager = require('@netless/window-manager');
5
+ var syncedStore = require('@netless/synced-store');
6
+ var SlideApp = require('@netless/app-slide');
7
+
4
8
  var __defProp = Object.defineProperty;
5
9
  var __defProps = Object.defineProperties;
6
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
10
  var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
8
- var __getOwnPropNames = Object.getOwnPropertyNames;
9
11
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
10
- var __getProtoOf = Object.getPrototypeOf;
11
12
  var __hasOwnProp = Object.prototype.hasOwnProperty;
12
13
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
13
14
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
@@ -35,43 +36,10 @@ var __objRest = (source, exclude) => {
35
36
  }
36
37
  return target;
37
38
  };
38
- var __export = (target, all) => {
39
- for (var name in all)
40
- __defProp(target, name, { get: all[name], enumerable: true });
41
- };
42
- var __copyProps = (to, from, except, desc) => {
43
- if (from && typeof from === "object" || typeof from === "function") {
44
- for (let key of __getOwnPropNames(from))
45
- if (!__hasOwnProp.call(to, key) && key !== except)
46
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
47
- }
48
- return to;
39
+ var __publicField = (obj, key, value) => {
40
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
41
+ return value;
49
42
  };
50
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
51
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
52
-
53
- // src/index.ts
54
- var src_exports = {};
55
- __export(src_exports, {
56
- FastboardApp: () => FastboardApp,
57
- FastboardPlayer: () => FastboardPlayer,
58
- SlideApp: () => import_app_slide.default,
59
- addSlideHooks: () => import_app_slide.addHooks,
60
- convertedFileToScene: () => convertedFileToScene,
61
- createFastboard: () => createFastboard,
62
- genUID: () => genUID,
63
- getImageSize: () => getImageSize,
64
- makeSlideParams: () => makeSlideParams,
65
- previewSlide: () => import_app_slide.previewSlide,
66
- readable: () => readable,
67
- register: () => register,
68
- replayFastboard: () => replayFastboard,
69
- slideApps: () => import_app_slide.apps,
70
- version: () => version,
71
- warn: () => warn,
72
- writable: () => writable
73
- });
74
- module.exports = __toCommonJS(src_exports);
75
43
 
76
44
  // src/utils/store.ts
77
45
  function noop() {
@@ -158,15 +126,13 @@ function makeSlideParams(scenes) {
158
126
  const pptSrcRE = new RegExp("^pptx?(?<prefix>:\\/\\/\\S+?dynamicConvert)\\/(?<taskId>\\w+)\\/");
159
127
  for (const { name, ppt } of scenes) {
160
128
  emptyScenes.push({ name });
161
- if (!ppt || !ppt.src.startsWith("ppt")) {
129
+ if (!ppt || !ppt.src.startsWith("ppt"))
162
130
  continue;
163
- }
164
131
  const match = pptSrcRE.exec(ppt.src);
165
- if (!match || !match.groups) {
132
+ if (!match || !match.groups)
166
133
  continue;
167
- }
168
134
  taskId = match.groups.taskId;
169
- url = "https" + match.groups.prefix;
135
+ url = `https${match.groups.prefix}`;
170
136
  break;
171
137
  }
172
138
  return { scenes: emptyScenes, taskId, url };
@@ -206,32 +172,19 @@ function warn(id) {
206
172
  warned.add(id);
207
173
  console.warn(warnings[id]);
208
174
  }
209
-
210
- // src/impl/FastboardApp.ts
211
- var import_white_web_sdk = require("white-web-sdk");
212
- var import_window_manager3 = require("@netless/window-manager");
213
- var import_synced_store2 = require("@netless/synced-store");
214
-
215
- // src/internal.ts
216
- var import_window_manager = require("@netless/window-manager");
217
- var import_synced_store = require("@netless/synced-store");
218
175
  function ensure_official_plugins(joinRoom) {
219
176
  const plugins = new Set(joinRoom.invisiblePlugins || []);
220
- plugins.add(import_window_manager.WindowManager);
221
- plugins.add(import_synced_store.SyncedStorePlugin);
177
+ plugins.add(windowManager.WindowManager);
178
+ plugins.add(syncedStore.SyncedStorePlugin);
222
179
  joinRoom.invisiblePlugins = [...plugins];
223
180
  return joinRoom;
224
181
  }
225
182
  function transform_app_status(status) {
226
183
  return status === "start" ? "loading" : status === "failed" ? "failed" : "idle";
227
184
  }
228
-
229
- // src/behaviors/index.ts
230
- var import_window_manager2 = require("@netless/window-manager");
231
- var import_app_slide = __toESM(require("@netless/app-slide"));
232
185
  var DefaultApps = {
233
186
  Monaco: {
234
- src: "https://netless-app.oss-cn-hangzhou.aliyuncs.com/@netless/app-monaco/0.1.12/dist/main.iife.js"
187
+ src: "https://netless-app.oss-cn-hangzhou.aliyuncs.com/@netless/app-monaco/0.1.14-beta.1/dist/main.iife.js"
235
188
  },
236
189
  Countdown: {
237
190
  src: "https://netless-app.oss-cn-hangzhou.aliyuncs.com/@netless/app-countdown/0.0.2/dist/main.iife.js"
@@ -249,20 +202,20 @@ var DefaultApps = {
249
202
  src: "https://netless-app.oss-cn-hangzhou.aliyuncs.com/@netless/app-plyr/0.1.3/dist/main.iife.js"
250
203
  }
251
204
  };
252
- import_window_manager2.WindowManager.register({
205
+ windowManager.WindowManager.register({
253
206
  kind: "Slide",
254
207
  appOptions: { debug: false },
255
- src: import_app_slide.default,
256
- addHooks: import_app_slide.addHooks
208
+ src: SlideApp,
209
+ addHooks: SlideApp.addHooks
257
210
  });
258
211
  for (const kind in DefaultApps) {
259
212
  if (Object.prototype.hasOwnProperty.call(DefaultApps, kind)) {
260
213
  const options = DefaultApps[kind];
261
- import_window_manager2.WindowManager.register(__spreadValues({ kind }, options));
214
+ windowManager.WindowManager.register(__spreadValues({ kind }, options));
262
215
  }
263
216
  }
264
- var register = import_window_manager2.WindowManager.register.bind(import_window_manager2.WindowManager);
265
- var version = "0.3.6";
217
+ var register = windowManager.WindowManager.register.bind(windowManager.WindowManager);
218
+ var version = "0.3.7";
266
219
  if (typeof window !== "undefined") {
267
220
  let str = window.__netlessUA || "";
268
221
  str += ` ${"@netless/fastboard"}@${version} `;
@@ -277,7 +230,7 @@ var FastboardAppBase = class {
277
230
  this.manager = manager;
278
231
  this.hotKeys = hotKeys;
279
232
  this.syncedStore = syncedStore;
280
- this._destroyed = false;
233
+ __publicField(this, "_destroyed", false);
281
234
  }
282
235
  _assertNotDestroyed() {
283
236
  if (this._destroyed) {
@@ -308,51 +261,62 @@ var FastboardAppBase = class {
308
261
  var FastboardApp = class extends FastboardAppBase {
309
262
  constructor() {
310
263
  super(...arguments);
311
- this.writable = writable(this.room.isWritable, (set) => {
312
- set(this.room.isWritable);
313
- return this._addRoomListener("onEnableWriteNowChanged", () => set(this.room.isWritable));
314
- }, this.room.setWritable.bind(this.room));
315
- this.phase = readable(this.room.phase, (set) => {
264
+ __publicField(this, "writable", writable(
265
+ this.room.isWritable,
266
+ (set) => {
267
+ set(this.room.isWritable);
268
+ return this._addRoomListener("onEnableWriteNowChanged", () => set(this.room.isWritable));
269
+ },
270
+ this.room.setWritable.bind(this.room)
271
+ ));
272
+ __publicField(this, "phase", readable(this.room.phase, (set) => {
316
273
  set(this.room.phase);
317
274
  return this._addRoomListener("onPhaseChanged", set);
318
- });
319
- this.boxState = readable(this.manager.boxState, (set) => {
275
+ }));
276
+ __publicField(this, "boxState", readable(this.manager.boxState, (set) => {
320
277
  set(this.manager.boxState);
321
278
  return this._addManagerListener("boxStateChange", set);
322
- });
323
- this.focusedApp = readable(this.manager.focused, (set) => {
279
+ }));
280
+ __publicField(this, "focusedApp", readable(this.manager.focused, (set) => {
324
281
  set(this.manager.focused);
325
282
  return this._addManagerListener("focusedChange", set);
326
- });
327
- this.canRedoSteps = readable(this.manager.canRedoSteps, (set) => {
283
+ }));
284
+ __publicField(this, "canRedoSteps", readable(this.manager.canRedoSteps, (set) => {
328
285
  set(this.manager.canRedoSteps);
329
286
  return this._addManagerListener("canRedoStepsChange", set);
330
- });
331
- this.canUndoSteps = readable(this.manager.canUndoSteps, (set) => {
287
+ }));
288
+ __publicField(this, "canUndoSteps", readable(this.manager.canUndoSteps, (set) => {
332
289
  set(this.manager.canUndoSteps);
333
290
  return this._addManagerListener("canUndoStepsChange", set);
334
- });
335
- this.camera = readable(this.manager.camera, (set) => {
291
+ }));
292
+ __publicField(this, "camera", readable(this.manager.camera, (set) => {
336
293
  set(this.manager.camera);
337
294
  return this._addMainViewListener("onCameraUpdated", set);
338
- });
339
- this.memberState = readable(this.room.state.memberState, (set) => {
295
+ }));
296
+ __publicField(this, "memberState", readable(this.room.state.memberState, (set) => {
340
297
  set(this.room.state.memberState);
341
298
  return this._addRoomListener("onRoomStateChanged", ({ memberState: m }) => m && set(m));
342
- });
343
- this.sceneIndex = writable(this.manager.mainViewSceneIndex, (set) => {
344
- set(this.manager.mainViewSceneIndex);
345
- return this._addManagerListener("mainViewSceneIndexChange", set);
346
- }, this.manager.setMainViewSceneIndex.bind(this.manager));
347
- this.sceneLength = readable(this.manager.mainViewScenesLength, (set) => {
299
+ }));
300
+ __publicField(this, "sceneIndex", writable(
301
+ this.manager.mainViewSceneIndex,
302
+ (set) => {
303
+ set(this.manager.mainViewSceneIndex);
304
+ return this._addManagerListener("mainViewSceneIndexChange", set);
305
+ },
306
+ this.manager.setMainViewSceneIndex.bind(this.manager)
307
+ ));
308
+ __publicField(this, "sceneLength", readable(this.manager.mainViewScenesLength, (set) => {
348
309
  set(this.manager.mainViewScenesLength);
349
310
  return this._addManagerListener("mainViewScenesLengthChange", set);
350
- });
351
- this._appsStatus = {};
352
- this.appsStatus = readable({}, (set) => this._addManagerListener("loadApp", ({ kind, status, reason }) => {
353
- this._appsStatus[kind] = { status: transform_app_status(status), reason };
354
- set(this._appsStatus);
355
311
  }));
312
+ __publicField(this, "_appsStatus", {});
313
+ __publicField(this, "appsStatus", readable(
314
+ {},
315
+ (set) => this._addManagerListener("loadApp", ({ kind, status, reason }) => {
316
+ this._appsStatus[kind] = { status: transform_app_status(status), reason };
317
+ set(this._appsStatus);
318
+ })
319
+ ));
356
320
  }
357
321
  bindContainer(container) {
358
322
  this._assertNotDestroyed();
@@ -485,7 +449,7 @@ var FastboardApp = class extends FastboardAppBase {
485
449
  insertMedia(title, src) {
486
450
  this._assertNotDestroyed();
487
451
  return this.manager.addApp({
488
- kind: import_window_manager3.BuiltinApps.MediaPlayer,
452
+ kind: windowManager.BuiltinApps.MediaPlayer,
489
453
  options: { title },
490
454
  attributes: { src }
491
455
  });
@@ -520,10 +484,10 @@ async function createFastboard(_a) {
520
484
  managerConfig,
521
485
  netlessApps
522
486
  } = _b;
523
- const sdk = new import_white_web_sdk.WhiteWebSdk(__spreadProps(__spreadValues({}, sdkConfig), {
487
+ const sdk = new whiteWebSdk.WhiteWebSdk(__spreadProps(__spreadValues({}, sdkConfig), {
524
488
  useMobXState: true
525
489
  }));
526
- const hotKeys = joinRoomParams.hotKeys || __spreadProps(__spreadValues({}, import_white_web_sdk.DefaultHotKeys), {
490
+ const hotKeys = joinRoomParams.hotKeys || __spreadProps(__spreadValues({}, whiteWebSdk.DefaultHotKeys), {
527
491
  changeToSelector: "s",
528
492
  changeToLaserPointer: "z",
529
493
  changeToPencil: "p",
@@ -540,38 +504,36 @@ async function createFastboard(_a) {
540
504
  register({ kind: app.kind, src: app });
541
505
  });
542
506
  }
543
- const room = await sdk.joinRoom(__spreadProps(__spreadValues({
544
- floatBar: true,
545
- hotKeys
546
- }, ensure_official_plugins(joinRoomParams)), {
547
- useMultiViews: true,
548
- disableNewPencil: false,
549
- disableMagixEventDispatchLimit: true
550
- }), callbacks);
551
- const syncedStore = await import_synced_store2.SyncedStorePlugin.init(room);
552
- const manager = await import_window_manager3.WindowManager.mount(__spreadProps(__spreadValues({
507
+ const room = await sdk.joinRoom(
508
+ __spreadProps(__spreadValues({
509
+ floatBar: true,
510
+ hotKeys
511
+ }, ensure_official_plugins(joinRoomParams)), {
512
+ useMultiViews: true,
513
+ disableNewPencil: false,
514
+ disableMagixEventDispatchLimit: true
515
+ }),
516
+ callbacks
517
+ );
518
+ const syncedStore$1 = await syncedStore.SyncedStorePlugin.init(room);
519
+ const manager = await windowManager.WindowManager.mount(__spreadProps(__spreadValues({
553
520
  cursor: true
554
521
  }, managerConfig), {
555
522
  room
556
523
  }));
557
524
  manager.mainView.setCameraBound({
558
- minContentMode: (0, import_white_web_sdk.contentModeScale)(0.3),
559
- maxContentMode: (0, import_white_web_sdk.contentModeScale)(3)
525
+ minContentMode: whiteWebSdk.contentModeScale(0.3),
526
+ maxContentMode: whiteWebSdk.contentModeScale(3)
560
527
  });
561
- return new FastboardApp(sdk, room, manager, hotKeys, syncedStore);
528
+ return new FastboardApp(sdk, room, manager, hotKeys, syncedStore$1);
562
529
  }
563
-
564
- // src/impl/FastboardPlayer.ts
565
- var import_white_web_sdk2 = require("white-web-sdk");
566
- var import_window_manager4 = require("@netless/window-manager");
567
- var import_synced_store3 = require("@netless/synced-store");
568
530
  var FastboardPlayerBase = class {
569
531
  constructor(sdk, player, manager, syncedStore) {
570
532
  this.sdk = sdk;
571
533
  this.player = player;
572
534
  this.manager = manager;
573
535
  this.syncedStore = syncedStore;
574
- this._destroyed = false;
536
+ __publicField(this, "_destroyed", false);
575
537
  }
576
538
  _assertNotDestroyed() {
577
539
  if (this._destroyed) {
@@ -602,32 +564,41 @@ var FastboardPlayerBase = class {
602
564
  var FastboardPlayer = class extends FastboardPlayerBase {
603
565
  constructor() {
604
566
  super(...arguments);
605
- this.currentTime = writable(this.player.progressTime, (set) => {
606
- set(this.player.progressTime);
607
- return this._addPlayerListener("onProgressTimeChanged", set);
608
- }, this.player.seekToProgressTime.bind(this.player));
609
- this.phase = readable(this.player.phase, (set) => {
567
+ __publicField(this, "currentTime", writable(
568
+ this.player.progressTime,
569
+ (set) => {
570
+ set(this.player.progressTime);
571
+ return this._addPlayerListener("onProgressTimeChanged", set);
572
+ },
573
+ this.player.seekToProgressTime.bind(this.player)
574
+ ));
575
+ __publicField(this, "phase", readable(this.player.phase, (set) => {
610
576
  set(this.player.phase);
611
577
  return this._addPlayerListener("onPhaseChanged", set);
612
- });
613
- this.canplay = readable(this.player.isPlayable, (set) => {
578
+ }));
579
+ __publicField(this, "canplay", readable(this.player.isPlayable, (set) => {
614
580
  set(this.player.isPlayable);
615
581
  return this._addPlayerListener("onIsPlayableChanged", set);
616
- });
617
- this.playbackRate = writable(this.player.playbackSpeed, (set) => {
618
- this._setPlaybackRate = set;
619
- set(this.player.playbackSpeed);
620
- }, (value) => {
621
- this.player.playbackSpeed = value;
622
- this._setPlaybackRate(value);
623
- });
624
- this.duration = readable(this.player.timeDuration, (set) => {
582
+ }));
583
+ __publicField(this, "_setPlaybackRate");
584
+ __publicField(this, "playbackRate", writable(
585
+ this.player.playbackSpeed,
586
+ (set) => {
587
+ this._setPlaybackRate = set;
588
+ set(this.player.playbackSpeed);
589
+ },
590
+ (value) => {
591
+ this.player.playbackSpeed = value;
592
+ this._setPlaybackRate(value);
593
+ }
594
+ ));
595
+ __publicField(this, "duration", readable(this.player.timeDuration, (set) => {
625
596
  set(this.player.timeDuration);
626
- });
627
- this.state = readable(this.player.state, (set) => {
597
+ }));
598
+ __publicField(this, "state", readable(this.player.state, (set) => {
628
599
  set(this.player.state);
629
600
  return this._addPlayerListener("onPlayerStateChanged", () => set(this.player.state));
630
- });
601
+ }));
631
602
  }
632
603
  bindContainer(container) {
633
604
  this._assertNotDestroyed();
@@ -666,7 +637,7 @@ async function replayFastboard(_a) {
666
637
  managerConfig,
667
638
  netlessApps
668
639
  } = _b;
669
- const sdk = new import_white_web_sdk2.WhiteWebSdk(__spreadProps(__spreadValues({}, sdkConfig), {
640
+ const sdk = new whiteWebSdk.WhiteWebSdk(__spreadProps(__spreadValues({}, sdkConfig), {
670
641
  useMobXState: true
671
642
  }));
672
643
  if (netlessApps) {
@@ -674,11 +645,14 @@ async function replayFastboard(_a) {
674
645
  register({ kind: app.kind, src: app });
675
646
  });
676
647
  }
677
- const player = await sdk.replayRoom(__spreadProps(__spreadValues({}, ensure_official_plugins(replayRoomParams)), {
678
- useMultiViews: true
679
- }), callbacks);
680
- const syncedStore = await import_synced_store3.SyncedStorePlugin.init(player);
681
- const managerPromise = import_window_manager4.WindowManager.mount(__spreadProps(__spreadValues({
648
+ const player = await sdk.replayRoom(
649
+ __spreadProps(__spreadValues({}, ensure_official_plugins(replayRoomParams)), {
650
+ useMultiViews: true
651
+ }),
652
+ callbacks
653
+ );
654
+ const syncedStore$1 = await syncedStore.SyncedStorePlugin.init(player);
655
+ const managerPromise = windowManager.WindowManager.mount(__spreadProps(__spreadValues({
682
656
  cursor: true
683
657
  }, managerConfig), {
684
658
  room: player
@@ -687,6 +661,55 @@ async function replayFastboard(_a) {
687
661
  const manager = await managerPromise;
688
662
  player.pause();
689
663
  await player.seekToProgressTime(0);
690
- return new FastboardPlayer(sdk, player, manager, syncedStore);
664
+ return new FastboardPlayer(sdk, player, manager, syncedStore$1);
665
+ }
666
+
667
+ // src/helpers/index.ts
668
+ function addRoomListener(room, name, listener) {
669
+ room.callbacks.on(name, listener);
670
+ return () => room.callbacks.off(name, listener);
671
+ }
672
+ function addPlayerListener(player, name, listener) {
673
+ player.callbacks.on(name, listener);
674
+ return () => player.callbacks.off(name, listener);
675
+ }
676
+ function addViewListener(view, name, listener) {
677
+ view.callbacks.on(name, listener);
678
+ return () => view.callbacks.off(name, listener);
691
679
  }
680
+ function addManagerListener(manager, name, listener) {
681
+ return manager.emitter.on(name, listener);
682
+ }
683
+
684
+ exports.SlideApp = SlideApp;
685
+ Object.defineProperty(exports, 'addSlideHooks', {
686
+ enumerable: true,
687
+ get: function () { return SlideApp.addHooks; }
688
+ });
689
+ Object.defineProperty(exports, 'previewSlide', {
690
+ enumerable: true,
691
+ get: function () { return SlideApp.previewSlide; }
692
+ });
693
+ Object.defineProperty(exports, 'slideApps', {
694
+ enumerable: true,
695
+ get: function () { return SlideApp.apps; }
696
+ });
697
+ exports.FastboardApp = FastboardApp;
698
+ exports.FastboardPlayer = FastboardPlayer;
699
+ exports.addManagerListener = addManagerListener;
700
+ exports.addPlayerListener = addPlayerListener;
701
+ exports.addRoomListener = addRoomListener;
702
+ exports.addViewListener = addViewListener;
703
+ exports.convertedFileToScene = convertedFileToScene;
704
+ exports.createFastboard = createFastboard;
705
+ exports.genUID = genUID;
706
+ exports.getImageSize = getImageSize;
707
+ exports.makeSlideParams = makeSlideParams;
708
+ exports.readable = readable;
709
+ exports.register = register;
710
+ exports.replayFastboard = replayFastboard;
711
+ exports.version = version;
712
+ exports.warn = warn;
713
+ exports.writable = writable;
714
+ //# sourceMappingURL=out.js.map
692
715
  //# sourceMappingURL=index.js.map