cloudinary-video-player 3.1.2-edge.2 → 3.1.2-edge.4

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 (52) hide show
  1. package/dist/adaptive-streaming.js +18 -36920
  2. package/dist/adaptive-streaming.min.js +3 -4
  3. package/dist/chapters.js +13 -217
  4. package/dist/chapters.min.js +3 -4
  5. package/dist/cld-video-player.css +24 -4
  6. package/dist/cld-video-player.js +317 -46291
  7. package/dist/cld-video-player.light.js +317 -46291
  8. package/dist/cld-video-player.light.min.js +4 -5
  9. package/dist/cld-video-player.min.css +3 -4
  10. package/dist/cld-video-player.min.js +4 -5
  11. package/dist/colors.js +13 -67
  12. package/dist/colors.min.js +3 -4
  13. package/dist/dash.js +15 -69999
  14. package/dist/dash.min.js +3 -4
  15. package/dist/debug.js +17 -377
  16. package/dist/debug.min.js +3 -4
  17. package/dist/ima.js +24 -7049
  18. package/dist/ima.min.js +3 -4
  19. package/dist/interaction-areas.js +20 -640
  20. package/dist/interaction-areas.min.js +3 -4
  21. package/dist/node_modules_lodash_throttle_js.js +17 -395
  22. package/dist/playlist.js +40 -1504
  23. package/dist/playlist.min.js +3 -4
  24. package/dist/recommendations-overlay.js +19 -391
  25. package/dist/recommendations-overlay.min.js +3 -4
  26. package/dist/share.js +47 -0
  27. package/dist/share.min.js +6 -0
  28. package/dist/shoppable.js +21 -762
  29. package/dist/shoppable.min.js +3 -4
  30. package/dist/srt-text-tracks.js +13 -189
  31. package/dist/srt-text-tracks.min.js +3 -4
  32. package/dist/visual-search.js +16 -271
  33. package/dist/visual-search.min.js +3 -4
  34. package/lib/adaptive-streaming.js +1 -2
  35. package/lib/all.js +1 -2
  36. package/lib/chapters.js +1 -2
  37. package/lib/cld-video-player.js +1 -2
  38. package/lib/cld-video-player.min.css +1 -2
  39. package/lib/colors.js +1 -2
  40. package/lib/dash.js +1 -2
  41. package/lib/debug.js +1 -2
  42. package/lib/ima.js +1 -2
  43. package/lib/interaction-areas.js +1 -2
  44. package/lib/player.js +1 -2
  45. package/lib/playlist.js +1 -2
  46. package/lib/recommendations-overlay.js +1 -2
  47. package/lib/share.js +1 -0
  48. package/lib/shoppable.js +1 -2
  49. package/lib/srt-text-tracks.js +1 -2
  50. package/lib/videoPlayer.js +1 -2
  51. package/lib/visual-search.js +1 -2
  52. package/package.json +2 -3
package/dist/playlist.js CHANGED
@@ -1,8 +1,16 @@
1
1
  /*!
2
- * Cloudinary Video Player v3.1.2-edge.2
3
- * Built on 2025-07-29T06:41:23.669Z
2
+ * Cloudinary Video Player v3.1.2-edge.4
3
+ * Built on 2025-08-11T06:41:19.174Z
4
4
  * https://github.com/cloudinary/cloudinary-video-player
5
5
  */
6
+ /*
7
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
8
+ * This devtool is neither made for production nor for readable output files.
9
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
10
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
11
+ * or disable the default devtool with "devtool: false".
12
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
13
+ */
6
14
  (self["cloudinaryVideoPlayerChunkLoading"] = self["cloudinaryVideoPlayerChunkLoading"] || []).push([["playlist"],{
7
15
 
8
16
  /***/ "./plugins/playlist/playlist.js":
@@ -12,120 +20,7 @@
12
20
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
13
21
 
14
22
  "use strict";
15
- __webpack_require__.r(__webpack_exports__);
16
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
17
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
18
- /* harmony export */ });
19
- /* harmony import */ var lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/isPlainObject */ "../node_modules/lodash/isPlainObject.js");
20
- /* harmony import */ var lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0__);
21
- /* harmony import */ var utils_slicing__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! utils/slicing */ "./utils/slicing.js");
22
- /* harmony import */ var utils_consts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! utils/consts */ "./utils/consts.js");
23
- /* harmony import */ var plugins_cloudinary_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! plugins/cloudinary/common */ "./plugins/cloudinary/common.js");
24
- /* harmony import */ var _utils_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils/api */ "./plugins/playlist/utils/api.js");
25
- /* harmony import */ var _ui_playlist__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ui/playlist */ "./plugins/playlist/ui/playlist.js");
26
- /* harmony import */ var _ui_playlist_widget__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ui/playlist-widget */ "./plugins/playlist/ui/playlist-widget.js");
27
- /* harmony import */ var _ui_panel_playlist_panel__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./ui/panel/playlist-panel */ "./plugins/playlist/ui/panel/playlist-panel.js");
28
-
29
-
30
-
31
-
32
-
33
-
34
-
35
-
36
- const LIST_BY_TAG_PARAMS = {
37
- format: 'json',
38
- resource_type: 'video',
39
- type: 'list'
40
- };
41
- const playlist = function (player) {
42
- let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
43
- const chainTarget = (0,utils_slicing__WEBPACK_IMPORTED_MODULE_1__.sliceProperties)(options, 'chainTarget').chainTarget;
44
- let playlistInstance = null;
45
- let playlistDisposer = null;
46
- let playlistWidget = null;
47
- const initPlaylistWidget = () => {
48
- player.on(utils_consts__WEBPACK_IMPORTED_MODULE_2__.PLAYER_EVENT.PLAYLIST_CREATED, () => {
49
- if (playlistWidget) {
50
- playlistWidget.dispose();
51
- }
52
- if (lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0___default()(options.playlistWidget)) {
53
- if (player.fluid_) {
54
- options.playlistWidget.fluid = true;
55
- }
56
- if (player.cloudinary.fontFace) {
57
- options.playlistWidget.fontFace = player.cloudinary.fontFace;
58
- }
59
- playlistWidget = new _ui_playlist_widget__WEBPACK_IMPORTED_MODULE_6__["default"](player, options.playlistWidget);
60
- }
61
- });
62
- };
63
- const disposePlaylist = () => {
64
- player.removeClass('vjs-playlist');
65
- playlistInstance = undefined;
66
- player.playlist().dispose();
67
- player.off('cldsourcechanged', playlistDisposer);
68
- };
69
- const addPlaylistDisposer = () => {
70
- const disposer = () => {
71
- if (playlistInstance && !playlistInstance.currentSource().contains(player.currentSource())) {
72
- player.disposePlaylist();
73
- }
74
- };
75
- player.on('cldsourcechanged', disposer);
76
- return disposer;
77
- };
78
- const createPlaylist = (sources, options) => {
79
- if (sources instanceof _ui_playlist__WEBPACK_IMPORTED_MODULE_5__["default"]) {
80
- playlistInstance = sources;
81
- playlistInstance.resetState();
82
- playlistInstance.currentIndex(playlistInstance.currentIndex());
83
- } else {
84
- playlistInstance = new _ui_playlist__WEBPACK_IMPORTED_MODULE_5__["default"](player.cloudinary, sources, options);
85
- playlistInstance.currentIndex(0);
86
- }
87
- initPlaylistWidget();
88
- playlistDisposer = addPlaylistDisposer();
89
- player.addClass('vjs-playlist');
90
- };
91
- player.cloudinary.sourcesByTag = async function (tag) {
92
- let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
93
- const url = (0,plugins_cloudinary_common__WEBPACK_IMPORTED_MODULE_3__.getCloudinaryUrl)(tag, Object.assign({}, player.cloudinary.cloudinaryConfig(), LIST_BY_TAG_PARAMS));
94
- const result = await fetch(url);
95
- const json = await result.json();
96
- const resources = (0,_utils_api__WEBPACK_IMPORTED_MODULE_4__.normalizeJsonResponse)(json.resources);
97
- if (options.sorter) {
98
- resources.sort(options.sorter);
99
- }
100
- const sources = resources.map(resource => {
101
- let sourceParams = options.sourceParams || {};
102
- if (typeof sourceParams === 'function') {
103
- sourceParams = sourceParams(resource);
104
- }
105
- const info = resource.context && resource.context.custom || {};
106
- const source = Object.assign({
107
- info
108
- }, sourceParams, {
109
- publicId: resource.publicId
110
- });
111
- return player.cloudinary.buildSource(source);
112
- });
113
- return sources;
114
- };
115
- return function (sources) {
116
- let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
117
- if (sources === undefined) {
118
- return playlistInstance;
119
- }
120
- if (playlistInstance) {
121
- disposePlaylist();
122
- }
123
- createPlaylist(sources, options);
124
- player.trigger('playlistcreated');
125
- return chainTarget;
126
- };
127
- };
128
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (playlist);
23
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/isPlainObject */ \"../node_modules/lodash/isPlainObject.js\");\n/* harmony import */ var lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var utils_slicing__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! utils/slicing */ \"./utils/slicing.js\");\n/* harmony import */ var utils_consts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! utils/consts */ \"./utils/consts.js\");\n/* harmony import */ var plugins_cloudinary_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! plugins/cloudinary/common */ \"./plugins/cloudinary/common.js\");\n/* harmony import */ var _utils_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils/api */ \"./plugins/playlist/utils/api.js\");\n/* harmony import */ var _ui_playlist__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ui/playlist */ \"./plugins/playlist/ui/playlist.js\");\n/* harmony import */ var _ui_playlist_widget__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ui/playlist-widget */ \"./plugins/playlist/ui/playlist-widget.js\");\n/* harmony import */ var _ui_panel_playlist_panel__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./ui/panel/playlist-panel */ \"./plugins/playlist/ui/panel/playlist-panel.js\");\n\n\n\n\n\n\n\n\nconst LIST_BY_TAG_PARAMS = {\n format: 'json',\n resource_type: 'video',\n type: 'list'\n};\nconst playlist = function (player) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const chainTarget = (0,utils_slicing__WEBPACK_IMPORTED_MODULE_1__.sliceProperties)(options, 'chainTarget').chainTarget;\n let playlistInstance = null;\n let playlistDisposer = null;\n let playlistWidget = null;\n const initPlaylistWidget = () => {\n player.on(utils_consts__WEBPACK_IMPORTED_MODULE_2__.PLAYER_EVENT.PLAYLIST_CREATED, () => {\n if (playlistWidget) {\n playlistWidget.dispose();\n }\n if (lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_0___default()(options.playlistWidget)) {\n if (player.fluid_) {\n options.playlistWidget.fluid = true;\n }\n if (player.cloudinary.fontFace) {\n options.playlistWidget.fontFace = player.cloudinary.fontFace;\n }\n playlistWidget = new _ui_playlist_widget__WEBPACK_IMPORTED_MODULE_6__[\"default\"](player, options.playlistWidget);\n }\n });\n };\n const disposePlaylist = () => {\n player.removeClass('vjs-playlist');\n playlistInstance = undefined;\n player.playlist().dispose();\n player.off('cldsourcechanged', playlistDisposer);\n };\n const addPlaylistDisposer = () => {\n const disposer = () => {\n if (playlistInstance && !playlistInstance.currentSource().contains(player.currentSource())) {\n player.disposePlaylist();\n }\n };\n player.on('cldsourcechanged', disposer);\n return disposer;\n };\n const createPlaylist = (sources, options) => {\n if (sources instanceof _ui_playlist__WEBPACK_IMPORTED_MODULE_5__[\"default\"]) {\n playlistInstance = sources;\n playlistInstance.resetState();\n playlistInstance.currentIndex(playlistInstance.currentIndex());\n } else {\n playlistInstance = new _ui_playlist__WEBPACK_IMPORTED_MODULE_5__[\"default\"](player.cloudinary, sources, options);\n playlistInstance.currentIndex(0);\n }\n initPlaylistWidget();\n playlistDisposer = addPlaylistDisposer();\n player.addClass('vjs-playlist');\n };\n player.cloudinary.sourcesByTag = async function (tag) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const url = (0,plugins_cloudinary_common__WEBPACK_IMPORTED_MODULE_3__.getCloudinaryUrl)(tag, Object.assign({}, player.cloudinary.cloudinaryConfig(), LIST_BY_TAG_PARAMS));\n const result = await fetch(url);\n const json = await result.json();\n const resources = (0,_utils_api__WEBPACK_IMPORTED_MODULE_4__.normalizeJsonResponse)(json.resources);\n if (options.sorter) {\n resources.sort(options.sorter);\n }\n const sources = resources.map(resource => {\n let sourceParams = options.sourceParams || {};\n if (typeof sourceParams === 'function') {\n sourceParams = sourceParams(resource);\n }\n const info = resource.context && resource.context.custom || {};\n const source = Object.assign({\n info\n }, sourceParams, {\n publicId: resource.publicId\n });\n return player.cloudinary.buildSource(source);\n });\n return sources;\n };\n return function (sources) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (sources === undefined) {\n return playlistInstance;\n }\n if (playlistInstance) {\n disposePlaylist();\n }\n createPlaylist(sources, options);\n player.trigger('playlistcreated');\n return chainTarget;\n };\n};\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (playlist);\n\n//# sourceURL=webpack://cloudinary-video-player/./plugins/playlist/playlist.js?");
129
24
 
130
25
  /***/ }),
131
26
 
@@ -136,42 +31,7 @@ const playlist = function (player) {
136
31
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
137
32
 
138
33
  "use strict";
139
- __webpack_require__.r(__webpack_exports__);
140
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
141
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
142
- /* harmony export */ });
143
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! video.js */ "../node_modules/video.js/dist/alt/video.core-exposed.js");
144
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(video_js__WEBPACK_IMPORTED_MODULE_0__);
145
-
146
-
147
- // Get the ClickableComponent base class from Video.js
148
- const ClickableComponent = video_js__WEBPACK_IMPORTED_MODULE_0___default().getComponent('ClickableComponent');
149
-
150
- // Create a common class for playlist buttons
151
- class PlaylistButton extends ClickableComponent {
152
- constructor(player, options) {
153
- // It is important to invoke the superclass before anything else,
154
- // to get all the features of components out of the box!
155
- super(player, options);
156
- const type = options.type;
157
- if (!type && type !== 'previous' && type !== 'next') {
158
- throw new Error('Type must be either \'previous\' or \'next\'');
159
- }
160
- }
161
-
162
- // The `createEl` function of a component creates its DOM element.
163
- createEl() {
164
- const type = this.options_.type;
165
- const typeCssClass = `vjs-icon-${type}-item`;
166
- return video_js__WEBPACK_IMPORTED_MODULE_0___default().dom.createEl('button', {
167
- // Prefixing classes of elements within a player with "vjs-"
168
- // is a convention used in Video.js.
169
- className: `vjs-control vjs-playlist-button vjs-button ${typeCssClass}`,
170
- ariaLabel: `Playlist ${type} item`
171
- });
172
- }
173
- }
174
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PlaylistButton);
34
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! video.js */ \"../node_modules/video.js/dist/alt/video.core-exposed.js\");\n/* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(video_js__WEBPACK_IMPORTED_MODULE_0__);\n\n\n// Get the ClickableComponent base class from Video.js\nconst ClickableComponent = video_js__WEBPACK_IMPORTED_MODULE_0___default().getComponent('ClickableComponent');\n\n// Create a common class for playlist buttons\nclass PlaylistButton extends ClickableComponent {\n constructor(player, options) {\n // It is important to invoke the superclass before anything else,\n // to get all the features of components out of the box!\n super(player, options);\n const type = options.type;\n if (!type && type !== 'previous' && type !== 'next') {\n throw new Error('Type must be either \\'previous\\' or \\'next\\'');\n }\n }\n\n // The `createEl` function of a component creates its DOM element.\n createEl() {\n const type = this.options_.type;\n const typeCssClass = `vjs-icon-${type}-item`;\n return video_js__WEBPACK_IMPORTED_MODULE_0___default().dom.createEl('button', {\n // Prefixing classes of elements within a player with \"vjs-\"\n // is a convention used in Video.js.\n className: `vjs-control vjs-playlist-button vjs-button ${typeCssClass}`,\n ariaLabel: `Playlist ${type} item`\n });\n }\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PlaylistButton);\n\n//# sourceURL=webpack://cloudinary-video-player/./plugins/playlist/ui/components/playlist-button.js?");
175
35
 
