@theoplayer/web-ui 1.7.0 → 1.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -0
- package/dist/THEOplayerUI.d.ts +13 -8
- package/dist/THEOplayerUI.es5.js +2 -2
- package/dist/THEOplayerUI.es5.mjs +2 -2
- package/dist/THEOplayerUI.js +2 -2
- package/dist/THEOplayerUI.js.map +1 -1
- package/dist/THEOplayerUI.mjs +2 -2
- package/dist/THEOplayerUI.mjs.map +1 -1
- package/dist/THEOplayerUI.node.mjs +2 -2
- package/dist/THEOplayerUI.node.mjs.map +1 -1
- package/package.json +5 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* THEOplayer Open Video UI for Web (v1.7.
|
|
2
|
+
* THEOplayer Open Video UI for Web (v1.7.1)
|
|
3
3
|
* License: MIT
|
|
4
4
|
*/import{customElements as t,HTMLElement as e}from"@lit-labs/ssr-dom-shim";function r(t){void 0!==window.ShadyCSS&&!1===window.ShadyCSS.nativeShadow&&window.ShadyCSS.styleElement(t)}function a(t,e){void 0!==window.ShadyCSS&&!1===window.ShadyCSS.nativeCss?window.ShadyCSS.styleSubtree(t,e):null!=e&&/**
|
|
5
5
|
* @license
|
|
@@ -28,5 +28,5 @@ ${e}`)}t.define("theoplayer-button",A),(tV=tB||(tB={}))[tV.ENTER=13]="ENTER",tV[
|
|
|
28
28
|
</slot></span>`,":host(:not([fullscreen])) [part=exit-icon],:host([fullscreen]) [part=enter-icon]{display:none!important}"));class ex extends R(A,["fullscreen"]){static get observedAttributes(){return[...A.observedAttributes,tF.FULLSCREEN]}connectedCallback(){super.connectedCallback(),this._updateAriaLabel()}get fullscreen(){return this.hasAttribute(tF.FULLSCREEN)}set fullscreen(t){v(this,tF.FULLSCREEN,t)}handleClick(){if(this.fullscreen){let t=X(eC,{bubbles:!0,composed:!0});this.dispatchEvent(t)}else{let t=X(eT,{bubbles:!0,composed:!0});this.dispatchEvent(t)}}attributeChangedCallback(t,e,r){super.attributeChangedCallback(t,e,r),ex.observedAttributes.indexOf(t)>=0&&(a(this),this._updateAriaLabel())}_updateAriaLabel(){let t=this.fullscreen?"exit fullscreen":"enter fullscreen";this.setAttribute(tF.ARIA_LABEL,t)}constructor(){super({template:ew()}),this._upgradeProperty("fullscreen")}}t.define("theoplayer-fullscreen-button",ex);class eS{add(t,e,r){if((e=Math.max(e,0))>=(r=Math.min(r,100)))return;let a=c(this._stops,t=>{let[,r]=t;return e<=r});if(a<0)return;let[i,s]=this._stops[a],o=[];if(e>0&&o.push([i,e]),o.push([t,r]),r<s)o.push([i,s]),this._stops.splice(a,1,...o);else{let t=a+1;for(;t<this._stops.length&&!(r<this._stops[t][1]);)t++;this._stops.splice(a,t-a,...o)}}toGradientStops(){let t=[],e=0;for(let[r,a]of this._stops)a<e||(t.push(`${r} ${e}%`),t.push(`${r} ${a}%`),e=a);return t.join(", ")}constructor(){this._stops=[["transparent",100]]}}function eL(t,e){return void 0===e&&(e=""),`<style>:host{--thumb-height:var(--theoplayer-range-thumb-height,10px);--track-height:var(--theoplayer-range-track-height,4px);--theoplayer-range-padding:var(--theoplayer-control-padding,10px);background:transparent;background:var(--theoplayer-control-background,transparent);box-sizing:border-box;display:inline-block;font-size:0;height:44px;height:calc(var(--theoplayer-control-height, 24px) + var(--theoplayer-range-padding)*2);padding-left:10px;padding-left:var(--theoplayer-range-padding-left,var(--theoplayer-range-padding));padding-right:10px;padding-right:var(--theoplayer-range-padding-right,var(--theoplayer-range-padding));pointer-events:auto;position:relative;transition:background .15s linear;vertical-align:middle;width:100px}:host([hidden]){display:none!important}:host(:hover:not([disabled])){background:transparent;background:var(--theoplayer-control-hover-background,var(--theoplayer-control-background,transparent))}[part=container]{height:100%;position:relative}[part=background],[part=pointer]{border-radius:0;border-radius:var(--theoplayer-range-track-border-radius,0);height:var(--track-height);position:absolute;top:50%;transform:translateY(-50%);transform:translate(var(--theoplayer-range-track-translate-x,0),calc(var(--theoplayer-range-track-translate-y, 0px) - 50%))}[part=background]{background:hsla(0,0%,100%,.2);background:var(--theoplayer-range-track-background,hsla(0,0%,100%,.2));min-width:40px;width:100%;width:var(--theoplayer-range-track-width,100%)}[part=pointer]{background:transparent;background:var(--theoplayer-range-track-pointer-background,transparent);border-right:none;border-right:var(--theoplayer-range-track-pointer-border-right,none);opacity:0;transition:visibility .25s,opacity .25s;visibility:hidden}:host(:hover:not([disabled])) [part=pointer]{opacity:1;transition:visibility .5s,opacity .5s;visibility:visible}input[type=range]{-webkit-appearance:none;background:transparent;box-sizing:border-box;margin:0;min-height:100%;padding:0;position:relative;width:100%;width:var(--theoplayer-range-track-width,100%)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;background:var(--theoplayer-range-thumb-background,#fff);border:none;border:var(--theoplayer-range-thumb-border,none);border-radius:10px;border-radius:var(--theoplayer-range-thumb-border-radius,10px);box-shadow:1px 1px 1px transparent;box-shadow:var(--theoplayer-range-thumb-box-shadow,1px 1px 1px transparent);cursor:pointer;height:auto;height:var(--thumb-height,auto);margin-top:calc(0px - var(--thumb-height)/2 + var(--track-height)/2);opacity:1;opacity:var(--theoplayer-range-thumb-opacity,1);transform:none;transform:var(--theoplayer-range-thumb-transform,none);-webkit-transition:none;transition:none;-webkit-transition:var(--theoplayer-range-thumb-transition,none);transition:var(--theoplayer-range-thumb-transition,none);width:10px;width:var(--theoplayer-range-thumb-width,10px)}input[type=range]::-moz-range-thumb{background:#fff;background:var(--theoplayer-range-thumb-background,#fff);border:none;border:var(--theoplayer-range-thumb-border,none);border-radius:10px;border-radius:var(--theoplayer-range-thumb-border-radius,10px);box-shadow:1px 1px 1px transparent;box-shadow:var(--theoplayer-range-thumb-box-shadow,1px 1px 1px transparent);cursor:pointer;height:auto;height:var(--thumb-height,auto);opacity:1;opacity:var(--theoplayer-range-thumb-opacity,1);transform:none;transform:var(--theoplayer-range-thumb-transform,none);-moz-transition:none;transition:none;-moz-transition:var(--theoplayer-range-thumb-transition,none);transition:var(--theoplayer-range-thumb-transition,none);translate:0 0;translate:var(--theoplayer-range-track-translate-x,0) var(--theoplayer-range-track-translate-y,0);width:10px;width:var(--theoplayer-range-thumb-width,10px)}input[type=range]::-ms-thumb{background:#fff;background:var(--theoplayer-range-thumb-background,#fff);border:none;border:var(--theoplayer-range-thumb-border,none);border-radius:10px;border-radius:var(--theoplayer-range-thumb-border-radius,10px);box-shadow:1px 1px 1px transparent;box-shadow:var(--theoplayer-range-thumb-box-shadow,1px 1px 1px transparent);cursor:pointer;height:auto;height:var(--thumb-height,auto);opacity:1;opacity:var(--theoplayer-range-thumb-opacity,1);transform:none;transform:var(--theoplayer-range-thumb-transform,none);-ms-transition:none;transition:none;-ms-transition:var(--theoplayer-range-thumb-transition,none);transition:var(--theoplayer-range-thumb-transition,none);width:10px;width:var(--theoplayer-range-thumb-width,10px)}:host([disabled]) input[type=range]::-webkit-slider-thumb{display:none}:host([disabled]) input[type=range]::-moz-range-thumb{display:none}:host([disabled]) input[type=range]::-ms-thumb{display:none}input[type=range]::-webkit-slider-runnable-track{background:#fff;background:var(--theoplayer-range-track-progress-internal,var(--theoplayer-range-bar-color,#fff));border:none;border:var(--theoplayer-range-track-border,none);border-radius:0;border-radius:var(--theoplayer-range-track-border-radius,0);box-shadow:none;box-shadow:var(--theoplayer-range-track-box-shadow,none);cursor:pointer;height:var(--track-height);min-width:40px;outline:var(--theoplayer-range-track-outline);outline-offset:var(--theoplayer-range-track-outline-offset);transform:translate(0);transform:translate(var(--theoplayer-range-track-translate-x,0),var(--theoplayer-range-track-translate-y,0));-webkit-transition:none;transition:none;-webkit-transition:var(--theoplayer-range-track-transition,none);transition:var(--theoplayer-range-track-transition,none);width:100%;width:var(--theoplayer-range-track-width,100%)}input[type=range]::-moz-range-track{background:#fff;background:var(--theoplayer-range-track-progress-internal,var(--theoplayer-range-bar-color,#fff));border:none;border:var(--theoplayer-range-track-border,none);border-radius:0;border-radius:var(--theoplayer-range-track-border-radius,0);box-shadow:none;box-shadow:var(--theoplayer-range-track-box-shadow,none);cursor:pointer;height:var(--track-height);min-width:40px;outline:var(--theoplayer-range-track-outline);outline-offset:var(--theoplayer-range-track-outline-offset);transform:translate(0);transform:translate(var(--theoplayer-range-track-translate-x,0),var(--theoplayer-range-track-translate-y,0));-moz-transition:none;transition:none;-moz-transition:var(--theoplayer-range-track-transition,none);transition:var(--theoplayer-range-track-transition,none);width:100%;width:var(--theoplayer-range-track-width,100%)}input[type=range]::-ms-track{background:transparent;background:#fff;background:var(--theoplayer-range-track-progress-internal,var(--theoplayer-range-bar-color,#fff));border:none;border:var(--theoplayer-range-track-border,none);border-radius:0;border-radius:var(--theoplayer-range-track-border-radius,0);box-shadow:none;box-shadow:var(--theoplayer-range-track-box-shadow,none);color:transparent;cursor:pointer;height:var(--track-height);min-width:40px;outline:var(--theoplayer-range-track-outline);outline-offset:var(--theoplayer-range-track-outline-offset);transform:translate(0);transform:translate(var(--theoplayer-range-track-translate-x,0),var(--theoplayer-range-track-translate-y,0));-ms-transition:none;transition:none;-ms-transition:var(--theoplayer-range-track-transition,none);transition:var(--theoplayer-range-track-transition,none);width:100%;width:var(--theoplayer-range-track-width,100%)}input[type=range]::-ms-fill-lower,input[type=range]::-ms-fill-upper,input[type=range]::-ms-tooltip{display:none}:host([disabled]) input[type=range]::-webkit-slider-runnable-track{cursor:default}:host([disabled]) input[type=range]::-moz-range-track{cursor:default}:host([disabled]) input[type=range]::-ms-track{cursor:default}input[type=range]:focus{box-shadow:inset 0 0 0 2px rgba(27,127,204,.9);box-shadow:inset 0 0 0 2px var(--theoplayer-focus-ring-color,rgba(27,127,204,.9));outline:0}input[type=range]:focus:not(:focus-visible){box-shadow:none}input[type=range]:focus::-webkit-slider-runnable-track{outline:0}
|
|
29
29
|
${e}</style><div part="container"><div part="background"></div><div part="pointer"></div>${t}</div>`}class eP extends R(e,["deviceType"]){static get observedAttributes(){return[tF.DISABLED,tF.HIDDEN]}_upgradeProperty(t){if(this.hasOwnProperty(t)){let e=this[t];delete this[t],this[t]=e}}connectedCallback(){r(this),this._rangeEl.setAttribute(tF.ARIA_LABEL,this.getAriaLabel()),this.update(),this.addEventListener("pointermove",this._updatePointerBar)}disconnectedCallback(){this.removeEventListener("pointermove",this._updatePointerBar)}get disabled(){return this.hasAttribute(tF.DISABLED)}set disabled(t){v(this,tF.DISABLED,t)}get value(){return this._rangeEl.valueAsNumber}set value(t){this._rangeEl.valueAsNumber=t,this.handleInput()}get min(){return Number(this._rangeEl.min)}set min(t){this._rangeEl.min=String(t),this.update()}get max(){return Number(this._rangeEl.max)}set max(t){this._rangeEl.max=String(t),this.update()}get step(){let t=this._rangeEl.step;return"any"===t?t:Number(t)}set step(t){this._rangeEl.step=String(t)}get deviceType(){return this.getAttribute(tF.DEVICE_TYPE)||"desktop"}set deviceType(t){this.setAttribute(tF.DEVICE_TYPE,t)}attributeChangedCallback(t,e,r){if(r===e)return;let i=null!=r;t===tF.DISABLED?(this.setAttribute("aria-disabled",i?"true":"false"),v(this._rangeEl,tF.DISABLED,i)):t!==tF.HIDDEN||i||this.update(),eP.observedAttributes.indexOf(t)>=0&&a(this)}handleInput(){this.update()}update(){this.hasAttribute(tF.HIDDEN)||(this._rangeEl.setAttribute("aria-valuetext",this.getAriaValueText()),this.updateBar_())}updateBar_(){let t=this.getBarColors().toGradientStops();a(this,{"--theoplayer-range-track-progress-internal":`linear-gradient(to right, ${t})`})}getBarColors(){let t=this.value-this.min,e=this.max-this.min,r=t/e*100;isNaN(r)&&(r=0);let a=this._rangeEl.offsetWidth;a>0&&(this._lastRangeWidth=a);let i=0;if(this.min<this.value&&this.value<this.max){let t=getComputedStyle(this).getPropertyValue("--theoplayer-range-thumb-width")||"10px",e=parseInt(t)*(.5-r/100);i=e/this._lastRangeWidth*100}let s=new eS;return s.add("var(--theoplayer-range-bar-color, #fff)",0,r+i),s}updatePointer_(t,e){this._pointerEl.style.width=`${t*e.width}px`}handleKeyDown_(t){"tv"===this.deviceType&&T(t.keyCode)&&(t.keyCode===tB.LEFT||t.keyCode===tB.RIGHT?t.stopPropagation():(t.keyCode===tB.UP||t.keyCode===tB.DOWN)&&t.preventDefault())}constructor(t){super(),this._lastRangeWidth=0,this._onInput=()=>{this.handleInput()},this._updatePointerBar=t=>{if(this.disabled)return;let e=this._rangeEl.getBoundingClientRect(),r=(t.clientX-e.left)/e.width;r=Math.max(0,Math.min(1,r)),this.updatePointer_(r,e)},this._onKeyDown=t=>{this.handleKeyDown_(t)};let e=this.attachShadow({mode:"open"});e.appendChild(t.template.content.cloneNode(!0)),this._rangeEl=e.querySelector('input[type="range"]'),this._rangeEl.addEventListener("input",this._onInput),this._rangeEl.addEventListener("change",this._onInput),this._rangeEl.addEventListener("keydown",this._onKeyDown),this._pointerEl=e.querySelector('[part="pointer"]'),this._upgradeProperty("disabled"),this._upgradeProperty("value"),this._upgradeProperty("min"),this._upgradeProperty("max"),this._upgradeProperty("step"),this._upgradeProperty("deviceType")}}let eR="theoplayerpreviewtimechange";function eI(t){return"linear"===t.type}let eM=i(),eO=["addtrack","removetrack"];class eD extends R(e,["player","previewTime"]){_upgradeProperty(t){if(this.hasOwnProperty(t)){let e=this[t];delete this[t],this[t]=e}}connectedCallback(){r(this)}get player(){return this._player}set player(t){this._player!==t&&(void 0!==this._player&&this._player.textTracks.removeEventListener(eO,this._updateThumbnailTextTrack),this._player=t,this._updateThumbnailTextTrack(),void 0!==this._player&&this._player.textTracks.addEventListener(eO,this._updateThumbnailTextTrack))}get previewTime(){return this._previewTime}set previewTime(t){this._previewTime=t,this.updateThumbnail_()}updateThumbnail_(){let t=this._thumbnailTextTrack;if(void 0===t){this.hideThumbnail_();return}"disabled"===t.mode&&(t.mode="hidden");let e=function(t,e){if(0===t.length)return;let r=t[0];for(let a of t)if(a.startTime<=e)r=a;else if(e>=a.endTime)break;return r}(t.cues,this._previewTime);if(void 0===e){this.hideThumbnail_();return}let r=e.content.trim(),a=function(t){let e=t.match(/^(.+)#xywh=(\d+),(\d+),(\d+),(\d+)$/);if(!e)return;let[,r,a,i,s,o]=e;return{url:r,x:+a,y:+i,w:+s,h:+o}}(r),i=a?a.url:r;if(i=new URL(i,t.src||location.href).href,this._lastLoadedThumbnailUrl!==i){this.loadThumbnailImage_(i);return}this.showThumbnail_(a)}loadThumbnailImage_(t){if(this._thumbnailImageSource.src===t)return;let e=()=>{this._lastLoadedThumbnailUrl=t,this.updateThumbnail_()};"function"==typeof this._thumbnailImageSource.decode?(this._thumbnailImageSource.src=t,this._thumbnailImageSource.decode().then(e,n)):(this._thumbnailImageSource.onload=e,this._thumbnailImageSource.src="",this._thumbnailImageSource.src=t)}showThumbnail_(t){t?(this._canvasEl.width=t.w,this._canvasEl.height=t.h,this._canvasContext.drawImage(this._thumbnailImageSource,t.x,t.y,t.w,t.h,0,0,t.w,t.h)):(this._canvasEl.width=this._thumbnailImageSource.naturalWidth,this._canvasEl.height=this._thumbnailImageSource.naturalHeight,this._canvasContext.drawImage(this._thumbnailImageSource,0,0)),this._canvasEl.style.display="block"}hideThumbnail_(){this._canvasEl.style.display="none"}constructor(){super(),this._previewTime=NaN,this._updateThumbnailTextTrack=()=>{let t=this._thumbnailTextTrack,e=this._player?p(this._player.textTracks,eN):void 0;t!==e&&(this._thumbnailTextTrack=e,this.updateThumbnail_())};let t=this.attachShadow({mode:"open"});t.appendChild(eM().content.cloneNode(!0)),this._canvasEl=t.querySelector("canvas"),this._canvasContext=this._canvasEl.getContext("2d"),this._thumbnailImageSource=document.createElement("img"),this._thumbnailImageSource.decoding="async",this._upgradeProperty("previewTime"),this._upgradeProperty("player")}}function eN(t){return"metadata"===t.kind&&"thumbnails"===t.label}t.define("theoplayer-preview-thumbnail",eD);let eF=i(),eB=["timeupdate","seeking","seeked","durationchange"];class eq extends R(e,["player","previewTime","streamType"]){static get observedAttributes(){return[tF.REMAINING,tF.REMAINING_WHEN_LIVE,tF.STREAM_TYPE]}_upgradeProperty(t){if(this.hasOwnProperty(t)){let e=this[t];delete this[t],this[t]=e}}connectedCallback(){r(this),this._update()}get previewTime(){return this._previewTime}set previewTime(t){this._previewTime=t,this._update()}get streamType(){return this.getAttribute(tF.STREAM_TYPE)||"vod"}set streamType(t){this.setAttribute(tF.STREAM_TYPE,t)}get player(){return this._player}set player(t){this._player!==t&&(void 0!==this._player&&this._player.removeEventListener(eB,this._update),this._player=t,this._update(),void 0!==this._player&&this._player.addEventListener(eB,this._update))}attributeChangedCallback(t,e,r){r!==e&&eq.observedAttributes.indexOf(t)>=0&&(this._update(),a(this))}constructor(){super(),this._previewTime=NaN,this._update=()=>{var t;let e=this._previewTime,r=this._player?this._player.duration:NaN,a=null==(t=this._player)?void 0:t.seekable,i=isFinite(r)?r:a&&a.length>0?a.end(0):NaN,s=this.hasAttribute(tF.REMAINING)||this.hasAttribute(tF.REMAINING_WHEN_LIVE)&&"vod"!==this.streamType;s&&(e=-((i||0)-e)),g(this._spanEl,H(e,i,s))};let t=this.attachShadow({mode:"open"});t.appendChild(eF().content.cloneNode(!0)),this._spanEl=t.querySelector("span"),this._upgradeProperty("previewTime"),this._upgradeProperty("player")}}t.define("theoplayer-preview-time-display",eq);let eU=i("theoplayer-time-range",eL('<input type="range" min="0" max="1000" step="any" value="0"><div class="theoplayer-time-range-preview-rail"><div part="box preview-box"><slot name="preview"><theoplayer-preview-thumbnail></theoplayer-preview-thumbnail><theoplayer-preview-time-display remaining-when-live></theoplayer-preview-time-display></slot></div></div>',"input[type=range]{direction:ltr}.theoplayer-time-range-preview-rail{bottom:100%;left:0;opacity:0;pointer-events:none;position:absolute;transition:visibility .25s,opacity .25s;visibility:hidden;width:1%}:host(:hover:not([disabled])) .theoplayer-time-range-preview-rail{opacity:1;transition:visibility .5s,opacity .5s;visibility:visible}[part~=box]{align-items:center;bottom:100%;display:flex;flex-direction:column;font-size:14px;font-size:var(--theoplayer-text-font-size,14px);line-height:24px;line-height:var(--theoplayer-text-content-height,var(--theoplayer-control-height,24px));position:absolute;text-shadow:0 0 4px rgba(0,0,0,.75);text-shadow:var(--theoplayer-preview-text-shadow,0 0 4px rgba(0,0,0,.75));transform:translateX(-50%)}")),eV=["timeupdate","durationchange","ratechange","seeking","seeked"],eH=["play","pause","ended","readystatechange","error"],eG=["adbreakbegin","adbreakend","adbreakchange","updateadbreak","adbegin","adend","adskip","addad","updatead"];class eY extends R(eP,["player","streamType","deviceType"]){static get observedAttributes(){return[...eP.observedAttributes,tF.SHOW_AD_MARKERS]}connectedCallback(){super.connectedCallback(),this._toggleAutoAdvance()}disconnectedCallback(){super.disconnectedCallback(),this._toggleAutoAdvance()}get player(){return this._player}set player(t){var e,r;this._player!==t&&(void 0!==this._player&&(this._player.removeEventListener(eV,this._updateFromPlayer),this._player.removeEventListener(eH,this._toggleAutoAdvance),null==(e=this._player.ads)||e.removeEventListener(eG,this._onAdChange)),this._player=t,this._updateFromPlayer(),this._toggleAutoAdvance(),void 0!==this._player&&(this._player.addEventListener(eV,this._updateFromPlayer),this._player.addEventListener(eH,this._toggleAutoAdvance),null==(r=this._player.ads)||r.addEventListener(eG,this._onAdChange)))}get streamType(){return this.getAttribute(tF.STREAM_TYPE)||"vod"}set streamType(t){this.setAttribute(tF.STREAM_TYPE,t)}getAriaLabel(){return"seek"}getAriaValueText(){let t=Q(this.value),e=Q(this.max);return t&&e?`${t} of ${e}`:"video not loaded, unknown time"}attributeChangedCallback(t,e,r){super.attributeChangedCallback(t,e,r),r!==e&&(t===tF.STREAM_TYPE?this._updateDisabled():t===tF.SHOW_AD_MARKERS&&this.update(),eY.observedAttributes.indexOf(t)>=0&&a(this))}handleInput(){void 0!==this._player&&this._player.currentTime!==this.value&&(this._player.currentTime=this.value),super.handleInput()}shouldAutoAdvance_(){return this.isConnected&&void 0!==this._player&&!this._player.paused&&!this._player.ended&&!this._player.errorObject&&this._player.readyState>=3}updatePointer_(t,e){super.updatePointer_(t,e);let r=e.left+t*e.width,a=this._previewBoxEl.getBoundingClientRect(),i=e.left+a.width/2,s=e.right-a.width/2;r=Math.max(i,Math.min(s,r));let o=(r-e.left)/e.width;if(this._previewRailEl.style.transform=`translateX(${(1e4*o).toFixed(6)}%)`,void 0===this._player)return;let{min:n,max:l}=this,h=n+t*(l-n),u=X(eR,{bubbles:!0,composed:!0,detail:{previewTime:h}});this.dispatchEvent(u)}getBarColors(){let t=super.getBarColors();if(!this.hasAttribute(tF.SHOW_AD_MARKERS)||!this._player||!this._player.ads||this._player.ads.playing)return t;let{min:e,max:r}=this;for(let a of this._player.ads.scheduledAdBreaks){if(void 0!==a.ads&&a.ads.length>0&&!a.ads.some(eI))continue;let i=a.timeOffset;if(i<0&&(i=this._player.duration),e<=i&&i<=r){let a,s;let o=(i-e)/(r-e)*100;o+1<100?(a=o,s=o+1):(a=99,s=100),t.add("var(--theoplayer-time-range-ad-marker-color, #ffc50f)",a,s)}}return t}handleKeyDown_(t){super.handleKeyDown_(t),"tv"===this.deviceType&&t.keyCode===tB.ENTER&&void 0!==this._player&&(this._player.paused?this._player.play():this._player.pause())}constructor(){super({template:eU()}),this._pausedWhileScrubbing=!1,this._autoAdvanceId=0,this._lastUpdateTime=0,this._lastCurrentTime=0,this._lastPlaybackRate=0,this._updateFromPlayer=()=>{if(void 0===this._player)return;this._lastUpdateTime=performance.now(),this._lastCurrentTime=this._player.currentTime,this._lastPlaybackRate=this._player.playbackRate;let t=this._player.seekable;if(0!==t.length?(this.min=t.start(0),this.max=t.end(0)):(this.min=0,this.max=this._player.duration),!isFinite(this._lastCurrentTime)){let t=this._player.duration===1/0;this._lastCurrentTime=t?this.max:this.min}this._rangeEl.valueAsNumber=this._lastCurrentTime,this.update(),this._updateDisabled()},this._updateDisabled=()=>{let t="live"===this.streamType;void 0!==this._player&&(t||(t=0===this._player.seekable.length)),this.disabled!==t&&(this.disabled=t)},this._pauseOnScrubStart=()=>{this._pausedWhileScrubbing||void 0===this._player||this._player.paused||(this._pausedWhileScrubbing=!0,this._player.pause(),document.addEventListener("mouseup",this._playOnScrubEnd),document.addEventListener("touchend",this._playOnScrubEnd))},this._playOnScrubEnd=()=>{this._pausedWhileScrubbing&&(this._pausedWhileScrubbing=!1,document.removeEventListener("mouseup",this._playOnScrubEnd),document.removeEventListener("touchend",this._playOnScrubEnd),void 0!==this._player&&this._player.paused&&this._player.play())},this._toggleAutoAdvance=()=>{this.shouldAutoAdvance_()?0===this._autoAdvanceId&&(this._updateFromPlayer(),this._autoAdvanceId=requestAnimationFrame(this._autoAdvanceWhilePlaying)):0!==this._autoAdvanceId&&(this._updateFromPlayer(),cancelAnimationFrame(this._autoAdvanceId),this._autoAdvanceId=0)},this._autoAdvanceWhilePlaying=()=>{if(!this.shouldAutoAdvance_()){this._autoAdvanceId=0;return}let t=(performance.now()-this._lastUpdateTime)/1e3;this._rangeEl.valueAsNumber=this._lastCurrentTime+t*this._lastPlaybackRate,this.update(),this._autoAdvanceId=requestAnimationFrame(this._autoAdvanceWhilePlaying)},this._onAdChange=()=>{this.update()},this._previewRailEl=this.shadowRoot.querySelector(".theoplayer-time-range-preview-rail"),this._previewBoxEl=this._previewRailEl.querySelector('[part~="preview-box"]'),this._rangeEl.setAttribute(tF.ARIA_LIVE,"off"),this._rangeEl.addEventListener("mousedown",this._pauseOnScrubStart),this._rangeEl.addEventListener("touchstart",this._pauseOnScrubStart),this._upgradeProperty("player")}}t.define("theoplayer-time-range",eY);let eQ=i("theoplayer-volume-range",eL('<input type="range" min="0" max="1" step="any" value="0">'));class ez extends R(eP,["player","deviceType"]){get player(){return this._player}set player(t){this._player!==t&&(void 0!==this._player&&this._player.removeEventListener("volumechange",this._updateFromPlayer),this._player=t,this._updateFromPlayer(),void 0!==this._player&&this._player.addEventListener("volumechange",this._updateFromPlayer))}getAriaLabel(){return"volume"}getAriaValueText(){var t,e;return t=this.value,e=this.max,`${Math.round(t/e*100)}%`}handleInput(){void 0!==this._player&&this._player.volume!==this.value&&(this._player.volume=this.value),super.handleInput()}constructor(){super({template:eQ()}),this._updateFromPlayer=()=>{void 0!==this._player&&(this.value=this._player.volume)},this._upgradeProperty("player")}}t.define("theoplayer-volume-range",ez);let e$=i();class eK extends R(e,["error","fullscreen"]){static get observedAttributes(){return[tF.FULLSCREEN]}_upgradeProperty(t){if(this.hasOwnProperty(t)){let e=this[t];delete this[t],this[t]=e}}connectedCallback(){r(this)}get error(){return this._error}set error(t){this._error=t,g(this._messageSlot,t?t.message:"")}get fullscreen(){return this.hasAttribute(tF.FULLSCREEN)}set fullscreen(t){v(this,tF.FULLSCREEN,t)}attributeChangedCallback(t,e,r){eK.observedAttributes.indexOf(t)>=0&&a(this)}constructor(){super();let t=this.attachShadow({mode:"open",delegatesFocus:!0});t.appendChild(e$().content.cloneNode(!0)),this._messageSlot=t.querySelector('slot[name="message"]'),this._upgradeProperty("error")}}t.define("theoplayer-error-display",eK);class eW extends A{static get observedAttributes(){return[...A.observedAttributes,tF.CAST_STATE]}connectedCallback(){super.connectedCallback(),this.hasAttribute(tF.CAST_STATE)||this.setAttribute(tF.CAST_STATE,"unavailable"),this._updateCastState()}get castApi(){return this._castApi}set castApi(t){void 0!==this._castApi&&this._castApi.removeEventListener("statechange",this._updateCastState),this._castApi=t,this._updateCastState(),void 0!==this._castApi&&this._castApi.addEventListener("statechange",this._updateCastState)}get castState(){return this.getAttribute(tF.CAST_STATE)}handleClick(){if(this._castApi){this._updateCastState();let t=this.castState;"available"===t?this._castApi.start():("connecting"===t||"connected"===t)&&this._castApi.stop()}}attributeChangedCallback(t,e,r){super.attributeChangedCallback(t,e,r),eW.observedAttributes.indexOf(t)>=0&&a(this)}constructor(t){super(t),this._updateCastState=()=>{let t=this._castApi?this._castApi.state:"unavailable";this.setAttribute(tF.CAST_STATE,t)},this._upgradeProperty("castState"),this._upgradeProperty("castApi")}}let eZ=i("theoplayer-chromecast-button",k('<span part="icon"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" height="24" width="24"><defs><clipPath id="theoplayer-chromecast-rings-mask"><path d="M0-36h44V0H0z"/></clipPath></defs><path class="theoplayer-chromecast-outer" d="M2 10a4 4 0 0 1 4-4h36a4 4 0 0 1 4 4v28a4 4 0 0 1-4 4H28v-4h14V10H6v6H2z"/><path class="theoplayer-chromecast-inner" d="M10 14h28v20H26.74A26 26 0 0 0 10 17.26z"/><g class="theoplayer-chromecast-rings" fill="none" stroke="currentColor" stroke-width="4" transform="translate(2 42)" clip-path="url(#theoplayer-chromecast-rings-mask)"><circle stroke="none" cx="0" cy="0" r="30"/><circle class="theoplayer-chromecast-ring theoplayer-chromecast-ring1" stroke-width="6" cx="0" cy="0" r="3"/><circle class="theoplayer-chromecast-ring theoplayer-chromecast-ring2" cx="0" cy="0" r="12"/><circle class="theoplayer-chromecast-ring theoplayer-chromecast-ring3" cx="0" cy="0" r="20"/><path class="theoplayer-chromecast-ring theoplayer-chromecast-ring4" stroke-linecap="round" d="M0-20A20 20 0 0 1 20 0"/></g></svg></span>',":host([cast-state=unavailable]){display:none!important}:host([cast-state=connecting]) .theoplayer-chromecast-ring{animation:.9s linear infinite}:host([cast-state=connecting]) .theoplayer-chromecast-ring1{animation-name:theoplayer-chromecast-connecting-ring1}:host([cast-state=connecting]) .theoplayer-chromecast-ring2{animation-name:theoplayer-chromecast-connecting-ring2}:host([cast-state=connecting]) .theoplayer-chromecast-ring3{animation-name:theoplayer-chromecast-connecting-ring3}:host([cast-state=connecting]) .theoplayer-chromecast-ring4{animation-name:theoplayer-chromecast-connecting-ring4}.theoplayer-chromecast-inner{opacity:0;transition:opacity .5s ease-in-out}:host([cast-state=connected]) .theoplayer-chromecast-inner{opacity:1}.theoplayer-chromecast-rings{-webkit-clip-path:polygon(50% -100%,50% 50%,100% 50%,100% -100%);clip-path:polygon(50% -100%,50% 50%,100% 50%,100% -100%)}@keyframes theoplayer-chromecast-connecting-ring1{0%,37.5%{transform:scale(0)}62.5%,to{transform:scale(1)}}@keyframes theoplayer-chromecast-connecting-ring2{0%,20%{stroke-width:24;transform:scale(.25)}35%{stroke-width:10;transform:scale(.5)}55%,to{stroke-width:4;transform:scale(1)}}@keyframes theoplayer-chromecast-connecting-ring3{0%,15%{stroke-width:6.66667;transform:scale(.6)}45%,to{stroke-width:4;transform:scale(1)}}@keyframes theoplayer-chromecast-connecting-ring4{0%{stroke-width:4;stroke-dashoffset:0;stroke-dasharray:32,99;opacity:1;transform:scale(1)}35%{stroke-width:2.8571;stroke-dashoffset:-18;stroke-dasharray:0,99;opacity:1;transform:scale(1.4)}50%{stroke-width:0;stroke-dashoffset:-18;stroke-dasharray:0,99;opacity:1;transform:scale(1.5)}50.001%,to{opacity:0}}")),ej="theoplayer-chromecast-rings-mask",eJ=0;class eX extends R(eW,["player"]){connectedCallback(){super.connectedCallback(),this._updateAriaLabel()}get player(){return this._player}set player(t){var e;this._player=t,this.castApi=null==t?void 0:null==(e=t.cast)?void 0:e.chromecast}attributeChangedCallback(t,e,r){super.attributeChangedCallback(t,e,r),eX.observedAttributes.indexOf(t)>=0&&this._updateAriaLabel()}_updateAriaLabel(){let t="connecting"===this.castState||"connected"===this.castState?"stop casting to Chromecast":"start casting to Chromecast";this.setAttribute(tF.ARIA_LABEL,t)}constructor(){super({template:eZ()});let t=++eJ,e=this.shadowRoot.querySelector(`svg clipPath#${ej}`),r=this.shadowRoot.querySelector("svg .theoplayer-chromecast-rings"),a=`${ej}-${t}`;null==e||e.setAttribute("id",a),r.setAttribute("clip-path",a),this._upgradeProperty("player")}}t.define("theoplayer-chromecast-button",eX);let e0=i(),e5=["statechange"];class e2 extends R(e,["player"]){_upgradeProperty(t){if(this.hasOwnProperty(t)){let e=this[t];delete this[t],this[t]=e}}connectedCallback(){r(this),this.hasAttribute(tF.HIDDEN)||this.setAttribute(tF.HIDDEN,""),this._updateFromPlayer()}get player(){return this._player}set player(t){var e,r,a,i,s,o;this._player!==t&&(null==(a=this._player)||null==(r=a.cast)||null==(e=r.chromecast)||e.removeEventListener(e5,this._updateFromPlayer),this._player=t,this._updateFromPlayer(),null==(o=this._player)||null==(s=o.cast)||null==(i=s.chromecast)||i.addEventListener(e5,this._updateFromPlayer))}constructor(){super(),this._updateFromPlayer=()=>{var t,e;let r=null==(e=this._player)?void 0:null==(t=e.cast)?void 0:t.chromecast;if(void 0===r||"connected"!==r.state){this.setAttribute(tF.HIDDEN,"");return}g(this._receiverNameEl,r.receiverName||""),this.removeAttribute(tF.HIDDEN)};let t=this.attachShadow({mode:"open"});t.appendChild(e0().content.cloneNode(!0)),this._receiverNameEl=t.querySelector('[part="receiver"]'),this._upgradeProperty("player")}}t.define("theoplayer-chromecast-display",e2);let e1=i("theoplayer-airplay-button",k('<span part="icon"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" height="24" width="24"><path class="theoplayer-airplay-inner" d="M5 7h14v8H5z"/><path d="M6 22h12l-6-6zM21 3H3c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h4v-2H3V5h18v12h-4v2h4c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"/></svg></span>',":host([cast-state=unavailable]){display:none!important}.theoplayer-airplay-inner{opacity:0;transition:opacity .5s ease-in-out}:host([cast-state=connected]) .theoplayer-airplay-inner{opacity:1}"));class e3 extends R(eW,["player"]){connectedCallback(){super.connectedCallback(),this._updateAriaLabel()}get player(){return this._player}set player(t){var e;this._player=t,this.castApi=null==t?void 0:null==(e=t.cast)?void 0:e.airplay}attributeChangedCallback(t,e,r){super.attributeChangedCallback(t,e,r),e3.observedAttributes.indexOf(t)>=0&&this._updateAriaLabel()}_updateAriaLabel(){let t="connecting"===this.castState||"connected"===this.castState?"stop playing on AirPlay":"start playing on AirPlay";this.setAttribute(tF.ARIA_LABEL,t)}constructor(){super({template:e1()}),this._upgradeProperty("player")}}t.define("theoplayer-airplay-button",e3);let e8=i(),e7=["readystatechange","play","pause","playing","seeking","seeked"];class e4 extends R(e,["player"]){static get observedAttributes(){return[tF.LOADING]}_upgradeProperty(t){if(this.hasOwnProperty(t)){let e=this[t];delete this[t],this[t]=e}}connectedCallback(){r(this),this._updateFromPlayer()}get player(){return this._player}set player(t){this._player!==t&&(void 0!==this._player&&this._player.removeEventListener(e7,this._updateFromPlayer),this._player=t,this._updateFromPlayer(),void 0!==this._player&&this._player.addEventListener(e7,this._updateFromPlayer))}attributeChangedCallback(t,e,r){e4.observedAttributes.indexOf(t)>=0&&a(this)}constructor(){super(),this._updateFromPlayer=()=>{let t=void 0!==this._player&&!this._player.paused&&(this._player.seeking||this._player.readyState<3);v(this,tF.LOADING,t)};let t=this.attachShadow({mode:"open"});t.appendChild(e8().content.cloneNode(!0)),this._upgradeProperty("player")}}t.define("theoplayer-loading-indicator",e4);let e6=i();class e9 extends R(e,["player"]){_upgradeProperty(t){if(this.hasOwnProperty(t)){let e=this[t];delete this[t],this[t]=e}}connectedCallback(){r(this),this.setAttribute("tabindex","-1"),this.setAttribute("aria-hidden","true")}get player(){return this._player}set player(t){this._player!==t&&(void 0!==this._player&&(this._player.element.removeEventListener("pointerdown",this._onPointerDown),this._player.element.removeEventListener("click",this._onClick)),this._player=t,void 0!==this._player&&(this._player.element.addEventListener("pointerdown",this._onPointerDown),this._player.element.addEventListener("click",this._onClick)))}handleTap(t){}handleMouseClick(t){if(void 0!==this._player){var e;void 0===this._player.source||null!=(e=this._player.ads)&&e.playing||(this._player.paused?this._player.play():this._player.pause())}}constructor(){super(),this._pointerType="",this._onPointerDown=t=>{this._pointerType=t.pointerType},this._onClick=t=>{var e;let r=null!=(e=t.pointerType)?e:this._pointerType;"touch"===r?this.handleTap(t):"mouse"===r&&this.handleMouseClick(t)};let t=this.attachShadow({mode:"open"});t.appendChild(e6().content.cloneNode(!0)),this._upgradeProperty("player")}}t.define("theoplayer-gesture-receiver",e9);let rt=i("theoplayer-live-button",k(`<span part="icon"><slot name="icon"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" height="24" width="24"><circle cx="12" cy="12" r="7"/></svg>
|
|
30
30
|
</slot></span><slot name="spacer"> </slot><span part="text"><slot name="text">LIVE</slot></span>`,"[part=icon] ::slotted(svg),[part=icon] svg{fill:#8c8c8c;fill:var(--theoplayer-live-button-color,#8c8c8c)}:host([live]:not([paused])) [part=icon] ::slotted(svg),:host([live]:not([paused])) [part=icon] svg{fill:red;fill:var(--theoplayer-live-button-active-color,red)}")),re=["play","pause","playing","emptied"],rr=["seeking","seeked","timeupdate","durationchange","emptied"];class ra extends R(A,["player","streamType"]){static get observedAttributes(){return[...A.observedAttributes,tF.STREAM_TYPE,tF.LIVE,tF.PAUSED,tF.LIVE_THRESHOLD]}connectedCallback(){super.connectedCallback(),this.hasAttribute(tF.ARIA_LABEL)||this.setAttribute(tF.ARIA_LABEL,"seek to live")}get paused(){return this.hasAttribute(tF.PAUSED)}set paused(t){v(this,tF.PAUSED,t)}get streamType(){return this.getAttribute(tF.STREAM_TYPE)||"vod"}set streamType(t){this.setAttribute(tF.STREAM_TYPE,t)}get liveThreshold(){var t;return Number(null!=(t=this.getAttribute(tF.LIVE_THRESHOLD))?t:10)}set liveThreshold(t){t=Number(t),this.setAttribute(tF.LIVE_THRESHOLD,String(isNaN(t)?0:t))}get live(){return this.hasAttribute(tF.LIVE)}set live(t){v(this,tF.LIVE,t)}get player(){return this._player}set player(t){this._player!==t&&(void 0!==this._player&&(this._player.removeEventListener(re,this._updatePaused),this._player.removeEventListener(rr,this._updateLive)),this._player=t,this._updatePaused(),this._updateLive(),void 0!==this._player&&(this._player.addEventListener(re,this._updatePaused),this._player.addEventListener(rr,this._updateLive)))}handleClick(){void 0!==this._player&&(this._player.hesp&&void 0!==this._player.hesp.manifest?this._player.hesp.goLive():(this._player.currentTime=1/0,this._player.play()))}attributeChangedCallback(t,e,r){super.attributeChangedCallback(t,e,r),r!==e&&(t===tF.LIVE_THRESHOLD&&this._updateLive(),ra.observedAttributes.indexOf(t)>=0&&a(this))}constructor(){super({template:rt()}),this._updatePaused=()=>{this.paused=void 0===this._player||this._player.paused},this._updateLive=()=>{let t=void 0!==this._player&&function(t,e){if(t.duration===1/0){let r=t.seekable;if(r.length>0)return r.end(r.length-1)-t.currentTime<=e}return!1}(this._player,this.liveThreshold);this.live!==t&&(this.live=t)},this._upgradeProperty("paused"),this._upgradeProperty("streamType"),this._upgradeProperty("liveThreshold"),this._upgradeProperty("live"),this._upgradeProperty("player")}}t.define("theoplayer-live-button",ra);let ri=i(),rs=["adbreakbegin","adbreakend","adbreakchange","updateadbreak","adbegin","adend","adskip","addad","updatead"];class ro extends R(e,["player"]){_upgradeProperty(t){if(this.hasOwnProperty(t)){let e=this[t];delete this[t],this[t]=e}}connectedCallback(){r(this),this._updateFromPlayer()}get player(){return this._player}set player(t){var e,r;this._player!==t&&(void 0!==this._player&&(null==(e=this._player.ads)||e.removeEventListener(rs,this._updateFromPlayer)),this._player=t,this._updateFromPlayer(),void 0!==this._player&&(null==(r=this._player.ads)||r.addEventListener(rs,this._updateFromPlayer)))}constructor(){super(),this._updateFromPlayer=()=>{var t,e,r;let a=null==(t=this._player)?void 0:t.ads,i=(null!=(r=null==a?void 0:null==(e=a.currentAdBreak)?void 0:e.ads)?r:[]).filter(eI);if(void 0===a||!a.playing||0===i.length){g(this._spanEl,""),this.style.display="none";return}if(i.length>1){let t=this._player.ads.currentAds||[],e=p(t,eI);if(e){let t=i.indexOf(e);if(t>=0){g(this._spanEl,`Ad ${t+1} of ${i.length}`),this.style.display="";return}}}g(this._spanEl,"Ad"),this.style.display=""};let t=this.attachShadow({mode:"open"});t.appendChild(ri().content.cloneNode(!0)),this._spanEl=t.querySelector("span"),this._upgradeProperty("player")}}t.define("theoplayer-ad-display",ro);let rn=i(),rl=["adbreakbegin","adbreakend","adbreakchange","updateadbreak"];class rh extends R(e,["player"]){_upgradeProperty(t){if(this.hasOwnProperty(t)){let e=this[t];delete this[t],this[t]=e}}connectedCallback(){r(this),this._update()}get player(){return this._player}set player(t){var e,r;this._player!==t&&(void 0!==this._player&&(this._player.removeEventListener("timeupdate",this._update),null==(e=this._player.ads)||e.removeEventListener(rl,this._onAdChange)),this._player=t,this._onAdChange(),void 0!==this._player&&(null==(r=this._player.ads)||r.addEventListener(rl,this._onAdChange)))}constructor(){super(),this._onAdChange=()=>{var t,e,r;(null==(e=this._player)?void 0:null==(t=e.ads)?void 0:t.playing)?(this._player.removeEventListener("timeupdate",this._update),this._player.addEventListener("timeupdate",this._update)):null==(r=this._player)||r.removeEventListener("timeupdate",this._update),this._update()},this._update=()=>{var t,e;let r=null==(t=this._player)?void 0:t.ads,a=null==r?void 0:null==(e=r.currentAdBreak)?void 0:e.maxRemainingDuration;if(void 0===r||!r.playing||void 0===a||a<0){g(this._spanEl,""),this.style.display="none";return}a=Math.ceil(a),g(this._spanEl,`Content will resume in ${a}s`),this.style.display=""};let t=this.attachShadow({mode:"open"});t.appendChild(rn().content.cloneNode(!0)),this._spanEl=t.querySelector("span"),this._upgradeProperty("player")}}t.define("theoplayer-ad-countdown",rh);let ru=i("theoplayer-ad-clickthrough-button",w("<slot>Visit Advertiser</slot>")),rd=["adbegin","adend","adloaded","updatead","adskip"];class rp extends R(S,["player"]){static get observedAttributes(){return[...S.observedAttributes,tF.CLICKTHROUGH]}connectedCallback(){super.connectedCallback(),this._updateFromPlayer()}get clickThrough(){return this.getAttribute(tF.CLICKTHROUGH)}set clickThrough(t){null==t?this.removeAttribute(tF.CLICKTHROUGH):this.setAttribute(tF.CLICKTHROUGH,t)}get player(){return this._player}set player(t){var e,r;this._player!==t&&(void 0!==this._player&&(null==(e=this._player.ads)||e.removeEventListener(rd,this._updateFromPlayer)),this._player=t,this._updateFromPlayer(),void 0!==this._player&&(null==(r=this._player.ads)||r.addEventListener(rd,this._updateFromPlayer)))}attributeChangedCallback(t,e,r){if(super.attributeChangedCallback(t,e,r),t===tF.CLICKTHROUGH&&r!==e){let t=null!=r,e=r?String(r).trim():"#";this.setLink(e,"_blank"),this.disabled=!t,t?this.style.display="":this.style.display="none"}rp.observedAttributes.indexOf(t)>=0&&a(this)}handleClick(){var t;null==(t=this._player)||t.pause()}constructor(){super({template:ru()}),this._updateFromPlayer=()=>{var t,e;let r=null==(t=this._player)?void 0:t.ads;if(!r||!r.playing){this.clickThrough=null;return}let a=p(null!=(e=r.currentAds)?e:[],eI);if(void 0===a||"google-ima"===a.integration){this.clickThrough=null;return}let i=a.clickThrough;if(!i){this.clickThrough=null;return}this.clickThrough=i},this.disabled=!0,this.style.display="none",this._upgradeProperty("clickThrough"),this._upgradeProperty("player")}}t.define("theoplayer-ad-clickthrough-button",rp);let rc=i("theoplayer-ad-skip-button",k(`<span part="countdown">Skip in 0 seconds</span><span part="skip"><span part="skip-text"><slot name="skip-text">Skip Ad</slot></span> <span part="skip-icon"><slot name="skip-icon"><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" height="24" width="24"><path d="M17.5 18q-.425 0-.712-.288-.288-.287-.288-.712V7q0-.425.288-.713Q17.075 6 17.5 6t.712.287q.288.288.288.713v10q0 .425-.288.712-.287.288-.712.288ZM7.05 16.975q-.5.35-1.025.05-.525-.3-.525-.9v-8.25q0-.6.525-.888.525-.287 1.025.038l6.2 4.15q.45.3.45.825 0 .525-.45.825Z"/></svg>
|
|
31
|
-
</slot></span></span>`,":host{background:rgba(0,0,0,.7);background:var(--theoplayer-ad-skip-background,rgba(0,0,0,.7));border:1px solid hsla(0,0%,100%,.5);border:var(--theoplayer-ad-skip-border,1px solid hsla(0,0%,100%,.5));color:#fff;color:var(--theoplayer-ad-skip-color,#fff);display:grid;grid-template-columns:1fr;grid-template-rows:1fr}:host(:hover){background:rgba(0,0,0,.9);background:var(--theoplayer-ad-skip-hover-background,rgba(0,0,0,.9));border:1px solid #fff;border:var(--theoplayer-ad-skip-hover-border,1px solid #fff);color:#fff;color:var(--theoplayer-ad-skip-hover-color,var(--theoplayer-ad-skip-color,#fff))}:host([disabled]){background:transparent;background:var(--theoplayer-ad-skip-countdown-background,transparent);border:1px solid transparent;border:var(--theoplayer-ad-skip-countdown-border,1px solid transparent);color:#fff;color:var(--theoplayer-ad-skip-countdown-color,var(--theoplayer-ad-skip-color,#fff))}[part=countdown],[part=skip]{align-items:center;display:flex;grid-column:1;grid-row:1}[part=skip]{font-size:14px;font-size:var(--theoplayer-ad-skip-font-size,var(--theoplayer-text-font-size,14px));line-height:24px;line-height:var(--theoplayer-ad-skip-line-height,var(--theoplayer-text-content-height,var(--theoplayer-control-height,24px)))}[part=skip-icon]{padding-left:10px;padding-left:var(--theoplayer-control-padding,10px)}[part=skip-icon] ::slotted(svg),[part=skip-icon] svg{height:24px;height:var(--theoplayer-ad-skip-icon-height,var(--theoplayer-control-height,24px));width:24px;width:var(--theoplayer-ad-skip-icon-width,var(--theoplayer-control-height,24px))}")),ry=["adbegin","adend","adloaded","updatead","adskip"];class r_ extends R(A,["player"]){static get observedAttributes(){return[...A.observedAttributes]}connectedCallback(){super.connectedCallback(),this._update()}get player(){return this._player}set player(t){var e,r;this._player!==t&&(void 0!==this._player&&(this._player.removeEventListener("timeupdate",this._update),null==(e=this._player.ads)||e.removeEventListener(ry,this._onAdChange)),this._player=t,this._onAdChange(),void 0!==this._player&&(null==(r=this._player.ads)||r.addEventListener(ry,this._onAdChange)))}handleClick(){var t,e;null==(e=this._player)||null==(t=e.ads)||t.skip()}attributeChangedCallback(t,e,r){super.attributeChangedCallback(t,e,r),r_.observedAttributes.indexOf(t)>=0&&a(this)}constructor(){super({template:rc()}),this._onAdChange=()=>{var t,e,r;(null==(e=this._player)?void 0:null==(t=e.ads)?void 0:t.playing)?(this._player.removeEventListener("timeupdate",this._update),this._player.addEventListener("timeupdate",this._update)):null==(r=this._player)||r.removeEventListener("timeupdate",this._update),this._update()},this._update=()=>{var t,e;let r=null==(t=this._player)?void 0:t.ads;if(!r||!r.playing){this.style.display="none";return}let a=p(null!=(e=r.currentAds)?e:[],eI);if(void 0===a||"google-ima"===a.integration){this.style.display="none";return}let i=a.skipOffset;if(void 0===i||i<0||void 0!==a.duration&&i>=a.duration){this.style.display="none";return}let s=this._player.currentTime;s<i?(g(this._countdownEl,`Skip in ${Math.ceil(i-s)}s`),this._countdownEl.style.visibility="visible",this._skipEl.style.visibility="hidden",this._skipEl.style.pointerEvents="none",this.style.display="",this.setAttribute(tF.DISABLED,""),this.setAttribute(tF.ARIA_LIVE,"off")):(this._countdownEl.style.visibility="hidden",this._skipEl.style.visibility="visible",this._skipEl.style.pointerEvents="",this.style.display="",this.removeAttribute(tF.DISABLED),this.setAttribute(tF.ARIA_LIVE,"polite"))},this._countdownEl=this.shadowRoot.querySelector('[part="countdown"]'),this._skipEl=this.shadowRoot.querySelector('[part="skip"]'),this._upgradeProperty("player")}}t.define("theoplayer-ad-skip-button",r_),(tH=tq||(tq={})).TopControlBar="top-control-bar",tH.BottomControlBar="bottom-control-bar",tH.Menu="menu";let rg=[];function rv(t){rg.push(t)}let rb=void 0,rm=(()=>{if("undefined"!=typeof document){for(let t of[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]])if(t[1]in document)return{requestFullscreen_:t[0],exitFullscreen_:t[1],fullscreenElement_:t[2],fullscreenEnabled_:t[3],fullscreenchange_:t[4],fullscreenerror_:t[5]}}})();function rf(){if("object"!=typeof navigator)return!1;if(navigator.userAgentData)return navigator.userAgentData.mobile;let t=navigator.userAgent;return!!t&&/Android|iPhone|iPad|iPod|Mobile Safari|Windows Phone/i.test(t)}function rk(){if("object"!=typeof navigator)return!1;let t=navigator.userAgent;return!!t&&/\b(tv|smart-tv|smarttv|appletv|crkey|googletv|hbbtv|pov_tv|roku|viera|nettv|philipstv)\b/i.test(t)}let rE="theoplayerstreamtypechange",rA="theoplayerready",rT=i();class rC extends e{static get observedAttributes(){return[tF.CONFIGURATION,tF.SOURCE,tF.MUTED,tF.AUTOPLAY,tF.FULLSCREEN,tF.FLUID,tF.DEVICE_TYPE,tF.PAUSED,tF.ENDED,tF.CASTING,tF.PLAYING_AD,tF.HAS_ERROR,tF.HAS_FIRST_PLAY,tF.STREAM_TYPE,tF.DVR_THRESHOLD,tF.USER_IDLE,tF.USER_IDLE_TIMEOUT]}_upgradeProperty(t){if(this.hasOwnProperty(t)){let e=this[t];delete this[t],this[t]=e}}get player(){return this._player}get configuration(){return this._configuration}set configuration(t){this.removeAttribute(tF.CONFIGURATION),this._setConfiguration(t)}_setConfiguration(t){this._configuration=null!=t?t:{},this.tryInitializePlayer_()}get source(){return this._player?this._player.source:this._source}set source(t){this.removeAttribute(tF.SOURCE),this._setSource(t)}_setSource(t){this._player?this._player.source=t:this._source=t}get fluid(){return this.hasAttribute(tF.FLUID)}set fluid(t){v(this,tF.FLUID,t)}get muted(){return this.hasAttribute(tF.MUTED)}set muted(t){v(this,tF.MUTED,t)}get autoplay(){return this.hasAttribute(tF.AUTOPLAY)}set autoplay(t){v(this,tF.AUTOPLAY,t)}get fullscreen(){return this.hasAttribute(tF.FULLSCREEN)}get paused(){return this.hasAttribute(tF.PAUSED)}get ended(){return this.hasAttribute(tF.ENDED)}get casting(){return this.hasAttribute(tF.CASTING)}get userIdleTimeout(){var t;let e="tv"===this.deviceType?5:2;return Number(null!=(t=this.getAttribute(tF.USER_IDLE_TIMEOUT))?t:e)}set userIdleTimeout(t){t=Number(t),this.setAttribute(tF.USER_IDLE_TIMEOUT,String(isNaN(t)?0:t))}get deviceType(){return this.getAttribute(tF.DEVICE_TYPE)||"desktop"}get streamType(){return this.getAttribute(tF.STREAM_TYPE)||"vod"}set streamType(t){this.setAttribute(tF.STREAM_TYPE,t)}get dvrThreshold(){var t;return Number(null!=(t=this.getAttribute(tF.DVR_THRESHOLD))?t:60)}set dvrThreshold(t){t=Number(t),this.setAttribute(tF.DVR_THRESHOLD,String(isNaN(t)?0:t))}connectedCallback(){var e;if(r(this),this._menuGroup instanceof tg||t.upgrade(this._menuGroup),!this.hasAttribute(tF.DEVICE_TYPE)){let t=rf()?"mobile":rk()?"tv":"desktop";this.setAttribute(tF.DEVICE_TYPE,t)}for(let t of(this.hasAttribute(tF.PAUSED)||this.setAttribute(tF.PAUSED,""),this.tryInitializePlayer_(),this._stateReceivers))this.propagateStateToReceiver_(t);I(this,this._playerEl,this.registerStateReceiver_),this._mutationObserver.observe(this,{childList:!0,subtree:!0}),this.shadowRoot.addEventListener("slotchange",this._onSlotChange),null==(e=this._resizeObserver)||e.observe(this),this._updateTextTrackMargins(),this._menuGroup.addEventListener(tl,this._onCloseMenu),this._menuGroup.addEventListener(th,this._onMenuChange),void 0!==rm&&(document.addEventListener(rm.fullscreenchange_,this._onFullscreenChange),document.addEventListener(rm.fullscreenerror_,this._onFullscreenChange),this._onFullscreenChange()),this.setUserIdle_(),"tv"===this.deviceType&&window.addEventListener("keydown",this._onTvKeyDown),this.addEventListener("keyup",this._onKeyUp),this.addEventListener("pointerup",this._onPointerUp),this.addEventListener("pointermove",this._onPointerMove),this.addEventListener("mouseleave",this._onMouseLeave)}tryInitializePlayer_(){var t,e;if(void 0===this._player&&(void 0!==this._configuration.license||void 0!==this._configuration.licenseUrl)){for(let t of(this._player=new rb(this._playerEl,this._configuration),this._source&&(this._player.source=this._source,this._source=void 0),this._player.muted=this.muted,this._player.autoplay=this.autoplay,this._stateReceivers))t[L].indexOf("player")>=0&&(t.player=this._player);this._updateAspectRatio(),this._updateError(),this._updatePausedAndEnded(),this._updateCasting(),this._player.addEventListener("resize",this._updateAspectRatio),this._player.addEventListener(["error","sourcechange","emptied"],this._updateError),this._player.addEventListener("volumechange",this._updateMuted),this._player.addEventListener("play",this._onPlay),this._player.addEventListener("pause",this._onPause),this._player.addEventListener(["ended","emptied"],this._updatePausedAndEnded),this._player.addEventListener(["durationchange","sourcechange","emptied"],this._updateStreamType),this._player.addEventListener("ratechange",this._updatePlaybackRate),this._player.addEventListener("sourcechange",this._onSourceChange),this._player.videoTracks.addEventListener(["addtrack","removetrack","change"],this._updateActiveVideoTrack),null==(t=this._player.cast)||t.addEventListener("castingchange",this._updateCasting),this._player.addEventListener(["durationchange","sourcechange","emptied"],this._updatePlayingAd),null==(e=this._player.ads)||e.addEventListener(["adbreakbegin","adbreakend","adbegin","adend","adskip"],this._updatePlayingAd),this.dispatchEvent(X(rA))}}disconnectedCallback(){var t;for(let e of(null==(t=this._resizeObserver)||t.disconnect(),this._mutationObserver.disconnect(),this.shadowRoot.removeEventListener("slotchange",this._onSlotChange),this._stateReceivers))this.removeStateFromReceiver_(e);this._stateReceivers.length=0,this._menuGroup.removeEventListener(tl,this._onCloseMenu),this._menuGroup.removeEventListener(th,this._onMenuChange),void 0!==rm&&(document.removeEventListener(rm.fullscreenchange_,this._onFullscreenChange),document.removeEventListener(rm.fullscreenerror_,this._onFullscreenChange)),window.removeEventListener("keydown",this._onTvKeyDown),this.removeEventListener("keyup",this._onKeyUp),this.removeEventListener("pointerup",this._onPointerUp),this.removeEventListener("click",this._onClickAfterPointerUp,!0),this.removeEventListener("pointermove",this._onPointerMove),this.removeEventListener("mouseleave",this._onMouseLeave),this._player&&(this._player.destroy(),this._player=void 0)}attributeChangedCallback(t,e,r){if(r===e)return;let i=null!=r;if(t===tF.CONFIGURATION)this._setConfiguration(r?JSON.parse(r):{});else if(t===tF.SOURCE)this._setSource(r?JSON.parse(r):void 0);else if(t===tF.MUTED)this._player&&(this._player.muted=i);else if(t===tF.AUTOPLAY)this._player&&(this._player.autoplay=i);else if(t===tF.FULLSCREEN)for(let t of this._stateReceivers)t[L].indexOf("fullscreen")>=0&&(t.fullscreen=i);else if(t===tF.DEVICE_TYPE)for(let t of(v(this,tF.MOBILE,"mobile"===r),v(this,tF.TV,"tv"===r),window.removeEventListener("keydown",this._onTvKeyDown),"tv"===r&&window.addEventListener("keydown",this._onTvKeyDown),this._stateReceivers))t[L].indexOf("deviceType")>=0&&(t.deviceType=r);else if(t===tF.STREAM_TYPE){for(let t of this._stateReceivers)t[L].indexOf("streamType")>=0&&(t.streamType=r);let t=X(rE,{bubbles:!0,composed:!0,detail:{streamType:r}});this.dispatchEvent(t)}else t===tF.FLUID?this._updateAspectRatio():t===tF.USER_IDLE||t===tF.PAUSED||t===tF.CASTING?this._updateTextTrackMargins():t===tF.DVR_THRESHOLD&&this._updateStreamType();rC.observedAttributes.indexOf(t)>=0&&a(this)}propagateStateToReceiver_(t){let e=t[L];if(e.indexOf("player")>=0&&(t.player=this._player),e.indexOf("fullscreen")>=0&&(t.fullscreen=this.fullscreen),e.indexOf("deviceType")>=0&&(t.deviceType=this.deviceType),e.indexOf("streamType")>=0&&(t.streamType=this.streamType),void 0!==this._player){if(e.indexOf("playbackRate")>=0&&(t.playbackRate=this._player.playbackRate),e.indexOf("error")>=0&&(t.error=this._player.errorObject),e.indexOf("activeVideoQuality")>=0){var r;t.activeVideoQuality=null==(r=this._activeVideoTrack)?void 0:r.activeQuality}e.indexOf("targetVideoQualities")>=0&&(t.targetVideoQualities=tL(this._activeVideoTrack))}e.indexOf("previewTime")>=0&&(t.previewTime=this._previewTime)}removeStateFromReceiver_(t){let e=t[L];e.indexOf("player")>=0&&(t.player=void 0)}openMenu_(t,e){let r=tr.fromRect(this._topChromeEl.getBoundingClientRect()),i=tr.fromRect(this._bottomChromeEl.getBoundingClientRect()),s=!0,o=!0;if(void 0!==e){let t=tr.fromRect(this.getBoundingClientRect()),r=tr.fromRect(e.getBoundingClientRect());t.width>0&&t.height>0&&(s=r.top>=t.top+t.height/2,o=r.left>=t.left+t.width/2)}this._menuGroup.openMenu(t,e),this._menuOpener=e;let n={"--theoplayer-menu-offset-top":`${Math.round(r.height)}px`,"--theoplayer-menu-offset-bottom":`${Math.round(i.height)}px`,"--theoplayer-menu-margin-top":s?"auto":"0","--theoplayer-menu-margin-bottom":s?"0":"auto","--theoplayer-menu-margin-left":o?"auto":"0","--theoplayer-menu-margin-right":o?"0":"auto"};a(this,n)}closeMenu_(){var t,e,r;null==(t=(e=this._menuGroup).closeMenu)||t.call(e),null==(r=this._menuOpener)||r.focus(),this._menuOpener=void 0}isUserIdle_(){return this.hasAttribute(tF.USER_IDLE)&&!this.paused&&!this.casting&&!this._menuGroup.hasCurrentMenu()}setUserActive_(){clearTimeout(this._userIdleTimer),this.removeAttribute(tF.USER_IDLE)}isPlayerOrMedia_(t){return t===this||this._playerEl.contains(t)}constructor(t={}){super(),this._configuration={},this._pointerType="",this._lastPointerUpTime=0,this._stateReceivers=[],this._player=void 0,this._source=void 0,this._userIdleTimer=0,this._previewTime=NaN,this._activeVideoTrack=void 0,this._onMutation=t=>{for(let e of t)if("childList"===e.type){let{addedNodes:t,removedNodes:r}=e;for(let e=0;e<t.length;e++){let r=t[e];l(r)&&I(r,this._playerEl,this.registerStateReceiver_)}for(let t=0;t<r.length;t++){let e=r[t];l(e)&&I(e,this._playerEl,this.unregisterStateReceiver_)}}},this._onSlotChange=()=>{I(this,this._playerEl,this.registerStateReceiver_),this._updateTextTrackMargins()},this.registerStateReceiver_=t=>{this._stateReceivers.indexOf(t)>=0||(this._stateReceivers.push(t),this.propagateStateToReceiver_(t))},this.unregisterStateReceiver_=t=>{(function(t,e){let r=t.indexOf(e);return!(r<0)&&(function(t,e){t.splice(e,1)}(t,r),!0)})(this._stateReceivers,t)&&this.removeStateFromReceiver_(t)},this._onToggleMenu=t=>{t.stopPropagation();let e=t.detail.menu;if(!this._menuGroup.getMenuById(e)){console.error(`<theoplayer-ui>: cannot find menu with ID "${e}"`);return}let r=h(t.target)?t.target:void 0;this._menuGroup.isMenuOpen(e)?this.closeMenu_():(this.closeMenu_(),this.openMenu_(e,r))},this._onCloseMenu=t=>{t.stopPropagation(),this.closeMenu_()},this._onMenuChange=()=>{this._menuEl.removeEventListener("pointerdown",this._onMenuPointerDown),this._menuEl.removeEventListener("click",this._onMenuClick),this._menuGroup.hasCurrentMenu()?(this._menuEl.addEventListener("pointerdown",this._onMenuPointerDown),this._menuEl.addEventListener("click",this._onMenuClick),this.setAttribute(tF.MENU_OPENED,"")):this.removeAttribute(tF.MENU_OPENED)},this._onMenuPointerDown=t=>{this._pointerType=t.pointerType},this._onMenuClick=t=>{var e;let r=null!=(e=t.pointerType)?e:this._pointerType;t.target===this._menuEl&&"mouse"===r&&this._menuGroup.closeCurrentMenu()&&t.preventDefault()},this._onEnterFullscreen=t=>{if(t.stopPropagation(),rm&&document[rm.fullscreenEnabled_]&&this[rm.requestFullscreen_]){let t=this[rm.requestFullscreen_]();t&&t.then&&t.then(n,n)}else this._player&&this._player.presentation.supportsMode("fullscreen")&&this._player.presentation.requestMode("fullscreen")},this._onExitFullscreen=t=>{if(t.stopPropagation(),rm){let t=document[rm.exitFullscreen_]();t&&t.then&&t.then(n,n)}this._player&&"fullscreen"===this._player.presentation.currentMode&&this._player.presentation.requestMode("inline")},this._onFullscreenChange=()=>{let t=!1;if(void 0!==rm){let e=document[rm.fullscreenElement_];e&&(t=function t(e,r){if(!e||!r)return!1;if(e.contains(r))return!0;let a=r.getRootNode();return!!a.host&&t(e,a.host)}(e,this))}t||void 0===this._player||"fullscreen"!==this._player.presentation.currentMode||(t=!0),v(this,tF.FULLSCREEN,t)},this._updateAspectRatio=()=>{if(void 0===this._player)return;let{videoWidth:t,videoHeight:e}=this._player;t>0&&e>0?a(this,{"--theoplayer-video-width":`${t}`,"--theoplayer-video-height":`${e}`}):a(this,{"--theoplayer-video-width":"","--theoplayer-video-height":""})},this._updateError=()=>{var t;let e=null==(t=this._player)?void 0:t.errorObject;for(let t of(v(this,tF.HAS_ERROR,void 0!==e),this._stateReceivers))t[L].indexOf("error")>=0&&(t.error=e)},this._onPlay=()=>{this.setAttribute(tF.HAS_FIRST_PLAY,""),this.removeAttribute(tF.PAUSED),this._updateEnded()},this._onPause=()=>{this.setAttribute(tF.PAUSED,""),this._updateEnded()},this._updatePausedAndEnded=()=>{let t=!this._player||this._player.paused;v(this,tF.PAUSED,t),this._updateEnded()},this._updateEnded=()=>{let t=!!this._player&&this._player.ended;v(this,tF.ENDED,t)},this._updateStreamType=()=>{let t;if(void 0===this._player)return;let e=this._player.duration;if(!isNaN(e)){if(e===1/0){t="live";let e=this.dvrThreshold,r=this._player.seekable;(e<=0||r.length>0&&r.end(r.length-1)-r.start(0)>=e)&&(t="dvr")}else t="vod";this.streamType=t}},this._updatePlaybackRate=()=>{if(void 0===this._player)return;let t=this._player.playbackRate;for(let e of this._stateReceivers)e[L].indexOf("playbackRate")>=0&&(e.playbackRate=t)},this._updateMuted=()=>{void 0!==this._player&&(this.muted=this._player.muted)},this._updateActiveVideoTrack=()=>{if(void 0===this._player)return;let t=p(this._player.videoTracks,t=>t.enabled);if(this._activeVideoTrack!==t){var e,r,a,i;null==(e=this._activeVideoTrack)||e.removeEventListener("activequalitychanged",this._updateActiveVideoQuality),null==(r=this._activeVideoTrack)||r.removeEventListener("targetqualitychanged",this._updateTargetVideoQualities),this._activeVideoTrack=t,this._updateActiveVideoQuality(),this._updateTargetVideoQualities(),null==(a=this._activeVideoTrack)||a.addEventListener("activequalitychanged",this._updateActiveVideoQuality),null==(i=this._activeVideoTrack)||i.addEventListener("targetqualitychanged",this._updateTargetVideoQualities)}},this._updateActiveVideoQuality=()=>{var t;let e=null==(t=this._activeVideoTrack)?void 0:t.activeQuality;for(let t of this._stateReceivers)t[L].indexOf("activeVideoQuality")>=0&&(t.activeVideoQuality=e)},this._updateTargetVideoQualities=()=>{let t=tL(this._activeVideoTrack);for(let e of this._stateReceivers)e[L].indexOf("targetVideoQualities")>=0&&(e.targetVideoQualities=t)},this._updateCasting=()=>{var t,e,r;let a=null!=(r=null==(e=this._player)?void 0:null==(t=e.cast)?void 0:t.casting)&&r;v(this,tF.CASTING,a)},this._updatePlayingAd=()=>{var t,e,r;let a=null!=(r=null==(e=this._player)?void 0:null==(t=e.ads)?void 0:t.playing)&&r;v(this,tF.PLAYING_AD,a)},this._onSourceChange=()=>{this.closeMenu_();let t=void 0!==this._player&&!this._player.paused;v(this,tF.HAS_FIRST_PLAY,t)},this.setUserIdle_=()=>{if(clearTimeout(this._userIdleTimer),this._userIdleTimer=0,!(this.userIdleTimeout<0)&&(this.setAttribute(tF.USER_IDLE,""),"tv"==this.deviceType&&this.isUserIdle_())){let t=ta();null!==t&&t.blur()}},this.scheduleUserIdle_=()=>{if(this.setUserActive_(),clearTimeout(this._userIdleTimer),this.userIdleTimeout<0){this._userIdleTimer=0;return}this._userIdleTimer=setTimeout(this.setUserIdle_,1e3*this.userIdleTimeout)},this._onTvKeyDown=t=>{if(C(t.keyCode)){this.setUserIdle_();return}let e=function t(e){if(!h(e)||"none"===getComputedStyle(e).display)return;if(null!==e.getAttribute(tF.TV_FOCUS))return m(e);let r=b(e);for(let e=0;e<r.length;e++){let a=t(r[e]);if(a)return a}}(this),r=m(this),a=ta();if(!a){let t=null!=e?e:r;t.length>0&&(t[0].focus(),a=t[0])}!this.isUserIdle_()&&(t.keyCode===tB.ENTER?void 0!==this._player&&null!==a&&a.click():T(t.keyCode)&&ti(this,r,t.keyCode)&&(t.preventDefault(),t.stopPropagation()))},this._onKeyUp=t=>{C(t.keyCode)||this.scheduleUserIdle_()},this._onPointerUp=t=>{"touch"===t.pointerType&&(this.isPlayerOrMedia_(t.target)&&!this.hasAttribute(tF.USER_IDLE)?this.setUserIdle_():(this.isUserIdle_()&&(this._lastPointerUpTime=performance.now(),this.addEventListener("click",this._onClickAfterPointerUp,!0)),this.scheduleUserIdle_()))},this._onClickAfterPointerUp=t=>{this.removeEventListener("click",this._onClickAfterPointerUp,!0),performance.now()-this._lastPointerUpTime<10&&(t.preventDefault(),t.stopPropagation())},this._onPointerMove=t=>{"mouse"===t.pointerType&&(this.setUserActive_(),this.isPlayerOrMedia_(t.target)&&this.scheduleUserIdle_())},this._onMouseLeave=()=>{this.setUserIdle_()},this._onChromeSlotTransition=t=>{"opacity"===t.propertyName&&this._updateTextTrackMargins()},this._updateTextTrackMargins=()=>{let t=this._player;if(void 0===t)return;let e=rw(this._topChromeSlot),r=rw(this._bottomChromeSlot);t.textTrackStyle.marginTop=null==e?void 0:e.height,t.textTrackStyle.marginBottom=null==r?void 0:r.height},this._onPreviewTimeChange=t=>{for(let e of(this._previewTime=t.detail.previewTime,this._stateReceivers))e[L].indexOf("previewTime")>=0&&(e.previewTime=this._previewTime)};let e=this.attachShadow({mode:"open",delegatesFocus:!0});e.appendChild(rT().content.cloneNode(!0)),this._configuration=t,this._playerEl=e.querySelector('[part~="media-layer"]'),this._menuEl=e.querySelector('[part~="menu-layer"]'),this._menuGroup=e.querySelector("theoplayer-menu-group"),this._topChromeEl=e.querySelector('[part~="top"]'),this._topChromeSlot=e.querySelector('slot[name="top-chrome"]'),this._bottomChromeEl=e.querySelector('[part~="bottom"]'),this._bottomChromeSlot=e.querySelector("slot:not([name])"),this._mutationObserver=new MutationObserver(this._onMutation),"undefined"!=typeof ResizeObserver&&(this._resizeObserver=new ResizeObserver(this._updateTextTrackMargins)),e.addEventListener(tc,this._onToggleMenu),e.addEventListener(eT,this._onEnterFullscreen),e.addEventListener(eC,this._onExitFullscreen),e.addEventListener(eR,this._onPreviewTimeChange),this._topChromeSlot.addEventListener("transitionstart",this._onChromeSlotTransition),this._topChromeSlot.addEventListener("transitionend",this._onChromeSlotTransition),this._bottomChromeSlot.addEventListener("transitionstart",this._onChromeSlotTransition),this._bottomChromeSlot.addEventListener("transitionend",this._onChromeSlotTransition),this._upgradeProperty("configuration"),this._upgradeProperty("source"),this._upgradeProperty("fluid"),this._upgradeProperty("muted"),this._upgradeProperty("autoplay"),this._upgradeProperty("userIdleTimeout"),this._upgradeProperty("streamType"),this.tryInitializePlayer_()}}function rw(t){let e;let r=t.assignedNodes().filter(h);for(let t of r)if("0"!==getComputedStyle(t).opacity){let r=tr.fromRect(t.getBoundingClientRect());r.width>0&&r.height>0&&(e=e?e.union(r):r)}return e}rC.READY_EVENT=rA,t.define("theoplayer-ui",rC);let rx=i();class rS extends e{static get observedAttributes(){return[tF.CONFIGURATION,tF.SOURCE,tF.MUTED,tF.AUTOPLAY,tF.FLUID,tF.DEVICE_TYPE,tF.STREAM_TYPE,tF.USER_IDLE_TIMEOUT,tF.DVR_THRESHOLD,tF.HAS_TITLE]}_upgradeProperty(t){if(this.hasOwnProperty(t)){let e=this[t];delete this[t],this[t]=e}}get player(){return this._ui.player}get configuration(){return this._ui.configuration}set configuration(t){this.removeAttribute(tF.CONFIGURATION),this.setConfiguration_(t)}setConfiguration_(t){var e;this._ui.configuration={...t,ads:{...null!=(e=t.ads)?e:{},showCountdown:!1}}}get source(){return this._ui.source}set source(t){this.removeAttribute(tF.SOURCE),this._ui.source=t}get fluid(){return this._ui.fluid}set fluid(t){this._ui.fluid=t}get muted(){return this._ui.muted}set muted(t){this._ui.muted=t}get autoplay(){return this._ui.autoplay}set autoplay(t){this._ui.autoplay=t}get streamType(){return this._ui.streamType}set streamType(t){this._ui.streamType=t}get userIdleTimeout(){return this._ui.userIdleTimeout}set userIdleTimeout(t){this._ui.userIdleTimeout=t}get dvrThreshold(){return this._ui.dvrThreshold}set dvrThreshold(t){this._ui.dvrThreshold=t}connectedCallback(){if(r(this),!this.hasAttribute(tF.DEVICE_TYPE)){let t=rf()?"mobile":rk()?"tv":"desktop";this.setAttribute(tF.DEVICE_TYPE,t)}this._appliedExtensions||(this._appliedExtensions=!0,function(t){for(let e of rg)e(t)}(this),a(this)),this._onTitleSlotChange()}disconnectedCallback(){}attributeChangedCallback(t,e,r){if(r===e)return;let i=null!=r;t===tF.SOURCE?this._ui.source=r?JSON.parse(r):void 0:t===tF.CONFIGURATION?this.setConfiguration_(r?JSON.parse(r):{}):t===tF.MUTED?this.muted=i:t===tF.AUTOPLAY?this.autoplay=i:t===tF.FLUID?this.fluid=i:t===tF.DEVICE_TYPE?(v(this,tF.MOBILE,"mobile"===r),v(this,tF.TV,"tv"===r),this._ui.setAttribute(tF.DEVICE_TYPE,r)):t===tF.STREAM_TYPE?this.streamType=r:t===tF.USER_IDLE_TIMEOUT?this.userIdleTimeout=Number(r):t===tF.DVR_THRESHOLD&&(this.dvrThreshold=Number(r)),rS.observedAttributes.indexOf(t)>=0&&a(this)}constructor(t={}){super(),this._appliedExtensions=!1,this._updateStreamType=()=>{this.setAttribute(tF.STREAM_TYPE,this.streamType),v(this._timeRange,tF.HIDDEN,"live"===this.streamType)},this._dispatchReadyEvent=()=>{this.dispatchEvent(X(rA))},this._onTitleSlotChange=()=>{v(this,tF.HAS_TITLE,this._titleSlot.assignedNodes().length>0)};let e=this.attachShadow({mode:"open",delegatesFocus:!0});e.appendChild(rx().content.cloneNode(!0)),this._ui=e.querySelector("theoplayer-ui"),this._ui.addEventListener(rA,this._dispatchReadyEvent),this._ui.addEventListener(rE,this._updateStreamType),this.setConfiguration_(t),this._titleSlot=e.querySelector('slot[name="title"]'),this._titleSlot.addEventListener("slotchange",this._onTitleSlotChange),this._timeRange=e.querySelector("theoplayer-time-range"),this._upgradeProperty("configuration"),this._upgradeProperty("source"),this._upgradeProperty("fluid"),this._upgradeProperty("muted"),this._upgradeProperty("autoplay"),this._upgradeProperty("streamType"),this._upgradeProperty("userIdleTimeout"),this._upgradeProperty("dvrThreshold")}}rS.READY_EVENT=rA,t.define("theoplayer-default-ui",rS);export{eu as ActiveQualityDisplay,rp as AdClickThroughButton,rh as AdCountdown,ro as AdDisplay,r_ as AdSkipButton,e3 as AirPlayButton,tF as Attribute,A as Button,eW as CastButton,eX as ChromecastButton,e2 as ChromecastDisplay,tk as CloseMenuButton,eS as ColorStops,o as ControlBar,rS as DefaultUI,j as DurationDisplay,eK as ErrorDisplay,tq as ExtensionSlot,ex as FullscreenButton,e9 as GestureReceiver,t9 as LanguageMenu,er as LanguageMenuButton,S as LinkButton,ra as LiveButton,e4 as LoadingIndicator,tT as MediaTrackRadioButton,tp as Menu,tm as MenuButton,tg as MenuGroup,B as MuteButton,D as PlayButton,eh as PlaybackRateDisplay,el as PlaybackRateMenu,eo as PlaybackRateMenuButton,ei as PlaybackRateRadioGroup,eD as PreviewThumbnail,eq as PreviewTimeDisplay,ey as QualityRadioButton,ev as QualityRadioGroup,te as RadioButton,to as RadioGroup,eP as Range,U as SeekButton,ek as SettingsMenu,eA as SettingsMenuButton,R as StateReceiverMixin,tM as TextTrackOffRadioButton,tx as TextTrackRadioButton,tX as TextTrackStyleDisplay,t7 as TextTrackStyleMenu,t2 as TextTrackStyleRadioGroup,em as TextTrackStyleResetButton,K as TimeDisplay,eY as TimeRange,tN as TrackRadioGroup,rC as UIContainer,ez as VolumeRange,k as buttonTemplate,w as linkButtonTemplate,ty as menuGroupTemplate,tu as menuTemplate,eL as rangeTemplate,rv as registerExtension};
|
|
31
|
+
</slot></span></span>`,":host{background:rgba(0,0,0,.7);background:var(--theoplayer-ad-skip-background,rgba(0,0,0,.7));border:1px solid hsla(0,0%,100%,.5);border:var(--theoplayer-ad-skip-border,1px solid hsla(0,0%,100%,.5));color:#fff;color:var(--theoplayer-ad-skip-color,#fff);display:grid;grid-template-columns:1fr;grid-template-rows:1fr}:host(:hover){background:rgba(0,0,0,.9);background:var(--theoplayer-ad-skip-hover-background,rgba(0,0,0,.9));border:1px solid #fff;border:var(--theoplayer-ad-skip-hover-border,1px solid #fff);color:#fff;color:var(--theoplayer-ad-skip-hover-color,var(--theoplayer-ad-skip-color,#fff))}:host([disabled]){background:transparent;background:var(--theoplayer-ad-skip-countdown-background,transparent);border:1px solid transparent;border:var(--theoplayer-ad-skip-countdown-border,1px solid transparent);color:#fff;color:var(--theoplayer-ad-skip-countdown-color,var(--theoplayer-ad-skip-color,#fff))}[part=countdown],[part=skip]{align-items:center;display:flex;grid-column:1;grid-row:1}[part=skip]{font-size:14px;font-size:var(--theoplayer-ad-skip-font-size,var(--theoplayer-text-font-size,14px));line-height:24px;line-height:var(--theoplayer-ad-skip-line-height,var(--theoplayer-text-content-height,var(--theoplayer-control-height,24px)))}[part=skip-icon]{padding-left:10px;padding-left:var(--theoplayer-control-padding,10px)}[part=skip-icon] ::slotted(svg),[part=skip-icon] svg{height:24px;height:var(--theoplayer-ad-skip-icon-height,var(--theoplayer-control-height,24px));width:24px;width:var(--theoplayer-ad-skip-icon-width,var(--theoplayer-control-height,24px))}")),ry=["adbegin","adend","adloaded","updatead","adskip"];class r_ extends R(A,["player"]){static get observedAttributes(){return[...A.observedAttributes]}connectedCallback(){super.connectedCallback(),this._update()}get player(){return this._player}set player(t){var e,r;this._player!==t&&(void 0!==this._player&&(this._player.removeEventListener("timeupdate",this._update),null==(e=this._player.ads)||e.removeEventListener(ry,this._onAdChange)),this._player=t,this._onAdChange(),void 0!==this._player&&(null==(r=this._player.ads)||r.addEventListener(ry,this._onAdChange)))}handleClick(){var t,e;null==(e=this._player)||null==(t=e.ads)||t.skip()}attributeChangedCallback(t,e,r){super.attributeChangedCallback(t,e,r),r_.observedAttributes.indexOf(t)>=0&&a(this)}constructor(){super({template:rc()}),this._onAdChange=()=>{var t,e,r;(null==(e=this._player)?void 0:null==(t=e.ads)?void 0:t.playing)?(this._player.removeEventListener("timeupdate",this._update),this._player.addEventListener("timeupdate",this._update)):null==(r=this._player)||r.removeEventListener("timeupdate",this._update),this._update()},this._update=()=>{var t,e;let r=null==(t=this._player)?void 0:t.ads;if(!r||!r.playing){this.style.display="none";return}let a=p(null!=(e=r.currentAds)?e:[],eI);if(void 0===a||"google-ima"===a.integration){this.style.display="none";return}let i=a.skipOffset;if(void 0===i||i<0||void 0!==a.duration&&i>=a.duration){this.style.display="none";return}let s=this._player.currentTime;s<i?(g(this._countdownEl,`Skip in ${Math.ceil(i-s)}s`),this._countdownEl.style.visibility="visible",this._skipEl.style.visibility="hidden",this._skipEl.style.pointerEvents="none",this.style.display="",this.setAttribute(tF.DISABLED,""),this.setAttribute(tF.ARIA_LIVE,"off")):(this._countdownEl.style.visibility="hidden",this._skipEl.style.visibility="visible",this._skipEl.style.pointerEvents="",this.style.display="",this.removeAttribute(tF.DISABLED),this.setAttribute(tF.ARIA_LIVE,"polite"))},this._countdownEl=this.shadowRoot.querySelector('[part="countdown"]'),this._skipEl=this.shadowRoot.querySelector('[part="skip"]'),this._upgradeProperty("player")}}t.define("theoplayer-ad-skip-button",r_),(tH=tq||(tq={})).TopControlBar="top-control-bar",tH.BottomControlBar="bottom-control-bar",tH.Menu="menu";let rg=[];function rv(t){rg.push(t)}let rb=void 0,rm=(()=>{if("undefined"!=typeof document){for(let t of[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]])if(t[1]in document)return{requestFullscreen_:t[0],exitFullscreen_:t[1],fullscreenElement_:t[2],fullscreenEnabled_:t[3],fullscreenchange_:t[4],fullscreenerror_:t[5]}}})();function rf(){if("object"!=typeof navigator)return!1;if(navigator.userAgentData)return navigator.userAgentData.mobile;let t=navigator.userAgent;return!!t&&/Android|iPhone|iPad|iPod|Mobile Safari|Windows Phone/i.test(t)}function rk(){if("object"!=typeof navigator)return!1;let t=navigator.userAgent;return!!t&&/\b(tv|smart-tv|smarttv|appletv|crkey|googletv|hbbtv|pov_tv|roku|viera|nettv|philipstv)\b/i.test(t)}let rE="theoplayerstreamtypechange",rA="theoplayerready",rT=i();class rC extends e{static get observedAttributes(){return[tF.CONFIGURATION,tF.SOURCE,tF.MUTED,tF.AUTOPLAY,tF.FULLSCREEN,tF.FLUID,tF.DEVICE_TYPE,tF.PAUSED,tF.ENDED,tF.CASTING,tF.PLAYING_AD,tF.HAS_ERROR,tF.HAS_FIRST_PLAY,tF.STREAM_TYPE,tF.DVR_THRESHOLD,tF.USER_IDLE,tF.USER_IDLE_TIMEOUT]}_upgradeProperty(t){if(this.hasOwnProperty(t)){let e=this[t];delete this[t],this[t]=e}}get player(){return this._player}get configuration(){return this._configuration}set configuration(t){this.removeAttribute(tF.CONFIGURATION),this._setConfiguration(t)}_setConfiguration(t){this._configuration=null!=t?t:{},this.tryInitializePlayer_()}get source(){return this._player?this._player.source:this._source}set source(t){this.removeAttribute(tF.SOURCE),this._setSource(t)}_setSource(t){this._player?this._player.source=t:this._source=t}get fluid(){return this.hasAttribute(tF.FLUID)}set fluid(t){v(this,tF.FLUID,t)}get muted(){return this.hasAttribute(tF.MUTED)}set muted(t){v(this,tF.MUTED,t)}get autoplay(){return this.hasAttribute(tF.AUTOPLAY)}set autoplay(t){v(this,tF.AUTOPLAY,t)}get fullscreen(){return this.hasAttribute(tF.FULLSCREEN)}get paused(){return this.hasAttribute(tF.PAUSED)}get ended(){return this.hasAttribute(tF.ENDED)}get casting(){return this.hasAttribute(tF.CASTING)}get userIdleTimeout(){var t;let e="tv"===this.deviceType?5:2;return Number(null!=(t=this.getAttribute(tF.USER_IDLE_TIMEOUT))?t:e)}set userIdleTimeout(t){t=Number(t),this.setAttribute(tF.USER_IDLE_TIMEOUT,String(isNaN(t)?0:t))}get deviceType(){return this.getAttribute(tF.DEVICE_TYPE)||"desktop"}get streamType(){return this.getAttribute(tF.STREAM_TYPE)||"vod"}set streamType(t){this.setAttribute(tF.STREAM_TYPE,t)}get dvrThreshold(){var t;return Number(null!=(t=this.getAttribute(tF.DVR_THRESHOLD))?t:60)}set dvrThreshold(t){t=Number(t),this.setAttribute(tF.DVR_THRESHOLD,String(isNaN(t)?0:t))}connectedCallback(){var e;if(r(this),this._menuGroup instanceof tg||t.upgrade(this._menuGroup),!this.hasAttribute(tF.DEVICE_TYPE)){let t=rf()?"mobile":rk()?"tv":"desktop";this.setAttribute(tF.DEVICE_TYPE,t)}for(let t of(this.hasAttribute(tF.PAUSED)||this.setAttribute(tF.PAUSED,""),this.tryInitializePlayer_(),this._stateReceivers))this.propagateStateToReceiver_(t);I(this,this._playerEl,this.registerStateReceiver_),this._mutationObserver.observe(this,{childList:!0,subtree:!0}),this.shadowRoot.addEventListener("slotchange",this._onSlotChange),null==(e=this._resizeObserver)||e.observe(this),this._updateTextTrackMargins(),this._menuGroup.addEventListener(tl,this._onCloseMenu),this._menuGroup.addEventListener(th,this._onMenuChange),void 0!==rm&&(document.addEventListener(rm.fullscreenchange_,this._onFullscreenChange),document.addEventListener(rm.fullscreenerror_,this._onFullscreenChange),this._onFullscreenChange()),this.setUserIdle_(),"tv"===this.deviceType&&window.addEventListener("keydown",this._onTvKeyDown),this.addEventListener("keyup",this._onKeyUp),this.addEventListener("pointerup",this._onPointerUp),this.addEventListener("pointermove",this._onPointerMove),this.addEventListener("mouseleave",this._onMouseLeave)}tryInitializePlayer_(){var t,e;if(void 0===this._player&&(void 0!==this._configuration.license||void 0!==this._configuration.licenseUrl)){for(let t of(this._player=new rb(this._playerEl,this._configuration),this._source&&(this._player.source=this._source,this._source=void 0),this._player.muted=this.muted,this._player.autoplay=this.autoplay,this._stateReceivers))t[L].indexOf("player")>=0&&(t.player=this._player);this._updateAspectRatio(),this._updateError(),this._updatePausedAndEnded(),this._updateCasting(),this._player.addEventListener("resize",this._updateAspectRatio),this._player.addEventListener(["error","sourcechange","emptied"],this._updateError),this._player.addEventListener("volumechange",this._updateMuted),this._player.addEventListener("play",this._onPlay),this._player.addEventListener("pause",this._onPause),this._player.addEventListener(["ended","emptied"],this._updatePausedAndEnded),this._player.addEventListener(["durationchange","sourcechange","emptied"],this._updateStreamType),this._player.addEventListener("ratechange",this._updatePlaybackRate),this._player.addEventListener("sourcechange",this._onSourceChange),this._player.videoTracks.addEventListener(["addtrack","removetrack","change"],this._updateActiveVideoTrack),null==(t=this._player.cast)||t.addEventListener("castingchange",this._updateCasting),this._player.addEventListener(["durationchange","sourcechange","emptied"],this._updatePlayingAd),null==(e=this._player.ads)||e.addEventListener(["adbreakbegin","adbreakend","adbegin","adend","adskip"],this._updatePlayingAd),this.dispatchEvent(X(rA))}}disconnectedCallback(){var t;for(let e of(null==(t=this._resizeObserver)||t.disconnect(),this._mutationObserver.disconnect(),this.shadowRoot.removeEventListener("slotchange",this._onSlotChange),this._stateReceivers))this.removeStateFromReceiver_(e);this._stateReceivers.length=0,this._menuGroup.removeEventListener(tl,this._onCloseMenu),this._menuGroup.removeEventListener(th,this._onMenuChange),void 0!==rm&&(document.removeEventListener(rm.fullscreenchange_,this._onFullscreenChange),document.removeEventListener(rm.fullscreenerror_,this._onFullscreenChange)),window.removeEventListener("keydown",this._onTvKeyDown),this.removeEventListener("keyup",this._onKeyUp),this.removeEventListener("pointerup",this._onPointerUp),this.removeEventListener("click",this._onClickAfterPointerUp,!0),this.removeEventListener("pointermove",this._onPointerMove),this.removeEventListener("mouseleave",this._onMouseLeave),this._player&&(this._player.destroy(),this._player=void 0)}attributeChangedCallback(t,e,r){if(r===e)return;let i=null!=r;if(t===tF.CONFIGURATION)this._setConfiguration(r?JSON.parse(r):{});else if(t===tF.SOURCE)this._setSource(r?JSON.parse(r):void 0);else if(t===tF.MUTED)this._player&&(this._player.muted=i);else if(t===tF.AUTOPLAY)this._player&&(this._player.autoplay=i);else if(t===tF.FULLSCREEN)for(let t of this._stateReceivers)t[L].indexOf("fullscreen")>=0&&(t.fullscreen=i);else if(t===tF.DEVICE_TYPE)for(let t of(v(this,tF.MOBILE,"mobile"===r),v(this,tF.TV,"tv"===r),window.removeEventListener("keydown",this._onTvKeyDown),"tv"===r&&window.addEventListener("keydown",this._onTvKeyDown),this._stateReceivers))t[L].indexOf("deviceType")>=0&&(t.deviceType=r);else if(t===tF.STREAM_TYPE){for(let t of this._stateReceivers)t[L].indexOf("streamType")>=0&&(t.streamType=r);let t=X(rE,{bubbles:!0,composed:!0,detail:{streamType:r}});this.dispatchEvent(t)}else t===tF.FLUID?this._updateAspectRatio():t===tF.USER_IDLE||t===tF.PAUSED||t===tF.CASTING?this._updateTextTrackMargins():t===tF.DVR_THRESHOLD&&this._updateStreamType();rC.observedAttributes.indexOf(t)>=0&&a(this)}propagateStateToReceiver_(t){let e=t[L];if(e.indexOf("player")>=0&&(t.player=this._player),e.indexOf("fullscreen")>=0&&(t.fullscreen=this.fullscreen),e.indexOf("deviceType")>=0&&(t.deviceType=this.deviceType),e.indexOf("streamType")>=0&&(t.streamType=this.streamType),void 0!==this._player){if(e.indexOf("playbackRate")>=0&&(t.playbackRate=this._player.playbackRate),e.indexOf("error")>=0&&(t.error=this._player.errorObject),e.indexOf("activeVideoQuality")>=0){var r;t.activeVideoQuality=null==(r=this._activeVideoTrack)?void 0:r.activeQuality}e.indexOf("targetVideoQualities")>=0&&(t.targetVideoQualities=tL(this._activeVideoTrack))}e.indexOf("previewTime")>=0&&(t.previewTime=this._previewTime)}removeStateFromReceiver_(t){let e=t[L];e.indexOf("player")>=0&&(t.player=void 0)}openMenu_(t,e){let r=tr.fromRect(this._topChromeEl.getBoundingClientRect()),i=tr.fromRect(this._bottomChromeEl.getBoundingClientRect()),s=!0,o=!0;if(void 0!==e){let t=tr.fromRect(this.getBoundingClientRect()),r=tr.fromRect(e.getBoundingClientRect());t.width>0&&t.height>0&&(s=r.top>=t.top+t.height/2,o=r.left>=t.left+t.width/2)}this._menuGroup.openMenu(t,e),this._menuOpener=e;let n={"--theoplayer-menu-offset-top":`${Math.round(r.height)}px`,"--theoplayer-menu-offset-bottom":`${Math.round(i.height)}px`,"--theoplayer-menu-margin-top":s?"auto":"0","--theoplayer-menu-margin-bottom":s?"0":"auto","--theoplayer-menu-margin-left":o?"auto":"0","--theoplayer-menu-margin-right":o?"0":"auto"};a(this,n)}closeMenu_(){var t,e,r;null==(t=(e=this._menuGroup).closeMenu)||t.call(e),null==(r=this._menuOpener)||r.focus(),this._menuOpener=void 0}isUserIdle_(){return this.hasAttribute(tF.USER_IDLE)&&!this.paused&&!this.casting&&!this._menuGroup.hasCurrentMenu()}setUserActive_(){clearTimeout(this._userIdleTimer),this.removeAttribute(tF.USER_IDLE)}isPlayerOrMedia_(t){return t===this||this._playerEl.contains(t)}constructor(t={}){super(),this._configuration={},this._pointerType="",this._lastPointerUpTime=0,this._stateReceivers=[],this._player=void 0,this._source=void 0,this._userIdleTimer=0,this._previewTime=NaN,this._activeVideoTrack=void 0,this._onMutation=t=>{for(let e of t)if("childList"===e.type){let{addedNodes:t,removedNodes:r}=e;for(let e=0;e<t.length;e++){let r=t[e];l(r)&&I(r,this._playerEl,this.registerStateReceiver_)}for(let t=0;t<r.length;t++){let e=r[t];l(e)&&I(e,this._playerEl,this.unregisterStateReceiver_)}}},this._onSlotChange=()=>{I(this,this._playerEl,this.registerStateReceiver_),this._updateTextTrackMargins()},this.registerStateReceiver_=t=>{this._stateReceivers.indexOf(t)>=0||(this._stateReceivers.push(t),this.propagateStateToReceiver_(t))},this.unregisterStateReceiver_=t=>{(function(t,e){let r=t.indexOf(e);return!(r<0)&&(function(t,e){t.splice(e,1)}(t,r),!0)})(this._stateReceivers,t)&&this.removeStateFromReceiver_(t)},this._onToggleMenu=t=>{t.stopPropagation();let e=t.detail.menu;if(!this._menuGroup.getMenuById(e)){console.error(`<theoplayer-ui>: cannot find menu with ID "${e}"`);return}let r=h(t.target)?t.target:void 0;this._menuGroup.isMenuOpen(e)?this.closeMenu_():(this.closeMenu_(),this.openMenu_(e,r))},this._onCloseMenu=t=>{t.stopPropagation(),this.closeMenu_()},this._onMenuChange=()=>{this._menuEl.removeEventListener("pointerdown",this._onMenuPointerDown),this._menuEl.removeEventListener("click",this._onMenuClick),this._menuGroup.hasCurrentMenu()?(this._menuEl.addEventListener("pointerdown",this._onMenuPointerDown),this._menuEl.addEventListener("click",this._onMenuClick),this.setAttribute(tF.MENU_OPENED,"")):this.removeAttribute(tF.MENU_OPENED)},this._onMenuPointerDown=t=>{this._pointerType=t.pointerType},this._onMenuClick=t=>{var e;let r=null!=(e=t.pointerType)?e:this._pointerType;t.target===this._menuEl&&"mouse"===r&&this._menuGroup.closeCurrentMenu()&&t.preventDefault()},this._onEnterFullscreen=t=>{if(t.stopPropagation(),rm&&document[rm.fullscreenEnabled_]&&this[rm.requestFullscreen_]){let t=this[rm.requestFullscreen_]();t&&t.then&&t.then(n,n)}else this._player&&this._player.presentation.supportsMode("fullscreen")&&this._player.presentation.requestMode("fullscreen")},this._onExitFullscreen=t=>{if(t.stopPropagation(),rm){let t=document[rm.exitFullscreen_]();t&&t.then&&t.then(n,n)}this._player&&"fullscreen"===this._player.presentation.currentMode&&this._player.presentation.requestMode("inline")},this._onFullscreenChange=()=>{let t=!1;if(void 0!==rm){let e=document[rm.fullscreenElement_];e&&(t=function t(e,r){if(!e||!r)return!1;if(e.contains(r))return!0;let a=r.getRootNode();return!!a.host&&t(e,a.host)}(e,this))}t||void 0===this._player||"fullscreen"!==this._player.presentation.currentMode||(t=!0),v(this,tF.FULLSCREEN,t)},this._updateAspectRatio=()=>{if(void 0===this._player)return;let{videoWidth:t,videoHeight:e}=this._player;t>0&&e>0?a(this,{"--theoplayer-video-width":`${t}`,"--theoplayer-video-height":`${e}`}):a(this,{"--theoplayer-video-width":"","--theoplayer-video-height":""})},this._updateError=()=>{var t;let e=null==(t=this._player)?void 0:t.errorObject;for(let t of(v(this,tF.HAS_ERROR,void 0!==e),this._stateReceivers))t[L].indexOf("error")>=0&&(t.error=e)},this._onPlay=()=>{this.setAttribute(tF.HAS_FIRST_PLAY,""),this.removeAttribute(tF.PAUSED),this._updateEnded()},this._onPause=()=>{this.setAttribute(tF.PAUSED,""),this._updateEnded()},this._updatePausedAndEnded=()=>{let t=!this._player||this._player.paused;v(this,tF.PAUSED,t),this._updateEnded()},this._updateEnded=()=>{let t=!!this._player&&this._player.ended;v(this,tF.ENDED,t)},this._updateStreamType=()=>{let t;if(void 0===this._player)return;let e=this._player.duration;if(!isNaN(e)){if(e===1/0){t="live";let e=this.dvrThreshold,r=this._player.seekable;(e<=0||r.length>0&&r.end(r.length-1)-r.start(0)>=e)&&(t="dvr")}else t="vod";this.streamType=t}},this._updatePlaybackRate=()=>{if(void 0===this._player)return;let t=this._player.playbackRate;for(let e of this._stateReceivers)e[L].indexOf("playbackRate")>=0&&(e.playbackRate=t)},this._updateMuted=()=>{void 0!==this._player&&(this.muted=this._player.muted)},this._updateActiveVideoTrack=()=>{if(void 0===this._player)return;let t=p(this._player.videoTracks,t=>t.enabled);if(this._activeVideoTrack!==t){var e,r,a,i;null==(e=this._activeVideoTrack)||e.removeEventListener("activequalitychanged",this._updateActiveVideoQuality),null==(r=this._activeVideoTrack)||r.removeEventListener("targetqualitychanged",this._updateTargetVideoQualities),this._activeVideoTrack=t,this._updateActiveVideoQuality(),this._updateTargetVideoQualities(),null==(a=this._activeVideoTrack)||a.addEventListener("activequalitychanged",this._updateActiveVideoQuality),null==(i=this._activeVideoTrack)||i.addEventListener("targetqualitychanged",this._updateTargetVideoQualities)}},this._updateActiveVideoQuality=()=>{var t;let e=null==(t=this._activeVideoTrack)?void 0:t.activeQuality;for(let t of this._stateReceivers)t[L].indexOf("activeVideoQuality")>=0&&(t.activeVideoQuality=e)},this._updateTargetVideoQualities=()=>{let t=tL(this._activeVideoTrack);for(let e of this._stateReceivers)e[L].indexOf("targetVideoQualities")>=0&&(e.targetVideoQualities=t)},this._updateCasting=()=>{var t,e,r;let a=null!=(r=null==(e=this._player)?void 0:null==(t=e.cast)?void 0:t.casting)&&r;v(this,tF.CASTING,a)},this._updatePlayingAd=()=>{var t,e,r;let a=null!=(r=null==(e=this._player)?void 0:null==(t=e.ads)?void 0:t.playing)&&r;v(this,tF.PLAYING_AD,a)},this._onSourceChange=()=>{this.closeMenu_();let t=void 0!==this._player&&!this._player.paused;v(this,tF.HAS_FIRST_PLAY,t)},this.setUserIdle_=()=>{if(clearTimeout(this._userIdleTimer),this._userIdleTimer=0,!(this.userIdleTimeout<0)&&(this.setAttribute(tF.USER_IDLE,""),"tv"==this.deviceType&&this.isUserIdle_())){let t=ta();null!==t&&t.blur()}},this.scheduleUserIdle_=()=>{if(this.setUserActive_(),clearTimeout(this._userIdleTimer),this.userIdleTimeout<0){this._userIdleTimer=0;return}this._userIdleTimer=setTimeout(this.setUserIdle_,1e3*this.userIdleTimeout)},this._onTvKeyDown=t=>{if(C(t.keyCode)){this.setUserIdle_();return}let e=function t(e){if(!h(e)||"none"===getComputedStyle(e).display)return;if(null!==e.getAttribute(tF.TV_FOCUS))return m(e);let r=b(e);for(let e=0;e<r.length;e++){let a=t(r[e]);if(a)return a}}(this),r=m(this),a=ta();if(!a){let t=null!=e?e:r;t.length>0&&(t[0].focus(),a=t[0])}!this.isUserIdle_()&&(t.keyCode===tB.ENTER?void 0!==this._player&&null!==a&&a.click():T(t.keyCode)&&ti(this,r,t.keyCode)&&(t.preventDefault(),t.stopPropagation()))},this._onKeyUp=t=>{C(t.keyCode)||this.scheduleUserIdle_()},this._onPointerUp=t=>{"touch"===t.pointerType&&(this.isPlayerOrMedia_(t.target)&&!this.hasAttribute(tF.USER_IDLE)?this.setUserIdle_():(this.isUserIdle_()&&(this._lastPointerUpTime=performance.now(),this.addEventListener("click",this._onClickAfterPointerUp,!0)),this.scheduleUserIdle_()))},this._onClickAfterPointerUp=t=>{this.removeEventListener("click",this._onClickAfterPointerUp,!0),performance.now()-this._lastPointerUpTime<10&&(t.preventDefault(),t.stopPropagation())},this._onPointerMove=t=>{"mouse"===t.pointerType&&(this.setUserActive_(),this.isPlayerOrMedia_(t.target)&&this.scheduleUserIdle_())},this._onMouseLeave=()=>{this.setUserIdle_()},this._onChromeSlotTransition=t=>{"opacity"===t.propertyName&&this._updateTextTrackMargins()},this._updateTextTrackMargins=()=>{let t=this._player;if(void 0===t)return;let e=rw(this._topChromeSlot),r=rw(this._bottomChromeSlot);t.textTrackStyle.marginTop=null==e?void 0:e.height,t.textTrackStyle.marginBottom=null==r?void 0:r.height},this._onPreviewTimeChange=t=>{for(let e of(this._previewTime=t.detail.previewTime,this._stateReceivers))e[L].indexOf("previewTime")>=0&&(e.previewTime=this._previewTime)};let e=this.attachShadow({mode:"open",delegatesFocus:!0});e.appendChild(rT().content.cloneNode(!0)),this._configuration=t,this._playerEl=e.querySelector('[part~="media-layer"]'),this._menuEl=e.querySelector('[part~="menu-layer"]'),this._menuGroup=e.querySelector("theoplayer-menu-group"),this._topChromeEl=e.querySelector('[part~="top"]'),this._topChromeSlot=e.querySelector('slot[name="top-chrome"]'),this._bottomChromeEl=e.querySelector('[part~="bottom"]'),this._bottomChromeSlot=e.querySelector("slot:not([name])"),this._mutationObserver=new MutationObserver(this._onMutation),"undefined"!=typeof ResizeObserver&&(this._resizeObserver=new ResizeObserver(this._updateTextTrackMargins)),e.addEventListener(tc,this._onToggleMenu),e.addEventListener(eT,this._onEnterFullscreen),e.addEventListener(eC,this._onExitFullscreen),e.addEventListener(eR,this._onPreviewTimeChange),this._topChromeSlot.addEventListener("transitionstart",this._onChromeSlotTransition),this._topChromeSlot.addEventListener("transitionend",this._onChromeSlotTransition),this._bottomChromeSlot.addEventListener("transitionstart",this._onChromeSlotTransition),this._bottomChromeSlot.addEventListener("transitionend",this._onChromeSlotTransition),this._upgradeProperty("configuration"),this._upgradeProperty("source"),this._upgradeProperty("fluid"),this._upgradeProperty("muted"),this._upgradeProperty("autoplay"),this._upgradeProperty("userIdleTimeout"),this._upgradeProperty("streamType"),this.tryInitializePlayer_()}}function rw(t){let e;let r=t.assignedNodes().filter(h);for(let t of r)if("0"!==getComputedStyle(t).opacity){let r=tr.fromRect(t.getBoundingClientRect());r.width>0&&r.height>0&&(e=e?e.union(r):r)}return e}rC.READY_EVENT=rA,t.define("theoplayer-ui",rC);let rx=i();class rS extends e{static get observedAttributes(){return[tF.CONFIGURATION,tF.SOURCE,tF.MUTED,tF.AUTOPLAY,tF.FLUID,tF.DEVICE_TYPE,tF.STREAM_TYPE,tF.USER_IDLE_TIMEOUT,tF.DVR_THRESHOLD,tF.HAS_TITLE]}_upgradeProperty(t){if(this.hasOwnProperty(t)){let e=this[t];delete this[t],this[t]=e}}get player(){return this._ui.player}get configuration(){return this._ui.configuration}set configuration(t){this.removeAttribute(tF.CONFIGURATION),this.setConfiguration_(t)}setConfiguration_(t){var e;this._ui.configuration={...t,ads:{...null!=(e=t.ads)?e:{},showCountdown:!1}}}get source(){return this._ui.source}set source(t){this.removeAttribute(tF.SOURCE),this._ui.source=t}get fluid(){return this._ui.fluid}set fluid(t){this._ui.fluid=t}get muted(){return this._ui.muted}set muted(t){this._ui.muted=t}get autoplay(){return this._ui.autoplay}set autoplay(t){this._ui.autoplay=t}get streamType(){return this._ui.streamType}set streamType(t){this._ui.streamType=t}get userIdleTimeout(){return this._ui.userIdleTimeout}set userIdleTimeout(t){this._ui.userIdleTimeout=t}get dvrThreshold(){return this._ui.dvrThreshold}set dvrThreshold(t){this._ui.dvrThreshold=t}connectedCallback(){if(r(this),!this.hasAttribute(tF.DEVICE_TYPE)){let t=rf()?"mobile":rk()?"tv":"desktop";this.setAttribute(tF.DEVICE_TYPE,t)}this._appliedExtensions||(this._appliedExtensions=!0,function(t){for(let e of rg)e(t)}(this),a(this)),this._onTitleSlotChange()}disconnectedCallback(){}attributeChangedCallback(t,e,r){if(r===e)return;let i=null!=r;t===tF.SOURCE?this._ui.source=r?JSON.parse(r):void 0:t===tF.CONFIGURATION?this.setConfiguration_(r?JSON.parse(r):{}):t===tF.MUTED?this.muted=i:t===tF.AUTOPLAY?this.autoplay=i:t===tF.FLUID?this.fluid=i:t===tF.DEVICE_TYPE?(v(this,tF.MOBILE,"mobile"===r),v(this,tF.TV,"tv"===r),this._ui.setAttribute(tF.DEVICE_TYPE,r)):t===tF.STREAM_TYPE?this.streamType=r:t===tF.USER_IDLE_TIMEOUT?this.userIdleTimeout=Number(r):t===tF.DVR_THRESHOLD&&(this.dvrThreshold=Number(r)),rS.observedAttributes.indexOf(t)>=0&&a(this)}constructor(t={}){super(),this._appliedExtensions=!1,this._updateStreamType=()=>{this.setAttribute(tF.STREAM_TYPE,this.streamType),v(this._timeRange,tF.HIDDEN,"live"===this.streamType)},this._dispatchReadyEvent=()=>{this.dispatchEvent(X(rA))},this._onTitleSlotChange=()=>{v(this,tF.HAS_TITLE,this._titleSlot.assignedNodes().length>0)};let e=this.attachShadow({mode:"open",delegatesFocus:!0});e.appendChild(rx().content.cloneNode(!0)),this._ui=e.querySelector("theoplayer-ui"),this._ui.addEventListener(rA,this._dispatchReadyEvent),this._ui.addEventListener(rE,this._updateStreamType),this.setConfiguration_(t),this._titleSlot=e.querySelector('slot[name="title"]'),this._titleSlot.addEventListener("slotchange",this._onTitleSlotChange),this._timeRange=e.querySelector("theoplayer-time-range"),this._upgradeProperty("configuration"),this._upgradeProperty("source"),this._upgradeProperty("fluid"),this._upgradeProperty("muted"),this._upgradeProperty("autoplay"),this._upgradeProperty("streamType"),this._upgradeProperty("userIdleTimeout"),this._upgradeProperty("dvrThreshold")}}rS.READY_EVENT=rA,t.define("theoplayer-default-ui",rS);let rL="1.7.1";export{eu as ActiveQualityDisplay,rp as AdClickThroughButton,rh as AdCountdown,ro as AdDisplay,r_ as AdSkipButton,e3 as AirPlayButton,tF as Attribute,A as Button,eW as CastButton,eX as ChromecastButton,e2 as ChromecastDisplay,tk as CloseMenuButton,eS as ColorStops,o as ControlBar,rS as DefaultUI,j as DurationDisplay,eK as ErrorDisplay,tq as ExtensionSlot,ex as FullscreenButton,e9 as GestureReceiver,t9 as LanguageMenu,er as LanguageMenuButton,S as LinkButton,ra as LiveButton,e4 as LoadingIndicator,tT as MediaTrackRadioButton,tp as Menu,tm as MenuButton,tg as MenuGroup,B as MuteButton,D as PlayButton,eh as PlaybackRateDisplay,el as PlaybackRateMenu,eo as PlaybackRateMenuButton,ei as PlaybackRateRadioGroup,eD as PreviewThumbnail,eq as PreviewTimeDisplay,ey as QualityRadioButton,ev as QualityRadioGroup,te as RadioButton,to as RadioGroup,eP as Range,U as SeekButton,ek as SettingsMenu,eA as SettingsMenuButton,R as StateReceiverMixin,tM as TextTrackOffRadioButton,tx as TextTrackRadioButton,tX as TextTrackStyleDisplay,t7 as TextTrackStyleMenu,t2 as TextTrackStyleRadioGroup,em as TextTrackStyleResetButton,K as TimeDisplay,eY as TimeRange,tN as TrackRadioGroup,rC as UIContainer,ez as VolumeRange,k as buttonTemplate,w as linkButtonTemplate,ty as menuGroupTemplate,tu as menuTemplate,eL as rangeTemplate,rv as registerExtension,rL as version};
|
|
32
32
|
//# sourceMappingURL=THEOplayerUI.node.mjs.map
|