@netless/window-manager 1.0.0-canary.53 → 1.0.0-canary.54

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.
Files changed (44) hide show
  1. package/dist/index.cjs.js +381 -444
  2. package/dist/index.es.js +427 -490
  3. package/dist/index.umd.js +381 -445
  4. package/dist/src/App/AppContext.d.ts +8 -8
  5. package/dist/src/AppManager.d.ts +5 -1
  6. package/dist/src/Cursor/index.d.ts +1 -0
  7. package/dist/src/Utils/Reactive.d.ts +1 -1
  8. package/dist/src/View/CameraSynchronizer.d.ts +3 -2
  9. package/dist/src/View/ScrollMode.d.ts +32 -0
  10. package/dist/src/View/ViewSync.d.ts +3 -2
  11. package/dist/src/callback.d.ts +3 -0
  12. package/dist/src/constants.d.ts +2 -0
  13. package/dist/src/index.d.ts +21 -11
  14. package/dist/src/storage.d.ts +7 -0
  15. package/dist/src/typings.d.ts +5 -4
  16. package/dist/style.css +2 -1
  17. package/docs/api.md +10 -0
  18. package/package.json +4 -3
  19. package/pnpm-lock.yaml +28 -73
  20. package/src/App/AppContext.ts +19 -8
  21. package/src/App/WhiteboardView.ts +4 -2
  22. package/src/AppListener.ts +1 -10
  23. package/src/AppManager.ts +19 -1
  24. package/src/Cursor/index.ts +6 -2
  25. package/src/Utils/Reactive.ts +2 -1
  26. package/src/View/CameraSynchronizer.ts +33 -22
  27. package/src/View/MainView.ts +1 -0
  28. package/src/View/ScrollMode.ts +229 -0
  29. package/src/View/ViewSync.ts +24 -16
  30. package/src/callback.ts +3 -0
  31. package/src/constants.ts +3 -0
  32. package/src/index.ts +56 -63
  33. package/src/storage.ts +15 -0
  34. package/src/style.css +1 -1
  35. package/src/typings.ts +6 -3
  36. package/vite.config.js +1 -1
  37. package/dist/src/App/Storage/StorageEvent.d.ts +0 -8
  38. package/dist/src/App/Storage/index.d.ts +0 -39
  39. package/dist/src/App/Storage/typings.d.ts +0 -22
  40. package/dist/src/App/Storage/utils.d.ts +0 -5
  41. package/src/App/Storage/StorageEvent.ts +0 -21
  42. package/src/App/Storage/index.ts +0 -295
  43. package/src/App/Storage/typings.ts +0 -23
  44. package/src/App/Storage/utils.ts +0 -17
package/pnpm-lock.yaml CHANGED
@@ -4,6 +4,7 @@ specifiers:
4
4
  '@juggle/resize-observer': ^3.3.1
5
5
  '@netless/app-docs-viewer': ^0.3.3
6
6
  '@netless/app-plyr': 0.2.2
7
+ '@netless/synced-store': ^2.0.7
7
8
  '@netless/telebox-insider': 1.0.0-alpha.37
8
9
  '@playwright/test': ^1.23.2
9
10
  '@rollup/plugin-commonjs': ^20.0.0
@@ -33,7 +34,7 @@ specifiers:
33
34
  prettier-plugin-svelte: ^2.4.0
34
35
  rollup-plugin-analyzer: ^4.0.0
35
36
  rollup-plugin-styles: ^3.14.1
36
- side-effect-manager: ^1.1.1
37
+ side-effect-manager: ^1.2.1
37
38
  svelte: ^3.42.4
38
39
  typescript: ^4.5.5
39
40
  uuid: ^7.0.3
@@ -41,15 +42,16 @@ specifiers:
41
42
  vite: ^2.5.3
42
43
  vite-plugin-dts: ^1.2.1
43
44
  vitest: ^0.18.0
44
- white-web-sdk: 2.16.26
45
+ white-web-sdk: ^2.16.35
45
46
 
46
47
  dependencies:
47
48
  '@juggle/resize-observer': 3.3.1
49
+ '@netless/synced-store': 2.0.7_white-web-sdk@2.16.35
48
50
  '@netless/telebox-insider': 1.0.0-alpha.37
49
51
  emittery: 0.11.0
50
52
  lodash: 4.17.21
51
53
  p-retry: 4.6.2
52
- side-effect-manager: 1.1.1
54
+ side-effect-manager: 1.2.1
53
55
  uuid: 7.0.3
54
56
  value-enhancer: 1.3.2
55
57
 
