stormcloud-video-player 0.7.32 → 0.7.35

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/lib/index.d.cts CHANGED
@@ -272,6 +272,7 @@ type StormcloudVideoPlayerProps = Omit<StormcloudVideoPlayerConfig, "videoElemen
272
272
  wrapperStyle?: React.CSSProperties;
273
273
  licenseKey?: string;
274
274
  swirlProjectId?: number;
275
+ swirlShowcaseDemo?: boolean;
275
276
  adcisionChannelId?: number;
276
277
  disableOverlays?: boolean;
277
278
  showAdsControl?: boolean;
@@ -4070,6 +4071,7 @@ interface SwirlOverlay {
4070
4071
  }
4071
4072
  declare function timeStringToSeconds(timeStr: string): number;
4072
4073
  declare function isOverlayActive(overlay: SwirlOverlay, currentTime: number): boolean;
4074
+ declare function createDemoStockTickerOverlay(projectId: number): SwirlOverlay;
4073
4075
  declare function fetchProjectOverlays(projectId: number, apiBaseUrl?: string): Promise<SwirlOverlay[]>;
4074
4076
  declare function resolveImageUrl(imageUrl: string, apiBaseUrl?: string): string;
4075
4077
 
@@ -4130,4 +4132,4 @@ interface AdStormAdLayer extends AdController {
4130
4132
  }
4131
4133
  declare function createAdStormPlayer(contentVideo: HTMLVideoElement, options: AdStormPlayerOptions): AdStormAdLayer;
4132
4134
 
4133
- 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, type OnProgressProps, type OverlayCoordinateSpace, SUPPORTS_DASH, SUPPORTS_HLS, 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, initializePolyfills, isMediaStream, isOverlayActive, lazy, logBrowserInfo, merge, omit, parseQuery, players, randomString, resolveImageUrl, sendHeartbeat, sendInitialTracking, supportsFeature, supportsModernJS, supportsWebKitPresentationMode, timeStringToSeconds };
4135
+ 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, type OnProgressProps, type OverlayCoordinateSpace, SUPPORTS_DASH, SUPPORTS_HLS, StormcloudPlayer, StormcloudVideoPlayer, StormcloudVideoPlayerComponent, type StormcloudVideoPlayerConfig, type StormcloudVideoPlayerProps, type SwirlOverlay, type SwirlOverlayType, type SwirlScrollerConfig, type TrackingData, type VastBidResponse, canPlay, createAdStormPlayer, createDemoStockTickerOverlay, createStormcloudPlayer, StormcloudVideoPlayerComponent as default, detectBrowser, fetchProjectOverlays, getBrowserConfigOverrides, getBrowserID, getClientInfo, initializePolyfills, isMediaStream, isOverlayActive, lazy, logBrowserInfo, merge, omit, parseQuery, players, randomString, resolveImageUrl, sendHeartbeat, sendInitialTracking, supportsFeature, supportsModernJS, supportsWebKitPresentationMode, timeStringToSeconds };
package/lib/index.d.ts CHANGED
@@ -272,6 +272,7 @@ type StormcloudVideoPlayerProps = Omit<StormcloudVideoPlayerConfig, "videoElemen
272
272
  wrapperStyle?: React.CSSProperties;
273
273
  licenseKey?: string;
274
274
  swirlProjectId?: number;
275
+ swirlShowcaseDemo?: boolean;
275
276
  adcisionChannelId?: number;
276
277
  disableOverlays?: boolean;
277
278
  showAdsControl?: boolean;
@@ -4070,6 +4071,7 @@ interface SwirlOverlay {
4070
4071
  }
4071
4072
  declare function timeStringToSeconds(timeStr: string): number;
4072
4073
  declare function isOverlayActive(overlay: SwirlOverlay, currentTime: number): boolean;
4074
+ declare function createDemoStockTickerOverlay(projectId: number): SwirlOverlay;
4073
4075
  declare function fetchProjectOverlays(projectId: number, apiBaseUrl?: string): Promise<SwirlOverlay[]>;
