stormcloud-video-player 0.8.59 → 0.8.60
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/LICENSE +21 -21
- package/README.md +1369 -1369
- package/dist/stormcloud-vp.min.js +3 -1
- package/lib/Player.cjs +548 -0
- package/lib/Player.cjs.map +1 -0
- package/lib/Player.d.cts +146 -0
- package/lib/{index.js → StormcloudPlayer.cjs} +1108 -1877
- package/lib/StormcloudPlayer.cjs.map +1 -0
- package/lib/{index.d.ts → StormcloudPlayer.d.cts} +7 -400
- package/lib/index.cjs +979 -251
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.cts +18 -4032
- package/lib/patterns.cjs +111 -0
- package/lib/patterns.cjs.map +1 -0
- package/lib/patterns.d.cts +14 -0
- package/lib/player/AdBreakOrchestrator.cjs +48 -14
- package/lib/player/AdBreakOrchestrator.cjs.map +1 -1
- package/lib/player/AdBreakOrchestrator.d.cts +3 -1
- package/lib/player/AdConfigManager.cjs +155 -17
- package/lib/player/AdConfigManager.cjs.map +1 -1
- package/lib/player/AdConfigManager.d.cts +1 -1
- package/lib/player/AdTimingService.cjs.map +1 -1
- package/lib/player/AdTimingService.d.cts +1 -1
- package/lib/player/HlsEngine.cjs.map +1 -1
- package/lib/player/HlsEngine.d.cts +1 -1
- package/lib/player/PlaceholderLayer.cjs.map +1 -1
- package/lib/player/PlayerControls.cjs.map +1 -1
- package/lib/player/PlayerControls.d.cts +1 -1
- package/lib/player/Scte35CueManager.cjs.map +1 -1
- package/lib/player/Scte35CueManager.d.cts +1 -1
- package/lib/player/Scte35Parser.cjs.map +1 -1
- package/lib/player/Scte35Parser.d.cts +1 -1
- package/lib/player/StormcloudVideoPlayer.cjs +979 -251
- package/lib/player/StormcloudVideoPlayer.cjs.map +1 -1
- package/lib/player/StormcloudVideoPlayer.d.cts +1 -1
- package/lib/player/playerTypes.cjs.map +1 -1
- package/lib/player/playerTypes.d.cts +1 -1
- package/lib/players/FilePlayer.cjs.map +1 -1
- package/lib/players/HlsPlayer.cjs +979 -251
- package/lib/players/HlsPlayer.cjs.map +1 -1
- package/lib/players/HlsPlayer.d.cts +1 -1
- package/lib/players/index.cjs +979 -251
- package/lib/players/index.cjs.map +1 -1
- package/lib/props.cjs +186 -0
- package/lib/props.cjs.map +1 -0
- package/lib/props.d.cts +62 -0
- package/lib/sdk/hlsAdPlayer.cjs +884 -234
- package/lib/sdk/hlsAdPlayer.cjs.map +1 -1
- package/lib/sdk/hlsAdPlayer.d.cts +1 -1
- package/lib/sdk/pal.cjs.map +1 -1
- package/lib/types.cjs +49 -0
- package/lib/types.cjs.map +1 -0
- package/lib/{types-52ASml2N.d.cts → types.d.cts} +47 -1
- package/lib/ui/StormcloudVideoPlayer.cjs +979 -251
- package/lib/ui/StormcloudVideoPlayer.cjs.map +1 -1
- package/lib/ui/StormcloudVideoPlayer.d.cts +1 -1
- package/lib/utils/browserCompat.cjs.map +1 -1
- package/lib/utils/ctvVastSignals.cjs +155 -17
- package/lib/utils/ctvVastSignals.cjs.map +1 -1
- package/lib/utils/devUrl.cjs.map +1 -1
- package/lib/utils/polyfills.cjs.map +1 -1
- package/lib/utils/tracking.cjs +42 -14
- package/lib/utils/tracking.cjs.map +1 -1
- package/lib/utils/tracking.d.cts +1 -1
- package/lib/utils/trackingIngest.cjs.map +1 -1
- package/lib/utils/vastEnvironmentSignals.cjs +167 -17
- package/lib/utils/vastEnvironmentSignals.cjs.map +1 -1
- package/lib/utils/vastEnvironmentSignals.d.cts +12 -1
- package/lib/utils/vastMacros.cjs +26 -0
- package/lib/utils/vastMacros.cjs.map +1 -1
- package/lib/utils/vastTrackingMacros.cjs +5 -0
- package/lib/utils/vastTrackingMacros.cjs.map +1 -1
- package/lib/utils/vastTrackingMacros.d.cts +2 -0
- package/lib/utils.cjs +292 -0
- package/lib/utils.cjs.map +1 -0
- package/lib/utils.d.cts +17 -0
- package/package.json +91 -91
- package/rollup.config.js +90 -90
- package/lib/index.js.map +0 -1
package/lib/props.cjs
ADDED
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
function _define_property(obj, key, value) {
|
|
3
|
+
if (key in obj) {
|
|
4
|
+
Object.defineProperty(obj, key, {
|
|
5
|
+
value: value,
|
|
6
|
+
enumerable: true,
|
|
7
|
+
configurable: true,
|
|
8
|
+
writable: true
|
|
9
|
+
});
|
|
10
|
+
} else obj[key] = value;
|
|
11
|
+
return obj;
|
|
12
|
+
}
|
|
13
|
+
function _object_spread(target) {
|
|
14
|
+
for(var i = 1; i < arguments.length; i++){
|
|
15
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
|
16
|
+
var ownKeys = Object.keys(source);
|
|
17
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
18
|
+
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
19
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
20
|
+
}));
|
|
21
|
+
}
|
|
22
|
+
ownKeys.forEach(function(key) {
|
|
23
|
+
_define_property(target, key, source[key]);
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
return target;
|
|
27
|
+
}
|
|
28
|
+
function _type_of(obj) {
|
|
29
|
+
"@swc/helpers - typeof";
|
|
30
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
31
|
+
}
|
|
32
|
+
var __create = Object.create;
|
|
33
|
+
var __defProp = Object.defineProperty;
|
|
34
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
35
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
36
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
37
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
38
|
+
var __export = function __export(target, all) {
|
|
39
|
+
for(var name in all)__defProp(target, name, {
|
|
40
|
+
get: all[name],
|
|
41
|
+
enumerable: true
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
var __copyProps = function __copyProps(to, from, except, desc) {
|
|
45
|
+
if (from && (typeof from === "undefined" ? "undefined" : _type_of(from)) === "object" || typeof from === "function") {
|
|
46
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
47
|
+
try {
|
|
48
|
+
var _loop = function() {
|
|
49
|
+
var key = _step.value;
|
|
50
|
+
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
51
|
+
get: function get() {
|
|
52
|
+
return from[key];
|
|
53
|
+
},
|
|
54
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
for(var _iterator = __getOwnPropNames(from)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true)_loop();
|
|
58
|
+
} catch (err) {
|
|
59
|
+
_didIteratorError = true;
|
|
60
|
+
_iteratorError = err;
|
|
61
|
+
} finally{
|
|
62
|
+
try {
|
|
63
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
64
|
+
_iterator.return();
|
|
65
|
+
}
|
|
66
|
+
} finally{
|
|
67
|
+
if (_didIteratorError) {
|
|
68
|
+
throw _iteratorError;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return to;
|
|
74
|
+
};
|
|
75
|
+
var __toESM = function __toESM(mod, isNodeMode, target) {
|
|
76
|
+
return target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(// If the importer is in node compatibility mode or this is not an ESM
|
|
77
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
78
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
79
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
80
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
81
|
+
value: mod,
|
|
82
|
+
enumerable: true
|
|
83
|
+
}) : target, mod);
|
|
84
|
+
};
|
|
85
|
+
var __toCommonJS = function __toCommonJS(mod) {
|
|
86
|
+
return __copyProps(__defProp({}, "__esModule", {
|
|
87
|
+
value: true
|
|
88
|
+
}), mod);
|
|
89
|
+
};
|
|
90
|
+
// src/props.ts
|
|
91
|
+
var props_exports = {};
|
|
92
|
+
__export(props_exports, {
|
|
93
|
+
defaultProps: function defaultProps1() {
|
|
94
|
+
return defaultProps;
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
module.exports = __toCommonJS(props_exports);
|
|
98
|
+
// src/sdk/hlsAdPlayer.ts
|
|
99
|
+
var import_hls = __toESM(require("hls.js"), 1);
|
|
100
|
+
// src/utils/trackingIngest.ts
|
|
101
|
+
var DEFAULT_TRACKING_INGEST_CONFIG = {
|
|
102
|
+
enabled: true,
|
|
103
|
+
baseUrl: "https://player-analytics-ingest-api-760490581852.us-central1.run.app/api/adstorm/player-tracking"
|
|
104
|
+
};
|
|
105
|
+
var trackingIngestConfig = _object_spread({}, DEFAULT_TRACKING_INGEST_CONFIG);
|
|
106
|
+
// src/utils/vastEnvironmentSignals.ts
|
|
107
|
+
var DEVICE_TYPE_HINT = {
|
|
108
|
+
FEATURE_PHONE: 1,
|
|
109
|
+
SMARTPHONE: 2,
|
|
110
|
+
DESKTOP: 3,
|
|
111
|
+
TABLET: 4,
|
|
112
|
+
CONNECTED_TV: 5,
|
|
113
|
+
GAME_CONSOLE: 6,
|
|
114
|
+
SET_TOP_BOX: 7
|
|
115
|
+
};
|
|
116
|
+
var DEVICE_TYPE_HINT_ALIASES = {
|
|
117
|
+
featurephone: DEVICE_TYPE_HINT.FEATURE_PHONE,
|
|
118
|
+
smartphone: DEVICE_TYPE_HINT.SMARTPHONE,
|
|
119
|
+
mobile: DEVICE_TYPE_HINT.SMARTPHONE,
|
|
120
|
+
phone: DEVICE_TYPE_HINT.SMARTPHONE,
|
|
121
|
+
desktop: DEVICE_TYPE_HINT.DESKTOP,
|
|
122
|
+
pc: DEVICE_TYPE_HINT.DESKTOP,
|
|
123
|
+
tablet: DEVICE_TYPE_HINT.TABLET,
|
|
124
|
+
ctv: DEVICE_TYPE_HINT.CONNECTED_TV,
|
|
125
|
+
tv: DEVICE_TYPE_HINT.CONNECTED_TV,
|
|
126
|
+
connectedtv: DEVICE_TYPE_HINT.CONNECTED_TV,
|
|
127
|
+
smarttv: DEVICE_TYPE_HINT.CONNECTED_TV,
|
|
128
|
+
console: DEVICE_TYPE_HINT.GAME_CONSOLE,
|
|
129
|
+
gameconsole: DEVICE_TYPE_HINT.GAME_CONSOLE,
|
|
130
|
+
stb: DEVICE_TYPE_HINT.SET_TOP_BOX,
|
|
131
|
+
settopbox: DEVICE_TYPE_HINT.SET_TOP_BOX
|
|
132
|
+
};
|
|
133
|
+
var PERSISTENT_ID_COOKIE_MAX_AGE = 60 * 60 * 24 * 365 * 5;
|
|
134
|
+
// src/player/HlsEngine.ts
|
|
135
|
+
var import_hls2 = __toESM(require("hls.js"), 1);
|
|
136
|
+
// src/props.ts
|
|
137
|
+
var noop = function noop() {};
|
|
138
|
+
var defaultProps = {
|
|
139
|
+
playing: false,
|
|
140
|
+
loop: false,
|
|
141
|
+
controls: true,
|
|
142
|
+
volume: 1,
|
|
143
|
+
muted: false,
|
|
144
|
+
playbackRate: 1,
|
|
145
|
+
width: "100%",
|
|
146
|
+
height: "auto",
|
|
147
|
+
style: {},
|
|
148
|
+
progressInterval: 1e3,
|
|
149
|
+
playsInline: false,
|
|
150
|
+
autoplay: false,
|
|
151
|
+
preload: "metadata",
|
|
152
|
+
poster: "",
|
|
153
|
+
className: "",
|
|
154
|
+
wrapperClassName: "",
|
|
155
|
+
wrapperStyle: {},
|
|
156
|
+
allowNativeHls: false,
|
|
157
|
+
lowLatencyMode: false,
|
|
158
|
+
driftToleranceMs: 1e3,
|
|
159
|
+
immediateManifestAds: true,
|
|
160
|
+
debugAdTiming: false,
|
|
161
|
+
showCustomControls: false,
|
|
162
|
+
hideLoadingIndicator: false,
|
|
163
|
+
licenseKey: "",
|
|
164
|
+
isVmap: false,
|
|
165
|
+
vmapUrl: "",
|
|
166
|
+
adFailsafeTimeoutMs: 1e4,
|
|
167
|
+
minSegmentsBeforePlay: 2,
|
|
168
|
+
onStart: noop,
|
|
169
|
+
onPlay: noop,
|
|
170
|
+
onPause: noop,
|
|
171
|
+
onBuffer: noop,
|
|
172
|
+
onBufferEnd: noop,
|
|
173
|
+
onEnded: noop,
|
|
174
|
+
onError: noop,
|
|
175
|
+
onDuration: noop,
|
|
176
|
+
onSeek: noop,
|
|
177
|
+
onProgress: noop,
|
|
178
|
+
onVolumeToggle: noop,
|
|
179
|
+
onFullscreenToggle: noop,
|
|
180
|
+
onControlClick: noop
|
|
181
|
+
};
|
|
182
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
183
|
+
0 && (module.exports = {
|
|
184
|
+
defaultProps: defaultProps
|
|
185
|
+
});
|
|
186
|
+
//# sourceMappingURL=props.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["d:\\project\\stormcloud-vp\\lib\\props.cjs"],"names":[],"mappings":"AAAA","sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/props.ts\nvar props_exports = {};\n__export(props_exports, {\n defaultProps: () => defaultProps\n});\nmodule.exports = __toCommonJS(props_exports);\n\n// src/sdk/hlsAdPlayer.ts\nvar import_hls = __toESM(require(\"hls.js\"), 1);\n\n// src/utils/trackingIngest.ts\nvar DEFAULT_TRACKING_INGEST_CONFIG = {\n enabled: true,\n baseUrl: \"https://player-analytics-ingest-api-760490581852.us-central1.run.app/api/adstorm/player-tracking\"\n};\nvar trackingIngestConfig = {\n ...DEFAULT_TRACKING_INGEST_CONFIG\n};\n\n// src/utils/vastEnvironmentSignals.ts\nvar DEVICE_TYPE_HINT = {\n FEATURE_PHONE: 1,\n SMARTPHONE: 2,\n DESKTOP: 3,\n TABLET: 4,\n CONNECTED_TV: 5,\n GAME_CONSOLE: 6,\n SET_TOP_BOX: 7\n};\nvar DEVICE_TYPE_HINT_ALIASES = {\n featurephone: DEVICE_TYPE_HINT.FEATURE_PHONE,\n smartphone: DEVICE_TYPE_HINT.SMARTPHONE,\n mobile: DEVICE_TYPE_HINT.SMARTPHONE,\n phone: DEVICE_TYPE_HINT.SMARTPHONE,\n desktop: DEVICE_TYPE_HINT.DESKTOP,\n pc: DEVICE_TYPE_HINT.DESKTOP,\n tablet: DEVICE_TYPE_HINT.TABLET,\n ctv: DEVICE_TYPE_HINT.CONNECTED_TV,\n tv: DEVICE_TYPE_HINT.CONNECTED_TV,\n connectedtv: DEVICE_TYPE_HINT.CONNECTED_TV,\n smarttv: DEVICE_TYPE_HINT.CONNECTED_TV,\n console: DEVICE_TYPE_HINT.GAME_CONSOLE,\n gameconsole: DEVICE_TYPE_HINT.GAME_CONSOLE,\n stb: DEVICE_TYPE_HINT.SET_TOP_BOX,\n settopbox: DEVICE_TYPE_HINT.SET_TOP_BOX\n};\nvar PERSISTENT_ID_COOKIE_MAX_AGE = 60 * 60 * 24 * 365 * 5;\n\n// src/player/HlsEngine.ts\nvar import_hls2 = __toESM(require(\"hls.js\"), 1);\n\n// src/props.ts\nvar noop = () => {\n};\nvar defaultProps = {\n playing: false,\n loop: false,\n controls: true,\n volume: 1,\n muted: false,\n playbackRate: 1,\n width: \"100%\",\n height: \"auto\",\n style: {},\n progressInterval: 1e3,\n playsInline: false,\n autoplay: false,\n preload: \"metadata\",\n poster: \"\",\n className: \"\",\n wrapperClassName: \"\",\n wrapperStyle: {},\n allowNativeHls: false,\n lowLatencyMode: false,\n driftToleranceMs: 1e3,\n immediateManifestAds: true,\n debugAdTiming: false,\n showCustomControls: false,\n hideLoadingIndicator: false,\n licenseKey: \"\",\n isVmap: false,\n vmapUrl: \"\",\n adFailsafeTimeoutMs: 1e4,\n minSegmentsBeforePlay: 2,\n onStart: noop,\n onPlay: noop,\n onPause: noop,\n onBuffer: noop,\n onBufferEnd: noop,\n onEnded: noop,\n onError: noop,\n onDuration: noop,\n onSeek: noop,\n onProgress: noop,\n onVolumeToggle: noop,\n onFullscreenToggle: noop,\n onControlClick: noop\n};\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n defaultProps\n});\n"]}
|
package/lib/props.d.cts
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { CSSProperties } from 'react';
|
|
2
|
+
import { StormcloudVideoPlayer } from './player/StormcloudVideoPlayer.cjs';
|
|
3
|
+
import './types.cjs';
|
|
4
|
+
|
|
5
|
+
interface OnProgressProps {
|
|
6
|
+
played: number;
|
|
7
|
+
playedSeconds: number;
|
|
8
|
+
loaded: number;
|
|
9
|
+
loadedSeconds: number;
|
|
10
|
+
}
|
|
11
|
+
interface BaseStormcloudPlayerProps {
|
|
12
|
+
src?: string;
|
|
13
|
+
playing?: boolean;
|
|
14
|
+
loop?: boolean;
|
|
15
|
+
controls?: boolean;
|
|
16
|
+
volume?: number;
|
|
17
|
+
muted?: boolean;
|
|
18
|
+
playbackRate?: number;
|
|
19
|
+
width?: string | number;
|
|
20
|
+
height?: string | number;
|
|
21
|
+
style?: CSSProperties;
|
|
22
|
+
progressInterval?: number;
|
|
23
|
+
playsInline?: boolean;
|
|
24
|
+
autoplay?: boolean;
|
|
25
|
+
preload?: string;
|
|
26
|
+
poster?: string;
|
|
27
|
+
className?: string;
|
|
28
|
+
wrapperClassName?: string;
|
|
29
|
+
wrapperStyle?: CSSProperties;
|
|
30
|
+
allowNativeHls?: boolean;
|
|
31
|
+
lowLatencyMode?: boolean;
|
|
32
|
+
isLiveStream?: boolean;
|
|
33
|
+
driftToleranceMs?: number;
|
|
34
|
+
immediateManifestAds?: boolean;
|
|
35
|
+
debugAdTiming?: boolean;
|
|
36
|
+
showCustomControls?: boolean;
|
|
37
|
+
hideLoadingIndicator?: boolean;
|
|
38
|
+
licenseKey?: string;
|
|
39
|
+
isVmap?: boolean;
|
|
40
|
+
vmapUrl?: string;
|
|
41
|
+
adFailsafeTimeoutMs?: number;
|
|
42
|
+
minSegmentsBeforePlay?: number;
|
|
43
|
+
ctvAdRequest?: boolean;
|
|
44
|
+
onReady?: (player: StormcloudVideoPlayer) => void;
|
|
45
|
+
onStart?: () => void;
|
|
46
|
+
onPlay?: () => void;
|
|
47
|
+
onPause?: (e?: any) => void;
|
|
48
|
+
onBuffer?: () => void;
|
|
49
|
+
onBufferEnd?: () => void;
|
|
50
|
+
onEnded?: () => void;
|
|
51
|
+
onError?: (error: any, data?: any, hlsInstance?: any, hlsGlobal?: any) => void;
|
|
52
|
+
onDuration?: (duration: number) => void;
|
|
53
|
+
onSeek?: (seconds: number) => void;
|
|
54
|
+
onProgress?: (state: OnProgressProps) => void;
|
|
55
|
+
onVolumeToggle?: () => void;
|
|
56
|
+
onFullscreenToggle?: () => void;
|
|
57
|
+
onControlClick?: () => void;
|
|
58
|
+
[otherProps: string]: any;
|
|
59
|
+
}
|
|
60
|
+
declare const defaultProps: Required<Omit<BaseStormcloudPlayerProps, "src" | "onReady" | "children" | "ctvAdRequest" | keyof React.VideoHTMLAttributes<HTMLVideoElement>>>;
|
|
61
|
+
|
|
62
|
+
export { type BaseStormcloudPlayerProps, type OnProgressProps, defaultProps };
|