176
36
  /***/ }),
177
37
 
@@ -182,18 +42,7 @@ class PlaylistButton extends ClickableComponent {
182
42
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
183
43
 
184
44
  "use strict";
185
- __webpack_require__.r(__webpack_exports__);
186
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
187
- /* harmony export */ PlaylistNextButton: () => (/* reexport safe */ _playlist_next_button__WEBPACK_IMPORTED_MODULE_0__["default"]),
188
- /* harmony export */ PlaylistPreviousButton: () => (/* reexport safe */ _playlist_previous_button__WEBPACK_IMPORTED_MODULE_1__["default"])
189
- /* harmony export */ });
190
- /* harmony import */ var _playlist_next_button__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./playlist-next-button */ "./plugins/playlist/ui/components/playlist-next-button.js");
191
- /* harmony import */ var _playlist_previous_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./playlist-previous-button */ "./plugins/playlist/ui/components/playlist-previous-button.js");
192
- /* harmony import */ var _playlist_buttons_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./playlist-buttons.scss */ "./plugins/playlist/ui/components/playlist-buttons.scss");
193
-
194
-
195
-
196
-
45
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PlaylistNextButton: () => (/* reexport safe */ _playlist_next_button__WEBPACK_IMPORTED_MODULE_0__[\"default\"]),\n/* harmony export */ PlaylistPreviousButton: () => (/* reexport safe */ _playlist_previous_button__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n/* harmony export */ });\n/* harmony import */ var _playlist_next_button__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./playlist-next-button */ \"./plugins/playlist/ui/components/playlist-next-button.js\");\n/* harmony import */ var _playlist_previous_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./playlist-previous-button */ \"./plugins/playlist/ui/components/playlist-previous-button.js\");\n/* harmony import */ var _playlist_buttons_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./playlist-buttons.scss */ \"./plugins/playlist/ui/components/playlist-buttons.scss\");\n\n\n\n\n\n//# sourceURL=webpack://cloudinary-video-player/./plugins/playlist/ui/components/playlist-buttons.js?");
197
46
 
198
47
  /***/ }),
199
48
 
@@ -204,29 +53,7 @@ __webpack_require__.r(__webpack_exports__);
204
53
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
205
54
 
206
55
  "use strict";
207
- __webpack_require__.r(__webpack_exports__);
208
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
209
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
210
- /* harmony export */ });
211
- /* harmony import */ var _playlist_button__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./playlist-button */ "./plugins/playlist/ui/components/playlist-button.js");
212
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! video.js */ "../node_modules/video.js/dist/alt/video.core-exposed.js");
213
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(video_js__WEBPACK_IMPORTED_MODULE_1__);
214
-
215
-
216
- class PlaylistNextButton extends _playlist_button__WEBPACK_IMPORTED_MODULE_0__["default"] {
217
- constructor(player) {
218
- super(player, {
219
- type: 'next'
220
- });
221
- }
222
- handleClick(event) {
223
- event.stopPropagation();
224
- super.handleClick(event);
225
- this.player().cloudinary.playlist().playNext();
226
- }
227
- }
228
- video_js__WEBPACK_IMPORTED_MODULE_1___default().registerComponent('PlaylistNextButton', PlaylistNextButton);
229
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PlaylistNextButton);
56
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _playlist_button__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./playlist-button */ \"./plugins/playlist/ui/components/playlist-button.js\");\n/* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! video.js */ \"../node_modules/video.js/dist/alt/video.core-exposed.js\");\n/* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(video_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nclass PlaylistNextButton extends _playlist_button__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(player) {\n super(player, {\n type: 'next'\n });\n }\n handleClick(event) {\n event.stopPropagation();\n super.handleClick(event);\n this.player().cloudinary.playlist().playNext();\n }\n}\nvideo_js__WEBPACK_IMPORTED_MODULE_1___default().registerComponent('PlaylistNextButton', PlaylistNextButton);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PlaylistNextButton);\n\n//# sourceURL=webpack://cloudinary-video-player/./plugins/playlist/ui/components/playlist-next-button.js?");
230
57
 
231
58
  /***/ }),
232
59
 
@@ -237,28 +64,7 @@ video_js__WEBPACK_IMPORTED_MODULE_1___default().registerComponent('PlaylistNextB
237
64
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
238
65
 
239
66
  "use strict";
240
- __webpack_require__.r(__webpack_exports__);
241
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
242
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
243
- /* harmony export */ });
244
- /* harmony import */ var _playlist_button__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./playlist-button */ "./plugins/playlist/ui/components/playlist-button.js");
245
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! video.js */ "../node_modules/video.js/dist/alt/video.core-exposed.js");
246
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(video_js__WEBPACK_IMPORTED_MODULE_1__);
247
-
248
-
249
- class PlaylistPreviousButton extends _playlist_button__WEBPACK_IMPORTED_MODULE_0__["default"] {
250
- constructor(player) {
251
- super(player, {
252
- type: 'previous'
253
- });
254
- }
255
- handleClick(event) {
256
- super.handleClick(event);
257
- this.player().cloudinary.playlist().playPrevious();
258
- }
259
- }
260
- video_js__WEBPACK_IMPORTED_MODULE_1___default().registerComponent('PlaylistPreviousButton', PlaylistPreviousButton);
261
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PlaylistPreviousButton);
67
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _playlist_button__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./playlist-button */ \"./plugins/playlist/ui/components/playlist-button.js\");\n/* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! video.js */ \"../node_modules/video.js/dist/alt/video.core-exposed.js\");\n/* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(video_js__WEBPACK_IMPORTED_MODULE_1__);\n\n\nclass PlaylistPreviousButton extends _playlist_button__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(player) {\n super(player, {\n type: 'previous'\n });\n }\n handleClick(event) {\n super.handleClick(event);\n this.player().cloudinary.playlist().playPrevious();\n }\n}\nvideo_js__WEBPACK_IMPORTED_MODULE_1___default().registerComponent('PlaylistPreviousButton', PlaylistPreviousButton);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PlaylistPreviousButton);\n\n//# sourceURL=webpack://cloudinary-video-player/./plugins/playlist/ui/components/playlist-previous-button.js?");
262
68
 
263
69
  /***/ }),
264
70
 
@@ -269,143 +75,7 @@ video_js__WEBPACK_IMPORTED_MODULE_1___default().registerComponent('PlaylistPrevi
269
75
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
270
76
 
271
77
  "use strict";
272
- __webpack_require__.r(__webpack_exports__);
273
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
274
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
275
- /* harmony export */ });
276
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! video.js */ "../node_modules/video.js/dist/alt/video.core-exposed.js");
277
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(video_js__WEBPACK_IMPORTED_MODULE_0__);
278
- /* harmony import */ var _upcoming_video_overlay_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./upcoming-video-overlay.scss */ "./plugins/playlist/ui/components/upcoming-video-overlay.scss");
279
- /* harmony import */ var utils_consts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! utils/consts */ "./utils/consts.js");
280
-
281
-
282
-
283
-
284
- // support VJS5 & VJS6 at the same time
285
- const dom = (video_js__WEBPACK_IMPORTED_MODULE_0___default().dom) || (video_js__WEBPACK_IMPORTED_MODULE_0___default());
286
- const Component = video_js__WEBPACK_IMPORTED_MODULE_0___default().getComponent('Component');
287
- const ClickableComponent = video_js__WEBPACK_IMPORTED_MODULE_0___default().getComponent('ClickableComponent');
288
- class UpcomingVideoOverlay extends ClickableComponent {
289
- static DISABLE_TRANSITION_CLASS = 'disable-transition';
290
- static VJS_UPCOMING_VIDEO_SHOW = 'vjs-upcoming-video-show';
291
- constructor(player) {
292
- for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
293
- args[_key - 1] = arguments[_key];
294
- }
295
- super(player, ...args);
296
- this._setEvents(player);
297
- }
298
- _setEvents(player) {
299
- player.on(utils_consts__WEBPACK_IMPORTED_MODULE_2__.PLAYER_EVENT.UP_COMING_VIDEO_SHOW, this._show);
300
- player.on(utils_consts__WEBPACK_IMPORTED_MODULE_2__.PLAYER_EVENT.UP_COMING_VIDEO_HIDE, this._hide);
301
- player.on(utils_consts__WEBPACK_IMPORTED_MODULE_2__.PLAYER_EVENT.PLAYLIST_ITEM_CHANGED, this._onPlaylistItemChange);
302
- }
303
- _hide = () => {
304
- this.removeClass(UpcomingVideoOverlay.VJS_UPCOMING_VIDEO_SHOW);
305
- };
306
- _disableTransition(block) {
307
- this.addClass(UpcomingVideoOverlay.DISABLE_TRANSITION_CLASS);
308
- block();
309
- this.removeClass(UpcomingVideoOverlay.DISABLE_TRANSITION_CLASS);
310
- }
311
- _onPlaylistItemChange = (_, event) => {
312
- this._hide();
313
- this._disableTransition(() => {
314
- if (event.next) {
315
- this.setItem(event.next);
316
- }
317
- });
318
- };
319
- _show = () => {
320
- const ima = this.player().ima;
321
- const adsManager = ima === 'object' && ima.getAdsManager();
322
- if (adsManager) {
323
- if (!adsManager.getCurrentAd() || adsManager.getCurrentAd().isLinear()) {
324
- this.addClass(UpcomingVideoOverlay.VJS_UPCOMING_VIDEO_SHOW);
325
- }
326
- } else {
327
- this.addClass(UpcomingVideoOverlay.VJS_UPCOMING_VIDEO_SHOW);
328
- }
329
- };
330
- setTitle(source) {
331
- const title = this.getChild('upcomingVideoOverlayContent').getChild('upcomingVideoOverlayBar').getChild('upcomingVideoOverlayTitle');
332
- title.setContent(source.info().title || source.publicId());
333
- }
334
- setItem(source) {
335
- this._source = source;
336
- const maxWidth = parseInt(window.getComputedStyle(this.el(), null).getPropertyValue('max-width'), 10);
337
- const maxHeight = Math.round(maxWidth * (9 / 16.0));
338
- const transformation = {
339
- crop: 'pad',
340
- background: 'auto:predominant',
341
- width: maxWidth,
342
- height: maxHeight
343
- };
344
- const content = this.getChild('upcomingVideoOverlayContent');
345
- this.setTitle(source);
346
- content.el().style.backgroundImage = `url("${this._source.poster().url({
347
- transformation
348
- })}")`;
349
- }
350
- handleClick() {
351
- super.handleClick(event);
352
- this.player().cloudinary.playlist().playNext();
353
- }
354
- createEl() {
355
- return super.createEl('div', {
356
- className: 'vjs-upcoming-video'
357
- });
358
- }
359
- }
360
- class UpcomingVideoOverlayContent extends Component {
361
- createEl() {
362
- // Content wraps image and bar
363
- return super.createEl('div', {
364
- className: 'upcoming-video-overlay aspect-ratio-content'
365
- });
366
- }
367
- }
368
- class UpcomingVideoOverlayTitle extends Component {
369
- setContent(title) {
370
- this._contentSpan.innerText = title;
371
- }
372
- createEl() {
373
- const el = super.createEl('div', {
374
- className: 'vjs-control vjs-upcoming-video-title'
375
- });
376
- const container = dom.createEl('div', {
377
- className: 'vjs-upcoming-video-title-display',
378
- innerHTML: '<span class="vjs-control-text">Next up</span>Next up: '
379
- });
380
- this._contentSpan = dom.createEl('span', {
381
- className: 'vjs-upcoming-video-title-display-label'
382
- });
383
- container.appendChild(this._contentSpan);
384
- el.appendChild(container);
385
- return el;
386
- }
387
- }
388
- class UpcomingVideoOverlayBar extends Component {
389
- createEl() {
390
- return super.createEl('div', {
391
- className: 'vjs-upcoming-video-bar'
392
- });
393
- }
394
- }
395
- UpcomingVideoOverlay.prototype.options_ = {
396
- children: ['upcomingVideoOverlayContent']
397
- };
398
- video_js__WEBPACK_IMPORTED_MODULE_0___default().registerComponent('upcomingVideoOverlay', UpcomingVideoOverlay);
399
- UpcomingVideoOverlayContent.prototype.options_ = {
400
- children: ['upcomingVideoOverlayBar']
401
- };
402
- video_js__WEBPACK_IMPORTED_MODULE_0___default().registerComponent('upcomingVideoOverlayContent', UpcomingVideoOverlayContent);
403
- UpcomingVideoOverlayBar.prototype.options_ = {
404
- children: ['upcomingVideoOverlayTitle', 'playlistNextButton']
405
- };
406
- video_js__WEBPACK_IMPORTED_MODULE_0___default().registerComponent('upcomingVideoOverlayBar', UpcomingVideoOverlayBar);
407
- video_js__WEBPACK_IMPORTED_MODULE_0___default().registerComponent('upcomingVideoOverlayTitle', UpcomingVideoOverlayTitle);
408
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (UpcomingVideoOverlay);
78
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! video.js */ \"../node_modules/video.js/dist/alt/video.core-exposed.js\");\n/* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(video_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _upcoming_video_overlay_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./upcoming-video-overlay.scss */ \"./plugins/playlist/ui/components/upcoming-video-overlay.scss\");\n/* harmony import */ var utils_consts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! utils/consts */ \"./utils/consts.js\");\n\n\n\n\n// support VJS5 & VJS6 at the same time\nconst dom = (video_js__WEBPACK_IMPORTED_MODULE_0___default().dom) || (video_js__WEBPACK_IMPORTED_MODULE_0___default());\nconst Component = video_js__WEBPACK_IMPORTED_MODULE_0___default().getComponent('Component');\nconst ClickableComponent = video_js__WEBPACK_IMPORTED_MODULE_0___default().getComponent('ClickableComponent');\nclass UpcomingVideoOverlay extends ClickableComponent {\n static DISABLE_TRANSITION_CLASS = 'disable-transition';\n static VJS_UPCOMING_VIDEO_SHOW = 'vjs-upcoming-video-show';\n constructor(player) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n super(player, ...args);\n this._setEvents(player);\n }\n _setEvents(player) {\n player.on(utils_consts__WEBPACK_IMPORTED_MODULE_2__.PLAYER_EVENT.UP_COMING_VIDEO_SHOW, this._show);\n player.on(utils_consts__WEBPACK_IMPORTED_MODULE_2__.PLAYER_EVENT.UP_COMING_VIDEO_HIDE, this._hide);\n player.on(utils_consts__WEBPACK_IMPORTED_MODULE_2__.PLAYER_EVENT.PLAYLIST_ITEM_CHANGED, this._onPlaylistItemChange);\n }\n _hide = () => {\n this.removeClass(UpcomingVideoOverlay.VJS_UPCOMING_VIDEO_SHOW);\n };\n _disableTransition(block) {\n this.addClass(UpcomingVideoOverlay.DISABLE_TRANSITION_CLASS);\n block();\n this.removeClass(UpcomingVideoOverlay.DISABLE_TRANSITION_CLASS);\n }\n _onPlaylistItemChange = (_, event) => {\n this._hide();\n this._disableTransition(() => {\n if (event.next) {\n this.setItem(event.next);\n }\n });\n };\n _show = () => {\n const ima = this.player().ima;\n const adsManager = ima === 'object' && ima.getAdsManager();\n if (adsManager) {\n if (!adsManager.getCurrentAd() || adsManager.getCurrentAd().isLinear()) {\n this.addClass(UpcomingVideoOverlay.VJS_UPCOMING_VIDEO_SHOW);\n }\n } else {\n this.addClass(UpcomingVideoOverlay.VJS_UPCOMING_VIDEO_SHOW);\n }\n };\n setTitle(source) {\n const title = this.getChild('upcomingVideoOverlayContent').getChild('upcomingVideoOverlayBar').getChild('upcomingVideoOverlayTitle');\n title.setContent(source.info().title || source.publicId());\n }\n setItem(source) {\n this._source = source;\n const maxWidth = parseInt(window.getComputedStyle(this.el(), null).getPropertyValue('max-width'), 10);\n const maxHeight = Math.round(maxWidth * (9 / 16.0));\n const transformation = {\n crop: 'pad',\n background: 'auto:predominant',\n width: maxWidth,\n height: maxHeight\n };\n const content = this.getChild('upcomingVideoOverlayContent');\n this.setTitle(source);\n content.el().style.backgroundImage = `url(\"${this._source.poster().url({\n transformation\n })}\")`;\n }\n handleClick() {\n super.handleClick(event);\n this.player().cloudinary.playlist().playNext();\n }\n createEl() {\n return super.createEl('div', {\n className: 'vjs-upcoming-video'\n });\n }\n}\nclass UpcomingVideoOverlayContent extends Component {\n createEl() {\n // Content wraps image and bar\n return super.createEl('div', {\n className: 'upcoming-video-overlay aspect-ratio-content'\n });\n }\n}\nclass UpcomingVideoOverlayTitle extends Component {\n setContent(title) {\n this._contentSpan.innerText = title;\n }\n createEl() {\n const el = super.createEl('div', {\n className: 'vjs-control vjs-upcoming-video-title'\n });\n const container = dom.createEl('div', {\n className: 'vjs-upcoming-video-title-display',\n innerHTML: '<span class=\"vjs-control-text\">Next up</span>Next up: '\n });\n this._contentSpan = dom.createEl('span', {\n className: 'vjs-upcoming-video-title-display-label'\n });\n container.appendChild(this._contentSpan);\n el.appendChild(container);\n return el;\n }\n}\nclass UpcomingVideoOverlayBar extends Component {\n createEl() {\n return super.createEl('div', {\n className: 'vjs-upcoming-video-bar'\n });\n }\n}\nUpcomingVideoOverlay.prototype.options_ = {\n children: ['upcomingVideoOverlayContent']\n};\nvideo_js__WEBPACK_IMPORTED_MODULE_0___default().registerComponent('upcomingVideoOverlay', UpcomingVideoOverlay);\nUpcomingVideoOverlayContent.prototype.options_ = {\n children: ['upcomingVideoOverlayBar']\n};\nvideo_js__WEBPACK_IMPORTED_MODULE_0___default().registerComponent('upcomingVideoOverlayContent', UpcomingVideoOverlayContent);\nUpcomingVideoOverlayBar.prototype.options_ = {\n children: ['upcomingVideoOverlayTitle', 'playlistNextButton']\n};\nvideo_js__WEBPACK_IMPORTED_MODULE_0___default().registerComponent('upcomingVideoOverlayBar', UpcomingVideoOverlayBar);\nvideo_js__WEBPACK_IMPORTED_MODULE_0___default().registerComponent('upcomingVideoOverlayTitle', UpcomingVideoOverlayTitle);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (UpcomingVideoOverlay);\n\n//# sourceURL=webpack://cloudinary-video-player/./plugins/playlist/ui/components/upcoming-video-overlay.js?");
409
79
 
