{"version":3,"sources":["plyr.mjs","node_modules/rangetouch/dist/rangetouch.mjs","src/js/utils/is.js","src/js/utils/animation.js","src/js/utils/browser.js","src/js/utils/objects.js","src/js/utils/elements.js","src/js/support.js","src/js/utils/events.js","src/js/utils/promise.js","src/js/utils/arrays.js","src/js/utils/style.js","src/js/html5.js","src/js/utils/strings.js","src/js/utils/i18n.js","src/js/storage.js","src/js/utils/fetch.js","src/js/utils/load-sprite.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/states.js","src/js/config/types.js","src/js/console.js","src/js/fullscreen.js","src/js/utils/load-image.js","src/js/ui.js","src/js/listeners.js","node_modules/loadjs/dist/loadjs.umd.js","src/js/utils/load-script.js","src/js/plugins/vimeo.js","src/js/plugins/youtube.js","src/js/media.js","src/js/plugins/ads.js","src/js/plugins/preview-thumbnails.js","src/js/source.js","src/js/utils/numbers.js","src/js/plyr.js"],"names":["_defineProperty$1","obj","key","value","Object","defineProperty","enumerable","configurable","writable","_classCallCheck","e","t","TypeError","_defineProperties","n","length","r","_createClass","prototype","_defineProperty","ownKeys","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","push","apply","_objectSpread2","arguments","forEach","getOwnPropertyDescriptors","defineProperties","defaults","addCSS","thumbWidth","watch","matches","Array","from","document","querySelectorAll","includes","this","call","trigger","Event","bubbles","dispatchEvent","getConstructor","constructor","instanceOf","isNullOrUndefined","isObject","isNumber","Number","isNaN","isString","String","isBoolean","Boolean","isFunction","Function","isArray","isNodeList","NodeList","isElement","Element","isEvent","isEmpty","is","nullOrUndefined","object","number","string","boolean","function","array","nodeList","element","event","empty","getDecimalPlaces","concat","match","Math","max","round","parseFloat","toFixed","RangeTouch","querySelector","rangeTouch","config","init","enabled","style","userSelect","webKitUserSelect","touchAction","listeners","set","target","i","changedTouches","o","getAttribute","s","u","c","getBoundingClientRect","a","width","clientX","left","disabled","preventDefault","get","type","MutationObserver","addedNodes","observe","body","childList","subtree","map","documentElement","input","isWeakMap","WeakMap","isTextNode","Text","isKeyboardEvent","KeyboardEvent","isCue","window","TextTrackCue","VTTCue","isTrack","TextTrack","kind","isPromise","Promise","then","nodeType","ownerDocument","isUrl","URL","startsWith","hostname","_","weakMap","textNode","keyboardEvent","cue","track","promise","url","transitionEndEvent","createElement","events","WebkitTransition","MozTransition","OTransition","transition","find","undefined","repaint","delay","setTimeout","hidden","offsetHeight","browser","isIE","documentMode","isEdge","navigator","userAgent","isWebkit","test","isIPhone","platform","isIos","maxTouchPoints","cloneDeep","JSON","parse","stringify","getDeep","path","split","reduce","extend","sources","source","shift","assign","wrap","elements","wrapper","targets","reverse","index","child","cloneNode","parent","parentNode","sibling","nextSibling","appendChild","insertBefore","setAttributes","attributes","entries","setAttribute","text","innerText","insertAfter","insertElement","removeElement","removeChild","emptyElement","childNodes","lastChild","replaceElement","newChild","oldChild","replaceChild","getAttributesFromSelector","sel","existingAttributes","existing","selector","trim","className","replace","parts","charAt","class","id","toggleHidden","hide","toggleClass","force","method","classList","contains","hasClass","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","closest","el","parentElement","getElements","container","getElement","setFocus","tabFocus","focus","preventScroll","classNames","defaultCodecs","support","audio","video","check","provider","playsinline","canPlayInline","api","ui","rangeInput","pip","webkitSetPresentationMode","pictureInPictureEnabled","disablePictureInPicture","airplay","WebKitPlaybackTargetAvailabilityEvent","mime","mediaType","isHTML5","media","canPlayType","textTracks","range","touch","transitions","reducedMotion","matchMedia","supportsPassiveListeners","supported","options","addEventListener","removeEventListener","toggleListener","callback","toggle","passive","capture","eventListeners","on","off","once","onceCallback","args","triggerEvent","detail","CustomEvent","plyr","unbindListeners","item","ready","resolve","silencePromise","dedupe","indexOf","prev","curr","abs","supportsCSS","declaration","CSS","supports","standardRatios","out","x","y","validateAspectRatio","every","reduceAspectRatio","ratio","height","getDivider","w","h","divider","getAspectRatio","embed","videoWidth","videoHeight","setAspectRatio","isVideo","padding","aspectRatio","paddingBottom","isVimeo","vimeo","premium","offsetWidth","parseInt","getComputedStyle","offset","fullscreen","active","transform","add","videoFixedRatio","roundAspectRatio","tolerance","closestRatio","getViewportSize","clientWidth","innerWidth","clientHeight","innerHeight","html5","getSources","getQualityOptions","quality","forced","setup","player","speed","onChange","currentTime","paused","preload","readyState","playbackRate","src","play","load","cancelRequests","blankVideo","debug","log","generateId","prefix","floor","random","format","toString","getPercentage","current","replaceAll","RegExp","toTitleCase","toUpperCase","substr","toLowerCase","toPascalCase","toCamelCase","slice","stripHTML","fragment","createDocumentFragment","innerHTML","firstChild","getHTML","resources","youtube","i18n","seekTime","title","k","v","Storage","store","localStorage","getItem","json","storage","setItem","removeItem","fetch","responseType","reject","request","XMLHttpRequest","responseText","response","Error","status","open","send","error","loadSprite","hasId","isCached","exists","getElementById","update","data","insertAdjacentElement","useStorage","cached","content","result","catch","getHours","trunc","getMinutes","getSeconds","formatTime","time","displayHours","inverted","hours","mins","secs","controls","getIconUrl","iconUrl","location","host","top","cors","svg4everybody","findElements","selectors","buttons","pause","restart","rewind","fastForward","mute","settings","captions","progress","inputs","seek","volume","display","buffer","duration","seekTooltip","tooltip","warn","toggleNativeControls","createIcon","namespace","iconPath","iconPrefix","icon","createElementNS","focusable","use","setAttributeNS","createLabel","attr","join","createBadge","badge","menu","createButton","buttonType","props","label","labelPressed","iconPressed","some","control","button","createRange","min","step","autocomplete","role","updateRangeFill","createProgress","suffixKey","played","suffix","createTime","attrs","bindMenuItemShortcuts","menuItem","which","stopPropagation","isRadioButton","showMenuPanel","nextElementSibling","firstElementChild","previousElementSibling","lastElementChild","focusFirstMenuItem","createMenuItem","list","checked","flex","children","node","bind","currentTrack","updateTimeDisplay","updateVolume","setRange","muted","pressed","updateProgress","setProgress","val","getElementsByTagName","nodeValue","buffered","percent","setProperty","updateSeekTooltip","tooltips","visible","show","clientRect","pageX","timeUpdate","invert","invertTime","seeking","durationUpdate","hasDuration","displayDuration","toggleMenuButton","setting","updateSetting","pane","panels","default","getLabel","setQualityMenu","checkMenu","getBadge","sort","b","sorting","setCaptionsMenu","tracks","getTracks","toggled","language","unshift","setSpeedMenu","minimumSpeed","maximumSpeed","values","popup","p","firstItem","toggleMenu","composedPath","isMenuItem","getMenuSize","tab","clone","position","opacity","removeAttribute","scrollWidth","scrollHeight","size","restore","propertyName","setDownloadUrl","download","create","defaultAttributes","progressContainer","inner","home","backButton","href","urls","isEmbed","inject","seektime","addProperty","controlPressed","labels","parseUrl","safe","parser","buildUrlParams","params","URLSearchParams","isYouTube","protocol","blob","createObjectURL","languages","userLanguage","trackEvents","meta","currentTrackNode","languageExists","mode","updateCues","setLanguage","activeClass","findTrack","enableTextTrack","has","sortIsDefault","sorted","getCurrentTrack","cues","activeCues","getCueAsHTML","cueText","caption","autoplay","autopause","toggleInvert","clickToPlay","hideControls","resetOnEnd","disableContextMenu","loop","selected","keyboard","focused","global","fallback","iosNative","seekLabel","unmute","enableCaptions","disableCaptions","enterFullscreen","exitFullscreen","frameTitle","menuBack","normal","start","end","all","reset","advertisement","qualityBadge","sdk","iframe","googleIMA","editable","embedContainer","poster","posterEnabled","ads","playing","stopped","loading","hover","isTouch","uiSupported","noTransition","previewThumbnails","thumbContainer","thumbContainerShown","imageContainer","timeContainer","scrubbingContainer","scrubbingContainerShown","hash","publisherId","tagUrl","byline","portrait","transparent","customControls","referrerPolicy","rel","showinfo","iv_load_policy","modestbranding","noCookie","inactive","providers","types","getProviderByUrl","noop","Console","console","Fullscreen","scrollPosition","scrollX","scrollY","scrollTo","overflow","viewport","head","property","hasProperty","cleanupViewport","part","keyCode","activeElement","first","last","shiftKey","forceFallback","native","requestFullscreen","webkitEnterFullscreen","toggleFallback","navigationUI","webkitExitFullscreen","action","cancelFullScreen","exit","enter","proxy","trapFocus","fullscreenEnabled","webkitFullscreenEnabled","mozFullScreenEnabled","msFullscreenEnabled","usingNative","pre","getRootNode","fullscreenElement","shadowRoot","loadImage","minWidth","image","Image","handler","onload","onerror","naturalWidth","addStyleHook","build","checkPlaying","setTitle","setPoster","togglePoster","enable","backgroundImage","backgroundSize","toggleControls","checkLoading","clearTimeout","timers","controlsElement","recentTouchSeek","lastSeekTime","Date","now","migrateStyles","getPropertyValue","removeProperty","Listeners","focusTimer","lastKeyDown","timeStamp","wasKeyDown","removeCurrent","handleKey","firstTouch","setTabFocus","setGutter","useNativeAspectRatio","maxWidth","margin","viewportWidth","viewportHeight","resized","isAudio","ended","togglePlay","proxyEvents","defaultHandler","customHandlerKey","customHandler","returned","hasCustomHandler","inputEvent","forward","toggleCaptions","code","rect","currentTarget","attribute","hasAttribute","done","seekTo","loaded","startMove","endMove","startScrubbing","endScrubbing","webkitDirectionInvertedFromDevice","deltaX","deltaY","direction","sign","increaseVolume","lastKey","repeat","altKey","ctrlKey","metaKey","decreaseVolume","commonjsGlobal","globalThis","self","createCommonjsModule","fn","module","exports","loadjs_umd","devnull","bundleIdCache","bundleResultCache","bundleCallbackQueue","subscribe","bundleIds","callbackFn","bundleId","depsNotFound","numWaiting","pathsNotFound","publish","q","splice","executeCallbacks","success","loadFile","numTries","isLegacyIECss","doc","async","maxTries","numRetries","beforeCallbackFn","before","pathname","pathStripped","relList","as","onbeforeload","ev","sheet","cssText","defaultPrevented","loadFiles","paths","loadjs","arg1","arg2","loadFn","returnPromise","deps","isDefined","factory","loadScript","parseId","$2","parseHash","found","groups","assurePlaybackState","hasPlayed","Vimeo","frameParams","hashParam","sidedock","gesture","thumbnail_url","Player","disableTextTrack","stop","restorePause","setVolume","setCurrentTime","setPlaybackRate","currentSrc","setLoop","getVideoUrl","getVideoWidth","getVideoHeight","dimensions","setAutopause","state","getVideoTitle","getCurrentTime","getDuration","getTextTracks","strippedCues","getPaused","seconds","getHost","YT","onYouTubeIframeAPIReady","getTitle","videoId","currentId","posterSrc","playerVars","hl","disablekb","cc_load_policy","cc_lang_pref","widget_referrer","onError","message","onPlaybackRateChange","instance","getPlaybackRate","onReady","playVideo","pauseVideo","stopVideo","speeds","getAvailablePlaybackRates","clearInterval","buffering","setInterval","getVideoLoadedFraction","lastBuffered","onStateChange","unMute","destroy","manager","displayContainer","remove","Ads","google","ima","startSafetyTimer","managerPromise","clearSafetyTimer","setupIMA","setVpaidMode","ImaSdkSettings","VpaidMode","ENABLED","setLocale","setDisableCustomPlaybackForIOS10Plus","AdDisplayContainer","loader","AdsLoader","AdsManagerLoadedEvent","Type","ADS_MANAGER_LOADED","onAdsManagerLoaded","AdErrorEvent","AD_ERROR","onAdError","requestAds","AdsRequest","adTagUrl","linearAdSlotWidth","linearAdSlotHeight","nonLinearAdSlotWidth","nonLinearAdSlotHeight","forceNonLinearFullSlot","setAdWillPlayMuted","countdownTimer","getRemainingTime","AdsRenderingSettings","restoreCustomPlaybackStateOnAdBreakComplete","enablePreloading","getAdsManager","cuePoints","getCuePoints","AdEvent","onAdEvent","cuePoint","seekElement","cuePercentage","ad","getAd","adData","getAdData","LOADED","pollCountdown","isLinear","STARTED","ALL_ADS_COMPLETED","loadAds","contentComplete","CONTENT_PAUSE_REQUESTED","pauseContent","CONTENT_RESUME_REQUESTED","resumeContent","LOG","adError","getMessage","cancel","addCuePoints","seekedTime","discardAdBreak","resize","ViewMode","NORMAL","initialize","initialized","zIndex","handlers","safetyTimer","AV_PUBLISHERID","AV_CHANNELID","AV_URL","cb","AV_WIDTH","AV_HEIGHT","AV_CDIM2","parseVtt","vttDataString","processedList","frame","line","startTime","lineSplit","matchTimes","endTime","fitRatio","outer","PreviewThumbnails","getThumbnails","render","determineContainerAutoSizing","sortAndResolve","thumbnails","promises","getThumbnail","thumbnail","frames","urlPrefix","substring","lastIndexOf","tempImage","naturalHeight","percentage","mousePosX","thumb","showImageAtCurrentTime","toggleThumbContainer","mouseDown","toggleScrubbingContainer","ceil","lastTime","scrubbing","setScrubbingContainerSize","setThumbContainerSizeAndPos","thumbNum","findIndex","hasThumb","qualityIndex","loadedImages","showingThumb","thumbFilename","thumbUrl","currentImageElement","dataset","filename","showImage","removeOldImages","loadingImage","usingSprites","previewImage","showingThumbFilename","newImage","setImageSizeAndOffset","currentImageContainer","preloadNearby","getHigherQuality","currentImage","tagName","removeDelay","deleting","oldThumbFilename","thumbnailsClone","foundOne","newThumbFilename","thumbURL","currentQualityIndex","previewImageHeight","thumbContainerHeight","clearShowing","sizeSpecifiedInCSS","thumbAspectRatio","thumbHeight","setThumbContainerPos","seekbarRect","plyrRect","minVal","maxVal","right","previewPos","multiplier","lastMouseMoveTime","currentScrubbingImageElement","currentThumbnailImageElement","insertElements","change","crossorigin","clamp","Plyr","webkitShowPlaybackTargetPicker","isHidden","hiding","eventName","soft","original","unload","failed","jQuery","search","truthy","searchParams","tabindex","inputIsValid","fauxDuration","realDuration","Infinity","hasAudio","mozHasAudio","webkitAudioDecodedByteCount","audioTracks","updateStorage","requestPictureInPicture","exitPictureInPicture","webkitPresentationMode","pictureInPictureElement","setPreviewThumbnails","thumbnailSource","static","inline"],"mappings":"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","file":"plyr.min.mjs","sourcesContent":["function _defineProperty$1(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _classCallCheck(e, t) {\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\n}\n\nfunction _defineProperties(e, t) {\n for (var n = 0; n < t.length; n++) {\n var r = t[n];\n r.enumerable = r.enumerable || !1, r.configurable = !0, \"value\" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);\n }\n}\n\nfunction _createClass(e, t, n) {\n return t && _defineProperties(e.prototype, t), n && _defineProperties(e, n), e;\n}\n\nfunction _defineProperty(e, t, n) {\n return t in e ? Object.defineProperty(e, t, {\n value: n,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[t] = n, e;\n}\n\nfunction ownKeys(e, t) {\n var n = Object.keys(e);\n\n if (Object.getOwnPropertySymbols) {\n var r = Object.getOwnPropertySymbols(e);\n t && (r = r.filter(function (t) {\n return Object.getOwnPropertyDescriptor(e, t).enumerable;\n })), n.push.apply(n, r);\n }\n\n return n;\n}\n\nfunction _objectSpread2(e) {\n for (var t = 1; t < arguments.length; t++) {\n var n = null != arguments[t] ? arguments[t] : {};\n t % 2 ? ownKeys(Object(n), !0).forEach(function (t) {\n _defineProperty(e, t, n[t]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : ownKeys(Object(n)).forEach(function (t) {\n Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t));\n });\n }\n\n return e;\n}\n\nvar defaults$1 = {\n addCSS: !0,\n thumbWidth: 15,\n watch: !0\n};\n\nfunction matches$1(e, t) {\n return function () {\n return Array.from(document.querySelectorAll(t)).includes(this);\n }.call(e, t);\n}\n\nfunction trigger(e, t) {\n if (e && t) {\n var n = new Event(t, {\n bubbles: !0\n });\n e.dispatchEvent(n);\n }\n}\n\nvar getConstructor$1 = function (e) {\n return null != e ? e.constructor : null;\n},\n instanceOf$1 = function (e, t) {\n return !!(e && t && e instanceof t);\n},\n isNullOrUndefined$1 = function (e) {\n return null == e;\n},\n isObject$1 = function (e) {\n return getConstructor$1(e) === Object;\n},\n isNumber$1 = function (e) {\n return getConstructor$1(e) === Number && !Number.isNaN(e);\n},\n isString$1 = function (e) {\n return getConstructor$1(e) === String;\n},\n isBoolean$1 = function (e) {\n return getConstructor$1(e) === Boolean;\n},\n isFunction$1 = function (e) {\n return getConstructor$1(e) === Function;\n},\n isArray$1 = function (e) {\n return Array.isArray(e);\n},\n isNodeList$1 = function (e) {\n return instanceOf$1(e, NodeList);\n},\n isElement$1 = function (e) {\n return instanceOf$1(e, Element);\n},\n isEvent$1 = function (e) {\n return instanceOf$1(e, Event);\n},\n isEmpty$1 = function (e) {\n return isNullOrUndefined$1(e) || (isString$1(e) || isArray$1(e) || isNodeList$1(e)) && !e.length || isObject$1(e) && !Object.keys(e).length;\n},\n is$1 = {\n nullOrUndefined: isNullOrUndefined$1,\n object: isObject$1,\n number: isNumber$1,\n string: isString$1,\n boolean: isBoolean$1,\n function: isFunction$1,\n array: isArray$1,\n nodeList: isNodeList$1,\n element: isElement$1,\n event: isEvent$1,\n empty: isEmpty$1\n};\n\nfunction getDecimalPlaces(e) {\n var t = \"\".concat(e).match(/(?:\\.(\\d+))?(?:[eE]([+-]?\\d+))?$/);\n return t ? Math.max(0, (t[1] ? t[1].length : 0) - (t[2] ? +t[2] : 0)) : 0;\n}\n\nfunction round(e, t) {\n if (1 > t) {\n var n = getDecimalPlaces(t);\n return parseFloat(e.toFixed(n));\n }\n\n return Math.round(e / t) * t;\n}\n\nvar RangeTouch = function () {\n function e(t, n) {\n _classCallCheck(this, e), is$1.element(t) ? this.element = t : is$1.string(t) && (this.element = document.querySelector(t)), is$1.element(this.element) && is$1.empty(this.element.rangeTouch) && (this.config = _objectSpread2({}, defaults$1, {}, n), this.init());\n }\n\n return _createClass(e, [{\n key: \"init\",\n value: function () {\n e.enabled && (this.config.addCSS && (this.element.style.userSelect = \"none\", this.element.style.webKitUserSelect = \"none\", this.element.style.touchAction = \"manipulation\"), this.listeners(!0), this.element.rangeTouch = this);\n }\n }, {\n key: \"destroy\",\n value: function () {\n e.enabled && (this.config.addCSS && (this.element.style.userSelect = \"\", this.element.style.webKitUserSelect = \"\", this.element.style.touchAction = \"\"), this.listeners(!1), this.element.rangeTouch = null);\n }\n }, {\n key: \"listeners\",\n value: function (e) {\n var t = this,\n n = e ? \"addEventListener\" : \"removeEventListener\";\n [\"touchstart\", \"touchmove\", \"touchend\"].forEach(function (e) {\n t.element[n](e, function (e) {\n return t.set(e);\n }, !1);\n });\n }\n }, {\n key: \"get\",\n value: function (t) {\n if (!e.enabled || !is$1.event(t)) return null;\n var n,\n r = t.target,\n i = t.changedTouches[0],\n o = parseFloat(r.getAttribute(\"min\")) || 0,\n s = parseFloat(r.getAttribute(\"max\")) || 100,\n u = parseFloat(r.getAttribute(\"step\")) || 1,\n c = r.getBoundingClientRect(),\n a = 100 / c.width * (this.config.thumbWidth / 2) / 100;\n return 0 > (n = 100 / c.width * (i.clientX - c.left)) ? n = 0 : 100 < n && (n = 100), 50 > n ? n -= (100 - 2 * n) * a : 50 < n && (n += 2 * (n - 50) * a), o + round(n / 100 * (s - o), u);\n }\n }, {\n key: \"set\",\n value: function (t) {\n e.enabled && is$1.event(t) && !t.target.disabled && (t.preventDefault(), t.target.value = this.get(t), trigger(t.target, \"touchend\" === t.type ? \"change\" : \"input\"));\n }\n }], [{\n key: \"setup\",\n value: function (t) {\n var n = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : {},\n r = null;\n if (is$1.empty(t) || is$1.string(t) ? r = Array.from(document.querySelectorAll(is$1.string(t) ? t : 'input[type=\"range\"]')) : is$1.element(t) ? r = [t] : is$1.nodeList(t) ? r = Array.from(t) : is$1.array(t) && (r = t.filter(is$1.element)), is$1.empty(r)) return null;\n\n var i = _objectSpread2({}, defaults$1, {}, n);\n\n if (is$1.string(t) && i.watch) {\n var o = new MutationObserver(function (n) {\n Array.from(n).forEach(function (n) {\n Array.from(n.addedNodes).forEach(function (n) {\n is$1.element(n) && matches$1(n, t) && new e(n, i);\n });\n });\n });\n o.observe(document.body, {\n childList: !0,\n subtree: !0\n });\n }\n\n return r.map(function (t) {\n return new e(t, n);\n });\n }\n }, {\n key: \"enabled\",\n get: function () {\n return \"ontouchstart\" in document.documentElement;\n }\n }]), e;\n}();\n\n// ==========================================================================\n// Type checking utils\n// ==========================================================================\nconst getConstructor = input => input !== null && typeof input !== 'undefined' ? input.constructor : null;\n\nconst instanceOf = (input, constructor) => Boolean(input && constructor && input instanceof constructor);\n\nconst isNullOrUndefined = input => input === null || typeof input === 'undefined';\n\nconst isObject = input => getConstructor(input) === Object;\n\nconst isNumber = input => getConstructor(input) === Number && !Number.isNaN(input);\n\nconst isString = input => getConstructor(input) === String;\n\nconst isBoolean = input => getConstructor(input) === Boolean;\n\nconst isFunction = input => getConstructor(input) === Function;\n\nconst isArray = input => Array.isArray(input);\n\nconst isWeakMap = input => instanceOf(input, WeakMap);\n\nconst isNodeList = input => instanceOf(input, NodeList);\n\nconst isTextNode = input => getConstructor(input) === Text;\n\nconst isEvent = input => instanceOf(input, Event);\n\nconst isKeyboardEvent = input => instanceOf(input, KeyboardEvent);\n\nconst isCue = input => instanceOf(input, window.TextTrackCue) || instanceOf(input, window.VTTCue);\n\nconst isTrack = input => instanceOf(input, TextTrack) || !isNullOrUndefined(input) && isString(input.kind);\n\nconst isPromise = input => instanceOf(input, Promise) && isFunction(input.then);\n\nconst isElement = input => input !== null && typeof input === 'object' && input.nodeType === 1 && typeof input.style === 'object' && typeof input.ownerDocument === 'object';\n\nconst isEmpty = input => isNullOrUndefined(input) || (isString(input) || isArray(input) || isNodeList(input)) && !input.length || 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 } // Must be string from here\n\n\n if (!isString(input)) {\n return false;\n } // Add the protocol if required\n\n\n let string = input;\n\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 (_) {\n return false;\n }\n};\n\nvar is = {\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 promise: isPromise,\n url: isUrl,\n empty: isEmpty\n};\n\n// ==========================================================================\nconst transitionEndEvent = (() => {\n const element = document.createElement('span');\n const events = {\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'transitionend',\n OTransition: 'oTransitionEnd otransitionend',\n transition: 'transitionend'\n };\n const type = Object.keys(events).find(event => element.style[event] !== undefined);\n return is.string(type) ? events[type] : false;\n})(); // Force repaint of element\n\nfunction repaint(element, delay) {\n setTimeout(() => {\n try {\n // eslint-disable-next-line no-param-reassign\n element.hidden = true; // eslint-disable-next-line no-unused-expressions\n\n element.offsetHeight; // eslint-disable-next-line no-param-reassign\n\n element.hidden = false;\n } catch (_) {// Do nothing\n }\n }, delay);\n}\n\n// ==========================================================================\n// Browser sniffing\n// Unfortunately, due to mixed support, UA sniffing is required\n// ==========================================================================\nconst browser = {\n isIE: Boolean(window.document.documentMode),\n isEdge: window.navigator.userAgent.includes('Edge'),\n isWebkit: 'WebkitAppearance' in document.documentElement.style && !/Edge/.test(navigator.userAgent),\n isIPhone: /(iPhone|iPod)/gi.test(navigator.platform),\n isIos: navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1 || /(iPad|iPhone|iPod)/gi.test(navigator.platform)\n};\n\n// ==========================================================================\n\nfunction cloneDeep(object) {\n return JSON.parse(JSON.stringify(object));\n} // Get a nested value in an object\n\nfunction getDeep(object, path) {\n return path.split('.').reduce((obj, key) => obj && obj[key], object);\n} // Deep extend destination object with N more objects\n\nfunction 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, {\n [key]: {}\n });\n }\n\n extend(target[key], source[key]);\n } else {\n Object.assign(target, {\n [key]: source[key]\n });\n }\n });\n return extend(target, ...sources);\n}\n\n// ==========================================================================\n\nfunction wrap(elements, wrapper) {\n // Convert `elements` to an array, if necessary.\n const targets = elements.length ? elements : [elements]; // Loops backwards to prevent having to clone the wrapper on the\n // first element (see `child` below).\n\n Array.from(targets).reverse().forEach((element, index) => {\n const child = index > 0 ? wrapper.cloneNode(true) : wrapper; // Cache the current parent and sibling.\n\n const parent = element.parentNode;\n const sibling = element.nextSibling; // Wrap the element (is automatically removed from its current\n // parent).\n\n child.appendChild(element); // 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\n if (sibling) {\n parent.insertBefore(child, sibling);\n } else {\n parent.appendChild(child);\n }\n });\n} // Set attributes\n\nfunction setAttributes(element, attributes) {\n if (!is.element(element) || is.empty(attributes)) {\n return;\n } // Assume null and undefined attributes should be left out,\n // Setting them would otherwise convert them to \"null\" and \"undefined\"\n\n\n Object.entries(attributes).filter(([, value]) => !is.nullOrUndefined(value)).forEach(([key, value]) => element.setAttribute(key, value));\n} // Create a DocumentFragment\n\nfunction createElement(type, attributes, text) {\n // Create a new \n const element = document.createElement(type); // Set all passed attributes\n\n if (is.object(attributes)) {\n setAttributes(element, attributes);\n } // Add text node\n\n\n if (is.string(text)) {\n element.innerText = text;\n } // Return built element\n\n\n return element;\n} // Inaert an element after another\n\nfunction insertAfter(element, target) {\n if (!is.element(element) || !is.element(target)) {\n return;\n }\n\n target.parentNode.insertBefore(element, target.nextSibling);\n} // Insert a DocumentFragment\n\nfunction insertElement(type, parent, attributes, text) {\n if (!is.element(parent)) {\n return;\n }\n\n parent.appendChild(createElement(type, attributes, text));\n} // Remove element(s)\n\nfunction 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} // Remove all child elements\n\nfunction emptyElement(element) {\n if (!is.element(element)) {\n return;\n }\n\n let {\n length\n } = element.childNodes;\n\n while (length > 0) {\n element.removeChild(element.lastChild);\n length -= 1;\n }\n} // Replace element\n\nfunction 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 return newChild;\n} // Get an attribute object from a string selector\n\nfunction 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 if (!is.string(sel) || is.empty(sel)) {\n return {};\n }\n\n const attributes = {};\n const existing = extend({}, existingAttributes);\n sel.split(',').forEach(s => {\n // Remove whitespace\n const selector = s.trim();\n const className = selector.replace('.', '');\n const stripped = selector.replace(/[[\\]]/g, ''); // Get the parts and value\n\n const parts = stripped.split('=');\n const [key] = parts;\n const value = parts.length > 1 ? parts[1].replace(/[\"']/g, '') : ''; // Get the first character\n\n const start = selector.charAt(0);\n\n switch (start) {\n case '.':\n // Add to existing classname\n if (is.string(existing.class)) {\n attributes.class = `${existing.class} ${className}`;\n } else {\n attributes.class = className;\n }\n\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 break;\n }\n });\n return extend(existing, attributes);\n} // Toggle hidden\n\nfunction 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 } // eslint-disable-next-line no-param-reassign\n\n\n element.hidden = hide;\n} // Mirror Element.classList.toggle, with IE compatibility for \"force\" argument\n\nfunction 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\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} // Has class name\n\nfunction hasClass(element, className) {\n return is.element(element) && element.classList.contains(className);\n} // Element matches selector\n\nfunction matches(element, selector) {\n const {\n prototype\n } = Element;\n\n function match() {\n return Array.from(document.querySelectorAll(selector)).includes(this);\n }\n\n const method = prototype.matches || prototype.webkitMatchesSelector || prototype.mozMatchesSelector || prototype.msMatchesSelector || match;\n return method.call(element, selector);\n} // Closest ancestor element matching selector (also tests element itself)\n\nfunction closest$1(element, selector) {\n const {\n prototype\n } = Element; // https://developer.mozilla.org/en-US/docs/Web/API/Element/closest#Polyfill\n\n function closestElement() {\n let el = this;\n\n do {\n if (matches.matches(el, selector)) return el;\n el = el.parentElement || el.parentNode;\n } while (el !== null && el.nodeType === 1);\n\n return null;\n }\n\n const method = prototype.closest || closestElement;\n return method.call(element, selector);\n} // Find all elements\n\nfunction getElements(selector) {\n return this.elements.container.querySelectorAll(selector);\n} // Find a single element\n\nfunction getElement(selector) {\n return this.elements.container.querySelector(selector);\n} // Set focus and tab focus class\n\nfunction setFocus(element = null, tabFocus = false) {\n if (!is.element(element)) {\n return;\n } // Set regular focus\n\n\n element.focus({\n preventScroll: true\n }); // If we want to mimic keyboard focus via tab\n\n if (tabFocus) {\n toggleClass(element, this.config.classNames.tabFocus);\n }\n}\n\n// ==========================================================================\n\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}; // Check for feature support\n\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 return {\n api,\n ui\n };\n },\n\n // Picture-in-picture support\n // Safari & Chrome only currently\n pip: (() => {\n if (browser.isIPhone) {\n return false;\n } // Safari\n // https://developer.apple.com/documentation/webkitjs/adding_picture_in_picture_to_your_safari_media_controls\n\n\n if (is.function(createElement('video').webkitSetPresentationMode)) {\n return true;\n } // Chrome\n // https://developers.google.com/web/updates/2018/10/watch-video-using-picture-in-picture\n\n\n if (document.pictureInPictureEnabled && !createElement('video').disablePictureInPicture) {\n return true;\n }\n\n return false;\n })(),\n // Airplay support\n // Safari only currently\n airplay: is.function(window.WebKitPlaybackTargetAvailabilityEvent),\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(input) {\n if (is.empty(input)) {\n return false;\n }\n\n const [mediaType] = input.split('/');\n let type = input; // Verify we're using HTML5 and there's no media type mismatch\n\n if (!this.isHTML5 || mediaType !== this.type) {\n return false;\n } // Add codec if required\n\n\n if (Object.keys(defaultCodecs).includes(type)) {\n type += `; codecs=\"${defaultCodecs[input]}\"`;\n }\n\n try {\n return Boolean(type && this.media.canPlayType(type).replace(/no/, ''));\n } catch (_) {\n return false;\n }\n },\n\n // Check for textTracks support\n textTracks: 'textTracks' in document.createElement('video'),\n // Sliders\n rangeInput: (() => {\n const range = document.createElement('input');\n range.type = 'range';\n return range.type === 'range';\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 // Detect transitions support\n transitions: transitionEndEvent !== false,\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\n// ==========================================================================\n// https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md\n// https://www.youtube.com/watch?v=NPM6172J22g\n\nconst supportsPassiveListeners = (() => {\n // Test via a getter in the options object to see if the passive property is accessed\n let supported = false;\n\n try {\n const options = Object.defineProperty({}, 'passive', {\n get() {\n supported = true;\n return null;\n }\n\n });\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (_) {// Do nothing\n }\n\n return supported;\n})(); // Toggle event listener\n\n\nfunction 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 } // Allow multiple events\n\n\n const events = event.split(' '); // Build options\n // Default to just the capture boolean for browsers with no passive listener support\n\n let options = capture; // If passive events listeners are supported\n\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 } // If a single node is passed, bind the event listener\n\n\n events.forEach(type => {\n if (this && this.eventListeners && toggle) {\n // Cache event listener\n this.eventListeners.push({\n element,\n type,\n callback,\n options\n });\n }\n\n element[toggle ? 'addEventListener' : 'removeEventListener'](type, callback, options);\n });\n} // Bind event handler\n\nfunction on(element, events = '', callback, passive = true, capture = false) {\n toggleListener.call(this, element, events, callback, true, passive, capture);\n} // Unbind event handler\n\nfunction off(element, events = '', callback, passive = true, capture = false) {\n toggleListener.call(this, element, events, callback, false, passive, capture);\n} // Bind once-only event handler\n\nfunction once(element, events = '', callback, passive = true, capture = false) {\n const 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} // Trigger event\n\nfunction triggerEvent(element, type = '', bubbles = false, detail = {}) {\n // Bail if no element\n if (!is.element(element) || is.empty(type)) {\n return;\n } // Create and dispatch the event\n\n\n const event = new CustomEvent(type, {\n bubbles,\n detail: { ...detail,\n plyr: this\n }\n }); // Dispatch the event\n\n element.dispatchEvent(event);\n} // Unbind all cached event listeners\n\nfunction unbindListeners() {\n if (this && this.eventListeners) {\n this.eventListeners.forEach(item => {\n const {\n element,\n type,\n callback,\n options\n } = item;\n element.removeEventListener(type, callback, options);\n });\n this.eventListeners = [];\n }\n} // Run method when / if player is ready\n\nfunction ready() {\n return new Promise(resolve => this.ready ? setTimeout(resolve, 0) : on.call(this, this.elements.container, 'ready', resolve)).then(() => {});\n}\n\n/**\n * Silence a Promise-like object.\n * This is useful for avoiding non-harmful, but potentially confusing \"uncaught\n * play promise\" rejection error messages.\n * @param {Object} value An object that may or may not be `Promise`-like.\n */\n\nfunction silencePromise(value) {\n if (is.promise(value)) {\n value.then(null, () => {});\n }\n}\n\n// ==========================================================================\n\nfunction dedupe(array) {\n if (!is.array(array)) {\n return array;\n }\n\n return array.filter((item, index) => array.indexOf(item) === index);\n} // Get the closest value in an array\n\nfunction 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// ==========================================================================\n\nfunction supportsCSS(declaration) {\n if (!window || !window.CSS) {\n return false;\n }\n\n return window.CSS.supports(declaration);\n} // Standard/common aspect ratios\n\nconst standardRatios = [[1, 1], [4, 3], [3, 4], [5, 4], [4, 5], [3, 2], [2, 3], [16, 10], [10, 16], [16, 9], [9, 16], [21, 9], [9, 21], [32, 9], [9, 32]].reduce((out, [x, y]) => ({ ...out,\n [x / y]: [x, y]\n}), {}); // Validate an aspect ratio\n\nfunction validateAspectRatio(input) {\n if (!is.array(input) && (!is.string(input) || !input.includes(':'))) {\n return false;\n }\n\n const ratio = is.array(input) ? input : input.split(':');\n return ratio.map(Number).every(is.number);\n} // Reduce an aspect ratio to it's lowest form\n\nfunction reduceAspectRatio(ratio) {\n if (!is.array(ratio) || !ratio.every(is.number)) {\n return null;\n }\n\n const [width, height] = ratio;\n\n const getDivider = (w, h) => h === 0 ? w : getDivider(h, w % h);\n\n const divider = getDivider(width, height);\n return [width / divider, height / divider];\n} // Calculate an aspect ratio\n\nfunction getAspectRatio(input) {\n const parse = ratio => validateAspectRatio(ratio) ? ratio.split(':').map(Number) : null; // Try provided ratio\n\n\n let ratio = parse(input); // Get from config\n\n if (ratio === null) {\n ratio = parse(this.config.ratio);\n } // Get from embed\n\n\n if (ratio === null && !is.empty(this.embed) && is.array(this.embed.ratio)) {\n ({\n ratio\n } = this.embed);\n } // Get from HTML5 video\n\n\n if (ratio === null && this.isHTML5) {\n const {\n videoWidth,\n videoHeight\n } = this.media;\n ratio = [videoWidth, videoHeight];\n }\n\n return reduceAspectRatio(ratio);\n} // Set aspect ratio for responsive container\n\nfunction setAspectRatio(input) {\n if (!this.isVideo) {\n return {};\n }\n\n const {\n wrapper\n } = this.elements;\n const ratio = getAspectRatio.call(this, input);\n\n if (!is.array(ratio)) {\n return {};\n }\n\n const [x, y] = reduceAspectRatio(ratio);\n const useNative = supportsCSS(`aspect-ratio: ${x}/${y}`);\n const padding = 100 / x * y;\n\n if (useNative) {\n wrapper.style.aspectRatio = `${x}/${y}`;\n } else {\n wrapper.style.paddingBottom = `${padding}%`;\n } // For Vimeo we have an extra
to hide the standard controls and UI\n\n\n if (this.isVimeo && !this.config.vimeo.premium && this.supported.ui) {\n const height = 100 / this.media.offsetWidth * parseInt(window.getComputedStyle(this.media).paddingBottom, 10);\n const offset = (height - padding) / (height / 50);\n\n if (this.fullscreen.active) {\n wrapper.style.paddingBottom = null;\n } else {\n this.media.style.transform = `translateY(-${offset}%)`;\n }\n } else if (this.isHTML5) {\n wrapper.classList.add(this.config.classNames.videoFixedRatio);\n }\n\n return {\n padding,\n ratio\n };\n} // Round an aspect ratio to closest standard ratio\n\nfunction roundAspectRatio(x, y, tolerance = 0.05) {\n const ratio = x / y;\n const closestRatio = closest(Object.keys(standardRatios), ratio); // Check match is within tolerance\n\n if (Math.abs(closestRatio - ratio) <= tolerance) {\n return standardRatios[closestRatio];\n } // No match\n\n\n return [x, y];\n} // Get the size of the viewport\n// https://stackoverflow.com/questions/1248081/how-to-get-the-browser-viewport-dimensions\n\nfunction getViewportSize() {\n const width = Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0);\n const height = Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0);\n return [width, height];\n}\n\n// ==========================================================================\nconst html5 = {\n getSources() {\n if (!this.isHTML5) {\n return [];\n }\n\n const sources = Array.from(this.media.querySelectorAll('source')); // Filter out unsupported sources (if type is specified)\n\n return sources.filter(source => {\n const type = source.getAttribute('type');\n\n if (is.empty(type)) {\n return true;\n }\n\n return support.mime.call(this, type);\n });\n },\n\n // Get quality levels\n getQualityOptions() {\n // Whether we're forcing all options (e.g. for streaming)\n if (this.config.quality.forced) {\n return this.config.quality.options;\n } // Get sizes from elements\n\n\n return html5.getSources.call(this).map(source => Number(source.getAttribute('data-res'))).filter(Boolean);\n },\n\n setup() {\n if (!this.isHTML5) {\n return;\n }\n\n const player = this; // Set speed options from config\n\n player.options.speed = player.config.speed.options; // Set aspect ratio if fixed\n\n if (!is.empty(this.config.ratio)) {\n setAspectRatio.call(player);\n } // Quality\n\n\n Object.defineProperty(player.media, 'quality', {\n get() {\n // Get sources\n const sources = html5.getSources.call(player);\n const source = sources.find(s => s.getAttribute('src') === player.source); // Return size, if match is found\n\n return source && Number(source.getAttribute('data-res'));\n },\n\n set(input) {\n if (player.quality === input) {\n return;\n } // If we're using an external handler...\n\n\n if (player.config.quality.forced && is.function(player.config.quality.onChange)) {\n player.config.quality.onChange(input);\n } else {\n // Get sources\n const sources = html5.getSources.call(player); // Get first match for requested size\n\n const source = sources.find(s => Number(s.getAttribute('data-res')) === input); // No matching source found\n\n if (!source) {\n return;\n } // Get current state\n\n\n const {\n currentTime,\n paused,\n preload,\n readyState,\n playbackRate\n } = player.media; // Set new source\n\n player.media.src = source.getAttribute('src'); // Prevent loading if preload=\"none\" and the current source isn't loaded (#1044)\n\n if (preload !== 'none' || readyState) {\n // Restore time\n player.once('loadedmetadata', () => {\n player.speed = playbackRate;\n player.currentTime = currentTime; // Resume playing\n\n if (!paused) {\n silencePromise(player.play());\n }\n }); // Load new source\n\n player.media.load();\n }\n } // Trigger change event\n\n\n triggerEvent.call(player, player.media, 'qualitychange', false, {\n quality: input\n });\n }\n\n });\n },\n\n // Cancel current network requests\n // See https://github.com/sampotts/plyr/issues/174\n cancelRequests() {\n if (!this.isHTML5) {\n return;\n } // Remove child sources\n\n\n removeElement(html5.getSources.call(this)); // 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\n this.media.setAttribute('src', this.config.blankVideo); // Load the new empty source\n // This will cancel existing requests\n // See https://github.com/sampotts/plyr/issues/174\n\n this.media.load(); // Debugging\n\n this.debug.log('Cancelled network requests');\n }\n\n};\n\n// ==========================================================================\n\nfunction generateId(prefix) {\n return `${prefix}-${Math.floor(Math.random() * 10000)}`;\n} // Format string\n\nfunction 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} // Get percentage\n\nfunction 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} // Replace all occurances of a string in a string\n\nconst replaceAll = (input = '', find = '', replace = '') => input.replace(new RegExp(find.toString().replace(/([.*+?^=!:${}()|[\\]/\\\\])/g, '\\\\$1'), 'g'), replace.toString()); // Convert to title case\n\nconst toTitleCase = (input = '') => input.toString().replace(/\\w\\S*/g, text => text.charAt(0).toUpperCase() + text.substr(1).toLowerCase()); // Convert string to pascalCase\n\nfunction toPascalCase(input = '') {\n let string = input.toString(); // Convert kebab case\n\n string = replaceAll(string, '-', ' '); // Convert snake case\n\n string = replaceAll(string, '_', ' '); // Convert to title case\n\n string = toTitleCase(string); // Convert to pascal case\n\n return replaceAll(string, ' ', '');\n} // Convert string to pascalCase\n\nfunction toCamelCase(input = '') {\n let string = input.toString(); // Convert to pascal case\n\n string = toPascalCase(string); // Convert first character to lowercase\n\n return string.charAt(0).toLowerCase() + string.slice(1);\n} // Remove HTML from a string\n\nfunction 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} // Like outerHTML, but also works for DocumentFragment\n\nfunction getHTML(element) {\n const wrapper = document.createElement('div');\n wrapper.appendChild(element);\n return wrapper.innerHTML;\n}\n\n// ==========================================================================\n\nconst resources = {\n pip: 'PIP',\n airplay: 'AirPlay',\n html5: 'HTML5',\n vimeo: 'Vimeo',\n youtube: 'YouTube'\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 Object.entries(replace).forEach(([k, v]) => {\n string = replaceAll(string, k, v);\n });\n return string;\n }\n\n};\n\nclass Storage {\n constructor(player) {\n _defineProperty$1(this, \"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 return is.string(key) && key.length ? json[key] : json;\n });\n\n _defineProperty$1(this, \"set\", object => {\n // Bail if we don't have localStorage support or it's disabled\n if (!Storage.supported || !this.enabled) {\n return;\n } // Can only store objectst\n\n\n if (!is.object(object)) {\n return;\n } // Get current storage\n\n\n let storage = this.get(); // Default to empty object\n\n if (is.empty(storage)) {\n storage = {};\n } // Update the working copy of the values\n\n\n extend(storage, object); // Update storage\n\n try {\n window.localStorage.setItem(this.key, JSON.stringify(storage));\n } catch (_) {// Do nothing\n }\n });\n\n this.enabled = player.config.storage.enabled;\n this.key = player.config.storage.key;\n } // Check for actual support (see if we can use it)\n\n\n static get supported() {\n try {\n if (!('localStorage' in window)) {\n return false;\n }\n\n const test = '___test'; // 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\n window.localStorage.setItem(test, test);\n window.localStorage.removeItem(test);\n return true;\n } catch (_) {\n return false;\n }\n }\n\n}\n\n// ==========================================================================\n// Fetch wrapper\n// Using XHR to avoid issues with older browsers\n// ==========================================================================\nfunction fetch(url, responseType = 'text') {\n return new Promise((resolve, reject) => {\n try {\n const request = new XMLHttpRequest(); // Check for CORS support\n\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 (_) {\n resolve(request.responseText);\n }\n } else {\n resolve(request.response);\n }\n });\n request.addEventListener('error', () => {\n throw new Error(request.status);\n });\n request.open('GET', url, true); // Set the required response type\n\n request.responseType = responseType;\n request.send();\n } catch (error) {\n reject(error);\n }\n });\n}\n\n// ==========================================================================\n\nfunction 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 // eslint-disable-next-line no-param-reassign\n container.innerHTML = data; // Check again incase of race condition\n\n if (hasId && exists()) {\n return;\n } // Inject the SVG to the body\n\n\n document.body.insertAdjacentElement('afterbegin', container);\n }; // Only load once if ID set\n\n\n if (!hasId || !exists()) {\n const useStorage = Storage.supported; // Create container\n\n const container = document.createElement('div');\n container.setAttribute('hidden', '');\n\n if (hasId) {\n container.setAttribute('id', id);\n } // Check in cache\n\n\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 } // Get the sprite\n\n\n fetch(url).then(result => {\n if (is.empty(result)) {\n return;\n }\n\n if (useStorage) {\n try {\n window.localStorage.setItem(`${prefix}-${id}`, JSON.stringify({\n content: result\n }));\n } catch (_) {// Do nothing\n }\n }\n\n update(container, result);\n }).catch(() => {});\n }\n}\n\n// ==========================================================================\n\nconst getHours = value => Math.trunc(value / 60 / 60 % 60, 10);\nconst getMinutes = value => Math.trunc(value / 60 % 60, 10);\nconst getSeconds = value => Math.trunc(value % 60, 10); // Format time to UI friendly string\n\nfunction formatTime(time = 0, displayHours = false, inverted = false) {\n // Bail if the value isn't a number\n if (!is.number(time)) {\n return formatTime(undefined, displayHours, inverted);\n } // Format time component to add leading zero\n\n\n const format = value => `0${value}`.slice(-2); // Breakdown to hours, mins, secs\n\n\n let hours = getHours(time);\n const mins = getMinutes(time);\n const secs = getSeconds(time); // Do we need to display hours?\n\n if (displayHours || hours > 0) {\n hours = `${hours}:`;\n } else {\n hours = '';\n } // Render\n\n\n return `${inverted && time > 0 ? '-' : ''}${hours}${format(mins)}:${format(secs)}`;\n}\n\n// ==========================================================================\n\nconst controls = {\n // Get icon URL\n getIconUrl() {\n const url = new URL(this.config.iconUrl, window.location);\n const host = window.location.host ? window.location.host : window.top.location.host;\n const cors = url.host !== host || browser.isIE && !window.svg4everybody;\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); // Buttons\n\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 }; // Progress\n\n this.elements.progress = getElement.call(this, this.config.selectors.progress); // Inputs\n\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 }; // Display\n\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 }; // Seek tooltip\n\n if (is.element(this.elements.progress)) {\n this.elements.display.seekTooltip = this.elements.progress.querySelector(`.${this.config.classNames.tooltip}`);\n }\n\n return true;\n } catch (error) {\n // Log it\n this.debug.warn('It looks like there is a problem with your custom controls HTML', error); // Restore native video controls\n\n this.toggleNativeControls(true);\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}`; // Create \n\n const icon = document.createElementNS(namespace, 'svg');\n setAttributes(icon, extend(attributes, {\n 'aria-hidden': 'true',\n focusable: 'false'\n })); // Create the to reference sprite\n\n const use = document.createElementNS(namespace, 'use');\n const path = `${iconPath}-${type}`; // 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\n if ('href' in use) {\n use.setAttributeNS('http://www.w3.org/1999/xlink', 'href', path);\n } // Always set the older attribute even though it's \"deprecated\" (it'll be around for ages)\n\n\n use.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', path); // Add to \n\n icon.appendChild(use);\n return icon;\n },\n\n // Create hidden text label\n createLabel(key, attr = {}) {\n const text = i18n.get(key, this.config);\n const attributes = { ...attr,\n class: [attr.class, this.config.classNames.hidden].filter(Boolean).join(' ')\n };\n return createElement('span', attributes, text);\n },\n\n // Create a badge\n createBadge(text) {\n if (is.empty(text)) {\n return null;\n }\n\n const badge = createElement('span', {\n class: this.config.classNames.menu.value\n });\n badge.appendChild(createElement('span', {\n class: this.config.classNames.menu.badge\n }, text));\n return badge;\n },\n\n // Create a
if needed\n\n if (is.empty(source)) {\n source = player.media.getAttribute(player.config.attributes.embed.id); // hash can also be set as attribute on the
\n\n hash = player.media.getAttribute(player.config.attributes.embed.hash);\n } else {\n hash = parseHash(source);\n }\n\n const hashParam = hash ? {\n h: hash\n } : {}; // If the owner has a pro or premium account then we can hide controls etc\n\n if (premium) {\n Object.assign(frameParams, {\n controls: false,\n sidedock: false\n });\n } // Get Vimeo params for the iframe\n\n\n const params = buildUrlParams({\n loop: player.config.loop.active,\n autoplay: player.autoplay,\n muted: player.muted,\n gesture: 'media',\n playsinline: !this.config.fullscreen.iosNative,\n // hash has to be added to iframe-URL\n ...hashParam,\n ...frameParams\n });\n const id = parseId$1(source); // Build an iframe\n\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('allow', ['autoplay', 'fullscreen', 'picture-in-picture', 'encrypted-media', 'accelerometer', 'gyroscope'].join('; ')); // Set the referrer policy if required\n\n if (!is.empty(referrerPolicy)) {\n iframe.setAttribute('referrerPolicy', referrerPolicy);\n } // Inject the package\n\n\n if (premium || !config.customControls) {\n iframe.setAttribute('data-poster', player.poster);\n player.media = replaceElement(iframe, player.media);\n } else {\n const wrapper = createElement('div', {\n class: player.config.classNames.embedContainer,\n 'data-poster': player.poster\n });\n wrapper.appendChild(iframe);\n player.media = replaceElement(wrapper, player.media);\n } // Get poster image\n\n\n if (!config.customControls) {\n fetch(format(player.config.urls.vimeo.api, src)).then(response => {\n if (is.empty(response) || !response.thumbnail_url) {\n return;\n } // Set and show poster\n\n\n ui.setPoster.call(player, response.thumbnail_url).catch(() => {});\n });\n } // Setup instance\n // https://github.com/vimeo/player.js\n\n\n player.embed = new window.Vimeo.Player(iframe, {\n autopause: player.config.autopause,\n muted: player.muted\n });\n player.media.paused = true;\n player.media.currentTime = 0; // Disable native text track rendering\n\n if (player.supported.ui) {\n player.embed.disableTextTrack();\n } // Create a faux HTML5 API using the Vimeo API\n\n\n player.media.play = () => {\n assurePlaybackState$1.call(player, true);\n return player.embed.play();\n };\n\n player.media.pause = () => {\n assurePlaybackState$1.call(player, false);\n return player.embed.pause();\n };\n\n player.media.stop = () => {\n player.pause();\n player.currentTime = 0;\n }; // Seeking\n\n\n let {\n currentTime\n } = player.media;\n Object.defineProperty(player.media, 'currentTime', {\n get() {\n return currentTime;\n },\n\n set(time) {\n // Vimeo will automatically play on seek if the video hasn't been played before\n // Get current paused state and volume etc\n const {\n embed,\n media,\n paused,\n volume\n } = player;\n const restorePause = paused && !embed.hasPlayed; // Set seeking state and trigger event\n\n media.seeking = true;\n triggerEvent.call(player, media, 'seeking'); // If paused, mute until seek is complete\n\n Promise.resolve(restorePause && embed.setVolume(0)) // Seek\n .then(() => embed.setCurrentTime(time)) // Restore paused\n .then(() => restorePause && embed.pause()) // Restore volume\n .then(() => restorePause && embed.setVolume(volume)).catch(() => {// Do nothing\n });\n }\n\n }); // Playback speed\n\n let speed = player.config.speed.selected;\n Object.defineProperty(player.media, 'playbackRate', {\n get() {\n return speed;\n },\n\n set(input) {\n player.embed.setPlaybackRate(input).then(() => {\n speed = input;\n triggerEvent.call(player, player.media, 'ratechange');\n }).catch(() => {\n // Cannot set Playback Rate, Video is probably not on Pro account\n player.options.speed = [1];\n });\n }\n\n }); // Volume\n\n let {\n volume\n } = player.config;\n Object.defineProperty(player.media, 'volume', {\n get() {\n return volume;\n },\n\n set(input) {\n player.embed.setVolume(input).then(() => {\n volume = input;\n triggerEvent.call(player, player.media, 'volumechange');\n });\n }\n\n }); // Muted\n\n let {\n muted\n } = player.config;\n Object.defineProperty(player.media, 'muted', {\n get() {\n return muted;\n },\n\n set(input) {\n const toggle = is.boolean(input) ? input : false;\n player.embed.setVolume(toggle ? 0 : player.config.volume).then(() => {\n muted = toggle;\n triggerEvent.call(player, player.media, 'volumechange');\n });\n }\n\n }); // Loop\n\n let {\n loop\n } = player.config;\n Object.defineProperty(player.media, 'loop', {\n get() {\n return loop;\n },\n\n set(input) {\n const toggle = is.boolean(input) ? input : player.config.loop.active;\n player.embed.setLoop(toggle).then(() => {\n loop = toggle;\n });\n }\n\n }); // Source\n\n let currentSrc;\n player.embed.getVideoUrl().then(value => {\n currentSrc = value;\n controls.setDownloadUrl.call(player);\n }).catch(error => {\n this.debug.warn(error);\n });\n Object.defineProperty(player.media, 'currentSrc', {\n get() {\n return currentSrc;\n }\n\n }); // Ended\n\n Object.defineProperty(player.media, 'ended', {\n get() {\n return player.currentTime === player.duration;\n }\n\n }); // Set aspect ratio based on video size\n\n Promise.all([player.embed.getVideoWidth(), player.embed.getVideoHeight()]).then(dimensions => {\n const [width, height] = dimensions;\n player.embed.ratio = roundAspectRatio(width, height);\n setAspectRatio.call(this);\n }); // Set autopause\n\n player.embed.setAutopause(player.config.autopause).then(state => {\n player.config.autopause = state;\n }); // Get title\n\n player.embed.getVideoTitle().then(title => {\n player.config.title = title;\n ui.setTitle.call(this);\n }); // Get current time\n\n player.embed.getCurrentTime().then(value => {\n currentTime = value;\n triggerEvent.call(player, player.media, 'timeupdate');\n }); // Get duration\n\n player.embed.getDuration().then(value => {\n player.media.duration = value;\n triggerEvent.call(player, player.media, 'durationchange');\n }); // Get captions\n\n player.embed.getTextTracks().then(tracks => {\n player.media.textTracks = tracks;\n captions.setup.call(player);\n });\n player.embed.on('cuechange', ({\n cues = []\n }) => {\n const strippedCues = cues.map(cue => stripHTML(cue.text));\n captions.updateCues.call(player, strippedCues);\n });\n player.embed.on('loaded', () => {\n // Assure state and events are updated on autoplay\n player.embed.getPaused().then(paused => {\n assurePlaybackState$1.call(player, !paused);\n\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; // Fix keyboard focus issues\n // https://github.com/sampotts/plyr/issues/317\n\n frame.setAttribute('tabindex', -1);\n }\n });\n player.embed.on('bufferstart', () => {\n triggerEvent.call(player, player.media, 'waiting');\n });\n player.embed.on('bufferend', () => {\n triggerEvent.call(player, player.media, 'playing');\n });\n player.embed.on('play', () => {\n assurePlaybackState$1.call(player, true);\n triggerEvent.call(player, player.media, 'playing');\n });\n player.embed.on('pause', () => {\n assurePlaybackState$1.call(player, false);\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 player.embed.on('progress', data => {\n player.media.buffered = data.percent;\n triggerEvent.call(player, player.media, 'progress'); // Check all loaded\n\n if (parseInt(data.percent, 10) === 1) {\n triggerEvent.call(player, player.media, 'canplaythrough');\n } // Get duration as if we do it before load, it gives an incorrect value\n // https://github.com/sampotts/plyr/issues/891\n\n\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 player.embed.on('seeked', () => {\n player.media.seeking = false;\n triggerEvent.call(player, player.media, 'seeked');\n });\n player.embed.on('ended', () => {\n player.media.paused = true;\n triggerEvent.call(player, player.media, 'ended');\n });\n player.embed.on('error', detail => {\n player.media.error = detail;\n triggerEvent.call(player, player.media, 'error');\n }); // Rebuild UI\n\n if (config.customControls) {\n setTimeout(() => ui.build.call(player), 0);\n }\n }\n\n};\n\n// ==========================================================================\n\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} // Set playback state and trigger change (only on actual change)\n\n\nfunction assurePlaybackState(play) {\n if (play && !this.embed.hasPlayed) {\n this.embed.hasPlayed = true;\n }\n\n if (this.media.paused === play) {\n this.media.paused = !play;\n triggerEvent.call(this, this.media, play ? 'play' : 'pause');\n }\n}\n\nfunction getHost(config) {\n if (config.noCookie) {\n return 'https://www.youtube-nocookie.com';\n }\n\n if (window.location.protocol === 'http:') {\n return 'http://www.youtube.com';\n } // Use YouTube's default\n\n\n return undefined;\n}\n\nconst youtube = {\n setup() {\n // Add embed class for responsive\n toggleClass(this.elements.wrapper, this.config.classNames.embed, true); // Setup API\n\n if (is.object(window.YT) && is.function(window.YT.Player)) {\n youtube.ready.call(this);\n } else {\n // Reference current global callback\n const callback = window.onYouTubeIframeAPIReady; // Set callback to process queue\n\n window.onYouTubeIframeAPIReady = () => {\n // Call global callback if set\n if (is.function(callback)) {\n callback();\n }\n\n youtube.ready.call(this);\n }; // Load the SDK\n\n\n loadScript(this.config.urls.youtube.sdk).catch(error => {\n this.debug.warn('YouTube API failed to load', error);\n });\n }\n },\n\n // Get the media title\n getTitle(videoId) {\n const url = format(this.config.urls.youtube.api, videoId);\n fetch(url).then(data => {\n if (is.object(data)) {\n const {\n title,\n height,\n width\n } = data; // Set title\n\n this.config.title = title;\n ui.setTitle.call(this); // Set aspect ratio\n\n this.embed.ratio = roundAspectRatio(width, height);\n }\n\n setAspectRatio.call(this);\n }).catch(() => {\n // Set aspect ratio\n setAspectRatio.call(this);\n });\n },\n\n // API ready\n ready() {\n const player = this;\n const config = player.config.youtube; // Ignore already setup (race condition)\n\n const currentId = player.media && player.media.getAttribute('id');\n\n if (!is.empty(currentId) && currentId.startsWith('youtube-')) {\n return;\n } // Get the source URL or ID\n\n\n let source = player.media.getAttribute('src'); // Get from
if needed\n\n if (is.empty(source)) {\n source = player.media.getAttribute(this.config.attributes.embed.id);\n } // Replace the