cloudinary-video-player 3.12.1 → 3.12.2-edge.0

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.
Files changed (86) hide show
  1. package/dist/134.min.js +8 -0
  2. package/dist/309.min.js +6 -0
  3. package/dist/adaptive-streaming.js +9 -9
  4. package/dist/adaptive-streaming.min.js +2 -2
  5. package/dist/chapters.js +4 -4
  6. package/dist/chapters.min.js +3 -3
  7. package/dist/cld-player-core.js +37 -0
  8. package/dist/cld-player-core.min.js +6 -0
  9. package/dist/cld-video-player-lazy.js +494 -0
  10. package/dist/cld-video-player-lazy.min.js +6 -0
  11. package/dist/cld-video-player.css +2 -2
  12. package/dist/cld-video-player.js +366 -332
  13. package/dist/cld-video-player.light.js +366 -332
  14. package/dist/cld-video-player.light.min.js +4 -4
  15. package/dist/cld-video-player.min.css +2 -2
  16. package/dist/cld-video-player.min.js +4 -4
  17. package/dist/colors.js +4 -4
  18. package/dist/colors.min.js +2 -2
  19. package/dist/dash.js +6 -6
  20. package/dist/dash.min.js +2 -2
  21. package/dist/debug.js +8 -8
  22. package/dist/debug.min.js +3 -3
  23. package/dist/ima.js +9 -9
  24. package/dist/ima.min.js +2 -2
  25. package/dist/interaction-areas.js +11 -11
  26. package/dist/interaction-areas.min.js +2 -2
  27. package/dist/node_modules_lodash_throttle_js.js +8 -8
  28. package/dist/playlist.js +31 -31
  29. package/dist/playlist.min.js +3 -3
  30. package/dist/recommendations-overlay.js +10 -10
  31. package/dist/recommendations-overlay.min.js +2 -2
  32. package/dist/schema.json +19 -0
  33. package/dist/share.js +5 -5
  34. package/dist/share.min.js +3 -3
  35. package/dist/shoppable.js +12 -12
  36. package/dist/shoppable.min.js +2 -2
  37. package/dist/utils_fetch-config_js.js +81 -0
  38. package/dist/video-player_js.js +3111 -0
  39. package/dist/visual-search.js +7 -7
  40. package/dist/visual-search.min.js +2 -2
  41. package/lib/_commonjsHelpers.js +7 -0
  42. package/lib/_videojs-proxy.js +30294 -0
  43. package/lib/abr-strategies.js +31 -0
  44. package/lib/adaptive-streaming.js +468 -2
  45. package/lib/all.js +25 -2
  46. package/lib/chapters.js +205 -1
  47. package/lib/cld-video-player.min.css +5 -22
  48. package/lib/colors.js +59 -1
  49. package/lib/{schema.json → config/configSchema.json} +19 -0
  50. package/lib/dash.js +69943 -2
  51. package/lib/debug.js +322 -1
  52. package/lib/document.js +770 -0
  53. package/lib/download-button.js +48 -0
  54. package/lib/fetch-config.js +93 -0
  55. package/lib/ima.js +6851 -1
  56. package/lib/index.js +27 -0
  57. package/lib/interaction-areas.const.js +24 -0
  58. package/lib/interaction-areas.service.js +469 -0
  59. package/lib/lazy.js +20 -0
  60. package/lib/noop.js +33 -0
  61. package/lib/player-api.js +469 -0
  62. package/lib/player.js +7 -2
  63. package/lib/playlist-panel.js +602 -0
  64. package/lib/playlist.js +637 -1
  65. package/lib/querystring.js +81 -0
  66. package/lib/recommendations-overlay.js +320 -1
  67. package/lib/share.js +129 -1
  68. package/lib/shoppable-post-widget.js +572 -0
  69. package/lib/shoppable-widget.js +77 -0
  70. package/lib/throttle.js +318 -0
  71. package/lib/toNumber.js +134 -0
  72. package/lib/validators-functions.js +485 -0
  73. package/lib/video-player.js +16241 -0
  74. package/lib/videoPlayer.js +7 -2
  75. package/lib/videojs-contrib-hlsjs.js +37638 -0
  76. package/lib/visual-search.js +235 -1
  77. package/package.json +31 -15
  78. package/lib/adaptive-streaming.js.LICENSE.txt +0 -3
  79. package/lib/all.js.LICENSE.txt +0 -25
  80. package/lib/cld-video-player.js +0 -2
  81. package/lib/cld-video-player.js.LICENSE.txt +0 -21
  82. package/lib/dash.js.LICENSE.txt +0 -1842
  83. package/lib/interaction-areas.js +0 -1
  84. package/lib/player.js.LICENSE.txt +0 -21
  85. package/lib/shoppable.js +0 -1
  86. package/lib/videoPlayer.js.LICENSE.txt +0 -21
