{"version":3,"file":"static/chunks/d6e1aeb5-b29b7237d8e83427.js","mappings":"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","sources":["webpack://_N_E/./node_modules/video.js/dist/video.es.js"],"sourcesContent":["/**\n * @license\n * Video.js 8.22.0 \n * Copyright Brightcove, Inc. \n * Available under Apache License Version 2.0\n * \n *\n * Includes vtt.js \n * Available under Apache License Version 2.0\n * \n */\n\nimport window$1 from 'global/window';\nimport document$1 from 'global/document';\nimport XHR from '@videojs/xhr';\nimport vtt from 'videojs-vtt.js';\nimport _extends from '@babel/runtime/helpers/extends';\nimport _resolveUrl from '@videojs/vhs-utils/es/resolve-url.js';\nimport { Parser } from 'm3u8-parser';\nimport { DEFAULT_VIDEO_CODEC, DEFAULT_AUDIO_CODEC, parseCodecs, muxerSupportsCodec, browserSupportsCodec, translateLegacyCodec, codecsFromDefault, isAudioCodec, getMimeForCodec } from '@videojs/vhs-utils/es/codecs.js';\nimport { simpleTypeFromSourceType } from '@videojs/vhs-utils/es/media-types.js';\nimport { isArrayBufferView, concatTypedArrays, stringToBytes, toUint8 } from '@videojs/vhs-utils/es/byte-helpers';\nimport { generateSidxKey, parseUTCTiming, parse, addSidxSegmentsToPlaylist } from 'mpd-parser';\nimport parseSidx from 'mux.js/lib/tools/parse-sidx';\nimport { getId3Offset } from '@videojs/vhs-utils/es/id3-helpers';\nimport { detectContainerForBytes, isLikelyFmp4MediaSegment } from '@videojs/vhs-utils/es/containers';\nimport { ONE_SECOND_IN_TS } from 'mux.js/lib/utils/clock';\n\nvar version$6 = \"8.22.0\";\n\n/**\n * An Object that contains lifecycle hooks as keys which point to an array\n * of functions that are run when a lifecycle is triggered\n *\n * @private\n */\nconst hooks_ = {};\n\n/**\n * Get a list of hooks for a specific lifecycle\n *\n * @param {string} type\n * the lifecycle to get hooks from\n *\n * @param {Function|Function[]} [fn]\n * Optionally add a hook (or hooks) to the lifecycle that your are getting.\n *\n * @return {Array}\n * an array of hooks, or an empty array if there are none.\n */\nconst hooks = function (type, fn) {\n hooks_[type] = hooks_[type] || [];\n if (fn) {\n hooks_[type] = hooks_[type].concat(fn);\n }\n return hooks_[type];\n};\n\n/**\n * Add a function hook to a specific videojs lifecycle.\n *\n * @param {string} type\n * the lifecycle to hook the function to.\n *\n * @param {Function|Function[]}\n * The function or array of functions to attach.\n */\nconst hook = function (type, fn) {\n hooks(type, fn);\n};\n\n/**\n * Remove a hook from a specific videojs lifecycle.\n *\n * @param {string} type\n * the lifecycle that the function hooked to\n *\n * @param {Function} fn\n * The hooked function to remove\n *\n * @return {boolean}\n * The function that was removed or undef\n */\nconst removeHook = function (type, fn) {\n const index = hooks(type).indexOf(fn);\n if (index <= -1) {\n return false;\n }\n hooks_[type] = hooks_[type].slice();\n hooks_[type].splice(index, 1);\n return true;\n};\n\n/**\n * Add a function hook that will only run once to a specific videojs lifecycle.\n *\n * @param {string} type\n * the lifecycle to hook the function to.\n *\n * @param {Function|Function[]}\n * The function or array of functions to attach.\n */\nconst hookOnce = function (type, fn) {\n hooks(type, [].concat(fn).map(original => {\n const wrapper = (...args) => {\n removeHook(type, wrapper);\n return original(...args);\n };\n return wrapper;\n }));\n};\n\n/**\n * @file fullscreen-api.js\n * @module fullscreen-api\n */\n\n/**\n * Store the browser-specific methods for the fullscreen API.\n *\n * @type {Object}\n * @see [Specification]{@link https://fullscreen.spec.whatwg.org}\n * @see [Map Approach From Screenfull.js]{@link https://github.com/sindresorhus/screenfull.js}\n */\nconst FullscreenApi = {\n prefixed: true\n};\n\n// browser API methods\nconst apiMap = [['requestFullscreen', 'exitFullscreen', 'fullscreenElement', 'fullscreenEnabled', 'fullscreenchange', 'fullscreenerror', 'fullscreen'],\n// WebKit\n['webkitRequestFullscreen', 'webkitExitFullscreen', 'webkitFullscreenElement', 'webkitFullscreenEnabled', 'webkitfullscreenchange', 'webkitfullscreenerror', '-webkit-full-screen']];\nconst specApi = apiMap[0];\nlet browserApi;\n\n// determine the supported set of functions\nfor (let i = 0; i < apiMap.length; i++) {\n // check for exitFullscreen function\n if (apiMap[i][1] in document$1) {\n browserApi = apiMap[i];\n break;\n }\n}\n\n// map the browser API names to the spec API names\nif (browserApi) {\n for (let i = 0; i < browserApi.length; i++) {\n FullscreenApi[specApi[i]] = browserApi[i];\n }\n FullscreenApi.prefixed = browserApi[0] !== specApi[0];\n}\n\n/**\n * @file create-logger.js\n * @module create-logger\n */\n\n// This is the private tracking variable for the logging history.\nlet history = [];\n\n/**\n * Log messages to the console and history based on the type of message\n *\n * @private\n * @param {string} name\n * The name of the console method to use.\n *\n * @param {Object} log\n * The arguments to be passed to the matching console method.\n *\n * @param {string} [styles]\n * styles for name\n */\nconst LogByTypeFactory = (name, log, styles) => (type, level, args) => {\n const lvl = log.levels[level];\n const lvlRegExp = new RegExp(`^(${lvl})$`);\n let resultName = name;\n if (type !== 'log') {\n // Add the type to the front of the message when it's not \"log\".\n args.unshift(type.toUpperCase() + ':');\n }\n if (styles) {\n resultName = `%c${name}`;\n args.unshift(styles);\n }\n\n // Add console prefix after adding to history.\n args.unshift(resultName + ':');\n\n // Add a clone of the args at this point to history.\n if (history) {\n history.push([].concat(args));\n\n // only store 1000 history entries\n const splice = history.length - 1000;\n history.splice(0, splice > 0 ? splice : 0);\n }\n\n // If there's no console then don't try to output messages, but they will\n // still be stored in history.\n if (!window$1.console) {\n return;\n }\n\n // Was setting these once outside of this function, but containing them\n // in the function makes it easier to test cases where console doesn't exist\n // when the module is executed.\n let fn = window$1.console[type];\n if (!fn && type === 'debug') {\n // Certain browsers don't have support for console.debug. For those, we\n // should default to the closest comparable log.\n fn = window$1.console.info || window$1.console.log;\n }\n\n // Bail out if there's no console or if this type is not allowed by the\n // current logging level.\n if (!fn || !lvl || !lvlRegExp.test(type)) {\n return;\n }\n fn[Array.isArray(args) ? 'apply' : 'call'](window$1.console, args);\n};\nfunction createLogger$1(name, delimiter = ':', styles = '') {\n // This is the private tracking variable for logging level.\n let level = 'info';\n\n // the curried logByType bound to the specific log and history\n let logByType;\n\n /**\n * Logs plain debug messages. Similar to `console.log`.\n *\n * Due to [limitations](https://github.com/jsdoc3/jsdoc/issues/955#issuecomment-313829149)\n * of our JSDoc template, we cannot properly document this as both a function\n * and a namespace, so its function signature is documented here.\n *\n * #### Arguments\n * ##### *args\n * *[]\n *\n * Any combination of values that could be passed to `console.log()`.\n *\n * #### Return Value\n *\n * `undefined`\n *\n * @namespace\n * @param {...*} args\n * One or more messages or objects that should be logged.\n */\n function log(...args) {\n logByType('log', level, args);\n }\n\n // This is the logByType helper that the logging methods below use\n logByType = LogByTypeFactory(name, log, styles);\n\n /**\n * Create a new subLogger which chains the old name to the new name.\n *\n * For example, doing `mylogger = videojs.log.createLogger('player')` and then using that logger will log the following:\n * ```js\n * mylogger('foo');\n * // > VIDEOJS: player: foo\n * ```\n *\n * @param {string} subName\n * The name to add call the new logger\n * @param {string} [subDelimiter]\n * Optional delimiter\n * @param {string} [subStyles]\n * Optional styles\n * @return {Object}\n */\n log.createLogger = (subName, subDelimiter, subStyles) => {\n const resultDelimiter = subDelimiter !== undefined ? subDelimiter : delimiter;\n const resultStyles = subStyles !== undefined ? subStyles : styles;\n const resultName = `${name} ${resultDelimiter} ${subName}`;\n return createLogger$1(resultName, resultDelimiter, resultStyles);\n };\n\n /**\n * Create a new logger.\n *\n * @param {string} newName\n * The name for the new logger\n * @param {string} [newDelimiter]\n * Optional delimiter\n * @param {string} [newStyles]\n * Optional styles\n * @return {Object}\n */\n log.createNewLogger = (newName, newDelimiter, newStyles) => {\n return createLogger$1(newName, newDelimiter, newStyles);\n };\n\n /**\n * Enumeration of available logging levels, where the keys are the level names\n * and the values are `|`-separated strings containing logging methods allowed\n * in that logging level. These strings are used to create a regular expression\n * matching the function name being called.\n *\n * Levels provided by Video.js are:\n *\n * - `off`: Matches no calls. Any value that can be cast to `false` will have\n * this effect. The most restrictive.\n * - `all`: Matches only Video.js-provided functions (`debug`, `log`,\n * `log.warn`, and `log.error`).\n * - `debug`: Matches `log.debug`, `log`, `log.warn`, and `log.error` calls.\n * - `info` (default): Matches `log`, `log.warn`, and `log.error` calls.\n * - `warn`: Matches `log.warn` and `log.error` calls.\n * - `error`: Matches only `log.error` calls.\n *\n * @type {Object}\n */\n log.levels = {\n all: 'debug|log|warn|error',\n off: '',\n debug: 'debug|log|warn|error',\n info: 'log|warn|error',\n warn: 'warn|error',\n error: 'error',\n DEFAULT: level\n };\n\n /**\n * Get or set the current logging level.\n *\n * If a string matching a key from {@link module:log.levels} is provided, acts\n * as a setter.\n *\n * @param {'all'|'debug'|'info'|'warn'|'error'|'off'} [lvl]\n * Pass a valid level to set a new logging level.\n *\n * @return {string}\n * The current logging level.\n */\n log.level = lvl => {\n if (typeof lvl === 'string') {\n if (!log.levels.hasOwnProperty(lvl)) {\n throw new Error(`\"${lvl}\" in not a valid log level`);\n }\n level = lvl;\n }\n return level;\n };\n\n /**\n * Returns an array containing everything that has been logged to the history.\n *\n * This array is a shallow clone of the internal history record. However, its\n * contents are _not_ cloned; so, mutating objects inside this array will\n * mutate them in history.\n *\n * @return {Array}\n */\n log.history = () => history ? [].concat(history) : [];\n\n /**\n * Allows you to filter the history by the given logger name\n *\n * @param {string} fname\n * The name to filter by\n *\n * @return {Array}\n * The filtered list to return\n */\n log.history.filter = fname => {\n return (history || []).filter(historyItem => {\n // if the first item in each historyItem includes `fname`, then it's a match\n return new RegExp(`.*${fname}.*`).test(historyItem[0]);\n });\n };\n\n /**\n * Clears the internal history tracking, but does not prevent further history\n * tracking.\n */\n log.history.clear = () => {\n if (history) {\n history.length = 0;\n }\n };\n\n /**\n * Disable history tracking if it is currently enabled.\n */\n log.history.disable = () => {\n if (history !== null) {\n history.length = 0;\n history = null;\n }\n };\n\n /**\n * Enable history tracking if it is currently disabled.\n */\n log.history.enable = () => {\n if (history === null) {\n history = [];\n }\n };\n\n /**\n * Logs error messages. Similar to `console.error`.\n *\n * @param {...*} args\n * One or more messages or objects that should be logged as an error\n */\n log.error = (...args) => logByType('error', level, args);\n\n /**\n * Logs warning messages. Similar to `console.warn`.\n *\n * @param {...*} args\n * One or more messages or objects that should be logged as a warning.\n */\n log.warn = (...args) => logByType('warn', level, args);\n\n /**\n * Logs debug messages. Similar to `console.debug`, but may also act as a comparable\n * log if `console.debug` is not available\n *\n * @param {...*} args\n * One or more messages or objects that should be logged as debug.\n */\n log.debug = (...args) => logByType('debug', level, args);\n return log;\n}\n\n/**\n * @file log.js\n * @module log\n */\nconst log$1 = createLogger$1('VIDEOJS');\nconst createLogger = log$1.createLogger;\n\n/**\n * @file obj.js\n * @module obj\n */\n\n/**\n * @callback obj:EachCallback\n *\n * @param {*} value\n * The current key for the object that is being iterated over.\n *\n * @param {string} key\n * The current key-value for object that is being iterated over\n */\n\n/**\n * @callback obj:ReduceCallback\n *\n * @param {*} accum\n * The value that is accumulating over the reduce loop.\n *\n * @param {*} value\n * The current key for the object that is being iterated over.\n *\n * @param {string} key\n * The current key-value for object that is being iterated over\n *\n * @return {*}\n * The new accumulated value.\n */\nconst toString = Object.prototype.toString;\n\n/**\n * Get the keys of an Object\n *\n * @param {Object}\n * The Object to get the keys from\n *\n * @return {string[]}\n * An array of the keys from the object. Returns an empty array if the\n * object passed in was invalid or had no keys.\n *\n * @private\n */\nconst keys = function (object) {\n return isObject(object) ? Object.keys(object) : [];\n};\n\n/**\n * Array-like iteration for objects.\n *\n * @param {Object} object\n * The object to iterate over\n *\n * @param {obj:EachCallback} fn\n * The callback function which is called for each key in the object.\n */\nfunction each(object, fn) {\n keys(object).forEach(key => fn(object[key], key));\n}\n\n/**\n * Array-like reduce for objects.\n *\n * @param {Object} object\n * The Object that you want to reduce.\n *\n * @param {Function} fn\n * A callback function which is called for each key in the object. It\n * receives the accumulated value and the per-iteration value and key\n * as arguments.\n *\n * @param {*} [initial = 0]\n * Starting value\n *\n * @return {*}\n * The final accumulated value.\n */\nfunction reduce(object, fn, initial = 0) {\n return keys(object).reduce((accum, key) => fn(accum, object[key], key), initial);\n}\n\n/**\n * Returns whether a value is an object of any kind - including DOM nodes,\n * arrays, regular expressions, etc. Not functions, though.\n *\n * This avoids the gotcha where using `typeof` on a `null` value\n * results in `'object'`.\n *\n * @param {Object} value\n * @return {boolean}\n */\nfunction isObject(value) {\n return !!value && typeof value === 'object';\n}\n\n/**\n * Returns whether an object appears to be a \"plain\" object - that is, a\n * direct instance of `Object`.\n *\n * @param {Object} value\n * @return {boolean}\n */\nfunction isPlain(value) {\n return isObject(value) && toString.call(value) === '[object Object]' && value.constructor === Object;\n}\n\n/**\n * Merge two objects recursively.\n *\n * Performs a deep merge like\n * {@link https://lodash.com/docs/4.17.10#merge|lodash.merge}, but only merges\n * plain objects (not arrays, elements, or anything else).\n *\n * Non-plain object values will be copied directly from the right-most\n * argument.\n *\n * @param {Object[]} sources\n * One or more objects to merge into a new object.\n *\n * @return {Object}\n * A new object that is the merged result of all sources.\n */\nfunction merge$1(...sources) {\n const result = {};\n sources.forEach(source => {\n if (!source) {\n return;\n }\n each(source, (value, key) => {\n if (!isPlain(value)) {\n result[key] = value;\n return;\n }\n if (!isPlain(result[key])) {\n result[key] = {};\n }\n result[key] = merge$1(result[key], value);\n });\n });\n return result;\n}\n\n/**\n * Returns an array of values for a given object\n *\n * @param {Object} source - target object\n * @return {Array} - object values\n */\nfunction values(source = {}) {\n const result = [];\n for (const key in source) {\n if (source.hasOwnProperty(key)) {\n const value = source[key];\n result.push(value);\n }\n }\n return result;\n}\n\n/**\n * Object.defineProperty but \"lazy\", which means that the value is only set after\n * it is retrieved the first time, rather than being set right away.\n *\n * @param {Object} obj the object to set the property on\n * @param {string} key the key for the property to set\n * @param {Function} getValue the function used to get the value when it is needed.\n * @param {boolean} setter whether a setter should be allowed or not\n */\nfunction defineLazyProperty(obj, key, getValue, setter = true) {\n const set = value => Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n writable: true\n });\n const options = {\n configurable: true,\n enumerable: true,\n get() {\n const value = getValue();\n set(value);\n return value;\n }\n };\n if (setter) {\n options.set = set;\n }\n return Object.defineProperty(obj, key, options);\n}\n\nvar Obj = /*#__PURE__*/Object.freeze({\n __proto__: null,\n each: each,\n reduce: reduce,\n isObject: isObject,\n isPlain: isPlain,\n merge: merge$1,\n values: values,\n defineLazyProperty: defineLazyProperty\n});\n\n/**\n * @file browser.js\n * @module browser\n */\n\n/**\n * Whether or not this device is an iPod.\n *\n * @static\n * @type {Boolean}\n */\nlet IS_IPOD = false;\n\n/**\n * The detected iOS version - or `null`.\n *\n * @static\n * @type {string|null}\n */\nlet IOS_VERSION = null;\n\n/**\n * Whether or not this is an Android device.\n *\n * @static\n * @type {Boolean}\n */\nlet IS_ANDROID = false;\n\n/**\n * The detected Android version - or `null` if not Android or indeterminable.\n *\n * @static\n * @type {number|string|null}\n */\nlet ANDROID_VERSION;\n\n/**\n * Whether or not this is Mozilla Firefox.\n *\n * @static\n * @type {Boolean}\n */\nlet IS_FIREFOX = false;\n\n/**\n * Whether or not this is Microsoft Edge.\n *\n * @static\n * @type {Boolean}\n */\nlet IS_EDGE = false;\n\n/**\n * Whether or not this is any Chromium Browser\n *\n * @static\n * @type {Boolean}\n */\nlet IS_CHROMIUM = false;\n\n/**\n * Whether or not this is any Chromium browser that is not Edge.\n *\n * This will also be `true` for Chrome on iOS, which will have different support\n * as it is actually Safari under the hood.\n *\n * Deprecated, as the behaviour to not match Edge was to prevent Legacy Edge's UA matching.\n * IS_CHROMIUM should be used instead.\n * \"Chromium but not Edge\" could be explicitly tested with IS_CHROMIUM && !IS_EDGE\n *\n * @static\n * @deprecated\n * @type {Boolean}\n */\nlet IS_CHROME = false;\n\n/**\n * The detected Chromium version - or `null`.\n *\n * @static\n * @type {number|null}\n */\nlet CHROMIUM_VERSION = null;\n\n/**\n * The detected Google Chrome version - or `null`.\n * This has always been the _Chromium_ version, i.e. would return on Chromium Edge.\n * Deprecated, use CHROMIUM_VERSION instead.\n *\n * @static\n * @deprecated\n * @type {number|null}\n */\nlet CHROME_VERSION = null;\n\n/**\n * Whether or not this is a Chromecast receiver application.\n *\n * @static\n * @type {Boolean}\n */\nconst IS_CHROMECAST_RECEIVER = Boolean(window$1.cast && window$1.cast.framework && window$1.cast.framework.CastReceiverContext);\n\n/**\n * The detected Internet Explorer version - or `null`.\n *\n * @static\n * @deprecated\n * @type {number|null}\n */\nlet IE_VERSION = null;\n\n/**\n * Whether or not this is desktop Safari.\n *\n * @static\n * @type {Boolean}\n */\nlet IS_SAFARI = false;\n\n/**\n * Whether or not this is a Windows machine.\n *\n * @static\n * @type {Boolean}\n */\nlet IS_WINDOWS = false;\n\n/**\n * Whether or not this device is an iPad.\n *\n * @static\n * @type {Boolean}\n */\nlet IS_IPAD = false;\n\n/**\n * Whether or not this device is an iPhone.\n *\n * @static\n * @type {Boolean}\n */\n// The Facebook app's UIWebView identifies as both an iPhone and iPad, so\n// to identify iPhones, we need to exclude iPads.\n// http://artsy.github.io/blog/2012/10/18/the-perils-of-ios-user-agent-sniffing/\nlet IS_IPHONE = false;\n\n/**\n * Whether or not this is a Tizen device.\n *\n * @static\n * @type {Boolean}\n */\nlet IS_TIZEN = false;\n\n/**\n * Whether or not this is a WebOS device.\n *\n * @static\n * @type {Boolean}\n */\nlet IS_WEBOS = false;\n\n/**\n * Whether or not this is a Smart TV (Tizen or WebOS) device.\n *\n * @static\n * @type {Boolean}\n */\nlet IS_SMART_TV = false;\n\n/**\n * Whether or not this device is touch-enabled.\n *\n * @static\n * @const\n * @type {Boolean}\n */\nconst TOUCH_ENABLED = Boolean(isReal() && ('ontouchstart' in window$1 || window$1.navigator.maxTouchPoints || window$1.DocumentTouch && window$1.document instanceof window$1.DocumentTouch));\nconst UAD = window$1.navigator && window$1.navigator.userAgentData;\nif (UAD && UAD.platform && UAD.brands) {\n // If userAgentData is present, use it instead of userAgent to avoid warnings\n // Currently only implemented on Chromium\n // userAgentData does not expose Android version, so ANDROID_VERSION remains `null`\n\n IS_ANDROID = UAD.platform === 'Android';\n IS_EDGE = Boolean(UAD.brands.find(b => b.brand === 'Microsoft Edge'));\n IS_CHROMIUM = Boolean(UAD.brands.find(b => b.brand === 'Chromium'));\n IS_CHROME = !IS_EDGE && IS_CHROMIUM;\n CHROMIUM_VERSION = CHROME_VERSION = (UAD.brands.find(b => b.brand === 'Chromium') || {}).version || null;\n IS_WINDOWS = UAD.platform === 'Windows';\n}\n\n// If the browser is not Chromium, either userAgentData is not present which could be an old Chromium browser,\n// or it's a browser that has added userAgentData since that we don't have tests for yet. In either case,\n// the checks need to be made agiainst the regular userAgent string.\nif (!IS_CHROMIUM) {\n const USER_AGENT = window$1.navigator && window$1.navigator.userAgent || '';\n IS_IPOD = /iPod/i.test(USER_AGENT);\n IOS_VERSION = function () {\n const match = USER_AGENT.match(/OS (\\d+)_/i);\n if (match && match[1]) {\n return match[1];\n }\n return null;\n }();\n IS_ANDROID = /Android/i.test(USER_AGENT);\n ANDROID_VERSION = function () {\n // This matches Android Major.Minor.Patch versions\n // ANDROID_VERSION is Major.Minor as a Number, if Minor isn't available, then only Major is returned\n const match = USER_AGENT.match(/Android (\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))*/i);\n if (!match) {\n return null;\n }\n const major = match[1] && parseFloat(match[1]);\n const minor = match[2] && parseFloat(match[2]);\n if (major && minor) {\n return parseFloat(match[1] + '.' + match[2]);\n } else if (major) {\n return major;\n }\n return null;\n }();\n IS_FIREFOX = /Firefox/i.test(USER_AGENT);\n IS_EDGE = /Edg/i.test(USER_AGENT);\n IS_CHROMIUM = /Chrome/i.test(USER_AGENT) || /CriOS/i.test(USER_AGENT);\n IS_CHROME = !IS_EDGE && IS_CHROMIUM;\n CHROMIUM_VERSION = CHROME_VERSION = function () {\n const match = USER_AGENT.match(/(Chrome|CriOS)\\/(\\d+)/);\n if (match && match[2]) {\n return parseFloat(match[2]);\n }\n return null;\n }();\n IE_VERSION = function () {\n const result = /MSIE\\s(\\d+)\\.\\d/.exec(USER_AGENT);\n let version = result && parseFloat(result[1]);\n if (!version && /Trident\\/7.0/i.test(USER_AGENT) && /rv:11.0/.test(USER_AGENT)) {\n // IE 11 has a different user agent string than other IE versions\n version = 11.0;\n }\n return version;\n }();\n IS_TIZEN = /Tizen/i.test(USER_AGENT);\n IS_WEBOS = /Web0S/i.test(USER_AGENT);\n IS_SMART_TV = IS_TIZEN || IS_WEBOS;\n IS_SAFARI = /Safari/i.test(USER_AGENT) && !IS_CHROME && !IS_ANDROID && !IS_EDGE && !IS_SMART_TV;\n IS_WINDOWS = /Windows/i.test(USER_AGENT);\n IS_IPAD = /iPad/i.test(USER_AGENT) || IS_SAFARI && TOUCH_ENABLED && !/iPhone/i.test(USER_AGENT);\n IS_IPHONE = /iPhone/i.test(USER_AGENT) && !IS_IPAD;\n}\n\n/**\n * Whether or not this is an iOS device.\n *\n * @static\n * @const\n * @type {Boolean}\n */\nconst IS_IOS = IS_IPHONE || IS_IPAD || IS_IPOD;\n\n/**\n * Whether or not this is any flavor of Safari - including iOS.\n *\n * @static\n * @const\n * @type {Boolean}\n */\nconst IS_ANY_SAFARI = (IS_SAFARI || IS_IOS) && !IS_CHROME;\n\nvar browser = /*#__PURE__*/Object.freeze({\n __proto__: null,\n get IS_IPOD () { return IS_IPOD; },\n get IOS_VERSION () { return IOS_VERSION; },\n get IS_ANDROID () { return IS_ANDROID; },\n get ANDROID_VERSION () { return ANDROID_VERSION; },\n get IS_FIREFOX () { return IS_FIREFOX; },\n get IS_EDGE () { return IS_EDGE; },\n get IS_CHROMIUM () { return IS_CHROMIUM; },\n get IS_CHROME () { return IS_CHROME; },\n get CHROMIUM_VERSION () { return CHROMIUM_VERSION; },\n get CHROME_VERSION () { return CHROME_VERSION; },\n IS_CHROMECAST_RECEIVER: IS_CHROMECAST_RECEIVER,\n get IE_VERSION () { return IE_VERSION; },\n get IS_SAFARI () { return IS_SAFARI; },\n get IS_WINDOWS () { return IS_WINDOWS; },\n get IS_IPAD () { return IS_IPAD; },\n get IS_IPHONE () { return IS_IPHONE; },\n get IS_TIZEN () { return IS_TIZEN; },\n get IS_WEBOS () { return IS_WEBOS; },\n get IS_SMART_TV () { return IS_SMART_TV; },\n TOUCH_ENABLED: TOUCH_ENABLED,\n IS_IOS: IS_IOS,\n IS_ANY_SAFARI: IS_ANY_SAFARI\n});\n\n/**\n * @file dom.js\n * @module dom\n */\n\n/**\n * Detect if a value is a string with any non-whitespace characters.\n *\n * @private\n * @param {string} str\n * The string to check\n *\n * @return {boolean}\n * Will be `true` if the string is non-blank, `false` otherwise.\n *\n */\nfunction isNonBlankString(str) {\n // we use str.trim as it will trim any whitespace characters\n // from the front or back of non-whitespace characters. aka\n // Any string that contains non-whitespace characters will\n // still contain them after `trim` but whitespace only strings\n // will have a length of 0, failing this check.\n return typeof str === 'string' && Boolean(str.trim());\n}\n\n/**\n * Throws an error if the passed string has whitespace. This is used by\n * class methods to be relatively consistent with the classList API.\n *\n * @private\n * @param {string} str\n * The string to check for whitespace.\n *\n * @throws {Error}\n * Throws an error if there is whitespace in the string.\n */\nfunction throwIfWhitespace(str) {\n // str.indexOf instead of regex because str.indexOf is faster performance wise.\n if (str.indexOf(' ') >= 0) {\n throw new Error('class has illegal whitespace characters');\n }\n}\n\n/**\n * Whether the current DOM interface appears to be real (i.e. not simulated).\n *\n * @return {boolean}\n * Will be `true` if the DOM appears to be real, `false` otherwise.\n */\nfunction isReal() {\n // Both document and window will never be undefined thanks to `global`.\n return document$1 === window$1.document;\n}\n\n/**\n * Determines, via duck typing, whether or not a value is a DOM element.\n *\n * @param {*} value\n * The value to check.\n *\n * @return {boolean}\n * Will be `true` if the value is a DOM element, `false` otherwise.\n */\nfunction isEl(value) {\n return isObject(value) && value.nodeType === 1;\n}\n\n/**\n * Determines if the current DOM is embedded in an iframe.\n *\n * @return {boolean}\n * Will be `true` if the DOM is embedded in an iframe, `false`\n * otherwise.\n */\nfunction isInFrame() {\n // We need a try/catch here because Safari will throw errors when attempting\n // to get either `parent` or `self`\n try {\n return window$1.parent !== window$1.self;\n } catch (x) {\n return true;\n }\n}\n\n/**\n * Creates functions to query the DOM using a given method.\n *\n * @private\n * @param {string} method\n * The method to create the query with.\n *\n * @return {Function}\n * The query method\n */\nfunction createQuerier(method) {\n return function (selector, context) {\n if (!isNonBlankString(selector)) {\n return document$1[method](null);\n }\n if (isNonBlankString(context)) {\n context = document$1.querySelector(context);\n }\n const ctx = isEl(context) ? context : document$1;\n return ctx[method] && ctx[method](selector);\n };\n}\n\n/**\n * Creates an element and applies properties, attributes, and inserts content.\n *\n * @param {string} [tagName='div']\n * Name of tag to be created.\n *\n * @param {Object} [properties={}]\n * Element properties to be applied.\n *\n * @param {Object} [attributes={}]\n * Element attributes to be applied.\n *\n * @param {ContentDescriptor} [content]\n * A content descriptor object.\n *\n * @return {Element}\n * The element that was created.\n */\nfunction createEl(tagName = 'div', properties = {}, attributes = {}, content) {\n const el = document$1.createElement(tagName);\n Object.getOwnPropertyNames(properties).forEach(function (propName) {\n const val = properties[propName];\n\n // Handle textContent since it's not supported everywhere and we have a\n // method for it.\n if (propName === 'textContent') {\n textContent(el, val);\n } else if (el[propName] !== val || propName === 'tabIndex') {\n el[propName] = val;\n }\n });\n Object.getOwnPropertyNames(attributes).forEach(function (attrName) {\n el.setAttribute(attrName, attributes[attrName]);\n });\n if (content) {\n appendContent(el, content);\n }\n return el;\n}\n\n/**\n * Injects text into an element, replacing any existing contents entirely.\n *\n * @param {HTMLElement} el\n * The element to add text content into\n *\n * @param {string} text\n * The text content to add.\n *\n * @return {Element}\n * The element with added text content.\n */\nfunction textContent(el, text) {\n if (typeof el.textContent === 'undefined') {\n el.innerText = text;\n } else {\n el.textContent = text;\n }\n return el;\n}\n\n/**\n * Insert an element as the first child node of another\n *\n * @param {Element} child\n * Element to insert\n *\n * @param {Element} parent\n * Element to insert child into\n */\nfunction prependTo(child, parent) {\n if (parent.firstChild) {\n parent.insertBefore(child, parent.firstChild);\n } else {\n parent.appendChild(child);\n }\n}\n\n/**\n * Check if an element has a class name.\n *\n * @param {Element} element\n * Element to check\n *\n * @param {string} classToCheck\n * Class name to check for\n *\n * @return {boolean}\n * Will be `true` if the element has a class, `false` otherwise.\n *\n * @throws {Error}\n * Throws an error if `classToCheck` has white space.\n */\nfunction hasClass(element, classToCheck) {\n throwIfWhitespace(classToCheck);\n return element.classList.contains(classToCheck);\n}\n\n/**\n * Add a class name to an element.\n *\n * @param {Element} element\n * Element to add class name to.\n *\n * @param {...string} classesToAdd\n * One or more class name to add.\n *\n * @return {Element}\n * The DOM element with the added class name.\n */\nfunction addClass(element, ...classesToAdd) {\n element.classList.add(...classesToAdd.reduce((prev, current) => prev.concat(current.split(/\\s+/)), []));\n return element;\n}\n\n/**\n * Remove a class name from an element.\n *\n * @param {Element} element\n * Element to remove a class name from.\n *\n * @param {...string} classesToRemove\n * One or more class name to remove.\n *\n * @return {Element}\n * The DOM element with class name removed.\n */\nfunction removeClass(element, ...classesToRemove) {\n // Protect in case the player gets disposed\n if (!element) {\n log$1.warn(\"removeClass was called with an element that doesn't exist\");\n return null;\n }\n element.classList.remove(...classesToRemove.reduce((prev, current) => prev.concat(current.split(/\\s+/)), []));\n return element;\n}\n\n/**\n * The callback definition for toggleClass.\n *\n * @callback PredicateCallback\n * @param {Element} element\n * The DOM element of the Component.\n *\n * @param {string} classToToggle\n * The `className` that wants to be toggled\n *\n * @return {boolean|undefined}\n * If `true` is returned, the `classToToggle` will be added to the\n * `element`, but not removed. If `false`, the `classToToggle` will be removed from\n * the `element`, but not added. If `undefined`, the callback will be ignored.\n *\n */\n\n/**\n * Adds or removes a class name to/from an element depending on an optional\n * condition or the presence/absence of the class name.\n *\n * @param {Element} element\n * The element to toggle a class name on.\n *\n * @param {string} classToToggle\n * The class that should be toggled.\n *\n * @param {boolean|PredicateCallback} [predicate]\n * See the return value for {@link module:dom~PredicateCallback}\n *\n * @return {Element}\n * The element with a class that has been toggled.\n */\nfunction toggleClass(element, classToToggle, predicate) {\n if (typeof predicate === 'function') {\n predicate = predicate(element, classToToggle);\n }\n if (typeof predicate !== 'boolean') {\n predicate = undefined;\n }\n classToToggle.split(/\\s+/).forEach(className => element.classList.toggle(className, predicate));\n return element;\n}\n\n/**\n * Apply attributes to an HTML element.\n *\n * @param {Element} el\n * Element to add attributes to.\n *\n * @param {Object} [attributes]\n * Attributes to be applied.\n */\nfunction setAttributes(el, attributes) {\n Object.getOwnPropertyNames(attributes).forEach(function (attrName) {\n const attrValue = attributes[attrName];\n if (attrValue === null || typeof attrValue === 'undefined' || attrValue === false) {\n el.removeAttribute(attrName);\n } else {\n el.setAttribute(attrName, attrValue === true ? '' : attrValue);\n }\n });\n}\n\n/**\n * Get an element's attribute values, as defined on the HTML tag.\n *\n * Attributes are not the same as properties. They're defined on the tag\n * or with setAttribute.\n *\n * @param {Element} tag\n * Element from which to get tag attributes.\n *\n * @return {Object}\n * All attributes of the element. Boolean attributes will be `true` or\n * `false`, others will be strings.\n */\nfunction getAttributes(tag) {\n const obj = {};\n\n // known boolean attributes\n // we can check for matching boolean properties, but not all browsers\n // and not all tags know about these attributes, so, we still want to check them manually\n const knownBooleans = ['autoplay', 'controls', 'playsinline', 'loop', 'muted', 'default', 'defaultMuted'];\n if (tag && tag.attributes && tag.attributes.length > 0) {\n const attrs = tag.attributes;\n for (let i = attrs.length - 1; i >= 0; i--) {\n const attrName = attrs[i].name;\n /** @type {boolean|string} */\n let attrVal = attrs[i].value;\n\n // check for known booleans\n // the matching element property will return a value for typeof\n if (knownBooleans.includes(attrName)) {\n // the value of an included boolean attribute is typically an empty\n // string ('') which would equal false if we just check for a false value.\n // we also don't want support bad code like autoplay='false'\n attrVal = attrVal !== null ? true : false;\n }\n obj[attrName] = attrVal;\n }\n }\n return obj;\n}\n\n/**\n * Get the value of an element's attribute.\n *\n * @param {Element} el\n * A DOM element.\n *\n * @param {string} attribute\n * Attribute to get the value of.\n *\n * @return {string}\n * The value of the attribute.\n */\nfunction getAttribute(el, attribute) {\n return el.getAttribute(attribute);\n}\n\n/**\n * Set the value of an element's attribute.\n *\n * @param {Element} el\n * A DOM element.\n *\n * @param {string} attribute\n * Attribute to set.\n *\n * @param {string} value\n * Value to set the attribute to.\n */\nfunction setAttribute(el, attribute, value) {\n el.setAttribute(attribute, value);\n}\n\n/**\n * Remove an element's attribute.\n *\n * @param {Element} el\n * A DOM element.\n *\n * @param {string} attribute\n * Attribute to remove.\n */\nfunction removeAttribute(el, attribute) {\n el.removeAttribute(attribute);\n}\n\n/**\n * Attempt to block the ability to select text.\n */\nfunction blockTextSelection() {\n document$1.body.focus();\n document$1.onselectstart = function () {\n return false;\n };\n}\n\n/**\n * Turn off text selection blocking.\n */\nfunction unblockTextSelection() {\n document$1.onselectstart = function () {\n return true;\n };\n}\n\n/**\n * Identical to the native `getBoundingClientRect` function, but ensures that\n * the method is supported at all (it is in all browsers we claim to support)\n * and that the element is in the DOM before continuing.\n *\n * This wrapper function also shims properties which are not provided by some\n * older browsers (namely, IE8).\n *\n * Additionally, some browsers do not support adding properties to a\n * `ClientRect`/`DOMRect` object; so, we shallow-copy it with the standard\n * properties (except `x` and `y` which are not widely supported). This helps\n * avoid implementations where keys are non-enumerable.\n *\n * @param {Element} el\n * Element whose `ClientRect` we want to calculate.\n *\n * @return {Object|undefined}\n * Always returns a plain object - or `undefined` if it cannot.\n */\nfunction getBoundingClientRect(el) {\n if (el && el.getBoundingClientRect && el.parentNode) {\n const rect = el.getBoundingClientRect();\n const result = {};\n ['bottom', 'height', 'left', 'right', 'top', 'width'].forEach(k => {\n if (rect[k] !== undefined) {\n result[k] = rect[k];\n }\n });\n if (!result.height) {\n result.height = parseFloat(computedStyle(el, 'height'));\n }\n if (!result.width) {\n result.width = parseFloat(computedStyle(el, 'width'));\n }\n return result;\n }\n}\n\n/**\n * Represents the position of a DOM element on the page.\n *\n * @typedef {Object} module:dom~Position\n *\n * @property {number} left\n * Pixels to the left.\n *\n * @property {number} top\n * Pixels from the top.\n */\n\n/**\n * Get the position of an element in the DOM.\n *\n * Uses `getBoundingClientRect` technique from John Resig.\n *\n * @see http://ejohn.org/blog/getboundingclientrect-is-awesome/\n *\n * @param {Element} el\n * Element from which to get offset.\n *\n * @return {module:dom~Position}\n * The position of the element that was passed in.\n */\nfunction findPosition(el) {\n if (!el || el && !el.offsetParent) {\n return {\n left: 0,\n top: 0,\n width: 0,\n height: 0\n };\n }\n const width = el.offsetWidth;\n const height = el.offsetHeight;\n let left = 0;\n let top = 0;\n while (el.offsetParent && el !== document$1[FullscreenApi.fullscreenElement]) {\n left += el.offsetLeft;\n top += el.offsetTop;\n el = el.offsetParent;\n }\n return {\n left,\n top,\n width,\n height\n };\n}\n\n/**\n * Represents x and y coordinates for a DOM element or mouse pointer.\n *\n * @typedef {Object} module:dom~Coordinates\n *\n * @property {number} x\n * x coordinate in pixels\n *\n * @property {number} y\n * y coordinate in pixels\n */\n\n/**\n * Get the pointer position within an element.\n *\n * The base on the coordinates are the bottom left of the element.\n *\n * @param {Element} el\n * Element on which to get the pointer position on.\n *\n * @param {Event} event\n * Event object.\n *\n * @return {module:dom~Coordinates}\n * A coordinates object corresponding to the mouse position.\n *\n */\nfunction getPointerPosition(el, event) {\n const translated = {\n x: 0,\n y: 0\n };\n if (IS_IOS) {\n let item = el;\n while (item && item.nodeName.toLowerCase() !== 'html') {\n const transform = computedStyle(item, 'transform');\n if (/^matrix/.test(transform)) {\n const values = transform.slice(7, -1).split(/,\\s/).map(Number);\n translated.x += values[4];\n translated.y += values[5];\n } else if (/^matrix3d/.test(transform)) {\n const values = transform.slice(9, -1).split(/,\\s/).map(Number);\n translated.x += values[12];\n translated.y += values[13];\n }\n if (item.assignedSlot && item.assignedSlot.parentElement && window$1.WebKitCSSMatrix) {\n const transformValue = window$1.getComputedStyle(item.assignedSlot.parentElement).transform;\n const matrix = new window$1.WebKitCSSMatrix(transformValue);\n translated.x += matrix.m41;\n translated.y += matrix.m42;\n }\n item = item.parentNode || item.host;\n }\n }\n const position = {};\n const boxTarget = findPosition(event.target);\n const box = findPosition(el);\n const boxW = box.width;\n const boxH = box.height;\n let offsetY = event.offsetY - (box.top - boxTarget.top);\n let offsetX = event.offsetX - (box.left - boxTarget.left);\n if (event.changedTouches) {\n offsetX = event.changedTouches[0].pageX - box.left;\n offsetY = event.changedTouches[0].pageY + box.top;\n if (IS_IOS) {\n offsetX -= translated.x;\n offsetY -= translated.y;\n }\n }\n position.y = 1 - Math.max(0, Math.min(1, offsetY / boxH));\n position.x = Math.max(0, Math.min(1, offsetX / boxW));\n return position;\n}\n\n/**\n * Determines, via duck typing, whether or not a value is a text node.\n *\n * @param {*} value\n * Check if this value is a text node.\n *\n * @return {boolean}\n * Will be `true` if the value is a text node, `false` otherwise.\n */\nfunction isTextNode(value) {\n return isObject(value) && value.nodeType === 3;\n}\n\n/**\n * Empties the contents of an element.\n *\n * @param {Element} el\n * The element to empty children from\n *\n * @return {Element}\n * The element with no children\n */\nfunction emptyEl(el) {\n while (el.firstChild) {\n el.removeChild(el.firstChild);\n }\n return el;\n}\n\n/**\n * This is a mixed value that describes content to be injected into the DOM\n * via some method. It can be of the following types:\n *\n * Type | Description\n * -----------|-------------\n * `string` | The value will be normalized into a text node.\n * `Element` | The value will be accepted as-is.\n * `Text` | A TextNode. The value will be accepted as-is.\n * `Array` | A one-dimensional array of strings, elements, text nodes, or functions. These functions should return a string, element, or text node (any other return value, like an array, will be ignored).\n * `Function` | A function, which is expected to return a string, element, text node, or array - any of the other possible values described above. This means that a content descriptor could be a function that returns an array of functions, but those second-level functions must return strings, elements, or text nodes.\n *\n * @typedef {string|Element|Text|Array|Function} ContentDescriptor\n */\n\n/**\n * Normalizes content for eventual insertion into the DOM.\n *\n * This allows a wide range of content definition methods, but helps protect\n * from falling into the trap of simply writing to `innerHTML`, which could\n * be an XSS concern.\n *\n * The content for an element can be passed in multiple types and\n * combinations, whose behavior is as follows:\n *\n * @param {ContentDescriptor} content\n * A content descriptor value.\n *\n * @return {Array}\n * All of the content that was passed in, normalized to an array of\n * elements or text nodes.\n */\nfunction normalizeContent(content) {\n // First, invoke content if it is a function. If it produces an array,\n // that needs to happen before normalization.\n if (typeof content === 'function') {\n content = content();\n }\n\n // Next up, normalize to an array, so one or many items can be normalized,\n // filtered, and returned.\n return (Array.isArray(content) ? content : [content]).map(value => {\n // First, invoke value if it is a function to produce a new value,\n // which will be subsequently normalized to a Node of some kind.\n if (typeof value === 'function') {\n value = value();\n }\n if (isEl(value) || isTextNode(value)) {\n return value;\n }\n if (typeof value === 'string' && /\\S/.test(value)) {\n return document$1.createTextNode(value);\n }\n }).filter(value => value);\n}\n\n/**\n * Normalizes and appends content to an element.\n *\n * @param {Element} el\n * Element to append normalized content to.\n *\n * @param {ContentDescriptor} content\n * A content descriptor value.\n *\n * @return {Element}\n * The element with appended normalized content.\n */\nfunction appendContent(el, content) {\n normalizeContent(content).forEach(node => el.appendChild(node));\n return el;\n}\n\n/**\n * Normalizes and inserts content into an element; this is identical to\n * `appendContent()`, except it empties the element first.\n *\n * @param {Element} el\n * Element to insert normalized content into.\n *\n * @param {ContentDescriptor} content\n * A content descriptor value.\n *\n * @return {Element}\n * The element with inserted normalized content.\n */\nfunction insertContent(el, content) {\n return appendContent(emptyEl(el), content);\n}\n\n/**\n * Check if an event was a single left click.\n *\n * @param {MouseEvent} event\n * Event object.\n *\n * @return {boolean}\n * Will be `true` if a single left click, `false` otherwise.\n */\nfunction isSingleLeftClick(event) {\n // Note: if you create something draggable, be sure to\n // call it on both `mousedown` and `mousemove` event,\n // otherwise `mousedown` should be enough for a button\n\n if (event.button === undefined && event.buttons === undefined) {\n // Why do we need `buttons` ?\n // Because, middle mouse sometimes have this:\n // e.button === 0 and e.buttons === 4\n // Furthermore, we want to prevent combination click, something like\n // HOLD middlemouse then left click, that would be\n // e.button === 0, e.buttons === 5\n // just `button` is not gonna work\n\n // Alright, then what this block does ?\n // this is for chrome `simulate mobile devices`\n // I want to support this as well\n\n return true;\n }\n if (event.button === 0 && event.buttons === undefined) {\n // Touch screen, sometimes on some specific device, `buttons`\n // doesn't have anything (safari on ios, blackberry...)\n\n return true;\n }\n\n // `mouseup` event on a single left click has\n // `button` and `buttons` equal to 0\n if (event.type === 'mouseup' && event.button === 0 && event.buttons === 0) {\n return true;\n }\n\n // MacOS Sonoma trackpad when \"tap to click enabled\"\n if (event.type === 'mousedown' && event.button === 0 && event.buttons === 0) {\n return true;\n }\n if (event.button !== 0 || event.buttons !== 1) {\n // This is the reason we have those if else block above\n // if any special case we can catch and let it slide\n // we do it above, when get to here, this definitely\n // is-not-left-click\n\n return false;\n }\n return true;\n}\n\n/**\n * Finds a single DOM element matching `selector` within the optional\n * `context` of another DOM element (defaulting to `document`).\n *\n * @param {string} selector\n * A valid CSS selector, which will be passed to `querySelector`.\n *\n * @param {Element|String} [context=document]\n * A DOM element within which to query. Can also be a selector\n * string in which case the first matching element will be used\n * as context. If missing (or no element matches selector), falls\n * back to `document`.\n *\n * @return {Element|null}\n * The element that was found or null.\n */\nconst $ = createQuerier('querySelector');\n\n/**\n * Finds a all DOM elements matching `selector` within the optional\n * `context` of another DOM element (defaulting to `document`).\n *\n * @param {string} selector\n * A valid CSS selector, which will be passed to `querySelectorAll`.\n *\n * @param {Element|String} [context=document]\n * A DOM element within which to query. Can also be a selector\n * string in which case the first matching element will be used\n * as context. If missing (or no element matches selector), falls\n * back to `document`.\n *\n * @return {NodeList}\n * A element list of elements that were found. Will be empty if none\n * were found.\n *\n */\nconst $$ = createQuerier('querySelectorAll');\n\n/**\n * A safe getComputedStyle.\n *\n * This is needed because in Firefox, if the player is loaded in an iframe with\n * `display:none`, then `getComputedStyle` returns `null`, so, we do a\n * null-check to make sure that the player doesn't break in these cases.\n *\n * @param {Element} el\n * The element you want the computed style of\n *\n * @param {string} prop\n * The property name you want\n *\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=548397\n */\nfunction computedStyle(el, prop) {\n if (!el || !prop) {\n return '';\n }\n if (typeof window$1.getComputedStyle === 'function') {\n let computedStyleValue;\n try {\n computedStyleValue = window$1.getComputedStyle(el);\n } catch (e) {\n return '';\n }\n return computedStyleValue ? computedStyleValue.getPropertyValue(prop) || computedStyleValue[prop] : '';\n }\n return '';\n}\n\n/**\n * Copy document style sheets to another window.\n *\n * @param {Window} win\n * The window element you want to copy the document style sheets to.\n *\n */\nfunction copyStyleSheetsToWindow(win) {\n [...document$1.styleSheets].forEach(styleSheet => {\n try {\n const cssRules = [...styleSheet.cssRules].map(rule => rule.cssText).join('');\n const style = document$1.createElement('style');\n style.textContent = cssRules;\n win.document.head.appendChild(style);\n } catch (e) {\n const link = document$1.createElement('link');\n link.rel = 'stylesheet';\n link.type = styleSheet.type;\n // For older Safari this has to be the string; on other browsers setting the MediaList works\n link.media = styleSheet.media.mediaText;\n link.href = styleSheet.href;\n win.document.head.appendChild(link);\n }\n });\n}\n\nvar Dom = /*#__PURE__*/Object.freeze({\n __proto__: null,\n isReal: isReal,\n isEl: isEl,\n isInFrame: isInFrame,\n createEl: createEl,\n textContent: textContent,\n prependTo: prependTo,\n hasClass: hasClass,\n addClass: addClass,\n removeClass: removeClass,\n toggleClass: toggleClass,\n setAttributes: setAttributes,\n getAttributes: getAttributes,\n getAttribute: getAttribute,\n setAttribute: setAttribute,\n removeAttribute: removeAttribute,\n blockTextSelection: blockTextSelection,\n unblockTextSelection: unblockTextSelection,\n getBoundingClientRect: getBoundingClientRect,\n findPosition: findPosition,\n getPointerPosition: getPointerPosition,\n isTextNode: isTextNode,\n emptyEl: emptyEl,\n normalizeContent: normalizeContent,\n appendContent: appendContent,\n insertContent: insertContent,\n isSingleLeftClick: isSingleLeftClick,\n $: $,\n $$: $$,\n computedStyle: computedStyle,\n copyStyleSheetsToWindow: copyStyleSheetsToWindow\n});\n\n/**\n * @file setup.js - Functions for setting up a player without\n * user interaction based on the data-setup `attribute` of the video tag.\n *\n * @module setup\n */\nlet _windowLoaded = false;\nlet videojs$1;\n\n/**\n * Set up any tags that have a data-setup `attribute` when the player is started.\n */\nconst autoSetup = function () {\n if (videojs$1.options.autoSetup === false) {\n return;\n }\n const vids = Array.prototype.slice.call(document$1.getElementsByTagName('video'));\n const audios = Array.prototype.slice.call(document$1.getElementsByTagName('audio'));\n const divs = Array.prototype.slice.call(document$1.getElementsByTagName('video-js'));\n const mediaEls = vids.concat(audios, divs);\n\n // Check if any media elements exist\n if (mediaEls && mediaEls.length > 0) {\n for (let i = 0, e = mediaEls.length; i < e; i++) {\n const mediaEl = mediaEls[i];\n\n // Check if element exists, has getAttribute func.\n if (mediaEl && mediaEl.getAttribute) {\n // Make sure this player hasn't already been set up.\n if (mediaEl.player === undefined) {\n const options = mediaEl.getAttribute('data-setup');\n\n // Check if data-setup attr exists.\n // We only auto-setup if they've added the data-setup attr.\n if (options !== null) {\n // Create new video.js instance.\n videojs$1(mediaEl);\n }\n }\n\n // If getAttribute isn't defined, we need to wait for the DOM.\n } else {\n autoSetupTimeout(1);\n break;\n }\n }\n\n // No videos were found, so keep looping unless page is finished loading.\n } else if (!_windowLoaded) {\n autoSetupTimeout(1);\n }\n};\n\n/**\n * Wait until the page is loaded before running autoSetup. This will be called in\n * autoSetup if `hasLoaded` returns false.\n *\n * @param {number} wait\n * How long to wait in ms\n *\n * @param {module:videojs} [vjs]\n * The videojs library function\n */\nfunction autoSetupTimeout(wait, vjs) {\n // Protect against breakage in non-browser environments\n if (!isReal()) {\n return;\n }\n if (vjs) {\n videojs$1 = vjs;\n }\n window$1.setTimeout(autoSetup, wait);\n}\n\n/**\n * Used to set the internal tracking of window loaded state to true.\n *\n * @private\n */\nfunction setWindowLoaded() {\n _windowLoaded = true;\n window$1.removeEventListener('load', setWindowLoaded);\n}\nif (isReal()) {\n if (document$1.readyState === 'complete') {\n setWindowLoaded();\n } else {\n /**\n * Listen for the load event on window, and set _windowLoaded to true.\n *\n * We use a standard event listener here to avoid incrementing the GUID\n * before any players are created.\n *\n * @listens load\n */\n window$1.addEventListener('load', setWindowLoaded);\n }\n}\n\n/**\n * @file stylesheet.js\n * @module stylesheet\n */\n\n/**\n * Create a DOM style element given a className for it.\n *\n * @param {string} className\n * The className to add to the created style element.\n *\n * @return {Element}\n * The element that was created.\n */\nconst createStyleElement = function (className) {\n const style = document$1.createElement('style');\n style.className = className;\n return style;\n};\n\n/**\n * Add text to a DOM element.\n *\n * @param {Element} el\n * The Element to add text content to.\n *\n * @param {string} content\n * The text to add to the element.\n */\nconst setTextContent = function (el, content) {\n if (el.styleSheet) {\n el.styleSheet.cssText = content;\n } else {\n el.textContent = content;\n }\n};\n\n/**\n * @file dom-data.js\n * @module dom-data\n */\n\n/**\n * Element Data Store.\n *\n * Allows for binding data to an element without putting it directly on the\n * element. Ex. Event listeners are stored here.\n * (also from jsninja.com, slightly modified and updated for closure compiler)\n *\n * @type {Object}\n * @private\n */\nvar DomData = new WeakMap();\n\n/**\n * @file guid.js\n * @module guid\n */\n\n// Default value for GUIDs. This allows us to reset the GUID counter in tests.\n//\n// The initial GUID is 3 because some users have come to rely on the first\n// default player ID ending up as `vjs_video_3`.\n//\n// See: https://github.com/videojs/video.js/pull/6216\nconst _initialGuid = 3;\n\n/**\n * Unique ID for an element or function\n *\n * @type {Number}\n */\nlet _guid = _initialGuid;\n\n/**\n * Get a unique auto-incrementing ID by number that has not been returned before.\n *\n * @return {number}\n * A new unique ID.\n */\nfunction newGUID() {\n return _guid++;\n}\n\n/**\n * @file events.js. An Event System (John Resig - Secrets of a JS Ninja http://jsninja.com/)\n * (Original book version wasn't completely usable, so fixed some things and made Closure Compiler compatible)\n * This should work very similarly to jQuery's events, however it's based off the book version which isn't as\n * robust as jquery's, so there's probably some differences.\n *\n * @file events.js\n * @module events\n */\n\n/**\n * Clean up the listener cache and dispatchers\n *\n * @param {Element|Object} elem\n * Element to clean up\n *\n * @param {string} type\n * Type of event to clean up\n */\nfunction _cleanUpEvents(elem, type) {\n if (!DomData.has(elem)) {\n return;\n }\n const data = DomData.get(elem);\n\n // Remove the events of a particular type if there are none left\n if (data.handlers[type].length === 0) {\n delete data.handlers[type];\n // data.handlers[type] = null;\n // Setting to null was causing an error with data.handlers\n\n // Remove the meta-handler from the element\n if (elem.removeEventListener) {\n elem.removeEventListener(type, data.dispatcher, false);\n } else if (elem.detachEvent) {\n elem.detachEvent('on' + type, data.dispatcher);\n }\n }\n\n // Remove the events object if there are no types left\n if (Object.getOwnPropertyNames(data.handlers).length <= 0) {\n delete data.handlers;\n delete data.dispatcher;\n delete data.disabled;\n }\n\n // Finally remove the element data if there is no data left\n if (Object.getOwnPropertyNames(data).length === 0) {\n DomData.delete(elem);\n }\n}\n\n/**\n * Loops through an array of event types and calls the requested method for each type.\n *\n * @param {Function} fn\n * The event method we want to use.\n *\n * @param {Element|Object} elem\n * Element or object to bind listeners to\n *\n * @param {string[]} types\n * Type of event to bind to.\n *\n * @param {Function} callback\n * Event listener.\n */\nfunction _handleMultipleEvents(fn, elem, types, callback) {\n types.forEach(function (type) {\n // Call the event method for each one of the types\n fn(elem, type, callback);\n });\n}\n\n/**\n * Fix a native event to have standard property values\n *\n * @param {Object} event\n * Event object to fix.\n *\n * @return {Object}\n * Fixed event object.\n */\nfunction fixEvent(event) {\n if (event.fixed_) {\n return event;\n }\n function returnTrue() {\n return true;\n }\n function returnFalse() {\n return false;\n }\n\n // Test if fixing up is needed\n // Used to check if !event.stopPropagation instead of isPropagationStopped\n // But native events return true for stopPropagation, but don't have\n // other expected methods like isPropagationStopped. Seems to be a problem\n // with the Javascript Ninja code. So we're just overriding all events now.\n if (!event || !event.isPropagationStopped || !event.isImmediatePropagationStopped) {\n const old = event || window$1.event;\n event = {};\n // Clone the old object so that we can modify the values event = {};\n // IE8 Doesn't like when you mess with native event properties\n // Firefox returns false for event.hasOwnProperty('type') and other props\n // which makes copying more difficult.\n\n // TODO: Probably best to create an allowlist of event props\n const deprecatedProps = ['layerX', 'layerY', 'keyLocation', 'path', 'webkitMovementX', 'webkitMovementY', 'mozPressure', 'mozInputSource'];\n for (const key in old) {\n // Safari 6.0.3 warns you if you try to copy deprecated layerX/Y\n // Chrome warns you if you try to copy deprecated keyboardEvent.keyLocation\n // and webkitMovementX/Y\n // Lighthouse complains if Event.path is copied\n if (!deprecatedProps.includes(key)) {\n // Chrome 32+ warns if you try to copy deprecated returnValue, but\n // we still want to if preventDefault isn't supported (IE8).\n if (!(key === 'returnValue' && old.preventDefault)) {\n event[key] = old[key];\n }\n }\n }\n\n // The event occurred on this element\n if (!event.target) {\n event.target = event.srcElement || document$1;\n }\n\n // Handle which other element the event is related to\n if (!event.relatedTarget) {\n event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement;\n }\n\n // Stop the default browser action\n event.preventDefault = function () {\n if (old.preventDefault) {\n old.preventDefault();\n }\n event.returnValue = false;\n old.returnValue = false;\n event.defaultPrevented = true;\n };\n event.defaultPrevented = false;\n\n // Stop the event from bubbling\n event.stopPropagation = function () {\n if (old.stopPropagation) {\n old.stopPropagation();\n }\n event.cancelBubble = true;\n old.cancelBubble = true;\n event.isPropagationStopped = returnTrue;\n };\n event.isPropagationStopped = returnFalse;\n\n // Stop the event from bubbling and executing other handlers\n event.stopImmediatePropagation = function () {\n if (old.stopImmediatePropagation) {\n old.stopImmediatePropagation();\n }\n event.isImmediatePropagationStopped = returnTrue;\n event.stopPropagation();\n };\n event.isImmediatePropagationStopped = returnFalse;\n\n // Handle mouse position\n if (event.clientX !== null && event.clientX !== undefined) {\n const doc = document$1.documentElement;\n const body = document$1.body;\n event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);\n event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);\n }\n\n // Handle key presses\n event.which = event.charCode || event.keyCode;\n\n // Fix button for mouse clicks:\n // 0 == left; 1 == middle; 2 == right\n if (event.button !== null && event.button !== undefined) {\n // The following is disabled because it does not pass videojs-standard\n // and... yikes.\n /* eslint-disable */\n event.button = event.button & 1 ? 0 : event.button & 4 ? 1 : event.button & 2 ? 2 : 0;\n /* eslint-enable */\n }\n }\n event.fixed_ = true;\n // Returns fixed-up instance\n return event;\n}\n\n/**\n * Whether passive event listeners are supported\n */\nlet _supportsPassive;\nconst supportsPassive = function () {\n if (typeof _supportsPassive !== 'boolean') {\n _supportsPassive = false;\n try {\n const opts = Object.defineProperty({}, 'passive', {\n get() {\n _supportsPassive = true;\n }\n });\n window$1.addEventListener('test', null, opts);\n window$1.removeEventListener('test', null, opts);\n } catch (e) {\n // disregard\n }\n }\n return _supportsPassive;\n};\n\n/**\n * Touch events Chrome expects to be passive\n */\nconst passiveEvents = ['touchstart', 'touchmove'];\n\n/**\n * Add an event listener to element\n * It stores the handler function in a separate cache object\n * and adds a generic handler to the element's event,\n * along with a unique id (guid) to the element.\n *\n * @param {Element|Object} elem\n * Element or object to bind listeners to\n *\n * @param {string|string[]} type\n * Type of event to bind to.\n *\n * @param {Function} fn\n * Event listener.\n */\nfunction on(elem, type, fn) {\n if (Array.isArray(type)) {\n return _handleMultipleEvents(on, elem, type, fn);\n }\n if (!DomData.has(elem)) {\n DomData.set(elem, {});\n }\n const data = DomData.get(elem);\n\n // We need a place to store all our handler data\n if (!data.handlers) {\n data.handlers = {};\n }\n if (!data.handlers[type]) {\n data.handlers[type] = [];\n }\n if (!fn.guid) {\n fn.guid = newGUID();\n }\n data.handlers[type].push(fn);\n if (!data.dispatcher) {\n data.disabled = false;\n data.dispatcher = function (event, hash) {\n if (data.disabled) {\n return;\n }\n event = fixEvent(event);\n const handlers = data.handlers[event.type];\n if (handlers) {\n // Copy handlers so if handlers are added/removed during the process it doesn't throw everything off.\n const handlersCopy = handlers.slice(0);\n for (let m = 0, n = handlersCopy.length; m < n; m++) {\n if (event.isImmediatePropagationStopped()) {\n break;\n } else {\n try {\n handlersCopy[m].call(elem, event, hash);\n } catch (e) {\n log$1.error(e);\n }\n }\n }\n }\n };\n }\n if (data.handlers[type].length === 1) {\n if (elem.addEventListener) {\n let options = false;\n if (supportsPassive() && passiveEvents.indexOf(type) > -1) {\n options = {\n passive: true\n };\n }\n elem.addEventListener(type, data.dispatcher, options);\n } else if (elem.attachEvent) {\n elem.attachEvent('on' + type, data.dispatcher);\n }\n }\n}\n\n/**\n * Removes event listeners from an element\n *\n * @param {Element|Object} elem\n * Object to remove listeners from.\n *\n * @param {string|string[]} [type]\n * Type of listener to remove. Don't include to remove all events from element.\n *\n * @param {Function} [fn]\n * Specific listener to remove. Don't include to remove listeners for an event\n * type.\n */\nfunction off(elem, type, fn) {\n // Don't want to add a cache object through getElData if not needed\n if (!DomData.has(elem)) {\n return;\n }\n const data = DomData.get(elem);\n\n // If no events exist, nothing to unbind\n if (!data.handlers) {\n return;\n }\n if (Array.isArray(type)) {\n return _handleMultipleEvents(off, elem, type, fn);\n }\n\n // Utility function\n const removeType = function (el, t) {\n data.handlers[t] = [];\n _cleanUpEvents(el, t);\n };\n\n // Are we removing all bound events?\n if (type === undefined) {\n for (const t in data.handlers) {\n if (Object.prototype.hasOwnProperty.call(data.handlers || {}, t)) {\n removeType(elem, t);\n }\n }\n return;\n }\n const handlers = data.handlers[type];\n\n // If no handlers exist, nothing to unbind\n if (!handlers) {\n return;\n }\n\n // If no listener was provided, remove all listeners for type\n if (!fn) {\n removeType(elem, type);\n return;\n }\n\n // We're only removing a single handler\n if (fn.guid) {\n for (let n = 0; n < handlers.length; n++) {\n if (handlers[n].guid === fn.guid) {\n handlers.splice(n--, 1);\n }\n }\n }\n _cleanUpEvents(elem, type);\n}\n\n/**\n * Trigger an event for an element\n *\n * @param {Element|Object} elem\n * Element to trigger an event on\n *\n * @param {EventTarget~Event|string} event\n * A string (the type) or an event object with a type attribute\n *\n * @param {Object} [hash]\n * data hash to pass along with the event\n *\n * @return {boolean|undefined}\n * Returns the opposite of `defaultPrevented` if default was\n * prevented. Otherwise, returns `undefined`\n */\nfunction trigger(elem, event, hash) {\n // Fetches element data and a reference to the parent (for bubbling).\n // Don't want to add a data object to cache for every parent,\n // so checking hasElData first.\n const elemData = DomData.has(elem) ? DomData.get(elem) : {};\n const parent = elem.parentNode || elem.ownerDocument;\n // type = event.type || event,\n // handler;\n\n // If an event name was passed as a string, creates an event out of it\n if (typeof event === 'string') {\n event = {\n type: event,\n target: elem\n };\n } else if (!event.target) {\n event.target = elem;\n }\n\n // Normalizes the event properties.\n event = fixEvent(event);\n\n // If the passed element has a dispatcher, executes the established handlers.\n if (elemData.dispatcher) {\n elemData.dispatcher.call(elem, event, hash);\n }\n\n // Unless explicitly stopped or the event does not bubble (e.g. media events)\n // recursively calls this function to bubble the event up the DOM.\n if (parent && !event.isPropagationStopped() && event.bubbles === true) {\n trigger.call(null, parent, event, hash);\n\n // If at the top of the DOM, triggers the default action unless disabled.\n } else if (!parent && !event.defaultPrevented && event.target && event.target[event.type]) {\n if (!DomData.has(event.target)) {\n DomData.set(event.target, {});\n }\n const targetData = DomData.get(event.target);\n\n // Checks if the target has a default action for this event.\n if (event.target[event.type]) {\n // Temporarily disables event dispatching on the target as we have already executed the handler.\n targetData.disabled = true;\n // Executes the default action.\n if (typeof event.target[event.type] === 'function') {\n event.target[event.type]();\n }\n // Re-enables event dispatching.\n targetData.disabled = false;\n }\n }\n\n // Inform the triggerer if the default was prevented by returning false\n return !event.defaultPrevented;\n}\n\n/**\n * Trigger a listener only once for an event.\n *\n * @param {Element|Object} elem\n * Element or object to bind to.\n *\n * @param {string|string[]} type\n * Name/type of event\n *\n * @param {Event~EventListener} fn\n * Event listener function\n */\nfunction one(elem, type, fn) {\n if (Array.isArray(type)) {\n return _handleMultipleEvents(one, elem, type, fn);\n }\n const func = function () {\n off(elem, type, func);\n fn.apply(this, arguments);\n };\n\n // copy the guid to the new function so it can removed using the original function's ID\n func.guid = fn.guid = fn.guid || newGUID();\n on(elem, type, func);\n}\n\n/**\n * Trigger a listener only once and then turn if off for all\n * configured events\n *\n * @param {Element|Object} elem\n * Element or object to bind to.\n *\n * @param {string|string[]} type\n * Name/type of event\n *\n * @param {Event~EventListener} fn\n * Event listener function\n */\nfunction any(elem, type, fn) {\n const func = function () {\n off(elem, type, func);\n fn.apply(this, arguments);\n };\n\n // copy the guid to the new function so it can removed using the original function's ID\n func.guid = fn.guid = fn.guid || newGUID();\n\n // multiple ons, but one off for everything\n on(elem, type, func);\n}\n\nvar Events = /*#__PURE__*/Object.freeze({\n __proto__: null,\n fixEvent: fixEvent,\n on: on,\n off: off,\n trigger: trigger,\n one: one,\n any: any\n});\n\n/**\n * @file fn.js\n * @module fn\n */\nconst UPDATE_REFRESH_INTERVAL = 30;\n\n/**\n * A private, internal-only function for changing the context of a function.\n *\n * It also stores a unique id on the function so it can be easily removed from\n * events.\n *\n * @private\n * @function\n * @param {*} context\n * The object to bind as scope.\n *\n * @param {Function} fn\n * The function to be bound to a scope.\n *\n * @param {number} [uid]\n * An optional unique ID for the function to be set\n *\n * @return {Function}\n * The new function that will be bound into the context given\n */\nconst bind_ = function (context, fn, uid) {\n // Make sure the function has a unique ID\n if (!fn.guid) {\n fn.guid = newGUID();\n }\n\n // Create the new function that changes the context\n const bound = fn.bind(context);\n\n // Allow for the ability to individualize this function\n // Needed in the case where multiple objects might share the same prototype\n // IF both items add an event listener with the same function, then you try to remove just one\n // it will remove both because they both have the same guid.\n // when using this, you need to use the bind method when you remove the listener as well.\n // currently used in text tracks\n bound.guid = uid ? uid + '_' + fn.guid : fn.guid;\n return bound;\n};\n\n/**\n * Wraps the given function, `fn`, with a new function that only invokes `fn`\n * at most once per every `wait` milliseconds.\n *\n * @function\n * @param {Function} fn\n * The function to be throttled.\n *\n * @param {number} wait\n * The number of milliseconds by which to throttle.\n *\n * @return {Function}\n */\nconst throttle = function (fn, wait) {\n let last = window$1.performance.now();\n const throttled = function (...args) {\n const now = window$1.performance.now();\n if (now - last >= wait) {\n fn(...args);\n last = now;\n }\n };\n return throttled;\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked.\n *\n * Inspired by lodash and underscore implementations.\n *\n * @function\n * @param {Function} func\n * The function to wrap with debounce behavior.\n *\n * @param {number} wait\n * The number of milliseconds to wait after the last invocation.\n *\n * @param {boolean} [immediate]\n * Whether or not to invoke the function immediately upon creation.\n *\n * @param {Object} [context=window]\n * The \"context\" in which the debounced function should debounce. For\n * example, if this function should be tied to a Video.js player,\n * the player can be passed here. Alternatively, defaults to the\n * global `window` object.\n *\n * @return {Function}\n * A debounced function.\n */\nconst debounce$1 = function (func, wait, immediate, context = window$1) {\n let timeout;\n const cancel = () => {\n context.clearTimeout(timeout);\n timeout = null;\n };\n\n /* eslint-disable consistent-this */\n const debounced = function () {\n const self = this;\n const args = arguments;\n let later = function () {\n timeout = null;\n later = null;\n if (!immediate) {\n func.apply(self, args);\n }\n };\n if (!timeout && immediate) {\n func.apply(self, args);\n }\n context.clearTimeout(timeout);\n timeout = context.setTimeout(later, wait);\n };\n /* eslint-enable consistent-this */\n\n debounced.cancel = cancel;\n return debounced;\n};\n\nvar Fn = /*#__PURE__*/Object.freeze({\n __proto__: null,\n UPDATE_REFRESH_INTERVAL: UPDATE_REFRESH_INTERVAL,\n bind_: bind_,\n throttle: throttle,\n debounce: debounce$1\n});\n\n/**\n * @file src/js/event-target.js\n */\nlet EVENT_MAP;\n\n/**\n * `EventTarget` is a class that can have the same API as the DOM `EventTarget`. It\n * adds shorthand functions that wrap around lengthy functions. For example:\n * the `on` function is a wrapper around `addEventListener`.\n *\n * @see [EventTarget Spec]{@link https://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-EventTarget}\n * @class EventTarget\n */\nclass EventTarget$2 {\n /**\n * Adds an `event listener` to an instance of an `EventTarget`. An `event listener` is a\n * function that will get called when an event with a certain name gets triggered.\n *\n * @param {string|string[]} type\n * An event name or an array of event names.\n *\n * @param {Function} fn\n * The function to call with `EventTarget`s\n */\n on(type, fn) {\n // Remove the addEventListener alias before calling Events.on\n // so we don't get into an infinite type loop\n const ael = this.addEventListener;\n this.addEventListener = () => {};\n on(this, type, fn);\n this.addEventListener = ael;\n }\n /**\n * Removes an `event listener` for a specific event from an instance of `EventTarget`.\n * This makes it so that the `event listener` will no longer get called when the\n * named event happens.\n *\n * @param {string|string[]} type\n * An event name or an array of event names.\n *\n * @param {Function} fn\n * The function to remove.\n */\n off(type, fn) {\n off(this, type, fn);\n }\n /**\n * This function will add an `event listener` that gets triggered only once. After the\n * first trigger it will get removed. This is like adding an `event listener`\n * with {@link EventTarget#on} that calls {@link EventTarget#off} on itself.\n *\n * @param {string|string[]} type\n * An event name or an array of event names.\n *\n * @param {Function} fn\n * The function to be called once for each event name.\n */\n one(type, fn) {\n // Remove the addEventListener aliasing Events.on\n // so we don't get into an infinite type loop\n const ael = this.addEventListener;\n this.addEventListener = () => {};\n one(this, type, fn);\n this.addEventListener = ael;\n }\n /**\n * This function will add an `event listener` that gets triggered only once and is\n * removed from all events. This is like adding an array of `event listener`s\n * with {@link EventTarget#on} that calls {@link EventTarget#off} on all events the\n * first time it is triggered.\n *\n * @param {string|string[]} type\n * An event name or an array of event names.\n *\n * @param {Function} fn\n * The function to be called once for each event name.\n */\n any(type, fn) {\n // Remove the addEventListener aliasing Events.on\n // so we don't get into an infinite type loop\n const ael = this.addEventListener;\n this.addEventListener = () => {};\n any(this, type, fn);\n this.addEventListener = ael;\n }\n /**\n * This function causes an event to happen. This will then cause any `event listeners`\n * that are waiting for that event, to get called. If there are no `event listeners`\n * for an event then nothing will happen.\n *\n * If the name of the `Event` that is being triggered is in `EventTarget.allowedEvents_`.\n * Trigger will also call the `on` + `uppercaseEventName` function.\n *\n * Example:\n * 'click' is in `EventTarget.allowedEvents_`, so, trigger will attempt to call\n * `onClick` if it exists.\n *\n * @param {string|EventTarget~Event|Object} event\n * The name of the event, an `Event`, or an object with a key of type set to\n * an event name.\n */\n trigger(event) {\n const type = event.type || event;\n\n // deprecation\n // In a future version we should default target to `this`\n // similar to how we default the target to `elem` in\n // `Events.trigger`. Right now the default `target` will be\n // `document` due to the `Event.fixEvent` call.\n if (typeof event === 'string') {\n event = {\n type\n };\n }\n event = fixEvent(event);\n if (this.allowedEvents_[type] && this['on' + type]) {\n this['on' + type](event);\n }\n trigger(this, event);\n }\n queueTrigger(event) {\n // only set up EVENT_MAP if it'll be used\n if (!EVENT_MAP) {\n EVENT_MAP = new Map();\n }\n const type = event.type || event;\n let map = EVENT_MAP.get(this);\n if (!map) {\n map = new Map();\n EVENT_MAP.set(this, map);\n }\n const oldTimeout = map.get(type);\n map.delete(type);\n window$1.clearTimeout(oldTimeout);\n const timeout = window$1.setTimeout(() => {\n map.delete(type);\n // if we cleared out all timeouts for the current target, delete its map\n if (map.size === 0) {\n map = null;\n EVENT_MAP.delete(this);\n }\n this.trigger(event);\n }, 0);\n map.set(type, timeout);\n }\n}\n\n/**\n * A Custom DOM event.\n *\n * @typedef {CustomEvent} Event\n * @see [Properties]{@link https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent}\n */\n\n/**\n * All event listeners should follow the following format.\n *\n * @callback EventListener\n * @this {EventTarget}\n *\n * @param {Event} event\n * the event that triggered this function\n *\n * @param {Object} [hash]\n * hash of data sent during the event\n */\n\n/**\n * An object containing event names as keys and booleans as values.\n *\n * > NOTE: If an event name is set to a true value here {@link EventTarget#trigger}\n * will have extra functionality. See that function for more information.\n *\n * @property EventTarget.prototype.allowedEvents_\n * @protected\n */\nEventTarget$2.prototype.allowedEvents_ = {};\n\n/**\n * An alias of {@link EventTarget#on}. Allows `EventTarget` to mimic\n * the standard DOM API.\n *\n * @function\n * @see {@link EventTarget#on}\n */\nEventTarget$2.prototype.addEventListener = EventTarget$2.prototype.on;\n\n/**\n * An alias of {@link EventTarget#off}. Allows `EventTarget` to mimic\n * the standard DOM API.\n *\n * @function\n * @see {@link EventTarget#off}\n */\nEventTarget$2.prototype.removeEventListener = EventTarget$2.prototype.off;\n\n/**\n * An alias of {@link EventTarget#trigger}. Allows `EventTarget` to mimic\n * the standard DOM API.\n *\n * @function\n * @see {@link EventTarget#trigger}\n */\nEventTarget$2.prototype.dispatchEvent = EventTarget$2.prototype.trigger;\n\n/**\n * @file mixins/evented.js\n * @module evented\n */\nconst objName = obj => {\n if (typeof obj.name === 'function') {\n return obj.name();\n }\n if (typeof obj.name === 'string') {\n return obj.name;\n }\n if (obj.name_) {\n return obj.name_;\n }\n if (obj.constructor && obj.constructor.name) {\n return obj.constructor.name;\n }\n return typeof obj;\n};\n\n/**\n * Returns whether or not an object has had the evented mixin applied.\n *\n * @param {Object} object\n * An object to test.\n *\n * @return {boolean}\n * Whether or not the object appears to be evented.\n */\nconst isEvented = object => object instanceof EventTarget$2 || !!object.eventBusEl_ && ['on', 'one', 'off', 'trigger'].every(k => typeof object[k] === 'function');\n\n/**\n * Adds a callback to run after the evented mixin applied.\n *\n * @param {Object} target\n * An object to Add\n * @param {Function} callback\n * The callback to run.\n */\nconst addEventedCallback = (target, callback) => {\n if (isEvented(target)) {\n callback();\n } else {\n if (!target.eventedCallbacks) {\n target.eventedCallbacks = [];\n }\n target.eventedCallbacks.push(callback);\n }\n};\n\n/**\n * Whether a value is a valid event type - non-empty string or array.\n *\n * @private\n * @param {string|Array} type\n * The type value to test.\n *\n * @return {boolean}\n * Whether or not the type is a valid event type.\n */\nconst isValidEventType = type =>\n// The regex here verifies that the `type` contains at least one non-\n// whitespace character.\ntypeof type === 'string' && /\\S/.test(type) || Array.isArray(type) && !!type.length;\n\n/**\n * Validates a value to determine if it is a valid event target. Throws if not.\n *\n * @private\n * @throws {Error}\n * If the target does not appear to be a valid event target.\n *\n * @param {Object} target\n * The object to test.\n *\n * @param {Object} obj\n * The evented object we are validating for\n *\n * @param {string} fnName\n * The name of the evented mixin function that called this.\n */\nconst validateTarget = (target, obj, fnName) => {\n if (!target || !target.nodeName && !isEvented(target)) {\n throw new Error(`Invalid target for ${objName(obj)}#${fnName}; must be a DOM node or evented object.`);\n }\n};\n\n/**\n * Validates a value to determine if it is a valid event target. Throws if not.\n *\n * @private\n * @throws {Error}\n * If the type does not appear to be a valid event type.\n *\n * @param {string|Array} type\n * The type to test.\n *\n * @param {Object} obj\n* The evented object we are validating for\n *\n * @param {string} fnName\n * The name of the evented mixin function that called this.\n */\nconst validateEventType = (type, obj, fnName) => {\n if (!isValidEventType(type)) {\n throw new Error(`Invalid event type for ${objName(obj)}#${fnName}; must be a non-empty string or array.`);\n }\n};\n\n/**\n * Validates a value to determine if it is a valid listener. Throws if not.\n *\n * @private\n * @throws {Error}\n * If the listener is not a function.\n *\n * @param {Function} listener\n * The listener to test.\n *\n * @param {Object} obj\n * The evented object we are validating for\n *\n * @param {string} fnName\n * The name of the evented mixin function that called this.\n */\nconst validateListener = (listener, obj, fnName) => {\n if (typeof listener !== 'function') {\n throw new Error(`Invalid listener for ${objName(obj)}#${fnName}; must be a function.`);\n }\n};\n\n/**\n * Takes an array of arguments given to `on()` or `one()`, validates them, and\n * normalizes them into an object.\n *\n * @private\n * @param {Object} self\n * The evented object on which `on()` or `one()` was called. This\n * object will be bound as the `this` value for the listener.\n *\n * @param {Array} args\n * An array of arguments passed to `on()` or `one()`.\n *\n * @param {string} fnName\n * The name of the evented mixin function that called this.\n *\n * @return {Object}\n * An object containing useful values for `on()` or `one()` calls.\n */\nconst normalizeListenArgs = (self, args, fnName) => {\n // If the number of arguments is less than 3, the target is always the\n // evented object itself.\n const isTargetingSelf = args.length < 3 || args[0] === self || args[0] === self.eventBusEl_;\n let target;\n let type;\n let listener;\n if (isTargetingSelf) {\n target = self.eventBusEl_;\n\n // Deal with cases where we got 3 arguments, but we are still listening to\n // the evented object itself.\n if (args.length >= 3) {\n args.shift();\n }\n [type, listener] = args;\n } else {\n // This was `[target, type, listener] = args;` but this block needs more than\n // one statement to produce minified output compatible with Chrome 53.\n // See https://github.com/videojs/video.js/pull/8810\n target = args[0];\n type = args[1];\n listener = args[2];\n }\n validateTarget(target, self, fnName);\n validateEventType(type, self, fnName);\n validateListener(listener, self, fnName);\n listener = bind_(self, listener);\n return {\n isTargetingSelf,\n target,\n type,\n listener\n };\n};\n\n/**\n * Adds the listener to the event type(s) on the target, normalizing for\n * the type of target.\n *\n * @private\n * @param {Element|Object} target\n * A DOM node or evented object.\n *\n * @param {string} method\n * The event binding method to use (\"on\" or \"one\").\n *\n * @param {string|Array} type\n * One or more event type(s).\n *\n * @param {Function} listener\n * A listener function.\n */\nconst listen = (target, method, type, listener) => {\n validateTarget(target, target, method);\n if (target.nodeName) {\n Events[method](target, type, listener);\n } else {\n target[method](type, listener);\n }\n};\n\n/**\n * Contains methods that provide event capabilities to an object which is passed\n * to {@link module:evented|evented}.\n *\n * @mixin EventedMixin\n */\nconst EventedMixin = {\n /**\n * Add a listener to an event (or events) on this object or another evented\n * object.\n *\n * @param {string|Array|Element|Object} targetOrType\n * If this is a string or array, it represents the event type(s)\n * that will trigger the listener.\n *\n * Another evented object can be passed here instead, which will\n * cause the listener to listen for events on _that_ object.\n *\n * In either case, the listener's `this` value will be bound to\n * this object.\n *\n * @param {string|Array|Function} typeOrListener\n * If the first argument was a string or array, this should be the\n * listener function. Otherwise, this is a string or array of event\n * type(s).\n *\n * @param {Function} [listener]\n * If the first argument was another evented object, this will be\n * the listener function.\n */\n on(...args) {\n const {\n isTargetingSelf,\n target,\n type,\n listener\n } = normalizeListenArgs(this, args, 'on');\n listen(target, 'on', type, listener);\n\n // If this object is listening to another evented object.\n if (!isTargetingSelf) {\n // If this object is disposed, remove the listener.\n const removeListenerOnDispose = () => this.off(target, type, listener);\n\n // Use the same function ID as the listener so we can remove it later it\n // using the ID of the original listener.\n removeListenerOnDispose.guid = listener.guid;\n\n // Add a listener to the target's dispose event as well. This ensures\n // that if the target is disposed BEFORE this object, we remove the\n // removal listener that was just added. Otherwise, we create a memory leak.\n const removeRemoverOnTargetDispose = () => this.off('dispose', removeListenerOnDispose);\n\n // Use the same function ID as the listener so we can remove it later\n // it using the ID of the original listener.\n removeRemoverOnTargetDispose.guid = listener.guid;\n listen(this, 'on', 'dispose', removeListenerOnDispose);\n listen(target, 'on', 'dispose', removeRemoverOnTargetDispose);\n }\n },\n /**\n * Add a listener to an event (or events) on this object or another evented\n * object. The listener will be called once per event and then removed.\n *\n * @param {string|Array|Element|Object} targetOrType\n * If this is a string or array, it represents the event type(s)\n * that will trigger the listener.\n *\n * Another evented object can be passed here instead, which will\n * cause the listener to listen for events on _that_ object.\n *\n * In either case, the listener's `this` value will be bound to\n * this object.\n *\n * @param {string|Array|Function} typeOrListener\n * If the first argument was a string or array, this should be the\n * listener function. Otherwise, this is a string or array of event\n * type(s).\n *\n * @param {Function} [listener]\n * If the first argument was another evented object, this will be\n * the listener function.\n */\n one(...args) {\n const {\n isTargetingSelf,\n target,\n type,\n listener\n } = normalizeListenArgs(this, args, 'one');\n\n // Targeting this evented object.\n if (isTargetingSelf) {\n listen(target, 'one', type, listener);\n\n // Targeting another evented object.\n } else {\n // TODO: This wrapper is incorrect! It should only\n // remove the wrapper for the event type that called it.\n // Instead all listeners are removed on the first trigger!\n // see https://github.com/videojs/video.js/issues/5962\n const wrapper = (...largs) => {\n this.off(target, type, wrapper);\n listener.apply(null, largs);\n };\n\n // Use the same function ID as the listener so we can remove it later\n // it using the ID of the original listener.\n wrapper.guid = listener.guid;\n listen(target, 'one', type, wrapper);\n }\n },\n /**\n * Add a listener to an event (or events) on this object or another evented\n * object. The listener will only be called once for the first event that is triggered\n * then removed.\n *\n * @param {string|Array|Element|Object} targetOrType\n * If this is a string or array, it represents the event type(s)\n * that will trigger the listener.\n *\n * Another evented object can be passed here instead, which will\n * cause the listener to listen for events on _that_ object.\n *\n * In either case, the listener's `this` value will be bound to\n * this object.\n *\n * @param {string|Array|Function} typeOrListener\n * If the first argument was a string or array, this should be the\n * listener function. Otherwise, this is a string or array of event\n * type(s).\n *\n * @param {Function} [listener]\n * If the first argument was another evented object, this will be\n * the listener function.\n */\n any(...args) {\n const {\n isTargetingSelf,\n target,\n type,\n listener\n } = normalizeListenArgs(this, args, 'any');\n\n // Targeting this evented object.\n if (isTargetingSelf) {\n listen(target, 'any', type, listener);\n\n // Targeting another evented object.\n } else {\n const wrapper = (...largs) => {\n this.off(target, type, wrapper);\n listener.apply(null, largs);\n };\n\n // Use the same function ID as the listener so we can remove it later\n // it using the ID of the original listener.\n wrapper.guid = listener.guid;\n listen(target, 'any', type, wrapper);\n }\n },\n /**\n * Removes listener(s) from event(s) on an evented object.\n *\n * @param {string|Array|Element|Object} [targetOrType]\n * If this is a string or array, it represents the event type(s).\n *\n * Another evented object can be passed here instead, in which case\n * ALL 3 arguments are _required_.\n *\n * @param {string|Array|Function} [typeOrListener]\n * If the first argument was a string or array, this may be the\n * listener function. Otherwise, this is a string or array of event\n * type(s).\n *\n * @param {Function} [listener]\n * If the first argument was another evented object, this will be\n * the listener function; otherwise, _all_ listeners bound to the\n * event type(s) will be removed.\n */\n off(targetOrType, typeOrListener, listener) {\n // Targeting this evented object.\n if (!targetOrType || isValidEventType(targetOrType)) {\n off(this.eventBusEl_, targetOrType, typeOrListener);\n\n // Targeting another evented object.\n } else {\n const target = targetOrType;\n const type = typeOrListener;\n\n // Fail fast and in a meaningful way!\n validateTarget(target, this, 'off');\n validateEventType(type, this, 'off');\n validateListener(listener, this, 'off');\n\n // Ensure there's at least a guid, even if the function hasn't been used\n listener = bind_(this, listener);\n\n // Remove the dispose listener on this evented object, which was given\n // the same guid as the event listener in on().\n this.off('dispose', listener);\n if (target.nodeName) {\n off(target, type, listener);\n off(target, 'dispose', listener);\n } else if (isEvented(target)) {\n target.off(type, listener);\n target.off('dispose', listener);\n }\n }\n },\n /**\n * Fire an event on this evented object, causing its listeners to be called.\n *\n * @param {string|Object} event\n * An event type or an object with a type property.\n *\n * @param {Object} [hash]\n * An additional object to pass along to listeners.\n *\n * @return {boolean}\n * Whether or not the default behavior was prevented.\n */\n trigger(event, hash) {\n validateTarget(this.eventBusEl_, this, 'trigger');\n const type = event && typeof event !== 'string' ? event.type : event;\n if (!isValidEventType(type)) {\n throw new Error(`Invalid event type for ${objName(this)}#trigger; ` + 'must be a non-empty string or object with a type key that has a non-empty value.');\n }\n return trigger(this.eventBusEl_, event, hash);\n }\n};\n\n/**\n * Applies {@link module:evented~EventedMixin|EventedMixin} to a target object.\n *\n * @param {Object} target\n * The object to which to add event methods.\n *\n * @param {Object} [options={}]\n * Options for customizing the mixin behavior.\n *\n * @param {string} [options.eventBusKey]\n * By default, adds a `eventBusEl_` DOM element to the target object,\n * which is used as an event bus. If the target object already has a\n * DOM element that should be used, pass its key here.\n *\n * @return {Object}\n * The target object.\n */\nfunction evented(target, options = {}) {\n const {\n eventBusKey\n } = options;\n\n // Set or create the eventBusEl_.\n if (eventBusKey) {\n if (!target[eventBusKey].nodeName) {\n throw new Error(`The eventBusKey \"${eventBusKey}\" does not refer to an element.`);\n }\n target.eventBusEl_ = target[eventBusKey];\n } else {\n target.eventBusEl_ = createEl('span', {\n className: 'vjs-event-bus'\n });\n }\n Object.assign(target, EventedMixin);\n if (target.eventedCallbacks) {\n target.eventedCallbacks.forEach(callback => {\n callback();\n });\n }\n\n // When any evented object is disposed, it removes all its listeners.\n target.on('dispose', () => {\n target.off();\n [target, target.el_, target.eventBusEl_].forEach(function (val) {\n if (val && DomData.has(val)) {\n DomData.delete(val);\n }\n });\n window$1.setTimeout(() => {\n target.eventBusEl_ = null;\n }, 0);\n });\n return target;\n}\n\n/**\n * @file mixins/stateful.js\n * @module stateful\n */\n\n/**\n * Contains methods that provide statefulness to an object which is passed\n * to {@link module:stateful}.\n *\n * @mixin StatefulMixin\n */\nconst StatefulMixin = {\n /**\n * A hash containing arbitrary keys and values representing the state of\n * the object.\n *\n * @type {Object}\n */\n state: {},\n /**\n * Set the state of an object by mutating its\n * {@link module:stateful~StatefulMixin.state|state} object in place.\n *\n * @fires module:stateful~StatefulMixin#statechanged\n * @param {Object|Function} stateUpdates\n * A new set of properties to shallow-merge into the plugin state.\n * Can be a plain object or a function returning a plain object.\n *\n * @return {Object|undefined}\n * An object containing changes that occurred. If no changes\n * occurred, returns `undefined`.\n */\n setState(stateUpdates) {\n // Support providing the `stateUpdates` state as a function.\n if (typeof stateUpdates === 'function') {\n stateUpdates = stateUpdates();\n }\n let changes;\n each(stateUpdates, (value, key) => {\n // Record the change if the value is different from what's in the\n // current state.\n if (this.state[key] !== value) {\n changes = changes || {};\n changes[key] = {\n from: this.state[key],\n to: value\n };\n }\n this.state[key] = value;\n });\n\n // Only trigger \"statechange\" if there were changes AND we have a trigger\n // function. This allows us to not require that the target object be an\n // evented object.\n if (changes && isEvented(this)) {\n /**\n * An event triggered on an object that is both\n * {@link module:stateful|stateful} and {@link module:evented|evented}\n * indicating that its state has changed.\n *\n * @event module:stateful~StatefulMixin#statechanged\n * @type {Object}\n * @property {Object} changes\n * A hash containing the properties that were changed and\n * the values they were changed `from` and `to`.\n */\n this.trigger({\n changes,\n type: 'statechanged'\n });\n }\n return changes;\n }\n};\n\n/**\n * Applies {@link module:stateful~StatefulMixin|StatefulMixin} to a target\n * object.\n *\n * If the target object is {@link module:evented|evented} and has a\n * `handleStateChanged` method, that method will be automatically bound to the\n * `statechanged` event on itself.\n *\n * @param {Object} target\n * The object to be made stateful.\n *\n * @param {Object} [defaultState]\n * A default set of properties to populate the newly-stateful object's\n * `state` property.\n *\n * @return {Object}\n * Returns the `target`.\n */\nfunction stateful(target, defaultState) {\n Object.assign(target, StatefulMixin);\n\n // This happens after the mixing-in because we need to replace the `state`\n // added in that step.\n target.state = Object.assign({}, target.state, defaultState);\n\n // Auto-bind the `handleStateChanged` method of the target object if it exists.\n if (typeof target.handleStateChanged === 'function' && isEvented(target)) {\n target.on('statechanged', target.handleStateChanged);\n }\n return target;\n}\n\n/**\n * @file str.js\n * @module to-lower-case\n */\n\n/**\n * Lowercase the first letter of a string.\n *\n * @param {string} string\n * String to be lowercased\n *\n * @return {string}\n * The string with a lowercased first letter\n */\nconst toLowerCase = function (string) {\n if (typeof string !== 'string') {\n return string;\n }\n return string.replace(/./, w => w.toLowerCase());\n};\n\n/**\n * Uppercase the first letter of a string.\n *\n * @param {string} string\n * String to be uppercased\n *\n * @return {string}\n * The string with an uppercased first letter\n */\nconst toTitleCase$1 = function (string) {\n if (typeof string !== 'string') {\n return string;\n }\n return string.replace(/./, w => w.toUpperCase());\n};\n\n/**\n * Compares the TitleCase versions of the two strings for equality.\n *\n * @param {string} str1\n * The first string to compare\n *\n * @param {string} str2\n * The second string to compare\n *\n * @return {boolean}\n * Whether the TitleCase versions of the strings are equal\n */\nconst titleCaseEquals = function (str1, str2) {\n return toTitleCase$1(str1) === toTitleCase$1(str2);\n};\n\nvar Str = /*#__PURE__*/Object.freeze({\n __proto__: null,\n toLowerCase: toLowerCase,\n toTitleCase: toTitleCase$1,\n titleCaseEquals: titleCaseEquals\n});\n\n/**\n * Player Component - Base class for all UI objects\n *\n * @file component.js\n */\n\n/** @import Player from './player' */\n\n/**\n * A callback to be called if and when the component is ready.\n * `this` will be the Component instance.\n *\n * @callback ReadyCallback\n * @returns {void}\n */\n\n/**\n * Base class for all UI Components.\n * Components are UI objects which represent both a javascript object and an element\n * in the DOM. They can be children of other components, and can have\n * children themselves.\n *\n * Components can also use methods from {@link EventTarget}\n */\nclass Component$1 {\n /**\n * Creates an instance of this class.\n *\n * @param {Player} player\n * The `Player` that this class should be attached to.\n *\n * @param {Object} [options]\n * The key/value store of component options.\n *\n * @param {Object[]} [options.children]\n * An array of children objects to initialize this component with. Children objects have\n * a name property that will be used if more than one component of the same type needs to be\n * added.\n *\n * @param {string} [options.className]\n * A class or space separated list of classes to add the component\n *\n * @param {ReadyCallback} [ready]\n * Function that gets called when the `Component` is ready.\n */\n constructor(player, options, ready) {\n // The component might be the player itself and we can't pass `this` to super\n if (!player && this.play) {\n this.player_ = player = this; // eslint-disable-line\n } else {\n this.player_ = player;\n }\n this.isDisposed_ = false;\n\n // Hold the reference to the parent component via `addChild` method\n this.parentComponent_ = null;\n\n // Make a copy of prototype.options_ to protect against overriding defaults\n this.options_ = merge$1({}, this.options_);\n\n // Updated options with supplied options\n options = this.options_ = merge$1(this.options_, options);\n\n // Get ID from options or options element if one is supplied\n this.id_ = options.id || options.el && options.el.id;\n\n // If there was no ID from the options, generate one\n if (!this.id_) {\n // Don't require the player ID function in the case of mock players\n const id = player && player.id && player.id() || 'no_player';\n this.id_ = `${id}_component_${newGUID()}`;\n }\n this.name_ = options.name || null;\n\n // Create element if one wasn't provided in options\n if (options.el) {\n this.el_ = options.el;\n } else if (options.createEl !== false) {\n this.el_ = this.createEl();\n }\n if (options.className && this.el_) {\n options.className.split(' ').forEach(c => this.addClass(c));\n }\n\n // Remove the placeholder event methods. If the component is evented, the\n // real methods are added next\n ['on', 'off', 'one', 'any', 'trigger'].forEach(fn => {\n this[fn] = undefined;\n });\n\n // if evented is anything except false, we want to mixin in evented\n if (options.evented !== false) {\n // Make this an evented object and use `el_`, if available, as its event bus\n evented(this, {\n eventBusKey: this.el_ ? 'el_' : null\n });\n this.handleLanguagechange = this.handleLanguagechange.bind(this);\n this.on(this.player_, 'languagechange', this.handleLanguagechange);\n }\n stateful(this, this.constructor.defaultState);\n this.children_ = [];\n this.childIndex_ = {};\n this.childNameIndex_ = {};\n this.setTimeoutIds_ = new Set();\n this.setIntervalIds_ = new Set();\n this.rafIds_ = new Set();\n this.namedRafs_ = new Map();\n this.clearingTimersOnDispose_ = false;\n\n // Add any child components in options\n if (options.initChildren !== false) {\n this.initChildren();\n }\n\n // Don't want to trigger ready here or it will go before init is actually\n // finished for all children that run this constructor\n this.ready(ready);\n if (options.reportTouchActivity !== false) {\n this.enableTouchActivity();\n }\n }\n\n // `on`, `off`, `one`, `any` and `trigger` are here so tsc includes them in definitions.\n // They are replaced or removed in the constructor\n\n /**\n * Adds an `event listener` to an instance of an `EventTarget`. An `event listener` is a\n * function that will get called when an event with a certain name gets triggered.\n *\n * @param {string|string[]} type\n * An event name or an array of event names.\n *\n * @param {Function} fn\n * The function to call with `EventTarget`s\n */\n\n /**\n * Removes an `event listener` for a specific event from an instance of `EventTarget`.\n * This makes it so that the `event listener` will no longer get called when the\n * named event happens.\n *\n * @param {string|string[]} type\n * An event name or an array of event names.\n *\n * @param {Function} [fn]\n * The function to remove. If not specified, all listeners managed by Video.js will be removed.\n */\n\n /**\n * This function will add an `event listener` that gets triggered only once. After the\n * first trigger it will get removed. This is like adding an `event listener`\n * with {@link EventTarget#on} that calls {@link EventTarget#off} on itself.\n *\n * @param {string|string[]} type\n * An event name or an array of event names.\n *\n * @param {Function} fn\n * The function to be called once for each event name.\n */\n\n /**\n * This function will add an `event listener` that gets triggered only once and is\n * removed from all events. This is like adding an array of `event listener`s\n * with {@link EventTarget#on} that calls {@link EventTarget#off} on all events the\n * first time it is triggered.\n *\n * @param {string|string[]} type\n * An event name or an array of event names.\n *\n * @param {Function} fn\n * The function to be called once for each event name.\n */\n\n /**\n * This function causes an event to happen. This will then cause any `event listeners`\n * that are waiting for that event, to get called. If there are no `event listeners`\n * for an event then nothing will happen.\n *\n * If the name of the `Event` that is being triggered is in `EventTarget.allowedEvents_`.\n * Trigger will also call the `on` + `uppercaseEventName` function.\n *\n * Example:\n * 'click' is in `EventTarget.allowedEvents_`, so, trigger will attempt to call\n * `onClick` if it exists.\n *\n * @param {string|Event|Object} event\n * The name of the event, an `Event`, or an object with a key of type set to\n * an event name.\n *\n * @param {Object} [hash]\n * Optionally extra argument to pass through to an event listener\n */\n\n /**\n * Dispose of the `Component` and all child components.\n *\n * @fires Component#dispose\n *\n * @param {Object} options\n * @param {Element} options.originalEl element with which to replace player element\n */\n dispose(options = {}) {\n // Bail out if the component has already been disposed.\n if (this.isDisposed_) {\n return;\n }\n if (this.readyQueue_) {\n this.readyQueue_.length = 0;\n }\n\n /**\n * Triggered when a `Component` is disposed.\n *\n * @event Component#dispose\n * @type {Event}\n *\n * @property {boolean} [bubbles=false]\n * set to false so that the dispose event does not\n * bubble up\n */\n this.trigger({\n type: 'dispose',\n bubbles: false\n });\n this.isDisposed_ = true;\n\n // Dispose all children.\n if (this.children_) {\n for (let i = this.children_.length - 1; i >= 0; i--) {\n if (this.children_[i].dispose) {\n this.children_[i].dispose();\n }\n }\n }\n\n // Delete child references\n this.children_ = null;\n this.childIndex_ = null;\n this.childNameIndex_ = null;\n this.parentComponent_ = null;\n if (this.el_) {\n // Remove element from DOM\n if (this.el_.parentNode) {\n if (options.restoreEl) {\n this.el_.parentNode.replaceChild(options.restoreEl, this.el_);\n } else {\n this.el_.parentNode.removeChild(this.el_);\n }\n }\n this.el_ = null;\n }\n\n // remove reference to the player after disposing of the element\n this.player_ = null;\n }\n\n /**\n * Determine whether or not this component has been disposed.\n *\n * @return {boolean}\n * If the component has been disposed, will be `true`. Otherwise, `false`.\n */\n isDisposed() {\n return Boolean(this.isDisposed_);\n }\n\n /**\n * Return the {@link Player} that the `Component` has attached to.\n *\n * @return {Player}\n * The player that this `Component` has attached to.\n */\n player() {\n return this.player_;\n }\n\n /**\n * Deep merge of options objects with new options.\n * > Note: When both `obj` and `options` contain properties whose values are objects.\n * The two properties get merged using {@link module:obj.merge}\n *\n * @param {Object} obj\n * The object that contains new options.\n *\n * @return {Object}\n * A new object of `this.options_` and `obj` merged together.\n */\n options(obj) {\n if (!obj) {\n return this.options_;\n }\n this.options_ = merge$1(this.options_, obj);\n return this.options_;\n }\n\n /**\n * Get the `Component`s DOM element\n *\n * @return {Element}\n * The DOM element for this `Component`.\n */\n el() {\n return this.el_;\n }\n\n /**\n * Create the `Component`s DOM element.\n *\n * @param {string} [tagName]\n * Element's DOM node type. e.g. 'div'\n *\n * @param {Object} [properties]\n * An object of properties that should be set.\n *\n * @param {Object} [attributes]\n * An object of attributes that should be set.\n *\n * @return {Element}\n * The element that gets created.\n */\n createEl(tagName, properties, attributes) {\n return createEl(tagName, properties, attributes);\n }\n\n /**\n * Localize a string given the string in english.\n *\n * If tokens are provided, it'll try and run a simple token replacement on the provided string.\n * The tokens it looks for look like `{1}` with the index being 1-indexed into the tokens array.\n *\n * If a `defaultValue` is provided, it'll use that over `string`,\n * if a value isn't found in provided language files.\n * This is useful if you want to have a descriptive key for token replacement\n * but have a succinct localized string and not require `en.json` to be included.\n *\n * Currently, it is used for the progress bar timing.\n * ```js\n * {\n * \"progress bar timing: currentTime={1} duration={2}\": \"{1} of {2}\"\n * }\n * ```\n * It is then used like so:\n * ```js\n * this.localize('progress bar timing: currentTime={1} duration{2}',\n * [this.player_.currentTime(), this.player_.duration()],\n * '{1} of {2}');\n * ```\n *\n * Which outputs something like: `01:23 of 24:56`.\n *\n *\n * @param {string} string\n * The string to localize and the key to lookup in the language files.\n * @param {string[]} [tokens]\n * If the current item has token replacements, provide the tokens here.\n * @param {string} [defaultValue]\n * Defaults to `string`. Can be a default value to use for token replacement\n * if the lookup key is needed to be separate.\n *\n * @return {string}\n * The localized string or if no localization exists the english string.\n */\n localize(string, tokens, defaultValue = string) {\n const code = this.player_.language && this.player_.language();\n const languages = this.player_.languages && this.player_.languages();\n const language = languages && languages[code];\n const primaryCode = code && code.split('-')[0];\n const primaryLang = languages && languages[primaryCode];\n let localizedString = defaultValue;\n if (language && language[string]) {\n localizedString = language[string];\n } else if (primaryLang && primaryLang[string]) {\n localizedString = primaryLang[string];\n }\n if (tokens) {\n localizedString = localizedString.replace(/\\{(\\d+)\\}/g, function (match, index) {\n const value = tokens[index - 1];\n let ret = value;\n if (typeof value === 'undefined') {\n ret = match;\n }\n return ret;\n });\n }\n return localizedString;\n }\n\n /**\n * Handles language change for the player in components. Should be overridden by sub-components.\n *\n * @abstract\n */\n handleLanguagechange() {}\n\n /**\n * Return the `Component`s DOM element. This is where children get inserted.\n * This will usually be the the same as the element returned in {@link Component#el}.\n *\n * @return {Element}\n * The content element for this `Component`.\n */\n contentEl() {\n return this.contentEl_ || this.el_;\n }\n\n /**\n * Get this `Component`s ID\n *\n * @return {string}\n * The id of this `Component`\n */\n id() {\n return this.id_;\n }\n\n /**\n * Get the `Component`s name. The name gets used to reference the `Component`\n * and is set during registration.\n *\n * @return {string}\n * The name of this `Component`.\n */\n name() {\n return this.name_;\n }\n\n /**\n * Get an array of all child components\n *\n * @return {Array}\n * The children\n */\n children() {\n return this.children_;\n }\n\n /**\n * Returns the child `Component` with the given `id`.\n *\n * @param {string} id\n * The id of the child `Component` to get.\n *\n * @return {Component|undefined}\n * The child `Component` with the given `id` or undefined.\n */\n getChildById(id) {\n return this.childIndex_[id];\n }\n\n /**\n * Returns the child `Component` with the given `name`.\n *\n * @param {string} name\n * The name of the child `Component` to get.\n *\n * @return {Component|undefined}\n * The child `Component` with the given `name` or undefined.\n */\n getChild(name) {\n if (!name) {\n return;\n }\n return this.childNameIndex_[name];\n }\n\n /**\n * Returns the descendant `Component` following the givent\n * descendant `names`. For instance ['foo', 'bar', 'baz'] would\n * try to get 'foo' on the current component, 'bar' on the 'foo'\n * component and 'baz' on the 'bar' component and return undefined\n * if any of those don't exist.\n *\n * @param {...string[]|...string} names\n * The name of the child `Component` to get.\n *\n * @return {Component|undefined}\n * The descendant `Component` following the given descendant\n * `names` or undefined.\n */\n getDescendant(...names) {\n // flatten array argument into the main array\n names = names.reduce((acc, n) => acc.concat(n), []);\n let currentChild = this;\n for (let i = 0; i < names.length; i++) {\n currentChild = currentChild.getChild(names[i]);\n if (!currentChild || !currentChild.getChild) {\n return;\n }\n }\n return currentChild;\n }\n\n /**\n * Adds an SVG icon element to another element or component.\n *\n * @param {string} iconName\n * The name of icon. A list of all the icon names can be found at 'sandbox/svg-icons.html'\n *\n * @param {Element} [el=this.el()]\n * Element to set the title on. Defaults to the current Component's element.\n *\n * @return {Element}\n * The newly created icon element.\n */\n setIcon(iconName, el = this.el()) {\n // TODO: In v9 of video.js, we will want to remove font icons entirely.\n // This means this check, as well as the others throughout the code, and\n // the unecessary CSS for font icons, will need to be removed.\n // See https://github.com/videojs/video.js/pull/8260 as to which components\n // need updating.\n if (!this.player_.options_.experimentalSvgIcons) {\n return;\n }\n const xmlnsURL = 'http://www.w3.org/2000/svg';\n\n // The below creates an element in the format of:\n // ....\n const iconContainer = createEl('span', {\n className: 'vjs-icon-placeholder vjs-svg-icon'\n }, {\n 'aria-hidden': 'true'\n });\n const svgEl = document$1.createElementNS(xmlnsURL, 'svg');\n svgEl.setAttributeNS(null, 'viewBox', '0 0 512 512');\n const useEl = document$1.createElementNS(xmlnsURL, 'use');\n svgEl.appendChild(useEl);\n useEl.setAttributeNS(null, 'href', `#vjs-icon-${iconName}`);\n iconContainer.appendChild(svgEl);\n\n // Replace a pre-existing icon if one exists.\n if (this.iconIsSet_) {\n el.replaceChild(iconContainer, el.querySelector('.vjs-icon-placeholder'));\n } else {\n el.appendChild(iconContainer);\n }\n this.iconIsSet_ = true;\n return iconContainer;\n }\n\n /**\n * Add a child `Component` inside the current `Component`.\n *\n * @param {string|Component} child\n * The name or instance of a child to add.\n *\n * @param {Object} [options={}]\n * The key/value store of options that will get passed to children of\n * the child.\n *\n * @param {number} [index=this.children_.length]\n * The index to attempt to add a child into.\n *\n *\n * @return {Component}\n * The `Component` that gets added as a child. When using a string the\n * `Component` will get created by this process.\n */\n addChild(child, options = {}, index = this.children_.length) {\n let component;\n let componentName;\n\n // If child is a string, create component with options\n if (typeof child === 'string') {\n componentName = toTitleCase$1(child);\n const componentClassName = options.componentClass || componentName;\n\n // Set name through options\n options.name = componentName;\n\n // Create a new object & element for this controls set\n // If there's no .player_, this is a player\n const ComponentClass = Component$1.getComponent(componentClassName);\n if (!ComponentClass) {\n throw new Error(`Component ${componentClassName} does not exist`);\n }\n\n // data stored directly on the videojs object may be\n // misidentified as a component to retain\n // backwards-compatibility with 4.x. check to make sure the\n // component class can be instantiated.\n if (typeof ComponentClass !== 'function') {\n return null;\n }\n component = new ComponentClass(this.player_ || this, options);\n\n // child is a component instance\n } else {\n component = child;\n }\n if (component.parentComponent_) {\n component.parentComponent_.removeChild(component);\n }\n this.children_.splice(index, 0, component);\n component.parentComponent_ = this;\n if (typeof component.id === 'function') {\n this.childIndex_[component.id()] = component;\n }\n\n // If a name wasn't used to create the component, check if we can use the\n // name function of the component\n componentName = componentName || component.name && toTitleCase$1(component.name());\n if (componentName) {\n this.childNameIndex_[componentName] = component;\n this.childNameIndex_[toLowerCase(componentName)] = component;\n }\n\n // Add the UI object's element to the container div (box)\n // Having an element is not required\n if (typeof component.el === 'function' && component.el()) {\n // If inserting before a component, insert before that component's element\n let refNode = null;\n if (this.children_[index + 1]) {\n // Most children are components, but the video tech is an HTML element\n if (this.children_[index + 1].el_) {\n refNode = this.children_[index + 1].el_;\n } else if (isEl(this.children_[index + 1])) {\n refNode = this.children_[index + 1];\n }\n }\n this.contentEl().insertBefore(component.el(), refNode);\n }\n\n // Return so it can stored on parent object if desired.\n return component;\n }\n\n /**\n * Remove a child `Component` from this `Component`s list of children. Also removes\n * the child `Component`s element from this `Component`s element.\n *\n * @param {Component} component\n * The child `Component` to remove.\n */\n removeChild(component) {\n if (typeof component === 'string') {\n component = this.getChild(component);\n }\n if (!component || !this.children_) {\n return;\n }\n let childFound = false;\n for (let i = this.children_.length - 1; i >= 0; i--) {\n if (this.children_[i] === component) {\n childFound = true;\n this.children_.splice(i, 1);\n break;\n }\n }\n if (!childFound) {\n return;\n }\n component.parentComponent_ = null;\n this.childIndex_[component.id()] = null;\n this.childNameIndex_[toTitleCase$1(component.name())] = null;\n this.childNameIndex_[toLowerCase(component.name())] = null;\n const compEl = component.el();\n if (compEl && compEl.parentNode === this.contentEl()) {\n this.contentEl().removeChild(component.el());\n }\n }\n\n /**\n * Add and initialize default child `Component`s based upon options.\n */\n initChildren() {\n const children = this.options_.children;\n if (children) {\n // `this` is `parent`\n const parentOptions = this.options_;\n const handleAdd = child => {\n const name = child.name;\n let opts = child.opts;\n\n // Allow options for children to be set at the parent options\n // e.g. videojs(id, { controlBar: false });\n // instead of videojs(id, { children: { controlBar: false });\n if (parentOptions[name] !== undefined) {\n opts = parentOptions[name];\n }\n\n // Allow for disabling default components\n // e.g. options['children']['posterImage'] = false\n if (opts === false) {\n return;\n }\n\n // Allow options to be passed as a simple boolean if no configuration\n // is necessary.\n if (opts === true) {\n opts = {};\n }\n\n // We also want to pass the original player options\n // to each component as well so they don't need to\n // reach back into the player for options later.\n opts.playerOptions = this.options_.playerOptions;\n\n // Create and add the child component.\n // Add a direct reference to the child by name on the parent instance.\n // If two of the same component are used, different names should be supplied\n // for each\n const newChild = this.addChild(name, opts);\n if (newChild) {\n this[name] = newChild;\n }\n };\n\n // Allow for an array of children details to passed in the options\n let workingChildren;\n const Tech = Component$1.getComponent('Tech');\n if (Array.isArray(children)) {\n workingChildren = children;\n } else {\n workingChildren = Object.keys(children);\n }\n workingChildren\n // children that are in this.options_ but also in workingChildren would\n // give us extra children we do not want. So, we want to filter them out.\n .concat(Object.keys(this.options_).filter(function (child) {\n return !workingChildren.some(function (wchild) {\n if (typeof wchild === 'string') {\n return child === wchild;\n }\n return child === wchild.name;\n });\n })).map(child => {\n let name;\n let opts;\n if (typeof child === 'string') {\n name = child;\n opts = children[name] || this.options_[name] || {};\n } else {\n name = child.name;\n opts = child;\n }\n return {\n name,\n opts\n };\n }).filter(child => {\n // we have to make sure that child.name isn't in the techOrder since\n // techs are registered as Components but can't aren't compatible\n // See https://github.com/videojs/video.js/issues/2772\n const c = Component$1.getComponent(child.opts.componentClass || toTitleCase$1(child.name));\n return c && !Tech.isTech(c);\n }).forEach(handleAdd);\n }\n }\n\n /**\n * Builds the default DOM class name. Should be overridden by sub-components.\n *\n * @return {string}\n * The DOM class name for this object.\n *\n * @abstract\n */\n buildCSSClass() {\n // Child classes can include a function that does:\n // return 'CLASS NAME' + this._super();\n return '';\n }\n\n /**\n * Bind a listener to the component's ready state.\n * Different from event listeners in that if the ready event has already happened\n * it will trigger the function immediately.\n *\n * @param {ReadyCallback} fn\n * Function that gets called when the `Component` is ready.\n */\n ready(fn, sync = false) {\n if (!fn) {\n return;\n }\n if (!this.isReady_) {\n this.readyQueue_ = this.readyQueue_ || [];\n this.readyQueue_.push(fn);\n return;\n }\n if (sync) {\n fn.call(this);\n } else {\n // Call the function asynchronously by default for consistency\n this.setTimeout(fn, 1);\n }\n }\n\n /**\n * Trigger all the ready listeners for this `Component`.\n *\n * @fires Component#ready\n */\n triggerReady() {\n this.isReady_ = true;\n\n // Ensure ready is triggered asynchronously\n this.setTimeout(function () {\n const readyQueue = this.readyQueue_;\n\n // Reset Ready Queue\n this.readyQueue_ = [];\n if (readyQueue && readyQueue.length > 0) {\n readyQueue.forEach(function (fn) {\n fn.call(this);\n }, this);\n }\n\n // Allow for using event listeners also\n /**\n * Triggered when a `Component` is ready.\n *\n * @event Component#ready\n * @type {Event}\n */\n this.trigger('ready');\n }, 1);\n }\n\n /**\n * Find a single DOM element matching a `selector`. This can be within the `Component`s\n * `contentEl()` or another custom context.\n *\n * @param {string} selector\n * A valid CSS selector, which will be passed to `querySelector`.\n *\n * @param {Element|string} [context=this.contentEl()]\n * A DOM element within which to query. Can also be a selector string in\n * which case the first matching element will get used as context. If\n * missing `this.contentEl()` gets used. If `this.contentEl()` returns\n * nothing it falls back to `document`.\n *\n * @return {Element|null}\n * the dom element that was found, or null\n *\n * @see [Information on CSS Selectors](https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Getting_Started/Selectors)\n */\n $(selector, context) {\n return $(selector, context || this.contentEl());\n }\n\n /**\n * Finds all DOM element matching a `selector`. This can be within the `Component`s\n * `contentEl()` or another custom context.\n *\n * @param {string} selector\n * A valid CSS selector, which will be passed to `querySelectorAll`.\n *\n * @param {Element|string} [context=this.contentEl()]\n * A DOM element within which to query. Can also be a selector string in\n * which case the first matching element will get used as context. If\n * missing `this.contentEl()` gets used. If `this.contentEl()` returns\n * nothing it falls back to `document`.\n *\n * @return {NodeList}\n * a list of dom elements that were found\n *\n * @see [Information on CSS Selectors](https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Getting_Started/Selectors)\n */\n $$(selector, context) {\n return $$(selector, context || this.contentEl());\n }\n\n /**\n * Check if a component's element has a CSS class name.\n *\n * @param {string} classToCheck\n * CSS class name to check.\n *\n * @return {boolean}\n * - True if the `Component` has the class.\n * - False if the `Component` does not have the class`\n */\n hasClass(classToCheck) {\n return hasClass(this.el_, classToCheck);\n }\n\n /**\n * Add a CSS class name to the `Component`s element.\n *\n * @param {...string} classesToAdd\n * One or more CSS class name to add.\n */\n addClass(...classesToAdd) {\n addClass(this.el_, ...classesToAdd);\n }\n\n /**\n * Remove a CSS class name from the `Component`s element.\n *\n * @param {...string} classesToRemove\n * One or more CSS class name to remove.\n */\n removeClass(...classesToRemove) {\n removeClass(this.el_, ...classesToRemove);\n }\n\n /**\n * Add or remove a CSS class name from the component's element.\n * - `classToToggle` gets added when {@link Component#hasClass} would return false.\n * - `classToToggle` gets removed when {@link Component#hasClass} would return true.\n *\n * @param {string} classToToggle\n * The class to add or remove. Passed to DOMTokenList's toggle()\n *\n * @param {boolean|Dom.PredicateCallback} [predicate]\n * A boolean or function that returns a boolean. Passed to DOMTokenList's toggle().\n */\n toggleClass(classToToggle, predicate) {\n toggleClass(this.el_, classToToggle, predicate);\n }\n\n /**\n * Show the `Component`s element if it is hidden by removing the\n * 'vjs-hidden' class name from it.\n */\n show() {\n this.removeClass('vjs-hidden');\n }\n\n /**\n * Hide the `Component`s element if it is currently showing by adding the\n * 'vjs-hidden` class name to it.\n */\n hide() {\n this.addClass('vjs-hidden');\n }\n\n /**\n * Lock a `Component`s element in its visible state by adding the 'vjs-lock-showing'\n * class name to it. Used during fadeIn/fadeOut.\n *\n * @private\n */\n lockShowing() {\n this.addClass('vjs-lock-showing');\n }\n\n /**\n * Unlock a `Component`s element from its visible state by removing the 'vjs-lock-showing'\n * class name from it. Used during fadeIn/fadeOut.\n *\n * @private\n */\n unlockShowing() {\n this.removeClass('vjs-lock-showing');\n }\n\n /**\n * Get the value of an attribute on the `Component`s element.\n *\n * @param {string} attribute\n * Name of the attribute to get the value from.\n *\n * @return {string|null}\n * - The value of the attribute that was asked for.\n * - Can be an empty string on some browsers if the attribute does not exist\n * or has no value\n * - Most browsers will return null if the attribute does not exist or has\n * no value.\n *\n * @see [DOM API]{@link https://developer.mozilla.org/en-US/docs/Web/API/Element/getAttribute}\n */\n getAttribute(attribute) {\n return getAttribute(this.el_, attribute);\n }\n\n /**\n * Set the value of an attribute on the `Component`'s element\n *\n * @param {string} attribute\n * Name of the attribute to set.\n *\n * @param {string} value\n * Value to set the attribute to.\n *\n * @see [DOM API]{@link https://developer.mozilla.org/en-US/docs/Web/API/Element/setAttribute}\n */\n setAttribute(attribute, value) {\n setAttribute(this.el_, attribute, value);\n }\n\n /**\n * Remove an attribute from the `Component`s element.\n *\n * @param {string} attribute\n * Name of the attribute to remove.\n *\n * @see [DOM API]{@link https://developer.mozilla.org/en-US/docs/Web/API/Element/removeAttribute}\n */\n removeAttribute(attribute) {\n removeAttribute(this.el_, attribute);\n }\n\n /**\n * Get or set the width of the component based upon the CSS styles.\n * See {@link Component#dimension} for more detailed information.\n *\n * @param {number|string} [num]\n * The width that you want to set postfixed with '%', 'px' or nothing.\n *\n * @param {boolean} [skipListeners]\n * Skip the componentresize event trigger\n *\n * @return {number|undefined}\n * The width when getting, zero if there is no width\n */\n width(num, skipListeners) {\n return this.dimension('width', num, skipListeners);\n }\n\n /**\n * Get or set the height of the component based upon the CSS styles.\n * See {@link Component#dimension} for more detailed information.\n *\n * @param {number|string} [num]\n * The height that you want to set postfixed with '%', 'px' or nothing.\n *\n * @param {boolean} [skipListeners]\n * Skip the componentresize event trigger\n *\n * @return {number|undefined}\n * The height when getting, zero if there is no height\n */\n height(num, skipListeners) {\n return this.dimension('height', num, skipListeners);\n }\n\n /**\n * Set both the width and height of the `Component` element at the same time.\n *\n * @param {number|string} width\n * Width to set the `Component`s element to.\n *\n * @param {number|string} height\n * Height to set the `Component`s element to.\n */\n dimensions(width, height) {\n // Skip componentresize listeners on width for optimization\n this.width(width, true);\n this.height(height);\n }\n\n /**\n * Get or set width or height of the `Component` element. This is the shared code\n * for the {@link Component#width} and {@link Component#height}.\n *\n * Things to know:\n * - If the width or height in an number this will return the number postfixed with 'px'.\n * - If the width/height is a percent this will return the percent postfixed with '%'\n * - Hidden elements have a width of 0 with `window.getComputedStyle`. This function\n * defaults to the `Component`s `style.width` and falls back to `window.getComputedStyle`.\n * See [this]{@link http://www.foliotek.com/devblog/getting-the-width-of-a-hidden-element-with-jquery-using-width/}\n * for more information\n * - If you want the computed style of the component, use {@link Component#currentWidth}\n * and {@link {Component#currentHeight}\n *\n * @fires Component#componentresize\n *\n * @param {string} widthOrHeight\n 8 'width' or 'height'\n *\n * @param {number|string} [num]\n 8 New dimension\n *\n * @param {boolean} [skipListeners]\n * Skip componentresize event trigger\n *\n * @return {number|undefined}\n * The dimension when getting or 0 if unset\n */\n dimension(widthOrHeight, num, skipListeners) {\n if (num !== undefined) {\n // Set to zero if null or literally NaN (NaN !== NaN)\n if (num === null || num !== num) {\n num = 0;\n }\n\n // Check if using css width/height (% or px) and adjust\n if (('' + num).indexOf('%') !== -1 || ('' + num).indexOf('px') !== -1) {\n this.el_.style[widthOrHeight] = num;\n } else if (num === 'auto') {\n this.el_.style[widthOrHeight] = '';\n } else {\n this.el_.style[widthOrHeight] = num + 'px';\n }\n\n // skipListeners allows us to avoid triggering the resize event when setting both width and height\n if (!skipListeners) {\n /**\n * Triggered when a component is resized.\n *\n * @event Component#componentresize\n * @type {Event}\n */\n this.trigger('componentresize');\n }\n return;\n }\n\n // Not setting a value, so getting it\n // Make sure element exists\n if (!this.el_) {\n return 0;\n }\n\n // Get dimension value from style\n const val = this.el_.style[widthOrHeight];\n const pxIndex = val.indexOf('px');\n if (pxIndex !== -1) {\n // Return the pixel value with no 'px'\n return parseInt(val.slice(0, pxIndex), 10);\n }\n\n // No px so using % or no style was set, so falling back to offsetWidth/height\n // If component has display:none, offset will return 0\n // TODO: handle display:none and no dimension style using px\n return parseInt(this.el_['offset' + toTitleCase$1(widthOrHeight)], 10);\n }\n\n /**\n * Get the computed width or the height of the component's element.\n *\n * Uses `window.getComputedStyle`.\n *\n * @param {string} widthOrHeight\n * A string containing 'width' or 'height'. Whichever one you want to get.\n *\n * @return {number}\n * The dimension that gets asked for or 0 if nothing was set\n * for that dimension.\n */\n currentDimension(widthOrHeight) {\n let computedWidthOrHeight = 0;\n if (widthOrHeight !== 'width' && widthOrHeight !== 'height') {\n throw new Error('currentDimension only accepts width or height value');\n }\n computedWidthOrHeight = computedStyle(this.el_, widthOrHeight);\n\n // remove 'px' from variable and parse as integer\n computedWidthOrHeight = parseFloat(computedWidthOrHeight);\n\n // if the computed value is still 0, it's possible that the browser is lying\n // and we want to check the offset values.\n // This code also runs wherever getComputedStyle doesn't exist.\n if (computedWidthOrHeight === 0 || isNaN(computedWidthOrHeight)) {\n const rule = `offset${toTitleCase$1(widthOrHeight)}`;\n computedWidthOrHeight = this.el_[rule];\n }\n return computedWidthOrHeight;\n }\n\n /**\n * An object that contains width and height values of the `Component`s\n * computed style. Uses `window.getComputedStyle`.\n *\n * @typedef {Object} Component~DimensionObject\n *\n * @property {number} width\n * The width of the `Component`s computed style.\n *\n * @property {number} height\n * The height of the `Component`s computed style.\n */\n\n /**\n * Get an object that contains computed width and height values of the\n * component's element.\n *\n * Uses `window.getComputedStyle`.\n *\n * @return {Component~DimensionObject}\n * The computed dimensions of the component's element.\n */\n currentDimensions() {\n return {\n width: this.currentDimension('width'),\n height: this.currentDimension('height')\n };\n }\n\n /**\n * Get the computed width of the component's element.\n *\n * Uses `window.getComputedStyle`.\n *\n * @return {number}\n * The computed width of the component's element.\n */\n currentWidth() {\n return this.currentDimension('width');\n }\n\n /**\n * Get the computed height of the component's element.\n *\n * Uses `window.getComputedStyle`.\n *\n * @return {number}\n * The computed height of the component's element.\n */\n currentHeight() {\n return this.currentDimension('height');\n }\n\n /**\n * Retrieves the position and size information of the component's element.\n *\n * @return {Object} An object with `boundingClientRect` and `center` properties.\n * - `boundingClientRect`: An object with properties `x`, `y`, `width`,\n * `height`, `top`, `right`, `bottom`, and `left`, representing\n * the bounding rectangle of the element.\n * - `center`: An object with properties `x` and `y`, representing\n * the center point of the element. `width` and `height` are set to 0.\n */\n getPositions() {\n const rect = this.el_.getBoundingClientRect();\n\n // Creating objects that mirror DOMRectReadOnly for boundingClientRect and center\n const boundingClientRect = {\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height,\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left\n };\n\n // Calculating the center position\n const center = {\n x: rect.left + rect.width / 2,\n y: rect.top + rect.height / 2,\n width: 0,\n height: 0,\n top: rect.top + rect.height / 2,\n right: rect.left + rect.width / 2,\n bottom: rect.top + rect.height / 2,\n left: rect.left + rect.width / 2\n };\n return {\n boundingClientRect,\n center\n };\n }\n\n /**\n * Set the focus to this component\n */\n focus() {\n this.el_.focus();\n }\n\n /**\n * Remove the focus from this component\n */\n blur() {\n this.el_.blur();\n }\n\n /**\n * When this Component receives a `keydown` event which it does not process,\n * it passes the event to the Player for handling.\n *\n * @param {KeyboardEvent} event\n * The `keydown` event that caused this function to be called.\n */\n handleKeyDown(event) {\n if (this.player_) {\n // We only stop propagation here because we want unhandled events to fall\n // back to the browser. Exclude Tab for focus trapping, exclude also when spatialNavigation is enabled.\n if (event.key !== 'Tab' && !(this.player_.options_.playerOptions.spatialNavigation && this.player_.options_.playerOptions.spatialNavigation.enabled)) {\n event.stopPropagation();\n }\n this.player_.handleKeyDown(event);\n }\n }\n\n /**\n * Many components used to have a `handleKeyPress` method, which was poorly\n * named because it listened to a `keydown` event. This method name now\n * delegates to `handleKeyDown`. This means anyone calling `handleKeyPress`\n * will not see their method calls stop working.\n *\n * @param {KeyboardEvent} event\n * The event that caused this function to be called.\n */\n handleKeyPress(event) {\n this.handleKeyDown(event);\n }\n\n /**\n * Emit a 'tap' events when touch event support gets detected. This gets used to\n * support toggling the controls through a tap on the video. They get enabled\n * because every sub-component would have extra overhead otherwise.\n *\n * @protected\n * @fires Component#tap\n * @listens Component#touchstart\n * @listens Component#touchmove\n * @listens Component#touchleave\n * @listens Component#touchcancel\n * @listens Component#touchend\n */\n emitTapEvents() {\n // Track the start time so we can determine how long the touch lasted\n let touchStart = 0;\n let firstTouch = null;\n\n // Maximum movement allowed during a touch event to still be considered a tap\n // Other popular libs use anywhere from 2 (hammer.js) to 15,\n // so 10 seems like a nice, round number.\n const tapMovementThreshold = 10;\n\n // The maximum length a touch can be while still being considered a tap\n const touchTimeThreshold = 200;\n let couldBeTap;\n this.on('touchstart', function (event) {\n // If more than one finger, don't consider treating this as a click\n if (event.touches.length === 1) {\n // Copy pageX/pageY from the object\n firstTouch = {\n pageX: event.touches[0].pageX,\n pageY: event.touches[0].pageY\n };\n // Record start time so we can detect a tap vs. \"touch and hold\"\n touchStart = window$1.performance.now();\n // Reset couldBeTap tracking\n couldBeTap = true;\n }\n });\n this.on('touchmove', function (event) {\n // If more than one finger, don't consider treating this as a click\n if (event.touches.length > 1) {\n couldBeTap = false;\n } else if (firstTouch) {\n // Some devices will throw touchmoves for all but the slightest of taps.\n // So, if we moved only a small distance, this could still be a tap\n const xdiff = event.touches[0].pageX - firstTouch.pageX;\n const ydiff = event.touches[0].pageY - firstTouch.pageY;\n const touchDistance = Math.sqrt(xdiff * xdiff + ydiff * ydiff);\n if (touchDistance > tapMovementThreshold) {\n couldBeTap = false;\n }\n }\n });\n const noTap = function () {\n couldBeTap = false;\n };\n\n // TODO: Listen to the original target. http://youtu.be/DujfpXOKUp8?t=13m8s\n this.on('touchleave', noTap);\n this.on('touchcancel', noTap);\n\n // When the touch ends, measure how long it took and trigger the appropriate\n // event\n this.on('touchend', function (event) {\n firstTouch = null;\n // Proceed only if the touchmove/leave/cancel event didn't happen\n if (couldBeTap === true) {\n // Measure how long the touch lasted\n const touchTime = window$1.performance.now() - touchStart;\n\n // Make sure the touch was less than the threshold to be considered a tap\n if (touchTime < touchTimeThreshold) {\n // Don't let browser turn this into a click\n event.preventDefault();\n /**\n * Triggered when a `Component` is tapped.\n *\n * @event Component#tap\n * @type {MouseEvent}\n */\n this.trigger('tap');\n // It may be good to copy the touchend event object and change the\n // type to tap, if the other event properties aren't exact after\n // Events.fixEvent runs (e.g. event.target)\n }\n }\n });\n }\n\n /**\n * This function reports user activity whenever touch events happen. This can get\n * turned off by any sub-components that wants touch events to act another way.\n *\n * Report user touch activity when touch events occur. User activity gets used to\n * determine when controls should show/hide. It is simple when it comes to mouse\n * events, because any mouse event should show the controls. So we capture mouse\n * events that bubble up to the player and report activity when that happens.\n * With touch events it isn't as easy as `touchstart` and `touchend` toggle player\n * controls. So touch events can't help us at the player level either.\n *\n * User activity gets checked asynchronously. So what could happen is a tap event\n * on the video turns the controls off. Then the `touchend` event bubbles up to\n * the player. Which, if it reported user activity, would turn the controls right\n * back on. We also don't want to completely block touch events from bubbling up.\n * Furthermore a `touchmove` event and anything other than a tap, should not turn\n * controls back on.\n *\n * @listens Component#touchstart\n * @listens Component#touchmove\n * @listens Component#touchend\n * @listens Component#touchcancel\n */\n enableTouchActivity() {\n // Don't continue if the root player doesn't support reporting user activity\n if (!this.player() || !this.player().reportUserActivity) {\n return;\n }\n\n // listener for reporting that the user is active\n const report = bind_(this.player(), this.player().reportUserActivity);\n let touchHolding;\n this.on('touchstart', function () {\n report();\n // For as long as the they are touching the device or have their mouse down,\n // we consider them active even if they're not moving their finger or mouse.\n // So we want to continue to update that they are active\n this.clearInterval(touchHolding);\n // report at the same interval as activityCheck\n touchHolding = this.setInterval(report, 250);\n });\n const touchEnd = function (event) {\n report();\n // stop the interval that maintains activity if the touch is holding\n this.clearInterval(touchHolding);\n };\n this.on('touchmove', report);\n this.on('touchend', touchEnd);\n this.on('touchcancel', touchEnd);\n }\n\n /**\n * A callback that has no parameters and is bound into `Component`s context.\n *\n * @callback Component~GenericCallback\n * @this Component\n */\n\n /**\n * Creates a function that runs after an `x` millisecond timeout. This function is a\n * wrapper around `window.setTimeout`. There are a few reasons to use this one\n * instead though:\n * 1. It gets cleared via {@link Component#clearTimeout} when\n * {@link Component#dispose} gets called.\n * 2. The function callback will gets turned into a {@link Component~GenericCallback}\n *\n * > Note: You can't use `window.clearTimeout` on the id returned by this function. This\n * will cause its dispose listener not to get cleaned up! Please use\n * {@link Component#clearTimeout} or {@link Component#dispose} instead.\n *\n * @param {Component~GenericCallback} fn\n * The function that will be run after `timeout`.\n *\n * @param {number} timeout\n * Timeout in milliseconds to delay before executing the specified function.\n *\n * @return {number}\n * Returns a timeout ID that gets used to identify the timeout. It can also\n * get used in {@link Component#clearTimeout} to clear the timeout that\n * was set.\n *\n * @listens Component#dispose\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setTimeout}\n */\n setTimeout(fn, timeout) {\n // declare as variables so they are properly available in timeout function\n // eslint-disable-next-line\n var timeoutId;\n fn = bind_(this, fn);\n this.clearTimersOnDispose_();\n timeoutId = window$1.setTimeout(() => {\n if (this.setTimeoutIds_.has(timeoutId)) {\n this.setTimeoutIds_.delete(timeoutId);\n }\n fn();\n }, timeout);\n this.setTimeoutIds_.add(timeoutId);\n return timeoutId;\n }\n\n /**\n * Clears a timeout that gets created via `window.setTimeout` or\n * {@link Component#setTimeout}. If you set a timeout via {@link Component#setTimeout}\n * use this function instead of `window.clearTimout`. If you don't your dispose\n * listener will not get cleaned up until {@link Component#dispose}!\n *\n * @param {number} timeoutId\n * The id of the timeout to clear. The return value of\n * {@link Component#setTimeout} or `window.setTimeout`.\n *\n * @return {number}\n * Returns the timeout id that was cleared.\n *\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/clearTimeout}\n */\n clearTimeout(timeoutId) {\n if (this.setTimeoutIds_.has(timeoutId)) {\n this.setTimeoutIds_.delete(timeoutId);\n window$1.clearTimeout(timeoutId);\n }\n return timeoutId;\n }\n\n /**\n * Creates a function that gets run every `x` milliseconds. This function is a wrapper\n * around `window.setInterval`. There are a few reasons to use this one instead though.\n * 1. It gets cleared via {@link Component#clearInterval} when\n * {@link Component#dispose} gets called.\n * 2. The function callback will be a {@link Component~GenericCallback}\n *\n * @param {Component~GenericCallback} fn\n * The function to run every `x` seconds.\n *\n * @param {number} interval\n * Execute the specified function every `x` milliseconds.\n *\n * @return {number}\n * Returns an id that can be used to identify the interval. It can also be be used in\n * {@link Component#clearInterval} to clear the interval.\n *\n * @listens Component#dispose\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setInterval}\n */\n setInterval(fn, interval) {\n fn = bind_(this, fn);\n this.clearTimersOnDispose_();\n const intervalId = window$1.setInterval(fn, interval);\n this.setIntervalIds_.add(intervalId);\n return intervalId;\n }\n\n /**\n * Clears an interval that gets created via `window.setInterval` or\n * {@link Component#setInterval}. If you set an interval via {@link Component#setInterval}\n * use this function instead of `window.clearInterval`. If you don't your dispose\n * listener will not get cleaned up until {@link Component#dispose}!\n *\n * @param {number} intervalId\n * The id of the interval to clear. The return value of\n * {@link Component#setInterval} or `window.setInterval`.\n *\n * @return {number}\n * Returns the interval id that was cleared.\n *\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/clearInterval}\n */\n clearInterval(intervalId) {\n if (this.setIntervalIds_.has(intervalId)) {\n this.setIntervalIds_.delete(intervalId);\n window$1.clearInterval(intervalId);\n }\n return intervalId;\n }\n\n /**\n * Queues up a callback to be passed to requestAnimationFrame (rAF), but\n * with a few extra bonuses:\n *\n * - Supports browsers that do not support rAF by falling back to\n * {@link Component#setTimeout}.\n *\n * - The callback is turned into a {@link Component~GenericCallback} (i.e.\n * bound to the component).\n *\n * - Automatic cancellation of the rAF callback is handled if the component\n * is disposed before it is called.\n *\n * @param {Component~GenericCallback} fn\n * A function that will be bound to this component and executed just\n * before the browser's next repaint.\n *\n * @return {number}\n * Returns an rAF ID that gets used to identify the timeout. It can\n * also be used in {@link Component#cancelAnimationFrame} to cancel\n * the animation frame callback.\n *\n * @listens Component#dispose\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame}\n */\n requestAnimationFrame(fn) {\n this.clearTimersOnDispose_();\n\n // declare as variables so they are properly available in rAF function\n // eslint-disable-next-line\n var id;\n fn = bind_(this, fn);\n id = window$1.requestAnimationFrame(() => {\n if (this.rafIds_.has(id)) {\n this.rafIds_.delete(id);\n }\n fn();\n });\n this.rafIds_.add(id);\n return id;\n }\n\n /**\n * Request an animation frame, but only one named animation\n * frame will be queued. Another will never be added until\n * the previous one finishes.\n *\n * @param {string} name\n * The name to give this requestAnimationFrame\n *\n * @param {Component~GenericCallback} fn\n * A function that will be bound to this component and executed just\n * before the browser's next repaint.\n */\n requestNamedAnimationFrame(name, fn) {\n if (this.namedRafs_.has(name)) {\n this.cancelNamedAnimationFrame(name);\n }\n this.clearTimersOnDispose_();\n fn = bind_(this, fn);\n const id = this.requestAnimationFrame(() => {\n fn();\n if (this.namedRafs_.has(name)) {\n this.namedRafs_.delete(name);\n }\n });\n this.namedRafs_.set(name, id);\n return name;\n }\n\n /**\n * Cancels a current named animation frame if it exists.\n *\n * @param {string} name\n * The name of the requestAnimationFrame to cancel.\n */\n cancelNamedAnimationFrame(name) {\n if (!this.namedRafs_.has(name)) {\n return;\n }\n this.cancelAnimationFrame(this.namedRafs_.get(name));\n this.namedRafs_.delete(name);\n }\n\n /**\n * Cancels a queued callback passed to {@link Component#requestAnimationFrame}\n * (rAF).\n *\n * If you queue an rAF callback via {@link Component#requestAnimationFrame},\n * use this function instead of `window.cancelAnimationFrame`. If you don't,\n * your dispose listener will not get cleaned up until {@link Component#dispose}!\n *\n * @param {number} id\n * The rAF ID to clear. The return value of {@link Component#requestAnimationFrame}.\n *\n * @return {number}\n * Returns the rAF ID that was cleared.\n *\n * @see [Similar to]{@link https://developer.mozilla.org/en-US/docs/Web/API/window/cancelAnimationFrame}\n */\n cancelAnimationFrame(id) {\n if (this.rafIds_.has(id)) {\n this.rafIds_.delete(id);\n window$1.cancelAnimationFrame(id);\n }\n return id;\n }\n\n /**\n * A function to setup `requestAnimationFrame`, `setTimeout`,\n * and `setInterval`, clearing on dispose.\n *\n * > Previously each timer added and removed dispose listeners on it's own.\n * For better performance it was decided to batch them all, and use `Set`s\n * to track outstanding timer ids.\n *\n * @private\n */\n clearTimersOnDispose_() {\n if (this.clearingTimersOnDispose_) {\n return;\n }\n this.clearingTimersOnDispose_ = true;\n this.one('dispose', () => {\n [['namedRafs_', 'cancelNamedAnimationFrame'], ['rafIds_', 'cancelAnimationFrame'], ['setTimeoutIds_', 'clearTimeout'], ['setIntervalIds_', 'clearInterval']].forEach(([idName, cancelName]) => {\n // for a `Set` key will actually be the value again\n // so forEach((val, val) =>` but for maps we want to use\n // the key.\n this[idName].forEach((val, key) => this[cancelName](key));\n });\n this.clearingTimersOnDispose_ = false;\n });\n }\n\n /**\n * Decide whether an element is actually disabled or not.\n *\n * @function isActuallyDisabled\n * @param element {Node}\n * @return {boolean}\n *\n * @see {@link https://html.spec.whatwg.org/multipage/semantics-other.html#concept-element-disabled}\n */\n getIsDisabled() {\n return Boolean(this.el_.disabled);\n }\n\n /**\n * Decide whether the element is expressly inert or not.\n *\n * @see {@link https://html.spec.whatwg.org/multipage/interaction.html#expressly-inert}\n * @function isExpresslyInert\n * @param element {Node}\n * @return {boolean}\n */\n getIsExpresslyInert() {\n return this.el_.inert && !this.el_.ownerDocument.documentElement.inert;\n }\n\n /**\n * Determine whether or not this component can be considered as focusable component.\n *\n * @param {HTMLElement} el - The HTML element representing the component.\n * @return {boolean}\n * If the component can be focused, will be `true`. Otherwise, `false`.\n */\n getIsFocusable(el) {\n const element = el || this.el_;\n return element.tabIndex >= 0 && !(this.getIsDisabled() || this.getIsExpresslyInert());\n }\n\n /**\n * Determine whether or not this component is currently visible/enabled/etc...\n *\n * @param {HTMLElement} el - The HTML element representing the component.\n * @return {boolean}\n * If the component can is currently visible & enabled, will be `true`. Otherwise, `false`.\n */\n getIsAvailableToBeFocused(el) {\n /**\n * Decide the style property of this element is specified whether it's visible or not.\n *\n * @function isVisibleStyleProperty\n * @param element {CSSStyleDeclaration}\n * @return {boolean}\n */\n function isVisibleStyleProperty(element) {\n const elementStyle = window$1.getComputedStyle(element, null);\n const thisVisibility = elementStyle.getPropertyValue('visibility');\n const thisDisplay = elementStyle.getPropertyValue('display');\n const invisibleStyle = ['hidden', 'collapse'];\n return thisDisplay !== 'none' && !invisibleStyle.includes(thisVisibility);\n }\n\n /**\n * Decide whether the element is being rendered or not.\n * 1. If an element has the style as \"visibility: hidden | collapse\" or \"display: none\", it is not being rendered.\n * 2. If an element has the style as \"opacity: 0\", it is not being rendered.(that is, invisible).\n * 3. If width and height of an element are explicitly set to 0, it is not being rendered.\n * 4. If a parent element is hidden, an element itself is not being rendered.\n * (CSS visibility property and display property are inherited.)\n *\n * @see {@link https://html.spec.whatwg.org/multipage/rendering.html#being-rendered}\n * @function isBeingRendered\n * @param element {Node}\n * @return {boolean}\n */\n function isBeingRendered(element) {\n if (!isVisibleStyleProperty(element.parentElement)) {\n return false;\n }\n if (!isVisibleStyleProperty(element) || element.style.opacity === '0' || window$1.getComputedStyle(element).height === '0px' || window$1.getComputedStyle(element).width === '0px') {\n return false;\n }\n return true;\n }\n\n /**\n * Determine if the element is visible for the user or not.\n * 1. If an element sum of its offsetWidth, offsetHeight, height and width is less than 1 is not visible.\n * 2. If elementCenter.x is less than is not visible.\n * 3. If elementCenter.x is more than the document's width is not visible.\n * 4. If elementCenter.y is less than 0 is not visible.\n * 5. If elementCenter.y is the document's height is not visible.\n *\n * @function isVisible\n * @param element {Node}\n * @return {boolean}\n */\n function isVisible(element) {\n if (element.offsetWidth + element.offsetHeight + element.getBoundingClientRect().height + element.getBoundingClientRect().width === 0) {\n return false;\n }\n\n // Define elementCenter object with props of x and y\n // x: Left position relative to the viewport plus element's width (no margin) divided between 2.\n // y: Top position relative to the viewport plus element's height (no margin) divided between 2.\n const elementCenter = {\n x: element.getBoundingClientRect().left + element.offsetWidth / 2,\n y: element.getBoundingClientRect().top + element.offsetHeight / 2\n };\n if (elementCenter.x < 0) {\n return false;\n }\n if (elementCenter.x > (document$1.documentElement.clientWidth || window$1.innerWidth)) {\n return false;\n }\n if (elementCenter.y < 0) {\n return false;\n }\n if (elementCenter.y > (document$1.documentElement.clientHeight || window$1.innerHeight)) {\n return false;\n }\n let pointContainer = document$1.elementFromPoint(elementCenter.x, elementCenter.y);\n while (pointContainer) {\n if (pointContainer === element) {\n return true;\n }\n if (pointContainer.parentNode) {\n pointContainer = pointContainer.parentNode;\n } else {\n return false;\n }\n }\n }\n\n // If no DOM element was passed as argument use this component's element.\n if (!el) {\n el = this.el();\n }\n\n // If element is visible, is being rendered & either does not have a parent element or its tabIndex is not negative.\n if (isVisible(el) && isBeingRendered(el) && (!el.parentElement || el.tabIndex >= 0)) {\n return true;\n }\n return false;\n }\n\n /**\n * Register a `Component` with `videojs` given the name and the component.\n *\n * > NOTE: {@link Tech}s should not be registered as a `Component`. {@link Tech}s\n * should be registered using {@link Tech.registerTech} or\n * {@link videojs:videojs.registerTech}.\n *\n * > NOTE: This function can also be seen on videojs as\n * {@link videojs:videojs.registerComponent}.\n *\n * @param {string} name\n * The name of the `Component` to register.\n *\n * @param {Component} ComponentToRegister\n * The `Component` class to register.\n *\n * @return {Component}\n * The `Component` that was registered.\n */\n static registerComponent(name, ComponentToRegister) {\n if (typeof name !== 'string' || !name) {\n throw new Error(`Illegal component name, \"${name}\"; must be a non-empty string.`);\n }\n const Tech = Component$1.getComponent('Tech');\n\n // We need to make sure this check is only done if Tech has been registered.\n const isTech = Tech && Tech.isTech(ComponentToRegister);\n const isComp = Component$1 === ComponentToRegister || Component$1.prototype.isPrototypeOf(ComponentToRegister.prototype);\n if (isTech || !isComp) {\n let reason;\n if (isTech) {\n reason = 'techs must be registered using Tech.registerTech()';\n } else {\n reason = 'must be a Component subclass';\n }\n throw new Error(`Illegal component, \"${name}\"; ${reason}.`);\n }\n name = toTitleCase$1(name);\n if (!Component$1.components_) {\n Component$1.components_ = {};\n }\n const Player = Component$1.getComponent('Player');\n if (name === 'Player' && Player && Player.players) {\n const players = Player.players;\n const playerNames = Object.keys(players);\n\n // If we have players that were disposed, then their name will still be\n // in Players.players. So, we must loop through and verify that the value\n // for each item is null. This allows registration of the Player component\n // after all players have been disposed or before any were created.\n if (players && playerNames.length > 0) {\n for (let i = 0; i < playerNames.length; i++) {\n if (players[playerNames[i]] !== null) {\n throw new Error('Can not register Player component after player has been created.');\n }\n }\n }\n }\n Component$1.components_[name] = ComponentToRegister;\n Component$1.components_[toLowerCase(name)] = ComponentToRegister;\n return ComponentToRegister;\n }\n\n /**\n * Get a `Component` based on the name it was registered with.\n *\n * @param {string} name\n * The Name of the component to get.\n *\n * @return {typeof Component}\n * The `Component` that got registered under the given name.\n */\n static getComponent(name) {\n if (!name || !Component$1.components_) {\n return;\n }\n return Component$1.components_[name];\n }\n}\nComponent$1.registerComponent('Component', Component$1);\n\n/**\n * @file time.js\n * @module time\n */\n\n/**\n * Returns the time for the specified index at the start or end\n * of a TimeRange object.\n *\n * @typedef {Function} TimeRangeIndex\n *\n * @param {number} [index=0]\n * The range number to return the time for.\n *\n * @return {number}\n * The time offset at the specified index.\n *\n * @deprecated The index argument must be provided.\n * In the future, leaving it out will throw an error.\n */\n\n/**\n * An object that contains ranges of time, which mimics {@link TimeRanges}.\n *\n * @typedef {Object} TimeRange\n *\n * @property {number} length\n * The number of time ranges represented by this object.\n *\n * @property {module:time~TimeRangeIndex} start\n * Returns the time offset at which a specified time range begins.\n *\n * @property {module:time~TimeRangeIndex} end\n * Returns the time offset at which a specified time range ends.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/TimeRanges\n */\n\n/**\n * Check if any of the time ranges are over the maximum index.\n *\n * @private\n * @param {string} fnName\n * The function name to use for logging\n *\n * @param {number} index\n * The index to check\n *\n * @param {number} maxIndex\n * The maximum possible index\n *\n * @throws {Error} if the timeRanges provided are over the maxIndex\n */\nfunction rangeCheck(fnName, index, maxIndex) {\n if (typeof index !== 'number' || index < 0 || index > maxIndex) {\n throw new Error(`Failed to execute '${fnName}' on 'TimeRanges': The index provided (${index}) is non-numeric or out of bounds (0-${maxIndex}).`);\n }\n}\n\n/**\n * Get the time for the specified index at the start or end\n * of a TimeRange object.\n *\n * @private\n * @param {string} fnName\n * The function name to use for logging\n *\n * @param {string} valueIndex\n * The property that should be used to get the time. should be\n * 'start' or 'end'\n *\n * @param {Array} ranges\n * An array of time ranges\n *\n * @param {Array} [rangeIndex=0]\n * The index to start the search at\n *\n * @return {number}\n * The time that offset at the specified index.\n *\n * @deprecated rangeIndex must be set to a value, in the future this will throw an error.\n * @throws {Error} if rangeIndex is more than the length of ranges\n */\nfunction getRange(fnName, valueIndex, ranges, rangeIndex) {\n rangeCheck(fnName, rangeIndex, ranges.length - 1);\n return ranges[rangeIndex][valueIndex];\n}\n\n/**\n * Create a time range object given ranges of time.\n *\n * @private\n * @param {Array} [ranges]\n * An array of time ranges.\n *\n * @return {TimeRange}\n */\nfunction createTimeRangesObj(ranges) {\n let timeRangesObj;\n if (ranges === undefined || ranges.length === 0) {\n timeRangesObj = {\n length: 0,\n start() {\n throw new Error('This TimeRanges object is empty');\n },\n end() {\n throw new Error('This TimeRanges object is empty');\n }\n };\n } else {\n timeRangesObj = {\n length: ranges.length,\n start: getRange.bind(null, 'start', 0, ranges),\n end: getRange.bind(null, 'end', 1, ranges)\n };\n }\n if (window$1.Symbol && window$1.Symbol.iterator) {\n timeRangesObj[window$1.Symbol.iterator] = () => (ranges || []).values();\n }\n return timeRangesObj;\n}\n\n/**\n * Create a `TimeRange` object which mimics an\n * {@link https://developer.mozilla.org/en-US/docs/Web/API/TimeRanges|HTML5 TimeRanges instance}.\n *\n * @param {number|Array[]} start\n * The start of a single range (a number) or an array of ranges (an\n * array of arrays of two numbers each).\n *\n * @param {number} end\n * The end of a single range. Cannot be used with the array form of\n * the `start` argument.\n *\n * @return {TimeRange}\n */\nfunction createTimeRanges$1(start, end) {\n if (Array.isArray(start)) {\n return createTimeRangesObj(start);\n } else if (start === undefined || end === undefined) {\n return createTimeRangesObj();\n }\n return createTimeRangesObj([[start, end]]);\n}\n\n/**\n * Format seconds as a time string, H:MM:SS or M:SS. Supplying a guide (in\n * seconds) will force a number of leading zeros to cover the length of the\n * guide.\n *\n * @private\n * @param {number} seconds\n * Number of seconds to be turned into a string\n *\n * @param {number} guide\n * Number (in seconds) to model the string after\n *\n * @return {string}\n * Time formatted as H:MM:SS or M:SS\n */\nconst defaultImplementation = function (seconds, guide) {\n seconds = seconds < 0 ? 0 : seconds;\n let s = Math.floor(seconds % 60);\n let m = Math.floor(seconds / 60 % 60);\n let h = Math.floor(seconds / 3600);\n const gm = Math.floor(guide / 60 % 60);\n const gh = Math.floor(guide / 3600);\n\n // handle invalid times\n if (isNaN(seconds) || seconds === Infinity) {\n // '-' is false for all relational operators (e.g. <, >=) so this setting\n // will add the minimum number of fields specified by the guide\n h = m = s = '-';\n }\n\n // Check if we need to show hours\n h = h > 0 || gh > 0 ? h + ':' : '';\n\n // If hours are showing, we may need to add a leading zero.\n // Always show at least one digit of minutes.\n m = ((h || gm >= 10) && m < 10 ? '0' + m : m) + ':';\n\n // Check if leading zero is need for seconds\n s = s < 10 ? '0' + s : s;\n return h + m + s;\n};\n\n// Internal pointer to the current implementation.\nlet implementation = defaultImplementation;\n\n/**\n * Replaces the default formatTime implementation with a custom implementation.\n *\n * @param {Function} customImplementation\n * A function which will be used in place of the default formatTime\n * implementation. Will receive the current time in seconds and the\n * guide (in seconds) as arguments.\n */\nfunction setFormatTime(customImplementation) {\n implementation = customImplementation;\n}\n\n/**\n * Resets formatTime to the default implementation.\n */\nfunction resetFormatTime() {\n implementation = defaultImplementation;\n}\n\n/**\n * Delegates to either the default time formatting function or a custom\n * function supplied via `setFormatTime`.\n *\n * Formats seconds as a time string (H:MM:SS or M:SS). Supplying a\n * guide (in seconds) will force a number of leading zeros to cover the\n * length of the guide.\n *\n * @example formatTime(125, 600) === \"02:05\"\n * @param {number} seconds\n * Number of seconds to be turned into a string\n *\n * @param {number} guide\n * Number (in seconds) to model the string after\n *\n * @return {string}\n * Time formatted as H:MM:SS or M:SS\n */\nfunction formatTime(seconds, guide = seconds) {\n return implementation(seconds, guide);\n}\n\nvar Time = /*#__PURE__*/Object.freeze({\n __proto__: null,\n createTimeRanges: createTimeRanges$1,\n createTimeRange: createTimeRanges$1,\n setFormatTime: setFormatTime,\n resetFormatTime: resetFormatTime,\n formatTime: formatTime\n});\n\n/**\n * @file buffer.js\n * @module buffer\n */\n\n/** @import { TimeRange } from './time' */\n\n/**\n * Compute the percentage of the media that has been buffered.\n *\n * @param {TimeRange} buffered\n * The current `TimeRanges` object representing buffered time ranges\n *\n * @param {number} duration\n * Total duration of the media\n *\n * @return {number}\n * Percent buffered of the total duration in decimal form.\n */\nfunction bufferedPercent(buffered, duration) {\n let bufferedDuration = 0;\n let start;\n let end;\n if (!duration) {\n return 0;\n }\n if (!buffered || !buffered.length) {\n buffered = createTimeRanges$1(0, 0);\n }\n for (let i = 0; i < buffered.length; i++) {\n start = buffered.start(i);\n end = buffered.end(i);\n\n // buffered end can be bigger than duration by a very small fraction\n if (end > duration) {\n end = duration;\n }\n bufferedDuration += end - start;\n }\n return bufferedDuration / duration;\n}\n\n/**\n * @file media-error.js\n */\n\n/**\n * A Custom `MediaError` class which mimics the standard HTML5 `MediaError` class.\n *\n * @param {number|string|Object|MediaError} value\n * This can be of multiple types:\n * - number: should be a standard error code\n * - string: an error message (the code will be 0)\n * - Object: arbitrary properties\n * - `MediaError` (native): used to populate a video.js `MediaError` object\n * - `MediaError` (video.js): will return itself if it's already a\n * video.js `MediaError` object.\n *\n * @see [MediaError Spec]{@link https://dev.w3.org/html5/spec-author-view/video.html#mediaerror}\n * @see [Encrypted MediaError Spec]{@link https://www.w3.org/TR/2013/WD-encrypted-media-20130510/#error-codes}\n *\n * @class MediaError\n */\nfunction MediaError(value) {\n // Allow redundant calls to this constructor to avoid having `instanceof`\n // checks peppered around the code.\n if (value instanceof MediaError) {\n return value;\n }\n if (typeof value === 'number') {\n this.code = value;\n } else if (typeof value === 'string') {\n // default code is zero, so this is a custom error\n this.message = value;\n } else if (isObject(value)) {\n // We assign the `code` property manually because native `MediaError` objects\n // do not expose it as an own/enumerable property of the object.\n if (typeof value.code === 'number') {\n this.code = value.code;\n }\n Object.assign(this, value);\n }\n if (!this.message) {\n this.message = MediaError.defaultMessages[this.code] || '';\n }\n}\n\n/**\n * The error code that refers two one of the defined `MediaError` types\n *\n * @type {Number}\n */\nMediaError.prototype.code = 0;\n\n/**\n * An optional message that to show with the error. Message is not part of the HTML5\n * video spec but allows for more informative custom errors.\n *\n * @type {String}\n */\nMediaError.prototype.message = '';\n\n/**\n * An optional status code that can be set by plugins to allow even more detail about\n * the error. For example a plugin might provide a specific HTTP status code and an\n * error message for that code. Then when the plugin gets that error this class will\n * know how to display an error message for it. This allows a custom message to show\n * up on the `Player` error overlay.\n *\n * @type {Array}\n */\nMediaError.prototype.status = null;\n\n/**\n * An object containing an error type, as well as other information regarding the error.\n *\n * @typedef {{errorType: string, [key: string]: any}} ErrorMetadata\n */\n\n/**\n * An optional object to give more detail about the error. This can be used to give\n * a higher level of specificity to an error versus the more generic MediaError codes.\n * `metadata` expects an `errorType` string that should align with the values from videojs.Error.\n *\n * @type {ErrorMetadata}\n */\nMediaError.prototype.metadata = null;\n\n/**\n * Errors indexed by the W3C standard. The order **CANNOT CHANGE**! See the\n * specification listed under {@link MediaError} for more information.\n *\n * @enum {array}\n * @readonly\n * @property {string} 0 - MEDIA_ERR_CUSTOM\n * @property {string} 1 - MEDIA_ERR_ABORTED\n * @property {string} 2 - MEDIA_ERR_NETWORK\n * @property {string} 3 - MEDIA_ERR_DECODE\n * @property {string} 4 - MEDIA_ERR_SRC_NOT_SUPPORTED\n * @property {string} 5 - MEDIA_ERR_ENCRYPTED\n */\nMediaError.errorTypes = ['MEDIA_ERR_CUSTOM', 'MEDIA_ERR_ABORTED', 'MEDIA_ERR_NETWORK', 'MEDIA_ERR_DECODE', 'MEDIA_ERR_SRC_NOT_SUPPORTED', 'MEDIA_ERR_ENCRYPTED'];\n\n/**\n * The default `MediaError` messages based on the {@link MediaError.errorTypes}.\n *\n * @type {Array}\n * @constant\n */\nMediaError.defaultMessages = {\n 1: 'You aborted the media playback',\n 2: 'A network error caused the media download to fail part-way.',\n 3: 'The media playback was aborted due to a corruption problem or because the media used features your browser did not support.',\n 4: 'The media could not be loaded, either because the server or network failed or because the format is not supported.',\n 5: 'The media is encrypted and we do not have the keys to decrypt it.'\n};\n\n/**\n * W3C error code for any custom error.\n *\n * @member MediaError#MEDIA_ERR_CUSTOM\n * @constant {number}\n * @default 0\n */\nMediaError.MEDIA_ERR_CUSTOM = 0;\n\n/**\n * W3C error code for any custom error.\n *\n * @member MediaError.MEDIA_ERR_CUSTOM\n * @constant {number}\n * @default 0\n */\nMediaError.prototype.MEDIA_ERR_CUSTOM = 0;\n\n/**\n * W3C error code for media error aborted.\n *\n * @member MediaError#MEDIA_ERR_ABORTED\n * @constant {number}\n * @default 1\n */\nMediaError.MEDIA_ERR_ABORTED = 1;\n\n/**\n * W3C error code for media error aborted.\n *\n * @member MediaError.MEDIA_ERR_ABORTED\n * @constant {number}\n * @default 1\n */\nMediaError.prototype.MEDIA_ERR_ABORTED = 1;\n\n/**\n * W3C error code for any network error.\n *\n * @member MediaError#MEDIA_ERR_NETWORK\n * @constant {number}\n * @default 2\n */\nMediaError.MEDIA_ERR_NETWORK = 2;\n\n/**\n * W3C error code for any network error.\n *\n * @member MediaError.MEDIA_ERR_NETWORK\n * @constant {number}\n * @default 2\n */\nMediaError.prototype.MEDIA_ERR_NETWORK = 2;\n\n/**\n * W3C error code for any decoding error.\n *\n * @member MediaError#MEDIA_ERR_DECODE\n * @constant {number}\n * @default 3\n */\nMediaError.MEDIA_ERR_DECODE = 3;\n\n/**\n * W3C error code for any decoding error.\n *\n * @member MediaError.MEDIA_ERR_DECODE\n * @constant {number}\n * @default 3\n */\nMediaError.prototype.MEDIA_ERR_DECODE = 3;\n\n/**\n * W3C error code for any time that a source is not supported.\n *\n * @member MediaError#MEDIA_ERR_SRC_NOT_SUPPORTED\n * @constant {number}\n * @default 4\n */\nMediaError.MEDIA_ERR_SRC_NOT_SUPPORTED = 4;\n\n/**\n * W3C error code for any time that a source is not supported.\n *\n * @member MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED\n * @constant {number}\n * @default 4\n */\nMediaError.prototype.MEDIA_ERR_SRC_NOT_SUPPORTED = 4;\n\n/**\n * W3C error code for any time that a source is encrypted.\n *\n * @member MediaError#MEDIA_ERR_ENCRYPTED\n * @constant {number}\n * @default 5\n */\nMediaError.MEDIA_ERR_ENCRYPTED = 5;\n\n/**\n * W3C error code for any time that a source is encrypted.\n *\n * @member MediaError.MEDIA_ERR_ENCRYPTED\n * @constant {number}\n * @default 5\n */\nMediaError.prototype.MEDIA_ERR_ENCRYPTED = 5;\n\n/**\n * Returns whether an object is `Promise`-like (i.e. has a `then` method).\n *\n * @param {Object} value\n * An object that may or may not be `Promise`-like.\n *\n * @return {boolean}\n * Whether or not the object is `Promise`-like.\n */\nfunction isPromise(value) {\n return value !== undefined && value !== null && typeof value.then === 'function';\n}\n\n/**\n * Silence a Promise-like object.\n *\n * This is useful for avoiding non-harmful, but potentially confusing \"uncaught\n * play promise\" rejection error messages.\n *\n * @param {Object} value\n * An object that may or may not be `Promise`-like.\n */\nfunction silencePromise(value) {\n if (isPromise(value)) {\n value.then(null, e => {});\n }\n}\n\n/**\n * @file text-track-list-converter.js Utilities for capturing text track state and\n * re-creating tracks based on a capture.\n *\n * @module text-track-list-converter\n */\n\n/** @import Tech from '../tech/tech' */\n\n/**\n * Examine a single {@link TextTrack} and return a JSON-compatible javascript object that\n * represents the {@link TextTrack}'s state.\n *\n * @param {TextTrack} track\n * The text track to query.\n *\n * @return {Object}\n * A serializable javascript representation of the TextTrack.\n * @private\n */\nconst trackToJson_ = function (track) {\n const ret = ['kind', 'label', 'language', 'id', 'inBandMetadataTrackDispatchType', 'mode', 'src'].reduce((acc, prop, i) => {\n if (track[prop]) {\n acc[prop] = track[prop];\n }\n return acc;\n }, {\n cues: track.cues && Array.prototype.map.call(track.cues, function (cue) {\n return {\n startTime: cue.startTime,\n endTime: cue.endTime,\n text: cue.text,\n id: cue.id\n };\n })\n });\n return ret;\n};\n\n/**\n * Examine a {@link Tech} and return a JSON-compatible javascript array that represents the\n * state of all {@link TextTrack}s currently configured. The return array is compatible with\n * {@link text-track-list-converter:jsonToTextTracks}.\n *\n * @param {Tech} tech\n * The tech object to query\n *\n * @return {Array}\n * A serializable javascript representation of the {@link Tech}s\n * {@link TextTrackList}.\n */\nconst textTracksToJson = function (tech) {\n const trackEls = tech.$$('track');\n const trackObjs = Array.prototype.map.call(trackEls, t => t.track);\n const tracks = Array.prototype.map.call(trackEls, function (trackEl) {\n const json = trackToJson_(trackEl.track);\n if (trackEl.src) {\n json.src = trackEl.src;\n }\n return json;\n });\n return tracks.concat(Array.prototype.filter.call(tech.textTracks(), function (track) {\n return trackObjs.indexOf(track) === -1;\n }).map(trackToJson_));\n};\n\n/**\n * Create a set of remote {@link TextTrack}s on a {@link Tech} based on an array of javascript\n * object {@link TextTrack} representations.\n *\n * @param {Array} json\n * An array of `TextTrack` representation objects, like those that would be\n * produced by `textTracksToJson`.\n *\n * @param {Tech} tech\n * The `Tech` to create the `TextTrack`s on.\n */\nconst jsonToTextTracks = function (json, tech) {\n json.forEach(function (track) {\n const addedTrack = tech.addRemoteTextTrack(track).track;\n if (!track.src && track.cues) {\n track.cues.forEach(cue => addedTrack.addCue(cue));\n }\n });\n return tech.textTracks();\n};\nvar textTrackConverter = {\n textTracksToJson,\n jsonToTextTracks,\n trackToJson_\n};\n\n/**\n * @file modal-dialog.js\n */\n\n/** @import Player from './player' */\n/** @import { ContentDescriptor } from './utils/dom' */\n\nconst MODAL_CLASS_NAME = 'vjs-modal-dialog';\n\n/**\n * The `ModalDialog` displays over the video and its controls, which blocks\n * interaction with the player until it is closed.\n *\n * Modal dialogs include a \"Close\" button and will close when that button\n * is activated - or when ESC is pressed anywhere.\n *\n * @extends Component\n */\nclass ModalDialog extends Component$1 {\n /**\n * Creates an instance of this class.\n *\n * @param {Player} player\n * The `Player` that this class should be attached to.\n *\n * @param {Object} [options]\n * The key/value store of player options.\n *\n * @param {ContentDescriptor} [options.content=undefined]\n * Provide customized content for this modal.\n *\n * @param {string} [options.description]\n * A text description for the modal, primarily for accessibility.\n *\n * @param {boolean} [options.fillAlways=false]\n * Normally, modals are automatically filled only the first time\n * they open. This tells the modal to refresh its content\n * every time it opens.\n *\n * @param {string} [options.label]\n * A text label for the modal, primarily for accessibility.\n *\n * @param {boolean} [options.pauseOnOpen=true]\n * If `true`, playback will will be paused if playing when\n * the modal opens, and resumed when it closes.\n *\n * @param {boolean} [options.temporary=true]\n * If `true`, the modal can only be opened once; it will be\n * disposed as soon as it's closed.\n *\n * @param {boolean} [options.uncloseable=false]\n * If `true`, the user will not be able to close the modal\n * through the UI in the normal ways. Programmatic closing is\n * still possible.\n */\n constructor(player, options) {\n super(player, options);\n this.handleKeyDown_ = e => this.handleKeyDown(e);\n this.close_ = e => this.close(e);\n this.opened_ = this.hasBeenOpened_ = this.hasBeenFilled_ = false;\n this.closeable(!this.options_.uncloseable);\n this.content(this.options_.content);\n\n // Make sure the contentEl is defined AFTER any children are initialized\n // because we only want the contents of the modal in the contentEl\n // (not the UI elements like the close button).\n this.contentEl_ = createEl('div', {\n className: `${MODAL_CLASS_NAME}-content`\n }, {\n role: 'document'\n });\n this.descEl_ = createEl('p', {\n className: `${MODAL_CLASS_NAME}-description vjs-control-text`,\n id: this.el().getAttribute('aria-describedby')\n });\n textContent(this.descEl_, this.description());\n this.el_.appendChild(this.descEl_);\n this.el_.appendChild(this.contentEl_);\n }\n\n /**\n * Create the `ModalDialog`'s DOM element\n *\n * @return {Element}\n * The DOM element that gets created.\n */\n createEl() {\n return super.createEl('div', {\n className: this.buildCSSClass(),\n tabIndex: -1\n }, {\n 'aria-describedby': `${this.id()}_description`,\n 'aria-hidden': 'true',\n 'aria-label': this.label(),\n 'role': 'dialog',\n 'aria-live': 'polite'\n });\n }\n dispose() {\n this.contentEl_ = null;\n this.descEl_ = null;\n this.previouslyActiveEl_ = null;\n super.dispose();\n }\n\n /**\n * Builds the default DOM `className`.\n *\n * @return {string}\n * The DOM `className` for this object.\n */\n buildCSSClass() {\n return `${MODAL_CLASS_NAME} vjs-hidden ${super.buildCSSClass()}`;\n }\n\n /**\n * Returns the label string for this modal. Primarily used for accessibility.\n *\n * @return {string}\n * the localized or raw label of this modal.\n */\n label() {\n return this.localize(this.options_.label || 'Modal Window');\n }\n\n /**\n * Returns the description string for this modal. Primarily used for\n * accessibility.\n *\n * @return {string}\n * The localized or raw description of this modal.\n */\n description() {\n let desc = this.options_.description || this.localize('This is a modal window.');\n\n // Append a universal closeability message if the modal is closeable.\n if (this.closeable()) {\n desc += ' ' + this.localize('This modal can be closed by pressing the Escape key or activating the close button.');\n }\n return desc;\n }\n\n /**\n * Opens the modal.\n *\n * @fires ModalDialog#beforemodalopen\n * @fires ModalDialog#modalopen\n */\n open() {\n if (this.opened_) {\n if (this.options_.fillAlways) {\n this.fill();\n }\n return;\n }\n const player = this.player();\n\n /**\n * Fired just before a `ModalDialog` is opened.\n *\n * @event ModalDialog#beforemodalopen\n * @type {Event}\n */\n this.trigger('beforemodalopen');\n this.opened_ = true;\n\n // Fill content if the modal has never opened before and\n // never been filled.\n if (this.options_.fillAlways || !this.hasBeenOpened_ && !this.hasBeenFilled_) {\n this.fill();\n }\n\n // If the player was playing, pause it and take note of its previously\n // playing state.\n this.wasPlaying_ = !player.paused();\n if (this.options_.pauseOnOpen && this.wasPlaying_) {\n player.pause();\n }\n this.on('keydown', this.handleKeyDown_);\n\n // Hide controls and note if they were enabled.\n this.hadControls_ = player.controls();\n player.controls(false);\n this.show();\n this.conditionalFocus_();\n this.el().setAttribute('aria-hidden', 'false');\n\n /**\n * Fired just after a `ModalDialog` is opened.\n *\n * @event ModalDialog#modalopen\n * @type {Event}\n */\n this.trigger('modalopen');\n this.hasBeenOpened_ = true;\n }\n\n /**\n * If the `ModalDialog` is currently open or closed.\n *\n * @param {boolean} [value]\n * If given, it will open (`true`) or close (`false`) the modal.\n *\n * @return {boolean}\n * the current open state of the modaldialog\n */\n opened(value) {\n if (typeof value === 'boolean') {\n this[value ? 'open' : 'close']();\n }\n return this.opened_;\n }\n\n /**\n * Closes the modal, does nothing if the `ModalDialog` is\n * not open.\n *\n * @fires ModalDialog#beforemodalclose\n * @fires ModalDialog#modalclose\n */\n close() {\n if (!this.opened_) {\n return;\n }\n const player = this.player();\n\n /**\n * Fired just before a `ModalDialog` is closed.\n *\n * @event ModalDialog#beforemodalclose\n * @type {Event}\n */\n this.trigger('beforemodalclose');\n this.opened_ = false;\n if (this.wasPlaying_ && this.options_.pauseOnOpen) {\n player.play();\n }\n this.off('keydown', this.handleKeyDown_);\n if (this.hadControls_) {\n player.controls(true);\n }\n this.hide();\n this.el().setAttribute('aria-hidden', 'true');\n\n /**\n * Fired just after a `ModalDialog` is closed.\n *\n * @event ModalDialog#modalclose\n * @type {Event}\n *\n * @property {boolean} [bubbles=true]\n */\n this.trigger({\n type: 'modalclose',\n bubbles: true\n });\n this.conditionalBlur_();\n if (this.options_.temporary) {\n this.dispose();\n }\n }\n\n /**\n * Check to see if the `ModalDialog` is closeable via the UI.\n *\n * @param {boolean} [value]\n * If given as a boolean, it will set the `closeable` option.\n *\n * @return {boolean}\n * Returns the final value of the closable option.\n */\n closeable(value) {\n if (typeof value === 'boolean') {\n const closeable = this.closeable_ = !!value;\n let close = this.getChild('closeButton');\n\n // If this is being made closeable and has no close button, add one.\n if (closeable && !close) {\n // The close button should be a child of the modal - not its\n // content element, so temporarily change the content element.\n const temp = this.contentEl_;\n this.contentEl_ = this.el_;\n close = this.addChild('closeButton', {\n controlText: 'Close Modal Dialog'\n });\n this.contentEl_ = temp;\n this.on(close, 'close', this.close_);\n }\n\n // If this is being made uncloseable and has a close button, remove it.\n if (!closeable && close) {\n this.off(close, 'close', this.close_);\n this.removeChild(close);\n close.dispose();\n }\n }\n return this.closeable_;\n }\n\n /**\n * Fill the modal's content element with the modal's \"content\" option.\n * The content element will be emptied before this change takes place.\n */\n fill() {\n this.fillWith(this.content());\n }\n\n /**\n * Fill the modal's content element with arbitrary content.\n * The content element will be emptied before this change takes place.\n *\n * @fires ModalDialog#beforemodalfill\n * @fires ModalDialog#modalfill\n *\n * @param {ContentDescriptor} [content]\n * The same rules apply to this as apply to the `content` option.\n */\n fillWith(content) {\n const contentEl = this.contentEl();\n const parentEl = contentEl.parentNode;\n const nextSiblingEl = contentEl.nextSibling;\n\n /**\n * Fired just before a `ModalDialog` is filled with content.\n *\n * @event ModalDialog#beforemodalfill\n * @type {Event}\n */\n this.trigger('beforemodalfill');\n this.hasBeenFilled_ = true;\n\n // Detach the content element from the DOM before performing\n // manipulation to avoid modifying the live DOM multiple times.\n parentEl.removeChild(contentEl);\n this.empty();\n insertContent(contentEl, content);\n /**\n * Fired just after a `ModalDialog` is filled with content.\n *\n * @event ModalDialog#modalfill\n * @type {Event}\n */\n this.trigger('modalfill');\n\n // Re-inject the re-filled content element.\n if (nextSiblingEl) {\n parentEl.insertBefore(contentEl, nextSiblingEl);\n } else {\n parentEl.appendChild(contentEl);\n }\n\n // make sure that the close button is last in the dialog DOM\n const closeButton = this.getChild('closeButton');\n if (closeButton) {\n parentEl.appendChild(closeButton.el_);\n }\n\n /**\n * Fired after `ModalDialog` is re-filled with content & close button is appended.\n *\n * @event ModalDialog#aftermodalfill\n * @type {Event}\n */\n this.trigger('aftermodalfill');\n }\n\n /**\n * Empties the content element. This happens anytime the modal is filled.\n *\n * @fires ModalDialog#beforemodalempty\n * @fires ModalDialog#modalempty\n */\n empty() {\n /**\n * Fired just before a `ModalDialog` is emptied.\n *\n * @event ModalDialog#beforemodalempty\n * @type {Event}\n */\n this.trigger('beforemodalempty');\n emptyEl(this.contentEl());\n\n /**\n * Fired just after a `ModalDialog` is emptied.\n *\n * @event ModalDialog#modalempty\n * @type {Event}\n */\n this.trigger('modalempty');\n }\n\n /**\n * Gets or sets the modal content, which gets normalized before being\n * rendered into the DOM.\n *\n * This does not update the DOM or fill the modal, but it is called during\n * that process.\n *\n * @param {ContentDescriptor} [value]\n * If defined, sets the internal content value to be used on the\n * next call(s) to `fill`. This value is normalized before being\n * inserted. To \"clear\" the internal content value, pass `null`.\n *\n * @return {ContentDescriptor}\n * The current content of the modal dialog\n */\n content(value) {\n if (typeof value !== 'undefined') {\n this.content_ = value;\n }\n return this.content_;\n }\n\n /**\n * conditionally focus the modal dialog if focus was previously on the player.\n *\n * @private\n */\n conditionalFocus_() {\n const activeEl = document$1.activeElement;\n const playerEl = this.player_.el_;\n this.previouslyActiveEl_ = null;\n if (playerEl.contains(activeEl) || playerEl === activeEl) {\n this.previouslyActiveEl_ = activeEl;\n this.focus();\n }\n }\n\n /**\n * conditionally blur the element and refocus the last focused element\n *\n * @private\n */\n conditionalBlur_() {\n if (this.previouslyActiveEl_) {\n this.previouslyActiveEl_.focus();\n this.previouslyActiveEl_ = null;\n }\n }\n\n /**\n * Keydown handler. Attached when modal is focused.\n *\n * @listens keydown\n */\n handleKeyDown(event) {\n /**\n * Fired a custom keyDown event that bubbles.\n *\n * @event ModalDialog#modalKeydown\n * @type {Event}\n */\n this.trigger({\n type: 'modalKeydown',\n originalEvent: event,\n target: this,\n bubbles: true\n });\n // Do not allow keydowns to reach out of the modal dialog.\n event.stopPropagation();\n if (event.key === 'Escape' && this.closeable()) {\n event.preventDefault();\n this.close();\n return;\n }\n\n // exit early if it isn't a tab key\n if (event.key !== 'Tab') {\n return;\n }\n const focusableEls = this.focusableEls_();\n const activeEl = this.el_.querySelector(':focus');\n let focusIndex;\n for (let i = 0; i < focusableEls.length; i++) {\n if (activeEl === focusableEls[i]) {\n focusIndex = i;\n break;\n }\n }\n if (document$1.activeElement === this.el_) {\n focusIndex = 0;\n }\n if (event.shiftKey && focusIndex === 0) {\n focusableEls[focusableEls.length - 1].focus();\n event.preventDefault();\n } else if (!event.shiftKey && focusIndex === focusableEls.length - 1) {\n focusableEls[0].focus();\n event.preventDefault();\n }\n }\n\n /**\n * get all focusable elements\n *\n * @private\n */\n focusableEls_() {\n const allChildren = this.el_.querySelectorAll('*');\n return Array.prototype.filter.call(allChildren, child => {\n return (child instanceof window$1.HTMLAnchorElement || child instanceof window$1.HTMLAreaElement) && child.hasAttribute('href') || (child instanceof window$1.HTMLInputElement || child instanceof window$1.HTMLSelectElement || child instanceof window$1.HTMLTextAreaElement || child instanceof window$1.HTMLButtonElement) && !child.hasAttribute('disabled') || child instanceof window$1.HTMLIFrameElement || child instanceof window$1.HTMLObjectElement || child instanceof window$1.HTMLEmbedElement || child.hasAttribute('tabindex') && child.getAttribute('tabindex') !== -1 || child.hasAttribute('contenteditable');\n });\n }\n}\n\n/**\n * Default options for `ModalDialog` default options.\n *\n * @type {Object}\n * @private\n */\nModalDialog.prototype.options_ = {\n pauseOnOpen: true,\n temporary: true\n};\nComponent$1.registerComponent('ModalDialog', ModalDialog);\n\n/**\n * @file track-list.js\n */\n\n/** @import Track from './track' */\n\n/**\n * Common functionaliy between {@link TextTrackList}, {@link AudioTrackList}, and\n * {@link VideoTrackList}\n *\n * @extends EventTarget\n */\nclass TrackList extends EventTarget$2 {\n /**\n * Create an instance of this class\n *\n * @param { Track[] } tracks\n * A list of tracks to initialize the list with.\n *\n * @abstract\n */\n constructor(tracks = []) {\n super();\n this.tracks_ = [];\n\n /**\n * @memberof TrackList\n * @member {number} length\n * The current number of `Track`s in the this Trackist.\n * @instance\n */\n Object.defineProperty(this, 'length', {\n get() {\n return this.tracks_.length;\n }\n });\n for (let i = 0; i < tracks.length; i++) {\n this.addTrack(tracks[i]);\n }\n }\n\n /**\n * Add a {@link Track} to the `TrackList`\n *\n * @param {Track} track\n * The audio, video, or text track to add to the list.\n *\n * @fires TrackList#addtrack\n */\n addTrack(track) {\n const index = this.tracks_.length;\n if (!('' + index in this)) {\n Object.defineProperty(this, index, {\n get() {\n return this.tracks_[index];\n }\n });\n }\n\n // Do not add duplicate tracks\n if (this.tracks_.indexOf(track) === -1) {\n this.tracks_.push(track);\n /**\n * Triggered when a track is added to a track list.\n *\n * @event TrackList#addtrack\n * @type {Event}\n * @property {Track} track\n * A reference to track that was added.\n */\n this.trigger({\n track,\n type: 'addtrack',\n target: this\n });\n }\n\n /**\n * Triggered when a track label is changed.\n *\n * @event TrackList#addtrack\n * @type {Event}\n * @property {Track} track\n * A reference to track that was added.\n */\n track.labelchange_ = () => {\n this.trigger({\n track,\n type: 'labelchange',\n target: this\n });\n };\n if (isEvented(track)) {\n track.addEventListener('labelchange', track.labelchange_);\n }\n }\n\n /**\n * Remove a {@link Track} from the `TrackList`\n *\n * @param {Track} rtrack\n * The audio, video, or text track to remove from the list.\n *\n * @fires TrackList#removetrack\n */\n removeTrack(rtrack) {\n let track;\n for (let i = 0, l = this.length; i < l; i++) {\n if (this[i] === rtrack) {\n track = this[i];\n if (track.off) {\n track.off();\n }\n this.tracks_.splice(i, 1);\n break;\n }\n }\n if (!track) {\n return;\n }\n\n /**\n * Triggered when a track is removed from track list.\n *\n * @event TrackList#removetrack\n * @type {Event}\n * @property {Track} track\n * A reference to track that was removed.\n */\n this.trigger({\n track,\n type: 'removetrack',\n target: this\n });\n }\n\n /**\n * Get a Track from the TrackList by a tracks id\n *\n * @param {string} id - the id of the track to get\n * @method getTrackById\n * @return {Track}\n * @private\n */\n getTrackById(id) {\n let result = null;\n for (let i = 0, l = this.length; i < l; i++) {\n const track = this[i];\n if (track.id === id) {\n result = track;\n break;\n }\n }\n return result;\n }\n}\n\n/**\n * Triggered when a different track is selected/enabled.\n *\n * @event TrackList#change\n * @type {Event}\n */\n\n/**\n * Events that can be called with on + eventName. See {@link EventHandler}.\n *\n * @property {Object} TrackList#allowedEvents_\n * @protected\n */\nTrackList.prototype.allowedEvents_ = {\n change: 'change',\n addtrack: 'addtrack',\n removetrack: 'removetrack',\n labelchange: 'labelchange'\n};\n\n// emulate attribute EventHandler support to allow for feature detection\nfor (const event in TrackList.prototype.allowedEvents_) {\n TrackList.prototype['on' + event] = null;\n}\n\n/**\n * @file audio-track-list.js\n */\n\n/** @import AudioTrack from './audio-track' */\n\n/**\n * Anywhere we call this function we diverge from the spec\n * as we only support one enabled audiotrack at a time\n *\n * @param {AudioTrackList} list\n * list to work on\n *\n * @param {AudioTrack} track\n * The track to skip\n *\n * @private\n */\nconst disableOthers$1 = function (list, track) {\n for (let i = 0; i < list.length; i++) {\n if (!Object.keys(list[i]).length || track.id === list[i].id) {\n continue;\n }\n // another audio track is enabled, disable it\n list[i].enabled = false;\n }\n};\n\n/**\n * The current list of {@link AudioTrack} for a media file.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#audiotracklist}\n * @extends TrackList\n */\nclass AudioTrackList extends TrackList {\n /**\n * Create an instance of this class.\n *\n * @param {AudioTrack[]} [tracks=[]]\n * A list of `AudioTrack` to instantiate the list with.\n */\n constructor(tracks = []) {\n // make sure only 1 track is enabled\n // sorted from last index to first index\n for (let i = tracks.length - 1; i >= 0; i--) {\n if (tracks[i].enabled) {\n disableOthers$1(tracks, tracks[i]);\n break;\n }\n }\n super(tracks);\n this.changing_ = false;\n }\n\n /**\n * Add an {@link AudioTrack} to the `AudioTrackList`.\n *\n * @param {AudioTrack} track\n * The AudioTrack to add to the list\n *\n * @fires TrackList#addtrack\n */\n addTrack(track) {\n if (track.enabled) {\n disableOthers$1(this, track);\n }\n super.addTrack(track);\n // native tracks don't have this\n if (!track.addEventListener) {\n return;\n }\n track.enabledChange_ = () => {\n // when we are disabling other tracks (since we don't support\n // more than one track at a time) we will set changing_\n // to true so that we don't trigger additional change events\n if (this.changing_) {\n return;\n }\n this.changing_ = true;\n disableOthers$1(this, track);\n this.changing_ = false;\n this.trigger('change');\n };\n\n /**\n * @listens AudioTrack#enabledchange\n * @fires TrackList#change\n */\n track.addEventListener('enabledchange', track.enabledChange_);\n }\n removeTrack(rtrack) {\n super.removeTrack(rtrack);\n if (rtrack.removeEventListener && rtrack.enabledChange_) {\n rtrack.removeEventListener('enabledchange', rtrack.enabledChange_);\n rtrack.enabledChange_ = null;\n }\n }\n}\n\n/**\n * @file video-track-list.js\n */\n\n/** @import VideoTrack from './video-track' */\n\n/**\n * Un-select all other {@link VideoTrack}s that are selected.\n *\n * @param {VideoTrackList} list\n * list to work on\n *\n * @param {VideoTrack} track\n * The track to skip\n *\n * @private\n */\nconst disableOthers = function (list, track) {\n for (let i = 0; i < list.length; i++) {\n if (!Object.keys(list[i]).length || track.id === list[i].id) {\n continue;\n }\n // another video track is enabled, disable it\n list[i].selected = false;\n }\n};\n\n/**\n * The current list of {@link VideoTrack} for a video.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#videotracklist}\n * @extends TrackList\n */\nclass VideoTrackList extends TrackList {\n /**\n * Create an instance of this class.\n *\n * @param {VideoTrack[]} [tracks=[]]\n * A list of `VideoTrack` to instantiate the list with.\n */\n constructor(tracks = []) {\n // make sure only 1 track is enabled\n // sorted from last index to first index\n for (let i = tracks.length - 1; i >= 0; i--) {\n if (tracks[i].selected) {\n disableOthers(tracks, tracks[i]);\n break;\n }\n }\n super(tracks);\n this.changing_ = false;\n\n /**\n * @member {number} VideoTrackList#selectedIndex\n * The current index of the selected {@link VideoTrack`}.\n */\n Object.defineProperty(this, 'selectedIndex', {\n get() {\n for (let i = 0; i < this.length; i++) {\n if (this[i].selected) {\n return i;\n }\n }\n return -1;\n },\n set() {}\n });\n }\n\n /**\n * Add a {@link VideoTrack} to the `VideoTrackList`.\n *\n * @param {VideoTrack} track\n * The VideoTrack to add to the list\n *\n * @fires TrackList#addtrack\n */\n addTrack(track) {\n if (track.selected) {\n disableOthers(this, track);\n }\n super.addTrack(track);\n // native tracks don't have this\n if (!track.addEventListener) {\n return;\n }\n track.selectedChange_ = () => {\n if (this.changing_) {\n return;\n }\n this.changing_ = true;\n disableOthers(this, track);\n this.changing_ = false;\n this.trigger('change');\n };\n\n /**\n * @listens VideoTrack#selectedchange\n * @fires TrackList#change\n */\n track.addEventListener('selectedchange', track.selectedChange_);\n }\n removeTrack(rtrack) {\n super.removeTrack(rtrack);\n if (rtrack.removeEventListener && rtrack.selectedChange_) {\n rtrack.removeEventListener('selectedchange', rtrack.selectedChange_);\n rtrack.selectedChange_ = null;\n }\n }\n}\n\n/**\n * @file text-track-list.js\n */\n\n/** @import TextTrack from './text-track' */\n\n/**\n * The current list of {@link TextTrack} for a media file.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#texttracklist}\n * @extends TrackList\n */\nclass TextTrackList extends TrackList {\n /**\n * Add a {@link TextTrack} to the `TextTrackList`\n *\n * @param {TextTrack} track\n * The text track to add to the list.\n *\n * @fires TrackList#addtrack\n */\n addTrack(track) {\n super.addTrack(track);\n if (!this.queueChange_) {\n this.queueChange_ = () => this.queueTrigger('change');\n }\n if (!this.triggerSelectedlanguagechange) {\n this.triggerSelectedlanguagechange_ = () => this.trigger('selectedlanguagechange');\n }\n\n /**\n * @listens TextTrack#modechange\n * @fires TrackList#change\n */\n track.addEventListener('modechange', this.queueChange_);\n const nonLanguageTextTrackKind = ['metadata', 'chapters'];\n if (nonLanguageTextTrackKind.indexOf(track.kind) === -1) {\n track.addEventListener('modechange', this.triggerSelectedlanguagechange_);\n }\n }\n removeTrack(rtrack) {\n super.removeTrack(rtrack);\n\n // manually remove the event handlers we added\n if (rtrack.removeEventListener) {\n if (this.queueChange_) {\n rtrack.removeEventListener('modechange', this.queueChange_);\n }\n if (this.selectedlanguagechange_) {\n rtrack.removeEventListener('modechange', this.triggerSelectedlanguagechange_);\n }\n }\n }\n}\n\n/**\n * @file html-track-element-list.js\n */\n\n/**\n * The current list of {@link HtmlTrackElement}s.\n */\nclass HtmlTrackElementList {\n /**\n * Create an instance of this class.\n *\n * @param {HtmlTrackElement[]} [tracks=[]]\n * A list of `HtmlTrackElement` to instantiate the list with.\n */\n constructor(trackElements = []) {\n this.trackElements_ = [];\n\n /**\n * @memberof HtmlTrackElementList\n * @member {number} length\n * The current number of `Track`s in the this Trackist.\n * @instance\n */\n Object.defineProperty(this, 'length', {\n get() {\n return this.trackElements_.length;\n }\n });\n for (let i = 0, length = trackElements.length; i < length; i++) {\n this.addTrackElement_(trackElements[i]);\n }\n }\n\n /**\n * Add an {@link HtmlTrackElement} to the `HtmlTrackElementList`\n *\n * @param {HtmlTrackElement} trackElement\n * The track element to add to the list.\n *\n * @private\n */\n addTrackElement_(trackElement) {\n const index = this.trackElements_.length;\n if (!('' + index in this)) {\n Object.defineProperty(this, index, {\n get() {\n return this.trackElements_[index];\n }\n });\n }\n\n // Do not add duplicate elements\n if (this.trackElements_.indexOf(trackElement) === -1) {\n this.trackElements_.push(trackElement);\n }\n }\n\n /**\n * Get an {@link HtmlTrackElement} from the `HtmlTrackElementList` given an\n * {@link TextTrack}.\n *\n * @param {TextTrack} track\n * The track associated with a track element.\n *\n * @return {HtmlTrackElement|undefined}\n * The track element that was found or undefined.\n *\n * @private\n */\n getTrackElementByTrack_(track) {\n let trackElement_;\n for (let i = 0, length = this.trackElements_.length; i < length; i++) {\n if (track === this.trackElements_[i].track) {\n trackElement_ = this.trackElements_[i];\n break;\n }\n }\n return trackElement_;\n }\n\n /**\n * Remove a {@link HtmlTrackElement} from the `HtmlTrackElementList`\n *\n * @param {HtmlTrackElement} trackElement\n * The track element to remove from the list.\n *\n * @private\n */\n removeTrackElement_(trackElement) {\n for (let i = 0, length = this.trackElements_.length; i < length; i++) {\n if (trackElement === this.trackElements_[i]) {\n if (this.trackElements_[i].track && typeof this.trackElements_[i].track.off === 'function') {\n this.trackElements_[i].track.off();\n }\n if (typeof this.trackElements_[i].off === 'function') {\n this.trackElements_[i].off();\n }\n this.trackElements_.splice(i, 1);\n break;\n }\n }\n }\n}\n\n/**\n * @file text-track-cue-list.js\n */\n\n/**\n * @typedef {Object} TextTrackCueList~TextTrackCue\n *\n * @property {string} id\n * The unique id for this text track cue\n *\n * @property {number} startTime\n * The start time for this text track cue\n *\n * @property {number} endTime\n * The end time for this text track cue\n *\n * @property {boolean} pauseOnExit\n * Pause when the end time is reached if true.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#texttrackcue}\n */\n\n/**\n * A List of TextTrackCues.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#texttrackcuelist}\n */\nclass TextTrackCueList {\n /**\n * Create an instance of this class..\n *\n * @param {Array} cues\n * A list of cues to be initialized with\n */\n constructor(cues) {\n TextTrackCueList.prototype.setCues_.call(this, cues);\n\n /**\n * @memberof TextTrackCueList\n * @member {number} length\n * The current number of `TextTrackCue`s in the TextTrackCueList.\n * @instance\n */\n Object.defineProperty(this, 'length', {\n get() {\n return this.length_;\n }\n });\n }\n\n /**\n * A setter for cues in this list. Creates getters\n * an an index for the cues.\n *\n * @param {Array} cues\n * An array of cues to set\n *\n * @private\n */\n setCues_(cues) {\n const oldLength = this.length || 0;\n let i = 0;\n const l = cues.length;\n this.cues_ = cues;\n this.length_ = cues.length;\n const defineProp = function (index) {\n if (!('' + index in this)) {\n Object.defineProperty(this, '' + index, {\n get() {\n return this.cues_[index];\n }\n });\n }\n };\n if (oldLength < l) {\n i = oldLength;\n for (; i < l; i++) {\n defineProp.call(this, i);\n }\n }\n }\n\n /**\n * Get a `TextTrackCue` that is currently in the `TextTrackCueList` by id.\n *\n * @param {string} id\n * The id of the cue that should be searched for.\n *\n * @return {TextTrackCueList~TextTrackCue|null}\n * A single cue or null if none was found.\n */\n getCueById(id) {\n let result = null;\n for (let i = 0, l = this.length; i < l; i++) {\n const cue = this[i];\n if (cue.id === id) {\n result = cue;\n break;\n }\n }\n return result;\n }\n}\n\n/**\n * @file track-kinds.js\n */\n\n/**\n * All possible `VideoTrackKind`s\n *\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#dom-videotrack-kind\n * @typedef VideoTrack~Kind\n * @enum\n */\nconst VideoTrackKind = {\n alternative: 'alternative',\n captions: 'captions',\n main: 'main',\n sign: 'sign',\n subtitles: 'subtitles',\n commentary: 'commentary'\n};\n\n/**\n * All possible `AudioTrackKind`s\n *\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#dom-audiotrack-kind\n * @typedef AudioTrack~Kind\n * @enum\n */\nconst AudioTrackKind = {\n 'alternative': 'alternative',\n 'descriptions': 'descriptions',\n 'main': 'main',\n 'main-desc': 'main-desc',\n 'translation': 'translation',\n 'commentary': 'commentary'\n};\n\n/**\n * All possible `TextTrackKind`s\n *\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#dom-texttrack-kind\n * @typedef TextTrack~Kind\n * @enum\n */\nconst TextTrackKind = {\n subtitles: 'subtitles',\n captions: 'captions',\n descriptions: 'descriptions',\n chapters: 'chapters',\n metadata: 'metadata'\n};\n\n/**\n * All possible `TextTrackMode`s\n *\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#texttrackmode\n * @typedef TextTrack~Mode\n * @enum\n */\nconst TextTrackMode = {\n disabled: 'disabled',\n hidden: 'hidden',\n showing: 'showing'\n};\n\n/**\n * @file track.js\n */\n\n/**\n * A Track class that contains all of the common functionality for {@link AudioTrack},\n * {@link VideoTrack}, and {@link TextTrack}.\n *\n * > Note: This class should not be used directly\n *\n * @see {@link https://html.spec.whatwg.org/multipage/embedded-content.html}\n * @extends EventTarget\n * @abstract\n */\nclass Track extends EventTarget$2 {\n /**\n * Create an instance of this class.\n *\n * @param {Object} [options={}]\n * Object of option names and values\n *\n * @param {string} [options.kind='']\n * A valid kind for the track type you are creating.\n *\n * @param {string} [options.id='vjs_track_' + Guid.newGUID()]\n * A unique id for this AudioTrack.\n *\n * @param {string} [options.label='']\n * The menu label for this track.\n *\n * @param {string} [options.language='']\n * A valid two character language code.\n *\n * @abstract\n */\n constructor(options = {}) {\n super();\n const trackProps = {\n id: options.id || 'vjs_track_' + newGUID(),\n kind: options.kind || '',\n language: options.language || ''\n };\n let label = options.label || '';\n\n /**\n * @memberof Track\n * @member {string} id\n * The id of this track. Cannot be changed after creation.\n * @instance\n *\n * @readonly\n */\n\n /**\n * @memberof Track\n * @member {string} kind\n * The kind of track that this is. Cannot be changed after creation.\n * @instance\n *\n * @readonly\n */\n\n /**\n * @memberof Track\n * @member {string} language\n * The two letter language code for this track. Cannot be changed after\n * creation.\n * @instance\n *\n * @readonly\n */\n\n for (const key in trackProps) {\n Object.defineProperty(this, key, {\n get() {\n return trackProps[key];\n },\n set() {}\n });\n }\n\n /**\n * @memberof Track\n * @member {string} label\n * The label of this track. Cannot be changed after creation.\n * @instance\n *\n * @fires Track#labelchange\n */\n Object.defineProperty(this, 'label', {\n get() {\n return label;\n },\n set(newLabel) {\n if (newLabel !== label) {\n label = newLabel;\n\n /**\n * An event that fires when label changes on this track.\n *\n * > Note: This is not part of the spec!\n *\n * @event Track#labelchange\n * @type {Event}\n */\n this.trigger('labelchange');\n }\n }\n });\n }\n}\n\n/**\n * @file url.js\n * @module url\n */\n\n/**\n * Resolve and parse the elements of a URL.\n *\n * @function\n * @param {string} url\n * The url to parse\n *\n * @return {URL}\n * An object of url details\n */\nconst parseUrl = function (url) {\n return new URL(url, document$1.baseURI);\n};\n\n/**\n * Get absolute version of relative URL.\n *\n * @function\n * @param {string} url\n * URL to make absolute\n *\n * @return {string}\n * Absolute URL\n */\nconst getAbsoluteURL = function (url) {\n return new URL(url, document$1.baseURI).href;\n};\n\n/**\n * Returns the extension of the passed file name. It will return an empty string\n * if passed an invalid path.\n *\n * @function\n * @param {string} path\n * The fileName path like '/path/to/file.mp4'\n *\n * @return {string}\n * The extension in lower case or an empty string if no\n * extension could be found.\n */\nconst getFileExtension = function (path) {\n if (typeof path === 'string') {\n const splitPathRe = /^(\\/?)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?)(\\.([^\\.\\/\\?]+)))(?:[\\/]*|[\\?].*)$/;\n const pathParts = splitPathRe.exec(path);\n if (pathParts) {\n return pathParts.pop().toLowerCase();\n }\n }\n return '';\n};\n\n/**\n * Returns whether the url passed is a cross domain request or not.\n *\n * @function\n * @param {string} url\n * The url to check.\n *\n * @param {URL} [winLoc]\n * the domain to check the url against, defaults to window.location\n *\n * @return {boolean}\n * Whether it is a cross domain request or not.\n */\nconst isCrossOrigin = function (url, winLoc = window$1.location) {\n return parseUrl(url).origin !== winLoc.origin;\n};\n\nvar Url = /*#__PURE__*/Object.freeze({\n __proto__: null,\n parseUrl: parseUrl,\n getAbsoluteURL: getAbsoluteURL,\n getFileExtension: getFileExtension,\n isCrossOrigin: isCrossOrigin\n});\n\n/**\n * @file text-track.js\n */\n\n/** @import Tech from '../tech/tech' */\n\n/**\n * Takes a webvtt file contents and parses it into cues\n *\n * @param {string} srcContent\n * webVTT file contents\n *\n * @param {TextTrack} track\n * TextTrack to add cues to. Cues come from the srcContent.\n *\n * @private\n */\nconst parseCues = function (srcContent, track) {\n const parser = new window$1.WebVTT.Parser(window$1, window$1.vttjs, window$1.WebVTT.StringDecoder());\n const errors = [];\n parser.oncue = function (cue) {\n track.addCue(cue);\n };\n parser.onparsingerror = function (error) {\n errors.push(error);\n };\n parser.onflush = function () {\n track.trigger({\n type: 'loadeddata',\n target: track\n });\n };\n parser.parse(srcContent);\n if (errors.length > 0) {\n if (window$1.console && window$1.console.groupCollapsed) {\n window$1.console.groupCollapsed(`Text Track parsing errors for ${track.src}`);\n }\n errors.forEach(error => log$1.error(error));\n if (window$1.console && window$1.console.groupEnd) {\n window$1.console.groupEnd();\n }\n }\n parser.flush();\n};\n\n/**\n * Load a `TextTrack` from a specified url.\n *\n * @param {string} src\n * Url to load track from.\n *\n * @param {TextTrack} track\n * Track to add cues to. Comes from the content at the end of `url`.\n *\n * @private\n */\nconst loadTrack = function (src, track) {\n const opts = {\n uri: src\n };\n const crossOrigin = isCrossOrigin(src);\n if (crossOrigin) {\n opts.cors = crossOrigin;\n }\n const withCredentials = track.tech_.crossOrigin() === 'use-credentials';\n if (withCredentials) {\n opts.withCredentials = withCredentials;\n }\n XHR(opts, bind_(this, function (err, response, responseBody) {\n if (err) {\n return log$1.error(err, response);\n }\n track.loaded_ = true;\n\n // Make sure that vttjs has loaded, otherwise, wait till it finished loading\n // NOTE: this is only used for the alt/video.novtt.js build\n if (typeof window$1.WebVTT !== 'function') {\n if (track.tech_) {\n // to prevent use before define eslint error, we define loadHandler\n // as a let here\n track.tech_.any(['vttjsloaded', 'vttjserror'], event => {\n if (event.type === 'vttjserror') {\n log$1.error(`vttjs failed to load, stopping trying to process ${track.src}`);\n return;\n }\n return parseCues(responseBody, track);\n });\n }\n } else {\n parseCues(responseBody, track);\n }\n }));\n};\n\n/**\n * A representation of a single `TextTrack`.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#texttrack}\n * @extends Track\n */\nclass TextTrack extends Track {\n /**\n * Create an instance of this class.\n *\n * @param {Object} options={}\n * Object of option names and values\n *\n * @param {Tech} options.tech\n * A reference to the tech that owns this TextTrack.\n *\n * @param {TextTrack~Kind} [options.kind='subtitles']\n * A valid text track kind.\n *\n * @param {TextTrack~Mode} [options.mode='disabled']\n * A valid text track mode.\n *\n * @param {string} [options.id='vjs_track_' + Guid.newGUID()]\n * A unique id for this TextTrack.\n *\n * @param {string} [options.label='']\n * The menu label for this track.\n *\n * @param {string} [options.language='']\n * A valid two character language code.\n *\n * @param {string} [options.srclang='']\n * A valid two character language code. An alternative, but deprioritized\n * version of `options.language`\n *\n * @param {string} [options.src]\n * A url to TextTrack cues.\n *\n * @param {boolean} [options.default]\n * If this track should default to on or off.\n */\n constructor(options = {}) {\n if (!options.tech) {\n throw new Error('A tech was not provided.');\n }\n const settings = merge$1(options, {\n kind: TextTrackKind[options.kind] || 'subtitles',\n language: options.language || options.srclang || ''\n });\n let mode = TextTrackMode[settings.mode] || 'disabled';\n const default_ = settings.default;\n if (settings.kind === 'metadata' || settings.kind === 'chapters') {\n mode = 'hidden';\n }\n super(settings);\n this.tech_ = settings.tech;\n this.cues_ = [];\n this.activeCues_ = [];\n this.preload_ = this.tech_.preloadTextTracks !== false;\n const cues = new TextTrackCueList(this.cues_);\n const activeCues = new TextTrackCueList(this.activeCues_);\n let changed = false;\n this.timeupdateHandler = bind_(this, function (event = {}) {\n if (this.tech_.isDisposed()) {\n return;\n }\n if (!this.tech_.isReady_) {\n if (event.type !== 'timeupdate') {\n this.rvf_ = this.tech_.requestVideoFrameCallback(this.timeupdateHandler);\n }\n return;\n }\n\n // Accessing this.activeCues for the side-effects of updating itself\n // due to its nature as a getter function. Do not remove or cues will\n // stop updating!\n // Use the setter to prevent deletion from uglify (pure_getters rule)\n this.activeCues = this.activeCues;\n if (changed) {\n this.trigger('cuechange');\n changed = false;\n }\n if (event.type !== 'timeupdate') {\n this.rvf_ = this.tech_.requestVideoFrameCallback(this.timeupdateHandler);\n }\n });\n const disposeHandler = () => {\n this.stopTracking();\n };\n this.tech_.one('dispose', disposeHandler);\n if (mode !== 'disabled') {\n this.startTracking();\n }\n Object.defineProperties(this, {\n /**\n * @memberof TextTrack\n * @member {boolean} default\n * If this track was set to be on or off by default. Cannot be changed after\n * creation.\n * @instance\n *\n * @readonly\n */\n default: {\n get() {\n return default_;\n },\n set() {}\n },\n /**\n * @memberof TextTrack\n * @member {string} mode\n * Set the mode of this TextTrack to a valid {@link TextTrack~Mode}. Will\n * not be set if setting to an invalid mode.\n * @instance\n *\n * @fires TextTrack#modechange\n */\n mode: {\n get() {\n return mode;\n },\n set(newMode) {\n if (!TextTrackMode[newMode]) {\n return;\n }\n if (mode === newMode) {\n return;\n }\n mode = newMode;\n if (!this.preload_ && mode !== 'disabled' && this.cues.length === 0) {\n // On-demand load.\n loadTrack(this.src, this);\n }\n this.stopTracking();\n if (mode !== 'disabled') {\n this.startTracking();\n }\n /**\n * An event that fires when mode changes on this track. This allows\n * the TextTrackList that holds this track to act accordingly.\n *\n * > Note: This is not part of the spec!\n *\n * @event TextTrack#modechange\n * @type {Event}\n */\n this.trigger('modechange');\n }\n },\n /**\n * @memberof TextTrack\n * @member {TextTrackCueList} cues\n * The text track cue list for this TextTrack.\n * @instance\n */\n cues: {\n get() {\n if (!this.loaded_) {\n return null;\n }\n return cues;\n },\n set() {}\n },\n /**\n * @memberof TextTrack\n * @member {TextTrackCueList} activeCues\n * The list text track cues that are currently active for this TextTrack.\n * @instance\n */\n activeCues: {\n get() {\n if (!this.loaded_) {\n return null;\n }\n\n // nothing to do\n if (this.cues.length === 0) {\n return activeCues;\n }\n const ct = this.tech_.currentTime();\n const active = [];\n for (let i = 0, l = this.cues.length; i < l; i++) {\n const cue = this.cues[i];\n if (cue.startTime <= ct && cue.endTime >= ct) {\n active.push(cue);\n }\n }\n changed = false;\n if (active.length !== this.activeCues_.length) {\n changed = true;\n } else {\n for (let i = 0; i < active.length; i++) {\n if (this.activeCues_.indexOf(active[i]) === -1) {\n changed = true;\n }\n }\n }\n this.activeCues_ = active;\n activeCues.setCues_(this.activeCues_);\n return activeCues;\n },\n // /!\\ Keep this setter empty (see the timeupdate handler above)\n set() {}\n }\n });\n if (settings.src) {\n this.src = settings.src;\n if (!this.preload_) {\n // Tracks will load on-demand.\n // Act like we're loaded for other purposes.\n this.loaded_ = true;\n }\n if (this.preload_ || settings.kind !== 'subtitles' && settings.kind !== 'captions') {\n loadTrack(this.src, this);\n }\n } else {\n this.loaded_ = true;\n }\n }\n startTracking() {\n // More precise cues based on requestVideoFrameCallback with a requestAnimationFram fallback\n this.rvf_ = this.tech_.requestVideoFrameCallback(this.timeupdateHandler);\n // Also listen to timeupdate in case rVFC/rAF stops (window in background, audio in video el)\n this.tech_.on('timeupdate', this.timeupdateHandler);\n }\n stopTracking() {\n if (this.rvf_) {\n this.tech_.cancelVideoFrameCallback(this.rvf_);\n this.rvf_ = undefined;\n }\n this.tech_.off('timeupdate', this.timeupdateHandler);\n }\n\n /**\n * Add a cue to the internal list of cues.\n *\n * @param {TextTrack~Cue} cue\n * The cue to add to our internal list\n */\n addCue(originalCue) {\n let cue = originalCue;\n\n // Testing if the cue is a VTTCue in a way that survives minification\n if (!('getCueAsHTML' in cue)) {\n cue = new window$1.vttjs.VTTCue(originalCue.startTime, originalCue.endTime, originalCue.text);\n for (const prop in originalCue) {\n if (!(prop in cue)) {\n cue[prop] = originalCue[prop];\n }\n }\n\n // make sure that `id` is copied over\n cue.id = originalCue.id;\n cue.originalCue_ = originalCue;\n }\n const tracks = this.tech_.textTracks();\n for (let i = 0; i < tracks.length; i++) {\n if (tracks[i] !== this) {\n tracks[i].removeCue(cue);\n }\n }\n this.cues_.push(cue);\n this.cues.setCues_(this.cues_);\n }\n\n /**\n * Remove a cue from our internal list\n *\n * @param {TextTrack~Cue} removeCue\n * The cue to remove from our internal list\n */\n removeCue(removeCue) {\n let i = this.cues_.length;\n while (i--) {\n const cue = this.cues_[i];\n if (cue === removeCue || cue.originalCue_ && cue.originalCue_ === removeCue) {\n this.cues_.splice(i, 1);\n this.cues.setCues_(this.cues_);\n break;\n }\n }\n }\n}\n\n/**\n * cuechange - One or more cues in the track have become active or stopped being active.\n *\n * @protected\n */\nTextTrack.prototype.allowedEvents_ = {\n cuechange: 'cuechange'\n};\n\n/**\n * A representation of a single `AudioTrack`. If it is part of an {@link AudioTrackList}\n * only one `AudioTrack` in the list will be enabled at a time.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#audiotrack}\n * @extends Track\n */\nclass AudioTrack extends Track {\n /**\n * Create an instance of this class.\n *\n * @param {Object} [options={}]\n * Object of option names and values\n *\n * @param {AudioTrack~Kind} [options.kind='']\n * A valid audio track kind\n *\n * @param {string} [options.id='vjs_track_' + Guid.newGUID()]\n * A unique id for this AudioTrack.\n *\n * @param {string} [options.label='']\n * The menu label for this track.\n *\n * @param {string} [options.language='']\n * A valid two character language code.\n *\n * @param {boolean} [options.enabled]\n * If this track is the one that is currently playing. If this track is part of\n * an {@link AudioTrackList}, only one {@link AudioTrack} will be enabled.\n */\n constructor(options = {}) {\n const settings = merge$1(options, {\n kind: AudioTrackKind[options.kind] || ''\n });\n super(settings);\n let enabled = false;\n\n /**\n * @memberof AudioTrack\n * @member {boolean} enabled\n * If this `AudioTrack` is enabled or not. When setting this will\n * fire {@link AudioTrack#enabledchange} if the state of enabled is changed.\n * @instance\n *\n * @fires VideoTrack#selectedchange\n */\n Object.defineProperty(this, 'enabled', {\n get() {\n return enabled;\n },\n set(newEnabled) {\n // an invalid or unchanged value\n if (typeof newEnabled !== 'boolean' || newEnabled === enabled) {\n return;\n }\n enabled = newEnabled;\n\n /**\n * An event that fires when enabled changes on this track. This allows\n * the AudioTrackList that holds this track to act accordingly.\n *\n * > Note: This is not part of the spec! Native tracks will do\n * this internally without an event.\n *\n * @event AudioTrack#enabledchange\n * @type {Event}\n */\n this.trigger('enabledchange');\n }\n });\n\n // if the user sets this track to selected then\n // set selected to that true value otherwise\n // we keep it false\n if (settings.enabled) {\n this.enabled = settings.enabled;\n }\n this.loaded_ = true;\n }\n}\n\n/**\n * A representation of a single `VideoTrack`.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#videotrack}\n * @extends Track\n */\nclass VideoTrack extends Track {\n /**\n * Create an instance of this class.\n *\n * @param {Object} [options={}]\n * Object of option names and values\n *\n * @param {string} [options.kind='']\n * A valid {@link VideoTrack~Kind}\n *\n * @param {string} [options.id='vjs_track_' + Guid.newGUID()]\n * A unique id for this AudioTrack.\n *\n * @param {string} [options.label='']\n * The menu label for this track.\n *\n * @param {string} [options.language='']\n * A valid two character language code.\n *\n * @param {boolean} [options.selected]\n * If this track is the one that is currently playing.\n */\n constructor(options = {}) {\n const settings = merge$1(options, {\n kind: VideoTrackKind[options.kind] || ''\n });\n super(settings);\n let selected = false;\n\n /**\n * @memberof VideoTrack\n * @member {boolean} selected\n * If this `VideoTrack` is selected or not. When setting this will\n * fire {@link VideoTrack#selectedchange} if the state of selected changed.\n * @instance\n *\n * @fires VideoTrack#selectedchange\n */\n Object.defineProperty(this, 'selected', {\n get() {\n return selected;\n },\n set(newSelected) {\n // an invalid or unchanged value\n if (typeof newSelected !== 'boolean' || newSelected === selected) {\n return;\n }\n selected = newSelected;\n\n /**\n * An event that fires when selected changes on this track. This allows\n * the VideoTrackList that holds this track to act accordingly.\n *\n * > Note: This is not part of the spec! Native tracks will do\n * this internally without an event.\n *\n * @event VideoTrack#selectedchange\n * @type {Event}\n */\n this.trigger('selectedchange');\n }\n });\n\n // if the user sets this track to selected then\n // set selected to that true value otherwise\n // we keep it false\n if (settings.selected) {\n this.selected = settings.selected;\n }\n }\n}\n\n/**\n * @file html-track-element.js\n */\n\n/** @import Tech from '../tech/tech' */\n\n/**\n * A single track represented in the DOM.\n *\n * @see [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#htmltrackelement}\n * @extends EventTarget\n */\nclass HTMLTrackElement extends EventTarget$2 {\n /**\n * Create an instance of this class.\n *\n * @param {Object} options={}\n * Object of option names and values\n *\n * @param {Tech} options.tech\n * A reference to the tech that owns this HTMLTrackElement.\n *\n * @param {TextTrack~Kind} [options.kind='subtitles']\n * A valid text track kind.\n *\n * @param {TextTrack~Mode} [options.mode='disabled']\n * A valid text track mode.\n *\n * @param {string} [options.id='vjs_track_' + Guid.newGUID()]\n * A unique id for this TextTrack.\n *\n * @param {string} [options.label='']\n * The menu label for this track.\n *\n * @param {string} [options.language='']\n * A valid two character language code.\n *\n * @param {string} [options.srclang='']\n * A valid two character language code. An alternative, but deprioritized\n * version of `options.language`\n *\n * @param {string} [options.src]\n * A url to TextTrack cues.\n *\n * @param {boolean} [options.default]\n * If this track should default to on or off.\n */\n constructor(options = {}) {\n super();\n let readyState;\n const track = new TextTrack(options);\n this.kind = track.kind;\n this.src = track.src;\n this.srclang = track.language;\n this.label = track.label;\n this.default = track.default;\n Object.defineProperties(this, {\n /**\n * @memberof HTMLTrackElement\n * @member {HTMLTrackElement~ReadyState} readyState\n * The current ready state of the track element.\n * @instance\n */\n readyState: {\n get() {\n return readyState;\n }\n },\n /**\n * @memberof HTMLTrackElement\n * @member {TextTrack} track\n * The underlying TextTrack object.\n * @instance\n *\n */\n track: {\n get() {\n return track;\n }\n }\n });\n readyState = HTMLTrackElement.NONE;\n\n /**\n * @listens TextTrack#loadeddata\n * @fires HTMLTrackElement#load\n */\n track.addEventListener('loadeddata', () => {\n readyState = HTMLTrackElement.LOADED;\n this.trigger({\n type: 'load',\n target: this\n });\n });\n }\n}\n\n/**\n * @protected\n */\nHTMLTrackElement.prototype.allowedEvents_ = {\n load: 'load'\n};\n\n/**\n * The text track not loaded state.\n *\n * @type {number}\n * @static\n */\nHTMLTrackElement.NONE = 0;\n\n/**\n * The text track loading state.\n *\n * @type {number}\n * @static\n */\nHTMLTrackElement.LOADING = 1;\n\n/**\n * The text track loaded state.\n *\n * @type {number}\n * @static\n */\nHTMLTrackElement.LOADED = 2;\n\n/**\n * The text track failed to load state.\n *\n * @type {number}\n * @static\n */\nHTMLTrackElement.ERROR = 3;\n\n/*\n * This file contains all track properties that are used in\n * player.js, tech.js, html5.js and possibly other techs in the future.\n */\n\nconst NORMAL = {\n audio: {\n ListClass: AudioTrackList,\n TrackClass: AudioTrack,\n capitalName: 'Audio'\n },\n video: {\n ListClass: VideoTrackList,\n TrackClass: VideoTrack,\n capitalName: 'Video'\n },\n text: {\n ListClass: TextTrackList,\n TrackClass: TextTrack,\n capitalName: 'Text'\n }\n};\nObject.keys(NORMAL).forEach(function (type) {\n NORMAL[type].getterName = `${type}Tracks`;\n NORMAL[type].privateName = `${type}Tracks_`;\n});\nconst REMOTE = {\n remoteText: {\n ListClass: TextTrackList,\n TrackClass: TextTrack,\n capitalName: 'RemoteText',\n getterName: 'remoteTextTracks',\n privateName: 'remoteTextTracks_'\n },\n remoteTextEl: {\n ListClass: HtmlTrackElementList,\n TrackClass: HTMLTrackElement,\n capitalName: 'RemoteTextTrackEls',\n getterName: 'remoteTextTrackEls',\n privateName: 'remoteTextTrackEls_'\n }\n};\nconst ALL = Object.assign({}, NORMAL, REMOTE);\nREMOTE.names = Object.keys(REMOTE);\nNORMAL.names = Object.keys(NORMAL);\nALL.names = [].concat(REMOTE.names).concat(NORMAL.names);\n\n/**\n * @file tech.js\n */\n\n/** @import { TimeRange } from '../utils/time' */\n\n/**\n * An Object containing a structure like: `{src: 'url', type: 'mimetype'}` or string\n * that just contains the src url alone.\n * * `var SourceObject = {src: 'http://ex.com/video.mp4', type: 'video/mp4'};`\n * `var SourceString = 'http://example.com/some-video.mp4';`\n *\n * @typedef {Object|string} SourceObject\n *\n * @property {string} src\n * The url to the source\n *\n * @property {string} type\n * The mime type of the source\n */\n\n/**\n * A function used by {@link Tech} to create a new {@link TextTrack}.\n *\n * @private\n *\n * @param {Tech} self\n * An instance of the Tech class.\n *\n * @param {string} kind\n * `TextTrack` kind (subtitles, captions, descriptions, chapters, or metadata)\n *\n * @param {string} [label]\n * Label to identify the text track\n *\n * @param {string} [language]\n * Two letter language abbreviation\n *\n * @param {Object} [options={}]\n * An object with additional text track options\n *\n * @return {TextTrack}\n * The text track that was created.\n */\nfunction createTrackHelper(self, kind, label, language, options = {}) {\n const tracks = self.textTracks();\n options.kind = kind;\n if (label) {\n options.label = label;\n }\n if (language) {\n options.language = language;\n }\n options.tech = self;\n const track = new ALL.text.TrackClass(options);\n tracks.addTrack(track);\n return track;\n}\n\n/**\n * This is the base class for media playback technology controllers, such as\n * {@link HTML5}\n *\n * @extends Component\n */\nclass Tech extends Component$1 {\n /**\n * Create an instance of this Tech.\n *\n * @param {Object} [options]\n * The key/value store of player options.\n *\n * @param {Function} [ready]\n * Callback function to call when the `HTML5` Tech is ready.\n */\n constructor(options = {}, ready = function () {}) {\n // we don't want the tech to report user activity automatically.\n // This is done manually in addControlsListeners\n options.reportTouchActivity = false;\n super(null, options, ready);\n this.onDurationChange_ = e => this.onDurationChange(e);\n this.trackProgress_ = e => this.trackProgress(e);\n this.trackCurrentTime_ = e => this.trackCurrentTime(e);\n this.stopTrackingCurrentTime_ = e => this.stopTrackingCurrentTime(e);\n this.disposeSourceHandler_ = e => this.disposeSourceHandler(e);\n this.queuedHanders_ = new Set();\n\n // keep track of whether the current source has played at all to\n // implement a very limited played()\n this.hasStarted_ = false;\n this.on('playing', function () {\n this.hasStarted_ = true;\n });\n this.on('loadstart', function () {\n this.hasStarted_ = false;\n });\n ALL.names.forEach(name => {\n const props = ALL[name];\n if (options && options[props.getterName]) {\n this[props.privateName] = options[props.getterName];\n }\n });\n\n // Manually track progress in cases where the browser/tech doesn't report it.\n if (!this.featuresProgressEvents) {\n this.manualProgressOn();\n }\n\n // Manually track timeupdates in cases where the browser/tech doesn't report it.\n if (!this.featuresTimeupdateEvents) {\n this.manualTimeUpdatesOn();\n }\n ['Text', 'Audio', 'Video'].forEach(track => {\n if (options[`native${track}Tracks`] === false) {\n this[`featuresNative${track}Tracks`] = false;\n }\n });\n if (options.nativeCaptions === false || options.nativeTextTracks === false) {\n this.featuresNativeTextTracks = false;\n } else if (options.nativeCaptions === true || options.nativeTextTracks === true) {\n this.featuresNativeTextTracks = true;\n }\n if (!this.featuresNativeTextTracks) {\n this.emulateTextTracks();\n }\n this.preloadTextTracks = options.preloadTextTracks !== false;\n this.autoRemoteTextTracks_ = new ALL.text.ListClass();\n this.initTrackListeners();\n\n // Turn on component tap events only if not using native controls\n if (!options.nativeControlsForTouch) {\n this.emitTapEvents();\n }\n if (this.constructor) {\n this.name_ = this.constructor.name || 'Unknown Tech';\n }\n }\n\n /**\n * A special function to trigger source set in a way that will allow player\n * to re-trigger if the player or tech are not ready yet.\n *\n * @fires Tech#sourceset\n * @param {string} src The source string at the time of the source changing.\n */\n triggerSourceset(src) {\n if (!this.isReady_) {\n // on initial ready we have to trigger source set\n // 1ms after ready so that player can watch for it.\n this.one('ready', () => this.setTimeout(() => this.triggerSourceset(src), 1));\n }\n\n /**\n * Fired when the source is set on the tech causing the media element\n * to reload.\n *\n * @see {@link Player#event:sourceset}\n * @event Tech#sourceset\n * @type {Event}\n */\n this.trigger({\n src,\n type: 'sourceset'\n });\n }\n\n /* Fallbacks for unsupported event types\n ================================================================================ */\n\n /**\n * Polyfill the `progress` event for browsers that don't support it natively.\n *\n * @see {@link Tech#trackProgress}\n */\n manualProgressOn() {\n this.on('durationchange', this.onDurationChange_);\n this.manualProgress = true;\n\n // Trigger progress watching when a source begins loading\n this.one('ready', this.trackProgress_);\n }\n\n /**\n * Turn off the polyfill for `progress` events that was created in\n * {@link Tech#manualProgressOn}\n */\n manualProgressOff() {\n this.manualProgress = false;\n this.stopTrackingProgress();\n this.off('durationchange', this.onDurationChange_);\n }\n\n /**\n * This is used to trigger a `progress` event when the buffered percent changes. It\n * sets an interval function that will be called every 500 milliseconds to check if the\n * buffer end percent has changed.\n *\n * > This function is called by {@link Tech#manualProgressOn}\n *\n * @param {Event} event\n * The `ready` event that caused this to run.\n *\n * @listens Tech#ready\n * @fires Tech#progress\n */\n trackProgress(event) {\n this.stopTrackingProgress();\n this.progressInterval = this.setInterval(bind_(this, function () {\n // Don't trigger unless buffered amount is greater than last time\n\n const numBufferedPercent = this.bufferedPercent();\n if (this.bufferedPercent_ !== numBufferedPercent) {\n /**\n * See {@link Player#progress}\n *\n * @event Tech#progress\n * @type {Event}\n */\n this.trigger('progress');\n }\n this.bufferedPercent_ = numBufferedPercent;\n if (numBufferedPercent === 1) {\n this.stopTrackingProgress();\n }\n }), 500);\n }\n\n /**\n * Update our internal duration on a `durationchange` event by calling\n * {@link Tech#duration}.\n *\n * @param {Event} event\n * The `durationchange` event that caused this to run.\n *\n * @listens Tech#durationchange\n */\n onDurationChange(event) {\n this.duration_ = this.duration();\n }\n\n /**\n * Get and create a `TimeRange` object for buffering.\n *\n * @return {TimeRange}\n * The time range object that was created.\n */\n buffered() {\n return createTimeRanges$1(0, 0);\n }\n\n /**\n * Get the percentage of the current video that is currently buffered.\n *\n * @return {number}\n * A number from 0 to 1 that represents the decimal percentage of the\n * video that is buffered.\n *\n */\n bufferedPercent() {\n return bufferedPercent(this.buffered(), this.duration_);\n }\n\n /**\n * Turn off the polyfill for `progress` events that was created in\n * {@link Tech#manualProgressOn}\n * Stop manually tracking progress events by clearing the interval that was set in\n * {@link Tech#trackProgress}.\n */\n stopTrackingProgress() {\n this.clearInterval(this.progressInterval);\n }\n\n /**\n * Polyfill the `timeupdate` event for browsers that don't support it.\n *\n * @see {@link Tech#trackCurrentTime}\n */\n manualTimeUpdatesOn() {\n this.manualTimeUpdates = true;\n this.on('play', this.trackCurrentTime_);\n this.on('pause', this.stopTrackingCurrentTime_);\n }\n\n /**\n * Turn off the polyfill for `timeupdate` events that was created in\n * {@link Tech#manualTimeUpdatesOn}\n */\n manualTimeUpdatesOff() {\n this.manualTimeUpdates = false;\n this.stopTrackingCurrentTime();\n this.off('play', this.trackCurrentTime_);\n this.off('pause', this.stopTrackingCurrentTime_);\n }\n\n /**\n * Sets up an interval function to track current time and trigger `timeupdate` every\n * 250 milliseconds.\n *\n * @listens Tech#play\n * @triggers Tech#timeupdate\n */\n trackCurrentTime() {\n if (this.currentTimeInterval) {\n this.stopTrackingCurrentTime();\n }\n this.currentTimeInterval = this.setInterval(function () {\n /**\n * Triggered at an interval of 250ms to indicated that time is passing in the video.\n *\n * @event Tech#timeupdate\n * @type {Event}\n */\n this.trigger({\n type: 'timeupdate',\n target: this,\n manuallyTriggered: true\n });\n\n // 42 = 24 fps // 250 is what Webkit uses // FF uses 15\n }, 250);\n }\n\n /**\n * Stop the interval function created in {@link Tech#trackCurrentTime} so that the\n * `timeupdate` event is no longer triggered.\n *\n * @listens {Tech#pause}\n */\n stopTrackingCurrentTime() {\n this.clearInterval(this.currentTimeInterval);\n\n // #1002 - if the video ends right before the next timeupdate would happen,\n // the progress bar won't make it all the way to the end\n this.trigger({\n type: 'timeupdate',\n target: this,\n manuallyTriggered: true\n });\n }\n\n /**\n * Turn off all event polyfills, clear the `Tech`s {@link AudioTrackList},\n * {@link VideoTrackList}, and {@link TextTrackList}, and dispose of this Tech.\n *\n * @fires Component#dispose\n */\n dispose() {\n // clear out all tracks because we can't reuse them between techs\n this.clearTracks(NORMAL.names);\n\n // Turn off any manual progress or timeupdate tracking\n if (this.manualProgress) {\n this.manualProgressOff();\n }\n if (this.manualTimeUpdates) {\n this.manualTimeUpdatesOff();\n }\n super.dispose();\n }\n\n /**\n * Clear out a single `TrackList` or an array of `TrackLists` given their names.\n *\n * > Note: Techs without source handlers should call this between sources for `video`\n * & `audio` tracks. You don't want to use them between tracks!\n *\n * @param {string[]|string} types\n * TrackList names to clear, valid names are `video`, `audio`, and\n * `text`.\n */\n clearTracks(types) {\n types = [].concat(types);\n // clear out all tracks because we can't reuse them between techs\n types.forEach(type => {\n const list = this[`${type}Tracks`]() || [];\n let i = list.length;\n while (i--) {\n const track = list[i];\n if (type === 'text') {\n this.removeRemoteTextTrack(track);\n }\n list.removeTrack(track);\n }\n });\n }\n\n /**\n * Remove any TextTracks added via addRemoteTextTrack that are\n * flagged for automatic garbage collection\n */\n cleanupAutoTextTracks() {\n const list = this.autoRemoteTextTracks_ || [];\n let i = list.length;\n while (i--) {\n const track = list[i];\n this.removeRemoteTextTrack(track);\n }\n }\n\n /**\n * Reset the tech, which will removes all sources and reset the internal readyState.\n *\n * @abstract\n */\n reset() {}\n\n /**\n * Get the value of `crossOrigin` from the tech.\n *\n * @abstract\n *\n * @see {Html5#crossOrigin}\n */\n crossOrigin() {}\n\n /**\n * Set the value of `crossOrigin` on the tech.\n *\n * @abstract\n *\n * @param {string} crossOrigin the crossOrigin value\n * @see {Html5#setCrossOrigin}\n */\n setCrossOrigin() {}\n\n /**\n * Get or set an error on the Tech.\n *\n * @param {MediaError} [err]\n * Error to set on the Tech\n *\n * @return {MediaError|null}\n * The current error object on the tech, or null if there isn't one.\n */\n error(err) {\n if (err !== undefined) {\n this.error_ = new MediaError(err);\n this.trigger('error');\n }\n return this.error_;\n }\n\n /**\n * Returns the `TimeRange`s that have been played through for the current source.\n *\n * > NOTE: This implementation is incomplete. It does not track the played `TimeRange`.\n * It only checks whether the source has played at all or not.\n *\n * @return {TimeRange}\n * - A single time range if this video has played\n * - An empty set of ranges if not.\n */\n played() {\n if (this.hasStarted_) {\n return createTimeRanges$1(0, 0);\n }\n return createTimeRanges$1();\n }\n\n /**\n * Start playback\n *\n * @abstract\n *\n * @see {Html5#play}\n */\n play() {}\n\n /**\n * Set whether we are scrubbing or not\n *\n * @abstract\n * @param {boolean} _isScrubbing\n * - true for we are currently scrubbing\n * - false for we are no longer scrubbing\n *\n * @see {Html5#setScrubbing}\n */\n setScrubbing(_isScrubbing) {}\n\n /**\n * Get whether we are scrubbing or not\n *\n * @abstract\n *\n * @see {Html5#scrubbing}\n */\n scrubbing() {}\n\n /**\n * Causes a manual time update to occur if {@link Tech#manualTimeUpdatesOn} was\n * previously called.\n *\n * @param {number} _seconds\n * Set the current time of the media to this.\n * @fires Tech#timeupdate\n */\n setCurrentTime(_seconds) {\n // improve the accuracy of manual timeupdates\n if (this.manualTimeUpdates) {\n /**\n * A manual `timeupdate` event.\n *\n * @event Tech#timeupdate\n * @type {Event}\n */\n this.trigger({\n type: 'timeupdate',\n target: this,\n manuallyTriggered: true\n });\n }\n }\n\n /**\n * Turn on listeners for {@link VideoTrackList}, {@link {AudioTrackList}, and\n * {@link TextTrackList} events.\n *\n * This adds {@link EventTarget~EventListeners} for `addtrack`, and `removetrack`.\n *\n * @fires Tech#audiotrackchange\n * @fires Tech#videotrackchange\n * @fires Tech#texttrackchange\n */\n initTrackListeners() {\n /**\n * Triggered when tracks are added or removed on the Tech {@link AudioTrackList}\n *\n * @event Tech#audiotrackchange\n * @type {Event}\n */\n\n /**\n * Triggered when tracks are added or removed on the Tech {@link VideoTrackList}\n *\n * @event Tech#videotrackchange\n * @type {Event}\n */\n\n /**\n * Triggered when tracks are added or removed on the Tech {@link TextTrackList}\n *\n * @event Tech#texttrackchange\n * @type {Event}\n */\n NORMAL.names.forEach(name => {\n const props = NORMAL[name];\n const trackListChanges = () => {\n this.trigger(`${name}trackchange`);\n };\n const tracks = this[props.getterName]();\n tracks.addEventListener('removetrack', trackListChanges);\n tracks.addEventListener('addtrack', trackListChanges);\n this.on('dispose', () => {\n tracks.removeEventListener('removetrack', trackListChanges);\n tracks.removeEventListener('addtrack', trackListChanges);\n });\n });\n }\n\n /**\n * Emulate TextTracks using vtt.js if necessary\n *\n * @fires Tech#vttjsloaded\n * @fires Tech#vttjserror\n */\n addWebVttScript_() {\n if (window$1.WebVTT) {\n return;\n }\n\n // Initially, Tech.el_ is a child of a dummy-div wait until the Component system\n // signals that the Tech is ready at which point Tech.el_ is part of the DOM\n // before inserting the WebVTT script\n if (document$1.body.contains(this.el())) {\n // load via require if available and vtt.js script location was not passed in\n // as an option. novtt builds will turn the above require call into an empty object\n // which will cause this if check to always fail.\n if (!this.options_['vtt.js'] && isPlain(vtt) && Object.keys(vtt).length > 0) {\n this.trigger('vttjsloaded');\n return;\n }\n\n // load vtt.js via the script location option or the cdn of no location was\n // passed in\n const script = document$1.createElement('script');\n script.src = this.options_['vtt.js'] || 'https://vjs.zencdn.net/vttjs/0.14.1/vtt.min.js';\n script.onload = () => {\n /**\n * Fired when vtt.js is loaded.\n *\n * @event Tech#vttjsloaded\n * @type {Event}\n */\n this.trigger('vttjsloaded');\n };\n script.onerror = () => {\n /**\n * Fired when vtt.js was not loaded due to an error\n *\n * @event Tech#vttjsloaded\n * @type {Event}\n */\n this.trigger('vttjserror');\n };\n this.on('dispose', () => {\n script.onload = null;\n script.onerror = null;\n });\n // but have not loaded yet and we set it to true before the inject so that\n // we don't overwrite the injected window.WebVTT if it loads right away\n window$1.WebVTT = true;\n this.el().parentNode.appendChild(script);\n } else {\n this.ready(this.addWebVttScript_);\n }\n }\n\n /**\n * Emulate texttracks\n *\n */\n emulateTextTracks() {\n const tracks = this.textTracks();\n const remoteTracks = this.remoteTextTracks();\n const handleAddTrack = e => tracks.addTrack(e.track);\n const handleRemoveTrack = e => tracks.removeTrack(e.track);\n remoteTracks.on('addtrack', handleAddTrack);\n remoteTracks.on('removetrack', handleRemoveTrack);\n this.addWebVttScript_();\n const updateDisplay = () => this.trigger('texttrackchange');\n const textTracksChanges = () => {\n updateDisplay();\n for (let i = 0; i < tracks.length; i++) {\n const track = tracks[i];\n track.removeEventListener('cuechange', updateDisplay);\n if (track.mode === 'showing') {\n track.addEventListener('cuechange', updateDisplay);\n }\n }\n };\n textTracksChanges();\n tracks.addEventListener('change', textTracksChanges);\n tracks.addEventListener('addtrack', textTracksChanges);\n tracks.addEventListener('removetrack', textTracksChanges);\n this.on('dispose', function () {\n remoteTracks.off('addtrack', handleAddTrack);\n remoteTracks.off('removetrack', handleRemoveTrack);\n tracks.removeEventListener('change', textTracksChanges);\n tracks.removeEventListener('addtrack', textTracksChanges);\n tracks.removeEventListener('removetrack', textTracksChanges);\n for (let i = 0; i < tracks.length; i++) {\n const track = tracks[i];\n track.removeEventListener('cuechange', updateDisplay);\n }\n });\n }\n\n /**\n * Create and returns a remote {@link TextTrack} object.\n *\n * @param {string} kind\n * `TextTrack` kind (subtitles, captions, descriptions, chapters, or metadata)\n *\n * @param {string} [label]\n * Label to identify the text track\n *\n * @param {string} [language]\n * Two letter language abbreviation\n *\n * @return {TextTrack}\n * The TextTrack that gets created.\n */\n addTextTrack(kind, label, language) {\n if (!kind) {\n throw new Error('TextTrack kind is required but was not provided');\n }\n return createTrackHelper(this, kind, label, language);\n }\n\n /**\n * Create an emulated TextTrack for use by addRemoteTextTrack\n *\n * This is intended to be overridden by classes that inherit from\n * Tech in order to create native or custom TextTracks.\n *\n * @param {Object} options\n * The object should contain the options to initialize the TextTrack with.\n *\n * @param {string} [options.kind]\n * `TextTrack` kind (subtitles, captions, descriptions, chapters, or metadata).\n *\n * @param {string} [options.label].\n * Label to identify the text track\n *\n * @param {string} [options.language]\n * Two letter language abbreviation.\n *\n * @return {HTMLTrackElement}\n * The track element that gets created.\n */\n createRemoteTextTrack(options) {\n const track = merge$1(options, {\n tech: this\n });\n return new REMOTE.remoteTextEl.TrackClass(track);\n }\n\n /**\n * Creates a remote text track object and returns an html track element.\n *\n * > Note: This can be an emulated {@link HTMLTrackElement} or a native one.\n *\n * @param {Object} options\n * See {@link Tech#createRemoteTextTrack} for more detailed properties.\n *\n * @param {boolean} [manualCleanup=false]\n * - When false: the TextTrack will be automatically removed from the video\n * element whenever the source changes\n * - When True: The TextTrack will have to be cleaned up manually\n *\n * @return {HTMLTrackElement}\n * An Html Track Element.\n *\n */\n addRemoteTextTrack(options = {}, manualCleanup) {\n const htmlTrackElement = this.createRemoteTextTrack(options);\n if (typeof manualCleanup !== 'boolean') {\n manualCleanup = false;\n }\n\n // store HTMLTrackElement and TextTrack to remote list\n this.remoteTextTrackEls().addTrackElement_(htmlTrackElement);\n this.remoteTextTracks().addTrack(htmlTrackElement.track);\n if (manualCleanup === false) {\n // create the TextTrackList if it doesn't exist\n this.ready(() => this.autoRemoteTextTracks_.addTrack(htmlTrackElement.track));\n }\n return htmlTrackElement;\n }\n\n /**\n * Remove a remote text track from the remote `TextTrackList`.\n *\n * @param {TextTrack} track\n * `TextTrack` to remove from the `TextTrackList`\n */\n removeRemoteTextTrack(track) {\n const trackElement = this.remoteTextTrackEls().getTrackElementByTrack_(track);\n\n // remove HTMLTrackElement and TextTrack from remote list\n this.remoteTextTrackEls().removeTrackElement_(trackElement);\n this.remoteTextTracks().removeTrack(track);\n this.autoRemoteTextTracks_.removeTrack(track);\n }\n\n /**\n * Gets available media playback quality metrics as specified by the W3C's Media\n * Playback Quality API.\n *\n * @see [Spec]{@link https://wicg.github.io/media-playback-quality}\n *\n * @return {Object}\n * An object with supported media playback quality metrics\n *\n * @abstract\n */\n getVideoPlaybackQuality() {\n return {};\n }\n\n /**\n * Attempt to create a floating video window always on top of other windows\n * so that users may continue consuming media while they interact with other\n * content sites, or applications on their device.\n *\n * @see [Spec]{@link https://wicg.github.io/picture-in-picture}\n *\n * @return {Promise|undefined}\n * A promise with a Picture-in-Picture window if the browser supports\n * Promises (or one was passed in as an option). It returns undefined\n * otherwise.\n *\n * @abstract\n */\n requestPictureInPicture() {\n return Promise.reject();\n }\n\n /**\n * A method to check for the value of the 'disablePictureInPicture'