diff options
Diffstat (limited to 'dist/plyr.polyfilled.mjs')
-rw-r--r-- | dist/plyr.polyfilled.mjs | 49 |
1 files changed, 30 insertions, 19 deletions
diff --git a/dist/plyr.polyfilled.mjs b/dist/plyr.polyfilled.mjs index c82c8bd5..e92d0f13 100644 --- a/dist/plyr.polyfilled.mjs +++ b/dist/plyr.polyfilled.mjs @@ -1,4 +1,4 @@ -typeof navigator === "object" && // Polyfill for creating CustomEvents on IE9/10/11 +// Polyfill for creating CustomEvents on IE9/10/11 // code pulled from: // https://github.com/d4tocchini/customevent-polyfill // https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent#Polyfill @@ -4205,7 +4205,7 @@ function _unsupportedIterableToArray(o, minLen) { 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); } @@ -4402,7 +4402,7 @@ function _nonIterableRest() { 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; } @@ -4526,7 +4526,11 @@ function _nonIterableRest() { 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'); } @@ -7314,7 +7318,7 @@ function triggerEvent(element) { var event = new CustomEvent(type, { bubbles: bubbles, - detail: _objectSpread2({}, detail, { + detail: _objectSpread2(_objectSpread2({}, detail), {}, { plyr: this }) }); // Dispatch the event @@ -7427,7 +7431,12 @@ function setAspectRatio(input) { 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); } @@ -8101,7 +8110,7 @@ var controls = { 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(' ') }); @@ -9101,7 +9110,7 @@ var controls = { 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 @@ -9113,7 +9122,7 @@ var controls = { 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)); @@ -9432,8 +9441,6 @@ var controls = { 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 @@ -9971,7 +9978,7 @@ var defaults$1 = { // 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 @@ -10418,10 +10425,12 @@ var Fullscreen = /*#__PURE__*/function () { 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", @@ -10900,7 +10909,7 @@ var ui = { // 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 @@ -14722,9 +14731,9 @@ var Plyr = /*#__PURE__*/function () { 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 @@ -14920,7 +14929,7 @@ var Plyr = /*#__PURE__*/function () { 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 @@ -15013,7 +15022,9 @@ var Plyr = /*#__PURE__*/function () { } } 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 |