UNPKG

vidstack

Version:

Build awesome media experiences on the web.

1 lines 136 kB
import{lazyPaths as we}from"https://cdn.jsdelivr.net/npm/media-icons/dist/lazy.js";import{$ as b,r as f,C as P,t as y,l as h,p as c,e as m,f as I,m as g,v as Te,x as xe,y as Le,s as v,z as U,A as ot,j as R,c as $t,B as X,F as Pe,G as ht,H as W,o as tt,I as N,d as Se,D,J as K,i as wt,S as Ee,E as Gs,K as et,L as x,M as Qs,N as st,O as Ys,q as Js,P as V,Q as j,g as k,R as Ae,T as Ut,U as u,V as ti,W as Me,X as ei,Y as Ve,Z as si,_ as d,a0 as ii,a1 as Tt,a2 as lt,a3 as $,a4 as p,h as Ie,k as He,a5 as Kt,b as zt,a6 as qe,a7 as ri,a8 as Fe}from"./prod/maverick.js";import{g as Re,p as Ne,H as ni,V as ai,A as oi,T as Xt,I as _e,c as hi,i as li,L as xt,a as Lt,b as Gt,d as Be,e as Qt,f as De,h as Ze,j as Yt,k as Oe,S as Pt,E as We,l as St,m as Et,n as di,o as q,q as ft,r as ci,s as ui,t as Jt,u as pi,v as gi,w as te,x as mi,y as bi,z as _,B as je,C as fi,D as Ci}from"./prod/providers.js";import{C as vi,r as yi,u as ki}from"./prod/captions/index.js";const $i=b('<svg viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" data-media-icon="true"></svg>');let Ue=class extends P{constructor(){super(...arguments),this.a=!1,this.b=y("")}onAttach(t){this.a=t.hasAttribute("mk-h"),h(this.c.bind(this))}c(){const t=this.$props.type();if(this.a){this.a=!1;return}t&&we[t]?we[t]().then(({default:e})=>{t===c(this.$props.type)&&this.b.set(e)}):this.b.set("")}render(){return(()=>{const t=m($i);return I(()=>void(t.innerHTML=this.b())),t})()}};Ue.el=f({tagName:"media-icon",props:{type:void 0}});function H(r,t,e){r.hasAttribute(t)||r.setAttribute(t,e)}function it(r,t){if(r.hasAttribute("aria-label")||r.hasAttribute("aria-describedby"))return;function e(){v(r,"aria-label",t())}h(e)}function Ke(r,t,e){for(;t;){if(t===r)return!0;if(t.localName===r.localName||e?.(t))break;t=t.parentElement}return!1}function dt(r,t){g(r,"pointerup",e=>{e.button===0&&t(e)}),g(r,"keydown",e=>{Te(e)&&t(e)})}function Ct(r){const t=Le();requestAnimationFrame(()=>xe(r,t))}const ze=ot();function T(){return U(ze)}class wi{constructor(t,e,s){this.f=t,this.d=e,this.e=s;const i=new ni,n=new ai,a=new oi;this.V=R(()=>e.$props.preferNativeHLS()?[n,a,i]:[i,n,a]),h(this.W.bind(this)),h(this.X.bind(this)),h(this.Y.bind(this)),h(this.Z.bind(this))}W(){this.d.delegate.j("sources-change",{detail:[...Ti(this.d.$props.src()),...this.f()]})}X(){const{$store:t}=this.d,e=t.sources(),s=c(t.source),i=this.U(s,e);if(e[0]?.src&&!i.src&&!i.type){const{crossorigin:n}=t,a=Re(n()),o=new AbortController;return Promise.all(e.map(l=>$t(l.src)&&l.type==="?"?fetch(l.src,{method:"HEAD",credentials:a,signal:o.signal}).then(C=>(l.type=C.headers.get("content-type")||"??",l)).catch(()=>l):l)).then(l=>{o.signal.aborted||(this.U(c(t.source),l),X())}),()=>o.abort()}X()}U(t,e){let s={src:"",type:""},i=null;for(const n of e){const a=c(this.V).find(o=>o.canPlay(n));a&&(s=n,i=a)}return this._(t,s,i),this.$(c(this.e),i),s}_(t,e,s){e.src===t.src&&e.type===t.type||(this.d.delegate.j("source-change",{detail:e}),this.d.delegate.j("media-type-change",{detail:s?.mediaType(e)||"unknown"}))}$(t,e){e!==t&&(this.d.delegate.j("provider-change",{detail:null}),e&&c(()=>e.preconnect?.(this.d)),this.e.set(e),this.d.delegate.j("provider-loader-change",{detail:e}))}Y(){const t=this.d.$provider();if(t){if(this.d.$store.canLoad()){c(()=>t.setup({...this.d,player:this.d.player}));return}c(()=>t.preconnect?.(this.d))}}Z(){const t=this.d.$provider(),e=this.d.$store.source();if(this.d.$store.canLoad()){c(()=>t?.loadSource(e,c(this.d.$store.preload)));return}try{$t(e.src)&&Ne(new URL(e.src).origin,"preconnect")}catch{}}}function Ti(r){return(Pe(r)?r:[!$t(r)&&"src"in r?r:{src:r}]).map(({src:t,type:e})=>({src:t,type:e??(!$t(t)||t.startsWith("blob:")?"video/object":"?")}))}class xi{constructor(t,e){this.g=t,this.d=e,this.aa=[],h(this.ba.bind(this))}ba(){const t=[...this.d.$props.textTracks(),...this.g()];for(const e of this.aa)if(!t.some(s=>s.id===e.id)){const s=e.id&&this.d.textTracks.getById(e.id);s&&this.d.textTracks.remove(s)}for(const e of t){const s=e.id||Xt.createId(e);this.d.textTracks.getById(s)||(e.id=s,this.d.textTracks.add(e))}this.aa=t}}class Xe extends P{constructor(t){super(t),this.f=y([]),this.g=y([]),this.e=y(null),this.d=T(),new wi(this.f,this.d,this.e),new xi(this.g,this.d)}onAttach(t){t.setAttribute("keep-alive","")}onConnect(t){const e=new ResizeObserver(ht(this.h.bind(this)));e.observe(t);const s=new MutationObserver(this.i.bind(this));return s.observe(t,{attributes:!0,childList:!0}),_e&&g(t,"touchstart",i=>i.preventDefault(),{passive:!1}),Ct(()=>{this.h(),this.i()}),()=>{e.disconnect(),s.disconnect()}}onDestroy(){this.d.$store.currentTime.set(0)}h(){const t=this.d.player,e=this.el.offsetWidth,s=this.el.offsetHeight;t&&(t.$store.mediaWidth.set(e),t.$store.mediaHeight.set(s),W(t,"--media-width",e+"px"),W(t,"--media-height",s+"px"))}i(){const t=[],e=[],s=this.el.children;for(const i of s)i instanceof HTMLSourceElement?t.push({src:i.src,type:i.type}):i instanceof HTMLTrackElement&&e.push({id:i.id,src:i.src,kind:i.track.kind,language:i.srclang,label:i.label,default:i.default,type:i.getAttribute("data-type")});this.f.set(t),this.g.set(e),X()}render(){let t;return tt(()=>t?.destroy?.()),()=>{t?.destroy();const e=this.e();if(!e)return null;const s=e.render(this.d.$store);return c(()=>{e.load(this.d).then(i=>{c(this.e)===e&&(this.d.delegate.j("provider-change",{detail:i}),t=i)})}),s}}}Xe.el=f({tagName:"media-outlet"});var B={fullscreenEnabled:0,fullscreenElement:1,requestFullscreen:2,exitFullscreen:3,fullscreenchange:4,fullscreenerror:5,fullscreen:6},Ge=["webkitFullscreenEnabled","webkitFullscreenElement","webkitRequestFullscreen","webkitExitFullscreen","webkitfullscreenchange","webkitfullscreenerror","-webkit-full-screen"],Qe=["mozFullScreenEnabled","mozFullScreenElement","mozRequestFullScreen","mozCancelFullScreen","mozfullscreenchange","mozfullscreenerror","-moz-full-screen"],Ye=["msFullscreenEnabled","msFullscreenElement","msRequestFullscreen","msExitFullscreen","MSFullscreenChange","MSFullscreenError","-ms-fullscreen"],F=typeof window<"u"&&typeof window.document<"u"?window.document:{},Z="fullscreenEnabled"in F&&Object.keys(B)||Ge[0]in F&&Ge||Qe[0]in F&&Qe||Ye[0]in F&&Ye||[],Li={requestFullscreen:function(r){return r[Z[B.requestFullscreen]]()},requestFullscreenFunction:function(r){return r[Z[B.requestFullscreen]]},get exitFullscreen(){return F[Z[B.exitFullscreen]].bind(F)},get fullscreenPseudoClass(){return":"+Z[B.fullscreen]},addEventListener:function(r,t,e){return F.addEventListener(Z[B[r]],t,e)},removeEventListener:function(r,t,e){return F.removeEventListener(Z[B[r]],t,e)},get fullscreenEnabled(){return Boolean(F[Z[B.fullscreenEnabled]])},set fullscreenEnabled(r){},get fullscreenElement(){return F[Z[B.fullscreenElement]]},set fullscreenElement(r){},get onfullscreenchange(){return F[("on"+Z[B.fullscreenchange]).toLowerCase()]},set onfullscreenchange(r){return F[("on"+Z[B.fullscreenchange]).toLowerCase()]=r},get onfullscreenerror(){return F[("on"+Z[B.fullscreenerror]).toLowerCase()]},set onfullscreenerror(r){return F[("on"+Z[B.fullscreenerror]).toLowerCase()]=r}},rt=Li;const At=rt.fullscreenEnabled;class Pi extends N{constructor(){super(...arguments),this.ca=!1,this.da=!1}get active(){return this.da}get supported(){return At}onConnect(){g(rt,"fullscreenchange",this.ea.bind(this)),g(rt,"fullscreenerror",this.fa.bind(this))}async onDisconnect(){At&&await this.exit()}ea(t){const e=ee(this.el);e!==this.da&&(e||(this.ca=!1),this.da=e,this.dispatch("fullscreen-change",{detail:e,trigger:t}))}fa(t){this.ca&&(this.dispatch("fullscreen-error",{detail:null,trigger:t}),this.ca=!1)}async enter(){try{return this.ca=!0,!this.el||ee(this.el)?void 0:(Je(),rt.requestFullscreen(this.el))}catch(t){throw this.ca=!1,t}}async exit(){if(!(!this.el||!ee(this.el)))return Je(),rt.exitFullscreen()}}function Si(){return At}function ee(r){if(rt.fullscreenElement===r)return!0;try{return r.matches(rt.fullscreenPseudoClass)}catch{return!1}}function Je(){if(!At)throw Error("[vidstack] no fullscreen API")}let se=y(!1);g(document,"pointerdown",()=>{se.set(!1)}),g(document,"keydown",r=>{r.metaKey||r.altKey||r.ctrlKey||se.set(!0)});class G extends N{constructor(){super(...arguments),this.ma=y(!1)}onConnect(t){h(()=>{if(!se()){this.ma.set(!1),Mt(t,!1),this.listen("pointerenter",this.na.bind(this)),this.listen("pointerleave",this.oa.bind(this));return}const e=document.activeElement===t;this.ma.set(e),Mt(t,e),this.listen("focus",this.pa.bind(this)),this.listen("blur",this.qa.bind(this))})}focused(){return this.ma()}pa(){this.ma.set(!0),Mt(this.el,!0)}qa(){this.ma.set(!1),Mt(this.el,!1)}na(){ts(this.el,!0)}oa(){ts(this.el,!1)}}function Mt(r,t){v(r,"data-focus",t),v(r,"data-hocus",t)}function ts(r,t){v(r,"data-hocus",t),v(r,"data-hover",t)}const vt=hi();class es extends N{constructor(){super(...arguments),this.sa=y(is()),this.ra=y(!1)}get type(){return this.sa()}get locked(){return this.ra()}get portrait(){return this.sa().startsWith("portrait")}get landscape(){return this.sa().startsWith("landscape")}get supported(){return vt}onConnect(){if(vt)g(screen.orientation,"change",this.ua.bind(this));else{const t=window.matchMedia("(orientation: landscape)");return t.onchange=this.ua.bind(this),()=>t.onchange=null}}async onDisconnect(){vt&&this.ra()&&await this.unlock()}ua(t){this.sa.set(is()),this.dispatch("orientation-change",{detail:{orientation:c(this.sa),lock:this.ta},trigger:t})}async lock(t){c(this.ra)||this.ta===t||(ss(),await screen.orientation.lock(t),this.ra.set(!0),this.ta=t)}async unlock(){c(this.ra)&&(ss(),this.ta=void 0,await screen.orientation.unlock(),this.ra.set(!1))}}function ss(){if(!vt)throw Error("[vidstack] no orientation API")}function is(){return vt?window.screen.orientation.type:window.innerWidth>=window.innerHeight?"landscape-primary":"portrait-primary"}class Ei{constructor(){this.wa=!1,this.xa=Se(),this.va=new Map}get Ba(){return this.va.size}get Ca(){return this.wa}async Da(){this.wa||await this.xa.promise}n(t,e){if(this.wa){e();return}this.va.delete(t),this.va.set(t,e)}Aa(t){this.va.get(t)?.(),this.va.delete(t)}I(){this.ya(),this.wa=!0,this.va.size>0&&this.ya()}J(){this.wa=!1}Ea(){this.J(),this.va.clear(),this.za()}ya(){for(const t of this.va.keys())this.Aa(t);this.za()}za(){this.xa.resolve(),this.xa=Se()}}const Ai=["autoplay","autoplayError","canFullscreen","canPictureInPicture","canLoad","canPlay","canSeek","ended","error","fullscreen","loop","live","liveEdge","mediaType","muted","paused","pictureInPicture","playing","playsinline","seeking","started","streamType","userIdle","viewType","waiting"],Mi={togglePaused:"k Space",toggleMuted:"m",toggleFullscreen:"f",togglePictureInPicture:"i",toggleCaptions:"c",seekBackward:"ArrowLeft",seekForward:"ArrowRight",volumeUp:"ArrowUp",volumeDown:"ArrowDown"},rs=new Set(["Shift","Alt","Meta","Control"]),Vi='button, [role="button"]',ns='input, textarea, select, [contenteditable], [role^="menuitem"]';class Ii extends N{constructor(t,e){super(t),this.d=e,this.Fa=null}onConnect(){h(this.Ja.bind(this))}Ja(){const{keyDisabled:t,keyTarget:e}=this.$props;if(t())return;const s=e()==="player"?this.el:document,i=y(!1);s===this.el?(this.listen("focusin",()=>i.set(!0)),this.listen("focusout",n=>{this.el.contains(n.target)||i.set(!1)})):(c(i)||i.set(document.querySelector("media-player")===this.el),g(document,"focusin",n=>{const a=n.composedPath().find(o=>o instanceof Element&&o.localName==="media-player");a!==void 0&&i.set(this.el===a)})),h(()=>{i()&&(g(s,"keyup",this.Ka.bind(this)),g(s,"keydown",this.La.bind(this)),g(s,"keydown",this.Ma.bind(this),{capture:!0}))})}Ka(t){const e=document.activeElement,s=e?.hasAttribute("data-media-slider");if(!t.key||!this.$store.canSeek()||s||e?.matches(ns))return;const i=this.Ga(t);i?.startsWith("seek")&&(t.preventDefault(),t.stopPropagation(),this.Fa?(this.Ia(t),this.Fa=null):(this.d.remote.seek(this.Ha,t),this.Ha=void 0)),i?.startsWith("volume")&&this.el.querySelector("media-volume-slider")?.dispatchEvent(new D("keyup",{trigger:t}))}La(t){if(!t.key||rs.has(t.key))return;const e=document.activeElement;if(e?.matches(ns)||Te(t)&&e?.matches(Vi))return;const s=e?.hasAttribute("data-media-slider"),i=this.Ga(t);if(!i&&!t.metaKey&&/[0-9]/.test(t.key)&&!s){t.preventDefault(),t.stopPropagation(),this.d.remote.seek(this.$store.duration()/10*Number(t.key),t);return}if(!(!i||/volume|seek/.test(i)&&s))switch(t.preventDefault(),t.stopPropagation(),i){case"seekForward":case"seekBackward":this.Na(t,i);break;case"volumeUp":case"volumeDown":const n=this.el.querySelector("media-volume-slider");if(n)n.dispatchEvent(new D("keydown",{trigger:t}));else{const a=t.shiftKey?.1:.05;this.d.remote.changeVolume(this.$store.volume()+(i==="volumeUp"?+a:-a),t)}break;case"toggleFullscreen":this.d.remote.toggleFullscreen("prefer-media",t);break;default:this.d.remote[i]?.(t)}}Ma(t){li(t.target)&&this.Ga(t)&&t.preventDefault()}Ga(t){const e={...this.$props.keyShortcuts(),...this.d.ariaKeys};return Object.keys(e).find(s=>e[s].split(" ").some(i=>qi(i).replace(/Control/g,"Ctrl").split("+").every(n=>rs.has(n)?t[n.toLowerCase()+"Key"]:t.key===n.replace("Space"," "))))}Oa(t,e){const s=t.shiftKey?10:5;return this.Ha=Math.max(0,Math.min((this.Ha??this.$store.currentTime())+(e==="seekForward"?+s:-s),this.$store.duration()))}Ia(t){this.Fa?.dispatchEvent(new D(t.type,{trigger:t}))}Na(t,e){this.$store.canSeek()&&(this.Fa||(this.Fa=this.el.querySelector("media-time-slider")),this.Fa?this.Ia(t):this.d.remote.seeking(this.Oa(t,e),t))}}const Hi=["!","@","#","$","%","^","&","*","(",")"];function qi(r){return r.replace(/Shift\+(\d)/g,(t,e)=>Hi[e-1])}const Fi={autoplay:!1,aspectRatio:K({value:null,type:{from(r){if(!r)return null;if(!r.includes("/"))return+r;const[t,e]=r.split("/").map(Number);return+(t/e).toFixed(4)}}}),controls:!1,currentTime:0,crossorigin:null,fullscreenOrientation:"landscape",load:"visible",logLevel:"silent",loop:!1,muted:!1,paused:!0,playsinline:!1,playbackRate:1,poster:"",preload:"metadata",preferNativeHLS:K({value:!1,attribute:"prefer-native-hls"}),src:"",userIdleDelay:2e3,viewType:"unknown",streamType:"unknown",volume:1,liveEdgeTolerance:10,minLiveDVRWindow:60,keyDisabled:!1,keyTarget:"player",keyShortcuts:Mi,title:"",thumbnails:null,textTracks:K({value:[],attribute:!1}),smallBreakpointX:600,largeBreakpointX:980,smallBreakpointY:380,largeBreakpointY:600};class ie{get length(){return this.Rf.length}constructor(t,e){Pe(t)?this.Rf=t:!wt(t)&&!wt(e)?this.Rf=[[t,e]]:this.Rf=[]}start(t){return this.Rf[t][0]??1/0}end(t){return this.Rf[t][1]??1/0}}function as(r){if(!r.length)return null;let t=r.start(0);for(let e=1;e<r.length;e++){const s=r.start(e);s<t&&(t=s)}return t}function os(r){if(!r.length)return null;let t=r.end(0);for(let e=1;e<r.length;e++){const s=r.end(e);s>t&&(t=s)}return t}const hs=new Ee({audioTracks:[],audioTrack:null,autoplay:!1,autoplayError:void 0,buffered:new ie,duration:0,canLoad:!1,canFullscreen:!1,canPictureInPicture:!1,canPlay:!1,controls:!1,crossorigin:null,poster:"",currentTime:0,ended:!1,error:void 0,fullscreen:!1,loop:!1,logLevel:"silent",mediaType:"unknown",muted:!1,paused:!0,played:new ie,playing:!1,playsinline:!1,pictureInPicture:!1,preload:"metadata",playbackRate:1,qualities:[],quality:null,autoQuality:!1,canSetQuality:!0,seekable:new ie,seeking:!1,source:{src:"",type:""},sources:[],started:!1,title:"",textTracks:[],textTrack:null,thumbnails:null,thumbnailCues:[],volume:1,waiting:!1,get viewType(){return this.providedViewType!=="unknown"?this.providedViewType:this.mediaType},get streamType(){return this.providedStreamType!=="unknown"?this.providedStreamType:this.inferredStreamType},get currentSrc(){return this.source},get bufferedStart(){return as(this.buffered)??0},get bufferedEnd(){return os(this.buffered)??0},get seekableStart(){return as(this.seekable)??0},get seekableEnd(){return this.canPlay?os(this.seekable)??1/0:0},get seekableWindow(){return Math.max(0,this.seekableEnd-this.seekableStart)},touchPointer:!1,orientation:"landscape",mediaWidth:0,mediaHeight:0,breakpointX:"sm",breakpointY:"sm",userIdle:!1,userBehindLiveEdge:!1,liveEdgeTolerance:10,minLiveDVRWindow:60,get canSeek(){return/unknown|on-demand|:dvr/.test(this.streamType)&&Number.isFinite(this.seekableWindow)&&(!this.live||/:dvr/.test(this.streamType)&&this.seekableWindow>=this.minLiveDVRWindow)},get live(){return this.streamType.includes("live")||!Number.isFinite(this.duration)},get liveEdgeStart(){return this.live&&Number.isFinite(this.seekableEnd)?Math.max(0,(this.liveSyncPosition??this.seekableEnd)-this.liveEdgeTolerance):0},get liveEdge(){return this.live&&(!this.canSeek||!this.userBehindLiveEdge&&this.currentTime>=this.liveEdgeStart)},get liveEdgeWindow(){return this.live&&Number.isFinite(this.seekableEnd)?this.seekableEnd-this.liveEdgeStart:0},autoplaying:!1,providedViewType:"unknown",providedStreamType:"unknown",inferredStreamType:"unknown",liveSyncPosition:null}),Ri=new Set(["autoplay","breakpointX","breakpointY","canFullscreen","canLoad","canPictureInPicture","controls","fullscreen","logLevel","loop","mediaHeight","mediaWidth","muted","orientation","pictureInPicture","playsinline","poster","preload","providedStreamType","providedViewType","source","sources","textTrack","textTracks","thumbnailCues","thumbnails","title","touchPointer","volume"]);function Ni(r){hs.reset(r,t=>!Ri.has(t)),X()}var ls;class ds extends Gs{constructor(){super(...arguments),this.Pb=[],this[ls]=!1}get length(){return this.Pb.length}get readonly(){return this[xt]}toArray(){return[...this.Pb]}[(ls=xt,Symbol.iterator)](){return this.Pb.values()}[Lt](t,e){const s=this.Pb.length;""+s in this||Object.defineProperty(this,s,{get(){return this.Pb[s]}}),!this.Pb.includes(t)&&(this.Pb.push(t),this.dispatchEvent(new D("add",{detail:t,trigger:e})))}[Gt](t,e){const s=this.Pb.indexOf(t);s>=0&&(this[Be]?.(t,e),this.Pb.splice(s,1),this.dispatchEvent(new D("remove",{detail:t,trigger:e})))}[Qt](t){for(const e of[...this.Pb])this[Gt](e,t);this.Pb=[],this[De](!1,t),this[Ze]?.()}[De](t,e){this[xt]!==t&&(this[xt]=t,this.dispatchEvent(new D("readonly-change",{detail:t,trigger:e})))}}const yt=Symbol(0);class cs extends ds{get selected(){return this.Pb.find(t=>t.selected)??null}get selectedIndex(){return this.Pb.findIndex(t=>t.selected)}[Be](t,e){this[Yt](t,!1,e)}[Lt](t,e){t[yt]=!1,Object.defineProperty(t,"selected",{get(){return this[yt]},set:s=>{this.readonly||(this[Oe]?.(),this[Yt](t,s))}}),super[Lt](t,e)}[Yt](t,e,s){if(e===t[yt])return;const i=this.selected;t[yt]=e,(e?i!==t:i===t)&&(i&&(i[yt]=!1),this.dispatchEvent(new D("change",{detail:{prev:i,current:this.selected},trigger:s})))}}class _i extends cs{constructor(){super(...arguments),this.Pa=!1,this.switch="current"}get auto(){return this.Pa||this.readonly}[Oe](){this[Pt](!1)}[Ze](t){this[Pt](!1,t)}autoSelect(t){this.readonly||this.Pa||!this[We]||(this[We](),this[Pt](!0,t))}[Pt](t,e){this.Pa!==t&&(this.Pa=t,this.dispatchEvent(new D("auto-change",{detail:t,trigger:e})))}}class Bi extends N{constructor(t,e){super(t),this.Ra=e}async onAttach(t){const e=this.$props.load();if(e==="eager")requestAnimationFrame(this.Ra);else if(e==="idle"){const{waitIdlePeriod:s}=await import("./prod/maverick.js").then(function(i){return i.a9});s(this.Ra)}else if(e==="visible"){const s=new IntersectionObserver(i=>{i[0].isIntersecting&&(s.disconnect(),this.Ra())});return s.observe(t),s.disconnect.bind(s)}}}class Di{constructor(t,e){this.H=t,this.d=e}j(t,...e){this.H(new D(t,e?.[0]))}async Ta(t,e){const{$store:s,logger:i}=this.d;c(s.canPlay)||(this.j("can-play",{detail:t,trigger:e}),X(),s.canPlay()&&s.autoplay()&&!s.started()&&await this.Sa())}async Sa(){const{player:t,$store:e}=this.d;e.autoplaying.set(!0);try{await t.play(),this.j("autoplay",{detail:{muted:e.muted()}})}catch(s){this.j("autoplay-fail",{detail:{muted:e.muted(),error:s}})}finally{e.autoplaying.set(!1)}}}class Zi{constructor(){this.va=new Map}n(t,e){this.va.has(t)||this.va.set(t,new Set),this.va.get(t).add(e)}Aa(t,e){const s=this.va.get(t);if(s)for(const i of s)e(i);this.va.delete(t)}Kb(t){this.va.delete(t)}Ba(t){return this.va.get(t)?.size??0}Ea(){this.va.clear()}}class Oi extends N{constructor(){super(...arguments),this.Uf=-2,this.Sf=2e3,this.Vf=!1,this.Tf=null}get idling(){return this.$store.userIdle()}get idleDelay(){return this.Sf}set idleDelay(t){this.Sf=t}idle(t,e=this.Sf,s){this.Wf(),this.Vf||this.Xf(t,e,s)}pauseIdleTracking(t,e){this.Vf=t,t&&(this.Wf(),this.Xf(!1,0,e))}onConnect(){h(this.w.bind(this)),g(this.el,"play",this.Zf.bind(this)),g(this.el,"pause",this._f.bind(this))}w(){if(this.$store.paused())return;const t=this.$f.bind(this);for(const e of["pointerup","keydown"])g(this.el,e,t);h(()=>{this.$store.touchPointer()||g(this.el,"pointermove",t)})}Zf(t){this.idle(!0,this.Sf,t)}_f(t){this.idle(!1,0,t)}Wf(){window.clearTimeout(this.Uf),this.Uf=-1}$f(t){t.MEDIA_GESTURE||(et(t)&&(t.key==="Escape"?(this.el?.focus(),this.Tf=null):this.Tf&&(t.preventDefault(),requestAnimationFrame(()=>{this.Tf?.focus(),this.Tf=null}))),this.idle(!1,0,t),this.idle(!0,this.Sf,t))}Xf(t,e,s){if(e===0){this.Yf(t,s);return}this.Uf=window.setTimeout(()=>{this.Yf(t&&!this.Vf,s)},e)}Yf(t,e){this.$store.userIdle()!==t&&(this.$store.userIdle.set(t),t&&document.activeElement&&this.el?.contains(document.activeElement)&&(this.Tf=document.activeElement,requestAnimationFrame(()=>this.el?.focus())),this.dispatch("user-idle-change",{detail:t,trigger:e}))}}class Wi{constructor(){this.Na=!1,this.jb=!1,this.pb=!1,this.va=new Zi}}class ji extends N{constructor(t,e,s,i){super(t),this.o=e,this.gb=s,this.d=i,this.Db=!1,this.db=i.$store,this.k=i.$provider,this.K=new Oi(t),this.Bb=new Pi(t),this.Cb=new es(t)}onConnect(){h(this.Gb.bind(this)),h(this.Hb.bind(this)),h(this.Ib.bind(this));const t=Object.getOwnPropertyNames(Object.getPrototypeOf(this)),e=this.Jb.bind(this);for(const s of t)s.startsWith("media-")&&this.listen(s,e);this.listen("fullscreen-change",this.ea.bind(this))}Jb(t){t.stopPropagation(),c(this.k)&&this[t.type]?.(t)}async G(){const{canPlay:t,paused:e,ended:s,autoplaying:i,seekableStart:n}=this.db;if(c(e))try{const a=c(this.k);return re(a,c(t)),c(s)&&(a.currentTime=n()+.1),a.play()}catch(a){const o=this.createEvent("play-fail",{detail:St(a)});throw o.autoplay=i(),this.o.H(o),a}}async F(){const{canPlay:t,paused:e}=this.db;if(c(e))return;const s=c(this.k);return re(s,c(t)),s.pause()}P(){const{canPlay:t,live:e,liveEdge:s,canSeek:i,liveSyncPosition:n,seekableEnd:a,userBehindLiveEdge:o}=this.db;if(o.set(!1),c(()=>!e()||s()||!i()))return;const l=c(this.k);re(l,c(t)),l.currentTime=n()??a()-2}async L(t="prefer-media"){const e=c(this.k),s=t==="prefer-media"&&this.Bb.supported||t==="media"?this.Bb:e?.fullscreen;if(us(t,s),!s.active)return c(this.db.pictureInPicture)&&(this.Db=!0,await this.O()),s.enter()}async M(t="prefer-media"){const e=c(this.k),s=t==="prefer-media"&&this.Bb.supported||t==="media"?this.Bb:e?.fullscreen;if(us(t,s),!!s.active){this.Cb.locked&&await this.Cb.unlock();try{const i=await s.exit();return this.Db&&c(this.db.canPictureInPicture)&&await this.N(),i}finally{this.Db=!1}}}async N(){if(this.Eb(),!this.db.pictureInPicture())return await this.k().pictureInPicture.enter()}async O(){if(this.Eb(),!!this.db.pictureInPicture())return await this.k().pictureInPicture.exit()}Eb(){if(!this.db.canPictureInPicture())throw Error("[vidstack] no pip support")}Gb(){this.K.idleDelay=this.$props.userIdleDelay()}Hb(){const{canLoad:t,canFullscreen:e}=this.db,s=this.Bb.supported||this.k()?.fullscreen?.supported||!1;t()&&c(e)===s||e.set(s)}Ib(){const{canLoad:t,canPictureInPicture:e}=this.db,s=this.k()?.pictureInPicture?.supported||!1;t()&&c(e)===s||e.set(s)}"media-audio-track-change-request"(t){if(this.d.audioTracks.readonly)return;const e=t.detail,s=this.d.audioTracks[e];s&&(this.gb.va.n("audioTrack",t),s.selected=!0)}async"media-enter-fullscreen-request"(t){try{this.gb.va.n("fullscreen",t),await this.L(t.detail)}catch(e){this.fa(e)}}async"media-exit-fullscreen-request"(t){try{this.gb.va.n("fullscreen",t),await this.M(t.detail)}catch(e){this.fa(e)}}async ea(t){if(t.detail)try{const e=c(this.$props.fullscreenOrientation);this.Cb.supported&&!wt(e)&&await this.Cb.lock(e)}catch{}}fa(t){this.o.H(this.createEvent("fullscreen-error",{detail:St(t)}))}async"media-enter-pip-request"(t){try{this.gb.va.n("pip",t),await this.N()}catch(e){this.Fb(e)}}async"media-exit-pip-request"(t){try{this.gb.va.n("pip",t),await this.O()}catch(e){this.Fb(e)}}Fb(t){this.o.H(this.createEvent("picture-in-picture-error",{detail:St(t)}))}"media-live-edge-request"(t){const{live:e,liveEdge:s,canSeek:i}=this.db;if(!(!e()||s()||!i())){this.gb.va.n("seeked",t);try{this.P()}catch{}}}"media-loop-request"(){window.requestAnimationFrame(async()=>{try{this.gb.jb=!0,this.gb.pb=!0,await this.G()}catch{this.gb.jb=!1,this.gb.pb=!1}})}async"media-pause-request"(t){if(!this.db.paused())try{this.gb.va.n("pause",t),await this.k().pause()}catch{this.gb.va.Kb("pause")}}async"media-play-request"(t){if(this.db.paused())try{this.gb.va.n("play",t),await this.k().play()}catch(e){const s=this.createEvent("play-fail",{detail:St(e)});this.o.H(s)}}"media-rate-change-request"(t){this.db.playbackRate()!==t.detail&&(this.gb.va.n("rate",t),this.k().playbackRate=t.detail)}"media-quality-change-request"(t){if(this.d.qualities.readonly)return;this.gb.va.n("quality",t);const e=t.detail;if(e<0)this.d.qualities.autoSelect(t);else{const s=this.d.qualities[e];s&&(s.selected=!0)}}"media-resume-user-idle-request"(t){this.gb.va.n("userIdle",t),this.K.pauseIdleTracking(!1,t)}"media-pause-user-idle-request"(t){this.gb.va.n("userIdle",t),this.K.pauseIdleTracking(!0,t)}"media-seek-request"(t){const{seekableStart:e,seekableEnd:s,ended:i,canSeek:n,live:a,userBehindLiveEdge:o}=this.db;i()&&(this.gb.pb=!0),this.gb.Na=!1,this.gb.va.Kb("seeking");const l=Math.min(Math.max(e()+.1,t.detail),s()-.1);!Number.isFinite(l)||!n()||(this.gb.va.n("seeked",t),this.k().currentTime=l,a()&&t.isOriginTrusted&&Math.abs(s()-l)>=2&&o.set(!0))}"media-seeking-request"(t){this.gb.va.n("seeking",t),this.db.seeking.set(!0),this.gb.Na=!0}"media-start-loading"(t){this.db.canLoad()||(this.gb.va.n("load",t),this.o.H(this.createEvent("can-load")))}"media-text-track-change-request"(t){const{index:e,mode:s}=t.detail,i=this.d.textTracks[e];i&&(this.gb.va.n("textTrack",t),i.setMode(s,t))}"media-mute-request"(t){this.db.muted()||(this.gb.va.n("volume",t),this.k().muted=!0)}"media-unmute-request"(t){const{muted:e,volume:s}=this.db;e()&&(this.gb.va.n("volume",t),this.d.$provider().muted=!1,s()===0&&(this.gb.va.n("volume",t),this.k().volume=.25))}"media-volume-change-request"(t){const{muted:e,volume:s}=this.db,i=t.detail;s()!==i&&(this.gb.va.n("volume",t),this.k().volume=i,i>0&&e()&&(this.gb.va.n("volume",t),this.k().muted=!1))}}function re(r,t){if(!(r&&t))throw Error("[vidstack] media not ready")}function us(r,t){if(!t?.supported)throw Error("[vidstack] no fullscreen support")}var Ui=Ki;function Ki(r,t,e){var s=null,i=null,n=function(){s&&(clearTimeout(s),i=null,s=null)},a=function(){var l=i;n(),l&&l()},o=function(){if(!t)return r.apply(this,arguments);var l=this,C=arguments,L=e&&!s;if(n(),i=function(){r.apply(l,C)},s=setTimeout(function(){if(s=null,!L){var w=i;return i=null,w()}},t),L)return i()};return o.cancel=n,o.flush=a,o}var Vt=zi;function zi(r,t,e){var s=null,i=null,n=e&&e.leading,a=e&&e.trailing;n==null&&(n=!0),a==null&&(a=!n),n==!0&&(a=!1);var o=function(){s&&(clearTimeout(s),s=null)},l=function(){var L=i;o(),L&&L()},C=function(){var L=n&&!s,w=this,mt=arguments;if(i=function(){return r.apply(w,mt)},s||(s=setTimeout(function(){if(s=null,a)return i()},t)),L)return L=!1,i()};return C.cancel=o,C.flush=l,C}const Xi=new Set(["autoplay","autoplay-fail","can-load","sources-change","source-change","load-start","abort","error","loaded-metadata","loaded-data","can-play","play","play-fail","pause","playing","seeking","seeked","waiting"]);class Gi extends N{constructor(t,e,s){super(t),this.gb=e,this.d=s,this.eb=new Map,this.nb=!0,this.kb=!1,this.seeking=Vt(i=>{const{seeking:n,currentTime:a,paused:o}=this.db;n.set(!0),a.set(i.detail),this.fb("seeking",i),o()&&(this.ib=i,this.lb())},150,{leading:!0}),this.lb=Ui(()=>{if(!this.ib)return;this.kb=!0;const{waiting:i,playing:n}=this.db;i.set(!0),n.set(!1);const a=this.createEvent("waiting",{trigger:this.ib});this.eb.set("waiting",a),this.el.dispatchEvent(a),this.ib=void 0,this.kb=!1},300),this.db=s.$store}onAttach(t){t.setAttribute("aria-busy","true")}onConnect(t){this.ub(),this.vb(),this.wb(),this.listen("fullscreen-change",this["fullscreen-change"].bind(this)),this.listen("fullscreen-error",this["fullscreen-error"].bind(this))}H(t){const e=t.type;this[t.type]?.(t),Xi.has(e)&&this.eb.set(e,t),this.el?.dispatchEvent(t)}hb(){this.ob(),this.gb.pb=!1,this.gb.jb=!1,this.kb=!1,this.ib=void 0,this.eb.clear()}fb(t,e){this.gb.va.Aa(t,s=>{e.request=s,x(e,s)})}ub(){this.mb(),this.qb();const t=this.d.textTracks;g(t,"add",this.mb.bind(this)),g(t,"remove",this.mb.bind(this)),g(t,"mode-change",this.qb.bind(this))}vb(){const t=this.d.qualities;g(t,"add",this.rb.bind(this)),g(t,"remove",this.rb.bind(this)),g(t,"change",this.xb.bind(this)),g(t,"auto-change",this.yb.bind(this)),g(t,"readonly-change",this.zb.bind(this))}wb(){const t=this.d.audioTracks;g(t,"add",this.sb.bind(this)),g(t,"remove",this.sb.bind(this)),g(t,"change",this.Ab.bind(this))}mb(t){const{textTracks:e}=this.db;e.set(this.d.textTracks.toArray()),this.dispatch("text-tracks-change",{detail:e(),trigger:t})}qb(t){t&&this.fb("textTrack",t);const e=this.d.textTracks.selected,{textTrack:s}=this.db;s()!==e&&(s.set(e),this.dispatch("text-track-change",{detail:e,trigger:t}))}sb(t){const{audioTracks:e}=this.db;e.set(this.d.audioTracks.toArray()),this.dispatch("audio-tracks-change",{detail:e(),trigger:t})}Ab(t){const{audioTrack:e}=this.db;e.set(this.d.audioTracks.selected),this.fb("audioTrack",t),this.dispatch("audio-track-change",{detail:e(),trigger:t})}rb(t){const{qualities:e}=this.db;e.set(this.d.qualities.toArray()),this.dispatch("qualities-change",{detail:e(),trigger:t})}xb(t){const{quality:e}=this.db;e.set(this.d.qualities.selected),this.fb("quality",t),this.dispatch("quality-change",{detail:e(),trigger:t})}yb(){this.db.autoQuality.set(this.d.qualities.auto)}zb(){this.db.canSetQuality.set(!this.d.qualities.readonly)}"provider-change"(t){this.d.$provider.set(t.detail)}autoplay(t){x(t,this.eb.get("play")),x(t,this.eb.get("can-play")),this.db.autoplayError.set(void 0)}"autoplay-fail"(t){x(t,this.eb.get("play-fail")),x(t,this.eb.get("can-play")),this.db.autoplayError.set(t.detail),this.hb()}"can-load"(t){this.db.canLoad.set(!0),this.eb.set("can-load",t),this.fb("load",t),this.d.textTracks[Et]()}"media-type-change"(t){x(t,this.eb.get("source-change"));const e=this.db.viewType();this.db.mediaType.set(t.detail),e!==this.db.viewType()&&setTimeout(()=>this.dispatch("view-type-change",{detail:this.db.viewType(),trigger:t}),0)}"stream-type-change"(t){const{streamType:e,inferredStreamType:s}=this.db;x(t,this.eb.get("source-change")),s.set(t.detail),t.detail=e()}"rate-change"(t){this.db.playbackRate.set(t.detail),this.fb("rate",t)}"sources-change"(t){this.db.sources.set(t.detail)}"source-change"(t){if(x(t,this.eb.get("sources-change")),this.db.source.set(t.detail),this.el?.setAttribute("aria-busy","true"),this.nb){this.nb=!1;return}this.d.audioTracks[Qt](t),this.d.qualities[Qt](t),this.hb(),Ni(this.d.$store),this.eb.set(t.type,t)}abort(t){x(t,this.eb.get("source-change")),x(t,this.eb.get("can-load"))}"load-start"(t){x(t,this.eb.get("source-change"))}error(t){this.db.error.set(t.detail),x(t,this.eb.get("abort"))}"loaded-metadata"(t){x(t,this.eb.get("load-start"))}"loaded-data"(t){x(t,this.eb.get("load-start"))}"can-play"(t){t.trigger?.type!=="loadedmetadata"&&x(t,this.eb.get("loaded-metadata")),this.tb(t.detail),this.el?.setAttribute("aria-busy","false")}"can-play-through"(t){this.tb(t.detail),x(t,this.eb.get("can-play"))}tb(t){const{seekable:e,seekableEnd:s,buffered:i,duration:n,canPlay:a}=this.db;e.set(t.seekable),i.set(t.buffered),n.set(s),a.set(!0)}"duration-change"(t){const{live:e,duration:s}=this.db,i=t.detail;e()||s.set(Number.isNaN(i)?0:i)}progress(t){const{buffered:e,seekable:s,live:i,duration:n,seekableEnd:a}=this.db,o=t.detail;e.set(o.buffered),s.set(o.seekable),i()&&(n.set(a),this.dispatch("duration-change",{detail:a(),trigger:t}))}play(t){const{paused:e,autoplayError:s,ended:i,autoplaying:n}=this.db;if(t.autoplay=n(),this.gb.jb||!e()){t.stopImmediatePropagation();return}x(t,this.eb.get("waiting")),this.fb("play",t),e.set(!1),s.set(void 0),(i()||this.gb.pb)&&(this.gb.pb=!1,i.set(!1),this.H(this.createEvent("replay",{trigger:t})))}"play-fail"(t){x(t,this.eb.get("play")),this.fb("play",t);const{paused:e,playing:s}=this.db;e.set(!0),s.set(!1),this.hb()}playing(t){const e=this.eb.get("play");e?(x(t,this.eb.get("waiting")),x(t,e)):x(t,this.eb.get("seeked")),setTimeout(()=>this.hb(),0);const{paused:s,playing:i,seeking:n,ended:a}=this.db;if(s.set(!1),i.set(!0),n.set(!1),a.set(!1),this.gb.jb){t.stopImmediatePropagation(),this.gb.jb=!1;return}this.started(t)}started(t){const{started:e,live:s,liveSyncPosition:i,seekableEnd:n}=this.db;if(!e()){if(s()){const a=i()??n()-2;Number.isFinite(a)&&(this.d.$provider().currentTime=a)}e.set(!0),this.H(this.createEvent("started",{trigger:t}))}}pause(t){if(this.gb.jb){t.stopImmediatePropagation();return}x(t,this.eb.get("seeked")),this.fb("pause",t);const{paused:e,playing:s,seeking:i}=this.db;e.set(!0),s.set(!1),i.set(!1),this.hb()}"time-update"(t){const{currentTime:e,played:s,waiting:i}=this.db,n=t.detail;e.set(n.currentTime),s.set(n.played),i.set(!1);for(const a of this.d.textTracks)a[di](n.currentTime,t)}"volume-change"(t){const{volume:e,muted:s}=this.db,i=t.detail;e.set(i.volume),s.set(i.muted||i.volume===0),this.fb("volume",t)}seeked(t){const{seeking:e,currentTime:s,paused:i,duration:n,ended:a}=this.db;if(this.gb.Na)e.set(!0),t.stopImmediatePropagation();else if(e()){const o=this.eb.get("waiting");x(t,o),o?.trigger?.type!=="seeking"&&x(t,this.eb.get("seeking")),i()&&this.ob(),e.set(!1),t.detail!==n()&&a.set(!1),s.set(t.detail),this.fb("seeked",t);const l=t.originEvent;l&&l.isTrusted&&!/seek/.test(l.type)&&this.started(t)}}waiting(t){this.kb||this.gb.Na||(t.stopImmediatePropagation(),this.ib=t,this.lb())}ended(t){if(this.gb.jb){t.stopImmediatePropagation();return}const{paused:e,playing:s,seeking:i,ended:n}=this.db;e.set(!0),s.set(!1),i.set(!1),n.set(!0),this.hb()}ob(){this.lb.cancel(),this.db.waiting.set(!1)}"fullscreen-change"(t){this.db.fullscreen.set(t.detail),this.fb("fullscreen",t)}"fullscreen-error"(t){this.fb("fullscreen",t)}"picture-in-picture-change"(t){this.db.pictureInPicture.set(t.detail),this.fb("pip",t)}"picture-in-picture-error"(t){this.fb("pip",t)}}class Qi extends N{onAttach(t){h(this.Ua.bind(this)),h(this.Va.bind(this)),h(this.Wa.bind(this)),h(this.Xa.bind(this)),h(this.Ya.bind(this)),h(this.Za.bind(this)),h(this._a.bind(this)),h(this.$a.bind(this)),h(this.ab.bind(this)),h(this.bb.bind(this))}cb(){}Ua(){const t=this.$props.autoplay();this.$store.autoplay.set(t),this.dispatch("autoplay-change",{detail:t})}Wa(){const t=this.$props.loop();this.$store.loop.set(t),this.dispatch("loop-change",{detail:t})}Xa(){const t=this.$props.controls();this.$store.controls.set(t),this.dispatch("controls-change",{detail:t})}Va(){const t=this.$props.poster();this.$store.poster.set(t),this.dispatch("poster-change",{detail:t})}Ya(){this.$store.crossorigin.set(this.$props.crossorigin())}Za(){const t=this.$props.playsinline();this.$store.playsinline.set(t),this.dispatch("playsinline-change",{detail:t})}$a(){this.dispatch("live-change",{detail:this.$store.live()})}_a(){this.$store.liveEdgeTolerance.set(this.$props.liveEdgeTolerance()),this.$store.minLiveDVRWindow.set(this.$props.minLiveDVRWindow())}ab(){this.dispatch("live-edge-change",{detail:this.$store.liveEdge()})}bb(){this.$store.thumbnails.set(this.$props.thumbnails())}}class Yi{constructor(t){this.ga=t,this.ha=null,this.Mb=null,this.Nb=-1}setTarget(t){this.ha=t}getPlayer(t){return this.Mb?this.Mb:((t??this.ha)?.dispatchEvent(new D("find-media-player",{detail:e=>void(this.Mb=e),bubbles:!0,composed:!0})),this.Mb)}setPlayer(t){this.Mb=t}startLoading(t){this.Lb("media-start-loading",t)}play(t){this.Lb("media-play-request",t)}pause(t){this.Lb("media-pause-request",t)}mute(t){this.Lb("media-mute-request",t)}unmute(t){this.Lb("media-unmute-request",t)}enterFullscreen(t,e){this.Lb("media-enter-fullscreen-request",e,t)}exitFullscreen(t,e){this.Lb("media-exit-fullscreen-request",e,t)}enterPictureInPicture(t){this.Lb("media-enter-pip-request",t)}exitPictureInPicture(t){this.Lb("media-exit-pip-request",t)}seeking(t,e){this.Lb("media-seeking-request",e,t)}seek(t,e){this.Lb("media-seek-request",e,t)}seekToLiveEdge(t){this.Lb("media-live-edge-request",t)}changeVolume(t,e){this.Lb("media-volume-change-request",e,Math.max(0,Math.min(1,t)))}changeAudioTrack(t,e){this.Lb("media-audio-track-change-request",e,t)}changeQuality(t,e){this.Lb("media-quality-change-request",e,t)}changeTextTrackMode(t,e,s){this.Lb("media-text-track-change-request",s,{index:t,mode:e})}changePlaybackRate(t,e){this.Lb("media-rate-change-request",e,t)}resumeUserIdle(t){this.Lb("media-resume-user-idle-request",t)}pauseUserIdle(t){this.Lb("media-pause-user-idle-request",t)}togglePaused(t){const e=this.getPlayer(t?.target);e&&(e.state.paused?this.play(t):this.pause(t))}toggleUserIdle(t){const e=this.getPlayer(t?.target);e&&e.user.idle(!e.user.idling,0,t)}toggleMuted(t){const e=this.getPlayer(t?.target);e&&(e.state.muted?this.unmute(t):this.mute(t))}toggleFullscreen(t,e){const s=this.getPlayer(e?.target);s&&(s.state.fullscreen?this.exitFullscreen(t,e):this.enterFullscreen(t,e))}togglePictureInPicture(t){const e=this.getPlayer(t?.target);e&&(e.state.pictureInPicture?this.exitPictureInPicture(t):this.enterPictureInPicture(t))}toggleCaptions(t){const e=this.getPlayer(t?.target);if(!e)return;const s=e.state.textTracks,i=e.state.textTrack;if(i){const n=s.indexOf(i);this.changeTextTrackMode(n,"disabled",t),this.Nb=n}else{let n=this.Nb;(!s[n]||!q(s[n]))&&(n=-1),n===-1&&(n=s.findIndex(a=>q(a)&&a.default)),n===-1&&(n=s.findIndex(a=>q(a))),n>=0&&this.changeTextTrackMode(n,"showing",t),this.Nb=-1}}Lb(t,e,s){const i=new D(t,{bubbles:!0,composed:!0,detail:s,trigger:e});(e?.target&&(e.target===document||e.target===window||e.target===document.body||this.Mb&&!this.Mb.contains(e.target))?this.ha??this.getPlayer():e?.target??this.ha)?.dispatchEvent(i)}Ob(t){}}class Ji extends N{onConnect(){this.d=T(),h(this.Qb.bind(this))}Qb(){const{canLoad:t,thumbnailCues:e}=this.d.$store;if(!t())return;const s=new AbortController,{crossorigin:i,thumbnails:n}=this.d.$store,a=n();if(a)return import("./prod/captions/prod.js").then(({parseResponse:o})=>{o(fetch(a,{signal:s.signal,credentials:Re(i())})).then(({cues:l})=>e.set(l)).catch(Qs)}),()=>{s.abort(),e.set([])}}}class tr extends cs{getById(t){return t===""?null:this.Pb.find(e=>e.id===t)??null}}class er{constructor(){this.priority=0,this.bg=!0,this.Vb=null,this.ed=null,this.ag=new Set}canRender(){return!0}attach(t){this.Vb=t,t.textTracks.onchange=this.$c.bind(this)}addTrack(t){this.ag.add(t),this.dg(t)}removeTrack(t){t[ft]?.remove?.(),t[ft]=null,this.ag.delete(t)}changeTrack(t){const e=t?.[ft];e&&e.track.mode!=="showing"&&(e.track.mode="showing"),this.ed=t}setDisplay(t){this.bg=t,this.$c()}detach(){this.Vb&&(this.Vb.textTracks.onchange=null);for(const t of this.ag)this.removeTrack(t);this.ag.clear(),this.Vb=null,this.ed=null}dg(t){var e;if(!this.Vb)return;const s=t[e=ft]??(t[e]=this.eg(t));s instanceof HTMLElement&&(this.Vb.append(s),s.track.mode=s.default?"showing":"hidden")}eg(t){const e=document.createElement("track"),s=t.default||t.mode==="showing",i=t.src&&t.type==="vtt";return e.id=t.id,e.src=i?t.src:"https://cdn.jsdelivr.net/npm/vidstack@0.6.12/empty.vtt",e.label=t.label,e.kind=t.kind,e.default=s,t.language&&(e.srclang=t.language),s&&!i&&this.cg(t,e.track),e}cg(t,e){if(!(t.src&&t.type==="vtt"||e.cues?.length))for(const s of t.cues)e.addCue(s)}$c(t){for(const e of this.ag){const s=e[ft]?.track;if(!s)continue;if(!this.bg){s.mode="disabled";continue}const i=s.mode==="showing";i&&this.cg(e,s),e.setMode(i?"showing":"disabled",t)}}}class sr{constructor(t){this.d=t,this.Vb=null,this.Ub=[],this.Wb=!1,this.Rb=null,this.Sb=null;const e=t.textTracks;this.Xb=e,h(this._b.bind(this)),tt(this.Yb.bind(this)),g(e,"add",this.$b.bind(this)),g(e,"remove",this.ac.bind(this)),g(e,"mode-change",this.Tb.bind(this))}_b(){const{$store:t,$iosControls:e}=this.d;this.Wb=t.controls()||e(),this.Tb()}add(t){this.Ub.push(t),this.Tb()}remove(t){t.detach(),this.Ub.splice(this.Ub.indexOf(t),1),this.Tb()}[ci](t){requestAnimationFrame(()=>{if(this.Vb=t,t){this.Rb=new er,this.Rb.attach(t);for(const e of this.Xb)this.Zb(e)}this.Tb()})}Zb(t){q(t)&&this.Rb?.addTrack(t)}bc(t){q(t)&&this.Rb?.removeTrack(t)}$b(t){this.Zb(t.detail)}ac(t){this.bc(t.detail)}Tb(){if(!this.Vb){this.Yb();return}const t=this.Xb.selected;if(this.Wb||t?.[ui]){this.Sb?.changeTrack(null),this.Rb.setDisplay(!0),this.Rb.changeTrack(t);return}if(this.Rb.setDisplay(!1),this.Rb.changeTrack(null),!t){this.Sb?.changeTrack(null);return}const e=this.Ub.sort((s,i)=>s.priority-i.priority).find(s=>s.canRender(t));this.Sb!==e&&(this.Sb?.detach(),e?.attach(this.Vb),this.Sb=e??null),e?.changeTrack(t)}Yb(){this.Rb?.detach(),this.Rb=null,this.Sb?.detach(),this.Sb=null}}class ir extends ds{constructor(){super(...arguments),this.hc=!1,this.oc={},this.pc=this.qc.bind(this)}get selected(){return this.Pb.find(t=>t.mode==="showing"&&q(t))??null}add(t,e){const s=t instanceof Xt,i=s?t:new Xt(t);return this.oc[t.kind]&&t.default&&delete t.default,i.addEventListener("mode-change",this.pc),this[Lt](i,e),i[Jt]=this[Jt],this.hc&&i[Et](),t.default&&(this.oc[t.kind]=i,i.mode="showing"),this}remove(t,e){if(this.Pb.includes(t))return t===this.oc[t.kind]&&delete this.oc[t.kind],t.mode="disabled",t[pi]=null,t.removeEventListener("mode-change",this.pc),this[Gt](t,e),this}clear(t){for(const e of this.Pb)this.remove(e,t);return this}getById(t){return this.Pb.find(e=>e.id===t)??null}getByKind(t){const e=Array.isArray(t)?t:[t];return this.Pb.filter(s=>e.includes(s.kind))}[Et](){if(!this.hc){for(const t of this.Pb)t[Et]();this.hc=!0}}qc(t){const e=t.detail;if(e.mode==="showing"){const s=q(e)?["captions","subtitles"]:[e.kind];for(const i of this.Pb)i.mode==="showing"&&i!=e&&s.includes(i.kind)&&(i.mode="disabled")}this.dispatchEvent(new D("mode-change",{detail:t.detail,trigger:t}))}}var rr=Object.defineProperty,nr=Object.getOwnPropertyDescriptor,E=(r,t,e,s)=>{for(var i=s>1?void 0:s?nr(t,e):t,n=r.length-1,a;n>=0;n--)(a=r[n])&&(i=(s?a(t,e,i):a(i))||i);return s&&i&&rr(t,e,i),i};class S extends P{constructor(t){super(t),this.m=new Ei,this.q(),new Qi(t);const e={player:null,scope:Le(),qualities:new _i,audioTracks:new tr,$provider:y(null),$props:this.$props,$store:this.$store};e.remote=new Yi(void 0),e.$iosControls=R(this.r.bind(this)),e.textTracks=new ir,e.textTracks[Jt]=this.$props.crossorigin,e.textRenderers=new sr(e),e.ariaKeys={},this.d=e,st(ze,e),this.orientation=new es(t),new G(t),new Ii(t,e),new Ji(t);const s=new Wi;this.o=new Gi(t,s,e),this.l=new ji(t,this.o,s,e),e.delegate=new Di(this.o.H.bind(this.o),e),new Bi(t,this.startLoading.bind(this))}get k(){return this.d.$provider()}onAttach(t){t.setAttribute("tabindex","0"),H(t,"role","region"),h(this.s.bind(this)),h(this.t.bind(this)),h(this.u.bind(this)),h(this.v.bind(this)),h(this.w.bind(this)),h(this.x.bind(this)),h(this.y.bind(this)),h(this.z.bind(this)),h(this.A.bind(this)),this.B(),this.C(),this.d.player=t,this.d.remote.setTarget(t),this.d.remote.setPlayer(t),g(t,"find-media-player",this.D.bind(this))}onConnect(t){gi&&v(t,"data-iphone","");const e=window.matchMedia("(pointer: coarse)");this.p(e),e.onchange=this.p.bind(this);const s=new ResizeObserver(this.h.bind(this));return s.observe(t),h(this.h.bind(this)),this.dispatch("media-player-connect",{detail:this.el,bubbles:!0,composed:!0}),()=>{s.disconnect(),e.onchange=null}}q(){const t={viewType:"providedViewType",streamType:"providedStreamType"};for(const e of Object.keys(this.$props))this.$store[t[e]??e]?.set(this.$props[e]());h(this.E.bind(this)),this.$store.muted.set(this.$props.muted()||this.$props.volume()===0)}s(){const{title:t}=this.$props,{live:e,viewType:s}=this.$store,i=e(),n=Ys(s()),a=n!=="Unknown"?`${i?"Live ":""}${n}`:i?"Live":"Media",o=t();o&&(this.el?.setAttribute("data-title",o),this.el?.removeAttribute("title"));const l=this.el?.getAttribute("data-title")||"";this.$store.title.set(l),v(this.el,"aria-label",l?`${a} - ${l}`:a+" Player")}t(){const t=this.orientation.landscape?"landscape":"portrait";this.$store.orientation.set(t),v(this.el,"data-orientation",t),this.h()}u(){this.$store.canPlay()&&this.k?this.m.I():this.m.J()}E(){this.$store.providedViewType.set(this.$props.viewType()),this.$store.providedStreamType.set(this.$props.streamType())}B(){const t={"aspect-ratio":this.$props.aspectRatio,"data-captions":()=>{const s=this.$store.textTrack();return!!s&&q(s)},"data-ios-controls":this.d.$iosControls},e={canPictureInPicture:"can-pip",pictureInPicture:"pip"};for(const s of Ai){const i="data-"+(e[s]??Js(s));t[i]=this.$store[s]}delete t.title,this.setAttributes(t)}C(){this.setCSSVars({"--media-aspect-ratio":()=>{const t=this.$props.aspectRatio();return t?+t.toFixed(4):null}})}D(t){t.detail(this.el)}h(){if(!this.el)return;const t=this.el.clientWidth,e=this.el.clientHeight,{smallBreakpointX:s,smallBreakpointY:i,largeBreakpointX:n,largeBreakpointY:a}=this.$props,o=t<s()?"sm":t<n()?"md":"lg",l=e<i()?"sm":e<a()?"md":"lg";this.$store.breakpointX.set(o),this.$store.breakpointY.set(l),v(this.el,"data-bp-x",o),v(this.el,"data-bp-y",l)}p(t){const e=t.matches;v(this.el,"data-touch",e),this.$store.touchPointer.set(e),this.h()}r(){return!Si()&&this.$store.mediaType()==="video"&&(this.$store.controls()&&!this.$props.playsinline()||this.$store.fullscreen())}get provider(){return this.k}get user(){return this.l.K}get qualities(){return this.d.qualities}get audioTracks(){return this.d.audioTracks}get textTracks(){return this.d.textTracks}get textRenderers(){return this.d.textRenderers}get paused(){return this.k?.paused??!0}set paused(t){t?this.m.n("paused",()=>this.l.F()):this.m.n("paused",()=>this.l.G())}w(){this.paused=this.$props.paused()}get muted(){return this.k?.muted??!1}set muted(t){this.m.n("muted",()=>this.k.muted=t)}v(){this.muted=this.$props.muted()}get currentTime(){return this.k?.currentTime??0}set currentTime(t){this.m.n("currentTime",()=>{const e=this.k;t!==e.currentTime&&c(()=>{const s=Math.min(Math.max(this.$store.seekableStart()+.1,t),this.$store.seekableEnd()-.1);Number.isFinite(s)&&(e.currentTime=s)})})}y(){this.currentTime=this.$props.currentTime()}get volume(){return this.k?.volume??1}set volume(t){this.m.n("volume",()=>this.k.volume=t)}x(){this.volume=te(0,this.$props.volume(),1)}get playsinline(){return this.k?.playsinline??!1}set playsinline(t){this.m.n("playsinline",()=>this.k.playsinline=t)}z(){this.playsinline=this.$props.playsinline()}get playbackRate(){return this.k?.playbackRate??1}set playbackRate(t){this.m.n("rate",()=>this.k.playbackRate=t)}A(){this.playbackRate=this.$props.playbackRate()}async play(){return this.l.G()}async pause(){return this.l.F()}async enterFullscreen(t){return this.l.L(t)}async exitFullscreen(t){return this.l.M(t)}enterPictureInPicture(){return this.l.N()}exitPictureInPicture(){return this.l.O()}seekToLiveEdge(){this.l.P()}startLoading(){this.d.delegate.j("can-load")}destroy(){this.dispatch("destroy")}}S.el=f({tagName:"media-player",props:Fi,store:hs}),E([V],S.prototype,"provider",1),E([V],S.prototype,"user",1),E([V],S.prototype,"orientation",2),E([V],S.prototype,"qualities",1),E([V],S.prototype,"audioTracks",1),E([V],S.prototype,"textTracks",1),E([V],S.prototype,"textRenderers",1),E([V],S.prototype,"paused",1),E([V],S.prototype,"muted",1),E([V],S.prototype,"currentTime",1),E([V],S.prototype,"volume",1),E([V],S.prototype,"playsinline",1),E([V],S.prototype,"playbackRate",1),E([j],S.prototype,"play",1),E([j],S.prototype,"pause",1),E([j],S.prototype,"enterFullscreen",1),E([j],S.prototype,"exitFullscreen",1),E([j],S.prototype,"enterPictureInPicture",1),E([j],S.prototype,"exitPictureInPicture",1),E([j],S.prototype,"seekToLiveEdge",1),E([j],S.prototype,"startLoading",1);const ar=b('<svg part="icon" fill="none" viewBox="0 0 120 120" aria-hidden="true"><circle part="track" cx="60" cy="60" r="54" stroke="currentColor"></circle><circle part="track-fill" cx="60" cy="60" r="54" stroke="currentColor" pathLength="100"></circle></svg>');class ps extends P{onAttach(){this.d=T(),this.setAttributes({"data-buffering":R(this.rc.bind(this))})}rc(){const{canPlay:t,waiting:e}=this.d.$store;return!t()||e()}render(){return m(ar)}}ps.el=f({tagName:"media-buffering-indicator"});var or='<path d="M8 28.0003C8 27.6321 8.29848 27.3336 8.66667 27.3336H23.3333C23.7015 27.3336 24 27.6321 24 28.0003V29.3336C24 29.7018 23.7015 30.0003 23.3333 30.0003H8.66667C8.29848 30.0003 8 29.7018 8 29.3336V28.0003Z" fill="currentColor"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M4.66602 6.66699C4.29783 6.66699 3.99935 6.96547 3.99935 7.33366V24.667C3.99935 25.0352 4.29783 25.3337 4.66602 25.3337H27.3327C27.7009 25.3337 27.9994 25.0352 27.9994 24.667V7.33366C27.9994 6.96547 27.7009 6.66699 27.3327 6.66699H4.66602ZM8.66659 21.3333C8.2984 21.3333 7.99992 21.0349 7.99992 20.6667V11.3333C7.99992 10.9651 8.2984 10.6667 8.66659 10.6667H13.9999C14.3681 10.6667 14.6666 10.9651 14.6666 11.3333V12.6667C14.6666 13.0349 14.3681 13.3333 13.9999 13.3333H10.7999C10.7263 13.3333 10.6666 13.393 10.6666 13.4667V18.5333C10.6666 18.607 10.7263 18.6667 10.7999 18.6667H13.9999C14.3681 18.6667 14.6666 18.9651 14.6666 19.3333V20.6667C14.6666 21.0349 14.3681 21.3333 13.9999 21.3333H8.66659ZM17.9999 21.3333C17.6317 21.3333 17.3333 21.0349 17.3333 20.6667V11.3333C17.3333 10.9651 17.6317 10.6667 17.9999 10.6