aboutsummaryrefslogtreecommitdiffstats
path: root/dist/plyr.js
diff options
context:
space:
mode:
Diffstat (limited to 'dist/plyr.js')
-rw-r--r--dist/plyr.js95
1 files changed, 58 insertions, 37 deletions
diff --git a/dist/plyr.js b/dist/plyr.js
index 3286c6cd..ac78079d 100644
--- a/dist/plyr.js
+++ b/dist/plyr.js
@@ -1,8 +1,8 @@
typeof navigator === "object" && (function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define('Plyr', factory) :
- (global.Plyr = factory());
-}(this, (function () { 'use strict';
+ (global = global || self, global.Plyr = factory());
+}(this, function () { 'use strict';
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
@@ -2033,7 +2033,7 @@ typeof navigator === "object" && (function (global, factory) {
list.appendChild(menuItem);
},
// 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 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);
var currentTime = controls.formatTime(this.currentTime);
var duration = controls.formatTime(this.duration);
- var format$$1 = i18n.get('seekLabel', this.config);
- range.setAttribute('aria-valuetext', format$$1.replace('{currentTime}', currentTime).replace('{duration}', duration));
+ var format = i18n.get('seekLabel', this.config);
+ range.setAttribute('aria-valuetext', format.replace('{currentTime}', currentTime).replace('{duration}', duration));
} else if (matches$1(range, this.config.selectors.inputs.volume)) {
var percent = range.value * 100;
range.setAttribute('aria-valuenow', percent);
@@ -4386,13 +4386,13 @@ typeof navigator === "object" && (function (global, factory) {
},
// Toggle controls based on state and `force` argument
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.)
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) {
- 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') {
- controls$$1.pressed = false;
- controls$$1.hover = false;
+ if (controls && event.type === 'enterfullscreen') {
+ controls.pressed = false;
+ controls.hover = false;
} // Show, then hide after a timeout unless another control event occurs
@@ -4957,7 +4957,7 @@ typeof navigator === "object" && (function (global, factory) {
}, {
key: "controls",
- value: function controls$$1() {
+ value: function controls$1() {
var _this3 = this;
var player = this.player;
@@ -5326,16 +5326,23 @@ typeof navigator === "object" && (function (global, factory) {
maxTries = (args.numRetries || 0) + 1,
beforeCallbackFn = args.before || devnull,
pathStripped = path.replace(/^(css|img)!/, ''),
- isCss,
+ isLegacyIECss,
e;
numTries = numTries || 0;
if (/(^css!|\.css$)/.test(path)) {
- isCss = true; // css
-
+ // css
e = doc.createElement('link');
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)) {
// image
e = doc.createElement('img');
@@ -5348,10 +5355,10 @@ typeof navigator === "object" && (function (global, factory) {
}
e.onload = e.onerror = e.onbeforeload = function (ev) {
- var result = ev.type[0]; // Note: The following code isolates IE using `hideFocus` and treats empty
- // stylesheets as failures to get around lack of onerror support
+ var result = ev.type[0]; // treat empty stylesheets as failures to get around lack of onerror
+ // support in IE9-11
- if (isCss && 'hideFocus' in e) {
+ if (isLegacyIECss) {
try {
if (!e.sheet.cssText.length) result = 'e';
} catch (x) {
@@ -5369,6 +5376,9 @@ typeof navigator === "object" && (function (global, factory) {
if (numTries < maxTries) {
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
@@ -5434,15 +5444,26 @@ typeof navigator === "object" && (function (global, factory) {
} else {
bundleIdCache[bundleId] = true;
}
- } // load scripts
+ }
+ function loadFn(resolve, reject) {
+ loadFiles(paths, function (pathsNotFound) {
+ // execute callbacks
+ executeCallbacks(args, pathsNotFound); // resolve Promise
- loadFiles(paths, function (pathsNotFound) {
- // execute callbacks
- executeCallbacks(args, pathsNotFound); // publish bundle load event
+ if (resolve) {
+ executeCallbacks({
+ success: resolve,
+ error: reject
+ }, pathsNotFound);
+ } // publish bundle load event
+
+
+ publish(bundleId, pathsNotFound);
+ }, args);
+ }
- publish(bundleId, pathsNotFound);
- }, args);
+ if (args.returnPromise) return new Promise(loadFn);else loadFn();
}
/**
* Execute callbacks when dependencies have been satisfied.
@@ -5548,7 +5569,7 @@ typeof navigator === "object" && (function (global, factory) {
}
},
// API Ready
- ready: function ready$$1() {
+ ready: function ready() {
var _this2 = this;
var player = this;
@@ -5927,7 +5948,7 @@ typeof navigator === "object" && (function (global, factory) {
}
},
// API ready
- ready: function ready$$1() {
+ ready: function ready() {
var player = this; // Ignore already setup (race condition)
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
- var posterSrc = function posterSrc(format$$1) {
- return "https://img.youtube.com/vi/".concat(videoId, "/").concat(format$$1, "default.jpg");
+ var posterSrc = function posterSrc(format) {
+ 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)
@@ -6349,7 +6370,7 @@ typeof navigator === "object" && (function (global, factory) {
}, {
key: "ready",
- value: function ready$$1() {
+ value: function ready() {
var _this3 = this;
// Start ticking our safety timer. If the whole advertisement
@@ -6833,7 +6854,7 @@ typeof navigator === "object" && (function (global, factory) {
}, {
key: "on",
- value: function on$$1(event, callback) {
+ value: function on(event, callback) {
if (!is$1.array(this.events[event])) {
this.events[event] = [];
}
@@ -8181,7 +8202,7 @@ typeof navigator === "object" && (function (global, factory) {
}, {
key: "on",
- value: function on$$1(event, callback) {
+ value: function on$1(event, callback) {
on.call(this, this.elements.container, event, callback);
}
/**
@@ -8192,7 +8213,7 @@ typeof navigator === "object" && (function (global, factory) {
}, {
key: "once",
- value: function once$$1(event, callback) {
+ value: function once$1(event, callback) {
once.call(this, this.elements.container, event, callback);
}
/**
@@ -8203,7 +8224,7 @@ typeof navigator === "object" && (function (global, factory) {
}, {
key: "off",
- value: function off$$1(event, callback) {
+ value: function off$1(event, callback) {
off(this.elements.container, event, callback);
}
/**
@@ -8862,7 +8883,7 @@ typeof navigator === "object" && (function (global, factory) {
}, {
key: "loadSprite",
- value: function loadSprite$$1(url, id) {
+ value: function loadSprite$1(url, id) {
return loadSprite(url, id);
}
/**
@@ -8902,4 +8923,4 @@ typeof navigator === "object" && (function (global, factory) {
return Plyr;
-})));
+}));