@netless/window-manager 0.4.31 → 1.0.0-canary.1

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/pnpm-lock.yaml CHANGED
@@ -4,7 +4,7 @@ specifiers:
4
4
  '@juggle/resize-observer': ^3.3.1
5
5
  '@netless/app-docs-viewer': ^0.2.9
6
6
  '@netless/app-media-player': 0.1.0-beta.5
7
- '@netless/telebox-insider': 0.2.26
7
+ '@netless/telebox-insider': 1.0.0-alpha.8
8
8
  '@rollup/plugin-commonjs': ^20.0.0
9
9
  '@rollup/plugin-node-resolve': ^13.0.4
10
10
  '@rollup/plugin-url': ^6.1.0
@@ -31,7 +31,7 @@ specifiers:
31
31
  prettier-plugin-svelte: ^2.4.0
32
32
  rollup-plugin-analyzer: ^4.0.0
33
33
  rollup-plugin-styles: ^3.14.1
34
- side-effect-manager: ^0.1.5
34
+ side-effect-manager: ^1.1.0
35
35
  svelte: ^3.42.4
36
36
  typescript: ^4.5.5
37
37
  uuid: ^7.0.3
@@ -42,11 +42,11 @@ specifiers:
42
42
 
43
43
  dependencies:
44
44
  '@juggle/resize-observer': registry.npmmirror.com/@juggle/resize-observer/3.3.1
45
- '@netless/telebox-insider': registry.npmmirror.com/@netless/telebox-insider/0.2.26
45
+ '@netless/telebox-insider': 1.0.0-alpha.8
46
46
  emittery: registry.npmmirror.com/emittery/0.9.2
47
47
  lodash: registry.npmmirror.com/lodash/4.17.21
48
48
  p-retry: registry.npmmirror.com/p-retry/4.6.1
49
- side-effect-manager: registry.npmmirror.com/side-effect-manager/0.1.5
49
+ side-effect-manager: 1.1.0
50
50
  uuid: registry.npmmirror.com/uuid/7.0.3
51
51
  video.js: registry.npmmirror.com/video.js/7.18.1
52
52
 
@@ -86,7 +86,6 @@ packages:
86
86
 
87
87
  /@juggle/resize-observer/3.3.1:
88
88
  resolution: {integrity: sha512-zMM9Ds+SawiUkakS7y94Ymqx+S0ORzpG3frZirN3l+UlXUmSUR7hF4wxCVqW+ei94JzV5kt0uXBcoOEAuiydrw==}
89
- dev: true
90
89
 
91
90
  /@netless/app-docs-viewer/0.2.9:
92
91
  resolution: {integrity: sha512-yuhfQ02nr61polMq8s3OiIIvA85yonJwCckr/rPYCB8hm8YV9Di9cYb85fB8Wy3A3do/1UVfYHTWa6Vcge6fLw==}
@@ -96,10 +95,36 @@ packages:
96
95
  vanilla-lazyload: 17.6.1
97
96
  dev: true
98
97
 
98
+ /@netless/telebox-insider/1.0.0-alpha.8:
99
+ resolution: {integrity: sha512-GFQpS8fVwc2kSjFFg88QQObQ5P25a2eVblC/wWn6J/IF8PihO8kDs/kI9lN+KtbRJltI2Ca9g9QlQAHi7SArHw==}
100
+ dependencies:
101
+ '@juggle/resize-observer': 3.3.1
102
+ '@types/shallowequal': 1.1.1
103
+ emittery: 0.11.0
104
+ shallowequal: 1.1.0
105
+ side-effect-manager: 1.1.0
106
+ stylefire: 7.0.3
107
+ value-enhancer: 1.2.1
108
+ dev: false
109
+
99
110
  /@polka/url/1.0.0-next.21:
100
111
  resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==}
101
112
  dev: true
102
113
 
114
+ /@popmotion/easing/1.0.2:
115
+ resolution: {integrity: sha512-IkdW0TNmRnWTeWI7aGQIVDbKXPWHVEYdGgd5ZR4SH/Ty/61p63jCjrPxX1XrR7IGkl08bjhJROStD7j+RKgoIw==}
116
+ dev: false
117
+
118
+ /@popmotion/popcorn/0.4.4:
119
+ resolution: {integrity: sha512-jYO/8319fKoNLMlY4ZJPiPu8Ea8occYwRZhxpaNn/kZsK4QG2E7XFlXZMJBsTWDw7I1i0uaqyC4zn1nwEezLzg==}
120
+ dependencies:
121
+ '@popmotion/easing': 1.0.2
122
+ framesync: 4.1.0
123
+ hey-listen: 1.0.8
124
+ style-value-types: 3.2.0
125
+ tslib: 1.14.1
126
+ dev: false
127
+
103
128
  /@tootallnate/once/2.0.0:
