UNPKG

react-tv-player

Version:

A React media player component for TV devices. With custom UI and arrow-key navigation, it can play a variety of URLs like file paths, HLS/DASH streams and even YouTube & Vimeo links directly. Packaged as an npm library for easy integration.

25 lines 250 kB
(function(){"use strict";try{if(typeof document<"u"){var t=document.createElement("style");t.appendChild(document.createTextNode('.tv-player-ui{z-index:2;display:flex;flex-direction:column;justify-content:flex-end;box-sizing:border-box;padding:2.0833333333vw 2.6041666667vw}.tv-player-ui__cover{transition:opacity .3s;width:100%;height:100%;opacity:1;background:linear-gradient(#0000,#000000d9 78%);position:absolute;top:0;left:0;z-index:-1}.tv-player-ui__cover.hide{opacity:0}.tv-player-ui__cover.with-top-cover{background:linear-gradient(#000000f7,#000000f7 6%,#0009 30%,#00000094,#0009 40%,#000000fa 78%)}.tv-player-ui__cover.light-cover{background:linear-gradient(#0000,#000000d9 70%)}@media screen and (max-width: 1200px) and (orientation: landscape){.tv-player-ui__cover.light-cover{background:linear-gradient(#0000,#000000e6 60%)}}.tv-player-ui .metadata-wrapper{width:84%;text-align:center;padding:.2083333333vw 0;margin:0 auto;pointer-events:none;animation:fadeInAnim ease-in-out .3s forwards}.tv-player-ui .metadata{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fafafa;padding:0 2.6041666667vw;pointer-events:none;line-height:1.4}.tv-player-ui .metadata--title{font-size:3.2291666667vw;font-weight:800}.tv-player-ui .metadata--subTitle{font-size:1.4583333333vw;font-weight:400}@media screen and (max-width: 1200px){.tv-player-ui .metadata--title{font-size:4.1666666667vw}.tv-player-ui .metadata--subTitle{font-size:2.0833333333vw}}@media screen and (max-width: 600px){.tv-player-ui .metadata--title{font-size:6.25vw}.tv-player-ui .metadata--subTitle{font-size:3.125vw}}.tv-player-ui .buttons{padding:2.0833333333vw 2.6041666667vw;height:3.125vw;min-height:60px;display:flex;align-items:center;justify-content:center;gap:2.5vw;transition:all .3s;border-top:.5px solid rgba(255,255,255,0);pointer-events:none}.tv-player-ui .buttons>*{display:flex;gap:3vw}.tv-player-ui .buttons__left{margin-right:auto}.tv-player-ui .buttons__center{position:absolute}.tv-player-ui .buttons__right{margin-left:auto}.tv-player-ui .buttons button{position:relative;pointer-events:auto;box-sizing:border-box;border-radius:50%;border:2px solid transparent;background-color:transparent;color:#fff;width:3.125vw;height:3.125vw;min-width:54px;min-height:54px;cursor:pointer;transition:all .3s;outline:none}.tv-player-ui .buttons button small{position:absolute;transform:translateY(50px);left:-50%;width:200%;opacity:0;transition:all .3s;font-size:18px;z-index:1}@media screen and (min-width: 1600px){.tv-player-ui .buttons button small{transform:translateY(54px);font-size:20px}}.tv-player-ui .buttons button:disabled{opacity:.5;pointer-events:none}.tv-player-ui .buttons button.focused{border-color:#fafafa;outline:none}.tv-player-ui .buttons button.focused small{opacity:1}@media screen and (max-width: 600px){.tv-player-ui .buttons button{min-width:39px;min-height:39px}.tv-player-ui .buttons button.focused small{opacity:0}.tv-player-ui .buttons button svg{font-size:16px!important}}.tv-player-ui .buttons button.selected-dot{position:relative}.tv-player-ui .buttons button.selected-dot:before{content:".";position:absolute;bottom:-4px;left:38%;font-size:40px}.tv-player-ui .buttons button.selected-fill{background-color:#323232}.tv-player-ui .buttons button svg{font-size:24px}.tv-player-ui .buttons button svg.fa-play{padding-left:3px}@media screen and (max-width: 600px){.tv-player-ui .buttons button svg.fa-play{padding-left:2px}}.tv-player-ui .buttons button svg.fa-backward{margin-left:-3px}.tv-player-ui .buttons button svg.fa-forward{margin-left:3px}.tv-player-ui .buttons button svg.fa-info{margin-bottom:2px;font-size:16px}.tv-player-ui .buttons button svg.fa-volume-xmark{margin-left:-2px}.tv-player-ui .buttons button svg.fa-circle-info{font-size:28px}.tv-player-ui .buttons button svg.fa-circle-info path{fill:#ffffffe6}.tv-player-ui .buttons button svg.fa-github{font-size:34px}.tv-player-ui .progress-bar{padding:0 calc(2.6041666667vw - 4px);display:flex;justify-content:center;align-items:center;height:60px;gap:1.1458333333vw;transition:opacity .3s}.tv-player-ui .progress-bar.hide{opacity:0}.tv-player-ui .progress-bar:not(.hide){animation:fadeInAnim ease-in-out .3s forwards}.tv-player-ui .progress-bar .time{color:#fafafa;font-size:18px;font-weight:600;min-height:24px;min-width:70px;text-align:left;display:flex;justify-content:center;align-items:center}.tv-player-ui .progress-bar .time--duration{text-align:right}@media screen and (max-width: 600px){.tv-player-ui .progress-bar .time{font-size:14px}}@media screen and (min-width: 1600px){.tv-player-ui .progress-bar .time{font-size:20px}}.tv-player-ui .progress-bar .bar-wrapper{flex:1;cursor:pointer}.tv-player-ui .progress-bar .bar-wrapper .bar{position:relative;height:.4166666667vw;border-radius:.2083333333vw;background-color:#191919;margin:.625vw 0}@media screen and (max-width: 600px){.tv-player-ui .progress-bar .bar-wrapper .bar{height:.625vw}}.tv-player-ui .progress-bar .bar-wrapper .bar .fill{background-color:#fafafa;position:absolute;left:0;height:100%;border-radius:.2083333333vw;opacity:.8;transition:all .3s}.tv-player-ui .progress-bar .bar-wrapper .bar .progress-bar-button{background-color:#fafafa;position:absolute;border-radius:50%;width:.8333333333vw;height:.8333333333vw;padding:.2083333333vw;top:-.4166666667vw;margin:.2083333333vw .2083333333vw .2083333333vw -.8333333333vw;border:.2083333333vw solid transparent;transition:all .3s;transform:scale(1.2);z-index:1;cursor:pointer;pointer-events:none}@media screen and (max-width: 1200px){.tv-player-ui .progress-bar .bar-wrapper .bar .progress-bar-button{width:1.25vw;height:1.25vw;top:-.6770833333vw}}@media screen and (max-width: 600px){.tv-player-ui .progress-bar .bar-wrapper .bar .progress-bar-button{width:1.6666666667vw;height:1.6666666667vw}}.tv-player-ui .progress-bar .bar-wrapper .bar .progress-bar-button:before{content:"";position:absolute;top:-.5208333333vw;right:-.5208333333vw;bottom:-.5208333333vw;left:-.5208333333vw;border:.1041666667vw solid transparent;border-radius:50%;transition:all .3s}.tv-player-ui .progress-bar .bar-wrapper .bar .progress-bar-button.focused,.tv-player-ui .progress-bar .bar-wrapper .bar .progress-bar-button:hover{transform:scale(1.6)}.tv-player-ui .progress-bar .bar-wrapper .bar .progress-bar-button.focused:before{border-color:#fafafa}.tv-player-ui .progress-bar .bar-wrapper.focused .progress-bar-button,.tv-player-ui .progress-bar .bar-wrapper:hover .progress-bar-button{transform:scale(1.6);opacity:1}@keyframes fadeInAnim{0%{opacity:0}to{opacity:1}}.tv-player{background:#000;height:100vh;position:relative}.tv-player :focus{outline:0;outline-color:transparent;outline-style:none}.tv-player>*{position:absolute;top:0;left:0}.tv-player video{background-color:#000}img.yt-preview{object-position:center;object-fit:cover;display:none}img.yt-preview.show{display:block}')),document.head.appendChild(t)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})(); (function(ke,ue){typeof exports=="object"&&typeof module<"u"?ue(exports,require("react/jsx-runtime"),require("react")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react"],ue):(ke=typeof globalThis<"u"?globalThis:ke||self,ue(ke.ReactTVPlayer={},ke["react/jsx-runtime"],ke.React))})(this,function(ke,ue,Z){"use strict";function xe(e,t){for(var r=0;r<t.length;r++){const n=t[r];if(typeof n!="string"&&!Array.isArray(n)){for(const a in n)if(a!=="default"&&!(a in e)){const i=Object.getOwnPropertyDescriptor(n,a);i&&Object.defineProperty(e,a,i.get?i:{enumerable:!0,get:()=>n[a]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var Ge=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Oe(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Rd(e){if(Object.prototype.hasOwnProperty.call(e,"__esModule"))return e;var t=e.default;if(typeof t=="function"){var r=function n(){return this instanceof n?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(n){var a=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,a.get?a:{enumerable:!0,get:function(){return e[n]}})}),r}var sr={exports:{}};/*! Copyright (c) 2018 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames */var No;function Md(){return No||(No=1,function(e){(function(){var t={}.hasOwnProperty;function r(){for(var i="",o=0;o<arguments.length;o++){var l=arguments[o];l&&(i=a(i,n(l)))}return i}function n(i){if(typeof i=="string"||typeof i=="number")return i;if(typeof i!="object")return"";if(Array.isArray(i))return r.apply(null,i);if(i.toString!==Object.prototype.toString&&!i.toString.toString().includes("[native code]"))return i.toString();var o="";for(var l in i)t.call(i,l)&&i[l]&&(o=a(o,l));return o}function a(i,o){return o?i?i+" "+o:i+o:i}e.exports?(r.default=r,e.exports=r):window.classNames=r})()}(sr)),sr.exports}var Ld=Md();const ct=Oe(Ld);var ur,Fo;function kd(){if(Fo)return ur;Fo=1,ur=function(a,i,o){var l=document.head||document.getElementsByTagName("head")[0],d=document.createElement("script");typeof i=="function"&&(o=i,i={}),i=i||{},o=o||function(){},d.type=i.type||"text/javascript",d.charset=i.charset||"utf8",d.async="async"in i?!!i.async:!0,d.src=a,i.attrs&&e(d,i.attrs),i.text&&(d.text=""+i.text);var v="onload"in d?t:r;v(d,o),d.onload||t(d,o),l.appendChild(d)};function e(n,a){for(var i in a)n.setAttribute(i,a[i])}function t(n,a){n.onload=function(){this.onerror=this.onload=null,a(null,n)},n.onerror=function(){this.onerror=this.onload=null,a(new Error("Failed to load "+this.src),n)}}function r(n,a){n.onreadystatechange=function(){this.readyState!="complete"&&this.readyState!="loaded"||(this.onreadystatechange=null,a(null,n))}}return ur}var lr,qo;function jo(){if(qo)return lr;qo=1;var e=function(p){return t(p)&&!r(p)};function t(y){return!!y&&typeof y=="object"}function r(y){var p=Object.prototype.toString.call(y);return p==="[object RegExp]"||p==="[object Date]"||i(y)}var n=typeof Symbol=="function"&&Symbol.for,a=n?Symbol.for("react.element"):60103;function i(y){return y.$$typeof===a}function o(y){return Array.isArray(y)?[]:{}}function l(y,p){return p.clone!==!1&&p.isMergeableObject(y)?S(o(y),y,p):y}function d(y,p,f){return y.concat(p).map(function(u){return l(u,f)})}function v(y,p){if(!p.customMerge)return S;var f=p.customMerge(y);return typeof f=="function"?f:S}function m(y){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(y).filter(function(p){return Object.propertyIsEnumerable.call(y,p)}):[]}function c(y){return Object.keys(y).concat(m(y))}function b(y,p){try{return p in y}catch{return!1}}function w(y,p){return b(y,p)&&!(Object.hasOwnProperty.call(y,p)&&Object.propertyIsEnumerable.call(y,p))}function x(y,p,f){var u={};return f.isMergeableObject(y)&&c(y).forEach(function(s){u[s]=l(y[s],f)}),c(p).forEach(function(s){w(y,s)||(b(y,s)&&f.isMergeableObject(p[s])?u[s]=v(s,f)(y[s],p[s],f):u[s]=l(p[s],f))}),u}function S(y,p,f){f=f||{},f.arrayMerge=f.arrayMerge||d,f.isMergeableObject=f.isMergeableObject||e,f.cloneUnlessOtherwiseSpecified=l;var u=Array.isArray(p),s=Array.isArray(y),h=u===s;return h?u?f.arrayMerge(y,p,f):x(y,p,f):l(p,f)}S.all=function(p,f){if(!Array.isArray(p))throw new Error("first argument should be an array");return p.reduce(function(u,s){return S(u,s,f)},{})};var E=S;return lr=E,lr}var cr,Ko;function Se(){if(Ko)return cr;Ko=1;var e=Object.create,t=Object.defineProperty,r=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,a=Object.getPrototypeOf,i=Object.prototype.hasOwnProperty,o=(K,T)=>{for(var q in T)t(K,q,{get:T[q],enumerable:!0})},l=(K,T,q,U)=>{if(T&&typeof T=="object"||typeof T=="function")for(let z of n(T))!i.call(K,z)&&z!==q&&t(K,z,{get:()=>T[z],enumerable:!(U=r(T,z))||U.enumerable});return K},d=(K,T,q)=>(q=K!=null?e(a(K)):{},l(!K||!K.__esModule?t(q,"default",{value:K,enumerable:!0}):q,K)),v=K=>l(t({},"__esModule",{value:!0}),K),m={};o(m,{callPlayer:()=>A,getConfig:()=>N,getSDK:()=>k,isBlobUrl:()=>j,isMediaStream:()=>_,lazy:()=>x,omit:()=>I,parseEndTime:()=>h,parseStartTime:()=>s,queryString:()=>C,randomString:()=>P,supportsWebKitPresentationMode:()=>G}),cr=v(m);var c=d(Z),b=d(kd()),w=d(jo());const x=K=>c.default.lazy(async()=>{const T=await K();return typeof T.default=="function"?T:T.default}),S=/[?&#](?:start|t)=([0-9hms]+)/,E=/[?&#]end=([0-9hms]+)/,y=/(\d+)(h|m|s)/g,p=/^\d+$/;function f(K,T){if(K instanceof Array)return;const q=K.match(T);if(q){const U=q[1];if(U.match(y))return u(U);if(p.test(U))return parseInt(U)}}function u(K){let T=0,q=y.exec(K);for(;q!==null;){const[,U,z]=q;z==="h"&&(T+=parseInt(U,10)*60*60),z==="m"&&(T+=parseInt(U,10)*60),z==="s"&&(T+=parseInt(U,10)),q=y.exec(K)}return T}function s(K){return f(K,S)}function h(K){return f(K,E)}function P(){return Math.random().toString(36).substr(2,5)}function C(K){return Object.keys(K).map(T=>`${T}=${K[T]}`).join("&")}function O(K){return window[K]?window[K]:window.exports&&window.exports[K]?window.exports[K]:window.module&&window.module.exports&&window.module.exports[K]?window.module.exports[K]:null}const M={},k=function(T,q,U=null,z=()=>!0,W=b.default){const J=O(q);return J&&z(J)?Promise.resolve(J):new Promise((Q,ee)=>{if(M[T]){M[T].push({resolve:Q,reject:ee});return}M[T]=[{resolve:Q,reject:ee}];const te=re=>{M[T].forEach(H=>H.resolve(re))};if(U){const re=window[U];window[U]=function(){re&&re(),te(O(q))}}W(T,re=>{re?(M[T].forEach(H=>H.reject(re)),M[T]=null):U||te(O(q))})})};function N(K,T){return(0,w.default)(T.config,K.config)}function I(K,...T){const q=[].concat(...T),U={},z=Object.keys(K);for(const W of z)q.indexOf(W)===-1&&(U[W]=K[W]);return U}function A(K,...T){if(!this.player||!this.player[K]){let q=`ReactPlayer: ${this.constructor.displayName} player could not call %c${K}%c – `;return this.player?this.player[K]||(q+="The method was not available"):q+="The player was not available",console.warn(q,"font-weight: bold",""),null}return this.player[K](...T)}function _(K){return typeof window<"u"&&typeof window.MediaStream<"u"&&K instanceof window.MediaStream}function j(K){return/^blob:/.test(K)}function G(K=document.createElement("video")){const T=/iPhone|iPod/.test(navigator.userAgent)===!1;return K.webkitSupportsPresentationMode&&typeof K.webkitSetPresentationMode=="function"&&T}function ne(K){return K}return cr}var fr,Uo;function Te(){if(Uo)return fr;Uo=1;var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,a=(A,_)=>{for(var j in _)e(A,j,{get:_[j],enumerable:!0})},i=(A,_,j,G)=>{if(_&&typeof _=="object"||typeof _=="function")for(let ne of r(_))!n.call(A,ne)&&ne!==j&&e(A,ne,{get:()=>_[ne],enumerable:!(G=t(_,ne))||G.enumerable});return A},o=A=>i(e({},"__esModule",{value:!0}),A),l={};a(l,{AUDIO_EXTENSIONS:()=>P,DASH_EXTENSIONS:()=>M,FLV_EXTENSIONS:()=>k,HLS_EXTENSIONS:()=>O,MATCH_URL_DAILYMOTION:()=>f,MATCH_URL_FACEBOOK:()=>w,MATCH_URL_FACEBOOK_WATCH:()=>x,MATCH_URL_KALTURA:()=>h,MATCH_URL_MIXCLOUD:()=>u,MATCH_URL_MUX:()=>b,MATCH_URL_SOUNDCLOUD:()=>m,MATCH_URL_STREAMABLE:()=>S,MATCH_URL_TWITCH_CHANNEL:()=>p,MATCH_URL_TWITCH_VIDEO:()=>y,MATCH_URL_VIDYARD:()=>s,MATCH_URL_VIMEO:()=>c,MATCH_URL_WISTIA:()=>E,MATCH_URL_YOUTUBE:()=>v,VIDEO_EXTENSIONS:()=>C,canPlay:()=>I}),fr=o(l);var d=Se();const v=/(?:youtu\.be\/|youtube(?:-nocookie|education)?\.com\/(?:embed\/|v\/|watch\/|watch\?v=|watch\?.+&v=|shorts\/|live\/))((\w|-){11})|youtube\.com\/playlist\?list=|youtube\.com\/user\//,m=/(?:soundcloud\.com|snd\.sc)\/[^.]+$/,c=/vimeo\.com\/(?!progressive_redirect).+/,b=/stream\.mux\.com\/(\w+)/,w=/^https?:\/\/(www\.)?facebook\.com.*\/(video(s)?|watch|story)(\.php?|\/).+$/,x=/^https?:\/\/fb\.watch\/.+$/,S=/streamable\.com\/([a-z0-9]+)$/,E=/(?:wistia\.(?:com|net)|wi\.st)\/(?:medias|embed)\/(?:iframe\/)?([^?]+)/,y=/(?:www\.|go\.)?twitch\.tv\/videos\/(\d+)($|\?)/,p=/(?:www\.|go\.)?twitch\.tv\/([a-zA-Z0-9_]+)($|\?)/,f=/^(?:(?:https?):)?(?:\/\/)?(?:www\.)?(?:(?:dailymotion\.com(?:\/embed)?\/video)|dai\.ly)\/([a-zA-Z0-9]+)(?:_[\w_-]+)?(?:[\w.#_-]+)?/,u=/mixcloud\.com\/([^/]+\/[^/]+)/,s=/vidyard.com\/(?:watch\/)?([a-zA-Z0-9-_]+)/,h=/^https?:\/\/[a-zA-Z]+\.kaltura.(com|org)\/p\/([0-9]+)\/sp\/([0-9]+)00\/embedIframeJs\/uiconf_id\/([0-9]+)\/partner_id\/([0-9]+)(.*)entry_id.([a-zA-Z0-9-_].*)$/,P=/\.(m4a|m4b|mp4a|mpga|mp2|mp2a|mp3|m2a|m3a|wav|weba|aac|oga|spx)($|\?)/i,C=/\.(mp4|og[gv]|webm|mov|m4v)(#t=[,\d+]+)?($|\?)/i,O=/\.(m3u8)($|\?)/i,M=/\.(mpd)($|\?)/i,k=/\.(flv)($|\?)/i,N=A=>{if(A instanceof Array){for(const _ of A)if(typeof _=="string"&&N(_)||N(_.src))return!0;return!1}return(0,d.isMediaStream)(A)||(0,d.isBlobUrl)(A)?!0:P.test(A)||C.test(A)||O.test(A)||M.test(A)||k.test(A)},I={youtube:A=>A instanceof Array?A.every(_=>v.test(_)):v.test(A),soundcloud:A=>m.test(A)&&!P.test(A),vimeo:A=>c.test(A)&&!C.test(A)&&!O.test(A),mux:A=>b.test(A),facebook:A=>w.test(A)||x.test(A),streamable:A=>S.test(A),wistia:A=>E.test(A),twitch:A=>y.test(A)||p.test(A),dailymotion:A=>f.test(A),mixcloud:A=>u.test(A),vidyard:A=>s.test(A),kaltura:A=>h.test(A),file:N};return fr}var dr,Ho;function Id(){if(Ho)return dr;Ho=1;var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,a=(c,b)=>{for(var w in b)e(c,w,{get:b[w],enumerable:!0})},i=(c,b,w,x)=>{if(b&&typeof b=="object"||typeof b=="function")for(let S of r(b))!n.call(c,S)&&S!==w&&e(c,S,{get:()=>b[S],enumerable:!(x=t(b,S))||x.enumerable});return c},o=c=>i(e({},"__esModule",{value:!0}),c),l={};a(l,{default:()=>m}),dr=o(l);var d=Se(),v=Te(),m=[{key:"youtube",name:"YouTube",canPlay:v.canPlay.youtube,lazyPlayer:(0,d.lazy)(()=>Promise.resolve().then(()=>Nm))},{key:"soundcloud",name:"SoundCloud",canPlay:v.canPlay.soundcloud,lazyPlayer:(0,d.lazy)(()=>Promise.resolve().then(()=>qm))},{key:"vimeo",name:"Vimeo",canPlay:v.canPlay.vimeo,lazyPlayer:(0,d.lazy)(()=>Promise.resolve().then(()=>Km))},{key:"mux",name:"Mux",canPlay:v.canPlay.mux,lazyPlayer:(0,d.lazy)(()=>Promise.resolve().then(()=>Hm))},{key:"facebook",name:"Facebook",canPlay:v.canPlay.facebook,lazyPlayer:(0,d.lazy)(()=>Promise.resolve().then(()=>Vm))},{key:"streamable",name:"Streamable",canPlay:v.canPlay.streamable,lazyPlayer:(0,d.lazy)(()=>Promise.resolve().then(()=>Wm))},{key:"wistia",name:"Wistia",canPlay:v.canPlay.wistia,lazyPlayer:(0,d.lazy)(()=>Promise.resolve().then(()=>Gm))},{key:"twitch",name:"Twitch",canPlay:v.canPlay.twitch,lazyPlayer:(0,d.lazy)(()=>Promise.resolve().then(()=>Xm))},{key:"dailymotion",name:"DailyMotion",canPlay:v.canPlay.dailymotion,lazyPlayer:(0,d.lazy)(()=>Promise.resolve().then(()=>Zm))},{key:"mixcloud",name:"Mixcloud",canPlay:v.canPlay.mixcloud,lazyPlayer:(0,d.lazy)(()=>Promise.resolve().then(()=>eg))},{key:"vidyard",name:"Vidyard",canPlay:v.canPlay.vidyard,lazyPlayer:(0,d.lazy)(()=>Promise.resolve().then(()=>rg))},{key:"kaltura",name:"Kaltura",canPlay:v.canPlay.kaltura,lazyPlayer:(0,d.lazy)(()=>Promise.resolve().then(()=>ag))},{key:"file",name:"FilePlayer",canPlay:v.canPlay.file,canEnablePIP:c=>v.canPlay.file(c)&&(document.pictureInPictureEnabled||(0,d.supportsWebKitPresentationMode)())&&!v.AUDIO_EXTENSIONS.test(c),lazyPlayer:(0,d.lazy)(()=>Promise.resolve().then(()=>og))}];return dr}var Bo=Number.isNaN||function(t){return typeof t=="number"&&t!==t};function Dd(e,t){return!!(e===t||Bo(e)&&Bo(t))}function Nd(e,t){if(e.length!==t.length)return!1;for(var r=0;r<e.length;r++)if(!Dd(e[r],t[r]))return!1;return!0}function Fd(e,t){t===void 0&&(t=Nd);var r,n=[],a,i=!1;function o(){for(var l=[],d=0;d<arguments.length;d++)l[d]=arguments[d];return i&&r===this&&t(l,n)||(a=e.apply(this,l),i=!0,r=this,n=l),a}return o}const qd=Rd(Object.freeze(Object.defineProperty({__proto__:null,default:Fd},Symbol.toStringTag,{value:"Module"})));var pr,Vo;function zo(){if(Vo)return pr;Vo=1;var e=typeof Element<"u",t=typeof Map=="function",r=typeof Set=="function",n=typeof ArrayBuffer=="function"&&!!ArrayBuffer.isView;function a(i,o){if(i===o)return!0;if(i&&o&&typeof i=="object"&&typeof o=="object"){if(i.constructor!==o.constructor)return!1;var l,d,v;if(Array.isArray(i)){if(l=i.length,l!=o.length)return!1;for(d=l;d--!==0;)if(!a(i[d],o[d]))return!1;return!0}var m;if(t&&i instanceof Map&&o instanceof Map){if(i.size!==o.size)return!1;for(m=i.entries();!(d=m.next()).done;)if(!o.has(d.value[0]))return!1;for(m=i.entries();!(d=m.next()).done;)if(!a(d.value[1],o.get(d.value[0])))return!1;return!0}if(r&&i instanceof Set&&o instanceof Set){if(i.size!==o.size)return!1;for(m=i.entries();!(d=m.next()).done;)if(!o.has(d.value[0]))return!1;return!0}if(n&&ArrayBuffer.isView(i)&&ArrayBuffer.isView(o)){if(l=i.length,l!=o.length)return!1;for(d=l;d--!==0;)if(i[d]!==o[d])return!1;return!0}if(i.constructor===RegExp)return i.source===o.source&&i.flags===o.flags;if(i.valueOf!==Object.prototype.valueOf&&typeof i.valueOf=="function"&&typeof o.valueOf=="function")return i.valueOf()===o.valueOf();if(i.toString!==Object.prototype.toString&&typeof i.toString=="function"&&typeof o.toString=="function")return i.toString()===o.toString();if(v=Object.keys(i),l=v.length,l!==Object.keys(o).length)return!1;for(d=l;d--!==0;)if(!Object.prototype.hasOwnProperty.call(o,v[d]))return!1;if(e&&i instanceof Element)return!1;for(d=l;d--!==0;)if(!((v[d]==="_owner"||v[d]==="__v"||v[d]==="__o")&&i.$$typeof)&&!a(i[v[d]],o[v[d]]))return!1;return!0}return i!==i&&o!==o}return pr=function(o,l){try{return a(o,l)}catch(d){if((d.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw d}},pr}var Lt={exports:{}},kt={exports:{}},ce={};/** @license React v16.13.1 * react-is.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var Wo;function jd(){if(Wo)return ce;Wo=1;var e=typeof Symbol=="function"&&Symbol.for,t=e?Symbol.for("react.element"):60103,r=e?Symbol.for("react.portal"):60106,n=e?Symbol.for("react.fragment"):60107,a=e?Symbol.for("react.strict_mode"):60108,i=e?Symbol.for("react.profiler"):60114,o=e?Symbol.for("react.provider"):60109,l=e?Symbol.for("react.context"):60110,d=e?Symbol.for("react.async_mode"):60111,v=e?Symbol.for("react.concurrent_mode"):60111,m=e?Symbol.for("react.forward_ref"):60112,c=e?Symbol.for("react.suspense"):60113,b=e?Symbol.for("react.suspense_list"):60120,w=e?Symbol.for("react.memo"):60115,x=e?Symbol.for("react.lazy"):60116,S=e?Symbol.for("react.block"):60121,E=e?Symbol.for("react.fundamental"):60117,y=e?Symbol.for("react.responder"):60118,p=e?Symbol.for("react.scope"):60119;function f(s){if(typeof s=="object"&&s!==null){var h=s.$$typeof;switch(h){case t:switch(s=s.type,s){case d:case v:case n:case i:case a:case c:return s;default:switch(s=s&&s.$$typeof,s){case l:case m:case x:case w:case o:return s;default:return h}}case r:return h}}}function u(s){return f(s)===v}return ce.AsyncMode=d,ce.ConcurrentMode=v,ce.ContextConsumer=l,ce.ContextProvider=o,ce.Element=t,ce.ForwardRef=m,ce.Fragment=n,ce.Lazy=x,ce.Memo=w,ce.Portal=r,ce.Profiler=i,ce.StrictMode=a,ce.Suspense=c,ce.isAsyncMode=function(s){return u(s)||f(s)===d},ce.isConcurrentMode=u,ce.isContextConsumer=function(s){return f(s)===l},ce.isContextProvider=function(s){return f(s)===o},ce.isElement=function(s){return typeof s=="object"&&s!==null&&s.$$typeof===t},ce.isForwardRef=function(s){return f(s)===m},ce.isFragment=function(s){return f(s)===n},ce.isLazy=function(s){return f(s)===x},ce.isMemo=function(s){return f(s)===w},ce.isPortal=function(s){return f(s)===r},ce.isProfiler=function(s){return f(s)===i},ce.isStrictMode=function(s){return f(s)===a},ce.isSuspense=function(s){return f(s)===c},ce.isValidElementType=function(s){return typeof s=="string"||typeof s=="function"||s===n||s===v||s===i||s===a||s===c||s===b||typeof s=="object"&&s!==null&&(s.$$typeof===x||s.$$typeof===w||s.$$typeof===o||s.$$typeof===l||s.$$typeof===m||s.$$typeof===E||s.$$typeof===y||s.$$typeof===p||s.$$typeof===S)},ce.typeOf=f,ce}var fe={};/** @license React v16.13.1 * react-is.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var Yo;function Kd(){return Yo||(Yo=1,process.env.NODE_ENV!=="production"&&function(){var e=typeof Symbol=="function"&&Symbol.for,t=e?Symbol.for("react.element"):60103,r=e?Symbol.for("react.portal"):60106,n=e?Symbol.for("react.fragment"):60107,a=e?Symbol.for("react.strict_mode"):60108,i=e?Symbol.for("react.profiler"):60114,o=e?Symbol.for("react.provider"):60109,l=e?Symbol.for("react.context"):60110,d=e?Symbol.for("react.async_mode"):60111,v=e?Symbol.for("react.concurrent_mode"):60111,m=e?Symbol.for("react.forward_ref"):60112,c=e?Symbol.for("react.suspense"):60113,b=e?Symbol.for("react.suspense_list"):60120,w=e?Symbol.for("react.memo"):60115,x=e?Symbol.for("react.lazy"):60116,S=e?Symbol.for("react.block"):60121,E=e?Symbol.for("react.fundamental"):60117,y=e?Symbol.for("react.responder"):60118,p=e?Symbol.for("react.scope"):60119;function f(g){return typeof g=="string"||typeof g=="function"||g===n||g===v||g===i||g===a||g===c||g===b||typeof g=="object"&&g!==null&&(g.$$typeof===x||g.$$typeof===w||g.$$typeof===o||g.$$typeof===l||g.$$typeof===m||g.$$typeof===E||g.$$typeof===y||g.$$typeof===p||g.$$typeof===S)}function u(g){if(typeof g=="object"&&g!==null){var R=g.$$typeof;switch(R){case t:var L=g.type;switch(L){case d:case v:case n:case i:case a:case c:return L;default:var F=L&&L.$$typeof;switch(F){case l:case m:case x:case w:case o:return F;default:return R}}case r:return R}}}var s=d,h=v,P=l,C=o,O=t,M=m,k=n,N=x,I=w,A=r,_=i,j=a,G=c,ne=!1;function K(g){return ne||(ne=!0,console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")),T(g)||u(g)===d}function T(g){return u(g)===v}function q(g){return u(g)===l}function U(g){return u(g)===o}function z(g){return typeof g=="object"&&g!==null&&g.$$typeof===t}function W(g){return u(g)===m}function J(g){return u(g)===n}function Q(g){return u(g)===x}function ee(g){return u(g)===w}function te(g){return u(g)===r}function re(g){return u(g)===i}function H(g){return u(g)===a}function D(g){return u(g)===c}fe.AsyncMode=s,fe.ConcurrentMode=h,fe.ContextConsumer=P,fe.ContextProvider=C,fe.Element=O,fe.ForwardRef=M,fe.Fragment=k,fe.Lazy=N,fe.Memo=I,fe.Portal=A,fe.Profiler=_,fe.StrictMode=j,fe.Suspense=G,fe.isAsyncMode=K,fe.isConcurrentMode=T,fe.isContextConsumer=q,fe.isContextProvider=U,fe.isElement=z,fe.isForwardRef=W,fe.isFragment=J,fe.isLazy=Q,fe.isMemo=ee,fe.isPortal=te,fe.isProfiler=re,fe.isStrictMode=H,fe.isSuspense=D,fe.isValidElementType=f,fe.typeOf=u}()),fe}var Go;function $o(){return Go||(Go=1,process.env.NODE_ENV==="production"?kt.exports=jd():kt.exports=Kd()),kt.exports}/* object-assign (c) Sindre Sorhus @license MIT */var hr,Xo;function Ud(){if(Xo)return hr;Xo=1;var e=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;function n(i){if(i==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(i)}function a(){try{if(!Object.assign)return!1;var i=new String("abc");if(i[5]="de",Object.getOwnPropertyNames(i)[0]==="5")return!1;for(var o={},l=0;l<10;l++)o["_"+String.fromCharCode(l)]=l;var d=Object.getOwnPropertyNames(o).map(function(m){return o[m]});if(d.join("")!=="0123456789")return!1;var v={};return"abcdefghijklmnopqrst".split("").forEach(function(m){v[m]=m}),Object.keys(Object.assign({},v)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}return hr=a()?Object.assign:function(i,o){for(var l,d=n(i),v,m=1;m<arguments.length;m++){l=Object(arguments[m]);for(var c in l)t.call(l,c)&&(d[c]=l[c]);if(e){v=e(l);for(var b=0;b<v.length;b++)r.call(l,v[b])&&(d[v[b]]=l[v[b]])}}return d},hr}var vr,Jo;function yr(){if(Jo)return vr;Jo=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return vr=e,vr}var mr,Zo;function Qo(){return Zo||(Zo=1,mr=Function.call.bind(Object.prototype.hasOwnProperty)),mr}var gr,es;function Hd(){if(es)return gr;es=1;var e=function(){};if(process.env.NODE_ENV!=="production"){var t=yr(),r={},n=Qo();e=function(i){var o="Warning: "+i;typeof console<"u"&&console.error(o);try{throw new Error(o)}catch{}}}function a(i,o,l,d,v){if(process.env.NODE_ENV!=="production"){for(var m in i)if(n(i,m)){var c;try{if(typeof i[m]!="function"){var b=Error((d||"React class")+": "+l+" type `"+m+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof i[m]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw b.name="Invariant Violation",b}c=i[m](o,m,d,l,null,t)}catch(x){c=x}if(c&&!(c instanceof Error)&&e((d||"React class")+": type specification of "+l+" `"+m+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof c+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),c instanceof Error&&!(c.message in r)){r[c.message]=!0;var w=v?v():"";e("Failed "+l+" type: "+c.message+(w??""))}}}}return a.resetWarningCache=function(){process.env.NODE_ENV!=="production"&&(r={})},gr=a,gr}var br,ts;function Bd(){if(ts)return br;ts=1;var e=$o(),t=Ud(),r=yr(),n=Qo(),a=Hd(),i=function(){};process.env.NODE_ENV!=="production"&&(i=function(l){var d="Warning: "+l;typeof console<"u"&&console.error(d);try{throw new Error(d)}catch{}});function o(){return null}return br=function(l,d){var v=typeof Symbol=="function"&&Symbol.iterator,m="@@iterator";function c(T){var q=T&&(v&&T[v]||T[m]);if(typeof q=="function")return q}var b="<<anonymous>>",w={array:y("array"),bigint:y("bigint"),bool:y("boolean"),func:y("function"),number:y("number"),object:y("object"),string:y("string"),symbol:y("symbol"),any:p(),arrayOf:f,element:u(),elementType:s(),instanceOf:h,node:M(),objectOf:C,oneOf:P,oneOfType:O,shape:N,exact:I};function x(T,q){return T===q?T!==0||1/T===1/q:T!==T&&q!==q}function S(T,q){this.message=T,this.data=q&&typeof q=="object"?q:{},this.stack=""}S.prototype=Error.prototype;function E(T){if(process.env.NODE_ENV!=="production")var q={},U=0;function z(J,Q,ee,te,re,H,D){if(te=te||b,H=H||ee,D!==r){if(d){var g=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw g.name="Invariant Violation",g}else if(process.env.NODE_ENV!=="production"&&typeof console<"u"){var R=te+":"+ee;!q[R]&&U<3&&(i("You are manually calling a React.PropTypes validation function for the `"+H+"` prop on `"+te+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),q[R]=!0,U++)}}return Q[ee]==null?J?Q[ee]===null?new S("The "+re+" `"+H+"` is marked as required "+("in `"+te+"`, but its value is `null`.")):new S("The "+re+" `"+H+"` is marked as required in "+("`"+te+"`, but its value is `undefined`.")):null:T(Q,ee,te,re,H)}var W=z.bind(null,!1);return W.isRequired=z.bind(null,!0),W}function y(T){function q(U,z,W,J,Q,ee){var te=U[z],re=j(te);if(re!==T){var H=G(te);return new S("Invalid "+J+" `"+Q+"` of type "+("`"+H+"` supplied to `"+W+"`, expected ")+("`"+T+"`."),{expectedType:T})}return null}return E(q)}function p(){return E(o)}function f(T){function q(U,z,W,J,Q){if(typeof T!="function")return new S("Property `"+Q+"` of component `"+W+"` has invalid PropType notation inside arrayOf.");var ee=U[z];if(!Array.isArray(ee)){var te=j(ee);return new S("Invalid "+J+" `"+Q+"` of type "+("`"+te+"` supplied to `"+W+"`, expected an array."))}for(var re=0;re<ee.length;re++){var H=T(ee,re,W,J,Q+"["+re+"]",r);if(H instanceof Error)return H}return null}return E(q)}function u(){function T(q,U,z,W,J){var Q=q[U];if(!l(Q)){var ee=j(Q);return new S("Invalid "+W+" `"+J+"` of type "+("`"+ee+"` supplied to `"+z+"`, expected a single ReactElement."))}return null}return E(T)}function s(){function T(q,U,z,W,J){var Q=q[U];if(!e.isValidElementType(Q)){var ee=j(Q);return new S("Invalid "+W+" `"+J+"` of type "+("`"+ee+"` supplied to `"+z+"`, expected a single ReactElement type."))}return null}return E(T)}function h(T){function q(U,z,W,J,Q){if(!(U[z]instanceof T)){var ee=T.name||b,te=K(U[z]);return new S("Invalid "+J+" `"+Q+"` of type "+("`"+te+"` supplied to `"+W+"`, expected ")+("instance of `"+ee+"`."))}return null}return E(q)}function P(T){if(!Array.isArray(T))return process.env.NODE_ENV!=="production"&&(arguments.length>1?i("Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."):i("Invalid argument supplied to oneOf, expected an array.")),o;function q(U,z,W,J,Q){for(var ee=U[z],te=0;te<T.length;te++)if(x(ee,T[te]))return null;var re=JSON.stringify(T,function(D,g){var R=G(g);return R==="symbol"?String(g):g});return new S("Invalid "+J+" `"+Q+"` of value `"+String(ee)+"` "+("supplied to `"+W+"`, expected one of "+re+"."))}return E(q)}function C(T){function q(U,z,W,J,Q){if(typeof T!="function")return new S("Property `"+Q+"` of component `"+W+"` has invalid PropType notation inside objectOf.");var ee=U[z],te=j(ee);if(te!=="object")return new S("Invalid "+J+" `"+Q+"` of type "+("`"+te+"` supplied to `"+W+"`, expected an object."));for(var re in ee)if(n(ee,re)){var H=T(ee,re,W,J,Q+"."+re,r);if(H instanceof Error)return H}return null}return E(q)}function O(T){if(!Array.isArray(T))return process.env.NODE_ENV!=="production"&&i("Invalid argument supplied to oneOfType, expected an instance of array."),o;for(var q=0;q<T.length;q++){var U=T[q];if(typeof U!="function")return i("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+ne(U)+" at index "+q+"."),o}function z(W,J,Q,ee,te){for(var re=[],H=0;H<T.length;H++){var D=T[H],g=D(W,J,Q,ee,te,r);if(g==null)return null;g.data&&n(g.data,"expectedType")&&re.push(g.data.expectedType)}var R=re.length>0?", expected one of type ["+re.join(", ")+"]":"";return new S("Invalid "+ee+" `"+te+"` supplied to "+("`"+Q+"`"+R+"."))}return E(z)}function M(){function T(q,U,z,W,J){return A(q[U])?null:new S("Invalid "+W+" `"+J+"` supplied to "+("`"+z+"`, expected a ReactNode."))}return E(T)}function k(T,q,U,z,W){return new S((T||"React class")+": "+q+" type `"+U+"."+z+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+W+"`.")}function N(T){function q(U,z,W,J,Q){var ee=U[z],te=j(ee);if(te!=="object")return new S("Invalid "+J+" `"+Q+"` of type `"+te+"` "+("supplied to `"+W+"`, expected `object`."));for(var re in T){var H=T[re];if(typeof H!="function")return k(W,J,Q,re,G(H));var D=H(ee,re,W,J,Q+"."+re,r);if(D)return D}return null}return E(q)}function I(T){function q(U,z,W,J,Q){var ee=U[z],te=j(ee);if(te!=="object")return new S("Invalid "+J+" `"+Q+"` of type `"+te+"` "+("supplied to `"+W+"`, expected `object`."));var re=t({},U[z],T);for(var H in re){var D=T[H];if(n(T,H)&&typeof D!="function")return k(W,J,Q,H,G(D));if(!D)return new S("Invalid "+J+" `"+Q+"` key `"+H+"` supplied to `"+W+"`.\nBad object: "+JSON.stringify(U[z],null," ")+` Valid keys: `+JSON.stringify(Object.keys(T),null," "));var g=D(ee,H,W,J,Q+"."+H,r);if(g)return g}return null}return E(q)}function A(T){switch(typeof T){case"number":case"string":case"undefined":return!0;case"boolean":return!T;case"object":if(Array.isArray(T))return T.every(A);if(T===null||l(T))return!0;var q=c(T);if(q){var U=q.call(T),z;if(q!==T.entries){for(;!(z=U.next()).done;)if(!A(z.value))return!1}else for(;!(z=U.next()).done;){var W=z.value;if(W&&!A(W[1]))return!1}}else return!1;return!0;default:return!1}}function _(T,q){return T==="symbol"?!0:q?q["@@toStringTag"]==="Symbol"||typeof Symbol=="function"&&q instanceof Symbol:!1}function j(T){var q=typeof T;return Array.isArray(T)?"array":T instanceof RegExp?"object":_(q,T)?"symbol":q}function G(T){if(typeof T>"u"||T===null)return""+T;var q=j(T);if(q==="object"){if(T instanceof Date)return"date";if(T instanceof RegExp)return"regexp"}return q}function ne(T){var q=G(T);switch(q){case"array":case"object":return"an "+q;case"boolean":case"date":case"regexp":return"a "+q;default:return q}}function K(T){return!T.constructor||!T.constructor.name?b:T.constructor.name}return w.checkPropTypes=a,w.resetWarningCache=a.resetWarningCache,w.PropTypes=w,w},br}var _r,rs;function Vd(){if(rs)return _r;rs=1;var e=yr();function t(){}function r(){}return r.resetWarningCache=t,_r=function(){function n(o,l,d,v,m,c){if(c!==e){var b=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw b.name="Invariant Violation",b}}n.isRequired=n;function a(){return n}var i={array:n,bigint:n,bool:n,func:n,number:n,object:n,string:n,symbol:n,any:n,arrayOf:a,element:n,elementType:n,instanceOf:a,node:n,objectOf:a,oneOf:a,oneOfType:a,shape:a,exact:a,checkPropTypes:r,resetWarningCache:t};return i.PropTypes=i,i},_r}var ns;function as(){if(ns)return Lt.exports;if(ns=1,process.env.NODE_ENV!=="production"){var e=$o(),t=!0;Lt.exports=Bd()(e.isElement,t)}else Lt.exports=Vd()();return Lt.exports}var Pr,is;function os(){if(is)return Pr;is=1;var e=Object.create,t=Object.defineProperty,r=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,a=Object.getPrototypeOf,i=Object.prototype.hasOwnProperty,o=(C,O)=>{for(var M in O)t(C,M,{get:O[M],enumerable:!0})},l=(C,O,M,k)=>{if(O&&typeof O=="object"||typeof O=="function")for(let N of n(O))!i.call(C,N)&&N!==M&&t(C,N,{get:()=>O[N],enumerable:!(k=r(O,N))||k.enumerable});return C},d=(C,O,M)=>(M=C!=null?e(a(C)):{},l(!C||!C.__esModule?t(M,"default",{value:C,enumerable:!0}):M,C)),v=C=>l(t({},"__esModule",{value:!0}),C),m={};o(m,{defaultProps:()=>P,propTypes:()=>s}),Pr=v(m);var c=d(as());const{string:b,bool:w,number:x,array:S,oneOfType:E,shape:y,object:p,func:f,node:u}=c.default,s={url:E([b,S,p]),playing:w,loop:w,controls:w,volume:x,muted:w,playbackRate:x,width:E([b,x]),height:E([b,x]),style:p,progressInterval:x,playsinline:w,pip:w,stopOnUnmount:w,light:E([w,b,p]),playIcon:u,previewTabIndex:x,previewAriaLabel:b,fallback:u,oEmbedUrl:b,wrapper:E([b,f,y({render:f.isRequired})]),config:y({soundcloud:y({options:p}),youtube:y({playerVars:p,embedOptions:p,onUnstarted:f}),facebook:y({appId:b,version:b,playerId:b,attributes:p}),dailymotion:y({params:p}),vimeo:y({playerOptions:p,title:b}),mux:y({attributes:p,version:b}),file:y({attributes:p,tracks:S,forceVideo:w,forceAudio:w,forceHLS:w,forceSafariHLS:w,forceDisableHls:w,forceDASH:w,forceFLV:w,hlsOptions:p,hlsVersion:b,dashVersion:b,flvVersion:b}),wistia:y({options:p,playerId:b,customControls:S}),mixcloud:y({options:p}),twitch:y({options:p,playerId:b}),vidyard:y({options:p})}),onReady:f,onStart:f,onPlay:f,onPause:f,onBuffer:f,onBufferEnd:f,onEnded:f,onError:f,onDuration:f,onSeek:f,onPlaybackRateChange:f,onPlaybackQualityChange:f,onProgress:f,onClickPreview:f,onEnablePIP:f,onDisablePIP:f},h=()=>{},P={playing:!1,loop:!1,controls:!1,volume:null,muted:!1,playbackRate:1,width:"640px",height:"360px",style:{},progressInterval:1e3,playsinline:!1,pip:!1,stopOnUnmount:!0,light:!1,fallback:null,wrapper:"div",previewTabIndex:0,previewAriaLabel:"",oEmbedUrl:"https://noembed.com/embed?url={url}",config:{soundcloud:{options:{visual:!0,buying:!1,liking:!1,download:!1,sharing:!1,show_comments:!1,show_playcount:!1}},youtube:{playerVars:{playsinline:1,showinfo:0,rel:0,iv_load_policy:3,modestbranding:1},embedOptions:{},onUnstarted:h},facebook:{appId:"1309697205772819",version:"v3.3",playerId:null,attributes:{}},dailymotion:{params:{api:1,"endscreen-enable":!1}},vimeo:{playerOptions:{autopause:!1,byline:!1,portrait:!1,title:!1},title:null},mux:{attributes:{},version:"2"},file:{attributes:{},tracks:[],forceVideo:!1,forceAudio:!1,forceHLS:!1,forceDASH:!1,forceFLV:!1,hlsOptions:{},hlsVersion:"1.1.4",dashVersion:"3.1.3",flvVersion:"1.5.0",forceDisableHls:!1},wistia:{options:{},playerId:null,customControls:null},mixcloud:{options:{hide_cover:1}},twitch:{options:{},playerId:null},vidyard:{options:{}}},onReady:h,onStart:h,onPlay:h,onPause:h,onBuffer:h,onBufferEnd:h,onEnded:h,onError:h,onDuration:h,onSeek:h,onPlaybackRateChange:h,onPlaybackQualityChange:h,onProgress:h,onClickPreview:h,onEnablePIP:h,onDisablePIP:h};return Pr}var wr,ss;function zd(){if(ss)return wr;ss=1;var e=Object.create,t=Object.defineProperty,r=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,a=Object.getPrototypeOf,i=Object.prototype.hasOwnProperty,o=(f,u,s)=>u in f?t(f,u,{enumerable:!0,configurable:!0,writable:!0,value:s}):f[u]=s,l=(f,u)=>{for(var s in u)t(f,s,{get:u[s],enumerable:!0})},d=(f,u,s,h)=>{if(u&&typeof u=="object"||typeof u=="function")for(let P of n(u))!i.call(f,P)&&P!==s&&t(f,P,{get:()=>u[P],enumerable:!(h=r(u,P))||h.enumerable});return f},v=(f,u,s)=>(s=f!=null?e(a(f)):{},d(!f||!f.__esModule?t(s,"default",{value:f,enumerable:!0}):s,f)),m=f=>d(t({},"__esModule",{value:!0}),f),c=(f,u,s)=>(o(f,typeof u!="symbol"?u+"":u,s),s),b={};l(b,{default:()=>p}),wr=m(b);var w=v(Z),x=v(zo()),S=os(),E=Se();const y=5e3;class p extends w.Component{constructor(){super(...arguments),c(this,"mounted",!1),c(this,"isReady",!1),c(this,"isPlaying",!1),c(this,"isLoading",!0),c(this,"loadOnReady",null),c(this,"startOnPlay",!0),c(this,"seekOnPlay",null),c(this,"onDurationCalled",!1),c(this,"handlePlayerMount",u=>{if(this.player){this.progress();return}this.player=u,this.player.load(this.props.url),this.progress()}),c(this,"getInternalPlayer",u=>this.player?this.player[u]:null),c(this,"progress",()=>{if(this.props.url&&this.player&&this.isReady){const u=this.getCurrentTime()||0,s=this.getSecondsLoaded(),h=this.getDuration();if(h){const P={playedSeconds:u,played:u/h};s!==null&&(P.loadedSeconds=s,P.loaded=s/h),(P.playedSeconds!==this.prevPlayed||P.loadedSeconds!==this.prevLoaded)&&this.props.onProgress(P),this.prevPlayed=P.playedSeconds,this.prevLoaded=P.loadedSeconds}}this.progressTimeout=setTimeout(this.progress,this.props.progressFrequency||this.props.progressInterval)}),c(this,"handleReady",()=>{if(!this.mounted)return;this.isReady=!0,this.isLoading=!1;const{onReady:u,playing:s,volume:h,muted:P}=this.props;u(),!P&&h!==null&&this.player.setVolume(h),this.loadOnReady?(this.player.load(this.loadOnReady,!0),this.loadOnReady=null):s&&this.player.play(),this.handleDurationCheck()}),c(this,"handlePlay",()=>{this.isPlaying=!0,this.isLoading=!1;const{onStart:u,onPlay:s,playbackRate:h}=this.props;this.startOnPlay&&(this.player.setPlaybackRate&&h!==1&&this.player.setPlaybackRate(h),u(),this.startOnPlay=!1),s(),this.seekOnPlay&&(this.seekTo(this.seekOnPlay),this.seekOnPlay=null),this.handleDurationCheck()}),c(this,"handlePause",u=>{this.isPlaying=!1,this.isLoading||this.props.onPause(u)}),c(this,"handleEnded",()=>{const{activePlayer:u,loop:s,onEnded:h}=this.props;u.loopOnEnded&&s&&this.seekTo(0),s||(this.isPlaying=!1,h())}),c(this,"handleError",(...u)=>{this.isLoading=!1,this.props.onError(...u)}),c(this,"handleDurationCheck",()=>{clearTimeout(this.durationCheckTimeout);const u=this.getDuration();u?this.onDurationCalled||(this.props.onDuration(u),this.onDurationCalled=!0):this.durationCheckTimeout=setTimeout(this.handleDurationCheck,100)}),c(this,"handleLoaded",()=>{this.isLoading=!1})}componentDidMount(){this.mounted=!0}componentWillUnmount(){clearTimeout(this.progressTimeout),clearTimeout(this.durationCheckTimeout),this.isReady&&this.props.stopOnUnmount&&(this.player.stop(),this.player.disablePIP&&this.player.disablePIP()),this.mounted=!1}componentDidUpdate(u){if(!this.player)return;const{url:s,playing:h,volume:P,muted:C,playbackRate:O,pip:M,loop:k,activePlayer:N,disableDeferredLoading:I}=this.props;if(!(0,x.default)(u.url,s)){if(this.isLoading&&!N.forceLoad&&!I&&!(0,E.isMediaStream)(s)){console.warn(`ReactPlayer: the attempt to load ${s} is being deferred until the player has loaded`),this.loadOnReady=s;return}this.isLoading=!0,this.startOnPlay=!0,this.onDurationCalled=!1,this.player.load(s,this.isReady)}!u.playing&&h&&!this.isPlaying&&this.player.play(),u.playing&&!h&&this.isPlaying&&this.player.pause(),!u.pip&&M&&this.player.enablePIP&&this.player.enablePIP(),u.pip&&!M&&this.player.disablePIP&&this.player.disablePIP(),u.volume!==P&&P!==null&&this.player.setVolume(P),u.muted!==C&&(C?this.player.mute():(this.player.unmute(),P!==null&&setTimeout(()=>this.player.setVolume(P)))),u.playbackRate!==O&&this.player.setPlaybackRate&&this.player.setPlaybackRate(O),u.loop!==k&&this.player.setLoop&&this.player.setLoop(k)}getDuration(){return this.isReady?this.player.getDuration():null}getCurrentTime(){return this.isReady?this.player.getCurrentTime():null}getSecondsLoaded(){return this.isReady?this.player.getSecondsLoaded():null}seekTo(u,s,h){if(!this.isReady){u!==0&&(this.seekOnPlay=u,setTimeout(()=>{this.seekOnPlay=null},y));return}if(s?s==="fraction":u>0&&u<1){const C=this.player.getDuration();if(!C){console.warn("ReactPlayer: could not seek using fraction – duration not yet available");return}this.player.seekTo(C*u,h);return}this.player.seekTo(u,h)}render(){const u=this.props.activePlayer;return u?w.default.createElement(u,{...this.props,onMount:this.handlePlayerMount,onReady:this.handleReady,onPlay:this.handlePlay,onPause:this.handlePause,onEnded:this.handleEnded,onLoaded:this.handleLoaded,onError:this.handleError}):null}}return c(p,"displayName","Player"),c(p,"propTypes",S.propTypes),c(p,"defaultProps",S.defaultProps),wr}var Or,us;function Wd(){if(us)return Or;us=1;var e=Object.create,t=Object.defineProperty,r=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,a=Object.getPrototypeOf,i=Object.prototype.hasOwnProperty,o=(k,N,I)=>N in k?t(k,N,{enumerable:!0,configurable:!0,writable:!0,value:I}):k[N]=I,l=(k,N)=>{for(var I in N)t(k,I,{get:N[I],enumerable:!0})},d=(k,N,I,A)=>{if(N&&typeof N=="object"||typeof N=="function")for(let _ of n(N))!i.call(k,_)&&_!==I&&t(k,_,{get:()=>N[_],enumerable:!(A=r(N,_))||A.enumerable});return k},v=(k,N,I)=>(I=k!=null?e(a(k)):{},d(!k||!k.__esModule?t(I,"default",{value:k,enumerable:!0}):I,k)),m=k=>d(t({},"__esModule",{value:!0}),k),c=(k,N,I)=>(o(k,typeof N!="symbol"?N+"":N,I),I),b={};l(b,{createReactPlayer:()=>M}),Or=m(b);var w=v(Z),x=v(jo()),S=v(qd),E=v(zo()),y=os(),p=Se(),f=v(zd());const u=(0,p.lazy)(()=>Promise.resolve().then(()=>ug)),s=typeof window<"u"&&window.document&&typeof document<"u",h=typeof Ge<"u"&&Ge.window&&Ge.window.document,P=Object.keys(y.propTypes),C=s||h?w.Suspense:()=>null,O=[],M=(k,N)=>{var I;return I=class extends w.Component{constructor(){super(...arguments),c(this,"state",{showPreview:!!this.props.light}),c(this,"references",{wrapper:A=>{this.wrapper=A},player:A=>{this.player=A}}),c(this,"handleClickPreview",A=>{this.setState({showPreview:!1}),this.props.onClickPreview(A)}),c(this,"showPreview",()=>{this.setState({showPreview:!0})}),c(this,"getDuration",()=>this.player?this.player.getDuration():null),c(this,"getCurrentTime",()=>this.player?this.player.getCurrentTime():null),c(this,"getSecondsLoaded",()=>this.player?this.player.getSecondsLoaded():null),c(this,"getInternalPlayer",(A="player")=>this.player?this.player.getInternalPlayer(A):null),c(this,"seekTo",(A,_,j)=>{if(!this.player)return null;this.player.seekTo(A,_,j)}),c(this,"handleReady",()=>{this.props.onReady(this)}),c(this,"getActivePlayer",(0,S.default)(A=>{for(const _ of[...O,...k])if(_.canPlay(A))return _;return N||null})),c(this,"getConfig",(0,S.default)((A,_)=>{const{config:j}=this.props;return x.default.all([y.defaultProps.config,y.defaultProps.config[_]||{},j,j[_]||{}])})),c(this,"getAttributes",(0,S.default)(A=>(0,p.omit)(this.props,P))),c(this,"renderActivePlayer",A=>{if(!A)return null;const _=this.getActivePlayer(A);if(!_)return null;const j=this.getConfig(A,_.key);return w.default.createElement(f.default,{...this.props,key:_.key,ref:this.references.player,config:j,activePlayer:_.lazyPlayer||_,onReady:this.handleReady})})}shouldComponentUpdate(A,_){return!(0,E.default)(this.props,A)||!(0,E.default)(this.state,_)}componentDidUpdate(A){const{light:_}=this.props;!A.light&&_&&this.setState({showPreview:!0}),A.light&&!_&&this.setState({showPreview:!1})}renderPreview(A){if(!A)return null;const{light:_,playIcon:j,previewTabIndex:G,oEmbedUrl:ne,previewAriaLabel:K}=this.props;return w.default.createElement(u,{url:A,light:_,playIcon:j,previewTabIndex:G,previewAriaLabel:K,oEmbedUrl:ne,onClick:this.handleClickPreview})}render(){const{url:A,style:_,width:j,height:G,fallback:ne,wrapper:K}=this.props,{showPreview:T}=this.state,q=this.getAttributes(A),U=typeof K=="string"?this.references.wrapper:void 0;return w.default.createElement(K,{ref:U,style:{..._,width:j,height:G},...q},w.default.createElement(C,{fallback:ne},T?this.renderPreview(A):this.renderActivePlayer(A)))}},c(I,"displayName","ReactPlayer"),c(I,"propTypes",y.propTypes),c(I,"defaultProps",y.defaultProps),c(I,"addCustomPlayer",A=>{O.push(A)}),c(I,"removeCustomPlayers",()=>{O.length=0}),c(I,"canPlay",A=>{for(const _ of[...O,...k])if(_.canPlay(A))return!0;return!1}),c(I,"canEnablePIP",A=>{for(const _ of[...O,...k])if(_.canEnablePIP&&_.canEnablePIP(A))return!0;return!1}),I};return Or}var Sr,ls;function Yd(){if(ls)return Sr;ls=1;var e=Object.create,t=Object.defineProperty,r=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,a=Object.getPrototypeOf,i=Object.prototype.hasOwnProperty,o=(S,E)=>{for(var y in E)t(S,y,{