@ilo-org/react 0.1.2 → 0.2.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/CHANGELOG.md +21 -0
- package/lib/cjs/{DailyMotion-4f88e10b.js → DailyMotion-2aa7f048.js} +4 -5
- package/lib/cjs/{Facebook-d993b91c.js → Facebook-87e24af8.js} +4 -5
- package/lib/cjs/{FilePlayer-8272a6ea.js → FilePlayer-e1216cc8.js} +4 -5
- package/lib/cjs/{Kaltura-fbd2c46f.js → Kaltura-a673a8e9.js} +4 -5
- package/lib/cjs/{Mixcloud-2b4ffb85.js → Mixcloud-f9575c31.js} +4 -5
- package/lib/cjs/{Preview-8238ea6e.js → Preview-468c3a7f.js} +2 -2
- package/lib/cjs/{SoundCloud-356fd92d.js → SoundCloud-7c59f293.js} +4 -5
- package/lib/cjs/{Streamable-407ca855.js → Streamable-83e516e5.js} +4 -5
- package/lib/cjs/{Twitch-ca00faaf.js → Twitch-fdfa1c77.js} +4 -5
- package/lib/cjs/VideoPlayer-9ce35136.js +2059 -0
- package/lib/cjs/{Vidyard-9d037503.js → Vidyard-096bba3c.js} +4 -5
- package/lib/cjs/{Vimeo-6898bfd9.js → Vimeo-2cb7476f.js} +4 -5
- package/lib/cjs/{Wistia-ed77bf25.js → Wistia-5e830ac8.js} +4 -5
- package/lib/cjs/{YouTube-909bd761.js → YouTube-25a1d9a0.js} +4 -5
- package/lib/cjs/components/Footer/Footer.js +23 -0
- package/lib/cjs/components/Footer/index.js +18 -0
- package/lib/cjs/components/LocalNav/LocalNav.js +102 -0
- package/lib/cjs/components/LocalNav/index.js +14 -0
- package/lib/cjs/components/Video/Video.js +2 -4
- package/lib/cjs/components/Video/VideoPlayer.js +10 -1445
- package/lib/cjs/components/Video/index.js +1 -3
- package/lib/cjs/components/index.js +6 -4
- package/lib/cjs/index.js +5 -3
- package/lib/esm/{DailyMotion-9a7aeab5.js → DailyMotion-66b6eff2.js} +1 -2
- package/lib/esm/{Facebook-eb35da52.js → Facebook-dbd1003d.js} +1 -2
- package/lib/esm/{FilePlayer-22314795.js → FilePlayer-617ed2ce.js} +1 -2
- package/lib/esm/{Kaltura-b97bb455.js → Kaltura-bbcec33d.js} +1 -2
- package/lib/esm/{Mixcloud-41d6dc0b.js → Mixcloud-a681ec69.js} +1 -2
- package/lib/esm/{Preview-6d2a6792.js → Preview-407cc648.js} +1 -1
- package/lib/esm/{SoundCloud-0fac2e7a.js → SoundCloud-16e78ee5.js} +1 -2
- package/lib/esm/{Streamable-46f19a16.js → Streamable-ecb225c1.js} +1 -2
- package/lib/esm/{Twitch-1be39438.js → Twitch-8d1b6769.js} +1 -2
- package/lib/esm/VideoPlayer-62e0ce79.js +2054 -0
- package/lib/esm/{Vidyard-6185c490.js → Vidyard-57e2834a.js} +1 -2
- package/lib/esm/{Vimeo-a807e7e1.js → Vimeo-faa058a2.js} +1 -2
- package/lib/esm/{Wistia-eef03ce2.js → Wistia-24fb5120.js} +1 -2
- package/lib/esm/{YouTube-e030042e.js → YouTube-01b3e51f.js} +1 -2
- package/lib/esm/components/Footer/Footer.js +21 -0
- package/lib/esm/components/Footer/index.js +12 -0
- package/lib/esm/components/LocalNav/LocalNav.js +100 -0
- package/lib/esm/components/LocalNav/index.js +8 -0
- package/lib/esm/components/Video/Video.js +1 -3
- package/lib/esm/components/Video/VideoPlayer.js +9 -1448
- package/lib/esm/components/Video/index.js +1 -3
- package/lib/esm/components/index.js +4 -4
- package/lib/esm/index.js +3 -3
- package/lib/types/react/src/components/ContextMenu/ContextMenu.props.d.ts +1 -2
- package/lib/types/react/src/components/Footer/Footer.d.ts +4 -0
- package/lib/types/react/src/components/Footer/Footer.props.d.ts +70 -0
- package/lib/types/react/src/components/Footer/index.d.ts +1 -0
- package/lib/types/react/src/components/LinkList/LinkList.props.d.ts +2 -3
- package/lib/types/react/src/components/LocalNav/LocalNav.d.ts +4 -0
- package/lib/types/react/src/components/LocalNav/LocalNav.props.d.ts +50 -0
- package/lib/types/react/src/components/LocalNav/index.d.ts +1 -0
- package/lib/types/react/src/components/index.d.ts +2 -0
- package/lib/types/react/src/types/index.d.ts +1 -0
- package/package.json +4 -4
- package/src/components/ContextMenu/ContextMenu.props.ts +1 -1
- package/src/components/Footer/Footer.args.ts +105 -0
- package/src/components/Footer/Footer.props.ts +84 -0
- package/src/components/Footer/Footer.tsx +107 -0
- package/src/components/Footer/index.ts +1 -0
- package/src/components/LinkList/LinkList.props.ts +2 -2
- package/src/components/LocalNav/LocalNav.args.ts +64 -0
- package/src/components/LocalNav/LocalNav.props.ts +60 -0
- package/src/components/LocalNav/LocalNav.tsx +175 -0
- package/src/components/LocalNav/index.ts +1 -0
- package/src/components/index.ts +2 -0
- package/src/types/index.ts +1 -0
- package/lib/cjs/_commonjsHelpers-9f9f50a8.js +0 -39
- package/lib/cjs/patterns-975adf3c.js +0 -579
- package/lib/esm/_commonjsHelpers-849bcf65.js +0 -35
- package/lib/esm/patterns-53247c1d.js +0 -575
|
@@ -1,575 +0,0 @@
|
|
|
1
|
-
var utils = {};
|
|
2
|
-
|
|
3
|
-
var loadScript = function load (src, opts, cb) {
|
|
4
|
-
var head = document.head || document.getElementsByTagName('head')[0];
|
|
5
|
-
var script = document.createElement('script');
|
|
6
|
-
|
|
7
|
-
if (typeof opts === 'function') {
|
|
8
|
-
cb = opts;
|
|
9
|
-
opts = {};
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
opts = opts || {};
|
|
13
|
-
cb = cb || function() {};
|
|
14
|
-
|
|
15
|
-
script.type = opts.type || 'text/javascript';
|
|
16
|
-
script.charset = opts.charset || 'utf8';
|
|
17
|
-
script.async = 'async' in opts ? !!opts.async : true;
|
|
18
|
-
script.src = src;
|
|
19
|
-
|
|
20
|
-
if (opts.attrs) {
|
|
21
|
-
setAttributes(script, opts.attrs);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
if (opts.text) {
|
|
25
|
-
script.text = '' + opts.text;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
var onend = 'onload' in script ? stdOnEnd : ieOnEnd;
|
|
29
|
-
onend(script, cb);
|
|
30
|
-
|
|
31
|
-
// some good legacy browsers (firefox) fail the 'in' detection above
|
|
32
|
-
// so as a fallback we always set onload
|
|
33
|
-
// old IE will ignore this and new IE will set onload
|
|
34
|
-
if (!script.onload) {
|
|
35
|
-
stdOnEnd(script, cb);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
head.appendChild(script);
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
function setAttributes(script, attrs) {
|
|
42
|
-
for (var attr in attrs) {
|
|
43
|
-
script.setAttribute(attr, attrs[attr]);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
function stdOnEnd (script, cb) {
|
|
48
|
-
script.onload = function () {
|
|
49
|
-
this.onerror = this.onload = null;
|
|
50
|
-
cb(null, script);
|
|
51
|
-
};
|
|
52
|
-
script.onerror = function () {
|
|
53
|
-
// this.onload = null here is necessary
|
|
54
|
-
// because even IE9 works not like others
|
|
55
|
-
this.onerror = this.onload = null;
|
|
56
|
-
cb(new Error('Failed to load ' + this.src), script);
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
function ieOnEnd (script, cb) {
|
|
61
|
-
script.onreadystatechange = function () {
|
|
62
|
-
if (this.readyState != 'complete' && this.readyState != 'loaded') return
|
|
63
|
-
this.onreadystatechange = null;
|
|
64
|
-
cb(null, script); // there is no way to catch loading errors in IE8
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
var isMergeableObject = function isMergeableObject(value) {
|
|
69
|
-
return isNonNullObject(value)
|
|
70
|
-
&& !isSpecial(value)
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
function isNonNullObject(value) {
|
|
74
|
-
return !!value && typeof value === 'object'
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
function isSpecial(value) {
|
|
78
|
-
var stringValue = Object.prototype.toString.call(value);
|
|
79
|
-
|
|
80
|
-
return stringValue === '[object RegExp]'
|
|
81
|
-
|| stringValue === '[object Date]'
|
|
82
|
-
|| isReactElement(value)
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25
|
|
86
|
-
var canUseSymbol = typeof Symbol === 'function' && Symbol.for;
|
|
87
|
-
var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;
|
|
88
|
-
|
|
89
|
-
function isReactElement(value) {
|
|
90
|
-
return value.$$typeof === REACT_ELEMENT_TYPE
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
function emptyTarget(val) {
|
|
94
|
-
return Array.isArray(val) ? [] : {}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
function cloneUnlessOtherwiseSpecified(value, options) {
|
|
98
|
-
return (options.clone !== false && options.isMergeableObject(value))
|
|
99
|
-
? deepmerge(emptyTarget(value), value, options)
|
|
100
|
-
: value
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
function defaultArrayMerge(target, source, options) {
|
|
104
|
-
return target.concat(source).map(function(element) {
|
|
105
|
-
return cloneUnlessOtherwiseSpecified(element, options)
|
|
106
|
-
})
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
function getMergeFunction(key, options) {
|
|
110
|
-
if (!options.customMerge) {
|
|
111
|
-
return deepmerge
|
|
112
|
-
}
|
|
113
|
-
var customMerge = options.customMerge(key);
|
|
114
|
-
return typeof customMerge === 'function' ? customMerge : deepmerge
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
function getEnumerableOwnPropertySymbols(target) {
|
|
118
|
-
return Object.getOwnPropertySymbols
|
|
119
|
-
? Object.getOwnPropertySymbols(target).filter(function(symbol) {
|
|
120
|
-
return Object.propertyIsEnumerable.call(target, symbol)
|
|
121
|
-
})
|
|
122
|
-
: []
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
function getKeys(target) {
|
|
126
|
-
return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
function propertyIsOnObject(object, property) {
|
|
130
|
-
try {
|
|
131
|
-
return property in object
|
|
132
|
-
} catch(_) {
|
|
133
|
-
return false
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
// Protects from prototype poisoning and unexpected merging up the prototype chain.
|
|
138
|
-
function propertyIsUnsafe(target, key) {
|
|
139
|
-
return propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,
|
|
140
|
-
&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,
|
|
141
|
-
&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
function mergeObject(target, source, options) {
|
|
145
|
-
var destination = {};
|
|
146
|
-
if (options.isMergeableObject(target)) {
|
|
147
|
-
getKeys(target).forEach(function(key) {
|
|
148
|
-
destination[key] = cloneUnlessOtherwiseSpecified(target[key], options);
|
|
149
|
-
});
|
|
150
|
-
}
|
|
151
|
-
getKeys(source).forEach(function(key) {
|
|
152
|
-
if (propertyIsUnsafe(target, key)) {
|
|
153
|
-
return
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {
|
|
157
|
-
destination[key] = getMergeFunction(key, options)(target[key], source[key], options);
|
|
158
|
-
} else {
|
|
159
|
-
destination[key] = cloneUnlessOtherwiseSpecified(source[key], options);
|
|
160
|
-
}
|
|
161
|
-
});
|
|
162
|
-
return destination
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
function deepmerge(target, source, options) {
|
|
166
|
-
options = options || {};
|
|
167
|
-
options.arrayMerge = options.arrayMerge || defaultArrayMerge;
|
|
168
|
-
options.isMergeableObject = options.isMergeableObject || isMergeableObject;
|
|
169
|
-
// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()
|
|
170
|
-
// implementations can use it. The caller may not replace it.
|
|
171
|
-
options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;
|
|
172
|
-
|
|
173
|
-
var sourceIsArray = Array.isArray(source);
|
|
174
|
-
var targetIsArray = Array.isArray(target);
|
|
175
|
-
var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;
|
|
176
|
-
|
|
177
|
-
if (!sourceAndTargetTypesMatch) {
|
|
178
|
-
return cloneUnlessOtherwiseSpecified(source, options)
|
|
179
|
-
} else if (sourceIsArray) {
|
|
180
|
-
return options.arrayMerge(target, source, options)
|
|
181
|
-
} else {
|
|
182
|
-
return mergeObject(target, source, options)
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
deepmerge.all = function deepmergeAll(array, options) {
|
|
187
|
-
if (!Array.isArray(array)) {
|
|
188
|
-
throw new Error('first argument should be an array')
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
return array.reduce(function(prev, next) {
|
|
192
|
-
return deepmerge(prev, next, options)
|
|
193
|
-
}, {})
|
|
194
|
-
};
|
|
195
|
-
|
|
196
|
-
var deepmerge_1 = deepmerge;
|
|
197
|
-
|
|
198
|
-
var cjs = deepmerge_1;
|
|
199
|
-
|
|
200
|
-
Object.defineProperty(utils, "__esModule", {
|
|
201
|
-
value: true
|
|
202
|
-
});
|
|
203
|
-
utils.parseStartTime = parseStartTime;
|
|
204
|
-
utils.parseEndTime = parseEndTime;
|
|
205
|
-
utils.randomString = randomString;
|
|
206
|
-
utils.queryString = queryString;
|
|
207
|
-
utils.getSDK = getSDK;
|
|
208
|
-
utils.getConfig = getConfig;
|
|
209
|
-
utils.omit = omit;
|
|
210
|
-
utils.callPlayer = callPlayer;
|
|
211
|
-
utils.isMediaStream = isMediaStream;
|
|
212
|
-
utils.isBlobUrl = isBlobUrl;
|
|
213
|
-
utils.supportsWebKitPresentationMode = supportsWebKitPresentationMode;
|
|
214
|
-
|
|
215
|
-
var _loadScript = _interopRequireDefault(loadScript);
|
|
216
|
-
|
|
217
|
-
var _deepmerge = _interopRequireDefault(cjs);
|
|
218
|
-
|
|
219
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
220
|
-
|
|
221
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray$1(arr, i) || _nonIterableRest(); }
|
|
222
|
-
|
|
223
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
224
|
-
|
|
225
|
-
function _unsupportedIterableToArray$1(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$1(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen); }
|
|
226
|
-
|
|
227
|
-
function _arrayLikeToArray$1(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
228
|
-
|
|
229
|
-
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
230
|
-
|
|
231
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
232
|
-
|
|
233
|
-
var MATCH_START_QUERY = /[?&#](?:start|t)=([0-9hms]+)/;
|
|
234
|
-
var MATCH_END_QUERY = /[?&#]end=([0-9hms]+)/;
|
|
235
|
-
var MATCH_START_STAMP = /(\d+)(h|m|s)/g;
|
|
236
|
-
var MATCH_NUMERIC = /^\d+$/; // Parse YouTube URL for a start time param, ie ?t=1h14m30s
|
|
237
|
-
// and return the start time in seconds
|
|
238
|
-
|
|
239
|
-
function parseTimeParam(url, pattern) {
|
|
240
|
-
if (url instanceof Array) {
|
|
241
|
-
return undefined;
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
var match = url.match(pattern);
|
|
245
|
-
|
|
246
|
-
if (match) {
|
|
247
|
-
var stamp = match[1];
|
|
248
|
-
|
|
249
|
-
if (stamp.match(MATCH_START_STAMP)) {
|
|
250
|
-
return parseTimeString(stamp);
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
if (MATCH_NUMERIC.test(stamp)) {
|
|
254
|
-
return parseInt(stamp);
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
return undefined;
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
function parseTimeString(stamp) {
|
|
262
|
-
var seconds = 0;
|
|
263
|
-
var array = MATCH_START_STAMP.exec(stamp);
|
|
264
|
-
|
|
265
|
-
while (array !== null) {
|
|
266
|
-
var _array = array,
|
|
267
|
-
_array2 = _slicedToArray(_array, 3),
|
|
268
|
-
count = _array2[1],
|
|
269
|
-
period = _array2[2];
|
|
270
|
-
|
|
271
|
-
if (period === 'h') seconds += parseInt(count, 10) * 60 * 60;
|
|
272
|
-
if (period === 'm') seconds += parseInt(count, 10) * 60;
|
|
273
|
-
if (period === 's') seconds += parseInt(count, 10);
|
|
274
|
-
array = MATCH_START_STAMP.exec(stamp);
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
return seconds;
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
function parseStartTime(url) {
|
|
281
|
-
return parseTimeParam(url, MATCH_START_QUERY);
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
function parseEndTime(url) {
|
|
285
|
-
return parseTimeParam(url, MATCH_END_QUERY);
|
|
286
|
-
} // http://stackoverflow.com/a/38622545
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
function randomString() {
|
|
290
|
-
return Math.random().toString(36).substr(2, 5);
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
function queryString(object) {
|
|
294
|
-
return Object.keys(object).map(function (key) {
|
|
295
|
-
return "".concat(key, "=").concat(object[key]);
|
|
296
|
-
}).join('&');
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
function getGlobal(key) {
|
|
300
|
-
if (window[key]) {
|
|
301
|
-
return window[key];
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
if (window.exports && window.exports[key]) {
|
|
305
|
-
return window.exports[key];
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
if (window.module && window.module.exports && window.module.exports[key]) {
|
|
309
|
-
return window.module.exports[key];
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
return null;
|
|
313
|
-
} // Util function to load an external SDK
|
|
314
|
-
// or return the SDK if it is already loaded
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
var requests = {};
|
|
318
|
-
|
|
319
|
-
function getSDK(url, sdkGlobal) {
|
|
320
|
-
var sdkReady = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
321
|
-
var isLoaded = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function () {
|
|
322
|
-
return true;
|
|
323
|
-
};
|
|
324
|
-
var fetchScript = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : _loadScript["default"];
|
|
325
|
-
var existingGlobal = getGlobal(sdkGlobal);
|
|
326
|
-
|
|
327
|
-
if (existingGlobal && isLoaded(existingGlobal)) {
|
|
328
|
-
return Promise.resolve(existingGlobal);
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
return new Promise(function (resolve, reject) {
|
|
332
|
-
// If we are already loading the SDK, add the resolve and reject
|
|
333
|
-
// functions to the existing array of requests
|
|
334
|
-
if (requests[url]) {
|
|
335
|
-
requests[url].push({
|
|
336
|
-
resolve: resolve,
|
|
337
|
-
reject: reject
|
|
338
|
-
});
|
|
339
|
-
return;
|
|
340
|
-
}
|
|
341
|
-
|
|
342
|
-
requests[url] = [{
|
|
343
|
-
resolve: resolve,
|
|
344
|
-
reject: reject
|
|
345
|
-
}];
|
|
346
|
-
|
|
347
|
-
var onLoaded = function onLoaded(sdk) {
|
|
348
|
-
// When loaded, resolve all pending request promises
|
|
349
|
-
requests[url].forEach(function (request) {
|
|
350
|
-
return request.resolve(sdk);
|
|
351
|
-
});
|
|
352
|
-
};
|
|
353
|
-
|
|
354
|
-
if (sdkReady) {
|
|
355
|
-
var previousOnReady = window[sdkReady];
|
|
356
|
-
|
|
357
|
-
window[sdkReady] = function () {
|
|
358
|
-
if (previousOnReady) previousOnReady();
|
|
359
|
-
onLoaded(getGlobal(sdkGlobal));
|
|
360
|
-
};
|
|
361
|
-
}
|
|
362
|
-
|
|
363
|
-
fetchScript(url, function (err) {
|
|
364
|
-
if (err) {
|
|
365
|
-
// Loading the SDK failed – reject all requests and
|
|
366
|
-
// reset the array of requests for this SDK
|
|
367
|
-
requests[url].forEach(function (request) {
|
|
368
|
-
return request.reject(err);
|
|
369
|
-
});
|
|
370
|
-
requests[url] = null;
|
|
371
|
-
} else if (!sdkReady) {
|
|
372
|
-
onLoaded(getGlobal(sdkGlobal));
|
|
373
|
-
}
|
|
374
|
-
});
|
|
375
|
-
});
|
|
376
|
-
}
|
|
377
|
-
|
|
378
|
-
function getConfig(props, defaultProps) {
|
|
379
|
-
return (0, _deepmerge["default"])(defaultProps.config, props.config);
|
|
380
|
-
}
|
|
381
|
-
|
|
382
|
-
function omit(object) {
|
|
383
|
-
var _ref;
|
|
384
|
-
|
|
385
|
-
for (var _len = arguments.length, arrays = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
386
|
-
arrays[_key - 1] = arguments[_key];
|
|
387
|
-
}
|
|
388
|
-
|
|
389
|
-
var omitKeys = (_ref = []).concat.apply(_ref, arrays);
|
|
390
|
-
|
|
391
|
-
var output = {};
|
|
392
|
-
var keys = Object.keys(object);
|
|
393
|
-
|
|
394
|
-
for (var _i2 = 0, _keys = keys; _i2 < _keys.length; _i2++) {
|
|
395
|
-
var key = _keys[_i2];
|
|
396
|
-
|
|
397
|
-
if (omitKeys.indexOf(key) === -1) {
|
|
398
|
-
output[key] = object[key];
|
|
399
|
-
}
|
|
400
|
-
}
|
|
401
|
-
|
|
402
|
-
return output;
|
|
403
|
-
}
|
|
404
|
-
|
|
405
|
-
function callPlayer(method) {
|
|
406
|
-
var _this$player;
|
|
407
|
-
|
|
408
|
-
// Util method for calling a method on this.player
|
|
409
|
-
// but guard against errors and console.warn instead
|
|
410
|
-
if (!this.player || !this.player[method]) {
|
|
411
|
-
var message = "ReactPlayer: ".concat(this.constructor.displayName, " player could not call %c").concat(method, "%c \u2013 ");
|
|
412
|
-
|
|
413
|
-
if (!this.player) {
|
|
414
|
-
message += 'The player was not available';
|
|
415
|
-
} else if (!this.player[method]) {
|
|
416
|
-
message += 'The method was not available';
|
|
417
|
-
}
|
|
418
|
-
|
|
419
|
-
console.warn(message, 'font-weight: bold', '');
|
|
420
|
-
return null;
|
|
421
|
-
}
|
|
422
|
-
|
|
423
|
-
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
424
|
-
args[_key2 - 1] = arguments[_key2];
|
|
425
|
-
}
|
|
426
|
-
|
|
427
|
-
return (_this$player = this.player)[method].apply(_this$player, args);
|
|
428
|
-
}
|
|
429
|
-
|
|
430
|
-
function isMediaStream(url) {
|
|
431
|
-
return typeof window !== 'undefined' && typeof window.MediaStream !== 'undefined' && url instanceof window.MediaStream;
|
|
432
|
-
}
|
|
433
|
-
|
|
434
|
-
function isBlobUrl(url) {
|
|
435
|
-
return /^blob:/.test(url);
|
|
436
|
-
}
|
|
437
|
-
|
|
438
|
-
function supportsWebKitPresentationMode() {
|
|
439
|
-
var video = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document.createElement('video');
|
|
440
|
-
// Check if Safari supports PiP, and is not on mobile (other than iPad)
|
|
441
|
-
// iPhone safari appears to "support" PiP through the check, however PiP does not function
|
|
442
|
-
var notMobile = /iPhone|iPod/.test(navigator.userAgent) === false;
|
|
443
|
-
return video.webkitSupportsPresentationMode && typeof video.webkitSetPresentationMode === 'function' && notMobile;
|
|
444
|
-
}
|
|
445
|
-
|
|
446
|
-
var patterns = {};
|
|
447
|
-
|
|
448
|
-
Object.defineProperty(patterns, "__esModule", {
|
|
449
|
-
value: true
|
|
450
|
-
});
|
|
451
|
-
patterns.canPlay = patterns.FLV_EXTENSIONS = patterns.DASH_EXTENSIONS = patterns.HLS_EXTENSIONS = patterns.VIDEO_EXTENSIONS = patterns.AUDIO_EXTENSIONS = patterns.MATCH_URL_KALTURA = patterns.MATCH_URL_VIDYARD = patterns.MATCH_URL_MIXCLOUD = patterns.MATCH_URL_DAILYMOTION = patterns.MATCH_URL_TWITCH_CHANNEL = patterns.MATCH_URL_TWITCH_VIDEO = patterns.MATCH_URL_WISTIA = patterns.MATCH_URL_STREAMABLE = patterns.MATCH_URL_FACEBOOK_WATCH = patterns.MATCH_URL_FACEBOOK = patterns.MATCH_URL_VIMEO = patterns.MATCH_URL_SOUNDCLOUD = patterns.MATCH_URL_YOUTUBE = void 0;
|
|
452
|
-
|
|
453
|
-
var _utils = utils;
|
|
454
|
-
|
|
455
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
456
|
-
|
|
457
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
458
|
-
|
|
459
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
460
|
-
|
|
461
|
-
var MATCH_URL_YOUTUBE = /(?:youtu\.be\/|youtube(?:-nocookie)?\.com\/(?:embed\/|v\/|watch\/|watch\?v=|watch\?.+&v=|shorts\/))((\w|-){11})|youtube\.com\/playlist\?list=|youtube\.com\/user\//;
|
|
462
|
-
patterns.MATCH_URL_YOUTUBE = MATCH_URL_YOUTUBE;
|
|
463
|
-
var MATCH_URL_SOUNDCLOUD = /(?:soundcloud\.com|snd\.sc)\/[^.]+$/;
|
|
464
|
-
patterns.MATCH_URL_SOUNDCLOUD = MATCH_URL_SOUNDCLOUD;
|
|
465
|
-
var MATCH_URL_VIMEO = /vimeo\.com\/(?!progressive_redirect).+/;
|
|
466
|
-
patterns.MATCH_URL_VIMEO = MATCH_URL_VIMEO;
|
|
467
|
-
var MATCH_URL_FACEBOOK = /^https?:\/\/(www\.)?facebook\.com.*\/(video(s)?|watch|story)(\.php?|\/).+$/;
|
|
468
|
-
patterns.MATCH_URL_FACEBOOK = MATCH_URL_FACEBOOK;
|
|
469
|
-
var MATCH_URL_FACEBOOK_WATCH = /^https?:\/\/fb\.watch\/.+$/;
|
|
470
|
-
patterns.MATCH_URL_FACEBOOK_WATCH = MATCH_URL_FACEBOOK_WATCH;
|
|
471
|
-
var MATCH_URL_STREAMABLE = /streamable\.com\/([a-z0-9]+)$/;
|
|
472
|
-
patterns.MATCH_URL_STREAMABLE = MATCH_URL_STREAMABLE;
|
|
473
|
-
var MATCH_URL_WISTIA = /(?:wistia\.(?:com|net)|wi\.st)\/(?:medias|embed)\/(?:iframe\/)?(.*)$/;
|
|
474
|
-
patterns.MATCH_URL_WISTIA = MATCH_URL_WISTIA;
|
|
475
|
-
var MATCH_URL_TWITCH_VIDEO = /(?:www\.|go\.)?twitch\.tv\/videos\/(\d+)($|\?)/;
|
|
476
|
-
patterns.MATCH_URL_TWITCH_VIDEO = MATCH_URL_TWITCH_VIDEO;
|
|
477
|
-
var MATCH_URL_TWITCH_CHANNEL = /(?:www\.|go\.)?twitch\.tv\/([a-zA-Z0-9_]+)($|\?)/;
|
|
478
|
-
patterns.MATCH_URL_TWITCH_CHANNEL = MATCH_URL_TWITCH_CHANNEL;
|
|
479
|
-
var MATCH_URL_DAILYMOTION = /^(?:(?:https?):)?(?:\/\/)?(?:www\.)?(?:(?:dailymotion\.com(?:\/embed)?\/video)|dai\.ly)\/([a-zA-Z0-9]+)(?:_[\w_-]+)?$/;
|
|
480
|
-
patterns.MATCH_URL_DAILYMOTION = MATCH_URL_DAILYMOTION;
|
|
481
|
-
var MATCH_URL_MIXCLOUD = /mixcloud\.com\/([^/]+\/[^/]+)/;
|
|
482
|
-
patterns.MATCH_URL_MIXCLOUD = MATCH_URL_MIXCLOUD;
|
|
483
|
-
var MATCH_URL_VIDYARD = /vidyard.com\/(?:watch\/)?([a-zA-Z0-9-_]+)/;
|
|
484
|
-
patterns.MATCH_URL_VIDYARD = MATCH_URL_VIDYARD;
|
|
485
|
-
var MATCH_URL_KALTURA = /^https?:\/\/[a-zA-Z]+\.kaltura.(com|org)\/p\/([0-9]+)\/sp\/([0-9]+)00\/embedIframeJs\/uiconf_id\/([0-9]+)\/partner_id\/([0-9]+)(.*)entry_id.([a-zA-Z0-9-_].*)$/;
|
|
486
|
-
patterns.MATCH_URL_KALTURA = MATCH_URL_KALTURA;
|
|
487
|
-
var AUDIO_EXTENSIONS = /\.(m4a|m4b|mp4a|mpga|mp2|mp2a|mp3|m2a|m3a|wav|weba|aac|oga|spx)($|\?)/i;
|
|
488
|
-
patterns.AUDIO_EXTENSIONS = AUDIO_EXTENSIONS;
|
|
489
|
-
var VIDEO_EXTENSIONS = /\.(mp4|og[gv]|webm|mov|m4v)(#t=[,\d+]+)?($|\?)/i;
|
|
490
|
-
patterns.VIDEO_EXTENSIONS = VIDEO_EXTENSIONS;
|
|
491
|
-
var HLS_EXTENSIONS = /\.(m3u8)($|\?)/i;
|
|
492
|
-
patterns.HLS_EXTENSIONS = HLS_EXTENSIONS;
|
|
493
|
-
var DASH_EXTENSIONS = /\.(mpd)($|\?)/i;
|
|
494
|
-
patterns.DASH_EXTENSIONS = DASH_EXTENSIONS;
|
|
495
|
-
var FLV_EXTENSIONS = /\.(flv)($|\?)/i;
|
|
496
|
-
patterns.FLV_EXTENSIONS = FLV_EXTENSIONS;
|
|
497
|
-
|
|
498
|
-
var canPlayFile = function canPlayFile(url) {
|
|
499
|
-
if (url instanceof Array) {
|
|
500
|
-
var _iterator = _createForOfIteratorHelper(url),
|
|
501
|
-
_step;
|
|
502
|
-
|
|
503
|
-
try {
|
|
504
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
505
|
-
var item = _step.value;
|
|
506
|
-
|
|
507
|
-
if (typeof item === 'string' && canPlayFile(item)) {
|
|
508
|
-
return true;
|
|
509
|
-
}
|
|
510
|
-
|
|
511
|
-
if (canPlayFile(item.src)) {
|
|
512
|
-
return true;
|
|
513
|
-
}
|
|
514
|
-
}
|
|
515
|
-
} catch (err) {
|
|
516
|
-
_iterator.e(err);
|
|
517
|
-
} finally {
|
|
518
|
-
_iterator.f();
|
|
519
|
-
}
|
|
520
|
-
|
|
521
|
-
return false;
|
|
522
|
-
}
|
|
523
|
-
|
|
524
|
-
if ((0, _utils.isMediaStream)(url) || (0, _utils.isBlobUrl)(url)) {
|
|
525
|
-
return true;
|
|
526
|
-
}
|
|
527
|
-
|
|
528
|
-
return AUDIO_EXTENSIONS.test(url) || VIDEO_EXTENSIONS.test(url) || HLS_EXTENSIONS.test(url) || DASH_EXTENSIONS.test(url) || FLV_EXTENSIONS.test(url);
|
|
529
|
-
};
|
|
530
|
-
|
|
531
|
-
var canPlay = {
|
|
532
|
-
youtube: function youtube(url) {
|
|
533
|
-
if (url instanceof Array) {
|
|
534
|
-
return url.every(function (item) {
|
|
535
|
-
return MATCH_URL_YOUTUBE.test(item);
|
|
536
|
-
});
|
|
537
|
-
}
|
|
538
|
-
|
|
539
|
-
return MATCH_URL_YOUTUBE.test(url);
|
|
540
|
-
},
|
|
541
|
-
soundcloud: function soundcloud(url) {
|
|
542
|
-
return MATCH_URL_SOUNDCLOUD.test(url) && !AUDIO_EXTENSIONS.test(url);
|
|
543
|
-
},
|
|
544
|
-
vimeo: function vimeo(url) {
|
|
545
|
-
return MATCH_URL_VIMEO.test(url) && !VIDEO_EXTENSIONS.test(url) && !HLS_EXTENSIONS.test(url);
|
|
546
|
-
},
|
|
547
|
-
facebook: function facebook(url) {
|
|
548
|
-
return MATCH_URL_FACEBOOK.test(url) || MATCH_URL_FACEBOOK_WATCH.test(url);
|
|
549
|
-
},
|
|
550
|
-
streamable: function streamable(url) {
|
|
551
|
-
return MATCH_URL_STREAMABLE.test(url);
|
|
552
|
-
},
|
|
553
|
-
wistia: function wistia(url) {
|
|
554
|
-
return MATCH_URL_WISTIA.test(url);
|
|
555
|
-
},
|
|
556
|
-
twitch: function twitch(url) {
|
|
557
|
-
return MATCH_URL_TWITCH_VIDEO.test(url) || MATCH_URL_TWITCH_CHANNEL.test(url);
|
|
558
|
-
},
|
|
559
|
-
dailymotion: function dailymotion(url) {
|
|
560
|
-
return MATCH_URL_DAILYMOTION.test(url);
|
|
561
|
-
},
|
|
562
|
-
mixcloud: function mixcloud(url) {
|
|
563
|
-
return MATCH_URL_MIXCLOUD.test(url);
|
|
564
|
-
},
|
|
565
|
-
vidyard: function vidyard(url) {
|
|
566
|
-
return MATCH_URL_VIDYARD.test(url);
|
|
567
|
-
},
|
|
568
|
-
kaltura: function kaltura(url) {
|
|
569
|
-
return MATCH_URL_KALTURA.test(url);
|
|
570
|
-
},
|
|
571
|
-
file: canPlayFile
|
|
572
|
-
};
|
|
573
|
-
patterns.canPlay = canPlay;
|
|
574
|
-
|
|
575
|
-
export { cjs as c, patterns as p, utils as u };
|