cloudinary-video-player 3.13.1 → 3.13.2-edge.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/134.min.js +4 -4
  2. package/dist/309.min.js +3 -3
  3. package/dist/350.min.js +6 -0
  4. package/dist/689.min.js +6 -0
  5. package/dist/adaptive-streaming.js +2 -2
  6. package/dist/adaptive-streaming.min.js +2 -2
  7. package/dist/chapters.js +2 -2
  8. package/dist/chapters.min.js +2 -2
  9. package/dist/cld-player-core.js +2 -2
  10. package/dist/cld-player-core.min.js +2 -2
  11. package/dist/cld-poster-url.js +57 -0
  12. package/dist/cld-poster-url.min.js +6 -0
  13. package/dist/cld-video-player-lazy.js +10 -66
  14. package/dist/cld-video-player-lazy.min.js +3 -3
  15. package/dist/cld-video-player.css +6 -2
  16. package/dist/cld-video-player.js +33 -43
  17. package/dist/cld-video-player.light.js +33 -43
  18. package/dist/cld-video-player.light.min.js +4 -4
  19. package/dist/cld-video-player.min.css +3 -3
  20. package/dist/cld-video-player.min.js +4 -4
  21. package/dist/colors.js +2 -2
  22. package/dist/colors.min.js +2 -2
  23. package/dist/dash.js +2 -2
  24. package/dist/dash.min.js +2 -2
  25. package/dist/debug.js +3 -3
  26. package/dist/debug.min.js +3 -3
  27. package/dist/ima.js +2 -2
  28. package/dist/ima.min.js +2 -2
  29. package/dist/interaction-areas.js +2 -2
  30. package/dist/interaction-areas.min.js +2 -2
  31. package/dist/node_modules_lodash_throttle_js.js +2 -2
  32. package/dist/playlist.js +2 -2
  33. package/dist/playlist.min.js +2 -2
  34. 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
  35. package/dist/recommendations-overlay.js +2 -2
  36. package/dist/recommendations-overlay.min.js +2 -2
  37. package/dist/schema.json +16 -0
  38. package/dist/share.js +2 -2
  39. package/dist/share.min.js +2 -2
  40. package/dist/shoppable.js +2 -2
  41. package/dist/shoppable.min.js +2 -2
  42. package/dist/utils_fetch-config_js.js +3 -3
  43. package/dist/utils_schedule_js.js +27 -0
  44. package/dist/video-player_js.js +9 -9
  45. package/dist/visual-search.js +2 -2
  46. package/dist/visual-search.min.js +2 -2
  47. package/lib/all.js +3 -2
  48. package/lib/chapters.js +2 -2
  49. package/lib/cld-video-player.min.css +3 -3
  50. package/lib/{object.js → cloudinary-config-from-options.js} +10 -2
  51. package/lib/cloudinary-url-prefix.js +91 -0
  52. package/lib/colors.js +2 -2
  53. package/lib/config/configSchema.json +16 -0
  54. package/lib/debug.js +1 -0
  55. package/lib/fetch-config.js +4 -11
  56. package/lib/index.js +3 -2
  57. package/lib/interaction-areas.service.js +2 -2
  58. package/lib/lazy.js +0 -1
  59. package/lib/player-api.js +171 -413
  60. package/lib/player.js +2 -1
  61. package/lib/playlist.js +2 -2
  62. package/lib/poster-url.js +46 -0
  63. package/lib/recommendations-overlay.js +2 -2
  64. package/lib/schedule.js +153 -0
  65. package/lib/share.js +2 -2
  66. package/lib/shoppable-widget.js +2 -2
  67. package/lib/toNumber.js +1 -1
  68. package/lib/video-player.const.js +1 -1
  69. package/lib/video-player.js +17 -9
  70. package/lib/videoPlayer.js +2 -1
  71. package/package.json +1 -1
  72. package/types/cld-video-player.d.ts +6 -0
  73. 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 './object.js';
4
+ import './cloudinary-config-from-options.js';
5
5
  import './video-player.const.js';
6
6
  import './validators-functions.js';
7
- import './player-api.js';
7
+ import './cloudinary-url-prefix.js';
8
8
 
9
9
  const ClickableComponent$1 = _vjs.getComponent('ClickableComponent');
10
10
  class RecommendationsOverlayItem extends ClickableComponent$1 {
@@ -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 './object.js';
5
+ import './cloudinary-config-from-options.js';
6
6
  import './video-player.const.js';
7
7
  import './validators-functions.js';
8
- import './player-api.js';
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] : {};
@@ -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 './object.js';
8
+ import './cloudinary-config-from-options.js';
9
9
  import './validators-functions.js';
10
- import './player-api.js';
10
+ import './cloudinary-url-prefix.js';
11
11
 
12
12
  class ShoppableWidget {
13
13
  constructor(player) {
package/lib/toNumber.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { r as requireIsObject } from './video-player.const.js';
2
- import { r as requireIsSymbol } from './object.js';
2
+ import { r as requireIsSymbol } from './cloudinary-config-from-options.js';
3
3
 
4
4
  /** Used to match a single whitespace character. */
5
5
 
@@ -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'];
@@ -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, d as require_Map, e as require_toSource, f as requireIsLength, g 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, q as require_castPath, s as require_toKey, t as require_arrayMap, v 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, w as DEFAULT_POSTER_PARAMS$1, A as ADAPTIVE_SOURCETYPES, R as RENDITIONS, x as DEFAULT_DPR, y as requireToString, z as require_createCompounder, p as pick, c as convertKeysToSnakeCase } from './object.js';
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, b as LEGACY_CONDITIONAL_OPERATORS, d as LEGACY_PREDEFINED_VARS, O as OFFSET_ANY_PATTERN_RE, R as RANGE_VALUE_RE, u as unsigned_url_prefix, g as getCloudinaryUrlPrefix, e as cssEscape } from './player-api.js';
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.0"
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.0"}`
9919
9919
  } : {});
