{"version":3,"sources":["src/js/utils/is.js","src/js/utils/events.js","src/js/utils/elements.js","src/js/utils/animation.js","src/js/utils/browser.js","src/js/support.js","src/js/html5.js","src/js/utils/arrays.js","src/js/utils/objects.js","src/js/utils/strings.js","src/js/utils/i18n.js","src/js/storage.js","src/js/utils/fetch.js","src/js/utils/loadSprite.js","src/js/utils/time.js","src/js/controls.js","src/js/utils/urls.js","src/js/captions.js","src/js/config/defaults.js","src/js/config/types.js","src/js/console.js","src/js/fullscreen.js","src/js/utils/loadImage.js","src/js/ui.js","src/js/listeners.js","node_modules/loadjs/dist/loadjs.umd.js","src/js/utils/loadScript.js","src/js/plugins/vimeo.js","src/js/plugins/youtube.js","src/js/media.js","src/js/plugins/ads.js","src/js/source.js","src/js/plyr.js"],"names":["getConstructor","input","constructor","instanceOf","Boolean","isNullOrUndefined","isObject","Object","isString","String","isArray","Array","isNodeList","NodeList","isEmpty","length","keys","is","nullOrUndefined","object","number","Number","isNaN","string","boolean","function","Function","array","weakMap","WeakMap","nodeList","element","Element","textNode","Text","event","Event","keyboardEvent","KeyboardEvent","cue","window","TextTrackCue","VTTCue","track","TextTrack","kind","url","URL","startsWith","hostname","e","empty","supportsPassiveListeners","supported","options","defineProperty","get","addEventListener","removeEventListener","toggleListener","callback","toggle","arguments","undefined","_this","this","passive","capture","events","split","forEach","type","eventListeners","push","on","call","off","once","onceCallback","_len","args","_key","apply","triggerEvent","bubbles","detail","CustomEvent","assign","plyr","dispatchEvent","wrap","elements","wrapper","targets","from","reverse","index","child","cloneNode","parent","parentNode","sibling","nextSibling","appendChild","insertBefore","setAttributes","attributes","entries","filter","_ref","value","slicedToArray","_ref3","_ref4","key","setAttribute","createElement","text","document","innerText","insertElement","removeElement","removeChild","emptyElement","childNodes","lastChild","replaceElement","newChild","oldChild","replaceChild","getAttributesFromSelector","sel","existingAttributes","existing","s","selector","trim","className","replace","parts","charAt","class","id","toggleHidden","hidden","hide","removeAttribute","toggleClass","force","map","method","classList","contains","hasClass","matches","prototype","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","querySelectorAll","includes","getElements","container","getElement","querySelector","setFocus","tabFocus","focus","config","classNames","transitionEndEvent","WebkitTransition","MozTransition","OTransition","transition","find","style","repaint","setTimeout","offsetHeight","range","browser","isIE","documentMode","isWebkit","documentElement","test","navigator","userAgent","isIPhone","platform","isIos","defaultCodecs","audio/ogg","audio/wav","video/webm","video/mp4","video/ogg","support","audio","video","check","provider","playsinline","canPlayInline","api","ui","rangeInput","pip","webkitSetPresentationMode","airplay","WebKitPlaybackTargetAvailabilityEvent","mime","inputType","_inputType$split","mediaType","isHTML5","media","canPlayType","err","textTracks","touch","transitions","reducedMotion","matchMedia","html5","getSources","source","getAttribute","getQualityOptions","extend","player","set","_player$media","currentTime","paused","preload","readyState","src","play","load","quality","storage","cancelRequests","blankVideo","debug","log","dedupe","item","indexOf","getDeep","path","reduce","obj","target","sources","shift","concat","format","toString","match","i","replaceAll","RegExp","toTitleCase","toUpperCase","substr","toLowerCase","toCamelCase","toPascalCase","slice","getHTML","innerHTML","i18n","{seektime}","seekTime","{title}","title","_ref2","Storage","classCallCheck","enabled","store","localStorage","getItem","json","JSON","parse","setItem","stringify","removeItem","fetch","responseType","Promise","resolve","reject","request","XMLHttpRequest","responseText","response","Error","status","open","send","loadSprite","hasId","exists","getElementById","update","data","body","insertAdjacentElement","useStorage","cached","prefix","content","then","result","catch","getHours","parseInt","getMinutes","getSeconds","formatTime","time","displayHours","inverted","hours","mins","secs","controls","getIconUrl","cors","iconUrl","location","host","svg4everybody","findElements","selectors","buttons","pause","restart","rewind","fastForward","mute","settings","captions","fullscreen","progress","inputs","seek","volume","display","buffer","duration","seekTooltip","tooltip","error","warn","toggleNativeControls","createIcon","iconPath","iconPrefix","icon","createElementNS","role","focusable","use","setAttributeNS","createLabel","attr","join","createBadge","badge","menu","createButton","buttonType","button","label","labelPressed","iconPressed","control","createRange","min","max","step","autocomplete","aria-label","aria-valuemin","aria-valuemax","aria-valuenow","updateRangeFill","createProgress","aria-hidden","suffixKey","played","suffix","createTime","bindMenuItemShortcuts","menuItem","which","preventDefault","stopPropagation","isRadioButton","showMenuPanel","nextElementSibling","firstElementChild","previousElementSibling","lastElementChild","focusFirstMenuItem","createMenuItem","_this2","list","_ref$badge","_ref$checked","checked","aria-checked","flex","enumerable","children","node","listeners","bind","currentTrack","speed","parseFloat","updateTimeDisplay","updateVolume","setRange","muted","pressed","updateProgress","_this3","current","toFixed","getElementsByTagName","nodeValue","setProgress","buffered","percent","setProperty","updateSeekTooltip","_this4","tooltips","clientRect","getBoundingClientRect","visible","_toggle","width","pageX","left","timeUpdate","invert","invertTime","seeking","durationUpdate","Math","pow","hasDuration","displayDuration","toggleMenuButton","setting","updateSetting","pane","panels","default","getLabel","setQualityMenu","_this5","checkMenu","sort","a","b","sorting","getBadge","setCaptionsMenu","_this6","tracks","getTracks","toggled","language","unshift","setSpeedMenu","_this7","isVimeo","values","some","popup","firstItem","toggleMenu","show","isMenuItem","getMenuSize","tab","clone","position","opacity","scrollWidth","height","scrollHeight","_this8","size","restore","propertyName","create","_this9","aria-haspopup","aria-controls","aria-expanded","inner","home","backButton","inject","_this10","floor","random","props","seektime","addProperty","controlPressed","_config","labels","parseUrl","parser","href","buildUrlParams","params","URLSearchParams","setup","isVideo","isYouTube","protocol","blob","createObjectURL","languages","userLanguage","active","trackEvents","_captions","meta","currentTrackNode","languageExists","mode","updateCues","setLanguage","activeClass","findTrack","toConsumableArray","embed","enableTextTrack","has","sortIsDefault","sorted","every","getCurrentTrack","cues","activeCues","getCueAsHTML","cueText","caption","defaults","autoplay","autopause","toggleInvert","ratio","clickToPlay","hideControls","resetOnEnd","disableContextMenu","loop","selected","keyboard","focused","global","fallback","iosNative","seekLabel","unmute","enableCaptions","disableCaptions","enterFullscreen","exitFullscreen","frameTitle","menuBack","normal","start","end","all","reset","disabled","advertisement","qualityBadge","2160","1440","1080","720","576","480","urls","vimeo","sdk","iframe","youtube","googleIMA","editable","embedContainer","poster","posterEnabled","ads","playing","stopped","loading","hover","isTouch","uiSupported","noTransition","google","publisherId","providers","types","noop","Console","console","onChange","first","last","keyCode","activeElement","shiftKey","toggleFallback","scrollPosition","x","scrollX","y","scrollY","scrollTo","overflow","Fullscreen","property","native","webkitEnterFullscreen","requestFullscreen","webkitExitFullscreen","action","cancelFullScreen","exit","enter","fullscreenElement","fullscreenEnabled","webkitFullscreenEnabled","mozFullScreenEnabled","msFullscreenEnabled","pre","loadImage","minWidth","image","Image","handler","onload","onerror","naturalWidth","addStyleHook","build","checkPlaying","ready","setTitle","setPoster","isEmbed","togglePoster","enable","backgroundImage","backgroundSize","toggleControls","checkLoading","clearTimeout","timers","Listeners","lastKey","focusTimer","lastKeyDown","handleKey","setTabFocus","firstTouch","code","repeat","altKey","ctrlKey","metaKey","togglePlay","increaseVolume","decreaseVolume","forward","toggleCaptions","timeStamp","wasKeyDown","delay","hasAudio","initialized","managerPromise","isAudio","ended","proxyEvents","_event$detail","defaultHandler","customHandlerKey","customHandler","returned","hasCustomHandler","proxy","inputEvent","rect","currentTarget","hasAttribute","done","seekTo","isFocusIn","webkitDirectionInvertedFromDevice","_map","deltaX","deltaY","_map2","direction","sign","abs","factory","devnull","bundleIdCache","bundleResultCache","bundleCallbackQueue","publish","bundleId","pathsNotFound","q","splice","executeCallbacks","depsNotFound","success","loadFile","callbackFn","numTries","isCss","doc","async","maxTries","numRetries","beforeCallbackFn","before","pathStripped","rel","onbeforeload","ev","sheet","cssText","defaultPrevented","head","loadjs","paths","arg1","arg2","fn","numWaiting","loadFiles","deps","bundleIds","r","subscribe","isDefined","module","exports","loadScript","assurePlaybackState","hasPlayed","setAspectRatio","Vimeo","_split","_split2","padding","paddingBottom","offset","transform","byline","portrait","transparent","gesture","$2","thumbnail_large","pathname","Player","disableTextTrack","stop","restorePause","setVolume","setCurrentTime","setPlaybackRate","name","setLoop","currentSrc","getVideoUrl","getVideoWidth","getVideoHeight","dimensions","getRatio","w","h","getAspectRatio","setAutopause","state","getVideoTitle","getCurrentTime","getDuration","getTextTracks","_ref$cues","strippedCues","fragment","createDocumentFragment","firstChild","getPaused","seconds","YT","onYouTubeReadyCallbacks","onYouTubeIframeAPIReady","getTitle","videoId","getVideoData","items","snippet","currentId","posterSrc","format$$1","playerVars","hl","showinfo","iv_load_policy","modestbranding","disablekb","widget_referrer","cc_load_policy","cc_lang_pref","onError","message","2","5","100","101","150","onPlaybackRateChange","instance","playbackRate","getPlaybackRate","onReady","playVideo","pauseVideo","stopVideo","getAvailablePlaybackRates","clearInterval","buffering","setInterval","getVideoLoadedFraction","lastBuffered","onStateChange","unMute","Ads","displayContainer","manager","loader","cuePoints","safetyTimer","countdownTimer","ima","trigger","startSafetyTimer","clearSafetyTimer","setupIMA","setVpaidMode","ImaSdkSettings","VpaidMode","ENABLED","setLocale","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","resize","ViewMode","NORMAL","initialize","init","adError","zIndex","destroy","_this11","handlers","_this12","base","AV_PUBLISHERID","AV_CHANNELID","AV_URL","cb","Date","now","AV_WIDTH","AV_HEIGHT","AV_CDIM2","insertElements","attribute","change","_sources$","_sources$$provider","tagName","crossorigin","Plyr","failed","jQuery","original","getProviderByUrl","search","truthy","searchParams","webkitShowPlaybackTargetPicker","isHidden","hiding","eventName","soft","unload","inputIsValid","fauxDuration","realDuration","Infinity","mozHasAudio","webkitAudioDecodedByteCount","audioTracks","prev","curr","closest","states","webkitPresentationMode","inline","t"],"mappings":"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","file":"plyr.min.js","sourcesContent":["// ==========================================================================\n// Type checking utils\n// ==========================================================================\n\nconst getConstructor = input => (input !== null && typeof input !== 'undefined' ? input.constructor : null);\nconst instanceOf = (input, constructor) => Boolean(input && constructor && input instanceof constructor);\nconst isNullOrUndefined = input => input === null || typeof input === 'undefined';\nconst isObject = input => getConstructor(input) === Object;\nconst isNumber = input => getConstructor(input) === Number && !Number.isNaN(input);\nconst isString = input => getConstructor(input) === String;\nconst isBoolean = input => getConstructor(input) === Boolean;\nconst isFunction = input => getConstructor(input) === Function;\nconst isArray = input => Array.isArray(input);\nconst isWeakMap = input => instanceOf(input, WeakMap);\nconst isNodeList = input => instanceOf(input, NodeList);\nconst isElement = input => instanceOf(input, Element);\nconst isTextNode = input => getConstructor(input) === Text;\nconst isEvent = input => instanceOf(input, Event);\nconst isKeyboardEvent = input => instanceOf(input, KeyboardEvent);\nconst isCue = input => instanceOf(input, window.TextTrackCue) || instanceOf(input, window.VTTCue);\nconst isTrack = input => instanceOf(input, TextTrack) || (!isNullOrUndefined(input) && isString(input.kind));\n\nconst isEmpty = input =>\n isNullOrUndefined(input) ||\n ((isString(input) || isArray(input) || isNodeList(input)) && !input.length) ||\n (isObject(input) && !Object.keys(input).length);\n\nconst isUrl = input => {\n // Accept a URL object\n if (instanceOf(input, window.URL)) {\n return true;\n }\n\n // Add the protocol if required\n let string = input;\n if (!input.startsWith('http://') || !input.startsWith('https://')) {\n string = `http://${input}`;\n }\n\n try {\n return !isEmpty(new URL(string).hostname);\n } catch (e) {\n return false;\n }\n};\n\nexport default {\n nullOrUndefined: isNullOrUndefined,\n object: isObject,\n number: isNumber,\n string: isString,\n boolean: isBoolean,\n function: isFunction,\n array: isArray,\n weakMap: isWeakMap,\n nodeList: isNodeList,\n element: isElement,\n textNode: isTextNode,\n event: isEvent,\n keyboardEvent: isKeyboardEvent,\n cue: isCue,\n track: isTrack,\n url: isUrl,\n empty: isEmpty,\n};\n","// ==========================================================================\n// Event utils\n// ==========================================================================\n\nimport is from './is';\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\nconst supportsPassiveListeners = (() => {\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// Toggle event listener\nexport function toggleListener(element, event, callback, toggle = false, passive = true, capture = false) {\n // Bail if no element, event, or callback\n if (!element || !('addEventListener' in element) || is.empty(event) || !is.function(callback)) {\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 (supportsPassiveListeners) {\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 if (this && this.eventListeners && toggle) {\n // Cache event listener\n this.eventListeners.push({ element, type, callback, options });\n }\n\n element[toggle ? 'addEventListener' : 'removeEventListener'](type, callback, options);\n });\n}\n\n// Bind event handler\nexport function on(element, events = '', callback, passive = true, capture = false) {\n toggleListener.call(this, element, events, callback, true, passive, capture);\n}\n\n// Unbind event handler\nexport function off(element, events = '', callback, passive = true, capture = false) {\n toggleListener.call(this, element, events, callback, false, passive, capture);\n}\n\n// Bind once-only event handler\nexport function once(element, events = '', callback, passive = true, capture = false) {\n function onceCallback(...args) {\n off(element, events, onceCallback, passive, capture);\n callback.apply(this, args);\n }\n\n toggleListener.call(this, element, events, onceCallback, true, passive, capture);\n}\n\n// Trigger event\nexport function triggerEvent(element, type = '', bubbles = false, detail = {}) {\n // Bail if no element\n if (!is.element(element) || 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// Unbind all cached event listeners\nexport function unbindListeners() {\n if (this && this.eventListeners) {\n this.eventListeners.forEach(item => {\n const { element, type, callback, options } = item;\n element.removeEventListener(type, callback, options);\n });\n\n this.eventListeners = [];\n }\n}\n\n// Run method when / if player is ready\nexport function ready() {\n return new Promise(\n resolve => (this.ready ? setTimeout(resolve, 0) : on.call(this, this.elements.container, 'ready', resolve)),\n ).then(() => {});\n}\n","// ==========================================================================\n// Element utils\n// ==========================================================================\n\nimport { toggleListener } from './events';\nimport is from './is';\n\n// Wrap an element\nexport function 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// Set attributes\nexport function setAttributes(element, attributes) {\n if (!is.element(element) || is.empty(attributes)) {\n return;\n }\n\n // Assume null and undefined attributes should be left out,\n // Setting them would otherwise convert them to \"null\" and \"undefined\"\n Object.entries(attributes)\n .filter(([, value]) => !is.nullOrUndefined(value))\n .forEach(([key, value]) => element.setAttribute(key, value));\n}\n\n// Create a DocumentFragment\nexport function createElement(type, attributes, text) {\n // Create a new \n const element = document.createElement(type);\n\n // Set all passed attributes\n if (is.object(attributes)) {\n setAttributes(element, attributes);\n }\n\n // Add text node\n if (is.string(text)) {\n element.innerText = text;\n }\n\n // Return built element\n return element;\n}\n\n// Inaert an element after another\nexport function insertAfter(element, target) {\n if (!is.element(element) || !is.element(target)) {\n return;\n }\n\n target.parentNode.insertBefore(element, target.nextSibling);\n}\n\n// Insert a DocumentFragment\nexport function insertElement(type, parent, attributes, text) {\n if (!is.element(parent)) {\n return;\n }\n\n parent.appendChild(createElement(type, attributes, text));\n}\n\n// Remove element(s)\nexport function removeElement(element) {\n if (is.nodeList(element) || is.array(element)) {\n Array.from(element).forEach(removeElement);\n return;\n }\n\n if (!is.element(element) || !is.element(element.parentNode)) {\n return;\n }\n\n element.parentNode.removeChild(element);\n}\n\n// Remove all child elements\nexport function emptyElement(element) {\n if (!is.element(element)) {\n return;\n }\n\n let { length } = element.childNodes;\n\n while (length > 0) {\n element.removeChild(element.lastChild);\n length -= 1;\n }\n}\n\n// Replace element\nexport function replaceElement(newChild, oldChild) {\n if (!is.element(oldChild) || !is.element(oldChild.parentNode) || !is.element(newChild)) {\n return null;\n }\n\n oldChild.parentNode.replaceChild(newChild, oldChild);\n\n return newChild;\n}\n\n// Get an attribute object from a string selector\nexport function 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 (!is.string(sel) || 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 (is.object(existing) && 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\nexport function toggleHidden(element, hidden) {\n if (!is.element(element)) {\n return;\n }\n\n let hide = hidden;\n\n if (!is.boolean(hide)) {\n hide = !element.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\nexport function toggleClass(element, className, force) {\n if (is.nodeList(element)) {\n return Array.from(element).map(e => toggleClass(e, className, force));\n }\n\n if (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 false;\n}\n\n// Has class name\nexport function hasClass(element, className) {\n return is.element(element) && element.classList.contains(className);\n}\n\n// Element matches selector\nexport function 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 =\n prototype.matches ||\n prototype.webkitMatchesSelector ||\n prototype.mozMatchesSelector ||\n prototype.msMatchesSelector ||\n match;\n\n return matches.call(element, selector);\n}\n\n// Find all elements\nexport function getElements(selector) {\n return this.elements.container.querySelectorAll(selector);\n}\n\n// Find a single element\nexport function getElement(selector) {\n return this.elements.container.querySelector(selector);\n}\n\n// Trap focus inside container\nexport function trapFocus(element = null, toggle = false) {\n if (!is.element(element)) {\n return;\n }\n\n const focusable = 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 = document.activeElement;\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 toggleListener.call(this, this.elements.container, 'keydown', trap, toggle, false);\n}\n\n// Set focus and tab focus class\nexport function setFocus(element = null, tabFocus = false) {\n if (!is.element(element)) {\n return;\n }\n\n // Set regular focus\n element.focus();\n\n // If we want to mimic keyboard focus via tab\n if (tabFocus) {\n toggleClass(element, this.config.classNames.tabFocus);\n }\n}\n","// ==========================================================================\n// Animation utils\n// ==========================================================================\n\nimport { toggleHidden } from './elements';\nimport is from './is';\n\nexport const 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(\n event => element.style[event] !== undefined,\n );\n\n return is.string(type) ? events[type] : false;\n})();\n\n// Force repaint of element\nexport function repaint(element) {\n setTimeout(() => {\n try {\n toggleHidden(element, true);\n element.offsetHeight; // eslint-disable-line\n toggleHidden(element, false);\n } catch (e) {\n // Do nothing\n }\n }, 0);\n}\n","// ==========================================================================\n// Browser sniffing\n// Unfortunately, due to mixed support, UA sniffing is required\n// ==========================================================================\n\nconst browser = {\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\nexport default browser;\n","// ==========================================================================\n// Plyr support checks\n// ==========================================================================\n\nimport { transitionEndEvent } from './utils/animation';\nimport browser from './utils/browser';\nimport { createElement } from './utils/elements';\nimport is from './utils/is';\n\n// Default codecs for checking mimetype support\nconst defaultCodecs = {\n 'audio/ogg': 'vorbis',\n 'audio/wav': '1',\n 'video/webm': 'vp8, vorbis',\n 'video/mp4': 'avc1.42E01E, mp4a.40.2',\n 'video/ogg': 'theora',\n};\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 const canPlayInline = browser.isIPhone && playsinline && support.playsinline;\n const api = support[type] || provider !== 'html5';\n const ui = api && support.rangeInput && (type !== 'video' || !browser.isIPhone || canPlayInline);\n\n return {\n api,\n ui,\n };\n },\n\n // Picture-in-picture support\n // Safari only currently\n pip: (() => !browser.isIPhone && is.function(createElement('video').webkitSetPresentationMode))(),\n\n // Airplay support\n // Safari only currently\n airplay: 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(inputType) {\n const [mediaType] = inputType.split('/');\n if (!this.isHTML5 || mediaType !== this.type) {\n return false;\n }\n\n let type;\n if (inputType && inputType.includes('codecs=')) {\n // Use input directly\n type = inputType;\n } else if (inputType === 'audio/mpeg') {\n // Skip codec\n type = 'audio/mpeg;';\n } else if (inputType in defaultCodecs) {\n // Use codec\n type = `${inputType}; codecs=\"${defaultCodecs[inputType]}\"`;\n }\n\n try {\n return Boolean(type && this.media.canPlayType(type).replace(/no/, ''));\n } catch (err) {\n return false;\n }\n },\n\n // Check for textTracks support\n textTracks: 'textTracks' in document.createElement('video'),\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: 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 { removeElement } from './utils/elements';\nimport { triggerEvent } from './utils/events';\n\nconst html5 = {\n getSources() {\n if (!this.isHTML5) {\n return [];\n }\n\n const sources = Array.from(this.media.querySelectorAll('source'));\n\n // Filter out unsupported sources\n return sources.filter(source => support.mime.call(this, source.getAttribute('type')));\n },\n\n // Get quality levels\n getQualityOptions() {\n // Get sizes from elements\n return html5.getSources\n .call(this)\n .map(source => Number(source.getAttribute('size')))\n .filter(Boolean);\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 const source = sources.find(source => source.getAttribute('src') === player.source);\n\n // Return size, if match is found\n return source && Number(source.getAttribute('size'));\n },\n set(input) {\n // Get sources\n const sources = html5.getSources.call(player);\n\n // Get first match for requested size\n const source = sources.find(source => Number(source.getAttribute('size')) === input);\n\n // No matching source found\n if (!source) {\n return;\n }\n\n // Get current state\n const { currentTime, paused, preload, readyState } = player.media;\n\n // Set new source\n player.media.src = source.getAttribute('src');\n\n // Prevent loading if preload=\"none\" and the current source isn't loaded (#1044)\n if (preload !== 'none' || readyState) {\n // Restore time\n player.once('loadedmetadata', () => {\n player.currentTime = currentTime;\n\n // Resume playing\n if (!paused) {\n player.play();\n }\n });\n\n // Load new source\n player.media.load();\n }\n\n // Trigger change event\n triggerEvent.call(player, player.media, 'qualitychange', false, {\n quality: input,\n });\n\n // Save to storage\n player.storage.set({ quality: input });\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 removeElement(html5.getSources.call(this));\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// Array utils\n// ==========================================================================\n\nimport is from './is';\n\n// Remove duplicates in an array\nexport function dedupe(array) {\n if (!is.array(array)) {\n return array;\n }\n\n return array.filter((item, index) => array.indexOf(item) === index);\n}\n\n// Get the closest value in an array\nexport function closest(array, value) {\n if (!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// Object utils\n// ==========================================================================\n\nimport is from './is';\n\n// Clone nested objects\nexport function cloneDeep(object) {\n return JSON.parse(JSON.stringify(object));\n}\n\n// Get a nested value in an object\nexport function getDeep(object, path) {\n return path.split('.').reduce((obj, key) => obj && obj[key], object);\n}\n\n// Deep extend destination object with N more objects\nexport function extend(target = {}, ...sources) {\n if (!sources.length) {\n return target;\n }\n\n const source = sources.shift();\n\n if (!is.object(source)) {\n return target;\n }\n\n Object.keys(source).forEach(key => {\n if (is.object(source[key])) {\n if (!Object.keys(target).includes(key)) {\n Object.assign(target, { [key]: {} });\n }\n\n extend(target[key], source[key]);\n } else {\n Object.assign(target, { [key]: source[key] });\n }\n });\n\n return extend(target, ...sources);\n}\n","// ==========================================================================\n// String utils\n// ==========================================================================\n\nimport is from './is';\n\n// Generate a random ID\nexport function generateId(prefix) {\n return `${prefix}-${Math.floor(Math.random() * 10000)}`;\n}\n\n// Format string\nexport function format(input, ...args) {\n if (is.empty(input)) {\n return input;\n }\n\n return input.toString().replace(/{(\\d+)}/g, (match, i) => args[i].toString());\n}\n\n// Get percentage\nexport function 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// Replace all occurances of a string in a string\nexport function replaceAll(input = '', find = '', replace = '') {\n return input.replace(\n new RegExp(find.toString().replace(/([.*+?^=!:${}()|[\\]/\\\\])/g, '\\\\$1'), 'g'),\n replace.toString(),\n );\n}\n\n// Convert to title case\nexport function 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\nexport function toPascalCase(input = '') {\n let string = input.toString();\n\n // Convert kebab case\n string = replaceAll(string, '-', ' ');\n\n // Convert snake case\n string = replaceAll(string, '_', ' ');\n\n // Convert to title case\n string = toTitleCase(string);\n\n // Convert to pascal case\n return replaceAll(string, ' ', '');\n}\n\n// Convert string to pascalCase\nexport function toCamelCase(input = '') {\n let string = input.toString();\n\n // Convert to pascal case\n string = toPascalCase(string);\n\n // Convert first character to lowercase\n return string.charAt(0).toLowerCase() + string.slice(1);\n}\n\n// Remove HTML from a string\nexport function 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\nexport function getHTML(element) {\n const wrapper = document.createElement('div');\n wrapper.appendChild(element);\n return wrapper.innerHTML;\n}\n","// ==========================================================================\n// Plyr internationalization\n// ==========================================================================\n\nimport is from './is';\nimport { getDeep } from './objects';\nimport { replaceAll } from './strings';\n\nconst i18n = {\n get(key = '', config = {}) {\n if (is.empty(key) || is.empty(config)) {\n return '';\n }\n\n let string = getDeep(config.i18n, key);\n\n if (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(([key, value]) => {\n string = replaceAll(string, key, value);\n });\n\n return string;\n },\n};\n\nexport default i18n;\n","// ==========================================================================\n// Plyr storage\n// ==========================================================================\n\nimport is from './utils/is';\nimport { extend } from './utils/objects';\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 (is.empty(store)) {\n return null;\n }\n\n const json = JSON.parse(store);\n\n return 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 (!is.object(object)) {\n return;\n }\n\n // Get current storage\n let storage = this.get();\n\n // Default to empty object\n if (is.empty(storage)) {\n storage = {};\n }\n\n // Update the working copy of the values\n extend(storage, object);\n\n // Update storage\n window.localStorage.setItem(this.key, JSON.stringify(storage));\n }\n}\n\nexport default Storage;\n","// ==========================================================================\n// Fetch wrapper\n// Using XHR to avoid issues with older browsers\n// ==========================================================================\n\nexport default function 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.status);\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// Sprite loader\n// ==========================================================================\n\nimport Storage from '../storage';\nimport fetch from './fetch';\nimport is from './is';\n\n// Load an external SVG sprite\nexport default function loadSprite(url, id) {\n if (!is.string(url)) {\n return;\n }\n\n const prefix = 'cache';\n const hasId = 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 container.setAttribute('hidden', '');\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 fetch(url)\n .then(result => {\n if (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// Time utils\n// ==========================================================================\n\nimport is from './is';\n\n// Time helpers\nexport const getHours = value => parseInt((value / 60 / 60) % 60, 10);\nexport const getMinutes = value => parseInt((value / 60) % 60, 10);\nexport const getSeconds = value => parseInt(value % 60, 10);\n\n// Format time to UI friendly string\nexport function formatTime(time = 0, displayHours = false, inverted = false) {\n // Bail if the value isn't a number\n if (!is.number(time)) {\n return 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 = getHours(time);\n const mins = getMinutes(time);\n const secs = 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 && time > 0 ? '-' : ''}${hours}${format(mins)}:${format(secs)}`;\n}\n","// ==========================================================================\n// Plyr controls\n// TODO: This needs to be split into smaller files and cleaned up\n// ==========================================================================\n\nimport captions from './captions';\nimport html5 from './html5';\nimport support from './support';\nimport { repaint, transitionEndEvent } from './utils/animation';\nimport { dedupe } from './utils/arrays';\nimport browser from './utils/browser';\nimport { createElement, emptyElement, getAttributesFromSelector, getElement, getElements, hasClass, matches, removeElement, setAttributes, setFocus, toggleClass, toggleHidden } from './utils/elements';\nimport { off, on } from './utils/events';\nimport i18n from './utils/i18n';\nimport is from './utils/is';\nimport loadSprite from './utils/loadSprite';\nimport { extend } from './utils/objects';\nimport { getPercentage, replaceAll, toCamelCase, toTitleCase } from './utils/strings';\nimport { formatTime, getHours } from './utils/time';\n\n// TODO: Don't export a massive object - break down and create class\nconst controls = {\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\n findElements() {\n try {\n this.elements.controls = getElement.call(this, this.config.selectors.controls.wrapper);\n\n // Buttons\n this.elements.buttons = {\n play: getElements.call(this, this.config.selectors.buttons.play),\n pause: getElement.call(this, this.config.selectors.buttons.pause),\n restart: getElement.call(this, this.config.selectors.buttons.restart),\n rewind: getElement.call(this, this.config.selectors.buttons.rewind),\n fastForward: getElement.call(this, this.config.selectors.buttons.fastForward),\n mute: getElement.call(this, this.config.selectors.buttons.mute),\n pip: getElement.call(this, this.config.selectors.buttons.pip),\n airplay: getElement.call(this, this.config.selectors.buttons.airplay),\n settings: getElement.call(this, this.config.selectors.buttons.settings),\n captions: getElement.call(this, this.config.selectors.buttons.captions),\n fullscreen: getElement.call(this, this.config.selectors.buttons.fullscreen),\n };\n\n // Progress\n this.elements.progress = getElement.call(this, this.config.selectors.progress);\n\n // Inputs\n this.elements.inputs = {\n seek: getElement.call(this, this.config.selectors.inputs.seek),\n volume: getElement.call(this, this.config.selectors.inputs.volume),\n };\n\n // Display\n this.elements.display = {\n buffer: getElement.call(this, this.config.selectors.display.buffer),\n currentTime: getElement.call(this, this.config.selectors.display.currentTime),\n duration: getElement.call(this, this.config.selectors.display.duration),\n };\n\n // Seek tooltip\n if (is.element(this.elements.progress)) {\n this.elements.display.seekTooltip = this.elements.progress.querySelector(\n `.${this.config.classNames.tooltip}`,\n );\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 setAttributes(\n icon,\n 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 // Skip i18n for abbreviations and brand names\n const universals = {\n pip: 'PIP',\n airplay: 'AirPlay',\n };\n const text = universals[type] || i18n.get(type, this.config);\n\n const attributes = Object.assign({}, attr, {\n class: [attr.class, this.config.classNames.hidden].filter(Boolean).join(' '),\n });\n return createElement('span', attributes, text);\n },\n\n // Create a badge\n createBadge(text) {\n if (is.empty(text)) {\n return null;\n }\n\n const badge = createElement('span', {\n class: this.config.classNames.menu.value,\n });\n\n badge.appendChild(\n 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 [x, y] = (is.string(input) ? input : this.config.ratio).split(':');\n const padding = 100 / x * y;\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 = 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 (is.empty(source)) {\n source = player.media.getAttribute(player.config.attributes.embed.id);\n }\n\n const id = parseId(source);\n\n // Build an iframe\n const iframe = createElement('iframe');\n const src = 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 // Get poster, if already set\n const { poster } = player;\n\n // Inject the package\n const wrapper = createElement('div', { poster, class: player.config.classNames.embedContainer });\n wrapper.appendChild(iframe);\n player.media = replaceElement(wrapper, player.media);\n\n // Get poster image\n fetch(format(player.config.urls.vimeo.api, id), 'json').then(response => {\n if (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).catch(() => {});\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 triggerEvent.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 triggerEvent.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 triggerEvent.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 = is.boolean(input) ? input : false;\n\n player.embed.setVolume(toggle ? 0 : player.config.volume).then(() => {\n muted = toggle;\n triggerEvent.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 = 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([player.embed.getVideoWidth(), player.embed.getVideoHeight()]).then(dimensions => {\n const ratio = 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 triggerEvent.call(player, player.media, 'timeupdate');\n });\n\n // Get duration\n player.embed.getDuration().then(value => {\n player.media.duration = value;\n triggerEvent.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 => 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 triggerEvent.call(player, player.media, 'playing');\n }\n });\n\n if (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 triggerEvent.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 triggerEvent.call(player, player.media, 'timeupdate');\n });\n\n player.embed.on('progress', data => {\n player.media.buffered = data.percent;\n triggerEvent.call(player, player.media, 'progress');\n\n // Check all loaded\n if (parseInt(data.percent, 10) === 1) {\n triggerEvent.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 triggerEvent.call(player, player.media, 'durationchange');\n }\n });\n });\n\n player.embed.on('seeked', () => {\n player.media.seeking = false;\n triggerEvent.call(player, player.media, 'seeked');\n });\n\n player.embed.on('ended', () => {\n player.media.paused = true;\n triggerEvent.call(player, player.media, 'ended');\n });\n\n player.embed.on('error', detail => {\n player.media.error = detail;\n triggerEvent.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 ui from '../ui';\nimport { createElement, replaceElement, toggleClass } from '../utils/elements';\nimport { triggerEvent } from '../utils/events';\nimport fetch from '../utils/fetch';\nimport is from '../utils/is';\nimport loadImage from '../utils/loadImage';\nimport loadScript from '../utils/loadScript';\nimport { format, generateId } from '../utils/strings';\n\n// Parse YouTube ID from URL\nfunction parseId(url) {\n if (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// 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 triggerEvent.call(this, this.media, play ? 'play' : 'pause');\n }\n}\n\nconst youtube = {\n setup() {\n // Add embed class for responsive\n 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 (is.object(window.YT) && is.function(window.YT.Player)) {\n youtube.ready.call(this);\n } else {\n // Load the API\n 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 (is.function(this.embed.getVideoData)) {\n const { title } = this.embed.getVideoData();\n\n if (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 (is.string(key) && !is.empty(key)) {\n const url = format(this.config.urls.youtube.api, videoId, key);\n\n fetch(url)\n .then(result => {\n if (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 (!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 (is.empty(source)) {\n source = player.media.getAttribute(this.config.attributes.embed.id);\n }\n\n // Replace the