{"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","isNumber","Number","isNaN","isString","String","isBoolean","isFunction","Function","isArray","Array","isWeakMap","WeakMap","isNodeList","NodeList","isElement","Element","isTextNode","Text","isEvent","Event","isKeyboardEvent","KeyboardEvent","isCue","window","TextTrackCue","VTTCue","isTrack","TextTrack","kind","isEmpty","length","keys","isUrl","URL","string","startsWith","hostname","e","nullOrUndefined","object","number","boolean","function","array","weakMap","nodeList","element","textNode","event","keyboardEvent","cue","track","url","empty","supportsPassiveListeners","supported","options","defineProperty","get","addEventListener","removeEventListener","toggleListener","callback","toggle","passive","capture","is","events","split","forEach","type","eventListeners","push","on","call","off","once","onceCallback","args","apply","triggerEvent","bubbles","detail","CustomEvent","assign","plyr","dispatchEvent","unbindListeners","item","ready","Promise","resolve","setTimeout","elements","container","then","wrap","wrapper","targets","from","reverse","index","child","cloneNode","parent","parentNode","sibling","nextSibling","appendChild","insertBefore","setAttributes","attributes","entries","filter","value","key","setAttribute","createElement","text","document","innerText","insertAfter","target","insertElement","removeElement","removeChild","emptyElement","childNodes","lastChild","replaceElement","newChild","oldChild","replaceChild","getAttributesFromSelector","sel","existingAttributes","existing","s","selector","trim","className","replace","stripped","parts","start","charAt","class","id","toggleHidden","hidden","hide","removeAttribute","toggleClass","force","map","method","classList","contains","hasClass","matches","prototype","match","querySelectorAll","includes","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","getElements","getElement","querySelector","trapFocus","focusable","first","last","trap","keyCode","focused","activeElement","shiftKey","focus","preventDefault","setFocus","tabFocus","config","classNames","transitionEndEvent","WebkitTransition","MozTransition","OTransition","transition","find","style","undefined","repaint","offsetHeight","browser","isIE","documentMode","isWebkit","documentElement","test","navigator","userAgent","isIPhone","platform","isIos","defaultCodecs","support","audio","video","check","provider","playsinline","canPlayInline","api","ui","rangeInput","pip","webkitSetPresentationMode","airplay","WebKitPlaybackTargetAvailabilityEvent","mime","inputType","mediaType","isHTML5","media","canPlayType","err","textTracks","range","touch","transitions","reducedMotion","matchMedia","html5","getSources","sources","source","getAttribute","getQualityOptions","extend","player","set","currentTime","paused","preload","readyState","src","play","load","quality","storage","cancelRequests","blankVideo","debug","log","dedupe","indexOf","closest","reduce","prev","curr","Math","abs","cloneDeep","JSON","parse","stringify","getDeep","path","obj","shift","generateId","prefix","floor","random","format","toString","i","getPercentage","current","max","toFixed","replaceAll","RegExp","toTitleCase","toUpperCase","substr","toLowerCase","toPascalCase","toCamelCase","slice","stripHTML","fragment","createDocumentFragment","innerHTML","firstChild","getHTML","resources","vimeo","youtube","i18n","seekTime","title","Storage","enabled","store","localStorage","getItem","json","setItem","removeItem","fetch","responseType","reject","request","XMLHttpRequest","responseText","response","Error","status","open","send","loadSprite","hasId","isCached","exists","getElementById","update","data","body","insertAdjacentElement","useStorage","cached","content","result","catch","getHours","parseInt","getMinutes","getSeconds","formatTime","time","displayHours","inverted","hours","mins","secs","controls","getIconUrl","iconUrl","location","cors","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","namespace","iconPath","iconPrefix","icon","createElementNS","role","use","setAttributeNS","createLabel","attr","join","createBadge","badge","menu","createButton","buttonType","props","label","labelPressed","iconPressed","control","button","createRange","min","step","autocomplete","updateRangeFill","createProgress","suffixKey","played","suffix","createTime","bindMenuItemShortcuts","menuItem","which","stopPropagation","isRadioButton","showMenuPanel","nextElementSibling","firstElementChild","previousElementSibling","lastElementChild","focusFirstMenuItem","createMenuItem","list","checked","flex","enumerable","children","node","listeners","bind","currentTrack","speed","parseFloat","forceHours","updateTimeDisplay","updateVolume","setRange","muted","pressed","updateProgress","setProgress","getElementsByTagName","nodeValue","buffered","percent","setProperty","updateSeekTooltip","tooltips","clientRect","getBoundingClientRect","visible","width","pageX","left","timeUpdate","invert","invertTime","seeking","durationUpdate","hasDuration","displayDuration","toggleMenuButton","setting","updateSetting","pane","panels","default","getLabel","setQualityMenu","checkMenu","getBadge","sort","a","b","sorting","setCaptionsMenu","tracks","getTracks","toggled","language","unshift","setSpeedMenu","isVimeo","values","some","popup","firstItem","toggleMenu","show","isMenuItem","getMenuSize","tab","clone","position","opacity","scrollWidth","height","scrollHeight","size","restore","propertyName","setDownloadLink","download","create","inner","home","backButton","href","urls","isEmbed","inject","seektime","insertMethod","addProperty","controlPressed","labels","parseUrl","safe","parser","buildUrlParams","params","URLSearchParams","setup","isVideo","isYouTube","protocol","blob","createObjectURL","browserLanguages","languages","userLanguage","active","trackEvents","meta","currentTrackNode","languageExists","mode","updateCues","setLanguage","activeClass","findTrack","embed","enableTextTrack","has","sortIsDefault","sorted","every","getCurrentTrack","cues","activeCues","getCueAsHTML","cueText","changed","caption","defaults","autoplay","autopause","toggleInvert","ratio","clickToPlay","hideControls","resetOnEnd","disableContextMenu","loop","selected","keyboard","global","fallback","iosNative","seekLabel","unmute","enableCaptions","disableCaptions","enterFullscreen","exitFullscreen","frameTitle","menuBack","normal","end","all","reset","disabled","advertisement","qualityBadge","sdk","iframe","googleIMA","editable","embedContainer","poster","posterEnabled","ads","playing","stopped","loading","hover","isTouch","uiSupported","noTransition","google","publisherId","providers","types","getProviderByUrl","noop","Console","console","onChange","toggleFallback","scrollPosition","x","scrollX","y","scrollY","scrollTo","overflow","viewport","head","property","hasProperty","cleanupViewport","part","Fullscreen","native","webkitEnterFullscreen","requestFullscreen","webkitExitFullscreen","cancelFullScreen","action","enter","exit","fullscreenElement","fullscreenEnabled","webkitFullscreenEnabled","mozFullScreenEnabled","msFullscreenEnabled","prefixes","pre","loadImage","minWidth","image","Image","handler","onload","onerror","naturalWidth","addStyleHook","build","checkPlaying","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","seekByKey","togglePlay","increaseVolume","decreaseVolume","forward","toggleCaptions","timeStamp","removeCurrent","wasKeyDown","delay","hasAudio","initialized","managerPromise","isAudio","ended","proxyEvents","concat","defaultHandler","customHandlerKey","customHandler","hasCustomHandler","returned","proxy","inputEvent","rect","currentTarget","attribute","hasAttribute","done","seekTo","webkitDirectionInvertedFromDevice","deltaX","deltaY","direction","sign","define","this","loadScript","loadjs","success","parseId","regex","$2","getAspectRatio","getRatio","w","h","assurePlaybackState","hasPlayed","setAspectRatio","Vimeo","padding","paddingBottom","offset","transform","byline","portrait","transparent","gesture","thumbnail_large","pathname","Player","disableTextTrack","stop","restorePause","setVolume","setCurrentTime","setPlaybackRate","name","setLoop","currentSrc","getVideoUrl","getVideoWidth","getVideoHeight","dimensions","setAutopause","state","getVideoTitle","getCurrentTime","getDuration","getTextTracks","strippedCues","getPaused","frame","seconds","YT","onYouTubeReadyCallbacks","onYouTubeIframeAPIReady","getTitle","videoId","getVideoData","items","snippet","currentId","posterSrc","playerVars","hl","rel","showinfo","iv_load_policy","modestbranding","disablekb","widget_referrer","cc_load_policy","cc_lang_pref","onError","message","onPlaybackRateChange","instance","playbackRate","getPlaybackRate","onReady","playVideo","pauseVideo","stopVideo","getAvailablePlaybackRates","clearInterval","buffering","setInterval","getVideoLoadedFraction","lastBuffered","onStateChange","seeked","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","splice","resize","ViewMode","NORMAL","initialize","init","adError","zIndex","destroy","handlers","AV_PUBLISHERID","AV_CHANNELID","AV_URL","cb","AV_WIDTH","AV_HEIGHT","AV_CDIM2","base","insertElements","change","tagName","crossorigin","Plyr","failed","jQuery","original","search","truthy","searchParams","webkitShowPlaybackTargetPicker","isHidden","hiding","eventName","soft","unload","inputIsValid","fauxDuration","realDuration","Infinity","mozHasAudio","webkitAudioDecodedByteCount","audioTracks","states","inline","webkitPresentationMode","t"],"mappings":"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","file":"plyr.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