9920
9920
  if (options.sourceTypes.indexOf('audio') > -1) {
9921
9921
  builtSrc = new AudioSource(publicId, options);
@@ -10198,7 +10198,7 @@ class CloudinaryAnalytics {
10198
10198
  }, {
10199
10199
  ...(isPlainObject(this.analyticsOptions) ? this.analyticsOptions : {}),
10200
10200
  videoPlayerType: 'cloudinary video player',
10201
- videoPlayerVersion: "3.13.1"
10201
+ videoPlayerVersion: "3.13.2-edge.0"
10202
10202
  });
10203
10203
  } else if (this.currentVideoMetadata.cloudName !== metadata.cloudName || this.currentVideoMetadata.publicId !== metadata.publicId) {
10204
10204
  this.cloudinaryAnalytics.stopManualTracking();
@@ -10869,7 +10869,7 @@ const contextMenuContent = player => {
10869
10869
  const isFullscreen = player.isFullscreen();
10870
10870
  const aboutMenuItem = {
10871
10871
  class: 'player-version',
10872
- label: 'Cloudinary Player v' + "3.13.1"
10872
+ label: 'Cloudinary Player v' + "3.13.2-edge.0"
10873
10873
  };
10874
10874
  if (!player.controls()) {
10875
10875
  return [aboutMenuItem];
@@ -12419,6 +12419,12 @@ const setupEventMethods = (player, videojsInstance) => {
12419
12419
  };
12420
12420
  };
12421
12421
 
12422
+ /*
12423
+ * Used to escape element identifiers that begin with certain
12424
+ * characters such as digits.
12425
+ * https://www.w3.org/International/questions/qa-escapes#css_identifiers
12426
+ */
12427
+
12422
12428
  const addMetadataTrack = (videoJs, vttSource) => {
12423
12429
  return videoJs.addRemoteTextTrack({
12424
12430
  kind: 'metadata',
@@ -12439,7 +12445,7 @@ const getResolveVideoElement = elem => {
12439
12445
  id = id.slice(1);
12440
12446
  }
12441
12447
  try {
12442
- elem = document.querySelector(`#${cssEscape(id)}`) || _vjs.getPlayer(id);
12448
+ elem = document.querySelector(`#${CSS.escape(id)}`) || _vjs.getPlayer(id);
12443
12449
  } catch (err) {
12444
12450
  // eslint-disable-line no-unused-vars
12445
12451
  elem = null;
@@ -12477,7 +12483,7 @@ const extractOptions = (elem, options) => {
12477
12483
 
12478
12484
  // Extract cloudinaryConfig from playerOptions if not explicitly provided
12479
12485
  if (!options.cloudinaryConfig) {
12480
- const snakeCaseCloudinaryConfig = pick(convertKeysToSnakeCase(options), CLOUDINARY_CONFIG_PARAM);
12486
+ const snakeCaseCloudinaryConfig = getCloudinaryConfigFromOptions(options);
12481
12487
  if (Object.keys(snakeCaseCloudinaryConfig).length > 0) {
12482
12488
  options.cloudinaryConfig = snakeCaseCloudinaryConfig;
12483
12489
  }
@@ -12682,6 +12688,8 @@ const getAnalyticsFromPlayerOptions = playerOptions => filterDefaultsAndNulls({
12682
12688
  debug: playerOptions.debug,
12683
12689
  type: playerOptions.type,
12684
12690
  schedule: hasConfig(playerOptions.schedule?.weekly),
12691
+ lazy: playerOptions.lazy === true || playerOptions.lazy && typeof playerOptions.lazy === 'object',
12692
+ lazyLoadOnScroll: playerOptions.lazy && typeof playerOptions.lazy === 'object' && playerOptions.lazy.loadOnScroll === true ? true : undefined,
12685
12693
  colors: hasConfig(playerOptions.colors),
12686
12694
  controlBar: hasConfig(playerOptions.controlBar),
12687
12695
  ...getSourceOptions(playerOptions.sourceOptions || {}),
@@ -12788,7 +12796,7 @@ class VideoPlayer {
12788
12796
  const analyticsData = getAnalyticsFromPlayerOptions(options);
12789
12797
  const analyticsParams = new URLSearchParams(analyticsData).toString();
12790
12798
  const baseParams = new URLSearchParams({
12791
- vpVersion: "3.13.1",
12799
+ vpVersion: "3.13.2-edge.0",
12792
12800
  vpInstanceId: this.getVPInstanceId(),
12793
12801
  cloudName: options.cloudinary.cloud_name,
12794
12802
  ...internalAnalyticsMetadata
@@ -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 './object.js';
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,6 +1,6 @@
1
1
  {
2
2
  "name": "cloudinary-video-player",
3
- "version": "3.13.1",
3
+ "version": "3.13.2-edge.0",
4
4
  "description": "Cloudinary Video Player",
5
5
  "author": "Cloudinary",
6
6
  "license": "MIT",
@@ -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)||[]}}}]);