cloudinary-video-player 3.13.1 → 3.13.2-edge.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/134.min.js +4 -4
- package/dist/309.min.js +3 -3
- package/dist/350.min.js +6 -0
- package/dist/689.min.js +6 -0
- package/dist/adaptive-streaming.js +2 -2
- package/dist/adaptive-streaming.min.js +2 -2
- package/dist/chapters.js +2 -2
- package/dist/chapters.min.js +2 -2
- package/dist/cld-player-core.js +2 -2
- package/dist/cld-player-core.min.js +2 -2
- package/dist/cld-poster-url.js +57 -0
- package/dist/cld-poster-url.min.js +6 -0
- package/dist/cld-video-player-lazy.js +10 -66
- package/dist/cld-video-player-lazy.min.js +3 -3
- package/dist/cld-video-player.css +6 -2
- package/dist/cld-video-player.js +35 -45
- package/dist/cld-video-player.light.js +35 -45
- package/dist/cld-video-player.light.min.js +4 -4
- package/dist/cld-video-player.min.css +3 -3
- package/dist/cld-video-player.min.js +4 -4
- package/dist/colors.js +2 -2
- package/dist/colors.min.js +2 -2
- package/dist/dash.js +2 -2
- package/dist/dash.min.js +2 -2
- package/dist/debug.js +3 -3
- package/dist/debug.min.js +3 -3
- package/dist/ima.js +2 -2
- package/dist/ima.min.js +2 -2
- package/dist/interaction-areas.js +2 -2
- package/dist/interaction-areas.min.js +2 -2
- package/dist/node_modules_lodash_throttle_js.js +2 -2
- package/dist/playlist.js +2 -2
- package/dist/playlist.min.js +2 -2
- package/dist/{plugins_cloudinary_url-helpers_js-utils_object_js-utils_querystring_js-utils_utf8Base64_js-vi-555007.js → plugins_cloudinary_url-helpers_js-utils_cloudinary-config-from-options_js-utils_querystring_j-adfe37.js} +48 -4
- package/dist/recommendations-overlay.js +2 -2
- package/dist/recommendations-overlay.min.js +2 -2
- package/dist/schema.json +16 -0
- package/dist/share.js +2 -2
- package/dist/share.min.js +2 -2
- package/dist/shoppable.js +2 -2
- package/dist/shoppable.min.js +2 -2
- package/dist/utils_fetch-config_js.js +3 -3
- package/dist/utils_schedule_js.js +27 -0
- package/dist/video-player_js.js +11 -11
- package/dist/visual-search.js +2 -2
- package/dist/visual-search.min.js +2 -2
- package/lib/all.js +3 -2
- package/lib/chapters.js +2 -2
- package/lib/cld-video-player.min.css +3 -3
- package/lib/{object.js → cloudinary-config-from-options.js} +10 -2
- package/lib/cloudinary-url-prefix.js +91 -0
- package/lib/colors.js +2 -2
- package/lib/config/configSchema.json +16 -0
- package/lib/debug.js +1 -0
- package/lib/fetch-config.js +4 -11
- package/lib/index.js +3 -2
- package/lib/interaction-areas.service.js +2 -2
- package/lib/lazy.js +0 -1
- package/lib/player-api.js +171 -413
- package/lib/player.js +2 -1
- package/lib/playlist.js +2 -2
- package/lib/poster-url.js +46 -0
- package/lib/recommendations-overlay.js +2 -2
- package/lib/schedule.js +153 -0
- package/lib/share.js +2 -2
- package/lib/shoppable-widget.js +2 -2
- package/lib/toNumber.js +1 -1
- package/lib/video-player.const.js +1 -1
- package/lib/video-player.js +25 -11
- package/lib/videoPlayer.js +2 -1
- package/package.json +1 -1
- package/types/cld-video-player.d.ts +6 -0
- package/dist/19.min.js +0 -6
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { _ as _vjs } from './_videojs-proxy.js';
|
|
2
2
|
import { f as componentUtils } from './video-player.js';
|
|
3
3
|
import './_commonjsHelpers.js';
|
|
4
|
-
import './
|
|
4
|
+
import './cloudinary-config-from-options.js';
|
|
5
5
|
import './video-player.const.js';
|
|
6
6
|
import './validators-functions.js';
|
|
7
|
-
import './
|
|
7
|
+
import './cloudinary-url-prefix.js';
|
|
8
8
|
|
|
9
9
|
const ClickableComponent$1 = _vjs.getComponent('ClickableComponent');
|
|
10
10
|
class RecommendationsOverlayItem extends ClickableComponent$1 {
|
package/lib/schedule.js
ADDED
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { g as getVideoElement, p as preparePlayerPlaceholder, l as loadPlayer } from './player-api.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Schedule utilities: weekly time-range parsing and bootstrap.
|
|
5
|
+
* Outside-schedule bootstrap reuses lazy placeholder DOM + deferred load helpers.
|
|
6
|
+
* Uses browser local time. No videojs dependency for the bootstrap path.
|
|
7
|
+
*/
|
|
8
|
+
const INTERNAL_ANALYTICS_URL = 'https://analytics-api-s.cloudinary.com';
|
|
9
|
+
const sendScheduleImageAnalytics = options => {
|
|
10
|
+
const allowReport = options?.sourceOptions?.allowUsageReport ?? options?.allowUsageReport;
|
|
11
|
+
if (allowReport === false) return;
|
|
12
|
+
try {
|
|
13
|
+
const params = new URLSearchParams({
|
|
14
|
+
scheduleImageRendered: 'true',
|
|
15
|
+
cloudName: options?.cloudName || options?.cloudinaryConfig?.cloud_name || ''
|
|
16
|
+
}).toString();
|
|
17
|
+
fetch(`${INTERNAL_ANALYTICS_URL}/video_player_source?${params}`);
|
|
18
|
+
} catch {
|
|
19
|
+
// noop
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
const getCloudNameFromOptions = options => options?.cloudName || options?.cloud_name || options?.cloudinaryConfig?.cloud_name;
|
|
23
|
+
const getPublicIdFromOptions = options => options?.publicId || options?.sourceOptions?.publicId;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Returns true when schedule.weekly is configured and current time is outside the schedule.
|
|
27
|
+
* @param {object} options - player options
|
|
28
|
+
* @returns {boolean}
|
|
29
|
+
*/
|
|
30
|
+
const shouldUseScheduleBootstrap = options => {
|
|
31
|
+
const schedule = options?.schedule;
|
|
32
|
+
const weekly = schedule?.weekly;
|
|
33
|
+
return Array.isArray(weekly) && weekly.length > 0 && !isWithinSchedule(schedule, new Date());
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Bootstrap path when outside schedule: render poster, return stub with loadPlayer().
|
|
38
|
+
* @param {string|HTMLElement} elem - Element id or video element
|
|
39
|
+
* @param {object} options - player options
|
|
40
|
+
* @param {function} [ready] - Video.js ready callback (passed when full player loads)
|
|
41
|
+
* @returns {object} Stub with source() and loadPlayer()
|
|
42
|
+
*/
|
|
43
|
+
const scheduleBootstrap = async (elem, options, ready) => {
|
|
44
|
+
const videoElement = getVideoElement(elem);
|
|
45
|
+
const cloudName = getCloudNameFromOptions(options);
|
|
46
|
+
const publicId = getPublicIdFromOptions(options);
|
|
47
|
+
if (!cloudName || !publicId) {
|
|
48
|
+
throw new Error('schedule.weekly requires cloudName and publicId when outside schedule');
|
|
49
|
+
}
|
|
50
|
+
const {
|
|
51
|
+
buildPosterUrl
|
|
52
|
+
} = await import('./poster-url.js');
|
|
53
|
+
const cloudinaryConfig = options?.cloudinaryConfig || {
|
|
54
|
+
cloud_name: cloudName
|
|
55
|
+
};
|
|
56
|
+
const posterUrl = buildPosterUrl(cloudName, publicId, cloudinaryConfig);
|
|
57
|
+
const fluid = options?.fluid !== false;
|
|
58
|
+
const {
|
|
59
|
+
videoElement: vEl,
|
|
60
|
+
hadControls
|
|
61
|
+
} = preparePlayerPlaceholder(videoElement, posterUrl, {
|
|
62
|
+
fluid,
|
|
63
|
+
width: options?.width,
|
|
64
|
+
height: options?.height,
|
|
65
|
+
cropMode: options?.sourceOptions?.cropMode,
|
|
66
|
+
sourceOptions: options?.sourceOptions,
|
|
67
|
+
aspectRatio: options?.aspectRatio
|
|
68
|
+
});
|
|
69
|
+
sendScheduleImageAnalytics(options);
|
|
70
|
+
const stub = {
|
|
71
|
+
source: () => stub,
|
|
72
|
+
loadPlayer: () => {
|
|
73
|
+
if (hadControls) vEl.setAttribute('controls', '');
|
|
74
|
+
return loadPlayer({
|
|
75
|
+
videoElement: vEl,
|
|
76
|
+
options,
|
|
77
|
+
ready
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
return stub;
|
|
82
|
+
};
|
|
83
|
+
const DAY_MAP = {
|
|
84
|
+
sunday: 0,
|
|
85
|
+
sun: 0,
|
|
86
|
+
monday: 1,
|
|
87
|
+
mon: 1,
|
|
88
|
+
tuesday: 2,
|
|
89
|
+
tue: 2,
|
|
90
|
+
tues: 2,
|
|
91
|
+
wednesday: 3,
|
|
92
|
+
wed: 3,
|
|
93
|
+
thursday: 4,
|
|
94
|
+
thu: 4,
|
|
95
|
+
thur: 4,
|
|
96
|
+
thurs: 4,
|
|
97
|
+
friday: 5,
|
|
98
|
+
fri: 5,
|
|
99
|
+
saturday: 6,
|
|
100
|
+
sat: 6
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Parse readable day-of-week string to JS Date.getDay() value (0=Sun .. 6=Sat).
|
|
105
|
+
* @param {string} day - Full or abbreviated day name (case-insensitive)
|
|
106
|
+
* @returns {number|null} 0-6, or null if invalid
|
|
107
|
+
*/
|
|
108
|
+
const parseDay = day => {
|
|
109
|
+
if (typeof day !== 'string') return null;
|
|
110
|
+
const key = day.toLowerCase().trim();
|
|
111
|
+
return DAY_MAP[key] ?? null;
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Parse "HH:mm" string to minutes since midnight.
|
|
116
|
+
* @param {string} timeStr - "09:00" or "17:30"
|
|
117
|
+
* @returns {number|null} minutes, or null if invalid
|
|
118
|
+
*/
|
|
119
|
+
const parseTime = timeStr => {
|
|
120
|
+
if (typeof timeStr !== 'string') return null;
|
|
121
|
+
const match = timeStr.trim().match(/^(\d{1,2}):(\d{2})$/);
|
|
122
|
+
if (!match) return null;
|
|
123
|
+
const h = parseInt(match[1], 10);
|
|
124
|
+
const m = parseInt(match[2], 10);
|
|
125
|
+
if (h < 0 || h > 23 || m < 0 || m > 59) return null;
|
|
126
|
+
return h * 60 + m;
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Check if a date falls within any configured weekly slot (local time).
|
|
131
|
+
* @param {{ weekly?: Array<{ day: string, start: string, duration: number }> }} schedule - schedule config
|
|
132
|
+
* @param {Date} date - date to check (uses local time)
|
|
133
|
+
* @returns {boolean} true if within a slot
|
|
134
|
+
*/
|
|
135
|
+
const isWithinSchedule = (schedule, date) => {
|
|
136
|
+
const weekly = schedule?.weekly;
|
|
137
|
+
if (!Array.isArray(weekly) || weekly.length === 0) return true;
|
|
138
|
+
const WEEK = 7 * 1440;
|
|
139
|
+
const nowInWeek = date.getDay() * 1440 + date.getHours() * 60 + date.getMinutes();
|
|
140
|
+
for (const slot of weekly) {
|
|
141
|
+
const slotDay = parseDay(slot.day);
|
|
142
|
+
if (slotDay === null) continue;
|
|
143
|
+
const startMin = parseTime(slot.start);
|
|
144
|
+
if (startMin === null || typeof slot.duration !== 'number' || slot.duration <= 0) continue;
|
|
145
|
+
const slotStart = slotDay * 1440 + startMin;
|
|
146
|
+
const durationMin = slot.duration * 60;
|
|
147
|
+
const elapsed = (nowInWeek - slotStart + WEEK) % WEEK;
|
|
148
|
+
if (elapsed < durationMin) return true;
|
|
149
|
+
}
|
|
150
|
+
return false;
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
export { getVideoElement as getElementForSchedule, isWithinSchedule, parseDay, preparePlayerPlaceholder as renderScheduleImage, scheduleBootstrap, shouldUseScheduleBootstrap };
|
package/lib/share.js
CHANGED
|
@@ -2,10 +2,10 @@ import './download-button.js';
|
|
|
2
2
|
import { g as getCloudinaryUrl, o as omit } from './video-player.js';
|
|
3
3
|
import './_videojs-proxy.js';
|
|
4
4
|
import './_commonjsHelpers.js';
|
|
5
|
-
import './
|
|
5
|
+
import './cloudinary-config-from-options.js';
|
|
6
6
|
import './video-player.const.js';
|
|
7
7
|
import './validators-functions.js';
|
|
8
|
-
import './
|
|
8
|
+
import './cloudinary-url-prefix.js';
|
|
9
9
|
|
|
10
10
|
const SharePlugin = function () {
|
|
11
11
|
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
package/lib/shoppable-widget.js
CHANGED
|
@@ -5,9 +5,9 @@ import './_commonjsHelpers.js';
|
|
|
5
5
|
import './throttle.js';
|
|
6
6
|
import './video-player.const.js';
|
|
7
7
|
import './toNumber.js';
|
|
8
|
-
import './
|
|
8
|
+
import './cloudinary-config-from-options.js';
|
|
9
9
|
import './validators-functions.js';
|
|
10
|
-
import './
|
|
10
|
+
import './cloudinary-url-prefix.js';
|
|
11
11
|
|
|
12
12
|
class ShoppableWidget {
|
|
13
13
|
constructor(player) {
|
package/lib/toNumber.js
CHANGED
|
@@ -337,7 +337,7 @@ function requireIsArray () {
|
|
|
337
337
|
const SOURCE_PARAMS = ['adaptiveStreaming', 'allowUsageReport', 'aspectRatio', 'autoShowRecommendations', 'breakpoints', 'chapters', 'cropMode', 'cropPadColor', 'cloudinaryConfig', 'description', 'download', 'hdr', 'info', 'interactionAreas', 'maxDpr', 'poster', 'posterOptions', 'publicId', 'rawTransformation', 'recommendations', 'resourceType', 'shoppable', 'source', 'sourceTransformation', 'sourceTypes', 'textTracks', 'title', 'transformation', 'type', 'visualSearch', 'withCredentials', 'videoSources'];
|
|
338
338
|
|
|
339
339
|
// All parameters that can be passed to player constructor
|
|
340
|
-
const PLAYER_PARAMS = SOURCE_PARAMS.concat(['_internalAnalyticsMetadata', 'ads', 'aiHighlightsGraph', 'analytics', 'autoplayMode', 'chaptersButton', 'cloudinaryAnalytics', 'colors', 'debug', 'fetchErrorUsingGet', 'floatingWhenNotVisible', 'fluid', 'fontFace', 'hideContextMenu', 'ima', 'pictureInPictureToggle', 'playedEventPercents', 'playedEventTimes', 'playlistWidget', 'profile', 'qualitySelector', 'queryParams', 'seekThumbnails', 'showJumpControls', 'videoConfig', 'schedule']);
|
|
340
|
+
const PLAYER_PARAMS = SOURCE_PARAMS.concat(['_internalAnalyticsMetadata', 'ads', 'aiHighlightsGraph', 'analytics', 'autoplayMode', 'chaptersButton', 'cloudinaryAnalytics', 'colors', 'debug', 'fetchErrorUsingGet', 'floatingWhenNotVisible', 'fluid', 'fontFace', 'hideContextMenu', 'ima', 'pictureInPictureToggle', 'playedEventPercents', 'playedEventTimes', 'playlistWidget', 'profile', 'qualitySelector', 'queryParams', 'seekThumbnails', 'showJumpControls', 'videoConfig', 'schedule', 'lazy']);
|
|
341
341
|
|
|
342
342
|
// We support both camelCase and snake_case for cloudinary SDK params
|
|
343
343
|
const CLOUDINARY_CONFIG_PARAM = ['api_secret', 'auth_token', 'cdn_subdomain', 'cloud_name', 'cname', 'private_cdn', 'secure', 'secure_cdn_subdomain', 'secure_distribution', 'shorten', 'sign_url', 'url_suffix', 'use_root_path'];
|
package/lib/video-player.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { _ as _vjs } from './_videojs-proxy.js';
|
|
2
2
|
import { g as getDefaultExportFromCjs } from './_commonjsHelpers.js';
|
|
3
|
-
import { b as require_getNative,
|
|
3
|
+
import { b as require_getNative, c as require_Map, d as require_toSource, e as requireIsLength, f as requireIsArguments, h as require_baseGet, j as require_ListCache, k as require_MapCache, l as require_assignValue, m as require_baseAssignValue, n as require_isIndex, o as require_arrayPush, p as require_castPath, q as require_toKey, s as require_arrayMap, t as require_flatRest, a as appendQueryParams, u as utf8ToBase64, F as FORMAT_MAPPINGS, C as CONTAINER_MIME_TYPES, i as isRawUrl, V as VIDEO_SUFFIX_REMOVAL_PATTERN, D as DEFAULT_VIDEO_PARAMS, v as DEFAULT_POSTER_PARAMS$1, A as ADAPTIVE_SOURCETYPES, R as RENDITIONS, w as DEFAULT_DPR, x as requireToString, y as require_createCompounder, g as getCloudinaryConfigFromOptions, z as pick } from './cloudinary-config-from-options.js';
|
|
4
4
|
import { a as require_root, c as require_baseGetTag, b as requireIsFunction, e as requireIsObjectLike, g as require_freeGlobal, d as requireIsArray, r as requireIsObject, f as require_Symbol, S as SOURCE_PARAMS, h as CROP_MODE, F as FLOATING_TO, P as PRELOAD, i as PLAYER_PARAMS, C as CLOUDINARY_CONFIG_PARAM, j as FLUID_CLASS_NAME, A as AUTO_PLAY_MODE } from './video-player.const.js';
|
|
5
5
|
import { i as isObject$2, a as isString$1, b as isFunction$2, c as isValidPlayerConfig, d as isValidSourceConfig } from './validators-functions.js';
|
|
6
|
-
import { L as LAYER_KEYWORD_PARAMS,
|
|
6
|
+
import { L as LAYER_KEYWORD_PARAMS, a as LEGACY_CONDITIONAL_OPERATORS, b as LEGACY_PREDEFINED_VARS, O as OFFSET_ANY_PATTERN_RE, R as RANGE_VALUE_RE, u as unsigned_url_prefix, g as getCloudinaryUrlPrefix } from './cloudinary-url-prefix.js';
|
|
7
7
|
|
|
8
8
|
const byteToHex = [];
|
|
9
9
|
for (let i = 0; i < 256; ++i) {
|
|
@@ -7281,7 +7281,7 @@ class TitleBar extends Component {
|
|
|
7281
7281
|
const metadataUrl = appendQueryParams(`${urlPrefix}/_applet_/video_service/video_metadata/${deliveryType}/${utf8ToBase64(publicId)}.json`, source.queryParams());
|
|
7282
7282
|
fetch(metadataUrl, {
|
|
7283
7283
|
headers: {
|
|
7284
|
-
'X-Cld-Video-Player-Version': "3.13.1"
|
|
7284
|
+
'X-Cld-Video-Player-Version': "3.13.2-edge.1"
|
|
7285
7285
|
}
|
|
7286
7286
|
}).then(response => {
|
|
7287
7287
|
if (!response.ok) throw new Error(`HTTP ${response.status}`);
|
|
@@ -9915,7 +9915,7 @@ class CloudinaryContext {
|
|
|
9915
9915
|
hasUserPosterOptions: hasUserPosterOptions || null
|
|
9916
9916
|
});
|
|
9917
9917
|
options.queryParams = Object.assign(options.queryParams || {}, options.allowUsageReport ? {
|
|
9918
|
-
_s: `vp-${"3.13.1"}`
|
|
9918
|
+
_s: `vp-${"3.13.2-edge.1"}`
|
|
9919
9919
|
} : {});
|
|
9920
9920
|
if (options.sourceTypes.indexOf('audio') > -1) {
|
|
9921
9921
|
builtSrc = new AudioSource(publicId, options);
|
|
@@ -10069,6 +10069,9 @@ class CloudinaryContext {
|
|
|
10069
10069
|
}
|
|
10070
10070
|
return srcs;
|
|
10071
10071
|
}, []);
|
|
10072
|
+
if (src.withCredentials) {
|
|
10073
|
+
this.player.crossOrigin('use-credentials');
|
|
10074
|
+
}
|
|
10072
10075
|
this.player.src(_sources);
|
|
10073
10076
|
_lastSource = src;
|
|
10074
10077
|
if (this.playlist) {
|
|
@@ -10198,7 +10201,7 @@ class CloudinaryAnalytics {
|
|
|
10198
10201
|
}, {
|
|
10199
10202
|
...(isPlainObject(this.analyticsOptions) ? this.analyticsOptions : {}),
|
|
10200
10203
|
videoPlayerType: 'cloudinary video player',
|
|
10201
|
-
videoPlayerVersion: "3.13.1"
|
|
10204
|
+
videoPlayerVersion: "3.13.2-edge.1"
|
|
10202
10205
|
});
|
|
10203
10206
|
} else if (this.currentVideoMetadata.cloudName !== metadata.cloudName || this.currentVideoMetadata.publicId !== metadata.publicId) {
|
|
10204
10207
|
this.cloudinaryAnalytics.stopManualTracking();
|
|
@@ -10869,7 +10872,7 @@ const contextMenuContent = player => {
|
|
|
10869
10872
|
const isFullscreen = player.isFullscreen();
|
|
10870
10873
|
const aboutMenuItem = {
|
|
10871
10874
|
class: 'player-version',
|
|
10872
|
-
label: 'Cloudinary Player v' + "3.13.1"
|
|
10875
|
+
label: 'Cloudinary Player v' + "3.13.2-edge.1"
|
|
10873
10876
|
};
|
|
10874
10877
|
if (!player.controls()) {
|
|
10875
10878
|
return [aboutMenuItem];
|
|
@@ -11655,7 +11658,8 @@ const fetchFileContent = async function (url) {
|
|
|
11655
11658
|
signal,
|
|
11656
11659
|
onSuccess,
|
|
11657
11660
|
onError,
|
|
11658
|
-
onAttempt
|
|
11661
|
+
onAttempt,
|
|
11662
|
+
credentials = 'omit'
|
|
11659
11663
|
} = config;
|
|
11660
11664
|
let attempts = 0;
|
|
11661
11665
|
const attemptFetch = async () => {
|
|
@@ -11665,7 +11669,8 @@ const fetchFileContent = async function (url) {
|
|
|
11665
11669
|
attempts++;
|
|
11666
11670
|
onAttempt?.(attempts);
|
|
11667
11671
|
const response = await fetch(url, {
|
|
11668
|
-
signal
|
|
11672
|
+
signal,
|
|
11673
|
+
credentials
|
|
11669
11674
|
});
|
|
11670
11675
|
if (response.status === 202 && polling) {
|
|
11671
11676
|
if (attempts < maxAttempts) {
|
|
@@ -11877,6 +11882,7 @@ function textTracksManager() {
|
|
|
11877
11882
|
const sourceUrl = createSourceUrl();
|
|
11878
11883
|
const response = await fetchFileContent(sourceUrl, {
|
|
11879
11884
|
signal,
|
|
11885
|
+
credentials: player.cloudinary.source?.().withCredentials ? 'include' : 'omit',
|
|
11880
11886
|
polling: type === 'transcript' && !src,
|
|
11881
11887
|
interval: 2000,
|
|
11882
11888
|
maxAttempts: 10,
|
|
@@ -12419,6 +12425,12 @@ const setupEventMethods = (player, videojsInstance) => {
|
|
|
12419
12425
|
};
|
|
12420
12426
|
};
|
|
12421
12427
|
|
|
12428
|
+
/*
|
|
12429
|
+
* Used to escape element identifiers that begin with certain
|
|
12430
|
+
* characters such as digits.
|
|
12431
|
+
* https://www.w3.org/International/questions/qa-escapes#css_identifiers
|
|
12432
|
+
*/
|
|
12433
|
+
|
|
12422
12434
|
const addMetadataTrack = (videoJs, vttSource) => {
|
|
12423
12435
|
return videoJs.addRemoteTextTrack({
|
|
12424
12436
|
kind: 'metadata',
|
|
@@ -12439,7 +12451,7 @@ const getResolveVideoElement = elem => {
|
|
|
12439
12451
|
id = id.slice(1);
|
|
12440
12452
|
}
|
|
12441
12453
|
try {
|
|
12442
|
-
elem = document.querySelector(`#${
|
|
12454
|
+
elem = document.querySelector(`#${CSS.escape(id)}`) || _vjs.getPlayer(id);
|
|
12443
12455
|
} catch (err) {
|
|
12444
12456
|
// eslint-disable-line no-unused-vars
|
|
12445
12457
|
elem = null;
|
|
@@ -12477,7 +12489,7 @@ const extractOptions = (elem, options) => {
|
|
|
12477
12489
|
|
|
12478
12490
|
// Extract cloudinaryConfig from playerOptions if not explicitly provided
|
|
12479
12491
|
if (!options.cloudinaryConfig) {
|
|
12480
|
-
const snakeCaseCloudinaryConfig =
|
|
12492
|
+
const snakeCaseCloudinaryConfig = getCloudinaryConfigFromOptions(options);
|
|
12481
12493
|
if (Object.keys(snakeCaseCloudinaryConfig).length > 0) {
|
|
12482
12494
|
options.cloudinaryConfig = snakeCaseCloudinaryConfig;
|
|
12483
12495
|
}
|
|
@@ -12682,6 +12694,8 @@ const getAnalyticsFromPlayerOptions = playerOptions => filterDefaultsAndNulls({
|
|
|
12682
12694
|
debug: playerOptions.debug,
|
|
12683
12695
|
type: playerOptions.type,
|
|
12684
12696
|
schedule: hasConfig(playerOptions.schedule?.weekly),
|
|
12697
|
+
lazy: playerOptions.lazy === true || playerOptions.lazy && typeof playerOptions.lazy === 'object',
|
|
12698
|
+
lazyLoadOnScroll: playerOptions.lazy && typeof playerOptions.lazy === 'object' && playerOptions.lazy.loadOnScroll === true ? true : undefined,
|
|
12685
12699
|
colors: hasConfig(playerOptions.colors),
|
|
12686
12700
|
controlBar: hasConfig(playerOptions.controlBar),
|
|
12687
12701
|
...getSourceOptions(playerOptions.sourceOptions || {}),
|
|
@@ -12788,7 +12802,7 @@ class VideoPlayer {
|
|
|
12788
12802
|
const analyticsData = getAnalyticsFromPlayerOptions(options);
|
|
12789
12803
|
const analyticsParams = new URLSearchParams(analyticsData).toString();
|
|
12790
12804
|
const baseParams = new URLSearchParams({
|
|
12791
|
-
vpVersion: "3.13.1",
|
|
12805
|
+
vpVersion: "3.13.2-edge.1",
|
|
12792
12806
|
vpInstanceId: this.getVPInstanceId(),
|
|
12793
12807
|
cloudName: options.cloudinary.cloud_name,
|
|
12794
12808
|
...internalAnalyticsMetadata
|
package/lib/videoPlayer.js
CHANGED
|
@@ -2,7 +2,8 @@ export { videoPlayer as default } from './index.js';
|
|
|
2
2
|
import './_videojs-proxy.js';
|
|
3
3
|
import './_commonjsHelpers.js';
|
|
4
4
|
import './video-player.js';
|
|
5
|
-
import './
|
|
5
|
+
import './cloudinary-config-from-options.js';
|
|
6
6
|
import './video-player.const.js';
|
|
7
7
|
import './validators-functions.js';
|
|
8
|
+
import './cloudinary-url-prefix.js';
|
|
8
9
|
import './player-api.js';
|
package/package.json
CHANGED
|
@@ -1,16 +1,22 @@
|
|
|
1
1
|
type VideoPlayerFunction = (id: string, options?: any, ready?: () => void) => VideoPlayer;
|
|
2
2
|
type VideoMultiPlayersFunction = (selector: string, options?: any, ready?: () => void) => VideoPlayer[];
|
|
3
3
|
type VideoPlayerWithProfileFunction = (id: string, options?: any, ready?: () => void) => Promise<VideoPlayer>;
|
|
4
|
+
type AsyncPlayerFunction = (id: string, options?: any, ready?: () => void) => Promise<VideoPlayer | { source: () => unknown; loadPlayer: () => Promise<VideoPlayer> }>;
|
|
5
|
+
type AsyncPlayersFunction = (selector: string, options?: any, ready?: () => void) => Promise<VideoPlayer[]>;
|
|
4
6
|
|
|
5
7
|
export const videoPlayer: VideoPlayerFunction;
|
|
6
8
|
export const videoPlayers: VideoMultiPlayersFunction;
|
|
7
9
|
export const videoPlayerWithProfile: VideoPlayerWithProfileFunction;
|
|
10
|
+
export const player: AsyncPlayerFunction;
|
|
11
|
+
export const players: AsyncPlayersFunction;
|
|
8
12
|
|
|
9
13
|
|
|
10
14
|
export interface Cloudinary {
|
|
11
15
|
videoPlayer: VideoPlayerFunction;
|
|
12
16
|
videoPlayers: VideoMultiPlayersFunction;
|
|
13
17
|
videoPlayerWithProfile: VideoPlayerWithProfileFunction;
|
|
18
|
+
player: AsyncPlayerFunction;
|
|
19
|
+
players: AsyncPlayersFunction;
|
|
14
20
|
}
|
|
15
21
|
|
|
16
22
|
declare global {
|
package/dist/19.min.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Cloudinary Video Player v3.13.1
|
|
3
|
-
* Built on 2026-04-02T13:46:27.754Z
|
|
4
|
-
* https://github.com/cloudinary/cloudinary-video-player
|
|
5
|
-
*/
|
|
6
|
-
(self.cloudinaryVideoPlayerChunkLoading=self.cloudinaryVideoPlayerChunkLoading||[]).push([[19],{5226(t,r,e){"use strict";e.d(r,{IH:()=>c,P8:()=>u,Tf:()=>o,VX:()=>p,XY:()=>i,cE:()=>a,o7:()=>f,uf:()=>s,vD:()=>n});const n={format:"jpg",resource_type:"video"},o={resource_type:"video",type:"upload",hdr:!1,transformation:[],sourceTransformation:{},sourceTypes:["auto"],recommendations:null,info:{},interactionAreas:{},chapters:{}},a=RegExp(`\\.(${["3g2","3gp","avi","flv","m3u8","ts","m2ts","mts","mov","mkv","mp4","mpeg","mpd","mxf","ogv","webm","wmv"].join("|")})$$`),u=RegExp("https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_+.~#?&/=]*)"),i={hls:"application/x-mpegURL",dash:"application/dash+xml",opus:"video/ogg",ogv:"video/ogg",mp4:"video/mp4",mov:"video/mp4",m4v:"video/mp4",mkv:"video/x-matroska",m4a:"audio/mp4",mp3:"audio/mpeg",aac:"audio/aac",caf:"audio/x-caf",flac:"audio/flac",oga:"audio/ogg",wav:"audio/wav",m3u8:"application/x-mpegURL",mpd:"application/dash+xml",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",png:"image/png",svg:"image/svg+xml",webp:"image/webp"},s=["hls","dash","mpd","m3u8"],c={hls:"m3u8",dash:"mpd"},p=2,f=[640,848,1280,1920,2560,3840]},9897(t,r,e){"use strict";e.d(r,{i:()=>a,k:()=>o.k});var n=e(5226),o=e(1741);const a=t=>n.P8.test(t)},7155(t,r,e){"use strict";e.d(r,{d:()=>a});var n=e(5072),o=e.n(n);const a=t=>{let r={};for(const e of Object.keys(t)){r[o()(e)]=t[e]}return r}},7311(t,r,e){"use strict";e.d(r,{N:()=>n});const n=(t,r)=>{if(!r||!Object.keys(r).length)return t;const e=new URL(t);return Object.entries(r).forEach(t=>{let[r,n]=t;null!=n&&e.searchParams.append(r,n)}),e.href}},2415(t,r,e){"use strict";function n(t){const r=(new TextEncoder).encode(t),e=String.fromCharCode(...r);return btoa(e)}e.d(r,{G:()=>n})},608(t,r,e){"use strict";e.d(r,{Am:()=>p,HJ:()=>i,KE:()=>c,LU:()=>n,_V:()=>a,gi:()=>u,hN:()=>f,jK:()=>o,rT:()=>s});const n=["adaptiveStreaming","allowUsageReport","aspectRatio","autoShowRecommendations","breakpoints","chapters","cropMode","cropPadColor","cloudinaryConfig","description","download","hdr","info","interactionAreas","maxDpr","poster","posterOptions","publicId","rawTransformation","recommendations","resourceType","shoppable","source","sourceTransformation","sourceTypes","textTracks","title","transformation","type","visualSearch","withCredentials","videoSources"],o=n.concat(["_internalAnalyticsMetadata","ads","aiHighlightsGraph","analytics","autoplayMode","chaptersButton","cloudinaryAnalytics","colors","debug","fetchErrorUsingGet","floatingWhenNotVisible","fluid","fontFace","hideContextMenu","ima","pictureInPictureToggle","playedEventPercents","playedEventTimes","playlistWidget","profile","qualitySelector","queryParams","seekThumbnails","showJumpControls","videoConfig","schedule"]),a=["api_secret","auth_token","cdn_subdomain","cloud_name","cname","private_cdn","secure","secure_cdn_subdomain","secure_distribution","shorten","sign_url","url_suffix","use_root_path"],u="cld-fluid",i={ALWAYS:"always",ON_SCROLL:"on-scroll",NEVER:"never"},s={LEFT:"left",RIGHT:"right",NONE:"none"},c={FIRST_VIDEO:"first-video",EVERY_VIDEO:"every-video"},p={AUTO:"auto",METADATA:"metadata",NONE:"none"},f={FILL:"fill",PAD:"pad",SMART:"smart"}},9073(t,r,e){var n=e(2316),o=e(6458),a=e(2149),u=e(4297),i=e(3121);function s(t){var r=-1,e=null==t?0:t.length;for(this.clear();++r<e;){var n=t[r];this.set(n[0],n[1])}}s.prototype.clear=n,s.prototype.delete=o,s.prototype.get=a,s.prototype.has=u,s.prototype.set=i,t.exports=s},2707(t,r,e){var n=e(9714),o=e(3812),a=e(4727),u=e(8379),i=e(8291);function s(t){var r=-1,e=null==t?0:t.length;for(this.clear();++r<e;){var n=t[r];this.set(n[0],n[1])}}s.prototype.clear=n,s.prototype.delete=o,s.prototype.get=a,s.prototype.has=u,s.prototype.set=i,t.exports=s},1955(t,r,e){var n=e(9138)(e(1433),"Map");t.exports=n},369(t,r,e){var n=e(2092),o=e(9626),a=e(9925),u=e(6809),i=e(4385);function s(t){var r=-1,e=null==t?0:t.length;for(this.clear();++r<e;){var n=t[r];this.set(n[0],n[1])}}s.prototype.clear=n,s.prototype.delete=o,s.prototype.get=a,s.prototype.has=u,s.prototype.set=i,t.exports=s},2781(t,r,e){var n=e(1433).Symbol;t.exports=n},6701(t){t.exports=function(t,r,e){switch(e.length){case 0:return t.call(r);case 1:return t.call(r,e[0]);case 2:return t.call(r,e[0],e[1]);case 3:return t.call(r,e[0],e[1],e[2])}return t.apply(r,e)}},4272(t){t.exports=function(t,r){for(var e=-1,n=null==t?0:t.length,o=Array(n);++e<n;)o[e]=r(t[e],e,t);return o}},8740(t){t.exports=function(t,r){for(var e=-1,n=r.length,o=t.length;++e<n;)t[o+e]=r[e];return t}},2814(t){t.exports=function(t,r,e,n){var o=-1,a=null==t?0:t.length;for(n&&a&&(e=t[++o]);++o<a;)e=r(e,t[o],o,t);return e}},8273(t){var r=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;t.exports=function(t){return t.match(r)||[]}},2863(t,r,e){var n=e(4772),o=e(9316),a=Object.prototype.hasOwnProperty;t.exports=function(t,r,e){var u=t[r];a.call(t,r)&&o(u,e)&&(void 0!==e||r in t)||n(t,r,e)}},8301(t,r,e){var n=e(9316);t.exports=function(t,r){for(var e=t.length;e--;)if(n(t[e][0],r))return e;return-1}},4772(t,r,e){var n=e(8559);t.exports=function(t,r,e){"__proto__"==r&&n?n(t,r,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[r]=e}},1044(t,r,e){var n=e(8740),o=e(8031);t.exports=function t(r,e,a,u,i){var s=-1,c=r.length;for(a||(a=o),i||(i=[]);++s<c;){var p=r[s];e>0&&a(p)?e>1?t(p,e-1,a,u,i):n(i,p):u||(i[i.length]=p)}return i}},7722(t,r,e){var n=e(7181),o=e(6729);t.exports=function(t,r){for(var e=0,a=(r=n(r,t)).length;null!=t&&e<a;)t=t[o(r[e++])];return e&&e==a?t:void 0}},7148(t,r,e){var n=e(2781),o=e(7903),a=e(1738),u=n?n.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":u&&u in Object(t)?o(t):a(t)}},809(t){t.exports=function(t,r){return null!=t&&r in Object(t)}},9250(t,r,e){var n=e(7148),o=e(2934);t.exports=function(t){return o(t)&&"[object Arguments]"==n(t)}},6567(t,r,e){var n=e(8446),o=e(8092),a=e(8953),u=e(1485),i=/^\[object .+?Constructor\]$/,s=Function.prototype,c=Object.prototype,p=s.toString,f=c.hasOwnProperty,l=RegExp("^"+p.call(f).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!a(t)||o(t))&&(n(t)?l:i).test(u(t))}},6733(t,r,e){var n=e(5576),o=e(8235);t.exports=function(t,r){return n(t,r,function(r,e){return o(t,e)})}},5576(t,r,e){var n=e(7722),o=e(8230),a=e(7181);t.exports=function(t,r,e){for(var u=-1,i=r.length,s={};++u<i;){var c=r[u],p=n(t,c);e(p,c)&&o(s,a(c,t),p)}return s}},6764(t){t.exports=function(t){return function(r){return null==t?void 0:t[r]}}},8230(t,r,e){var n=e(2863),o=e(7181),a=e(2845),u=e(8953),i=e(6729);t.exports=function(t,r,e,s){if(!u(t))return t;for(var c=-1,p=(r=o(r,t)).length,f=p-1,l=t;null!=l&&++c<p;){var v=i(r[c]),d=e;if("__proto__"===v||"constructor"===v||"prototype"===v)return t;if(c!=f){var h=l[v];void 0===(d=s?s(h,v,l):void 0)&&(d=u(h)?h:a(r[c+1])?[]:{})}n(l,v,d),l=l[v]}return t}},7310(t,r,e){var n=e(3122),o=e(8559),a=e(4796),u=o?function(t,r){return o(t,"toString",{configurable:!0,enumerable:!1,value:n(r),writable:!0})}:a;t.exports=u},6584(t,r,e){var n=e(2781),o=e(4272),a=e(6397),u=e(5414),i=n?n.prototype:void 0,s=i?i.toString:void 0;t.exports=function t(r){if("string"==typeof r)return r;if(a(r))return o(r,t)+"";if(u(r))return s?s.call(r):"";var e=r+"";return"0"==e&&1/r==-1/0?"-0":e}},7181(t,r,e){var n=e(6397),o=e(3726),a=e(3614),u=e(3506);t.exports=function(t,r){return n(t)?t:o(t,r)?[t]:a(u(t))}},8109(t,r,e){var n=e(1433)["__core-js_shared__"];t.exports=n},6983(t,r,e){var n=e(2814),o=e(3768),a=e(7385),u=RegExp("['’]","g");t.exports=function(t){return function(r){return n(a(o(r).replace(u,"")),t,"")}}},8795(t,r,e){var n=e(6764)({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"});t.exports=n},8559(t,r,e){var n=e(9138),o=function(){try{var t=n(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();t.exports=o},9820(t,r,e){var n=e(3406),o=e(5265),a=e(6805);t.exports=function(t){return a(o(t,void 0,n),t+"")}},5380(t,r,e){var n="object"==typeof e.g&&e.g&&e.g.Object===Object&&e.g;t.exports=n},5535(t,r,e){var n=e(5662);t.exports=function(t,r){var e=t.__data__;return n(r)?e["string"==typeof r?"string":"hash"]:e.map}},9138(t,r,e){var n=e(6567),o=e(6772);t.exports=function(t,r){var e=o(t,r);return n(e)?e:void 0}},7903(t,r,e){var n=e(2781),o=Object.prototype,a=o.hasOwnProperty,u=o.toString,i=n?n.toStringTag:void 0;t.exports=function(t){var r=a.call(t,i),e=t[i];try{t[i]=void 0;var n=!0}catch(t){}var o=u.call(t);return n&&(r?t[i]=e:delete t[i]),o}},6772(t){t.exports=function(t,r){return null==t?void 0:t[r]}},6866(t,r,e){var n=e(7181),o=e(1256),a=e(6397),u=e(2845),i=e(3330),s=e(6729);t.exports=function(t,r,e){for(var c=-1,p=(r=n(r,t)).length,f=!1;++c<p;){var l=s(r[c]);if(!(f=null!=t&&e(t,l)))break;t=t[l]}return f||++c!=p?f:!!(p=null==t?0:t.length)&&i(p)&&u(l,p)&&(a(t)||o(t))}},5854(t){var r=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;t.exports=function(t){return r.test(t)}},2316(t,r,e){var n=e(4558);t.exports=function(){this.__data__=n?n(null):{},this.size=0}},6458(t){t.exports=function(t){var r=this.has(t)&&delete this.__data__[t];return this.size-=r?1:0,r}},2149(t,r,e){var n=e(4558),o=Object.prototype.hasOwnProperty;t.exports=function(t){var r=this.__data__;if(n){var e=r[t];return"__lodash_hash_undefined__"===e?void 0:e}return o.call(r,t)?r[t]:void 0}},4297(t,r,e){var n=e(4558),o=Object.prototype.hasOwnProperty;t.exports=function(t){var r=this.__data__;return n?void 0!==r[t]:o.call(r,t)}},3121(t,r,e){var n=e(4558);t.exports=function(t,r){var e=this.__data__;return this.size+=this.has(t)?0:1,e[t]=n&&void 0===r?"__lodash_hash_undefined__":r,this}},8031(t,r,e){var n=e(2781),o=e(1256),a=e(6397),u=n?n.isConcatSpreadable:void 0;t.exports=function(t){return a(t)||o(t)||!!(u&&t&&t[u])}},2845(t){var r=/^(?:0|[1-9]\d*)$/;t.exports=function(t,e){var n=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==n||"symbol"!=n&&r.test(t))&&t>-1&&t%1==0&&t<e}},3726(t,r,e){var n=e(6397),o=e(5414),a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,u=/^\w*$/;t.exports=function(t,r){if(n(t))return!1;var e=typeof t;return!("number"!=e&&"symbol"!=e&&"boolean"!=e&&null!=t&&!o(t))||(u.test(t)||!a.test(t)||null!=r&&t in Object(r))}},5662(t){t.exports=function(t){var r=typeof t;return"string"==r||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==t:null===t}},8092(t,r,e){var n,o=e(8109),a=(n=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"";t.exports=function(t){return!!a&&a in t}},9714(t){t.exports=function(){this.__data__=[],this.size=0}},3812(t,r,e){var n=e(8301),o=Array.prototype.splice;t.exports=function(t){var r=this.__data__,e=n(r,t);return!(e<0)&&(e==r.length-1?r.pop():o.call(r,e,1),--this.size,!0)}},4727(t,r,e){var n=e(8301);t.exports=function(t){var r=this.__data__,e=n(r,t);return e<0?void 0:r[e][1]}},8379(t,r,e){var n=e(8301);t.exports=function(t){return n(this.__data__,t)>-1}},8291(t,r,e){var n=e(8301);t.exports=function(t,r){var e=this.__data__,o=n(e,t);return o<0?(++this.size,e.push([t,r])):e[o][1]=r,this}},2092(t,r,e){var n=e(9073),o=e(2707),a=e(1955);t.exports=function(){this.size=0,this.__data__={hash:new n,map:new(a||o),string:new n}}},9626(t,r,e){var n=e(5535);t.exports=function(t){var r=n(this,t).delete(t);return this.size-=r?1:0,r}},9925(t,r,e){var n=e(5535);t.exports=function(t){return n(this,t).get(t)}},6809(t,r,e){var n=e(5535);t.exports=function(t){return n(this,t).has(t)}},4385(t,r,e){var n=e(5535);t.exports=function(t,r){var e=n(this,t),o=e.size;return e.set(t,r),this.size+=e.size==o?0:1,this}},9268(t,r,e){var n=e(4556);t.exports=function(t){var r=n(t,function(t){return 500===e.size&&e.clear(),t}),e=r.cache;return r}},4558(t,r,e){var n=e(9138)(Object,"create");t.exports=n},1738(t){var r=Object.prototype.toString;t.exports=function(t){return r.call(t)}},5265(t,r,e){var n=e(6701),o=Math.max;t.exports=function(t,r,e){return r=o(void 0===r?t.length-1:r,0),function(){for(var a=arguments,u=-1,i=o(a.length-r,0),s=Array(i);++u<i;)s[u]=a[r+u];u=-1;for(var c=Array(r+1);++u<r;)c[u]=a[u];return c[r]=e(s),n(t,this,c)}}},1433(t,r,e){var n=e(5380),o="object"==typeof self&&self&&self.Object===Object&&self,a=n||o||Function("return this")();t.exports=a},6805(t,r,e){var n=e(7310),o=e(3983)(n);t.exports=o},3983(t){var r=Date.now;t.exports=function(t){var e=0,n=0;return function(){var o=r(),a=16-(o-n);if(n=o,a>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}},3614(t,r,e){var n=e(9268),o=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,a=/\\(\\)?/g,u=n(function(t){var r=[];return 46===t.charCodeAt(0)&&r.push(""),t.replace(o,function(t,e,n,o){r.push(n?o.replace(a,"$1"):e||t)}),r});t.exports=u},6729(t,r,e){var n=e(5414);t.exports=function(t){if("string"==typeof t||n(t))return t;var r=t+"";return"0"==r&&1/t==-1/0?"-0":r}},1485(t){var r=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return r.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},5701(t){var r="\\ud800-\\udfff",e="\\u2700-\\u27bf",n="a-z\\xdf-\\xf6\\xf8-\\xff",o="A-Z\\xc0-\\xd6\\xd8-\\xde",a="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",u="["+a+"]",i="\\d+",s="["+e+"]",c="["+n+"]",p="[^"+r+a+i+e+n+o+"]",f="(?:\\ud83c[\\udde6-\\uddff]){2}",l="[\\ud800-\\udbff][\\udc00-\\udfff]",v="["+o+"]",d="(?:"+c+"|"+p+")",h="(?:"+v+"|"+p+")",x="(?:['’](?:d|ll|m|re|s|t|ve))?",g="(?:['’](?:D|LL|M|RE|S|T|VE))?",y="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",_="[\\ufe0e\\ufe0f]?",m=_+y+("(?:\\u200d(?:"+["[^"+r+"]",f,l].join("|")+")"+_+y+")*"),b="(?:"+[s,f,l].join("|")+")"+m,j=RegExp([v+"?"+c+"+"+x+"(?="+[u,v,"$"].join("|")+")",h+"+"+g+"(?="+[u,v+d,"$"].join("|")+")",v+"?"+d+"+"+x,v+"+"+g,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",i,b].join("|"),"g");t.exports=function(t){return t.match(j)||[]}},3122(t){t.exports=function(t){return function(){return t}}},3768(t,r,e){var n=e(8795),o=e(3506),a=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,u=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g");t.exports=function(t){return(t=o(t))&&t.replace(a,n).replace(u,"")}},9316(t){t.exports=function(t,r){return t===r||t!=t&&r!=r}},3406(t,r,e){var n=e(1044);t.exports=function(t){return(null==t?0:t.length)?n(t,1):[]}},8235(t,r,e){var n=e(809),o=e(6866);t.exports=function(t,r){return null!=t&&o(t,r,n)}},4796(t){t.exports=function(t){return t}},1256(t,r,e){var n=e(9250),o=e(2934),a=Object.prototype,u=a.hasOwnProperty,i=a.propertyIsEnumerable,s=n(function(){return arguments}())?n:function(t){return o(t)&&u.call(t,"callee")&&!i.call(t,"callee")};t.exports=s},6397(t){var r=Array.isArray;t.exports=r},8446(t,r,e){var n=e(7148),o=e(8953);t.exports=function(t){if(!o(t))return!1;var r=n(t);return"[object Function]"==r||"[object GeneratorFunction]"==r||"[object AsyncFunction]"==r||"[object Proxy]"==r}},3330(t){t.exports=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},8953(t){t.exports=function(t){var r=typeof t;return null!=t&&("object"==r||"function"==r)}},2934(t){t.exports=function(t){return null!=t&&"object"==typeof t}},5414(t,r,e){var n=e(7148),o=e(2934);t.exports=function(t){return"symbol"==typeof t||o(t)&&"[object Symbol]"==n(t)}},4556(t,r,e){var n=e(369);function o(t,r){if("function"!=typeof t||null!=r&&"function"!=typeof r)throw new TypeError("Expected a function");var e=function(){var n=arguments,o=r?r.apply(this,n):n[0],a=e.cache;if(a.has(o))return a.get(o);var u=t.apply(this,n);return e.cache=a.set(o,u)||a,u};return e.cache=new(o.Cache||n),e}o.Cache=n,t.exports=o},7171(t,r,e){var n=e(6733),o=e(9820)(function(t,r){return null==t?{}:n(t,r)});t.exports=o},5072(t,r,e){var n=e(6983)(function(t,r,e){return t+(e?"_":"")+r.toLowerCase()});t.exports=n},3506(t,r,e){var n=e(6584);t.exports=function(t){return null==t?"":n(t)}},7385(t,r,e){var n=e(8273),o=e(5854),a=e(3506),u=e(5701);t.exports=function(t,r,e){return t=a(t),void 0===(r=e?void 0:r)?o(t)?u(t):n(t):t.match(r)||[]}}}]);
|