104
129
  resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==}
105
130
  engines: {node: '>= 10'}
@@ -119,6 +144,10 @@ packages:
119
144
  resolution: {integrity: sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==}
120
145
  dev: true
121
146
 
147
+ /@types/shallowequal/1.1.1:
148
+ resolution: {integrity: sha512-Lhni3aX80zbpdxRuWhnuYPm8j8UQaa571lHP/xI4W+7BAFhSIhRReXnqjEgT/XzPoXZTJkCqstFMJ8CZTK6IlQ==}
149
+ dev: false
150
+
122
151
  /@types/yauzl/2.10.0:
123
152
  resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==}
124
153
  requiresBuild: true
@@ -299,6 +328,11 @@ packages:
299
328
  webidl-conversions: 7.0.0
300
329
  dev: true
301
330
 
331
+ /emittery/0.11.0:
332
+ resolution: {integrity: sha512-S/7tzL6v5i+4iJd627Nhv9cLFIo5weAIlGccqJFpnBoDB8U1TF2k5tez4J/QNuxyyhWuFqHg1L84Kd3m7iXg6g==}
333
+ engines: {node: '>=12'}
334
+ dev: false
335
+
302
336
  /errno/0.1.8:
303
337
  resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==}
304
338
  hasBin: true
@@ -558,6 +592,12 @@ packages:
558
592
  mime-types: 2.1.35
559
593
  dev: true
560
594
 
595
+ /framesync/4.1.0:
596
+ resolution: {integrity: sha512-MmgZ4wCoeVxNbx2xp5hN/zPDCbLSKiDt4BbbslK7j/pM2lg5S0vhTNv1v8BCVb99JPIo6hXBFdwzU7Q4qcAaoQ==}
597
+ dependencies:
598
+ hey-listen: 1.0.8
599
+ dev: false
600
+
561
601
  /fsevents/2.3.2:
562
602
  resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
563
603
  engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
@@ -586,6 +626,10 @@ packages:
586
626
  function-bind: 1.1.1
587
627
  dev: true
588
628
 
629
+ /hey-listen/1.0.8:
630
+ resolution: {integrity: sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==}
631
+ dev: false
632
+
589
633
  /html-encoding-sniffer/3.0.0:
590
634
  resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==}
591
635
  engines: {node: '>=12'}
@@ -851,6 +895,14 @@ packages:
851
895
  xmlchars: 2.2.0
852
896
  dev: true
853
897
 
898
+ /shallowequal/1.1.0:
899
+ resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==}
900
+ dev: false
901
+
902
+ /side-effect-manager/1.1.0:
903
+ resolution: {integrity: sha512-Gqy1tsBBYcKclLPIGDxMQiZJLM8CGdGg/DM3a5/8ic2x2A19rVUhVk/+Mt5RwNbpaNKmBPO/wxxzAnY2myQVTg==}
904
+ dev: false
905
+
854
906
  /sirv/2.0.2:
855
907
  resolution: {integrity: sha512-4Qog6aE29nIjAOKe/wowFTxOdmbEZKb+3tsLljaBRzJwtqto0BChD2zzH0LhgCSXiI+V7X+Y45v14wBZQ1TK3w==}
856
908
  engines: {node: '>= 10'}
@@ -870,6 +922,23 @@ packages:
870
922
  engines: {node: '>=0.10.0'}
871
923
  dev: true
872
924
 
925
+ /style-value-types/3.2.0:
926
+ resolution: {integrity: sha512-ih0mGsrYYmVvdDi++/66O6BaQPRPRMQHoZevNNdMMcPlP/cH28Rnfsqf1UEba/Bwfuw9T8BmIMwbGdzsPwQKrQ==}
927
+ dependencies:
928
+ hey-listen: 1.0.8
929
+ tslib: 1.14.1
930
+ dev: false
931
+
932
+ /stylefire/7.0.3:
933
+ resolution: {integrity: sha512-Q0l7NSeFz/OkX+o6/7Zg3VZxSAZeQzQpYomWmIpOehFM/rJNMSLVX5fgg6Q48ut2ETNKwdhm97mPNU643EBCoQ==}
934
+ dependencies:
935
+ '@popmotion/popcorn': 0.4.4
936
+ framesync: 4.1.0
937
+ hey-listen: 1.0.8
938
+ style-value-types: 3.2.0
939
+ tslib: 1.14.1
940
+ dev: false
941
+
873
942
  /supports-preserve-symlinks-flag/1.0.0:
874
943
  resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
875
944
  engines: {node: '>= 0.4'}
@@ -910,6 +979,10 @@ packages:
910
979
  punycode: 2.1.1
911
980
  dev: true
912
981
 
982
+ /tslib/1.14.1:
983
+ resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
984
+ dev: false
985
+
913
986
  /type-check/0.3.2:
914
987
  resolution: {integrity: sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=}
915
988
  engines: {node: '>= 0.8.0'}
@@ -927,6 +1000,10 @@ packages:
927
1000
  engines: {node: '>= 4.0.0'}
928
1001
  dev: true
929
1002
 
1003
+ /value-enhancer/1.2.1:
1004
+ resolution: {integrity: sha512-11IrGi9xmVbr3twzuaMRrdUGzhdaE4eXvT6qYZlB5VrhK5uQzSPlYOEBlsIGH+dMvkakNkWGNIbxdZi87/MWuQ==}
1005
+ dev: false
1006
+
930
1007
  /vanilla-lazyload/17.6.1:
931
1008
  resolution: {integrity: sha512-Jn/WpWEIe+d6UUb8hw1qDO49W8lceFLW/ucWt8pdRcQvoQaucLtMnc9QHsm0Iz/xe4SCElEE2fyMZB8xC3e/6Q==}
932
1009
  dev: true
@@ -1202,19 +1279,6 @@ packages:
1202
1279
  version: 0.0.4
1203
1280
  dev: true
1204
1281
 
1205
- registry.npmmirror.com/@netless/telebox-insider/0.2.26:
1206
- resolution: {integrity: sha512-HOBi9HWK0Zf0nvzfjM0V/0QmZ69ec7L/lCKMwRcfiQHxAAJ/zo9fEm468WocYFsliixWW5L7HwMN0eHb0mw7hA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@netless/telebox-insider/-/telebox-insider-0.2.26.tgz}
1207
- name: '@netless/telebox-insider'
1208
- version: 0.2.26
1209
- dependencies:
1210
- '@types/shallowequal': registry.npmmirror.com/@types/shallowequal/1.1.1
1211
- eventemitter3: registry.npmmirror.com/eventemitter3/4.0.7
1212
- shallowequal: registry.npmmirror.com/shallowequal/1.1.0
1213
- side-effect-manager: registry.npmmirror.com/side-effect-manager/0.1.5
1214
- stylefire: registry.npmmirror.com/stylefire/7.0.3
1215
- value-enhancer: registry.npmmirror.com/value-enhancer/0.0.8
1216
- dev: false
1217
-
1218
1282
  registry.npmmirror.com/@netless/xml-js/1.6.15:
1219
1283
  resolution: {integrity: sha512-e0emMs7YtDB/ATUns1SJ61R9n9nfVvwwFodoc539Qt0ScksaCLCaFWgpEbLloj9sr60ry6Xd8QFHKULFIZB6zA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@netless/xml-js/-/xml-js-1.6.15.tgz}
1220
1284
  name: '@netless/xml-js'
@@ -1249,24 +1313,6 @@ packages:
1249
1313
  fastq: registry.npmmirror.com/fastq/1.13.0
1250
1314
  dev: true
1251
1315
 
1252
- registry.npmmirror.com/@popmotion/easing/1.0.2:
1253
- resolution: {integrity: sha512-IkdW0TNmRnWTeWI7aGQIVDbKXPWHVEYdGgd5ZR4SH/Ty/61p63jCjrPxX1XrR7IGkl08bjhJROStD7j+RKgoIw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@popmotion/easing/-/easing-1.0.2.tgz}
1254
- name: '@popmotion/easing'
1255
- version: 1.0.2
1256
- dev: false
1257
-
1258
- registry.npmmirror.com/@popmotion/popcorn/0.4.4:
1259
- resolution: {integrity: sha512-jYO/8319fKoNLMlY4ZJPiPu8Ea8occYwRZhxpaNn/kZsK4QG2E7XFlXZMJBsTWDw7I1i0uaqyC4zn1nwEezLzg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@popmotion/popcorn/-/popcorn-0.4.4.tgz}
1260
- name: '@popmotion/popcorn'
1261
- version: 0.4.4
1262
- dependencies:
1263
- '@popmotion/easing': registry.npmmirror.com/@popmotion/easing/1.0.2
1264
- framesync: registry.npmmirror.com/framesync/4.1.0
1265
- hey-listen: registry.npmmirror.com/hey-listen/1.0.8
1266
- style-value-types: registry.npmmirror.com/style-value-types/3.2.0
1267
- tslib: registry.npmmirror.com/tslib/1.14.1
1268
- dev: false
1269
-
1270
1316
  registry.npmmirror.com/@protobufjs/aspromise/1.1.2:
