UNPKG

@aidenlx/player

Version:

Headless web components that make integrating media on the a web a breeze.

16 lines (13 loc) 2.12 kB
import{a as C,b as m}from"./chunk.IZOPTWJO.js";import{b as l}from"./chunk.KCC3AAG2.js";import{B as h,T as y,U as d,a as n,b as c,ba as f,ia as b,j as u,ja as g,v as a,w as p}from"./chunk.PWTX2M5C.js";var s=class{constructor(e,t){this.e=e;this.Qr=t;this.i=new u;this.Kr=C.consume(e),e.addController({hostConnected:this.cs.bind(this),hostDisconnected:this.hs.bind(this)})}cs(){for(let e of this.Qr){let t=this.Kr.value[e];if(t){let r=this.Jr(e),x=t.subscribe(M=>{this.Xr(e,r,M)});this.i.add(x)}}}hs(){for(let e of this.Qr)this.Yr(e,this.Jr(e));this.i.empty()}Jr(e){return`media-${f(e.replace("media",""))}`}};var _=class extends s{Xr(e,t,r){d(this.e,t,p(r)||a(r)?String(r):!!r)}Yr(e,t){this.e.removeAttribute(t)}};function S(...o){return new _(...o)}var P=class extends s{Xr(e,t,r){this.e.style.setProperty(this.Zr(t),p(r)||a(r)?String(r):null)}Zr(e){return`--vds-${e}`}Yr(e,t){this.e.style.setProperty(this.Zr(t),null)}};function T(...o){return new P(...o)}var w=b` :host { display: block; contain: content; pointer-events: none; } :host([hidden]) { display: none; } ::slotted(*) { pointer-events: auto; } `;var i=class extends g{constructor(){super();this.__mediaFullscreen=!1;this.__mediaIsVideoView=!1;this.__mediaPlaysinline=!1;m(this,"fullscreen",e=>{this.__mediaFullscreen=e}),m(this,"viewType",e=>{this.__mediaIsVideoView=e==="video"}),m(this,"playsinline",e=>{this.__mediaPlaysinline=e}),S(this,["autoplay","autoplayError","canLoad","canPlay","canFullscreen","ended","error","fullscreen","idle","loop","mediaType","muted","paused","playing","playsinline","seeking","started","viewType","waiting"]),T(this,["bufferedAmount","currentTime","duration","seekableAmount"])}static get styles(){return[w]}static get parts(){return[]}update(e){d(this,"hidden",this.ps()),super.update(e)}render(){return this.Me()}Me(){return c`<slot></slot>`}ps(){return h&&this.__mediaIsVideoView&&(!this.__mediaPlaysinline||this.__mediaFullscreen)}};n([l()],i.prototype,"__mediaFullscreen",2),n([l()],i.prototype,"__mediaIsVideoView",2),n([l()],i.prototype,"__mediaPlaysinline",2);y("vds-media-ui",i);