@@ -86,7 +88,7 @@ devDependencies:
86
88
  vite: 2.8.6_less@4.1.3
87
89
  vite-plugin-dts: 1.2.1_vite@2.8.6
88
90
  vitest: 0.18.0_d3e3zazviv5held4lo66xldmcm
89
- white-web-sdk: 2.16.26
91
+ white-web-sdk: 2.16.35
90
92
 
91
93
  packages:
92
94
 
@@ -122,7 +124,6 @@ packages:
122
124
  engines: {node: '>=6.9.0'}
123
125
  dependencies:
124
126
  regenerator-runtime: 0.13.9
125
- dev: true
126
127
 
127
128
  /@cypress/request/2.88.10:
128
129
  resolution: {integrity: sha512-Zp7F+R93N0yZyG34GutyTNr+okam7s/Fzc1+i3kcqOP8vk6OuajuE9qZJ6Rs+10/1JFtXFYMdyarnU1rZuJesg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@cypress/request/-/request-2.88.10.tgz}
@@ -245,7 +246,18 @@ packages:
245
246
 
246
247
  /@netless/canvas-polyfill/0.0.4:
247
248
  resolution: {integrity: sha512-7NzsJrba0R/mq/l10SkIZQwbrNVJyPxZYrjK6xL3Ts732iWAVuS2UB0u3s6iGeUVcqV39A679yva8APWRl4M0A==}
248
- dev: true
249
+
250
+ /@netless/synced-store/2.0.7_white-web-sdk@2.16.35:
251
+ resolution: {integrity: sha512-E5ukXMTLa0Mlhlv9Rcy3MJSAM5kwiLoXQy42OCSIFdBR8jf0BKbSUXSjnA8J+FZq6UidNtGaadDWjhwlM1z5MA==}
252
+ peerDependencies:
253
+ white-web-sdk: '>= 2.16'
254
+ dependencies:
255
+ lodash-es: 4.17.21
256
+ remitter: 0.2.6
257
+ side-effect-manager: 1.2.1
258
+ value-enhancer: 1.3.2
259
+ white-web-sdk: 2.16.35
260
+ dev: false
249
261
 
250
262
  /@netless/telebox-insider/1.0.0-alpha.37:
251
263
  resolution: {integrity: sha512-Fazjl/sLaqXPASEvc3ZC+uQSzaCmlmOIpcTwokP//Hn9u4f6C1HvU1veIF1An+s6s44gSYkS9IegYZrGt5cOsg==}
@@ -254,7 +266,7 @@ packages:
254
266
  '@types/shallowequal': 1.1.1
255
267
  emittery: 0.11.0
256
268
  shallowequal: 1.1.0
257
- side-effect-manager: 1.1.1
269
+ side-effect-manager: 1.2.1
258
270
  stylefire: 7.0.3
259
271
  value-enhancer: 1.3.2
260
272
  dev: false
@@ -262,7 +274,6 @@ packages:
262
274
  /@netless/xml-js/1.6.15:
263
275
  resolution: {integrity: sha512-e0emMs7YtDB/ATUns1SJ61R9n9nfVvwwFodoc539Qt0ScksaCLCaFWgpEbLloj9sr60ry6Xd8QFHKULFIZB6zA==}
264
276
  hasBin: true
265
- dev: true
266
277
 
267
278
  /@nodelib/fs.scandir/2.1.5:
268
279
  resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
@@ -314,46 +325,36 @@ packages:
314
325
 
315
326
  /@protobufjs/aspromise/1.1.2:
316
327
  resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==}
317
- dev: true
318
328
 
319
329
  /@protobufjs/base64/1.1.2:
320
330
  resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==}
321
- dev: true
322
331
 
323
332
  /@protobufjs/codegen/2.0.4:
324
333
  resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==}
325
- dev: true
326
334
 
327
335
  /@protobufjs/eventemitter/1.1.0:
328
336
  resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==}
329
- dev: true
330
337
 
331
338
  /@protobufjs/fetch/1.1.0:
332
339
  resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==}
333
340
  dependencies:
334
341
  '@protobufjs/aspromise': 1.1.2
335
342
  '@protobufjs/inquire': 1.1.0
336
- dev: true
337
343
 
338
344
  /@protobufjs/float/1.0.2:
339
345
  resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==}
340
- dev: true
341
346
 
342
347
  /@protobufjs/inquire/1.1.0:
343
348
  resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==}
344
- dev: true
345
349
 
346
350
  /@protobufjs/path/1.1.2:
347
351
  resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==}
348
- dev: true
349
352
 