410
80
  /***/ }),
411
81
 
@@ -416,25 +86,7 @@ video_js__WEBPACK_IMPORTED_MODULE_0___default().registerComponent('upcomingVideo
416
86
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
417
87
 
418
88
  "use strict";
419
- __webpack_require__.r(__webpack_exports__);
420
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
421
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
422
- /* harmony export */ });
423
- /* harmony import */ var _playlist_layout__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./playlist-layout */ "./plugins/playlist/ui/layout/playlist-layout.js");
424
-
425
- class PlaylistLayoutCustom extends _playlist_layout__WEBPACK_IMPORTED_MODULE_0__["default"] {
426
- getCls() {
427
- let cls = super.getCls();
428
- cls.push('cld-plw-custom');
429
- return cls;
430
- }
431
- createEl() {
432
- const el = super.createEl();
433
- this.options_.renderTo.appendChild(el);
434
- return el;
435
- }
436
- }
437
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PlaylistLayoutCustom);
89
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _playlist_layout__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./playlist-layout */ \"./plugins/playlist/ui/layout/playlist-layout.js\");\n\nclass PlaylistLayoutCustom extends _playlist_layout__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n getCls() {\n let cls = super.getCls();\n cls.push('cld-plw-custom');\n return cls;\n }\n createEl() {\n const el = super.createEl();\n this.options_.renderTo.appendChild(el);\n return el;\n }\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PlaylistLayoutCustom);\n\n//# sourceURL=webpack://cloudinary-video-player/./plugins/playlist/ui/layout/playlist-layout-custom.js?");
438
90
 
439
91
  /***/ }),
440
92
 
@@ -445,24 +97,7 @@ class PlaylistLayoutCustom extends _playlist_layout__WEBPACK_IMPORTED_MODULE_0__
445
97
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
446
98
 
447
99
  "use strict";
448
- __webpack_require__.r(__webpack_exports__);
449
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
450
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
451
- /* harmony export */ });
452
- /* harmony import */ var _playlist_layout__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./playlist-layout */ "./plugins/playlist/ui/layout/playlist-layout.js");
453
-
454
- class PlaylistLayoutHorizontal extends _playlist_layout__WEBPACK_IMPORTED_MODULE_0__["default"] {
455
- constructor(player, options) {
456
- options.wrap = true;
457
- super(player, options);
458
- }
459
- getCls() {
460
- const cls = super.getCls();
461
- cls.push('cld-plw-horizontal');
462
- return cls;
463
- }
464
- }
465
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PlaylistLayoutHorizontal);
100
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _playlist_layout__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./playlist-layout */ \"./plugins/playlist/ui/layout/playlist-layout.js\");\n\nclass PlaylistLayoutHorizontal extends _playlist_layout__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(player, options) {\n options.wrap = true;\n super(player, options);\n }\n getCls() {\n const cls = super.getCls();\n cls.push('cld-plw-horizontal');\n return cls;\n }\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PlaylistLayoutHorizontal);\n\n//# sourceURL=webpack://cloudinary-video-player/./plugins/playlist/ui/layout/playlist-layout-horizontal.js?");
466
101
 
467
102
  /***/ }),
468
103
 
@@ -473,24 +108,7 @@ class PlaylistLayoutHorizontal extends _playlist_layout__WEBPACK_IMPORTED_MODULE
473
108
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
474
109
 
475
110
  "use strict";
476
- __webpack_require__.r(__webpack_exports__);
477
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
478
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
479
- /* harmony export */ });
480
- /* harmony import */ var _playlist_layout__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./playlist-layout */ "./plugins/playlist/ui/layout/playlist-layout.js");
481
-
482
- class PlaylistLayoutVertical extends _playlist_layout__WEBPACK_IMPORTED_MODULE_0__["default"] {
483
- constructor(player, options) {
484
- options.wrap = true;
485
- super(player, options);
486
- }
487
- getCls() {
488
- const cls = super.getCls();
489
- cls.push('cld-plw-vertical');
490
- return cls;
491
- }
492
- }
493
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PlaylistLayoutVertical);
111
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _playlist_layout__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./playlist-layout */ \"./plugins/playlist/ui/layout/playlist-layout.js\");\n\nclass PlaylistLayoutVertical extends _playlist_layout__WEBPACK_IMPORTED_MODULE_0__[\"default\"] {\n constructor(player, options) {\n options.wrap = true;\n super(player, options);\n }\n getCls() {\n const cls = super.getCls();\n cls.push('cld-plw-vertical');\n return cls;\n }\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PlaylistLayoutVertical);\n\n//# sourceURL=webpack://cloudinary-video-player/./plugins/playlist/ui/layout/playlist-layout-vertical.js?");
494
112
 
495
113
  /***/ }),
496
114
 
@@ -501,104 +119,7 @@ class PlaylistLayoutVertical extends _playlist_layout__WEBPACK_IMPORTED_MODULE_0
501
119
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
502
120
 
503
121
  "use strict";
504
- __webpack_require__.r(__webpack_exports__);
505
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
506
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
507
- /* harmony export */ });
508
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! video.js */ "../node_modules/video.js/dist/alt/video.core-exposed.js");
509
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(video_js__WEBPACK_IMPORTED_MODULE_0__);
510
- /* harmony import */ var utils_consts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! utils/consts */ "./utils/consts.js");
511
- /* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/dom */ "./plugins/playlist/utils/dom.js");
512
- /* harmony import */ var utils_css_prefix__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! utils/css-prefix */ "./utils/css-prefix.js");
513
-
514
-
515
-
516
-
517
- const dom = (video_js__WEBPACK_IMPORTED_MODULE_0___default().dom) || (video_js__WEBPACK_IMPORTED_MODULE_0___default());
518
- const Component = video_js__WEBPACK_IMPORTED_MODULE_0___default().getComponent('Component');
519
- const OPTIONS_DEFAULT = {
520
- wrap: false
521
- };
522
- class PlaylistLayout extends Component {
523
- constructor(player, options) {
524
- const layoutOptions = {
525
- ...OPTIONS_DEFAULT,
526
- ...options
527
- };
528
- super(player, layoutOptions);
529
- this.player_ = player;
530
- const fluidHandler = (e, fluid) => {
531
- this.options_.fluid = fluid;
532
- this.removeCls();
533
- this.setCls();
534
- };
535
- const wrapVideoWithLayout = () => {
536
- const el = this.el();
537
- this.videoWrap_ = dom.createEl('div', {
538
- className: 'cld-plw-col-player'
539
- });
540
- this.contentEl_ = this.contentEl_ = dom.createEl('div', {
541
- className: 'cld-plw-col-list'
542
- });
543
- (0,_utils_dom__WEBPACK_IMPORTED_MODULE_2__.wrap)(this.player().el(), el);
544
- el.appendChild(this.videoWrap_);
545
- el.appendChild(this.contentEl_);
546
- (0,_utils_dom__WEBPACK_IMPORTED_MODULE_2__.wrap)(this.player().el(), this.videoWrap_);
547
- };
548
- if (layoutOptions.wrap) {
549
- wrapVideoWithLayout();
550
- }
551
- player.on(utils_consts__WEBPACK_IMPORTED_MODULE_1__.PLAYER_EVENT.FLUID, fluidHandler);
552
- this.addChild(utils_consts__WEBPACK_IMPORTED_MODULE_1__.PLAYER_EVENT.PLAYLIST_PANEL, this.options_);
553
- this.setCls();
554
- this.dispose = () => {
555
- this.removeLayout();
556
- super.dispose();
557
- player.off(utils_consts__WEBPACK_IMPORTED_MODULE_1__.PLAYER_EVENT.FLUID, fluidHandler);
558
- };
559
- }
560
- getCls() {
561
- let cls = ['cld-video-player', 'cld-plw-layout'];
562
- cls.push((0,utils_css_prefix__WEBPACK_IMPORTED_MODULE_3__.skinClassPrefix)(this.player()));
563
- cls.push((0,utils_css_prefix__WEBPACK_IMPORTED_MODULE_3__.playerClassPrefix)(this.player()));
564
- if (this.options_.fluid) {
565
- cls.push('cld-plw-layout-fluid');
566
- }
567
- return cls;
568
- }
569
- setCls() {
570
- this.removeClass((0,utils_css_prefix__WEBPACK_IMPORTED_MODULE_3__.skinClassPrefix)(this.player()));
571
- this.getCls().forEach(cls => {
572
- this.addClass(cls);
573
- });
574
- }
575
- removeCls() {
576
- this.getCls().forEach(cls => {
577
- this.removeClass(cls);
578
- });
579
- }
580
- update(optionToChange, options) {
581
- this.options(options);
582
- this.removeChild('PlaylistPanel');
583
- this.addChild('PlaylistPanel', this.options_);
584
- this.trigger('playlistlayoutupdate');
585
- }
586
- removeLayout() {
587
- const parentElem = this.el().parentElement;
588
- if (parentElem) {
589
- parentElem.appendChild(this.player().el());
590
- }
591
- }
592
- createEl() {
593
- const el = super.createEl('div');
594
-
595
- // Apply font styles on wrapper div.
596
- el.style.fontFamily = this.player().el().style.fontFamily;
597
- return el;
598
- }
599
- }
600
- video_js__WEBPACK_IMPORTED_MODULE_0___default().registerComponent('playlistLayout', PlaylistLayout);
601
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PlaylistLayout);
122
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! video.js */ \"../node_modules/video.js/dist/alt/video.core-exposed.js\");\n/* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(video_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var utils_consts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! utils/consts */ \"./utils/consts.js\");\n/* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/dom */ \"./plugins/playlist/utils/dom.js\");\n/* harmony import */ var utils_css_prefix__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! utils/css-prefix */ \"./utils/css-prefix.js\");\n\n\n\n\nconst dom = (video_js__WEBPACK_IMPORTED_MODULE_0___default().dom) || (video_js__WEBPACK_IMPORTED_MODULE_0___default());\nconst Component = video_js__WEBPACK_IMPORTED_MODULE_0___default().getComponent('Component');\nconst OPTIONS_DEFAULT = {\n wrap: false\n};\nclass PlaylistLayout extends Component {\n constructor(player, options) {\n const layoutOptions = {\n ...OPTIONS_DEFAULT,\n ...options\n };\n super(player, layoutOptions);\n this.player_ = player;\n const fluidHandler = (e, fluid) => {\n this.options_.fluid = fluid;\n this.removeCls();\n this.setCls();\n };\n const wrapVideoWithLayout = () => {\n const el = this.el();\n this.videoWrap_ = dom.createEl('div', {\n className: 'cld-plw-col-player'\n });\n this.contentEl_ = this.contentEl_ = dom.createEl('div', {\n className: 'cld-plw-col-list'\n });\n (0,_utils_dom__WEBPACK_IMPORTED_MODULE_2__.wrap)(this.player().el(), el);\n el.appendChild(this.videoWrap_);\n el.appendChild(this.contentEl_);\n (0,_utils_dom__WEBPACK_IMPORTED_MODULE_2__.wrap)(this.player().el(), this.videoWrap_);\n };\n if (layoutOptions.wrap) {\n wrapVideoWithLayout();\n }\n player.on(utils_consts__WEBPACK_IMPORTED_MODULE_1__.PLAYER_EVENT.FLUID, fluidHandler);\n this.addChild(utils_consts__WEBPACK_IMPORTED_MODULE_1__.PLAYER_EVENT.PLAYLIST_PANEL, this.options_);\n this.setCls();\n this.dispose = () => {\n this.removeLayout();\n super.dispose();\n player.off(utils_consts__WEBPACK_IMPORTED_MODULE_1__.PLAYER_EVENT.FLUID, fluidHandler);\n };\n }\n getCls() {\n let cls = ['cld-video-player', 'cld-plw-layout'];\n cls.push((0,utils_css_prefix__WEBPACK_IMPORTED_MODULE_3__.skinClassPrefix)(this.player()));\n cls.push((0,utils_css_prefix__WEBPACK_IMPORTED_MODULE_3__.playerClassPrefix)(this.player()));\n if (this.options_.fluid) {\n cls.push('cld-plw-layout-fluid');\n }\n return cls;\n }\n setCls() {\n this.removeClass((0,utils_css_prefix__WEBPACK_IMPORTED_MODULE_3__.skinClassPrefix)(this.player()));\n this.getCls().forEach(cls => {\n this.addClass(cls);\n });\n }\n removeCls() {\n this.getCls().forEach(cls => {\n this.removeClass(cls);\n });\n }\n update(optionToChange, options) {\n this.options(options);\n this.removeChild('PlaylistPanel');\n this.addChild('PlaylistPanel', this.options_);\n this.trigger('playlistlayoutupdate');\n }\n removeLayout() {\n const parentElem = this.el().parentElement;\n if (parentElem) {\n parentElem.appendChild(this.player().el());\n }\n }\n createEl() {\n const el = super.createEl('div');\n\n // Apply font styles on wrapper div.\n el.style.fontFamily = this.player().el().style.fontFamily;\n return el;\n }\n}\nvideo_js__WEBPACK_IMPORTED_MODULE_0___default().registerComponent('playlistLayout', PlaylistLayout);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PlaylistLayout);\n\n//# sourceURL=webpack://cloudinary-video-player/./plugins/playlist/ui/layout/playlist-layout.js?");
602
123
 
