@munsonlabs/video-player 0.2.10 → 0.3.0
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 +1 -1
- package/dist/elements/controls.mjs +1 -1
- package/dist/elements/core.css +1 -1
- package/dist/elements/core.mjs +1 -1
- package/dist/elements/index.mjs +1 -1
- package/dist/elements/style.css +1 -1
- package/dist/index.mjs +1 -1
- package/dist/style.css +1 -1
- package/package.json +6 -3
package/README.md
CHANGED
|
@@ -29,4 +29,4 @@ import '@munsonlabs/video-player/style'
|
|
|
29
29
|
|
|
30
30
|
## Docs
|
|
31
31
|
|
|
32
|
-
Full guides for props, events, ads, captions, quality, theming, headless controls, and web component usage: **https://munsonlabs.
|
|
32
|
+
Full guides for props, events, ads, captions, quality, theming, headless controls, and web component usage: **https://munsonlabs.pages.dev/video-player/getting-started/introduction**
|
|
@@ -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,h as u,inject as d,mergeProps as f,nextTick as p,normalizeClass as m,normalizeStyle as h,onBeforeUnmount as g,onMounted as _,openBlock as v,ref as y,renderList as b,renderSlot as x,shallowRef as S,toDisplayString as C,unref as w,watch as T}from"vue";function E(e){let n=y(!1),r=y(null),i=!1,a=null,o=!1,s=t(()=>{let t=e.value;return t?.duration?t.currentTime/t.duration*100:0}),c=t(()=>r.value??s.value),l=t(()=>r.value!==null),u=t(()=>{let t=e.value?.duration??0;return c.value/100*t});function d(){a&&clearTimeout(a),a=null}function f(){d(),r.value=null}function p(e){n.value||=(i=e.isPlaying,e.pause(),!0)}function m(e){return Number(e.target.value)}function h(t){let o=e.value;o&&!n.value&&p(o),n.value=!1,o&&(r.value=t,o.seek(t*(o.duration||0)/100),i&&o.play().catch(()=>{}),d(),a=setTimeout(f,3e3))}function _(t){let n=e.value;n?.duration&&(p(n),d(),r.value=m(t))}function v(e){n.value&&(o=!0,h(m(e)))}function b(){o=!1}function x(t){if(o){o=!1;return}e.value?.duration&&h(m(t))}function S(){n.value&&(n.value=!1,i&&e.value?.play().catch(()=>{}),f())}return T(()=>e.value?.currentTime,()=>{let t=e.value;if(r.value===null||!t?.duration)return;let n=r.value/100*t.duration;Math.abs(t.currentTime-n)<1&&f()}),g(f),{scrubbing:l,displayPercent:c,previewSeconds:u,onInput:_,onChange:v,onTouchStart:b,onTouchEnd:x,onPointerCancel:S}}const ee=Symbol(`player`);function te(e){return typeof e?.togglePlay==`function`}function D(e){let n=d(ee,null),r=S(null),i=null,a=!1;function o(){i?.disconnect(),i=null}function s(e){let t=document.getElementById(e);return te(t)?(r.value=t,o(),!0):!1}function c(){o(),r.value=null;let t=e.for;if(!t||a||s(t))return;let n=document.getElementById(t)?.tagName.toLowerCase();n?.includes(`-`)&&customElements.whenDefined(n).then(()=>{!a&&e.for===t&&s(t)}),p(()=>{a||e.for!==t||r.value||s(t)||(i=new MutationObserver(()=>s(t)),i.observe(document.body,{childList:!0,subtree:!0}))})}return _(c),T(()=>e.for,c),g(()=>{a=!0,o()}),t(()=>e.player??r.value??n??null)}function O(e,t=!1){if(!e||isNaN(e)||e<0)return`0:00`;let n=t?Math.round(e):Math.floor(e),r=Math.floor(n/3600),i=Math.floor(n%3600/60),a=String(n%60).padStart(2,`0`);return r?`${r}:${String(i).padStart(2,`0`)}:${a}`:`${i}:${a}`}const ne={class:`ml-video-scrubber-wrap`},k=[`value`,`aria-valuetext`];var re=c({inheritAttrs:!1,__name:`Scrubber`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=D(e),{scrubbing:n,displayPercent:o,previewSeconds:s,onInput:c,onChange:l,onTouchStart:u,onTouchEnd:d,onPointerCancel:p}=E(t),m=e=>O(e,!0);return(e,g)=>(v(),i(`div`,ne,[a(`input`,f({type:`range`,min:`0`,max:`100`,step:`0.5`,value:w(o),class:`ml-video-scrubber`,style:{"--p":`${w(o)}%`,"--b":`${w(t)?.bufferedDisplay??0}%`},"aria-label":`Seek`,"aria-valuetext":`${m(w(s))} of ${m(w(t)?.duration??0)}`,onInput:g[0]||=(...e)=>w(c)&&w(c)(...e),onChange:g[1]||=(...e)=>w(l)&&w(l)(...e),onTouchstart:g[2]||=(...e)=>w(u)&&w(u)(...e),onTouchend:g[3]||=(...e)=>w(d)&&w(d)(...e),onPointercancel:g[4]||=(...e)=>w(p)&&w(p)(...e)},e.$attrs),null,16,k),x(e.$slots,`preview`,{scrubbing:w(n),percent:w(o),previewSeconds:w(s),formatTime:m},()=>[w(n)?(v(),i(`div`,{key:0,class:`ml-video-scrubber__preview`,style:h({left:`${w(o)}%`})},C(m(w(s))),5)):r(`v-if`,!0)],!0)]))}}),A=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},ie=A(re,[[`__scopeId`,`data-v-00e26db0`]]);function ae(e,t){if(t.library!==void 0)return t.library;if(e.defaultLibrary!==null)return e.defaultLibrary;if(e.libraries.size===1)return e.libraries.keys().next().value}function oe(e,t,n){return{tag:`span`,className:`icon-svg`,html:typeof e==`function`?e({...t,library:n}):e}}function se(e,t,n){if(n!==void 0){let r=e.libraryOverrides.get(n)?.get(t);if(r!==void 0)return r}return e.overrides.get(t)}function j(e,t,n){let r={name:t,variant:n.variant},i=ae(e,n),a=se(e,t,i);return{request:r,source:i===void 0?void 0:e.libraries.get(i),override:a===void 0?void 0:oe(a,r,i)}}function ce({request:e,source:t,override:n}){return n||t?.resolveSync?.(e)}function M(e,t){return e?.resolveSync?.(t)||e?.resolve?.(t)}function le(e,t){let n,r=!1,i=e.then(e=>{if(r)return e.dispose?.();n=e,t(e)});return[{resolveSync(e){return n?.resolveSync?.(e)},async resolve(e){return await i,M(n,e)},dispose(){r=!0,n?.dispose?.()}},i]}function ue(e){return`resolveSync`in e||`resolve`in e}async function de(e,t){if(`resolver`in t||`icons`in t){let{svgLibrary:e}=await import(`./chunks/svg-BLBI83Ed-BjsPx0LR.mjs`);return e(t)}if(`className`in t){let{fontLibrary:e}=await import(`./chunks/font-KFHs3p_4-KFHs3p_4.mjs`);return e(t)}throw Error(`Unrecognised library config for "${e}"`)}function fe(){return{overrides:new Map,libraryOverrides:new Map,libraries:new Map,listeners:new Set,defaultLibrary:null}}function pe({listeners:e}){for(let t of e)t()}function me(){let e=fe();function t(e,t){let n=e.get(t);return n===void 0&&(n=new Map,e.set(t,n)),n}function n(){pe(e)}return{version:`0.0.3`,get defaultLibrary(){return e.defaultLibrary},get libraries(){return[...e.libraries.keys()]},register(t,r,i={}){if(e.libraries.get(t)?.dispose?.(),i.default&&(e.defaultLibrary=t),ue(r))return e.libraries.set(t,r),n(),Promise.resolve();let[a,o]=le(de(t,r),r=>{e.libraries.get(t)===a&&(e.libraries.set(t,r),n())});return e.libraries.set(t,a),n(),o.catch(r=>{throw e.defaultLibrary===t&&(e.defaultLibrary=null,n()),r})},unregister(t){e.libraries.get(t)?.dispose?.(),e.libraries.delete(t),e.defaultLibrary===t&&(e.defaultLibrary=null),n()},use(t){e.defaultLibrary=t,n()},override(r,i,a){let o,s;typeof r==`string`?(o=[[r,i??null]],s=a):(o=Object.entries(r),s=i);let c=s?.library===void 0?e.overrides:t(e.libraryOverrides,s.library);for(let[e,t]of o)t===null?c.delete(e):c.set(e,t);n()},getIconSync(t,n={}){return ce(j(e,t,n))},async getIcon(t,n={}){let{request:r,source:i,override:a}=j(e,t,n);if(a)return a;try{return await M(i,r)}catch(e){import.meta.env?.DEV&&console.warn(`[sigil] "${t}" failed to resolve`,e);return}},subscribe(t){return e.listeners.add(t),()=>{e.listeners.delete(t)}},clear(){for(let t of e.libraries.values())t.dispose?.();e.overrides.clear(),e.libraryOverrides.clear(),e.libraries.clear(),e.defaultLibrary=null,n()}}}const he=Symbol.for(`@munsonlabs/sigil`),ge=globalThis,N=ge[he]??=me(),{register:_e,unregister:ve,override:ye,use:be,getIcon:xe,getIconSync:Se,subscribe:Ce,clear:we}=N;function P(e,t,n,r=N){let i=0,a=r.subscribe(()=>void o());async function o(){let a=++i,o=r.getIconSync(e,t);if(o)return n(o);let s=await r.getIcon(e,t);a===i&&n(s)}return o(),()=>{i++,a()}}const F=c({name:`Sigil`,inheritAttrs:!1,props:{name:{type:String,required:!0},library:{type:String,default:void 0},variant:{type:String,default:void 0}},setup(e,{attrs:t}){let n=S();return T(()=>[e.name,e.library,e.variant],([e,t,r],i,a)=>{a(P(e,{library:t,variant:r},e=>{n.value=e}))},{immediate:!0}),()=>{let e=n.value;if(!e)return null;let r={...t,class:[e.className,t.class],"aria-hidden":`true`};return e.html===void 0?u(e.tag,r,e.text):u(e.tag,{...r,innerHTML:e.html})}}});function I(e,t,n=N){function r(){n.libraries.includes(e)||n.register(e,t)}return r(),n.subscribe(r)}const L={back:`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z"/></svg>`,captions:`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="5" width="20" height="14" rx="2"/><path d="M9.5 10.5a2 2 0 0 0-3.5 1.3v.4a2 2 0 0 0 3.5 1.3"/><path d="M17.5 10.5a2 2 0 0 0-3.5 1.3v.4a2 2 0 0 0 3.5 1.3"/></svg>`,close:`<svg viewBox="0 0 24 24" fill="currentColor"><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"/></svg>`,controls:`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="4" y1="6" x2="20" y2="6"/><line x1="4" y1="12" x2="20" y2="12"/><line x1="4" y1="18" x2="20" y2="18"/><circle cx="9" cy="6" r="2.5" fill="currentColor" stroke="none"/><circle cx="15" cy="12" r="2.5" fill="currentColor" stroke="none"/><circle cx="9" cy="18" r="2.5" fill="currentColor" stroke="none"/></svg>`,expand:`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M4 12l1.41 1.41L11 7.83V20h2V7.83l5.59 5.58L20 12l-8-8-8 8z"/></svg>`,"fullscreen-enter":`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"/></svg>`,"fullscreen-exit":`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z"/></svg>`,loop:`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M7 7h10v3l4-4-4-4v3H5v6h2V7zm10 10H7v-3l-4 4 4 4v-3h12v-6h-2v4z"/></svg>`,more:`<svg viewBox="0 0 24 24" fill="currentColor"><circle cx="5" cy="12" r="2"/><circle cx="12" cy="12" r="2"/><circle cx="19" cy="12" r="2"/></svg>`,pause:`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M6 19h4V5H6v14zm8-14v14h4V5h-4z"/></svg>`,pip:`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="4" width="20" height="16" rx="2"/><rect x="12" y="11" width="8" height="6" rx="1" fill="currentColor" stroke="none"/></svg>`,play:`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M8 5v14l11-7z"/></svg>`,quality:`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="6" width="20" height="12" rx="2"/><path d="M7 14v-4M12 14V8M17 14v-2"/></svg>`,replay:`<svg viewBox="0 0 24 24" fill="currentColor"><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"/></svg>`,"skip-next":`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M6 18l8.5-6L6 6v12zM16 6v12h2V6h-2z"/></svg>`,"volume-mute":`<svg viewBox="0 0 24 24" fill="currentColor"><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"/></svg>`,"volume-on":`<svg viewBox="0 0 24 24" fill="currentColor"><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"/></svg>`};let Te;function Ee(){Te??=I(`mlv`,{resolveSync({name:e}){let t=L[e];if(t!==void 0)return{tag:`span`,className:`icon-svg`,html:t}}})}Ee();var R=A(c({__name:`Icon`,props:{name:{type:String,required:!0}},setup(e){return(t,r)=>(v(),n(w(F),{name:e.name,library:`mlv`,class:`ml-video-icon`},null,8,[`name`]))}}),[[`__scopeId`,`data-v-466b80a9`]]);const De=[`aria-label`];var Oe=c({__name:`PlayButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let r=D(e),a=t(()=>r.value?.isError?`error`:r.value?.hasEnded?`ended`:r.value?.isPlaying?`playing`:`idle`),o=t(()=>{switch(a.value){case`error`:return`Retry`;case`ended`:return`Replay`;case`playing`:return`Pause`;default:return`Play`}});function s(){let e=r.value;e&&(e.isError?e.retry():e.togglePlay())}return(e,t)=>(v(),i(`button`,{type:`button`,class:`ml-video-control-btn ml-video-play-button`,"aria-label":o.value,onClick:s},[x(e.$slots,`default`,{isPlaying:w(r)?.isPlaying??!1,hasEnded:w(r)?.hasEnded??!1,isError:w(r)?.isError??!1},()=>[a.value===`error`||a.value===`ended`?(v(),n(R,{key:0,name:`replay`})):a.value===`playing`?(v(),n(R,{key:1,name:`pause`})):(v(),n(R,{key:2,name:`play`}))])],8,De))}}),ke=c({__name:`VolumeIcon`,props:{isAudible:{type:Boolean,required:!0}},setup(e){return(t,r)=>e.isAudible?(v(),n(R,{key:0,name:`volume-on`})):(v(),n(R,{key:1,name:`volume-mute`}))}});const Ae=[`aria-pressed`,`aria-label`];var je=c({__name:`MuteButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=D(e);return(e,n)=>(v(),i(`button`,{type:`button`,class:`ml-video-control-btn ml-video-mute-button`,"aria-pressed":w(t)?.isMuted??!1,"aria-label":w(t)?.isMuted?`Unmute`:`Mute`,onClick:n[0]||=e=>w(t)?.toggleMute()},[x(e.$slots,`default`,{isMuted:w(t)?.isMuted??!1},()=>[s(ke,{"is-audible":w(t)?.isAudible??!1},null,8,[`is-audible`])])],8,Ae))}});const Me=[`aria-label`];var Ne=c({__name:`FullscreenButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=D(e);return(e,r)=>(v(),i(`button`,{type:`button`,class:`ml-video-control-btn ml-video-fullscreen-button`,"aria-label":w(t)?.isFullscreen?`Exit fullscreen`:`Enter fullscreen`,onClick:r[0]||=e=>w(t)?.toggleFullscreen()},[x(e.$slots,`default`,{isFullscreen:w(t)?.isFullscreen??!1},()=>[w(t)?.isFullscreen?(v(),n(R,{key:0,name:`fullscreen-exit`})):(v(),n(R,{key:1,name:`fullscreen-enter`}))])],8,Me))}}),Pe=A(c({__name:`Spinner`,props:{size:{type:Number,required:!1,default:14},borderWidth:{type:Number,required:!1,default:2}},setup(e){return(t,n)=>(v(),i(`div`,{class:`spinner`,style:h({width:`${e.size}px`,height:`${e.size}px`,borderWidth:`${e.borderWidth}px`})},null,4))}}),[[`__scopeId`,`data-v-7c461437`]]);const Fe={key:0,class:`ml-video-buffering`,role:`status`,"aria-label":`Buffering`};var Ie=A(c({__name:`Buffering`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=D(e);return(e,n)=>w(t)?.isBuffering?(v(),i(`div`,Fe,[x(e.$slots,`default`,{isBuffering:!0},()=>[s(Pe)],!0)])):r(`v-if`,!0)}}),[[`__scopeId`,`data-v-c446a450`]]);const Le=[`aria-pressed`];var Re=c({__name:`LoopButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=D(e);return(e,n)=>(v(),i(`button`,{type:`button`,class:m([`ml-video-control-btn ml-video-control-btn--toggle ml-video-loop-button`,{"ml-video-control-btn--active ml-video-loop-button--active":w(t)?.isLooping}]),"aria-pressed":w(t)?.isLooping??!1,"aria-label":`Toggle loop`,onClick:n[0]||=e=>w(t)?.toggleLoop()},[x(e.$slots,`default`,{isLooping:w(t)?.isLooping??!1},()=>[s(R,{name:`loop`})])],10,Le))}});const ze=[`aria-pressed`];var Be=c({__name:`PipButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=D(e);return(e,n)=>w(t)?.supportsPip?(v(),i(`button`,{key:0,type:`button`,class:m([`ml-video-control-btn ml-video-control-btn--toggle ml-video-pip-button`,{"ml-video-control-btn--active ml-video-pip-button--active":w(t)?.isPipActive}]),"aria-pressed":w(t)?.isPipActive??!1,"aria-label":`Toggle Picture-in-Picture`,onClick:n[0]||=e=>w(t)?.togglePip()},[x(e.$slots,`default`,{isPipActive:w(t)?.isPipActive??!1},()=>[s(R,{name:`pip`})])],10,ze)):r(`v-if`,!0)}});const z=[.5,.75,1,1.25,1.5,2];function Ve(e){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 He(e){return e.captionTracks.find(t=>t.index===e.activeCaptionIndex)?.label??`Off`}function Ue(e){let t=e.qualityLevels;if(!t.length)return;if(e.isAutoQuality){e.setQuality(t[t.length-1].height);return}let n=t.findIndex(t=>t.height===e.currentQualityHeight);e.setQuality(n<=0?null:t[n-1].height)}function We(e){return e.isAutoQuality?`Auto`:e.qualityLevels.find(t=>t.height===e.currentQualityHeight)?.label??`Auto`}function Ge(e){let t=e.currentPlaybackRate,n=z.indexOf(t);if(n!==-1){e.setPlaybackRate(z[(n+1)%z.length]);return}e.setPlaybackRate(z.find(e=>e>t)??z[0])}function Ke(e){return`${e}×`}const qe=[`aria-label`];var Je=c({__name:`CaptionsButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let n=D(e),a=t(()=>n.value?He(n.value):`Off`);function o(){n.value&&Ve(n.value)}return(e,t)=>w(n)?.supportsCaptions?(v(),i(`button`,{key:0,type:`button`,class:m([`ml-video-control-btn ml-video-control-btn--toggle ml-video-captions-button`,{"ml-video-control-btn--active ml-video-captions-button--active":w(n)?.activeCaptionIndex!==null}]),"aria-label":`Captions: ${a.value}`,onClick:o},[x(e.$slots,`default`,{currentLabel:a.value,tracks:w(n)?.captionTracks??[],activeIndex:w(n)?.activeCaptionIndex??null},()=>[s(R,{name:`captions`})])],10,qe)):r(`v-if`,!0)}});const Ye=[`aria-label`];var Xe=c({__name:`QualityButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let n=D(e),a=t(()=>n.value?We(n.value):`Auto`);function o(){n.value&&Ue(n.value)}return(e,t)=>w(n)?.supportsQuality?(v(),i(`button`,{key:0,type:`button`,class:m([`ml-video-control-btn ml-video-control-btn--toggle ml-video-quality-button`,{"ml-video-control-btn--active ml-video-quality-button--active":!w(n)?.isAutoQuality}]),"aria-label":`Quality: ${a.value}`,onClick:o},[x(e.$slots,`default`,{currentLabel:a.value,levels:w(n)?.qualityLevels??[],currentHeight:w(n)?.currentQualityHeight??null,isAuto:w(n)?.isAutoQuality??!0},()=>[s(R,{name:`quality`})])],10,Ye)):r(`v-if`,!0)}});const Ze=[`aria-label`];var Qe=c({__name:`PlaybackRateButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let n=D(e),a=t(()=>Ke(n.value?.currentPlaybackRate??1));function s(){n.value&&Ge(n.value)}return(e,t)=>w(n)?.supportsPlaybackRate?(v(),i(`button`,{key:0,type:`button`,class:m([`ml-video-control-btn ml-video-control-btn--toggle ml-video-playback-rate-button`,{"ml-video-control-btn--active ml-video-playback-rate-button--active":w(n)?.currentPlaybackRate!==1}]),"aria-label":`Playback speed: ${a.value}`,onClick:s},[x(e.$slots,`default`,{currentLabel:a.value,rate:w(n)?.currentPlaybackRate??1,rates:[...w(z)]},()=>[o(C(a.value),1)])],10,Ze)):r(`v-if`,!0)}});const $e={class:`ml-video-volume-wrap`},et=[`value`],tt={class:`ml-video-volume-pct`};var nt=A(c({inheritAttrs:!1,__name:`VolumeSlider`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let n=D(e),r=t(()=>{let e=n.value;return e?e.isMuted?0:Math.round(e.currentVolume*100):0});function o(e){n.value?.setVolume(Number(e.target.value)/100)}return(e,t)=>(v(),i(`div`,$e,[a(`input`,f({type:`range`,min:`0`,max:`100`,step:`1`,value:r.value,class:`ml-video-volume-slider`,style:{"--v":`${r.value}%`},"aria-label":`Volume`,onInput:o},e.$attrs),null,16,et),x(e.$slots,`default`,{percent:r.value},()=>[a(`span`,tt,C(r.value)+`%`,1)],!0)]))}}),[[`__scopeId`,`data-v-512c68f4`]]);const rt={class:`ml-video-time-display__time`},it={class:`ml-video-time-display__total`};var at=A(c({__name:`TimeDisplay`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(t){let n=D(t);return(t,r)=>(v(),i(`span`,{class:m([`ml-video-time-display`,{"ml-video-time-display--live":w(n)?.isLive}])},[x(t.$slots,`default`,{isLive:w(n)?.isLive??!1,currentTime:w(n)?.currentTime??0,duration:w(n)?.duration??0,formatTime:w(O)},()=>[w(n)?.isLive?(v(),i(e,{key:0},[r[0]||=a(`span`,{class:`ml-video-time-display__dot`},null,-1),r[1]||=o(`Live `,-1)],64)):(v(),i(e,{key:1},[a(`span`,rt,C(w(O)(w(n)?.currentTime??0)),1),a(`span`,it,`/ `+C(w(O)(w(n)?.duration??0)),1)],64))],!0)],2))}}),[[`__scopeId`,`data-v-d2dbce42`]]);function ot(e,t,n,r={}){let i=typeof window<`u`&&`speechSynthesis`in window,a=y(!1),o=y(!1);function s(){o.value&&e.value?.isMuted&&e.value.toggleMute(),o.value=!1}function c(){if(i){if(a.value=!a.value,a.value){e.value&&!e.value.isMuted&&(e.value.toggleMute(),o.value=!0);return}window.speechSynthesis.cancel(),s()}}return T(n,e=>{if(!i||!a.value||e===null)return;let n=t.value[e];if(!n)return;window.speechSynthesis.cancel();let o=new SpeechSynthesisUtterance(n.text);r.pitch!==void 0&&(o.pitch=r.pitch),r.rate!==void 0&&(o.rate=r.rate),window.speechSynthesis.speak(o)}),T(()=>e.value?.isMuted,e=>{i&&a.value&&e===!1&&(window.speechSynthesis.cancel(),a.value=!1,o.value=!1)}),g(()=>{i&&window.speechSynthesis.cancel(),a.value&&s()}),{canSpeak:i,speechEnabled:a,toggleSpeech:c}}const st=[`aria-label`,`aria-pressed`],B=[`aria-current`,`onClick`],ct={class:`ml-video-transcript__time`},lt={class:`ml-video-transcript__text`};var ut=A(c({inheritAttrs:!1,__name:`Transcript`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1},cues:{type:[Array,String],required:!1},speechPitch:{type:Number,required:!1},speechRate:{type:Number,required:!1}},setup(o){let s=o,c=D(s),l=t(()=>{if(typeof s.cues!=`string`)return s.cues??[];try{return JSON.parse(s.cues)}catch{return[]}}),u=t(()=>{let e=c.value?.currentTime??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}),d=y(null),h=y(!1);function g(e){let t=c.value;t&&(t.seek(e.time),t.play().catch(()=>{}))}T(u,async e=>{e===null||h.value||(await p(),d.value?.querySelector(`.ml-video-transcript__cue--active`)?.scrollIntoView?.({block:`nearest`,behavior:`smooth`}))});let{canSpeak:_,speechEnabled:S,toggleSpeech:E}=ot(c,l,u,{pitch:s.speechPitch,rate:s.speechRate});return(t,o)=>(v(),i(e,null,[w(_)?(v(),i(`button`,{key:0,type:`button`,class:`ml-video-transcript__speech-toggle`,"aria-label":w(S)?`Mute transcript readout`:`Unmute transcript readout`,"aria-pressed":w(S),onClick:o[0]||=(...e)=>w(E)&&w(E)(...e)},[w(S)?(v(),n(R,{key:0,name:`volume-on`})):(v(),n(R,{key:1,name:`volume-mute`}))],8,st)):r(`v-if`,!0),a(`ol`,f({ref_key:`listEl`,ref:d,class:`ml-video-transcript`},t.$attrs,{onPointerenter:o[1]||=e=>h.value=!0,onPointerleave:o[2]||=e=>h.value=!1}),[(v(!0),i(e,null,b(l.value,(e,n)=>(v(),i(`li`,{key:`${e.time}-${n}`,class:`ml-video-transcript__item`},[a(`button`,{type:`button`,class:m([`ml-video-transcript__cue`,{"ml-video-transcript__cue--active":n===u.value}]),"aria-current":n===u.value?`true`:void 0,onClick:t=>g(e)},[x(t.$slots,`default`,{cue:e,index:n,isActive:n===u.value,formatTime:w(O)},()=>[a(`span`,ct,C(w(O)(e.time)),1),a(`span`,lt,C(e.text),1)],!0)],10,B)]))),128))],16)],64))}}),[[`__scopeId`,`data-v-3cf9e708`]]);const V=l(ie,{shadowRoot:!1}),H=l(Oe,{shadowRoot:!1}),U=l(je,{shadowRoot:!1}),W=l(Ne,{shadowRoot:!1}),G=l(Ie,{shadowRoot:!1}),K=l(Re,{shadowRoot:!1}),q=l(Be,{shadowRoot:!1}),J=l(Je,{shadowRoot:!1}),Y=l(Xe,{shadowRoot:!1}),X=l(Qe,{shadowRoot:!1}),Z=l(nt,{shadowRoot:!1}),Q=l(at,{shadowRoot:!1}),$=l(ut,{shadowRoot:!1});customElements.define(`ml-video-scrubber`,V),customElements.define(`ml-video-play-button`,H),customElements.define(`ml-video-mute-button`,U),customElements.define(`ml-video-fullscreen-button`,W),customElements.define(`ml-video-buffering`,G),customElements.define(`ml-video-loop-button`,K),customElements.define(`ml-video-pip-button`,q),customElements.define(`ml-video-captions-button`,J),customElements.define(`ml-video-quality-button`,Y),customElements.define(`ml-video-playback-rate-button`,X),customElements.define(`ml-video-volume-slider`,Z),customElements.define(`ml-video-time-display`,Q),customElements.define(`ml-video-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,h as u,inject as d,mergeProps as f,nextTick as p,normalizeClass as m,normalizeStyle as h,onBeforeUnmount as g,onMounted as _,openBlock as v,ref as y,renderList as b,renderSlot as x,shallowRef as S,toDisplayString as C,unref as w,watch as T}from"vue";function E(e){let n=y(!1),r=y(null),i=!1,a=null,o=!1,s=t(()=>{let t=e.value;return t?.duration?t.currentTime/t.duration*100:0}),c=t(()=>r.value??s.value),l=t(()=>r.value!==null),u=t(()=>{let t=e.value?.duration??0;return c.value/100*t});function d(){a&&clearTimeout(a),a=null}function f(){d(),r.value=null}function p(e){n.value||=(i=e.isPlaying,e.pause(),!0)}function m(e){return Number(e.target.value)}function h(t){let o=e.value;o&&!n.value&&p(o),n.value=!1,o&&(r.value=t,o.seek(t*(o.duration||0)/100),i&&o.play().catch(()=>{}),d(),a=setTimeout(f,3e3))}function _(t){let n=e.value;n?.duration&&(p(n),d(),r.value=m(t))}function v(e){n.value&&(o=!0,h(m(e)))}function b(){o=!1}function x(t){if(o){o=!1;return}e.value?.duration&&h(m(t))}function S(){n.value&&(n.value=!1,i&&e.value?.play().catch(()=>{}),f())}return T(()=>e.value?.currentTime,()=>{let t=e.value;if(r.value===null||!t?.duration)return;let n=r.value/100*t.duration;Math.abs(t.currentTime-n)<1&&f()}),g(f),{scrubbing:l,displayPercent:c,previewSeconds:u,onInput:_,onChange:v,onTouchStart:b,onTouchEnd:x,onPointerCancel:S}}const ee=Symbol(`player`);function te(e){return typeof e?.togglePlay==`function`}function D(e){let n=d(ee,null),r=S(null),i=null,a=!1;function o(){i?.disconnect(),i=null}function s(e){let t=document.getElementById(e);return te(t)?(r.value=t,o(),!0):!1}function c(){o(),r.value=null;let t=e.for;if(!t||a||s(t))return;let n=document.getElementById(t)?.tagName.toLowerCase();n?.includes(`-`)&&customElements.whenDefined(n).then(()=>{!a&&e.for===t&&s(t)}),p(()=>{a||e.for!==t||r.value||s(t)||(i=new MutationObserver(()=>s(t)),i.observe(document.body,{childList:!0,subtree:!0}))})}return _(c),T(()=>e.for,c),g(()=>{a=!0,o()}),t(()=>e.player??r.value??n??null)}function O(e,t=!1){if(!e||isNaN(e)||e<0)return`0:00`;let n=t?Math.round(e):Math.floor(e),r=Math.floor(n/3600),i=Math.floor(n%3600/60),a=String(n%60).padStart(2,`0`);return r?`${r}:${String(i).padStart(2,`0`)}:${a}`:`${i}:${a}`}const ne={class:`ml-video-scrubber-wrap`},k=[`value`,`aria-valuetext`];var re=c({inheritAttrs:!1,__name:`Scrubber`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=D(e),{scrubbing:n,displayPercent:o,previewSeconds:s,onInput:c,onChange:l,onTouchStart:u,onTouchEnd:d,onPointerCancel:p}=E(t),m=e=>O(e,!0);return(e,g)=>(v(),i(`div`,ne,[a(`input`,f({type:`range`,min:`0`,max:`100`,step:`0.5`,value:w(o),class:`ml-video-scrubber`,style:{"--p":`${w(o)}%`,"--b":`${w(t)?.bufferedDisplay??0}%`},"aria-label":`Seek`,"aria-valuetext":`${m(w(s))} of ${m(w(t)?.duration??0)}`,onInput:g[0]||=(...e)=>w(c)&&w(c)(...e),onChange:g[1]||=(...e)=>w(l)&&w(l)(...e),onTouchstart:g[2]||=(...e)=>w(u)&&w(u)(...e),onTouchend:g[3]||=(...e)=>w(d)&&w(d)(...e),onPointercancel:g[4]||=(...e)=>w(p)&&w(p)(...e)},e.$attrs),null,16,k),x(e.$slots,`preview`,{scrubbing:w(n),percent:w(o),previewSeconds:w(s),formatTime:m},()=>[w(n)?(v(),i(`div`,{key:0,class:`ml-video-scrubber__preview`,style:h({left:`${w(o)}%`})},C(m(w(s))),5)):r(`v-if`,!0)],!0)]))}}),A=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},ie=A(re,[[`__scopeId`,`data-v-00e26db0`]]);function ae(e,t){if(t.library!==void 0)return t.library;if(e.defaultLibrary!==null)return e.defaultLibrary;if(e.libraries.size===1)return e.libraries.keys().next().value}function oe(e,t,n){return{tag:`span`,className:`icon-svg`,html:typeof e==`function`?e({...t,library:n}):e}}function se(e,t,n){if(n!==void 0){let r=e.libraryOverrides.get(n)?.get(t);if(r!==void 0)return r}return e.overrides.get(t)}function j(e,t,n){let r={name:t,variant:n.variant},i=ae(e,n),a=se(e,t,i);return{request:r,source:i===void 0?void 0:e.libraries.get(i),override:a===void 0?void 0:oe(a,r,i)}}function ce({request:e,source:t,override:n}){return n||t?.resolveSync?.(e)}function M(e,t){return e?.resolveSync?.(t)||e?.resolve?.(t)}function le(e,t){let n,r=!1,i=e.then(e=>{if(r)return e.dispose?.();n=e,t(e)});return[{resolveSync(e){return n?.resolveSync?.(e)},async resolve(e){return await i,M(n,e)},dispose(){r=!0,n?.dispose?.()}},i]}function ue(e){return`resolveSync`in e||`resolve`in e}async function de(e,t){if(`resolver`in t||`icons`in t){let{svgLibrary:e}=await import(`./chunks/svg-BLBI83Ed-BjsPx0LR.mjs`);return e(t)}if(`className`in t){let{fontLibrary:e}=await import(`./chunks/font-KFHs3p_4-KFHs3p_4.mjs`);return e(t)}throw Error(`Unrecognised library config for "${e}"`)}function fe(){return{overrides:new Map,libraryOverrides:new Map,libraries:new Map,listeners:new Set,defaultLibrary:null}}function pe({listeners:e}){for(let t of e)t()}function me(){let e=fe();function t(e,t){let n=e.get(t);return n===void 0&&(n=new Map,e.set(t,n)),n}function n(){pe(e)}return{version:`0.1.0`,get defaultLibrary(){return e.defaultLibrary},get libraries(){return[...e.libraries.keys()]},register(t,r,i={}){if(e.libraries.get(t)?.dispose?.(),i.default&&(e.defaultLibrary=t),ue(r))return e.libraries.set(t,r),n(),Promise.resolve();let[a,o]=le(de(t,r),r=>{e.libraries.get(t)===a&&(e.libraries.set(t,r),n())});return e.libraries.set(t,a),n(),o.catch(r=>{throw e.defaultLibrary===t&&(e.defaultLibrary=null,n()),r})},unregister(t){e.libraries.get(t)?.dispose?.(),e.libraries.delete(t),e.defaultLibrary===t&&(e.defaultLibrary=null),n()},use(t){e.defaultLibrary=t,n()},override(r,i,a){let o,s;typeof r==`string`?(o=[[r,i??null]],s=a):(o=Object.entries(r),s=i);let c=s?.library===void 0?e.overrides:t(e.libraryOverrides,s.library);for(let[e,t]of o)t===null?c.delete(e):c.set(e,t);n()},getIconSync(t,n={}){return ce(j(e,t,n))},async getIcon(t,n={}){let{request:r,source:i,override:a}=j(e,t,n);if(a)return a;try{return await M(i,r)}catch(e){import.meta.env?.DEV&&console.warn(`[sigil] "${t}" failed to resolve`,e);return}},subscribe(t){return e.listeners.add(t),()=>{e.listeners.delete(t)}},clear(){for(let t of e.libraries.values())t.dispose?.();e.overrides.clear(),e.libraryOverrides.clear(),e.libraries.clear(),e.defaultLibrary=null,n()}}}const he=Symbol.for(`@munsonlabs/sigil`),ge=globalThis,N=ge[he]??=me(),{register:_e,unregister:ve,override:ye,use:be,getIcon:xe,getIconSync:Se,subscribe:Ce,clear:we}=N;function P(e,t,n,r=N){let i=0,a=r.subscribe(()=>void o());async function o(){let a=++i,o=r.getIconSync(e,t);if(o)return n(o);let s=await r.getIcon(e,t);a===i&&n(s)}return o(),()=>{i++,a()}}const F=c({name:`Sigil`,inheritAttrs:!1,props:{name:{type:String,required:!0},library:{type:String,default:void 0},variant:{type:String,default:void 0}},setup(e,{attrs:t}){let n=S();return T(()=>[e.name,e.library,e.variant],([e,t,r],i,a)=>{a(P(e,{library:t,variant:r},e=>{n.value=e}))},{immediate:!0}),()=>{let e=n.value;if(!e)return null;let r={...t,class:[e.className,t.class],"aria-hidden":`true`};return e.html===void 0?u(e.tag,r,e.text):u(e.tag,{...r,innerHTML:e.html})}}});function I(e,t,n=N){function r(){n.libraries.includes(e)||n.register(e,t)}return r(),n.subscribe(r)}const L={back:`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z"/></svg>`,captions:`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="5" width="20" height="14" rx="2"/><path d="M9.5 10.5a2 2 0 0 0-3.5 1.3v.4a2 2 0 0 0 3.5 1.3"/><path d="M17.5 10.5a2 2 0 0 0-3.5 1.3v.4a2 2 0 0 0 3.5 1.3"/></svg>`,close:`<svg viewBox="0 0 24 24" fill="currentColor"><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"/></svg>`,controls:`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="4" y1="6" x2="20" y2="6"/><line x1="4" y1="12" x2="20" y2="12"/><line x1="4" y1="18" x2="20" y2="18"/><circle cx="9" cy="6" r="2.5" fill="currentColor" stroke="none"/><circle cx="15" cy="12" r="2.5" fill="currentColor" stroke="none"/><circle cx="9" cy="18" r="2.5" fill="currentColor" stroke="none"/></svg>`,expand:`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M4 12l1.41 1.41L11 7.83V20h2V7.83l5.59 5.58L20 12l-8-8-8 8z"/></svg>`,"fullscreen-enter":`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"/></svg>`,"fullscreen-exit":`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z"/></svg>`,loop:`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M7 7h10v3l4-4-4-4v3H5v6h2V7zm10 10H7v-3l-4 4 4 4v-3h12v-6h-2v4z"/></svg>`,more:`<svg viewBox="0 0 24 24" fill="currentColor"><circle cx="5" cy="12" r="2"/><circle cx="12" cy="12" r="2"/><circle cx="19" cy="12" r="2"/></svg>`,pause:`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M6 19h4V5H6v14zm8-14v14h4V5h-4z"/></svg>`,pip:`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="4" width="20" height="16" rx="2"/><rect x="12" y="11" width="8" height="6" rx="1" fill="currentColor" stroke="none"/></svg>`,play:`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M8 5v14l11-7z"/></svg>`,quality:`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="6" width="20" height="12" rx="2"/><path d="M7 14v-4M12 14V8M17 14v-2"/></svg>`,replay:`<svg viewBox="0 0 24 24" fill="currentColor"><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"/></svg>`,"skip-next":`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M6 18l8.5-6L6 6v12zM16 6v12h2V6h-2z"/></svg>`,"volume-mute":`<svg viewBox="0 0 24 24" fill="currentColor"><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"/></svg>`,"volume-on":`<svg viewBox="0 0 24 24" fill="currentColor"><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"/></svg>`};let Te;function Ee(){Te??=I(`mlv`,{resolveSync({name:e}){let t=L[e];if(t!==void 0)return{tag:`span`,className:`icon-svg`,html:t}}})}Ee();var R=A(c({__name:`Icon`,props:{name:{type:String,required:!0}},setup(e){return(t,r)=>(v(),n(w(F),{name:e.name,library:`mlv`,class:`ml-video-icon`},null,8,[`name`]))}}),[[`__scopeId`,`data-v-466b80a9`]]);const De=[`aria-label`];var Oe=c({__name:`PlayButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let r=D(e),a=t(()=>r.value?.isError?`error`:r.value?.hasEnded?`ended`:r.value?.isPlaying?`playing`:`idle`),o=t(()=>{switch(a.value){case`error`:return`Retry`;case`ended`:return`Replay`;case`playing`:return`Pause`;default:return`Play`}});function s(){let e=r.value;e&&(e.isError?e.retry():e.togglePlay())}return(e,t)=>(v(),i(`button`,{type:`button`,class:`ml-video-control-btn ml-video-play-button`,"aria-label":o.value,onClick:s},[x(e.$slots,`default`,{isPlaying:w(r)?.isPlaying??!1,hasEnded:w(r)?.hasEnded??!1,isError:w(r)?.isError??!1},()=>[a.value===`error`||a.value===`ended`?(v(),n(R,{key:0,name:`replay`})):a.value===`playing`?(v(),n(R,{key:1,name:`pause`})):(v(),n(R,{key:2,name:`play`}))])],8,De))}}),ke=c({__name:`VolumeIcon`,props:{isAudible:{type:Boolean,required:!0}},setup(e){return(t,r)=>e.isAudible?(v(),n(R,{key:0,name:`volume-on`})):(v(),n(R,{key:1,name:`volume-mute`}))}});const Ae=[`aria-pressed`,`aria-label`];var je=c({__name:`MuteButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=D(e);return(e,n)=>(v(),i(`button`,{type:`button`,class:`ml-video-control-btn ml-video-mute-button`,"aria-pressed":w(t)?.isMuted??!1,"aria-label":w(t)?.isMuted?`Unmute`:`Mute`,onClick:n[0]||=e=>w(t)?.toggleMute()},[x(e.$slots,`default`,{isMuted:w(t)?.isMuted??!1},()=>[s(ke,{"is-audible":w(t)?.isAudible??!1},null,8,[`is-audible`])])],8,Ae))}});const Me=[`aria-label`];var Ne=c({__name:`FullscreenButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=D(e);return(e,r)=>(v(),i(`button`,{type:`button`,class:`ml-video-control-btn ml-video-fullscreen-button`,"aria-label":w(t)?.isFullscreen?`Exit fullscreen`:`Enter fullscreen`,onClick:r[0]||=e=>w(t)?.toggleFullscreen()},[x(e.$slots,`default`,{isFullscreen:w(t)?.isFullscreen??!1},()=>[w(t)?.isFullscreen?(v(),n(R,{key:0,name:`fullscreen-exit`})):(v(),n(R,{key:1,name:`fullscreen-enter`}))])],8,Me))}}),Pe=A(c({__name:`Spinner`,props:{size:{type:Number,required:!1,default:14},borderWidth:{type:Number,required:!1,default:2}},setup(e){return(t,n)=>(v(),i(`div`,{class:`spinner`,style:h({width:`${e.size}px`,height:`${e.size}px`,borderWidth:`${e.borderWidth}px`})},null,4))}}),[[`__scopeId`,`data-v-7c461437`]]);const Fe={key:0,class:`ml-video-buffering`,role:`status`,"aria-label":`Buffering`};var Ie=A(c({__name:`Buffering`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=D(e);return(e,n)=>w(t)?.isBuffering?(v(),i(`div`,Fe,[x(e.$slots,`default`,{isBuffering:!0},()=>[s(Pe)],!0)])):r(`v-if`,!0)}}),[[`__scopeId`,`data-v-c446a450`]]);const Le=[`aria-pressed`];var Re=c({__name:`LoopButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=D(e);return(e,n)=>(v(),i(`button`,{type:`button`,class:m([`ml-video-control-btn ml-video-control-btn--toggle ml-video-loop-button`,{"ml-video-control-btn--active ml-video-loop-button--active":w(t)?.isLooping}]),"aria-pressed":w(t)?.isLooping??!1,"aria-label":`Toggle loop`,onClick:n[0]||=e=>w(t)?.toggleLoop()},[x(e.$slots,`default`,{isLooping:w(t)?.isLooping??!1},()=>[s(R,{name:`loop`})])],10,Le))}});const ze=[`aria-pressed`];var Be=c({__name:`PipButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=D(e);return(e,n)=>w(t)?.supportsPip?(v(),i(`button`,{key:0,type:`button`,class:m([`ml-video-control-btn ml-video-control-btn--toggle ml-video-pip-button`,{"ml-video-control-btn--active ml-video-pip-button--active":w(t)?.isPipActive}]),"aria-pressed":w(t)?.isPipActive??!1,"aria-label":`Toggle Picture-in-Picture`,onClick:n[0]||=e=>w(t)?.togglePip()},[x(e.$slots,`default`,{isPipActive:w(t)?.isPipActive??!1},()=>[s(R,{name:`pip`})])],10,ze)):r(`v-if`,!0)}});const z=[.5,.75,1,1.25,1.5,2];function Ve(e){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 He(e){return e.captionTracks.find(t=>t.index===e.activeCaptionIndex)?.label??`Off`}function Ue(e){let t=e.qualityLevels;if(!t.length)return;if(e.isAutoQuality){e.setQuality(t[t.length-1].height);return}let n=t.findIndex(t=>t.height===e.currentQualityHeight);e.setQuality(n<=0?null:t[n-1].height)}function We(e){return e.isAutoQuality?`Auto`:e.qualityLevels.find(t=>t.height===e.currentQualityHeight)?.label??`Auto`}function Ge(e){let t=e.currentPlaybackRate,n=z.indexOf(t);if(n!==-1){e.setPlaybackRate(z[(n+1)%z.length]);return}e.setPlaybackRate(z.find(e=>e>t)??z[0])}function Ke(e){return`${e}×`}const qe=[`aria-label`];var Je=c({__name:`CaptionsButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let n=D(e),a=t(()=>n.value?He(n.value):`Off`);function o(){n.value&&Ve(n.value)}return(e,t)=>w(n)?.supportsCaptions?(v(),i(`button`,{key:0,type:`button`,class:m([`ml-video-control-btn ml-video-control-btn--toggle ml-video-captions-button`,{"ml-video-control-btn--active ml-video-captions-button--active":w(n)?.activeCaptionIndex!==null}]),"aria-label":`Captions: ${a.value}`,onClick:o},[x(e.$slots,`default`,{currentLabel:a.value,tracks:w(n)?.captionTracks??[],activeIndex:w(n)?.activeCaptionIndex??null},()=>[s(R,{name:`captions`})])],10,qe)):r(`v-if`,!0)}});const Ye=[`aria-label`];var Xe=c({__name:`QualityButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let n=D(e),a=t(()=>n.value?We(n.value):`Auto`);function o(){n.value&&Ue(n.value)}return(e,t)=>w(n)?.supportsQuality?(v(),i(`button`,{key:0,type:`button`,class:m([`ml-video-control-btn ml-video-control-btn--toggle ml-video-quality-button`,{"ml-video-control-btn--active ml-video-quality-button--active":!w(n)?.isAutoQuality}]),"aria-label":`Quality: ${a.value}`,onClick:o},[x(e.$slots,`default`,{currentLabel:a.value,levels:w(n)?.qualityLevels??[],currentHeight:w(n)?.currentQualityHeight??null,isAuto:w(n)?.isAutoQuality??!0},()=>[s(R,{name:`quality`})])],10,Ye)):r(`v-if`,!0)}});const Ze=[`aria-label`];var Qe=c({__name:`PlaybackRateButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let n=D(e),a=t(()=>Ke(n.value?.currentPlaybackRate??1));function s(){n.value&&Ge(n.value)}return(e,t)=>w(n)?.supportsPlaybackRate?(v(),i(`button`,{key:0,type:`button`,class:m([`ml-video-control-btn ml-video-control-btn--toggle ml-video-playback-rate-button`,{"ml-video-control-btn--active ml-video-playback-rate-button--active":w(n)?.currentPlaybackRate!==1}]),"aria-label":`Playback speed: ${a.value}`,onClick:s},[x(e.$slots,`default`,{currentLabel:a.value,rate:w(n)?.currentPlaybackRate??1,rates:[...w(z)]},()=>[o(C(a.value),1)])],10,Ze)):r(`v-if`,!0)}});const $e={class:`ml-video-volume-wrap`},et=[`value`],tt={class:`ml-video-volume-pct`};var nt=A(c({inheritAttrs:!1,__name:`VolumeSlider`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let n=D(e),r=t(()=>{let e=n.value;return e?e.isMuted?0:Math.round(e.currentVolume*100):0});function o(e){n.value?.setVolume(Number(e.target.value)/100)}return(e,t)=>(v(),i(`div`,$e,[a(`input`,f({type:`range`,min:`0`,max:`100`,step:`1`,value:r.value,class:`ml-video-volume-slider`,style:{"--v":`${r.value}%`},"aria-label":`Volume`,onInput:o},e.$attrs),null,16,et),x(e.$slots,`default`,{percent:r.value},()=>[a(`span`,tt,C(r.value)+`%`,1)],!0)]))}}),[[`__scopeId`,`data-v-512c68f4`]]);const rt={class:`ml-video-time-display__time`},it={class:`ml-video-time-display__total`};var at=A(c({__name:`TimeDisplay`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(t){let n=D(t);return(t,r)=>(v(),i(`span`,{class:m([`ml-video-time-display`,{"ml-video-time-display--live":w(n)?.isLive}])},[x(t.$slots,`default`,{isLive:w(n)?.isLive??!1,currentTime:w(n)?.currentTime??0,duration:w(n)?.duration??0,formatTime:w(O)},()=>[w(n)?.isLive?(v(),i(e,{key:0},[r[0]||=a(`span`,{class:`ml-video-time-display__dot`},null,-1),r[1]||=o(`Live `,-1)],64)):(v(),i(e,{key:1},[a(`span`,rt,C(w(O)(w(n)?.currentTime??0)),1),a(`span`,it,`/ `+C(w(O)(w(n)?.duration??0)),1)],64))],!0)],2))}}),[[`__scopeId`,`data-v-d2dbce42`]]);function ot(e,t,n,r={}){let i=typeof window<`u`&&`speechSynthesis`in window,a=y(!1),o=y(!1);function s(){o.value&&e.value?.isMuted&&e.value.toggleMute(),o.value=!1}function c(){if(i){if(a.value=!a.value,a.value){e.value&&!e.value.isMuted&&(e.value.toggleMute(),o.value=!0);return}window.speechSynthesis.cancel(),s()}}return T(n,e=>{if(!i||!a.value||e===null)return;let n=t.value[e];if(!n)return;window.speechSynthesis.cancel();let o=new SpeechSynthesisUtterance(n.text);r.pitch!==void 0&&(o.pitch=r.pitch),r.rate!==void 0&&(o.rate=r.rate),window.speechSynthesis.speak(o)}),T(()=>e.value?.isMuted,e=>{i&&a.value&&e===!1&&(window.speechSynthesis.cancel(),a.value=!1,o.value=!1)}),g(()=>{i&&window.speechSynthesis.cancel(),a.value&&s()}),{canSpeak:i,speechEnabled:a,toggleSpeech:c}}const st=[`aria-label`,`aria-pressed`],B=[`aria-current`,`onClick`],ct={class:`ml-video-transcript__time`},lt={class:`ml-video-transcript__text`};var ut=A(c({inheritAttrs:!1,__name:`Transcript`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1},cues:{type:[Array,String],required:!1},speechPitch:{type:Number,required:!1},speechRate:{type:Number,required:!1}},setup(o){let s=o,c=D(s),l=t(()=>{if(typeof s.cues!=`string`)return s.cues??[];try{return JSON.parse(s.cues)}catch{return[]}}),u=t(()=>{let e=c.value?.currentTime??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}),d=y(null),h=y(!1);function g(e){let t=c.value;t&&(t.seek(e.time),t.play().catch(()=>{}))}T(u,async e=>{e===null||h.value||(await p(),d.value?.querySelector(`.ml-video-transcript__cue--active`)?.scrollIntoView?.({block:`nearest`,behavior:`smooth`}))});let{canSpeak:_,speechEnabled:S,toggleSpeech:E}=ot(c,l,u,{pitch:s.speechPitch,rate:s.speechRate});return(t,o)=>(v(),i(e,null,[w(_)?(v(),i(`button`,{key:0,type:`button`,class:`ml-video-transcript__speech-toggle`,"aria-label":w(S)?`Mute transcript readout`:`Unmute transcript readout`,"aria-pressed":w(S),onClick:o[0]||=(...e)=>w(E)&&w(E)(...e)},[w(S)?(v(),n(R,{key:0,name:`volume-on`})):(v(),n(R,{key:1,name:`volume-mute`}))],8,st)):r(`v-if`,!0),a(`ol`,f({ref_key:`listEl`,ref:d,class:`ml-video-transcript`},t.$attrs,{onPointerenter:o[1]||=e=>h.value=!0,onPointerleave:o[2]||=e=>h.value=!1}),[(v(!0),i(e,null,b(l.value,(e,n)=>(v(),i(`li`,{key:`${e.time}-${n}`,class:`ml-video-transcript__item`},[a(`button`,{type:`button`,class:m([`ml-video-transcript__cue`,{"ml-video-transcript__cue--active":n===u.value}]),"aria-current":n===u.value?`true`:void 0,onClick:t=>g(e)},[x(t.$slots,`default`,{cue:e,index:n,isActive:n===u.value,formatTime:w(O)},()=>[a(`span`,ct,C(w(O)(e.time)),1),a(`span`,lt,C(e.text),1)],!0)],10,B)]))),128))],16)],64))}}),[[`__scopeId`,`data-v-3cf9e708`]]);const V=l(ie,{shadowRoot:!1}),H=l(Oe,{shadowRoot:!1}),U=l(je,{shadowRoot:!1}),W=l(Ne,{shadowRoot:!1}),G=l(Ie,{shadowRoot:!1}),K=l(Re,{shadowRoot:!1}),q=l(Be,{shadowRoot:!1}),J=l(Je,{shadowRoot:!1}),Y=l(Xe,{shadowRoot:!1}),X=l(Qe,{shadowRoot:!1}),Z=l(nt,{shadowRoot:!1}),Q=l(at,{shadowRoot:!1}),$=l(ut,{shadowRoot:!1});customElements.define(`ml-video-scrubber`,V),customElements.define(`ml-video-play-button`,H),customElements.define(`ml-video-mute-button`,U),customElements.define(`ml-video-fullscreen-button`,W),customElements.define(`ml-video-buffering`,G),customElements.define(`ml-video-loop-button`,K),customElements.define(`ml-video-pip-button`,q),customElements.define(`ml-video-captions-button`,J),customElements.define(`ml-video-quality-button`,Y),customElements.define(`ml-video-playback-rate-button`,X),customElements.define(`ml-video-volume-slider`,Z),customElements.define(`ml-video-time-display`,Q),customElements.define(`ml-video-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.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.ml-video-media{border-radius:var(--ml-video-radius,12px);object-fit:cover;background:#000;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.ml-video-dailymotion .ml-video-tech>*,.ml-video-dailymotion .dailymotion-player-root,.ml-video-dailymotion iframe{width:100%!important;height:100%!important;position:absolute!important;inset:0!important}.ml-video-vimeo .ml-video-tech>div{width:100%!important;height:100%!important;padding:0!important;position:absolute!important;top:0!important;left:0!important}.ml-video-vimeo iframe{width:100%!important;height:100%!important;position:absolute!important;top:0!important;left:0!important}[data-ml-video-player] .ima-ad-container{pointer-events:none;z-index:20!important;width:100%!important;height:100%!important;position:absolute!important;top:0!important;left:0!important}.ml-video-ad-playing .ima-ad-container{pointer-events:auto}.ml-video-ad-playing .overlay__hud,.ml-video-ad-playing .overlay__spinner{display:none!important}:where(.ml-video-control-btn){all:unset;cursor:pointer;justify-content:center;align-items:center;display:inline-flex}:where(.ml-video-control-btn):focus-visible{outline-offset:2px;outline:2px solid #fff}:where(.ml-video-control-btn) svg{width:1em;height:1em}:where(.ml-video-control-btn--toggle){opacity:.6}:where(.ml-video-control-btn--toggle.ml-video-control-btn--active){opacity:1}.ml-video-icon[data-v-466b80a9]{display:contents}@keyframes spin-7c461437{to{transform:rotate(360deg)}}.spinner[data-v-7c461437]{border-style:solid;border-color:#fffc #ffffff26 #ffffff26;border-radius:50%;animation:.75s linear infinite spin-7c461437}:where(.ml-video-buffering[data-v-c446a450]){justify-content:center;align-items:center;display:inline-flex}.ppbtn{backdrop-filter:blur(12px);will-change:backdrop-filter;color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,transform .15s;display:flex}.ppbtn:hover{background:#fff3;transform:scale(1.08)}.ppbtn--lg{background:var(--ml-video-btn-bg,#ffffff1a);width:clamp(48px,20cqw,64px);height:clamp(48px,20cqw,64px);color:var(--ml-video-btn-color,#fff)}.ppbtn--lg svg{width:clamp(20px,9cqw,28px);height:clamp(20px,9cqw,28px)}.ppbtn--lg:hover{background:var(--ml-video-btn-bg,#fff3);filter:brightness(1.12)}.ppbtn--sm{color:#ffffffbf;background:0 0;border:none;border-radius:8px;width:30px;height:30px}.ppbtn--sm svg{width:16px;height:16px}.ppbtn--sm:hover{color:#fff;background:#ffffff1a;transform:none}.hud[data-v-58e9bcdd]{align-items:center;gap:clamp(12px,5cqw,20px);display:flex}.hud__play-wrap[data-v-58e9bcdd]{display:flex;position:relative}.hud__buf-spinner[data-v-58e9bcdd]{margin-top:8px;position:absolute;top:100%;left:calc(50% - 7px)}.hud__spacer[data-v-58e9bcdd]{flex-shrink:0;width:clamp(36px,14cqw,44px);height:clamp(36px,14cqw,44px)}.hud__btn[data-v-58e9bcdd]{background:var(--ml-video-btn-bg,#ffffff1a);backdrop-filter:blur(12px);will-change:backdrop-filter;width:clamp(36px,14cqw,44px);height:clamp(36px,14cqw,44px);color:var(--ml-video-btn-color,#fff);cursor:pointer;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,transform .15s;display:flex}.hud__btn[data-v-58e9bcdd] svg{width:clamp(16px,6cqw,18px);height:clamp(16px,6cqw,18px)}.hud__btn[data-v-58e9bcdd]:hover{background:var(--ml-video-btn-bg,#fff3);filter:brightness(1.12);transform:scale(1.08)}.hud__btn--active[data-v-58e9bcdd]{border-color:var(--ml-video-accent,#3b82f6);background:color-mix(in srgb, var(--ml-video-accent,#3b82f6) 30%, var(--ml-video-btn-bg,#ffffff1a));color:var(--ml-video-btn-color,#fff)}.hud__btn--active[data-v-58e9bcdd]:hover{background:color-mix(in srgb, var(--ml-video-accent,#3b82f6) 45%, var(--ml-video-btn-bg,#fff3))}.controls__btn{color:#ffffffbf;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s,color .15s;display:flex}.controls__inner:has(.controls__more-body){flex-direction:column;max-width:100%;height:100%;display:flex;overflow:auto}.controls__btn svg{width:16px;height:16px}.controls__btn:hover{color:#fff;background:#ffffff1a}.controls--compact .controls__seek,.controls--compact .ml-video-scrubber-wrap,.controls--compact .ml-video-time-display__total,.controls--compact .controls__btn--pip,.controls--compact .controls__btn--next,.controls--compact .controls__btn--volume{display:none}.controls__seek{-webkit-appearance:none;appearance:none;cursor:pointer;box-sizing:border-box;background:padding-box content-box;background-image:linear-gradient(to right, var(--ml-video-accent,#3b82f6) 0%, var(--ml-video-accent,#3b82f6) var(--p), #ffffff4d var(--p), #ffffff4d var(--b), #ffffff1a var(--b), #ffffff1a 100%);outline:none;width:100%;height:20px;padding:8px 0}.controls__seek::-webkit-slider-runnable-track{background:0 0;height:4px}.controls__seek::-webkit-slider-thumb{-webkit-appearance:none;background:var(--ml-video-accent,#3b82f6);width:14px;height:14px;box-shadow:0 0 0 3px color-mix(in srgb, var(--ml-video-accent,#3b82f6) 30%, transparent);cursor:pointer;border-radius:50%;margin-top:-5px;transition:transform .15s}.controls__seek:hover::-webkit-slider-thumb{transform:scale(1.25)}.controls__seek::-moz-range-track{background:#ffffff1a;height:4px}.controls__seek::-moz-range-progress{background:var(--ml-video-accent,#3b82f6);height:4px}.controls__seek::-moz-range-thumb{background:var(--ml-video-accent,#3b82f6);width:14px;height:14px;box-shadow:0 0 0 3px color-mix(in srgb, var(--ml-video-accent,#3b82f6) 30%, transparent);cursor:pointer;border:none;border-radius:50%}.controls__vol-slider{-webkit-appearance:none;appearance:none;cursor:pointer;background:linear-gradient(to right, #fff 0%, #fff var(--v), #ffffff26 var(--v), #ffffff26 100%);outline:none;flex:1;height:5px;transition:height .15s}.controls__vol-slider:hover{height:7px}.controls__vol-slider:focus-visible{outline-offset:2px;outline:2px solid #fff}.controls__vol-slider::-webkit-slider-runnable-track{background:0 0;height:5px}.controls__vol-slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:16px;height:16px;margin-top:-5.5px;transition:transform .15s;box-shadow:0 0 0 3px #fff3}.controls__vol-slider:hover::-webkit-slider-thumb{transform:scale(1.2)}.controls__vol-slider::-moz-range-track{background:#ffffff26;height:5px}.controls__vol-slider::-moz-range-progress{background:#fff;height:5px}.controls__vol-slider::-moz-range-thumb{cursor:pointer;background:#fff;border:none;border-radius:50%;width:16px;height:16px;box-shadow:0 0 0 3px #fff3}.ml-video-scrubber-wrap[data-v-00e26db0]{width:100%;position:relative}:where(.ml-video-scrubber[data-v-00e26db0]){cursor:pointer;accent-color:currentColor;width:100%}:where(.ml-video-scrubber[data-v-00e26db0]):focus-visible{outline-offset:0!important;outline:2px solid #fff!important}.ml-video-scrubber__preview[data-v-00e26db0]{font-variant-numeric:tabular-nums;pointer-events:none;white-space:nowrap;margin-bottom:.4rem;font-size:.75rem;position:absolute;bottom:100%;transform:translate(-50%)}:where(.ml-video-time-display[data-v-d2dbce42]){font-variant-numeric:tabular-nums;align-items:center;gap:.35rem;display:inline-flex}:where(.ml-video-time-display__dot[data-v-d2dbce42]){background:currentColor;border-radius:50%;width:6px;height:6px}.ml-video-volume-wrap[data-v-512c68f4]{align-items:center;gap:.75rem;width:100%;display:flex}:where(.ml-video-volume-slider[data-v-512c68f4]){cursor:pointer;accent-color:currentColor;flex:1}:where(.ml-video-volume-slider[data-v-512c68f4]):focus-visible{outline-offset:2px;outline:2px solid #fff}:where(.ml-video-volume-pct[data-v-512c68f4]){font-variant-numeric:tabular-nums;text-align:right;min-width:2rem}.controls__vol-header[data-v-7fa1bc26]{align-items:center;gap:4px;display:flex}.controls__vol-label[data-v-7fa1bc26]{color:#ffffffe6;flex:1;padding:0 4px;font-size:.8rem;font-weight:600}.controls__vol-body[data-v-7fa1bc26]{align-items:center;gap:12px;padding:6px 0 4px;display:flex}.controls__vol-pct[data-v-7fa1bc26]{font-variant-numeric:tabular-nums;color:#fff9;text-align:right;min-width:32px;font-size:.75rem;font-weight:600}.controls__more-row[data-v-73312b97]{color:#ffffffd9;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:8px 4px;font-size:.8rem;font-weight:500;transition:background .15s;display:flex}.controls__more-row[data-v-73312b97]:hover{background:#ffffff14}.controls__more-row-label[data-v-73312b97]{align-items:center;gap:8px;display:flex}.controls__more-row-icon[data-v-73312b97],.controls__more-row-icon[data-v-73312b97] svg{flex-shrink:0;width:16px;height:16px}.controls__more-value[data-v-73312b97]{font-variant-numeric:tabular-nums;color:#ffffff80;font-size:.7rem;font-weight:600}.controls__more-row--active .controls__more-value[data-v-73312b97]{color:var(--ml-video-accent,#3b82f6)}.controls__more-header[data-v-23430f8a]{flex-shrink:0;align-items:center;gap:4px;display:flex}.controls__more-label[data-v-23430f8a]{color:#ffffffe6;flex:1;padding:0 4px;font-size:.8rem;font-weight:600}.controls__more-body[data-v-23430f8a]{flex-direction:column;min-height:0;padding:2px 0;display:flex;overflow-y:auto}.controls[data-v-330d8c86]{width:var(--ml-video-controls-width,min(450px, calc(100% - 32px)));-webkit-backdrop-filter:blur(20px);background:#0a0a0e;border:1px solid #ffffff1a;border-radius:18px;flex-direction:column;gap:10px;max-height:100%;padding:14px 16px 12px;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 32px #00000080}.controls--fs[data-v-330d8c86]{width:100%}.controls__close[data-v-330d8c86]{clip:rect(0, 0, 0, 0);white-space:nowrap;color:#fff;cursor:pointer;background:0 0;border:0;width:1px;height:1px;padding:0;font-size:.75rem;position:absolute;bottom:4px;left:50%;overflow:hidden;transform:translate(-50%)}.controls__close[data-v-330d8c86]:focus{clip:auto;white-space:normal;outline-offset:2px;background:#ffffff1a;border-radius:6px;outline:2px solid #fff;width:auto;height:auto;padding:6px 10px;overflow:visible}.controls__row[data-v-330d8c86]{align-items:center;gap:4px;display:flex}.controls__time-display[data-v-330d8c86]{color:#fff9;letter-spacing:.02em;flex:1;padding:0 4px;font-size:.7rem;font-weight:500}.controls__time-display.ml-video-time-display--live[data-v-330d8c86]{letter-spacing:.04em;text-transform:uppercase;color:#f87171;font-weight:700}.controls__play-wrap[data-v-330d8c86]{flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.controls__btn--active[data-v-330d8c86],.controls__btn--pip.ml-video-pip-button--active[data-v-330d8c86]{color:var(--ml-video-accent,#3b82f6)}.controls__btn--active[data-v-330d8c86]:hover,.controls__btn--pip.ml-video-pip-button--active[data-v-330d8c86]:hover{color:var(--ml-video-accent,#60a5fa)}.controls__fs-wrap[data-v-330d8c86]{flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.overlay__spinner[data-v-c795dad9]{z-index:5;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.fade-enter-active[data-v-c795dad9],.fade-leave-active[data-v-c795dad9]{transition:opacity .25s}.fade-enter-from[data-v-c795dad9],.fade-leave-to[data-v-c795dad9]{opacity:0}.overlay__error[data-v-c795dad9]{z-index:6;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1.5rem;display:flex;position:absolute;inset:0}.overlay__error p[data-v-c795dad9]{color:#ffffffb3;text-align:center;max-width:260px;font-size:.875rem;line-height:1.5}.overlay__retry[data-v-c795dad9]{pointer-events:auto;color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff40;border-radius:8px;padding:.4rem 1rem;font-size:.8rem;font-weight:600;transition:background .15s}.overlay__retry[data-v-c795dad9]:hover{background:#fff3}.overlay__reveal[data-v-c795dad9]{z-index:10;clip:rect(0, 0, 0, 0);white-space:nowrap;color:#fff;cursor:pointer;background:#000000d9;border:0;border-radius:6px;width:1px;height:1px;margin:-1px;padding:0;font-size:.8rem;position:absolute;top:8px;left:8px;overflow:hidden}.overlay__reveal[data-v-c795dad9]:focus{clip:auto;white-space:normal;outline-offset:2px;outline:2px solid #fff;width:auto;height:auto;margin:0;padding:.4rem .75rem;overflow:visible}.overlay__hud[data-v-c795dad9]{z-index:4;opacity:0;pointer-events:none;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.overlay__hud--visible[data-v-c795dad9]{opacity:1;pointer-events:all}.overlay__hud[data-v-c795dad9]:has(~.overlay__popup:not(.overlay__popup--fs)){opacity:0!important;pointer-events:none!important}.overlay__popup[data-v-c795dad9]{z-index:5;align-items:var(--ml-video-popup-align,center);pointer-events:none;justify-content:center;padding:16px;display:flex;position:absolute;inset:0}.overlay__popup[data-v-c795dad9] .controls{pointer-events:auto}.overlay__popup--fs[data-v-c795dad9]{align-items:flex-end}.popup-enter-active[data-v-c795dad9],.popup-leave-active[data-v-c795dad9]{transition:opacity .2s,transform .2s}.popup-enter-from[data-v-c795dad9],.popup-leave-to[data-v-c795dad9]{opacity:0;transform:scale(.95)}.ad-overlay[data-v-feb17dae]{z-index:21;pointer-events:none;position:absolute;inset:0}.ad-overlay__bar[data-v-feb17dae]{align-items:center;gap:6px;display:flex;position:absolute;bottom:10px;left:10px}.ad-overlay__badge[data-v-feb17dae]{color:#fff;text-transform:uppercase;letter-spacing:.06em;background:#0009;border-radius:4px;align-items:center;gap:6px;padding:3px 8px;font-size:.65rem;font-weight:700;display:flex}.ad-overlay__countdown[data-v-feb17dae]{font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:.02em;opacity:.8;font-weight:500}.ad-overlay__btn[data-v-feb17dae]{color:#fff;cursor:pointer;pointer-events:auto;background:#0009;border:none;border-radius:4px;justify-content:center;align-items:center;padding:3px;transition:background .15s;display:flex}.ad-overlay__btn[data-v-feb17dae]:hover{background:#000c}.ad-overlay__btn[data-v-feb17dae] svg{width:11px;height:11px}.player-wrapper[data-v-b25b3a73]{display:block}.player-wrapper[data-v-3fc2947d]{display:contents}.pinned-controls__dismiss[data-v-2d2ea6e1],.pinned-controls__scroll-to[data-v-2d2ea6e1]{z-index:25;backdrop-filter:blur(6px);color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;transition:all .15s;display:flex;position:absolute;top:.4rem}.pinned-controls__dismiss[data-v-2d2ea6e1]:hover,.pinned-controls__scroll-to[data-v-2d2ea6e1]:hover{background:#000000d9}.pinned-controls__dismiss[data-v-2d2ea6e1] svg,.pinned-controls__scroll-to[data-v-2d2ea6e1] svg{width:14px;height:14px}.pinned-controls__dismiss[data-v-2d2ea6e1]{right:.4rem}.pinned-controls__scroll-to[data-v-2d2ea6e1]{left:.4rem}.stage--pin-bottom-right,.stage--pin-bottom-left,.stage--pin-top-right,.stage--pin-top-left,.player--pin-bottom-right,.player--pin-bottom-left,.player--pin-top-right,.player--pin-top-left{border-radius:var(--ml-video-radius,12px);transition:transform .18s}.stage--pin-bottom-right,.player--pin-bottom-right{bottom:1.25rem;right:1.25rem}.stage--pin-bottom-left,.player--pin-bottom-left{bottom:1.25rem;left:1.25rem}.stage--pin-top-right,.player--pin-top-right{top:1.25rem;right:1.25rem}.stage--pin-top-left,.player--pin-top-left{top:1.25rem;left:1.25rem}.stage--pin-bottom-right.stage--tucked,.stage--pin-top-right.stage--tucked,.player--pin-bottom-right.player--tucked,.player--pin-top-right.player--tucked{transform:translateX(calc(100% - var(--ml-video-stage-tuck,32px)))}.stage--pin-bottom-left.stage--tucked,.stage--pin-top-left.stage--tucked,.player--pin-bottom-left.player--tucked,.player--pin-top-left.player--tucked{transform:translateX(calc(-100% + var(--ml-video-stage-tuck,32px)))}.player[data-v-6cbcb413]{width:100%;max-width:var(--ml-video-max-width,800px);user-select:none;-webkit-tap-highlight-color:transparent;margin:0 auto;position:relative}.player--pinned[data-v-6cbcb413]{z-index:100;width:70dvw;max-width:360px;margin:0;transition:transform .18s;position:fixed;box-shadow:0 8px 32px #0009}@media (width<=740px){.player--pinned[data-v-6cbcb413]{max-width:300px}}[data-ml-video-player][data-v-6cbcb413]{position:absolute;inset:0}.player__shell[data-v-6cbcb413]{border-radius:var(--ml-video-radius,12px);cursor:pointer;background:#000;position:relative;overflow:hidden;container:player-shell/inline-size}.ml-video-media--hidden[data-v-6cbcb413]{opacity:0}.overlay__tap-capture[data-v-6cbcb413]{z-index:2;position:absolute;inset:0}.ml-video-youtube .overlay__tap-capture[data-v-6cbcb413]{clip-path:polygon(0 0,100% 0,100% 100%,64px 100%,64px calc(100% - 64px),0 calc(100% - 64px))}.ml-video-dailymotion .overlay__tap-capture[data-v-6cbcb413]{clip-path:polygon(0 64px,0 100%,100% 100%,100% 0,64px 0,64px 64px)}.player__shell--portrait[data-v-6cbcb413]{width:auto;max-width:100%;max-height:75dvh;margin:0 auto}.player__custom-hud[data-v-6cbcb413]{z-index:3;pointer-events:none;position:absolute;inset:0}.player__custom-hud[data-v-6cbcb413]>*{pointer-events:auto}.player__native-play[data-v-6cbcb413]{z-index:3;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.player__native-play[data-v-6cbcb413]>*{pointer-events:auto}.player__shell[data-v-6cbcb413]:fullscreen{border-radius:0;width:100vw;height:100dvh}.player__shell:fullscreen .ml-video-media[data-v-6cbcb413],.player__shell:fullscreen [data-ml-video-player][data-v-6cbcb413]{width:100%!important;height:100%!important}.stage-wrapper[data-v-b2a7f3d1]{width:100%;max-width:var(--ml-video-max-width,800px);margin:0 auto}.stage[data-v-b2a7f3d1]{width:100%}.stage--minified[data-v-b2a7f3d1]{z-index:100;margin:0;position:fixed;overflow:hidden;box-shadow:0 8px 32px #0009}.stage--pin-bottom-right[data-v-b2a7f3d1],.stage--pin-bottom-left[data-v-b2a7f3d1],.stage--pin-top-right[data-v-b2a7f3d1],.stage--pin-top-left[data-v-b2a7f3d1]{width:70dvw;max-width:360px;@media (width<=740px){max-width:300px}}.stage--pin-full-width[data-v-b2a7f3d1]{width:100%;max-width:100%;box-shadow:none;border-radius:0;top:0;left:0;right:0}.stage__idle[data-v-b2a7f3d1]{border-radius:var(--ml-video-radius,12px);cursor:pointer;background:#111;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.stage__idle-poster[data-v-b2a7f3d1]{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.stage__idle-scrim[data-v-b2a7f3d1]{background:#00000073;transition:background .15s;position:absolute;inset:0}.stage__idle:hover .stage__idle-scrim[data-v-b2a7f3d1]{background:#0000004d}.stage__idle-body[data-v-b2a7f3d1]{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:1rem;display:flex;position:relative}.stage__idle-btn[data-v-b2a7f3d1]{backdrop-filter:blur(4px);color:#fff;background:#0009;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;transition:transform .15s,background .15s;display:flex}.stage__idle:hover .stage__idle-btn[data-v-b2a7f3d1]{background:#000c;transform:scale(1.1)}.stage__idle-btn[data-v-b2a7f3d1] svg{width:32px;height:32px}.stage__idle-title[data-v-b2a7f3d1]{color:#f1f5f9;text-shadow:0 1px 4px #000c;font-size:1rem;font-weight:600}.stage__idle-empty[data-v-b2a7f3d1]{color:#64748b;font-size:.95rem}.placeholder[data-v-a7f74cef]{width:100%;max-width:var(--ml-video-max-width,800px);margin:0 auto}.placeholder__shell[data-v-a7f74cef]{border-radius:var(--ml-video-radius,12px);cursor:pointer;background:#111;position:relative;overflow:hidden}.placeholder__shell--portrait[data-v-a7f74cef]{width:auto;max-height:75dvh;margin:0 auto}.placeholder__poster[data-v-a7f74cef]{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.placeholder__scrim[data-v-a7f74cef]{background:#00000059;transition:background .15s;position:absolute;inset:0}.placeholder__shell:hover .placeholder__scrim[data-v-a7f74cef]{background:#00000026}.placeholder__btn-wrap[data-v-a7f74cef]{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.placeholder__btn-wrap[data-v-a7f74cef]>*{pointer-events:auto}.placeholder__footer[data-v-a7f74cef]{pointer-events:none;background:linear-gradient(#0000 0%,#000c 100%);padding:1.5rem .75rem .6rem;position:absolute;bottom:0;left:0;right:0}.placeholder__title[data-v-a7f74cef]{color:#f1f5f9;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 3px #0009;font-size:.8rem;font-weight:600;overflow:hidden}.ml-video-hide-marker[data-v-8afc6c98]{width:100%;min-height:1px}
|
|
1
|
+
.ml-video-media{border-radius:var(--ml-video-radius,12px);object-fit:cover;background:#000;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.ml-video-dailymotion .ml-video-tech>*,.ml-video-dailymotion .dailymotion-player-root,.ml-video-dailymotion iframe{width:100%!important;height:100%!important;position:absolute!important;inset:0!important}.ml-video-vimeo .ml-video-tech>div{width:100%!important;height:100%!important;padding:0!important;position:absolute!important;top:0!important;left:0!important}.ml-video-vimeo iframe{width:100%!important;height:100%!important;position:absolute!important;top:0!important;left:0!important}[data-ml-video-player] .ima-ad-container{pointer-events:none;z-index:20!important;width:100%!important;height:100%!important;position:absolute!important;top:0!important;left:0!important}.ml-video-ad-playing .ima-ad-container{pointer-events:auto}.ml-video-ad-playing .overlay__hud,.ml-video-ad-playing .overlay__spinner{display:none!important}:where(.ml-video-control-btn){all:unset;cursor:pointer;justify-content:center;align-items:center;display:inline-flex}:where(.ml-video-control-btn):focus-visible{outline-offset:2px;outline:2px solid #fff}:where(.ml-video-control-btn) svg{width:1em;height:1em}:where(.ml-video-control-btn--toggle){opacity:.6}:where(.ml-video-control-btn--toggle.ml-video-control-btn--active){opacity:1}.ml-video-icon[data-v-466b80a9]{display:contents}@keyframes spin-7c461437{to{transform:rotate(360deg)}}.spinner[data-v-7c461437]{border-style:solid;border-color:#fffc #ffffff26 #ffffff26;border-radius:50%;animation:.75s linear infinite spin-7c461437}:where(.ml-video-buffering[data-v-c446a450]){justify-content:center;align-items:center;display:inline-flex}.ppbtn{backdrop-filter:blur(12px);color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,transform .15s;display:flex}.ppbtn:hover{background:#fff3;transform:scale(1.08)}.ppbtn--lg{background:var(--ml-video-btn-bg,#ffffff1a);width:clamp(48px,20cqw,64px);height:clamp(48px,20cqw,64px);color:var(--ml-video-btn-color,#fff)}.ppbtn--lg svg{width:clamp(20px,9cqw,28px);height:clamp(20px,9cqw,28px)}.ppbtn--lg:hover{background:var(--ml-video-btn-bg,#fff3);filter:brightness(1.12)}.ppbtn--sm{color:#ffffffbf;background:0 0;border:none;border-radius:8px;width:30px;height:30px}.ppbtn--sm svg{width:16px;height:16px}.ppbtn--sm:hover{color:#fff;background:#ffffff1a;transform:none}.hud[data-v-58e9bcdd]{align-items:center;gap:clamp(12px,5cqw,20px);display:flex}.hud__play-wrap[data-v-58e9bcdd]{display:flex;position:relative}.hud__buf-spinner[data-v-58e9bcdd]{margin-top:8px;position:absolute;top:100%;left:calc(50% - 7px)}.hud__spacer[data-v-58e9bcdd]{flex-shrink:0;width:clamp(36px,14cqw,44px);height:clamp(36px,14cqw,44px)}.hud__btn[data-v-58e9bcdd]{background:var(--ml-video-btn-bg,#ffffff1a);backdrop-filter:blur(12px);width:clamp(36px,14cqw,44px);height:clamp(36px,14cqw,44px);color:var(--ml-video-btn-color,#fff);cursor:pointer;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,transform .15s;display:flex}.hud__btn[data-v-58e9bcdd] svg{width:clamp(16px,6cqw,18px);height:clamp(16px,6cqw,18px)}.hud__btn[data-v-58e9bcdd]:hover{background:var(--ml-video-btn-bg,#fff3);filter:brightness(1.12);transform:scale(1.08)}.hud__btn--active[data-v-58e9bcdd]{border-color:var(--ml-video-accent,#3b82f6);background:color-mix(in srgb, var(--ml-video-accent,#3b82f6) 30%, var(--ml-video-btn-bg,#ffffff1a));color:var(--ml-video-btn-color,#fff)}.hud__btn--active[data-v-58e9bcdd]:hover{background:color-mix(in srgb, var(--ml-video-accent,#3b82f6) 45%, var(--ml-video-btn-bg,#fff3))}.controls__btn{color:#ffffffbf;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s,color .15s;display:flex}.controls__inner:has(.controls__more-body){flex-direction:column;max-width:100%;height:100%;display:flex;overflow:auto}.controls__btn svg{width:16px;height:16px}.controls__btn:hover{color:#fff;background:#ffffff1a}.controls--compact .controls__seek,.controls--compact .ml-video-scrubber-wrap,.controls--compact .ml-video-time-display__total,.controls--compact .controls__btn--pip,.controls--compact .controls__btn--next,.controls--compact .controls__btn--volume{display:none}.controls__seek{-webkit-appearance:none;appearance:none;cursor:pointer;box-sizing:border-box;background:padding-box content-box;background-image:linear-gradient(to right, var(--ml-video-accent,#3b82f6) 0%, var(--ml-video-accent,#3b82f6) var(--p), #ffffff4d var(--p), #ffffff4d var(--b), #ffffff1a var(--b), #ffffff1a 100%);outline:none;width:100%;height:20px;padding:8px 0}.controls__seek::-webkit-slider-runnable-track{background:0 0;height:4px}.controls__seek::-webkit-slider-thumb{-webkit-appearance:none;background:var(--ml-video-accent,#3b82f6);width:14px;height:14px;box-shadow:0 0 0 3px color-mix(in srgb, var(--ml-video-accent,#3b82f6) 30%, transparent);cursor:pointer;border-radius:50%;margin-top:-5px;transition:transform .15s}.controls__seek:hover::-webkit-slider-thumb{transform:scale(1.25)}.controls__seek::-moz-range-track{background:#ffffff1a;height:4px}.controls__seek::-moz-range-progress{background:var(--ml-video-accent,#3b82f6);height:4px}.controls__seek::-moz-range-thumb{background:var(--ml-video-accent,#3b82f6);width:14px;height:14px;box-shadow:0 0 0 3px color-mix(in srgb, var(--ml-video-accent,#3b82f6) 30%, transparent);cursor:pointer;border:none;border-radius:50%}.controls__vol-slider{-webkit-appearance:none;appearance:none;cursor:pointer;background:linear-gradient(to right, #fff 0%, #fff var(--v), #ffffff26 var(--v), #ffffff26 100%);outline:none;flex:1;height:5px;transition:height .15s}.controls__vol-slider:hover{height:7px}.controls__vol-slider:focus-visible{outline-offset:2px;outline:2px solid #fff}.controls__vol-slider::-webkit-slider-runnable-track{background:0 0;height:5px}.controls__vol-slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:16px;height:16px;margin-top:-5.5px;transition:transform .15s;box-shadow:0 0 0 3px #fff3}.controls__vol-slider:hover::-webkit-slider-thumb{transform:scale(1.2)}.controls__vol-slider::-moz-range-track{background:#ffffff26;height:5px}.controls__vol-slider::-moz-range-progress{background:#fff;height:5px}.controls__vol-slider::-moz-range-thumb{cursor:pointer;background:#fff;border:none;border-radius:50%;width:16px;height:16px;box-shadow:0 0 0 3px #fff3}.ml-video-scrubber-wrap[data-v-00e26db0]{width:100%;position:relative}:where(.ml-video-scrubber[data-v-00e26db0]){cursor:pointer;accent-color:currentColor;width:100%}:where(.ml-video-scrubber[data-v-00e26db0]):focus-visible{outline-offset:0!important;outline:2px solid #fff!important}.ml-video-scrubber__preview[data-v-00e26db0]{font-variant-numeric:tabular-nums;pointer-events:none;white-space:nowrap;margin-bottom:.4rem;font-size:.75rem;position:absolute;bottom:100%;transform:translate(-50%)}:where(.ml-video-time-display[data-v-d2dbce42]){font-variant-numeric:tabular-nums;align-items:center;gap:.35rem;display:inline-flex}:where(.ml-video-time-display__dot[data-v-d2dbce42]){background:currentColor;border-radius:50%;width:6px;height:6px}.ml-video-volume-wrap[data-v-512c68f4]{align-items:center;gap:.75rem;width:100%;display:flex}:where(.ml-video-volume-slider[data-v-512c68f4]){cursor:pointer;accent-color:currentColor;flex:1}:where(.ml-video-volume-slider[data-v-512c68f4]):focus-visible{outline-offset:2px;outline:2px solid #fff}:where(.ml-video-volume-pct[data-v-512c68f4]){font-variant-numeric:tabular-nums;text-align:right;min-width:2rem}.controls__vol-header[data-v-7fa1bc26]{align-items:center;gap:4px;display:flex}.controls__vol-label[data-v-7fa1bc26]{color:#ffffffe6;flex:1;padding:0 4px;font-size:.8rem;font-weight:600}.controls__vol-body[data-v-7fa1bc26]{align-items:center;gap:12px;padding:6px 0 4px;display:flex}.controls__vol-pct[data-v-7fa1bc26]{font-variant-numeric:tabular-nums;color:#fff9;text-align:right;min-width:32px;font-size:.75rem;font-weight:600}.controls__more-row[data-v-73312b97]{color:#ffffffd9;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:8px 4px;font-size:.8rem;font-weight:500;transition:background .15s;display:flex}.controls__more-row[data-v-73312b97]:hover{background:#ffffff14}.controls__more-row-label[data-v-73312b97]{align-items:center;gap:8px;display:flex}.controls__more-row-icon[data-v-73312b97],.controls__more-row-icon[data-v-73312b97] svg{flex-shrink:0;width:16px;height:16px}.controls__more-value[data-v-73312b97]{font-variant-numeric:tabular-nums;color:#ffffff80;font-size:.7rem;font-weight:600}.controls__more-row--active .controls__more-value[data-v-73312b97]{color:var(--ml-video-accent,#3b82f6)}.controls__more-header[data-v-23430f8a]{flex-shrink:0;align-items:center;gap:4px;display:flex}.controls__more-label[data-v-23430f8a]{color:#ffffffe6;flex:1;padding:0 4px;font-size:.8rem;font-weight:600}.controls__more-body[data-v-23430f8a]{flex-direction:column;min-height:0;padding:2px 0;display:flex;overflow-y:auto}.controls[data-v-330d8c86]{width:var(--ml-video-controls-width,min(450px, calc(100% - 32px)));-webkit-backdrop-filter:blur(20px);background:#0a0a0e;border:1px solid #ffffff1a;border-radius:18px;flex-direction:column;gap:10px;max-height:100%;padding:14px 16px 12px;display:flex;position:relative;overflow:visible;box-shadow:0 8px 32px #00000080}.controls--fs[data-v-330d8c86]{width:100%}.controls__close[data-v-330d8c86]{clip:rect(0, 0, 0, 0);white-space:nowrap;color:#fff;cursor:pointer;background:0 0;border:0;width:1px;height:1px;padding:0;font-size:.75rem;position:absolute;bottom:4px;left:50%;overflow:hidden;transform:translate(-50%)}.controls__close[data-v-330d8c86]:focus{clip:auto;white-space:normal;outline-offset:2px;background:#ffffff1a;border-radius:6px;outline:2px solid #fff;width:auto;height:auto;padding:6px 10px;overflow:visible}.controls__row[data-v-330d8c86]{align-items:center;gap:4px;display:flex}.controls__time-display[data-v-330d8c86]{color:#fff9;letter-spacing:.02em;flex:1;padding:0 4px;font-size:.7rem;font-weight:500}.controls__time-display.ml-video-time-display--live[data-v-330d8c86]{letter-spacing:.04em;text-transform:uppercase;color:#f87171;font-weight:700}.controls__play-wrap[data-v-330d8c86]{flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.controls__btn--active[data-v-330d8c86],.controls__btn--pip.ml-video-pip-button--active[data-v-330d8c86]{color:var(--ml-video-accent,#3b82f6)}.controls__btn--active[data-v-330d8c86]:hover,.controls__btn--pip.ml-video-pip-button--active[data-v-330d8c86]:hover{color:var(--ml-video-accent,#60a5fa)}.controls__fs-wrap[data-v-330d8c86]{flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.overlay__spinner[data-v-c795dad9]{z-index:5;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.fade-enter-active[data-v-c795dad9],.fade-leave-active[data-v-c795dad9]{transition:opacity .25s}.fade-enter-from[data-v-c795dad9],.fade-leave-to[data-v-c795dad9]{opacity:0}.overlay__error[data-v-c795dad9]{z-index:6;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1.5rem;display:flex;position:absolute;inset:0}.overlay__error p[data-v-c795dad9]{color:#ffffffb3;text-align:center;max-width:260px;font-size:.875rem;line-height:1.5}.overlay__retry[data-v-c795dad9]{pointer-events:auto;color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff40;border-radius:8px;padding:.4rem 1rem;font-size:.8rem;font-weight:600;transition:background .15s}.overlay__retry[data-v-c795dad9]:hover{background:#fff3}.overlay__reveal[data-v-c795dad9]{z-index:10;clip:rect(0, 0, 0, 0);white-space:nowrap;color:#fff;cursor:pointer;background:#000000d9;border:0;border-radius:6px;width:1px;height:1px;margin:-1px;padding:0;font-size:.8rem;position:absolute;top:8px;left:8px;overflow:hidden}.overlay__reveal[data-v-c795dad9]:focus{clip:auto;white-space:normal;outline-offset:2px;outline:2px solid #fff;width:auto;height:auto;margin:0;padding:.4rem .75rem;overflow:visible}.overlay__hud[data-v-c795dad9]{z-index:4;opacity:0;pointer-events:none;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.overlay__hud--visible[data-v-c795dad9]{opacity:1;pointer-events:all}.overlay__hud[data-v-c795dad9]:has(~.overlay__popup:not(.overlay__popup--fs)){opacity:0!important;pointer-events:none!important}.overlay__popup[data-v-c795dad9]{z-index:5;align-items:var(--ml-video-popup-align,center);pointer-events:none;justify-content:center;padding:16px;display:flex;position:absolute;inset:0}.overlay__popup[data-v-c795dad9] .controls{pointer-events:auto}.overlay__popup--fs[data-v-c795dad9]{align-items:flex-end}.popup-enter-active[data-v-c795dad9],.popup-leave-active[data-v-c795dad9]{transition:opacity .2s,transform .2s}.popup-enter-from[data-v-c795dad9],.popup-leave-to[data-v-c795dad9]{opacity:0;transform:scale(.95)}.ad-overlay[data-v-feb17dae]{z-index:21;pointer-events:none;position:absolute;inset:0}.ad-overlay__bar[data-v-feb17dae]{align-items:center;gap:6px;display:flex;position:absolute;bottom:10px;left:10px}.ad-overlay__badge[data-v-feb17dae]{color:#fff;text-transform:uppercase;letter-spacing:.06em;background:#0009;border-radius:4px;align-items:center;gap:6px;padding:3px 8px;font-size:.65rem;font-weight:700;display:flex}.ad-overlay__countdown[data-v-feb17dae]{font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:.02em;opacity:.8;font-weight:500}.ad-overlay__btn[data-v-feb17dae]{color:#fff;cursor:pointer;pointer-events:auto;background:#0009;border:none;border-radius:4px;justify-content:center;align-items:center;padding:3px;transition:background .15s;display:flex}.ad-overlay__btn[data-v-feb17dae]:hover{background:#000c}.ad-overlay__btn[data-v-feb17dae] svg{width:11px;height:11px}.player-wrapper[data-v-b25b3a73]{display:block}.player-wrapper[data-v-3fc2947d]{display:contents}.pinned-controls__dismiss[data-v-2d2ea6e1],.pinned-controls__scroll-to[data-v-2d2ea6e1]{z-index:25;backdrop-filter:blur(6px);color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;transition:all .15s;display:flex;position:absolute;top:.4rem}.pinned-controls__dismiss[data-v-2d2ea6e1]:hover,.pinned-controls__scroll-to[data-v-2d2ea6e1]:hover{background:#000000d9}.pinned-controls__dismiss[data-v-2d2ea6e1] svg,.pinned-controls__scroll-to[data-v-2d2ea6e1] svg{width:14px;height:14px}.pinned-controls__dismiss[data-v-2d2ea6e1]{right:.4rem}.pinned-controls__scroll-to[data-v-2d2ea6e1]{left:.4rem}.stage--pin-bottom-right,.stage--pin-bottom-left,.stage--pin-top-right,.stage--pin-top-left,.player--pin-bottom-right,.player--pin-bottom-left,.player--pin-top-right,.player--pin-top-left{border-radius:var(--ml-video-radius,12px);transition:transform .18s}.stage--pin-bottom-right,.player--pin-bottom-right{bottom:1.25rem;right:1.25rem}.stage--pin-bottom-left,.player--pin-bottom-left{bottom:1.25rem;left:1.25rem}.stage--pin-top-right,.player--pin-top-right{top:1.25rem;right:1.25rem}.stage--pin-top-left,.player--pin-top-left{top:1.25rem;left:1.25rem}.stage--pin-bottom-right.stage--tucked,.stage--pin-top-right.stage--tucked,.player--pin-bottom-right.player--tucked,.player--pin-top-right.player--tucked{transform:translateX(calc(100% - var(--ml-video-stage-tuck,32px)))}.stage--pin-bottom-left.stage--tucked,.stage--pin-top-left.stage--tucked,.player--pin-bottom-left.player--tucked,.player--pin-top-left.player--tucked{transform:translateX(calc(-100% + var(--ml-video-stage-tuck,32px)))}.player[data-v-6cbcb413]{width:100%;max-width:var(--ml-video-max-width,800px);user-select:none;-webkit-tap-highlight-color:transparent;margin:0 auto;position:relative}.player--pinned[data-v-6cbcb413]{z-index:100;width:70dvw;max-width:360px;margin:0;transition:transform .18s;position:fixed;box-shadow:0 8px 32px #0009}@media (width<=740px){.player--pinned[data-v-6cbcb413]{max-width:300px}}[data-ml-video-player][data-v-6cbcb413]{position:absolute;inset:0}.player__shell[data-v-6cbcb413]{border-radius:var(--ml-video-radius,12px);cursor:pointer;background:#000;position:relative;overflow:hidden;container:player-shell/inline-size}.ml-video-media--hidden[data-v-6cbcb413]{opacity:0}.overlay__tap-capture[data-v-6cbcb413]{z-index:2;position:absolute;inset:0}.ml-video-youtube .overlay__tap-capture[data-v-6cbcb413]{clip-path:polygon(0 0,100% 0,100% 100%,64px 100%,64px calc(100% - 64px),0 calc(100% - 64px))}.ml-video-dailymotion .overlay__tap-capture[data-v-6cbcb413]{clip-path:polygon(0 64px,0 100%,100% 100%,100% 0,64px 0,64px 64px)}.player__shell--portrait[data-v-6cbcb413]{max-height:var(--ml-video-portrait-max-height,75dvh);width:auto;max-width:100%;margin:0 auto}.player__custom-hud[data-v-6cbcb413]{z-index:3;pointer-events:none;position:absolute;inset:0}.player__custom-hud[data-v-6cbcb413]>*{pointer-events:auto}.player__native-play[data-v-6cbcb413]{z-index:3;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.player__native-play[data-v-6cbcb413]>*{pointer-events:auto}.player__shell[data-v-6cbcb413]:fullscreen{border-radius:0;width:100vw;height:100dvh}.player__shell:fullscreen .ml-video-media[data-v-6cbcb413],.player__shell:fullscreen [data-ml-video-player][data-v-6cbcb413]{width:100%!important;height:100%!important}.stage-wrapper[data-v-b2a7f3d1]{width:100%;max-width:var(--ml-video-max-width,800px);margin:0 auto}.stage[data-v-b2a7f3d1]{width:100%}.stage--minified[data-v-b2a7f3d1]{z-index:100;margin:0;position:fixed;overflow:hidden;box-shadow:0 8px 32px #0009}.stage--pin-bottom-right[data-v-b2a7f3d1],.stage--pin-bottom-left[data-v-b2a7f3d1],.stage--pin-top-right[data-v-b2a7f3d1],.stage--pin-top-left[data-v-b2a7f3d1]{width:70dvw;max-width:360px;@media (width<=740px){max-width:300px}}.stage--pin-full-width[data-v-b2a7f3d1]{width:100%;max-width:100%;box-shadow:none;border-radius:0;top:0;left:0;right:0}.stage__idle[data-v-b2a7f3d1]{border-radius:var(--ml-video-radius,12px);cursor:pointer;background:#111;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.stage__idle-poster[data-v-b2a7f3d1]{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.stage__idle-scrim[data-v-b2a7f3d1]{background:#00000073;transition:background .15s;position:absolute;inset:0}.stage__idle:hover .stage__idle-scrim[data-v-b2a7f3d1]{background:#0000004d}.stage__idle-body[data-v-b2a7f3d1]{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:1rem;display:flex;position:relative}.stage__idle-btn[data-v-b2a7f3d1]{backdrop-filter:blur(4px);color:#fff;background:#0009;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;transition:transform .15s,background .15s;display:flex}.stage__idle:hover .stage__idle-btn[data-v-b2a7f3d1]{background:#000c;transform:scale(1.1)}.stage__idle-btn[data-v-b2a7f3d1] svg{width:32px;height:32px}.stage__idle-title[data-v-b2a7f3d1]{color:#f1f5f9;text-shadow:0 1px 4px #000c;font-size:1rem;font-weight:600}.stage__idle-empty[data-v-b2a7f3d1]{color:#64748b;font-size:.95rem}.placeholder[data-v-a7f74cef]{width:100%;max-width:var(--ml-video-max-width,800px);margin:0 auto}.placeholder__shell[data-v-a7f74cef]{border-radius:var(--ml-video-radius,12px);cursor:pointer;background:#111;position:relative;overflow:hidden}.placeholder__shell--portrait[data-v-a7f74cef]{max-height:var(--ml-video-portrait-max-height,75dvh);width:auto;margin:0 auto}.placeholder__poster[data-v-a7f74cef]{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.placeholder__scrim[data-v-a7f74cef]{background:#00000059;transition:background .15s;position:absolute;inset:0}.placeholder__shell:hover .placeholder__scrim[data-v-a7f74cef]{background:#00000026}.placeholder__btn-wrap[data-v-a7f74cef]{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.placeholder__btn-wrap[data-v-a7f74cef]>*{pointer-events:auto}.placeholder__footer[data-v-a7f74cef]{pointer-events:none;background:linear-gradient(#0000 0%,#000c 100%);padding:1.5rem .75rem .6rem;position:absolute;bottom:0;left:0;right:0}.placeholder__title[data-v-a7f74cef]{color:#f1f5f9;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 3px #0009;font-size:.8rem;font-weight:600;overflow:hidden}.ml-video-hide-marker[data-v-8afc6c98]{width:100%;min-height:1px}
|
package/dist/elements/core.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,c as t,d as n,i as r,l as i,n as a,o,r as s,t as c,u as l}from"./chunks/constants-Buc1xZvW.mjs";import{i as u,l as d,u as f}from"./chunks/embedShared-BUCYYtXQ.mjs";import{n as p,t as m}from"./chunks/platform-Dg9JBh8M.mjs";import{Fragment as h,Transition as g,computed as _,createBlock as v,createCommentVNode as y,createElementBlock as b,createElementVNode as x,createTextVNode as S,createVNode as C,defineComponent as w,defineCustomElement as T,h as E,inject as D,mergeProps as O,nextTick as k,normalizeClass as A,normalizeProps as j,normalizeStyle as M,onBeforeUnmount as N,onMounted as P,openBlock as F,provide as I,reactive as L,ref as R,renderList as ee,renderSlot as z,resolveDynamicComponent as te,shallowRef as ne,toDisplayString as B,toRef as re,unref as V,watch as H,withCtx as ie,withModifiers as U}from"vue";const ae=[];function oe(e){ae.unshift(e)}function se(e){ae.push(e)}function ce(e){if(!e)return{key:`html5`,embed:!1};let t=ae.find(t=>t.test(e));return{key:t?.key??`html5`,embed:t?.embed??!1}}const le={},ue={};function de(e,t){le[e]=t}async function fe(e,t,n){let r=le[e];if(!r){let t=ue[e];if(!t)return null;r=await t(),le[e]=r}return r(t,n)}const pe={},me={};function he(e,t){pe[e]=t}function ge(t){if(/\.m3u8(\?|#|$)/.test(t))return e;if(/\.mpd(\?|#|$)/.test(t))return c;if(/\.mp4(\?|#|$)/.test(t))return o}async function _e(e,t){let n=pe[e];if(!n){let t=me[e];t&&(n=await t(),pe[e]=n)}return n?n(t):{src:t,type:ge(t)}}function ve(e){oe({test:e.test,key:e.key,embed:e.embed}),e.embed?de(e.key,e.createAdapter):e.resolveSource&&he(e.key,e.resolveSource)}function W(e){se({key:e.key,test:e.test,embed:e.embed}),e.embed?ue[e.key]=e.loadAdapter:me[e.key]=e.loadResolver}W({key:`youtube`,test:e=>/youtu\.be|youtube\.com/.test(e),embed:!0,loadAdapter:()=>import(`./chunks/youtube-By3_O8cx.mjs`).then(e=>e.createYoutubeAdapter)}),W({key:`vimeo`,test:e=>/vimeo\.com|player\.vimeo\.com/.test(e),embed:!0,loadAdapter:()=>import(`./chunks/vimeo-D9a_xkE0.mjs`).then(e=>e.createVimeoAdapter)}),W({key:`dailymotion`,test:e=>/dailymotion\.com|dai\.ly/.test(e),embed:!0,loadAdapter:()=>import(`./chunks/dailymotion-BJ1jGcDQ.mjs`).then(e=>e.createDailymotionAdapter)}),W({key:`jwplayer`,test:e=>/cdn\.jwplayer\.com/.test(e)||e.startsWith(`jwplayer://`),embed:!1,loadResolver:()=>import(`./chunks/jwplayer-D8oOCmi4.mjs`).then(e=>e.resolveSource)}),W({key:`brightcove`,test:e=>/players\.brightcove\.net/.test(e),embed:!1,loadResolver:()=>import(`./chunks/brightcove-CPKzsnF0.mjs`).then(e=>e.resolveSource)});const ye=new Set;function be(e){return ye.add(e),()=>ye.delete(e)}function xe(e){ye.forEach(t=>{if(t!==e)try{t()}catch{}})}function Se(e){return e.kind===`captions`||e.kind===`subtitles`}let Ce=!1;function we(e){if(Ce)return;Ce=!0;let t=!1;for(let n=0;n<e.textTracks.length;n++){let r=e.textTracks[n];Se(r)&&r.mode===`showing`&&(t?r.mode=`hidden`:t=!0)}Ce=!1}function Te(e,t){if(e.cues)for(let n=0;n<e.cues.length;n++){let r=e.cues[n];if(!(`line`in r))continue;let i=r;i.snapToLines=!1,i.line=t}}function Ee(e,t,n){let r=new Map;function i(e){if(n===void 0||!Se(e)||r.has(e))return;let t=()=>Te(e,n);e.addEventListener(`cuechange`,t),r.set(e,t),t()}function a(){for(let t=0;t<e.textTracks.length;t++)i(e.textTracks[t])}a(),we(e);function o(){a(),we(e),t()}function s(){we(e),t()}e.textTracks.addEventListener(`addtrack`,o),e.textTracks.addEventListener(`removetrack`,t),e.textTracks.addEventListener(`change`,s);function c(){let t=[];for(let n=0;n<e.textTracks.length;n++){let r=e.textTracks[n];Se(r)&&t.push({index:n,label:r.label||r.language||`Track ${n+1}`,language:r.language})}return t}function l(t){for(let n=0;n<e.textTracks.length;n++){let r=e.textTracks[n];Se(r)&&(r.mode=n===t?`showing`:`hidden`)}}function u(){for(let t=0;t<e.textTracks.length;t++){let n=e.textTracks[t];if(Se(n)&&n.mode===`showing`)return t}return null}return{getCaptionTracks:c,setCaptionTrack:l,getActiveCaptionTrack:u,dispose:()=>{e.textTracks.removeEventListener(`addtrack`,o),e.textTracks.removeEventListener(`removetrack`,t),e.textTracks.removeEventListener(`change`,s);for(let[e,t]of r)e.removeEventListener(`cuechange`,t);r.clear()}}}function De(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 Oe(e){function t(){return De(e()?.levels()??[])}function n(){return e()?.isAuto()??!0}function r(){let r=e();if(!r||n())return null;let i=r.currentIndex();if(i===null||i<0)return null;let a=t();if(a.some(e=>e.index===i))return i;let o=r.levels().find(e=>e.index===i)?.height;return a.find(e=>e.height===o)?.index??null}function i(t){e()?.setIndex(t)}return{getQualityLevels:t,getCurrentQuality:r,isAutoQuality:n,setQuality:i}}function ke(e,t,n){let r=[[`webkitbeginfullscreen`,t],[`webkitendfullscreen`,n]];for(let[t,n]of r)e.addEventListener(t,n);function i(){u(e,()=>{let t=e;if(typeof t.webkitEnterFullscreen!=`function`)return!1;t.webkitEnterFullscreen()})}function a(){let t=e;if(p()&&typeof t.webkitExitFullscreen==`function`){t.webkitExitFullscreen();return}m()}return{enterFullscreen:i,exitFullscreen:a,dispose:()=>{for(let[t,n]of r)e.removeEventListener(t,n)}}}function Ae(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 je=[`play`,`pause`,`ended`,`error`,`timeupdate`,`durationchange`,`progress`,`volumechange`,`ratechange`,`seeked`,`waiting`,`playing`,`canplay`];function Me(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 Ne(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 Pe(e,t){let n=f(),r=null,i=null,a=!1,o=null,s=null,c=null,l=0,u=null,d=t.preload===`none`&&!t.autoplay,p=!1;async function m(n){let{default:i}=await import(`hls.js`);if(a||o!==n)return;if(typeof i?.isSupported!=`function`||!i.isSupported()){e.src=n,t.autoplay&&e.play().catch(()=>{});return}r=new i({liveDurationInfinity:!0,autoStartLoad:!d}),p=!d,r.loadSource(n),r.attachMedia(e),t.autoplay&&e.play().catch(()=>{});let s=i.Events,c=i.ErrorTypes;r.on(s.MANIFEST_PARSED,S(`qualitychange`)),r.on(s.LEVEL_SWITCHED,S(`qualitychange`)),r.on(s.FRAG_BUFFERED,()=>{l=0}),r.on(s.ERROR,(e,t)=>{if(!t.fatal||a||o!==n)return;if(t.type!==c.NETWORK_ERROR&&t.type!==c.MEDIA_ERROR||l>=3){v(t.reason||t.details||`This video could not be played.`);return}let i=1e3*2**l;l+=1,_(),u=setTimeout(()=>{!a&&o===n&&r&&(t.type===c.NETWORK_ERROR?r.startLoad():r.recoverMediaError())},i)})}async function h(n){let r=await import(`dashjs`);if(a||s!==n)return;let o=r.MediaPlayer().create();i=o,o.initialize(e,n,t.autoplay??!1);let c=r.MediaPlayer.events;o.on(c.QUALITY_CHANGE_RENDERED,S(`qualitychange`)),o.on(c.STREAM_INITIALIZED,S(`qualitychange`)),o.on(c.ERROR,()=>{a||s!==n||(o.destroy(),i=null,v(`This video could not be played.`))})}function g(){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 _(){u&&clearTimeout(u),u=null}function v(e){_(),r?.destroy(),r=null,c={code:4,message:e},n.trigger(`error`)}let y=``,b;function x(n,a){if(y=n,b=a,_(),c=null,l=0,r?.destroy(),r=null,o=null,i?.destroy(),i=null,s=null,a===`application/dash+xml`){s=n,h(n);return}if(a===`application/x-mpegURL`&&!g()){o=n,m(n);return}e.src=n,t.autoplay&&e.play().catch(()=>{})}let S=e=>()=>n.trigger(e),C=je.map(e=>[e,S(e)]);for(let[t,n]of C)e.addEventListener(t,n);let w=Ee(e,S(`captionschange`),t.captionLine),T=Oe(()=>r?Me(r):i?Ne(i):null),E=ke(e,S(`nativefullscreenenter`),S(`nativefullscreenexit`)),D=Ae(e,S(`pipchange`)),{poster:O,muted:k,autoplay:A,volume:j,playbackRate:M,preload:N,src:P,type:F}=t;return e.poster=O??``,N&&(e.preload=N),e.muted=k??A??!1,e.volume=j??1,e.playbackRate=M??1,e.playsInline=!0,x(P,F),{el:e,play:()=>(r&&!p&&(p=!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.`}:c},load:x,retry:()=>x(y,b),supportsPlaybackRate:()=>!0,captions:{tracks:w.getCaptionTracks,active:w.getActiveCaptionTrack,select:w.setCaptionTrack},quality:{levels:T.getQualityLevels,current:T.getCurrentQuality,isAuto:T.isAutoQuality,select:T.setQuality},pip:{isSupported:D.supportsPip,isActive:D.isPipActive,toggle:D.togglePip},enterFullscreen:E.enterFullscreen,exitFullscreen:E.exitFullscreen,on:n.on,off:n.off,dispose:()=>{a=!0,_(),r?.destroy(),i?.destroy();for(let[t,n]of C)e.removeEventListener(t,n);w.dispose(),E.dispose(),D.dispose(),n.dispose()}}}function Fe(e){try{return localStorage.getItem(e)}catch{return null}}function Ie(e,t){try{localStorage.setItem(e,t)}catch{}}const Le=`player:audio`,Re={muted:!1,volume:1};function ze(){try{let e=Fe(Le);if(!e)return Re;let t=JSON.parse(e);return{muted:typeof t.muted==`boolean`?t.muted:Re.muted,volume:typeof t.volume==`number`?t.volume:Re.volume}}catch{return Re}}function Be(e){Ie(Le,JSON.stringify(e))}let Ve=!1;function He(){Ve=!0}function Ue(){return Ve}function We(e){Be(e),e.muted||He()}function Ge(e,t=!0){if(e!==void 0)return e;if(!t)return;let n=ze().muted;return n||He(),n}function Ke(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 qe(e,t){return e===void 0?t&&!Ue()?!0:ze().muted:e}function Je(e){return e.volume??ze().volume}async function Ye(e,t,n,r){if(!t.value)return{status:`aborted`};let i=await fe(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,nativeUi:!!n.nativeUi}}:{status:`unsupported`}:{status:`aborted`}}async function Xe(e,t,n,r,i){let a=await _e(e,n.src).catch(()=>({src:n.src}));if(!t.value)return{status:`aborted`};let o=Pe(t.value,{src:a.src,type:a.type,poster:a.poster||n.poster||``,autoplay:n.autoplay,...r,preload:n.preload,captionLine:n.captionLine}),s=Ke(n.adTagUrl||a.adTagUrl||``,n.adMacroParams);return i.attach(t.value,o,s,n.headerBidding),{status:`mounted`,mounted:{adapter:o}}}function Ze(e,t,n,r,i){return e.embed?Ye(e.key,t,n,r):Xe(e.key,t,n,r,i)}function Qe(e){let t=R(0),n=R(0),r=R(0),i=R(Je(e)),a=R(qe(e.muted,!!(e.autoplay||e.playInView))),o=_(()=>n.value?t.value/n.value*100:0);return{isPlaying:R(!1),hasEnded:R(!1),isReady:R(!1),isLoaded:R(!1),isLive:R(!1),hasStarted:R(!1),isError:R(!1),errorMessage:R(``),currentTime:t,duration:n,buffered:r,progress:o,bufferedDisplay:_(()=>Math.max(r.value,o.value)),currentVolume:i,isMuted:a,isAudible:_(()=>!a.value&&i.value>0),isLooping:R(!!e.loop),currentPlaybackRate:R(e.playbackRate??1),supportsPlaybackRate:R(!1),isAdPlaying:R(!1),isAdPaused:R(!1),isAdMuted:R(!1),adRemainingTime:R(0),supportsCaptions:R(!1),captionTracks:R([]),activeCaptionIndex:R(null),supportsQuality:R(!1),qualityLevels:R([]),currentQualityHeight:R(null),isAutoQuality:R(!0),supportsPip:R(!1),isPipActive:R(!1),isNativeUi:R(!1)}}function $e(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 et=$e(e=>(document.addEventListener(`fullscreenchange`,e),document.addEventListener(`webkitfullscreenchange`,e),()=>{document.removeEventListener(`fullscreenchange`,e),document.removeEventListener(`webkitfullscreenchange`,e)})),tt=$e(e=>(document.addEventListener(`visibilitychange`,e),window.addEventListener(`blur`,e),()=>{document.removeEventListener(`visibilitychange`,e),window.removeEventListener(`blur`,e)}));function nt(e){let t=R(!1),n=R(!1),i=null;function a(){let e=document;t.value=!!(document.fullscreenElement||e.webkitFullscreenElement),n.value=!1}function o(){let r=e();if(r){if(t.value){r.exitFullscreen();return}n.value=!0,r.enterFullscreen()}}function c(e){e.on(s,()=>{n.value=!0}),e.on(r,()=>{n.value=!1}),e.on(`nativefullscreenenter`,()=>{t.value=!0,n.value=!1}),e.on(`nativefullscreenexit`,()=>{t.value=!1,n.value=!1})}return P(()=>{i=et(a)}),N(()=>{i?.()}),{isFullscreen:t,isFullscreenPending:n,toggleFullscreen:o,attachPlayerEvents:c}}function rt(e){let t=R(!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 N(()=>clearTimeout(n??void 0)),{isBuffering:t,attachPlayerEvents:i,reset:r}}const it=[[.25,`firstQuartile`],[.5,`midpoint`],[.75,`thirdQuartile`]];function at(e,t,n){let r=new Set;function i(){if(!t.value)return;let i=e.value/t.value;for(let[e,t]of it)!r.has(e)&&i>=e&&(r.add(e),n(t))}function a(){r.clear()}return{checkQuartiles:i,reset:a}}function ot(){try{return JSON.parse(Fe(`player:positions`)??`[]`)}catch{return[]}}function st(e){Ie(`player:positions`,JSON.stringify(e))}function ct(e,t){if(t<5)return;let n=ot().filter(t=>t.url!==e);n.unshift({url:e,time:t}),st(n.slice(0,5))}function lt(e){return ot().find(t=>t.url===e)?.time??null}function ut(e){st(ot().filter(t=>t.url!==e))}function dt(e,t,n){let r=!1;function i(t){if(r)return;let n=lt(e);n&&t.setCurrentTime(n),r=!0}function a(t){t&&!n.value&&ct(e,t.currentTime()??0)}function o(){ut(e)}let s=tt(()=>{document.visibilityState===`hidden`&&a(t())});return N(()=>{a(t()),s()}),{restoreOnce:i,save:a,clear:o}}const ft=new WeakMap,pt=[.1,.5];function mt(e){let t=ft.get(e);if(t)return t;let n=new Set,r=new IntersectionObserver(([e])=>n.forEach(t=>t(e)),{threshold:pt});r.observe(e);let i={observer:r,callbacks:n};return ft.set(e,i),i}function ht(e,t){let n=mt(e);return n.callbacks.add(t),()=>{n.callbacks.delete(t),n.callbacks.size===0&&(n.observer.disconnect(),ft.delete(e))}}let gt=null,G=null;function _t(e,t){let n=ht(e,n=>{n.intersectionRatio<.5||(G&&clearTimeout(G),gt=e,G=setTimeout(()=>{gt=null,G=null,t()},150))});return()=>{gt===e&&G&&(clearTimeout(G),gt=null,G=null),n()}}function vt(e,t,n,r,i){let a=null;P(()=>{let o=e.value&&d(e.value);o&&(a=ht(o,e=>{let a=t();e.intersectionRatio<.1&&a&&!a.paused()&&!n.value&&!r.value&&!i.value&&a.pause()}))}),N(()=>a?.())}function yt(e,t,n,r,i){let a=null;P(()=>{let o=e.value&&d(e.value);o&&(a=_t(o,()=>{let e=t();e&&e.paused()&&!n.value&&!r.value&&(e.setMuted(qe(i,!0)),e.play().catch(()=>{}))}))}),N(()=>a?.())}const bt=`player:captions`;function xt(){try{let e=Fe(bt);if(!e)return null;let t=JSON.parse(e);return typeof t?.enabled==`boolean`?{enabled:t.enabled,...typeof t.language==`string`&&{language:t.language}}:null}catch{return null}}function St(e){Ie(bt,JSON.stringify(e))}function Ct(e,t){if(e){if(!e.enabled)return null;if(e.language)return t.find(t=>t.language===e.language)?.index??void 0}}const wt=`player:quality`;function Tt(){try{let e=Fe(wt);if(!e)return;let t=JSON.parse(e);return t===null?null:typeof t?.height==`number`?t.height:void 0}catch{return}}function Et(e){Ie(wt,JSON.stringify(e===null?null:{height:e}))}function Dt(e,t,n,r){let{isPlaying:i,isReady:a,hasEnded:o,hasStarted:s,duration:c,isLooping:l,currentPlaybackRate:u,captionTracks:d,activeCaptionIndex:f,currentQualityHeight:p,isAutoQuality:m,qualityLevels:h,errorMessage:g}=e;function _(){if(n.isAdPlaying())return n.resumeAd(),Promise.resolve();let e=t();return e?e.paused()?new Promise((t,n)=>{let r=()=>{e.off(`playing`,i),e.off(`error`,a)},i=()=>{r(),t()},a=()=>{r(),n(Error(g.value||`Playback failed`))};e.on(`playing`,i),e.on(`error`,a),e.play().catch(e=>{r(),n(e)})}):Promise.resolve():Promise.reject(Error(`Player is not mounted`))}function v(){if(n.isAdPlaying()){n.pauseAd();return}t()?.pause()}function y(){return t()?.setCurrentTime(0),o.value=!1,_()}function b(){if(n.isAdPlaying()){n.isAdPaused()?n.resumeAd():n.pauseAd();return}let e=t();e&&a.value&&(i.value?e.pause():e.play().catch(()=>{}))}function x(e){let n=c.value||1/0;t()?.setCurrentTime(Math.min(Math.max(e,0),n))}function S(){let e=t();if(!e)return;let n=!e.muted();e.setMuted(n),We({muted:n,volume:e.volume()})}function C(e){let n=t();if(!n)return;let r=e===0;n.setVolume(e),n.setMuted(r),We({muted:r,volume:e})}function w(){l.value=!l.value,s.value&&r(`loopchange`,{isLooping:l.value})}function T(e){let n=t();n&&(n.setPlaybackRate(e),u.value=e)}function E(e){let n=e===null?null:d.value.find(t=>t.index===e);St(n?{enabled:!0,language:n.language}:{enabled:!1}),t()?.captions?.select(e),f.value=e,s.value&&r(`captionchange`,{captionIndex:e})}function D(e){O(e,{remember:!0})}function O(e,{remember:n=!1}={}){let i=e===null?null:k(e);t()?.quality?.select(i?.index??null),p.value=i?.height??null,m.value=i===null,n&&Et(i?.height??null),s.value&&r(`qualitychange`,{qualityHeight:i?.height??null})}function k(e){let t=h.value;return t.length?t.reduce((t,n)=>Math.abs(n.height-e)<Math.abs(t.height-e)?n:t):null}function A(){t()?.pip?.toggle()}return{play:_,pause:v,replay:y,togglePlay:b,seek:x,toggleMute:S,setVolume:C,toggleLoop:w,setPlaybackRate:T,setCaptionTrack:E,setQuality:D,applyQuality:O,togglePip:A}}function Ot(e,t){let{isPlaying:n,hasEnded:r,isReady:i,isAdPlaying:a,isLive:o,currentTime:s,duration:c,buffered:l,currentVolume:u,isMuted:d,isLooping:f,currentPlaybackRate:p,supportsPlaybackRate:m,supportsCaptions:h,captionTracks:g,activeCaptionIndex:_,supportsQuality:v,qualityLevels:y,currentQualityHeight:b,isAutoQuality:x,supportsPip:S,isPipActive:C,hasStarted:w,isError:T,errorMessage:E}=e,{fire:D,pauseThisPlayer:O,positionMemory:k,quartiles:A,buffering:j,fullscreen:M}=t;function N(e){i.value=!0,m.value=e.supportsPlaybackRate();function t(){if(!g.value.length)return;let t=xt(),n=e.captions?.active()??null;if(t?.enabled&&t.language&&n!==null&&g.value.find(e=>e.index===n)?.language===t.language)return;let r=Ct(t,g.value);r!==void 0&&r!==n&&e.captions?.select(r)}function N(){g.value=e.captions?.tracks()??[],h.value=g.value.length>0,t();let n=e.captions?.active()??null;n!==_.value&&(_.value=n,w.value&&D(`captionchange`,{captionIndex:n}))}N(),e.on(`captionschange`,N);function P(){y.value=e.quality?.levels()??[],v.value=y.value.length>0;let t=e.quality?.current()??null,n=e.quality?.isAuto()??!0,r=n?null:y.value.find(e=>e.index===t)?.height??null,i=r!==b.value||n!==x.value;b.value=r,x.value=n,i&&w.value&&D(`qualitychange`,{qualityHeight:r})}P(),e.on(`qualitychange`,P);function F(){S.value=e.pip?.isSupported()??!1;let t=e.pip?.isActive()??!1;t!==C.value&&(C.value=t,w.value&&D(`pipchange`,{isPipActive:t}))}F(),e.on(`pipchange`,F);let I=()=>{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`,()=>{xe(O),a.value=!0,D(`adstart`)}),e.on(`adend`,()=>{a.value=!1,D(`adend`)}),e.on(`play`,()=>{xe(O),w.value=!0,n.value=!0,r.value=!1,o.value||k.restoreOnce(e),D(`play`)}),e.on(`pause`,()=>{n.value=!1,o.value||k.save(e),D(`pause`)}),e.on(`ended`,()=>{if(n.value=!1,A.reset(),j.reset(),f.value){e.setCurrentTime(0),e.play().catch(()=>{});return}c.value&&(s.value=c.value),r.value=!0,k.clear(),D(`ended`)}),e.on(`seeked`,()=>{D(`seeked`)}),e.on(`error`,()=>{let t=e.error();E.value=t?.message||`This video could not be played.`,T.value=!0,i.value=!0,console.error(`Video playback error:`,E.value),D(`error`,{error:t})});let L=0;e.on(`timeupdate`,()=>{if(r.value||a.value)return;s.value=e.currentTime()??0,c.value||I(),m.value||=e.supportsPlaybackRate(),t();let n=e.captions?.active()??null;_.value!==n&&(_.value=n,w.value&&D(`captionchange`,{captionIndex:n})),o.value||A.checkQuartiles();let i=Date.now();w.value&&i-L>=250&&(L=i,D(`timeupdate`))}),e.on(`durationchange`,I),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,w.value&&D(`volumechange`,{isMuted:t})}),e.on(`ratechange`,()=>{let t=e.playbackRate()??1;p.value=t,w.value&&D(`ratechange`,{playbackRate:t})}),j.attachPlayerEvents(e),M.attachPlayerEvents(e)}return{attachPlayerEvents:N}}function kt(e,t){let{isAdPlaying:n,isAdPaused:r,isAdMuted:i,adRemainingTime:a}=e,{fire:o,getPauseHandler:s}=t,c=null,l=null,u=!1;async function d(e,t,d,f){if(!(d||f)||!e.parentElement)return;let m=null,h=f?import(`./chunks/prebid-RHDT0DOX.mjs`).then(({resolveHeaderBiddingAdTagUrl:e})=>e(f,d).catch(()=>d)).then(e=>{c?c.setAdTagUrl(e):m=e}).catch(()=>{}):Promise.resolve(),g=!1;t.on(`play`,()=>{h.then(()=>{u||(c?c.requestAdsOnFirstPlay():g=!0)})});function _(){!p()&&t.pip?.isActive()&&document.exitPictureInPicture()}function v(){!p()&&(document.hidden||!document.hasFocus())&&c?.isAdPlaying()&&c.pauseAd()}let y=tt(v),b=()=>{t.pip?.isActive()||v()};t.on(`pipchange`,b),l=()=>{y(),t.off(`pipchange`,b)};let{attachAds:x}=await import(`./chunks/ads-B_nIEtdU.mjs`);!u&&e.parentElement&&(c=x(e.parentElement,e,d,{onAdStart:()=>{n.value=!0,r.value=!1,o(`adstart`),_(),v()},onAdEnd:()=>{n.value=!1,r.value=!1,a.value=0,o(`adend`)},onAdPauseChange:e=>{r.value=e,e||xe(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),g&&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 At(e,t,n){let r=null,i=null,a=Qe(t),{isReady:o,isLoaded:s,isLive:c,currentTime:l,duration:u,isMuted:d,currentVolume:f,currentPlaybackRate:p,hasEnded:m,hasStarted:h,isError:g,errorMessage:v,isNativeUi:y}=a,b=()=>r,x=_(()=>{if(typeof t.payload!=`string`)return t.payload??{};try{return JSON.parse(t.payload)}catch{return{}}});function S(e,r={}){n(`state-change`,{type:e,currentTime:l.value,duration:u.value,src:t.src,...r,payload:x.value})}let C=nt(b),w=rt(S),T=dt(t.src,b,m),E=at(l,u,S),D=kt(a,{fire:S,getPauseHandler:()=>O.pause}),O=Dt(a,b,D,S),{attachPlayerEvents:k}=Ot(a,{fire:S,pauseThisPlayer:O.pause,positionMemory:T,quartiles:E,buffering:w,fullscreen:C});function A(){r&&(g.value=!1,v.value=``,s.value=!1,u.value=0,r.retry())}H([u,c],([e,t])=>{s.value||!e&&!t||(s.value=!0,S(`loaded`))}),H(()=>t.loop,e=>{e!==void 0&&e!==a.isLooping.value&&O.toggleLoop()}),H(()=>t.muted,e=>{r&&e!==void 0&&r.setMuted(e)}),H(()=>t.playbackRate,e=>{r&&e!==void 0&&r.setPlaybackRate(e)});let j=!1;H(()=>[t.quality,a.qualityLevels.value.length],([e,t])=>{if(!t)return;if(e!==void 0){if(e===null&&a.isAutoQuality.value)return;O.applyQuality(e);return}if(j)return;j=!0;let n=Tt();n!==void 0&&O.applyQuality(n)}),vt(e,b,C.isFullscreen,C.isFullscreenPending,_(()=>!!t.pin)),t.playInView&&yt(e,b,C.isFullscreen,C.isFullscreenPending,t.muted);function M(e){r=e.adapter,e.nativeUi!==void 0&&(y.value=e.nativeUi),i=be(O.pause),k(e.adapter)}return H(h,t=>{t&&e.value&&r?.reveal?.(e.value)}),P(async()=>{let n=await Ze(ce(t.src),e,t,{muted:d.value,volume:f.value,playbackRate:p.value},D);if(n.status===`unsupported`){g.value=!0,o.value=!0,v.value=`This platform is not yet supported.`;return}n.status===`mounted`&&M(n.mounted)}),N(()=>{i?.(),D.dispose(),r?.dispose(),r=null}),{...a,...O,fire:S,retry:A,isBuffering:w.isBuffering,toggleAdMute:D.toggleAdMute,isFullscreen:C.isFullscreen,isFullscreenPending:C.isFullscreenPending,toggleFullscreen:C.toggleFullscreen}}const jt=new Set([`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`,`Home`,`End`]);function Mt(e,t){function n(e,t,n){return Math.min(n,Math.max(t,e))}function r(t){e.duration&&e.seek(n(e.currentTime+t,0,e.duration))}function i(t){e.duration&&e.seek(e.duration*t)}function a(t){e.setVolume(n(e.currentVolume+t,0,1))}function o(){e.supportsCaptions&&e.setCaptionTrack(e.activeCaptionIndex===null?0:null)}function s(n){if(n.repeat||n.metaKey||n.ctrlKey||n.altKey)return;let s=n.target;if(!s.closest(`input:not([type="range"]), textarea, select, [contenteditable="true"]`)&&!(jt.has(n.key)&&s.closest(`input[type="range"]`))&&(n.key!==` `&&n.key!==`Enter`||!s.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(),a(.1);break;case`ArrowDown`:n.preventDefault(),a(-.1);break;case`m`:e.toggleMute();break;case`f`:e.toggleFullscreen();break;case`c`:o();break;case`Home`:n.preventDefault(),i(0);break;case`End`:n.preventDefault(),i(1);break;default:if(!/^[0-9]$/.test(n.key))return;i(Number(n.key)/10)}t.onMouseMove()}}return{onKeydown:s}}function Nt(){let e=document.activeElement;if(!e?.closest(`.overlay__hud, .overlay__popup`))return!1;try{return e.matches(`:focus-visible`)}catch{return!0}}function Pt(e,t){let n=R(!0),r=R(!1),i=null,a=0;function o(e=400){a=Date.now()+e}function s(e=3500){clearTimeout(i??void 0),i=setTimeout(()=>{if(Nt()){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 H(e,e=>{if(!e){clearTimeout(i??void 0),n.value=!0;return}s()}),N(()=>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 Ft=[`retry`,`play`,`pause`,`replay`,`togglePlay`,`seek`,`toggleMute`,`setVolume`,`toggleFullscreen`,`toggleLoop`,`toggleAdMute`,`setPlaybackRate`,`setCaptionTrack`,`setQuality`,`togglePip`],It=`isPlaying.hasEnded.isReady.isLoaded.isAdPlaying.isAdPaused.isAdMuted.adRemainingTime.isLive.isBuffering.currentTime.duration.currentVolume.isMuted.isAudible.isLooping.currentPlaybackRate.hasStarted.isError.errorMessage.progress.bufferedDisplay.isFullscreen.supportsPlaybackRate.supportsCaptions.captionTracks.activeCaptionIndex.supportsQuality.qualityLevels.currentQualityHeight.isAutoQuality.supportsPip.isPipActive.isNativeUi`.split(`.`);function Lt(e){let t={};for(let n of Ft)t[n]=(...t)=>e[n](...t);for(let n of It)Object.defineProperty(t,n,{get:()=>e[n],enumerable:!0});return t}const K=Symbol(`player`),q=Symbol(`hud`),Rt=Symbol(`action`),J=Symbol(`playlist`),zt={hasPlaylist:!1,hasNext:!1,hasPrevious:!1,autoAdvance:!1,playNext:()=>{},playPrevious:()=>{},toggleAutoAdvance:()=>{}};function Y(e){let t=D(e);if(t===void 0)throw Error(`[video-player] missing "${String(e.description)}" context — this component must be rendered inside <VideoPlayer>`);return t}function Bt(e,t){let n=_(()=>e.isReady&&!e.isError);return{hudVisible:_(()=>n.value&&t.showHUD),popupVisible:_(()=>n.value?e.isFullscreen?t.showHUD:t.isOpen:!1)}}const Vt={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 Ht(e,t,n){let r=_(()=>e?.value??null),i=_(()=>!!r.value&&typeof r.value==`object`),a=_(()=>i.value?r.value:null),o=_(()=>i.value||!r.value?null:Vt[r.value]),s=_(()=>o.value?.label(t,n)??``),c=_(()=>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}}function Ut(e,t){if(t.library!==void 0)return t.library;if(e.defaultLibrary!==null)return e.defaultLibrary;if(e.libraries.size===1)return e.libraries.keys().next().value}function Wt(e,t,n){return{tag:`span`,className:`icon-svg`,html:typeof e==`function`?e({...t,library:n}):e}}function Gt(e,t,n){if(n!==void 0){let r=e.libraryOverrides.get(n)?.get(t);if(r!==void 0)return r}return e.overrides.get(t)}function Kt(e,t,n){let r={name:t,variant:n.variant},i=Ut(e,n),a=Gt(e,t,i);return{request:r,source:i===void 0?void 0:e.libraries.get(i),override:a===void 0?void 0:Wt(a,r,i)}}function qt({request:e,source:t,override:n}){return n||t?.resolveSync?.(e)}function Jt(e,t){return e?.resolveSync?.(t)||e?.resolve?.(t)}function Yt(e,t){let n,r=!1,i=e.then(e=>{if(r)return e.dispose?.();n=e,t(e)});return[{resolveSync(e){return n?.resolveSync?.(e)},async resolve(e){return await i,Jt(n,e)},dispose(){r=!0,n?.dispose?.()}},i]}function Xt(e){return`resolveSync`in e||`resolve`in e}async function Zt(e,t){if(`resolver`in t||`icons`in t){let{svgLibrary:e}=await import(`./chunks/svg-BLBI83Ed-BjsPx0LR.mjs`);return e(t)}if(`className`in t){let{fontLibrary:e}=await import(`./chunks/font-KFHs3p_4-KFHs3p_4.mjs`);return e(t)}throw Error(`Unrecognised library config for "${e}"`)}function Qt(){return{overrides:new Map,libraryOverrides:new Map,libraries:new Map,listeners:new Set,defaultLibrary:null}}function $t({listeners:e}){for(let t of e)t()}function en(){let e=Qt();function t(e,t){let n=e.get(t);return n===void 0&&(n=new Map,e.set(t,n)),n}function n(){$t(e)}return{version:`0.0.3`,get defaultLibrary(){return e.defaultLibrary},get libraries(){return[...e.libraries.keys()]},register(t,r,i={}){if(e.libraries.get(t)?.dispose?.(),i.default&&(e.defaultLibrary=t),Xt(r))return e.libraries.set(t,r),n(),Promise.resolve();let[a,o]=Yt(Zt(t,r),r=>{e.libraries.get(t)===a&&(e.libraries.set(t,r),n())});return e.libraries.set(t,a),n(),o.catch(r=>{throw e.defaultLibrary===t&&(e.defaultLibrary=null,n()),r})},unregister(t){e.libraries.get(t)?.dispose?.(),e.libraries.delete(t),e.defaultLibrary===t&&(e.defaultLibrary=null),n()},use(t){e.defaultLibrary=t,n()},override(r,i,a){let o,s;typeof r==`string`?(o=[[r,i??null]],s=a):(o=Object.entries(r),s=i);let c=s?.library===void 0?e.overrides:t(e.libraryOverrides,s.library);for(let[e,t]of o)t===null?c.delete(e):c.set(e,t);n()},getIconSync(t,n={}){return qt(Kt(e,t,n))},async getIcon(t,n={}){let{request:r,source:i,override:a}=Kt(e,t,n);if(a)return a;try{return await Jt(i,r)}catch(e){import.meta.env?.DEV&&console.warn(`[sigil] "${t}" failed to resolve`,e);return}},subscribe(t){return e.listeners.add(t),()=>{e.listeners.delete(t)}},clear(){for(let t of e.libraries.values())t.dispose?.();e.overrides.clear(),e.libraryOverrides.clear(),e.libraries.clear(),e.defaultLibrary=null,n()}}}const tn=Symbol.for(`@munsonlabs/sigil`),nn=globalThis,rn=nn[tn]??=en(),{register:an,unregister:on,override:sn,use:cn,getIcon:ln,getIconSync:un,subscribe:dn,clear:fn}=rn;function pn(e,t,n,r=rn){let i=0,a=r.subscribe(()=>void o());async function o(){let a=++i,o=r.getIconSync(e,t);if(o)return n(o);let s=await r.getIcon(e,t);a===i&&n(s)}return o(),()=>{i++,a()}}const mn=w({name:`Sigil`,inheritAttrs:!1,props:{name:{type:String,required:!0},library:{type:String,default:void 0},variant:{type:String,default:void 0}},setup(e,{attrs:t}){let n=ne();return H(()=>[e.name,e.library,e.variant],([e,t,r],i,a)=>{a(pn(e,{library:t,variant:r},e=>{n.value=e}))},{immediate:!0}),()=>{let e=n.value;if(!e)return null;let r={...t,class:[e.className,t.class],"aria-hidden":`true`};return e.html===void 0?E(e.tag,r,e.text):E(e.tag,{...r,innerHTML:e.html})}}});function hn(e,t,n=rn){function r(){n.libraries.includes(e)||n.register(e,t)}return r(),n.subscribe(r)}const gn={back:`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z"/></svg>`,captions:`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="5" width="20" height="14" rx="2"/><path d="M9.5 10.5a2 2 0 0 0-3.5 1.3v.4a2 2 0 0 0 3.5 1.3"/><path d="M17.5 10.5a2 2 0 0 0-3.5 1.3v.4a2 2 0 0 0 3.5 1.3"/></svg>`,close:`<svg viewBox="0 0 24 24" fill="currentColor"><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"/></svg>`,controls:`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="4" y1="6" x2="20" y2="6"/><line x1="4" y1="12" x2="20" y2="12"/><line x1="4" y1="18" x2="20" y2="18"/><circle cx="9" cy="6" r="2.5" fill="currentColor" stroke="none"/><circle cx="15" cy="12" r="2.5" fill="currentColor" stroke="none"/><circle cx="9" cy="18" r="2.5" fill="currentColor" stroke="none"/></svg>`,expand:`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M4 12l1.41 1.41L11 7.83V20h2V7.83l5.59 5.58L20 12l-8-8-8 8z"/></svg>`,"fullscreen-enter":`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"/></svg>`,"fullscreen-exit":`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z"/></svg>`,loop:`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M7 7h10v3l4-4-4-4v3H5v6h2V7zm10 10H7v-3l-4 4 4 4v-3h12v-6h-2v4z"/></svg>`,more:`<svg viewBox="0 0 24 24" fill="currentColor"><circle cx="5" cy="12" r="2"/><circle cx="12" cy="12" r="2"/><circle cx="19" cy="12" r="2"/></svg>`,pause:`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M6 19h4V5H6v14zm8-14v14h4V5h-4z"/></svg>`,pip:`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="4" width="20" height="16" rx="2"/><rect x="12" y="11" width="8" height="6" rx="1" fill="currentColor" stroke="none"/></svg>`,play:`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M8 5v14l11-7z"/></svg>`,quality:`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="6" width="20" height="12" rx="2"/><path d="M7 14v-4M12 14V8M17 14v-2"/></svg>`,replay:`<svg viewBox="0 0 24 24" fill="currentColor"><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"/></svg>`,"skip-next":`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M6 18l8.5-6L6 6v12zM16 6v12h2V6h-2z"/></svg>`,"volume-mute":`<svg viewBox="0 0 24 24" fill="currentColor"><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"/></svg>`,"volume-on":`<svg viewBox="0 0 24 24" fill="currentColor"><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"/></svg>`};let _n;function vn(){_n??=hn(`mlv`,{resolveSync({name:e}){let t=gn[e];if(t!==void 0)return{tag:`span`,className:`icon-svg`,html:t}}})}vn();var yn=w({__name:`Icon`,props:{name:{type:String,required:!0}},setup(e){return(t,n)=>(F(),v(V(mn),{name:e.name,library:`mlv`,class:`ml-video-icon`},null,8,[`name`]))}}),X=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},Z=X(yn,[[`__scopeId`,`data-v-466b80a9`]]);function bn(e){return typeof e?.togglePlay==`function`}function Q(e){let t=D(K,null),n=ne(null),r=null,i=!1;function a(){r?.disconnect(),r=null}function o(e){let t=document.getElementById(e);return bn(t)?(n.value=t,a(),!0):!1}function s(){a(),n.value=null;let t=e.for;if(!t||i||o(t))return;let s=document.getElementById(t)?.tagName.toLowerCase();s?.includes(`-`)&&customElements.whenDefined(s).then(()=>{!i&&e.for===t&&o(t)}),k(()=>{i||e.for!==t||n.value||o(t)||(r=new MutationObserver(()=>o(t)),r.observe(document.body,{childList:!0,subtree:!0}))})}return P(s),H(()=>e.for,s),N(()=>{i=!0,a()}),_(()=>e.player??n.value??t??null)}const xn=[`aria-label`];var Sn=w({__name:`PlayButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=Q(e),n=_(()=>t.value?.isError?`error`:t.value?.hasEnded?`ended`:t.value?.isPlaying?`playing`:`idle`),r=_(()=>{switch(n.value){case`error`:return`Retry`;case`ended`:return`Replay`;case`playing`:return`Pause`;default:return`Play`}});function i(){let e=t.value;e&&(e.isError?e.retry():e.togglePlay())}return(e,a)=>(F(),b(`button`,{type:`button`,class:`ml-video-control-btn ml-video-play-button`,"aria-label":r.value,onClick:i},[z(e.$slots,`default`,{isPlaying:V(t)?.isPlaying??!1,hasEnded:V(t)?.hasEnded??!1,isError:V(t)?.isError??!1},()=>[n.value===`error`||n.value===`ended`?(F(),v(Z,{key:0,name:`replay`})):n.value===`playing`?(F(),v(Z,{key:1,name:`pause`})):(F(),v(Z,{key:2,name:`play`}))])],8,xn))}}),Cn=X(w({__name:`Spinner`,props:{size:{type:Number,required:!1,default:14},borderWidth:{type:Number,required:!1,default:2}},setup(e){return(t,n)=>(F(),b(`div`,{class:`spinner`,style:M({width:`${e.size}px`,height:`${e.size}px`,borderWidth:`${e.borderWidth}px`})},null,4))}}),[[`__scopeId`,`data-v-7c461437`]]);const wn={key:0,class:`ml-video-buffering`,role:`status`,"aria-label":`Buffering`};var Tn=X(w({__name:`Buffering`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=Q(e);return(e,n)=>V(t)?.isBuffering?(F(),b(`div`,wn,[z(e.$slots,`default`,{isBuffering:!0},()=>[C(Cn)],!0)])):y(`v-if`,!0)}}),[[`__scopeId`,`data-v-c446a450`]]),En=w({__name:`VolumeIcon`,props:{isAudible:{type:Boolean,required:!0}},setup(e){return(t,n)=>e.isAudible?(F(),v(Z,{key:0,name:`volume-on`})):(F(),v(Z,{key:1,name:`volume-mute`}))}});const Dn={class:`hud`,"aria-hidden":`true`},On=[`aria-label`],kn=[`aria-label`,`innerHTML`],An={key:2,class:`hud__spacer`},jn={class:`hud__play-wrap`};var Mn=X(w({__name:`HudButtons`,setup(e){let t=Y(K),n=Y(q),{currentAction:r,isCustom:i,customAction:a,builtinLabel:o,builtinActive:s,onBuiltinClick:c}=Ht(D(Rt),t,Y(J));return(e,l)=>(F(),b(h,null,[y(` 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. `),x(`div`,Dn,[!V(n).isOpen&&!V(t).isFullscreen?(F(),b(h,{key:0},[V(r)===`mute`||V(r)===`loop`||V(r)===`autoplay`?(F(),b(`button`,{key:0,class:A([`hud__btn`,{"hud__btn--active":V(s)}]),"aria-label":V(o),tabindex:`-1`,onClick:l[0]||=U((...e)=>V(c)&&V(c)(...e),[`stop`])},[V(r)===`mute`?(F(),v(En,{key:0,"is-audible":V(t).isAudible},null,8,[`is-audible`])):V(r)===`loop`?(F(),v(Z,{key:1,name:`loop`})):(F(),v(Z,{key:2,name:`skip-next`}))],10,On)):V(i)&&V(a)?(F(),b(`button`,{key:1,class:`hud__btn`,"aria-label":V(a).label,tabindex:`-1`,onClick:l[1]||=U(e=>V(a).onClick(),[`stop`]),innerHTML:V(a).icon},null,8,kn)):(F(),b(`div`,An))],64)):y(`v-if`,!0),x(`div`,jn,[C(Sn,{class:`ppbtn ppbtn--lg`,tabindex:`-1`}),C(Tn,{class:`hud__buf-spinner`})]),!V(n).isOpen&&!V(t).isFullscreen?(F(),b(`button`,{key:1,class:`hud__btn`,"aria-label":`Show controls`,tabindex:`-1`,onClick:l[2]||=U((...e)=>V(n).openControls&&V(n).openControls(...e),[`stop`])},[C(Z,{name:`controls`})])):y(`v-if`,!0)])],2112))}}),[[`__scopeId`,`data-v-58e9bcdd`]]);function Nn(e,t=250){let n=R(!1),r=null;return H(e,e=>{r?.disconnect(),r=null,e&&(r=new ResizeObserver(([e])=>{n.value=e.contentRect.width<t}),r.observe(e))},{immediate:!0}),N(()=>r?.disconnect()),n}const Pn=new WeakMap;async function Fn(e,t){if(!e){t();return}Pn.get(e)?.();let n=e.getBoundingClientRect();t(),await k();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=``),Pn.delete(e),t()};Pn.set(e,r);let i=requestAnimationFrame(()=>{e.style.transition=`transform 220ms ease`,e.style.transform=``,n=setTimeout(r,220)})})}const In=[`aria-label`];var Ln=w({__name:`FullscreenButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=Q(e);return(e,n)=>(F(),b(`button`,{type:`button`,class:`ml-video-control-btn ml-video-fullscreen-button`,"aria-label":V(t)?.isFullscreen?`Exit fullscreen`:`Enter fullscreen`,onClick:n[0]||=e=>V(t)?.toggleFullscreen()},[z(e.$slots,`default`,{isFullscreen:V(t)?.isFullscreen??!1},()=>[V(t)?.isFullscreen?(F(),v(Z,{key:0,name:`fullscreen-exit`})):(F(),v(Z,{key:1,name:`fullscreen-enter`}))])],8,In))}});const Rn=[`aria-pressed`];var zn=w({__name:`PipButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=Q(e);return(e,n)=>V(t)?.supportsPip?(F(),b(`button`,{key:0,type:`button`,class:A([`ml-video-control-btn ml-video-control-btn--toggle ml-video-pip-button`,{"ml-video-control-btn--active ml-video-pip-button--active":V(t)?.isPipActive}]),"aria-pressed":V(t)?.isPipActive??!1,"aria-label":`Toggle Picture-in-Picture`,onClick:n[0]||=e=>V(t)?.togglePip()},[z(e.$slots,`default`,{isPipActive:V(t)?.isPipActive??!1},()=>[C(Z,{name:`pip`})])],10,Rn)):y(`v-if`,!0)}});function Bn(e){let t=R(!1),n=R(null),r=!1,i=null,a=!1,o=_(()=>{let t=e.value;return t?.duration?t.currentTime/t.duration*100:0}),s=_(()=>n.value??o.value),c=_(()=>n.value!==null),l=_(()=>{let t=e.value?.duration??0;return s.value/100*t});function u(){i&&clearTimeout(i),i=null}function d(){u(),n.value=null}function f(e){t.value||=(r=e.isPlaying,e.pause(),!0)}function p(e){return Number(e.target.value)}function m(a){let o=e.value;o&&!t.value&&f(o),t.value=!1,o&&(n.value=a,o.seek(a*(o.duration||0)/100),r&&o.play().catch(()=>{}),u(),i=setTimeout(d,3e3))}function h(t){let r=e.value;r?.duration&&(f(r),u(),n.value=p(t))}function g(e){t.value&&(a=!0,m(p(e)))}function v(){a=!1}function y(t){if(a){a=!1;return}e.value?.duration&&m(p(t))}function b(){t.value&&(t.value=!1,r&&e.value?.play().catch(()=>{}),d())}return H(()=>e.value?.currentTime,()=>{let t=e.value;if(n.value===null||!t?.duration)return;let r=n.value/100*t.duration;Math.abs(t.currentTime-r)<1&&d()}),N(d),{scrubbing:c,displayPercent:s,previewSeconds:l,onInput:h,onChange:g,onTouchStart:v,onTouchEnd:y,onPointerCancel:b}}function Vn(e,t=!1){if(!e||isNaN(e)||e<0)return`0:00`;let n=t?Math.round(e):Math.floor(e),r=Math.floor(n/3600),i=Math.floor(n%3600/60),a=String(n%60).padStart(2,`0`);return r?`${r}:${String(i).padStart(2,`0`)}:${a}`:`${i}:${a}`}const Hn={class:`ml-video-scrubber-wrap`},Un=[`value`,`aria-valuetext`];var Wn=X(w({inheritAttrs:!1,__name:`Scrubber`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=Q(e),{scrubbing:n,displayPercent:r,previewSeconds:i,onInput:a,onChange:o,onTouchStart:s,onTouchEnd:c,onPointerCancel:l}=Bn(t),u=e=>Vn(e,!0);return(e,d)=>(F(),b(`div`,Hn,[x(`input`,O({type:`range`,min:`0`,max:`100`,step:`0.5`,value:V(r),class:`ml-video-scrubber`,style:{"--p":`${V(r)}%`,"--b":`${V(t)?.bufferedDisplay??0}%`},"aria-label":`Seek`,"aria-valuetext":`${u(V(i))} of ${u(V(t)?.duration??0)}`,onInput:d[0]||=(...e)=>V(a)&&V(a)(...e),onChange:d[1]||=(...e)=>V(o)&&V(o)(...e),onTouchstart:d[2]||=(...e)=>V(s)&&V(s)(...e),onTouchend:d[3]||=(...e)=>V(c)&&V(c)(...e),onPointercancel:d[4]||=(...e)=>V(l)&&V(l)(...e)},e.$attrs),null,16,Un),z(e.$slots,`preview`,{scrubbing:V(n),percent:V(r),previewSeconds:V(i),formatTime:u},()=>[V(n)?(F(),b(`div`,{key:0,class:`ml-video-scrubber__preview`,style:M({left:`${V(r)}%`})},B(u(V(i))),5)):y(`v-if`,!0)],!0)]))}}),[[`__scopeId`,`data-v-00e26db0`]]);const Gn={class:`ml-video-time-display__time`},Kn={class:`ml-video-time-display__total`};var qn=X(w({__name:`TimeDisplay`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=Q(e);return(e,n)=>(F(),b(`span`,{class:A([`ml-video-time-display`,{"ml-video-time-display--live":V(t)?.isLive}])},[z(e.$slots,`default`,{isLive:V(t)?.isLive??!1,currentTime:V(t)?.currentTime??0,duration:V(t)?.duration??0,formatTime:V(Vn)},()=>[V(t)?.isLive?(F(),b(h,{key:0},[n[0]||=x(`span`,{class:`ml-video-time-display__dot`},null,-1),n[1]||=S(`Live `,-1)],64)):(F(),b(h,{key:1},[x(`span`,Gn,B(V(Vn)(V(t)?.currentTime??0)),1),x(`span`,Kn,`/ `+B(V(Vn)(V(t)?.duration??0)),1)],64))],!0)],2))}}),[[`__scopeId`,`data-v-d2dbce42`]]);const Jn={class:`ml-video-volume-wrap`},Yn=[`value`],Xn={class:`ml-video-volume-pct`};var Zn=X(w({inheritAttrs:!1,__name:`VolumeSlider`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=Q(e),n=_(()=>{let e=t.value;return e?e.isMuted?0:Math.round(e.currentVolume*100):0});function r(e){t.value?.setVolume(Number(e.target.value)/100)}return(e,t)=>(F(),b(`div`,Jn,[x(`input`,O({type:`range`,min:`0`,max:`100`,step:`1`,value:n.value,class:`ml-video-volume-slider`,style:{"--v":`${n.value}%`},"aria-label":`Volume`,onInput:r},e.$attrs),null,16,Yn),z(e.$slots,`default`,{percent:n.value},()=>[x(`span`,Xn,B(n.value)+`%`,1)],!0)]))}}),[[`__scopeId`,`data-v-512c68f4`]]);const Qn={class:`controls__vol-header`},$n=[`aria-label`],er={class:`controls__vol-body`},tr={class:`controls__vol-pct`};var nr=X(w({__name:`VolumePanel`,emits:[`back`],setup(e){let t=Y(K),n=Y(q);return(e,r)=>(F(),b(h,null,[x(`div`,Qn,[x(`button`,{class:`controls__btn`,"aria-label":`Back`,onClick:r[0]||=t=>e.$emit(`back`)},[C(Z,{name:`back`})]),r[6]||=x(`span`,{class:`controls__vol-label`},`Volume`,-1),x(`button`,{class:`controls__btn`,"aria-label":V(t).isMuted?`Unmute`:`Mute`,onClick:r[1]||=e=>V(t).toggleMute()},[C(En,{"is-audible":V(t).isAudible},null,8,[`is-audible`])],8,$n)]),x(`div`,er,[C(Zn,{class:`controls__vol-slider`,onMousedown:r[2]||=e=>V(n).pauseHide(),onMouseup:r[3]||=e=>V(n).scheduleHide(),onTouchstartPassive:r[4]||=e=>V(n).pauseHide(),onTouchend:r[5]||=e=>V(n).scheduleHide()},{default:ie(({percent:e})=>[x(`span`,tr,B(e)+`%`,1)]),_:1})])],64))}}),[[`__scopeId`,`data-v-7fa1bc26`]]);function rr(e){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 ir(e){return e.captionTracks.find(t=>t.index===e.activeCaptionIndex)?.label??`Off`}function ar(e){let t=e.qualityLevels;if(!t.length)return;if(e.isAutoQuality){e.setQuality(t[t.length-1].height);return}let n=t.findIndex(t=>t.height===e.currentQualityHeight);e.setQuality(n<=0?null:t[n-1].height)}function or(e){return e.isAutoQuality?`Auto`:e.qualityLevels.find(t=>t.height===e.currentQualityHeight)?.label??`Auto`}function sr(e){let n=e.currentPlaybackRate,r=t.indexOf(n);if(r!==-1){e.setPlaybackRate(t[(r+1)%t.length]);return}e.setPlaybackRate(t.find(e=>e>n)??t[0])}function cr(e){return`${e}×`}const lr=[`aria-label`],ur={key:0,class:`controls__more-row-label`},dr=[`innerHTML`],fr={key:1},pr={key:2,class:`controls__more-value`};var $=X(w({__name:`MoreMenuRow`,props:{label:{type:String,required:!0},ariaLabel:{type:String,required:!1,default:``},icon:{type:String,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)=>(F(),b(`button`,{class:A([`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?(F(),b(`span`,ur,[e.icon?(F(),v(Z,{key:0,name:e.icon,class:`controls__more-row-icon`},null,8,[`name`])):(F(),b(`span`,{key:1,class:`controls__more-row-icon`,innerHTML:e.iconHtml},null,8,dr)),S(` `+B(e.label),1)])):(F(),b(`span`,fr,B(e.label),1)),e.value===void 0?y(`v-if`,!0):(F(),b(`span`,pr,B(e.value),1))],10,lr))}}),[[`__scopeId`,`data-v-73312b97`]]);const mr={class:`controls__more-header`};var hr=X(w({__name:`MoreMenu`,props:{compact:{type:Boolean,required:!0}},emits:[`back`],setup(e){let t=Y(K),n=Y(q),r=Y(J),{isCustom:i,customAction:a}=Ht(D(Rt,void 0),t,r);return(o,s)=>(F(),b(h,null,[x(`div`,mr,[x(`button`,{class:`controls__btn`,"aria-label":`Back`,onClick:s[0]||=e=>o.$emit(`back`)},[C(Z,{name:`back`})]),s[11]||=x(`span`,{class:`controls__more-label`},`More`,-1)]),x(`div`,{class:`controls__more-body`,onTouchstartPassive:s[10]||=e=>V(n).keepOpen()},[V(t).supportsPlaybackRate?(F(),v($,{key:0,label:`Playback speed`,value:V(cr)(V(t).currentPlaybackRate),onClick:s[1]||=e=>V(sr)(V(t))},null,8,[`value`])):y(`v-if`,!0),C($,{label:`Loop`,"aria-label":`Toggle loop`,icon:`loop`,active:V(t).isLooping,value:V(t).isLooping?`On`:`Off`,onClick:s[2]||=e=>V(t).toggleLoop()},null,8,[`active`,`value`]),V(t).supportsCaptions?(F(),v($,{key:1,label:`Captions`,icon:`captions`,active:V(t).activeCaptionIndex!==null,value:V(ir)(V(t)),onClick:s[3]||=e=>V(rr)(V(t))},null,8,[`active`,`value`])):y(`v-if`,!0),V(t).supportsQuality?(F(),v($,{key:2,label:`Quality`,icon:`quality`,active:!V(t).isAutoQuality,value:V(or)(V(t)),onClick:s[4]||=e=>V(ar)(V(t))},null,8,[`active`,`value`])):y(`v-if`,!0),V(r).hasPlaylist?(F(),v($,{key:3,label:`Autoplay next`,"aria-label":`Toggle autoplay next`,icon:`skip-next`,active:V(r).autoAdvance,value:V(r).autoAdvance?`On`:`Off`,onClick:s[5]||=e=>V(r).toggleAutoAdvance()},null,8,[`active`,`value`])):y(`v-if`,!0),e.compact&&V(t).supportsPip?(F(),v($,{key:4,label:`Picture-in-picture`,"aria-label":`Toggle picture-in-picture`,icon:`pip`,active:V(t).isPipActive,onClick:s[6]||=e=>V(t).togglePip()},null,8,[`active`])):y(`v-if`,!0),e.compact&&V(r).hasNext?(F(),v($,{key:5,label:`Play next`,"aria-label":`Play next`,icon:`skip-next`,onClick:s[7]||=e=>V(r).playNext()})):y(`v-if`,!0),e.compact?(F(),v($,{key:6,label:`Mute`,"aria-label":`Toggle mute`,icon:V(t).isAudible?`volume-on`:`volume-mute`,active:!V(t).isAudible,onClick:s[8]||=e=>V(t).toggleMute()},null,8,[`icon`,`active`])):y(`v-if`,!0),V(i)&&V(a)?(F(),v($,{key:7,label:V(a).label,"icon-html":V(a).icon,onClick:s[9]||=e=>V(a).onClick()},null,8,[`label`,`icon-html`])):y(`v-if`,!0)],32)],64))}}),[[`__scopeId`,`data-v-23430f8a`]]);const gr={class:`controls__row`},_r={class:`controls__play-wrap`},vr=[`aria-expanded`],yr=[`aria-expanded`],br={class:`controls__fs-wrap`};var xr=X(w({__name:`ControlsPopup`,setup(e){let t=Y(K),n=Y(q),r=Y(J);D(Rt);let i=R(!1),a=R(!1),o=R(null),s=R(null),c=Nn(o),l=_(()=>t.isLooping||t.currentPlaybackRate!==1||r.autoAdvance);function u(e){return t.isFullscreen||!o.value||o.value.contains(e)?!1:(n.closeControls(),!0)}function d(e){u(e.target)}function f(e){u(e.target)&&e.preventDefault()}P(()=>{t.fire(`controlsopen`,{element:o.value}),document.addEventListener(`click`,d,!0),document.addEventListener(`touchend`,f,!0)}),N(()=>{i.value=!1,a.value=!1,t.fire(`controlsclose`,{element:o.value}),document.removeEventListener(`click`,d,!0),document.removeEventListener(`touchend`,f,!0)});function m(e){n.suppressMouseLeave();let t=o.value,r=s.value;if(!t||!r){e();return}r.style.opacity=`0`,Fn(t,e).then(()=>{r.style.transition=`opacity 130ms ease`,r.style.opacity=``,setTimeout(()=>{r.style.transition=``},130)})}function g(){if(p()){t.toggleMute();return}m(()=>{i.value=!0})}function S(){m(()=>{a.value=!0})}return(e,u)=>(F(),b(`div`,{ref_key:`popupEl`,ref:o,class:A([`controls`,{"controls--fs":V(t).isFullscreen,"controls--compact":V(c)}]),onMousemove:u[8]||=U((...e)=>V(n).keepOpen&&V(n).keepOpen(...e),[`stop`])},[x(`div`,{class:`controls__inner`,ref_key:`contentEl`,ref:s},[i.value?(F(),v(nr,{key:0,onBack:u[0]||=e=>m(()=>i.value=!1)})):a.value?(F(),v(hr,{key:1,compact:V(c),onBack:u[1]||=e=>m(()=>a.value=!1)},null,8,[`compact`])):(F(),b(h,{key:2},[V(t).isLive?y(`v-if`,!0):(F(),v(Wn,{key:0,class:`controls__seek`,onMousedown:u[2]||=e=>V(n).pauseHide(),onMouseup:u[3]||=e=>V(n).scheduleHide(),onTouchstartPassive:u[4]||=e=>V(n).pauseHide(),onTouchend:u[5]||=e=>V(n).scheduleHide()})),x(`div`,gr,[x(`div`,_r,[C(Tn),V(t).isBuffering?y(`v-if`,!0):(F(),v(Sn,{key:0,class:`ppbtn ppbtn--sm`}))]),C(qn,{class:`controls__time-display`}),V(r).hasNext?(F(),b(`button`,{key:0,class:`controls__btn controls__btn--next`,"aria-label":`Play next`,onClick:u[6]||=e=>V(r).playNext()},[C(Z,{name:`skip-next`})])):y(`v-if`,!0),x(`button`,{class:`controls__btn controls__btn--volume`,"aria-label":`Volume`,"aria-haspopup":`true`,"aria-expanded":i.value,onClick:g},[C(En,{"is-audible":V(t).isAudible},null,8,[`is-audible`])],8,vr),x(`button`,{class:A([`controls__btn controls__btn--more`,{"controls__btn--active":l.value}]),"aria-label":`More`,"aria-haspopup":`true`,"aria-expanded":a.value,onClick:S},[C(Z,{name:`more`})],10,yr),C(zn,{class:`controls__btn controls__btn--pip`}),x(`div`,br,[V(t).isFullscreenPending?(F(),v(Cn,{key:0})):(F(),v(Ln,{key:1,class:`controls__btn`}))])])],64))],512),x(`button`,{type:`button`,class:`controls__close`,"aria-label":`Close player controls`,onClick:u[7]||=e=>V(n).closeControls(!0)},`Close player controls`)],34))}}),[[`__scopeId`,`data-v-330d8c86`]]);const Sr={key:0,class:`overlay__spinner`},Cr={key:0,class:`overlay__error`},wr=[`inert`];var Tr=X(w({__name:`PlayerOverlay`,setup(e){let t=Y(K),n=Y(q),{hudVisible:r,popupVisible:i}=Bt(t,n);return(e,a)=>(F(),b(h,null,[C(g,{name:`fade`},{default:ie(()=>[!V(t).isReady&&!V(t).isError?(F(),b(`div`,Sr,[C(Cn,{size:40,"border-width":3})])):y(`v-if`,!0)]),_:1}),V(t).isError?(F(),b(`div`,Cr,[x(`p`,null,B(V(t).errorMessage||`This video could not be played.`),1),x(`button`,{class:`overlay__retry`,onClick:a[0]||=U((...e)=>V(t).retry&&V(t).retry(...e),[`stop`])},`Retry`)])):y(`v-if`,!0),x(`button`,{type:`button`,class:`overlay__reveal`,"aria-label":`Show player controls`,onClick:a[1]||=e=>V(n).openControls()},`Show player controls`),x(`div`,{class:A([`overlay__hud`,{"overlay__hud--visible":V(r)}]),inert:!V(r)},[C(Mn)],10,wr),C(g,{name:`popup`},{default:ie(()=>[V(i)?(F(),b(`div`,{key:0,class:A([`overlay__popup`,{"overlay__popup--fs":V(t).isFullscreen}])},[C(xr)],2)):y(`v-if`,!0)]),_:1})],64))}}),[[`__scopeId`,`data-v-c795dad9`]]);const Er={class:`ad-overlay`},Dr={class:`ad-overlay__bar`},Or={class:`ad-overlay__badge`},kr={key:0,class:`ad-overlay__countdown`},Ar=[`aria-label`],jr=[`aria-label`];var Mr=X(w({__name:`AdOverlay`,setup(e){let t=Y(K),n=_(()=>t.adRemainingTime>0?Vn(t.adRemainingTime):``);return(e,r)=>(F(),b(`div`,Er,[x(`div`,Dr,[x(`div`,Or,[r[2]||=x(`span`,null,`Ad`,-1),n.value?(F(),b(`span`,kr,B(n.value),1)):y(`v-if`,!0)]),x(`button`,{class:`ad-overlay__btn`,"aria-label":V(t).isAdPaused?`Resume ad`:`Pause ad`,onClick:r[0]||=e=>V(t).togglePlay()},[V(t).isAdPaused?(F(),v(Z,{key:0,name:`play`})):(F(),v(Z,{key:1,name:`pause`}))],8,Ar),x(`button`,{class:`ad-overlay__btn`,"aria-label":V(t).isAdMuted?`Unmute ad`:`Mute ad`,onClick:r[1]||=e=>V(t).toggleAdMute()},[V(t).isAdMuted?(F(),v(Z,{key:0,name:`volume-mute`})):(F(),v(Z,{key:1,name:`volume-on`}))],8,jr)])]))}}),[[`__scopeId`,`data-v-feb17dae`]]);function Nr(e,t){let n=R(!1),r=null;function i(){if(r?.(),r=null,!e.value){n.value=!1;return}r=ht(e.value,e=>{e.intersectionRatio<.1?t.value&&(n.value=!0):n.value=!1})}return P(i),H(e,i),N(()=>r?.()),{isPinned:n}}const Pr=R(0),Fr=L({currentSrc:null,isPlaying:!1}),Ir=_(()=>Pr.value>0),Lr=R(!1);function Rr(){Pr.value++}function zr(){Pr.value--}function Br(e,t,n){let r=R(null),i=R(null);H(n,n=>{let i=e.value?.offsetWidth??null;r.value=n&&t.value&&i?{height:t.value.offsetHeight,wrapperWidth:i}:null});let a=_(()=>{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 H(e,e=>{o?.disconnect(),o=null,e&&(o=new ResizeObserver(([e])=>i.value=e.contentRect.width),o.observe(e))},{immediate:!0}),N(()=>o?.disconnect()),{wrapperStyle:a,clear:()=>r.value=null}}function Vr(e){e?.scrollIntoView({behavior:`smooth`,block:`center`})}function Hr(e,t){let n=R(!1);function r(e,{animate:r=!0}={}){if(e!==n.value){if(!r){n.value=e;return}Fn(t.value,()=>{n.value=e})}}let i=_(()=>n.value&&Lr.value),{wrapperStyle:a,clear:o}=Br(e,t,n);return{isPinned:n,isTucked:i,wrapperStyle:a,setPinned:r,unpin:()=>n.value=!1,clearReservedSpace:o,scrollToBox:()=>Vr(e.value)}}var Ur=X(w({__name:`PinnablePlayerShell`,props:{isPlaying:{type:Boolean,required:!0}},setup(e){let t=e,n=R(null),r=R(null),{isPinned:i}=Nr(n,re(t,`isPlaying`)),{isPinned:a,isTucked:o,wrapperStyle:s,setPinned:c,unpin:l,scrollToBox:u}=Hr(n,r);H(i,e=>c(e));function d(e){r.value=e}return(e,t)=>(F(),b(`div`,{ref_key:`wrapperEl`,ref:n,class:`player-wrapper`,style:M(V(s))},[z(e.$slots,`default`,{isPinned:V(a),isTucked:V(o),setBoxEl:d,unpin:V(l),scrollToPlayer:V(u)},void 0,!0)],4))}}),[[`__scopeId`,`data-v-b25b3a73`]]);const Wr={class:`player-wrapper`};var Gr=X(w({__name:`PlainPlayerShell`,props:{isPlaying:{type:Boolean,required:!0}},setup(e){function t(){}return(e,n)=>(F(),b(`div`,Wr,[z(e.$slots,`default`,{isPinned:!1,isTucked:!1,setBoxEl:t,unpin:t,scrollToPlayer:t},void 0,!0)]))}}),[[`__scopeId`,`data-v-3fc2947d`]]),Kr=X(w({__name:`PinnedControls`,emits:[`scroll-to`,`dismiss`],setup(e){return(e,t)=>(F(),b(h,null,[x(`button`,{class:`pinned-controls__scroll-to`,"aria-label":`Scroll to player`,onClick:t[0]||=U(t=>e.$emit(`scroll-to`),[`stop`])},[C(Z,{name:`expand`})]),x(`button`,{class:`pinned-controls__dismiss`,"aria-label":`Close`,onClick:t[1]||=U(t=>e.$emit(`dismiss`),[`stop`])},[C(Z,{name:`close`})])],64))}}),[[`__scopeId`,`data-v-2d2ea6e1`]]);function qr(e){let[t,n]=e.split(`:`).map(Number);return{isPortrait:n>t,cssRatio:`${t}/${n}`}}const Jr=[`aria-label`,`tabindex`],Yr={"data-ml-video-player":``},Xr=[`poster`,`preload`],Zr=[`src`,`kind`,`srclang`,`label`,`default`],Qr={key:3,class:`player__native-play`},$r={key:4,class:`player__custom-hud`};var ei=X(w({__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:a},adTagUrl:{type:String,required:!1,default:``},adMacroParams:{type:Object,required:!1},headerBidding:{type:Object,required:!1},tracks:{type:Array,required:!1,default:()=>[]},captionLine:{type:Number,required:!1,default:void 0},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},quality:{type:[Number,null],required:!1,default:void 0},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,a=n,o=R(null),s=L(At(o,r,a)),c=L(Pt(re(s,`isPlaying`),re(s,`isFullscreen`))),{onKeydown:l}=Mt(s,c);function u(e){r.disableKeyboardShortcuts||l(e)}let d=R(null);H(()=>s.isFullscreen,e=>{e&&!r.disableKeyboardShortcuts&&k(()=>d.value?.focus())});function f(e){if(r.disableKeyboardShortcuts)return;let t=e.relatedTarget;t&&d.value?.contains(t)||requestAnimationFrame(()=>{document.activeElement===document.body&&d.value?.focus()})}I(K,s),I(q,c),I(Rt,re(r,`action`)),I(J,D(J,zt));let p=_(()=>qr(r.aspectRatio)),m=_(()=>p.value.isPortrait),g=_(()=>p.value.cssRatio),S=_(()=>!r.poster&&!s.isReady),w=_(()=>r.pin?Ur:Gr);function T(e){s.pause(),e()}function E(){c.onVideoTap(),s.fire(`tap`)}return t(Lt(s)),(t,n)=>(F(),v(te(w.value),{"is-playing":s.isPlaying},{default:ie(({isPinned:a,isTucked:l,setBoxEl:p,unpin:_,scrollToPlayer:w})=>[x(`div`,{ref:p,class:A([`player`,{"player--pinned":a,"player--tucked":l,[`player--pin-${e.pin}`]:a}])},[a?(F(),v(Kr,{key:0,onScrollTo:w,onDismiss:e=>T(_)},null,8,[`onScrollTo`,`onDismiss`])):y(`v-if`,!0),x(`div`,{ref_key:`shellEl`,ref:d,class:A([V(i),{"player__shell--portrait":m.value}]),style:M({aspectRatio:g.value}),role:`group`,"aria-label":e.label||`Video player`,tabindex:e.disableKeyboardShortcuts?void 0:0,onMousemove:n[0]||=e=>c.onMouseMove(),onContextmenuCapture:n[1]||=U(()=>{},[`prevent`]),onMouseleave:n[2]||=e=>c.onMouseLeave(),onKeydown:u,onFocusout:f},[x(`div`,Yr,[x(`video`,{ref_key:`videoEl`,ref:o,class:A([`ml-video-media`,{"ml-video-media--hidden":S.value}]),poster:r.poster,preload:r.preload,playsinline:``},[(F(!0),b(h,null,ee(r.tracks,(e,t)=>(F(),b(`track`,{key:`${e.src}-${t}`,src:e.src,kind:e.kind??`captions`,srclang:e.srclang,label:e.label,default:e.default},null,8,Zr))),128))],10,Xr),!r.disableTapCapture&&!s.isNativeUi&&s.hasStarted&&!s.isAdPlaying&&!c.isOpen?(F(),b(`div`,{key:0,class:`overlay__tap-capture`,onClick:E,onTouchend:U(E,[`prevent`,`stop`])},null,32)):y(`v-if`,!0),s.isAdPlaying&&!s.isNativeUi?(F(),v(Mr,{key:1})):y(`v-if`,!0),r.controls&&!s.isNativeUi?(F(),v(Tr,{key:2})):y(`v-if`,!0),r.controls&&s.isNativeUi&&!s.hasStarted?(F(),b(`div`,Qr,[C(Sn,{class:`ppbtn ppbtn--lg`})])):y(`v-if`,!0),y(` Custom HUD. Controls placed here find this player through context, no wiring needed. `),t.$slots.default?(F(),b(`div`,$r,[z(t.$slots,`default`,{},void 0,!0)])):y(`v-if`,!0)])],46,Jr)],2)]),_:3},8,[`is-playing`]))}}),[[`__scopeId`,`data-v-6cbcb413`]]);function ti(e,t){window.dispatchEvent(new CustomEvent(e,{detail:t}))}function ni(e,t){let n=e=>t(e.detail);P(()=>window.addEventListener(e,n)),N(()=>window.removeEventListener(e,n))}function ri(e=()=>!0){let t=ne(null),n={};for(let r of Ft)n[r]=async(...n)=>{await e(r)&&await t.value?.[r]?.(...n)};for(let e of It)n[e]=_(()=>t.value?.[e]);return{playerRef:t,forwarded:n}}function ii(e,t){let n=_(()=>!e.value||!t.value?-1:e.value.findIndex(e=>e.src===t.value?.src)),r=_(()=>n.value===-1||!e.value?null:e.value[n.value+1]??null),i=_(()=>n.value<=0||!e.value?null:e.value[n.value-1]??null);return{hasNext:_(()=>r.value!==null),hasPrevious:_(()=>i.value!==null),nextEntry:r,previousEntry:i}}const ai=`player:autoAdvance`;function oi(){return Fe(ai)===`true`}function si(e){Ie(ai,String(e))}const ci=[`src`],li={class:`stage__idle-body`},ui={class:`stage__idle-btn`},di={class:`stage__idle-title`},fi={key:1,class:`stage__idle-empty`};var pi=X(w({__name:`VideoStage`,props:{pin:{type:String,required:!1,default:`bottom-right`},playlist:{type:Array,required:!1}},emits:[`state-change`],setup(e,{expose:t,emit:r}){let i=e,a=r,o=R(oi());H(o,si);let s=_(()=>!!i.playlist?.length),c=R(null),u=R(!1),d=R(!1);function f(e){a(`state-change`,{type:e,currentTime:0,duration:0,src:c.value?.src??``})}H(u,e=>f(e?`stageopen`:`stageclose`));let{playerRef:p,forwarded:m}=ri(()=>u.value),g=R(null),S=R(null),w=R(!1),{hasNext:T,hasPrevious:E,nextEntry:D,previousEntry:k}=ii(re(i,`playlist`),c),j=_(()=>qr(c.value?.aspectRatio||`16:9`).cssRatio),{isPinned:ee,isTucked:te,wrapperStyle:ne,setPinned:U,clearReservedSpace:ae,scrollToBox:oe}=Hr(g,S);H([w,u,c],([e],[t])=>{let n=w.value&&!!c.value&&u.value;U(n,{animate:e!==t})});let se=null;function ce(){se?.disconnect(),g.value&&(se=new IntersectionObserver(([e])=>w.value=!e.isIntersecting,{threshold:.98}),se.observe(g.value))}H(g,ce);function le(){c.value&&(c.value={...c.value,autoplay:!0,muted:Ge(c.value.muted)},u.value=!0)}function ue(){le()}function de(){c.value=null,u.value=!1,d.value=!1,ae(),fe()}function fe(){Fr.currentSrc=c.value?.src??null,Fr.isPlaying=d.value}let pe=_(()=>{let{fromGesture:e,lazy:t,autoStage:n,...r}=c.value??{src:``};return r});function me(e){if(c.value?.src===e.src&&u.value){e.fromGesture&&p.value?.togglePlay();return}c.value=e,u.value=!1,d.value=!1,fe(),u.value=!0}function he(e){if(c.value&&e.src===c.value.src){if(!u.value){le();return}p.value?.togglePlay()}}function ge(e,t){e&&me({...e,fromGesture:t,autoplay:!0,muted:e.muted??p.value?.isMuted??Ge(void 0,t),volume:e.volume??p.value?.currentVolume})}function _e(e=!0){ge(D.value,e)}function ve(e=!0){ge(k.value,e)}function W(e){e.type===`play`&&(d.value=!0),(e.type===`pause`||e.type===`ended`)&&(d.value=!1),e.type===`ended`&&o.value&&_e(!1),fe(),a(`state-change`,e)}return I(J,L({hasPlaylist:s,hasNext:T,hasPrevious:E,autoAdvance:o,playNext:()=>_e(),playPrevious:()=>ve(),toggleAutoAdvance:()=>{o.value=!o.value}})),ni(l,me),ni(n,he),P(Rr),N(()=>{zr(),se?.disconnect(),Fr.currentSrc=null,Fr.isPlaying=!1}),t({playNext:_e,playPrevious:ve,hasNext:T,hasPrevious:E,...m}),(t,n)=>(F(),b(`div`,{ref_key:`wrapperEl`,ref:g,class:`stage-wrapper`,style:M(V(ne))},[x(`div`,{ref_key:`stageEl`,ref:S,class:A([`stage`,{"stage--minified":V(ee),"stage--tucked":V(te),[`stage--pin-${e.pin}`]:V(ee)}])},[V(ee)?(F(),v(Kr,{key:0,onScrollTo:V(oe),onDismiss:de},null,8,[`onScrollTo`])):y(`v-if`,!0),c.value&&u.value?(F(),v(ei,O({ref_key:`playerRef`,ref:p,key:c.value.src},pe.value,{onStateChange:W}),{default:ie(()=>[z(t.$slots,`default`,{},void 0,!0)]),_:3},16)):(F(),b(`div`,{key:2,class:`stage__idle`,style:M({aspectRatio:j.value}),onClick:ue},[c.value?.poster?(F(),b(`img`,{key:0,src:c.value.poster,class:`stage__idle-poster`},null,8,ci)):y(`v-if`,!0),n[0]||=x(`div`,{class:`stage__idle-scrim`},null,-1),x(`div`,li,[c.value?(F(),b(h,{key:0},[x(`div`,ui,[C(Z,{name:`play`})]),x(`p`,di,B(c.value.label),1)],64)):(F(),b(`p`,fi,`Select a video to play`))])],4))],2)],4))}}),[[`__scopeId`,`data-v-b2a7f3d1`]]),mi=w({__name:`PlayPauseIcon`,props:{isPlaying:{type:Boolean,required:!0},hasEnded:{type:Boolean,required:!1,default:!1}},setup(e){return(t,n)=>e.isPlaying?(F(),v(Z,{key:0,name:`pause`})):e.hasEnded?(F(),v(Z,{key:1,name:`replay`})):(F(),v(Z,{key:2,name:`play`}))}});const hi={class:`placeholder`},gi=[`src`,`alt`],_i={class:`placeholder__btn-wrap`},vi=[`aria-label`],yi={key:1,class:`placeholder__footer`},bi={class:`placeholder__title`};var xi=X(w({__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:a},adTagUrl:{type:String,required:!1,default:``},adMacroParams:{type:Object,required:!1},headerBidding:{type:Object,required:!1},tracks:{type:Array,required:!1},captionLine:{type:Number,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},quality:{type:[Number,null],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=_(()=>qr(n.aspectRatio)),a=_(()=>i.value.isPortrait),o=_(()=>i.value.cssRatio),s=R(null),c=null,u=_(()=>Fr.currentSrc===n.src),d=_(()=>u.value&&Fr.isPlaying),f=_(()=>u.value&&d.value?`Pause`:`Play`),p=_(()=>n.label?`${f.value} ${n.label}`:f.value);function m(e,t,r){ti(l,{...n,fromGesture:e,...t!==void 0&&{autoplay:t},...r!==void 0&&{muted:r}})}function h(){m(!0,!0,Ge(n.muted))}return P(()=>{n.autoStage&&m(!1),n.playInView&&s.value&&(c=_t(s.value,()=>r(`enter-view`)))}),N(()=>c?.()),(t,n)=>(F(),b(`div`,hi,[x(`div`,{ref_key:`shellEl`,ref:s,class:A([`placeholder__shell`,{"placeholder__shell--portrait":a.value,"placeholder__shell--active":u.value}]),style:M({aspectRatio:o.value}),onClick:h},[e.poster?(F(),b(`img`,{key:0,class:`placeholder__poster`,src:e.poster,alt:e.label},null,8,gi)):y(`v-if`,!0),n[0]||=x(`div`,{class:`placeholder__scrim`},null,-1),x(`div`,_i,[x(`button`,{type:`button`,class:`ppbtn ppbtn--lg`,"aria-label":p.value,onClick:U(h,[`stop`])},[C(mi,{"is-playing":u.value&&d.value},null,8,[`is-playing`])],8,vi)]),e.label?(F(),b(`div`,yi,[x(`p`,bi,B(e.label),1)])):y(`v-if`,!0)],6)]))}}),[[`__scopeId`,`data-v-a7f74cef`]]),Si=w({__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},captionLine:{type:Number,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},quality:{type:[Number,null],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=R(!1),o=R(!1);function s(){o.value=!0,a.value=!0}async function c(){a.value||(a.value=!0,await k())}let{playerRef:u,forwarded:d}=ri(async e=>Ir.value?(e===`togglePlay`&&ti(l,{...r,fromGesture:!0,autoplay:!0,muted:Ge(r.muted)}),!1):(await c(),!0));return t(d),(e,t)=>V(Ir)?(F(),v(xi,j(O({key:0},r)),null,16)):(F(),b(h,{key:1},[r.lazy&&!a.value&&!r.autoplay?(F(),v(xi,O({key:0},r,{onClickCapture:s,onEnterView:t[0]||=e=>a.value=!0}),null,16)):(F(),v(ei,O({key:1,ref_key:`playerRef`,ref:u},r,{autoplay:a.value||r.autoplay,muted:V(Ge)(r.muted,o.value),onStateChange:t[1]||=e=>i(`state-change`,e)}),{default:ie(()=>[z(e.$slots,`default`)]),_:3},16,[`autoplay`,`muted`]))],64))}}),Ci=X(w({__name:`HideMarker`,setup(e){let t=R(null),n=null;return P(()=>{t.value&&(n=new IntersectionObserver(([e])=>{Lr.value=e.isIntersecting}),n.observe(t.value))}),N(()=>{n?.disconnect(),Lr.value=!1}),(e,n)=>(F(),b(`div`,{ref_key:`el`,ref:t,class:`ml-video-hide-marker`},null,512))}}),[[`__scopeId`,`data-v-8afc6c98`]]);const wi=T(ei,{shadowRoot:!1}),Ti=T(pi,{shadowRoot:!1}),Ei=T(xi,{shadowRoot:!1}),Di=T(Si,{shadowRoot:!1}),Oi=T(Ci,{shadowRoot:!1}),ki=[[`ml-video-player`,wi],[`ml-video-stage`,Ti],[`ml-video-placeholder`,Ei],[`ml-video-card`,Di],[`ml-video-hide-marker`,Oi]];function Ai(){for(let[e,t]of ki)customElements.get(e)||customElements.define(e,t)}typeof import.meta.url==`string`&&new URL(import.meta.url).searchParams.has(`defer`)||Ai();export{Oi as HideMarkerElement,Di as VideoCardElement,Ei as VideoPlaceholderElement,wi as VideoPlayerElement,Ti as VideoStageElement,Ai as defineElements,ve as registerPlatform,ce as resolvePlatform};
|
|
1
|
+
import{a as e,c as t,d as n,i as r,l as i,n as a,o,r as s,t as c,u as l}from"./chunks/constants-Buc1xZvW.mjs";import{i as u,l as d,u as f}from"./chunks/embedShared-BUCYYtXQ.mjs";import{n as p,t as m}from"./chunks/platform-Dg9JBh8M.mjs";import{Fragment as h,Transition as g,computed as _,createBlock as v,createCommentVNode as y,createElementBlock as b,createElementVNode as x,createTextVNode as S,createVNode as C,defineComponent as w,defineCustomElement as T,h as E,inject as D,mergeProps as O,nextTick as k,normalizeClass as A,normalizeProps as j,normalizeStyle as M,onBeforeUnmount as N,onMounted as P,openBlock as F,provide as I,reactive as L,ref as R,renderList as ee,renderSlot as z,resolveDynamicComponent as te,shallowRef as ne,toDisplayString as B,toRef as re,unref as V,watch as H,withCtx as ie,withModifiers as U}from"vue";const ae=[];function oe(e){ae.unshift(e)}function se(e){ae.push(e)}function ce(e){if(!e)return{key:`html5`,embed:!1};let t=ae.find(t=>t.test(e));return{key:t?.key??`html5`,embed:t?.embed??!1}}const le={},ue={};function de(e,t){le[e]=t}async function fe(e,t,n){let r=le[e];if(!r){let t=ue[e];if(!t)return null;r=await t(),le[e]=r}return r(t,n)}const pe={},me={};function he(e,t){pe[e]=t}function ge(t){if(/\.m3u8(\?|#|$)/.test(t))return e;if(/\.mpd(\?|#|$)/.test(t))return c;if(/\.mp4(\?|#|$)/.test(t))return o}async function _e(e,t){let n=pe[e];if(!n){let t=me[e];t&&(n=await t(),pe[e]=n)}return n?n(t):{src:t,type:ge(t)}}function ve(e){oe({test:e.test,key:e.key,embed:e.embed}),e.embed?de(e.key,e.createAdapter):e.resolveSource&&he(e.key,e.resolveSource)}function W(e){se({key:e.key,test:e.test,embed:e.embed}),e.embed?ue[e.key]=e.loadAdapter:me[e.key]=e.loadResolver}W({key:`youtube`,test:e=>/youtu\.be|youtube\.com/.test(e),embed:!0,loadAdapter:()=>import(`./chunks/youtube-By3_O8cx.mjs`).then(e=>e.createYoutubeAdapter)}),W({key:`vimeo`,test:e=>/vimeo\.com|player\.vimeo\.com/.test(e),embed:!0,loadAdapter:()=>import(`./chunks/vimeo-D9a_xkE0.mjs`).then(e=>e.createVimeoAdapter)}),W({key:`dailymotion`,test:e=>/dailymotion\.com|dai\.ly/.test(e),embed:!0,loadAdapter:()=>import(`./chunks/dailymotion-BJ1jGcDQ.mjs`).then(e=>e.createDailymotionAdapter)}),W({key:`jwplayer`,test:e=>/cdn\.jwplayer\.com/.test(e)||e.startsWith(`jwplayer://`),embed:!1,loadResolver:()=>import(`./chunks/jwplayer-D8oOCmi4.mjs`).then(e=>e.resolveSource)}),W({key:`brightcove`,test:e=>/players\.brightcove\.net/.test(e),embed:!1,loadResolver:()=>import(`./chunks/brightcove-CPKzsnF0.mjs`).then(e=>e.resolveSource)});const ye=new Set;function be(e){return ye.add(e),()=>ye.delete(e)}function xe(e){ye.forEach(t=>{if(t!==e)try{t()}catch{}})}function Se(e){return e.kind===`captions`||e.kind===`subtitles`}let Ce=!1;function we(e){if(Ce)return;Ce=!0;let t=!1;for(let n=0;n<e.textTracks.length;n++){let r=e.textTracks[n];Se(r)&&r.mode===`showing`&&(t?r.mode=`hidden`:t=!0)}Ce=!1}function Te(e,t){if(e.cues)for(let n=0;n<e.cues.length;n++){let r=e.cues[n];if(!(`line`in r))continue;let i=r;i.snapToLines=!1,i.line=t}}function Ee(e,t,n){let r=new Map;function i(e){if(n===void 0||!Se(e)||r.has(e))return;let t=()=>Te(e,n);e.addEventListener(`cuechange`,t),r.set(e,t),t()}function a(){for(let t=0;t<e.textTracks.length;t++)i(e.textTracks[t])}a(),we(e);function o(){a(),we(e),t()}function s(){we(e),t()}e.textTracks.addEventListener(`addtrack`,o),e.textTracks.addEventListener(`removetrack`,t),e.textTracks.addEventListener(`change`,s);function c(){let t=[];for(let n=0;n<e.textTracks.length;n++){let r=e.textTracks[n];Se(r)&&t.push({index:n,label:r.label||r.language||`Track ${n+1}`,language:r.language})}return t}function l(t){for(let n=0;n<e.textTracks.length;n++){let r=e.textTracks[n];Se(r)&&(r.mode=n===t?`showing`:`hidden`)}}function u(){for(let t=0;t<e.textTracks.length;t++){let n=e.textTracks[t];if(Se(n)&&n.mode===`showing`)return t}return null}return{getCaptionTracks:c,setCaptionTrack:l,getActiveCaptionTrack:u,dispose:()=>{e.textTracks.removeEventListener(`addtrack`,o),e.textTracks.removeEventListener(`removetrack`,t),e.textTracks.removeEventListener(`change`,s);for(let[e,t]of r)e.removeEventListener(`cuechange`,t);r.clear()}}}function De(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 Oe(e){function t(){return De(e()?.levels()??[])}function n(){return e()?.isAuto()??!0}function r(){let r=e();if(!r||n())return null;let i=r.currentIndex();if(i===null||i<0)return null;let a=t();if(a.some(e=>e.index===i))return i;let o=r.levels().find(e=>e.index===i)?.height;return a.find(e=>e.height===o)?.index??null}function i(t){e()?.setIndex(t)}return{getQualityLevels:t,getCurrentQuality:r,isAutoQuality:n,setQuality:i}}function ke(e,t,n){let r=[[`webkitbeginfullscreen`,t],[`webkitendfullscreen`,n]];for(let[t,n]of r)e.addEventListener(t,n);function i(){u(e,()=>{let t=e;if(typeof t.webkitEnterFullscreen!=`function`)return!1;t.webkitEnterFullscreen()})}function a(){let t=e;if(p()&&typeof t.webkitExitFullscreen==`function`){t.webkitExitFullscreen();return}m()}return{enterFullscreen:i,exitFullscreen:a,dispose:()=>{for(let[t,n]of r)e.removeEventListener(t,n)}}}function Ae(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 je=[`play`,`pause`,`ended`,`error`,`timeupdate`,`durationchange`,`progress`,`volumechange`,`ratechange`,`seeked`,`waiting`,`playing`,`canplay`];function Me(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 Ne(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 Pe(e,t){let n=f(),r=null,i=null,a=!1,o=null,s=null,c=null,l=0,u=null,d=t.preload===`none`&&!t.autoplay,p=!1;async function m(n){let{default:i}=await import(`hls.js`);if(a||o!==n)return;if(typeof i?.isSupported!=`function`||!i.isSupported()){e.src=n,t.autoplay&&e.play().catch(()=>{});return}r=new i({liveDurationInfinity:!0,autoStartLoad:!d}),p=!d,r.loadSource(n),r.attachMedia(e),t.autoplay&&e.play().catch(()=>{});let s=i.Events,c=i.ErrorTypes;r.on(s.MANIFEST_PARSED,S(`qualitychange`)),r.on(s.LEVEL_SWITCHED,S(`qualitychange`)),r.on(s.FRAG_BUFFERED,()=>{l=0}),r.on(s.ERROR,(e,t)=>{if(!t.fatal||a||o!==n)return;if(t.type!==c.NETWORK_ERROR&&t.type!==c.MEDIA_ERROR||l>=3){v(t.reason||t.details||`This video could not be played.`);return}let i=1e3*2**l;l+=1,_(),u=setTimeout(()=>{!a&&o===n&&r&&(t.type===c.NETWORK_ERROR?r.startLoad():r.recoverMediaError())},i)})}async function h(n){let r=await import(`dashjs`);if(a||s!==n)return;let o=r.MediaPlayer().create();i=o,o.initialize(e,n,t.autoplay??!1);let c=r.MediaPlayer.events;o.on(c.QUALITY_CHANGE_RENDERED,S(`qualitychange`)),o.on(c.STREAM_INITIALIZED,S(`qualitychange`)),o.on(c.ERROR,()=>{a||s!==n||(o.destroy(),i=null,v(`This video could not be played.`))})}function g(){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 _(){u&&clearTimeout(u),u=null}function v(e){_(),r?.destroy(),r=null,c={code:4,message:e},n.trigger(`error`)}let y=``,b;function x(n,a){if(y=n,b=a,_(),c=null,l=0,r?.destroy(),r=null,o=null,i?.destroy(),i=null,s=null,a===`application/dash+xml`){s=n,h(n);return}if(a===`application/x-mpegURL`&&!g()){o=n,m(n);return}e.src=n,t.autoplay&&e.play().catch(()=>{})}let S=e=>()=>n.trigger(e),C=je.map(e=>[e,S(e)]);for(let[t,n]of C)e.addEventListener(t,n);let w=Ee(e,S(`captionschange`),t.captionLine),T=Oe(()=>r?Me(r):i?Ne(i):null),E=ke(e,S(`nativefullscreenenter`),S(`nativefullscreenexit`)),D=Ae(e,S(`pipchange`)),{poster:O,muted:k,autoplay:A,volume:j,playbackRate:M,preload:N,src:P,type:F}=t;return e.poster=O??``,N&&(e.preload=N),e.muted=k??A??!1,e.volume=j??1,e.playbackRate=M??1,e.playsInline=!0,x(P,F),{el:e,play:()=>(r&&!p&&(p=!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.`}:c},load:x,retry:()=>x(y,b),supportsPlaybackRate:()=>!0,captions:{tracks:w.getCaptionTracks,active:w.getActiveCaptionTrack,select:w.setCaptionTrack},quality:{levels:T.getQualityLevels,current:T.getCurrentQuality,isAuto:T.isAutoQuality,select:T.setQuality},pip:{isSupported:D.supportsPip,isActive:D.isPipActive,toggle:D.togglePip},enterFullscreen:E.enterFullscreen,exitFullscreen:E.exitFullscreen,on:n.on,off:n.off,dispose:()=>{a=!0,_(),r?.destroy(),i?.destroy();for(let[t,n]of C)e.removeEventListener(t,n);w.dispose(),E.dispose(),D.dispose(),n.dispose()}}}function Fe(e){try{return localStorage.getItem(e)}catch{return null}}function Ie(e,t){try{localStorage.setItem(e,t)}catch{}}const Le=`player:audio`,Re={muted:!1,volume:1};function ze(){try{let e=Fe(Le);if(!e)return Re;let t=JSON.parse(e);return{muted:typeof t.muted==`boolean`?t.muted:Re.muted,volume:typeof t.volume==`number`?t.volume:Re.volume}}catch{return Re}}function Be(e){Ie(Le,JSON.stringify(e))}let Ve=!1;function He(){Ve=!0}function Ue(){return Ve}function We(e){Be(e),e.muted||He()}function Ge(e,t=!0){if(e!==void 0)return e;if(!t)return;let n=ze().muted;return n||He(),n}function Ke(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 qe(e,t){return e===void 0?t&&!Ue()?!0:ze().muted:e}function Je(e){return e.volume??ze().volume}async function Ye(e,t,n,r){if(!t.value)return{status:`aborted`};let i=await fe(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,nativeUi:!!n.nativeUi}}:{status:`unsupported`}:{status:`aborted`}}async function Xe(e,t,n,r,i){let a=await _e(e,n.src).catch(()=>({src:n.src}));if(!t.value)return{status:`aborted`};let o=Pe(t.value,{src:a.src,type:a.type,poster:a.poster||n.poster||``,autoplay:n.autoplay,...r,preload:n.preload,captionLine:n.captionLine}),s=Ke(n.adTagUrl||a.adTagUrl||``,n.adMacroParams);return i.attach(t.value,o,s,n.headerBidding),{status:`mounted`,mounted:{adapter:o}}}function Ze(e,t,n,r,i){return e.embed?Ye(e.key,t,n,r):Xe(e.key,t,n,r,i)}function Qe(e){let t=R(0),n=R(0),r=R(0),i=R(Je(e)),a=R(qe(e.muted,!!(e.autoplay||e.playInView))),o=_(()=>n.value?t.value/n.value*100:0);return{isPlaying:R(!1),hasEnded:R(!1),isReady:R(!1),isLoaded:R(!1),isLive:R(!1),hasStarted:R(!1),isError:R(!1),errorMessage:R(``),currentTime:t,duration:n,buffered:r,progress:o,bufferedDisplay:_(()=>Math.max(r.value,o.value)),currentVolume:i,isMuted:a,isAudible:_(()=>!a.value&&i.value>0),isLooping:R(!!e.loop),currentPlaybackRate:R(e.playbackRate??1),supportsPlaybackRate:R(!1),isAdPlaying:R(!1),isAdPaused:R(!1),isAdMuted:R(!1),adRemainingTime:R(0),supportsCaptions:R(!1),captionTracks:R([]),activeCaptionIndex:R(null),supportsQuality:R(!1),qualityLevels:R([]),currentQualityHeight:R(null),isAutoQuality:R(!0),supportsPip:R(!1),isPipActive:R(!1),isNativeUi:R(!1)}}function $e(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 et=$e(e=>(document.addEventListener(`fullscreenchange`,e),document.addEventListener(`webkitfullscreenchange`,e),()=>{document.removeEventListener(`fullscreenchange`,e),document.removeEventListener(`webkitfullscreenchange`,e)})),tt=$e(e=>(document.addEventListener(`visibilitychange`,e),window.addEventListener(`blur`,e),()=>{document.removeEventListener(`visibilitychange`,e),window.removeEventListener(`blur`,e)}));function nt(e){let t=R(!1),n=R(!1),i=null;function a(){let e=document;t.value=!!(document.fullscreenElement||e.webkitFullscreenElement),n.value=!1}function o(){let r=e();if(r){if(t.value){r.exitFullscreen();return}n.value=!0,r.enterFullscreen()}}function c(e){e.on(s,()=>{n.value=!0}),e.on(r,()=>{n.value=!1}),e.on(`nativefullscreenenter`,()=>{t.value=!0,n.value=!1}),e.on(`nativefullscreenexit`,()=>{t.value=!1,n.value=!1})}return P(()=>{i=et(a)}),N(()=>{i?.()}),{isFullscreen:t,isFullscreenPending:n,toggleFullscreen:o,attachPlayerEvents:c}}function rt(e){let t=R(!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 N(()=>clearTimeout(n??void 0)),{isBuffering:t,attachPlayerEvents:i,reset:r}}const it=[[.25,`firstQuartile`],[.5,`midpoint`],[.75,`thirdQuartile`]];function at(e,t,n){let r=new Set;function i(){if(!t.value)return;let i=e.value/t.value;for(let[e,t]of it)!r.has(e)&&i>=e&&(r.add(e),n(t))}function a(){r.clear()}return{checkQuartiles:i,reset:a}}function ot(){try{return JSON.parse(Fe(`player:positions`)??`[]`)}catch{return[]}}function st(e){Ie(`player:positions`,JSON.stringify(e))}function ct(e,t){if(t<5)return;let n=ot().filter(t=>t.url!==e);n.unshift({url:e,time:t}),st(n.slice(0,5))}function lt(e){return ot().find(t=>t.url===e)?.time??null}function ut(e){st(ot().filter(t=>t.url!==e))}function dt(e,t,n){let r=!1;function i(t){if(r)return;let n=lt(e);n&&t.setCurrentTime(n),r=!0}function a(t){t&&!n.value&&ct(e,t.currentTime()??0)}function o(){ut(e)}let s=tt(()=>{document.visibilityState===`hidden`&&a(t())});return N(()=>{a(t()),s()}),{restoreOnce:i,save:a,clear:o}}const ft=new WeakMap,pt=[.1,.5];function mt(e){let t=ft.get(e);if(t)return t;let n=new Set,r=new IntersectionObserver(([e])=>n.forEach(t=>t(e)),{threshold:pt});r.observe(e);let i={observer:r,callbacks:n};return ft.set(e,i),i}function ht(e,t){let n=mt(e);return n.callbacks.add(t),()=>{n.callbacks.delete(t),n.callbacks.size===0&&(n.observer.disconnect(),ft.delete(e))}}let gt=null,G=null;function _t(e,t){let n=ht(e,n=>{n.intersectionRatio<.5||(G&&clearTimeout(G),gt=e,G=setTimeout(()=>{gt=null,G=null,t()},150))});return()=>{gt===e&&G&&(clearTimeout(G),gt=null,G=null),n()}}function vt(e,t,n,r,i){let a=null;P(()=>{let o=e.value&&d(e.value);o&&(a=ht(o,e=>{let a=t();e.intersectionRatio<.1&&a&&!a.paused()&&!n.value&&!r.value&&!i.value&&a.pause()}))}),N(()=>a?.())}function yt(e,t,n,r,i){let a=null;P(()=>{let o=e.value&&d(e.value);o&&(a=_t(o,()=>{let e=t();e&&e.paused()&&!n.value&&!r.value&&(e.setMuted(qe(i,!0)),e.play().catch(()=>{}))}))}),N(()=>a?.())}const bt=`player:captions`;function xt(){try{let e=Fe(bt);if(!e)return null;let t=JSON.parse(e);return typeof t?.enabled==`boolean`?{enabled:t.enabled,...typeof t.language==`string`&&{language:t.language}}:null}catch{return null}}function St(e){Ie(bt,JSON.stringify(e))}function Ct(e,t){if(e){if(!e.enabled)return null;if(e.language)return t.find(t=>t.language===e.language)?.index??void 0}}const wt=`player:quality`;function Tt(){try{let e=Fe(wt);if(!e)return;let t=JSON.parse(e);return t===null?null:typeof t?.height==`number`?t.height:void 0}catch{return}}function Et(e){Ie(wt,JSON.stringify(e===null?null:{height:e}))}function Dt(e,t,n,r){let{isPlaying:i,isReady:a,hasEnded:o,hasStarted:s,duration:c,isLooping:l,currentPlaybackRate:u,captionTracks:d,activeCaptionIndex:f,currentQualityHeight:p,isAutoQuality:m,qualityLevels:h,errorMessage:g}=e;function _(){if(n.isAdPlaying())return n.resumeAd(),Promise.resolve();let e=t();return e?e.paused()?new Promise((t,n)=>{let r=()=>{e.off(`playing`,i),e.off(`error`,a)},i=()=>{r(),t()},a=()=>{r(),n(Error(g.value||`Playback failed`))};e.on(`playing`,i),e.on(`error`,a),e.play().catch(e=>{r(),n(e)})}):Promise.resolve():Promise.reject(Error(`Player is not mounted`))}function v(){if(n.isAdPlaying()){n.pauseAd();return}t()?.pause()}function y(){return t()?.setCurrentTime(0),o.value=!1,_()}function b(){if(n.isAdPlaying()){n.isAdPaused()?n.resumeAd():n.pauseAd();return}let e=t();e&&a.value&&(i.value?e.pause():e.play().catch(()=>{}))}function x(e){let n=c.value||1/0;t()?.setCurrentTime(Math.min(Math.max(e,0),n))}function S(){let e=t();if(!e)return;let n=!e.muted();e.setMuted(n),We({muted:n,volume:e.volume()})}function C(e){let n=t();if(!n)return;let r=e===0;n.setVolume(e),n.setMuted(r),We({muted:r,volume:e})}function w(){l.value=!l.value,s.value&&r(`loopchange`,{isLooping:l.value})}function T(e){let n=t();n&&(n.setPlaybackRate(e),u.value=e)}function E(e){let n=e===null?null:d.value.find(t=>t.index===e);St(n?{enabled:!0,language:n.language}:{enabled:!1}),t()?.captions?.select(e),f.value=e,s.value&&r(`captionchange`,{captionIndex:e})}function D(e){O(e,{remember:!0})}function O(e,{remember:n=!1}={}){let i=e===null?null:k(e);t()?.quality?.select(i?.index??null),p.value=i?.height??null,m.value=i===null,n&&Et(i?.height??null),s.value&&r(`qualitychange`,{qualityHeight:i?.height??null})}function k(e){let t=h.value;return t.length?t.reduce((t,n)=>Math.abs(n.height-e)<Math.abs(t.height-e)?n:t):null}function A(){t()?.pip?.toggle()}return{play:_,pause:v,replay:y,togglePlay:b,seek:x,toggleMute:S,setVolume:C,toggleLoop:w,setPlaybackRate:T,setCaptionTrack:E,setQuality:D,applyQuality:O,togglePip:A}}function Ot(e,t){let{isPlaying:n,hasEnded:r,isReady:i,isAdPlaying:a,isLive:o,currentTime:s,duration:c,buffered:l,currentVolume:u,isMuted:d,isLooping:f,currentPlaybackRate:p,supportsPlaybackRate:m,supportsCaptions:h,captionTracks:g,activeCaptionIndex:_,supportsQuality:v,qualityLevels:y,currentQualityHeight:b,isAutoQuality:x,supportsPip:S,isPipActive:C,hasStarted:w,isError:T,errorMessage:E}=e,{fire:D,pauseThisPlayer:O,positionMemory:k,quartiles:A,buffering:j,fullscreen:M}=t;function N(e){i.value=!0,m.value=e.supportsPlaybackRate();function t(){if(!g.value.length)return;let t=xt(),n=e.captions?.active()??null;if(t?.enabled&&t.language&&n!==null&&g.value.find(e=>e.index===n)?.language===t.language)return;let r=Ct(t,g.value);r!==void 0&&r!==n&&e.captions?.select(r)}function N(){g.value=e.captions?.tracks()??[],h.value=g.value.length>0,t();let n=e.captions?.active()??null;n!==_.value&&(_.value=n,w.value&&D(`captionchange`,{captionIndex:n}))}N(),e.on(`captionschange`,N);function P(){y.value=e.quality?.levels()??[],v.value=y.value.length>0;let t=e.quality?.current()??null,n=e.quality?.isAuto()??!0,r=n?null:y.value.find(e=>e.index===t)?.height??null,i=r!==b.value||n!==x.value;b.value=r,x.value=n,i&&w.value&&D(`qualitychange`,{qualityHeight:r})}P(),e.on(`qualitychange`,P);function F(){S.value=e.pip?.isSupported()??!1;let t=e.pip?.isActive()??!1;t!==C.value&&(C.value=t,w.value&&D(`pipchange`,{isPipActive:t}))}F(),e.on(`pipchange`,F);let I=()=>{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`,()=>{xe(O),a.value=!0,D(`adstart`)}),e.on(`adend`,()=>{a.value=!1,D(`adend`)}),e.on(`play`,()=>{xe(O),w.value=!0,n.value=!0,r.value=!1,o.value||k.restoreOnce(e),D(`play`)}),e.on(`pause`,()=>{n.value=!1,o.value||k.save(e),D(`pause`)}),e.on(`ended`,()=>{if(n.value=!1,A.reset(),j.reset(),f.value){e.setCurrentTime(0),e.play().catch(()=>{});return}c.value&&(s.value=c.value),r.value=!0,k.clear(),D(`ended`)}),e.on(`seeked`,()=>{D(`seeked`)}),e.on(`error`,()=>{let t=e.error();E.value=t?.message||`This video could not be played.`,T.value=!0,i.value=!0,console.error(`Video playback error:`,E.value),D(`error`,{error:t})});let L=0;e.on(`timeupdate`,()=>{if(r.value||a.value)return;s.value=e.currentTime()??0,c.value||I(),m.value||=e.supportsPlaybackRate(),t();let n=e.captions?.active()??null;_.value!==n&&(_.value=n,w.value&&D(`captionchange`,{captionIndex:n})),o.value||A.checkQuartiles();let i=Date.now();w.value&&i-L>=250&&(L=i,D(`timeupdate`))}),e.on(`durationchange`,I),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,w.value&&D(`volumechange`,{isMuted:t})}),e.on(`ratechange`,()=>{let t=e.playbackRate()??1;p.value=t,w.value&&D(`ratechange`,{playbackRate:t})}),j.attachPlayerEvents(e),M.attachPlayerEvents(e)}return{attachPlayerEvents:N}}function kt(e,t){let{isAdPlaying:n,isAdPaused:r,isAdMuted:i,adRemainingTime:a}=e,{fire:o,getPauseHandler:s}=t,c=null,l=null,u=!1;async function d(e,t,d,f){if(!(d||f)||!e.parentElement)return;let m=null,h=f?import(`./chunks/prebid-RHDT0DOX.mjs`).then(({resolveHeaderBiddingAdTagUrl:e})=>e(f,d).catch(()=>d)).then(e=>{c?c.setAdTagUrl(e):m=e}).catch(()=>{}):Promise.resolve(),g=!1;t.on(`play`,()=>{h.then(()=>{u||(c?c.requestAdsOnFirstPlay():g=!0)})});function _(){!p()&&t.pip?.isActive()&&document.exitPictureInPicture()}function v(){!p()&&(document.hidden||!document.hasFocus())&&c?.isAdPlaying()&&c.pauseAd()}let y=tt(v),b=()=>{t.pip?.isActive()||v()};t.on(`pipchange`,b),l=()=>{y(),t.off(`pipchange`,b)};let{attachAds:x}=await import(`./chunks/ads-B_nIEtdU.mjs`);!u&&e.parentElement&&(c=x(e.parentElement,e,d,{onAdStart:()=>{n.value=!0,r.value=!1,o(`adstart`),_(),v()},onAdEnd:()=>{n.value=!1,r.value=!1,a.value=0,o(`adend`)},onAdPauseChange:e=>{r.value=e,e||xe(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),g&&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 At(e,t,n){let r=null,i=null,a=Qe(t),{isReady:o,isLoaded:s,isLive:c,currentTime:l,duration:u,isMuted:d,currentVolume:f,currentPlaybackRate:p,hasEnded:m,hasStarted:h,isError:g,errorMessage:v,isNativeUi:y}=a,b=()=>r,x=_(()=>{if(typeof t.payload!=`string`)return t.payload??{};try{return JSON.parse(t.payload)}catch{return{}}});function S(e,r={}){n(`state-change`,{type:e,currentTime:l.value,duration:u.value,src:t.src,...r,payload:x.value})}let C=nt(b),w=rt(S),T=dt(t.src,b,m),E=at(l,u,S),D=kt(a,{fire:S,getPauseHandler:()=>O.pause}),O=Dt(a,b,D,S),{attachPlayerEvents:k}=Ot(a,{fire:S,pauseThisPlayer:O.pause,positionMemory:T,quartiles:E,buffering:w,fullscreen:C});function A(){r&&(g.value=!1,v.value=``,s.value=!1,u.value=0,r.retry())}H([u,c],([e,t])=>{s.value||!e&&!t||(s.value=!0,S(`loaded`))}),H(()=>t.loop,e=>{e!==void 0&&e!==a.isLooping.value&&O.toggleLoop()}),H(()=>t.muted,e=>{r&&e!==void 0&&r.setMuted(e)}),H(()=>t.playbackRate,e=>{r&&e!==void 0&&r.setPlaybackRate(e)});let j=!1;H(()=>[t.quality,a.qualityLevels.value.length],([e,t])=>{if(!t)return;if(e!==void 0){if(e===null&&a.isAutoQuality.value)return;O.applyQuality(e);return}if(j)return;j=!0;let n=Tt();n!==void 0&&O.applyQuality(n)}),vt(e,b,C.isFullscreen,C.isFullscreenPending,_(()=>!!t.pin)),t.playInView&&yt(e,b,C.isFullscreen,C.isFullscreenPending,t.muted);function M(e){r=e.adapter,e.nativeUi!==void 0&&(y.value=e.nativeUi),i=be(O.pause),k(e.adapter)}return H(h,t=>{t&&e.value&&r?.reveal?.(e.value)}),P(async()=>{let n=await Ze(ce(t.src),e,t,{muted:d.value,volume:f.value,playbackRate:p.value},D);if(n.status===`unsupported`){g.value=!0,o.value=!0,v.value=`This platform is not yet supported.`;return}n.status===`mounted`&&M(n.mounted)}),N(()=>{i?.(),D.dispose(),r?.dispose(),r=null}),{...a,...O,fire:S,retry:A,isBuffering:w.isBuffering,toggleAdMute:D.toggleAdMute,isFullscreen:C.isFullscreen,isFullscreenPending:C.isFullscreenPending,toggleFullscreen:C.toggleFullscreen}}const jt=new Set([`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`,`Home`,`End`]);function Mt(e,t){function n(e,t,n){return Math.min(n,Math.max(t,e))}function r(t){e.duration&&e.seek(n(e.currentTime+t,0,e.duration))}function i(t){e.duration&&e.seek(e.duration*t)}function a(t){e.setVolume(n(e.currentVolume+t,0,1))}function o(){e.supportsCaptions&&e.setCaptionTrack(e.activeCaptionIndex===null?0:null)}function s(n){if(n.repeat||n.metaKey||n.ctrlKey||n.altKey)return;let s=n.target;if(!s.closest(`input:not([type="range"]), textarea, select, [contenteditable="true"]`)&&!(jt.has(n.key)&&s.closest(`input[type="range"]`))&&(n.key!==` `&&n.key!==`Enter`||!s.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(),a(.1);break;case`ArrowDown`:n.preventDefault(),a(-.1);break;case`m`:e.toggleMute();break;case`f`:e.toggleFullscreen();break;case`c`:o();break;case`Home`:n.preventDefault(),i(0);break;case`End`:n.preventDefault(),i(1);break;default:if(!/^[0-9]$/.test(n.key))return;i(Number(n.key)/10)}t.onMouseMove()}}return{onKeydown:s}}function Nt(){let e=document.activeElement;if(!e?.closest(`.overlay__hud, .overlay__popup`))return!1;try{return e.matches(`:focus-visible`)}catch{return!0}}function Pt(e,t){let n=R(!0),r=R(!1),i=null,a=0;function o(e=400){a=Date.now()+e}function s(e=3500){clearTimeout(i??void 0),i=setTimeout(()=>{if(Nt()){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 H(e,e=>{if(!e){clearTimeout(i??void 0),n.value=!0;return}s()}),N(()=>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 Ft=[`retry`,`play`,`pause`,`replay`,`togglePlay`,`seek`,`toggleMute`,`setVolume`,`toggleFullscreen`,`toggleLoop`,`toggleAdMute`,`setPlaybackRate`,`setCaptionTrack`,`setQuality`,`togglePip`],It=`isPlaying.hasEnded.isReady.isLoaded.isAdPlaying.isAdPaused.isAdMuted.adRemainingTime.isLive.isBuffering.currentTime.duration.currentVolume.isMuted.isAudible.isLooping.currentPlaybackRate.hasStarted.isError.errorMessage.progress.bufferedDisplay.isFullscreen.supportsPlaybackRate.supportsCaptions.captionTracks.activeCaptionIndex.supportsQuality.qualityLevels.currentQualityHeight.isAutoQuality.supportsPip.isPipActive.isNativeUi`.split(`.`);function Lt(e){let t={};for(let n of Ft)t[n]=(...t)=>e[n](...t);for(let n of It)Object.defineProperty(t,n,{get:()=>e[n],enumerable:!0});return t}const K=Symbol(`player`),q=Symbol(`hud`),Rt=Symbol(`action`),J=Symbol(`playlist`),zt={hasPlaylist:!1,hasNext:!1,hasPrevious:!1,autoAdvance:!1,playNext:()=>{},playPrevious:()=>{},toggleAutoAdvance:()=>{}};function Y(e){let t=D(e);if(t===void 0)throw Error(`[video-player] missing "${String(e.description)}" context — this component must be rendered inside <VideoPlayer>`);return t}function Bt(e,t){let n=_(()=>e.isReady&&!e.isError);return{hudVisible:_(()=>n.value&&t.showHUD),popupVisible:_(()=>n.value?e.isFullscreen?t.showHUD:t.isOpen:!1)}}const Vt={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 Ht(e,t,n){let r=_(()=>e?.value??null),i=_(()=>!!r.value&&typeof r.value==`object`),a=_(()=>i.value?r.value:null),o=_(()=>i.value||!r.value?null:Vt[r.value]),s=_(()=>o.value?.label(t,n)??``),c=_(()=>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}}function Ut(e,t){if(t.library!==void 0)return t.library;if(e.defaultLibrary!==null)return e.defaultLibrary;if(e.libraries.size===1)return e.libraries.keys().next().value}function Wt(e,t,n){return{tag:`span`,className:`icon-svg`,html:typeof e==`function`?e({...t,library:n}):e}}function Gt(e,t,n){if(n!==void 0){let r=e.libraryOverrides.get(n)?.get(t);if(r!==void 0)return r}return e.overrides.get(t)}function Kt(e,t,n){let r={name:t,variant:n.variant},i=Ut(e,n),a=Gt(e,t,i);return{request:r,source:i===void 0?void 0:e.libraries.get(i),override:a===void 0?void 0:Wt(a,r,i)}}function qt({request:e,source:t,override:n}){return n||t?.resolveSync?.(e)}function Jt(e,t){return e?.resolveSync?.(t)||e?.resolve?.(t)}function Yt(e,t){let n,r=!1,i=e.then(e=>{if(r)return e.dispose?.();n=e,t(e)});return[{resolveSync(e){return n?.resolveSync?.(e)},async resolve(e){return await i,Jt(n,e)},dispose(){r=!0,n?.dispose?.()}},i]}function Xt(e){return`resolveSync`in e||`resolve`in e}async function Zt(e,t){if(`resolver`in t||`icons`in t){let{svgLibrary:e}=await import(`./chunks/svg-BLBI83Ed-BjsPx0LR.mjs`);return e(t)}if(`className`in t){let{fontLibrary:e}=await import(`./chunks/font-KFHs3p_4-KFHs3p_4.mjs`);return e(t)}throw Error(`Unrecognised library config for "${e}"`)}function Qt(){return{overrides:new Map,libraryOverrides:new Map,libraries:new Map,listeners:new Set,defaultLibrary:null}}function $t({listeners:e}){for(let t of e)t()}function en(){let e=Qt();function t(e,t){let n=e.get(t);return n===void 0&&(n=new Map,e.set(t,n)),n}function n(){$t(e)}return{version:`0.1.0`,get defaultLibrary(){return e.defaultLibrary},get libraries(){return[...e.libraries.keys()]},register(t,r,i={}){if(e.libraries.get(t)?.dispose?.(),i.default&&(e.defaultLibrary=t),Xt(r))return e.libraries.set(t,r),n(),Promise.resolve();let[a,o]=Yt(Zt(t,r),r=>{e.libraries.get(t)===a&&(e.libraries.set(t,r),n())});return e.libraries.set(t,a),n(),o.catch(r=>{throw e.defaultLibrary===t&&(e.defaultLibrary=null,n()),r})},unregister(t){e.libraries.get(t)?.dispose?.(),e.libraries.delete(t),e.defaultLibrary===t&&(e.defaultLibrary=null),n()},use(t){e.defaultLibrary=t,n()},override(r,i,a){let o,s;typeof r==`string`?(o=[[r,i??null]],s=a):(o=Object.entries(r),s=i);let c=s?.library===void 0?e.overrides:t(e.libraryOverrides,s.library);for(let[e,t]of o)t===null?c.delete(e):c.set(e,t);n()},getIconSync(t,n={}){return qt(Kt(e,t,n))},async getIcon(t,n={}){let{request:r,source:i,override:a}=Kt(e,t,n);if(a)return a;try{return await Jt(i,r)}catch(e){import.meta.env?.DEV&&console.warn(`[sigil] "${t}" failed to resolve`,e);return}},subscribe(t){return e.listeners.add(t),()=>{e.listeners.delete(t)}},clear(){for(let t of e.libraries.values())t.dispose?.();e.overrides.clear(),e.libraryOverrides.clear(),e.libraries.clear(),e.defaultLibrary=null,n()}}}const tn=Symbol.for(`@munsonlabs/sigil`),nn=globalThis,rn=nn[tn]??=en(),{register:an,unregister:on,override:sn,use:cn,getIcon:ln,getIconSync:un,subscribe:dn,clear:fn}=rn;function pn(e,t,n,r=rn){let i=0,a=r.subscribe(()=>void o());async function o(){let a=++i,o=r.getIconSync(e,t);if(o)return n(o);let s=await r.getIcon(e,t);a===i&&n(s)}return o(),()=>{i++,a()}}const mn=w({name:`Sigil`,inheritAttrs:!1,props:{name:{type:String,required:!0},library:{type:String,default:void 0},variant:{type:String,default:void 0}},setup(e,{attrs:t}){let n=ne();return H(()=>[e.name,e.library,e.variant],([e,t,r],i,a)=>{a(pn(e,{library:t,variant:r},e=>{n.value=e}))},{immediate:!0}),()=>{let e=n.value;if(!e)return null;let r={...t,class:[e.className,t.class],"aria-hidden":`true`};return e.html===void 0?E(e.tag,r,e.text):E(e.tag,{...r,innerHTML:e.html})}}});function hn(e,t,n=rn){function r(){n.libraries.includes(e)||n.register(e,t)}return r(),n.subscribe(r)}const gn={back:`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z"/></svg>`,captions:`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="5" width="20" height="14" rx="2"/><path d="M9.5 10.5a2 2 0 0 0-3.5 1.3v.4a2 2 0 0 0 3.5 1.3"/><path d="M17.5 10.5a2 2 0 0 0-3.5 1.3v.4a2 2 0 0 0 3.5 1.3"/></svg>`,close:`<svg viewBox="0 0 24 24" fill="currentColor"><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"/></svg>`,controls:`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="4" y1="6" x2="20" y2="6"/><line x1="4" y1="12" x2="20" y2="12"/><line x1="4" y1="18" x2="20" y2="18"/><circle cx="9" cy="6" r="2.5" fill="currentColor" stroke="none"/><circle cx="15" cy="12" r="2.5" fill="currentColor" stroke="none"/><circle cx="9" cy="18" r="2.5" fill="currentColor" stroke="none"/></svg>`,expand:`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M4 12l1.41 1.41L11 7.83V20h2V7.83l5.59 5.58L20 12l-8-8-8 8z"/></svg>`,"fullscreen-enter":`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"/></svg>`,"fullscreen-exit":`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z"/></svg>`,loop:`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M7 7h10v3l4-4-4-4v3H5v6h2V7zm10 10H7v-3l-4 4 4 4v-3h12v-6h-2v4z"/></svg>`,more:`<svg viewBox="0 0 24 24" fill="currentColor"><circle cx="5" cy="12" r="2"/><circle cx="12" cy="12" r="2"/><circle cx="19" cy="12" r="2"/></svg>`,pause:`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M6 19h4V5H6v14zm8-14v14h4V5h-4z"/></svg>`,pip:`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="4" width="20" height="16" rx="2"/><rect x="12" y="11" width="8" height="6" rx="1" fill="currentColor" stroke="none"/></svg>`,play:`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M8 5v14l11-7z"/></svg>`,quality:`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="6" width="20" height="12" rx="2"/><path d="M7 14v-4M12 14V8M17 14v-2"/></svg>`,replay:`<svg viewBox="0 0 24 24" fill="currentColor"><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"/></svg>`,"skip-next":`<svg viewBox="0 0 24 24" fill="currentColor"><path d="M6 18l8.5-6L6 6v12zM16 6v12h2V6h-2z"/></svg>`,"volume-mute":`<svg viewBox="0 0 24 24" fill="currentColor"><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"/></svg>`,"volume-on":`<svg viewBox="0 0 24 24" fill="currentColor"><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"/></svg>`};let _n;function vn(){_n??=hn(`mlv`,{resolveSync({name:e}){let t=gn[e];if(t!==void 0)return{tag:`span`,className:`icon-svg`,html:t}}})}vn();var yn=w({__name:`Icon`,props:{name:{type:String,required:!0}},setup(e){return(t,n)=>(F(),v(V(mn),{name:e.name,library:`mlv`,class:`ml-video-icon`},null,8,[`name`]))}}),X=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},Z=X(yn,[[`__scopeId`,`data-v-466b80a9`]]);function bn(e){return typeof e?.togglePlay==`function`}function Q(e){let t=D(K,null),n=ne(null),r=null,i=!1;function a(){r?.disconnect(),r=null}function o(e){let t=document.getElementById(e);return bn(t)?(n.value=t,a(),!0):!1}function s(){a(),n.value=null;let t=e.for;if(!t||i||o(t))return;let s=document.getElementById(t)?.tagName.toLowerCase();s?.includes(`-`)&&customElements.whenDefined(s).then(()=>{!i&&e.for===t&&o(t)}),k(()=>{i||e.for!==t||n.value||o(t)||(r=new MutationObserver(()=>o(t)),r.observe(document.body,{childList:!0,subtree:!0}))})}return P(s),H(()=>e.for,s),N(()=>{i=!0,a()}),_(()=>e.player??n.value??t??null)}const xn=[`aria-label`];var Sn=w({__name:`PlayButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=Q(e),n=_(()=>t.value?.isError?`error`:t.value?.hasEnded?`ended`:t.value?.isPlaying?`playing`:`idle`),r=_(()=>{switch(n.value){case`error`:return`Retry`;case`ended`:return`Replay`;case`playing`:return`Pause`;default:return`Play`}});function i(){let e=t.value;e&&(e.isError?e.retry():e.togglePlay())}return(e,a)=>(F(),b(`button`,{type:`button`,class:`ml-video-control-btn ml-video-play-button`,"aria-label":r.value,onClick:i},[z(e.$slots,`default`,{isPlaying:V(t)?.isPlaying??!1,hasEnded:V(t)?.hasEnded??!1,isError:V(t)?.isError??!1},()=>[n.value===`error`||n.value===`ended`?(F(),v(Z,{key:0,name:`replay`})):n.value===`playing`?(F(),v(Z,{key:1,name:`pause`})):(F(),v(Z,{key:2,name:`play`}))])],8,xn))}}),Cn=X(w({__name:`Spinner`,props:{size:{type:Number,required:!1,default:14},borderWidth:{type:Number,required:!1,default:2}},setup(e){return(t,n)=>(F(),b(`div`,{class:`spinner`,style:M({width:`${e.size}px`,height:`${e.size}px`,borderWidth:`${e.borderWidth}px`})},null,4))}}),[[`__scopeId`,`data-v-7c461437`]]);const wn={key:0,class:`ml-video-buffering`,role:`status`,"aria-label":`Buffering`};var Tn=X(w({__name:`Buffering`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=Q(e);return(e,n)=>V(t)?.isBuffering?(F(),b(`div`,wn,[z(e.$slots,`default`,{isBuffering:!0},()=>[C(Cn)],!0)])):y(`v-if`,!0)}}),[[`__scopeId`,`data-v-c446a450`]]),En=w({__name:`VolumeIcon`,props:{isAudible:{type:Boolean,required:!0}},setup(e){return(t,n)=>e.isAudible?(F(),v(Z,{key:0,name:`volume-on`})):(F(),v(Z,{key:1,name:`volume-mute`}))}});const Dn={class:`hud`,"aria-hidden":`true`},On=[`aria-label`],kn=[`aria-label`,`innerHTML`],An={key:2,class:`hud__spacer`},jn={class:`hud__play-wrap`};var Mn=X(w({__name:`HudButtons`,setup(e){let t=Y(K),n=Y(q),{currentAction:r,isCustom:i,customAction:a,builtinLabel:o,builtinActive:s,onBuiltinClick:c}=Ht(D(Rt),t,Y(J));return(e,l)=>(F(),b(h,null,[y(` 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. `),x(`div`,Dn,[!V(n).isOpen&&!V(t).isFullscreen?(F(),b(h,{key:0},[V(r)===`mute`||V(r)===`loop`||V(r)===`autoplay`?(F(),b(`button`,{key:0,type:`button`,class:A([`hud__btn`,{"hud__btn--active":V(s)}]),"aria-label":V(o),tabindex:`-1`,onClick:l[0]||=U((...e)=>V(c)&&V(c)(...e),[`stop`])},[V(r)===`mute`?(F(),v(En,{key:0,"is-audible":V(t).isAudible},null,8,[`is-audible`])):V(r)===`loop`?(F(),v(Z,{key:1,name:`loop`})):(F(),v(Z,{key:2,name:`skip-next`}))],10,On)):V(i)&&V(a)?(F(),b(`button`,{key:1,type:`button`,class:`hud__btn`,"aria-label":V(a).label,tabindex:`-1`,onClick:l[1]||=U(e=>V(a).onClick(),[`stop`]),innerHTML:V(a).icon},null,8,kn)):(F(),b(`div`,An))],64)):y(`v-if`,!0),x(`div`,jn,[C(Sn,{class:`ppbtn ppbtn--lg`,tabindex:`-1`}),C(Tn,{class:`hud__buf-spinner`})]),!V(n).isOpen&&!V(t).isFullscreen?(F(),b(`button`,{key:1,type:`button`,class:`hud__btn`,"aria-label":`Show controls`,tabindex:`-1`,onClick:l[2]||=U((...e)=>V(n).openControls&&V(n).openControls(...e),[`stop`])},[C(Z,{name:`controls`})])):y(`v-if`,!0)])],2112))}}),[[`__scopeId`,`data-v-58e9bcdd`]]);function Nn(e,t=250){let n=R(!1),r=null;return H(e,e=>{r?.disconnect(),r=null,e&&(r=new ResizeObserver(([e])=>{n.value=e.contentRect.width<t}),r.observe(e))},{immediate:!0}),N(()=>r?.disconnect()),n}const Pn=new WeakMap;async function Fn(e,t){if(!e){t();return}Pn.get(e)?.();let n=e.getBoundingClientRect();t(),await k();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=``),Pn.delete(e),t()};Pn.set(e,r);let i=requestAnimationFrame(()=>{e.style.transition=`transform 220ms ease`,e.style.transform=``,n=setTimeout(r,220)})})}const In=[`aria-label`];var Ln=w({__name:`FullscreenButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=Q(e);return(e,n)=>(F(),b(`button`,{type:`button`,class:`ml-video-control-btn ml-video-fullscreen-button`,"aria-label":V(t)?.isFullscreen?`Exit fullscreen`:`Enter fullscreen`,onClick:n[0]||=e=>V(t)?.toggleFullscreen()},[z(e.$slots,`default`,{isFullscreen:V(t)?.isFullscreen??!1},()=>[V(t)?.isFullscreen?(F(),v(Z,{key:0,name:`fullscreen-exit`})):(F(),v(Z,{key:1,name:`fullscreen-enter`}))])],8,In))}});const Rn=[`aria-pressed`];var zn=w({__name:`PipButton`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=Q(e);return(e,n)=>V(t)?.supportsPip?(F(),b(`button`,{key:0,type:`button`,class:A([`ml-video-control-btn ml-video-control-btn--toggle ml-video-pip-button`,{"ml-video-control-btn--active ml-video-pip-button--active":V(t)?.isPipActive}]),"aria-pressed":V(t)?.isPipActive??!1,"aria-label":`Toggle Picture-in-Picture`,onClick:n[0]||=e=>V(t)?.togglePip()},[z(e.$slots,`default`,{isPipActive:V(t)?.isPipActive??!1},()=>[C(Z,{name:`pip`})])],10,Rn)):y(`v-if`,!0)}});function Bn(e){let t=R(!1),n=R(null),r=!1,i=null,a=!1,o=_(()=>{let t=e.value;return t?.duration?t.currentTime/t.duration*100:0}),s=_(()=>n.value??o.value),c=_(()=>n.value!==null),l=_(()=>{let t=e.value?.duration??0;return s.value/100*t});function u(){i&&clearTimeout(i),i=null}function d(){u(),n.value=null}function f(e){t.value||=(r=e.isPlaying,e.pause(),!0)}function p(e){return Number(e.target.value)}function m(a){let o=e.value;o&&!t.value&&f(o),t.value=!1,o&&(n.value=a,o.seek(a*(o.duration||0)/100),r&&o.play().catch(()=>{}),u(),i=setTimeout(d,3e3))}function h(t){let r=e.value;r?.duration&&(f(r),u(),n.value=p(t))}function g(e){t.value&&(a=!0,m(p(e)))}function v(){a=!1}function y(t){if(a){a=!1;return}e.value?.duration&&m(p(t))}function b(){t.value&&(t.value=!1,r&&e.value?.play().catch(()=>{}),d())}return H(()=>e.value?.currentTime,()=>{let t=e.value;if(n.value===null||!t?.duration)return;let r=n.value/100*t.duration;Math.abs(t.currentTime-r)<1&&d()}),N(d),{scrubbing:c,displayPercent:s,previewSeconds:l,onInput:h,onChange:g,onTouchStart:v,onTouchEnd:y,onPointerCancel:b}}function Vn(e,t=!1){if(!e||isNaN(e)||e<0)return`0:00`;let n=t?Math.round(e):Math.floor(e),r=Math.floor(n/3600),i=Math.floor(n%3600/60),a=String(n%60).padStart(2,`0`);return r?`${r}:${String(i).padStart(2,`0`)}:${a}`:`${i}:${a}`}const Hn={class:`ml-video-scrubber-wrap`},Un=[`value`,`aria-valuetext`];var Wn=X(w({inheritAttrs:!1,__name:`Scrubber`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=Q(e),{scrubbing:n,displayPercent:r,previewSeconds:i,onInput:a,onChange:o,onTouchStart:s,onTouchEnd:c,onPointerCancel:l}=Bn(t),u=e=>Vn(e,!0);return(e,d)=>(F(),b(`div`,Hn,[x(`input`,O({type:`range`,min:`0`,max:`100`,step:`0.5`,value:V(r),class:`ml-video-scrubber`,style:{"--p":`${V(r)}%`,"--b":`${V(t)?.bufferedDisplay??0}%`},"aria-label":`Seek`,"aria-valuetext":`${u(V(i))} of ${u(V(t)?.duration??0)}`,onInput:d[0]||=(...e)=>V(a)&&V(a)(...e),onChange:d[1]||=(...e)=>V(o)&&V(o)(...e),onTouchstart:d[2]||=(...e)=>V(s)&&V(s)(...e),onTouchend:d[3]||=(...e)=>V(c)&&V(c)(...e),onPointercancel:d[4]||=(...e)=>V(l)&&V(l)(...e)},e.$attrs),null,16,Un),z(e.$slots,`preview`,{scrubbing:V(n),percent:V(r),previewSeconds:V(i),formatTime:u},()=>[V(n)?(F(),b(`div`,{key:0,class:`ml-video-scrubber__preview`,style:M({left:`${V(r)}%`})},B(u(V(i))),5)):y(`v-if`,!0)],!0)]))}}),[[`__scopeId`,`data-v-00e26db0`]]);const Gn={class:`ml-video-time-display__time`},Kn={class:`ml-video-time-display__total`};var qn=X(w({__name:`TimeDisplay`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=Q(e);return(e,n)=>(F(),b(`span`,{class:A([`ml-video-time-display`,{"ml-video-time-display--live":V(t)?.isLive}])},[z(e.$slots,`default`,{isLive:V(t)?.isLive??!1,currentTime:V(t)?.currentTime??0,duration:V(t)?.duration??0,formatTime:V(Vn)},()=>[V(t)?.isLive?(F(),b(h,{key:0},[n[0]||=x(`span`,{class:`ml-video-time-display__dot`},null,-1),n[1]||=S(`Live `,-1)],64)):(F(),b(h,{key:1},[x(`span`,Gn,B(V(Vn)(V(t)?.currentTime??0)),1),x(`span`,Kn,`/ `+B(V(Vn)(V(t)?.duration??0)),1)],64))],!0)],2))}}),[[`__scopeId`,`data-v-d2dbce42`]]);const Jn={class:`ml-video-volume-wrap`},Yn=[`value`],Xn={class:`ml-video-volume-pct`};var Zn=X(w({inheritAttrs:!1,__name:`VolumeSlider`,props:{player:{type:[Object,null],required:!1},for:{type:String,required:!1}},setup(e){let t=Q(e),n=_(()=>{let e=t.value;return e?e.isMuted?0:Math.round(e.currentVolume*100):0});function r(e){t.value?.setVolume(Number(e.target.value)/100)}return(e,t)=>(F(),b(`div`,Jn,[x(`input`,O({type:`range`,min:`0`,max:`100`,step:`1`,value:n.value,class:`ml-video-volume-slider`,style:{"--v":`${n.value}%`},"aria-label":`Volume`,onInput:r},e.$attrs),null,16,Yn),z(e.$slots,`default`,{percent:n.value},()=>[x(`span`,Xn,B(n.value)+`%`,1)],!0)]))}}),[[`__scopeId`,`data-v-512c68f4`]]);const Qn={class:`controls__vol-header`},$n=[`aria-label`],er={class:`controls__vol-body`},tr={class:`controls__vol-pct`};var nr=X(w({__name:`VolumePanel`,emits:[`back`],setup(e){let t=Y(K),n=Y(q);return(e,r)=>(F(),b(h,null,[x(`div`,Qn,[x(`button`,{type:`button`,class:`controls__btn`,"aria-label":`Back`,onClick:r[0]||=t=>e.$emit(`back`)},[C(Z,{name:`back`})]),r[6]||=x(`span`,{class:`controls__vol-label`},`Volume`,-1),x(`button`,{type:`button`,class:`controls__btn`,"aria-label":V(t).isMuted?`Unmute`:`Mute`,onClick:r[1]||=e=>V(t).toggleMute()},[C(En,{"is-audible":V(t).isAudible},null,8,[`is-audible`])],8,$n)]),x(`div`,er,[C(Zn,{class:`controls__vol-slider`,onMousedown:r[2]||=e=>V(n).pauseHide(),onMouseup:r[3]||=e=>V(n).scheduleHide(),onTouchstartPassive:r[4]||=e=>V(n).pauseHide(),onTouchend:r[5]||=e=>V(n).scheduleHide()},{default:ie(({percent:e})=>[x(`span`,tr,B(e)+`%`,1)]),_:1})])],64))}}),[[`__scopeId`,`data-v-7fa1bc26`]]);function rr(e){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 ir(e){return e.captionTracks.find(t=>t.index===e.activeCaptionIndex)?.label??`Off`}function ar(e){let t=e.qualityLevels;if(!t.length)return;if(e.isAutoQuality){e.setQuality(t[t.length-1].height);return}let n=t.findIndex(t=>t.height===e.currentQualityHeight);e.setQuality(n<=0?null:t[n-1].height)}function or(e){return e.isAutoQuality?`Auto`:e.qualityLevels.find(t=>t.height===e.currentQualityHeight)?.label??`Auto`}function sr(e){let n=e.currentPlaybackRate,r=t.indexOf(n);if(r!==-1){e.setPlaybackRate(t[(r+1)%t.length]);return}e.setPlaybackRate(t.find(e=>e>n)??t[0])}function cr(e){return`${e}×`}const lr=[`aria-label`],ur={key:0,class:`controls__more-row-label`},dr=[`innerHTML`],fr={key:1},pr={key:2,class:`controls__more-value`};var $=X(w({__name:`MoreMenuRow`,props:{label:{type:String,required:!0},ariaLabel:{type:String,required:!1,default:``},icon:{type:String,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)=>(F(),b(`button`,{type:`button`,class:A([`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?(F(),b(`span`,ur,[e.icon?(F(),v(Z,{key:0,name:e.icon,class:`controls__more-row-icon`},null,8,[`name`])):(F(),b(`span`,{key:1,class:`controls__more-row-icon`,innerHTML:e.iconHtml},null,8,dr)),S(` `+B(e.label),1)])):(F(),b(`span`,fr,B(e.label),1)),e.value===void 0?y(`v-if`,!0):(F(),b(`span`,pr,B(e.value),1))],10,lr))}}),[[`__scopeId`,`data-v-73312b97`]]);const mr={class:`controls__more-header`};var hr=X(w({__name:`MoreMenu`,props:{compact:{type:Boolean,required:!0}},emits:[`back`],setup(e){let t=Y(K),n=Y(q),r=Y(J),{isCustom:i,customAction:a}=Ht(D(Rt,void 0),t,r);return(o,s)=>(F(),b(h,null,[x(`div`,mr,[x(`button`,{type:`button`,class:`controls__btn`,"aria-label":`Back`,onClick:s[0]||=e=>o.$emit(`back`)},[C(Z,{name:`back`})]),s[11]||=x(`span`,{class:`controls__more-label`},`More`,-1)]),x(`div`,{class:`controls__more-body`,onTouchstartPassive:s[10]||=e=>V(n).keepOpen()},[V(t).supportsPlaybackRate?(F(),v($,{key:0,label:`Playback speed`,value:V(cr)(V(t).currentPlaybackRate),onClick:s[1]||=e=>V(sr)(V(t))},null,8,[`value`])):y(`v-if`,!0),C($,{label:`Loop`,"aria-label":`Toggle loop`,icon:`loop`,active:V(t).isLooping,value:V(t).isLooping?`On`:`Off`,onClick:s[2]||=e=>V(t).toggleLoop()},null,8,[`active`,`value`]),V(t).supportsCaptions?(F(),v($,{key:1,label:`Captions`,icon:`captions`,active:V(t).activeCaptionIndex!==null,value:V(ir)(V(t)),onClick:s[3]||=e=>V(rr)(V(t))},null,8,[`active`,`value`])):y(`v-if`,!0),V(t).supportsQuality?(F(),v($,{key:2,label:`Quality`,icon:`quality`,active:!V(t).isAutoQuality,value:V(or)(V(t)),onClick:s[4]||=e=>V(ar)(V(t))},null,8,[`active`,`value`])):y(`v-if`,!0),V(r).hasPlaylist?(F(),v($,{key:3,label:`Autoplay next`,"aria-label":`Toggle autoplay next`,icon:`skip-next`,active:V(r).autoAdvance,value:V(r).autoAdvance?`On`:`Off`,onClick:s[5]||=e=>V(r).toggleAutoAdvance()},null,8,[`active`,`value`])):y(`v-if`,!0),e.compact&&V(t).supportsPip?(F(),v($,{key:4,label:`Picture-in-picture`,"aria-label":`Toggle picture-in-picture`,icon:`pip`,active:V(t).isPipActive,onClick:s[6]||=e=>V(t).togglePip()},null,8,[`active`])):y(`v-if`,!0),e.compact&&V(r).hasNext?(F(),v($,{key:5,label:`Play next`,"aria-label":`Play next`,icon:`skip-next`,onClick:s[7]||=e=>V(r).playNext()})):y(`v-if`,!0),e.compact?(F(),v($,{key:6,label:`Mute`,"aria-label":`Toggle mute`,icon:V(t).isAudible?`volume-on`:`volume-mute`,active:!V(t).isAudible,onClick:s[8]||=e=>V(t).toggleMute()},null,8,[`icon`,`active`])):y(`v-if`,!0),V(i)&&V(a)?(F(),v($,{key:7,label:V(a).label,"icon-html":V(a).icon,onClick:s[9]||=e=>V(a).onClick()},null,8,[`label`,`icon-html`])):y(`v-if`,!0)],32)],64))}}),[[`__scopeId`,`data-v-23430f8a`]]);const gr={class:`controls__row`},_r={class:`controls__play-wrap`},vr=[`aria-expanded`],yr=[`aria-expanded`],br={class:`controls__fs-wrap`};var xr=X(w({__name:`ControlsPopup`,setup(e){let t=Y(K),n=Y(q),r=Y(J);D(Rt);let i=R(!1),a=R(!1),o=R(null),s=R(null),c=Nn(o),l=_(()=>t.isLooping||t.currentPlaybackRate!==1||r.autoAdvance);function u(e){return t.isFullscreen||!o.value||o.value.contains(e)||e?.closest?.(`.overlay__tap-capture`)?!1:(n.closeControls(),!0)}function d(e){u(e.target)}function f(e){u(e.target)&&e.preventDefault()}P(()=>{t.fire(`controlsopen`,{element:o.value}),document.addEventListener(`click`,d,!0),document.addEventListener(`touchend`,f,!0)}),N(()=>{i.value=!1,a.value=!1,t.fire(`controlsclose`,{element:o.value}),document.removeEventListener(`click`,d,!0),document.removeEventListener(`touchend`,f,!0)});function m(e){n.suppressMouseLeave();let t=o.value,r=s.value;if(!t||!r){e();return}r.style.opacity=`0`,Fn(t,e).then(()=>{r.style.transition=`opacity 130ms ease`,r.style.opacity=``,setTimeout(()=>{r.style.transition=``},130)})}function g(){if(p()){t.toggleMute();return}m(()=>{i.value=!0})}function S(){m(()=>{a.value=!0})}return(e,u)=>(F(),b(`div`,{ref_key:`popupEl`,ref:o,class:A([`controls`,{"controls--fs":V(t).isFullscreen,"controls--compact":V(c)}]),onMousemove:u[8]||=U((...e)=>V(n).keepOpen&&V(n).keepOpen(...e),[`stop`])},[x(`div`,{class:`controls__inner`,ref_key:`contentEl`,ref:s},[i.value?(F(),v(nr,{key:0,onBack:u[0]||=e=>m(()=>i.value=!1)})):a.value?(F(),v(hr,{key:1,compact:V(c),onBack:u[1]||=e=>m(()=>a.value=!1)},null,8,[`compact`])):(F(),b(h,{key:2},[V(t).isLive?y(`v-if`,!0):(F(),v(Wn,{key:0,class:`controls__seek`,onMousedown:u[2]||=e=>V(n).pauseHide(),onMouseup:u[3]||=e=>V(n).scheduleHide(),onTouchstartPassive:u[4]||=e=>V(n).pauseHide(),onTouchend:u[5]||=e=>V(n).scheduleHide()})),x(`div`,gr,[x(`div`,_r,[C(Tn),V(t).isBuffering?y(`v-if`,!0):(F(),v(Sn,{key:0,class:`ppbtn ppbtn--sm`}))]),C(qn,{class:`controls__time-display`}),V(r).hasNext?(F(),b(`button`,{key:0,type:`button`,class:`controls__btn controls__btn--next`,"aria-label":`Play next`,onClick:u[6]||=e=>V(r).playNext()},[C(Z,{name:`skip-next`})])):y(`v-if`,!0),x(`button`,{type:`button`,class:`controls__btn controls__btn--volume`,"aria-label":`Volume`,"aria-haspopup":`true`,"aria-expanded":i.value,onClick:g},[C(En,{"is-audible":V(t).isAudible},null,8,[`is-audible`])],8,vr),x(`button`,{type:`button`,class:A([`controls__btn controls__btn--more`,{"controls__btn--active":l.value}]),"aria-label":`More`,"aria-haspopup":`true`,"aria-expanded":a.value,onClick:S},[C(Z,{name:`more`})],10,yr),C(zn,{class:`controls__btn controls__btn--pip`}),x(`div`,br,[V(t).isFullscreenPending?(F(),v(Cn,{key:0})):(F(),v(Ln,{key:1,class:`controls__btn`}))])])],64))],512),x(`button`,{type:`button`,class:`controls__close`,"aria-label":`Close player controls`,onClick:u[7]||=e=>V(n).closeControls(!0)},`Close player controls`)],34))}}),[[`__scopeId`,`data-v-330d8c86`]]);const Sr={key:0,class:`overlay__spinner`},Cr={key:0,class:`overlay__error`},wr=[`inert`];var Tr=X(w({__name:`PlayerOverlay`,setup(e){let t=Y(K),n=Y(q),{hudVisible:r,popupVisible:i}=Bt(t,n);return(e,a)=>(F(),b(h,null,[C(g,{name:`fade`},{default:ie(()=>[!V(t).isReady&&!V(t).isError?(F(),b(`div`,Sr,[C(Cn,{size:40,"border-width":3})])):y(`v-if`,!0)]),_:1}),V(t).isError?(F(),b(`div`,Cr,[x(`p`,null,B(V(t).errorMessage||`This video could not be played.`),1),x(`button`,{type:`button`,class:`overlay__retry`,onClick:a[0]||=U((...e)=>V(t).retry&&V(t).retry(...e),[`stop`])},`Retry`)])):y(`v-if`,!0),x(`button`,{type:`button`,class:`overlay__reveal`,"aria-label":`Show player controls`,onClick:a[1]||=e=>V(n).openControls()},`Show player controls`),x(`div`,{class:A([`overlay__hud`,{"overlay__hud--visible":V(r)}]),inert:!V(r)},[C(Mn)],10,wr),C(g,{name:`popup`},{default:ie(()=>[V(i)?(F(),b(`div`,{key:0,class:A([`overlay__popup`,{"overlay__popup--fs":V(t).isFullscreen}])},[C(xr)],2)):y(`v-if`,!0)]),_:1})],64))}}),[[`__scopeId`,`data-v-c795dad9`]]);const Er={class:`ad-overlay`},Dr={class:`ad-overlay__bar`},Or={class:`ad-overlay__badge`},kr={key:0,class:`ad-overlay__countdown`},Ar=[`aria-label`],jr=[`aria-label`];var Mr=X(w({__name:`AdOverlay`,setup(e){let t=Y(K),n=_(()=>t.adRemainingTime>0?Vn(t.adRemainingTime):``);return(e,r)=>(F(),b(`div`,Er,[x(`div`,Dr,[x(`div`,Or,[r[2]||=x(`span`,null,`Ad`,-1),n.value?(F(),b(`span`,kr,B(n.value),1)):y(`v-if`,!0)]),x(`button`,{type:`button`,class:`ad-overlay__btn`,"aria-label":V(t).isAdPaused?`Resume ad`:`Pause ad`,onClick:r[0]||=e=>V(t).togglePlay()},[V(t).isAdPaused?(F(),v(Z,{key:0,name:`play`})):(F(),v(Z,{key:1,name:`pause`}))],8,Ar),x(`button`,{type:`button`,class:`ad-overlay__btn`,"aria-label":V(t).isAdMuted?`Unmute ad`:`Mute ad`,onClick:r[1]||=e=>V(t).toggleAdMute()},[V(t).isAdMuted?(F(),v(Z,{key:0,name:`volume-mute`})):(F(),v(Z,{key:1,name:`volume-on`}))],8,jr)])]))}}),[[`__scopeId`,`data-v-feb17dae`]]);function Nr(e,t){let n=R(!1),r=null;function i(){if(r?.(),r=null,!e.value){n.value=!1;return}r=ht(e.value,e=>{e.intersectionRatio<.1?t.value&&(n.value=!0):n.value=!1})}return P(i),H(e,i),N(()=>r?.()),{isPinned:n}}const Pr=R(0),Fr=L({currentSrc:null,isPlaying:!1}),Ir=_(()=>Pr.value>0),Lr=R(!1);function Rr(){Pr.value++}function zr(){Pr.value--}function Br(e,t,n){let r=R(null),i=R(null);H(n,n=>{let i=e.value?.offsetWidth??null;r.value=n&&t.value&&i?{height:t.value.offsetHeight,wrapperWidth:i}:null});let a=_(()=>{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 H(e,e=>{o?.disconnect(),o=null,e&&(o=new ResizeObserver(([e])=>i.value=e.contentRect.width),o.observe(e))},{immediate:!0}),N(()=>o?.disconnect()),{wrapperStyle:a,clear:()=>r.value=null}}function Vr(e){e?.scrollIntoView({behavior:`smooth`,block:`center`})}function Hr(e,t){let n=R(!1);function r(e,{animate:r=!0}={}){if(e!==n.value){if(!r){n.value=e;return}Fn(t.value,()=>{n.value=e})}}let i=_(()=>n.value&&Lr.value),{wrapperStyle:a,clear:o}=Br(e,t,n);return{isPinned:n,isTucked:i,wrapperStyle:a,setPinned:r,unpin:()=>n.value=!1,clearReservedSpace:o,scrollToBox:()=>Vr(e.value)}}var Ur=X(w({__name:`PinnablePlayerShell`,props:{isPlaying:{type:Boolean,required:!0}},setup(e){let t=e,n=R(null),r=R(null),{isPinned:i}=Nr(n,re(t,`isPlaying`)),{isPinned:a,isTucked:o,wrapperStyle:s,setPinned:c,unpin:l,scrollToBox:u}=Hr(n,r);H(i,e=>c(e));function d(e){r.value=e}return(e,t)=>(F(),b(`div`,{ref_key:`wrapperEl`,ref:n,class:`player-wrapper`,style:M(V(s))},[z(e.$slots,`default`,{isPinned:V(a),isTucked:V(o),setBoxEl:d,unpin:V(l),scrollToPlayer:V(u)},void 0,!0)],4))}}),[[`__scopeId`,`data-v-b25b3a73`]]);const Wr={class:`player-wrapper`};var Gr=X(w({__name:`PlainPlayerShell`,props:{isPlaying:{type:Boolean,required:!0}},setup(e){function t(){}return(e,n)=>(F(),b(`div`,Wr,[z(e.$slots,`default`,{isPinned:!1,isTucked:!1,setBoxEl:t,unpin:t,scrollToPlayer:t},void 0,!0)]))}}),[[`__scopeId`,`data-v-3fc2947d`]]),Kr=X(w({__name:`PinnedControls`,emits:[`scroll-to`,`dismiss`],setup(e){return(e,t)=>(F(),b(h,null,[x(`button`,{type:`button`,class:`pinned-controls__scroll-to`,"aria-label":`Scroll to player`,onClick:t[0]||=U(t=>e.$emit(`scroll-to`),[`stop`])},[C(Z,{name:`expand`})]),x(`button`,{type:`button`,class:`pinned-controls__dismiss`,"aria-label":`Close`,onClick:t[1]||=U(t=>e.$emit(`dismiss`),[`stop`])},[C(Z,{name:`close`})])],64))}}),[[`__scopeId`,`data-v-2d2ea6e1`]]);function qr(e){let[t,n]=e.split(`:`).map(Number);return{isPortrait:n>t,cssRatio:`${t}/${n}`}}const Jr=[`aria-label`,`tabindex`],Yr={"data-ml-video-player":``},Xr=[`poster`,`preload`],Zr=[`src`,`kind`,`srclang`,`label`,`default`],Qr={key:3,class:`player__native-play`},$r={key:4,class:`player__custom-hud`};var ei=X(w({__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:a},adTagUrl:{type:String,required:!1,default:``},adMacroParams:{type:Object,required:!1},headerBidding:{type:Object,required:!1},tracks:{type:Array,required:!1,default:()=>[]},captionLine:{type:Number,required:!1,default:void 0},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},quality:{type:[Number,null],required:!1,default:void 0},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,a=n,o=R(null),s=L(At(o,r,a)),c=L(Pt(re(s,`isPlaying`),re(s,`isFullscreen`))),{onKeydown:l}=Mt(s,c);function u(e){r.disableKeyboardShortcuts||l(e)}let d=R(null);H(()=>s.isFullscreen,e=>{e&&!r.disableKeyboardShortcuts&&k(()=>d.value?.focus({preventScroll:!0}))});function f(e){if(r.disableKeyboardShortcuts)return;let t=e.relatedTarget;if(t&&d.value?.contains(t))return;let n=e.target;requestAnimationFrame(()=>{document.activeElement===document.body&&(!n.isConnected||n.closest(`[inert]`))&&d.value?.focus({preventScroll:!0})})}I(K,s),I(q,c),I(Rt,re(r,`action`)),I(J,D(J,zt));let p=_(()=>qr(r.aspectRatio)),m=_(()=>p.value.isPortrait),g=_(()=>p.value.cssRatio),S=_(()=>!r.poster&&!s.isReady),w=_(()=>r.pin?Ur:Gr);function T(e){s.pause(),e()}function E(){if(c.isOpen&&!s.isFullscreen){c.closeControls();return}c.onVideoTap(),s.fire(`tap`)}return t(Lt(s)),(t,n)=>(F(),v(te(w.value),{"is-playing":s.isPlaying},{default:ie(({isPinned:a,isTucked:l,setBoxEl:p,unpin:_,scrollToPlayer:w})=>[x(`div`,{ref:p,class:A([`player`,{"player--pinned":a,"player--tucked":l,[`player--pin-${e.pin}`]:a}])},[a?(F(),v(Kr,{key:0,onScrollTo:w,onDismiss:e=>T(_)},null,8,[`onScrollTo`,`onDismiss`])):y(`v-if`,!0),x(`div`,{ref_key:`shellEl`,ref:d,class:A([V(i),{"player__shell--portrait":m.value}]),style:M({aspectRatio:g.value}),role:`group`,"aria-label":e.label||`Video player`,tabindex:e.disableKeyboardShortcuts?void 0:0,onMousemove:n[0]||=e=>c.onMouseMove(),onContextmenuCapture:n[1]||=U(()=>{},[`prevent`]),onMouseleave:n[2]||=e=>c.onMouseLeave(),onKeydown:u,onFocusout:f},[x(`div`,Yr,[x(`video`,{ref_key:`videoEl`,ref:o,class:A([`ml-video-media`,{"ml-video-media--hidden":S.value}]),poster:r.poster,preload:r.preload,playsinline:``},[(F(!0),b(h,null,ee(r.tracks,(e,t)=>(F(),b(`track`,{key:`${e.src}-${t}`,src:e.src,kind:e.kind??`captions`,srclang:e.srclang,label:e.label,default:e.default},null,8,Zr))),128))],10,Xr),!r.disableTapCapture&&!s.isNativeUi&&s.hasStarted&&!s.isAdPlaying?(F(),b(`div`,{key:0,class:`overlay__tap-capture`,onClick:E,onTouchend:U(E,[`prevent`,`stop`])},null,32)):y(`v-if`,!0),s.isAdPlaying&&!s.isNativeUi?(F(),v(Mr,{key:1})):y(`v-if`,!0),r.controls&&!s.isNativeUi?(F(),v(Tr,{key:2})):y(`v-if`,!0),r.controls&&s.isNativeUi&&!s.hasStarted?(F(),b(`div`,Qr,[C(Sn,{class:`ppbtn ppbtn--lg`})])):y(`v-if`,!0),y(` Custom HUD. Controls placed here find this player through context, no wiring needed. `),t.$slots.default?(F(),b(`div`,$r,[z(t.$slots,`default`,{},void 0,!0)])):y(`v-if`,!0)])],46,Jr)],2)]),_:3},8,[`is-playing`]))}}),[[`__scopeId`,`data-v-6cbcb413`]]);function ti(e,t){window.dispatchEvent(new CustomEvent(e,{detail:t}))}function ni(e,t){let n=e=>t(e.detail);P(()=>window.addEventListener(e,n)),N(()=>window.removeEventListener(e,n))}function ri(e=()=>!0){let t=ne(null),n={};for(let r of Ft)n[r]=async(...n)=>{await e(r)&&await t.value?.[r]?.(...n)};for(let e of It)n[e]=_(()=>t.value?.[e]);return{playerRef:t,forwarded:n}}function ii(e,t){let n=_(()=>!e.value||!t.value?-1:e.value.findIndex(e=>e.src===t.value?.src)),r=_(()=>n.value===-1||!e.value?null:e.value[n.value+1]??null),i=_(()=>n.value<=0||!e.value?null:e.value[n.value-1]??null);return{hasNext:_(()=>r.value!==null),hasPrevious:_(()=>i.value!==null),nextEntry:r,previousEntry:i}}const ai=`player:autoAdvance`;function oi(){return Fe(ai)===`true`}function si(e){Ie(ai,String(e))}const ci=[`src`],li={class:`stage__idle-body`},ui={class:`stage__idle-btn`},di={class:`stage__idle-title`},fi={key:1,class:`stage__idle-empty`};var pi=X(w({__name:`VideoStage`,props:{pin:{type:String,required:!1,default:`bottom-right`},playlist:{type:Array,required:!1}},emits:[`state-change`],setup(e,{expose:t,emit:r}){let i=e,a=r,o=R(oi());H(o,si);let s=_(()=>!!i.playlist?.length),c=R(null),u=R(!1),d=R(!1);function f(e){a(`state-change`,{type:e,currentTime:0,duration:0,src:c.value?.src??``})}H(u,e=>f(e?`stageopen`:`stageclose`));let{playerRef:p,forwarded:m}=ri(()=>u.value),g=R(null),S=R(null),w=R(!1),{hasNext:T,hasPrevious:E,nextEntry:D,previousEntry:k}=ii(re(i,`playlist`),c),j=_(()=>qr(c.value?.aspectRatio||`16:9`).cssRatio),{isPinned:ee,isTucked:te,wrapperStyle:ne,setPinned:U,clearReservedSpace:ae,scrollToBox:oe}=Hr(g,S);H([w,u,c],([e],[t])=>{let n=w.value&&!!c.value&&u.value;U(n,{animate:e!==t})});let se=null;function ce(){se?.disconnect(),g.value&&(se=new IntersectionObserver(([e])=>w.value=!e.isIntersecting,{threshold:.98}),se.observe(g.value))}H(g,ce);function le(){c.value&&(c.value={...c.value,autoplay:!0,muted:Ge(c.value.muted)},u.value=!0)}function ue(){le()}function de(){c.value=null,u.value=!1,d.value=!1,ae(),fe()}function fe(){Fr.currentSrc=c.value?.src??null,Fr.isPlaying=d.value}let pe=_(()=>{let{fromGesture:e,lazy:t,autoStage:n,...r}=c.value??{src:``};return r});function me(e){if(c.value?.src===e.src&&u.value){e.fromGesture&&p.value?.togglePlay();return}c.value=e,u.value=!1,d.value=!1,fe(),u.value=!0}function he(e){if(c.value&&e.src===c.value.src){if(!u.value){le();return}p.value?.togglePlay()}}function ge(e,t){e&&me({...e,fromGesture:t,autoplay:!0,muted:e.muted??p.value?.isMuted??Ge(void 0,t),volume:e.volume??p.value?.currentVolume})}function _e(e=!0){ge(D.value,e)}function ve(e=!0){ge(k.value,e)}function W(e){e.type===`play`&&(d.value=!0),(e.type===`pause`||e.type===`ended`)&&(d.value=!1),e.type===`ended`&&o.value&&_e(!1),fe(),a(`state-change`,e)}return I(J,L({hasPlaylist:s,hasNext:T,hasPrevious:E,autoAdvance:o,playNext:()=>_e(),playPrevious:()=>ve(),toggleAutoAdvance:()=>{o.value=!o.value}})),ni(l,me),ni(n,he),P(Rr),N(()=>{zr(),se?.disconnect(),Fr.currentSrc=null,Fr.isPlaying=!1}),t({playNext:_e,playPrevious:ve,hasNext:T,hasPrevious:E,...m}),(t,n)=>(F(),b(`div`,{ref_key:`wrapperEl`,ref:g,class:`stage-wrapper`,style:M(V(ne))},[x(`div`,{ref_key:`stageEl`,ref:S,class:A([`stage`,{"stage--minified":V(ee),"stage--tucked":V(te),[`stage--pin-${e.pin}`]:V(ee)}])},[V(ee)?(F(),v(Kr,{key:0,onScrollTo:V(oe),onDismiss:de},null,8,[`onScrollTo`])):y(`v-if`,!0),c.value&&u.value?(F(),v(ei,O({ref_key:`playerRef`,ref:p,key:c.value.src},pe.value,{onStateChange:W}),{default:ie(()=>[z(t.$slots,`default`,{},void 0,!0)]),_:3},16)):(F(),b(`div`,{key:2,class:`stage__idle`,style:M({aspectRatio:j.value}),onClick:ue},[c.value?.poster?(F(),b(`img`,{key:0,src:c.value.poster,class:`stage__idle-poster`},null,8,ci)):y(`v-if`,!0),n[0]||=x(`div`,{class:`stage__idle-scrim`},null,-1),x(`div`,li,[c.value?(F(),b(h,{key:0},[x(`div`,ui,[C(Z,{name:`play`})]),x(`p`,di,B(c.value.label),1)],64)):(F(),b(`p`,fi,`Select a video to play`))])],4))],2)],4))}}),[[`__scopeId`,`data-v-b2a7f3d1`]]),mi=w({__name:`PlayPauseIcon`,props:{isPlaying:{type:Boolean,required:!0},hasEnded:{type:Boolean,required:!1,default:!1}},setup(e){return(t,n)=>e.isPlaying?(F(),v(Z,{key:0,name:`pause`})):e.hasEnded?(F(),v(Z,{key:1,name:`replay`})):(F(),v(Z,{key:2,name:`play`}))}});const hi={class:`placeholder`},gi=[`src`,`alt`],_i={class:`placeholder__btn-wrap`},vi=[`aria-label`],yi={key:1,class:`placeholder__footer`},bi={class:`placeholder__title`};var xi=X(w({__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:a},adTagUrl:{type:String,required:!1,default:``},adMacroParams:{type:Object,required:!1},headerBidding:{type:Object,required:!1},tracks:{type:Array,required:!1},captionLine:{type:Number,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},quality:{type:[Number,null],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=_(()=>qr(n.aspectRatio)),a=_(()=>i.value.isPortrait),o=_(()=>i.value.cssRatio),s=R(null),c=null,u=_(()=>Fr.currentSrc===n.src),d=_(()=>u.value&&Fr.isPlaying),f=_(()=>u.value&&d.value?`Pause`:`Play`),p=_(()=>n.label?`${f.value} ${n.label}`:f.value);function m(e,t,r){ti(l,{...n,fromGesture:e,...t!==void 0&&{autoplay:t},...r!==void 0&&{muted:r}})}function h(){m(!0,!0,Ge(n.muted))}return P(()=>{n.autoStage&&m(!1),n.playInView&&s.value&&(c=_t(s.value,()=>r(`enter-view`)))}),N(()=>c?.()),(t,n)=>(F(),b(`div`,hi,[x(`div`,{ref_key:`shellEl`,ref:s,class:A([`placeholder__shell`,{"placeholder__shell--portrait":a.value,"placeholder__shell--active":u.value}]),style:M({aspectRatio:o.value}),onClick:h},[e.poster?(F(),b(`img`,{key:0,class:`placeholder__poster`,src:e.poster,alt:e.label},null,8,gi)):y(`v-if`,!0),n[0]||=x(`div`,{class:`placeholder__scrim`},null,-1),x(`div`,_i,[x(`button`,{type:`button`,class:`ppbtn ppbtn--lg`,"aria-label":p.value,onClick:U(h,[`stop`])},[C(mi,{"is-playing":u.value&&d.value},null,8,[`is-playing`])],8,vi)]),e.label?(F(),b(`div`,yi,[x(`p`,bi,B(e.label),1)])):y(`v-if`,!0)],6)]))}}),[[`__scopeId`,`data-v-a7f74cef`]]),Si=w({__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},captionLine:{type:Number,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},quality:{type:[Number,null],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=R(!1),o=R(!1);function s(){o.value=!0,a.value=!0}async function c(){a.value||(a.value=!0,await k())}let{playerRef:u,forwarded:d}=ri(async e=>Ir.value?(e===`togglePlay`&&ti(l,{...r,fromGesture:!0,autoplay:!0,muted:Ge(r.muted)}),!1):(await c(),!0));return t(d),(e,t)=>V(Ir)?(F(),v(xi,j(O({key:0},r)),null,16)):(F(),b(h,{key:1},[r.lazy&&!a.value&&!r.autoplay?(F(),v(xi,O({key:0},r,{onClickCapture:s,onEnterView:t[0]||=e=>a.value=!0}),null,16)):(F(),v(ei,O({key:1,ref_key:`playerRef`,ref:u},r,{autoplay:a.value||r.autoplay,muted:V(Ge)(r.muted,o.value),onStateChange:t[1]||=e=>i(`state-change`,e)}),{default:ie(()=>[z(e.$slots,`default`)]),_:3},16,[`autoplay`,`muted`]))],64))}}),Ci=X(w({__name:`HideMarker`,setup(e){let t=R(null),n=null;return P(()=>{t.value&&(n=new IntersectionObserver(([e])=>{Lr.value=e.isIntersecting}),n.observe(t.value))}),N(()=>{n?.disconnect(),Lr.value=!1}),(e,n)=>(F(),b(`div`,{ref_key:`el`,ref:t,class:`ml-video-hide-marker`},null,512))}}),[[`__scopeId`,`data-v-8afc6c98`]]);const wi=T(ei,{shadowRoot:!1}),Ti=T(pi,{shadowRoot:!1}),Ei=T(xi,{shadowRoot:!1}),Di=T(Si,{shadowRoot:!1}),Oi=T(Ci,{shadowRoot:!1}),ki=[[`ml-video-player`,wi],[`ml-video-stage`,Ti],[`ml-video-placeholder`,Ei],[`ml-video-card`,Di],[`ml-video-hide-marker`,Oi]];function Ai(){for(let[e,t]of ki)customElements.get(e)||customElements.define(e,t)}typeof import.meta.url==`string`&&new URL(import.meta.url).searchParams.has(`defer`)||Ai();export{Oi as HideMarkerElement,Di as VideoCardElement,Ei as VideoPlaceholderElement,wi as VideoPlayerElement,Ti as VideoStageElement,Ai as defineElements,ve as registerPlatform,ce as resolvePlatform};
|