@munsonlabs/video-player 0.2.4 → 0.2.5
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/README.md +27 -13
- package/dist/chunks/{ads-BV769SMr.mjs → ads-Dph3guS9.mjs} +1 -1
- package/dist/{elements/chunks/brightcove-rNI-XRxB.mjs → chunks/brightcove-DiJF_74z.mjs} +1 -1
- package/dist/chunks/constants-35ZnLsDv.mjs +1 -0
- package/dist/chunks/dailymotion-DTooszoV.mjs +1 -0
- package/dist/chunks/embedShared-CbArTtuR.mjs +1 -0
- package/dist/chunks/{jwplayer-WIkwoJTA.mjs → jwplayer-Dhq65VxK.mjs} +1 -1
- package/dist/chunks/loadScript-CxzeXqTe.mjs +1 -0
- package/dist/chunks/{sourceHelpers-rbs6D6ZG.mjs → sourceHelpers-B0tH-grj.mjs} +1 -1
- package/dist/chunks/vimeo-D0GAjId0.mjs +1 -0
- package/dist/chunks/youtube-B8AT2F-4.mjs +1 -0
- package/dist/elements/chunks/{ads-BV769SMr.mjs → ads-Dph3guS9.mjs} +1 -1
- package/dist/{chunks/brightcove-rNI-XRxB.mjs → elements/chunks/brightcove-DiJF_74z.mjs} +1 -1
- package/dist/elements/chunks/constants-35ZnLsDv.mjs +1 -0
- package/dist/elements/chunks/dailymotion-DTooszoV.mjs +1 -0
- package/dist/elements/chunks/embedShared-CbArTtuR.mjs +1 -0
- package/dist/elements/chunks/{jwplayer-WIkwoJTA.mjs → jwplayer-Dhq65VxK.mjs} +1 -1
- package/dist/elements/chunks/loadScript-CxzeXqTe.mjs +1 -0
- package/dist/elements/chunks/{sourceHelpers-rbs6D6ZG.mjs → sourceHelpers-B0tH-grj.mjs} +1 -1
- package/dist/elements/chunks/vimeo-D0GAjId0.mjs +1 -0
- package/dist/elements/chunks/youtube-B8AT2F-4.mjs +1 -0
- package/dist/elements/controls.d.mts +166 -38
- package/dist/elements/controls.mjs +1 -1
- package/dist/elements/core.d.mts +23 -31
- package/dist/elements/core.mjs +1 -1
- package/dist/elements/index.d.mts +133 -69
- package/dist/elements/index.mjs +1 -1
- package/dist/index.d.mts +203 -209
- package/dist/index.mjs +1 -1
- package/package.json +5 -3
- package/dist/chunks/constants-zR-UwEWY.mjs +0 -1
- package/dist/chunks/dailymotion-gEquA4h5.mjs +0 -1
- package/dist/chunks/embedShared-duyOYFQN.mjs +0 -1
- package/dist/chunks/loadScript-Du6JsTc2.mjs +0 -1
- package/dist/chunks/vimeo-WJYDJPA3.mjs +0 -1
- package/dist/chunks/youtube-DbJ-IrvP.mjs +0 -1
- package/dist/elements/chunks/constants-zR-UwEWY.mjs +0 -1
- package/dist/elements/chunks/dailymotion-gEquA4h5.mjs +0 -1
- package/dist/elements/chunks/embedShared-duyOYFQN.mjs +0 -1
- package/dist/elements/chunks/loadScript-Du6JsTc2.mjs +0 -1
- package/dist/elements/chunks/vimeo-WJYDJPA3.mjs +0 -1
- package/dist/elements/chunks/youtube-DbJ-IrvP.mjs +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Fragment as e,computed as t,createBlock as n,createCommentVNode as r,createElementBlock as i,createElementVNode as a,createTextVNode as o,createVNode as s,defineComponent as c,defineCustomElement as l,mergeProps as u,nextTick as d,normalizeClass as f,normalizeStyle as p,onBeforeUnmount as m,openBlock as h,ref as g,renderList as _,renderSlot as v,toDisplayString as y,toRef as b,unref as x,watch as S}from"vue";const C=[.5,.75,1,1.25,1.5,2],w=3e3;function T(e){let n=g(!1),r=g(null),i=!1,a=null,o=!1,s=t(()=>{let t=e.value;return t?.total?t.current/t.total*100:0}),c=t(()=>r.value??s.value),l=t(()=>r.value!==null),u=t(()=>{let t=e.value?.total??0;return c.value/100*t});function d(){a&&clearTimeout(a),a=null}function f(){d(),r.value=null}function p(t){let a=e.value;a?.total&&(n.value||=(i=a.isPlaying,a.isPlaying&&a.togglePlay(),!0),d(),r.value=Number(t.target.value))}function h(t){if(!n.value)return;n.value=!1,o=!0;let s=e.value;if(!s)return;let c=Number(t.target.value);r.value=c,s.seek(c),i&&s.togglePlay(),d(),a=setTimeout(f,w)}function _(t){if(n.value||o)return;o=!1;let s=e.value;if(!s?.total)return;let c=Number(t.target.value);r.value=c,s.seek(c),i&&s.togglePlay(),d(),a=setTimeout(f,w)}return S(()=>e.value?.current,()=>{let t=e.value;if(r.value===null||!t?.total)return;let n=r.value/100*t.total;Math.abs(t.current-n)<1&&f()}),m(f),{scrubbing:l,displayPercent:c,previewSeconds:u,onInput:p,onChange:h,onTouchEnd:_}}function E(e,n){return t(()=>e.value?e.value:n.value?document.getElementById(n.value)??null:null)}function D(e,t=!1){if(!e||isNaN(e))return`0:00`;let n=t?Math.round(e):Math.floor(e);return`${Math.floor(n/60)}:${String(n%60).padStart(2,`0`)}`}const O={class:`mlv-scrubber-wrap`},k=[`value`,`aria-valuetext`];var A=c({inheritAttrs:!1,__name:`Scrubber`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=E(b(t,`player`),b(t,`for`)),{scrubbing:o,displayPercent:s,previewSeconds:c,onInput:l,onChange:d,onTouchEnd:f}=T(n),m=e=>D(e,!0);return(e,t)=>(h(),i(`div`,O,[a(`input`,u({type:`range`,min:`0`,max:`100`,step:`0.5`,value:x(s),class:`mlv-scrubber`},e.$attrs,{style:{"--p":`${x(s)}%`,"--b":`${x(n)?.bufferedDisplay??0}%`},"aria-label":`Seek`,"aria-valuetext":`${m(x(c))} of ${m(x(n)?.total??0)}`,onInput:t[0]||=(...e)=>x(l)&&x(l)(...e),onChange:t[1]||=(...e)=>x(d)&&x(d)(...e),onTouchend:t[2]||=(...e)=>x(f)&&x(f)(...e)}),null,16,k),v(e.$slots,`preview`,{scrubbing:x(o),percent:x(s),previewSeconds:x(c),formatTime:m},()=>[x(o)?(h(),i(`div`,{key:0,class:`mlv-scrubber__preview`,style:p({left:`${x(s)}%`})},y(m(x(c))),5)):r(`v-if`,!0)],!0)]))}}),j=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},ee=j(A,[[`__scopeId`,`data-v-043f1bc8`]]);const te={},ne={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function re(e,t){return h(),i(`svg`,ne,[...t[0]||=[a(`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`},null,-1),a(`path`,{d:`M9.5 10.5a2 2 0 0 0-3.5 1.3v.4a2 2 0 0 0 3.5 1.3`},null,-1),a(`path`,{d:`M17.5 10.5a2 2 0 0 0-3.5 1.3v.4a2 2 0 0 0 3.5 1.3`},null,-1)]])}var ie=j(te,[[`render`,re]]);const ae={},oe={viewBox:`0 0 24 24`,fill:`currentColor`};function se(e,t){return h(),i(`svg`,oe,[...t[0]||=[a(`path`,{d:`M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z`},null,-1)]])}var ce=j(ae,[[`render`,se]]);const le={},ue={viewBox:`0 0 24 24`,fill:`currentColor`};function de(e,t){return h(),i(`svg`,ue,[...t[0]||=[a(`path`,{d:`M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z`},null,-1)]])}var fe=j(le,[[`render`,de]]);const pe={},me={viewBox:`0 0 24 24`,fill:`currentColor`};function he(e,t){return h(),i(`svg`,me,[...t[0]||=[a(`path`,{d:`M7 7h10v3l4-4-4-4v3H5v6h2V7zm10 10H7v-3l-4 4 4 4v-3h12v-6h-2v4z`},null,-1)]])}var ge=j(pe,[[`render`,he]]);const M={},N={viewBox:`0 0 24 24`,fill:`currentColor`};function P(e,t){return h(),i(`svg`,N,[...t[0]||=[a(`path`,{d:`M6 19h4V5H6v14zm8-14v14h4V5h-4z`},null,-1)]])}var F=j(M,[[`render`,P]]);const I={},L={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function _e(e,t){return h(),i(`svg`,L,[...t[0]||=[a(`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`},null,-1),a(`rect`,{x:`12`,y:`11`,width:`8`,height:`6`,rx:`1`,fill:`currentColor`,stroke:`none`},null,-1)]])}var ve=j(I,[[`render`,_e]]);const ye={},be={viewBox:`0 0 24 24`,fill:`currentColor`};function xe(e,t){return h(),i(`svg`,be,[...t[0]||=[a(`path`,{d:`M8 5v14l11-7z`},null,-1)]])}var Se=j(ye,[[`render`,xe]]);const Ce={},we={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Te(e,t){return h(),i(`svg`,we,[...t[0]||=[a(`rect`,{x:`2`,y:`6`,width:`20`,height:`12`,rx:`2`},null,-1),a(`path`,{d:`M7 14v-4M12 14V8M17 14v-2`},null,-1)]])}var Ee=j(Ce,[[`render`,Te]]);const De={},Oe={viewBox:`0 0 24 24`,fill:`currentColor`};function ke(e,t){return h(),i(`svg`,Oe,[...t[0]||=[a(`path`,{d:`M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8z`},null,-1)]])}var Ae=j(De,[[`render`,ke]]);const je={},Me={viewBox:`0 0 24 24`,fill:`currentColor`};function Ne(e,t){return h(),i(`svg`,Me,[...t[0]||=[a(`path`,{d:`M16.5 12A4.5 4.5 0 0 0 14 7.97v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51A8.796 8.796 0 0 0 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3L3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06A8.99 8.99 0 0 0 17.73 18L19 19.27 20.27 18 5.27 3 4.27 3zM12 4L9.91 6.09 12 8.18V4z`},null,-1)]])}var R=j(je,[[`render`,Ne]]);const Pe={},Fe={viewBox:`0 0 24 24`,fill:`currentColor`};function Ie(e,t){return h(),i(`svg`,Fe,[...t[0]||=[a(`path`,{d:`M3 9v6h4l5 5V4L7 9H3zm13.5 3A4.5 4.5 0 0 0 14 7.97v8.05c1.48-.73 2.5-2.25 2.5-4.02z`},null,-1)]])}var z=j(Pe,[[`render`,Ie]]);const Le=[`aria-label`];var Re=j(c({__name:`PlayButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let r=e,a=E(b(r,`player`),b(r,`for`)),o=t(()=>a.value?.isError?`error`:a.value?.hasEnded?`ended`:a.value?.isPlaying?`playing`:`idle`),s=t(()=>{switch(o.value){case`error`:return`Retry`;case`ended`:return`Replay`;case`playing`:return`Pause`;default:return`Play`}});function c(){let e=a.value;e&&(e.isError?e.retry():e.togglePlay())}return(e,t)=>(h(),i(`button`,{type:`button`,class:`mlv-play-button`,"aria-label":s.value,onClick:c},[v(e.$slots,`default`,{isPlaying:x(a)?.isPlaying??!1,hasEnded:x(a)?.hasEnded??!1,isError:x(a)?.isError??!1},()=>[o.value===`error`||o.value===`ended`?(h(),n(x(Ae),{key:0})):o.value===`playing`?(h(),n(x(F),{key:1})):(h(),n(x(Se),{key:2}))],!0)],8,Le))}}),[[`__scopeId`,`data-v-218255bd`]]),ze=c({__name:`VolumeIcon`,props:{isAudible:{type:Boolean,required:!0}},setup(e){return(t,r)=>e.isAudible?(h(),n(x(z),{key:0})):(h(),n(x(R),{key:1}))}});const Be=[`aria-label`];var Ve=j(c({__name:`MuteButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=E(b(t,`player`),b(t,`for`));return(e,t)=>(h(),i(`button`,{type:`button`,class:`mlv-mute-button`,"aria-label":x(n)?.isMuted?`Unmute`:`Mute`,onClick:t[0]||=e=>x(n)?.toggleMute()},[v(e.$slots,`default`,{isMuted:x(n)?.isMuted??!1},()=>[s(ze,{"is-audible":x(n)?.isAudible??!1},null,8,[`is-audible`])],!0)],8,Be))}}),[[`__scopeId`,`data-v-1940b598`]]);const He=[`aria-label`];var Ue=j(c({__name:`FullscreenButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,r=E(b(t,`player`),b(t,`for`));return(e,t)=>(h(),i(`button`,{type:`button`,class:`mlv-fullscreen-button`,"aria-label":x(r)?.isFullscreen?`Exit fullscreen`:`Enter fullscreen`,onClick:t[0]||=e=>x(r)?.toggleFullscreen()},[v(e.$slots,`default`,{isFullscreen:x(r)?.isFullscreen??!1},()=>[x(r)?.isFullscreen?(h(),n(x(fe),{key:0})):(h(),n(x(ce),{key:1}))],!0)],8,He))}}),[[`__scopeId`,`data-v-b93a5017`]]),We=j(c({__name:`Spinner`,props:{size:{type:Number,required:!1,default:14},borderWidth:{type:Number,required:!1,default:2}},setup(e){return(t,n)=>(h(),i(`div`,{class:`spinner`,style:p({width:`${e.size}px`,height:`${e.size}px`,borderWidth:`${e.borderWidth}px`})},null,4))}}),[[`__scopeId`,`data-v-259be2b2`]]);const Ge={key:0,class:`mlv-buffering`};var Ke=j(c({__name:`Buffering`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=E(b(t,`player`),b(t,`for`));return(e,t)=>x(n)?.isBuffering?(h(),i(`div`,Ge,[v(e.$slots,`default`,{},()=>[s(We)],!0)])):r(`v-if`,!0)}}),[[`__scopeId`,`data-v-454fec7f`]]);const qe=[`aria-pressed`];var Je=j(c({__name:`LoopButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=E(b(t,`player`),b(t,`for`));return(e,t)=>(h(),i(`button`,{type:`button`,class:f([`mlv-loop-button`,{"mlv-loop-button--active":x(n)?.isLooping}]),"aria-pressed":x(n)?.isLooping??!1,"aria-label":`Toggle loop`,onClick:t[0]||=e=>x(n)?.toggleLoop()},[v(e.$slots,`default`,{isLooping:x(n)?.isLooping??!1},()=>[s(x(ge))],!0)],10,qe))}}),[[`__scopeId`,`data-v-e32eda25`]]);const Ye=[`aria-pressed`];var Xe=j(c({__name:`PipButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=E(b(t,`player`),b(t,`for`));return(e,t)=>x(n)?.supportsPip?(h(),i(`button`,{key:0,type:`button`,class:f([`mlv-pip-button`,{"mlv-pip-button--active":x(n)?.isPipActive}]),"aria-pressed":x(n)?.isPipActive??!1,"aria-label":`Toggle Picture-in-Picture`,onClick:t[0]||=e=>x(n)?.togglePip()},[v(e.$slots,`default`,{isPipActive:x(n)?.isPipActive??!1},()=>[s(x(ve))],!0)],10,Ye)):r(`v-if`,!0)}}),[[`__scopeId`,`data-v-f654d93e`]]);function Ze(e){function t(){let t=e.captionTracks;if(!t.length)return;let n=t[t.findIndex(t=>t.index===e.activeCaptionIndex)+1];e.setCaptionTrack(n?n.index:null)}function n(){return e.captionTracks.find(t=>t.index===e.activeCaptionIndex)?.label??`Off`}return{cycleCaptionTrack:t,currentCaptionLabel:n}}const Qe=[`aria-label`];var $e=j(c({__name:`CaptionsButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let n=e,a=E(b(n,`player`),b(n,`for`)),o=t(()=>a.value?Ze(a.value):null),c=t(()=>o.value?.currentCaptionLabel()??`Off`);function l(){o.value?.cycleCaptionTrack()}return(e,t)=>x(a)?.supportsCaptions?(h(),i(`button`,{key:0,type:`button`,class:f([`mlv-captions-button`,{"mlv-captions-button--active":x(a)?.activeCaptionIndex!==null}]),"aria-label":`Captions: ${c.value}`,onClick:l},[v(e.$slots,`default`,{currentLabel:c.value,tracks:x(a)?.captionTracks??[],activeIndex:x(a)?.activeCaptionIndex??null},()=>[s(x(ie))],!0)],10,Qe)):r(`v-if`,!0)}}),[[`__scopeId`,`data-v-2572c4f2`]]);function et(e){function t(){let t=e.qualityLevels;if(!t.length)return;if(e.isAutoQuality){e.setQuality(t[t.length-1].index);return}let n=t.findIndex(t=>t.index===e.currentQualityIndex);e.setQuality(n<=0?null:t[n-1].index)}function n(){return e.isAutoQuality?`Auto`:e.qualityLevels.find(t=>t.index===e.currentQualityIndex)?.label??`Auto`}return{cycleQuality:t,currentQualityLabel:n}}const tt=[`aria-label`];var nt=j(c({__name:`QualityButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let n=e,a=E(b(n,`player`),b(n,`for`)),o=t(()=>a.value?et(a.value):null),c=t(()=>o.value?.currentQualityLabel()??`Auto`);function l(){o.value?.cycleQuality()}return(e,t)=>x(a)?.supportsQuality?(h(),i(`button`,{key:0,type:`button`,class:f([`mlv-quality-button`,{"mlv-quality-button--active":!x(a)?.isAutoQuality}]),"aria-label":`Quality: ${c.value}`,onClick:l},[v(e.$slots,`default`,{currentLabel:c.value,levels:x(a)?.qualityLevels??[],currentIndex:x(a)?.currentQualityIndex??null,isAuto:x(a)?.isAutoQuality??!0},()=>[s(x(Ee))],!0)],10,tt)):r(`v-if`,!0)}}),[[`__scopeId`,`data-v-d1352878`]]);function rt(e){function t(){let t=C.indexOf(e.currentPlaybackRate);e.setPlaybackRate(C[(t+1)%C.length])}function n(e){return`${e}×`}return{cycleRate:t,fmtRate:n}}const it=[`aria-label`];var at=j(c({__name:`PlaybackRateButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let n=e,a=E(b(n,`player`),b(n,`for`)),s=t(()=>a.value?rt(a.value):null),c=t(()=>s.value?s.value.fmtRate(a.value.currentPlaybackRate):`1×`);function l(){s.value?.cycleRate()}return(e,t)=>x(a)?.supportsPlaybackRate?(h(),i(`button`,{key:0,type:`button`,class:f([`mlv-playback-rate-button`,{"mlv-playback-rate-button--active":x(a)?.currentPlaybackRate!==1}]),"aria-label":`Playback speed: ${c.value}`,onClick:l},[v(e.$slots,`default`,{currentLabel:c.value,rate:x(a)?.currentPlaybackRate??1,rates:[...x(C)]},()=>[o(y(c.value),1)],!0)],10,it)):r(`v-if`,!0)}}),[[`__scopeId`,`data-v-646c9bc1`]]);const ot={class:`mlv-volume-wrap`},st=[`value`],ct={class:`mlv-volume-pct`};var lt=j(c({inheritAttrs:!1,__name:`VolumeSlider`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let n=e,r=E(b(n,`player`),b(n,`for`)),o=t(()=>{let e=r.value;return e?e.isMuted?0:Math.round(e.vol*100):0});function s(e){r.value?.setVolume(Number(e.target.value)/100)}return(e,t)=>(h(),i(`div`,ot,[a(`input`,u({type:`range`,min:`0`,max:`100`,step:`1`,value:o.value,class:`mlv-volume-slider`},e.$attrs,{style:{"--v":`${o.value}%`},"aria-label":`Volume`,onInput:s}),null,16,st),v(e.$slots,`default`,{percent:o.value},()=>[a(`span`,ct,y(o.value)+`%`,1)],!0)]))}}),[[`__scopeId`,`data-v-fbb2c86c`]]);const ut={class:`mlv-time-display__time`},dt={class:`mlv-time-display__total`};var ft=j(c({__name:`TimeDisplay`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(t){let n=t,r=E(b(n,`player`),b(n,`for`));return(t,n)=>(h(),i(`span`,{class:f([`mlv-time-display`,{"mlv-time-display--live":x(r)?.isLive}])},[v(t.$slots,`default`,{isLive:x(r)?.isLive??!1,current:x(r)?.current??0,total:x(r)?.total??0,formatTime:x(D)},()=>[x(r)?.isLive?(h(),i(e,{key:0},[n[0]||=a(`span`,{class:`mlv-time-display__dot`},null,-1),n[1]||=o(`Live `,-1)],64)):(h(),i(e,{key:1},[a(`span`,ut,y(x(D)(x(r)?.current??0)),1),a(`span`,dt,`/ `+y(x(D)(x(r)?.total??0)),1)],64))],!0)],2))}}),[[`__scopeId`,`data-v-0285c811`]]);const pt=[`aria-label`,`aria-pressed`],mt=[`aria-current`,`onClick`],B={class:`mlv-transcript__time`},ht={class:`mlv-transcript__text`};var gt=j(c({__name:`Transcript`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1},cues:{type:[Array,String],required:!1}},setup(o){let s=o,c=E(b(s,`player`),b(s,`for`)),l=t(()=>{if(typeof s.cues!=`string`)return s.cues??[];try{return JSON.parse(s.cues)}catch{return[]}}),u=t(()=>{let e=c.value?.current??0,t=l.value;for(let n=t.length-1;n>=0;n--){let r=t[n];if(!(r.time>e))return r.end!==void 0&&e>=r.end?null:n}return null}),p=g(null),C=g(!1);function w(e){let t=c.value;t&&(t.total>0&&t.seek(e.time/t.total*100),t.isPlaying||t.togglePlay())}S(u,async e=>{e===null||C.value||(await d(),p.value?.querySelector(`.mlv-transcript__cue--active`)?.scrollIntoView?.({block:`nearest`,behavior:`smooth`}))});let T=typeof window<`u`&&`speechSynthesis`in window,O=g(!1),k=g(!1);function A(){if(T){if(O.value=!O.value,O.value){c.value&&!c.value.isMuted&&(c.value.toggleMute(),k.value=!0);return}window.speechSynthesis.cancel(),k.value&&c.value?.isMuted&&c.value.toggleMute(),k.value=!1}}return S(u,e=>{if(!T||!O.value||e===null)return;let t=l.value[e];if(!t)return;window.speechSynthesis.cancel();let n=new SpeechSynthesisUtterance(t.text);n.pitch=2,n.rate=1.5,window.speechSynthesis.speak(n)}),S(()=>c.value?.isMuted,e=>{T&&O.value&&e===!1&&(window.speechSynthesis.cancel(),O.value=!1,k.value=!1)}),m(()=>{T&&window.speechSynthesis.cancel(),k.value&&c.value?.isMuted&&c.value.toggleMute()}),(t,o)=>(h(),i(e,null,[x(T)?(h(),i(`button`,{key:0,type:`button`,class:`mlv-transcript__speech-toggle`,"aria-label":O.value?`Mute transcript readout`:`Unmute transcript readout`,"aria-pressed":O.value,onClick:A},[O.value?(h(),n(z,{key:0})):(h(),n(R,{key:1}))],8,pt)):r(`v-if`,!0),a(`ol`,{ref_key:`listEl`,ref:p,class:`mlv-transcript`,onPointerenter:o[0]||=e=>C.value=!0,onPointerleave:o[1]||=e=>C.value=!1},[(h(!0),i(e,null,_(l.value,(e,n)=>(h(),i(`li`,{key:`${e.time}-${n}`,class:`mlv-transcript__item`},[a(`button`,{type:`button`,class:f([`mlv-transcript__cue`,{"mlv-transcript__cue--active":n===u.value}]),"aria-current":n===u.value?`true`:void 0,onClick:t=>w(e)},[v(t.$slots,`default`,{cue:e,index:n,isActive:n===u.value,formatTime:x(D)},()=>[a(`span`,B,y(x(D)(e.time)),1),a(`span`,ht,y(e.text),1)],!0)],10,mt)]))),128))],544)],64))}}),[[`__scopeId`,`data-v-c166a2c5`]]);const V=l(ee,{shadowRoot:!1}),H=l(Re,{shadowRoot:!1}),U=l(Ve,{shadowRoot:!1}),W=l(Ue,{shadowRoot:!1}),G=l(Ke,{shadowRoot:!1}),K=l(Je,{shadowRoot:!1}),q=l(Xe,{shadowRoot:!1}),J=l($e,{shadowRoot:!1}),Y=l(nt,{shadowRoot:!1}),X=l(at,{shadowRoot:!1}),Z=l(lt,{shadowRoot:!1}),Q=l(ft,{shadowRoot:!1}),$=l(gt,{shadowRoot:!1});customElements.define(`ml-controls-scrubber`,V),customElements.define(`ml-controls-play-button`,H),customElements.define(`ml-controls-mute-button`,U),customElements.define(`ml-controls-fullscreen-button`,W),customElements.define(`ml-controls-buffering`,G),customElements.define(`ml-controls-loop-button`,K),customElements.define(`ml-controls-pip-button`,q),customElements.define(`ml-controls-captions-button`,J),customElements.define(`ml-controls-quality-button`,Y),customElements.define(`ml-controls-playback-rate-button`,X),customElements.define(`ml-controls-volume-slider`,Z),customElements.define(`ml-controls-time-display`,Q),customElements.define(`ml-controls-transcript`,$);export{G as BufferingElement,J as CaptionsButtonElement,W as FullscreenButtonElement,K as LoopButtonElement,U as MuteButtonElement,q as PipButtonElement,H as PlayButtonElement,X as PlaybackRateButtonElement,Y as QualityButtonElement,V as ScrubberElement,Q as TimeDisplayElement,$ as TranscriptElement,Z as VolumeSliderElement};
|
|
1
|
+
import{Fragment as e,computed as t,createBlock as n,createCommentVNode as r,createElementBlock as i,createElementVNode as a,createTextVNode as o,createVNode as s,defineComponent as c,defineCustomElement as l,mergeProps as u,nextTick as d,normalizeClass as f,normalizeStyle as p,onBeforeUnmount as m,openBlock as h,ref as g,renderList as _,renderSlot as v,toDisplayString as y,toRef as b,unref as x,watch as S}from"vue";const C=[.5,.75,1,1.25,1.5,2],w=3e3;function T(e){let n=g(!1),r=g(null),i=!1,a=null,o=!1,s=t(()=>{let t=e.value;return t?.total?t.current/t.total*100:0}),c=t(()=>r.value??s.value),l=t(()=>r.value!==null),u=t(()=>{let t=e.value?.total??0;return c.value/100*t});function d(){a&&clearTimeout(a),a=null}function f(){d(),r.value=null}function p(t){let a=e.value;a?.total&&(n.value||=(i=a.isPlaying,a.pause(),!0),d(),r.value=Number(t.target.value))}function h(t){if(!n.value)return;n.value=!1,o=!0;let s=e.value;if(!s)return;let c=Number(t.target.value);r.value=c,s.seek(c),i&&s.play().catch(()=>{}),d(),a=setTimeout(f,w)}function _(t){if(n.value||o)return;o=!1;let s=e.value;if(!s?.total)return;let c=Number(t.target.value);r.value=c,s.seek(c),i&&s.play().catch(()=>{}),d(),a=setTimeout(f,w)}return S(()=>e.value?.current,()=>{let t=e.value;if(r.value===null||!t?.total)return;let n=r.value/100*t.total;Math.abs(t.current-n)<1&&f()}),m(f),{scrubbing:l,displayPercent:c,previewSeconds:u,onInput:p,onChange:h,onTouchEnd:_}}function E(e,n){return t(()=>e.value?e.value:n.value?document.getElementById(n.value)??null:null)}function D(e,t=!1){if(!e||isNaN(e))return`0:00`;let n=t?Math.round(e):Math.floor(e);return`${Math.floor(n/60)}:${String(n%60).padStart(2,`0`)}`}const O={class:`mlv-scrubber-wrap`},k=[`value`,`aria-valuetext`];var A=c({inheritAttrs:!1,__name:`Scrubber`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=E(b(t,`player`),b(t,`for`)),{scrubbing:o,displayPercent:s,previewSeconds:c,onInput:l,onChange:d,onTouchEnd:f}=T(n),m=e=>D(e,!0);return(e,t)=>(h(),i(`div`,O,[a(`input`,u({type:`range`,min:`0`,max:`100`,step:`0.5`,value:x(s),class:`mlv-scrubber`},e.$attrs,{style:{"--p":`${x(s)}%`,"--b":`${x(n)?.bufferedDisplay??0}%`},"aria-label":`Seek`,"aria-valuetext":`${m(x(c))} of ${m(x(n)?.total??0)}`,onInput:t[0]||=(...e)=>x(l)&&x(l)(...e),onChange:t[1]||=(...e)=>x(d)&&x(d)(...e),onTouchend:t[2]||=(...e)=>x(f)&&x(f)(...e)}),null,16,k),v(e.$slots,`preview`,{scrubbing:x(o),percent:x(s),previewSeconds:x(c),formatTime:m},()=>[x(o)?(h(),i(`div`,{key:0,class:`mlv-scrubber__preview`,style:p({left:`${x(s)}%`})},y(m(x(c))),5)):r(`v-if`,!0)],!0)]))}}),j=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},ee=j(A,[[`__scopeId`,`data-v-043f1bc8`]]);const te={},ne={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function re(e,t){return h(),i(`svg`,ne,[...t[0]||=[a(`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`},null,-1),a(`path`,{d:`M9.5 10.5a2 2 0 0 0-3.5 1.3v.4a2 2 0 0 0 3.5 1.3`},null,-1),a(`path`,{d:`M17.5 10.5a2 2 0 0 0-3.5 1.3v.4a2 2 0 0 0 3.5 1.3`},null,-1)]])}var ie=j(te,[[`render`,re]]);const ae={},oe={viewBox:`0 0 24 24`,fill:`currentColor`};function se(e,t){return h(),i(`svg`,oe,[...t[0]||=[a(`path`,{d:`M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z`},null,-1)]])}var ce=j(ae,[[`render`,se]]);const le={},ue={viewBox:`0 0 24 24`,fill:`currentColor`};function de(e,t){return h(),i(`svg`,ue,[...t[0]||=[a(`path`,{d:`M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z`},null,-1)]])}var fe=j(le,[[`render`,de]]);const pe={},me={viewBox:`0 0 24 24`,fill:`currentColor`};function he(e,t){return h(),i(`svg`,me,[...t[0]||=[a(`path`,{d:`M7 7h10v3l4-4-4-4v3H5v6h2V7zm10 10H7v-3l-4 4 4 4v-3h12v-6h-2v4z`},null,-1)]])}var ge=j(pe,[[`render`,he]]);const M={},N={viewBox:`0 0 24 24`,fill:`currentColor`};function P(e,t){return h(),i(`svg`,N,[...t[0]||=[a(`path`,{d:`M6 19h4V5H6v14zm8-14v14h4V5h-4z`},null,-1)]])}var F=j(M,[[`render`,P]]);const I={},L={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function _e(e,t){return h(),i(`svg`,L,[...t[0]||=[a(`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`},null,-1),a(`rect`,{x:`12`,y:`11`,width:`8`,height:`6`,rx:`1`,fill:`currentColor`,stroke:`none`},null,-1)]])}var ve=j(I,[[`render`,_e]]);const ye={},be={viewBox:`0 0 24 24`,fill:`currentColor`};function xe(e,t){return h(),i(`svg`,be,[...t[0]||=[a(`path`,{d:`M8 5v14l11-7z`},null,-1)]])}var Se=j(ye,[[`render`,xe]]);const Ce={},we={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Te(e,t){return h(),i(`svg`,we,[...t[0]||=[a(`rect`,{x:`2`,y:`6`,width:`20`,height:`12`,rx:`2`},null,-1),a(`path`,{d:`M7 14v-4M12 14V8M17 14v-2`},null,-1)]])}var Ee=j(Ce,[[`render`,Te]]);const De={},Oe={viewBox:`0 0 24 24`,fill:`currentColor`};function ke(e,t){return h(),i(`svg`,Oe,[...t[0]||=[a(`path`,{d:`M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8z`},null,-1)]])}var Ae=j(De,[[`render`,ke]]);const je={},Me={viewBox:`0 0 24 24`,fill:`currentColor`};function Ne(e,t){return h(),i(`svg`,Me,[...t[0]||=[a(`path`,{d:`M16.5 12A4.5 4.5 0 0 0 14 7.97v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51A8.796 8.796 0 0 0 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3L3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06A8.99 8.99 0 0 0 17.73 18L19 19.27 20.27 18 5.27 3 4.27 3zM12 4L9.91 6.09 12 8.18V4z`},null,-1)]])}var R=j(je,[[`render`,Ne]]);const Pe={},Fe={viewBox:`0 0 24 24`,fill:`currentColor`};function Ie(e,t){return h(),i(`svg`,Fe,[...t[0]||=[a(`path`,{d:`M3 9v6h4l5 5V4L7 9H3zm13.5 3A4.5 4.5 0 0 0 14 7.97v8.05c1.48-.73 2.5-2.25 2.5-4.02z`},null,-1)]])}var z=j(Pe,[[`render`,Ie]]);const Le=[`aria-label`];var Re=j(c({__name:`PlayButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let r=e,a=E(b(r,`player`),b(r,`for`)),o=t(()=>a.value?.isError?`error`:a.value?.hasEnded?`ended`:a.value?.isPlaying?`playing`:`idle`),s=t(()=>{switch(o.value){case`error`:return`Retry`;case`ended`:return`Replay`;case`playing`:return`Pause`;default:return`Play`}});function c(){let e=a.value;e&&(e.isError?e.retry():e.togglePlay())}return(e,t)=>(h(),i(`button`,{type:`button`,class:`mlv-play-button`,"aria-label":s.value,onClick:c},[v(e.$slots,`default`,{isPlaying:x(a)?.isPlaying??!1,hasEnded:x(a)?.hasEnded??!1,isError:x(a)?.isError??!1},()=>[o.value===`error`||o.value===`ended`?(h(),n(x(Ae),{key:0})):o.value===`playing`?(h(),n(x(F),{key:1})):(h(),n(x(Se),{key:2}))],!0)],8,Le))}}),[[`__scopeId`,`data-v-218255bd`]]),ze=c({__name:`VolumeIcon`,props:{isAudible:{type:Boolean,required:!0}},setup(e){return(t,r)=>e.isAudible?(h(),n(x(z),{key:0})):(h(),n(x(R),{key:1}))}});const Be=[`aria-label`];var Ve=j(c({__name:`MuteButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=E(b(t,`player`),b(t,`for`));return(e,t)=>(h(),i(`button`,{type:`button`,class:`mlv-mute-button`,"aria-label":x(n)?.isMuted?`Unmute`:`Mute`,onClick:t[0]||=e=>x(n)?.toggleMute()},[v(e.$slots,`default`,{isMuted:x(n)?.isMuted??!1},()=>[s(ze,{"is-audible":x(n)?.isAudible??!1},null,8,[`is-audible`])],!0)],8,Be))}}),[[`__scopeId`,`data-v-1940b598`]]);const He=[`aria-label`];var Ue=j(c({__name:`FullscreenButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,r=E(b(t,`player`),b(t,`for`));return(e,t)=>(h(),i(`button`,{type:`button`,class:`mlv-fullscreen-button`,"aria-label":x(r)?.isFullscreen?`Exit fullscreen`:`Enter fullscreen`,onClick:t[0]||=e=>x(r)?.toggleFullscreen()},[v(e.$slots,`default`,{isFullscreen:x(r)?.isFullscreen??!1},()=>[x(r)?.isFullscreen?(h(),n(x(fe),{key:0})):(h(),n(x(ce),{key:1}))],!0)],8,He))}}),[[`__scopeId`,`data-v-b93a5017`]]),We=j(c({__name:`Spinner`,props:{size:{type:Number,required:!1,default:14},borderWidth:{type:Number,required:!1,default:2}},setup(e){return(t,n)=>(h(),i(`div`,{class:`spinner`,style:p({width:`${e.size}px`,height:`${e.size}px`,borderWidth:`${e.borderWidth}px`})},null,4))}}),[[`__scopeId`,`data-v-259be2b2`]]);const Ge={key:0,class:`mlv-buffering`};var Ke=j(c({__name:`Buffering`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=E(b(t,`player`),b(t,`for`));return(e,t)=>x(n)?.isBuffering?(h(),i(`div`,Ge,[v(e.$slots,`default`,{},()=>[s(We)],!0)])):r(`v-if`,!0)}}),[[`__scopeId`,`data-v-454fec7f`]]);const qe=[`aria-pressed`];var Je=j(c({__name:`LoopButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=E(b(t,`player`),b(t,`for`));return(e,t)=>(h(),i(`button`,{type:`button`,class:f([`mlv-loop-button`,{"mlv-loop-button--active":x(n)?.isLooping}]),"aria-pressed":x(n)?.isLooping??!1,"aria-label":`Toggle loop`,onClick:t[0]||=e=>x(n)?.toggleLoop()},[v(e.$slots,`default`,{isLooping:x(n)?.isLooping??!1},()=>[s(x(ge))],!0)],10,qe))}}),[[`__scopeId`,`data-v-e32eda25`]]);const Ye=[`aria-pressed`];var Xe=j(c({__name:`PipButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=E(b(t,`player`),b(t,`for`));return(e,t)=>x(n)?.supportsPip?(h(),i(`button`,{key:0,type:`button`,class:f([`mlv-pip-button`,{"mlv-pip-button--active":x(n)?.isPipActive}]),"aria-pressed":x(n)?.isPipActive??!1,"aria-label":`Toggle Picture-in-Picture`,onClick:t[0]||=e=>x(n)?.togglePip()},[v(e.$slots,`default`,{isPipActive:x(n)?.isPipActive??!1},()=>[s(x(ve))],!0)],10,Ye)):r(`v-if`,!0)}}),[[`__scopeId`,`data-v-f654d93e`]]);function Ze(e){function t(){let t=e.captionTracks;if(!t.length)return;let n=t[t.findIndex(t=>t.index===e.activeCaptionIndex)+1];e.setCaptionTrack(n?n.index:null)}function n(){return e.captionTracks.find(t=>t.index===e.activeCaptionIndex)?.label??`Off`}return{cycleCaptionTrack:t,currentCaptionLabel:n}}const Qe=[`aria-label`];var $e=j(c({__name:`CaptionsButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let n=e,a=E(b(n,`player`),b(n,`for`)),o=t(()=>a.value?Ze(a.value):null),c=t(()=>o.value?.currentCaptionLabel()??`Off`);function l(){o.value?.cycleCaptionTrack()}return(e,t)=>x(a)?.supportsCaptions?(h(),i(`button`,{key:0,type:`button`,class:f([`mlv-captions-button`,{"mlv-captions-button--active":x(a)?.activeCaptionIndex!==null}]),"aria-label":`Captions: ${c.value}`,onClick:l},[v(e.$slots,`default`,{currentLabel:c.value,tracks:x(a)?.captionTracks??[],activeIndex:x(a)?.activeCaptionIndex??null},()=>[s(x(ie))],!0)],10,Qe)):r(`v-if`,!0)}}),[[`__scopeId`,`data-v-2572c4f2`]]);function et(e){function t(){let t=e.qualityLevels;if(!t.length)return;if(e.isAutoQuality){e.setQuality(t[t.length-1].index);return}let n=t.findIndex(t=>t.index===e.currentQualityIndex);e.setQuality(n<=0?null:t[n-1].index)}function n(){return e.isAutoQuality?`Auto`:e.qualityLevels.find(t=>t.index===e.currentQualityIndex)?.label??`Auto`}return{cycleQuality:t,currentQualityLabel:n}}const tt=[`aria-label`];var nt=j(c({__name:`QualityButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let n=e,a=E(b(n,`player`),b(n,`for`)),o=t(()=>a.value?et(a.value):null),c=t(()=>o.value?.currentQualityLabel()??`Auto`);function l(){o.value?.cycleQuality()}return(e,t)=>x(a)?.supportsQuality?(h(),i(`button`,{key:0,type:`button`,class:f([`mlv-quality-button`,{"mlv-quality-button--active":!x(a)?.isAutoQuality}]),"aria-label":`Quality: ${c.value}`,onClick:l},[v(e.$slots,`default`,{currentLabel:c.value,levels:x(a)?.qualityLevels??[],currentIndex:x(a)?.currentQualityIndex??null,isAuto:x(a)?.isAutoQuality??!0},()=>[s(x(Ee))],!0)],10,tt)):r(`v-if`,!0)}}),[[`__scopeId`,`data-v-d1352878`]]);function rt(e){function t(){let t=C.indexOf(e.currentPlaybackRate);e.setPlaybackRate(C[(t+1)%C.length])}function n(e){return`${e}×`}return{cycleRate:t,fmtRate:n}}const it=[`aria-label`];var at=j(c({__name:`PlaybackRateButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let n=e,a=E(b(n,`player`),b(n,`for`)),s=t(()=>a.value?rt(a.value):null),c=t(()=>s.value?s.value.fmtRate(a.value.currentPlaybackRate):`1×`);function l(){s.value?.cycleRate()}return(e,t)=>x(a)?.supportsPlaybackRate?(h(),i(`button`,{key:0,type:`button`,class:f([`mlv-playback-rate-button`,{"mlv-playback-rate-button--active":x(a)?.currentPlaybackRate!==1}]),"aria-label":`Playback speed: ${c.value}`,onClick:l},[v(e.$slots,`default`,{currentLabel:c.value,rate:x(a)?.currentPlaybackRate??1,rates:[...x(C)]},()=>[o(y(c.value),1)],!0)],10,it)):r(`v-if`,!0)}}),[[`__scopeId`,`data-v-646c9bc1`]]);const ot={class:`mlv-volume-wrap`},st=[`value`],ct={class:`mlv-volume-pct`};var lt=j(c({inheritAttrs:!1,__name:`VolumeSlider`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let n=e,r=E(b(n,`player`),b(n,`for`)),o=t(()=>{let e=r.value;return e?e.isMuted?0:Math.round(e.vol*100):0});function s(e){r.value?.setVolume(Number(e.target.value)/100)}return(e,t)=>(h(),i(`div`,ot,[a(`input`,u({type:`range`,min:`0`,max:`100`,step:`1`,value:o.value,class:`mlv-volume-slider`},e.$attrs,{style:{"--v":`${o.value}%`},"aria-label":`Volume`,onInput:s}),null,16,st),v(e.$slots,`default`,{percent:o.value},()=>[a(`span`,ct,y(o.value)+`%`,1)],!0)]))}}),[[`__scopeId`,`data-v-fbb2c86c`]]);const ut={class:`mlv-time-display__time`},dt={class:`mlv-time-display__total`};var ft=j(c({__name:`TimeDisplay`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(t){let n=t,r=E(b(n,`player`),b(n,`for`));return(t,n)=>(h(),i(`span`,{class:f([`mlv-time-display`,{"mlv-time-display--live":x(r)?.isLive}])},[v(t.$slots,`default`,{isLive:x(r)?.isLive??!1,current:x(r)?.current??0,total:x(r)?.total??0,formatTime:x(D)},()=>[x(r)?.isLive?(h(),i(e,{key:0},[n[0]||=a(`span`,{class:`mlv-time-display__dot`},null,-1),n[1]||=o(`Live `,-1)],64)):(h(),i(e,{key:1},[a(`span`,ut,y(x(D)(x(r)?.current??0)),1),a(`span`,dt,`/ `+y(x(D)(x(r)?.total??0)),1)],64))],!0)],2))}}),[[`__scopeId`,`data-v-0285c811`]]);const pt=[`aria-label`,`aria-pressed`],mt=[`aria-current`,`onClick`],B={class:`mlv-transcript__time`},ht={class:`mlv-transcript__text`};var gt=j(c({__name:`Transcript`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1},cues:{type:[Array,String],required:!1}},setup(o){let s=o,c=E(b(s,`player`),b(s,`for`)),l=t(()=>{if(typeof s.cues!=`string`)return s.cues??[];try{return JSON.parse(s.cues)}catch{return[]}}),u=t(()=>{let e=c.value?.current??0,t=l.value;for(let n=t.length-1;n>=0;n--){let r=t[n];if(!(r.time>e))return r.end!==void 0&&e>=r.end?null:n}return null}),p=g(null),C=g(!1);function w(e){let t=c.value;t&&(t.total>0&&t.seek(e.time/t.total*100),t.play().catch(()=>{}))}S(u,async e=>{e===null||C.value||(await d(),p.value?.querySelector(`.mlv-transcript__cue--active`)?.scrollIntoView?.({block:`nearest`,behavior:`smooth`}))});let T=typeof window<`u`&&`speechSynthesis`in window,O=g(!1),k=g(!1);function A(){if(T){if(O.value=!O.value,O.value){c.value&&!c.value.isMuted&&(c.value.toggleMute(),k.value=!0);return}window.speechSynthesis.cancel(),k.value&&c.value?.isMuted&&c.value.toggleMute(),k.value=!1}}return S(u,e=>{if(!T||!O.value||e===null)return;let t=l.value[e];if(!t)return;window.speechSynthesis.cancel();let n=new SpeechSynthesisUtterance(t.text);n.pitch=2,n.rate=1.5,window.speechSynthesis.speak(n)}),S(()=>c.value?.isMuted,e=>{T&&O.value&&e===!1&&(window.speechSynthesis.cancel(),O.value=!1,k.value=!1)}),m(()=>{T&&window.speechSynthesis.cancel(),k.value&&c.value?.isMuted&&c.value.toggleMute()}),(t,o)=>(h(),i(e,null,[x(T)?(h(),i(`button`,{key:0,type:`button`,class:`mlv-transcript__speech-toggle`,"aria-label":O.value?`Mute transcript readout`:`Unmute transcript readout`,"aria-pressed":O.value,onClick:A},[O.value?(h(),n(z,{key:0})):(h(),n(R,{key:1}))],8,pt)):r(`v-if`,!0),a(`ol`,{ref_key:`listEl`,ref:p,class:`mlv-transcript`,onPointerenter:o[0]||=e=>C.value=!0,onPointerleave:o[1]||=e=>C.value=!1},[(h(!0),i(e,null,_(l.value,(e,n)=>(h(),i(`li`,{key:`${e.time}-${n}`,class:`mlv-transcript__item`},[a(`button`,{type:`button`,class:f([`mlv-transcript__cue`,{"mlv-transcript__cue--active":n===u.value}]),"aria-current":n===u.value?`true`:void 0,onClick:t=>w(e)},[v(t.$slots,`default`,{cue:e,index:n,isActive:n===u.value,formatTime:x(D)},()=>[a(`span`,B,y(x(D)(e.time)),1),a(`span`,ht,y(e.text),1)],!0)],10,mt)]))),128))],544)],64))}}),[[`__scopeId`,`data-v-c166a2c5`]]);const V=l(ee,{shadowRoot:!1}),H=l(Re,{shadowRoot:!1}),U=l(Ve,{shadowRoot:!1}),W=l(Ue,{shadowRoot:!1}),G=l(Ke,{shadowRoot:!1}),K=l(Je,{shadowRoot:!1}),q=l(Xe,{shadowRoot:!1}),J=l($e,{shadowRoot:!1}),Y=l(nt,{shadowRoot:!1}),X=l(at,{shadowRoot:!1}),Z=l(lt,{shadowRoot:!1}),Q=l(ft,{shadowRoot:!1}),$=l(gt,{shadowRoot:!1});customElements.define(`ml-controls-scrubber`,V),customElements.define(`ml-controls-play-button`,H),customElements.define(`ml-controls-mute-button`,U),customElements.define(`ml-controls-fullscreen-button`,W),customElements.define(`ml-controls-buffering`,G),customElements.define(`ml-controls-loop-button`,K),customElements.define(`ml-controls-pip-button`,q),customElements.define(`ml-controls-captions-button`,J),customElements.define(`ml-controls-quality-button`,Y),customElements.define(`ml-controls-playback-rate-button`,X),customElements.define(`ml-controls-volume-slider`,Z),customElements.define(`ml-controls-time-display`,Q),customElements.define(`ml-controls-transcript`,$);export{G as BufferingElement,J as CaptionsButtonElement,W as FullscreenButtonElement,K as LoopButtonElement,U as MuteButtonElement,q as PipButtonElement,H as PlayButtonElement,X as PlaybackRateButtonElement,Y as QualityButtonElement,V as ScrubberElement,Q as TimeDisplayElement,$ as TranscriptElement,Z as VolumeSliderElement};
|
package/dist/elements/core.d.mts
CHANGED
|
@@ -1,17 +1,7 @@
|
|
|
1
|
+
import "vue";
|
|
1
2
|
//#region src/composables/player/emitter.d.ts
|
|
2
3
|
type PlaybackListener = (...args: unknown[]) => void;
|
|
3
4
|
//#endregion
|
|
4
|
-
//#region src/adapters/embeds/embedShared.d.ts
|
|
5
|
-
interface EmbedAdapterOptions {
|
|
6
|
-
src: string;
|
|
7
|
-
poster?: string;
|
|
8
|
-
autoplay?: boolean;
|
|
9
|
-
muted?: boolean;
|
|
10
|
-
volume?: number;
|
|
11
|
-
nativeUi?: boolean;
|
|
12
|
-
customVars?: Record<string, unknown>;
|
|
13
|
-
}
|
|
14
|
-
//#endregion
|
|
15
5
|
//#region src/types/playback.d.ts
|
|
16
6
|
interface MediaErrorLike {
|
|
17
7
|
code: number;
|
|
@@ -30,7 +20,7 @@ interface QualityLevelInfo {
|
|
|
30
20
|
}
|
|
31
21
|
interface PlaybackAdapter {
|
|
32
22
|
readonly el: HTMLElement;
|
|
33
|
-
play():
|
|
23
|
+
play(): Promise<void>;
|
|
34
24
|
pause(): void;
|
|
35
25
|
paused(): boolean;
|
|
36
26
|
currentTime(): number;
|
|
@@ -60,7 +50,7 @@ interface PlaybackAdapter {
|
|
|
60
50
|
togglePip(): void;
|
|
61
51
|
enterFullscreen(): void;
|
|
62
52
|
exitFullscreen(): void;
|
|
63
|
-
on(event: string
|
|
53
|
+
on(event: string, listener: PlaybackListener): void;
|
|
64
54
|
off(event: string, listener: PlaybackListener): void;
|
|
65
55
|
dispose(): void;
|
|
66
56
|
}
|
|
@@ -75,6 +65,14 @@ interface Matcher {
|
|
|
75
65
|
key: string;
|
|
76
66
|
embed: boolean;
|
|
77
67
|
}
|
|
68
|
+
interface EmbedAdapterOptions {
|
|
69
|
+
src: string;
|
|
70
|
+
poster?: string;
|
|
71
|
+
autoplay?: boolean;
|
|
72
|
+
muted?: boolean;
|
|
73
|
+
volume?: number;
|
|
74
|
+
nativeUi?: boolean;
|
|
75
|
+
}
|
|
78
76
|
type EmbedAdapterFactory = (videoEl: HTMLVideoElement, options: EmbedAdapterOptions) => PlaybackAdapter;
|
|
79
77
|
type SourceResolver = (url: string) => ResolvedSource | Promise<ResolvedSource>;
|
|
80
78
|
type PlatformConfig = Pick<Matcher, 'key' | 'test'> & ({
|
|
@@ -117,7 +115,7 @@ interface CaptionTrackDef {
|
|
|
117
115
|
}
|
|
118
116
|
interface PlayerProps {
|
|
119
117
|
src: string;
|
|
120
|
-
|
|
118
|
+
label?: string;
|
|
121
119
|
poster?: string;
|
|
122
120
|
aspectRatio?: string;
|
|
123
121
|
adTagUrl?: string;
|
|
@@ -129,8 +127,6 @@ interface PlayerProps {
|
|
|
129
127
|
volume?: number;
|
|
130
128
|
playbackRate?: number;
|
|
131
129
|
nativeUi?: boolean;
|
|
132
|
-
autoStage?: boolean;
|
|
133
|
-
lazy?: boolean;
|
|
134
130
|
payload?: Record<string, unknown> | string;
|
|
135
131
|
action?: PlayerAction | null;
|
|
136
132
|
disableTapCapture?: boolean;
|
|
@@ -143,30 +139,26 @@ interface PlayerProps {
|
|
|
143
139
|
}
|
|
144
140
|
type PinCorner = 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
|
|
145
141
|
type PreloadMode = 'none' | 'metadata' | 'auto';
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
142
|
+
interface VideoEntry extends PlayerProps {
|
|
143
|
+
lazy?: boolean;
|
|
144
|
+
autoStage?: boolean;
|
|
149
145
|
}
|
|
150
146
|
//#endregion
|
|
151
147
|
//#region src/adapters/index.d.ts
|
|
152
|
-
export declare function
|
|
153
|
-
|
|
154
|
-
|
|
148
|
+
export declare function resolvePlatform(url: string): {
|
|
149
|
+
key: string;
|
|
150
|
+
embed: boolean;
|
|
151
|
+
};
|
|
155
152
|
export declare function registerPlatform(config: PlatformConfig): void;
|
|
156
153
|
//#endregion
|
|
157
154
|
//#region src/elements/core.d.ts
|
|
158
|
-
declare const VideoPlayerElement: import("vue").VueElementConstructor<PlayerProps
|
|
159
|
-
hasPlaylist?: boolean;
|
|
160
|
-
hasNext?: boolean;
|
|
161
|
-
hasPrevious?: boolean;
|
|
162
|
-
autoAdvance?: boolean;
|
|
163
|
-
}>;
|
|
155
|
+
declare const VideoPlayerElement: import("vue").VueElementConstructor<PlayerProps>;
|
|
164
156
|
declare const VideoStageElement: import("vue").VueElementConstructor<{
|
|
165
|
-
pin?:
|
|
157
|
+
pin?: PinCorner | "full-width";
|
|
166
158
|
playlist?: VideoEntry[];
|
|
167
159
|
}>;
|
|
168
|
-
declare const VideoPlaceholderElement: import("vue").VueElementConstructor<
|
|
169
|
-
declare const VideoCardElement: import("vue").VueElementConstructor<
|
|
160
|
+
declare const VideoPlaceholderElement: import("vue").VueElementConstructor<VideoEntry>;
|
|
161
|
+
declare const VideoCardElement: import("vue").VueElementConstructor<VideoEntry>;
|
|
170
162
|
declare const HideMarkerElement: import("vue").VueElementConstructor<{}>;
|
|
171
163
|
export declare function defineElements(): void;
|
|
172
164
|
//#endregion
|
package/dist/elements/core.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as e,C as t,D as n,E as r,S as i,T as a,a as o,d as s,g as c,h as l,i as u,j as d,k as f,o as p,r as m,s as h,u as g,x as _}from"./chunks/constants-zR-UwEWY.mjs";import{n as v,r as y,t as b}from"./chunks/platform-Dg9JBh8M.mjs";import{c as ee,d as x,s as S}from"./chunks/embedShared-duyOYFQN.mjs";import{Fragment as C,Transition as w,computed as T,createBlock as E,createCommentVNode as D,createElementBlock as O,createElementVNode as k,createStaticVNode as A,createTextVNode as te,createVNode as j,defineComponent as M,defineCustomElement as N,inject as P,mergeProps as F,nextTick as ne,normalizeClass as I,normalizeProps as re,normalizeStyle as L,onBeforeUnmount as R,onMounted as z,openBlock as B,provide as V,reactive as H,ref as U,renderList as ie,renderSlot as W,resolveDynamicComponent as ae,shallowRef as oe,toDisplayString as G,toRef as K,unref as q,watch as J,withCtx as Y,withModifiers as X}from"vue";const se=[];function ce(e){se.push(e)}function le(e){if(!e)return{key:`html5`,embed:!1};let t=se.find(t=>t.test(e));return{key:t?.key??`html5`,embed:t?.embed??!1}}const ue={},de={};function fe(e,t){ue[e]=t}async function pe(e,t,n){let r=ue[e];if(!r){let t=de[e];if(!t)return null;r=await t(),ue[e]=r}return r(t,n)}const me={},he={};function ge(e,t){me[e]=t}function _e(e){if(/\.m3u8(\?|#|$)/.test(e))return p;if(/\.mpd(\?|#|$)/.test(e))return m;if(/\.mp4(\?|#|$)/.test(e))return s}async function ve(e,t){let n=me[e];if(!n){let t=he[e];t&&(n=await t(),me[e]=n)}return n?n(t):{src:t,type:_e(t)}}function ye(e){ce({test:e.test,key:e.key,embed:e.embed}),e.embed?fe(e.key,e.createAdapter):e.resolveSource&&ge(e.key,e.resolveSource)}function be(e){ce({key:e.key,test:e.test,embed:e.embed}),e.embed?de[e.key]=e.loadAdapter:he[e.key]=e.loadResolver}be({key:`youtube`,test:e=>/youtu\.be|youtube\.com/.test(e),embed:!0,loadAdapter:()=>import(`./chunks/youtube-DbJ-IrvP.mjs`).then(e=>e.createYoutubeAdapter)}),be({key:`vimeo`,test:e=>/vimeo\.com|player\.vimeo\.com/.test(e),embed:!0,loadAdapter:()=>import(`./chunks/vimeo-WJYDJPA3.mjs`).then(e=>e.createVimeoAdapter)}),be({key:`dailymotion`,test:e=>/dailymotion\.com|dai\.ly/.test(e),embed:!0,loadAdapter:()=>import(`./chunks/dailymotion-gEquA4h5.mjs`).then(e=>e.createDailymotionAdapter)}),be({key:`jwplayer`,test:e=>/cdn\.jwplayer\.com/.test(e)||e.startsWith(`jwplayer://`),embed:!1,loadResolver:()=>import(`./chunks/jwplayer-WIkwoJTA.mjs`).then(e=>e.resolveSource)}),be({key:`brightcove`,test:e=>/players\.brightcove\.net/.test(e),embed:!1,loadResolver:()=>import(`./chunks/brightcove-rNI-XRxB.mjs`).then(e=>e.resolveSource)});function xe(e,t=!1){if(!e||isNaN(e))return`0:00`;let n=t?Math.round(e):Math.floor(e);return`${Math.floor(n/60)}:${String(n%60).padStart(2,`0`)}`}const Se=new Set;function Ce(e){return Se.add(e),()=>Se.delete(e)}function we(e){Se.forEach(t=>{if(t!==e)try{t()}catch{}})}function Te(e){let t=new Set,n=null;function r(){t.forEach(e=>e())}return i=>(n||=e(r),t.add(i),()=>{t.delete(i),t.size===0&&(n?.(),n=null)})}const Ee=Te(e=>(document.addEventListener(`fullscreenchange`,e),document.addEventListener(`webkitfullscreenchange`,e),()=>{document.removeEventListener(`fullscreenchange`,e),document.removeEventListener(`webkitfullscreenchange`,e)})),De=Te(e=>(document.addEventListener(`visibilitychange`,e),window.addEventListener(`blur`,e),()=>{document.removeEventListener(`visibilitychange`,e),window.removeEventListener(`blur`,e)}));function Oe(e){let t=U(!1),n=U(!1),r=null;function i(){let e=document;t.value=!!(document.fullscreenElement||e.webkitFullscreenElement),n.value=!1}function a(){let r=e();if(r){if(t.value){r.exitFullscreen();return}n.value=!0,r.enterFullscreen()}}function o(){n.value=!0}function s(e){e.on(l,()=>{n.value=!0}),e.on(c,()=>{n.value=!1}),e.on(`nativefullscreenenter`,()=>{t.value=!0,n.value=!1}),e.on(`nativefullscreenexit`,()=>{t.value=!1,n.value=!1})}return z(()=>{r=Ee(i)}),R(()=>{r?.()}),{isFullscreen:t,isFullscreenPending:n,toggleFullscreen:a,markFullscreenPending:o,attachPlayerEvents:s}}function ke(e){let t=U(!1),n=null;function r(){clearTimeout(n??void 0),t.value&&e(`bufferend`),t.value=!1}function i(i){i.on(`waiting`,()=>{clearTimeout(n??void 0),n=setTimeout(()=>{t.value=!0,e(`bufferstart`)},500)}),i.on(`playing`,r),i.on(`canplay`,r)}return R(()=>clearTimeout(n??void 0)),{isBuffering:t,attachPlayerEvents:i,reset:r}}function Ae(e,t,n){let r=new Set;function a(){if(!t.value)return;let a=e.value/t.value;for(let[e,t]of i)!r.has(e)&&a>=e&&(r.add(e),n(t))}function o(){r.clear()}return{checkQuartiles:a,reset:o}}function je(){try{return JSON.parse(localStorage.getItem(`player:positions`)??`[]`)}catch{return[]}}function Me(e){localStorage.setItem(n,JSON.stringify(e))}function Ne(e,t){if(t<5)return;let n=je().filter(t=>t.url!==e);n.unshift({url:e,time:t}),Me(n.slice(0,5))}function Pe(e){return je().find(t=>t.url===e)?.time??null}function Fe(e){Me(je().filter(t=>t.url!==e))}function Ie(e,t,n){let r=!1;function i(t){if(r)return;let n=Pe(e);n&&t.setCurrentTime(n),r=!0}function a(t){t&&!n.value&&Ne(e,t.currentTime()??0)}function o(){Fe(e)}let s=De(()=>{document.visibilityState===`hidden`&&a(t())});return R(()=>{a(t()),s()}),{restoreOnce:i,save:a,clear:o}}const Le=new WeakMap,Re=[.1,.5];function ze(e){let t=Le.get(e);if(t)return t;let n=new Set,r=new IntersectionObserver(([e])=>n.forEach(t=>t(e)),{threshold:Re});r.observe(e);let i={observer:r,callbacks:n};return Le.set(e,i),i}function Be(e,t){let n=ze(e);return n.callbacks.add(t),()=>{n.callbacks.delete(t),n.callbacks.size===0&&(n.observer.disconnect(),Le.delete(e))}}let Ve=null,He=null;function Ue(e,t){let n=Be(e,n=>{n.intersectionRatio<.5||(He&&clearTimeout(He),Ve=e,He=setTimeout(()=>{Ve=null,He=null,t()},150))});return()=>{Ve===e&&He&&(clearTimeout(He),Ve=null,He=null),n()}}function We(e,t,n,r,i){let a=null;z(()=>{let o=e.value&&S(e.value);o&&(a=Be(o,e=>{let a=t();e.intersectionRatio<.1&&a&&!a.paused()&&!n.value&&!r.value&&!i.value&&a.pause()}))}),R(()=>a?.())}function Ge(e){return e.kind===`captions`||e.kind===`subtitles`}function Ke(e,t){e.textTracks.addEventListener(`addtrack`,t),e.textTracks.addEventListener(`removetrack`,t);function n(){let t=[];for(let n=0;n<e.textTracks.length;n++){let r=e.textTracks[n];Ge(r)&&t.push({index:n,label:r.label||r.language||`Track ${n+1}`,language:r.language})}return t}function r(t){for(let n=0;n<e.textTracks.length;n++){let r=e.textTracks[n];Ge(r)&&(r.mode=n===t?`showing`:`hidden`)}}function i(){for(let t=0;t<e.textTracks.length;t++){let n=e.textTracks[t];if(Ge(n)&&n.mode===`showing`)return t}return null}return{supportsCaptions:()=>n().length>0,getCaptionTracks:n,setCaptionTrack:r,getActiveCaptionTrack:i,dispose:()=>{e.textTracks.removeEventListener(`addtrack`,t),e.textTracks.removeEventListener(`removetrack`,t)}}}function qe(e){let t=new Map;for(let n of e){if(!n.height)continue;let e=t.get(n.height);(!e||n.bitrate>e.bitrate)&&t.set(n.height,n)}return[...t.values()].sort((e,t)=>e.height-t.height)}function Je(e){function t(){return qe(e()?.levels()??[])}function n(){return e()?.isAuto()??!0}function r(){let t=e();return t?n()?null:t.currentIndex():null}function i(t){e()?.setIndex(t)}return{supportsQuality:()=>t().length>0,getQualityLevels:t,getCurrentQuality:r,isAutoQuality:n,setQuality:i}}function Ye(e,t,n){let r=[[`webkitbeginfullscreen`,t],[`webkitendfullscreen`,n]];for(let[t,n]of r)e.addEventListener(t,n);function i(){let t=e;if(typeof t.webkitEnterFullscreen==`function`){t.webkitEnterFullscreen();return}let n=S(e);n&&y(n)}function a(){let t=e;if(typeof t.webkitExitFullscreen==`function`){t.webkitExitFullscreen();return}b()}return{enterFullscreen:i,exitFullscreen:a,dispose:()=>{for(let[t,n]of r)e.removeEventListener(t,n)}}}function Xe(e,t){let n=[[`enterpictureinpicture`,t],[`leavepictureinpicture`,t]];for(let[t,r]of n)e.addEventListener(t,r);function r(){return typeof document<`u`&&!!document.pictureInPictureEnabled&&!e.disablePictureInPicture}function i(){return document.pictureInPictureElement===e}function a(){i()?document.exitPictureInPicture():r()&&e.requestPictureInPicture()}return{supportsPip:r,isPipActive:i,togglePip:a,dispose:()=>{for(let[t,r]of n)e.removeEventListener(t,r)}}}const Ze=[`play`,`pause`,`ended`,`error`,`timeupdate`,`durationchange`,`progress`,`volumechange`,`ratechange`,`seeking`,`seeked`,`waiting`,`playing`,`canplay`];function Qe(e){return{levels:()=>e.levels.map((e,t)=>({index:t,height:e.height,bitrate:e.bitrate,label:`${e.height}p`})),isAuto:()=>e.autoLevelEnabled,currentIndex:()=>e.manualLevel,setIndex:t=>{e.currentLevel=t??-1}}}function $e(e){return{levels:()=>e.getBitrateInfoListFor(`video`).map(e=>({index:e.qualityIndex,height:e.height,bitrate:e.bitrate,label:`${e.height}p`})),isAuto:()=>e.getSettings().streaming?.abr?.autoSwitchBitrate?.video??!0,currentIndex:()=>e.getQualityFor(`video`),setIndex:t=>{if(t===null){e.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:!0}}}});return}e.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:!1}}}}),e.setQualityFor(`video`,t,!0)}}}function et(e,t){let n=x(),r=null,i=null,a=!1,o=null,s=null,c=t.preload===`none`&&!t.autoplay,l=!1;async function u(i){let{default:s}=await import(`hls.js`);if(a||o!==i)return;if(typeof s?.isSupported!=`function`||!s.isSupported()){e.src=i,t.autoplay&&e.play();return}r=new s({liveDurationInfinity:!0,autoStartLoad:!c}),l=!c,r.loadSource(i),r.attachMedia(e),t.autoplay&&e.play();let u=s.Events,d=s.ErrorTypes;r.on(u.MANIFEST_PARSED,m(`qualitychange`)),r.on(u.LEVEL_SWITCHED,m(`qualitychange`)),r.on(u.ERROR,(e,t)=>{if(t.fatal&&!a&&o===i)switch(t.type){case d.NETWORK_ERROR:r?.startLoad();break;case d.MEDIA_ERROR:r?.recoverMediaError();break;default:r?.destroy(),r=null,n.trigger(`error`)}})}async function d(r){let o=await import(`dashjs`);if(a||s!==r)return;let c=o.MediaPlayer().create();i=c,c.initialize(e,r,t.autoplay??!1);let l=o.MediaPlayer.events;c.on(l.QUALITY_CHANGE_RENDERED,m(`qualitychange`)),c.on(l.STREAM_INITIALIZED,m(`qualitychange`)),c.on(l.ERROR,()=>{a||s!==r||(c.destroy(),i=null,n.trigger(`error`))})}function f(){return/Apple/.test(navigator.vendor)&&!/CriOS|FxiOS|OPiOS|EdgiOS|Chrome|Chromium|Android/.test(navigator.userAgent)&&(e.canPlayType(`application/vnd.apple.mpegurl`)!==``||e.canPlayType(`application/x-mpegURL`)!==``)}function p(n,a){if(r?.destroy(),r=null,o=null,i?.destroy(),i=null,s=null,a===`application/dash+xml`){s=n,d(n);return}if(a===`application/x-mpegURL`&&!f()){o=n,u(n);return}e.src=n,t.autoplay&&e.play()}let m=e=>()=>n.trigger(e),h=Ze.map(e=>[e,m(e)]);for(let[t,n]of h)e.addEventListener(t,n);let g=Ke(e,m(`captionschange`)),_=Je(()=>r?Qe(r):i?$e(i):null),v=Ye(e,m(`nativefullscreenenter`),m(`nativefullscreenexit`)),y=Xe(e,m(`pipchange`)),{poster:b,muted:ee,autoplay:S,volume:C,playbackRate:w,preload:T,src:E,type:D}=t;return e.poster=b??``,T&&(e.preload=T),e.muted=ee??S??!1,e.volume=C??1,e.playbackRate=w??1,e.playsInline=!0,p(E,D),{el:e,play:()=>(r&&!l&&(l=!0,r.startLoad()),e.play()),pause:()=>e.pause(),paused:()=>e.paused,currentTime:()=>e.currentTime,setCurrentTime:t=>{e.currentTime=t},duration:()=>e.duration,volume:()=>e.volume,setVolume:t=>{e.volume=t},muted:()=>e.muted,setMuted:t=>{e.muted=t},playbackRate:()=>e.playbackRate,setPlaybackRate:t=>{e.playbackRate=t},bufferedEnd:()=>{let{buffered:t,duration:n}=e;if(!t.length)return 0;let r=t.end(t.length-1);return n&&r>n?n:r},error:()=>{let t=e.error;return t?{code:t.code,message:t.message||`This video could not be played.`}:null},setSrc:p,supportsPlaybackRate:()=>!0,supportsCaptions:g.supportsCaptions,getCaptionTracks:g.getCaptionTracks,setCaptionTrack:g.setCaptionTrack,getActiveCaptionTrack:g.getActiveCaptionTrack,supportsQuality:_.supportsQuality,getQualityLevels:_.getQualityLevels,getCurrentQuality:_.getCurrentQuality,isAutoQuality:_.isAutoQuality,setQuality:_.setQuality,supportsPip:y.supportsPip,isPipActive:y.isPipActive,togglePip:y.togglePip,enterFullscreen:v.enterFullscreen,exitFullscreen:v.exitFullscreen,on:n.on,off:n.off,dispose:()=>{a=!0,r?.destroy(),i?.destroy();for(let[t,n]of h)e.removeEventListener(t,n);g.dispose(),v.dispose(),y.dispose(),n.dispose()}}}function tt(e,t){if(!t||!Object.keys(t).length)return e;let n=e;for(let[e,r]of Object.entries(t))r!=null&&r!==``&&(n=n.split(`{${e}}`).join(encodeURIComponent(r)));return n}function nt(){try{let e=localStorage.getItem(a);if(!e)return o;let t=JSON.parse(e);return{muted:typeof t.muted==`boolean`?t.muted:o.muted,volume:typeof t.volume==`number`?t.volume:o.volume}}catch{return o}}function rt(e){localStorage.setItem(a,JSON.stringify(e))}let it=!1;function at(){it=!0}function ot(){return it}function st(e){rt(e),e.muted||at()}function ct(e,t=!0){if(e!==void 0)return e;if(!t)return;let n=nt().muted;return n||at(),n}function lt(e,t){return e===void 0?t&&!ot()?!0:nt().muted:e}function ut(e){return e.volume??nt().volume}function dt(e){return{muted:lt(e.muted,!!(e.autoplay||e.playInView)),volume:ut(e)}}async function ft(e,t,n){if(!t.value)return{status:`aborted`};let r=await pe(e,t.value,{src:n.src,poster:n.poster,autoplay:n.autoplay,...dt(n),nativeUi:n.nativeUi});return t.value?r?{status:`mounted`,mounted:{adapter:r,currentSrc:{src:n.src},nativeUi:!!n.nativeUi,needsReveal:!0}}:{status:`unsupported`}:{status:`aborted`}}async function pt(e,t,n,r,i){let a=await ve(e,n.src).catch(()=>({src:n.src}));if(!t.value)return{status:`aborted`};let o=et(t.value,{src:a.src,type:a.type,poster:a.poster||n.poster||``,autoplay:n.autoplay,...dt(n),playbackRate:r.value,preload:n.preload}),s=tt(n.adTagUrl||a.adTagUrl||``,n.adMacroParams);return i.attach(t.value,o,s,n.headerBidding),{status:`mounted`,mounted:{adapter:o,currentSrc:{src:a.src,type:a.type},needsReveal:!1}}}function mt(e,t,n,r,i){return e.embed?ft(e.key,t,n):pt(e.key,t,n,r,i)}function ht(e,t,n,r,i){let a=null;z(()=>{let o=e.value&&S(e.value);o&&(a=Ue(o,()=>{let e=t();e&&e.paused()&&!n.value&&!r.value&&(e.setMuted(lt(i,!0)),e.play())}))}),R(()=>a?.())}function gt(e,t,n,r,i,a){function o(){let n=e();if(n&&t.value){if(!a.value){n.play();return}n.pause()}}function s(t){e()?.setCurrentTime(n.value*(t/100))}function c(){let t=e();if(!t)return;let n=!t.muted();t.setMuted(n),st({muted:n,volume:t.volume()})}function l(t){let n=e();if(!n)return;let r=t===0;n.setVolume(t),n.setMuted(r),st({muted:r,volume:t})}function u(){r.value=!r.value}function d(t){let n=e();n&&(n.setPlaybackRate(t),i.value=t)}return{togglePlay:o,seek:s,toggleMute:c,setVolume:l,toggleLoop:u,setPlaybackRate:d}}function _t(e,t){let{isPlaying:n,hasEnded:r,isReady:i,isAdPlaying:a,isLive:o,current:s,total:c,buffered:l,vol:u,isMuted:d,isLooping:f,playbackRate:p,supportsPlaybackRate:m,supportsCaptions:h,captionTracks:g,activeCaptionIndex:_,supportsQuality:v,qualityLevels:y,currentQualityIndex:b,isAutoQuality:ee,supportsPip:x,isPipActive:S,hasStarted:C,isError:w,errorMessage:T}=e,{fire:E,pauseThisPlayer:D,positionMemory:O,quartiles:k,buffering:A,fullscreen:te}=t;function j(e){i.value=!0,m.value=e.supportsPlaybackRate();function t(){g.value=e.getCaptionTracks(),h.value=g.value.length>0;let t=e.getActiveCaptionTrack();t!==_.value&&(_.value=t,C.value&&E(`captionchange`,{captionIndex:t}))}t(),e.on(`captionschange`,t);function j(){y.value=e.getQualityLevels(),v.value=y.value.length>0;let t=e.getCurrentQuality(),n=e.isAutoQuality(),r=t!==b.value||n!==ee.value;b.value=t,ee.value=n,r&&C.value&&E(`qualitychange`,{qualityIndex:n?null:t})}j(),e.on(`qualitychange`,j);function M(){x.value=e.supportsPip();let t=e.isPipActive();t!==S.value&&(S.value=t,C.value&&E(`pipchange`,{isPipActive:t}))}M(),e.on(`pipchange`,M);let N=()=>{if(a.value)return;let t=e.duration();if(t===1/0){o.value=!0;return}o.value=!1,t&&t>0&&isFinite(t)&&(c.value=t)};e.on(`adstart`,()=>{we(D),a.value=!0,E(`adstart`)}),e.on(`adend`,()=>{a.value=!1,E(`adend`)}),e.on(`play`,()=>{we(D),C.value=!0,n.value=!0,r.value=!1,o.value||O.restoreOnce(e),E(`play`)}),e.on(`pause`,()=>{n.value=!1,o.value||O.save(e),E(`pause`)}),e.on(`ended`,()=>{if(n.value=!1,k.reset(),A.reset(),f.value){e.setCurrentTime(0),e.play();return}c.value&&(s.value=c.value),r.value=!0,O.clear(),E(`ended`)}),e.on(`seeked`,()=>{E(`seeked`)}),e.on(`error`,()=>{let t=e.error();T.value=t?.message||`This video could not be played.`,w.value=!0,i.value=!0,console.error(`Video playback error:`,T.value),E(`error`,{error:t})});let P=0;e.on(`timeupdate`,()=>{if(r.value||a.value)return;s.value=e.currentTime()??0,c.value||N(),m.value||=e.supportsPlaybackRate();let t=e.getActiveCaptionTrack();_.value!==t&&(_.value=t,C.value&&E(`captionchange`,{captionIndex:t})),o.value||k.checkQuartiles();let n=Date.now();C.value&&n-P>=250&&(P=n,E(`timeupdate`))}),e.on(`durationchange`,N),e.on(`progress`,()=>{if(a.value)return;let t=e.duration();l.value=t?e.bufferedEnd()/t*100:0}),e.on(`volumechange`,()=>{let t=e.muted();u.value=e.volume()??1,d.value=t??!1,C.value&&E(`volumechange`,{isMuted:t})}),e.on(`ratechange`,()=>{let t=e.playbackRate()??1;p.value=t,C.value&&E(`ratechange`,{playbackRate:t})}),A.attachPlayerEvents(e),te.attachPlayerEvents(e)}return{attachPlayerEvents:j}}function vt(e,t){let{isAdPlaying:n,isAdPaused:r,isAdMuted:i,adRemainingTime:a}=e,{fire:o,pauseThisPlayer:s}=t,c=null,l=null,u=!1;async function d(e,t,d,f){if(!(d||f)||!e.parentElement)return;let p=!1;t.on(`play`,()=>{c?c.requestAdsOnFirstPlay():p=!0});let m=null;f&&import(`./chunks/prebid-RHDT0DOX.mjs`).then(({resolveHeaderBiddingAdTagUrl:e})=>e(f,d).catch(()=>d)).then(e=>{c?c.setAdTagUrl(e):m=e});function h(){!v()&&t.isPipActive()&&document.exitPictureInPicture()}function g(){!v()&&(document.hidden||!document.hasFocus())&&c?.isAdPlaying()&&c.pauseAd()}let _=De(g),y=()=>{t.isPipActive()||g()};t.on(`pipchange`,y),l=()=>{_(),t.off(`pipchange`,y)};let{attachAds:b}=await import(`./chunks/ads-BV769SMr.mjs`);!u&&e.parentElement&&(c=b(e.parentElement,e,d,{onAdStart:()=>{n.value=!0,r.value=!1,o(`adstart`),h(),g()},onAdEnd:()=>{n.value=!1,r.value=!1,a.value=0,o(`adend`)},onAdPauseChange:e=>{r.value=e,e||we(s)},onAdMuteChange:e=>{i.value=e},onAdProgress:e=>{a.value=e},onError:e=>{n.value=!1,r.value=!1,a.value=0,console.error(`Ad playback error:`,e)}}),m&&c.setAdTagUrl(m),p&&c.requestAdsOnFirstPlay())}return{attach:d,isAdPlaying:()=>c?.isAdPlaying()??!1,isAdPaused:()=>c?.isAdPaused()??!1,pauseAd:()=>c?.pauseAd(),resumeAd:()=>c?.resumeAd(),toggleAdMute:()=>c?.toggleAdMute(),dispose:()=>{u=!0,c?.dispose(),c=null,l?.(),l=null}}}function yt(e,t,n){let r=null,i=null,a=null,o=!1,s=U(!1),c=U(!1),l=U(!1),u=U(!1),d=U(0),f=U(0),p=U(0),m=U(ut(t)),h=U(!1),g=U(!1),_=U(!1),v=U(0),y=U(lt(t.muted,!!(t.autoplay||t.playInView))),b=U(!!t.loop),x=U(t.playbackRate??1),S=U(!1),C=U(!1),w=U([]),E=U(null),D=U(!1),O=U([]),k=U(null),A=U(!0),te=U(!1),j=U(!1),M=U(!1),N=U(!1),P=U(``),F=U(!1),ne=T(()=>f.value?d.value/f.value*100:0),I=T(()=>Math.max(p.value,ne.value)),re=T(()=>!y.value&&m.value>0),L=()=>r,B=T(()=>{if(typeof t.payload!=`string`)return t.payload??{};try{return JSON.parse(t.payload)}catch{return{}}});function V(e,r={}){n(`state-change`,{type:e,currentTime:d.value,duration:f.value,src:t.src,...r,payload:B.value})}let H=Oe(L),ie=ke(V),W=Ie(t.src,L,c),ae=Ae(d,f,V);function oe(){r&&a&&(N.value=!1,P.value=``,r.setSrc(a.src,a.type))}function G(){if(q.isAdPlaying()){q.pauseAd();return}r?.pause()}function K(){if(q.isAdPlaying()){q.isAdPaused()?q.resumeAd():q.pauseAd();return}Y.togglePlay()}let q=vt({isAdPlaying:h,isAdPaused:g,isAdMuted:_,adRemainingTime:v},{fire:V,pauseThisPlayer:G}),Y=gt(L,l,f,b,x,s),{attachPlayerEvents:X}=_t({isPlaying:s,hasEnded:c,isReady:l,isAdPlaying:h,isLive:u,current:d,total:f,buffered:p,vol:m,isMuted:y,isLooping:b,playbackRate:x,supportsPlaybackRate:S,supportsCaptions:C,captionTracks:w,activeCaptionIndex:E,supportsQuality:D,qualityLevels:O,currentQualityIndex:k,isAutoQuality:A,supportsPip:te,isPipActive:j,hasStarted:M,isError:N,errorMessage:P},{fire:V,pauseThisPlayer:G,positionMemory:W,quartiles:ae,buffering:ie,fullscreen:H});function se(e){r?.setCaptionTrack(e),E.value=e,M.value&&V(`captionchange`,{captionIndex:e})}function ce(e){r?.setQuality(e),k.value=e,A.value=e===null,M.value&&V(`qualitychange`,{qualityIndex:e})}function ue(){r?.togglePip()}function de(){Y.toggleLoop(),M.value&&V(`loopchange`,{isLooping:b.value})}J(()=>t.loop,e=>{e!==void 0&&e!==b.value&&de()}),J(()=>t.muted,e=>{r&&e!==void 0&&r.setMuted(e)}),J(()=>t.playbackRate,e=>{r&&e!==void 0&&r.setPlaybackRate(e)}),We(e,L,H.isFullscreen,H.isFullscreenPending,T(()=>!!t.pin)),t.playInView&&ht(e,L,H.isFullscreen,H.isFullscreenPending,t.muted);function fe(e){r=e.adapter,a=e.currentSrc,o=e.needsReveal,e.nativeUi!==void 0&&(F.value=e.nativeUi),i=Ce(G),X(e.adapter)}return J(M,t=>{t&&o&&e.value&&r&&ee(e.value,r.el)}),z(async()=>{let n=await mt(le(t.src),e,t,x,q);if(n.status===`unsupported`){N.value=!0,l.value=!0,P.value=`This platform is not yet supported.`;return}n.status===`mounted`&&fe(n.mounted)}),R(()=>{i?.(),q.dispose(),r?.dispose(),r=null}),{isPlaying:s,hasEnded:c,isReady:l,isLive:u,isBuffering:ie.isBuffering,current:d,total:f,progress:ne,bufferedDisplay:I,hasStarted:M,isError:N,errorMessage:P,fmt:xe,fire:V,retry:oe,togglePlay:K,seek:Y.seek,isAdPlaying:h,isAdPaused:g,isAdMuted:_,adRemainingTime:v,toggleAdMute:q.toggleAdMute,vol:m,isMuted:y,isAudible:re,toggleMute:Y.toggleMute,setVolume:Y.setVolume,isLooping:b,toggleLoop:de,currentPlaybackRate:x,setPlaybackRate:Y.setPlaybackRate,supportsPlaybackRate:S,isFullscreen:H.isFullscreen,isFullscreenPending:H.isFullscreenPending,toggleFullscreen:H.toggleFullscreen,markFullscreenPending:H.markFullscreenPending,supportsCaptions:C,captionTracks:w,activeCaptionIndex:E,setCaptionTrack:se,supportsQuality:D,qualityLevels:O,currentQualityIndex:k,isAutoQuality:A,setQuality:ce,supportsPip:te,isPipActive:j,togglePip:ue,isNativeUi:F}}const bt=new Set([`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`,`Home`,`End`]);function xt(e,t){function n(e,t,n){return Math.min(n,Math.max(t,e))}function r(t){if(!e.total)return;let r=n(e.current+t,0,e.total);e.seek(r/e.total*100)}function i(t){e.setVolume(n(e.vol+t,0,1))}function a(){e.supportsCaptions&&e.setCaptionTrack(e.activeCaptionIndex===null?0:null)}function o(n){if(n.repeat||n.metaKey||n.ctrlKey||n.altKey)return;let o=n.target;if(!o.closest(`input:not([type="range"]), textarea, select, [contenteditable="true"]`)&&!(bt.has(n.key)&&o.closest(`input[type="range"]`))&&(n.key!==` `&&n.key!==`Enter`||!o.closest(`button, a[href]`))){switch(n.key){case` `:case`k`:n.preventDefault(),e.togglePlay();break;case`ArrowLeft`:n.preventDefault(),r(-5);break;case`ArrowRight`:n.preventDefault(),r(5);break;case`ArrowUp`:n.preventDefault(),i(g);break;case`ArrowDown`:n.preventDefault(),i(-g);break;case`m`:e.toggleMute();break;case`f`:e.toggleFullscreen();break;case`c`:a();break;case`Home`:n.preventDefault(),e.seek(0);break;case`End`:n.preventDefault(),e.seek(100);break;default:if(!/^[0-9]$/.test(n.key))return;e.seek(Number(n.key)*10)}t.onMouseMove()}}return{onKeydown:o}}function St(e,t){let n=U(!0),r=U(!1),i=null,a=0;function o(e=400){a=Date.now()+e}function s(e=h){clearTimeout(i??void 0),i=setTimeout(()=>{if(document.activeElement?.closest(`.overlay__hud, .overlay__popup`)){s(e);return}n.value=!1,r.value=!1},e)}function c(){clearTimeout(i??void 0)}function l(){r.value=!0,n.value=!0,s()}function u(i=!1){r.value=!1,(i||t.value)&&(n.value=!1),e.value&&s()}function d(){e.value&&s()}function f(){n.value=!0,e.value&&s()}function p(){n.value=!0,s()}function m(){Date.now()<a||e.value&&s(600)}return J(e,e=>{if(!e){clearTimeout(i??void 0),n.value=!0;return}s()}),R(()=>clearTimeout(i??void 0)),{showHUD:n,isOpen:r,scheduleHide:s,pauseHide:c,onVideoTap:f,onMouseMove:p,onMouseLeave:m,openControls:l,closeControls:u,keepOpen:d,suppressMouseLeave:o}}const Ct=[`retry`,`togglePlay`,`seek`,`toggleMute`,`setVolume`,`toggleFullscreen`,`markFullscreenPending`,`toggleLoop`,`toggleAdMute`,`setPlaybackRate`,`setCaptionTrack`,`setQuality`,`togglePip`],wt=`isPlaying.hasEnded.isReady.isAdPlaying.isAdPaused.isAdMuted.adRemainingTime.isLive.isBuffering.current.total.vol.isMuted.isAudible.isLooping.currentPlaybackRate.hasStarted.isError.errorMessage.progress.bufferedDisplay.isFullscreen.isFullscreenPending.supportsPlaybackRate.supportsCaptions.captionTracks.activeCaptionIndex.supportsQuality.qualityLevels.currentQualityIndex.isAutoQuality.supportsPip.isPipActive.isNativeUi`.split(`.`);function Tt(e=()=>!0){let t=oe(null),n={};for(let r of Ct)n[r]=async(...n)=>{await e(r)&&t.value?.[r]?.(...n)};for(let e of wt)n[e]=T(()=>t.value?.[e]);return{playerRef:t,forwarded:n}}const Et=Symbol(`player`),Dt=Symbol(`hud`),Ot=Symbol(`action`),kt=Symbol(`playlist`);function Z(e){let t=P(e);if(t===void 0)throw Error(`[video-player] missing "${String(e.description)}" context — this component must be rendered inside <VideoPlayer>`);return t}function At(e,t){let n=T(()=>e.isReady&&!e.isError);return{hudVisible:T(()=>n.value&&t.showHUD),popupVisible:T(()=>n.value?e.isFullscreen?t.showHUD:t.isOpen:!1)}}function jt(e,t=250){let n=U(!1),r=null;return J(e,e=>{r?.disconnect(),r=null,e&&(r=new ResizeObserver(([e])=>{n.value=e.contentRect.width<t}),r.observe(e))},{immediate:!0}),R(()=>r?.disconnect()),n}const Mt={mute:{label:e=>e.isMuted?`Unmute`:`Mute`,active:e=>e.isMuted,onClick:e=>e.toggleMute()},loop:{label:e=>e.isLooping?`Disable loop`:`Loop`,active:e=>e.isLooping,onClick:e=>e.toggleLoop()},autoplay:{label:(e,t)=>t.autoAdvance?`Disable autoplay next`:`Autoplay next`,active:(e,t)=>t.autoAdvance,onClick:(e,t)=>t.toggleAutoAdvance()}};function Nt(e,t,n){let r=T(()=>e?.value??null),i=T(()=>!!r.value&&typeof r.value==`object`),a=T(()=>i.value?r.value:null),o=T(()=>i.value||!r.value?null:Mt[r.value]),s=T(()=>o.value?.label(t,n)??``),c=T(()=>o.value?.active(t,n)??!1);function l(){o.value?.onClick(t,n)}return{currentAction:r,isCustom:i,customAction:a,builtinLabel:s,builtinActive:c,onBuiltinClick:l}}var Q=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n};const Pt={},Ft={viewBox:`0 0 24 24`,fill:`currentColor`};function It(e,t){return B(),O(`svg`,Ft,[...t[0]||=[k(`path`,{d:`M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z`},null,-1)]])}var Lt=Q(Pt,[[`render`,It]]);const Rt={},zt={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Bt(e,t){return B(),O(`svg`,zt,[...t[0]||=[k(`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`},null,-1),k(`path`,{d:`M9.5 10.5a2 2 0 0 0-3.5 1.3v.4a2 2 0 0 0 3.5 1.3`},null,-1),k(`path`,{d:`M17.5 10.5a2 2 0 0 0-3.5 1.3v.4a2 2 0 0 0 3.5 1.3`},null,-1)]])}var Vt=Q(Rt,[[`render`,Bt]]);const Ht={},Ut={viewBox:`0 0 24 24`,fill:`currentColor`};function Wt(e,t){return B(),O(`svg`,Ut,[...t[0]||=[k(`path`,{d:`M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z`},null,-1)]])}var Gt=Q(Ht,[[`render`,Wt]]);const Kt={},qt={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Jt(e,t){return B(),O(`svg`,qt,[...t[0]||=[A(`<line x1="4" y1="6" x2="20" y2="6"></line><line x1="4" y1="12" x2="20" y2="12"></line><line x1="4" y1="18" x2="20" y2="18"></line><circle cx="9" cy="6" r="2.5" fill="currentColor" stroke="none"></circle><circle cx="15" cy="12" r="2.5" fill="currentColor" stroke="none"></circle><circle cx="9" cy="18" r="2.5" fill="currentColor" stroke="none"></circle>`,6)]])}var Yt=Q(Kt,[[`render`,Jt]]);const Xt={},Zt={viewBox:`0 0 24 24`,fill:`currentColor`};function Qt(e,t){return B(),O(`svg`,Zt,[...t[0]||=[k(`path`,{d:`M4 12l1.41 1.41L11 7.83V20h2V7.83l5.59 5.58L20 12l-8-8-8 8z`},null,-1)]])}var $t=Q(Xt,[[`render`,Qt]]);const en={},tn={viewBox:`0 0 24 24`,fill:`currentColor`};function nn(e,t){return B(),O(`svg`,tn,[...t[0]||=[k(`path`,{d:`M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z`},null,-1)]])}var rn=Q(en,[[`render`,nn]]);const an={},on={viewBox:`0 0 24 24`,fill:`currentColor`};function sn(e,t){return B(),O(`svg`,on,[...t[0]||=[k(`path`,{d:`M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z`},null,-1)]])}var cn=Q(an,[[`render`,sn]]);const ln={},un={viewBox:`0 0 24 24`,fill:`currentColor`};function dn(e,t){return B(),O(`svg`,un,[...t[0]||=[k(`path`,{d:`M7 7h10v3l4-4-4-4v3H5v6h2V7zm10 10H7v-3l-4 4 4 4v-3h12v-6h-2v4z`},null,-1)]])}var fn=Q(ln,[[`render`,dn]]);const pn={},mn={viewBox:`0 0 24 24`,fill:`currentColor`};function hn(e,t){return B(),O(`svg`,mn,[...t[0]||=[k(`circle`,{cx:`5`,cy:`12`,r:`2`},null,-1),k(`circle`,{cx:`12`,cy:`12`,r:`2`},null,-1),k(`circle`,{cx:`19`,cy:`12`,r:`2`},null,-1)]])}var gn=Q(pn,[[`render`,hn]]);const _n={},vn={viewBox:`0 0 24 24`,fill:`currentColor`};function yn(e,t){return B(),O(`svg`,vn,[...t[0]||=[k(`path`,{d:`M6 19h4V5H6v14zm8-14v14h4V5h-4z`},null,-1)]])}var bn=Q(_n,[[`render`,yn]]);const xn={},Sn={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Cn(e,t){return B(),O(`svg`,Sn,[...t[0]||=[k(`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`},null,-1),k(`rect`,{x:`12`,y:`11`,width:`8`,height:`6`,rx:`1`,fill:`currentColor`,stroke:`none`},null,-1)]])}var wn=Q(xn,[[`render`,Cn]]);const Tn={},En={viewBox:`0 0 24 24`,fill:`currentColor`};function Dn(e,t){return B(),O(`svg`,En,[...t[0]||=[k(`path`,{d:`M8 5v14l11-7z`},null,-1)]])}var On=Q(Tn,[[`render`,Dn]]);const kn={},An={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function jn(e,t){return B(),O(`svg`,An,[...t[0]||=[k(`rect`,{x:`2`,y:`6`,width:`20`,height:`12`,rx:`2`},null,-1),k(`path`,{d:`M7 14v-4M12 14V8M17 14v-2`},null,-1)]])}var Mn=Q(kn,[[`render`,jn]]);const Nn={},Pn={viewBox:`0 0 24 24`,fill:`currentColor`};function Fn(e,t){return B(),O(`svg`,Pn,[...t[0]||=[k(`path`,{d:`M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8z`},null,-1)]])}var In=Q(Nn,[[`render`,Fn]]);const Ln={},Rn={viewBox:`0 0 24 24`,fill:`currentColor`};function zn(e,t){return B(),O(`svg`,Rn,[...t[0]||=[k(`path`,{d:`M6 18l8.5-6L6 6v12zM16 6v12h2V6h-2z`},null,-1)]])}var Bn=Q(Ln,[[`render`,zn]]);const Vn={},Hn={viewBox:`0 0 24 24`,fill:`currentColor`};function Un(e,t){return B(),O(`svg`,Hn,[...t[0]||=[k(`path`,{d:`M16.5 12A4.5 4.5 0 0 0 14 7.97v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51A8.796 8.796 0 0 0 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3L3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06A8.99 8.99 0 0 0 17.73 18L19 19.27 20.27 18 5.27 3 4.27 3zM12 4L9.91 6.09 12 8.18V4z`},null,-1)]])}var Wn=Q(Vn,[[`render`,Un]]);const Gn={},Kn={viewBox:`0 0 24 24`,fill:`currentColor`};function qn(e,t){return B(),O(`svg`,Kn,[...t[0]||=[k(`path`,{d:`M3 9v6h4l5 5V4L7 9H3zm13.5 3A4.5 4.5 0 0 0 14 7.97v8.05c1.48-.73 2.5-2.25 2.5-4.02z`},null,-1)]])}var Jn=Q(Gn,[[`render`,qn]]);function Yn(e,t){return T(()=>e.value?e.value:t.value?document.getElementById(t.value)??null:null)}const Xn=[`aria-label`];var Zn=Q(M({__name:`PlayButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Yn(K(t,`player`),K(t,`for`)),r=T(()=>n.value?.isError?`error`:n.value?.hasEnded?`ended`:n.value?.isPlaying?`playing`:`idle`),i=T(()=>{switch(r.value){case`error`:return`Retry`;case`ended`:return`Replay`;case`playing`:return`Pause`;default:return`Play`}});function a(){let e=n.value;e&&(e.isError?e.retry():e.togglePlay())}return(e,t)=>(B(),O(`button`,{type:`button`,class:`mlv-play-button`,"aria-label":i.value,onClick:a},[W(e.$slots,`default`,{isPlaying:q(n)?.isPlaying??!1,hasEnded:q(n)?.hasEnded??!1,isError:q(n)?.isError??!1},()=>[r.value===`error`||r.value===`ended`?(B(),E(q(In),{key:0})):r.value===`playing`?(B(),E(q(bn),{key:1})):(B(),E(q(On),{key:2}))],!0)],8,Xn))}}),[[`__scopeId`,`data-v-218255bd`]]),Qn=Q(M({__name:`Spinner`,props:{size:{type:Number,required:!1,default:14},borderWidth:{type:Number,required:!1,default:2}},setup(e){return(t,n)=>(B(),O(`div`,{class:`spinner`,style:L({width:`${e.size}px`,height:`${e.size}px`,borderWidth:`${e.borderWidth}px`})},null,4))}}),[[`__scopeId`,`data-v-259be2b2`]]);const $n={key:0,class:`mlv-buffering`};var er=Q(M({__name:`Buffering`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Yn(K(t,`player`),K(t,`for`));return(e,t)=>q(n)?.isBuffering?(B(),O(`div`,$n,[W(e.$slots,`default`,{},()=>[j(Qn)],!0)])):D(`v-if`,!0)}}),[[`__scopeId`,`data-v-454fec7f`]]),tr=M({__name:`VolumeIcon`,props:{isAudible:{type:Boolean,required:!0}},setup(e){return(t,n)=>e.isAudible?(B(),E(q(Jn),{key:0})):(B(),E(q(Wn),{key:1}))}});const nr={class:`hud`,"aria-hidden":`true`},rr=[`aria-label`],ir=[`aria-label`,`innerHTML`],ar={key:2,class:`hud__spacer`},or={class:`hud__play-wrap`};var sr=Q(M({__name:`HudButtons`,setup(e){let t=Z(Et),n=Z(Dt),{currentAction:r,isCustom:i,customAction:a,builtinLabel:o,builtinActive:s,onBuiltinClick:c}=Nt(P(Ot),t,Z(kt));return(e,l)=>(B(),O(C,null,[D(` tabindex="-1" + aria-hidden: this row's play/mute/custom/show-controls buttons are all redundant outside plain mouse hover - play/mute already have global hotkeys, everything else is duplicated in ControlsPopup, which PlayerOverlay's "Show player controls" skip link reaches directly for keyboard/AT users. `),k(`div`,nr,[!q(n).isOpen&&!q(t).isFullscreen?(B(),O(C,{key:0},[q(r)===`mute`||q(r)===`loop`||q(r)===`autoplay`?(B(),O(`button`,{key:0,class:I([`hud__btn`,{"hud__btn--active":q(s)}]),"aria-label":q(o),tabindex:`-1`,onClick:l[0]||=X((...e)=>q(c)&&q(c)(...e),[`stop`])},[q(r)===`mute`?(B(),E(tr,{key:0,"is-audible":q(t).isAudible},null,8,[`is-audible`])):q(r)===`loop`?(B(),E(q(fn),{key:1})):(B(),E(q(Bn),{key:2}))],10,rr)):q(i)&&q(a)?(B(),O(`button`,{key:1,class:`hud__btn`,"aria-label":q(a).label,tabindex:`-1`,onClick:l[1]||=X(e=>q(a).onClick(),[`stop`]),innerHTML:q(a).icon},null,8,ir)):(B(),O(`div`,ar))],64)):D(`v-if`,!0),k(`div`,or,[j(Zn,{player:q(t),class:`ppbtn ppbtn--lg`,tabindex:`-1`},null,8,[`player`]),j(er,{player:q(t),class:`hud__buf-spinner`},null,8,[`player`])]),!q(n).isOpen&&!q(t).isFullscreen?(B(),O(`button`,{key:1,class:`hud__btn`,"aria-label":`Show controls`,tabindex:`-1`,onClick:l[2]||=X((...e)=>q(n).openControls&&q(n).openControls(...e),[`stop`])},[j(q(Yt))])):D(`v-if`,!0)])],2112))}}),[[`__scopeId`,`data-v-a6d118e7`]]);const cr=new WeakMap;async function lr(e,t){if(!e){t();return}cr.get(e)?.();let n=e.getBoundingClientRect();t(),await ne();let r=e.getBoundingClientRect(),i=n.left-r.left,a=n.top-r.top,o=n.width/r.width,s=n.height/r.height;if(!i&&!a&&o===1&&s===1)return;let c=getComputedStyle(e).position===`static`;c&&(e.style.position=`relative`),e.style.zIndex=`2147483647`,e.style.transition=`none`,e.style.transformOrigin=`top left`,e.style.transform=`translate(${i}px, ${a}px) scale(${o}, ${s})`,e.getBoundingClientRect(),await new Promise(t=>{let n=null,r=()=>{cancelAnimationFrame(i),n&&clearTimeout(n),e.style.transition=``,e.style.transform=``,e.style.transformOrigin=``,e.style.zIndex=``,c&&(e.style.position=``),cr.delete(e),t()};cr.set(e,r);let i=requestAnimationFrame(()=>{e.style.transition=`transform 220ms ease`,e.style.transform=``,n=setTimeout(r,220)})})}const ur=[`aria-label`];var dr=Q(M({__name:`FullscreenButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Yn(K(t,`player`),K(t,`for`));return(e,t)=>(B(),O(`button`,{type:`button`,class:`mlv-fullscreen-button`,"aria-label":q(n)?.isFullscreen?`Exit fullscreen`:`Enter fullscreen`,onClick:t[0]||=e=>q(n)?.toggleFullscreen()},[W(e.$slots,`default`,{isFullscreen:q(n)?.isFullscreen??!1},()=>[q(n)?.isFullscreen?(B(),E(q(cn),{key:0})):(B(),E(q(rn),{key:1}))],!0)],8,ur))}}),[[`__scopeId`,`data-v-b93a5017`]]);const fr=[`aria-pressed`];var pr=Q(M({__name:`PipButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Yn(K(t,`player`),K(t,`for`));return(e,t)=>q(n)?.supportsPip?(B(),O(`button`,{key:0,type:`button`,class:I([`mlv-pip-button`,{"mlv-pip-button--active":q(n)?.isPipActive}]),"aria-pressed":q(n)?.isPipActive??!1,"aria-label":`Toggle Picture-in-Picture`,onClick:t[0]||=e=>q(n)?.togglePip()},[W(e.$slots,`default`,{isPipActive:q(n)?.isPipActive??!1},()=>[j(q(wn))],!0)],10,fr)):D(`v-if`,!0)}}),[[`__scopeId`,`data-v-f654d93e`]]);function mr(e){let n=U(!1),r=U(null),i=!1,a=null,o=!1,s=T(()=>{let t=e.value;return t?.total?t.current/t.total*100:0}),c=T(()=>r.value??s.value),l=T(()=>r.value!==null),u=T(()=>{let t=e.value?.total??0;return c.value/100*t});function d(){a&&clearTimeout(a),a=null}function f(){d(),r.value=null}function p(t){let a=e.value;a?.total&&(n.value||=(i=a.isPlaying,a.isPlaying&&a.togglePlay(),!0),d(),r.value=Number(t.target.value))}function m(s){if(!n.value)return;n.value=!1,o=!0;let c=e.value;if(!c)return;let l=Number(s.target.value);r.value=l,c.seek(l),i&&c.togglePlay(),d(),a=setTimeout(f,t)}function h(s){if(n.value||o)return;o=!1;let c=e.value;if(!c?.total)return;let l=Number(s.target.value);r.value=l,c.seek(l),i&&c.togglePlay(),d(),a=setTimeout(f,t)}return J(()=>e.value?.current,()=>{let t=e.value;if(r.value===null||!t?.total)return;let n=r.value/100*t.total;Math.abs(t.current-n)<1&&f()}),R(f),{scrubbing:l,displayPercent:c,previewSeconds:u,onInput:p,onChange:m,onTouchEnd:h}}const hr={class:`mlv-scrubber-wrap`},gr=[`value`,`aria-valuetext`];var _r=Q(M({inheritAttrs:!1,__name:`Scrubber`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Yn(K(t,`player`),K(t,`for`)),{scrubbing:r,displayPercent:i,previewSeconds:a,onInput:o,onChange:s,onTouchEnd:c}=mr(n),l=e=>xe(e,!0);return(e,t)=>(B(),O(`div`,hr,[k(`input`,F({type:`range`,min:`0`,max:`100`,step:`0.5`,value:q(i),class:`mlv-scrubber`},e.$attrs,{style:{"--p":`${q(i)}%`,"--b":`${q(n)?.bufferedDisplay??0}%`},"aria-label":`Seek`,"aria-valuetext":`${l(q(a))} of ${l(q(n)?.total??0)}`,onInput:t[0]||=(...e)=>q(o)&&q(o)(...e),onChange:t[1]||=(...e)=>q(s)&&q(s)(...e),onTouchend:t[2]||=(...e)=>q(c)&&q(c)(...e)}),null,16,gr),W(e.$slots,`preview`,{scrubbing:q(r),percent:q(i),previewSeconds:q(a),formatTime:l},()=>[q(r)?(B(),O(`div`,{key:0,class:`mlv-scrubber__preview`,style:L({left:`${q(i)}%`})},G(l(q(a))),5)):D(`v-if`,!0)],!0)]))}}),[[`__scopeId`,`data-v-043f1bc8`]]);const vr={class:`mlv-time-display__time`},yr={class:`mlv-time-display__total`};var br=Q(M({__name:`TimeDisplay`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Yn(K(t,`player`),K(t,`for`));return(e,t)=>(B(),O(`span`,{class:I([`mlv-time-display`,{"mlv-time-display--live":q(n)?.isLive}])},[W(e.$slots,`default`,{isLive:q(n)?.isLive??!1,current:q(n)?.current??0,total:q(n)?.total??0,formatTime:q(xe)},()=>[q(n)?.isLive?(B(),O(C,{key:0},[t[0]||=k(`span`,{class:`mlv-time-display__dot`},null,-1),t[1]||=te(`Live `,-1)],64)):(B(),O(C,{key:1},[k(`span`,vr,G(q(xe)(q(n)?.current??0)),1),k(`span`,yr,`/ `+G(q(xe)(q(n)?.total??0)),1)],64))],!0)],2))}}),[[`__scopeId`,`data-v-0285c811`]]);const xr={class:`mlv-volume-wrap`},Sr=[`value`],Cr={class:`mlv-volume-pct`};var wr=Q(M({inheritAttrs:!1,__name:`VolumeSlider`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Yn(K(t,`player`),K(t,`for`)),r=T(()=>{let e=n.value;return e?e.isMuted?0:Math.round(e.vol*100):0});function i(e){n.value?.setVolume(Number(e.target.value)/100)}return(e,t)=>(B(),O(`div`,xr,[k(`input`,F({type:`range`,min:`0`,max:`100`,step:`1`,value:r.value,class:`mlv-volume-slider`},e.$attrs,{style:{"--v":`${r.value}%`},"aria-label":`Volume`,onInput:i}),null,16,Sr),W(e.$slots,`default`,{percent:r.value},()=>[k(`span`,Cr,G(r.value)+`%`,1)],!0)]))}}),[[`__scopeId`,`data-v-fbb2c86c`]]);const Tr={class:`controls__vol-header`},Er=[`aria-label`],Dr={class:`controls__vol-body`},Or={class:`controls__vol-pct`};var kr=Q(M({__name:`VolumePanel`,emits:[`back`],setup(e){let t=Z(Et),n=Z(Dt);return(e,r)=>(B(),O(C,null,[k(`div`,Tr,[k(`button`,{class:`controls__btn`,"aria-label":`Back`,onClick:r[0]||=t=>e.$emit(`back`)},[j(q(Lt))]),r[6]||=k(`span`,{class:`controls__vol-label`},`Volume`,-1),k(`button`,{class:`controls__btn`,"aria-label":q(t).isMuted?`Unmute`:`Mute`,onClick:r[1]||=e=>q(t).toggleMute()},[j(tr,{"is-audible":q(t).isAudible},null,8,[`is-audible`])],8,Er)]),k(`div`,Dr,[j(wr,{player:q(t),class:`controls__vol-slider`,onMousedown:r[2]||=e=>q(n).pauseHide(),onMouseup:r[3]||=e=>q(n).scheduleHide(),onTouchstartPassive:r[4]||=e=>q(n).pauseHide(),onTouchend:r[5]||=e=>q(n).scheduleHide()},{default:Y(({percent:e})=>[k(`span`,Or,G(e)+`%`,1)]),_:1},8,[`player`])])],64))}}),[[`__scopeId`,`data-v-10b0ae67`]]);function Ar(e){function t(){let t=_.indexOf(e.currentPlaybackRate);e.setPlaybackRate(_[(t+1)%_.length])}function n(e){return`${e}×`}return{cycleRate:t,fmtRate:n}}function jr(e){function t(){let t=e.captionTracks;if(!t.length)return;let n=t[t.findIndex(t=>t.index===e.activeCaptionIndex)+1];e.setCaptionTrack(n?n.index:null)}function n(){return e.captionTracks.find(t=>t.index===e.activeCaptionIndex)?.label??`Off`}return{cycleCaptionTrack:t,currentCaptionLabel:n}}function Mr(e){function t(){let t=e.qualityLevels;if(!t.length)return;if(e.isAutoQuality){e.setQuality(t[t.length-1].index);return}let n=t.findIndex(t=>t.index===e.currentQualityIndex);e.setQuality(n<=0?null:t[n-1].index)}function n(){return e.isAutoQuality?`Auto`:e.qualityLevels.find(t=>t.index===e.currentQualityIndex)?.label??`Auto`}return{cycleQuality:t,currentQualityLabel:n}}const Nr=[`aria-label`],Pr={key:0,class:`controls__more-row-label`},Fr=[`innerHTML`],Ir={key:1},Lr={key:2,class:`controls__more-value`};var $=Q(M({__name:`MoreMenuRow`,props:{label:{type:String,required:!0},ariaLabel:{type:String,required:!1,default:``},icon:{type:null,required:!1},iconHtml:{type:String,required:!1},active:{type:Boolean,required:!1,default:!1},value:{type:String,required:!1}},emits:[`click`],setup(e){return(t,n)=>(B(),O(`button`,{class:I([`controls__more-row`,{"controls__more-row--active":e.active}]),"aria-label":e.ariaLabel||e.label,onClick:n[0]||=e=>t.$emit(`click`)},[e.icon||e.iconHtml?(B(),O(`span`,Pr,[e.icon?(B(),E(ae(e.icon),{key:0,class:`controls__more-row-icon`})):(B(),O(`span`,{key:1,class:`controls__more-row-icon`,innerHTML:e.iconHtml},null,8,Fr)),te(` `+G(e.label),1)])):(B(),O(`span`,Ir,G(e.label),1)),e.value===void 0?D(`v-if`,!0):(B(),O(`span`,Lr,G(e.value),1))],10,Nr))}}),[[`__scopeId`,`data-v-47ca5bfc`]]);const Rr={class:`controls__more-header`};var zr=Q(M({__name:`MoreMenu`,props:{isCustom:{type:Boolean,required:!0},customAction:{type:[Object,null],required:!0},compact:{type:Boolean,required:!0}},emits:[`back`],setup(e){let t=Z(Et),n=Z(Dt),r=Z(kt),{cycleRate:i,fmtRate:a}=Ar(t),{cycleCaptionTrack:o,currentCaptionLabel:s}=jr(t),{cycleQuality:c,currentQualityLabel:l}=Mr(t);return(u,d)=>(B(),O(C,null,[k(`div`,Rr,[k(`button`,{class:`controls__btn`,"aria-label":`Back`,onClick:d[0]||=e=>u.$emit(`back`)},[j(q(Lt))]),d[8]||=k(`span`,{class:`controls__more-label`},`More`,-1)]),k(`div`,{class:`controls__more-body`,onTouchstartPassive:d[7]||=e=>q(n).keepOpen()},[q(t).supportsPlaybackRate?(B(),E($,{key:0,label:`Playback speed`,value:q(a)(q(t).currentPlaybackRate),onClick:q(i)},null,8,[`value`,`onClick`])):D(`v-if`,!0),j($,{label:`Loop`,"aria-label":`Toggle loop`,icon:q(fn),active:q(t).isLooping,value:q(t).isLooping?`On`:`Off`,onClick:d[1]||=e=>q(t).toggleLoop()},null,8,[`icon`,`active`,`value`]),q(t).supportsCaptions?(B(),E($,{key:1,label:`Captions`,icon:q(Vt),active:q(t).activeCaptionIndex!==null,value:q(s)(),onClick:q(o)},null,8,[`icon`,`active`,`value`,`onClick`])):D(`v-if`,!0),q(t).supportsQuality?(B(),E($,{key:2,label:`Quality`,icon:q(Mn),active:!q(t).isAutoQuality,value:q(l)(),onClick:q(c)},null,8,[`icon`,`active`,`value`,`onClick`])):D(`v-if`,!0),q(r).hasPlaylist?(B(),E($,{key:3,label:`Autoplay next`,"aria-label":`Toggle autoplay next`,icon:q(Bn),active:q(r).autoAdvance,value:q(r).autoAdvance?`On`:`Off`,onClick:d[2]||=e=>q(r).toggleAutoAdvance()},null,8,[`icon`,`active`,`value`])):D(`v-if`,!0),e.compact&&q(t).supportsPip?(B(),E($,{key:4,label:`Picture-in-picture`,"aria-label":`Toggle picture-in-picture`,icon:q(wn),active:q(t).isPipActive,onClick:d[3]||=e=>q(t).togglePip()},null,8,[`icon`,`active`])):D(`v-if`,!0),e.compact&&q(r).hasNext?(B(),E($,{key:5,label:`Play next`,"aria-label":`Play next`,icon:q(Bn),onClick:d[4]||=e=>q(r).playNext()},null,8,[`icon`])):D(`v-if`,!0),e.compact?(B(),E($,{key:6,label:`Mute`,"aria-label":`Toggle mute`,icon:q(t).isAudible?q(Jn):q(Wn),active:!q(t).isAudible,onClick:d[5]||=e=>q(t).toggleMute()},null,8,[`icon`,`active`])):D(`v-if`,!0),e.isCustom&&e.customAction?(B(),E($,{key:7,label:e.customAction.label,"icon-html":e.customAction.icon,onClick:d[6]||=t=>e.customAction.onClick()},null,8,[`label`,`icon-html`])):D(`v-if`,!0)],32)],64))}}),[[`__scopeId`,`data-v-e89a8208`]]);const Br={class:`controls__row`},Vr={class:`controls__play-wrap`},Hr=[`aria-expanded`],Ur=[`aria-expanded`],Wr={class:`controls__fs-wrap`};var Gr=Q(M({__name:`ControlsPopup`,setup(e){let t=Z(Et),n=Z(Dt),r=Z(kt),{isCustom:i,customAction:a}=Nt(P(Ot),t,r),o=U(!1),s=U(!1),c=U(null),l=U(null),u=jt(c),d=T(()=>t.isLooping||t.currentPlaybackRate!==1||r.autoAdvance);function f(e){return!c.value||c.value.contains(e)?!1:(n.closeControls(),!0)}function p(e){f(e.target)}function m(e){f(e.target)&&e.preventDefault()}z(()=>{t.fire(`controlsopen`,{element:c.value}),document.addEventListener(`click`,p,!0),document.addEventListener(`touchend`,m,!0)}),R(()=>{o.value=!1,s.value=!1,t.fire(`controlsclose`,{element:c.value}),document.removeEventListener(`click`,p,!0),document.removeEventListener(`touchend`,m,!0)});function h(e){n.suppressMouseLeave();let t=c.value,r=l.value;if(!t||!r){e();return}r.style.opacity=`0`,lr(t,e).then(()=>{r.style.transition=`opacity 130ms ease`,r.style.opacity=``,setTimeout(()=>{r.style.transition=``},130)})}function g(){if(v()){t.toggleMute();return}h(()=>{o.value=!0})}function _(){h(()=>{s.value=!0})}return(e,f)=>(B(),O(`div`,{ref_key:`popupEl`,ref:c,class:I([`controls`,{"controls--fs":q(t).isFullscreen,"controls--compact":q(u)}]),onMousemove:f[8]||=X((...e)=>q(n).keepOpen&&q(n).keepOpen(...e),[`stop`])},[k(`div`,{class:`controls__inner`,ref_key:`contentEl`,ref:l},[o.value?(B(),E(kr,{key:0,onBack:f[0]||=e=>h(()=>o.value=!1)})):s.value?(B(),E(zr,{key:1,"is-custom":q(i),"custom-action":q(a),compact:q(u),onBack:f[1]||=e=>h(()=>s.value=!1)},null,8,[`is-custom`,`custom-action`,`compact`])):(B(),O(C,{key:2},[q(t).isLive?D(`v-if`,!0):(B(),E(_r,{key:0,player:q(t),class:`controls__seek`,onMousedown:f[2]||=e=>q(n).pauseHide(),onMouseup:f[3]||=e=>q(n).scheduleHide(),onTouchstartPassive:f[4]||=e=>q(n).pauseHide(),onTouchend:f[5]||=e=>q(n).scheduleHide()},null,8,[`player`])),k(`div`,Br,[k(`div`,Vr,[j(er,{player:q(t)},null,8,[`player`]),q(t).isBuffering?D(`v-if`,!0):(B(),E(Zn,{key:0,player:q(t),class:`ppbtn ppbtn--sm`},null,8,[`player`]))]),j(br,{player:q(t),class:`controls__time-display`},null,8,[`player`]),q(r).hasNext?(B(),O(`button`,{key:0,class:`controls__btn controls__btn--next`,"aria-label":`Play next`,onClick:f[6]||=e=>q(r).playNext()},[j(q(Bn))])):D(`v-if`,!0),k(`button`,{class:`controls__btn controls__btn--volume`,"aria-label":`Volume`,"aria-haspopup":`true`,"aria-expanded":o.value,onClick:g},[j(tr,{"is-audible":q(t).isAudible},null,8,[`is-audible`])],8,Hr),k(`button`,{class:I([`controls__btn controls__btn--more`,{"controls__btn--active":d.value}]),"aria-label":`More`,"aria-haspopup":`true`,"aria-expanded":s.value,onClick:_},[j(q(gn))],10,Ur),j(pr,{player:q(t),class:`controls__btn controls__btn--pip`},null,8,[`player`]),k(`div`,Wr,[q(t).isFullscreenPending?(B(),E(Qn,{key:0})):(B(),E(dr,{key:1,player:q(t),class:`controls__btn`},null,8,[`player`]))])])],64))],512),k(`button`,{type:`button`,class:`controls__close`,"aria-label":`Close player controls`,onClick:f[7]||=e=>q(n).closeControls(!0)},`Close player controls`)],34))}}),[[`__scopeId`,`data-v-5712aad4`]]);const Kr={key:0,class:`overlay__spinner`},qr={key:0,class:`overlay__error`},Jr=[`inert`];var Yr=Q(M({__name:`PlayerOverlay`,setup(e){let t=Z(Et),n=Z(Dt),{hudVisible:r,popupVisible:i}=At(t,n);return(e,a)=>(B(),O(C,null,[j(w,{name:`fade`},{default:Y(()=>[!q(t).isReady&&!q(t).isError?(B(),O(`div`,Kr,[j(Qn,{size:40,"border-width":3})])):D(`v-if`,!0)]),_:1}),j(w,{name:`fade`},{default:Y(()=>[q(t).isError?(B(),O(`div`,qr,[k(`p`,null,G(q(t).errorMessage||`This video could not be played.`),1),k(`button`,{class:`overlay__retry`,onClick:a[0]||=X((...e)=>q(t).retry&&q(t).retry(...e),[`stop`])},`Retry`)])):D(`v-if`,!0)]),_:1}),k(`button`,{type:`button`,class:`overlay__reveal`,"aria-label":`Show player controls`,onClick:a[1]||=e=>q(n).openControls()},`Show player controls`),k(`div`,{class:I([`overlay__hud`,{"overlay__hud--visible":q(r)}]),inert:!q(r)},[j(sr)],10,Jr),j(w,{name:`popup`},{default:Y(()=>[q(i)?(B(),O(`div`,{key:0,class:I([`overlay__popup`,{"overlay__popup--fs":q(t).isFullscreen}])},[j(Gr)],2)):D(`v-if`,!0)]),_:1})],64))}}),[[`__scopeId`,`data-v-2fba5782`]]);const Xr={class:`ad-overlay`},Zr={class:`ad-overlay__bar`},Qr={class:`ad-overlay__badge`},$r={key:0,class:`ad-overlay__countdown`},ei=[`aria-label`],ti=[`aria-label`];var ni=Q(M({__name:`AdOverlay`,setup(e){let t=Z(Et),n=T(()=>t.adRemainingTime>0?t.fmt(t.adRemainingTime):``);return(e,r)=>(B(),O(`div`,Xr,[k(`div`,Zr,[k(`div`,Qr,[r[2]||=k(`span`,null,`Ad`,-1),n.value?(B(),O(`span`,$r,G(n.value),1)):D(`v-if`,!0)]),k(`button`,{class:`ad-overlay__btn`,"aria-label":q(t).isAdPaused?`Resume ad`:`Pause ad`,onClick:r[0]||=e=>q(t).togglePlay()},[q(t).isAdPaused?(B(),E(q(On),{key:0})):(B(),E(q(bn),{key:1}))],8,ei),k(`button`,{class:`ad-overlay__btn`,"aria-label":q(t).isAdMuted?`Unmute ad`:`Mute ad`,onClick:r[1]||=e=>q(t).toggleAdMute()},[q(t).isAdMuted?(B(),E(q(Wn),{key:0})):(B(),E(q(Jn),{key:1}))],8,ti)])]))}}),[[`__scopeId`,`data-v-23efcc8b`]]);const ri=U(0),ii=T(()=>ri.value>0),ai=U(!1);function oi(){ri.value++}function si(){ri.value--}function ci(e,t,n){let r=U(!1),i=T(()=>r.value&&ai.value),a=null;function o(){if(a?.(),a=null,!n.value||!e.value){r.value=!1;return}a=Be(e.value,e=>{e.intersectionRatio<.1?t.value&&(r.value=!0):r.value=!1})}return z(o),J(n,o),J(e,o),R(()=>a?.()),{isPinned:r,isTucked:i,unpin:()=>r.value=!1}}function li(e,t,n){let r=U(null),i=U(null);J(n,n=>{let i=e.value?.offsetWidth??null;r.value=n&&t.value&&i?{height:t.value.offsetHeight,wrapperWidth:i}:null});let a=T(()=>{if(!r.value)return{};let{height:e,wrapperWidth:t}=r.value,n=i.value?i.value/t:1;return{height:`${Math.round(e*n)}px`}}),o=null;return J(e,e=>{o?.disconnect(),o=null,e&&(o=new ResizeObserver(([e])=>i.value=e.contentRect.width),o.observe(e))},{immediate:!0}),R(()=>o?.disconnect()),{wrapperStyle:a,clear:()=>r.value=null}}function ui(e){e?.scrollIntoView({behavior:`smooth`,block:`center`})}var di=Q(M({__name:`PinnablePlayerShell`,props:{isPlaying:{type:Boolean,required:!0}},setup(e){let t=e,n=U(null),r=U(null),{isPinned:i,unpin:a}=ci(n,K(t,`isPlaying`),U(!0)),o=U(i.value);J(i,e=>{lr(r.value,()=>{o.value=e})});let s=T(()=>o.value&&ai.value),{wrapperStyle:c}=li(n,r,o);function l(){ui(n.value)}function u(e){r.value=e}return(e,t)=>(B(),O(`div`,{ref_key:`wrapperEl`,ref:n,class:`player-wrapper`,style:L(q(c))},[W(e.$slots,`default`,{isPinned:o.value,isTucked:s.value,setBoxEl:u,unpin:q(a),scrollToPlayer:l},void 0,!0)],4))}}),[[`__scopeId`,`data-v-a2f8a547`]]);const fi={class:`player-wrapper`};var pi=Q(M({__name:`PlainPlayerShell`,props:{isPlaying:{type:Boolean,required:!0}},setup(e){function t(){}return(e,n)=>(B(),O(`div`,fi,[W(e.$slots,`default`,{isPinned:!1,isTucked:!1,setBoxEl:t,unpin:t,scrollToPlayer:t},void 0,!0)]))}}),[[`__scopeId`,`data-v-9188c23a`]]),mi=Q(M({__name:`PinnedControls`,emits:[`scroll-to`,`dismiss`],setup(e){return(e,t)=>(B(),O(C,null,[k(`button`,{class:`pinned-controls__scroll-to`,"aria-label":`Scroll to player`,onClick:t[0]||=X(t=>e.$emit(`scroll-to`),[`stop`])},[j(q($t))]),k(`button`,{class:`pinned-controls__dismiss`,"aria-label":`Close`,onClick:t[1]||=X(t=>e.$emit(`dismiss`),[`stop`])},[j(q(Gt))])],64))}}),[[`__scopeId`,`data-v-690b416a`]]);function hi(e){let[t,n]=e.split(`:`).map(Number);return{isPortrait:n>t,cssRatio:`${t}/${n}`}}const gi=[`aria-label`,`tabindex`],_i={"data-mlv-player":``},vi=[`poster`,`preload`],yi=[`src`,`kind`,`srclang`,`label`,`default`],bi={key:3,class:`player__native-play`};var xi=Q(M({__name:`VideoPlayer`,props:{src:{type:String,required:!0},title:{type:String,required:!1,default:``},poster:{type:String,required:!1,default:``},aspectRatio:{type:String,required:!1,default:u},adTagUrl:{type:String,required:!1,default:``},adMacroParams:{type:Object,required:!1},headerBidding:{type:Object,required:!1},tracks:{type:Array,required:!1,default:()=>[]},autoplay:{type:Boolean,required:!1,default:!1},muted:{type:Boolean,required:!1,default:void 0},volume:{type:Number,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1,default:!1},autoStage:{type:Boolean,required:!1,default:!1},lazy:{type:Boolean,required:!1,default:!1},payload:{type:[Object,String],required:!1,default:()=>({})},action:{type:[String,Object,null],required:!1,default:null},disableTapCapture:{type:Boolean,required:!1,default:!1},disableKeyboardShortcuts:{type:Boolean,required:!1,default:!1},controls:{type:Boolean,required:!1,default:!0},playInView:{type:Boolean,required:!1,default:!1},pin:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!1},preload:{type:String,required:!1,default:void 0},hasPlaylist:{type:Boolean,required:!1,default:!1},hasNext:{type:Boolean,required:!1,default:!1},hasPrevious:{type:Boolean,required:!1,default:!1},autoAdvance:{type:Boolean,required:!1,default:!1}},emits:[`state-change`,`play-next`,`play-previous`,`toggle-auto-advance`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=U(null),o=H(yt(a,r,i)),s=H(St(K(o,`isPlaying`),K(o,`isFullscreen`))),{onKeydown:c}=xt(o,s);function l(e){r.disableKeyboardShortcuts||c(e)}let u=U(null);J(()=>o.isFullscreen,e=>{e&&!r.disableKeyboardShortcuts&&ne(()=>u.value?.focus())});function d(e){if(r.disableKeyboardShortcuts)return;let t=e.relatedTarget;t&&u.value?.contains(t)||requestAnimationFrame(()=>{document.activeElement===document.body&&u.value?.focus()})}V(Et,o),V(Dt,s),V(Ot,K(r,`action`)),V(kt,H({hasPlaylist:T(()=>r.hasPlaylist),hasNext:T(()=>r.hasNext),hasPrevious:T(()=>r.hasPrevious),autoAdvance:T(()=>r.autoAdvance),playNext:()=>i(`play-next`),playPrevious:()=>i(`play-previous`),toggleAutoAdvance:()=>i(`toggle-auto-advance`)}));let f=T(()=>hi(r.aspectRatio)),p=T(()=>f.value.isPortrait),m=T(()=>f.value.cssRatio),h=T(()=>!r.poster&&!o.isReady),g=T(()=>r.pin?di:pi);function _(e){o.isPlaying&&o.togglePlay(),e()}function v(){s.onVideoTap(),o.fire(`tap`)}let{playerRef:y,forwarded:b}=Tt();return y.value=o,t(b),(t,n)=>(B(),E(ae(g.value),{"is-playing":o.isPlaying},{default:Y(({isPinned:t,isTucked:i,setBoxEl:c,unpin:f,scrollToPlayer:g})=>[k(`div`,{ref:c,class:I([`player`,{"player--pinned":t,"player--tucked":i,[`player--pin-${e.pin}`]:t}])},[t?(B(),E(mi,{key:0,onScrollTo:g,onDismiss:e=>_(f)},null,8,[`onScrollTo`,`onDismiss`])):D(`v-if`,!0),k(`div`,{ref_key:`shellEl`,ref:u,class:I([`player__shell`,{"player__shell--portrait":p.value}]),style:L({aspectRatio:m.value}),role:`group`,"aria-label":e.title||`Video player`,tabindex:e.disableKeyboardShortcuts?void 0:0,onMousemove:n[0]||=e=>s.onMouseMove(),onContextmenuCapture:n[1]||=X(()=>{},[`prevent`]),onMouseleave:n[2]||=e=>s.onMouseLeave(),onKeydown:l,onFocusout:d},[k(`div`,_i,[k(`video`,{ref_key:`videoEl`,ref:a,class:I([`mlv-video`,{"mlv-video--hidden":h.value}]),poster:r.poster,preload:r.preload,playsinline:``},[(B(!0),O(C,null,ie(r.tracks,(e,t)=>(B(),O(`track`,{key:`${e.src}-${t}`,src:e.src,kind:e.kind??`captions`,srclang:e.srclang,label:e.label,default:e.default},null,8,yi))),128))],10,vi),!r.disableTapCapture&&!o.isNativeUi&&o.hasStarted&&!o.isAdPlaying?(B(),O(`div`,{key:0,class:`overlay__tap-capture`,onClick:v,onTouchend:X(v,[`prevent`,`stop`])},null,32)):D(`v-if`,!0),o.isAdPlaying&&!o.isNativeUi?(B(),E(ni,{key:1})):D(`v-if`,!0),r.controls&&!o.isNativeUi?(B(),E(Yr,{key:2})):D(`v-if`,!0),r.controls&&o.isNativeUi&&!o.hasStarted?(B(),O(`div`,bi,[j(Zn,{player:o,class:`ppbtn ppbtn--lg`},null,8,[`player`])])):D(`v-if`,!0)])],46,gi)],2)]),_:1},8,[`is-playing`]))}}),[[`__scopeId`,`data-v-4ab3cf75`]]);function Si(e,t){window.dispatchEvent(new CustomEvent(e,{detail:t}))}function Ci(e,t){let n=e=>t(e.detail);z(()=>window.addEventListener(e,n)),R(()=>window.removeEventListener(e,n))}function wi(e,t){let n=T(()=>!e.value||!t.value?-1:e.value.findIndex(e=>e.src===t.value?.src)),r=T(()=>n.value===-1||!e.value?null:e.value[n.value+1]??null),i=T(()=>n.value<=0||!e.value?null:e.value[n.value-1]??null);return{hasNext:T(()=>r.value!==null),hasPrevious:T(()=>i.value!==null),nextEntry:r,previousEntry:i}}function Ti(){return localStorage.getItem(r)===`true`}function Ei(e){localStorage.setItem(r,String(e))}const Di=[`src`],Oi={class:`stage__idle-body`},ki={class:`stage__idle-btn`},Ai={class:`stage__idle-title`},ji={key:1,class:`stage__idle-empty`};var Mi=Q(M({__name:`VideoStage`,props:{pin:{type:String,required:!1,default:`bottom-right`},playlist:{type:Array,required:!1}},emits:[`state-change`],setup(t,{expose:n,emit:r}){let i=t,a=r,o=U(Ti());J(o,Ei);let s=T(()=>!!i.playlist?.length),c=U(null),l=U(!1),u=U(!1);function p(e){a(`state-change`,{type:e,currentTime:0,duration:0,src:c.value?.src??``})}J(l,e=>p(e?`stageopen`:`stageclose`));let{playerRef:m,forwarded:h}=Tt(()=>l.value),g=U(null),_=U(null),v=U(!1),{hasNext:y,hasPrevious:b,nextEntry:ee,previousEntry:x}=wi(K(i,`playlist`),c),S=T(()=>v.value&&!!c.value&&l.value),w=T(()=>S.value&&ai.value),A=T(()=>hi(c.value?.aspectRatio||`16:9`).cssRatio),{wrapperStyle:te,clear:M}=li(g,_,S),N=null;function P(){N?.disconnect(),g.value&&(N=new IntersectionObserver(([e])=>{let t=!e.isIntersecting;if(!c.value||!l.value){v.value=t;return}lr(_.value,()=>{v.value=t})},{threshold:.98}),N.observe(g.value))}J(g,P);function ne(){c.value&&(c.value={...c.value,autoplay:!0,muted:ct(c.value.muted)},l.value=!0)}function re(){ne()}function V(){ui(g.value)}function H(){c.value=null,l.value=!1,u.value=!1,M(),ie()}function ie(){Si(e,{currentSrc:c.value?.src??null,isPlaying:u.value})}function W(e){if(c.value?.src===e.src&&l.value){e.fromGesture&&m.value?.togglePlay();return}c.value=e,l.value=!1,u.value=!1,ie(),l.value=!0}function ae(e){if(c.value&&e.src===c.value.src){if(!l.value){ne();return}m.value?.togglePlay()}}function oe(e,t){e&&W({...e,fromGesture:t,autoplay:!0,muted:e.muted??m.value?.isMuted??ct(void 0,t),volume:e.volume??m.value?.vol})}function Y(e=!0){oe(ee.value,e)}function X(e=!0){oe(x.value,e)}function se(e){e.type===`play`&&(u.value=!0),(e.type===`pause`||e.type===`ended`)&&(u.value=!1),e.type===`ended`&&o.value&&Y(!1),ie(),a(`state-change`,e)}return Ci(f,W),Ci(d,ae),z(oi),R(()=>{si(),N?.disconnect()}),n({playNext:Y,playPrevious:X,hasNext:y,hasPrevious:b,...h}),(e,n)=>(B(),O(`div`,{ref_key:`wrapperEl`,ref:g,class:`stage-wrapper`,style:L(q(te))},[k(`div`,{ref_key:`stageEl`,ref:_,class:I([`stage`,{"stage--minified":S.value,"stage--tucked":w.value,[`stage--pin-${t.pin}`]:S.value}])},[S.value?(B(),E(mi,{key:0,onScrollTo:V,onDismiss:H})):D(`v-if`,!0),c.value&&l.value?(B(),E(xi,F({ref_key:`playerRef`,ref:m,key:c.value.src},c.value,{"has-playlist":s.value,"has-next":q(y),"has-previous":q(b),"auto-advance":o.value,onStateChange:se,onPlayNext:Y,onPlayPrevious:X,onToggleAutoAdvance:n[0]||=e=>o.value=!o.value}),null,16,[`has-playlist`,`has-next`,`has-previous`,`auto-advance`])):(B(),O(`div`,{key:2,class:`stage__idle`,style:L({aspectRatio:A.value}),onClick:re},[c.value?.poster?(B(),O(`img`,{key:0,src:c.value.poster,class:`stage__idle-poster`},null,8,Di)):D(`v-if`,!0),n[1]||=k(`div`,{class:`stage__idle-scrim`},null,-1),k(`div`,Oi,[c.value?(B(),O(C,{key:0},[k(`div`,ki,[j(q(On))]),k(`p`,Ai,G(c.value.title),1)],64)):(B(),O(`p`,ji,`Select a video to play`))])],4))],2)],4))}}),[[`__scopeId`,`data-v-fb8c86cf`]]),Ni=M({__name:`PlayPauseIcon`,props:{isPlaying:{type:Boolean,required:!0},hasEnded:{type:Boolean,required:!1,default:!1}},setup(e){return(t,n)=>e.isPlaying?(B(),E(q(bn),{key:0})):e.hasEnded?(B(),E(q(In),{key:1})):(B(),E(q(On),{key:2}))}});const Pi={class:`placeholder`},Fi=[`src`,`alt`],Ii={class:`placeholder__btn-wrap`},Li=[`aria-label`],Ri={key:1,class:`placeholder__footer`},zi={class:`placeholder__title`};var Bi=Q(M({__name:`VideoPlaceholder`,props:{fromGesture:{type:Boolean,required:!1},src:{type:String,required:!0},title:{type:String,required:!1,default:``},poster:{type:String,required:!1,default:``},aspectRatio:{type:String,required:!1,default:u},adTagUrl:{type:String,required:!1,default:``},adMacroParams:{type:Object,required:!1},headerBidding:{type:Object,required:!1},tracks:{type:Array,required:!1},autoplay:{type:Boolean,required:!1,default:!1},muted:{type:Boolean,required:!1,default:void 0},volume:{type:Number,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1,default:!1},autoStage:{type:Boolean,required:!1,default:!1},lazy:{type:Boolean,required:!1},payload:{type:[Object,String],required:!1,default:()=>({})},action:{type:[String,Object,null],required:!1,default:null},disableTapCapture:{type:Boolean,required:!1},disableKeyboardShortcuts:{type:Boolean,required:!1},controls:{type:Boolean,required:!1},playInView:{type:Boolean,required:!1},pin:{type:String,required:!1},loop:{type:Boolean,required:!1},preload:{type:String,required:!1}},emits:[`enter-view`],setup(t,{emit:n}){let r=t,i=n,a=T(()=>hi(r.aspectRatio)),o=T(()=>a.value.isPortrait),s=T(()=>a.value.cssRatio),c=U(null),l=null,u=U(!1),d=U(!1),p=T(()=>u.value&&d.value?`Pause`:`Play`);Ci(e,e=>{u.value=e.currentSrc===r.src,d.value=u.value&&e.isPlaying});function m(e,t,n){Si(f,{...r,fromGesture:e,...t!==void 0&&{autoplay:t},...n!==void 0&&{muted:n}})}function h(){m(!0,!0,ct(r.muted))}return z(()=>{r.autoStage&&m(!1),r.playInView&&c.value&&(l=Ue(c.value,()=>i(`enter-view`)))}),R(()=>l?.()),(e,n)=>(B(),O(`div`,Pi,[k(`div`,{ref_key:`shellEl`,ref:c,class:I([`placeholder__shell`,{"placeholder__shell--portrait":o.value,"placeholder__shell--active":u.value}]),style:L({aspectRatio:s.value}),onClick:h},[t.poster?(B(),O(`img`,{key:0,class:`placeholder__poster`,src:t.poster,alt:t.title},null,8,Fi)):D(`v-if`,!0),n[0]||=k(`div`,{class:`placeholder__scrim`},null,-1),k(`div`,Ii,[k(`button`,{type:`button`,class:`ppbtn ppbtn--lg`,"aria-label":p.value,onClick:X(h,[`stop`])},[j(Ni,{"is-playing":u.value&&d.value},null,8,[`is-playing`])],8,Li)]),t.title?(B(),O(`div`,Ri,[k(`p`,zi,G(t.title),1)])):D(`v-if`,!0)],6)]))}}),[[`__scopeId`,`data-v-dbcb4f82`]]),Vi=M({__name:`VideoCard`,props:{fromGesture:{type:Boolean,required:!1},src:{type:String,required:!0},title:{type:String,required:!1},poster:{type:String,required:!1},aspectRatio:{type:String,required:!1},adTagUrl:{type:String,required:!1},adMacroParams:{type:Object,required:!1},headerBidding:{type:Object,required:!1},tracks:{type:Array,required:!1},autoplay:{type:Boolean,required:!1},muted:{type:Boolean,required:!1,default:void 0},volume:{type:Number,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1},autoStage:{type:Boolean,required:!1},lazy:{type:Boolean,required:!1,default:!0},payload:{type:[Object,String],required:!1},action:{type:[String,Object,null],required:!1,default:null},disableTapCapture:{type:Boolean,required:!1},disableKeyboardShortcuts:{type:Boolean,required:!1},controls:{type:Boolean,required:!1,default:void 0},playInView:{type:Boolean,required:!1},pin:{type:String,required:!1},loop:{type:Boolean,required:!1},preload:{type:String,required:!1}},emits:[`state-change`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=U(!1),o=U(!1);function s(){o.value=!0,a.value=!0}async function c(){a.value||(a.value=!0,await ne())}let{playerRef:l,forwarded:u}=Tt(async e=>ii.value?(e===`togglePlay`&&Si(f,{...r,fromGesture:!0,autoplay:!0,muted:ct(r.muted)}),!1):(await c(),!0));return t(u),(e,t)=>q(ii)?(B(),E(Bi,re(F({key:0},r)),null,16)):(B(),O(C,{key:1},[r.lazy&&!a.value&&!r.autoplay?(B(),E(Bi,F({key:0},r,{onClickCapture:s,onEnterView:t[0]||=e=>a.value=!0}),null,16)):(B(),E(xi,F({key:1,ref_key:`playerRef`,ref:l},r,{autoplay:a.value||r.autoplay,muted:q(ct)(r.muted,o.value),onStateChange:t[1]||=e=>i(`state-change`,e)}),null,16,[`autoplay`,`muted`]))],64))}}),Hi=Q(M({__name:`HideMarker`,setup(e){let t=U(null),n=null;return z(()=>{t.value&&(n=new IntersectionObserver(([e])=>{ai.value=e.isIntersecting}),n.observe(t.value))}),R(()=>{n?.disconnect(),ai.value=!1}),(e,n)=>(B(),O(`div`,{ref_key:`el`,ref:t,class:`mlv-hide-marker`},null,512))}}),[[`__scopeId`,`data-v-bacb702a`]]);const Ui=N(xi,{shadowRoot:!1}),Wi=N(Mi,{shadowRoot:!1}),Gi=N(Bi,{shadowRoot:!1}),Ki=N(Vi,{shadowRoot:!1}),qi=N(Hi,{shadowRoot:!1}),Ji=[[`ml-video-player`,Ui],[`ml-video-stage`,Wi],[`ml-video-placeholder`,Gi],[`ml-video-card`,Ki],[`ml-hide-marker`,qi]];function Yi(){for(let[e,t]of Ji)customElements.get(e)||customElements.define(e,t)}typeof import.meta.url==`string`&&new URL(import.meta.url).searchParams.has(`defer`)||Yi();export{qi as HideMarkerElement,Ki as VideoCardElement,Gi as VideoPlaceholderElement,Ui as VideoPlayerElement,Wi as VideoStageElement,Yi as defineElements,fe as registerEmbedAdapter,ce as registerMatcher,ye as registerPlatform,ge as registerSourceResolver};
|
|
1
|
+
import{A as e,C as t,D as n,E as r,S as i,T as a,a as o,d as s,g as c,h as l,i as u,k as d,o as f,r as p,s as m,u as h,x as g}from"./chunks/constants-35ZnLsDv.mjs";import{n as _,r as v,t as y}from"./chunks/platform-Dg9JBh8M.mjs";import{o as b,s as ee,u as x}from"./chunks/embedShared-CbArTtuR.mjs";import{Fragment as S,Transition as C,computed as w,createBlock as T,createCommentVNode as E,createElementBlock as D,createElementVNode as O,createStaticVNode as k,createTextVNode as A,createVNode as j,defineComponent as M,defineCustomElement as N,inject as P,mergeProps as F,nextTick as te,normalizeClass as I,normalizeProps as ne,normalizeStyle as L,onBeforeUnmount as R,onMounted as z,openBlock as B,provide as re,reactive as ie,ref as V,renderList as ae,renderSlot as H,resolveDynamicComponent as oe,shallowRef as se,toDisplayString as U,toRef as W,unref as G,watch as K,withCtx as ce,withModifiers as q}from"vue";const le=[];function ue(e){le.push(e)}function de(e){if(!e)return{key:`html5`,embed:!1};let t=le.find(t=>t.test(e));return{key:t?.key??`html5`,embed:t?.embed??!1}}const fe={},pe={};function me(e,t){fe[e]=t}async function he(e,t,n){let r=fe[e];if(!r){let t=pe[e];if(!t)return null;r=await t(),fe[e]=r}return r(t,n)}const ge={},_e={};function ve(e,t){ge[e]=t}function ye(e){if(/\.m3u8(\?|#|$)/.test(e))return f;if(/\.mpd(\?|#|$)/.test(e))return p;if(/\.mp4(\?|#|$)/.test(e))return s}async function be(e,t){let n=ge[e];if(!n){let t=_e[e];t&&(n=await t(),ge[e]=n)}return n?n(t):{src:t,type:ye(t)}}function xe(e){ue({test:e.test,key:e.key,embed:e.embed}),e.embed?me(e.key,e.createAdapter):e.resolveSource&&ve(e.key,e.resolveSource)}function Se(e){ue({key:e.key,test:e.test,embed:e.embed}),e.embed?pe[e.key]=e.loadAdapter:_e[e.key]=e.loadResolver}Se({key:`youtube`,test:e=>/youtu\.be|youtube\.com/.test(e),embed:!0,loadAdapter:()=>import(`./chunks/youtube-B8AT2F-4.mjs`).then(e=>e.createYoutubeAdapter)}),Se({key:`vimeo`,test:e=>/vimeo\.com|player\.vimeo\.com/.test(e),embed:!0,loadAdapter:()=>import(`./chunks/vimeo-D0GAjId0.mjs`).then(e=>e.createVimeoAdapter)}),Se({key:`dailymotion`,test:e=>/dailymotion\.com|dai\.ly/.test(e),embed:!0,loadAdapter:()=>import(`./chunks/dailymotion-DTooszoV.mjs`).then(e=>e.createDailymotionAdapter)}),Se({key:`jwplayer`,test:e=>/cdn\.jwplayer\.com/.test(e)||e.startsWith(`jwplayer://`),embed:!1,loadResolver:()=>import(`./chunks/jwplayer-Dhq65VxK.mjs`).then(e=>e.resolveSource)}),Se({key:`brightcove`,test:e=>/players\.brightcove\.net/.test(e),embed:!1,loadResolver:()=>import(`./chunks/brightcove-DiJF_74z.mjs`).then(e=>e.resolveSource)});const Ce=new Set;function we(e){return Ce.add(e),()=>Ce.delete(e)}function Te(e){Ce.forEach(t=>{if(t!==e)try{t()}catch{}})}function Ee(e){return e.kind===`captions`||e.kind===`subtitles`}function De(e,t){e.textTracks.addEventListener(`addtrack`,t),e.textTracks.addEventListener(`removetrack`,t);function n(){let t=[];for(let n=0;n<e.textTracks.length;n++){let r=e.textTracks[n];Ee(r)&&t.push({index:n,label:r.label||r.language||`Track ${n+1}`,language:r.language})}return t}function r(t){for(let n=0;n<e.textTracks.length;n++){let r=e.textTracks[n];Ee(r)&&(r.mode=n===t?`showing`:`hidden`)}}function i(){for(let t=0;t<e.textTracks.length;t++){let n=e.textTracks[t];if(Ee(n)&&n.mode===`showing`)return t}return null}return{supportsCaptions:()=>n().length>0,getCaptionTracks:n,setCaptionTrack:r,getActiveCaptionTrack:i,dispose:()=>{e.textTracks.removeEventListener(`addtrack`,t),e.textTracks.removeEventListener(`removetrack`,t)}}}function Oe(e){let t=new Map;for(let n of e){if(!n.height)continue;let e=t.get(n.height);(!e||n.bitrate>e.bitrate)&&t.set(n.height,n)}return[...t.values()].sort((e,t)=>e.height-t.height)}function ke(e){function t(){return Oe(e()?.levels()??[])}function n(){return e()?.isAuto()??!0}function r(){let t=e();return t?n()?null:t.currentIndex():null}function i(t){e()?.setIndex(t)}return{supportsQuality:()=>t().length>0,getQualityLevels:t,getCurrentQuality:r,isAutoQuality:n,setQuality:i}}function Ae(e,t,n){let r=[[`webkitbeginfullscreen`,t],[`webkitendfullscreen`,n]];for(let[t,n]of r)e.addEventListener(t,n);function i(){let t=e;if(typeof t.webkitEnterFullscreen==`function`){t.webkitEnterFullscreen();return}let n=b(e);n&&v(n)}function a(){let t=e;if(typeof t.webkitExitFullscreen==`function`){t.webkitExitFullscreen();return}y()}return{enterFullscreen:i,exitFullscreen:a,dispose:()=>{for(let[t,n]of r)e.removeEventListener(t,n)}}}function je(e,t){let n=[[`enterpictureinpicture`,t],[`leavepictureinpicture`,t]];for(let[t,r]of n)e.addEventListener(t,r);function r(){return typeof document<`u`&&!!document.pictureInPictureEnabled&&!e.disablePictureInPicture}function i(){return document.pictureInPictureElement===e}function a(){i()?document.exitPictureInPicture():r()&&e.requestPictureInPicture()}return{supportsPip:r,isPipActive:i,togglePip:a,dispose:()=>{for(let[t,r]of n)e.removeEventListener(t,r)}}}const Me=[`play`,`pause`,`ended`,`error`,`timeupdate`,`durationchange`,`progress`,`volumechange`,`ratechange`,`seeked`,`waiting`,`playing`,`canplay`];function Ne(e){return{levels:()=>e.levels.map((e,t)=>({index:t,height:e.height,bitrate:e.bitrate,label:`${e.height}p`})),isAuto:()=>e.autoLevelEnabled,currentIndex:()=>e.manualLevel,setIndex:t=>{e.currentLevel=t??-1}}}function Pe(e){return{levels:()=>e.getBitrateInfoListFor(`video`).map(e=>({index:e.qualityIndex,height:e.height,bitrate:e.bitrate,label:`${e.height}p`})),isAuto:()=>e.getSettings().streaming?.abr?.autoSwitchBitrate?.video??!0,currentIndex:()=>e.getQualityFor(`video`),setIndex:t=>{if(t===null){e.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:!0}}}});return}e.updateSettings({streaming:{abr:{autoSwitchBitrate:{video:!1}}}}),e.setQualityFor(`video`,t,!0)}}}function Fe(e,t){let n=x(),r=null,i=null,a=!1,o=null,s=null,c=t.preload===`none`&&!t.autoplay,l=!1;async function u(i){let{default:s}=await import(`hls.js`);if(a||o!==i)return;if(typeof s?.isSupported!=`function`||!s.isSupported()){e.src=i,t.autoplay&&e.play().catch(()=>{});return}r=new s({liveDurationInfinity:!0,autoStartLoad:!c}),l=!c,r.loadSource(i),r.attachMedia(e),t.autoplay&&e.play().catch(()=>{});let u=s.Events,d=s.ErrorTypes;r.on(u.MANIFEST_PARSED,m(`qualitychange`)),r.on(u.LEVEL_SWITCHED,m(`qualitychange`)),r.on(u.ERROR,(e,t)=>{if(t.fatal&&!a&&o===i)switch(t.type){case d.NETWORK_ERROR:r?.startLoad();break;case d.MEDIA_ERROR:r?.recoverMediaError();break;default:r?.destroy(),r=null,n.trigger(`error`)}})}async function d(r){let o=await import(`dashjs`);if(a||s!==r)return;let c=o.MediaPlayer().create();i=c,c.initialize(e,r,t.autoplay??!1);let l=o.MediaPlayer.events;c.on(l.QUALITY_CHANGE_RENDERED,m(`qualitychange`)),c.on(l.STREAM_INITIALIZED,m(`qualitychange`)),c.on(l.ERROR,()=>{a||s!==r||(c.destroy(),i=null,n.trigger(`error`))})}function f(){return/Apple/.test(navigator.vendor)&&!/CriOS|FxiOS|OPiOS|EdgiOS|Chrome|Chromium|Android/.test(navigator.userAgent)&&(e.canPlayType(`application/vnd.apple.mpegurl`)!==``||e.canPlayType(`application/x-mpegURL`)!==``)}function p(n,a){if(r?.destroy(),r=null,o=null,i?.destroy(),i=null,s=null,a===`application/dash+xml`){s=n,d(n);return}if(a===`application/x-mpegURL`&&!f()){o=n,u(n);return}e.src=n,t.autoplay&&e.play().catch(()=>{})}let m=e=>()=>n.trigger(e),h=Me.map(e=>[e,m(e)]);for(let[t,n]of h)e.addEventListener(t,n);let g=De(e,m(`captionschange`)),_=ke(()=>r?Ne(r):i?Pe(i):null),v=Ae(e,m(`nativefullscreenenter`),m(`nativefullscreenexit`)),y=je(e,m(`pipchange`)),{poster:b,muted:ee,autoplay:S,volume:C,playbackRate:w,preload:T,src:E,type:D}=t;return e.poster=b??``,T&&(e.preload=T),e.muted=ee??S??!1,e.volume=C??1,e.playbackRate=w??1,e.playsInline=!0,p(E,D),{el:e,play:()=>(r&&!l&&(l=!0,r.startLoad()),e.play()),pause:()=>e.pause(),paused:()=>e.paused,currentTime:()=>e.currentTime,setCurrentTime:t=>{e.currentTime=t},duration:()=>e.duration,volume:()=>e.volume,setVolume:t=>{e.volume=t},muted:()=>e.muted,setMuted:t=>{e.muted=t},playbackRate:()=>e.playbackRate,setPlaybackRate:t=>{e.playbackRate=t},bufferedEnd:()=>{let{buffered:t,duration:n}=e;if(!t.length)return 0;let r=t.end(t.length-1);return n&&r>n?n:r},error:()=>{let t=e.error;return t?{code:t.code,message:t.message||`This video could not be played.`}:null},setSrc:p,supportsPlaybackRate:()=>!0,supportsCaptions:g.supportsCaptions,getCaptionTracks:g.getCaptionTracks,setCaptionTrack:g.setCaptionTrack,getActiveCaptionTrack:g.getActiveCaptionTrack,supportsQuality:_.supportsQuality,getQualityLevels:_.getQualityLevels,getCurrentQuality:_.getCurrentQuality,isAutoQuality:_.isAutoQuality,setQuality:_.setQuality,supportsPip:y.supportsPip,isPipActive:y.isPipActive,togglePip:y.togglePip,enterFullscreen:v.enterFullscreen,exitFullscreen:v.exitFullscreen,on:n.on,off:n.off,dispose:()=>{a=!0,r?.destroy(),i?.destroy();for(let[t,n]of h)e.removeEventListener(t,n);g.dispose(),v.dispose(),y.dispose(),n.dispose()}}}function Ie(e,t){if(!t||!Object.keys(t).length)return e;let n=e;for(let[e,r]of Object.entries(t))r!=null&&r!==``&&(n=n.split(`{${e}}`).join(encodeURIComponent(r)));return n}function Le(){try{let e=localStorage.getItem(a);if(!e)return o;let t=JSON.parse(e);return{muted:typeof t.muted==`boolean`?t.muted:o.muted,volume:typeof t.volume==`number`?t.volume:o.volume}}catch{return o}}function Re(e){localStorage.setItem(a,JSON.stringify(e))}let ze=!1;function Be(){ze=!0}function Ve(){return ze}function He(e){Re(e),e.muted||Be()}function Ue(e,t=!0){if(e!==void 0)return e;if(!t)return;let n=Le().muted;return n||Be(),n}function We(e,t){return e===void 0?t&&!Ve()?!0:Le().muted:e}function Ge(e){return e.volume??Le().volume}async function Ke(e,t,n,r){if(!t.value)return{status:`aborted`};let i=await he(e,t.value,{src:n.src,poster:n.poster,autoplay:n.autoplay,muted:r.muted,volume:r.volume,nativeUi:n.nativeUi});return t.value?i?{status:`mounted`,mounted:{adapter:i,currentSrc:{src:n.src},nativeUi:!!n.nativeUi,needsReveal:!0}}:{status:`unsupported`}:{status:`aborted`}}async function qe(e,t,n,r,i){let a=await be(e,n.src).catch(()=>({src:n.src}));if(!t.value)return{status:`aborted`};let o=Fe(t.value,{src:a.src,type:a.type,poster:a.poster||n.poster||``,autoplay:n.autoplay,...r,preload:n.preload}),s=Ie(n.adTagUrl||a.adTagUrl||``,n.adMacroParams);return i.attach(t.value,o,s,n.headerBidding),{status:`mounted`,mounted:{adapter:o,currentSrc:{src:a.src,type:a.type},needsReveal:!1}}}function Je(e,t,n,r,i){return e.embed?Ke(e.key,t,n,r):qe(e.key,t,n,r,i)}function Ye(e){let t=V(0),n=V(0),r=V(0),i=V(Ge(e)),a=V(We(e.muted,!!(e.autoplay||e.playInView))),o=w(()=>n.value?t.value/n.value*100:0);return{isPlaying:V(!1),hasEnded:V(!1),isReady:V(!1),isLoaded:V(!1),isLive:V(!1),hasStarted:V(!1),isError:V(!1),errorMessage:V(``),current:t,total:n,buffered:r,progress:o,bufferedDisplay:w(()=>Math.max(r.value,o.value)),vol:i,isMuted:a,isAudible:w(()=>!a.value&&i.value>0),isLooping:V(!!e.loop),currentPlaybackRate:V(e.playbackRate??1),supportsPlaybackRate:V(!1),isAdPlaying:V(!1),isAdPaused:V(!1),isAdMuted:V(!1),adRemainingTime:V(0),supportsCaptions:V(!1),captionTracks:V([]),activeCaptionIndex:V(null),supportsQuality:V(!1),qualityLevels:V([]),currentQualityIndex:V(null),isAutoQuality:V(!0),supportsPip:V(!1),isPipActive:V(!1),isNativeUi:V(!1)}}function Xe(e){let t=new Set,n=null;function r(){t.forEach(e=>e())}return i=>(n||=e(r),t.add(i),()=>{t.delete(i),t.size===0&&(n?.(),n=null)})}const Ze=Xe(e=>(document.addEventListener(`fullscreenchange`,e),document.addEventListener(`webkitfullscreenchange`,e),()=>{document.removeEventListener(`fullscreenchange`,e),document.removeEventListener(`webkitfullscreenchange`,e)})),Qe=Xe(e=>(document.addEventListener(`visibilitychange`,e),window.addEventListener(`blur`,e),()=>{document.removeEventListener(`visibilitychange`,e),window.removeEventListener(`blur`,e)}));function $e(e){let t=V(!1),n=V(!1),r=null;function i(){let e=document;t.value=!!(document.fullscreenElement||e.webkitFullscreenElement),n.value=!1}function a(){let r=e();if(r){if(t.value){r.exitFullscreen();return}n.value=!0,r.enterFullscreen()}}function o(e){e.on(l,()=>{n.value=!0}),e.on(c,()=>{n.value=!1}),e.on(`nativefullscreenenter`,()=>{t.value=!0,n.value=!1}),e.on(`nativefullscreenexit`,()=>{t.value=!1,n.value=!1})}return z(()=>{r=Ze(i)}),R(()=>{r?.()}),{isFullscreen:t,isFullscreenPending:n,toggleFullscreen:a,attachPlayerEvents:o}}function et(e){let t=V(!1),n=null;function r(){clearTimeout(n??void 0),t.value&&e(`bufferend`),t.value=!1}function i(i){i.on(`waiting`,()=>{clearTimeout(n??void 0),n=setTimeout(()=>{t.value=!0,e(`bufferstart`)},500)}),i.on(`playing`,r),i.on(`canplay`,r)}return R(()=>clearTimeout(n??void 0)),{isBuffering:t,attachPlayerEvents:i,reset:r}}function tt(e,t,n){let r=new Set;function a(){if(!t.value)return;let a=e.value/t.value;for(let[e,t]of i)!r.has(e)&&a>=e&&(r.add(e),n(t))}function o(){r.clear()}return{checkQuartiles:a,reset:o}}function nt(){try{return JSON.parse(localStorage.getItem(`player:positions`)??`[]`)}catch{return[]}}function rt(e){localStorage.setItem(n,JSON.stringify(e))}function it(e,t){if(t<5)return;let n=nt().filter(t=>t.url!==e);n.unshift({url:e,time:t}),rt(n.slice(0,5))}function at(e){return nt().find(t=>t.url===e)?.time??null}function ot(e){rt(nt().filter(t=>t.url!==e))}function st(e,t,n){let r=!1;function i(t){if(r)return;let n=at(e);n&&t.setCurrentTime(n),r=!0}function a(t){t&&!n.value&&it(e,t.currentTime()??0)}function o(){ot(e)}let s=Qe(()=>{document.visibilityState===`hidden`&&a(t())});return R(()=>{a(t()),s()}),{restoreOnce:i,save:a,clear:o}}const ct=new WeakMap,lt=[.1,.5];function ut(e){let t=ct.get(e);if(t)return t;let n=new Set,r=new IntersectionObserver(([e])=>n.forEach(t=>t(e)),{threshold:lt});r.observe(e);let i={observer:r,callbacks:n};return ct.set(e,i),i}function dt(e,t){let n=ut(e);return n.callbacks.add(t),()=>{n.callbacks.delete(t),n.callbacks.size===0&&(n.observer.disconnect(),ct.delete(e))}}let ft=null,J=null;function pt(e,t){let n=dt(e,n=>{n.intersectionRatio<.5||(J&&clearTimeout(J),ft=e,J=setTimeout(()=>{ft=null,J=null,t()},150))});return()=>{ft===e&&J&&(clearTimeout(J),ft=null,J=null),n()}}function mt(e,t,n,r,i){let a=null;z(()=>{let o=e.value&&b(e.value);o&&(a=dt(o,e=>{let a=t();e.intersectionRatio<.1&&a&&!a.paused()&&!n.value&&!r.value&&!i.value&&a.pause()}))}),R(()=>a?.())}function ht(e,t,n,r,i){let a=null;z(()=>{let o=e.value&&b(e.value);o&&(a=pt(o,()=>{let e=t();e&&e.paused()&&!n.value&&!r.value&&(e.setMuted(We(i,!0)),e.play().catch(()=>{}))}))}),R(()=>a?.())}function gt(e,t,n,r){let{isPlaying:i,isReady:a,hasEnded:o,hasStarted:s,total:c,isLooping:l,currentPlaybackRate:u,activeCaptionIndex:d,currentQualityIndex:f,isAutoQuality:p,errorMessage:m}=e;function h(){if(n.isAdPlaying())return n.resumeAd(),Promise.resolve();let e=t();return e?i.value?Promise.resolve():new Promise((t,n)=>{let r=()=>{e.off(`playing`,i),e.off(`error`,a)},i=()=>{r(),t()},a=()=>{r(),n(Error(m.value||`Playback failed`))};e.on(`playing`,i),e.on(`error`,a),e.play().catch(e=>{r(),n(e)})}):Promise.reject(Error(`Player is not mounted`))}function g(){if(n.isAdPlaying()){n.pauseAd();return}t()?.pause()}function _(){return t()?.setCurrentTime(0),o.value=!1,h()}function v(){if(n.isAdPlaying()){n.isAdPaused()?n.resumeAd():n.pauseAd();return}let e=t();e&&a.value&&(i.value?e.pause():e.play().catch(()=>{}))}function y(e){t()?.setCurrentTime(c.value*(e/100))}function b(e){let n=c.value||1/0;t()?.setCurrentTime(Math.min(Math.max(e,0),n))}function ee(){let e=t();if(!e)return;let n=!e.muted();e.setMuted(n),He({muted:n,volume:e.volume()})}function x(e){let n=t();if(!n)return;let r=e===0;n.setVolume(e),n.setMuted(r),He({muted:r,volume:e})}function S(){l.value=!l.value,s.value&&r(`loopchange`,{isLooping:l.value})}function C(e){let n=t();n&&(n.setPlaybackRate(e),u.value=e)}function w(e){t()?.setCaptionTrack(e),d.value=e,s.value&&r(`captionchange`,{captionIndex:e})}function T(e){t()?.setQuality(e),f.value=e,p.value=e===null,s.value&&r(`qualitychange`,{qualityIndex:e})}function E(){t()?.togglePip()}return{play:h,pause:g,replay:_,togglePlay:v,seek:y,seekTo:b,toggleMute:ee,setVolume:x,toggleLoop:S,setPlaybackRate:C,setCaptionTrack:w,setQuality:T,togglePip:E}}function _t(e,t){let{isPlaying:n,hasEnded:r,isReady:i,isAdPlaying:a,isLive:o,current:s,total:c,buffered:l,vol:u,isMuted:d,isLooping:f,currentPlaybackRate:p,supportsPlaybackRate:m,supportsCaptions:h,captionTracks:g,activeCaptionIndex:_,supportsQuality:v,qualityLevels:y,currentQualityIndex:b,isAutoQuality:ee,supportsPip:x,isPipActive:S,hasStarted:C,isError:w,errorMessage:T}=e,{fire:E,pauseThisPlayer:D,positionMemory:O,quartiles:k,buffering:A,fullscreen:j}=t;function M(e){i.value=!0,m.value=e.supportsPlaybackRate();function t(){g.value=e.getCaptionTracks(),h.value=g.value.length>0;let t=e.getActiveCaptionTrack();t!==_.value&&(_.value=t,C.value&&E(`captionchange`,{captionIndex:t}))}t(),e.on(`captionschange`,t);function M(){y.value=e.getQualityLevels(),v.value=y.value.length>0;let t=e.getCurrentQuality(),n=e.isAutoQuality(),r=t!==b.value||n!==ee.value;b.value=t,ee.value=n,r&&C.value&&E(`qualitychange`,{qualityIndex:n?null:t})}M(),e.on(`qualitychange`,M);function N(){x.value=e.supportsPip();let t=e.isPipActive();t!==S.value&&(S.value=t,C.value&&E(`pipchange`,{isPipActive:t}))}N(),e.on(`pipchange`,N);let P=()=>{if(a.value)return;let t=e.duration();if(t===1/0){o.value=!0;return}o.value=!1,t&&t>0&&isFinite(t)&&(c.value=t)};e.on(`adstart`,()=>{Te(D),a.value=!0,E(`adstart`)}),e.on(`adend`,()=>{a.value=!1,E(`adend`)}),e.on(`play`,()=>{Te(D),C.value=!0,n.value=!0,r.value=!1,o.value||O.restoreOnce(e),E(`play`)}),e.on(`pause`,()=>{n.value=!1,o.value||O.save(e),E(`pause`)}),e.on(`ended`,()=>{if(n.value=!1,k.reset(),A.reset(),f.value){e.setCurrentTime(0),e.play().catch(()=>{});return}c.value&&(s.value=c.value),r.value=!0,O.clear(),E(`ended`)}),e.on(`seeked`,()=>{E(`seeked`)}),e.on(`error`,()=>{let t=e.error();T.value=t?.message||`This video could not be played.`,w.value=!0,i.value=!0,console.error(`Video playback error:`,T.value),E(`error`,{error:t})});let F=0;e.on(`timeupdate`,()=>{if(r.value||a.value)return;s.value=e.currentTime()??0,c.value||P(),m.value||=e.supportsPlaybackRate();let t=e.getActiveCaptionTrack();_.value!==t&&(_.value=t,C.value&&E(`captionchange`,{captionIndex:t})),o.value||k.checkQuartiles();let n=Date.now();C.value&&n-F>=250&&(F=n,E(`timeupdate`))}),e.on(`durationchange`,P),e.on(`progress`,()=>{if(a.value)return;let t=e.duration();l.value=t?e.bufferedEnd()/t*100:0}),e.on(`volumechange`,()=>{let t=e.muted();u.value=e.volume()??1,d.value=t??!1,C.value&&E(`volumechange`,{isMuted:t})}),e.on(`ratechange`,()=>{let t=e.playbackRate()??1;p.value=t,C.value&&E(`ratechange`,{playbackRate:t})}),A.attachPlayerEvents(e),j.attachPlayerEvents(e)}return{attachPlayerEvents:M}}function vt(e,t){let{isAdPlaying:n,isAdPaused:r,isAdMuted:i,adRemainingTime:a}=e,{fire:o,pauseThisPlayer:s}=t,c=null,l=null,u=!1;async function d(e,t,d,f){if(!(d||f)||!e.parentElement)return;let p=!1;t.on(`play`,()=>{c?c.requestAdsOnFirstPlay():p=!0});let m=null;f&&import(`./chunks/prebid-RHDT0DOX.mjs`).then(({resolveHeaderBiddingAdTagUrl:e})=>e(f,d).catch(()=>d)).then(e=>{c?c.setAdTagUrl(e):m=e});function h(){!_()&&t.isPipActive()&&document.exitPictureInPicture()}function g(){!_()&&(document.hidden||!document.hasFocus())&&c?.isAdPlaying()&&c.pauseAd()}let v=Qe(g),y=()=>{t.isPipActive()||g()};t.on(`pipchange`,y),l=()=>{v(),t.off(`pipchange`,y)};let{attachAds:b}=await import(`./chunks/ads-Dph3guS9.mjs`);!u&&e.parentElement&&(c=b(e.parentElement,e,d,{onAdStart:()=>{n.value=!0,r.value=!1,o(`adstart`),h(),g()},onAdEnd:()=>{n.value=!1,r.value=!1,a.value=0,o(`adend`)},onAdPauseChange:e=>{r.value=e,e||Te(s)},onAdMuteChange:e=>{i.value=e},onAdProgress:e=>{a.value=e},onError:e=>{n.value=!1,r.value=!1,a.value=0,console.error(`Ad playback error:`,e)}}),m&&c.setAdTagUrl(m),p&&c.requestAdsOnFirstPlay())}return{attach:d,isAdPlaying:()=>c?.isAdPlaying()??!1,isAdPaused:()=>c?.isAdPaused()??!1,pauseAd:()=>c?.pauseAd(),resumeAd:()=>c?.resumeAd(),toggleAdMute:()=>c?.toggleAdMute(),dispose:()=>{u=!0,c?.dispose(),c=null,l?.(),l=null}}}function yt(e,t,n){let r=null,i=null,a=null,o=!1,s=Ye(t),{isReady:c,isLoaded:l,isLive:u,current:d,total:f,isMuted:p,vol:m,currentPlaybackRate:h,hasEnded:g,hasStarted:_,isError:v,errorMessage:y,isNativeUi:b}=s,x=()=>r,S=w(()=>{if(typeof t.payload!=`string`)return t.payload??{};try{return JSON.parse(t.payload)}catch{return{}}});function C(e,r={}){n(`state-change`,{type:e,currentTime:d.value,duration:f.value,src:t.src,...r,payload:S.value})}let T=$e(x),E=et(C),D=st(t.src,x,g),O=tt(d,f,C),k=vt(s,{fire:C,pauseThisPlayer:()=>A.pause()}),A=gt(s,x,k,C),{attachPlayerEvents:j}=_t(s,{fire:C,pauseThisPlayer:A.pause,positionMemory:D,quartiles:O,buffering:E,fullscreen:T});function M(){r&&a&&(v.value=!1,y.value=``,l.value=!1,f.value=0,r.setSrc(a.src,a.type))}K([f,u],([e,t])=>{l.value||!e&&!t||(l.value=!0,C(`loaded`))}),K(()=>t.loop,e=>{e!==void 0&&e!==s.isLooping.value&&A.toggleLoop()}),K(()=>t.muted,e=>{r&&e!==void 0&&r.setMuted(e)}),K(()=>t.playbackRate,e=>{r&&e!==void 0&&r.setPlaybackRate(e)}),mt(e,x,T.isFullscreen,T.isFullscreenPending,w(()=>!!t.pin)),t.playInView&&ht(e,x,T.isFullscreen,T.isFullscreenPending,t.muted);function N(e){r=e.adapter,a=e.currentSrc,o=e.needsReveal,e.nativeUi!==void 0&&(b.value=e.nativeUi),i=we(A.pause),j(e.adapter)}return K(_,t=>{t&&o&&e.value&&r&&ee(e.value,r.el)}),z(async()=>{let n=await Je(de(t.src),e,t,{muted:p.value,volume:m.value,playbackRate:h.value},k);if(n.status===`unsupported`){v.value=!0,c.value=!0,y.value=`This platform is not yet supported.`;return}n.status===`mounted`&&N(n.mounted)}),R(()=>{i?.(),k.dispose(),r?.dispose(),r=null}),{...s,...A,fire:C,retry:M,isBuffering:E.isBuffering,toggleAdMute:k.toggleAdMute,isFullscreen:T.isFullscreen,isFullscreenPending:T.isFullscreenPending,toggleFullscreen:T.toggleFullscreen}}const bt=new Set([`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`,`Home`,`End`]);function xt(e,t){function n(e,t,n){return Math.min(n,Math.max(t,e))}function r(t){if(!e.total)return;let r=n(e.current+t,0,e.total);e.seek(r/e.total*100)}function i(t){e.setVolume(n(e.vol+t,0,1))}function a(){e.supportsCaptions&&e.setCaptionTrack(e.activeCaptionIndex===null?0:null)}function o(n){if(n.repeat||n.metaKey||n.ctrlKey||n.altKey)return;let o=n.target;if(!o.closest(`input:not([type="range"]), textarea, select, [contenteditable="true"]`)&&!(bt.has(n.key)&&o.closest(`input[type="range"]`))&&(n.key!==` `&&n.key!==`Enter`||!o.closest(`button, a[href]`))){switch(n.key){case` `:case`k`:n.preventDefault(),e.togglePlay();break;case`ArrowLeft`:n.preventDefault(),r(-5);break;case`ArrowRight`:n.preventDefault(),r(5);break;case`ArrowUp`:n.preventDefault(),i(h);break;case`ArrowDown`:n.preventDefault(),i(-h);break;case`m`:e.toggleMute();break;case`f`:e.toggleFullscreen();break;case`c`:a();break;case`Home`:n.preventDefault(),e.seek(0);break;case`End`:n.preventDefault(),e.seek(100);break;default:if(!/^[0-9]$/.test(n.key))return;e.seek(Number(n.key)*10)}t.onMouseMove()}}return{onKeydown:o}}function St(e,t){let n=V(!0),r=V(!1),i=null,a=0;function o(e=400){a=Date.now()+e}function s(e=m){clearTimeout(i??void 0),i=setTimeout(()=>{if(document.activeElement?.closest(`.overlay__hud, .overlay__popup`)){s(e);return}n.value=!1,r.value=!1},e)}function c(){clearTimeout(i??void 0)}function l(){r.value=!0,n.value=!0,s()}function u(i=!1){r.value=!1,(i||t.value)&&(n.value=!1),e.value&&s()}function d(){e.value&&s()}function f(){n.value=!0,e.value&&s()}function p(){n.value=!0,s()}function h(){Date.now()<a||e.value&&s(600)}return K(e,e=>{if(!e){clearTimeout(i??void 0),n.value=!0;return}s()}),R(()=>clearTimeout(i??void 0)),{showHUD:n,isOpen:r,scheduleHide:s,pauseHide:c,onVideoTap:f,onMouseMove:p,onMouseLeave:h,openControls:l,closeControls:u,keepOpen:d,suppressMouseLeave:o}}const Ct=[`retry`,`play`,`pause`,`replay`,`togglePlay`,`seek`,`seekTo`,`toggleMute`,`setVolume`,`toggleFullscreen`,`toggleLoop`,`toggleAdMute`,`setPlaybackRate`,`setCaptionTrack`,`setQuality`,`togglePip`],wt=`isPlaying.hasEnded.isReady.isLoaded.isAdPlaying.isAdPaused.isAdMuted.adRemainingTime.isLive.isBuffering.current.total.vol.isMuted.isAudible.isLooping.currentPlaybackRate.hasStarted.isError.errorMessage.progress.bufferedDisplay.isFullscreen.supportsPlaybackRate.supportsCaptions.captionTracks.activeCaptionIndex.supportsQuality.qualityLevels.currentQualityIndex.isAutoQuality.supportsPip.isPipActive.isNativeUi`.split(`.`);function Tt(e){let t={};for(let n of Ct)t[n]=(...t)=>e[n](...t);for(let n of wt)Object.defineProperty(t,n,{get:()=>e[n],enumerable:!0});return t}const Y=Symbol(`player`),Et=Symbol(`hud`),Dt=Symbol(`action`),Ot=Symbol(`playlist`),kt={hasPlaylist:!1,hasNext:!1,hasPrevious:!1,autoAdvance:!1,playNext:()=>{},playPrevious:()=>{},toggleAutoAdvance:()=>{}};function X(e){let t=P(e);if(t===void 0)throw Error(`[video-player] missing "${String(e.description)}" context — this component must be rendered inside <VideoPlayer>`);return t}function At(e,t){let n=w(()=>e.isReady&&!e.isError);return{hudVisible:w(()=>n.value&&t.showHUD),popupVisible:w(()=>n.value?e.isFullscreen?t.showHUD:t.isOpen:!1)}}function jt(e,t=250){let n=V(!1),r=null;return K(e,e=>{r?.disconnect(),r=null,e&&(r=new ResizeObserver(([e])=>{n.value=e.contentRect.width<t}),r.observe(e))},{immediate:!0}),R(()=>r?.disconnect()),n}const Mt={mute:{label:e=>e.isMuted?`Unmute`:`Mute`,active:e=>e.isMuted,onClick:e=>e.toggleMute()},loop:{label:e=>e.isLooping?`Disable loop`:`Loop`,active:e=>e.isLooping,onClick:e=>e.toggleLoop()},autoplay:{label:(e,t)=>t.autoAdvance?`Disable autoplay next`:`Autoplay next`,active:(e,t)=>t.autoAdvance,onClick:(e,t)=>t.toggleAutoAdvance()}};function Nt(e,t,n){let r=w(()=>e?.value??null),i=w(()=>!!r.value&&typeof r.value==`object`),a=w(()=>i.value?r.value:null),o=w(()=>i.value||!r.value?null:Mt[r.value]),s=w(()=>o.value?.label(t,n)??``),c=w(()=>o.value?.active(t,n)??!1);function l(){o.value?.onClick(t,n)}return{currentAction:r,isCustom:i,customAction:a,builtinLabel:s,builtinActive:c,onBuiltinClick:l}}var Z=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n};const Pt={},Ft={viewBox:`0 0 24 24`,fill:`currentColor`};function It(e,t){return B(),D(`svg`,Ft,[...t[0]||=[O(`path`,{d:`M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z`},null,-1)]])}var Lt=Z(Pt,[[`render`,It]]);const Rt={},zt={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Bt(e,t){return B(),D(`svg`,zt,[...t[0]||=[O(`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`},null,-1),O(`path`,{d:`M9.5 10.5a2 2 0 0 0-3.5 1.3v.4a2 2 0 0 0 3.5 1.3`},null,-1),O(`path`,{d:`M17.5 10.5a2 2 0 0 0-3.5 1.3v.4a2 2 0 0 0 3.5 1.3`},null,-1)]])}var Vt=Z(Rt,[[`render`,Bt]]);const Ht={},Ut={viewBox:`0 0 24 24`,fill:`currentColor`};function Wt(e,t){return B(),D(`svg`,Ut,[...t[0]||=[O(`path`,{d:`M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z`},null,-1)]])}var Gt=Z(Ht,[[`render`,Wt]]);const Kt={},qt={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Jt(e,t){return B(),D(`svg`,qt,[...t[0]||=[k(`<line x1="4" y1="6" x2="20" y2="6"></line><line x1="4" y1="12" x2="20" y2="12"></line><line x1="4" y1="18" x2="20" y2="18"></line><circle cx="9" cy="6" r="2.5" fill="currentColor" stroke="none"></circle><circle cx="15" cy="12" r="2.5" fill="currentColor" stroke="none"></circle><circle cx="9" cy="18" r="2.5" fill="currentColor" stroke="none"></circle>`,6)]])}var Yt=Z(Kt,[[`render`,Jt]]);const Xt={},Zt={viewBox:`0 0 24 24`,fill:`currentColor`};function Qt(e,t){return B(),D(`svg`,Zt,[...t[0]||=[O(`path`,{d:`M4 12l1.41 1.41L11 7.83V20h2V7.83l5.59 5.58L20 12l-8-8-8 8z`},null,-1)]])}var $t=Z(Xt,[[`render`,Qt]]);const en={},tn={viewBox:`0 0 24 24`,fill:`currentColor`};function nn(e,t){return B(),D(`svg`,tn,[...t[0]||=[O(`path`,{d:`M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z`},null,-1)]])}var rn=Z(en,[[`render`,nn]]);const an={},on={viewBox:`0 0 24 24`,fill:`currentColor`};function sn(e,t){return B(),D(`svg`,on,[...t[0]||=[O(`path`,{d:`M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z`},null,-1)]])}var cn=Z(an,[[`render`,sn]]);const ln={},un={viewBox:`0 0 24 24`,fill:`currentColor`};function dn(e,t){return B(),D(`svg`,un,[...t[0]||=[O(`path`,{d:`M7 7h10v3l4-4-4-4v3H5v6h2V7zm10 10H7v-3l-4 4 4 4v-3h12v-6h-2v4z`},null,-1)]])}var fn=Z(ln,[[`render`,dn]]);const pn={},mn={viewBox:`0 0 24 24`,fill:`currentColor`};function hn(e,t){return B(),D(`svg`,mn,[...t[0]||=[O(`circle`,{cx:`5`,cy:`12`,r:`2`},null,-1),O(`circle`,{cx:`12`,cy:`12`,r:`2`},null,-1),O(`circle`,{cx:`19`,cy:`12`,r:`2`},null,-1)]])}var gn=Z(pn,[[`render`,hn]]);const _n={},vn={viewBox:`0 0 24 24`,fill:`currentColor`};function yn(e,t){return B(),D(`svg`,vn,[...t[0]||=[O(`path`,{d:`M6 19h4V5H6v14zm8-14v14h4V5h-4z`},null,-1)]])}var bn=Z(_n,[[`render`,yn]]);const xn={},Sn={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Cn(e,t){return B(),D(`svg`,Sn,[...t[0]||=[O(`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`},null,-1),O(`rect`,{x:`12`,y:`11`,width:`8`,height:`6`,rx:`1`,fill:`currentColor`,stroke:`none`},null,-1)]])}var wn=Z(xn,[[`render`,Cn]]);const Tn={},En={viewBox:`0 0 24 24`,fill:`currentColor`};function Dn(e,t){return B(),D(`svg`,En,[...t[0]||=[O(`path`,{d:`M8 5v14l11-7z`},null,-1)]])}var On=Z(Tn,[[`render`,Dn]]);const kn={},An={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function jn(e,t){return B(),D(`svg`,An,[...t[0]||=[O(`rect`,{x:`2`,y:`6`,width:`20`,height:`12`,rx:`2`},null,-1),O(`path`,{d:`M7 14v-4M12 14V8M17 14v-2`},null,-1)]])}var Mn=Z(kn,[[`render`,jn]]);const Nn={},Pn={viewBox:`0 0 24 24`,fill:`currentColor`};function Fn(e,t){return B(),D(`svg`,Pn,[...t[0]||=[O(`path`,{d:`M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8z`},null,-1)]])}var In=Z(Nn,[[`render`,Fn]]);const Ln={},Rn={viewBox:`0 0 24 24`,fill:`currentColor`};function zn(e,t){return B(),D(`svg`,Rn,[...t[0]||=[O(`path`,{d:`M6 18l8.5-6L6 6v12zM16 6v12h2V6h-2z`},null,-1)]])}var Bn=Z(Ln,[[`render`,zn]]);const Vn={},Hn={viewBox:`0 0 24 24`,fill:`currentColor`};function Un(e,t){return B(),D(`svg`,Hn,[...t[0]||=[O(`path`,{d:`M16.5 12A4.5 4.5 0 0 0 14 7.97v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51A8.796 8.796 0 0 0 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3L3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06A8.99 8.99 0 0 0 17.73 18L19 19.27 20.27 18 5.27 3 4.27 3zM12 4L9.91 6.09 12 8.18V4z`},null,-1)]])}var Wn=Z(Vn,[[`render`,Un]]);const Gn={},Kn={viewBox:`0 0 24 24`,fill:`currentColor`};function qn(e,t){return B(),D(`svg`,Kn,[...t[0]||=[O(`path`,{d:`M3 9v6h4l5 5V4L7 9H3zm13.5 3A4.5 4.5 0 0 0 14 7.97v8.05c1.48-.73 2.5-2.25 2.5-4.02z`},null,-1)]])}var Jn=Z(Gn,[[`render`,qn]]);function Q(e,t){return w(()=>e.value?e.value:t.value?document.getElementById(t.value)??null:null)}const Yn=[`aria-label`];var Xn=Z(M({__name:`PlayButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Q(W(t,`player`),W(t,`for`)),r=w(()=>n.value?.isError?`error`:n.value?.hasEnded?`ended`:n.value?.isPlaying?`playing`:`idle`),i=w(()=>{switch(r.value){case`error`:return`Retry`;case`ended`:return`Replay`;case`playing`:return`Pause`;default:return`Play`}});function a(){let e=n.value;e&&(e.isError?e.retry():e.togglePlay())}return(e,t)=>(B(),D(`button`,{type:`button`,class:`mlv-play-button`,"aria-label":i.value,onClick:a},[H(e.$slots,`default`,{isPlaying:G(n)?.isPlaying??!1,hasEnded:G(n)?.hasEnded??!1,isError:G(n)?.isError??!1},()=>[r.value===`error`||r.value===`ended`?(B(),T(G(In),{key:0})):r.value===`playing`?(B(),T(G(bn),{key:1})):(B(),T(G(On),{key:2}))],!0)],8,Yn))}}),[[`__scopeId`,`data-v-218255bd`]]),Zn=Z(M({__name:`Spinner`,props:{size:{type:Number,required:!1,default:14},borderWidth:{type:Number,required:!1,default:2}},setup(e){return(t,n)=>(B(),D(`div`,{class:`spinner`,style:L({width:`${e.size}px`,height:`${e.size}px`,borderWidth:`${e.borderWidth}px`})},null,4))}}),[[`__scopeId`,`data-v-259be2b2`]]);const Qn={key:0,class:`mlv-buffering`};var $n=Z(M({__name:`Buffering`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Q(W(t,`player`),W(t,`for`));return(e,t)=>G(n)?.isBuffering?(B(),D(`div`,Qn,[H(e.$slots,`default`,{},()=>[j(Zn)],!0)])):E(`v-if`,!0)}}),[[`__scopeId`,`data-v-454fec7f`]]),er=M({__name:`VolumeIcon`,props:{isAudible:{type:Boolean,required:!0}},setup(e){return(t,n)=>e.isAudible?(B(),T(G(Jn),{key:0})):(B(),T(G(Wn),{key:1}))}});const tr={class:`hud`,"aria-hidden":`true`},nr=[`aria-label`],rr=[`aria-label`,`innerHTML`],ir={key:2,class:`hud__spacer`},ar={class:`hud__play-wrap`};var or=Z(M({__name:`HudButtons`,setup(e){let t=X(Y),n=X(Et),{currentAction:r,isCustom:i,customAction:a,builtinLabel:o,builtinActive:s,onBuiltinClick:c}=Nt(P(Dt),t,X(Ot));return(e,l)=>(B(),D(S,null,[E(` tabindex="-1" + aria-hidden: this row's play/mute/custom/show-controls buttons are all redundant outside plain mouse hover - play/mute already have global hotkeys, everything else is duplicated in ControlsPopup, which PlayerOverlay's "Show player controls" skip link reaches directly for keyboard/AT users. `),O(`div`,tr,[!G(n).isOpen&&!G(t).isFullscreen?(B(),D(S,{key:0},[G(r)===`mute`||G(r)===`loop`||G(r)===`autoplay`?(B(),D(`button`,{key:0,class:I([`hud__btn`,{"hud__btn--active":G(s)}]),"aria-label":G(o),tabindex:`-1`,onClick:l[0]||=q((...e)=>G(c)&&G(c)(...e),[`stop`])},[G(r)===`mute`?(B(),T(er,{key:0,"is-audible":G(t).isAudible},null,8,[`is-audible`])):G(r)===`loop`?(B(),T(G(fn),{key:1})):(B(),T(G(Bn),{key:2}))],10,nr)):G(i)&&G(a)?(B(),D(`button`,{key:1,class:`hud__btn`,"aria-label":G(a).label,tabindex:`-1`,onClick:l[1]||=q(e=>G(a).onClick(),[`stop`]),innerHTML:G(a).icon},null,8,rr)):(B(),D(`div`,ir))],64)):E(`v-if`,!0),O(`div`,ar,[j(Xn,{player:G(t),class:`ppbtn ppbtn--lg`,tabindex:`-1`},null,8,[`player`]),j($n,{player:G(t),class:`hud__buf-spinner`},null,8,[`player`])]),!G(n).isOpen&&!G(t).isFullscreen?(B(),D(`button`,{key:1,class:`hud__btn`,"aria-label":`Show controls`,tabindex:`-1`,onClick:l[2]||=q((...e)=>G(n).openControls&&G(n).openControls(...e),[`stop`])},[j(G(Yt))])):E(`v-if`,!0)])],2112))}}),[[`__scopeId`,`data-v-a6d118e7`]]);const sr=new WeakMap;async function cr(e,t){if(!e){t();return}sr.get(e)?.();let n=e.getBoundingClientRect();t(),await te();let r=e.getBoundingClientRect(),i=n.left-r.left,a=n.top-r.top,o=n.width/r.width,s=n.height/r.height;if(!i&&!a&&o===1&&s===1)return;let c=getComputedStyle(e).position===`static`;c&&(e.style.position=`relative`),e.style.zIndex=`2147483647`,e.style.transition=`none`,e.style.transformOrigin=`top left`,e.style.transform=`translate(${i}px, ${a}px) scale(${o}, ${s})`,e.getBoundingClientRect(),await new Promise(t=>{let n=null,r=()=>{cancelAnimationFrame(i),n&&clearTimeout(n),e.style.transition=``,e.style.transform=``,e.style.transformOrigin=``,e.style.zIndex=``,c&&(e.style.position=``),sr.delete(e),t()};sr.set(e,r);let i=requestAnimationFrame(()=>{e.style.transition=`transform 220ms ease`,e.style.transform=``,n=setTimeout(r,220)})})}const lr=[`aria-label`];var ur=Z(M({__name:`FullscreenButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Q(W(t,`player`),W(t,`for`));return(e,t)=>(B(),D(`button`,{type:`button`,class:`mlv-fullscreen-button`,"aria-label":G(n)?.isFullscreen?`Exit fullscreen`:`Enter fullscreen`,onClick:t[0]||=e=>G(n)?.toggleFullscreen()},[H(e.$slots,`default`,{isFullscreen:G(n)?.isFullscreen??!1},()=>[G(n)?.isFullscreen?(B(),T(G(cn),{key:0})):(B(),T(G(rn),{key:1}))],!0)],8,lr))}}),[[`__scopeId`,`data-v-b93a5017`]]);const dr=[`aria-pressed`];var fr=Z(M({__name:`PipButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Q(W(t,`player`),W(t,`for`));return(e,t)=>G(n)?.supportsPip?(B(),D(`button`,{key:0,type:`button`,class:I([`mlv-pip-button`,{"mlv-pip-button--active":G(n)?.isPipActive}]),"aria-pressed":G(n)?.isPipActive??!1,"aria-label":`Toggle Picture-in-Picture`,onClick:t[0]||=e=>G(n)?.togglePip()},[H(e.$slots,`default`,{isPipActive:G(n)?.isPipActive??!1},()=>[j(G(wn))],!0)],10,dr)):E(`v-if`,!0)}}),[[`__scopeId`,`data-v-f654d93e`]]);function pr(e){let n=V(!1),r=V(null),i=!1,a=null,o=!1,s=w(()=>{let t=e.value;return t?.total?t.current/t.total*100:0}),c=w(()=>r.value??s.value),l=w(()=>r.value!==null),u=w(()=>{let t=e.value?.total??0;return c.value/100*t});function d(){a&&clearTimeout(a),a=null}function f(){d(),r.value=null}function p(t){let a=e.value;a?.total&&(n.value||=(i=a.isPlaying,a.pause(),!0),d(),r.value=Number(t.target.value))}function m(s){if(!n.value)return;n.value=!1,o=!0;let c=e.value;if(!c)return;let l=Number(s.target.value);r.value=l,c.seek(l),i&&c.play().catch(()=>{}),d(),a=setTimeout(f,t)}function h(s){if(n.value||o)return;o=!1;let c=e.value;if(!c?.total)return;let l=Number(s.target.value);r.value=l,c.seek(l),i&&c.play().catch(()=>{}),d(),a=setTimeout(f,t)}return K(()=>e.value?.current,()=>{let t=e.value;if(r.value===null||!t?.total)return;let n=r.value/100*t.total;Math.abs(t.current-n)<1&&f()}),R(f),{scrubbing:l,displayPercent:c,previewSeconds:u,onInput:p,onChange:m,onTouchEnd:h}}function mr(e,t=!1){if(!e||isNaN(e))return`0:00`;let n=t?Math.round(e):Math.floor(e);return`${Math.floor(n/60)}:${String(n%60).padStart(2,`0`)}`}const hr={class:`mlv-scrubber-wrap`},gr=[`value`,`aria-valuetext`];var _r=Z(M({inheritAttrs:!1,__name:`Scrubber`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Q(W(t,`player`),W(t,`for`)),{scrubbing:r,displayPercent:i,previewSeconds:a,onInput:o,onChange:s,onTouchEnd:c}=pr(n),l=e=>mr(e,!0);return(e,t)=>(B(),D(`div`,hr,[O(`input`,F({type:`range`,min:`0`,max:`100`,step:`0.5`,value:G(i),class:`mlv-scrubber`},e.$attrs,{style:{"--p":`${G(i)}%`,"--b":`${G(n)?.bufferedDisplay??0}%`},"aria-label":`Seek`,"aria-valuetext":`${l(G(a))} of ${l(G(n)?.total??0)}`,onInput:t[0]||=(...e)=>G(o)&&G(o)(...e),onChange:t[1]||=(...e)=>G(s)&&G(s)(...e),onTouchend:t[2]||=(...e)=>G(c)&&G(c)(...e)}),null,16,gr),H(e.$slots,`preview`,{scrubbing:G(r),percent:G(i),previewSeconds:G(a),formatTime:l},()=>[G(r)?(B(),D(`div`,{key:0,class:`mlv-scrubber__preview`,style:L({left:`${G(i)}%`})},U(l(G(a))),5)):E(`v-if`,!0)],!0)]))}}),[[`__scopeId`,`data-v-043f1bc8`]]);const vr={class:`mlv-time-display__time`},yr={class:`mlv-time-display__total`};var br=Z(M({__name:`TimeDisplay`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Q(W(t,`player`),W(t,`for`));return(e,t)=>(B(),D(`span`,{class:I([`mlv-time-display`,{"mlv-time-display--live":G(n)?.isLive}])},[H(e.$slots,`default`,{isLive:G(n)?.isLive??!1,current:G(n)?.current??0,total:G(n)?.total??0,formatTime:G(mr)},()=>[G(n)?.isLive?(B(),D(S,{key:0},[t[0]||=O(`span`,{class:`mlv-time-display__dot`},null,-1),t[1]||=A(`Live `,-1)],64)):(B(),D(S,{key:1},[O(`span`,vr,U(G(mr)(G(n)?.current??0)),1),O(`span`,yr,`/ `+U(G(mr)(G(n)?.total??0)),1)],64))],!0)],2))}}),[[`__scopeId`,`data-v-0285c811`]]);const xr={class:`mlv-volume-wrap`},Sr=[`value`],Cr={class:`mlv-volume-pct`};var wr=Z(M({inheritAttrs:!1,__name:`VolumeSlider`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=e,n=Q(W(t,`player`),W(t,`for`)),r=w(()=>{let e=n.value;return e?e.isMuted?0:Math.round(e.vol*100):0});function i(e){n.value?.setVolume(Number(e.target.value)/100)}return(e,t)=>(B(),D(`div`,xr,[O(`input`,F({type:`range`,min:`0`,max:`100`,step:`1`,value:r.value,class:`mlv-volume-slider`},e.$attrs,{style:{"--v":`${r.value}%`},"aria-label":`Volume`,onInput:i}),null,16,Sr),H(e.$slots,`default`,{percent:r.value},()=>[O(`span`,Cr,U(r.value)+`%`,1)],!0)]))}}),[[`__scopeId`,`data-v-fbb2c86c`]]);const Tr={class:`controls__vol-header`},Er=[`aria-label`],Dr={class:`controls__vol-body`},Or={class:`controls__vol-pct`};var kr=Z(M({__name:`VolumePanel`,emits:[`back`],setup(e){let t=X(Y),n=X(Et);return(e,r)=>(B(),D(S,null,[O(`div`,Tr,[O(`button`,{class:`controls__btn`,"aria-label":`Back`,onClick:r[0]||=t=>e.$emit(`back`)},[j(G(Lt))]),r[6]||=O(`span`,{class:`controls__vol-label`},`Volume`,-1),O(`button`,{class:`controls__btn`,"aria-label":G(t).isMuted?`Unmute`:`Mute`,onClick:r[1]||=e=>G(t).toggleMute()},[j(er,{"is-audible":G(t).isAudible},null,8,[`is-audible`])],8,Er)]),O(`div`,Dr,[j(wr,{player:G(t),class:`controls__vol-slider`,onMousedown:r[2]||=e=>G(n).pauseHide(),onMouseup:r[3]||=e=>G(n).scheduleHide(),onTouchstartPassive:r[4]||=e=>G(n).pauseHide(),onTouchend:r[5]||=e=>G(n).scheduleHide()},{default:ce(({percent:e})=>[O(`span`,Or,U(e)+`%`,1)]),_:1},8,[`player`])])],64))}}),[[`__scopeId`,`data-v-10b0ae67`]]);function Ar(e){function t(){let t=g.indexOf(e.currentPlaybackRate);e.setPlaybackRate(g[(t+1)%g.length])}function n(e){return`${e}×`}return{cycleRate:t,fmtRate:n}}function jr(e){function t(){let t=e.captionTracks;if(!t.length)return;let n=t[t.findIndex(t=>t.index===e.activeCaptionIndex)+1];e.setCaptionTrack(n?n.index:null)}function n(){return e.captionTracks.find(t=>t.index===e.activeCaptionIndex)?.label??`Off`}return{cycleCaptionTrack:t,currentCaptionLabel:n}}function Mr(e){function t(){let t=e.qualityLevels;if(!t.length)return;if(e.isAutoQuality){e.setQuality(t[t.length-1].index);return}let n=t.findIndex(t=>t.index===e.currentQualityIndex);e.setQuality(n<=0?null:t[n-1].index)}function n(){return e.isAutoQuality?`Auto`:e.qualityLevels.find(t=>t.index===e.currentQualityIndex)?.label??`Auto`}return{cycleQuality:t,currentQualityLabel:n}}const Nr=[`aria-label`],Pr={key:0,class:`controls__more-row-label`},Fr=[`innerHTML`],Ir={key:1},Lr={key:2,class:`controls__more-value`};var $=Z(M({__name:`MoreMenuRow`,props:{label:{type:String,required:!0},ariaLabel:{type:String,required:!1,default:``},icon:{type:null,required:!1},iconHtml:{type:String,required:!1},active:{type:Boolean,required:!1,default:!1},value:{type:String,required:!1}},emits:[`click`],setup(e){return(t,n)=>(B(),D(`button`,{class:I([`controls__more-row`,{"controls__more-row--active":e.active}]),"aria-label":e.ariaLabel||e.label,onClick:n[0]||=e=>t.$emit(`click`)},[e.icon||e.iconHtml?(B(),D(`span`,Pr,[e.icon?(B(),T(oe(e.icon),{key:0,class:`controls__more-row-icon`})):(B(),D(`span`,{key:1,class:`controls__more-row-icon`,innerHTML:e.iconHtml},null,8,Fr)),A(` `+U(e.label),1)])):(B(),D(`span`,Ir,U(e.label),1)),e.value===void 0?E(`v-if`,!0):(B(),D(`span`,Lr,U(e.value),1))],10,Nr))}}),[[`__scopeId`,`data-v-47ca5bfc`]]);const Rr={class:`controls__more-header`};var zr=Z(M({__name:`MoreMenu`,props:{isCustom:{type:Boolean,required:!0},customAction:{type:[Object,null],required:!0},compact:{type:Boolean,required:!0}},emits:[`back`],setup(e){let t=X(Y),n=X(Et),r=X(Ot),{cycleRate:i,fmtRate:a}=Ar(t),{cycleCaptionTrack:o,currentCaptionLabel:s}=jr(t),{cycleQuality:c,currentQualityLabel:l}=Mr(t);return(u,d)=>(B(),D(S,null,[O(`div`,Rr,[O(`button`,{class:`controls__btn`,"aria-label":`Back`,onClick:d[0]||=e=>u.$emit(`back`)},[j(G(Lt))]),d[8]||=O(`span`,{class:`controls__more-label`},`More`,-1)]),O(`div`,{class:`controls__more-body`,onTouchstartPassive:d[7]||=e=>G(n).keepOpen()},[G(t).supportsPlaybackRate?(B(),T($,{key:0,label:`Playback speed`,value:G(a)(G(t).currentPlaybackRate),onClick:G(i)},null,8,[`value`,`onClick`])):E(`v-if`,!0),j($,{label:`Loop`,"aria-label":`Toggle loop`,icon:G(fn),active:G(t).isLooping,value:G(t).isLooping?`On`:`Off`,onClick:d[1]||=e=>G(t).toggleLoop()},null,8,[`icon`,`active`,`value`]),G(t).supportsCaptions?(B(),T($,{key:1,label:`Captions`,icon:G(Vt),active:G(t).activeCaptionIndex!==null,value:G(s)(),onClick:G(o)},null,8,[`icon`,`active`,`value`,`onClick`])):E(`v-if`,!0),G(t).supportsQuality?(B(),T($,{key:2,label:`Quality`,icon:G(Mn),active:!G(t).isAutoQuality,value:G(l)(),onClick:G(c)},null,8,[`icon`,`active`,`value`,`onClick`])):E(`v-if`,!0),G(r).hasPlaylist?(B(),T($,{key:3,label:`Autoplay next`,"aria-label":`Toggle autoplay next`,icon:G(Bn),active:G(r).autoAdvance,value:G(r).autoAdvance?`On`:`Off`,onClick:d[2]||=e=>G(r).toggleAutoAdvance()},null,8,[`icon`,`active`,`value`])):E(`v-if`,!0),e.compact&&G(t).supportsPip?(B(),T($,{key:4,label:`Picture-in-picture`,"aria-label":`Toggle picture-in-picture`,icon:G(wn),active:G(t).isPipActive,onClick:d[3]||=e=>G(t).togglePip()},null,8,[`icon`,`active`])):E(`v-if`,!0),e.compact&&G(r).hasNext?(B(),T($,{key:5,label:`Play next`,"aria-label":`Play next`,icon:G(Bn),onClick:d[4]||=e=>G(r).playNext()},null,8,[`icon`])):E(`v-if`,!0),e.compact?(B(),T($,{key:6,label:`Mute`,"aria-label":`Toggle mute`,icon:G(t).isAudible?G(Jn):G(Wn),active:!G(t).isAudible,onClick:d[5]||=e=>G(t).toggleMute()},null,8,[`icon`,`active`])):E(`v-if`,!0),e.isCustom&&e.customAction?(B(),T($,{key:7,label:e.customAction.label,"icon-html":e.customAction.icon,onClick:d[6]||=t=>e.customAction.onClick()},null,8,[`label`,`icon-html`])):E(`v-if`,!0)],32)],64))}}),[[`__scopeId`,`data-v-e89a8208`]]);const Br={class:`controls__row`},Vr={class:`controls__play-wrap`},Hr=[`aria-expanded`],Ur=[`aria-expanded`],Wr={class:`controls__fs-wrap`};var Gr=Z(M({__name:`ControlsPopup`,setup(e){let t=X(Y),n=X(Et),r=X(Ot),{isCustom:i,customAction:a}=Nt(P(Dt),t,r),o=V(!1),s=V(!1),c=V(null),l=V(null),u=jt(c),d=w(()=>t.isLooping||t.currentPlaybackRate!==1||r.autoAdvance);function f(e){return!c.value||c.value.contains(e)?!1:(n.closeControls(),!0)}function p(e){f(e.target)}function m(e){f(e.target)&&e.preventDefault()}z(()=>{t.fire(`controlsopen`,{element:c.value}),document.addEventListener(`click`,p,!0),document.addEventListener(`touchend`,m,!0)}),R(()=>{o.value=!1,s.value=!1,t.fire(`controlsclose`,{element:c.value}),document.removeEventListener(`click`,p,!0),document.removeEventListener(`touchend`,m,!0)});function h(e){n.suppressMouseLeave();let t=c.value,r=l.value;if(!t||!r){e();return}r.style.opacity=`0`,cr(t,e).then(()=>{r.style.transition=`opacity 130ms ease`,r.style.opacity=``,setTimeout(()=>{r.style.transition=``},130)})}function g(){if(_()){t.toggleMute();return}h(()=>{o.value=!0})}function v(){h(()=>{s.value=!0})}return(e,f)=>(B(),D(`div`,{ref_key:`popupEl`,ref:c,class:I([`controls`,{"controls--fs":G(t).isFullscreen,"controls--compact":G(u)}]),onMousemove:f[8]||=q((...e)=>G(n).keepOpen&&G(n).keepOpen(...e),[`stop`])},[O(`div`,{class:`controls__inner`,ref_key:`contentEl`,ref:l},[o.value?(B(),T(kr,{key:0,onBack:f[0]||=e=>h(()=>o.value=!1)})):s.value?(B(),T(zr,{key:1,"is-custom":G(i),"custom-action":G(a),compact:G(u),onBack:f[1]||=e=>h(()=>s.value=!1)},null,8,[`is-custom`,`custom-action`,`compact`])):(B(),D(S,{key:2},[G(t).isLive?E(`v-if`,!0):(B(),T(_r,{key:0,player:G(t),class:`controls__seek`,onMousedown:f[2]||=e=>G(n).pauseHide(),onMouseup:f[3]||=e=>G(n).scheduleHide(),onTouchstartPassive:f[4]||=e=>G(n).pauseHide(),onTouchend:f[5]||=e=>G(n).scheduleHide()},null,8,[`player`])),O(`div`,Br,[O(`div`,Vr,[j($n,{player:G(t)},null,8,[`player`]),G(t).isBuffering?E(`v-if`,!0):(B(),T(Xn,{key:0,player:G(t),class:`ppbtn ppbtn--sm`},null,8,[`player`]))]),j(br,{player:G(t),class:`controls__time-display`},null,8,[`player`]),G(r).hasNext?(B(),D(`button`,{key:0,class:`controls__btn controls__btn--next`,"aria-label":`Play next`,onClick:f[6]||=e=>G(r).playNext()},[j(G(Bn))])):E(`v-if`,!0),O(`button`,{class:`controls__btn controls__btn--volume`,"aria-label":`Volume`,"aria-haspopup":`true`,"aria-expanded":o.value,onClick:g},[j(er,{"is-audible":G(t).isAudible},null,8,[`is-audible`])],8,Hr),O(`button`,{class:I([`controls__btn controls__btn--more`,{"controls__btn--active":d.value}]),"aria-label":`More`,"aria-haspopup":`true`,"aria-expanded":s.value,onClick:v},[j(G(gn))],10,Ur),j(fr,{player:G(t),class:`controls__btn controls__btn--pip`},null,8,[`player`]),O(`div`,Wr,[G(t).isFullscreenPending?(B(),T(Zn,{key:0})):(B(),T(ur,{key:1,player:G(t),class:`controls__btn`},null,8,[`player`]))])])],64))],512),O(`button`,{type:`button`,class:`controls__close`,"aria-label":`Close player controls`,onClick:f[7]||=e=>G(n).closeControls(!0)},`Close player controls`)],34))}}),[[`__scopeId`,`data-v-5712aad4`]]);const Kr={key:0,class:`overlay__spinner`},qr={key:0,class:`overlay__error`},Jr=[`inert`];var Yr=Z(M({__name:`PlayerOverlay`,setup(e){let t=X(Y),n=X(Et),{hudVisible:r,popupVisible:i}=At(t,n);return(e,a)=>(B(),D(S,null,[j(C,{name:`fade`},{default:ce(()=>[!G(t).isReady&&!G(t).isError?(B(),D(`div`,Kr,[j(Zn,{size:40,"border-width":3})])):E(`v-if`,!0)]),_:1}),E(` No transition: a leave that waits on an animation frame can strand a clickable Retry over a recovered player when frames are paused (background tab). `),G(t).isError?(B(),D(`div`,qr,[O(`p`,null,U(G(t).errorMessage||`This video could not be played.`),1),O(`button`,{class:`overlay__retry`,onClick:a[0]||=q((...e)=>G(t).retry&&G(t).retry(...e),[`stop`])},`Retry`)])):E(`v-if`,!0),O(`button`,{type:`button`,class:`overlay__reveal`,"aria-label":`Show player controls`,onClick:a[1]||=e=>G(n).openControls()},`Show player controls`),O(`div`,{class:I([`overlay__hud`,{"overlay__hud--visible":G(r)}]),inert:!G(r)},[j(or)],10,Jr),j(C,{name:`popup`},{default:ce(()=>[G(i)?(B(),D(`div`,{key:0,class:I([`overlay__popup`,{"overlay__popup--fs":G(t).isFullscreen}])},[j(Gr)],2)):E(`v-if`,!0)]),_:1})],64))}}),[[`__scopeId`,`data-v-2fba5782`]]);const Xr={class:`ad-overlay`},Zr={class:`ad-overlay__bar`},Qr={class:`ad-overlay__badge`},$r={key:0,class:`ad-overlay__countdown`},ei=[`aria-label`],ti=[`aria-label`];var ni=Z(M({__name:`AdOverlay`,setup(e){let t=X(Y),n=w(()=>t.adRemainingTime>0?mr(t.adRemainingTime):``);return(e,r)=>(B(),D(`div`,Xr,[O(`div`,Zr,[O(`div`,Qr,[r[2]||=O(`span`,null,`Ad`,-1),n.value?(B(),D(`span`,$r,U(n.value),1)):E(`v-if`,!0)]),O(`button`,{class:`ad-overlay__btn`,"aria-label":G(t).isAdPaused?`Resume ad`:`Pause ad`,onClick:r[0]||=e=>G(t).togglePlay()},[G(t).isAdPaused?(B(),T(G(On),{key:0})):(B(),T(G(bn),{key:1}))],8,ei),O(`button`,{class:`ad-overlay__btn`,"aria-label":G(t).isAdMuted?`Unmute ad`:`Mute ad`,onClick:r[1]||=e=>G(t).toggleAdMute()},[G(t).isAdMuted?(B(),T(G(Wn),{key:0})):(B(),T(G(Jn),{key:1}))],8,ti)])]))}}),[[`__scopeId`,`data-v-23efcc8b`]]);const ri=V(0),ii=ie({currentSrc:null,isPlaying:!1}),ai=w(()=>ri.value>0),oi=V(!1);function si(){ri.value++}function ci(){ri.value--}function li(e,t,n){let r=V(!1),i=w(()=>r.value&&oi.value),a=null;function o(){if(a?.(),a=null,!n.value||!e.value){r.value=!1;return}a=dt(e.value,e=>{e.intersectionRatio<.1?t.value&&(r.value=!0):r.value=!1})}return z(o),K(n,o),K(e,o),R(()=>a?.()),{isPinned:r,isTucked:i,unpin:()=>r.value=!1}}function ui(e,t,n){let r=V(null),i=V(null);K(n,n=>{let i=e.value?.offsetWidth??null;r.value=n&&t.value&&i?{height:t.value.offsetHeight,wrapperWidth:i}:null});let a=w(()=>{if(!r.value)return{};let{height:e,wrapperWidth:t}=r.value,n=i.value?i.value/t:1;return{height:`${Math.round(e*n)}px`}}),o=null;return K(e,e=>{o?.disconnect(),o=null,e&&(o=new ResizeObserver(([e])=>i.value=e.contentRect.width),o.observe(e))},{immediate:!0}),R(()=>o?.disconnect()),{wrapperStyle:a,clear:()=>r.value=null}}function di(e){e?.scrollIntoView({behavior:`smooth`,block:`center`})}var fi=Z(M({__name:`PinnablePlayerShell`,props:{isPlaying:{type:Boolean,required:!0}},setup(e){let t=e,n=V(null),r=V(null),{isPinned:i,unpin:a}=li(n,W(t,`isPlaying`),V(!0)),o=V(i.value);K(i,e=>{cr(r.value,()=>{o.value=e})});let s=w(()=>o.value&&oi.value),{wrapperStyle:c}=ui(n,r,o);function l(){di(n.value)}function u(e){r.value=e}return(e,t)=>(B(),D(`div`,{ref_key:`wrapperEl`,ref:n,class:`player-wrapper`,style:L(G(c))},[H(e.$slots,`default`,{isPinned:o.value,isTucked:s.value,setBoxEl:u,unpin:G(a),scrollToPlayer:l},void 0,!0)],4))}}),[[`__scopeId`,`data-v-a2f8a547`]]);const pi={class:`player-wrapper`};var mi=Z(M({__name:`PlainPlayerShell`,props:{isPlaying:{type:Boolean,required:!0}},setup(e){function t(){}return(e,n)=>(B(),D(`div`,pi,[H(e.$slots,`default`,{isPinned:!1,isTucked:!1,setBoxEl:t,unpin:t,scrollToPlayer:t},void 0,!0)]))}}),[[`__scopeId`,`data-v-9188c23a`]]),hi=Z(M({__name:`PinnedControls`,emits:[`scroll-to`,`dismiss`],setup(e){return(e,t)=>(B(),D(S,null,[O(`button`,{class:`pinned-controls__scroll-to`,"aria-label":`Scroll to player`,onClick:t[0]||=q(t=>e.$emit(`scroll-to`),[`stop`])},[j(G($t))]),O(`button`,{class:`pinned-controls__dismiss`,"aria-label":`Close`,onClick:t[1]||=q(t=>e.$emit(`dismiss`),[`stop`])},[j(G(Gt))])],64))}}),[[`__scopeId`,`data-v-690b416a`]]);function gi(e){let[t,n]=e.split(`:`).map(Number);return{isPortrait:n>t,cssRatio:`${t}/${n}`}}const _i=[`aria-label`,`tabindex`],vi={"data-mlv-player":``},yi=[`poster`,`preload`],bi=[`src`,`kind`,`srclang`,`label`,`default`],xi={key:3,class:`player__native-play`};var Si=Z(M({__name:`VideoPlayer`,props:{src:{type:String,required:!0},label:{type:String,required:!1,default:``},poster:{type:String,required:!1,default:``},aspectRatio:{type:String,required:!1,default:u},adTagUrl:{type:String,required:!1,default:``},adMacroParams:{type:Object,required:!1},headerBidding:{type:Object,required:!1},tracks:{type:Array,required:!1,default:()=>[]},autoplay:{type:Boolean,required:!1,default:!1},muted:{type:Boolean,required:!1,default:void 0},volume:{type:Number,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1,default:!1},payload:{type:[Object,String],required:!1,default:()=>({})},action:{type:[String,Object,null],required:!1,default:null},disableTapCapture:{type:Boolean,required:!1,default:!1},disableKeyboardShortcuts:{type:Boolean,required:!1,default:!1},controls:{type:Boolean,required:!1,default:!0},playInView:{type:Boolean,required:!1,default:!1},pin:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!1},preload:{type:String,required:!1,default:void 0}},emits:[`state-change`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=V(null),o=ie(yt(a,r,i)),s=ie(St(W(o,`isPlaying`),W(o,`isFullscreen`))),{onKeydown:c}=xt(o,s);function l(e){r.disableKeyboardShortcuts||c(e)}let u=V(null);K(()=>o.isFullscreen,e=>{e&&!r.disableKeyboardShortcuts&&te(()=>u.value?.focus())});function d(e){if(r.disableKeyboardShortcuts)return;let t=e.relatedTarget;t&&u.value?.contains(t)||requestAnimationFrame(()=>{document.activeElement===document.body&&u.value?.focus()})}re(Y,o),re(Et,s),re(Dt,W(r,`action`)),re(Ot,P(Ot,kt));let f=w(()=>gi(r.aspectRatio)),p=w(()=>f.value.isPortrait),m=w(()=>f.value.cssRatio),h=w(()=>!r.poster&&!o.isReady),g=w(()=>r.pin?fi:mi);function _(e){o.pause(),e()}function v(){s.onVideoTap(),o.fire(`tap`)}return t(Tt(o)),(t,n)=>(B(),T(oe(g.value),{"is-playing":o.isPlaying},{default:ce(({isPinned:t,isTucked:i,setBoxEl:c,unpin:f,scrollToPlayer:g})=>[O(`div`,{ref:c,class:I([`player`,{"player--pinned":t,"player--tucked":i,[`player--pin-${e.pin}`]:t}])},[t?(B(),T(hi,{key:0,onScrollTo:g,onDismiss:e=>_(f)},null,8,[`onScrollTo`,`onDismiss`])):E(`v-if`,!0),O(`div`,{ref_key:`shellEl`,ref:u,class:I([`player__shell`,{"player__shell--portrait":p.value}]),style:L({aspectRatio:m.value}),role:`group`,"aria-label":e.label||`Video player`,tabindex:e.disableKeyboardShortcuts?void 0:0,onMousemove:n[0]||=e=>s.onMouseMove(),onContextmenuCapture:n[1]||=q(()=>{},[`prevent`]),onMouseleave:n[2]||=e=>s.onMouseLeave(),onKeydown:l,onFocusout:d},[O(`div`,vi,[O(`video`,{ref_key:`videoEl`,ref:a,class:I([`mlv-video`,{"mlv-video--hidden":h.value}]),poster:r.poster,preload:r.preload,playsinline:``},[(B(!0),D(S,null,ae(r.tracks,(e,t)=>(B(),D(`track`,{key:`${e.src}-${t}`,src:e.src,kind:e.kind??`captions`,srclang:e.srclang,label:e.label,default:e.default},null,8,bi))),128))],10,yi),!r.disableTapCapture&&!o.isNativeUi&&o.hasStarted&&!o.isAdPlaying?(B(),D(`div`,{key:0,class:`overlay__tap-capture`,onClick:v,onTouchend:q(v,[`prevent`,`stop`])},null,32)):E(`v-if`,!0),o.isAdPlaying&&!o.isNativeUi?(B(),T(ni,{key:1})):E(`v-if`,!0),r.controls&&!o.isNativeUi?(B(),T(Yr,{key:2})):E(`v-if`,!0),r.controls&&o.isNativeUi&&!o.hasStarted?(B(),D(`div`,xi,[j(Xn,{player:o,class:`ppbtn ppbtn--lg`},null,8,[`player`])])):E(`v-if`,!0)])],46,_i)],2)]),_:1},8,[`is-playing`]))}}),[[`__scopeId`,`data-v-4ab3cf75`]]);function Ci(e,t){window.dispatchEvent(new CustomEvent(e,{detail:t}))}function wi(e,t){let n=e=>t(e.detail);z(()=>window.addEventListener(e,n)),R(()=>window.removeEventListener(e,n))}function Ti(e=()=>!0){let t=se(null),n={};for(let r of Ct)n[r]=async(...n)=>{await e(r)&&await t.value?.[r]?.(...n)};for(let e of wt)n[e]=w(()=>t.value?.[e]);return{playerRef:t,forwarded:n}}function Ei(e,t){let n=w(()=>!e.value||!t.value?-1:e.value.findIndex(e=>e.src===t.value?.src)),r=w(()=>n.value===-1||!e.value?null:e.value[n.value+1]??null),i=w(()=>n.value<=0||!e.value?null:e.value[n.value-1]??null);return{hasNext:w(()=>r.value!==null),hasPrevious:w(()=>i.value!==null),nextEntry:r,previousEntry:i}}function Di(){return localStorage.getItem(r)===`true`}function Oi(e){localStorage.setItem(r,String(e))}const ki=[`src`],Ai={class:`stage__idle-body`},ji={class:`stage__idle-btn`},Mi={class:`stage__idle-title`},Ni={key:1,class:`stage__idle-empty`};var Pi=Z(M({__name:`VideoStage`,props:{pin:{type:String,required:!1,default:`bottom-right`},playlist:{type:Array,required:!1}},emits:[`state-change`],setup(t,{expose:n,emit:r}){let i=t,a=r,o=V(Di());K(o,Oi);let s=w(()=>!!i.playlist?.length),c=V(null),l=V(!1),u=V(!1);function f(e){a(`state-change`,{type:e,currentTime:0,duration:0,src:c.value?.src??``})}K(l,e=>f(e?`stageopen`:`stageclose`));let{playerRef:p,forwarded:m}=Ti(()=>l.value),h=V(null),g=V(null),_=V(!1),{hasNext:v,hasPrevious:y,nextEntry:b,previousEntry:ee}=Ei(W(i,`playlist`),c),x=w(()=>_.value&&!!c.value&&l.value),C=w(()=>x.value&&oi.value),k=w(()=>gi(c.value?.aspectRatio||`16:9`).cssRatio),{wrapperStyle:A,clear:M}=ui(h,g,x),N=null;function P(){N?.disconnect(),h.value&&(N=new IntersectionObserver(([e])=>{let t=!e.isIntersecting;if(!c.value||!l.value){_.value=t;return}cr(g.value,()=>{_.value=t})},{threshold:.98}),N.observe(h.value))}K(h,P);function te(){c.value&&(c.value={...c.value,autoplay:!0,muted:Ue(c.value.muted)},l.value=!0)}function ne(){te()}function ae(){di(h.value)}function H(){c.value=null,l.value=!1,u.value=!1,M(),oe()}function oe(){ii.currentSrc=c.value?.src??null,ii.isPlaying=u.value}let se=w(()=>{let{fromGesture:e,lazy:t,autoStage:n,...r}=c.value??{src:``};return r});function ce(e){if(c.value?.src===e.src&&l.value){e.fromGesture&&p.value?.togglePlay();return}c.value=e,l.value=!1,u.value=!1,oe(),l.value=!0}function q(e){if(c.value&&e.src===c.value.src){if(!l.value){te();return}p.value?.togglePlay()}}function le(e,t){e&&ce({...e,fromGesture:t,autoplay:!0,muted:e.muted??p.value?.isMuted??Ue(void 0,t),volume:e.volume??p.value?.vol})}function ue(e=!0){le(b.value,e)}function de(e=!0){le(ee.value,e)}function fe(e){e.type===`play`&&(u.value=!0),(e.type===`pause`||e.type===`ended`)&&(u.value=!1),e.type===`ended`&&o.value&&ue(!1),oe(),a(`state-change`,e)}return re(Ot,ie({hasPlaylist:s,hasNext:v,hasPrevious:y,autoAdvance:o,playNext:()=>ue(),playPrevious:()=>de(),toggleAutoAdvance:()=>{o.value=!o.value}})),wi(d,ce),wi(e,q),z(si),R(()=>{ci(),N?.disconnect(),ii.currentSrc=null,ii.isPlaying=!1}),n({playNext:ue,playPrevious:de,hasNext:v,hasPrevious:y,...m}),(e,n)=>(B(),D(`div`,{ref_key:`wrapperEl`,ref:h,class:`stage-wrapper`,style:L(G(A))},[O(`div`,{ref_key:`stageEl`,ref:g,class:I([`stage`,{"stage--minified":x.value,"stage--tucked":C.value,[`stage--pin-${t.pin}`]:x.value}])},[x.value?(B(),T(hi,{key:0,onScrollTo:ae,onDismiss:H})):E(`v-if`,!0),c.value&&l.value?(B(),T(Si,F({ref_key:`playerRef`,ref:p,key:c.value.src},se.value,{onStateChange:fe}),null,16)):(B(),D(`div`,{key:2,class:`stage__idle`,style:L({aspectRatio:k.value}),onClick:ne},[c.value?.poster?(B(),D(`img`,{key:0,src:c.value.poster,class:`stage__idle-poster`},null,8,ki)):E(`v-if`,!0),n[0]||=O(`div`,{class:`stage__idle-scrim`},null,-1),O(`div`,Ai,[c.value?(B(),D(S,{key:0},[O(`div`,ji,[j(G(On))]),O(`p`,Mi,U(c.value.label),1)],64)):(B(),D(`p`,Ni,`Select a video to play`))])],4))],2)],4))}}),[[`__scopeId`,`data-v-fb8c86cf`]]),Fi=M({__name:`PlayPauseIcon`,props:{isPlaying:{type:Boolean,required:!0},hasEnded:{type:Boolean,required:!1,default:!1}},setup(e){return(t,n)=>e.isPlaying?(B(),T(G(bn),{key:0})):e.hasEnded?(B(),T(G(In),{key:1})):(B(),T(G(On),{key:2}))}});const Ii={class:`placeholder`},Li=[`src`,`alt`],Ri={class:`placeholder__btn-wrap`},zi=[`aria-label`],Bi={key:1,class:`placeholder__footer`},Vi={class:`placeholder__title`};var Hi=Z(M({__name:`VideoPlaceholder`,props:{lazy:{type:Boolean,required:!1},autoStage:{type:Boolean,required:!1,default:!1},src:{type:String,required:!0},label:{type:String,required:!1,default:``},poster:{type:String,required:!1,default:``},aspectRatio:{type:String,required:!1,default:u},adTagUrl:{type:String,required:!1,default:``},adMacroParams:{type:Object,required:!1},headerBidding:{type:Object,required:!1},tracks:{type:Array,required:!1},autoplay:{type:Boolean,required:!1,default:!1},muted:{type:Boolean,required:!1,default:void 0},volume:{type:Number,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1,default:!1},payload:{type:[Object,String],required:!1,default:()=>({})},action:{type:[String,Object,null],required:!1,default:null},disableTapCapture:{type:Boolean,required:!1},disableKeyboardShortcuts:{type:Boolean,required:!1},controls:{type:Boolean,required:!1},playInView:{type:Boolean,required:!1},pin:{type:String,required:!1},loop:{type:Boolean,required:!1},preload:{type:String,required:!1}},emits:[`enter-view`],setup(e,{emit:t}){let n=e,r=t,i=w(()=>gi(n.aspectRatio)),a=w(()=>i.value.isPortrait),o=w(()=>i.value.cssRatio),s=V(null),c=null,l=w(()=>ii.currentSrc===n.src),u=w(()=>l.value&&ii.isPlaying),f=w(()=>l.value&&u.value?`Pause`:`Play`);function p(e,t,r){Ci(d,{...n,fromGesture:e,...t!==void 0&&{autoplay:t},...r!==void 0&&{muted:r}})}function m(){p(!0,!0,Ue(n.muted))}return z(()=>{n.autoStage&&p(!1),n.playInView&&s.value&&(c=pt(s.value,()=>r(`enter-view`)))}),R(()=>c?.()),(t,n)=>(B(),D(`div`,Ii,[O(`div`,{ref_key:`shellEl`,ref:s,class:I([`placeholder__shell`,{"placeholder__shell--portrait":a.value,"placeholder__shell--active":l.value}]),style:L({aspectRatio:o.value}),onClick:m},[e.poster?(B(),D(`img`,{key:0,class:`placeholder__poster`,src:e.poster,alt:f.value},null,8,Li)):E(`v-if`,!0),n[0]||=O(`div`,{class:`placeholder__scrim`},null,-1),O(`div`,Ri,[O(`button`,{type:`button`,class:`ppbtn ppbtn--lg`,"aria-label":f.value,onClick:q(m,[`stop`])},[j(Fi,{"is-playing":l.value&&u.value},null,8,[`is-playing`])],8,zi)]),f.value?(B(),D(`div`,Bi,[O(`p`,Vi,U(f.value),1)])):E(`v-if`,!0)],6)]))}}),[[`__scopeId`,`data-v-dbcb4f82`]]),Ui=M({__name:`VideoCard`,props:{lazy:{type:Boolean,required:!1,default:!0},autoStage:{type:Boolean,required:!1},src:{type:String,required:!0},label:{type:String,required:!1},poster:{type:String,required:!1},aspectRatio:{type:String,required:!1},adTagUrl:{type:String,required:!1},adMacroParams:{type:Object,required:!1},headerBidding:{type:Object,required:!1},tracks:{type:Array,required:!1},autoplay:{type:Boolean,required:!1},muted:{type:Boolean,required:!1,default:void 0},volume:{type:Number,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1},payload:{type:[Object,String],required:!1},action:{type:[String,Object,null],required:!1,default:null},disableTapCapture:{type:Boolean,required:!1},disableKeyboardShortcuts:{type:Boolean,required:!1},controls:{type:Boolean,required:!1,default:void 0},playInView:{type:Boolean,required:!1},pin:{type:String,required:!1},loop:{type:Boolean,required:!1},preload:{type:String,required:!1}},emits:[`state-change`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=V(!1),o=V(!1);function s(){o.value=!0,a.value=!0}async function c(){a.value||(a.value=!0,await te())}let{playerRef:l,forwarded:u}=Ti(async e=>ai.value?(e===`togglePlay`&&Ci(d,{...r,fromGesture:!0,autoplay:!0,muted:Ue(r.muted)}),!1):(await c(),!0));return t(u),(e,t)=>G(ai)?(B(),T(Hi,ne(F({key:0},r)),null,16)):(B(),D(S,{key:1},[r.lazy&&!a.value&&!r.autoplay?(B(),T(Hi,F({key:0},r,{onClickCapture:s,onEnterView:t[0]||=e=>a.value=!0}),null,16)):(B(),T(Si,F({key:1,ref_key:`playerRef`,ref:l},r,{autoplay:a.value||r.autoplay,muted:G(Ue)(r.muted,o.value),onStateChange:t[1]||=e=>i(`state-change`,e)}),null,16,[`autoplay`,`muted`]))],64))}}),Wi=Z(M({__name:`HideMarker`,setup(e){let t=V(null),n=null;return z(()=>{t.value&&(n=new IntersectionObserver(([e])=>{oi.value=e.isIntersecting}),n.observe(t.value))}),R(()=>{n?.disconnect(),oi.value=!1}),(e,n)=>(B(),D(`div`,{ref_key:`el`,ref:t,class:`mlv-hide-marker`},null,512))}}),[[`__scopeId`,`data-v-bacb702a`]]);const Gi=N(Si,{shadowRoot:!1}),Ki=N(Pi,{shadowRoot:!1}),qi=N(Hi,{shadowRoot:!1}),Ji=N(Ui,{shadowRoot:!1}),Yi=N(Wi,{shadowRoot:!1}),Xi=[[`ml-video-player`,Gi],[`ml-video-stage`,Ki],[`ml-video-placeholder`,qi],[`ml-video-card`,Ji],[`ml-hide-marker`,Yi]];function Zi(){for(let[e,t]of Xi)customElements.get(e)||customElements.define(e,t)}typeof import.meta.url==`string`&&new URL(import.meta.url).searchParams.has(`defer`)||Zi();export{Yi as HideMarkerElement,Ji as VideoCardElement,qi as VideoPlaceholderElement,Gi as VideoPlayerElement,Ki as VideoStageElement,Zi as defineElements,xe as registerPlatform,de as resolvePlatform};
|