603
124
  /***/ }),
604
125
 
@@ -609,81 +130,7 @@ video_js__WEBPACK_IMPORTED_MODULE_0___default().registerComponent('playlistLayou
609
130
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
610
131
 
611
132
  "use strict";
612
- __webpack_require__.r(__webpack_exports__);
613
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
614
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
615
- /* harmony export */ });
616
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! video.js */ "../node_modules/video.js/dist/alt/video.core-exposed.js");
617
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(video_js__WEBPACK_IMPORTED_MODULE_0__);
618
- /* harmony import */ var _thumbnail_thumbnail__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../thumbnail/thumbnail */ "./plugins/playlist/ui/thumbnail/thumbnail.js");
619
-
620
-
621
- const dom = (video_js__WEBPACK_IMPORTED_MODULE_0___default().dom) || (video_js__WEBPACK_IMPORTED_MODULE_0___default());
622
- const DEFAULT_OPTIONS = {
623
- source: null,
624
- next: false
625
- };
626
- class PlaylistPanelItem extends _thumbnail_thumbnail__WEBPACK_IMPORTED_MODULE_1__["default"] {
627
- constructor(player, initOptions) {
628
- const options = video_js__WEBPACK_IMPORTED_MODULE_0___default().obj.merge(DEFAULT_OPTIONS, initOptions);
629
- super(player, options);
630
- }
631
- handleClick(event) {
632
- super.handleClick(event);
633
- this.play();
634
- }
635
- play() {
636
- const item = this.getItem();
637
- const list = this.player().cloudinary.playlist().list();
638
- const index = list.indexOf(item);
639
- if (index === -1) {
640
- throw new Error('Invalid playlist item...');
641
- }
642
- this.player().cloudinary.playlist().playAtIndex(index);
643
- }
644
- isCurrent() {
645
- return this.options_.current;
646
- }
647
- getTitle() {
648
- return super.getTitle();
649
- }
650
- getDuration() {
651
- return super.getDuration();
652
- }
653
- createEl() {
654
- const el = super.createEl();
655
- el.classList.add('cld-plw-panel-item');
656
- const info = dom.createEl('div', {
657
- className: 'cld-plw-item-info-wrap'
658
- });
659
- const titleWrap = dom.createEl('div', {
660
- className: 'cld-plw-item-title'
661
- });
662
- if (this.isCurrent()) {
663
- el.classList.add('cld-plw-panel-item-active');
664
- const currEl = dom.createEl('span', {
665
- className: 'cld-plw-item-title-curr'
666
- }, {}, 'Now Playing: ');
667
- titleWrap.appendChild(currEl);
668
- }
669
- const title = dom.createEl('span', {
670
- className: 'cld-plw-item-title'
671
- }, {}, this.getTitle());
672
- titleWrap.appendChild(title);
673
- const duration = dom.createEl('div', {
674
- className: 'cld-plw-item-duration'
675
- }, {}, this.getDuration());
676
- info.appendChild(titleWrap);
677
- info.appendChild(duration);
678
- if (el) {
679
- el.appendChild(info);
680
- }
681
- el.appendChild(info);
682
- return el;
683
- }
684
- }
685
- video_js__WEBPACK_IMPORTED_MODULE_0___default().registerComponent('playlistPanelItem', PlaylistPanelItem);
686
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PlaylistPanelItem);
133
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! video.js */ \"../node_modules/video.js/dist/alt/video.core-exposed.js\");\n/* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(video_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _thumbnail_thumbnail__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../thumbnail/thumbnail */ \"./plugins/playlist/ui/thumbnail/thumbnail.js\");\n\n\nconst dom = (video_js__WEBPACK_IMPORTED_MODULE_0___default().dom) || (video_js__WEBPACK_IMPORTED_MODULE_0___default());\nconst DEFAULT_OPTIONS = {\n source: null,\n next: false\n};\nclass PlaylistPanelItem extends _thumbnail_thumbnail__WEBPACK_IMPORTED_MODULE_1__[\"default\"] {\n constructor(player, initOptions) {\n const options = video_js__WEBPACK_IMPORTED_MODULE_0___default().obj.merge(DEFAULT_OPTIONS, initOptions);\n super(player, options);\n }\n handleClick(event) {\n super.handleClick(event);\n this.play();\n }\n play() {\n const item = this.getItem();\n const list = this.player().cloudinary.playlist().list();\n const index = list.indexOf(item);\n if (index === -1) {\n throw new Error('Invalid playlist item...');\n }\n this.player().cloudinary.playlist().playAtIndex(index);\n }\n isCurrent() {\n return this.options_.current;\n }\n getTitle() {\n return super.getTitle();\n }\n getDuration() {\n return super.getDuration();\n }\n createEl() {\n const el = super.createEl();\n el.classList.add('cld-plw-panel-item');\n const info = dom.createEl('div', {\n className: 'cld-plw-item-info-wrap'\n });\n const titleWrap = dom.createEl('div', {\n className: 'cld-plw-item-title'\n });\n if (this.isCurrent()) {\n el.classList.add('cld-plw-panel-item-active');\n const currEl = dom.createEl('span', {\n className: 'cld-plw-item-title-curr'\n }, {}, 'Now Playing: ');\n titleWrap.appendChild(currEl);\n }\n const title = dom.createEl('span', {\n className: 'cld-plw-item-title'\n }, {}, this.getTitle());\n titleWrap.appendChild(title);\n const duration = dom.createEl('div', {\n className: 'cld-plw-item-duration'\n }, {}, this.getDuration());\n info.appendChild(titleWrap);\n info.appendChild(duration);\n if (el) {\n el.appendChild(info);\n }\n el.appendChild(info);\n return el;\n }\n}\nvideo_js__WEBPACK_IMPORTED_MODULE_0___default().registerComponent('playlistPanelItem', PlaylistPanelItem);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PlaylistPanelItem);\n\n//# sourceURL=webpack://cloudinary-video-player/./plugins/playlist/ui/panel/playlist-panel-item.js?");
687
134
 
688
135
  /***/ }),
689
136
 
@@ -694,82 +141,7 @@ video_js__WEBPACK_IMPORTED_MODULE_0___default().registerComponent('playlistPanel
694
141
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
695
142
 
696
143
  "use strict";
697
- __webpack_require__.r(__webpack_exports__);
698
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
699
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
700
- /* harmony export */ });
701
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! video.js */ "../node_modules/video.js/dist/alt/video.core-exposed.js");
702
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(video_js__WEBPACK_IMPORTED_MODULE_0__);
703
- /* harmony import */ var _playlist_panel_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./playlist-panel-item */ "./plugins/playlist/ui/panel/playlist-panel-item.js");
704
- /* harmony import */ var utils_consts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! utils/consts */ "./utils/consts.js");
705
-
706
-
707
-
708
- const Component = video_js__WEBPACK_IMPORTED_MODULE_0___default().getComponent('Component');
709
- class PlaylistPanel extends Component {
710
- constructor(player) {
711
- let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
712
- super(player, options);
713
- const itemChangeHandler = () => {
714
- this.render();
715
- };
716
- player.on(utils_consts__WEBPACK_IMPORTED_MODULE_2__.PLAYER_EVENT.PLAYLIST_ITEM_CHANGED, itemChangeHandler);
717
- this.render();
718
- this.dispose = () => {
719
- super.dispose();
720
- player.off(utils_consts__WEBPACK_IMPORTED_MODULE_2__.PLAYER_EVENT.PLAYLIST_ITEM_CHANGED, itemChangeHandler);
721
- };
722
- }
723
- createEl() {
724
- const el = super.createEl();
725
- el.classList.add('cld-plw-panel');
726
- return el;
727
- }
728
- removeAll() {
729
- const children = this.children();
730
- for (let i = children.length - 1; i >= 0; --i) {
731
- this.removeChild(children[i]);
732
- }
733
- }
734
- getItems() {
735
- const playlist = this.player().cloudinary.playlist();
736
- const repeat = playlist._repeat;
737
- if (this.options_.showAll) {
738
- return playlist.list();
739
- }
740
- const items = [];
741
- const numOfItems = this.options_.total;
742
- let index = playlist.currentIndex();
743
- let source = playlist.list()[index];
744
- items.push(source);
745
- while (items.length < numOfItems) {
746
- index = playlist.nextIndex(index);
747
- if (index === -1) {
748
- if (!repeat && items.length > 0) {
749
- break;
750
- }
751
- index = 0;
752
- }
753
- source = playlist.list()[index];
754
- items.push(source);
755
- }
756
- return items;
757
- }
758
- render() {
759
- const items = this.getItems();
760
- this.removeAll();
761
- items.forEach((source, index) => {
762
- const playlistItem = new _playlist_panel_item__WEBPACK_IMPORTED_MODULE_1__["default"](this.player(), video_js__WEBPACK_IMPORTED_MODULE_0___default().obj.merge(this.options_, {
763
- item: source,
764
- next: index === 1,
765
- current: index === 0
766
- }));
767
- this.addChild(playlistItem);
768
- });
769
- }
770
- }
771
- video_js__WEBPACK_IMPORTED_MODULE_0___default().registerComponent('playlistPanel', PlaylistPanel);
772
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PlaylistPanel);
144
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! video.js */ \"../node_modules/video.js/dist/alt/video.core-exposed.js\");\n/* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(video_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _playlist_panel_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./playlist-panel-item */ \"./plugins/playlist/ui/panel/playlist-panel-item.js\");\n/* harmony import */ var utils_consts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! utils/consts */ \"./utils/consts.js\");\n\n\n\nconst Component = video_js__WEBPACK_IMPORTED_MODULE_0___default().getComponent('Component');\nclass PlaylistPanel extends Component {\n constructor(player) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n super(player, options);\n const itemChangeHandler = () => {\n this.render();\n };\n player.on(utils_consts__WEBPACK_IMPORTED_MODULE_2__.PLAYER_EVENT.PLAYLIST_ITEM_CHANGED, itemChangeHandler);\n this.render();\n this.dispose = () => {\n super.dispose();\n player.off(utils_consts__WEBPACK_IMPORTED_MODULE_2__.PLAYER_EVENT.PLAYLIST_ITEM_CHANGED, itemChangeHandler);\n };\n }\n createEl() {\n const el = super.createEl();\n el.classList.add('cld-plw-panel');\n return el;\n }\n removeAll() {\n const children = this.children();\n for (let i = children.length - 1; i >= 0; --i) {\n this.removeChild(children[i]);\n }\n }\n getItems() {\n const playlist = this.player().cloudinary.playlist();\n const repeat = playlist._repeat;\n if (this.options_.showAll) {\n return playlist.list();\n }\n const items = [];\n const numOfItems = this.options_.total;\n let index = playlist.currentIndex();\n let source = playlist.list()[index];\n items.push(source);\n while (items.length < numOfItems) {\n index = playlist.nextIndex(index);\n if (index === -1) {\n if (!repeat && items.length > 0) {\n break;\n }\n index = 0;\n }\n source = playlist.list()[index];\n items.push(source);\n }\n return items;\n }\n render() {\n const items = this.getItems();\n this.removeAll();\n items.forEach((source, index) => {\n const playlistItem = new _playlist_panel_item__WEBPACK_IMPORTED_MODULE_1__[\"default\"](this.player(), video_js__WEBPACK_IMPORTED_MODULE_0___default().obj.merge(this.options_, {\n item: source,\n next: index === 1,\n current: index === 0\n }));\n this.addChild(playlistItem);\n });\n }\n}\nvideo_js__WEBPACK_IMPORTED_MODULE_0___default().registerComponent('playlistPanel', PlaylistPanel);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PlaylistPanel);\n\n//# sourceURL=webpack://cloudinary-video-player/./plugins/playlist/ui/panel/playlist-panel.js?");
773
145
 
774
146
  /***/ }),
775
147
 
