Housekeeping

This commit is contained in:
Sam Potts
2019-03-16 11:57:15 +11:00
parent 4c3bf25b8a
commit 5b7a025d26
19 changed files with 625 additions and 493 deletions
+55 -34
View File
@@ -5883,7 +5883,7 @@ typeof navigator === "object" && (function () {
list.appendChild(menuItem); list.appendChild(menuItem);
}, },
// Format a time for display // Format a time for display
formatTime: function formatTime$$1() { formatTime: function formatTime$1() {
var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
var inverted = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; var inverted = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
@@ -6003,8 +6003,8 @@ typeof navigator === "object" && (function () {
range.setAttribute('aria-valuenow', this.currentTime); range.setAttribute('aria-valuenow', this.currentTime);
var currentTime = controls.formatTime(this.currentTime); var currentTime = controls.formatTime(this.currentTime);
var duration = controls.formatTime(this.duration); var duration = controls.formatTime(this.duration);
var format$$1 = i18n.get('seekLabel', this.config); var format = i18n.get('seekLabel', this.config);
range.setAttribute('aria-valuetext', format$$1.replace('{currentTime}', currentTime).replace('{duration}', duration)); range.setAttribute('aria-valuetext', format.replace('{currentTime}', currentTime).replace('{duration}', duration));
} else if (matches$1(range, this.config.selectors.inputs.volume)) { } else if (matches$1(range, this.config.selectors.inputs.volume)) {
var percent = range.value * 100; var percent = range.value * 100;
range.setAttribute('aria-valuenow', percent); range.setAttribute('aria-valuenow', percent);
@@ -8236,13 +8236,13 @@ typeof navigator === "object" && (function () {
}, },
// Toggle controls based on state and `force` argument // Toggle controls based on state and `force` argument
toggleControls: function toggleControls(force) { toggleControls: function toggleControls(force) {
var controls$$1 = this.elements.controls; var controls = this.elements.controls;
if (controls$$1 && this.config.hideControls) { if (controls && this.config.hideControls) {
// Don't hide controls if a touch-device user recently seeked. (Must be limited to touch devices, or it occasionally prevents desktop controls from hiding.) // Don't hide controls if a touch-device user recently seeked. (Must be limited to touch devices, or it occasionally prevents desktop controls from hiding.)
var recentTouchSeek = this.touch && this.lastSeekTime + 2000 > Date.now(); // Show controls if force, loading, paused, button interaction, or recent seek, otherwise hide var recentTouchSeek = this.touch && this.lastSeekTime + 2000 > Date.now(); // Show controls if force, loading, paused, button interaction, or recent seek, otherwise hide
this.toggleControls(Boolean(force || this.loading || this.paused || controls$$1.pressed || controls$$1.hover || recentTouchSeek)); this.toggleControls(Boolean(force || this.loading || this.paused || controls.pressed || controls.hover || recentTouchSeek));
} }
} }
}; };
@@ -8548,11 +8548,11 @@ typeof navigator === "object" && (function () {
on.call(player, elements.container, 'mousemove mouseleave touchstart touchmove enterfullscreen exitfullscreen', function (event) { on.call(player, elements.container, 'mousemove mouseleave touchstart touchmove enterfullscreen exitfullscreen', function (event) {
var controls$$1 = elements.controls; // Remove button states for fullscreen var controls = elements.controls; // Remove button states for fullscreen
if (controls$$1 && event.type === 'enterfullscreen') { if (controls && event.type === 'enterfullscreen') {
controls$$1.pressed = false; controls.pressed = false;
controls$$1.hover = false; controls.hover = false;
} // Show, then hide after a timeout unless another control event occurs } // Show, then hide after a timeout unless another control event occurs
@@ -8807,7 +8807,7 @@ typeof navigator === "object" && (function () {
}, { }, {
key: "controls", key: "controls",
value: function controls$$1() { value: function controls$1() {
var _this3 = this; var _this3 = this;
var player = this.player; var player = this.player;
@@ -9170,16 +9170,23 @@ typeof navigator === "object" && (function () {
maxTries = (args.numRetries || 0) + 1, maxTries = (args.numRetries || 0) + 1,
beforeCallbackFn = args.before || devnull, beforeCallbackFn = args.before || devnull,
pathStripped = path.replace(/^(css|img)!/, ''), pathStripped = path.replace(/^(css|img)!/, ''),
isCss, isLegacyIECss,
e; e;
numTries = numTries || 0; numTries = numTries || 0;
if (/(^css!|\.css$)/.test(path)) { if (/(^css!|\.css$)/.test(path)) {
isCss = true; // css // css
e = doc.createElement('link'); e = doc.createElement('link');
e.rel = 'stylesheet'; e.rel = 'stylesheet';
e.href = pathStripped; //.replace(/^css!/, ''); // remove "css!" prefix e.href = pathStripped; // tag IE9+
isLegacyIECss = 'hideFocus' in e; // use preload in IE Edge (to detect load errors)
if (isLegacyIECss && e.relList) {
isLegacyIECss = 0;
e.rel = 'preload';
e.as = 'style';
}
} else if (/(^img!|\.(png|gif|jpg|svg)$)/.test(path)) { } else if (/(^img!|\.(png|gif|jpg|svg)$)/.test(path)) {
// image // image
e = doc.createElement('img'); e = doc.createElement('img');
@@ -9192,10 +9199,10 @@ typeof navigator === "object" && (function () {
} }
e.onload = e.onerror = e.onbeforeload = function (ev) { e.onload = e.onerror = e.onbeforeload = function (ev) {
var result = ev.type[0]; // Note: The following code isolates IE using `hideFocus` and treats empty var result = ev.type[0]; // treat empty stylesheets as failures to get around lack of onerror
// stylesheets as failures to get around lack of onerror support // support in IE9-11
if (isCss && 'hideFocus' in e) { if (isLegacyIECss) {
try { try {
if (!e.sheet.cssText.length) result = 'e'; if (!e.sheet.cssText.length) result = 'e';
} catch (x) { } catch (x) {
@@ -9213,6 +9220,9 @@ typeof navigator === "object" && (function () {
if (numTries < maxTries) { if (numTries < maxTries) {
return loadFile(path, callbackFn, args, numTries); return loadFile(path, callbackFn, args, numTries);
} }
} else if (e.rel == 'preload' && e.as == 'style') {
// activate preloaded stylesheets
return e.rel = 'stylesheet'; // jshint ignore:line
} // execute callback } // execute callback
@@ -9278,15 +9288,26 @@ typeof navigator === "object" && (function () {
} else { } else {
bundleIdCache[bundleId] = true; bundleIdCache[bundleId] = true;
} }
} // load scripts }
function loadFn(resolve, reject) {
loadFiles(paths, function (pathsNotFound) {
// execute callbacks
executeCallbacks(args, pathsNotFound); // resolve Promise
if (resolve) {
executeCallbacks({
success: resolve,
error: reject
}, pathsNotFound);
} // publish bundle load event
loadFiles(paths, function (pathsNotFound) { publish(bundleId, pathsNotFound);
// execute callbacks }, args);
executeCallbacks(args, pathsNotFound); // publish bundle load event }
publish(bundleId, pathsNotFound); if (args.returnPromise) return new Promise(loadFn);else loadFn();
}, args);
} }
/** /**
* Execute callbacks when dependencies have been satisfied. * Execute callbacks when dependencies have been satisfied.
@@ -9392,7 +9413,7 @@ typeof navigator === "object" && (function () {
} }
}, },
// API Ready // API Ready
ready: function ready$$1() { ready: function ready() {
var _this2 = this; var _this2 = this;
var player = this; var player = this;
@@ -9771,7 +9792,7 @@ typeof navigator === "object" && (function () {
} }
}, },
// API ready // API ready
ready: function ready$$1() { ready: function ready() {
var player = this; // Ignore already setup (race condition) var player = this; // Ignore already setup (race condition)
var currentId = player.media.getAttribute('id'); var currentId = player.media.getAttribute('id');
@@ -9799,8 +9820,8 @@ typeof navigator === "object" && (function () {
}); });
player.media = replaceElement(container, player.media); // Id to poster wrapper player.media = replaceElement(container, player.media); // Id to poster wrapper
var posterSrc = function posterSrc(format$$1) { var posterSrc = function posterSrc(format) {
return "https://img.youtube.com/vi/".concat(videoId, "/").concat(format$$1, "default.jpg"); return "https://img.youtube.com/vi/".concat(videoId, "/").concat(format, "default.jpg");
}; // Check thumbnail images in order of quality, but reject fallback thumbnails (120px wide) }; // Check thumbnail images in order of quality, but reject fallback thumbnails (120px wide)
@@ -10193,7 +10214,7 @@ typeof navigator === "object" && (function () {
}, { }, {
key: "ready", key: "ready",
value: function ready$$1() { value: function ready() {
var _this3 = this; var _this3 = this;
// Start ticking our safety timer. If the whole advertisement // Start ticking our safety timer. If the whole advertisement
@@ -10677,7 +10698,7 @@ typeof navigator === "object" && (function () {
}, { }, {
key: "on", key: "on",
value: function on$$1(event, callback) { value: function on(event, callback) {
if (!is$1.array(this.events[event])) { if (!is$1.array(this.events[event])) {
this.events[event] = []; this.events[event] = [];
} }
@@ -12025,7 +12046,7 @@ typeof navigator === "object" && (function () {
}, { }, {
key: "on", key: "on",
value: function on$$1(event, callback) { value: function on$1(event, callback) {
on.call(this, this.elements.container, event, callback); on.call(this, this.elements.container, event, callback);
} }
/** /**
@@ -12036,7 +12057,7 @@ typeof navigator === "object" && (function () {
}, { }, {
key: "once", key: "once",
value: function once$$1(event, callback) { value: function once$1(event, callback) {
once.call(this, this.elements.container, event, callback); once.call(this, this.elements.container, event, callback);
} }
/** /**
@@ -12047,7 +12068,7 @@ typeof navigator === "object" && (function () {
}, { }, {
key: "off", key: "off",
value: function off$$1(event, callback) { value: function off$1(event, callback) {
off(this.elements.container, event, callback); off(this.elements.container, event, callback);
} }
/** /**
@@ -12706,7 +12727,7 @@ typeof navigator === "object" && (function () {
}, { }, {
key: "loadSprite", key: "loadSprite",
value: function loadSprite$$1(url, id) { value: function loadSprite$1(url, id) {
return loadSprite(url, id); return loadSprite(url, id);
} }
/** /**
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+58 -37
View File
@@ -1,8 +1,8 @@
typeof navigator === "object" && (function (global, factory) { typeof navigator === "object" && (function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define('Plyr', factory) : typeof define === 'function' && define.amd ? define('Plyr', factory) :
(global.Plyr = factory()); (global = global || self, global.Plyr = factory());
}(this, (function () { 'use strict'; }(this, function () { 'use strict';
function _classCallCheck(instance, Constructor) { function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) { if (!(instance instanceof Constructor)) {
@@ -2033,7 +2033,7 @@ typeof navigator === "object" && (function (global, factory) {
list.appendChild(menuItem); list.appendChild(menuItem);
}, },
// Format a time for display // Format a time for display
formatTime: function formatTime$$1() { formatTime: function formatTime$1() {
var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
var inverted = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; var inverted = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
@@ -2153,8 +2153,8 @@ typeof navigator === "object" && (function (global, factory) {
range.setAttribute('aria-valuenow', this.currentTime); range.setAttribute('aria-valuenow', this.currentTime);
var currentTime = controls.formatTime(this.currentTime); var currentTime = controls.formatTime(this.currentTime);
var duration = controls.formatTime(this.duration); var duration = controls.formatTime(this.duration);
var format$$1 = i18n.get('seekLabel', this.config); var format = i18n.get('seekLabel', this.config);
range.setAttribute('aria-valuetext', format$$1.replace('{currentTime}', currentTime).replace('{duration}', duration)); range.setAttribute('aria-valuetext', format.replace('{currentTime}', currentTime).replace('{duration}', duration));
} else if (matches$1(range, this.config.selectors.inputs.volume)) { } else if (matches$1(range, this.config.selectors.inputs.volume)) {
var percent = range.value * 100; var percent = range.value * 100;
range.setAttribute('aria-valuenow', percent); range.setAttribute('aria-valuenow', percent);
@@ -4386,13 +4386,13 @@ typeof navigator === "object" && (function (global, factory) {
}, },
// Toggle controls based on state and `force` argument // Toggle controls based on state and `force` argument
toggleControls: function toggleControls(force) { toggleControls: function toggleControls(force) {
var controls$$1 = this.elements.controls; var controls = this.elements.controls;
if (controls$$1 && this.config.hideControls) { if (controls && this.config.hideControls) {
// Don't hide controls if a touch-device user recently seeked. (Must be limited to touch devices, or it occasionally prevents desktop controls from hiding.) // Don't hide controls if a touch-device user recently seeked. (Must be limited to touch devices, or it occasionally prevents desktop controls from hiding.)
var recentTouchSeek = this.touch && this.lastSeekTime + 2000 > Date.now(); // Show controls if force, loading, paused, button interaction, or recent seek, otherwise hide var recentTouchSeek = this.touch && this.lastSeekTime + 2000 > Date.now(); // Show controls if force, loading, paused, button interaction, or recent seek, otherwise hide
this.toggleControls(Boolean(force || this.loading || this.paused || controls$$1.pressed || controls$$1.hover || recentTouchSeek)); this.toggleControls(Boolean(force || this.loading || this.paused || controls.pressed || controls.hover || recentTouchSeek));
} }
} }
}; };
@@ -4698,11 +4698,11 @@ typeof navigator === "object" && (function (global, factory) {
on.call(player, elements.container, 'mousemove mouseleave touchstart touchmove enterfullscreen exitfullscreen', function (event) { on.call(player, elements.container, 'mousemove mouseleave touchstart touchmove enterfullscreen exitfullscreen', function (event) {
var controls$$1 = elements.controls; // Remove button states for fullscreen var controls = elements.controls; // Remove button states for fullscreen
if (controls$$1 && event.type === 'enterfullscreen') { if (controls && event.type === 'enterfullscreen') {
controls$$1.pressed = false; controls.pressed = false;
controls$$1.hover = false; controls.hover = false;
} // Show, then hide after a timeout unless another control event occurs } // Show, then hide after a timeout unless another control event occurs
@@ -4957,7 +4957,7 @@ typeof navigator === "object" && (function (global, factory) {
}, { }, {
key: "controls", key: "controls",
value: function controls$$1() { value: function controls$1() {
var _this3 = this; var _this3 = this;
var player = this.player; var player = this.player;
@@ -5326,16 +5326,23 @@ typeof navigator === "object" && (function (global, factory) {
maxTries = (args.numRetries || 0) + 1, maxTries = (args.numRetries || 0) + 1,
beforeCallbackFn = args.before || devnull, beforeCallbackFn = args.before || devnull,
pathStripped = path.replace(/^(css|img)!/, ''), pathStripped = path.replace(/^(css|img)!/, ''),
isCss, isLegacyIECss,
e; e;
numTries = numTries || 0; numTries = numTries || 0;
if (/(^css!|\.css$)/.test(path)) { if (/(^css!|\.css$)/.test(path)) {
isCss = true; // css // css
e = doc.createElement('link'); e = doc.createElement('link');
e.rel = 'stylesheet'; e.rel = 'stylesheet';
e.href = pathStripped; //.replace(/^css!/, ''); // remove "css!" prefix e.href = pathStripped; // tag IE9+
isLegacyIECss = 'hideFocus' in e; // use preload in IE Edge (to detect load errors)
if (isLegacyIECss && e.relList) {
isLegacyIECss = 0;
e.rel = 'preload';
e.as = 'style';
}
} else if (/(^img!|\.(png|gif|jpg|svg)$)/.test(path)) { } else if (/(^img!|\.(png|gif|jpg|svg)$)/.test(path)) {
// image // image
e = doc.createElement('img'); e = doc.createElement('img');
@@ -5348,10 +5355,10 @@ typeof navigator === "object" && (function (global, factory) {
} }
e.onload = e.onerror = e.onbeforeload = function (ev) { e.onload = e.onerror = e.onbeforeload = function (ev) {
var result = ev.type[0]; // Note: The following code isolates IE using `hideFocus` and treats empty var result = ev.type[0]; // treat empty stylesheets as failures to get around lack of onerror
// stylesheets as failures to get around lack of onerror support // support in IE9-11
if (isCss && 'hideFocus' in e) { if (isLegacyIECss) {
try { try {
if (!e.sheet.cssText.length) result = 'e'; if (!e.sheet.cssText.length) result = 'e';
} catch (x) { } catch (x) {
@@ -5369,6 +5376,9 @@ typeof navigator === "object" && (function (global, factory) {
if (numTries < maxTries) { if (numTries < maxTries) {
return loadFile(path, callbackFn, args, numTries); return loadFile(path, callbackFn, args, numTries);
} }
} else if (e.rel == 'preload' && e.as == 'style') {
// activate preloaded stylesheets
return e.rel = 'stylesheet'; // jshint ignore:line
} // execute callback } // execute callback
@@ -5434,15 +5444,26 @@ typeof navigator === "object" && (function (global, factory) {
} else { } else {
bundleIdCache[bundleId] = true; bundleIdCache[bundleId] = true;
} }
} // load scripts }
function loadFn(resolve, reject) {
loadFiles(paths, function (pathsNotFound) {
// execute callbacks
executeCallbacks(args, pathsNotFound); // resolve Promise
if (resolve) {
executeCallbacks({
success: resolve,
error: reject
}, pathsNotFound);
} // publish bundle load event
loadFiles(paths, function (pathsNotFound) { publish(bundleId, pathsNotFound);
// execute callbacks }, args);
executeCallbacks(args, pathsNotFound); // publish bundle load event }
publish(bundleId, pathsNotFound); if (args.returnPromise) return new Promise(loadFn);else loadFn();
}, args);
} }
/** /**
* Execute callbacks when dependencies have been satisfied. * Execute callbacks when dependencies have been satisfied.
@@ -5548,7 +5569,7 @@ typeof navigator === "object" && (function (global, factory) {
} }
}, },
// API Ready // API Ready
ready: function ready$$1() { ready: function ready() {
var _this2 = this; var _this2 = this;
var player = this; var player = this;
@@ -5927,7 +5948,7 @@ typeof navigator === "object" && (function (global, factory) {
} }
}, },
// API ready // API ready
ready: function ready$$1() { ready: function ready() {
var player = this; // Ignore already setup (race condition) var player = this; // Ignore already setup (race condition)
var currentId = player.media.getAttribute('id'); var currentId = player.media.getAttribute('id');
@@ -5955,8 +5976,8 @@ typeof navigator === "object" && (function (global, factory) {
}); });
player.media = replaceElement(container, player.media); // Id to poster wrapper player.media = replaceElement(container, player.media); // Id to poster wrapper
var posterSrc = function posterSrc(format$$1) { var posterSrc = function posterSrc(format) {
return "https://img.youtube.com/vi/".concat(videoId, "/").concat(format$$1, "default.jpg"); return "https://img.youtube.com/vi/".concat(videoId, "/").concat(format, "default.jpg");
}; // Check thumbnail images in order of quality, but reject fallback thumbnails (120px wide) }; // Check thumbnail images in order of quality, but reject fallback thumbnails (120px wide)
@@ -6349,7 +6370,7 @@ typeof navigator === "object" && (function (global, factory) {
}, { }, {
key: "ready", key: "ready",
value: function ready$$1() { value: function ready() {
var _this3 = this; var _this3 = this;
// Start ticking our safety timer. If the whole advertisement // Start ticking our safety timer. If the whole advertisement
@@ -6833,7 +6854,7 @@ typeof navigator === "object" && (function (global, factory) {
}, { }, {
key: "on", key: "on",
value: function on$$1(event, callback) { value: function on(event, callback) {
if (!is$1.array(this.events[event])) { if (!is$1.array(this.events[event])) {
this.events[event] = []; this.events[event] = [];
} }
@@ -8181,7 +8202,7 @@ typeof navigator === "object" && (function (global, factory) {
}, { }, {
key: "on", key: "on",
value: function on$$1(event, callback) { value: function on$1(event, callback) {
on.call(this, this.elements.container, event, callback); on.call(this, this.elements.container, event, callback);
} }
/** /**
@@ -8192,7 +8213,7 @@ typeof navigator === "object" && (function (global, factory) {
}, { }, {
key: "once", key: "once",
value: function once$$1(event, callback) { value: function once$1(event, callback) {
once.call(this, this.elements.container, event, callback); once.call(this, this.elements.container, event, callback);
} }
/** /**
@@ -8203,7 +8224,7 @@ typeof navigator === "object" && (function (global, factory) {
}, { }, {
key: "off", key: "off",
value: function off$$1(event, callback) { value: function off$1(event, callback) {
off(this.elements.container, event, callback); off(this.elements.container, event, callback);
} }
/** /**
@@ -8862,7 +8883,7 @@ typeof navigator === "object" && (function (global, factory) {
}, { }, {
key: "loadSprite", key: "loadSprite",
value: function loadSprite$$1(url, id) { value: function loadSprite$1(url, id) {
return loadSprite(url, id); return loadSprite(url, id);
} }
/** /**
@@ -8902,4 +8923,4 @@ typeof navigator === "object" && (function (global, factory) {
return Plyr; return Plyr;
}))); }));
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+55 -34
View File
@@ -2027,7 +2027,7 @@ var controls = {
list.appendChild(menuItem); list.appendChild(menuItem);
}, },
// Format a time for display // Format a time for display
formatTime: function formatTime$$1() { formatTime: function formatTime$1() {
var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
var inverted = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; var inverted = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
@@ -2147,8 +2147,8 @@ var controls = {
range.setAttribute('aria-valuenow', this.currentTime); range.setAttribute('aria-valuenow', this.currentTime);
var currentTime = controls.formatTime(this.currentTime); var currentTime = controls.formatTime(this.currentTime);
var duration = controls.formatTime(this.duration); var duration = controls.formatTime(this.duration);
var format$$1 = i18n.get('seekLabel', this.config); var format = i18n.get('seekLabel', this.config);
range.setAttribute('aria-valuetext', format$$1.replace('{currentTime}', currentTime).replace('{duration}', duration)); range.setAttribute('aria-valuetext', format.replace('{currentTime}', currentTime).replace('{duration}', duration));
} else if (matches$1(range, this.config.selectors.inputs.volume)) { } else if (matches$1(range, this.config.selectors.inputs.volume)) {
var percent = range.value * 100; var percent = range.value * 100;
range.setAttribute('aria-valuenow', percent); range.setAttribute('aria-valuenow', percent);
@@ -4380,13 +4380,13 @@ var ui = {
}, },
// Toggle controls based on state and `force` argument // Toggle controls based on state and `force` argument
toggleControls: function toggleControls(force) { toggleControls: function toggleControls(force) {
var controls$$1 = this.elements.controls; var controls = this.elements.controls;
if (controls$$1 && this.config.hideControls) { if (controls && this.config.hideControls) {
// Don't hide controls if a touch-device user recently seeked. (Must be limited to touch devices, or it occasionally prevents desktop controls from hiding.) // Don't hide controls if a touch-device user recently seeked. (Must be limited to touch devices, or it occasionally prevents desktop controls from hiding.)
var recentTouchSeek = this.touch && this.lastSeekTime + 2000 > Date.now(); // Show controls if force, loading, paused, button interaction, or recent seek, otherwise hide var recentTouchSeek = this.touch && this.lastSeekTime + 2000 > Date.now(); // Show controls if force, loading, paused, button interaction, or recent seek, otherwise hide
this.toggleControls(Boolean(force || this.loading || this.paused || controls$$1.pressed || controls$$1.hover || recentTouchSeek)); this.toggleControls(Boolean(force || this.loading || this.paused || controls.pressed || controls.hover || recentTouchSeek));
} }
} }
}; };
@@ -4692,11 +4692,11 @@ function () {
on.call(player, elements.container, 'mousemove mouseleave touchstart touchmove enterfullscreen exitfullscreen', function (event) { on.call(player, elements.container, 'mousemove mouseleave touchstart touchmove enterfullscreen exitfullscreen', function (event) {
var controls$$1 = elements.controls; // Remove button states for fullscreen var controls = elements.controls; // Remove button states for fullscreen
if (controls$$1 && event.type === 'enterfullscreen') { if (controls && event.type === 'enterfullscreen') {
controls$$1.pressed = false; controls.pressed = false;
controls$$1.hover = false; controls.hover = false;
} // Show, then hide after a timeout unless another control event occurs } // Show, then hide after a timeout unless another control event occurs
@@ -4951,7 +4951,7 @@ function () {
}, { }, {
key: "controls", key: "controls",
value: function controls$$1() { value: function controls$1() {
var _this3 = this; var _this3 = this;
var player = this.player; var player = this.player;
@@ -5320,16 +5320,23 @@ var loadjs_umd = createCommonjsModule(function (module, exports) {
maxTries = (args.numRetries || 0) + 1, maxTries = (args.numRetries || 0) + 1,
beforeCallbackFn = args.before || devnull, beforeCallbackFn = args.before || devnull,
pathStripped = path.replace(/^(css|img)!/, ''), pathStripped = path.replace(/^(css|img)!/, ''),
isCss, isLegacyIECss,
e; e;
numTries = numTries || 0; numTries = numTries || 0;
if (/(^css!|\.css$)/.test(path)) { if (/(^css!|\.css$)/.test(path)) {
isCss = true; // css // css
e = doc.createElement('link'); e = doc.createElement('link');
e.rel = 'stylesheet'; e.rel = 'stylesheet';
e.href = pathStripped; //.replace(/^css!/, ''); // remove "css!" prefix e.href = pathStripped; // tag IE9+
isLegacyIECss = 'hideFocus' in e; // use preload in IE Edge (to detect load errors)
if (isLegacyIECss && e.relList) {
isLegacyIECss = 0;
e.rel = 'preload';
e.as = 'style';
}
} else if (/(^img!|\.(png|gif|jpg|svg)$)/.test(path)) { } else if (/(^img!|\.(png|gif|jpg|svg)$)/.test(path)) {
// image // image
e = doc.createElement('img'); e = doc.createElement('img');
@@ -5342,10 +5349,10 @@ var loadjs_umd = createCommonjsModule(function (module, exports) {
} }
e.onload = e.onerror = e.onbeforeload = function (ev) { e.onload = e.onerror = e.onbeforeload = function (ev) {
var result = ev.type[0]; // Note: The following code isolates IE using `hideFocus` and treats empty var result = ev.type[0]; // treat empty stylesheets as failures to get around lack of onerror
// stylesheets as failures to get around lack of onerror support // support in IE9-11
if (isCss && 'hideFocus' in e) { if (isLegacyIECss) {
try { try {
if (!e.sheet.cssText.length) result = 'e'; if (!e.sheet.cssText.length) result = 'e';
} catch (x) { } catch (x) {
@@ -5363,6 +5370,9 @@ var loadjs_umd = createCommonjsModule(function (module, exports) {
if (numTries < maxTries) { if (numTries < maxTries) {
return loadFile(path, callbackFn, args, numTries); return loadFile(path, callbackFn, args, numTries);
} }
} else if (e.rel == 'preload' && e.as == 'style') {
// activate preloaded stylesheets
return e.rel = 'stylesheet'; // jshint ignore:line
} // execute callback } // execute callback
@@ -5428,15 +5438,26 @@ var loadjs_umd = createCommonjsModule(function (module, exports) {
} else { } else {
bundleIdCache[bundleId] = true; bundleIdCache[bundleId] = true;
} }
} // load scripts }
function loadFn(resolve, reject) {
loadFiles(paths, function (pathsNotFound) {
// execute callbacks
executeCallbacks(args, pathsNotFound); // resolve Promise
if (resolve) {
executeCallbacks({
success: resolve,
error: reject
}, pathsNotFound);
} // publish bundle load event
loadFiles(paths, function (pathsNotFound) { publish(bundleId, pathsNotFound);
// execute callbacks }, args);
executeCallbacks(args, pathsNotFound); // publish bundle load event }
publish(bundleId, pathsNotFound); if (args.returnPromise) return new Promise(loadFn);else loadFn();
}, args);
} }
/** /**
* Execute callbacks when dependencies have been satisfied. * Execute callbacks when dependencies have been satisfied.
@@ -5542,7 +5563,7 @@ var vimeo = {
} }
}, },
// API Ready // API Ready
ready: function ready$$1() { ready: function ready() {
var _this2 = this; var _this2 = this;
var player = this; var player = this;
@@ -5921,7 +5942,7 @@ var youtube = {
} }
}, },
// API ready // API ready
ready: function ready$$1() { ready: function ready() {
var player = this; // Ignore already setup (race condition) var player = this; // Ignore already setup (race condition)
var currentId = player.media.getAttribute('id'); var currentId = player.media.getAttribute('id');
@@ -5949,8 +5970,8 @@ var youtube = {
}); });
player.media = replaceElement(container, player.media); // Id to poster wrapper player.media = replaceElement(container, player.media); // Id to poster wrapper
var posterSrc = function posterSrc(format$$1) { var posterSrc = function posterSrc(format) {
return "https://img.youtube.com/vi/".concat(videoId, "/").concat(format$$1, "default.jpg"); return "https://img.youtube.com/vi/".concat(videoId, "/").concat(format, "default.jpg");
}; // Check thumbnail images in order of quality, but reject fallback thumbnails (120px wide) }; // Check thumbnail images in order of quality, but reject fallback thumbnails (120px wide)
@@ -6343,7 +6364,7 @@ function () {
}, { }, {
key: "ready", key: "ready",
value: function ready$$1() { value: function ready() {
var _this3 = this; var _this3 = this;
// Start ticking our safety timer. If the whole advertisement // Start ticking our safety timer. If the whole advertisement
@@ -6827,7 +6848,7 @@ function () {
}, { }, {
key: "on", key: "on",
value: function on$$1(event, callback) { value: function on(event, callback) {
if (!is$1.array(this.events[event])) { if (!is$1.array(this.events[event])) {
this.events[event] = []; this.events[event] = [];
} }
@@ -8175,7 +8196,7 @@ function () {
}, { }, {
key: "on", key: "on",
value: function on$$1(event, callback) { value: function on$1(event, callback) {
on.call(this, this.elements.container, event, callback); on.call(this, this.elements.container, event, callback);
} }
/** /**
@@ -8186,7 +8207,7 @@ function () {
}, { }, {
key: "once", key: "once",
value: function once$$1(event, callback) { value: function once$1(event, callback) {
once.call(this, this.elements.container, event, callback); once.call(this, this.elements.container, event, callback);
} }
/** /**
@@ -8197,7 +8218,7 @@ function () {
}, { }, {
key: "off", key: "off",
value: function off$$1(event, callback) { value: function off$1(event, callback) {
off(this.elements.container, event, callback); off(this.elements.container, event, callback);
} }
/** /**
@@ -8856,7 +8877,7 @@ function () {
}, { }, {
key: "loadSprite", key: "loadSprite",
value: function loadSprite$$1(url, id) { value: function loadSprite$1(url, id) {
return loadSprite(url, id); return loadSprite(url, id);
} }
/** /**
+65 -44
View File
@@ -1,8 +1,8 @@
typeof navigator === "object" && (function (global, factory) { typeof navigator === "object" && (function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define('Plyr', factory) : typeof define === 'function' && define.amd ? define('Plyr', factory) :
(global.Plyr = factory()); (global = global || self, global.Plyr = factory());
}(this, (function () { 'use strict'; }(this, function () { 'use strict';
// Polyfill for creating CustomEvents on IE9/10/11 // Polyfill for creating CustomEvents on IE9/10/11
// code pulled from: // code pulled from:
@@ -1763,7 +1763,7 @@ typeof navigator === "object" && (function (global, factory) {
}; };
var deserializeParam = function deserializeParam(value) { var deserializeParam = function deserializeParam(value) {
return decodeURIComponent(value).replace(/\+/g, ' '); return decodeURIComponent(String(value).replace(/\+/g, ' '));
}; };
var polyfillURLSearchParams = function polyfillURLSearchParams() { var polyfillURLSearchParams = function polyfillURLSearchParams() {
@@ -1891,11 +1891,11 @@ typeof navigator === "object" && (function (global, factory) {
global.URLSearchParams = URLSearchParams; global.URLSearchParams = URLSearchParams;
}; };
if (!('URLSearchParams' in global) || new URLSearchParams('?a=1').toString() !== 'a=1') { if (!('URLSearchParams' in global) || new global.URLSearchParams('?a=1').toString() !== 'a=1') {
polyfillURLSearchParams(); polyfillURLSearchParams();
} }
var proto = URLSearchParams.prototype; var proto = global.URLSearchParams.prototype;
if (typeof proto.sort !== 'function') { if (typeof proto.sort !== 'function') {
proto.sort = function () { proto.sort = function () {
@@ -1971,7 +1971,7 @@ typeof navigator === "object" && (function (global, factory) {
*/ */
var checkIfURLIsSupported = function checkIfURLIsSupported() { var checkIfURLIsSupported = function checkIfURLIsSupported() {
try { try {
var u = new URL('b', 'http://a'); var u = new global.URL('b', 'http://a');
u.pathname = 'c%20d'; u.pathname = 'c%20d';
return u.href === 'http://a/c%20d' && u.searchParams; return u.href === 'http://a/c%20d' && u.searchParams;
} catch (e) { } catch (e) {
@@ -2017,7 +2017,7 @@ typeof navigator === "object" && (function (global, factory) {
value: anchorElement value: anchorElement
}); // create a linked searchParams which reflect its changes on URL }); // create a linked searchParams which reflect its changes on URL
var searchParams = new URLSearchParams(this.search); var searchParams = new global.URLSearchParams(this.search);
var enableSearchUpdate = true; var enableSearchUpdate = true;
var enableSearchParamsUpdate = true; var enableSearchParamsUpdate = true;
@@ -2642,7 +2642,7 @@ typeof navigator === "object" && (function (global, factory) {
var arrayFind = _arrayMethods(5); var arrayFind = _arrayMethods(5);
var arrayFindIndex = _arrayMethods(6); var arrayFindIndex = _arrayMethods(6);
var id$2 = 0; var id$1 = 0;
// fallback for uncaught frozen keys // fallback for uncaught frozen keys
var uncaughtFrozenStore = function (that) { var uncaughtFrozenStore = function (that) {
@@ -2683,7 +2683,7 @@ typeof navigator === "object" && (function (global, factory) {
var C = wrapper(function (that, iterable) { var C = wrapper(function (that, iterable) {
_anInstance(that, C, NAME, '_i'); _anInstance(that, C, NAME, '_i');
that._t = NAME; // collection type that._t = NAME; // collection type
that._i = id$2++; // collection id that._i = id$1++; // collection id
that._l = undefined; // leak store for uncaught frozen objects that._l = undefined; // leak store for uncaught frozen objects
if (iterable != undefined) _forOf(iterable, IS_MAP, that[ADDER], that); if (iterable != undefined) _forOf(iterable, IS_MAP, that[ADDER], that);
}); });
@@ -5421,7 +5421,7 @@ typeof navigator === "object" && (function (global, factory) {
list.appendChild(menuItem); list.appendChild(menuItem);
}, },
// Format a time for display // Format a time for display
formatTime: function formatTime$$1() { formatTime: function formatTime$1() {
var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
var inverted = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; var inverted = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
@@ -5541,8 +5541,8 @@ typeof navigator === "object" && (function (global, factory) {
range.setAttribute('aria-valuenow', this.currentTime); range.setAttribute('aria-valuenow', this.currentTime);
var currentTime = controls.formatTime(this.currentTime); var currentTime = controls.formatTime(this.currentTime);
var duration = controls.formatTime(this.duration); var duration = controls.formatTime(this.duration);
var format$$1 = i18n.get('seekLabel', this.config); var format = i18n.get('seekLabel', this.config);
range.setAttribute('aria-valuetext', format$$1.replace('{currentTime}', currentTime).replace('{duration}', duration)); range.setAttribute('aria-valuetext', format.replace('{currentTime}', currentTime).replace('{duration}', duration));
} else if (matches$1(range, this.config.selectors.inputs.volume)) { } else if (matches$1(range, this.config.selectors.inputs.volume)) {
var percent = range.value * 100; var percent = range.value * 100;
range.setAttribute('aria-valuenow', percent); range.setAttribute('aria-valuenow', percent);
@@ -7784,13 +7784,13 @@ typeof navigator === "object" && (function (global, factory) {
}, },
// Toggle controls based on state and `force` argument // Toggle controls based on state and `force` argument
toggleControls: function toggleControls(force) { toggleControls: function toggleControls(force) {
var controls$$1 = this.elements.controls; var controls = this.elements.controls;
if (controls$$1 && this.config.hideControls) { if (controls && this.config.hideControls) {
// Don't hide controls if a touch-device user recently seeked. (Must be limited to touch devices, or it occasionally prevents desktop controls from hiding.) // Don't hide controls if a touch-device user recently seeked. (Must be limited to touch devices, or it occasionally prevents desktop controls from hiding.)
var recentTouchSeek = this.touch && this.lastSeekTime + 2000 > Date.now(); // Show controls if force, loading, paused, button interaction, or recent seek, otherwise hide var recentTouchSeek = this.touch && this.lastSeekTime + 2000 > Date.now(); // Show controls if force, loading, paused, button interaction, or recent seek, otherwise hide
this.toggleControls(Boolean(force || this.loading || this.paused || controls$$1.pressed || controls$$1.hover || recentTouchSeek)); this.toggleControls(Boolean(force || this.loading || this.paused || controls.pressed || controls.hover || recentTouchSeek));
} }
} }
}; };
@@ -8096,11 +8096,11 @@ typeof navigator === "object" && (function (global, factory) {
on.call(player, elements.container, 'mousemove mouseleave touchstart touchmove enterfullscreen exitfullscreen', function (event) { on.call(player, elements.container, 'mousemove mouseleave touchstart touchmove enterfullscreen exitfullscreen', function (event) {
var controls$$1 = elements.controls; // Remove button states for fullscreen var controls = elements.controls; // Remove button states for fullscreen
if (controls$$1 && event.type === 'enterfullscreen') { if (controls && event.type === 'enterfullscreen') {
controls$$1.pressed = false; controls.pressed = false;
controls$$1.hover = false; controls.hover = false;
} // Show, then hide after a timeout unless another control event occurs } // Show, then hide after a timeout unless another control event occurs
@@ -8355,7 +8355,7 @@ typeof navigator === "object" && (function (global, factory) {
}, { }, {
key: "controls", key: "controls",
value: function controls$$1() { value: function controls$1() {
var _this3 = this; var _this3 = this;
var player = this.player; var player = this.player;
@@ -8718,16 +8718,23 @@ typeof navigator === "object" && (function (global, factory) {
maxTries = (args.numRetries || 0) + 1, maxTries = (args.numRetries || 0) + 1,
beforeCallbackFn = args.before || devnull, beforeCallbackFn = args.before || devnull,
pathStripped = path.replace(/^(css|img)!/, ''), pathStripped = path.replace(/^(css|img)!/, ''),
isCss, isLegacyIECss,
e; e;
numTries = numTries || 0; numTries = numTries || 0;
if (/(^css!|\.css$)/.test(path)) { if (/(^css!|\.css$)/.test(path)) {
isCss = true; // css // css
e = doc.createElement('link'); e = doc.createElement('link');
e.rel = 'stylesheet'; e.rel = 'stylesheet';
e.href = pathStripped; //.replace(/^css!/, ''); // remove "css!" prefix e.href = pathStripped; // tag IE9+
isLegacyIECss = 'hideFocus' in e; // use preload in IE Edge (to detect load errors)
if (isLegacyIECss && e.relList) {
isLegacyIECss = 0;
e.rel = 'preload';
e.as = 'style';
}
} else if (/(^img!|\.(png|gif|jpg|svg)$)/.test(path)) { } else if (/(^img!|\.(png|gif|jpg|svg)$)/.test(path)) {
// image // image
e = doc.createElement('img'); e = doc.createElement('img');
@@ -8740,10 +8747,10 @@ typeof navigator === "object" && (function (global, factory) {
} }
e.onload = e.onerror = e.onbeforeload = function (ev) { e.onload = e.onerror = e.onbeforeload = function (ev) {
var result = ev.type[0]; // Note: The following code isolates IE using `hideFocus` and treats empty var result = ev.type[0]; // treat empty stylesheets as failures to get around lack of onerror
// stylesheets as failures to get around lack of onerror support // support in IE9-11
if (isCss && 'hideFocus' in e) { if (isLegacyIECss) {
try { try {
if (!e.sheet.cssText.length) result = 'e'; if (!e.sheet.cssText.length) result = 'e';
} catch (x) { } catch (x) {
@@ -8761,6 +8768,9 @@ typeof navigator === "object" && (function (global, factory) {
if (numTries < maxTries) { if (numTries < maxTries) {
return loadFile(path, callbackFn, args, numTries); return loadFile(path, callbackFn, args, numTries);
} }
} else if (e.rel == 'preload' && e.as == 'style') {
// activate preloaded stylesheets
return e.rel = 'stylesheet'; // jshint ignore:line
} // execute callback } // execute callback
@@ -8826,15 +8836,26 @@ typeof navigator === "object" && (function (global, factory) {
} else { } else {
bundleIdCache[bundleId] = true; bundleIdCache[bundleId] = true;
} }
} // load scripts }
function loadFn(resolve, reject) {
loadFiles(paths, function (pathsNotFound) {
// execute callbacks
executeCallbacks(args, pathsNotFound); // resolve Promise
if (resolve) {
executeCallbacks({
success: resolve,
error: reject
}, pathsNotFound);
} // publish bundle load event
loadFiles(paths, function (pathsNotFound) { publish(bundleId, pathsNotFound);
// execute callbacks }, args);
executeCallbacks(args, pathsNotFound); // publish bundle load event }
publish(bundleId, pathsNotFound); if (args.returnPromise) return new Promise(loadFn);else loadFn();
}, args);
} }
/** /**
* Execute callbacks when dependencies have been satisfied. * Execute callbacks when dependencies have been satisfied.
@@ -8939,7 +8960,7 @@ typeof navigator === "object" && (function (global, factory) {
} }
}, },
// API Ready // API Ready
ready: function ready$$1() { ready: function ready() {
var _this2 = this; var _this2 = this;
var player = this; var player = this;
@@ -9316,7 +9337,7 @@ typeof navigator === "object" && (function (global, factory) {
} }
}, },
// API ready // API ready
ready: function ready$$1() { ready: function ready() {
var player = this; // Ignore already setup (race condition) var player = this; // Ignore already setup (race condition)
var currentId = player.media.getAttribute('id'); var currentId = player.media.getAttribute('id');
@@ -9344,8 +9365,8 @@ typeof navigator === "object" && (function (global, factory) {
}); });
player.media = replaceElement(container, player.media); // Id to poster wrapper player.media = replaceElement(container, player.media); // Id to poster wrapper
var posterSrc = function posterSrc(format$$1) { var posterSrc = function posterSrc(format) {
return "https://img.youtube.com/vi/".concat(videoId, "/").concat(format$$1, "default.jpg"); return "https://img.youtube.com/vi/".concat(videoId, "/").concat(format, "default.jpg");
}; // Check thumbnail images in order of quality, but reject fallback thumbnails (120px wide) }; // Check thumbnail images in order of quality, but reject fallback thumbnails (120px wide)
@@ -9737,7 +9758,7 @@ typeof navigator === "object" && (function (global, factory) {
}, { }, {
key: "ready", key: "ready",
value: function ready$$1() { value: function ready() {
var _this3 = this; var _this3 = this;
// Start ticking our safety timer. If the whole advertisement // Start ticking our safety timer. If the whole advertisement
@@ -10221,7 +10242,7 @@ typeof navigator === "object" && (function (global, factory) {
}, { }, {
key: "on", key: "on",
value: function on$$1(event, callback) { value: function on(event, callback) {
if (!is$2.array(this.events[event])) { if (!is$2.array(this.events[event])) {
this.events[event] = []; this.events[event] = [];
} }
@@ -11583,7 +11604,7 @@ typeof navigator === "object" && (function (global, factory) {
}, { }, {
key: "on", key: "on",
value: function on$$1(event, callback) { value: function on$1(event, callback) {
on.call(this, this.elements.container, event, callback); on.call(this, this.elements.container, event, callback);
} }
/** /**
@@ -11594,7 +11615,7 @@ typeof navigator === "object" && (function (global, factory) {
}, { }, {
key: "once", key: "once",
value: function once$$1(event, callback) { value: function once$1(event, callback) {
once.call(this, this.elements.container, event, callback); once.call(this, this.elements.container, event, callback);
} }
/** /**
@@ -11605,7 +11626,7 @@ typeof navigator === "object" && (function (global, factory) {
}, { }, {
key: "off", key: "off",
value: function off$$1(event, callback) { value: function off$1(event, callback) {
off(this.elements.container, event, callback); off(this.elements.container, event, callback);
} }
/** /**
@@ -12264,7 +12285,7 @@ typeof navigator === "object" && (function (global, factory) {
}, { }, {
key: "loadSprite", key: "loadSprite",
value: function loadSprite$$1(url, id) { value: function loadSprite$1(url, id) {
return loadSprite(url, id); return loadSprite(url, id);
} }
/** /**
@@ -12306,4 +12327,4 @@ typeof navigator === "object" && (function (global, factory) {
return Plyr; return Plyr;
}))); }));
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+62 -41
View File
@@ -1757,7 +1757,7 @@ _setToStringTag(_global.JSON, 'JSON', true);
}; };
var deserializeParam = function deserializeParam(value) { var deserializeParam = function deserializeParam(value) {
return decodeURIComponent(value).replace(/\+/g, ' '); return decodeURIComponent(String(value).replace(/\+/g, ' '));
}; };
var polyfillURLSearchParams = function polyfillURLSearchParams() { var polyfillURLSearchParams = function polyfillURLSearchParams() {
@@ -1885,11 +1885,11 @@ _setToStringTag(_global.JSON, 'JSON', true);
global.URLSearchParams = URLSearchParams; global.URLSearchParams = URLSearchParams;
}; };
if (!('URLSearchParams' in global) || new URLSearchParams('?a=1').toString() !== 'a=1') { if (!('URLSearchParams' in global) || new global.URLSearchParams('?a=1').toString() !== 'a=1') {
polyfillURLSearchParams(); polyfillURLSearchParams();
} }
var proto = URLSearchParams.prototype; var proto = global.URLSearchParams.prototype;
if (typeof proto.sort !== 'function') { if (typeof proto.sort !== 'function') {
proto.sort = function () { proto.sort = function () {
@@ -1965,7 +1965,7 @@ _setToStringTag(_global.JSON, 'JSON', true);
*/ */
var checkIfURLIsSupported = function checkIfURLIsSupported() { var checkIfURLIsSupported = function checkIfURLIsSupported() {
try { try {
var u = new URL('b', 'http://a'); var u = new global.URL('b', 'http://a');
u.pathname = 'c%20d'; u.pathname = 'c%20d';
return u.href === 'http://a/c%20d' && u.searchParams; return u.href === 'http://a/c%20d' && u.searchParams;
} catch (e) { } catch (e) {
@@ -2011,7 +2011,7 @@ _setToStringTag(_global.JSON, 'JSON', true);
value: anchorElement value: anchorElement
}); // create a linked searchParams which reflect its changes on URL }); // create a linked searchParams which reflect its changes on URL
var searchParams = new URLSearchParams(this.search); var searchParams = new global.URLSearchParams(this.search);
var enableSearchUpdate = true; var enableSearchUpdate = true;
var enableSearchParamsUpdate = true; var enableSearchParamsUpdate = true;
@@ -2636,7 +2636,7 @@ var getWeak = _meta.getWeak;
var arrayFind = _arrayMethods(5); var arrayFind = _arrayMethods(5);
var arrayFindIndex = _arrayMethods(6); var arrayFindIndex = _arrayMethods(6);
var id$2 = 0; var id$1 = 0;
// fallback for uncaught frozen keys // fallback for uncaught frozen keys
var uncaughtFrozenStore = function (that) { var uncaughtFrozenStore = function (that) {
@@ -2677,7 +2677,7 @@ var _collectionWeak = {
var C = wrapper(function (that, iterable) { var C = wrapper(function (that, iterable) {
_anInstance(that, C, NAME, '_i'); _anInstance(that, C, NAME, '_i');
that._t = NAME; // collection type that._t = NAME; // collection type
that._i = id$2++; // collection id that._i = id$1++; // collection id
that._l = undefined; // leak store for uncaught frozen objects that._l = undefined; // leak store for uncaught frozen objects
if (iterable != undefined) _forOf(iterable, IS_MAP, that[ADDER], that); if (iterable != undefined) _forOf(iterable, IS_MAP, that[ADDER], that);
}); });
@@ -5415,7 +5415,7 @@ var controls = {
list.appendChild(menuItem); list.appendChild(menuItem);
}, },
// Format a time for display // Format a time for display
formatTime: function formatTime$$1() { formatTime: function formatTime$1() {
var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; var time = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
var inverted = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; var inverted = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
@@ -5535,8 +5535,8 @@ var controls = {
range.setAttribute('aria-valuenow', this.currentTime); range.setAttribute('aria-valuenow', this.currentTime);
var currentTime = controls.formatTime(this.currentTime); var currentTime = controls.formatTime(this.currentTime);
var duration = controls.formatTime(this.duration); var duration = controls.formatTime(this.duration);
var format$$1 = i18n.get('seekLabel', this.config); var format = i18n.get('seekLabel', this.config);
range.setAttribute('aria-valuetext', format$$1.replace('{currentTime}', currentTime).replace('{duration}', duration)); range.setAttribute('aria-valuetext', format.replace('{currentTime}', currentTime).replace('{duration}', duration));
} else if (matches$1(range, this.config.selectors.inputs.volume)) { } else if (matches$1(range, this.config.selectors.inputs.volume)) {
var percent = range.value * 100; var percent = range.value * 100;
range.setAttribute('aria-valuenow', percent); range.setAttribute('aria-valuenow', percent);
@@ -7778,13 +7778,13 @@ var ui = {
}, },
// Toggle controls based on state and `force` argument // Toggle controls based on state and `force` argument
toggleControls: function toggleControls(force) { toggleControls: function toggleControls(force) {
var controls$$1 = this.elements.controls; var controls = this.elements.controls;
if (controls$$1 && this.config.hideControls) { if (controls && this.config.hideControls) {
// Don't hide controls if a touch-device user recently seeked. (Must be limited to touch devices, or it occasionally prevents desktop controls from hiding.) // Don't hide controls if a touch-device user recently seeked. (Must be limited to touch devices, or it occasionally prevents desktop controls from hiding.)
var recentTouchSeek = this.touch && this.lastSeekTime + 2000 > Date.now(); // Show controls if force, loading, paused, button interaction, or recent seek, otherwise hide var recentTouchSeek = this.touch && this.lastSeekTime + 2000 > Date.now(); // Show controls if force, loading, paused, button interaction, or recent seek, otherwise hide
this.toggleControls(Boolean(force || this.loading || this.paused || controls$$1.pressed || controls$$1.hover || recentTouchSeek)); this.toggleControls(Boolean(force || this.loading || this.paused || controls.pressed || controls.hover || recentTouchSeek));
} }
} }
}; };
@@ -8090,11 +8090,11 @@ function () {
on.call(player, elements.container, 'mousemove mouseleave touchstart touchmove enterfullscreen exitfullscreen', function (event) { on.call(player, elements.container, 'mousemove mouseleave touchstart touchmove enterfullscreen exitfullscreen', function (event) {
var controls$$1 = elements.controls; // Remove button states for fullscreen var controls = elements.controls; // Remove button states for fullscreen
if (controls$$1 && event.type === 'enterfullscreen') { if (controls && event.type === 'enterfullscreen') {
controls$$1.pressed = false; controls.pressed = false;
controls$$1.hover = false; controls.hover = false;
} // Show, then hide after a timeout unless another control event occurs } // Show, then hide after a timeout unless another control event occurs
@@ -8349,7 +8349,7 @@ function () {
}, { }, {
key: "controls", key: "controls",
value: function controls$$1() { value: function controls$1() {
var _this3 = this; var _this3 = this;
var player = this.player; var player = this.player;
@@ -8712,16 +8712,23 @@ var loadjs_umd = createCommonjsModule(function (module, exports) {
maxTries = (args.numRetries || 0) + 1, maxTries = (args.numRetries || 0) + 1,
beforeCallbackFn = args.before || devnull, beforeCallbackFn = args.before || devnull,
pathStripped = path.replace(/^(css|img)!/, ''), pathStripped = path.replace(/^(css|img)!/, ''),
isCss, isLegacyIECss,
e; e;
numTries = numTries || 0; numTries = numTries || 0;
if (/(^css!|\.css$)/.test(path)) { if (/(^css!|\.css$)/.test(path)) {
isCss = true; // css // css
e = doc.createElement('link'); e = doc.createElement('link');
e.rel = 'stylesheet'; e.rel = 'stylesheet';
e.href = pathStripped; //.replace(/^css!/, ''); // remove "css!" prefix e.href = pathStripped; // tag IE9+
isLegacyIECss = 'hideFocus' in e; // use preload in IE Edge (to detect load errors)
if (isLegacyIECss && e.relList) {
isLegacyIECss = 0;
e.rel = 'preload';
e.as = 'style';
}
} else if (/(^img!|\.(png|gif|jpg|svg)$)/.test(path)) { } else if (/(^img!|\.(png|gif|jpg|svg)$)/.test(path)) {
// image // image
e = doc.createElement('img'); e = doc.createElement('img');
@@ -8734,10 +8741,10 @@ var loadjs_umd = createCommonjsModule(function (module, exports) {
} }
e.onload = e.onerror = e.onbeforeload = function (ev) { e.onload = e.onerror = e.onbeforeload = function (ev) {
var result = ev.type[0]; // Note: The following code isolates IE using `hideFocus` and treats empty var result = ev.type[0]; // treat empty stylesheets as failures to get around lack of onerror
// stylesheets as failures to get around lack of onerror support // support in IE9-11
if (isCss && 'hideFocus' in e) { if (isLegacyIECss) {
try { try {
if (!e.sheet.cssText.length) result = 'e'; if (!e.sheet.cssText.length) result = 'e';
} catch (x) { } catch (x) {
@@ -8755,6 +8762,9 @@ var loadjs_umd = createCommonjsModule(function (module, exports) {
if (numTries < maxTries) { if (numTries < maxTries) {
return loadFile(path, callbackFn, args, numTries); return loadFile(path, callbackFn, args, numTries);
} }
} else if (e.rel == 'preload' && e.as == 'style') {
// activate preloaded stylesheets
return e.rel = 'stylesheet'; // jshint ignore:line
} // execute callback } // execute callback
@@ -8820,15 +8830,26 @@ var loadjs_umd = createCommonjsModule(function (module, exports) {
} else { } else {
bundleIdCache[bundleId] = true; bundleIdCache[bundleId] = true;
} }
} // load scripts }
function loadFn(resolve, reject) {
loadFiles(paths, function (pathsNotFound) {
// execute callbacks
executeCallbacks(args, pathsNotFound); // resolve Promise
if (resolve) {
executeCallbacks({
success: resolve,
error: reject
}, pathsNotFound);
} // publish bundle load event
loadFiles(paths, function (pathsNotFound) { publish(bundleId, pathsNotFound);
// execute callbacks }, args);
executeCallbacks(args, pathsNotFound); // publish bundle load event }
publish(bundleId, pathsNotFound); if (args.returnPromise) return new Promise(loadFn);else loadFn();
}, args);
} }
/** /**
* Execute callbacks when dependencies have been satisfied. * Execute callbacks when dependencies have been satisfied.
@@ -8933,7 +8954,7 @@ var vimeo = {
} }
}, },
// API Ready // API Ready
ready: function ready$$1() { ready: function ready() {
var _this2 = this; var _this2 = this;
var player = this; var player = this;
@@ -9310,7 +9331,7 @@ var youtube = {
} }
}, },
// API ready // API ready
ready: function ready$$1() { ready: function ready() {
var player = this; // Ignore already setup (race condition) var player = this; // Ignore already setup (race condition)
var currentId = player.media.getAttribute('id'); var currentId = player.media.getAttribute('id');
@@ -9338,8 +9359,8 @@ var youtube = {
}); });
player.media = replaceElement(container, player.media); // Id to poster wrapper player.media = replaceElement(container, player.media); // Id to poster wrapper
var posterSrc = function posterSrc(format$$1) { var posterSrc = function posterSrc(format) {
return "https://img.youtube.com/vi/".concat(videoId, "/").concat(format$$1, "default.jpg"); return "https://img.youtube.com/vi/".concat(videoId, "/").concat(format, "default.jpg");
}; // Check thumbnail images in order of quality, but reject fallback thumbnails (120px wide) }; // Check thumbnail images in order of quality, but reject fallback thumbnails (120px wide)
@@ -9731,7 +9752,7 @@ function () {
}, { }, {
key: "ready", key: "ready",
value: function ready$$1() { value: function ready() {
var _this3 = this; var _this3 = this;
// Start ticking our safety timer. If the whole advertisement // Start ticking our safety timer. If the whole advertisement
@@ -10215,7 +10236,7 @@ function () {
}, { }, {
key: "on", key: "on",
value: function on$$1(event, callback) { value: function on(event, callback) {
if (!is$2.array(this.events[event])) { if (!is$2.array(this.events[event])) {
this.events[event] = []; this.events[event] = [];
} }
@@ -11577,7 +11598,7 @@ function () {
}, { }, {
key: "on", key: "on",
value: function on$$1(event, callback) { value: function on$1(event, callback) {
on.call(this, this.elements.container, event, callback); on.call(this, this.elements.container, event, callback);
} }
/** /**
@@ -11588,7 +11609,7 @@ function () {
}, { }, {
key: "once", key: "once",
value: function once$$1(event, callback) { value: function once$1(event, callback) {
once.call(this, this.elements.container, event, callback); once.call(this, this.elements.container, event, callback);
} }
/** /**
@@ -11599,7 +11620,7 @@ function () {
}, { }, {
key: "off", key: "off",
value: function off$$1(event, callback) { value: function off$1(event, callback) {
off(this.elements.container, event, callback); off(this.elements.container, event, callback);
} }
/** /**
@@ -12258,7 +12279,7 @@ function () {
}, { }, {
key: "loadSprite", key: "loadSprite",
value: function loadSprite$$1(url, id) { value: function loadSprite$1(url, id) {
return loadSprite(url, id); return loadSprite(url, id);
} }
/** /**
+14 -13
View File
@@ -35,15 +35,15 @@
"deploy": "yarn lint && gulp deploy" "deploy": "yarn lint && gulp deploy"
}, },
"devDependencies": { "devDependencies": {
"ansi-colors": "^3.2.3", "ansi-colors": "^3.2.4",
"aws-sdk": "^2.409.0", "aws-sdk": "^2.422.0",
"@babel/core": "^7.3.3", "@babel/core": "^7.3.4",
"@babel/preset-env": "^7.3.1", "@babel/preset-env": "^7.3.4",
"babel-eslint": "^10.0.1", "babel-eslint": "^10.0.1",
"del": "^3.0.0", "del": "^4.0.0",
"eslint": "^5.14.1", "eslint": "^5.15.2",
"eslint-config-airbnb-base": "^13.1.0", "eslint-config-airbnb-base": "^13.1.0",
"eslint-config-prettier": "^4.0.0", "eslint-config-prettier": "^4.1.0",
"eslint-plugin-import": "^2.16.0", "eslint-plugin-import": "^2.16.0",
"fancy-log": "^1.3.3", "fancy-log": "^1.3.3",
"fastly-purge": "^1.0.1", "fastly-purge": "^1.0.1",
@@ -51,7 +51,7 @@
"gulp": "^4.0.0", "gulp": "^4.0.0",
"gulp-autoprefixer": "^6.0.0", "gulp-autoprefixer": "^6.0.0",
"gulp-awspublish": "^4.0.0", "gulp-awspublish": "^4.0.0",
"gulp-better-rollup": "^3.4.0", "gulp-better-rollup": "^4.0.1",
"gulp-clean-css": "^4.0.0", "gulp-clean-css": "^4.0.0",
"gulp-filter": "^5.1.0", "gulp-filter": "^5.1.0",
"gulp-header": "^2.0.7", "gulp-header": "^2.0.7",
@@ -70,7 +70,8 @@
"prettier-eslint": "^8.8.2", "prettier-eslint": "^8.8.2",
"prettier-stylelint": "^0.4.2", "prettier-stylelint": "^0.4.2",
"remark-cli": "^6.0.1", "remark-cli": "^6.0.1",
"remark-validate-links": "^8.0.0", "remark-validate-links": "^8.0.1",
"rollup": "^1.6.0",
"rollup-plugin-babel": "^4.3.2", "rollup-plugin-babel": "^4.3.2",
"rollup-plugin-commonjs": "^9.2.1", "rollup-plugin-commonjs": "^9.2.1",
"rollup-plugin-node-resolve": "^4.0.1", "rollup-plugin-node-resolve": "^4.0.1",
@@ -78,17 +79,17 @@
"stylelint-config-prettier": "^5.0.0", "stylelint-config-prettier": "^5.0.0",
"stylelint-config-recommended": "^2.1.0", "stylelint-config-recommended": "^2.1.0",
"stylelint-config-sass-guidelines": "^5.3.0", "stylelint-config-sass-guidelines": "^5.3.0",
"stylelint-order": "^2.0.0", "stylelint-order": "^2.1.0",
"stylelint-scss": "^3.5.4", "stylelint-scss": "^3.5.4",
"stylelint-selector-bem-pattern": "^2.0.0", "stylelint-selector-bem-pattern": "^2.0.0",
"through2": "^3.0.0" "through2": "^3.0.1"
}, },
"dependencies": { "dependencies": {
"core-js": "^2.6.5", "core-js": "^2.6.5",
"custom-event-polyfill": "^1.0.6", "custom-event-polyfill": "^1.0.6",
"loadjs": "^3.5.5", "loadjs": "^3.6.0",
"rangetouch": "^2.0.0", "rangetouch": "^2.0.0",
"raven-js": "^3.27.0", "raven-js": "^3.27.0",
"url-polyfill": "^1.1.3" "url-polyfill": "^1.1.5"
} }
} }
+4
View File
@@ -5,6 +5,10 @@
} }
], ],
"settings": { "settings": {
"search.exclude": {
"**/node_modules": true,
"**/dist": true
},
// Linting // Linting
"stylelint.enable": true, "stylelint.enable": true,
"css.validate": false, "css.validate": false,
+1 -1
View File
@@ -296,7 +296,7 @@ Note the single quotes encapsulating the JSON and double quotes on the object ke
| `ratio` | String | `16:9` | The aspect ratio you want to use for embedded players. | | `ratio` | String | `16:9` | The aspect ratio you want to use for embedded players. |
| `storage` | Object | `{ enabled: true, key: 'plyr' }` | `enabled`: Allow use of local storage to store user settings. `key`: The key name to use. | | `storage` | Object | `{ enabled: true, key: 'plyr' }` | `enabled`: Allow use of local storage to store user settings. `key`: The key name to use. |
| `speed` | Object | `{ selected: 1, options: [0.5, 0.75, 1, 1.25, 1.5, 1.75, 2] }` | `selected`: The default speed for playback. `options`: Options to display in the menu. Most browsers will refuse to play slower than 0.5. | | `speed` | Object | `{ selected: 1, options: [0.5, 0.75, 1, 1.25, 1.5, 1.75, 2] }` | `selected`: The default speed for playback. `options`: Options to display in the menu. Most browsers will refuse to play slower than 0.5. |
| `quality` | Object | `{ default: 'default', options: ['hd2160', 'hd1440', 'hd1080', 'hd720', 'large', 'medium', 'small', 'tiny', 'default'] }` | Currently only supported by YouTube. `default` is the default quality level, determined by YouTube. `options` are the options to display. | | `quality` | Object | `{ default: 576, options: [4320, 2880, 2160, 1440, 1080, 720, 576, 480, 360, 240] }` | `default` is the default quality level (if it exists in your sources). `options` are the options to display. This is used to filter the available sources. |
| `loop` | Object | `{ active: false }` | `active`: Whether to loop the current video. If the `loop` attribute is present on a `<video>` or `<audio>` element, this will be automatically set to true This is an object to support future functionality. | | `loop` | Object | `{ active: false }` | `active`: Whether to loop the current video. If the `loop` attribute is present on a `<video>` or `<audio>` element, this will be automatically set to true This is an object to support future functionality. |
| `ads` | Object | `{ enabled: false, publisherId: '' }` | `enabled`: Whether to enable advertisements. `publisherId`: Your unique [vi.ai](https://vi.ai/publisher-video-monetization/?aid=plyrio) publisher ID. | | `ads` | Object | `{ enabled: false, publisherId: '' }` | `enabled`: Whether to enable advertisements. `publisherId`: Your unique [vi.ai](https://vi.ai/publisher-video-monetization/?aid=plyrio) publisher ID. |
| `urls` | Object | See source. | If you wish to override any API URLs then you can do so here. You can also set a custom download URL for the download button. | | `urls` | Object | See source. | If you wish to override any API URLs then you can do so here. You can also set a custom download URL for the download button. |
+301 -279
View File
File diff suppressed because it is too large Load Diff