350
353
  /@protobufjs/pool/1.1.0:
351
354
  resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==}
352
- dev: true
353
355
 
354
356
  /@protobufjs/utf8/1.1.0:
355
357
  resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==}
356
- dev: true
357
358
 
358
359
  /@rollup/plugin-commonjs/20.0.0:
359
360
  resolution: {integrity: sha512-5K0g5W2Ol8hAcTHqcTBHiA7M58tfmYi1o9KxeJuuRNpGaTa5iLjcyemBitCBcKXaHamOBBEH2dGom6v6Unmqjg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@rollup/plugin-commonjs/-/plugin-commonjs-20.0.0.tgz}
@@ -543,7 +544,6 @@ packages:
543
544
 
544
545
  /@types/long/4.0.1:
545
546
  resolution: {integrity: sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==}
546
- dev: true
547
547
 
548
548
  /@types/ms/0.7.31:
549
549
  resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@types/ms/-/ms-0.7.31.tgz}
@@ -559,7 +559,6 @@ packages:
559
559
 
560
560
  /@types/node/18.0.3:
561
561
  resolution: {integrity: sha512-HzNRZtp4eepNitP+BD6k2L6DROIDG4Q0fm4x+dwfsr6LGmROENnok75VGw40628xf+iR24WeMFcHuuBDUAzzsQ==}
562
- dev: true
563
562
 
564
563
  /@types/parse-json/4.0.0:
565
564
  resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/@types/parse-json/-/parse-json-4.0.0.tgz}
@@ -877,7 +876,6 @@ packages:
877
876
  resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==}
878
877
  engines: {node: '>= 4.5.0'}
879
878
  hasBin: true
880
- dev: true
881
879
 
882
880
  /aws-sign2/0.7.0:
883
881
  resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/aws-sign2/-/aws-sign2-0.7.0.tgz}
@@ -899,7 +897,6 @@ packages:
899
897
 
900
898
  /bezier-js/2.6.1:
901
899
  resolution: {integrity: sha512-jelZM33eNzcZ9snJ/5HqJLw3IzXvA8RFcBjkdOB8SDYyOvW8Y2tTosojAiBTnD1MhbHoWUYNbxUXxBl61TxbRg==}
902
- dev: true
903
900
 
904
901
  /blob-util/2.0.2:
905
902
  resolution: {integrity: sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/blob-util/-/blob-util-2.0.2.tgz}
@@ -915,7 +912,6 @@ packages:
915
912
 
916
913
  /bowser/2.11.0:
917
914
  resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==}
918
- dev: true
919
915
 
920
916
  /brace-expansion/1.1.11:
921
917
  resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/brace-expansion/-/brace-expansion-1.1.11.tgz}
@@ -1106,7 +1102,6 @@ packages:
1106
1102
  resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
1107
1103
  dependencies:
1108
1104
  color-name: 1.1.3
1109
- dev: true
1110
1105
 
1111
1106
  /color-convert/2.0.1:
1112
1107
  resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/color-convert/-/color-convert-2.0.1.tgz}
@@ -1117,25 +1112,21 @@ packages:
1117
1112
 
1118
1113
  /color-name/1.1.3:
1119
1114
  resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
1120
- dev: true
1121
1115
 
1122
1116
  /color-name/1.1.4:
1123
1117
  resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
1124
- dev: true
1125
1118
 
1126
1119
  /color-string/1.9.0:
1127
1120
  resolution: {integrity: sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==}
1128
1121
  dependencies:
1129
1122
  color-name: 1.1.4
1130
1123
  simple-swizzle: 0.2.2
1131
- dev: true
1132
1124
 
1133
1125
  /color/3.2.1:
1134
1126
  resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==}
1135
1127
  dependencies:
1136
1128
  color-convert: 1.9.3
1137
1129
  color-string: 1.9.0
1138
- dev: true
1139
1130
 
1140
1131
  /colorette/2.0.16:
1141
1132
  resolution: {integrity: sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/colorette/-/colorette-2.0.16.tgz}
@@ -1182,7 +1173,6 @@ packages:
1182
1173
 
1183
1174
  /complex.js/2.1.1:
1184
1175
  resolution: {integrity: sha512-8njCHOTtFFLtegk6zQo0kkVX1rngygb/KQI6z1qZxlFI3scluC+LVTCFbrkWjBv4vvLlbQ9t88IPMC6k95VTTg==}
1185
- dev: true
1186
1176
 
1187
1177
  /concat-map/0.0.1:
1188
1178
  resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/concat-map/-/concat-map-0.0.1.tgz}
