node_modules ignore

This commit is contained in:
oier committed 2025-05-08 23:43:47 +02:00
1 parent e19d52f172
commit 4574544c9f
65041 files changed
+10593536

No files matched your search

+9
View File
@@ -0,0 +1,9 @@
MIT License
Copyright (c) 2021 Mux, Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+71
View File
@@ -0,0 +1,71 @@
<p align="center">
<h1 align="center">&lt;MuxPlayer/&gt;</h1>
<a href="https://npmcharts.com/compare/@mux/mux-player-react?interval=30"><img src="https://img.shields.io/npm/dm/@mux/mux-player-react.svg?sanitize=true" alt="Downloads"></a>
<a href="https://www.npmjs.com/package/@mux/mux-player-react"><img src="https://img.shields.io/npm/v/@mux/mux-player-react.svg?sanitize=true" alt="Version"></a>
<a href="https://www.npmjs.com/package/@mux/mux-player-react"><img src="https://img.shields.io/npm/l/@mux/mux-player-react.svg?sanitize=true" alt="License"></a>
</p>
# New release: 3.0
Mux Player recently released 3.0. The most visible change in this is new tooltips that are enabled by default, as well as [other fixes and changes](https://docs.mux.com/guides/player-releases-web#300).
## Previous version: 2.0
For changes relating to the previous major release, 2.0, see the [V1 to V2 upgrade guide](https://github.com/muxinc/elements/blob/main/packages/mux-player/UPGRADING_V1_to_V2.md) and the [blog post announcement](https://www.mux.com/blog/mux-player-2-0-for-web-and-coming-soon-for-ios-and-android).
# Introduction
`<MuxPlayer />` is a Mux-flavored React video player component, built on top of our [mux-player web component](../mux-player) and [Media Chrome](https://media-chrome.org).
# Installation
```shell
npm install @mux/mux-player-react
```
or
```shell
yarn add @mux/mux-player-react
```
# Usage
```jsx
import MuxPlayer from '@mux/mux-player-react';
<MuxPlayer
playbackId="DS00Spx1CV902MCtPj5WknGlR102V5HFkDe"
metadata={{
video_id: 'video-id-123456',
video_title: 'Bick Buck Bunny',
viewer_user_id: 'user-id-bc-789',
}}
/>;
```
### Lazy-loading
Defer loading of Mux Player by importing from `@mux/mux-player-react/lazy`.
```jsx
import MuxPlayer from '@mux/mux-player-react/lazy';
<MuxPlayer
loading="viewport"
playbackId="DS00Spx1CV902MCtPj5WknGlR102V5HFkDe"
metadata={{
video_id: 'video-id-123456',
video_title: 'Bick Buck Bunny',
viewer_user_id: 'user-id-bc-789',
}}
/>;
```
If you are generating your pages with a Node.js server (for example, [Next.js](https://nextjs.org/docs/basic-features/data-fetching/)), consider using `@mux/mux-player-react/lazy` with [`@mux/blurhash`](https://github.com/muxinc/blurhash) to generate a placeholder to display during loading.
# Docs
Docs and guides live on [docs.mux.com](https://docs.mux.com/guides/video/mux-player?utm_source=github-mux-player).
API reference lives [on Github](./REFERENCE.md).
+2
View File
@@ -0,0 +1,2 @@
"use client";import y,{useEffect as ye}from"react";import{MaxResolution as Re,MinResolution as Ce,RenditionOrder as ke}from"@mux/playback-core";import{MediaError as Oe}from"@mux/mux-player";var d={className:"class",classname:"class",htmlFor:"for",crossOrigin:"crossorigin",viewBox:"viewBox",playsInline:"playsinline",autoPlay:"autoplay",playbackRate:"playbackrate"},$=e=>e==null,Q=(e,n)=>$(n)?!1:e in n,X=e=>e.replace(/[A-Z]/g,n=>`-${n.toLowerCase()}`),B=(e,n)=>{if(!(typeof n=="boolean"&&!n)){if(Q(e,d))return d[e];if(typeof n!=null)return/[A-Z]/.test(e)?X(e):e}};var ee=(e,n)=>typeof e=="boolean"?"":e,p=(e={})=>Object.entries(e).reduce((n,[t,o])=>{let r=B(t,o);if(!r)return n;let s=ee(o,t);return n[r]=s,n},{});import{useRef as ce}from"react";import{useEffect as ne,useRef as te}from"react";var m=(...e)=>{let n=te(null);return ne(()=>{e.forEach(t=>{t&&(typeof t=="function"?t(n.current):t.current=n.current)})},[e]),n};import{useEffect as ae}from"react";var re=Object.prototype.hasOwnProperty,oe=(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,s)=>n[s]===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(!re.call(n,t[r])||!Object.is(e[t[r]],n[t[r]]))return!1;return!0},c=(e,n,t)=>!oe(n,e[t]),ie=(e,n,t)=>{e[t]=n},se=(e,n,t,o=ie,r=c)=>ae(()=>{let s=t==null?void 0:t.current;s&&r(s,n,e)&&o(s,n,e)},[t==null?void 0:t.current,n]),i=se;var le=()=>{try{return"3.1.0"}catch{}return"UNKNOWN"},ue=le(),E=()=>ue;var de=y.forwardRef(({children:e,...n},t)=>y.createElement("mux-player",p({...n,ref:t}),e)),a=(e,n,t)=>ye(()=>{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]),pe=(e,n)=>{let{onAbort:t,onCanPlay:o,onCanPlayThrough:r,onEmptied:s,onLoadStart:g,onLoadedData:M,onLoadedMetadata:f,onProgress:P,onDurationChange:b,onVolumeChange:v,onRateChange:x,onResize:h,onWaiting:T,onPlay:R,onPlaying:C,onTimeUpdate:k,onPause:L,onSeeking:O,onSeeked:S,onStalled:G,onSuspend:w,onEnded:V,onError:A,onCuePointChange:N,onCuePointsChange:D,onChapterChange:I,metadata:K,tokens:U,paused:_,playbackId:H,playbackRates:j,currentTime:z,themeProps:F,extraSourceParams:W,castCustomData:Z,_hlsConfig:q,...J}=n;return i("playbackRates",j,e),i("metadata",K,e),i("extraSourceParams",W,e),i("_hlsConfig",q,e),i("themeProps",F,e),i("tokens",U,e),i("playbackId",H,e),i("castCustomData",Z,e),i("paused",_,e,(l,u)=>{u!=null&&(u?l.pause():l.play())},(l,u,Y)=>l.hasAttribute("autoplay")&&!l.hasPlayed?!1:c(l,u,Y)),i("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,s),a("loadstart",e,g),a("loadeddata",e,M),a("loadedmetadata",e,f),a("progress",e,P),a("durationchange",e,b),a("volumechange",e,v),a("ratechange",e,x),a("resize",e,h),a("waiting",e,T),a("play",e,R),a("playing",e,C),a("timeupdate",e,k),a("pause",e,L),a("seeking",e,O),a("seeked",e,S),a("stalled",e,G),a("suspend",e,w),a("ended",e,V),a("error",e,A),a("cuepointchange",e,N),a("cuepointschange",e,D),a("chapterchange",e,I),[J]},me=E(),Ee="mux-player-react",ge=y.forwardRef((e,n)=>{let t=ce(null),o=m(t,n),[r]=pe(t,e);return y.createElement(de,{ref:o,playerSoftwareName:Ee,playerSoftwareVersion:me,...r})}),Ne=ge;export{Re as MaxResolution,Oe as MediaError,Ce as MinResolution,ke as RenditionOrder,Ne as default};
//# sourceMappingURL=-5Z6NQIRW.mjs.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../src/index.tsx", "../src/common/utils.ts", "../src/useCombinedRefs.ts", "../src/useObjectPropEffect.ts", "../src/env.ts"],
"sourcesContent": ["'use client';\nimport React, { useEffect } from 'react';\nimport type { CSSProperties } from 'react';\nimport type {\n StreamTypes,\n PlaybackTypes,\n CmcdTypes,\n MaxResolutionValue,\n MinResolutionValue,\n RenditionOrderValue,\n} from '@mux/playback-core';\nimport { MaxResolution, MinResolution, RenditionOrder } from '@mux/playback-core';\nimport { MediaError } from '@mux/mux-player';\nimport type MuxPlayerElement from '@mux/mux-player';\nimport type { Tokens, MuxPlayerElementEventMap } from '@mux/mux-player';\nimport { toNativeProps } from './common/utils';\nimport { useRef } from 'react';\nimport { useCombinedRefs } from './useCombinedRefs';\nimport useObjectPropEffect, { defaultHasChanged } from './useObjectPropEffect';\nimport { getPlayerVersion } from './env';\n\nexport { MediaError, MaxResolution, MinResolution, RenditionOrder };\n\ntype ValueOf<T> = T[keyof T];\ninterface GenericEventListener<T extends Event = CustomEvent> {\n (evt: T): void;\n}\n\nexport type MuxPlayerRefAttributes = MuxPlayerElement;\ntype VideoApiAttributes = {\n currentTime: number;\n volume: number;\n paused: boolean;\n src: string | null;\n poster: string;\n playbackRate: number;\n playsInline: boolean;\n preload: string;\n crossOrigin: string;\n autoPlay: boolean | string;\n loop: boolean;\n muted: boolean;\n style: CSSProperties;\n};\n\ntype MuxMediaPropTypes = {\n audio: boolean;\n // envKey: Options[\"data\"][\"env_key\"];\n envKey: string;\n // debug: Options[\"debug\"] & Hls[\"config\"][\"debug\"];\n debug: boolean;\n disableTracking: boolean;\n disableCookies: boolean;\n disablePictureInPicture?: boolean;\n // metadata: Partial<Options[\"data\"]>;\n metadata: { [k: string]: any };\n extraSourceParams: Record<string, any>;\n _hlsConfig: MuxPlayerElement['_hlsConfig'];\n beaconCollectionDomain: string;\n customDomain: string;\n playbackId: string;\n preferPlayback: ValueOf<PlaybackTypes> | undefined;\n // NOTE: Explicitly adding deprecated values here for now to avoid fully breaking changes in TS envs (CJP)\n streamType: ValueOf<StreamTypes> | 'll-live' | 'live:dvr' | 'll-live:dvr';\n defaultStreamType: ValueOf<StreamTypes>;\n targetLiveWindow: number;\n startTime: number;\n storyboardSrc: string;\n preferCmcd: ValueOf<CmcdTypes> | undefined;\n children?: React.ReactNode;\n};\n\nexport type MuxPlayerProps = {\n className?: string;\n hotkeys?: string;\n nohotkeys?: boolean;\n castReceiver?: string | undefined;\n castCustomData?: Record<string, any> | undefined;\n defaultHiddenCaptions?: boolean;\n playerSoftwareVersion?: string;\n playerSoftwareName?: string;\n forwardSeekOffset?: number;\n backwardSeekOffset?: number;\n maxResolution?: MaxResolutionValue;\n minResolution?: MinResolutionValue;\n renditionOrder?: RenditionOrderValue;\n programStartTime?: number;\n programEndTime?: number;\n assetStartTime?: number;\n assetEndTime?: number;\n metadataVideoId?: string;\n metadataVideoTitle?: string;\n metadataViewerUserId?: string;\n primaryColor?: string;\n secondaryColor?: string;\n accentColor?: string;\n placeholder?: string;\n playbackRates?: number[];\n defaultShowRemainingTime?: boolean;\n defaultDuration?: number;\n noVolumePref?: boolean;\n thumbnailTime?: number;\n title?: string;\n tokens?: Tokens;\n theme?: string;\n themeProps?: { [k: string]: any };\n onAbort?: GenericEventListener<MuxPlayerElementEventMap['abort']>;\n onCanPlay?: GenericEventListener<MuxPlayerElementEventMap['canplay']>;\n onCanPlayThrough?: GenericEventListener<MuxPlayerElementEventMap['canplaythrough']>;\n onEmptied?: GenericEventListener<MuxPlayerElementEventMap['emptied']>;\n onLoadStart?: GenericEventListener<MuxPlayerElementEventMap['loadstart']>;\n onLoadedData?: GenericEventListener<MuxPlayerElementEventMap['loadeddata']>;\n onLoadedMetadata?: GenericEventListener<MuxPlayerElementEventMap['loadedmetadata']>;\n onProgress?: GenericEventListener<MuxPlayerElementEventMap['progress']>;\n onDurationChange?: GenericEventListener<MuxPlayerElementEventMap['durationchange']>;\n onVolumeChange?: GenericEventListener<MuxPlayerElementEventMap['volumechange']>;\n onRateChange?: GenericEventListener<MuxPlayerElementEventMap['ratechange']>;\n onResize?: GenericEventListener<MuxPlayerElementEventMap['resize']>;\n onWaiting?: GenericEventListener<MuxPlayerElementEventMap['waiting']>;\n onPlay?: GenericEventListener<MuxPlayerElementEventMap['play']>;\n onPlaying?: GenericEventListener<MuxPlayerElementEventMap['playing']>;\n onTimeUpdate?: GenericEventListener<MuxPlayerElementEventMap['timeupdate']>;\n onPause?: GenericEventListener<MuxPlayerElementEventMap['pause']>;\n onSeeking?: GenericEventListener<MuxPlayerElementEventMap['seeking']>;\n onSeeked?: GenericEventListener<MuxPlayerElementEventMap['seeked']>;\n onStalled?: GenericEventListener<MuxPlayerElementEventMap['stalled']>;\n onSuspend?: GenericEventListener<MuxPlayerElementEveLine truncated
"mappings": "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",
"names": ["React", "useEffect", "MaxResolution", "MinResolution", "RenditionOrder", "MediaError", "ReactPropToAttrNameMap", "isNil", "x", "isKeyOf", "k", "o", "toKebabCase", "string", "match", "toNativeAttrName", "propName", "propValue", "toNativeAttrValue", "propValue", "propName", "toNativeProps", "props", "transformedProps", "attrName", "toNativeAttrName", "attrValue", "useRef", "useEffect", "useRef", "useCombinedRefs", "refs", "targetRef", "ref", "useEffect", "hasOwnProperty", "shallowEqual", "objA", "objB", "vVal", "i", "keysA", "keysB", "defaultHasChanged", "obj", "v", "k", "defaultUpdateValue", "useObjectPropEffect", "propName", "propValue", "ref", "updateValue", "hasChanged", "useObjectPropEffect_default", "getEnvPlayerVersion", "player_version", "getPlayerVersion", "MuxPlayerInternal", "React", "children", "props", "ref", "toNativeProps", "useEventCallbackEffect", "type", "callback", "useEffect", "eventTarget", "usePlayer", "onAbort", "onCanPlay", "onCanPlayThrough", "onEmptied", "onLoadStart", "onLoadedData", "onLoadedMetadata", "onProgress", "onDurationChange", "onVolumeChange", "onRateChange", "onResize", "onWaiting", "onPlay", "onPlaying", "onTimeUpdate", "onPause", "onSeeking", "onSeeked", "onStalled", "onSuspend", "onEnded", "onError", "onCuePointChange", "onCuePointsChange", "onChapterChange", "metadata", "tokens", "paused", "playbackId", "playbackRates", "currentTime", "themeProps", "extraSourceParams", "castCustomData", "_hlsConfig", "remainingProps", "useObjectPropEffect_default", "playerEl", "pausedVal", "value", "propName", "defaultHasChanged", "currentTimeVal", "playerSoftwareVersion", "getPlayerVersion", "playerSoftwareName", "MuxPlayer", "innerPlayerRef", "useRef", "playerRef", "useCombinedRefs", "src_default"]
}
+267
View File
@@ -0,0 +1,267 @@
{
"inputs": {
"src/ConditionalSuspense.tsx": {
"bytes": 449,
"imports": [
{
"path": "react",
"kind": "import-statement",
"external": true
}
],
"format": "esm"
},
"src/useIsBrowser.ts": {
"bytes": 286,
"imports": [
{
"path": "react",
"kind": "import-statement",
"external": true
}
],
"format": "esm"
},
"src/useIsIntersecting.ts": {
"bytes": 645,
"imports": [
{
"path": "react",
"kind": "import-statement",
"external": true
}
],
"format": "esm"
},
"src/common/utils.ts": {
"bytes": 2048,
"imports": [],
"format": "esm"
},
"src/useCombinedRefs.ts": {
"bytes": 892,
"imports": [
{
"path": "react",
"kind": "import-statement",
"external": true
}
],
"format": "esm"
},
"src/useObjectPropEffect.ts": {
"bytes": 1850,
"imports": [
{
"path": "react",
"kind": "import-statement",
"external": true
}
],
"format": "esm"
},
"src/env.ts": {
"bytes": 245,
"imports": [],
"format": "esm"
},
"src/index.tsx": {
"bytes": 10260,
"imports": [
{
"path": "react",
"kind": "import-statement",
"external": true
},
{
"path": "@mux/playback-core",
"kind": "import-statement",
"external": true
},
{
"path": "@mux/mux-player",
"kind": "import-statement",
"external": true
},
{
"path": "src/common/utils.ts",
"kind": "import-statement",
"original": "./common/utils"
},
{
"path": "react",
"kind": "import-statement",
"external": true
},
{
"path": "src/useCombinedRefs.ts",
"kind": "import-statement",
"original": "./useCombinedRefs"
},
{
"path": "src/useObjectPropEffect.ts",
"kind": "import-statement",
"original": "./useObjectPropEffect"
},
{
"path": "src/env.ts",
"kind": "import-statement",
"original": "./env"
}
],
"format": "esm"
},
"src/lazy.tsx": {
"bytes": 4460,
"imports": [
{
"path": "react",
"kind": "import-statement",
"external": true
},
{
"path": "src/ConditionalSuspense.tsx",
"kind": "import-statement",
"original": "./ConditionalSuspense"
},
{
"path": "src/useIsBrowser.ts",
"kind": "import-statement",
"original": "./useIsBrowser"
},
{
"path": "src/useIsIntersecting.ts",
"kind": "import-statement",
"original": "./useIsIntersecting"
},
{
"path": "src/index.tsx",
"kind": "dynamic-import",
"original": "./index"
}
],
"format": "esm"
}
},
"outputs": {
"dist/lazy.mjs.map": {
"imports": [],
"exports": [],
"inputs": {},
"bytes": 8941
},
"dist/lazy.mjs": {
"imports": [
{
"path": "react",
"kind": "import-statement",
"external": true
},
{
"path": "react",
"kind": "import-statement",
"external": true
},
{
"path": "react",
"kind": "import-statement",
"external": true
},
{
"path": "react",
"kind": "import-statement",
"external": true
},
{
"path": "dist/-5Z6NQIRW.mjs",
"kind": "dynamic-import"
}
],
"exports": [
"default"
],
"entryPoint": "src/lazy.tsx",
"inputs": {
"src/lazy.tsx": {
"bytesInOutput": 1687
},
"src/ConditionalSuspense.tsx": {
"bytesInOutput": 166
},
"src/useIsBrowser.ts": {
"bytesInOutput": 134
},
"src/useIsIntersecting.ts": {
"bytesInOutput": 274
}
},
"bytes": 2330
},
"dist/-5Z6NQIRW.mjs.map": {
"imports": [],
"exports": [],
"inputs": {},
"bytes": 22551
},
"dist/-5Z6NQIRW.mjs": {
"imports": [
{
"path": "react",
"kind": "import-statement",
"external": true
},
{
"path": "@mux/playback-core",
"kind": "import-statement",
"external": true
},
{
"path": "@mux/mux-player",
"kind": "import-statement",
"external": true
},
{
"path": "react",
"kind": "import-statement",
"external": true
},
{
"path": "react",
"kind": "import-statement",
"external": true
},
{
"path": "react",
"kind": "import-statement",
"external": true
}
],
"exports": [
"MaxResolution",
"MediaError",
"MinResolution",
"RenditionOrder",
"default"
],
"entryPoint": "src/index.tsx",
"inputs": {
"src/index.tsx": {
"bytesInOutput": 2003
},
"src/common/utils.ts": {
"bytesInOutput": 524
},
"src/useCombinedRefs.ts": {
"bytesInOutput": 177
},
"src/useObjectPropEffect.ts": {
"bytesInOutput": 602
},
"src/env.ts": {
"bytesInOutput": 71
}
},
"bytes": 3530
}
}
}
+2
View File
@@ -0,0 +1,2 @@
"use strict";"use client";var ae=Object.create;var d=Object.defineProperty;var re=Object.getOwnPropertyDescriptor;var oe=Object.getOwnPropertyNames;var ie=Object.getPrototypeOf,se=Object.prototype.hasOwnProperty;var le=(e,n)=>{for(var t in n)d(e,t,{get:n[t],enumerable:!0})},E=(e,n,t,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of oe(n))!se.call(e,r)&&r!==t&&d(e,r,{get:()=>n[r],enumerable:!(o=re(n,r))||o.enumerable});return e};var ue=(e,n,t)=>(t=e!=null?ae(ie(e)):{},E(n||!e||!e.__esModule?d(t,"default",{value:e,enumerable:!0}):t,e)),ye=e=>E(d({},"__esModule",{value:!0}),e);var Le={};le(Le,{MaxResolution:()=>c.MaxResolution,MediaError:()=>v.MediaError,MinResolution:()=>c.MinResolution,RenditionOrder:()=>c.RenditionOrder,default:()=>ke});module.exports=ye(Le);var y=ue(require("react")),c=require("@mux/playback-core"),v=require("@mux/mux-player");var g={className:"class",classname:"class",htmlFor:"for",crossOrigin:"crossorigin",viewBox:"viewBox",playsInline:"playsinline",autoPlay:"autoplay",playbackRate:"playbackrate"},ce=e=>e==null,de=(e,n)=>ce(n)?!1:e in n,pe=e=>e.replace(/[A-Z]/g,n=>`-${n.toLowerCase()}`),me=(e,n)=>{if(!(typeof n=="boolean"&&!n)){if(de(e,g))return g[e];if(typeof n!=null)return/[A-Z]/.test(e)?pe(e):e}};var Ee=(e,n)=>typeof e=="boolean"?"":e,M=(e={})=>Object.entries(e).reduce((n,[t,o])=>{let r=me(t,o);if(!r)return n;let s=Ee(o,t);return n[r]=s,n},{});var x=require("react");var p=require("react"),f=(...e)=>{let n=(0,p.useRef)(null);return(0,p.useEffect)(()=>{e.forEach(t=>{t&&(typeof t=="function"?t(n.current):t.current=n.current)})},[e]),n};var P=require("react"),ge=Object.prototype.hasOwnProperty,Me=(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,s)=>n[s]===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(!ge.call(n,t[r])||!Object.is(e[t[r]],n[t[r]]))return!1;return!0},m=(e,n,t)=>!Me(n,e[t]),fe=(e,n,t)=>{e[t]=n},Pe=(e,n,t,o=fe,r=m)=>(0,P.useEffect)(()=>{let s=t==null?void 0:t.current;s&&r(s,n,e)&&o(s,n,e)},[t==null?void 0:t.current,n]),i=Pe;var be=()=>{try{return"3.1.0"}catch{}return"UNKNOWN"},ve=be(),b=()=>ve;var xe=y.default.forwardRef(({children:e,...n},t)=>y.default.createElement("mux-player",M({...n,ref:t}),e)),a=(e,n,t)=>(0,y.useEffect)(()=>{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]),he=(e,n)=>{let{onAbort:t,onCanPlay:o,onCanPlayThrough:r,onEmptied:s,onLoadStart:h,onLoadedData:T,onLoadedMetadata:R,onProgress:C,onDurationChange:k,onVolumeChange:L,onRateChange:O,onResize:S,onWaiting:G,onPlay:w,onPlaying:V,onTimeUpdate:A,onPause:N,onSeeking:D,onSeeked:I,onStalled:K,onSuspend:U,onEnded:_,onError:H,onCuePointChange:j,onCuePointsChange:z,onChapterChange:F,metadata:W,tokens:Z,paused:q,playbackId:J,playbackRates:Y,currentTime:$,themeProps:Q,extraSourceParams:X,castCustomData:B,_hlsConfig:ee,...ne}=n;return i("playbackRates",Y,e),i("metadata",W,e),i("extraSourceParams",X,e),i("_hlsConfig",ee,e),i("themeProps",Q,e),i("tokens",Z,e),i("playbackId",J,e),i("castCustomData",B,e),i("paused",q,e,(l,u)=>{u!=null&&(u?l.pause():l.play())},(l,u,te)=>l.hasAttribute("autoplay")&&!l.hasPlayed?!1:m(l,u,te)),i("currentTime",$,e,(l,u)=>{u!=null&&(l.currentTime=u)}),a("abort",e,t),a("canplay",e,o),a("canplaythrough",e,r),a("emptied",e,s),a("loadstart",e,h),a("loadeddata",e,T),a("loadedmetadata",e,R),a("progress",e,C),a("durationchange",e,k),a("volumechange",e,L),a("ratechange",e,O),a("resize",e,S),a("waiting",e,G),a("play",e,w),a("playing",e,V),a("timeupdate",e,A),a("pause",e,N),a("seeking",e,D),a("seeked",e,I),a("stalled",e,K),a("suspend",e,U),a("ended",e,_),a("error",e,H),a("cuepointchange",e,j),a("cuepointschange",e,z),a("chapterchange",e,F),[ne]},Te=b(),Re="mux-player-react",Ce=y.default.forwardRef((e,n)=>{let t=(0,x.useRef)(null),o=f(t,n),[r]=he(t,e);return y.default.createElement(xe,{ref:o,playerSoftwareName:Re,playerSoftwareVersion:Te,...r})}),ke=Ce;
//# sourceMappingURL=index.cjs.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../src/index.tsx", "../src/common/utils.ts", "../src/useCombinedRefs.ts", "../src/useObjectPropEffect.ts", "../src/env.ts"],
"sourcesContent": ["'use client';\nimport React, { useEffect } from 'react';\nimport type { CSSProperties } from 'react';\nimport type {\n StreamTypes,\n PlaybackTypes,\n CmcdTypes,\n MaxResolutionValue,\n MinResolutionValue,\n RenditionOrderValue,\n} from '@mux/playback-core';\nimport { MaxResolution, MinResolution, RenditionOrder } from '@mux/playback-core';\nimport { MediaError } from '@mux/mux-player';\nimport type MuxPlayerElement from '@mux/mux-player';\nimport type { Tokens, MuxPlayerElementEventMap } from '@mux/mux-player';\nimport { toNativeProps } from './common/utils';\nimport { useRef } from 'react';\nimport { useCombinedRefs } from './useCombinedRefs';\nimport useObjectPropEffect, { defaultHasChanged } from './useObjectPropEffect';\nimport { getPlayerVersion } from './env';\n\nexport { MediaError, MaxResolution, MinResolution, RenditionOrder };\n\ntype ValueOf<T> = T[keyof T];\ninterface GenericEventListener<T extends Event = CustomEvent> {\n (evt: T): void;\n}\n\nexport type MuxPlayerRefAttributes = MuxPlayerElement;\ntype VideoApiAttributes = {\n currentTime: number;\n volume: number;\n paused: boolean;\n src: string | null;\n poster: string;\n playbackRate: number;\n playsInline: boolean;\n preload: string;\n crossOrigin: string;\n autoPlay: boolean | string;\n loop: boolean;\n muted: boolean;\n style: CSSProperties;\n};\n\ntype MuxMediaPropTypes = {\n audio: boolean;\n // envKey: Options[\"data\"][\"env_key\"];\n envKey: string;\n // debug: Options[\"debug\"] & Hls[\"config\"][\"debug\"];\n debug: boolean;\n disableTracking: boolean;\n disableCookies: boolean;\n disablePictureInPicture?: boolean;\n // metadata: Partial<Options[\"data\"]>;\n metadata: { [k: string]: any };\n extraSourceParams: Record<string, any>;\n _hlsConfig: MuxPlayerElement['_hlsConfig'];\n beaconCollectionDomain: string;\n customDomain: string;\n playbackId: string;\n preferPlayback: ValueOf<PlaybackTypes> | undefined;\n // NOTE: Explicitly adding deprecated values here for now to avoid fully breaking changes in TS envs (CJP)\n streamType: ValueOf<StreamTypes> | 'll-live' | 'live:dvr' | 'll-live:dvr';\n defaultStreamType: ValueOf<StreamTypes>;\n targetLiveWindow: number;\n startTime: number;\n storyboardSrc: string;\n preferCmcd: ValueOf<CmcdTypes> | undefined;\n children?: React.ReactNode;\n};\n\nexport type MuxPlayerProps = {\n className?: string;\n hotkeys?: string;\n nohotkeys?: boolean;\n castReceiver?: string | undefined;\n castCustomData?: Record<string, any> | undefined;\n defaultHiddenCaptions?: boolean;\n playerSoftwareVersion?: string;\n playerSoftwareName?: string;\n forwardSeekOffset?: number;\n backwardSeekOffset?: number;\n maxResolution?: MaxResolutionValue;\n minResolution?: MinResolutionValue;\n renditionOrder?: RenditionOrderValue;\n programStartTime?: number;\n programEndTime?: number;\n assetStartTime?: number;\n assetEndTime?: number;\n metadataVideoId?: string;\n metadataVideoTitle?: string;\n metadataViewerUserId?: string;\n primaryColor?: string;\n secondaryColor?: string;\n accentColor?: string;\n placeholder?: string;\n playbackRates?: number[];\n defaultShowRemainingTime?: boolean;\n defaultDuration?: number;\n noVolumePref?: boolean;\n thumbnailTime?: number;\n title?: string;\n tokens?: Tokens;\n theme?: string;\n themeProps?: { [k: string]: any };\n onAbort?: GenericEventListener<MuxPlayerElementEventMap['abort']>;\n onCanPlay?: GenericEventListener<MuxPlayerElementEventMap['canplay']>;\n onCanPlayThrough?: GenericEventListener<MuxPlayerElementEventMap['canplaythrough']>;\n onEmptied?: GenericEventListener<MuxPlayerElementEventMap['emptied']>;\n onLoadStart?: GenericEventListener<MuxPlayerElementEventMap['loadstart']>;\n onLoadedData?: GenericEventListener<MuxPlayerElementEventMap['loadeddata']>;\n onLoadedMetadata?: GenericEventListener<MuxPlayerElementEventMap['loadedmetadata']>;\n onProgress?: GenericEventListener<MuxPlayerElementEventMap['progress']>;\n onDurationChange?: GenericEventListener<MuxPlayerElementEventMap['durationchange']>;\n onVolumeChange?: GenericEventListener<MuxPlayerElementEventMap['volumechange']>;\n onRateChange?: GenericEventListener<MuxPlayerElementEventMap['ratechange']>;\n onResize?: GenericEventListener<MuxPlayerElementEventMap['resize']>;\n onWaiting?: GenericEventListener<MuxPlayerElementEventMap['waiting']>;\n onPlay?: GenericEventListener<MuxPlayerElementEventMap['play']>;\n onPlaying?: GenericEventListener<MuxPlayerElementEventMap['playing']>;\n onTimeUpdate?: GenericEventListener<MuxPlayerElementEventMap['timeupdate']>;\n onPause?: GenericEventListener<MuxPlayerElementEventMap['pause']>;\n onSeeking?: GenericEventListener<MuxPlayerElementEventMap['seeking']>;\n onSeeked?: GenericEventListener<MuxPlayerElementEventMap['seeked']>;\n onStalled?: GenericEventListener<MuxPlayerElementEventMap['stalled']>;\n onSuspend?: GenericEventListener<MuxPlayerElementEveLine truncated
"mappings": "olBAAA,IAAAA,GAAA,GAAAC,GAAAD,GAAA,iJAAAE,KAAA,eAAAC,GAAAH,IACA,IAAAI,EAAiC,qBAUjCC,EAA6D,8BAC7DC,EAA2B,2BCR3B,IAAMC,EAAyB,CAC7B,UAAW,QACX,UAAW,QACX,QAAS,MACT,YAAa,cACb,QAAS,UACT,YAAa,cACb,SAAU,WACV,aAAc,cAChB,EAKaC,GAASC,GAAsCA,GAAK,KAGpDC,GAAU,CAAqBC,EAAaC,IACnDJ,GAAMI,CAAC,EAAU,GACdD,KAAKC,EAGRC,GAAeC,GAAmBA,EAAO,QAAQ,SAAWC,GAAU,IAAIA,EAAM,YAAY,CAAC,EAAE,EAExFC,GAAmB,CAACC,EAAkBC,IAAuC,CACxF,GAAI,SAAOA,GAAc,WAAa,CAACA,GACvC,IAAIR,GAAQO,EAAUV,CAAsB,EAAG,OAAOA,EAAuBU,CAAQ,EACrF,GAAI,OAAOC,GAAa,KACxB,MAAI,QAAQ,KAAKD,CAAQ,EAAUJ,GAAYI,CAAQ,EAChDA,EACT,EAGO,IAAME,GAAoB,CAACC,EAAgBC,IAC5C,OAAOD,GAAc,UAAkB,GACpCA,EAGIE,EAAgB,CAACC,EAAQ,CAAC,IAC9B,OAAO,QAAQA,CAAK,EAAE,OAAgC,CAACC,EAAkB,CAACH,EAAUD,CAAS,IAAM,CACxG,IAAMK,EAAWC,GAAiBL,EAAUD,CAAS,EAGrD,GAAI,CAACK,EACH,OAAOD,EAGT,IAAMG,EAAYR,GAAkBC,EAAWC,CAAQ,EACvD,OAAAG,EAAiBC,CAAQ,EAAIE,EACtBH,CACT,EAAG,CAAC,CAAC,EDtCP,IAAAI,EAAuB,iBEhBvB,IAAAC,EAAkC,iBAWrBC,EAAmC,IAAIC,IAAS,CAC3D,IAAMC,KAAY,UAAO,IAAI,EAE7B,sBAAU,IAAM,CACdD,EAAK,QAASE,GAAQ,CACfA,IAED,OAAOA,GAAQ,WACjBA,EAAID,EAAU,OAAO,EAErBC,EAAI,QAAUD,EAAU,QAE5B,CAAC,CACH,EAAG,CAACD,CAAI,CAAC,EAEFC,CACT,EC3BA,IAAAE,EAA0B,iBAEpBC,GAAiB,OAAO,UAAU,eAOlCC,GAAe,CAACC,EAAWC,IAAuB,CACtD,GAAI,OAAO,GAAGD,EAAMC,CAAI,EACtB,MAAO,GAGT,GAAI,OAAOD,GAAS,UAAYA,IAAS,MAAQ,OAAOC,GAAS,UAAYA,IAAS,KACpF,MAAO,GAGT,GAAI,MAAM,QAAQD,CAAI,EAEpB,MAAI,CAAC,MAAM,QAAQC,CAAI,GAAKD,EAAK,SAAWC,EAAK,OAAe,GAEzDD,EAAK,KAAK,CAACE,EAAMC,IAAMF,EAAKE,CAAC,IAAMD,CAAI,EAGhD,IAAME,EAAQ,OAAO,KAAKJ,CAAI,EACxBK,EAAQ,OAAO,KAAKJ,CAAI,EAE9B,GAAIG,EAAM,SAAWC,EAAM,OACzB,MAAO,GAIT,QAASF,EAAI,EAAGA,EAAIC,EAAM,OAAQD,IAChC,GAAI,CAACL,GAAe,KAAKG,EAAMG,EAAMD,CAAC,CAAC,GAAK,CAAC,OAAO,GAAGH,EAAKI,EAAMD,CAAC,CAAC,EAAGF,EAAKG,EAAMD,CAAC,CAAC,CAAC,EACnF,MAAO,GAIX,MAAO,EACT,EAEaG,EAAoB,CAACC,EAAUC,EAAQC,IAC3C,CAACV,GAAaS,EAAGD,EAAIE,CAAC,CAAC,EAG1BC,GAAqB,CAACH,EAAUC,EAAQC,IAAc,CAC1DF,EAAIE,CAAC,EAAID,CACX,EAEaG,GAAsB,CACjCC,EACAC,EACAC,EACAC,EAAcL,GACdM,EAAaV,OAEN,aAAU,IAAM,CACrB,IAAMC,EAAMO,GAAA,YAAAA,EAAK,QACZP,GACAS,EAAWT,EAAKM,EAAWD,CAAQ,GACxCG,EAAYR,EAAKM,EAAWD,CAAQ,CACtC,EAAG,CAACE,GAAA,YAAAA,EAAK,QAASD,CAAS,CAAC,EAGvBI,EAAQN,GCjEf,IAAMO,GAAsB,IAAM,CAChC,GAAI,CAEF,MAAO,OACT,MAAQ,CAAC,CACT,MAAO,SACT,EAEMC,GAAyBD,GAAoB,EAEtCE,EAAmB,IAAMD,GJ6HtC,IAAME,GAAoB,EAAAC,QAAM,WAAmD,CAAC,CAAE,SAAAC,EAAU,GAAGC,CAAM,EAAGC,IACnG,EAAAH,QAAM,cAAc,aAAcI,EAAc,CAAE,GAAGF,EAAO,IAAAC,CAAI,CAAC,EAAGF,CAAQ,CACpF,EAEKI,EAAyB,CAC7BC,EACAH,EAEAI,OAEO,aAAU,IAAM,CACrB,IAAMC,EAAcL,GAAA,YAAAA,EAAK,QACzB,GAAI,GAACK,GAAe,CAACD,GACrB,OAAAC,EAAY,iBAAiBF,EAAMC,CAAQ,EACpC,IAAM,CACXC,EAAY,oBAAoBF,EAAMC,CAAQ,CAChD,CACF,EAAG,CAACJ,GAAA,YAAAA,EAAK,QAASI,CAAQ,CAAC,EAGvBE,GAAY,CAChBN,EAEAD,IACG,CACH,GAAM,CACJ,QAAAQ,EACA,UAAAC,EACA,iBAAAC,EACA,UAAAC,EACA,YAAAC,EACA,aAAAC,EACA,iBAAAC,EACA,WAAAC,EACA,iBAAAC,EACA,eAAAC,EACA,aAAAC,EACA,SAAAC,EACA,UAAAC,EACA,OAAAC,EACA,UAAAC,EACA,aAAAC,EACA,QAAAC,EACA,UAAAC,EACA,SAAAC,EACA,UAAAC,EACA,UAAAC,EACA,QAAAC,EACA,QAAAC,EACA,iBAAAC,EACA,kBAAAC,EACA,gBAAAC,EACA,SAAAC,EACA,OAAAC,EACA,OAAAC,EACA,WAAAC,EACA,cAAAC,EACA,YAAAC,EACA,WAAAC,EACA,kBAAAC,EACA,eAAAC,EACA,WAAAC,GACA,GAAGC,EACL,EAAI5C,EACJ,OAAA6C,EAAoB,gBAAiBP,EAAerC,CAAG,EACvD4C,EAAoB,WAAYX,EAAUjC,CAAG,EAC7C4C,EAAoB,oBAAqBJ,EAAmBxC,CAAG,EAC/D4C,EAAoB,aAAcF,GAAY1C,CAAG,EACjD4C,EAAoB,aAAcL,EAAYvC,CAAG,EACjD4C,EAAoB,SAAUV,EAAQlC,CAAG,EACzC4C,EAAoB,aAAcR,EAAYpC,CAAG,EACjD4C,EAAoB,iBAAkBH,EAAgBzC,CAAG,EACzD4C,EACE,SACAT,EACAnC,EACA,CAAC6C,EAA4BC,IAAwB,CAC/CA,GAAa,OACbA,EACFD,EAAS,MAAM,EAEfA,EAAS,KAAK,EAElB,EACA,CAACA,EAAUE,EAAOC,KACZH,EAAS,aAAa,UAAU,GAAK,CAACA,EAAS,UAC1C,GAEFI,EAAkBJ,EAAUE,EAAOC,EAAQ,CAEtD,EACAJ,EAAoB,cAAeN,EAAatC,EAAK,CAAC6C,EAA4BK,IAA4B,CACxGA,GAAkB,OACtBL,EAAS,YAAcK,EACzB,CAAC,EACDhD,EAAuB,QAASF,EAAKO,CAAO,EAC5CL,EAAuB,UAAWF,EAAKQ,CAAS,EAChDN,EAAuB,iBAAkBF,EAAKS,CAAgB,EAC9DP,EAAuB,UAAWF,EAAKU,CAAS,EAChDR,EAAuB,YAAaF,EAAKW,CAAW,EACpDT,EAAuB,aAAcF,EAAKY,CAAY,EACtDV,EAAuB,iBAAkBF,EAAKa,CAAgB,EAC9DX,EAAuB,WAAYF,EAAKc,CAAU,EAClDZ,EAAuB,iBAAkBF,EAAKe,CAAgB,EAC9Db,EAAuB,eAAgBF,EAAKgB,CAAc,EAC1Dd,EAAuB,aAAcF,EAAKiB,CAAY,EACtDf,EAAuB,SAAUF,EAAKkB,CAAQ,EAC9ChB,EAAuB,UAAWF,EAAKmB,CAAS,EAChDjB,EAAuB,OAAQF,EAAKoB,CAAM,EAC1ClB,EAAuB,UAAWF,EAAKqB,CAAS,EAChDnB,EAAuB,aAAcF,EAAKsB,CAAY,EACtDpB,EAAuB,QAASF,EAAKuB,CAAO,EAC5CrB,EAAuB,UAAWF,EAAKwB,CAAS,EAChDtB,EAAuB,SAAUF,EAAKyB,CAAQ,EAC9CvB,EAAuB,UAAWF,EAAK0B,CAAS,EAChDxB,EAAuB,UAAWF,EAAK2B,CAAS,EAChDzB,EAAuB,QAASF,EAAK4B,CAAO,EAC5C1B,EAAuB,QAASF,EAAK6B,CAAO,EAC5C3B,EAAuB,iBAAkBF,EAAK8B,CAAgB,EAC9D5B,EAAuB,kBAAmBF,EAAK+B,CAAiB,EAChE7B,EAAuB,gBAAiBF,EAAKgC,CAAe,EACrD,CAACW,EAAc,CACxB,EAEMQ,GAAwBC,EAAiB,EACzCC,GAAqB,mBAErBC,GAAY,EAAAzD,QAAM,WAGtB,CAACE,EAAOC,IAAQ,CAChB,IAAMuD,KAAiB,UAAyB,IAAI,EAC9CC,EAAYC,EAAgBF,EAAgBvD,CAAG,EAC/C,CAAC2C,CAAc,EAAIrC,GAAUiD,EAAgBxD,CAAK,EAExD,OACE,EAAAF,QAAA,cAACD,GAAA,CAEC,IAAK4D,EACL,mBAAoBH,GACpB,sBAAuBF,GACtB,GAAGR,EACN,CAEJ,CAAC,EAEMe,GAAQJ",
"names": ["src_exports", "__export", "src_default", "__toCommonJS", "import_react", "import_playback_core", "import_mux_player", "ReactPropToAttrNameMap", "isNil", "x", "isKeyOf", "k", "o", "toKebabCase", "string", "match", "toNativeAttrName", "propName", "propValue", "toNativeAttrValue", "propValue", "propName", "toNativeProps", "props", "transformedProps", "attrName", "toNativeAttrName", "attrValue", "import_react", "import_react", "useCombinedRefs", "refs", "targetRef", "ref", "import_react", "hasOwnProperty", "shallowEqual", "objA", "objB", "vVal", "i", "keysA", "keysB", "defaultHasChanged", "obj", "v", "k", "defaultUpdateValue", "useObjectPropEffect", "propName", "propValue", "ref", "updateValue", "hasChanged", "useObjectPropEffect_default", "getEnvPlayerVersion", "player_version", "getPlayerVersion", "MuxPlayerInternal", "React", "children", "props", "ref", "toNativeProps", "useEventCallbackEffect", "type", "callback", "eventTarget", "usePlayer", "onAbort", "onCanPlay", "onCanPlayThrough", "onEmptied", "onLoadStart", "onLoadedData", "onLoadedMetadata", "onProgress", "onDurationChange", "onVolumeChange", "onRateChange", "onResize", "onWaiting", "onPlay", "onPlaying", "onTimeUpdate", "onPause", "onSeeking", "onSeeked", "onStalled", "onSuspend", "onEnded", "onError", "onCuePointChange", "onCuePointsChange", "onChapterChange", "metadata", "tokens", "paused", "playbackId", "playbackRates", "currentTime", "themeProps", "extraSourceParams", "castCustomData", "_hlsConfig", "remainingProps", "useObjectPropEffect_default", "playerEl", "pausedVal", "value", "propName", "defaultHasChanged", "currentTimeVal", "playerSoftwareVersion", "getPlayerVersion", "playerSoftwareName", "MuxPlayer", "innerPlayerRef", "playerRef", "useCombinedRefs", "src_default"]
}
+2
View File
@@ -0,0 +1,2 @@
"use client";import y,{useEffect as ye}from"react";import{MaxResolution as Re,MinResolution as Ce,RenditionOrder as ke}from"@mux/playback-core";import{MediaError as Oe}from"@mux/mux-player";var d={className:"class",classname:"class",htmlFor:"for",crossOrigin:"crossorigin",viewBox:"viewBox",playsInline:"playsinline",autoPlay:"autoplay",playbackRate:"playbackrate"},$=e=>e==null,Q=(e,n)=>$(n)?!1:e in n,X=e=>e.replace(/[A-Z]/g,n=>`-${n.toLowerCase()}`),B=(e,n)=>{if(!(typeof n=="boolean"&&!n)){if(Q(e,d))return d[e];if(typeof n!=null)return/[A-Z]/.test(e)?X(e):e}};var ee=(e,n)=>typeof e=="boolean"?"":e,p=(e={})=>Object.entries(e).reduce((n,[t,o])=>{let r=B(t,o);if(!r)return n;let s=ee(o,t);return n[r]=s,n},{});import{useRef as ce}from"react";import{useEffect as ne,useRef as te}from"react";var m=(...e)=>{let n=te(null);return ne(()=>{e.forEach(t=>{t&&(typeof t=="function"?t(n.current):t.current=n.current)})},[e]),n};import{useEffect as ae}from"react";var re=Object.prototype.hasOwnProperty,oe=(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,s)=>n[s]===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(!re.call(n,t[r])||!Object.is(e[t[r]],n[t[r]]))return!1;return!0},c=(e,n,t)=>!oe(n,e[t]),ie=(e,n,t)=>{e[t]=n},se=(e,n,t,o=ie,r=c)=>ae(()=>{let s=t==null?void 0:t.current;s&&r(s,n,e)&&o(s,n,e)},[t==null?void 0:t.current,n]),i=se;var le=()=>{try{return"3.1.0"}catch{}return"UNKNOWN"},ue=le(),E=()=>ue;var de=y.forwardRef(({children:e,...n},t)=>y.createElement("mux-player",p({...n,ref:t}),e)),a=(e,n,t)=>ye(()=>{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]),pe=(e,n)=>{let{onAbort:t,onCanPlay:o,onCanPlayThrough:r,onEmptied:s,onLoadStart:g,onLoadedData:M,onLoadedMetadata:f,onProgress:P,onDurationChange:b,onVolumeChange:v,onRateChange:x,onResize:h,onWaiting:T,onPlay:R,onPlaying:C,onTimeUpdate:k,onPause:L,onSeeking:O,onSeeked:S,onStalled:G,onSuspend:w,onEnded:V,onError:A,onCuePointChange:N,onCuePointsChange:D,onChapterChange:I,metadata:K,tokens:U,paused:_,playbackId:H,playbackRates:j,currentTime:z,themeProps:F,extraSourceParams:W,castCustomData:Z,_hlsConfig:q,...J}=n;return i("playbackRates",j,e),i("metadata",K,e),i("extraSourceParams",W,e),i("_hlsConfig",q,e),i("themeProps",F,e),i("tokens",U,e),i("playbackId",H,e),i("castCustomData",Z,e),i("paused",_,e,(l,u)=>{u!=null&&(u?l.pause():l.play())},(l,u,Y)=>l.hasAttribute("autoplay")&&!l.hasPlayed?!1:c(l,u,Y)),i("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,s),a("loadstart",e,g),a("loadeddata",e,M),a("loadedmetadata",e,f),a("progress",e,P),a("durationchange",e,b),a("volumechange",e,v),a("ratechange",e,x),a("resize",e,h),a("waiting",e,T),a("play",e,R),a("playing",e,C),a("timeupdate",e,k),a("pause",e,L),a("seeking",e,O),a("seeked",e,S),a("stalled",e,G),a("suspend",e,w),a("ended",e,V),a("error",e,A),a("cuepointchange",e,N),a("cuepointschange",e,D),a("chapterchange",e,I),[J]},me=E(),Ee="mux-player-react",ge=y.forwardRef((e,n)=>{let t=ce(null),o=m(t,n),[r]=pe(t,e);return y.createElement(de,{ref:o,playerSoftwareName:Ee,playerSoftwareVersion:me,...r})}),Ne=ge;export{Re as MaxResolution,Oe as MediaError,Ce as MinResolution,ke as RenditionOrder,Ne as default};
//# sourceMappingURL=index.mjs.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../src/index.tsx", "../src/common/utils.ts", "../src/useCombinedRefs.ts", "../src/useObjectPropEffect.ts", "../src/env.ts"],
"sourcesContent": ["'use client';\nimport React, { useEffect } from 'react';\nimport type { CSSProperties } from 'react';\nimport type {\n StreamTypes,\n PlaybackTypes,\n CmcdTypes,\n MaxResolutionValue,\n MinResolutionValue,\n RenditionOrderValue,\n} from '@mux/playback-core';\nimport { MaxResolution, MinResolution, RenditionOrder } from '@mux/playback-core';\nimport { MediaError } from '@mux/mux-player';\nimport type MuxPlayerElement from '@mux/mux-player';\nimport type { Tokens, MuxPlayerElementEventMap } from '@mux/mux-player';\nimport { toNativeProps } from './common/utils';\nimport { useRef } from 'react';\nimport { useCombinedRefs } from './useCombinedRefs';\nimport useObjectPropEffect, { defaultHasChanged } from './useObjectPropEffect';\nimport { getPlayerVersion } from './env';\n\nexport { MediaError, MaxResolution, MinResolution, RenditionOrder };\n\ntype ValueOf<T> = T[keyof T];\ninterface GenericEventListener<T extends Event = CustomEvent> {\n (evt: T): void;\n}\n\nexport type MuxPlayerRefAttributes = MuxPlayerElement;\ntype VideoApiAttributes = {\n currentTime: number;\n volume: number;\n paused: boolean;\n src: string | null;\n poster: string;\n playbackRate: number;\n playsInline: boolean;\n preload: string;\n crossOrigin: string;\n autoPlay: boolean | string;\n loop: boolean;\n muted: boolean;\n style: CSSProperties;\n};\n\ntype MuxMediaPropTypes = {\n audio: boolean;\n // envKey: Options[\"data\"][\"env_key\"];\n envKey: string;\n // debug: Options[\"debug\"] & Hls[\"config\"][\"debug\"];\n debug: boolean;\n disableTracking: boolean;\n disableCookies: boolean;\n disablePictureInPicture?: boolean;\n // metadata: Partial<Options[\"data\"]>;\n metadata: { [k: string]: any };\n extraSourceParams: Record<string, any>;\n _hlsConfig: MuxPlayerElement['_hlsConfig'];\n beaconCollectionDomain: string;\n customDomain: string;\n playbackId: string;\n preferPlayback: ValueOf<PlaybackTypes> | undefined;\n // NOTE: Explicitly adding deprecated values here for now to avoid fully breaking changes in TS envs (CJP)\n streamType: ValueOf<StreamTypes> | 'll-live' | 'live:dvr' | 'll-live:dvr';\n defaultStreamType: ValueOf<StreamTypes>;\n targetLiveWindow: number;\n startTime: number;\n storyboardSrc: string;\n preferCmcd: ValueOf<CmcdTypes> | undefined;\n children?: React.ReactNode;\n};\n\nexport type MuxPlayerProps = {\n className?: string;\n hotkeys?: string;\n nohotkeys?: boolean;\n castReceiver?: string | undefined;\n castCustomData?: Record<string, any> | undefined;\n defaultHiddenCaptions?: boolean;\n playerSoftwareVersion?: string;\n playerSoftwareName?: string;\n forwardSeekOffset?: number;\n backwardSeekOffset?: number;\n maxResolution?: MaxResolutionValue;\n minResolution?: MinResolutionValue;\n renditionOrder?: RenditionOrderValue;\n programStartTime?: number;\n programEndTime?: number;\n assetStartTime?: number;\n assetEndTime?: number;\n metadataVideoId?: string;\n metadataVideoTitle?: string;\n metadataViewerUserId?: string;\n primaryColor?: string;\n secondaryColor?: string;\n accentColor?: string;\n placeholder?: string;\n playbackRates?: number[];\n defaultShowRemainingTime?: boolean;\n defaultDuration?: number;\n noVolumePref?: boolean;\n thumbnailTime?: number;\n title?: string;\n tokens?: Tokens;\n theme?: string;\n themeProps?: { [k: string]: any };\n onAbort?: GenericEventListener<MuxPlayerElementEventMap['abort']>;\n onCanPlay?: GenericEventListener<MuxPlayerElementEventMap['canplay']>;\n onCanPlayThrough?: GenericEventListener<MuxPlayerElementEventMap['canplaythrough']>;\n onEmptied?: GenericEventListener<MuxPlayerElementEventMap['emptied']>;\n onLoadStart?: GenericEventListener<MuxPlayerElementEventMap['loadstart']>;\n onLoadedData?: GenericEventListener<MuxPlayerElementEventMap['loadeddata']>;\n onLoadedMetadata?: GenericEventListener<MuxPlayerElementEventMap['loadedmetadata']>;\n onProgress?: GenericEventListener<MuxPlayerElementEventMap['progress']>;\n onDurationChange?: GenericEventListener<MuxPlayerElementEventMap['durationchange']>;\n onVolumeChange?: GenericEventListener<MuxPlayerElementEventMap['volumechange']>;\n onRateChange?: GenericEventListener<MuxPlayerElementEventMap['ratechange']>;\n onResize?: GenericEventListener<MuxPlayerElementEventMap['resize']>;\n onWaiting?: GenericEventListener<MuxPlayerElementEventMap['waiting']>;\n onPlay?: GenericEventListener<MuxPlayerElementEventMap['play']>;\n onPlaying?: GenericEventListener<MuxPlayerElementEventMap['playing']>;\n onTimeUpdate?: GenericEventListener<MuxPlayerElementEventMap['timeupdate']>;\n onPause?: GenericEventListener<MuxPlayerElementEventMap['pause']>;\n onSeeking?: GenericEventListener<MuxPlayerElementEventMap['seeking']>;\n onSeeked?: GenericEventListener<MuxPlayerElementEventMap['seeked']>;\n onStalled?: GenericEventListener<MuxPlayerElementEventMap['stalled']>;\n onSuspend?: GenericEventListener<MuxPlayerElementEveLine truncated
"mappings": "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",
"names": ["React", "useEffect", "MaxResolution", "MinResolution", "RenditionOrder", "MediaError", "ReactPropToAttrNameMap", "isNil", "x", "isKeyOf", "k", "o", "toKebabCase", "string", "match", "toNativeAttrName", "propName", "propValue", "toNativeAttrValue", "propValue", "propName", "toNativeProps", "props", "transformedProps", "attrName", "toNativeAttrName", "attrValue", "useRef", "useEffect", "useRef", "useCombinedRefs", "refs", "targetRef", "ref", "useEffect", "hasOwnProperty", "shallowEqual", "objA", "objB", "vVal", "i", "keysA", "keysB", "defaultHasChanged", "obj", "v", "k", "defaultUpdateValue", "useObjectPropEffect", "propName", "propValue", "ref", "updateValue", "hasChanged", "useObjectPropEffect_default", "getEnvPlayerVersion", "player_version", "getPlayerVersion", "MuxPlayerInternal", "React", "children", "props", "ref", "toNativeProps", "useEventCallbackEffect", "type", "callback", "useEffect", "eventTarget", "usePlayer", "onAbort", "onCanPlay", "onCanPlayThrough", "onEmptied", "onLoadStart", "onLoadedData", "onLoadedMetadata", "onProgress", "onDurationChange", "onVolumeChange", "onRateChange", "onResize", "onWaiting", "onPlay", "onPlaying", "onTimeUpdate", "onPause", "onSeeking", "onSeeked", "onStalled", "onSuspend", "onEnded", "onError", "onCuePointChange", "onCuePointsChange", "onChapterChange", "metadata", "tokens", "paused", "playbackId", "playbackRates", "currentTime", "themeProps", "extraSourceParams", "castCustomData", "_hlsConfig", "remainingProps", "useObjectPropEffect_default", "playerEl", "pausedVal", "value", "propName", "defaultHasChanged", "currentTimeVal", "playerSoftwareVersion", "getPlayerVersion", "playerSoftwareName", "MuxPlayer", "innerPlayerRef", "useRef", "playerRef", "useCombinedRefs", "src_default"]
}
+21
View File
@@ -0,0 +1,21 @@
"use client";import a,{useEffect as h,useState as k}from"react";import c,{Suspense as y}from"react";var m=({condition:t,fallback:r,children:n,...e})=>t?c.createElement(y,{fallback:r,...e},n):c.createElement(c.Fragment,null,r),i=m;import{useState as f,useEffect as x}from"react";var b=()=>{let[t,r]=f(!1);return x(()=>{typeof window!="undefined"&&r(!0)},[]),t},u=b;import{useState as P,useEffect as I}from"react";var g=(t,r)=>{let[n,e]=P(!1);return I(()=>{if(typeof IntersectionObserver=="function"){let o=new IntersectionObserver(([s])=>{e(s.isIntersecting)},r);return t.current&&o.observe(t.current),()=>{o.disconnect()}}},[t,r]),n},p=g;var v=a.lazy(()=>import("./-5Z6NQIRW.mjs")),R=t=>{let{style:r,className:n,onIntersection:e,placeholder:o}=t,s=a.useRef(null),l=p(s);return h(()=>{l&&e&&e()},[l,e]),a.createElement(a.Fragment,null,a.createElement("mux-player",{ref:s,"data-mux-player-react-lazy-placeholder":!0,placeholder:o!=null?o:"",style:{"--mux-player-react-lazy-placeholder":o?`url('${o}');`:"",...r},className:n||"",nohotkeys:!0,"aria-hidden":!0,tabIndex:-1},a.createElement("div",{"data-mux-player-react-lazy-placeholder-overlay":!0})),a.createElement("style",null,`
mux-player[data-mux-player-react-lazy-placeholder] {
aspect-ratio: 16/9;
display: block;
background-color: var(--media-background-color, #000);
width: 100%;
position: relative;
background-image: var(--mux-player-react-lazy-placeholder);
background-repeat: no-repeat;
background-size: var(--media-object-fit, contain);
background-position: var(--media-object-position, 50% 50%);
--controls: none;
--controls-backdrop-color: rgba(0, 0, 0, 0.6);
}
mux-player [data-mux-player-react-lazy-placeholder-overlay] {
position: absolute;
inset: 0;
background-color: var(--controls-backdrop-color);
}
`))},d={PAGE:"page",VIEWPORT:"viewport"},E=a.forwardRef((t,r)=>{let{loading:n=d.VIEWPORT,...e}=t,o=u(),[s,l]=k(()=>n!==d.VIEWPORT);return a.createElement(i,{condition:o&&s,fallback:a.createElement(R,{style:e.style,className:e.className,placeholder:e.placeholder,onIntersection:()=>l(!0)})},a.createElement(v,{...e,ref:r}))}),B=E;export{B as default};
//# sourceMappingURL=lazy.mjs.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../src/lazy.tsx", "../src/ConditionalSuspense.tsx", "../src/useIsBrowser.ts", "../src/useIsIntersecting.ts"],
"sourcesContent": ["'use client';\n\nimport React, { useEffect, useState } from 'react';\nimport type { ValueOf } from '@mux/playback-core';\n\nimport ConditionalSuspense from './ConditionalSuspense';\nimport useIsBrowser from './useIsBrowser';\nimport useIsIntersecting from './useIsIntersecting';\n\nimport type { MuxPlayerProps, MuxPlayerRefAttributes } from './index';\nimport type MuxPlayerElement from '@mux/mux-player';\n\ninterface MuxPlayerElementReact extends Partial<Omit<MuxPlayerElement, 'style' | 'children'>> {\n ref: React.MutableRefObject<MuxPlayerElement | null> | null | undefined;\n style: React.CSSProperties;\n children?: React.ReactNode;\n}\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace JSX {\n interface IntrinsicElements {\n 'mux-player': MuxPlayerElementReact;\n }\n }\n}\n\nconst MuxPlayerIndex = React.lazy(() => import('./index'));\n\ninterface FallbackProps extends MuxPlayerProps {\n onIntersection?: () => void;\n}\nconst Fallback = (props: FallbackProps) => {\n const { style, className, onIntersection, placeholder } = props;\n\n const intersectionRef = React.useRef<MuxPlayerElement>(null);\n const isIntersecting = useIsIntersecting(intersectionRef);\n\n useEffect(() => {\n if (isIntersecting && onIntersection) {\n onIntersection();\n }\n }, [isIntersecting, onIntersection]);\n\n return (\n /* \n Why do we have a mux-player element before the mux-player bundle is even loaded?\n Before the bundle is loaded, this mux-player element just acts like a div.\n However, by calling this placeholder \"mux-player\",\n it now gets the same CSS applied to it that the eventual \"real\" mux-player element will. \n */\n <>\n <mux-player\n ref={intersectionRef}\n data-mux-player-react-lazy-placeholder\n placeholder={placeholder ?? ''}\n style={\n {\n '--mux-player-react-lazy-placeholder': placeholder ? `url('${placeholder}');` : '',\n ...style,\n } as React.CSSProperties\n }\n className={className || ''}\n // since there's a possibility that the bundle loads before Suspense clears this placeholder,\n // we need to make sure that the placeholder isn't interactive and its player chrome in doesn't get rendered\n nohotkeys\n aria-hidden\n tabIndex={-1}\n >\n <div data-mux-player-react-lazy-placeholder-overlay />\n </mux-player>\n <style>{\n /* css */ `\n mux-player[data-mux-player-react-lazy-placeholder] {\n aspect-ratio: 16/9;\n display: block;\n background-color: var(--media-background-color, #000);\n width: 100%;\n position: relative;\n background-image: var(--mux-player-react-lazy-placeholder);\n background-repeat: no-repeat;\n background-size: var(--media-object-fit, contain);\n background-position: var(--media-object-position, 50% 50%);\n --controls: none;\n --controls-backdrop-color: rgba(0, 0, 0, 0.6);\n }\n mux-player [data-mux-player-react-lazy-placeholder-overlay] {\n position: absolute;\n inset: 0;\n background-color: var(--controls-backdrop-color);\n }\n `\n }</style>\n </>\n );\n};\n\ntype LoadingType = {\n PAGE: 'page';\n VIEWPORT: 'viewport';\n};\n\nconst LoadingType: LoadingType = {\n PAGE: 'page',\n VIEWPORT: 'viewport',\n};\n\ninterface MuxPlayerLazyProps extends MuxPlayerProps {\n loading?: ValueOf<LoadingType>;\n}\nconst MuxPlayer = React.forwardRef<MuxPlayerRefAttributes, MuxPlayerLazyProps>((props, ref) => {\n const { loading = LoadingType.VIEWPORT, ...playerProps } = props;\n\n // We load mux player once two conditions are met:\n // 1. We're in a browser (react.lazy doesn't work on the server in react 17)\n const isBrowser = useIsBrowser();\n // 2. The player has entered the viewport, according to the fallback (if enabled).\n const [isIntersecting, setIsIntersecting] = useState(() => (loading === LoadingType.VIEWPORT ? false : true));\n\n return (\n <ConditionalSuspense\n condition={isBrowser && isIntersecting}\n fallback={\n <Fallback\n style={playerProps.style}\n className={playerProps.className}\n placeholder={playerProps.placeholder}\n onIntersection={() => setIsIntersecting(true)}\n />\n }\n >\n <MuxPlayerIndex {...playerProps} ref={ref} />\n </ConditionalSuspense>\n );\n});\n\nexport default MuxPlayer;\n", "import React, { Suspense } from 'react';\n\ntype Props = {\n fallback: React.ReactChild | React.ReactFragment | React.ReactPortal | null;\n condition: boolean;\n children: React.ReactNode;\n};\nconst ConditionalSuspense = ({ condition, fallback, children, ...rest }: Props) => {\n return condition ? (\n <Suspense fallback={fallback} {...rest}>\n {children}\n Line truncated
"mappings": "aAEA,OAAOA,GAAS,aAAAC,EAAW,YAAAC,MAAgB,QCF3C,OAAOC,GAAS,YAAAC,MAAgB,QAOhC,IAAMC,EAAsB,CAAC,CAAE,UAAAC,EAAW,SAAAC,EAAU,SAAAC,EAAU,GAAGC,CAAK,IAC7DH,EACLH,EAAA,cAACC,EAAA,CAAS,SAAUG,EAAW,GAAGE,GAC/BD,CACH,EAEAL,EAAA,cAAAA,EAAA,cAAGI,CAAS,EAITG,EAAQL,ECjBf,OAAS,YAAAM,EAAU,aAAAC,MAAiB,QAEpC,IAAMC,EAAe,IAAM,CACzB,GAAM,CAACC,EAAWC,CAAY,EAAIJ,EAAS,EAAK,EAEhD,OAAAC,EAAU,IAAM,CACV,OAAO,QAAW,aACpBG,EAAa,EAAI,CAErB,EAAG,CAAC,CAAC,EAEED,CACT,EAEOE,EAAQH,ECdf,OAAS,YAAAI,EAAU,aAAAC,MAAiB,QAEpC,IAAMC,EAAoB,CAACC,EAAmCC,IAAuC,CACnG,GAAM,CAACC,EAAgBC,CAAiB,EAAIN,EAAS,EAAK,EAE1D,OAAAC,EAAU,IAAM,CACd,GAAI,OAAO,sBAAyB,WAAY,CAC9C,IAAMM,EAAW,IAAI,qBAAqB,CAAC,CAACC,CAAK,IAAM,CACrDF,EAAkBE,EAAM,cAAc,CACxC,EAAGJ,CAAO,EAEV,OAAID,EAAI,SACNI,EAAS,QAAQJ,EAAI,OAAO,EAGvB,IAAM,CACXI,EAAS,WAAW,CACtB,CACF,CACF,EAAG,CAACJ,EAAKC,CAAO,CAAC,EAEVC,CACT,EAEOI,EAAQP,EHGf,IAAMQ,EAAiBC,EAAM,KAAK,IAAM,OAAO,iBAAS,CAAC,EAKnDC,EAAYC,GAAyB,CACzC,GAAM,CAAE,MAAAC,EAAO,UAAAC,EAAW,eAAAC,EAAgB,YAAAC,CAAY,EAAIJ,EAEpDK,EAAkBP,EAAM,OAAyB,IAAI,EACrDQ,EAAiBC,EAAkBF,CAAe,EAExD,OAAAG,EAAU,IAAM,CACVF,GAAkBH,GACpBA,EAAe,CAEnB,EAAG,CAACG,EAAgBH,CAAc,CAAC,EASjCL,EAAA,cAAAA,EAAA,cACEA,EAAA,cAAC,cACC,IAAKO,EACL,yCAAsC,GACtC,YAAaD,GAAA,KAAAA,EAAe,GAC5B,MACE,CACE,sCAAuCA,EAAc,QAAQA,CAAW,MAAQ,GAChF,GAAGH,CACL,EAEF,UAAWC,GAAa,GAGxB,UAAS,GACT,cAAW,GACX,SAAU,IAEVJ,EAAA,cAAC,OAAI,iDAA8C,GAAC,CACtD,EACAA,EAAA,cAAC,aACW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAoBX,CACH,CAEJ,EAOMW,EAA2B,CAC/B,KAAM,OACN,SAAU,UACZ,EAKMC,EAAYZ,EAAM,WAAuD,CAACE,EAAOW,IAAQ,CAC7F,GAAM,CAAE,QAAAC,EAAUH,EAAY,SAAU,GAAGI,CAAY,EAAIb,EAIrDc,EAAYC,EAAa,EAEzB,CAACT,EAAgBU,CAAiB,EAAIC,EAAS,IAAOL,IAAYH,EAAY,QAAwB,EAE5G,OACEX,EAAA,cAACoB,EAAA,CACC,UAAWJ,GAAaR,EACxB,SACER,EAAA,cAACC,EAAA,CACC,MAAOc,EAAY,MACnB,UAAWA,EAAY,UACvB,YAAaA,EAAY,YACzB,eAAgB,IAAMG,EAAkB,EAAI,EAC9C,GAGFlB,EAAA,cAACD,EAAA,CAAgB,GAAGgB,EAAa,IAAKF,EAAK,CAC7C,CAEJ,CAAC,EAEMQ,EAAQT",
"names": ["React", "useEffect", "useState", "React", "Suspense", "ConditionalSuspense", "condition", "fallback", "children", "rest", "ConditionalSuspense_default", "useState", "useEffect", "useIsBrowser", "isBrowser", "setIsBrowser", "useIsBrowser_default", "useState", "useEffect", "useIsIntersecting", "ref", "options", "isIntersecting", "setIsIntersecting", "observer", "entry", "useIsIntersecting_default", "MuxPlayerIndex", "React", "Fallback", "props", "style", "className", "onIntersection", "placeholder", "intersectionRef", "isIntersecting", "useIsIntersecting_default", "useEffect", "LoadingType", "MuxPlayer", "ref", "loading", "playerProps", "isBrowser", "useIsBrowser_default", "setIsIntersecting", "useState", "ConditionalSuspense_default", "lazy_default"]
}
+2
View File
@@ -0,0 +1,2 @@
"use strict";"use client";var l=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var o=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var r=(t,e)=>{for(var i in e)l(t,i,{get:e[i],enumerable:!0})},u=(t,e,i,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let c of o(e))!p.call(t,c)&&c!==i&&l(t,c,{get:()=>e[c],enumerable:!(s=a(e,c))||s.enumerable});return t};var d=t=>u(l({},"__esModule",{value:!0}),t);var m={};r(m,{default:()=>f});module.exports=d(m);var x=require("@mux/mux-player/themes/classic"),f="classic";
//# sourceMappingURL=classic.cjs.js.map
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../src/themes/classic.ts"],
"sourcesContent": ["'use client';\nimport '@mux/mux-player/themes/classic';\nexport default 'classic';\n"],
"mappings": "sbAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAAO,0CACAF,EAAQ",
"names": ["classic_exports", "__export", "classic_default", "__toCommonJS", "import_classic"]
}
+2
View File
@@ -0,0 +1,2 @@
"use client";import"@mux/mux-player/themes/classic";var t="classic";export{t as default};
//# sourceMappingURL=classic.mjs.map
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../src/themes/classic.ts"],
"sourcesContent": ["'use client';\nimport '@mux/mux-player/themes/classic';\nexport default 'classic';\n"],
"mappings": "aACA,MAAO,iCACP,IAAOA,EAAQ",
"names": ["classic_default"]
}
+2
View File
@@ -0,0 +1,2 @@
"use strict";"use client";var g=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var a=(t,e)=>{for(var r in e)g(t,r,{get:e[r],enumerable:!0})},c=(t,e,r,l)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of p(e))!u.call(t,i)&&i!==r&&g(t,i,{get:()=>e[i],enumerable:!(l=o(e,i))||l.enumerable});return t};var d=t=>c(g({},"__esModule",{value:!0}),t);var m={};a(m,{default:()=>f});module.exports=d(m);var s=require("@mux/mux-player/themes/gerwig"),f="gerwig";
//# sourceMappingURL=gerwig.cjs.js.map
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../src/themes/gerwig.ts"],
"sourcesContent": ["'use client';\nimport '@mux/mux-player/themes/gerwig';\nexport default 'gerwig';\n"],
"mappings": "sbAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAAO,yCACAF,EAAQ",
"names": ["gerwig_exports", "__export", "gerwig_default", "__toCommonJS", "import_gerwig"]
}
+2
View File
@@ -0,0 +1,2 @@
"use client";import"@mux/mux-player/themes/gerwig";var t="gerwig";export{t as default};
//# sourceMappingURL=gerwig.mjs.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../src/themes/gerwig.ts"],
"sourcesContent": ["'use client';\nimport '@mux/mux-player/themes/gerwig';\nexport default 'gerwig';\n"],
"mappings": "aACA,MAAO,gCACP,IAAOA,EAAQ",
"names": ["gerwig_default"]
}
@@ -0,0 +1,2 @@
"use strict";"use client";var r=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var p=(i,e)=>{for(var t in e)r(i,t,{get:e[t],enumerable:!0})},u=(i,e,t,c)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of l(e))!m.call(i,o)&&o!==t&&r(i,o,{get:()=>e[o],enumerable:!(c=d(e,o))||c.enumerable});return i};var a=i=>u(r({},"__esModule",{value:!0}),i);var n={};p(n,{default:()=>f});module.exports=a(n);var v=require("@mux/mux-player/themes/microvideo"),f="microvideo";
//# sourceMappingURL=microvideo.cjs.js.map
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../src/themes/microvideo.ts"],
"sourcesContent": ["'use client';\nimport '@mux/mux-player/themes/microvideo';\nexport default 'microvideo';\n"],
"mappings": "sbAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAAO,6CACAF,EAAQ",
"names": ["microvideo_exports", "__export", "microvideo_default", "__toCommonJS", "import_microvideo"]
}
+2
View File
@@ -0,0 +1,2 @@
"use client";import"@mux/mux-player/themes/microvideo";var i="microvideo";export{i as default};
//# sourceMappingURL=microvideo.mjs.map
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../src/themes/microvideo.ts"],
"sourcesContent": ["'use client';\nimport '@mux/mux-player/themes/microvideo';\nexport default 'microvideo';\n"],
"mappings": "aACA,MAAO,oCACP,IAAOA,EAAQ",
"names": ["microvideo_default"]
}
+2
View File
@@ -0,0 +1,2 @@
"use strict";"use client";var m=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var o=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var r=(i,e)=>{for(var l in e)m(i,l,{get:e[l],enumerable:!0})},u=(i,e,l,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of o(e))!p.call(i,t)&&t!==l&&m(i,t,{get:()=>e[t],enumerable:!(a=n(e,t))||a.enumerable});return i};var c=i=>u(m({},"__esModule",{value:!0}),i);var f={};r(f,{default:()=>d});module.exports=c(f);var x=require("@mux/mux-player/themes/minimal"),d="minimal";
//# sourceMappingURL=minimal.cjs.js.map
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../src/themes/minimal.ts"],
"sourcesContent": ["'use client';\nimport '@mux/mux-player/themes/minimal';\nexport default 'minimal';\n"],
"mappings": "sbAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAAO,0CACAF,EAAQ",
"names": ["minimal_exports", "__export", "minimal_default", "__toCommonJS", "import_minimal"]
}
+2
View File
@@ -0,0 +1,2 @@
"use client";import"@mux/mux-player/themes/minimal";var i="minimal";export{i as default};
//# sourceMappingURL=minimal.mjs.map
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../src/themes/minimal.ts"],
"sourcesContent": ["'use client';\nimport '@mux/mux-player/themes/minimal';\nexport default 'minimal';\n"],
"mappings": "aACA,MAAO,iCACP,IAAOA,EAAQ",
"names": ["minimal_default"]
}
+1
View File
@@ -0,0 +1 @@
{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/typescript/lib/lib.es2019.full.d.ts","../../../node_modules/@types/react/global.d.ts","../../../node_modules/csstype/index.d.ts","../../../node_modules/@types/prop-types/index.d.ts","../../../node_modules/@types/react/index.d.ts","../src/ConditionalSuspense.tsx","../src/env.ts","../../../node_modules/mux-embed/dist/types/mux-embed.d.ts","../../playback-core/dist/types/errors.d.ts","../../../node_modules/hls.js/dist/hls.js.d.ts","../../playback-core/dist/types/types.d.ts","../../playback-core/dist/types/hls.d.ts","../../playback-core/dist/types/text-tracks.d.ts","../../playback-core/dist/types/pdt.d.ts","../../playback-core/dist/types/util.d.ts","../../playback-core/dist/types/request-errors.d.ts","../../playback-core/dist/types/index.d.ts","../../../node_modules/media-chrome/dist/constants.d.ts","../../../node_modules/media-chrome/dist/labels/labels.d.ts","../../../node_modules/media-chrome/dist/utils/time.d.ts","../../../node_modules/media-chrome/dist/utils/server-safe-globals.d.ts","../../../node_modules/media-chrome/dist/media-gesture-receiver.d.ts","../../../node_modules/media-chrome/dist/media-container.d.ts","../../../node_modules/media-chrome/dist/utils/attribute-token-list.d.ts","../../../node_modules/media-chrome/dist/media-store/state-mediator.d.ts","../../../node_modules/media-chrome/dist/media-store/request-map.d.ts","../../../node_modules/media-chrome/dist/media-store/media-store.d.ts","../../../node_modules/media-chrome/dist/media-controller.d.ts","../../../node_modules/media-chrome/dist/media-tooltip.d.ts","../../../node_modules/media-chrome/dist/media-chrome-button.d.ts","../../../node_modules/media-chrome/dist/media-airplay-button.d.ts","../../../node_modules/media-chrome/dist/utils/TextTrackLike.d.ts","../../../node_modules/media-chrome/dist/media-captions-button.d.ts","../../../node_modules/media-chrome/dist/media-cast-button.d.ts","../../../node_modules/media-chrome/dist/media-chrome-dialog.d.ts","../../../node_modules/media-chrome/dist/media-chrome-range.d.ts","../../../node_modules/media-chrome/dist/media-control-bar.d.ts","../../../node_modules/media-chrome/dist/media-text-display.d.ts","../../../node_modules/media-chrome/dist/media-duration-display.d.ts","../../../node_modules/media-chrome/dist/media-fullscreen-button.d.ts","../../../node_modules/media-chrome/dist/media-live-button.d.ts","../../../node_modules/media-chrome/dist/media-loading-indicator.d.ts","../../../node_modules/media-chrome/dist/media-mute-button.d.Line truncated
@@ -0,0 +1,8 @@
import React from 'react';
type Props = {
fallback: React.ReactChild | React.ReactFragment | React.ReactPortal | null;
condition: boolean;
children: React.ReactNode;
};
declare const ConditionalSuspense: ({ condition, fallback, children, ...rest }: Props) => React.JSX.Element;
export default ConditionalSuspense;
@@ -0,0 +1,11 @@
type KeyTypes = string | number | symbol;
type Maybe<T> = T | null | undefined;
export declare const isNil: (x: unknown) => x is null | undefined;
export declare const isKeyOf: <T extends {} = any>(k: KeyTypes, o: Maybe<T>) => k is keyof T;
export declare const toNativeAttrName: (propName: string, propValue: any) => string | undefined;
export declare const toStyleAttr: <T>(x: T) => T;
export declare const toNativeAttrValue: (propValue: any, propName: string) => any;
export declare const toNativeProps: (props?: {}) => {
[k: string]: string;
};
export {};
+1
View File
@@ -0,0 +1 @@
export declare const getPlayerVersion: () => string;
+117
View File
@@ -0,0 +1,117 @@
import React from 'react';
import { CSSProperties } from 'react';
import { StreamTypes, PlaybackTypes, CmcdTypes, MaxResolutionValue, MinResolutionValue, RenditionOrderValue } from '@mux/playback-core';
import { MaxResolution, MinResolution, RenditionOrder } from '@mux/playback-core';
import { MediaError } from '@mux/mux-player';
import MuxPlayerElement from '@mux/mux-player';
import { Tokens, MuxPlayerElementEventMap } from '@mux/mux-player';
export { MediaError, MaxResolution, MinResolution, RenditionOrder };
type ValueOf<T> = T[keyof T];
interface GenericEventListener<T extends Event = CustomEvent> {
(evt: T): void;
}
export type MuxPlayerRefAttributes = MuxPlayerElement;
type VideoApiAttributes = {
currentTime: number;
volume: number;
paused: boolean;
src: string | null;
poster: string;
playbackRate: number;
playsInline: boolean;
preload: string;
crossOrigin: string;
autoPlay: boolean | string;
loop: boolean;
muted: boolean;
style: CSSProperties;
};
type MuxMediaPropTypes = {
audio: boolean;
envKey: string;
debug: boolean;
disableTracking: boolean;
disableCookies: boolean;
disablePictureInPicture?: boolean;
metadata: {
[k: string]: any;
};
extraSourceParams: Record<string, any>;
_hlsConfig: MuxPlayerElement['_hlsConfig'];
beaconCollectionDomain: string;
customDomain: string;
playbackId: string;
preferPlayback: ValueOf<PlaybackTypes> | undefined;
streamType: ValueOf<StreamTypes> | 'll-live' | 'live:dvr' | 'll-live:dvr';
defaultStreamType: ValueOf<StreamTypes>;
targetLiveWindow: number;
startTime: number;
storyboardSrc: string;
preferCmcd: ValueOf<CmcdTypes> | undefined;
children?: React.ReactNode;
};
export type MuxPlayerProps = {
className?: string;
hotkeys?: string;
nohotkeys?: boolean;
castReceiver?: string | undefined;
castCustomData?: Record<string, any> | undefined;
defaultHiddenCaptions?: boolean;
playerSoftwareVersion?: string;
playerSoftwareName?: string;
forwardSeekOffset?: number;
backwardSeekOffset?: number;
maxResolution?: MaxResolutionValue;
minResolution?: MinResolutionValue;
renditionOrder?: RenditionOrderValue;
programStartTime?: number;
programEndTime?: number;
assetStartTime?: number;
assetEndTime?: number;
metadataVideoId?: string;
metadataVideoTitle?: string;
metadataViewerUserId?: string;
primaryColor?: string;
secondaryColor?: string;
accentColor?: string;
placeholder?: string;
playbackRates?: number[];
defaultShowRemainingTime?: boolean;
defaultDuration?: number;
noVolumePref?: boolean;
thumbnailTime?: number;
title?: string;
tokens?: Tokens;
theme?: string;
themeProps?: {
[k: string]: any;
};
onAbort?: GenericEventListener<MuxPlayerElementEventMap['abort']>;
onCanPlay?: GenericEventListener<MuxPlayerElementEventMap['canplay']>;
onCanPlayThrough?: GenericEventListener<MuxPlayerElementEventMap['canplaythrough']>;
onEmptied?: GenericEventListener<MuxPlayerElementEventMap['emptied']>;
onLoadStart?: GenericEventListener<MuxPlayerElementEventMap['loadstart']>;
onLoadedData?: GenericEventListener<MuxPlayerElementEventMap['loadeddata']>;
onLoadedMetadata?: GenericEventListener<MuxPlayerElementEventMap['loadedmetadata']>;
onProgress?: GenericEventListener<MuxPlayerElementEventMap['progress']>;
onDurationChange?: GenericEventListener<MuxPlayerElementEventMap['durationchange']>;
onVolumeChange?: GenericEventListener<MuxPlayerElementEventMap['volumechange']>;
onRateChange?: GenericEventListener<MuxPlayerElementEventMap['ratechange']>;
onResize?: GenericEventListener<MuxPlayerElementEventMap['resize']>;
onWaiting?: GenericEventListener<MuxPlayerElementEventMap['waiting']>;
onPlay?: GenericEventListener<MuxPlayerElementEventMap['play']>;
onPlaying?: GenericEventListener<MuxPlayerElementEventMap['playing']>;
onTimeUpdate?: GenericEventListener<MuxPlayerElementEventMap['timeupdate']>;
onPause?: GenericEventListener<MuxPlayerElementEventMap['pause']>;
onSeeking?: GenericEventListener<MuxPlayerElementEventMap['seeking']>;
onSeeked?: GenericEventListener<MuxPlayerElementEventMap['seeked']>;
onStalled?: GenericEventListener<MuxPlayerElementEventMap['stalled']>;
onSuspend?: GenericEventListener<MuxPlayerElementEventMap['suspend']>;
onEnded?: GenericEventListener<MuxPlayerElementEventMap['ended']>;
onError?: GenericEventListener<MuxPlayerElementEventMap['error']>;
onCuePointChange?: GenericEventListener<MuxPlayerElementEventMap['cuepointchange']>;
onCuePointsChange?: GenericEventListener<MuxPlayerElementEventMap['cuepointschange']>;
onChapterChange?: GenericEventListener<MuxPlayerElementEventMap['chapterchange']>;
} & Partial<MuxMediaPropTypes> & Partial<VideoApiAttributes>;
declare const MuxPlayer: React.ForwardRefExoticComponent<Pick<MuxPlayerProps, Exclude<keyof MuxPlayerProps, "playerSoftwareName" | "playerSoftwareVersion">> & React.RefAttributes<MuxPlayerElement>>;
export default MuxPlayer;
+26
View File
@@ -0,0 +1,26 @@
import React from 'react';
import { ValueOf } from '@mux/playback-core';
import { MuxPlayerProps } from './index';
import MuxPlayerElement from '@mux/mux-player';
interface MuxPlayerElementReact extends Partial<Pick<MuxPlayerElement, Exclude<keyof MuxPlayerElement, 'style' | 'children'>>> {
ref: React.MutableRefObject<MuxPlayerElement | null> | null | undefined;
style: React.CSSProperties;
children?: React.ReactNode;
}
declare global {
namespace JSX {
interface IntrinsicElements {
'mux-player': MuxPlayerElementReact;
}
}
}
type LoadingType = {
PAGE: 'page';
VIEWPORT: 'viewport';
};
declare const LoadingType: LoadingType;
interface MuxPlayerLazyProps extends MuxPlayerProps {
loading?: ValueOf<LoadingType>;
}
declare const MuxPlayer: React.ForwardRefExoticComponent<MuxPlayerLazyProps & React.RefAttributes<MuxPlayerElement>>;
export default MuxPlayer;
@@ -0,0 +1,3 @@
import '@mux/mux-player/themes/classic';
declare const _default: "classic";
export default _default;
@@ -0,0 +1,3 @@
import '@mux/mux-player/themes/gerwig';
declare const _default: "gerwig";
export default _default;
@@ -0,0 +1,3 @@
import '@mux/mux-player/themes/microvideo';
declare const _default: "microvideo";
export default _default;
@@ -0,0 +1,3 @@
import '@mux/mux-player/themes/minimal';
declare const _default: "minimal";
export default _default;
@@ -0,0 +1,11 @@
import { MutableRefObject, ForwardedRef } from 'react';
type Maybe<T> = T | null | undefined;
type RefCb<T> = (instance: Maybe<T>) => void;
type RefObj<T> = MutableRefObject<Maybe<T>>;
type RefTypes<T> = RefObj<T> | RefCb<T> | ForwardedRef<T>;
interface useCombinedRefs {
<T>(...refs: Maybe<RefTypes<T>>[]): RefObj<T>;
}
export declare const useCombinedRefs: useCombinedRefs;
declare const defaultUseCombinedRefs: useCombinedRefs;
export default defaultUseCombinedRefs;
@@ -0,0 +1,2 @@
declare const useIsBrowser: () => boolean;
export default useIsBrowser;
@@ -0,0 +1,2 @@
declare const useIsIntersecting: (ref: React.RefObject<HTMLElement>, options?: IntersectionObserverInit) => boolean;
export default useIsIntersecting;
@@ -0,0 +1,5 @@
export declare const defaultHasChanged: (obj: any, v: any, k: string) => boolean;
export declare const useObjectPropEffect: <T extends {
[k: string]: any;
}, V>(propName: string, propValue: V | null | undefined, ref: React.MutableRefObject<T | null> | null | undefined, updateValue?: (obj: any, v: any, k: string) => void, hasChanged?: (obj: any, v: any, k: string) => boolean) => void;
export default useObjectPropEffect;
@@ -0,0 +1,8 @@
import React from 'react';
type Props = {
fallback: React.ReactChild | React.ReactFragment | React.ReactPortal | null;
condition: boolean;
children: React.ReactNode;
};
declare const ConditionalSuspense: ({ condition, fallback, children, ...rest }: Props) => React.JSX.Element;
export default ConditionalSuspense;
+11
View File
@@ -0,0 +1,11 @@
type KeyTypes = string | number | symbol;
type Maybe<T> = T | null | undefined;
export declare const isNil: (x: unknown) => x is null | undefined;
export declare const isKeyOf: <T extends {} = any>(k: KeyTypes, o: Maybe<T>) => k is keyof T;
export declare const toNativeAttrName: (propName: string, propValue: any) => string | undefined;
export declare const toStyleAttr: <T>(x: T) => T;
export declare const toNativeAttrValue: (propValue: any, propName: string) => any;
export declare const toNativeProps: (props?: {}) => {
[k: string]: string;
};
export {};
+1
View File
@@ -0,0 +1 @@
export declare const getPlayerVersion: () => string;
+117
View File
@@ -0,0 +1,117 @@
import React from 'react';
import type { CSSProperties } from 'react';
import type { StreamTypes, PlaybackTypes, CmcdTypes, MaxResolutionValue, MinResolutionValue, RenditionOrderValue } from '@mux/playback-core';
import { MaxResolution, MinResolution, RenditionOrder } from '@mux/playback-core';
import { MediaError } from '@mux/mux-player';
import type MuxPlayerElement from '@mux/mux-player';
import type { Tokens, MuxPlayerElementEventMap } from '@mux/mux-player';
export { MediaError, MaxResolution, MinResolution, RenditionOrder };
type ValueOf<T> = T[keyof T];
interface GenericEventListener<T extends Event = CustomEvent> {
(evt: T): void;
}
export type MuxPlayerRefAttributes = MuxPlayerElement;
type VideoApiAttributes = {
currentTime: number;
volume: number;
paused: boolean;
src: string | null;
poster: string;
playbackRate: number;
playsInline: boolean;
preload: string;
crossOrigin: string;
autoPlay: boolean | string;
loop: boolean;
muted: boolean;
style: CSSProperties;
};
type MuxMediaPropTypes = {
audio: boolean;
envKey: string;
debug: boolean;
disableTracking: boolean;
disableCookies: boolean;
disablePictureInPicture?: boolean;
metadata: {
[k: string]: any;
};
extraSourceParams: Record<string, any>;
_hlsConfig: MuxPlayerElement['_hlsConfig'];
beaconCollectionDomain: string;
customDomain: string;
playbackId: string;
preferPlayback: ValueOf<PlaybackTypes> | undefined;
streamType: ValueOf<StreamTypes> | 'll-live' | 'live:dvr' | 'll-live:dvr';
defaultStreamType: ValueOf<StreamTypes>;
targetLiveWindow: number;
startTime: number;
storyboardSrc: string;
preferCmcd: ValueOf<CmcdTypes> | undefined;
children?: React.ReactNode;
};
export type MuxPlayerProps = {
className?: string;
hotkeys?: string;
nohotkeys?: boolean;
castReceiver?: string | undefined;
castCustomData?: Record<string, any> | undefined;
defaultHiddenCaptions?: boolean;
playerSoftwareVersion?: string;
playerSoftwareName?: string;
forwardSeekOffset?: number;
backwardSeekOffset?: number;
maxResolution?: MaxResolutionValue;
minResolution?: MinResolutionValue;
renditionOrder?: RenditionOrderValue;
programStartTime?: number;
programEndTime?: number;
assetStartTime?: number;
assetEndTime?: number;
metadataVideoId?: string;
metadataVideoTitle?: string;
metadataViewerUserId?: string;
primaryColor?: string;
secondaryColor?: string;
accentColor?: string;
placeholder?: string;
playbackRates?: number[];
defaultShowRemainingTime?: boolean;
defaultDuration?: number;
noVolumePref?: boolean;
thumbnailTime?: number;
title?: string;
tokens?: Tokens;
theme?: string;
themeProps?: {
[k: string]: any;
};
onAbort?: GenericEventListener<MuxPlayerElementEventMap['abort']>;
onCanPlay?: GenericEventListener<MuxPlayerElementEventMap['canplay']>;
onCanPlayThrough?: GenericEventListener<MuxPlayerElementEventMap['canplaythrough']>;
onEmptied?: GenericEventListener<MuxPlayerElementEventMap['emptied']>;
onLoadStart?: GenericEventListener<MuxPlayerElementEventMap['loadstart']>;
onLoadedData?: GenericEventListener<MuxPlayerElementEventMap['loadeddata']>;
onLoadedMetadata?: GenericEventListener<MuxPlayerElementEventMap['loadedmetadata']>;
onProgress?: GenericEventListener<MuxPlayerElementEventMap['progress']>;
onDurationChange?: GenericEventListener<MuxPlayerElementEventMap['durationchange']>;
onVolumeChange?: GenericEventListener<MuxPlayerElementEventMap['volumechange']>;
onRateChange?: GenericEventListener<MuxPlayerElementEventMap['ratechange']>;
onResize?: GenericEventListener<MuxPlayerElementEventMap['resize']>;
onWaiting?: GenericEventListener<MuxPlayerElementEventMap['waiting']>;
onPlay?: GenericEventListener<MuxPlayerElementEventMap['play']>;
onPlaying?: GenericEventListener<MuxPlayerElementEventMap['playing']>;
onTimeUpdate?: GenericEventListener<MuxPlayerElementEventMap['timeupdate']>;
onPause?: GenericEventListener<MuxPlayerElementEventMap['pause']>;
onSeeking?: GenericEventListener<MuxPlayerElementEventMap['seeking']>;
onSeeked?: GenericEventListener<MuxPlayerElementEventMap['seeked']>;
onStalled?: GenericEventListener<MuxPlayerElementEventMap['stalled']>;
onSuspend?: GenericEventListener<MuxPlayerElementEventMap['suspend']>;
onEnded?: GenericEventListener<MuxPlayerElementEventMap['ended']>;
onError?: GenericEventListener<MuxPlayerElementEventMap['error']>;
onCuePointChange?: GenericEventListener<MuxPlayerElementEventMap['cuepointchange']>;
onCuePointsChange?: GenericEventListener<MuxPlayerElementEventMap['cuepointschange']>;
onChapterChange?: GenericEventListener<MuxPlayerElementEventMap['chapterchange']>;
} & Partial<MuxMediaPropTypes> & Partial<VideoApiAttributes>;
declare const MuxPlayer: React.ForwardRefExoticComponent<Omit<MuxPlayerProps, "playerSoftwareName" | "playerSoftwareVersion"> & React.RefAttributes<MuxPlayerElement>>;
export default MuxPlayer;
+26
View File
@@ -0,0 +1,26 @@
import React from 'react';
import type { ValueOf } from '@mux/playback-core';
import type { MuxPlayerProps } from './index';
import type MuxPlayerElement from '@mux/mux-player';
interface MuxPlayerElementReact extends Partial<Omit<MuxPlayerElement, 'style' | 'children'>> {
ref: React.MutableRefObject<MuxPlayerElement | null> | null | undefined;
style: React.CSSProperties;
children?: React.ReactNode;
}
declare global {
namespace JSX {
interface IntrinsicElements {
'mux-player': MuxPlayerElementReact;
}
}
}
type LoadingType = {
PAGE: 'page';
VIEWPORT: 'viewport';
};
declare const LoadingType: LoadingType;
interface MuxPlayerLazyProps extends MuxPlayerProps {
loading?: ValueOf<LoadingType>;
}
declare const MuxPlayer: React.ForwardRefExoticComponent<MuxPlayerLazyProps & React.RefAttributes<MuxPlayerElement>>;
export default MuxPlayer;
@@ -0,0 +1,3 @@
import '@mux/mux-player/themes/classic';
declare const _default: "classic";
export default _default;
@@ -0,0 +1,3 @@
import '@mux/mux-player/themes/gerwig';
declare const _default: "gerwig";
export default _default;
@@ -0,0 +1,3 @@
import '@mux/mux-player/themes/microvideo';
declare const _default: "microvideo";
export default _default;
@@ -0,0 +1,3 @@
import '@mux/mux-player/themes/minimal';
declare const _default: "minimal";
export default _default;
@@ -0,0 +1,11 @@
import type { MutableRefObject, ForwardedRef } from 'react';
type Maybe<T> = T | null | undefined;
type RefCb<T> = (instance: Maybe<T>) => void;
type RefObj<T> = MutableRefObject<Maybe<T>>;
type RefTypes<T> = RefObj<T> | RefCb<T> | ForwardedRef<T>;
interface useCombinedRefs {
<T>(...refs: Maybe<RefTypes<T>>[]): RefObj<T>;
}
export declare const useCombinedRefs: useCombinedRefs;
declare const defaultUseCombinedRefs: useCombinedRefs;
export default defaultUseCombinedRefs;
@@ -0,0 +1,2 @@
declare const useIsBrowser: () => boolean;
export default useIsBrowser;
@@ -0,0 +1,2 @@
declare const useIsIntersecting: (ref: React.RefObject<HTMLElement>, options?: IntersectionObserverInit) => boolean;
export default useIsIntersecting;
@@ -0,0 +1,5 @@
export declare const defaultHasChanged: (obj: any, v: any, k: string) => boolean;
export declare const useObjectPropEffect: <T extends {
[k: string]: any;
}, V>(propName: string, propValue: V | null | undefined, ref: React.MutableRefObject<T | null> | null | undefined, updateValue?: (obj: any, v: any, k: string) => void, hasChanged?: (obj: any, v: any, k: string) => boolean) => void;
export default useObjectPropEffect;
+118
View File
@@ -0,0 +1,118 @@
{
"name": "@mux/mux-player-react",
"version": "3.1.0",
"description": "An open source Mux player for React that Just Works™",
"homepage": "https://mux.com/player",
"keywords": [
"video",
"mux",
"player",
"hls",
"react"
],
"main": "./dist/index.cjs.js",
"module": "./dist/index.mjs",
"typesVersions": {
"<4.3.5": {
".": [
"./dist/types-ts3.4/index.d.ts"
],
"themes/*": [
"./dist/types-ts3.4/themes/*.d.ts"
],
"lazy": [
"./dist/types-ts3.4/lazy.d.ts"
]
},
"*": {
".": [
"./dist/types/index.d.ts"
],
"themes/*": [
"./dist/types/themes/*.d.ts"
],
"lazy": [
"./dist/types/lazy.d.ts"
]
}
},
"exports": {
".": {
"import": "./dist/index.mjs",
"require": "./dist/index.cjs.js",
"default": "./dist/index.cjs.js",
"types@<4.3.5": "./dist/types-ts3.4/index.d.ts",
"types": "./dist/types/index.d.ts"
},
"./lazy": {
"import": "./dist/lazy.mjs",
"default": "./dist/lazy.mjs",
"types@<4.3.5": "./dist/types-ts3.4/lazy.d.ts",
"types": "./dist/types/lazy.d.ts"
},
"./themes/*": {
"import": "./dist/themes/*.mjs",
"require": "./dist/themes/*.cjs.js",
"default": "./dist/themes/*.cjs.js",
"types@<4.3.5": "./dist/types-ts3.4/themes/*.d.ts",
"types": "./dist/types/themes/*.d.ts"
}
},
"types": "./dist/types/index.d.ts",
"repository": {
"type": "git",
"url": "https://github.com/muxinc/elements",
"directory": "packages/mux-player-react"
},
"author": "Mux, Inc.",
"license": "MIT",
"scripts": {
"clean": "shx rm -rf dist/",
"dev:cjs": "yarn build:cjs --watch=forever",
"dev:esm": "yarn build:esm --watch=forever",
"dev:cjs:lazy": "echo 'esbuild cjs does not support code-splitting. See https://esbuild.github.io/api/#splitting for details'",
"dev:esm:lazy": "yarn build:esm:lazy --watch=forever",
"dev:types": "yarn build:types -w",
"dev": "npm-run-all --parallel dev:types dev:cjs dev:esm dev:esm:lazy",
"build:cjs": "esbuild src/index.tsx src/themes/*.ts --target=es2019 --bundle --sourcemap --metafile=./dist/cjs.json --format=cjs --loader:.css=text --outdir=dist --out-extension:.js=.cjs.js --external:react --external:@mux/* --external:prop-types --define:PLAYER_VERSION=\"'$npm_package_version'\"",
"build:esm": "esbuild src/index.tsx src/themes/*.ts --target=es2019 --bundle --sourcemap --metafile=./dist/esm.json --format=esm --loader:.css=text --outdir=dist --out-extension:.js=.mjs --external:react --external:@mux/* --external:prop-types --define:PLAYER_VERSION=\"'$npm_package_version'\"",
"build:cjs:lazy": "echo 'esbuild cjs does not support code-splitting. See https://esbuild.github.io/api/#splitting for details'",
"build:esm:lazy": "esbuild src/lazy.tsx --splitting --target=es2019 --bundle --sourcemap --metafile=./dist/esm.lazy.json --format=esm --loader:.css=text --outdir=dist --out-extension:.js=.mjs --external:react --external:@mux/* --external:prop-types --define:PLAYER_VERSION=\"'$npm_package_version'\"",
"build:types": "tsc",
"postbuild:types": "downlevel-dts ./dist/types ./dist/types-ts3.4",
"build": "npm-run-all --parallel 'build:cjs --minify' 'build:esm --minify' 'build:esm:lazy --minify'",
"create-release-notes": "create-release-notes ./CHANGELOG.md",
"publish-release": "../../scripts/publish.sh"
},
"peerDependencies": {
"@types/react": "^17.0.0 || ^17.0.0-0 || ^18 || ^18.0.0-0 || ^19 || ^19.0.0-0",
"react": "^17.0.2 || ^17.0.0-0 || ^18 || ^18.0.0-0 || ^19 || ^19.0.0-0",
"react-dom": "^17.0.2 || ^17.0.2-0 || ^18 || ^18.0.0-0 || ^19 || ^19.0.0-0"
},
"peerDependenciesMeta": {
"@types/react": {
"optional": true
},
"@types/react-dom": {
"optional": true
}
},
"dependencies": {
"@mux/mux-player": "3.1.0",
"@mux/playback-core": "0.27.0",
"prop-types": "^15.7.2"
},
"devDependencies": {
"@types/prop-types": "^15.7.12",
"@types/react": "^18.2.79",
"@types/react-dom": "^18.2.25",
"downlevel-dts": "^0.11.0",
"esbuild": "^0.19.8",
"npm-run-all": "^4.1.5",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"shx": "^0.3.4",
"typescript": "^5.5.4"
},
"gitHead": "e1d17f4ce383e95489fc778d3c5bda3b89a27b5b"
}
+9
View File
@@ -0,0 +1,9 @@
MIT License
Copyright (c) 2021 Mux, Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+48
View File
@@ -0,0 +1,48 @@
<p align="center">
<h1 align="center">&lt;mux-player&gt;</h1>
<a href="https://npmcharts.com/compare/@mux/mux-player?interval=30"><img src="https://img.shields.io/npm/dm/@mux/mux-player.svg?sanitize=true" alt="Downloads"></a>
<a href="https://www.npmjs.com/package/@mux/mux-player"><img src="https://img.shields.io/npm/v/@mux/mux-player.svg?sanitize=true" alt="Version"></a>
<a href="https://www.npmjs.com/package/@mux/mux-player"><img src="https://img.shields.io/npm/l/@mux/mux-player.svg?sanitize=true" alt="License"></a>
</p>
# New release: 3.0
Mux Player recently released 3.0. The most visible change in this is new tooltips that are enabled by default, as well as [other fixes and changes](https://docs.mux.com/guides/player-releases-web#300).
## Previous version: 2.0
For changes relating to the previous major release, 2.0, see the [V1 to V2 upgrade guide](https://github.com/muxinc/elements/blob/main/packages/mux-player/UPGRADING_V1_to_V2.md) and the [blog post announcement](https://www.mux.com/blog/mux-player-2-0-for-web-and-coming-soon-for-ios-and-android).
# Introduction
`<mux-player>` is the official Mux-flavored video player web component.
The player UI is built on [Media Chrome](https://media-chrome.org) and [`<mux-video>`](../mux-video) drives the core video logic used to play Mux Video content.
# Installation
```shell
npm install @mux/mux-player
```
or
```shell
yarn add @mux/mux-player
```
# Usage
```html
<mux-player
playback-id="DS00Spx1CV902MCtPj5WknGlR102V5HFkDe"
metadata-video-title="Big Buck Bunny"
metadata-viewer-user-id="user-id-1234"
></mux-player>
```
# Docs
Docs and guides live on [docs.mux.com](https://docs.mux.com/guides/video/mux-player?utm_source=github-mux-player).
API reference lives [on Github](./REFERENCE.md).
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+1
View File
@@ -0,0 +1 @@
{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/typescript/lib/lib.es2019.full.d.ts","../src/polyfills/index.ts","../src/media-chrome/dialog.ts","../src/dialog.ts","../../../node_modules/mux-embed/dist/types/mux-embed.d.ts","../../playback-core/dist/types/errors.d.ts","../../../node_modules/hls.js/dist/hls.js.d.ts","../../playback-core/dist/types/types.d.ts","../../playback-core/dist/types/hls.d.ts","../../playback-core/dist/types/text-tracks.d.ts","../../playback-core/dist/types/pdt.d.ts","../../playback-core/dist/types/util.d.ts","../../playback-core/dist/types/request-errors.d.ts","../../playback-core/dist/types/index.d.ts","../../../node_modules/custom-media-element/custom-media-element.d.ts","../../../node_modules/media-tracks/dist/video-rendition.d.ts","../../../node_modules/media-tracks/dist/video-track.d.ts","../../../node_modules/media-tracks/dist/video-track-list.d.ts","../../../node_modules/media-tracks/dist/audio-rendition.d.ts","../../../node_modules/media-tracks/dist/audio-track.d.ts","../../../node_modules/media-tracks/dist/audio-track-list.d.ts","../../../node_modules/media-tracks/dist/video-rendition-list.d.ts","../../../node_modules/media-tracks/dist/audio-rendition-list.d.ts","../../../node_modules/media-tracks/dist/mixin.d.ts","../../../node_modules/media-tracks/dist/track-event.d.ts","../../../node_modules/media-tracks/dist/rendition-event.d.ts","../../../node_modules/media-tracks/dist/index.d.ts","../../mux-video/dist/types/index.d.ts","../src/utils.ts","../src/helpers.ts","../src/types.d.ts","../src/errors.ts","../../../node_modules/media-chrome/dist/utils/server-safe-globals.d.ts","../../../node_modules/media-chrome/dist/media-gesture-receiver.d.ts","../../../node_modules/media-chrome/dist/media-container.d.ts","../../../node_modules/media-chrome/dist/utils/attribute-token-list.d.ts","../../../node_modules/media-chrome/dist/constants.d.ts","../../../node_modules/media-chrome/dist/media-store/state-mediator.d.ts","../../../node_modules/media-chrome/dist/media-store/request-map.d.ts","../../../node_modules/media-chrome/dist/media-store/media-store.d.ts","../../../node_modules/media-chrome/dist/media-controller.d.ts","../../../node_modules/media-chrome/dist/utils/template-parts.d.ts","../../../node_modules/media-chrome/dist/media-theme-element.d.ts","../src/html.ts","../../../node_modules/media-chrome/dist/labels/labels.d.ts","../../../node_modules/media-chrome/dist/utils/time.d.ts","../../../node_modules/media-chrome/dist/media-tooltip.d.ts","../../../node_modules/meLine truncated
+6
View File
@@ -0,0 +1,6 @@
import MediaDialog from './media-chrome/dialog';
declare class MxpDialog extends MediaDialog {
static template: HTMLTemplateElement;
constructor();
}
export default MxpDialog;
+6
View File
@@ -0,0 +1,6 @@
import { DialogOptions, DevlogOptions } from './types';
import { MediaError } from '@mux/playback-core';
export declare function getErrorLogs(error: MediaError, translate?: boolean): {
dialog: DialogOptions;
devlog: DevlogOptions;
};
+38
View File
@@ -0,0 +1,38 @@
import { StreamTypes } from '@mux/playback-core';
import { ValueOf } from '@mux/playback-core';
export declare const getPlayerVersion: () => any;
type MuxURLCustomProps = Partial<{
customDomain: string;
token: string;
}>;
type MuxPosterURLCustomProps = MuxURLCustomProps & Partial<{
thumbnailTime: number;
programTime: number;
}>;
type MuxStoryboardURLCustomProps = MuxURLCustomProps & Partial<{
programStartTime: number;
programEndTime: number;
}>;
export declare const getPosterURLFromPlaybackId: (playbackId?: string, { token, customDomain: domain, thumbnailTime, programTime: program_time, }?: MuxPosterURLCustomProps) => string | undefined;
export declare const getStoryboardURLFromPlaybackId: (playbackId?: string, { token, customDomain: domain, programStartTime: program_start_time, programEndTime: program_end_time, }?: MuxStoryboardURLCustomProps) => string | undefined;
export declare const getStreamTypeFromAttr: (streamTypeAttr: string | null | undefined) => ValueOf<StreamTypes> | undefined;
export declare function castThemeName(themeName?: string): string | undefined;
export declare function toPropName(attrName: string): string;
export declare class AttributeTokenList implements Iterable<string> {
private "AttributeTokenList.#private";
constructor(el?: HTMLElement, attr?: string);
[Symbol.iterator](): ArrayIterator<string>;
readonly length: number;
value: string | undefined;
toString(): string | undefined;
item(index: number): string;
values(): ArrayIterator<string>;
keys(): ArrayIterator<number>;
forEach(callback: (value: string, index: number, list: string[]) => void): void;
add(...tokens: string[]): void;
remove(...tokens: string[]): void;
contains(token: string): boolean;
toggle(token: string, force: boolean): boolean;
replace(oldToken: string, newToken: string): void;
}
export {};
+18
View File
@@ -0,0 +1,18 @@
import { ChildNodePart, Part } from 'media-chrome/dist/media-theme-element.js';
export declare function processEvent(part: Part, value: unknown): boolean;
export declare function processPropertyIdentity(part: Part, value: unknown): boolean;
export declare function processElementAttribute(part: Part, value: unknown): boolean;
export declare function processBooleanAttribute(part: Part, value: unknown): boolean;
export declare function processBooleanNode(part: Part, value: unknown): boolean;
export declare function processPart(part: Part, value: unknown): void;
export declare class TemplateResult {
readonly strings: TemplateStringsArray;
readonly values: unknown[];
readonly processor: any;
readonly stringsKey: string;
constructor(strings: TemplateStringsArray, values: unknown[], processor: any);
readonly template: HTMLTemplateElement;
renderInto(element: Node | ChildNodePart): void;
}
export declare function html(strings: TemplateStringsArray, ...values: unknown[]): TemplateResult;
export declare function render(result: TemplateResult, element: Node | ChildNodePart): void;
+345
View File
@@ -0,0 +1,345 @@
import { MediaController } from 'media-chrome';
import 'media-chrome/dist/experimental/index.js';
import { MediaError } from '@mux/mux-video';
import { StreamTypes, PlaybackTypes, CmcdTypes } from '@mux/playback-core';
import { ValueOf, Metadata, PlaybackEngine, MaxResolutionValue, MinResolutionValue, RenditionOrderValue, Chapter, CuePoint, Tokens } from '@mux/playback-core';
import VideoApiElement from './video-api';
import { AttributeTokenList } from './helpers';
import './themes/gerwig';
import { HlsConfig } from 'hls.js';
export { Tokens };
export { MediaError };
export interface MuxPlayerElementEventMap extends HTMLVideoElementEventMap {
cuepointchange: CustomEvent<{
time: number;
value: any;
}>;
cuepointschange: CustomEvent<Array<{
time: number;
value: any;
}>>;
chapterchange: CustomEvent<{
startTime: number;
endTime: number;
value: string;
}>;
}
interface MuxPlayerElement extends Pick<HTMLVideoElement, Exclude<keyof HTMLVideoElement, 'poster' | 'textTracks' | 'addTextTrack' | 'src' | 'videoTracks' | 'audioTracks' | 'audioRenditions' | 'videoRenditions'>> {
addEventListener<K extends keyof MuxPlayerElementEventMap>(type: K, listener: (this: HTMLMediaElement, ev: MuxPlayerElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
removeEventListener<K extends keyof MuxPlayerElementEventMap>(type: K, listener: (this: HTMLMediaElement, ev: MuxPlayerElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
}
declare class MuxPlayerElement extends VideoApiElement implements MuxPlayerElement {
private "MuxPlayerElement.#private";
static readonly observedAttributes: string[];
constructor();
readonly mediaTheme: Element | null | undefined;
readonly mediaController: MediaController | null | undefined;
connectedCallback(): void;
attributeChangedCallback(attrName: string, oldValue: string | null, newValue: string): void;
preferCmcd: ValueOf<CmcdTypes> | undefined;
readonly hasPlayed: boolean;
readonly inLiveWindow: boolean | undefined;
readonly _hls: PlaybackEngine | undefined;
readonly mux: Readonly<import("mux-embed").MuxOnVideoElement | import("mux-embed").DeletedMuxOnVideoElement | undefined>;
/*
* Gets the theme.
* Sets the theme.
*/
theme: string;
/*
* Get the theme attributes in a plain object (camelCase keys).
* This doesn't include already defined attributes. e.g. streamType, disabled, etc.
* Set the theme attributes via a plain object.
*/
themeProps: Record<string, any> | undefined;
/*
* Get Mux asset playback id.
* Set Mux asset playback id.
*/
playbackId: string | undefined;
/*
* Get the string that reflects the src HTML attribute, which contains the URL of a media resource to use.
* Set the string that reflects the src HTML attribute, which contains the URL of a media resource to use.
*/
src: string | undefined;
/*
* Gets a URL of an image to display, for example, like a movie poster. This can be a still frame from the video, or another image if no video data is available.
* Sets a URL of an image to display, for example, like a movie poster. This can be a still frame from the video, or another image if no video data is available.
*/
poster: string | undefined;
/*
* Return the storyboard-src attribute URL
* Set the storyboard-src attribute URL
*/
storyboardSrc: string | undefined;
/*
* Return the storyboard URL when a playback ID or storyboard-src is provided,
* we aren't an audio player and the stream-type isn't live.
*/
readonly storyboard: string | undefined;
/*
* Gets the boolean indicator this is an audio player.
* Sets the boolean indicator this is an audio player.
*/
audio: boolean;
readonly hotkeys: AttributeTokenList;
nohotkeys: boolean;
/*
* Get the thumbnailTime offset used for the poster image.
* Set the thumbnailTime offset used for the poster image.
*/
thumbnailTime: number | undefined;
/*
* Get the title shown in the player.
* Set the title shown in the player.
*/
title: string;
/*
* Gets the data URL of a placeholder image shown before the thumbnail is loaded.
* Sets the data URL of a placeholder image shown before the thumbnail is loaded.
*/
placeholder: string;
/*
* Get the primary color used by the player.
* Set the primary color used by the player.
*/
primaryColor: string | undefined;
/*
* Get the secondary color used by the player.
* Set the secondary color used by the player.
*/
secondaryColor: string | undefined;
/*
* Get the accent color used by the player.
* Set the accent color used by the player.
*/
accentColor: string | undefined;
defaultShowRemainingTime: boolean | undefined;
/*
* Get the playback rates applied to the playback rate control.
* Set the playback rates applied to the playback rate control.
*/
playbackRates: number[] | undefined;
/*
* Get the offset applied to the forward seek button.
* Set the offset applied to the forward seek button.
*/
forwardSeekOffset: number | undefined;
/*
* Get the offset applied to the backward seek button.
* Set the offset applied to the forward seek button.
*/
backwardSeekOffset: number | undefined;
/*
* Get the boolean value of default hidden captions.
* By default returns false so captions are enabled on initial load.
* Set the default hidden captions flag.
*/
defaultHiddenCaptions: boolean | undefined;
/*
* Get the boolean value of default hidden captions.
* By default returns false so captions are enabled on initial load.
* Set the default hidden captions flag.
*/
defaultDuration: number | undefined;
/*
* Get the player software name. Used by Mux Data.
*/
readonly playerSoftwareName: string;
/*
* Get the player software version. Used by Mux Data.
*/
readonly playerSoftwareVersion: any;
/*
* Get the beacon collection domain. Used by Mux Data.
* Set the beacon collection domain. Used by Mux Data.
*/
beaconCollectionDomain: string | undefined;
maxResolution: MaxResolutionValue | undefined;
minResolution: MinResolutionValue | undefined;
renditionOrder: RenditionOrderValue | undefined;
programStartTime: number | undefined;
programEndTime: number | undefined;
assetStartTime: number | undefined;
assetEndTime: number | undefined;
extraSourceParams: Record<string, any>;
/*
* Get Mux asset custom domain.
* Set Mux asset custom domain.
*/
customDomain: string | undefined;
/*
* Get Mux Data env key.
* Set Mux Data env key.
*/
envKey: string | undefined;
/*
* Get no-volume-pref flag.
* Set video engine debug flag.
*/
noVolumePref: boolean;
/*
* Get video engine debug flag.
* Set video engine debug flag.
*/
debug: boolean;
/*
* Get video engine disable tracking flag.
* Set video engine disable tracking flag.
*/
disableTracking: boolean;
/*
* Get video engine disable cookies flag.
* Set video engine disable cookies flag.
*/
disableCookies: boolean;
/*
* Get stream type.
* Set stream type.
*/
streamType: string;
defaultStreamType: ValueOf<StreamTypes> | undefined;
targetLiveWindow: number | undefined;
readonly liveEdgeStart: number | undefined;
/*
* Get the start time.
* Set the start time.
*/
startTime: number | undefined;
preferPlayback: ValueOf<PlaybackTypes> | undefined;
/*
* Get the metadata object for Mux Data.
* Set the metadata object for Mux Data.
*/
metadata: Readonly<Metadata> | undefined;
/*
* Get the metadata object for Mux Data.
* Set the metadata object for Mux Data.
*/
_hlsConfig: Readonly<Partial<HlsConfig>> | undefined;
addCuePoints<T = any>(cuePoints: CuePoint<T>[]): Promise<TextTrack | undefined>;
readonly activeCuePoint: {
time: number;
value: any;
} | undefined;
readonly cuePoints: {
time: number;
value: any;
}[];
addChapters(chapters: Chapter[]): Promise<TextTrack> | undefined;
readonly activeChapter: {
startTime: number;
endTime: number;
value: string;
} | undefined;
readonly chapters: {
startTime: number;
endTime: number;
value: string;
}[];
getStartDate(): Date | undefined;
readonly currentPdt: Date | undefined;
/*
* Get the signing tokens for the Mux asset URL's.
* Set the signing tokens for the Mux asset URL's.
*/
tokens: Tokens;
/*
* Get the playback token for signing the src URL.
* Set the playback token for signing the src URL.
*/
playbackToken: string | undefined;
/*
* Get the playback token for signing the src URL.
* Set the playback token for signing the src URL.
*/
drmToken: string | undefined;
/*
* Get the thumbnail token for signing the poster URL.
* Set the thumbnail token for signing the poster URL.
*/
thumbnailToken: string | undefined;
/*
* Get the storyboard token for signing the storyboard URL.
* Set the storyboard token for signing the storyboard URL.
*/
storyboardToken: string | undefined;
addTextTrack(kind: TextTrackKind, label: string, lang?: string, id?: string): TextTrack | undefined;
removeTextTrack(track: TextTrack): void;
readonly textTracks: TextTrackList | undefined;
castReceiver: string | undefined;
castCustomData: Record<string, any> | undefined;
noTooltips: boolean;
}
export declare function getVideoAttribute(el: MuxPlayerElement, name: string): string | null;
export default MuxPlayerElement;
+5
View File
@@ -0,0 +1,5 @@
import { DevlogOptions } from './types';
export declare function log(...args: any[]): void;
export declare function warn(...args: any[]): void;
export declare function error(...args: any[]): void;
export declare function devlog(opts: DevlogOptions): void;
@@ -0,0 +1,13 @@
import { globalThis } from '../polyfills';
declare class MediaDialog extends globalThis.HTMLElement {
static styles: string;
static template: HTMLTemplateElement;
static observedAttributes: string[];
_previouslyFocusedElement?: Element | null;
constructor();
show(): void;
close(): void;
attributeChangedCallback(attrName: string, oldValue: string | null, newValue: string): void;
connectedCallback(): void;
}
export default MediaDialog;
@@ -0,0 +1,4 @@
type GlobalThis = typeof globalThis;
declare const internalGlobalThis: GlobalThis;
declare const internalDocument: Document;
export { internalGlobalThis as globalThis, internalDocument as document };
+43
View File
@@ -0,0 +1,43 @@
import 'media-chrome/dist/media-theme-element.js';
import './dialog';
import { MuxTemplateProps } from './types';
export declare const template: (props: MuxTemplateProps) => import("./html").TemplateResult;
export declare const Parts: {
TOP: string;
CENTER: string;
BOTTOM: string;
LAYER: string;
MEDIA_LAYER: string;
POSTER_LAYER: string;
VERTICAL_LAYER: string;
CENTERED_LAYER: string;
GESTURE_LAYER: string;
CONTROLLER_LAYER: string;
BUTTON: string;
RANGE: string;
DISPLAY: string;
CONTROL_BAR: string;
MENU_BUTTON: string;
LISTBOX: string;
OPTION: string;
POSTER: string;
LIVE: string;
PLAY: string;
PRE_PLAY: string;
SEEK_BACKWARD: string;
SEEK_FORWARD: string;
MUTE: string;
CAPTIONS: string;
AIRPLAY: string;
PIP: string;
FULLSCREEN: string;
CAST: string;
PLAYBACK_RATE: string;
VOLUME: string;
TIME: string;
TITLE: string;
AUDIO_TRACK: string;
RENDITION: string;
};
export declare const partsListStr: string;
export declare const content: (props: MuxTemplateProps) => import("./html").TemplateResult;
@@ -0,0 +1,6 @@
import { MediaThemeElement } from 'media-chrome/dist/media-theme-element.js';
import 'media-chrome/menu';
declare class MediaThemeClassic extends MediaThemeElement {
static template: HTMLTemplateElement;
}
export default MediaThemeClassic;
@@ -0,0 +1,6 @@
import { MediaThemeElement } from 'media-chrome/dist/media-theme-element.js';
import 'media-chrome/menu';
declare class MediaThemeGerwig extends MediaThemeElement {
static template: HTMLTemplateElement;
}
export default MediaThemeGerwig;
@@ -0,0 +1 @@
export * from 'player.style/microvideo';
@@ -0,0 +1 @@
export * from 'player.style/minimal';
+8
View File
@@ -0,0 +1,8 @@
export declare function stylePropsToString(props: any): string | undefined;
export declare function kebabCase(name: string): string;
export declare function camelCase(name: string): string;
export declare function uniqueId(prefix: string): string;
export declare function toNumberOrUndefined(val: any): number | undefined;
export declare function toQuery(obj: Record<string, any>): string;
export declare function toParams(obj: Record<string, any>): URLSearchParams;
export declare const containsComposedNode: (rootNode: Node, childNode?: Node | Element | null) => boolean;
+65
View File
@@ -0,0 +1,65 @@
import { globalThis } from './polyfills';
import MuxVideoElement from '@mux/mux-video';
export type CastOptions = {
receiverApplicationId: string;
autoJoinPolicy: string;
androidReceiverCompatible: boolean;
language: string;
resumeSavedSession: boolean;
};
export type MuxVideoElementExt = MuxVideoElement & {
requestCast(options: CastOptions): Promise<undefined>;
};
type PartialHTMLVideoElement = Pick<HTMLVideoElement, Exclude<keyof HTMLVideoElement, 'disablePictureInPicture' | 'height' | 'width' | 'error' | 'seeking' | 'onenterpictureinpicture' | 'onleavepictureinpicture' | 'load' | 'cancelVideoFrameCallback' | 'getVideoPlaybackQuality' | 'requestPictureInPicture' | 'requestVideoFrameCallback' | 'controls' | 'disableRemotePlayback' | 'mediaKeys' | 'networkState' | 'onencrypted' | 'onwaitingforkey' | 'played' | 'remote' | 'srcObject' | 'textTracks' | 'addTextTrack' | 'canPlayType' | 'fastSeek' | 'setMediaKeys' | 'HAVE_CURRENT_DATA' | 'HAVE_ENOUGH_DATA' | 'HAVE_FUTURE_DATA' | 'HAVE_METADATA' | 'HAVE_NOTHING' | 'NETWORK_EMPTY' | 'NETWORK_IDLE' | 'NETWORK_LOADING' | 'NETWORK_NO_SOURCE' | 'src' | 'poster' | 'mux'>>;
interface VideoApiElement extends PartialHTMLVideoElement, HTMLElement {
addEventListener<K extends keyof HTMLVideoElementEventMap>(type: K, listener: (this: HTMLVideoElement, ev: HTMLVideoElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
removeEventListener<K extends keyof HTMLVideoElementEventMap>(type: K, listener: (this: HTMLVideoElement, ev: HTMLVideoElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
}
declare class VideoApiElement extends globalThis.HTMLElement implements VideoApiElement {
private "VideoApiElement.#private";
static readonly observedAttributes: string[];
/**
* Create a HTMLVideoElement like API with opt-in methods to expose publicly.
* This class is intentionally not extending MuxVideoElement but composing it
* to opt in methods and not expose too much. More flexibility in the future.
*/
constructor();
/**
* Gets called from mux-player when mux-video is rendered and upgraded.
* We might just merge VideoApiElement in MuxPlayerElement and remove this?
*/
init(): void;
attributeChangedCallback(attrName: string, oldValue: string | null, newValue: string): void;
play(): Promise<void>;
pause(): void;
load(): void;
requestCast(options: CastOptions): Promise<undefined> | undefined;
readonly media: MuxVideoElementExt | null | undefined;
readonly audioTracks: import("media-tracks").AudioTrackList;
readonly videoTracks: import("media-tracks").VideoTrackList;
readonly audioRenditions: import("media-tracks").AudioRenditionList;
readonly videoRenditions: import("media-tracks").VideoRenditionList;
readonly paused: boolean;
readonly duration: number;
readonly ended: boolean;
readonly buffered: TimeRanges;
readonly seekable: TimeRanges;
readonly readyState: number;
readonly videoWidth: number;
readonly videoHeight: number;
readonly currentSrc: string;
currentTime: number;
volume: number;
playbackRate: number;
defaultPlaybackRate: number;
crossOrigin: string | null;
autoplay: boolean;
loop: boolean;
muted: boolean;
defaultMuted: boolean;
playsInline: boolean;
preload: HTMLVideoElement["preload"];
}
export default VideoApiElement;
+6
View File
@@ -0,0 +1,6 @@
import MediaDialog from './media-chrome/dialog';
declare class MxpDialog extends MediaDialog {
static template: HTMLTemplateElement;
constructor();
}
export default MxpDialog;
+6
View File
@@ -0,0 +1,6 @@
import type { DialogOptions, DevlogOptions } from './types';
import { MediaError } from '@mux/playback-core';
export declare function getErrorLogs(error: MediaError, translate?: boolean): {
dialog: DialogOptions;
devlog: DevlogOptions;
};
+39
View File
@@ -0,0 +1,39 @@
import { StreamTypes } from '@mux/playback-core';
import type { ValueOf } from '@mux/playback-core';
export declare const getPlayerVersion: () => any;
type MuxURLCustomProps = Partial<{
customDomain: string;
token: string;
}>;
type MuxPosterURLCustomProps = MuxURLCustomProps & Partial<{
thumbnailTime: number;
programTime: number;
}>;
type MuxStoryboardURLCustomProps = MuxURLCustomProps & Partial<{
programStartTime: number;
programEndTime: number;
}>;
export declare const getPosterURLFromPlaybackId: (playbackId?: string, { token, customDomain: domain, thumbnailTime, programTime: program_time, }?: MuxPosterURLCustomProps) => string | undefined;
export declare const getStoryboardURLFromPlaybackId: (playbackId?: string, { token, customDomain: domain, programStartTime: program_start_time, programEndTime: program_end_time, }?: MuxStoryboardURLCustomProps) => string | undefined;
export declare const getStreamTypeFromAttr: (streamTypeAttr: string | null | undefined) => ValueOf<StreamTypes> | undefined;
export declare function castThemeName(themeName?: string): string | undefined;
export declare function toPropName(attrName: string): string;
export declare class AttributeTokenList implements Iterable<string> {
#private;
constructor(el?: HTMLElement, attr?: string);
[Symbol.iterator](): ArrayIterator<string>;
get length(): number;
get value(): string | undefined;
set value(val: string | undefined);
toString(): string | undefined;
item(index: number): string;
values(): ArrayIterator<string>;
keys(): ArrayIterator<number>;
forEach(callback: (value: string, index: number, list: string[]) => void): void;
add(...tokens: string[]): void;
remove(...tokens: string[]): void;
contains(token: string): boolean;
toggle(token: string, force: boolean): boolean;
replace(oldToken: string, newToken: string): void;
}
export {};
+18
View File
@@ -0,0 +1,18 @@
import { ChildNodePart, Part } from 'media-chrome/dist/media-theme-element.js';
export declare function processEvent(part: Part, value: unknown): boolean;
export declare function processPropertyIdentity(part: Part, value: unknown): boolean;
export declare function processElementAttribute(part: Part, value: unknown): boolean;
export declare function processBooleanAttribute(part: Part, value: unknown): boolean;
export declare function processBooleanNode(part: Part, value: unknown): boolean;
export declare function processPart(part: Part, value: unknown): void;
export declare class TemplateResult {
readonly strings: TemplateStringsArray;
readonly values: unknown[];
readonly processor: any;
readonly stringsKey: string;
constructor(strings: TemplateStringsArray, values: unknown[], processor: any);
get template(): HTMLTemplateElement;
renderInto(element: Node | ChildNodePart): void;
}
export declare function html(strings: TemplateStringsArray, ...values: unknown[]): TemplateResult;
export declare function render(result: TemplateResult, element: Node | ChildNodePart): void;
+396
View File
@@ -0,0 +1,396 @@
import { MediaController } from 'media-chrome';
import 'media-chrome/dist/experimental/index.js';
import { MediaError } from '@mux/mux-video';
import { StreamTypes, PlaybackTypes, CmcdTypes } from '@mux/playback-core';
import type { ValueOf, Metadata, PlaybackEngine, MaxResolutionValue, MinResolutionValue, RenditionOrderValue, Chapter, CuePoint, Tokens } from '@mux/playback-core';
import VideoApiElement from './video-api';
import { AttributeTokenList } from './helpers';
import './themes/gerwig';
import { HlsConfig } from 'hls.js';
export type { Tokens };
export { MediaError };
export interface MuxPlayerElementEventMap extends HTMLVideoElementEventMap {
cuepointchange: CustomEvent<{
time: number;
value: any;
}>;
cuepointschange: CustomEvent<Array<{
time: number;
value: any;
}>>;
chapterchange: CustomEvent<{
startTime: number;
endTime: number;
value: string;
}>;
}
interface MuxPlayerElement extends Omit<HTMLVideoElement, 'poster' | 'textTracks' | 'addTextTrack' | 'src' | 'videoTracks' | 'audioTracks' | 'audioRenditions' | 'videoRenditions'> {
addEventListener<K extends keyof MuxPlayerElementEventMap>(type: K, listener: (this: HTMLMediaElement, ev: MuxPlayerElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
removeEventListener<K extends keyof MuxPlayerElementEventMap>(type: K, listener: (this: HTMLMediaElement, ev: MuxPlayerElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
}
declare class MuxPlayerElement extends VideoApiElement implements MuxPlayerElement {
#private;
static get observedAttributes(): string[];
constructor();
get mediaTheme(): Element | null | undefined;
get mediaController(): MediaController | null | undefined;
connectedCallback(): void;
attributeChangedCallback(attrName: string, oldValue: string | null, newValue: string): void;
get preferCmcd(): ValueOf<CmcdTypes> | undefined;
set preferCmcd(value: ValueOf<CmcdTypes> | undefined);
get hasPlayed(): boolean;
get inLiveWindow(): boolean | undefined;
get _hls(): PlaybackEngine | undefined;
get mux(): Readonly<import("mux-embed").MuxOnVideoElement | import("mux-embed").DeletedMuxOnVideoElement | undefined>;
/**
* Gets the theme.
*/
get theme(): string;
/**
* Sets the theme.
*/
set theme(val: string);
/**
* Get the theme attributes in a plain object (camelCase keys).
* This doesn't include already defined attributes. e.g. streamType, disabled, etc.
*/
get themeProps(): Record<string, any> | undefined;
/**
* Set the theme attributes via a plain object.
*/
set themeProps(props: Record<string, any> | undefined);
/**
* Get Mux asset playback id.
*/
get playbackId(): string | undefined;
/**
* Set Mux asset playback id.
*/
set playbackId(val: string | undefined);
/**
* Get the string that reflects the src HTML attribute, which contains the URL of a media resource to use.
*/
get src(): string | undefined;
/**
* Set the string that reflects the src HTML attribute, which contains the URL of a media resource to use.
*/
set src(val: string | undefined);
/**
* Gets a URL of an image to display, for example, like a movie poster. This can be a still frame from the video, or another image if no video data is available.
*/
get poster(): string | undefined;
/**
* Sets a URL of an image to display, for example, like a movie poster. This can be a still frame from the video, or another image if no video data is available.
*/
set poster(val: string | undefined);
/**
* Return the storyboard-src attribute URL
*/
get storyboardSrc(): string | undefined;
/**
* Set the storyboard-src attribute URL
*/
set storyboardSrc(src: string | undefined);
/**
* Return the storyboard URL when a playback ID or storyboard-src is provided,
* we aren't an audio player and the stream-type isn't live.
*/
get storyboard(): string | undefined;
/**
* Gets the boolean indicator this is an audio player.
*/
get audio(): boolean;
/**
* Sets the boolean indicator this is an audio player.
*/
set audio(val: boolean);
get hotkeys(): AttributeTokenList;
get nohotkeys(): boolean;
set nohotkeys(val: boolean);
/**
* Get the thumbnailTime offset used for the poster image.
*/
get thumbnailTime(): number | undefined;
/**
* Set the thumbnailTime offset used for the poster image.
*/
set thumbnailTime(val: number | undefined);
/**
* Get the title shown in the player.
*/
get title(): string;
/**
* Set the title shown in the player.
*/
set title(val: string);
/**
* Gets the data URL of a placeholder image shown before the thumbnail is loaded.
*/
get placeholder(): string;
/**
* Sets the data URL of a placeholder image shown before the thumbnail is loaded.
*/
set placeholder(val: string);
/**
* Get the primary color used by the player.
*/
get primaryColor(): string | undefined;
/**
* Set the primary color used by the player.
*/
set primaryColor(val: string | undefined);
/**
* Get the secondary color used by the player.
*/
get secondaryColor(): string | undefined;
/**
* Set the secondary color used by the player.
*/
set secondaryColor(val: string | undefined);
/**
* Get the accent color used by the player.
*/
get accentColor(): string | undefined;
/**
* Set the accent color used by the player.
*/
set accentColor(val: string | undefined);
get defaultShowRemainingTime(): boolean | undefined;
set defaultShowRemainingTime(val: boolean | undefined);
/**
* Get the playback rates applied to the playback rate control.
*/
get playbackRates(): number[] | undefined;
/**
* Set the playback rates applied to the playback rate control.
*/
set playbackRates(val: number[] | undefined);
/**
* Get the offset applied to the forward seek button.
*/
get forwardSeekOffset(): number | undefined;
/**
* Set the offset applied to the forward seek button.
*/
set forwardSeekOffset(val: number | undefined);
/**
* Get the offset applied to the backward seek button.
*/
get backwardSeekOffset(): number | undefined;
/**
* Set the offset applied to the forward seek button.
*/
set backwardSeekOffset(val: number | undefined);
/**
* Get the boolean value of default hidden captions.
* By default returns false so captions are enabled on initial load.
*/
get defaultHiddenCaptions(): boolean | undefined;
/**
* Set the default hidden captions flag.
*/
set defaultHiddenCaptions(val: boolean | undefined);
/**
* Get the boolean value of default hidden captions.
* By default returns false so captions are enabled on initial load.
*/
get defaultDuration(): number | undefined;
/**
* Set the default hidden captions flag.
*/
set defaultDuration(val: number | undefined);
/**
* Get the player software name. Used by Mux Data.
*/
get playerSoftwareName(): string;
/**
* Get the player software version. Used by Mux Data.
*/
get playerSoftwareVersion(): any;
/**
* Get the beacon collection domain. Used by Mux Data.
*/
get beaconCollectionDomain(): string | undefined;
/**
* Set the beacon collection domain. Used by Mux Data.
*/
set beaconCollectionDomain(val: string | undefined);
get maxResolution(): MaxResolutionValue | undefined;
set maxResolution(val: MaxResolutionValue | undefined);
get minResolution(): MinResolutionValue | undefined;
set minResolution(val: MinResolutionValue | undefined);
get renditionOrder(): RenditionOrderValue | undefined;
set renditionOrder(val: RenditionOrderValue | undefined);
get programStartTime(): number | undefined;
set programStartTime(val: number | undefined);
get programEndTime(): number | undefined;
set programEndTime(val: number | undefined);
get assetStartTime(): number | undefined;
set assetStartTime(val: number | undefined);
get assetEndTime(): number | undefined;
set assetEndTime(val: number | undefined);
get extraSourceParams(): Record<string, any>;
set extraSourceParams(value: Record<string, any>);
/**
* Get Mux asset custom domain.
*/
get customDomain(): string | undefined;
/**
* Set Mux asset custom domain.
*/
set customDomain(val: string | undefined);
/**
* Get Mux Data env key.
*/
get envKey(): string | undefined;
/**
* Set Mux Data env key.
*/
set envKey(val: string | undefined);
/**
* Get no-volume-pref flag.
*/
get noVolumePref(): boolean;
/**
* Set video engine debug flag.
*/
set noVolumePref(val: boolean);
/**
* Get video engine debug flag.
*/
get debug(): boolean;
/**
* Set video engine debug flag.
*/
set debug(val: boolean);
/**
* Get video engine disable tracking flag.
*/
get disableTracking(): boolean;
/**
* Set video engine disable tracking flag.
*/
set disableTracking(val: boolean);
/**
* Get video engine disable cookies flag.
*/
get disableCookies(): boolean;
/**
* Set video engine disable cookies flag.
*/
set disableCookies(val: boolean);
/**
* Get stream type.
*/
get streamType(): string;
/**
* Set stream type.
*/
set streamType(val: string);
get defaultStreamType(): ValueOf<StreamTypes> | undefined;
set defaultStreamType(val: ValueOf<StreamTypes> | undefined);
get targetLiveWindow(): number | undefined;
set targetLiveWindow(val: number | undefined);
get liveEdgeStart(): number | undefined;
/**
* Get the start time.
*/
get startTime(): number | undefined;
/**
* Set the start time.
*/
set startTime(val: number | undefined);
get preferPlayback(): ValueOf<PlaybackTypes> | undefined;
set preferPlayback(val: ValueOf<PlaybackTypes> | undefined);
/**
* Get the metadata object for Mux Data.
*/
get metadata(): Readonly<Metadata> | undefined;
/**
* Set the metadata object for Mux Data.
*/
set metadata(val: Readonly<Metadata> | undefined);
/**
* Get the metadata object for Mux Data.
*/
get _hlsConfig(): Readonly<Partial<HlsConfig>> | undefined;
/**
* Set the metadata object for Mux Data.
*/
set _hlsConfig(val: Readonly<Partial<HlsConfig>> | undefined);
addCuePoints<T = any>(cuePoints: CuePoint<T>[]): Promise<TextTrack | undefined>;
get activeCuePoint(): {
time: number;
value: any;
} | undefined;
get cuePoints(): {
time: number;
value: any;
}[];
addChapters(chapters: Chapter[]): Promise<TextTrack> | undefined;
get activeChapter(): {
startTime: number;
endTime: number;
value: string;
} | undefined;
get chapters(): {
startTime: number;
endTime: number;
value: string;
}[];
getStartDate(): Date | undefined;
get currentPdt(): Date | undefined;
/**
* Get the signing tokens for the Mux asset URL's.
*/
get tokens(): Tokens;
/**
* Set the signing tokens for the Mux asset URL's.
*/
set tokens(val: Tokens | undefined);
/**
* Get the playback token for signing the src URL.
*/
get playbackToken(): string | undefined;
/**
* Set the playback token for signing the src URL.
*/
set playbackToken(val: string | undefined);
/**
* Get the playback token for signing the src URL.
*/
get drmToken(): string | undefined;
/**
* Set the playback token for signing the src URL.
*/
set drmToken(val: string | undefined);
/**
* Get the thumbnail token for signing the poster URL.
*/
get thumbnailToken(): string | undefined;
/**
* Set the thumbnail token for signing the poster URL.
*/
set thumbnailToken(val: string | undefined);
/**
* Get the storyboard token for signing the storyboard URL.
*/
get storyboardToken(): string | undefined;
/**
* Set the storyboard token for signing the storyboard URL.
*/
set storyboardToken(val: string | undefined);
addTextTrack(kind: TextTrackKind, label: string, lang?: string, id?: string): TextTrack | undefined;
removeTextTrack(track: TextTrack): void;
get textTracks(): TextTrackList | undefined;
get castReceiver(): string | undefined;
set castReceiver(val: string | undefined);
get castCustomData(): Record<string, any> | undefined;
set castCustomData(val: Record<string, any> | undefined);
get noTooltips(): boolean;
set noTooltips(val: boolean);
}
export declare function getVideoAttribute(el: MuxPlayerElement, name: string): string | null;
export default MuxPlayerElement;
+5
View File
@@ -0,0 +1,5 @@
import type { DevlogOptions } from './types';
export declare function log(...args: any[]): void;
export declare function warn(...args: any[]): void;
export declare function error(...args: any[]): void;
export declare function devlog(opts: DevlogOptions): void;
@@ -0,0 +1,13 @@
import { globalThis } from '../polyfills';
declare class MediaDialog extends globalThis.HTMLElement {
static styles: string;
static template: HTMLTemplateElement;
static observedAttributes: string[];
_previouslyFocusedElement?: Element | null;
constructor();
show(): void;
close(): void;
attributeChangedCallback(attrName: string, oldValue: string | null, newValue: string): void;
connectedCallback(): void;
}
export default MediaDialog;
+4
View File
@@ -0,0 +1,4 @@
type GlobalThis = typeof globalThis;
declare const internalGlobalThis: GlobalThis;
declare const internalDocument: Document;
export { internalGlobalThis as globalThis, internalDocument as document };
+43
View File
@@ -0,0 +1,43 @@
import 'media-chrome/dist/media-theme-element.js';
import './dialog';
import type { MuxTemplateProps } from './types';
export declare const template: (props: MuxTemplateProps) => import("./html").TemplateResult;
export declare const Parts: {
TOP: string;
CENTER: string;
BOTTOM: string;
LAYER: string;
MEDIA_LAYER: string;
POSTER_LAYER: string;
VERTICAL_LAYER: string;
CENTERED_LAYER: string;
GESTURE_LAYER: string;
CONTROLLER_LAYER: string;
BUTTON: string;
RANGE: string;
DISPLAY: string;
CONTROL_BAR: string;
MENU_BUTTON: string;
LISTBOX: string;
OPTION: string;
POSTER: string;
LIVE: string;
PLAY: string;
PRE_PLAY: string;
SEEK_BACKWARD: string;
SEEK_FORWARD: string;
MUTE: string;
CAPTIONS: string;
AIRPLAY: string;
PIP: string;
FULLSCREEN: string;
CAST: string;
PLAYBACK_RATE: string;
VOLUME: string;
TIME: string;
TITLE: string;
AUDIO_TRACK: string;
RENDITION: string;
};
export declare const partsListStr: string;
export declare const content: (props: MuxTemplateProps) => import("./html").TemplateResult;
@@ -0,0 +1,6 @@
import { MediaThemeElement } from 'media-chrome/dist/media-theme-element.js';
import 'media-chrome/menu';
declare class MediaThemeClassic extends MediaThemeElement {
static template: HTMLTemplateElement;
}
export default MediaThemeClassic;
@@ -0,0 +1,6 @@
import { MediaThemeElement } from 'media-chrome/dist/media-theme-element.js';
import 'media-chrome/menu';
declare class MediaThemeGerwig extends MediaThemeElement {
static template: HTMLTemplateElement;
}
export default MediaThemeGerwig;
Loaded 100 of 65041 files, more files were not shown because too many files have changed in this diff. Show more