1271
1317
  resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz}
1272
1318
  name: '@protobufjs/aspromise'
@@ -1522,12 +1568,6 @@ packages:
1522
1568
  version: 0.12.1
1523
1569
  dev: false
1524
1570
 
1525
- registry.npmmirror.com/@types/shallowequal/1.1.1:
1526
- resolution: {integrity: sha512-Lhni3aX80zbpdxRuWhnuYPm8j8UQaa571lHP/xI4W+7BAFhSIhRReXnqjEgT/XzPoXZTJkCqstFMJ8CZTK6IlQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/shallowequal/-/shallowequal-1.1.1.tgz}
1527
- name: '@types/shallowequal'
1528
- version: 1.1.1
1529
- dev: false
1530
-
1531
1571
  registry.npmmirror.com/@types/sinonjs__fake-timers/6.0.4:
1532
1572
  resolution: {integrity: sha512-IFQTJARgMUBF+xVd2b+hIgXWrZEjND3vJtRCvIelcFB5SIXfjV4bOHbHJ0eXKh+0COrBRc8MqteKAz/j88rE0A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.4.tgz}
1533
1573
  name: '@types/sinonjs__fake-timers'
@@ -3077,6 +3117,7 @@ packages:
3077
3117
  resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz}
3078
3118
  name: eventemitter3
3079
3119
  version: 4.0.7
3120
+ dev: true
3080
3121
 
3081
3122
  registry.npmmirror.com/execa/4.1.0:
3082
3123
  resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/execa/-/execa-4.1.0.tgz}
@@ -3254,14 +3295,6 @@ packages:
3254
3295
  version: 4.2.0
3255
3296
  dev: true
3256
3297
 
3257
- registry.npmmirror.com/framesync/4.1.0:
3258
- resolution: {integrity: sha512-MmgZ4wCoeVxNbx2xp5hN/zPDCbLSKiDt4BbbslK7j/pM2lg5S0vhTNv1v8BCVb99JPIo6hXBFdwzU7Q4qcAaoQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/framesync/-/framesync-4.1.0.tgz}
3259
- name: framesync
3260
- version: 4.1.0
3261
- dependencies:
3262
- hey-listen: registry.npmmirror.com/hey-listen/1.0.8
3263
- dev: false
3264
-
3265
3298
  registry.npmmirror.com/fs-extra/9.1.0:
3266
3299
  resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz}
3267
3300
  name: fs-extra
@@ -3457,12 +3490,6 @@ packages:
3457
3490
  version: 1.1.0
3458
3491
  dev: true
3459
3492
 
3460
- registry.npmmirror.com/hey-listen/1.0.8:
3461
- resolution: {integrity: sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/hey-listen/-/hey-listen-1.0.8.tgz}
3462
- name: hey-listen
3463
- version: 1.0.8
3464
- dev: false
3465
-
3466
3493
  registry.npmmirror.com/hsl-regex/1.0.0:
3467
3494
  resolution: {integrity: sha512-M5ezZw4LzXbBKMruP+BNANf0k+19hDQMgpzBIYnya//Al+fjNct9Wf3b1WedLqdEs2hKBvxq/jh+DsHJLj0F9A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/hsl-regex/-/hsl-regex-1.0.0.tgz}
3468
3495
  name: hsl-regex
@@ -5524,12 +5551,6 @@ packages:
5524
5551
  lru-cache: registry.npmmirror.com/lru-cache/6.0.0
5525
5552
  dev: true
5526
5553
 
5527
- registry.npmmirror.com/shallowequal/1.1.0:
5528
- resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/shallowequal/-/shallowequal-1.1.0.tgz}
5529
- name: shallowequal
5530
- version: 1.1.0
5531
- dev: false
5532
-
5533
5554
  registry.npmmirror.com/shebang-command/2.0.0:
5534
5555
  resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz}
5535
5556
  name: shebang-command
@@ -5556,12 +5577,6 @@ packages:
5556
5577
  object-inspect: registry.npmmirror.com/object-inspect/1.12.0
5557
5578
  dev: true
5558
5579
 
5559
- registry.npmmirror.com/side-effect-manager/0.1.5:
5560
- resolution: {integrity: sha512-aAEXMS+9qW7rY2cwq4S6UjW3IBO/ZLWRI0sH1oGJ1eDE7YBFR1TW950qffnpx/0hByusAOVbu2zjThk9Vcjs+Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/side-effect-manager/-/side-effect-manager-0.1.5.tgz}
5561
- name: side-effect-manager
5562
- version: 0.1.5
5563
- dev: false
5564
-
5565
5580
  registry.npmmirror.com/signal-exit/3.0.7:
5566
5581
  resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz}
5567
5582
  name: signal-exit
@@ -5741,27 +5756,6 @@ packages:
5741
5756
  engines: {node: '>=8'}
5742
5757
  dev: true
5743
5758
 
5744
- registry.npmmirror.com/style-value-types/3.2.0:
5745
- resolution: {integrity: sha512-ih0mGsrYYmVvdDi++/66O6BaQPRPRMQHoZevNNdMMcPlP/cH28Rnfsqf1UEba/Bwfuw9T8BmIMwbGdzsPwQKrQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/style-value-types/-/style-value-types-3.2.0.tgz}
5746
- name: style-value-types
5747
- version: 3.2.0
5748
- dependencies:
5749
- hey-listen: registry.npmmirror.com/hey-listen/1.0.8
5750
- tslib: registry.npmmirror.com/tslib/1.14.1
5751
- dev: false
5752
-
5753
- registry.npmmirror.com/stylefire/7.0.3:
5754
- resolution: {integrity: sha512-Q0l7NSeFz/OkX+o6/7Zg3VZxSAZeQzQpYomWmIpOehFM/rJNMSLVX5fgg6Q48ut2ETNKwdhm97mPNU643EBCoQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/stylefire/-/stylefire-7.0.3.tgz}
5755
- name: stylefire
5756
- version: 7.0.3
5757
- dependencies:
5758
- '@popmotion/popcorn': registry.npmmirror.com/@popmotion/popcorn/0.4.4
5759
- framesync: registry.npmmirror.com/framesync/4.1.0
5760
- hey-listen: registry.npmmirror.com/hey-listen/1.0.8
5761
- style-value-types: registry.npmmirror.com/style-value-types/3.2.0
5762
- tslib: registry.npmmirror.com/tslib/1.14.1
5763
- dev: false
5764
-
5765
5759
  registry.npmmirror.com/stylehacks/4.0.3:
5766
5760
  resolution: {integrity: sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/stylehacks/-/stylehacks-4.0.3.tgz}
5767
5761
  name: stylehacks
@@ -5930,6 +5924,7 @@ packages:
5930
5924
  resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz}
5931
5925
  name: tslib
5932
5926
  version: 1.14.1
5927
+ dev: true
5933
5928
 
5934
5929
  registry.npmmirror.com/tslib/2.3.1:
5935
5930
  resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tslib/-/tslib-2.3.1.tgz}
@@ -6113,14 +6108,6 @@ packages:
6113
6108
  version: 2.3.0
6114
6109
  dev: true
6115
6110
 
6116
- registry.npmmirror.com/value-enhancer/0.0.8:
6117
- resolution: {integrity: sha512-ba8Rcyp9ItqlLWoyZVqHGaEdY1tqP1mcbRhlOrCnIrDxdl8rKNH1Rq45syo4IMYNSkwC2oV9xBWcV9dmL14aQg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/value-enhancer/-/value-enhancer-0.0.8.tgz}
6118
- name: value-enhancer
6119
- version: 0.0.8
6120
- dependencies:
6121
- side-effect-manager: registry.npmmirror.com/side-effect-manager/0.1.5
6122
- dev: false
6123
-
6124
6111
  registry.npmmirror.com/vendors/1.0.4:
6125
6112
  resolution: {integrity: sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vendors/-/vendors-1.0.4.tgz}
6126
6113
  name: vendors
@@ -14,7 +14,7 @@ import type {
14
14
  Room,
15
15
  SceneDefinition,
16
16
  View,
17
- EventListener as WhiteEventListener,
17
+ EventListener as WhiteEventListener
18
18
  } from "white-web-sdk";
19
19
  import type { ReadonlyTeleBox } from "@netless/telebox-insider";
20
20
  import type Emittery from "emittery";
@@ -191,7 +191,6 @@ export class AppProxy implements PageRemoveService {
191
191
  const result = await app.setup(context);
192
192
  this.appResult = result;
193
193
  appRegister.notifyApp(this.kind, "created", { appId, result });
194
- this.afterSetupApp(boxInitState);
195
194
  this.fixMobileSize();
196
195
  }, SETUP_APP_DELAY);
197
196
  });
@@ -225,14 +224,6 @@ export class AppProxy implements PageRemoveService {
225
224
  }
226
225
  }
227
226
 