@@ -780,118 +152,7 @@ video_js__WEBPACK_IMPORTED_MODULE_0___default().registerComponent('playlistPanel
780
152
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
781
153
 
782
154
  "use strict";
783
- __webpack_require__.r(__webpack_exports__);
784
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
785
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
786
- /* harmony export */ });
787
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! video.js */ "../node_modules/video.js/dist/alt/video.core-exposed.js");
788
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(video_js__WEBPACK_IMPORTED_MODULE_0__);
789
- /* harmony import */ var utils_consts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! utils/consts */ "./utils/consts.js");
790
- /* harmony import */ var _layout_playlist_layout_horizontal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./layout/playlist-layout-horizontal */ "./plugins/playlist/ui/layout/playlist-layout-horizontal.js");
791
- /* harmony import */ var _layout_playlist_layout_vertical__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./layout/playlist-layout-vertical */ "./plugins/playlist/ui/layout/playlist-layout-vertical.js");
792
- /* harmony import */ var _layout_playlist_layout_custom__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./layout/playlist-layout-custom */ "./plugins/playlist/ui/layout/playlist-layout-custom.js");
793
- /* harmony import */ var _playlist_const__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./playlist.const */ "./plugins/playlist/ui/playlist.const.js");
794
-
795
-
796
-
797
-
798
-
799
-
800
- const modifyOptions = (player, opt) => {
801
- const options = {
802
- ..._playlist_const__WEBPACK_IMPORTED_MODULE_5__.PLAYLIST_DEFAULTS_OPTIONS,
803
- ...opt
804
- };
805
- if (options.show && typeof options.selector === 'string') {
806
- options.useDefaultLayout = false;
807
- options.useCustomLayout = true;
808
- options.renderTo = document.querySelector(options.selector);
809
- options.showAll = true;
810
- if (!options.renderTo.length === 0) {
811
- throw new Error(`Couldn't find element(s) by selector '${options.selector}' for playlist`);
812
- }
813
- }
814
- if (options.show && !options.selector) {
815
- options.useDefaultLayout = true;
816
- options.useCustomLayout = false;
817
- }
818
- options.direction = options.direction.toLowerCase() === 'horizontal' ? 'horizontal' : 'vertical';
819
- options.skin = player.options_.skin;
820
- return options;
821
- };
822
- class PlaylistWidget {
823
- constructor(player) {
824
- let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
825
- options = modifyOptions(player, options);
826
- this.options_ = options;
827
- this.player_ = player;
828
- this.render();
829
- const fluidHandler = (e, fluid) => {
830
- this.options_.fluid = fluid;
831
- };
832
- player.on(utils_consts__WEBPACK_IMPORTED_MODULE_1__.PLAYER_EVENT.FLUID, fluidHandler);
833
- this.options = options => {
834
- if (!options) {
835
- return this.options_;
836
- }
837
- this.options_ = video_js__WEBPACK_IMPORTED_MODULE_0___default().obj.merge(this.options_, options);
838
- player.trigger('playlistwidgetoption', this.options_.playlistWidget);
839
- return this.options_;
840
- };
841
- this.dispose = () => {
842
- this.layout_.dispose();
843
- player.off(utils_consts__WEBPACK_IMPORTED_MODULE_1__.PLAYER_EVENT.FLUID, fluidHandler);
844
- };
845
- }
846
- render() {
847
- if (this.options_.useDefaultLayout) {
848
- if (this.options_.direction === 'horizontal') {
849
- this.layout_ = new _layout_playlist_layout_horizontal__WEBPACK_IMPORTED_MODULE_2__["default"](this.player_, this.options_);
850
- } else {
851
- this.layout_ = new _layout_playlist_layout_vertical__WEBPACK_IMPORTED_MODULE_3__["default"](this.player_, this.options_);
852
- }
853
- }
854
- if (this.options_.useCustomLayout) {
855
- this.layout_ = new _layout_playlist_layout_custom__WEBPACK_IMPORTED_MODULE_4__["default"](this.player_, this.options_);
856
- }
857
- }
858
- getLayout() {
859
- return this.layout_;
860
- }
861
- update(optionName, optionValue) {
862
- this.options(optionValue);
863
- if (optionName === 'direction') {
864
- this.layout_.removeLayout();
865
- this.layout_.dispose();
866
- this.render();
867
- } else {
868
- this.layout_.update(optionName, this.options_);
869
- }
870
- }
871
- setSkin() {
872
- this.layout_.setCls();
873
- }
874
- total() {
875
- let totalNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _playlist_const__WEBPACK_IMPORTED_MODULE_5__.PLAYLIST_DEFAULTS_OPTIONS.total;
876
- const total = parseInt(totalNumber, 10);
877
- if (total !== this.options_.total && typeof total === 'number' && total > 0) {
878
- this.update('total', {
879
- total: total
880
- });
881
- }
882
- return this;
883
- }
884
- direction() {
885
- let direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _playlist_const__WEBPACK_IMPORTED_MODULE_5__.PLAYLIST_DEFAULTS_OPTIONS.direction;
886
- if (direction === 'horizontal' || direction === 'vertical') {
887
- this.update('direction', {
888
- direction: direction
889
- });
890
- }
891
- return this;
892
- }
893
- }
894
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PlaylistWidget);
155
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! video.js */ \"../node_modules/video.js/dist/alt/video.core-exposed.js\");\n/* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(video_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var utils_consts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! utils/consts */ \"./utils/consts.js\");\n/* harmony import */ var _layout_playlist_layout_horizontal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./layout/playlist-layout-horizontal */ \"./plugins/playlist/ui/layout/playlist-layout-horizontal.js\");\n/* harmony import */ var _layout_playlist_layout_vertical__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./layout/playlist-layout-vertical */ \"./plugins/playlist/ui/layout/playlist-layout-vertical.js\");\n/* harmony import */ var _layout_playlist_layout_custom__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./layout/playlist-layout-custom */ \"./plugins/playlist/ui/layout/playlist-layout-custom.js\");\n/* harmony import */ var _playlist_const__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./playlist.const */ \"./plugins/playlist/ui/playlist.const.js\");\n\n\n\n\n\n\nconst modifyOptions = (player, opt) => {\n const options = {\n ..._playlist_const__WEBPACK_IMPORTED_MODULE_5__.PLAYLIST_DEFAULTS_OPTIONS,\n ...opt\n };\n if (options.show && typeof options.selector === 'string') {\n options.useDefaultLayout = false;\n options.useCustomLayout = true;\n options.renderTo = document.querySelector(options.selector);\n options.showAll = true;\n if (!options.renderTo.length === 0) {\n throw new Error(`Couldn't find element(s) by selector '${options.selector}' for playlist`);\n }\n }\n if (options.show && !options.selector) {\n options.useDefaultLayout = true;\n options.useCustomLayout = false;\n }\n options.direction = options.direction.toLowerCase() === 'horizontal' ? 'horizontal' : 'vertical';\n options.skin = player.options_.skin;\n return options;\n};\nclass PlaylistWidget {\n constructor(player) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n options = modifyOptions(player, options);\n this.options_ = options;\n this.player_ = player;\n this.render();\n const fluidHandler = (e, fluid) => {\n this.options_.fluid = fluid;\n };\n player.on(utils_consts__WEBPACK_IMPORTED_MODULE_1__.PLAYER_EVENT.FLUID, fluidHandler);\n this.options = options => {\n if (!options) {\n return this.options_;\n }\n this.options_ = video_js__WEBPACK_IMPORTED_MODULE_0___default().obj.merge(this.options_, options);\n player.trigger('playlistwidgetoption', this.options_.playlistWidget);\n return this.options_;\n };\n this.dispose = () => {\n this.layout_.dispose();\n player.off(utils_consts__WEBPACK_IMPORTED_MODULE_1__.PLAYER_EVENT.FLUID, fluidHandler);\n };\n }\n render() {\n if (this.options_.useDefaultLayout) {\n if (this.options_.direction === 'horizontal') {\n this.layout_ = new _layout_playlist_layout_horizontal__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this.player_, this.options_);\n } else {\n this.layout_ = new _layout_playlist_layout_vertical__WEBPACK_IMPORTED_MODULE_3__[\"default\"](this.player_, this.options_);\n }\n }\n if (this.options_.useCustomLayout) {\n this.layout_ = new _layout_playlist_layout_custom__WEBPACK_IMPORTED_MODULE_4__[\"default\"](this.player_, this.options_);\n }\n }\n getLayout() {\n return this.layout_;\n }\n update(optionName, optionValue) {\n this.options(optionValue);\n if (optionName === 'direction') {\n this.layout_.removeLayout();\n this.layout_.dispose();\n this.render();\n } else {\n this.layout_.update(optionName, this.options_);\n }\n }\n setSkin() {\n this.layout_.setCls();\n }\n total() {\n let totalNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _playlist_const__WEBPACK_IMPORTED_MODULE_5__.PLAYLIST_DEFAULTS_OPTIONS.total;\n const total = parseInt(totalNumber, 10);\n if (total !== this.options_.total && typeof total === 'number' && total > 0) {\n this.update('total', {\n total: total\n });\n }\n return this;\n }\n direction() {\n let direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _playlist_const__WEBPACK_IMPORTED_MODULE_5__.PLAYLIST_DEFAULTS_OPTIONS.direction;\n if (direction === 'horizontal' || direction === 'vertical') {\n this.update('direction', {\n direction: direction\n });\n }\n return this;\n }\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PlaylistWidget);\n\n//# sourceURL=webpack://cloudinary-video-player/./plugins/playlist/ui/playlist-widget.js?");
895
156
 
896
157
  /***/ }),
897
158
 
@@ -902,24 +163,7 @@ class PlaylistWidget {
902
163
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
903
164
 
904
165
  "use strict";
905
- __webpack_require__.r(__webpack_exports__);
906
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
907
- /* harmony export */ DEFAULT_AUTO_ADVANCE: () => (/* binding */ DEFAULT_AUTO_ADVANCE),
908
- /* harmony export */ DEFAULT_PRESENT_UPCOMING: () => (/* binding */ DEFAULT_PRESENT_UPCOMING),
909
- /* harmony export */ PLAYLIST_DEFAULTS_OPTIONS: () => (/* binding */ PLAYLIST_DEFAULTS_OPTIONS),
910
- /* harmony export */ UPCOMING_VIDEO_TRANSITION: () => (/* binding */ UPCOMING_VIDEO_TRANSITION)
911
- /* harmony export */ });
912
- const DEFAULT_AUTO_ADVANCE = 0;
913
- const DEFAULT_PRESENT_UPCOMING = 10;
914
- const UPCOMING_VIDEO_TRANSITION = 1;
915
- const PLAYLIST_DEFAULTS_OPTIONS = {
916
- fluid: false,
917
- show: true,
918
- direction: 'vertical',
919
- total: 4,
920
- selector: false,
921
- renderTo: []
922
- };
166
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DEFAULT_AUTO_ADVANCE: () => (/* binding */ DEFAULT_AUTO_ADVANCE),\n/* harmony export */ DEFAULT_PRESENT_UPCOMING: () => (/* binding */ DEFAULT_PRESENT_UPCOMING),\n/* harmony export */ PLAYLIST_DEFAULTS_OPTIONS: () => (/* binding */ PLAYLIST_DEFAULTS_OPTIONS),\n/* harmony export */ UPCOMING_VIDEO_TRANSITION: () => (/* binding */ UPCOMING_VIDEO_TRANSITION)\n/* harmony export */ });\nconst DEFAULT_AUTO_ADVANCE = 0;\nconst DEFAULT_PRESENT_UPCOMING = 10;\nconst UPCOMING_VIDEO_TRANSITION = 1;\nconst PLAYLIST_DEFAULTS_OPTIONS = {\n fluid: false,\n show: true,\n direction: 'vertical',\n total: 4,\n selector: false,\n renderTo: []\n};\n\n//# sourceURL=webpack://cloudinary-video-player/./plugins/playlist/ui/playlist.const.js?");
923
167
 
924
168
  /***/ }),
925
169
 
