@mux/mux-player-react
Version:
An open source Mux player for React that Just Works™
3 lines (2 loc) • 3.78 kB
JavaScript
"use client";import c,{useEffect as pe,useState as de}from"react";import{MaxResolution as Oe,MinResolution as Ge,RenditionOrder as we,generatePlayerInitTime as me}from"@mux/playback-core";import{MediaError as Ie}from"@mux/mux-player";import Q from"react";var m=parseInt(Q.version)>=19,d={className:"class",classname:"class",htmlFor:"for",crossOrigin:"crossorigin",viewBox:"viewBox",playsInline:"playsinline",autoPlay:"autoplay",playbackRate:"playbackrate"},X=e=>e==null,B=(e,n)=>X(n)?!1:e in n,ee=e=>e.replace(/[A-Z]/g,n=>`-${n.toLowerCase()}`),ne=(e,n)=>{if(!(!m&&typeof n=="boolean"&&!n)){if(B(e,d))return d[e];if(typeof n!="undefined")return/[A-Z]/.test(e)?ee(e):e}};var te=(e,n)=>!m&&typeof e=="boolean"?"":e,E=(e={})=>Object.entries(e).reduce((n,[t,o])=>{let r=ne(t,o);if(!r)return n;let i=te(o,t);return n[r]=i,n},{});import{useRef as Ee}from"react";import{useEffect as ae,useRef as re}from"react";var g=(...e)=>{let n=re(null);return ae(()=>{e.forEach(t=>{t&&(typeof t=="function"?t(n.current):t.current=n.current)})},[e]),n};import{useEffect as oe}from"react";var ie=Object.prototype.hasOwnProperty,se=(e,n)=>{if(Object.is(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;if(Array.isArray(e))return!Array.isArray(n)||e.length!==n.length?!1:e.some((r,i)=>n[i]===r);let t=Object.keys(e),o=Object.keys(n);if(t.length!==o.length)return!1;for(let r=0;r<t.length;r++)if(!ie.call(n,t[r])||!Object.is(e[t[r]],n[t[r]]))return!1;return!0},p=(e,n,t)=>!se(n,e[t]),le=(e,n,t)=>{e[t]=n},ue=(e,n,t,o=le,r=p)=>oe(()=>{let i=t==null?void 0:t.current;i&&r(i,n,e)&&o(i,n,e)},[t==null?void 0:t.current,n]),s=ue;var ye=()=>{try{return"3.3.3"}catch{}return"UNKNOWN"},ce=ye(),M=()=>ce;var ge=c.forwardRef(({children:e,...n},t)=>c.createElement("mux-player",E({...n,ref:t}),e)),a=(e,n,t)=>pe(()=>{let o=n==null?void 0:n.current;if(!(!o||!t))return o.addEventListener(e,t),()=>{o.removeEventListener(e,t)}},[n==null?void 0:n.current,t]),Me=(e,n)=>{let{onAbort:t,onCanPlay:o,onCanPlayThrough:r,onEmptied:i,onLoadStart:y,onLoadedData:f,onLoadedMetadata:P,onProgress:b,onDurationChange:v,onVolumeChange:x,onRateChange:T,onResize:h,onWaiting:R,onPlay:C,onPlaying:k,onTimeUpdate:L,onPause:S,onSeeking:O,onSeeked:G,onStalled:w,onSuspend:V,onEnded:I,onError:A,onCuePointChange:N,onCuePointsChange:D,onChapterChange:_,metadata:K,tokens:U,paused:j,playbackId:H,playbackRates:W,currentTime:z,themeProps:F,extraSourceParams:Z,castCustomData:q,_hlsConfig:J,...Y}=n;return s("playbackRates",W,e),s("metadata",K,e),s("extraSourceParams",Z,e),s("_hlsConfig",J,e),s("themeProps",F,e),s("tokens",U,e),s("playbackId",H,e),s("castCustomData",q,e),s("paused",j,e,(l,u)=>{u!=null&&(u?l.pause():l.play())},(l,u,$)=>l.hasAttribute("autoplay")&&!l.hasPlayed?!1:p(l,u,$)),s("currentTime",z,e,(l,u)=>{u!=null&&(l.currentTime=u)}),a("abort",e,t),a("canplay",e,o),a("canplaythrough",e,r),a("emptied",e,i),a("loadstart",e,y),a("loadeddata",e,f),a("loadedmetadata",e,P),a("progress",e,b),a("durationchange",e,v),a("volumechange",e,x),a("ratechange",e,T),a("resize",e,h),a("waiting",e,R),a("play",e,C),a("playing",e,k),a("timeupdate",e,L),a("pause",e,S),a("seeking",e,O),a("seeked",e,G),a("stalled",e,w),a("suspend",e,V),a("ended",e,I),a("error",e,A),a("cuepointchange",e,N),a("cuepointschange",e,D),a("chapterchange",e,_),[Y]},fe=M(),Pe="mux-player-react",be=c.forwardRef((e,n)=>{var y;let t=Ee(null),o=g(t,n),[r]=Me(t,e),[i]=de((y=e.playerInitTime)!=null?y:me());return c.createElement(ge,{ref:o,playerSoftwareName:Pe,playerSoftwareVersion:fe,playerInitTime:i,...r})}),Ue=be;export{Oe as MaxResolution,Ie as MediaError,Ge as MinResolution,we as RenditionOrder,Ue as default,me as generatePlayerInitTime,Pe as playerSoftwareName,fe as playerSoftwareVersion};
//# sourceMappingURL=index.mjs.map