@netless/window-manager 1.0.0-canary.45 → 1.0.0-canary.46
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.cjs.js +66 -42
- package/dist/index.es.js +66 -42
- package/dist/index.umd.js +66 -42
- package/dist/src/View/ViewSync.d.ts +5 -0
- package/dist/src/typings.d.ts +1 -0
- package/package.json +2 -2
- package/pnpm-lock.yaml +4 -4
- package/src/View/ViewSync.ts +55 -35
- package/src/index.ts +3 -1
- package/src/typings.ts +1 -0
package/dist/index.cjs.js
CHANGED
@@ -1354,6 +1354,54 @@ class ViewSync {
|
|
1354
1354
|
constructor(context) {
|
1355
1355
|
this.context = context;
|
1356
1356
|
this.sem = new sideEffectManager.SideEffectManager();
|
1357
|
+
this.createSynchronizer = () => {
|
1358
|
+
return new CameraSynchronizer((camera) => {
|
1359
|
+
this.context.camera$.setValue(camera, true);
|
1360
|
+
const notStoreCamera = this.context.viewMode$ && this.context.viewMode$.value === whiteWebSdk.ViewMode.Freedom;
|
1361
|
+
if (notStoreCamera) {
|
1362
|
+
return;
|
1363
|
+
} else {
|
1364
|
+
this.context.storeCamera(camera);
|
1365
|
+
}
|
1366
|
+
});
|
1367
|
+
};
|
1368
|
+
this.subscribeView = () => {
|
1369
|
+
return this.context.view$.subscribe((view) => {
|
1370
|
+
const currentCamera = this.context.camera$.value;
|
1371
|
+
if (currentCamera && this.context.size$.value) {
|
1372
|
+
view == null ? void 0 : view.moveCamera({
|
1373
|
+
scale: 1,
|
1374
|
+
animationMode: whiteWebSdk.AnimationMode.Immediately
|
1375
|
+
});
|
1376
|
+
this.synchronizer.onRemoteUpdate(currentCamera, this.context.size$.value);
|
1377
|
+
}
|
1378
|
+
this.bindView(view);
|
1379
|
+
});
|
1380
|
+
};
|
1381
|
+
this.subscribeCamera = () => {
|
1382
|
+
return this.context.camera$.subscribe((camera, skipUpdate) => {
|
1383
|
+
if (skipUpdate)
|
1384
|
+
return;
|
1385
|
+
const size = this.context.size$.value;
|
1386
|
+
if (camera && size) {
|
1387
|
+
this.synchronizer.onRemoteUpdate(camera, size);
|
1388
|
+
}
|
1389
|
+
});
|
1390
|
+
};
|
1391
|
+
this.subscribeSize = () => {
|
1392
|
+
return this.context.size$.subscribe((size) => {
|
1393
|
+
if (size) {
|
1394
|
+
this.synchronizer.onRemoteSizeUpdate(size);
|
1395
|
+
}
|
1396
|
+
});
|
1397
|
+
};
|
1398
|
+
this.subscribeStageRect = () => {
|
1399
|
+
return this.context.stageRect$.subscribe((rect) => {
|
1400
|
+
if (rect) {
|
1401
|
+
this.synchronizer.setRect(rect);
|
1402
|
+
}
|
1403
|
+
});
|
1404
|
+
};
|
1357
1405
|
this.bindView = (view) => {
|
1358
1406
|
if (!view)
|
1359
1407
|
return;
|
@@ -1373,44 +1421,13 @@ class ViewSync {
|
|
1373
1421
|
this.synchronizer.onLocalCameraUpdate(__spreadProps(__spreadValues({}, camera), { scale: remoteScale, id: this.context.uid }));
|
1374
1422
|
}
|
1375
1423
|
};
|
1376
|
-
this.synchronizer =
|
1377
|
-
this.context.camera$.setValue(camera, true);
|
1378
|
-
const notStoreCamera = this.context.viewMode$ && this.context.viewMode$.value === whiteWebSdk.ViewMode.Freedom;
|
1379
|
-
if (notStoreCamera) {
|
1380
|
-
return;
|
1381
|
-
} else {
|
1382
|
-
this.context.storeCamera(camera);
|
1383
|
-
}
|
1384
|
-
});
|
1424
|
+
this.synchronizer = this.createSynchronizer();
|
1385
1425
|
this.bindView(this.context.view$.value);
|
1386
1426
|
this.sem.add(() => [
|
1387
|
-
this.
|
1388
|
-
|
1389
|
-
|
1390
|
-
|
1391
|
-
scale: 1,
|
1392
|
-
animationMode: whiteWebSdk.AnimationMode.Immediately
|
1393
|
-
});
|
1394
|
-
this.synchronizer.onRemoteUpdate(currentCamera, this.context.size$.value);
|
1395
|
-
}
|
1396
|
-
this.bindView(view);
|
1397
|
-
}),
|
1398
|
-
this.context.camera$.subscribe((camera, skipUpdate) => {
|
1399
|
-
const size = this.context.size$.value;
|
1400
|
-
if (camera && size && !skipUpdate) {
|
1401
|
-
this.synchronizer.onRemoteUpdate(camera, size);
|
1402
|
-
}
|
1403
|
-
}),
|
1404
|
-
this.context.size$.subscribe((size) => {
|
1405
|
-
if (size) {
|
1406
|
-
this.synchronizer.onRemoteSizeUpdate(size);
|
1407
|
-
}
|
1408
|
-
}),
|
1409
|
-
this.context.stageRect$.subscribe((rect) => {
|
1410
|
-
if (rect) {
|
1411
|
-
this.synchronizer.setRect(rect);
|
1412
|
-
}
|
1413
|
-
})
|
1427
|
+
this.subscribeView(),
|
1428
|
+
this.subscribeCamera(),
|
1429
|
+
this.subscribeSize(),
|
1430
|
+
this.subscribeStageRect()
|
1414
1431
|
]);
|
1415
1432
|
const camera$size$ = valueEnhancer.combine([this.context.camera$, this.context.size$]);
|
1416
1433
|
camera$size$.reaction(([camera, size]) => {
|
@@ -5255,8 +5272,13 @@ class TeleBoxManager {
|
|
5255
5272
|
const handler = (evt) => {
|
5256
5273
|
prefersDark$.setValue(evt.matches);
|
5257
5274
|
};
|
5258
|
-
prefersDarkMatch.addEventListener
|
5259
|
-
|
5275
|
+
if (prefersDarkMatch.addEventListener) {
|
5276
|
+
prefersDarkMatch.addEventListener("change", handler);
|
5277
|
+
return () => prefersDarkMatch.removeEventListener("change", handler);
|
5278
|
+
} else {
|
5279
|
+
prefersDarkMatch.addListener(handler);
|
5280
|
+
return () => prefersDarkMatch.removeListener(handler);
|
5281
|
+
}
|
5260
5282
|
});
|
5261
5283
|
}
|
5262
5284
|
const prefersColorScheme$ = new valueEnhancer.Val(prefersColorScheme);
|
@@ -12099,8 +12121,8 @@ const reconnectRefresher = new ReconnectRefresher({ emitter });
|
|
12099
12121
|
const _WindowManager = class extends whiteWebSdk.InvisiblePlugin {
|
12100
12122
|
constructor(context) {
|
12101
12123
|
super(context);
|
12102
|
-
this.version = "1.0.0-canary.
|
12103
|
-
this.dependencies = { "dependencies": { "@juggle/resize-observer": "^3.3.1", "@netless/telebox-insider": "1.0.0-alpha.
|
12124
|
+
this.version = "1.0.0-canary.46";
|
12125
|
+
this.dependencies = { "dependencies": { "@juggle/resize-observer": "^3.3.1", "@netless/telebox-insider": "1.0.0-alpha.36", "emittery": "^0.11.0", "lodash": "^4.17.21", "p-retry": "^4.6.2", "side-effect-manager": "^1.1.1", "uuid": "^7.0.3", "value-enhancer": "^1.3.2" }, "peerDependencies": { "white-web-sdk": "^2.16.0" }, "devDependencies": { "@netless/app-docs-viewer": "^0.3.2", "@netless/app-plyr": "0.2.0", "@playwright/test": "^1.23.2", "@rollup/plugin-commonjs": "^20.0.0", "@rollup/plugin-node-resolve": "^13.0.4", "@rollup/plugin-url": "^6.1.0", "@sveltejs/vite-plugin-svelte": "^1.0.0-next.49", "@tsconfig/svelte": "^2.0.1", "@types/debug": "^4.1.7", "@types/lodash": "^4.14.182", "@types/lodash-es": "^4.17.6", "@types/node": "^18.0.3", "@types/uuid": "^8.3.4", "@typescript-eslint/eslint-plugin": "^4.30.0", "@typescript-eslint/parser": "^4.30.0", "@vitest/ui": "^0.14.2", "cypress": "^8.7.0", "dotenv": "^10.0.0", "eslint": "^7.32.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-svelte3": "^3.2.0", "jsdom": "^19.0.0", "less": "^4.1.3", "prettier": "^2.3.2", "prettier-plugin-svelte": "^2.4.0", "rollup-plugin-analyzer": "^4.0.0", "rollup-plugin-styles": "^3.14.1", "svelte": "^3.42.4", "typescript": "^4.5.5", "vite": "^2.5.3", "vite-plugin-dts": "^1.2.1", "vitest": "^0.18.0", "white-web-sdk": "2.16.26" } };
|
12104
12126
|
this.emitter = callbacks;
|
12105
12127
|
this.viewMode = whiteWebSdk.ViewMode.Broadcaster;
|
12106
12128
|
this.viewMode$ = new valueEnhancer.Val(whiteWebSdk.ViewMode.Broadcaster);
|
@@ -12139,7 +12161,9 @@ const _WindowManager = class extends whiteWebSdk.InvisiblePlugin {
|
|
12139
12161
|
clearTimeout(this.cameraUpdating);
|
12140
12162
|
this.cameraUpdating = 0;
|
12141
12163
|
this.mainView.callbacks.on("onCameraUpdated", this.onCameraUpdated);
|
12142
|
-
|
12164
|
+
if (nextScale) {
|
12165
|
+
this.nextCamera = __spreadProps(__spreadValues({}, nextCamera), { scale: nextScale });
|
12166
|
+
}
|
12143
12167
|
}
|
12144
12168
|
};
|
12145
12169
|
this.onCameraUpdated = () => {
|
@@ -12160,7 +12184,7 @@ const _WindowManager = class extends whiteWebSdk.InvisiblePlugin {
|
|
12160
12184
|
}, 50);
|
12161
12185
|
};
|
12162
12186
|
_WindowManager.displayer = context.displayer;
|
12163
|
-
window.NETLESS_DEPS = { "dependencies": { "@juggle/resize-observer": "^3.3.1", "@netless/telebox-insider": "1.0.0-alpha.
|
12187
|
+
window.NETLESS_DEPS = { "dependencies": { "@juggle/resize-observer": "^3.3.1", "@netless/telebox-insider": "1.0.0-alpha.36", "emittery": "^0.11.0", "lodash": "^4.17.21", "p-retry": "^4.6.2", "side-effect-manager": "^1.1.1", "uuid": "^7.0.3", "value-enhancer": "^1.3.2" }, "peerDependencies": { "white-web-sdk": "^2.16.0" }, "devDependencies": { "@netless/app-docs-viewer": "^0.3.2", "@netless/app-plyr": "0.2.0", "@playwright/test": "^1.23.2", "@rollup/plugin-commonjs": "^20.0.0", "@rollup/plugin-node-resolve": "^13.0.4", "@rollup/plugin-url": "^6.1.0", "@sveltejs/vite-plugin-svelte": "^1.0.0-next.49", "@tsconfig/svelte": "^2.0.1", "@types/debug": "^4.1.7", "@types/lodash": "^4.14.182", "@types/lodash-es": "^4.17.6", "@types/node": "^18.0.3", "@types/uuid": "^8.3.4", "@typescript-eslint/eslint-plugin": "^4.30.0", "@typescript-eslint/parser": "^4.30.0", "@vitest/ui": "^0.14.2", "cypress": "^8.7.0", "dotenv": "^10.0.0", "eslint": "^7.32.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-svelte3": "^3.2.0", "jsdom": "^19.0.0", "less": "^4.1.3", "prettier": "^2.3.2", "prettier-plugin-svelte": "^2.4.0", "rollup-plugin-analyzer": "^4.0.0", "rollup-plugin-styles": "^3.14.1", "svelte": "^3.42.4", "typescript": "^4.5.5", "vite": "^2.5.3", "vite-plugin-dts": "^1.2.1", "vitest": "^0.18.0", "white-web-sdk": "2.16.26" } };
|
12164
12188
|
}
|
12165
12189
|
static async mount(params) {
|
12166
12190
|
var _a;
|
package/dist/index.es.js
CHANGED
@@ -1347,6 +1347,54 @@ class ViewSync {
|
|
1347
1347
|
constructor(context) {
|
1348
1348
|
this.context = context;
|
1349
1349
|
this.sem = new SideEffectManager();
|
1350
|
+
this.createSynchronizer = () => {
|
1351
|
+
return new CameraSynchronizer((camera) => {
|
1352
|
+
this.context.camera$.setValue(camera, true);
|
1353
|
+
const notStoreCamera = this.context.viewMode$ && this.context.viewMode$.value === ViewMode.Freedom;
|
1354
|
+
if (notStoreCamera) {
|
1355
|
+
return;
|
1356
|
+
} else {
|
1357
|
+
this.context.storeCamera(camera);
|
1358
|
+
}
|
1359
|
+
});
|
1360
|
+
};
|
1361
|
+
this.subscribeView = () => {
|
1362
|
+
return this.context.view$.subscribe((view) => {
|
1363
|
+
const currentCamera = this.context.camera$.value;
|
1364
|
+
if (currentCamera && this.context.size$.value) {
|
1365
|
+
view == null ? void 0 : view.moveCamera({
|
1366
|
+
scale: 1,
|
1367
|
+
animationMode: AnimationMode.Immediately
|
1368
|
+
});
|
1369
|
+
this.synchronizer.onRemoteUpdate(currentCamera, this.context.size$.value);
|
1370
|
+
}
|
1371
|
+
this.bindView(view);
|
1372
|
+
});
|
1373
|
+
};
|
1374
|
+
this.subscribeCamera = () => {
|
1375
|
+
return this.context.camera$.subscribe((camera, skipUpdate) => {
|
1376
|
+
if (skipUpdate)
|
1377
|
+
return;
|
1378
|
+
const size2 = this.context.size$.value;
|
1379
|
+
if (camera && size2) {
|
1380
|
+
this.synchronizer.onRemoteUpdate(camera, size2);
|
1381
|
+
}
|
1382
|
+
});
|
1383
|
+
};
|
1384
|
+
this.subscribeSize = () => {
|
1385
|
+
return this.context.size$.subscribe((size2) => {
|
1386
|
+
if (size2) {
|
1387
|
+
this.synchronizer.onRemoteSizeUpdate(size2);
|
1388
|
+
}
|
1389
|
+
});
|
1390
|
+
};
|
1391
|
+
this.subscribeStageRect = () => {
|
1392
|
+
return this.context.stageRect$.subscribe((rect) => {
|
1393
|
+
if (rect) {
|
1394
|
+
this.synchronizer.setRect(rect);
|
1395
|
+
}
|
1396
|
+
});
|
1397
|
+
};
|
1350
1398
|
this.bindView = (view) => {
|
1351
1399
|
if (!view)
|
1352
1400
|
return;
|
@@ -1366,44 +1414,13 @@ class ViewSync {
|
|
1366
1414
|
this.synchronizer.onLocalCameraUpdate(__spreadProps(__spreadValues({}, camera), { scale: remoteScale, id: this.context.uid }));
|
1367
1415
|
}
|
1368
1416
|
};
|
1369
|
-
this.synchronizer =
|
1370
|
-
this.context.camera$.setValue(camera, true);
|
1371
|
-
const notStoreCamera = this.context.viewMode$ && this.context.viewMode$.value === ViewMode.Freedom;
|
1372
|
-
if (notStoreCamera) {
|
1373
|
-
return;
|
1374
|
-
} else {
|
1375
|
-
this.context.storeCamera(camera);
|
1376
|
-
}
|
1377
|
-
});
|
1417
|
+
this.synchronizer = this.createSynchronizer();
|
1378
1418
|
this.bindView(this.context.view$.value);
|
1379
1419
|
this.sem.add(() => [
|
1380
|
-
this.
|
1381
|
-
|
1382
|
-
|
1383
|
-
|
1384
|
-
scale: 1,
|
1385
|
-
animationMode: AnimationMode.Immediately
|
1386
|
-
});
|
1387
|
-
this.synchronizer.onRemoteUpdate(currentCamera, this.context.size$.value);
|
1388
|
-
}
|
1389
|
-
this.bindView(view);
|
1390
|
-
}),
|
1391
|
-
this.context.camera$.subscribe((camera, skipUpdate) => {
|
1392
|
-
const size2 = this.context.size$.value;
|
1393
|
-
if (camera && size2 && !skipUpdate) {
|
1394
|
-
this.synchronizer.onRemoteUpdate(camera, size2);
|
1395
|
-
}
|
1396
|
-
}),
|
1397
|
-
this.context.size$.subscribe((size2) => {
|
1398
|
-
if (size2) {
|
1399
|
-
this.synchronizer.onRemoteSizeUpdate(size2);
|
1400
|
-
}
|
1401
|
-
}),
|
1402
|
-
this.context.stageRect$.subscribe((rect) => {
|
1403
|
-
if (rect) {
|
1404
|
-
this.synchronizer.setRect(rect);
|
1405
|
-
}
|
1406
|
-
})
|
1420
|
+
this.subscribeView(),
|
1421
|
+
this.subscribeCamera(),
|
1422
|
+
this.subscribeSize(),
|
1423
|
+
this.subscribeStageRect()
|
1407
1424
|
]);
|
1408
1425
|
const camera$size$ = combine([this.context.camera$, this.context.size$]);
|
1409
1426
|
camera$size$.reaction(([camera, size2]) => {
|
@@ -5248,8 +5265,13 @@ class TeleBoxManager {
|
|
5248
5265
|
const handler = (evt) => {
|
5249
5266
|
prefersDark$.setValue(evt.matches);
|
5250
5267
|
};
|
5251
|
-
prefersDarkMatch.addEventListener
|
5252
|
-
|
5268
|
+
if (prefersDarkMatch.addEventListener) {
|
5269
|
+
prefersDarkMatch.addEventListener("change", handler);
|
5270
|
+
return () => prefersDarkMatch.removeEventListener("change", handler);
|
5271
|
+
} else {
|
5272
|
+
prefersDarkMatch.addListener(handler);
|
5273
|
+
return () => prefersDarkMatch.removeListener(handler);
|
5274
|
+
}
|
5253
5275
|
});
|
5254
5276
|
}
|
5255
5277
|
const prefersColorScheme$ = new Val(prefersColorScheme);
|
@@ -12092,8 +12114,8 @@ const reconnectRefresher = new ReconnectRefresher({ emitter });
|
|
12092
12114
|
const _WindowManager = class extends InvisiblePlugin {
|
12093
12115
|
constructor(context) {
|
12094
12116
|
super(context);
|
12095
|
-
this.version = "1.0.0-canary.
|
12096
|
-
this.dependencies = { "dependencies": { "@juggle/resize-observer": "^3.3.1", "@netless/telebox-insider": "1.0.0-alpha.
|
12117
|
+
this.version = "1.0.0-canary.46";
|
12118
|
+
this.dependencies = { "dependencies": { "@juggle/resize-observer": "^3.3.1", "@netless/telebox-insider": "1.0.0-alpha.36", "emittery": "^0.11.0", "lodash": "^4.17.21", "p-retry": "^4.6.2", "side-effect-manager": "^1.1.1", "uuid": "^7.0.3", "value-enhancer": "^1.3.2" }, "peerDependencies": { "white-web-sdk": "^2.16.0" }, "devDependencies": { "@netless/app-docs-viewer": "^0.3.2", "@netless/app-plyr": "0.2.0", "@playwright/test": "^1.23.2", "@rollup/plugin-commonjs": "^20.0.0", "@rollup/plugin-node-resolve": "^13.0.4", "@rollup/plugin-url": "^6.1.0", "@sveltejs/vite-plugin-svelte": "^1.0.0-next.49", "@tsconfig/svelte": "^2.0.1", "@types/debug": "^4.1.7", "@types/lodash": "^4.14.182", "@types/lodash-es": "^4.17.6", "@types/node": "^18.0.3", "@types/uuid": "^8.3.4", "@typescript-eslint/eslint-plugin": "^4.30.0", "@typescript-eslint/parser": "^4.30.0", "@vitest/ui": "^0.14.2", "cypress": "^8.7.0", "dotenv": "^10.0.0", "eslint": "^7.32.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-svelte3": "^3.2.0", "jsdom": "^19.0.0", "less": "^4.1.3", "prettier": "^2.3.2", "prettier-plugin-svelte": "^2.4.0", "rollup-plugin-analyzer": "^4.0.0", "rollup-plugin-styles": "^3.14.1", "svelte": "^3.42.4", "typescript": "^4.5.5", "vite": "^2.5.3", "vite-plugin-dts": "^1.2.1", "vitest": "^0.18.0", "white-web-sdk": "2.16.26" } };
|
12097
12119
|
this.emitter = callbacks;
|
12098
12120
|
this.viewMode = ViewMode.Broadcaster;
|
12099
12121
|
this.viewMode$ = new Val(ViewMode.Broadcaster);
|
@@ -12132,7 +12154,9 @@ const _WindowManager = class extends InvisiblePlugin {
|
|
12132
12154
|
clearTimeout(this.cameraUpdating);
|
12133
12155
|
this.cameraUpdating = 0;
|
12134
12156
|
this.mainView.callbacks.on("onCameraUpdated", this.onCameraUpdated);
|
12135
|
-
|
12157
|
+
if (nextScale) {
|
12158
|
+
this.nextCamera = __spreadProps(__spreadValues({}, nextCamera), { scale: nextScale });
|
12159
|
+
}
|
12136
12160
|
}
|
12137
12161
|
};
|
12138
12162
|
this.onCameraUpdated = () => {
|
@@ -12153,7 +12177,7 @@ const _WindowManager = class extends InvisiblePlugin {
|
|
12153
12177
|
}, 50);
|
12154
12178
|
};
|
12155
12179
|
_WindowManager.displayer = context.displayer;
|
12156
|
-
window.NETLESS_DEPS = { "dependencies": { "@juggle/resize-observer": "^3.3.1", "@netless/telebox-insider": "1.0.0-alpha.
|
12180
|
+
window.NETLESS_DEPS = { "dependencies": { "@juggle/resize-observer": "^3.3.1", "@netless/telebox-insider": "1.0.0-alpha.36", "emittery": "^0.11.0", "lodash": "^4.17.21", "p-retry": "^4.6.2", "side-effect-manager": "^1.1.1", "uuid": "^7.0.3", "value-enhancer": "^1.3.2" }, "peerDependencies": { "white-web-sdk": "^2.16.0" }, "devDependencies": { "@netless/app-docs-viewer": "^0.3.2", "@netless/app-plyr": "0.2.0", "@playwright/test": "^1.23.2", "@rollup/plugin-commonjs": "^20.0.0", "@rollup/plugin-node-resolve": "^13.0.4", "@rollup/plugin-url": "^6.1.0", "@sveltejs/vite-plugin-svelte": "^1.0.0-next.49", "@tsconfig/svelte": "^2.0.1", "@types/debug": "^4.1.7", "@types/lodash": "^4.14.182", "@types/lodash-es": "^4.17.6", "@types/node": "^18.0.3", "@types/uuid": "^8.3.4", "@typescript-eslint/eslint-plugin": "^4.30.0", "@typescript-eslint/parser": "^4.30.0", "@vitest/ui": "^0.14.2", "cypress": "^8.7.0", "dotenv": "^10.0.0", "eslint": "^7.32.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-svelte3": "^3.2.0", "jsdom": "^19.0.0", "less": "^4.1.3", "prettier": "^2.3.2", "prettier-plugin-svelte": "^2.4.0", "rollup-plugin-analyzer": "^4.0.0", "rollup-plugin-styles": "^3.14.1", "svelte": "^3.42.4", "typescript": "^4.5.5", "vite": "^2.5.3", "vite-plugin-dts": "^1.2.1", "vitest": "^0.18.0", "white-web-sdk": "2.16.26" } };
|
12157
12181
|
}
|
12158
12182
|
static async mount(params) {
|
12159
12183
|
var _a;
|
package/dist/index.umd.js
CHANGED
@@ -1348,6 +1348,54 @@ var __objRest = (source, exclude) => {
|
|
1348
1348
|
constructor(context) {
|
1349
1349
|
this.context = context;
|
1350
1350
|
this.sem = new sideEffectManager.SideEffectManager();
|
1351
|
+
this.createSynchronizer = () => {
|
1352
|
+
return new CameraSynchronizer((camera) => {
|
1353
|
+
this.context.camera$.setValue(camera, true);
|
1354
|
+
const notStoreCamera = this.context.viewMode$ && this.context.viewMode$.value === whiteWebSdk.ViewMode.Freedom;
|
1355
|
+
if (notStoreCamera) {
|
1356
|
+
return;
|
1357
|
+
} else {
|
1358
|
+
this.context.storeCamera(camera);
|
1359
|
+
}
|
1360
|
+
});
|
1361
|
+
};
|
1362
|
+
this.subscribeView = () => {
|
1363
|
+
return this.context.view$.subscribe((view) => {
|
1364
|
+
const currentCamera = this.context.camera$.value;
|
1365
|
+
if (currentCamera && this.context.size$.value) {
|
1366
|
+
view == null ? void 0 : view.moveCamera({
|
1367
|
+
scale: 1,
|
1368
|
+
animationMode: whiteWebSdk.AnimationMode.Immediately
|
1369
|
+
});
|
1370
|
+
this.synchronizer.onRemoteUpdate(currentCamera, this.context.size$.value);
|
1371
|
+
}
|
1372
|
+
this.bindView(view);
|
1373
|
+
});
|
1374
|
+
};
|
1375
|
+
this.subscribeCamera = () => {
|
1376
|
+
return this.context.camera$.subscribe((camera, skipUpdate) => {
|
1377
|
+
if (skipUpdate)
|
1378
|
+
return;
|
1379
|
+
const size = this.context.size$.value;
|
1380
|
+
if (camera && size) {
|
1381
|
+
this.synchronizer.onRemoteUpdate(camera, size);
|
1382
|
+
}
|
1383
|
+
});
|
1384
|
+
};
|
1385
|
+
this.subscribeSize = () => {
|
1386
|
+
return this.context.size$.subscribe((size) => {
|
1387
|
+
if (size) {
|
1388
|
+
this.synchronizer.onRemoteSizeUpdate(size);
|
1389
|
+
}
|
1390
|
+
});
|
1391
|
+
};
|
1392
|
+
this.subscribeStageRect = () => {
|
1393
|
+
return this.context.stageRect$.subscribe((rect) => {
|
1394
|
+
if (rect) {
|
1395
|
+
this.synchronizer.setRect(rect);
|
1396
|
+
}
|
1397
|
+
});
|
1398
|
+
};
|
1351
1399
|
this.bindView = (view) => {
|
1352
1400
|
if (!view)
|
1353
1401
|
return;
|
@@ -1367,44 +1415,13 @@ var __objRest = (source, exclude) => {
|
|
1367
1415
|
this.synchronizer.onLocalCameraUpdate(__spreadProps(__spreadValues({}, camera), { scale: remoteScale, id: this.context.uid }));
|
1368
1416
|
}
|
1369
1417
|
};
|
1370
|
-
this.synchronizer =
|
1371
|
-
this.context.camera$.setValue(camera, true);
|
1372
|
-
const notStoreCamera = this.context.viewMode$ && this.context.viewMode$.value === whiteWebSdk.ViewMode.Freedom;
|
1373
|
-
if (notStoreCamera) {
|
1374
|
-
return;
|
1375
|
-
} else {
|
1376
|
-
this.context.storeCamera(camera);
|
1377
|
-
}
|
1378
|
-
});
|
1418
|
+
this.synchronizer = this.createSynchronizer();
|
1379
1419
|
this.bindView(this.context.view$.value);
|
1380
1420
|
this.sem.add(() => [
|
1381
|
-
this.
|
1382
|
-
|
1383
|
-
|
1384
|
-
|
1385
|
-
scale: 1,
|
1386
|
-
animationMode: whiteWebSdk.AnimationMode.Immediately
|
1387
|
-
});
|
1388
|
-
this.synchronizer.onRemoteUpdate(currentCamera, this.context.size$.value);
|
1389
|
-
}
|
1390
|
-
this.bindView(view);
|
1391
|
-
}),
|
1392
|
-
this.context.camera$.subscribe((camera, skipUpdate) => {
|
1393
|
-
const size = this.context.size$.value;
|
1394
|
-
if (camera && size && !skipUpdate) {
|
1395
|
-
this.synchronizer.onRemoteUpdate(camera, size);
|
1396
|
-
}
|
1397
|
-
}),
|
1398
|
-
this.context.size$.subscribe((size) => {
|
1399
|
-
if (size) {
|
1400
|
-
this.synchronizer.onRemoteSizeUpdate(size);
|
1401
|
-
}
|
1402
|
-
}),
|
1403
|
-
this.context.stageRect$.subscribe((rect) => {
|
1404
|
-
if (rect) {
|
1405
|
-
this.synchronizer.setRect(rect);
|
1406
|
-
}
|
1407
|
-
})
|
1421
|
+
this.subscribeView(),
|
1422
|
+
this.subscribeCamera(),
|
1423
|
+
this.subscribeSize(),
|
1424
|
+
this.subscribeStageRect()
|
1408
1425
|
]);
|
1409
1426
|
const camera$size$ = valueEnhancer.combine([this.context.camera$, this.context.size$]);
|
1410
1427
|
camera$size$.reaction(([camera, size]) => {
|
@@ -5249,8 +5266,13 @@ var __objRest = (source, exclude) => {
|
|
5249
5266
|
const handler = (evt) => {
|
5250
5267
|
prefersDark$.setValue(evt.matches);
|
5251
5268
|
};
|
5252
|
-
prefersDarkMatch.addEventListener
|
5253
|
-
|
5269
|
+
if (prefersDarkMatch.addEventListener) {
|
5270
|
+
prefersDarkMatch.addEventListener("change", handler);
|
5271
|
+
return () => prefersDarkMatch.removeEventListener("change", handler);
|
5272
|
+
} else {
|
5273
|
+
prefersDarkMatch.addListener(handler);
|
5274
|
+
return () => prefersDarkMatch.removeListener(handler);
|
5275
|
+
}
|
5254
5276
|
});
|
5255
5277
|
}
|
5256
5278
|
const prefersColorScheme$ = new valueEnhancer.Val(prefersColorScheme);
|
@@ -12093,8 +12115,8 @@ var __objRest = (source, exclude) => {
|
|
12093
12115
|
const _WindowManager = class extends whiteWebSdk.InvisiblePlugin {
|
12094
12116
|
constructor(context) {
|
12095
12117
|
super(context);
|
12096
|
-
this.version = "1.0.0-canary.
|
12097
|
-
this.dependencies = { "dependencies": { "@juggle/resize-observer": "^3.3.1", "@netless/telebox-insider": "1.0.0-alpha.
|
12118
|
+
this.version = "1.0.0-canary.46";
|
12119
|
+
this.dependencies = { "dependencies": { "@juggle/resize-observer": "^3.3.1", "@netless/telebox-insider": "1.0.0-alpha.36", "emittery": "^0.11.0", "lodash": "^4.17.21", "p-retry": "^4.6.2", "side-effect-manager": "^1.1.1", "uuid": "^7.0.3", "value-enhancer": "^1.3.2" }, "peerDependencies": { "white-web-sdk": "^2.16.0" }, "devDependencies": { "@netless/app-docs-viewer": "^0.3.2", "@netless/app-plyr": "0.2.0", "@playwright/test": "^1.23.2", "@rollup/plugin-commonjs": "^20.0.0", "@rollup/plugin-node-resolve": "^13.0.4", "@rollup/plugin-url": "^6.1.0", "@sveltejs/vite-plugin-svelte": "^1.0.0-next.49", "@tsconfig/svelte": "^2.0.1", "@types/debug": "^4.1.7", "@types/lodash": "^4.14.182", "@types/lodash-es": "^4.17.6", "@types/node": "^18.0.3", "@types/uuid": "^8.3.4", "@typescript-eslint/eslint-plugin": "^4.30.0", "@typescript-eslint/parser": "^4.30.0", "@vitest/ui": "^0.14.2", "cypress": "^8.7.0", "dotenv": "^10.0.0", "eslint": "^7.32.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-svelte3": "^3.2.0", "jsdom": "^19.0.0", "less": "^4.1.3", "prettier": "^2.3.2", "prettier-plugin-svelte": "^2.4.0", "rollup-plugin-analyzer": "^4.0.0", "rollup-plugin-styles": "^3.14.1", "svelte": "^3.42.4", "typescript": "^4.5.5", "vite": "^2.5.3", "vite-plugin-dts": "^1.2.1", "vitest": "^0.18.0", "white-web-sdk": "2.16.26" } };
|
12098
12120
|
this.emitter = callbacks;
|
12099
12121
|
this.viewMode = whiteWebSdk.ViewMode.Broadcaster;
|
12100
12122
|
this.viewMode$ = new valueEnhancer.Val(whiteWebSdk.ViewMode.Broadcaster);
|
@@ -12133,7 +12155,9 @@ var __objRest = (source, exclude) => {
|
|
12133
12155
|
clearTimeout(this.cameraUpdating);
|
12134
12156
|
this.cameraUpdating = 0;
|
12135
12157
|
this.mainView.callbacks.on("onCameraUpdated", this.onCameraUpdated);
|
12136
|
-
|
12158
|
+
if (nextScale) {
|
12159
|
+
this.nextCamera = __spreadProps(__spreadValues({}, nextCamera), { scale: nextScale });
|
12160
|
+
}
|
12137
12161
|
}
|
12138
12162
|
};
|
12139
12163
|
this.onCameraUpdated = () => {
|
@@ -12154,7 +12178,7 @@ var __objRest = (source, exclude) => {
|
|
12154
12178
|
}, 50);
|
12155
12179
|
};
|
12156
12180
|
_WindowManager.displayer = context.displayer;
|
12157
|
-
window.NETLESS_DEPS = { "dependencies": { "@juggle/resize-observer": "^3.3.1", "@netless/telebox-insider": "1.0.0-alpha.
|
12181
|
+
window.NETLESS_DEPS = { "dependencies": { "@juggle/resize-observer": "^3.3.1", "@netless/telebox-insider": "1.0.0-alpha.36", "emittery": "^0.11.0", "lodash": "^4.17.21", "p-retry": "^4.6.2", "side-effect-manager": "^1.1.1", "uuid": "^7.0.3", "value-enhancer": "^1.3.2" }, "peerDependencies": { "white-web-sdk": "^2.16.0" }, "devDependencies": { "@netless/app-docs-viewer": "^0.3.2", "@netless/app-plyr": "0.2.0", "@playwright/test": "^1.23.2", "@rollup/plugin-commonjs": "^20.0.0", "@rollup/plugin-node-resolve": "^13.0.4", "@rollup/plugin-url": "^6.1.0", "@sveltejs/vite-plugin-svelte": "^1.0.0-next.49", "@tsconfig/svelte": "^2.0.1", "@types/debug": "^4.1.7", "@types/lodash": "^4.14.182", "@types/lodash-es": "^4.17.6", "@types/node": "^18.0.3", "@types/uuid": "^8.3.4", "@typescript-eslint/eslint-plugin": "^4.30.0", "@typescript-eslint/parser": "^4.30.0", "@vitest/ui": "^0.14.2", "cypress": "^8.7.0", "dotenv": "^10.0.0", "eslint": "^7.32.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-svelte3": "^3.2.0", "jsdom": "^19.0.0", "less": "^4.1.3", "prettier": "^2.3.2", "prettier-plugin-svelte": "^2.4.0", "rollup-plugin-analyzer": "^4.0.0", "rollup-plugin-styles": "^3.14.1", "svelte": "^3.42.4", "typescript": "^4.5.5", "vite": "^2.5.3", "vite-plugin-dts": "^1.2.1", "vitest": "^0.18.0", "white-web-sdk": "2.16.26" } };
|
12158
12182
|
}
|
12159
12183
|
static async mount(params) {
|
12160
12184
|
var _a;
|
@@ -18,6 +18,11 @@ export declare class ViewSync {
|
|
18
18
|
private sem;
|
19
19
|
private synchronizer;
|
20
20
|
constructor(context: ViewSyncContext);
|
21
|
+
private createSynchronizer;
|
22
|
+
private subscribeView;
|
23
|
+
private subscribeCamera;
|
24
|
+
private subscribeSize;
|
25
|
+
private subscribeStageRect;
|
21
26
|
bindView: (view?: View | undefined) => void;
|
22
27
|
private onCameraUpdatedByDevice;
|
23
28
|
destroy(): void;
|
package/dist/src/typings.d.ts
CHANGED
@@ -86,3 +86,4 @@ export type { Storage, StorageStateChangedEvent, StorageStateChangedListener } f
|
|
86
86
|
export * from "./Page";
|
87
87
|
export * from "./Utils/error";
|
88
88
|
export type { Member } from "./Helper";
|
89
|
+
export type { TeleBoxManager, TeleBoxManagerQueryConfig } from "@netless/telebox-insider";
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@netless/window-manager",
|
3
|
-
"version": "1.0.0-canary.
|
3
|
+
"version": "1.0.0-canary.46",
|
4
4
|
"description": "",
|
5
5
|
"main": "dist/index.cjs.js",
|
6
6
|
"module": "dist/index.es.js",
|
@@ -25,7 +25,7 @@
|
|
25
25
|
},
|
26
26
|
"dependencies": {
|
27
27
|
"@juggle/resize-observer": "^3.3.1",
|
28
|
-
"@netless/telebox-insider": "1.0.0-alpha.
|
28
|
+
"@netless/telebox-insider": "1.0.0-alpha.36",
|
29
29
|
"emittery": "^0.11.0",
|
30
30
|
"lodash": "^4.17.21",
|
31
31
|
"p-retry": "^4.6.2",
|
package/pnpm-lock.yaml
CHANGED
@@ -4,7 +4,7 @@ specifiers:
|
|
4
4
|
'@juggle/resize-observer': ^3.3.1
|
5
5
|
'@netless/app-docs-viewer': ^0.3.2
|
6
6
|
'@netless/app-plyr': 0.2.0
|
7
|
-
'@netless/telebox-insider': 1.0.0-alpha.
|
7
|
+
'@netless/telebox-insider': 1.0.0-alpha.36
|
8
8
|
'@playwright/test': ^1.23.2
|
9
9
|
'@rollup/plugin-commonjs': ^20.0.0
|
10
10
|
'@rollup/plugin-node-resolve': ^13.0.4
|
@@ -45,7 +45,7 @@ specifiers:
|
|
45
45
|
|
46
46
|
dependencies:
|
47
47
|
'@juggle/resize-observer': 3.3.1
|
48
|
-
'@netless/telebox-insider': 1.0.0-alpha.
|
48
|
+
'@netless/telebox-insider': 1.0.0-alpha.36
|
49
49
|
emittery: 0.11.0
|
50
50
|
lodash: 4.17.21
|
51
51
|
p-retry: 4.6.2
|
@@ -247,8 +247,8 @@ packages:
|
|
247
247
|
resolution: {integrity: sha512-7NzsJrba0R/mq/l10SkIZQwbrNVJyPxZYrjK6xL3Ts732iWAVuS2UB0u3s6iGeUVcqV39A679yva8APWRl4M0A==}
|
248
248
|
dev: true
|
249
249
|
|
250
|
-
/@netless/telebox-insider/1.0.0-alpha.
|
251
|
-
resolution: {integrity: sha512-
|
250
|
+
/@netless/telebox-insider/1.0.0-alpha.36:
|
251
|
+
resolution: {integrity: sha512-wW0/pmagLt1pzV7PfCWJAAsOm4+RED6GEh2mOSTGS/q6lIOV8Qjoe0MizaR3ild7d6rg/kIFj2II3IYF0d+OiA==}
|
252
252
|
dependencies:
|
253
253
|
'@juggle/resize-observer': 3.3.1
|
254
254
|
'@types/shallowequal': 1.1.1
|
package/src/View/ViewSync.ts
CHANGED
@@ -30,7 +30,25 @@ export class ViewSync {
|
|
30
30
|
private synchronizer: CameraSynchronizer;
|
31
31
|
|
32
32
|
constructor(private context: ViewSyncContext) {
|
33
|
-
this.synchronizer =
|
33
|
+
this.synchronizer = this.createSynchronizer();
|
34
|
+
this.bindView(this.context.view$.value);
|
35
|
+
this.sem.add(() => [
|
36
|
+
this.subscribeView(),
|
37
|
+
this.subscribeCamera(),
|
38
|
+
this.subscribeSize(),
|
39
|
+
this.subscribeStageRect(),
|
40
|
+
]);
|
41
|
+
const camera$size$ = combine([this.context.camera$, this.context.size$]);
|
42
|
+
camera$size$.reaction(([camera, size]) => {
|
43
|
+
if (camera && size) {
|
44
|
+
this.synchronizer.onRemoteUpdate(camera, size);
|
45
|
+
camera$size$.destroy();
|
46
|
+
}
|
47
|
+
});
|
48
|
+
}
|
49
|
+
|
50
|
+
private createSynchronizer = () => {
|
51
|
+
return new CameraSynchronizer((camera: ICamera) => {
|
34
52
|
this.context.camera$.setValue(camera, true);
|
35
53
|
const notStoreCamera =
|
36
54
|
this.context.viewMode$ && this.context.viewMode$.value === ViewMode.Freedom;
|
@@ -40,42 +58,44 @@ export class ViewSync {
|
|
40
58
|
this.context.storeCamera(camera);
|
41
59
|
}
|
42
60
|
});
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
this.context.size$.subscribe(size => {
|
64
|
-
if (size) {
|
65
|
-
this.synchronizer.onRemoteSizeUpdate(size);
|
66
|
-
}
|
67
|
-
}),
|
68
|
-
this.context.stageRect$.subscribe(rect => {
|
69
|
-
if (rect) {
|
70
|
-
this.synchronizer.setRect(rect);
|
71
|
-
}
|
72
|
-
})
|
73
|
-
]);
|
74
|
-
const camera$size$ = combine([this.context.camera$, this.context.size$]);
|
75
|
-
camera$size$.reaction(([camera, size]) => {
|
61
|
+
}
|
62
|
+
|
63
|
+
private subscribeView = () => {
|
64
|
+
return this.context.view$.subscribe(view => {
|
65
|
+
const currentCamera = this.context.camera$.value;
|
66
|
+
if (currentCamera && this.context.size$.value) {
|
67
|
+
view?.moveCamera({
|
68
|
+
scale: 1,
|
69
|
+
animationMode: AnimationMode.Immediately,
|
70
|
+
});
|
71
|
+
this.synchronizer.onRemoteUpdate(currentCamera, this.context.size$.value);
|
72
|
+
}
|
73
|
+
this.bindView(view);
|
74
|
+
});
|
75
|
+
}
|
76
|
+
|
77
|
+
private subscribeCamera = () => {
|
78
|
+
return this.context.camera$.subscribe((camera, skipUpdate) => {
|
79
|
+
if (skipUpdate) return;
|
80
|
+
const size = this.context.size$.value;
|
76
81
|
if (camera && size) {
|
77
82
|
this.synchronizer.onRemoteUpdate(camera, size);
|
78
|
-
|
83
|
+
}
|
84
|
+
});
|
85
|
+
}
|
86
|
+
|
87
|
+
private subscribeSize = () => {
|
88
|
+
return this.context.size$.subscribe(size => {
|
89
|
+
if (size) {
|
90
|
+
this.synchronizer.onRemoteSizeUpdate(size);
|
91
|
+
}
|
92
|
+
});
|
93
|
+
}
|
94
|
+
|
95
|
+
private subscribeStageRect = () => {
|
96
|
+
return this.context.stageRect$.subscribe(rect => {
|
97
|
+
if (rect) {
|
98
|
+
this.synchronizer.setRect(rect);
|
79
99
|
}
|
80
100
|
});
|
81
101
|
}
|
package/src/index.ts
CHANGED
@@ -839,7 +839,9 @@ export class WindowManager extends InvisiblePlugin<WindowMangerAttributes> imple
|
|
839
839
|
clearTimeout(this.cameraUpdating);
|
840
840
|
this.cameraUpdating = 0;
|
841
841
|
this.mainView.callbacks.on("onCameraUpdated", this.onCameraUpdated);
|
842
|
-
|
842
|
+
if (nextScale) {
|
843
|
+
this.nextCamera = { ...nextCamera, scale: nextScale };
|
844
|
+
}
|
843
845
|
}
|
844
846
|
};
|
845
847
|
|
package/src/typings.ts
CHANGED
@@ -94,3 +94,4 @@ export type { Storage, StorageStateChangedEvent, StorageStateChangedListener } f
|
|
94
94
|
export * from "./Page";
|
95
95
|
export * from "./Utils/error";
|
96
96
|
export type { Member } from "./Helper";
|
97
|
+
export type { TeleBoxManager, TeleBoxManagerQueryConfig } from "@netless/telebox-insider";
|