From 840e31a693462e7ed9f7644a13a0187d9e9d93a9 Mon Sep 17 00:00:00 2001 From: Sam Potts Date: Mon, 11 Jun 2018 17:10:37 +1000 Subject: [PATCH] v3.3.12 --- changelog.md | 2 +- dist/plyr.js | 2 +- dist/plyr.js.map | 2 +- dist/plyr.min.js | 2 +- dist/plyr.min.js.map | 2 +- dist/plyr.polyfilled.js | 2 +- dist/plyr.polyfilled.js.map | 2 +- dist/plyr.polyfilled.min.js | 2 +- dist/plyr.polyfilled.min.js.map | 2 +- package.json | 2 +- readme.md | 8 ++++---- src/js/defaults.js | 2 +- src/js/plyr.js | 2 +- src/js/plyr.polyfilled.js | 2 +- 14 files changed, 17 insertions(+), 17 deletions(-) diff --git a/changelog.md b/changelog.md index a4531352..1e20d19f 100644 --- a/changelog.md +++ b/changelog.md @@ -1,4 +1,4 @@ -# v3.3.11 +# v3.3.12 - Fix synthetic event bubble/proxy loses detail (thanks @friday!) - Make utils static (thanks @friday!) diff --git a/dist/plyr.js b/dist/plyr.js index 24b816f3..4dc8a6e2 100644 --- a/dist/plyr.js +++ b/dist/plyr.js @@ -3684,7 +3684,7 @@ var defaults$1 = { // Sprite (for icons) loadSprite: true, iconPrefix: 'plyr', - iconUrl: 'https://cdn.plyr.io/3.3.11/plyr.svg', + iconUrl: 'https://cdn.plyr.io/3.3.12/plyr.svg', // Blank video (used to prevent errors on source change) blankVideo: 'https://cdn.plyr.io/static/blank.mp4', diff --git a/dist/plyr.js.map b/dist/plyr.js.map index 2fb20882..2748fa8d 100644 --- a/dist/plyr.js.map +++ b/dist/plyr.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../node_modules/loadjs/dist/loadjs.umd.js","storage.js","types.js","utils.js","support.js","html5.js","i18n.js","controls.js","captions.js","console.js","defaults.js","fullscreen.js","ui.js","listeners.js","plugins/vimeo.js","plugins/youtube.js","media.js","plugins/ads.js","source.js","plyr.js"],"names":["define","this","Storage","player","enabled","config","storage","key","supported","store","window","localStorage","getItem","utils","is","empty","json","JSON","parse","string","length","object","get","extend","setItem","stringify","test","removeItem","e","providers","types","input","getConstructor","Object","Number","isNaN","String","Boolean","Function","nullOrUndefined","Array","isArray","instanceof","WeakMap","NodeList","Element","Text","Event","TextTrackCue","VTTCue","TextTrack","kind","array","nodeList","keys","constructor","document","documentMode","documentElement","style","navigator","userAgent","platform","url","responseType","Promise","resolve","reject","request","XMLHttpRequest","addEventListener","responseText","response","Error","statusText","open","send","src","minWidth","image","Image","handler","onload","onerror","naturalWidth","assign","id","prefix","hasId","isCached","exists","getElementById","update","container","data","innerHTML","body","insertAdjacentElement","useStorage","createElement","toggleHidden","setAttribute","cached","content","fetch","then","result","catch","Math","floor","random","elements","wrapper","targets","from","reverse","forEach","element","index","child","cloneNode","parent","parentNode","sibling","nextSibling","appendChild","insertBefore","type","attributes","text","setAttributes","innerText","target","removeElement","removeChild","childNodes","lastChild","newChild","oldChild","replaceChild","entries","value","sel","existingAttributes","existing","split","selector","s","trim","className","replace","stripped","parts","start","charAt","class","hidden","hide","boolean","hasAttribute","removeAttribute","force","method","classList","contains","prototype","match","querySelectorAll","includes","matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","call","querySelector","focused","activeElement","toggle","focusable","getElements","first","last","trap","event","keyCode","getFocusElement","shiftKey","focus","preventDefault","on","off","callback","passive","capture","function","Node","toggleListener","events","options","support","passiveListeners","bubbles","detail","CustomEvent","dispatchEvent","toggleState","pressed","getAttribute","state","args","toString","i","current","max","toFixed","parseInt","time","displayHours","inverted","number","formatTime","format","slice","hours","getHours","mins","getMinutes","secs","getSeconds","find","RegExp","toUpperCase","substr","toLowerCase","replaceAll","toTitleCase","toPascalCase","sources","source","shift","filter","item","indexOf","path","reduce","obj","prev","curr","abs","youtube","vimeo","regex","$2","parser","href","search","startsWith","parseUrl","hashes","params","hash","val","decodeURIComponent","map","encodeURIComponent","join","fragment","createDocumentFragment","firstChild","width","height","getRatio","w","h","ratio","transitionEndEvent","undefined","offsetHeight","provider","playsinline","api","ui","browser","getBrowser","canPlayInline","isIPhone","video","rangeInput","audio","webkitSetPresentationMode","WebKitPlaybackTargetAvailabilityEvent","media","isHTML5","canPlayType","isVideo","isAudio","defineProperty","removeEventListener","range","matchMedia","html5","getSources","sizes","dedupe","mime","currentTime","playing","onLoadedMetaData","load","play","blankVideo","debug","log","i18n","getDeep","seekTime","title","controls","URL","iconUrl","location","cors","host","isIE","svg4everybody","getElement","selectors","buttons","pause","restart","rewind","fastForward","mute","pip","airplay","settings","captions","fullscreen","progress","inputs","seek","volume","display","buffer","duration","seekTooltip","classNames","tooltip","error","warn","toggleNativeControls","namespace","getIconUrl","iconPath","iconPrefix","icon","createElementNS","use","setAttributeNS","attr","badge","menu","buttonType","button","toCamelCase","label","labelPressed","iconPressed","control","createIcon","createLabel","getAttributesFromSelector","push","updateRangeFill","suffix","list","checked","radio","faux","insertAdjacentHTML","forceHours","setRange","muted","setProgress","getElementsByTagName","nodeValue","getPercentage","buffered","isWebkit","setProperty","tooltips","percent","clientRect","getBoundingClientRect","visible","toggleClass","touch","pageX","left","hasClass","parseFloat","updateTimeDisplay","invert","invertTime","seeking","updateProgress","hasDuration","displayDuration","paused","updateSeekTooltip","setting","tabs","panes","quality","toggleTab","checkMenu","emptyElement","getBadge","createBadge","sort","a","b","sorting","createMenuItem","getLabel","updateSetting","pane","currentTrack","default","tracks","getTracks","track","active","language","unshift","bind","speed","isVimeo","values","some","tab","form","show","isMenuItem","isButton","stopPropagation","clone","position","opacity","name","scrollWidth","scrollHeight","isTab","transitions","reducedMotion","size","getTabSize","restore","propertyName","createButton","createRange","createProgress","createTime","inner","home","back","setQualityMenu","getQualityOptions","setSpeedMenu","loadSprite","props","create","findElements","repaint","labels","isYouTube","textTracks","setCaptionsMenu","insertAfter","hostname","protocol","createObjectURL","blob","userLanguage","setLanguage","trackEvents","meta","set","mode","updateCues","trackRemoved","currentTrackNode","firstMatch","toggleCaptions","getCurrentTrack","embed","enableTextTrack","has","fromLanguage","sortIsDefault","sorted","cues","activeCues","cue","getCueAsHTML","getHTML","cueText","changed","caption","noop","Console","console","defaults","onChange","isIos","trapFocus","toggleFallback","scrollPosition","scrollX","scrollY","scrollTo","x","y","overflow","fallback","Fullscreen","property","native","iosNative","webkitEnterFullscreen","requestFullscreen","webkitExitFullscreen","cancelFullScreen","exitFullscreen","action","enter","exit","fullscreenElement","fullscreenEnabled","webkitFullscreenEnabled","mozFullScreenEnabled","msFullscreenEnabled","prefixes","pre","uiSupported","listeners","inject","setup","loop","updateVolume","timeUpdate","checkPlaying","isTouch","ready","setTitle","poster","backgroundImage","setPoster","durationUpdate","isEmbed","iframe","enable","posterEnabled","loadPromise","loadImage","togglePoster","stopped","toggleControls","loading","timers","setTimeout","hideControls","hover","Listeners","lastKey","handleKey","toggleMenu","firstTouch","code","which","repeat","altKey","ctrlKey","metaKey","seekByKey","editable","togglePlay","increaseVolume","decreaseVolume","forward","keyboard","global","tabFocus","delay","hasAudio","resetOnEnd","checkLoading","ads","initialized","managerPromise","clickToPlay","ended","disableContextMenu","concat","inputEvent","proxy","defaultHandler","customHandlerKey","customHandler","hasCustomHandler","returned","showHomeTab","showTab","currentTarget","eventType","done","seekTo","toggleInvert","noTransition","webkitDirectionInvertedFromDevice","step","direction","deltaY","deltaX","assurePlaybackState","hasPlayed","setAspectRatio","Vimeo","loadScript","urls","sdk","padding","paddingBottom","offset","transform","autoplay","buildUrlParams","parseVimeoId","embedContainer","replaceElement","thumbnail_large","pathname","Player","autopause","disableTextTrack","stop","restorePause","setVolume","setCurrentTime","selected","setPlaybackRate","setLoop","currentSrc","getVideoUrl","all","getVideoWidth","getVideoHeight","getAspectRatio","dimensions","setAutopause","getVideoTitle","getCurrentTime","getDuration","getTextTracks","strippedCues","stripHTML","getPaused","frame","seconds","build","mapQualityUnit","mapQualityUnits","levels","level","YT","onYouTubeReadyCallbacks","onYouTubeIframeAPIReady","videoId","getVideoData","google","items","snippet","currentId","parseYouTubeId","generateId","posterSrc","backgroundSize","message","instance","playbackRate","getPlaybackRate","getTitle","playVideo","pauseVideo","stopVideo","getPlaybackQuality","setPlaybackQuality","getAvailablePlaybackRates","buffering","setInterval","getVideoLoadedFraction","lastBuffered","seeked","getAvailableQualityLevels","unMute","wrap","Ads","publisherId","manager","loader","cuePoints","safetyTimer","countdownTimer","ima","googleIMA","trigger","startSafetyTimer","clearSafetyTimer","setupIMA","setVpaidMode","ImaSdkSettings","VpaidMode","ENABLED","setLocale","displayContainer","AdDisplayContainer","requestAds","AdsLoader","AdsManagerLoadedEvent","Type","ADS_MANAGER_LOADED","onAdsManagerLoaded","AdErrorEvent","AD_ERROR","onAdError","AdsRequest","adTagUrl","tagUrl","linearAdSlotWidth","offsetWidth","linearAdSlotHeight","nonLinearAdSlotWidth","nonLinearAdSlotHeight","forceNonLinearFullSlot","setAdWillPlayMuted","getRemainingTime","AdsRenderingSettings","restoreCustomPlaybackStateOnAdBreakComplete","enablePreloading","getAdsManager","getCuePoints","cuePoint","seekElement","cuePercentage","AdEvent","onAdEvent","ad","getAd","LOADED","pollCountdown","isLinear","ALL_ADS_COMPLETED","loadAds","CONTENT_PAUSE_REQUESTED","pauseContent","CONTENT_RESUME_REQUESTED","resumeContent","STARTED","MIDPOINT","COMPLETE","IMPRESSION","CLICK","cancel","contentComplete","seekedTime","discardAdBreak","splice","resize","ViewMode","NORMAL","initialize","init","adError","zIndex","destroy","handlers","apply","Date","now","base","insertElement","attribute","cancelRequests","check","crossorigin","addStyleHook","insertElements","Plyr","failed","jQuery","plyr","original","tagName","getProviderByUrl","getUrlParams","truthy","webkitShowPlaybackTargetPicker","isHidden","hiding","eventName","soft","clear","unload","inputIsValid","min","end","fauxDuration","mozHasAudio","webkitAudioDecodedByteCount","audioTracks","closest","change","states","inline","webkitPresentationMode","t","cloneDeep"],"mappings":"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","file":"plyr.js","sourcesContent":["(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof exports === 'object') {\n module.exports = factory();\n } else {\n root.loadjs = factory();\n }\n}(this, function() {\n/**\n * Global dependencies.\n * @global {Object} document - DOM\n */\n\nvar devnull = function() {},\n bundleIdCache = {},\n bundleResultCache = {},\n bundleCallbackQueue = {};\n\n\n/**\n * Subscribe to bundle load event.\n * @param {string[]} bundleIds - Bundle ids\n * @param {Function} callbackFn - The callback function\n */\nfunction subscribe(bundleIds, callbackFn) {\n // listify\n bundleIds = bundleIds.push ? bundleIds : [bundleIds];\n\n var depsNotFound = [],\n i = bundleIds.length,\n numWaiting = i,\n fn,\n bundleId,\n r,\n q;\n\n // define callback function\n fn = function (bundleId, pathsNotFound) {\n if (pathsNotFound.length) depsNotFound.push(bundleId);\n\n numWaiting--;\n if (!numWaiting) callbackFn(depsNotFound);\n };\n\n // register callback\n while (i--) {\n bundleId = bundleIds[i];\n\n // execute callback if in result cache\n r = bundleResultCache[bundleId];\n if (r) {\n fn(bundleId, r);\n continue;\n }\n\n // add to callback queue\n q = bundleCallbackQueue[bundleId] = bundleCallbackQueue[bundleId] || [];\n q.push(fn);\n }\n}\n\n\n/**\n * Publish bundle load event.\n * @param {string} bundleId - Bundle id\n * @param {string[]} pathsNotFound - List of files not found\n */\nfunction publish(bundleId, pathsNotFound) {\n // exit if id isn't defined\n if (!bundleId) return;\n\n var q = bundleCallbackQueue[bundleId];\n\n // cache result\n bundleResultCache[bundleId] = pathsNotFound;\n\n // exit if queue is empty\n if (!q) return;\n\n // empty callback queue\n while (q.length) {\n q[0](bundleId, pathsNotFound);\n q.splice(0, 1);\n }\n}\n\n\n/**\n * Execute callbacks.\n * @param {Object or Function} args - The callback args\n * @param {string[]} depsNotFound - List of dependencies not found\n */\nfunction executeCallbacks(args, depsNotFound) {\n // accept function as argument\n if (args.call) args = {success: args};\n\n // success and error callbacks\n if (depsNotFound.length) (args.error || devnull)(depsNotFound);\n else (args.success || devnull)(args);\n}\n\n\n/**\n * Load individual file.\n * @param {string} path - The file path\n * @param {Function} callbackFn - The callback function\n */\nfunction loadFile(path, callbackFn, args, numTries) {\n var doc = document,\n async = args.async,\n maxTries = (args.numRetries || 0) + 1,\n beforeCallbackFn = args.before || devnull,\n pathStripped = path.replace(/^(css|img)!/, ''),\n isCss,\n e;\n\n numTries = numTries || 0;\n\n if (/(^css!|\\.css$)/.test(path)) {\n isCss = true;\n\n // css\n e = doc.createElement('link');\n e.rel = 'stylesheet';\n e.href = pathStripped; //.replace(/^css!/, ''); // remove \"css!\" prefix\n } else if (/(^img!|\\.(png|gif|jpg|svg)$)/.test(path)) {\n // image\n e = doc.createElement('img');\n e.src = pathStripped; \n } else {\n // javascript\n e = doc.createElement('script');\n e.src = path;\n e.async = async === undefined ? true : async;\n }\n\n e.onload = e.onerror = e.onbeforeload = function (ev) {\n var result = ev.type[0];\n\n // Note: The following code isolates IE using `hideFocus` and treats empty\n // stylesheets as failures to get around lack of onerror support\n if (isCss && 'hideFocus' in e) {\n try {\n if (!e.sheet.cssText.length) result = 'e';\n } catch (x) {\n // sheets objects created from load errors don't allow access to\n // `cssText`\n result = 'e';\n }\n }\n\n // handle retries in case of load failure\n if (result == 'e') {\n // increment counter\n numTries += 1;\n\n // exit function and try again\n if (numTries < maxTries) {\n return loadFile(path, callbackFn, args, numTries);\n }\n }\n\n // execute callback\n callbackFn(path, result, ev.defaultPrevented);\n };\n\n // add to document (unless callback returns `false`)\n if (beforeCallbackFn(path, e) !== false) doc.head.appendChild(e);\n}\n\n\n/**\n * Load multiple files.\n * @param {string[]} paths - The file paths\n * @param {Function} callbackFn - The callback function\n */\nfunction loadFiles(paths, callbackFn, args) {\n // listify paths\n paths = paths.push ? paths : [paths];\n\n var numWaiting = paths.length,\n x = numWaiting,\n pathsNotFound = [],\n fn,\n i;\n\n // define callback function\n fn = function(path, result, defaultPrevented) {\n // handle error\n if (result == 'e') pathsNotFound.push(path);\n\n // handle beforeload event. If defaultPrevented then that means the load\n // will be blocked (ex. Ghostery/ABP on Safari)\n if (result == 'b') {\n if (defaultPrevented) pathsNotFound.push(path);\n else return;\n }\n\n numWaiting--;\n if (!numWaiting) callbackFn(pathsNotFound);\n };\n\n // load scripts\n for (i=0; i < x; i++) loadFile(paths[i], fn, args);\n}\n\n\n/**\n * Initiate script load and register bundle.\n * @param {(string|string[])} paths - The file paths\n * @param {(string|Function)} [arg1] - The bundleId or success callback\n * @param {Function} [arg2] - The success or error callback\n * @param {Function} [arg3] - The error callback\n */\nfunction loadjs(paths, arg1, arg2) {\n var bundleId,\n args;\n\n // bundleId (if string)\n if (arg1 && arg1.trim) bundleId = arg1;\n\n // args (default is {})\n args = (bundleId ? arg2 : arg1) || {};\n\n // throw error if bundle is already defined\n if (bundleId) {\n if (bundleId in bundleIdCache) {\n throw \"LoadJS\";\n } else {\n bundleIdCache[bundleId] = true;\n }\n }\n\n // load scripts\n loadFiles(paths, function (pathsNotFound) {\n // execute callbacks\n executeCallbacks(args, pathsNotFound);\n\n // publish bundle load event\n publish(bundleId, pathsNotFound);\n }, args);\n}\n\n\n/**\n * Execute callbacks when dependencies have been satisfied.\n * @param {(string|string[])} deps - List of bundle ids\n * @param {Object} args - success/error arguments\n */\nloadjs.ready = function ready(deps, args) {\n // subscribe to bundle load event\n subscribe(deps, function (depsNotFound) {\n // execute callbacks\n executeCallbacks(args, depsNotFound);\n });\n\n return loadjs;\n};\n\n\n/**\n * Manually satisfy bundle dependencies.\n * @param {string} bundleId - The bundle id\n */\nloadjs.done = function done(bundleId) {\n publish(bundleId, []);\n};\n\n\n/**\n * Reset loadjs dependencies statuses\n */\nloadjs.reset = function reset() {\n bundleIdCache = {};\n bundleResultCache = {};\n bundleCallbackQueue = {};\n};\n\n\n/**\n * Determine if bundle has already been defined\n * @param String} bundleId - The bundle id\n */\nloadjs.isDefined = function isDefined(bundleId) {\n return bundleId in bundleIdCache;\n};\n\n\n// export\nreturn loadjs;\n\n}));\n","// ==========================================================================\n// Plyr storage\n// ==========================================================================\n\nimport utils from './utils';\n\nclass Storage {\n constructor(player) {\n this.enabled = player.config.storage.enabled;\n this.key = player.config.storage.key;\n }\n\n // Check for actual support (see if we can use it)\n static get supported() {\n try {\n if (!('localStorage' in window)) {\n return false;\n }\n\n const test = '___test';\n\n // Try to use it (it might be disabled, e.g. user is in private mode)\n // see: https://github.com/sampotts/plyr/issues/131\n window.localStorage.setItem(test, test);\n window.localStorage.removeItem(test);\n\n return true;\n } catch (e) {\n return false;\n }\n }\n\n get(key) {\n if (!Storage.supported || !this.enabled) {\n return null;\n }\n\n const store = window.localStorage.getItem(this.key);\n\n if (utils.is.empty(store)) {\n return null;\n }\n\n const json = JSON.parse(store);\n\n return utils.is.string(key) && key.length ? json[key] : json;\n }\n\n set(object) {\n // Bail if we don't have localStorage support or it's disabled\n if (!Storage.supported || !this.enabled) {\n return;\n }\n\n // Can only store objectst\n if (!utils.is.object(object)) {\n return;\n }\n\n // Get current storage\n let storage = this.get();\n\n // Default to empty object\n if (utils.is.empty(storage)) {\n storage = {};\n }\n\n // Update the working copy of the values\n utils.extend(storage, object);\n\n // Update storage\n window.localStorage.setItem(this.key, JSON.stringify(storage));\n }\n}\n\nexport default Storage;\n","// ==========================================================================\n// Plyr supported types and providers\n// ==========================================================================\n\nexport const providers = {\n html5: 'html5',\n youtube: 'youtube',\n vimeo: 'vimeo',\n};\n\nexport const types = {\n audio: 'audio',\n video: 'video',\n};\n\nexport default { providers, types };\n","// ==========================================================================\n// Plyr utils\n// ==========================================================================\n\nimport loadjs from 'loadjs';\nimport Storage from './storage';\nimport support from './support';\nimport { providers } from './types';\n\nconst utils = {\n // Check variable types\n is: {\n object(input) {\n return utils.getConstructor(input) === Object;\n },\n number(input) {\n return utils.getConstructor(input) === Number && !Number.isNaN(input);\n },\n string(input) {\n return utils.getConstructor(input) === String;\n },\n boolean(input) {\n return utils.getConstructor(input) === Boolean;\n },\n function(input) {\n return utils.getConstructor(input) === Function;\n },\n array(input) {\n return !utils.is.nullOrUndefined(input) && Array.isArray(input);\n },\n weakMap(input) {\n return utils.is.instanceof(input, WeakMap);\n },\n nodeList(input) {\n return utils.is.instanceof(input, NodeList);\n },\n element(input) {\n return utils.is.instanceof(input, Element);\n },\n textNode(input) {\n return utils.getConstructor(input) === Text;\n },\n event(input) {\n return utils.is.instanceof(input, Event);\n },\n cue(input) {\n return utils.is.instanceof(input, window.TextTrackCue) || utils.is.instanceof(input, window.VTTCue);\n },\n track(input) {\n return utils.is.instanceof(input, TextTrack) || (!utils.is.nullOrUndefined(input) && utils.is.string(input.kind));\n },\n url(input) {\n return !utils.is.nullOrUndefined(input) && /(ftp|http|https):\\/\\/(\\w+:{0,1}\\w*@)?(\\S+)(:[0-9]+)?(\\/|\\/([\\w#!:.?+=&%@!\\-/]))?/.test(input);\n },\n nullOrUndefined(input) {\n return input === null || typeof input === 'undefined';\n },\n empty(input) {\n return (\n utils.is.nullOrUndefined(input) ||\n ((utils.is.string(input) || utils.is.array(input) || utils.is.nodeList(input)) && !input.length) ||\n (utils.is.object(input) && !Object.keys(input).length)\n );\n },\n instanceof(input, constructor) {\n return Boolean(input && constructor && input instanceof constructor);\n },\n },\n\n getConstructor(input) {\n return !utils.is.nullOrUndefined(input) ? input.constructor : null;\n },\n\n // Unfortunately, due to mixed support, UA sniffing is required\n getBrowser() {\n return {\n isIE: /* @cc_on!@ */ false || !!document.documentMode,\n isWebkit: 'WebkitAppearance' in document.documentElement.style && !/Edge/.test(navigator.userAgent),\n isIPhone: /(iPhone|iPod)/gi.test(navigator.platform),\n isIos: /(iPad|iPhone|iPod)/gi.test(navigator.platform),\n };\n },\n\n // Fetch wrapper\n // Using XHR to avoid issues with older browsers\n fetch(url, responseType = 'text') {\n return new Promise((resolve, reject) => {\n try {\n const request = new XMLHttpRequest();\n\n // Check for CORS support\n if (!('withCredentials' in request)) {\n return;\n }\n\n request.addEventListener('load', () => {\n if (responseType === 'text') {\n try {\n resolve(JSON.parse(request.responseText));\n } catch (e) {\n resolve(request.responseText);\n }\n } else {\n resolve(request.response);\n }\n });\n\n request.addEventListener('error', () => {\n throw new Error(request.statusText);\n });\n\n request.open('GET', url, true);\n\n // Set the required response type\n request.responseType = responseType;\n\n request.send();\n } catch (e) {\n reject(e);\n }\n });\n },\n\n // Load image avoiding xhr/fetch CORS issues\n // Server status can't be obtained this way unfortunately, so this uses \"naturalWidth\" to determine if the image has loaded.\n // By default it checks if it is at least 1px, but you can add a second argument to change this.\n loadImage(src, minWidth = 1) {\n return new Promise((resolve, reject) => {\n const image = new Image();\n const handler = () => {\n delete image.onload;\n delete image.onerror;\n (image.naturalWidth >= minWidth ? resolve : reject)(image);\n };\n Object.assign(image, {onload: handler, onerror: handler, src});\n });\n },\n\n // Load an external script\n loadScript(url) {\n return new Promise((resolve, reject) => {\n loadjs(url, {\n success: resolve,\n error: reject,\n });\n });\n },\n\n // Load an external SVG sprite\n loadSprite(url, id) {\n if (!utils.is.string(url)) {\n return;\n }\n\n const prefix = 'cache';\n const hasId = utils.is.string(id);\n let isCached = false;\n\n const exists = () => document.getElementById(id) !== null;\n\n const update = (container, data) => {\n container.innerHTML = data;\n\n // Check again incase of race condition\n if (hasId && exists()) {\n return;\n }\n\n // Inject the SVG to the body\n document.body.insertAdjacentElement('afterbegin', container);\n };\n\n // Only load once if ID set\n if (!hasId || !exists()) {\n const useStorage = Storage.supported;\n\n // Create container\n const container = document.createElement('div');\n utils.toggleHidden(container, true);\n\n if (hasId) {\n container.setAttribute('id', id);\n }\n\n // Check in cache\n if (useStorage) {\n const cached = window.localStorage.getItem(`${prefix}-${id}`);\n isCached = cached !== null;\n\n if (isCached) {\n const data = JSON.parse(cached);\n update(container, data.content);\n }\n }\n\n // Get the sprite\n utils\n .fetch(url)\n .then(result => {\n if (utils.is.empty(result)) {\n return;\n }\n\n if (useStorage) {\n window.localStorage.setItem(\n `${prefix}-${id}`,\n JSON.stringify({\n content: result,\n }),\n );\n }\n\n update(container, result);\n })\n .catch(() => {});\n }\n },\n\n // Generate a random ID\n generateId(prefix) {\n return `${prefix}-${Math.floor(Math.random() * 10000)}`;\n },\n\n // Wrap an element\n wrap(elements, wrapper) {\n // Convert `elements` to an array, if necessary.\n const targets = elements.length ? elements : [elements];\n\n // Loops backwards to prevent having to clone the wrapper on the\n // first element (see `child` below).\n Array.from(targets)\n .reverse()\n .forEach((element, index) => {\n const child = index > 0 ? wrapper.cloneNode(true) : wrapper;\n\n // Cache the current parent and sibling.\n const parent = element.parentNode;\n const sibling = element.nextSibling;\n\n // Wrap the element (is automatically removed from its current\n // parent).\n child.appendChild(element);\n\n // If the element had a sibling, insert the wrapper before\n // the sibling to maintain the HTML structure; otherwise, just\n // append it to the parent.\n if (sibling) {\n parent.insertBefore(child, sibling);\n } else {\n parent.appendChild(child);\n }\n });\n },\n\n // Create a DocumentFragment\n createElement(type, attributes, text) {\n // Create a new \n const element = document.createElement(type);\n\n // Set all passed attributes\n if (utils.is.object(attributes)) {\n utils.setAttributes(element, attributes);\n }\n\n // Add text node\n if (utils.is.string(text)) {\n element.innerText = text;\n }\n\n // Return built element\n return element;\n },\n\n // Inaert an element after another\n insertAfter(element, target) {\n target.parentNode.insertBefore(element, target.nextSibling);\n },\n\n // Insert a DocumentFragment\n insertElement(type, parent, attributes, text) {\n // Inject the new \n parent.appendChild(utils.createElement(type, attributes, text));\n },\n\n // Remove element(s)\n removeElement(element) {\n if (utils.is.nodeList(element) || utils.is.array(element)) {\n Array.from(element).forEach(utils.removeElement);\n return;\n }\n\n if (!utils.is.element(element) || !utils.is.element(element.parentNode)) {\n return;\n }\n\n element.parentNode.removeChild(element);\n },\n\n // Remove all child elements\n emptyElement(element) {\n let { length } = element.childNodes;\n\n while (length > 0) {\n element.removeChild(element.lastChild);\n length -= 1;\n }\n },\n\n // Replace element\n replaceElement(newChild, oldChild) {\n if (!utils.is.element(oldChild) || !utils.is.element(oldChild.parentNode) || !utils.is.element(newChild)) {\n return null;\n }\n\n oldChild.parentNode.replaceChild(newChild, oldChild);\n\n return newChild;\n },\n\n // Set attributes\n setAttributes(element, attributes) {\n if (!utils.is.element(element) || utils.is.empty(attributes)) {\n return;\n }\n\n Object.entries(attributes).forEach(([\n key,\n value,\n ]) => {\n element.setAttribute(key, value);\n });\n },\n\n // Get an attribute object from a string selector\n getAttributesFromSelector(sel, existingAttributes) {\n // For example:\n // '.test' to { class: 'test' }\n // '#test' to { id: 'test' }\n // '[data-test=\"test\"]' to { 'data-test': 'test' }\n\n if (!utils.is.string(sel) || utils.is.empty(sel)) {\n return {};\n }\n\n const attributes = {};\n const existing = existingAttributes;\n\n sel.split(',').forEach(s => {\n // Remove whitespace\n const selector = s.trim();\n const className = selector.replace('.', '');\n const stripped = selector.replace(/[[\\]]/g, '');\n\n // Get the parts and value\n const parts = stripped.split('=');\n const key = parts[0];\n const value = parts.length > 1 ? parts[1].replace(/[\"']/g, '') : '';\n\n // Get the first character\n const start = selector.charAt(0);\n\n switch (start) {\n case '.':\n // Add to existing classname\n if (utils.is.object(existing) && utils.is.string(existing.class)) {\n existing.class += ` ${className}`;\n }\n\n attributes.class = className;\n break;\n\n case '#':\n // ID selector\n attributes.id = selector.replace('#', '');\n break;\n\n case '[':\n // Attribute selector\n attributes[key] = value;\n\n break;\n\n default:\n break;\n }\n });\n\n return attributes;\n },\n\n // Toggle hidden\n toggleHidden(element, hidden) {\n if (!utils.is.element(element)) {\n return;\n }\n\n let hide = hidden;\n\n if (!utils.is.boolean(hide)) {\n hide = !element.hasAttribute('hidden');\n }\n\n if (hide) {\n element.setAttribute('hidden', '');\n } else {\n element.removeAttribute('hidden');\n }\n },\n\n // Mirror Element.classList.toggle, with IE compatibility for \"force\" argument\n toggleClass(element, className, force) {\n if (utils.is.element(element)) {\n let method = 'toggle';\n if (typeof force !== 'undefined') {\n method = force ? 'add' : 'remove';\n }\n\n element.classList[method](className);\n return element.classList.contains(className);\n }\n\n return null;\n },\n\n // Has class name\n hasClass(element, className) {\n return utils.is.element(element) && element.classList.contains(className);\n },\n\n // Element matches selector\n matches(element, selector) {\n const prototype = { Element };\n\n function match() {\n return Array.from(document.querySelectorAll(selector)).includes(this);\n }\n\n const matches = prototype.matches || prototype.webkitMatchesSelector || prototype.mozMatchesSelector || prototype.msMatchesSelector || match;\n\n return matches.call(element, selector);\n },\n\n // Find all elements\n getElements(selector) {\n return this.elements.container.querySelectorAll(selector);\n },\n\n // Find a single element\n getElement(selector) {\n return this.elements.container.querySelector(selector);\n },\n\n // Get the focused element\n getFocusElement() {\n let focused = document.activeElement;\n\n if (!focused || focused === document.body) {\n focused = null;\n } else {\n focused = document.querySelector(':focus');\n }\n\n return focused;\n },\n\n // Trap focus inside container\n trapFocus(element = null, toggle = false) {\n if (!utils.is.element(element)) {\n return;\n }\n\n const focusable = utils.getElements.call(this, 'button:not(:disabled), input:not(:disabled), [tabindex]');\n const first = focusable[0];\n const last = focusable[focusable.length - 1];\n\n const trap = event => {\n // Bail if not tab key or not fullscreen\n if (event.key !== 'Tab' || event.keyCode !== 9) {\n return;\n }\n\n // Get the current focused element\n const focused = utils.getFocusElement();\n\n if (focused === last && !event.shiftKey) {\n // Move focus to first element that can be tabbed if Shift isn't used\n first.focus();\n event.preventDefault();\n } else if (focused === first && event.shiftKey) {\n // Move focus to last element that can be tabbed if Shift is used\n last.focus();\n event.preventDefault();\n }\n };\n\n if (toggle) {\n utils.on(this.elements.container, 'keydown', trap, false);\n } else {\n utils.off(this.elements.container, 'keydown', trap, false);\n }\n },\n\n // Toggle event listener\n toggleListener(elements, event, callback, toggle = false, passive = true, capture = false) {\n // Bail if no elemetns, event, or callback\n if (utils.is.empty(elements) || utils.is.empty(event) || !utils.is.function(callback)) {\n return;\n }\n\n // If a nodelist is passed, call itself on each node\n if (utils.is.nodeList(elements) || utils.is.array(elements)) {\n // Create listener for each node\n Array.from(elements).forEach(element => {\n if (element instanceof Node) {\n utils.toggleListener.call(null, element, event, callback, toggle, passive, capture);\n }\n });\n\n return;\n }\n\n // Allow multiple events\n const events = event.split(' ');\n\n // Build options\n // Default to just the capture boolean for browsers with no passive listener support\n let options = capture;\n\n // If passive events listeners are supported\n if (support.passiveListeners) {\n options = {\n // Whether the listener can be passive (i.e. default never prevented)\n passive,\n // Whether the listener is a capturing listener or not\n capture,\n };\n }\n\n // If a single node is passed, bind the event listener\n events.forEach(type => {\n elements[toggle ? 'addEventListener' : 'removeEventListener'](type, callback, options);\n });\n },\n\n // Bind event handler\n on(element, events = '', callback, passive = true, capture = false) {\n utils.toggleListener(element, events, callback, true, passive, capture);\n },\n\n // Unbind event handler\n off(element, events = '', callback, passive = true, capture = false) {\n utils.toggleListener(element, events, callback, false, passive, capture);\n },\n\n // Trigger event\n dispatchEvent(element, type = '', bubbles = false, detail = {}) {\n // Bail if no element\n if (!utils.is.element(element) || utils.is.empty(type)) {\n return;\n }\n\n // Create and dispatch the event\n const event = new CustomEvent(type, {\n bubbles,\n detail: Object.assign({}, detail, {\n plyr: this,\n }),\n });\n\n // Dispatch the event\n element.dispatchEvent(event);\n },\n\n // Toggle aria-pressed state on a toggle button\n // http://www.ssbbartgroup.com/blog/how-not-to-misuse-aria-states-properties-and-roles\n toggleState(element, input) {\n // If multiple elements passed\n if (utils.is.array(element) || utils.is.nodeList(element)) {\n Array.from(element).forEach(target => utils.toggleState(target, input));\n return;\n }\n\n // Bail if no target\n if (!utils.is.element(element)) {\n return;\n }\n\n // Get state\n const pressed = element.getAttribute('aria-pressed') === 'true';\n const state = utils.is.boolean(input) ? input : !pressed;\n\n // Set the attribute on target\n element.setAttribute('aria-pressed', state);\n },\n\n // Format string\n format(input, ...args) {\n if (utils.is.empty(input)) {\n return input;\n }\n\n return input.toString().replace(/{(\\d+)}/g, (match, i) => (utils.is.string(args[i]) ? args[i] : ''));\n },\n\n // Get percentage\n getPercentage(current, max) {\n if (current === 0 || max === 0 || Number.isNaN(current) || Number.isNaN(max)) {\n return 0;\n }\n\n return (current / max * 100).toFixed(2);\n },\n\n // Time helpers\n getHours(value) {\n return parseInt((value / 60 / 60) % 60, 10);\n },\n getMinutes(value) {\n return parseInt((value / 60) % 60, 10);\n },\n getSeconds(value) {\n return parseInt(value % 60, 10);\n },\n\n // Format time to UI friendly string\n formatTime(time = 0, displayHours = false, inverted = false) {\n // Bail if the value isn't a number\n if (!utils.is.number(time)) {\n return utils.formatTime(null, displayHours, inverted);\n }\n\n // Format time component to add leading zero\n const format = value => `0${value}`.slice(-2);\n\n // Breakdown to hours, mins, secs\n let hours = utils.getHours(time);\n const mins = utils.getMinutes(time);\n const secs = utils.getSeconds(time);\n\n // Do we need to display hours?\n if (displayHours || hours > 0) {\n hours = `${hours}:`;\n } else {\n hours = '';\n }\n\n // Render\n return `${inverted ? '-' : ''}${hours}${format(mins)}:${format(secs)}`;\n },\n\n // Replace all occurances of a string in a string\n replaceAll(input = '', find = '', replace = '') {\n return input.replace(new RegExp(find.toString().replace(/([.*+?^=!:${}()|[\\]/\\\\])/g, '\\\\$1'), 'g'), replace.toString());\n },\n\n // Convert to title case\n toTitleCase(input = '') {\n return input.toString().replace(/\\w\\S*/g, text => text.charAt(0).toUpperCase() + text.substr(1).toLowerCase());\n },\n\n // Convert string to pascalCase\n toPascalCase(input = '') {\n let string = input.toString();\n\n // Convert kebab case\n string = utils.replaceAll(string, '-', ' ');\n\n // Convert snake case\n string = utils.replaceAll(string, '_', ' ');\n\n // Convert to title case\n string = utils.toTitleCase(string);\n\n // Convert to pascal case\n return utils.replaceAll(string, ' ', '');\n },\n\n // Convert string to pascalCase\n toCamelCase(input = '') {\n let string = input.toString();\n\n // Convert to pascal case\n string = utils.toPascalCase(string);\n\n // Convert first character to lowercase\n return string.charAt(0).toLowerCase() + string.slice(1);\n },\n\n // Deep extend destination object with N more objects\n extend(target = {}, ...sources) {\n if (!sources.length) {\n return target;\n }\n\n const source = sources.shift();\n\n if (!utils.is.object(source)) {\n return target;\n }\n\n Object.keys(source).forEach(key => {\n if (utils.is.object(source[key])) {\n if (!Object.keys(target).includes(key)) {\n Object.assign(target, { [key]: {} });\n }\n\n utils.extend(target[key], source[key]);\n } else {\n Object.assign(target, { [key]: source[key] });\n }\n });\n\n return utils.extend(target, ...sources);\n },\n\n // Remove duplicates in an array\n dedupe(array) {\n if (!utils.is.array(array)) {\n return array;\n }\n\n return array.filter((item, index) => array.indexOf(item) === index);\n },\n\n // Clone nested objects\n cloneDeep(object) {\n return JSON.parse(JSON.stringify(object));\n },\n\n // Get a nested value in an object\n getDeep(object, path) {\n return path.split('.').reduce((obj, key) => obj && obj[key], object);\n },\n\n // Get the closest value in an array\n closest(array, value) {\n if (!utils.is.array(array) || !array.length) {\n return null;\n }\n\n return array.reduce((prev, curr) => (Math.abs(curr - value) < Math.abs(prev - value) ? curr : prev));\n },\n\n // Get the provider for a given URL\n getProviderByUrl(url) {\n // YouTube\n if (/^(https?:\\/\\/)?(www\\.)?(youtube\\.com|youtu\\.?be)\\/.+$/.test(url)) {\n return providers.youtube;\n }\n\n // Vimeo\n if (/^https?:\\/\\/player.vimeo.com\\/video\\/\\d{0,9}(?=\\b|\\/)/.test(url)) {\n return providers.vimeo;\n }\n\n return null;\n },\n\n // Parse YouTube ID from URL\n parseYouTubeId(url) {\n if (utils.is.empty(url)) {\n return null;\n }\n\n const regex = /^.*(youtu.be\\/|v\\/|u\\/\\w\\/|embed\\/|watch\\?v=|&v=)([^#&?]*).*/;\n return url.match(regex) ? RegExp.$2 : url;\n },\n\n // Parse Vimeo ID from URL\n parseVimeoId(url) {\n if (utils.is.empty(url)) {\n return null;\n }\n\n if (utils.is.number(Number(url))) {\n return url;\n }\n\n const regex = /^.*(vimeo.com\\/|video\\/)(\\d+).*/;\n return url.match(regex) ? RegExp.$2 : url;\n },\n\n // Convert a URL to a location object\n parseUrl(url) {\n const parser = document.createElement('a');\n parser.href = url;\n return parser;\n },\n\n // Get URL query parameters\n getUrlParams(input) {\n let search = input;\n\n // Parse URL if needed\n if (input.startsWith('http://') || input.startsWith('https://')) {\n ({ search } = utils.parseUrl(input));\n }\n\n if (utils.is.empty(search)) {\n return null;\n }\n\n const hashes = search.slice(search.indexOf('?') + 1).split('&');\n\n return hashes.reduce((params, hash) => {\n const [\n key,\n val,\n ] = hash.split('=');\n\n return Object.assign(params, { [key]: decodeURIComponent(val) });\n }, {});\n },\n\n // Convert object to URL parameters\n buildUrlParams(input) {\n if (!utils.is.object(input)) {\n return '';\n }\n\n return Object.keys(input)\n .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(input[key])}`)\n .join('&');\n },\n\n // Remove HTML from a string\n stripHTML(source) {\n const fragment = document.createDocumentFragment();\n const element = document.createElement('div');\n fragment.appendChild(element);\n element.innerHTML = source;\n return fragment.firstChild.innerText;\n },\n\n // Like outerHTML, but also works for DocumentFragment\n getHTML(element) {\n const wrapper = document.createElement('div');\n wrapper.appendChild(element);\n return wrapper.innerHTML;\n },\n\n // Get aspect ratio for dimensions\n getAspectRatio(width, height) {\n const getRatio = (w, h) => (h === 0 ? w : getRatio(h, w % h));\n const ratio = getRatio(width, height);\n return `${width / ratio}:${height / ratio}`;\n },\n\n // Get the transition end event\n get transitionEndEvent() {\n const element = document.createElement('span');\n\n const events = {\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'transitionend',\n OTransition: 'oTransitionEnd otransitionend',\n transition: 'transitionend',\n };\n\n const type = Object.keys(events).find(event => element.style[event] !== undefined);\n\n return utils.is.string(type) ? events[type] : false;\n },\n\n // Force repaint of element\n repaint(element) {\n setTimeout(() => {\n utils.toggleHidden(element, true);\n element.offsetHeight; // eslint-disable-line\n utils.toggleHidden(element, false);\n }, 0);\n },\n};\n\nexport default utils;\n","// ==========================================================================\n// Plyr support checks\n// ==========================================================================\n\nimport utils from './utils';\n\n// Check for feature support\nconst support = {\n // Basic support\n audio: 'canPlayType' in document.createElement('audio'),\n video: 'canPlayType' in document.createElement('video'),\n\n // Check for support\n // Basic functionality vs full UI\n check(type, provider, playsinline) {\n let api = false;\n let ui = false;\n const browser = utils.getBrowser();\n const canPlayInline = browser.isIPhone && playsinline && support.playsinline;\n\n switch (`${provider}:${type}`) {\n case 'html5:video':\n api = support.video;\n ui = api && support.rangeInput && (!browser.isIPhone || canPlayInline);\n break;\n\n case 'html5:audio':\n api = support.audio;\n ui = api && support.rangeInput;\n break;\n\n case 'youtube:video':\n case 'vimeo:video':\n api = true;\n ui = support.rangeInput && (!browser.isIPhone || canPlayInline);\n break;\n\n default:\n api = support.audio && support.video;\n ui = api && support.rangeInput;\n }\n\n return {\n api,\n ui,\n };\n },\n\n // Picture-in-picture support\n // Safari only currently\n pip: (() => {\n const browser = utils.getBrowser();\n return !browser.isIPhone && utils.is.function(utils.createElement('video').webkitSetPresentationMode);\n })(),\n\n // Airplay support\n // Safari only currently\n airplay: utils.is.function(window.WebKitPlaybackTargetAvailabilityEvent),\n\n // Inline playback support\n // https://webkit.org/blog/6784/new-video-policies-for-ios/\n playsinline: 'playsInline' in document.createElement('video'),\n\n // Check for mime type support against a player instance\n // Credits: http://diveintohtml5.info/everything.html\n // Related: http://www.leanbackplayer.com/test/h5mt.html\n mime(type) {\n const { media } = this;\n\n try {\n // Bail if no checking function\n if (!this.isHTML5 || !utils.is.function(media.canPlayType)) {\n return false;\n }\n\n // Check directly if codecs specified\n if (type.includes('codecs=')) {\n return media.canPlayType(type).replace(/no/, '');\n }\n\n // Type specific checks\n if (this.isVideo) {\n switch (type) {\n case 'video/webm':\n return media.canPlayType('video/webm; codecs=\"vp8, vorbis\"').replace(/no/, '');\n\n case 'video/mp4':\n return media.canPlayType('video/mp4; codecs=\"avc1.42E01E, mp4a.40.2\"').replace(/no/, '');\n\n case 'video/ogg':\n return media.canPlayType('video/ogg; codecs=\"theora\"').replace(/no/, '');\n\n default:\n return false;\n }\n } else if (this.isAudio) {\n switch (type) {\n case 'audio/mpeg':\n return media.canPlayType('audio/mpeg;').replace(/no/, '');\n\n case 'audio/ogg':\n return media.canPlayType('audio/ogg; codecs=\"vorbis\"').replace(/no/, '');\n\n case 'audio/wav':\n return media.canPlayType('audio/wav; codecs=\"1\"').replace(/no/, '');\n\n default:\n return false;\n }\n }\n } catch (e) {\n return false;\n }\n\n // If we got this far, we're stuffed\n return false;\n },\n\n // Check for textTracks support\n textTracks: 'textTracks' in document.createElement('video'),\n\n // Check for passive event listener support\n // https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md\n // https://www.youtube.com/watch?v=NPM6172J22g\n passiveListeners: (() => {\n // Test via a getter in the options object to see if the passive property is accessed\n let supported = false;\n try {\n const options = Object.defineProperty({}, 'passive', {\n get() {\n supported = true;\n return null;\n },\n });\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (e) {\n // Do nothing\n }\n\n return supported;\n })(),\n\n // Sliders\n rangeInput: (() => {\n const range = document.createElement('input');\n range.type = 'range';\n return range.type === 'range';\n })(),\n\n // Touch\n // NOTE: Remember a device can be mouse + touch enabled so we check on first touch event\n touch: 'ontouchstart' in document.documentElement,\n\n // Detect transitions support\n transitions: utils.transitionEndEvent !== false,\n\n // Reduced motion iOS & MacOS setting\n // https://webkit.org/blog/7551/responsive-design-for-motion/\n reducedMotion: 'matchMedia' in window && window.matchMedia('(prefers-reduced-motion)').matches,\n};\n\nexport default support;\n","// ==========================================================================\n// Plyr HTML5 helpers\n// ==========================================================================\n\nimport support from './support';\nimport utils from './utils';\n\nconst html5 = {\n getSources() {\n if (!this.isHTML5) {\n return null;\n }\n\n return this.media.querySelectorAll('source');\n },\n\n // Get quality levels\n getQualityOptions() {\n if (!this.isHTML5) {\n return null;\n }\n\n // Get sources\n const sources = html5.getSources.call(this);\n\n if (utils.is.empty(sources)) {\n return null;\n }\n\n // Get with size attribute\n const sizes = Array.from(sources).filter(source => !utils.is.empty(source.getAttribute('size')));\n\n // If none, bail\n if (utils.is.empty(sizes)) {\n return null;\n }\n\n // Reduce to unique list\n return utils.dedupe(sizes.map(source => Number(source.getAttribute('size'))));\n },\n\n extend() {\n if (!this.isHTML5) {\n return;\n }\n\n const player = this;\n\n // Quality\n Object.defineProperty(player.media, 'quality', {\n get() {\n // Get sources\n const sources = html5.getSources.call(player);\n\n if (utils.is.empty(sources)) {\n return null;\n }\n\n const matches = Array.from(sources).filter(source => source.getAttribute('src') === player.source);\n\n if (utils.is.empty(matches)) {\n return null;\n }\n\n return Number(matches[0].getAttribute('size'));\n },\n set(input) {\n // Get sources\n const sources = html5.getSources.call(player);\n\n if (utils.is.empty(sources)) {\n return;\n }\n\n // Get matches for requested size\n const matches = Array.from(sources).filter(source => Number(source.getAttribute('size')) === input);\n\n // No matches for requested size\n if (utils.is.empty(matches)) {\n return;\n }\n\n // Get supported sources\n const supported = matches.filter(source => support.mime.call(player, source.getAttribute('type')));\n\n // No supported sources\n if (utils.is.empty(supported)) {\n return;\n }\n\n // Trigger change event\n utils.dispatchEvent.call(player, player.media, 'qualityrequested', false, {\n quality: input,\n });\n\n // Get current state\n const { currentTime, playing } = player;\n\n // Set new source\n player.media.src = supported[0].getAttribute('src');\n\n // Restore time\n const onLoadedMetaData = () => {\n player.currentTime = currentTime;\n player.off('loadedmetadata', onLoadedMetaData);\n };\n player.on('loadedmetadata', onLoadedMetaData);\n\n // Load new source\n player.media.load();\n\n // Resume playing\n if (playing) {\n player.play();\n }\n\n // Trigger change event\n utils.dispatchEvent.call(player, player.media, 'qualitychange', false, {\n quality: input,\n });\n },\n });\n },\n\n // Cancel current network requests\n // See https://github.com/sampotts/plyr/issues/174\n cancelRequests() {\n if (!this.isHTML5) {\n return;\n }\n\n // Remove child sources\n utils.removeElement(html5.getSources());\n\n // Set blank video src attribute\n // This is to prevent a MEDIA_ERR_SRC_NOT_SUPPORTED error\n // Info: http://stackoverflow.com/questions/32231579/how-to-properly-dispose-of-an-html5-video-and-close-socket-or-connection\n this.media.setAttribute('src', this.config.blankVideo);\n\n // Load the new empty source\n // This will cancel existing requests\n // See https://github.com/sampotts/plyr/issues/174\n this.media.load();\n\n // Debugging\n this.debug.log('Cancelled network requests');\n },\n};\n\nexport default html5;\n","// ==========================================================================\n// Plyr internationalization\n// ==========================================================================\n\nimport utils from './utils';\n\nconst i18n = {\n get(key = '', config = {}) {\n if (utils.is.empty(key) || utils.is.empty(config)) {\n return '';\n }\n\n let string = utils.getDeep(config.i18n, key);\n\n if (utils.is.empty(string)) {\n return '';\n }\n\n const replace = {\n '{seektime}': config.seekTime,\n '{title}': config.title,\n };\n\n Object.entries(replace).forEach(([\n key,\n value,\n ]) => {\n string = utils.replaceAll(string, key, value);\n });\n\n return string;\n },\n};\n\nexport default i18n;\n","// ==========================================================================\n// Plyr controls\n// ==========================================================================\n\nimport captions from './captions';\nimport html5 from './html5';\nimport i18n from './i18n';\nimport support from './support';\nimport utils from './utils';\n\n// Sniff out the browser\nconst browser = utils.getBrowser();\n\nconst controls = {\n\n\n // Get icon URL\n getIconUrl() {\n const url = new URL(this.config.iconUrl, window.location);\n const cors = url.host !== window.location.host || (browser.isIE && !window.svg4everybody);\n\n return {\n url: this.config.iconUrl,\n cors,\n };\n },\n\n // Find the UI controls and store references in custom controls\n // TODO: Allow settings menus with custom controls\n findElements() {\n try {\n this.elements.controls = utils.getElement.call(this, this.config.selectors.controls.wrapper);\n\n // Buttons\n this.elements.buttons = {\n play: utils.getElements.call(this, this.config.selectors.buttons.play),\n pause: utils.getElement.call(this, this.config.selectors.buttons.pause),\n restart: utils.getElement.call(this, this.config.selectors.buttons.restart),\n rewind: utils.getElement.call(this, this.config.selectors.buttons.rewind),\n fastForward: utils.getElement.call(this, this.config.selectors.buttons.fastForward),\n mute: utils.getElement.call(this, this.config.selectors.buttons.mute),\n pip: utils.getElement.call(this, this.config.selectors.buttons.pip),\n airplay: utils.getElement.call(this, this.config.selectors.buttons.airplay),\n settings: utils.getElement.call(this, this.config.selectors.buttons.settings),\n captions: utils.getElement.call(this, this.config.selectors.buttons.captions),\n fullscreen: utils.getElement.call(this, this.config.selectors.buttons.fullscreen),\n };\n\n // Progress\n this.elements.progress = utils.getElement.call(this, this.config.selectors.progress);\n\n // Inputs\n this.elements.inputs = {\n seek: utils.getElement.call(this, this.config.selectors.inputs.seek),\n volume: utils.getElement.call(this, this.config.selectors.inputs.volume),\n };\n\n // Display\n this.elements.display = {\n buffer: utils.getElement.call(this, this.config.selectors.display.buffer),\n currentTime: utils.getElement.call(this, this.config.selectors.display.currentTime),\n duration: utils.getElement.call(this, this.config.selectors.display.duration),\n };\n\n // Seek tooltip\n if (utils.is.element(this.elements.progress)) {\n this.elements.display.seekTooltip = this.elements.progress.querySelector(`.${this.config.classNames.tooltip}`);\n }\n\n return true;\n } catch (error) {\n // Log it\n this.debug.warn('It looks like there is a problem with your custom controls HTML', error);\n\n // Restore native video controls\n this.toggleNativeControls(true);\n\n return false;\n }\n },\n\n // Create icon\n createIcon(type, attributes) {\n const namespace = 'http://www.w3.org/2000/svg';\n const iconUrl = controls.getIconUrl.call(this);\n const iconPath = `${!iconUrl.cors ? iconUrl.url : ''}#${this.config.iconPrefix}`;\n\n // Create \n const icon = document.createElementNS(namespace, 'svg');\n utils.setAttributes(\n icon,\n utils.extend(attributes, {\n role: 'presentation',\n focusable: 'false',\n }),\n );\n\n // Create the to reference sprite\n const use = document.createElementNS(namespace, 'use');\n const path = `${iconPath}-${type}`;\n\n // Set `href` attributes\n // https://github.com/sampotts/plyr/issues/460\n // https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/xlink:href\n if ('href' in use) {\n use.setAttributeNS('http://www.w3.org/1999/xlink', 'href', path);\n } else {\n use.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', path);\n }\n\n // Add to \n icon.appendChild(use);\n\n return icon;\n },\n\n // Create hidden text label\n createLabel(type, attr) {\n let text = i18n.get(type, this.config);\n const attributes = Object.assign({}, attr);\n\n switch (type) {\n case 'pip':\n text = 'PIP';\n break;\n\n case 'airplay':\n text = 'AirPlay';\n break;\n\n default:\n break;\n }\n\n if ('class' in attributes) {\n attributes.class += ` ${this.config.classNames.hidden}`;\n } else {\n attributes.class = this.config.classNames.hidden;\n }\n\n return utils.createElement('span', attributes, text);\n },\n\n // Create a badge\n createBadge(text) {\n if (utils.is.empty(text)) {\n return null;\n }\n\n const badge = utils.createElement('span', {\n class: this.config.classNames.menu.value,\n });\n\n badge.appendChild(\n utils.createElement(\n 'span',\n {\n class: this.config.classNames.menu.badge,\n },\n text,\n ),\n );\n\n return badge;\n },\n\n // Create a
to hide the standard controls and UI\n setAspectRatio(input) {\n const ratio = utils.is.string(input) ? input.split(':') : this.config.ratio.split(':');\n const padding = 100 / ratio[0] * ratio[1];\n this.elements.wrapper.style.paddingBottom = `${padding}%`;\n\n if (this.supported.ui) {\n const height = 240;\n const offset = (height - padding) / (height / 50);\n\n this.media.style.transform = `translateY(-${offset}%)`;\n }\n },\n\n // API Ready\n ready() {\n const player = this;\n\n // Get Vimeo params for the iframe\n const options = {\n loop: player.config.loop.active,\n autoplay: player.autoplay,\n // muted: player.muted,\n byline: false,\n portrait: false,\n title: false,\n speed: true,\n transparent: 0,\n gesture: 'media',\n playsinline: !this.config.fullscreen.iosNative,\n };\n const params = utils.buildUrlParams(options);\n\n // Get the source URL or ID\n let source = player.media.getAttribute('src');\n\n // Get from
if needed\n if (utils.is.empty(source)) {\n source = player.media.getAttribute(player.config.attributes.embed.id);\n }\n\n const id = utils.parseVimeoId(source);\n\n // Build an iframe\n const iframe = utils.createElement('iframe');\n const src = utils.format(player.config.urls.vimeo.iframe, id, params);\n iframe.setAttribute('src', src);\n iframe.setAttribute('allowfullscreen', '');\n iframe.setAttribute('allowtransparency', '');\n iframe.setAttribute('allow', 'autoplay');\n\n // Inject the package\n const wrapper = utils.createElement('div', { class: player.config.classNames.embedContainer });\n wrapper.appendChild(iframe);\n player.media = utils.replaceElement(wrapper, player.media);\n\n // Get poster image\n utils.fetch(utils.format(player.config.urls.vimeo.api, id), 'json').then(response => {\n if (utils.is.empty(response)) {\n return;\n }\n\n // Get the URL for thumbnail\n const url = new URL(response[0].thumbnail_large);\n\n // Get original image\n url.pathname = `${url.pathname.split('_')[0]}.jpg`;\n\n // Set and show poster\n ui.setPoster.call(player, url.href);\n });\n\n // Setup instance\n // https://github.com/vimeo/player.js\n player.embed = new window.Vimeo.Player(iframe, {\n autopause: player.config.autopause,\n muted: player.muted,\n });\n\n player.media.paused = true;\n player.media.currentTime = 0;\n\n // Disable native text track rendering\n if (player.supported.ui) {\n player.embed.disableTextTrack();\n }\n\n // Create a faux HTML5 API using the Vimeo API\n player.media.play = () => {\n assurePlaybackState.call(player, true);\n return player.embed.play();\n };\n\n player.media.pause = () => {\n assurePlaybackState.call(player, false);\n return player.embed.pause();\n };\n\n player.media.stop = () => {\n player.pause();\n player.currentTime = 0;\n };\n\n // Seeking\n let { currentTime } = player.media;\n Object.defineProperty(player.media, 'currentTime', {\n get() {\n return currentTime;\n },\n set(time) {\n // Vimeo will automatically play on seek if the video hasn't been played before\n\n // Get current paused state and volume etc\n const { embed, media, paused, volume } = player;\n const restorePause = paused && !embed.hasPlayed;\n\n // Set seeking state and trigger event\n media.seeking = true;\n utils.dispatchEvent.call(player, media, 'seeking');\n\n // If paused, mute until seek is complete\n Promise.resolve(restorePause && embed.setVolume(0))\n // Seek\n .then(() => embed.setCurrentTime(time))\n // Restore paused\n .then(() => restorePause && embed.pause())\n // Restore volume\n .then(() => restorePause && embed.setVolume(volume))\n .catch(() => {\n // Do nothing\n });\n },\n });\n\n // Playback speed\n let speed = player.config.speed.selected;\n Object.defineProperty(player.media, 'playbackRate', {\n get() {\n return speed;\n },\n set(input) {\n player.embed\n .setPlaybackRate(input)\n .then(() => {\n speed = input;\n utils.dispatchEvent.call(player, player.media, 'ratechange');\n })\n .catch(error => {\n // Hide menu item (and menu if empty)\n if (error.name === 'Error') {\n controls.setSpeedMenu.call(player, []);\n }\n });\n },\n });\n\n // Volume\n let { volume } = player.config;\n Object.defineProperty(player.media, 'volume', {\n get() {\n return volume;\n },\n set(input) {\n player.embed.setVolume(input).then(() => {\n volume = input;\n utils.dispatchEvent.call(player, player.media, 'volumechange');\n });\n },\n });\n\n // Muted\n let { muted } = player.config;\n Object.defineProperty(player.media, 'muted', {\n get() {\n return muted;\n },\n set(input) {\n const toggle = utils.is.boolean(input) ? input : false;\n\n player.embed.setVolume(toggle ? 0 : player.config.volume).then(() => {\n muted = toggle;\n utils.dispatchEvent.call(player, player.media, 'volumechange');\n });\n },\n });\n\n // Loop\n let { loop } = player.config;\n Object.defineProperty(player.media, 'loop', {\n get() {\n return loop;\n },\n set(input) {\n const toggle = utils.is.boolean(input) ? input : player.config.loop.active;\n\n player.embed.setLoop(toggle).then(() => {\n loop = toggle;\n });\n },\n });\n\n // Source\n let currentSrc;\n player.embed\n .getVideoUrl()\n .then(value => {\n currentSrc = value;\n })\n .catch(error => {\n this.debug.warn(error);\n });\n\n Object.defineProperty(player.media, 'currentSrc', {\n get() {\n return currentSrc;\n },\n });\n\n // Ended\n Object.defineProperty(player.media, 'ended', {\n get() {\n return player.currentTime === player.duration;\n },\n });\n\n // Set aspect ratio based on video size\n Promise.all([\n player.embed.getVideoWidth(),\n player.embed.getVideoHeight(),\n ]).then(dimensions => {\n const ratio = utils.getAspectRatio(dimensions[0], dimensions[1]);\n vimeo.setAspectRatio.call(this, ratio);\n });\n\n // Set autopause\n player.embed.setAutopause(player.config.autopause).then(state => {\n player.config.autopause = state;\n });\n\n // Get title\n player.embed.getVideoTitle().then(title => {\n player.config.title = title;\n ui.setTitle.call(this);\n });\n\n // Get current time\n player.embed.getCurrentTime().then(value => {\n currentTime = value;\n utils.dispatchEvent.call(player, player.media, 'timeupdate');\n });\n\n // Get duration\n player.embed.getDuration().then(value => {\n player.media.duration = value;\n utils.dispatchEvent.call(player, player.media, 'durationchange');\n });\n\n // Get captions\n player.embed.getTextTracks().then(tracks => {\n player.media.textTracks = tracks;\n captions.setup.call(player);\n });\n\n player.embed.on('cuechange', ({ cues = [] }) => {\n const strippedCues = cues.map(cue => utils.stripHTML(cue.text));\n captions.updateCues.call(player, strippedCues);\n });\n\n player.embed.on('loaded', () => {\n // Assure state and events are updated on autoplay\n player.embed.getPaused().then(paused => {\n assurePlaybackState.call(player, !paused);\n if (!paused) {\n utils.dispatchEvent.call(player, player.media, 'playing');\n }\n });\n\n if (utils.is.element(player.embed.element) && player.supported.ui) {\n const frame = player.embed.element;\n\n // Fix keyboard focus issues\n // https://github.com/sampotts/plyr/issues/317\n frame.setAttribute('tabindex', -1);\n }\n });\n\n player.embed.on('play', () => {\n assurePlaybackState.call(player, true);\n utils.dispatchEvent.call(player, player.media, 'playing');\n });\n\n player.embed.on('pause', () => {\n assurePlaybackState.call(player, false);\n });\n\n player.embed.on('timeupdate', data => {\n player.media.seeking = false;\n currentTime = data.seconds;\n utils.dispatchEvent.call(player, player.media, 'timeupdate');\n });\n\n player.embed.on('progress', data => {\n player.media.buffered = data.percent;\n utils.dispatchEvent.call(player, player.media, 'progress');\n\n // Check all loaded\n if (parseInt(data.percent, 10) === 1) {\n utils.dispatchEvent.call(player, player.media, 'canplaythrough');\n }\n\n // Get duration as if we do it before load, it gives an incorrect value\n // https://github.com/sampotts/plyr/issues/891\n player.embed.getDuration().then(value => {\n if (value !== player.media.duration) {\n player.media.duration = value;\n utils.dispatchEvent.call(player, player.media, 'durationchange');\n }\n });\n });\n\n player.embed.on('seeked', () => {\n player.media.seeking = false;\n utils.dispatchEvent.call(player, player.media, 'seeked');\n });\n\n player.embed.on('ended', () => {\n player.media.paused = true;\n utils.dispatchEvent.call(player, player.media, 'ended');\n });\n\n player.embed.on('error', detail => {\n player.media.error = detail;\n utils.dispatchEvent.call(player, player.media, 'error');\n });\n\n // Rebuild UI\n setTimeout(() => ui.build.call(player), 0);\n },\n};\n\nexport default vimeo;\n","// ==========================================================================\n// YouTube plugin\n// ==========================================================================\n\nimport controls from './../controls';\nimport ui from './../ui';\nimport utils from './../utils';\n\n// Standardise YouTube quality unit\nfunction mapQualityUnit(input) {\n switch (input) {\n case 'hd2160':\n return 2160;\n\n case 2160:\n return 'hd2160';\n\n case 'hd1440':\n return 1440;\n\n case 1440:\n return 'hd1440';\n\n case 'hd1080':\n return 1080;\n\n case 1080:\n return 'hd1080';\n\n case 'hd720':\n return 720;\n\n case 720:\n return 'hd720';\n\n case 'large':\n return 480;\n\n case 480:\n return 'large';\n\n case 'medium':\n return 360;\n\n case 360:\n return 'medium';\n\n case 'small':\n return 240;\n\n case 240:\n return 'small';\n\n default:\n return 'default';\n }\n}\n\nfunction mapQualityUnits(levels) {\n if (utils.is.empty(levels)) {\n return levels;\n }\n\n return utils.dedupe(levels.map(level => mapQualityUnit(level)));\n}\n\n// Set playback state and trigger change (only on actual change)\nfunction assurePlaybackState(play) {\n if (play && !this.embed.hasPlayed) {\n this.embed.hasPlayed = true;\n }\n if (this.media.paused === play) {\n this.media.paused = !play;\n utils.dispatchEvent.call(this, this.media, play ? 'play' : 'pause');\n }\n}\n\nconst youtube = {\n setup() {\n // Add embed class for responsive\n utils.toggleClass(this.elements.wrapper, this.config.classNames.embed, true);\n\n // Set aspect ratio\n youtube.setAspectRatio.call(this);\n\n // Setup API\n if (utils.is.object(window.YT) && utils.is.function(window.YT.Player)) {\n youtube.ready.call(this);\n } else {\n // Load the API\n utils.loadScript(this.config.urls.youtube.sdk).catch(error => {\n this.debug.warn('YouTube API failed to load', error);\n });\n\n // Setup callback for the API\n // YouTube has it's own system of course...\n window.onYouTubeReadyCallbacks = window.onYouTubeReadyCallbacks || [];\n\n // Add to queue\n window.onYouTubeReadyCallbacks.push(() => {\n youtube.ready.call(this);\n });\n\n // Set callback to process queue\n window.onYouTubeIframeAPIReady = () => {\n window.onYouTubeReadyCallbacks.forEach(callback => {\n callback();\n });\n };\n }\n },\n\n // Get the media title\n getTitle(videoId) {\n // Try via undocumented API method first\n // This method disappears now and then though...\n // https://github.com/sampotts/plyr/issues/709\n if (utils.is.function(this.embed.getVideoData)) {\n const { title } = this.embed.getVideoData();\n\n if (utils.is.empty(title)) {\n this.config.title = title;\n ui.setTitle.call(this);\n return;\n }\n }\n\n // Or via Google API\n const key = this.config.keys.google;\n if (utils.is.string(key) && !utils.is.empty(key)) {\n const url = utils.format(this.config.urls.youtube.api, videoId, key);\n\n utils\n .fetch(url)\n .then(result => {\n if (utils.is.object(result)) {\n this.config.title = result.items[0].snippet.title;\n ui.setTitle.call(this);\n }\n })\n .catch(() => {});\n }\n },\n\n // Set aspect ratio\n setAspectRatio() {\n const ratio = this.config.ratio.split(':');\n this.elements.wrapper.style.paddingBottom = `${100 / ratio[0] * ratio[1]}%`;\n },\n\n // API ready\n ready() {\n const player = this;\n\n // Ignore already setup (race condition)\n const currentId = player.media.getAttribute('id');\n if (!utils.is.empty(currentId) && currentId.startsWith('youtube-')) {\n return;\n }\n\n // Get the source URL or ID\n let source = player.media.getAttribute('src');\n\n // Get from
if needed\n if (utils.is.empty(source)) {\n source = player.media.getAttribute(this.config.attributes.embed.id);\n }\n\n // Replace the