@mux/mux-audio 0.15.21 → 0.15.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +2 -2
- package/dist/index.cjs.js.map +3 -3
- package/dist/index.mjs +2 -2
- package/dist/index.mjs.map +3 -3
- package/dist/mux-audio.js +36 -36
- package/dist/mux-audio.js.map +4 -4
- package/dist/mux-audio.mjs +36 -36
- package/dist/mux-audio.mjs.map +4 -4
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
package/dist/index.cjs.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var j=Object.defineProperty;var ft=Object.getOwnPropertyDescriptor;var mt=Object.getOwnPropertyNames;var bt=Object.prototype.hasOwnProperty;var tt=e=>{throw TypeError(e)};var At=(e,r,t)=>r in e?j(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var gt=(e,r)=>{for(var t in r)j(e,t,{get:r[t],enumerable:!0})},pt=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let c of mt(r))!bt.call(e,c)&&c!==t&&j(e,c,{get:()=>r[c],enumerable:!(n=ft(r,c))||n.enumerable});return e};var Et=e=>pt(j({},"__esModule",{value:!0}),e);var P=(e,r,t)=>At(e,typeof r!="symbol"?r+"":r,t),q=(e,r,t)=>r.has(e)||tt("Cannot "+t);var
|
|
1
|
+
"use strict";var j=Object.defineProperty;var ft=Object.getOwnPropertyDescriptor;var mt=Object.getOwnPropertyNames;var bt=Object.prototype.hasOwnProperty;var tt=e=>{throw TypeError(e)};var At=(e,r,t)=>r in e?j(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var gt=(e,r)=>{for(var t in r)j(e,t,{get:r[t],enumerable:!0})},pt=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let c of mt(r))!bt.call(e,c)&&c!==t&&j(e,c,{get:()=>r[c],enumerable:!(n=ft(r,c))||n.enumerable});return e};var Et=e=>pt(j({},"__esModule",{value:!0}),e);var P=(e,r,t)=>At(e,typeof r!="symbol"?r+"":r,t),q=(e,r,t)=>r.has(e)||tt("Cannot "+t);var l=(e,r,t)=>(q(e,r,"read from private field"),t?t.call(e):r.get(e)),A=(e,r,t)=>r.has(e)?tt("Cannot add the same private member more than once"):r instanceof WeakSet?r.add(e):r.set(e,t),E=(e,r,t,n)=>(q(e,r,"write to private field"),n?n.call(e,t):r.set(e,t),t),b=(e,r,t)=>(q(e,r,"access private method"),t);var Ot={};gt(Ot,{Attributes:()=>s,AudioEvents:()=>Q,MediaError:()=>d.MediaError,default:()=>Nt,generatePlayerInitTime:()=>d.generatePlayerInitTime,playerSoftwareName:()=>Z,playerSoftwareVersion:()=>X});module.exports=Et(Ot);var N=class{addEventListener(){}removeEventListener(){}dispatchEvent(r){return!0}};if(typeof DocumentFragment=="undefined"){class e extends N{}globalThis.DocumentFragment=e}var w=class extends N{},F=class extends N{},Tt={get(e){},define(e,r,t){},getName(e){return null},upgrade(e){},whenDefined(e){return Promise.resolve(w)}},K,z=class{constructor(r,t={}){A(this,K);E(this,K,t==null?void 0:t.detail)}get detail(){return l(this,K)}initCustomEvent(){}};K=new WeakMap;function yt(e,r){return new w}var et={document:{createElement:yt},DocumentFragment,customElements:Tt,CustomEvent:z,EventTarget:N,HTMLElement:w,HTMLVideoElement:F},it=typeof window=="undefined"||typeof globalThis.customElements=="undefined",H=it?et:globalThis,Lt=it?et.document:globalThis.document;var d=require("@mux/playback-core");var _t=()=>{try{return"0.15.22"}catch{}return"UNKNOWN"},Mt=_t(),st=()=>Mt;var Q=["abort","canplay","canplaythrough","durationchange","emptied","encrypted","ended","error","loadeddata","loadedmetadata","loadstart","pause","play","playing","progress","ratechange","seeked","seeking","stalled","suspend","timeupdate","volumechange","waiting","waitingforkey","resize","enterpictureinpicture","leavepictureinpicture","webkitbeginfullscreen","webkitendfullscreen","webkitpresentationmodechanged"],ot=["autopictureinpicture","disablepictureinpicture","disableremoteplayback","autoplay","controls","controlslist","crossorigin","loop","muted","playsinline","poster","preload","src"];function Ct(e){return`
|
|
2
2
|
<style>
|
|
3
3
|
:host {
|
|
4
4
|
display: inline-flex;
|
|
@@ -40,5 +40,5 @@
|
|
|
40
40
|
<video${ht(e)}></video>
|
|
41
41
|
</slot>
|
|
42
42
|
<slot></slot>
|
|
43
|
-
`}function ct(e,{tag:r,is:t}){var T,C,p,E,_,at,v,L,M,D,h,k,W,ut,J,dt,lt;let n=(C=(T=globalThis.document)==null?void 0:T.createElement)==null?void 0:C.call(T,r,{is:t}),c=n?kt(n):[];return p=class extends e{constructor(){super(...arguments);A(this,h);A(this,v,!1);A(this,L,null);A(this,M,new Map);A(this,D);P(this,"get");P(this,"set");P(this,"call")}static get observedAttributes(){var o,f,u;return b(o=p,_,at).call(o),[...(u=(f=n==null?void 0:n.constructor)==null?void 0:f.observedAttributes)!=null?u:[],...ot]}get nativeEl(){var i,o,f,u,a;return b(this,h,k).call(this),(a=(u=(o=(i=d(this,L))!=null?i:this.querySelector(":scope > [slot=media]"))!=null?o:this.querySelector(r))!=null?u:(f=this.shadowRoot)==null?void 0:f.querySelector(r))!=null?a:null}set nativeEl(i){g(this,L,i)}get defaultMuted(){return this.hasAttribute("muted")}set defaultMuted(i){this.toggleAttribute("muted",i)}get src(){return this.getAttribute("src")}set src(i){this.setAttribute("src",`${i}`)}get preload(){var i,o;return(o=this.getAttribute("preload"))!=null?o:(i=this.nativeEl)==null?void 0:i.preload}set preload(i){this.setAttribute("preload",`${i}`)}init(){if(!this.shadowRoot){this.attachShadow({mode:"open"});let i=It(this.attributes);t&&(i.is=t),r&&(i.part=r),this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(i)}this.nativeEl.muted=this.hasAttribute("muted");for(let i of c)b(this,h,dt).call(this,i);g(this,D,new MutationObserver(b(this,h,ut).bind(this))),this.shadowRoot.addEventListener("slotchange",()=>b(this,h,W).call(this)),b(this,h,W).call(this);for(let i of this.constructor.Events)this.shadowRoot.addEventListener(i,this,!0)}handleEvent(i){i.target===this.nativeEl&&this.dispatchEvent(new CustomEvent(i.type,{detail:i.detail}))}attributeChangedCallback(i,o,f){b(this,h,k).call(this),b(this,h,lt).call(this,i,o,f)}connectedCallback(){b(this,h,k).call(this)}},E=new WeakMap,_=new WeakSet,at=function(){if(d(this,E))return;g(this,E,!0);let i=new Set(this.observedAttributes);i.delete("muted");for(let o of c)if(!(o in this.prototype))if(typeof n[o]=="function")this.prototype[o]=function(...f){return b(this,h,k).call(this),(()=>{var m;if(this.call)return this.call(o,...f);let a=(m=this.nativeEl)==null?void 0:m[o];return a==null?void 0:a.apply(this.nativeEl,f)})()};else{let f={get(){var a,m,x;b(this,h,k).call(this);let u=o.toLowerCase();if(i.has(u)){let I=this.getAttribute(u);return I===null?!1:I===""?!0:I}return(x=(a=this.get)==null?void 0:a.call(this,o))!=null?x:(m=this.nativeEl)==null?void 0:m[o]}};o!==o.toUpperCase()&&(f.set=function(u){b(this,h,k).call(this);let a=o.toLowerCase();if(i.has(a)){u===!0||u===!1||u==null?this.toggleAttribute(a,!!u):this.setAttribute(a,u);return}if(this.set){this.set(o,u);return}this.nativeEl&&(this.nativeEl[o]=u)}),Object.defineProperty(this.prototype,o,f)}},v=new WeakMap,L=new WeakMap,M=new WeakMap,D=new WeakMap,h=new WeakSet,k=function(){d(this,v)||(g(this,v,!0),this.init())},W=function(){var u;let i=new Map(d(this,M)),o=(u=this.shadowRoot)==null?void 0:u.querySelector("slot:not([name])");(o==null?void 0:o.assignedElements({flatten:!0}).filter(a=>["track","source"].includes(a.localName))).forEach(a=>{var x,I;i.delete(a);let m=d(this,M).get(a);m||(m=a.cloneNode(),d(this,M).set(a,m),(x=d(this,D))==null||x.observe(a,{attributes:!0})),(I=this.nativeEl)==null||I.append(m),b(this,h,J).call(this,m)}),i.forEach((a,m)=>{a.remove(),d(this,M).delete(m)})},ut=function(i){var o;for(let f of i)if(f.type==="attributes"){let{target:u,attributeName:a}=f,m=d(this,M).get(u);m&&a&&(m.setAttribute(a,(o=u.getAttribute(a))!=null?o:""),b(this,h,J).call(this,m))}},J=function(i){i&&i.localName==="track"&&i.default&&(i.kind==="chapters"||i.kind==="metadata")&&i.track.mode==="disabled"&&(i.track.mode="hidden")},dt=function(i){if(Object.prototype.hasOwnProperty.call(this,i)){let o=this[i];delete this[i],this[i]=o}},lt=function(i,o,f){var u,a,m;["id","class"].includes(i)||!p.observedAttributes.includes(i)&&this.constructor.observedAttributes.includes(i)||(f===null?(u=this.nativeEl)==null||u.removeAttribute(i):((a=this.nativeEl)==null?void 0:a.getAttribute(i))!==f&&((m=this.nativeEl)==null||m.setAttribute(i,f)))},A(p,_),P(p,"getTemplateHTML",r.endsWith("audio")?Ct:Pt),P(p,"shadowRootOptions",{mode:"open"}),P(p,"Events",Q),A(p,E,!1),p}function kt(e){let r=[];for(let t=Object.getPrototypeOf(e);t&&t!==HTMLElement.prototype;t=Object.getPrototypeOf(t)){let n=Object.getOwnPropertyNames(t);r.push(...n)}return r}function ht(e){let r="";for(let t in e){if(!ot.includes(t))continue;let n=e[t];n===""?r+=` ${t}`:r+=` ${t}="${n}"`}return r}function It(e){let r={};for(let t of e)r[t.name]=t.value;return r}var rt,Kt=ct((rt=globalThis.HTMLElement)!=null?rt:class{},{tag:"video"}),nt,$=ct((nt=globalThis.HTMLElement)!=null?nt:class{},{tag:"audio"});var s={PLAYER_INIT_TIME:"player-init-time",ENV_KEY:"env-key",DEBUG:"debug",PLAYBACK_ID:"playback-id",PLAYBACK_TOKEN:"playback-token",PROGRAM_START_TIME:"program-start-time",PROGRAM_END_TIME:"program-end-time",ASSET_START_TIME:"asset-start-time",ASSET_END_TIME:"asset-end-time",METADATA_URL:"metadata-url",PREFER_PLAYBACK:"prefer-playback",CUSTOM_DOMAIN:"custom-domain",BEACON_COLLECTION_DOMAIN:"beacon-collection-domain",DISABLE_TRACKING:"disable-tracking",DISABLE_COOKIES:"disable-cookies",TYPE:"type",STREAM_TYPE:"stream-type",START_TIME:"start-time"},St=Object.values(s),X=st(),Z="mux-audio",y,N,Y,O,G,U,R,V,B=class extends ${constructor(){super();A(this,R);A(this,y);A(this,N);A(this,Y);A(this,O,{});A(this,G,{});A(this,U);g(this,Y,(0,l.generatePlayerInitTime)())}static get NAME(){return Z}static get VERSION(){return X}static get observedAttributes(){var t;return[...St,...(t=$.observedAttributes)!=null?t:[]]}get playerInitTime(){return this.hasAttribute(s.PLAYER_INIT_TIME)?+this.getAttribute(s.PLAYER_INIT_TIME):d(this,Y)}set playerInitTime(t){t!=this.playerInitTime&&(t==null?this.removeAttribute(s.PLAYER_INIT_TIME):this.setAttribute(s.PLAYER_INIT_TIME,`${+t}`))}get playerSoftwareName(){return Z}get playerSoftwareVersion(){return X}get _hls(){var t;return(t=d(this,y))==null?void 0:t.engine}get mux(){return this.nativeEl.mux}get src(){return this.getAttribute("src")}set src(t){t!==this.src&&(t==null?this.removeAttribute("src"):this.setAttribute("src",t))}get preload(){let t=this.getAttribute("preload");return t===""?"auto":["none","metadata","auto"].includes(t)?t:super.preload}set preload(t){t!=this.getAttribute("preload")&&(["","none","metadata","auto"].includes(t)?this.setAttribute("preload",t):this.removeAttribute("preload"))}get debug(){return this.getAttribute(s.DEBUG)!=null}set debug(t){t!==this.debug&&(t?this.setAttribute(s.DEBUG,""):this.removeAttribute(s.DEBUG))}get disableTracking(){return this.hasAttribute(s.DISABLE_TRACKING)}set disableTracking(t){t!==this.disableTracking&&this.toggleAttribute(s.DISABLE_TRACKING,!!t)}get disableCookies(){return this.hasAttribute(s.DISABLE_COOKIES)}set disableCookies(t){t!==this.disableCookies&&(t?this.setAttribute(s.DISABLE_COOKIES,""):this.removeAttribute(s.DISABLE_COOKIES))}get startTime(){let t=this.getAttribute(s.START_TIME);if(t==null)return;let n=+t;return Number.isNaN(n)?void 0:n}set startTime(t){t!==this.startTime&&(t==null?this.removeAttribute(s.START_TIME):this.setAttribute(s.START_TIME,`${t}`))}get playbackId(){var t;return(t=this.getAttribute(s.PLAYBACK_ID))!=null?t:void 0}set playbackId(t){t!==this.playbackId&&(t?this.setAttribute(s.PLAYBACK_ID,t):this.removeAttribute(s.PLAYBACK_ID))}get programStartTime(){let t=this.getAttribute(s.PROGRAM_START_TIME);if(t==null)return;let n=+t;return Number.isNaN(n)?void 0:n}set programStartTime(t){t==null?this.removeAttribute(s.PROGRAM_START_TIME):this.setAttribute(s.PROGRAM_START_TIME,`${t}`)}get programEndTime(){let t=this.getAttribute(s.PROGRAM_END_TIME);if(t==null)return;let n=+t;return Number.isNaN(n)?void 0:n}set programEndTime(t){t==null?this.removeAttribute(s.PROGRAM_END_TIME):this.setAttribute(s.PROGRAM_END_TIME,`${t}`)}get assetStartTime(){let t=this.getAttribute(s.ASSET_START_TIME);if(t==null)return;let n=+t;return Number.isNaN(n)?void 0:n}set assetStartTime(t){t==null?this.removeAttribute(s.ASSET_START_TIME):this.setAttribute(s.ASSET_START_TIME,`${t}`)}get assetEndTime(){let t=this.getAttribute(s.ASSET_END_TIME);if(t==null)return;let n=+t;return Number.isNaN(n)?void 0:n}set assetEndTime(t){t==null?this.removeAttribute(s.ASSET_END_TIME):this.setAttribute(s.ASSET_END_TIME,`${t}`)}get customDomain(){var t;return(t=this.getAttribute(s.CUSTOM_DOMAIN))!=null?t:void 0}set customDomain(t){t!==this.customDomain&&(t?this.setAttribute(s.CUSTOM_DOMAIN,t):this.removeAttribute(s.CUSTOM_DOMAIN))}get playbackToken(){var t,n,c,T;if(this.hasAttribute(s.PLAYBACK_TOKEN))return(t=this.getAttribute(s.PLAYBACK_TOKEN))!=null?t:void 0;if(this.hasAttribute(s.PLAYBACK_ID)){let[,C]=(0,l.toPlaybackIdParts)((n=this.playbackId)!=null?n:"");return(c=new URLSearchParams(C).get("token"))!=null?c:void 0}if(this.src)return(T=new URLSearchParams(this.src).get("token"))!=null?T:void 0}set playbackToken(t){t!==this.playbackToken&&(t?this.setAttribute(s.PLAYBACK_TOKEN,t):this.removeAttribute(s.PLAYBACK_TOKEN))}get tokens(){let t=this.getAttribute(s.PLAYBACK_TOKEN);return{...d(this,G),...t!=null?{playback:t}:{}}}set tokens(t){g(this,G,t!=null?t:{})}get ended(){return(0,l.getEnded)(this.nativeEl,this._hls)}get envKey(){var t;return(t=this.getAttribute(s.ENV_KEY))!=null?t:void 0}set envKey(t){t!==this.envKey&&(t?this.setAttribute(s.ENV_KEY,t):this.removeAttribute(s.ENV_KEY))}get beaconCollectionDomain(){var t;return(t=this.getAttribute(s.BEACON_COLLECTION_DOMAIN))!=null?t:void 0}set beaconCollectionDomain(t){t!==this.beaconCollectionDomain&&(t?this.setAttribute(s.BEACON_COLLECTION_DOMAIN,t):this.removeAttribute(s.BEACON_COLLECTION_DOMAIN))}get streamType(){var t;return(t=this.getAttribute(s.STREAM_TYPE))!=null?t:void 0}set streamType(t){t!==this.streamType&&(t?this.setAttribute(s.STREAM_TYPE,t):this.removeAttribute(s.STREAM_TYPE))}getStartDate(){return(0,l.getStartDate)(this.nativeEl,this._hls)}get currentPdt(){return(0,l.getCurrentPdt)(this.nativeEl,this._hls)}get preferPlayback(){let t=this.getAttribute(s.PREFER_PLAYBACK);if(t===l.PlaybackTypes.MSE||t===l.PlaybackTypes.NATIVE)return t}set preferPlayback(t){t!==this.preferPlayback&&(t===l.PlaybackTypes.MSE||t===l.PlaybackTypes.NATIVE?this.setAttribute(s.PREFER_PLAYBACK,t):this.removeAttribute(s.PREFER_PLAYBACK))}get metadata(){return{...this.getAttributeNames().filter(n=>n.startsWith("metadata-")&&![s.METADATA_URL].includes(n)).reduce((n,c)=>{let T=this.getAttribute(c);return T!=null&&(n[c.replace(/^metadata-/,"").replace(/-/g,"_")]=T),n},{}),...d(this,O)}}set metadata(t){g(this,O,t!=null?t:{}),this.mux&&(console.info("Some metadata values may not be overridable at this time. Make sure you set all metadata to override before setting the src."),this.mux.emit("hb",d(this,O)))}get _hlsConfig(){return d(this,U)}set _hlsConfig(t){g(this,U,t)}load(){g(this,y,(0,l.initialize)(this,this.nativeEl,d(this,y)))}unload(){(0,l.teardown)(this.nativeEl,d(this,y)),g(this,y,void 0)}attributeChangedCallback(t,n,c){var C,p;switch($.observedAttributes.includes(t)&&!["src","autoplay","preload"].includes(t)&&super.attributeChangedCallback(t,n,c),t){case"src":{let E=!!n,_=!!c;!E&&_?b(this,R,V).call(this):E&&!_?this.unload():E&&_&&(this.unload(),b(this,R,V).call(this));break}case"autoplay":if(c===n)break;(C=d(this,y))==null||C.setAutoplay(this.autoplay);break;case"preload":if(c===n)break;(p=d(this,y))==null||p.setPreload(c);break;case s.PLAYBACK_ID:this.src=(0,l.toMuxVideoURL)(this);break;case s.DEBUG:{let E=this.debug;this.mux&&console.info("Cannot toggle debug mode of mux data after initialization. Make sure you set all metadata to override before setting the src."),this._hls&&(this._hls.config.debug=E);break}case s.METADATA_URL:c&&fetch(c).then(E=>E.json()).then(E=>this.metadata=E).catch(()=>console.error(`Unable to load or parse metadata JSON from metadata-url ${c}!`));break;default:break}}connectedCallback(){var t;(t=super.connectedCallback)==null||t.call(this),this.nativeEl&&this.src&&!d(this,y)&&b(this,R,V).call(this)}disconnectedCallback(){this.unload()}};y=new WeakMap,N=new WeakMap,Y=new WeakMap,O=new WeakMap,G=new WeakMap,U=new WeakMap,R=new WeakSet,V=async function(){d(this,N)||(await g(this,N,Promise.resolve()),g(this,N,null),this.load())};H.customElements.get("mux-audio")||(H.customElements.define("mux-audio",B),H.MuxAudioElement=B);var Nt=B;
|
|
43
|
+
`}function ct(e,{tag:r,is:t}){var y,C,g,p,_,at,v,L,M,D,h,k,W,ut,J,dt,lt;let n=(C=(y=globalThis.document)==null?void 0:y.createElement)==null?void 0:C.call(y,r,{is:t}),c=n?kt(n):[];return g=class extends e{constructor(){super(...arguments);A(this,h);A(this,v,!1);A(this,L,null);A(this,M,new Map);A(this,D);P(this,"get");P(this,"set");P(this,"call")}static get observedAttributes(){var o,f,u;return b(o=g,_,at).call(o),[...(u=(f=n==null?void 0:n.constructor)==null?void 0:f.observedAttributes)!=null?u:[],...ot]}get nativeEl(){var i,o,f,u,a;return b(this,h,k).call(this),(a=(u=(o=(i=l(this,L))!=null?i:this.querySelector(":scope > [slot=media]"))!=null?o:this.querySelector(r))!=null?u:(f=this.shadowRoot)==null?void 0:f.querySelector(r))!=null?a:null}set nativeEl(i){E(this,L,i)}get defaultMuted(){return this.hasAttribute("muted")}set defaultMuted(i){this.toggleAttribute("muted",i)}get src(){return this.getAttribute("src")}set src(i){this.setAttribute("src",`${i}`)}get preload(){var i,o;return(o=this.getAttribute("preload"))!=null?o:(i=this.nativeEl)==null?void 0:i.preload}set preload(i){this.setAttribute("preload",`${i}`)}init(){if(!this.shadowRoot){this.attachShadow({mode:"open"});let i=It(this.attributes);t&&(i.is=t),r&&(i.part=r),this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(i)}this.nativeEl.muted=this.hasAttribute("muted");for(let i of c)b(this,h,dt).call(this,i);E(this,D,new MutationObserver(b(this,h,ut).bind(this))),this.shadowRoot.addEventListener("slotchange",()=>b(this,h,W).call(this)),b(this,h,W).call(this);for(let i of this.constructor.Events)this.shadowRoot.addEventListener(i,this,!0)}handleEvent(i){i.target===this.nativeEl&&this.dispatchEvent(new CustomEvent(i.type,{detail:i.detail}))}attributeChangedCallback(i,o,f){b(this,h,k).call(this),b(this,h,lt).call(this,i,o,f)}connectedCallback(){b(this,h,k).call(this)}},p=new WeakMap,_=new WeakSet,at=function(){if(l(this,p))return;E(this,p,!0);let i=new Set(this.observedAttributes);i.delete("muted");for(let o of c)if(!(o in this.prototype))if(typeof n[o]=="function")this.prototype[o]=function(...f){return b(this,h,k).call(this),(()=>{var m;if(this.call)return this.call(o,...f);let a=(m=this.nativeEl)==null?void 0:m[o];return a==null?void 0:a.apply(this.nativeEl,f)})()};else{let f={get(){var a,m,x;b(this,h,k).call(this);let u=o.toLowerCase();if(i.has(u)){let S=this.getAttribute(u);return S===null?!1:S===""?!0:S}return(x=(a=this.get)==null?void 0:a.call(this,o))!=null?x:(m=this.nativeEl)==null?void 0:m[o]}};o!==o.toUpperCase()&&(f.set=function(u){b(this,h,k).call(this);let a=o.toLowerCase();if(i.has(a)){u===!0||u===!1||u==null?this.toggleAttribute(a,!!u):this.setAttribute(a,u);return}if(this.set){this.set(o,u);return}this.nativeEl&&(this.nativeEl[o]=u)}),Object.defineProperty(this.prototype,o,f)}},v=new WeakMap,L=new WeakMap,M=new WeakMap,D=new WeakMap,h=new WeakSet,k=function(){l(this,v)||(E(this,v,!0),this.init())},W=function(){var u;let i=new Map(l(this,M)),o=(u=this.shadowRoot)==null?void 0:u.querySelector("slot:not([name])");(o==null?void 0:o.assignedElements({flatten:!0}).filter(a=>["track","source"].includes(a.localName))).forEach(a=>{var x,S;i.delete(a);let m=l(this,M).get(a);m||(m=a.cloneNode(),l(this,M).set(a,m),(x=l(this,D))==null||x.observe(a,{attributes:!0})),(S=this.nativeEl)==null||S.append(m),b(this,h,J).call(this,m)}),i.forEach((a,m)=>{a.remove(),l(this,M).delete(m)})},ut=function(i){var o;for(let f of i)if(f.type==="attributes"){let{target:u,attributeName:a}=f,m=l(this,M).get(u);m&&a&&(m.setAttribute(a,(o=u.getAttribute(a))!=null?o:""),b(this,h,J).call(this,m))}},J=function(i){i&&i.localName==="track"&&i.default&&(i.kind==="chapters"||i.kind==="metadata")&&i.track.mode==="disabled"&&(i.track.mode="hidden")},dt=function(i){if(Object.prototype.hasOwnProperty.call(this,i)){let o=this[i];delete this[i],this[i]=o}},lt=function(i,o,f){var u,a,m;["id","class"].includes(i)||!g.observedAttributes.includes(i)&&this.constructor.observedAttributes.includes(i)||(f===null?(u=this.nativeEl)==null||u.removeAttribute(i):((a=this.nativeEl)==null?void 0:a.getAttribute(i))!==f&&((m=this.nativeEl)==null||m.setAttribute(i,f)))},A(g,_),P(g,"getTemplateHTML",r.endsWith("audio")?Ct:Pt),P(g,"shadowRootOptions",{mode:"open"}),P(g,"Events",Q),A(g,p,!1),g}function kt(e){let r=[];for(let t=Object.getPrototypeOf(e);t&&t!==HTMLElement.prototype;t=Object.getPrototypeOf(t)){let n=Object.getOwnPropertyNames(t);r.push(...n)}return r}function ht(e){let r="";for(let t in e){if(!ot.includes(t))continue;let n=e[t];n===""?r+=` ${t}`:r+=` ${t}="${n}"`}return r}function It(e){let r={};for(let t of e)r[t.name]=t.value;return r}var rt,Kt=ct((rt=globalThis.HTMLElement)!=null?rt:class{},{tag:"video"}),nt,$=ct((nt=globalThis.HTMLElement)!=null?nt:class{},{tag:"audio"});var s={PLAYER_INIT_TIME:"player-init-time",ENV_KEY:"env-key",DEBUG:"debug",PLAYBACK_ID:"playback-id",PLAYBACK_TOKEN:"playback-token",PROGRAM_START_TIME:"program-start-time",PROGRAM_END_TIME:"program-end-time",ASSET_START_TIME:"asset-start-time",ASSET_END_TIME:"asset-end-time",METADATA_URL:"metadata-url",PREFER_PLAYBACK:"prefer-playback",CUSTOM_DOMAIN:"custom-domain",BEACON_COLLECTION_DOMAIN:"beacon-collection-domain",DISABLE_TRACKING:"disable-tracking",DISABLE_COOKIES:"disable-cookies",TYPE:"type",STREAM_TYPE:"stream-type",START_TIME:"start-time"},St=Object.values(s),X=st(),Z="mux-audio",O,Y,R,G,U,T,I,V,B=class extends ${constructor(){super();A(this,T);A(this,O);A(this,Y);A(this,R,{});A(this,G,{});A(this,U);E(this,Y,(0,d.generatePlayerInitTime)())}static get NAME(){return Z}static get VERSION(){return X}static get observedAttributes(){var t;return[...St,...(t=$.observedAttributes)!=null?t:[]]}get playerInitTime(){return this.hasAttribute(s.PLAYER_INIT_TIME)?+this.getAttribute(s.PLAYER_INIT_TIME):l(this,Y)}set playerInitTime(t){t!=this.playerInitTime&&(t==null?this.removeAttribute(s.PLAYER_INIT_TIME):this.setAttribute(s.PLAYER_INIT_TIME,`${+t}`))}get playerSoftwareName(){return Z}get playerSoftwareVersion(){return X}get _hls(){var t;return(t=l(this,T,I))==null?void 0:t.engine}get mux(){return this.nativeEl.mux}get src(){return this.getAttribute("src")}set src(t){t!==this.src&&(t==null?this.removeAttribute("src"):this.setAttribute("src",t))}get preload(){let t=this.getAttribute("preload");return t===""?"auto":["none","metadata","auto"].includes(t)?t:super.preload}set preload(t){t!=this.getAttribute("preload")&&(["","none","metadata","auto"].includes(t)?this.setAttribute("preload",t):this.removeAttribute("preload"))}get debug(){return this.getAttribute(s.DEBUG)!=null}set debug(t){t!==this.debug&&(t?this.setAttribute(s.DEBUG,""):this.removeAttribute(s.DEBUG))}get disableTracking(){return this.hasAttribute(s.DISABLE_TRACKING)}set disableTracking(t){t!==this.disableTracking&&this.toggleAttribute(s.DISABLE_TRACKING,!!t)}get disableCookies(){return this.hasAttribute(s.DISABLE_COOKIES)}set disableCookies(t){t!==this.disableCookies&&(t?this.setAttribute(s.DISABLE_COOKIES,""):this.removeAttribute(s.DISABLE_COOKIES))}get startTime(){let t=this.getAttribute(s.START_TIME);if(t==null)return;let n=+t;return Number.isNaN(n)?void 0:n}set startTime(t){t!==this.startTime&&(t==null?this.removeAttribute(s.START_TIME):this.setAttribute(s.START_TIME,`${t}`))}get playbackId(){var t;return(t=this.getAttribute(s.PLAYBACK_ID))!=null?t:void 0}set playbackId(t){t!==this.playbackId&&(t?this.setAttribute(s.PLAYBACK_ID,t):this.removeAttribute(s.PLAYBACK_ID))}get programStartTime(){let t=this.getAttribute(s.PROGRAM_START_TIME);if(t==null)return;let n=+t;return Number.isNaN(n)?void 0:n}set programStartTime(t){t==null?this.removeAttribute(s.PROGRAM_START_TIME):this.setAttribute(s.PROGRAM_START_TIME,`${t}`)}get programEndTime(){let t=this.getAttribute(s.PROGRAM_END_TIME);if(t==null)return;let n=+t;return Number.isNaN(n)?void 0:n}set programEndTime(t){t==null?this.removeAttribute(s.PROGRAM_END_TIME):this.setAttribute(s.PROGRAM_END_TIME,`${t}`)}get assetStartTime(){let t=this.getAttribute(s.ASSET_START_TIME);if(t==null)return;let n=+t;return Number.isNaN(n)?void 0:n}set assetStartTime(t){t==null?this.removeAttribute(s.ASSET_START_TIME):this.setAttribute(s.ASSET_START_TIME,`${t}`)}get assetEndTime(){let t=this.getAttribute(s.ASSET_END_TIME);if(t==null)return;let n=+t;return Number.isNaN(n)?void 0:n}set assetEndTime(t){t==null?this.removeAttribute(s.ASSET_END_TIME):this.setAttribute(s.ASSET_END_TIME,`${t}`)}get customDomain(){var t;return(t=this.getAttribute(s.CUSTOM_DOMAIN))!=null?t:void 0}set customDomain(t){t!==this.customDomain&&(t?this.setAttribute(s.CUSTOM_DOMAIN,t):this.removeAttribute(s.CUSTOM_DOMAIN))}get playbackToken(){var t,n,c,y;if(this.hasAttribute(s.PLAYBACK_TOKEN))return(t=this.getAttribute(s.PLAYBACK_TOKEN))!=null?t:void 0;if(this.hasAttribute(s.PLAYBACK_ID)){let[,C]=(0,d.toPlaybackIdParts)((n=this.playbackId)!=null?n:"");return(c=new URLSearchParams(C).get("token"))!=null?c:void 0}if(this.src)return(y=new URLSearchParams(this.src).get("token"))!=null?y:void 0}set playbackToken(t){t!==this.playbackToken&&(t?this.setAttribute(s.PLAYBACK_TOKEN,t):this.removeAttribute(s.PLAYBACK_TOKEN))}get tokens(){let t=this.getAttribute(s.PLAYBACK_TOKEN);return{...l(this,G),...t!=null?{playback:t}:{}}}set tokens(t){E(this,G,t!=null?t:{})}get ended(){return(0,d.getEnded)(this.nativeEl,this._hls)}get envKey(){var t;return(t=this.getAttribute(s.ENV_KEY))!=null?t:void 0}set envKey(t){t!==this.envKey&&(t?this.setAttribute(s.ENV_KEY,t):this.removeAttribute(s.ENV_KEY))}get beaconCollectionDomain(){var t;return(t=this.getAttribute(s.BEACON_COLLECTION_DOMAIN))!=null?t:void 0}set beaconCollectionDomain(t){t!==this.beaconCollectionDomain&&(t?this.setAttribute(s.BEACON_COLLECTION_DOMAIN,t):this.removeAttribute(s.BEACON_COLLECTION_DOMAIN))}get streamType(){var t;return(t=this.getAttribute(s.STREAM_TYPE))!=null?t:void 0}set streamType(t){t!==this.streamType&&(t?this.setAttribute(s.STREAM_TYPE,t):this.removeAttribute(s.STREAM_TYPE))}getStartDate(){return(0,d.getStartDate)(this.nativeEl,this._hls)}get currentPdt(){return(0,d.getCurrentPdt)(this.nativeEl,this._hls)}get preferPlayback(){let t=this.getAttribute(s.PREFER_PLAYBACK);if(t===d.PlaybackTypes.MSE||t===d.PlaybackTypes.NATIVE)return t}set preferPlayback(t){t!==this.preferPlayback&&(t===d.PlaybackTypes.MSE||t===d.PlaybackTypes.NATIVE?this.setAttribute(s.PREFER_PLAYBACK,t):this.removeAttribute(s.PREFER_PLAYBACK))}get metadata(){return{...this.getAttributeNames().filter(n=>n.startsWith("metadata-")&&![s.METADATA_URL].includes(n)).reduce((n,c)=>{let y=this.getAttribute(c);return y!=null&&(n[c.replace(/^metadata-/,"").replace(/-/g,"_")]=y),n},{}),...l(this,R)}}set metadata(t){E(this,R,t!=null?t:{}),this.mux&&(console.info("Some metadata values may not be overridable at this time. Make sure you set all metadata to override before setting the src."),this.mux.emit("hb",l(this,R)))}get _hlsConfig(){return l(this,U)}set _hlsConfig(t){E(this,U,t)}load(){(0,d.initialize)(this,this.nativeEl,l(this,T,I))}unload(){(0,d.teardown)(this.nativeEl,l(this,T,I))}attributeChangedCallback(t,n,c){var C,g;switch($.observedAttributes.includes(t)&&!["src","autoplay","preload"].includes(t)&&super.attributeChangedCallback(t,n,c),t){case"src":{let p=!!n,_=!!c;!p&&_?b(this,T,V).call(this):p&&!_?this.unload():p&&_&&(this.unload(),b(this,T,V).call(this));break}case"autoplay":if(c===n)break;(C=l(this,T,I))==null||C.setAutoplay(this.autoplay);break;case"preload":if(c===n)break;(g=l(this,T,I))==null||g.setPreload(c);break;case s.PLAYBACK_ID:this.src=(0,d.toMuxVideoURL)(this);break;case s.DEBUG:{let p=this.debug;this.mux&&console.info("Cannot toggle debug mode of mux data after initialization. Make sure you set all metadata to override before setting the src."),this._hls&&(this._hls.config.debug=p);break}case s.METADATA_URL:c&&fetch(c).then(p=>p.json()).then(p=>this.metadata=p).catch(()=>console.error(`Unable to load or parse metadata JSON from metadata-url ${c}!`));break;default:break}}connectedCallback(){var t;(t=super.connectedCallback)==null||t.call(this),this.nativeEl&&this.src&&!l(this,T,I)&&b(this,T,V).call(this)}disconnectedCallback(){this.unload()}};O=new WeakMap,Y=new WeakMap,R=new WeakMap,G=new WeakMap,U=new WeakMap,T=new WeakSet,I=function(){return(0,d.getCoreReference)(this.nativeEl)},V=async function(){l(this,O)||(await E(this,O,Promise.resolve()),E(this,O,null),this.load())};H.customElements.get("mux-audio")||(H.customElements.define("mux-audio",B),H.MuxAudioElement=B);var Nt=B;
|
|
44
44
|
//# sourceMappingURL=index.cjs.js.map
|
package/dist/index.cjs.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/index.ts", "../src/polyfills/index.ts", "../src/env.ts", "../../../node_modules/custom-media-element/dist/custom-media-element.js"],
|
|
4
|
-
"sourcesContent": ["import { globalThis } from './polyfills';\nimport {\n initialize,\n teardown,\n generatePlayerInitTime,\n PlaybackTypes,\n toMuxVideoURL,\n MediaError,\n getStartDate,\n getCurrentPdt,\n getEnded,\n toPlaybackIdParts,\n} from '@mux/playback-core';\nimport type {\n ExtensionMimeTypeMap,\n Metadata,\n MuxMediaProps,\n PlaybackCore,\n PlaybackEngine,\n StreamTypes,\n Tokens,\n ValueOf,\n} from '@mux/playback-core';\nimport { getPlayerVersion } from './env';\n// this must be imported after playback-core for the polyfill to be included\nimport { CustomAudioElement, Events as AudioEvents } from 'custom-media-element';\nimport type { HlsConfig } from 'hls.js';\n\nexport const Attributes = {\n PLAYER_INIT_TIME: 'player-init-time',\n ENV_KEY: 'env-key',\n DEBUG: 'debug',\n PLAYBACK_ID: 'playback-id',\n PLAYBACK_TOKEN: 'playback-token',\n PROGRAM_START_TIME: 'program-start-time',\n PROGRAM_END_TIME: 'program-end-time',\n ASSET_START_TIME: 'asset-start-time',\n ASSET_END_TIME: 'asset-end-time',\n METADATA_URL: 'metadata-url',\n PREFER_PLAYBACK: 'prefer-playback',\n CUSTOM_DOMAIN: 'custom-domain',\n BEACON_COLLECTION_DOMAIN: 'beacon-collection-domain',\n DISABLE_TRACKING: 'disable-tracking',\n DISABLE_COOKIES: 'disable-cookies',\n TYPE: 'type',\n STREAM_TYPE: 'stream-type',\n START_TIME: 'start-time',\n} as const;\n\nconst AttributeNameValues = Object.values(Attributes);\n\nexport const playerSoftwareVersion = getPlayerVersion();\nexport const playerSoftwareName = 'mux-audio';\n\nclass MuxAudioElement extends CustomAudioElement implements Partial<MuxMediaProps> {\n static get NAME() {\n return playerSoftwareName;\n }\n\n static get VERSION() {\n return playerSoftwareVersion;\n }\n\n static get observedAttributes() {\n return [...AttributeNameValues, ...(CustomAudioElement.observedAttributes ?? [])];\n }\n\n #core?: PlaybackCore;\n #loadRequested?: Promise<void> | null;\n #defaultPlayerInitTime: number | undefined;\n #metadata: Readonly<Metadata> = {};\n #tokens: Tokens = {};\n #_hlsConfig?: Partial<HlsConfig>;\n\n constructor() {\n super();\n this.#defaultPlayerInitTime = generatePlayerInitTime();\n }\n\n get playerInitTime() {\n if (!this.hasAttribute(Attributes.PLAYER_INIT_TIME)) return this.#defaultPlayerInitTime;\n return +(this.getAttribute(Attributes.PLAYER_INIT_TIME) as string) as number;\n }\n\n set playerInitTime(val) {\n // don't cause an infinite loop and avoid change event dispatching\n if (val == this.playerInitTime) return;\n\n if (val == null) {\n this.removeAttribute(Attributes.PLAYER_INIT_TIME);\n } else {\n this.setAttribute(Attributes.PLAYER_INIT_TIME, `${+val}`);\n }\n }\n\n get playerSoftwareName() {\n return playerSoftwareName;\n }\n\n get playerSoftwareVersion() {\n return playerSoftwareVersion;\n }\n\n // Keeping this named \"_hls\" since it's exposed for unadvertised \"advanced usage\" via getter that assumes specifically hls.js (CJP)\n get _hls(): PlaybackEngine | undefined {\n return this.#core?.engine;\n }\n\n get mux(): Readonly<HTMLAudioElement['mux']> | undefined {\n return this.nativeEl.mux;\n }\n\n get src() {\n // Use the attribute value as the source of truth.\n // No need to store it in two places.\n // This avoids needing a to read the attribute initially and update the src.\n return this.getAttribute('src') as string;\n }\n\n set src(val: string) {\n // If being set by attributeChangedCallback,\n // dont' cause an infinite loop\n if (val === this.src) return;\n\n if (val == null) {\n this.removeAttribute('src');\n } else {\n this.setAttribute('src', val);\n }\n }\n\n get preload() {\n const val = this.getAttribute('preload') as HTMLMediaElement['preload'];\n if (val === '') return 'auto';\n if (['none', 'metadata', 'auto'].includes(val)) return val;\n return super.preload;\n }\n\n set preload(val) {\n // don't cause an infinite loop\n // check the attribute because an empty string maps to the `auto` prop\n if (val == this.getAttribute('preload')) return;\n\n if (['', 'none', 'metadata', 'auto'].includes(val)) {\n this.setAttribute('preload', val);\n } else {\n this.removeAttribute('preload');\n }\n }\n\n get debug() {\n return this.getAttribute(Attributes.DEBUG) != null;\n }\n\n set debug(val) {\n // dont' cause an infinite loop\n if (val === this.debug) return;\n\n if (val) {\n this.setAttribute(Attributes.DEBUG, '');\n } else {\n this.removeAttribute(Attributes.DEBUG);\n }\n }\n\n get disableTracking() {\n return this.hasAttribute(Attributes.DISABLE_TRACKING);\n }\n\n set disableTracking(val) {\n // dont' cause an infinite loop\n if (val === this.disableTracking) return;\n\n this.toggleAttribute(Attributes.DISABLE_TRACKING, !!val);\n }\n\n get disableCookies() {\n return this.hasAttribute(Attributes.DISABLE_COOKIES);\n }\n\n set disableCookies(val) {\n // dont' cause an infinite loop\n if (val === this.disableCookies) return;\n\n if (val) {\n this.setAttribute(Attributes.DISABLE_COOKIES, '');\n } else {\n this.removeAttribute(Attributes.DISABLE_COOKIES);\n }\n }\n\n get startTime(): number | undefined {\n const val = this.getAttribute(Attributes.START_TIME);\n if (val == null) return undefined;\n const num = +val;\n return !Number.isNaN(num) ? num : undefined;\n }\n\n set startTime(val: number | undefined) {\n // dont' cause an infinite loop\n if (val === this.startTime) return;\n\n if (val == null) {\n this.removeAttribute(Attributes.START_TIME);\n } else {\n this.setAttribute(Attributes.START_TIME, `${val}`);\n }\n }\n\n get playbackId(): string | undefined {\n return this.getAttribute(Attributes.PLAYBACK_ID) ?? undefined;\n }\n\n set playbackId(val: string | undefined) {\n // dont' cause an infinite loop\n if (val === this.playbackId) return;\n\n if (val) {\n this.setAttribute(Attributes.PLAYBACK_ID, val);\n } else {\n this.removeAttribute(Attributes.PLAYBACK_ID);\n }\n }\n\n get programStartTime() {\n const val = this.getAttribute(Attributes.PROGRAM_START_TIME);\n if (val == null) return undefined;\n const num = +val;\n return !Number.isNaN(num) ? num : undefined;\n }\n\n set programStartTime(val: number | undefined) {\n if (val == undefined) {\n this.removeAttribute(Attributes.PROGRAM_START_TIME);\n } else {\n this.setAttribute(Attributes.PROGRAM_START_TIME, `${val}`);\n }\n }\n\n get programEndTime() {\n const val = this.getAttribute(Attributes.PROGRAM_END_TIME);\n if (val == null) return undefined;\n const num = +val;\n return !Number.isNaN(num) ? num : undefined;\n }\n\n set programEndTime(val: number | undefined) {\n if (val == undefined) {\n this.removeAttribute(Attributes.PROGRAM_END_TIME);\n } else {\n this.setAttribute(Attributes.PROGRAM_END_TIME, `${val}`);\n }\n }\n\n get assetStartTime() {\n const val = this.getAttribute(Attributes.ASSET_START_TIME);\n if (val == null) return undefined;\n const num = +val;\n return !Number.isNaN(num) ? num : undefined;\n }\n\n set assetStartTime(val: number | undefined) {\n if (val == undefined) {\n this.removeAttribute(Attributes.ASSET_START_TIME);\n } else {\n this.setAttribute(Attributes.ASSET_START_TIME, `${val}`);\n }\n }\n\n get assetEndTime() {\n const val = this.getAttribute(Attributes.ASSET_END_TIME);\n if (val == null) return undefined;\n const num = +val;\n return !Number.isNaN(num) ? num : undefined;\n }\n\n set assetEndTime(val: number | undefined) {\n if (val == undefined) {\n this.removeAttribute(Attributes.ASSET_END_TIME);\n } else {\n this.setAttribute(Attributes.ASSET_END_TIME, `${val}`);\n }\n }\n\n get customDomain() {\n return this.getAttribute(Attributes.CUSTOM_DOMAIN) ?? undefined;\n }\n\n set customDomain(val: string | undefined) {\n // dont' cause an infinite loop\n if (val === this.customDomain) return;\n\n if (val) {\n this.setAttribute(Attributes.CUSTOM_DOMAIN, val);\n } else {\n this.removeAttribute(Attributes.CUSTOM_DOMAIN);\n }\n }\n\n /**\n * Get the playback token for signing the src URL.\n */\n get playbackToken() {\n if (this.hasAttribute(Attributes.PLAYBACK_TOKEN)) {\n return this.getAttribute(Attributes.PLAYBACK_TOKEN) ?? undefined;\n }\n if (this.hasAttribute(Attributes.PLAYBACK_ID)) {\n const [, queryParts] = toPlaybackIdParts(this.playbackId ?? '');\n return new URLSearchParams(queryParts).get('token') ?? undefined;\n }\n if (this.src) {\n return new URLSearchParams(this.src).get('token') ?? undefined;\n }\n return undefined;\n }\n\n /**\n * Set the playback token for signing the src URL.\n */\n set playbackToken(val: string | undefined) {\n if (val === this.playbackToken) return;\n\n if (val) {\n this.setAttribute(Attributes.PLAYBACK_TOKEN, val);\n } else {\n this.removeAttribute(Attributes.PLAYBACK_TOKEN);\n }\n }\n\n get tokens() {\n const playback = this.getAttribute(Attributes.PLAYBACK_TOKEN);\n return {\n ...this.#tokens,\n ...(playback != null ? { playback } : {}),\n };\n }\n\n set tokens(val) {\n this.#tokens = val ?? {};\n }\n\n get ended() {\n // This ensures that edge case media that doesn't properly end will\n // still announce itself as \"ended\".\n return getEnded(this.nativeEl, this._hls);\n }\n\n get envKey(): string | undefined {\n return this.getAttribute(Attributes.ENV_KEY) ?? undefined;\n }\n\n set envKey(val: string | undefined) {\n // dont' cause an infinite loop\n if (val === this.envKey) return;\n\n if (val) {\n this.setAttribute(Attributes.ENV_KEY, val);\n } else {\n this.removeAttribute(Attributes.ENV_KEY);\n }\n }\n\n get beaconCollectionDomain(): string | undefined {\n return this.getAttribute(Attributes.BEACON_COLLECTION_DOMAIN) ?? undefined;\n }\n\n set beaconCollectionDomain(val: string | undefined) {\n // dont' cause an infinite loop\n if (val === this.beaconCollectionDomain) return;\n\n if (val) {\n this.setAttribute(Attributes.BEACON_COLLECTION_DOMAIN, val);\n } else {\n this.removeAttribute(Attributes.BEACON_COLLECTION_DOMAIN);\n }\n }\n\n get streamType(): ValueOf<StreamTypes> | undefined {\n // getAttribute doesn't know that this attribute is well defined. Should explore extending for MuxVideo (CJP)\n return (this.getAttribute(Attributes.STREAM_TYPE) as ValueOf<StreamTypes>) ?? undefined;\n }\n\n set streamType(val: ValueOf<StreamTypes> | undefined) {\n // dont' cause an infinite loop\n if (val === this.streamType) return;\n\n if (val) {\n this.setAttribute(Attributes.STREAM_TYPE, val);\n } else {\n this.removeAttribute(Attributes.STREAM_TYPE);\n }\n }\n\n getStartDate() {\n return getStartDate(this.nativeEl, this._hls);\n }\n\n get currentPdt() {\n return getCurrentPdt(this.nativeEl, this._hls);\n }\n\n get preferPlayback(): ValueOf<PlaybackTypes> | undefined {\n const val = this.getAttribute(Attributes.PREFER_PLAYBACK);\n if (val === PlaybackTypes.MSE || val === PlaybackTypes.NATIVE) return val;\n return undefined;\n }\n\n set preferPlayback(val: ValueOf<PlaybackTypes> | undefined) {\n if (val === this.preferPlayback) return;\n\n if (val === PlaybackTypes.MSE || val === PlaybackTypes.NATIVE) {\n this.setAttribute(Attributes.PREFER_PLAYBACK, val);\n } else {\n this.removeAttribute(Attributes.PREFER_PLAYBACK);\n }\n }\n\n get metadata() {\n const inferredMetadataAttrs: { [key: string]: string } = this.getAttributeNames()\n .filter((attrName) => {\n return attrName.startsWith('metadata-') && !([Attributes.METADATA_URL] as string[]).includes(attrName);\n })\n .reduce(\n (currAttrs, attrName) => {\n const value = this.getAttribute(attrName);\n if (value != null) {\n currAttrs[attrName.replace(/^metadata-/, '').replace(/-/g, '_') as string] = value;\n }\n return currAttrs;\n },\n {} as { [key: string]: string }\n );\n\n return {\n ...inferredMetadataAttrs,\n ...this.#metadata,\n };\n }\n\n set metadata(val: Readonly<Metadata> | undefined) {\n this.#metadata = val ?? {};\n if (!!this.mux) {\n /** @TODO Link to docs for a more detailed discussion (CJP) */\n console.info(\n 'Some metadata values may not be overridable at this time. Make sure you set all metadata to override before setting the src.'\n );\n this.mux.emit('hb', this.#metadata);\n }\n }\n\n get _hlsConfig() {\n return this.#_hlsConfig;\n }\n\n set _hlsConfig(val: Readonly<Partial<HlsConfig>> | undefined) {\n this.#_hlsConfig = val;\n }\n\n async #requestLoad() {\n if (this.#loadRequested) return;\n await (this.#loadRequested = Promise.resolve());\n this.#loadRequested = null;\n this.load();\n }\n\n load() {\n this.#core = initialize(this as Partial<MuxMediaProps>, this.nativeEl, this.#core);\n }\n\n unload() {\n teardown(this.nativeEl, this.#core);\n this.#core = undefined;\n }\n\n attributeChangedCallback(attrName: string, oldValue: string | null, newValue: string | null) {\n // Only forward the attributes to the native media element that are not handled.\n const isNativeAttr = CustomAudioElement.observedAttributes.includes(attrName);\n if (isNativeAttr && !['src', 'autoplay', 'preload'].includes(attrName)) {\n super.attributeChangedCallback(attrName, oldValue, newValue);\n }\n\n switch (attrName) {\n case 'src': {\n const hadSrc = !!oldValue;\n const hasSrc = !!newValue;\n if (!hadSrc && hasSrc) {\n this.#requestLoad();\n } else if (hadSrc && !hasSrc) {\n this.unload();\n /** @TODO Test this thoroughly (async?) and confirm unload() necessary (CJP) */\n } else if (hadSrc && hasSrc) {\n this.unload();\n this.#requestLoad();\n }\n break;\n }\n case 'autoplay':\n if (newValue === oldValue) {\n break;\n }\n /** In case newValue is an empty string or null, use this.autoplay which translates to booleans (WL) */\n this.#core?.setAutoplay(this.autoplay);\n break;\n case 'preload':\n if (newValue === oldValue) {\n break;\n }\n this.#core?.setPreload(newValue as HTMLMediaElement['preload']);\n break;\n case Attributes.PLAYBACK_ID:\n this.src = toMuxVideoURL(this) as string;\n break;\n case Attributes.DEBUG: {\n const debug = this.debug;\n if (!!this.mux) {\n /** @TODO Link to docs for a more detailed discussion (CJP) */\n console.info(\n 'Cannot toggle debug mode of mux data after initialization. Make sure you set all metadata to override before setting the src.'\n );\n }\n if (!!this._hls) {\n this._hls.config.debug = debug;\n }\n break;\n }\n case Attributes.METADATA_URL:\n if (newValue) {\n fetch(newValue)\n .then((resp) => resp.json())\n .then((json) => (this.metadata = json))\n .catch(() => console.error(`Unable to load or parse metadata JSON from metadata-url ${newValue}!`));\n }\n break;\n default:\n break;\n }\n }\n\n connectedCallback(): void {\n super.connectedCallback?.();\n if (this.nativeEl && this.src && !this.#core) {\n this.#requestLoad();\n }\n }\n\n disconnectedCallback() {\n this.unload();\n }\n}\n\ntype MuxAudioElementType = typeof MuxAudioElement;\ndeclare global {\n var MuxAudioElement: MuxAudioElementType; // eslint-disable-line\n}\n\nif (!globalThis.customElements.get('mux-audio')) {\n globalThis.customElements.define('mux-audio', MuxAudioElement);\n /** @TODO consider externalizing this (breaks standard modularity) */\n globalThis.MuxAudioElement = MuxAudioElement;\n}\n\nexport {\n PlaybackEngine,\n PlaybackEngine as Hls,\n ExtensionMimeTypeMap as MimeTypes,\n MediaError,\n AudioEvents,\n generatePlayerInitTime,\n};\n\nexport default MuxAudioElement;\n", "/* eslint @typescript-eslint/no-empty-function: \"off\" */\n\nclass EventTarget {\n addEventListener() {}\n removeEventListener() {}\n dispatchEvent(_event: Event) {\n return true;\n }\n}\n\n// @github/template-parts requires DocumentFragment to be available on globalThis for SSR\nif (typeof DocumentFragment === 'undefined') {\n class DocumentFragment extends EventTarget {}\n // @ts-ignore\n globalThis.DocumentFragment = DocumentFragment;\n}\n\nclass HTMLElement extends EventTarget {}\nclass HTMLVideoElement extends EventTarget {}\n\nconst customElements: CustomElementRegistry = {\n get(_name: string) {\n return undefined;\n },\n define(_name, _constructor, _options) {},\n getName(_constructor) {\n return null;\n },\n upgrade(_root) {},\n whenDefined(_name) {\n return Promise.resolve(HTMLElement as unknown as CustomElementConstructor);\n },\n};\n\nclass CustomEvent {\n #detail;\n get detail() {\n return this.#detail;\n }\n constructor(_typeArg: string, eventInitDict: CustomEventInit = {}) {\n // super(typeArg, eventInitDict);\n this.#detail = eventInitDict?.detail;\n }\n initCustomEvent() {}\n}\n\nfunction createElement(_tagName: string, _options?: ElementCreationOptions): HTMLElement {\n return new HTMLElement();\n}\n\nconst globalThisShim = {\n document: {\n createElement,\n },\n DocumentFragment,\n customElements,\n CustomEvent,\n EventTarget,\n HTMLElement,\n HTMLVideoElement,\n};\n\n// const isServer = typeof window === 'undefined' || typeof globalThis.customElements === 'undefined';\n// const GlobalThis = isServer ? globalThisShim : globalThis;\n// const Document = isServer ? globalThisShim.document : globalThis.document;\n//\n// export { GlobalThis as globalThis, Document as document };\nconst isServer = typeof window === 'undefined' || typeof globalThis.customElements === 'undefined';\ntype GlobalThis = typeof globalThis;\nconst internalGlobalThis: GlobalThis = (isServer ? globalThisShim : globalThis) as GlobalThis;\nconst internalDocument: Document = (isServer ? globalThisShim.document : globalThis.document) as Document;\n\nexport { internalGlobalThis as globalThis, internalDocument as document };\n", "export const isMaybeBrowser = () => typeof window != 'undefined';\n// @ts-ignore\nexport const isMaybeServer = () => typeof global != 'undefined';\n\nconst getEnvPlayerVersion = () => {\n try {\n // @ts-ignore\n return PLAYER_VERSION as string;\n } catch {}\n return 'UNKNOWN';\n};\n\nconst player_version: string = getEnvPlayerVersion();\n\nexport const getPlayerVersion = () => player_version;\n", "const Events = [\n \"abort\",\n \"canplay\",\n \"canplaythrough\",\n \"durationchange\",\n \"emptied\",\n \"encrypted\",\n \"ended\",\n \"error\",\n \"loadeddata\",\n \"loadedmetadata\",\n \"loadstart\",\n \"pause\",\n \"play\",\n \"playing\",\n \"progress\",\n \"ratechange\",\n \"seeked\",\n \"seeking\",\n \"stalled\",\n \"suspend\",\n \"timeupdate\",\n \"volumechange\",\n \"waiting\",\n \"waitingforkey\",\n \"resize\",\n \"enterpictureinpicture\",\n \"leavepictureinpicture\",\n \"webkitbeginfullscreen\",\n \"webkitendfullscreen\",\n \"webkitpresentationmodechanged\"\n];\nconst Attributes = [\n \"autopictureinpicture\",\n \"disablepictureinpicture\",\n \"disableremoteplayback\",\n \"autoplay\",\n \"controls\",\n \"controlslist\",\n \"crossorigin\",\n \"loop\",\n \"muted\",\n \"playsinline\",\n \"poster\",\n \"preload\",\n \"src\"\n];\nfunction getAudioTemplateHTML(attrs) {\n return (\n /*html*/\n `\n <style>\n :host {\n display: inline-flex;\n line-height: 0;\n flex-direction: column;\n justify-content: end;\n }\n\n audio {\n width: 100%;\n }\n </style>\n <slot name=\"media\">\n <audio${serializeAttributes(attrs)}></audio>\n </slot>\n <slot></slot>\n `\n );\n}\nfunction getVideoTemplateHTML(attrs) {\n return (\n /*html*/\n `\n <style>\n :host {\n display: inline-block;\n line-height: 0;\n }\n\n video {\n max-width: 100%;\n max-height: 100%;\n min-width: 100%;\n min-height: 100%;\n object-fit: var(--media-object-fit, contain);\n object-position: var(--media-object-position, 50% 50%);\n }\n\n video::-webkit-media-text-track-container {\n transform: var(--media-webkit-text-track-transform);\n transition: var(--media-webkit-text-track-transition);\n }\n </style>\n <slot name=\"media\">\n <video${serializeAttributes(attrs)}></video>\n </slot>\n <slot></slot>\n `\n );\n}\nfunction CustomMediaMixin(superclass, { tag, is }) {\n const nativeElTest = globalThis.document?.createElement?.(tag, { is });\n const nativeElProps = nativeElTest ? getNativeElProps(nativeElTest) : [];\n return class CustomMedia extends superclass {\n static getTemplateHTML = tag.endsWith(\"audio\") ? getAudioTemplateHTML : getVideoTemplateHTML;\n static shadowRootOptions = { mode: \"open\" };\n static Events = Events;\n static #isDefined = false;\n static get observedAttributes() {\n CustomMedia.#define();\n const natAttrs = nativeElTest?.constructor?.observedAttributes ?? [];\n return [\n ...natAttrs,\n ...Attributes\n ];\n }\n static #define() {\n if (this.#isDefined) return;\n this.#isDefined = true;\n const propsToAttrs = new Set(this.observedAttributes);\n propsToAttrs.delete(\"muted\");\n for (const prop of nativeElProps) {\n if (prop in this.prototype) continue;\n if (typeof nativeElTest[prop] === \"function\") {\n this.prototype[prop] = function(...args) {\n this.#init();\n const fn = () => {\n if (this.call) return this.call(prop, ...args);\n const nativeFn = this.nativeEl?.[prop];\n return nativeFn?.apply(this.nativeEl, args);\n };\n return fn();\n };\n } else {\n const config = {\n get() {\n this.#init();\n const attr = prop.toLowerCase();\n if (propsToAttrs.has(attr)) {\n const val = this.getAttribute(attr);\n return val === null ? false : val === \"\" ? true : val;\n }\n return this.get?.(prop) ?? this.nativeEl?.[prop];\n }\n };\n if (prop !== prop.toUpperCase()) {\n config.set = function(val) {\n this.#init();\n const attr = prop.toLowerCase();\n if (propsToAttrs.has(attr)) {\n if (val === true || val === false || val == null) {\n this.toggleAttribute(attr, Boolean(val));\n } else {\n this.setAttribute(attr, val);\n }\n return;\n }\n if (this.set) {\n this.set(prop, val);\n return;\n }\n if (this.nativeEl) {\n this.nativeEl[prop] = val;\n }\n };\n }\n Object.defineProperty(this.prototype, prop, config);\n }\n }\n }\n // Private fields\n #isInit = false;\n #nativeEl = null;\n #childMap = /* @__PURE__ */ new Map();\n #childObserver;\n get;\n set;\n call;\n // If the custom element is defined before the custom element's HTML is parsed\n // no attributes will be available in the constructor (construction process).\n // Wait until initializing in the attributeChangedCallback or\n // connectedCallback or accessing any properties.\n get nativeEl() {\n this.#init();\n return this.#nativeEl ?? this.querySelector(\":scope > [slot=media]\") ?? this.querySelector(tag) ?? this.shadowRoot?.querySelector(tag) ?? null;\n }\n set nativeEl(val) {\n this.#nativeEl = val;\n }\n get defaultMuted() {\n return this.hasAttribute(\"muted\");\n }\n set defaultMuted(val) {\n this.toggleAttribute(\"muted\", val);\n }\n get src() {\n return this.getAttribute(\"src\");\n }\n set src(val) {\n this.setAttribute(\"src\", `${val}`);\n }\n get preload() {\n return this.getAttribute(\"preload\") ?? this.nativeEl?.preload;\n }\n set preload(val) {\n this.setAttribute(\"preload\", `${val}`);\n }\n #init() {\n if (this.#isInit) return;\n this.#isInit = true;\n this.init();\n }\n init() {\n if (!this.shadowRoot) {\n this.attachShadow({ mode: \"open\" });\n const attrs = namedNodeMapToObject(this.attributes);\n if (is) attrs.is = is;\n if (tag) attrs.part = tag;\n this.shadowRoot.innerHTML = this.constructor.getTemplateHTML(attrs);\n }\n this.nativeEl.muted = this.hasAttribute(\"muted\");\n for (const prop of nativeElProps) {\n this.#upgradeProperty(prop);\n }\n this.#childObserver = new MutationObserver(this.#syncMediaChildAttribute.bind(this));\n this.shadowRoot.addEventListener(\"slotchange\", () => this.#syncMediaChildren());\n this.#syncMediaChildren();\n for (const type of this.constructor.Events) {\n this.shadowRoot.addEventListener(type, this, true);\n }\n }\n handleEvent(event) {\n if (event.target === this.nativeEl) {\n this.dispatchEvent(new CustomEvent(event.type, { detail: event.detail }));\n }\n }\n #syncMediaChildren() {\n const removeNativeChildren = new Map(this.#childMap);\n const defaultSlot = this.shadowRoot?.querySelector(\"slot:not([name])\");\n const mediaChildren = defaultSlot?.assignedElements({ flatten: true }).filter((el) => [\"track\", \"source\"].includes(el.localName));\n mediaChildren.forEach((el) => {\n removeNativeChildren.delete(el);\n let clone = this.#childMap.get(el);\n if (!clone) {\n clone = el.cloneNode();\n this.#childMap.set(el, clone);\n this.#childObserver?.observe(el, { attributes: true });\n }\n this.nativeEl?.append(clone);\n this.#enableDefaultTrack(clone);\n });\n removeNativeChildren.forEach((clone, el) => {\n clone.remove();\n this.#childMap.delete(el);\n });\n }\n #syncMediaChildAttribute(mutations) {\n for (const mutation of mutations) {\n if (mutation.type === \"attributes\") {\n const { target, attributeName } = mutation;\n const clone = this.#childMap.get(target);\n if (clone && attributeName) {\n clone.setAttribute(attributeName, target.getAttribute(attributeName) ?? \"\");\n this.#enableDefaultTrack(clone);\n }\n }\n }\n }\n #enableDefaultTrack(trackEl) {\n if (trackEl && trackEl.localName === \"track\" && trackEl.default && (trackEl.kind === \"chapters\" || trackEl.kind === \"metadata\") && trackEl.track.mode === \"disabled\") {\n trackEl.track.mode = \"hidden\";\n }\n }\n #upgradeProperty(prop) {\n if (Object.prototype.hasOwnProperty.call(this, prop)) {\n const value = this[prop];\n delete this[prop];\n this[prop] = value;\n }\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n this.#init();\n this.#forwardAttribute(attrName, oldValue, newValue);\n }\n #forwardAttribute(attrName, _oldValue, newValue) {\n if ([\"id\", \"class\"].includes(attrName)) return;\n if (!CustomMedia.observedAttributes.includes(attrName) && this.constructor.observedAttributes.includes(attrName)) {\n return;\n }\n if (newValue === null) {\n this.nativeEl?.removeAttribute(attrName);\n } else if (this.nativeEl?.getAttribute(attrName) !== newValue) {\n this.nativeEl?.setAttribute(attrName, newValue);\n }\n }\n connectedCallback() {\n this.#init();\n }\n };\n}\nfunction getNativeElProps(nativeElTest) {\n const nativeElProps = [];\n for (let proto = Object.getPrototypeOf(nativeElTest); proto && proto !== HTMLElement.prototype; proto = Object.getPrototypeOf(proto)) {\n const props = Object.getOwnPropertyNames(proto);\n nativeElProps.push(...props);\n }\n return nativeElProps;\n}\nfunction serializeAttributes(attrs) {\n let html = \"\";\n for (const key in attrs) {\n if (!Attributes.includes(key)) continue;\n const value = attrs[key];\n if (value === \"\") html += ` ${key}`;\n else html += ` ${key}=\"${value}\"`;\n }\n return html;\n}\nfunction namedNodeMapToObject(namedNodeMap) {\n const obj = {};\n for (const attr of namedNodeMap) {\n obj[attr.name] = attr.value;\n }\n return obj;\n}\nconst CustomVideoElement = CustomMediaMixin(globalThis.HTMLElement ?? class {\n}, {\n tag: \"video\"\n});\nconst CustomAudioElement = CustomMediaMixin(globalThis.HTMLElement ?? class {\n}, {\n tag: \"audio\"\n});\nexport {\n Attributes,\n CustomAudioElement,\n CustomMediaMixin,\n CustomVideoElement,\n Events\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["index_exports", "__export", "Attributes", "Events", "index_default", "playerSoftwareName", "playerSoftwareVersion", "__toCommonJS", "EventTarget", "_event", "DocumentFragment", "HTMLElement", "HTMLVideoElement", "customElements", "_name", "_constructor", "_options", "_root", "_detail", "CustomEvent", "_typeArg", "eventInitDict", "__privateAdd", "__privateSet", "__privateGet", "createElement", "_tagName", "globalThisShim", "isServer", "internalGlobalThis", "internalDocument", "import_playback_core", "getEnvPlayerVersion", "player_version", "getPlayerVersion", "Events", "Attributes", "getAudioTemplateHTML", "attrs", "serializeAttributes", "getVideoTemplateHTML", "CustomMediaMixin", "superclass", "tag", "is", "_a", "_b", "_c", "_isDefined", "_CustomMedia_static", "define_fn", "_isInit", "_nativeEl", "_childMap", "_childObserver", "_CustomMedia_instances", "init_fn", "syncMediaChildren_fn", "syncMediaChildAttribute_fn", "enableDefaultTrack_fn", "upgradeProperty_fn", "forwardAttribute_fn", "nativeElTest", "nativeElProps", "getNativeElProps", "__privateAdd", "__publicField", "__privateMethod", "_d", "_e", "__privateGet", "val", "__privateSet", "namedNodeMapToObject", "prop", "type", "event", "attrName", "oldValue", "newValue", "propsToAttrs", "args", "nativeFn", "config", "attr", "removeNativeChildren", "defaultSlot", "el", "clone", "mutations", "mutation", "target", "attributeName", "trackEl", "value", "_oldValue", "proto", "props", "html", "key", "namedNodeMap", "obj", "CustomVideoElement", "CustomAudioElement", "Attributes", "AttributeNameValues", "playerSoftwareVersion", "getPlayerVersion", "playerSoftwareName", "
|
|
4
|
+
"sourcesContent": ["import { globalThis } from './polyfills';\nimport {\n initialize,\n teardown,\n generatePlayerInitTime,\n PlaybackTypes,\n toMuxVideoURL,\n MediaError,\n getStartDate,\n getCurrentPdt,\n getEnded,\n getCoreReference,\n toPlaybackIdParts,\n} from '@mux/playback-core';\nimport type {\n ExtensionMimeTypeMap,\n Metadata,\n MuxMediaProps,\n PlaybackCore,\n PlaybackEngine,\n StreamTypes,\n Tokens,\n ValueOf,\n} from '@mux/playback-core';\nimport { getPlayerVersion } from './env';\n// this must be imported after playback-core for the polyfill to be included\nimport { CustomAudioElement, Events as AudioEvents } from 'custom-media-element';\nimport type { HlsConfig } from 'hls.js';\n\nexport const Attributes = {\n PLAYER_INIT_TIME: 'player-init-time',\n ENV_KEY: 'env-key',\n DEBUG: 'debug',\n PLAYBACK_ID: 'playback-id',\n PLAYBACK_TOKEN: 'playback-token',\n PROGRAM_START_TIME: 'program-start-time',\n PROGRAM_END_TIME: 'program-end-time',\n ASSET_START_TIME: 'asset-start-time',\n ASSET_END_TIME: 'asset-end-time',\n METADATA_URL: 'metadata-url',\n PREFER_PLAYBACK: 'prefer-playback',\n CUSTOM_DOMAIN: 'custom-domain',\n BEACON_COLLECTION_DOMAIN: 'beacon-collection-domain',\n DISABLE_TRACKING: 'disable-tracking',\n DISABLE_COOKIES: 'disable-cookies',\n TYPE: 'type',\n STREAM_TYPE: 'stream-type',\n START_TIME: 'start-time',\n} as const;\n\nconst AttributeNameValues = Object.values(Attributes);\n\nexport const playerSoftwareVersion = getPlayerVersion();\nexport const playerSoftwareName = 'mux-audio';\n\nclass MuxAudioElement extends CustomAudioElement implements Partial<MuxMediaProps> {\n static get NAME() {\n return playerSoftwareName;\n }\n\n static get VERSION() {\n return playerSoftwareVersion;\n }\n\n static get observedAttributes() {\n return [...AttributeNameValues, ...(CustomAudioElement.observedAttributes ?? [])];\n }\n\n #loadRequested?: Promise<void> | null;\n #defaultPlayerInitTime: number | undefined;\n #metadata: Readonly<Metadata> = {};\n #tokens: Tokens = {};\n #_hlsConfig?: Partial<HlsConfig>;\n\n constructor() {\n super();\n this.#defaultPlayerInitTime = generatePlayerInitTime();\n }\n\n get #core(): PlaybackCore | undefined {\n return getCoreReference(this.nativeEl);\n }\n\n get playerInitTime() {\n if (!this.hasAttribute(Attributes.PLAYER_INIT_TIME)) return this.#defaultPlayerInitTime;\n return +(this.getAttribute(Attributes.PLAYER_INIT_TIME) as string) as number;\n }\n\n set playerInitTime(val) {\n // don't cause an infinite loop and avoid change event dispatching\n if (val == this.playerInitTime) return;\n\n if (val == null) {\n this.removeAttribute(Attributes.PLAYER_INIT_TIME);\n } else {\n this.setAttribute(Attributes.PLAYER_INIT_TIME, `${+val}`);\n }\n }\n\n get playerSoftwareName() {\n return playerSoftwareName;\n }\n\n get playerSoftwareVersion() {\n return playerSoftwareVersion;\n }\n\n // Keeping this named \"_hls\" since it's exposed for unadvertised \"advanced usage\" via getter that assumes specifically hls.js (CJP)\n get _hls(): PlaybackEngine | undefined {\n return this.#core?.engine;\n }\n\n get mux(): Readonly<HTMLAudioElement['mux']> | undefined {\n return this.nativeEl.mux;\n }\n\n get src() {\n // Use the attribute value as the source of truth.\n // No need to store it in two places.\n // This avoids needing a to read the attribute initially and update the src.\n return this.getAttribute('src') as string;\n }\n\n set src(val: string) {\n // If being set by attributeChangedCallback,\n // dont' cause an infinite loop\n if (val === this.src) return;\n\n if (val == null) {\n this.removeAttribute('src');\n } else {\n this.setAttribute('src', val);\n }\n }\n\n get preload() {\n const val = this.getAttribute('preload') as HTMLMediaElement['preload'];\n if (val === '') return 'auto';\n if (['none', 'metadata', 'auto'].includes(val)) return val;\n return super.preload;\n }\n\n set preload(val) {\n // don't cause an infinite loop\n // check the attribute because an empty string maps to the `auto` prop\n if (val == this.getAttribute('preload')) return;\n\n if (['', 'none', 'metadata', 'auto'].includes(val)) {\n this.setAttribute('preload', val);\n } else {\n this.removeAttribute('preload');\n }\n }\n\n get debug() {\n return this.getAttribute(Attributes.DEBUG) != null;\n }\n\n set debug(val) {\n // dont' cause an infinite loop\n if (val === this.debug) return;\n\n if (val) {\n this.setAttribute(Attributes.DEBUG, '');\n } else {\n this.removeAttribute(Attributes.DEBUG);\n }\n }\n\n get disableTracking() {\n return this.hasAttribute(Attributes.DISABLE_TRACKING);\n }\n\n set disableTracking(val) {\n // dont' cause an infinite loop\n if (val === this.disableTracking) return;\n\n this.toggleAttribute(Attributes.DISABLE_TRACKING, !!val);\n }\n\n get disableCookies() {\n return this.hasAttribute(Attributes.DISABLE_COOKIES);\n }\n\n set disableCookies(val) {\n // dont' cause an infinite loop\n if (val === this.disableCookies) return;\n\n if (val) {\n this.setAttribute(Attributes.DISABLE_COOKIES, '');\n } else {\n this.removeAttribute(Attributes.DISABLE_COOKIES);\n }\n }\n\n get startTime(): number | undefined {\n const val = this.getAttribute(Attributes.START_TIME);\n if (val == null) return undefined;\n const num = +val;\n return !Number.isNaN(num) ? num : undefined;\n }\n\n set startTime(val: number | undefined) {\n // dont' cause an infinite loop\n if (val === this.startTime) return;\n\n if (val == null) {\n this.removeAttribute(Attributes.START_TIME);\n } else {\n this.setAttribute(Attributes.START_TIME, `${val}`);\n }\n }\n\n get playbackId(): string | undefined {\n return this.getAttribute(Attributes.PLAYBACK_ID) ?? undefined;\n }\n\n set playbackId(val: string | undefined) {\n // dont' cause an infinite loop\n if (val === this.playbackId) return;\n\n if (val) {\n this.setAttribute(Attributes.PLAYBACK_ID, val);\n } else {\n this.removeAttribute(Attributes.PLAYBACK_ID);\n }\n }\n\n get programStartTime() {\n const val = this.getAttribute(Attributes.PROGRAM_START_TIME);\n if (val == null) return undefined;\n const num = +val;\n return !Number.isNaN(num) ? num : undefined;\n }\n\n set programStartTime(val: number | undefined) {\n if (val == undefined) {\n this.removeAttribute(Attributes.PROGRAM_START_TIME);\n } else {\n this.setAttribute(Attributes.PROGRAM_START_TIME, `${val}`);\n }\n }\n\n get programEndTime() {\n const val = this.getAttribute(Attributes.PROGRAM_END_TIME);\n if (val == null) return undefined;\n const num = +val;\n return !Number.isNaN(num) ? num : undefined;\n }\n\n set programEndTime(val: number | undefined) {\n if (val == undefined) {\n this.removeAttribute(Attributes.PROGRAM_END_TIME);\n } else {\n this.setAttribute(Attributes.PROGRAM_END_TIME, `${val}`);\n }\n }\n\n get assetStartTime() {\n const val = this.getAttribute(Attributes.ASSET_START_TIME);\n if (val == null) return undefined;\n const num = +val;\n return !Number.isNaN(num) ? num : undefined;\n }\n\n set assetStartTime(val: number | undefined) {\n if (val == undefined) {\n this.removeAttribute(Attributes.ASSET_START_TIME);\n } else {\n this.setAttribute(Attributes.ASSET_START_TIME, `${val}`);\n }\n }\n\n get assetEndTime() {\n const val = this.getAttribute(Attributes.ASSET_END_TIME);\n if (val == null) return undefined;\n const num = +val;\n return !Number.isNaN(num) ? num : undefined;\n }\n\n set assetEndTime(val: number | undefined) {\n if (val == undefined) {\n this.removeAttribute(Attributes.ASSET_END_TIME);\n } else {\n this.setAttribute(Attributes.ASSET_END_TIME, `${val}`);\n }\n }\n\n get customDomain() {\n return this.getAttribute(Attributes.CUSTOM_DOMAIN) ?? undefined;\n }\n\n set customDomain(val: string | undefined) {\n // dont' cause an infinite loop\n if (val === this.customDomain) return;\n\n if (val) {\n this.setAttribute(Attributes.CUSTOM_DOMAIN, val);\n } else {\n this.removeAttribute(Attributes.CUSTOM_DOMAIN);\n }\n }\n\n /**\n * Get the playback token for signing the src URL.\n */\n get playbackToken() {\n if (this.hasAttribute(Attributes.PLAYBACK_TOKEN)) {\n return this.getAttribute(Attributes.PLAYBACK_TOKEN) ?? undefined;\n }\n if (this.hasAttribute(Attributes.PLAYBACK_ID)) {\n const [, queryParts] = toPlaybackIdParts(this.playbackId ?? '');\n return new URLSearchParams(queryParts).get('token') ?? undefined;\n }\n if (this.src) {\n return new URLSearchParams(this.src).get('token') ?? undefined;\n }\n return undefined;\n }\n\n /**\n * Set the playback token for signing the src URL.\n */\n set playbackToken(val: string | undefined) {\n if (val === this.playbackToken) return;\n\n if (val) {\n this.setAttribute(Attributes.PLAYBACK_TOKEN, val);\n } else {\n this.removeAttribute(Attributes.PLAYBACK_TOKEN);\n }\n }\n\n get tokens() {\n const playback = this.getAttribute(Attributes.PLAYBACK_TOKEN);\n return {\n ...this.#tokens,\n ...(playback != null ? { playback } : {}),\n };\n }\n\n set tokens(val) {\n this.#tokens = val ?? {};\n }\n\n get ended() {\n // This ensures that edge case media that doesn't properly end will\n // still announce itself as \"ended\".\n return getEnded(this.nativeEl, this._hls);\n }\n\n get envKey(): string | undefined {\n return this.getAttribute(Attributes.ENV_KEY) ?? undefined;\n }\n\n set envKey(val: string | undefined) {\n // dont' cause an infinite loop\n if (val === this.envKey) return;\n\n if (val) {\n this.setAttribute(Attributes.ENV_KEY, val);\n } else {\n this.removeAttribute(Attributes.ENV_KEY);\n }\n }\n\n get beaconCollectionDomain(): string | undefined {\n return this.getAttribute(Attributes.BEACON_COLLECTION_DOMAIN) ?? undefined;\n }\n\n set beaconCollectionDomain(val: string | undefined) {\n // dont' cause an infinite loop\n if (val === this.beaconCollectionDomain) return;\n\n if (val) {\n this.setAttribute(Attributes.BEACON_COLLECTION_DOMAIN, val);\n } else {\n this.removeAttribute(Attributes.BEACON_COLLECTION_DOMAIN);\n }\n }\n\n get streamType(): ValueOf<StreamTypes> | undefined {\n // getAttribute doesn't know that this attribute is well defined. Should explore extending for MuxVideo (CJP)\n return (this.getAttribute(Attributes.STREAM_TYPE) as ValueOf<StreamTypes>) ?? undefined;\n }\n\n set streamType(val: ValueOf<StreamTypes> | undefined) {\n // dont' cause an infinite loop\n if (val === this.streamType) return;\n\n if (val) {\n this.setAttribute(Attributes.STREAM_TYPE, val);\n } else {\n this.removeAttribute(Attributes.STREAM_TYPE);\n }\n }\n\n getStartDate() {\n return getStartDate(this.nativeEl, this._hls);\n }\n\n get currentPdt() {\n return getCurrentPdt(this.nativeEl, this._hls);\n }\n\n get preferPlayback(): ValueOf<PlaybackTypes> | undefined {\n const val = this.getAttribute(Attributes.PREFER_PLAYBACK);\n if (val === PlaybackTypes.MSE || val === PlaybackTypes.NATIVE) return val;\n return undefined;\n }\n\n set preferPlayback(val: ValueOf<PlaybackTypes> | undefined) {\n if (val === this.preferPlayback) return;\n\n if (val === PlaybackTypes.MSE || val === PlaybackTypes.NATIVE) {\n this.setAttribute(Attributes.PREFER_PLAYBACK, val);\n } else {\n this.removeAttribute(Attributes.PREFER_PLAYBACK);\n }\n }\n\n get metadata() {\n const inferredMetadataAttrs: { [key: string]: string } = this.getAttributeNames()\n .filter((attrName) => {\n return attrName.startsWith('metadata-') && !([Attributes.METADATA_URL] as string[]).includes(attrName);\n })\n .reduce(\n (currAttrs, attrName) => {\n const value = this.getAttribute(attrName);\n if (value != null) {\n currAttrs[attrName.replace(/^metadata-/, '').replace(/-/g, '_') as string] = value;\n }\n return currAttrs;\n },\n {} as { [key: string]: string }\n );\n\n return {\n ...inferredMetadataAttrs,\n ...this.#metadata,\n };\n }\n\n set metadata(val: Readonly<Metadata> | undefined) {\n this.#metadata = val ?? {};\n if (!!this.mux) {\n /** @TODO Link to docs for a more detailed discussion (CJP) */\n console.info(\n 'Some metadata values may not be overridable at this time. Make sure you set all metadata to override before setting the src.'\n );\n this.mux.emit('hb', this.#metadata);\n }\n }\n\n get _hlsConfig() {\n return this.#_hlsConfig;\n }\n\n set _hlsConfig(val: Readonly<Partial<HlsConfig>> | undefined) {\n this.#_hlsConfig = val;\n }\n\n async #requestLoad() {\n if (this.#loadRequested) return;\n await (this.#loadRequested = Promise.resolve());\n this.#loadRequested = null;\n this.load();\n }\n\n load() {\n initialize(this as Partial<MuxMediaProps>, this.nativeEl, this.#core);\n }\n\n unload() {\n teardown(this.nativeEl, this.#core);\n }\n\n attributeChangedCallback(attrName: string, oldValue: string | null, newValue: string | null) {\n // Only forward the attributes to the native media element that are not handled.\n const isNativeAttr = CustomAudioElement.observedAttributes.includes(attrName);\n if (isNativeAttr && !['src', 'autoplay', 'preload'].includes(attrName)) {\n super.attributeChangedCallback(attrName, oldValue, newValue);\n }\n\n switch (attrName) {\n case 'src': {\n const hadSrc = !!oldValue;\n const hasSrc = !!newValue;\n if (!hadSrc && hasSrc) {\n this.#requestLoad();\n } else if (hadSrc && !hasSrc) {\n this.unload();\n /** @TODO Test this thoroughly (async?) and confirm unload() necessary (CJP) */\n } else if (hadSrc && hasSrc) {\n this.unload();\n this.#requestLoad();\n }\n break;\n }\n case 'autoplay':\n if (newValue === oldValue) {\n break;\n }\n /** In case newValue is an empty string or null, use this.autoplay which translates to booleans (WL) */\n this.#core?.setAutoplay(this.autoplay);\n break;\n case 'preload':\n if (newValue === oldValue) {\n break;\n }\n this.#core?.setPreload(newValue as HTMLMediaElement['preload']);\n break;\n case Attributes.PLAYBACK_ID:\n this.src = toMuxVideoURL(this) as string;\n break;\n case Attributes.DEBUG: {\n const debug = this.debug;\n if (!!this.mux) {\n /** @TODO Link to docs for a more detailed discussion (CJP) */\n console.info(\n 'Cannot toggle debug mode of mux data after initialization. Make sure you set all metadata to override before setting the src.'\n );\n }\n if (!!this._hls) {\n this._hls.config.debug = debug;\n }\n break;\n }\n case Attributes.METADATA_URL:\n if (newValue) {\n fetch(newValue)\n .then((resp) => resp.json())\n .then((json) => (this.metadata = json))\n .catch(() => console.error(`Unable to load or parse metadata JSON from metadata-url ${newValue}!`));\n }\n break;\n default:\n break;\n }\n }\n\n connectedCallback(): void {\n super.connectedCallback?.();\n if (this.nativeEl && this.src && !this.#core) {\n this.#requestLoad();\n }\n }\n\n disconnectedCallback() {\n this.unload();\n }\n}\n\ntype MuxAudioElementType = typeof MuxAudioElement;\ndeclare global {\n var MuxAudioElement: MuxAudioElementType; // eslint-disable-line\n}\n\nif (!globalThis.customElements.get('mux-audio')) {\n globalThis.customElements.define('mux-audio', MuxAudioElement);\n /** @TODO consider externalizing this (breaks standard modularity) */\n globalThis.MuxAudioElement = MuxAudioElement;\n}\n\nexport {\n PlaybackEngine,\n PlaybackEngine as Hls,\n ExtensionMimeTypeMap as MimeTypes,\n MediaError,\n AudioEvents,\n generatePlayerInitTime,\n};\n\nexport default MuxAudioElement;\n", "/* eslint @typescript-eslint/no-empty-function: \"off\" */\n\nclass EventTarget {\n addEventListener() {}\n removeEventListener() {}\n dispatchEvent(_event: Event) {\n return true;\n }\n}\n\n// @github/template-parts requires DocumentFragment to be available on globalThis for SSR\nif (typeof DocumentFragment === 'undefined') {\n class DocumentFragment extends EventTarget {}\n // @ts-ignore\n globalThis.DocumentFragment = DocumentFragment;\n}\n\nclass HTMLElement extends EventTarget {}\nclass HTMLVideoElement extends EventTarget {}\n\nconst customElements: CustomElementRegistry = {\n get(_name: string) {\n return undefined;\n },\n define(_name, _constructor, _options) {},\n getName(_constructor) {\n return null;\n },\n upgrade(_root) {},\n whenDefined(_name) {\n return Promise.resolve(HTMLElement as unknown as CustomElementConstructor);\n },\n};\n\nclass CustomEvent {\n #detail;\n get detail() {\n return this.#detail;\n }\n constructor(_typeArg: string, eventInitDict: CustomEventInit = {}) {\n // super(typeArg, eventInitDict);\n this.#detail = eventInitDict?.detail;\n }\n initCustomEvent() {}\n}\n\nfunction createElement(_tagName: string, _options?: ElementCreationOptions): HTMLElement {\n return new HTMLElement();\n}\n\nconst globalThisShim = {\n document: {\n createElement,\n },\n DocumentFragment,\n customElements,\n CustomEvent,\n EventTarget,\n HTMLElement,\n HTMLVideoElement,\n};\n\n// const isServer = typeof window === 'undefined' || typeof globalThis.customElements === 'undefined';\n// const GlobalThis = isServer ? globalThisShim : globalThis;\n// const Document = isServer ? globalThisShim.document : globalThis.document;\n//\n// export { GlobalThis as globalThis, Document as document };\nconst isServer = typeof window === 'undefined' || typeof globalThis.customElements === 'undefined';\ntype GlobalThis = typeof globalThis;\nconst internalGlobalThis: GlobalThis = (isServer ? globalThisShim : globalThis) as GlobalThis;\nconst internalDocument: Document = (isServer ? globalThisShim.document : globalThis.document) as Document;\n\nexport { internalGlobalThis as globalThis, internalDocument as document };\n", "export const isMaybeBrowser = () => typeof window != 'undefined';\n// @ts-ignore\nexport const isMaybeServer = () => typeof global != 'undefined';\n\nconst getEnvPlayerVersion = () => {\n try {\n // @ts-ignore\n return PLAYER_VERSION as string;\n } catch {}\n return 'UNKNOWN';\n};\n\nconst player_version: string = getEnvPlayerVersion();\n\nexport const getPlayerVersion = () => player_version;\n", "const Events = [\n \"abort\",\n \"canplay\",\n \"canplaythrough\",\n \"durationchange\",\n \"emptied\",\n \"encrypted\",\n \"ended\",\n \"error\",\n \"loadeddata\",\n \"loadedmetadata\",\n \"loadstart\",\n \"pause\",\n \"play\",\n \"playing\",\n \"progress\",\n \"ratechange\",\n \"seeked\",\n \"seeking\",\n \"stalled\",\n \"suspend\",\n \"timeupdate\",\n \"volumechange\",\n \"waiting\",\n \"waitingforkey\",\n \"resize\",\n \"enterpictureinpicture\",\n \"leavepictureinpicture\",\n \"webkitbeginfullscreen\",\n \"webkitendfullscreen\",\n \"webkitpresentationmodechanged\"\n];\nconst Attributes = [\n \"autopictureinpicture\",\n \"disablepictureinpicture\",\n \"disableremoteplayback\",\n \"autoplay\",\n \"controls\",\n \"controlslist\",\n \"crossorigin\",\n \"loop\",\n \"muted\",\n \"playsinline\",\n \"poster\",\n \"preload\",\n \"src\"\n];\nfunction getAudioTemplateHTML(attrs) {\n return (\n /*html*/\n `\n <style>\n :host {\n display: inline-flex;\n line-height: 0;\n flex-direction: column;\n justify-content: end;\n }\n\n audio {\n width: 100%;\n }\n </style>\n <slot name=\"media\">\n <audio${serializeAttributes(attrs)}></audio>\n </slot>\n <slot></slot>\n `\n );\n}\nfunction getVideoTemplateHTML(attrs) {\n return (\n /*html*/\n `\n <style>\n :host {\n display: inline-block;\n line-height: 0;\n }\n\n video {\n max-width: 100%;\n max-height: 100%;\n min-width: 100%;\n min-height: 100%;\n object-fit: var(--media-object-fit, contain);\n object-position: var(--media-object-position, 50% 50%);\n }\n\n video::-webkit-media-text-track-container {\n transform: var(--media-webkit-text-track-transform);\n transition: var(--media-webkit-text-track-transition);\n }\n </style>\n <slot name=\"media\">\n <video${serializeAttributes(attrs)}></video>\n </slot>\n <slot></slot>\n `\n );\n}\nfunction CustomMediaMixin(superclass, { tag, is }) {\n const nativeElTest = globalThis.document?.createElement?.(tag, { is });\n const nativeElProps = nativeElTest ? getNativeElProps(nativeElTest) : [];\n return class CustomMedia extends superclass {\n static getTemplateHTML = tag.endsWith(\"audio\") ? getAudioTemplateHTML : getVideoTemplateHTML;\n static shadowRootOptions = { mode: \"open\" };\n static Events = Events;\n static #isDefined = false;\n static get observedAttributes() {\n CustomMedia.#define();\n const natAttrs = nativeElTest?.constructor?.observedAttributes ?? [];\n return [\n ...natAttrs,\n ...Attributes\n ];\n }\n static #define() {\n if (this.#isDefined) return;\n this.#isDefined = true;\n const propsToAttrs = new Set(this.observedAttributes);\n propsToAttrs.delete(\"muted\");\n for (const prop of nativeElProps) {\n if (prop in this.prototype) continue;\n if (typeof nativeElTest[prop] === \"function\") {\n this.prototype[prop] = function(...args) {\n this.#init();\n const fn = () => {\n if (this.call) return this.call(prop, ...args);\n const nativeFn = this.nativeEl?.[prop];\n return nativeFn?.apply(this.nativeEl, args);\n };\n return fn();\n };\n } else {\n const config = {\n get() {\n this.#init();\n const attr = prop.toLowerCase();\n if (propsToAttrs.has(attr)) {\n const val = this.getAttribute(attr);\n return val === null ? false : val === \"\" ? true : val;\n }\n return this.get?.(prop) ?? this.nativeEl?.[prop];\n }\n };\n if (prop !== prop.toUpperCase()) {\n config.set = function(val) {\n this.#init();\n const attr = prop.toLowerCase();\n if (propsToAttrs.has(attr)) {\n if (val === true || val === false || val == null) {\n this.toggleAttribute(attr, Boolean(val));\n } else {\n this.setAttribute(attr, val);\n }\n return;\n }\n if (this.set) {\n this.set(prop, val);\n return;\n }\n if (this.nativeEl) {\n this.nativeEl[prop] = val;\n }\n };\n }\n Object.defineProperty(this.prototype, prop, config);\n }\n }\n }\n // Private fields\n #isInit = false;\n #nativeEl = null;\n #childMap = /* @__PURE__ */ new Map();\n #childObserver;\n get;\n set;\n call;\n // If the custom element is defined before the custom element's HTML is parsed\n // no attributes will be available in the constructor (construction process).\n // Wait until initializing in the attributeChangedCallback or\n // connectedCallback or accessing any properties.\n get nativeEl() {\n this.#init();\n return this.#nativeEl ?? this.querySelector(\":scope > [slot=media]\") ?? this.querySelector(tag) ?? this.shadowRoot?.querySelector(tag) ?? null;\n }\n set nativeEl(val) {\n this.#nativeEl = val;\n }\n get defaultMuted() {\n return this.hasAttribute(\"muted\");\n }\n set defaultMuted(val) {\n this.toggleAttribute(\"muted\", val);\n }\n get src() {\n return this.getAttribute(\"src\");\n }\n set src(val) {\n this.setAttribute(\"src\", `${val}`);\n }\n get preload() {\n return this.getAttribute(\"preload\") ?? this.nativeEl?.preload;\n }\n set preload(val) {\n this.setAttribute(\"preload\", `${val}`);\n }\n #init() {\n if (this.#isInit) return;\n this.#isInit = true;\n this.init();\n }\n init() {\n if (!this.shadowRoot) {\n this.attachShadow({ mode: \"open\" });\n const attrs = namedNodeMapToObject(this.attributes);\n if (is) attrs.is = is;\n if (tag) attrs.part = tag;\n this.shadowRoot.innerHTML = this.constructor.getTemplateHTML(attrs);\n }\n this.nativeEl.muted = this.hasAttribute(\"muted\");\n for (const prop of nativeElProps) {\n this.#upgradeProperty(prop);\n }\n this.#childObserver = new MutationObserver(this.#syncMediaChildAttribute.bind(this));\n this.shadowRoot.addEventListener(\"slotchange\", () => this.#syncMediaChildren());\n this.#syncMediaChildren();\n for (const type of this.constructor.Events) {\n this.shadowRoot.addEventListener(type, this, true);\n }\n }\n handleEvent(event) {\n if (event.target === this.nativeEl) {\n this.dispatchEvent(new CustomEvent(event.type, { detail: event.detail }));\n }\n }\n #syncMediaChildren() {\n const removeNativeChildren = new Map(this.#childMap);\n const defaultSlot = this.shadowRoot?.querySelector(\"slot:not([name])\");\n const mediaChildren = defaultSlot?.assignedElements({ flatten: true }).filter((el) => [\"track\", \"source\"].includes(el.localName));\n mediaChildren.forEach((el) => {\n removeNativeChildren.delete(el);\n let clone = this.#childMap.get(el);\n if (!clone) {\n clone = el.cloneNode();\n this.#childMap.set(el, clone);\n this.#childObserver?.observe(el, { attributes: true });\n }\n this.nativeEl?.append(clone);\n this.#enableDefaultTrack(clone);\n });\n removeNativeChildren.forEach((clone, el) => {\n clone.remove();\n this.#childMap.delete(el);\n });\n }\n #syncMediaChildAttribute(mutations) {\n for (const mutation of mutations) {\n if (mutation.type === \"attributes\") {\n const { target, attributeName } = mutation;\n const clone = this.#childMap.get(target);\n if (clone && attributeName) {\n clone.setAttribute(attributeName, target.getAttribute(attributeName) ?? \"\");\n this.#enableDefaultTrack(clone);\n }\n }\n }\n }\n #enableDefaultTrack(trackEl) {\n if (trackEl && trackEl.localName === \"track\" && trackEl.default && (trackEl.kind === \"chapters\" || trackEl.kind === \"metadata\") && trackEl.track.mode === \"disabled\") {\n trackEl.track.mode = \"hidden\";\n }\n }\n #upgradeProperty(prop) {\n if (Object.prototype.hasOwnProperty.call(this, prop)) {\n const value = this[prop];\n delete this[prop];\n this[prop] = value;\n }\n }\n attributeChangedCallback(attrName, oldValue, newValue) {\n this.#init();\n this.#forwardAttribute(attrName, oldValue, newValue);\n }\n #forwardAttribute(attrName, _oldValue, newValue) {\n if ([\"id\", \"class\"].includes(attrName)) return;\n if (!CustomMedia.observedAttributes.includes(attrName) && this.constructor.observedAttributes.includes(attrName)) {\n return;\n }\n if (newValue === null) {\n this.nativeEl?.removeAttribute(attrName);\n } else if (this.nativeEl?.getAttribute(attrName) !== newValue) {\n this.nativeEl?.setAttribute(attrName, newValue);\n }\n }\n connectedCallback() {\n this.#init();\n }\n };\n}\nfunction getNativeElProps(nativeElTest) {\n const nativeElProps = [];\n for (let proto = Object.getPrototypeOf(nativeElTest); proto && proto !== HTMLElement.prototype; proto = Object.getPrototypeOf(proto)) {\n const props = Object.getOwnPropertyNames(proto);\n nativeElProps.push(...props);\n }\n return nativeElProps;\n}\nfunction serializeAttributes(attrs) {\n let html = \"\";\n for (const key in attrs) {\n if (!Attributes.includes(key)) continue;\n const value = attrs[key];\n if (value === \"\") html += ` ${key}`;\n else html += ` ${key}=\"${value}\"`;\n }\n return html;\n}\nfunction namedNodeMapToObject(namedNodeMap) {\n const obj = {};\n for (const attr of namedNodeMap) {\n obj[attr.name] = attr.value;\n }\n return obj;\n}\nconst CustomVideoElement = CustomMediaMixin(globalThis.HTMLElement ?? class {\n}, {\n tag: \"video\"\n});\nconst CustomAudioElement = CustomMediaMixin(globalThis.HTMLElement ?? class {\n}, {\n tag: \"audio\"\n});\nexport {\n Attributes,\n CustomAudioElement,\n CustomMediaMixin,\n CustomVideoElement,\n Events\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["index_exports", "__export", "Attributes", "Events", "index_default", "playerSoftwareName", "playerSoftwareVersion", "__toCommonJS", "EventTarget", "_event", "DocumentFragment", "HTMLElement", "HTMLVideoElement", "customElements", "_name", "_constructor", "_options", "_root", "_detail", "CustomEvent", "_typeArg", "eventInitDict", "__privateAdd", "__privateSet", "__privateGet", "createElement", "_tagName", "globalThisShim", "isServer", "internalGlobalThis", "internalDocument", "import_playback_core", "getEnvPlayerVersion", "player_version", "getPlayerVersion", "Events", "Attributes", "getAudioTemplateHTML", "attrs", "serializeAttributes", "getVideoTemplateHTML", "CustomMediaMixin", "superclass", "tag", "is", "_a", "_b", "_c", "_isDefined", "_CustomMedia_static", "define_fn", "_isInit", "_nativeEl", "_childMap", "_childObserver", "_CustomMedia_instances", "init_fn", "syncMediaChildren_fn", "syncMediaChildAttribute_fn", "enableDefaultTrack_fn", "upgradeProperty_fn", "forwardAttribute_fn", "nativeElTest", "nativeElProps", "getNativeElProps", "__privateAdd", "__publicField", "__privateMethod", "_d", "_e", "__privateGet", "val", "__privateSet", "namedNodeMapToObject", "prop", "type", "event", "attrName", "oldValue", "newValue", "propsToAttrs", "args", "nativeFn", "config", "attr", "removeNativeChildren", "defaultSlot", "el", "clone", "mutations", "mutation", "target", "attributeName", "trackEl", "value", "_oldValue", "proto", "props", "html", "key", "namedNodeMap", "obj", "CustomVideoElement", "CustomAudioElement", "Attributes", "AttributeNameValues", "playerSoftwareVersion", "getPlayerVersion", "playerSoftwareName", "_loadRequested", "_defaultPlayerInitTime", "_metadata", "_tokens", "__hlsConfig", "_MuxAudioElement_instances", "core_get", "requestLoad_fn", "MuxAudioElement", "CustomAudioElement", "__privateAdd", "__privateSet", "_a", "__privateGet", "val", "num", "_b", "_c", "_d", "queryParts", "playback", "attrName", "currAttrs", "value", "oldValue", "newValue", "hadSrc", "hasSrc", "__privateMethod", "debug", "resp", "json", "internalGlobalThis", "index_default", "MuxAudioElement"]
|
|
7
7
|
}
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var ht=Object.defineProperty;var J=s=>{throw TypeError(s)};var ft=(s,r,t)=>r in s?ht(s,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[r]=t;var C=(s,r,t)=>ft(s,typeof r!="symbol"?r+"":r,t),V=(s,r,t)=>r.has(s)||J("Cannot "+t);var d=(s,r,t)=>(V(s,r,"read from private field"),t?t.call(s):r.get(s)),
|
|
1
|
+
var ht=Object.defineProperty;var J=s=>{throw TypeError(s)};var ft=(s,r,t)=>r in s?ht(s,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[r]=t;var C=(s,r,t)=>ft(s,typeof r!="symbol"?r+"":r,t),V=(s,r,t)=>r.has(s)||J("Cannot "+t);var d=(s,r,t)=>(V(s,r,"read from private field"),t?t.call(s):r.get(s)),b=(s,r,t)=>r.has(s)?J("Cannot add the same private member more than once"):r instanceof WeakSet?r.add(s):r.set(s,t),p=(s,r,t,n)=>(V(s,r,"write to private field"),n?n.call(s,t):r.set(s,t),t),f=(s,r,t)=>(V(s,r,"access private method"),t);var S=class{addEventListener(){}removeEventListener(){}dispatchEvent(r){return!0}};if(typeof DocumentFragment=="undefined"){class s extends S{}globalThis.DocumentFragment=s}var x=class extends S{},q=class extends S{},mt={get(s){},define(s,r,t){},getName(s){return null},upgrade(s){},whenDefined(s){return Promise.resolve(x)}},w,F=class{constructor(r,t={}){b(this,w);p(this,w,t==null?void 0:t.detail)}get detail(){return d(this,w)}initCustomEvent(){}};w=new WeakMap;function bt(s,r){return new x}var Q={document:{createElement:bt},DocumentFragment,customElements:mt,CustomEvent:F,EventTarget:S,HTMLElement:x,HTMLVideoElement:q},X=typeof window=="undefined"||typeof globalThis.customElements=="undefined",U=X?Q:globalThis,Dt=X?Q.document:globalThis.document;import{initialize as _t,teardown as Mt,generatePlayerInitTime as Ct,PlaybackTypes as H,toMuxVideoURL as Pt,MediaError as Vt,getStartDate as kt,getCurrentPdt as It,getEnded as St,getCoreReference as Nt,toPlaybackIdParts as Ot}from"@mux/playback-core";var At=()=>{try{return"0.15.22"}catch{}return"UNKNOWN"},gt=At(),Z=()=>gt;var it=["abort","canplay","canplaythrough","durationchange","emptied","encrypted","ended","error","loadeddata","loadedmetadata","loadstart","pause","play","playing","progress","ratechange","seeked","seeking","stalled","suspend","timeupdate","volumechange","waiting","waitingforkey","resize","enterpictureinpicture","leavepictureinpicture","webkitbeginfullscreen","webkitendfullscreen","webkitpresentationmodechanged"],st=["autopictureinpicture","disablepictureinpicture","disableremoteplayback","autoplay","controls","controlslist","crossorigin","loop","muted","playsinline","poster","preload","src"];function pt(s){return`
|
|
2
2
|
<style>
|
|
3
3
|
:host {
|
|
4
4
|
display: inline-flex;
|
|
@@ -40,5 +40,5 @@ var ht=Object.defineProperty;var J=s=>{throw TypeError(s)};var ft=(s,r,t)=>r in
|
|
|
40
40
|
<video${dt(s)}></video>
|
|
41
41
|
</slot>
|
|
42
42
|
<slot></slot>
|
|
43
|
-
`}function ut(s,{tag:r,is:t}){var E,M,g,p,y,rt,R,v,_,L,l,P,z,nt,W,ot,at;let n=(M=(E=globalThis.document)==null?void 0:E.createElement)==null?void 0:M.call(E,r,{is:t}),b=n?Tt(n):[];return g=class extends s{constructor(){super(...arguments);m(this,l);m(this,R,!1);m(this,v,null);m(this,_,new Map);m(this,L);C(this,"get");C(this,"set");C(this,"call")}static get observedAttributes(){var o,c,u;return f(o=g,y,rt).call(o),[...(u=(c=n==null?void 0:n.constructor)==null?void 0:c.observedAttributes)!=null?u:[],...st]}get nativeEl(){var e,o,c,u,a;return f(this,l,P).call(this),(a=(u=(o=(e=d(this,v))!=null?e:this.querySelector(":scope > [slot=media]"))!=null?o:this.querySelector(r))!=null?u:(c=this.shadowRoot)==null?void 0:c.querySelector(r))!=null?a:null}set nativeEl(e){A(this,v,e)}get defaultMuted(){return this.hasAttribute("muted")}set defaultMuted(e){this.toggleAttribute("muted",e)}get src(){return this.getAttribute("src")}set src(e){this.setAttribute("src",`${e}`)}get preload(){var e,o;return(o=this.getAttribute("preload"))!=null?o:(e=this.nativeEl)==null?void 0:e.preload}set preload(e){this.setAttribute("preload",`${e}`)}init(){if(!this.shadowRoot){this.attachShadow({mode:"open"});let e=yt(this.attributes);t&&(e.is=t),r&&(e.part=r),this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}this.nativeEl.muted=this.hasAttribute("muted");for(let e of b)f(this,l,ot).call(this,e);A(this,L,new MutationObserver(f(this,l,nt).bind(this))),this.shadowRoot.addEventListener("slotchange",()=>f(this,l,z).call(this)),f(this,l,z).call(this);for(let e of this.constructor.Events)this.shadowRoot.addEventListener(e,this,!0)}handleEvent(e){e.target===this.nativeEl&&this.dispatchEvent(new CustomEvent(e.type,{detail:e.detail}))}attributeChangedCallback(e,o,c){f(this,l,P).call(this),f(this,l,at).call(this,e,o,c)}connectedCallback(){f(this,l,P).call(this)}},p=new WeakMap,y=new WeakSet,rt=function(){if(d(this,p))return;A(this,p,!0);let e=new Set(this.observedAttributes);e.delete("muted");for(let o of b)if(!(o in this.prototype))if(typeof n[o]=="function")this.prototype[o]=function(...c){return f(this,l,P).call(this),(()=>{var h;if(this.call)return this.call(o,...c);let a=(h=this.nativeEl)==null?void 0:h[o];return a==null?void 0:a.apply(this.nativeEl,c)})()};else{let c={get(){var a,h,D;f(this,l,P).call(this);let u=o.toLowerCase();if(e.has(u)){let k=this.getAttribute(u);return k===null?!1:k===""?!0:k}return(D=(a=this.get)==null?void 0:a.call(this,o))!=null?D:(h=this.nativeEl)==null?void 0:h[o]}};o!==o.toUpperCase()&&(c.set=function(u){f(this,l,P).call(this);let a=o.toLowerCase();if(e.has(a)){u===!0||u===!1||u==null?this.toggleAttribute(a,!!u):this.setAttribute(a,u);return}if(this.set){this.set(o,u);return}this.nativeEl&&(this.nativeEl[o]=u)}),Object.defineProperty(this.prototype,o,c)}},R=new WeakMap,v=new WeakMap,_=new WeakMap,L=new WeakMap,l=new WeakSet,P=function(){d(this,R)||(A(this,R,!0),this.init())},z=function(){var u;let e=new Map(d(this,_)),o=(u=this.shadowRoot)==null?void 0:u.querySelector("slot:not([name])");(o==null?void 0:o.assignedElements({flatten:!0}).filter(a=>["track","source"].includes(a.localName))).forEach(a=>{var D,k;e.delete(a);let h=d(this,_).get(a);h||(h=a.cloneNode(),d(this,_).set(a,h),(D=d(this,L))==null||D.observe(a,{attributes:!0})),(k=this.nativeEl)==null||k.append(h),f(this,l,W).call(this,h)}),e.forEach((a,h)=>{a.remove(),d(this,_).delete(h)})},nt=function(e){var o;for(let c of e)if(c.type==="attributes"){let{target:u,attributeName:a}=c,h=d(this,_).get(u);h&&a&&(h.setAttribute(a,(o=u.getAttribute(a))!=null?o:""),f(this,l,W).call(this,h))}},W=function(e){e&&e.localName==="track"&&e.default&&(e.kind==="chapters"||e.kind==="metadata")&&e.track.mode==="disabled"&&(e.track.mode="hidden")},ot=function(e){if(Object.prototype.hasOwnProperty.call(this,e)){let o=this[e];delete this[e],this[e]=o}},at=function(e,o,c){var u,a,h;["id","class"].includes(e)||!g.observedAttributes.includes(e)&&this.constructor.observedAttributes.includes(e)||(c===null?(u=this.nativeEl)==null||u.removeAttribute(e):((a=this.nativeEl)==null?void 0:a.getAttribute(e))!==c&&((h=this.nativeEl)==null||h.setAttribute(e,c)))},m(g,y),C(g,"getTemplateHTML",r.endsWith("audio")?pt:Et),C(g,"shadowRootOptions",{mode:"open"}),C(g,"Events",it),m(g,p,!1),g}function Tt(s){let r=[];for(let t=Object.getPrototypeOf(s);t&&t!==HTMLElement.prototype;t=Object.getPrototypeOf(t)){let n=Object.getOwnPropertyNames(t);r.push(...n)}return r}function dt(s){let r="";for(let t in s){if(!st.includes(t))continue;let n=s[t];n===""?r+=` ${t}`:r+=` ${t}="${n}"`}return r}function yt(s){let r={};for(let t of s)r[t.name]=t.value;return r}var tt,Kt=ut((tt=globalThis.HTMLElement)!=null?tt:class{},{tag:"video"}),et,j=ut((et=globalThis.HTMLElement)!=null?et:class{},{tag:"audio"});var i={PLAYER_INIT_TIME:"player-init-time",ENV_KEY:"env-key",DEBUG:"debug",PLAYBACK_ID:"playback-id",PLAYBACK_TOKEN:"playback-token",PROGRAM_START_TIME:"program-start-time",PROGRAM_END_TIME:"program-end-time",ASSET_START_TIME:"asset-start-time",ASSET_END_TIME:"asset-end-time",METADATA_URL:"metadata-url",PREFER_PLAYBACK:"prefer-playback",CUSTOM_DOMAIN:"custom-domain",BEACON_COLLECTION_DOMAIN:"beacon-collection-domain",DISABLE_TRACKING:"disable-tracking",DISABLE_COOKIES:"disable-cookies",TYPE:"type",STREAM_TYPE:"stream-type",START_TIME:"start-time"},Ot=Object.values(i),lt=Z(),ct="mux-audio",T,S,B,N,Y,G,O,$,K=class extends j{constructor(){super();m(this,O);m(this,T);m(this,S);m(this,B);m(this,N,{});m(this,Y,{});m(this,G);A(this,B,Ct())}static get NAME(){return ct}static get VERSION(){return lt}static get observedAttributes(){var t;return[...Ot,...(t=j.observedAttributes)!=null?t:[]]}get playerInitTime(){return this.hasAttribute(i.PLAYER_INIT_TIME)?+this.getAttribute(i.PLAYER_INIT_TIME):d(this,B)}set playerInitTime(t){t!=this.playerInitTime&&(t==null?this.removeAttribute(i.PLAYER_INIT_TIME):this.setAttribute(i.PLAYER_INIT_TIME,`${+t}`))}get playerSoftwareName(){return ct}get playerSoftwareVersion(){return lt}get _hls(){var t;return(t=d(this,T))==null?void 0:t.engine}get mux(){return this.nativeEl.mux}get src(){return this.getAttribute("src")}set src(t){t!==this.src&&(t==null?this.removeAttribute("src"):this.setAttribute("src",t))}get preload(){let t=this.getAttribute("preload");return t===""?"auto":["none","metadata","auto"].includes(t)?t:super.preload}set preload(t){t!=this.getAttribute("preload")&&(["","none","metadata","auto"].includes(t)?this.setAttribute("preload",t):this.removeAttribute("preload"))}get debug(){return this.getAttribute(i.DEBUG)!=null}set debug(t){t!==this.debug&&(t?this.setAttribute(i.DEBUG,""):this.removeAttribute(i.DEBUG))}get disableTracking(){return this.hasAttribute(i.DISABLE_TRACKING)}set disableTracking(t){t!==this.disableTracking&&this.toggleAttribute(i.DISABLE_TRACKING,!!t)}get disableCookies(){return this.hasAttribute(i.DISABLE_COOKIES)}set disableCookies(t){t!==this.disableCookies&&(t?this.setAttribute(i.DISABLE_COOKIES,""):this.removeAttribute(i.DISABLE_COOKIES))}get startTime(){let t=this.getAttribute(i.START_TIME);if(t==null)return;let n=+t;return Number.isNaN(n)?void 0:n}set startTime(t){t!==this.startTime&&(t==null?this.removeAttribute(i.START_TIME):this.setAttribute(i.START_TIME,`${t}`))}get playbackId(){var t;return(t=this.getAttribute(i.PLAYBACK_ID))!=null?t:void 0}set playbackId(t){t!==this.playbackId&&(t?this.setAttribute(i.PLAYBACK_ID,t):this.removeAttribute(i.PLAYBACK_ID))}get programStartTime(){let t=this.getAttribute(i.PROGRAM_START_TIME);if(t==null)return;let n=+t;return Number.isNaN(n)?void 0:n}set programStartTime(t){t==null?this.removeAttribute(i.PROGRAM_START_TIME):this.setAttribute(i.PROGRAM_START_TIME,`${t}`)}get programEndTime(){let t=this.getAttribute(i.PROGRAM_END_TIME);if(t==null)return;let n=+t;return Number.isNaN(n)?void 0:n}set programEndTime(t){t==null?this.removeAttribute(i.PROGRAM_END_TIME):this.setAttribute(i.PROGRAM_END_TIME,`${t}`)}get assetStartTime(){let t=this.getAttribute(i.ASSET_START_TIME);if(t==null)return;let n=+t;return Number.isNaN(n)?void 0:n}set assetStartTime(t){t==null?this.removeAttribute(i.ASSET_START_TIME):this.setAttribute(i.ASSET_START_TIME,`${t}`)}get assetEndTime(){let t=this.getAttribute(i.ASSET_END_TIME);if(t==null)return;let n=+t;return Number.isNaN(n)?void 0:n}set assetEndTime(t){t==null?this.removeAttribute(i.ASSET_END_TIME):this.setAttribute(i.ASSET_END_TIME,`${t}`)}get customDomain(){var t;return(t=this.getAttribute(i.CUSTOM_DOMAIN))!=null?t:void 0}set customDomain(t){t!==this.customDomain&&(t?this.setAttribute(i.CUSTOM_DOMAIN,t):this.removeAttribute(i.CUSTOM_DOMAIN))}get playbackToken(){var t,n,b,E;if(this.hasAttribute(i.PLAYBACK_TOKEN))return(t=this.getAttribute(i.PLAYBACK_TOKEN))!=null?t:void 0;if(this.hasAttribute(i.PLAYBACK_ID)){let[,M]=Nt((n=this.playbackId)!=null?n:"");return(b=new URLSearchParams(M).get("token"))!=null?b:void 0}if(this.src)return(E=new URLSearchParams(this.src).get("token"))!=null?E:void 0}set playbackToken(t){t!==this.playbackToken&&(t?this.setAttribute(i.PLAYBACK_TOKEN,t):this.removeAttribute(i.PLAYBACK_TOKEN))}get tokens(){let t=this.getAttribute(i.PLAYBACK_TOKEN);return{...d(this,Y),...t!=null?{playback:t}:{}}}set tokens(t){A(this,Y,t!=null?t:{})}get ended(){return St(this.nativeEl,this._hls)}get envKey(){var t;return(t=this.getAttribute(i.ENV_KEY))!=null?t:void 0}set envKey(t){t!==this.envKey&&(t?this.setAttribute(i.ENV_KEY,t):this.removeAttribute(i.ENV_KEY))}get beaconCollectionDomain(){var t;return(t=this.getAttribute(i.BEACON_COLLECTION_DOMAIN))!=null?t:void 0}set beaconCollectionDomain(t){t!==this.beaconCollectionDomain&&(t?this.setAttribute(i.BEACON_COLLECTION_DOMAIN,t):this.removeAttribute(i.BEACON_COLLECTION_DOMAIN))}get streamType(){var t;return(t=this.getAttribute(i.STREAM_TYPE))!=null?t:void 0}set streamType(t){t!==this.streamType&&(t?this.setAttribute(i.STREAM_TYPE,t):this.removeAttribute(i.STREAM_TYPE))}getStartDate(){return kt(this.nativeEl,this._hls)}get currentPdt(){return It(this.nativeEl,this._hls)}get preferPlayback(){let t=this.getAttribute(i.PREFER_PLAYBACK);if(t===H.MSE||t===H.NATIVE)return t}set preferPlayback(t){t!==this.preferPlayback&&(t===H.MSE||t===H.NATIVE?this.setAttribute(i.PREFER_PLAYBACK,t):this.removeAttribute(i.PREFER_PLAYBACK))}get metadata(){return{...this.getAttributeNames().filter(n=>n.startsWith("metadata-")&&![i.METADATA_URL].includes(n)).reduce((n,b)=>{let E=this.getAttribute(b);return E!=null&&(n[b.replace(/^metadata-/,"").replace(/-/g,"_")]=E),n},{}),...d(this,N)}}set metadata(t){A(this,N,t!=null?t:{}),this.mux&&(console.info("Some metadata values may not be overridable at this time. Make sure you set all metadata to override before setting the src."),this.mux.emit("hb",d(this,N)))}get _hlsConfig(){return d(this,G)}set _hlsConfig(t){A(this,G,t)}load(){A(this,T,_t(this,this.nativeEl,d(this,T)))}unload(){Mt(this.nativeEl,d(this,T)),A(this,T,void 0)}attributeChangedCallback(t,n,b){var M,g;switch(j.observedAttributes.includes(t)&&!["src","autoplay","preload"].includes(t)&&super.attributeChangedCallback(t,n,b),t){case"src":{let p=!!n,y=!!b;!p&&y?f(this,O,$).call(this):p&&!y?this.unload():p&&y&&(this.unload(),f(this,O,$).call(this));break}case"autoplay":if(b===n)break;(M=d(this,T))==null||M.setAutoplay(this.autoplay);break;case"preload":if(b===n)break;(g=d(this,T))==null||g.setPreload(b);break;case i.PLAYBACK_ID:this.src=Pt(this);break;case i.DEBUG:{let p=this.debug;this.mux&&console.info("Cannot toggle debug mode of mux data after initialization. Make sure you set all metadata to override before setting the src."),this._hls&&(this._hls.config.debug=p);break}case i.METADATA_URL:b&&fetch(b).then(p=>p.json()).then(p=>this.metadata=p).catch(()=>console.error(`Unable to load or parse metadata JSON from metadata-url ${b}!`));break;default:break}}connectedCallback(){var t;(t=super.connectedCallback)==null||t.call(this),this.nativeEl&&this.src&&!d(this,T)&&f(this,O,$).call(this)}disconnectedCallback(){this.unload()}};T=new WeakMap,S=new WeakMap,B=new WeakMap,N=new WeakMap,Y=new WeakMap,G=new WeakMap,O=new WeakSet,$=async function(){d(this,S)||(await A(this,S,Promise.resolve()),A(this,S,null),this.load())};U.customElements.get("mux-audio")||(U.customElements.define("mux-audio",K),U.MuxAudioElement=K);var Ft=K;export{i as Attributes,it as AudioEvents,$t as MediaError,Ft as default,Ct as generatePlayerInitTime,ct as playerSoftwareName,lt as playerSoftwareVersion};
|
|
43
|
+
`}function ut(s,{tag:r,is:t}){var T,M,A,g,y,rt,R,v,_,L,l,P,z,nt,W,ot,at;let n=(M=(T=globalThis.document)==null?void 0:T.createElement)==null?void 0:M.call(T,r,{is:t}),m=n?Tt(n):[];return A=class extends s{constructor(){super(...arguments);b(this,l);b(this,R,!1);b(this,v,null);b(this,_,new Map);b(this,L);C(this,"get");C(this,"set");C(this,"call")}static get observedAttributes(){var o,c,u;return f(o=A,y,rt).call(o),[...(u=(c=n==null?void 0:n.constructor)==null?void 0:c.observedAttributes)!=null?u:[],...st]}get nativeEl(){var e,o,c,u,a;return f(this,l,P).call(this),(a=(u=(o=(e=d(this,v))!=null?e:this.querySelector(":scope > [slot=media]"))!=null?o:this.querySelector(r))!=null?u:(c=this.shadowRoot)==null?void 0:c.querySelector(r))!=null?a:null}set nativeEl(e){p(this,v,e)}get defaultMuted(){return this.hasAttribute("muted")}set defaultMuted(e){this.toggleAttribute("muted",e)}get src(){return this.getAttribute("src")}set src(e){this.setAttribute("src",`${e}`)}get preload(){var e,o;return(o=this.getAttribute("preload"))!=null?o:(e=this.nativeEl)==null?void 0:e.preload}set preload(e){this.setAttribute("preload",`${e}`)}init(){if(!this.shadowRoot){this.attachShadow({mode:"open"});let e=yt(this.attributes);t&&(e.is=t),r&&(e.part=r),this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}this.nativeEl.muted=this.hasAttribute("muted");for(let e of m)f(this,l,ot).call(this,e);p(this,L,new MutationObserver(f(this,l,nt).bind(this))),this.shadowRoot.addEventListener("slotchange",()=>f(this,l,z).call(this)),f(this,l,z).call(this);for(let e of this.constructor.Events)this.shadowRoot.addEventListener(e,this,!0)}handleEvent(e){e.target===this.nativeEl&&this.dispatchEvent(new CustomEvent(e.type,{detail:e.detail}))}attributeChangedCallback(e,o,c){f(this,l,P).call(this),f(this,l,at).call(this,e,o,c)}connectedCallback(){f(this,l,P).call(this)}},g=new WeakMap,y=new WeakSet,rt=function(){if(d(this,g))return;p(this,g,!0);let e=new Set(this.observedAttributes);e.delete("muted");for(let o of m)if(!(o in this.prototype))if(typeof n[o]=="function")this.prototype[o]=function(...c){return f(this,l,P).call(this),(()=>{var h;if(this.call)return this.call(o,...c);let a=(h=this.nativeEl)==null?void 0:h[o];return a==null?void 0:a.apply(this.nativeEl,c)})()};else{let c={get(){var a,h,D;f(this,l,P).call(this);let u=o.toLowerCase();if(e.has(u)){let I=this.getAttribute(u);return I===null?!1:I===""?!0:I}return(D=(a=this.get)==null?void 0:a.call(this,o))!=null?D:(h=this.nativeEl)==null?void 0:h[o]}};o!==o.toUpperCase()&&(c.set=function(u){f(this,l,P).call(this);let a=o.toLowerCase();if(e.has(a)){u===!0||u===!1||u==null?this.toggleAttribute(a,!!u):this.setAttribute(a,u);return}if(this.set){this.set(o,u);return}this.nativeEl&&(this.nativeEl[o]=u)}),Object.defineProperty(this.prototype,o,c)}},R=new WeakMap,v=new WeakMap,_=new WeakMap,L=new WeakMap,l=new WeakSet,P=function(){d(this,R)||(p(this,R,!0),this.init())},z=function(){var u;let e=new Map(d(this,_)),o=(u=this.shadowRoot)==null?void 0:u.querySelector("slot:not([name])");(o==null?void 0:o.assignedElements({flatten:!0}).filter(a=>["track","source"].includes(a.localName))).forEach(a=>{var D,I;e.delete(a);let h=d(this,_).get(a);h||(h=a.cloneNode(),d(this,_).set(a,h),(D=d(this,L))==null||D.observe(a,{attributes:!0})),(I=this.nativeEl)==null||I.append(h),f(this,l,W).call(this,h)}),e.forEach((a,h)=>{a.remove(),d(this,_).delete(h)})},nt=function(e){var o;for(let c of e)if(c.type==="attributes"){let{target:u,attributeName:a}=c,h=d(this,_).get(u);h&&a&&(h.setAttribute(a,(o=u.getAttribute(a))!=null?o:""),f(this,l,W).call(this,h))}},W=function(e){e&&e.localName==="track"&&e.default&&(e.kind==="chapters"||e.kind==="metadata")&&e.track.mode==="disabled"&&(e.track.mode="hidden")},ot=function(e){if(Object.prototype.hasOwnProperty.call(this,e)){let o=this[e];delete this[e],this[e]=o}},at=function(e,o,c){var u,a,h;["id","class"].includes(e)||!A.observedAttributes.includes(e)&&this.constructor.observedAttributes.includes(e)||(c===null?(u=this.nativeEl)==null||u.removeAttribute(e):((a=this.nativeEl)==null?void 0:a.getAttribute(e))!==c&&((h=this.nativeEl)==null||h.setAttribute(e,c)))},b(A,y),C(A,"getTemplateHTML",r.endsWith("audio")?pt:Et),C(A,"shadowRootOptions",{mode:"open"}),C(A,"Events",it),b(A,g,!1),A}function Tt(s){let r=[];for(let t=Object.getPrototypeOf(s);t&&t!==HTMLElement.prototype;t=Object.getPrototypeOf(t)){let n=Object.getOwnPropertyNames(t);r.push(...n)}return r}function dt(s){let r="";for(let t in s){if(!st.includes(t))continue;let n=s[t];n===""?r+=` ${t}`:r+=` ${t}="${n}"`}return r}function yt(s){let r={};for(let t of s)r[t.name]=t.value;return r}var tt,Bt=ut((tt=globalThis.HTMLElement)!=null?tt:class{},{tag:"video"}),et,j=ut((et=globalThis.HTMLElement)!=null?et:class{},{tag:"audio"});var i={PLAYER_INIT_TIME:"player-init-time",ENV_KEY:"env-key",DEBUG:"debug",PLAYBACK_ID:"playback-id",PLAYBACK_TOKEN:"playback-token",PROGRAM_START_TIME:"program-start-time",PROGRAM_END_TIME:"program-end-time",ASSET_START_TIME:"asset-start-time",ASSET_END_TIME:"asset-end-time",METADATA_URL:"metadata-url",PREFER_PLAYBACK:"prefer-playback",CUSTOM_DOMAIN:"custom-domain",BEACON_COLLECTION_DOMAIN:"beacon-collection-domain",DISABLE_TRACKING:"disable-tracking",DISABLE_COOKIES:"disable-cookies",TYPE:"type",STREAM_TYPE:"stream-type",START_TIME:"start-time"},Rt=Object.values(i),lt=Z(),ct="mux-audio",N,B,O,Y,G,E,k,$,K=class extends j{constructor(){super();b(this,E);b(this,N);b(this,B);b(this,O,{});b(this,Y,{});b(this,G);p(this,B,Ct())}static get NAME(){return ct}static get VERSION(){return lt}static get observedAttributes(){var t;return[...Rt,...(t=j.observedAttributes)!=null?t:[]]}get playerInitTime(){return this.hasAttribute(i.PLAYER_INIT_TIME)?+this.getAttribute(i.PLAYER_INIT_TIME):d(this,B)}set playerInitTime(t){t!=this.playerInitTime&&(t==null?this.removeAttribute(i.PLAYER_INIT_TIME):this.setAttribute(i.PLAYER_INIT_TIME,`${+t}`))}get playerSoftwareName(){return ct}get playerSoftwareVersion(){return lt}get _hls(){var t;return(t=d(this,E,k))==null?void 0:t.engine}get mux(){return this.nativeEl.mux}get src(){return this.getAttribute("src")}set src(t){t!==this.src&&(t==null?this.removeAttribute("src"):this.setAttribute("src",t))}get preload(){let t=this.getAttribute("preload");return t===""?"auto":["none","metadata","auto"].includes(t)?t:super.preload}set preload(t){t!=this.getAttribute("preload")&&(["","none","metadata","auto"].includes(t)?this.setAttribute("preload",t):this.removeAttribute("preload"))}get debug(){return this.getAttribute(i.DEBUG)!=null}set debug(t){t!==this.debug&&(t?this.setAttribute(i.DEBUG,""):this.removeAttribute(i.DEBUG))}get disableTracking(){return this.hasAttribute(i.DISABLE_TRACKING)}set disableTracking(t){t!==this.disableTracking&&this.toggleAttribute(i.DISABLE_TRACKING,!!t)}get disableCookies(){return this.hasAttribute(i.DISABLE_COOKIES)}set disableCookies(t){t!==this.disableCookies&&(t?this.setAttribute(i.DISABLE_COOKIES,""):this.removeAttribute(i.DISABLE_COOKIES))}get startTime(){let t=this.getAttribute(i.START_TIME);if(t==null)return;let n=+t;return Number.isNaN(n)?void 0:n}set startTime(t){t!==this.startTime&&(t==null?this.removeAttribute(i.START_TIME):this.setAttribute(i.START_TIME,`${t}`))}get playbackId(){var t;return(t=this.getAttribute(i.PLAYBACK_ID))!=null?t:void 0}set playbackId(t){t!==this.playbackId&&(t?this.setAttribute(i.PLAYBACK_ID,t):this.removeAttribute(i.PLAYBACK_ID))}get programStartTime(){let t=this.getAttribute(i.PROGRAM_START_TIME);if(t==null)return;let n=+t;return Number.isNaN(n)?void 0:n}set programStartTime(t){t==null?this.removeAttribute(i.PROGRAM_START_TIME):this.setAttribute(i.PROGRAM_START_TIME,`${t}`)}get programEndTime(){let t=this.getAttribute(i.PROGRAM_END_TIME);if(t==null)return;let n=+t;return Number.isNaN(n)?void 0:n}set programEndTime(t){t==null?this.removeAttribute(i.PROGRAM_END_TIME):this.setAttribute(i.PROGRAM_END_TIME,`${t}`)}get assetStartTime(){let t=this.getAttribute(i.ASSET_START_TIME);if(t==null)return;let n=+t;return Number.isNaN(n)?void 0:n}set assetStartTime(t){t==null?this.removeAttribute(i.ASSET_START_TIME):this.setAttribute(i.ASSET_START_TIME,`${t}`)}get assetEndTime(){let t=this.getAttribute(i.ASSET_END_TIME);if(t==null)return;let n=+t;return Number.isNaN(n)?void 0:n}set assetEndTime(t){t==null?this.removeAttribute(i.ASSET_END_TIME):this.setAttribute(i.ASSET_END_TIME,`${t}`)}get customDomain(){var t;return(t=this.getAttribute(i.CUSTOM_DOMAIN))!=null?t:void 0}set customDomain(t){t!==this.customDomain&&(t?this.setAttribute(i.CUSTOM_DOMAIN,t):this.removeAttribute(i.CUSTOM_DOMAIN))}get playbackToken(){var t,n,m,T;if(this.hasAttribute(i.PLAYBACK_TOKEN))return(t=this.getAttribute(i.PLAYBACK_TOKEN))!=null?t:void 0;if(this.hasAttribute(i.PLAYBACK_ID)){let[,M]=Ot((n=this.playbackId)!=null?n:"");return(m=new URLSearchParams(M).get("token"))!=null?m:void 0}if(this.src)return(T=new URLSearchParams(this.src).get("token"))!=null?T:void 0}set playbackToken(t){t!==this.playbackToken&&(t?this.setAttribute(i.PLAYBACK_TOKEN,t):this.removeAttribute(i.PLAYBACK_TOKEN))}get tokens(){let t=this.getAttribute(i.PLAYBACK_TOKEN);return{...d(this,Y),...t!=null?{playback:t}:{}}}set tokens(t){p(this,Y,t!=null?t:{})}get ended(){return St(this.nativeEl,this._hls)}get envKey(){var t;return(t=this.getAttribute(i.ENV_KEY))!=null?t:void 0}set envKey(t){t!==this.envKey&&(t?this.setAttribute(i.ENV_KEY,t):this.removeAttribute(i.ENV_KEY))}get beaconCollectionDomain(){var t;return(t=this.getAttribute(i.BEACON_COLLECTION_DOMAIN))!=null?t:void 0}set beaconCollectionDomain(t){t!==this.beaconCollectionDomain&&(t?this.setAttribute(i.BEACON_COLLECTION_DOMAIN,t):this.removeAttribute(i.BEACON_COLLECTION_DOMAIN))}get streamType(){var t;return(t=this.getAttribute(i.STREAM_TYPE))!=null?t:void 0}set streamType(t){t!==this.streamType&&(t?this.setAttribute(i.STREAM_TYPE,t):this.removeAttribute(i.STREAM_TYPE))}getStartDate(){return kt(this.nativeEl,this._hls)}get currentPdt(){return It(this.nativeEl,this._hls)}get preferPlayback(){let t=this.getAttribute(i.PREFER_PLAYBACK);if(t===H.MSE||t===H.NATIVE)return t}set preferPlayback(t){t!==this.preferPlayback&&(t===H.MSE||t===H.NATIVE?this.setAttribute(i.PREFER_PLAYBACK,t):this.removeAttribute(i.PREFER_PLAYBACK))}get metadata(){return{...this.getAttributeNames().filter(n=>n.startsWith("metadata-")&&![i.METADATA_URL].includes(n)).reduce((n,m)=>{let T=this.getAttribute(m);return T!=null&&(n[m.replace(/^metadata-/,"").replace(/-/g,"_")]=T),n},{}),...d(this,O)}}set metadata(t){p(this,O,t!=null?t:{}),this.mux&&(console.info("Some metadata values may not be overridable at this time. Make sure you set all metadata to override before setting the src."),this.mux.emit("hb",d(this,O)))}get _hlsConfig(){return d(this,G)}set _hlsConfig(t){p(this,G,t)}load(){_t(this,this.nativeEl,d(this,E,k))}unload(){Mt(this.nativeEl,d(this,E,k))}attributeChangedCallback(t,n,m){var M,A;switch(j.observedAttributes.includes(t)&&!["src","autoplay","preload"].includes(t)&&super.attributeChangedCallback(t,n,m),t){case"src":{let g=!!n,y=!!m;!g&&y?f(this,E,$).call(this):g&&!y?this.unload():g&&y&&(this.unload(),f(this,E,$).call(this));break}case"autoplay":if(m===n)break;(M=d(this,E,k))==null||M.setAutoplay(this.autoplay);break;case"preload":if(m===n)break;(A=d(this,E,k))==null||A.setPreload(m);break;case i.PLAYBACK_ID:this.src=Pt(this);break;case i.DEBUG:{let g=this.debug;this.mux&&console.info("Cannot toggle debug mode of mux data after initialization. Make sure you set all metadata to override before setting the src."),this._hls&&(this._hls.config.debug=g);break}case i.METADATA_URL:m&&fetch(m).then(g=>g.json()).then(g=>this.metadata=g).catch(()=>console.error(`Unable to load or parse metadata JSON from metadata-url ${m}!`));break;default:break}}connectedCallback(){var t;(t=super.connectedCallback)==null||t.call(this),this.nativeEl&&this.src&&!d(this,E,k)&&f(this,E,$).call(this)}disconnectedCallback(){this.unload()}};N=new WeakMap,B=new WeakMap,O=new WeakMap,Y=new WeakMap,G=new WeakMap,E=new WeakSet,k=function(){return Nt(this.nativeEl)},$=async function(){d(this,N)||(await p(this,N,Promise.resolve()),p(this,N,null),this.load())};U.customElements.get("mux-audio")||(U.customElements.define("mux-audio",K),U.MuxAudioElement=K);var zt=K;export{i as Attributes,it as AudioEvents,Vt as MediaError,zt as default,Ct as generatePlayerInitTime,ct as playerSoftwareName,lt as playerSoftwareVersion};
|
|
44
44
|
//# sourceMappingURL=index.mjs.map
|