stormcloud-video-player 0.7.41 → 0.7.43
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 +141 -143
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.cts +1 -7
- package/lib/index.d.ts +1 -7
- package/lib/index.js +142 -136
- package/lib/index.js.map +1 -1
- package/lib/ui/OverlayRenderer.cjs +140 -57
- package/lib/ui/OverlayRenderer.cjs.map +1 -1
- package/lib/ui/StormcloudVideoPlayer.cjs +141 -135
- package/lib/ui/StormcloudVideoPlayer.cjs.map +1 -1
- package/lib/utils/overlays.cjs +6 -83
- package/lib/utils/overlays.cjs.map +1 -1
- package/lib/utils/overlays.d.cts +1 -7
- package/package.json +1 -1
package/lib/index.d.cts
CHANGED
|
@@ -4089,12 +4089,6 @@ declare function overlayAuthoringDimensions(overlay: SwirlOverlay, decodeWidth:
|
|
|
4089
4089
|
};
|
|
4090
4090
|
declare function swirlProjectHasNabDemoMixedWithOther(overlays: SwirlOverlay[]): boolean;
|
|
4091
4091
|
declare function inferSwirlOverlayCoordinateSpace(overlays: SwirlOverlay[], videoWidth: number, videoHeight: number): OverlayCoordinateSpace;
|
|
4092
|
-
declare function scrollerLooksLikeMarketsStock(o: SwirlOverlay): boolean;
|
|
4093
|
-
type DemoStockTickerOptions = {
|
|
4094
|
-
coordinateWidth?: number;
|
|
4095
|
-
coordinateHeight?: number;
|
|
4096
|
-
};
|
|
4097
|
-
declare function createDemoStockTickerOverlay(projectId: number, opts?: DemoStockTickerOptions): SwirlOverlay;
|
|
4098
4092
|
declare function normalizeSwirlOverlay(raw: SwirlOverlay & Record<string, unknown>): SwirlOverlay;
|
|
4099
4093
|
declare function fetchProjectOverlays(projectId: number, apiBaseUrl?: string): Promise<SwirlOverlay[]>;
|
|
4100
4094
|
declare function resolveImageUrl(imageUrl: string, apiBaseUrl?: string): string;
|
|
@@ -4156,4 +4150,4 @@ interface AdStormAdLayer extends AdController {
|
|
|
4156
4150
|
}
|
|
4157
4151
|
declare function createAdStormPlayer(contentVideo: HTMLVideoElement, options: AdStormPlayerOptions): AdStormAdLayer;
|
|
4158
4152
|
|
|
4159
|
-
export { type AdBreak, type AdSchedule, type AdStormAdLayer, type AdStormLayerOptionsUpdate, type AdStormPlayerOptions, type BaseStormcloudPlayerProps, type BrowserInfo, type ClientInfo, type
|
|
4153
|
+
export { type AdBreak, type AdSchedule, type AdStormAdLayer, type AdStormLayerOptionsUpdate, type AdStormPlayerOptions, type BaseStormcloudPlayerProps, type BrowserInfo, type ClientInfo, type HeartbeatData, IS_BROWSER, IS_GLOBAL, IS_IOS, IS_SAFARI, type LateJoinPolicy, OVERLAY_API_BASE, type OnProgressProps, type OverlayCoordinateSpace, SUPPORTS_DASH, SUPPORTS_HLS, SWIRL_HD_AUTHORING_HEIGHT, SWIRL_HD_AUTHORING_WIDTH, StormcloudPlayer, StormcloudVideoPlayer, StormcloudVideoPlayerComponent, type StormcloudVideoPlayerConfig, type StormcloudVideoPlayerProps, type SwirlOverlay, type SwirlOverlayType, type SwirlScrollerConfig, type TrackingData, type VastBidResponse, canPlay, createAdStormPlayer, createStormcloudPlayer, StormcloudVideoPlayerComponent as default, detectBrowser, fetchProjectOverlays, getBrowserConfigOverrides, getBrowserID, getClientInfo, inferSwirlOverlayCoordinateSpace, initializePolyfills, isMediaStream, isOverlayActive, lazy, logBrowserInfo, merge, normalizeSwirlOverlay, omit, overlayAuthoringDimensions, parseQuery, players, randomString, resolveImageUrl, sendHeartbeat, sendInitialTracking, supportsFeature, supportsModernJS, supportsWebKitPresentationMode, swirlProjectHasNabDemoMixedWithOther, timeStringToSeconds };
|
package/lib/index.d.ts
CHANGED
|
@@ -4089,12 +4089,6 @@ declare function overlayAuthoringDimensions(overlay: SwirlOverlay, decodeWidth:
|
|
|
4089
4089
|
};
|
|
4090
4090
|
declare function swirlProjectHasNabDemoMixedWithOther(overlays: SwirlOverlay[]): boolean;
|
|
4091
4091
|
declare function inferSwirlOverlayCoordinateSpace(overlays: SwirlOverlay[], videoWidth: number, videoHeight: number): OverlayCoordinateSpace;
|
|
4092
|
-
declare function scrollerLooksLikeMarketsStock(o: SwirlOverlay): boolean;
|
|
4093
|
-
type DemoStockTickerOptions = {
|
|
4094
|
-
coordinateWidth?: number;
|
|
4095
|
-
coordinateHeight?: number;
|
|
4096
|
-
};
|
|
4097
|
-
declare function createDemoStockTickerOverlay(projectId: number, opts?: DemoStockTickerOptions): SwirlOverlay;
|
|
4098
4092
|
declare function normalizeSwirlOverlay(raw: SwirlOverlay & Record<string, unknown>): SwirlOverlay;
|
|
4099
4093
|
declare function fetchProjectOverlays(projectId: number, apiBaseUrl?: string): Promise<SwirlOverlay[]>;
|
|
4100
4094
|
declare function resolveImageUrl(imageUrl: string, apiBaseUrl?: string): string;
|
|
@@ -4156,4 +4150,4 @@ interface AdStormAdLayer extends AdController {
|
|
|
4156
4150
|
}
|
|
4157
4151
|
declare function createAdStormPlayer(contentVideo: HTMLVideoElement, options: AdStormPlayerOptions): AdStormAdLayer;
|
|
4158
4152
|
|
|
4159
|
-
export { type AdBreak, type AdSchedule, type AdStormAdLayer, type AdStormLayerOptionsUpdate, type AdStormPlayerOptions, type BaseStormcloudPlayerProps, type BrowserInfo, type ClientInfo, type
|
|
4153
|
+
export { type AdBreak, type AdSchedule, type AdStormAdLayer, type AdStormLayerOptionsUpdate, type AdStormPlayerOptions, type BaseStormcloudPlayerProps, type BrowserInfo, type ClientInfo, type HeartbeatData, IS_BROWSER, IS_GLOBAL, IS_IOS, IS_SAFARI, type LateJoinPolicy, OVERLAY_API_BASE, type OnProgressProps, type OverlayCoordinateSpace, SUPPORTS_DASH, SUPPORTS_HLS, SWIRL_HD_AUTHORING_HEIGHT, SWIRL_HD_AUTHORING_WIDTH, StormcloudPlayer, StormcloudVideoPlayer, StormcloudVideoPlayerComponent, type StormcloudVideoPlayerConfig, type StormcloudVideoPlayerProps, type SwirlOverlay, type SwirlOverlayType, type SwirlScrollerConfig, type TrackingData, type VastBidResponse, canPlay, createAdStormPlayer, createStormcloudPlayer, StormcloudVideoPlayerComponent as default, detectBrowser, fetchProjectOverlays, getBrowserConfigOverrides, getBrowserID, getClientInfo, inferSwirlOverlayCoordinateSpace, initializePolyfills, isMediaStream, isOverlayActive, lazy, logBrowserInfo, merge, normalizeSwirlOverlay, omit, overlayAuthoringDimensions, parseQuery, players, randomString, resolveImageUrl, sendHeartbeat, sendInitialTracking, supportsFeature, supportsModernJS, supportsWebKitPresentationMode, swirlProjectHasNabDemoMixedWithOther, timeStringToSeconds };
|
package/lib/index.js
CHANGED
|
@@ -5705,28 +5705,16 @@ var SWIRL_HD_AUTHORING_WIDTH = 1920;
|
|
|
5705
5705
|
var SWIRL_HD_AUTHORING_HEIGHT = 1080;
|
|
5706
5706
|
var NAB_DEMO_NAME_PREFIX = "NAB Demo \u2014 ";
|
|
5707
5707
|
function overlayAuthoringDimensions(overlay, decodeWidth, decodeHeight) {
|
|
5708
|
-
if (
|
|
5709
|
-
return {
|
|
5710
|
-
width: decodeWidth || SWIRL_HD_AUTHORING_WIDTH,
|
|
5711
|
-
height: decodeHeight || SWIRL_HD_AUTHORING_HEIGHT
|
|
5712
|
-
};
|
|
5713
|
-
}
|
|
5714
|
-
if (!overlay.visible) {
|
|
5708
|
+
if (overlay.name.startsWith(NAB_DEMO_NAME_PREFIX)) {
|
|
5715
5709
|
return {
|
|
5716
|
-
width:
|
|
5717
|
-
height:
|
|
5710
|
+
width: SWIRL_HD_AUTHORING_WIDTH,
|
|
5711
|
+
height: SWIRL_HD_AUTHORING_HEIGHT
|
|
5718
5712
|
};
|
|
5719
5713
|
}
|
|
5720
|
-
|
|
5721
|
-
var extB = overlay.y + overlay.height;
|
|
5722
|
-
var EPS = 2;
|
|
5723
|
-
var exceedsDecode = extR > decodeWidth + EPS || extB > decodeHeight + EPS;
|
|
5724
|
-
var isNabDemo = overlay.name.startsWith(NAB_DEMO_NAME_PREFIX);
|
|
5725
|
-
var isSyntheticMarketsTicker = overlay.id === -9001 || overlay.name === "Demo stock ticker";
|
|
5726
|
-
if (exceedsDecode && (isNabDemo || isSyntheticMarketsTicker)) {
|
|
5714
|
+
if (!decodeWidth || !decodeHeight) {
|
|
5727
5715
|
return {
|
|
5728
|
-
width: SWIRL_HD_AUTHORING_WIDTH,
|
|
5729
|
-
height: SWIRL_HD_AUTHORING_HEIGHT
|
|
5716
|
+
width: decodeWidth || SWIRL_HD_AUTHORING_WIDTH,
|
|
5717
|
+
height: decodeHeight || SWIRL_HD_AUTHORING_HEIGHT
|
|
5730
5718
|
};
|
|
5731
5719
|
}
|
|
5732
5720
|
return {
|
|
@@ -5821,63 +5809,6 @@ function inferSwirlOverlayCoordinateSpace(overlays, videoWidth, videoHeight) {
|
|
|
5821
5809
|
height: videoHeight
|
|
5822
5810
|
};
|
|
5823
5811
|
}
|
|
5824
|
-
function scrollerLooksLikeMarketsStock(o) {
|
|
5825
|
-
var _ref, _ref1, _ref2, _ref3;
|
|
5826
|
-
if (o.type !== "scroller") return false;
|
|
5827
|
-
var cfg = o.scroller_config;
|
|
5828
|
-
var blob = "".concat(o.name, " ").concat((_ref = cfg === null || cfg === void 0 ? void 0 : cfg.label) !== null && _ref !== void 0 ? _ref : "", " ").concat((_ref1 = cfg === null || cfg === void 0 ? void 0 : cfg.label_line2) !== null && _ref1 !== void 0 ? _ref1 : "", " ").concat((_ref2 = cfg === null || cfg === void 0 ? void 0 : cfg.custom_text) !== null && _ref2 !== void 0 ? _ref2 : "", " ").concat((_ref3 = cfg === null || cfg === void 0 ? void 0 : cfg.preset) !== null && _ref3 !== void 0 ? _ref3 : "");
|
|
5829
|
-
return /\b(MARKETS?|NYSE|NASDAQ|DJIA|\bS&P\b|STOCK|AAPL|TSLA|NVDA|EQUITIES)\b/i.test(blob);
|
|
5830
|
-
}
|
|
5831
|
-
function createDemoStockTickerOverlay(projectId, opts) {
|
|
5832
|
-
var cw = (opts === null || opts === void 0 ? void 0 : opts.coordinateWidth) && opts.coordinateWidth > 0 ? opts.coordinateWidth : SWIRL_HD_AUTHORING_WIDTH;
|
|
5833
|
-
var ch = (opts === null || opts === void 0 ? void 0 : opts.coordinateHeight) && opts.coordinateHeight > 0 ? opts.coordinateHeight : SWIRL_HD_AUTHORING_HEIGHT;
|
|
5834
|
-
var sx = cw / SWIRL_HD_AUTHORING_WIDTH;
|
|
5835
|
-
var sy = ch / SWIRL_HD_AUTHORING_HEIGHT;
|
|
5836
|
-
var x = 36 * sx;
|
|
5837
|
-
var y = 1002 * sy;
|
|
5838
|
-
var width = 1848 * sx;
|
|
5839
|
-
var height = 66 * sy;
|
|
5840
|
-
var fontSize = Math.max(8, Math.round(13 * sy));
|
|
5841
|
-
var scrollSpeed = Math.max(8, Math.round(36 * sx));
|
|
5842
|
-
var borderRadius = Math.max(1, Math.round(4 * sy));
|
|
5843
|
-
return {
|
|
5844
|
-
id: -9001,
|
|
5845
|
-
project_id: projectId,
|
|
5846
|
-
name: "Demo stock ticker",
|
|
5847
|
-
type: "scroller",
|
|
5848
|
-
visible: true,
|
|
5849
|
-
x: x,
|
|
5850
|
-
y: y,
|
|
5851
|
-
width: width,
|
|
5852
|
-
height: height,
|
|
5853
|
-
opacity: 100,
|
|
5854
|
-
start_time: "00:00:00.000",
|
|
5855
|
-
duration: "24:00:00.000",
|
|
5856
|
-
z_index: 120,
|
|
5857
|
-
scroller_config: {
|
|
5858
|
-
preset: "equities_strip",
|
|
5859
|
-
use_custom_text: true,
|
|
5860
|
-
custom_text: "AAPL +0.84% \u2022 MSFT +0.31% \u2022 GOOGL \u22120.22% \u2022 AMZN +0.47% \u2022 NVDA +1.12% \u2022 META +0.19% \u2022 BRK.B +0.11% \u2022 JPM +0.55% \u2022 V +0.28% \u2022 UNH \u22120.17% \u2022 DJIA +0.41% \u2022 S&P 500 +0.29% \u2022 Nasdaq Composite +0.36% \u2022 Russell 2000 +0.52% \u2022 WTI crude $78.40 +0.6% \u2022 Gold $2,348/oz \u22120.2% \u2022 10Y Treasury 4.28%",
|
|
5861
|
-
direction: "left",
|
|
5862
|
-
scroll_speed: scrollSpeed,
|
|
5863
|
-
font_size: fontSize,
|
|
5864
|
-
font_weight: "600",
|
|
5865
|
-
text_color: "#e2e8f0",
|
|
5866
|
-
background_color: "#0a0f18",
|
|
5867
|
-
background_opacity: 92,
|
|
5868
|
-
border_radius: borderRadius,
|
|
5869
|
-
padding: Math.max(3, Math.round(6 * sy)),
|
|
5870
|
-
label: "U.S. equities",
|
|
5871
|
-
label_line2: "",
|
|
5872
|
-
label_color: "#1e3a5f",
|
|
5873
|
-
label_text_color: "#f8fafc",
|
|
5874
|
-
accent_color: "#38bdf8",
|
|
5875
|
-
show_accent_line: true,
|
|
5876
|
-
separator_char: "\u2022",
|
|
5877
|
-
item_spacing: Math.max(28, Math.round(48 * sx))
|
|
5878
|
-
}
|
|
5879
|
-
};
|
|
5880
|
-
}
|
|
5881
5812
|
function normalizeScrollerConfig(raw) {
|
|
5882
5813
|
if (!raw || (typeof raw === "undefined" ? "undefined" : _type_of(raw)) !== "object") return void 0;
|
|
5883
5814
|
var r = raw;
|
|
@@ -7377,11 +7308,19 @@ function hexToRgb(hex) {
|
|
|
7377
7308
|
return "".concat(num >> 16 & 255, ",").concat(num >> 8 & 255, ",").concat(num & 255);
|
|
7378
7309
|
}
|
|
7379
7310
|
var FADE_DURATION_MS = 1e3;
|
|
7380
|
-
var SHOWCASE_CYCLE_MS_DEFAULT =
|
|
7381
|
-
var
|
|
7382
|
-
var
|
|
7383
|
-
var
|
|
7384
|
-
var
|
|
7311
|
+
var SHOWCASE_CYCLE_MS_DEFAULT = 36e3;
|
|
7312
|
+
var SHOWCASE_MIN_BEAT_MS = 6e3;
|
|
7313
|
+
var BEAT_POP_IN_MS = 520;
|
|
7314
|
+
var BEAT_POP_OUT_MS = 520;
|
|
7315
|
+
var SHOWCASE_PERSISTENT_TYPES = /* @__PURE__ */ new Set([
|
|
7316
|
+
"scroller",
|
|
7317
|
+
"breaking_news",
|
|
7318
|
+
"image",
|
|
7319
|
+
"text",
|
|
7320
|
+
"shape",
|
|
7321
|
+
"countdown",
|
|
7322
|
+
"qr_code"
|
|
7323
|
+
]);
|
|
7385
7324
|
function easeOutCubic(t) {
|
|
7386
7325
|
var u = 1 - t;
|
|
7387
7326
|
return 1 - u * u * u;
|
|
@@ -7394,38 +7333,108 @@ function easeOutBack(t) {
|
|
|
7394
7333
|
var c3 = c1 + 1;
|
|
7395
7334
|
return 1 + c3 * Math.pow(t - 1, 3) + c1 * Math.pow(t - 1, 2);
|
|
7396
7335
|
}
|
|
7397
|
-
function
|
|
7398
|
-
if (phase <
|
|
7399
|
-
|
|
7400
|
-
|
|
7336
|
+
function beatOpacity(phase, beatMs) {
|
|
7337
|
+
if (phase < BEAT_POP_IN_MS) return easeOutCubic(phase / BEAT_POP_IN_MS);
|
|
7338
|
+
var holdEnd = beatMs - BEAT_POP_OUT_MS;
|
|
7339
|
+
if (phase >= holdEnd) {
|
|
7340
|
+
return Math.max(0, 1 - easeInCubic((phase - holdEnd) / BEAT_POP_OUT_MS));
|
|
7401
7341
|
}
|
|
7402
7342
|
return 1;
|
|
7403
7343
|
}
|
|
7404
|
-
function
|
|
7405
|
-
if (phase <
|
|
7406
|
-
return Math.min(1, 0.
|
|
7344
|
+
function beatScale(phase, beatMs) {
|
|
7345
|
+
if (phase < BEAT_POP_IN_MS) {
|
|
7346
|
+
return Math.min(1, 0.92 + 0.08 * easeOutBack(phase / BEAT_POP_IN_MS));
|
|
7407
7347
|
}
|
|
7408
|
-
|
|
7409
|
-
|
|
7348
|
+
var holdEnd = beatMs - BEAT_POP_OUT_MS;
|
|
7349
|
+
if (phase >= holdEnd) {
|
|
7350
|
+
return 1 - 0.06 * easeInCubic((phase - holdEnd) / BEAT_POP_OUT_MS);
|
|
7410
7351
|
}
|
|
7411
7352
|
return 1;
|
|
7412
7353
|
}
|
|
7413
|
-
function
|
|
7414
|
-
var
|
|
7354
|
+
function partitionShowcase(overlays) {
|
|
7355
|
+
var visible = overlays.filter(function(o) {
|
|
7356
|
+
return o.visible;
|
|
7357
|
+
});
|
|
7358
|
+
var persistent = [];
|
|
7359
|
+
var spotlight = [];
|
|
7360
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
7361
|
+
try {
|
|
7362
|
+
for(var _iterator = visible[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
7363
|
+
var o = _step.value;
|
|
7364
|
+
if (SHOWCASE_PERSISTENT_TYPES.has(o.type)) persistent.push(o);
|
|
7365
|
+
else spotlight.push(o);
|
|
7366
|
+
}
|
|
7367
|
+
} catch (err) {
|
|
7368
|
+
_didIteratorError = true;
|
|
7369
|
+
_iteratorError = err;
|
|
7370
|
+
} finally{
|
|
7371
|
+
try {
|
|
7372
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
7373
|
+
_iterator.return();
|
|
7374
|
+
}
|
|
7375
|
+
} finally{
|
|
7376
|
+
if (_didIteratorError) {
|
|
7377
|
+
throw _iteratorError;
|
|
7378
|
+
}
|
|
7379
|
+
}
|
|
7380
|
+
}
|
|
7381
|
+
spotlight.sort(function(a, b) {
|
|
7382
|
+
return a.z_index - b.z_index || a.id - b.id;
|
|
7383
|
+
});
|
|
7384
|
+
var beats = [];
|
|
7385
|
+
var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = undefined;
|
|
7386
|
+
try {
|
|
7387
|
+
for(var _iterator1 = spotlight[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){
|
|
7388
|
+
var o1 = _step1.value;
|
|
7389
|
+
beats.push([
|
|
7390
|
+
o1
|
|
7391
|
+
]);
|
|
7392
|
+
}
|
|
7393
|
+
} catch (err) {
|
|
7394
|
+
_didIteratorError1 = true;
|
|
7395
|
+
_iteratorError1 = err;
|
|
7396
|
+
} finally{
|
|
7397
|
+
try {
|
|
7398
|
+
if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
|
|
7399
|
+
_iterator1.return();
|
|
7400
|
+
}
|
|
7401
|
+
} finally{
|
|
7402
|
+
if (_didIteratorError1) {
|
|
7403
|
+
throw _iteratorError1;
|
|
7404
|
+
}
|
|
7405
|
+
}
|
|
7406
|
+
}
|
|
7407
|
+
return {
|
|
7408
|
+
persistent: persistent,
|
|
7409
|
+
beats: beats
|
|
7410
|
+
};
|
|
7411
|
+
}
|
|
7412
|
+
function useShowcaseBeat(enabled, cycleMs, beats) {
|
|
7413
|
+
var safeBeats = Math.max(1, beats);
|
|
7414
|
+
var beatMs = Math.max(SHOWCASE_MIN_BEAT_MS, Math.floor(cycleMs / safeBeats));
|
|
7415
|
+
var totalMs = beatMs * safeBeats;
|
|
7416
|
+
var _useState = _sliced_to_array(useState(function() {
|
|
7417
|
+
return Date.now();
|
|
7418
|
+
}), 2), now = _useState[0], setNow = _useState[1];
|
|
7415
7419
|
useEffect(function() {
|
|
7416
7420
|
if (!enabled) return;
|
|
7417
|
-
setPhase(Date.now() % cycleMs);
|
|
7418
7421
|
var id = window.setInterval(function() {
|
|
7419
|
-
|
|
7420
|
-
},
|
|
7422
|
+
return setNow(Date.now());
|
|
7423
|
+
}, 64);
|
|
7421
7424
|
return function() {
|
|
7422
7425
|
return clearInterval(id);
|
|
7423
7426
|
};
|
|
7424
7427
|
}, [
|
|
7425
|
-
enabled
|
|
7426
|
-
cycleMs
|
|
7428
|
+
enabled
|
|
7427
7429
|
]);
|
|
7428
|
-
|
|
7430
|
+
var phase = now % totalMs;
|
|
7431
|
+
var beatIndex = Math.min(safeBeats - 1, Math.floor(phase / beatMs));
|
|
7432
|
+
var beatPhase = phase - beatIndex * beatMs;
|
|
7433
|
+
return {
|
|
7434
|
+
beatIndex: beatIndex,
|
|
7435
|
+
beatPhase: beatPhase,
|
|
7436
|
+
beatMs: beatMs
|
|
7437
|
+
};
|
|
7429
7438
|
}
|
|
7430
7439
|
var OverlayRenderer = function OverlayRenderer(param) {
|
|
7431
7440
|
var overlays = param.overlays, currentTime = param.currentTime, videoRef = param.videoRef, coordinateSpace = param.coordinateSpace, _param_showcaseMode = param.showcaseMode, showcaseMode = _param_showcaseMode === void 0 ? false : _param_showcaseMode, _param_showcaseCycleMs = param.showcaseCycleMs, showcaseCycleMs = _param_showcaseCycleMs === void 0 ? SHOWCASE_CYCLE_MS_DEFAULT : _param_showcaseCycleMs;
|
|
@@ -7433,7 +7442,28 @@ var OverlayRenderer = function OverlayRenderer(param) {
|
|
|
7433
7442
|
var rafRef = useRef(null);
|
|
7434
7443
|
var _useState1 = _sliced_to_array(useState(/* @__PURE__ */ new Map()), 2), fadeMap = _useState1[0], setFadeMap = _useState1[1];
|
|
7435
7444
|
var removeTimers = useRef(/* @__PURE__ */ new Map());
|
|
7436
|
-
var
|
|
7445
|
+
var _useMemo = useMemo(function() {
|
|
7446
|
+
return partitionShowcase(overlays);
|
|
7447
|
+
}, [
|
|
7448
|
+
overlays
|
|
7449
|
+
]), showcasePersistent = _useMemo.persistent, showcaseBeats = _useMemo.beats;
|
|
7450
|
+
var _useShowcaseBeat = useShowcaseBeat(showcaseMode, showcaseCycleMs, showcaseBeats.length), showcaseBeatIndex = _useShowcaseBeat.beatIndex, showcaseBeatPhase = _useShowcaseBeat.beatPhase, showcaseBeatMs = _useShowcaseBeat.beatMs;
|
|
7451
|
+
var showcasePersistentIds = useMemo(function() {
|
|
7452
|
+
return new Set(showcasePersistent.map(function(o) {
|
|
7453
|
+
return o.id;
|
|
7454
|
+
}));
|
|
7455
|
+
}, [
|
|
7456
|
+
showcasePersistent
|
|
7457
|
+
]);
|
|
7458
|
+
var showcaseSpotlightIds = useMemo(function() {
|
|
7459
|
+
var beat = showcaseBeats[showcaseBeatIndex];
|
|
7460
|
+
return new Set((beat !== null && beat !== void 0 ? beat : []).map(function(o) {
|
|
7461
|
+
return o.id;
|
|
7462
|
+
}));
|
|
7463
|
+
}, [
|
|
7464
|
+
showcaseBeats,
|
|
7465
|
+
showcaseBeatIndex
|
|
7466
|
+
]);
|
|
7437
7467
|
var updateDims = useCallback(function() {
|
|
7438
7468
|
var video = videoRef.current;
|
|
7439
7469
|
if (video) {
|
|
@@ -7466,10 +7496,9 @@ var OverlayRenderer = function OverlayRenderer(param) {
|
|
|
7466
7496
|
]);
|
|
7467
7497
|
var activeOverlays = useMemo(function() {
|
|
7468
7498
|
if (showcaseMode) {
|
|
7469
|
-
|
|
7470
|
-
|
|
7471
|
-
|
|
7472
|
-
});
|
|
7499
|
+
var _showcaseBeats_showcaseBeatIndex;
|
|
7500
|
+
var beat = (_showcaseBeats_showcaseBeatIndex = showcaseBeats[showcaseBeatIndex]) !== null && _showcaseBeats_showcaseBeatIndex !== void 0 ? _showcaseBeats_showcaseBeatIndex : [];
|
|
7501
|
+
return _to_consumable_array(showcasePersistent).concat(_to_consumable_array(beat));
|
|
7473
7502
|
}
|
|
7474
7503
|
return overlays.filter(function(o) {
|
|
7475
7504
|
return isOverlayActive(o, currentTime);
|
|
@@ -7478,14 +7507,9 @@ var OverlayRenderer = function OverlayRenderer(param) {
|
|
|
7478
7507
|
overlays,
|
|
7479
7508
|
currentTime,
|
|
7480
7509
|
showcaseMode,
|
|
7481
|
-
|
|
7482
|
-
|
|
7483
|
-
|
|
7484
|
-
return new Set(activeOverlays.map(function(o) {
|
|
7485
|
-
return o.id;
|
|
7486
|
-
}));
|
|
7487
|
-
}, [
|
|
7488
|
-
activeOverlays
|
|
7510
|
+
showcasePersistent,
|
|
7511
|
+
showcaseBeats,
|
|
7512
|
+
showcaseBeatIndex
|
|
7489
7513
|
]);
|
|
7490
7514
|
useLayoutEffect(function() {
|
|
7491
7515
|
var activeIds = new Set(activeOverlays.map(function(o) {
|
|
@@ -7680,10 +7704,12 @@ var OverlayRenderer = function OverlayRenderer(param) {
|
|
|
7680
7704
|
var width = overlay.width * scaleX;
|
|
7681
7705
|
var height = overlay.height * scaleY;
|
|
7682
7706
|
var baseOpacity = Math.max(0, Math.min(100, overlay.opacity)) / 100;
|
|
7683
|
-
var
|
|
7684
|
-
var
|
|
7685
|
-
var
|
|
7686
|
-
var
|
|
7707
|
+
var isShowcasePersistent = showcaseMode && showcasePersistentIds.has(overlay.id);
|
|
7708
|
+
var isShowcaseSpotlight = showcaseMode && showcaseSpotlightIds.has(overlay.id);
|
|
7709
|
+
var isShowcaseDormant = showcaseMode && !isShowcasePersistent && !isShowcaseSpotlight;
|
|
7710
|
+
var useShowcasePop = isShowcaseSpotlight;
|
|
7711
|
+
var opacity = useShowcasePop ? baseOpacity * beatOpacity(showcaseBeatPhase, showcaseBeatMs) : isShowcaseDormant ? 0 : visible ? baseOpacity : 0;
|
|
7712
|
+
var popScale = useShowcasePop ? beatScale(showcaseBeatPhase, showcaseBeatMs) : 1;
|
|
7687
7713
|
var sz = {
|
|
7688
7714
|
w: width,
|
|
7689
7715
|
h: height
|
|
@@ -7898,27 +7924,7 @@ var StormcloudVideoPlayerComponent = React2.memo(function(props) {
|
|
|
7898
7924
|
swirlOverlayApiBaseUrl
|
|
7899
7925
|
]);
|
|
7900
7926
|
var _React2_useState17 = _sliced_to_array(React2.useState(null), 2), overlayCoordSpace = _React2_useState17[0], setOverlayCoordSpace = _React2_useState17[1];
|
|
7901
|
-
var displayOverlays =
|
|
7902
|
-
if (!swirlProjectId || !swirlShowcaseDemo) return overlays;
|
|
7903
|
-
if (overlays.some(scrollerLooksLikeMarketsStock)) return overlays;
|
|
7904
|
-
if (overlays.some(function(o) {
|
|
7905
|
-
return o.visible && o.type === "scroller";
|
|
7906
|
-
})) return overlays;
|
|
7907
|
-
var cw = overlayCoordSpace === null || overlayCoordSpace === void 0 ? void 0 : overlayCoordSpace.width;
|
|
7908
|
-
var ch = overlayCoordSpace === null || overlayCoordSpace === void 0 ? void 0 : overlayCoordSpace.height;
|
|
7909
|
-
var tickerOpts = cw && cw > 0 && ch && ch > 0 ? {
|
|
7910
|
-
coordinateWidth: cw,
|
|
7911
|
-
coordinateHeight: ch
|
|
7912
|
-
} : {};
|
|
7913
|
-
return _to_consumable_array(overlays).concat([
|
|
7914
|
-
createDemoStockTickerOverlay(swirlProjectId, tickerOpts)
|
|
7915
|
-
]);
|
|
7916
|
-
}, [
|
|
7917
|
-
overlays,
|
|
7918
|
-
swirlProjectId,
|
|
7919
|
-
swirlShowcaseDemo,
|
|
7920
|
-
overlayCoordSpace
|
|
7921
|
-
]);
|
|
7927
|
+
var displayOverlays = overlays;
|
|
7922
7928
|
var _React2_useState18 = _sliced_to_array(React2.useState(typeof window !== "undefined" ? window.innerWidth : 1920), 2), viewportWidth = _React2_useState18[0], setViewportWidth = _React2_useState18[1];
|
|
7923
7929
|
var _React2_useState19 = _sliced_to_array(React2.useState(typeof window !== "undefined" ? window.innerHeight > window.innerWidth : false), 2), isPortrait = _React2_useState19[0], setIsPortrait = _React2_useState19[1];
|
|
7924
7930
|
var _React2_useState20 = _sliced_to_array(React2.useState(DEFAULT_PLAYER_ASPECT_RATIO), 2), playerAspectRatio = _React2_useState20[0], setPlayerAspectRatio = _React2_useState20[1];
|
|
@@ -11301,5 +11307,5 @@ var createStormcloudPlayer = function createStormcloudPlayer(playerList, fallbac
|
|
|
11301
11307
|
};
|
|
11302
11308
|
var StormcloudPlayer = createStormcloudPlayer(players_default, players_default[players_default.length - 1]);
|
|
11303
11309
|
var StormcloudPlayer_default = StormcloudPlayer;
|
|
11304
|
-
export { IS_BROWSER, IS_GLOBAL, IS_IOS, IS_SAFARI, OVERLAY_API_BASE, SUPPORTS_DASH, SUPPORTS_HLS, SWIRL_HD_AUTHORING_HEIGHT, SWIRL_HD_AUTHORING_WIDTH, StormcloudPlayer_default as StormcloudPlayer, StormcloudVideoPlayer, StormcloudVideoPlayerComponent, canPlay, createAdStormPlayer,
|
|
11310
|
+
export { IS_BROWSER, IS_GLOBAL, IS_IOS, IS_SAFARI, OVERLAY_API_BASE, SUPPORTS_DASH, SUPPORTS_HLS, SWIRL_HD_AUTHORING_HEIGHT, SWIRL_HD_AUTHORING_WIDTH, StormcloudPlayer_default as StormcloudPlayer, StormcloudVideoPlayer, StormcloudVideoPlayerComponent, canPlay, createAdStormPlayer, createStormcloudPlayer, StormcloudVideoPlayerComponent as default, detectBrowser, fetchProjectOverlays, getBrowserConfigOverrides, getBrowserID, getClientInfo, inferSwirlOverlayCoordinateSpace, initializePolyfills, isMediaStream, isOverlayActive, lazy, logBrowserInfo, merge, normalizeSwirlOverlay, omit, overlayAuthoringDimensions, parseQuery, players_default as players, randomString, resolveImageUrl, sendHeartbeat, sendInitialTracking, supportsFeature, supportsModernJS, supportsWebKitPresentationMode, swirlProjectHasNabDemoMixedWithOther, timeStringToSeconds };
|
|
11305
11311
|
//# sourceMappingURL=index.js.map
|