package/lib/debug.js CHANGED
@@ -1 +1,322 @@
1
- (self.cloudinaryVideoPlayerChunkLoading=self.cloudinaryVideoPlayerChunkLoading||[]).push([[40],{8592:(e,i,a)=>{a.d(i,{$n:()=>o,Lp:()=>r,mM:()=>s});const o={fastStart:{capLevelToPlayerSize:!0,ignoreDevicePixelRatio:!0,maxDevicePixelRatio:2,abrEwmaDefaultEstimate:4194304,abrEwmaDefaultEstimateMax:4194304,enableWorker:!1,startLevel:0},balanced:{capLevelToPlayerSize:!0,ignoreDevicePixelRatio:!0,maxDevicePixelRatio:2,abrEwmaDefaultEstimate:4194304,abrEwmaDefaultEstimateMax:4194304,enableWorker:!1},highQuality:{capLevelToPlayerSize:!0,ignoreDevicePixelRatio:!1,maxDevicePixelRatio:2,abrEwmaDefaultEstimate:4194304,abrEwmaDefaultEstimateMax:4194304,enableWorker:!1}},s=Object.keys(o),r=window.matchMedia&&window.matchMedia("(dynamic-range: high)").matches},9017:(e,i,a)=>{a.d(i,{F0:()=>t,Fg:()=>r,IT:()=>n,T$:()=>u,Vv:()=>c,Yx:()=>l,be:()=>s,q3:()=>g,sb:()=>o});const o="cld-ia-layout-state",s="vp-ia",r="interaction-areas-container",t={PORTRAIT:"portrait",LANDSCAPE:"landscape",All:"all",CENTER:"center"},n={PULSING:"pulsing",SHADOWED:"shadowed"},l={[t.PORTRAIT]:"https://res.cloudinary.com/prod/raw/upload/v1623772481/video-player/vtts/portrait.vtt",[t.LANDSCAPE]:"https://res.cloudinary.com/prod/raw/upload/v1623772303/video-player/vtts/landscape.vtt",[t.All]:"https://res.cloudinary.com/prod/raw/upload/v1623250266/video-player/vtts/all.vtt",[t.CENTER]:"https://res.cloudinary.com/prod/raw/upload/v1623250265/video-player/vtts/center.vtt"},u="https://res.cloudinary.com/prod/image/upload/v1626764643/video-player/interaction-area-hand.svg",c=4500,g=250},9754:(e,i,a)=>{a.r(i),a.d(i,{playerValidators:()=>h,sourceValidators:()=>f});var o=a(608),s=a(9017),r=a(8592),t=a(8552),n=a.n(t),l=a(8446),u=a.n(l),c=a(7531),g=a.n(c),d=a(8953),m=a.n(d),b=a(7571),p=a.n(b),y=a(5779);const v=e=>m()(e)?`:(${Object.values(e).join("/")})`:"",S={isString:e=>({value:p(),message:i=>`'${i}' should be a string${v(e)}`}),isNumber:e=>({value:g(),message:i=>`'${i}' should be a number${v(e)}`}),isBoolean:()=>({value:n(),message:e=>`'${e}' should be a boolean`}),isFunction:()=>({value:u(),message:e=>`'${e}' should be a function`}),isPlainObject:()=>({value:m(),message:e=>`'${e}' should be an object`}),isObject:()=>({value:e=>e&&"object"==typeof e,message:e=>`'${e}' should be an object`}),isArray:()=>({value:Array.isArray,message:e=>`'${e}' should be an array`}),isArrayOfNumbers:()=>({value:e=>Array.isArray(e)&&e.every(g()),message:e=>`'${e}' should be an array of numbers`}),isArrayOfStrings:()=>({value:e=>Array.isArray(e)&&e.every(p()),message:e=>`'${e}' should be an array of strings`}),isArrayOfObjects:e=>({value:i=>i.every(i=>{for(let a in i)if(Object.prototype.hasOwnProperty.call(i,a)){const o=i[a],s=e[a];if(!s||!(0,y.QF)(s(o),o,a))return!1}return!0}),message:()=>"invalid array"}),or:function(){for(var e=arguments.length,i=new Array(e),a=0;a<e;a++)i[a]=arguments[a];return()=>({value:e=>i.some(i=>(0,y.O6)(i).value(e)),message:e=>i.map(i=>(0,y.O6)(i).message(e)).join(" or ")})}},h={videojsOptions:{loop:S.isBoolean,controls:S.isBoolean,autoplay:S.isBoolean,autoplayMode:S.isString(o.HJ),bigPlayButton:S.isBoolean,playbackRates:S.isArray,showLogo:S.isBoolean,logoImageUrl:S.isString,logoOnclickUrl:S.isString,videoJS:S.isPlainObject,maxTries:S.isNumber,muted:S.isBoolean,playsinline:S.isBoolean,videoTimeout:S.isNumber,preload:S.isString,sourceTransformation:S.isPlainObject,allowUsageReport:S.isBoolean,interactionAreas:{theme:{template:S.isString(s.IT)},layout:{enable:S.isBoolean,showAgain:S.isBoolean}}},playerOptions:{debug:S.isBoolean,queryParams:S.isPlainObject,publicId:S.isString,fluid:S.isBoolean,withCredentials:S.isBoolean,analytics:S.isBoolean,cloudinaryAnalytics:S.or(S.isBoolean,S.isPlainObject),hideContextMenu:S.isBoolean,playedEventPercents:S.isArrayOfNumbers,showJumpControls:S.isBoolean,chaptersButton:S.isBoolean,pictureInPictureToggle:S.isBoolean,seekThumbnails:S.isBoolean,aiHighlightsGraph:S.isBoolean,floatingWhenNotVisible:S.isString(o.rT),playedEventTimes:S.isArray,playlistWidget:{direction:S.isString,total:S.isNumber},colors:{base:S.isString,accent:S.isString,text:S.isString},ads:{adTagUrl:S.isString,showCountdown:S.isBoolean,adLabel:S.isString,locale:S.isString,prerollTimeout:S.isNumber,postrollTimeout:S.isNumber,adsInPlaylist:S.isString(o.KE)},cloudinary:{autoShowRecommendations:S.isBoolean,sourceTypes:S.isArrayOfStrings,transformation:S.isObject,fontFace:S.isString,posterOptions:{publicId:S.isString,transformation:S.isObject}}}},f={raw_transformation:S.isString,aspectRatio:S.isString,cropMode:S.isString(o.hN),cropPadColor:S.isString,hdr:S.isBoolean,resourceType:S.isString,shoppable:S.isPlainObject,chapters:S.or(S.isBoolean,S.isPlainObject),visualSearch:S.or(S.isBoolean),download:S.isBoolean,title:S.or(S.isString,S.isBoolean),description:S.or(S.isString,S.isBoolean),breakpoints:S.isBoolean,maxDpr:S.isNumber,interactionAreas:{enable:S.isBoolean,template:S.or(S.isString(s.F0),S.isArray),vttUrl:S.isString,onClick:S.isFunction},textTracks:{options:{theme:S.isString,fontFace:S.isString,fontSize:S.isString,gravity:S.isString,box:S.isPlainObject,style:S.isPlainObject,wordHighlightStyle:S.isPlainObject},captions:{label:S.isString,language:S.isString,default:S.isBoolean,url:S.isString,maxWords:S.isNumber,wordHighlight:S.isBoolean,timeOffset:S.isNumber},subtitles:S.isArrayOfObjects({label:S.isString,language:S.isString,default:S.isBoolean,url:S.isString,maxWords:S.isNumber,wordHighlight:S.isBoolean,timeOffset:S.isNumber})},info:{title:S.isString,subtitle:S.isString,description:S.isString},cloudinary:{sourceTypes:S.isArrayOfStrings,transformation:S.isObject},adaptiveStreaming:{strategy:S.isString(r.mM)},videoSources:S.isArray}},8552:(e,i,a)=>{var o=a(7148),s=a(2934);e.exports=function(e){return!0===e||!1===e||s(e)&&"[object Boolean]"==o(e)}},7531:(e,i,a)=>{var o=a(7148),s=a(2934);e.exports=function(e){return"number"==typeof e||s(e)&&"[object Number]"==o(e)}}}]);
1
+ import { c as require_baseGetTag, d as requireIsObjectLike, i as isObject, j as isFunction, h as isString, p as getValidatorItem, q as isValueValid, s as ADS_IN_PLAYLIST, F as FLOATING_TO, A as AUTO_PLAY_MODE, C as CROP_MODE } from './validators-functions.js';
2
+ import { e as INTERACTION_AREAS_TEMPLATE, d as INTERACTION_AREAS_THEME } from './interaction-areas.const.js';
3
+ import { A as ADAPTIVE_STREAMING_STRATEGY } from './abr-strategies.js';
4
+ import { g as getDefaultExportFromCjs } from './_commonjsHelpers.js';
5
+
6
+ var isBoolean_1;
7
+ var hasRequiredIsBoolean;
8
+
9
+ function requireIsBoolean () {
10
+ if (hasRequiredIsBoolean) return isBoolean_1;
11
+ hasRequiredIsBoolean = 1;
12
+ var baseGetTag = require_baseGetTag(),
13
+ isObjectLike = requireIsObjectLike();
14
+
15
+ /** `Object#toString` result references. */
16
+ var boolTag = '[object Boolean]';
17
+
18
+ /**
19
+ * Checks if `value` is classified as a boolean primitive or object.
20
+ *
21
+ * @static
22
+ * @memberOf _
23
+ * @since 0.1.0
24
+ * @category Lang
25
+ * @param {*} value The value to check.
26
+ * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.
27
+ * @example
28
+ *
29
+ * _.isBoolean(false);
30
+ * // => true
31
+ *
32
+ * _.isBoolean(null);
33
+ * // => false
34
+ */
35
+ function isBoolean(value) {
36
+ return value === true || value === false ||
37
+ (isObjectLike(value) && baseGetTag(value) == boolTag);
38
+ }
39
+
40
+ isBoolean_1 = isBoolean;
41
+ return isBoolean_1;
42
+ }
43
+
44
+ var isBooleanExports = requireIsBoolean();
45
+ var isBoolean = /*@__PURE__*/getDefaultExportFromCjs(isBooleanExports);
46
+
47
+ var isNumber_1;
48
+ var hasRequiredIsNumber;
49
+
50
+ function requireIsNumber () {
51
+ if (hasRequiredIsNumber) return isNumber_1;
52
+ hasRequiredIsNumber = 1;
53
+ var baseGetTag = require_baseGetTag(),
54
+ isObjectLike = requireIsObjectLike();
55
+
56
+ /** `Object#toString` result references. */
57
+ var numberTag = '[object Number]';
58
+
59
+ /**
60
+ * Checks if `value` is classified as a `Number` primitive or object.
61
+ *
62
+ * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are
63
+ * classified as numbers, use the `_.isFinite` method.
64
+ *
65
+ * @static
66
+ * @memberOf _
67
+ * @since 0.1.0
68
+ * @category Lang
69
+ * @param {*} value The value to check.
70
+ * @returns {boolean} Returns `true` if `value` is a number, else `false`.
71
+ * @example
72
+ *
73
+ * _.isNumber(3);
74
+ * // => true
75
+ *
76
+ * _.isNumber(Number.MIN_VALUE);
77
+ * // => true
78
+ *
79
+ * _.isNumber(Infinity);
80
+ * // => true
81
+ *
82
+ * _.isNumber('3');
83
+ * // => false
84
+ */
85
+ function isNumber(value) {
86
+ return typeof value == 'number' ||
87
+ (isObjectLike(value) && baseGetTag(value) == numberTag);
88
+ }
89
+
90
+ isNumber_1 = isNumber;
91
+ return isNumber_1;
92
+ }
93
+
94
+ var isNumberExports = requireIsNumber();
95
+ var isNumber = /*@__PURE__*/getDefaultExportFromCjs(isNumberExports);
96
+
97
+ const getOptionsString = options => isObject(options) ? `:(${Object.values(options).join('/')})` : '';
98
+ const arrayOfStringsValidator = () => ({
99
+ value: arr => Array.isArray(arr) && arr.every(isString),
100
+ message: key => `'${key}' should be an array of strings`
101
+ });
102
+ const arrayOfNumbersValidator = () => ({
103
+ value: arr => Array.isArray(arr) && arr.every(isNumber),
104
+ message: key => `'${key}' should be an array of numbers`
105
+ });
106
+ const arrayOfObjectsValidator = options => ({
107
+ value: arr => {
108
+ return arr.every(item => {
109
+ for (let key in item) {
110
+ if (Object.prototype.hasOwnProperty.call(item, key)) {
111
+ const value = item[key];
112
+ const validator = options[key];
113
+ const isValid = validator && isValueValid(validator(value), value, key);
114
+ if (!isValid) {
115
+ return false;
116
+ }
117
+ }
118
+ }
119
+ return true;
120
+ });
121
+ },
122
+ message: () => 'invalid array'
123
+ });
124
+ const orValidator = function () {
125
+ for (var _len = arguments.length, validators = new Array(_len), _key = 0; _key < _len; _key++) {
126
+ validators[_key] = arguments[_key];
127
+ }
128
+ return () => ({
129
+ value: value => validators.some(validator => getValidatorItem(validator).value(value)),
130
+ message: configPropertyName => validators.map(validator => getValidatorItem(validator).message(configPropertyName)).join(' or ')
131
+ });
132
+ };
133
+ const validator = {
134
+ isString: options => ({
135
+ value: isString,
136
+ message: key => `'${key}' should be a string${getOptionsString(options)}`
137
+ }),
138
+ isNumber: options => ({
139
+ value: isNumber,
140
+ message: key => `'${key}' should be a number${getOptionsString(options)}`
141
+ }),
142
+ isBoolean: () => ({
143
+ value: isBoolean,
144
+ message: key => `'${key}' should be a boolean`
145
+ }),
146
+ isFunction: () => ({
147
+ value: isFunction,
148
+ message: key => `'${key}' should be a function`
149
+ }),
150
+ isPlainObject: () => ({
151
+ value: isObject,
152
+ message: key => `'${key}' should be an object`
153
+ }),
154
+ isObject: () => ({
155
+ value: value => value && typeof value === 'object',
156
+ message: key => `'${key}' should be an object`
157
+ }),
158
+ isArray: () => ({
159
+ value: Array.isArray,
160
+ message: key => `'${key}' should be an array`
161
+ }),
162
+ isArrayOfNumbers: arrayOfNumbersValidator,
163
+ isArrayOfStrings: arrayOfStringsValidator,
164
+ isArrayOfObjects: arrayOfObjectsValidator,
165
+ or: orValidator
166
+ };
167
+
168
+ const playerValidators = {
169
+ videojsOptions: {
170
+ loop: validator.isBoolean,
171
+ controls: validator.isBoolean,
172
+ autoplay: validator.isBoolean,
173
+ autoplayMode: validator.isString(AUTO_PLAY_MODE),
174
+ bigPlayButton: validator.isBoolean,
175
+ playbackRates: validator.isArray,
176
+ showLogo: validator.isBoolean,
177
+ logoImageUrl: validator.isString,
178
+ logoOnclickUrl: validator.isString,
179
+ videoJS: validator.isPlainObject,
180
+ maxTries: validator.isNumber,
181
+ muted: validator.isBoolean,
182
+ playsinline: validator.isBoolean,
183
+ videoTimeout: validator.isNumber,
184
+ preload: validator.isString,
185
+ sourceTransformation: validator.isPlainObject,
186
+ allowUsageReport: validator.isBoolean,
187
+ interactionAreas: {
188
+ theme: {
189
+ template: validator.isString(INTERACTION_AREAS_THEME)
190
+ },
191
+ layout: {
192
+ enable: validator.isBoolean,
193
+ showAgain: validator.isBoolean
194
+ }
195
+ }
196
+ },
197
+ playerOptions: {
198
+ debug: validator.isBoolean,
199
+ queryParams: validator.isPlainObject,
200
+ publicId: validator.isString,
201
+ fluid: validator.isBoolean,
202
+ withCredentials: validator.isBoolean,
203
+ analytics: validator.isBoolean,
204
+ cloudinaryAnalytics: validator.or(validator.isBoolean, validator.isPlainObject),
205
+ hideContextMenu: validator.isBoolean,
206
+ playedEventPercents: validator.isArrayOfNumbers,
207
+ showJumpControls: validator.isBoolean,
208
+ chaptersButton: validator.isBoolean,
209
+ pictureInPictureToggle: validator.isBoolean,
210
+ seekThumbnails: validator.isBoolean,
211
+ aiHighlightsGraph: validator.isBoolean,
212
+ floatingWhenNotVisible: validator.isString(FLOATING_TO),
213
+ playedEventTimes: validator.isArray,
214
+ playlistWidget: {
215
+ direction: validator.isString,
216
+ total: validator.isNumber
217
+ },
218
+ colors: {
219
+ base: validator.isString,
220
+ accent: validator.isString,
221
+ text: validator.isString
222
+ },
223
+ ads: {
224
+ adTagUrl: validator.isString,
225
+ showCountdown: validator.isBoolean,
226
+ adLabel: validator.isString,
227
+ locale: validator.isString,
228
+ prerollTimeout: validator.isNumber,
229
+ postrollTimeout: validator.isNumber,
230
+ adsInPlaylist: validator.isString(ADS_IN_PLAYLIST)
231
+ },
232
+ schedule: {
233
+ weekly: validator.isArrayOfObjects({
234
+ day: validator.isString,
235
+ start: validator.isString,
236
+ duration: validator.isNumber
237
+ })
238
+ },
239
+ cloudinary: {
240
+ autoShowRecommendations: validator.isBoolean,
241
+ sourceTypes: validator.isArrayOfStrings,
242
+ transformation: validator.isObject,
243
+ fontFace: validator.isString,
244
+ posterOptions: {
245
+ publicId: validator.isString,
246
+ transformation: validator.isObject
247
+ }
248
+ }
249
+ }
250
+ };
251
+ const sourceValidators = {
252
+ raw_transformation: validator.isString,
253
+ aspectRatio: validator.isString,
254
+ cropMode: validator.isString(CROP_MODE),
255
+ cropPadColor: validator.isString,
256
+ hdr: validator.isBoolean,
257
+ resourceType: validator.isString,
258
+ shoppable: validator.isPlainObject,
259
+ chapters: validator.or(validator.isBoolean, validator.isPlainObject),
260
+ visualSearch: validator.or(validator.isBoolean),
261
+ download: validator.isBoolean,
262
+ title: validator.or(validator.isString, validator.isBoolean),
263
+ description: validator.or(validator.isString, validator.isBoolean),
264
+ breakpoints: validator.isBoolean,
265
+ maxDpr: validator.isNumber,
266
+ interactionAreas: {
267
+ enable: validator.isBoolean,
268
+ template: validator.or(validator.isString(INTERACTION_AREAS_TEMPLATE), validator.isArray),
269
+ vttUrl: validator.isString,
270
+ onClick: validator.isFunction
271
+ },
272
+ textTracks: {
273
+ options: {
274
+ theme: validator.isString,
275
+ fontFace: validator.isString,
276
+ fontSize: validator.isString,
277
+ gravity: validator.isString,
278
+ box: validator.isPlainObject,
279
+ style: validator.isPlainObject,
280
+ wordHighlightStyle: validator.isPlainObject
281
+ },
282
+ captions: {
283
+ label: validator.isString,
284
+ language: validator.isString,
285
+ default: validator.isBoolean,
286
+ url: validator.isString,
287
+ maxWords: validator.isNumber,
288
+ wordHighlight: validator.isBoolean,
289
+ timeOffset: validator.isNumber
290
+ },
291
+ subtitles: validator.isArrayOfObjects({
292
+ label: validator.isString,
293
+ language: validator.isString,
294
+ default: validator.isBoolean,
295
+ url: validator.isString,
296
+ maxWords: validator.isNumber,
297
+ wordHighlight: validator.isBoolean,
298
+ timeOffset: validator.isNumber
299
+ })
300
+ },
301
+ info: {
302
+ title: validator.isString,
303
+ subtitle: validator.isString,
304
+ description: validator.isString
305
+ },
306
+ cloudinary: {
307
+ sourceTypes: validator.isArrayOfStrings,
308
+ transformation: validator.isObject
309
+ },
310
+ adaptiveStreaming: {
311
+ strategy: validator.isString(ADAPTIVE_STREAMING_STRATEGY)
312
+ },
313
+ videoSources: validator.isArray
314
+ };
315
+
316
+ var validators = /*#__PURE__*/Object.freeze({
317
+ __proto__: null,
318
+ playerValidators: playerValidators,
319
+ sourceValidators: sourceValidators
320
+ });
321
+
322
+ export { validators as v };