stormcloud-video-player 0.7.9 → 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 +183 -6
- package/lib/index.cjs.map +1 -1
- package/lib/index.js +186 -9
- package/lib/index.js.map +1 -1
- package/lib/ui/OverlayRenderer.cjs +247 -6
- package/lib/ui/OverlayRenderer.cjs.map +1 -1
- package/lib/ui/StormcloudVideoPlayer.cjs +183 -6
- 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;
|
|
@@ -1133,10 +1197,13 @@ function hexToRgb(hex) {
|
|
|
1133
1197
|
var num = parseInt(clean.length === 3 ? clean.replace(/./g, "$&$&") : clean, 16);
|
|
1134
1198
|
return "".concat(num >> 16 & 255, ",").concat(num >> 8 & 255, ",").concat(num & 255);
|
|
1135
1199
|
}
|
|
1200
|
+
var FADE_DURATION_MS = 1e3;
|
|
1136
1201
|
var OverlayRenderer = function OverlayRenderer(param) {
|
|
1137
1202
|
var overlays = param.overlays, currentTime = param.currentTime, videoRef = param.videoRef, coordinateSpace = param.coordinateSpace;
|
|
1138
1203
|
var _ref = _sliced_to_array((0, import_react.useState)(null), 2), dims = _ref[0], setDims = _ref[1];
|
|
1139
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());
|
|
1140
1207
|
var updateDims = (0, import_react.useCallback)(function() {
|
|
1141
1208
|
var video = videoRef.current;
|
|
1142
1209
|
if (video) {
|
|
@@ -1167,10 +1234,181 @@ var OverlayRenderer = function OverlayRenderer(param) {
|
|
|
1167
1234
|
}, [
|
|
1168
1235
|
updateDims
|
|
1169
1236
|
]);
|
|
1170
|
-
var activeOverlays =
|
|
1171
|
-
return
|
|
1172
|
-
|
|
1173
|
-
|
|
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;
|
|
1174
1412
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
1175
1413
|
"aria-hidden": "true",
|
|
1176
1414
|
style: {
|
|
@@ -1183,14 +1421,16 @@ var OverlayRenderer = function OverlayRenderer(param) {
|
|
|
1183
1421
|
overflow: "hidden",
|
|
1184
1422
|
zIndex: 8
|
|
1185
1423
|
},
|
|
1186
|
-
children:
|
|
1424
|
+
children: _to_consumable_array(fadeMap.values()).map(function(param) {
|
|
1425
|
+
var overlay = param.overlay, visible = param.visible;
|
|
1187
1426
|
var scaleX = (coordinateSpace === null || coordinateSpace === void 0 ? void 0 : coordinateSpace.width) ? dims.displayWidth / coordinateSpace.width : dims.scaleX;
|
|
1188
1427
|
var scaleY = (coordinateSpace === null || coordinateSpace === void 0 ? void 0 : coordinateSpace.height) ? dims.displayHeight / coordinateSpace.height : dims.scaleY;
|
|
1189
1428
|
var left = overlay.x * scaleX;
|
|
1190
1429
|
var top = overlay.y * scaleY;
|
|
1191
1430
|
var width = overlay.width * scaleX;
|
|
1192
1431
|
var height = overlay.height * scaleY;
|
|
1193
|
-
var
|
|
1432
|
+
var baseOpacity = Math.max(0, Math.min(100, overlay.opacity)) / 100;
|
|
1433
|
+
var opacity = visible ? baseOpacity : 0;
|
|
1194
1434
|
var sz = {
|
|
1195
1435
|
w: width,
|
|
1196
1436
|
h: height
|
|
@@ -1203,6 +1443,7 @@ var OverlayRenderer = function OverlayRenderer(param) {
|
|
|
1203
1443
|
width: "".concat(width, "px"),
|
|
1204
1444
|
height: "".concat(height, "px"),
|
|
1205
1445
|
opacity: opacity,
|
|
1446
|
+
transition: "opacity ".concat(FADE_DURATION_MS, "ms ease"),
|
|
1206
1447
|
zIndex: overlay.z_index,
|
|
1207
1448
|
overflow: "hidden"
|
|
1208
1449
|
},
|