@@ -1198,7 +1188,6 @@ packages:
1198
1188
  resolution: {integrity: sha512-FRq5b/VMrWlrmCzwRrpDYNxyHP9BcAZC+xHJaqTgIE5091ZV1NTmyh0sGOg5XqpnHvR0svdy0sv1gWA1zmhxig==}
1199
1189
  deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
1200
1190
  requiresBuild: true
1201
- dev: true
1202
1191
 
1203
1192
  /core-util-is/1.0.2:
1204
1193
  resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/core-util-is/-/core-util-is-1.0.2.tgz}
@@ -1497,12 +1486,10 @@ packages:
1497
1486
 
1498
1487
  /decimal.js/10.3.1:
1499
1488
  resolution: {integrity: sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==}
1500
- dev: true
1501
1489
 
1502
1490
  /decode-uri-component/0.2.0:
1503
1491
  resolution: {integrity: sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz}
1504
1492
  engines: {node: '>=0.10'}
1505
- dev: true
1506
1493
 
1507
1494
  /deep-eql/3.0.1:
1508
1495
  resolution: {integrity: sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==}
@@ -1534,7 +1521,6 @@ packages:
1534
1521
 
1535
1522
  /detect-hover/1.0.3:
1536
1523
  resolution: {integrity: sha512-HtLoY+tClgYucJNiovNICGWFp9nOGVmHY44s7L62iPqORXM9vujeWFaVcqtA7XRvp/2Y+4RBUfHbDKFGN+xxZQ==}
1537
- dev: true
1538
1524
 
1539
1525
  /detect-it/3.0.7:
1540
1526
  resolution: {integrity: sha512-RxpgcdbatUX6epJE09K16iJqF7x6iEcEdoL18FR2zpBO4JhnL7aMOAUoUEyexdtbWOSfTmoDWmeD6mwRBQyRXg==}
@@ -1543,19 +1529,15 @@ packages:
1543
1529
  detect-passive-events: 1.0.5
1544
1530
  detect-pointer: 1.0.3
1545
1531
  detect-touch-events: 2.0.2
1546
- dev: true
1547
1532
 
1548
1533
  /detect-passive-events/1.0.5:
1549
1534
  resolution: {integrity: sha512-foW7Q35wwOCxVzW0xLf5XeB5Fhe7oyRgvkBYdiP9IWgLMzjqUqTvsJv9ymuEWGjY6AoDXD3OC294+Z9iuOw0QA==}
1550
- dev: true
1551
1535
 
1552
1536
  /detect-pointer/1.0.3:
1553
1537
  resolution: {integrity: sha512-d0o/Puo3fiGSCXy6H039h9Kwz+mmYCGKZ/qtPFnpN3WfsumjC1C9b5KKvRu+aYnfdI8peqN/iAe7dPd85qIt2g==}
1554
- dev: true
1555
1538
 
1556
1539
  /detect-touch-events/2.0.2:
1557
1540
  resolution: {integrity: sha512-g8GWBkJLiIDRJfRXEdrd1wMXpNyGId2DkbfuwFahSb4OCvn717hyRJtAcEDISfp3zkwEhZ4Y4woHPA6DeyB3Fw==}
1558
- dev: true
1559
1541
 
1560
1542
  /dir-glob/3.0.1:
1561
1543
  resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/dir-glob/-/dir-glob-3.0.1.tgz}
@@ -1914,7 +1896,6 @@ packages:
1914
1896
 
1915
1897
  /escape-latex/1.2.0:
1916
1898
  resolution: {integrity: sha512-nV5aVWW1K0wEiUIEdZ4erkGGH8mDxGyxSeqPzRNtWP7ataw+/olFObw7hujFWlVjNsaDFw5VZ5NzVSIqRgfTiw==}
1917
- dev: true
1918
1899
 
1919
1900
  /escape-string-regexp/1.0.5:
1920
1901
  resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz}
@@ -2101,7 +2082,6 @@ packages:
2101
2082
 
2102
2083
  /eventemitter3/4.0.7:
2103
2084
  resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
2104
- dev: true
2105
2085
 
2106
2086
  /execa/4.1.0:
2107
2087
  resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/execa/-/execa-4.1.0.tgz}
@@ -2245,7 +2225,6 @@ packages:
2245
2225
 
2246
2226
  /fraction.js/4.2.0:
2247
2227
  resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==}
2248
- dev: true
2249
2228
 
2250
2229
  /framesync/4.1.0:
2251
2230
  resolution: {integrity: sha512-MmgZ4wCoeVxNbx2xp5hN/zPDCbLSKiDt4BbbslK7j/pM2lg5S0vhTNv1v8BCVb99JPIo6hXBFdwzU7Q4qcAaoQ==}
@@ -2584,7 +2563,6 @@ packages:
2584
2563
 
2585
2564
  /is-arrayish/0.3.2:
2586
2565
  resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==}
2587
- dev: true
2588
2566
 
2589
2567
  /is-bigint/1.0.4:
2590
2568
  resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/is-bigint/-/is-bigint-1.0.4.tgz}
@@ -2771,7 +2749,6 @@ packages:
2771
2749
 
2772
2750
  /javascript-natural-sort/0.7.1:
2773
2751
  resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==}
2774
- dev: true
2775
2752
 
2776
2753
  /jju/1.4.0:
2777
2754
  resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==}
@@ -2779,7 +2756,6 @@ packages:
2779
2756
 
2780
2757
  /js-tokens/4.0.0:
2781
2758
  resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/js-tokens/-/js-tokens-4.0.0.tgz}
2782
- dev: true
2783
2759
 
2784
2760
  /js-yaml/3.14.1:
2785
2761
  resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/js-yaml/-/js-yaml-3.14.1.tgz}
@@ -2962,6 +2938,10 @@ packages:
2962
2938
  engines: {node: '>=14'}
2963
2939
  dev: true
2964
2940
 
2941
+ /lodash-es/4.17.21:
2942
+ resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
2943
+ dev: false
2944
+
2965
2945
  /lodash.get/4.4.2:
2966
2946
  resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==}
2967
2947
  dev: true
@@ -3013,14 +2993,12 @@ packages:
3013
2993
 
3014
2994
  /long/4.0.0:
3015
2995
  resolution: {integrity: sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==}
3016
- dev: true
3017
2996
 
3018
2997
  /loose-envify/1.4.0:
3019
2998
  resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
3020
2999
  hasBin: true
3021
3000
  dependencies:
3022
3001
  js-tokens: 4.0.0
3023
- dev: true
3024
3002
 
3025
3003
  /loupe/2.3.4:
3026
3004
  resolution: {integrity: sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==}
@@ -3079,7 +3057,6 @@ packages:
3079
3057
  seedrandom: 3.0.5
3080
3058
  tiny-emitter: 2.1.0
3081
3059
  typed-function: 2.1.0
3082
- dev: true
3083
3060
 
3084
3061
  /mdn-data/2.0.14:
3085
3062
  resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/mdn-data/-/mdn-data-2.0.14.tgz}
@@ -3169,7 +3146,6 @@ packages:
3169
3146
 
3170
3147
  /mobx/6.5.0:
3171
3148
  resolution: {integrity: sha512-pHZ/cySF00FVENDWIDzJyoObFahK6Eg4d0papqm6d7yMkxWTZ/S/csqJX1A3PsYy4t5k3z2QnlwuCfMW5lSEwA==}
3172
- dev: true
3173
3149
 
3174
3150
  /mrmime/1.0.1:
3175
3151
  resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==}
@@ -3243,7 +3219,6 @@ packages:
3243
3219
  /object-assign/4.1.1:
3244
3220
  resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
3245
3221
  engines: {node: '>=0.10.0'}
3246
- dev: true
3247
3222
 
3248
3223
  /object-inspect/1.12.0:
3249
3224
  resolution: {integrity: sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/object-inspect/-/object-inspect-1.12.0.tgz}
@@ -3836,7 +3811,6 @@ packages:
3836
3811
  loose-envify: 1.4.0
3837
3812
  object-assign: 4.1.1
3838
3813
  react-is: 16.13.1
3839
- dev: true
3840
3814
 
3841
3815
  /protobufjs/6.11.2:
3842
3816
  resolution: {integrity: sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw==}
@@ -3856,7 +3830,6 @@ packages:
3856
3830
  '@types/long': 4.0.1
3857
3831
  '@types/node': 18.0.3
3858
3832
  long: 4.0.0
3859
- dev: true
3860
3833
 
3861
3834
  /proxy-from-env/1.0.0:
3862
3835
  resolution: {integrity: sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz}
@@ -3904,7 +3877,6 @@ packages:
3904
3877
  decode-uri-component: 0.2.0
3905
3878
  object-assign: 4.1.1
3906
3879
  strict-uri-encode: 1.1.0
3907
- dev: true
3908
3880
 
3909
3881
  /query-string/6.14.1:
3910
3882
  resolution: {integrity: sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/query-string/-/query-string-6.14.1.tgz}