@@ -930,355 +174,7 @@ const PLAYLIST_DEFAULTS_OPTIONS = {
930
174
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
931
175
 
932
176
  "use strict";
933
- __webpack_require__.r(__webpack_exports__);
934
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
935
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
936
- /* harmony export */ });
937
- /* harmony import */ var plugins_cloudinary_models_video_source_video_source__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! plugins/cloudinary/models/video-source/video-source */ "./plugins/cloudinary/models/video-source/video-source.js");
938
- /* harmony import */ var lodash_isInteger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/isInteger */ "../node_modules/lodash/isInteger.js");
939
- /* harmony import */ var lodash_isInteger__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_isInteger__WEBPACK_IMPORTED_MODULE_1__);
940
- /* harmony import */ var _components_upcoming_video_overlay__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/upcoming-video-overlay */ "./plugins/playlist/ui/components/upcoming-video-overlay.js");
941
- /* harmony import */ var _components_playlist_buttons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/playlist-buttons */ "./plugins/playlist/ui/components/playlist-buttons.js");
942
- /* harmony import */ var _playlist_const__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./playlist.const */ "./plugins/playlist/ui/playlist.const.js");
943
- /* harmony import */ var _playlist_scss__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./playlist.scss */ "./plugins/playlist/ui/playlist.scss");
944
-
945
-
946
-
947
-
948
-
949
-
950
- class Playlist {
951
- constructor(context) {
952
- let sources = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
953
- let {
954
- repeat = false,
955
- autoAdvance = false,
956
- presentUpcoming = false
957
- } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
958
- this._context = context;
959
- this._sources = [];
960
- this._defaultRecResolverCache = {};
961
- this._currentIndex = null;
962
- this._recommendationsHandler = null;
963
- this._autoAdvance = null;
964
- this._presentUpcoming = null;
965
- this.addUiComponents();
966
- this.resetState = () => {
967
- this.repeat(repeat);
968
- this.autoAdvance(autoAdvance);
969
- this.presentUpcoming(presentUpcoming);
970
- };
971
- sources.forEach(source => this.enqueue(source));
972
- this.resetState();
973
- }
974
- list() {
975
- return this._sources;
976
- }
977
- player() {
978
- return this._context.player;
979
- }
980
- addUiComponents() {
981
- const controlBar = this.player().getChild('ControlBar');
982
- const children = controlBar.children();
983
- controlBar.addChild('playlistPreviousButton', {}, children.findIndex(c => c.name_ === 'PlayToggle'));
984
- controlBar.addChild('playlistNextButton', {}, children.findIndex(c => c.name_ === 'PlayToggle') + 1);
985
- this.player().addChild('upcomingVideoOverlay');
986
- }
987
- presentUpcoming(delay) {
988
- this._presentUpcoming = this._presentUpcoming || {};
989
- if (delay === undefined) {
990
- return this._presentUpcoming.delay;
991
- }
992
- if (delay === true) {
993
- delay = _playlist_const__WEBPACK_IMPORTED_MODULE_4__.DEFAULT_PRESENT_UPCOMING;
994
- } else if (delay === false) {
995
- delay = false;
996
- } else if (!lodash_isInteger__WEBPACK_IMPORTED_MODULE_1___default()(delay) || delay < 0) {
997
- throw new Error('presentUpcoming \'delay\' must be either a boolean or a positive integer.');
998
- }
999
- this._presentUpcoming.delay = delay;
1000
- this._setupPresentUpcoming();
1001
- return this._presentUpcoming.delay;
1002
- }
1003
- autoAdvance(delay) {
1004
- this._autoAdvance = this._autoAdvance || {};
1005
- if (delay === undefined) {
1006
- return this._autoAdvance.delay;
1007
- }
1008
- if (delay === true) {
1009
- delay = _playlist_const__WEBPACK_IMPORTED_MODULE_4__.DEFAULT_AUTO_ADVANCE;
1010
- } else if (delay === false) {
1011
- delay = false;
1012
- } else if (!lodash_isInteger__WEBPACK_IMPORTED_MODULE_1___default()(delay) || delay < 0) {
1013
- throw new Error('Auto advance \'delay\' must be either a boolean or a positive integer.');
1014
- }
1015
- this._autoAdvance.delay = delay;
1016
- this._setupAutoAdvance();
1017
- return this._autoAdvance.delay;
1018
- }
1019
- _setupAutoAdvance() {
1020
- this._resetAutoAdvance();
1021
- const delay = this._autoAdvance.delay;
1022
- if (delay === false) {
1023
- return;
1024
- }
1025
- const trigger = () => {
1026
- if (this.player().ended()) {
1027
- this._autoAdvance.timeout = setTimeout(() => {
1028
- this.playNext();
1029
- }, delay * 1000);
1030
- }
1031
- };
1032
- this._autoAdvance = {
1033
- delay,
1034
- trigger
1035
- };
1036
- this._context.on('ended', this._autoAdvance.trigger);
1037
- }
1038
- dispose() {
1039
- this._resetAutoAdvance();
1040
- this._resetPresentUpcoming();
1041
- this._resetRecommendations();
1042
- }
1043
- _resetPresentUpcoming() {
1044
- this.player().trigger('upcomingvideohide');
1045
- if (!this._presentUpcoming) {
1046
- this._presentUpcoming = {};
1047
- }
1048
- if (this._presentUpcoming.trigger) {
1049
- this._context.off('timeupdate', this._presentUpcoming.trigger);
1050
- }
1051
- this._presentUpcoming.trigger = null;
1052
- this._presentUpcoming.showTriggered = false;
1053
- }
1054
- _setupPresentUpcoming() {
1055
- this._resetPresentUpcoming();
1056
- const delay = this._presentUpcoming.delay;
1057
- if (delay === false) {
1058
- return;
1059
- }
1060
- this._presentUpcoming.trigger = () => {
1061
- const currentTime = this.player().currentTime();
1062
- const duration = this.player().duration();
1063
- const remainingTime = duration - currentTime;
1064
- if (remainingTime < _playlist_const__WEBPACK_IMPORTED_MODULE_4__.UPCOMING_VIDEO_TRANSITION + 0.5) {
1065
- if (this._presentUpcoming.showTriggered) {
1066
- this.player().trigger('upcomingvideohide');
1067
- this._presentUpcoming.showTriggered = false;
1068
- }
1069
- } else if (remainingTime <= this._presentUpcoming.delay && !this._presentUpcoming.showTriggered && !this.player().loop()) {
1070
- this.player().trigger('upcomingvideoshow');
1071
- this._presentUpcoming.showTriggered = true;
1072
- } else if (this._presentUpcoming.showTriggered && (remainingTime > this._presentUpcoming.delay || this.player().loop())) {
1073
- this.player().trigger('upcomingvideohide');
1074
- this._presentUpcoming.showTriggered = false;
1075
- }
1076
- };
1077
- this._context.on('timeupdate', this._presentUpcoming.trigger);
1078
- }
1079
- _resetAutoAdvance() {
1080
- if (!this._autoAdvance) {
1081
- this._autoAdvance = {};
1082
- }
1083
- if (this._autoAdvance.timeout) {
1084
- clearTimeout(this._autoAdvance.timeout);
1085
- }
1086
- if (this._autoAdvance.trigger) {
1087
- this._context.off('ended', this._autoAdvance.trigger);
1088
- }
1089
- this._autoAdvance.timeout = null;
1090
- this._autoAdvance.trigger = null;
1091
- }
1092
- _resetRecommendations() {
1093
- if (this._recommendationsHandler) {
1094
- this._context.off('ended', this._recommendationsHandler);
1095
- }
1096
- }
1097
- _refreshRecommendations() {
1098
- this._resetRecommendations();
1099
- this._recommendationsHandler = () => {
1100
- if (this.autoAdvance() === false && this._context.autoShowRecommendations()) {
1101
- this.player().trigger('recommendationsshow');
1102
- }
1103
- };
1104
- this._context.on('ended', this._recommendationsHandler);
1105
- }
1106
- _refreshTextTracks() {
1107
- this.player().trigger('refreshTextTracks', this.currentSource().textTracks());
1108
- }
1109
- _recommendationItemBuilder(source) {
1110
- const defaultResolver = this._defaultRecResolverCache[source.objectId];
1111
- if (source.recommendations() && (!defaultResolver || source.recommendations() !== defaultResolver)) {
1112
- return;
1113
- }
1114
- return source => ({
1115
- source,
1116
- action: () => this.playItem(source)
1117
- });
1118
- }
1119
- currentIndex(index) {
1120
- if (index === undefined) {
1121
- return this._currentIndex;
1122
- }
1123
- if (index >= this.length() || index < 0) {
1124
- throw new Error('Invalid playlist index.');
1125
- }
1126
- this._currentIndex = index;
1127
- const current = this.currentSource();
1128
- const itemBuilder = this._recommendationItemBuilder(current);
1129
- if (!current.recommendations()) {
1130
- current.recommendations(this._defaultRecommendationsResolver(current));
1131
- }
1132
- this._context.source(current, {
1133
- recommendationOptions: {
1134
- disableAutoShow: true,
1135
- itemBuilder
1136
- }
1137
- });
1138
- const eventData = {
1139
- playlist: this,
1140
- current,
1141
- next: this.next()
1142
- };
1143
- this.player().trigger('playlistitemchanged', eventData);
1144
- this._refreshRecommendations();
1145
- this._refreshTextTracks();
1146
- return current;
1147
- }
1148
- _defaultRecommendationsResolver(source) {
1149
- const defaultResolver = this._defaultRecResolverCache[source.objectId];
1150
- if (defaultResolver) {
1151
- return defaultResolver;
1152
- }
1153
- this._defaultRecResolverCache[source.objectId] = () => {
1154
- let index = this.list().indexOf(source);
1155
- const items = [];
1156
- const numOfItems = Math.min(4, this.length() - 1);
1157
- while (items.length < numOfItems) {
1158
- index = this.nextIndex(index);
1159
- if (index === -1) {
1160
- break;
1161
- }
1162
- const source = this.list()[index];
1163
- items.push(source);
1164
- }
1165
- return items;
1166
- };
1167
- return this._defaultRecResolverCache[source.objectId];
1168
- }
1169
- buildSource(source) {
1170
- let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1171
- return this._context.buildSource(source, options);
1172
- }
1173
- enqueue(source) {
1174
- let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1175
- const src = source instanceof plugins_cloudinary_models_video_source_video_source__WEBPACK_IMPORTED_MODULE_0__["default"] ? source : this.buildSource(source, options);
1176
- this._sources.push(src);
1177
- return src;
1178
- }
1179
- playItem(item) {
1180
- let index = this.list().indexOf(item);
1181
- if (index === -1) {
1182
- throw new Error('Invalid playlist item.');
1183
- }
1184
- this.playAtIndex(index);
1185
- }
1186
- playAtIndex(index) {
1187
- this.currentIndex(index);
1188
- this.player().play();
1189
- return this.currentSource();
1190
- }
1191
- currentSource() {
1192
- return this.list()[this.currentIndex()];
1193
- }
1194
- removeAt(index) {
1195
- if (index >= this.length() || index < 0) {
1196
- throw new Error('Invalid playlist index.');
1197
- }
1198
- this._sources.splice(index, 1);
1199
- return this;
1200
- }
1201
- repeat(repeat) {
1202
- if (repeat === undefined) {
1203
- return this._repeat;
1204
- }
1205
- this._repeat = !!repeat;
1206
- return this._repeat;
1207
- }
1208
- first() {
1209
- return this.list()[0];
1210
- }
1211
- last() {
1212
- return this.list()[this.length() - 1];
1213
- }
1214
- next() {
1215
- const nextIndex = this.nextIndex();
1216
- if (nextIndex === -1) {
1217
- return null;
1218
- }
1219
- return this.list()[nextIndex];
1220
- }
1221
- nextIndex(index) {
1222
- index = index !== undefined ? index : this.currentIndex();
1223
- if (index >= this.length() || index < 0) {
1224
- throw new Error('Invalid playlist index.');
1225
- }
1226
- const isLast = index === this.length() - 1;
1227
- let nextIndex = index + 1;
1228
- if (isLast) {
1229
- if (this.repeat()) {
1230
- nextIndex = 0;
1231
- } else {
1232
- return -1;
1233
- }
1234
- }
1235
- return nextIndex;
1236
- }
1237
- previousIndex() {
1238
- if (this.isFirst()) {
1239
- return -1;
1240
- }
1241
- return this.currentIndex() - 1;
1242
- }
1243
- playFirst() {
1244
- return this.playAtIndex(0);
1245
- }
1246
- playLast() {
1247
- const lastIndex = this.list().length - 1;
1248
- return this.playAtIndex(lastIndex);
1249
- }
1250
- isLast() {
1251
- return this.currentIndex() >= this.length() - 1;
1252
- }
1253
- isFirst() {
1254
- return this.currentIndex() === 0;
1255
- }
1256
- length() {
1257
- return this.list().length;
1258
- }
1259
- playNext() {
1260
- let nextIndex = this.nextIndex();
1261
- if (nextIndex === -1) {
1262
- return null;
1263
- }
1264
- return this.playAtIndex(nextIndex);
1265
- }
1266
- playPrevious() {
1267
- let previousIndex = this.previousIndex();
1268
- if (previousIndex === -1) {
1269
- return null;
1270
- }
1271
- return this.playAtIndex(previousIndex);
1272
- }
1273
- playlistByTag = (() => {
1274
- var _this = this;
1275
- return function (tag) {
1276
- let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1277
- return _this.player().sourcesByTag(tag, options).then(sources => _this.player().playlist(sources, options));
1278
- };
1279
- })();
1280
- }
1281
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Playlist);
177
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var plugins_cloudinary_models_video_source_video_source__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! plugins/cloudinary/models/video-source/video-source */ \"./plugins/cloudinary/models/video-source/video-source.js\");\n/* harmony import */ var lodash_isInteger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/isInteger */ \"../node_modules/lodash/isInteger.js\");\n/* harmony import */ var lodash_isInteger__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_isInteger__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _components_upcoming_video_overlay__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/upcoming-video-overlay */ \"./plugins/playlist/ui/components/upcoming-video-overlay.js\");\n/* harmony import */ var _components_playlist_buttons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/playlist-buttons */ \"./plugins/playlist/ui/components/playlist-buttons.js\");\n/* harmony import */ var _playlist_const__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./playlist.const */ \"./plugins/playlist/ui/playlist.const.js\");\n/* harmony import */ var _playlist_scss__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./playlist.scss */ \"./plugins/playlist/ui/playlist.scss\");\n\n\n\n\n\n\nclass Playlist {\n constructor(context) {\n let sources = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n let {\n repeat = false,\n autoAdvance = false,\n presentUpcoming = false\n } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this._context = context;\n this._sources = [];\n this._defaultRecResolverCache = {};\n this._currentIndex = null;\n this._recommendationsHandler = null;\n this._autoAdvance = null;\n this._presentUpcoming = null;\n this.addUiComponents();\n this.resetState = () => {\n this.repeat(repeat);\n this.autoAdvance(autoAdvance);\n this.presentUpcoming(presentUpcoming);\n };\n sources.forEach(source => this.enqueue(source));\n this.resetState();\n }\n list() {\n return this._sources;\n }\n player() {\n return this._context.player;\n }\n addUiComponents() {\n const controlBar = this.player().getChild('ControlBar');\n const children = controlBar.children();\n controlBar.addChild('playlistPreviousButton', {}, children.findIndex(c => c.name_ === 'PlayToggle'));\n controlBar.addChild('playlistNextButton', {}, children.findIndex(c => c.name_ === 'PlayToggle') + 1);\n this.player().addChild('upcomingVideoOverlay');\n }\n presentUpcoming(delay) {\n this._presentUpcoming = this._presentUpcoming || {};\n if (delay === undefined) {\n return this._presentUpcoming.delay;\n }\n if (delay === true) {\n delay = _playlist_const__WEBPACK_IMPORTED_MODULE_4__.DEFAULT_PRESENT_UPCOMING;\n } else if (delay === false) {\n delay = false;\n } else if (!lodash_isInteger__WEBPACK_IMPORTED_MODULE_1___default()(delay) || delay < 0) {\n throw new Error('presentUpcoming \\'delay\\' must be either a boolean or a positive integer.');\n }\n this._presentUpcoming.delay = delay;\n this._setupPresentUpcoming();\n return this._presentUpcoming.delay;\n }\n autoAdvance(delay) {\n this._autoAdvance = this._autoAdvance || {};\n if (delay === undefined) {\n return this._autoAdvance.delay;\n }\n if (delay === true) {\n delay = _playlist_const__WEBPACK_IMPORTED_MODULE_4__.DEFAULT_AUTO_ADVANCE;\n } else if (delay === false) {\n delay = false;\n } else if (!lodash_isInteger__WEBPACK_IMPORTED_MODULE_1___default()(delay) || delay < 0) {\n throw new Error('Auto advance \\'delay\\' must be either a boolean or a positive integer.');\n }\n this._autoAdvance.delay = delay;\n this._setupAutoAdvance();\n return this._autoAdvance.delay;\n }\n _setupAutoAdvance() {\n this._resetAutoAdvance();\n const delay = this._autoAdvance.delay;\n if (delay === false) {\n return;\n }\n const trigger = () => {\n if (this.player().ended()) {\n this._autoAdvance.timeout = setTimeout(() => {\n this.playNext();\n }, delay * 1000);\n }\n };\n this._autoAdvance = {\n delay,\n trigger\n };\n this._context.on('ended', this._autoAdvance.trigger);\n }\n dispose() {\n this._resetAutoAdvance();\n this._resetPresentUpcoming();\n this._resetRecommendations();\n }\n _resetPresentUpcoming() {\n this.player().trigger('upcomingvideohide');\n if (!this._presentUpcoming) {\n this._presentUpcoming = {};\n }\n if (this._presentUpcoming.trigger) {\n this._context.off('timeupdate', this._presentUpcoming.trigger);\n }\n this._presentUpcoming.trigger = null;\n this._presentUpcoming.showTriggered = false;\n }\n _setupPresentUpcoming() {\n this._resetPresentUpcoming();\n const delay = this._presentUpcoming.delay;\n if (delay === false) {\n return;\n }\n this._presentUpcoming.trigger = () => {\n const currentTime = this.player().currentTime();\n const duration = this.player().duration();\n const remainingTime = duration - currentTime;\n if (remainingTime < _playlist_const__WEBPACK_IMPORTED_MODULE_4__.UPCOMING_VIDEO_TRANSITION + 0.5) {\n if (this._presentUpcoming.showTriggered) {\n this.player().trigger('upcomingvideohide');\n this._presentUpcoming.showTriggered = false;\n }\n } else if (remainingTime <= this._presentUpcoming.delay && !this._presentUpcoming.showTriggered && !this.player().loop()) {\n this.player().trigger('upcomingvideoshow');\n this._presentUpcoming.showTriggered = true;\n } else if (this._presentUpcoming.showTriggered && (remainingTime > this._presentUpcoming.delay || this.player().loop())) {\n this.player().trigger('upcomingvideohide');\n this._presentUpcoming.showTriggered = false;\n }\n };\n this._context.on('timeupdate', this._presentUpcoming.trigger);\n }\n _resetAutoAdvance() {\n if (!this._autoAdvance) {\n this._autoAdvance = {};\n }\n if (this._autoAdvance.timeout) {\n clearTimeout(this._autoAdvance.timeout);\n }\n if (this._autoAdvance.trigger) {\n this._context.off('ended', this._autoAdvance.trigger);\n }\n this._autoAdvance.timeout = null;\n this._autoAdvance.trigger = null;\n }\n _resetRecommendations() {\n if (this._recommendationsHandler) {\n this._context.off('ended', this._recommendationsHandler);\n }\n }\n _refreshRecommendations() {\n this._resetRecommendations();\n this._recommendationsHandler = () => {\n if (this.autoAdvance() === false && this._context.autoShowRecommendations()) {\n this.player().trigger('recommendationsshow');\n }\n };\n this._context.on('ended', this._recommendationsHandler);\n }\n _refreshTextTracks() {\n this.player().trigger('refreshTextTracks', this.currentSource().textTracks());\n }\n _recommendationItemBuilder(source) {\n const defaultResolver = this._defaultRecResolverCache[source.objectId];\n if (source.recommendations() && (!defaultResolver || source.recommendations() !== defaultResolver)) {\n return;\n }\n return source => ({\n source,\n action: () => this.playItem(source)\n });\n }\n currentIndex(index) {\n if (index === undefined) {\n return this._currentIndex;\n }\n if (index >= this.length() || index < 0) {\n throw new Error('Invalid playlist index.');\n }\n this._currentIndex = index;\n const current = this.currentSource();\n const itemBuilder = this._recommendationItemBuilder(current);\n if (!current.recommendations()) {\n current.recommendations(this._defaultRecommendationsResolver(current));\n }\n this._context.source(current, {\n recommendationOptions: {\n disableAutoShow: true,\n itemBuilder\n }\n });\n const eventData = {\n playlist: this,\n current,\n next: this.next()\n };\n this.player().trigger('playlistitemchanged', eventData);\n this._refreshRecommendations();\n this._refreshTextTracks();\n return current;\n }\n _defaultRecommendationsResolver(source) {\n const defaultResolver = this._defaultRecResolverCache[source.objectId];\n if (defaultResolver) {\n return defaultResolver;\n }\n this._defaultRecResolverCache[source.objectId] = () => {\n let index = this.list().indexOf(source);\n const items = [];\n const numOfItems = Math.min(4, this.length() - 1);\n while (items.length < numOfItems) {\n index = this.nextIndex(index);\n if (index === -1) {\n break;\n }\n const source = this.list()[index];\n items.push(source);\n }\n return items;\n };\n return this._defaultRecResolverCache[source.objectId];\n }\n buildSource(source) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return this._context.buildSource(source, options);\n }\n enqueue(source) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const src = source instanceof plugins_cloudinary_models_video_source_video_source__WEBPACK_IMPORTED_MODULE_0__[\"default\"] ? source : this.buildSource(source, options);\n this._sources.push(src);\n return src;\n }\n playItem(item) {\n let index = this.list().indexOf(item);\n if (index === -1) {\n throw new Error('Invalid playlist item.');\n }\n this.playAtIndex(index);\n }\n playAtIndex(index) {\n this.currentIndex(index);\n this.player().play();\n return this.currentSource();\n }\n currentSource() {\n return this.list()[this.currentIndex()];\n }\n removeAt(index) {\n if (index >= this.length() || index < 0) {\n throw new Error('Invalid playlist index.');\n }\n this._sources.splice(index, 1);\n return this;\n }\n repeat(repeat) {\n if (repeat === undefined) {\n return this._repeat;\n }\n this._repeat = !!repeat;\n return this._repeat;\n }\n first() {\n return this.list()[0];\n }\n last() {\n return this.list()[this.length() - 1];\n }\n next() {\n const nextIndex = this.nextIndex();\n if (nextIndex === -1) {\n return null;\n }\n return this.list()[nextIndex];\n }\n nextIndex(index) {\n index = index !== undefined ? index : this.currentIndex();\n if (index >= this.length() || index < 0) {\n throw new Error('Invalid playlist index.');\n }\n const isLast = index === this.length() - 1;\n let nextIndex = index + 1;\n if (isLast) {\n if (this.repeat()) {\n nextIndex = 0;\n } else {\n return -1;\n }\n }\n return nextIndex;\n }\n previousIndex() {\n if (this.isFirst()) {\n return -1;\n }\n return this.currentIndex() - 1;\n }\n playFirst() {\n return this.playAtIndex(0);\n }\n playLast() {\n const lastIndex = this.list().length - 1;\n return this.playAtIndex(lastIndex);\n }\n isLast() {\n return this.currentIndex() >= this.length() - 1;\n }\n isFirst() {\n return this.currentIndex() === 0;\n }\n length() {\n return this.list().length;\n }\n playNext() {\n let nextIndex = this.nextIndex();\n if (nextIndex === -1) {\n return null;\n }\n return this.playAtIndex(nextIndex);\n }\n playPrevious() {\n let previousIndex = this.previousIndex();\n if (previousIndex === -1) {\n return null;\n }\n return this.playAtIndex(previousIndex);\n }\n playlistByTag = (() => {\n var _this = this;\n return function (tag) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return _this.player().sourcesByTag(tag, options).then(sources => _this.player().playlist(sources, options));\n };\n })();\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Playlist);\n\n//# sourceURL=webpack://cloudinary-video-player/./plugins/playlist/ui/playlist.js?");
1282
178
 
