UNPKG

@mux/mux-player-react

Version:

An open source Mux player for React that Just Works™

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