Files
MultiRoombaRover/server/public/assets/react-DPJCMV8d.js
T

8 lines
6.6 KiB
JavaScript

import{R as O}from"./index-DCtVfg7-.js";import{M as P,C as A}from"./mixin-BY5xW4uI.js";import{H as h}from"./hls-DIl42XrH.js";const x=t=>class extends t{static shadowRootOptions={...t.shadowRootOptions};static getTemplateHTML=(e,s={})=>{const{src:f,...T}=e;return`
<script type="application/json" id="config">
${JSON.stringify(s.config||{})}
<\/script>
${t.getTemplateHTML(T)}
`};#e=null;#t=null;constructor(){super(),this.#o("config")}get config(){return this.#t}set config(e){this.#t=e}attributeChangedCallback(e,s,f){e!=="src"&&super.attributeChangedCallback(e,s,f),e==="src"&&s!=f&&this.load()}#n(){var e,s;(e=this.#e)==null||e.remove(),(s=this.nativeEl)==null||s.removeEventListener("webkitcurrentplaybacktargetiswirelesschanged",this.#i),this.api&&(this.api.detachMedia(),this.api.destroy(),this.api=null)}async load(){var e,s;const f=!this.api;if(this.#n(),!!this.src){if(f&&!this.#t&&(this.#t=JSON.parse(((e=this.shadowRoot.getElementById("config"))==null?void 0:e.textContent)||"{}")),h.isSupported()){switch(await Promise.resolve(),this.api=new h({liveDurationInfinity:!0,autoStartLoad:!1,...this.config}),this.api.loadSource(this.src),this.api.attachMedia(this.nativeEl),this.nativeEl.preload){case"none":{const r=()=>this.api.startLoad();this.nativeEl.addEventListener("play",r,{once:!0}),this.api.on(h.Events.DESTROYING,()=>{this.nativeEl.removeEventListener("play",r)});break}case"metadata":{const r=this.api.config.maxBufferLength,o=this.api.config.maxBufferSize;this.api.config.maxBufferLength=1,this.api.config.maxBufferSize=1;const i=()=>{this.api.config.maxBufferLength=r,this.api.config.maxBufferSize=o};this.nativeEl.addEventListener("play",i,{once:!0}),this.api.on(h.Events.DESTROYING,()=>{this.nativeEl.removeEventListener("play",i)}),this.api.startLoad();break}default:this.api.startLoad()}this.nativeEl.webkitCurrentPlaybackTargetIsWireless&&this.api.stopLoad(),this.nativeEl.addEventListener("webkitcurrentplaybacktargetiswirelesschanged",this.#i),this.#e=document.createElement("source"),this.#e.setAttribute("type","application/x-mpegURL"),this.#e.setAttribute("src",this.src),this.nativeEl.disableRemotePlayback=!1,this.nativeEl.append(this.#e);const T=new WeakMap;this.api.on(h.Events.MANIFEST_PARSED,(r,o)=>{this.nativeEl.autoplay&&this.nativeEl.paused&&this.nativeEl.play().catch(d=>{console.warn("Autoplay failed:",d)}),k();let i=this.videoTracks.getTrackById("main");i||(i=this.addVideoTrack("main"),i.id="main",i.selected=!0);for(const[d,l]of o.levels.entries()){const u=i.addRendition(l.url[0],l.width,l.height,l.videoCodec,l.bitrate);T.set(l,`${d}`),u.id=`${d}`}for(let[d,l]of o.audioTracks.entries()){const u=l.default?"main":"alternative",y=this.addAudioTrack(u,l.name,l.lang);y.id=`${d}`,l.default&&(y.enabled=!0)}}),this.audioTracks.addEventListener("change",()=>{var r;const o=+((r=[...this.audioTracks].find(d=>d.enabled))==null?void 0:r.id),i=this.api.audioTracks.map(d=>d.id);o!=this.api.audioTrack&&i.includes(o)&&(this.api.audioTrack=o)}),this.api.on(h.Events.LEVELS_UPDATED,(r,o)=>{const i=this.videoTracks[this.videoTracks.selectedIndex??0];if(!i)return;const d=o.levels.map(l=>T.get(l));for(const l of this.videoRenditions)l.id&&!d.includes(l.id)&&i.removeRendition(l)});let m=null;this.api.on(h.Events.ERROR,(r,o)=>{o.type===h.ErrorTypes.NETWORK_ERROR&&o.details===h.ErrorDetails.FRAG_LOAD_ERROR&&(m=o.frag.level)}),this.api.on(h.Events.LEVEL_SWITCHED,(r,o)=>{const i=o.level;m!==null&&i<m&&(console.warn(`⚠️ hls.js downgraded quality from level ${m} to ${i} due to fragment load failure.`),this.videoRenditions.selectedIndex=i,m=null)});const L=r=>{const o=r.target.selectedIndex;o!=this.api.nextLevel&&(this.api.nextLevel=o)};(s=this.videoRenditions)==null||s.addEventListener("change",L);const k=()=>{for(const r of this.videoTracks)this.removeVideoTrack(r);for(const r of this.audioTracks)this.removeAudioTrack(r)};this.api.once(h.Events.DESTROYING,k);return}await Promise.resolve(),this.nativeEl.canPlayType("application/vnd.apple.mpegurl")&&(this.nativeEl.src=this.src)}}#i=()=>{var e,s,f;(e=this.nativeEl)!=null&&e.webkitCurrentPlaybackTargetIsWireless?(s=this.api)==null||s.stopLoad():(f=this.api)==null||f.startLoad()};#o(e){if(Object.prototype.hasOwnProperty.call(this,e)){const s=this[e];delete this[e],this[e]=s}}},M=x(P(A));globalThis.customElements&&!globalThis.customElements.get("hls-video")&&globalThis.customElements.define("hls-video",M);var H=M,N=new Set(["style","children","ref","key","suppressContentEditableWarning","suppressHydrationWarning","dangerouslySetInnerHTML"]),C={className:"class",htmlFor:"for"};function I(t){return t.toLowerCase()}function _(t){if(typeof t=="boolean")return t?"":void 0;if(typeof t!="function"&&!(typeof t=="object"&&t!==null))return t}function D({react:t,tagName:g,elementClass:e,events:s,displayName:f,defaultProps:T,toAttributeName:m=I,toAttributeValue:L=_}){const k=Number.parseInt(t.version)>=19,r=t.forwardRef((o,i)=>{var d,l;const u=t.useRef(null),y=t.useRef(new Map),w={},R={},v={},b={};for(const[n,a]of Object.entries(o)){if(N.has(n)){v[n]=a;continue}const c=m(C[n]??n);if(e.prototype&&n in e.prototype&&!(n in(((d=globalThis.HTMLElement)==null?void 0:d.prototype)??{}))&&!((l=e.observedAttributes)!=null&&l.some(E=>E===c))){b[n]=a;continue}if(n.startsWith("on")){w[n]=a;continue}const p=L(a);if(c&&p!=null&&(R[c]=String(p),k||(v[c]=p)),c&&k){const E=_(a);p!==E?v[c]=p:v[c]=a}}if(typeof window<"u"){for(const n in w){const a=w[n],c=n.endsWith("Capture"),p=(s?.[n]??n.slice(2).toLowerCase()).slice(0,c?-7:void 0);t.useLayoutEffect(()=>{const E=u?.current;if(!(!E||typeof a!="function"))return E.addEventListener(p,a,c),()=>{E.removeEventListener(p,a,c)}},[u?.current,a])}t.useLayoutEffect(()=>{if(u.current===null)return;const n=new Map;for(const a in b)S(u.current,a,b[a]),y.current.delete(a),n.set(a,b[a]);for(const[a,c]of y.current)S(u.current,a,void 0);y.current=n})}if(typeof window>"u"&&e?.getTemplateHTML&&e?.shadowRootOptions){const{mode:n,delegatesFocus:a}=e.shadowRootOptions,c=t.createElement("template",{shadowrootmode:n,shadowrootdelegatesfocus:a,dangerouslySetInnerHTML:{__html:e.getTemplateHTML(R,o)},key:"ce-la-react-ssr-template-shadow-root"});v.children=[c,v.children]}return t.createElement(g,{...T,...v,ref:t.useCallback(n=>{u.current=n,typeof i=="function"?i(n):i!==null&&(i.current=n)},[i])},v.children)});return r.displayName=f??e.name,r}function S(t,g,e){var s;t[g]=e,e==null&&g in(((s=globalThis.HTMLElement)==null?void 0:s.prototype)??{})&&t.removeAttribute(g)}var j=D({react:O,tagName:"hls-video",elementClass:H,toAttributeName(t){return t==="muted"?"":t==="defaultMuted"?"muted":I(t)}});export{j as default};
//# sourceMappingURL=react-DPJCMV8d.js.map