@@ -3924,7 +3896,6 @@ packages:
3924
3896
 
3925
3897
  /querystringify/2.2.0:
3926
3898
  resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
3927
- dev: true
3928
3899
 
3929
3900
  /queue-microtask/1.2.3:
3930
3901
  resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
@@ -3944,11 +3915,9 @@ packages:
3944
3915
  prop-types: 15.8.1
3945
3916
  react: 16.14.0
3946
3917
  scheduler: 0.19.1
3947
- dev: true
3948
3918
 
3949
3919
  /react-is/16.13.1:
3950
3920
  resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
3951
- dev: true
3952
3921
 
3953
3922
  /react/16.14.0:
3954
3923
  resolution: {integrity: sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==}
@@ -3957,11 +3926,9 @@ packages:
3957
3926
  loose-envify: 1.4.0
3958
3927
  object-assign: 4.1.1
3959
3928
  prop-types: 15.8.1
3960
- dev: true
3961
3929
 
3962
3930
  /regenerator-runtime/0.13.9:
3963
- resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz}
3964
- dev: true
3931
+ resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==}
3965
3932
 
3966
3933
  /regexpp/3.2.0:
3967
3934
  resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/regexpp/-/regexpp-3.2.0.tgz}
@@ -3970,7 +3937,6 @@ packages:
3970
3937
 
3971
3938
  /remitter/0.2.6:
3972
3939
  resolution: {integrity: sha512-vg6psVwfJsg7zcX7HVJ0UxZiRc0V7EfFOOzcp6WAEP2Br0G75DEM5KUglyxyMuxG57ntrfEBzqP6Cd91Nf2CBw==}
3973
- dev: true
3974
3940
 
3975
3941
  /request-progress/3.0.0:
3976
3942
  resolution: {integrity: sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/request-progress/-/request-progress-3.0.0.tgz}
@@ -3985,7 +3951,6 @@ packages:
3985
3951
 
3986
3952
  /requires-port/1.0.0:
3987
3953
  resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
3988
- dev: true
3989
3954
 
3990
3955
  /resolve-from/3.0.0:
3991
3956
  resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/resolve-from/-/resolve-from-3.0.0.tgz}
@@ -4131,11 +4096,9 @@ packages:
4131
4096
  dependencies:
4132
4097
  loose-envify: 1.4.0
4133
4098
  object-assign: 4.1.1
4134
- dev: true
4135
4099
 
4136
4100
  /seedrandom/3.0.5:
4137
4101
  resolution: {integrity: sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==}
4138
- dev: true
4139
4102
 
4140
4103
  /semver/5.7.1:
4141
4104
  resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==}
@@ -4180,8 +4143,8 @@ packages:
4180
4143
  object-inspect: 1.12.0
4181
4144
  dev: true
4182
4145
 
4183
- /side-effect-manager/1.1.1:
4184
- resolution: {integrity: sha512-ppUBbzOXLydre40Yz553eIIlTdf2WCJcqMI4n06sTRCA2o5AwG5WQ2qq6fHp5C8RK3TAfgtZKrhllNG2F1jzCA==}
4146
+ /side-effect-manager/1.2.1:
4147
+ resolution: {integrity: sha512-RBosCqit8LYMfrEXBt+4klzwWi3faGy4vfXNmUFZhgJY/oY6ZqF7RyUxWOJb0EUfA3jsY3juvFBJHYTk1q/3RQ==}
4185
4148
  dev: false
4186
4149
 
4187
4150
  /signal-exit/3.0.7:
@@ -4192,7 +4155,6 @@ packages:
4192
4155
  resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==}
4193
4156
  dependencies:
4194
4157
  is-arrayish: 0.3.2
4195
- dev: true
4196
4158
 
4197
4159
  /sirv/2.0.2:
4198
4160
  resolution: {integrity: sha512-4Qog6aE29nIjAOKe/wowFTxOdmbEZKb+3tsLljaBRzJwtqto0BChD2zzH0LhgCSXiI+V7X+Y45v14wBZQ1TK3w==}
@@ -4247,7 +4209,6 @@ packages:
4247
4209
 
4248
4210
  /spark-md5/3.0.2:
4249
4211
  resolution: {integrity: sha512-wcFzz9cDfbuqe0FZzfi2or1sgyIrsDwmPwfZC4hiNidPdPINjeUwNfv5kldczoEAcjl9Y1L3SM7Uz2PUEQzxQw==}
4250
- dev: true
4251
4212
 
4252
4213
  /split-on-first/1.1.0:
4253
4214
  resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/split-on-first/-/split-on-first-1.1.0.tgz}
@@ -4281,7 +4242,6 @@ packages:
4281
4242
  /strict-uri-encode/1.1.0:
4282
4243
  resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==}
4283
4244
  engines: {node: '>=0.10.0'}
4284
- dev: true
4285
4245
 
4286
4246
  /strict-uri-encode/2.0.0:
4287
4247
  resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz}
@@ -4441,7 +4401,6 @@ packages:
4441
4401
 
4442
4402
  /textarea-caret-ts/4.1.1:
4443
4403
  resolution: {integrity: sha512-kEL3aQ99r8jJR2RfB6g74LEzrt9NTXkyjPvvP3vzhNkQ+zAaXitKCq8BUEueepULWCCxtpRaRjtnYHaR45FDMg==}
4444
- dev: true
4445
4404
 
4446
4405
  /throttleit/1.0.0:
4447
4406
  resolution: {integrity: sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/throttleit/-/throttleit-1.0.0.tgz}
@@ -4457,7 +4416,6 @@ packages:
4457
4416
 
4458
4417
  /tiny-emitter/2.1.0:
4459
4418
  resolution: {integrity: sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==}
4460
- dev: true
4461
4419
 
4462
4420
  /tinypool/0.2.2:
4463
4421
  resolution: {integrity: sha512-tp4n5OARNL3v8ntdJUyo5NsDfwvUtu8isB43USjrsQxQrADDKY6UGBkmFaw/2vNmEt8S/uSm2U5FhkiK1eAFGw==}
@@ -4578,7 +4536,6 @@ packages:
4578
4536
  /typed-function/2.1.0:
4579
4537
  resolution: {integrity: sha512-bctQIOqx2iVbWGDGPWwIm18QScpu2XRmkC19D8rQGFsjKSgteq/o1hTZvIG/wuDq8fanpBDrLkLq+aEN/6y5XQ==}
4580
4538
  engines: {node: '>= 10'}
4581
- dev: true
4582
4539
 
4583
4540
  /typescript/4.6.3:
4584
4541
  resolution: {integrity: sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/typescript/-/typescript-4.6.3.tgz}
@@ -4633,7 +4590,6 @@ packages:
4633
4590
  dependencies:
4634
4591
  querystringify: 2.2.0
4635
4592
  requires-port: 1.0.0
4636
- dev: true
4637
4593
 
4638
4594
  /url/0.11.0:
4639
4595
  resolution: {integrity: sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/url/-/url-0.11.0.tgz}
@@ -4865,8 +4821,8 @@ packages:
4865
4821
  isexe: 2.0.0
4866
4822
  dev: true
4867
4823
 
4868
- /white-web-sdk/2.16.26:
4869
- resolution: {integrity: sha512-cAVqNEWlt3Eo+P7YQKpzvpyWV9d/eSvYQSD16ORf5B04SQXmERI+cmxDbG7HaoV+3mYqCxwwe2EZB8dgnWXAdg==}
4824
+ /white-web-sdk/2.16.35:
4825
+ resolution: {integrity: sha512-HgpTTPN0np9/4UWDVBFV05bpfEBHyN0mseXKdUjS+31VcjbvLhbeX7kSM3wRAEkh7svmzZAAUhOWwBHD14MACA==}
4870
4826
  dependencies:
4871
4827
  '@juggle/resize-observer': 3.3.1
4872
4828
  '@netless/canvas-polyfill': 0.0.4
@@ -4888,7 +4844,6 @@ packages:
4888
4844
  textarea-caret-ts: 4.1.1
4889
4845
  url-parse: 1.5.10
4890
4846
  uuid: 7.0.3
4891
- dev: true
4892
4847
 
4893
4848
  /word-wrap/1.2.3:
4894
4849
  resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npm.taobao.org/word-wrap/-/word-wrap-1.2.3.tgz}
@@ -1,5 +1,4 @@
1
1
  import { BoxNotCreatedError } from "../Utils/error";
