{"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/loadhttps://cdn.plyr.io/3.4.5/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","concat","hostname","e","empty","supportsPassiveListeners","supported","options","defineProperty","get","addEventListener","removeEventListener","toggleListener","callback","_this","this","toggle","arguments","undefined","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","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","_defineProperty","format","toString","match","i","replaceAll","RegExp","toTitleCase","toUpperCase","substr","toLowerCase","toCamelCase","toPascalCase","slice","getHTML","innerHTML","resources","vimeo","youtube","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","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","props","label","labelPressed","iconPressed","control","button","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","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","setDownloadLink","download","create","_this9","aria-haspopup","aria-controls","aria-expanded","inner","home","backButton","href","urls","isEmbed","inject","_this10","floor","random","seektime","addProperty","controlPressed","_this$config","labels","parseUrl","parser","buildUrlParams","params","URLSearchParams","setup","isVideo","isYouTube","protocol","blob","createObjectURL","languages","userLanguage","active","trackEvents","_this$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","sdk","iframe","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","viewport","head","property","hasProperty","cleanupViewport","part","Fullscreen","prefix","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","togglePoster","enable","backgroundImage","backgroundSize","toggleControls","checkLoading","clearTimeout","timers","recentTouchSeek","lastSeekTime","Date","now","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","webkitDirectionInvertedFromDevice","_map2","deltaX","deltaY","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","loadjs","paths","arg1","arg2","fn","numWaiting","loadFiles","deps","bundleIds","r","subscribe","isDefined","module","exports","loadScript","assurePlaybackState","hasPlayed","setAspectRatio","Vimeo","_split2","padding","paddingBottom","offset","transform","byline","portrait","transparent","gesture","$2","thumbnail_large","pathname","Player","disableTextTrack","stop","restorePause","setVolume","setCurrentTime","setPlaybackRate","name","currentSrc","setLoop","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","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","AV_PUBLISHERID","AV_CHANNELID","AV_URL","cb","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 // Must be string from here\n if (!isString(input)) {\n return false;\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(event => element.style[event] !== undefined);\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\n// Skip i18n for abbreviations and brand names\nconst resources = {\n pip: 'PIP',\n airplay: 'AirPlay',\n html5: 'HTML5',\n vimeo: 'Vimeo',\n youtube: 'YouTube',\n};\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 if (Object.keys(resources).includes(key)) {\n return resources[key];\n }\n\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 }\n\n // Always set the older attribute even though it's \"deprecated\" (it'll be around for ages)\n use.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', path);\n\n // Add to \n icon.appendChild(use);\n\n return icon;\n },\n\n // Create hidden text label\n createLabel(key, attr = {}) {\n const text = i18n.get(key, this.config);\n\n const attributes = Object.assign({}, attr, {\n class: [attr.class, this.config.classNames.hidden].filter(Boolean).join(' '),\n });\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 controls.setDownloadLink.call(player);\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