@broadcastingplatforms/player 0.0.0-dev.0c8c26d

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.
@@ -0,0 +1,2986 @@
1
+ /*!
2
+ * BP Player (v0.0.0-dev.0c8c26d)
3
+ * Universal video player web component
4
+ */
5
+ "use strict";var BPPlayer=(()=>{var $m=Object.create;var pr=Object.defineProperty;var su=Object.getOwnPropertyDescriptor;var Bm=Object.getOwnPropertyNames;var Vm=Object.getPrototypeOf,Wm=Object.prototype.hasOwnProperty;var lu=i=>{throw TypeError(i)};var Fm=(i,e,t)=>e in i?pr(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var du=(i=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(i,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):i)(function(i){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+i+'" is not supported')});var Km=(i,e)=>{for(var t in e)pr(i,t,{get:e[t],enumerable:!0})},cu=(i,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Bm(e))!Wm.call(i,o)&&o!==t&&pr(i,o,{get:()=>e[o],enumerable:!(r=su(e,o))||r.enumerable});return i};var qm=(i,e,t)=>(t=i!=null?$m(Vm(i)):{},cu(e||!i||!i.__esModule?pr(t,"default",{value:i,enumerable:!0}):t,i)),Gm=i=>cu(pr({},"__esModule",{value:!0}),i),N=(i,e,t,r)=>{for(var o=r>1?void 0:r?su(e,t):e,n=i.length-1,a;n>=0;n--)(a=i[n])&&(o=(r?a(e,t,o):a(o))||o);return r&&o&&pr(e,t,o),o};var $=(i,e,t)=>Fm(i,typeof e!="symbol"?e+"":e,t),wl=(i,e,t)=>e.has(i)||lu("Cannot "+t);var u=(i,e,t)=>(wl(i,e,"read from private field"),t?t.call(i):e.get(i)),S=(i,e,t)=>e.has(i)?lu("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(i):e.set(i,t),_=(i,e,t,r)=>(wl(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),O=(i,e,t)=>(wl(i,e,"access private method"),t);var zE={};Km(zE,{Attribute:()=>Yo,BPDefaultUI:()=>ee,BPErrorDisplay:()=>Ht,BPLiveError:()=>nt,BPLiveService:()=>fr,BPOverlay:()=>wt,BPPlayer:()=>Te,Hls:()=>Se.default,HlsVideo:()=>_i,HlsVideoElement:()=>Uc,LiveKitVideo:()=>Si,LiveKitVideoElement:()=>Bc,NANOPLAYER_NO_REPLAY_CODES:()=>Cu,NanoVideo:()=>Ai,NanoVideoElement:()=>Hc,PlayerCoreImpl:()=>qo,StateReceiverMixin:()=>Mu,StateReceiverProps:()=>Ri,addGlobalStyles:()=>gr,classifyLiveKitError:()=>ha,classifyNanoPlayerError:()=>ua,createInitialState:()=>Fo,createPlayerCore:()=>pa,createTemplate:()=>Du,forEachStateReceiverElement:()=>xi,isBPLiveClipSource:()=>Mi,isBPLiveSource:()=>Iu,isBPLiveStreamSource:()=>Ko,isStateReceiverElement:()=>ma,propagateStateToReceiver:()=>Go,removeStateFromReceiver:()=>zo,templateWithStyles:()=>Ou,toggleAttribute:()=>pe});var aa=globalThis,sa=aa.ShadowRoot&&(aa.ShadyCSS===void 0||aa.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Cl=Symbol(),uu=new WeakMap,Po=class{constructor(e,t,r){if(this._$cssResult$=!0,r!==Cl)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o,t=this.t;if(sa&&e===void 0){let r=t!==void 0&&t.length===1;r&&(e=uu.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),r&&uu.set(t,e))}return e}toString(){return this.cssText}},hu=i=>new Po(typeof i=="string"?i:i+"",void 0,Cl),Do=(i,...e)=>{let t=i.length===1?i[0]:e.reduce((r,o,n)=>r+(a=>{if(a._$cssResult$===!0)return a.cssText;if(typeof a=="number")return a;throw Error("Value passed to 'css' function must be a 'css' function result: "+a+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(o)+i[n+1],i[0]);return new Po(t,i,Cl)},pu=(i,e)=>{if(sa)i.adoptedStyleSheets=e.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(let t of e){let r=document.createElement("style"),o=aa.litNonce;o!==void 0&&r.setAttribute("nonce",o),r.textContent=t.cssText,i.appendChild(r)}},Il=sa?i=>i:i=>i instanceof CSSStyleSheet?(e=>{let t="";for(let r of e.cssRules)t+=r.cssText;return hu(t)})(i):i;var{is:zm,defineProperty:Ym,getOwnPropertyDescriptor:Qm,getOwnPropertyNames:Zm,getOwnPropertySymbols:Xm,getPrototypeOf:Jm}=Object,Kt=globalThis,mu=Kt.trustedTypes,jm=mu?mu.emptyScript:"",Ml=Kt.reactiveElementPolyfillSupport,Oo=(i,e)=>i,Uo={toAttribute(i,e){switch(e){case Boolean:i=i?jm:null;break;case Object:case Array:i=i==null?i:JSON.stringify(i)}return i},fromAttribute(i,e){let t=i;switch(e){case Boolean:t=i!==null;break;case Number:t=i===null?null:Number(i);break;case Object:case Array:try{t=JSON.parse(i)}catch{t=null}}return t}},la=(i,e)=>!zm(i,e),vu={attribute:!0,type:String,converter:Uo,reflect:!1,useDefault:!1,hasChanged:la};Symbol.metadata??(Symbol.metadata=Symbol("metadata")),Kt.litPropertyMetadata??(Kt.litPropertyMetadata=new WeakMap);var Rt=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??(this.l=[])).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=vu){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){let r=Symbol(),o=this.getPropertyDescriptor(e,r,t);o!==void 0&&Ym(this.prototype,e,o)}}static getPropertyDescriptor(e,t,r){let{get:o,set:n}=Qm(this.prototype,e)??{get(){return this[t]},set(a){this[t]=a}};return{get:o,set(a){let l=o==null?void 0:o.call(this);n==null||n.call(this,a),this.requestUpdate(e,l,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??vu}static _$Ei(){if(this.hasOwnProperty(Oo("elementProperties")))return;let e=Jm(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(Oo("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(Oo("properties"))){let t=this.properties,r=[...Zm(t),...Xm(t)];for(let o of r)this.createProperty(o,t[o])}let e=this[Symbol.metadata];if(e!==null){let t=litPropertyMetadata.get(e);if(t!==void 0)for(let[r,o]of t)this.elementProperties.set(r,o)}this._$Eh=new Map;for(let[t,r]of this.elementProperties){let o=this._$Eu(t,r);o!==void 0&&this._$Eh.set(o,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let t=[];if(Array.isArray(e)){let r=new Set(e.flat(1/0).reverse());for(let o of r)t.unshift(Il(o))}else e!==void 0&&t.push(Il(e));return t}static _$Eu(e,t){let r=t.attribute;return r===!1?void 0:typeof r=="string"?r:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){var e;this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),(e=this.constructor.l)==null||e.forEach(t=>t(this))}addController(e){var t;(this._$EO??(this._$EO=new Set)).add(e),this.renderRoot!==void 0&&this.isConnected&&((t=e.hostConnected)==null||t.call(e))}removeController(e){var t;(t=this._$EO)==null||t.delete(e)}_$E_(){let e=new Map,t=this.constructor.elementProperties;for(let r of t.keys())this.hasOwnProperty(r)&&(e.set(r,this[r]),delete this[r]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return pu(e,this.constructor.elementStyles),e}connectedCallback(){var e;this.renderRoot??(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(e=this._$EO)==null||e.forEach(t=>{var r;return(r=t.hostConnected)==null?void 0:r.call(t)})}enableUpdating(e){}disconnectedCallback(){var e;(e=this._$EO)==null||e.forEach(t=>{var r;return(r=t.hostDisconnected)==null?void 0:r.call(t)})}attributeChangedCallback(e,t,r){this._$AK(e,r)}_$ET(e,t){var n;let r=this.constructor.elementProperties.get(e),o=this.constructor._$Eu(e,r);if(o!==void 0&&r.reflect===!0){let a=(((n=r.converter)==null?void 0:n.toAttribute)!==void 0?r.converter:Uo).toAttribute(t,r.type);this._$Em=e,a==null?this.removeAttribute(o):this.setAttribute(o,a),this._$Em=null}}_$AK(e,t){var n,a;let r=this.constructor,o=r._$Eh.get(e);if(o!==void 0&&this._$Em!==o){let l=r.getPropertyOptions(o),c=typeof l.converter=="function"?{fromAttribute:l.converter}:((n=l.converter)==null?void 0:n.fromAttribute)!==void 0?l.converter:Uo;this._$Em=o;let v=c.fromAttribute(t,l.type);this[o]=v??((a=this._$Ej)==null?void 0:a.get(o))??v,this._$Em=null}}requestUpdate(e,t,r){var o;if(e!==void 0){let n=this.constructor,a=this[e];if(r??(r=n.getPropertyOptions(e)),!((r.hasChanged??la)(a,t)||r.useDefault&&r.reflect&&a===((o=this._$Ej)==null?void 0:o.get(e))&&!this.hasAttribute(n._$Eu(e,r))))return;this.C(e,t,r)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(e,t,{useDefault:r,reflect:o,wrapped:n},a){r&&!(this._$Ej??(this._$Ej=new Map)).has(e)&&(this._$Ej.set(e,a??t??this[e]),n!==!0||a!==void 0)||(this._$AL.has(e)||(this.hasUpdated||r||(t=void 0),this._$AL.set(e,t)),o===!0&&this._$Em!==e&&(this._$Eq??(this._$Eq=new Set)).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var r;if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??(this.renderRoot=this.createRenderRoot()),this._$Ep){for(let[n,a]of this._$Ep)this[n]=a;this._$Ep=void 0}let o=this.constructor.elementProperties;if(o.size>0)for(let[n,a]of o){let{wrapped:l}=a,c=this[n];l!==!0||this._$AL.has(n)||c===void 0||this.C(n,void 0,a,c)}}let e=!1,t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),(r=this._$EO)==null||r.forEach(o=>{var n;return(n=o.hostUpdate)==null?void 0:n.call(o)}),this.update(t)):this._$EM()}catch(o){throw e=!1,this._$EM(),o}e&&this._$AE(t)}willUpdate(e){}_$AE(e){var t;(t=this._$EO)==null||t.forEach(r=>{var o;return(o=r.hostUpdated)==null?void 0:o.call(r)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&(this._$Eq=this._$Eq.forEach(t=>this._$ET(t,this[t]))),this._$EM()}updated(e){}firstUpdated(e){}};Rt.elementStyles=[],Rt.shadowRootOptions={mode:"open"},Rt[Oo("elementProperties")]=new Map,Rt[Oo("finalized")]=new Map,Ml==null||Ml({ReactiveElement:Rt}),(Kt.reactiveElementVersions??(Kt.reactiveElementVersions=[])).push("2.1.1");var Ho=globalThis,da=Ho.trustedTypes,fu=da?da.createPolicy("lit-html",{createHTML:i=>i}):void 0,Tu="$lit$",qt=`lit$${Math.random().toFixed(9).slice(2)}$`,Au="?"+qt,ev=`<${Au}>`,wi=document,$o=()=>wi.createComment(""),Bo=i=>i===null||typeof i!="object"&&typeof i!="function",Hl=Array.isArray,tv=i=>Hl(i)||typeof(i==null?void 0:i[Symbol.iterator])=="function",Rl=`[
6
+ \f\r]`,No=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,gu=/-->/g,Eu=/>/g,ki=RegExp(`>|${Rl}(?:([^\\s"'>=/]+)(${Rl}*=${Rl}*(?:[^
7
+ \f\r"'\`<>=]|("|')|))|$)`,"g"),bu=/'/g,_u=/"/g,Su=/^(?:script|style|textarea|title)$/i,$l=i=>(e,...t)=>({_$litType$:i,strings:e,values:t}),We=$l(1),eb=$l(2),tb=$l(3),Ci=Symbol.for("lit-noChange"),fe=Symbol.for("lit-nothing"),yu=new WeakMap,Li=wi.createTreeWalker(wi,129);function ku(i,e){if(!Hl(i)||!i.hasOwnProperty("raw"))throw Error("invalid template strings array");return fu!==void 0?fu.createHTML(e):e}var iv=(i,e)=>{let t=i.length-1,r=[],o,n=e===2?"<svg>":e===3?"<math>":"",a=No;for(let l=0;l<t;l++){let c=i[l],v,h,p=-1,f=0;for(;f<c.length&&(a.lastIndex=f,h=a.exec(c),h!==null);)f=a.lastIndex,a===No?h[1]==="!--"?a=gu:h[1]!==void 0?a=Eu:h[2]!==void 0?(Su.test(h[2])&&(o=RegExp("</"+h[2],"g")),a=ki):h[3]!==void 0&&(a=ki):a===ki?h[0]===">"?(a=o??No,p=-1):h[1]===void 0?p=-2:(p=a.lastIndex-h[2].length,v=h[1],a=h[3]===void 0?ki:h[3]==='"'?_u:bu):a===_u||a===bu?a=ki:a===gu||a===Eu?a=No:(a=ki,o=void 0);let m=a===ki&&i[l+1].startsWith("/>")?" ":"";n+=a===No?c+ev:p>=0?(r.push(v),c.slice(0,p)+Tu+c.slice(p)+qt+m):c+qt+(p===-2?l:m)}return[ku(i,n+(i[t]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),r]},Vo=class i{constructor({strings:e,_$litType$:t},r){let o;this.parts=[];let n=0,a=0,l=e.length-1,c=this.parts,[v,h]=iv(e,t);if(this.el=i.createElement(v,r),Li.currentNode=this.el.content,t===2||t===3){let p=this.el.content.firstChild;p.replaceWith(...p.childNodes)}for(;(o=Li.nextNode())!==null&&c.length<l;){if(o.nodeType===1){if(o.hasAttributes())for(let p of o.getAttributeNames())if(p.endsWith(Tu)){let f=h[a++],m=o.getAttribute(p).split(qt),A=/([.?@])?(.*)/.exec(f);c.push({type:1,index:n,name:A[2],strings:m,ctor:A[1]==="."?Dl:A[1]==="?"?Ol:A[1]==="@"?Ul:vr}),o.removeAttribute(p)}else p.startsWith(qt)&&(c.push({type:6,index:n}),o.removeAttribute(p));if(Su.test(o.tagName)){let p=o.textContent.split(qt),f=p.length-1;if(f>0){o.textContent=da?da.emptyScript:"";for(let m=0;m<f;m++)o.append(p[m],$o()),Li.nextNode(),c.push({type:2,index:++n});o.append(p[f],$o())}}}else if(o.nodeType===8)if(o.data===Au)c.push({type:2,index:n});else{let p=-1;for(;(p=o.data.indexOf(qt,p+1))!==-1;)c.push({type:7,index:n}),p+=qt.length-1}n++}}static createElement(e,t){let r=wi.createElement("template");return r.innerHTML=e,r}};function mr(i,e,t=i,r){var a,l;if(e===Ci)return e;let o=r!==void 0?(a=t._$Co)==null?void 0:a[r]:t._$Cl,n=Bo(e)?void 0:e._$litDirective$;return(o==null?void 0:o.constructor)!==n&&((l=o==null?void 0:o._$AO)==null||l.call(o,!1),n===void 0?o=void 0:(o=new n(i),o._$AT(i,t,r)),r!==void 0?(t._$Co??(t._$Co=[]))[r]=o:t._$Cl=o),o!==void 0&&(e=mr(i,o._$AS(i,e.values),o,r)),e}var Pl=class{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){let{el:{content:t},parts:r}=this._$AD,o=((e==null?void 0:e.creationScope)??wi).importNode(t,!0);Li.currentNode=o;let n=Li.nextNode(),a=0,l=0,c=r[0];for(;c!==void 0;){if(a===c.index){let v;c.type===2?v=new Wo(n,n.nextSibling,this,e):c.type===1?v=new c.ctor(n,c.name,c.strings,this,e):c.type===6&&(v=new Nl(n,this,e)),this._$AV.push(v),c=r[++l]}a!==(c==null?void 0:c.index)&&(n=Li.nextNode(),a++)}return Li.currentNode=wi,o}p(e){let t=0;for(let r of this._$AV)r!==void 0&&(r.strings!==void 0?(r._$AI(e,r,t),t+=r.strings.length-2):r._$AI(e[t])),t++}},Wo=class i{get _$AU(){var e;return((e=this._$AM)==null?void 0:e._$AU)??this._$Cv}constructor(e,t,r,o){this.type=2,this._$AH=fe,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=r,this.options=o,this._$Cv=(o==null?void 0:o.isConnected)??!0}get parentNode(){let e=this._$AA.parentNode,t=this._$AM;return t!==void 0&&(e==null?void 0:e.nodeType)===11&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=mr(this,e,t),Bo(e)?e===fe||e==null||e===""?(this._$AH!==fe&&this._$AR(),this._$AH=fe):e!==this._$AH&&e!==Ci&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):tv(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==fe&&Bo(this._$AH)?this._$AA.nextSibling.data=e:this.T(wi.createTextNode(e)),this._$AH=e}$(e){var n;let{values:t,_$litType$:r}=e,o=typeof r=="number"?this._$AC(e):(r.el===void 0&&(r.el=Vo.createElement(ku(r.h,r.h[0]),this.options)),r);if(((n=this._$AH)==null?void 0:n._$AD)===o)this._$AH.p(t);else{let a=new Pl(o,this),l=a.u(this.options);a.p(t),this.T(l),this._$AH=a}}_$AC(e){let t=yu.get(e.strings);return t===void 0&&yu.set(e.strings,t=new Vo(e)),t}k(e){Hl(this._$AH)||(this._$AH=[],this._$AR());let t=this._$AH,r,o=0;for(let n of e)o===t.length?t.push(r=new i(this.O($o()),this.O($o()),this,this.options)):r=t[o],r._$AI(n),o++;o<t.length&&(this._$AR(r&&r._$AB.nextSibling,o),t.length=o)}_$AR(e=this._$AA.nextSibling,t){var r;for((r=this._$AP)==null?void 0:r.call(this,!1,!0,t);e!==this._$AB;){let o=e.nextSibling;e.remove(),e=o}}setConnected(e){var t;this._$AM===void 0&&(this._$Cv=e,(t=this._$AP)==null||t.call(this,e))}},vr=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,r,o,n){this.type=1,this._$AH=fe,this._$AN=void 0,this.element=e,this.name=t,this._$AM=o,this.options=n,r.length>2||r[0]!==""||r[1]!==""?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=fe}_$AI(e,t=this,r,o){let n=this.strings,a=!1;if(n===void 0)e=mr(this,e,t,0),a=!Bo(e)||e!==this._$AH&&e!==Ci,a&&(this._$AH=e);else{let l=e,c,v;for(e=n[0],c=0;c<n.length-1;c++)v=mr(this,l[r+c],t,c),v===Ci&&(v=this._$AH[c]),a||(a=!Bo(v)||v!==this._$AH[c]),v===fe?e=fe:e!==fe&&(e+=(v??"")+n[c+1]),this._$AH[c]=v}a&&!o&&this.j(e)}j(e){e===fe?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}},Dl=class extends vr{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===fe?void 0:e}},Ol=class extends vr{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==fe)}},Ul=class extends vr{constructor(e,t,r,o,n){super(e,t,r,o,n),this.type=5}_$AI(e,t=this){if((e=mr(this,e,t,0)??fe)===Ci)return;let r=this._$AH,o=e===fe&&r!==fe||e.capture!==r.capture||e.once!==r.once||e.passive!==r.passive,n=e!==fe&&(r===fe||o);o&&this.element.removeEventListener(this.name,this,r),n&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){var t;typeof this._$AH=="function"?this._$AH.call(((t=this.options)==null?void 0:t.host)??this.element,e):this._$AH.handleEvent(e)}},Nl=class{constructor(e,t,r){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(e){mr(this,e)}};var xl=Ho.litHtmlPolyfillSupport;xl==null||xl(Vo,Wo),(Ho.litHtmlVersions??(Ho.litHtmlVersions=[])).push("3.3.1");var Lu=(i,e,t)=>{let r=(t==null?void 0:t.renderBefore)??e,o=r._$litPart$;if(o===void 0){let n=(t==null?void 0:t.renderBefore)??null;r._$litPart$=o=new Wo(e.insertBefore($o(),n),n,void 0,t??{})}return o._$AI(i),o};var Ii=globalThis,Ce=class extends Rt{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t;let e=super.createRenderRoot();return(t=this.renderOptions).renderBefore??(t.renderBefore=e.firstChild),e}update(e){let t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=Lu(t,this.renderRoot,this.renderOptions)}connectedCallback(){var e;super.connectedCallback(),(e=this._$Do)==null||e.setConnected(!0)}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this._$Do)==null||e.setConnected(!1)}render(){return Ci}},wu;Ce._$litElement$=!0,Ce.finalized=!0,(wu=Ii.litElementHydrateSupport)==null||wu.call(Ii,{LitElement:Ce});var Bl=Ii.litElementPolyfillSupport;Bl==null||Bl({LitElement:Ce});(Ii.litElementVersions??(Ii.litElementVersions=[])).push("4.2.1");var Gt=i=>(e,t)=>{t!==void 0?t.addInitializer(()=>{customElements.define(i,e)}):customElements.define(i,e)};var rv={attribute:!0,type:String,converter:Uo,reflect:!1,hasChanged:la},ov=(i=rv,e,t)=>{let{kind:r,metadata:o}=t,n=globalThis.litPropertyMetadata.get(o);if(n===void 0&&globalThis.litPropertyMetadata.set(o,n=new Map),r==="setter"&&((i=Object.create(i)).wrapped=!0),n.set(t.name,i),r==="accessor"){let{name:a}=t;return{set(l){let c=e.get.call(this);e.set.call(this,l),this.requestUpdate(a,c,i)},init(l){return l!==void 0&&this.C(a,void 0,i,l),l}}}if(r==="setter"){let{name:a}=t;return function(l){let c=this[a];e.call(this,l),this.requestUpdate(a,c,i)}}throw Error("Unsupported decorator location: "+r)};function W(i){return(e,t)=>typeof t=="object"?ov(i,e,t):((r,o,n)=>{let a=o.hasOwnProperty(n);return o.constructor.createProperty(n,r),a?Object.getOwnPropertyDescriptor(o,n):void 0})(i,e,t)}function zt(i){return W({...i,state:!0,attribute:!1})}var Cu=[1005,1007,1008,1009,3001,3002,3003,3004,3005,3100,3101,3200,4003];function ua(i){return i===1005||i===1007||i===1009?"autoplay":i>=2001&&i<=2004?"offline":i>=3e3&&i<=3999?"media":i>=4900&&i<=4999?"security":i>=4e3&&i<=4899?"network":i>=5e3&&i<=5999?"setup":i>=1e3&&i<=1999?"media":"unknown"}function ha(i){return i===4e3||i===4001?"network":"unknown"}function Fo(){return{paused:!0,playing:!1,ended:!1,seeking:!1,waiting:!1,currentTime:0,duration:NaN,buffered:null,volume:1,muted:!1,loop:!1,playbackRate:1,readyState:0,videoWidth:0,videoHeight:0,qualities:[],currentQuality:null,targetQuality:null,fullscreen:!1,presentationMode:"inline",providerType:null,connectionState:"idle",streamType:"vod",contentType:"video",error:null}}function Ko(i){return typeof i=="object"&&i!==null&&"type"in i&&i.type==="bplive"&&"streamId"in i}function Mi(i){return typeof i=="object"&&i!==null&&"type"in i&&i.type==="bplive"&&"clipId"in i}function Iu(i){return Ko(i)||Mi(i)}var nt=class extends Error{constructor(t,r,o){super(t);this.code=r;this.status=o;this.name="BPLiveError"}},fr=class{constructor(e){this._authToken=null;this._stream=null;this._clip=null;this._config=e,this._authToken=e.authToken??null}get config(){return this._config}get authToken(){return this._authToken}get stream(){return this._stream}get clip(){return this._clip}async fetch(e){if(!this._authToken)throw new nt("No auth token provided. Ensure config.bpLive.authToken is set before loading a BPLive source.","AUTH_REQUIRED");let t=`${this._config.discoveryUrl}${e}`,r=await fetch(t,{method:"GET",headers:{"Content-Type":"application/json",Accept:"application/json",Authorization:`Bearer ${this._authToken}`}});if(!r.ok)throw new nt(`HTTP ${r.status}: ${r.statusText}`,"HTTP_ERROR",r.status);return r.json()}async getStream(e){return this.fetch(`/streams/${e}`)}async getClip(e){return this.fetch(`/clips/${e}`)}mapPlayerSourceToResolvedSource(e){if(e.provider==="livekit")return{type:"livekit",url:e.url,token:e.token,room:e.room};if(e.provider==="nanoplayer"){let{provider:t,...r}=e;return{type:"nano",source:r}}throw new nt(`Unknown player source provider: ${e.provider}`,"UNKNOWN_PROVIDER")}selectClipMedia(e,t="landscape"){let r=e.filter(l=>l.type==="clip");if(r.length===0)return null;let o=r.find(l=>l.orientation===t);if(o)return o;let n=t==="landscape"?"portrait":"landscape",a=r.find(l=>l.orientation===n);return a||r[0]}mapClipMediaToPlayerSource(e){return{type:"video",url:e.url}}async resolveSource(e){if(this._stream=null,this._clip=null,Ko(e))return this.resolveStreamSource(e);if(Mi(e))return this.resolveClipSource(e);throw new nt("Invalid BPLive source","INVALID_SOURCE")}extractStreamPoster(e){var t;return e.cover_photo??((t=e.channel)==null?void 0:t.cover_image)??void 0}async resolveStreamSource(e){var a,l,c,v,h;let r=(await this.getStream(e.streamId)).data;this._stream=r;let o=r.player_source??((a=r.active_stream)==null?void 0:a.player_source),n=this.extractStreamPoster(r);if(o)return{source:this.mapPlayerSourceToResolvedSource(o),contentType:"stream",poster:n};if(((c=(l=r.media)==null?void 0:l.vod)==null?void 0:c.length)>0){let p=r.media.vod[0];return{source:{type:"video",url:p.original},contentType:"video",poster:n??p.thumb??void 0,videoWidth:(v=p.dimension)==null?void 0:v.width,videoHeight:(h=p.dimension)==null?void 0:h.height}}throw new nt("Stream is not live and has no VOD content","STREAM_OFFLINE")}async resolveClipSource(e){let r=(await this.getClip(e.clipId)).data;this._clip=r;let o=this.selectClipMedia(r.media,e.preferredOrientation);if(!o)throw new nt("No playable media found in clip","NO_MEDIA");return{source:this.mapClipMediaToPlayerSource(o),contentType:"clip",poster:o.thumbnail??void 0,videoWidth:o.width,videoHeight:o.height}}destroy(){this._authToken=null,this._stream=null,this._clip=null}};function nv(i){if(typeof i=="string")return"video";switch(i.type){case"video":return"video";case"nano":return"nano";case"livekit":return"livekit";default:return"video"}}function av(i){return typeof i=="object"&&i!==null&&i.type==="bplive"}var sv=["loadstart","loadedmetadata","loadeddata","canplay","canplaythrough","play","playing","pause","waiting","seeking","seeked","timeupdate","durationchange","ratechange","volumechange","ended","progress","error","resize"],qo=class{constructor(){this._mediaElement=null;this._container=null;this._listeners=new Map;this._eventCleanup=[];this._destroyed=!1;this._bpLive=null;this._currentProviderType=null;this._ready=!1;this._state=Fo()}get state(){return this._state}get videoElement(){return this._mediaElement}get bpLive(){return this._bpLive}get ready(){return this._ready}get providerType(){return this._currentProviderType}addEventListener(e,t){let r=Array.isArray(e)?e:[e];for(let o of r)this._listeners.has(o)||this._listeners.set(o,new Set),this._listeners.get(o).add(t)}removeEventListener(e,t){let r=Array.isArray(e)?e:[e];for(let o of r){let n=this._listeners.get(o);n&&(n.delete(t),n.size===0&&this._listeners.delete(o))}}dispatch(e,t){let r=this._listeners.get(e);if(r)for(let o of r)try{o(t)}catch(n){console.error(`[PlayerCore] Error in event listener for "${e}":`,n)}}updateState(e){this._state={...this._state,...e},this.dispatch("statechange",{state:this._state})}attach(e,t){this._destroyed||(this._container=e,this._config=t,this._ready=!0)}async loadSource(e,t,r){if(this._destroyed)return;let o=t??this._container,n=r??this._config;if(!o){console.error("[PlayerCore] No container provided. Call attach() first or provide container to loadSource().");return}this._container=o,n&&(this._config=n),this.updateState({error:null,connectionState:"connecting",paused:!0,ended:!1,playing:!1,waiting:!1,seeking:!1,readyState:0,currentTime:0,duration:NaN,buffered:null}),this.dispatch("sourcechange",{source:e});try{let a=e,l=this._state.contentType,c,v,h;if(av(e)){if(n!=null&&n.bpLive&&(this._bpLive&&this._bpLive.destroy(),this._bpLive=new fr(n.bpLive)),!this._bpLive)throw new Error("BPLive source requires config.bpLive configuration.");let L=await this._bpLive.resolveSource(e);a=L.source,l=L.contentType,c=L.poster,v=L.videoWidth,h=L.videoHeight}let p=nv(a);(this._currentProviderType!==null&&this._currentProviderType!==p||this._mediaElement)&&this.destroyMediaElement();let g=p==="nano"||p==="livekit"||l==="stream"?"live":"vod";return this._currentProviderType=p,this.updateState({providerType:p,contentType:l,streamType:g}),this._mediaElement=this.createMediaElement(p,a,n),this._mediaElement.style.width="100%",this._mediaElement.style.height="100%",this._mediaElement.style.objectFit="contain",this._state.muted&&(this._mediaElement.muted=!0),this._state.loop&&(this._mediaElement.loop=!0),this.attachMediaElementListeners(this._mediaElement),o.appendChild(this._mediaElement),this._ready=!0,this.dispatch("videoelementchange",{video:this._mediaElement}),{poster:c,videoWidth:v,videoHeight:h}}catch(a){console.error("[PlayerCore] loadSource error:",a);let l={code:-1,message:a instanceof Error?a.message:"Failed to load source",fatal:!0,category:"setup"};this.updateState({error:l,connectionState:"failed"}),this.dispatch("error",l)}}destroyMediaElement(){if(this._eventCleanup.forEach(e=>e()),this._eventCleanup=[],this._mediaElement&&(this._mediaElement.remove(),this._mediaElement=null,this.dispatch("emptied",void 0),this.dispatch("videoelementchange",{video:null})),this._container)for(;this._container.firstChild;)this._container.removeChild(this._container.firstChild)}createMediaElement(e,t,r){switch(e){case"nano":{let o=document.createElement("nano-video"),n=t;return o.libraryLocation=(r==null?void 0:r.libraryLocation)??"/vendor/bp-player",n.source?o.sourceConfig=n.source:n.streamid&&(o.streamid=n.streamid),r!=null&&r.nano&&(o.config=r.nano),o}case"livekit":{let o=document.createElement("livekit-video"),n=t;return o.url=n.url,o.token=n.token,r!=null&&r.livekit&&(o.config=r.livekit),o}case"video":default:{let o=document.createElement("hls-video"),n=typeof t=="string"?t:t.url;return o.src=n,r!=null&&r.video&&(o.config=r.video),o}}}attachMediaElementListeners(e){for(let t of sv){let r=o=>this.handleMediaEvent(t,e,o);e.addEventListener(t,r),this._eventCleanup.push(()=>e.removeEventListener(t,r))}}handleMediaEvent(e,t,r){switch(e){case"loadstart":this.updateState({readyState:1}),this.dispatch("loadstart",void 0);break;case"loadedmetadata":{let o=t.duration===1/0?"live":this._state.streamType;this.updateState({duration:t.duration,videoWidth:t.videoWidth,videoHeight:t.videoHeight,streamType:o}),this.dispatch("loadedmetadata",{duration:t.duration,videoWidth:t.videoWidth,videoHeight:t.videoHeight});break}case"loadeddata":this.updateState({readyState:2}),this.dispatch("loadeddata",void 0);break;case"canplay":this.updateState({readyState:3,connectionState:"connected"}),this.dispatch("canplay",void 0),this.dispatch("connectionstatechange",{state:"connected"});break;case"canplaythrough":this.updateState({readyState:4}),this.dispatch("canplaythrough",void 0);break;case"play":this.updateState({paused:!1,ended:!1}),this.dispatch("play",void 0);break;case"playing":this.updateState({paused:!1,playing:!0,ended:!1,waiting:!1,readyState:4}),this.dispatch("playing",void 0);break;case"pause":this.updateState({paused:!0,playing:!1,waiting:!1}),this.dispatch("pause",void 0);break;case"waiting":this.updateState({playing:!1,waiting:!0,readyState:2}),this.dispatch("waiting",void 0);break;case"seeking":this.updateState({seeking:!0,currentTime:t.currentTime}),this.dispatch("seeking",{currentTime:t.currentTime});break;case"seeked":this.updateState({seeking:!1,currentTime:t.currentTime}),this.dispatch("seeked",{currentTime:t.currentTime});break;case"timeupdate":this.updateState({currentTime:t.currentTime,duration:t.duration}),this.dispatch("timeupdate",{currentTime:t.currentTime,duration:t.duration});break;case"durationchange":{let o=t.duration===1/0?"live":this._state.streamType;this.updateState({duration:t.duration,streamType:o}),this.dispatch("durationchange",{duration:t.duration}),this.dispatch("streamtypechange",{streamType:this._state.streamType});break}case"ratechange":this.updateState({playbackRate:t.playbackRate}),this.dispatch("ratechange",{playbackRate:t.playbackRate});break;case"volumechange":this.updateState({volume:t.volume,muted:t.muted}),this.dispatch("volumechange",{volume:t.volume,muted:t.muted});break;case"ended":this.updateState({ended:!0,paused:!0,playing:!1}),this.dispatch("ended",void 0);break;case"progress":this.updateState({buffered:t.buffered}),this.dispatch("progress",{buffered:t.buffered});break;case"error":{let o=-1,n="Unknown error";r instanceof ErrorEvent&&r.error?(o=r.error.code??-1,n=r.error.message??r.message??"Unknown error"):t.error&&(o=t.error.code??-1,n=t.error.message??"Unknown error");let a="media",l=!0;this._state.providerType==="nano"&&o>0?(a=ua(o),l=a!=="offline"&&a!=="autoplay"):this._state.providerType==="livekit"&&o>0&&(a=ha(o),l=!0);let c={code:o,message:n,fatal:l,category:a};this.updateState({error:c}),this.dispatch("error",c);break}case"resize":t.videoWidth&&t.videoHeight&&(this.updateState({videoWidth:t.videoWidth,videoHeight:t.videoHeight}),this.dispatch("resize",{videoWidth:t.videoWidth,videoHeight:t.videoHeight}));break}}unloadSource(){this.destroyMediaElement(),this._currentProviderType=null,this.updateState({...Fo(),volume:this._state.volume,muted:this._state.muted,loop:this._state.loop,playbackRate:this._state.playbackRate}),this.dispatch("sourcechange",{source:null})}async play(){if(this._mediaElement){this.updateState({paused:!1}),this.dispatch("play",void 0);try{await this._mediaElement.play()}catch(e){throw this.updateState({paused:!0}),this.dispatch("pause",void 0),e}}}pause(){this._mediaElement&&(this.updateState({paused:!0,playing:!1}),this.dispatch("pause",void 0),this._mediaElement.pause())}seek(e){this._mediaElement&&(this._mediaElement.currentTime=e)}setVolume(e){let t=Math.max(0,Math.min(1,e));this.updateState({volume:t}),this._mediaElement&&(this._mediaElement.volume=t),this.dispatch("volumechange",{volume:t,muted:this._state.muted})}setMuted(e){this.updateState({muted:e}),this._mediaElement&&(this._mediaElement.muted=e),this.dispatch("volumechange",{volume:this._state.volume,muted:e})}setLoop(e){this.updateState({loop:e}),this._mediaElement&&(this._mediaElement.loop=e)}setPlaybackRate(e){this.updateState({playbackRate:e}),this._mediaElement&&(this._mediaElement.playbackRate=e),this.dispatch("ratechange",{playbackRate:e})}setTargetQuality(e){this.updateState({targetQuality:e}),this.dispatch("targetqualitychanged",{quality:e});let t=this._mediaElement;t!=null&&t.videoRenditions&&(t.videoRenditions.selectedIndex=(e==null?void 0:e.index)??-1)}setQuality(e){this.setTargetQuality(e)}setFullscreen(e){this.updateState({fullscreen:e,presentationMode:e?"fullscreen":"inline"}),this.dispatch("fullscreenchange",{fullscreen:e}),this.dispatch("presentationmodechange",{mode:e?"fullscreen":"inline"})}setPresentationMode(e){this.updateState({presentationMode:e,fullscreen:e==="fullscreen"}),this.dispatch("presentationmodechange",{mode:e})}destroy(){this._destroyed||(this._destroyed=!0,this.unloadSource(),this._bpLive&&(this._bpLive.destroy(),this._bpLive=null),this._container=null,this._config=void 0,this._ready=!1,this.dispatch("destroy",void 0),this._listeners.clear())}};function pa(){return new qo}var Ri="bpPlayerObservedProperties";function ma(i){return Ri in i&&Array.isArray(i[Ri])}function Mu(i,e){class t extends i{get[Ri](){return e}}return t}function lv(i){if(i.shadowRoot)return Array.from(i.shadowRoot.children);if(i.localName==="slot"){let t=i.assignedNodes();if(t.length>0)return t.filter(r=>r.nodeType===Node.ELEMENT_NODE)}return Array.from(i.children)}async function xi(i,e,t){if(e!=null&&e.contains(i))return;i.nodeName.includes("-")&&!ma(i)&&(await Promise.resolve(),await customElements.whenDefined(i.nodeName.toLowerCase()),customElements.upgrade(i)),ma(i)&&t(i);let r=lv(i);r.length>0&&await Promise.all(r.map(o=>xi(o,e,t)))}function Go(i,e,t){let r=i[Ri];r.includes("player")&&(i.player=e),r.includes("paused")&&(i.paused=t.paused),r.includes("playing")&&(i.playing=t.playing),r.includes("ended")&&(i.ended=t.ended),r.includes("seeking")&&(i.seeking=t.seeking),r.includes("currentTime")&&(i.currentTime=t.currentTime),r.includes("duration")&&(i.duration=t.duration),r.includes("volume")&&(i.volume=t.volume),r.includes("muted")&&(i.muted=t.muted),r.includes("playbackRate")&&(i.playbackRate=t.playbackRate),r.includes("readyState")&&(i.readyState=t.readyState),r.includes("videoWidth")&&(i.videoWidth=t.videoWidth),r.includes("videoHeight")&&(i.videoHeight=t.videoHeight),r.includes("qualities")&&(i.qualities=t.qualities),r.includes("currentQuality")&&(i.currentQuality=t.currentQuality),r.includes("targetQuality")&&(i.targetQuality=t.targetQuality),r.includes("fullscreen")&&(i.fullscreen=t.fullscreen),r.includes("presentationMode")&&(i.presentationMode=t.presentationMode),r.includes("connectionState")&&(i.connectionState=t.connectionState),r.includes("streamType")&&(i.streamType=t.streamType),r.includes("error")&&(i.error=t.error)}function zo(i){i[Ri].includes("player")&&(i.player=void 0)}var Ru=`/**
8
+ * BP Player CSS Custom Properties
9
+ *
10
+ * All styling can be customized by overriding these CSS variables.
11
+ * Variables follow the naming convention: --bp-{category}-{property}
12
+ */
13
+
14
+ :root,
15
+ :host {
16
+ /* Container */
17
+ --bp-background: #000;
18
+ --bp-min-width: 300px;
19
+ --bp-border-radius: 0;
20
+ --bp-video-object-fit: contain;
21
+
22
+ /* Video Dimensions */
23
+ --bp-video-width: 16;
24
+ --bp-video-height: 9;
25
+
26
+ /* Typography */
27
+ --bp-text-color: #fff;
28
+ --bp-text-font-size: 14px;
29
+ --bp-text-content-height: var(--bp-control-height, 24px);
30
+
31
+ /* Controls */
32
+ --bp-control-height: 24px;
33
+ --bp-control-padding: 10px;
34
+ --bp-control-background: transparent;
35
+ --bp-control-hover-background: transparent;
36
+
37
+ /* Control Bar */
38
+ --bp-control-bar-background: linear-gradient(
39
+ to top,
40
+ rgba(0, 0, 0, 0.7) 0%,
41
+ rgba(0, 0, 0, 0.3) 60%,
42
+ transparent 100%
43
+ );
44
+ --bp-control-bar-padding: 32px 0 0 0;
45
+
46
+ /* Icons / Buttons */
47
+ --bp-icon-color: #fff;
48
+ --bp-button-icon-width: 24px;
49
+ --bp-button-icon-height: 24px;
50
+ --bp-button-icon-shadow: none;
51
+ --bp-button-hover-icon-shadow: 0 0 6px rgba(255, 255, 255, 0.8);
52
+ --bp-button-icon-transition: none;
53
+
54
+ /* Center Play Button */
55
+ --bp-center-play-icon-width: 72px;
56
+ --bp-center-play-icon-height: 72px;
57
+ --bp-center-play-hover-scale: 1.1;
58
+ --bp-center-play-hover-shadow: 0 0 12px rgba(255, 255, 255, 0.6);
59
+
60
+ /* Range (sliders) */
61
+ --bp-range-track-height: 4px;
62
+ --bp-range-track-background: rgba(255, 255, 255, 0.3);
63
+ --bp-range-progress-background: rgba(255, 255, 255, 0.5);
64
+ --bp-range-buffered-background: rgba(255, 255, 255, 0.4);
65
+ --bp-range-thumb-size: 12px;
66
+ --bp-range-bar-color: rgba(255, 255, 255, 0.9);
67
+
68
+ /* Volume Range */
69
+ --bp-volume-range-width: 70px;
70
+
71
+ /* Overlays */
72
+ --bp-overlay-background: rgba(0, 0, 0, 0.6);
73
+ --bp-error-background: rgba(0, 0, 0, 0.8);
74
+
75
+ /* Loading */
76
+ --bp-loading-icon-size: 48px;
77
+
78
+ /* Overlay */
79
+ --bp-overlay-gap: 16px;
80
+ --bp-overlay-padding: 24px;
81
+ --bp-overlay-icon-opacity: 0.9;
82
+ --bp-overlay-message-font-size: 1rem;
83
+ --bp-overlay-message-font-weight: 500;
84
+ --bp-overlay-message-opacity: 0.9;
85
+ --bp-overlay-submessage-font-size: 0.875rem;
86
+ --bp-overlay-submessage-opacity: 0.6;
87
+
88
+ /* Error Display */
89
+ --bp-error-gap: 12px;
90
+ --bp-error-max-width: 80%;
91
+ --bp-error-icon-size: 48px;
92
+ --bp-error-icon-opacity: 0.9;
93
+ --bp-error-heading-font-size: 1.25rem;
94
+ --bp-error-heading-font-weight: 600;
95
+ --bp-error-message-font-size: 0.875rem;
96
+ --bp-error-message-opacity: 0.8;
97
+ --bp-error-code-font-size: 0.75rem;
98
+ --bp-error-code-opacity: 0.5;
99
+ --bp-error-code-font-family: monospace;
100
+
101
+ /* Focus */
102
+ --bp-focus-ring-color: rgba(27, 127, 204, 0.9);
103
+
104
+ /* Transitions */
105
+ --bp-transition-duration: 0.2s;
106
+ --bp-transition-timing: ease;
107
+
108
+ /* Auto-hide */
109
+ --bp-autohide-transition-duration: 1s;
110
+
111
+ /* Clip Mode (Short-form content) */
112
+ --bp-clip-seekbar-height: 3px;
113
+ --bp-clip-seekbar-hover-height: 5px;
114
+ --bp-clip-seekbar-opacity: 0.5;
115
+
116
+ /* Mobile */
117
+ --bp-mobile-control-backdrop-background: rgba(0, 0, 0, 0.5);
118
+ }
119
+ `;var xu=`/**
120
+ * BP Player Global Styles
121
+ *
122
+ * Base styles and resets for the player components.
123
+ */
124
+
125
+ /* Import variables */
126
+ @import './variables.css';
127
+
128
+ /* Full window mode support */
129
+ html.bp-player-full-window {
130
+ overflow: hidden !important;
131
+ }
132
+
133
+ html.bp-player-full-window > body {
134
+ width: 100% !important;
135
+ height: 100% !important;
136
+ margin: 0 !important;
137
+ padding: 0 !important;
138
+ }
139
+ `;var Pu=!1;function gr(){if(Pu)return;let i=document.createElement("style");i.id="bp-player-global-styles",i.textContent=Ru+`
140
+ `+xu,document.head.appendChild(i),Pu=!0}function Du(i,e){let t;return()=>(t||(t=document.createElement("template"),t.innerHTML=e),t)}function Ou(i,e){return`<style>${i}</style>${e}`}var Yo=(w=>(w.CONFIGURATION="configuration",w.SOURCE="source",w.SOURCES="sources",w.AUTOPLAY="autoplay",w.MUTED="muted",w.LOOP="loop",w.SCALING="scaling",w.ASPECT_RATIO="aspect-ratio",w.DEBUG="debug",w.AUTOHIDE="autohide",w.HOTKEYS="hotkeys",w.PAUSED="paused",w.PLAYING="playing",w.ENDED="ended",w.SEEKING="seeking",w.WAITING="waiting",w.LOADING="loading",w.READY="ready",w.HAS_ERROR="has-error",w.HAS_FIRST_PLAY="has-first-play",w.FULLSCREEN="fullscreen",w.FULLWINDOW="fullwindow",w.DEVICE_TYPE="device-type",w.MOBILE="mobile",w.TV="tv",w.STREAM_TYPE="stream-type",w.LIVE="live",w.CONTENT_TYPE="content-type",w.USER_IDLE="user-idle",w.USER_IDLE_TIMEOUT="user-idle-timeout",w.MOBILE_ONLY="mobile-only",w.MOBILE_HIDDEN="mobile-hidden",w.TV_ONLY="tv-only",w.TV_HIDDEN="tv-hidden",w.LIVE_ONLY="live-only",w.LIVE_HIDDEN="live-hidden",w.VOD_HIDDEN="vod-hidden",w.CLIP_HIDDEN="clip-hidden",w.NO_AUTO_HIDE="no-auto-hide",w.DISABLED="disabled",w.HIDDEN="hidden",w.NOTOOLTIP="notooltip",w.MENU="menu",w.MENU_OPENED="menu-opened",w.ARIA_LABEL="aria-label",w.ARIA_LIVE="aria-live",w.ARIA_CHECKED="aria-checked",w.VOLUME_LEVEL="volume-level",w.PROVIDER_TYPE="provider-type",w))(Yo||{});function pe(i,e,t){return t!==void 0?t?(i.setAttribute(e,""),!0):(i.removeAttribute(e),!1):i.hasAttribute(e)?(i.removeAttribute(e),!1):(i.setAttribute(e,""),!0)}var va=class extends EventTarget{constructor(t){super();this._renditions=[];this._cleanup=[];this._host=t}get length(){return this._renditions.length}[Symbol.iterator](){return this._renditions[Symbol.iterator]()}get selectedIndex(){var r;let t=(r=this._host.player)==null?void 0:r.state.targetQuality;return t?this._renditions.findIndex(o=>o.id===String(t.index)):-1}set selectedIndex(t){var r,o,n;if(t<0)(r=this._host.player)==null||r.setQuality(null);else{let l=(((o=this._host.player)==null?void 0:o.state.qualities)??[])[t];l&&((n=this._host.player)==null||n.setQuality(l))}this._updateSelection(),this.dispatchEvent(new Event("change"))}_updateSelection(){let t=this.selectedIndex;this._renditions.forEach((r,o)=>{r.selected=o===t})}_syncFromPlayer(){var o,n;let t=((o=this._host.player)==null?void 0:o.state.qualities)??[];if(t.length===0){let a=(n=this._host.player)==null?void 0:n.videoElement;a!=null&&a.videoRenditions&&(t=[...a.videoRenditions].map((l,c)=>({index:c,width:l.width??0,height:l.height??0,bitrate:l.bitrate??0})))}let r=this._renditions.length;for(let a=0;a<r;a++)delete this[a];this._renditions=t.map(a=>({id:String(a.index),width:a.width,height:a.height,bitrate:a.bitrate,selected:!1})),this._renditions.forEach((a,l)=>{this[l]=a}),this._updateSelection();for(let a of this._renditions)this.dispatchEvent(new CustomEvent("addrendition",{detail:a}))}_setupListeners(){this._cleanup.forEach(a=>a()),this._cleanup=[];let t=this._host.player;if(!t)return;let r=()=>{this._syncFromPlayer()},o=()=>{this._updateSelection(),this.dispatchEvent(new Event("change"))};t.addEventListener("qualitieschange",r),t.addEventListener("qualitychange",o),t.addEventListener("targetqualitychanged",o),this._cleanup.push(()=>{t.removeEventListener("qualitieschange",r),t.removeEventListener("qualitychange",o),t.removeEventListener("targetqualitychanged",o)});let n=t.videoElement;n!=null&&n.videoRenditions&&(n.videoRenditions.addEventListener("addrendition",r),n.videoRenditions.addEventListener("removerendition",r),this._cleanup.push(()=>{var a,l;(a=n.videoRenditions)==null||a.removeEventListener("addrendition",r),(l=n.videoRenditions)==null||l.removeEventListener("removerendition",r)})),this._syncFromPlayer()}_destroy(){this._cleanup.forEach(t=>t()),this._cleanup=[],this._renditions=[];for(let t=0;t<this._renditions.length;t++)delete this[t]}};var Uu=`/**
141
+ * BP Player Styles
142
+ *
143
+ * Core player component styles using CSS custom properties.
144
+ */
145
+
146
+ /* ============================================
147
+ Container
148
+ ============================================ */
149
+
150
+ bp-player {
151
+ display: block;
152
+ width: 100%;
153
+ height: 100%;
154
+ /* Aspect ratio computed from video dimensions */
155
+ aspect-ratio: var(--bp-video-width, 16) / var(--bp-video-height, 9);
156
+ }
157
+
158
+ bp-player[hidden] {
159
+ display: none !important;
160
+ }
161
+
162
+ /* ============================================
163
+ Player Container
164
+ ============================================ */
165
+
166
+ .bp-player-container {
167
+ width: 100%;
168
+ height: 100%;
169
+ position: relative;
170
+ overflow: hidden;
171
+ background-color: var(--bp-background, #000);
172
+ border-radius: var(--bp-border-radius, 0);
173
+ }
174
+
175
+ /* ============================================
176
+ Provider Layer
177
+ ============================================ */
178
+
179
+ .bp-player-provider {
180
+ width: 100%;
181
+ height: 100%;
182
+ position: absolute;
183
+ top: 0;
184
+ left: 0;
185
+ overflow: hidden;
186
+ }
187
+
188
+ .bp-player-provider video {
189
+ width: 100% !important;
190
+ height: 100% !important;
191
+ max-width: 100%;
192
+ max-height: 100%;
193
+ }
194
+
195
+ /* ============================================
196
+ Scaling Modes
197
+ ============================================ */
198
+
199
+ .bp-player-container--letterbox .bp-player-provider video {
200
+ object-fit: var(--bp-video-object-fit, contain);
201
+ }
202
+
203
+ .bp-player-container--crop .bp-player-provider video {
204
+ object-fit: cover;
205
+ }
206
+
207
+ .bp-player-container--fill .bp-player-provider video {
208
+ object-fit: fill;
209
+ }
210
+
211
+ /* ============================================
212
+ State Attributes
213
+ ============================================ */
214
+
215
+ bp-player[paused] {
216
+ /* Styles when player is paused */
217
+ }
218
+
219
+ bp-player[ended] {
220
+ /* Styles when player has ended */
221
+ }
222
+
223
+ bp-player[waiting] {
224
+ /* Styles when player is buffering */
225
+ }
226
+
227
+ bp-player[has-error] {
228
+ /* Styles when player has an error */
229
+ }
230
+ `;var Nu={fromAttribute:i=>{if(i)try{return JSON.parse(i)}catch{console.warn("[bp-player] Failed to parse JSON attribute:",i);return}},toAttribute:i=>i==null?null:JSON.stringify(i)},Hu=!1;function hv(){if(Hu)return;gr();let i=document.createElement("style");i.id="bp-player-styles",i.textContent=Uu,document.head.appendChild(i),Hu=!0}var pv=["emptied","loadstart","play","playing","pause","waiting","seeking","seeked","timeupdate","durationchange","volumechange","ratechange","ended","loadedmetadata","loadeddata","canplay","canplaythrough","progress","error","resize"],Te=class extends Ce{constructor(){super(...arguments);this.autoplay=!1;this.defaultMuted=!1;this.loop=!1;this.scaling="letterbox";this.debug=!1;this._playerCore=null;this.containerRef=null;this.providerContainer=null;this.eventCleanup=[];this.stateReceivers=[];this._mutationObserver=null;this._videoRenditions=null;this._hasDispatchedReady=!1;this.handleMutation=t=>{for(let r of t)if(r.type==="childList"){for(let o of r.addedNodes)o.nodeType===Node.ELEMENT_NODE&&xi(o,this.providerContainer,this.registerStateReceiver);for(let o of r.removedNodes)o.nodeType===Node.ELEMENT_NODE&&xi(o,this.providerContainer,this.unregisterStateReceiver)}};this.registerStateReceiver=t=>{this.stateReceivers.includes(t)||(this.stateReceivers.push(t),this._playerCore&&Go(t,this._playerCore,this._playerCore.state))};this.unregisterStateReceiver=t=>{let r=this.stateReceivers.indexOf(t);r>=0&&(this.stateReceivers.splice(r,1),zo(t))}}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),hv(),this._mutationObserver=new MutationObserver(this.handleMutation),this._mutationObserver.observe(this,{childList:!0,subtree:!0})}get player(){return this._playerCore}get playerState(){var t;return((t=this._playerCore)==null?void 0:t.state)??null}get bpLive(){var t;return((t=this._playerCore)==null?void 0:t.bpLive)??null}async play(){var t;this.debug&&console.log("[BPPlayer] play() called"),await((t=this._playerCore)==null?void 0:t.play())}pause(){var t;this.debug&&console.log("[BPPlayer] pause() called"),(t=this._playerCore)==null||t.pause()}get paused(){var r;let t=((r=this._playerCore)==null?void 0:r.state.paused)??!0;return this.debug&&console.log("[BPPlayer] paused getter:",t),t}get ended(){var t;return((t=this._playerCore)==null?void 0:t.state.ended)??!1}get seeking(){var t;return((t=this._playerCore)==null?void 0:t.state.seeking)??!1}get waiting(){var t;return((t=this._playerCore)==null?void 0:t.state.waiting)??!1}get currentTime(){var t;return((t=this._playerCore)==null?void 0:t.state.currentTime)??0}set currentTime(t){var r;(r=this._playerCore)==null||r.seek(t)}get duration(){var t;return((t=this._playerCore)==null?void 0:t.state.duration)??NaN}get volume(){var t;return((t=this._playerCore)==null?void 0:t.state.volume)??1}set volume(t){var r;(r=this._playerCore)==null||r.setVolume(t)}get muted(){var t;return((t=this._playerCore)==null?void 0:t.state.muted)??this.defaultMuted}set muted(t){var r;(r=this._playerCore)==null||r.setMuted(t),this.defaultMuted=t}get playbackRate(){var t;return((t=this._playerCore)==null?void 0:t.state.playbackRate)??1}set playbackRate(t){var r;(r=this._playerCore)==null||r.setPlaybackRate(t)}get readyState(){var t;return((t=this._playerCore)==null?void 0:t.state.readyState)??0}get buffered(){var r;let t=(r=this._playerCore)==null?void 0:r.state.buffered;return t||{length:0,start:()=>0,end:()=>0}}get videoWidth(){var o,n,a;let t=(o=this._playerCore)==null?void 0:o.videoElement;if(t!=null&&t.videoWidth)return t.videoWidth;let r=(n=this._playerCore)==null?void 0:n.state.currentQuality;return r!=null&&r.width?r.width:((a=this._playerCore)==null?void 0:a.state.videoWidth)??0}get videoHeight(){var o,n,a;let t=(o=this._playerCore)==null?void 0:o.videoElement;if(t!=null&&t.videoHeight)return t.videoHeight;let r=(n=this._playerCore)==null?void 0:n.state.currentQuality;return r!=null&&r.height?r.height:((a=this._playerCore)==null?void 0:a.state.videoHeight)??0}get videoElement(){var t;return((t=this._playerCore)==null?void 0:t.videoElement)??null}get providerType(){var t;return((t=this._playerCore)==null?void 0:t.state.providerType)??null}get videoRenditions(){return this._videoRenditions}disconnectedCallback(){var t;super.disconnectedCallback(),(t=this._mutationObserver)==null||t.disconnect(),this.destroyPlayer()}firstUpdated(t){super.firstUpdated(t),this.containerRef=this.renderRoot.querySelector(".bp-player-container"),this.containerRef&&!this.providerContainer&&(this.providerContainer=document.createElement("div"),this.providerContainer.className="bp-player-provider",this.providerContainer.style.cssText="width: 100%; height: 100%; position: absolute; top: 0; left: 0;",this.containerRef.appendChild(this.providerContainer)),this.initPlayerCore(),this.source&&this.loadSource()}updated(t){super.updated(t),t.has("source")&&this.loadSource(),t.has("defaultMuted")&&this._playerCore&&this._playerCore.setMuted(this.defaultMuted),t.has("loop")&&this._playerCore&&this._playerCore.setLoop(this.loop)}initPlayerCore(){this._playerCore||!this.providerContainer||(this._playerCore=pa(),this.defaultMuted&&this._playerCore.setMuted(!0),this.loop&&this._playerCore.setLoop(!0),this._playerCore.attach(this.providerContainer,this.config),this.setupEventForwarding(),this._videoRenditions=new va(this))}async loadSource(){var r,o,n,a,l,c,v;let t=(o=(r=this.source)==null?void 0:r.sources)==null?void 0:o[0];if(!t){(n=this._playerCore)!=null&&n.ready&&this._playerCore.unloadSource();return}if(!this._playerCore||!this.providerContainer){this.debug&&console.log("[BPPlayer] loadSource skipped - player not initialized");return}this.debug&&console.log("[BPPlayer] loadSource:",t);try{let h=await this._playerCore.loadSource(t);if(!this._playerCore)return;if(h!=null&&h.videoWidth&&(h!=null&&h.videoHeight)&&(this.updateVideoDimensions(h.videoWidth,h.videoHeight),this.debug&&console.log("[BPPlayer] Source video dimensions:",{width:h.videoWidth,height:h.videoHeight})),(a=this._videoRenditions)==null||a._setupListeners(),this._hasDispatchedReady||(this._hasDispatchedReady=!0,xi(this,this.providerContainer,this.registerStateReceiver),this.dispatchEvent(new CustomEvent("ready",{detail:this._playerCore,bubbles:!0,composed:!0})),this.debug&&console.log("[BPPlayer] Player ready",(l=this._playerCore)==null?void 0:l.state)),this.propagateStateToAllReceivers(),this.updateStateAttributes(),(v=(c=this._playerCore)==null?void 0:c.state)!=null&&v.paused&&this.dispatchEvent(new Event("pause",{bubbles:!0,composed:!0})),this.autoplay)try{await this._playerCore.play()}catch{}}catch(h){console.error("[BPPlayer] Failed to load source:",h)}}propagateStateToAllReceivers(){if(!this._playerCore)return;let t=this._playerCore.state;for(let r of this.stateReceivers)Go(r,this._playerCore,t)}setupEventForwarding(){if(!this._playerCore)return;for(let n of pv){let a=()=>{var l;this.debug&&!["durationchange","timeupdate"].includes(n)&&console.log(`[BPPlayer] Forwarding event: ${n}`,(l=this._playerCore)==null?void 0:l.state),this.dispatchEvent(new Event(n,{bubbles:!0,composed:!0}))};this._playerCore.addEventListener(n,a),this.eventCleanup.push(()=>{var l;return(l=this._playerCore)==null?void 0:l.removeEventListener(n,a)})}let t=()=>{var a;let n=(a=this._playerCore)==null?void 0:a.videoElement;n&&this.updateVideoDimensions(n.videoWidth,n.videoHeight)};this._playerCore.addEventListener("resize",t),this._playerCore.addEventListener("loadedmetadata",t),this.eventCleanup.push(()=>{var n;return(n=this._playerCore)==null?void 0:n.removeEventListener("resize",t)}),this.eventCleanup.push(()=>{var n;return(n=this._playerCore)==null?void 0:n.removeEventListener("loadedmetadata",t)}),t();let r=()=>{this.dispatchEvent(new Event("resize",{bubbles:!0,composed:!0}))};this._playerCore.addEventListener("qualitychange",r),this.eventCleanup.push(()=>{var n;return(n=this._playerCore)==null?void 0:n.removeEventListener("qualitychange",r)});let o=()=>{this.propagateStateToAllReceivers(),this.updateStateAttributes()};this._playerCore.addEventListener("statechange",o),this.eventCleanup.push(()=>{var n;return(n=this._playerCore)==null?void 0:n.removeEventListener("statechange",o)})}updateStateAttributes(){if(!this._playerCore)return;let t=this._playerCore.state;pe(this,"paused",t.paused),pe(this,"playing",t.playing),pe(this,"ended",t.ended),pe(this,"seeking",t.seeking),pe(this,"waiting",t.waiting),pe(this,"has-error",t.error!==null),pe(this,"ready",this._playerCore.ready),this.setAttribute("stream-type",t.streamType),this.setAttribute("content-type",t.contentType),t.providerType&&this.setAttribute("provider-type",t.providerType)}destroyPlayer(){var t;this.eventCleanup.forEach(r=>r()),this.eventCleanup=[],(t=this._videoRenditions)==null||t._destroy(),this._videoRenditions=null;for(let r of this.stateReceivers)zo(r);if(this.stateReceivers=[],this._playerCore&&(this._playerCore.destroy(),this._playerCore=null),this.providerContainer)for(;this.providerContainer.firstChild;)this.providerContainer.removeChild(this.providerContainer.firstChild);this.clearVideoDimensions(),this._hasDispatchedReady=!1}updateVideoDimensions(t,r){t>0&&r>0?(this.style.setProperty("--bp-video-width",String(t)),this.style.setProperty("--bp-video-height",String(r)),this.debug&&console.log("[BPPlayer] Set video dimensions:",{width:t,height:r})):(this.style.removeProperty("--bp-video-width"),this.style.removeProperty("--bp-video-height"),this.debug&&console.log("[BPPlayer] Cleared video dimensions"))}clearVideoDimensions(){this.style.removeProperty("--bp-video-width"),this.style.removeProperty("--bp-video-height")}getContainerClasses(){return["bp-player-container",`bp-player-container--${this.scaling}`].join(" ")}getContainerStyle(){return this.aspectRatio?`aspect-ratio: ${this.aspectRatio}`:""}render(){return We`
231
+ <div
232
+ class="${this.getContainerClasses()}"
233
+ style="${this.getContainerStyle()}"
234
+ >
235
+ </div>
236
+ `}};N([W({converter:Nu})],Te.prototype,"source",2),N([W({type:Boolean})],Te.prototype,"autoplay",2),N([W({type:Boolean,reflect:!0,attribute:"muted"})],Te.prototype,"defaultMuted",2),N([W({type:Boolean})],Te.prototype,"loop",2),N([W({type:String})],Te.prototype,"scaling",2),N([W({type:String,attribute:"aspect-ratio"})],Te.prototype,"aspectRatio",2),N([W({converter:Nu})],Te.prototype,"config",2),N([W({type:Boolean})],Te.prototype,"debug",2),N([zt()],Te.prototype,"_playerCore",2),Te=N([Gt("bp-player")],Te);var b={MEDIA_PLAY_REQUEST:"mediaplayrequest",MEDIA_PAUSE_REQUEST:"mediapauserequest",MEDIA_MUTE_REQUEST:"mediamuterequest",MEDIA_UNMUTE_REQUEST:"mediaunmuterequest",MEDIA_LOOP_REQUEST:"medialooprequest",MEDIA_VOLUME_REQUEST:"mediavolumerequest",MEDIA_SEEK_REQUEST:"mediaseekrequest",MEDIA_AIRPLAY_REQUEST:"mediaairplayrequest",MEDIA_ENTER_FULLSCREEN_REQUEST:"mediaenterfullscreenrequest",MEDIA_EXIT_FULLSCREEN_REQUEST:"mediaexitfullscreenrequest",MEDIA_PREVIEW_REQUEST:"mediapreviewrequest",MEDIA_ENTER_PIP_REQUEST:"mediaenterpiprequest",MEDIA_EXIT_PIP_REQUEST:"mediaexitpiprequest",MEDIA_ENTER_CAST_REQUEST:"mediaentercastrequest",MEDIA_EXIT_CAST_REQUEST:"mediaexitcastrequest",MEDIA_SHOW_TEXT_TRACKS_REQUEST:"mediashowtexttracksrequest",MEDIA_HIDE_TEXT_TRACKS_REQUEST:"mediahidetexttracksrequest",MEDIA_SHOW_SUBTITLES_REQUEST:"mediashowsubtitlesrequest",MEDIA_DISABLE_SUBTITLES_REQUEST:"mediadisablesubtitlesrequest",MEDIA_TOGGLE_SUBTITLES_REQUEST:"mediatogglesubtitlesrequest",MEDIA_PLAYBACK_RATE_REQUEST:"mediaplaybackraterequest",MEDIA_RENDITION_REQUEST:"mediarenditionrequest",MEDIA_AUDIO_TRACK_REQUEST:"mediaaudiotrackrequest",MEDIA_SEEK_TO_LIVE_REQUEST:"mediaseektoliverequest",REGISTER_MEDIA_STATE_RECEIVER:"registermediastatereceiver",UNREGISTER_MEDIA_STATE_RECEIVER:"unregistermediastatereceiver"},U={MEDIA_CHROME_ATTRIBUTES:"mediachromeattributes",MEDIA_CONTROLLER:"mediacontroller"},Vl={MEDIA_AIRPLAY_UNAVAILABLE:"mediaAirplayUnavailable",MEDIA_AUDIO_TRACK_ENABLED:"mediaAudioTrackEnabled",MEDIA_AUDIO_TRACK_LIST:"mediaAudioTrackList",MEDIA_AUDIO_TRACK_UNAVAILABLE:"mediaAudioTrackUnavailable",MEDIA_BUFFERED:"mediaBuffered",MEDIA_CAST_UNAVAILABLE:"mediaCastUnavailable",MEDIA_CHAPTERS_CUES:"mediaChaptersCues",MEDIA_CURRENT_TIME:"mediaCurrentTime",MEDIA_DURATION:"mediaDuration",MEDIA_ENDED:"mediaEnded",MEDIA_ERROR:"mediaError",MEDIA_ERROR_CODE:"mediaErrorCode",MEDIA_ERROR_MESSAGE:"mediaErrorMessage",MEDIA_FULLSCREEN_UNAVAILABLE:"mediaFullscreenUnavailable",MEDIA_HAS_PLAYED:"mediaHasPlayed",MEDIA_HEIGHT:"mediaHeight",MEDIA_IS_AIRPLAYING:"mediaIsAirplaying",MEDIA_IS_CASTING:"mediaIsCasting",MEDIA_IS_FULLSCREEN:"mediaIsFullscreen",MEDIA_IS_PIP:"mediaIsPip",MEDIA_LOADING:"mediaLoading",MEDIA_MUTED:"mediaMuted",MEDIA_LOOP:"mediaLoop",MEDIA_PAUSED:"mediaPaused",MEDIA_PIP_UNAVAILABLE:"mediaPipUnavailable",MEDIA_PLAYBACK_RATE:"mediaPlaybackRate",MEDIA_PREVIEW_CHAPTER:"mediaPreviewChapter",MEDIA_PREVIEW_COORDS:"mediaPreviewCoords",MEDIA_PREVIEW_IMAGE:"mediaPreviewImage",MEDIA_PREVIEW_TIME:"mediaPreviewTime",MEDIA_RENDITION_LIST:"mediaRenditionList",MEDIA_RENDITION_SELECTED:"mediaRenditionSelected",MEDIA_RENDITION_UNAVAILABLE:"mediaRenditionUnavailable",MEDIA_SEEKABLE:"mediaSeekable",MEDIA_STREAM_TYPE:"mediaStreamType",MEDIA_SUBTITLES_LIST:"mediaSubtitlesList",MEDIA_SUBTITLES_SHOWING:"mediaSubtitlesShowing",MEDIA_TARGET_LIVE_WINDOW:"mediaTargetLiveWindow",MEDIA_TIME_IS_LIVE:"mediaTimeIsLive",MEDIA_VOLUME:"mediaVolume",MEDIA_VOLUME_LEVEL:"mediaVolumeLevel",MEDIA_VOLUME_UNAVAILABLE:"mediaVolumeUnavailable",MEDIA_LANG:"mediaLang",MEDIA_WIDTH:"mediaWidth"},$u=Object.entries(Vl),s=$u.reduce((i,[e,t])=>(i[e]=t.toLowerCase(),i),{}),mv={USER_INACTIVE_CHANGE:"userinactivechange",BREAKPOINTS_CHANGE:"breakpointchange",BREAKPOINTS_COMPUTED:"breakpointscomputed"},Pi=$u.reduce((i,[e,t])=>(i[e]=t.toLowerCase(),i),{...mv}),p_=Object.entries(Pi).reduce((i,[e,t])=>{let r=s[e];return r&&(i[t]=r),i},{userinactivechange:"userinactive"}),Bu=Object.entries(s).reduce((i,[e,t])=>{let r=Pi[e];return r&&(i[t]=r),i},{userinactive:"userinactivechange"}),Ie={SUBTITLES:"subtitles",CAPTIONS:"captions",DESCRIPTIONS:"descriptions",CHAPTERS:"chapters",METADATA:"metadata"},Yt={DISABLED:"disabled",HIDDEN:"hidden",SHOWING:"showing"};var fa={MOUSE:"mouse",PEN:"pen",TOUCH:"touch"},Me={UNAVAILABLE:"unavailable",UNSUPPORTED:"unsupported"},Ze={LIVE:"live",ON_DEMAND:"on-demand",UNKNOWN:"unknown"};var Vu={INLINE:"inline",FULLSCREEN:"fullscreen",PICTURE_IN_PICTURE:"picture-in-picture"};function Wu(i){return i==null?void 0:i.map(fv).join(" ")}function Fu(i){return i==null?void 0:i.split(/\s+/).map(gv)}function fv(i){if(i){let{id:e,width:t,height:r}=i;return[e,t,r].filter(o=>o!=null).join(":")}}function gv(i){if(i){let[e,t,r]=i.split(":");return{id:e,width:+t,height:+r}}}function Ku(i){return i==null?void 0:i.map(Ev).join(" ")}function qu(i){return i==null?void 0:i.split(/\s+/).map(bv)}function Ev(i){if(i){let{id:e,kind:t,language:r,label:o}=i;return[e,t,r,o].filter(n=>n!=null).join(":")}}function bv(i){if(i){let[e,t,r,o]=i.split(":");return{id:e,kind:t,language:r,label:o}}}function Er(i){return typeof i=="number"&&!Number.isNaN(i)&&Number.isFinite(i)}var ga=i=>new Promise(e=>setTimeout(e,i));var Gu=[{singular:"hour",plural:"hours"},{singular:"minute",plural:"minutes"},{singular:"second",plural:"seconds"}],_v=(i,e)=>{let t=i===1?Gu[e].singular:Gu[e].plural;return`${i} ${t}`},Di=i=>{if(!Er(i))return"";let e=Math.abs(i),t=e!==i,r=new Date(0,0,0,0,0,e,0);return`${[r.getHours(),r.getMinutes(),r.getSeconds()].map((l,c)=>l&&_v(l,c)).filter(l=>l).join(", ")}${t?" remaining":""}`};function Xe(i,e){let t=!1;i<0&&(t=!0,i=0-i),i=i<0?0:i;let r=Math.floor(i%60),o=Math.floor(i/60%60),n=Math.floor(i/3600),a=Math.floor(e/60%60),l=Math.floor(e/3600);return(isNaN(i)||i===1/0)&&(n=o=r="0"),n=n>0||l>0?n+":":"",o=((n||a>=10)&&o<10?"0"+o:o)+":",r=r<10?"0"+r:r,(t?"-":"")+n+o+r}var f_=Object.freeze({length:0,start(i){let e=i>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'start' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0},end(i){let e=i>>>0;if(e>=this.length)throw new DOMException(`Failed to execute 'end' on 'TimeRanges': The index provided (${e}) is greater than or equal to the maximum bound (${this.length}).`);return 0}});var zu={"Start airplay":"Start airplay","Stop airplay":"Stop airplay",Audio:"Audio",Captions:"Captions","Enable captions":"Enable captions","Disable captions":"Disable captions","Start casting":"Start casting","Stop casting":"Stop casting","Enter fullscreen mode":"Enter fullscreen mode","Exit fullscreen mode":"Exit fullscreen mode",Mute:"Mute",Unmute:"Unmute",Loop:"Loop","Enter picture in picture mode":"Enter picture in picture mode","Exit picture in picture mode":"Exit picture in picture mode",Play:"Play",Pause:"Pause","Playback rate":"Playback rate","Playback rate {playbackRate}":"Playback rate {playbackRate}",Quality:"Quality","Seek backward":"Seek backward","Seek forward":"Seek forward",Settings:"Settings",Auto:"Auto","audio player":"audio player","video player":"video player",volume:"volume",seek:"seek","closed captions":"closed captions","current playback rate":"current playback rate","playback time":"playback time","media loading":"media loading",settings:"settings","audio tracks":"audio tracks",quality:"quality",play:"play",pause:"pause",mute:"mute",unmute:"unmute","chapter: {chapterName}":"chapter: {chapterName}",live:"live",Off:"Off","start airplay":"start airplay","stop airplay":"stop airplay","start casting":"start casting","stop casting":"stop casting","enter fullscreen mode":"enter fullscreen mode","exit fullscreen mode":"exit fullscreen mode","enter picture in picture mode":"enter picture in picture mode","exit picture in picture mode":"exit picture in picture mode","seek to live":"seek to live","playing live":"playing live","seek back {seekOffset} seconds":"seek back {seekOffset} seconds","seek forward {seekOffset} seconds":"seek forward {seekOffset} seconds","Network Error":"Network Error","Decode Error":"Decode Error","Source Not Supported":"Source Not Supported","Encryption Error":"Encryption Error","A network error caused the media download to fail.":"A network error caused the media download to fail.","A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.":"A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.","An unsupported error occurred. The server or network failed, or your browser does not support this format.":"An unsupported error occurred. The server or network failed, or your browser does not support this format.","The media is encrypted and there are no keys to decrypt it.":"The media is encrypted and there are no keys to decrypt it."};var Yu,Wl={en:zu},Fl=((Yu=globalThis.navigator)==null?void 0:Yu.language)||"en",Qu=i=>{Fl=i};var Tv=i=>{var e,t,r;let[o]=Fl.split("-");return((e=Wl[Fl])==null?void 0:e[i])||((t=Wl[o])==null?void 0:t[i])||((r=Wl.en)==null?void 0:r[i])||i},E=(i,e={})=>Tv(i).replace(/\{(\w+)\}/g,(t,r)=>r in e?String(e[r]):`{${r}}`);var Ea=class{addEventListener(){}removeEventListener(){}dispatchEvent(){return!0}},ba=class extends Ea{},_a=class extends ba{constructor(){super(...arguments),this.role=null}},Kl=class{observe(){}unobserve(){}disconnect(){}},Zu={createElement:function(){return new Qo.HTMLElement},createElementNS:function(){return new Qo.HTMLElement},addEventListener(){},removeEventListener(){},dispatchEvent(i){return!1}},Qo={ResizeObserver:Kl,document:Zu,Node:ba,Element:_a,HTMLElement:class extends _a{constructor(){super(...arguments),this.innerHTML=""}get content(){return new Qo.DocumentFragment}},DocumentFragment:class extends Ea{},customElements:{get:function(){},define:function(){},whenDefined:function(){}},localStorage:{getItem(i){return null},setItem(i,e){},removeItem(i){}},CustomEvent:function(){},getComputedStyle:function(){},navigator:{languages:[],get userAgent(){return""}},matchMedia(i){return{matches:!1,media:i}},DOMParser:class{parseFromString(e,t){return{body:{textContent:e}}}}},Xu="global"in globalThis&&(globalThis==null?void 0:globalThis.global)===globalThis||typeof window>"u"||typeof window.customElements>"u",Ju=Object.keys(Qo).every(i=>i in globalThis),d=Xu&&!Ju?Qo:globalThis,j=Xu&&!Ju?Zu:globalThis.document;var ju=new WeakMap,ql=i=>{let e=ju.get(i);return e||ju.set(i,e=new Set),e},eh=new d.ResizeObserver(i=>{for(let e of i)for(let t of ql(e.target))t(e)});function xt(i,e){ql(i).add(e),eh.observe(i)}function Pt(i,e){let t=ql(i);t.delete(e),t.size||eh.unobserve(i)}function J(i){let e={};for(let t of i)e[t.name]=t.value;return e}function Z(i){var e;return(e=ya(i))!=null?e:at(i,"media-controller")}function ya(i){var e;let{MEDIA_CONTROLLER:t}=U,r=i.getAttribute(t);if(r)return(e=Oi(i))==null?void 0:e.getElementById(r)}var Ta=(i,e,t=".value")=>{let r=i.querySelector(t);r&&(r.textContent=e)},Av=(i,e)=>{let t=`slot[name="${e}"]`,r=i.shadowRoot.querySelector(t);return r?r.children:[]},Aa=(i,e)=>Av(i,e)[0],Ae=(i,e)=>!i||!e?!1:i!=null&&i.contains(e)?!0:Ae(i,e.getRootNode().host),at=(i,e)=>{if(!i)return null;let t=i.closest(e);return t||at(i.getRootNode().host,e)};function Zo(i=document){var e;let t=i==null?void 0:i.activeElement;return t?(e=Zo(t.shadowRoot))!=null?e:t:null}function Oi(i){var e;let t=(e=i==null?void 0:i.getRootNode)==null?void 0:e.call(i);return t instanceof ShadowRoot||t instanceof Document?t:null}function Sa(i,{depth:e=3,checkOpacity:t=!0,checkVisibilityCSS:r=!0}={}){if(i.checkVisibility)return i.checkVisibility({checkOpacity:t,checkVisibilityCSS:r});let o=i;for(;o&&e>0;){let n=getComputedStyle(o);if(t&&n.opacity==="0"||r&&n.visibility==="hidden"||n.display==="none")return!1;o=o.parentElement,e--}return!0}function th(i,e,t,r){let o=r.x-t.x,n=r.y-t.y,a=o*o+n*n;if(a===0)return 0;let l=((i-t.x)*o+(e-t.y)*n)/a;return Math.max(0,Math.min(1,l))}function X(i,e){let t=Sv(i,r=>r===e);return t||Xo(i,e)}function Sv(i,e){var t,r;let o;for(o of(t=i.querySelectorAll("style:not([media])"))!=null?t:[]){let n;try{n=(r=o.sheet)==null?void 0:r.cssRules}catch{continue}for(let a of n??[])if(e(a.selectorText))return a}}function Xo(i,e){var t,r;let o=(t=i.querySelectorAll("style:not([media])"))!=null?t:[],n=o==null?void 0:o[o.length-1];return n!=null&&n.sheet?(n==null||n.sheet.insertRule(`${e}{}`,n.sheet.cssRules.length),(r=n.sheet.cssRules)==null?void 0:r[n.sheet.cssRules.length-1]):(console.warn("Media Chrome: No style sheet found on style tag of",i),{style:{setProperty:()=>{},removeProperty:()=>"",getPropertyValue:()=>""}})}function H(i,e,t=Number.NaN){let r=i.getAttribute(e);return r!=null?+r:t}function B(i,e,t){let r=+t;if(t==null||Number.isNaN(r)){i.hasAttribute(e)&&i.removeAttribute(e);return}H(i,e,void 0)!==r&&i.setAttribute(e,`${r}`)}function C(i,e){return i.hasAttribute(e)}function I(i,e,t){if(t==null){i.hasAttribute(e)&&i.removeAttribute(e);return}C(i,e)!=t&&i.toggleAttribute(e,t)}function x(i,e,t=null){var r;return(r=i.getAttribute(e))!=null?r:t}function P(i,e,t){if(t==null){i.hasAttribute(e)&&i.removeAttribute(e);return}let r=`${t}`;x(i,e,void 0)!==r&&i.setAttribute(e,r)}var ih=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Qt=(i,e,t)=>(ih(i,e,"read from private field"),t?t.call(i):e.get(i)),kv=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},ka=(i,e,t,r)=>(ih(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Re;function Lv(i){return`
237
+ <style>
238
+ :host {
239
+ display: var(--media-control-display, var(--media-gesture-receiver-display, inline-block));
240
+ box-sizing: border-box;
241
+ }
242
+ </style>
243
+ `}var br=class extends d.HTMLElement{constructor(){if(super(),kv(this,Re,void 0),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);let e=J(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}}static get observedAttributes(){return[U.MEDIA_CONTROLLER,s.MEDIA_PAUSED]}attributeChangedCallback(e,t,r){var o,n,a,l,c;e===U.MEDIA_CONTROLLER&&(t&&((n=(o=Qt(this,Re))==null?void 0:o.unassociateElement)==null||n.call(o,this),ka(this,Re,null)),r&&this.isConnected&&(ka(this,Re,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(c=(l=Qt(this,Re))==null?void 0:l.associateElement)==null||c.call(l,this)))}connectedCallback(){var e,t,r,o;this.tabIndex=-1,this.setAttribute("aria-hidden","true"),ka(this,Re,wv(this)),this.getAttribute(U.MEDIA_CONTROLLER)&&((t=(e=Qt(this,Re))==null?void 0:e.associateElement)==null||t.call(e,this)),(r=Qt(this,Re))==null||r.addEventListener("pointerdown",this),(o=Qt(this,Re))==null||o.addEventListener("click",this)}disconnectedCallback(){var e,t,r,o;this.getAttribute(U.MEDIA_CONTROLLER)&&((t=(e=Qt(this,Re))==null?void 0:e.unassociateElement)==null||t.call(e,this)),(r=Qt(this,Re))==null||r.removeEventListener("pointerdown",this),(o=Qt(this,Re))==null||o.removeEventListener("click",this),ka(this,Re,null)}handleEvent(e){var t;let r=(t=e.composedPath())==null?void 0:t[0];if(["video","media-controller"].includes(r==null?void 0:r.localName)){if(e.type==="pointerdown")this._pointerType=e.pointerType;else if(e.type==="click"){let{clientX:n,clientY:a}=e,{left:l,top:c,width:v,height:h}=this.getBoundingClientRect(),p=n-l,f=a-c;if(p<0||f<0||p>v||f>h||v===0&&h===0)return;let m=this._pointerType||"mouse";if(this._pointerType=void 0,m===fa.TOUCH){this.handleTap(e);return}else if(m===fa.MOUSE||m===fa.PEN){this.handleMouseClick(e);return}}}}get mediaPaused(){return C(this,s.MEDIA_PAUSED)}set mediaPaused(e){I(this,s.MEDIA_PAUSED,e)}handleTap(e){}handleMouseClick(e){let t=this.mediaPaused?b.MEDIA_PLAY_REQUEST:b.MEDIA_PAUSE_REQUEST;this.dispatchEvent(new d.CustomEvent(t,{composed:!0,bubbles:!0}))}};Re=new WeakMap;br.shadowRootOptions={mode:"open"};br.getTemplateHTML=Lv;function wv(i){var e;let t=i.getAttribute(U.MEDIA_CONTROLLER);return t?(e=i.getRootNode())==null?void 0:e.getElementById(t):at(i,"media-controller")}d.customElements.get("media-gesture-receiver")||d.customElements.define("media-gesture-receiver",br);var La=br;var Ql=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},$e=(i,e,t)=>(Ql(i,e,"read from private field"),t?t.call(i):e.get(i)),He=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Ui=(i,e,t,r)=>(Ql(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Fe=(i,e,t)=>(Ql(i,e,"access private method"),t),Ia,_r,jo,yr,wa,Gl,rh,Jo,Ca,zl,oh,Yl,nh,en,Ma,Ra,Zl,Tr,tn,R={AUDIO:"audio",AUTOHIDE:"autohide",BREAKPOINTS:"breakpoints",GESTURES_DISABLED:"gesturesdisabled",KEYBOARD_CONTROL:"keyboardcontrol",NO_AUTOHIDE:"noautohide",USER_INACTIVE:"userinactive",AUTOHIDE_OVER_CONTROLS:"autohideovercontrols"};function Cv(i){return`
244
+ <style>
245
+
246
+ :host([${s.MEDIA_IS_FULLSCREEN}]) ::slotted([slot=media]) {
247
+ outline: none;
248
+ }
249
+
250
+ :host {
251
+ box-sizing: border-box;
252
+ position: relative;
253
+ display: inline-block;
254
+ line-height: 0;
255
+ background-color: var(--media-background-color, #000);
256
+ overflow: hidden;
257
+ }
258
+
259
+ :host(:not([${R.AUDIO}])) [part~=layer]:not([part~=media-layer]) {
260
+ position: absolute;
261
+ top: 0;
262
+ left: 0;
263
+ bottom: 0;
264
+ right: 0;
265
+ display: flex;
266
+ flex-flow: column nowrap;
267
+ align-items: start;
268
+ pointer-events: none;
269
+ background: none;
270
+ }
271
+
272
+ slot[name=media] {
273
+ display: var(--media-slot-display, contents);
274
+ }
275
+
276
+
277
+ :host([${R.AUDIO}]) slot[name=media] {
278
+ display: var(--media-slot-display, none);
279
+ }
280
+
281
+
282
+ :host([${R.AUDIO}]) [part~=layer][part~=gesture-layer] {
283
+ height: 0;
284
+ display: block;
285
+ }
286
+
287
+
288
+ :host(:not([${R.AUDIO}])[${R.GESTURES_DISABLED}]) ::slotted([slot=gestures-chrome]),
289
+ :host(:not([${R.AUDIO}])[${R.GESTURES_DISABLED}]) media-gesture-receiver[slot=gestures-chrome] {
290
+ display: none;
291
+ }
292
+
293
+
294
+ ::slotted(:not([slot=media]):not([slot=poster]):not(media-loading-indicator):not([role=dialog]):not([hidden])) {
295
+ pointer-events: auto;
296
+ }
297
+
298
+ :host(:not([${R.AUDIO}])) *[part~=layer][part~=centered-layer] {
299
+ align-items: center;
300
+ justify-content: center;
301
+ }
302
+
303
+ :host(:not([${R.AUDIO}])) ::slotted(media-gesture-receiver[slot=gestures-chrome]),
304
+ :host(:not([${R.AUDIO}])) media-gesture-receiver[slot=gestures-chrome] {
305
+ align-self: stretch;
306
+ flex-grow: 1;
307
+ }
308
+
309
+ slot[name=middle-chrome] {
310
+ display: inline;
311
+ flex-grow: 1;
312
+ pointer-events: none;
313
+ background: none;
314
+ }
315
+
316
+
317
+ ::slotted([slot=media]),
318
+ ::slotted([slot=poster]) {
319
+ width: 100%;
320
+ height: 100%;
321
+ }
322
+
323
+
324
+ :host(:not([${R.AUDIO}])) .spacer {
325
+ flex-grow: 1;
326
+ }
327
+
328
+
329
+ :host(:-webkit-full-screen) {
330
+
331
+ width: 100% !important;
332
+ height: 100% !important;
333
+ }
334
+
335
+
336
+ ::slotted(:not([slot=media]):not([slot=poster]):not([${R.NO_AUTOHIDE}]):not([hidden]):not([role=dialog])) {
337
+ opacity: 1;
338
+ transition: var(--media-control-transition-in, opacity 0.25s);
339
+ }
340
+
341
+
342
+ :host([${R.USER_INACTIVE}]:not([${s.MEDIA_PAUSED}]):not([${s.MEDIA_IS_AIRPLAYING}]):not([${s.MEDIA_IS_CASTING}]):not([${R.AUDIO}])) ::slotted(:not([slot=media]):not([slot=poster]):not([${R.NO_AUTOHIDE}]):not([role=dialog])) {
343
+ opacity: 0;
344
+ transition: var(--media-control-transition-out, opacity 1s);
345
+ }
346
+
347
+ :host([${R.USER_INACTIVE}]:not([${R.NO_AUTOHIDE}]):not([${s.MEDIA_PAUSED}]):not([${s.MEDIA_IS_CASTING}]):not([${R.AUDIO}])) ::slotted([slot=media]) {
348
+ cursor: none;
349
+ }
350
+
351
+ :host([${R.USER_INACTIVE}][${R.AUTOHIDE_OVER_CONTROLS}]:not([${R.NO_AUTOHIDE}]):not([${s.MEDIA_PAUSED}]):not([${s.MEDIA_IS_CASTING}]):not([${R.AUDIO}])) * {
352
+ --media-cursor: none;
353
+ cursor: none;
354
+ }
355
+
356
+
357
+ ::slotted(media-control-bar) {
358
+ align-self: stretch;
359
+ }
360
+
361
+
362
+ :host(:not([${R.AUDIO}])[${s.MEDIA_HAS_PLAYED}]) slot[name=poster] {
363
+ display: none;
364
+ }
365
+
366
+ ::slotted([role=dialog]) {
367
+ width: 100%;
368
+ height: 100%;
369
+ align-self: center;
370
+ }
371
+
372
+ ::slotted([role=menu]) {
373
+ align-self: end;
374
+ }
375
+ </style>
376
+
377
+ <slot name="media" part="layer media-layer"></slot>
378
+ <slot name="poster" part="layer poster-layer"></slot>
379
+ <slot name="gestures-chrome" part="layer gesture-layer">
380
+ <media-gesture-receiver slot="gestures-chrome">
381
+ <template shadowrootmode="${La.shadowRootOptions.mode}">
382
+ ${La.getTemplateHTML({})}
383
+ </template>
384
+ </media-gesture-receiver>
385
+ </slot>
386
+ <span part="layer vertical-layer">
387
+ <slot name="top-chrome" part="top chrome"></slot>
388
+ <slot name="middle-chrome" part="middle chrome"></slot>
389
+ <slot name="centered-chrome" part="layer centered-layer center centered chrome"></slot>
390
+
391
+ <slot part="bottom chrome"></slot>
392
+ </span>
393
+ <slot name="dialog" part="layer dialog-layer"></slot>
394
+ `}var Iv=Object.values(s),Mv="sm:384 md:576 lg:768 xl:960";function Rv(i){ah(i.target,i.contentRect.width)}function ah(i,e){var t;if(!i.isConnected)return;let r=(t=i.getAttribute(R.BREAKPOINTS))!=null?t:Mv,o=xv(r),n=Pv(o,e),a=!1;if(Object.keys(o).forEach(l=>{if(n.includes(l)){i.hasAttribute(`breakpoint${l}`)||(i.setAttribute(`breakpoint${l}`,""),a=!0);return}i.hasAttribute(`breakpoint${l}`)&&(i.removeAttribute(`breakpoint${l}`),a=!0)}),a){let l=new CustomEvent(Pi.BREAKPOINTS_CHANGE,{detail:n});i.dispatchEvent(l)}i.breakpointsComputed||(i.breakpointsComputed=!0,i.dispatchEvent(new CustomEvent(Pi.BREAKPOINTS_COMPUTED,{bubbles:!0,composed:!0})))}function xv(i){let e=i.split(/\s+/);return Object.fromEntries(e.map(t=>t.split(":")))}function Pv(i,e){return Object.keys(i).filter(t=>e>=parseInt(i[t]))}var Ni=class extends d.HTMLElement{constructor(){if(super(),He(this,Gl),He(this,zl),He(this,Yl),He(this,en),He(this,Ra),He(this,Tr),He(this,Ia,0),He(this,_r,null),He(this,jo,null),He(this,yr,void 0),this.breakpointsComputed=!1,He(this,wa,new MutationObserver(Fe(this,Gl,rh).bind(this))),He(this,Jo,!1),He(this,Ca,t=>{$e(this,Jo)||(setTimeout(()=>{Rv(t),Ui(this,Jo,!1)},0),Ui(this,Jo,!0))}),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);let t=J(this.attributes),r=this.constructor.getTemplateHTML(t);this.shadowRoot.setHTMLUnsafe?this.shadowRoot.setHTMLUnsafe(r):this.shadowRoot.innerHTML=r}let e=this.querySelector(":scope > slot[slot=media]");e&&e.addEventListener("slotchange",()=>{if(!e.assignedElements({flatten:!0}).length){$e(this,_r)&&this.mediaUnsetCallback($e(this,_r));return}this.handleMediaUpdated(this.media)})}static get observedAttributes(){return[R.AUTOHIDE,R.GESTURES_DISABLED].concat(Iv).filter(e=>![s.MEDIA_RENDITION_LIST,s.MEDIA_AUDIO_TRACK_LIST,s.MEDIA_CHAPTERS_CUES,s.MEDIA_WIDTH,s.MEDIA_HEIGHT,s.MEDIA_ERROR,s.MEDIA_ERROR_MESSAGE].includes(e))}attributeChangedCallback(e,t,r){e.toLowerCase()==R.AUTOHIDE&&(this.autohide=r)}get media(){let e=this.querySelector(":scope > [slot=media]");return(e==null?void 0:e.nodeName)=="SLOT"&&(e=e.assignedElements({flatten:!0})[0]),e}async handleMediaUpdated(e){e&&(Ui(this,_r,e),e.localName.includes("-")&&await d.customElements.whenDefined(e.localName),this.mediaSetCallback(e))}connectedCallback(){var e;$e(this,wa).observe(this,{childList:!0,subtree:!0}),xt(this,$e(this,Ca));let r=this.getAttribute(R.AUDIO)!=null?E("audio player"):E("video player");this.setAttribute("role","region"),this.setAttribute("aria-label",r),this.handleMediaUpdated(this.media),this.setAttribute(R.USER_INACTIVE,""),ah(this,this.getBoundingClientRect().width),this.addEventListener("pointerdown",this),this.addEventListener("pointermove",this),this.addEventListener("pointerup",this),this.addEventListener("mouseleave",this),this.addEventListener("keyup",this),(e=d.window)==null||e.addEventListener("mouseup",this)}disconnectedCallback(){var e;$e(this,wa).disconnect(),Pt(this,$e(this,Ca)),this.media&&this.mediaUnsetCallback(this.media),(e=d.window)==null||e.removeEventListener("mouseup",this)}mediaSetCallback(e){}mediaUnsetCallback(e){Ui(this,_r,null)}handleEvent(e){switch(e.type){case"pointerdown":Ui(this,Ia,e.timeStamp);break;case"pointermove":Fe(this,zl,oh).call(this,e);break;case"pointerup":Fe(this,Yl,nh).call(this,e);break;case"mouseleave":Fe(this,en,Ma).call(this);break;case"mouseup":this.removeAttribute(R.KEYBOARD_CONTROL);break;case"keyup":Fe(this,Tr,tn).call(this),this.setAttribute(R.KEYBOARD_CONTROL,"");break}}set autohide(e){let t=Number(e);Ui(this,yr,isNaN(t)?0:t)}get autohide(){return($e(this,yr)===void 0?2:$e(this,yr)).toString()}get breakpoints(){return x(this,R.BREAKPOINTS)}set breakpoints(e){P(this,R.BREAKPOINTS,e)}get audio(){return C(this,R.AUDIO)}set audio(e){I(this,R.AUDIO,e)}get gesturesDisabled(){return C(this,R.GESTURES_DISABLED)}set gesturesDisabled(e){I(this,R.GESTURES_DISABLED,e)}get keyboardControl(){return C(this,R.KEYBOARD_CONTROL)}set keyboardControl(e){I(this,R.KEYBOARD_CONTROL,e)}get noAutohide(){return C(this,R.NO_AUTOHIDE)}set noAutohide(e){I(this,R.NO_AUTOHIDE,e)}get autohideOverControls(){return C(this,R.AUTOHIDE_OVER_CONTROLS)}set autohideOverControls(e){I(this,R.AUTOHIDE_OVER_CONTROLS,e)}get userInteractive(){return C(this,R.USER_INACTIVE)}set userInteractive(e){I(this,R.USER_INACTIVE,e)}};Ia=new WeakMap;_r=new WeakMap;jo=new WeakMap;yr=new WeakMap;wa=new WeakMap;Gl=new WeakSet;rh=function(i){let e=this.media;for(let t of i){if(t.type!=="childList")continue;let r=t.removedNodes;for(let o of r){if(o.slot!="media"||t.target!=this)continue;let n=t.previousSibling&&t.previousSibling.previousElementSibling;if(!n||!e)this.mediaUnsetCallback(o);else{let a=n.slot!=="media";for(;(n=n.previousSibling)!==null;)n.slot=="media"&&(a=!1);a&&this.mediaUnsetCallback(o)}}if(e)for(let o of t.addedNodes)o===e&&this.handleMediaUpdated(e)}};Jo=new WeakMap;Ca=new WeakMap;zl=new WeakSet;oh=function(i){if(i.pointerType!=="mouse"&&i.timeStamp-$e(this,Ia)<250)return;Fe(this,Ra,Zl).call(this),clearTimeout($e(this,jo));let e=this.hasAttribute(R.AUTOHIDE_OVER_CONTROLS);([this,this.media].includes(i.target)||e)&&Fe(this,Tr,tn).call(this)};Yl=new WeakSet;nh=function(i){if(i.pointerType==="touch"){let e=!this.hasAttribute(R.USER_INACTIVE);[this,this.media].includes(i.target)&&e?Fe(this,en,Ma).call(this):Fe(this,Tr,tn).call(this)}else i.composedPath().some(e=>["media-play-button","media-fullscreen-button"].includes(e==null?void 0:e.localName))&&Fe(this,Tr,tn).call(this)};en=new WeakSet;Ma=function(){if($e(this,yr)<0||this.hasAttribute(R.USER_INACTIVE))return;this.setAttribute(R.USER_INACTIVE,"");let i=new d.CustomEvent(Pi.USER_INACTIVE_CHANGE,{composed:!0,bubbles:!0,detail:!0});this.dispatchEvent(i)};Ra=new WeakSet;Zl=function(){if(!this.hasAttribute(R.USER_INACTIVE))return;this.removeAttribute(R.USER_INACTIVE);let i=new d.CustomEvent(Pi.USER_INACTIVE_CHANGE,{composed:!0,bubbles:!0,detail:!1});this.dispatchEvent(i)};Tr=new WeakSet;tn=function(){Fe(this,Ra,Zl).call(this),clearTimeout($e(this,jo));let i=parseInt(this.autohide);i<0||Ui(this,jo,setTimeout(()=>{Fe(this,en,Ma).call(this)},i*1e3))};Ni.shadowRootOptions={mode:"open"};Ni.getTemplateHTML=Cv;d.customElements.get("media-container")||d.customElements.define("media-container",Ni);var sh=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},ge=(i,e,t)=>(sh(i,e,"read from private field"),t?t.call(i):e.get(i)),rn=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},xa=(i,e,t,r)=>(sh(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Ar,Sr,Pa,Hi,Dt,Zt,Xt=class{constructor(e,t,{defaultValue:r}={defaultValue:void 0}){rn(this,Dt),rn(this,Ar,void 0),rn(this,Sr,void 0),rn(this,Pa,void 0),rn(this,Hi,new Set),xa(this,Ar,e),xa(this,Sr,t),xa(this,Pa,new Set(r))}[Symbol.iterator](){return ge(this,Dt,Zt).values()}get length(){return ge(this,Dt,Zt).size}get value(){var e;return(e=[...ge(this,Dt,Zt)].join(" "))!=null?e:""}set value(e){var t;e!==this.value&&(xa(this,Hi,new Set),this.add(...(t=e==null?void 0:e.split(" "))!=null?t:[]))}toString(){return this.value}item(e){return[...ge(this,Dt,Zt)][e]}values(){return ge(this,Dt,Zt).values()}forEach(e,t){ge(this,Dt,Zt).forEach(e,t)}add(...e){var t,r;e.forEach(o=>ge(this,Hi).add(o)),!(this.value===""&&!((t=ge(this,Ar))!=null&&t.hasAttribute(`${ge(this,Sr)}`)))&&((r=ge(this,Ar))==null||r.setAttribute(`${ge(this,Sr)}`,`${this.value}`))}remove(...e){var t;e.forEach(r=>ge(this,Hi).delete(r)),(t=ge(this,Ar))==null||t.setAttribute(`${ge(this,Sr)}`,`${this.value}`)}contains(e){return ge(this,Dt,Zt).has(e)}toggle(e,t){return typeof t<"u"?t?(this.add(e),!0):(this.remove(e),!1):this.contains(e)?(this.remove(e),!1):(this.add(e),!0)}replace(e,t){return this.remove(e),this.add(t),e===t}};Ar=new WeakMap;Sr=new WeakMap;Pa=new WeakMap;Hi=new WeakMap;Dt=new WeakSet;Zt=function(){return ge(this,Hi).size?ge(this,Hi):ge(this,Pa)};var Dv=(i="")=>i.split(/\s+/),lh=(i="")=>{let[e,t,r]=i.split(":"),o=r?decodeURIComponent(r):void 0;return{kind:e==="cc"?Ie.CAPTIONS:Ie.SUBTITLES,language:t,label:o}},$i=(i="",e={})=>Dv(i).map(t=>{let r=lh(t);return{...e,...r}}),Xl=i=>i?Array.isArray(i)?i.map(e=>typeof e=="string"?lh(e):e):typeof i=="string"?$i(i):[i]:[],Da=({kind:i,label:e,language:t}={kind:"subtitles"})=>e?`${i==="captions"?"cc":"sb"}:${t}:${encodeURIComponent(e)}`:t,Ot=(i=[])=>Array.prototype.map.call(i,Da).join(" "),Ov=(i,e)=>t=>t[i]===e,dh=i=>{let e=Object.entries(i).map(([t,r])=>Ov(t,r));return t=>e.every(r=>r(t))},Bi=(i,e=[],t=[])=>{let r=Xl(t).map(dh),o=n=>r.some(a=>a(n));Array.from(e).filter(o).forEach(n=>{n.mode=i})},Vi=(i,e=()=>!0)=>{if(!(i!=null&&i.textTracks))return[];let t=typeof e=="function"?e:dh(e);return Array.from(i.textTracks).filter(t)},Oa=i=>{var e;return!!((e=i.mediaSubtitlesShowing)!=null&&e.length)||i.hasAttribute(s.MEDIA_SUBTITLES_SHOWING)};var uh=i=>{var e;let{media:t,fullscreenElement:r}=i;try{let o=r&&"requestFullscreen"in r?"requestFullscreen":r&&"webkitRequestFullScreen"in r?"webkitRequestFullScreen":void 0;if(o){let n=(e=r[o])==null?void 0:e.call(r);if(n instanceof Promise)return n.catch(()=>{})}else t!=null&&t.webkitEnterFullscreen?t.webkitEnterFullscreen():t!=null&&t.requestFullscreen&&t.requestFullscreen()}catch(o){console.error(o)}},ch="exitFullscreen"in j?"exitFullscreen":"webkitExitFullscreen"in j?"webkitExitFullscreen":"webkitCancelFullScreen"in j?"webkitCancelFullScreen":void 0,hh=i=>{var e;let{documentElement:t}=i;if(ch){let r=(e=t==null?void 0:t[ch])==null?void 0:e.call(t);if(r instanceof Promise)return r.catch(()=>{})}},on="fullscreenElement"in j?"fullscreenElement":"webkitFullscreenElement"in j?"webkitFullscreenElement":void 0,Uv=i=>{let{documentElement:e,media:t}=i,r=e==null?void 0:e[on];return!r&&"webkitDisplayingFullscreen"in t&&"webkitPresentationMode"in t&&t.webkitDisplayingFullscreen&&t.webkitPresentationMode===Vu.FULLSCREEN?t:r},ph=i=>{var e;let{media:t,documentElement:r,fullscreenElement:o=t}=i;if(!t||!r)return!1;let n=Uv(i);if(!n)return!1;if(n===o||n===t)return!0;if(n.localName.includes("-")){let a=n.shadowRoot;if(!(on in a))return Ae(n,o);for(;a!=null&&a[on];){if(a[on]===o)return!0;a=(e=a[on])==null?void 0:e.shadowRoot}}return!1},Nv="fullscreenEnabled"in j?"fullscreenEnabled":"webkitFullscreenEnabled"in j?"webkitFullscreenEnabled":void 0,mh=i=>{let{documentElement:e,media:t}=i;return!!(e!=null&&e[Nv])||t&&"webkitSupportsFullscreen"in t};var Ua,Jl=()=>{var i,e;return Ua||(Ua=(e=(i=j)==null?void 0:i.createElement)==null?void 0:e.call(i,"video"),Ua)},vh=async(i=Jl())=>{if(!i)return!1;let e=i.volume;i.volume=e/2+.1;let t=new AbortController,r=await Promise.race([Hv(i,t.signal),$v(i,e)]);return t.abort(),r},Hv=(i,e)=>new Promise(t=>{i.addEventListener("volumechange",()=>t(!0),{signal:e})}),$v=async(i,e)=>{for(let t=0;t<10;t++){if(i.volume===e)return!1;await ga(10)}return i.volume!==e},Bv=/.*Version\/.*Safari\/.*/.test(d.navigator.userAgent),jl=(i=Jl())=>d.matchMedia("(display-mode: standalone)").matches&&Bv?!1:typeof(i==null?void 0:i.requestPictureInPicture)=="function",ed=(i=Jl())=>mh({documentElement:j,media:i}),fh=ed(),gh=jl(),Eh=!!d.WebKitPlaybackTargetAvailabilityEvent,bh=!!d.chrome;var kr=i=>Vi(i.media,e=>[Ie.SUBTITLES,Ie.CAPTIONS].includes(e.kind)).sort((e,t)=>e.kind>=t.kind?1:-1),td=i=>Vi(i.media,e=>e.mode===Yt.SHOWING&&[Ie.SUBTITLES,Ie.CAPTIONS].includes(e.kind)),Na=(i,e)=>{let t=kr(i),r=td(i),o=!!r.length;if(t.length){if(e===!1||o&&e!==!0)Bi(Yt.DISABLED,t,r);else if(e===!0||!o&&e!==!1){let n=t[0],{options:a}=i;if(!(a!=null&&a.noSubtitlesLangPref)){let h=globalThis.localStorage.getItem("media-chrome-pref-subtitles-lang"),p=h?[h,...globalThis.navigator.languages]:globalThis.navigator.languages,f=t.filter(m=>p.some(A=>m.language.toLowerCase().startsWith(A.split("-")[0]))).sort((m,A)=>{let g=p.findIndex(D=>m.language.toLowerCase().startsWith(D.split("-")[0])),L=p.findIndex(D=>A.language.toLowerCase().startsWith(D.split("-")[0]));return g-L});f[0]&&(n=f[0])}let{language:l,label:c,kind:v}=n;Bi(Yt.DISABLED,t,r),Bi(Yt.SHOWING,t,[{language:l,label:c,kind:v}])}}},Ha=(i,e)=>i===e?!0:i==null||e==null||typeof i!=typeof e?!1:typeof i=="number"&&Number.isNaN(i)&&Number.isNaN(e)?!0:typeof i!="object"?!1:Array.isArray(i)?Vv(i,e):Object.entries(i).every(([t,r])=>t in e&&Ha(r,e[t])),Vv=(i,e)=>{let t=Array.isArray(i),r=Array.isArray(e);return t!==r?!1:t||r?i.length!==e.length?!1:i.every((o,n)=>Ha(o,e[n])):!0};var Wv=Object.values(Ze),$a,Fv=vh().then(i=>($a=i,$a)),_h=async(...i)=>{await Promise.all(i.filter(e=>e).map(async e=>{if(!("localName"in e&&e instanceof d.HTMLElement))return;let t=e.localName;if(!t.includes("-"))return;let r=d.customElements.get(t);r&&e instanceof r||(await d.customElements.whenDefined(t),d.customElements.upgrade(e))}))},Kv=new d.DOMParser,qv=i=>i&&(Kv.parseFromString(i,"text/html").body.textContent||i),Lr={mediaError:{get(i,e){let{media:t}=i;if((e==null?void 0:e.type)!=="playing")return t==null?void 0:t.error},mediaEvents:["emptied","error","playing"]},mediaErrorCode:{get(i,e){var t;let{media:r}=i;if((e==null?void 0:e.type)!=="playing")return(t=r==null?void 0:r.error)==null?void 0:t.code},mediaEvents:["emptied","error","playing"]},mediaErrorMessage:{get(i,e){var t,r;let{media:o}=i;if((e==null?void 0:e.type)!=="playing")return(r=(t=o==null?void 0:o.error)==null?void 0:t.message)!=null?r:""},mediaEvents:["emptied","error","playing"]},mediaWidth:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.videoWidth)!=null?e:0},mediaEvents:["resize"]},mediaHeight:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.videoHeight)!=null?e:0},mediaEvents:["resize"]},mediaPaused:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.paused)!=null?e:!0},set(i,e){var t;let{media:r}=e;r&&(i?r.pause():(t=r.play())==null||t.catch(()=>{}))},mediaEvents:["play","playing","pause","emptied"]},mediaHasPlayed:{get(i,e){let{media:t}=i;return t?e?e.type==="playing":!t.paused:!1},mediaEvents:["playing","emptied"]},mediaEnded:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.ended)!=null?e:!1},mediaEvents:["seeked","ended","emptied"]},mediaPlaybackRate:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.playbackRate)!=null?e:1},set(i,e){let{media:t}=e;t&&Number.isFinite(+i)&&(t.playbackRate=+i)},mediaEvents:["ratechange","loadstart"]},mediaMuted:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.muted)!=null?e:!1},set(i,e){let{media:t,options:{noMutedPref:r}={}}=e;if(t){t.muted=i;try{let o=d.localStorage.getItem("media-chrome-pref-muted")!==null,n=t.hasAttribute("muted");if(r){o&&d.localStorage.removeItem("media-chrome-pref-muted");return}if(n&&!o)return;d.localStorage.setItem("media-chrome-pref-muted",i?"true":"false")}catch(o){console.debug("Error setting muted pref",o)}}},mediaEvents:["volumechange"],stateOwnersUpdateHandlers:[(i,e)=>{let{options:{noMutedPref:t}}=e,{media:r}=e;if(!(!r||r.muted||t))try{let o=d.localStorage.getItem("media-chrome-pref-muted")==="true";Lr.mediaMuted.set(o,e),i(o)}catch(o){console.debug("Error getting muted pref",o)}}]},mediaLoop:{get(i){let{media:e}=i;return e==null?void 0:e.loop},set(i,e){let{media:t}=e;t&&(t.loop=i)},mediaEvents:["medialooprequest"]},mediaVolume:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.volume)!=null?e:1},set(i,e){let{media:t,options:{noVolumePref:r}={}}=e;if(t){try{i==null?d.localStorage.removeItem("media-chrome-pref-volume"):!t.hasAttribute("muted")&&!r&&d.localStorage.setItem("media-chrome-pref-volume",i.toString())}catch(o){console.debug("Error setting volume pref",o)}Number.isFinite(+i)&&(t.volume=+i)}},mediaEvents:["volumechange"],stateOwnersUpdateHandlers:[(i,e)=>{let{options:{noVolumePref:t}}=e;if(!t)try{let{media:r}=e;if(!r)return;let o=d.localStorage.getItem("media-chrome-pref-volume");if(o==null)return;Lr.mediaVolume.set(+o,e),i(+o)}catch(r){console.debug("Error getting volume pref",r)}}]},mediaVolumeLevel:{get(i){let{media:e}=i;return typeof(e==null?void 0:e.volume)>"u"?"high":e.muted||e.volume===0?"off":e.volume<.5?"low":e.volume<.75?"medium":"high"},mediaEvents:["volumechange"]},mediaCurrentTime:{get(i){var e;let{media:t}=i;return(e=t==null?void 0:t.currentTime)!=null?e:0},set(i,e){let{media:t}=e;!t||!Er(i)||(t.currentTime=i)},mediaEvents:["timeupdate","loadedmetadata"]},mediaDuration:{get(i){let{media:e,options:{defaultDuration:t}={}}=i;return t&&(!e||!e.duration||Number.isNaN(e.duration)||!Number.isFinite(e.duration))?t:Number.isFinite(e==null?void 0:e.duration)?e.duration:Number.NaN},mediaEvents:["durationchange","loadedmetadata","emptied"]},mediaLoading:{get(i){let{media:e}=i;return(e==null?void 0:e.readyState)<3},mediaEvents:["waiting","playing","emptied"]},mediaSeekable:{get(i){var e;let{media:t}=i;if(!((e=t==null?void 0:t.seekable)!=null&&e.length))return;let r=t.seekable.start(0),o=t.seekable.end(t.seekable.length-1);if(!(!r&&!o))return[Number(r.toFixed(3)),Number(o.toFixed(3))]},mediaEvents:["loadedmetadata","emptied","progress","seekablechange"]},mediaBuffered:{get(i){var e;let{media:t}=i,r=(e=t==null?void 0:t.buffered)!=null?e:[];return Array.from(r).map((o,n)=>[Number(r.start(n).toFixed(3)),Number(r.end(n).toFixed(3))])},mediaEvents:["progress","emptied"]},mediaStreamType:{get(i){let{media:e,options:{defaultStreamType:t}={}}=i,r=[Ze.LIVE,Ze.ON_DEMAND].includes(t)?t:void 0;if(!e)return r;let{streamType:o}=e;if(Wv.includes(o))return o===Ze.UNKNOWN?r:o;let n=e.duration;return n===1/0?Ze.LIVE:Number.isFinite(n)?Ze.ON_DEMAND:r},mediaEvents:["emptied","durationchange","loadedmetadata","streamtypechange"]},mediaTargetLiveWindow:{get(i){let{media:e}=i;if(!e)return Number.NaN;let{targetLiveWindow:t}=e,r=Lr.mediaStreamType.get(i);return(t==null||Number.isNaN(t))&&r===Ze.LIVE?0:t},mediaEvents:["emptied","durationchange","loadedmetadata","streamtypechange","targetlivewindowchange"]},mediaTimeIsLive:{get(i){let{media:e,options:{liveEdgeOffset:t=10}={}}=i;if(!e)return!1;if(typeof e.liveEdgeStart=="number")return Number.isNaN(e.liveEdgeStart)?!1:e.currentTime>=e.liveEdgeStart;if(!(Lr.mediaStreamType.get(i)===Ze.LIVE))return!1;let o=e.seekable;if(!o)return!0;if(!o.length)return!1;let n=o.end(o.length-1)-t;return e.currentTime>=n},mediaEvents:["playing","timeupdate","progress","waiting","emptied"]},mediaSubtitlesList:{get(i){return kr(i).map(({kind:e,label:t,language:r})=>({kind:e,label:t,language:r}))},mediaEvents:["loadstart"],textTracksEvents:["addtrack","removetrack"]},mediaSubtitlesShowing:{get(i){return td(i).map(({kind:e,label:t,language:r})=>({kind:e,label:t,language:r}))},mediaEvents:["loadstart"],textTracksEvents:["addtrack","removetrack","change"],stateOwnersUpdateHandlers:[(i,e)=>{var t,r;let{media:o,options:n}=e;if(!o)return;let a=l=>{var c;!n.defaultSubtitles||l&&![Ie.CAPTIONS,Ie.SUBTITLES].includes((c=l==null?void 0:l.track)==null?void 0:c.kind)||Na(e,!0)};return o.addEventListener("loadstart",a),(t=o.textTracks)==null||t.addEventListener("addtrack",a),(r=o.textTracks)==null||r.addEventListener("removetrack",a),()=>{var l,c;o.removeEventListener("loadstart",a),(l=o.textTracks)==null||l.removeEventListener("addtrack",a),(c=o.textTracks)==null||c.removeEventListener("removetrack",a)}}]},mediaChaptersCues:{get(i){var e;let{media:t}=i;if(!t)return[];let[r]=Vi(t,{kind:Ie.CHAPTERS});return Array.from((e=r==null?void 0:r.cues)!=null?e:[]).map(({text:o,startTime:n,endTime:a})=>({text:qv(o),startTime:n,endTime:a}))},mediaEvents:["loadstart","loadedmetadata"],textTracksEvents:["addtrack","removetrack","change"],stateOwnersUpdateHandlers:[(i,e)=>{var t;let{media:r}=e;if(!r)return;let o=r.querySelector('track[kind="chapters"][default][src]'),n=(t=r.shadowRoot)==null?void 0:t.querySelector(':is(video,audio) > track[kind="chapters"][default][src]');return o==null||o.addEventListener("load",i),n==null||n.addEventListener("load",i),()=>{o==null||o.removeEventListener("load",i),n==null||n.removeEventListener("load",i)}}]},mediaIsPip:{get(i){var e,t;let{media:r,documentElement:o}=i;if(!r||!o||!o.pictureInPictureElement)return!1;if(o.pictureInPictureElement===r)return!0;if(o.pictureInPictureElement instanceof HTMLMediaElement)return(e=r.localName)!=null&&e.includes("-")?Ae(r,o.pictureInPictureElement):!1;if(o.pictureInPictureElement.localName.includes("-")){let n=o.pictureInPictureElement.shadowRoot;for(;n!=null&&n.pictureInPictureElement;){if(n.pictureInPictureElement===r)return!0;n=(t=n.pictureInPictureElement)==null?void 0:t.shadowRoot}}return!1},set(i,e){let{media:t}=e;if(t)if(i){if(!j.pictureInPictureEnabled){console.warn("MediaChrome: Picture-in-picture is not enabled");return}if(!t.requestPictureInPicture){console.warn("MediaChrome: The current media does not support picture-in-picture");return}let r=()=>{console.warn("MediaChrome: The media is not ready for picture-in-picture. It must have a readyState > 0.")};t.requestPictureInPicture().catch(o=>{if(o.code===11){if(!t.src){console.warn("MediaChrome: The media is not ready for picture-in-picture. It must have a src set.");return}if(t.readyState===0&&t.preload==="none"){let n=()=>{t.removeEventListener("loadedmetadata",a),t.preload="none"},a=()=>{t.requestPictureInPicture().catch(r),n()};t.addEventListener("loadedmetadata",a),t.preload="metadata",setTimeout(()=>{t.readyState===0&&r(),n()},1e3)}else throw o}else throw o})}else j.pictureInPictureElement&&j.exitPictureInPicture()},mediaEvents:["enterpictureinpicture","leavepictureinpicture"]},mediaRenditionList:{get(i){var e;let{media:t}=i;return[...(e=t==null?void 0:t.videoRenditions)!=null?e:[]].map(r=>({...r}))},mediaEvents:["emptied","loadstart"],videoRenditionsEvents:["addrendition","removerendition"]},mediaRenditionSelected:{get(i){var e,t,r;let{media:o}=i;return(r=(t=o==null?void 0:o.videoRenditions)==null?void 0:t[(e=o.videoRenditions)==null?void 0:e.selectedIndex])==null?void 0:r.id},set(i,e){let{media:t}=e;if(!(t!=null&&t.videoRenditions)){console.warn("MediaController: Rendition selection not supported by this media.");return}let r=i,o=Array.prototype.findIndex.call(t.videoRenditions,n=>n.id==r);t.videoRenditions.selectedIndex!=o&&(t.videoRenditions.selectedIndex=o)},mediaEvents:["emptied"],videoRenditionsEvents:["addrendition","removerendition","change"]},mediaAudioTrackList:{get(i){var e;let{media:t}=i;return[...(e=t==null?void 0:t.audioTracks)!=null?e:[]]},mediaEvents:["emptied","loadstart"],audioTracksEvents:["addtrack","removetrack"]},mediaAudioTrackEnabled:{get(i){var e,t;let{media:r}=i;return(t=[...(e=r==null?void 0:r.audioTracks)!=null?e:[]].find(o=>o.enabled))==null?void 0:t.id},set(i,e){let{media:t}=e;if(!(t!=null&&t.audioTracks)){console.warn("MediaChrome: Audio track selection not supported by this media.");return}let r=i;for(let o of t.audioTracks)o.enabled=r==o.id},mediaEvents:["emptied"],audioTracksEvents:["addtrack","removetrack","change"]},mediaIsFullscreen:{get(i){return ph(i)},set(i,e,t){var r;i?(uh(e),t.detail&&((r=e.media)==null||r.focus())):hh(e)},rootEvents:["fullscreenchange","webkitfullscreenchange"],mediaEvents:["webkitbeginfullscreen","webkitendfullscreen","webkitpresentationmodechanged"]},mediaIsCasting:{get(i){var e;let{media:t}=i;return!(t!=null&&t.remote)||((e=t.remote)==null?void 0:e.state)==="disconnected"?!1:!!t.remote.state},set(i,e){var t,r;let{media:o}=e;if(o&&!(i&&((t=o.remote)==null?void 0:t.state)!=="disconnected")&&!(!i&&((r=o.remote)==null?void 0:r.state)!=="connected")){if(typeof o.remote.prompt!="function"){console.warn("MediaChrome: Casting is not supported in this environment");return}o.remote.prompt().catch(()=>{})}},remoteEvents:["connect","connecting","disconnect"]},mediaIsAirplaying:{get(){return!1},set(i,e){let{media:t}=e;if(t){if(!(t.webkitShowPlaybackTargetPicker&&d.WebKitPlaybackTargetAvailabilityEvent)){console.error("MediaChrome: received a request to select AirPlay but AirPlay is not supported in this environment");return}t.webkitShowPlaybackTargetPicker()}},mediaEvents:["webkitcurrentplaybacktargetiswirelesschanged"]},mediaFullscreenUnavailable:{get(i){let{media:e}=i;if(!fh||!ed(e))return Me.UNSUPPORTED}},mediaPipUnavailable:{get(i){let{media:e}=i;if(!gh||!jl(e))return Me.UNSUPPORTED;if(e!=null&&e.disablePictureInPicture)return Me.UNAVAILABLE}},mediaVolumeUnavailable:{get(i){let{media:e}=i;if($a===!1||(e==null?void 0:e.volume)==null)return Me.UNSUPPORTED},stateOwnersUpdateHandlers:[i=>{$a==null&&Fv.then(e=>i(e?void 0:Me.UNSUPPORTED))}]},mediaCastUnavailable:{get(i,{availability:e="not-available"}={}){var t;let{media:r}=i;if(!bh||!((t=r==null?void 0:r.remote)!=null&&t.state))return Me.UNSUPPORTED;if(!(e==null||e==="available"))return Me.UNAVAILABLE},stateOwnersUpdateHandlers:[(i,e)=>{var t;let{media:r}=e;return r?(r.disableRemotePlayback||r.hasAttribute("disableremoteplayback")||(t=r==null?void 0:r.remote)==null||t.watchAvailability(n=>{i({availability:n?"available":"not-available"})}).catch(n=>{n.name==="NotSupportedError"?i({availability:null}):i({availability:"not-available"})}),()=>{var n;(n=r==null?void 0:r.remote)==null||n.cancelWatchAvailability().catch(()=>{})}):void 0}]},mediaAirplayUnavailable:{get(i,e){if(!Eh)return Me.UNSUPPORTED;if((e==null?void 0:e.availability)==="not-available")return Me.UNAVAILABLE},mediaEvents:["webkitplaybacktargetavailabilitychanged"],stateOwnersUpdateHandlers:[(i,e)=>{var t;let{media:r}=e;return r?(r.disableRemotePlayback||r.hasAttribute("disableremoteplayback")||(t=r==null?void 0:r.remote)==null||t.watchAvailability(n=>{i({availability:n?"available":"not-available"})}).catch(n=>{n.name==="NotSupportedError"?i({availability:null}):i({availability:"not-available"})}),()=>{var n;(n=r==null?void 0:r.remote)==null||n.cancelWatchAvailability().catch(()=>{})}):void 0}]},mediaRenditionUnavailable:{get(i){var e;let{media:t}=i;if(!(t!=null&&t.videoRenditions))return Me.UNSUPPORTED;if(!((e=t.videoRenditions)!=null&&e.length))return Me.UNAVAILABLE},mediaEvents:["emptied","loadstart"],videoRenditionsEvents:["addrendition","removerendition"]},mediaAudioTrackUnavailable:{get(i){var e,t;let{media:r}=i;if(!(r!=null&&r.audioTracks))return Me.UNSUPPORTED;if(((t=(e=r.audioTracks)==null?void 0:e.length)!=null?t:0)<=1)return Me.UNAVAILABLE},mediaEvents:["emptied","loadstart"],audioTracksEvents:["addtrack","removetrack"]},mediaLang:{get(i){let{options:{mediaLang:e}={}}=i;return e??"en"}}};var yh={[b.MEDIA_PREVIEW_REQUEST](i,e,{detail:t}){var r,o,n;let{media:a}=e,l=t??void 0,c,v;if(a&&l!=null){let[m]=Vi(a,{kind:Ie.METADATA,label:"thumbnails"}),A=Array.prototype.find.call((r=m==null?void 0:m.cues)!=null?r:[],(g,L,D)=>L===0?g.endTime>l:L===D.length-1?g.startTime<=l:g.startTime<=l&&g.endTime>l);if(A){let g=/'^(?:[a-z]+:)?\/\//i.test(A.text)||(o=a==null?void 0:a.querySelector('track[label="thumbnails"]'))==null?void 0:o.src,L=new URL(A.text,g);v=new URLSearchParams(L.hash).get("#xywh").split(",").map(Ue=>+Ue),c=L.href}}let h=i.mediaDuration.get(e),f=(n=i.mediaChaptersCues.get(e).find((m,A,g)=>A===g.length-1&&h===m.endTime?m.startTime<=l&&m.endTime>=l:m.startTime<=l&&m.endTime>l))==null?void 0:n.text;return t!=null&&f==null&&(f=""),{mediaPreviewTime:l,mediaPreviewImage:c,mediaPreviewCoords:v,mediaPreviewChapter:f}},[b.MEDIA_PAUSE_REQUEST](i,e){i["mediaPaused"].set(!0,e)},[b.MEDIA_PLAY_REQUEST](i,e){var t,r,o,n;let a="mediaPaused",c=i.mediaStreamType.get(e)===Ze.LIVE,v=!((t=e.options)!=null&&t.noAutoSeekToLive),h=i.mediaTargetLiveWindow.get(e)>0;if(c&&v&&!h){let p=(r=i.mediaSeekable.get(e))==null?void 0:r[1];if(p){let f=(n=(o=e.options)==null?void 0:o.seekToLiveOffset)!=null?n:0,m=p-f;i.mediaCurrentTime.set(m,e)}}i[a].set(!1,e)},[b.MEDIA_PLAYBACK_RATE_REQUEST](i,e,{detail:t}){let r="mediaPlaybackRate",o=t;i[r].set(o,e)},[b.MEDIA_MUTE_REQUEST](i,e){i["mediaMuted"].set(!0,e)},[b.MEDIA_UNMUTE_REQUEST](i,e){let t="mediaMuted";i.mediaVolume.get(e)||i.mediaVolume.set(.25,e),i[t].set(!1,e)},[b.MEDIA_LOOP_REQUEST](i,e,{detail:t}){let r="mediaLoop",o=!!t;return i[r].set(o,e),{mediaLoop:o}},[b.MEDIA_VOLUME_REQUEST](i,e,{detail:t}){let r="mediaVolume",o=t;o&&i.mediaMuted.get(e)&&i.mediaMuted.set(!1,e),i[r].set(o,e)},[b.MEDIA_SEEK_REQUEST](i,e,{detail:t}){let r="mediaCurrentTime",o=t;i[r].set(o,e)},[b.MEDIA_SEEK_TO_LIVE_REQUEST](i,e){var t,r,o;let n="mediaCurrentTime",a=(t=i.mediaSeekable.get(e))==null?void 0:t[1];if(Number.isNaN(Number(a)))return;let l=(o=(r=e.options)==null?void 0:r.seekToLiveOffset)!=null?o:0,c=a-l;i[n].set(c,e)},[b.MEDIA_SHOW_SUBTITLES_REQUEST](i,e,{detail:t}){var r;let{options:o}=e,n=kr(e),a=Xl(t),l=(r=a[0])==null?void 0:r.language;l&&!o.noSubtitlesLangPref&&d.localStorage.setItem("media-chrome-pref-subtitles-lang",l),Bi(Yt.SHOWING,n,a)},[b.MEDIA_DISABLE_SUBTITLES_REQUEST](i,e,{detail:t}){let r=kr(e),o=t??[];Bi(Yt.DISABLED,r,o)},[b.MEDIA_TOGGLE_SUBTITLES_REQUEST](i,e,{detail:t}){Na(e,t)},[b.MEDIA_RENDITION_REQUEST](i,e,{detail:t}){let r="mediaRenditionSelected",o=t;i[r].set(o,e)},[b.MEDIA_AUDIO_TRACK_REQUEST](i,e,{detail:t}){let r="mediaAudioTrackEnabled",o=t;i[r].set(o,e)},[b.MEDIA_ENTER_PIP_REQUEST](i,e){let t="mediaIsPip";i.mediaIsFullscreen.get(e)&&i.mediaIsFullscreen.set(!1,e),i[t].set(!0,e)},[b.MEDIA_EXIT_PIP_REQUEST](i,e){i["mediaIsPip"].set(!1,e)},[b.MEDIA_ENTER_FULLSCREEN_REQUEST](i,e,t){let r="mediaIsFullscreen";i.mediaIsPip.get(e)&&i.mediaIsPip.set(!1,e),i[r].set(!0,e,t)},[b.MEDIA_EXIT_FULLSCREEN_REQUEST](i,e){i["mediaIsFullscreen"].set(!1,e)},[b.MEDIA_ENTER_CAST_REQUEST](i,e){let t="mediaIsCasting";i.mediaIsFullscreen.get(e)&&i.mediaIsFullscreen.set(!1,e),i[t].set(!0,e)},[b.MEDIA_EXIT_CAST_REQUEST](i,e){i["mediaIsCasting"].set(!1,e)},[b.MEDIA_AIRPLAY_REQUEST](i,e){i["mediaIsAirplaying"].set(!0,e)}};var Th=({media:i,fullscreenElement:e,documentElement:t,stateMediator:r=Lr,requestMap:o=yh,options:n={},monitorStateOwnersOnlyWithSubscriptions:a=!0})=>{let l=[],c={options:{...n}},v=Object.freeze({mediaPreviewTime:void 0,mediaPreviewImage:void 0,mediaPreviewCoords:void 0,mediaPreviewChapter:void 0}),h=g=>{g!=null&&(Ha(g,v)||(v=Object.freeze({...v,...g}),l.forEach(L=>L(v))))},p=()=>{let g=Object.entries(r).reduce((L,[D,{get:Ue}])=>(L[D]=Ue(c),L),{});h(g)},f={},m,A=async(g,L)=>{var D,Ue,ot,Mo,cr,Vc,kl,k,K,ne,te,G,he,Mt,Ro,Wc;let Rm=!!m;if(m={...c,...m??{},...g},Rm)return;await _h(...Object.values(g));let ur=l.length>0&&L===0&&a,Fc=c.media!==m.media,Kc=((D=c.media)==null?void 0:D.textTracks)!==((Ue=m.media)==null?void 0:Ue.textTracks),qc=((ot=c.media)==null?void 0:ot.videoRenditions)!==((Mo=m.media)==null?void 0:Mo.videoRenditions),Gc=((cr=c.media)==null?void 0:cr.audioTracks)!==((Vc=m.media)==null?void 0:Vc.audioTracks),zc=((kl=c.media)==null?void 0:kl.remote)!==((k=m.media)==null?void 0:k.remote),Yc=c.documentElement!==m.documentElement,Qc=!!c.media&&(Fc||ur),Zc=!!((K=c.media)!=null&&K.textTracks)&&(Kc||ur),Xc=!!((ne=c.media)!=null&&ne.videoRenditions)&&(qc||ur),Jc=!!((te=c.media)!=null&&te.audioTracks)&&(Gc||ur),jc=!!((G=c.media)!=null&&G.remote)&&(zc||ur),eu=!!c.documentElement&&(Yc||ur),Ll=Qc||Zc||Xc||Jc||jc||eu,hr=l.length===0&&L===1&&a,w=!!m.media&&(Fc||hr),tu=!!((he=m.media)!=null&&he.textTracks)&&(Kc||hr),iu=!!((Mt=m.media)!=null&&Mt.videoRenditions)&&(qc||hr),ru=!!((Ro=m.media)!=null&&Ro.audioTracks)&&(Gc||hr),ou=!!((Wc=m.media)!=null&&Wc.remote)&&(zc||hr),nu=!!m.documentElement&&(Yc||hr),au=w||tu||iu||ru||ou||nu;if(!(Ll||au)){Object.entries(m).forEach(([z,xo])=>{c[z]=xo}),p(),m=void 0;return}Object.entries(r).forEach(([z,{get:xo,mediaEvents:xm=[],textTracksEvents:Pm=[],videoRenditionsEvents:Dm=[],audioTracksEvents:Om=[],remoteEvents:Um=[],rootEvents:Nm=[],stateOwnersUpdateHandlers:Hm=[]}])=>{f[z]||(f[z]={});let Ne=ie=>{let ce=xo(c,ie);h({[z]:ce})},ve;ve=f[z].mediaEvents,xm.forEach(ie=>{ve&&Qc&&(c.media.removeEventListener(ie,ve),f[z].mediaEvents=void 0),w&&(m.media.addEventListener(ie,Ne),f[z].mediaEvents=Ne)}),ve=f[z].textTracksEvents,Pm.forEach(ie=>{var ce,Qe;ve&&Zc&&((ce=c.media.textTracks)==null||ce.removeEventListener(ie,ve),f[z].textTracksEvents=void 0),tu&&((Qe=m.media.textTracks)==null||Qe.addEventListener(ie,Ne),f[z].textTracksEvents=Ne)}),ve=f[z].videoRenditionsEvents,Dm.forEach(ie=>{var ce,Qe;ve&&Xc&&((ce=c.media.videoRenditions)==null||ce.removeEventListener(ie,ve),f[z].videoRenditionsEvents=void 0),iu&&((Qe=m.media.videoRenditions)==null||Qe.addEventListener(ie,Ne),f[z].videoRenditionsEvents=Ne)}),ve=f[z].audioTracksEvents,Om.forEach(ie=>{var ce,Qe;ve&&Jc&&((ce=c.media.audioTracks)==null||ce.removeEventListener(ie,ve),f[z].audioTracksEvents=void 0),ru&&((Qe=m.media.audioTracks)==null||Qe.addEventListener(ie,Ne),f[z].audioTracksEvents=Ne)}),ve=f[z].remoteEvents,Um.forEach(ie=>{var ce,Qe;ve&&jc&&((ce=c.media.remote)==null||ce.removeEventListener(ie,ve),f[z].remoteEvents=void 0),ou&&((Qe=m.media.remote)==null||Qe.addEventListener(ie,Ne),f[z].remoteEvents=Ne)}),ve=f[z].rootEvents,Nm.forEach(ie=>{ve&&eu&&(c.documentElement.removeEventListener(ie,ve),f[z].rootEvents=void 0),nu&&(m.documentElement.addEventListener(ie,Ne),f[z].rootEvents=Ne)});let na=f[z].stateOwnersUpdateHandlers;if(na&&Ll&&(Array.isArray(na)?na:[na]).forEach(ce=>{typeof ce=="function"&&ce()}),au){let ie=Hm.map(ce=>ce(Ne,m)).filter(ce=>typeof ce=="function");f[z].stateOwnersUpdateHandlers=ie.length===1?ie[0]:ie}else Ll&&(f[z].stateOwnersUpdateHandlers=void 0)}),Object.entries(m).forEach(([z,xo])=>{c[z]=xo}),p(),m=void 0};return A({media:i,fullscreenElement:e,documentElement:t,options:n}),{dispatch(g){let{type:L,detail:D}=g;if(o[L]&&v.mediaErrorCode==null){h(o[L](r,c,g));return}L==="mediaelementchangerequest"?A({media:D}):L==="fullscreenelementchangerequest"?A({fullscreenElement:D}):L==="documentelementchangerequest"?A({documentElement:D}):L==="optionschangerequest"&&(Object.entries(D??{}).forEach(([Ue,ot])=>{c.options[Ue]=ot}),p())},getState(){return v},subscribe(g){return A({},l.length+1),l.push(g),g(v),()=>{let L=l.indexOf(g);L>=0&&(A({},l.length-1),l.splice(L,1))}}}};var sd=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},M=(i,e,t)=>(sd(i,e,"read from private field"),t?t.call(i):e.get(i)),Ke=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},st=(i,e,t,r)=>(sd(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),dt=(i,e,t)=>(sd(i,e,"access private method"),t),Jt,nn,V,Fi,an,lt,Ba,sn,Va,id,Ki,wr,Wa,rd,od,Ih,Mh=["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Enter"," ","f","m","k","c","l","j",">","<","p"],Ah=10,Sh=.025,kh=.25,Gv=.25,zv=2,y={DEFAULT_SUBTITLES:"defaultsubtitles",DEFAULT_STREAM_TYPE:"defaultstreamtype",DEFAULT_DURATION:"defaultduration",FULLSCREEN_ELEMENT:"fullscreenelement",HOTKEYS:"hotkeys",KEYBOARD_BACKWARD_SEEK_OFFSET:"keyboardbackwardseekoffset",KEYBOARD_FORWARD_SEEK_OFFSET:"keyboardforwardseekoffset",KEYBOARD_DOWN_VOLUME_STEP:"keyboarddownvolumestep",KEYBOARD_UP_VOLUME_STEP:"keyboardupvolumestep",KEYS_USED:"keysused",LANG:"lang",LOOP:"loop",LIVE_EDGE_OFFSET:"liveedgeoffset",NO_AUTO_SEEK_TO_LIVE:"noautoseektolive",NO_DEFAULT_STORE:"nodefaultstore",NO_HOTKEYS:"nohotkeys",NO_MUTED_PREF:"nomutedpref",NO_SUBTITLES_LANG_PREF:"nosubtitleslangpref",NO_VOLUME_PREF:"novolumepref",SEEK_TO_LIVE_OFFSET:"seektoliveoffset"},nd=class extends Ni{constructor(){super(),Ke(this,Va),Ke(this,Ki),Ke(this,Wa),Ke(this,od),this.mediaStateReceivers=[],this.associatedElementSubscriptions=new Map,Ke(this,Jt,new Xt(this,y.HOTKEYS)),Ke(this,nn,void 0),Ke(this,V,void 0),Ke(this,Fi,null),Ke(this,an,void 0),Ke(this,lt,void 0),Ke(this,Ba,t=>{var r;(r=M(this,V))==null||r.dispatch(t)}),Ke(this,sn,void 0),this.associateElement(this);let e={};st(this,an,t=>{Object.entries(t).forEach(([r,o])=>{if(r in e&&e[r]===o)return;this.propagateMediaState(r,o);let n=r.toLowerCase(),a=new d.CustomEvent(Bu[n],{composed:!0,detail:o});this.dispatchEvent(a)}),e=t}),this.hasAttribute(y.NO_HOTKEYS)?this.disableHotkeys():this.enableHotkeys()}static get observedAttributes(){return super.observedAttributes.concat(y.NO_HOTKEYS,y.HOTKEYS,y.DEFAULT_STREAM_TYPE,y.DEFAULT_SUBTITLES,y.DEFAULT_DURATION,y.NO_MUTED_PREF,y.NO_VOLUME_PREF,y.LANG,y.LOOP)}get mediaStore(){return M(this,V)}set mediaStore(e){var t,r;if(M(this,V)&&((t=M(this,lt))==null||t.call(this),st(this,lt,void 0)),st(this,V,e),!M(this,V)&&!this.hasAttribute(y.NO_DEFAULT_STORE)){dt(this,Va,id).call(this);return}st(this,lt,(r=M(this,V))==null?void 0:r.subscribe(M(this,an)))}get fullscreenElement(){var e;return(e=M(this,nn))!=null?e:this}set fullscreenElement(e){var t;this.hasAttribute(y.FULLSCREEN_ELEMENT)&&this.removeAttribute(y.FULLSCREEN_ELEMENT),st(this,nn,e),(t=M(this,V))==null||t.dispatch({type:"fullscreenelementchangerequest",detail:this.fullscreenElement})}get defaultSubtitles(){return C(this,y.DEFAULT_SUBTITLES)}set defaultSubtitles(e){I(this,y.DEFAULT_SUBTITLES,e)}get defaultStreamType(){return x(this,y.DEFAULT_STREAM_TYPE)}set defaultStreamType(e){P(this,y.DEFAULT_STREAM_TYPE,e)}get defaultDuration(){return H(this,y.DEFAULT_DURATION)}set defaultDuration(e){B(this,y.DEFAULT_DURATION,e)}get noHotkeys(){return C(this,y.NO_HOTKEYS)}set noHotkeys(e){I(this,y.NO_HOTKEYS,e)}get keysUsed(){return x(this,y.KEYS_USED)}set keysUsed(e){P(this,y.KEYS_USED,e)}get liveEdgeOffset(){return H(this,y.LIVE_EDGE_OFFSET)}set liveEdgeOffset(e){B(this,y.LIVE_EDGE_OFFSET,e)}get noAutoSeekToLive(){return C(this,y.NO_AUTO_SEEK_TO_LIVE)}set noAutoSeekToLive(e){I(this,y.NO_AUTO_SEEK_TO_LIVE,e)}get noVolumePref(){return C(this,y.NO_VOLUME_PREF)}set noVolumePref(e){I(this,y.NO_VOLUME_PREF,e)}get noMutedPref(){return C(this,y.NO_MUTED_PREF)}set noMutedPref(e){I(this,y.NO_MUTED_PREF,e)}get noSubtitlesLangPref(){return C(this,y.NO_SUBTITLES_LANG_PREF)}set noSubtitlesLangPref(e){I(this,y.NO_SUBTITLES_LANG_PREF,e)}get noDefaultStore(){return C(this,y.NO_DEFAULT_STORE)}set noDefaultStore(e){I(this,y.NO_DEFAULT_STORE,e)}attributeChangedCallback(e,t,r){var o,n,a,l,c,v,h,p,f,m,A,g;if(super.attributeChangedCallback(e,t,r),e===y.NO_HOTKEYS)r!==t&&r===""?(this.hasAttribute(y.HOTKEYS)&&console.warn("Media Chrome: Both `hotkeys` and `nohotkeys` have been set. All hotkeys will be disabled."),this.disableHotkeys()):r!==t&&r===null&&this.enableHotkeys();else if(e===y.HOTKEYS)M(this,Jt).value=r;else if(e===y.DEFAULT_SUBTITLES&&r!==t)(o=M(this,V))==null||o.dispatch({type:"optionschangerequest",detail:{defaultSubtitles:this.hasAttribute(y.DEFAULT_SUBTITLES)}});else if(e===y.DEFAULT_STREAM_TYPE)(a=M(this,V))==null||a.dispatch({type:"optionschangerequest",detail:{defaultStreamType:(n=this.getAttribute(y.DEFAULT_STREAM_TYPE))!=null?n:void 0}});else if(e===y.LIVE_EDGE_OFFSET)(l=M(this,V))==null||l.dispatch({type:"optionschangerequest",detail:{liveEdgeOffset:this.hasAttribute(y.LIVE_EDGE_OFFSET)?+this.getAttribute(y.LIVE_EDGE_OFFSET):void 0,seekToLiveOffset:this.hasAttribute(y.SEEK_TO_LIVE_OFFSET)?void 0:+this.getAttribute(y.LIVE_EDGE_OFFSET)}});else if(e===y.SEEK_TO_LIVE_OFFSET)(c=M(this,V))==null||c.dispatch({type:"optionschangerequest",detail:{seekToLiveOffset:this.hasAttribute(y.SEEK_TO_LIVE_OFFSET)?+this.getAttribute(y.SEEK_TO_LIVE_OFFSET):void 0}});else if(e===y.NO_AUTO_SEEK_TO_LIVE)(v=M(this,V))==null||v.dispatch({type:"optionschangerequest",detail:{noAutoSeekToLive:this.hasAttribute(y.NO_AUTO_SEEK_TO_LIVE)}});else if(e===y.FULLSCREEN_ELEMENT){let L=r?(h=this.getRootNode())==null?void 0:h.getElementById(r):void 0;st(this,nn,L),(p=M(this,V))==null||p.dispatch({type:"fullscreenelementchangerequest",detail:this.fullscreenElement})}else e===y.LANG&&r!==t?(Qu(r),(f=M(this,V))==null||f.dispatch({type:"optionschangerequest",detail:{mediaLang:r}})):e===y.LOOP&&r!==t?(m=M(this,V))==null||m.dispatch({type:b.MEDIA_LOOP_REQUEST,detail:r!=null}):e===y.NO_VOLUME_PREF&&r!==t?(A=M(this,V))==null||A.dispatch({type:"optionschangerequest",detail:{noVolumePref:this.hasAttribute(y.NO_VOLUME_PREF)}}):e===y.NO_MUTED_PREF&&r!==t&&((g=M(this,V))==null||g.dispatch({type:"optionschangerequest",detail:{noMutedPref:this.hasAttribute(y.NO_MUTED_PREF)}}))}connectedCallback(){var e,t;!M(this,V)&&!this.hasAttribute(y.NO_DEFAULT_STORE)&&dt(this,Va,id).call(this),(e=M(this,V))==null||e.dispatch({type:"documentelementchangerequest",detail:j}),super.connectedCallback(),M(this,V)&&!M(this,lt)&&st(this,lt,(t=M(this,V))==null?void 0:t.subscribe(M(this,an))),M(this,sn)!==void 0&&M(this,V)&&this.media&&setTimeout(()=>{var r,o,n;(o=(r=this.media)==null?void 0:r.textTracks)!=null&&o.length&&((n=M(this,V))==null||n.dispatch({type:b.MEDIA_TOGGLE_SUBTITLES_REQUEST,detail:M(this,sn)}))},0),this.hasAttribute(y.NO_HOTKEYS)?this.disableHotkeys():this.enableHotkeys()}disconnectedCallback(){var e,t,r,o,n;if((e=super.disconnectedCallback)==null||e.call(this),M(this,V)){let a=M(this,V).getState();st(this,sn,!!((t=a.mediaSubtitlesShowing)!=null&&t.length)),(r=M(this,V))==null||r.dispatch({type:"documentelementchangerequest",detail:void 0}),(o=M(this,V))==null||o.dispatch({type:b.MEDIA_TOGGLE_SUBTITLES_REQUEST,detail:!1})}M(this,lt)&&((n=M(this,lt))==null||n.call(this),st(this,lt,void 0))}mediaSetCallback(e){var t;super.mediaSetCallback(e),(t=M(this,V))==null||t.dispatch({type:"mediaelementchangerequest",detail:e}),e.hasAttribute("tabindex")||(e.tabIndex=-1)}mediaUnsetCallback(e){var t;super.mediaUnsetCallback(e),(t=M(this,V))==null||t.dispatch({type:"mediaelementchangerequest",detail:void 0})}propagateMediaState(e,t){Ch(this.mediaStateReceivers,e,t)}associateElement(e){if(!e)return;let{associatedElementSubscriptions:t}=this;if(t.has(e))return;let r=this.registerMediaStateReceiver.bind(this),o=this.unregisterMediaStateReceiver.bind(this),n=jv(e,r,o);Object.values(b).forEach(a=>{e.addEventListener(a,M(this,Ba))}),t.set(e,n)}unassociateElement(e){if(!e)return;let{associatedElementSubscriptions:t}=this;if(!t.has(e))return;t.get(e)(),t.delete(e),Object.values(b).forEach(o=>{e.removeEventListener(o,M(this,Ba))})}registerMediaStateReceiver(e){if(!e)return;let t=this.mediaStateReceivers;t.indexOf(e)>-1||(t.push(e),M(this,V)&&Object.entries(M(this,V).getState()).forEach(([o,n])=>{Ch([e],o,n)}))}unregisterMediaStateReceiver(e){let t=this.mediaStateReceivers,r=t.indexOf(e);r<0||t.splice(r,1)}enableHotkeys(){this.addEventListener("keydown",dt(this,Wa,rd))}disableHotkeys(){this.removeEventListener("keydown",dt(this,Wa,rd)),this.removeEventListener("keyup",dt(this,Ki,wr))}get hotkeys(){return x(this,y.HOTKEYS)}set hotkeys(e){P(this,y.HOTKEYS,e)}keyboardShortcutHandler(e){var t,r,o,n,a,l,c,v,h;let p=e.target;if(((o=(r=(t=p.getAttribute(y.KEYS_USED))==null?void 0:t.split(" "))!=null?r:p==null?void 0:p.keysUsed)!=null?o:[]).map(D=>D==="Space"?" ":D).filter(Boolean).includes(e.key))return;let m,A,g;if(!(M(this,Jt).contains(`no${e.key.toLowerCase()}`)||e.key===" "&&M(this,Jt).contains("nospace")||e.shiftKey&&(e.key==="/"||e.key==="?")&&M(this,Jt).contains("noshift+/")))switch(e.key){case" ":case"k":m=M(this,V).getState().mediaPaused?b.MEDIA_PLAY_REQUEST:b.MEDIA_PAUSE_REQUEST,this.dispatchEvent(new d.CustomEvent(m,{composed:!0,bubbles:!0}));break;case"m":m=this.mediaStore.getState().mediaVolumeLevel==="off"?b.MEDIA_UNMUTE_REQUEST:b.MEDIA_MUTE_REQUEST,this.dispatchEvent(new d.CustomEvent(m,{composed:!0,bubbles:!0}));break;case"f":m=this.mediaStore.getState().mediaIsFullscreen?b.MEDIA_EXIT_FULLSCREEN_REQUEST:b.MEDIA_ENTER_FULLSCREEN_REQUEST,this.dispatchEvent(new d.CustomEvent(m,{composed:!0,bubbles:!0}));break;case"c":this.dispatchEvent(new d.CustomEvent(b.MEDIA_TOGGLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0}));break;case"ArrowLeft":case"j":{let D=this.hasAttribute(y.KEYBOARD_BACKWARD_SEEK_OFFSET)?+this.getAttribute(y.KEYBOARD_BACKWARD_SEEK_OFFSET):Ah;A=Math.max(((n=this.mediaStore.getState().mediaCurrentTime)!=null?n:0)-D,0),g=new d.CustomEvent(b.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:A}),this.dispatchEvent(g);break}case"ArrowRight":case"l":{let D=this.hasAttribute(y.KEYBOARD_FORWARD_SEEK_OFFSET)?+this.getAttribute(y.KEYBOARD_FORWARD_SEEK_OFFSET):Ah;A=Math.max(((a=this.mediaStore.getState().mediaCurrentTime)!=null?a:0)+D,0),g=new d.CustomEvent(b.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:A}),this.dispatchEvent(g);break}case"ArrowUp":{let D=this.hasAttribute(y.KEYBOARD_UP_VOLUME_STEP)?+this.getAttribute(y.KEYBOARD_UP_VOLUME_STEP):Sh;A=Math.min(((l=this.mediaStore.getState().mediaVolume)!=null?l:1)+D,1),g=new d.CustomEvent(b.MEDIA_VOLUME_REQUEST,{composed:!0,bubbles:!0,detail:A}),this.dispatchEvent(g);break}case"ArrowDown":{let D=this.hasAttribute(y.KEYBOARD_DOWN_VOLUME_STEP)?+this.getAttribute(y.KEYBOARD_DOWN_VOLUME_STEP):Sh;A=Math.max(((c=this.mediaStore.getState().mediaVolume)!=null?c:1)-D,0),g=new d.CustomEvent(b.MEDIA_VOLUME_REQUEST,{composed:!0,bubbles:!0,detail:A}),this.dispatchEvent(g);break}case"<":{let D=(v=this.mediaStore.getState().mediaPlaybackRate)!=null?v:1;A=Math.max(D-kh,Gv).toFixed(2),g=new d.CustomEvent(b.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:A}),this.dispatchEvent(g);break}case">":{let D=(h=this.mediaStore.getState().mediaPlaybackRate)!=null?h:1;A=Math.min(D+kh,zv).toFixed(2),g=new d.CustomEvent(b.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:A}),this.dispatchEvent(g);break}case"/":case"?":{e.shiftKey&&dt(this,od,Ih).call(this);break}case"p":{m=this.mediaStore.getState().mediaIsPip?b.MEDIA_EXIT_PIP_REQUEST:b.MEDIA_ENTER_PIP_REQUEST,g=new d.CustomEvent(m,{composed:!0,bubbles:!0}),this.dispatchEvent(g);break}default:break}}};Jt=new WeakMap;nn=new WeakMap;V=new WeakMap;Fi=new WeakMap;an=new WeakMap;lt=new WeakMap;Ba=new WeakMap;sn=new WeakMap;Va=new WeakSet;id=function(){var i;this.mediaStore=Th({media:this.media,fullscreenElement:this.fullscreenElement,options:{defaultSubtitles:this.hasAttribute(y.DEFAULT_SUBTITLES),defaultDuration:this.hasAttribute(y.DEFAULT_DURATION)?+this.getAttribute(y.DEFAULT_DURATION):void 0,defaultStreamType:(i=this.getAttribute(y.DEFAULT_STREAM_TYPE))!=null?i:void 0,liveEdgeOffset:this.hasAttribute(y.LIVE_EDGE_OFFSET)?+this.getAttribute(y.LIVE_EDGE_OFFSET):void 0,seekToLiveOffset:this.hasAttribute(y.SEEK_TO_LIVE_OFFSET)?+this.getAttribute(y.SEEK_TO_LIVE_OFFSET):this.hasAttribute(y.LIVE_EDGE_OFFSET)?+this.getAttribute(y.LIVE_EDGE_OFFSET):void 0,noAutoSeekToLive:this.hasAttribute(y.NO_AUTO_SEEK_TO_LIVE),noVolumePref:this.hasAttribute(y.NO_VOLUME_PREF),noMutedPref:this.hasAttribute(y.NO_MUTED_PREF),noSubtitlesLangPref:this.hasAttribute(y.NO_SUBTITLES_LANG_PREF)}})};Ki=new WeakSet;wr=function(i){let{key:e,shiftKey:t}=i;if(!(t&&(e==="/"||e==="?")||Mh.includes(e))){this.removeEventListener("keyup",dt(this,Ki,wr));return}this.keyboardShortcutHandler(i)};Wa=new WeakSet;rd=function(i){var e;let{metaKey:t,altKey:r,key:o,shiftKey:n}=i,a=n&&(o==="/"||o==="?");if(a&&((e=M(this,Fi))!=null&&e.open)){this.removeEventListener("keyup",dt(this,Ki,wr));return}if(t||r||!a&&!Mh.includes(o)){this.removeEventListener("keyup",dt(this,Ki,wr));return}let l=i.target,c=l instanceof HTMLElement&&(l.tagName.toLowerCase()==="media-volume-range"||l.tagName.toLowerCase()==="media-time-range");[" ","ArrowLeft","ArrowRight","ArrowUp","ArrowDown"].includes(o)&&!(M(this,Jt).contains(`no${o.toLowerCase()}`)||o===" "&&M(this,Jt).contains("nospace"))&&!c&&i.preventDefault(),this.addEventListener("keyup",dt(this,Ki,wr),{once:!0})};od=new WeakSet;Ih=function(){M(this,Fi)||(st(this,Fi,j.createElement("media-keyboard-shortcuts-dialog")),this.appendChild(M(this,Fi))),M(this,Fi).open=!0};var Yv=Object.values(s),Qv=Object.values(Vl),Rh=i=>{var e,t,r,o;let{observedAttributes:n}=i.constructor;!n&&((e=i.nodeName)!=null&&e.includes("-"))&&(d.customElements.upgrade(i),{observedAttributes:n}=i.constructor);let a=(o=(r=(t=i==null?void 0:i.getAttribute)==null?void 0:t.call(i,U.MEDIA_CHROME_ATTRIBUTES))==null?void 0:r.split)==null?void 0:o.call(r,/\s+/);return Array.isArray(n||a)?(n||a).filter(l=>Yv.includes(l)):[]},Zv=i=>{var e,t;return(e=i.nodeName)!=null&&e.includes("-")&&d.customElements.get((t=i.nodeName)==null?void 0:t.toLowerCase())&&!(i instanceof d.customElements.get(i.nodeName.toLowerCase()))&&d.customElements.upgrade(i),Qv.some(r=>r in i)},ad=i=>Zv(i)||!!Rh(i).length,Lh=i=>{var e;return(e=i==null?void 0:i.join)==null?void 0:e.call(i,":")},wh={[s.MEDIA_SUBTITLES_LIST]:Ot,[s.MEDIA_SUBTITLES_SHOWING]:Ot,[s.MEDIA_SEEKABLE]:Lh,[s.MEDIA_BUFFERED]:i=>i==null?void 0:i.map(Lh).join(" "),[s.MEDIA_PREVIEW_COORDS]:i=>i==null?void 0:i.join(" "),[s.MEDIA_RENDITION_LIST]:Wu,[s.MEDIA_AUDIO_TRACK_LIST]:Ku},Xv=async(i,e,t)=>{var r,o;if(i.isConnected||await ga(0),typeof t=="boolean"||t==null)return I(i,e,t);if(typeof t=="number")return B(i,e,t);if(typeof t=="string")return P(i,e,t);if(Array.isArray(t)&&!t.length)return i.removeAttribute(e);let n=(o=(r=wh[e])==null?void 0:r.call(wh,t))!=null?o:t;return i.setAttribute(e,n)},Jv=i=>{var e;return!!((e=i.closest)!=null&&e.call(i,'*[slot="media"]'))},Wi=(i,e)=>{if(Jv(i))return;let t=(o,n)=>{var a,l;ad(o)&&n(o);let{children:c=[]}=o??{},v=(l=(a=o==null?void 0:o.shadowRoot)==null?void 0:a.children)!=null?l:[];[...c,...v].forEach(p=>Wi(p,n))},r=i==null?void 0:i.nodeName.toLowerCase();if(r.includes("-")&&!ad(i)){d.customElements.whenDefined(r).then(()=>{t(i,e)});return}t(i,e)},Ch=(i,e,t)=>{i.forEach(r=>{if(e in r){r[e]=t;return}let o=Rh(r),n=e.toLowerCase();o.includes(n)&&Xv(r,n,t)})},jv=(i,e,t)=>{Wi(i,e);let r=h=>{var p;let f=(p=h==null?void 0:h.composedPath()[0])!=null?p:h.target;e(f)},o=h=>{var p;let f=(p=h==null?void 0:h.composedPath()[0])!=null?p:h.target;t(f)};i.addEventListener(b.REGISTER_MEDIA_STATE_RECEIVER,r),i.addEventListener(b.UNREGISTER_MEDIA_STATE_RECEIVER,o);let n=h=>{h.forEach(p=>{let{addedNodes:f=[],removedNodes:m=[],type:A,target:g,attributeName:L}=p;A==="childList"?(Array.prototype.forEach.call(f,D=>Wi(D,e)),Array.prototype.forEach.call(m,D=>Wi(D,t))):A==="attributes"&&L===U.MEDIA_CHROME_ATTRIBUTES&&(ad(g)?e(g):t(g))})},a=[],l=h=>{let p=h.target;p.name!=="media"&&(a.forEach(f=>Wi(f,t)),a=[...p.assignedElements({flatten:!0})],a.forEach(f=>Wi(f,e)))};i.addEventListener("slotchange",l);let c=new MutationObserver(n);return c.observe(i,{childList:!0,attributes:!0,subtree:!0}),()=>{Wi(i,t),i.removeEventListener("slotchange",l),c.disconnect(),i.removeEventListener(b.REGISTER_MEDIA_STATE_RECEIVER,r),i.removeEventListener(b.UNREGISTER_MEDIA_STATE_RECEIVER,o)}};d.customElements.get("media-controller")||d.customElements.define("media-controller",nd);var Cr={PLACEMENT:"placement",BOUNDS:"bounds"};function ef(i){return`
395
+ <style>
396
+ :host {
397
+ --_tooltip-background-color: var(--media-tooltip-background-color, var(--media-secondary-color, rgba(20, 20, 30, .7)));
398
+ --_tooltip-background: var(--media-tooltip-background, var(--_tooltip-background-color));
399
+ --_tooltip-arrow-half-width: calc(var(--media-tooltip-arrow-width, 12px) / 2);
400
+ --_tooltip-arrow-height: var(--media-tooltip-arrow-height, 5px);
401
+ --_tooltip-arrow-background: var(--media-tooltip-arrow-color, var(--_tooltip-background-color));
402
+ position: relative;
403
+ pointer-events: none;
404
+ display: var(--media-tooltip-display, inline-flex);
405
+ justify-content: center;
406
+ align-items: center;
407
+ box-sizing: border-box;
408
+ z-index: var(--media-tooltip-z-index, 1);
409
+ background: var(--_tooltip-background);
410
+ color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238)));
411
+ font: var(--media-font,
412
+ var(--media-font-weight, 400)
413
+ var(--media-font-size, 13px) /
414
+ var(--media-text-content-height, var(--media-control-height, 18px))
415
+ var(--media-font-family, helvetica neue, segoe ui, roboto, arial, sans-serif));
416
+ padding: var(--media-tooltip-padding, .35em .7em);
417
+ border: var(--media-tooltip-border, none);
418
+ border-radius: var(--media-tooltip-border-radius, 5px);
419
+ filter: var(--media-tooltip-filter, drop-shadow(0 0 4px rgba(0, 0, 0, .2)));
420
+ white-space: var(--media-tooltip-white-space, nowrap);
421
+ }
422
+
423
+ :host([hidden]) {
424
+ display: none;
425
+ }
426
+
427
+ img, svg {
428
+ display: inline-block;
429
+ }
430
+
431
+ #arrow {
432
+ position: absolute;
433
+ width: 0px;
434
+ height: 0px;
435
+ border-style: solid;
436
+ display: var(--media-tooltip-arrow-display, block);
437
+ }
438
+
439
+ :host(:not([placement])),
440
+ :host([placement="top"]) {
441
+ position: absolute;
442
+ bottom: calc(100% + var(--media-tooltip-distance, 12px));
443
+ left: 50%;
444
+ transform: translate(calc(-50% - var(--media-tooltip-offset-x, 0px)), 0);
445
+ }
446
+ :host(:not([placement])) #arrow,
447
+ :host([placement="top"]) #arrow {
448
+ top: 100%;
449
+ left: 50%;
450
+ border-width: var(--_tooltip-arrow-height) var(--_tooltip-arrow-half-width) 0 var(--_tooltip-arrow-half-width);
451
+ border-color: var(--_tooltip-arrow-background) transparent transparent transparent;
452
+ transform: translate(calc(-50% + var(--media-tooltip-offset-x, 0px)), 0);
453
+ }
454
+
455
+ :host([placement="right"]) {
456
+ position: absolute;
457
+ left: calc(100% + var(--media-tooltip-distance, 12px));
458
+ top: 50%;
459
+ transform: translate(0, -50%);
460
+ }
461
+ :host([placement="right"]) #arrow {
462
+ top: 50%;
463
+ right: 100%;
464
+ border-width: var(--_tooltip-arrow-half-width) var(--_tooltip-arrow-height) var(--_tooltip-arrow-half-width) 0;
465
+ border-color: transparent var(--_tooltip-arrow-background) transparent transparent;
466
+ transform: translate(0, -50%);
467
+ }
468
+
469
+ :host([placement="bottom"]) {
470
+ position: absolute;
471
+ top: calc(100% + var(--media-tooltip-distance, 12px));
472
+ left: 50%;
473
+ transform: translate(calc(-50% - var(--media-tooltip-offset-x, 0px)), 0);
474
+ }
475
+ :host([placement="bottom"]) #arrow {
476
+ bottom: 100%;
477
+ left: 50%;
478
+ border-width: 0 var(--_tooltip-arrow-half-width) var(--_tooltip-arrow-height) var(--_tooltip-arrow-half-width);
479
+ border-color: transparent transparent var(--_tooltip-arrow-background) transparent;
480
+ transform: translate(calc(-50% + var(--media-tooltip-offset-x, 0px)), 0);
481
+ }
482
+
483
+ :host([placement="left"]) {
484
+ position: absolute;
485
+ right: calc(100% + var(--media-tooltip-distance, 12px));
486
+ top: 50%;
487
+ transform: translate(0, -50%);
488
+ }
489
+ :host([placement="left"]) #arrow {
490
+ top: 50%;
491
+ left: 100%;
492
+ border-width: var(--_tooltip-arrow-half-width) 0 var(--_tooltip-arrow-half-width) var(--_tooltip-arrow-height);
493
+ border-color: transparent transparent transparent var(--_tooltip-arrow-background);
494
+ transform: translate(0, -50%);
495
+ }
496
+
497
+ :host([placement="none"]) #arrow {
498
+ display: none;
499
+ }
500
+ </style>
501
+ <slot></slot>
502
+ <div id="arrow"></div>
503
+ `}var Ir=class extends d.HTMLElement{constructor(){if(super(),this.updateXOffset=()=>{var e;if(!Sa(this,{checkOpacity:!1,checkVisibilityCSS:!1}))return;let t=this.placement;if(t==="left"||t==="right"){this.style.removeProperty("--media-tooltip-offset-x");return}let r=getComputedStyle(this),o=(e=at(this,"#"+this.bounds))!=null?e:Z(this);if(!o)return;let{x:n,width:a}=o.getBoundingClientRect(),{x:l,width:c}=this.getBoundingClientRect(),v=l+c,h=n+a,p=r.getPropertyValue("--media-tooltip-offset-x"),f=p?parseFloat(p.replace("px","")):0,m=r.getPropertyValue("--media-tooltip-container-margin"),A=m?parseFloat(m.replace("px","")):0,g=l-n+f-A,L=v-h+f+A;if(g<0){this.style.setProperty("--media-tooltip-offset-x",`${g}px`);return}if(L>0){this.style.setProperty("--media-tooltip-offset-x",`${L}px`);return}this.style.removeProperty("--media-tooltip-offset-x")},!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);let e=J(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}if(this.arrowEl=this.shadowRoot.querySelector("#arrow"),Object.prototype.hasOwnProperty.call(this,"placement")){let e=this.placement;delete this.placement,this.placement=e}}static get observedAttributes(){return[Cr.PLACEMENT,Cr.BOUNDS]}get placement(){return x(this,Cr.PLACEMENT)}set placement(e){P(this,Cr.PLACEMENT,e)}get bounds(){return x(this,Cr.BOUNDS)}set bounds(e){P(this,Cr.BOUNDS,e)}};Ir.shadowRootOptions={mode:"open"};Ir.getTemplateHTML=ef;d.customElements.get("media-tooltip")||d.customElements.define("media-tooltip",Ir);var Fa=Ir;var dd=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},ue=(i,e,t)=>(dd(i,e,"read from private field"),t?t.call(i):e.get(i)),Mr=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Ka=(i,e,t,r)=>(dd(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),tf=(i,e,t)=>(dd(i,e,"access private method"),t),ct,xr,ei,Rr,qa,ld,xh,jt={TOOLTIP_PLACEMENT:"tooltipplacement",DISABLED:"disabled",NO_TOOLTIP:"notooltip"};function rf(i,e={}){return`
504
+ <style>
505
+ :host {
506
+ position: relative;
507
+ font: var(--media-font,
508
+ var(--media-font-weight, bold)
509
+ var(--media-font-size, 14px) /
510
+ var(--media-text-content-height, var(--media-control-height, 24px))
511
+ var(--media-font-family, helvetica neue, segoe ui, roboto, arial, sans-serif));
512
+ color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238)));
513
+ background: var(--media-control-background, var(--media-secondary-color, rgb(20 20 30 / .7)));
514
+ padding: var(--media-button-padding, var(--media-control-padding, 10px));
515
+ justify-content: var(--media-button-justify-content, center);
516
+ display: inline-flex;
517
+ align-items: center;
518
+ vertical-align: middle;
519
+ box-sizing: border-box;
520
+ transition: background .15s linear;
521
+ pointer-events: auto;
522
+ cursor: var(--media-cursor, pointer);
523
+ -webkit-tap-highlight-color: transparent;
524
+ }
525
+
526
+
527
+ :host(:focus-visible) {
528
+ box-shadow: var(--media-focus-box-shadow, inset 0 0 0 2px rgb(27 127 204 / .9));
529
+ outline: 0;
530
+ }
531
+
532
+ :host(:where(:focus)) {
533
+ box-shadow: none;
534
+ outline: 0;
535
+ }
536
+
537
+ :host(:hover) {
538
+ background: var(--media-control-hover-background, rgba(50 50 70 / .7));
539
+ }
540
+
541
+ svg, img, ::slotted(svg), ::slotted(img) {
542
+ width: var(--media-button-icon-width);
543
+ height: var(--media-button-icon-height, var(--media-control-height, 24px));
544
+ transform: var(--media-button-icon-transform);
545
+ transition: var(--media-button-icon-transition);
546
+ fill: var(--media-icon-color, var(--media-primary-color, rgb(238 238 238)));
547
+ vertical-align: middle;
548
+ max-width: 100%;
549
+ max-height: 100%;
550
+ min-width: 100%;
551
+ }
552
+
553
+ media-tooltip {
554
+
555
+ max-width: 0;
556
+ overflow-x: clip;
557
+ opacity: 0;
558
+ transition: opacity .3s, max-width 0s 9s;
559
+ }
560
+
561
+ :host(:hover) media-tooltip,
562
+ :host(:focus-visible) media-tooltip {
563
+ max-width: 100vw;
564
+ opacity: 1;
565
+ transition: opacity .3s;
566
+ }
567
+
568
+ :host([notooltip]) slot[name="tooltip"] {
569
+ display: none;
570
+ }
571
+ </style>
572
+
573
+ ${this.getSlotTemplateHTML(i,e)}
574
+
575
+ <slot name="tooltip">
576
+ <media-tooltip part="tooltip" aria-hidden="true">
577
+ <template shadowrootmode="${Fa.shadowRootOptions.mode}">
578
+ ${Fa.getTemplateHTML({})}
579
+ </template>
580
+ <slot name="tooltip-content">
581
+ ${this.getTooltipContentHTML(i)}
582
+ </slot>
583
+ </media-tooltip>
584
+ </slot>
585
+ `}function of(i,e){return`
586
+ <slot></slot>
587
+ `}function nf(){return""}var F=class extends d.HTMLElement{constructor(){if(super(),Mr(this,ld),Mr(this,ct,void 0),this.preventClick=!1,this.tooltipEl=null,Mr(this,xr,e=>{this.preventClick||this.handleClick(e),setTimeout(ue(this,ei),0)}),Mr(this,ei,()=>{var e,t;(t=(e=this.tooltipEl)==null?void 0:e.updateXOffset)==null||t.call(e)}),Mr(this,Rr,e=>{let{key:t}=e;if(!this.keysUsed.includes(t)){this.removeEventListener("keyup",ue(this,Rr));return}this.preventClick||this.handleClick(e)}),Mr(this,qa,e=>{let{metaKey:t,altKey:r,key:o}=e;if(t||r||!this.keysUsed.includes(o)){this.removeEventListener("keyup",ue(this,Rr));return}this.addEventListener("keyup",ue(this,Rr),{once:!0})}),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);let e=J(this.attributes),t=this.constructor.getTemplateHTML(e);this.shadowRoot.setHTMLUnsafe?this.shadowRoot.setHTMLUnsafe(t):this.shadowRoot.innerHTML=t}this.tooltipEl=this.shadowRoot.querySelector("media-tooltip")}static get observedAttributes(){return["disabled",jt.TOOLTIP_PLACEMENT,U.MEDIA_CONTROLLER,s.MEDIA_LANG]}enable(){this.addEventListener("click",ue(this,xr)),this.addEventListener("keydown",ue(this,qa)),this.tabIndex=0}disable(){this.removeEventListener("click",ue(this,xr)),this.removeEventListener("keydown",ue(this,qa)),this.removeEventListener("keyup",ue(this,Rr)),this.tabIndex=-1}attributeChangedCallback(e,t,r){var o,n,a,l,c;e===U.MEDIA_CONTROLLER?(t&&((n=(o=ue(this,ct))==null?void 0:o.unassociateElement)==null||n.call(o,this),Ka(this,ct,null)),r&&this.isConnected&&(Ka(this,ct,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(c=(l=ue(this,ct))==null?void 0:l.associateElement)==null||c.call(l,this))):e==="disabled"&&r!==t?r==null?this.enable():this.disable():e===jt.TOOLTIP_PLACEMENT&&this.tooltipEl&&r!==t?this.tooltipEl.placement=r:e===s.MEDIA_LANG&&(this.shadowRoot.querySelector('slot[name="tooltip-content"]').innerHTML=this.constructor.getTooltipContentHTML()),ue(this,ei).call(this)}connectedCallback(){var e,t,r;let{style:o}=X(this.shadowRoot,":host");o.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`),this.hasAttribute("disabled")?this.disable():this.enable(),this.setAttribute("role","button");let n=this.getAttribute(U.MEDIA_CONTROLLER);n&&(Ka(this,ct,(e=this.getRootNode())==null?void 0:e.getElementById(n)),(r=(t=ue(this,ct))==null?void 0:t.associateElement)==null||r.call(t,this)),d.customElements.whenDefined("media-tooltip").then(()=>tf(this,ld,xh).call(this))}disconnectedCallback(){var e,t;this.disable(),(t=(e=ue(this,ct))==null?void 0:e.unassociateElement)==null||t.call(e,this),Ka(this,ct,null),this.removeEventListener("mouseenter",ue(this,ei)),this.removeEventListener("focus",ue(this,ei)),this.removeEventListener("click",ue(this,xr))}get keysUsed(){return["Enter"," "]}get tooltipPlacement(){return x(this,jt.TOOLTIP_PLACEMENT)}set tooltipPlacement(e){P(this,jt.TOOLTIP_PLACEMENT,e)}get mediaController(){return x(this,U.MEDIA_CONTROLLER)}set mediaController(e){P(this,U.MEDIA_CONTROLLER,e)}get disabled(){return C(this,jt.DISABLED)}set disabled(e){I(this,jt.DISABLED,e)}get noTooltip(){return C(this,jt.NO_TOOLTIP)}set noTooltip(e){I(this,jt.NO_TOOLTIP,e)}handleClick(e){}};ct=new WeakMap;xr=new WeakMap;ei=new WeakMap;Rr=new WeakMap;qa=new WeakMap;ld=new WeakSet;xh=function(){this.addEventListener("mouseenter",ue(this,ei)),this.addEventListener("focus",ue(this,ei)),this.addEventListener("click",ue(this,xr));let i=this.tooltipPlacement;i&&this.tooltipEl&&(this.tooltipEl.placement=i)};F.shadowRootOptions={mode:"open"};F.getTemplateHTML=rf;F.getSlotTemplateHTML=of;F.getTooltipContentHTML=nf;d.customElements.get("media-chrome-button")||d.customElements.define("media-chrome-button",F);var Ph=`<svg aria-hidden="true" viewBox="0 0 26 24">
588
+ <path d="M22.13 3H3.87a.87.87 0 0 0-.87.87v13.26a.87.87 0 0 0 .87.87h3.4L9 16H5V5h16v11h-4l1.72 2h3.4a.87.87 0 0 0 .87-.87V3.87a.87.87 0 0 0-.86-.87Zm-8.75 11.44a.5.5 0 0 0-.76 0l-4.91 5.73a.5.5 0 0 0 .38.83h9.82a.501.501 0 0 0 .38-.83l-4.91-5.73Z"/>
589
+ </svg>
590
+ `;function af(i){return`
591
+ <style>
592
+ :host([${s.MEDIA_IS_AIRPLAYING}]) slot[name=icon] slot:not([name=exit]) {
593
+ display: none !important;
594
+ }
595
+
596
+
597
+ :host(:not([${s.MEDIA_IS_AIRPLAYING}])) slot[name=icon] slot:not([name=enter]) {
598
+ display: none !important;
599
+ }
600
+
601
+ :host([${s.MEDIA_IS_AIRPLAYING}]) slot[name=tooltip-enter],
602
+ :host(:not([${s.MEDIA_IS_AIRPLAYING}])) slot[name=tooltip-exit] {
603
+ display: none;
604
+ }
605
+ </style>
606
+
607
+ <slot name="icon">
608
+ <slot name="enter">${Ph}</slot>
609
+ <slot name="exit">${Ph}</slot>
610
+ </slot>
611
+ `}function sf(){return`
612
+ <slot name="tooltip-enter">${E("start airplay")}</slot>
613
+ <slot name="tooltip-exit">${E("stop airplay")}</slot>
614
+ `}var Dh=i=>{let e=i.mediaIsAirplaying?E("stop airplay"):E("start airplay");i.setAttribute("aria-label",e)},ln=class extends F{static get observedAttributes(){return[...super.observedAttributes,s.MEDIA_IS_AIRPLAYING,s.MEDIA_AIRPLAY_UNAVAILABLE]}connectedCallback(){super.connectedCallback(),Dh(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===s.MEDIA_IS_AIRPLAYING&&Dh(this)}get mediaIsAirplaying(){return C(this,s.MEDIA_IS_AIRPLAYING)}set mediaIsAirplaying(e){I(this,s.MEDIA_IS_AIRPLAYING,e)}get mediaAirplayUnavailable(){return x(this,s.MEDIA_AIRPLAY_UNAVAILABLE)}set mediaAirplayUnavailable(e){P(this,s.MEDIA_AIRPLAY_UNAVAILABLE,e)}handleClick(){let e=new d.CustomEvent(b.MEDIA_AIRPLAY_REQUEST,{composed:!0,bubbles:!0});this.dispatchEvent(e)}};ln.getSlotTemplateHTML=af;ln.getTooltipContentHTML=sf;d.customElements.get("media-airplay-button")||d.customElements.define("media-airplay-button",ln);var lf=`<svg aria-hidden="true" viewBox="0 0 26 24">
615
+ <path d="M22.83 5.68a2.58 2.58 0 0 0-2.3-2.5c-3.62-.24-11.44-.24-15.06 0a2.58 2.58 0 0 0-2.3 2.5c-.23 4.21-.23 8.43 0 12.64a2.58 2.58 0 0 0 2.3 2.5c3.62.24 11.44.24 15.06 0a2.58 2.58 0 0 0 2.3-2.5c.23-4.21.23-8.43 0-12.64Zm-11.39 9.45a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.92 3.92 0 0 1 .92-2.77 3.18 3.18 0 0 1 2.43-1 2.94 2.94 0 0 1 2.13.78c.364.359.62.813.74 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.17 1.61 1.61 0 0 0-1.29.58 2.79 2.79 0 0 0-.5 1.89 3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.48 1.48 0 0 0 1-.37 2.1 2.1 0 0 0 .59-1.14l1.4.44a3.23 3.23 0 0 1-1.07 1.69Zm7.22 0a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.88 3.88 0 0 1 .93-2.77 3.14 3.14 0 0 1 2.42-1 3 3 0 0 1 2.16.82 2.8 2.8 0 0 1 .73 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.21 1.61 1.61 0 0 0-1.29.58A2.79 2.79 0 0 0 15 12a3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.44 1.44 0 0 0 1-.37 2.1 2.1 0 0 0 .6-1.15l1.4.44a3.17 3.17 0 0 1-1.1 1.7Z"/>
616
+ </svg>`,df=`<svg aria-hidden="true" viewBox="0 0 26 24">
617
+ <path d="M17.73 14.09a1.4 1.4 0 0 1-1 .37 1.579 1.579 0 0 1-1.27-.58A3 3 0 0 1 15 12a2.8 2.8 0 0 1 .5-1.85 1.63 1.63 0 0 1 1.29-.57 1.47 1.47 0 0 1 1.51 1.2l1.43-.34A2.89 2.89 0 0 0 19 9.07a3 3 0 0 0-2.14-.78 3.14 3.14 0 0 0-2.42 1 3.91 3.91 0 0 0-.93 2.78 3.74 3.74 0 0 0 .92 2.66 3.07 3.07 0 0 0 2.34 1 3.07 3.07 0 0 0 1.91-.57 3.17 3.17 0 0 0 1.07-1.74l-1.4-.45c-.083.43-.3.822-.62 1.12Zm-7.22 0a1.43 1.43 0 0 1-1 .37 1.58 1.58 0 0 1-1.27-.58A3 3 0 0 1 7.76 12a2.8 2.8 0 0 1 .5-1.85 1.63 1.63 0 0 1 1.29-.57 1.47 1.47 0 0 1 1.51 1.2l1.43-.34a2.81 2.81 0 0 0-.74-1.32 2.94 2.94 0 0 0-2.13-.78 3.18 3.18 0 0 0-2.43 1 4 4 0 0 0-.92 2.78 3.74 3.74 0 0 0 .92 2.66 3.07 3.07 0 0 0 2.34 1 3.07 3.07 0 0 0 1.91-.57 3.23 3.23 0 0 0 1.07-1.74l-1.4-.45a2.06 2.06 0 0 1-.6 1.07Zm12.32-8.41a2.59 2.59 0 0 0-2.3-2.51C18.72 3.05 15.86 3 13 3c-2.86 0-5.72.05-7.53.17a2.59 2.59 0 0 0-2.3 2.51c-.23 4.207-.23 8.423 0 12.63a2.57 2.57 0 0 0 2.3 2.5c1.81.13 4.67.19 7.53.19 2.86 0 5.72-.06 7.53-.19a2.57 2.57 0 0 0 2.3-2.5c.23-4.207.23-8.423 0-12.63Zm-1.49 12.53a1.11 1.11 0 0 1-.91 1.11c-1.67.11-4.45.18-7.43.18-2.98 0-5.76-.07-7.43-.18a1.11 1.11 0 0 1-.91-1.11c-.21-4.14-.21-8.29 0-12.43a1.11 1.11 0 0 1 .91-1.11C7.24 4.56 10 4.49 13 4.49s5.76.07 7.43.18a1.11 1.11 0 0 1 .91 1.11c.21 4.14.21 8.29 0 12.43Z"/>
618
+ </svg>`;function cf(i){return`
619
+ <style>
620
+ :host([aria-checked="true"]) slot[name=off] {
621
+ display: none !important;
622
+ }
623
+
624
+
625
+ :host(:not([aria-checked="true"])) slot[name=on] {
626
+ display: none !important;
627
+ }
628
+
629
+ :host([aria-checked="true"]) slot[name=tooltip-enable],
630
+ :host(:not([aria-checked="true"])) slot[name=tooltip-disable] {
631
+ display: none;
632
+ }
633
+ </style>
634
+
635
+ <slot name="icon">
636
+ <slot name="on">${lf}</slot>
637
+ <slot name="off">${df}</slot>
638
+ </slot>
639
+ `}function uf(){return`
640
+ <slot name="tooltip-enable">${E("Enable captions")}</slot>
641
+ <slot name="tooltip-disable">${E("Disable captions")}</slot>
642
+ `}var Oh=i=>{i.setAttribute("aria-checked",Oa(i).toString())},dn=class extends F{static get observedAttributes(){return[...super.observedAttributes,s.MEDIA_SUBTITLES_LIST,s.MEDIA_SUBTITLES_SHOWING]}connectedCallback(){super.connectedCallback(),this.setAttribute("role","switch"),this.setAttribute("aria-label",E("closed captions")),Oh(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===s.MEDIA_SUBTITLES_SHOWING&&Oh(this)}get mediaSubtitlesList(){return Uh(this,s.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){Nh(this,s.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return Uh(this,s.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){Nh(this,s.MEDIA_SUBTITLES_SHOWING,e)}handleClick(){this.dispatchEvent(new d.CustomEvent(b.MEDIA_TOGGLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0}))}};dn.getSlotTemplateHTML=cf;dn.getTooltipContentHTML=uf;var Uh=(i,e)=>{let t=i.getAttribute(e);return t?$i(t):[]},Nh=(i,e,t)=>{if(!(t!=null&&t.length)){i.removeAttribute(e);return}let r=Ot(t);i.getAttribute(e)!==r&&i.setAttribute(e,r)};d.customElements.get("media-captions-button")||d.customElements.define("media-captions-button",dn);var hf='<svg aria-hidden="true" viewBox="0 0 24 24"><g><path class="cast_caf_icon_arch0" d="M1,18 L1,21 L4,21 C4,19.3 2.66,18 1,18 L1,18 Z"/><path class="cast_caf_icon_arch1" d="M1,14 L1,16 C3.76,16 6,18.2 6,21 L8,21 C8,17.13 4.87,14 1,14 L1,14 Z"/><path class="cast_caf_icon_arch2" d="M1,10 L1,12 C5.97,12 10,16.0 10,21 L12,21 C12,14.92 7.07,10 1,10 L1,10 Z"/><path class="cast_caf_icon_box" d="M21,3 L3,3 C1.9,3 1,3.9 1,5 L1,8 L3,8 L3,5 L21,5 L21,19 L14,19 L14,21 L21,21 C22.1,21 23,20.1 23,19 L23,5 C23,3.9 22.1,3 21,3 L21,3 Z"/></g></svg>',pf='<svg aria-hidden="true" viewBox="0 0 24 24"><g><path class="cast_caf_icon_arch0" d="M1,18 L1,21 L4,21 C4,19.3 2.66,18 1,18 L1,18 Z"/><path class="cast_caf_icon_arch1" d="M1,14 L1,16 C3.76,16 6,18.2 6,21 L8,21 C8,17.13 4.87,14 1,14 L1,14 Z"/><path class="cast_caf_icon_arch2" d="M1,10 L1,12 C5.97,12 10,16.0 10,21 L12,21 C12,14.92 7.07,10 1,10 L1,10 Z"/><path class="cast_caf_icon_box" d="M21,3 L3,3 C1.9,3 1,3.9 1,5 L1,8 L3,8 L3,5 L21,5 L21,19 L14,19 L14,21 L21,21 C22.1,21 23,20.1 23,19 L23,5 C23,3.9 22.1,3 21,3 L21,3 Z"/><path class="cast_caf_icon_boxfill" d="M5,7 L5,8.63 C8,8.6 13.37,14 13.37,17 L19,17 L19,7 Z"/></g></svg>';function mf(i){return`
643
+ <style>
644
+ :host([${s.MEDIA_IS_CASTING}]) slot[name=icon] slot:not([name=exit]) {
645
+ display: none !important;
646
+ }
647
+
648
+
649
+ :host(:not([${s.MEDIA_IS_CASTING}])) slot[name=icon] slot:not([name=enter]) {
650
+ display: none !important;
651
+ }
652
+
653
+ :host([${s.MEDIA_IS_CASTING}]) slot[name=tooltip-enter],
654
+ :host(:not([${s.MEDIA_IS_CASTING}])) slot[name=tooltip-exit] {
655
+ display: none;
656
+ }
657
+ </style>
658
+
659
+ <slot name="icon">
660
+ <slot name="enter">${hf}</slot>
661
+ <slot name="exit">${pf}</slot>
662
+ </slot>
663
+ `}function vf(){return`
664
+ <slot name="tooltip-enter">${E("Start casting")}</slot>
665
+ <slot name="tooltip-exit">${E("Stop casting")}</slot>
666
+ `}var Hh=i=>{let e=i.mediaIsCasting?E("stop casting"):E("start casting");i.setAttribute("aria-label",e)},cn=class extends F{static get observedAttributes(){return[...super.observedAttributes,s.MEDIA_IS_CASTING,s.MEDIA_CAST_UNAVAILABLE]}connectedCallback(){super.connectedCallback(),Hh(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===s.MEDIA_IS_CASTING&&Hh(this)}get mediaIsCasting(){return C(this,s.MEDIA_IS_CASTING)}set mediaIsCasting(e){I(this,s.MEDIA_IS_CASTING,e)}get mediaCastUnavailable(){return x(this,s.MEDIA_CAST_UNAVAILABLE)}set mediaCastUnavailable(e){P(this,s.MEDIA_CAST_UNAVAILABLE,e)}handleClick(){let e=this.mediaIsCasting?b.MEDIA_EXIT_CAST_REQUEST:b.MEDIA_ENTER_CAST_REQUEST;this.dispatchEvent(new d.CustomEvent(e,{composed:!0,bubbles:!0}))}};cn.getSlotTemplateHTML=mf;cn.getTooltipContentHTML=vf;d.customElements.get("media-cast-button")||d.customElements.define("media-cast-button",cn);var fd=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Gi=(i,e,t)=>(fd(i,e,"read from private field"),t?t.call(i):e.get(i)),Ut=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},gd=(i,e,t,r)=>(fd(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),qi=(i,e,t)=>(fd(i,e,"access private method"),t),za,hn,zi,Ga,cd,ud,$h,hd,Bh,pd,Vh,md,Wh,vd,Fh;function ff(i){return`
667
+ <style>
668
+ :host {
669
+ font: var(--media-font,
670
+ var(--media-font-weight, normal)
671
+ var(--media-font-size, 14px) /
672
+ var(--media-text-content-height, var(--media-control-height, 24px))
673
+ var(--media-font-family, helvetica neue, segoe ui, roboto, arial, sans-serif));
674
+ color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238)));
675
+ display: var(--media-dialog-display, inline-flex);
676
+ justify-content: center;
677
+ align-items: center;
678
+
679
+ transition-behavior: allow-discrete;
680
+ visibility: hidden;
681
+ opacity: 0;
682
+ transform: translateY(2px) scale(.99);
683
+ pointer-events: none;
684
+ }
685
+
686
+ :host([open]) {
687
+ transition: display .2s, visibility 0s, opacity .2s ease-out, transform .15s ease-out;
688
+ visibility: visible;
689
+ opacity: 1;
690
+ transform: translateY(0) scale(1);
691
+ pointer-events: auto;
692
+ }
693
+
694
+ #content {
695
+ display: flex;
696
+ position: relative;
697
+ box-sizing: border-box;
698
+ width: min(320px, 100%);
699
+ word-wrap: break-word;
700
+ max-height: 100%;
701
+ overflow: auto;
702
+ text-align: center;
703
+ line-height: 1.4;
704
+ }
705
+ </style>
706
+ ${this.getSlotTemplateHTML(i)}
707
+ `}function gf(i){return`
708
+ <slot id="content"></slot>
709
+ `}var un={OPEN:"open",ANCHOR:"anchor"},ut=class extends d.HTMLElement{constructor(){super(),Ut(this,Ga),Ut(this,ud),Ut(this,hd),Ut(this,pd),Ut(this,md),Ut(this,vd),Ut(this,za,!1),Ut(this,hn,null),Ut(this,zi,null),this.addEventListener("invoke",this),this.addEventListener("focusout",this),this.addEventListener("keydown",this)}static get observedAttributes(){return[un.OPEN,un.ANCHOR]}get open(){return C(this,un.OPEN)}set open(e){I(this,un.OPEN,e)}handleEvent(e){switch(e.type){case"invoke":qi(this,pd,Vh).call(this,e);break;case"focusout":qi(this,md,Wh).call(this,e);break;case"keydown":qi(this,vd,Fh).call(this,e);break}}connectedCallback(){qi(this,Ga,cd).call(this),this.role||(this.role="dialog")}attributeChangedCallback(e,t,r){qi(this,Ga,cd).call(this),e===un.OPEN&&r!==t&&(this.open?qi(this,ud,$h).call(this):qi(this,hd,Bh).call(this))}focus(){gd(this,hn,Zo());let e=!this.dispatchEvent(new Event("focus",{composed:!0,cancelable:!0})),t=!this.dispatchEvent(new Event("focusin",{composed:!0,bubbles:!0,cancelable:!0}));if(e||t)return;let r=this.querySelector('[autofocus], [tabindex]:not([tabindex="-1"]), [role="menu"]');r==null||r.focus()}get keysUsed(){return["Escape","Tab"]}};za=new WeakMap;hn=new WeakMap;zi=new WeakMap;Ga=new WeakSet;cd=function(){if(!Gi(this,za)&&(gd(this,za,!0),!this.shadowRoot)){this.attachShadow(this.constructor.shadowRootOptions);let i=J(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(i),queueMicrotask(()=>{let{style:e}=X(this.shadowRoot,":host");e.setProperty("transition","display .15s, visibility .15s, opacity .15s ease-in, transform .15s ease-in")})}};ud=new WeakSet;$h=function(){var i;(i=Gi(this,zi))==null||i.setAttribute("aria-expanded","true"),this.dispatchEvent(new Event("open",{composed:!0,bubbles:!0})),this.addEventListener("transitionend",()=>this.focus(),{once:!0})};hd=new WeakSet;Bh=function(){var i;(i=Gi(this,zi))==null||i.setAttribute("aria-expanded","false"),this.dispatchEvent(new Event("close",{composed:!0,bubbles:!0}))};pd=new WeakSet;Vh=function(i){gd(this,zi,i.relatedTarget),Ae(this,i.relatedTarget)||(this.open=!this.open)};md=new WeakSet;Wh=function(i){var e;Ae(this,i.relatedTarget)||((e=Gi(this,hn))==null||e.focus(),Gi(this,zi)&&Gi(this,zi)!==i.relatedTarget&&this.open&&(this.open=!1))};vd=new WeakSet;Fh=function(i){var e,t,r,o,n;let{key:a,ctrlKey:l,altKey:c,metaKey:v}=i;l||c||v||this.keysUsed.includes(a)&&(i.preventDefault(),i.stopPropagation(),a==="Tab"?(i.shiftKey?(t=(e=this.previousElementSibling)==null?void 0:e.focus)==null||t.call(e):(o=(r=this.nextElementSibling)==null?void 0:r.focus)==null||o.call(r),this.blur()):a==="Escape"&&((n=Gi(this,hn))==null||n.focus(),this.open=!1))};ut.shadowRootOptions={mode:"open"};ut.getTemplateHTML=ff;ut.getSlotTemplateHTML=gf;d.customElements.get("media-chrome-dialog")||d.customElements.define("media-chrome-dialog",ut);var Sd=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},oe=(i,e,t)=>(Sd(i,e,"read from private field"),t?t.call(i):e.get(i)),be=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},ti=(i,e,t,r)=>(Sd(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Je=(i,e,t)=>(Sd(i,e,"access private method"),t),ht,rs,Ya,Qa,je,ts,Za,Xa,Ja,kd,Kh,ja,Ed,es,bd,is,Ld,_d,qh,yd,Gh,Td,zh,Ad,Yh;function Ef(i){return`
710
+ <style>
711
+ :host {
712
+ --_focus-box-shadow: var(--media-focus-box-shadow, inset 0 0 0 2px rgb(27 127 204 / .9));
713
+ --_media-range-padding: var(--media-range-padding, var(--media-control-padding, 10px));
714
+
715
+ box-shadow: var(--_focus-visible-box-shadow, none);
716
+ background: var(--media-control-background, var(--media-secondary-color, rgb(20 20 30 / .7)));
717
+ height: calc(var(--media-control-height, 24px) + 2 * var(--_media-range-padding));
718
+ display: inline-flex;
719
+ align-items: center;
720
+
721
+ vertical-align: middle;
722
+ box-sizing: border-box;
723
+ position: relative;
724
+ width: 100px;
725
+ transition: background .15s linear;
726
+ cursor: var(--media-cursor, pointer);
727
+ pointer-events: auto;
728
+ touch-action: none;
729
+ }
730
+
731
+
732
+ input[type=range]:focus {
733
+ outline: 0;
734
+ }
735
+ input[type=range]:focus::-webkit-slider-runnable-track {
736
+ outline: 0;
737
+ }
738
+
739
+ :host(:hover) {
740
+ background: var(--media-control-hover-background, rgb(50 50 70 / .7));
741
+ }
742
+
743
+ #leftgap {
744
+ padding-left: var(--media-range-padding-left, var(--_media-range-padding));
745
+ }
746
+
747
+ #rightgap {
748
+ padding-right: var(--media-range-padding-right, var(--_media-range-padding));
749
+ }
750
+
751
+ #startpoint,
752
+ #endpoint {
753
+ position: absolute;
754
+ }
755
+
756
+ #endpoint {
757
+ right: 0;
758
+ }
759
+
760
+ #container {
761
+
762
+ width: var(--media-range-track-width, 100%);
763
+ transform: translate(var(--media-range-track-translate-x, 0px), var(--media-range-track-translate-y, 0px));
764
+ position: relative;
765
+ height: 100%;
766
+ display: flex;
767
+ align-items: center;
768
+ min-width: 40px;
769
+ }
770
+
771
+ #range {
772
+
773
+ display: var(--media-time-range-hover-display, block);
774
+ bottom: var(--media-time-range-hover-bottom, -7px);
775
+ height: var(--media-time-range-hover-height, max(100% + 7px, 25px));
776
+ width: 100%;
777
+ position: absolute;
778
+ cursor: var(--media-cursor, pointer);
779
+
780
+ -webkit-appearance: none;
781
+ -webkit-tap-highlight-color: transparent;
782
+ background: transparent;
783
+ margin: 0;
784
+ z-index: 1;
785
+ }
786
+
787
+ @media (hover: hover) {
788
+ #range {
789
+ bottom: var(--media-time-range-hover-bottom, -5px);
790
+ height: var(--media-time-range-hover-height, max(100% + 5px, 20px));
791
+ }
792
+ }
793
+
794
+
795
+
796
+ #range::-webkit-slider-thumb {
797
+ -webkit-appearance: none;
798
+ background: transparent;
799
+ width: .1px;
800
+ height: .1px;
801
+ }
802
+
803
+
804
+ #range::-moz-range-thumb {
805
+ background: transparent;
806
+ border: transparent;
807
+ width: .1px;
808
+ height: .1px;
809
+ }
810
+
811
+ #appearance {
812
+ height: var(--media-range-track-height, 4px);
813
+ display: flex;
814
+ flex-direction: column;
815
+ justify-content: center;
816
+ width: 100%;
817
+ position: absolute;
818
+
819
+ will-change: transform;
820
+ }
821
+
822
+ #track {
823
+ background: var(--media-range-track-background, rgb(255 255 255 / .2));
824
+ border-radius: var(--media-range-track-border-radius, 1px);
825
+ border: var(--media-range-track-border, none);
826
+ outline: var(--media-range-track-outline);
827
+ outline-offset: var(--media-range-track-outline-offset);
828
+ backdrop-filter: var(--media-range-track-backdrop-filter);
829
+ -webkit-backdrop-filter: var(--media-range-track-backdrop-filter);
830
+ box-shadow: var(--media-range-track-box-shadow, none);
831
+ position: absolute;
832
+ width: 100%;
833
+ height: 100%;
834
+ overflow: hidden;
835
+ }
836
+
837
+ #progress,
838
+ #pointer {
839
+ position: absolute;
840
+ height: 100%;
841
+ will-change: width;
842
+ }
843
+
844
+ #progress {
845
+ background: var(--media-range-bar-color, var(--media-primary-color, rgb(238 238 238)));
846
+ transition: var(--media-range-track-transition);
847
+ }
848
+
849
+ #pointer {
850
+ background: var(--media-range-track-pointer-background);
851
+ border-right: var(--media-range-track-pointer-border-right);
852
+ transition: visibility .25s, opacity .25s;
853
+ visibility: hidden;
854
+ opacity: 0;
855
+ }
856
+
857
+ @media (hover: hover) {
858
+ :host(:hover) #pointer {
859
+ transition: visibility .5s, opacity .5s;
860
+ visibility: visible;
861
+ opacity: 1;
862
+ }
863
+ }
864
+
865
+ #thumb,
866
+ ::slotted([slot=thumb]) {
867
+ width: var(--media-range-thumb-width, 10px);
868
+ height: var(--media-range-thumb-height, 10px);
869
+ transition: var(--media-range-thumb-transition);
870
+ transform: var(--media-range-thumb-transform, none);
871
+ opacity: var(--media-range-thumb-opacity, 1);
872
+ translate: -50%;
873
+ position: absolute;
874
+ left: 0;
875
+ cursor: var(--media-cursor, pointer);
876
+ }
877
+
878
+ #thumb {
879
+ border-radius: var(--media-range-thumb-border-radius, 10px);
880
+ background: var(--media-range-thumb-background, var(--media-primary-color, rgb(238 238 238)));
881
+ box-shadow: var(--media-range-thumb-box-shadow, 1px 1px 1px transparent);
882
+ border: var(--media-range-thumb-border, none);
883
+ }
884
+
885
+ :host([disabled]) #thumb {
886
+ background-color: #777;
887
+ }
888
+
889
+ .segments #appearance {
890
+ height: var(--media-range-segment-hover-height, 7px);
891
+ }
892
+
893
+ #track {
894
+ clip-path: url(#segments-clipping);
895
+ }
896
+
897
+ #segments {
898
+ --segments-gap: var(--media-range-segments-gap, 2px);
899
+ position: absolute;
900
+ width: 100%;
901
+ height: 100%;
902
+ }
903
+
904
+ #segments-clipping {
905
+ transform: translateX(calc(var(--segments-gap) / 2));
906
+ }
907
+
908
+ #segments-clipping:empty {
909
+ display: none;
910
+ }
911
+
912
+ #segments-clipping rect {
913
+ height: var(--media-range-track-height, 4px);
914
+ y: calc((var(--media-range-segment-hover-height, 7px) - var(--media-range-track-height, 4px)) / 2);
915
+ transition: var(--media-range-segment-transition, transform .1s ease-in-out);
916
+ transform: var(--media-range-segment-transform, scaleY(1));
917
+ transform-origin: center;
918
+ }
919
+ </style>
920
+ <div id="leftgap"></div>
921
+ <div id="container">
922
+ <div id="startpoint"></div>
923
+ <div id="endpoint"></div>
924
+ <div id="appearance">
925
+ <div id="track" part="track">
926
+ <div id="pointer"></div>
927
+ <div id="progress" part="progress"></div>
928
+ </div>
929
+ <slot name="thumb">
930
+ <div id="thumb" part="thumb"></div>
931
+ </slot>
932
+ <svg id="segments"><clipPath id="segments-clipping"></clipPath></svg>
933
+ </div>
934
+ <input id="range" type="range" min="0" max="1" step="any" value="0">
935
+
936
+ ${this.getContainerTemplateHTML(i)}
937
+ </div>
938
+ <div id="rightgap"></div>
939
+ `}function bf(i){return""}var pt=class extends d.HTMLElement{constructor(){if(super(),be(this,kd),be(this,ja),be(this,es),be(this,is),be(this,_d),be(this,yd),be(this,Td),be(this,Ad),be(this,ht,void 0),be(this,rs,void 0),be(this,Ya,void 0),be(this,Qa,void 0),be(this,je,{}),be(this,ts,[]),be(this,Za,()=>{if(this.range.matches(":focus-visible")){let{style:e}=X(this.shadowRoot,":host");e.setProperty("--_focus-visible-box-shadow","var(--_focus-box-shadow)")}}),be(this,Xa,()=>{let{style:e}=X(this.shadowRoot,":host");e.removeProperty("--_focus-visible-box-shadow")}),be(this,Ja,()=>{let e=this.shadowRoot.querySelector("#segments-clipping");e&&e.parentNode.append(e)}),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);let e=J(this.attributes),t=this.constructor.getTemplateHTML(e);this.shadowRoot.setHTMLUnsafe?this.shadowRoot.setHTMLUnsafe(t):this.shadowRoot.innerHTML=t}this.container=this.shadowRoot.querySelector("#container"),ti(this,Ya,this.shadowRoot.querySelector("#startpoint")),ti(this,Qa,this.shadowRoot.querySelector("#endpoint")),this.range=this.shadowRoot.querySelector("#range"),this.appearance=this.shadowRoot.querySelector("#appearance")}static get observedAttributes(){return["disabled","aria-disabled",U.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,r){var o,n,a,l,c;e===U.MEDIA_CONTROLLER?(t&&((n=(o=oe(this,ht))==null?void 0:o.unassociateElement)==null||n.call(o,this),ti(this,ht,null)),r&&this.isConnected&&(ti(this,ht,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(c=(l=oe(this,ht))==null?void 0:l.associateElement)==null||c.call(l,this))):(e==="disabled"||e==="aria-disabled"&&t!==r)&&(r==null?(this.range.removeAttribute(e),Je(this,ja,Ed).call(this)):(this.range.setAttribute(e,r),Je(this,es,bd).call(this)))}connectedCallback(){var e,t,r;let{style:o}=X(this.shadowRoot,":host");o.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`),oe(this,je).pointer=X(this.shadowRoot,"#pointer"),oe(this,je).progress=X(this.shadowRoot,"#progress"),oe(this,je).thumb=X(this.shadowRoot,'#thumb, ::slotted([slot="thumb"])'),oe(this,je).activeSegment=X(this.shadowRoot,"#segments-clipping rect:nth-child(0)");let n=this.getAttribute(U.MEDIA_CONTROLLER);n&&(ti(this,ht,(e=this.getRootNode())==null?void 0:e.getElementById(n)),(r=(t=oe(this,ht))==null?void 0:t.associateElement)==null||r.call(t,this)),this.updateBar(),this.shadowRoot.addEventListener("focusin",oe(this,Za)),this.shadowRoot.addEventListener("focusout",oe(this,Xa)),Je(this,ja,Ed).call(this),xt(this.container,oe(this,Ja))}disconnectedCallback(){var e,t;Je(this,es,bd).call(this),(t=(e=oe(this,ht))==null?void 0:e.unassociateElement)==null||t.call(e,this),ti(this,ht,null),this.shadowRoot.removeEventListener("focusin",oe(this,Za)),this.shadowRoot.removeEventListener("focusout",oe(this,Xa)),Pt(this.container,oe(this,Ja))}updatePointerBar(e){var t;(t=oe(this,je).pointer)==null||t.style.setProperty("width",`${this.getPointerRatio(e)*100}%`)}updateBar(){var e,t;let r=this.range.valueAsNumber*100;(e=oe(this,je).progress)==null||e.style.setProperty("width",`${r}%`),(t=oe(this,je).thumb)==null||t.style.setProperty("left",`${r}%`)}updateSegments(e){let t=this.shadowRoot.querySelector("#segments-clipping");if(t.textContent="",this.container.classList.toggle("segments",!!(e!=null&&e.length)),!(e!=null&&e.length))return;let r=[...new Set([+this.range.min,...e.flatMap(n=>[n.start,n.end]),+this.range.max])];ti(this,ts,[...r]);let o=r.pop();for(let[n,a]of r.entries()){let[l,c]=[n===0,n===r.length-1],v=l?"calc(var(--segments-gap) / -1)":`${a*100}%`,p=`calc(${((c?o:r[n+1])-a)*100}%${l||c?"":" - var(--segments-gap)"})`,f=j.createElementNS("http://www.w3.org/2000/svg","rect"),m=Xo(this.shadowRoot,`#segments-clipping rect:nth-child(${n+1})`);m.style.setProperty("x",v),m.style.setProperty("width",p),t.append(f)}}getPointerRatio(e){return th(e.clientX,e.clientY,oe(this,Ya).getBoundingClientRect(),oe(this,Qa).getBoundingClientRect())}get dragging(){return this.hasAttribute("dragging")}handleEvent(e){switch(e.type){case"pointermove":Je(this,Ad,Yh).call(this,e);break;case"input":this.updateBar();break;case"pointerenter":Je(this,_d,qh).call(this,e);break;case"pointerdown":Je(this,is,Ld).call(this,e);break;case"pointerup":Je(this,yd,Gh).call(this);break;case"pointerleave":Je(this,Td,zh).call(this);break}}get keysUsed(){return["ArrowUp","ArrowRight","ArrowDown","ArrowLeft"]}};ht=new WeakMap;rs=new WeakMap;Ya=new WeakMap;Qa=new WeakMap;je=new WeakMap;ts=new WeakMap;Za=new WeakMap;Xa=new WeakMap;Ja=new WeakMap;kd=new WeakSet;Kh=function(i){let e=oe(this,je).activeSegment;if(!e)return;let t=this.getPointerRatio(i),o=`#segments-clipping rect:nth-child(${oe(this,ts).findIndex((n,a,l)=>{let c=l[a+1];return c!=null&&t>=n&&t<=c})+1})`;(e.selectorText!=o||!e.style.transform)&&(e.selectorText=o,e.style.setProperty("transform","var(--media-range-segment-hover-transform, scaleY(2))"))};ja=new WeakSet;Ed=function(){this.hasAttribute("disabled")||(this.addEventListener("input",this),this.addEventListener("pointerdown",this),this.addEventListener("pointerenter",this))};es=new WeakSet;bd=function(){var i,e;this.removeEventListener("input",this),this.removeEventListener("pointerdown",this),this.removeEventListener("pointerenter",this),(i=d.window)==null||i.removeEventListener("pointerup",this),(e=d.window)==null||e.removeEventListener("pointermove",this)};is=new WeakSet;Ld=function(i){var e;ti(this,rs,i.composedPath().includes(this.range)),(e=d.window)==null||e.addEventListener("pointerup",this)};_d=new WeakSet;qh=function(i){var e;i.pointerType!=="mouse"&&Je(this,is,Ld).call(this,i),this.addEventListener("pointerleave",this),(e=d.window)==null||e.addEventListener("pointermove",this)};yd=new WeakSet;Gh=function(){var i;(i=d.window)==null||i.removeEventListener("pointerup",this),this.toggleAttribute("dragging",!1),this.range.disabled=this.hasAttribute("disabled")};Td=new WeakSet;zh=function(){var i,e;this.removeEventListener("pointerleave",this),(i=d.window)==null||i.removeEventListener("pointermove",this),this.toggleAttribute("dragging",!1),this.range.disabled=this.hasAttribute("disabled"),(e=oe(this,je).activeSegment)==null||e.style.removeProperty("transform")};Ad=new WeakSet;Yh=function(i){i.pointerType==="pen"&&i.buttons===0||(this.toggleAttribute("dragging",i.buttons===1||i.pointerType!=="mouse"),this.updatePointerBar(i),Je(this,kd,Kh).call(this,i),this.dragging&&(i.pointerType!=="mouse"||!oe(this,rs))&&(this.range.disabled=!0,this.range.valueAsNumber=this.getPointerRatio(i),this.range.dispatchEvent(new Event("input",{bubbles:!0,composed:!0}))))};pt.shadowRootOptions={mode:"open"};pt.getTemplateHTML=Ef;pt.getContainerTemplateHTML=bf;d.customElements.get("media-chrome-range")||d.customElements.define("media-chrome-range",pt);var Qh=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},os=(i,e,t)=>(Qh(i,e,"read from private field"),t?t.call(i):e.get(i)),_f=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},ns=(i,e,t,r)=>(Qh(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),mt;function yf(i){return`
940
+ <style>
941
+ :host {
942
+
943
+ box-sizing: border-box;
944
+ display: var(--media-control-display, var(--media-control-bar-display, inline-flex));
945
+ color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238)));
946
+ --media-loading-indicator-icon-height: 44px;
947
+ }
948
+
949
+ ::slotted(media-time-range),
950
+ ::slotted(media-volume-range) {
951
+ min-height: 100%;
952
+ }
953
+
954
+ ::slotted(media-time-range),
955
+ ::slotted(media-clip-selector) {
956
+ flex-grow: 1;
957
+ }
958
+
959
+ ::slotted([role="menu"]) {
960
+ position: absolute;
961
+ }
962
+ </style>
963
+
964
+ <slot></slot>
965
+ `}var pn=class extends d.HTMLElement{constructor(){if(super(),_f(this,mt,void 0),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);let e=J(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}}static get observedAttributes(){return[U.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,r){var o,n,a,l,c;e===U.MEDIA_CONTROLLER&&(t&&((n=(o=os(this,mt))==null?void 0:o.unassociateElement)==null||n.call(o,this),ns(this,mt,null)),r&&this.isConnected&&(ns(this,mt,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(c=(l=os(this,mt))==null?void 0:l.associateElement)==null||c.call(l,this)))}connectedCallback(){var e,t,r;let o=this.getAttribute(U.MEDIA_CONTROLLER);o&&(ns(this,mt,(e=this.getRootNode())==null?void 0:e.getElementById(o)),(r=(t=os(this,mt))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=os(this,mt))==null?void 0:e.unassociateElement)==null||t.call(e,this),ns(this,mt,null)}};mt=new WeakMap;pn.shadowRootOptions={mode:"open"};pn.getTemplateHTML=yf;d.customElements.get("media-control-bar")||d.customElements.define("media-control-bar",pn);var Zh=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},as=(i,e,t)=>(Zh(i,e,"read from private field"),t?t.call(i):e.get(i)),Tf=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},ss=(i,e,t,r)=>(Zh(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),vt;function Af(i,e={}){return`
966
+ <style>
967
+ :host {
968
+ font: var(--media-font,
969
+ var(--media-font-weight, normal)
970
+ var(--media-font-size, 14px) /
971
+ var(--media-text-content-height, var(--media-control-height, 24px))
972
+ var(--media-font-family, helvetica neue, segoe ui, roboto, arial, sans-serif));
973
+ color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238)));
974
+ background: var(--media-text-background, var(--media-control-background, var(--media-secondary-color, rgb(20 20 30 / .7))));
975
+ padding: var(--media-control-padding, 10px);
976
+ display: inline-flex;
977
+ justify-content: center;
978
+ align-items: center;
979
+ vertical-align: middle;
980
+ box-sizing: border-box;
981
+ text-align: center;
982
+ pointer-events: auto;
983
+ }
984
+
985
+
986
+ :host(:focus-visible) {
987
+ box-shadow: inset 0 0 0 2px rgb(27 127 204 / .9);
988
+ outline: 0;
989
+ }
990
+
991
+
992
+ :host(:where(:focus)) {
993
+ box-shadow: none;
994
+ outline: 0;
995
+ }
996
+ </style>
997
+
998
+ ${this.getSlotTemplateHTML(i,e)}
999
+ `}function Sf(i,e){return`
1000
+ <slot></slot>
1001
+ `}var xe=class extends d.HTMLElement{constructor(){if(super(),Tf(this,vt,void 0),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);let e=J(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}}static get observedAttributes(){return[U.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,r){var o,n,a,l,c;e===U.MEDIA_CONTROLLER&&(t&&((n=(o=as(this,vt))==null?void 0:o.unassociateElement)==null||n.call(o,this),ss(this,vt,null)),r&&this.isConnected&&(ss(this,vt,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(c=(l=as(this,vt))==null?void 0:l.associateElement)==null||c.call(l,this)))}connectedCallback(){var e,t,r;let{style:o}=X(this.shadowRoot,":host");o.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`);let n=this.getAttribute(U.MEDIA_CONTROLLER);n&&(ss(this,vt,(e=this.getRootNode())==null?void 0:e.getElementById(n)),(r=(t=as(this,vt))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=as(this,vt))==null?void 0:e.unassociateElement)==null||t.call(e,this),ss(this,vt,null)}};vt=new WeakMap;xe.shadowRootOptions={mode:"open"};xe.getTemplateHTML=Af;xe.getSlotTemplateHTML=Sf;d.customElements.get("media-text-display")||d.customElements.define("media-text-display",xe);var Jh=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Xh=(i,e,t)=>(Jh(i,e,"read from private field"),t?t.call(i):e.get(i)),kf=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Lf=(i,e,t,r)=>(Jh(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),mn;function wf(i,e){return`
1002
+ <slot>${Xe(e.mediaDuration)}</slot>
1003
+ `}var ls=class extends xe{constructor(){var e;super(),kf(this,mn,void 0),Lf(this,mn,this.shadowRoot.querySelector("slot")),Xh(this,mn).textContent=Xe((e=this.mediaDuration)!=null?e:0)}static get observedAttributes(){return[...super.observedAttributes,s.MEDIA_DURATION]}attributeChangedCallback(e,t,r){e===s.MEDIA_DURATION&&(Xh(this,mn).textContent=Xe(+r)),super.attributeChangedCallback(e,t,r)}get mediaDuration(){return H(this,s.MEDIA_DURATION)}set mediaDuration(e){B(this,s.MEDIA_DURATION,e)}};mn=new WeakMap;ls.getSlotTemplateHTML=wf;d.customElements.get("media-duration-display")||d.customElements.define("media-duration-display",ls);var Cf={2:E("Network Error"),3:E("Decode Error"),4:E("Source Not Supported"),5:E("Encryption Error")},If={2:E("A network error caused the media download to fail."),3:E("A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format."),4:E("An unsupported error occurred. The server or network failed, or your browser does not support this format."),5:E("The media is encrypted and there are no keys to decrypt it.")},wd=i=>{var e,t;return i.code===1?null:{title:(e=Cf[i.code])!=null?e:`Error ${i.code}`,message:(t=If[i.code])!=null?t:i.message}};var ep=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Mf=(i,e,t)=>(ep(i,e,"read from private field"),t?t.call(i):e.get(i)),Rf=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},xf=(i,e,t,r)=>(ep(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),ds;function Pf(i){return`
1004
+ <style>
1005
+ :host {
1006
+ background: rgb(20 20 30 / .8);
1007
+ }
1008
+
1009
+ #content {
1010
+ display: block;
1011
+ padding: 1.2em 1.5em;
1012
+ }
1013
+
1014
+ h3,
1015
+ p {
1016
+ margin-block: 0 .3em;
1017
+ }
1018
+ </style>
1019
+ <slot name="error-${i.mediaerrorcode}" id="content">
1020
+ ${tp({code:+i.mediaerrorcode,message:i.mediaerrormessage})}
1021
+ </slot>
1022
+ `}function Df(i){return i.code&&wd(i)!==null}function tp(i){var e;let{title:t,message:r}=(e=wd(i))!=null?e:{},o="";return t&&(o+=`<slot name="error-${i.code}-title"><h3>${t}</h3></slot>`),r&&(o+=`<slot name="error-${i.code}-message"><p>${r}</p></slot>`),o}var jh=[s.MEDIA_ERROR_CODE,s.MEDIA_ERROR_MESSAGE],vn=class extends ut{constructor(){super(...arguments),Rf(this,ds,null)}static get observedAttributes(){return[...super.observedAttributes,...jh]}formatErrorMessage(e){return this.constructor.formatErrorMessage(e)}attributeChangedCallback(e,t,r){var o;if(super.attributeChangedCallback(e,t,r),!jh.includes(e))return;let n=(o=this.mediaError)!=null?o:{code:this.mediaErrorCode,message:this.mediaErrorMessage};this.open=Df(n),this.open&&(this.shadowRoot.querySelector("slot").name=`error-${this.mediaErrorCode}`,this.shadowRoot.querySelector("#content").innerHTML=this.formatErrorMessage(n))}get mediaError(){return Mf(this,ds)}set mediaError(e){xf(this,ds,e)}get mediaErrorCode(){return H(this,"mediaerrorcode")}set mediaErrorCode(e){B(this,"mediaerrorcode",e)}get mediaErrorMessage(){return x(this,"mediaerrormessage")}set mediaErrorMessage(e){P(this,"mediaerrormessage",e)}};ds=new WeakMap;vn.getSlotTemplateHTML=Pf;vn.formatErrorMessage=tp;d.customElements.get("media-error-dialog")||d.customElements.define("media-error-dialog",vn);var Of=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},ii=(i,e,t)=>(Of(i,e,"read from private field"),t?t.call(i):e.get(i)),ip=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Pr,Dr;function Uf(i){return`
1023
+ <style>
1024
+ :host {
1025
+ position: fixed;
1026
+ top: 0;
1027
+ left: 0;
1028
+ z-index: 9999;
1029
+ background: rgb(20 20 30 / .8);
1030
+ backdrop-filter: blur(10px);
1031
+ }
1032
+
1033
+ #content {
1034
+ display: block;
1035
+ width: clamp(400px, 40vw, 700px);
1036
+ max-width: 90vw;
1037
+ text-align: left;
1038
+ }
1039
+
1040
+ h2 {
1041
+ margin: 0 0 1.5rem 0;
1042
+ font-size: 1.5rem;
1043
+ font-weight: 500;
1044
+ text-align: center;
1045
+ }
1046
+
1047
+ .shortcuts-table {
1048
+ width: 100%;
1049
+ border-collapse: collapse;
1050
+ }
1051
+
1052
+ .shortcuts-table tr {
1053
+ border-bottom: 1px solid rgba(255, 255, 255, 0.1);
1054
+ }
1055
+
1056
+ .shortcuts-table tr:last-child {
1057
+ border-bottom: none;
1058
+ }
1059
+
1060
+ .shortcuts-table td {
1061
+ padding: 0.75rem 0.5rem;
1062
+ }
1063
+
1064
+ .shortcuts-table td:first-child {
1065
+ text-align: right;
1066
+ padding-right: 1rem;
1067
+ width: 40%;
1068
+ min-width: 120px;
1069
+ }
1070
+
1071
+ .shortcuts-table td:last-child {
1072
+ padding-left: 1rem;
1073
+ }
1074
+
1075
+ .key {
1076
+ display: inline-block;
1077
+ background: rgba(255, 255, 255, 0.15);
1078
+ border: 1px solid rgba(255, 255, 255, 0.2);
1079
+ border-radius: 4px;
1080
+ padding: 0.25rem 0.5rem;
1081
+ font-family: 'Courier New', monospace;
1082
+ font-size: 0.9rem;
1083
+ font-weight: 500;
1084
+ min-width: 1.5rem;
1085
+ text-align: center;
1086
+ margin: 0 0.2rem;
1087
+ }
1088
+
1089
+ .description {
1090
+ color: rgba(255, 255, 255, 0.9);
1091
+ font-size: 0.95rem;
1092
+ }
1093
+
1094
+ .key-combo {
1095
+ display: flex;
1096
+ align-items: center;
1097
+ justify-content: flex-end;
1098
+ gap: 0.3rem;
1099
+ }
1100
+
1101
+ .key-separator {
1102
+ color: rgba(255, 255, 255, 0.5);
1103
+ font-size: 0.9rem;
1104
+ }
1105
+ </style>
1106
+ <slot id="content">
1107
+ ${Nf()}
1108
+ </slot>
1109
+ `}function Nf(){return`
1110
+ <h2>Keyboard Shortcuts</h2>
1111
+ <table class="shortcuts-table">${[{keys:["Space","k"],description:"Toggle Playback"},{keys:["m"],description:"Toggle mute"},{keys:["f"],description:"Toggle fullscreen"},{keys:["c"],description:"Toggle captions or subtitles, if available"},{keys:["p"],description:"Toggle Picture in Picture"},{keys:["\u2190","j"],description:"Seek back 10s"},{keys:["\u2192","l"],description:"Seek forward 10s"},{keys:["\u2191"],description:"Turn volume up"},{keys:["\u2193"],description:"Turn volume down"},{keys:["< (SHIFT+,)"],description:"Decrease playback rate"},{keys:["> (SHIFT+.)"],description:"Increase playback rate"}].map(({keys:t,description:r})=>`
1112
+ <tr>
1113
+ <td>
1114
+ <div class="key-combo">${t.map((n,a)=>a>0?`<span class="key-separator">or</span><span class="key">${n}</span>`:`<span class="key">${n}</span>`).join("")}</div>
1115
+ </td>
1116
+ <td class="description">${r}</td>
1117
+ </tr>
1118
+ `).join("")}</table>
1119
+ `}var cs=class extends ut{constructor(){super(...arguments),ip(this,Pr,e=>{var t;if(!this.open)return;let r=(t=this.shadowRoot)==null?void 0:t.querySelector("#content");if(!r)return;let o=e.composedPath(),n=o[0]===this||o.includes(this),a=o.includes(r);n&&!a&&(this.open=!1)}),ip(this,Dr,e=>{if(!this.open)return;let t=e.shiftKey&&(e.key==="/"||e.key==="?");(e.key==="Escape"||t)&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&(this.open=!1,e.preventDefault(),e.stopPropagation())})}connectedCallback(){super.connectedCallback(),this.open&&(this.addEventListener("click",ii(this,Pr)),document.addEventListener("keydown",ii(this,Dr)))}disconnectedCallback(){this.removeEventListener("click",ii(this,Pr)),document.removeEventListener("keydown",ii(this,Dr))}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e==="open"&&(this.open?(this.addEventListener("click",ii(this,Pr)),document.addEventListener("keydown",ii(this,Dr))):(this.removeEventListener("click",ii(this,Pr)),document.removeEventListener("keydown",ii(this,Dr))))}};Pr=new WeakMap;Dr=new WeakMap;cs.getSlotTemplateHTML=Uf;d.customElements.get("media-keyboard-shortcuts-dialog")||d.customElements.define("media-keyboard-shortcuts-dialog",cs);var op=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Hf=(i,e,t)=>(op(i,e,"read from private field"),t?t.call(i):e.get(i)),$f=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Bf=(i,e,t,r)=>(op(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),us,Vf=`<svg aria-hidden="true" viewBox="0 0 26 24">
1120
+ <path d="M16 3v2.5h3.5V9H22V3h-6ZM4 9h2.5V5.5H10V3H4v6Zm15.5 9.5H16V21h6v-6h-2.5v3.5ZM6.5 15H4v6h6v-2.5H6.5V15Z"/>
1121
+ </svg>`,Wf=`<svg aria-hidden="true" viewBox="0 0 26 24">
1122
+ <path d="M18.5 6.5V3H16v6h6V6.5h-3.5ZM16 21h2.5v-3.5H22V15h-6v6ZM4 17.5h3.5V21H10v-6H4v2.5Zm3.5-11H4V9h6V3H7.5v3.5Z"/>
1123
+ </svg>`;function Ff(i){return`
1124
+ <style>
1125
+ :host([${s.MEDIA_IS_FULLSCREEN}]) slot[name=icon] slot:not([name=exit]) {
1126
+ display: none !important;
1127
+ }
1128
+
1129
+
1130
+ :host(:not([${s.MEDIA_IS_FULLSCREEN}])) slot[name=icon] slot:not([name=enter]) {
1131
+ display: none !important;
1132
+ }
1133
+
1134
+ :host([${s.MEDIA_IS_FULLSCREEN}]) slot[name=tooltip-enter],
1135
+ :host(:not([${s.MEDIA_IS_FULLSCREEN}])) slot[name=tooltip-exit] {
1136
+ display: none;
1137
+ }
1138
+ </style>
1139
+
1140
+ <slot name="icon">
1141
+ <slot name="enter">${Vf}</slot>
1142
+ <slot name="exit">${Wf}</slot>
1143
+ </slot>
1144
+ `}function Kf(){return`
1145
+ <slot name="tooltip-enter">${E("Enter fullscreen mode")}</slot>
1146
+ <slot name="tooltip-exit">${E("Exit fullscreen mode")}</slot>
1147
+ `}var rp=i=>{let e=i.mediaIsFullscreen?E("exit fullscreen mode"):E("enter fullscreen mode");i.setAttribute("aria-label",e)},fn=class extends F{constructor(){super(...arguments),$f(this,us,null)}static get observedAttributes(){return[...super.observedAttributes,s.MEDIA_IS_FULLSCREEN,s.MEDIA_FULLSCREEN_UNAVAILABLE]}connectedCallback(){super.connectedCallback(),rp(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===s.MEDIA_IS_FULLSCREEN&&rp(this)}get mediaFullscreenUnavailable(){return x(this,s.MEDIA_FULLSCREEN_UNAVAILABLE)}set mediaFullscreenUnavailable(e){P(this,s.MEDIA_FULLSCREEN_UNAVAILABLE,e)}get mediaIsFullscreen(){return C(this,s.MEDIA_IS_FULLSCREEN)}set mediaIsFullscreen(e){I(this,s.MEDIA_IS_FULLSCREEN,e)}handleClick(e){Bf(this,us,e);let t=Hf(this,us)instanceof PointerEvent,r=this.mediaIsFullscreen?new d.CustomEvent(b.MEDIA_EXIT_FULLSCREEN_REQUEST,{composed:!0,bubbles:!0}):new d.CustomEvent(b.MEDIA_ENTER_FULLSCREEN_REQUEST,{composed:!0,bubbles:!0,detail:t});this.dispatchEvent(r)}};us=new WeakMap;fn.getSlotTemplateHTML=Ff;fn.getTooltipContentHTML=Kf;d.customElements.get("media-fullscreen-button")||d.customElements.define("media-fullscreen-button",fn);var{MEDIA_TIME_IS_LIVE:hs,MEDIA_PAUSED:gn}=s,{MEDIA_SEEK_TO_LIVE_REQUEST:qf,MEDIA_PLAY_REQUEST:Gf}=b,zf='<svg viewBox="0 0 6 12"><circle cx="3" cy="6" r="2"></circle></svg>';function Yf(i){return`
1148
+ <style>
1149
+ :host { --media-tooltip-display: none; }
1150
+
1151
+ slot[name=indicator] > *,
1152
+ :host ::slotted([slot=indicator]) {
1153
+
1154
+ min-width: auto;
1155
+ fill: var(--media-live-button-icon-color, rgb(140, 140, 140));
1156
+ color: var(--media-live-button-icon-color, rgb(140, 140, 140));
1157
+ }
1158
+
1159
+ :host([${hs}]:not([${gn}])) slot[name=indicator] > *,
1160
+ :host([${hs}]:not([${gn}])) ::slotted([slot=indicator]) {
1161
+ fill: var(--media-live-button-indicator-color, rgb(255, 0, 0));
1162
+ color: var(--media-live-button-indicator-color, rgb(255, 0, 0));
1163
+ }
1164
+
1165
+ :host([${hs}]:not([${gn}])) {
1166
+ cursor: var(--media-cursor, not-allowed);
1167
+ }
1168
+
1169
+ slot[name=text]{
1170
+ text-transform: uppercase;
1171
+ }
1172
+
1173
+ </style>
1174
+
1175
+ <slot name="indicator">${zf}</slot>
1176
+
1177
+ <slot name="spacer">&nbsp;</slot><slot name="text">${E("live")}</slot>
1178
+ `}var np=i=>{var e;let t=i.mediaPaused||!i.mediaTimeIsLive,r=t?E("seek to live"):E("playing live");i.setAttribute("aria-label",r);let o=(e=i.shadowRoot)==null?void 0:e.querySelector('slot[name="text"]');o&&(o.textContent=E("live")),t?i.removeAttribute("aria-disabled"):i.setAttribute("aria-disabled","true")},ps=class extends F{static get observedAttributes(){return[...super.observedAttributes,hs,gn]}connectedCallback(){super.connectedCallback(),np(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),np(this)}get mediaPaused(){return C(this,s.MEDIA_PAUSED)}set mediaPaused(e){I(this,s.MEDIA_PAUSED,e)}get mediaTimeIsLive(){return C(this,s.MEDIA_TIME_IS_LIVE)}set mediaTimeIsLive(e){I(this,s.MEDIA_TIME_IS_LIVE,e)}handleClick(){!this.mediaPaused&&this.mediaTimeIsLive||(this.dispatchEvent(new d.CustomEvent(qf,{composed:!0,bubbles:!0})),this.hasAttribute(gn)&&this.dispatchEvent(new d.CustomEvent(Gf,{composed:!0,bubbles:!0})))}};ps.getSlotTemplateHTML=Yf;d.customElements.get("media-live-button")||d.customElements.define("media-live-button",ps);var sp=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},En=(i,e,t)=>(sp(i,e,"read from private field"),t?t.call(i):e.get(i)),ap=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},bn=(i,e,t,r)=>(sp(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),ft,vs,ms={LOADING_DELAY:"loadingdelay",NO_AUTOHIDE:"noautohide"},lp=500,Qf=`
1179
+ <svg aria-hidden="true" viewBox="0 0 100 100">
1180
+ <path d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50">
1181
+ <animateTransform
1182
+ attributeName="transform"
1183
+ attributeType="XML"
1184
+ type="rotate"
1185
+ dur="1s"
1186
+ from="0 50 50"
1187
+ to="360 50 50"
1188
+ repeatCount="indefinite" />
1189
+ </path>
1190
+ </svg>
1191
+ `;function Zf(i){return`
1192
+ <style>
1193
+ :host {
1194
+ display: var(--media-control-display, var(--media-loading-indicator-display, inline-block));
1195
+ vertical-align: middle;
1196
+ box-sizing: border-box;
1197
+ --_loading-indicator-delay: var(--media-loading-indicator-transition-delay, ${lp}ms);
1198
+ }
1199
+
1200
+ #status {
1201
+ color: rgba(0,0,0,0);
1202
+ width: 0px;
1203
+ height: 0px;
1204
+ }
1205
+
1206
+ :host slot[name=icon] > *,
1207
+ :host ::slotted([slot=icon]) {
1208
+ opacity: var(--media-loading-indicator-opacity, 0);
1209
+ transition: opacity 0.15s;
1210
+ }
1211
+
1212
+ :host([${s.MEDIA_LOADING}]:not([${s.MEDIA_PAUSED}])) slot[name=icon] > *,
1213
+ :host([${s.MEDIA_LOADING}]:not([${s.MEDIA_PAUSED}])) ::slotted([slot=icon]) {
1214
+ opacity: var(--media-loading-indicator-opacity, 1);
1215
+ transition: opacity 0.15s var(--_loading-indicator-delay);
1216
+ }
1217
+
1218
+ :host #status {
1219
+ visibility: var(--media-loading-indicator-opacity, hidden);
1220
+ transition: visibility 0.15s;
1221
+ }
1222
+
1223
+ :host([${s.MEDIA_LOADING}]:not([${s.MEDIA_PAUSED}])) #status {
1224
+ visibility: var(--media-loading-indicator-opacity, visible);
1225
+ transition: visibility 0.15s var(--_loading-indicator-delay);
1226
+ }
1227
+
1228
+ svg, img, ::slotted(svg), ::slotted(img) {
1229
+ width: var(--media-loading-indicator-icon-width);
1230
+ height: var(--media-loading-indicator-icon-height, 100px);
1231
+ fill: var(--media-icon-color, var(--media-primary-color, rgb(238 238 238)));
1232
+ vertical-align: middle;
1233
+ }
1234
+ </style>
1235
+
1236
+ <slot name="icon">${Qf}</slot>
1237
+ <div id="status" role="status" aria-live="polite">${E("media loading")}</div>
1238
+ `}var _n=class extends d.HTMLElement{constructor(){if(super(),ap(this,ft,void 0),ap(this,vs,lp),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);let e=J(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}}static get observedAttributes(){return[U.MEDIA_CONTROLLER,s.MEDIA_PAUSED,s.MEDIA_LOADING,ms.LOADING_DELAY]}attributeChangedCallback(e,t,r){var o,n,a,l,c;e===ms.LOADING_DELAY&&t!==r?this.loadingDelay=Number(r):e===U.MEDIA_CONTROLLER&&(t&&((n=(o=En(this,ft))==null?void 0:o.unassociateElement)==null||n.call(o,this),bn(this,ft,null)),r&&this.isConnected&&(bn(this,ft,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(c=(l=En(this,ft))==null?void 0:l.associateElement)==null||c.call(l,this)))}connectedCallback(){var e,t,r;let o=this.getAttribute(U.MEDIA_CONTROLLER);o&&(bn(this,ft,(e=this.getRootNode())==null?void 0:e.getElementById(o)),(r=(t=En(this,ft))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=En(this,ft))==null?void 0:e.unassociateElement)==null||t.call(e,this),bn(this,ft,null)}get loadingDelay(){return En(this,vs)}set loadingDelay(e){bn(this,vs,e);let{style:t}=X(this.shadowRoot,":host");t.setProperty("--_loading-indicator-delay",`var(--media-loading-indicator-transition-delay, ${e}ms)`)}get mediaPaused(){return C(this,s.MEDIA_PAUSED)}set mediaPaused(e){I(this,s.MEDIA_PAUSED,e)}get mediaLoading(){return C(this,s.MEDIA_LOADING)}set mediaLoading(e){I(this,s.MEDIA_LOADING,e)}get mediaController(){return x(this,U.MEDIA_CONTROLLER)}set mediaController(e){P(this,U.MEDIA_CONTROLLER,e)}get noAutohide(){return C(this,ms.NO_AUTOHIDE)}set noAutohide(e){I(this,ms.NO_AUTOHIDE,e)}};ft=new WeakMap;vs=new WeakMap;_n.shadowRootOptions={mode:"open"};_n.getTemplateHTML=Zf;d.customElements.get("media-loading-indicator")||d.customElements.define("media-loading-indicator",_n);var Xf=`<svg aria-hidden="true" viewBox="0 0 24 24">
1239
+ <path d="M16.5 12A4.5 4.5 0 0 0 14 8v2.18l2.45 2.45a4.22 4.22 0 0 0 .05-.63Zm2.5 0a6.84 6.84 0 0 1-.54 2.64L20 16.15A8.8 8.8 0 0 0 21 12a9 9 0 0 0-7-8.77v2.06A7 7 0 0 1 19 12ZM4.27 3 3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25A6.92 6.92 0 0 1 14 18.7v2.06A9 9 0 0 0 17.69 19l2 2.05L21 19.73l-9-9L4.27 3ZM12 4 9.91 6.09 12 8.18V4Z"/>
1240
+ </svg>`,dp=`<svg aria-hidden="true" viewBox="0 0 24 24">
1241
+ <path d="M3 9v6h4l5 5V4L7 9H3Zm13.5 3A4.5 4.5 0 0 0 14 8v8a4.47 4.47 0 0 0 2.5-4Z"/>
1242
+ </svg>`,Jf=`<svg aria-hidden="true" viewBox="0 0 24 24">
1243
+ <path d="M3 9v6h4l5 5V4L7 9H3Zm13.5 3A4.5 4.5 0 0 0 14 8v8a4.47 4.47 0 0 0 2.5-4ZM14 3.23v2.06a7 7 0 0 1 0 13.42v2.06a9 9 0 0 0 0-17.54Z"/>
1244
+ </svg>`;function jf(i){return`
1245
+ <style>
1246
+ :host(:not([${s.MEDIA_VOLUME_LEVEL}])) slot[name=icon] slot:not([name=high]),
1247
+ :host([${s.MEDIA_VOLUME_LEVEL}=high]) slot[name=icon] slot:not([name=high]) {
1248
+ display: none !important;
1249
+ }
1250
+
1251
+ :host([${s.MEDIA_VOLUME_LEVEL}=off]) slot[name=icon] slot:not([name=off]) {
1252
+ display: none !important;
1253
+ }
1254
+
1255
+ :host([${s.MEDIA_VOLUME_LEVEL}=low]) slot[name=icon] slot:not([name=low]) {
1256
+ display: none !important;
1257
+ }
1258
+
1259
+ :host([${s.MEDIA_VOLUME_LEVEL}=medium]) slot[name=icon] slot:not([name=medium]) {
1260
+ display: none !important;
1261
+ }
1262
+
1263
+ :host(:not([${s.MEDIA_VOLUME_LEVEL}=off])) slot[name=tooltip-unmute],
1264
+ :host([${s.MEDIA_VOLUME_LEVEL}=off]) slot[name=tooltip-mute] {
1265
+ display: none;
1266
+ }
1267
+ </style>
1268
+
1269
+ <slot name="icon">
1270
+ <slot name="off">${Xf}</slot>
1271
+ <slot name="low">${dp}</slot>
1272
+ <slot name="medium">${dp}</slot>
1273
+ <slot name="high">${Jf}</slot>
1274
+ </slot>
1275
+ `}function eg(){return`
1276
+ <slot name="tooltip-mute">${E("Mute")}</slot>
1277
+ <slot name="tooltip-unmute">${E("Unmute")}</slot>
1278
+ `}var cp=i=>{let t=i.mediaVolumeLevel==="off"?E("unmute"):E("mute");i.setAttribute("aria-label",t)},yn=class extends F{static get observedAttributes(){return[...super.observedAttributes,s.MEDIA_VOLUME_LEVEL]}connectedCallback(){super.connectedCallback(),cp(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===s.MEDIA_VOLUME_LEVEL&&cp(this)}get mediaVolumeLevel(){return x(this,s.MEDIA_VOLUME_LEVEL)}set mediaVolumeLevel(e){P(this,s.MEDIA_VOLUME_LEVEL,e)}handleClick(){let e=this.mediaVolumeLevel==="off"?b.MEDIA_UNMUTE_REQUEST:b.MEDIA_MUTE_REQUEST;this.dispatchEvent(new d.CustomEvent(e,{composed:!0,bubbles:!0}))}};yn.getSlotTemplateHTML=jf;yn.getTooltipContentHTML=eg;d.customElements.get("media-mute-button")||d.customElements.define("media-mute-button",yn);var up=`<svg aria-hidden="true" viewBox="0 0 28 24">
1279
+ <path d="M24 3H4a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h20a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1Zm-1 16H5V5h18v14Zm-3-8h-7v5h7v-5Z"/>
1280
+ </svg>`;function tg(i){return`
1281
+ <style>
1282
+ :host([${s.MEDIA_IS_PIP}]) slot[name=icon] slot:not([name=exit]) {
1283
+ display: none !important;
1284
+ }
1285
+
1286
+ :host(:not([${s.MEDIA_IS_PIP}])) slot[name=icon] slot:not([name=enter]) {
1287
+ display: none !important;
1288
+ }
1289
+
1290
+ :host([${s.MEDIA_IS_PIP}]) slot[name=tooltip-enter],
1291
+ :host(:not([${s.MEDIA_IS_PIP}])) slot[name=tooltip-exit] {
1292
+ display: none;
1293
+ }
1294
+ </style>
1295
+
1296
+ <slot name="icon">
1297
+ <slot name="enter">${up}</slot>
1298
+ <slot name="exit">${up}</slot>
1299
+ </slot>
1300
+ `}function ig(){return`
1301
+ <slot name="tooltip-enter">${E("Enter picture in picture mode")}</slot>
1302
+ <slot name="tooltip-exit">${E("Exit picture in picture mode")}</slot>
1303
+ `}var hp=i=>{let e=i.mediaIsPip?E("exit picture in picture mode"):E("enter picture in picture mode");i.setAttribute("aria-label",e)},Tn=class extends F{static get observedAttributes(){return[...super.observedAttributes,s.MEDIA_IS_PIP,s.MEDIA_PIP_UNAVAILABLE]}connectedCallback(){super.connectedCallback(),hp(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===s.MEDIA_IS_PIP&&hp(this)}get mediaPipUnavailable(){return x(this,s.MEDIA_PIP_UNAVAILABLE)}set mediaPipUnavailable(e){P(this,s.MEDIA_PIP_UNAVAILABLE,e)}get mediaIsPip(){return C(this,s.MEDIA_IS_PIP)}set mediaIsPip(e){I(this,s.MEDIA_IS_PIP,e)}handleClick(){let e=this.mediaIsPip?b.MEDIA_EXIT_PIP_REQUEST:b.MEDIA_ENTER_PIP_REQUEST;this.dispatchEvent(new d.CustomEvent(e,{composed:!0,bubbles:!0}))}};Tn.getSlotTemplateHTML=tg;Tn.getTooltipContentHTML=ig;d.customElements.get("media-pip-button")||d.customElements.define("media-pip-button",Tn);var rg=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Or=(i,e,t)=>(rg(i,e,"read from private field"),t?t.call(i):e.get(i)),og=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},ri,Cd={RATES:"rates"},Id=[1,1.2,1.5,1.7,2],Yi=1;function ng(i){return`
1304
+ <style>
1305
+ :host {
1306
+ min-width: 5ch;
1307
+ padding: var(--media-button-padding, var(--media-control-padding, 10px 5px));
1308
+ }
1309
+ </style>
1310
+ <slot name="icon">${i.mediaplaybackrate||Yi}x</slot>
1311
+ `}function ag(){return E("Playback rate")}var An=class extends F{constructor(){var e;super(),og(this,ri,new Xt(this,Cd.RATES,{defaultValue:Id})),this.container=this.shadowRoot.querySelector('slot[name="icon"]'),this.container.innerHTML=`${(e=this.mediaPlaybackRate)!=null?e:Yi}x`}static get observedAttributes(){return[...super.observedAttributes,s.MEDIA_PLAYBACK_RATE,Cd.RATES]}attributeChangedCallback(e,t,r){if(super.attributeChangedCallback(e,t,r),e===Cd.RATES&&(Or(this,ri).value=r),e===s.MEDIA_PLAYBACK_RATE){let o=r?+r:Number.NaN,n=Number.isNaN(o)?Yi:o;this.container.innerHTML=`${n}x`,this.setAttribute("aria-label",E("Playback rate {playbackRate}",{playbackRate:n}))}}get rates(){return Or(this,ri)}set rates(e){e?Array.isArray(e)?Or(this,ri).value=e.join(" "):typeof e=="string"&&(Or(this,ri).value=e):Or(this,ri).value=""}get mediaPlaybackRate(){return H(this,s.MEDIA_PLAYBACK_RATE,Yi)}set mediaPlaybackRate(e){B(this,s.MEDIA_PLAYBACK_RATE,e)}handleClick(){var e,t;let r=Array.from(Or(this,ri).values(),a=>+a).sort((a,l)=>a-l),o=(t=(e=r.find(a=>a>this.mediaPlaybackRate))!=null?e:r[0])!=null?t:Yi,n=new d.CustomEvent(b.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:o});this.dispatchEvent(n)}};ri=new WeakMap;An.getSlotTemplateHTML=ng;An.getTooltipContentHTML=ag;d.customElements.get("media-playback-rate-button")||d.customElements.define("media-playback-rate-button",An);var sg=`<svg aria-hidden="true" viewBox="0 0 24 24">
1312
+ <path d="m6 21 15-9L6 3v18Z"/>
1313
+ </svg>`,lg=`<svg aria-hidden="true" viewBox="0 0 24 24">
1314
+ <path d="M6 20h4V4H6v16Zm8-16v16h4V4h-4Z"/>
1315
+ </svg>`;function dg(i){return`
1316
+ <style>
1317
+ :host([${s.MEDIA_PAUSED}]) slot[name=pause],
1318
+ :host(:not([${s.MEDIA_PAUSED}])) slot[name=play] {
1319
+ display: none !important;
1320
+ }
1321
+
1322
+ :host([${s.MEDIA_PAUSED}]) slot[name=tooltip-pause],
1323
+ :host(:not([${s.MEDIA_PAUSED}])) slot[name=tooltip-play] {
1324
+ display: none;
1325
+ }
1326
+ </style>
1327
+
1328
+ <slot name="icon">
1329
+ <slot name="play">${sg}</slot>
1330
+ <slot name="pause">${lg}</slot>
1331
+ </slot>
1332
+ `}function cg(){return`
1333
+ <slot name="tooltip-play">${E("Play")}</slot>
1334
+ <slot name="tooltip-pause">${E("Pause")}</slot>
1335
+ `}var pp=i=>{let e=i.mediaPaused?E("play"):E("pause");i.setAttribute("aria-label",e)},Sn=class extends F{static get observedAttributes(){return[...super.observedAttributes,s.MEDIA_PAUSED,s.MEDIA_ENDED]}connectedCallback(){super.connectedCallback(),pp(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),(e===s.MEDIA_PAUSED||e===s.MEDIA_LANG)&&pp(this)}get mediaPaused(){return C(this,s.MEDIA_PAUSED)}set mediaPaused(e){I(this,s.MEDIA_PAUSED,e)}handleClick(){let e=this.mediaPaused?b.MEDIA_PLAY_REQUEST:b.MEDIA_PAUSE_REQUEST;this.dispatchEvent(new d.CustomEvent(e,{composed:!0,bubbles:!0}))}};Sn.getSlotTemplateHTML=dg;Sn.getTooltipContentHTML=cg;d.customElements.get("media-play-button")||d.customElements.define("media-play-button",Sn);var gt={PLACEHOLDER_SRC:"placeholdersrc",SRC:"src"};function ug(i){return`
1336
+ <style>
1337
+ :host {
1338
+ pointer-events: none;
1339
+ display: var(--media-poster-image-display, inline-block);
1340
+ box-sizing: border-box;
1341
+ }
1342
+
1343
+ img {
1344
+ max-width: 100%;
1345
+ max-height: 100%;
1346
+ min-width: 100%;
1347
+ min-height: 100%;
1348
+ background-repeat: no-repeat;
1349
+ background-position: var(--media-poster-image-background-position, var(--media-object-position, center));
1350
+ background-size: var(--media-poster-image-background-size, var(--media-object-fit, contain));
1351
+ object-fit: var(--media-object-fit, contain);
1352
+ object-position: var(--media-object-position, center);
1353
+ }
1354
+ </style>
1355
+
1356
+ <img part="poster img" aria-hidden="true" id="image"/>
1357
+ `}var hg=i=>{i.style.removeProperty("background-image")},pg=(i,e)=>{i.style["background-image"]=`url('${e}')`},kn=class extends d.HTMLElement{static get observedAttributes(){return[gt.PLACEHOLDER_SRC,gt.SRC]}constructor(){if(super(),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);let e=J(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}this.image=this.shadowRoot.querySelector("#image")}attributeChangedCallback(e,t,r){e===gt.SRC&&(r==null?this.image.removeAttribute(gt.SRC):this.image.setAttribute(gt.SRC,r)),e===gt.PLACEHOLDER_SRC&&(r==null?hg(this.image):pg(this.image,r))}get placeholderSrc(){return x(this,gt.PLACEHOLDER_SRC)}set placeholderSrc(e){P(this,gt.SRC,e)}get src(){return x(this,gt.SRC)}set src(e){P(this,gt.SRC,e)}};kn.shadowRootOptions={mode:"open"};kn.getTemplateHTML=ug;d.customElements.get("media-poster-image")||d.customElements.define("media-poster-image",kn);var mp=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},mg=(i,e,t)=>(mp(i,e,"read from private field"),t?t.call(i):e.get(i)),vg=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},fg=(i,e,t,r)=>(mp(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),fs,Md=class extends xe{constructor(){super(),vg(this,fs,void 0),fg(this,fs,this.shadowRoot.querySelector("slot"))}static get observedAttributes(){return[...super.observedAttributes,s.MEDIA_PREVIEW_CHAPTER,s.MEDIA_LANG]}attributeChangedCallback(e,t,r){if(super.attributeChangedCallback(e,t,r),(e===s.MEDIA_PREVIEW_CHAPTER||e===s.MEDIA_LANG)&&r!==t&&r!=null)if(mg(this,fs).textContent=r,r!==""){let o=E("chapter: {chapterName}",{chapterName:r});this.setAttribute("aria-valuetext",o)}else this.removeAttribute("aria-valuetext")}get mediaPreviewChapter(){return x(this,s.MEDIA_PREVIEW_CHAPTER)}set mediaPreviewChapter(e){P(this,s.MEDIA_PREVIEW_CHAPTER,e)}};fs=new WeakMap;d.customElements.get("media-preview-chapter-display")||d.customElements.define("media-preview-chapter-display",Md);var vp=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},gs=(i,e,t)=>(vp(i,e,"read from private field"),t?t.call(i):e.get(i)),gg=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Es=(i,e,t,r)=>(vp(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Et;function Eg(i){return`
1358
+ <style>
1359
+ :host {
1360
+ box-sizing: border-box;
1361
+ display: var(--media-control-display, var(--media-preview-thumbnail-display, inline-block));
1362
+ overflow: hidden;
1363
+ }
1364
+
1365
+ img {
1366
+ display: none;
1367
+ position: relative;
1368
+ }
1369
+ </style>
1370
+ <img crossorigin loading="eager" decoding="async">
1371
+ `}var Ur=class extends d.HTMLElement{constructor(){if(super(),gg(this,Et,void 0),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);let e=J(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}}static get observedAttributes(){return[U.MEDIA_CONTROLLER,s.MEDIA_PREVIEW_IMAGE,s.MEDIA_PREVIEW_COORDS]}connectedCallback(){var e,t,r;let o=this.getAttribute(U.MEDIA_CONTROLLER);o&&(Es(this,Et,(e=this.getRootNode())==null?void 0:e.getElementById(o)),(r=(t=gs(this,Et))==null?void 0:t.associateElement)==null||r.call(t,this))}disconnectedCallback(){var e,t;(t=(e=gs(this,Et))==null?void 0:e.unassociateElement)==null||t.call(e,this),Es(this,Et,null)}attributeChangedCallback(e,t,r){var o,n,a,l,c;[s.MEDIA_PREVIEW_IMAGE,s.MEDIA_PREVIEW_COORDS].includes(e)&&this.update(),e===U.MEDIA_CONTROLLER&&(t&&((n=(o=gs(this,Et))==null?void 0:o.unassociateElement)==null||n.call(o,this),Es(this,Et,null)),r&&this.isConnected&&(Es(this,Et,(a=this.getRootNode())==null?void 0:a.getElementById(r)),(c=(l=gs(this,Et))==null?void 0:l.associateElement)==null||c.call(l,this)))}get mediaPreviewImage(){return x(this,s.MEDIA_PREVIEW_IMAGE)}set mediaPreviewImage(e){P(this,s.MEDIA_PREVIEW_IMAGE,e)}get mediaPreviewCoords(){let e=this.getAttribute(s.MEDIA_PREVIEW_COORDS);if(e)return e.split(/\s+/).map(t=>+t)}set mediaPreviewCoords(e){if(!e){this.removeAttribute(s.MEDIA_PREVIEW_COORDS);return}this.setAttribute(s.MEDIA_PREVIEW_COORDS,e.join(" "))}update(){let e=this.mediaPreviewCoords,t=this.mediaPreviewImage;if(!(e&&t))return;let[r,o,n,a]=e,l=t.split("#")[0],c=getComputedStyle(this),{maxWidth:v,maxHeight:h,minWidth:p,minHeight:f}=c,m=Math.min(parseInt(v)/n,parseInt(h)/a),A=Math.max(parseInt(p)/n,parseInt(f)/a),g=m<1,L=g?m:A>1?A:1,{style:D}=X(this.shadowRoot,":host"),Ue=X(this.shadowRoot,"img").style,ot=this.shadowRoot.querySelector("img"),Mo=g?"min":"max";D.setProperty(`${Mo}-width`,"initial","important"),D.setProperty(`${Mo}-height`,"initial","important"),D.width=`${n*L}px`,D.height=`${a*L}px`;let cr=()=>{Ue.width=`${this.imgWidth*L}px`,Ue.height=`${this.imgHeight*L}px`,Ue.display="block"};ot.src!==l&&(ot.onload=()=>{this.imgWidth=ot.naturalWidth,this.imgHeight=ot.naturalHeight,cr()},ot.src=l,cr()),cr(),Ue.transform=`translate(-${r*L}px, -${o*L}px)`}};Et=new WeakMap;Ur.shadowRootOptions={mode:"open"};Ur.getTemplateHTML=Eg;d.customElements.get("media-preview-thumbnail")||d.customElements.define("media-preview-thumbnail",Ur);var bs=Ur;var gp=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},fp=(i,e,t)=>(gp(i,e,"read from private field"),t?t.call(i):e.get(i)),bg=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},_g=(i,e,t,r)=>(gp(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Ln,Rd=class extends xe{constructor(){super(),bg(this,Ln,void 0),_g(this,Ln,this.shadowRoot.querySelector("slot")),fp(this,Ln).textContent=Xe(0)}static get observedAttributes(){return[...super.observedAttributes,s.MEDIA_PREVIEW_TIME]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===s.MEDIA_PREVIEW_TIME&&r!=null&&(fp(this,Ln).textContent=Xe(parseFloat(r)))}get mediaPreviewTime(){return H(this,s.MEDIA_PREVIEW_TIME)}set mediaPreviewTime(e){B(this,s.MEDIA_PREVIEW_TIME,e)}};Ln=new WeakMap;d.customElements.get("media-preview-time-display")||d.customElements.define("media-preview-time-display",Rd);var Nr={SEEK_OFFSET:"seekoffset"},xd=30,yg=i=>`
1372
+ <svg aria-hidden="true" viewBox="0 0 20 24">
1373
+ <defs>
1374
+ <style>.text{font-size:8px;font-family:Arial-BoldMT, Arial;font-weight:700;}</style>
1375
+ </defs>
1376
+ <text class="text value" transform="translate(2.18 19.87)">${i}</text>
1377
+ <path d="M10 6V3L4.37 7 10 10.94V8a5.54 5.54 0 0 1 1.9 10.48v2.12A7.5 7.5 0 0 0 10 6Z"/>
1378
+ </svg>`;function Tg(i,e){return`
1379
+ <slot name="icon">${yg(e.seekOffset)}</slot>
1380
+ `}function Ag(){return E("Seek backward")}var Sg=0,wn=class extends F{static get observedAttributes(){return[...super.observedAttributes,s.MEDIA_CURRENT_TIME,Nr.SEEK_OFFSET]}connectedCallback(){super.connectedCallback(),this.seekOffset=H(this,Nr.SEEK_OFFSET,xd)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===Nr.SEEK_OFFSET&&(this.seekOffset=H(this,Nr.SEEK_OFFSET,xd))}get seekOffset(){return H(this,Nr.SEEK_OFFSET,xd)}set seekOffset(e){B(this,Nr.SEEK_OFFSET,e),this.setAttribute("aria-label",E("seek back {seekOffset} seconds",{seekOffset:this.seekOffset})),Ta(Aa(this,"icon"),this.seekOffset)}get mediaCurrentTime(){return H(this,s.MEDIA_CURRENT_TIME,Sg)}set mediaCurrentTime(e){B(this,s.MEDIA_CURRENT_TIME,e)}handleClick(){let e=Math.max(this.mediaCurrentTime-this.seekOffset,0),t=new d.CustomEvent(b.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}};wn.getSlotTemplateHTML=Tg;wn.getTooltipContentHTML=Ag;d.customElements.get("media-seek-backward-button")||d.customElements.define("media-seek-backward-button",wn);var Hr={SEEK_OFFSET:"seekoffset"},Pd=30,kg=i=>`
1381
+ <svg aria-hidden="true" viewBox="0 0 20 24">
1382
+ <defs>
1383
+ <style>.text{font-size:8px;font-family:Arial-BoldMT, Arial;font-weight:700;}</style>
1384
+ </defs>
1385
+ <text class="text value" transform="translate(8.9 19.87)">${i}</text>
1386
+ <path d="M10 6V3l5.61 4L10 10.94V8a5.54 5.54 0 0 0-1.9 10.48v2.12A7.5 7.5 0 0 1 10 6Z"/>
1387
+ </svg>`;function Lg(i,e){return`
1388
+ <slot name="icon">${kg(e.seekOffset)}</slot>
1389
+ `}function wg(){return E("Seek forward")}var Cg=0,Cn=class extends F{static get observedAttributes(){return[...super.observedAttributes,s.MEDIA_CURRENT_TIME,Hr.SEEK_OFFSET]}connectedCallback(){super.connectedCallback(),this.seekOffset=H(this,Hr.SEEK_OFFSET,Pd)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===Hr.SEEK_OFFSET&&(this.seekOffset=H(this,Hr.SEEK_OFFSET,Pd))}get seekOffset(){return H(this,Hr.SEEK_OFFSET,Pd)}set seekOffset(e){B(this,Hr.SEEK_OFFSET,e),this.setAttribute("aria-label",E("seek forward {seekOffset} seconds",{seekOffset:this.seekOffset})),Ta(Aa(this,"icon"),this.seekOffset)}get mediaCurrentTime(){return H(this,s.MEDIA_CURRENT_TIME,Cg)}set mediaCurrentTime(e){B(this,s.MEDIA_CURRENT_TIME,e)}handleClick(){let e=this.mediaCurrentTime+this.seekOffset,t=new d.CustomEvent(b.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}};Cn.getSlotTemplateHTML=Lg;Cn.getTooltipContentHTML=wg;d.customElements.get("media-seek-forward-button")||d.customElements.define("media-seek-forward-button",Cn);var _p=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Dd=(i,e,t)=>(_p(i,e,"read from private field"),t?t.call(i):e.get(i)),Ig=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Mg=(i,e,t,r)=>(_p(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),$r,Qi={REMAINING:"remaining",SHOW_DURATION:"showduration",NO_TOGGLE:"notoggle"},Ep=[...Object.values(Qi),s.MEDIA_CURRENT_TIME,s.MEDIA_DURATION,s.MEDIA_SEEKABLE],bp=["Enter"," "],Rg="&nbsp;/&nbsp;",Od=(i,{timesSep:e=Rg}={})=>{var t,r;let o=(t=i.mediaCurrentTime)!=null?t:0,[,n]=(r=i.mediaSeekable)!=null?r:[],a=0;Number.isFinite(i.mediaDuration)?a=i.mediaDuration:Number.isFinite(n)&&(a=n);let l=i.remaining?Xe(0-(a-o)):Xe(o);return i.showDuration?`${l}${e}${Xe(a)}`:l},xg="video not loaded, unknown time.",Pg=i=>{var e;let t=i.mediaCurrentTime,[,r]=(e=i.mediaSeekable)!=null?e:[],o=null;if(Number.isFinite(i.mediaDuration)?o=i.mediaDuration:Number.isFinite(r)&&(o=r),t==null||o===null){i.setAttribute("aria-valuetext",xg);return}let n=i.remaining?Di(0-(o-t)):Di(t);if(!i.showDuration){i.setAttribute("aria-valuetext",n);return}let a=Di(o),l=`${n} of ${a}`;i.setAttribute("aria-valuetext",l)};function Dg(i,e){return`
1390
+ <slot>${Od(e)}</slot>
1391
+ `}var _s=class extends xe{constructor(){super(),Ig(this,$r,void 0),Mg(this,$r,this.shadowRoot.querySelector("slot")),Dd(this,$r).innerHTML=`${Od(this)}`}static get observedAttributes(){return[...super.observedAttributes,...Ep,"disabled"]}connectedCallback(){let{style:e}=X(this.shadowRoot,":host(:hover:not([notoggle]))");e.setProperty("cursor","var(--media-cursor, pointer)"),e.setProperty("background","var(--media-control-hover-background, rgba(50 50 70 / .7))"),this.hasAttribute("disabled")||this.enable(),this.setAttribute("role","progressbar"),this.setAttribute("aria-label",E("playback time"));let t=r=>{let{key:o}=r;if(!bp.includes(o)){this.removeEventListener("keyup",t);return}this.toggleTimeDisplay()};this.addEventListener("keydown",r=>{let{metaKey:o,altKey:n,key:a}=r;if(o||n||!bp.includes(a)){this.removeEventListener("keyup",t);return}this.addEventListener("keyup",t)}),this.addEventListener("click",this.toggleTimeDisplay),super.connectedCallback()}toggleTimeDisplay(){this.noToggle||(this.hasAttribute("remaining")?this.removeAttribute("remaining"):this.setAttribute("remaining",""))}disconnectedCallback(){this.disable(),super.disconnectedCallback()}attributeChangedCallback(e,t,r){Ep.includes(e)?this.update():e==="disabled"&&r!==t&&(r==null?this.enable():this.disable()),super.attributeChangedCallback(e,t,r)}enable(){this.tabIndex=0}disable(){this.tabIndex=-1}get remaining(){return C(this,Qi.REMAINING)}set remaining(e){I(this,Qi.REMAINING,e)}get showDuration(){return C(this,Qi.SHOW_DURATION)}set showDuration(e){I(this,Qi.SHOW_DURATION,e)}get noToggle(){return C(this,Qi.NO_TOGGLE)}set noToggle(e){I(this,Qi.NO_TOGGLE,e)}get mediaDuration(){return H(this,s.MEDIA_DURATION)}set mediaDuration(e){B(this,s.MEDIA_DURATION,e)}get mediaCurrentTime(){return H(this,s.MEDIA_CURRENT_TIME)}set mediaCurrentTime(e){B(this,s.MEDIA_CURRENT_TIME,e)}get mediaSeekable(){let e=this.getAttribute(s.MEDIA_SEEKABLE);if(e)return e.split(":").map(t=>+t)}set mediaSeekable(e){if(e==null){this.removeAttribute(s.MEDIA_SEEKABLE);return}this.setAttribute(s.MEDIA_SEEKABLE,e.join(":"))}update(){let e=Od(this);Pg(this),e!==Dd(this,$r).innerHTML&&(Dd(this,$r).innerHTML=e)}};$r=new WeakMap;_s.getSlotTemplateHTML=Dg;d.customElements.get("media-time-display")||d.customElements.define("media-time-display",_s);var yp=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Ee=(i,e,t)=>(yp(i,e,"read from private field"),t?t.call(i):e.get(i)),bt=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Be=(i,e,t,r)=>(yp(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Og=(i,e,t,r)=>({set _(o){Be(i,e,o,t)},get _(){return Ee(i,e,r)}}),Br,ys,Vr,In,Ts,As,Ss,Wr,Zi,ks,Ls=class{constructor(e,t,r){bt(this,Br,void 0),bt(this,ys,void 0),bt(this,Vr,void 0),bt(this,In,void 0),bt(this,Ts,void 0),bt(this,As,void 0),bt(this,Ss,void 0),bt(this,Wr,void 0),bt(this,Zi,0),bt(this,ks,(o=performance.now())=>{Be(this,Zi,requestAnimationFrame(Ee(this,ks))),Be(this,In,performance.now()-Ee(this,Vr));let n=1e3/this.fps;if(Ee(this,In)>n){Be(this,Vr,o-Ee(this,In)%n);let a=1e3/((o-Ee(this,ys))/++Og(this,Ts)._),l=(o-Ee(this,As))/1e3/this.duration,c=Ee(this,Ss)+l*this.playbackRate;c-Ee(this,Br).valueAsNumber>0?Be(this,Wr,this.playbackRate/this.duration/a):(Be(this,Wr,.995*Ee(this,Wr)),c=Ee(this,Br).valueAsNumber+Ee(this,Wr)),this.callback(c)}}),Be(this,Br,e),this.callback=t,this.fps=r}start(){Ee(this,Zi)===0&&(Be(this,Vr,performance.now()),Be(this,ys,Ee(this,Vr)),Be(this,Ts,0),Ee(this,ks).call(this))}stop(){Ee(this,Zi)!==0&&(cancelAnimationFrame(Ee(this,Zi)),Be(this,Zi,0))}update({start:e,duration:t,playbackRate:r}){let o=e-Ee(this,Br).valueAsNumber,n=Math.abs(t-this.duration);(o>0||o<-.03||n>=.5)&&this.callback(e),Be(this,Ss,e),Be(this,As,performance.now()),this.duration=t,this.playbackRate=r}};Br=new WeakMap;ys=new WeakMap;Vr=new WeakMap;In=new WeakMap;Ts=new WeakMap;As=new WeakMap;Ss=new WeakMap;Wr=new WeakMap;Zi=new WeakMap;ks=new WeakMap;var $d=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},ae=(i,e,t)=>($d(i,e,"read from private field"),t?t.call(i):e.get(i)),me=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},qe=(i,e,t,r)=>($d(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),ye=(i,e,t)=>($d(i,e,"access private method"),t),Fr,Xi,Is,Rn,Ms,Cs,xn,Pn,Kr,qr,Gr,Mn,Bd,Tp,Ud,Rs,Vd,xs,Wd,Ps,Fd,Nd,Ap,Dn,Ds,Hd,Sp,Ug="video not loaded, unknown time.",Ng=i=>{let e=i.range,t=Di(+kp(i)),r=Di(+i.mediaSeekableEnd),o=t&&r?`${t} of ${r}`:Ug;e.setAttribute("aria-valuetext",o)};function Hg(i){return`
1392
+ <style>
1393
+ :host {
1394
+ --media-box-border-radius: 4px;
1395
+ --media-box-padding-left: 10px;
1396
+ --media-box-padding-right: 10px;
1397
+ --media-preview-border-radius: var(--media-box-border-radius);
1398
+ --media-box-arrow-offset: var(--media-box-border-radius);
1399
+ --_control-background: var(--media-control-background, var(--media-secondary-color, rgb(20 20 30 / .7)));
1400
+ --_preview-background: var(--media-preview-background, var(--_control-background));
1401
+
1402
+
1403
+ contain: layout;
1404
+ }
1405
+
1406
+ #buffered {
1407
+ background: var(--media-time-range-buffered-color, rgb(255 255 255 / .4));
1408
+ position: absolute;
1409
+ height: 100%;
1410
+ will-change: width;
1411
+ }
1412
+
1413
+ #preview-rail,
1414
+ #current-rail {
1415
+ width: 100%;
1416
+ position: absolute;
1417
+ left: 0;
1418
+ bottom: 100%;
1419
+ pointer-events: none;
1420
+ will-change: transform;
1421
+ }
1422
+
1423
+ [part~="box"] {
1424
+ width: min-content;
1425
+
1426
+ position: absolute;
1427
+ bottom: 100%;
1428
+ flex-direction: column;
1429
+ align-items: center;
1430
+ transform: translateX(-50%);
1431
+ }
1432
+
1433
+ [part~="current-box"] {
1434
+ display: var(--media-current-box-display, var(--media-box-display, flex));
1435
+ margin: var(--media-current-box-margin, var(--media-box-margin, 0 0 5px));
1436
+ visibility: hidden;
1437
+ }
1438
+
1439
+ [part~="preview-box"] {
1440
+ display: var(--media-preview-box-display, var(--media-box-display, flex));
1441
+ margin: var(--media-preview-box-margin, var(--media-box-margin, 0 0 5px));
1442
+ transition-property: var(--media-preview-transition-property, visibility, opacity);
1443
+ transition-duration: var(--media-preview-transition-duration-out, .25s);
1444
+ transition-delay: var(--media-preview-transition-delay-out, 0s);
1445
+ visibility: hidden;
1446
+ opacity: 0;
1447
+ }
1448
+
1449
+ :host(:is([${s.MEDIA_PREVIEW_IMAGE}], [${s.MEDIA_PREVIEW_TIME}])[dragging]) [part~="preview-box"] {
1450
+ transition-duration: var(--media-preview-transition-duration-in, .5s);
1451
+ transition-delay: var(--media-preview-transition-delay-in, .25s);
1452
+ visibility: visible;
1453
+ opacity: 1;
1454
+ }
1455
+
1456
+ @media (hover: hover) {
1457
+ :host(:is([${s.MEDIA_PREVIEW_IMAGE}], [${s.MEDIA_PREVIEW_TIME}]):hover) [part~="preview-box"] {
1458
+ transition-duration: var(--media-preview-transition-duration-in, .5s);
1459
+ transition-delay: var(--media-preview-transition-delay-in, .25s);
1460
+ visibility: visible;
1461
+ opacity: 1;
1462
+ }
1463
+ }
1464
+
1465
+ media-preview-thumbnail,
1466
+ ::slotted(media-preview-thumbnail) {
1467
+ visibility: hidden;
1468
+
1469
+ transition: visibility 0s .25s;
1470
+ transition-delay: calc(var(--media-preview-transition-delay-out, 0s) + var(--media-preview-transition-duration-out, .25s));
1471
+ background: var(--media-preview-thumbnail-background, var(--_preview-background));
1472
+ box-shadow: var(--media-preview-thumbnail-box-shadow, 0 0 4px rgb(0 0 0 / .2));
1473
+ max-width: var(--media-preview-thumbnail-max-width, 180px);
1474
+ max-height: var(--media-preview-thumbnail-max-height, 160px);
1475
+ min-width: var(--media-preview-thumbnail-min-width, 120px);
1476
+ min-height: var(--media-preview-thumbnail-min-height, 80px);
1477
+ border: var(--media-preview-thumbnail-border);
1478
+ border-radius: var(--media-preview-thumbnail-border-radius,
1479
+ var(--media-preview-border-radius) var(--media-preview-border-radius) 0 0);
1480
+ }
1481
+
1482
+ :host([${s.MEDIA_PREVIEW_IMAGE}][dragging]) media-preview-thumbnail,
1483
+ :host([${s.MEDIA_PREVIEW_IMAGE}][dragging]) ::slotted(media-preview-thumbnail) {
1484
+ transition-delay: var(--media-preview-transition-delay-in, .25s);
1485
+ visibility: visible;
1486
+ }
1487
+
1488
+ @media (hover: hover) {
1489
+ :host([${s.MEDIA_PREVIEW_IMAGE}]:hover) media-preview-thumbnail,
1490
+ :host([${s.MEDIA_PREVIEW_IMAGE}]:hover) ::slotted(media-preview-thumbnail) {
1491
+ transition-delay: var(--media-preview-transition-delay-in, .25s);
1492
+ visibility: visible;
1493
+ }
1494
+
1495
+ :host([${s.MEDIA_PREVIEW_TIME}]:hover) {
1496
+ --media-time-range-hover-display: block;
1497
+ }
1498
+ }
1499
+
1500
+ media-preview-chapter-display,
1501
+ ::slotted(media-preview-chapter-display) {
1502
+ font-size: var(--media-font-size, 13px);
1503
+ line-height: 17px;
1504
+ min-width: 0;
1505
+ visibility: hidden;
1506
+
1507
+ transition: min-width 0s, border-radius 0s, margin 0s, padding 0s, visibility 0s;
1508
+ transition-delay: calc(var(--media-preview-transition-delay-out, 0s) + var(--media-preview-transition-duration-out, .25s));
1509
+ background: var(--media-preview-chapter-background, var(--_preview-background));
1510
+ border-radius: var(--media-preview-chapter-border-radius,
1511
+ var(--media-preview-border-radius) var(--media-preview-border-radius)
1512
+ var(--media-preview-border-radius) var(--media-preview-border-radius));
1513
+ padding: var(--media-preview-chapter-padding, 3.5px 9px);
1514
+ margin: var(--media-preview-chapter-margin, 0 0 5px);
1515
+ text-shadow: var(--media-preview-chapter-text-shadow, 0 0 4px rgb(0 0 0 / .75));
1516
+ }
1517
+
1518
+ :host([${s.MEDIA_PREVIEW_IMAGE}]) media-preview-chapter-display,
1519
+ :host([${s.MEDIA_PREVIEW_IMAGE}]) ::slotted(media-preview-chapter-display) {
1520
+ transition-delay: var(--media-preview-transition-delay-in, .25s);
1521
+ border-radius: var(--media-preview-chapter-border-radius, 0);
1522
+ padding: var(--media-preview-chapter-padding, 3.5px 9px 0);
1523
+ margin: var(--media-preview-chapter-margin, 0);
1524
+ min-width: 100%;
1525
+ }
1526
+
1527
+ media-preview-chapter-display[${s.MEDIA_PREVIEW_CHAPTER}],
1528
+ ::slotted(media-preview-chapter-display[${s.MEDIA_PREVIEW_CHAPTER}]) {
1529
+ visibility: visible;
1530
+ }
1531
+
1532
+ media-preview-chapter-display:not([aria-valuetext]),
1533
+ ::slotted(media-preview-chapter-display:not([aria-valuetext])) {
1534
+ display: none;
1535
+ }
1536
+
1537
+ media-preview-time-display,
1538
+ ::slotted(media-preview-time-display),
1539
+ media-time-display,
1540
+ ::slotted(media-time-display) {
1541
+ font-size: var(--media-font-size, 13px);
1542
+ line-height: 17px;
1543
+ min-width: 0;
1544
+
1545
+ transition: min-width 0s, border-radius 0s;
1546
+ transition-delay: calc(var(--media-preview-transition-delay-out, 0s) + var(--media-preview-transition-duration-out, .25s));
1547
+ background: var(--media-preview-time-background, var(--_preview-background));
1548
+ border-radius: var(--media-preview-time-border-radius,
1549
+ var(--media-preview-border-radius) var(--media-preview-border-radius)
1550
+ var(--media-preview-border-radius) var(--media-preview-border-radius));
1551
+ padding: var(--media-preview-time-padding, 3.5px 9px);
1552
+ margin: var(--media-preview-time-margin, 0);
1553
+ text-shadow: var(--media-preview-time-text-shadow, 0 0 4px rgb(0 0 0 / .75));
1554
+ transform: translateX(min(
1555
+ max(calc(50% - var(--_box-width) / 2),
1556
+ calc(var(--_box-shift, 0))),
1557
+ calc(var(--_box-width) / 2 - 50%)
1558
+ ));
1559
+ }
1560
+
1561
+ :host([${s.MEDIA_PREVIEW_IMAGE}]) media-preview-time-display,
1562
+ :host([${s.MEDIA_PREVIEW_IMAGE}]) ::slotted(media-preview-time-display) {
1563
+ transition-delay: var(--media-preview-transition-delay-in, .25s);
1564
+ border-radius: var(--media-preview-time-border-radius,
1565
+ 0 0 var(--media-preview-border-radius) var(--media-preview-border-radius));
1566
+ min-width: 100%;
1567
+ }
1568
+
1569
+ :host([${s.MEDIA_PREVIEW_TIME}]:hover) {
1570
+ --media-time-range-hover-display: block;
1571
+ }
1572
+
1573
+ [part~="arrow"],
1574
+ ::slotted([part~="arrow"]) {
1575
+ display: var(--media-box-arrow-display, inline-block);
1576
+ transform: translateX(min(
1577
+ max(calc(50% - var(--_box-width) / 2 + var(--media-box-arrow-offset)),
1578
+ calc(var(--_box-shift, 0))),
1579
+ calc(var(--_box-width) / 2 - 50% - var(--media-box-arrow-offset))
1580
+ ));
1581
+
1582
+ border-color: transparent;
1583
+ border-top-color: var(--media-box-arrow-background, var(--_control-background));
1584
+ border-width: var(--media-box-arrow-border-width,
1585
+ var(--media-box-arrow-height, 5px) var(--media-box-arrow-width, 6px) 0);
1586
+ border-style: solid;
1587
+ justify-content: center;
1588
+ height: 0;
1589
+ }
1590
+ </style>
1591
+ <div id="preview-rail">
1592
+ <slot name="preview" part="box preview-box">
1593
+ <media-preview-thumbnail>
1594
+ <template shadowrootmode="${bs.shadowRootOptions.mode}">
1595
+ ${bs.getTemplateHTML({})}
1596
+ </template>
1597
+ </media-preview-thumbnail>
1598
+ <media-preview-chapter-display></media-preview-chapter-display>
1599
+ <media-preview-time-display></media-preview-time-display>
1600
+ <slot name="preview-arrow"><div part="arrow"></div></slot>
1601
+ </slot>
1602
+ </div>
1603
+ <div id="current-rail">
1604
+ <slot name="current" part="box current-box">
1605
+
1606
+ </slot>
1607
+ </div>
1608
+ `}var ws=(i,e=i.mediaCurrentTime)=>{let t=Number.isFinite(i.mediaSeekableStart)?i.mediaSeekableStart:0,r=Number.isFinite(i.mediaDuration)?i.mediaDuration:i.mediaSeekableEnd;if(Number.isNaN(r))return 0;let o=(e-t)/(r-t);return Math.max(0,Math.min(o,1))},kp=(i,e=i.range.valueAsNumber)=>{let t=Number.isFinite(i.mediaSeekableStart)?i.mediaSeekableStart:0,r=Number.isFinite(i.mediaDuration)?i.mediaDuration:i.mediaSeekableEnd;return Number.isNaN(r)?0:e*(r-t)+t},On=class extends pt{constructor(){super(),me(this,Gr),me(this,Bd),me(this,Rs),me(this,xs),me(this,Ps),me(this,Nd),me(this,Dn),me(this,Hd),me(this,Fr,void 0),me(this,Xi,void 0),me(this,Is,void 0),me(this,Rn,void 0),me(this,Ms,void 0),me(this,Cs,void 0),me(this,xn,void 0),me(this,Pn,void 0),me(this,Kr,void 0),me(this,qr,void 0),me(this,Ud,r=>{this.dragging||(Er(r)&&(this.range.valueAsNumber=r),ae(this,qr)||this.updateBar())}),this.shadowRoot.querySelector("#track").insertAdjacentHTML("afterbegin",'<div id="buffered" part="buffered"></div>'),qe(this,Is,this.shadowRoot.querySelectorAll('[part~="box"]')),qe(this,Ms,this.shadowRoot.querySelector('[part~="preview-box"]')),qe(this,Cs,this.shadowRoot.querySelector('[part~="current-box"]'));let t=getComputedStyle(this);qe(this,xn,parseInt(t.getPropertyValue("--media-box-padding-left"))),qe(this,Pn,parseInt(t.getPropertyValue("--media-box-padding-right"))),qe(this,Xi,new Ls(this.range,ae(this,Ud),60))}static get observedAttributes(){return[...super.observedAttributes,s.MEDIA_PAUSED,s.MEDIA_DURATION,s.MEDIA_SEEKABLE,s.MEDIA_CURRENT_TIME,s.MEDIA_PREVIEW_IMAGE,s.MEDIA_PREVIEW_TIME,s.MEDIA_PREVIEW_CHAPTER,s.MEDIA_BUFFERED,s.MEDIA_PLAYBACK_RATE,s.MEDIA_LOADING,s.MEDIA_ENDED]}connectedCallback(){var e;super.connectedCallback(),this.range.setAttribute("aria-label",E("seek")),ye(this,Gr,Mn).call(this),qe(this,Fr,this.getRootNode()),(e=ae(this,Fr))==null||e.addEventListener("transitionstart",this)}disconnectedCallback(){var e;super.disconnectedCallback(),ye(this,Gr,Mn).call(this),(e=ae(this,Fr))==null||e.removeEventListener("transitionstart",this),qe(this,Fr,null)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),t!=r&&(e===s.MEDIA_CURRENT_TIME||e===s.MEDIA_PAUSED||e===s.MEDIA_ENDED||e===s.MEDIA_LOADING||e===s.MEDIA_DURATION||e===s.MEDIA_SEEKABLE?(ae(this,Xi).update({start:ws(this),duration:this.mediaSeekableEnd-this.mediaSeekableStart,playbackRate:this.mediaPlaybackRate}),ye(this,Gr,Mn).call(this),Ng(this)):e===s.MEDIA_BUFFERED&&this.updateBufferedBar(),(e===s.MEDIA_DURATION||e===s.MEDIA_SEEKABLE)&&(this.mediaChaptersCues=ae(this,Kr),this.updateBar()))}get mediaChaptersCues(){return ae(this,Kr)}set mediaChaptersCues(e){var t;qe(this,Kr,e),this.updateSegments((t=ae(this,Kr))==null?void 0:t.map(r=>({start:ws(this,r.startTime),end:ws(this,r.endTime)})))}get mediaPaused(){return C(this,s.MEDIA_PAUSED)}set mediaPaused(e){I(this,s.MEDIA_PAUSED,e)}get mediaLoading(){return C(this,s.MEDIA_LOADING)}set mediaLoading(e){I(this,s.MEDIA_LOADING,e)}get mediaDuration(){return H(this,s.MEDIA_DURATION)}set mediaDuration(e){B(this,s.MEDIA_DURATION,e)}get mediaCurrentTime(){return H(this,s.MEDIA_CURRENT_TIME)}set mediaCurrentTime(e){B(this,s.MEDIA_CURRENT_TIME,e)}get mediaPlaybackRate(){return H(this,s.MEDIA_PLAYBACK_RATE,1)}set mediaPlaybackRate(e){B(this,s.MEDIA_PLAYBACK_RATE,e)}get mediaBuffered(){let e=this.getAttribute(s.MEDIA_BUFFERED);return e?e.split(" ").map(t=>t.split(":").map(r=>+r)):[]}set mediaBuffered(e){if(!e){this.removeAttribute(s.MEDIA_BUFFERED);return}let t=e.map(r=>r.join(":")).join(" ");this.setAttribute(s.MEDIA_BUFFERED,t)}get mediaSeekable(){let e=this.getAttribute(s.MEDIA_SEEKABLE);if(e)return e.split(":").map(t=>+t)}set mediaSeekable(e){if(e==null){this.removeAttribute(s.MEDIA_SEEKABLE);return}this.setAttribute(s.MEDIA_SEEKABLE,e.join(":"))}get mediaSeekableEnd(){var e;let[,t=this.mediaDuration]=(e=this.mediaSeekable)!=null?e:[];return t}get mediaSeekableStart(){var e;let[t=0]=(e=this.mediaSeekable)!=null?e:[];return t}get mediaPreviewImage(){return x(this,s.MEDIA_PREVIEW_IMAGE)}set mediaPreviewImage(e){P(this,s.MEDIA_PREVIEW_IMAGE,e)}get mediaPreviewTime(){return H(this,s.MEDIA_PREVIEW_TIME)}set mediaPreviewTime(e){B(this,s.MEDIA_PREVIEW_TIME,e)}get mediaEnded(){return C(this,s.MEDIA_ENDED)}set mediaEnded(e){I(this,s.MEDIA_ENDED,e)}updateBar(){super.updateBar(),this.updateBufferedBar(),this.updateCurrentBox()}updateBufferedBar(){var e;let t=this.mediaBuffered;if(!t.length)return;let r;if(this.mediaEnded)r=1;else{let n=this.mediaCurrentTime,[,a=this.mediaSeekableStart]=(e=t.find(([l,c])=>l<=n&&n<=c))!=null?e:[];r=ws(this,a)}let{style:o}=X(this.shadowRoot,"#buffered");o.setProperty("width",`${r*100}%`)}updateCurrentBox(){if(!this.shadowRoot.querySelector('slot[name="current"]').assignedElements().length)return;let t=X(this.shadowRoot,"#current-rail"),r=X(this.shadowRoot,'[part~="current-box"]'),o=ye(this,Rs,Vd).call(this,ae(this,Cs)),n=ye(this,xs,Wd).call(this,o,this.range.valueAsNumber),a=ye(this,Ps,Fd).call(this,o,this.range.valueAsNumber);t.style.transform=`translateX(${n})`,t.style.setProperty("--_range-width",`${o.range.width}`),r.style.setProperty("--_box-shift",`${a}`),r.style.setProperty("--_box-width",`${o.box.width}px`),r.style.setProperty("visibility","initial")}handleEvent(e){switch(super.handleEvent(e),e.type){case"input":ye(this,Hd,Sp).call(this);break;case"pointermove":ye(this,Nd,Ap).call(this,e);break;case"pointerup":ae(this,qr)&&qe(this,qr,!1);break;case"pointerdown":qe(this,qr,!0);break;case"pointerleave":ye(this,Dn,Ds).call(this,null);break;case"transitionstart":Ae(e.target,this)&&setTimeout(()=>ye(this,Gr,Mn).call(this),0);break}}};Fr=new WeakMap;Xi=new WeakMap;Is=new WeakMap;Rn=new WeakMap;Ms=new WeakMap;Cs=new WeakMap;xn=new WeakMap;Pn=new WeakMap;Kr=new WeakMap;qr=new WeakMap;Gr=new WeakSet;Mn=function(){ye(this,Bd,Tp).call(this)?ae(this,Xi).start():ae(this,Xi).stop()};Bd=new WeakSet;Tp=function(){return this.isConnected&&!this.mediaPaused&&!this.mediaLoading&&!this.mediaEnded&&this.mediaSeekableEnd>0&&Sa(this)};Ud=new WeakMap;Rs=new WeakSet;Vd=function(i){var e;let r=((e=this.getAttribute("bounds")?at(this,`#${this.getAttribute("bounds")}`):this.parentElement)!=null?e:this).getBoundingClientRect(),o=this.range.getBoundingClientRect(),n=i.offsetWidth,a=-(o.left-r.left-n/2),l=r.right-o.left-n/2;return{box:{width:n,min:a,max:l},bounds:r,range:o}};xs=new WeakSet;Wd=function(i,e){let t=`${e*100}%`,{width:r,min:o,max:n}=i.box;if(!r)return t;if(Number.isNaN(o)||(t=`max(${`calc(1 / var(--_range-width) * 100 * ${o}% + var(--media-box-padding-left))`}, ${t})`),!Number.isNaN(n)){let l=`calc(1 / var(--_range-width) * 100 * ${n}% - var(--media-box-padding-right))`;t=`min(${t}, ${l})`}return t};Ps=new WeakSet;Fd=function(i,e){let{width:t,min:r,max:o}=i.box,n=e*i.range.width;if(n<r+ae(this,xn)){let a=i.range.left-i.bounds.left-ae(this,xn);return`${n-t/2+a}px`}if(n>o-ae(this,Pn)){let a=i.bounds.right-i.range.right-ae(this,Pn);return`${n+t/2-a-i.range.width}px`}return 0};Nd=new WeakSet;Ap=function(i){let e=[...ae(this,Is)].some(h=>i.composedPath().includes(h));if(!this.dragging&&(e||!i.composedPath().includes(this))){ye(this,Dn,Ds).call(this,null);return}let t=this.mediaSeekableEnd;if(!t)return;let r=X(this.shadowRoot,"#preview-rail"),o=X(this.shadowRoot,'[part~="preview-box"]'),n=ye(this,Rs,Vd).call(this,ae(this,Ms)),a=(i.clientX-n.range.left)/n.range.width;a=Math.max(0,Math.min(1,a));let l=ye(this,xs,Wd).call(this,n,a),c=ye(this,Ps,Fd).call(this,n,a);r.style.transform=`translateX(${l})`,r.style.setProperty("--_range-width",`${n.range.width}`),o.style.setProperty("--_box-shift",`${c}`),o.style.setProperty("--_box-width",`${n.box.width}px`);let v=Math.round(ae(this,Rn))-Math.round(a*t);Math.abs(v)<1&&a>.01&&a<.99||(qe(this,Rn,a*t),ye(this,Dn,Ds).call(this,ae(this,Rn)))};Dn=new WeakSet;Ds=function(i){this.dispatchEvent(new d.CustomEvent(b.MEDIA_PREVIEW_REQUEST,{composed:!0,bubbles:!0,detail:i}))};Hd=new WeakSet;Sp=function(){ae(this,Xi).stop();let i=kp(this);this.dispatchEvent(new d.CustomEvent(b.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:i}))};On.shadowRootOptions={mode:"open"};On.getContainerTemplateHTML=Hg;d.customElements.get("media-time-range")||d.customElements.define("media-time-range",On);var $g=1,Bg=i=>i.mediaMuted?0:i.mediaVolume,Vg=i=>`${Math.round(i*100)}%`,Kd=class extends pt{static get observedAttributes(){return[...super.observedAttributes,s.MEDIA_VOLUME,s.MEDIA_MUTED,s.MEDIA_VOLUME_UNAVAILABLE]}constructor(){super(),this.range.addEventListener("input",()=>{let e=this.range.value,t=new d.CustomEvent(b.MEDIA_VOLUME_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)})}connectedCallback(){super.connectedCallback(),this.range.setAttribute("aria-label",E("volume"))}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),(e===s.MEDIA_VOLUME||e===s.MEDIA_MUTED)&&(this.range.valueAsNumber=Bg(this),this.range.setAttribute("aria-valuetext",Vg(this.range.valueAsNumber)),this.updateBar())}get mediaVolume(){return H(this,s.MEDIA_VOLUME,$g)}set mediaVolume(e){B(this,s.MEDIA_VOLUME,e)}get mediaMuted(){return C(this,s.MEDIA_MUTED)}set mediaMuted(e){I(this,s.MEDIA_MUTED,e)}get mediaVolumeUnavailable(){return x(this,s.MEDIA_VOLUME_UNAVAILABLE)}set mediaVolumeUnavailable(e){P(this,s.MEDIA_VOLUME_UNAVAILABLE,e)}};d.customElements.get("media-volume-range")||d.customElements.define("media-volume-range",Kd);function Wg(i){return`
1609
+ <style>
1610
+ :host {
1611
+ min-width: 4ch;
1612
+ padding: var(--media-button-padding, var(--media-control-padding, 10px 5px));
1613
+ width: 100%;
1614
+ display: grid;
1615
+ grid-template-columns: 1fr auto;
1616
+ gap: 1rem;
1617
+ font-weight: var(--media-button-font-weight, normal);
1618
+ }
1619
+
1620
+ #checked-indicator {
1621
+ display: none;
1622
+ }
1623
+
1624
+ :host([${s.MEDIA_LOOP}]) #checked-indicator {
1625
+ display: block;
1626
+ }
1627
+ </style>
1628
+
1629
+ <span id="icon">
1630
+ </span>
1631
+
1632
+ <div id="checked-indicator">
1633
+ <svg aria-hidden="true" viewBox="0 1 24 24" part="checked-indicator indicator">
1634
+ <path d="m10 15.17 9.193-9.191 1.414 1.414-10.606 10.606-6.364-6.364 1.414-1.414 4.95 4.95Z"/>
1635
+ </svg>
1636
+ </div>
1637
+ `}function Fg(){return E("Loop")}var Un=class extends F{constructor(){super(...arguments),this.container=null}static get observedAttributes(){return[...super.observedAttributes,s.MEDIA_LOOP]}connectedCallback(){var e;super.connectedCallback(),this.container=((e=this.shadowRoot)==null?void 0:e.querySelector("#icon"))||null,this.container&&(this.container.textContent=E("Loop"))}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===s.MEDIA_LOOP&&this.container&&this.setAttribute("aria-checked",this.mediaLoop?"true":"false")}get mediaLoop(){return C(this,s.MEDIA_LOOP)}set mediaLoop(e){I(this,s.MEDIA_LOOP,e)}handleClick(){let e=!this.mediaLoop,t=new d.CustomEvent(b.MEDIA_LOOP_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}};Un.getSlotTemplateHTML=Wg;Un.getTooltipContentHTML=Fg;d.customElements.get("media-loop-button")||d.customElements.define("media-loop-button",Un);function Lp({anchor:i,floating:e,placement:t}){let r=Kg({anchor:i,floating:e}),{x:o,y:n}=Gg(r,t);return{x:o,y:n}}function Kg({anchor:i,floating:e}){return{anchor:qg(i,e.offsetParent),floating:{x:0,y:0,width:e.offsetWidth,height:e.offsetHeight}}}function qg(i,e){var t;let r=i.getBoundingClientRect(),o=(t=e==null?void 0:e.getBoundingClientRect())!=null?t:{x:0,y:0};return{x:r.x-o.x,y:r.y-o.y,width:r.width,height:r.height}}function Gg({anchor:i,floating:e},t){let r=zg(t)==="x"?"y":"x",o=r==="y"?"height":"width",n=wp(t),a=i.x+i.width/2-e.width/2,l=i.y+i.height/2-e.height/2,c=i[o]/2-e[o]/2,v;switch(n){case"top":v={x:a,y:i.y-e.height};break;case"bottom":v={x:a,y:i.y+i.height};break;case"right":v={x:i.x+i.width,y:l};break;case"left":v={x:i.x-e.width,y:l};break;default:v={x:i.x,y:i.y}}switch(t.split("-")[1]){case"start":v[r]-=c;break;case"end":v[r]+=c;break}return v}function wp(i){return i.split("-")[0]}function zg(i){return["top","bottom"].includes(wp(i))?"y":"x"}var oi=class extends Event{constructor({action:e="auto",relatedTarget:t,...r}){super("invoke",r),this.action=e,this.relatedTarget=t}},Os=class extends Event{constructor({newState:e,oldState:t,...r}){super("toggle",r),this.newState=e,this.oldState=t}};var ic=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},q=(i,e,t)=>(ic(i,e,"read from private field"),t?t.call(i):e.get(i)),Y=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},_t=(i,e,t,r)=>(ic(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Q=(i,e,t)=>(ic(i,e,"access private method"),t),yt,ji,ni,Us,Ns,er,$n,qd,Cp,Bs,rc,Vs,Hs,Gd,zd,Ip,Yd,Mp,Qd,Rp,zr,Yr,Qr,Bn,Ws,oc,Zd,xp,nc,Pp,Xd,Dp,ac,Op,Jd,Up,jd,Np,Nn,Fs,ec,Hp,Hn,Ks,$s,tc;function Tt({type:i,text:e,value:t,checked:r}){let o=j.createElement("media-chrome-menu-item");o.type=i??"",o.part.add("menu-item"),i&&o.part.add(i),o.value=t,o.checked=r;let n=j.createElement("span");return n.textContent=e,o.append(n),o}function et(i,e){let t=i.querySelector(`:scope > [slot="${e}"]`);if((t==null?void 0:t.nodeName)=="SLOT"&&(t=t.assignedElements({flatten:!0})[0]),t)return t=t.cloneNode(!0),t;let r=i.shadowRoot.querySelector(`[name="${e}"] > svg`);return r?r.cloneNode(!0):""}function Yg(i){return`
1638
+ <style>
1639
+ :host {
1640
+ font: var(--media-font,
1641
+ var(--media-font-weight, normal)
1642
+ var(--media-font-size, 14px) /
1643
+ var(--media-text-content-height, var(--media-control-height, 24px))
1644
+ var(--media-font-family, helvetica neue, segoe ui, roboto, arial, sans-serif));
1645
+ color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238)));
1646
+ --_menu-bg: rgb(20 20 30 / .8);
1647
+ background: var(--media-menu-background, var(--media-control-background, var(--media-secondary-color, var(--_menu-bg))));
1648
+ border-radius: var(--media-menu-border-radius);
1649
+ border: var(--media-menu-border, none);
1650
+ display: var(--media-menu-display, inline-flex) !important;
1651
+
1652
+ transition: var(--media-menu-transition-in,
1653
+ visibility 0s,
1654
+ opacity .2s ease-out,
1655
+ transform .15s ease-out,
1656
+ left .2s ease-in-out,
1657
+ min-width .2s ease-in-out,
1658
+ min-height .2s ease-in-out
1659
+ ) !important;
1660
+
1661
+ visibility: var(--media-menu-visibility, visible);
1662
+ opacity: var(--media-menu-opacity, 1);
1663
+ max-height: var(--media-menu-max-height, var(--_menu-max-height, 300px));
1664
+ transform: var(--media-menu-transform-in, translateY(0) scale(1));
1665
+ flex-direction: column;
1666
+
1667
+ min-height: 0;
1668
+ position: relative;
1669
+ bottom: var(--_menu-bottom);
1670
+ box-sizing: border-box;
1671
+ }
1672
+
1673
+ @-moz-document url-prefix() {
1674
+ :host{
1675
+ --_menu-bg: rgb(20 20 30);
1676
+ }
1677
+ }
1678
+
1679
+ :host([hidden]) {
1680
+ transition: var(--media-menu-transition-out,
1681
+ visibility .15s ease-in,
1682
+ opacity .15s ease-in,
1683
+ transform .15s ease-in
1684
+ ) !important;
1685
+ visibility: var(--media-menu-hidden-visibility, hidden);
1686
+ opacity: var(--media-menu-hidden-opacity, 0);
1687
+ max-height: var(--media-menu-hidden-max-height,
1688
+ var(--media-menu-max-height, var(--_menu-max-height, 300px)));
1689
+ transform: var(--media-menu-transform-out, translateY(2px) scale(.99));
1690
+ pointer-events: none;
1691
+ }
1692
+
1693
+ :host([slot="submenu"]) {
1694
+ background: none;
1695
+ width: 100%;
1696
+ min-height: 100%;
1697
+ position: absolute;
1698
+ bottom: 0;
1699
+ right: -100%;
1700
+ }
1701
+
1702
+ #container {
1703
+ display: flex;
1704
+ flex-direction: column;
1705
+ min-height: 0;
1706
+ transition: transform .2s ease-out;
1707
+ transform: translate(0, 0);
1708
+ }
1709
+
1710
+ #container.has-expanded {
1711
+ transition: transform .2s ease-in;
1712
+ transform: translate(-100%, 0);
1713
+ }
1714
+
1715
+ button {
1716
+ background: none;
1717
+ color: inherit;
1718
+ border: none;
1719
+ padding: 0;
1720
+ font: inherit;
1721
+ outline: inherit;
1722
+ display: inline-flex;
1723
+ align-items: center;
1724
+ }
1725
+
1726
+ slot[name="header"][hidden] {
1727
+ display: none;
1728
+ }
1729
+
1730
+ slot[name="header"] > *,
1731
+ slot[name="header"]::slotted(*) {
1732
+ padding: .4em .7em;
1733
+ border-bottom: 1px solid rgb(255 255 255 / .25);
1734
+ cursor: var(--media-cursor, default);
1735
+ }
1736
+
1737
+ slot[name="header"] > button[part~="back"],
1738
+ slot[name="header"]::slotted(button[part~="back"]) {
1739
+ cursor: var(--media-cursor, pointer);
1740
+ }
1741
+
1742
+ svg[part~="back"] {
1743
+ height: var(--media-menu-icon-height, var(--media-control-height, 24px));
1744
+ fill: var(--media-icon-color, var(--media-primary-color, rgb(238 238 238)));
1745
+ display: block;
1746
+ margin-right: .5ch;
1747
+ }
1748
+
1749
+ slot:not([name]) {
1750
+ gap: var(--media-menu-gap);
1751
+ flex-direction: var(--media-menu-flex-direction, column);
1752
+ overflow: var(--media-menu-overflow, hidden auto);
1753
+ display: flex;
1754
+ min-height: 0;
1755
+ }
1756
+
1757
+ :host([role="menu"]) slot:not([name]) {
1758
+ padding-block: .4em;
1759
+ }
1760
+
1761
+ slot:not([name])::slotted([role="menu"]) {
1762
+ background: none;
1763
+ }
1764
+
1765
+ media-chrome-menu-item > span {
1766
+ margin-right: .5ch;
1767
+ max-width: var(--media-menu-item-max-width);
1768
+ text-overflow: ellipsis;
1769
+ overflow: hidden;
1770
+ }
1771
+ </style>
1772
+ <style id="layout-row" media="width:0">
1773
+
1774
+ slot[name="header"] > *,
1775
+ slot[name="header"]::slotted(*) {
1776
+ padding: .4em .5em;
1777
+ }
1778
+
1779
+ slot:not([name]) {
1780
+ gap: var(--media-menu-gap, .25em);
1781
+ flex-direction: var(--media-menu-flex-direction, row);
1782
+ padding-inline: .5em;
1783
+ }
1784
+
1785
+ media-chrome-menu-item {
1786
+ padding: .3em .5em;
1787
+ }
1788
+
1789
+ media-chrome-menu-item[aria-checked="true"] {
1790
+ background: var(--media-menu-item-checked-background, rgb(255 255 255 / .2));
1791
+ }
1792
+
1793
+
1794
+ media-chrome-menu-item::part(checked-indicator) {
1795
+ display: var(--media-menu-item-checked-indicator-display, none);
1796
+ }
1797
+ </style>
1798
+ <div id="container" part="container">
1799
+ <slot name="header" hidden>
1800
+ <button part="back button" aria-label="Back to previous menu">
1801
+ <slot name="back-icon">
1802
+ <svg aria-hidden="true" viewBox="0 0 20 24" part="back indicator">
1803
+ <path d="m11.88 17.585.742-.669-4.2-4.665 4.2-4.666-.743-.669-4.803 5.335 4.803 5.334Z"/>
1804
+ </svg>
1805
+ </slot>
1806
+ <slot name="title"></slot>
1807
+ </button>
1808
+ </slot>
1809
+ <slot></slot>
1810
+ </div>
1811
+ <slot name="checked-indicator" hidden></slot>
1812
+ `}var Ji={STYLE:"style",HIDDEN:"hidden",DISABLED:"disabled",ANCHOR:"anchor"},se=class extends d.HTMLElement{constructor(){if(super(),Y(this,qd),Y(this,Bs),Y(this,Hs),Y(this,zd),Y(this,Yd),Y(this,Qd),Y(this,Qr),Y(this,Ws),Y(this,Zd),Y(this,nc),Y(this,Xd),Y(this,ac),Y(this,Jd),Y(this,jd),Y(this,Nn),Y(this,ec),Y(this,Hn),Y(this,$s),Y(this,yt,null),Y(this,ji,null),Y(this,ni,null),Y(this,Us,new Set),Y(this,Ns,void 0),Y(this,er,!1),Y(this,$n,null),Y(this,Vs,()=>{let e=q(this,Us),t=new Set(this.items);for(let r of e)t.has(r)||this.dispatchEvent(new CustomEvent("removemenuitem",{detail:r}));for(let r of t)e.has(r)||this.dispatchEvent(new CustomEvent("addmenuitem",{detail:r}));_t(this,Us,t)}),Y(this,zr,()=>{Q(this,Qr,Bn).call(this),Q(this,Ws,oc).call(this,!1)}),Y(this,Yr,()=>{Q(this,Qr,Bn).call(this)}),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);let e=J(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}this.container=this.shadowRoot.querySelector("#container"),this.defaultSlot=this.shadowRoot.querySelector("slot:not([name])"),this.shadowRoot.addEventListener("slotchange",this),_t(this,Ns,new MutationObserver(q(this,Vs))),q(this,Ns).observe(this.defaultSlot,{childList:!0})}static get observedAttributes(){return[Ji.DISABLED,Ji.HIDDEN,Ji.STYLE,Ji.ANCHOR,U.MEDIA_CONTROLLER]}static formatMenuItemText(e,t){return e}enable(){this.addEventListener("click",this),this.addEventListener("focusout",this),this.addEventListener("keydown",this),this.addEventListener("invoke",this),this.addEventListener("toggle",this)}disable(){this.removeEventListener("click",this),this.removeEventListener("focusout",this),this.removeEventListener("keyup",this),this.removeEventListener("invoke",this),this.removeEventListener("toggle",this)}handleEvent(e){switch(e.type){case"slotchange":Q(this,qd,Cp).call(this,e);break;case"invoke":Q(this,zd,Ip).call(this,e);break;case"click":Q(this,Zd,xp).call(this,e);break;case"toggle":Q(this,Xd,Dp).call(this,e);break;case"focusout":Q(this,Jd,Up).call(this,e);break;case"keydown":Q(this,jd,Np).call(this,e);break}}connectedCallback(){var e,t;_t(this,$n,Xo(this.shadowRoot,":host")),Q(this,Hs,Gd).call(this),this.hasAttribute("disabled")||this.enable(),this.role||(this.role="menu"),_t(this,yt,ya(this)),(t=(e=q(this,yt))==null?void 0:e.associateElement)==null||t.call(e,this),this.hidden||(xt(Vn(this),q(this,zr)),xt(this,q(this,Yr))),Q(this,Bs,rc).call(this)}disconnectedCallback(){var e,t;Pt(Vn(this),q(this,zr)),Pt(this,q(this,Yr)),this.disable(),(t=(e=q(this,yt))==null?void 0:e.unassociateElement)==null||t.call(e,this),_t(this,yt,null)}attributeChangedCallback(e,t,r){var o,n,a,l;e===Ji.HIDDEN&&r!==t?(q(this,er)||_t(this,er,!0),this.hidden?Q(this,Qd,Rp).call(this):Q(this,Yd,Mp).call(this),this.dispatchEvent(new Os({oldState:this.hidden?"open":"closed",newState:this.hidden?"closed":"open",bubbles:!0}))):e===U.MEDIA_CONTROLLER?(t&&((n=(o=q(this,yt))==null?void 0:o.unassociateElement)==null||n.call(o,this),_t(this,yt,null)),r&&this.isConnected&&(_t(this,yt,ya(this)),(l=(a=q(this,yt))==null?void 0:a.associateElement)==null||l.call(a,this))):e===Ji.DISABLED&&r!==t?r==null?this.enable():this.disable():e===Ji.STYLE&&r!==t&&Q(this,Hs,Gd).call(this)}formatMenuItemText(e,t){return this.constructor.formatMenuItemText(e,t)}get anchor(){return this.getAttribute("anchor")}set anchor(e){this.setAttribute("anchor",`${e}`)}get anchorElement(){var e;return this.anchor?(e=Oi(this))==null?void 0:e.querySelector(`#${this.anchor}`):null}get items(){return this.defaultSlot.assignedElements({flatten:!0}).filter(Qg)}get radioGroupItems(){return this.items.filter(e=>e.role==="menuitemradio")}get checkedItems(){return this.items.filter(e=>e.checked)}get value(){var e,t;return(t=(e=this.checkedItems[0])==null?void 0:e.value)!=null?t:""}set value(e){let t=this.items.find(r=>r.value===e);t&&Q(this,$s,tc).call(this,t)}focus(){if(_t(this,ji,Zo()),this.items.length){Q(this,Hn,Ks).call(this,this.items[0]),this.items[0].focus();return}let e=this.querySelector('[autofocus], [tabindex]:not([tabindex="-1"]), [role="menu"]');e==null||e.focus()}handleSelect(e){var t;let r=Q(this,Nn,Fs).call(this,e);r&&(Q(this,$s,tc).call(this,r,r.type==="checkbox"),q(this,ni)&&!this.hidden&&((t=q(this,ji))==null||t.focus(),this.hidden=!0))}get keysUsed(){return["Enter","Escape","Tab"," ","ArrowDown","ArrowUp","Home","End"]}handleMove(e){var t,r;let{key:o}=e,n=this.items,a=(r=(t=Q(this,Nn,Fs).call(this,e))!=null?t:Q(this,ec,Hp).call(this))!=null?r:n[0],l=n.indexOf(a),c=Math.max(0,l);o==="ArrowDown"?c++:o==="ArrowUp"?c--:e.key==="Home"?c=0:e.key==="End"&&(c=n.length-1),c<0&&(c=n.length-1),c>n.length-1&&(c=0),Q(this,Hn,Ks).call(this,n[c]),n[c].focus()}};yt=new WeakMap;ji=new WeakMap;ni=new WeakMap;Us=new WeakMap;Ns=new WeakMap;er=new WeakMap;$n=new WeakMap;qd=new WeakSet;Cp=function(i){let e=i.target;for(let t of e.assignedNodes({flatten:!0}))t.nodeType===3&&t.textContent.trim()===""&&t.remove();["header","title"].includes(e.name)&&Q(this,Bs,rc).call(this),e.name||q(this,Vs).call(this)};Bs=new WeakSet;rc=function(){let i=this.shadowRoot.querySelector('slot[name="header"]'),e=this.shadowRoot.querySelector('slot[name="title"]');i.hidden=e.assignedNodes().length===0&&i.assignedNodes().length===0};Vs=new WeakMap;Hs=new WeakSet;Gd=function(){var i;let e=this.shadowRoot.querySelector("#layout-row"),t=(i=getComputedStyle(this).getPropertyValue("--media-menu-layout"))==null?void 0:i.trim();e.setAttribute("media",t==="row"?"":"width:0")};zd=new WeakSet;Ip=function(i){_t(this,ni,i.relatedTarget),Ae(this,i.relatedTarget)||(this.hidden=!this.hidden)};Yd=new WeakSet;Mp=function(){var i;(i=q(this,ni))==null||i.setAttribute("aria-expanded","true"),this.addEventListener("transitionend",()=>this.focus(),{once:!0}),xt(Vn(this),q(this,zr)),xt(this,q(this,Yr))};Qd=new WeakSet;Rp=function(){var i;(i=q(this,ni))==null||i.setAttribute("aria-expanded","false"),Pt(Vn(this),q(this,zr)),Pt(this,q(this,Yr))};zr=new WeakMap;Yr=new WeakMap;Qr=new WeakSet;Bn=function(i){if(this.hasAttribute("mediacontroller")&&!this.anchor||this.hidden||!this.anchorElement)return;let{x:e,y:t}=Lp({anchor:this.anchorElement,floating:this,placement:"top-start"});i??(i=this.offsetWidth);let o=Vn(this).getBoundingClientRect(),n=o.width-e-i,a=o.height-t-this.offsetHeight,{style:l}=q(this,$n);l.setProperty("position","absolute"),l.setProperty("right",`${Math.max(0,n)}px`),l.setProperty("--_menu-bottom",`${a}px`);let c=getComputedStyle(this),h=l.getPropertyValue("--_menu-bottom")===c.bottom?a:parseFloat(c.bottom),p=o.height-h-parseFloat(c.marginBottom);this.style.setProperty("--_menu-max-height",`${p}px`)};Ws=new WeakSet;oc=function(i){let e=this.querySelector('[role="menuitem"][aria-haspopup][aria-expanded="true"]'),t=e==null?void 0:e.querySelector('[role="menu"]'),{style:r}=q(this,$n);if(i||r.setProperty("--media-menu-transition-in","none"),t){let o=t.offsetHeight,n=Math.max(t.offsetWidth,e.offsetWidth);this.style.setProperty("min-width",`${n}px`),this.style.setProperty("min-height",`${o}px`),Q(this,Qr,Bn).call(this,n)}else this.style.removeProperty("min-width"),this.style.removeProperty("min-height"),Q(this,Qr,Bn).call(this);r.removeProperty("--media-menu-transition-in")};Zd=new WeakSet;xp=function(i){var e;if(i.stopPropagation(),i.composedPath().includes(q(this,nc,Pp))){(e=q(this,ji))==null||e.focus(),this.hidden=!0;return}let t=Q(this,Nn,Fs).call(this,i);!t||t.hasAttribute("disabled")||(Q(this,Hn,Ks).call(this,t),this.handleSelect(i))};nc=new WeakSet;Pp=function(){var i;return(i=this.shadowRoot.querySelector('slot[name="header"]').assignedElements({flatten:!0}))==null?void 0:i.find(t=>t.matches('button[part~="back"]'))};Xd=new WeakSet;Dp=function(i){if(i.target===this)return;Q(this,ac,Op).call(this);let e=Array.from(this.querySelectorAll('[role="menuitem"][aria-haspopup]'));for(let t of e)t.invokeTargetElement!=i.target&&i.newState=="open"&&t.getAttribute("aria-expanded")=="true"&&!t.invokeTargetElement.hidden&&t.invokeTargetElement.dispatchEvent(new oi({relatedTarget:t}));for(let t of e)t.setAttribute("aria-expanded",`${!t.submenuElement.hidden}`);Q(this,Ws,oc).call(this,!0)};ac=new WeakSet;Op=function(){let e=this.querySelector('[role="menuitem"] > [role="menu"]:not([hidden])');this.container.classList.toggle("has-expanded",!!e)};Jd=new WeakSet;Up=function(i){var e;Ae(this,i.relatedTarget)||(q(this,er)&&((e=q(this,ji))==null||e.focus()),q(this,ni)&&q(this,ni)!==i.relatedTarget&&!this.hidden&&(this.hidden=!0))};jd=new WeakSet;Np=function(i){var e,t,r,o,n;let{key:a,ctrlKey:l,altKey:c,metaKey:v}=i;if(!(l||c||v)&&this.keysUsed.includes(a))if(i.preventDefault(),i.stopPropagation(),a==="Tab"){if(q(this,er)){this.hidden=!0;return}i.shiftKey?(t=(e=this.previousElementSibling)==null?void 0:e.focus)==null||t.call(e):(o=(r=this.nextElementSibling)==null?void 0:r.focus)==null||o.call(r),this.blur()}else a==="Escape"?((n=q(this,ji))==null||n.focus(),q(this,er)&&(this.hidden=!0)):a==="Enter"||a===" "?this.handleSelect(i):this.handleMove(i)};Nn=new WeakSet;Fs=function(i){return i.composedPath().find(e=>["menuitemradio","menuitemcheckbox"].includes(e.role))};ec=new WeakSet;Hp=function(){return this.items.find(i=>i.tabIndex===0)};Hn=new WeakSet;Ks=function(i){for(let e of this.items)e.tabIndex=e===i?0:-1};$s=new WeakSet;tc=function(i,e){let t=[...this.checkedItems];i.type==="radio"&&this.radioGroupItems.forEach(r=>r.checked=!1),e?i.checked=!i.checked:i.checked=!0,this.checkedItems.some((r,o)=>r!=t[o])&&this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))};se.shadowRootOptions={mode:"open"};se.getTemplateHTML=Yg;function Qg(i){return["menuitem","menuitemradio","menuitemcheckbox"].includes(i==null?void 0:i.role)}function Vn(i){var e;return(e=i.getAttribute("bounds")?at(i,`#${i.getAttribute("bounds")}`):Z(i)||i.parentElement)!=null?e:i}d.customElements.get("media-chrome-menu")||d.customElements.define("media-chrome-menu",se);var hc=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},At=(i,e,t)=>(hc(i,e,"read from private field"),t?t.call(i):e.get(i)),Nt=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},sc=(i,e,t,r)=>(hc(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),tt=(i,e,t)=>(hc(i,e,"access private method"),t),qs,Fn,lc,$p,zs,pc,mc,Bp,St,Zr,Kn,dc,Vp,Gs,cc;function Zg(i){return`
1813
+ <style>
1814
+ :host {
1815
+ transition: var(--media-menu-item-transition,
1816
+ background .15s linear,
1817
+ opacity .2s ease-in-out
1818
+ );
1819
+ outline: var(--media-menu-item-outline, 0);
1820
+ outline-offset: var(--media-menu-item-outline-offset, -1px);
1821
+ cursor: var(--media-cursor, pointer);
1822
+ display: flex;
1823
+ align-items: center;
1824
+ align-self: stretch;
1825
+ justify-self: stretch;
1826
+ white-space: nowrap;
1827
+ white-space-collapse: collapse;
1828
+ text-wrap: nowrap;
1829
+ padding: .4em .8em .4em 1em;
1830
+ }
1831
+
1832
+ :host(:focus-visible) {
1833
+ box-shadow: var(--media-menu-item-focus-shadow, inset 0 0 0 2px rgb(27 127 204 / .9));
1834
+ outline: var(--media-menu-item-hover-outline, 0);
1835
+ outline-offset: var(--media-menu-item-hover-outline-offset, var(--media-menu-item-outline-offset, -1px));
1836
+ }
1837
+
1838
+ :host(:hover) {
1839
+ cursor: var(--media-cursor, pointer);
1840
+ background: var(--media-menu-item-hover-background, rgb(92 92 102 / .5));
1841
+ outline: var(--media-menu-item-hover-outline);
1842
+ outline-offset: var(--media-menu-item-hover-outline-offset, var(--media-menu-item-outline-offset, -1px));
1843
+ }
1844
+
1845
+ :host([aria-checked="true"]) {
1846
+ background: var(--media-menu-item-checked-background);
1847
+ }
1848
+
1849
+ :host([hidden]) {
1850
+ display: none;
1851
+ }
1852
+
1853
+ :host([disabled]) {
1854
+ pointer-events: none;
1855
+ color: rgba(255, 255, 255, .3);
1856
+ }
1857
+
1858
+ slot:not([name]) {
1859
+ width: 100%;
1860
+ }
1861
+
1862
+ slot:not([name="submenu"]) {
1863
+ display: inline-flex;
1864
+ align-items: center;
1865
+ transition: inherit;
1866
+ opacity: var(--media-menu-item-opacity, 1);
1867
+ }
1868
+
1869
+ slot[name="description"] {
1870
+ justify-content: end;
1871
+ }
1872
+
1873
+ slot[name="description"] > span {
1874
+ display: inline-block;
1875
+ margin-inline: 1em .2em;
1876
+ max-width: var(--media-menu-item-description-max-width, 100px);
1877
+ text-overflow: ellipsis;
1878
+ overflow: hidden;
1879
+ font-size: .8em;
1880
+ font-weight: 400;
1881
+ text-align: right;
1882
+ position: relative;
1883
+ top: .04em;
1884
+ }
1885
+
1886
+ slot[name="checked-indicator"] {
1887
+ display: none;
1888
+ }
1889
+
1890
+ :host(:is([role="menuitemradio"],[role="menuitemcheckbox"])) slot[name="checked-indicator"] {
1891
+ display: var(--media-menu-item-checked-indicator-display, inline-block);
1892
+ }
1893
+
1894
+
1895
+ svg, img, ::slotted(svg), ::slotted(img) {
1896
+ height: var(--media-menu-item-icon-height, var(--media-control-height, 24px));
1897
+ fill: var(--media-icon-color, var(--media-primary-color, rgb(238 238 238)));
1898
+ display: block;
1899
+ }
1900
+
1901
+
1902
+ [part~="indicator"],
1903
+ ::slotted([part~="indicator"]) {
1904
+ fill: var(--media-menu-item-indicator-fill,
1905
+ var(--media-icon-color, var(--media-primary-color, rgb(238 238 238))));
1906
+ height: var(--media-menu-item-indicator-height, 1.25em);
1907
+ margin-right: .5ch;
1908
+ }
1909
+
1910
+ [part~="checked-indicator"] {
1911
+ visibility: hidden;
1912
+ }
1913
+
1914
+ :host([aria-checked="true"]) [part~="checked-indicator"] {
1915
+ visibility: visible;
1916
+ }
1917
+ </style>
1918
+ <slot name="checked-indicator">
1919
+ <svg aria-hidden="true" viewBox="0 1 24 24" part="checked-indicator indicator">
1920
+ <path d="m10 15.17 9.193-9.191 1.414 1.414-10.606 10.606-6.364-6.364 1.414-1.414 4.95 4.95Z"/>
1921
+ </svg>
1922
+ </slot>
1923
+ <slot name="prefix"></slot>
1924
+ <slot></slot>
1925
+ <slot name="description"></slot>
1926
+ <slot name="suffix">
1927
+ ${this.getSuffixSlotInnerHTML(i)}
1928
+ </slot>
1929
+ <slot name="submenu"></slot>
1930
+ `}function Xg(i){return""}var Ge={TYPE:"type",VALUE:"value",CHECKED:"checked",DISABLED:"disabled"},Ve=class extends d.HTMLElement{constructor(){if(super(),Nt(this,lc),Nt(this,zs),Nt(this,mc),Nt(this,Zr),Nt(this,dc),Nt(this,Gs),Nt(this,qs,!1),Nt(this,Fn,void 0),Nt(this,St,()=>{var e,t;this.submenuElement.items&&this.setAttribute("submenusize",`${this.submenuElement.items.length}`);let r=this.shadowRoot.querySelector('slot[name="description"]'),o=(e=this.submenuElement.checkedItems)==null?void 0:e[0],n=(t=o==null?void 0:o.dataset.description)!=null?t:o==null?void 0:o.text,a=j.createElement("span");a.textContent=n??"",r.replaceChildren(a)}),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);let e=J(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}this.shadowRoot.addEventListener("slotchange",this)}static get observedAttributes(){return[Ge.TYPE,Ge.DISABLED,Ge.CHECKED,Ge.VALUE]}enable(){this.hasAttribute("tabindex")||this.setAttribute("tabindex","-1"),Wn(this)&&!this.hasAttribute("aria-checked")&&this.setAttribute("aria-checked","false"),this.addEventListener("click",this),this.addEventListener("keydown",this)}disable(){this.removeAttribute("tabindex"),this.removeEventListener("click",this),this.removeEventListener("keydown",this),this.removeEventListener("keyup",this)}handleEvent(e){switch(e.type){case"slotchange":tt(this,lc,$p).call(this,e);break;case"click":this.handleClick(e);break;case"keydown":tt(this,dc,Vp).call(this,e);break;case"keyup":tt(this,Zr,Kn).call(this,e);break}}attributeChangedCallback(e,t,r){e===Ge.CHECKED&&Wn(this)&&!At(this,qs)?this.setAttribute("aria-checked",r!=null?"true":"false"):e===Ge.TYPE&&r!==t?this.role="menuitem"+r:e===Ge.DISABLED&&r!==t&&(r==null?this.enable():this.disable())}connectedCallback(){this.hasAttribute(Ge.DISABLED)||this.enable(),this.role="menuitem"+this.type,sc(this,Fn,uc(this,this.parentNode)),tt(this,Gs,cc).call(this),this.submenuElement&&tt(this,zs,pc).call(this)}disconnectedCallback(){this.disable(),tt(this,Gs,cc).call(this),sc(this,Fn,null)}get invokeTarget(){return this.getAttribute("invoketarget")}set invokeTarget(e){this.setAttribute("invoketarget",`${e}`)}get invokeTargetElement(){var e;return this.invokeTarget?(e=Oi(this))==null?void 0:e.querySelector(`#${this.invokeTarget}`):this.submenuElement}get submenuElement(){return this.shadowRoot.querySelector('slot[name="submenu"]').assignedElements({flatten:!0})[0]}get type(){var e;return(e=this.getAttribute(Ge.TYPE))!=null?e:""}set type(e){this.setAttribute(Ge.TYPE,`${e}`)}get value(){var e;return(e=this.getAttribute(Ge.VALUE))!=null?e:this.text}set value(e){this.setAttribute(Ge.VALUE,e)}get text(){var e;return((e=this.textContent)!=null?e:"").trim()}get checked(){if(Wn(this))return this.getAttribute("aria-checked")==="true"}set checked(e){Wn(this)&&(sc(this,qs,!0),this.setAttribute("aria-checked",e?"true":"false"),e?this.part.add("checked"):this.part.remove("checked"))}handleClick(e){Wn(this)||this.invokeTargetElement&&Ae(this,e.target)&&this.invokeTargetElement.dispatchEvent(new oi({relatedTarget:this}))}get keysUsed(){return["Enter"," "]}};qs=new WeakMap;Fn=new WeakMap;lc=new WeakSet;$p=function(i){let e=i.target;if(!(e!=null&&e.name))for(let r of e.assignedNodes({flatten:!0}))r instanceof Text&&r.textContent.trim()===""&&r.remove();e.name==="submenu"&&(this.submenuElement?tt(this,zs,pc).call(this):tt(this,mc,Bp).call(this))};zs=new WeakSet;pc=async function(){this.setAttribute("aria-haspopup","menu"),this.setAttribute("aria-expanded",`${!this.submenuElement.hidden}`),this.submenuElement.addEventListener("change",At(this,St)),this.submenuElement.addEventListener("addmenuitem",At(this,St)),this.submenuElement.addEventListener("removemenuitem",At(this,St)),At(this,St).call(this)};mc=new WeakSet;Bp=function(){this.removeAttribute("aria-haspopup"),this.removeAttribute("aria-expanded"),this.submenuElement.removeEventListener("change",At(this,St)),this.submenuElement.removeEventListener("addmenuitem",At(this,St)),this.submenuElement.removeEventListener("removemenuitem",At(this,St)),At(this,St).call(this)};St=new WeakMap;Zr=new WeakSet;Kn=function(i){let{key:e}=i;if(!this.keysUsed.includes(e)){this.removeEventListener("keyup",tt(this,Zr,Kn));return}this.handleClick(i)};dc=new WeakSet;Vp=function(i){let{metaKey:e,altKey:t,key:r}=i;if(e||t||!this.keysUsed.includes(r)){this.removeEventListener("keyup",tt(this,Zr,Kn));return}this.addEventListener("keyup",tt(this,Zr,Kn),{once:!0})};Gs=new WeakSet;cc=function(){var i;let e=(i=At(this,Fn))==null?void 0:i.radioGroupItems;if(!e)return;let t=e.filter(r=>r.getAttribute("aria-checked")==="true").pop();t||(t=e[0]);for(let r of e)r.setAttribute("aria-checked","false");t==null||t.setAttribute("aria-checked","true")};Ve.shadowRootOptions={mode:"open"};Ve.getTemplateHTML=Zg;Ve.getSuffixSlotInnerHTML=Xg;function Wn(i){return i.type==="radio"||i.type==="checkbox"}function uc(i,e){if(!i)return null;let{host:t}=i.getRootNode();return!e&&t?uc(i,t):e!=null&&e.items?e:uc(e,e==null?void 0:e.parentNode)}d.customElements.get("media-chrome-menu-item")||d.customElements.define("media-chrome-menu-item",Ve);function Jg(i){return`
1931
+ ${se.getTemplateHTML(i)}
1932
+ <style>
1933
+ :host {
1934
+ --_menu-bg: rgb(20 20 30 / .8);
1935
+ background: var(--media-settings-menu-background,
1936
+ var(--media-menu-background,
1937
+ var(--media-control-background,
1938
+ var(--media-secondary-color, var(--_menu-bg)))));
1939
+ min-width: var(--media-settings-menu-min-width, 170px);
1940
+ border-radius: 2px 2px 0 0;
1941
+ overflow: hidden;
1942
+ }
1943
+
1944
+ @-moz-document url-prefix() {
1945
+ :host{
1946
+ --_menu-bg: rgb(20 20 30);
1947
+ }
1948
+ }
1949
+
1950
+ :host([role="menu"]) {
1951
+
1952
+ justify-content: end;
1953
+ }
1954
+
1955
+ slot:not([name]) {
1956
+ justify-content: var(--media-settings-menu-justify-content);
1957
+ flex-direction: var(--media-settings-menu-flex-direction, column);
1958
+ overflow: visible;
1959
+ }
1960
+
1961
+ #container.has-expanded {
1962
+ --media-settings-menu-item-opacity: 0;
1963
+ }
1964
+ </style>
1965
+ `}var qn=class extends se{get anchorElement(){return this.anchor!=="auto"?super.anchorElement:Z(this).querySelector("media-settings-menu-button")}};qn.getTemplateHTML=Jg;d.customElements.get("media-settings-menu")||d.customElements.define("media-settings-menu",qn);function jg(i){return`
1966
+ ${Ve.getTemplateHTML.call(this,i)}
1967
+ <style>
1968
+ slot:not([name="submenu"]) {
1969
+ opacity: var(--media-settings-menu-item-opacity, var(--media-menu-item-opacity));
1970
+ }
1971
+
1972
+ :host([aria-expanded="true"]:hover) {
1973
+ background: transparent;
1974
+ }
1975
+ </style>
1976
+ `}function eE(i){return`
1977
+ <svg aria-hidden="true" viewBox="0 0 20 24">
1978
+ <path d="m8.12 17.585-.742-.669 4.2-4.665-4.2-4.666.743-.669 4.803 5.335-4.803 5.334Z"/>
1979
+ </svg>
1980
+ `}var tr=class extends Ve{};tr.shadowRootOptions={mode:"open"};tr.getTemplateHTML=jg;tr.getSuffixSlotInnerHTML=eE;d.customElements.get("media-settings-menu-item")||d.customElements.define("media-settings-menu-item",tr);var Pe=class extends F{connectedCallback(){super.connectedCallback(),this.invokeTargetElement&&this.setAttribute("aria-haspopup","menu")}get invokeTarget(){return this.getAttribute("invoketarget")}set invokeTarget(e){this.setAttribute("invoketarget",`${e}`)}get invokeTargetElement(){var e;return this.invokeTarget?(e=Oi(this))==null?void 0:e.querySelector(`#${this.invokeTarget}`):null}handleClick(){var e;(e=this.invokeTargetElement)==null||e.dispatchEvent(new oi({relatedTarget:this}))}};d.customElements.get("media-chrome-menu-button")||d.customElements.define("media-chrome-menu-button",Pe);function tE(){return`
1981
+ <style>
1982
+ :host([aria-expanded="true"]) slot[name=tooltip] {
1983
+ display: none;
1984
+ }
1985
+ </style>
1986
+ <slot name="icon">
1987
+ <svg aria-hidden="true" viewBox="0 0 24 24">
1988
+ <path d="M4.5 14.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Zm7.5 0a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Zm7.5 0a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z"/>
1989
+ </svg>
1990
+ </slot>
1991
+ `}function iE(){return E("Settings")}var Xr=class extends Pe{static get observedAttributes(){return[...super.observedAttributes,"target"]}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",E("settings"))}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:Z(this).querySelector("media-settings-menu")}};Xr.getSlotTemplateHTML=tE;Xr.getTooltipContentHTML=iE;d.customElements.get("media-settings-menu-button")||d.customElements.define("media-settings-menu-button",Xr);var Ec=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Wp=(i,e,t)=>(Ec(i,e,"read from private field"),t?t.call(i):e.get(i)),Ys=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},vc=(i,e,t,r)=>(Ec(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),Qs=(i,e,t)=>(Ec(i,e,"access private method"),t),Gn,Js,Zs,fc,Xs,gc,js=class extends se{constructor(){super(...arguments),Ys(this,Zs),Ys(this,Xs),Ys(this,Gn,[]),Ys(this,Js,void 0)}static get observedAttributes(){return[...super.observedAttributes,s.MEDIA_AUDIO_TRACK_LIST,s.MEDIA_AUDIO_TRACK_ENABLED,s.MEDIA_AUDIO_TRACK_UNAVAILABLE]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===s.MEDIA_AUDIO_TRACK_ENABLED&&t!==r?this.value=r:e===s.MEDIA_AUDIO_TRACK_LIST&&t!==r&&(vc(this,Gn,qu(r??"")),Qs(this,Zs,fc).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",Qs(this,Xs,gc))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",Qs(this,Xs,gc))}get anchorElement(){var e;return this.anchor!=="auto"?super.anchorElement:(e=Z(this))==null?void 0:e.querySelector("media-audio-track-menu-button")}get mediaAudioTrackList(){return Wp(this,Gn)}set mediaAudioTrackList(e){vc(this,Gn,e),Qs(this,Zs,fc).call(this)}get mediaAudioTrackEnabled(){var e;return(e=x(this,s.MEDIA_AUDIO_TRACK_ENABLED))!=null?e:""}set mediaAudioTrackEnabled(e){P(this,s.MEDIA_AUDIO_TRACK_ENABLED,e)}};Gn=new WeakMap;Js=new WeakMap;Zs=new WeakSet;fc=function(){if(Wp(this,Js)===JSON.stringify(this.mediaAudioTrackList))return;vc(this,Js,JSON.stringify(this.mediaAudioTrackList));let i=this.mediaAudioTrackList;this.defaultSlot.textContent="",i.sort((e,t)=>e.id.localeCompare(t.id,void 0,{numeric:!0}));for(let e of i){let t=this.formatMenuItemText(e.label,e),r=Tt({type:"radio",text:t,value:`${e.id}`,checked:e.enabled});r.prepend(et(this,"checked-indicator")),this.defaultSlot.append(r)}};Xs=new WeakSet;gc=function(){if(this.value==null)return;let i=new d.CustomEvent(b.MEDIA_AUDIO_TRACK_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};d.customElements.get("media-audio-track-menu")||d.customElements.define("media-audio-track-menu",js);var rE=`<svg aria-hidden="true" viewBox="0 0 24 24">
1992
+ <path d="M11 17H9.5V7H11v10Zm-3-3H6.5v-4H8v4Zm6-5h-1.5v6H14V9Zm3 7h-1.5V8H17v8Z"/>
1993
+ <path d="M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10Zm-2 0a8 8 0 1 0-16 0 8 8 0 0 0 16 0Z"/>
1994
+ </svg>`;function oE(){return`
1995
+ <style>
1996
+ :host([aria-expanded="true"]) slot[name=tooltip] {
1997
+ display: none;
1998
+ }
1999
+ </style>
2000
+ <slot name="icon">${rE}</slot>
2001
+ `}function nE(){return E("Audio")}var Fp=i=>{let e=E("Audio");i.setAttribute("aria-label",e)},Jr=class extends Pe{static get observedAttributes(){return[...super.observedAttributes,s.MEDIA_AUDIO_TRACK_ENABLED,s.MEDIA_AUDIO_TRACK_UNAVAILABLE]}connectedCallback(){super.connectedCallback(),Fp(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===s.MEDIA_LANG&&Fp(this)}get invokeTargetElement(){var e;return this.invokeTarget!=null?super.invokeTargetElement:(e=Z(this))==null?void 0:e.querySelector("media-audio-track-menu")}get mediaAudioTrackEnabled(){var e;return(e=x(this,s.MEDIA_AUDIO_TRACK_ENABLED))!=null?e:""}set mediaAudioTrackEnabled(e){P(this,s.MEDIA_AUDIO_TRACK_ENABLED,e)}};Jr.getSlotTemplateHTML=oE;Jr.getTooltipContentHTML=nE;d.customElements.get("media-audio-track-menu-button")||d.customElements.define("media-audio-track-menu-button",Jr);var Tc=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},aE=(i,e,t)=>(Tc(i,e,"read from private field"),t?t.call(i):e.get(i)),bc=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},sE=(i,e,t,r)=>(Tc(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),el=(i,e,t)=>(Tc(i,e,"access private method"),t),rl,tl,_c,il,yc,lE=`
2002
+ <svg aria-hidden="true" viewBox="0 0 26 24" part="captions-indicator indicator">
2003
+ <path d="M22.83 5.68a2.58 2.58 0 0 0-2.3-2.5c-3.62-.24-11.44-.24-15.06 0a2.58 2.58 0 0 0-2.3 2.5c-.23 4.21-.23 8.43 0 12.64a2.58 2.58 0 0 0 2.3 2.5c3.62.24 11.44.24 15.06 0a2.58 2.58 0 0 0 2.3-2.5c.23-4.21.23-8.43 0-12.64Zm-11.39 9.45a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.92 3.92 0 0 1 .92-2.77 3.18 3.18 0 0 1 2.43-1 2.94 2.94 0 0 1 2.13.78c.364.359.62.813.74 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.17 1.61 1.61 0 0 0-1.29.58 2.79 2.79 0 0 0-.5 1.89 3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.48 1.48 0 0 0 1-.37 2.1 2.1 0 0 0 .59-1.14l1.4.44a3.23 3.23 0 0 1-1.07 1.69Zm7.22 0a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.88 3.88 0 0 1 .93-2.77 3.14 3.14 0 0 1 2.42-1 3 3 0 0 1 2.16.82 2.8 2.8 0 0 1 .73 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.21 1.61 1.61 0 0 0-1.29.58A2.79 2.79 0 0 0 15 12a3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.44 1.44 0 0 0 1-.37 2.1 2.1 0 0 0 .6-1.15l1.4.44a3.17 3.17 0 0 1-1.1 1.7Z"/>
2004
+ </svg>`;function dE(i){return`
2005
+ ${se.getTemplateHTML(i)}
2006
+ <slot name="captions-indicator" hidden>${lE}</slot>
2007
+ `}var zn=class extends se{constructor(){super(...arguments),bc(this,tl),bc(this,il),bc(this,rl,void 0)}static get observedAttributes(){return[...super.observedAttributes,s.MEDIA_SUBTITLES_LIST,s.MEDIA_SUBTITLES_SHOWING]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===s.MEDIA_SUBTITLES_LIST&&t!==r?el(this,tl,_c).call(this):e===s.MEDIA_SUBTITLES_SHOWING&&t!==r&&(this.value=r||"",el(this,tl,_c).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",el(this,il,yc))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",el(this,il,yc))}get anchorElement(){return this.anchor!=="auto"?super.anchorElement:Z(this).querySelector("media-captions-menu-button")}get mediaSubtitlesList(){return Kp(this,s.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){qp(this,s.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return Kp(this,s.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){qp(this,s.MEDIA_SUBTITLES_SHOWING,e)}};rl=new WeakMap;tl=new WeakSet;_c=function(){var i;let e=aE(this,rl)!==JSON.stringify(this.mediaSubtitlesList),t=this.value!==this.getAttribute(s.MEDIA_SUBTITLES_SHOWING);if(!e&&!t)return;sE(this,rl,JSON.stringify(this.mediaSubtitlesList)),this.defaultSlot.textContent="";let r=!this.value,o=Tt({type:"radio",text:this.formatMenuItemText(E("Off")),value:"off",checked:r});o.prepend(et(this,"checked-indicator")),this.defaultSlot.append(o);let n=this.mediaSubtitlesList;for(let a of n){let l=Tt({type:"radio",text:this.formatMenuItemText(a.label,a),value:Da(a),checked:this.value==Da(a)});l.prepend(et(this,"checked-indicator")),((i=a.kind)!=null?i:"subs")==="captions"&&l.append(et(this,"captions-indicator")),this.defaultSlot.append(l)}};il=new WeakSet;yc=function(){let i=this.mediaSubtitlesShowing,e=this.getAttribute(s.MEDIA_SUBTITLES_SHOWING),t=this.value!==e;if(i!=null&&i.length&&t&&this.dispatchEvent(new d.CustomEvent(b.MEDIA_DISABLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:i})),!this.value||!t)return;let r=new d.CustomEvent(b.MEDIA_SHOW_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(r)};zn.getTemplateHTML=dE;var Kp=(i,e)=>{let t=i.getAttribute(e);return t?$i(t):[]},qp=(i,e,t)=>{if(!(t!=null&&t.length)){i.removeAttribute(e);return}let r=Ot(t);i.getAttribute(e)!==r&&i.setAttribute(e,r)};d.customElements.get("media-captions-menu")||d.customElements.define("media-captions-menu",zn);var cE=`<svg aria-hidden="true" viewBox="0 0 26 24">
2008
+ <path d="M22.83 5.68a2.58 2.58 0 0 0-2.3-2.5c-3.62-.24-11.44-.24-15.06 0a2.58 2.58 0 0 0-2.3 2.5c-.23 4.21-.23 8.43 0 12.64a2.58 2.58 0 0 0 2.3 2.5c3.62.24 11.44.24 15.06 0a2.58 2.58 0 0 0 2.3-2.5c.23-4.21.23-8.43 0-12.64Zm-11.39 9.45a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.92 3.92 0 0 1 .92-2.77 3.18 3.18 0 0 1 2.43-1 2.94 2.94 0 0 1 2.13.78c.364.359.62.813.74 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.17 1.61 1.61 0 0 0-1.29.58 2.79 2.79 0 0 0-.5 1.89 3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.48 1.48 0 0 0 1-.37 2.1 2.1 0 0 0 .59-1.14l1.4.44a3.23 3.23 0 0 1-1.07 1.69Zm7.22 0a3.07 3.07 0 0 1-1.91.57 3.06 3.06 0 0 1-2.34-1 3.75 3.75 0 0 1-.92-2.67 3.88 3.88 0 0 1 .93-2.77 3.14 3.14 0 0 1 2.42-1 3 3 0 0 1 2.16.82 2.8 2.8 0 0 1 .73 1.31l-1.43.35a1.49 1.49 0 0 0-1.51-1.21 1.61 1.61 0 0 0-1.29.58A2.79 2.79 0 0 0 15 12a3 3 0 0 0 .49 1.93 1.61 1.61 0 0 0 1.27.58 1.44 1.44 0 0 0 1-.37 2.1 2.1 0 0 0 .6-1.15l1.4.44a3.17 3.17 0 0 1-1.1 1.7Z"/>
2009
+ </svg>`,uE=`<svg aria-hidden="true" viewBox="0 0 26 24">
2010
+ <path d="M17.73 14.09a1.4 1.4 0 0 1-1 .37 1.579 1.579 0 0 1-1.27-.58A3 3 0 0 1 15 12a2.8 2.8 0 0 1 .5-1.85 1.63 1.63 0 0 1 1.29-.57 1.47 1.47 0 0 1 1.51 1.2l1.43-.34A2.89 2.89 0 0 0 19 9.07a3 3 0 0 0-2.14-.78 3.14 3.14 0 0 0-2.42 1 3.91 3.91 0 0 0-.93 2.78 3.74 3.74 0 0 0 .92 2.66 3.07 3.07 0 0 0 2.34 1 3.07 3.07 0 0 0 1.91-.57 3.17 3.17 0 0 0 1.07-1.74l-1.4-.45c-.083.43-.3.822-.62 1.12Zm-7.22 0a1.43 1.43 0 0 1-1 .37 1.58 1.58 0 0 1-1.27-.58A3 3 0 0 1 7.76 12a2.8 2.8 0 0 1 .5-1.85 1.63 1.63 0 0 1 1.29-.57 1.47 1.47 0 0 1 1.51 1.2l1.43-.34a2.81 2.81 0 0 0-.74-1.32 2.94 2.94 0 0 0-2.13-.78 3.18 3.18 0 0 0-2.43 1 4 4 0 0 0-.92 2.78 3.74 3.74 0 0 0 .92 2.66 3.07 3.07 0 0 0 2.34 1 3.07 3.07 0 0 0 1.91-.57 3.23 3.23 0 0 0 1.07-1.74l-1.4-.45a2.06 2.06 0 0 1-.6 1.07Zm12.32-8.41a2.59 2.59 0 0 0-2.3-2.51C18.72 3.05 15.86 3 13 3c-2.86 0-5.72.05-7.53.17a2.59 2.59 0 0 0-2.3 2.51c-.23 4.207-.23 8.423 0 12.63a2.57 2.57 0 0 0 2.3 2.5c1.81.13 4.67.19 7.53.19 2.86 0 5.72-.06 7.53-.19a2.57 2.57 0 0 0 2.3-2.5c.23-4.207.23-8.423 0-12.63Zm-1.49 12.53a1.11 1.11 0 0 1-.91 1.11c-1.67.11-4.45.18-7.43.18-2.98 0-5.76-.07-7.43-.18a1.11 1.11 0 0 1-.91-1.11c-.21-4.14-.21-8.29 0-12.43a1.11 1.11 0 0 1 .91-1.11C7.24 4.56 10 4.49 13 4.49s5.76.07 7.43.18a1.11 1.11 0 0 1 .91 1.11c.21 4.14.21 8.29 0 12.43Z"/>
2011
+ </svg>`;function hE(){return`
2012
+ <style>
2013
+ :host([data-captions-enabled="true"]) slot[name=off] {
2014
+ display: none !important;
2015
+ }
2016
+
2017
+
2018
+ :host(:not([data-captions-enabled="true"])) slot[name=on] {
2019
+ display: none !important;
2020
+ }
2021
+
2022
+ :host([aria-expanded="true"]) slot[name=tooltip] {
2023
+ display: none;
2024
+ }
2025
+ </style>
2026
+
2027
+ <slot name="icon">
2028
+ <slot name="on">${cE}</slot>
2029
+ <slot name="off">${uE}</slot>
2030
+ </slot>
2031
+ `}function pE(){return E("Captions")}var Gp=i=>{i.setAttribute("data-captions-enabled",Oa(i).toString())},zp=i=>{i.setAttribute("aria-label",E("closed captions"))},jr=class extends Pe{static get observedAttributes(){return[...super.observedAttributes,s.MEDIA_SUBTITLES_LIST,s.MEDIA_SUBTITLES_SHOWING,s.MEDIA_LANG]}connectedCallback(){super.connectedCallback(),zp(this),Gp(this)}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===s.MEDIA_SUBTITLES_SHOWING?Gp(this):e===s.MEDIA_LANG&&zp(this)}get invokeTargetElement(){var e;return this.invokeTarget!=null?super.invokeTargetElement:(e=Z(this))==null?void 0:e.querySelector("media-captions-menu")}get mediaSubtitlesList(){return Yp(this,s.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){Qp(this,s.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return Yp(this,s.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){Qp(this,s.MEDIA_SUBTITLES_SHOWING,e)}};jr.getSlotTemplateHTML=hE;jr.getTooltipContentHTML=pE;var Yp=(i,e)=>{let t=i.getAttribute(e);return t?$i(t):[]},Qp=(i,e,t)=>{if(!(t!=null&&t.length)){i.removeAttribute(e);return}let r=Ot(t);i.getAttribute(e)!==r&&i.setAttribute(e,r)};d.customElements.get("media-captions-menu-button")||d.customElements.define("media-captions-menu-button",jr);var Zp=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},to=(i,e,t)=>(Zp(i,e,"read from private field"),t?t.call(i):e.get(i)),Ac=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},eo=(i,e,t)=>(Zp(i,e,"access private method"),t),ai,io,Yn,ol,kc,Sc={RATES:"rates"},nl=class extends se{constructor(){super(),Ac(this,io),Ac(this,ol),Ac(this,ai,new Xt(this,Sc.RATES,{defaultValue:Id})),eo(this,io,Yn).call(this)}static get observedAttributes(){return[...super.observedAttributes,s.MEDIA_PLAYBACK_RATE,Sc.RATES]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===s.MEDIA_PLAYBACK_RATE&&t!=r?(this.value=r,eo(this,io,Yn).call(this)):e===Sc.RATES&&t!=r&&(to(this,ai).value=r,eo(this,io,Yn).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",eo(this,ol,kc))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",eo(this,ol,kc))}get anchorElement(){return this.anchor!=="auto"?super.anchorElement:Z(this).querySelector("media-playback-rate-menu-button")}get rates(){return to(this,ai)}set rates(e){e?Array.isArray(e)?to(this,ai).value=e.join(" "):typeof e=="string"&&(to(this,ai).value=e):to(this,ai).value="",eo(this,io,Yn).call(this)}get mediaPlaybackRate(){return H(this,s.MEDIA_PLAYBACK_RATE,Yi)}set mediaPlaybackRate(e){B(this,s.MEDIA_PLAYBACK_RATE,e)}};ai=new WeakMap;io=new WeakSet;Yn=function(){this.defaultSlot.textContent="";let i=this.mediaPlaybackRate,e=new Set(Array.from(to(this,ai)).map(r=>Number(r)));i>0&&!e.has(i)&&e.add(i);let t=Array.from(e).sort((r,o)=>r-o);for(let r of t){let o=Tt({type:"radio",text:this.formatMenuItemText(`${r}x`,r),value:r.toString(),checked:i===r});o.prepend(et(this,"checked-indicator")),this.defaultSlot.append(o)}};ol=new WeakSet;kc=function(){if(!this.value)return;let i=new d.CustomEvent(b.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};d.customElements.get("media-playback-rate-menu")||d.customElements.define("media-playback-rate-menu",nl);var al=1;function mE(i){return`
2032
+ <style>
2033
+ :host {
2034
+ min-width: 5ch;
2035
+ padding: var(--media-button-padding, var(--media-control-padding, 10px 5px));
2036
+ }
2037
+
2038
+ :host([aria-expanded="true"]) slot {
2039
+ display: block;
2040
+ }
2041
+
2042
+ :host([aria-expanded="true"]) slot[name=tooltip] {
2043
+ display: none;
2044
+ }
2045
+ </style>
2046
+ <slot name="icon">${i.mediaplaybackrate||al}x</slot>
2047
+ `}function vE(){return E("Playback rate")}var ro=class extends Pe{static get observedAttributes(){return[...super.observedAttributes,s.MEDIA_PLAYBACK_RATE]}constructor(){var e;super(),this.container=this.shadowRoot.querySelector('slot[name="icon"]'),this.container.innerHTML=`${(e=this.mediaPlaybackRate)!=null?e:al}x`}attributeChangedCallback(e,t,r){if(super.attributeChangedCallback(e,t,r),e===s.MEDIA_PLAYBACK_RATE){let o=r?+r:Number.NaN,n=Number.isNaN(o)?al:o;this.container.innerHTML=`${n}x`,this.setAttribute("aria-label",E("Playback rate {playbackRate}",{playbackRate:n}))}}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:Z(this).querySelector("media-playback-rate-menu")}get mediaPlaybackRate(){return H(this,s.MEDIA_PLAYBACK_RATE,al)}set mediaPlaybackRate(e){B(this,s.MEDIA_PLAYBACK_RATE,e)}};ro.getSlotTemplateHTML=mE;ro.getTooltipContentHTML=vE;d.customElements.get("media-playback-rate-menu-button")||d.customElements.define("media-playback-rate-menu-button",ro);var wc=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Qn=(i,e,t)=>(wc(i,e,"read from private field"),t?t.call(i):e.get(i)),sl=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Xp=(i,e,t,r)=>(wc(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),oo=(i,e,t)=>(wc(i,e,"access private method"),t),Zn,ao,no,Xn,ll,Lc,dl=class extends se{constructor(){super(...arguments),sl(this,no),sl(this,ll),sl(this,Zn,[]),sl(this,ao,{})}static get observedAttributes(){return[...super.observedAttributes,s.MEDIA_RENDITION_LIST,s.MEDIA_RENDITION_SELECTED,s.MEDIA_RENDITION_UNAVAILABLE,s.MEDIA_HEIGHT]}static formatMenuItemText(e,t){return super.formatMenuItemText(e,t)}static formatRendition(e,{showBitrate:t=!1}={}){let r=`${Math.min(e.width,e.height)}p`;if(t&&e.bitrate){let o=e.bitrate/1e6,n=`${o.toFixed(o<1?1:0)} Mbps`;return`${r} (${n})`}return this.formatMenuItemText(r,e)}static compareRendition(e,t){var r,o;return t.height===e.height?((r=t.bitrate)!=null?r:0)-((o=e.bitrate)!=null?o:0):t.height-e.height}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),e===s.MEDIA_RENDITION_SELECTED&&t!==r?(this.value=r??"auto",oo(this,no,Xn).call(this)):e===s.MEDIA_RENDITION_LIST&&t!==r?(Xp(this,Zn,Fu(r)),oo(this,no,Xn).call(this)):e===s.MEDIA_HEIGHT&&t!==r&&oo(this,no,Xn).call(this)}connectedCallback(){super.connectedCallback(),this.addEventListener("change",oo(this,ll,Lc))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",oo(this,ll,Lc))}get anchorElement(){return this.anchor!=="auto"?super.anchorElement:Z(this).querySelector("media-rendition-menu-button")}get mediaRenditionList(){return Qn(this,Zn)}set mediaRenditionList(e){Xp(this,Zn,e),oo(this,no,Xn).call(this)}get mediaRenditionSelected(){return x(this,s.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){P(this,s.MEDIA_RENDITION_SELECTED,e)}get mediaHeight(){return H(this,s.MEDIA_HEIGHT)}set mediaHeight(e){B(this,s.MEDIA_HEIGHT,e)}compareRendition(e,t){return this.constructor.compareRendition(e,t)}formatMenuItemText(e,t){return this.constructor.formatMenuItemText(e,t)}formatRendition(e,t){return this.constructor.formatRendition(e,t)}showRenditionBitrate(e){return this.mediaRenditionList.some(t=>t!==e&&t.height===e.height&&t.bitrate!==e.bitrate)}};Zn=new WeakMap;ao=new WeakMap;no=new WeakSet;Xn=function(){if(Qn(this,ao).mediaRenditionList===JSON.stringify(this.mediaRenditionList)&&Qn(this,ao).mediaHeight===this.mediaHeight)return;Qn(this,ao).mediaRenditionList=JSON.stringify(this.mediaRenditionList),Qn(this,ao).mediaHeight=this.mediaHeight;let i=this.mediaRenditionList.sort(this.compareRendition.bind(this)),e=i.find(a=>a.id===this.mediaRenditionSelected);for(let a of i)a.selected=a===e;this.defaultSlot.textContent="";let t=!this.mediaRenditionSelected;for(let a of i){let l=this.formatRendition(a,{showBitrate:this.showRenditionBitrate(a)}),c=Tt({type:"radio",text:l,value:`${a.id}`,checked:a.selected&&!t});c.prepend(et(this,"checked-indicator")),this.defaultSlot.append(c)}let r=e&&this.showRenditionBitrate(e),o=t?e?this.formatMenuItemText(`${E("Auto")} \u2022 ${this.formatRendition(e,{showBitrate:r})}`,e):this.formatMenuItemText(`${E("Auto")} (${this.mediaHeight}p)`):this.formatMenuItemText(E("Auto")),n=Tt({type:"radio",text:o,value:"auto",checked:t});n.dataset.description=o,n.prepend(et(this,"checked-indicator")),this.defaultSlot.append(n)};ll=new WeakSet;Lc=function(){if(this.value==null)return;let i=new d.CustomEvent(b.MEDIA_RENDITION_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(i)};d.customElements.get("media-rendition-menu")||d.customElements.define("media-rendition-menu",dl);var fE=`<svg aria-hidden="true" viewBox="0 0 24 24">
2048
+ <path d="M13.5 2.5h2v6h-2v-2h-11v-2h11v-2Zm4 2h4v2h-4v-2Zm-12 4h2v6h-2v-2h-3v-2h3v-2Zm4 2h12v2h-12v-2Zm1 4h2v6h-2v-2h-8v-2h8v-2Zm4 2h7v2h-7v-2Z" />
2049
+ </svg>`;function gE(){return`
2050
+ <style>
2051
+ :host([aria-expanded="true"]) slot[name=tooltip] {
2052
+ display: none;
2053
+ }
2054
+ </style>
2055
+ <slot name="icon">${fE}</slot>
2056
+ `}function EE(){return E("Quality")}var so=class extends Pe{static get observedAttributes(){return[...super.observedAttributes,s.MEDIA_RENDITION_SELECTED,s.MEDIA_RENDITION_UNAVAILABLE,s.MEDIA_HEIGHT]}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",E("quality"))}get invokeTargetElement(){return this.invokeTarget!=null?super.invokeTargetElement:Z(this).querySelector("media-rendition-menu")}get mediaRenditionSelected(){return x(this,s.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){P(this,s.MEDIA_RENDITION_SELECTED,e)}get mediaHeight(){return H(this,s.MEDIA_HEIGHT)}set mediaHeight(e){B(this,s.MEDIA_HEIGHT,e)}};so.getSlotTemplateHTML=gE;so.getTooltipContentHTML=EE;d.customElements.get("media-rendition-menu-button")||d.customElements.define("media-rendition-menu-button",so);var Mc=(i,e,t)=>{if(!e.has(i))throw TypeError("Cannot "+t)},Lt=(i,e,t)=>(Mc(i,e,"read from private field"),t?t.call(i):e.get(i)),kt=(i,e,t)=>{if(e.has(i))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(i):e.set(i,t)},Jp=(i,e,t,r)=>(Mc(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t),ze=(i,e,t)=>(Mc(i,e,"access private method"),t),co,Jn,vl,ir,lo,Rc,jp,cl,Cc,ul,Ic,em,pl,ml,hl;function bE(i){return`
2057
+ ${se.getTemplateHTML(i)}
2058
+ <style>
2059
+ :host {
2060
+ --_menu-bg: rgb(20 20 30 / .8);
2061
+ background: var(--media-settings-menu-background,
2062
+ var(--media-menu-background,
2063
+ var(--media-control-background,
2064
+ var(--media-secondary-color, var(--_menu-bg)))));
2065
+ min-width: var(--media-settings-menu-min-width, 170px);
2066
+ border-radius: 2px;
2067
+ overflow: hidden;
2068
+ }
2069
+ </style>
2070
+ `}var jn=class extends se{constructor(){super(),kt(this,Jn),kt(this,ir),kt(this,Rc),kt(this,cl),kt(this,Ic),kt(this,co,!1),kt(this,ul,e=>{let t=e.target,r=(t==null?void 0:t.nodeName)==="VIDEO",o=ze(this,cl,Cc).call(this,t);(r||o)&&(Lt(this,co)?ze(this,ir,lo).call(this):ze(this,Ic,em).call(this,e))}),kt(this,pl,e=>{let t=e.target,r=this.contains(t),o=e.button===2,n=(t==null?void 0:t.nodeName)==="VIDEO",a=ze(this,cl,Cc).call(this,t);r||o&&(n||a)||ze(this,ir,lo).call(this)}),kt(this,ml,e=>{e.key==="Escape"&&ze(this,ir,lo).call(this)}),kt(this,hl,e=>{var t,r;let o=e.target;if((t=o.matches)!=null&&t.call(o,'button[invoke="copy"]')){let n=(r=o.closest("media-context-menu-item"))==null?void 0:r.querySelector('input[slot="copy"]');n&&navigator.clipboard.writeText(n.value)}ze(this,ir,lo).call(this)}),this.setAttribute("noautohide",""),ze(this,Jn,vl).call(this)}connectedCallback(){super.connectedCallback(),Z(this).addEventListener("contextmenu",Lt(this,ul)),this.addEventListener("click",Lt(this,hl))}disconnectedCallback(){super.disconnectedCallback(),Z(this).removeEventListener("contextmenu",Lt(this,ul)),this.removeEventListener("click",Lt(this,hl)),document.removeEventListener("mousedown",Lt(this,pl)),document.removeEventListener("keydown",Lt(this,ml))}};co=new WeakMap;Jn=new WeakSet;vl=function(){this.hidden=!Lt(this,co)};ir=new WeakSet;lo=function(){Jp(this,co,!1),ze(this,Jn,vl).call(this)};Rc=new WeakSet;jp=function(){document.querySelectorAll("media-context-menu").forEach(e=>{var t;e!==this&&ze(t=e,ir,lo).call(t)})};cl=new WeakSet;Cc=function(i){return i?i.hasAttribute("slot")&&i.getAttribute("slot")==="media"?!0:i.nodeName.includes("-")&&i.tagName.includes("-")?i.hasAttribute("src")||i.hasAttribute("poster")||i.hasAttribute("preload")||i.hasAttribute("playsinline"):!1:!1};ul=new WeakMap;Ic=new WeakSet;em=function(i){i.preventDefault(),ze(this,Rc,jp).call(this),Jp(this,co,!0),this.style.position="fixed",this.style.left=`${i.clientX}px`,this.style.top=`${i.clientY}px`,ze(this,Jn,vl).call(this),document.addEventListener("mousedown",Lt(this,pl),{once:!0}),document.addEventListener("keydown",Lt(this,ml),{once:!0})};pl=new WeakMap;ml=new WeakMap;hl=new WeakMap;jn.getTemplateHTML=bE;d.customElements.get("media-context-menu")||d.customElements.define("media-context-menu",jn);function _E(i){return`
2071
+ ${Ve.getTemplateHTML.call(this,i)}
2072
+ <style>
2073
+ ::slotted(*) {
2074
+ color: var(--media-text-color, white);
2075
+ text-decoration: none;
2076
+ border: none;
2077
+ background: none;
2078
+ cursor: pointer;
2079
+ padding: 0;
2080
+ min-height: var(--media-control-height, 24px);
2081
+ }
2082
+ </style>
2083
+ `}var uo=class extends Ve{};uo.shadowRootOptions={mode:"open"};uo.getTemplateHTML=_E;d.customElements.get("media-context-menu-item")||d.customElements.define("media-context-menu-item",uo);var yE=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
2084
+ <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"/>
2085
+ </svg>`,TE=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
2086
+ <path d="M21 6H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 10H3V8h18v8zM9 10v4c0 .55-.45 1-1 1H5v-2h2v-2H5v-2h3c.55 0 1 .45 1 1zm4 4h2v1h-4v-6h2v2h2v1h-2v2zm6-3v1h-2v3h-2v-6h4v2h-2z"/>
2087
+ </svg>`,AE=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
2088
+ <path d="M24 8.98C20.93 5.9 16.69 4 12 4S3.07 5.9 0 8.98L12 21 24 8.98zM2.92 9.07C5.51 7.08 8.67 6 12 6s6.49 1.08 9.08 3.07l-1.43 1.43C17.5 8.94 14.86 8 12 8s-5.5.94-7.65 2.51L2.92 9.07zM12 18l-6.36-6.36C7.34 10.27 9.58 9.5 12 9.5s4.66.77 6.36 2.14L12 18z"/>
2089
+ <line x1="2" y1="2" x2="22" y2="22" stroke="currentColor" stroke-width="2"/>
2090
+ </svg>`,SE=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
2091
+ <path d="M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z"/>
2092
+ </svg>`;function kE(i){switch(i){case"offline":return TE;case"network":return AE;case"security":return SE;default:return yE}}function LE(i){switch(i){case"offline":return"Stream Unavailable";case"network":return"Connection Error";case"security":return"Access Denied";case"autoplay":return"Playback Blocked";case"media":return"Playback Error";case"setup":return"Configuration Error";default:return"An error occurred"}}var Ht=class extends Ce{constructor(){super(...arguments);this.error=null;this.showCode=!1}render(){if(!this.error)return null;let t=this.error.category,r=kE(t),o=LE(t);return We`
2093
+ <div part="icon">
2094
+ <slot name="icon">${this.renderIcon(r)}</slot>
2095
+ </div>
2096
+ <h2 part="heading">
2097
+ <slot name="heading">${o}</slot>
2098
+ </h2>
2099
+ <p part="message">
2100
+ <slot name="message">${this.error.message}</slot>
2101
+ </p>
2102
+ ${this.showCode?We`
2103
+ <span part="code">
2104
+ <slot name="code">Error ${this.error.code}</slot>
2105
+ </span>
2106
+ `:null}
2107
+ <div part="actions">
2108
+ <slot name="actions"></slot>
2109
+ </div>
2110
+ `}renderIcon(t){let r=document.createElement("template");return r.innerHTML=t.trim(),r.content.cloneNode(!0)}};Ht.styles=Do`
2111
+ :host {
2112
+ display: flex;
2113
+ flex-direction: column;
2114
+ align-items: center;
2115
+ justify-content: center;
2116
+ text-align: center;
2117
+ gap: var(--bp-error-gap, 12px);
2118
+ max-width: var(--bp-error-max-width, 80%);
2119
+ color: inherit;
2120
+ }
2121
+
2122
+ :host([hidden]) {
2123
+ display: none !important;
2124
+ }
2125
+
2126
+ [part="icon"] {
2127
+ width: var(--bp-error-icon-size, 48px);
2128
+ height: var(--bp-error-icon-size, 48px);
2129
+ opacity: var(--bp-error-icon-opacity, 0.9);
2130
+ }
2131
+
2132
+ [part="icon"] svg,
2133
+ ::slotted(svg) {
2134
+ width: 100%;
2135
+ height: 100%;
2136
+ fill: currentColor;
2137
+ }
2138
+
2139
+ [part="heading"] {
2140
+ margin: 0;
2141
+ padding: 0;
2142
+ font-size: var(--bp-error-heading-font-size, 1.25rem);
2143
+ font-weight: var(--bp-error-heading-font-weight, 600);
2144
+ line-height: 1.3;
2145
+ }
2146
+
2147
+ [part="message"] {
2148
+ margin: 0;
2149
+ padding: 0;
2150
+ font-size: var(--bp-error-message-font-size, 0.875rem);
2151
+ opacity: var(--bp-error-message-opacity, 0.8);
2152
+ line-height: 1.4;
2153
+ }
2154
+
2155
+ [part="code"] {
2156
+ font-size: var(--bp-error-code-font-size, 0.75rem);
2157
+ opacity: var(--bp-error-code-opacity, 0.5);
2158
+ font-family: var(--bp-error-code-font-family, monospace);
2159
+ }
2160
+
2161
+ [part="actions"] {
2162
+ display: flex;
2163
+ gap: var(--bp-error-actions-gap, 8px);
2164
+ margin-top: var(--bp-error-actions-margin-top, 8px);
2165
+ }
2166
+
2167
+ [part="actions"]::slotted(button),
2168
+ [part="actions"] button {
2169
+ cursor: pointer;
2170
+ }
2171
+ `,N([W({type:Object})],Ht.prototype,"error",2),N([W({type:Boolean})],Ht.prototype,"showCode",2),Ht=N([Gt("bp-error-display")],Ht);var tm=`/**
2172
+ * BP Default UI Styles
2173
+ *
2174
+ * Layer-based architecture.
2175
+ * Uses CSS-driven visibility based on [has-error] attribute.
2176
+ *
2177
+ * Override --bp-* variables to customize appearance.
2178
+ */
2179
+
2180
+ /* ============================================
2181
+ Container
2182
+ ============================================ */
2183
+
2184
+ bp-default-ui {
2185
+ display: block;
2186
+ position: relative;
2187
+ width: 100%;
2188
+ height: 100%;
2189
+ background: var(--bp-background, #000);
2190
+ color: var(--bp-text-color, #fff);
2191
+ overflow: hidden;
2192
+
2193
+ container-name: bp-default-ui-container;
2194
+ container-type: size;
2195
+ }
2196
+
2197
+ /* ============================================
2198
+ Layer System
2199
+ ============================================ */
2200
+
2201
+ bp-default-ui .bp-layer {
2202
+ position: absolute;
2203
+ inset: 0;
2204
+ z-index: 0;
2205
+ }
2206
+
2207
+ bp-default-ui .bp-chrome-layer {
2208
+ z-index: 1;
2209
+ }
2210
+
2211
+ bp-default-ui .bp-error-layer {
2212
+ z-index: 100;
2213
+ display: flex;
2214
+ align-items: center;
2215
+ justify-content: center;
2216
+ background: var(--bp-error-background, rgba(0, 0, 0, 0.8));
2217
+ pointer-events: auto;
2218
+ }
2219
+
2220
+ /* THE KEY RULE: Error layer visibility logic
2221
+ - When NO error \u2192 hide error layer
2222
+ - When HAS error \u2192 show error layer, hide chrome layer (media keeps playing underneath) */
2223
+ bp-default-ui:not([has-error]) .bp-error-layer {
2224
+ display: none !important;
2225
+ }
2226
+
2227
+ bp-default-ui[has-error] .bp-chrome-layer,
2228
+ bp-default-ui[has-error] .bp-status-layer {
2229
+ pointer-events: none;
2230
+ opacity: 0;
2231
+ }
2232
+
2233
+ /* When status layer is visible, fade chrome controls */
2234
+ bp-default-ui .bp-status-layer:not([hidden]) ~ .bp-error-layer:not([has-error]) + .bp-chrome-layer {
2235
+ /* This selector doesn't work well - handle via :has() instead */
2236
+ }
2237
+
2238
+ bp-default-ui:has(.bp-status-layer:not([hidden])) .bp-chrome-layer {
2239
+ pointer-events: none;
2240
+ opacity: 0.3;
2241
+ }
2242
+
2243
+ /* Fluid mode: adapts to video content aspect ratio.
2244
+ Container should set fixed height; width auto-calculates from aspect-ratio. */
2245
+ bp-default-ui[fluid] {
2246
+ width: auto;
2247
+ height: 100%;
2248
+ max-width: 100%;
2249
+ aspect-ratio: var(--bp-video-width, 16) / var(--bp-video-height, 9);
2250
+ }
2251
+
2252
+ bp-default-ui[hidden] {
2253
+ display: none !important;
2254
+ }
2255
+
2256
+ /* ============================================
2257
+ Chrome Layer
2258
+ ============================================ */
2259
+
2260
+ bp-default-ui .bp-chrome-layer {
2261
+ display: flex;
2262
+ flex-direction: column;
2263
+ }
2264
+
2265
+ /* ============================================
2266
+ Media Controller
2267
+ ============================================ */
2268
+
2269
+ bp-default-ui .bp-chrome-layer media-controller {
2270
+ width: 100%;
2271
+ height: 100%;
2272
+ display: block;
2273
+ position: relative;
2274
+
2275
+ /* Media Chrome CSS Custom Properties */
2276
+ --media-background-color: transparent;
2277
+ --media-control-background: var(--bp-control-background, transparent);
2278
+ --media-control-hover-background: var(--bp-control-hover-background, transparent);
2279
+ --media-primary-color: var(--bp-text-color, #fff);
2280
+ --media-secondary-color: rgba(255, 255, 255, 0.7);
2281
+ --media-range-track-background: var(--bp-range-track-background, rgba(255, 255, 255, 0.3));
2282
+ --media-range-track-progress-background: var(--bp-range-progress-background, rgba(255, 255, 255, 0.5));
2283
+ --media-time-range-buffered-color: var(--bp-range-buffered-background, rgba(255, 255, 255, 0.4));
2284
+ --media-control-height: var(--bp-control-height, 24px);
2285
+ --media-button-icon-height: var(--bp-button-icon-height, 24px);
2286
+ --media-button-icon-width: var(--bp-button-icon-width, 24px);
2287
+ --media-button-padding: var(--bp-control-padding, 8px);
2288
+ --media-control-padding: var(--bp-control-padding, 8px);
2289
+ }
2290
+
2291
+ /* ============================================
2292
+ Player
2293
+ ============================================ */
2294
+
2295
+ bp-default-ui bp-player {
2296
+ width: 100%;
2297
+ height: 100%;
2298
+ }
2299
+
2300
+ /* Disable pointer events on all media slot descendants to prevent
2301
+ blocking media-chrome's autohide hover detection.
2302
+ pointer-events does NOT inherit, so we must target all descendants. */
2303
+ bp-default-ui bp-player,
2304
+ bp-default-ui bp-player *,
2305
+ bp-default-ui bp-player *::before,
2306
+ bp-default-ui bp-player *::after {
2307
+ pointer-events: none;
2308
+ }
2309
+
2310
+ /* ============================================
2311
+ Control Bar
2312
+ ============================================ */
2313
+
2314
+ bp-default-ui media-control-bar {
2315
+ background: var(--bp-control-bar-background, linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.3) 60%, transparent 100%));
2316
+ padding: var(--bp-control-bar-padding, 32px 0 0 0);
2317
+ align-items: center;
2318
+ }
2319
+
2320
+ bp-default-ui media-control-bar > *:hover {
2321
+ --media-icon-color: var(--bp-icon-color, #fff);
2322
+ filter: drop-shadow(var(--bp-button-hover-icon-shadow, 0 0 6px rgba(255, 255, 255, 0.8)));
2323
+ }
2324
+
2325
+ /* Ensure slotted content takes full width (exclude menus) */
2326
+ bp-default-ui .bp-chrome-layer media-controller > [slot="top-chrome"],
2327
+ bp-default-ui .bp-chrome-layer media-controller > [slot="bottom-chrome"],
2328
+ bp-default-ui .bp-chrome-layer media-controller > :not([slot]):not(media-rendition-menu):not(media-audio-track-menu):not(media-captions-menu):not(media-settings-menu) {
2329
+ width: 100%;
2330
+ }
2331
+
2332
+ /* ============================================
2333
+ Volume Range
2334
+ ============================================ */
2335
+
2336
+ bp-default-ui media-volume-range {
2337
+ width: var(--bp-volume-range-width, 70px);
2338
+ height: var(--bp-control-height, 24px);
2339
+ }
2340
+
2341
+ /* ============================================
2342
+ Rendition Menu
2343
+ ============================================ */
2344
+
2345
+ bp-default-ui media-rendition-menu[mediarenditionunavailable],
2346
+ bp-default-ui media-rendition-menu-button[mediarenditionunavailable] {
2347
+ display: none;
2348
+ }
2349
+
2350
+ bp-default-ui media-rendition-menu {
2351
+ --media-menu-background: var(--bp-menu-background, rgba(0, 0, 0, 0.85));
2352
+ --media-menu-border-radius: var(--bp-menu-border-radius, 6px);
2353
+ --media-menu-item-checked-background: var(--bp-menu-item-checked-background, rgba(255, 255, 255, 0.2));
2354
+ }
2355
+
2356
+ /* ============================================
2357
+ Loading Indicator
2358
+ ============================================ */
2359
+
2360
+ bp-default-ui media-loading-indicator {
2361
+ position: absolute;
2362
+ inset: 0;
2363
+ display: flex;
2364
+ align-items: center;
2365
+ justify-content: center;
2366
+ pointer-events: none;
2367
+ }
2368
+
2369
+ /* ============================================
2370
+ Status Layer (stream ended, etc.)
2371
+ ============================================ */
2372
+
2373
+ bp-default-ui .bp-status-layer {
2374
+ z-index: 50;
2375
+ display: flex;
2376
+ align-items: center;
2377
+ justify-content: center;
2378
+ background: var(--bp-status-background, rgba(0, 0, 0, 0.7));
2379
+ pointer-events: auto;
2380
+ }
2381
+
2382
+ bp-default-ui .bp-status-layer[hidden] {
2383
+ display: none !important;
2384
+ }
2385
+
2386
+ bp-default-ui .bp-status-content {
2387
+ display: flex;
2388
+ flex-direction: column;
2389
+ align-items: center;
2390
+ text-align: center;
2391
+ gap: var(--bp-status-gap, 12px);
2392
+ max-width: 80%;
2393
+ }
2394
+
2395
+ bp-default-ui .bp-status-icon {
2396
+ width: var(--bp-status-icon-size, 48px);
2397
+ height: var(--bp-status-icon-size, 48px);
2398
+ opacity: var(--bp-status-icon-opacity, 0.9);
2399
+ }
2400
+
2401
+ bp-default-ui .bp-status-heading {
2402
+ margin: 0;
2403
+ font-size: var(--bp-status-heading-font-size, 1.25rem);
2404
+ font-weight: var(--bp-status-heading-font-weight, 600);
2405
+ line-height: 1.3;
2406
+ }
2407
+
2408
+ bp-default-ui .bp-status-message {
2409
+ margin: 0;
2410
+ font-size: var(--bp-status-message-font-size, 0.875rem);
2411
+ opacity: var(--bp-status-message-opacity, 0.8);
2412
+ line-height: 1.4;
2413
+ }
2414
+
2415
+ /* ============================================
2416
+ Error Display (inside error layer)
2417
+ ============================================ */
2418
+
2419
+ bp-default-ui .bp-error-layer bp-error-display {
2420
+ max-width: 80%;
2421
+ text-align: center;
2422
+ }
2423
+
2424
+ /* ============================================
2425
+ Center Play Button
2426
+ ============================================ */
2427
+
2428
+ bp-default-ui media-play-button.bp-center-play {
2429
+ --media-button-icon-width: var(--bp-center-play-icon-width, 72px);
2430
+ --media-button-icon-height: var(--bp-center-play-icon-height, 72px);
2431
+ --media-control-background: transparent;
2432
+ --media-control-hover-background: transparent;
2433
+ transition: transform var(--bp-transition-duration, 0.15s) var(--bp-transition-timing, ease),
2434
+ filter var(--bp-transition-duration, 0.15s) var(--bp-transition-timing, ease);
2435
+ pointer-events: auto;
2436
+ }
2437
+
2438
+ bp-default-ui media-play-button.bp-center-play:hover {
2439
+ transform: scale(var(--bp-center-play-hover-scale, 1.1));
2440
+ filter: drop-shadow(var(--bp-center-play-hover-shadow, 0 0 12px rgba(255, 255, 255, 0.6)));
2441
+ }
2442
+
2443
+ bp-default-ui media-play-button.bp-center-play:active {
2444
+ transform: scale(0.95);
2445
+ }
2446
+
2447
+ /* ============================================
2448
+ Custom Chrome Detection
2449
+ ============================================
2450
+
2451
+ Hide default controls when user provides custom chrome.
2452
+ Uses CSS :has() to detect slotted content presence.
2453
+ ============================================ */
2454
+
2455
+ /* Hide default center play button when custom centered-chrome is provided */
2456
+ bp-default-ui:has(> [slot="centered-chrome"]) .bp-center-play {
2457
+ display: none !important;
2458
+ }
2459
+
2460
+ /* Hide default control bar when custom bottom-chrome is provided */
2461
+ bp-default-ui:has(> [slot="bottom-chrome"]) media-control-bar {
2462
+ display: none !important;
2463
+ }
2464
+
2465
+ /* ============================================
2466
+ Visibility Modifiers
2467
+ ============================================
2468
+
2469
+ These CSS rules enable attribute-based visibility control.
2470
+ Add these attributes to any element to control when it's shown:
2471
+
2472
+ - [clip-hidden] : Hidden when content-type="clip"
2473
+ - [live-hidden] : Hidden when stream is live
2474
+ - [vod-hidden] : Hidden when stream is VOD
2475
+ - [live-only] : Only shown when stream is live
2476
+ - [mobile-hidden] : Hidden on mobile devices
2477
+ - [mobile-only] : Only shown on mobile devices
2478
+ - [tv-hidden] : Hidden on TV devices
2479
+ - [tv-only] : Only shown on TV devices
2480
+ - [no-auto-hide] : Prevents auto-hiding when user is idle
2481
+ - [paused-only] : Only shown when paused
2482
+ - [playing-only] : Only shown when playing
2483
+ ============================================ */
2484
+
2485
+ /* Content Type: Clip */
2486
+ bp-default-ui[content-type='clip'] [clip-hidden] {
2487
+ display: none !important;
2488
+ }
2489
+
2490
+ /* Stream Type: Live/VOD (using media-chrome's attributes) */
2491
+ bp-default-ui media-controller[mediastreamtype='live'] [live-hidden] {
2492
+ display: none !important;
2493
+ }
2494
+
2495
+ bp-default-ui media-controller:not([mediastreamtype='live']) [vod-hidden] {
2496
+ display: none !important;
2497
+ }
2498
+
2499
+ bp-default-ui media-controller:not([mediastreamtype='live']) [live-only] {
2500
+ display: none !important;
2501
+ }
2502
+
2503
+ bp-default-ui media-controller[mediastreamtype='live'] [vod-only] {
2504
+ display: none !important;
2505
+ }
2506
+
2507
+ /* Stream Type: Using our own attributes */
2508
+ bp-default-ui[stream-type='live'] [live-hidden] {
2509
+ display: none !important;
2510
+ }
2511
+
2512
+ bp-default-ui:not([stream-type='live']) [live-only] {
2513
+ display: none !important;
2514
+ }
2515
+
2516
+ bp-default-ui[stream-type='live'] [vod-only] {
2517
+ display: none !important;
2518
+ }
2519
+
2520
+ bp-default-ui:not([stream-type='live']) [vod-hidden] {
2521
+ display: none !important;
2522
+ }
2523
+
2524
+ /* Playback State */
2525
+ bp-default-ui[paused] [paused-hidden] {
2526
+ display: none !important;
2527
+ }
2528
+
2529
+ bp-default-ui:not([paused]) [paused-only] {
2530
+ display: none !important;
2531
+ }
2532
+
2533
+ bp-default-ui:not([paused]) [playing-hidden] {
2534
+ display: none !important;
2535
+ }
2536
+
2537
+ bp-default-ui[paused] [playing-only] {
2538
+ display: none !important;
2539
+ }
2540
+
2541
+ bp-default-ui[ended] [ended-hidden] {
2542
+ display: none !important;
2543
+ }
2544
+
2545
+ bp-default-ui:not([ended]) [ended-only] {
2546
+ display: none !important;
2547
+ }
2548
+
2549
+ /* ============================================
2550
+ Clip Mode - YouTube Shorts Style
2551
+ ============================================ */
2552
+
2553
+ bp-default-ui[content-type='clip'] media-control-bar {
2554
+ background: transparent;
2555
+ padding: 0;
2556
+ position: absolute;
2557
+ bottom: 0;
2558
+ left: 0;
2559
+ right: 0;
2560
+ height: auto;
2561
+ }
2562
+
2563
+ bp-default-ui[content-type='clip'] media-time-range {
2564
+ width: 100%;
2565
+ height: var(--bp-clip-seekbar-height, 3px);
2566
+ --media-range-track-height: var(--bp-clip-seekbar-height, 3px);
2567
+ --media-range-thumb-height: 0;
2568
+ --media-range-thumb-width: 0;
2569
+ --media-control-background: transparent;
2570
+ --media-control-hover-background: transparent;
2571
+ --media-control-padding: 0;
2572
+ --media-range-padding: 0;
2573
+ --media-range-track-background: var(--bp-range-track-background, rgba(255, 255, 255, 0.3));
2574
+ --media-range-bar-color: var(--bp-range-bar-color, rgba(255, 255, 255, 0.9));
2575
+ --media-range-track-border-radius: 0;
2576
+ opacity: var(--bp-clip-seekbar-opacity, 0.5);
2577
+ transition: opacity var(--bp-transition-duration, 0.2s) var(--bp-transition-timing, ease),
2578
+ height var(--bp-transition-duration, 0.15s) var(--bp-transition-timing, ease);
2579
+ }
2580
+
2581
+ bp-default-ui[content-type='clip'] media-time-range:hover {
2582
+ opacity: 1;
2583
+ height: var(--bp-clip-seekbar-hover-height, 5px);
2584
+ --media-range-track-height: var(--bp-clip-seekbar-hover-height, 5px);
2585
+ }
2586
+
2587
+ bp-default-ui[content-type='clip'] media-controller[mediapaused] media-time-range {
2588
+ opacity: 1;
2589
+ }
2590
+
2591
+ /* ============================================
2592
+ Device-Specific Visibility
2593
+ ============================================ */
2594
+
2595
+ bp-default-ui[mobile] [mobile-hidden] {
2596
+ display: none !important;
2597
+ }
2598
+
2599
+ bp-default-ui:not([mobile]) [mobile-only] {
2600
+ display: none !important;
2601
+ }
2602
+
2603
+ bp-default-ui[tv] [tv-hidden] {
2604
+ display: none !important;
2605
+ }
2606
+
2607
+ bp-default-ui:not([tv]) [tv-only] {
2608
+ display: none !important;
2609
+ }
2610
+
2611
+ /* ============================================
2612
+ Auto-hide Controls
2613
+ ============================================ */
2614
+
2615
+ bp-default-ui media-controller:not([mediapaused])[userinactive] media-control-bar:not([no-auto-hide]),
2616
+ bp-default-ui media-controller:not([mediapaused])[userinactive] .bp-center-play {
2617
+ opacity: 0;
2618
+ pointer-events: none;
2619
+ transition: opacity var(--bp-autohide-transition-duration, 1s);
2620
+ }
2621
+
2622
+ /* ============================================
2623
+ Container Queries - Small Player
2624
+ ============================================ */
2625
+
2626
+ @container bp-default-ui-container (max-width: 300px) {
2627
+ bp-default-ui media-control-bar {
2628
+ --media-control-padding: 4px;
2629
+ --media-button-padding: 4px;
2630
+ }
2631
+
2632
+ bp-default-ui media-play-button.bp-center-play {
2633
+ --media-button-icon-width: 48px;
2634
+ --media-button-icon-height: 48px;
2635
+ }
2636
+ }
2637
+
2638
+ /* ============================================
2639
+ DEBUG: Element Boundaries
2640
+ Add [debug-hitboxes] attribute to bp-default-ui to visualize
2641
+ ============================================ */
2642
+
2643
+ bp-default-ui[debug-hitboxes] media-controller * {
2644
+ outline: 2px solid rgba(255, 0, 0, 0.5) !important;
2645
+ background: rgba(255, 0, 0, 0.1) !important;
2646
+ }
2647
+
2648
+ bp-default-ui[debug-hitboxes] media-controller *:hover {
2649
+ outline: 2px solid rgba(0, 255, 0, 1) !important;
2650
+ background: rgba(0, 255, 0, 0.3) !important;
2651
+ }
2652
+ `;var im={fromAttribute:i=>{if(i)try{return JSON.parse(i)}catch{console.warn("[bp-default-ui] Failed to parse JSON attribute:",i);return}},toAttribute:i=>i==null?null:JSON.stringify(i)},rm=!1;function CE(){if(rm)return;gr();let i=document.createElement("style");i.id="bp-default-ui-styles",i.textContent=tm,document.head.appendChild(i),rm=!0}var ee=class extends Ce{constructor(){super(...arguments);this.autoplay=!1;this.muted=!1;this.loop=!1;this.scaling="letterbox";this.debug=!1;this.autohide=2;this.hotkeys=!0;this.mobile=!1;this.live=!1;this.fluid=!1;this._player=null;this._providerType=null;this._error=null;this._connectionState="idle";this._showEndedOverlay=!1;this._cleanupListeners=[]}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),CE(),this.detectMobile()}disconnectedCallback(){super.disconnectedCallback(),this._cleanupListeners.forEach(t=>t()),this._cleanupListeners=[]}get player(){return this._player}get mediaController(){return this.querySelector("media-controller")}get bpLive(){var t;return((t=this._player)==null?void 0:t.bpLive)??null}detectMobile(){let t=/Android|iPhone|iPad|iPod|webOS|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);this.mobile=t}_getPoster(){var t;return((t=this.source)==null?void 0:t.poster)??this.poster??null}firstUpdated(t){super.firstUpdated(t),this.setupPlayer(),this._moveSlottedContent(),this.fluid&&this._setInitialVideoDimensionsFromSources()}updated(t){super.updated(t),this._moveSlottedContent(),t.has("debug")&&this.toggleAttribute("debug-hitboxes",this.debug),t.has("source")&&(this._error=null,this._showEndedOverlay=!1,pe(this,"has-error",!1),this.fluid&&this._setInitialVideoDimensionsFromSources())}_setInitialVideoDimensionsFromSources(){var r;let t=(r=this.source)==null?void 0:r.sources;if(t){for(let o of t)if(Mi(o)&&o.preferredOrientation){o.preferredOrientation==="portrait"?(this.style.setProperty("--bp-video-width","9"),this.style.setProperty("--bp-video-height","16")):(this.style.setProperty("--bp-video-width","16"),this.style.setProperty("--bp-video-height","9")),this.debug&&console.log("[BPDefaultUI] Set initial video dimensions from preferredOrientation:",o.preferredOrientation);break}}}_updateVideoDimensions(t,r){t>0&&r>0?(this.style.setProperty("--bp-video-width",String(t)),this.style.setProperty("--bp-video-height",String(r))):(this.style.removeProperty("--bp-video-width"),this.style.removeProperty("--bp-video-height"))}_clearVideoDimensions(){this.style.removeProperty("--bp-video-width"),this.style.removeProperty("--bp-video-height")}_moveSlottedContent(){let t=this.querySelector("media-controller");if(!t)return;let r=[{from:"top-chrome",to:"top-chrome"},{from:"centered-chrome",to:"centered-chrome"},{from:"middle-chrome",to:"middle-chrome"},{from:"bottom-chrome",to:null}];for(let{from:o,to:n}of r)this.querySelectorAll(`:scope > [slot="${o}"]`).forEach(l=>{l.parentElement!==t&&(n?l.setAttribute("slot",n):l.removeAttribute("slot"),t.appendChild(l))})}setupPlayer(){let t=this.querySelector("bp-player");t&&t.addEventListener("ready",r=>{this._player=r.detail,this._providerType=t.providerType,this.live=this._player.state.streamType==="live",this.setupPlayerListeners(),this.dispatchEvent(new CustomEvent("ready",{detail:this._player,bubbles:!0,composed:!0})),this.requestUpdate()})}setupPlayerListeners(){if(!this._player)return;let t=()=>{var f;let h=((f=this._player)==null?void 0:f.state.error)??null;this._error=h;let p=h!==null&&h.fatal&&h.category!=="offline";pe(this,"has-error",p)},r=()=>{var p;let h=(p=this._player)==null?void 0:p.state;if(h&&(this._connectionState=h.connectionState,this.live=h.streamType==="live",this.setAttribute("content-type",h.contentType),this.setAttribute("stream-type",h.streamType),pe(this,"paused",h.paused),pe(this,"ended",h.ended),pe(this,"waiting",h.waiting),h.error!==this._error)){this._error=h.error;let f=h.error!==null&&h.error.fatal&&h.error.category!=="offline";pe(this,"has-error",f)}},o=()=>{this._error=null,this._showEndedOverlay=!1,pe(this,"has-error",!1)},n=()=>{this.live&&(this._showEndedOverlay=!0)},a=()=>{this._error=null,this._showEndedOverlay=!1,pe(this,"has-error",!1)},l=h=>{this.debug&&console.log("[BPDefaultUI] updateVideoDimensions called",{fluid:this.fluid,...h}),this.fluid&&(this._updateVideoDimensions(h.videoWidth,h.videoHeight),this.debug&&console.log("[BPDefaultUI] Set video dimensions:",{width:h.videoWidth,height:h.videoHeight}))};this._player.addEventListener("error",t),this._player.addEventListener("statechange",r),this._player.addEventListener("playing",o),this._player.addEventListener("ended",n),this._player.addEventListener("sourcechange",a),this._player.addEventListener("resize",l),this._player.addEventListener("loadedmetadata",l);let{videoWidth:c,videoHeight:v}=this._player.state;this.debug&&console.log("[BPDefaultUI] Initial dimensions check",{videoWidth:c,videoHeight:v,fluid:this.fluid}),c>0&&v>0&&l({videoWidth:c,videoHeight:v}),this._cleanupListeners.push(()=>{var h;return(h=this._player)==null?void 0:h.removeEventListener("error",t)},()=>{var h;return(h=this._player)==null?void 0:h.removeEventListener("statechange",r)},()=>{var h;return(h=this._player)==null?void 0:h.removeEventListener("playing",o)},()=>{var h;return(h=this._player)==null?void 0:h.removeEventListener("ended",n)},()=>{var h;return(h=this._player)==null?void 0:h.removeEventListener("sourcechange",a)},()=>{var h;return(h=this._player)==null?void 0:h.removeEventListener("resize",l)},()=>{var h;return(h=this._player)==null?void 0:h.removeEventListener("loadedmetadata",l)})}renderDefaultControls(){return this._providerType==="nano"||this._providerType==="livekit"?We`
2653
+ <media-control-bar>
2654
+ <media-play-button notooltip clip-hidden></media-play-button>
2655
+ <media-live-button notooltip vod-hidden clip-hidden></media-live-button>
2656
+ <media-mute-button notooltip clip-hidden></media-mute-button>
2657
+ <media-volume-range clip-hidden></media-volume-range>
2658
+ <span style="flex: 1;" clip-hidden></span>
2659
+ <media-rendition-menu-button notooltip clip-hidden></media-rendition-menu-button>
2660
+ <media-fullscreen-button notooltip clip-hidden></media-fullscreen-button>
2661
+ </media-control-bar>
2662
+ `:We`
2663
+ <media-control-bar>
2664
+ <media-play-button notooltip clip-hidden></media-play-button>
2665
+ <media-live-button notooltip vod-hidden clip-hidden></media-live-button>
2666
+ <media-seek-backward-button notooltip seekoffset="10" live-hidden clip-hidden></media-seek-backward-button>
2667
+ <media-seek-forward-button notooltip seekoffset="10" live-hidden clip-hidden></media-seek-forward-button>
2668
+ <media-mute-button notooltip clip-hidden></media-mute-button>
2669
+ <media-volume-range clip-hidden></media-volume-range>
2670
+ <span style="flex: 1;" vod-hidden clip-hidden></span>
2671
+ <media-time-range live-hidden></media-time-range>
2672
+ <media-time-display showduration live-hidden clip-hidden></media-time-display>
2673
+ <media-playback-rate-button notooltip live-hidden clip-hidden></media-playback-rate-button>
2674
+ <media-rendition-menu-button notooltip clip-hidden></media-rendition-menu-button>
2675
+ <media-pip-button notooltip clip-hidden></media-pip-button>
2676
+ <media-fullscreen-button notooltip clip-hidden></media-fullscreen-button>
2677
+ </media-control-bar>
2678
+ `}render(){return We`
2679
+ <!-- Chrome Layer: media-controller with all controls -->
2680
+ <div class="bp-layer bp-chrome-layer">
2681
+ <media-controller autohide="${this.autohide}" ?hotkeys="${this.hotkeys}">
2682
+ <bp-player
2683
+ slot="media"
2684
+ .source="${this.source}"
2685
+ ?autoplay="${this.autoplay}"
2686
+ ?muted="${this.muted}"
2687
+ ?loop="${this.loop}"
2688
+ .scaling="${this.scaling}"
2689
+ .aspectRatio="${this.aspectRatio}"
2690
+ .config="${this.config}"
2691
+ ?debug="${this.debug}"
2692
+ ></bp-player>
2693
+
2694
+ ${this._getPoster()?We`
2695
+ <media-poster-image slot="poster" src="${this._getPoster()}"></media-poster-image>
2696
+ `:null}
2697
+
2698
+ <!-- Menus -->
2699
+ <media-rendition-menu hidden anchor="auto"></media-rendition-menu>
2700
+
2701
+ <!-- Loading indicator -->
2702
+ <media-loading-indicator slot="centered-chrome" noautohide></media-loading-indicator>
2703
+
2704
+ <!-- Center play button (CSS hides when custom centered-chrome provided) -->
2705
+ <media-play-button class="bp-center-play" slot="centered-chrome" notooltip></media-play-button>
2706
+
2707
+ <!-- Default controls (CSS hides when custom bottom-chrome provided) -->
2708
+ ${this.renderDefaultControls()}
2709
+ </media-controller>
2710
+ </div>
2711
+
2712
+ <!-- Status Layer: shows stream ended message for live streams -->
2713
+ <div class="bp-layer bp-status-layer" ?hidden="${!this._showEndedOverlay}">
2714
+ <div class="bp-status-content">
2715
+ <svg class="bp-status-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
2716
+ <path d="M21 6H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 10H3V8h18v8zM9 10v4c0 .55-.45 1-1 1H5v-2h2v-2H5v-2h3c.55 0 1 .45 1 1zm4 4h2v1h-4v-6h2v2h2v1h-2v2zm6-3v1h-2v3h-2v-6h4v2h-2z"/>
2717
+ </svg>
2718
+ <h2 class="bp-status-heading">Stream Ended</h2>
2719
+ <p class="bp-status-message">This live stream has ended.</p>
2720
+ </div>
2721
+ </div>
2722
+
2723
+ <!-- Error Layer: topmost, hides chrome layer when active -->
2724
+ <div class="bp-layer bp-error-layer">
2725
+ <bp-error-display .error="${this._error}" ?showCode="${this.debug}"></bp-error-display>
2726
+ </div>
2727
+ `}};N([W({converter:im})],ee.prototype,"source",2),N([W({type:Boolean})],ee.prototype,"autoplay",2),N([W({type:Boolean})],ee.prototype,"muted",2),N([W({type:Boolean})],ee.prototype,"loop",2),N([W({type:String})],ee.prototype,"poster",2),N([W({type:String})],ee.prototype,"scaling",2),N([W({type:String,attribute:"aspect-ratio"})],ee.prototype,"aspectRatio",2),N([W({converter:im})],ee.prototype,"config",2),N([W({type:Boolean})],ee.prototype,"debug",2),N([W({type:Number})],ee.prototype,"autohide",2),N([W({type:Boolean})],ee.prototype,"hotkeys",2),N([W({type:Boolean,reflect:!0})],ee.prototype,"mobile",2),N([W({type:Boolean,reflect:!0})],ee.prototype,"live",2),N([W({type:Boolean,reflect:!0})],ee.prototype,"fluid",2),N([zt()],ee.prototype,"_player",2),N([zt()],ee.prototype,"_providerType",2),N([zt()],ee.prototype,"_error",2),N([zt()],ee.prototype,"_connectionState",2),N([zt()],ee.prototype,"_showEndedOverlay",2),ee=N([Gt("bp-default-ui")],ee);var IE=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
2728
+ <circle cx="12" cy="12" r="10" stroke-opacity="0.25"/>
2729
+ <path d="M12 2a10 10 0 0 1 10 10" stroke-linecap="round">
2730
+ <animateTransform attributeName="transform" type="rotate" from="0 12 12" to="360 12 12" dur="1s" repeatCount="indefinite"/>
2731
+ </path>
2732
+ </svg>`,ME=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
2733
+ <path d="M21 6H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 10H3V8h18v8z"/>
2734
+ <circle cx="12" cy="12" r="3" fill="currentColor"/>
2735
+ </svg>`,RE=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
2736
+ <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"/>
2737
+ </svg>`,xE=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
2738
+ <path d="M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8z"/>
2739
+ </svg>`,wt=class extends Ce{constructor(){super(...arguments);this.type="none";this.live=!1;this.buttonMode=!1}getIcon(){switch(this.type){case"loading":return IE;case"offline":return ME;case"ended":return this.live?RE:xE;default:return""}}getDefaultMessage(){switch(this.type){case"loading":return"Loading...";case"offline":return"The live stream hasn't started yet";case"ended":return this.live?"Stream has ended":"Replay";default:return""}}render(){if(this.type==="none")return null;let t=this.getIcon(),r=this.getDefaultMessage();return We`
2740
+ <div part="icon">
2741
+ <slot name="icon">${this.renderIcon(t)}</slot>
2742
+ </div>
2743
+ <p part="message">
2744
+ <slot name="message">${r}</slot>
2745
+ </p>
2746
+ <p part="submessage">
2747
+ <slot name="submessage"></slot>
2748
+ </p>
2749
+ `}renderIcon(t){if(!t)return null;let r=document.createElement("template");return r.innerHTML=t.trim(),r.content.cloneNode(!0)}};wt.styles=Do`
2750
+ :host {
2751
+ display: flex;
2752
+ flex-direction: column;
2753
+ align-items: center;
2754
+ justify-content: center;
2755
+ text-align: center;
2756
+ gap: var(--bp-overlay-gap, 16px);
2757
+ color: inherit;
2758
+ padding: var(--bp-overlay-padding, 24px);
2759
+ }
2760
+
2761
+ :host([hidden]),
2762
+ :host([type="none"]) {
2763
+ display: none !important;
2764
+ }
2765
+
2766
+ [part="icon"] {
2767
+ width: var(--bp-loading-icon-size, 48px);
2768
+ height: var(--bp-loading-icon-size, 48px);
2769
+ opacity: var(--bp-overlay-icon-opacity, 0.9);
2770
+ }
2771
+
2772
+ [part="icon"] svg,
2773
+ ::slotted(svg) {
2774
+ width: 100%;
2775
+ height: 100%;
2776
+ }
2777
+
2778
+ [part="message"] {
2779
+ margin: 0;
2780
+ padding: 0;
2781
+ font-size: var(--bp-overlay-message-font-size, 1rem);
2782
+ font-weight: var(--bp-overlay-message-font-weight, 500);
2783
+ line-height: 1.4;
2784
+ opacity: var(--bp-overlay-message-opacity, 0.9);
2785
+ }
2786
+
2787
+ [part="submessage"] {
2788
+ margin: 0;
2789
+ padding: 0;
2790
+ font-size: var(--bp-overlay-submessage-font-size, 0.875rem);
2791
+ opacity: var(--bp-overlay-submessage-opacity, 0.6);
2792
+ }
2793
+
2794
+ /* Button mode for VOD replay */
2795
+ :host([button-mode]) {
2796
+ cursor: pointer;
2797
+ padding: 0;
2798
+ }
2799
+
2800
+ :host([button-mode]) [part="icon"] {
2801
+ width: var(--bp-center-play-icon-width, 72px);
2802
+ height: var(--bp-center-play-icon-height, 72px);
2803
+ transition: transform var(--bp-transition-duration, 0.15s) var(--bp-transition-timing, ease),
2804
+ filter var(--bp-transition-duration, 0.15s) var(--bp-transition-timing, ease);
2805
+ }
2806
+
2807
+ :host([button-mode]:hover) [part="icon"] {
2808
+ transform: scale(var(--bp-center-play-hover-scale, 1.1));
2809
+ filter: drop-shadow(var(--bp-center-play-hover-shadow, 0 0 12px rgba(255, 255, 255, 0.6)));
2810
+ }
2811
+
2812
+ :host([button-mode]:active) [part="icon"] {
2813
+ transform: scale(0.95);
2814
+ }
2815
+
2816
+ :host([button-mode]) [part="message"],
2817
+ :host([button-mode]) [part="submessage"] {
2818
+ display: none;
2819
+ }
2820
+ `,N([W({type:String,reflect:!0})],wt.prototype,"type",2),N([W({type:Boolean,reflect:!0})],wt.prototype,"live",2),N([W({type:Boolean,reflect:!0,attribute:"button-mode"})],wt.prototype,"buttonMode",2),wt=N([Gt("bp-overlay")],wt);var PE=["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"],om=["autopictureinpicture","disablepictureinpicture","disableremoteplayback","autoplay","controls","controlslist","crossorigin","loop","muted","playsinline","poster","preload","src"];function DE(i){return`
2821
+ <style>
2822
+ :host {
2823
+ display: inline-flex;
2824
+ line-height: 0;
2825
+ flex-direction: column;
2826
+ justify-content: end;
2827
+ }
2828
+
2829
+ audio {
2830
+ width: 100%;
2831
+ }
2832
+ </style>
2833
+ <slot name="media">
2834
+ <audio${cm(i)}></audio>
2835
+ </slot>
2836
+ <slot></slot>
2837
+ `}function OE(i){return`
2838
+ <style>
2839
+ :host {
2840
+ display: inline-block;
2841
+ line-height: 0;
2842
+ }
2843
+
2844
+ video {
2845
+ max-width: 100%;
2846
+ max-height: 100%;
2847
+ min-width: 100%;
2848
+ min-height: 100%;
2849
+ object-fit: var(--media-object-fit, contain);
2850
+ object-position: var(--media-object-position, 50% 50%);
2851
+ }
2852
+
2853
+ video::-webkit-media-text-track-container {
2854
+ transform: var(--media-webkit-text-track-transform);
2855
+ transition: var(--media-webkit-text-track-transition);
2856
+ }
2857
+ </style>
2858
+ <slot name="media">
2859
+ <video${cm(i)}></video>
2860
+ </slot>
2861
+ <slot></slot>
2862
+ `}function dm(i,{tag:e,is:t}){var n,a,l,c,v,nm,p,f,m,A,g,rr,xc,am,Pc,sm,lm;let r=(a=(n=globalThis.document)==null?void 0:n.createElement)==null?void 0:a.call(n,e,{is:t}),o=r?UE(r):[];return l=class extends i{constructor(){super(...arguments);S(this,g);S(this,p,!1);S(this,f,null);S(this,m,new Map);S(this,A);$(this,"get");$(this,"set");$(this,"call")}static get observedAttributes(){var K,ne;return O(K=l,v,nm).call(K),[...((ne=r==null?void 0:r.constructor)==null?void 0:ne.observedAttributes)??[],...om]}get nativeEl(){var k;return O(this,g,rr).call(this),u(this,f)??this.querySelector(":scope > [slot=media]")??this.querySelector(e)??((k=this.shadowRoot)==null?void 0:k.querySelector(e))??null}set nativeEl(k){_(this,f,k)}get defaultMuted(){return this.hasAttribute("muted")}set defaultMuted(k){this.toggleAttribute("muted",k)}get src(){return this.getAttribute("src")}set src(k){this.setAttribute("src",`${k}`)}get preload(){var k;return this.getAttribute("preload")??((k=this.nativeEl)==null?void 0:k.preload)}set preload(k){this.setAttribute("preload",`${k}`)}init(){if(!this.shadowRoot){this.attachShadow({mode:"open"});let k=NE(this.attributes);t&&(k.is=t),e&&(k.part=e),this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(k)}this.nativeEl.muted=this.hasAttribute("muted");for(let k of o)O(this,g,sm).call(this,k);_(this,A,new MutationObserver(O(this,g,am).bind(this))),this.shadowRoot.addEventListener("slotchange",()=>O(this,g,xc).call(this)),O(this,g,xc).call(this);for(let k of this.constructor.Events)this.shadowRoot.addEventListener(k,this,!0)}handleEvent(k){k.target===this.nativeEl&&this.dispatchEvent(new CustomEvent(k.type,{detail:k.detail}))}attributeChangedCallback(k,K,ne){O(this,g,rr).call(this),O(this,g,lm).call(this,k,K,ne)}connectedCallback(){O(this,g,rr).call(this)}},c=new WeakMap,v=new WeakSet,nm=function(){if(u(this,c))return;_(this,c,!0);let k=new Set(this.observedAttributes);k.delete("muted");for(let K of o)if(!(K in this.prototype))if(typeof r[K]=="function")this.prototype[K]=function(...ne){return O(this,g,rr).call(this),(()=>{var he;if(this.call)return this.call(K,...ne);let G=(he=this.nativeEl)==null?void 0:he[K];return G==null?void 0:G.apply(this.nativeEl,ne)})()};else{let ne={get(){var G,he;O(this,g,rr).call(this);let te=K.toLowerCase();if(k.has(te)){let Mt=this.getAttribute(te);return Mt===null?!1:Mt===""?!0:Mt}return((G=this.get)==null?void 0:G.call(this,K))??((he=this.nativeEl)==null?void 0:he[K])}};K!==K.toUpperCase()&&(ne.set=function(te){O(this,g,rr).call(this);let G=K.toLowerCase();if(k.has(G)){te===!0||te===!1||te==null?this.toggleAttribute(G,!!te):this.setAttribute(G,te);return}if(this.set){this.set(K,te);return}this.nativeEl&&(this.nativeEl[K]=te)}),Object.defineProperty(this.prototype,K,ne)}},p=new WeakMap,f=new WeakMap,m=new WeakMap,A=new WeakMap,g=new WeakSet,rr=function(){u(this,p)||(_(this,p,!0),this.init())},xc=function(){var te;let k=new Map(u(this,m)),K=(te=this.shadowRoot)==null?void 0:te.querySelector("slot:not([name])");(K==null?void 0:K.assignedElements({flatten:!0}).filter(G=>["track","source"].includes(G.localName))).forEach(G=>{var Mt,Ro;k.delete(G);let he=u(this,m).get(G);he||(he=G.cloneNode(),u(this,m).set(G,he),(Mt=u(this,A))==null||Mt.observe(G,{attributes:!0})),(Ro=this.nativeEl)==null||Ro.append(he),O(this,g,Pc).call(this,he)}),k.forEach((G,he)=>{G.remove(),u(this,m).delete(he)})},am=function(k){for(let K of k)if(K.type==="attributes"){let{target:ne,attributeName:te}=K,G=u(this,m).get(ne);G&&te&&(G.setAttribute(te,ne.getAttribute(te)??""),O(this,g,Pc).call(this,G))}},Pc=function(k){k&&k.localName==="track"&&k.default&&(k.kind==="chapters"||k.kind==="metadata")&&k.track.mode==="disabled"&&(k.track.mode="hidden")},sm=function(k){if(Object.prototype.hasOwnProperty.call(this,k)){let K=this[k];delete this[k],this[k]=K}},lm=function(k,K,ne){var te,G,he;["id","class"].includes(k)||!l.observedAttributes.includes(k)&&this.constructor.observedAttributes.includes(k)||(ne===null?(te=this.nativeEl)==null||te.removeAttribute(k):((G=this.nativeEl)==null?void 0:G.getAttribute(k))!==ne&&((he=this.nativeEl)==null||he.setAttribute(k,ne)))},S(l,v),$(l,"getTemplateHTML",e.endsWith("audio")?DE:OE),$(l,"shadowRootOptions",{mode:"open"}),$(l,"Events",PE),S(l,c,!1),l}function UE(i){let e=[];for(let t=Object.getPrototypeOf(i);t&&t!==HTMLElement.prototype;t=Object.getPrototypeOf(t)){let r=Object.getOwnPropertyNames(t);e.push(...r)}return e}function cm(i){let e="";for(let t in i){if(!om.includes(t))continue;let r=i[t];r===""?e+=` ${t}`:e+=` ${t}="${r}"`}return e}function NE(i){let e={};for(let t of i)e[t.name]=t.value;return e}var De=dm(globalThis.HTMLElement??class{},{tag:"video"}),sw=dm(globalThis.HTMLElement??class{},{tag:"audio"});var $t=class extends Event{constructor(t,r){super(t);$(this,"track");this.track=r.track}};var Dc=new WeakMap;function T(i){return Dc.get(i)??HE(i,{})}function HE(i,e){let t=Dc.get(i);return t||Dc.set(i,t={}),Object.assign(t,e)}function fl(i,e){let t=i.videoTracks;T(e).media=i,T(e).renditionSet||(T(e).renditionSet=new Set);let r=T(t).trackSet;r.add(e);let o=r.size-1;o in nr.prototype||Object.defineProperty(nr.prototype,o,{get(){return[...T(this).trackSet][o]}}),queueMicrotask(()=>{t.dispatchEvent(new $t("addtrack",{track:e}))})}function gl(i){var r;let e=(r=T(i).media)==null?void 0:r.videoTracks;if(!e)return;T(e).trackSet.delete(i),queueMicrotask(()=>{e.dispatchEvent(new $t("removetrack",{track:i}))})}function um(i){let e=T(i).media.videoTracks??[],t=!1;for(let r of e)r!==i&&(r.selected=!1,t=!0);if(t){if(T(e).changeRequested)return;T(e).changeRequested=!0,queueMicrotask(()=>{delete T(e).changeRequested,e.dispatchEvent(new Event("change"))})}}var si,li,di,or,ea,nr=class extends EventTarget{constructor(){super();S(this,or);S(this,si);S(this,li);S(this,di);T(this).trackSet=new Set}[Symbol.iterator](){return u(this,or,ea).values()}get length(){return u(this,or,ea).size}getTrackById(t){return[...u(this,or,ea)].find(r=>r.id===t)??null}get selectedIndex(){return[...u(this,or,ea)].findIndex(t=>t.selected)}get onaddtrack(){return u(this,si)}set onaddtrack(t){u(this,si)&&(this.removeEventListener("addtrack",u(this,si)),_(this,si,void 0)),typeof t=="function"&&(_(this,si,t),this.addEventListener("addtrack",t))}get onremovetrack(){return u(this,li)}set onremovetrack(t){u(this,li)&&(this.removeEventListener("removetrack",u(this,li)),_(this,li,void 0)),typeof t=="function"&&(_(this,li,t),this.addEventListener("removetrack",t))}get onchange(){return u(this,di)}set onchange(t){u(this,di)&&(this.removeEventListener("change",u(this,di)),_(this,di,void 0)),typeof t=="function"&&(_(this,di,t),this.addEventListener("change",t))}};si=new WeakMap,li=new WeakMap,di=new WeakMap,or=new WeakSet,ea=function(){return T(this).trackSet};var Bt=class extends Event{constructor(t,r){super(t);$(this,"rendition");this.rendition=r.rendition}};function hm(i,e){let t=T(i).media.videoRenditions;T(e).media=T(i).media,T(e).track=i;let r=T(i).renditionSet;r.add(e);let o=r.size-1;o in ar.prototype||Object.defineProperty(ar.prototype,o,{get(){return ho(this)[o]}}),queueMicrotask(()=>{i.selected&&t.dispatchEvent(new Bt("addrendition",{rendition:e}))})}function pm(i){let e=T(i).media.videoRenditions,t=T(i).track;T(t).renditionSet.delete(i),queueMicrotask(()=>{T(i).track.selected&&e.dispatchEvent(new Bt("removerendition",{rendition:i}))})}function mm(i){let e=T(i).media.videoRenditions;!e||T(e).changeRequested||(T(e).changeRequested=!0,queueMicrotask(()=>{delete T(e).changeRequested,T(i).track.selected&&e.dispatchEvent(new Event("change"))}))}function ho(i){return[...T(i).media.videoTracks].filter(t=>t.selected).flatMap(t=>[...T(t).renditionSet])}var ci,ui,hi,ar=class extends EventTarget{constructor(){super(...arguments);S(this,ci);S(this,ui);S(this,hi)}[Symbol.iterator](){return ho(this).values()}get length(){return ho(this).length}getRenditionById(t){return ho(this).find(r=>`${r.id}`==`${t}`)??null}get selectedIndex(){return ho(this).findIndex(t=>t.selected)}set selectedIndex(t){for(let[r,o]of ho(this).entries())o.selected=r===t}get onaddrendition(){return u(this,ci)}set onaddrendition(t){u(this,ci)&&(this.removeEventListener("addrendition",u(this,ci)),_(this,ci,void 0)),typeof t=="function"&&(_(this,ci,t),this.addEventListener("addrendition",t))}get onremoverendition(){return u(this,ui)}set onremoverendition(t){u(this,ui)&&(this.removeEventListener("removerendition",u(this,ui)),_(this,ui,void 0)),typeof t=="function"&&(_(this,ui,t),this.addEventListener("removerendition",t))}get onchange(){return u(this,hi)}set onchange(t){u(this,hi)&&(this.removeEventListener("change",u(this,hi)),_(this,hi,void 0)),typeof t=="function"&&(_(this,hi,t),this.addEventListener("change",t))}};ci=new WeakMap,ui=new WeakMap,hi=new WeakMap;var po,ta=class{constructor(){$(this,"src");$(this,"id");$(this,"width");$(this,"height");$(this,"bitrate");$(this,"frameRate");$(this,"codec");S(this,po,!1)}get selected(){return u(this,po)}set selected(e){u(this,po)!==e&&(_(this,po,e),mm(this))}};po=new WeakMap;var mo,vo=class{constructor(){$(this,"id");$(this,"kind");$(this,"label","");$(this,"language","");$(this,"sourceBuffer");S(this,mo,!1)}addRendition(e,t,r,o,n,a){let l=new ta;return l.src=e,l.width=t,l.height=r,l.frameRate=a,l.bitrate=n,l.codec=o,hm(this,l),l}removeRendition(e){pm(e)}get selected(){return u(this,mo)}set selected(e){u(this,mo)!==e&&(_(this,mo,e),e===!0&&um(this))}};mo=new WeakMap;function vm(i,e){let t=T(i).media.audioRenditions;T(e).media=T(i).media,T(e).track=i;let r=T(i).renditionSet;r.add(e);let o=r.size-1;o in sr.prototype||Object.defineProperty(sr.prototype,o,{get(){return fo(this)[o]}}),queueMicrotask(()=>{i.enabled&&t.dispatchEvent(new Bt("addrendition",{rendition:e}))})}function fm(i){let e=T(i).media.audioRenditions,t=T(i).track;T(t).renditionSet.delete(i),queueMicrotask(()=>{T(i).track.enabled&&e.dispatchEvent(new Bt("removerendition",{rendition:i}))})}function gm(i){let e=T(i).media.audioRenditions;!e||T(e).changeRequested||(T(e).changeRequested=!0,queueMicrotask(()=>{delete T(e).changeRequested,T(i).track.enabled&&e.dispatchEvent(new Event("change"))}))}function fo(i){return[...T(i).media.audioTracks].filter(t=>t.enabled).flatMap(t=>[...T(t).renditionSet])}var pi,mi,vi,sr=class extends EventTarget{constructor(){super(...arguments);S(this,pi);S(this,mi);S(this,vi)}[Symbol.iterator](){return fo(this).values()}get length(){return fo(this).length}getRenditionById(t){return fo(this).find(r=>`${r.id}`==`${t}`)??null}get selectedIndex(){return fo(this).findIndex(t=>t.selected)}set selectedIndex(t){for(let[r,o]of fo(this).entries())o.selected=r===t}get onaddrendition(){return u(this,pi)}set onaddrendition(t){u(this,pi)&&(this.removeEventListener("addrendition",u(this,pi)),_(this,pi,void 0)),typeof t=="function"&&(_(this,pi,t),this.addEventListener("addrendition",t))}get onremoverendition(){return u(this,mi)}set onremoverendition(t){u(this,mi)&&(this.removeEventListener("removerendition",u(this,mi)),_(this,mi,void 0)),typeof t=="function"&&(_(this,mi,t),this.addEventListener("removerendition",t))}get onchange(){return u(this,vi)}set onchange(t){u(this,vi)&&(this.removeEventListener("change",u(this,vi)),_(this,vi,void 0)),typeof t=="function"&&(_(this,vi,t),this.addEventListener("change",t))}};pi=new WeakMap,mi=new WeakMap,vi=new WeakMap;var go,ia=class{constructor(){$(this,"src");$(this,"id");$(this,"bitrate");$(this,"codec");S(this,go,!1)}get selected(){return u(this,go)}set selected(e){u(this,go)!==e&&(_(this,go,e),gm(this))}};go=new WeakMap;function bl(i,e){let t=i.audioTracks;T(e).media=i,T(e).renditionSet||(T(e).renditionSet=new Set);let r=T(t).trackSet;r.add(e);let o=r.size-1;o in lr.prototype||Object.defineProperty(lr.prototype,o,{get(){return[...T(this).trackSet][o]}}),queueMicrotask(()=>{t.dispatchEvent(new $t("addtrack",{track:e}))})}function _l(i){var r;let e=(r=T(i).media)==null?void 0:r.audioTracks;if(!e)return;T(e).trackSet.delete(i),queueMicrotask(()=>{e.dispatchEvent(new $t("removetrack",{track:i}))})}function Em(i){let e=T(i).media.audioTracks;!e||T(e).changeRequested||(T(e).changeRequested=!0,queueMicrotask(()=>{delete T(e).changeRequested,e.dispatchEvent(new Event("change"))}))}var fi,gi,Ei,Eo,El,lr=class extends EventTarget{constructor(){super();S(this,Eo);S(this,fi);S(this,gi);S(this,Ei);T(this).trackSet=new Set}[Symbol.iterator](){return u(this,Eo,El).values()}get length(){return u(this,Eo,El).size}getTrackById(t){return[...u(this,Eo,El)].find(r=>r.id===t)??null}get onaddtrack(){return u(this,fi)}set onaddtrack(t){u(this,fi)&&(this.removeEventListener("addtrack",u(this,fi)),_(this,fi,void 0)),typeof t=="function"&&(_(this,fi,t),this.addEventListener("addtrack",t))}get onremovetrack(){return u(this,gi)}set onremovetrack(t){u(this,gi)&&(this.removeEventListener("removetrack",u(this,gi)),_(this,gi,void 0)),typeof t=="function"&&(_(this,gi,t),this.addEventListener("removetrack",t))}get onchange(){return u(this,Ei)}set onchange(t){u(this,Ei)&&(this.removeEventListener("change",u(this,Ei)),_(this,Ei,void 0)),typeof t=="function"&&(_(this,Ei,t),this.addEventListener("change",t))}};fi=new WeakMap,gi=new WeakMap,Ei=new WeakMap,Eo=new WeakSet,El=function(){return T(this).trackSet};var bo,_o=class{constructor(){$(this,"id");$(this,"kind");$(this,"label","");$(this,"language","");$(this,"sourceBuffer");S(this,bo,!1)}addRendition(e,t,r){let o=new ia;return o.src=e,o.codec=t,o.bitrate=r,vm(this,o),o}removeRendition(e){fm(e)}get enabled(){return u(this,bo)}set enabled(e){u(this,bo)!==e&&(_(this,bo,e),Em(this))}};bo=new WeakMap;var bm=yl(globalThis.HTMLMediaElement,"video"),_m=yl(globalThis.HTMLMediaElement,"audio");function yo(i){if(!(i!=null&&i.prototype))return i;let e=yl(i,"video");(!e||`${e}`.includes("[native code]"))&&Object.defineProperty(i.prototype,"videoTracks",{get(){return $E(this)}});let t=yl(i,"audio");(!t||`${t}`.includes("[native code]"))&&Object.defineProperty(i.prototype,"audioTracks",{get(){return BE(this)}}),"addVideoTrack"in i.prototype||(i.prototype.addVideoTrack=function(n,a="",l=""){let c=new vo;return c.kind=n,c.label=a,c.language=l,fl(this,c),c}),"removeVideoTrack"in i.prototype||(i.prototype.removeVideoTrack=gl),"addAudioTrack"in i.prototype||(i.prototype.addAudioTrack=function(n,a="",l=""){let c=new _o;return c.kind=n,c.label=a,c.language=l,bl(this,c),c}),"removeAudioTrack"in i.prototype||(i.prototype.removeAudioTrack=_l),"videoRenditions"in i.prototype||Object.defineProperty(i.prototype,"videoRenditions",{get(){return r(this)}});let r=n=>{let a=T(n).videoRenditions;return a||(a=new ar,T(a).media=n,T(n).videoRenditions=a),a};"audioRenditions"in i.prototype||Object.defineProperty(i.prototype,"audioRenditions",{get(){return o(this)}});let o=n=>{let a=T(n).audioRenditions;return a||(a=new sr,T(a).media=n,T(n).audioRenditions=a),a};return i}function yl(i,e){var t;if(i!=null&&i.prototype)return(t=Object.getOwnPropertyDescriptor(i.prototype,`${e}Tracks`))==null?void 0:t.get}function $E(i){let e=T(i).videoTracks;if(!e&&(e=new nr,T(i).videoTracks=e,bm)){let t=bm.call(i.nativeEl??i);for(let r of t)fl(i,r);t.addEventListener("change",()=>{e.dispatchEvent(new Event("change"))}),t.addEventListener("addtrack",r=>{if([...e].some(o=>o instanceof vo)){for(let o of t)gl(o);return}fl(i,r.track)}),t.addEventListener("removetrack",r=>{gl(r.track)})}return e}function BE(i){let e=T(i).audioTracks;if(!e&&(e=new lr,T(i).audioTracks=e,_m)){let t=_m.call(i.nativeEl??i);for(let r of t)bl(i,r);t.addEventListener("change",()=>{e.dispatchEvent(new Event("change"))}),t.addEventListener("addtrack",r=>{if([...e].some(o=>o instanceof _o)){for(let o of t)_l(o);return}bl(i,r.track)}),t.addEventListener("removetrack",r=>{_l(r.track)})}return e}var Se=qm(du("hls.js"),1);var VE=yo(De),Vt,bi,To,it,ym,Tm,Oc,ra,Am,_i=class extends VE{constructor(){super();S(this,it);S(this,Vt,null);S(this,bi,null);S(this,To,!1);this.api=null;S(this,ra,()=>{var r,o;let t=this.nativeEl;t!=null&&t.webkitCurrentPlaybackTargetIsWireless?(r=this.api)==null||r.stopLoad():(o=this.api)==null||o.startLoad()});O(this,it,Am).call(this,"config")}static getTemplateHTML(t,r={}){let{src:o,...n}=t;return`
2863
+ <script type="application/json" id="config">
2864
+ ${JSON.stringify(r.config||{})}
2865
+ <\/script>
2866
+ ${De.getTemplateHTML(n)}
2867
+ `}get config(){return u(this,bi)}set config(t){_(this,bi,t)}attributeChangedCallback(t,r,o){t!=="src"&&super.attributeChangedCallback(t,r,o),t==="src"&&r!==o&&this.load()}async load(){var o,n,a;let t=!this.api&&!u(this,To);if(O(this,it,ym).call(this),!this.src)return;if(t&&!u(this,bi)&&_(this,bi,JSON.parse(((n=(o=this.shadowRoot)==null?void 0:o.getElementById("config"))==null?void 0:n.textContent)||"{}")),!O(this,it,Tm).call(this,this.src)){await Promise.resolve(),_(this,To,!0),this.nativeEl.src=this.src;return}if(Se.default.isSupported()){switch(await Promise.resolve(),this.api=new Se.default({liveDurationInfinity:!0,autoStartLoad:!1,...u(this,bi)}),this.api.loadSource(this.src),this.api.attachMedia(this.nativeEl),this.nativeEl.preload){case"none":{let p=()=>{var f;return(f=this.api)==null?void 0:f.startLoad()};this.nativeEl.addEventListener("play",p,{once:!0}),this.api.on(Se.default.Events.DESTROYING,()=>{this.nativeEl.removeEventListener("play",p)});break}case"metadata":{let p=this.api.config.maxBufferLength,f=this.api.config.maxBufferSize;this.api.config.maxBufferLength=1,this.api.config.maxBufferSize=1;let m=()=>{this.api&&(this.api.config.maxBufferLength=p,this.api.config.maxBufferSize=f)};this.nativeEl.addEventListener("play",m,{once:!0}),this.api.on(Se.default.Events.DESTROYING,()=>{this.nativeEl.removeEventListener("play",m)}),this.api.startLoad();break}default:this.api.startLoad()}this.nativeEl.webkitCurrentPlaybackTargetIsWireless&&this.api.stopLoad(),this.nativeEl.addEventListener("webkitcurrentplaybacktargetiswirelesschanged",u(this,ra)),_(this,Vt,document.createElement("source")),u(this,Vt).setAttribute("type","application/x-mpegURL"),u(this,Vt).setAttribute("src",this.src),this.nativeEl.disableRemotePlayback=!1,this.nativeEl.append(u(this,Vt));let c=new WeakMap;this.api.on(Se.default.Events.MANIFEST_PARSED,(p,f)=>{this.nativeEl.autoplay&&this.nativeEl.paused&&this.nativeEl.play().catch(A=>{console.warn("Autoplay failed:",A)}),O(this,it,Oc).call(this);let m=this.videoTracks.getTrackById("main");m||(m=this.addVideoTrack("main"),m.id="main",m.selected=!0);for(let[A,g]of f.levels.entries()){let L=m.addRendition(g.url[0],g.width,g.height,g.videoCodec??void 0,g.bitrate);c.set(g,`${A}`),L.id=`${A}`}for(let[A,g]of f.audioTracks.entries()){let L=g.default?"main":"alternative",D=this.addAudioTrack(L,g.name,g.lang);D.id=`${A}`,g.default&&(D.enabled=!0)}}),this.audioTracks.addEventListener("change",()=>{var A,g;let p=[...this.audioTracks].find(L=>L.enabled),f=p?+p.id:void 0,m=((A=this.api)==null?void 0:A.audioTracks.map(L=>L.id))??[];f!==void 0&&f!==((g=this.api)==null?void 0:g.audioTrack)&&m.includes(f)&&this.api&&(this.api.audioTrack=f)}),this.api.on(Se.default.Events.LEVELS_UPDATED,(p,f)=>{let m=[...this.videoTracks][this.videoTracks.selectedIndex??0];if(!m)return;let A=f.levels.map(g=>c.get(g));for(let g of this.videoRenditions)g.id&&!A.includes(g.id)&&m.removeRendition(g)});let v=null;this.api.on(Se.default.Events.ERROR,(p,f)=>{var m;f.type===Se.default.ErrorTypes.NETWORK_ERROR&&f.details===Se.default.ErrorDetails.FRAG_LOAD_ERROR&&(v=((m=f.frag)==null?void 0:m.level)??null)}),this.api.on(Se.default.Events.LEVEL_SWITCHED,(p,f)=>{let m=f.level;v!==null&&m<v&&(console.warn(`hls.js downgraded quality from level ${v} to ${m} due to fragment load failure.`),this.videoRenditions.selectedIndex=m,v=null)});let h=()=>{let p=this.videoRenditions.selectedIndex;this.api&&p!==this.api.nextLevel&&(this.api.nextLevel=p)};(a=this.videoRenditions)==null||a.addEventListener("change",h),this.api.once(Se.default.Events.DESTROYING,()=>O(this,it,Oc).call(this));return}await Promise.resolve(),this.nativeEl.canPlayType("application/vnd.apple.mpegurl")&&(this.nativeEl.src=this.src)}};Vt=new WeakMap,bi=new WeakMap,To=new WeakMap,it=new WeakSet,ym=function(){var t,r;(t=u(this,Vt))==null||t.remove(),_(this,Vt,null),(r=this.nativeEl)==null||r.removeEventListener("webkitcurrentplaybacktargetiswirelesschanged",u(this,ra)),this.api&&(this.api.detachMedia(),this.api.destroy(),this.api=null),_(this,To,!1)},Tm=function(t){return t.includes(".m3u8")||t.includes("application/x-mpegURL")},Oc=function(){for(let t of this.videoTracks)this.removeVideoTrack(t);for(let t of this.audioTracks)this.removeAudioTrack(t)},ra=new WeakMap,Am=function(t){if(Object.prototype.hasOwnProperty.call(this,t)){let r=this[t];delete this[t],this[t]=r}},_i.shadowRootOptions={...De.shadowRootOptions};globalThis.customElements&&!globalThis.customElements.get("hls-video")&&globalThis.customElements.define("hls-video",_i);var Uc=_i;var WE="nanoplayer.4.min.js",FE="nanoplayer",ke={loading:!1,loaded:!1,error:null,callbacks:[]};function KE(i){return new Promise((e,t)=>{if(window.NanoPlayer){ke.loaded=!0,e();return}if(ke.loaded){e();return}if(ke.error){t(ke.error);return}if(ke.callbacks.push(a=>{a?t(a):e()}),ke.loading)return;ke.loading=!0;let o=`${i.endsWith("/")?i:`${i}/`}${FE}/${WE}`,n=document.createElement("script");n.src=o,n.async=!0,n.onload=()=>{ke.loaded=!0,ke.loading=!1,ke.callbacks.forEach(a=>a()),ke.callbacks=[]},n.onerror=()=>{let a=new Error(`Failed to load NanoPlayer script from ${o}`);ke.error=a,ke.loading=!1,ke.callbacks.forEach(l=>l(a)),ke.callbacks=[]},document.head.appendChild(n)})}var qE=yo(De),Wt,yi,le,rt,Ao,Le,oa,Ti,dr,So,Ft,ko,Lo,we,Nc,Sm,km,Lm,Tl,Ai=class extends qE{constructor(){super();S(this,we);S(this,Wt,null);S(this,yi,null);S(this,le,null);S(this,rt,null);S(this,Ao,"");S(this,Le,null);S(this,oa,!0);S(this,Ti,[]);S(this,dr,[]);S(this,So,null);S(this,Ft,null);S(this,ko,!1);S(this,Lo,!1);this.api=null;O(this,we,Tl).call(this,"config"),O(this,we,Tl).call(this,"streamid"),O(this,we,Tl).call(this,"sourceConfig")}static get observedAttributes(){return[...De.observedAttributes,"streamid","library-location"]}static getTemplateHTML(t,r={}){let{streamid:o,"library-location":n,...a}=t;return`
2868
+ <script type="application/json" id="config">
2869
+ ${JSON.stringify(r.config||{})}
2870
+ <\/script>
2871
+ ${De.getTemplateHTML(a)}
2872
+ `}get config(){return u(this,Wt)}set config(t){_(this,Wt,t)}get sourceConfig(){return u(this,yi)}set sourceConfig(t){let r=u(this,yi)!==t;_(this,yi,t),r&&t&&this.load()}get streamid(){return this.getAttribute("streamid")}set streamid(t){t?this.setAttribute("streamid",t):this.removeAttribute("streamid")}get libraryLocation(){return this.getAttribute("library-location")||"/vendor/bp-player"}set libraryLocation(t){this.setAttribute("library-location",t)}attributeChangedCallback(t,r,o){t==="streamid"&&r!==o?this.load():t!=="streamid"&&t!=="library-location"&&super.attributeChangedCallback(t,r,o)}async load(){var n,a,l,c,v;let t=!u(this,le);O(this,we,Nc).call(this);let r=this.streamid,o=!!u(this,yi);if(!(!r&&!o)){_(this,So,new Promise(h=>{_(this,Ft,h)})),t&&!u(this,Wt)&&_(this,Wt,JSON.parse(((a=(n=this.shadowRoot)==null?void 0:n.getElementById("config"))==null?void 0:a.textContent)||"{}"));try{await KE(this.libraryLocation)}catch(h){console.error("[nano-video] Failed to load NanoPlayer script:",h),this.dispatchEvent(new ErrorEvent("error",{error:h,message:"Failed to load NanoPlayer script"})),(l=u(this,Ft))==null||l.call(this);return}_(this,Ao,`nano-video-${Date.now()}-${Math.random().toString(36).slice(2,9)}`),_(this,rt,document.createElement("div")),u(this,rt).id=u(this,Ao),u(this,rt).style.cssText="width: 100%; height: 100%; position: absolute; top: 0; left: 0;",this.addEventListener("pause",h=>{var p;h.target!==this&&((p=u(this,rt))!=null&&p.contains(h.target))&&u(this,ko)&&h.stopImmediatePropagation()},!0),this.style.position="relative",this.nativeEl.style.display="none",this.appendChild(u(this,rt)),_(this,le,new window.NanoPlayer(u(this,Ao))),this.api=u(this,le);try{let h=O(this,we,Sm).call(this,r,o?u(this,yi):void 0),p=await u(this,le).setup(h);_(this,dr,((c=p.source.entries)==null?void 0:c.map((f,m)=>({index:m,height:f.info.height??0,width:f.info.width??0,bitrate:f.info.bitrate??0,label:f.info.height?`${f.info.height}p`:m===0?"Source":`Stream ${m+1}`})))??[]),O(this,we,Lm).call(this)}catch(h){console.error("[nano-video] Failed to setup NanoPlayer:",h),this.dispatchEvent(new ErrorEvent("error",{error:h,message:"Failed to setup NanoPlayer"})),(v=u(this,Ft))==null||v.call(this)}}}async play(){if(u(this,So)&&await u(this,So),u(this,le)){_(this,ko,!0),u(this,le).play();return}return super.play()}pause(){if(u(this,le)){u(this,le).pause();return}super.pause()}get currentTime(){var t;return((t=u(this,Le))==null?void 0:t.currentTime)??super.currentTime}set currentTime(t){u(this,le)||(super.currentTime=t)}get duration(){return 1/0}get paused(){var t;return((t=u(this,Le))==null?void 0:t.paused)??super.paused}get volume(){var t;return((t=u(this,Le))==null?void 0:t.volume)??super.volume}set volume(t){u(this,Le)?u(this,Le).volume=t:super.volume=t}get muted(){var t;return((t=u(this,Le))==null?void 0:t.muted)??super.muted}set muted(t){u(this,Le)&&(u(this,Le).muted=t),u(this,le)?t?u(this,le).mute():u(this,le).unmute():super.muted=t}get videoWidth(){var t;return((t=u(this,Le))==null?void 0:t.videoWidth)??super.videoWidth}get videoHeight(){var t;return((t=u(this,Le))==null?void 0:t.videoHeight)??super.videoHeight}disconnectedCallback(){var t;O(this,we,Nc).call(this),(t=super.disconnectedCallback)==null||t.call(this)}};Wt=new WeakMap,yi=new WeakMap,le=new WeakMap,rt=new WeakMap,Ao=new WeakMap,Le=new WeakMap,oa=new WeakMap,Ti=new WeakMap,dr=new WeakMap,So=new WeakMap,Ft=new WeakMap,ko=new WeakMap,Lo=new WeakMap,we=new WeakSet,Nc=function(){u(this,Ti).forEach(t=>t()),_(this,Ti,[]),u(this,le)&&(u(this,le).destroy(),_(this,le,null),this.api=null),u(this,rt)&&(u(this,rt).remove(),_(this,rt,null)),_(this,Le,null),_(this,Lo,!1),_(this,dr,[])},Sm=function(t,r){var n,a;return{source:r??{group:{id:t},options:{adaption:{rule:"deviationOfMean2"},switch:{method:"server",pauseOnError:!1,forcePlay:!0,timeout:10}}},playback:{autoplay:this.nativeEl.autoplay,muted:this.nativeEl.muted,reconnect:((n=u(this,Wt))==null?void 0:n.reconnect)??{minDelay:2,maxDelay:10,delaySteps:10,maxRetries:10},buffer:((a=u(this,Wt))==null?void 0:a.buffer)??{min:.1,max:2,target:.5}},style:{width:"100%",height:"100%",controls:!1,view:!1,interactive:!1},events:{onReady:()=>{var l;this.dispatchEvent(new Event("loadeddata",{bubbles:!0})),this.dispatchEvent(new Event("canplay",{bubbles:!0})),this.dispatchEvent(new Event("canplaythrough",{bubbles:!0})),(l=u(this,Ft))==null||l.call(this)},onPlay:()=>{_(this,ko,!1),_(this,Lo,!0),this.dispatchEvent(new Event("play",{bubbles:!0})),this.dispatchEvent(new Event("playing",{bubbles:!0}))},onPause:()=>{this.dispatchEvent(new Event("pause",{bubbles:!0}))},onLoading:()=>{this.dispatchEvent(new Event("waiting",{bubbles:!0}))},onStartBuffering:()=>{this.dispatchEvent(new Event("waiting",{bubbles:!0}))},onStopBuffering:()=>{this.dispatchEvent(new Event("canplaythrough",{bubbles:!0})),this.dispatchEvent(new Event("playing",{bubbles:!0}))},onError:l=>{var p,f;let c=l.data.code??-1,v=l.data.message??"NanoPlayer error";if(c===2004&&u(this,Lo)){this.dispatchEvent(new Event("ended",{bubbles:!0})),(p=u(this,Ft))==null||p.call(this);return}let h=Object.assign(new Error(v),{code:c});this.dispatchEvent(new ErrorEvent("error",{error:h,message:v,bubbles:!0})),(f=u(this,Ft))==null||f.call(this)},onActiveVideoElementChange:l=>{var v;let c=(v=l.data)==null?void 0:v.activeVideoElement;c&&(_(this,Le,c),O(this,we,km).call(this,c))}}}},km=function(t){u(this,Ti).forEach(o=>o()),_(this,Ti,[]);let r=["timeupdate","volumechange","durationchange","resize"];for(let o of r){let n=()=>{this.dispatchEvent(new Event(o,{bubbles:!0}))};t.addEventListener(o,n),u(this,Ti).push(()=>t.removeEventListener(o,n))}},Lm=function(){for(let o of this.videoTracks)this.removeVideoTrack(o);if(u(this,dr).length===0)return;let t=this.addVideoTrack("main");t.id="main",t.selected=!0;for(let o of u(this,dr)){let n=t.addRendition("",o.width,o.height,void 0,o.bitrate);n.id=`${o.index}`}let r=()=>{var n,a,l;let o=this.videoRenditions.selectedIndex;o<0?(_(this,oa,!0),(n=u(this,le))==null||n.setAdaption({rule:"deviationOfMean2"})):(_(this,oa,!1),(a=u(this,le))==null||a.switchStream(o).catch(()=>{}),(l=u(this,le))==null||l.setAdaption({rule:"none"}))};this.videoRenditions.addEventListener("change",r)},Tl=function(t){if(Object.prototype.hasOwnProperty.call(this,t)){let r=this[t];delete this[t],this[t]=r}},Ai.shadowRootOptions={...De.shadowRootOptions};globalThis.customElements&&!globalThis.customElements.get("nano-video")&&globalThis.customElements.define("nano-video",Ai);var Hc=Ai;var Oe=du("livekit-client");var GE=yo(De),Ye,_e,re,Ct,wo,It,Co,Io,de,$c,wm,Cm,Al,Im,Mm,Sl,Si=class extends GE{constructor(){super();S(this,de);S(this,Ye,null);S(this,_e,null);S(this,re,null);S(this,Ct,[]);S(this,wo,[]);S(this,It,"disconnected");S(this,Co,null);S(this,Io,null);this.room=null;O(this,de,Sl).call(this,"config"),O(this,de,Sl).call(this,"url"),O(this,de,Sl).call(this,"token")}static get observedAttributes(){return[...De.observedAttributes,"url","token"]}static getTemplateHTML(t,r={}){let{url:o,token:n,...a}=t;return`
2873
+ <script type="application/json" id="config">
2874
+ ${JSON.stringify(r.config||{})}
2875
+ <\/script>
2876
+ ${De.getTemplateHTML(a)}
2877
+ `}get config(){return u(this,Ye)}set config(t){_(this,Ye,t)}get url(){return this.getAttribute("url")}set url(t){t?this.setAttribute("url",t):this.removeAttribute("url")}get token(){return this.getAttribute("token")}set token(t){t?this.setAttribute("token",t):this.removeAttribute("token")}attributeChangedCallback(t,r,o){(t==="url"||t==="token")&&r!==o?this.url&&this.token&&this.load():t!=="url"&&t!=="token"&&super.attributeChangedCallback(t,r,o)}async load(){var l,c,v;let t=!u(this,_e);O(this,de,$c).call(this);let r=this.url,o=this.token;if(!r||!o)return;_(this,Co,new Promise(h=>{_(this,Io,h)})),t&&!u(this,Ye)&&_(this,Ye,JSON.parse(((c=(l=this.shadowRoot)==null?void 0:l.getElementById("config"))==null?void 0:c.textContent)||"{}"));let n=O(this,de,Im).call(this),a=O(this,de,Mm).call(this);_(this,_e,new Oe.Room(n)),this.room=u(this,_e),u(this,_e).on(Oe.RoomEvent.Connected,()=>{_(this,It,"connected")}),u(this,_e).on(Oe.RoomEvent.Disconnected,h=>{if(_(this,It,"disconnected"),h){let p=Object.assign(new Error(`LiveKit disconnected: ${h}`),{code:4001});this.dispatchEvent(new ErrorEvent("error",{error:p,message:p.message}))}else this.dispatchEvent(new Event("ended"))}),u(this,_e).on(Oe.RoomEvent.Reconnecting,()=>{_(this,It,"reconnecting"),this.dispatchEvent(new Event("waiting"))}),u(this,_e).on(Oe.RoomEvent.Reconnected,()=>{_(this,It,"connected"),this.dispatchEvent(new Event("playing"))}),u(this,_e).on(Oe.RoomEvent.TrackSubscribed,(h,p,f)=>{var m,A;if(h.kind===Oe.Track.Kind.Video){let g=h.attach();g.style.width="100%",g.style.height="100%",g.style.objectFit="contain",g.style.position="absolute",g.style.top="0",g.style.left="0",this.nativeEl.muted&&(g.muted=!0),this.nativeEl.style.display="none",(m=this.shadowRoot)==null||m.appendChild(g),_(this,re,g),O(this,de,wm).call(this,g),O(this,de,Cm).call(this,p),this.dispatchEvent(new Event("loadedmetadata")),this.dispatchEvent(new Event("resize")),this.dispatchEvent(new Event("canplay")),this.dispatchEvent(new Event("playing")),(A=u(this,Io))==null||A.call(this)}}),u(this,_e).on(Oe.RoomEvent.TrackUnsubscribed,h=>{h.kind===Oe.Track.Kind.Video&&(h.detach(),O(this,de,Al).call(this),u(this,re)&&(u(this,Ct).forEach(p=>p()),_(this,Ct,[]),u(this,re).remove(),_(this,re,null)))}),_(this,It,"connecting"),this.dispatchEvent(new Event("loadstart"));try{await u(this,_e).connect(r,o,a)}catch(h){_(this,It,"failed"),console.error("[livekit-video] Failed to connect:",h);let p=h instanceof Error?h.message:"Failed to connect to LiveKit room",f=Object.assign(new Error(p),{code:4e3});this.dispatchEvent(new ErrorEvent("error",{error:f,message:p})),(v=u(this,Io))==null||v.call(this)}}async play(){return u(this,Co)&&await u(this,Co),u(this,re)?u(this,re).play():super.play()}pause(){if(u(this,re)){u(this,re).pause();return}super.pause()}get currentTime(){var t;return((t=u(this,re))==null?void 0:t.currentTime)??super.currentTime}set currentTime(t){u(this,_e)||(super.currentTime=t)}get duration(){return 1/0}get paused(){var t;return((t=u(this,re))==null?void 0:t.paused)??super.paused}get volume(){var t;return((t=u(this,re))==null?void 0:t.volume)??super.volume}set volume(t){u(this,re)?u(this,re).volume=t:super.volume=t}get muted(){var t;return((t=u(this,re))==null?void 0:t.muted)??super.muted}set muted(t){u(this,re)?u(this,re).muted=t:super.muted=t}get videoWidth(){var t;return((t=u(this,re))==null?void 0:t.videoWidth)??super.videoWidth}get videoHeight(){var t;return((t=u(this,re))==null?void 0:t.videoHeight)??super.videoHeight}disconnectedCallback(){var t;O(this,de,$c).call(this),(t=super.disconnectedCallback)==null||t.call(this)}};Ye=new WeakMap,_e=new WeakMap,re=new WeakMap,Ct=new WeakMap,wo=new WeakMap,It=new WeakMap,Co=new WeakMap,Io=new WeakMap,de=new WeakSet,$c=function(){u(this,Ct).forEach(t=>t()),_(this,Ct,[]),O(this,de,Al).call(this),u(this,_e)&&(u(this,_e).disconnect(),_(this,_e,null),this.room=null),u(this,re)&&(u(this,re).remove(),_(this,re,null)),_(this,It,"disconnected")},wm=function(t){u(this,Ct).forEach(o=>o()),_(this,Ct,[]);let r=["timeupdate","volumechange","play","playing","pause","resize"];for(let o of r){let n=()=>{this.dispatchEvent(new Event(o))};t.addEventListener(o,n),u(this,Ct).push(()=>t.removeEventListener(o,n))}},Cm=function(t){var l;O(this,de,Al).call(this);let r=(l=t.trackInfo)==null?void 0:l.layers;if(!r||r.length===0)return;let o=this.addVideoTrack("main");o.id="main",o.selected=!0;let n=[...r].sort((c,v)=>c.quality-v.quality);for(let c of n){let v=o.addRendition("",c.width,c.height,void 0,c.bitrate);v.id=`${c.quality}`}let a=()=>{let c=this.videoRenditions.selectedIndex;if(c<0)t.setVideoQuality(Oe.VideoQuality.HIGH);else{let v=n[c];v&&t.setVideoQuality(v.quality)}};this.videoRenditions.addEventListener("change",a),u(this,wo).push(()=>this.videoRenditions.removeEventListener("change",a))},Al=function(){u(this,wo).forEach(t=>t()),_(this,wo,[]);for(let t of this.videoTracks)this.removeVideoTrack(t)},Im=function(){var t,r,o;return{adaptiveStream:((t=u(this,Ye))==null?void 0:t.adaptiveStream)??!1,dynacast:((r=u(this,Ye))==null?void 0:r.dynacast)??!0,disconnectOnPageLeave:((o=u(this,Ye))==null?void 0:o.disconnectOnPageLeave)??!1}},Mm=function(){var t,r;return{autoSubscribe:!0,peerConnectionTimeout:((t=u(this,Ye))==null?void 0:t.peerConnectionTimeout)??8e3,rtcConfig:{iceTransportPolicy:((r=u(this,Ye))==null?void 0:r.iceTransportPolicy)??"relay"}}},Sl=function(t){if(Object.prototype.hasOwnProperty.call(this,t)){let r=this[t];delete this[t],this[t]=r}},Si.shadowRootOptions={...De.shadowRootOptions};globalThis.customElements&&!globalThis.customElements.get("livekit-video")&&globalThis.customElements.define("livekit-video",Si);var Bc=Si;return Gm(zE);})();
2878
+ /*! Bundled license information:
2879
+
2880
+ @lit/reactive-element/css-tag.js:
2881
+ (**
2882
+ * @license
2883
+ * Copyright 2019 Google LLC
2884
+ * SPDX-License-Identifier: BSD-3-Clause
2885
+ *)
2886
+
2887
+ @lit/reactive-element/reactive-element.js:
2888
+ (**
2889
+ * @license
2890
+ * Copyright 2017 Google LLC
2891
+ * SPDX-License-Identifier: BSD-3-Clause
2892
+ *)
2893
+
2894
+ lit-html/lit-html.js:
2895
+ (**
2896
+ * @license
2897
+ * Copyright 2017 Google LLC
2898
+ * SPDX-License-Identifier: BSD-3-Clause
2899
+ *)
2900
+
2901
+ lit-element/lit-element.js:
2902
+ (**
2903
+ * @license
2904
+ * Copyright 2017 Google LLC
2905
+ * SPDX-License-Identifier: BSD-3-Clause
2906
+ *)
2907
+
2908
+ lit-html/is-server.js:
2909
+ (**
2910
+ * @license
2911
+ * Copyright 2022 Google LLC
2912
+ * SPDX-License-Identifier: BSD-3-Clause
2913
+ *)
2914
+
2915
+ @lit/reactive-element/decorators/custom-element.js:
2916
+ (**
2917
+ * @license
2918
+ * Copyright 2017 Google LLC
2919
+ * SPDX-License-Identifier: BSD-3-Clause
2920
+ *)
2921
+
2922
+ @lit/reactive-element/decorators/property.js:
2923
+ (**
2924
+ * @license
2925
+ * Copyright 2017 Google LLC
2926
+ * SPDX-License-Identifier: BSD-3-Clause
2927
+ *)
2928
+
2929
+ @lit/reactive-element/decorators/state.js:
2930
+ (**
2931
+ * @license
2932
+ * Copyright 2017 Google LLC
2933
+ * SPDX-License-Identifier: BSD-3-Clause
2934
+ *)
2935
+
2936
+ @lit/reactive-element/decorators/event-options.js:
2937
+ (**
2938
+ * @license
2939
+ * Copyright 2017 Google LLC
2940
+ * SPDX-License-Identifier: BSD-3-Clause
2941
+ *)
2942
+
2943
+ @lit/reactive-element/decorators/base.js:
2944
+ (**
2945
+ * @license
2946
+ * Copyright 2017 Google LLC
2947
+ * SPDX-License-Identifier: BSD-3-Clause
2948
+ *)
2949
+
2950
+ @lit/reactive-element/decorators/query.js:
2951
+ (**
2952
+ * @license
2953
+ * Copyright 2017 Google LLC
2954
+ * SPDX-License-Identifier: BSD-3-Clause
2955
+ *)
2956
+
2957
+ @lit/reactive-element/decorators/query-all.js:
2958
+ (**
2959
+ * @license
2960
+ * Copyright 2017 Google LLC
2961
+ * SPDX-License-Identifier: BSD-3-Clause
2962
+ *)
2963
+
2964
+ @lit/reactive-element/decorators/query-async.js:
2965
+ (**
2966
+ * @license
2967
+ * Copyright 2017 Google LLC
2968
+ * SPDX-License-Identifier: BSD-3-Clause
2969
+ *)
2970
+
2971
+ @lit/reactive-element/decorators/query-assigned-elements.js:
2972
+ (**
2973
+ * @license
2974
+ * Copyright 2021 Google LLC
2975
+ * SPDX-License-Identifier: BSD-3-Clause
2976
+ *)
2977
+
2978
+ @lit/reactive-element/decorators/query-assigned-nodes.js:
2979
+ (**
2980
+ * @license
2981
+ * Copyright 2017 Google LLC
2982
+ * SPDX-License-Identifier: BSD-3-Clause
2983
+ *)
2984
+ */
2985
+ if (typeof window !== 'undefined') { window.BPPlayer = BPPlayer; }
2986
+ //# sourceMappingURL=bp-player.js.map