2
- import { Storage } from "./Storage";
3
2
  import {
4
3
  autorun,
5
4
  listenDisposed,
@@ -9,6 +8,7 @@ import {
9
8
  unlistenUpdated,
10
9
  toJS
11
10
  } from "white-web-sdk";
11
+ import { Storage } from "@netless/synced-store";
12
12
  import type {
13
13
  Room,
14
14
  SceneDefinition,
@@ -30,13 +30,14 @@ import { WhiteBoardView } from "./WhiteboardView";
30
30
  import { findMemberByUid } from "../Helper";
31
31
  import { MAX_PAGE_SIZE } from "../constants";
32
32
  import { isBoolean, isNumber } from "lodash";
33
+ import { Val } from "value-enhancer";
33
34
 
34
35
  export type CreateWhiteBoardViewParams = {
35
36
  size?: number;
36
37
  syncCamera?: boolean;
37
38
  }
38
39
 
39
- export class AppContext<TAttributes = any, TMagixEventPayloads = any, TAppOptions = any> {
40
+ export class AppContext<TAttributes extends Record<string, any> = any, TMagixEventPayloads = any, TAppOptions = any> {
40
41
  public readonly emitter: Emittery<AppEmitterEvent<TAttributes>>;
41
42
  public readonly mobxUtils = {
42
43
  autorun,
@@ -224,21 +225,31 @@ export class AppContext<TAttributes = any, TMagixEventPayloads = any, TAppOption
224
225
  /** Main Storage for attributes. */
225
226
  public get storage(): Storage<TAttributes> {
226
227
  if (!this._storage) {
227
- this._storage = new Storage(this);
228
+ this._storage = this.createStorage(this.appId, this.getAttributes());
228
229
  }
229
230
  return this._storage;
230
231
  }
231
232
 
232
- /**
233
+ /**
233
234
  * Create separated storages for flexible state management.
234
- * @param storeId Namespace for the storage. Storages of the same namespace share the same data.
235
+ * @param namespace Namespace for the storage. Storages of the same namespace share the same data.
235
236
  * @param defaultState Default state for initial storage creation.
236
237
  * @returns
237
238
  */
238
- public createStorage = <TState>(storeId: string, defaultState?: TState): Storage<TState> => {
239
- const storage = new Storage(this, storeId, defaultState);
239
+ public createStorage = <TState extends Record<string, any>>(namespace: string, defaultState?: TState): Storage<TState> => {
240
+ const isWritable$ = new Val(this.isWritable);
241
+ const plugin$ = new Val(this.manager.windowManger);
242
+ const storage = new Storage({
243
+ plugin$,
244
+ isWritable$,
245
+ namespace,
246
+ defaultState: defaultState
247
+ });
248
+ this.emitter.on("writableChange", writable => {
249
+ isWritable$.setValue(writable);
250
+ })
240
251
  this.emitter.on("destroy", () => {
241
- storage.destroy();
252
+ storage.disconnect();
242
253
  });
243
254
  return storage;
244
255
  };
@@ -80,11 +80,13 @@ export class WhiteBoardView implements PageController {
80
80
  const scene = params?.scene;
81
81
  const scenePath = this.appProxy.scenePath;
82
82
  if (!scenePath) return;
83
+ const scenes = Array.isArray(scene) ? scene : [scene || {}];
83
84
  if (after) {
84
85
  const nextIndex = this.pageState.index + 1;
85
- putScenes(this.appContext.room, scenePath, [scene || {}], nextIndex);
86
+
87
+ putScenes(this.appContext.room, scenePath, scenes, nextIndex);
86
88
  } else {
87
- putScenes(this.appContext.room, scenePath, [scene || {}]);
89
+ putScenes(this.appContext.room, scenePath, scenes);
88
90
  }
89
91
  };
90
92
 
@@ -5,7 +5,6 @@ import { setViewFocusScenePath } from "./Utils/Common";
5
5
  import type { AnimationMode, Camera, Event, Rectangle } from "white-web-sdk";
6
6
  import type { AppManager } from "./AppManager";
7
7
  import type { TeleBoxState } from "@netless/telebox-insider";
8
- import { computedMinScale } from "./View/CameraSynchronizer";
9
8
 
10
9
  type SetAppFocusIndex = {
11
10
  type: "main" | "app";
@@ -136,15 +135,7 @@ export class AppListeners {
136
135
  }
137
136
 
138
137
  private moveCameraHandler = (payload: Camera) => {
139
- const cameraPayload = payload;
140
- if (payload.scale) {
141
- const remoteSize = this.manager.mainViewProxy.size$.value;
142
- const currentSize = this.manager.boxManager?.stageRect;
143
- if (remoteSize && currentSize) {
144
- cameraPayload.scale = payload.scale * computedMinScale(remoteSize, currentSize);
145
- }
146
- }
147
- this.manager.mainView.moveCamera(cameraPayload);
138
+ this.manager.mainView.moveCamera(payload);
148
139
  }
149
140
 
150
141
  private moveCameraToContainHandler = (payload: Rectangle & { animationMode?: AnimationMode }) => {