stormcloud-video-player 0.7.8 → 0.7.10
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/stormcloud-vp.min.js +1 -1
- package/lib/index.cjs +290 -38
- package/lib/index.cjs.map +1 -1
- package/lib/index.js +292 -40
- package/lib/index.js.map +1 -1
- package/lib/ui/OverlayRenderer.cjs +354 -38
- package/lib/ui/OverlayRenderer.cjs.map +1 -1
- package/lib/ui/StormcloudVideoPlayer.cjs +290 -38
- package/lib/ui/StormcloudVideoPlayer.cjs.map +1 -1
- package/package.json +1 -1
|
@@ -7,6 +7,25 @@ function _array_like_to_array(arr, len) {
|
|
|
7
7
|
function _array_with_holes(arr) {
|
|
8
8
|
if (Array.isArray(arr)) return arr;
|
|
9
9
|
}
|
|
10
|
+
function _array_without_holes(arr) {
|
|
11
|
+
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
12
|
+
}
|
|
13
|
+
function _define_property(obj, key, value) {
|
|
14
|
+
if (key in obj) {
|
|
15
|
+
Object.defineProperty(obj, key, {
|
|
16
|
+
value: value,
|
|
17
|
+
enumerable: true,
|
|
18
|
+
configurable: true,
|
|
19
|
+
writable: true
|
|
20
|
+
});
|
|
21
|
+
} else {
|
|
22
|
+
obj[key] = value;
|
|
23
|
+
}
|
|
24
|
+
return obj;
|
|
25
|
+
}
|
|
26
|
+
function _iterable_to_array(iter) {
|
|
27
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
28
|
+
}
|
|
10
29
|
function _iterable_to_array_limit(arr, i) {
|
|
11
30
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
12
31
|
if (_i == null) return;
|
|
@@ -34,9 +53,54 @@ function _iterable_to_array_limit(arr, i) {
|
|
|
34
53
|
function _non_iterable_rest() {
|
|
35
54
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
36
55
|
}
|
|
56
|
+
function _non_iterable_spread() {
|
|
57
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
58
|
+
}
|
|
59
|
+
function _object_spread(target) {
|
|
60
|
+
for(var i = 1; i < arguments.length; i++){
|
|
61
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
|
62
|
+
var ownKeys = Object.keys(source);
|
|
63
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
64
|
+
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
65
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
66
|
+
}));
|
|
67
|
+
}
|
|
68
|
+
ownKeys.forEach(function(key) {
|
|
69
|
+
_define_property(target, key, source[key]);
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
return target;
|
|
73
|
+
}
|
|
74
|
+
function ownKeys(object, enumerableOnly) {
|
|
75
|
+
var keys = Object.keys(object);
|
|
76
|
+
if (Object.getOwnPropertySymbols) {
|
|
77
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
78
|
+
if (enumerableOnly) {
|
|
79
|
+
symbols = symbols.filter(function(sym) {
|
|
80
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
keys.push.apply(keys, symbols);
|
|
84
|
+
}
|
|
85
|
+
return keys;
|
|
86
|
+
}
|
|
87
|
+
function _object_spread_props(target, source) {
|
|
88
|
+
source = source != null ? source : {};
|
|
89
|
+
if (Object.getOwnPropertyDescriptors) {
|
|
90
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
91
|
+
} else {
|
|
92
|
+
ownKeys(Object(source)).forEach(function(key) {
|
|
93
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
return target;
|
|
97
|
+
}
|
|
37
98
|
function _sliced_to_array(arr, i) {
|
|
38
99
|
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
|
39
100
|
}
|
|
101
|
+
function _to_consumable_array(arr) {
|
|
102
|
+
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
|
103
|
+
}
|
|
40
104
|
function _type_of(obj) {
|
|
41
105
|
"@swc/helpers - typeof";
|
|
42
106
|
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
@@ -409,15 +473,38 @@ function ScoreBugOverlay(param) {
|
|
|
409
473
|
})
|
|
410
474
|
]
|
|
411
475
|
}),
|
|
412
|
-
cfg.sponsorText && /* @__PURE__ */ (0, import_jsx_runtime.
|
|
476
|
+
(cfg.sponsorText || cfg.sponsorImageUrl) && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
413
477
|
style: {
|
|
414
478
|
fontSize: "0.7em",
|
|
415
479
|
textAlign: "center",
|
|
416
|
-
opacity: 0.
|
|
417
|
-
padding: "".concat(f * 0.2, "px 0"),
|
|
418
|
-
borderTop: "1px solid ".concat(cfg.accentColor, "40")
|
|
480
|
+
opacity: 0.6,
|
|
481
|
+
padding: "".concat(f * 0.2, "px ").concat(f * 0.4, "px"),
|
|
482
|
+
borderTop: "1px solid ".concat(cfg.accentColor, "40"),
|
|
483
|
+
display: "flex",
|
|
484
|
+
alignItems: "center",
|
|
485
|
+
justifyContent: "center",
|
|
486
|
+
gap: f * 0.4,
|
|
487
|
+
overflow: "hidden"
|
|
419
488
|
},
|
|
420
|
-
children:
|
|
489
|
+
children: [
|
|
490
|
+
cfg.sponsorImageUrl && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
|
|
491
|
+
src: cfg.sponsorImageUrl,
|
|
492
|
+
alt: "sponsor",
|
|
493
|
+
style: {
|
|
494
|
+
height: "".concat(f * 1.4, "px"),
|
|
495
|
+
objectFit: "contain",
|
|
496
|
+
flexShrink: 0
|
|
497
|
+
}
|
|
498
|
+
}),
|
|
499
|
+
cfg.sponsorText && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
500
|
+
style: {
|
|
501
|
+
overflow: "hidden",
|
|
502
|
+
textOverflow: "ellipsis",
|
|
503
|
+
whiteSpace: "nowrap"
|
|
504
|
+
},
|
|
505
|
+
children: cfg.sponsorText
|
|
506
|
+
})
|
|
507
|
+
]
|
|
421
508
|
})
|
|
422
509
|
]
|
|
423
510
|
});
|
|
@@ -479,13 +566,35 @@ function LowerThirdOverlay(param) {
|
|
|
479
566
|
})
|
|
480
567
|
]
|
|
481
568
|
}),
|
|
482
|
-
cfg.sponsorText && /* @__PURE__ */ (0, import_jsx_runtime.
|
|
569
|
+
(cfg.sponsorText || cfg.sponsorImageUrl) && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
483
570
|
style: {
|
|
484
571
|
fontSize: "0.7em",
|
|
485
|
-
opacity: 0.
|
|
486
|
-
padding: "0 ".concat(f * 1.2, "px ").concat(f * 0.4, "px")
|
|
572
|
+
opacity: 0.5,
|
|
573
|
+
padding: "0 ".concat(f * 1.2, "px ").concat(f * 0.4, "px"),
|
|
574
|
+
display: "flex",
|
|
575
|
+
alignItems: "center",
|
|
576
|
+
gap: f * 0.4,
|
|
577
|
+
overflow: "hidden"
|
|
487
578
|
},
|
|
488
|
-
children:
|
|
579
|
+
children: [
|
|
580
|
+
cfg.sponsorImageUrl && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
|
|
581
|
+
src: cfg.sponsorImageUrl,
|
|
582
|
+
alt: "sponsor",
|
|
583
|
+
style: {
|
|
584
|
+
height: "".concat(f * 1.4, "px"),
|
|
585
|
+
objectFit: "contain",
|
|
586
|
+
flexShrink: 0
|
|
587
|
+
}
|
|
588
|
+
}),
|
|
589
|
+
cfg.sponsorText && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
590
|
+
style: {
|
|
591
|
+
overflow: "hidden",
|
|
592
|
+
textOverflow: "ellipsis",
|
|
593
|
+
whiteSpace: "nowrap"
|
|
594
|
+
},
|
|
595
|
+
children: cfg.sponsorText
|
|
596
|
+
})
|
|
597
|
+
]
|
|
489
598
|
})
|
|
490
599
|
]
|
|
491
600
|
});
|
|
@@ -642,6 +751,23 @@ function ComingUpNextOverlay(param) {
|
|
|
642
751
|
children: cfg.scheduledTime
|
|
643
752
|
})
|
|
644
753
|
]
|
|
754
|
+
}),
|
|
755
|
+
cfg.thumbnailUrl && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
756
|
+
style: {
|
|
757
|
+
flexShrink: 0,
|
|
758
|
+
width: Math.max(40, size.h * 0.75),
|
|
759
|
+
overflow: "hidden"
|
|
760
|
+
},
|
|
761
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
|
|
762
|
+
src: cfg.thumbnailUrl,
|
|
763
|
+
alt: "thumbnail",
|
|
764
|
+
style: {
|
|
765
|
+
width: "100%",
|
|
766
|
+
height: "100%",
|
|
767
|
+
objectFit: "cover",
|
|
768
|
+
display: "block"
|
|
769
|
+
}
|
|
770
|
+
})
|
|
645
771
|
})
|
|
646
772
|
]
|
|
647
773
|
});
|
|
@@ -877,35 +1003,41 @@ function BreakingNewsOverlay(param) {
|
|
|
877
1003
|
]
|
|
878
1004
|
});
|
|
879
1005
|
}
|
|
1006
|
+
function calcCountdownRemaining(targetTime) {
|
|
1007
|
+
var diff = Math.max(0, new Date(targetTime).getTime() - Date.now());
|
|
1008
|
+
return {
|
|
1009
|
+
d: Math.floor(diff / 864e5),
|
|
1010
|
+
h: Math.floor(diff % 864e5 / 36e5),
|
|
1011
|
+
m: Math.floor(diff % 36e5 / 6e4),
|
|
1012
|
+
s: Math.floor(diff % 6e4 / 1e3),
|
|
1013
|
+
expired: diff === 0
|
|
1014
|
+
};
|
|
1015
|
+
}
|
|
880
1016
|
function CountdownOverlay(param) {
|
|
881
1017
|
var overlay = param.overlay, size = param.size;
|
|
1018
|
+
var _ref;
|
|
882
1019
|
var cfg = parseConfig(overlay.content);
|
|
883
|
-
var _ref =
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
var update = function update() {
|
|
892
|
-
var target = new Date(cfg.targetTime).getTime();
|
|
893
|
-
var now = Date.now();
|
|
894
|
-
var diff = Math.max(0, target - now);
|
|
895
|
-
setRemaining({
|
|
896
|
-
d: Math.floor(diff / 864e5),
|
|
897
|
-
h: Math.floor(diff % 864e5 / 36e5),
|
|
898
|
-
m: Math.floor(diff % 36e5 / 6e4),
|
|
899
|
-
s: Math.floor(diff % 6e4 / 1e3)
|
|
900
|
-
});
|
|
1020
|
+
var targetTime = (_ref = cfg === null || cfg === void 0 ? void 0 : cfg.targetTime) !== null && _ref !== void 0 ? _ref : "";
|
|
1021
|
+
var _ref1 = _sliced_to_array((0, import_react.useState)(function() {
|
|
1022
|
+
return targetTime ? calcCountdownRemaining(targetTime) : {
|
|
1023
|
+
d: 0,
|
|
1024
|
+
h: 0,
|
|
1025
|
+
m: 0,
|
|
1026
|
+
s: 0,
|
|
1027
|
+
expired: false
|
|
901
1028
|
};
|
|
902
|
-
|
|
903
|
-
|
|
1029
|
+
}), 2), remaining = _ref1[0], setRemaining = _ref1[1];
|
|
1030
|
+
(0, import_react.useEffect)(function() {
|
|
1031
|
+
if (!targetTime) return;
|
|
1032
|
+
setRemaining(calcCountdownRemaining(targetTime));
|
|
1033
|
+
var id = setInterval(function() {
|
|
1034
|
+
return setRemaining(calcCountdownRemaining(targetTime));
|
|
1035
|
+
}, 1e3);
|
|
904
1036
|
return function() {
|
|
905
1037
|
return clearInterval(id);
|
|
906
1038
|
};
|
|
907
1039
|
}, [
|
|
908
|
-
|
|
1040
|
+
targetTime
|
|
909
1041
|
]);
|
|
910
1042
|
if (!cfg) return null;
|
|
911
1043
|
var f = Math.max(6, size.w * 0.055);
|
|
@@ -964,7 +1096,14 @@ function CountdownOverlay(param) {
|
|
|
964
1096
|
},
|
|
965
1097
|
children: cfg.eventName
|
|
966
1098
|
}),
|
|
967
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
1099
|
+
remaining.expired ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
1100
|
+
style: {
|
|
1101
|
+
fontSize: "1em",
|
|
1102
|
+
fontWeight: 700,
|
|
1103
|
+
opacity: 0.6
|
|
1104
|
+
},
|
|
1105
|
+
children: cfg.message || "Event ended"
|
|
1106
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
968
1107
|
style: {
|
|
969
1108
|
display: "flex",
|
|
970
1109
|
gap: f * 0.6,
|
|
@@ -1013,7 +1152,7 @@ function CountdownOverlay(param) {
|
|
|
1013
1152
|
}, u.label);
|
|
1014
1153
|
})
|
|
1015
1154
|
}),
|
|
1016
|
-
cfg.message && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
1155
|
+
!remaining.expired && cfg.message && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
1017
1156
|
style: {
|
|
1018
1157
|
fontSize: "0.8em",
|
|
1019
1158
|
opacity: 0.6,
|
|
@@ -1058,10 +1197,13 @@ function hexToRgb(hex) {
|
|
|
1058
1197
|
var num = parseInt(clean.length === 3 ? clean.replace(/./g, "$&$&") : clean, 16);
|
|
1059
1198
|
return "".concat(num >> 16 & 255, ",").concat(num >> 8 & 255, ",").concat(num & 255);
|
|
1060
1199
|
}
|
|
1200
|
+
var FADE_DURATION_MS = 1e3;
|
|
1061
1201
|
var OverlayRenderer = function OverlayRenderer(param) {
|
|
1062
1202
|
var overlays = param.overlays, currentTime = param.currentTime, videoRef = param.videoRef, coordinateSpace = param.coordinateSpace;
|
|
1063
1203
|
var _ref = _sliced_to_array((0, import_react.useState)(null), 2), dims = _ref[0], setDims = _ref[1];
|
|
1064
1204
|
var rafRef = (0, import_react.useRef)(null);
|
|
1205
|
+
var _ref1 = _sliced_to_array((0, import_react.useState)(/* @__PURE__ */ new Map()), 2), fadeMap = _ref1[0], setFadeMap = _ref1[1];
|
|
1206
|
+
var removeTimers = (0, import_react.useRef)(/* @__PURE__ */ new Map());
|
|
1065
1207
|
var updateDims = (0, import_react.useCallback)(function() {
|
|
1066
1208
|
var video = videoRef.current;
|
|
1067
1209
|
if (video) {
|
|
@@ -1092,10 +1234,181 @@ var OverlayRenderer = function OverlayRenderer(param) {
|
|
|
1092
1234
|
}, [
|
|
1093
1235
|
updateDims
|
|
1094
1236
|
]);
|
|
1095
|
-
var activeOverlays =
|
|
1096
|
-
return
|
|
1097
|
-
|
|
1098
|
-
|
|
1237
|
+
var activeOverlays = (0, import_react.useMemo)(function() {
|
|
1238
|
+
return overlays.filter(function(o) {
|
|
1239
|
+
return isOverlayActive(o, currentTime);
|
|
1240
|
+
});
|
|
1241
|
+
}, [
|
|
1242
|
+
overlays,
|
|
1243
|
+
currentTime
|
|
1244
|
+
]);
|
|
1245
|
+
(0, import_react.useEffect)(function() {
|
|
1246
|
+
var activeIds = new Set(activeOverlays.map(function(o) {
|
|
1247
|
+
return o.id;
|
|
1248
|
+
}));
|
|
1249
|
+
setFadeMap(function(prev) {
|
|
1250
|
+
var next = new Map(prev);
|
|
1251
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
1252
|
+
try {
|
|
1253
|
+
for(var _iterator = activeOverlays[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
1254
|
+
var overlay = _step.value;
|
|
1255
|
+
if (!next.has(overlay.id)) {
|
|
1256
|
+
next.set(overlay.id, {
|
|
1257
|
+
overlay: overlay,
|
|
1258
|
+
visible: false
|
|
1259
|
+
});
|
|
1260
|
+
} else {
|
|
1261
|
+
var existing = next.get(overlay.id);
|
|
1262
|
+
next.set(overlay.id, _object_spread_props(_object_spread({}, existing), {
|
|
1263
|
+
overlay: overlay
|
|
1264
|
+
}));
|
|
1265
|
+
}
|
|
1266
|
+
}
|
|
1267
|
+
} catch (err) {
|
|
1268
|
+
_didIteratorError = true;
|
|
1269
|
+
_iteratorError = err;
|
|
1270
|
+
} finally{
|
|
1271
|
+
try {
|
|
1272
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
1273
|
+
_iterator.return();
|
|
1274
|
+
}
|
|
1275
|
+
} finally{
|
|
1276
|
+
if (_didIteratorError) {
|
|
1277
|
+
throw _iteratorError;
|
|
1278
|
+
}
|
|
1279
|
+
}
|
|
1280
|
+
}
|
|
1281
|
+
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = undefined;
|
|
1282
|
+
try {
|
|
1283
|
+
var _loop = function() {
|
|
1284
|
+
var _step_value = _sliced_to_array(_step1.value, 2), id = _step_value[0], state = _step_value[1];
|
|
1285
|
+
if (!activeIds.has(id) && state.visible) {
|
|
1286
|
+
next.set(id, _object_spread_props(_object_spread({}, state), {
|
|
1287
|
+
visible: false
|
|
1288
|
+
}));
|
|
1289
|
+
if (!removeTimers.current.has(id)) {
|
|
1290
|
+
var timer = setTimeout(function() {
|
|
1291
|
+
setFadeMap(function(m) {
|
|
1292
|
+
var updated = new Map(m);
|
|
1293
|
+
updated.delete(id);
|
|
1294
|
+
return updated;
|
|
1295
|
+
});
|
|
1296
|
+
removeTimers.current.delete(id);
|
|
1297
|
+
}, FADE_DURATION_MS);
|
|
1298
|
+
removeTimers.current.set(id, timer);
|
|
1299
|
+
}
|
|
1300
|
+
} else if (!activeIds.has(id) && !state.visible) {}
|
|
1301
|
+
};
|
|
1302
|
+
for(var _iterator1 = next[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true)_loop();
|
|
1303
|
+
} catch (err) {
|
|
1304
|
+
_didIteratorError1 = true;
|
|
1305
|
+
_iteratorError1 = err;
|
|
1306
|
+
} finally{
|
|
1307
|
+
try {
|
|
1308
|
+
if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
|
|
1309
|
+
_iterator1.return();
|
|
1310
|
+
}
|
|
1311
|
+
} finally{
|
|
1312
|
+
if (_didIteratorError1) {
|
|
1313
|
+
throw _iteratorError1;
|
|
1314
|
+
}
|
|
1315
|
+
}
|
|
1316
|
+
}
|
|
1317
|
+
return next;
|
|
1318
|
+
});
|
|
1319
|
+
}, [
|
|
1320
|
+
activeOverlays
|
|
1321
|
+
]);
|
|
1322
|
+
(0, import_react.useEffect)(function() {
|
|
1323
|
+
var toFadeIn = [];
|
|
1324
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
1325
|
+
try {
|
|
1326
|
+
var _loop = function() {
|
|
1327
|
+
var _step_value = _sliced_to_array(_step.value, 2), id = _step_value[0], state = _step_value[1];
|
|
1328
|
+
if (!state.visible) {
|
|
1329
|
+
var isActive = activeOverlays.some(function(o) {
|
|
1330
|
+
return o.id === id;
|
|
1331
|
+
});
|
|
1332
|
+
if (isActive) toFadeIn.push(id);
|
|
1333
|
+
}
|
|
1334
|
+
};
|
|
1335
|
+
for(var _iterator = fadeMap[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true)_loop();
|
|
1336
|
+
} catch (err) {
|
|
1337
|
+
_didIteratorError = true;
|
|
1338
|
+
_iteratorError = err;
|
|
1339
|
+
} finally{
|
|
1340
|
+
try {
|
|
1341
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
1342
|
+
_iterator.return();
|
|
1343
|
+
}
|
|
1344
|
+
} finally{
|
|
1345
|
+
if (_didIteratorError) {
|
|
1346
|
+
throw _iteratorError;
|
|
1347
|
+
}
|
|
1348
|
+
}
|
|
1349
|
+
}
|
|
1350
|
+
if (toFadeIn.length === 0) return;
|
|
1351
|
+
var raf = requestAnimationFrame(function() {
|
|
1352
|
+
setFadeMap(function(prev) {
|
|
1353
|
+
var next = new Map(prev);
|
|
1354
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
1355
|
+
try {
|
|
1356
|
+
for(var _iterator = toFadeIn[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
1357
|
+
var id = _step.value;
|
|
1358
|
+
var state = next.get(id);
|
|
1359
|
+
if (state) next.set(id, _object_spread_props(_object_spread({}, state), {
|
|
1360
|
+
visible: true
|
|
1361
|
+
}));
|
|
1362
|
+
}
|
|
1363
|
+
} catch (err) {
|
|
1364
|
+
_didIteratorError = true;
|
|
1365
|
+
_iteratorError = err;
|
|
1366
|
+
} finally{
|
|
1367
|
+
try {
|
|
1368
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
1369
|
+
_iterator.return();
|
|
1370
|
+
}
|
|
1371
|
+
} finally{
|
|
1372
|
+
if (_didIteratorError) {
|
|
1373
|
+
throw _iteratorError;
|
|
1374
|
+
}
|
|
1375
|
+
}
|
|
1376
|
+
}
|
|
1377
|
+
return next;
|
|
1378
|
+
});
|
|
1379
|
+
});
|
|
1380
|
+
return function() {
|
|
1381
|
+
return cancelAnimationFrame(raf);
|
|
1382
|
+
};
|
|
1383
|
+
}, [
|
|
1384
|
+
fadeMap,
|
|
1385
|
+
activeOverlays
|
|
1386
|
+
]);
|
|
1387
|
+
(0, import_react.useEffect)(function() {
|
|
1388
|
+
return function() {
|
|
1389
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
1390
|
+
try {
|
|
1391
|
+
for(var _iterator = removeTimers.current.values()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
1392
|
+
var timer = _step.value;
|
|
1393
|
+
clearTimeout(timer);
|
|
1394
|
+
}
|
|
1395
|
+
} catch (err) {
|
|
1396
|
+
_didIteratorError = true;
|
|
1397
|
+
_iteratorError = err;
|
|
1398
|
+
} finally{
|
|
1399
|
+
try {
|
|
1400
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
1401
|
+
_iterator.return();
|
|
1402
|
+
}
|
|
1403
|
+
} finally{
|
|
1404
|
+
if (_didIteratorError) {
|
|
1405
|
+
throw _iteratorError;
|
|
1406
|
+
}
|
|
1407
|
+
}
|
|
1408
|
+
}
|
|
1409
|
+
};
|
|
1410
|
+
}, []);
|
|
1411
|
+
if (!dims || fadeMap.size === 0) return null;
|
|
1099
1412
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
1100
1413
|
"aria-hidden": "true",
|
|
1101
1414
|
style: {
|
|
@@ -1108,14 +1421,16 @@ var OverlayRenderer = function OverlayRenderer(param) {
|
|
|
1108
1421
|
overflow: "hidden",
|
|
1109
1422
|
zIndex: 8
|
|
1110
1423
|
},
|
|
1111
|
-
children:
|
|
1424
|
+
children: _to_consumable_array(fadeMap.values()).map(function(param) {
|
|
1425
|
+
var overlay = param.overlay, visible = param.visible;
|
|
1112
1426
|
var scaleX = (coordinateSpace === null || coordinateSpace === void 0 ? void 0 : coordinateSpace.width) ? dims.displayWidth / coordinateSpace.width : dims.scaleX;
|
|
1113
1427
|
var scaleY = (coordinateSpace === null || coordinateSpace === void 0 ? void 0 : coordinateSpace.height) ? dims.displayHeight / coordinateSpace.height : dims.scaleY;
|
|
1114
1428
|
var left = overlay.x * scaleX;
|
|
1115
1429
|
var top = overlay.y * scaleY;
|
|
1116
1430
|
var width = overlay.width * scaleX;
|
|
1117
1431
|
var height = overlay.height * scaleY;
|
|
1118
|
-
var
|
|
1432
|
+
var baseOpacity = Math.max(0, Math.min(100, overlay.opacity)) / 100;
|
|
1433
|
+
var opacity = visible ? baseOpacity : 0;
|
|
1119
1434
|
var sz = {
|
|
1120
1435
|
w: width,
|
|
1121
1436
|
h: height
|
|
@@ -1128,6 +1443,7 @@ var OverlayRenderer = function OverlayRenderer(param) {
|
|
|
1128
1443
|
width: "".concat(width, "px"),
|
|
1129
1444
|
height: "".concat(height, "px"),
|
|
1130
1445
|
opacity: opacity,
|
|
1446
|
+
transition: "opacity ".concat(FADE_DURATION_MS, "ms ease"),
|
|
1131
1447
|
zIndex: overlay.z_index,
|
|
1132
1448
|
overflow: "hidden"
|
|
1133
1449
|
},
|