4074
4076
  declare function resolveImageUrl(imageUrl: string, apiBaseUrl?: string): string;
4075
4077
 
@@ -4130,4 +4132,4 @@ interface AdStormAdLayer extends AdController {
4130
4132
  }
4131
4133
  declare function createAdStormPlayer(contentVideo: HTMLVideoElement, options: AdStormPlayerOptions): AdStormAdLayer;
4132
4134
 
4133
- 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, type OnProgressProps, type OverlayCoordinateSpace, SUPPORTS_DASH, SUPPORTS_HLS, 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, initializePolyfills, isMediaStream, isOverlayActive, lazy, logBrowserInfo, merge, omit, parseQuery, players, randomString, resolveImageUrl, sendHeartbeat, sendInitialTracking, supportsFeature, supportsModernJS, supportsWebKitPresentationMode, timeStringToSeconds };
4135
+ 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, type OnProgressProps, type OverlayCoordinateSpace, SUPPORTS_DASH, SUPPORTS_HLS, StormcloudPlayer, StormcloudVideoPlayer, StormcloudVideoPlayerComponent, type StormcloudVideoPlayerConfig, type StormcloudVideoPlayerProps, type SwirlOverlay, type SwirlOverlayType, type SwirlScrollerConfig, type TrackingData, type VastBidResponse, canPlay, createAdStormPlayer, createDemoStockTickerOverlay, createStormcloudPlayer, StormcloudVideoPlayerComponent as default, detectBrowser, fetchProjectOverlays, getBrowserConfigOverrides, getBrowserID, getClientInfo, initializePolyfills, isMediaStream, isOverlayActive, lazy, logBrowserInfo, merge, omit, parseQuery, players, randomString, resolveImageUrl, sendHeartbeat, sendInitialTracking, supportsFeature, supportsModernJS, supportsWebKitPresentationMode, timeStringToSeconds };
package/lib/index.js CHANGED
@@ -5661,6 +5661,42 @@ function isOverlayActive(overlay, currentTime) {
5661
5661
  if (durationSec <= 0) return false;
5662
5662
  return currentTime >= startSec && currentTime < startSec + durationSec;
5663
5663
  }