228
- private afterSetupApp(boxInitState: AppInitState | undefined): void {
229
- if (boxInitState) {
230
- if (!boxInitState?.x || !boxInitState.y) {
231
- this.boxManager?.setBoxInitState(this.id);
232
- }
233
- }
234
- }
235
-
236
227
  public async onSeek(time: number) {
237
228
  this.appEmitter.emit("seek", time).catch(err => {
238
229
  console.log(`[WindowManager]: emit seek error: ${err.message}`);
package/src/BoxManager.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { AppAttributes, Events, MIN_HEIGHT, MIN_WIDTH } from "./constants";
2
2
  import { debounce } from "lodash";
3
- import { TELE_BOX_STATE, TeleBoxCollector, TeleBoxManager } from "@netless/telebox-insider";
3
+ import { TELE_BOX_STATE, TeleBoxManager } from "@netless/telebox-insider";
4
4
  import { WindowManager } from "./index";
5
5
  import type { BoxEmitterType } from "./BoxEmitter";
6
6
  import type { AddAppOptions, AppInitState } from "./index";
@@ -18,6 +18,7 @@ import type { NetlessApp } from "./typings";
18
18
  import type { View } from "white-web-sdk";
19
19
  import type { CallbacksType } from "./callback";
20
20
  import type { EmitterType } from "./InternalEmitter";
21
+ import { SideEffectManager } from "side-effect-manager";
21
22
 
22
23
  export { TELE_BOX_STATE };
23
24
 
@@ -45,6 +46,7 @@ export type CreateTeleBoxManagerConfig = {
45
46
  collectorContainer?: HTMLElement;
46
47
  collectorStyles?: Partial<CSSStyleDeclaration>;
47
48
  prefersColorScheme?: TeleBoxColorScheme;
49
+ stageRatio?: number;
48
50
  };
49
51
 
50
52
  export type BoxManagerContext = {
@@ -87,79 +89,93 @@ export const createBoxManager = (
87
89
 
88
90
  export class BoxManager {
89
91
  public teleBoxManager: TeleBoxManager;
92
+ protected sideEffectManager: SideEffectManager;
90
93
 
91
94
  constructor(
92
95
  private context: BoxManagerContext,
93
- private createTeleBoxManagerConfig?: CreateTeleBoxManagerConfig
96
+ createTeleBoxManagerConfig?: CreateTeleBoxManagerConfig
94
97
  ) {
98
+ this.sideEffectManager = new SideEffectManager();
95
99
  const { emitter, callbacks, boxEmitter } = context;
96
100
  this.teleBoxManager = this.setupBoxManager(createTeleBoxManagerConfig);
97
-
98
- // 使用 _xxx$.reaction 订阅修改的值, 不管有没有 skipUpdate, 修改值都会触发回调
99
- this.teleBoxManager._state$.reaction(state => {
100
- callbacks.emit("boxStateChange", state);
101
- emitter.emit("boxStateChange", state);
102
- });
103
-
104
- this.teleBoxManager._darkMode$.reaction(darkMode => {
105
- callbacks.emit("darkModeChange", darkMode);
106
- });
107
- this.teleBoxManager._prefersColorScheme$.reaction(colorScheme => {
108
- callbacks.emit("prefersColorSchemeChange", colorScheme);
109
- });
110
-
111
- // events.on 的值则会根据 skipUpdate 来决定是否触发回调
112
- this.teleBoxManager.events.on("minimized", minimized => {
113
- this.context.safeSetAttributes({ minimized });
114
- if (minimized) {
115
- this.context.cleanFocus();
116
- this.blurAllBox();
117
- } else {
118
- const topBox = this.getTopBox();
119
- if (topBox) {
120
- this.context.setAppFocus(topBox.id);
121
- this.focusBox({ appId: topBox.id }, false);
101
+ this.sideEffectManager.add(() => [
102
+ // 使用 _xxx$.reaction 订阅修改的值, 不管有没有 skipUpdate, 修改值都会触发回调
103
+ this.teleBoxManager._state$.reaction(state => {
104
+ callbacks.emit("boxStateChange", state);
105
+ emitter.emit("boxStateChange", state);
106
+ }),
107
+ this.teleBoxManager._darkMode$.reaction(darkMode => {
108
+ callbacks.emit("darkModeChange", darkMode);
109
+ }),
110
+ this.teleBoxManager._prefersColorScheme$.reaction(colorScheme => {
111
+ callbacks.emit("prefersColorSchemeChange", colorScheme);
112
+ }),
113
+ this.teleBoxManager._minimized$.reaction((minimized, skipUpdate) => {
114
+ if (skipUpdate) {
115
+ return;
122
116
  }
123
- }
124
- });
125
- this.teleBoxManager.events.on("maximized", maximized => {
126
- this.context.safeSetAttributes({ maximized });
127
- });
128
- this.teleBoxManager.events.on("removed", boxes => {
129
- boxes.forEach(box => {
130
- boxEmitter.emit("close", { appId: box.id });
131
- });
132
- });
133
- this.teleBoxManager.events.on(
134
- "intrinsic_move",
135
- debounce((box: ReadonlyTeleBox): void => {
136
- boxEmitter.emit("move", { appId: box.id, x: box.intrinsicX, y: box.intrinsicY });
137
- }, 50)
138
- );
139
- this.teleBoxManager.events.on(
140
- "intrinsic_resize",
141
- debounce((box: ReadonlyTeleBox): void => {
142
- boxEmitter.emit("resize", {
143
- appId: box.id,
144
- width: box.intrinsicWidth,
145
- height: box.intrinsicHeight,
146
- });
147
- }, 200)
148
- );
149
- this.teleBoxManager.events.on("focused", box => {
150
- if (box) {
151
- if (this.canOperate) {
152
- boxEmitter.emit("focus", { appId: box.id });
117
+ this.context.safeSetAttributes({ minimized });
118
+ if (minimized) {
119
+ this.context.cleanFocus();
120
+ this.blurAllBox();
153
121
  } else {
154
- this.teleBoxManager.blurBox(box.id);
122
+ const topBox = this.getTopBox();
123
+ if (topBox) {
124
+ this.context.setAppFocus(topBox.id);
125
+ this.focusBox({ appId: topBox.id }, false);
126
+ }
155
127
  }
156
- }
157
- });
158
- this.teleBoxManager.events.on("z_index", box => {
159
- this.context.updateAppState(box.id, AppAttributes.ZIndex, box.zIndex);
160
- });
161
- emitter.on("playgroundSizeChange", () => this.updateManagerRect());
162
- emitter.on("updateManagerRect", () => this.updateManagerRect());
128
+ }),
129
+ this.teleBoxManager._maximized$.reaction((maximized, skipUpdate) => {
130
+ if (skipUpdate) {
131
+ return;
132
+ }
133
+ this.context.safeSetAttributes({ maximized });
134
+ }),
135
+ this.teleBoxManager.events.on("removed", boxes => {
136
+ boxes.forEach(box => {
137
+ boxEmitter.emit("close", { appId: box.id });
138
+ });
139
+ }),
140
+ this.teleBoxManager.events.on(
141
+ "intrinsic_move",
142
+ debounce((box: ReadonlyTeleBox): void => {
143
+ boxEmitter.emit("move", { appId: box.id, x: box.intrinsicX, y: box.intrinsicY });
144
+ }, 50)
145
+ ),
146
+ this.teleBoxManager.events.on(
147
+ "intrinsic_resize",
148
+ debounce((box: ReadonlyTeleBox): void => {
149
+ boxEmitter.emit("resize", {
150
+ appId: box.id,
151
+ width: box.intrinsicWidth,
152
+ height: box.intrinsicHeight,
153
+ });
154
+ }, 200)
155
+ ),
156
+ this.teleBoxManager.events.on("focused", box => {
157
+ if (box) {
158
+ if (this.canOperate) {
159
+ boxEmitter.emit("focus", { appId: box.id });
160
+ } else {
161
+ this.teleBoxManager.blurBox(box.id);
162
+ }
163
+ }
164
+ }),
165
+ this.teleBoxManager.events.on("z_index", box => {
166
+ this.context.updateAppState(box.id, AppAttributes.ZIndex, box.zIndex);
167
+ }),
168
+ this.teleBoxManager._stageRect$.subscribe(stage => {
169
+ emitter.emit("playgroundSizeChange", stage);
170
+ this.context.notifyContainerRectUpdate(stage);
171
+ }),
172
+ emitter.on("writableChange", isWritable => {
173
+ this.teleBoxManager.setHighlightStage(isWritable);
174
+ }),
175
+ emitter.on("containerSizeRatioUpdate", ratio => {
176
+ this.teleBoxManager._stageRatio$.setValue(ratio);
177
+ }),
178
+ ]);
163
179
  }
164
180
 
165
181
  private get mainView() {
@@ -194,12 +210,16 @@ export class BoxManager {
194
210
  return this.teleBoxManager.boxes.length;
195
211
  }
196
212
 
213
+ public get stageRect() {
214
+ return this.teleBoxManager.stageRect;
215
+ }
216
+
197
217
  public createBox(params: CreateBoxParams): void {
198
218
  if (!this.teleBoxManager) return;
199
219
  let { minwidth = MIN_WIDTH, minheight = MIN_HEIGHT } = params.app.config ?? {};
200
220
  const { width, height } = params.app.config ?? {};
201
221
  const title = params.options?.title || params.appId;
202
- const rect = this.teleBoxManager.containerRect;
222
+ const rect = this.teleBoxManager.rootRect;
203
223
 
204
224
  if (minwidth > 1) {
205
225
  minwidth = minwidth / rect.width;
@@ -221,34 +241,13 @@ export class BoxManager {
221
241
  this.context.emitter.emit(`${params.appId}${Events.WindowCreated}` as any);
222
242
  }
223
243
 
224
- public setBoxInitState(appId: string): void {
225
- const box = this.teleBoxManager.queryOne({ id: appId });
226
- if (box) {
227
- if (box.state === TELE_BOX_STATE.Maximized) {
228
- this.context.boxEmitter.emit("resize", {
229
- appId: appId,
230
- x: box.x,
231
- y: box.y,
232
- width: box.intrinsicWidth,
233
- height: box.intrinsicHeight,
234
- });
235
- }
236
- }
237
- }
238
-
239
244
  public setupBoxManager(
240
245
  createTeleBoxManagerConfig?: CreateTeleBoxManagerConfig
241
246
  ): TeleBoxManager {
242
- const root = WindowManager.wrapper ? WindowManager.wrapper : document.body;
243
- const rect = root.getBoundingClientRect();
247
+ const root = WindowManager.playground;
244
248
  const initManagerState: TeleBoxManagerConfig = {
249
+ stageRatio: createTeleBoxManagerConfig?.stageRatio,
245
250
  root: root,
246
- containerRect: {
247
- x: 0,
248
- y: 0,
249
- width: rect.width,
250
- height: rect.height,
251
- },
252
251
  fence: false,
253
252
  prefersColorScheme: createTeleBoxManagerConfig?.prefersColorScheme,
254
253
  };
@@ -258,20 +257,16 @@ export class BoxManager {
258
257
  this.teleBoxManager.destroy();
259
258
  }
260
259
  this.teleBoxManager = manager;
261
- const container = createTeleBoxManagerConfig?.collectorContainer || WindowManager.wrapper;
260
+ const container = createTeleBoxManagerConfig?.collectorContainer;
262
261
  if (container) {
263
- this.setCollectorContainer(container);
262
+ this.teleBoxManager.collector.set$collector(container);
263
+ }
264
+ if (createTeleBoxManagerConfig?.collectorStyles) {
265
+ this.teleBoxManager.collector.setStyles(createTeleBoxManagerConfig.collectorStyles);
264
266
  }
265
267
  return manager;
266
268
  }
267
269
 
268
- public setCollectorContainer(container: HTMLElement) {
269
- const collector = new TeleBoxCollector({
270
- styles: this.createTeleBoxManagerConfig?.collectorStyles,
271
- }).mount(container);
272
- this.teleBoxManager.setCollector(collector);
273
- }
274
-
275
270
  public getBox(appId: string): ReadonlyTeleBox | undefined {
276
271
  return this.teleBoxManager.queryOne({ id: appId });
277
272
  }
@@ -324,15 +319,6 @@ export class BoxManager {
324
319
  }
325
320
  }
326
321
 
327
- public updateManagerRect(): void {
328
- const rect = this.mainView.divElement?.getBoundingClientRect();
329
- if (rect && rect.width > 0 && rect.height > 0) {
330
- const containerRect = { x: 0, y: 0, width: rect.width, height: rect.height };
331
- this.teleBoxManager.setContainerRect(containerRect);
332
- this.context.notifyContainerRectUpdate(this.teleBoxManager.containerRect);
333
- }
334
- }
335
-
336
322
  public moveBox({ appId, x, y }: MoveBoxParams): void {
337
323
  this.teleBoxManager.update(appId, { x, y }, true);
338
324
  }
@@ -404,7 +390,16 @@ export class BoxManager {
404
390
  this.teleBoxManager.update(id, { zIndex }, skipUpdate);
405
391
  }
406
392
 
393
+ public setRoot(root: HTMLElement) {
394
+ this.teleBoxManager._root$.setValue(root);
395
+ }
396
+
397
+ public setCollector(collector: HTMLElement) {
398
+ this.teleBoxManager.collector.set$collector(collector);
399
+ }
400
+
407
401
  public destroy() {
402
+ this.sideEffectManager.flushAll();
408
403
  this.teleBoxManager.destroy();
409
404
  }
410
405
  }