Build
This commit is contained in:
parent
88dc981f4b
commit
3509995756
2
demo/dist/demo.css
vendored
2
demo/dist/demo.css
vendored
File diff suppressed because one or more lines are too long
3719
demo/dist/demo.js
vendored
3719
demo/dist/demo.js
vendored
File diff suppressed because it is too large
Load Diff
4
demo/dist/demo.min.js
vendored
4
demo/dist/demo.min.js
vendored
File diff suppressed because one or more lines are too long
2
demo/dist/demo.min.js.map
vendored
2
demo/dist/demo.min.js.map
vendored
File diff suppressed because one or more lines are too long
2
dist/plyr.css
vendored
2
dist/plyr.css
vendored
File diff suppressed because one or more lines are too long
482
dist/plyr.js
vendored
482
dist/plyr.js
vendored
@ -76,19 +76,15 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
}
|
||||
|
||||
function _slicedToArray(arr, i) {
|
||||
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();
|
||||
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
||||
}
|
||||
|
||||
function _toConsumableArray(arr) {
|
||||
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();
|
||||
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
||||
}
|
||||
|
||||
function _arrayWithoutHoles(arr) {
|
||||
if (Array.isArray(arr)) {
|
||||
for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
|
||||
|
||||
return arr2;
|
||||
}
|
||||
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
||||
}
|
||||
|
||||
function _arrayWithHoles(arr) {
|
||||
@ -96,14 +92,11 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
}
|
||||
|
||||
function _iterableToArray(iter) {
|
||||
if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter);
|
||||
if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
|
||||
}
|
||||
|
||||
function _iterableToArrayLimit(arr, i) {
|
||||
if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
|
||||
var _arr = [];
|
||||
var _n = true;
|
||||
var _d = false;
|
||||
@ -129,102 +122,142 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
return _arr;
|
||||
}
|
||||
|
||||
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(n);
|
||||
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
function _nonIterableSpread() {
|
||||
throw new TypeError("Invalid attempt to spread non-iterable instance");
|
||||
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
||||
}
|
||||
|
||||
function _nonIterableRest() {
|
||||
throw new TypeError("Invalid attempt to destructure non-iterable instance");
|
||||
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
||||
}
|
||||
|
||||
function _classCallCheck$1(e, t) {
|
||||
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
|
||||
}
|
||||
|
||||
function _defineProperties$1(e, t) {
|
||||
for (var n = 0; n < t.length; n++) {
|
||||
var r = t[n];
|
||||
r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);
|
||||
}
|
||||
}
|
||||
|
||||
function _createClass$1(e, t, n) {
|
||||
return t && _defineProperties$1(e.prototype, t), n && _defineProperties$1(e, n), e;
|
||||
}
|
||||
|
||||
function _defineProperty$1(e, t, n) {
|
||||
return t in e ? Object.defineProperty(e, t, {
|
||||
value: n,
|
||||
enumerable: !0,
|
||||
configurable: !0,
|
||||
writable: !0
|
||||
}) : e[t] = n, e;
|
||||
}
|
||||
|
||||
function ownKeys$1(e, t) {
|
||||
var n = Object.keys(e);
|
||||
|
||||
if (Object.getOwnPropertySymbols) {
|
||||
var r = Object.getOwnPropertySymbols(e);
|
||||
t && (r = r.filter(function (t) {
|
||||
return Object.getOwnPropertyDescriptor(e, t).enumerable;
|
||||
})), n.push.apply(n, r);
|
||||
}
|
||||
|
||||
return n;
|
||||
}
|
||||
|
||||
function _objectSpread2$1(e) {
|
||||
for (var t = 1; t < arguments.length; t++) {
|
||||
var n = null != arguments[t] ? arguments[t] : {};
|
||||
t % 2 ? ownKeys$1(Object(n), !0).forEach(function (t) {
|
||||
_defineProperty$1(e, t, n[t]);
|
||||
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : ownKeys$1(Object(n)).forEach(function (t) {
|
||||
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t));
|
||||
});
|
||||
}
|
||||
|
||||
return e;
|
||||
}
|
||||
|
||||
var defaults = {
|
||||
addCSS: true,
|
||||
// Add CSS to the element to improve usability (required here or in your CSS!)
|
||||
addCSS: !0,
|
||||
thumbWidth: 15,
|
||||
// The width of the thumb handle
|
||||
watch: true // Watch for new elements that match a string target
|
||||
|
||||
watch: !0
|
||||
};
|
||||
|
||||
// Element matches a selector
|
||||
function matches(element, selector) {
|
||||
|
||||
function match() {
|
||||
return Array.from(document.querySelectorAll(selector)).includes(this);
|
||||
function matches(e, t) {
|
||||
return function () {
|
||||
return Array.from(document.querySelectorAll(t)).includes(this);
|
||||
}.call(e, t);
|
||||
}
|
||||
|
||||
var matches = match;
|
||||
return matches.call(element, selector);
|
||||
function trigger(e, t) {
|
||||
if (e && t) {
|
||||
var n = new Event(t, {
|
||||
bubbles: !0
|
||||
});
|
||||
e.dispatchEvent(n);
|
||||
}
|
||||
}
|
||||
|
||||
// Trigger event
|
||||
function trigger(element, type) {
|
||||
if (!element || !type) {
|
||||
return;
|
||||
} // Create and dispatch the event
|
||||
|
||||
|
||||
var event = new Event(type); // Dispatch the event
|
||||
|
||||
element.dispatchEvent(event);
|
||||
}
|
||||
|
||||
// ==========================================================================
|
||||
// Type checking utils
|
||||
// ==========================================================================
|
||||
var getConstructor = function getConstructor(input) {
|
||||
return input !== null && typeof input !== 'undefined' ? input.constructor : null;
|
||||
};
|
||||
|
||||
var instanceOf = function instanceOf(input, constructor) {
|
||||
return Boolean(input && constructor && input instanceof constructor);
|
||||
};
|
||||
|
||||
var isNullOrUndefined = function isNullOrUndefined(input) {
|
||||
return input === null || typeof input === 'undefined';
|
||||
};
|
||||
|
||||
var isObject = function isObject(input) {
|
||||
return getConstructor(input) === Object;
|
||||
};
|
||||
|
||||
var isNumber = function isNumber(input) {
|
||||
return getConstructor(input) === Number && !Number.isNaN(input);
|
||||
};
|
||||
|
||||
var isString = function isString(input) {
|
||||
return getConstructor(input) === String;
|
||||
};
|
||||
|
||||
var isBoolean = function isBoolean(input) {
|
||||
return getConstructor(input) === Boolean;
|
||||
};
|
||||
|
||||
var isFunction = function isFunction(input) {
|
||||
return getConstructor(input) === Function;
|
||||
};
|
||||
|
||||
var isArray = function isArray(input) {
|
||||
return Array.isArray(input);
|
||||
};
|
||||
|
||||
var isNodeList = function isNodeList(input) {
|
||||
return instanceOf(input, NodeList);
|
||||
};
|
||||
|
||||
var isElement = function isElement(input) {
|
||||
return instanceOf(input, Element);
|
||||
};
|
||||
|
||||
var isEvent = function isEvent(input) {
|
||||
return instanceOf(input, Event);
|
||||
};
|
||||
|
||||
var isEmpty = function isEmpty(input) {
|
||||
return isNullOrUndefined(input) || (isString(input) || isArray(input) || isNodeList(input)) && !input.length || isObject(input) && !Object.keys(input).length;
|
||||
};
|
||||
|
||||
var is = {
|
||||
var getConstructor = function getConstructor(e) {
|
||||
return null != e ? e.constructor : null;
|
||||
},
|
||||
instanceOf = function instanceOf(e, t) {
|
||||
return !!(e && t && e instanceof t);
|
||||
},
|
||||
isNullOrUndefined = function isNullOrUndefined(e) {
|
||||
return null == e;
|
||||
},
|
||||
isObject = function isObject(e) {
|
||||
return getConstructor(e) === Object;
|
||||
},
|
||||
isNumber = function isNumber(e) {
|
||||
return getConstructor(e) === Number && !Number.isNaN(e);
|
||||
},
|
||||
isString = function isString(e) {
|
||||
return getConstructor(e) === String;
|
||||
},
|
||||
isBoolean = function isBoolean(e) {
|
||||
return getConstructor(e) === Boolean;
|
||||
},
|
||||
isFunction = function isFunction(e) {
|
||||
return getConstructor(e) === Function;
|
||||
},
|
||||
isArray = function isArray(e) {
|
||||
return Array.isArray(e);
|
||||
},
|
||||
isNodeList = function isNodeList(e) {
|
||||
return instanceOf(e, NodeList);
|
||||
},
|
||||
isElement = function isElement(e) {
|
||||
return instanceOf(e, Element);
|
||||
},
|
||||
isEvent = function isEvent(e) {
|
||||
return instanceOf(e, Event);
|
||||
},
|
||||
isEmpty = function isEmpty(e) {
|
||||
return isNullOrUndefined(e) || (isString(e) || isArray(e) || isNodeList(e)) && !e.length || isObject(e) && !Object.keys(e).length;
|
||||
},
|
||||
is = {
|
||||
nullOrUndefined: isNullOrUndefined,
|
||||
object: isObject,
|
||||
number: isNumber,
|
||||
@ -238,219 +271,98 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
empty: isEmpty
|
||||
};
|
||||
|
||||
// Get the number of decimal places
|
||||
function getDecimalPlaces(value) {
|
||||
var match = "".concat(value).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);
|
||||
|
||||
if (!match) {
|
||||
return 0;
|
||||
function getDecimalPlaces(e) {
|
||||
var t = "".concat(e).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);
|
||||
return t ? Math.max(0, (t[1] ? t[1].length : 0) - (t[2] ? +t[2] : 0)) : 0;
|
||||
}
|
||||
|
||||
return Math.max(0, // Number of digits right of decimal point.
|
||||
(match[1] ? match[1].length : 0) - ( // Adjust for scientific notation.
|
||||
match[2] ? +match[2] : 0));
|
||||
} // Round to the nearest step
|
||||
|
||||
function round(number, step) {
|
||||
if (step < 1) {
|
||||
var places = getDecimalPlaces(step);
|
||||
return parseFloat(number.toFixed(places));
|
||||
function round(e, t) {
|
||||
if (1 > t) {
|
||||
var n = getDecimalPlaces(t);
|
||||
return parseFloat(e.toFixed(n));
|
||||
}
|
||||
|
||||
return Math.round(number / step) * step;
|
||||
return Math.round(e / t) * t;
|
||||
}
|
||||
|
||||
var RangeTouch =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
/**
|
||||
* Setup a new instance
|
||||
* @param {String|Element} target
|
||||
* @param {Object} options
|
||||
*/
|
||||
function RangeTouch(target, options) {
|
||||
_classCallCheck(this, RangeTouch);
|
||||
|
||||
if (is.element(target)) {
|
||||
// An Element is passed, use it directly
|
||||
this.element = target;
|
||||
} else if (is.string(target)) {
|
||||
// A CSS Selector is passed, fetch it from the DOM
|
||||
this.element = document.querySelector(target);
|
||||
var RangeTouch = function () {
|
||||
function e(t, n) {
|
||||
_classCallCheck$1(this, e), is.element(t) ? this.element = t : is.string(t) && (this.element = document.querySelector(t)), is.element(this.element) && is.empty(this.element.rangeTouch) && (this.config = _objectSpread2$1({}, defaults, {}, n), this.init());
|
||||
}
|
||||
|
||||
if (!is.element(this.element) || !is.empty(this.element.rangeTouch)) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.config = Object.assign({}, defaults, options);
|
||||
this.init();
|
||||
}
|
||||
|
||||
_createClass(RangeTouch, [{
|
||||
return _createClass$1(e, [{
|
||||
key: "init",
|
||||
value: function init() {
|
||||
// Bail if not a touch enabled device
|
||||
if (!RangeTouch.enabled) {
|
||||
return;
|
||||
} // Add useful CSS
|
||||
|
||||
|
||||
if (this.config.addCSS) {
|
||||
// TODO: Restore original values on destroy
|
||||
this.element.style.userSelect = 'none';
|
||||
this.element.style.webKitUserSelect = 'none';
|
||||
this.element.style.touchAction = 'manipulation';
|
||||
}
|
||||
|
||||
this.listeners(true);
|
||||
this.element.rangeTouch = this;
|
||||
value: function value() {
|
||||
e.enabled && (this.config.addCSS && (this.element.style.userSelect = "none", this.element.style.webKitUserSelect = "none", this.element.style.touchAction = "manipulation"), this.listeners(!0), this.element.rangeTouch = this);
|
||||
}
|
||||
}, {
|
||||
key: "destroy",
|
||||
value: function destroy() {
|
||||
// Bail if not a touch enabled device
|
||||
if (!RangeTouch.enabled) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.listeners(false);
|
||||
this.element.rangeTouch = null;
|
||||
value: function value() {
|
||||
e.enabled && (this.config.addCSS && (this.element.style.userSelect = "", this.element.style.webKitUserSelect = "", this.element.style.touchAction = ""), this.listeners(!1), this.element.rangeTouch = null);
|
||||
}
|
||||
}, {
|
||||
key: "listeners",
|
||||
value: function listeners(toggle) {
|
||||
var _this = this;
|
||||
|
||||
var method = toggle ? 'addEventListener' : 'removeEventListener'; // Listen for events
|
||||
|
||||
['touchstart', 'touchmove', 'touchend'].forEach(function (type) {
|
||||
_this.element[method](type, function (event) {
|
||||
return _this.set(event);
|
||||
}, false);
|
||||
value: function value(e) {
|
||||
var t = this,
|
||||
n = e ? "addEventListener" : "removeEventListener";
|
||||
["touchstart", "touchmove", "touchend"].forEach(function (e) {
|
||||
t.element[n](e, function (e) {
|
||||
return t.set(e);
|
||||
}, !1);
|
||||
});
|
||||
}
|
||||
/**
|
||||
* Get the value based on touch position
|
||||
* @param {Event} event
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: "get",
|
||||
value: function get(event) {
|
||||
if (!RangeTouch.enabled || !is.event(event)) {
|
||||
return null;
|
||||
value: function value(t) {
|
||||
if (!e.enabled || !is.event(t)) return null;
|
||||
var n,
|
||||
r = t.target,
|
||||
i = t.changedTouches[0],
|
||||
o = parseFloat(r.getAttribute("min")) || 0,
|
||||
s = parseFloat(r.getAttribute("max")) || 100,
|
||||
u = parseFloat(r.getAttribute("step")) || 1,
|
||||
c = r.getBoundingClientRect(),
|
||||
a = 100 / c.width * (this.config.thumbWidth / 2) / 100;
|
||||
return 0 > (n = 100 / c.width * (i.clientX - c.left)) ? n = 0 : 100 < n && (n = 100), 50 > n ? n -= (100 - 2 * n) * a : 50 < n && (n += 2 * (n - 50) * a), o + round(n / 100 * (s - o), u);
|
||||
}
|
||||
|
||||
var input = event.target;
|
||||
var touch = event.changedTouches[0];
|
||||
var min = parseFloat(input.getAttribute('min')) || 0;
|
||||
var max = parseFloat(input.getAttribute('max')) || 100;
|
||||
var step = parseFloat(input.getAttribute('step')) || 1;
|
||||
var delta = max - min; // Calculate percentage
|
||||
|
||||
var percent;
|
||||
var clientRect = input.getBoundingClientRect();
|
||||
var thumbWidth = 100 / clientRect.width * (this.config.thumbWidth / 2) / 100; // Determine left percentage
|
||||
|
||||
percent = 100 / clientRect.width * (touch.clientX - clientRect.left); // Don't allow outside bounds
|
||||
|
||||
if (percent < 0) {
|
||||
percent = 0;
|
||||
} else if (percent > 100) {
|
||||
percent = 100;
|
||||
} // Factor in the thumb offset
|
||||
|
||||
|
||||
if (percent < 50) {
|
||||
percent -= (100 - percent * 2) * thumbWidth;
|
||||
} else if (percent > 50) {
|
||||
percent += (percent - 50) * 2 * thumbWidth;
|
||||
} // Find the closest step to the mouse position
|
||||
|
||||
|
||||
return min + round(delta * (percent / 100), step);
|
||||
}
|
||||
/**
|
||||
* Update range value based on position
|
||||
* @param {Event} event
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: "set",
|
||||
value: function set(event) {
|
||||
if (!RangeTouch.enabled || !is.event(event) || event.target.disabled) {
|
||||
return;
|
||||
} // Prevent text highlight on iOS
|
||||
|
||||
|
||||
event.preventDefault(); // Set value
|
||||
|
||||
event.target.value = this.get(event); // Trigger event
|
||||
|
||||
trigger(event.target, event.type === 'touchend' ? 'change' : 'input');
|
||||
value: function value(t) {
|
||||
e.enabled && is.event(t) && !t.target.disabled && (t.preventDefault(), t.target.value = this.get(t), trigger(t.target, "touchend" === t.type ? "change" : "input"));
|
||||
}
|
||||
}], [{
|
||||
key: "setup",
|
||||
value: function value(t) {
|
||||
var n = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : {},
|
||||
r = null;
|
||||
if (is.empty(t) || is.string(t) ? r = Array.from(document.querySelectorAll(is.string(t) ? t : 'input[type="range"]')) : is.element(t) ? r = [t] : is.nodeList(t) ? r = Array.from(t) : is.array(t) && (r = t.filter(is.element)), is.empty(r)) return null;
|
||||
|
||||
/**
|
||||
* Setup multiple instances
|
||||
* @param {String|Element|NodeList|Array} target
|
||||
* @param {Object} options
|
||||
*/
|
||||
value: function setup(target) {
|
||||
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
||||
var targets = null;
|
||||
var i = _objectSpread2$1({}, defaults, {}, n);
|
||||
|
||||
if (is.empty(target) || is.string(target)) {
|
||||
targets = Array.from(document.querySelectorAll(is.string(target) ? target : 'input[type="range"]'));
|
||||
} else if (is.element(target)) {
|
||||
targets = [target];
|
||||
} else if (is.nodeList(target)) {
|
||||
targets = Array.from(target);
|
||||
} else if (is.array(target)) {
|
||||
targets = target.filter(is.element);
|
||||
}
|
||||
|
||||
if (is.empty(targets)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
var config = Object.assign({}, defaults, options);
|
||||
|
||||
if (is.string(target) && config.watch) {
|
||||
// Create an observer instance
|
||||
var observer = new MutationObserver(function (mutations) {
|
||||
Array.from(mutations).forEach(function (mutation) {
|
||||
Array.from(mutation.addedNodes).forEach(function (node) {
|
||||
if (!is.element(node) || !matches(node, target)) {
|
||||
return;
|
||||
} // eslint-disable-next-line no-unused-vars
|
||||
|
||||
|
||||
var range = new RangeTouch(node, config);
|
||||
if (is.string(t) && i.watch) {
|
||||
var o = new MutationObserver(function (n) {
|
||||
Array.from(n).forEach(function (n) {
|
||||
Array.from(n.addedNodes).forEach(function (n) {
|
||||
is.element(n) && matches(n, t) && new e(n, i);
|
||||
});
|
||||
});
|
||||
}); // Pass in the target node, as well as the observer options
|
||||
|
||||
observer.observe(document.body, {
|
||||
childList: true,
|
||||
subtree: true
|
||||
});
|
||||
o.observe(document.body, {
|
||||
childList: !0,
|
||||
subtree: !0
|
||||
});
|
||||
}
|
||||
|
||||
return targets.map(function (t) {
|
||||
return new RangeTouch(t, options);
|
||||
return r.map(function (t) {
|
||||
return new e(t, n);
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: "enabled",
|
||||
get: function get() {
|
||||
return 'ontouchstart' in document.documentElement;
|
||||
return "ontouchstart" in document.documentElement;
|
||||
}
|
||||
}]);
|
||||
|
||||
return RangeTouch;
|
||||
}]), e;
|
||||
}();
|
||||
|
||||
// ==========================================================================
|
||||
@ -1498,9 +1410,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
}
|
||||
};
|
||||
|
||||
var Storage =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var Storage = /*#__PURE__*/function () {
|
||||
function Storage(player) {
|
||||
_classCallCheck(this, Storage);
|
||||
|
||||
@ -1782,7 +1692,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
|
||||
var icon = document.createElementNS(namespace, 'svg');
|
||||
setAttributes(icon, extend(attributes, {
|
||||
role: 'presentation',
|
||||
'aria-hidden': 'true',
|
||||
focusable: 'false'
|
||||
})); // Create the <use> to reference sprite
|
||||
|
||||
@ -3372,7 +3282,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
|
||||
toggleClass(this.elements.container, this.config.classNames.captions.enabled, !is$1.empty(tracks)); // Update available languages in list
|
||||
|
||||
if ((this.config.controls || []).includes('settings') && this.config.settings.includes('captions')) {
|
||||
if (is$1.array(this.config.controls) && this.config.controls.includes('settings') && this.config.settings.includes('captions')) {
|
||||
controls.setCaptionsMenu.call(this);
|
||||
}
|
||||
},
|
||||
@ -4011,9 +3921,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
// ==========================================================================
|
||||
var noop = function noop() {};
|
||||
|
||||
var Console =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var Console = /*#__PURE__*/function () {
|
||||
function Console() {
|
||||
var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
||||
|
||||
@ -4049,9 +3957,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
return Console;
|
||||
}();
|
||||
|
||||
var Fullscreen =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var Fullscreen = /*#__PURE__*/function () {
|
||||
function Fullscreen(player) {
|
||||
var _this = this;
|
||||
|
||||
@ -4575,9 +4481,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
}
|
||||
};
|
||||
|
||||
var Listeners =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var Listeners = /*#__PURE__*/function () {
|
||||
function Listeners(player) {
|
||||
_classCallCheck(this, Listeners);
|
||||
|
||||
@ -6457,9 +6361,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
instance.elements.container.remove();
|
||||
};
|
||||
|
||||
var Ads =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var Ads = /*#__PURE__*/function () {
|
||||
/**
|
||||
* Ads constructor.
|
||||
* @param {Object} player
|
||||
@ -7151,9 +7053,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
return result;
|
||||
};
|
||||
|
||||
var PreviewThumbnails =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var PreviewThumbnails = /*#__PURE__*/function () {
|
||||
/**
|
||||
* PreviewThumbnails constructor.
|
||||
* @param {Plyr} player
|
||||
@ -7982,9 +7882,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
// const globals = new WeakMap();
|
||||
// Plyr instance
|
||||
|
||||
var Plyr =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var Plyr = /*#__PURE__*/function () {
|
||||
function Plyr(target, options) {
|
||||
var _this = this;
|
||||
|
||||
|
4
dist/plyr.min.js
vendored
4
dist/plyr.min.js
vendored
File diff suppressed because one or more lines are too long
2
dist/plyr.min.js.map
vendored
2
dist/plyr.min.js.map
vendored
File diff suppressed because one or more lines are too long
4
dist/plyr.min.mjs
vendored
4
dist/plyr.min.mjs
vendored
File diff suppressed because one or more lines are too long
2
dist/plyr.min.mjs.map
vendored
2
dist/plyr.min.mjs.map
vendored
File diff suppressed because one or more lines are too long
486
dist/plyr.mjs
vendored
486
dist/plyr.mjs
vendored
@ -70,19 +70,15 @@ function _objectSpread2(target) {
|
||||
}
|
||||
|
||||
function _slicedToArray(arr, i) {
|
||||
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();
|
||||
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
||||
}
|
||||
|
||||
function _toConsumableArray(arr) {
|
||||
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();
|
||||
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
||||
}
|
||||
|
||||
function _arrayWithoutHoles(arr) {
|
||||
if (Array.isArray(arr)) {
|
||||
for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
|
||||
|
||||
return arr2;
|
||||
}
|
||||
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
||||
}
|
||||
|
||||
function _arrayWithHoles(arr) {
|
||||
@ -90,14 +86,11 @@ function _arrayWithHoles(arr) {
|
||||
}
|
||||
|
||||
function _iterableToArray(iter) {
|
||||
if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter);
|
||||
if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
|
||||
}
|
||||
|
||||
function _iterableToArrayLimit(arr, i) {
|
||||
if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
|
||||
var _arr = [];
|
||||
var _n = true;
|
||||
var _d = false;
|
||||
@ -123,102 +116,142 @@ function _iterableToArrayLimit(arr, i) {
|
||||
return _arr;
|
||||
}
|
||||
|
||||
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(n);
|
||||
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
function _nonIterableSpread() {
|
||||
throw new TypeError("Invalid attempt to spread non-iterable instance");
|
||||
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
||||
}
|
||||
|
||||
function _nonIterableRest() {
|
||||
throw new TypeError("Invalid attempt to destructure non-iterable instance");
|
||||
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
||||
}
|
||||
|
||||
function _classCallCheck$1(e, t) {
|
||||
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
|
||||
}
|
||||
|
||||
function _defineProperties$1(e, t) {
|
||||
for (var n = 0; n < t.length; n++) {
|
||||
var r = t[n];
|
||||
r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);
|
||||
}
|
||||
}
|
||||
|
||||
function _createClass$1(e, t, n) {
|
||||
return t && _defineProperties$1(e.prototype, t), n && _defineProperties$1(e, n), e;
|
||||
}
|
||||
|
||||
function _defineProperty$1(e, t, n) {
|
||||
return t in e ? Object.defineProperty(e, t, {
|
||||
value: n,
|
||||
enumerable: !0,
|
||||
configurable: !0,
|
||||
writable: !0
|
||||
}) : e[t] = n, e;
|
||||
}
|
||||
|
||||
function ownKeys$1(e, t) {
|
||||
var n = Object.keys(e);
|
||||
|
||||
if (Object.getOwnPropertySymbols) {
|
||||
var r = Object.getOwnPropertySymbols(e);
|
||||
t && (r = r.filter(function (t) {
|
||||
return Object.getOwnPropertyDescriptor(e, t).enumerable;
|
||||
})), n.push.apply(n, r);
|
||||
}
|
||||
|
||||
return n;
|
||||
}
|
||||
|
||||
function _objectSpread2$1(e) {
|
||||
for (var t = 1; t < arguments.length; t++) {
|
||||
var n = null != arguments[t] ? arguments[t] : {};
|
||||
t % 2 ? ownKeys$1(Object(n), !0).forEach(function (t) {
|
||||
_defineProperty$1(e, t, n[t]);
|
||||
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : ownKeys$1(Object(n)).forEach(function (t) {
|
||||
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t));
|
||||
});
|
||||
}
|
||||
|
||||
return e;
|
||||
}
|
||||
|
||||
var defaults = {
|
||||
addCSS: true,
|
||||
// Add CSS to the element to improve usability (required here or in your CSS!)
|
||||
addCSS: !0,
|
||||
thumbWidth: 15,
|
||||
// The width of the thumb handle
|
||||
watch: true // Watch for new elements that match a string target
|
||||
|
||||
watch: !0
|
||||
};
|
||||
|
||||
// Element matches a selector
|
||||
function matches(element, selector) {
|
||||
function matches(e, t) {
|
||||
return function () {
|
||||
return Array.from(document.querySelectorAll(t)).includes(this);
|
||||
}.call(e, t);
|
||||
}
|
||||
|
||||
function match() {
|
||||
return Array.from(document.querySelectorAll(selector)).includes(this);
|
||||
function trigger(e, t) {
|
||||
if (e && t) {
|
||||
var n = new Event(t, {
|
||||
bubbles: !0
|
||||
});
|
||||
e.dispatchEvent(n);
|
||||
}
|
||||
|
||||
var matches = match;
|
||||
return matches.call(element, selector);
|
||||
}
|
||||
|
||||
// Trigger event
|
||||
function trigger(element, type) {
|
||||
if (!element || !type) {
|
||||
return;
|
||||
} // Create and dispatch the event
|
||||
|
||||
|
||||
var event = new Event(type); // Dispatch the event
|
||||
|
||||
element.dispatchEvent(event);
|
||||
}
|
||||
|
||||
// ==========================================================================
|
||||
// Type checking utils
|
||||
// ==========================================================================
|
||||
var getConstructor = function getConstructor(input) {
|
||||
return input !== null && typeof input !== 'undefined' ? input.constructor : null;
|
||||
};
|
||||
|
||||
var instanceOf = function instanceOf(input, constructor) {
|
||||
return Boolean(input && constructor && input instanceof constructor);
|
||||
};
|
||||
|
||||
var isNullOrUndefined = function isNullOrUndefined(input) {
|
||||
return input === null || typeof input === 'undefined';
|
||||
};
|
||||
|
||||
var isObject = function isObject(input) {
|
||||
return getConstructor(input) === Object;
|
||||
};
|
||||
|
||||
var isNumber = function isNumber(input) {
|
||||
return getConstructor(input) === Number && !Number.isNaN(input);
|
||||
};
|
||||
|
||||
var isString = function isString(input) {
|
||||
return getConstructor(input) === String;
|
||||
};
|
||||
|
||||
var isBoolean = function isBoolean(input) {
|
||||
return getConstructor(input) === Boolean;
|
||||
};
|
||||
|
||||
var isFunction = function isFunction(input) {
|
||||
return getConstructor(input) === Function;
|
||||
};
|
||||
|
||||
var isArray = function isArray(input) {
|
||||
return Array.isArray(input);
|
||||
};
|
||||
|
||||
var isNodeList = function isNodeList(input) {
|
||||
return instanceOf(input, NodeList);
|
||||
};
|
||||
|
||||
var isElement = function isElement(input) {
|
||||
return instanceOf(input, Element);
|
||||
};
|
||||
|
||||
var isEvent = function isEvent(input) {
|
||||
return instanceOf(input, Event);
|
||||
};
|
||||
|
||||
var isEmpty = function isEmpty(input) {
|
||||
return isNullOrUndefined(input) || (isString(input) || isArray(input) || isNodeList(input)) && !input.length || isObject(input) && !Object.keys(input).length;
|
||||
};
|
||||
|
||||
var is = {
|
||||
var getConstructor = function getConstructor(e) {
|
||||
return null != e ? e.constructor : null;
|
||||
},
|
||||
instanceOf = function instanceOf(e, t) {
|
||||
return !!(e && t && e instanceof t);
|
||||
},
|
||||
isNullOrUndefined = function isNullOrUndefined(e) {
|
||||
return null == e;
|
||||
},
|
||||
isObject = function isObject(e) {
|
||||
return getConstructor(e) === Object;
|
||||
},
|
||||
isNumber = function isNumber(e) {
|
||||
return getConstructor(e) === Number && !Number.isNaN(e);
|
||||
},
|
||||
isString = function isString(e) {
|
||||
return getConstructor(e) === String;
|
||||
},
|
||||
isBoolean = function isBoolean(e) {
|
||||
return getConstructor(e) === Boolean;
|
||||
},
|
||||
isFunction = function isFunction(e) {
|
||||
return getConstructor(e) === Function;
|
||||
},
|
||||
isArray = function isArray(e) {
|
||||
return Array.isArray(e);
|
||||
},
|
||||
isNodeList = function isNodeList(e) {
|
||||
return instanceOf(e, NodeList);
|
||||
},
|
||||
isElement = function isElement(e) {
|
||||
return instanceOf(e, Element);
|
||||
},
|
||||
isEvent = function isEvent(e) {
|
||||
return instanceOf(e, Event);
|
||||
},
|
||||
isEmpty = function isEmpty(e) {
|
||||
return isNullOrUndefined(e) || (isString(e) || isArray(e) || isNodeList(e)) && !e.length || isObject(e) && !Object.keys(e).length;
|
||||
},
|
||||
is = {
|
||||
nullOrUndefined: isNullOrUndefined,
|
||||
object: isObject,
|
||||
number: isNumber,
|
||||
@ -232,219 +265,98 @@ var is = {
|
||||
empty: isEmpty
|
||||
};
|
||||
|
||||
// Get the number of decimal places
|
||||
function getDecimalPlaces(value) {
|
||||
var match = "".concat(value).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);
|
||||
|
||||
if (!match) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return Math.max(0, // Number of digits right of decimal point.
|
||||
(match[1] ? match[1].length : 0) - ( // Adjust for scientific notation.
|
||||
match[2] ? +match[2] : 0));
|
||||
} // Round to the nearest step
|
||||
|
||||
function round(number, step) {
|
||||
if (step < 1) {
|
||||
var places = getDecimalPlaces(step);
|
||||
return parseFloat(number.toFixed(places));
|
||||
}
|
||||
|
||||
return Math.round(number / step) * step;
|
||||
function getDecimalPlaces(e) {
|
||||
var t = "".concat(e).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);
|
||||
return t ? Math.max(0, (t[1] ? t[1].length : 0) - (t[2] ? +t[2] : 0)) : 0;
|
||||
}
|
||||
|
||||
var RangeTouch =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
/**
|
||||
* Setup a new instance
|
||||
* @param {String|Element} target
|
||||
* @param {Object} options
|
||||
*/
|
||||
function RangeTouch(target, options) {
|
||||
_classCallCheck(this, RangeTouch);
|
||||
|
||||
if (is.element(target)) {
|
||||
// An Element is passed, use it directly
|
||||
this.element = target;
|
||||
} else if (is.string(target)) {
|
||||
// A CSS Selector is passed, fetch it from the DOM
|
||||
this.element = document.querySelector(target);
|
||||
function round(e, t) {
|
||||
if (1 > t) {
|
||||
var n = getDecimalPlaces(t);
|
||||
return parseFloat(e.toFixed(n));
|
||||
}
|
||||
|
||||
if (!is.element(this.element) || !is.empty(this.element.rangeTouch)) {
|
||||
return;
|
||||
return Math.round(e / t) * t;
|
||||
}
|
||||
|
||||
var RangeTouch = function () {
|
||||
function e(t, n) {
|
||||
_classCallCheck$1(this, e), is.element(t) ? this.element = t : is.string(t) && (this.element = document.querySelector(t)), is.element(this.element) && is.empty(this.element.rangeTouch) && (this.config = _objectSpread2$1({}, defaults, {}, n), this.init());
|
||||
}
|
||||
|
||||
this.config = Object.assign({}, defaults, options);
|
||||
this.init();
|
||||
}
|
||||
|
||||
_createClass(RangeTouch, [{
|
||||
return _createClass$1(e, [{
|
||||
key: "init",
|
||||
value: function init() {
|
||||
// Bail if not a touch enabled device
|
||||
if (!RangeTouch.enabled) {
|
||||
return;
|
||||
} // Add useful CSS
|
||||
|
||||
|
||||
if (this.config.addCSS) {
|
||||
// TODO: Restore original values on destroy
|
||||
this.element.style.userSelect = 'none';
|
||||
this.element.style.webKitUserSelect = 'none';
|
||||
this.element.style.touchAction = 'manipulation';
|
||||
}
|
||||
|
||||
this.listeners(true);
|
||||
this.element.rangeTouch = this;
|
||||
value: function value() {
|
||||
e.enabled && (this.config.addCSS && (this.element.style.userSelect = "none", this.element.style.webKitUserSelect = "none", this.element.style.touchAction = "manipulation"), this.listeners(!0), this.element.rangeTouch = this);
|
||||
}
|
||||
}, {
|
||||
key: "destroy",
|
||||
value: function destroy() {
|
||||
// Bail if not a touch enabled device
|
||||
if (!RangeTouch.enabled) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.listeners(false);
|
||||
this.element.rangeTouch = null;
|
||||
value: function value() {
|
||||
e.enabled && (this.config.addCSS && (this.element.style.userSelect = "", this.element.style.webKitUserSelect = "", this.element.style.touchAction = ""), this.listeners(!1), this.element.rangeTouch = null);
|
||||
}
|
||||
}, {
|
||||
key: "listeners",
|
||||
value: function listeners(toggle) {
|
||||
var _this = this;
|
||||
|
||||
var method = toggle ? 'addEventListener' : 'removeEventListener'; // Listen for events
|
||||
|
||||
['touchstart', 'touchmove', 'touchend'].forEach(function (type) {
|
||||
_this.element[method](type, function (event) {
|
||||
return _this.set(event);
|
||||
}, false);
|
||||
value: function value(e) {
|
||||
var t = this,
|
||||
n = e ? "addEventListener" : "removeEventListener";
|
||||
["touchstart", "touchmove", "touchend"].forEach(function (e) {
|
||||
t.element[n](e, function (e) {
|
||||
return t.set(e);
|
||||
}, !1);
|
||||
});
|
||||
}
|
||||
/**
|
||||
* Get the value based on touch position
|
||||
* @param {Event} event
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: "get",
|
||||
value: function get(event) {
|
||||
if (!RangeTouch.enabled || !is.event(event)) {
|
||||
return null;
|
||||
value: function value(t) {
|
||||
if (!e.enabled || !is.event(t)) return null;
|
||||
var n,
|
||||
r = t.target,
|
||||
i = t.changedTouches[0],
|
||||
o = parseFloat(r.getAttribute("min")) || 0,
|
||||
s = parseFloat(r.getAttribute("max")) || 100,
|
||||
u = parseFloat(r.getAttribute("step")) || 1,
|
||||
c = r.getBoundingClientRect(),
|
||||
a = 100 / c.width * (this.config.thumbWidth / 2) / 100;
|
||||
return 0 > (n = 100 / c.width * (i.clientX - c.left)) ? n = 0 : 100 < n && (n = 100), 50 > n ? n -= (100 - 2 * n) * a : 50 < n && (n += 2 * (n - 50) * a), o + round(n / 100 * (s - o), u);
|
||||
}
|
||||
|
||||
var input = event.target;
|
||||
var touch = event.changedTouches[0];
|
||||
var min = parseFloat(input.getAttribute('min')) || 0;
|
||||
var max = parseFloat(input.getAttribute('max')) || 100;
|
||||
var step = parseFloat(input.getAttribute('step')) || 1;
|
||||
var delta = max - min; // Calculate percentage
|
||||
|
||||
var percent;
|
||||
var clientRect = input.getBoundingClientRect();
|
||||
var thumbWidth = 100 / clientRect.width * (this.config.thumbWidth / 2) / 100; // Determine left percentage
|
||||
|
||||
percent = 100 / clientRect.width * (touch.clientX - clientRect.left); // Don't allow outside bounds
|
||||
|
||||
if (percent < 0) {
|
||||
percent = 0;
|
||||
} else if (percent > 100) {
|
||||
percent = 100;
|
||||
} // Factor in the thumb offset
|
||||
|
||||
|
||||
if (percent < 50) {
|
||||
percent -= (100 - percent * 2) * thumbWidth;
|
||||
} else if (percent > 50) {
|
||||
percent += (percent - 50) * 2 * thumbWidth;
|
||||
} // Find the closest step to the mouse position
|
||||
|
||||
|
||||
return min + round(delta * (percent / 100), step);
|
||||
}
|
||||
/**
|
||||
* Update range value based on position
|
||||
* @param {Event} event
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: "set",
|
||||
value: function set(event) {
|
||||
if (!RangeTouch.enabled || !is.event(event) || event.target.disabled) {
|
||||
return;
|
||||
} // Prevent text highlight on iOS
|
||||
|
||||
|
||||
event.preventDefault(); // Set value
|
||||
|
||||
event.target.value = this.get(event); // Trigger event
|
||||
|
||||
trigger(event.target, event.type === 'touchend' ? 'change' : 'input');
|
||||
value: function value(t) {
|
||||
e.enabled && is.event(t) && !t.target.disabled && (t.preventDefault(), t.target.value = this.get(t), trigger(t.target, "touchend" === t.type ? "change" : "input"));
|
||||
}
|
||||
}], [{
|
||||
key: "setup",
|
||||
value: function value(t) {
|
||||
var n = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : {},
|
||||
r = null;
|
||||
if (is.empty(t) || is.string(t) ? r = Array.from(document.querySelectorAll(is.string(t) ? t : 'input[type="range"]')) : is.element(t) ? r = [t] : is.nodeList(t) ? r = Array.from(t) : is.array(t) && (r = t.filter(is.element)), is.empty(r)) return null;
|
||||
|
||||
/**
|
||||
* Setup multiple instances
|
||||
* @param {String|Element|NodeList|Array} target
|
||||
* @param {Object} options
|
||||
*/
|
||||
value: function setup(target) {
|
||||
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
||||
var targets = null;
|
||||
var i = _objectSpread2$1({}, defaults, {}, n);
|
||||
|
||||
if (is.empty(target) || is.string(target)) {
|
||||
targets = Array.from(document.querySelectorAll(is.string(target) ? target : 'input[type="range"]'));
|
||||
} else if (is.element(target)) {
|
||||
targets = [target];
|
||||
} else if (is.nodeList(target)) {
|
||||
targets = Array.from(target);
|
||||
} else if (is.array(target)) {
|
||||
targets = target.filter(is.element);
|
||||
}
|
||||
|
||||
if (is.empty(targets)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
var config = Object.assign({}, defaults, options);
|
||||
|
||||
if (is.string(target) && config.watch) {
|
||||
// Create an observer instance
|
||||
var observer = new MutationObserver(function (mutations) {
|
||||
Array.from(mutations).forEach(function (mutation) {
|
||||
Array.from(mutation.addedNodes).forEach(function (node) {
|
||||
if (!is.element(node) || !matches(node, target)) {
|
||||
return;
|
||||
} // eslint-disable-next-line no-unused-vars
|
||||
|
||||
|
||||
var range = new RangeTouch(node, config);
|
||||
if (is.string(t) && i.watch) {
|
||||
var o = new MutationObserver(function (n) {
|
||||
Array.from(n).forEach(function (n) {
|
||||
Array.from(n.addedNodes).forEach(function (n) {
|
||||
is.element(n) && matches(n, t) && new e(n, i);
|
||||
});
|
||||
});
|
||||
}); // Pass in the target node, as well as the observer options
|
||||
|
||||
observer.observe(document.body, {
|
||||
childList: true,
|
||||
subtree: true
|
||||
});
|
||||
o.observe(document.body, {
|
||||
childList: !0,
|
||||
subtree: !0
|
||||
});
|
||||
}
|
||||
|
||||
return targets.map(function (t) {
|
||||
return new RangeTouch(t, options);
|
||||
return r.map(function (t) {
|
||||
return new e(t, n);
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: "enabled",
|
||||
get: function get() {
|
||||
return 'ontouchstart' in document.documentElement;
|
||||
return "ontouchstart" in document.documentElement;
|
||||
}
|
||||
}]);
|
||||
|
||||
return RangeTouch;
|
||||
}]), e;
|
||||
}();
|
||||
|
||||
// ==========================================================================
|
||||
@ -1492,9 +1404,7 @@ var i18n = {
|
||||
}
|
||||
};
|
||||
|
||||
var Storage =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var Storage = /*#__PURE__*/function () {
|
||||
function Storage(player) {
|
||||
_classCallCheck(this, Storage);
|
||||
|
||||
@ -1776,7 +1686,7 @@ var controls = {
|
||||
|
||||
var icon = document.createElementNS(namespace, 'svg');
|
||||
setAttributes(icon, extend(attributes, {
|
||||
role: 'presentation',
|
||||
'aria-hidden': 'true',
|
||||
focusable: 'false'
|
||||
})); // Create the <use> to reference sprite
|
||||
|
||||
@ -3366,7 +3276,7 @@ var captions = {
|
||||
|
||||
toggleClass(this.elements.container, this.config.classNames.captions.enabled, !is$1.empty(tracks)); // Update available languages in list
|
||||
|
||||
if ((this.config.controls || []).includes('settings') && this.config.settings.includes('captions')) {
|
||||
if (is$1.array(this.config.controls) && this.config.controls.includes('settings') && this.config.settings.includes('captions')) {
|
||||
controls.setCaptionsMenu.call(this);
|
||||
}
|
||||
},
|
||||
@ -4005,9 +3915,7 @@ function getProviderByUrl(url) {
|
||||
// ==========================================================================
|
||||
var noop = function noop() {};
|
||||
|
||||
var Console =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var Console = /*#__PURE__*/function () {
|
||||
function Console() {
|
||||
var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
||||
|
||||
@ -4043,9 +3951,7 @@ function () {
|
||||
return Console;
|
||||
}();
|
||||
|
||||
var Fullscreen =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var Fullscreen = /*#__PURE__*/function () {
|
||||
function Fullscreen(player) {
|
||||
var _this = this;
|
||||
|
||||
@ -4569,9 +4475,7 @@ var ui = {
|
||||
}
|
||||
};
|
||||
|
||||
var Listeners =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var Listeners = /*#__PURE__*/function () {
|
||||
function Listeners(player) {
|
||||
_classCallCheck(this, Listeners);
|
||||
|
||||
@ -6451,9 +6355,7 @@ var destroy = function destroy(instance) {
|
||||
instance.elements.container.remove();
|
||||
};
|
||||
|
||||
var Ads =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var Ads = /*#__PURE__*/function () {
|
||||
/**
|
||||
* Ads constructor.
|
||||
* @param {Object} player
|
||||
@ -7145,9 +7047,7 @@ var fitRatio = function fitRatio(ratio, outer) {
|
||||
return result;
|
||||
};
|
||||
|
||||
var PreviewThumbnails =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var PreviewThumbnails = /*#__PURE__*/function () {
|
||||
/**
|
||||
* PreviewThumbnails constructor.
|
||||
* @param {Plyr} player
|
||||
@ -7976,9 +7876,7 @@ function clamp() {
|
||||
// const globals = new WeakMap();
|
||||
// Plyr instance
|
||||
|
||||
var Plyr =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var Plyr = /*#__PURE__*/function () {
|
||||
function Plyr(target, options) {
|
||||
var _this = this;
|
||||
|
||||
|
558
dist/plyr.polyfilled.js
vendored
558
dist/plyr.polyfilled.js
vendored
@ -4124,19 +4124,15 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
}
|
||||
|
||||
function _slicedToArray(arr, i) {
|
||||
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();
|
||||
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
||||
}
|
||||
|
||||
function _toConsumableArray(arr) {
|
||||
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();
|
||||
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
||||
}
|
||||
|
||||
function _arrayWithoutHoles(arr) {
|
||||
if (Array.isArray(arr)) {
|
||||
for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
|
||||
|
||||
return arr2;
|
||||
}
|
||||
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
||||
}
|
||||
|
||||
function _arrayWithHoles(arr) {
|
||||
@ -4144,14 +4140,11 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
}
|
||||
|
||||
function _iterableToArray(iter) {
|
||||
if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter);
|
||||
if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
|
||||
}
|
||||
|
||||
function _iterableToArrayLimit(arr, i) {
|
||||
if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
|
||||
var _arr = [];
|
||||
var _n = true;
|
||||
var _d = false;
|
||||
@ -4177,12 +4170,29 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
return _arr;
|
||||
}
|
||||
|
||||
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(n);
|
||||
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
function _nonIterableSpread() {
|
||||
throw new TypeError("Invalid attempt to spread non-iterable instance");
|
||||
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
||||
}
|
||||
|
||||
function _nonIterableRest() {
|
||||
throw new TypeError("Invalid attempt to destructure non-iterable instance");
|
||||
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
||||
}
|
||||
|
||||
(function (global) {
|
||||
@ -5614,38 +5624,6 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
}
|
||||
});
|
||||
|
||||
var defaults = {
|
||||
addCSS: true,
|
||||
// Add CSS to the element to improve usability (required here or in your CSS!)
|
||||
thumbWidth: 15,
|
||||
// The width of the thumb handle
|
||||
watch: true // Watch for new elements that match a string target
|
||||
|
||||
};
|
||||
|
||||
// Element matches a selector
|
||||
function matches(element, selector) {
|
||||
|
||||
function match() {
|
||||
return Array.from(document.querySelectorAll(selector)).includes(this);
|
||||
}
|
||||
|
||||
var matches = match;
|
||||
return matches.call(element, selector);
|
||||
}
|
||||
|
||||
// Trigger event
|
||||
function trigger(element, type) {
|
||||
if (!element || !type) {
|
||||
return;
|
||||
} // Create and dispatch the event
|
||||
|
||||
|
||||
var event = new Event(type); // Dispatch the event
|
||||
|
||||
element.dispatchEvent(event);
|
||||
}
|
||||
|
||||
// `Number.isNaN` method
|
||||
// https://tc39.github.io/ecma262/#sec-number.isnan
|
||||
_export({ target: 'Number', stat: true }, {
|
||||
@ -5655,74 +5633,37 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
}
|
||||
});
|
||||
|
||||
// ==========================================================================
|
||||
// Type checking utils
|
||||
// ==========================================================================
|
||||
var getConstructor = function getConstructor(input) {
|
||||
return input !== null && typeof input !== 'undefined' ? input.constructor : null;
|
||||
};
|
||||
var nativeGetOwnPropertyDescriptor$2 = objectGetOwnPropertyDescriptor.f;
|
||||
|
||||
var instanceOf = function instanceOf(input, constructor) {
|
||||
return Boolean(input && constructor && input instanceof constructor);
|
||||
};
|
||||
|
||||
var isNullOrUndefined = function isNullOrUndefined(input) {
|
||||
return input === null || typeof input === 'undefined';
|
||||
};
|
||||
var FAILS_ON_PRIMITIVES$1 = fails(function () { nativeGetOwnPropertyDescriptor$2(1); });
|
||||
var FORCED$2 = !descriptors || FAILS_ON_PRIMITIVES$1;
|
||||
|
||||
var isObject$1 = function isObject(input) {
|
||||
return getConstructor(input) === Object;
|
||||
};
|
||||
// `Object.getOwnPropertyDescriptor` method
|
||||
// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
|
||||
_export({ target: 'Object', stat: true, forced: FORCED$2, sham: !descriptors }, {
|
||||
getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {
|
||||
return nativeGetOwnPropertyDescriptor$2(toIndexedObject(it), key);
|
||||
}
|
||||
});
|
||||
|
||||
var isNumber = function isNumber(input) {
|
||||
return getConstructor(input) === Number && !Number.isNaN(input);
|
||||
};
|
||||
|
||||
var isString = function isString(input) {
|
||||
return getConstructor(input) === String;
|
||||
};
|
||||
|
||||
var isBoolean = function isBoolean(input) {
|
||||
return getConstructor(input) === Boolean;
|
||||
};
|
||||
|
||||
var isFunction = function isFunction(input) {
|
||||
return getConstructor(input) === Function;
|
||||
};
|
||||
|
||||
var isArray$1 = function isArray(input) {
|
||||
return Array.isArray(input);
|
||||
};
|
||||
|
||||
var isNodeList = function isNodeList(input) {
|
||||
return instanceOf(input, NodeList);
|
||||
};
|
||||
|
||||
var isElement = function isElement(input) {
|
||||
return instanceOf(input, Element);
|
||||
};
|
||||
|
||||
var isEvent = function isEvent(input) {
|
||||
return instanceOf(input, Event);
|
||||
};
|
||||
|
||||
var isEmpty = function isEmpty(input) {
|
||||
return isNullOrUndefined(input) || (isString(input) || isArray$1(input) || isNodeList(input)) && !input.length || isObject$1(input) && !Object.keys(input).length;
|
||||
};
|
||||
|
||||
var is = {
|
||||
nullOrUndefined: isNullOrUndefined,
|
||||
object: isObject$1,
|
||||
number: isNumber,
|
||||
string: isString,
|
||||
boolean: isBoolean,
|
||||
function: isFunction,
|
||||
array: isArray$1,
|
||||
nodeList: isNodeList,
|
||||
element: isElement,
|
||||
event: isEvent,
|
||||
empty: isEmpty
|
||||
};
|
||||
// `Object.getOwnPropertyDescriptors` method
|
||||
// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors
|
||||
_export({ target: 'Object', stat: true, sham: !descriptors }, {
|
||||
getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {
|
||||
var O = toIndexedObject(object);
|
||||
var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
|
||||
var keys = ownKeys(O);
|
||||
var result = {};
|
||||
var index = 0;
|
||||
var key, descriptor;
|
||||
while (keys.length > index) {
|
||||
descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);
|
||||
if (descriptor !== undefined) createProperty(result, key, descriptor);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
});
|
||||
|
||||
// @@match logic
|
||||
fixRegexpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {
|
||||
@ -5761,219 +5702,222 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
];
|
||||
});
|
||||
|
||||
// Get the number of decimal places
|
||||
function getDecimalPlaces(value) {
|
||||
var match = "".concat(value).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);
|
||||
|
||||
if (!match) {
|
||||
return 0;
|
||||
function _classCallCheck$1(e, t) {
|
||||
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
|
||||
}
|
||||
|
||||
return Math.max(0, // Number of digits right of decimal point.
|
||||
(match[1] ? match[1].length : 0) - ( // Adjust for scientific notation.
|
||||
match[2] ? +match[2] : 0));
|
||||
} // Round to the nearest step
|
||||
|
||||
function round(number, step) {
|
||||
if (step < 1) {
|
||||
var places = getDecimalPlaces(step);
|
||||
return parseFloat(number.toFixed(places));
|
||||
function _defineProperties$1(e, t) {
|
||||
for (var n = 0; n < t.length; n++) {
|
||||
var r = t[n];
|
||||
r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);
|
||||
}
|
||||
}
|
||||
|
||||
return Math.round(number / step) * step;
|
||||
function _createClass$1(e, t, n) {
|
||||
return t && _defineProperties$1(e.prototype, t), n && _defineProperties$1(e, n), e;
|
||||
}
|
||||
|
||||
var RangeTouch =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
/**
|
||||
* Setup a new instance
|
||||
* @param {String|Element} target
|
||||
* @param {Object} options
|
||||
*/
|
||||
function RangeTouch(target, options) {
|
||||
_classCallCheck(this, RangeTouch);
|
||||
|
||||
if (is.element(target)) {
|
||||
// An Element is passed, use it directly
|
||||
this.element = target;
|
||||
} else if (is.string(target)) {
|
||||
// A CSS Selector is passed, fetch it from the DOM
|
||||
this.element = document.querySelector(target);
|
||||
function _defineProperty$1(e, t, n) {
|
||||
return t in e ? Object.defineProperty(e, t, {
|
||||
value: n,
|
||||
enumerable: !0,
|
||||
configurable: !0,
|
||||
writable: !0
|
||||
}) : e[t] = n, e;
|
||||
}
|
||||
|
||||
if (!is.element(this.element) || !is.empty(this.element.rangeTouch)) {
|
||||
return;
|
||||
function ownKeys$2(e, t) {
|
||||
var n = Object.keys(e);
|
||||
|
||||
if (Object.getOwnPropertySymbols) {
|
||||
var r = Object.getOwnPropertySymbols(e);
|
||||
t && (r = r.filter(function (t) {
|
||||
return Object.getOwnPropertyDescriptor(e, t).enumerable;
|
||||
})), n.push.apply(n, r);
|
||||
}
|
||||
|
||||
this.config = Object.assign({}, defaults, options);
|
||||
this.init();
|
||||
return n;
|
||||
}
|
||||
|
||||
_createClass(RangeTouch, [{
|
||||
function _objectSpread2$1(e) {
|
||||
for (var t = 1; t < arguments.length; t++) {
|
||||
var n = null != arguments[t] ? arguments[t] : {};
|
||||
t % 2 ? ownKeys$2(Object(n), !0).forEach(function (t) {
|
||||
_defineProperty$1(e, t, n[t]);
|
||||
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : ownKeys$2(Object(n)).forEach(function (t) {
|
||||
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t));
|
||||
});
|
||||
}
|
||||
|
||||
return e;
|
||||
}
|
||||
|
||||
var defaults = {
|
||||
addCSS: !0,
|
||||
thumbWidth: 15,
|
||||
watch: !0
|
||||
};
|
||||
|
||||
function matches(e, t) {
|
||||
return function () {
|
||||
return Array.from(document.querySelectorAll(t)).includes(this);
|
||||
}.call(e, t);
|
||||
}
|
||||
|
||||
function trigger(e, t) {
|
||||
if (e && t) {
|
||||
var n = new Event(t, {
|
||||
bubbles: !0
|
||||
});
|
||||
e.dispatchEvent(n);
|
||||
}
|
||||
}
|
||||
|
||||
var getConstructor = function getConstructor(e) {
|
||||
return null != e ? e.constructor : null;
|
||||
},
|
||||
instanceOf = function instanceOf(e, t) {
|
||||
return !!(e && t && e instanceof t);
|
||||
},
|
||||
isNullOrUndefined = function isNullOrUndefined(e) {
|
||||
return null == e;
|
||||
},
|
||||
isObject$1 = function isObject(e) {
|
||||
return getConstructor(e) === Object;
|
||||
},
|
||||
isNumber = function isNumber(e) {
|
||||
return getConstructor(e) === Number && !Number.isNaN(e);
|
||||
},
|
||||
isString = function isString(e) {
|
||||
return getConstructor(e) === String;
|
||||
},
|
||||
isBoolean = function isBoolean(e) {
|
||||
return getConstructor(e) === Boolean;
|
||||
},
|
||||
isFunction = function isFunction(e) {
|
||||
return getConstructor(e) === Function;
|
||||
},
|
||||
isArray$1 = function isArray(e) {
|
||||
return Array.isArray(e);
|
||||
},
|
||||
isNodeList = function isNodeList(e) {
|
||||
return instanceOf(e, NodeList);
|
||||
},
|
||||
isElement = function isElement(e) {
|
||||
return instanceOf(e, Element);
|
||||
},
|
||||
isEvent = function isEvent(e) {
|
||||
return instanceOf(e, Event);
|
||||
},
|
||||
isEmpty = function isEmpty(e) {
|
||||
return isNullOrUndefined(e) || (isString(e) || isArray$1(e) || isNodeList(e)) && !e.length || isObject$1(e) && !Object.keys(e).length;
|
||||
},
|
||||
is = {
|
||||
nullOrUndefined: isNullOrUndefined,
|
||||
object: isObject$1,
|
||||
number: isNumber,
|
||||
string: isString,
|
||||
boolean: isBoolean,
|
||||
function: isFunction,
|
||||
array: isArray$1,
|
||||
nodeList: isNodeList,
|
||||
element: isElement,
|
||||
event: isEvent,
|
||||
empty: isEmpty
|
||||
};
|
||||
|
||||
function getDecimalPlaces(e) {
|
||||
var t = "".concat(e).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);
|
||||
return t ? Math.max(0, (t[1] ? t[1].length : 0) - (t[2] ? +t[2] : 0)) : 0;
|
||||
}
|
||||
|
||||
function round(e, t) {
|
||||
if (1 > t) {
|
||||
var n = getDecimalPlaces(t);
|
||||
return parseFloat(e.toFixed(n));
|
||||
}
|
||||
|
||||
return Math.round(e / t) * t;
|
||||
}
|
||||
|
||||
var RangeTouch = function () {
|
||||
function e(t, n) {
|
||||
_classCallCheck$1(this, e), is.element(t) ? this.element = t : is.string(t) && (this.element = document.querySelector(t)), is.element(this.element) && is.empty(this.element.rangeTouch) && (this.config = _objectSpread2$1({}, defaults, {}, n), this.init());
|
||||
}
|
||||
|
||||
return _createClass$1(e, [{
|
||||
key: "init",
|
||||
value: function init() {
|
||||
// Bail if not a touch enabled device
|
||||
if (!RangeTouch.enabled) {
|
||||
return;
|
||||
} // Add useful CSS
|
||||
|
||||
|
||||
if (this.config.addCSS) {
|
||||
// TODO: Restore original values on destroy
|
||||
this.element.style.userSelect = 'none';
|
||||
this.element.style.webKitUserSelect = 'none';
|
||||
this.element.style.touchAction = 'manipulation';
|
||||
}
|
||||
|
||||
this.listeners(true);
|
||||
this.element.rangeTouch = this;
|
||||
value: function value() {
|
||||
e.enabled && (this.config.addCSS && (this.element.style.userSelect = "none", this.element.style.webKitUserSelect = "none", this.element.style.touchAction = "manipulation"), this.listeners(!0), this.element.rangeTouch = this);
|
||||
}
|
||||
}, {
|
||||
key: "destroy",
|
||||
value: function destroy() {
|
||||
// Bail if not a touch enabled device
|
||||
if (!RangeTouch.enabled) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.listeners(false);
|
||||
this.element.rangeTouch = null;
|
||||
value: function value() {
|
||||
e.enabled && (this.config.addCSS && (this.element.style.userSelect = "", this.element.style.webKitUserSelect = "", this.element.style.touchAction = ""), this.listeners(!1), this.element.rangeTouch = null);
|
||||
}
|
||||
}, {
|
||||
key: "listeners",
|
||||
value: function listeners(toggle) {
|
||||
var _this = this;
|
||||
|
||||
var method = toggle ? 'addEventListener' : 'removeEventListener'; // Listen for events
|
||||
|
||||
['touchstart', 'touchmove', 'touchend'].forEach(function (type) {
|
||||
_this.element[method](type, function (event) {
|
||||
return _this.set(event);
|
||||
}, false);
|
||||
value: function value(e) {
|
||||
var t = this,
|
||||
n = e ? "addEventListener" : "removeEventListener";
|
||||
["touchstart", "touchmove", "touchend"].forEach(function (e) {
|
||||
t.element[n](e, function (e) {
|
||||
return t.set(e);
|
||||
}, !1);
|
||||
});
|
||||
}
|
||||
/**
|
||||
* Get the value based on touch position
|
||||
* @param {Event} event
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: "get",
|
||||
value: function get(event) {
|
||||
if (!RangeTouch.enabled || !is.event(event)) {
|
||||
return null;
|
||||
value: function value(t) {
|
||||
if (!e.enabled || !is.event(t)) return null;
|
||||
var n,
|
||||
r = t.target,
|
||||
i = t.changedTouches[0],
|
||||
o = parseFloat(r.getAttribute("min")) || 0,
|
||||
s = parseFloat(r.getAttribute("max")) || 100,
|
||||
u = parseFloat(r.getAttribute("step")) || 1,
|
||||
c = r.getBoundingClientRect(),
|
||||
a = 100 / c.width * (this.config.thumbWidth / 2) / 100;
|
||||
return 0 > (n = 100 / c.width * (i.clientX - c.left)) ? n = 0 : 100 < n && (n = 100), 50 > n ? n -= (100 - 2 * n) * a : 50 < n && (n += 2 * (n - 50) * a), o + round(n / 100 * (s - o), u);
|
||||
}
|
||||
|
||||
var input = event.target;
|
||||
var touch = event.changedTouches[0];
|
||||
var min = parseFloat(input.getAttribute('min')) || 0;
|
||||
var max = parseFloat(input.getAttribute('max')) || 100;
|
||||
var step = parseFloat(input.getAttribute('step')) || 1;
|
||||
var delta = max - min; // Calculate percentage
|
||||
|
||||
var percent;
|
||||
var clientRect = input.getBoundingClientRect();
|
||||
var thumbWidth = 100 / clientRect.width * (this.config.thumbWidth / 2) / 100; // Determine left percentage
|
||||
|
||||
percent = 100 / clientRect.width * (touch.clientX - clientRect.left); // Don't allow outside bounds
|
||||
|
||||
if (percent < 0) {
|
||||
percent = 0;
|
||||
} else if (percent > 100) {
|
||||
percent = 100;
|
||||
} // Factor in the thumb offset
|
||||
|
||||
|
||||
if (percent < 50) {
|
||||
percent -= (100 - percent * 2) * thumbWidth;
|
||||
} else if (percent > 50) {
|
||||
percent += (percent - 50) * 2 * thumbWidth;
|
||||
} // Find the closest step to the mouse position
|
||||
|
||||
|
||||
return min + round(delta * (percent / 100), step);
|
||||
}
|
||||
/**
|
||||
* Update range value based on position
|
||||
* @param {Event} event
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: "set",
|
||||
value: function set(event) {
|
||||
if (!RangeTouch.enabled || !is.event(event) || event.target.disabled) {
|
||||
return;
|
||||
} // Prevent text highlight on iOS
|
||||
|
||||
|
||||
event.preventDefault(); // Set value
|
||||
|
||||
event.target.value = this.get(event); // Trigger event
|
||||
|
||||
trigger(event.target, event.type === 'touchend' ? 'change' : 'input');
|
||||
value: function value(t) {
|
||||
e.enabled && is.event(t) && !t.target.disabled && (t.preventDefault(), t.target.value = this.get(t), trigger(t.target, "touchend" === t.type ? "change" : "input"));
|
||||
}
|
||||
}], [{
|
||||
key: "setup",
|
||||
value: function value(t) {
|
||||
var n = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : {},
|
||||
r = null;
|
||||
if (is.empty(t) || is.string(t) ? r = Array.from(document.querySelectorAll(is.string(t) ? t : 'input[type="range"]')) : is.element(t) ? r = [t] : is.nodeList(t) ? r = Array.from(t) : is.array(t) && (r = t.filter(is.element)), is.empty(r)) return null;
|
||||
|
||||
/**
|
||||
* Setup multiple instances
|
||||
* @param {String|Element|NodeList|Array} target
|
||||
* @param {Object} options
|
||||
*/
|
||||
value: function setup(target) {
|
||||
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
||||
var targets = null;
|
||||
var i = _objectSpread2$1({}, defaults, {}, n);
|
||||
|
||||
if (is.empty(target) || is.string(target)) {
|
||||
targets = Array.from(document.querySelectorAll(is.string(target) ? target : 'input[type="range"]'));
|
||||
} else if (is.element(target)) {
|
||||
targets = [target];
|
||||
} else if (is.nodeList(target)) {
|
||||
targets = Array.from(target);
|
||||
} else if (is.array(target)) {
|
||||
targets = target.filter(is.element);
|
||||
}
|
||||
|
||||
if (is.empty(targets)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
var config = Object.assign({}, defaults, options);
|
||||
|
||||
if (is.string(target) && config.watch) {
|
||||
// Create an observer instance
|
||||
var observer = new MutationObserver(function (mutations) {
|
||||
Array.from(mutations).forEach(function (mutation) {
|
||||
Array.from(mutation.addedNodes).forEach(function (node) {
|
||||
if (!is.element(node) || !matches(node, target)) {
|
||||
return;
|
||||
} // eslint-disable-next-line no-unused-vars
|
||||
|
||||
|
||||
var range = new RangeTouch(node, config);
|
||||
if (is.string(t) && i.watch) {
|
||||
var o = new MutationObserver(function (n) {
|
||||
Array.from(n).forEach(function (n) {
|
||||
Array.from(n.addedNodes).forEach(function (n) {
|
||||
is.element(n) && matches(n, t) && new e(n, i);
|
||||
});
|
||||
});
|
||||
}); // Pass in the target node, as well as the observer options
|
||||
|
||||
observer.observe(document.body, {
|
||||
childList: true,
|
||||
subtree: true
|
||||
});
|
||||
o.observe(document.body, {
|
||||
childList: !0,
|
||||
subtree: !0
|
||||
});
|
||||
}
|
||||
|
||||
return targets.map(function (t) {
|
||||
return new RangeTouch(t, options);
|
||||
return r.map(function (t) {
|
||||
return new e(t, n);
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: "enabled",
|
||||
get: function get() {
|
||||
return 'ontouchstart' in document.documentElement;
|
||||
return "ontouchstart" in document.documentElement;
|
||||
}
|
||||
}]);
|
||||
|
||||
return RangeTouch;
|
||||
}]), e;
|
||||
}();
|
||||
|
||||
var nativePromiseConstructor = global_1.Promise;
|
||||
@ -6244,7 +6188,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
var UNHANDLED = 2;
|
||||
var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;
|
||||
|
||||
var FORCED$2 = isForced_1(PROMISE, function () {
|
||||
var FORCED$3 = isForced_1(PROMISE, function () {
|
||||
var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);
|
||||
if (!GLOBAL_CORE_JS_PROMISE) {
|
||||
// V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
|
||||
@ -6268,7 +6212,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
return !(promise.then(function () { /* empty */ }) instanceof FakePromise);
|
||||
});
|
||||
|
||||
var INCORRECT_ITERATION$1 = FORCED$2 || !checkCorrectnessOfIteration(function (iterable) {
|
||||
var INCORRECT_ITERATION$1 = FORCED$3 || !checkCorrectnessOfIteration(function (iterable) {
|
||||
PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });
|
||||
});
|
||||
|
||||
@ -6414,7 +6358,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
};
|
||||
|
||||
// constructor polyfill
|
||||
if (FORCED$2) {
|
||||
if (FORCED$3) {
|
||||
// 25.4.3.1 Promise(executor)
|
||||
PromiseConstructor = function Promise(executor) {
|
||||
anInstance(this, PromiseConstructor, PROMISE);
|
||||
@ -6495,7 +6439,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
}
|
||||
}
|
||||
|
||||
_export({ global: true, wrap: true, forced: FORCED$2 }, {
|
||||
_export({ global: true, wrap: true, forced: FORCED$3 }, {
|
||||
Promise: PromiseConstructor
|
||||
});
|
||||
|
||||
@ -6505,7 +6449,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
PromiseWrapper = getBuiltIn(PROMISE);
|
||||
|
||||
// statics
|
||||
_export({ target: PROMISE, stat: true, forced: FORCED$2 }, {
|
||||
_export({ target: PROMISE, stat: true, forced: FORCED$3 }, {
|
||||
// `Promise.reject` method
|
||||
// https://tc39.github.io/ecma262/#sec-promise.reject
|
||||
reject: function reject(r) {
|
||||
@ -6515,7 +6459,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
}
|
||||
});
|
||||
|
||||
_export({ target: PROMISE, stat: true, forced: FORCED$2 }, {
|
||||
_export({ target: PROMISE, stat: true, forced: FORCED$3 }, {
|
||||
// `Promise.resolve` method
|
||||
// https://tc39.github.io/ecma262/#sec-promise.resolve
|
||||
resolve: function resolve(x) {
|
||||
@ -7596,7 +7540,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
|
||||
var UNSUPPORTED_Y$2 = regexpStickyHelpers.UNSUPPORTED_Y;
|
||||
|
||||
var FORCED$3 = descriptors && isForced_1('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y$2 || fails(function () {
|
||||
var FORCED$4 = descriptors && isForced_1('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y$2 || fails(function () {
|
||||
re2[MATCH$2] = false;
|
||||
// RegExp constructor can alter flags and IsRegExp works correct with @@match
|
||||
return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';
|
||||
@ -7604,7 +7548,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
|
||||
// `RegExp` constructor
|
||||
// https://tc39.github.io/ecma262/#sec-regexp-constructor
|
||||
if (FORCED$3) {
|
||||
if (FORCED$4) {
|
||||
var RegExpWrapper = function RegExp(pattern, flags) {
|
||||
var thisIsRegExp = this instanceof RegExpWrapper;
|
||||
var patternIsRegExp = isRegexp(pattern);
|
||||
@ -7772,9 +7716,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
}
|
||||
};
|
||||
|
||||
var Storage =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var Storage = /*#__PURE__*/function () {
|
||||
function Storage(player) {
|
||||
_classCallCheck(this, Storage);
|
||||
|
||||
@ -8065,7 +8007,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
|
||||
var icon = document.createElementNS(namespace, 'svg');
|
||||
setAttributes(icon, extend(attributes, {
|
||||
role: 'presentation',
|
||||
'aria-hidden': 'true',
|
||||
focusable: 'false'
|
||||
})); // Create the <use> to reference sprite
|
||||
|
||||
@ -9655,7 +9597,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
|
||||
toggleClass(this.elements.container, this.config.classNames.captions.enabled, !is$1.empty(tracks)); // Update available languages in list
|
||||
|
||||
if ((this.config.controls || []).includes('settings') && this.config.settings.includes('captions')) {
|
||||
if (is$1.array(this.config.controls) && this.config.controls.includes('settings') && this.config.settings.includes('captions')) {
|
||||
controls.setCaptionsMenu.call(this);
|
||||
}
|
||||
},
|
||||
@ -10294,9 +10236,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
// ==========================================================================
|
||||
var noop = function noop() {};
|
||||
|
||||
var Console =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var Console = /*#__PURE__*/function () {
|
||||
function Console() {
|
||||
var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
||||
|
||||
@ -10332,9 +10272,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
return Console;
|
||||
}();
|
||||
|
||||
var Fullscreen =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var Fullscreen = /*#__PURE__*/function () {
|
||||
function Fullscreen(player) {
|
||||
var _this = this;
|
||||
|
||||
@ -10870,9 +10808,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
}
|
||||
};
|
||||
|
||||
var Listeners =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var Listeners = /*#__PURE__*/function () {
|
||||
function Listeners(player) {
|
||||
_classCallCheck(this, Listeners);
|
||||
|
||||
@ -12802,9 +12738,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
instance.elements.container.remove();
|
||||
};
|
||||
|
||||
var Ads =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var Ads = /*#__PURE__*/function () {
|
||||
/**
|
||||
* Ads constructor.
|
||||
* @param {Object} player
|
||||
@ -13455,11 +13389,11 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
var STRICT_METHOD$6 = arrayMethodIsStrict('lastIndexOf');
|
||||
// For preventing possible almost infinite loop in non-standard implementations, test the forward version of the method
|
||||
var USES_TO_LENGTH$c = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });
|
||||
var FORCED$4 = NEGATIVE_ZERO$1 || !STRICT_METHOD$6 || !USES_TO_LENGTH$c;
|
||||
var FORCED$5 = NEGATIVE_ZERO$1 || !STRICT_METHOD$6 || !USES_TO_LENGTH$c;
|
||||
|
||||
// `Array.prototype.lastIndexOf` method implementation
|
||||
// https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof
|
||||
var arrayLastIndexOf = FORCED$4 ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {
|
||||
var arrayLastIndexOf = FORCED$5 ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {
|
||||
// convert -0 to +0
|
||||
if (NEGATIVE_ZERO$1) return nativeLastIndexOf.apply(this, arguments) || 0;
|
||||
var O = toIndexedObject(this);
|
||||
@ -13547,9 +13481,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
return result;
|
||||
};
|
||||
|
||||
var PreviewThumbnails =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var PreviewThumbnails = /*#__PURE__*/function () {
|
||||
/**
|
||||
* PreviewThumbnails constructor.
|
||||
* @param {Plyr} player
|
||||
@ -14378,9 +14310,7 @@ typeof navigator === "object" && (function (global, factory) {
|
||||
// const globals = new WeakMap();
|
||||
// Plyr instance
|
||||
|
||||
var Plyr =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var Plyr = /*#__PURE__*/function () {
|
||||
function Plyr(target, options) {
|
||||
var _this = this;
|
||||
|
||||
|
4
dist/plyr.polyfilled.min.js
vendored
4
dist/plyr.polyfilled.min.js
vendored
File diff suppressed because one or more lines are too long
2
dist/plyr.polyfilled.min.js.map
vendored
2
dist/plyr.polyfilled.min.js.map
vendored
File diff suppressed because one or more lines are too long
4
dist/plyr.polyfilled.min.mjs
vendored
4
dist/plyr.polyfilled.min.mjs
vendored
File diff suppressed because one or more lines are too long
2
dist/plyr.polyfilled.min.mjs.map
vendored
2
dist/plyr.polyfilled.min.mjs.map
vendored
File diff suppressed because one or more lines are too long
564
dist/plyr.polyfilled.mjs
vendored
564
dist/plyr.polyfilled.mjs
vendored
@ -4118,19 +4118,15 @@ function _objectSpread2(target) {
|
||||
}
|
||||
|
||||
function _slicedToArray(arr, i) {
|
||||
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();
|
||||
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
||||
}
|
||||
|
||||
function _toConsumableArray(arr) {
|
||||
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();
|
||||
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
||||
}
|
||||
|
||||
function _arrayWithoutHoles(arr) {
|
||||
if (Array.isArray(arr)) {
|
||||
for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
|
||||
|
||||
return arr2;
|
||||
}
|
||||
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
||||
}
|
||||
|
||||
function _arrayWithHoles(arr) {
|
||||
@ -4138,14 +4134,11 @@ function _arrayWithHoles(arr) {
|
||||
}
|
||||
|
||||
function _iterableToArray(iter) {
|
||||
if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter);
|
||||
if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
|
||||
}
|
||||
|
||||
function _iterableToArrayLimit(arr, i) {
|
||||
if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
|
||||
var _arr = [];
|
||||
var _n = true;
|
||||
var _d = false;
|
||||
@ -4171,12 +4164,29 @@ function _iterableToArrayLimit(arr, i) {
|
||||
return _arr;
|
||||
}
|
||||
|
||||
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(n);
|
||||
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
function _nonIterableSpread() {
|
||||
throw new TypeError("Invalid attempt to spread non-iterable instance");
|
||||
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
||||
}
|
||||
|
||||
function _nonIterableRest() {
|
||||
throw new TypeError("Invalid attempt to destructure non-iterable instance");
|
||||
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
||||
}
|
||||
|
||||
(function (global) {
|
||||
@ -5608,38 +5618,6 @@ _export({ target: 'Object', stat: true }, {
|
||||
}
|
||||
});
|
||||
|
||||
var defaults = {
|
||||
addCSS: true,
|
||||
// Add CSS to the element to improve usability (required here or in your CSS!)
|
||||
thumbWidth: 15,
|
||||
// The width of the thumb handle
|
||||
watch: true // Watch for new elements that match a string target
|
||||
|
||||
};
|
||||
|
||||
// Element matches a selector
|
||||
function matches(element, selector) {
|
||||
|
||||
function match() {
|
||||
return Array.from(document.querySelectorAll(selector)).includes(this);
|
||||
}
|
||||
|
||||
var matches = match;
|
||||
return matches.call(element, selector);
|
||||
}
|
||||
|
||||
// Trigger event
|
||||
function trigger(element, type) {
|
||||
if (!element || !type) {
|
||||
return;
|
||||
} // Create and dispatch the event
|
||||
|
||||
|
||||
var event = new Event(type); // Dispatch the event
|
||||
|
||||
element.dispatchEvent(event);
|
||||
}
|
||||
|
||||
// `Number.isNaN` method
|
||||
// https://tc39.github.io/ecma262/#sec-number.isnan
|
||||
_export({ target: 'Number', stat: true }, {
|
||||
@ -5649,74 +5627,37 @@ _export({ target: 'Number', stat: true }, {
|
||||
}
|
||||
});
|
||||
|
||||
// ==========================================================================
|
||||
// Type checking utils
|
||||
// ==========================================================================
|
||||
var getConstructor = function getConstructor(input) {
|
||||
return input !== null && typeof input !== 'undefined' ? input.constructor : null;
|
||||
};
|
||||
var nativeGetOwnPropertyDescriptor$2 = objectGetOwnPropertyDescriptor.f;
|
||||
|
||||
var instanceOf = function instanceOf(input, constructor) {
|
||||
return Boolean(input && constructor && input instanceof constructor);
|
||||
};
|
||||
|
||||
var isNullOrUndefined = function isNullOrUndefined(input) {
|
||||
return input === null || typeof input === 'undefined';
|
||||
};
|
||||
var FAILS_ON_PRIMITIVES$1 = fails(function () { nativeGetOwnPropertyDescriptor$2(1); });
|
||||
var FORCED$2 = !descriptors || FAILS_ON_PRIMITIVES$1;
|
||||
|
||||
var isObject$1 = function isObject(input) {
|
||||
return getConstructor(input) === Object;
|
||||
};
|
||||
// `Object.getOwnPropertyDescriptor` method
|
||||
// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
|
||||
_export({ target: 'Object', stat: true, forced: FORCED$2, sham: !descriptors }, {
|
||||
getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {
|
||||
return nativeGetOwnPropertyDescriptor$2(toIndexedObject(it), key);
|
||||
}
|
||||
});
|
||||
|
||||
var isNumber = function isNumber(input) {
|
||||
return getConstructor(input) === Number && !Number.isNaN(input);
|
||||
};
|
||||
|
||||
var isString = function isString(input) {
|
||||
return getConstructor(input) === String;
|
||||
};
|
||||
|
||||
var isBoolean = function isBoolean(input) {
|
||||
return getConstructor(input) === Boolean;
|
||||
};
|
||||
|
||||
var isFunction = function isFunction(input) {
|
||||
return getConstructor(input) === Function;
|
||||
};
|
||||
|
||||
var isArray$1 = function isArray(input) {
|
||||
return Array.isArray(input);
|
||||
};
|
||||
|
||||
var isNodeList = function isNodeList(input) {
|
||||
return instanceOf(input, NodeList);
|
||||
};
|
||||
|
||||
var isElement = function isElement(input) {
|
||||
return instanceOf(input, Element);
|
||||
};
|
||||
|
||||
var isEvent = function isEvent(input) {
|
||||
return instanceOf(input, Event);
|
||||
};
|
||||
|
||||
var isEmpty = function isEmpty(input) {
|
||||
return isNullOrUndefined(input) || (isString(input) || isArray$1(input) || isNodeList(input)) && !input.length || isObject$1(input) && !Object.keys(input).length;
|
||||
};
|
||||
|
||||
var is = {
|
||||
nullOrUndefined: isNullOrUndefined,
|
||||
object: isObject$1,
|
||||
number: isNumber,
|
||||
string: isString,
|
||||
boolean: isBoolean,
|
||||
function: isFunction,
|
||||
array: isArray$1,
|
||||
nodeList: isNodeList,
|
||||
element: isElement,
|
||||
event: isEvent,
|
||||
empty: isEmpty
|
||||
};
|
||||
// `Object.getOwnPropertyDescriptors` method
|
||||
// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors
|
||||
_export({ target: 'Object', stat: true, sham: !descriptors }, {
|
||||
getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {
|
||||
var O = toIndexedObject(object);
|
||||
var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
|
||||
var keys = ownKeys(O);
|
||||
var result = {};
|
||||
var index = 0;
|
||||
var key, descriptor;
|
||||
while (keys.length > index) {
|
||||
descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);
|
||||
if (descriptor !== undefined) createProperty(result, key, descriptor);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
});
|
||||
|
||||
// @@match logic
|
||||
fixRegexpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {
|
||||
@ -5755,219 +5696,222 @@ fixRegexpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCal
|
||||
];
|
||||
});
|
||||
|
||||
// Get the number of decimal places
|
||||
function getDecimalPlaces(value) {
|
||||
var match = "".concat(value).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);
|
||||
|
||||
if (!match) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return Math.max(0, // Number of digits right of decimal point.
|
||||
(match[1] ? match[1].length : 0) - ( // Adjust for scientific notation.
|
||||
match[2] ? +match[2] : 0));
|
||||
} // Round to the nearest step
|
||||
|
||||
function round(number, step) {
|
||||
if (step < 1) {
|
||||
var places = getDecimalPlaces(step);
|
||||
return parseFloat(number.toFixed(places));
|
||||
}
|
||||
|
||||
return Math.round(number / step) * step;
|
||||
function _classCallCheck$1(e, t) {
|
||||
if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
|
||||
}
|
||||
|
||||
var RangeTouch =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
/**
|
||||
* Setup a new instance
|
||||
* @param {String|Element} target
|
||||
* @param {Object} options
|
||||
*/
|
||||
function RangeTouch(target, options) {
|
||||
_classCallCheck(this, RangeTouch);
|
||||
function _defineProperties$1(e, t) {
|
||||
for (var n = 0; n < t.length; n++) {
|
||||
var r = t[n];
|
||||
r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);
|
||||
}
|
||||
}
|
||||
|
||||
if (is.element(target)) {
|
||||
// An Element is passed, use it directly
|
||||
this.element = target;
|
||||
} else if (is.string(target)) {
|
||||
// A CSS Selector is passed, fetch it from the DOM
|
||||
this.element = document.querySelector(target);
|
||||
function _createClass$1(e, t, n) {
|
||||
return t && _defineProperties$1(e.prototype, t), n && _defineProperties$1(e, n), e;
|
||||
}
|
||||
|
||||
function _defineProperty$1(e, t, n) {
|
||||
return t in e ? Object.defineProperty(e, t, {
|
||||
value: n,
|
||||
enumerable: !0,
|
||||
configurable: !0,
|
||||
writable: !0
|
||||
}) : e[t] = n, e;
|
||||
}
|
||||
|
||||
function ownKeys$2(e, t) {
|
||||
var n = Object.keys(e);
|
||||
|
||||
if (Object.getOwnPropertySymbols) {
|
||||
var r = Object.getOwnPropertySymbols(e);
|
||||
t && (r = r.filter(function (t) {
|
||||
return Object.getOwnPropertyDescriptor(e, t).enumerable;
|
||||
})), n.push.apply(n, r);
|
||||
}
|
||||
|
||||
if (!is.element(this.element) || !is.empty(this.element.rangeTouch)) {
|
||||
return;
|
||||
return n;
|
||||
}
|
||||
|
||||
function _objectSpread2$1(e) {
|
||||
for (var t = 1; t < arguments.length; t++) {
|
||||
var n = null != arguments[t] ? arguments[t] : {};
|
||||
t % 2 ? ownKeys$2(Object(n), !0).forEach(function (t) {
|
||||
_defineProperty$1(e, t, n[t]);
|
||||
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : ownKeys$2(Object(n)).forEach(function (t) {
|
||||
Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t));
|
||||
});
|
||||
}
|
||||
|
||||
this.config = Object.assign({}, defaults, options);
|
||||
this.init();
|
||||
return e;
|
||||
}
|
||||
|
||||
var defaults = {
|
||||
addCSS: !0,
|
||||
thumbWidth: 15,
|
||||
watch: !0
|
||||
};
|
||||
|
||||
function matches(e, t) {
|
||||
return function () {
|
||||
return Array.from(document.querySelectorAll(t)).includes(this);
|
||||
}.call(e, t);
|
||||
}
|
||||
|
||||
function trigger(e, t) {
|
||||
if (e && t) {
|
||||
var n = new Event(t, {
|
||||
bubbles: !0
|
||||
});
|
||||
e.dispatchEvent(n);
|
||||
}
|
||||
}
|
||||
|
||||
var getConstructor = function getConstructor(e) {
|
||||
return null != e ? e.constructor : null;
|
||||
},
|
||||
instanceOf = function instanceOf(e, t) {
|
||||
return !!(e && t && e instanceof t);
|
||||
},
|
||||
isNullOrUndefined = function isNullOrUndefined(e) {
|
||||
return null == e;
|
||||
},
|
||||
isObject$1 = function isObject(e) {
|
||||
return getConstructor(e) === Object;
|
||||
},
|
||||
isNumber = function isNumber(e) {
|
||||
return getConstructor(e) === Number && !Number.isNaN(e);
|
||||
},
|
||||
isString = function isString(e) {
|
||||
return getConstructor(e) === String;
|
||||
},
|
||||
isBoolean = function isBoolean(e) {
|
||||
return getConstructor(e) === Boolean;
|
||||
},
|
||||
isFunction = function isFunction(e) {
|
||||
return getConstructor(e) === Function;
|
||||
},
|
||||
isArray$1 = function isArray(e) {
|
||||
return Array.isArray(e);
|
||||
},
|
||||
isNodeList = function isNodeList(e) {
|
||||
return instanceOf(e, NodeList);
|
||||
},
|
||||
isElement = function isElement(e) {
|
||||
return instanceOf(e, Element);
|
||||
},
|
||||
isEvent = function isEvent(e) {
|
||||
return instanceOf(e, Event);
|
||||
},
|
||||
isEmpty = function isEmpty(e) {
|
||||
return isNullOrUndefined(e) || (isString(e) || isArray$1(e) || isNodeList(e)) && !e.length || isObject$1(e) && !Object.keys(e).length;
|
||||
},
|
||||
is = {
|
||||
nullOrUndefined: isNullOrUndefined,
|
||||
object: isObject$1,
|
||||
number: isNumber,
|
||||
string: isString,
|
||||
boolean: isBoolean,
|
||||
function: isFunction,
|
||||
array: isArray$1,
|
||||
nodeList: isNodeList,
|
||||
element: isElement,
|
||||
event: isEvent,
|
||||
empty: isEmpty
|
||||
};
|
||||
|
||||
function getDecimalPlaces(e) {
|
||||
var t = "".concat(e).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);
|
||||
return t ? Math.max(0, (t[1] ? t[1].length : 0) - (t[2] ? +t[2] : 0)) : 0;
|
||||
}
|
||||
|
||||
function round(e, t) {
|
||||
if (1 > t) {
|
||||
var n = getDecimalPlaces(t);
|
||||
return parseFloat(e.toFixed(n));
|
||||
}
|
||||
|
||||
_createClass(RangeTouch, [{
|
||||
return Math.round(e / t) * t;
|
||||
}
|
||||
|
||||
var RangeTouch = function () {
|
||||
function e(t, n) {
|
||||
_classCallCheck$1(this, e), is.element(t) ? this.element = t : is.string(t) && (this.element = document.querySelector(t)), is.element(this.element) && is.empty(this.element.rangeTouch) && (this.config = _objectSpread2$1({}, defaults, {}, n), this.init());
|
||||
}
|
||||
|
||||
return _createClass$1(e, [{
|
||||
key: "init",
|
||||
value: function init() {
|
||||
// Bail if not a touch enabled device
|
||||
if (!RangeTouch.enabled) {
|
||||
return;
|
||||
} // Add useful CSS
|
||||
|
||||
|
||||
if (this.config.addCSS) {
|
||||
// TODO: Restore original values on destroy
|
||||
this.element.style.userSelect = 'none';
|
||||
this.element.style.webKitUserSelect = 'none';
|
||||
this.element.style.touchAction = 'manipulation';
|
||||
}
|
||||
|
||||
this.listeners(true);
|
||||
this.element.rangeTouch = this;
|
||||
value: function value() {
|
||||
e.enabled && (this.config.addCSS && (this.element.style.userSelect = "none", this.element.style.webKitUserSelect = "none", this.element.style.touchAction = "manipulation"), this.listeners(!0), this.element.rangeTouch = this);
|
||||
}
|
||||
}, {
|
||||
key: "destroy",
|
||||
value: function destroy() {
|
||||
// Bail if not a touch enabled device
|
||||
if (!RangeTouch.enabled) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.listeners(false);
|
||||
this.element.rangeTouch = null;
|
||||
value: function value() {
|
||||
e.enabled && (this.config.addCSS && (this.element.style.userSelect = "", this.element.style.webKitUserSelect = "", this.element.style.touchAction = ""), this.listeners(!1), this.element.rangeTouch = null);
|
||||
}
|
||||
}, {
|
||||
key: "listeners",
|
||||
value: function listeners(toggle) {
|
||||
var _this = this;
|
||||
|
||||
var method = toggle ? 'addEventListener' : 'removeEventListener'; // Listen for events
|
||||
|
||||
['touchstart', 'touchmove', 'touchend'].forEach(function (type) {
|
||||
_this.element[method](type, function (event) {
|
||||
return _this.set(event);
|
||||
}, false);
|
||||
value: function value(e) {
|
||||
var t = this,
|
||||
n = e ? "addEventListener" : "removeEventListener";
|
||||
["touchstart", "touchmove", "touchend"].forEach(function (e) {
|
||||
t.element[n](e, function (e) {
|
||||
return t.set(e);
|
||||
}, !1);
|
||||
});
|
||||
}
|
||||
/**
|
||||
* Get the value based on touch position
|
||||
* @param {Event} event
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: "get",
|
||||
value: function get(event) {
|
||||
if (!RangeTouch.enabled || !is.event(event)) {
|
||||
return null;
|
||||
value: function value(t) {
|
||||
if (!e.enabled || !is.event(t)) return null;
|
||||
var n,
|
||||
r = t.target,
|
||||
i = t.changedTouches[0],
|
||||
o = parseFloat(r.getAttribute("min")) || 0,
|
||||
s = parseFloat(r.getAttribute("max")) || 100,
|
||||
u = parseFloat(r.getAttribute("step")) || 1,
|
||||
c = r.getBoundingClientRect(),
|
||||
a = 100 / c.width * (this.config.thumbWidth / 2) / 100;
|
||||
return 0 > (n = 100 / c.width * (i.clientX - c.left)) ? n = 0 : 100 < n && (n = 100), 50 > n ? n -= (100 - 2 * n) * a : 50 < n && (n += 2 * (n - 50) * a), o + round(n / 100 * (s - o), u);
|
||||
}
|
||||
|
||||
var input = event.target;
|
||||
var touch = event.changedTouches[0];
|
||||
var min = parseFloat(input.getAttribute('min')) || 0;
|
||||
var max = parseFloat(input.getAttribute('max')) || 100;
|
||||
var step = parseFloat(input.getAttribute('step')) || 1;
|
||||
var delta = max - min; // Calculate percentage
|
||||
|
||||
var percent;
|
||||
var clientRect = input.getBoundingClientRect();
|
||||
var thumbWidth = 100 / clientRect.width * (this.config.thumbWidth / 2) / 100; // Determine left percentage
|
||||
|
||||
percent = 100 / clientRect.width * (touch.clientX - clientRect.left); // Don't allow outside bounds
|
||||
|
||||
if (percent < 0) {
|
||||
percent = 0;
|
||||
} else if (percent > 100) {
|
||||
percent = 100;
|
||||
} // Factor in the thumb offset
|
||||
|
||||
|
||||
if (percent < 50) {
|
||||
percent -= (100 - percent * 2) * thumbWidth;
|
||||
} else if (percent > 50) {
|
||||
percent += (percent - 50) * 2 * thumbWidth;
|
||||
} // Find the closest step to the mouse position
|
||||
|
||||
|
||||
return min + round(delta * (percent / 100), step);
|
||||
}
|
||||
/**
|
||||
* Update range value based on position
|
||||
* @param {Event} event
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: "set",
|
||||
value: function set(event) {
|
||||
if (!RangeTouch.enabled || !is.event(event) || event.target.disabled) {
|
||||
return;
|
||||
} // Prevent text highlight on iOS
|
||||
|
||||
|
||||
event.preventDefault(); // Set value
|
||||
|
||||
event.target.value = this.get(event); // Trigger event
|
||||
|
||||
trigger(event.target, event.type === 'touchend' ? 'change' : 'input');
|
||||
value: function value(t) {
|
||||
e.enabled && is.event(t) && !t.target.disabled && (t.preventDefault(), t.target.value = this.get(t), trigger(t.target, "touchend" === t.type ? "change" : "input"));
|
||||
}
|
||||
}], [{
|
||||
key: "setup",
|
||||
value: function value(t) {
|
||||
var n = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : {},
|
||||
r = null;
|
||||
if (is.empty(t) || is.string(t) ? r = Array.from(document.querySelectorAll(is.string(t) ? t : 'input[type="range"]')) : is.element(t) ? r = [t] : is.nodeList(t) ? r = Array.from(t) : is.array(t) && (r = t.filter(is.element)), is.empty(r)) return null;
|
||||
|
||||
/**
|
||||
* Setup multiple instances
|
||||
* @param {String|Element|NodeList|Array} target
|
||||
* @param {Object} options
|
||||
*/
|
||||
value: function setup(target) {
|
||||
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
||||
var targets = null;
|
||||
var i = _objectSpread2$1({}, defaults, {}, n);
|
||||
|
||||
if (is.empty(target) || is.string(target)) {
|
||||
targets = Array.from(document.querySelectorAll(is.string(target) ? target : 'input[type="range"]'));
|
||||
} else if (is.element(target)) {
|
||||
targets = [target];
|
||||
} else if (is.nodeList(target)) {
|
||||
targets = Array.from(target);
|
||||
} else if (is.array(target)) {
|
||||
targets = target.filter(is.element);
|
||||
}
|
||||
|
||||
if (is.empty(targets)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
var config = Object.assign({}, defaults, options);
|
||||
|
||||
if (is.string(target) && config.watch) {
|
||||
// Create an observer instance
|
||||
var observer = new MutationObserver(function (mutations) {
|
||||
Array.from(mutations).forEach(function (mutation) {
|
||||
Array.from(mutation.addedNodes).forEach(function (node) {
|
||||
if (!is.element(node) || !matches(node, target)) {
|
||||
return;
|
||||
} // eslint-disable-next-line no-unused-vars
|
||||
|
||||
|
||||
var range = new RangeTouch(node, config);
|
||||
if (is.string(t) && i.watch) {
|
||||
var o = new MutationObserver(function (n) {
|
||||
Array.from(n).forEach(function (n) {
|
||||
Array.from(n.addedNodes).forEach(function (n) {
|
||||
is.element(n) && matches(n, t) && new e(n, i);
|
||||
});
|
||||
});
|
||||
}); // Pass in the target node, as well as the observer options
|
||||
|
||||
observer.observe(document.body, {
|
||||
childList: true,
|
||||
subtree: true
|
||||
});
|
||||
o.observe(document.body, {
|
||||
childList: !0,
|
||||
subtree: !0
|
||||
});
|
||||
}
|
||||
|
||||
return targets.map(function (t) {
|
||||
return new RangeTouch(t, options);
|
||||
return r.map(function (t) {
|
||||
return new e(t, n);
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: "enabled",
|
||||
get: function get() {
|
||||
return 'ontouchstart' in document.documentElement;
|
||||
return "ontouchstart" in document.documentElement;
|
||||
}
|
||||
}]);
|
||||
|
||||
return RangeTouch;
|
||||
}]), e;
|
||||
}();
|
||||
|
||||
var nativePromiseConstructor = global_1.Promise;
|
||||
@ -6238,7 +6182,7 @@ var HANDLED = 1;
|
||||
var UNHANDLED = 2;
|
||||
var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;
|
||||
|
||||
var FORCED$2 = isForced_1(PROMISE, function () {
|
||||
var FORCED$3 = isForced_1(PROMISE, function () {
|
||||
var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);
|
||||
if (!GLOBAL_CORE_JS_PROMISE) {
|
||||
// V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
|
||||
@ -6262,7 +6206,7 @@ var FORCED$2 = isForced_1(PROMISE, function () {
|
||||
return !(promise.then(function () { /* empty */ }) instanceof FakePromise);
|
||||
});
|
||||
|
||||
var INCORRECT_ITERATION$1 = FORCED$2 || !checkCorrectnessOfIteration(function (iterable) {
|
||||
var INCORRECT_ITERATION$1 = FORCED$3 || !checkCorrectnessOfIteration(function (iterable) {
|
||||
PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });
|
||||
});
|
||||
|
||||
@ -6408,7 +6352,7 @@ var internalResolve = function (promise, state, value, unwrap) {
|
||||
};
|
||||
|
||||
// constructor polyfill
|
||||
if (FORCED$2) {
|
||||
if (FORCED$3) {
|
||||
// 25.4.3.1 Promise(executor)
|
||||
PromiseConstructor = function Promise(executor) {
|
||||
anInstance(this, PromiseConstructor, PROMISE);
|
||||
@ -6489,7 +6433,7 @@ if (FORCED$2) {
|
||||
}
|
||||
}
|
||||
|
||||
_export({ global: true, wrap: true, forced: FORCED$2 }, {
|
||||
_export({ global: true, wrap: true, forced: FORCED$3 }, {
|
||||
Promise: PromiseConstructor
|
||||
});
|
||||
|
||||
@ -6499,7 +6443,7 @@ setSpecies(PROMISE);
|
||||
PromiseWrapper = getBuiltIn(PROMISE);
|
||||
|
||||
// statics
|
||||
_export({ target: PROMISE, stat: true, forced: FORCED$2 }, {
|
||||
_export({ target: PROMISE, stat: true, forced: FORCED$3 }, {
|
||||
// `Promise.reject` method
|
||||
// https://tc39.github.io/ecma262/#sec-promise.reject
|
||||
reject: function reject(r) {
|
||||
@ -6509,7 +6453,7 @@ _export({ target: PROMISE, stat: true, forced: FORCED$2 }, {
|
||||
}
|
||||
});
|
||||
|
||||
_export({ target: PROMISE, stat: true, forced: FORCED$2 }, {
|
||||
_export({ target: PROMISE, stat: true, forced: FORCED$3 }, {
|
||||
// `Promise.resolve` method
|
||||
// https://tc39.github.io/ecma262/#sec-promise.resolve
|
||||
resolve: function resolve(x) {
|
||||
@ -7590,7 +7534,7 @@ var CORRECT_NEW = new NativeRegExp(re1) !== re1;
|
||||
|
||||
var UNSUPPORTED_Y$2 = regexpStickyHelpers.UNSUPPORTED_Y;
|
||||
|
||||
var FORCED$3 = descriptors && isForced_1('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y$2 || fails(function () {
|
||||
var FORCED$4 = descriptors && isForced_1('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y$2 || fails(function () {
|
||||
re2[MATCH$2] = false;
|
||||
// RegExp constructor can alter flags and IsRegExp works correct with @@match
|
||||
return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';
|
||||
@ -7598,7 +7542,7 @@ var FORCED$3 = descriptors && isForced_1('RegExp', (!CORRECT_NEW || UNSUPPORTED_
|
||||
|
||||
// `RegExp` constructor
|
||||
// https://tc39.github.io/ecma262/#sec-regexp-constructor
|
||||
if (FORCED$3) {
|
||||
if (FORCED$4) {
|
||||
var RegExpWrapper = function RegExp(pattern, flags) {
|
||||
var thisIsRegExp = this instanceof RegExpWrapper;
|
||||
var patternIsRegExp = isRegexp(pattern);
|
||||
@ -7766,9 +7710,7 @@ var i18n = {
|
||||
}
|
||||
};
|
||||
|
||||
var Storage =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var Storage = /*#__PURE__*/function () {
|
||||
function Storage(player) {
|
||||
_classCallCheck(this, Storage);
|
||||
|
||||
@ -8059,7 +8001,7 @@ var controls = {
|
||||
|
||||
var icon = document.createElementNS(namespace, 'svg');
|
||||
setAttributes(icon, extend(attributes, {
|
||||
role: 'presentation',
|
||||
'aria-hidden': 'true',
|
||||
focusable: 'false'
|
||||
})); // Create the <use> to reference sprite
|
||||
|
||||
@ -9649,7 +9591,7 @@ var captions = {
|
||||
|
||||
toggleClass(this.elements.container, this.config.classNames.captions.enabled, !is$1.empty(tracks)); // Update available languages in list
|
||||
|
||||
if ((this.config.controls || []).includes('settings') && this.config.settings.includes('captions')) {
|
||||
if (is$1.array(this.config.controls) && this.config.controls.includes('settings') && this.config.settings.includes('captions')) {
|
||||
controls.setCaptionsMenu.call(this);
|
||||
}
|
||||
},
|
||||
@ -10288,9 +10230,7 @@ function getProviderByUrl(url) {
|
||||
// ==========================================================================
|
||||
var noop = function noop() {};
|
||||
|
||||
var Console =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var Console = /*#__PURE__*/function () {
|
||||
function Console() {
|
||||
var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
||||
|
||||
@ -10326,9 +10266,7 @@ function () {
|
||||
return Console;
|
||||
}();
|
||||
|
||||
var Fullscreen =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var Fullscreen = /*#__PURE__*/function () {
|
||||
function Fullscreen(player) {
|
||||
var _this = this;
|
||||
|
||||
@ -10864,9 +10802,7 @@ var ui = {
|
||||
}
|
||||
};
|
||||
|
||||
var Listeners =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var Listeners = /*#__PURE__*/function () {
|
||||
function Listeners(player) {
|
||||
_classCallCheck(this, Listeners);
|
||||
|
||||
@ -12796,9 +12732,7 @@ var destroy = function destroy(instance) {
|
||||
instance.elements.container.remove();
|
||||
};
|
||||
|
||||
var Ads =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var Ads = /*#__PURE__*/function () {
|
||||
/**
|
||||
* Ads constructor.
|
||||
* @param {Object} player
|
||||
@ -13449,11 +13383,11 @@ var NEGATIVE_ZERO$1 = !!nativeLastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;
|
||||
var STRICT_METHOD$6 = arrayMethodIsStrict('lastIndexOf');
|
||||
// For preventing possible almost infinite loop in non-standard implementations, test the forward version of the method
|
||||
var USES_TO_LENGTH$c = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });
|
||||
var FORCED$4 = NEGATIVE_ZERO$1 || !STRICT_METHOD$6 || !USES_TO_LENGTH$c;
|
||||
var FORCED$5 = NEGATIVE_ZERO$1 || !STRICT_METHOD$6 || !USES_TO_LENGTH$c;
|
||||
|
||||
// `Array.prototype.lastIndexOf` method implementation
|
||||
// https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof
|
||||
var arrayLastIndexOf = FORCED$4 ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {
|
||||
var arrayLastIndexOf = FORCED$5 ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {
|
||||
// convert -0 to +0
|
||||
if (NEGATIVE_ZERO$1) return nativeLastIndexOf.apply(this, arguments) || 0;
|
||||
var O = toIndexedObject(this);
|
||||
@ -13541,9 +13475,7 @@ var fitRatio = function fitRatio(ratio, outer) {
|
||||
return result;
|
||||
};
|
||||
|
||||
var PreviewThumbnails =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var PreviewThumbnails = /*#__PURE__*/function () {
|
||||
/**
|
||||
* PreviewThumbnails constructor.
|
||||
* @param {Plyr} player
|
||||
@ -14372,9 +14304,7 @@ function clamp() {
|
||||
// const globals = new WeakMap();
|
||||
// Plyr instance
|
||||
|
||||
var Plyr =
|
||||
/*#__PURE__*/
|
||||
function () {
|
||||
var Plyr = /*#__PURE__*/function () {
|
||||
function Plyr(target, options) {
|
||||
var _this = this;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user