@halibegic/react-video-player 0.0.58 → 0.0.60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1234,7 +1234,7 @@ const f = (e) => {
|
|
|
1234
1234
|
if (!t)
|
|
1235
1235
|
throw new Error("usePlayerStore must be used within PlayerStoreProvider");
|
|
1236
1236
|
return Ft(t, e);
|
|
1237
|
-
}, Sr = "0.0.
|
|
1237
|
+
}, Sr = "0.0.60", Je = {
|
|
1238
1238
|
version: Sr
|
|
1239
1239
|
}, Ye = 11e3, Ze = {
|
|
1240
1240
|
DEBUG: 2,
|
|
@@ -11,7 +11,7 @@ Check the top-level render call using <`+y+">.")}return m}}function an(o,m){{if(
|
|
|
11
11
|
<%s {...props} />
|
|
12
12
|
React keys must be passed directly to JSX without using spread:
|
|
13
13
|
let props = %s;
|
|
14
|
-
<%s key={someKey} {...props} />`,et,le,_o,le),ln[le+et]=!0}}return o===r?vo(W):po(W),W}}function yo(o,m,y){return un(o,m,y,!0)}function go(o,m,y){return un(o,m,y,!1)}var wo=go,Co=yo;we.Fragment=r,we.jsx=wo,we.jsxs=Co})()),we}var ut;function xn(){return ut||(ut=1,process.env.NODE_ENV==="production"?Se.exports=_n():Se.exports=Tn()),Se.exports}var i=xn();const dt=typeof window!="undefined"?f.useLayoutEffect:f.useEffect;function Ce(e,t){const n=f.useRef(e);dt(()=>{n.current=e},[e]),f.useEffect(()=>{if(t===null)return;const r=setInterval(()=>{n.current()},t);return()=>{clearInterval(r)}},[t])}function En(e,t){var n,r,a,l,u,s;if(typeof Intl!="undefined"&&Intl.DateTimeFormat)try{const d=new Intl.DateTimeFormat("en-US",{timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1}).formatToParts(e),w=parseInt(((n=d.find(S=>S.type==="year"))==null?void 0:n.value)||"0",10),_=parseInt(((r=d.find(S=>S.type==="month"))==null?void 0:r.value)||"0",10)-1,g=parseInt(((a=d.find(S=>S.type==="day"))==null?void 0:a.value)||"0",10),N=parseInt(((l=d.find(S=>S.type==="hour"))==null?void 0:l.value)||"0",10),R=parseInt(((u=d.find(S=>S.type==="minute"))==null?void 0:u.value)||"0",10),x=parseInt(((s=d.find(S=>S.type==="second"))==null?void 0:s.value)||"0",10);return new Date(w,_,g,N,R,x)}catch(c){return console.warn(`Failed to convert date to timezone ${t}, returning original date:`,c),e}return console.warn("Intl.DateTimeFormat not available, timezone conversion may be inaccurate"),e}function Rn(e,t,n){return ft(t.getTime()-e.getTime(),n,"milliseconds")}function Sn(){const e=new Date,t="YYYY-MM-DD HH:mm:ss.SSSSSS",n=(a,l=2)=>String(a).padStart(l,"0"),r={YYYY:String(e.getFullYear()),MM:n(e.getMonth()+1),DD:n(e.getDate()),HH:n(e.getHours()),mm:n(e.getMinutes()),ss:n(e.getSeconds()),SSSSSS:n(e.getMilliseconds(),3)+"000"};return Object.entries(r).reduce((a,[l,u])=>a.replace(l,u),t)}const _e=e=>{if(isNaN(e)||e===1/0)return"0:00";const t=l=>(l<10?"0":"")+l,n=Math.floor(e/3600),r=Math.floor(e%3600/60),a=Math.floor(e%60);return n===0?`${r}:${t(a)}`:`${n}:${t(r)}:${t(a)}`};function bn(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch(e){return console.warn("Failed to get time zone, returning default time zone:",e),"Europe/Sarajevo"}}function Pn(e){return ft(e,"milliseconds","seconds")}function ft(e,t,n){const r={days:86400,hours:3600,minutes:60,seconds:1,milliseconds:.001};return e*(r[t]/r[n])}function ht(e){var n;const t=typeof window!="undefined"&&((n=window.navigator)==null?void 0:n.userAgent)||"";return e.test(t)}const mt=ht(/iPhone|iPad|iPod/i),Ln=ht(/Tizen/i);function jn(){const e=document;return!!(e.fullscreenElement||e.mozFullScreenElement||e.webkitFullscreenElement||e.msFullscreenElement)}function kn(e){e.requestFullscreen?e.requestFullscreen():e.msRequestFullscreen?e.msRequestFullscreen():e.webkitRequestFullScreen?e.webkitRequestFullScreen():e.webkitEnterFullScreen?e.webkitEnterFullScreen():e.mozRequestFullScreen&&e.mozRequestFullScreen()}function In(e){e.exitFullscreen?e.exitFullscreen():e.msExitFullscreen?e.msExitFullscreen():e.webkitExitFullscreen?e.webkitExitFullscreen():e.mozCancelFullScreen&&e.mozCancelFullScreen()}function Dn(e,t){return e.addEventListener("fullscreenchange",t),e.addEventListener("webkitfullscreenchange",t),e.addEventListener("mozfullscreenchange",t),e.addEventListener("MSFullscreenChange",t),()=>{e.removeEventListener("fullscreenchange",t),e.removeEventListener("webkitfullscreenchange",t),e.removeEventListener("mozfullscreenchange",t),e.removeEventListener("MSFullscreenChange",t)}}const Nn=()=>te(),Mn=(e,t)=>({currentTime:0,duration:0,isEnded:!1,isLoading:!1,isLoop:!1,isMetaLoaded:!1,isPlaying:!1,isReady:!1,isStarted:!1,pauseTime:0,seekTime:-1,startTime:-1,volume:100,destroy:()=>{t().isStarted&&t().eventEmitter.emit("ended")},handleDurationChange:()=>{const n=t().techRef.current;n&&e({duration:n.duration})},handleEnd:()=>{t().techRef.current&&(t().eventEmitter.emit("ended"),e({isEnded:!0,isLoading:!1,isMetaLoaded:!1,isPlaying:!1}))},handleLoadedMetadata:()=>{const n=t().techRef.current;n&&(t().eventEmitter.emit("loadedMetadata",{duration:n.duration}),n.loop=t().isLoop,n.volume=n.muted?0:1,t().startTime!==-1&&(n.currentTime=t().startTime),e({currentTime:t().startTime!==-1?t().startTime:n.currentTime,duration:n.duration,startTime:-1,isMetaLoaded:!0,volume:n.muted?0:100}))},handleLoadStart:()=>{const n=t().techRef.current;n&&(t().eventEmitter.emit("loadStart"),e({isReady:!0}),!(t().isStarted&&!t().isPlaying)&&n.play().then(()=>{e({isEnded:!1,isLoading:!1,isPlaying:!0,isStarted:!0,pauseTime:0})}).catch(()=>{e({isStarted:!1,isEnded:!1,isLoading:!1,isPlaying:!1})}))},handlePause:()=>{t().techRef.current&&(t().eventEmitter.emit("pause"),e({isPlaying:!1,pauseTime:Date.now()}))},handlePlay:()=>{t().techRef.current&&(t().eventEmitter.emit(t().isStarted&&!t().isEnded?"resume":"play"),e({isPlaying:!0,pauseTime:0}))},handlePlaying:()=>{t().techRef.current&&(t().eventEmitter.emit("playing"),e({isLoading:!1}))},handleSeeked:()=>{t().techRef.current&&(t().eventEmitter.emit("seeked"),e({isLoading:!1}))},handleSeeking:()=>{t().techRef.current&&(t().eventEmitter.emit("seeking"),e({isLoading:!0}))},handleTimeUpdate:()=>{const n=t().techRef.current;n&&(t().eventEmitter.emit("timeUpdate",{currentTime:n.currentTime,duration:n.duration}),e({currentTime:n.currentTime}))},handleWaiting:()=>{t().techRef.current&&(t().eventEmitter.emit("waiting"),e({isLoading:!0}))},handleVolumeChange:()=>{const n=t().techRef.current;n&&t().eventEmitter.emit("volumeChange",{volume:n.volume})},handleError:n=>{const r=t().techRef.current;if(!r)return;t().eventEmitter.emit("error",n);const a=r.error;if(!a)return;const l=`${a.code}`,u=a.message||"Unknown error occurred";e({error:{message:u,code:l,tech:"native"}})},pause:()=>{const n=t().techRef.current;n&&(n.pause(),e({isEnded:!1,isPlaying:!1,pauseTime:Date.now()}))},getPauseTimeDiff:()=>!t().isStarted||!t().pauseTime?0:parseInt(Pn(Date.now()-t().pauseTime).toFixed(0)),play:()=>{const n=t().techRef.current;n&&n.play().then(()=>{e({isEnded:!1,isLoading:!1,isPlaying:!0,isStarted:!0,pauseTime:0})}).catch(()=>{e({isStarted:!1,isEnded:!1,isLoading:!1,isPlaying:!1})})},restart:()=>{t().eventEmitter.emit("restart")},seek:n=>{const r=t().techRef.current;r&&(r.currentTime=n,e({seekTime:-1,currentTime:n,isStarted:!0,isEnded:!1}))},setIsLoading:n=>e({isLoading:n}),setIsLoop:n=>{const r=t().techRef.current;r&&(r.loop=n,e({isLoop:n}))},setStartTime:n=>e({startTime:n}),setVolume:n=>{const r=t().techRef.current;r&&(r.muted=n===0,r.volume=n/100,e({volume:n}))},stop:()=>{t().techRef.current&&e({isPlaying:!1,isLoading:!1})}}),Fn=(e,t)=>({isIdle:!1,setIsIdle:n=>e({isIdle:n}),resetIdle:()=>t().eventEmitter.emit("resetIdle")}),Vn=e=>({idleLocks:new Set,addIdleLock:t=>e(n=>({idleLocks:new Set(n.idleLocks).add(t)})),removeIdleLock:t=>e(n=>{const r=new Set(n.idleLocks);return r.delete(t),{idleLocks:r}})}),An=(e,t)=>({playbackRate:1,setPlaybackRate:n=>{const r=t().techRef.current;r&&(r.playbackRate=n,e({playbackRate:n}))}}),On=(e,t)=>({level:null,levels:null,setLevels:n=>e({levels:n}),setLevel:n=>e({level:n}),logLevel:n=>{n&&t().eventEmitter.emit("qualityChange",{level:n})}}),Hn=(e,t)=>({isFullscreen:!1,isFullscreenReady:!1,exitFullscreen:()=>{t().eventEmitter.emit("fullscreenChange",{isFullscreen:!1}),In(document),e({isFullscreen:!1})},requestFullscreen:()=>{const n=t().techRef.current,r=t().containerRef.current;if(!n||!r)return;t().eventEmitter.emit("fullscreenChange",{isFullscreen:!0});const a=mt?n:r;a&&kn(a),e({isFullscreen:!0})},setIsFullscreen:n=>e({isFullscreen:n}),setIsFullscreenReady:n=>e({isFullscreenReady:n})}),Un=e=>({error:null,setError:t=>e({error:t})}),Bn=()=>({eventEmitter:Nn()}),zn=e=>()=>V({},e),Wn=(e,t)=>Y.create()((...n)=>V(V(V(V(V(V(V(V(V({},Mn(...n)),Fn(...n)),Vn(...n)),An(...n)),On(...n)),Hn(...n)),Un(...n)),Bn(...n)),zn({techRef:e,containerRef:t})(...n))),pt=f.createContext(null);function Yn({children:e}){const t=f.useRef(null),n=f.useRef(null),r=f.useRef(null);return t.current||(t.current=Wn(n,r)),i.jsx(pt.Provider,{value:t.current,children:e})}const h=e=>{const t=f.useContext(pt);if(!t)throw new Error("usePlayerStore must be used within PlayerStoreProvider");return Y.useStore(t,e)},Ue={version:"0.0.58"},Be=11e3,ze={DEBUG:2,INFO:3,WARNING:4};function vt({title:e,id:t,kind:n,delay:r,url:a}){const l=f.useRef(null),u=f.useRef(!1),[s,c]=f.useState(null),d=h(C=>C.eventEmitter),w=h(C=>C.isPlaying),_=a.includes("staging")?"stg":"prd",g=_==="stg"?"https://collector-staging.spectar.tv/ingest":"https://collector.spectar.tv/ingest",N=_==="stg"?"spectar_fitnessanny_staging":"spectar_fitnessanny_production";u.current=w;const R=f.useCallback(async({type:C,message:j,level:P=ze.INFO,duration:B,valueStr1:U,valueStr2:p})=>{const v={content_kind:n,datetime:{date:Sn(),timezone:bn()},installation:N,level_num:P,log_source:"fitnessanny_player",capp_version:Ue.version,message:j,target_index:C==="client"?"client_log":"watching_activity_log"};e&&(v.title=e),t&&(v.value_int1=t),U&&(v.value_str1=U),p&&(v.value_str2=p),C==="watch"&&(B&&(v.interval_duration=B),r&&(v.catchup_time=r));const b=await fetch(g,{method:"POST",body:JSON.stringify(v)});if(!b.ok)throw new Error(`HTTP error! status: ${b.status}`)},[g,r,t,N,n,e]),x=f.useCallback(C=>{l.current=C!=null?C:new Date},[]),S=f.useCallback(async C=>{!C&&l.current&&(C=Rn(l.current,new Date,"milliseconds")),console.log("[Player][Activity]","Watching",C),await R({type:"watch",message:"WATCHING",duration:C})},[R]);return Ce(()=>{S(s),x()},s),f.useEffect(()=>{const C=()=>{c(Be),R({type:"watch",message:"PLAY"}),x()},j=()=>{c(null),R({type:"watch",message:"PAUSE"}),S(),x()},P=()=>{c(Be),R({type:"watch",message:"RESUME"}),x()},B=()=>{c(null),u.current&&(R({type:"watch",message:"STOP"}),S()),c(Be),R({type:"watch",message:"PLAY"}),x()},U=()=>{c(null),R({type:"watch",message:"STOP"}),u.current&&S(),x()},p=({level:b})=>{b&&R({type:"client",message:"QUALITY_CHANGE",level:ze.DEBUG,valueStr1:b})},v=b=>{let I="UNKNOWN_ERROR",A="Unknown error occurred";b instanceof MediaError&&(b.code&&(I=`${b.code}`),b.message&&(A=`${b.message}`)),R({type:"client",message:"ERROR",level:ze.WARNING,valueStr1:I,valueStr2:A})};return d.on("play",C),d.on("pause",j),d.on("resume",P),d.on("restart",B),d.on("ended",U),d.on("qualityChange",p),d.on("error",v),()=>{d.off("play",C),d.off("pause",j),d.off("resume",P),d.off("restart",B),d.off("ended",U),d.off("qualityChange",p),d.off("error",v)}},[d,R,x,S]),null}const Zn=()=>Y.create(e=>({delay:0,startDate:null,viewerCount:null,setDelay:t=>e({delay:t}),setStartDate:t=>e({startDate:t}),setViewerCount:t=>e({viewerCount:t})})),yt=f.createContext(null),Kn=({children:e})=>{const t=f.useRef(null);return t.current||(t.current=Zn()),i.jsx(yt.Provider,{value:t.current,children:e})},H=e=>{const t=f.useContext(yt);if(!t)throw new Error("useLivePlayerStore must be used within PlayerStoreProvider");return Y.useStore(t,e)};function gt(e){try{const n=new URL(e).searchParams,r={};return n.forEach((a,l)=>{r[l]=a}),r}catch(t){return console.error("Invalid URL:",t),{}}}function Gn({url:e}){const{video_id:t}=gt(e),n=H(a=>a.delay),r=t?Number(t):void 0;return r?i.jsx(vt,{kind:n?"catchup":"live",delay:n,url:e,id:r}):null}const oe={playerNotice:"_playerNotice_x3acc_1",playerNoticeTitle:"_playerNoticeTitle_x3acc_19",playerNoticeText:"_playerNoticeText_x3acc_28",playerNoticeLowZIndex:"_playerNoticeLowZIndex_x3acc_37"};function Xn(e){const[,t]=f.useState(0);Ce(()=>t(n=>n+1),e)}function Jn(e){const t=e.split(`
|
|
14
|
+
<%s key={someKey} {...props} />`,et,le,_o,le),ln[le+et]=!0}}return o===r?vo(W):po(W),W}}function yo(o,m,y){return un(o,m,y,!0)}function go(o,m,y){return un(o,m,y,!1)}var wo=go,Co=yo;we.Fragment=r,we.jsx=wo,we.jsxs=Co})()),we}var ut;function xn(){return ut||(ut=1,process.env.NODE_ENV==="production"?Se.exports=_n():Se.exports=Tn()),Se.exports}var i=xn();const dt=typeof window!="undefined"?f.useLayoutEffect:f.useEffect;function Ce(e,t){const n=f.useRef(e);dt(()=>{n.current=e},[e]),f.useEffect(()=>{if(t===null)return;const r=setInterval(()=>{n.current()},t);return()=>{clearInterval(r)}},[t])}function En(e,t){var n,r,a,l,u,s;if(typeof Intl!="undefined"&&Intl.DateTimeFormat)try{const d=new Intl.DateTimeFormat("en-US",{timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1}).formatToParts(e),w=parseInt(((n=d.find(S=>S.type==="year"))==null?void 0:n.value)||"0",10),_=parseInt(((r=d.find(S=>S.type==="month"))==null?void 0:r.value)||"0",10)-1,g=parseInt(((a=d.find(S=>S.type==="day"))==null?void 0:a.value)||"0",10),N=parseInt(((l=d.find(S=>S.type==="hour"))==null?void 0:l.value)||"0",10),R=parseInt(((u=d.find(S=>S.type==="minute"))==null?void 0:u.value)||"0",10),x=parseInt(((s=d.find(S=>S.type==="second"))==null?void 0:s.value)||"0",10);return new Date(w,_,g,N,R,x)}catch(c){return console.warn(`Failed to convert date to timezone ${t}, returning original date:`,c),e}return console.warn("Intl.DateTimeFormat not available, timezone conversion may be inaccurate"),e}function Rn(e,t,n){return ft(t.getTime()-e.getTime(),n,"milliseconds")}function Sn(){const e=new Date,t="YYYY-MM-DD HH:mm:ss.SSSSSS",n=(a,l=2)=>String(a).padStart(l,"0"),r={YYYY:String(e.getFullYear()),MM:n(e.getMonth()+1),DD:n(e.getDate()),HH:n(e.getHours()),mm:n(e.getMinutes()),ss:n(e.getSeconds()),SSSSSS:n(e.getMilliseconds(),3)+"000"};return Object.entries(r).reduce((a,[l,u])=>a.replace(l,u),t)}const _e=e=>{if(isNaN(e)||e===1/0)return"0:00";const t=l=>(l<10?"0":"")+l,n=Math.floor(e/3600),r=Math.floor(e%3600/60),a=Math.floor(e%60);return n===0?`${r}:${t(a)}`:`${n}:${t(r)}:${t(a)}`};function bn(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch(e){return console.warn("Failed to get time zone, returning default time zone:",e),"Europe/Sarajevo"}}function Pn(e){return ft(e,"milliseconds","seconds")}function ft(e,t,n){const r={days:86400,hours:3600,minutes:60,seconds:1,milliseconds:.001};return e*(r[t]/r[n])}function ht(e){var n;const t=typeof window!="undefined"&&((n=window.navigator)==null?void 0:n.userAgent)||"";return e.test(t)}const mt=ht(/iPhone|iPad|iPod/i),Ln=ht(/Tizen/i);function jn(){const e=document;return!!(e.fullscreenElement||e.mozFullScreenElement||e.webkitFullscreenElement||e.msFullscreenElement)}function kn(e){e.requestFullscreen?e.requestFullscreen():e.msRequestFullscreen?e.msRequestFullscreen():e.webkitRequestFullScreen?e.webkitRequestFullScreen():e.webkitEnterFullScreen?e.webkitEnterFullScreen():e.mozRequestFullScreen&&e.mozRequestFullScreen()}function In(e){e.exitFullscreen?e.exitFullscreen():e.msExitFullscreen?e.msExitFullscreen():e.webkitExitFullscreen?e.webkitExitFullscreen():e.mozCancelFullScreen&&e.mozCancelFullScreen()}function Dn(e,t){return e.addEventListener("fullscreenchange",t),e.addEventListener("webkitfullscreenchange",t),e.addEventListener("mozfullscreenchange",t),e.addEventListener("MSFullscreenChange",t),()=>{e.removeEventListener("fullscreenchange",t),e.removeEventListener("webkitfullscreenchange",t),e.removeEventListener("mozfullscreenchange",t),e.removeEventListener("MSFullscreenChange",t)}}const Nn=()=>te(),Mn=(e,t)=>({currentTime:0,duration:0,isEnded:!1,isLoading:!1,isLoop:!1,isMetaLoaded:!1,isPlaying:!1,isReady:!1,isStarted:!1,pauseTime:0,seekTime:-1,startTime:-1,volume:100,destroy:()=>{t().isStarted&&t().eventEmitter.emit("ended")},handleDurationChange:()=>{const n=t().techRef.current;n&&e({duration:n.duration})},handleEnd:()=>{t().techRef.current&&(t().eventEmitter.emit("ended"),e({isEnded:!0,isLoading:!1,isMetaLoaded:!1,isPlaying:!1}))},handleLoadedMetadata:()=>{const n=t().techRef.current;n&&(t().eventEmitter.emit("loadedMetadata",{duration:n.duration}),n.loop=t().isLoop,n.volume=n.muted?0:1,t().startTime!==-1&&(n.currentTime=t().startTime),e({currentTime:t().startTime!==-1?t().startTime:n.currentTime,duration:n.duration,startTime:-1,isMetaLoaded:!0,volume:n.muted?0:100}))},handleLoadStart:()=>{const n=t().techRef.current;n&&(t().eventEmitter.emit("loadStart"),e({isReady:!0}),!(t().isStarted&&!t().isPlaying)&&n.play().then(()=>{e({isEnded:!1,isLoading:!1,isPlaying:!0,isStarted:!0,pauseTime:0})}).catch(()=>{e({isStarted:!1,isEnded:!1,isLoading:!1,isPlaying:!1})}))},handlePause:()=>{t().techRef.current&&(t().eventEmitter.emit("pause"),e({isPlaying:!1,pauseTime:Date.now()}))},handlePlay:()=>{t().techRef.current&&(t().eventEmitter.emit(t().isStarted&&!t().isEnded?"resume":"play"),e({isPlaying:!0,pauseTime:0}))},handlePlaying:()=>{t().techRef.current&&(t().eventEmitter.emit("playing"),e({isLoading:!1}))},handleSeeked:()=>{t().techRef.current&&(t().eventEmitter.emit("seeked"),e({isLoading:!1}))},handleSeeking:()=>{t().techRef.current&&(t().eventEmitter.emit("seeking"),e({isLoading:!0}))},handleTimeUpdate:()=>{const n=t().techRef.current;n&&(t().eventEmitter.emit("timeUpdate",{currentTime:n.currentTime,duration:n.duration}),e({currentTime:n.currentTime}))},handleWaiting:()=>{t().techRef.current&&(t().eventEmitter.emit("waiting"),e({isLoading:!0}))},handleVolumeChange:()=>{const n=t().techRef.current;n&&t().eventEmitter.emit("volumeChange",{volume:n.volume})},handleError:n=>{const r=t().techRef.current;if(!r)return;t().eventEmitter.emit("error",n);const a=r.error;if(!a)return;const l=`${a.code}`,u=a.message||"Unknown error occurred";e({error:{message:u,code:l,tech:"native"}})},pause:()=>{const n=t().techRef.current;n&&(n.pause(),e({isEnded:!1,isPlaying:!1,pauseTime:Date.now()}))},getPauseTimeDiff:()=>!t().isStarted||!t().pauseTime?0:parseInt(Pn(Date.now()-t().pauseTime).toFixed(0)),play:()=>{const n=t().techRef.current;n&&n.play().then(()=>{e({isEnded:!1,isLoading:!1,isPlaying:!0,isStarted:!0,pauseTime:0})}).catch(()=>{e({isStarted:!1,isEnded:!1,isLoading:!1,isPlaying:!1})})},restart:()=>{t().eventEmitter.emit("restart")},seek:n=>{const r=t().techRef.current;r&&(r.currentTime=n,e({seekTime:-1,currentTime:n,isStarted:!0,isEnded:!1}))},setIsLoading:n=>e({isLoading:n}),setIsLoop:n=>{const r=t().techRef.current;r&&(r.loop=n,e({isLoop:n}))},setStartTime:n=>e({startTime:n}),setVolume:n=>{const r=t().techRef.current;r&&(r.muted=n===0,r.volume=n/100,e({volume:n}))},stop:()=>{t().techRef.current&&e({isPlaying:!1,isLoading:!1})}}),Fn=(e,t)=>({isIdle:!1,setIsIdle:n=>e({isIdle:n}),resetIdle:()=>t().eventEmitter.emit("resetIdle")}),Vn=e=>({idleLocks:new Set,addIdleLock:t=>e(n=>({idleLocks:new Set(n.idleLocks).add(t)})),removeIdleLock:t=>e(n=>{const r=new Set(n.idleLocks);return r.delete(t),{idleLocks:r}})}),An=(e,t)=>({playbackRate:1,setPlaybackRate:n=>{const r=t().techRef.current;r&&(r.playbackRate=n,e({playbackRate:n}))}}),On=(e,t)=>({level:null,levels:null,setLevels:n=>e({levels:n}),setLevel:n=>e({level:n}),logLevel:n=>{n&&t().eventEmitter.emit("qualityChange",{level:n})}}),Hn=(e,t)=>({isFullscreen:!1,isFullscreenReady:!1,exitFullscreen:()=>{t().eventEmitter.emit("fullscreenChange",{isFullscreen:!1}),In(document),e({isFullscreen:!1})},requestFullscreen:()=>{const n=t().techRef.current,r=t().containerRef.current;if(!n||!r)return;t().eventEmitter.emit("fullscreenChange",{isFullscreen:!0});const a=mt?n:r;a&&kn(a),e({isFullscreen:!0})},setIsFullscreen:n=>e({isFullscreen:n}),setIsFullscreenReady:n=>e({isFullscreenReady:n})}),Un=e=>({error:null,setError:t=>e({error:t})}),Bn=()=>({eventEmitter:Nn()}),zn=e=>()=>V({},e),Wn=(e,t)=>Y.create()((...n)=>V(V(V(V(V(V(V(V(V({},Mn(...n)),Fn(...n)),Vn(...n)),An(...n)),On(...n)),Hn(...n)),Un(...n)),Bn(...n)),zn({techRef:e,containerRef:t})(...n))),pt=f.createContext(null);function Yn({children:e}){const t=f.useRef(null),n=f.useRef(null),r=f.useRef(null);return t.current||(t.current=Wn(n,r)),i.jsx(pt.Provider,{value:t.current,children:e})}const h=e=>{const t=f.useContext(pt);if(!t)throw new Error("usePlayerStore must be used within PlayerStoreProvider");return Y.useStore(t,e)},Ue={version:"0.0.60"},Be=11e3,ze={DEBUG:2,INFO:3,WARNING:4};function vt({title:e,id:t,kind:n,delay:r,url:a}){const l=f.useRef(null),u=f.useRef(!1),[s,c]=f.useState(null),d=h(C=>C.eventEmitter),w=h(C=>C.isPlaying),_=a.includes("staging")?"stg":"prd",g=_==="stg"?"https://collector-staging.spectar.tv/ingest":"https://collector.spectar.tv/ingest",N=_==="stg"?"spectar_fitnessanny_staging":"spectar_fitnessanny_production";u.current=w;const R=f.useCallback(async({type:C,message:j,level:P=ze.INFO,duration:B,valueStr1:U,valueStr2:p})=>{const v={content_kind:n,datetime:{date:Sn(),timezone:bn()},installation:N,level_num:P,log_source:"fitnessanny_player",capp_version:Ue.version,message:j,target_index:C==="client"?"client_log":"watching_activity_log"};e&&(v.title=e),t&&(v.value_int1=t),U&&(v.value_str1=U),p&&(v.value_str2=p),C==="watch"&&(B&&(v.interval_duration=B),r&&(v.catchup_time=r));const b=await fetch(g,{method:"POST",body:JSON.stringify(v)});if(!b.ok)throw new Error(`HTTP error! status: ${b.status}`)},[g,r,t,N,n,e]),x=f.useCallback(C=>{l.current=C!=null?C:new Date},[]),S=f.useCallback(async C=>{!C&&l.current&&(C=Rn(l.current,new Date,"milliseconds")),console.log("[Player][Activity]","Watching",C),await R({type:"watch",message:"WATCHING",duration:C})},[R]);return Ce(()=>{S(s),x()},s),f.useEffect(()=>{const C=()=>{c(Be),R({type:"watch",message:"PLAY"}),x()},j=()=>{c(null),R({type:"watch",message:"PAUSE"}),S(),x()},P=()=>{c(Be),R({type:"watch",message:"RESUME"}),x()},B=()=>{c(null),u.current&&(R({type:"watch",message:"STOP"}),S()),c(Be),R({type:"watch",message:"PLAY"}),x()},U=()=>{c(null),R({type:"watch",message:"STOP"}),u.current&&S(),x()},p=({level:b})=>{b&&R({type:"client",message:"QUALITY_CHANGE",level:ze.DEBUG,valueStr1:b})},v=b=>{let I="UNKNOWN_ERROR",A="Unknown error occurred";b instanceof MediaError&&(b.code&&(I=`${b.code}`),b.message&&(A=`${b.message}`)),R({type:"client",message:"ERROR",level:ze.WARNING,valueStr1:I,valueStr2:A})};return d.on("play",C),d.on("pause",j),d.on("resume",P),d.on("restart",B),d.on("ended",U),d.on("qualityChange",p),d.on("error",v),()=>{d.off("play",C),d.off("pause",j),d.off("resume",P),d.off("restart",B),d.off("ended",U),d.off("qualityChange",p),d.off("error",v)}},[d,R,x,S]),null}const Zn=()=>Y.create(e=>({delay:0,startDate:null,viewerCount:null,setDelay:t=>e({delay:t}),setStartDate:t=>e({startDate:t}),setViewerCount:t=>e({viewerCount:t})})),yt=f.createContext(null),Kn=({children:e})=>{const t=f.useRef(null);return t.current||(t.current=Zn()),i.jsx(yt.Provider,{value:t.current,children:e})},H=e=>{const t=f.useContext(yt);if(!t)throw new Error("useLivePlayerStore must be used within PlayerStoreProvider");return Y.useStore(t,e)};function gt(e){try{const n=new URL(e).searchParams,r={};return n.forEach((a,l)=>{r[l]=a}),r}catch(t){return console.error("Invalid URL:",t),{}}}function Gn({url:e}){const{video_id:t}=gt(e),n=H(a=>a.delay),r=t?Number(t):void 0;return r?i.jsx(vt,{kind:n?"catchup":"live",delay:n,url:e,id:r}):null}const oe={playerNotice:"_playerNotice_x3acc_1",playerNoticeTitle:"_playerNoticeTitle_x3acc_19",playerNoticeText:"_playerNoticeText_x3acc_28",playerNoticeLowZIndex:"_playerNoticeLowZIndex_x3acc_37"};function Xn(e){const[,t]=f.useState(0);Ce(()=>t(n=>n+1),e)}function Jn(e){const t=e.split(`
|
|
15
15
|
`);for(const n of t){const r=n.trim();if(r.startsWith("#EXT-X-PROGRAM-DATE-TIME:")){const a=r.replace("#EXT-X-PROGRAM-DATE-TIME:","").trim(),l=new Date(a);if(!isNaN(l.getTime()))return En(l,"Europe/Sarajevo")}}return null}function Qn(e,t){const n=e.split(`
|
|
16
16
|
`);let r=!1;for(const a of n){const l=a.trim();if(l.startsWith("#EXT-X-STREAM-INF:")){r=!0;continue}if(r&&!l.startsWith("#")){if(l.startsWith("http"))return l;{const u=new URL(t);return new URL(l,u.origin+u.pathname.substring(0,u.pathname.lastIndexOf("/"))+"/").toString()}}}return null}function qn(e){return e.replace("playlist.m3u8","playlist_fmp4_dvr.m3u8")}async function $n(e){try{const t=qn(e);console.log("Converting to DVR URL:",t);const n=await fetch(t);if(!n.ok)throw new Error(`Failed to fetch master playlist: ${n.status} ${n.statusText}`);const r=await n.text(),a=Qn(r,t);if(!a)throw new Error("No chunklist URL found in master playlist");console.log("Found chunklist URL:",a);const l=await fetch(a);if(!l.ok)throw new Error(`Failed to fetch chunklist: ${l.status} ${l.statusText}`);const u=await l.text(),s=Jn(u);return s?console.log("Successfully detected start time:",s.toISOString()):console.log(" No start time found in chunklist"),s}catch(t){return console.error("Error getting start time from HLS URL:",t),null}}function er(n){var r=n,{url:e}=r,t=re(r,["url"]);const[a,l]=f.useState(!0),u=H(d=>d.startDate),s=H(d=>d.setStartDate),c=f.useCallback(async()=>{const d=await $n(e);d&&s(d)},[e,s]);return f.useEffect(()=>{(async()=>{l(!0),await c(),l(!1)})()},[c]),Ce(c,u?null:5e3),a?null:i.jsx(tr,V({},t))}function tr({children:e,messages:t}){const n=H(u=>u.startDate),r=h(u=>u.isStarted);return Xn(r?null:5e3),n?Date.now()<n.getTime()?i.jsx(nr,{startDate:n,title:t.eventNotStarted,message:t.eventStartingSoon}):i.jsx(i.Fragment,{children:e}):i.jsx("div",{className:oe.playerNotice,children:i.jsx("h3",{className:oe.playerNoticeTitle,children:t.unableToPlay})})}function nr({startDate:e,title:t,message:n}){const r=e.getTime()-Date.now(),a=Math.floor(r/(1e3*60*60)),l=Math.floor(r%(1e3*60*60)/(1e3*60));return a||l?i.jsxs("div",{className:oe.playerNotice,children:[i.jsx("h3",{className:oe.playerNoticeTitle,children:t}),i.jsxs("p",{className:oe.playerNoticeText,children:["(",a>0?`${a}h ${l}m`:`${l}m`,")"]})]}):i.jsx("div",{className:oe.playerNotice,children:i.jsx("h3",{className:oe.playerNoticeTitle,children:n})})}function wt({callback:e}){const t=h(n=>n.eventEmitter);return f.useEffect(()=>{const n=()=>e("play",void 0),r=()=>e("pause",void 0),a=()=>e("resume",void 0),l=()=>e("restart",void 0),u=()=>e("ended",void 0),s=()=>e("seeking",void 0),c=()=>e("seeked",void 0),d=C=>e("volumeChange",C),w=C=>e("fullscreenChange",C),_=C=>e("qualityChange",C),g=C=>e("loadedMetadata",C),N=()=>e("loadStart",void 0),R=()=>e("playing",void 0),x=()=>e("waiting",void 0),S=()=>e("error",void 0);return t.on("play",n),t.on("pause",r),t.on("resume",a),t.on("restart",l),t.on("ended",u),t.on("seeking",s),t.on("seeked",c),t.on("volumeChange",d),t.on("fullscreenChange",w),t.on("qualityChange",_),t.on("loadedMetadata",g),t.on("loadStart",N),t.on("playing",R),t.on("waiting",x),t.on("error",S),()=>{t.off("play",n),t.off("pause",r),t.off("resume",a),t.off("restart",l),t.off("ended",u),t.off("seeking",s),t.off("seeked",c),t.off("volumeChange",d),t.off("fullscreenChange",w),t.off("qualityChange",_),t.off("loadedMetadata",g),t.off("loadStart",N),t.off("playing",R),t.off("waiting",x),t.off("error",S)}},[e,t]),null}const Ct=(e,t=0)=>parseInt(Math.max(0,(Date.now()-(e+t*1e3))/1e3).toFixed(0)),_t=(e,t)=>Math.max(0,(Date.now()-e-t*1e3)/1e3),rr=(e,t)=>Math.max(0,(t-e)/1e3),or=(e,t=0)=>{const r=t<0?0:t,a=["bytes","kb","mb","gb","tb","pb","eb","zb","yb"],l=Math.floor(Math.log(e)/Math.log(1024));return`${parseFloat((e/Math.pow(1024,l)).toFixed(r))}${a[l]}`};function sr({isAuto:e,level:t,levels:n}){const r=n.length,a=[];return r>1&&a.push({sid:"quality-level-auto",label:"Auto",value:-1,selected:e||t===-1}),n.sort(function(l,u){const s=l.height||l.bitrate||0,c=u.height||u.bitrate||0;return s===c?0:s>c?1:-1}),n.map(l=>{const{bitrate:u,height:s,index:c}=l;a.push({sid:`quality-level-${c}`,label:s?`${s}p`:or(u),value:c,selected:r===1||!e&&c===t})}),a}function ir({callback:e}){const t=H(l=>l.delay),n=H(l=>l.startDate),r=n?n.getTime():0,a=h(l=>l.eventEmitter);return f.useEffect(()=>{const l=()=>e("timeUpdate",{currentTime:_t(r,t),duration:-1});return a.on("timeUpdate",l),()=>{a.off("timeUpdate",l)}},[e,t,a,r]),i.jsx(wt,{callback:e})}function Tt(){const e=h(s=>s.exitFullscreen),t=h(s=>s.isFullscreen),n=h(s=>s.isFullscreenReady),r=h(s=>s.requestFullscreen),a=h(s=>s.setVolume),l=h(s=>s.volume),u=f.useCallback(s=>{let c=!1;if(!(s.target instanceof HTMLInputElement||s.ctrlKey)){switch(s.code){case"ArrowUp":a(l+10<100?l+10:100),c=!0;break;case"ArrowDown":a(l-10>0?l-10:0),c=!0;break;case"KeyM":a(l===0?100:0),c=!0;break;case"KeyF":n&&(t?e():r(),c=!0);break}c&&s.preventDefault()}},[e,t,n,r,a,l]);return f.useEffect(()=>(document.addEventListener("keydown",u),()=>{document.removeEventListener("keydown",u)}),[u]),null}function ar(){const e=H(s=>s.delay),t=h(s=>s.isPlaying),n=h(s=>s.pause),r=h(s=>s.getPauseTimeDiff),a=h(s=>s.play),l=H(s=>s.setDelay),u=f.useCallback(s=>{let c=!1;if(!(s.target instanceof HTMLInputElement||s.ctrlKey)){switch(s.code){case"ArrowLeft":l(e+10),c=!0;break;case"ArrowRight":l(e-10>0?e-10:0),c=!0;break;case"Space":if(t)n();else{const d=r();d&&l(e+d),a()}c=!0;break}c&&s.preventDefault()}},[e,r,t,n,a,l]);return f.useEffect(()=>(document.addEventListener("keydown",u),()=>{document.removeEventListener("keydown",u)}),[u]),i.jsx(Tt,{})}function xt({children:e}){return i.jsx(Yn,{children:e})}function cr({children:e}){return i.jsx(Kn,{children:i.jsx(xt,{children:e})})}function lr({url:e,isLive:t,messages:n}){const r=f.useRef(null),a=h(p=>p.level),l=h(p=>p.levels),u=h(p=>p.setLevel),s=h(p=>p.setLevels),c=h(p=>p.logLevel),d=h(p=>p.techRef),w=h(p=>p.setError),_=f.useRef(0),g=f.useRef(null),N=50,R=1e4,x=f.useCallback(p=>{if(r.current&&(r.current.nextLevel=p,u(null),l)){const v=l.map(b=>pe(V({},b),{selected:b.value===p}));s(v)}},[l,u,s]),S=f.useCallback(()=>{if(!d.current)return;console.log("[Player][HLS] MEDIA_ATTACHING");const p=document.createElement("source");p.src=e,p.type="application/vnd.apple.mpegurl",p.dataset.id="original-stream",d.current.appendChild(p),d.current.disableRemotePlayback=!1},[e,d]),C=f.useCallback(()=>{if(!r.current)return;console.log("[Player][HLS] MANIFEST_LOADED"),w(null),g.current&&(clearTimeout(g.current),g.current=null),_.current=0;const p=r.current.levels,v=r.current.currentLevel,b=r.current.autoLevelEnabled;s(sr({levels:p.map((I,A)=>{const{bitrate:M,height:Q,width:K}=I;return{bitrate:M,height:Q,index:A,width:K}}),level:v,isAuto:b}))},[w,s]),j=f.useCallback(()=>{if(!r.current)return;console.log("[Player][HLS] LEVEL_SWITCHED");const p=r.current.levels,v=r.current.currentLevel;if(p[v]?JSON.stringify(p[v]):null){let I="";p[v].height?I=`${p[v].height}p`:p[v].bitrate&&(I=`${p[v].bitrate}bps`),c(I)}},[c]),P=f.useCallback((p,v)=>{if(r.current&&v.fatal){let b,I="UNKNOWN_ERROR";switch(v.type){case $.ErrorTypes.NETWORK_ERROR:b=n.unableToPlay,console.log("[Player][HLS] NETWORK_ERROR",v),t?(_.current<N&&(g.current&&clearTimeout(g.current),_.current+=1,g.current=setTimeout(()=>{if(r.current)try{console.log("[Player][HLS] Retrying stream..."),r.current.loadSource(e)}catch(A){console.error("[Player][HLS] Retry failed:",A)}},R)),I="LIVE_MANIFEST_LOAD_ERROR"):(r.current.startLoad(),I="NETWORK_ERROR"),w({message:b,code:I,tech:"hls"});break;case $.ErrorTypes.MEDIA_ERROR:r.current.recoverMediaError();break}}},[t,e,w,n]),B=f.useCallback(()=>{if(!d.current)return;const p={startLevel:-1,maxBufferSize:30*1024*1024};Ln?(p.backBufferLength=-1,p.enableWorker=!1):t?p.backBufferLength=10:p.backBufferLength=60;try{console.log("[Player][HLS] URL",e),console.log("[Player][HLS] Config",JSON.stringify(p)),console.log("[Player][HLS] Version",$.version),r.current=new $(p),r.current.on($.Events.MEDIA_ATTACHING,S),r.current.on($.Events.MANIFEST_LOADED,C),r.current.on($.Events.LEVEL_SWITCHED,j),r.current.on($.Events.ERROR,P),r.current.attachMedia(d.current),r.current.loadSource(e)}catch(v){throw new Error(`Error initializing Hls: ${v}`)}},[S,C,j,P,t,d,e]),U=f.useCallback(()=>{if(r.current&&(r.current.off($.Events.MEDIA_ATTACHING,S),r.current.off($.Events.MANIFEST_LOADED,C),r.current.off($.Events.LEVEL_SWITCHED,j),r.current.off($.Events.ERROR,P),r.current.destroy(),r.current=null),d.current){const p=d.current;Array.from(p.children).filter(b=>{var I;return((I=b.dataset)==null?void 0:I.id)==="original-stream"}).forEach(b=>p.removeChild(b))}g.current&&(clearTimeout(g.current),g.current=null),_.current=0},[S,j,C,P,d]);return f.useEffect(()=>{a!==null&&x(a)},[a,x]),f.useEffect(()=>($.isSupported()&&B(),U),[U,B]),null}const ur={playerVideo:"_playerVideo_wc0sm_1"};function Et({url:e,isLive:t,isMuted:n=!1,messages:r}){const a=h(v=>v.destroy),l=h(v=>v.handleDurationChange),u=h(v=>v.handleEnd),s=h(v=>v.handleLoadedMetadata),c=h(v=>v.handleLoadStart),d=h(v=>v.handlePause),w=h(v=>v.handlePlay),_=h(v=>v.handlePlaying),g=h(v=>v.handleSeeked),N=h(v=>v.handleSeeking),R=h(v=>v.handleTimeUpdate),x=h(v=>v.handleWaiting),S=h(v=>v.handleVolumeChange),C=h(v=>v.handleError),j=h(v=>v.techRef),P=f.useRef(null),B=()=>t?{onTimeUpdate:U}:{onDurationChange:l,onSeeked:g,onSeeking:N,onTimeUpdate:U},U=()=>{(!P.current||Date.now()-P.current>=1e3)&&(R(),P.current=Date.now())},p=B();return f.useEffect(()=>()=>{a()},[a]),i.jsxs(i.Fragment,{children:[i.jsx(lr,{isLive:t,url:e,messages:r}),i.jsx("video",V({ref:j,className:ur.playerVideo,playsInline:!0,controls:!1,muted:n,preload:"auto",crossOrigin:"anonymous",onEnded:u,onError:C,onLoadedMetadata:s,onLoadStart:c,onPause:d,onPlay:w,onPlaying:_,onWaiting:x,onVolumeChange:S,tabIndex:-1},p))]})}function dr({url:e,messages:t}){const[n,r]=f.useState(null),a=H(u=>u.delay),l=f.useCallback(async()=>{r(a?e.replace("-live","-catchup").replace("playlist.m3u8",`playlist_fmp4_dvr_timeshift-${a}.m3u8`):e)},[a,e]);return f.useEffect(()=>{const u=requestAnimationFrame(()=>l());return()=>cancelAnimationFrame(u)},[l]),n?i.jsx(Et,{url:n,isLive:!0,messages:t}):null}function fr({url:e}){return h(n=>n.isStarted)?i.jsx(hr,{url:e}):null}function hr({url:e}){const t=H(l=>l.setViewerCount),n=f.useRef(null),r=l=>{try{return new URL(l).pathname.split("/").filter(d=>d.length>0)[0]||null}catch(u){return console.error("Failed to extract URI from player URL:",u),null}},a=f.useCallback(async()=>{var c;const l=r(e);if(!l){console.error("Could not extract URI from URL:",e);return}n.current&&n.current.abort(),n.current=new AbortController;const s=`https://${e.includes("staging")?"stg":"prd"}-fitnessanny.spectar.tv/analytics-api/v1/token-info/uri/${l}`;try{const d=await fetch(s,{signal:n.current.signal});if(!d.ok)throw new Error(`HTTP error! status: ${d.status}`);const _=(c=(await d.json()).count)!=null?c:0;t(_)}catch(d){if(d.name==="AbortError")return;console.error("Failed to fetch viewer count:",d),t(null)}},[t,e]);return f.useEffect(()=>(a(),()=>{n.current&&n.current.abort()}),[a,e]),Ce(a,15e3),null}function mr(e,{defaultValue:t=!1,initializeWithValue:n=!0}={}){const r=s=>typeof window=="undefined"?t:window.matchMedia(s).matches,[a,l]=f.useState(()=>n?r(e):t);function u(){l(r(e))}return dt(()=>{if(typeof window=="undefined")return;const s=window.matchMedia(e);return u(),s.addListener?s.addListener(u):s.addEventListener("change",u),()=>{s.removeListener?s.removeListener(u):s.removeEventListener("change",u)}},[e]),a}const ue={playbackButton:"_playbackButton_lgsgw_1",seekIndicator:"_seekIndicator_lgsgw_23",seekIndicatorLeft:"_seekIndicatorLeft_lgsgw_49",seekIndicatorRight:"_seekIndicatorRight_lgsgw_53",seekIndicatorVisible:"_seekIndicatorVisible_lgsgw_57"},pr=10;function Rt(s){var c=s,{className:e,onClick:t,onForwardSeek:n,onBackwardSeek:r,maxForwardTime:a,maxBackwardTime:l}=c,u=re(c,["className","onClick","onForwardSeek","onBackwardSeek","maxForwardTime","maxBackwardTime"]);return mr("(pointer: coarse)")?i.jsx(yr,V({className:e,maxForwardTime:a,maxBackwardTime:l,onForwardSeek:n,onBackwardSeek:r},u)):i.jsx(vr,V({className:e,onClick:t},u))}function vr(r){var a=r,{className:e,onClick:t}=a,n=re(a,["className","onClick"]);const l=f.useRef(null),u=h(x=>x.exitFullscreen),s=h(x=>x.isFullscreen),c=h(x=>x.requestFullscreen),d=h(x=>x.resetIdle),w=x=>{N()?(g(),s?u():c()):_(x)},_=x=>{l.current=window.setTimeout(()=>{t==null||t(x),g()},200)},g=()=>{l.current!==null&&(window.clearTimeout(l.current),l.current=null)},N=()=>l.current!==null,R=()=>{d()};return f.useEffect(()=>()=>{g()},[]),i.jsx("button",V({onClick:w,onMouseMove:R,className:[ue.playbackButton,e].filter(Boolean).join(" "),"aria-label":"Player gestures"},n))}function yr(u){var s=u,{className:e,maxForwardTime:t,maxBackwardTime:n,onForwardSeek:r,onBackwardSeek:a}=s,l=re(s,["className","maxForwardTime","maxBackwardTime","onForwardSeek","onBackwardSeek"]);const c=f.useRef(null),d=f.useRef({single:null,indicator:null,accumulate:null}),w=f.useRef(null),_=f.useRef(0),g=f.useRef(null),[N,R]=f.useState({visible:!1,direction:null,time:0}),x=h(p=>p.isIdle),S=h(p=>p.setIsIdle),C=h(p=>p.resetIdle),j=(p,v)=>p<v/2?"backward":"forward",P=p=>{if(!w.current)return;const v=p.changedTouches[0];if(!v)return;const b=Date.now(),I=w.current.getBoundingClientRect(),A=v.clientX-I.left,M=v.clientY-I.top;if(A<0||A>I.width||M<0||M>I.height)return;const Q=c.current,K=Q?b-Q.time:1/0,G=j(A,I.width),ie=g.current!==null&&g.current===G&&Q!==null&&K<700&&Math.abs(A-Q.x)<100;if(Q!==null&&g.current===null&&K<300&&Math.abs(A-Q.x)<50||ie){p.preventDefault(),p.stopPropagation(),d.current.single&&(window.clearTimeout(d.current.single),d.current.single=null),C(),(g.current===null||g.current!==G)&&(_.current=0,g.current=G);const ne=G==="backward"?n:t;_.current=Math.min(_.current+pr,ne!=null?ne:1/0),B(G,_.current),d.current.accumulate&&window.clearTimeout(d.current.accumulate),d.current.accumulate=window.setTimeout(()=>{const X=_.current;X>0&&(g.current==="backward"?a==null||a(X):r==null||r(X),C()),_.current=0,g.current=null,c.current=null,U(),d.current.accumulate=null},500),c.current={time:b,x:A}}else{c.current={time:b,x:A},d.current.single&&window.clearTimeout(d.current.single);const ne=g.current!==null?700:350;d.current.single=window.setTimeout(()=>{if(g.current===null){d.current.single=null;const X=x;S(!X),X&&C()}c.current=null},ne)}},B=(p,v)=>{v!==0&&(R({visible:!0,direction:p,time:v}),d.current.indicator&&window.clearTimeout(d.current.indicator),d.current.indicator=window.setTimeout(()=>{U()},700))},U=()=>{R({visible:!1,direction:null,time:0}),d.current.indicator&&(window.clearTimeout(d.current.indicator),d.current.indicator=null)};return f.useEffect(()=>{const p=d.current;return()=>{p!=null&&p.single&&window.clearTimeout(p.single),p!=null&&p.indicator&&window.clearTimeout(p.indicator),p!=null&&p.accumulate&&window.clearTimeout(p.accumulate)}},[]),i.jsxs(i.Fragment,{children:[i.jsx("button",V({ref:w,onTouchEnd:P,className:[ue.playbackButton,e].filter(Boolean).join(" "),"aria-label":"Player gestures"},l)),N.visible&&i.jsxs("div",{className:`${ue.seekIndicator} ${ue.seekIndicatorVisible} ${N.direction==="backward"?ue.seekIndicatorLeft:ue.seekIndicatorRight}`,children:[N.direction==="backward"?"-":"+",_e(N.time)]})]})}function gr(){const e=h(c=>c.isPlaying),t=h(c=>c.pause),n=h(c=>c.getPauseTimeDiff),r=h(c=>c.play),a=H(c=>c.delay),l=H(c=>c.setDelay),u=H(c=>c.startDate),s=u?u.getTime():0;return i.jsx(Rt,{onClick:()=>{if(e)t();else{const c=n();c&&l(a+c),r()}},onBackwardSeek:c=>{const d=a+c;l(d)},onForwardSeek:c=>{const d=Math.max(0,a-c);l(d)},maxBackwardTime:Math.floor(s),maxForwardTime:Math.floor(a)})}const St={playerButton:"_playerButton_izwqq_1",playerButtonCircle:"_playerButtonCircle_izwqq_42"},ae=f.forwardRef((a,r)=>{var l=a,{shape:e="circle",className:t}=l,n=re(l,["shape","className"]);const u=e==="circle"?St.playerButtonCircle:"",s=[St.playerButton,u,t].filter(Boolean).join(" ");return i.jsx("button",V({ref:r,className:s},n))});ae.displayName="PlayerButton";const be={liveIndicator:"_liveIndicator_1jczn_1",liveIndicatorHasDelay:"_liveIndicatorHasDelay_1jczn_9",liveIndicatorNoDelay:"_liveIndicatorNoDelay_1jczn_13"};function wr(n){var r=n,{message:e}=r,t=re(r,["message"]);const a=h(d=>d.restart),l=H(d=>d.delay),u=H(d=>d.setDelay),s=()=>{l&&(a(),u(0))},c=l?`${be.liveIndicator} ${be.liveIndicatorHasDelay}`:`${be.liveIndicator} ${be.liveIndicatorNoDelay}`;return i.jsxs(ae,pe(V({onClick:s,shape:"square"},t),{children:[i.jsx("div",{className:c}),e||"Live"]}))}function bt(){return i.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:i.jsx("path",{d:"M6 5H8V19H6V5ZM16 5H18V19H16V5Z"})})}function Pt(){return i.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:i.jsx("path",{d:"M19.376 12.4161L8.77735 19.4818C8.54759 19.635 8.23715 19.5729 8.08397 19.3432C8.02922 19.261 8 19.1645 8 19.0658V4.93433C8 4.65818 8.22386 4.43433 8.5 4.43433C8.59871 4.43433 8.69522 4.46355 8.77735 4.5183L19.376 11.584C19.6057 11.7372 19.6678 12.0477 19.5146 12.2774C19.478 12.3323 19.4309 12.3795 19.376 12.4161Z"})})}function Cr(){const e=h(s=>s.isPlaying),t=h(s=>s.pause),n=h(s=>s.getPauseTimeDiff),r=h(s=>s.play),a=H(s=>s.delay),l=H(s=>s.setDelay),u=()=>{if(e)t();else{const s=n();s&&l(a+s),r()}};return i.jsx(ae,{onClick:u,children:e?i.jsx(bt,{}):i.jsx(Pt,{})})}const se={progressSlider:"_progressSlider_hwzgf_1",tipContainer:"_tipContainer_hwzgf_7",tipContainerVisible:"_tipContainerVisible_hwzgf_17",tipContainerHidden:"_tipContainerHidden_hwzgf_22",tipContent:"_tipContent_hwzgf_27"},Pe={sliderRoot:"_sliderRoot_aeak6_1",sliderTrack:"_sliderTrack_aeak6_18",sliderRange:"_sliderRange_aeak6_28",sliderThumb:"_sliderThumb_aeak6_37"},Le=f.forwardRef((l,a)=>{var u=l,{max:e=100,min:t=0,className:n}=u,r=re(u,["max","min","className"]);return i.jsxs(Ee.Root,pe(V({ref:a,min:t,max:e,"aria-label":"Player progress",className:[Pe.sliderRoot,n].filter(Boolean).join(" "),onKeyDown:s=>s.preventDefault()},r),{children:[i.jsx(Ee.Track,{className:Pe.sliderTrack,children:i.jsx(Ee.Range,{className:Pe.sliderRange})}),i.jsx(Ee.Thumb,{className:Pe.sliderThumb})]}))});Le.displayName="PlayerSlider";function je(e){const t=e.getBoundingClientRect();return e.offsetWidth/e.offsetHeight>e.clientWidth/e.clientHeight?{left:t.left*100,right:t.right*100,top:t.top*100,bottom:t.bottom*100,width:t.width*100,height:t.height*100}:t}const Lt="vod-player-progress-bar";function _r(){const e=f.useRef(null),t=f.useRef(null),[n,r]=f.useState(0),[a,l]=f.useState(0),[u,s]=f.useState(!1),[c,d]=f.useState(-1),[w,_]=f.useState(-1),g=H(M=>M.delay),N=H(M=>M.startDate),R=N?N.getTime():0,x=new Date().getTime(),S=H(M=>M.setDelay),C=h(M=>M.isPlaying),j=h(M=>M.addIdleLock),P=h(M=>M.removeIdleLock),B=f.useCallback(()=>{r(_t(R,g)),l(rr(R,x))},[g,x,R]),U=parseFloat((a?(w!==-1?w:n)/a*100:0).toFixed(1)),p=M=>{_(a*(M[0]/100)),j(Lt)},v=()=>{if(w!==-1){const M=Ct(R,w);S(M),_(-1),P(Lt)}},b=()=>s(!0),I=()=>s(!1),A=f.useCallback(M=>{const Q=e.current,K=t.current;if(Q&&K){const G=je(Q),ie=je(K),fe=(M.pageX||M.clientX)-G.left,ne=fe/G.width;if(ne<0)return;let X=fe-ie.width/2;X<0&&(X=0),X>G.width-ie.width&&(X=-1),K.style.left=X>-1?`${X}px`:"auto",K.style.right=X>-1?"auto":"0px";const Te=a-ne*a;d(Te>0?Te:0)}b()},[a]);return Ce(()=>B(),C?1e3:null),f.useEffect(()=>{const M=requestAnimationFrame(()=>B());return()=>cancelAnimationFrame(M)},[B]),i.jsxs("div",{className:se.progressSlider,children:[i.jsx(Le,{ref:e,value:[U],onPointerLeave:I,onPointerDown:I,onPointerMove:A,onValueChange:p,onValueCommit:v,step:.1}),i.jsx("div",{ref:t,className:`${se.tipContainer} ${u?se.tipContainerVisible:se.tipContainerHidden}`,children:i.jsx("p",{className:se.tipContent,children:`-${_e(c)}`})})]})}function Tr(){return i.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:i.jsx("path",{d:"M22 12C22 17.5228 17.5229 22 12 22C6.4772 22 2 17.5228 2 12C2 6.47715 6.4772 2 12 2V4C7.5817 4 4 7.58172 4 12C4 16.4183 7.5817 20 12 20C16.4183 20 20 16.4183 20 12C20 9.53614 18.8862 7.33243 17.1346 5.86492L15 8V2L21 2L18.5535 4.44656C20.6649 6.28002 22 8.9841 22 12Z"})})}function xr(){const e=H(a=>a.startDate),t=H(a=>a.setDelay),n=e?e.getTime():0,r=()=>t(Ct(n));return i.jsx(ae,{onClick:r,children:i.jsx(Tr,{})})}const ke={viewersContainer:"_viewersContainer_z1ihz_1",viewersIndicator:"_viewersIndicator_z1ihz_16",viewersIcon:"_viewersIcon_z1ihz_24",viewersCount:"_viewersCount_z1ihz_28"};function Er(){const e=H(t=>t.viewerCount);return e?i.jsxs("div",{className:ke.viewersContainer,children:[i.jsx("span",{className:ke.viewersIndicator}),i.jsxs("svg",{className:ke.viewersIcon,width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[i.jsx("path",{d:"M8 7C9.10457 7 10 6.10457 10 5C10 3.89543 9.10457 3 8 3C6.89543 3 6 3.89543 6 5C6 6.10457 6.89543 7 8 7Z",fill:"currentColor"}),i.jsx("path",{d:"M8 8C5.79086 8 4 9.79086 4 12V13H12V12C12 9.79086 10.2091 8 8 8Z",fill:"currentColor"})]}),i.jsx("span",{className:ke.viewersCount,children:e.toLocaleString()})]}):null}function jt(){const e=h(n=>n.error);if(!e)return null;const t=e.code==="LIVE_MANIFEST_LOAD_ERROR";return i.jsx("div",{className:`${oe.playerNotice} ${t?oe.playerNoticeLowZIndex:""}`,children:i.jsx("h3",{className:oe.playerNoticeTitle,children:e.message})})}const Z={playerContainer:"_playerContainer_146tx_1",controlsTop:"_controlsTop_146tx_12",controlsBottom:"_controlsBottom_146tx_29",controlsContainer:"_controlsContainer_146tx_45",controlsRow:"_controlsRow_146tx_61",controlsSection:"_controlsSection_146tx_68",controlsSectionStart:"_controlsSectionStart_146tx_78",controlsSectionEnd:"_controlsSectionEnd_146tx_82"};function Rr(){return i.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:i.jsx("path",{d:"M16 3H22V9H20V5H16V3ZM2 3H8V5H4V9H2V3ZM20 19V15H22V21H16V19H20ZM4 19H8V21H2V15H4V19Z"})})}function Sr(){return i.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:i.jsx("path",{d:"M18 7H22V9H16V3H18V7ZM8 9H2V7H6V3H8V9ZM18 17V21H16V15H22V17H18ZM8 15V21H6V17H2V15H8Z"})})}function kt(){const e=h(d=>d.containerRef),t=h(d=>d.exitFullscreen),n=h(d=>d.isFullscreen),r=h(d=>d.requestFullscreen),a=h(d=>d.setIsFullscreen),l=h(d=>d.setIsFullscreenReady),u=h(d=>d.techRef),s=f.useCallback(d=>{d.stopPropagation(),a(jn())},[a]),c=()=>{n?t():r()};return f.useEffect(()=>{const d=mt?u.current:e.current;if(d)return Dn(d,s)},[e,s,u]),f.useEffect(()=>{l(!0)},[l]),i.jsx(ae,{onClick:c,children:n?i.jsx(Sr,{}):i.jsx(Rr,{})})}const We={idleCheckContainer:"_idleCheckContainer_crh2s_1",idleCheckContainerIdle:"_idleCheckContainerIdle_crh2s_5",idleCheckContainerActive:"_idleCheckContainerActive_crh2s_11"},br=5*1e3;function It({children:e}){const t=f.useRef(null),n=h(g=>g.isIdle),r=h(g=>g.setIsIdle),a=f.useRef(null),u=h(g=>g.idleLocks).size,s=h(g=>g.eventEmitter),c=f.useCallback(()=>{a.current!==null&&(window.clearTimeout(a.current),a.current=null)},[]),d=f.useCallback(()=>{c(),a.current=window.setTimeout(()=>r(!0),br)},[c,r]);f.useEffect(()=>(r(!1),d(),()=>{c()}),[c,r,d]),f.useEffect(()=>{const g=()=>{r(!1),d()};return s.on("resetIdle",g),()=>{s.off("resetIdle",g)}},[s,r,d]);const w=n&&!u,_=`${We.idleCheckContainer} ${w?We.idleCheckContainerIdle:We.idleCheckContainerActive}`;return i.jsx("div",{ref:t,className:_,children:e})}const Pr={spinner:"_spinner_oo4hi_10"};function Lr(e){return i.jsx("div",V({className:Pr.spinner},e))}function jr(e,t=500){const[n,r]=f.useState(e);return f.useEffect(()=>{const a=window.setTimeout(()=>r(e),t);return()=>{window.clearTimeout(a)}},[e,t]),n}const kr={loadingContainer:"_loadingContainer_v9v7r_1"};function Dt(n){var r=n,{style:e}=r,t=re(r,["style"]);const a=h(u=>u.isLoading);return jr(a,100)?i.jsx("div",pe(V({className:kr.loadingContainer,style:e},t),{children:i.jsx(Lr,{})})):null}function Nt(){return i.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:i.jsx("path",{d:"M9.9997 15.1709L19.1921 5.97852L20.6063 7.39273L9.9997 17.9993L3.63574 11.6354L5.04996 10.2212L9.9997 15.1709Z"})})}function Ir(){return i.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:i.jsx("path",{d:"M4 5V19H20V5H4ZM3 3H21C21.5523 3 22 3.44772 22 4V20C22 20.5523 21.5523 21 21 21H3C2.44772 21 2 20.5523 2 20V4C2 3.44772 2.44772 3 3 3ZM7.5 11.25H9.5V9H11V15H9.5V12.75H7.5V15H6V9H7.5V11.25ZM14.5 10.5V13.5H16C16.2761 13.5 16.5 13.2761 16.5 13V11C16.5 10.7239 16.2761 10.5 16 10.5H14.5ZM13 9H16C17.1046 9 18 9.89543 18 11V13C18 14.1046 17.1046 15 16 15H13V9Z"})})}const de={dropdownMenuContent:"_dropdownMenuContent_zi433_1",dropdownMenuItem:"_dropdownMenuItem_zi433_77",scrollAreaRoot:"_scrollAreaRoot_zi433_120",scrollAreaViewport:"_scrollAreaViewport_zi433_127",scrollAreaScrollbar:"_scrollAreaScrollbar_zi433_133",scrollAreaThumb:"_scrollAreaThumb_zi433_160"},Mt=ve.Root,Ft=ve.Trigger,Vt=ve.Portal,Ye=f.forwardRef((l,a)=>{var u=l,{sideOffset:e=4,className:t,children:n}=u,r=re(u,["sideOffset","className","children"]);return i.jsx(ve.Content,pe(V({ref:a,sideOffset:e,className:[de.dropdownMenuContent,t].filter(Boolean).join(" "),onOpenAutoFocus:s=>{s.preventDefault()},onCloseAutoFocus:s=>{s.preventDefault()}},r),{children:i.jsxs(Re.Root,{className:de.scrollAreaRoot,type:"always",scrollHideDelay:0,children:[i.jsx(Re.Viewport,{className:de.scrollAreaViewport,children:n}),i.jsx(Re.Scrollbar,{className:de.scrollAreaScrollbar,orientation:"vertical",children:i.jsx(Re.Thumb,{className:de.scrollAreaThumb})})]})}))});Ye.displayName="PlayerMenuContent";const Ze=f.forwardRef((a,r)=>{var l=a,{className:e,onClick:t}=l,n=re(l,["className","onClick"]);const u=c=>{t==null||t(c)},s=c=>{(c.key==="Enter"||c.key===" ")&&(c.preventDefault(),t==null||t(c))};return i.jsx(ve.Close,{asChild:!0,children:i.jsx("div",V({ref:r,className:[de.dropdownMenuItem,e].filter(Boolean).join(" "),role:"menuitem",tabIndex:0,onClick:u,onKeyDown:s},n))})});Ze.displayName="PlayerMenuItem";const At="quality";function Ot(){const[e,t]=f.useState(!1),n=h(c=>c.containerRef),r=h(c=>c.addIdleLock),a=h(c=>c.removeIdleLock),l=h(c=>c.levels),u=h(c=>c.setLevel),s=f.useCallback(c=>{t(c),c?r(At):a(At)},[r,a]);return!l||l.length===0?null:i.jsxs(Mt,{open:e,onOpenChange:s,children:[i.jsx(Ft,{asChild:!0,children:i.jsx(ae,{children:i.jsx(Ir,{})})}),i.jsx(Vt,{container:n.current,children:i.jsx(Ye,{side:"top",align:"end",children:l.map(c=>i.jsxs(Ze,{onClick:()=>u(c.value),children:[c.label,c.selected&&i.jsx(Nt,{})]},c.sid))})})]})}function Dr(){return i.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:i.jsx("path",{d:"M6.60282 10.0001L10 7.22056V16.7796L6.60282 14.0001H3V10.0001H6.60282ZM2 16.0001H5.88889L11.1834 20.3319C11.2727 20.405 11.3846 20.4449 11.5 20.4449C11.7761 20.4449 12 20.2211 12 19.9449V4.05519C12 3.93977 11.9601 3.8279 11.887 3.73857C11.7121 3.52485 11.3971 3.49335 11.1834 3.66821L5.88889 8.00007H2C1.44772 8.00007 1 8.44778 1 9.00007V15.0001C1 15.5524 1.44772 16.0001 2 16.0001ZM23 12C23 15.292 21.5539 18.2463 19.2622 20.2622L17.8445 18.8444C19.7758 17.1937 21 14.7398 21 12C21 9.26016 19.7758 6.80629 17.8445 5.15557L19.2622 3.73779C21.5539 5.75368 23 8.70795 23 12ZM18 12C18 10.0883 17.106 8.38548 15.7133 7.28673L14.2842 8.71584C15.3213 9.43855 16 10.64 16 12C16 13.36 15.3213 14.5614 14.2842 15.2841L15.7133 16.7132C17.106 15.6145 18 13.9116 18 12Z"})})}function Nr(){return i.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:i.jsx("path",{d:"M13 7.22056L9.60282 10.0001H6V14.0001H9.60282L13 16.7796V7.22056ZM8.88889 16.0001H5C4.44772 16.0001 4 15.5524 4 15.0001V9.00007C4 8.44778 4.44772 8.00007 5 8.00007H8.88889L14.1834 3.66821C14.3971 3.49335 14.7121 3.52485 14.887 3.73857C14.9601 3.8279 15 3.93977 15 4.05519V19.9449C15 20.2211 14.7761 20.4449 14.5 20.4449C14.3846 20.4449 14.2727 20.405 14.1834 20.3319L8.88889 16.0001ZM18.8631 16.5911L17.4411 15.1691C18.3892 14.4376 19 13.2902 19 12.0001C19 10.5697 18.2493 9.31476 17.1203 8.60766L18.5589 7.16906C20.0396 8.26166 21 10.0187 21 12.0001C21 13.8422 20.1698 15.4905 18.8631 16.5911Z"})})}function Mr(){return i.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:i.jsx("path",{d:"M10 7.22056L6.60282 10.0001H3V14.0001H6.60282L10 16.7796V7.22056ZM5.88889 16.0001H2C1.44772 16.0001 1 15.5524 1 15.0001V9.00007C1 8.44778 1.44772 8.00007 2 8.00007H5.88889L11.1834 3.66821C11.3971 3.49335 11.7121 3.52485 11.887 3.73857C11.9601 3.8279 12 3.93977 12 4.05519V19.9449C12 20.2211 11.7761 20.4449 11.5 20.4449C11.3846 20.4449 11.2727 20.405 11.1834 20.3319L5.88889 16.0001ZM20.4142 12.0001L23.9497 15.5356L22.5355 16.9498L19 13.4143L15.4645 16.9498L14.0503 15.5356L17.5858 12.0001L14.0503 8.46454L15.4645 7.05032L19 10.5859L22.5355 7.05032L23.9497 8.46454L20.4142 12.0001Z"})})}const Ht={volumeContainer:"_volumeContainer_4d6jg_1",volumeSlider:"_volumeSlider_4d6jg_8"},Ut="volume";function Bt(){const e=h(s=>s.setVolume),t=h(s=>s.volume),n=h(s=>s.addIdleLock),r=h(s=>s.removeIdleLock),a=s=>{e(s[0]),n(Ut)},l=()=>{r(Ut)},u=()=>e(t?0:100);return i.jsxs("div",{className:Ht.volumeContainer,children:[i.jsx(ae,{onClick:u,className:"shrink-0",children:t?t>50?i.jsx(Dr,{}):i.jsx(Nr,{}):i.jsx(Mr,{})}),i.jsx("div",{className:Ht.volumeSlider,children:i.jsx(Le,{value:[t],onValueChange:a,onValueCommit:l})})]})}function Fr(e){return i.jsx(cr,{children:i.jsx(Vr,V({},e))})}function Vr({url:e,messages:t={},onEvent:n}){var l,u,s,c;const r=h(d=>d.containerRef),a={eventNotStarted:"Event has not started yet.",eventStartingSoon:"Starting in few seconds...",unableToPlay:"Unable to play the live stream. Please try again later."};return f.useEffect(()=>{console.log(`[Player][Live] Version: ${Ue.version}`)},[]),i.jsxs("div",{ref:r,className:Z.playerContainer,children:[i.jsxs(er,{url:e,messages:{eventNotStarted:(l=t==null?void 0:t.eventNotStarted)!=null?l:a.eventNotStarted,eventStartingSoon:(u=t==null?void 0:t.eventStartingSoon)!=null?u:a.eventStartingSoon,unableToPlay:(s=t==null?void 0:t.unableToPlay)!=null?s:a.unableToPlay},children:[i.jsx(dr,{url:e,messages:{unableToPlay:(c=t==null?void 0:t.unableToPlay)!=null?c:a.unableToPlay}}),i.jsx(jt,{}),i.jsx(Dt,{}),i.jsx(gr,{}),i.jsxs(It,{children:[i.jsx("div",{className:Z.controlsTop,children:i.jsx("div",{className:Z.controlsContainer,children:i.jsx("div",{className:Z.controlsRow,children:i.jsx(Er,{})})})}),i.jsx("div",{className:Z.controlsBottom,children:i.jsxs("div",{className:Z.controlsContainer,children:[i.jsx(_r,{}),i.jsxs("div",{className:Z.controlsRow,children:[i.jsxs("div",{className:`${Z.controlsSection} ${Z.controlsSectionStart}`,children:[i.jsx(Cr,{}),i.jsx(xr,{}),i.jsx(Bt,{})]}),i.jsxs("div",{className:`${Z.controlsSection} ${Z.controlsSectionEnd}`,children:[i.jsx(wr,{message:t==null?void 0:t.live}),i.jsx(Ot,{}),i.jsx(kt,{})]})]})]})})]}),i.jsx(Gn,{url:e}),i.jsx(ar,{}),i.jsx(fr,{url:e})]}),n&&i.jsx(ir,{callback:n})]})}const Ar=[.5,.75,1,1.25,1.5,1.75,2],zt="playback-rate";function Or(){const[e,t]=f.useState(!1),n=h(c=>c.containerRef),r=h(c=>c.addIdleLock),a=h(c=>c.removeIdleLock),l=h(c=>c.playbackRate),u=h(c=>c.setPlaybackRate),s=f.useCallback(c=>{t(c),c?r(zt):a(zt)},[r,a]);return i.jsxs(Mt,{open:e,onOpenChange:s,children:[i.jsx(Ft,{asChild:!0,children:i.jsxs(ae,{children:[l,"x"]})}),i.jsx(Vt,{container:n.current,children:i.jsx(Ye,{side:"top",align:"end",children:Ar.map(c=>i.jsxs(Ze,{onClick:()=>u(c),children:[c,"x",l===c&&i.jsx(Nt,{})]},c))})})]})}function Hr(){const e=h(u=>u.isPlaying),t=h(u=>u.pause),n=h(u=>u.play),r=h(u=>u.currentTime),a=h(u=>u.duration),l=h(u=>u.seek);return i.jsx(Rt,{onClick:()=>{e?t():n()},onBackwardSeek:u=>{const s=Math.max(0,r-u);l(s)},onForwardSeek:u=>{const s=Math.min(r+u,a);l(s)},maxBackwardTime:Math.floor(r),maxForwardTime:Math.floor(a-r)})}function Ur(){const e=h(a=>a.isPlaying),t=h(a=>a.pause),n=h(a=>a.play),r=()=>{e?t():n()};return i.jsx(ae,{onClick:r,children:e?i.jsx(bt,{}):i.jsx(Pt,{})})}const Wt="vod-player-progress-bar";function Br(){const e=f.useRef(null),t=f.useRef(null),[n,r]=f.useState(!1),[a,l]=f.useState(-1),[u,s]=f.useState(-1),c=h(P=>P.currentTime),d=h(P=>P.duration),w=h(P=>P.seek),_=h(P=>P.addIdleLock),g=h(P=>P.removeIdleLock),N=parseFloat((d?(u!==-1?u:c)/d*100:0).toFixed(1)),R=P=>{s(d*(P[0]/100)),_(Wt)},x=()=>{u!==-1&&(w(u),s(-1),g(Wt))},S=()=>r(!0),C=()=>r(!1),j=f.useCallback(P=>{const B=e.current,U=t.current;if(B&&U){const p=je(B),v=je(U),b=(P.pageX||P.clientX)-p.left,I=b/p.width;if(I<0)return;let A=b-v.width/2;A<0&&(A=0),A>p.width-v.width&&(A=-1),U.style.left=A>-1?`${A}px`:"auto",U.style.right=A>-1?"auto":"0px",l(I*d)}S()},[d]);return i.jsxs("div",{className:se.progressSlider,children:[i.jsx(Le,{ref:e,value:[N],onPointerLeave:C,onPointerDown:C,onPointerMove:j,onValueChange:R,onValueCommit:x,step:.1}),i.jsx("div",{ref:t,className:`${se.tipContainer} ${n?se.tipContainerVisible:se.tipContainerHidden}`,children:i.jsx("p",{className:se.tipContent,children:_e(a)})})]})}const Ie={remainingTimeContainer:"_remainingTimeContainer_1yyhb_1",remainingTime:"_remainingTime_1yyhb_1",remainingSeparator:"_remainingSeparator_1yyhb_17"};function zr(){const e=h(n=>n.currentTime),t=h(n=>n.duration);return i.jsxs("div",{className:Ie.remainingTimeContainer,children:[i.jsx("p",{className:Ie.remainingTime,children:_e(e)}),i.jsx("p",{className:Ie.remainingSeparator}),i.jsx("p",{className:Ie.remainingTime,children:_e(t)})]})}function Wr({url:e}){const{video_id:t}=gt(e),n=t?Number(t):void 0;return n?i.jsx(vt,{kind:"vod",url:e,id:n}):null}function Yr({callback:e}){const t=h(n=>n.eventEmitter);return f.useEffect(()=>{const n=r=>e("timeUpdate",r);return t.on("timeUpdate",n),()=>{t.off("timeUpdate",n)}},[e,t]),i.jsx(wt,{callback:e})}function Zr(){const e=h(s=>s.currentTime),t=h(s=>s.duration),n=h(s=>s.isPlaying),r=h(s=>s.pause),a=h(s=>s.play),l=h(s=>s.seek),u=f.useCallback(s=>{let c=!1;if(!(s.target instanceof HTMLInputElement||s.ctrlKey)){switch(s.code){case"ArrowLeft":l(e-10>=0?e-10:0),c=!0;break;case"ArrowRight":l(e+10<t?e+10:t),c=!0;break;case"Space":n?r():a(),c=!0;break}c&&s.preventDefault()}},[e,t,n,r,a,l]);return f.useEffect(()=>(document.addEventListener("keydown",u),()=>{document.removeEventListener("keydown",u)}),[u]),i.jsx(Tt,{})}function Kr(e){return i.jsx(xt,{children:i.jsx(Gr,V({},e))})}function Gr({url:e,messages:t,onEvent:n,startTime:r}){var s;const a=h(c=>c.setStartTime),l=h(c=>c.containerRef),u={unableToPlay:"Unable to play the video. Please try again later."};return f.useEffect(()=>{r&&a(r)},[r,a]),f.useEffect(()=>{console.log(`[Player][VOD] Version: ${Ue.version}`)},[]),i.jsxs("div",{ref:l,className:Z.playerContainer,children:[i.jsx(Et,{url:e,isLive:!1,messages:{unableToPlay:(s=t==null?void 0:t.unableToPlay)!=null?s:u.unableToPlay}}),i.jsx(jt,{}),i.jsx(Dt,{}),i.jsx(Hr,{}),i.jsx(It,{children:i.jsx("div",{className:Z.controlsBottom,children:i.jsxs("div",{className:Z.controlsContainer,children:[i.jsx(Br,{}),i.jsxs("div",{className:Z.controlsRow,children:[i.jsxs("div",{className:`${Z.controlsSection} ${Z.controlsSectionStart}`,children:[i.jsx(Ur,{}),i.jsx(Bt,{}),i.jsx(zr,{})]}),i.jsxs("div",{className:`${Z.controlsSection} ${Z.controlsSectionEnd}`,children:[i.jsx(Or,{}),i.jsx(Ot,{}),i.jsx(kt,{})]})]})]})})}),i.jsx(Zr,{}),i.jsx(Wr,{url:e}),n&&i.jsx(Yr,{callback:n})]})}k.LivePlayer=Fr,k.VodPlayer=Kr,Object.defineProperty(k,Symbol.toStringTag,{value:"Module"})}));
|
|
17
17
|
//# sourceMappingURL=react-video-player.umd.js.map
|