1283
179
  /***/ }),
1284
180
 
@@ -1289,69 +185,7 @@ class Playlist {
1289
185
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1290
186
 
1291
187
  "use strict";
1292
- __webpack_require__.r(__webpack_exports__);
1293
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1294
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
1295
- /* harmony export */ });
1296
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! video.js */ "../node_modules/video.js/dist/alt/video.core-exposed.js");
1297
- /* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(video_js__WEBPACK_IMPORTED_MODULE_0__);
1298
- /* harmony import */ var _thumbnail_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./thumbnail.scss */ "./plugins/playlist/ui/thumbnail/thumbnail.scss");
1299
-
1300
-
1301
-
1302
- // Get the ClickableComponent base class from Video.js
1303
- const ClickableComponent = video_js__WEBPACK_IMPORTED_MODULE_0___default().getComponent('ClickableComponent');
1304
- const THUMB_DEFAULT_WIDTH = 300;
1305
- const DEFAULT_OPTIONS = {
1306
- item: null,
1307
- transformation: {
1308
- width: THUMB_DEFAULT_WIDTH,
1309
- aspect_ratio: '16:9',
1310
- crop: 'pad',
1311
- background: 'black'
1312
- }
1313
- };
1314
- class Thumbnail extends ClickableComponent {
1315
- constructor(player, initOptions) {
1316
- const options = video_js__WEBPACK_IMPORTED_MODULE_0___default().obj.merge(DEFAULT_OPTIONS, initOptions);
1317
- super(player, options);
1318
- }
1319
- getItem() {
1320
- return this.options_.item;
1321
- }
1322
- getTitle() {
1323
- return this.getItem().info().title;
1324
- }
1325
- getDuration() {
1326
- return ' '; // this.getItem().info().title;
1327
- }
1328
- getThumbnail() {
1329
- return this.getItem().poster().url({
1330
- transformation: this.options_.transformation
1331
- });
1332
- }
1333
- handleClick(e) {
1334
- e.preventDefault();
1335
- }
1336
- createControlTextEl() {
1337
- return;
1338
- }
1339
- createEl() {
1340
- let tag = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'a';
1341
- const el = super.createEl(tag, {
1342
- className: 'cld-thumbnail',
1343
- href: '#'
1344
- });
1345
- const img = super.createEl('img', {
1346
- className: 'cld-thumbnail-img',
1347
- src: this.getThumbnail()
1348
- });
1349
- el.appendChild(img);
1350
- el.style.backgroundImage = `url('${this.getThumbnail()}')`;
1351
- return el;
1352
- }
1353
- }
1354
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Thumbnail);
188
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! video.js */ \"../node_modules/video.js/dist/alt/video.core-exposed.js\");\n/* harmony import */ var video_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(video_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _thumbnail_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./thumbnail.scss */ \"./plugins/playlist/ui/thumbnail/thumbnail.scss\");\n\n\n\n// Get the ClickableComponent base class from Video.js\nconst ClickableComponent = video_js__WEBPACK_IMPORTED_MODULE_0___default().getComponent('ClickableComponent');\nconst THUMB_DEFAULT_WIDTH = 300;\nconst DEFAULT_OPTIONS = {\n item: null,\n transformation: {\n width: THUMB_DEFAULT_WIDTH,\n aspect_ratio: '16:9',\n crop: 'pad',\n background: 'black'\n }\n};\nclass Thumbnail extends ClickableComponent {\n constructor(player, initOptions) {\n const options = video_js__WEBPACK_IMPORTED_MODULE_0___default().obj.merge(DEFAULT_OPTIONS, initOptions);\n super(player, options);\n }\n getItem() {\n return this.options_.item;\n }\n getTitle() {\n return this.getItem().info().title;\n }\n getDuration() {\n return ' '; // this.getItem().info().title;\n }\n getThumbnail() {\n return this.getItem().poster().url({\n transformation: this.options_.transformation\n });\n }\n handleClick(e) {\n e.preventDefault();\n }\n createControlTextEl() {\n return;\n }\n createEl() {\n let tag = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'a';\n const el = super.createEl(tag, {\n className: 'cld-thumbnail',\n href: '#'\n });\n const img = super.createEl('img', {\n className: 'cld-thumbnail-img',\n src: this.getThumbnail()\n });\n el.appendChild(img);\n el.style.backgroundImage = `url('${this.getThumbnail()}')`;\n return el;\n }\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Thumbnail);\n\n//# sourceURL=webpack://cloudinary-video-player/./plugins/playlist/ui/thumbnail/thumbnail.js?");
1355
189
 
1356
190
  /***/ }),
1357
191
 
@@ -1362,39 +196,7 @@ class Thumbnail extends ClickableComponent {
1362
196
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1363
197
 
1364
198
  "use strict";
1365
- __webpack_require__.r(__webpack_exports__);
1366
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1367
- /* harmony export */ normalizeJsonResponse: () => (/* binding */ normalizeJsonResponse)
1368
- /* harmony export */ });
1369
- /* harmony import */ var lodash_camelCase__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/camelCase */ "../node_modules/lodash/camelCase.js");
1370
- /* harmony import */ var lodash_camelCase__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_camelCase__WEBPACK_IMPORTED_MODULE_0__);
1371
- /* harmony import */ var lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/isPlainObject */ "../node_modules/lodash/isPlainObject.js");
1372
- /* harmony import */ var lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_1__);
1373
- /* harmony import */ var _time__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./time */ "./plugins/playlist/utils/time.js");
1374
-
1375
-
1376
-
1377
- const TIME_FIELDS = ['created_at', 'updated_at'];
1378
- const normalizeJsonResponse = obj => {
1379
- const agg = {};
1380
- if (lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_1___default()(obj)) {
1381
- Object.keys(obj).reduce((agg, key) => {
1382
- const newKey = lodash_camelCase__WEBPACK_IMPORTED_MODULE_0___default()(key);
1383
- if (TIME_FIELDS.indexOf(key) !== -1) {
1384
- agg[newKey] = new Date((0,_time__WEBPACK_IMPORTED_MODULE_2__.parseISO8601)(obj[key]));
1385
- } else {
1386
- agg[newKey] = normalizeJsonResponse(obj[key]);
1387
- }
1388
- return agg;
1389
- }, agg);
1390
- return agg;
1391
- } else if (Array.isArray(obj)) {
1392
- return obj.map(item => normalizeJsonResponse(item));
1393
- } else {
1394
- return obj;
1395
- }
1396
- };
1397
-
199
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ normalizeJsonResponse: () => (/* binding */ normalizeJsonResponse)\n/* harmony export */ });\n/* harmony import */ var lodash_camelCase__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/camelCase */ \"../node_modules/lodash/camelCase.js\");\n/* harmony import */ var lodash_camelCase__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_camelCase__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/isPlainObject */ \"../node_modules/lodash/isPlainObject.js\");\n/* harmony import */ var lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _time__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./time */ \"./plugins/playlist/utils/time.js\");\n\n\n\nconst TIME_FIELDS = ['created_at', 'updated_at'];\nconst normalizeJsonResponse = obj => {\n const agg = {};\n if (lodash_isPlainObject__WEBPACK_IMPORTED_MODULE_1___default()(obj)) {\n Object.keys(obj).reduce((agg, key) => {\n const newKey = lodash_camelCase__WEBPACK_IMPORTED_MODULE_0___default()(key);\n if (TIME_FIELDS.indexOf(key) !== -1) {\n agg[newKey] = new Date((0,_time__WEBPACK_IMPORTED_MODULE_2__.parseISO8601)(obj[key]));\n } else {\n agg[newKey] = normalizeJsonResponse(obj[key]);\n }\n return agg;\n }, agg);\n return agg;\n } else if (Array.isArray(obj)) {\n return obj.map(item => normalizeJsonResponse(item));\n } else {\n return obj;\n }\n};\n\n\n//# sourceURL=webpack://cloudinary-video-player/./plugins/playlist/utils/api.js?");
1398
200
 
1399
201
  /***/ }),
1400
202
 
@@ -1405,15 +207,7 @@ const normalizeJsonResponse = obj => {
1405
207
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1406
208
 
1407
209
  "use strict";
1408
- __webpack_require__.r(__webpack_exports__);
1409
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1410
- /* harmony export */ wrap: () => (/* binding */ wrap)
1411
- /* harmony export */ });
1412
- const wrap = (el, wrapper) => {
1413
- el.parentNode.insertBefore(wrapper, el);
1414
- wrapper.appendChild(el);
1415
- return wrapper;
1416
- };
210
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ wrap: () => (/* binding */ wrap)\n/* harmony export */ });\nconst wrap = (el, wrapper) => {\n el.parentNode.insertBefore(wrapper, el);\n wrapper.appendChild(el);\n return wrapper;\n};\n\n//# sourceURL=webpack://cloudinary-video-player/./plugins/playlist/utils/dom.js?");
1417
211
 
1418
212
  /***/ }),
1419
213
 
