diff options
Diffstat (limited to 'dist/plyr.polyfilled.js')
-rw-r--r-- | dist/plyr.polyfilled.js | 49 |
1 files changed, 30 insertions, 19 deletions
diff --git a/dist/plyr.polyfilled.js b/dist/plyr.polyfilled.js index 61960e76..bb061bed 100644 --- a/dist/plyr.polyfilled.js +++ b/dist/plyr.polyfilled.js @@ -1,7 +1,7 @@ typeof navigator === "object" && (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define('Plyr', factory) : - (global = global || self, global.Plyr = factory()); + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Plyr = factory()); }(this, (function () { 'use strict'; // Polyfill for creating CustomEvents on IE9/10/11 @@ -4211,7 +4211,7 @@ typeof navigator === "object" && (function (global, factory) { 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(n); + 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); } @@ -4408,7 +4408,7 @@ typeof navigator === "object" && (function (global, factory) { var checkIfURLSearchParamsSupported = function checkIfURLSearchParamsSupported() { try { var URLSearchParams = global.URLSearchParams; - return new URLSearchParams('?a=1').toString() === 'a=1' && typeof URLSearchParams.prototype.set === 'function'; + return new URLSearchParams('?a=1').toString() === 'a=1' && typeof URLSearchParams.prototype.set === 'function' && typeof URLSearchParams.prototype.entries === 'function'; } catch (e) { return false; } @@ -4532,7 +4532,11 @@ typeof navigator === "object" && (function (global, factory) { anchorElement.href = anchorElement.href; // force href to refresh } - if (anchorElement.protocol === ':' || !/:/.test(anchorElement.href)) { + var inputElement = doc.createElement('input'); + inputElement.type = 'url'; + inputElement.value = url; + + if (anchorElement.protocol === ':' || !/:/.test(anchorElement.href) || !inputElement.checkValidity() && !base) { throw new TypeError('Invalid URL'); } @@ -7320,7 +7324,7 @@ typeof navigator === "object" && (function (global, factory) { var event = new CustomEvent(type, { bubbles: bubbles, - detail: _objectSpread2({}, detail, { + detail: _objectSpread2(_objectSpread2({}, detail), {}, { plyr: this }) }); // Dispatch the event @@ -7433,7 +7437,12 @@ typeof navigator === "object" && (function (global, factory) { if (this.isVimeo && !this.config.vimeo.premium && this.supported.ui) { var height = 100 / this.media.offsetWidth * parseInt(window.getComputedStyle(this.media).paddingBottom, 10); var offset = (height - padding) / (height / 50); - this.media.style.transform = "translateY(-".concat(offset, "%)"); + + if (this.fullscreen.active) { + wrapper.style.paddingBottom = null; + } else { + this.media.style.transform = "translateY(-".concat(offset, "%)"); + } } else if (this.isHTML5) { wrapper.classList.toggle(this.config.classNames.videoFixedRatio, ratio !== null); } @@ -8107,7 +8116,7 @@ typeof navigator === "object" && (function (global, factory) { var attr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var text = i18n.get(key, this.config); - var attributes = _objectSpread2({}, attr, { + var attributes = _objectSpread2(_objectSpread2({}, attr), {}, { class: [attr.class, this.config.classNames.hidden].filter(Boolean).join(' ') }); @@ -9107,7 +9116,7 @@ typeof navigator === "object" && (function (global, factory) { showMenuPanel = controls.showMenuPanel; this.elements.controls = null; // Larger overlaid play button - if (this.config.controls.includes('play-large')) { + if (is$1.array(this.config.controls) && this.config.controls.includes('play-large')) { this.elements.container.appendChild(createButton.call(this, 'play-large')); } // Create the container @@ -9119,7 +9128,7 @@ typeof navigator === "object" && (function (global, factory) { class: 'plyr__controls__item' }; // Loop through controls in order - dedupe(this.config.controls).forEach(function (control) { + dedupe(is$1.array(this.config.controls) ? this.config.controls : []).forEach(function (control) { // Restart button if (control === 'restart') { container.appendChild(createButton.call(_this10, 'restart', defaultAttributes)); @@ -9438,8 +9447,6 @@ typeof navigator === "object" && (function (global, factory) { if (update) { if (is$1.string(this.config.controls)) { container = replace(container); - } else if (is$1.element(container)) { - container.innerHTML = replace(container.innerHTML); } } // Controls container @@ -9977,7 +9984,7 @@ typeof navigator === "object" && (function (global, factory) { // Sprite (for icons) loadSprite: true, iconPrefix: 'plyr', - iconUrl: 'https://cdn.plyr.io/3.6.1/plyr.svg', + iconUrl: 'https://cdn.plyr.io/3.6.2/plyr.svg', // Blank video (used to prevent errors on source change) blankVideo: 'https://cdn.plyr.io/static/blank.mp4', // Quality default @@ -10424,10 +10431,12 @@ typeof navigator === "object" && (function (global, factory) { if (is$1.element(button)) { button.pressed = this.active; - } // Trigger an event + } // Always trigger events on the plyr / media element (not a fullscreen container) and let them bubble up - triggerEvent.call(this.player, this.target, this.active ? 'enterfullscreen' : 'exitfullscreen', true); + var target = this.target === this.player.media ? this.target : this.player.elements.container; // Trigger an event + + triggerEvent.call(this.player, target, this.active ? 'enterfullscreen' : 'exitfullscreen', true); } }, { key: "toggleFallback", @@ -10906,7 +10915,7 @@ typeof navigator === "object" && (function (global, factory) { // Loop through values (as they are the keys when the object is spread 🤔) Object.values(_objectSpread2({}, this.media.style)) // We're only fussed about Plyr specific properties .filter(function (key) { - return !is$1.empty(key) && key.startsWith('--plyr'); + return !is$1.empty(key) && is$1.string(key) && key.startsWith('--plyr'); }).forEach(function (key) { // Set on the container _this5.elements.container.style.setProperty(key, _this5.media.style.getPropertyValue(key)); // Clean up from media element @@ -14728,9 +14737,9 @@ typeof navigator === "object" && (function (global, factory) { if (this.isHTML5 && this.config.autoplay) { - setTimeout(function () { + this.once('canplay', function () { return silencePromise(_this.play()); - }, 10); + }); } // Seek time will be recorded (in listeners.js) so we can prevent hiding controls for a few seconds after seek @@ -14926,7 +14935,7 @@ typeof navigator === "object" && (function (global, factory) { var hiding = toggleClass(this.elements.container, this.config.classNames.hideControls, force); // Close menu - if (hiding && this.config.controls.includes('settings') && !is$1.empty(this.config.settings)) { + if (hiding && is$1.array(this.config.controls) && this.config.controls.includes('settings') && !is$1.empty(this.config.settings)) { controls.toggleMenu.call(this, false); } // Trigger event on change @@ -15019,7 +15028,9 @@ typeof navigator === "object" && (function (global, factory) { } } else { // Unbind listeners - unbindListeners.call(_this3); // Replace the container with the original element provided + unbindListeners.call(_this3); // Cancel current network requests + + html5.cancelRequests.call(_this3); // Replace the container with the original element provided replaceElement(_this3.elements.original, _this3.elements.container); // Event |