5664
+ function createDemoStockTickerOverlay(projectId) {
5665
+ return {
5666
+ id: -9001,
5667
+ project_id: projectId,
5668
+ name: "Demo stock ticker",
5669
+ type: "scroller",
5670
+ visible: true,
5671
+ x: 144,
5672
+ y: 950,
5673
+ width: 1632,
5674
+ height: 97,
5675
+ opacity: 100,
5676
+ start_time: "00:00:00.000",
5677
+ duration: "24:00:00.000",
5678
+ z_index: 120,
5679
+ scroller_config: {
5680
+ use_custom_text: true,
5681
+ custom_text: "AAPL +1.24% \u2022 MSFT +0.42% \u2022 GOOGL \u22120.11% \u2022 TSLA +2.31% \u2022 NVDA +1.87% \u2022 AMZN +0.65% \u2022 META +0.38% \u2022 DJIA +0.52% \u2022 S&P 500 +0.33% \u2022 NDAQ +0.41%",
5682
+ direction: "left",
5683
+ scroll_speed: 42,
5684
+ font_size: 15,
5685
+ font_weight: "700",
5686
+ text_color: "#f8fafc",
5687
+ background_color: "#0f172a",
5688
+ background_opacity: 92,
5689
+ border_radius: 4,
5690
+ label: "MARKETS",
5691
+ label_line2: "LIVE",
5692
+ label_color: "#0ea5e9",
5693
+ label_text_color: "#ffffff",
5694
+ accent_color: "#38bdf8",
5695
+ show_accent_line: true,
5696
+ separator_char: "\u2022"
5697
+ }
5698
+ };
5699
+ }
5664
5700
  function fetchProjectOverlays(_0) {
5665
5701
  return _async_to_generator(function(projectId) {
5666
5702
  var apiBaseUrl, response, data;
@@ -7071,12 +7107,63 @@ function hexToRgb(hex) {
7071
7107
  return "".concat(num >> 16 & 255, ",").concat(num >> 8 & 255, ",").concat(num & 255);
7072
7108
  }
7073
7109
  var FADE_DURATION_MS = 1e3;
7110
+ var SHOWCASE_CYCLE_MS_DEFAULT = 6e4;
7111
+ var SHOWCASE_POP_IN_MS = 420;
7112
+ var SHOWCASE_STEADY_END_MS = 46e3;
7113
+ var SHOWCASE_POP_OUT_MS = 450;
7114
+ var SHOWCASE_POP_OUT_END_MS = SHOWCASE_STEADY_END_MS + SHOWCASE_POP_OUT_MS;
7115
+ function easeOutCubic(t) {
7116
+ var u = 1 - t;
7117
+ return 1 - u * u * u;
7118
+ }
7119
+ function easeInCubic(t) {
7120
+ return t * t * t;
7121
+ }
7122
+ function easeOutBack(t) {
7123
+ var c1 = 1.70158;
7124
+ var c3 = c1 + 1;
7125
+ return 1 + c3 * Math.pow(t - 1, 3) + c1 * Math.pow(t - 1, 2);
7126
+ }
7127
+ function showcaseOpacity(phase) {
7128
+ if (phase < SHOWCASE_POP_IN_MS) return easeOutCubic(phase / SHOWCASE_POP_IN_MS);
7129
+ if (phase >= SHOWCASE_STEADY_END_MS && phase < SHOWCASE_POP_OUT_END_MS) {
7130
+ return 1 - easeInCubic((phase - SHOWCASE_STEADY_END_MS) / SHOWCASE_POP_OUT_MS);
7131
+ }
7132
+ return 1;
7133
+ }
7134
+ function showcaseScale(phase) {
7135
+ if (phase < SHOWCASE_POP_IN_MS) {
7136
+ return 0.78 + 0.22 * easeOutBack(phase / SHOWCASE_POP_IN_MS);
7137
+ }
7138
+ if (phase >= SHOWCASE_STEADY_END_MS && phase < SHOWCASE_POP_OUT_END_MS) {
7139
+ return 1 - 0.14 * easeInCubic((phase - SHOWCASE_STEADY_END_MS) / SHOWCASE_POP_OUT_MS);
7140
+ }
7141
+ return 1;
7142
+ }
7143
+ function useShowcasePhase(enabled, cycleMs) {
7144
+ var _useState = _sliced_to_array(useState(0), 2), phase = _useState[0], setPhase = _useState[1];
7145
+ useEffect(function() {
7146
+ if (!enabled) return;
7147
+ setPhase(Date.now() % cycleMs);
7148
+ var id = window.setInterval(function() {
7149
+ setPhase(Date.now() % cycleMs);
7150
+ }, 48);
7151
+ return function() {
7152
+ return clearInterval(id);
7153
+ };
7154
+ }, [
7155
+ enabled,
7156
+ cycleMs
7157
+ ]);
7158
+ return phase;
7159
+ }
7074
7160
  var OverlayRenderer = function OverlayRenderer(param) {
7075
- var overlays = param.overlays, currentTime = param.currentTime, videoRef = param.videoRef, coordinateSpace = param.coordinateSpace;
7161
+ 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;
7076
7162
  var _useState = _sliced_to_array(useState(null), 2), dims = _useState[0], setDims = _useState[1];
7077
7163
  var rafRef = useRef(null);
7078
7164
  var _useState1 = _sliced_to_array(useState(/* @__PURE__ */ new Map()), 2), fadeMap = _useState1[0], setFadeMap = _useState1[1];
7079
7165
  var removeTimers = useRef(/* @__PURE__ */ new Map());
7166
+ var showcasePhase = useShowcasePhase(showcaseMode, showcaseCycleMs);
7080
7167
  var updateDims = useCallback(function() {
7081
7168
  var video = videoRef.current;
7082
7169
  if (video) {
@@ -7108,12 +7195,26 @@ var OverlayRenderer = function OverlayRenderer(param) {
7108
7195
  updateDims
7109
7196
  ]);
7110
7197
  var activeOverlays = useMemo(function() {
7198
+ if (showcaseMode) {
7199
+ return overlays.filter(function(o) {
7200
+ return o.visible && showcasePhase < SHOWCASE_POP_OUT_END_MS;
7201
+ });
7202
+ }
7111
7203
  return overlays.filter(function(o) {
7112
7204
  return isOverlayActive(o, currentTime);
7113
7205
  });
7114
7206
  }, [
7115
7207
  overlays,
7116
- currentTime
7208
+ currentTime,
7209
+ showcaseMode,
7210
+ showcasePhase
7211
+ ]);
7212
+ var activeBeatIds = useMemo(function() {
7213
+ return new Set(activeOverlays.map(function(o) {
7214
+ return o.id;
7215
+ }));
7216
+ }, [
7217
+ activeOverlays
7117
7218
  ]);
7118
7219
  useEffect(function() {
7119
7220
  var activeIds = new Set(activeOverlays.map(function(o) {
@@ -7303,7 +7404,9 @@ var OverlayRenderer = function OverlayRenderer(param) {
7303
7404
  var width = overlay.width * scaleX;
7304
7405
  var height = overlay.height * scaleY;
7305
7406
  var baseOpacity = Math.max(0, Math.min(100, overlay.opacity)) / 100;
7306
- var opacity = visible ? baseOpacity : 0;
7407
+ var inShowcaseBeat = showcaseMode && activeBeatIds.has(overlay.id);
7408
+ var opacity = inShowcaseBeat ? baseOpacity * showcaseOpacity(showcasePhase) : visible ? baseOpacity : 0;
7409
+ var popScale = inShowcaseBeat ? showcaseScale(showcasePhase) : 1;
7307
7410
  var sz = {
7308
7411
  w: width,
7309
7412
  h: height
@@ -7316,7 +7419,9 @@ var OverlayRenderer = function OverlayRenderer(param) {
7316
7419
  width: "".concat(width, "px"),
7317
7420
  height: "".concat(height, "px"),
7318
7421
  opacity: opacity,
7319
- transition: "opacity ".concat(FADE_DURATION_MS, "ms ease"),
7422
+ transition: inShowcaseBeat ? "none" : "opacity ".concat(FADE_DURATION_MS, "ms ease"),
7423
+ transform: showcaseMode ? "scale(".concat(popScale, ")") : void 0,
7424
+ transformOrigin: showcaseMode ? "center center" : void 0,
7320
7425
  zIndex: overlay.z_index,
7321
7426
  overflow: "hidden"
7322
7427
  },
@@ -7442,7 +7547,7 @@ var PANEL_BASE_RIGHT_OFFSET = 10;
7442
7547
  var StormcloudVideoPlayerComponent = React2.memo(function(props) {
7443
7548
  var _ref;
7444
7549
  var _aiLiveContext_context;
7445
- var src = props.src, autoplay = props.autoplay, muted = props.muted, lowLatencyMode = props.lowLatencyMode, allowNativeHls = props.allowNativeHls, driftToleranceMs = props.driftToleranceMs, immediateManifestAds = props.immediateManifestAds, debugAdTiming = props.debugAdTiming, showCustomControls = props.showCustomControls, hideLoadingIndicator = props.hideLoadingIndicator, onVolumeToggle = props.onVolumeToggle, onFullscreenToggle = props.onFullscreenToggle, onControlClick = props.onControlClick, onReady = props.onReady, wrapperClassName = props.wrapperClassName, wrapperStyle = props.wrapperStyle, className = props.className, style = props.style, controls = props.controls, playsInline = props.playsInline, preload = props.preload, poster = props.poster, children = props.children, licenseKey = props.licenseKey, minSegmentsBeforePlay = props.minSegmentsBeforePlay, disableAds = props.disableAds, disableFiller = props.disableFiller, swirlProjectId = props.swirlProjectId, adcisionChannelId = props.adcisionChannelId, disableOverlays = props.disableOverlays, showAdsControl = props.showAdsControl, showOverlaysControl = props.showOverlaysControl, showAiContextControl = props.showAiContextControl, showDebugControl = props.showDebugControl, restVideoAttrs = _object_without_properties(props, [
7550
+ var src = props.src, autoplay = props.autoplay, muted = props.muted, lowLatencyMode = props.lowLatencyMode, allowNativeHls = props.allowNativeHls, driftToleranceMs = props.driftToleranceMs, immediateManifestAds = props.immediateManifestAds, debugAdTiming = props.debugAdTiming, showCustomControls = props.showCustomControls, hideLoadingIndicator = props.hideLoadingIndicator, onVolumeToggle = props.onVolumeToggle, onFullscreenToggle = props.onFullscreenToggle, onControlClick = props.onControlClick, onReady = props.onReady, wrapperClassName = props.wrapperClassName, wrapperStyle = props.wrapperStyle, className = props.className, style = props.style, controls = props.controls, playsInline = props.playsInline, preload = props.preload, poster = props.poster, children = props.children, licenseKey = props.licenseKey, minSegmentsBeforePlay = props.minSegmentsBeforePlay, disableAds = props.disableAds, disableFiller = props.disableFiller, swirlProjectId = props.swirlProjectId, swirlShowcaseDemo = props.swirlShowcaseDemo, adcisionChannelId = props.adcisionChannelId, disableOverlays = props.disableOverlays, showAdsControl = props.showAdsControl, showOverlaysControl = props.showOverlaysControl, showAiContextControl = props.showAiContextControl, showDebugControl = props.showDebugControl, restVideoAttrs = _object_without_properties(props, [
7446
7551
  "src",
7447
7552
  "autoplay",
7448
7553
  "muted",
@@ -7471,6 +7576,7 @@ var StormcloudVideoPlayerComponent = React2.memo(function(props) {
7471
7576
  "disableAds",
7472
7577
  "disableFiller",
7473
7578
  "swirlProjectId",
7579
+ "swirlShowcaseDemo",
7474
7580
  "adcisionChannelId",
7475
7581
  "disableOverlays",
7476
7582
  "showAdsControl",
@@ -7507,6 +7613,19 @@ var StormcloudVideoPlayerComponent = React2.memo(function(props) {
7507
7613
  var _React2_useState14 = _sliced_to_array(React2.useState(false), 2), showLicenseWarning = _React2_useState14[0], setShowLicenseWarning = _React2_useState14[1];
7508
7614
  var _React2_useState15 = _sliced_to_array(React2.useState(true), 2), controlsVisible = _React2_useState15[0], setControlsVisible = _React2_useState15[1];
7509
7615
  var _React2_useState16 = _sliced_to_array(React2.useState([]), 2), overlays = _React2_useState16[0], setOverlays = _React2_useState16[1];
7616
+ var displayOverlays = React2.useMemo(function() {
7617
+ if (!swirlProjectId || !swirlShowcaseDemo) return overlays;
7618
+ if (overlays.some(function(o) {
7619
+ return o.type === "scroller";
7620
+ })) return overlays;
7621
+ return _to_consumable_array(overlays).concat([
7622
+ createDemoStockTickerOverlay(swirlProjectId)
7623
+ ]);
7624
+ }, [
7625
+ overlays,
7626
+ swirlProjectId,
7627
+ swirlShowcaseDemo
7628
+ ]);
7510
7629
  var _React2_useState17 = _sliced_to_array(React2.useState(null), 2), overlayCoordSpace = _React2_useState17[0], setOverlayCoordSpace = _React2_useState17[1];
7511
7630
  var _React2_useState18 = _sliced_to_array(React2.useState(typeof window !== "undefined" ? window.innerWidth : 1920), 2), viewportWidth = _React2_useState18[0], setViewportWidth = _React2_useState18[1];
7512
7631
  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];
@@ -8252,11 +8371,12 @@ var StormcloudVideoPlayerComponent = React2.memo(function(props) {
8252
8371
  }, restVideoAttrs), {
8253
8372
  children: children
8254
8373
  })),
8255
- overlays.length > 0 && !adStatus.showAds && !overlaysDisabled && /* @__PURE__ */ jsx2(OverlayRenderer, {
8256
- overlays: overlays,
8374
+ displayOverlays.length > 0 && !adStatus.showAds && !overlaysDisabled && /* @__PURE__ */ jsx2(OverlayRenderer, {
8375
+ overlays: displayOverlays,
8257
8376
  currentTime: currentTime,
8258
8377
  videoRef: videoRef,
8259
- coordinateSpace: overlayCoordSpace
8378
+ coordinateSpace: overlayCoordSpace,
8379
+ showcaseMode: !!swirlShowcaseDemo
8260
8380
  }),
8261
8381
  (isLoading || isBuffering) && !hideLoadingIndicator && /* @__PURE__ */ jsxs2("div", {
8262
8382
  className: "sc-loading-indicator",
@@ -9625,6 +9745,7 @@ var StormcloudVideoPlayerComponent = React2.memo(function(props) {
9625
9745
  "poster",
9626
9746
  "children",
9627
9747
  "swirlProjectId",
9748
+ "swirlShowcaseDemo",
9628
9749
  "adcisionChannelId",
9629
9750
  "disableOverlays",
9630
9751
  "showAdsControl",
@@ -10850,5 +10971,5 @@ var createStormcloudPlayer = function createStormcloudPlayer(playerList, fallbac
10850
10971
  };
10851
10972
  var StormcloudPlayer = createStormcloudPlayer(players_default, players_default[players_default.length - 1]);
10852
10973
  var StormcloudPlayer_default = StormcloudPlayer;
10853
- export { IS_BROWSER, IS_GLOBAL, IS_IOS, IS_SAFARI, SUPPORTS_DASH, SUPPORTS_HLS, StormcloudPlayer_default as StormcloudPlayer, StormcloudVideoPlayer, StormcloudVideoPlayerComponent, canPlay, createAdStormPlayer, createStormcloudPlayer, StormcloudVideoPlayerComponent as default, detectBrowser, fetchProjectOverlays, getBrowserConfigOverrides, getBrowserID, getClientInfo, initializePolyfills, isMediaStream, isOverlayActive, lazy, logBrowserInfo, merge, omit, parseQuery, players_default as players, randomString, resolveImageUrl, sendHeartbeat, sendInitialTracking, supportsFeature, supportsModernJS, supportsWebKitPresentationMode, timeStringToSeconds };
10974
+ export { IS_BROWSER, IS_GLOBAL, IS_IOS, IS_SAFARI, SUPPORTS_DASH, SUPPORTS_HLS, StormcloudPlayer_default as StormcloudPlayer, StormcloudVideoPlayer, StormcloudVideoPlayerComponent, canPlay, createAdStormPlayer, createDemoStockTickerOverlay, createStormcloudPlayer, StormcloudVideoPlayerComponent as default, detectBrowser, fetchProjectOverlays, getBrowserConfigOverrides, getBrowserID, getClientInfo, initializePolyfills, isMediaStream, isOverlayActive, lazy, logBrowserInfo, merge, omit, parseQuery, players_default as players, randomString, resolveImageUrl, sendHeartbeat, sendInitialTracking, supportsFeature, supportsModernJS, supportsWebKitPresentationMode, timeStringToSeconds };
10854
10975
  //# sourceMappingURL=index.js.map