@@ -1424,43 +218,7 @@ const wrap = (el, wrapper) => {
1424
218
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1425
219
 
1426
220
  "use strict";
1427
- __webpack_require__.r(__webpack_exports__);
1428
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1429
- /* harmony export */ parseISO8601: () => (/* binding */ parseISO8601)
1430
- /* harmony export */ });
1431
- // https://github.com/csnover/js-iso8601/blob/master/iso8601.js
1432
- const numericKeys = [1, 4, 5, 6, 7, 10, 11];
1433
- const parseISO8601 = function (date) {
1434
- let timestamp = 0;
1435
- let struct = 0;
1436
- let minutesOffset = 0;
1437
-
1438
- // ES5 §15.9.4.2 states that the string should attempt to be parsed as a Date Time String Format string
1439
- // before falling back to any implementation-specific date parsing, so that’s what we do, even if native
1440
- // implementations could be faster
1441
- // 1 YYYY 2 MM 3 DD 4 HH 5 mm 6 ss 7 msec 8 Z 9 ± 10 tzHH 11 tzmm
1442
- if (struct = /^(\d{4}|[+\-]\d{6})(?:-(\d{2})(?:-(\d{2}))?)?(?:T(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{3}))?)?(?:(Z)|([+\-])(\d{2})(?::(\d{2}))?)?)?$/.exec(date)) {
1443
- // avoid NaN timestamps caused by “undefined” values being passed to Date.UTC
1444
- for (let i = 0, k; k = numericKeys[i]; ++i) {
1445
- struct[k] = +struct[k] || 0;
1446
- }
1447
-
1448
- // allow undefined days and months
1449
- struct[2] = (+struct[2] || 1) - 1;
1450
- struct[3] = +struct[3] || 1;
1451
- if (struct[8] !== 'Z' && struct[9] !== undefined) {
1452
- minutesOffset = struct[10] * 60 + struct[11];
1453
- if (struct[9] === '+') {
1454
- minutesOffset = 0 - minutesOffset;
1455
- }
1456
- }
1457
- timestamp = Date.UTC(struct[1], struct[2], struct[3], struct[4], struct[5] + minutesOffset, struct[6], struct[7]);
1458
- } else {
1459
- timestamp = NaN;
1460
- }
1461
- return timestamp;
1462
- };
1463
-
221
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ parseISO8601: () => (/* binding */ parseISO8601)\n/* harmony export */ });\n// https://github.com/csnover/js-iso8601/blob/master/iso8601.js\nconst numericKeys = [1, 4, 5, 6, 7, 10, 11];\nconst parseISO8601 = function (date) {\n let timestamp = 0;\n let struct = 0;\n let minutesOffset = 0;\n\n // ES5 §15.9.4.2 states that the string should attempt to be parsed as a Date Time String Format string\n // before falling back to any implementation-specific date parsing, so that’s what we do, even if native\n // implementations could be faster\n // 1 YYYY 2 MM 3 DD 4 HH 5 mm 6 ss 7 msec 8 Z 9 ± 10 tzHH 11 tzmm\n if (struct = /^(\\d{4}|[+\\-]\\d{6})(?:-(\\d{2})(?:-(\\d{2}))?)?(?:T(\\d{2}):(\\d{2})(?::(\\d{2})(?:\\.(\\d{3}))?)?(?:(Z)|([+\\-])(\\d{2})(?::(\\d{2}))?)?)?$/.exec(date)) {\n // avoid NaN timestamps caused by “undefined” values being passed to Date.UTC\n for (let i = 0, k; k = numericKeys[i]; ++i) {\n struct[k] = +struct[k] || 0;\n }\n\n // allow undefined days and months\n struct[2] = (+struct[2] || 1) - 1;\n struct[3] = +struct[3] || 1;\n if (struct[8] !== 'Z' && struct[9] !== undefined) {\n minutesOffset = struct[10] * 60 + struct[11];\n if (struct[9] === '+') {\n minutesOffset = 0 - minutesOffset;\n }\n }\n timestamp = Date.UTC(struct[1], struct[2], struct[3], struct[4], struct[5] + minutesOffset, struct[6], struct[7]);\n } else {\n timestamp = NaN;\n }\n return timestamp;\n};\n\n\n//# sourceURL=webpack://cloudinary-video-player/./plugins/playlist/utils/time.js?");
1464
222
 
1465
223
  /***/ }),
1466
224
 
@@ -1470,26 +228,7 @@ const parseISO8601 = function (date) {
1470
228
  \*******************************************/
1471
229
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
1472
230
 
1473
- var trimmedEndIndex = __webpack_require__(/*! ./_trimmedEndIndex */ "../node_modules/lodash/_trimmedEndIndex.js");
1474
-
1475
- /** Used to match leading whitespace. */
1476
- var reTrimStart = /^\s+/;
1477
-
1478
- /**
1479
- * The base implementation of `_.trim`.
1480
- *
1481
- * @private
1482
- * @param {string} string The string to trim.
1483
- * @returns {string} Returns the trimmed string.
1484
- */
1485
- function baseTrim(string) {
1486
- return string
1487
- ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')
1488
- : string;
1489
- }
1490
-
1491
- module.exports = baseTrim;
1492
-
231
+ eval("var trimmedEndIndex = __webpack_require__(/*! ./_trimmedEndIndex */ \"../node_modules/lodash/_trimmedEndIndex.js\");\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n\n\n//# sourceURL=webpack://cloudinary-video-player/../node_modules/lodash/_baseTrim.js?");
1493
232
 
1494
233
  /***/ }),
1495
234
 
@@ -1499,26 +238,7 @@ module.exports = baseTrim;
1499
238
  \**************************************************/
1500
239
  /***/ ((module) => {
1501
240
 
1502
- /** Used to match a single whitespace character. */
1503
- var reWhitespace = /\s/;
1504
-
1505
- /**
1506
- * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace
1507
- * character of `string`.
1508
- *
1509
- * @private
1510
- * @param {string} string The string to inspect.
1511
- * @returns {number} Returns the index of the last non-whitespace character.
1512
- */
1513
- function trimmedEndIndex(string) {
1514
- var index = string.length;
1515
-
1516
- while (index-- && reWhitespace.test(string.charAt(index))) {}
1517
- return index;
1518
- }
1519
-
1520
- module.exports = trimmedEndIndex;
1521
-
241
+ eval("/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n\n\n//# sourceURL=webpack://cloudinary-video-player/../node_modules/lodash/_trimmedEndIndex.js?");
1522
242
 
1523
243
  /***/ }),
1524
244
 
@@ -1528,40 +248,7 @@ module.exports = trimmedEndIndex;
1528
248
  \*******************************************/
1529
249
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
1530
250
 
1531
- var toInteger = __webpack_require__(/*! ./toInteger */ "../node_modules/lodash/toInteger.js");
1532
-
1533
- /**
1534
- * Checks if `value` is an integer.
1535
- *
1536
- * **Note:** This method is based on
1537
- * [`Number.isInteger`](https://mdn.io/Number/isInteger).
1538
- *
1539
- * @static
1540
- * @memberOf _
1541
- * @since 4.0.0
1542
- * @category Lang
1543
- * @param {*} value The value to check.
1544
- * @returns {boolean} Returns `true` if `value` is an integer, else `false`.
1545
- * @example
1546
- *
1547
- * _.isInteger(3);
1548
- * // => true
1549
- *
1550
- * _.isInteger(Number.MIN_VALUE);
1551
- * // => false
1552
- *
1553
- * _.isInteger(Infinity);
1554
- * // => false
1555
- *
1556
- * _.isInteger('3');
1557
- * // => false
1558
- */
1559
- function isInteger(value) {
1560
- return typeof value == 'number' && value == toInteger(value);
1561
- }
1562
-
1563
- module.exports = isInteger;
1564
-
251
+ eval("var toInteger = __webpack_require__(/*! ./toInteger */ \"../node_modules/lodash/toInteger.js\");\n\n/**\n * Checks if `value` is an integer.\n *\n * **Note:** This method is based on\n * [`Number.isInteger`](https://mdn.io/Number/isInteger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an integer, else `false`.\n * @example\n *\n * _.isInteger(3);\n * // => true\n *\n * _.isInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isInteger(Infinity);\n * // => false\n *\n * _.isInteger('3');\n * // => false\n */\nfunction isInteger(value) {\n return typeof value == 'number' && value == toInteger(value);\n}\n\nmodule.exports = isInteger;\n\n\n//# sourceURL=webpack://cloudinary-video-player/../node_modules/lodash/isInteger.js?");
1565
252
 
1566
253
  /***/ }),
1567
254
 
@@ -1571,49 +258,7 @@ module.exports = isInteger;
1571
258
  \******************************************/
1572
259
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
1573
260
 
1574
- var toNumber = __webpack_require__(/*! ./toNumber */ "../node_modules/lodash/toNumber.js");
1575
-
1576
- /** Used as references for various `Number` constants. */
1577
- var INFINITY = 1 / 0,
1578
- MAX_INTEGER = 1.7976931348623157e+308;
1579
-
1580
- /**
1581
- * Converts `value` to a finite number.
1582
- *
1583
- * @static
1584
- * @memberOf _
1585
- * @since 4.12.0
1586
- * @category Lang
1587
- * @param {*} value The value to convert.
1588
- * @returns {number} Returns the converted number.
1589
- * @example
1590
- *
1591
- * _.toFinite(3.2);
1592
- * // => 3.2
1593
- *
1594
- * _.toFinite(Number.MIN_VALUE);
1595
- * // => 5e-324
1596
- *
1597
- * _.toFinite(Infinity);
1598
- * // => 1.7976931348623157e+308
1599
- *
1600
- * _.toFinite('3.2');
1601
- * // => 3.2
1602
- */
1603
- function toFinite(value) {
1604
- if (!value) {
1605
- return value === 0 ? value : 0;
1606
- }
1607
- value = toNumber(value);
1608
- if (value === INFINITY || value === -INFINITY) {
1609
- var sign = (value < 0 ? -1 : 1);
1610
- return sign * MAX_INTEGER;
1611
- }
1612
- return value === value ? value : 0;
1613
- }
1614
-
1615
- module.exports = toFinite;
1616
-
261
+ eval("var toNumber = __webpack_require__(/*! ./toNumber */ \"../node_modules/lodash/toNumber.js\");\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\nmodule.exports = toFinite;\n\n\n//# sourceURL=webpack://cloudinary-video-player/../node_modules/lodash/toFinite.js?");
1617
262
 
1618
263
  /***/ }),
1619
264
 
@@ -1623,43 +268,7 @@ module.exports = toFinite;
1623
268
  \*******************************************/
1624
269
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
1625
270
 
1626
- var toFinite = __webpack_require__(/*! ./toFinite */ "../node_modules/lodash/toFinite.js");
1627
-
1628
- /**
1629
- * Converts `value` to an integer.
1630
- *
1631
- * **Note:** This method is loosely based on
1632
- * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).
1633
- *
1634
- * @static
1635
- * @memberOf _
1636
- * @since 4.0.0
1637
- * @category Lang
1638
- * @param {*} value The value to convert.
1639
- * @returns {number} Returns the converted integer.
1640
- * @example
1641
- *
1642
- * _.toInteger(3.2);
1643
- * // => 3
1644
- *
1645
- * _.toInteger(Number.MIN_VALUE);
1646
- * // => 0
1647
- *
1648
- * _.toInteger(Infinity);
1649
- * // => 1.7976931348623157e+308
1650
- *
1651
- * _.toInteger('3.2');
1652
- * // => 3
1653
- */
1654
- function toInteger(value) {
1655
- var result = toFinite(value),
1656
- remainder = result % 1;
1657
-
1658
- return result === result ? (remainder ? result - remainder : result) : 0;
1659
- }
1660
-
1661
- module.exports = toInteger;
1662
-
271
+ eval("var toFinite = __webpack_require__(/*! ./toFinite */ \"../node_modules/lodash/toFinite.js\");\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\nmodule.exports = toInteger;\n\n\n//# sourceURL=webpack://cloudinary-video-player/../node_modules/lodash/toInteger.js?");
1663
272
 
1664
273
  /***/ }),
1665
274
 
@@ -1669,71 +278,7 @@ module.exports = toInteger;
1669
278
  \******************************************/
1670
279
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
1671
280
 
1672
- var baseTrim = __webpack_require__(/*! ./_baseTrim */ "../node_modules/lodash/_baseTrim.js"),
1673
- isObject = __webpack_require__(/*! ./isObject */ "../node_modules/lodash/isObject.js"),
1674
- isSymbol = __webpack_require__(/*! ./isSymbol */ "../node_modules/lodash/isSymbol.js");
1675
-
1676
- /** Used as references for various `Number` constants. */
1677
- var NAN = 0 / 0;
1678
-
1679
- /** Used to detect bad signed hexadecimal string values. */
1680
- var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
1681
-
1682
- /** Used to detect binary string values. */
1683
- var reIsBinary = /^0b[01]+$/i;
1684
-
1685
- /** Used to detect octal string values. */
1686
- var reIsOctal = /^0o[0-7]+$/i;
1687
-
1688
- /** Built-in method references without a dependency on `root`. */
1689
- var freeParseInt = parseInt;
1690
-
1691
- /**
1692
- * Converts `value` to a number.
1693
- *
1694
- * @static
1695
- * @memberOf _
1696
- * @since 4.0.0
1697
- * @category Lang
1698
- * @param {*} value The value to process.
1699
- * @returns {number} Returns the number.
1700
- * @example
1701
- *
1702
- * _.toNumber(3.2);
1703
- * // => 3.2
1704
- *
1705
- * _.toNumber(Number.MIN_VALUE);
1706
- * // => 5e-324
1707
- *
1708
- * _.toNumber(Infinity);
1709
- * // => Infinity
1710
- *
1711
- * _.toNumber('3.2');
1712
- * // => 3.2
1713
- */
1714
- function toNumber(value) {
1715
- if (typeof value == 'number') {
1716
- return value;
1717
- }
1718
- if (isSymbol(value)) {
1719
- return NAN;
1720
- }
1721
- if (isObject(value)) {
1722
- var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
1723
- value = isObject(other) ? (other + '') : other;
1724
- }
1725
- if (typeof value != 'string') {
1726
- return value === 0 ? value : +value;
1727
- }
1728
- value = baseTrim(value);
1729
- var isBinary = reIsBinary.test(value);
1730
- return (isBinary || reIsOctal.test(value))
1731
- ? freeParseInt(value.slice(2), isBinary ? 2 : 8)
1732
- : (reIsBadHex.test(value) ? NAN : +value);
1733
- }
1734
-
1735
- module.exports = toNumber;
1736
-
281
+ eval("var baseTrim = __webpack_require__(/*! ./_baseTrim */ \"../node_modules/lodash/_baseTrim.js\"),\n isObject = __webpack_require__(/*! ./isObject */ \"../node_modules/lodash/isObject.js\"),\n isSymbol = __webpack_require__(/*! ./isSymbol */ \"../node_modules/lodash/isSymbol.js\");\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n\n\n//# sourceURL=webpack://cloudinary-video-player/../node_modules/lodash/toNumber.js?");
1737
282
 
1738
283
  /***/ }),
1739
284
 
@@ -1744,9 +289,7 @@ module.exports = toNumber;
1744
289
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1745
290
 
1746
291
  "use strict";
1747
- __webpack_require__.r(__webpack_exports__);
1748
- // extracted by mini-css-extract-plugin
1749
-
292
+ eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extract-plugin\n\n\n//# sourceURL=webpack://cloudinary-video-player/./plugins/playlist/ui/components/playlist-buttons.scss?");
1750
293
 
1751
294
  /***/ }),
1752
295
 
@@ -1757,9 +300,7 @@ __webpack_require__.r(__webpack_exports__);
1757
300
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1758
301
 
1759
302
  "use strict";
1760
- __webpack_require__.r(__webpack_exports__);
1761
- // extracted by mini-css-extract-plugin
1762
-
303
+ eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extract-plugin\n\n\n//# sourceURL=webpack://cloudinary-video-player/./plugins/playlist/ui/components/upcoming-video-overlay.scss?");
1763
304
 
1764
305
  /***/ }),
1765
306
 
@@ -1770,9 +311,7 @@ __webpack_require__.r(__webpack_exports__);
1770
311
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1771
312
 
1772
313
  "use strict";
1773
- __webpack_require__.r(__webpack_exports__);
1774
- // extracted by mini-css-extract-plugin
1775
-
314
+ eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extract-plugin\n\n\n//# sourceURL=webpack://cloudinary-video-player/./plugins/playlist/ui/playlist.scss?");
1776
315
 
1777
316
  /***/ }),
1778
317
 
@@ -1783,11 +322,8 @@ __webpack_require__.r(__webpack_exports__);
1783
322
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1784
323
 
1785
324
  "use strict";
1786
- __webpack_require__.r(__webpack_exports__);
1787
- // extracted by mini-css-extract-plugin
1788
-
325
+ eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extract-plugin\n\n\n//# sourceURL=webpack://cloudinary-video-player/./plugins/playlist/ui/thumbnail/thumbnail.scss?");
1789
326
 
1790
327
  /***/ })
1791
328
 
1792
- }]);
1793
- //# sourceMappingURL=playlist.js.map
329
+ }]);