@munsonlabs/video-player 0.0.2 → 0.0.3

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 CHANGED
@@ -49,35 +49,38 @@ import '@munsonlabs/video-player/style'
49
49
 
50
50
  ## VideoItem / VideoPlayer Props
51
51
 
52
- | Prop | Type | Default | Description |
53
- | -------------- | -------------- | -------- | ----------------------------------------------------------------------------------------- |
54
- | `videoUrl` | `string` | — | **Required.** The video URL or platform-specific URI |
55
- | `platform` | `string` | — | `youtube` · `vimeo` · `dailymotion` · `brightcove` · `jwplayer` · `html5` |
56
- | `title` | `string` | `''` | Video title |
57
- | `poster` | `string` | `''` | Poster image URL |
58
- | `aspectRatio` | `string` | `'16:9'` | e.g. `'16:9'`, `'9:16'`, `'4:3'` |
59
- | `autoplay` | `boolean` | `false` | Autoplay on mount (mutes automatically) |
60
- | `muted` | `boolean` | `false` | Start muted |
61
- | `lazy` | `boolean` | `true` | Show placeholder until clicked |
62
- | `nativeUi` | `boolean` | `false` | Use the platform's native controls (YouTube, Vimeo, Dailymotion only) |
63
- | `autoStage` | `boolean` | `false` | Immediately send this video to the stage on mount |
64
- | `playbackRate` | `number` | `1` | Initial playback rate |
65
- | `adTagUrl` | `string` | `''` | VAST or VMAP ad tag URL |
66
- | `imaOptions` | `object` | `{}` | Extra options passed to the IMA plugin (e.g. `{ customParameters: { section: 'news' } }`) |
67
- | `techOptions` | `object` | `{}` | Extra options passed directly to Video.js |
68
- | `payload` | `object` | `{}` | Arbitrary data attached to every `state-change` event |
69
- | `action` | `PlayerAction` | `null` | Button shown in the player HUD — see [Actions](#actions) |
52
+ | Prop | Type | Default | Description |
53
+ | -------------- | -------------- | -------- | ---------------------------------------------------------------------------------------------------------- |
54
+ | `videoUrl` | `string` | — | **Required.** The video URL or platform-specific URI |
55
+ | `platform` | `string` | — | `youtube` · `vimeo` · `dailymotion` · `brightcove` · `jwplayer` · `html5` |
56
+ | `title` | `string` | `''` | Video title |
57
+ | `poster` | `string` | `''` | Poster image URL |
58
+ | `aspectRatio` | `string` | `'16:9'` | e.g. `'16:9'`, `'9:16'`, `'4:3'` |
59
+ | `autoplay` | `boolean` | `false` | Autoplay on mount (mutes automatically) |
60
+ | `muted` | `boolean` | `false` | Start muted |
61
+ | `lazy` | `boolean` | `true`\* | Show placeholder until clicked |
62
+ | `nativeUi` | `boolean` | `false` | Use the platform's native controls (YouTube, Vimeo, Dailymotion only) |
63
+ | `autoStage` | `boolean` | `false` | Immediately send this video to the stage on mount |
64
+ | `playbackRate` | `number` | `1` | Initial playback rate |
65
+ | `adTagUrl` | `string` | `''` | VAST or VMAP ad tag URL |
66
+ | `imaOptions` | `object` | `{}` | Extra options passed to the IMA plugin (e.g. `{ customParameters: { section: 'news' } }`) |
67
+ | `techOptions` | `object` | `{}` | Extra options passed directly to Video.js |
68
+ | `payload` | `object` | `{}` | Arbitrary data attached to every `state-change` event |
69
+ | `action` | `PlayerAction` | `null` | Button shown in the player HUD — see [Actions](#actions) |
70
+ | `focusMode` | `boolean` | `false` | The "show controls" button centers the video and renders controls below it — see [Focus mode](#focus-mode) |
71
+
72
+ \* `lazy` only has an effect on `VideoItem` (default `true`), which is what actually implements the placeholder-until-clicked behavior. `VideoPlayer` accepts the prop for type compatibility but defaults to `false` and never reads it — using `<VideoPlayer>` directly always mounts the real player immediately, regardless of `lazy`.
70
73
 
71
74
  ### Platform URLs
72
75
 
73
- | Platform | URL format |
74
- | ------------- | -------------------------------------------------- |
75
- | `youtube` | `https://www.youtube.com/watch?v=VIDEO_ID` |
76
- | `vimeo` | `https://vimeo.com/VIDEO_ID` |
77
- | `dailymotion` | `https://www.dailymotion.com/video/VIDEO_ID` |
78
- | `brightcove` | `brightcove://ACCOUNT_ID/PLAYER_ID/embed/VIDEO_ID` |
79
- | `jwplayer` | `https://cdn.jwplayer.com/videos/...` |
80
- | `html5` | Any direct MP4 / HLS URL |
76
+ | Platform | URL format |
77
+ | ------------- | -------------------------------------------------------------------------------------------------------- |
78
+ | `youtube` | `https://www.youtube.com/watch?v=VIDEO_ID` |
79
+ | `vimeo` | `https://vimeo.com/VIDEO_ID` |
80
+ | `dailymotion` | `https://www.dailymotion.com/video/VIDEO_ID` |
81
+ | `brightcove` | `brightcove://ACCOUNT_ID/PLAYER_ID/embed/VIDEO_ID` |
82
+ | `jwplayer` | `https://cdn.jwplayer.com/videos/...` · `https://cdn.jwplayer.com/manifests/...` · `jwplayer://MEDIA_ID` |
83
+ | `html5` | Any direct MP4 / HLS URL |
81
84
 
82
85
  ---
83
86
 
@@ -102,6 +105,8 @@ interface StateChangeEvent {
102
105
  | 'firstQuartile'
103
106
  | 'midpoint'
104
107
  | 'thirdQuartile'
108
+ | 'focusstart'
109
+ | 'focusend'
105
110
  currentTime: number
106
111
  duration: number
107
112
  src: string
@@ -114,12 +119,43 @@ interface StateChangeEvent {
114
119
 
115
120
  `firstQuartile` / `midpoint` / `thirdQuartile` fire once each as playback crosses 25%, 50%, and 75% of the video's duration — useful for analytics integrations that expect IAB-style progress milestones. They reset and can fire again on loop restart.
116
121
 
122
+ `focusstart` / `focusend` fire when [focus mode](#focus-mode) is entered/exited (only relevant if `focusMode` is set).
123
+
124
+ On `error`, the player shows a "Retry" button that re-attempts loading the current source. You can also trigger this yourself via a template ref on `VideoPlayer`, which exposes a `retry()` method along with `togglePlay()`, `seek()`, `toggleMute()`, `setVolume()`, `toggleFullscreen()`, `toggleLoop()`, and `setPlaybackRate()`. Note this is on `VideoPlayer` specifically — `VideoItem` doesn't forward a ref to it, since it may be showing a lazy placeholder instead:
125
+
126
+ ```vue
127
+ <script setup>
128
+ import { ref } from 'vue'
129
+ const player = ref(null)
130
+ </script>
131
+
132
+ <template>
133
+ <VideoPlayer ref="player" video-url="..." platform="html5" />
134
+ <button @click="player.retry()">Retry</button>
135
+ </template>
136
+ ```
137
+
117
138
  ```vue
118
139
  <VideoItem video-url="..." platform="html5" @state-change="onStateChange" />
119
140
  ```
120
141
 
121
142
  ---
122
143
 
144
+ ## Focus mode
145
+
146
+ Set `focusMode` to change what the "show controls" button (in the HUD row) does: instead of overlaying the expanded controls on top of the video, the video centers itself on the page and the controls bar renders below it, dimming the rest of the page behind a backdrop.
147
+
148
+ ```vue
149
+ <VideoItem video-url="..." platform="youtube" focus-mode />
150
+ ```
151
+
152
+ - The video's original spot in the page keeps its size (an empty placeholder box) so surrounding layout doesn't jump while it's centered.
153
+ - Clicking the backdrop, pressing `Escape`, or the close button in the controls bar all return it to its original position.
154
+ - The move is animated via the [View Transitions API](https://developer.mozilla.org/en-US/docs/Web/API/View_Transitions_API) where supported, falling back to an instant toggle otherwise.
155
+ - The video element itself is never moved in the DOM (no `Teleport`) — it's purely a CSS `position: fixed` toggle — so YouTube/Vimeo/Dailymotion iframes are never reloaded by entering or exiting focus mode.
156
+
157
+ ---
158
+
123
159
  ## Actions
124
160
 
125
161
  The `action` prop adds a button to the player HUD. Pass a built-in string or a custom action object.
@@ -0,0 +1 @@
1
+ import{c as e,o as t,r as n,t as r}from"./tech-DYVa4zaY.mjs";import{a as i,i as a}from"./constants-DZGeSme4.mjs";import{t as o}from"./loadScript-Du6JsTc2.mjs";import s from"video.js";const c=s.getTech(`Tech`);var l=class t extends c{constructor(e,t){super(e,t),this._currentTime=0,this._duration=0,this._volume=1,this._muted=!1,this._paused=!0,this._seeking=!1,this._dm=null,this.setSrc(this.options_.source),this.setTimeout(()=>{this.el_&&(this.el_.parentNode.classList.add(`vjs-dailymotion`),this.initPlayer())})}createEl(){let e=document.createElement(`div`);return e.setAttribute(`id`,this.options_.techId),e.setAttribute(`class`,`vjs-tech`),e.setAttribute(`style`,`position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden`),e}async initPlayer(){let e=this.options_,t=e.source?.dailymotion?.playerId;if(!this.videoId){s.log.error(`Dailymotion Tech: could not parse video ID from source URL`);return}this._playerId=t;let n=this.el_?.parentNode;for(;n&&!n.classList?.contains(`player__shell`);)n=n.parentNode;this._shell=n;try{let n=await o(t?`https://geo.dailymotion.com/libs/player/${t}.js`:`https://geo.dailymotion.com/libs/player.js`,t||`dailymotion-sdk`).then(()=>window.dailymotion);if(!this.el_)return;this._dm_sdk=n;let r=await n.createPlayer(this.options_.techId,{...t?{player:t}:{},video:this.videoId,params:{autoplay:!!e.autoplay,mute:!!e.muted}});if(!this.el_)return;this._dm=r;let{events:i}=this._dm_sdk;this.triggerReady(),this.playOnReady&&this.play(),r.on(i.PLAYER_CRITICALPATHREADY,e=>{let t=e.videoThumbnails;if(t){let e=t[Object.keys(t).map(Number).sort((e,t)=>t-e)[0]];e&&this.trigger({type:`posterchange`,src:e})}}),r.on(i.VIDEO_PLAY,()=>{this._paused=!1,this.trigger(`play`),this.trigger(`playing`)}),r.on(i.VIDEO_PLAYING,()=>{this._paused=!1,this.trigger(`play`),this.trigger(`playing`)}),r.on(i.VIDEO_PAUSE,()=>{this._paused=!0,this.trigger(`pause`)}),r.on(i.VIDEO_END,()=>{this._paused=!0,this.trigger(`ended`)}),r.on(i.VIDEO_TIMECHANGE,e=>{this._currentTime=e.videoTime??this._currentTime,this._duration=e.videoDuration??this._duration,this.trigger(`timeupdate`)}),r.on(i.VIDEO_DURATIONCHANGE,e=>{this._duration=e.videoDuration??this._duration,this.trigger(`durationchange`)}),r.on(i.VIDEO_SEEKSTART,()=>{this._seeking=!0,this.trigger(`seeking`)}),r.on(i.VIDEO_SEEKEND,e=>{this._seeking=!1,this._currentTime=e.videoTime??this._currentTime,this.trigger(`seeked`)}),r.on(i.PLAYER_VOLUMECHANGE,e=>{this._volume=e.playerVolume??this._volume,this._muted=e.playerIsMuted??this._muted,this.trigger(`volumechange`)}),r.on(i.PLAYER_ERROR,()=>this.trigger(`error`)),i.AD_START&&r.on(i.AD_START,()=>this.trigger(`adstart`)),i.AD_END&&r.on(i.AD_END,()=>this.trigger(`adend`))}catch(e){s.log.error(`Dailymotion:`,e.message)}}play(){this._dm?this._dm.play():this.playOnReady=!0}pause(){this._dm?.pause()}paused(){return this._paused}seeking(){return this._seeking}currentTime(){return this._currentTime}setCurrentTime(e){this._currentTime=e,this._dm?.seek(e),this._seeking=!0,this.trigger(`seeking`)}duration(){return this._duration}volume(){return this._volume}setVolume(e){this._volume=e,this._dm?.setVolume(e)}muted(){return this._muted}setMuted(e){this._muted=e,this._dm?.setMute(e)}playbackRate(){return 1}setPlaybackRate(){}buffered(){return s.createTimeRange(0,this._currentTime)}seekable(){return s.createTimeRange(0,this._duration)}currentSrc(){return this.source?.src??``}ended(){return!1}preload(){}load(){}reset(){}networkState(){return+!!this._dm}readyState(){return this._dm?4:0}supportsFullScreen(){return e()}enterFullscreen(){if(n()){this._spawnIosFullscreen();return}(this._shell?.requestFullscreen||this._shell?.webkitRequestFullscreen)?.call(this._shell)}exitFullscreen(){r()}_spawnIosFullscreen(){let e=this._currentTime;this._dm?.pause(),this.player_.trigger(a);let t=document.createElement(`div`);t.style.cssText=`position:fixed;inset:0;z-index:99999;opacity:0;pointer-events:none`,document.body.appendChild(t);let n=this._playerId?`https://geo.dailymotion.com/player/${this._playerId}.html?video=${this.videoId}&autoplay=1&startTime=${Math.floor(e)}`:`https://geo.dailymotion.com/player.html?video=${this.videoId}&autoplay=1&startTime=${Math.floor(e)}`,r=document.createElement(`iframe`);r.src=n,r.setAttribute(`allow`,`autoplay; fullscreen`),r.setAttribute(`allowfullscreen`,`true`),r.style.cssText=`width:100%;height:100%;border:0`,t.appendChild(r);let o=!1,s=()=>{o||(o=!0,document.removeEventListener(`fullscreenchange`,c),document.removeEventListener(`webkitfullscreenchange`,c),this.player_.trigger(i),t.remove(),this._dm?.seek(e),this._dm?.play())},c=()=>{!document.fullscreenElement&&!document.webkitFullscreenElement&&s()};document.addEventListener(`fullscreenchange`,c),document.addEventListener(`webkitfullscreenchange`,c),r.onload=()=>this.player_.trigger(`fullscreen-pending-done`)}setSrc(e){e?.src&&(this.source=e,this.videoId=t.parseVideoId(e.src),this.options_.autoplay&&(this.playOnReady=!0))}dispose(){this._dm?.destroy?.(),this._dm=null,this.el_?.parentNode?.classList.remove(`vjs-dailymotion`),c.prototype.dispose.call(this)}};l.isSupported=()=>!0,l.canPlayType=e=>e===`video/dailymotion`?`probably`:``,l.canPlaySource=({type:e,src:t})=>e===`video/dailymotion`?`probably`:/dailymotion\.com|dai\.ly/.test(t)?`maybe`:``,l.parseVideoId=e=>{let t=e.match(/[?&]video=([a-zA-Z0-9]+)/);if(t)return t[1];let n=e.match(/(?:dailymotion\.com\/(?:embed\/)?video\/|dai\.ly\/)([a-zA-Z0-9]+)/);return n?n[1]:null},t(`Dailymotion`,l);export{l as default};
@@ -0,0 +1 @@
1
+ import{a as e,t}from"./video.cjs-gZWrkL0e.mjs";import{c as n,o as r,r as i,t as a}from"./tech-hIKMwrTq.mjs";import{a as o,i as s}from"./constants-DZGeSme4.mjs";import{t as c}from"./loadScript-Du6JsTc2.mjs";var l=e(t(),1);const u=l.default.getTech(`Tech`);var d=class e extends u{constructor(e,t){super(e,t),this._currentTime=0,this._duration=0,this._volume=1,this._muted=!1,this._paused=!0,this._seeking=!1,this._dm=null,this.setSrc(this.options_.source),this.setTimeout(()=>{this.el_&&(this.el_.parentNode.classList.add(`vjs-dailymotion`),this.initPlayer())})}createEl(){let e=document.createElement(`div`);return e.setAttribute(`id`,this.options_.techId),e.setAttribute(`class`,`vjs-tech`),e.setAttribute(`style`,`position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden`),e}async initPlayer(){let e=this.options_,t=e.source?.dailymotion?.playerId;if(!this.videoId){l.default.log.error(`Dailymotion Tech: could not parse video ID from source URL`);return}this._playerId=t;let n=this.el_?.parentNode;for(;n&&!n.classList?.contains(`player__shell`);)n=n.parentNode;this._shell=n;try{let n=await c(t?`https://geo.dailymotion.com/libs/player/${t}.js`:`https://geo.dailymotion.com/libs/player.js`,t||`dailymotion-sdk`).then(()=>window.dailymotion);if(!this.el_)return;this._dm_sdk=n;let r=await n.createPlayer(this.options_.techId,{...t?{player:t}:{},video:this.videoId,params:{autoplay:!!e.autoplay,mute:!!e.muted}});if(!this.el_)return;this._dm=r;let{events:i}=this._dm_sdk;this.triggerReady(),this.playOnReady&&this.play(),r.on(i.PLAYER_CRITICALPATHREADY,e=>{let t=e.videoThumbnails;if(t){let e=t[Object.keys(t).map(Number).sort((e,t)=>t-e)[0]];e&&this.trigger({type:`posterchange`,src:e})}}),r.on(i.VIDEO_PLAY,()=>{this._paused=!1,this.trigger(`play`),this.trigger(`playing`)}),r.on(i.VIDEO_PLAYING,()=>{this._paused=!1,this.trigger(`play`),this.trigger(`playing`)}),r.on(i.VIDEO_PAUSE,()=>{this._paused=!0,this.trigger(`pause`)}),r.on(i.VIDEO_END,()=>{this._paused=!0,this.trigger(`ended`)}),r.on(i.VIDEO_TIMECHANGE,e=>{this._currentTime=e.videoTime??this._currentTime,this._duration=e.videoDuration??this._duration,this.trigger(`timeupdate`)}),r.on(i.VIDEO_DURATIONCHANGE,e=>{this._duration=e.videoDuration??this._duration,this.trigger(`durationchange`)}),r.on(i.VIDEO_SEEKSTART,()=>{this._seeking=!0,this.trigger(`seeking`)}),r.on(i.VIDEO_SEEKEND,e=>{this._seeking=!1,this._currentTime=e.videoTime??this._currentTime,this.trigger(`seeked`)}),r.on(i.PLAYER_VOLUMECHANGE,e=>{this._volume=e.playerVolume??this._volume,this._muted=e.playerIsMuted??this._muted,this.trigger(`volumechange`)}),r.on(i.PLAYER_ERROR,()=>this.trigger(`error`)),i.AD_START&&r.on(i.AD_START,()=>this.trigger(`adstart`)),i.AD_END&&r.on(i.AD_END,()=>this.trigger(`adend`))}catch(e){l.default.log.error(`Dailymotion:`,e.message)}}play(){this._dm?this._dm.play():this.playOnReady=!0}pause(){this._dm?.pause()}paused(){return this._paused}seeking(){return this._seeking}currentTime(){return this._currentTime}setCurrentTime(e){this._currentTime=e,this._dm?.seek(e),this._seeking=!0,this.trigger(`seeking`)}duration(){return this._duration}volume(){return this._volume}setVolume(e){this._volume=e,this._dm?.setVolume(e)}muted(){return this._muted}setMuted(e){this._muted=e,this._dm?.setMute(e)}playbackRate(){return 1}setPlaybackRate(){}buffered(){return l.default.createTimeRange(0,this._currentTime)}seekable(){return l.default.createTimeRange(0,this._duration)}currentSrc(){return this.source?.src??``}ended(){return!1}preload(){}load(){}reset(){}networkState(){return+!!this._dm}readyState(){return this._dm?4:0}supportsFullScreen(){return n()}enterFullscreen(){if(i()){this._spawnIosFullscreen();return}(this._shell?.requestFullscreen||this._shell?.webkitRequestFullscreen)?.call(this._shell)}exitFullscreen(){a()}_spawnIosFullscreen(){let e=this._currentTime;this._dm?.pause(),this.player_.trigger(s);let t=document.createElement(`div`);t.style.cssText=`position:fixed;inset:0;z-index:99999;opacity:0;pointer-events:none`,document.body.appendChild(t);let n=this._playerId?`https://geo.dailymotion.com/player/${this._playerId}.html?video=${this.videoId}&autoplay=1&startTime=${Math.floor(e)}`:`https://geo.dailymotion.com/player.html?video=${this.videoId}&autoplay=1&startTime=${Math.floor(e)}`,r=document.createElement(`iframe`);r.src=n,r.setAttribute(`allow`,`autoplay; fullscreen`),r.setAttribute(`allowfullscreen`,`true`),r.style.cssText=`width:100%;height:100%;border:0`,t.appendChild(r);let i=!1,a=()=>{i||(i=!0,document.removeEventListener(`fullscreenchange`,c),document.removeEventListener(`webkitfullscreenchange`,c),this.player_.trigger(o),t.remove(),this._dm?.seek(e),this._dm?.play())},c=()=>{!document.fullscreenElement&&!document.webkitFullscreenElement&&a()};document.addEventListener(`fullscreenchange`,c),document.addEventListener(`webkitfullscreenchange`,c),r.onload=()=>this.player_.trigger(`fullscreen-pending-done`)}setSrc(t){t?.src&&(this.source=t,this.videoId=e.parseVideoId(t.src),this.options_.autoplay&&(this.playOnReady=!0))}dispose(){this._dm?.destroy?.(),this._dm=null,this.el_?.parentNode?.classList.remove(`vjs-dailymotion`),u.prototype.dispose.call(this)}};d.isSupported=()=>!0,d.canPlayType=e=>e===`video/dailymotion`?`probably`:``,d.canPlaySource=({type:e,src:t})=>e===`video/dailymotion`?`probably`:/dailymotion\.com|dai\.ly/.test(t)?`maybe`:``,d.parseVideoId=e=>{let t=e.match(/[?&]video=([a-zA-Z0-9]+)/);if(t)return t[1];let n=e.match(/(?:dailymotion\.com\/(?:embed\/)?video\/|dai\.ly\/)([a-zA-Z0-9]+)/);return n?n[1]:null},r(`Dailymotion`,d);export{d as default};
@@ -23,6 +23,7 @@ interface PlayerProps {
23
23
  lazy?: boolean;
24
24
  payload?: Record<string, unknown>;
25
25
  action?: PlayerAction | null;
26
+ focusMode?: boolean;
26
27
  }
27
28
  //#endregion
28
29
  //#region src/element/index.d.ts
package/dist/element.mjs CHANGED
@@ -1 +1 @@
1
- import{a as e,t}from"./chunks/video.cjs-gZWrkL0e.mjs";import{i as n,n as r}from"./chunks/tech-hIKMwrTq.mjs";import{a as i,c as a,i as o,n as s,o as c,r as l,s as u,t as d}from"./chunks/constants-DZGeSme4.mjs";import{Fragment as f,Transition as p,computed as m,createBlock as h,createCommentVNode as g,createElementBlock as _,createElementVNode as v,createStaticVNode as y,createVNode as b,defineComponent as x,defineCustomElement as S,inject as C,mergeProps as w,nextTick as T,normalizeClass as E,normalizeProps as D,normalizeStyle as O,onBeforeUnmount as k,onMounted as A,openBlock as j,provide as M,reactive as N,ref as P,toDisplayString as F,toRef as I,unref as L,watch as R,withCtx as z,withModifiers as B}from"vue";import ee from"video.js/dist/video-js.css?inline";var te=e(t(),1);const V={},ne=[{test:e=>/youtu\.be|youtube\.com/.test(e),key:`youtube`,tech:`Youtube`,type:`video/youtube`,load:()=>import(`./chunks/youtube-VA8teDMJ.mjs`)},{test:e=>/vimeo\.com|player\.vimeo\.com/.test(e),key:`vimeo`,tech:`Vimeo`,type:`video/vimeo`,load:()=>import(`./chunks/vimeo-D1LvZaNd.mjs`)},{test:e=>/dailymotion\.com|dai\.ly/.test(e),key:`dailymotion`,tech:`Dailymotion`,type:`video/dailymotion`,load:()=>import(`./chunks/dailymotion-BhvOCSDo.mjs`)},{test:e=>/cdn\.jwplayer\.com/.test(e)||e.startsWith(`jwplayer://`),key:`jwplayer`,tech:null,type:`video/jwplayer`,load:()=>import(`./chunks/jwplayer-eDjA1f7V.mjs`)},{test:e=>e.startsWith(`brightcove://`),key:`brightcove`,tech:null,type:`video/brightcove`,load:()=>import(`./chunks/brightcove-mjKXQYMp.mjs`)}];async function re(e){let t=ne.find(t=>t.test(e));if(!t)return{tech:null,type:null,adTagUrl:null};V[t.key]||(V[t.key]=t.load());let n=null,{prefetchConfig:r}=await V[t.key];return r&&(n=(await r(e).catch(()=>null))?.adTagUrl??null),{tech:t.tech,type:t.type,adTagUrl:n}}const H=new Set([`Youtube`,`Vimeo`,`Dailymotion`]);function ie(e){return!H.has(e)}function U(){return window.google?.ima?Promise.resolve():new Promise((e,t)=>{let n=document.createElement(`script`);n.src=`https://imasdk.googleapis.com/js/sdkloader/ima3.js`,n.onload=e,n.onerror=()=>t(Error(`Failed to load Google IMA SDK`)),document.head.appendChild(n)})}async function ae(t,n){return!n||!ie(t)?!1:(await U(),await import(`./chunks/videojs.ads-jA_s2l9Y.mjs`).then(t=>e(t.default,1)),await import(`./chunks/videojs.ima-Ccon1y6f.mjs`).then(t=>e(t.default,1)),!0)}function oe(e,t,n={}){e.ima({adTagUrl:t,showControlsForJSAds:!1,...n})}const W=new Set;function se(e){return W.add(e),()=>W.delete(e)}function ce(e){W.forEach(t=>{if(t!==e)try{t()}catch{}})}function G(){try{return JSON.parse(localStorage.getItem(`player:positions`)??`[]`)}catch{return[]}}function K(e){localStorage.setItem(d,JSON.stringify(e))}function q(e,t){if(t<5)return;let n=G().filter(t=>t.url!==e);n.unshift({url:e,time:t}),K(n.slice(0,5))}function le(e){return G().find(t=>t.url===e)?.time??null}function ue(e){K(G().filter(t=>t.url!==e))}function de(e,t,n){let a=null,c=!1,u=null,d=null,f=null,p=new Set,h=[[.25,`firstQuartile`],[.5,`midpoint`],[.75,`thirdQuartile`]],g=P(!1),_=P(!1),v=P(!1),y=P(!1),b=P(0),x=P(0),S=P(0),C=P(1),w=P(t.muted??t.autoplay??!1),T=P(!1),E=P(t.playbackRate??1),D=P(!1),O=P(!1),j=P(!1),M=P(``),N=P(!1),F=P(!1),I=P(!1),L=m(()=>x.value?b.value/x.value*100:0),z=m(()=>Math.max(S.value,L.value)),B=()=>a.tech({IWillNotUseThisInPlugins:!0});function ee(){let e=B();if(typeof e?.enterFullscreen==`function`){e.enterFullscreen();return}let t=e?.el();if(typeof t?.webkitEnterFullscreen==`function`){t.webkitEnterFullscreen();return}a.requestFullscreen()}function V(){let e=B();typeof e?.exitFullscreen==`function`?e.exitFullscreen():a.exitFullscreen()}function ne(){a&&(F.value?V():ee())}function H(){let e=document;F.value=!!(document.fullscreenElement||e.webkitFullscreenElement)}function U(e,r={}){n(`state-change`,{type:e,currentTime:b.value,duration:x.value,src:t.videoUrl,...r,payload:t.payload})}function W(){if(!x.value)return;let e=b.value/x.value;for(let[t,n]of h)!p.has(t)&&e>=t&&(p.add(t),U(n))}function G(){!a||!f||(j.value=!1,M.value=``,a.src(f))}function K(){!a||!_.value||(a.paused()?a.play():a.pause())}function de(e){a?.currentTime(x.value*(e/100))}function fe(){a?.muted(!a.muted())}function J(e){a&&(a.volume(e),a.muted(e===0))}function Y(){T.value=!T.value}function X(e){a&&(a.playbackRate(e),E.value=e)}function Z(){a.ready(()=>{_.value=!0,D.value=!!B()?.featuresPlaybackRate});let e=()=>{let e=a.duration();e>0&&isFinite(e)&&(x.value=e)};a.on([`adstart`,l],()=>{ce(Q),v.value=!0,U(`adstart`)}),a.on([`adend`,s],()=>{v.value=!1,U(`adend`)}),a.on(`play`,()=>{if(ce(Q),O.value=!0,g.value=!0,!c){let e=le(t.videoUrl);e&&a.currentTime(e),c=!0}U(`play`)}),a.on(`pause`,()=>{g.value=!1,q(t.videoUrl,a.currentTime()),U(`pause`)}),a.on(`ended`,()=>{g.value=!1,p.clear(),T.value?(a.currentTime(0),a.play()):(ue(t.videoUrl),U(`ended`))}),a.on(`seeked`,()=>{U(`seeked`)}),a.on(`error`,()=>{let e=a.error();M.value=e?.message||`This video could not be played.`,j.value=!0,_.value=!0,U(`error`,{error:e})}),a.on(`waiting`,()=>{y.value=!0}),a.on(`playing`,()=>{y.value=!1}),a.on(`canplay`,()=>{y.value=!1}),a.on(`timeupdate`,()=>{b.value=a.currentTime(),x.value||e(),W()}),a.on(`durationchange`,e),a.on(`progress`,()=>{let e=a.duration();S.value=e?a.bufferedEnd()/e*100:0}),a.on(`volumechange`,()=>{let e=a.muted();C.value=a.volume(),w.value=e,O.value&&U(`volumechange`,{isMuted:e})}),a.on(`ratechange`,()=>{let e=a.playbackRate();E.value=e,O.value&&U(`ratechange`,{playbackRate:e})}),a.on(`fullscreenchange`,()=>{F.value=a.isFullscreen()}),a.on(o,()=>{I.value=!0}),a.on(i,()=>{I.value=!1})}function Q(){a?.pause()}R(()=>t.muted,e=>{!a||e===void 0||a.muted(e)}),R(()=>t.playbackRate,e=>{!a||e===void 0||a.playbackRate(e)}),A(async()=>{document.addEventListener(`fullscreenchange`,H),document.addEventListener(`webkitfullscreenchange`,H),document.addEventListener(`visibilitychange`,pe);let{tech:n,type:r,adTagUrl:i}=await re(t.videoUrl),o=n?[n,`Html5`]:[`Html5`],s=t.adTagUrl||i||``,c=await ae(n??`Html5`,s);if(!e.value)return;let l={src:t.videoUrl,...r&&{type:r}};f=l,N.value=!!(t.nativeUi&&!ie(n??``)),a=(0,te.default)(e.value,{techOrder:o,controls:!1,fluid:!0,aspectRatio:t.aspectRatio??`16:9`,poster:t.poster||``,playsinline:!0,autoplay:t.autoplay,muted:t.muted??t.autoplay,playbackRate:E.value,adTagUrl:s,youtube:{nativeUi:N.value},vimeo:{nativeUi:N.value},dailymotion:{nativeUi:N.value},...!c&&{sources:[l]},...t.techOptions}),c&&(oe(a,s,t.imaOptions??{}),a.src(l)),u=se(Q),Z(),d=new IntersectionObserver(([e])=>{!e.isIntersecting&&a&&!a.paused()&&!F.value&&a.pause()},{threshold:.1}),e.value&&d.observe(e.value)});function pe(){document.visibilityState===`hidden`&&a&&q(t.videoUrl,a.currentTime())}return k(()=>{a&&q(t.videoUrl,a.currentTime()),u?.(),d?.disconnect(),document.removeEventListener(`visibilitychange`,pe),document.removeEventListener(`fullscreenchange`,H),document.removeEventListener(`webkitfullscreenchange`,H),a?.dispose(),a=null}),{isPlaying:g,isReady:_,isAdPlaying:v,isBuffering:y,current:b,total:x,vol:C,isMuted:w,isLooping:T,playbackRate:E,hasStarted:O,isError:j,errorMessage:M,progress:L,bufferedDisplay:z,isFullscreen:F,isFullscreenPending:I,fmt:r,retry:G,togglePlay:K,seek:de,toggleMute:fe,setVolume:J,toggleFullscreen:ne,toggleLoop:Y,setPlaybackRate:X,supportsPlaybackRate:D,nativeUi:N}}function fe(e){let t=P(!0),n=P(!1),r=null;function i(e=3500){clearTimeout(r??void 0),r=setTimeout(()=>{t.value=!1,n.value=!1},e)}function a(){clearTimeout(r??void 0)}function o(){n.value=!0,t.value=!0,i()}function s(){n.value=!1,e.value&&i()}function c(){e.value&&i()}function l(){t.value=!0,e.value&&i()}function u(){t.value=!0,i()}function d(){e.value&&i(600)}return R(e,e=>{e?i():(clearTimeout(r??void 0),t.value=!0)}),k(()=>clearTimeout(r??void 0)),{showHUD:t,isOpen:n,scheduleHide:i,pauseHide:a,onVideoTap:l,onMouseMove:u,onMouseLeave:d,openControls:o,closeControls:s,keepOpen:c}}const J=Symbol(`player`),Y=Symbol(`hud`),X=Symbol(`action`);var Z=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n};const Q={},pe={viewBox:`0 0 24 24`,fill:`currentColor`};function me(e,t){return j(),_(`svg`,pe,[...t[0]||=[v(`path`,{d:`M8 5v14l11-7z`},null,-1)]])}var he=Z(Q,[[`render`,me]]);const ge={},_e={viewBox:`0 0 24 24`,fill:`currentColor`};function ve(e,t){return j(),_(`svg`,_e,[...t[0]||=[v(`path`,{d:`M6 19h4V5H6v14zm8-14v14h4V5h-4z`},null,-1)]])}var ye=Z(ge,[[`render`,ve]]);const be=[`aria-label`];var $=Z(x({__name:`PlayPauseButton`,props:{isPlaying:{type:Boolean,required:!0},size:{type:String,default:`sm`}},emits:[`toggle-play`],setup(e){return(t,n)=>(j(),_(`button`,{class:E([`ppbtn`,`ppbtn--${e.size}`]),"aria-label":e.isPlaying?`Pause`:`Play`,onClick:n[0]||=B(e=>t.$emit(`toggle-play`),[`stop`])},[e.isPlaying?(j(),h(ye,{key:0})):(j(),h(he,{key:1}))],10,be))}}),[[`__scopeId`,`data-v-85902525`]]);const xe={},Se={viewBox:`0 0 24 24`,fill:`currentColor`};function Ce(e,t){return j(),_(`svg`,Se,[...t[0]||=[v(`path`,{d:`M3 9v6h4l5 5V4L7 9H3zm13.5 3A4.5 4.5 0 0 0 14 7.97v8.05c1.48-.73 2.5-2.25 2.5-4.02z`},null,-1)]])}var we=Z(xe,[[`render`,Ce]]);const Te={},Ee={viewBox:`0 0 24 24`,fill:`currentColor`};function De(e,t){return j(),_(`svg`,Ee,[...t[0]||=[v(`path`,{d:`M16.5 12A4.5 4.5 0 0 0 14 7.97v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51A8.796 8.796 0 0 0 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3L3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06A8.99 8.99 0 0 0 17.73 18L19 19.27 20.27 18 5.27 3 4.27 3zM12 4L9.91 6.09 12 8.18V4z`},null,-1)]])}var Oe=Z(Te,[[`render`,De]]);const ke={},Ae={viewBox:`0 0 24 24`,fill:`currentColor`};function je(e,t){return j(),_(`svg`,Ae,[...t[0]||=[v(`path`,{d:`M7 7h10v3l4-4-4-4v3H5v6h2V7zm10 10H7v-3l-4 4 4 4v-3h12v-6h-2v4z`},null,-1)]])}var Me=Z(ke,[[`render`,je]]);const Ne={},Pe={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Fe(e,t){return j(),_(`svg`,Pe,[...t[0]||=[y(`<line x1="4" y1="6" x2="20" y2="6"></line><line x1="4" y1="12" x2="20" y2="12"></line><line x1="4" y1="18" x2="20" y2="18"></line><circle cx="9" cy="6" r="2.5" fill="currentColor" stroke="none"></circle><circle cx="15" cy="12" r="2.5" fill="currentColor" stroke="none"></circle><circle cx="9" cy="18" r="2.5" fill="currentColor" stroke="none"></circle>`,6)]])}var Ie=Z(Ne,[[`render`,Fe]]);const Le={class:`hud`},Re=[`aria-label`],ze=[`aria-label`],Be=[`aria-label`,`innerHTML`];var Ve=Z(x({__name:`HudButtons`,setup(e){let t=C(J),n=C(Y),r=C(X),i=m(()=>r?.value??null),a=m(()=>!!i.value&&typeof i.value==`object`),o=m(()=>a.value?i.value:null),s=m(()=>i.value===`mute`?t.isMuted?`Unmute`:`Mute`:i.value===`loop`?t.isLooping?`Disable loop`:`Loop`:``);function c(){i.value===`mute`?t.toggleMute():i.value===`loop`&&t.toggleLoop()}return(e,r)=>(j(),_(`div`,Le,[g(` Built-in: mute `),i.value===`mute`?(j(),_(`button`,{key:0,class:E([`hud__btn`,{"hud__btn--active":L(t).isMuted}]),"aria-label":s.value,onClick:B(c,[`stop`])},[!L(t).isMuted&&L(t).vol>0?(j(),h(we,{key:0})):(j(),h(Oe,{key:1}))],10,Re)):i.value===`loop`?(j(),_(f,{key:1},[g(` Built-in: loop `),v(`button`,{class:E([`hud__btn`,{"hud__btn--active":L(t).isLooping}]),"aria-label":s.value,onClick:B(c,[`stop`])},[b(Me)],10,ze)],2112)):a.value&&o.value?(j(),_(f,{key:2},[g(` Custom action `),v(`button`,{class:`hud__btn`,"aria-label":o.value.label,onClick:r[0]||=B(e=>o.value.onClick(),[`stop`]),innerHTML:o.value.icon},null,8,Be)],2112)):(j(),_(f,{key:3},[g(` No action — spacer keeps layout balanced `),r[2]||=v(`div`,{class:`hud__spacer`},null,-1)],2112)),b($,{"is-playing":L(t).isPlaying,size:`lg`,onTogglePlay:L(t).togglePlay},null,8,[`is-playing`,`onTogglePlay`]),v(`button`,{class:`hud__btn`,"aria-label":`Show controls`,onClick:r[1]||=B((...e)=>L(n).openControls&&L(n).openControls(...e),[`stop`])},[b(Ie)])]))}}),[[`__scopeId`,`data-v-a6d118e7`]]);const He={},Ue={viewBox:`0 0 24 24`,fill:`currentColor`};function We(e,t){return j(),_(`svg`,Ue,[...t[0]||=[v(`path`,{d:`M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z`},null,-1)]])}var Ge=Z(He,[[`render`,We]]);const Ke={},qe={viewBox:`0 0 24 24`,fill:`currentColor`};function Je(e,t){return j(),_(`svg`,qe,[...t[0]||=[v(`path`,{d:`M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z`},null,-1)]])}var Ye=Z(Ke,[[`render`,Je]]);const Xe={},Ze={viewBox:`0 0 24 24`,fill:`currentColor`};function Qe(e,t){return j(),_(`svg`,Ze,[...t[0]||=[v(`path`,{d:`M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z`},null,-1)]])}var $e=Z(Xe,[[`render`,Qe]]);const et={},tt={viewBox:`0 0 24 24`,fill:`currentColor`};function nt(e,t){return j(),_(`svg`,tt,[...t[0]||=[v(`path`,{d:`M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z`},null,-1)]])}var rt=Z(et,[[`render`,nt]]);const it={class:`controls__vol-header`},at=[`aria-label`],ot={class:`controls__vol-body`},st=[`value`],ct={class:`controls__vol-pct`},lt=[`value`],ut={class:`controls__row`},dt={class:`controls__play-wrap`},ft={key:0,class:`controls__buf-spinner`},pt={class:`controls__time`},mt={key:2,class:`controls__fs-wrap`},ht={key:0,class:`controls__fs-spinner`},gt=[`aria-label`];var _t=Z(x({__name:`ControlsPopup`,setup(e){let t=C(J),n=C(Y),r=C(`compact`),i=P(!1),a=P(null);k(()=>{i.value=!1});function o(e){if(!document.startViewTransition||!a.value){e();return}a.value.style.viewTransitionName=`controls-popup`,document.startViewTransition(async()=>{e(),await T()}).finished.finally(()=>{a.value&&(a.value.style.viewTransitionName=``)})}let s=m(()=>t.isMuted?0:Math.round(t.vol*100)),c=null;function l(){c=setTimeout(()=>{c=null,o(()=>{i.value=!0})},350)}function u(){c&&(clearTimeout(c),c=null,t.toggleMute())}function d(){clearTimeout(c),c=null}function p(e){t.seek(Number(e.target.value))}function y(e){t.setVolume(Number(e.target.value)/100)}let x=[.5,.75,1,1.25,1.5,2];function S(){let e=x[(x.indexOf(t.playbackRate)+1)%x.length];t.setPlaybackRate(e)}function w(e){return e===1?`1×`:`${e}×`}return(e,c)=>(j(),_(`div`,{ref_key:`popupEl`,ref:a,class:E([`controls`,{"controls--fs":L(t).isFullscreen}]),onMousemove:c[14]||=B((...e)=>L(n).keepOpen&&L(n).keepOpen(...e),[`stop`])},[i.value?(j(),_(f,{key:0},[v(`div`,it,[v(`button`,{class:`controls__btn`,"aria-label":`Back`,onClick:c[0]||=e=>o(()=>i.value=!1)},[b(Ye)]),c[15]||=v(`span`,{class:`controls__vol-label`},`Volume`,-1),v(`button`,{class:`controls__btn`,"aria-label":L(t).isMuted?`Unmute`:`Mute`,onClick:c[1]||=e=>L(t).toggleMute()},[!L(t).isMuted&&L(t).vol>0?(j(),h(we,{key:0})):(j(),h(Oe,{key:1}))],8,at)]),v(`div`,ot,[v(`input`,{type:`range`,min:`0`,max:`100`,step:`1`,value:s.value,class:`controls__vol-slider`,style:O({"--v":s.value+`%`}),"aria-label":`Volume`,onInput:y,onMousedown:c[2]||=e=>L(n).pauseHide(),onMouseup:c[3]||=e=>L(n).scheduleHide(),onTouchstartPassive:c[4]||=e=>L(n).pauseHide(),onTouchend:c[5]||=e=>L(n).scheduleHide()},null,44,st),v(`span`,ct,F(s.value)+`%`,1)])],64)):(j(),_(f,{key:1},[L(r)?g(`v-if`,!0):(j(),_(`input`,{key:0,type:`range`,min:`0`,max:`100`,value:L(t).progress,class:`controls__seek`,style:O({"--p":L(t).progress+`%`,"--b":L(t).bufferedDisplay+`%`}),onInput:p,onMousedown:c[6]||=e=>L(n).pauseHide(),onMouseup:c[7]||=e=>L(n).scheduleHide(),onTouchstartPassive:c[8]||=e=>L(n).pauseHide(),onTouchend:c[9]||=e=>L(n).scheduleHide()},null,44,lt)),v(`div`,ut,[v(`div`,dt,[L(t).isBuffering?(j(),_(`div`,ft)):(j(),h($,{key:1,"is-playing":L(t).isPlaying,size:`sm`,onTogglePlay:c[10]||=e=>L(t).togglePlay()},null,8,[`is-playing`]))]),v(`span`,pt,F(L(t).fmt(L(t).current))+` / `+F(L(t).fmt(L(t).total)),1),!L(r)&&L(t).supportsPlaybackRate?(j(),_(`button`,{key:0,class:E([`controls__btn controls__btn--rate`,{"controls__btn--active":L(t).playbackRate!==1}]),"aria-label":`Playback rate`,onClick:S},F(w(L(t).playbackRate)),3)):g(`v-if`,!0),L(r)?g(`v-if`,!0):(j(),_(`button`,{key:1,class:E([`controls__btn`,{"controls__btn--active":L(t).isLooping}]),"aria-label":`Toggle loop`,onClick:c[11]||=e=>L(t).toggleLoop()},[b(Me)],2)),v(`button`,{class:`controls__btn`,"aria-label":`Volume`,onMousedown:l,onMouseup:u,onMouseleave:d,onTouchstartPassive:l,onTouchend:B(u,[`prevent`]),onTouchcancel:d},[!L(t).isMuted&&L(t).vol>0?(j(),h(we,{key:0})):(j(),h(Oe,{key:1}))],32),L(r)?g(`v-if`,!0):(j(),_(`div`,mt,[L(t).isFullscreenPending?(j(),_(`div`,ht)):(j(),_(`button`,{key:1,class:`controls__btn`,"aria-label":L(t).isFullscreen?`Exit fullscreen`:`Fullscreen`,onClick:c[12]||=e=>L(t).toggleFullscreen()},[L(t).isFullscreen?(j(),h(rt,{key:0})):(j(),h($e,{key:1}))],8,gt))])),v(`button`,{class:`controls__btn controls__btn--close`,"aria-label":`Close`,onClick:c[13]||=e=>L(n).closeControls()},[b(Ge)])])],64))],34))}}),[[`__scopeId`,`data-v-5712aad4`]]);const vt={key:0,class:`overlay__spinner`},yt={key:0,class:`overlay__error`};var bt=Z(x({__name:`PlayerOverlay`,setup(e){let t=C(J),n=C(Y);return(e,r)=>(j(),_(f,null,[g(` Inactive until content has started so platform ad UIs (skip buttons etc.) remain reachable `),v(`div`,{class:`overlay__tap-capture`,style:O({pointerEvents:!L(t).hasStarted||L(t).isAdPlaying?`none`:void 0}),onClick:r[0]||=(...e)=>L(n).onVideoTap&&L(n).onVideoTap(...e),onTouchend:r[1]||=B((...e)=>L(n).onVideoTap&&L(n).onVideoTap(...e),[`prevent`,`stop`])},null,36),b(p,{name:`fade`},{default:z(()=>[!L(t).isReady&&!L(t).isError?(j(),_(`div`,vt,[...r[4]||=[v(`div`,{class:`overlay__spinner-ring`},null,-1)]])):g(`v-if`,!0)]),_:1}),b(p,{name:`fade`},{default:z(()=>[L(t).isError?(j(),_(`div`,yt,[v(`p`,null,F(L(t).errorMessage||`This video could not be played.`),1),v(`button`,{class:`overlay__retry`,onClick:r[2]||=B((...e)=>L(t).retry&&L(t).retry(...e),[`stop`])},`Retry`)])):g(`v-if`,!0)]),_:1}),g(` Hidden in fullscreen while the controls popup is open `),v(`div`,{class:E([`overlay__hud`,{"overlay__hud--visible":L(n).showHUD&&L(t).isReady&&!L(t).isError&&!(L(n).isOpen&&L(t).isFullscreen)}])},[b(Ve)],2),b(p,{name:`popup`},{default:z(()=>[L(n).isOpen&&L(t).isReady&&!L(t).isError?(j(),_(`div`,{key:0,class:E([`overlay__popup`,{"overlay__popup--fs":L(t).isFullscreen}]),onClick:r[3]||=B(()=>{},[`stop`])},[b(_t)],2)):g(`v-if`,!0)]),_:1})],64))}}),[[`__scopeId`,`data-v-f3307b98`]]);const xt={class:`player`},St={"data-vjs-player":``},Ct={key:1,class:`player__native-play`};var wt=Z(x({__name:`VideoPlayer`,props:{videoUrl:{type:String,required:!0},title:{type:String,required:!1,default:``},poster:{type:String,required:!1,default:``},aspectRatio:{type:String,required:!1,default:`16:9`},platform:{type:String,required:!1,default:``},techOptions:{type:Object,required:!1,default:()=>({})},adTagUrl:{type:String,required:!1,default:``},imaOptions:{type:Object,required:!1},autoplay:{type:Boolean,required:!1,default:!1},muted:{type:Boolean,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1,default:!1},autoStage:{type:Boolean,required:!1,default:!1},lazy:{type:Boolean,required:!1,default:!1},payload:{type:Object,required:!1,default:()=>({})},action:{type:[String,Object,null],required:!1,default:null}},emits:[`state-change`],setup(e,{expose:t,emit:r}){let i=e,a=r,o=P(null),s=N(de(o,i,a)),c=N(fe(I(s,`isPlaying`)));M(J,s),M(Y,c),M(X,I(i,`action`));let{isPortrait:l,cssRatio:u}=n(i.aspectRatio);return t(s),(e,t)=>(j(),_(`div`,xt,[v(`div`,{class:E([`player__shell`,{"player__shell--portrait":L(l)}]),style:O({aspectRatio:L(u)}),onMousemove:t[0]||=e=>c.onMouseMove(),onContextmenuCapture:t[1]||=B(()=>{},[`prevent`]),onMouseleave:t[2]||=e=>c.onMouseLeave()},[v(`div`,St,[v(`video`,{ref_key:`videoEl`,ref:o,class:`video-js`,playsinline:``},null,512),s.nativeUi?g(`v-if`,!0):(j(),h(bt,{key:0})),s.nativeUi&&!s.hasStarted?(j(),_(`div`,Ct,[b($,{"is-playing":!1,size:`lg`,onTogglePlay:s.togglePlay},null,8,[`onTogglePlay`])])):g(`v-if`,!0)])],38)]))}}),[[`__scopeId`,`data-v-4ab3cf75`]]);const Tt=P(0),Et=m(()=>Tt.value>0);function Dt(){Tt.value++}function Ot(){Tt.value--}const kt=[`src`],At={class:`stage__idle-body`},jt={class:`stage__idle-btn`},Mt={class:`stage__idle-title`},Nt={key:1,class:`stage__idle-empty`};var Pt=Z(x({__name:`VideoStage`,emits:[`state-change`],setup(e,{emit:t}){let n=t,r=P(null),i=P(null),o=P(!1),s=P(!1),l=P(null),d=P(null),p=P(!1),m=P(null);M(`compact`,p);let y=null;R(p,e=>{m.value=e&&d.value?d.value.offsetHeight:null});function x(){y?.disconnect(),l.value&&(y=new IntersectionObserver(([e])=>{p.value=!e.isIntersecting},{threshold:1}),y.observe(l.value))}R(l,x);function S(){i.value&&(i.value={...i.value,autoplay:!0},o.value=!0)}function C(){i.value=null,o.value=!1,s.value=!1,p.value=!1,m.value=null,T()}function T(){window.dispatchEvent(new CustomEvent(u,{detail:{currentVideoUrl:i.value?.videoUrl??null,isPlaying:s.value}}))}function D(e){let t=e.detail;if(i.value?.videoUrl===t.videoUrl&&o.value){r.value?.togglePlay();return}i.value=t,o.value=!1,s.value=!1,T(),o.value=!0}function N(e){let t=e.detail;!i.value||t.videoUrl!==i.value.videoUrl||(o.value?r.value?.togglePlay():(i.value={...i.value,autoplay:!0},o.value=!0))}function I(e){e.type===`play`&&(s.value=!0),(e.type===`pause`||e.type===`ended`)&&(s.value=!1),T(),n(`state-change`,e)}return A(()=>{Dt(),window.addEventListener(c,D),window.addEventListener(a,N)}),k(()=>{Ot(),window.removeEventListener(c,D),window.removeEventListener(a,N),y?.disconnect()}),(e,t)=>(j(),_(`div`,{ref_key:`wrapperEl`,ref:l,class:`stage-wrapper`,style:O(m.value?{height:m.value+`px`}:{})},[v(`div`,{ref_key:`stageEl`,ref:d,class:E([`stage`,{"stage--minified":p.value&&i.value&&o.value}])},[p.value&&i.value&&o.value?(j(),_(`button`,{key:0,class:`stage__dismiss`,"aria-label":`Close`,onClick:B(C,[`stop`])},[b(Ge)])):g(`v-if`,!0),i.value&&o.value?(j(),h(wt,w({ref_key:`playerRef`,ref:r,key:i.value.videoUrl},i.value,{onStateChange:I}),null,16)):(j(),_(`div`,{key:2,class:`stage__idle`,style:O({aspectRatio:i.value?.aspectRatio||`16:9`}),onClick:S},[i.value?.poster?(j(),_(`img`,{key:0,src:i.value.poster,class:`stage__idle-poster`},null,8,kt)):g(`v-if`,!0),t[0]||=v(`div`,{class:`stage__idle-scrim`},null,-1),v(`div`,At,[i.value?(j(),_(f,{key:0},[v(`div`,jt,[b(he)]),v(`p`,Mt,F(i.value.title),1)],64)):(j(),_(`p`,Nt,`Select a video to play`))])],4))],2)],4))}}),[[`__scopeId`,`data-v-fb8c86cf`]]);const Ft={class:`placeholder`},It=[`src`,`alt`],Lt={class:`placeholder__btn-wrap`},Rt={key:2,class:`placeholder__footer`},zt={class:`placeholder__title`};var Bt=Z(x({__name:`VideoPlaceholder`,props:{videoUrl:{type:String,required:!0},title:{type:String,required:!1,default:``},poster:{type:String,required:!1,default:``},aspectRatio:{type:String,required:!1,default:`16:9`},platform:{type:String,required:!1,default:``},techOptions:{type:Object,required:!1,default:()=>({})},adTagUrl:{type:String,required:!1,default:``},imaOptions:{type:Object,required:!1},autoplay:{type:Boolean,required:!1,default:!1},muted:{type:Boolean,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1,default:!1},autoStage:{type:Boolean,required:!1,default:!1},lazy:{type:Boolean,required:!1},payload:{type:Object,required:!1,default:()=>({})},action:{type:[String,Object,null],required:!1,default:null}},setup(e){let t=e,{isPortrait:r,cssRatio:i}=n(t.aspectRatio),a=P(!1),o=P(!1);function s(e){let n=e.detail;a.value=n.currentVideoUrl===t.videoUrl,o.value=a.value&&n.isPlaying}function l(e){window.dispatchEvent(new CustomEvent(c,{detail:{...t,...e!==void 0&&{autoplay:e}}}))}function d(){l(!0)}return A(()=>{window.addEventListener(u,s),t.autoStage&&l()}),k(()=>window.removeEventListener(u,s)),(t,n)=>(j(),_(`div`,Ft,[v(`div`,{class:E([`placeholder__shell`,{"placeholder__shell--portrait":L(r),"placeholder__shell--active":a.value}]),style:O({aspectRatio:L(i)}),onClick:d},[e.poster?(j(),_(`img`,{key:0,class:`placeholder__poster`,src:e.poster,alt:e.title},null,8,It)):g(`v-if`,!0),n[0]||=v(`div`,{class:`placeholder__scrim`},null,-1),e.platform?(j(),_(`span`,{key:1,class:E([`placeholder__badge`,`badge--${e.platform}`])},F(e.platform),3)):g(`v-if`,!0),v(`div`,Lt,[b($,{"is-playing":a.value&&o.value,size:`lg`,onTogglePlay:d},null,8,[`is-playing`])]),e.title?(j(),_(`div`,Rt,[v(`p`,zt,F(e.title),1)])):g(`v-if`,!0)],6)]))}}),[[`__scopeId`,`data-v-dbcb4f82`]]),Vt=x({__name:`VideoItem`,props:{videoUrl:{type:String,required:!0},title:{type:String,required:!1},poster:{type:String,required:!1},aspectRatio:{type:String,required:!1},platform:{type:String,required:!1},techOptions:{type:Object,required:!1},adTagUrl:{type:String,required:!1},imaOptions:{type:Object,required:!1},autoplay:{type:Boolean,required:!1},muted:{type:Boolean,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1},autoStage:{type:Boolean,required:!1},lazy:{type:Boolean,required:!1,default:!0},payload:{type:Object,required:!1},action:{type:[String,Object,null],required:!1,default:null}},emits:[`state-change`],setup(e,{emit:t}){let n=e,r=t,i=P(!1);return(e,t)=>L(Et)?(j(),h(Bt,D(w({key:0},e.$props)),null,16)):(j(),_(f,{key:1},[n.lazy&&!i.value&&!n.autoplay?(j(),h(Bt,w({key:0},e.$props,{onClickCapture:t[0]||=e=>i.value=!0}),null,16)):(j(),h(wt,w({key:1},n,{autoplay:i.value||n.autoplay,onStateChange:t[1]||=e=>r(`state-change`,e)}),null,16,[`autoplay`]))],64))}});const Ht=S(wt,{shadowRoot:!1,styles:[ee]}),Ut=S(Pt,{shadowRoot:!1}),Wt=S(Bt,{shadowRoot:!1}),Gt=S(Vt,{shadowRoot:!1});customElements.define(`video-player`,Ht),customElements.define(`video-stage`,Ut),customElements.define(`video-placeholder`,Wt),customElements.define(`video-item`,Gt);export{Gt as VideoItemElement,Wt as VideoPlaceholderElement,Ht as VideoPlayerElement,Ut as VideoStageElement};
1
+ import{a as e,t}from"./chunks/video.cjs-gZWrkL0e.mjs";import{i as n,n as r}from"./chunks/tech-hIKMwrTq.mjs";import{a as i,c as a,i as o,n as s,o as c,r as l,s as u,t as d}from"./chunks/constants-DZGeSme4.mjs";import{Fragment as f,Transition as p,computed as m,createBlock as h,createCommentVNode as g,createElementBlock as _,createElementVNode as v,createStaticVNode as y,createVNode as b,defineComponent as x,defineCustomElement as S,inject as C,mergeProps as w,nextTick as T,normalizeClass as E,normalizeProps as D,normalizeStyle as O,onBeforeUnmount as k,onMounted as A,openBlock as j,provide as M,reactive as N,ref as P,toDisplayString as F,toRef as I,unref as L,watch as R,withCtx as z,withModifiers as B}from"vue";import V from"video.js/dist/video-js.css?inline";var ee=e(t(),1);const H={},te=[{test:e=>/youtu\.be|youtube\.com/.test(e),key:`youtube`,tech:`Youtube`,type:`video/youtube`,load:()=>import(`./chunks/youtube-VA8teDMJ.mjs`)},{test:e=>/vimeo\.com|player\.vimeo\.com/.test(e),key:`vimeo`,tech:`Vimeo`,type:`video/vimeo`,load:()=>import(`./chunks/vimeo-D1LvZaNd.mjs`)},{test:e=>/dailymotion\.com|dai\.ly/.test(e),key:`dailymotion`,tech:`Dailymotion`,type:`video/dailymotion`,load:()=>import(`./chunks/dailymotion-IIBJUr8H.mjs`)},{test:e=>/cdn\.jwplayer\.com/.test(e)||e.startsWith(`jwplayer://`),key:`jwplayer`,tech:null,type:`video/jwplayer`,load:()=>import(`./chunks/jwplayer-eDjA1f7V.mjs`)},{test:e=>e.startsWith(`brightcove://`),key:`brightcove`,tech:null,type:`video/brightcove`,load:()=>import(`./chunks/brightcove-mjKXQYMp.mjs`)}];async function ne(e){let t=te.find(t=>t.test(e));if(!t)return{tech:null,type:null,adTagUrl:null};H[t.key]||(H[t.key]=t.load());let n=null,{prefetchConfig:r}=await H[t.key];return r&&(n=(await r(e).catch(()=>null))?.adTagUrl??null),{tech:t.tech,type:t.type,adTagUrl:n}}const re=new Set([`Youtube`,`Vimeo`,`Dailymotion`]);function ie(e){return!re.has(e)}function U(){return window.google?.ima?Promise.resolve():new Promise((e,t)=>{let n=document.createElement(`script`);n.src=`https://imasdk.googleapis.com/js/sdkloader/ima3.js`,n.onload=e,n.onerror=()=>t(Error(`Failed to load Google IMA SDK`)),document.head.appendChild(n)})}async function ae(t,n){return!n||!ie(t)?!1:(await U(),await import(`./chunks/videojs.ads-jA_s2l9Y.mjs`).then(t=>e(t.default,1)),await import(`./chunks/videojs.ima-Ccon1y6f.mjs`).then(t=>e(t.default,1)),!0)}function oe(e,t,n={}){e.ima({adTagUrl:t,showControlsForJSAds:!1,...n})}const W=new Set;function se(e){return W.add(e),()=>W.delete(e)}function ce(e){W.forEach(t=>{if(t!==e)try{t()}catch{}})}function G(){try{return JSON.parse(localStorage.getItem(`player:positions`)??`[]`)}catch{return[]}}function K(e){localStorage.setItem(d,JSON.stringify(e))}function q(e,t){if(t<5)return;let n=G().filter(t=>t.url!==e);n.unshift({url:e,time:t}),K(n.slice(0,5))}function le(e){return G().find(t=>t.url===e)?.time??null}function ue(e){K(G().filter(t=>t.url!==e))}function de(e,t,n){let a=null,c=!1,u=null,d=null,f=null,p=null,h=new Set,g=[[.25,`firstQuartile`],[.5,`midpoint`],[.75,`thirdQuartile`]],_=P(!1),v=P(!1),y=P(!1),b=P(!1),x=P(0),S=P(0),C=P(0),w=P(1),T=P(t.muted??t.autoplay??!1),E=P(!1),D=P(t.playbackRate??1),O=P(!1),j=P(!1),M=P(!1),N=P(``),F=P(!1),I=P(!1),L=P(!1),z=m(()=>S.value?x.value/S.value*100:0),B=m(()=>Math.max(C.value,z.value)),V=()=>a.tech({IWillNotUseThisInPlugins:!0});function H(){let e=V();if(typeof e?.enterFullscreen==`function`){e.enterFullscreen();return}let t=e?.el();if(typeof t?.webkitEnterFullscreen==`function`){t.webkitEnterFullscreen();return}a.requestFullscreen()}function te(){let e=V();typeof e?.exitFullscreen==`function`?e.exitFullscreen():a.exitFullscreen()}function re(){a&&(I.value?te():H())}function U(){let e=document;I.value=!!(document.fullscreenElement||e.webkitFullscreenElement)}function W(e,r={}){n(`state-change`,{type:e,currentTime:x.value,duration:S.value,src:t.videoUrl,...r,payload:t.payload})}function G(){if(!S.value)return;let e=x.value/S.value;for(let[t,n]of g)!h.has(t)&&e>=t&&(h.add(t),W(n))}function K(){!a||!f||(M.value=!1,N.value=``,a.src(f))}function de(){!a||!v.value||(a.paused()?a.play():a.pause())}function fe(e){a?.currentTime(S.value*(e/100))}function J(){a?.muted(!a.muted())}function Y(e){a&&(a.volume(e),a.muted(e===0))}function X(){E.value=!E.value}function Z(e){a&&(a.playbackRate(e),D.value=e)}function pe(){a.ready(()=>{v.value=!0,O.value=!!V()?.featuresPlaybackRate});let e=()=>{let e=a.duration();e>0&&isFinite(e)&&(S.value=e)};a.on([`adstart`,l],()=>{ce(Q),y.value=!0,W(`adstart`)}),a.on([`adend`,s],()=>{y.value=!1,W(`adend`)}),a.on(`play`,()=>{if(ce(Q),j.value=!0,_.value=!0,!c){let e=le(t.videoUrl);e&&a.currentTime(e),c=!0}W(`play`)}),a.on(`pause`,()=>{_.value=!1,q(t.videoUrl,a.currentTime()),W(`pause`)}),a.on(`ended`,()=>{_.value=!1,h.clear(),E.value?(a.currentTime(0),a.play()):(ue(t.videoUrl),W(`ended`))}),a.on(`seeked`,()=>{W(`seeked`)}),a.on(`error`,()=>{let e=a.error();N.value=e?.message||`This video could not be played.`,M.value=!0,v.value=!0,W(`error`,{error:e})}),a.on(`waiting`,()=>{clearTimeout(p??void 0),p=setTimeout(()=>{b.value=!0},200)}),a.on(`playing`,()=>{clearTimeout(p??void 0),b.value=!1}),a.on(`canplay`,()=>{clearTimeout(p??void 0),b.value=!1}),a.on(`timeupdate`,()=>{x.value=a.currentTime(),S.value||e(),G()}),a.on(`durationchange`,e),a.on(`progress`,()=>{let e=a.duration();C.value=e?a.bufferedEnd()/e*100:0}),a.on(`volumechange`,()=>{let e=a.muted();w.value=a.volume(),T.value=e,j.value&&W(`volumechange`,{isMuted:e})}),a.on(`ratechange`,()=>{let e=a.playbackRate();D.value=e,j.value&&W(`ratechange`,{playbackRate:e})}),a.on(`fullscreenchange`,()=>{I.value=a.isFullscreen()}),a.on(o,()=>{L.value=!0}),a.on(i,()=>{L.value=!1})}function Q(){a?.pause()}R(()=>t.muted,e=>{!a||e===void 0||a.muted(e)}),R(()=>t.playbackRate,e=>{!a||e===void 0||a.playbackRate(e)}),A(async()=>{document.addEventListener(`fullscreenchange`,U),document.addEventListener(`webkitfullscreenchange`,U),document.addEventListener(`visibilitychange`,me);let{tech:n,type:r,adTagUrl:i}=await ne(t.videoUrl),o=n?[n,`Html5`]:[`Html5`],s=t.adTagUrl||i||``,c=await ae(n??`Html5`,s);if(!e.value)return;let l={src:t.videoUrl,...r&&{type:r}};f=l,F.value=!!(t.nativeUi&&!ie(n??``)),a=(0,ee.default)(e.value,{techOrder:o,controls:!1,fluid:!0,aspectRatio:t.aspectRatio??`16:9`,poster:t.poster||``,playsinline:!0,autoplay:t.autoplay,muted:t.muted??t.autoplay,playbackRate:D.value,adTagUrl:s,youtube:{nativeUi:F.value},vimeo:{nativeUi:F.value},dailymotion:{nativeUi:F.value},...!c&&{sources:[l]},...t.techOptions}),c&&(oe(a,s,t.imaOptions??{}),a.src(l)),u=se(Q),pe(),d=new IntersectionObserver(([e])=>{!e.isIntersecting&&a&&!a.paused()&&!I.value&&a.pause()},{threshold:.1}),e.value&&d.observe(e.value)});function me(){document.visibilityState===`hidden`&&a&&q(t.videoUrl,a.currentTime())}return k(()=>{a&&q(t.videoUrl,a.currentTime()),clearTimeout(p??void 0),u?.(),d?.disconnect(),document.removeEventListener(`visibilitychange`,me),document.removeEventListener(`fullscreenchange`,U),document.removeEventListener(`webkitfullscreenchange`,U),a?.dispose(),a=null}),{isPlaying:_,isReady:v,isAdPlaying:y,isBuffering:b,current:x,total:S,vol:w,isMuted:T,isLooping:E,playbackRate:D,hasStarted:j,isError:M,errorMessage:N,progress:z,bufferedDisplay:B,isFullscreen:I,isFullscreenPending:L,fmt:r,fire:W,retry:K,togglePlay:de,seek:fe,toggleMute:J,setVolume:Y,toggleFullscreen:re,toggleLoop:X,setPlaybackRate:Z,supportsPlaybackRate:O,nativeUi:F}}function fe(e,t){let n=P(!0),r=P(!1),i=null;function a(e=3500){clearTimeout(i??void 0),i=setTimeout(()=>{n.value=!1,t?.value||(r.value=!1)},e)}function o(){clearTimeout(i??void 0)}function s(){r.value=!0,n.value=!0,a()}function c(){r.value=!1,e.value&&a()}function l(){e.value&&a()}function u(){n.value=!0,e.value&&a()}function d(){n.value=!0,a()}function f(){e.value&&a(600)}return R(e,e=>{e?a():(clearTimeout(i??void 0),n.value=!0)}),k(()=>clearTimeout(i??void 0)),{showHUD:n,isOpen:r,scheduleHide:a,pauseHide:o,onVideoTap:u,onMouseMove:d,onMouseLeave:f,openControls:s,closeControls:c,keepOpen:l}}const J=Symbol(`player`),Y=Symbol(`hud`),X=Symbol(`action`);var Z=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n};const pe={},Q={viewBox:`0 0 24 24`,fill:`currentColor`};function me(e,t){return j(),_(`svg`,Q,[...t[0]||=[v(`path`,{d:`M8 5v14l11-7z`},null,-1)]])}var he=Z(pe,[[`render`,me]]);const ge={},_e={viewBox:`0 0 24 24`,fill:`currentColor`};function ve(e,t){return j(),_(`svg`,_e,[...t[0]||=[v(`path`,{d:`M6 19h4V5H6v14zm8-14v14h4V5h-4z`},null,-1)]])}var ye=Z(ge,[[`render`,ve]]);const be=[`aria-label`];var $=Z(x({__name:`PlayPauseButton`,props:{isPlaying:{type:Boolean,required:!0},size:{type:String,default:`sm`}},emits:[`toggle-play`],setup(e){return(t,n)=>(j(),_(`button`,{class:E([`ppbtn`,`ppbtn--${e.size}`]),"aria-label":e.isPlaying?`Pause`:`Play`,onClick:n[0]||=B(e=>t.$emit(`toggle-play`),[`stop`])},[e.isPlaying?(j(),h(ye,{key:0})):(j(),h(he,{key:1}))],10,be))}}),[[`__scopeId`,`data-v-85902525`]]);const xe={},Se={viewBox:`0 0 24 24`,fill:`currentColor`};function Ce(e,t){return j(),_(`svg`,Se,[...t[0]||=[v(`path`,{d:`M3 9v6h4l5 5V4L7 9H3zm13.5 3A4.5 4.5 0 0 0 14 7.97v8.05c1.48-.73 2.5-2.25 2.5-4.02z`},null,-1)]])}var we=Z(xe,[[`render`,Ce]]);const Te={},Ee={viewBox:`0 0 24 24`,fill:`currentColor`};function De(e,t){return j(),_(`svg`,Ee,[...t[0]||=[v(`path`,{d:`M16.5 12A4.5 4.5 0 0 0 14 7.97v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51A8.796 8.796 0 0 0 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3L3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06A8.99 8.99 0 0 0 17.73 18L19 19.27 20.27 18 5.27 3 4.27 3zM12 4L9.91 6.09 12 8.18V4z`},null,-1)]])}var Oe=Z(Te,[[`render`,De]]);const ke={},Ae={viewBox:`0 0 24 24`,fill:`currentColor`};function je(e,t){return j(),_(`svg`,Ae,[...t[0]||=[v(`path`,{d:`M7 7h10v3l4-4-4-4v3H5v6h2V7zm10 10H7v-3l-4 4 4 4v-3h12v-6h-2v4z`},null,-1)]])}var Me=Z(ke,[[`render`,je]]);const Ne={},Pe={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Fe(e,t){return j(),_(`svg`,Pe,[...t[0]||=[y(`<line x1="4" y1="6" x2="20" y2="6"></line><line x1="4" y1="12" x2="20" y2="12"></line><line x1="4" y1="18" x2="20" y2="18"></line><circle cx="9" cy="6" r="2.5" fill="currentColor" stroke="none"></circle><circle cx="15" cy="12" r="2.5" fill="currentColor" stroke="none"></circle><circle cx="9" cy="18" r="2.5" fill="currentColor" stroke="none"></circle>`,6)]])}var Ie=Z(Ne,[[`render`,Fe]]);const Le={class:`hud`},Re=[`aria-label`],ze=[`aria-label`],Be=[`aria-label`,`innerHTML`];var Ve=Z(x({__name:`HudButtons`,setup(e){let t=C(J),n=C(Y),r=C(X),i=m(()=>r?.value??null),a=m(()=>!!i.value&&typeof i.value==`object`),o=m(()=>a.value?i.value:null),s=m(()=>i.value===`mute`?t.isMuted?`Unmute`:`Mute`:i.value===`loop`?t.isLooping?`Disable loop`:`Loop`:``);function c(){i.value===`mute`?t.toggleMute():i.value===`loop`&&t.toggleLoop()}return(e,r)=>(j(),_(`div`,Le,[g(` Built-in: mute `),i.value===`mute`?(j(),_(`button`,{key:0,class:E([`hud__btn`,{"hud__btn--active":L(t).isMuted}]),"aria-label":s.value,onClick:B(c,[`stop`])},[!L(t).isMuted&&L(t).vol>0?(j(),h(we,{key:0})):(j(),h(Oe,{key:1}))],10,Re)):i.value===`loop`?(j(),_(f,{key:1},[g(` Built-in: loop `),v(`button`,{class:E([`hud__btn`,{"hud__btn--active":L(t).isLooping}]),"aria-label":s.value,onClick:B(c,[`stop`])},[b(Me)],10,ze)],2112)):a.value&&o.value?(j(),_(f,{key:2},[g(` Custom action `),v(`button`,{class:`hud__btn`,"aria-label":o.value.label,onClick:r[0]||=B(e=>o.value.onClick(),[`stop`]),innerHTML:o.value.icon},null,8,Be)],2112)):(j(),_(f,{key:3},[g(` No action — spacer keeps layout balanced `),r[2]||=v(`div`,{class:`hud__spacer`},null,-1)],2112)),b($,{"is-playing":L(t).isPlaying,size:`lg`,onTogglePlay:L(t).togglePlay},null,8,[`is-playing`,`onTogglePlay`]),v(`button`,{class:`hud__btn`,"aria-label":`Show controls`,onClick:r[1]||=B((...e)=>L(n).openControls&&L(n).openControls(...e),[`stop`])},[b(Ie)])]))}}),[[`__scopeId`,`data-v-a6d118e7`]]);const He={},Ue={viewBox:`0 0 24 24`,fill:`currentColor`};function We(e,t){return j(),_(`svg`,Ue,[...t[0]||=[v(`path`,{d:`M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z`},null,-1)]])}var Ge=Z(He,[[`render`,We]]);const Ke={},qe={viewBox:`0 0 24 24`,fill:`currentColor`};function Je(e,t){return j(),_(`svg`,qe,[...t[0]||=[v(`path`,{d:`M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z`},null,-1)]])}var Ye=Z(Ke,[[`render`,Je]]);const Xe={},Ze={viewBox:`0 0 24 24`,fill:`currentColor`};function Qe(e,t){return j(),_(`svg`,Ze,[...t[0]||=[v(`path`,{d:`M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z`},null,-1)]])}var $e=Z(Xe,[[`render`,Qe]]);const et={},tt={viewBox:`0 0 24 24`,fill:`currentColor`};function nt(e,t){return j(),_(`svg`,tt,[...t[0]||=[v(`path`,{d:`M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z`},null,-1)]])}var rt=Z(et,[[`render`,nt]]);const it={class:`controls__vol-header`},at=[`aria-label`],ot={class:`controls__vol-body`},st=[`value`],ct={class:`controls__vol-pct`},lt=[`value`],ut={class:`controls__row`},dt={class:`controls__play-wrap`},ft={key:0,class:`controls__buf-spinner`},pt={class:`controls__time`},mt={key:2,class:`controls__fs-wrap`},ht={key:0,class:`controls__fs-spinner`},gt=[`aria-label`];var _t=Z(x({__name:`ControlsPopup`,props:{focusMode:{type:Boolean,default:!1}},setup(e){let t=e,n=C(J),r=C(Y),i=C(`compact`),a=m(()=>!!i?.value&&!t.focusMode),o=P(!1),s=P(null);k(()=>{o.value=!1});function c(e){if(!document.startViewTransition||!s.value){e();return}s.value.style.viewTransitionName=`controls-popup`,document.startViewTransition(async()=>{e(),await T()}).finished.finally(()=>{s.value&&(s.value.style.viewTransitionName=``)})}let l=m(()=>n.isMuted?0:Math.round(n.vol*100)),u=null;function d(){u=setTimeout(()=>{u=null,c(()=>{o.value=!0})},350)}function p(){u&&(clearTimeout(u),u=null,n.toggleMute())}function y(){clearTimeout(u),u=null}function x(e){n.seek(Number(e.target.value))}function S(e){n.setVolume(Number(e.target.value)/100)}let w=[.5,.75,1,1.25,1.5,2];function D(){let e=w[(w.indexOf(n.playbackRate)+1)%w.length];n.setPlaybackRate(e)}function A(e){return e===1?`1×`:`${e}×`}return(e,t)=>(j(),_(`div`,{ref_key:`popupEl`,ref:s,class:E([`controls`,{"controls--fs":L(n).isFullscreen}]),onMousemove:t[14]||=B((...e)=>L(r).keepOpen&&L(r).keepOpen(...e),[`stop`])},[o.value?(j(),_(f,{key:0},[v(`div`,it,[v(`button`,{class:`controls__btn`,"aria-label":`Back`,onClick:t[0]||=e=>c(()=>o.value=!1)},[b(Ye)]),t[15]||=v(`span`,{class:`controls__vol-label`},`Volume`,-1),v(`button`,{class:`controls__btn`,"aria-label":L(n).isMuted?`Unmute`:`Mute`,onClick:t[1]||=e=>L(n).toggleMute()},[!L(n).isMuted&&L(n).vol>0?(j(),h(we,{key:0})):(j(),h(Oe,{key:1}))],8,at)]),v(`div`,ot,[v(`input`,{type:`range`,min:`0`,max:`100`,step:`1`,value:l.value,class:`controls__vol-slider`,style:O({"--v":l.value+`%`}),"aria-label":`Volume`,onInput:S,onMousedown:t[2]||=e=>L(r).pauseHide(),onMouseup:t[3]||=e=>L(r).scheduleHide(),onTouchstartPassive:t[4]||=e=>L(r).pauseHide(),onTouchend:t[5]||=e=>L(r).scheduleHide()},null,44,st),v(`span`,ct,F(l.value)+`%`,1)])],64)):(j(),_(f,{key:1},[a.value?g(`v-if`,!0):(j(),_(`input`,{key:0,type:`range`,min:`0`,max:`100`,value:L(n).progress,class:`controls__seek`,style:O({"--p":L(n).progress+`%`,"--b":L(n).bufferedDisplay+`%`}),onInput:x,onMousedown:t[6]||=e=>L(r).pauseHide(),onMouseup:t[7]||=e=>L(r).scheduleHide(),onTouchstartPassive:t[8]||=e=>L(r).pauseHide(),onTouchend:t[9]||=e=>L(r).scheduleHide()},null,44,lt)),v(`div`,ut,[v(`div`,dt,[L(n).isBuffering?(j(),_(`div`,ft)):(j(),h($,{key:1,"is-playing":L(n).isPlaying,size:`sm`,onTogglePlay:t[10]||=e=>L(n).togglePlay()},null,8,[`is-playing`]))]),v(`span`,pt,F(L(n).fmt(L(n).current))+` / `+F(L(n).fmt(L(n).total)),1),!a.value&&L(n).supportsPlaybackRate?(j(),_(`button`,{key:0,class:E([`controls__btn controls__btn--rate`,{"controls__btn--active":L(n).playbackRate!==1}]),"aria-label":`Playback rate`,onClick:D},F(A(L(n).playbackRate)),3)):g(`v-if`,!0),a.value?g(`v-if`,!0):(j(),_(`button`,{key:1,class:E([`controls__btn`,{"controls__btn--active":L(n).isLooping}]),"aria-label":`Toggle loop`,onClick:t[11]||=e=>L(n).toggleLoop()},[b(Me)],2)),v(`button`,{class:`controls__btn`,"aria-label":`Volume`,onMousedown:d,onMouseup:p,onMouseleave:y,onTouchstartPassive:d,onTouchend:B(p,[`prevent`]),onTouchcancel:y},[!L(n).isMuted&&L(n).vol>0?(j(),h(we,{key:0})):(j(),h(Oe,{key:1}))],32),a.value?g(`v-if`,!0):(j(),_(`div`,mt,[L(n).isFullscreenPending?(j(),_(`div`,ht)):(j(),_(`button`,{key:1,class:`controls__btn`,"aria-label":L(n).isFullscreen?`Exit fullscreen`:`Fullscreen`,onClick:t[12]||=e=>L(n).toggleFullscreen()},[L(n).isFullscreen?(j(),h(rt,{key:0})):(j(),h($e,{key:1}))],8,gt))])),v(`button`,{class:`controls__btn controls__btn--close`,"aria-label":`Close`,onClick:t[13]||=e=>L(r).closeControls()},[b(Ge)])])],64))],34))}}),[[`__scopeId`,`data-v-5712aad4`]]);const vt={key:0,class:`overlay__spinner`},yt={key:0,class:`overlay__error`};var bt=Z(x({__name:`PlayerOverlay`,props:{focusMode:{type:Boolean,default:!1},isFocused:{type:Boolean,default:!1}},setup(e){let t=C(J),n=C(Y);return(r,i)=>(j(),_(f,null,[g(` Inactive until content has started so platform ad UIs (skip buttons etc.) remain reachable `),v(`div`,{class:`overlay__tap-capture`,style:O({pointerEvents:!L(t).hasStarted||L(t).isAdPlaying?`none`:void 0}),onClick:i[0]||=(...e)=>L(n).onVideoTap&&L(n).onVideoTap(...e),onTouchend:i[1]||=B((...e)=>L(n).onVideoTap&&L(n).onVideoTap(...e),[`prevent`,`stop`])},null,36),b(p,{name:`fade`},{default:z(()=>[!L(t).isReady&&!L(t).isError?(j(),_(`div`,vt,[...i[4]||=[v(`div`,{class:`overlay__spinner-ring`},null,-1)]])):g(`v-if`,!0)]),_:1}),b(p,{name:`fade`},{default:z(()=>[L(t).isError?(j(),_(`div`,yt,[v(`p`,null,F(L(t).errorMessage||`This video could not be played.`),1),v(`button`,{class:`overlay__retry`,onClick:i[2]||=B((...e)=>L(t).retry&&L(t).retry(...e),[`stop`])},`Retry`)])):g(`v-if`,!0)]),_:1}),g(` Hidden in fullscreen, or while focus mode is actually centered (the expanded controls render below the video instead) `),v(`div`,{class:E([`overlay__hud`,{"overlay__hud--visible":L(n).showHUD&&L(t).isReady&&!L(t).isError&&!e.isFocused&&!(L(n).isOpen&&L(t).isFullscreen)}])},[b(Ve)],2),b(p,{name:`popup`},{default:z(()=>[L(n).isOpen&&L(t).isReady&&!L(t).isError&&!e.focusMode?(j(),_(`div`,{key:0,class:E([`overlay__popup`,{"overlay__popup--fs":L(t).isFullscreen}]),onClick:i[3]||=B(()=>{},[`stop`])},[b(_t)],2)):g(`v-if`,!0)]),_:1})],64))}}),[[`__scopeId`,`data-v-f3307b98`]]);const xt=[`data-focused`],St={"data-vjs-player":``},Ct={key:1,class:`player__native-play`};var wt=Z(x({__name:`VideoPlayer`,props:{videoUrl:{type:String,required:!0},title:{type:String,required:!1,default:``},poster:{type:String,required:!1,default:``},aspectRatio:{type:String,required:!1,default:`16:9`},platform:{type:String,required:!1,default:``},techOptions:{type:Object,required:!1,default:()=>({})},adTagUrl:{type:String,required:!1,default:``},imaOptions:{type:Object,required:!1},autoplay:{type:Boolean,required:!1,default:!1},muted:{type:Boolean,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1,default:!1},autoStage:{type:Boolean,required:!1,default:!1},lazy:{type:Boolean,required:!1,default:!1},payload:{type:Object,required:!1,default:()=>({})},action:{type:[String,Object,null],required:!1,default:null},focusMode:{type:Boolean,required:!1,default:!1}},emits:[`state-change`],setup(e,{expose:t,emit:r}){let i=e,a=r,o=P(null),s=N(de(o,i,a)),c=P(!1),l=N(fe(I(s,`isPlaying`),c));M(J,s),M(Y,l),M(X,I(i,`action`));let{isPortrait:u,cssRatio:d}=n(i.aspectRatio),f=P(null),p=typeof document<`u`&&!!document.startViewTransition,y=m(()=>i.focusMode&&p);R(()=>y.value?l.isOpen:!1,e=>{let t=()=>{c.value=e,s.fire(e?`focusstart`:`focusend`)};if(!f.value){t();return}f.value.style.viewTransitionName=`player-focus`,document.startViewTransition(async()=>{t(),await T()}).finished.finally(()=>{f.value&&(f.value.style.viewTransitionName=``)})});function x(e){e.key===`Escape`&&c.value&&l.closeControls()}return A(()=>document.addEventListener(`keydown`,x)),k(()=>document.removeEventListener(`keydown`,x)),t(s),(e,t)=>(j(),_(`div`,{class:`player`,"data-focused":c.value?``:null},[c.value?(j(),_(`div`,{key:0,class:E([`player__placeholder`,{"player__shell--portrait":L(u)}]),style:O({aspectRatio:L(d)})},null,6)):g(`v-if`,!0),c.value?(j(),_(`div`,{key:1,class:`player__backdrop`,onClick:t[0]||=e=>l.closeControls()})):g(`v-if`,!0),v(`div`,{ref_key:`focusFrameEl`,ref:f,class:E([`player__focus-frame`,{"player__focus-frame--active":c.value}])},[v(`div`,{class:E([`player__shell`,{"player__shell--portrait":L(u)}]),style:O({aspectRatio:L(d)}),onMousemove:t[1]||=e=>l.onMouseMove(),onContextmenuCapture:t[2]||=B(()=>{},[`prevent`]),onMouseleave:t[3]||=e=>l.onMouseLeave()},[v(`div`,St,[v(`video`,{ref_key:`videoEl`,ref:o,class:`video-js`,playsinline:``},null,512),s.nativeUi?g(`v-if`,!0):(j(),h(bt,{key:0,"focus-mode":y.value,"is-focused":c.value},null,8,[`focus-mode`,`is-focused`])),s.nativeUi&&!s.hasStarted?(j(),_(`div`,Ct,[b($,{"is-playing":!1,size:`lg`,onTogglePlay:s.togglePlay},null,8,[`onTogglePlay`])])):g(`v-if`,!0)])],38),c.value?(j(),_(`div`,{key:0,class:`player__focus-controls`,onClick:t[4]||=B(()=>{},[`stop`])},[b(_t,{"focus-mode":``})])):g(`v-if`,!0)],2)],8,xt))}}),[[`__scopeId`,`data-v-4ab3cf75`]]);const Tt=P(0),Et=m(()=>Tt.value>0);function Dt(){Tt.value++}function Ot(){Tt.value--}const kt=[`src`],At={class:`stage__idle-body`},jt={class:`stage__idle-btn`},Mt={class:`stage__idle-title`},Nt={key:1,class:`stage__idle-empty`};var Pt=Z(x({__name:`VideoStage`,emits:[`state-change`],setup(e,{emit:t}){let n=t,r=P(null),i=P(null),o=P(!1),s=P(!1),l=P(null),d=P(null),p=P(!1),m=P(null);M(`compact`,p);let y=null;R(p,e=>{m.value=e&&d.value?d.value.offsetHeight:null});function x(){y?.disconnect(),l.value&&(y=new IntersectionObserver(([e])=>{p.value=!e.isIntersecting},{threshold:1}),y.observe(l.value))}R(l,x);function S(){i.value&&(i.value={...i.value,autoplay:!0},o.value=!0)}function C(){i.value=null,o.value=!1,s.value=!1,p.value=!1,m.value=null,T()}function T(){window.dispatchEvent(new CustomEvent(u,{detail:{currentVideoUrl:i.value?.videoUrl??null,isPlaying:s.value}}))}function D(e){let t=e.detail;if(i.value?.videoUrl===t.videoUrl&&o.value){r.value?.togglePlay();return}i.value=t,o.value=!1,s.value=!1,T(),o.value=!0}function N(e){let t=e.detail;!i.value||t.videoUrl!==i.value.videoUrl||(o.value?r.value?.togglePlay():(i.value={...i.value,autoplay:!0},o.value=!0))}function I(e){e.type===`play`&&(s.value=!0),(e.type===`pause`||e.type===`ended`)&&(s.value=!1),T(),n(`state-change`,e)}return A(()=>{Dt(),window.addEventListener(c,D),window.addEventListener(a,N)}),k(()=>{Ot(),window.removeEventListener(c,D),window.removeEventListener(a,N),y?.disconnect()}),(e,t)=>(j(),_(`div`,{ref_key:`wrapperEl`,ref:l,class:`stage-wrapper`,style:O(m.value?{height:m.value+`px`}:{})},[v(`div`,{ref_key:`stageEl`,ref:d,class:E([`stage`,{"stage--minified":p.value&&i.value&&o.value}])},[p.value&&i.value&&o.value?(j(),_(`button`,{key:0,class:`stage__dismiss`,"aria-label":`Close`,onClick:B(C,[`stop`])},[b(Ge)])):g(`v-if`,!0),i.value&&o.value?(j(),h(wt,w({ref_key:`playerRef`,ref:r,key:i.value.videoUrl},i.value,{onStateChange:I}),null,16)):(j(),_(`div`,{key:2,class:`stage__idle`,style:O({aspectRatio:i.value?.aspectRatio||`16:9`}),onClick:S},[i.value?.poster?(j(),_(`img`,{key:0,src:i.value.poster,class:`stage__idle-poster`},null,8,kt)):g(`v-if`,!0),t[0]||=v(`div`,{class:`stage__idle-scrim`},null,-1),v(`div`,At,[i.value?(j(),_(f,{key:0},[v(`div`,jt,[b(he)]),v(`p`,Mt,F(i.value.title),1)],64)):(j(),_(`p`,Nt,`Select a video to play`))])],4))],2)],4))}}),[[`__scopeId`,`data-v-fb8c86cf`]]);const Ft={class:`placeholder`},It=[`src`,`alt`],Lt={class:`placeholder__btn-wrap`},Rt={key:2,class:`placeholder__footer`},zt={class:`placeholder__title`};var Bt=Z(x({__name:`VideoPlaceholder`,props:{videoUrl:{type:String,required:!0},title:{type:String,required:!1,default:``},poster:{type:String,required:!1,default:``},aspectRatio:{type:String,required:!1,default:`16:9`},platform:{type:String,required:!1,default:``},techOptions:{type:Object,required:!1,default:()=>({})},adTagUrl:{type:String,required:!1,default:``},imaOptions:{type:Object,required:!1},autoplay:{type:Boolean,required:!1,default:!1},muted:{type:Boolean,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1,default:!1},autoStage:{type:Boolean,required:!1,default:!1},lazy:{type:Boolean,required:!1},payload:{type:Object,required:!1,default:()=>({})},action:{type:[String,Object,null],required:!1,default:null},focusMode:{type:Boolean,required:!1}},setup(e){let t=e,{isPortrait:r,cssRatio:i}=n(t.aspectRatio),a=P(!1),o=P(!1);function s(e){let n=e.detail;a.value=n.currentVideoUrl===t.videoUrl,o.value=a.value&&n.isPlaying}function l(e){window.dispatchEvent(new CustomEvent(c,{detail:{...t,...e!==void 0&&{autoplay:e}}}))}function d(){l(!0)}return A(()=>{window.addEventListener(u,s),t.autoStage&&l()}),k(()=>window.removeEventListener(u,s)),(t,n)=>(j(),_(`div`,Ft,[v(`div`,{class:E([`placeholder__shell`,{"placeholder__shell--portrait":L(r),"placeholder__shell--active":a.value}]),style:O({aspectRatio:L(i)}),onClick:d},[e.poster?(j(),_(`img`,{key:0,class:`placeholder__poster`,src:e.poster,alt:e.title},null,8,It)):g(`v-if`,!0),n[0]||=v(`div`,{class:`placeholder__scrim`},null,-1),e.platform?(j(),_(`span`,{key:1,class:E([`placeholder__badge`,`badge--${e.platform}`])},F(e.platform),3)):g(`v-if`,!0),v(`div`,Lt,[b($,{"is-playing":a.value&&o.value,size:`lg`,onTogglePlay:d},null,8,[`is-playing`])]),e.title?(j(),_(`div`,Rt,[v(`p`,zt,F(e.title),1)])):g(`v-if`,!0)],6)]))}}),[[`__scopeId`,`data-v-dbcb4f82`]]),Vt=x({__name:`VideoItem`,props:{videoUrl:{type:String,required:!0},title:{type:String,required:!1},poster:{type:String,required:!1},aspectRatio:{type:String,required:!1},platform:{type:String,required:!1},techOptions:{type:Object,required:!1},adTagUrl:{type:String,required:!1},imaOptions:{type:Object,required:!1},autoplay:{type:Boolean,required:!1},muted:{type:Boolean,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1},autoStage:{type:Boolean,required:!1},lazy:{type:Boolean,required:!1,default:!0},payload:{type:Object,required:!1},action:{type:[String,Object,null],required:!1,default:null},focusMode:{type:Boolean,required:!1}},emits:[`state-change`],setup(e,{emit:t}){let n=e,r=t,i=P(!1);return(e,t)=>L(Et)?(j(),h(Bt,D(w({key:0},e.$props)),null,16)):(j(),_(f,{key:1},[n.lazy&&!i.value&&!n.autoplay?(j(),h(Bt,w({key:0},e.$props,{onClickCapture:t[0]||=e=>i.value=!0}),null,16)):(j(),h(wt,w({key:1},n,{autoplay:i.value||n.autoplay,onStateChange:t[1]||=e=>r(`state-change`,e)}),null,16,[`autoplay`]))],64))}});const Ht=S(wt,{shadowRoot:!1,styles:[V]}),Ut=S(Pt,{shadowRoot:!1}),Wt=S(Bt,{shadowRoot:!1}),Gt=S(Vt,{shadowRoot:!1});customElements.define(`video-player`,Ht),customElements.define(`video-stage`,Ut),customElements.define(`video-placeholder`,Wt),customElements.define(`video-item`,Gt);export{Gt as VideoItemElement,Wt as VideoPlaceholderElement,Ht as VideoPlayerElement,Ut as VideoStageElement};
package/dist/index.d.mts CHANGED
@@ -9,7 +9,7 @@ interface CustomAction {
9
9
  onClick: () => void;
10
10
  }
11
11
  type PlayerAction = BuiltinAction | CustomAction;
12
- type StateChangeType = 'play' | 'pause' | 'ended' | 'seeked' | 'error' | 'adstart' | 'adend' | 'volumechange' | 'ratechange' | 'firstQuartile' | 'midpoint' | 'thirdQuartile';
12
+ type StateChangeType = 'play' | 'pause' | 'ended' | 'seeked' | 'error' | 'adstart' | 'adend' | 'volumechange' | 'ratechange' | 'firstQuartile' | 'midpoint' | 'thirdQuartile' | 'focusstart' | 'focusend';
13
13
  interface StateChangeEvent {
14
14
  type: StateChangeType;
15
15
  currentTime: number;
@@ -40,6 +40,7 @@ interface PlayerProps {
40
40
  lazy?: boolean;
41
41
  payload?: Record<string, unknown>;
42
42
  action?: PlayerAction | null;
43
+ focusMode?: boolean;
43
44
  }
44
45
  type VideoSelectDetail = PlayerProps;
45
46
  interface VideoStateDetail {
@@ -76,6 +77,7 @@ declare const __VLS_export$3: import("vue").DefineComponent<__VLS_Props$1, {
76
77
  isFullscreen: boolean;
77
78
  isFullscreenPending: boolean;
78
79
  fmt: (s: number) => string;
80
+ fire: (type: StateChangeType, extras?: Partial<StateChangeEvent>) => void;
79
81
  retry: () => void;
80
82
  togglePlay: () => void;
81
83
  seek: (val: number) => void;
@@ -103,6 +105,7 @@ declare const __VLS_export$3: import("vue").DefineComponent<__VLS_Props$1, {
103
105
  lazy: boolean;
104
106
  payload: Record<string, unknown>;
105
107
  action: PlayerAction | null;
108
+ focusMode: boolean;
106
109
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
107
110
  declare const _default$2: typeof __VLS_export$3;
108
111
  //#endregion
@@ -167,6 +170,7 @@ interface UsePlayerReturn {
167
170
  isFullscreen: Ref<boolean>;
168
171
  isFullscreenPending: Ref<boolean>;
169
172
  fmt: (s: number) => string;
173
+ fire: (type: StateChangeType, extras?: Partial<StateChangeEvent>) => void;
170
174
  retry: () => void;
171
175
  togglePlay: () => void;
172
176
  seek: (val: number) => void;
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{i as e,n as t}from"./chunks/tech-DYVa4zaY.mjs";import{a as n,c as r,i,n as a,o,r as s,s as c,t as l}from"./chunks/constants-DZGeSme4.mjs";import{Fragment as u,Transition as d,computed as f,createBlock as p,createCommentVNode as m,createElementBlock as h,createElementVNode as g,createStaticVNode as _,createVNode as v,defineComponent as y,inject as b,mergeProps as x,nextTick as S,normalizeClass as C,normalizeProps as w,normalizeStyle as T,onBeforeUnmount as E,onMounted as D,openBlock as O,provide as k,reactive as A,ref as j,toDisplayString as M,toRef as N,unref as P,watch as F,withCtx as I,withModifiers as L}from"vue";import ee from"video.js";const R={},z=[{test:e=>/youtu\.be|youtube\.com/.test(e),key:`youtube`,tech:`Youtube`,type:`video/youtube`,load:()=>import(`./chunks/youtube-BE1BWyQG.mjs`)},{test:e=>/vimeo\.com|player\.vimeo\.com/.test(e),key:`vimeo`,tech:`Vimeo`,type:`video/vimeo`,load:()=>import(`./chunks/vimeo-yir3kEbO.mjs`)},{test:e=>/dailymotion\.com|dai\.ly/.test(e),key:`dailymotion`,tech:`Dailymotion`,type:`video/dailymotion`,load:()=>import(`./chunks/dailymotion-B6CwDPyk.mjs`)},{test:e=>/cdn\.jwplayer\.com/.test(e)||e.startsWith(`jwplayer://`),key:`jwplayer`,tech:null,type:`video/jwplayer`,load:()=>import(`./chunks/jwplayer-CNDwSK03.mjs`)},{test:e=>e.startsWith(`brightcove://`),key:`brightcove`,tech:null,type:`video/brightcove`,load:()=>import(`./chunks/brightcove-BjpjJMHX.mjs`)}];function B(e){return z.find(t=>t.test(e))?.key??`html5`}async function te(e){let t=z.find(t=>t.test(e));if(!t)return{tech:null,type:null,adTagUrl:null};R[t.key]||(R[t.key]=t.load());let n=null,{prefetchConfig:r}=await R[t.key];return r&&(n=(await r(e).catch(()=>null))?.adTagUrl??null),{tech:t.tech,type:t.type,adTagUrl:n}}const ne=new Set([`Youtube`,`Vimeo`,`Dailymotion`]);function re(e){return!ne.has(e)}function ie(){return window.google?.ima?Promise.resolve():new Promise((e,t)=>{let n=document.createElement(`script`);n.src=`https://imasdk.googleapis.com/js/sdkloader/ima3.js`,n.onload=e,n.onerror=()=>t(Error(`Failed to load Google IMA SDK`)),document.head.appendChild(n)})}async function ae(e,t){return!t||!re(e)?!1:(await ie(),await import(`videojs-contrib-ads`),await import(`videojs-ima`),!0)}function oe(e,t,n={}){e.ima({adTagUrl:t,showControlsForJSAds:!1,...n})}const V=new Set;function se(e){return V.add(e),()=>V.delete(e)}function ce(e){V.forEach(t=>{if(t!==e)try{t()}catch{}})}function H(){try{return JSON.parse(localStorage.getItem(`player:positions`)??`[]`)}catch{return[]}}function U(e){localStorage.setItem(l,JSON.stringify(e))}function W(e,t){if(t<5)return;let n=H().filter(t=>t.url!==e);n.unshift({url:e,time:t}),U(n.slice(0,5))}function le(e){return H().find(t=>t.url===e)?.time??null}function ue(e){U(H().filter(t=>t.url!==e))}function de(e,r,o){let c=null,l=!1,u=null,d=null,p=null,m=new Set,h=[[.25,`firstQuartile`],[.5,`midpoint`],[.75,`thirdQuartile`]],g=j(!1),_=j(!1),v=j(!1),y=j(!1),b=j(0),x=j(0),S=j(0),C=j(1),w=j(r.muted??r.autoplay??!1),T=j(!1),O=j(r.playbackRate??1),k=j(!1),A=j(!1),M=j(!1),N=j(``),P=j(!1),I=j(!1),L=j(!1),R=f(()=>x.value?b.value/x.value*100:0),z=f(()=>Math.max(S.value,R.value)),B=()=>c.tech({IWillNotUseThisInPlugins:!0});function ne(){let e=B();if(typeof e?.enterFullscreen==`function`){e.enterFullscreen();return}let t=e?.el();if(typeof t?.webkitEnterFullscreen==`function`){t.webkitEnterFullscreen();return}c.requestFullscreen()}function ie(){let e=B();typeof e?.exitFullscreen==`function`?e.exitFullscreen():c.exitFullscreen()}function V(){c&&(I.value?ie():ne())}function H(){let e=document;I.value=!!(document.fullscreenElement||e.webkitFullscreenElement)}function U(e,t={}){o(`state-change`,{type:e,currentTime:b.value,duration:x.value,src:r.videoUrl,...t,payload:r.payload})}function de(){if(!x.value)return;let e=b.value/x.value;for(let[t,n]of h)!m.has(t)&&e>=t&&(m.add(t),U(n))}function fe(){!c||!p||(M.value=!1,N.value=``,c.src(p))}function G(){!c||!_.value||(c.paused()?c.play():c.pause())}function K(e){c?.currentTime(x.value*(e/100))}function q(){c?.muted(!c.muted())}function J(e){c&&(c.volume(e),c.muted(e===0))}function pe(){T.value=!T.value}function me(e){c&&(c.playbackRate(e),O.value=e)}function he(){c.ready(()=>{_.value=!0,k.value=!!B()?.featuresPlaybackRate});let e=()=>{let e=c.duration();e>0&&isFinite(e)&&(x.value=e)};c.on([`adstart`,s],()=>{ce(Y),v.value=!0,U(`adstart`)}),c.on([`adend`,a],()=>{v.value=!1,U(`adend`)}),c.on(`play`,()=>{if(ce(Y),A.value=!0,g.value=!0,!l){let e=le(r.videoUrl);e&&c.currentTime(e),l=!0}U(`play`)}),c.on(`pause`,()=>{g.value=!1,W(r.videoUrl,c.currentTime()),U(`pause`)}),c.on(`ended`,()=>{g.value=!1,m.clear(),T.value?(c.currentTime(0),c.play()):(ue(r.videoUrl),U(`ended`))}),c.on(`seeked`,()=>{U(`seeked`)}),c.on(`error`,()=>{let e=c.error();N.value=e?.message||`This video could not be played.`,M.value=!0,_.value=!0,U(`error`,{error:e})}),c.on(`waiting`,()=>{y.value=!0}),c.on(`playing`,()=>{y.value=!1}),c.on(`canplay`,()=>{y.value=!1}),c.on(`timeupdate`,()=>{b.value=c.currentTime(),x.value||e(),de()}),c.on(`durationchange`,e),c.on(`progress`,()=>{let e=c.duration();S.value=e?c.bufferedEnd()/e*100:0}),c.on(`volumechange`,()=>{let e=c.muted();C.value=c.volume(),w.value=e,A.value&&U(`volumechange`,{isMuted:e})}),c.on(`ratechange`,()=>{let e=c.playbackRate();O.value=e,A.value&&U(`ratechange`,{playbackRate:e})}),c.on(`fullscreenchange`,()=>{I.value=c.isFullscreen()}),c.on(i,()=>{L.value=!0}),c.on(n,()=>{L.value=!1})}function Y(){c?.pause()}F(()=>r.muted,e=>{!c||e===void 0||c.muted(e)}),F(()=>r.playbackRate,e=>{!c||e===void 0||c.playbackRate(e)}),D(async()=>{document.addEventListener(`fullscreenchange`,H),document.addEventListener(`webkitfullscreenchange`,H),document.addEventListener(`visibilitychange`,X);let{tech:t,type:n,adTagUrl:i}=await te(r.videoUrl),a=t?[t,`Html5`]:[`Html5`],o=r.adTagUrl||i||``,s=await ae(t??`Html5`,o);if(!e.value)return;let l={src:r.videoUrl,...n&&{type:n}};p=l,P.value=!!(r.nativeUi&&!re(t??``)),c=ee(e.value,{techOrder:a,controls:!1,fluid:!0,aspectRatio:r.aspectRatio??`16:9`,poster:r.poster||``,playsinline:!0,autoplay:r.autoplay,muted:r.muted??r.autoplay,playbackRate:O.value,adTagUrl:o,youtube:{nativeUi:P.value},vimeo:{nativeUi:P.value},dailymotion:{nativeUi:P.value},...!s&&{sources:[l]},...r.techOptions}),s&&(oe(c,o,r.imaOptions??{}),c.src(l)),u=se(Y),he(),d=new IntersectionObserver(([e])=>{!e.isIntersecting&&c&&!c.paused()&&!I.value&&c.pause()},{threshold:.1}),e.value&&d.observe(e.value)});function X(){document.visibilityState===`hidden`&&c&&W(r.videoUrl,c.currentTime())}return E(()=>{c&&W(r.videoUrl,c.currentTime()),u?.(),d?.disconnect(),document.removeEventListener(`visibilitychange`,X),document.removeEventListener(`fullscreenchange`,H),document.removeEventListener(`webkitfullscreenchange`,H),c?.dispose(),c=null}),{isPlaying:g,isReady:_,isAdPlaying:v,isBuffering:y,current:b,total:x,vol:C,isMuted:w,isLooping:T,playbackRate:O,hasStarted:A,isError:M,errorMessage:N,progress:R,bufferedDisplay:z,isFullscreen:I,isFullscreenPending:L,fmt:t,retry:fe,togglePlay:G,seek:K,toggleMute:q,setVolume:J,toggleFullscreen:V,toggleLoop:pe,setPlaybackRate:me,supportsPlaybackRate:k,nativeUi:P}}function fe(e){let t=j(!0),n=j(!1),r=null;function i(e=3500){clearTimeout(r??void 0),r=setTimeout(()=>{t.value=!1,n.value=!1},e)}function a(){clearTimeout(r??void 0)}function o(){n.value=!0,t.value=!0,i()}function s(){n.value=!1,e.value&&i()}function c(){e.value&&i()}function l(){t.value=!0,e.value&&i()}function u(){t.value=!0,i()}function d(){e.value&&i(600)}return F(e,e=>{e?i():(clearTimeout(r??void 0),t.value=!0)}),E(()=>clearTimeout(r??void 0)),{showHUD:t,isOpen:n,scheduleHide:i,pauseHide:a,onVideoTap:l,onMouseMove:u,onMouseLeave:d,openControls:o,closeControls:s,keepOpen:c}}const G=Symbol(`player`),K=Symbol(`hud`),q=Symbol(`action`);var J=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n};const pe={},me={viewBox:`0 0 24 24`,fill:`currentColor`};function he(e,t){return O(),h(`svg`,me,[...t[0]||=[g(`path`,{d:`M8 5v14l11-7z`},null,-1)]])}var Y=J(pe,[[`render`,he]]);const X={},ge={viewBox:`0 0 24 24`,fill:`currentColor`};function _e(e,t){return O(),h(`svg`,ge,[...t[0]||=[g(`path`,{d:`M6 19h4V5H6v14zm8-14v14h4V5h-4z`},null,-1)]])}var ve=J(X,[[`render`,_e]]);const ye=[`aria-label`];var Z=J(y({__name:`PlayPauseButton`,props:{isPlaying:{type:Boolean,required:!0},size:{type:String,default:`sm`}},emits:[`toggle-play`],setup(e){return(t,n)=>(O(),h(`button`,{class:C([`ppbtn`,`ppbtn--${e.size}`]),"aria-label":e.isPlaying?`Pause`:`Play`,onClick:n[0]||=L(e=>t.$emit(`toggle-play`),[`stop`])},[e.isPlaying?(O(),p(ve,{key:0})):(O(),p(Y,{key:1}))],10,ye))}}),[[`__scopeId`,`data-v-85902525`]]);const be={},xe={viewBox:`0 0 24 24`,fill:`currentColor`};function Se(e,t){return O(),h(`svg`,xe,[...t[0]||=[g(`path`,{d:`M3 9v6h4l5 5V4L7 9H3zm13.5 3A4.5 4.5 0 0 0 14 7.97v8.05c1.48-.73 2.5-2.25 2.5-4.02z`},null,-1)]])}var Ce=J(be,[[`render`,Se]]);const we={},Te={viewBox:`0 0 24 24`,fill:`currentColor`};function Ee(e,t){return O(),h(`svg`,Te,[...t[0]||=[g(`path`,{d:`M16.5 12A4.5 4.5 0 0 0 14 7.97v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51A8.796 8.796 0 0 0 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3L3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06A8.99 8.99 0 0 0 17.73 18L19 19.27 20.27 18 5.27 3 4.27 3zM12 4L9.91 6.09 12 8.18V4z`},null,-1)]])}var De=J(we,[[`render`,Ee]]);const Oe={},ke={viewBox:`0 0 24 24`,fill:`currentColor`};function Ae(e,t){return O(),h(`svg`,ke,[...t[0]||=[g(`path`,{d:`M7 7h10v3l4-4-4-4v3H5v6h2V7zm10 10H7v-3l-4 4 4 4v-3h12v-6h-2v4z`},null,-1)]])}var je=J(Oe,[[`render`,Ae]]);const Me={},Ne={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Pe(e,t){return O(),h(`svg`,Ne,[...t[0]||=[_(`<line x1="4" y1="6" x2="20" y2="6"></line><line x1="4" y1="12" x2="20" y2="12"></line><line x1="4" y1="18" x2="20" y2="18"></line><circle cx="9" cy="6" r="2.5" fill="currentColor" stroke="none"></circle><circle cx="15" cy="12" r="2.5" fill="currentColor" stroke="none"></circle><circle cx="9" cy="18" r="2.5" fill="currentColor" stroke="none"></circle>`,6)]])}var Fe=J(Me,[[`render`,Pe]]);const Ie={class:`hud`},Le=[`aria-label`],Re=[`aria-label`],ze=[`aria-label`,`innerHTML`];var Be=J(y({__name:`HudButtons`,setup(e){let t=b(G),n=b(K),r=b(q),i=f(()=>r?.value??null),a=f(()=>!!i.value&&typeof i.value==`object`),o=f(()=>a.value?i.value:null),s=f(()=>i.value===`mute`?t.isMuted?`Unmute`:`Mute`:i.value===`loop`?t.isLooping?`Disable loop`:`Loop`:``);function c(){i.value===`mute`?t.toggleMute():i.value===`loop`&&t.toggleLoop()}return(e,r)=>(O(),h(`div`,Ie,[m(` Built-in: mute `),i.value===`mute`?(O(),h(`button`,{key:0,class:C([`hud__btn`,{"hud__btn--active":P(t).isMuted}]),"aria-label":s.value,onClick:L(c,[`stop`])},[!P(t).isMuted&&P(t).vol>0?(O(),p(Ce,{key:0})):(O(),p(De,{key:1}))],10,Le)):i.value===`loop`?(O(),h(u,{key:1},[m(` Built-in: loop `),g(`button`,{class:C([`hud__btn`,{"hud__btn--active":P(t).isLooping}]),"aria-label":s.value,onClick:L(c,[`stop`])},[v(je)],10,Re)],2112)):a.value&&o.value?(O(),h(u,{key:2},[m(` Custom action `),g(`button`,{class:`hud__btn`,"aria-label":o.value.label,onClick:r[0]||=L(e=>o.value.onClick(),[`stop`]),innerHTML:o.value.icon},null,8,ze)],2112)):(O(),h(u,{key:3},[m(` No action — spacer keeps layout balanced `),r[2]||=g(`div`,{class:`hud__spacer`},null,-1)],2112)),v(Z,{"is-playing":P(t).isPlaying,size:`lg`,onTogglePlay:P(t).togglePlay},null,8,[`is-playing`,`onTogglePlay`]),g(`button`,{class:`hud__btn`,"aria-label":`Show controls`,onClick:r[1]||=L((...e)=>P(n).openControls&&P(n).openControls(...e),[`stop`])},[v(Fe)])]))}}),[[`__scopeId`,`data-v-a6d118e7`]]);const Ve={},He={viewBox:`0 0 24 24`,fill:`currentColor`};function Ue(e,t){return O(),h(`svg`,He,[...t[0]||=[g(`path`,{d:`M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z`},null,-1)]])}var We=J(Ve,[[`render`,Ue]]);const Ge={},Ke={viewBox:`0 0 24 24`,fill:`currentColor`};function qe(e,t){return O(),h(`svg`,Ke,[...t[0]||=[g(`path`,{d:`M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z`},null,-1)]])}var Je=J(Ge,[[`render`,qe]]);const Ye={},Xe={viewBox:`0 0 24 24`,fill:`currentColor`};function Ze(e,t){return O(),h(`svg`,Xe,[...t[0]||=[g(`path`,{d:`M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z`},null,-1)]])}var Qe=J(Ye,[[`render`,Ze]]);const $e={},et={viewBox:`0 0 24 24`,fill:`currentColor`};function tt(e,t){return O(),h(`svg`,et,[...t[0]||=[g(`path`,{d:`M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z`},null,-1)]])}var nt=J($e,[[`render`,tt]]);const rt={class:`controls__vol-header`},it=[`aria-label`],at={class:`controls__vol-body`},ot=[`value`],st={class:`controls__vol-pct`},ct=[`value`],lt={class:`controls__row`},ut={class:`controls__play-wrap`},dt={key:0,class:`controls__buf-spinner`},ft={class:`controls__time`},pt={key:2,class:`controls__fs-wrap`},mt={key:0,class:`controls__fs-spinner`},ht=[`aria-label`];var gt=J(y({__name:`ControlsPopup`,setup(e){let t=b(G),n=b(K),r=b(`compact`),i=j(!1),a=j(null);E(()=>{i.value=!1});function o(e){if(!document.startViewTransition||!a.value){e();return}a.value.style.viewTransitionName=`controls-popup`,document.startViewTransition(async()=>{e(),await S()}).finished.finally(()=>{a.value&&(a.value.style.viewTransitionName=``)})}let s=f(()=>t.isMuted?0:Math.round(t.vol*100)),c=null;function l(){c=setTimeout(()=>{c=null,o(()=>{i.value=!0})},350)}function d(){c&&(clearTimeout(c),c=null,t.toggleMute())}function _(){clearTimeout(c),c=null}function y(e){t.seek(Number(e.target.value))}function x(e){t.setVolume(Number(e.target.value)/100)}let w=[.5,.75,1,1.25,1.5,2];function D(){let e=w[(w.indexOf(t.playbackRate)+1)%w.length];t.setPlaybackRate(e)}function k(e){return e===1?`1×`:`${e}×`}return(e,c)=>(O(),h(`div`,{ref_key:`popupEl`,ref:a,class:C([`controls`,{"controls--fs":P(t).isFullscreen}]),onMousemove:c[14]||=L((...e)=>P(n).keepOpen&&P(n).keepOpen(...e),[`stop`])},[i.value?(O(),h(u,{key:0},[g(`div`,rt,[g(`button`,{class:`controls__btn`,"aria-label":`Back`,onClick:c[0]||=e=>o(()=>i.value=!1)},[v(Je)]),c[15]||=g(`span`,{class:`controls__vol-label`},`Volume`,-1),g(`button`,{class:`controls__btn`,"aria-label":P(t).isMuted?`Unmute`:`Mute`,onClick:c[1]||=e=>P(t).toggleMute()},[!P(t).isMuted&&P(t).vol>0?(O(),p(Ce,{key:0})):(O(),p(De,{key:1}))],8,it)]),g(`div`,at,[g(`input`,{type:`range`,min:`0`,max:`100`,step:`1`,value:s.value,class:`controls__vol-slider`,style:T({"--v":s.value+`%`}),"aria-label":`Volume`,onInput:x,onMousedown:c[2]||=e=>P(n).pauseHide(),onMouseup:c[3]||=e=>P(n).scheduleHide(),onTouchstartPassive:c[4]||=e=>P(n).pauseHide(),onTouchend:c[5]||=e=>P(n).scheduleHide()},null,44,ot),g(`span`,st,M(s.value)+`%`,1)])],64)):(O(),h(u,{key:1},[P(r)?m(`v-if`,!0):(O(),h(`input`,{key:0,type:`range`,min:`0`,max:`100`,value:P(t).progress,class:`controls__seek`,style:T({"--p":P(t).progress+`%`,"--b":P(t).bufferedDisplay+`%`}),onInput:y,onMousedown:c[6]||=e=>P(n).pauseHide(),onMouseup:c[7]||=e=>P(n).scheduleHide(),onTouchstartPassive:c[8]||=e=>P(n).pauseHide(),onTouchend:c[9]||=e=>P(n).scheduleHide()},null,44,ct)),g(`div`,lt,[g(`div`,ut,[P(t).isBuffering?(O(),h(`div`,dt)):(O(),p(Z,{key:1,"is-playing":P(t).isPlaying,size:`sm`,onTogglePlay:c[10]||=e=>P(t).togglePlay()},null,8,[`is-playing`]))]),g(`span`,ft,M(P(t).fmt(P(t).current))+` / `+M(P(t).fmt(P(t).total)),1),!P(r)&&P(t).supportsPlaybackRate?(O(),h(`button`,{key:0,class:C([`controls__btn controls__btn--rate`,{"controls__btn--active":P(t).playbackRate!==1}]),"aria-label":`Playback rate`,onClick:D},M(k(P(t).playbackRate)),3)):m(`v-if`,!0),P(r)?m(`v-if`,!0):(O(),h(`button`,{key:1,class:C([`controls__btn`,{"controls__btn--active":P(t).isLooping}]),"aria-label":`Toggle loop`,onClick:c[11]||=e=>P(t).toggleLoop()},[v(je)],2)),g(`button`,{class:`controls__btn`,"aria-label":`Volume`,onMousedown:l,onMouseup:d,onMouseleave:_,onTouchstartPassive:l,onTouchend:L(d,[`prevent`]),onTouchcancel:_},[!P(t).isMuted&&P(t).vol>0?(O(),p(Ce,{key:0})):(O(),p(De,{key:1}))],32),P(r)?m(`v-if`,!0):(O(),h(`div`,pt,[P(t).isFullscreenPending?(O(),h(`div`,mt)):(O(),h(`button`,{key:1,class:`controls__btn`,"aria-label":P(t).isFullscreen?`Exit fullscreen`:`Fullscreen`,onClick:c[12]||=e=>P(t).toggleFullscreen()},[P(t).isFullscreen?(O(),p(nt,{key:0})):(O(),p(Qe,{key:1}))],8,ht))])),g(`button`,{class:`controls__btn controls__btn--close`,"aria-label":`Close`,onClick:c[13]||=e=>P(n).closeControls()},[v(We)])])],64))],34))}}),[[`__scopeId`,`data-v-5712aad4`]]);const _t={key:0,class:`overlay__spinner`},vt={key:0,class:`overlay__error`};var yt=J(y({__name:`PlayerOverlay`,setup(e){let t=b(G),n=b(K);return(e,r)=>(O(),h(u,null,[m(` Inactive until content has started so platform ad UIs (skip buttons etc.) remain reachable `),g(`div`,{class:`overlay__tap-capture`,style:T({pointerEvents:!P(t).hasStarted||P(t).isAdPlaying?`none`:void 0}),onClick:r[0]||=(...e)=>P(n).onVideoTap&&P(n).onVideoTap(...e),onTouchend:r[1]||=L((...e)=>P(n).onVideoTap&&P(n).onVideoTap(...e),[`prevent`,`stop`])},null,36),v(d,{name:`fade`},{default:I(()=>[!P(t).isReady&&!P(t).isError?(O(),h(`div`,_t,[...r[4]||=[g(`div`,{class:`overlay__spinner-ring`},null,-1)]])):m(`v-if`,!0)]),_:1}),v(d,{name:`fade`},{default:I(()=>[P(t).isError?(O(),h(`div`,vt,[g(`p`,null,M(P(t).errorMessage||`This video could not be played.`),1),g(`button`,{class:`overlay__retry`,onClick:r[2]||=L((...e)=>P(t).retry&&P(t).retry(...e),[`stop`])},`Retry`)])):m(`v-if`,!0)]),_:1}),m(` Hidden in fullscreen while the controls popup is open `),g(`div`,{class:C([`overlay__hud`,{"overlay__hud--visible":P(n).showHUD&&P(t).isReady&&!P(t).isError&&!(P(n).isOpen&&P(t).isFullscreen)}])},[v(Be)],2),v(d,{name:`popup`},{default:I(()=>[P(n).isOpen&&P(t).isReady&&!P(t).isError?(O(),h(`div`,{key:0,class:C([`overlay__popup`,{"overlay__popup--fs":P(t).isFullscreen}]),onClick:r[3]||=L(()=>{},[`stop`])},[v(gt)],2)):m(`v-if`,!0)]),_:1})],64))}}),[[`__scopeId`,`data-v-f3307b98`]]);const bt={class:`player`},xt={"data-vjs-player":``},St={key:1,class:`player__native-play`};var Q=J(y({__name:`VideoPlayer`,props:{videoUrl:{type:String,required:!0},title:{type:String,required:!1,default:``},poster:{type:String,required:!1,default:``},aspectRatio:{type:String,required:!1,default:`16:9`},platform:{type:String,required:!1,default:``},techOptions:{type:Object,required:!1,default:()=>({})},adTagUrl:{type:String,required:!1,default:``},imaOptions:{type:Object,required:!1},autoplay:{type:Boolean,required:!1,default:!1},muted:{type:Boolean,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1,default:!1},autoStage:{type:Boolean,required:!1,default:!1},lazy:{type:Boolean,required:!1,default:!1},payload:{type:Object,required:!1,default:()=>({})},action:{type:[String,Object,null],required:!1,default:null}},emits:[`state-change`],setup(t,{expose:n,emit:r}){let i=t,a=r,o=j(null),s=A(de(o,i,a)),c=A(fe(N(s,`isPlaying`)));k(G,s),k(K,c),k(q,N(i,`action`));let{isPortrait:l,cssRatio:u}=e(i.aspectRatio);return n(s),(e,t)=>(O(),h(`div`,bt,[g(`div`,{class:C([`player__shell`,{"player__shell--portrait":P(l)}]),style:T({aspectRatio:P(u)}),onMousemove:t[0]||=e=>c.onMouseMove(),onContextmenuCapture:t[1]||=L(()=>{},[`prevent`]),onMouseleave:t[2]||=e=>c.onMouseLeave()},[g(`div`,xt,[g(`video`,{ref_key:`videoEl`,ref:o,class:`video-js`,playsinline:``},null,512),s.nativeUi?m(`v-if`,!0):(O(),p(yt,{key:0})),s.nativeUi&&!s.hasStarted?(O(),h(`div`,St,[v(Z,{"is-playing":!1,size:`lg`,onTogglePlay:s.togglePlay},null,8,[`onTogglePlay`])])):m(`v-if`,!0)])],38)]))}}),[[`__scopeId`,`data-v-4ab3cf75`]]);const Ct=j(0),wt=f(()=>Ct.value>0);function Tt(){Ct.value++}function Et(){Ct.value--}const Dt=[`src`],Ot={class:`stage__idle-body`},kt={class:`stage__idle-btn`},At={class:`stage__idle-title`},jt={key:1,class:`stage__idle-empty`};var Mt=J(y({__name:`VideoStage`,emits:[`state-change`],setup(e,{emit:t}){let n=t,i=j(null),a=j(null),s=j(!1),l=j(!1),d=j(null),f=j(null),_=j(!1),y=j(null);k(`compact`,_);let b=null;F(_,e=>{y.value=e&&f.value?f.value.offsetHeight:null});function S(){b?.disconnect(),d.value&&(b=new IntersectionObserver(([e])=>{_.value=!e.isIntersecting},{threshold:1}),b.observe(d.value))}F(d,S);function w(){a.value&&(a.value={...a.value,autoplay:!0},s.value=!0)}function A(){a.value=null,s.value=!1,l.value=!1,_.value=!1,y.value=null,N()}function N(){window.dispatchEvent(new CustomEvent(c,{detail:{currentVideoUrl:a.value?.videoUrl??null,isPlaying:l.value}}))}function P(e){let t=e.detail;if(a.value?.videoUrl===t.videoUrl&&s.value){i.value?.togglePlay();return}a.value=t,s.value=!1,l.value=!1,N(),s.value=!0}function I(e){let t=e.detail;!a.value||t.videoUrl!==a.value.videoUrl||(s.value?i.value?.togglePlay():(a.value={...a.value,autoplay:!0},s.value=!0))}function ee(e){e.type===`play`&&(l.value=!0),(e.type===`pause`||e.type===`ended`)&&(l.value=!1),N(),n(`state-change`,e)}return D(()=>{Tt(),window.addEventListener(o,P),window.addEventListener(r,I)}),E(()=>{Et(),window.removeEventListener(o,P),window.removeEventListener(r,I),b?.disconnect()}),(e,t)=>(O(),h(`div`,{ref_key:`wrapperEl`,ref:d,class:`stage-wrapper`,style:T(y.value?{height:y.value+`px`}:{})},[g(`div`,{ref_key:`stageEl`,ref:f,class:C([`stage`,{"stage--minified":_.value&&a.value&&s.value}])},[_.value&&a.value&&s.value?(O(),h(`button`,{key:0,class:`stage__dismiss`,"aria-label":`Close`,onClick:L(A,[`stop`])},[v(We)])):m(`v-if`,!0),a.value&&s.value?(O(),p(Q,x({ref_key:`playerRef`,ref:i,key:a.value.videoUrl},a.value,{onStateChange:ee}),null,16)):(O(),h(`div`,{key:2,class:`stage__idle`,style:T({aspectRatio:a.value?.aspectRatio||`16:9`}),onClick:w},[a.value?.poster?(O(),h(`img`,{key:0,src:a.value.poster,class:`stage__idle-poster`},null,8,Dt)):m(`v-if`,!0),t[0]||=g(`div`,{class:`stage__idle-scrim`},null,-1),g(`div`,Ot,[a.value?(O(),h(u,{key:0},[g(`div`,kt,[v(Y)]),g(`p`,At,M(a.value.title),1)],64)):(O(),h(`p`,jt,`Select a video to play`))])],4))],2)],4))}}),[[`__scopeId`,`data-v-fb8c86cf`]]);const Nt={class:`placeholder`},Pt=[`src`,`alt`],Ft={class:`placeholder__btn-wrap`},It={key:2,class:`placeholder__footer`},Lt={class:`placeholder__title`};var $=J(y({__name:`VideoPlaceholder`,props:{videoUrl:{type:String,required:!0},title:{type:String,required:!1,default:``},poster:{type:String,required:!1,default:``},aspectRatio:{type:String,required:!1,default:`16:9`},platform:{type:String,required:!1,default:``},techOptions:{type:Object,required:!1,default:()=>({})},adTagUrl:{type:String,required:!1,default:``},imaOptions:{type:Object,required:!1},autoplay:{type:Boolean,required:!1,default:!1},muted:{type:Boolean,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1,default:!1},autoStage:{type:Boolean,required:!1,default:!1},lazy:{type:Boolean,required:!1},payload:{type:Object,required:!1,default:()=>({})},action:{type:[String,Object,null],required:!1,default:null}},setup(t){let n=t,{isPortrait:r,cssRatio:i}=e(n.aspectRatio),a=j(!1),s=j(!1);function l(e){let t=e.detail;a.value=t.currentVideoUrl===n.videoUrl,s.value=a.value&&t.isPlaying}function u(e){window.dispatchEvent(new CustomEvent(o,{detail:{...n,...e!==void 0&&{autoplay:e}}}))}function d(){u(!0)}return D(()=>{window.addEventListener(c,l),n.autoStage&&u()}),E(()=>window.removeEventListener(c,l)),(e,n)=>(O(),h(`div`,Nt,[g(`div`,{class:C([`placeholder__shell`,{"placeholder__shell--portrait":P(r),"placeholder__shell--active":a.value}]),style:T({aspectRatio:P(i)}),onClick:d},[t.poster?(O(),h(`img`,{key:0,class:`placeholder__poster`,src:t.poster,alt:t.title},null,8,Pt)):m(`v-if`,!0),n[0]||=g(`div`,{class:`placeholder__scrim`},null,-1),t.platform?(O(),h(`span`,{key:1,class:C([`placeholder__badge`,`badge--${t.platform}`])},M(t.platform),3)):m(`v-if`,!0),g(`div`,Ft,[v(Z,{"is-playing":a.value&&s.value,size:`lg`,onTogglePlay:d},null,8,[`is-playing`])]),t.title?(O(),h(`div`,It,[g(`p`,Lt,M(t.title),1)])):m(`v-if`,!0)],6)]))}}),[[`__scopeId`,`data-v-dbcb4f82`]]),Rt=y({__name:`VideoItem`,props:{videoUrl:{type:String,required:!0},title:{type:String,required:!1},poster:{type:String,required:!1},aspectRatio:{type:String,required:!1},platform:{type:String,required:!1},techOptions:{type:Object,required:!1},adTagUrl:{type:String,required:!1},imaOptions:{type:Object,required:!1},autoplay:{type:Boolean,required:!1},muted:{type:Boolean,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1},autoStage:{type:Boolean,required:!1},lazy:{type:Boolean,required:!1,default:!0},payload:{type:Object,required:!1},action:{type:[String,Object,null],required:!1,default:null}},emits:[`state-change`],setup(e,{emit:t}){let n=e,r=t,i=j(!1);return(e,t)=>P(wt)?(O(),p($,w(x({key:0},e.$props)),null,16)):(O(),h(u,{key:1},[n.lazy&&!i.value&&!n.autoplay?(O(),p($,x({key:0},e.$props,{onClickCapture:t[0]||=e=>i.value=!0}),null,16)):(O(),p(Q,x({key:1},n,{autoplay:i.value||n.autoplay,onStateChange:t[1]||=e=>r(`state-change`,e)}),null,16,[`autoplay`]))],64))}});const zt={install(e){e.component(`VideoPlayer`,Q),e.component(`VideoStage`,Mt),e.component(`VideoPlaceholder`,$),e.component(`VideoItem`,Rt)}};export{q as ActionKey,K as HudKey,G as PlayerKey,Rt as VideoItem,$ as VideoPlaceholder,Q as VideoPlayer,zt as VideoPlayerPlugin,zt as default,Mt as VideoStage,B as getPlatform};
1
+ import{i as e,n as t}from"./chunks/tech-DYVa4zaY.mjs";import{a as n,c as r,i,n as a,o,r as s,s as c,t as l}from"./chunks/constants-DZGeSme4.mjs";import{Fragment as u,Transition as d,computed as f,createBlock as p,createCommentVNode as m,createElementBlock as h,createElementVNode as g,createStaticVNode as _,createVNode as v,defineComponent as y,inject as b,mergeProps as x,nextTick as S,normalizeClass as C,normalizeProps as w,normalizeStyle as T,onBeforeUnmount as E,onMounted as D,openBlock as O,provide as k,reactive as A,ref as j,toDisplayString as M,toRef as N,unref as P,watch as F,withCtx as I,withModifiers as L}from"vue";import ee from"video.js";const R={},z=[{test:e=>/youtu\.be|youtube\.com/.test(e),key:`youtube`,tech:`Youtube`,type:`video/youtube`,load:()=>import(`./chunks/youtube-BE1BWyQG.mjs`)},{test:e=>/vimeo\.com|player\.vimeo\.com/.test(e),key:`vimeo`,tech:`Vimeo`,type:`video/vimeo`,load:()=>import(`./chunks/vimeo-yir3kEbO.mjs`)},{test:e=>/dailymotion\.com|dai\.ly/.test(e),key:`dailymotion`,tech:`Dailymotion`,type:`video/dailymotion`,load:()=>import(`./chunks/dailymotion-CXCiXJKy.mjs`)},{test:e=>/cdn\.jwplayer\.com/.test(e)||e.startsWith(`jwplayer://`),key:`jwplayer`,tech:null,type:`video/jwplayer`,load:()=>import(`./chunks/jwplayer-CNDwSK03.mjs`)},{test:e=>e.startsWith(`brightcove://`),key:`brightcove`,tech:null,type:`video/brightcove`,load:()=>import(`./chunks/brightcove-BjpjJMHX.mjs`)}];function te(e){return z.find(t=>t.test(e))?.key??`html5`}async function ne(e){let t=z.find(t=>t.test(e));if(!t)return{tech:null,type:null,adTagUrl:null};R[t.key]||(R[t.key]=t.load());let n=null,{prefetchConfig:r}=await R[t.key];return r&&(n=(await r(e).catch(()=>null))?.adTagUrl??null),{tech:t.tech,type:t.type,adTagUrl:n}}const B=new Set([`Youtube`,`Vimeo`,`Dailymotion`]);function re(e){return!B.has(e)}function ie(){return window.google?.ima?Promise.resolve():new Promise((e,t)=>{let n=document.createElement(`script`);n.src=`https://imasdk.googleapis.com/js/sdkloader/ima3.js`,n.onload=e,n.onerror=()=>t(Error(`Failed to load Google IMA SDK`)),document.head.appendChild(n)})}async function ae(e,t){return!t||!re(e)?!1:(await ie(),await import(`videojs-contrib-ads`),await import(`videojs-ima`),!0)}function oe(e,t,n={}){e.ima({adTagUrl:t,showControlsForJSAds:!1,...n})}const V=new Set;function se(e){return V.add(e),()=>V.delete(e)}function ce(e){V.forEach(t=>{if(t!==e)try{t()}catch{}})}function H(){try{return JSON.parse(localStorage.getItem(`player:positions`)??`[]`)}catch{return[]}}function U(e){localStorage.setItem(l,JSON.stringify(e))}function le(e,t){if(t<5)return;let n=H().filter(t=>t.url!==e);n.unshift({url:e,time:t}),U(n.slice(0,5))}function ue(e){return H().find(t=>t.url===e)?.time??null}function de(e){U(H().filter(t=>t.url!==e))}function W(e,r,o){let c=null,l=!1,u=null,d=null,p=null,m=null,h=new Set,g=[[.25,`firstQuartile`],[.5,`midpoint`],[.75,`thirdQuartile`]],_=j(!1),v=j(!1),y=j(!1),b=j(!1),x=j(0),S=j(0),C=j(0),w=j(1),T=j(r.muted??r.autoplay??!1),O=j(!1),k=j(r.playbackRate??1),A=j(!1),M=j(!1),N=j(!1),P=j(``),I=j(!1),L=j(!1),R=j(!1),z=f(()=>S.value?x.value/S.value*100:0),te=f(()=>Math.max(C.value,z.value)),B=()=>c.tech({IWillNotUseThisInPlugins:!0});function ie(){let e=B();if(typeof e?.enterFullscreen==`function`){e.enterFullscreen();return}let t=e?.el();if(typeof t?.webkitEnterFullscreen==`function`){t.webkitEnterFullscreen();return}c.requestFullscreen()}function V(){let e=B();typeof e?.exitFullscreen==`function`?e.exitFullscreen():c.exitFullscreen()}function H(){c&&(L.value?V():ie())}function U(){let e=document;L.value=!!(document.fullscreenElement||e.webkitFullscreenElement)}function W(e,t={}){o(`state-change`,{type:e,currentTime:x.value,duration:S.value,src:r.videoUrl,...t,payload:r.payload})}function fe(){if(!S.value)return;let e=x.value/S.value;for(let[t,n]of g)!h.has(t)&&e>=t&&(h.add(t),W(n))}function G(){!c||!p||(N.value=!1,P.value=``,c.src(p))}function K(){!c||!v.value||(c.paused()?c.play():c.pause())}function q(e){c?.currentTime(S.value*(e/100))}function J(){c?.muted(!c.muted())}function pe(e){c&&(c.volume(e),c.muted(e===0))}function me(){O.value=!O.value}function he(e){c&&(c.playbackRate(e),k.value=e)}function ge(){c.ready(()=>{v.value=!0,A.value=!!B()?.featuresPlaybackRate});let e=()=>{let e=c.duration();e>0&&isFinite(e)&&(S.value=e)};c.on([`adstart`,s],()=>{ce(Y),y.value=!0,W(`adstart`)}),c.on([`adend`,a],()=>{y.value=!1,W(`adend`)}),c.on(`play`,()=>{if(ce(Y),M.value=!0,_.value=!0,!l){let e=ue(r.videoUrl);e&&c.currentTime(e),l=!0}W(`play`)}),c.on(`pause`,()=>{_.value=!1,le(r.videoUrl,c.currentTime()),W(`pause`)}),c.on(`ended`,()=>{_.value=!1,h.clear(),O.value?(c.currentTime(0),c.play()):(de(r.videoUrl),W(`ended`))}),c.on(`seeked`,()=>{W(`seeked`)}),c.on(`error`,()=>{let e=c.error();P.value=e?.message||`This video could not be played.`,N.value=!0,v.value=!0,W(`error`,{error:e})}),c.on(`waiting`,()=>{clearTimeout(m??void 0),m=setTimeout(()=>{b.value=!0},200)}),c.on(`playing`,()=>{clearTimeout(m??void 0),b.value=!1}),c.on(`canplay`,()=>{clearTimeout(m??void 0),b.value=!1}),c.on(`timeupdate`,()=>{x.value=c.currentTime(),S.value||e(),fe()}),c.on(`durationchange`,e),c.on(`progress`,()=>{let e=c.duration();C.value=e?c.bufferedEnd()/e*100:0}),c.on(`volumechange`,()=>{let e=c.muted();w.value=c.volume(),T.value=e,M.value&&W(`volumechange`,{isMuted:e})}),c.on(`ratechange`,()=>{let e=c.playbackRate();k.value=e,M.value&&W(`ratechange`,{playbackRate:e})}),c.on(`fullscreenchange`,()=>{L.value=c.isFullscreen()}),c.on(i,()=>{R.value=!0}),c.on(n,()=>{R.value=!1})}function Y(){c?.pause()}F(()=>r.muted,e=>{!c||e===void 0||c.muted(e)}),F(()=>r.playbackRate,e=>{!c||e===void 0||c.playbackRate(e)}),D(async()=>{document.addEventListener(`fullscreenchange`,U),document.addEventListener(`webkitfullscreenchange`,U),document.addEventListener(`visibilitychange`,_e);let{tech:t,type:n,adTagUrl:i}=await ne(r.videoUrl),a=t?[t,`Html5`]:[`Html5`],o=r.adTagUrl||i||``,s=await ae(t??`Html5`,o);if(!e.value)return;let l={src:r.videoUrl,...n&&{type:n}};p=l,I.value=!!(r.nativeUi&&!re(t??``)),c=ee(e.value,{techOrder:a,controls:!1,fluid:!0,aspectRatio:r.aspectRatio??`16:9`,poster:r.poster||``,playsinline:!0,autoplay:r.autoplay,muted:r.muted??r.autoplay,playbackRate:k.value,adTagUrl:o,youtube:{nativeUi:I.value},vimeo:{nativeUi:I.value},dailymotion:{nativeUi:I.value},...!s&&{sources:[l]},...r.techOptions}),s&&(oe(c,o,r.imaOptions??{}),c.src(l)),u=se(Y),ge(),d=new IntersectionObserver(([e])=>{!e.isIntersecting&&c&&!c.paused()&&!L.value&&c.pause()},{threshold:.1}),e.value&&d.observe(e.value)});function _e(){document.visibilityState===`hidden`&&c&&le(r.videoUrl,c.currentTime())}return E(()=>{c&&le(r.videoUrl,c.currentTime()),clearTimeout(m??void 0),u?.(),d?.disconnect(),document.removeEventListener(`visibilitychange`,_e),document.removeEventListener(`fullscreenchange`,U),document.removeEventListener(`webkitfullscreenchange`,U),c?.dispose(),c=null}),{isPlaying:_,isReady:v,isAdPlaying:y,isBuffering:b,current:x,total:S,vol:w,isMuted:T,isLooping:O,playbackRate:k,hasStarted:M,isError:N,errorMessage:P,progress:z,bufferedDisplay:te,isFullscreen:L,isFullscreenPending:R,fmt:t,fire:W,retry:G,togglePlay:K,seek:q,toggleMute:J,setVolume:pe,toggleFullscreen:H,toggleLoop:me,setPlaybackRate:he,supportsPlaybackRate:A,nativeUi:I}}function fe(e,t){let n=j(!0),r=j(!1),i=null;function a(e=3500){clearTimeout(i??void 0),i=setTimeout(()=>{n.value=!1,t?.value||(r.value=!1)},e)}function o(){clearTimeout(i??void 0)}function s(){r.value=!0,n.value=!0,a()}function c(){r.value=!1,e.value&&a()}function l(){e.value&&a()}function u(){n.value=!0,e.value&&a()}function d(){n.value=!0,a()}function f(){e.value&&a(600)}return F(e,e=>{e?a():(clearTimeout(i??void 0),n.value=!0)}),E(()=>clearTimeout(i??void 0)),{showHUD:n,isOpen:r,scheduleHide:a,pauseHide:o,onVideoTap:u,onMouseMove:d,onMouseLeave:f,openControls:s,closeControls:c,keepOpen:l}}const G=Symbol(`player`),K=Symbol(`hud`),q=Symbol(`action`);var J=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n};const pe={},me={viewBox:`0 0 24 24`,fill:`currentColor`};function he(e,t){return O(),h(`svg`,me,[...t[0]||=[g(`path`,{d:`M8 5v14l11-7z`},null,-1)]])}var ge=J(pe,[[`render`,he]]);const Y={},_e={viewBox:`0 0 24 24`,fill:`currentColor`};function ve(e,t){return O(),h(`svg`,_e,[...t[0]||=[g(`path`,{d:`M6 19h4V5H6v14zm8-14v14h4V5h-4z`},null,-1)]])}var ye=J(Y,[[`render`,ve]]);const be=[`aria-label`];var X=J(y({__name:`PlayPauseButton`,props:{isPlaying:{type:Boolean,required:!0},size:{type:String,default:`sm`}},emits:[`toggle-play`],setup(e){return(t,n)=>(O(),h(`button`,{class:C([`ppbtn`,`ppbtn--${e.size}`]),"aria-label":e.isPlaying?`Pause`:`Play`,onClick:n[0]||=L(e=>t.$emit(`toggle-play`),[`stop`])},[e.isPlaying?(O(),p(ye,{key:0})):(O(),p(ge,{key:1}))],10,be))}}),[[`__scopeId`,`data-v-85902525`]]);const xe={},Se={viewBox:`0 0 24 24`,fill:`currentColor`};function Ce(e,t){return O(),h(`svg`,Se,[...t[0]||=[g(`path`,{d:`M3 9v6h4l5 5V4L7 9H3zm13.5 3A4.5 4.5 0 0 0 14 7.97v8.05c1.48-.73 2.5-2.25 2.5-4.02z`},null,-1)]])}var we=J(xe,[[`render`,Ce]]);const Te={},Ee={viewBox:`0 0 24 24`,fill:`currentColor`};function De(e,t){return O(),h(`svg`,Ee,[...t[0]||=[g(`path`,{d:`M16.5 12A4.5 4.5 0 0 0 14 7.97v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51A8.796 8.796 0 0 0 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3L3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06A8.99 8.99 0 0 0 17.73 18L19 19.27 20.27 18 5.27 3 4.27 3zM12 4L9.91 6.09 12 8.18V4z`},null,-1)]])}var Z=J(Te,[[`render`,De]]);const Oe={},ke={viewBox:`0 0 24 24`,fill:`currentColor`};function Ae(e,t){return O(),h(`svg`,ke,[...t[0]||=[g(`path`,{d:`M7 7h10v3l4-4-4-4v3H5v6h2V7zm10 10H7v-3l-4 4 4 4v-3h12v-6h-2v4z`},null,-1)]])}var je=J(Oe,[[`render`,Ae]]);const Me={},Ne={viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function Pe(e,t){return O(),h(`svg`,Ne,[...t[0]||=[_(`<line x1="4" y1="6" x2="20" y2="6"></line><line x1="4" y1="12" x2="20" y2="12"></line><line x1="4" y1="18" x2="20" y2="18"></line><circle cx="9" cy="6" r="2.5" fill="currentColor" stroke="none"></circle><circle cx="15" cy="12" r="2.5" fill="currentColor" stroke="none"></circle><circle cx="9" cy="18" r="2.5" fill="currentColor" stroke="none"></circle>`,6)]])}var Fe=J(Me,[[`render`,Pe]]);const Ie={class:`hud`},Le=[`aria-label`],Re=[`aria-label`],ze=[`aria-label`,`innerHTML`];var Be=J(y({__name:`HudButtons`,setup(e){let t=b(G),n=b(K),r=b(q),i=f(()=>r?.value??null),a=f(()=>!!i.value&&typeof i.value==`object`),o=f(()=>a.value?i.value:null),s=f(()=>i.value===`mute`?t.isMuted?`Unmute`:`Mute`:i.value===`loop`?t.isLooping?`Disable loop`:`Loop`:``);function c(){i.value===`mute`?t.toggleMute():i.value===`loop`&&t.toggleLoop()}return(e,r)=>(O(),h(`div`,Ie,[m(` Built-in: mute `),i.value===`mute`?(O(),h(`button`,{key:0,class:C([`hud__btn`,{"hud__btn--active":P(t).isMuted}]),"aria-label":s.value,onClick:L(c,[`stop`])},[!P(t).isMuted&&P(t).vol>0?(O(),p(we,{key:0})):(O(),p(Z,{key:1}))],10,Le)):i.value===`loop`?(O(),h(u,{key:1},[m(` Built-in: loop `),g(`button`,{class:C([`hud__btn`,{"hud__btn--active":P(t).isLooping}]),"aria-label":s.value,onClick:L(c,[`stop`])},[v(je)],10,Re)],2112)):a.value&&o.value?(O(),h(u,{key:2},[m(` Custom action `),g(`button`,{class:`hud__btn`,"aria-label":o.value.label,onClick:r[0]||=L(e=>o.value.onClick(),[`stop`]),innerHTML:o.value.icon},null,8,ze)],2112)):(O(),h(u,{key:3},[m(` No action — spacer keeps layout balanced `),r[2]||=g(`div`,{class:`hud__spacer`},null,-1)],2112)),v(X,{"is-playing":P(t).isPlaying,size:`lg`,onTogglePlay:P(t).togglePlay},null,8,[`is-playing`,`onTogglePlay`]),g(`button`,{class:`hud__btn`,"aria-label":`Show controls`,onClick:r[1]||=L((...e)=>P(n).openControls&&P(n).openControls(...e),[`stop`])},[v(Fe)])]))}}),[[`__scopeId`,`data-v-a6d118e7`]]);const Ve={},He={viewBox:`0 0 24 24`,fill:`currentColor`};function Ue(e,t){return O(),h(`svg`,He,[...t[0]||=[g(`path`,{d:`M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z`},null,-1)]])}var We=J(Ve,[[`render`,Ue]]);const Ge={},Ke={viewBox:`0 0 24 24`,fill:`currentColor`};function qe(e,t){return O(),h(`svg`,Ke,[...t[0]||=[g(`path`,{d:`M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z`},null,-1)]])}var Je=J(Ge,[[`render`,qe]]);const Ye={},Xe={viewBox:`0 0 24 24`,fill:`currentColor`};function Ze(e,t){return O(),h(`svg`,Xe,[...t[0]||=[g(`path`,{d:`M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z`},null,-1)]])}var Qe=J(Ye,[[`render`,Ze]]);const $e={},et={viewBox:`0 0 24 24`,fill:`currentColor`};function tt(e,t){return O(),h(`svg`,et,[...t[0]||=[g(`path`,{d:`M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z`},null,-1)]])}var nt=J($e,[[`render`,tt]]);const rt={class:`controls__vol-header`},it=[`aria-label`],at={class:`controls__vol-body`},ot=[`value`],st={class:`controls__vol-pct`},ct=[`value`],lt={class:`controls__row`},ut={class:`controls__play-wrap`},dt={key:0,class:`controls__buf-spinner`},ft={class:`controls__time`},pt={key:2,class:`controls__fs-wrap`},mt={key:0,class:`controls__fs-spinner`},ht=[`aria-label`];var gt=J(y({__name:`ControlsPopup`,props:{focusMode:{type:Boolean,default:!1}},setup(e){let t=e,n=b(G),r=b(K),i=b(`compact`),a=f(()=>!!i?.value&&!t.focusMode),o=j(!1),s=j(null);E(()=>{o.value=!1});function c(e){if(!document.startViewTransition||!s.value){e();return}s.value.style.viewTransitionName=`controls-popup`,document.startViewTransition(async()=>{e(),await S()}).finished.finally(()=>{s.value&&(s.value.style.viewTransitionName=``)})}let l=f(()=>n.isMuted?0:Math.round(n.vol*100)),d=null;function _(){d=setTimeout(()=>{d=null,c(()=>{o.value=!0})},350)}function y(){d&&(clearTimeout(d),d=null,n.toggleMute())}function x(){clearTimeout(d),d=null}function w(e){n.seek(Number(e.target.value))}function D(e){n.setVolume(Number(e.target.value)/100)}let k=[.5,.75,1,1.25,1.5,2];function A(){let e=k[(k.indexOf(n.playbackRate)+1)%k.length];n.setPlaybackRate(e)}function N(e){return e===1?`1×`:`${e}×`}return(e,t)=>(O(),h(`div`,{ref_key:`popupEl`,ref:s,class:C([`controls`,{"controls--fs":P(n).isFullscreen}]),onMousemove:t[14]||=L((...e)=>P(r).keepOpen&&P(r).keepOpen(...e),[`stop`])},[o.value?(O(),h(u,{key:0},[g(`div`,rt,[g(`button`,{class:`controls__btn`,"aria-label":`Back`,onClick:t[0]||=e=>c(()=>o.value=!1)},[v(Je)]),t[15]||=g(`span`,{class:`controls__vol-label`},`Volume`,-1),g(`button`,{class:`controls__btn`,"aria-label":P(n).isMuted?`Unmute`:`Mute`,onClick:t[1]||=e=>P(n).toggleMute()},[!P(n).isMuted&&P(n).vol>0?(O(),p(we,{key:0})):(O(),p(Z,{key:1}))],8,it)]),g(`div`,at,[g(`input`,{type:`range`,min:`0`,max:`100`,step:`1`,value:l.value,class:`controls__vol-slider`,style:T({"--v":l.value+`%`}),"aria-label":`Volume`,onInput:D,onMousedown:t[2]||=e=>P(r).pauseHide(),onMouseup:t[3]||=e=>P(r).scheduleHide(),onTouchstartPassive:t[4]||=e=>P(r).pauseHide(),onTouchend:t[5]||=e=>P(r).scheduleHide()},null,44,ot),g(`span`,st,M(l.value)+`%`,1)])],64)):(O(),h(u,{key:1},[a.value?m(`v-if`,!0):(O(),h(`input`,{key:0,type:`range`,min:`0`,max:`100`,value:P(n).progress,class:`controls__seek`,style:T({"--p":P(n).progress+`%`,"--b":P(n).bufferedDisplay+`%`}),onInput:w,onMousedown:t[6]||=e=>P(r).pauseHide(),onMouseup:t[7]||=e=>P(r).scheduleHide(),onTouchstartPassive:t[8]||=e=>P(r).pauseHide(),onTouchend:t[9]||=e=>P(r).scheduleHide()},null,44,ct)),g(`div`,lt,[g(`div`,ut,[P(n).isBuffering?(O(),h(`div`,dt)):(O(),p(X,{key:1,"is-playing":P(n).isPlaying,size:`sm`,onTogglePlay:t[10]||=e=>P(n).togglePlay()},null,8,[`is-playing`]))]),g(`span`,ft,M(P(n).fmt(P(n).current))+` / `+M(P(n).fmt(P(n).total)),1),!a.value&&P(n).supportsPlaybackRate?(O(),h(`button`,{key:0,class:C([`controls__btn controls__btn--rate`,{"controls__btn--active":P(n).playbackRate!==1}]),"aria-label":`Playback rate`,onClick:A},M(N(P(n).playbackRate)),3)):m(`v-if`,!0),a.value?m(`v-if`,!0):(O(),h(`button`,{key:1,class:C([`controls__btn`,{"controls__btn--active":P(n).isLooping}]),"aria-label":`Toggle loop`,onClick:t[11]||=e=>P(n).toggleLoop()},[v(je)],2)),g(`button`,{class:`controls__btn`,"aria-label":`Volume`,onMousedown:_,onMouseup:y,onMouseleave:x,onTouchstartPassive:_,onTouchend:L(y,[`prevent`]),onTouchcancel:x},[!P(n).isMuted&&P(n).vol>0?(O(),p(we,{key:0})):(O(),p(Z,{key:1}))],32),a.value?m(`v-if`,!0):(O(),h(`div`,pt,[P(n).isFullscreenPending?(O(),h(`div`,mt)):(O(),h(`button`,{key:1,class:`controls__btn`,"aria-label":P(n).isFullscreen?`Exit fullscreen`:`Fullscreen`,onClick:t[12]||=e=>P(n).toggleFullscreen()},[P(n).isFullscreen?(O(),p(nt,{key:0})):(O(),p(Qe,{key:1}))],8,ht))])),g(`button`,{class:`controls__btn controls__btn--close`,"aria-label":`Close`,onClick:t[13]||=e=>P(r).closeControls()},[v(We)])])],64))],34))}}),[[`__scopeId`,`data-v-5712aad4`]]);const _t={key:0,class:`overlay__spinner`},vt={key:0,class:`overlay__error`};var yt=J(y({__name:`PlayerOverlay`,props:{focusMode:{type:Boolean,default:!1},isFocused:{type:Boolean,default:!1}},setup(e){let t=b(G),n=b(K);return(r,i)=>(O(),h(u,null,[m(` Inactive until content has started so platform ad UIs (skip buttons etc.) remain reachable `),g(`div`,{class:`overlay__tap-capture`,style:T({pointerEvents:!P(t).hasStarted||P(t).isAdPlaying?`none`:void 0}),onClick:i[0]||=(...e)=>P(n).onVideoTap&&P(n).onVideoTap(...e),onTouchend:i[1]||=L((...e)=>P(n).onVideoTap&&P(n).onVideoTap(...e),[`prevent`,`stop`])},null,36),v(d,{name:`fade`},{default:I(()=>[!P(t).isReady&&!P(t).isError?(O(),h(`div`,_t,[...i[4]||=[g(`div`,{class:`overlay__spinner-ring`},null,-1)]])):m(`v-if`,!0)]),_:1}),v(d,{name:`fade`},{default:I(()=>[P(t).isError?(O(),h(`div`,vt,[g(`p`,null,M(P(t).errorMessage||`This video could not be played.`),1),g(`button`,{class:`overlay__retry`,onClick:i[2]||=L((...e)=>P(t).retry&&P(t).retry(...e),[`stop`])},`Retry`)])):m(`v-if`,!0)]),_:1}),m(` Hidden in fullscreen, or while focus mode is actually centered (the expanded controls render below the video instead) `),g(`div`,{class:C([`overlay__hud`,{"overlay__hud--visible":P(n).showHUD&&P(t).isReady&&!P(t).isError&&!e.isFocused&&!(P(n).isOpen&&P(t).isFullscreen)}])},[v(Be)],2),v(d,{name:`popup`},{default:I(()=>[P(n).isOpen&&P(t).isReady&&!P(t).isError&&!e.focusMode?(O(),h(`div`,{key:0,class:C([`overlay__popup`,{"overlay__popup--fs":P(t).isFullscreen}]),onClick:i[3]||=L(()=>{},[`stop`])},[v(gt)],2)):m(`v-if`,!0)]),_:1})],64))}}),[[`__scopeId`,`data-v-f3307b98`]]);const bt=[`data-focused`],xt={"data-vjs-player":``},St={key:1,class:`player__native-play`};var Q=J(y({__name:`VideoPlayer`,props:{videoUrl:{type:String,required:!0},title:{type:String,required:!1,default:``},poster:{type:String,required:!1,default:``},aspectRatio:{type:String,required:!1,default:`16:9`},platform:{type:String,required:!1,default:``},techOptions:{type:Object,required:!1,default:()=>({})},adTagUrl:{type:String,required:!1,default:``},imaOptions:{type:Object,required:!1},autoplay:{type:Boolean,required:!1,default:!1},muted:{type:Boolean,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1,default:!1},autoStage:{type:Boolean,required:!1,default:!1},lazy:{type:Boolean,required:!1,default:!1},payload:{type:Object,required:!1,default:()=>({})},action:{type:[String,Object,null],required:!1,default:null},focusMode:{type:Boolean,required:!1,default:!1}},emits:[`state-change`],setup(t,{expose:n,emit:r}){let i=t,a=r,o=j(null),s=A(W(o,i,a)),c=j(!1),l=A(fe(N(s,`isPlaying`),c));k(G,s),k(K,l),k(q,N(i,`action`));let{isPortrait:u,cssRatio:d}=e(i.aspectRatio),_=j(null),y=typeof document<`u`&&!!document.startViewTransition,b=f(()=>i.focusMode&&y);F(()=>b.value?l.isOpen:!1,e=>{let t=()=>{c.value=e,s.fire(e?`focusstart`:`focusend`)};if(!_.value){t();return}_.value.style.viewTransitionName=`player-focus`,document.startViewTransition(async()=>{t(),await S()}).finished.finally(()=>{_.value&&(_.value.style.viewTransitionName=``)})});function x(e){e.key===`Escape`&&c.value&&l.closeControls()}return D(()=>document.addEventListener(`keydown`,x)),E(()=>document.removeEventListener(`keydown`,x)),n(s),(e,t)=>(O(),h(`div`,{class:`player`,"data-focused":c.value?``:null},[c.value?(O(),h(`div`,{key:0,class:C([`player__placeholder`,{"player__shell--portrait":P(u)}]),style:T({aspectRatio:P(d)})},null,6)):m(`v-if`,!0),c.value?(O(),h(`div`,{key:1,class:`player__backdrop`,onClick:t[0]||=e=>l.closeControls()})):m(`v-if`,!0),g(`div`,{ref_key:`focusFrameEl`,ref:_,class:C([`player__focus-frame`,{"player__focus-frame--active":c.value}])},[g(`div`,{class:C([`player__shell`,{"player__shell--portrait":P(u)}]),style:T({aspectRatio:P(d)}),onMousemove:t[1]||=e=>l.onMouseMove(),onContextmenuCapture:t[2]||=L(()=>{},[`prevent`]),onMouseleave:t[3]||=e=>l.onMouseLeave()},[g(`div`,xt,[g(`video`,{ref_key:`videoEl`,ref:o,class:`video-js`,playsinline:``},null,512),s.nativeUi?m(`v-if`,!0):(O(),p(yt,{key:0,"focus-mode":b.value,"is-focused":c.value},null,8,[`focus-mode`,`is-focused`])),s.nativeUi&&!s.hasStarted?(O(),h(`div`,St,[v(X,{"is-playing":!1,size:`lg`,onTogglePlay:s.togglePlay},null,8,[`onTogglePlay`])])):m(`v-if`,!0)])],38),c.value?(O(),h(`div`,{key:0,class:`player__focus-controls`,onClick:t[4]||=L(()=>{},[`stop`])},[v(gt,{"focus-mode":``})])):m(`v-if`,!0)],2)],8,bt))}}),[[`__scopeId`,`data-v-4ab3cf75`]]);const Ct=j(0),wt=f(()=>Ct.value>0);function Tt(){Ct.value++}function Et(){Ct.value--}const Dt=[`src`],Ot={class:`stage__idle-body`},kt={class:`stage__idle-btn`},At={class:`stage__idle-title`},jt={key:1,class:`stage__idle-empty`};var Mt=J(y({__name:`VideoStage`,emits:[`state-change`],setup(e,{emit:t}){let n=t,i=j(null),a=j(null),s=j(!1),l=j(!1),d=j(null),f=j(null),_=j(!1),y=j(null);k(`compact`,_);let b=null;F(_,e=>{y.value=e&&f.value?f.value.offsetHeight:null});function S(){b?.disconnect(),d.value&&(b=new IntersectionObserver(([e])=>{_.value=!e.isIntersecting},{threshold:1}),b.observe(d.value))}F(d,S);function w(){a.value&&(a.value={...a.value,autoplay:!0},s.value=!0)}function A(){a.value=null,s.value=!1,l.value=!1,_.value=!1,y.value=null,N()}function N(){window.dispatchEvent(new CustomEvent(c,{detail:{currentVideoUrl:a.value?.videoUrl??null,isPlaying:l.value}}))}function P(e){let t=e.detail;if(a.value?.videoUrl===t.videoUrl&&s.value){i.value?.togglePlay();return}a.value=t,s.value=!1,l.value=!1,N(),s.value=!0}function I(e){let t=e.detail;!a.value||t.videoUrl!==a.value.videoUrl||(s.value?i.value?.togglePlay():(a.value={...a.value,autoplay:!0},s.value=!0))}function ee(e){e.type===`play`&&(l.value=!0),(e.type===`pause`||e.type===`ended`)&&(l.value=!1),N(),n(`state-change`,e)}return D(()=>{Tt(),window.addEventListener(o,P),window.addEventListener(r,I)}),E(()=>{Et(),window.removeEventListener(o,P),window.removeEventListener(r,I),b?.disconnect()}),(e,t)=>(O(),h(`div`,{ref_key:`wrapperEl`,ref:d,class:`stage-wrapper`,style:T(y.value?{height:y.value+`px`}:{})},[g(`div`,{ref_key:`stageEl`,ref:f,class:C([`stage`,{"stage--minified":_.value&&a.value&&s.value}])},[_.value&&a.value&&s.value?(O(),h(`button`,{key:0,class:`stage__dismiss`,"aria-label":`Close`,onClick:L(A,[`stop`])},[v(We)])):m(`v-if`,!0),a.value&&s.value?(O(),p(Q,x({ref_key:`playerRef`,ref:i,key:a.value.videoUrl},a.value,{onStateChange:ee}),null,16)):(O(),h(`div`,{key:2,class:`stage__idle`,style:T({aspectRatio:a.value?.aspectRatio||`16:9`}),onClick:w},[a.value?.poster?(O(),h(`img`,{key:0,src:a.value.poster,class:`stage__idle-poster`},null,8,Dt)):m(`v-if`,!0),t[0]||=g(`div`,{class:`stage__idle-scrim`},null,-1),g(`div`,Ot,[a.value?(O(),h(u,{key:0},[g(`div`,kt,[v(ge)]),g(`p`,At,M(a.value.title),1)],64)):(O(),h(`p`,jt,`Select a video to play`))])],4))],2)],4))}}),[[`__scopeId`,`data-v-fb8c86cf`]]);const Nt={class:`placeholder`},Pt=[`src`,`alt`],Ft={class:`placeholder__btn-wrap`},It={key:2,class:`placeholder__footer`},Lt={class:`placeholder__title`};var $=J(y({__name:`VideoPlaceholder`,props:{videoUrl:{type:String,required:!0},title:{type:String,required:!1,default:``},poster:{type:String,required:!1,default:``},aspectRatio:{type:String,required:!1,default:`16:9`},platform:{type:String,required:!1,default:``},techOptions:{type:Object,required:!1,default:()=>({})},adTagUrl:{type:String,required:!1,default:``},imaOptions:{type:Object,required:!1},autoplay:{type:Boolean,required:!1,default:!1},muted:{type:Boolean,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1,default:!1},autoStage:{type:Boolean,required:!1,default:!1},lazy:{type:Boolean,required:!1},payload:{type:Object,required:!1,default:()=>({})},action:{type:[String,Object,null],required:!1,default:null},focusMode:{type:Boolean,required:!1}},setup(t){let n=t,{isPortrait:r,cssRatio:i}=e(n.aspectRatio),a=j(!1),s=j(!1);function l(e){let t=e.detail;a.value=t.currentVideoUrl===n.videoUrl,s.value=a.value&&t.isPlaying}function u(e){window.dispatchEvent(new CustomEvent(o,{detail:{...n,...e!==void 0&&{autoplay:e}}}))}function d(){u(!0)}return D(()=>{window.addEventListener(c,l),n.autoStage&&u()}),E(()=>window.removeEventListener(c,l)),(e,n)=>(O(),h(`div`,Nt,[g(`div`,{class:C([`placeholder__shell`,{"placeholder__shell--portrait":P(r),"placeholder__shell--active":a.value}]),style:T({aspectRatio:P(i)}),onClick:d},[t.poster?(O(),h(`img`,{key:0,class:`placeholder__poster`,src:t.poster,alt:t.title},null,8,Pt)):m(`v-if`,!0),n[0]||=g(`div`,{class:`placeholder__scrim`},null,-1),t.platform?(O(),h(`span`,{key:1,class:C([`placeholder__badge`,`badge--${t.platform}`])},M(t.platform),3)):m(`v-if`,!0),g(`div`,Ft,[v(X,{"is-playing":a.value&&s.value,size:`lg`,onTogglePlay:d},null,8,[`is-playing`])]),t.title?(O(),h(`div`,It,[g(`p`,Lt,M(t.title),1)])):m(`v-if`,!0)],6)]))}}),[[`__scopeId`,`data-v-dbcb4f82`]]),Rt=y({__name:`VideoItem`,props:{videoUrl:{type:String,required:!0},title:{type:String,required:!1},poster:{type:String,required:!1},aspectRatio:{type:String,required:!1},platform:{type:String,required:!1},techOptions:{type:Object,required:!1},adTagUrl:{type:String,required:!1},imaOptions:{type:Object,required:!1},autoplay:{type:Boolean,required:!1},muted:{type:Boolean,required:!1},playbackRate:{type:Number,required:!1},nativeUi:{type:Boolean,required:!1},autoStage:{type:Boolean,required:!1},lazy:{type:Boolean,required:!1,default:!0},payload:{type:Object,required:!1},action:{type:[String,Object,null],required:!1,default:null},focusMode:{type:Boolean,required:!1}},emits:[`state-change`],setup(e,{emit:t}){let n=e,r=t,i=j(!1);return(e,t)=>P(wt)?(O(),p($,w(x({key:0},e.$props)),null,16)):(O(),h(u,{key:1},[n.lazy&&!i.value&&!n.autoplay?(O(),p($,x({key:0},e.$props,{onClickCapture:t[0]||=e=>i.value=!0}),null,16)):(O(),p(Q,x({key:1},n,{autoplay:i.value||n.autoplay,onStateChange:t[1]||=e=>r(`state-change`,e)}),null,16,[`autoplay`]))],64))}});const zt={install(e){e.component(`VideoPlayer`,Q),e.component(`VideoStage`,Mt),e.component(`VideoPlaceholder`,$),e.component(`VideoItem`,Rt)}};export{q as ActionKey,K as HudKey,G as PlayerKey,Rt as VideoItem,$ as VideoPlaceholder,Q as VideoPlayer,zt as VideoPlayerPlugin,zt as default,Mt as VideoStage,te as getPlatform};
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .ppbtn[data-v-85902525]{-webkit-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[data-v-85902525]:hover{background:#fff3;transform:scale(1.08)}.ppbtn--lg[data-v-85902525]{background:var(--mvp-btn-bg,#ffffff1a);width:64px;height:64px;color:var(--mvp-btn-color,#fff)}.ppbtn--lg svg[data-v-85902525]{width:28px;height:28px}.ppbtn--lg[data-v-85902525]:hover{background:var(--mvp-btn-bg,#fff3);filter:brightness(1.12)}.ppbtn--sm[data-v-85902525]{color:#ffffffbf;background:0 0;border:none;border-radius:8px;width:30px;height:30px}.ppbtn--sm svg[data-v-85902525]{width:16px;height:16px}.ppbtn--sm[data-v-85902525]:hover{color:#fff;background:#ffffff1a;transform:none}.hud[data-v-a6d118e7]{align-items:center;gap:20px;display:flex}.hud__spacer[data-v-a6d118e7]{flex-shrink:0;width:44px;height:44px}.hud__btn[data-v-a6d118e7]{background:var(--mvp-btn-bg,#ffffff1a);-webkit-backdrop-filter:blur(12px);width:44px;height:44px;color:var(--mvp-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 svg[data-v-a6d118e7]{width:18px;height:18px}.hud__btn[data-v-a6d118e7]:hover{background:var(--mvp-btn-bg,#fff3);filter:brightness(1.12);transform:scale(1.08)}.hud__btn--active[data-v-a6d118e7]{color:#93c5fd;background:#3b82f64d;border-color:#3b82f680}.hud__btn--active[data-v-a6d118e7]:hover{background:#3b82f673}::view-transition-old(controls-popup),::view-transition-new(controls-popup){animation-duration:.22s;animation-timing-function:ease-in-out}@keyframes spin-5712aad4{to{transform:rotate(360deg)}}.controls[data-v-5712aad4]{-webkit-backdrop-filter:blur(20px);background:#0a0a0ed1;border:1px solid #ffffff1a;border-radius:18px;flex-direction:column;gap:10px;width:min(340px,100% - 32px);padding:14px 16px 12px;display:flex;box-shadow:0 8px 32px #00000080}.controls--fs[data-v-5712aad4]{width:calc(100% - 32px)}.controls__seek[data-v-5712aad4]{-webkit-appearance:none;appearance:none;cursor:pointer;box-sizing:border-box;background:padding-box content-box;background-image:linear-gradient(to right, #3b82f6 0%, #3b82f6 var(--p), #ffffff4d var(--p), #ffffff4d var(--b), #ffffff1a var(--b), #ffffff1a 100%);border-radius:999px;outline:none;width:100%;height:20px;padding:8px 0}.controls__seek[data-v-5712aad4]::-webkit-slider-runnable-track{background:0 0;border-radius:999px;height:4px}.controls__seek[data-v-5712aad4]::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#3b82f6;border-radius:50%;width:14px;height:14px;margin-top:-5px;transition:transform .15s;box-shadow:0 0 0 3px #3b82f64d}.controls__seek[data-v-5712aad4]:hover::-webkit-slider-thumb{transform:scale(1.25)}.controls__seek[data-v-5712aad4]::-moz-range-track{background:#ffffff1a;border-radius:999px;height:4px}.controls__seek[data-v-5712aad4]::-moz-range-progress{background:#3b82f6;border-radius:999px;height:4px}.controls__seek[data-v-5712aad4]::-moz-range-thumb{cursor:pointer;background:#3b82f6;border:none;border-radius:50%;width:14px;height:14px;box-shadow:0 0 0 3px #3b82f64d}.controls__vol-slider[data-v-5712aad4]{-webkit-appearance:none;appearance:none;cursor:pointer;background:linear-gradient(to right, #fff 0%, #fff var(--v), #ffffff26 var(--v), #ffffff26 100%);border-radius:999px;outline:none;flex:1;height:5px;transition:height .15s}.controls__vol-slider[data-v-5712aad4]:hover{height:7px}.controls__vol-slider[data-v-5712aad4]::-webkit-slider-runnable-track{background:0 0;border-radius:999px;height:5px}.controls__vol-slider[data-v-5712aad4]::-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[data-v-5712aad4]:hover::-webkit-slider-thumb{transform:scale(1.2)}.controls__vol-slider[data-v-5712aad4]::-moz-range-track{background:#ffffff26;border-radius:999px;height:5px}.controls__vol-slider[data-v-5712aad4]::-moz-range-progress{background:#fff;border-radius:999px;height:5px}.controls__vol-slider[data-v-5712aad4]::-moz-range-thumb{cursor:pointer;background:#fff;border:none;border-radius:50%;width:16px;height:16px;box-shadow:0 0 0 3px #fff3}.controls__vol-header[data-v-5712aad4]{align-items:center;gap:4px;display:flex}.controls__vol-label[data-v-5712aad4]{color:#ffffffe6;flex:1;padding:0 4px;font-size:.8rem;font-weight:600}.controls__vol-body[data-v-5712aad4]{align-items:center;gap:12px;padding:6px 0 4px;display:flex}.controls__vol-pct[data-v-5712aad4]{font-variant-numeric:tabular-nums;color:#fff9;text-align:right;min-width:32px;font-size:.75rem;font-weight:600}.controls__row[data-v-5712aad4]{align-items:center;gap:4px;display:flex}.controls__time[data-v-5712aad4]{font-variant-numeric:tabular-nums;color:#fff9;letter-spacing:.02em;flex:1;padding:0 4px;font-size:.7rem;font-weight:500}.controls__play-wrap[data-v-5712aad4]{flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.controls__buf-spinner[data-v-5712aad4]{border:2px solid #ffffff26;border-top-color:#fffc;border-radius:50%;width:14px;height:14px;animation:.75s linear infinite spin-5712aad4}.controls__btn[data-v-5712aad4]{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__btn svg[data-v-5712aad4]{width:16px;height:16px}.controls__btn[data-v-5712aad4]:hover{color:#fff;background:#ffffff1a}.controls__btn--rate[data-v-5712aad4]{font-variant-numeric:tabular-nums;letter-spacing:.02em;width:auto;min-width:30px;padding:0 4px;font-size:.65rem;font-weight:700}.controls__btn--active[data-v-5712aad4]{color:#3b82f6}.controls__btn--active[data-v-5712aad4]:hover{color:#60a5fa}.controls__btn--close[data-v-5712aad4]{color:#fff6}.controls__btn--close[data-v-5712aad4]:hover{color:#fffc}.controls__fs-wrap[data-v-5712aad4]{flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.controls__fs-spinner[data-v-5712aad4]{border:2px solid #ffffff26;border-top-color:#fffc;border-radius:50%;width:14px;height:14px;animation:.75s linear infinite spin-5712aad4}@keyframes spin-f3307b98{to{transform:rotate(360deg)}}.overlay__tap-capture[data-v-f3307b98]{z-index:2;position:absolute;inset:0}.overlay__spinner[data-v-f3307b98]{z-index:5;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.overlay__spinner-ring[data-v-f3307b98]{border:3px solid #ffffff1f;border-top-color:#fffc;border-radius:50%;width:40px;height:40px;animation:.75s linear infinite spin-f3307b98}.fade-enter-active[data-v-f3307b98],.fade-leave-active[data-v-f3307b98]{transition:opacity .25s}.fade-enter-from[data-v-f3307b98],.fade-leave-to[data-v-f3307b98]{opacity:0}.overlay__error[data-v-f3307b98]{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-f3307b98]{color:#ffffffb3;text-align:center;max-width:260px;font-size:.875rem;line-height:1.5}.overlay__retry[data-v-f3307b98]{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-f3307b98]:hover{background:#fff3}.overlay__hud[data-v-f3307b98]{z-index:4;opacity:0;pointer-events:all;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.overlay__hud--visible[data-v-f3307b98]{opacity:1}.overlay__popup[data-v-f3307b98]{z-index:5;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.overlay__popup--fs[data-v-f3307b98]{align-items:flex-end}.popup-enter-active[data-v-f3307b98],.popup-leave-active[data-v-f3307b98]{transition:opacity .2s,transform .2s}.popup-enter-from[data-v-f3307b98],.popup-leave-to[data-v-f3307b98]{opacity:0;transform:scale(.95)}.vjs-svg-icon{fill:currentColor;background-position:50%;background-repeat:no-repeat;width:1.8em;height:1.8em;display:inline-block}.vjs-svg-icon:before{content:none!important}.vjs-svg-icon:hover,.vjs-control:focus .vjs-svg-icon{filter:drop-shadow(0 0 .25em #fff)}.vjs-modal-dialog .vjs-modal-dialog-content,.video-js .vjs-modal-dialog,.vjs-button>.vjs-icon-placeholder:before,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{width:100%;height:100%;position:absolute;top:0;left:0}.vjs-button>.vjs-icon-placeholder:before,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{text-align:center}@font-face{font-family:VideoJS;src:url(data:application/font-woff;charset=utf-8;base64,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)format("woff");font-weight:400;font-style:normal}.vjs-icon-play,.video-js .vjs-play-control .vjs-icon-placeholder,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-play:before,.video-js .vjs-play-control .vjs-icon-placeholder:before,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{content:""}.vjs-icon-play-circle{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-play-circle:before{content:""}.vjs-icon-pause,.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-pause:before,.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder:before{content:""}.vjs-icon-volume-mute,.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-volume-mute:before,.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder:before{content:""}.vjs-icon-volume-low,.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-volume-low:before,.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder:before{content:""}.vjs-icon-volume-mid,.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-volume-mid:before,.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder:before{content:""}.vjs-icon-volume-high,.video-js .vjs-mute-control .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-volume-high:before,.video-js .vjs-mute-control .vjs-icon-placeholder:before{content:""}.vjs-icon-fullscreen-enter,.video-js .vjs-fullscreen-control .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-fullscreen-enter:before,.video-js .vjs-fullscreen-control .vjs-icon-placeholder:before{content:""}.vjs-icon-fullscreen-exit,.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-fullscreen-exit:before,.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder:before{content:""}.vjs-icon-spinner{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-spinner:before{content:""}.vjs-icon-subtitles,.video-js .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js .vjs-subtitles-button .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-subtitles:before,.video-js .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js .vjs-subtitles-button .vjs-icon-placeholder:before{content:""}.vjs-icon-captions,.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js .vjs-captions-button .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-captions:before,.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js .vjs-captions-button .vjs-icon-placeholder:before{content:""}.vjs-icon-hd{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-hd:before{content:""}.vjs-icon-chapters,.video-js .vjs-chapters-button .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-chapters:before,.video-js .vjs-chapters-button .vjs-icon-placeholder:before{content:""}.vjs-icon-downloading{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-downloading:before{content:""}.vjs-icon-file-download{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-file-download:before{content:""}.vjs-icon-file-download-done{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-file-download-done:before{content:""}.vjs-icon-file-download-off{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-file-download-off:before{content:""}.vjs-icon-share{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-share:before{content:""}.vjs-icon-cog{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-cog:before{content:""}.vjs-icon-square{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-square:before{content:""}.vjs-icon-circle,.vjs-seek-to-live-control .vjs-icon-placeholder,.video-js .vjs-volume-level,.video-js .vjs-play-progress{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-circle:before,.vjs-seek-to-live-control .vjs-icon-placeholder:before,.video-js .vjs-volume-level:before,.video-js .vjs-play-progress:before{content:""}.vjs-icon-circle-outline{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-circle-outline:before{content:""}.vjs-icon-circle-inner-circle{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-circle-inner-circle:before{content:""}.vjs-icon-cancel,.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-cancel:before,.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder:before{content:""}.vjs-icon-repeat{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-repeat:before{content:""}.vjs-icon-replay,.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-replay:before,.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before{content:""}.vjs-icon-replay-5,.video-js .vjs-skip-backward-5 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-replay-5:before,.video-js .vjs-skip-backward-5 .vjs-icon-placeholder:before{content:""}.vjs-icon-replay-10,.video-js .vjs-skip-backward-10 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-replay-10:before,.video-js .vjs-skip-backward-10 .vjs-icon-placeholder:before{content:""}.vjs-icon-replay-30,.video-js .vjs-skip-backward-30 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-replay-30:before,.video-js .vjs-skip-backward-30 .vjs-icon-placeholder:before{content:""}.vjs-icon-forward-5,.video-js .vjs-skip-forward-5 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-forward-5:before,.video-js .vjs-skip-forward-5 .vjs-icon-placeholder:before{content:""}.vjs-icon-forward-10,.video-js .vjs-skip-forward-10 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-forward-10:before,.video-js .vjs-skip-forward-10 .vjs-icon-placeholder:before{content:""}.vjs-icon-forward-30,.video-js .vjs-skip-forward-30 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-forward-30:before,.video-js .vjs-skip-forward-30 .vjs-icon-placeholder:before{content:""}.vjs-icon-audio,.video-js .vjs-audio-button .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-audio:before,.video-js .vjs-audio-button .vjs-icon-placeholder:before{content:""}.vjs-icon-next-item{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-next-item:before{content:""}.vjs-icon-previous-item{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-previous-item:before{content:""}.vjs-icon-shuffle{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-shuffle:before{content:""}.vjs-icon-cast{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-cast:before{content:""}.vjs-icon-picture-in-picture-enter,.video-js .vjs-picture-in-picture-control .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-picture-in-picture-enter:before,.video-js .vjs-picture-in-picture-control .vjs-icon-placeholder:before{content:""}.vjs-icon-picture-in-picture-exit,.video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-picture-in-picture-exit:before,.video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder:before{content:""}.vjs-icon-facebook{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-facebook:before{content:""}.vjs-icon-linkedin{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-linkedin:before{content:""}.vjs-icon-twitter{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-twitter:before{content:""}.vjs-icon-tumblr{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-tumblr:before{content:""}.vjs-icon-pinterest{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-pinterest:before{content:""}.vjs-icon-audio-description,.video-js .vjs-descriptions-button .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-audio-description:before,.video-js .vjs-descriptions-button .vjs-icon-placeholder:before{content:""}.video-js{vertical-align:top;box-sizing:border-box;color:#fff;word-break:initial;background-color:#000;padding:0;font-family:Arial,Helvetica,sans-serif;font-size:10px;font-style:normal;font-weight:400;line-height:1;display:inline-block;position:relative}.video-js:-moz-full-screen{position:absolute}.video-js:-webkit-full-screen{width:100%!important;height:100%!important}.video-js[tabindex="-1"]{outline:none}.video-js *,.video-js :before,.video-js :after{box-sizing:inherit}.video-js ul{font-family:inherit;font-size:inherit;line-height:inherit;margin:0;list-style-position:outside}.video-js.vjs-fluid,.video-js.vjs-16-9,.video-js.vjs-4-3,.video-js.vjs-9-16,.video-js.vjs-1-1{width:100%;max-width:100%}.video-js.vjs-fluid:not(.vjs-audio-only-mode),.video-js.vjs-16-9:not(.vjs-audio-only-mode),.video-js.vjs-4-3:not(.vjs-audio-only-mode),.video-js.vjs-9-16:not(.vjs-audio-only-mode),.video-js.vjs-1-1:not(.vjs-audio-only-mode){height:0}.video-js.vjs-16-9:not(.vjs-audio-only-mode){padding-top:56.25%}.video-js.vjs-4-3:not(.vjs-audio-only-mode){padding-top:75%}.video-js.vjs-9-16:not(.vjs-audio-only-mode){padding-top:177.778%}.video-js.vjs-1-1:not(.vjs-audio-only-mode){padding-top:100%}.video-js.vjs-fill:not(.vjs-audio-only-mode){width:100%;height:100%}.video-js .vjs-tech{width:100%;height:100%;position:absolute;top:0;left:0}.video-js.vjs-audio-only-mode .vjs-tech{display:none}body.vjs-full-window,body.vjs-pip-window{height:100%;margin:0;padding:0}.vjs-full-window .video-js.vjs-fullscreen,body.vjs-pip-window .video-js{z-index:1000;position:fixed;inset:0;overflow:hidden}.video-js.vjs-fullscreen:not(.vjs-ios-native-fs),body.vjs-pip-window .video-js{display:block;width:100%!important;height:100%!important;padding-top:0!important}.video-js.vjs-fullscreen.vjs-user-inactive{cursor:none}.vjs-pip-container .vjs-pip-text{text-align:center;background-color:#000000b3;width:100%;padding:.5em;font-size:2em;position:absolute;bottom:10%}.vjs-layout-tiny.vjs-pip-container .vjs-pip-text,.vjs-layout-x-small.vjs-pip-container .vjs-pip-text,.vjs-layout-small.vjs-pip-container .vjs-pip-text{font-size:1.4em;bottom:0}.vjs-hidden{display:none!important}.vjs-disabled{opacity:.5;cursor:default}.video-js .vjs-offscreen{width:1px;height:1px;position:absolute;top:0;left:-9999px}.vjs-lock-showing{opacity:1!important;visibility:visible!important;display:block!important}.vjs-no-js{color:#fff;text-align:center;background-color:#000;width:300px;height:150px;margin:0 auto;padding:20px;font-family:Arial,Helvetica,sans-serif;font-size:18px}.vjs-no-js a,.vjs-no-js a:visited{color:#66a8cc}.video-js .vjs-big-play-button{cursor:pointer;opacity:1;background-color:#2b333fb3;border:.06666em solid #fff;border-radius:.3em;width:3em;height:1.63332em;margin-top:-.81666em;margin-left:-1.5em;padding:0;font-size:3em;line-height:1.5em;transition:all .4s;display:block;position:absolute;top:50%;left:50%}.vjs-big-play-button .vjs-svg-icon{width:1em;height:1em;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.video-js:hover .vjs-big-play-button,.video-js .vjs-big-play-button:focus{background-color:#73859f80;border-color:#fff;transition:all}.vjs-controls-disabled .vjs-big-play-button,.vjs-has-started .vjs-big-play-button,.vjs-using-native-controls .vjs-big-play-button,.vjs-error .vjs-big-play-button{display:none}.vjs-has-started.vjs-paused.vjs-show-big-play-button-on-pause:not(.vjs-seeking,.vjs-scrubbing,.vjs-error) .vjs-big-play-button{display:block}.video-js button{color:inherit;font-size:inherit;line-height:inherit;text-transform:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;border:none;text-decoration:none;transition:none;display:inline-block}.video-js.vjs-spatial-navigation-enabled .vjs-button:focus{box-shadow:none;outline:.0625em solid #fff}.vjs-control .vjs-button{width:100%;height:100%}.video-js .vjs-control.vjs-close-button{cursor:pointer;z-index:2;height:3em;position:absolute;top:.5em;right:0}.video-js .vjs-modal-dialog{background:linear-gradient(#000c,#fff0);overflow:auto}.video-js .vjs-modal-dialog>*{box-sizing:border-box}.vjs-modal-dialog .vjs-modal-dialog-content{z-index:1;padding:20px 24px;font-size:1.2em;line-height:1.5}.vjs-menu-button{cursor:pointer}.vjs-menu-button.vjs-disabled{cursor:default}.vjs-workinghover .vjs-menu-button.vjs-disabled:hover .vjs-menu{display:none}.vjs-menu .vjs-menu-content{margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;display:block;overflow:auto}.vjs-menu .vjs-menu-content>*{box-sizing:border-box}.vjs-scrubbing .vjs-control.vjs-menu-button:hover .vjs-menu{display:none}.vjs-menu li{text-align:center;text-transform:lowercase;justify-content:center;margin:0;padding:.2em 0;font-size:1.2em;line-height:1.4em;list-style:none;display:flex}.vjs-menu li.vjs-menu-item:focus,.vjs-menu li.vjs-menu-item:hover,.js-focus-visible .vjs-menu li.vjs-menu-item:hover{background-color:#73859f80}.vjs-menu li.vjs-selected,.vjs-menu li.vjs-selected:focus,.vjs-menu li.vjs-selected:hover,.js-focus-visible .vjs-menu li.vjs-selected:hover{color:#2b333f;background-color:#fff}.vjs-menu li.vjs-selected .vjs-svg-icon,.vjs-menu li.vjs-selected:focus .vjs-svg-icon,.vjs-menu li.vjs-selected:hover .vjs-svg-icon,.js-focus-visible .vjs-menu li.vjs-selected:hover .vjs-svg-icon{fill:#000}.video-js .vjs-menu :not(.vjs-selected):focus:not(:focus-visible),.js-focus-visible .vjs-menu :not(.vjs-selected):focus:not(.focus-visible){background:0 0}.vjs-menu li.vjs-menu-title{text-align:center;text-transform:uppercase;cursor:default;margin:0 0 .3em;padding:0;font-size:1em;font-weight:700;line-height:2em}.vjs-menu-button-popup .vjs-menu{border-top-color:#2b333fb3;width:10em;height:0;margin-bottom:1.5em;display:none;position:absolute;bottom:0;left:-3em}.vjs-pip-window .vjs-menu-button-popup .vjs-menu{left:unset;right:1em}.vjs-menu-button-popup .vjs-menu .vjs-menu-content{background-color:#2b333fb3;width:100%;max-height:15em;position:absolute;bottom:1.5em}.vjs-layout-tiny .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-x-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:5em}.vjs-layout-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:10em}.vjs-layout-medium .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:14em}.vjs-layout-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-x-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-huge .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:25em}.vjs-workinghover .vjs-menu-button-popup.vjs-hover .vjs-menu,.vjs-menu-button-popup .vjs-menu.vjs-lock-showing{display:block}.video-js .vjs-menu-button-inline{transition:all .4s;overflow:hidden}.video-js .vjs-menu-button-inline:before{width:2.22222em}.video-js .vjs-menu-button-inline:hover,.video-js .vjs-menu-button-inline:focus,.video-js .vjs-menu-button-inline.vjs-slider-active{width:12em}.vjs-menu-button-inline .vjs-menu{opacity:0;width:auto;height:100%;margin:0;padding:0;transition:all .4s;position:absolute;top:0;left:4em}.vjs-menu-button-inline:hover .vjs-menu,.vjs-menu-button-inline:focus .vjs-menu,.vjs-menu-button-inline.vjs-slider-active .vjs-menu{opacity:1;display:block}.vjs-menu-button-inline .vjs-menu-content{width:auto;height:100%;margin:0;overflow:hidden}.video-js .vjs-control-bar{background-color:#2b333fb3;width:100%;height:3em;display:none;position:absolute;bottom:0;left:0;right:0}.video-js.vjs-spatial-navigation-enabled .vjs-control-bar{gap:1px}.video-js:not(.vjs-controls-disabled,.vjs-using-native-controls,.vjs-error) .vjs-control-bar.vjs-lock-showing{display:flex!important}.vjs-has-started .vjs-control-bar,.vjs-audio-only-mode .vjs-control-bar{visibility:visible;opacity:1;transition:visibility .1s,opacity .1s;display:flex}.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{visibility:visible;opacity:0;pointer-events:none;transition:visibility 1s,opacity 1s}.vjs-controls-disabled .vjs-control-bar,.vjs-using-native-controls .vjs-control-bar,.vjs-error .vjs-control-bar{display:none!important}.vjs-audio.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar,.vjs-audio-only-mode.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{opacity:1;visibility:visible;pointer-events:auto}.video-js .vjs-control{text-align:center;flex:none;width:4em;height:100%;margin:0;padding:0;position:relative}.video-js .vjs-control.vjs-visible-text{width:auto;padding-left:1em;padding-right:1em}.vjs-button>.vjs-icon-placeholder:before{font-size:1.8em;line-height:1.67}.vjs-button>.vjs-icon-placeholder{display:block}.vjs-button>.vjs-svg-icon{display:inline-block}.video-js .vjs-control:focus:before,.video-js .vjs-control:hover:before,.video-js .vjs-control:focus{text-shadow:0 0 1em #fff}.video-js :not(.vjs-visible-text)>.vjs-control-text{clip:rect(0 0 0 0);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.video-js .vjs-custom-control-spacer{display:none}.video-js .vjs-progress-control{cursor:pointer;touch-action:none;flex:auto;align-items:center;min-width:4em;display:flex}.video-js .vjs-progress-control.disabled{cursor:default}.vjs-live .vjs-progress-control{display:none}.vjs-liveui .vjs-progress-control{align-items:center;display:flex}.video-js .vjs-progress-holder{flex:auto;height:.3em;transition:all .2s}.video-js .vjs-progress-control .vjs-progress-holder{margin:0 10px}.video-js .vjs-progress-control:hover .vjs-progress-holder,.video-js.vjs-scrubbing.vjs-touch-enabled .vjs-progress-control .vjs-progress-holder{font-size:1.66667em}.video-js .vjs-progress-control:hover .vjs-progress-holder.disabled{font-size:1em}.video-js .vjs-progress-holder .vjs-play-progress,.video-js .vjs-progress-holder .vjs-load-progress,.video-js .vjs-progress-holder .vjs-load-progress div{width:0;height:100%;margin:0;padding:0;display:block;position:absolute}.video-js .vjs-play-progress{background-color:#fff}.video-js .vjs-play-progress:before{z-index:1;font-size:.9em;line-height:.35em;position:absolute;right:-.5em}.vjs-svg-icons-enabled .vjs-play-progress:before{content:none!important}.vjs-play-progress .vjs-svg-icon{pointer-events:none;z-index:1;width:.9em;height:.9em;line-height:.15em;position:absolute;top:-.35em;right:-.4em}.video-js .vjs-load-progress{background:#73859f80}.video-js .vjs-load-progress div{background:#73859fbf}.video-js .vjs-time-tooltip{color:#000;float:right;pointer-events:none;visibility:hidden;z-index:1;background-color:#fffc;border-radius:.3em;padding:6px 8px 8px;font-family:Arial,Helvetica,sans-serif;font-size:1em;position:absolute;top:-3.4em}.video-js .vjs-progress-holder:focus .vjs-time-tooltip{display:none}.video-js .vjs-progress-control:hover .vjs-time-tooltip,.video-js .vjs-progress-control:hover .vjs-progress-holder:focus .vjs-time-tooltip,.video-js.vjs-scrubbing.vjs-touch-enabled .vjs-progress-control .vjs-time-tooltip{visibility:visible;font-size:.6em;display:block}.video-js .vjs-progress-control.disabled:hover .vjs-time-tooltip{font-size:1em}.video-js .vjs-progress-control .vjs-mouse-display{z-index:1;background-color:#000;width:1px;height:100%;display:none;position:absolute}.video-js .vjs-progress-control:hover .vjs-mouse-display,.video-js.vjs-scrubbing.vjs-touch-enabled .vjs-progress-control .vjs-mouse-display{display:block}.video-js.vjs-user-inactive .vjs-progress-control .vjs-mouse-display,.video-js.vjs-touch-enabled:not(.vjs-scrubbing) .vjs-progress-control .vjs-mouse-display{visibility:hidden;opacity:0;transition:visibility 1s,opacity 1s}.vjs-mouse-display .vjs-time-tooltip{color:#fff;background-color:#000c}.video-js .vjs-slider{cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:#73859f80;margin:0 .45em;padding:0;position:relative}.video-js .vjs-slider.disabled{cursor:default}.video-js .vjs-slider:focus{text-shadow:0 0 1em #fff;box-shadow:0 0 1em #fff}.video-js.vjs-spatial-navigation-enabled .vjs-slider:focus{outline:.0625em solid #fff}.video-js .vjs-mute-control{cursor:pointer;flex:none}.video-js .vjs-volume-control{cursor:pointer;margin-right:1em;display:flex}.video-js .vjs-volume-control.vjs-volume-horizontal{width:5em}.video-js .vjs-volume-panel .vjs-volume-control{visibility:visible;opacity:0;width:1px;height:1px;margin-left:-1px}.video-js .vjs-volume-panel{transition:width 1s}.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control,.video-js .vjs-volume-panel:active .vjs-volume-control,.video-js .vjs-volume-panel:focus .vjs-volume-control,.video-js .vjs-volume-panel .vjs-volume-control:active,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active{visibility:visible;opacity:1;transition:visibility .1s,opacity .1s,height .1s,width .1s,left,top;position:relative}.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal{width:5em;height:3em;margin-right:0}.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-vertical,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-vertical{transition:left;left:-3.5em}.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active{width:10em;transition:width .1s}.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-mute-toggle-only{width:4em}.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical{width:3em;height:8em;transition:visibility 1s,opacity 1s,height 1s 1s,width 1s 1s,left 1s 1s,top 1s 1s;left:-3000em}.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal{transition:visibility 1s,opacity 1s,height 1s 1s,width 1s,left 1s 1s,top 1s 1s}.video-js .vjs-volume-panel{display:flex}.video-js .vjs-volume-bar{margin:1.35em .45em}.vjs-volume-bar.vjs-slider-horizontal{width:5em;height:.3em}.vjs-volume-bar.vjs-slider-vertical{width:.3em;height:5em;margin:1.35em auto}.video-js .vjs-volume-level{background-color:#fff;position:absolute;bottom:0;left:0}.video-js .vjs-volume-level:before{z-index:1;font-size:.9em;position:absolute}.vjs-slider-vertical .vjs-volume-level{width:.3em}.vjs-slider-vertical .vjs-volume-level:before{z-index:1;top:-.5em;left:-.3em}.vjs-svg-icons-enabled .vjs-volume-level:before{content:none}.vjs-volume-level .vjs-svg-icon{pointer-events:none;z-index:1;width:.9em;height:.9em;position:absolute}.vjs-slider-horizontal .vjs-volume-level{height:.3em}.vjs-slider-horizontal .vjs-volume-level:before{line-height:.35em;right:-.5em}.vjs-slider-horizontal .vjs-volume-level .vjs-svg-icon{right:-.3em;transform:translateY(-50%)}.vjs-slider-vertical .vjs-volume-level .vjs-svg-icon{top:-.55em;transform:translate(-50%)}.video-js .vjs-volume-panel.vjs-volume-panel-vertical{width:4em}.vjs-volume-bar.vjs-slider-vertical .vjs-volume-level{height:100%}.vjs-volume-bar.vjs-slider-horizontal .vjs-volume-level{width:100%}.video-js .vjs-volume-vertical{background-color:#2b333fb3;width:3em;height:8em;bottom:8em}.video-js .vjs-volume-horizontal .vjs-menu{left:-2em}.video-js .vjs-volume-tooltip{color:#000;float:right;pointer-events:none;visibility:hidden;z-index:1;background-color:#fffc;border-radius:.3em;padding:6px 8px 8px;font-family:Arial,Helvetica,sans-serif;font-size:1em;position:absolute;top:-3.4em}.video-js .vjs-volume-control:hover .vjs-volume-tooltip,.video-js .vjs-volume-control:hover .vjs-progress-holder:focus .vjs-volume-tooltip{visibility:visible;font-size:1em;display:block}.video-js .vjs-volume-vertical:hover .vjs-volume-tooltip,.video-js .vjs-volume-vertical:hover .vjs-progress-holder:focus .vjs-volume-tooltip{top:-12px;left:1em}.video-js .vjs-volume-control.disabled:hover .vjs-volume-tooltip{font-size:1em}.video-js .vjs-volume-control .vjs-mouse-display{z-index:1;background-color:#000;width:100%;height:1px;display:none;position:absolute}.video-js .vjs-volume-horizontal .vjs-mouse-display{width:1px;height:100%}.video-js .vjs-volume-control:hover .vjs-mouse-display{display:block}.video-js.vjs-user-inactive .vjs-volume-control .vjs-mouse-display{visibility:hidden;opacity:0;transition:visibility 1s,opacity 1s}.vjs-mouse-display .vjs-volume-tooltip{color:#fff;background-color:#000c}.vjs-poster{vertical-align:middle;cursor:pointer;height:100%;margin:0;padding:0;display:inline-block;position:absolute;inset:0}.vjs-has-started .vjs-poster,.vjs-using-native-controls .vjs-poster{display:none}.vjs-audio.vjs-has-started .vjs-poster,.vjs-has-started.vjs-audio-poster-mode .vjs-poster,.vjs-pip-container.vjs-has-started .vjs-poster{display:block}.vjs-poster img{object-fit:contain;width:100%;height:100%}.video-js .vjs-live-control{flex:auto;align-items:flex-start;font-size:1em;line-height:3em;display:flex}.video-js:not(.vjs-live) .vjs-live-control,.video-js.vjs-liveui .vjs-live-control{display:none}.video-js .vjs-seek-to-live-control{cursor:pointer;flex:none;align-items:center;width:auto;min-width:4em;height:100%;padding-left:.5em;padding-right:.5em;font-size:1em;line-height:3em;display:inline-flex}.video-js.vjs-live:not(.vjs-liveui) .vjs-seek-to-live-control,.video-js:not(.vjs-live) .vjs-seek-to-live-control{display:none}.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge{cursor:auto}.vjs-seek-to-live-control .vjs-icon-placeholder{color:#888;margin-right:.5em}.vjs-svg-icons-enabled .vjs-seek-to-live-control{line-height:0}.vjs-seek-to-live-control .vjs-svg-icon{pointer-events:none;fill:#888;width:1em;height:1em}.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-icon-placeholder{color:red}.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-svg-icon{fill:red}.video-js .vjs-time-control{flex:none;width:auto;min-width:2em;padding-left:1em;padding-right:1em;font-size:1em;line-height:3em}.vjs-live .vjs-time-control,.vjs-live .vjs-time-divider,.video-js .vjs-current-time,.video-js .vjs-duration{display:none}.vjs-time-divider{line-height:3em;display:none}.vjs-normalise-time-controls:not(.vjs-live) .vjs-time-control{display:flex}.video-js .vjs-play-control{cursor:pointer}.video-js .vjs-play-control .vjs-icon-placeholder{flex:none}.vjs-text-track-display{pointer-events:none;position:absolute;inset:0 0 3em}.vjs-error .vjs-text-track-display{display:none}.video-js.vjs-controls-disabled .vjs-text-track-display,.video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display{bottom:1em}.video-js .vjs-text-track{text-align:center;margin-bottom:.1em;font-size:1.4em}.vjs-subtitles{color:#fff}.vjs-captions{color:#fc6}.vjs-tt-cue{display:block}video::-webkit-media-text-track-display{transform:translateY(-3em)}.video-js.vjs-controls-disabled video::-webkit-media-text-track-display,.video-js.vjs-user-inactive.vjs-playing video::-webkit-media-text-track-display{transform:translateY(-1.5em)}.video-js.vjs-force-center-align-cues .vjs-text-track-cue{text-align:center!important;width:80%!important}@supports not (inset:10px){.video-js .vjs-text-track-display>div{inset:0}}.video-js .vjs-picture-in-picture-control{cursor:pointer;flex:none}.video-js.vjs-audio-only-mode .vjs-picture-in-picture-control,.vjs-pip-window .vjs-picture-in-picture-control{display:none}.video-js .vjs-fullscreen-control{cursor:pointer;flex:none}.video-js.vjs-audio-only-mode .vjs-fullscreen-control,.vjs-pip-window .vjs-fullscreen-control{display:none}.vjs-playback-rate>.vjs-menu-button,.vjs-playback-rate .vjs-playback-rate-value{width:100%;height:100%;position:absolute;top:0;left:0}.vjs-playback-rate .vjs-playback-rate-value{pointer-events:none;text-align:center;font-size:1.5em;line-height:2}.vjs-playback-rate .vjs-menu{width:4em;left:0}.vjs-error .vjs-error-display .vjs-modal-dialog-content{text-align:center;font-size:1.4em}.vjs-loading-spinner{opacity:.85;text-align:left;box-sizing:border-box;visibility:hidden;background-clip:padding-box;border:.6em solid #2b333fb3;border-radius:50%;width:5em;height:5em;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vjs-seeking .vjs-loading-spinner,.vjs-waiting .vjs-loading-spinner{justify-content:center;align-items:center;animation:0s linear .3s forwards vjs-spinner-show;display:flex}.vjs-error .vjs-loading-spinner{display:none}.vjs-loading-spinner:before,.vjs-loading-spinner:after{content:"";box-sizing:inherit;width:inherit;height:inherit;border-radius:inherit;opacity:1;border:inherit;border-color:#fff #0000 #0000;position:absolute}.vjs-seeking .vjs-loading-spinner:before,.vjs-seeking .vjs-loading-spinner:after,.vjs-waiting .vjs-loading-spinner:before,.vjs-waiting .vjs-loading-spinner:after{animation:1.1s cubic-bezier(.6,.2,0,.8) infinite vjs-spinner-spin,1.1s linear infinite vjs-spinner-fade}.vjs-seeking .vjs-loading-spinner:before,.vjs-waiting .vjs-loading-spinner:before{border-top-color:#fff}.vjs-seeking .vjs-loading-spinner:after,.vjs-waiting .vjs-loading-spinner:after{border-top-color:#fff;animation-delay:.44s}@keyframes vjs-spinner-show{to{visibility:visible}}@keyframes vjs-spinner-spin{to{transform:rotate(360deg)}}@keyframes vjs-spinner-fade{0%{border-top-color:#73859f}20%{border-top-color:#73859f}35%{border-top-color:#fff}60%{border-top-color:#73859f}to{border-top-color:#73859f}}.video-js.vjs-audio-only-mode .vjs-captions-button{display:none}.vjs-chapters-button .vjs-menu ul{width:24em}.video-js.vjs-audio-only-mode .vjs-descriptions-button{display:none}.vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-svg-icon{width:1.5em;height:1.5em}.video-js .vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder{vertical-align:middle;margin-bottom:-.1em;display:inline-block}.video-js .vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before{content:"";font-family:VideoJS;font-size:1.5em;line-height:inherit}.video-js.vjs-audio-only-mode .vjs-subs-caps-button{display:none}.video-js .vjs-audio-button+.vjs-menu .vjs-descriptions-menu-item .vjs-menu-item-text .vjs-icon-placeholder,.video-js .vjs-audio-button+.vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder{vertical-align:middle;margin-bottom:-.1em;display:inline-block}.video-js .vjs-audio-button+.vjs-menu .vjs-descriptions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before,.video-js .vjs-audio-button+.vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before{content:" ";font-family:VideoJS;font-size:1.5em;line-height:inherit}.video-js.vjs-layout-small .vjs-current-time,.video-js.vjs-layout-small .vjs-time-divider,.video-js.vjs-layout-small .vjs-duration,.video-js.vjs-layout-small .vjs-remaining-time,.video-js.vjs-layout-small .vjs-playback-rate,.video-js.vjs-layout-small .vjs-volume-control,.video-js.vjs-layout-x-small .vjs-current-time,.video-js.vjs-layout-x-small .vjs-time-divider,.video-js.vjs-layout-x-small .vjs-duration,.video-js.vjs-layout-x-small .vjs-remaining-time,.video-js.vjs-layout-x-small .vjs-playback-rate,.video-js.vjs-layout-x-small .vjs-volume-control,.video-js.vjs-layout-tiny .vjs-current-time,.video-js.vjs-layout-tiny .vjs-time-divider,.video-js.vjs-layout-tiny .vjs-duration,.video-js.vjs-layout-tiny .vjs-remaining-time,.video-js.vjs-layout-tiny .vjs-playback-rate,.video-js.vjs-layout-tiny .vjs-volume-control{display:none}.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover{width:auto;width:initial}.video-js.vjs-layout-x-small .vjs-progress-control,.video-js.vjs-layout-tiny .vjs-progress-control{display:none}.video-js.vjs-layout-x-small .vjs-custom-control-spacer{flex:auto;display:block}.vjs-modal-dialog.vjs-text-track-settings{color:#fff;background-color:#2b333fbf;height:70%}.vjs-spatial-navigation-enabled .vjs-modal-dialog.vjs-text-track-settings{height:80%}.vjs-error .vjs-text-track-settings{display:none}.vjs-text-track-settings .vjs-modal-dialog-content{display:table}.vjs-text-track-settings .vjs-track-settings-colors,.vjs-text-track-settings .vjs-track-settings-font,.vjs-text-track-settings .vjs-track-settings-controls{display:table-cell}.vjs-text-track-settings .vjs-track-settings-controls{text-align:right;vertical-align:bottom}@supports (display:grid){.vjs-text-track-settings .vjs-modal-dialog-content{grid-template-rows:1fr;grid-template-columns:1fr 1fr;padding:20px 24px 0;display:grid}.vjs-track-settings-controls .vjs-default-button{margin-bottom:20px}.vjs-text-track-settings .vjs-track-settings-controls{grid-column:1/-1}.vjs-layout-small .vjs-text-track-settings .vjs-modal-dialog-content,.vjs-layout-x-small .vjs-text-track-settings .vjs-modal-dialog-content,.vjs-layout-tiny .vjs-text-track-settings .vjs-modal-dialog-content{grid-template-columns:1fr}}.vjs-text-track-settings select{font-size:inherit}.vjs-track-setting>select{margin-bottom:.5em;margin-right:1em}.vjs-text-track-settings fieldset{border:none;margin:10px}.vjs-text-track-settings fieldset span{padding:0 .6em .8em;display:inline-block}.vjs-text-track-settings fieldset span>select{max-width:7.3em}.vjs-text-track-settings legend{color:#fff;font-size:1.2em;font-weight:700}.vjs-text-track-settings .vjs-label{margin:0 .5em .5em 0}.vjs-track-settings-controls button:focus,.vjs-track-settings-controls button:active{background-image:linear-gradient(#73859f 0%,#fff 12%);outline-width:medium;outline-style:solid}.vjs-track-settings-controls button:hover{color:#2b333fbf}.vjs-track-settings-controls button{color:#2b333f;cursor:pointer;background-color:#fff;background-image:linear-gradient(-180deg,#fff 88%,#73859f 100%);border-radius:2px}.vjs-track-settings-controls .vjs-default-button{margin-right:1em}.vjs-title-bar{pointer-events:none;background:linear-gradient(#000000e6 0%,#000000b3 60%,#0000 100%);width:100%;padding:.666em 1.333em 4em;font-size:1.2em;line-height:1.5;transition:opacity .1s;position:absolute;top:0}.vjs-error .vjs-title-bar{display:none}.vjs-title-bar-title,.vjs-title-bar-description{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.vjs-title-bar-title{margin-bottom:.333em;font-weight:700}.vjs-playing.vjs-user-inactive .vjs-title-bar{opacity:0;transition:opacity 1s}.video-js .vjs-skip-forward-5,.video-js .vjs-skip-forward-10,.video-js .vjs-skip-forward-30,.video-js .vjs-skip-backward-5,.video-js .vjs-skip-backward-10,.video-js .vjs-skip-backward-30{cursor:pointer}.video-js .vjs-transient-button{cursor:pointer;opacity:1;background-color:#32323280;justify-content:center;align-items:center;height:3em;transition:opacity 1s;display:flex;position:absolute}.video-js:not(.vjs-has-started) .vjs-transient-button{display:none}.video-js.not-hover .vjs-transient-button:not(.force-display),.video-js.vjs-user-inactive .vjs-transient-button:not(.force-display){opacity:0}.video-js .vjs-transient-button span{padding:0 .5em}.video-js .vjs-transient-button.vjs-left{left:1em}.video-js .vjs-transient-button.vjs-right{right:1em}.video-js .vjs-transient-button.vjs-top{top:1em}.video-js .vjs-transient-button.vjs-near-top{top:4em}.video-js .vjs-transient-button.vjs-bottom{bottom:4em}.video-js .vjs-transient-button:hover{background-color:#323232e6}@media print{.video-js>:not(.vjs-tech):not(.vjs-poster){visibility:hidden}}.vjs-resize-manager{z-index:-1000;border:none;width:100%;height:100%;position:absolute;top:0;left:0}.js-focus-visible .video-js :focus:not(.focus-visible),.video-js :focus:not(:focus-visible){outline:none}.player[data-v-4ab3cf75]{user-select:none;-webkit-tap-highlight-color:transparent;width:100%;max-width:800px;margin:0 auto}[data-vjs-player][data-v-4ab3cf75]{position:absolute;inset:0}.player__shell[data-v-4ab3cf75]{cursor:pointer;background:#000;border-radius:12px;position:relative;overflow:hidden}.player__shell--portrait[data-v-4ab3cf75]{width:auto;max-height:75vh;margin:0 auto}.player__native-play[data-v-4ab3cf75]{z-index:3;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.player__native-play[data-v-4ab3cf75]>*{pointer-events:auto}.player__shell[data-v-4ab3cf75]:fullscreen{border-radius:0;width:100vw;height:100vh}.player__shell:fullscreen .video-js[data-v-4ab3cf75],.player__shell:fullscreen [data-vjs-player][data-v-4ab3cf75]{width:100%!important;height:100%!important}.video-js{background:#000;border-radius:12px;overflow:hidden}.video-js .vjs-big-play-button,.video-js .vjs-control-bar,.video-js .vjs-error-display{display:none!important}.video-js .vjs-poster{background-size:cover;transition:opacity .3s}.video-js .vjs-poster img{object-fit:cover}.video-js.vjs-has-started .vjs-poster{opacity:0;pointer-events:none}.vjs-dailymotion .vjs-tech>*,.vjs-dailymotion .dailymotion-player-root,.vjs-dailymotion iframe{width:100%!important;height:100%!important;position:absolute!important;inset:0!important}.vjs-vimeo .vjs-tech>div{width:100%!important;height:100%!important;padding:0!important;position:absolute!important;top:0!important;left:0!important}.vjs-vimeo iframe{width:100%!important;height:100%!important;position:absolute!important;top:0!important;left:0!important}.video-js .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}.vjs-ad-playing .ima-ad-container{pointer-events:auto}.vjs-ad-playing .overlay__tap-capture,.vjs-ad-playing .overlay__hud,.vjs-ad-playing .overlay__spinner{display:none!important}.stage-wrapper[data-v-fb8c86cf]{width:100%;max-width:800px;margin:0 auto}.stage[data-v-fb8c86cf]{width:100%}.stage__dismiss[data-v-fb8c86cf]{z-index:10;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:background .15s;display:flex;position:absolute;top:.4rem;right:.4rem}.stage__dismiss[data-v-fb8c86cf]:hover{background:#000000d9}.stage__dismiss svg[data-v-fb8c86cf]{width:14px;height:14px}.stage--minified[data-v-fb8c86cf]{z-index:100;border-radius:12px;width:300px;max-width:300px;margin:0;position:fixed;bottom:1.25rem;right:1.25rem;overflow:hidden;box-shadow:0 8px 32px #0009}.stage__idle[data-v-fb8c86cf]{cursor:pointer;background:#111;border-radius:12px;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.stage__idle-poster[data-v-fb8c86cf]{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.stage__idle-scrim[data-v-fb8c86cf]{background:#00000073;transition:background .15s;position:absolute;inset:0}.stage__idle:hover .stage__idle-scrim[data-v-fb8c86cf]{background:#0000004d}.stage__idle-body[data-v-fb8c86cf]{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:1rem;display:flex;position:relative}.stage__idle-btn[data-v-fb8c86cf]{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-fb8c86cf]{background:#000c;transform:scale(1.1)}.stage__idle-btn svg[data-v-fb8c86cf]{width:32px;height:32px}.stage__idle-title[data-v-fb8c86cf]{color:#f1f5f9;text-shadow:0 1px 4px #000c;font-size:1rem;font-weight:600}.stage__idle-empty[data-v-fb8c86cf]{color:#64748b;font-size:.95rem}.placeholder[data-v-dbcb4f82]{width:100%}.placeholder__shell[data-v-dbcb4f82]{cursor:pointer;background:#111;border-radius:8px;position:relative;overflow:hidden}.placeholder__shell--portrait[data-v-dbcb4f82]{width:auto;max-height:75vh;margin:0 auto}.placeholder__shell--active[data-v-dbcb4f82]{outline-offset:2px;outline:2px solid #60a5fa}.placeholder__poster[data-v-dbcb4f82]{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.placeholder__scrim[data-v-dbcb4f82]{background:#00000059;transition:background .15s;position:absolute;inset:0}.placeholder__shell:hover .placeholder__scrim[data-v-dbcb4f82]{background:#00000026}.placeholder__btn-wrap[data-v-dbcb4f82]{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.placeholder__btn-wrap[data-v-dbcb4f82]>*{pointer-events:auto}.placeholder__footer[data-v-dbcb4f82]{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-dbcb4f82]{color:#f1f5f9;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 3px #0009;font-size:.8rem;font-weight:600;overflow:hidden}.placeholder__badge[data-v-dbcb4f82]{z-index:1;text-transform:uppercase;letter-spacing:.06em;color:#fff;border-radius:4px;padding:2px 6px;font-size:.6rem;font-weight:700;position:absolute;top:6px;left:6px}
1
+ .ppbtn[data-v-85902525]{-webkit-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[data-v-85902525]:hover{background:#fff3;transform:scale(1.08)}.ppbtn--lg[data-v-85902525]{background:var(--mvp-btn-bg,#ffffff1a);width:64px;height:64px;color:var(--mvp-btn-color,#fff)}.ppbtn--lg svg[data-v-85902525]{width:28px;height:28px}.ppbtn--lg[data-v-85902525]:hover{background:var(--mvp-btn-bg,#fff3);filter:brightness(1.12)}.ppbtn--sm[data-v-85902525]{color:#ffffffbf;background:0 0;border:none;border-radius:8px;width:30px;height:30px}.ppbtn--sm svg[data-v-85902525]{width:16px;height:16px}.ppbtn--sm[data-v-85902525]:hover{color:#fff;background:#ffffff1a;transform:none}.hud[data-v-a6d118e7]{align-items:center;gap:20px;display:flex}.hud__spacer[data-v-a6d118e7]{flex-shrink:0;width:44px;height:44px}.hud__btn[data-v-a6d118e7]{background:var(--mvp-btn-bg,#ffffff1a);-webkit-backdrop-filter:blur(12px);width:44px;height:44px;color:var(--mvp-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 svg[data-v-a6d118e7]{width:18px;height:18px}.hud__btn[data-v-a6d118e7]:hover{background:var(--mvp-btn-bg,#fff3);filter:brightness(1.12);transform:scale(1.08)}.hud__btn--active[data-v-a6d118e7]{color:#93c5fd;background:#3b82f64d;border-color:#3b82f680}.hud__btn--active[data-v-a6d118e7]:hover{background:#3b82f673}::view-transition-old(controls-popup),::view-transition-new(controls-popup){animation-duration:.22s;animation-timing-function:ease-in-out}@keyframes spin-5712aad4{to{transform:rotate(360deg)}}.controls[data-v-5712aad4]{-webkit-backdrop-filter:blur(20px);background:#0a0a0ed1;border:1px solid #ffffff1a;border-radius:18px;flex-direction:column;gap:10px;width:min(340px,100% - 32px);padding:14px 16px 12px;display:flex;box-shadow:0 8px 32px #00000080}.controls--fs[data-v-5712aad4]{width:calc(100% - 32px)}.controls__seek[data-v-5712aad4]{-webkit-appearance:none;appearance:none;cursor:pointer;box-sizing:border-box;background:padding-box content-box;background-image:linear-gradient(to right, #3b82f6 0%, #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[data-v-5712aad4]::-webkit-slider-runnable-track{background:0 0;height:4px}.controls__seek[data-v-5712aad4]::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#3b82f6;border-radius:50%;width:14px;height:14px;margin-top:-5px;transition:transform .15s;box-shadow:0 0 0 3px #3b82f64d}.controls__seek[data-v-5712aad4]:hover::-webkit-slider-thumb{transform:scale(1.25)}.controls__seek[data-v-5712aad4]::-moz-range-track{background:#ffffff1a;height:4px}.controls__seek[data-v-5712aad4]::-moz-range-progress{background:#3b82f6;height:4px}.controls__seek[data-v-5712aad4]::-moz-range-thumb{cursor:pointer;background:#3b82f6;border:none;border-radius:50%;width:14px;height:14px;box-shadow:0 0 0 3px #3b82f64d}.controls__vol-slider[data-v-5712aad4]{-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[data-v-5712aad4]:hover{height:7px}.controls__vol-slider[data-v-5712aad4]::-webkit-slider-runnable-track{background:0 0;height:5px}.controls__vol-slider[data-v-5712aad4]::-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[data-v-5712aad4]:hover::-webkit-slider-thumb{transform:scale(1.2)}.controls__vol-slider[data-v-5712aad4]::-moz-range-track{background:#ffffff26;height:5px}.controls__vol-slider[data-v-5712aad4]::-moz-range-progress{background:#fff;height:5px}.controls__vol-slider[data-v-5712aad4]::-moz-range-thumb{cursor:pointer;background:#fff;border:none;border-radius:50%;width:16px;height:16px;box-shadow:0 0 0 3px #fff3}.controls__vol-header[data-v-5712aad4]{align-items:center;gap:4px;display:flex}.controls__vol-label[data-v-5712aad4]{color:#ffffffe6;flex:1;padding:0 4px;font-size:.8rem;font-weight:600}.controls__vol-body[data-v-5712aad4]{align-items:center;gap:12px;padding:6px 0 4px;display:flex}.controls__vol-pct[data-v-5712aad4]{font-variant-numeric:tabular-nums;color:#fff9;text-align:right;min-width:32px;font-size:.75rem;font-weight:600}.controls__row[data-v-5712aad4]{align-items:center;gap:4px;display:flex}.controls__time[data-v-5712aad4]{font-variant-numeric:tabular-nums;color:#fff9;letter-spacing:.02em;flex:1;padding:0 4px;font-size:.7rem;font-weight:500}.controls__play-wrap[data-v-5712aad4]{flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.controls__buf-spinner[data-v-5712aad4]{border:2px solid #ffffff26;border-top-color:#fffc;border-radius:50%;width:14px;height:14px;animation:.75s linear infinite spin-5712aad4}.controls__btn[data-v-5712aad4]{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__btn svg[data-v-5712aad4]{width:16px;height:16px}.controls__btn[data-v-5712aad4]:hover{color:#fff;background:#ffffff1a}.controls__btn--rate[data-v-5712aad4]{font-variant-numeric:tabular-nums;letter-spacing:.02em;width:auto;min-width:30px;padding:0 4px;font-size:.65rem;font-weight:700}.controls__btn--active[data-v-5712aad4]{color:#3b82f6}.controls__btn--active[data-v-5712aad4]:hover{color:#60a5fa}.controls__btn--close[data-v-5712aad4]{color:#fff6}.controls__btn--close[data-v-5712aad4]:hover{color:#fffc}.controls__fs-wrap[data-v-5712aad4]{flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.controls__fs-spinner[data-v-5712aad4]{border:2px solid #ffffff26;border-top-color:#fffc;border-radius:50%;width:14px;height:14px;animation:.75s linear infinite spin-5712aad4}@keyframes spin-f3307b98{to{transform:rotate(360deg)}}.overlay__tap-capture[data-v-f3307b98]{z-index:2;position:absolute;inset:0}.overlay__spinner[data-v-f3307b98]{z-index:5;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.overlay__spinner-ring[data-v-f3307b98]{border:3px solid #ffffff1f;border-top-color:#fffc;border-radius:50%;width:40px;height:40px;animation:.75s linear infinite spin-f3307b98}.fade-enter-active[data-v-f3307b98],.fade-leave-active[data-v-f3307b98]{transition:opacity .25s}.fade-enter-from[data-v-f3307b98],.fade-leave-to[data-v-f3307b98]{opacity:0}.overlay__error[data-v-f3307b98]{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-f3307b98]{color:#ffffffb3;text-align:center;max-width:260px;font-size:.875rem;line-height:1.5}.overlay__retry[data-v-f3307b98]{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-f3307b98]:hover{background:#fff3}.overlay__hud[data-v-f3307b98]{z-index:4;opacity:0;pointer-events:all;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.overlay__hud--visible[data-v-f3307b98]{opacity:1}.overlay__popup[data-v-f3307b98]{z-index:5;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.overlay__popup--fs[data-v-f3307b98]{align-items:flex-end}.popup-enter-active[data-v-f3307b98],.popup-leave-active[data-v-f3307b98]{transition:opacity .2s,transform .2s}.popup-enter-from[data-v-f3307b98],.popup-leave-to[data-v-f3307b98]{opacity:0;transform:scale(.95)}.vjs-svg-icon{fill:currentColor;background-position:50%;background-repeat:no-repeat;width:1.8em;height:1.8em;display:inline-block}.vjs-svg-icon:before{content:none!important}.vjs-svg-icon:hover,.vjs-control:focus .vjs-svg-icon{filter:drop-shadow(0 0 .25em #fff)}.vjs-modal-dialog .vjs-modal-dialog-content,.video-js .vjs-modal-dialog,.vjs-button>.vjs-icon-placeholder:before,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{width:100%;height:100%;position:absolute;top:0;left:0}.vjs-button>.vjs-icon-placeholder:before,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{text-align:center}@font-face{font-family:VideoJS;src:url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAABTsAAsAAAAAIpAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADsAAABUIIslek9TLzIAAAFEAAAAPgAAAFZRiV32Y21hcAAAAYQAAAEJAAAD5p42+VxnbHlmAAACkAAADtIAABckI4l972hlYWQAABFkAAAAKwAAADYsvIjpaGhlYQAAEZAAAAAdAAAAJA+RCL1obXR4AAARsAAAABcAAAC8Q2YAAGxvY2EAABHIAAAAYAAAAGB7CIGGbWF4cAAAEigAAAAfAAAAIAFAAI9uYW1lAAASSAAAASUAAAIK1cf1oHBvc3QAABNwAAABfAAAAnXdFqh1eJxjYGRgYOBiMGCwY2BycfMJYeDLSSzJY5BiYGGAAJA8MpsxJzM9kYEDxgPKsYBpDiBmg4gCACY7BUgAeJxjYGR7yDiBgZWBgaWQ5RkDA8MvCM0cwxDOeI6BgYmBlZkBKwhIc01hcPjI+FGPHcRdyA4RZgQRADaGCyYAAHic7dPXbcMwAEXRK1vuvffem749XAbKV3bjBA6fXsaIgMMLEWoQJaAEFKNnlELyQ4K27zib5PNF6vl8yld+TKr5kH0+cUw0xv00Hwvx2DResUyFKrV4XoMmLdp06NKjz4AhI8ZMmDJjzoIlK9Zs2LJjz4EjJ85cuHLjziPe/0UWL17mf2tqKLz/9jK9f8tXpGCoRdPKhtS0RqFkWvVQNtSKoVYNtWaoddPXEBqG2jQ9XWgZattQO4baNdSeofYNdWCoQ0MdGerYUCeGOjXUmaHODXVhqEtDXRnq2lA3hro11J2h7g31YKhHQz0Z6tlQL4Z6NdSbod4N9WGoT9MfHF6GmhnZLxyDcRMAAAB4nJ1YC1hU17U+a5/HMA4iA3NmVBDmoQwP5TFnHlFeA4gYiUFRQINoSCBAyK3G2yi+0aipYtFcHYo2xsb4NiY3+VrNxSaX5uvt495ozNdoYoxmem2/L8HGpLc+InB279pnhlGr5mvL4eyz99nrrL32eu1/DQcc/okdYgdHOA6MQKp4r9gx0EcMHMezOalVasW5BM7NcXoSb9fFgE6KtSSBxWz1FYDPG+vMBGcKb9cebu2VS5s2aaTkCvRSf6C7Y+Ppibm5E09v7IDs2/3uZQtbD0zIyppwoHXh/93ukmyYgdePNRp65p5v+3v/9otQl2O7wP34cT88p8Md2YxpYLQZoRcy6FlSBRnwnGAe6BPMSCZo+7NJVqS0cE4uHendzhSnbPH6TDqL1+Nme5LZXkCHnGyoH0kne30WH+gswhm3q+pt/mTas9NLS64GnjmSlTPw0wVQT/ewRaBgxtydy3cuUB9/6SW+vb5yRvr+t0eOfPKJZ/9t3+4tL7xj32Xd3thCxi+ge6ifdsAN+l5+wi5HQ/cCoeull1AszS7CUfEcJzK7sKWJAdJhCd0sPM4+EY7QDm5ov08hXRQXE5bf6PV5Q5+IjW7X7Nku92Ask4l2hCRRD6TPqISiCJeQna3SCFwrhrNzXHzo4yFevBwxpzxk8WCIIfkvVEKVy32SbT8n68gzgaslpaiO2zIGIyuSb7RNf9HSuN26y/7OC1tgEmpiyA6aD4qcgTOiLThwGG0eB694FI8NHLLN6OBlRVaMxNAFS4JdXUG6mW8PwpKuYLCLXKGbu8iwYNdgO06Sn3Th+/vyZAxs8Ro30DjHe9gy8Fywi24OMm7Qyzh3MTZVOMYhLBnoC+J79lpTUyQmorjhnMwlcQ5uPEYGpDjsOkkH49BjQLQBqs3jFtFdJNlksYmoQFDArLh8Xh+Qd6Ghcsb6FUuehDi+U/lqD71K/qiegeV1imcwjl7ExwiSrf4BZyCujV6cVcFo6VX+G9IcPyFjJnUufbU/jzrL1X99as36reXl8K32nFaOr+E8jWJEcJ55DpMVfSMe95/AJaOsGBH2GJCNpiRQbK4C8BjdmQA22QY2j03Em13i2YHqtNLU1NI04Yj2HJgA6fQc6VPNpA/D+Ryks554NnVy2mB72uRUfPLsqR4N0LOBQKArwJYO+5W2fgZX8oC1HR6HjNaQTVIG2FPwnTcXXGZZfNB7TE6pTKZUwaw91XWLAoFFGcnB5PHjsckgBjbWutrL+0h5Y1xw3DRGDumsnXb3MJwXrJIN5U7m0rgJ3yG5w4he5ckFG4pmNEkOm0/xOO4r4yL87wqtQM+hiJIVp+6iG2wPBKD35ElGkDx+UfC2v1mFG1o+M3AjNFty8biKMXwzyxnZLds8wYD2BxmCPHAldPOeLsy/0BugftYhVYFAhO8SqQ0j3oK7dHJZnI/jxmUS4onlxskSF8thmvNZjIrRZwEPxr0lBuLRuz3oy/FOHCsxwOPYh2M+e9u3J5pgPYz9gp6G7C9m0A11F9ddqKMfV+4sbq45/YspOysXvT+3pdFdYNg2fHbW8Dz301MqDVuGrz0Fuh0YMW8mddrpqzST7rV9BcvqPoNvadRndWp0p8HvbiqrFj5yFQ/vNFSXDpxpLEFWp+DcrF3FT1afWshFcmCfeAMjEvO65i0Y6XijQfSRPWx3TV/Df7Km3E1l+kLt56s/rwVzuRusNMhudznkwdLaS+QNdeal2jDPP4l9qHc98vTYZOSkxzD+njBWVWjFPKgipx6DkWvXQiW8OYcewVHE5yukinDMcfGgc0opDltYKDxIGBedkzc6jSfE7tlvESCDFUw0Hx0opS+U0lHCxNottbNWSxX9zZVvEhKWUSyBpaXwBc2a98M6UqPeXAs/GDon8Ax7hsthO8cM5HU7Ad0UvRR9lHmtyQKZ4MAe814X5h9MSUkQmhf96eVJ6p90OjIiqSIjvykvr2l5U55O/fPQKD+jIomYpNyGJQ25uQ2kIikRfAmuBHCPsWqkSDEqgZ5KDI2sifS/R43MbZg0idFHbCPNxXxZws1ACVE6hAhOdJwRkJLFBLPZpRGYJ50pko6XzMkgmSx40ljik6AQcKhFnLcQE6rF7PXFe1Ocoj0T3AXgSgJTDIhHRfHlYZKuSzc6uievOJGXY+i5GJkkTp7UM3y0LqATDbtFcbdBxO7o4T25JYlEjoH0uynUh8rapkxp62QN70svSF+hT4gGPlovlmcm/ComLi7mV4kTykV9NFWjE/QrwgQ4uIcAP0rQF4VZYRP2o3PhHHzfPMJj9Ir+uzKUlrH49ntT18AVvj1sc3YGjUT/Mt2Dxawa8ArcA7bCQIpvfwAYu22vEG/No/5RvPdA7g+AelLrPwzy+LtkLPhnpIxH14m4EYq8eeMHbPEPNm6G7Nv9B4jcFPZ8bJj0SEjP3MPgQdKTqqEoy2v6G32P/Y6dxOv04AxnoAeq+GILvUavtYCBXm+BaIhuodcfrN5B/V2EYMCPh+SxavjGyPwV0x4CJgUPGT0mQaODGBACIJZGsMXwAD0LGXx7l3CdAcKMIKI+f5CepWeD0BvyU/GcdBxPF8SwejC6LGZmAURFdsSWKR5HyHld2kbdIZO1Ixx+bnnzU7n5+blPNV9jnUDWhP2tC68tbN3PVIldsQPxSAcSpjOav7Q05uXn5zW2LLvDXn9B6syscPy9iDLEMmSrJz6nYuWMipukjM0AH8JkGS+XFyMRkzSCH7KD/hwm172SAyZYumHlefr5AddrtA0O0TnwaVZxcRY9Bfukn9Gf05N1r9DV9MoBsJ1f+ZrqUvtPHizJAntWybv7hmqLt6QLuK6ZS9Fqi1jO5rDoWPZXXII5Tgajg53cIXCjDCGIcYrRIY2n6+mXOa/W0bdhau3ryiEYe2FV/5oeaIYK/5w5frCyll6/cYO8DiNhw6t1MBWmznt91QX62UF1N7l0eHBZTRGpKaqpKVIPF9UcIzmReud9TSY75+K899GHbBu6wjoR7RKKZVYiYxSPf5/2wJT5e3NAhmUbVn5KLx1Ujg0+BGvpAIh0DezInTkzF37KVocxrKU3r1+XLtAe2lO3l66kfQfB/unKY+q8N375Ru8bc4pJXfEcESU95q+p8ZNZRTWH1d9FzvUdYXk5rLkcdkEisoKKVHQW/b3GEx6tPaYcoJfOr9wAbSBnv1IHpep0OExr4LPMkpJM+j7sly7UHkOzXjoAZljHCGiyegtNlwljM0v+c19ET9Pvst09a2Mtgcf5/ZSzYO5h1156+eyydfAsxGa9XAuF6vzjh6CssLq6ECysperXX0sX5h5ZdpZe3guxsGIPEtHk/aqXX1hVqP5HYVVVISkrrNqvXorIc+5Ou91Hnr/LcD2afi6eX7UBloOcs7cOpqgGaNfs1g7bNbs9z6wASaylN69d0/TFTIz6Ws8+oGV3mE2612wRTHKcVUbhjKadebloMc+dyXgMVtVK6BwMB/+mVW09igdRBWaRtNQX59d/VD//xdQ0TCiYNj1KT9sq6Wdu5WTbqk3qDXyDaLa1fv621LS01G3z61sD6lH8lAxDLicV921s6Bf92JOYvzNYCL1khbqBXEFUzC521N5NyzNaQIWhjyFyDoBIVrAjmv2UEaLlI+c6zw1jmVIPLLLZZUTj6GxGHW+mq1tgHXR2D85p4Q934+jLbtjVLcyCdS10NVzpHqxp4Q/hK7WopY/NRGx9HGsPGdFjOjcpjBnGYMVqY/4eqT5khWEHWUup2A/pTw7pdWgsWft7ETUERL96nRg0HNFPmCYba6pylECaExX89A9WLUOVB4oKLu/o1oqSYHCgLzBUlAz8hNFDRpeSU1XT+LRmDUgPaKbYdHDn9suF/tu13nHJij0N97LfS0QmqONuyONk7zvUI6Qa0pF9f2+oABL92AT6e0U//z9YqAiWtJLU1JK0gS+1aacwamiNqK067u9ZQ8f1d4qLodMzz3uL89Z68V/Hnr++hXWUuHgw8dfi972PeTyPefu3aNNucemQ74qFuIaJnVkOu4Q+yjuwmmC1FqZpl1i4uzoPxjkpPf3Xv545tl26Rr+dOvUd+omqJzch9dOeU7f10Y64nMcKK137DccIZq2WdXtdZjbEoLSzHwiMtrjYLDxpHQW8gjMX6XFYAE2zSWVD04EGYSs9MbO6sEo20BMEAB4mpvSypsKjZ4Stgzb+c3A9/MQT2+vrBy+qvyFxLUtLlSRF/Ri2wjfZ2dus2Q8lXx4608/jnqK5OOap6NY2PSjYYnECCjiEeLJll/pbmqfeIK+ps3+MxrlEhqmTPipVP7kqlF4VhpEb6r+Q7YOJg38kJ9SHBf3NBl6+9YchfbUjb5ahLSzUM3kPHmwFAsZ5rpai0S7E5xWzZ1j+fW7zsUWP2g5NXTw52ySCTrgG0+lbw60l2Y/CB185CoA8NK+tbRKxfjy6pm5hzQRRR+cMqv1Jbiw6STivtEvt3DRcy0QEh92JlUGo2PG4tSKHl00YD6xc8CK+YPYyy3io2lN8BcSjKRzrIV6ypOAobqxViJPaT9M9Hy5szY33mp7OX/Zu89L/7Ww5vqY2Y8b0pKgoiUhG5cPDPzq8qTV/WkzUOIvXVVA96kmjcBrr3HrYC/Wn+fYP6Z7T1rqy3zknbvqma/FvVk96fNXGkuaXrdHW5JGSxZT/2I/O73v+yNWafMdzc5NdxYurHs6h86e01sLKLz9EBrg+x36rxAaED7hRnAMx7Vzu+9wabh3zG8XLQjx0ablUJzmxdErxYT3kzQSd0SSafVqF5PXgpp0OyYJ1EyNHpGUZmvK575ySzd85JSqF7IBzSAbMM04+MbE58xF3/njXOGecSaermlw2y9PsSQdytLJVr8t+wg+rR8cZYoeNxVIzNdk3Bngi8U5LAlgTFoQnzJCa5EsCgYhCaGL+qPj7TdhG31p9tej3R04N//PXxNwJvyUqwaJqRPJY98TJ5TPndmflRAkAhBfe46sfKW5wizSge08Xb7Ca/GUVs55trngkKkrUS2WPzKttaaqq+idmahugkY+W6fN0I6i3gPt/x88U4wAAeJxjYGRgYADiGU9YXsXz23xl4GZnAIFH7fO+IdMc/WBxDgYmEAUASbMKwAB4nGNgZGBgZwABjj4Ghv//OfoZGBlQgT4ARicDZAAAAHicY2BgYGAfxJijD8Fmu4EqBwCSpgKpAAAAAAAADgBoAH4AzADgAQIBQgFsAZgB7gIuAooC0AL8A2IDjAOoA+AEMASwBNoFCAVaBcAGCAYuBnAGrAb2B04HigfSCCoIcAiGCJwIyAkkCVYJiAmsCfIKIApWCsQLknicY2BkYGDQZ2hmYGcAASYg5gJCBob/YD4DABqrAdAAeJxdkE1qg0AYhl8Tk9AIoVDaVSmzahcF87PMARLIMoFAl0ZHY1BHdBJIT9AT9AQ9RQ9Qeqy+yteNMzDzfM+88w0K4BY/cNAMB6N2bUaPPBLukybCLvleeAAPj8JD+hfhMV7hC3u4wxs7OO4NzQSZcI/8Ltwnfwi75E/hAR7wJTyk/xYeY49fYQ/PztM+jbTZ7LY6OWdBJdX/pqs6NYWa+zMxa13oKrA6Uoerqi/JwtpYxZXJ1coUVmeZUWVlTjq0/tHacjmdxuL90OR8O0UEDYMNdtiSEpz5XQGqzlm30kzUdAYFFOb8R7NOZk0q2lwAyz1i7oAr1xoXvrOgtYhZx8wY5KRV269JZ5yGpmzPTjQhvY9je6vEElPOuJP3mWKnP5M3V+YAAAB4nG2ReVPbMBDF/ULi2EkDBFqO3gdHLxUzDB9IkdexBllydRD49ihO3Ckz7B/a31utZnafkkGyiXnyclxhgB0MMUKKMTLkmGCKV5hhF3vYxxwHOMRrvMERjnGCU7zFO7zHB3zEJ3zGF3zFN5zhHBe4xHf8wE/8wm8w/MEVimTYKv44XR9MSCsUjVoeHE3vjQoNsSZ4mmxZmVWPjSz7jlou6/0qKOWEJdKMtCe793/hQfqxa6XWZHMXFl56RS4TvPXSaDeoy0zUUZB109KstDK8lHo5q6Qi1hcOnqkImubPS6aqRq7mlnaEWabub4iYblba3SRmgldS0+FWdhNtt04F14JUaqkl7tcpOpJtErvNt3Bd9HRT5JWxK25Ldjvp6br4hzfFiIdSmlzTg2fSUzNrLd1LE1ynxq4OVaVoKLjzJ60UPtj1RKzHzsbjly6inVnFBS2MucviPncU7Rr7lfTxRepDs1A2j3ZHRc7PuzFYSfE3ZOd4kjwBy227hA==)format("woff");font-weight:400;font-style:normal}.vjs-icon-play,.video-js .vjs-play-control .vjs-icon-placeholder,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-play:before,.video-js .vjs-play-control .vjs-icon-placeholder:before,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{content:""}.vjs-icon-play-circle{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-play-circle:before{content:""}.vjs-icon-pause,.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-pause:before,.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder:before{content:""}.vjs-icon-volume-mute,.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-volume-mute:before,.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder:before{content:""}.vjs-icon-volume-low,.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-volume-low:before,.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder:before{content:""}.vjs-icon-volume-mid,.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-volume-mid:before,.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder:before{content:""}.vjs-icon-volume-high,.video-js .vjs-mute-control .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-volume-high:before,.video-js .vjs-mute-control .vjs-icon-placeholder:before{content:""}.vjs-icon-fullscreen-enter,.video-js .vjs-fullscreen-control .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-fullscreen-enter:before,.video-js .vjs-fullscreen-control .vjs-icon-placeholder:before{content:""}.vjs-icon-fullscreen-exit,.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-fullscreen-exit:before,.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder:before{content:""}.vjs-icon-spinner{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-spinner:before{content:""}.vjs-icon-subtitles,.video-js .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js .vjs-subtitles-button .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-subtitles:before,.video-js .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js .vjs-subtitles-button .vjs-icon-placeholder:before{content:""}.vjs-icon-captions,.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js .vjs-captions-button .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-captions:before,.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js .vjs-captions-button .vjs-icon-placeholder:before{content:""}.vjs-icon-hd{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-hd:before{content:""}.vjs-icon-chapters,.video-js .vjs-chapters-button .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-chapters:before,.video-js .vjs-chapters-button .vjs-icon-placeholder:before{content:""}.vjs-icon-downloading{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-downloading:before{content:""}.vjs-icon-file-download{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-file-download:before{content:""}.vjs-icon-file-download-done{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-file-download-done:before{content:""}.vjs-icon-file-download-off{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-file-download-off:before{content:""}.vjs-icon-share{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-share:before{content:""}.vjs-icon-cog{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-cog:before{content:""}.vjs-icon-square{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-square:before{content:""}.vjs-icon-circle,.vjs-seek-to-live-control .vjs-icon-placeholder,.video-js .vjs-volume-level,.video-js .vjs-play-progress{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-circle:before,.vjs-seek-to-live-control .vjs-icon-placeholder:before,.video-js .vjs-volume-level:before,.video-js .vjs-play-progress:before{content:""}.vjs-icon-circle-outline{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-circle-outline:before{content:""}.vjs-icon-circle-inner-circle{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-circle-inner-circle:before{content:""}.vjs-icon-cancel,.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-cancel:before,.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder:before{content:""}.vjs-icon-repeat{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-repeat:before{content:""}.vjs-icon-replay,.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-replay:before,.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before{content:""}.vjs-icon-replay-5,.video-js .vjs-skip-backward-5 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-replay-5:before,.video-js .vjs-skip-backward-5 .vjs-icon-placeholder:before{content:""}.vjs-icon-replay-10,.video-js .vjs-skip-backward-10 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-replay-10:before,.video-js .vjs-skip-backward-10 .vjs-icon-placeholder:before{content:""}.vjs-icon-replay-30,.video-js .vjs-skip-backward-30 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-replay-30:before,.video-js .vjs-skip-backward-30 .vjs-icon-placeholder:before{content:""}.vjs-icon-forward-5,.video-js .vjs-skip-forward-5 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-forward-5:before,.video-js .vjs-skip-forward-5 .vjs-icon-placeholder:before{content:""}.vjs-icon-forward-10,.video-js .vjs-skip-forward-10 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-forward-10:before,.video-js .vjs-skip-forward-10 .vjs-icon-placeholder:before{content:""}.vjs-icon-forward-30,.video-js .vjs-skip-forward-30 .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-forward-30:before,.video-js .vjs-skip-forward-30 .vjs-icon-placeholder:before{content:""}.vjs-icon-audio,.video-js .vjs-audio-button .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-audio:before,.video-js .vjs-audio-button .vjs-icon-placeholder:before{content:""}.vjs-icon-next-item{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-next-item:before{content:""}.vjs-icon-previous-item{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-previous-item:before{content:""}.vjs-icon-shuffle{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-shuffle:before{content:""}.vjs-icon-cast{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-cast:before{content:""}.vjs-icon-picture-in-picture-enter,.video-js .vjs-picture-in-picture-control .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-picture-in-picture-enter:before,.video-js .vjs-picture-in-picture-control .vjs-icon-placeholder:before{content:""}.vjs-icon-picture-in-picture-exit,.video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-picture-in-picture-exit:before,.video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder:before{content:""}.vjs-icon-facebook{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-facebook:before{content:""}.vjs-icon-linkedin{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-linkedin:before{content:""}.vjs-icon-twitter{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-twitter:before{content:""}.vjs-icon-tumblr{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-tumblr:before{content:""}.vjs-icon-pinterest{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-pinterest:before{content:""}.vjs-icon-audio-description,.video-js .vjs-descriptions-button .vjs-icon-placeholder{font-family:VideoJS;font-style:normal;font-weight:400}.vjs-icon-audio-description:before,.video-js .vjs-descriptions-button .vjs-icon-placeholder:before{content:""}.video-js{vertical-align:top;box-sizing:border-box;color:#fff;word-break:initial;background-color:#000;padding:0;font-family:Arial,Helvetica,sans-serif;font-size:10px;font-style:normal;font-weight:400;line-height:1;display:inline-block;position:relative}.video-js:-moz-full-screen{position:absolute}.video-js:-webkit-full-screen{width:100%!important;height:100%!important}.video-js[tabindex="-1"]{outline:none}.video-js *,.video-js :before,.video-js :after{box-sizing:inherit}.video-js ul{font-family:inherit;font-size:inherit;line-height:inherit;margin:0;list-style-position:outside}.video-js.vjs-fluid,.video-js.vjs-16-9,.video-js.vjs-4-3,.video-js.vjs-9-16,.video-js.vjs-1-1{width:100%;max-width:100%}.video-js.vjs-fluid:not(.vjs-audio-only-mode),.video-js.vjs-16-9:not(.vjs-audio-only-mode),.video-js.vjs-4-3:not(.vjs-audio-only-mode),.video-js.vjs-9-16:not(.vjs-audio-only-mode),.video-js.vjs-1-1:not(.vjs-audio-only-mode){height:0}.video-js.vjs-16-9:not(.vjs-audio-only-mode){padding-top:56.25%}.video-js.vjs-4-3:not(.vjs-audio-only-mode){padding-top:75%}.video-js.vjs-9-16:not(.vjs-audio-only-mode){padding-top:177.778%}.video-js.vjs-1-1:not(.vjs-audio-only-mode){padding-top:100%}.video-js.vjs-fill:not(.vjs-audio-only-mode){width:100%;height:100%}.video-js .vjs-tech{width:100%;height:100%;position:absolute;top:0;left:0}.video-js.vjs-audio-only-mode .vjs-tech{display:none}body.vjs-full-window,body.vjs-pip-window{height:100%;margin:0;padding:0}.vjs-full-window .video-js.vjs-fullscreen,body.vjs-pip-window .video-js{z-index:1000;position:fixed;inset:0;overflow:hidden}.video-js.vjs-fullscreen:not(.vjs-ios-native-fs),body.vjs-pip-window .video-js{display:block;width:100%!important;height:100%!important;padding-top:0!important}.video-js.vjs-fullscreen.vjs-user-inactive{cursor:none}.vjs-pip-container .vjs-pip-text{text-align:center;background-color:#000000b3;width:100%;padding:.5em;font-size:2em;position:absolute;bottom:10%}.vjs-layout-tiny.vjs-pip-container .vjs-pip-text,.vjs-layout-x-small.vjs-pip-container .vjs-pip-text,.vjs-layout-small.vjs-pip-container .vjs-pip-text{font-size:1.4em;bottom:0}.vjs-hidden{display:none!important}.vjs-disabled{opacity:.5;cursor:default}.video-js .vjs-offscreen{width:1px;height:1px;position:absolute;top:0;left:-9999px}.vjs-lock-showing{opacity:1!important;visibility:visible!important;display:block!important}.vjs-no-js{color:#fff;text-align:center;background-color:#000;width:300px;height:150px;margin:0 auto;padding:20px;font-family:Arial,Helvetica,sans-serif;font-size:18px}.vjs-no-js a,.vjs-no-js a:visited{color:#66a8cc}.video-js .vjs-big-play-button{cursor:pointer;opacity:1;background-color:#2b333fb3;border:.06666em solid #fff;border-radius:.3em;width:3em;height:1.63332em;margin-top:-.81666em;margin-left:-1.5em;padding:0;font-size:3em;line-height:1.5em;transition:all .4s;display:block;position:absolute;top:50%;left:50%}.vjs-big-play-button .vjs-svg-icon{width:1em;height:1em;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.video-js:hover .vjs-big-play-button,.video-js .vjs-big-play-button:focus{background-color:#73859f80;border-color:#fff;transition:all}.vjs-controls-disabled .vjs-big-play-button,.vjs-has-started .vjs-big-play-button,.vjs-using-native-controls .vjs-big-play-button,.vjs-error .vjs-big-play-button{display:none}.vjs-has-started.vjs-paused.vjs-show-big-play-button-on-pause:not(.vjs-seeking,.vjs-scrubbing,.vjs-error) .vjs-big-play-button{display:block}.video-js button{color:inherit;font-size:inherit;line-height:inherit;text-transform:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;border:none;text-decoration:none;transition:none;display:inline-block}.video-js.vjs-spatial-navigation-enabled .vjs-button:focus{box-shadow:none;outline:.0625em solid #fff}.vjs-control .vjs-button{width:100%;height:100%}.video-js .vjs-control.vjs-close-button{cursor:pointer;z-index:2;height:3em;position:absolute;top:.5em;right:0}.video-js .vjs-modal-dialog{background:linear-gradient(#000c,#fff0);overflow:auto}.video-js .vjs-modal-dialog>*{box-sizing:border-box}.vjs-modal-dialog .vjs-modal-dialog-content{z-index:1;padding:20px 24px;font-size:1.2em;line-height:1.5}.vjs-menu-button{cursor:pointer}.vjs-menu-button.vjs-disabled{cursor:default}.vjs-workinghover .vjs-menu-button.vjs-disabled:hover .vjs-menu{display:none}.vjs-menu .vjs-menu-content{margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;display:block;overflow:auto}.vjs-menu .vjs-menu-content>*{box-sizing:border-box}.vjs-scrubbing .vjs-control.vjs-menu-button:hover .vjs-menu{display:none}.vjs-menu li{text-align:center;text-transform:lowercase;justify-content:center;margin:0;padding:.2em 0;font-size:1.2em;line-height:1.4em;list-style:none;display:flex}.vjs-menu li.vjs-menu-item:focus,.vjs-menu li.vjs-menu-item:hover,.js-focus-visible .vjs-menu li.vjs-menu-item:hover{background-color:#73859f80}.vjs-menu li.vjs-selected,.vjs-menu li.vjs-selected:focus,.vjs-menu li.vjs-selected:hover,.js-focus-visible .vjs-menu li.vjs-selected:hover{color:#2b333f;background-color:#fff}.vjs-menu li.vjs-selected .vjs-svg-icon,.vjs-menu li.vjs-selected:focus .vjs-svg-icon,.vjs-menu li.vjs-selected:hover .vjs-svg-icon,.js-focus-visible .vjs-menu li.vjs-selected:hover .vjs-svg-icon{fill:#000}.video-js .vjs-menu :not(.vjs-selected):focus:not(:focus-visible),.js-focus-visible .vjs-menu :not(.vjs-selected):focus:not(.focus-visible){background:0 0}.vjs-menu li.vjs-menu-title{text-align:center;text-transform:uppercase;cursor:default;margin:0 0 .3em;padding:0;font-size:1em;font-weight:700;line-height:2em}.vjs-menu-button-popup .vjs-menu{border-top-color:#2b333fb3;width:10em;height:0;margin-bottom:1.5em;display:none;position:absolute;bottom:0;left:-3em}.vjs-pip-window .vjs-menu-button-popup .vjs-menu{left:unset;right:1em}.vjs-menu-button-popup .vjs-menu .vjs-menu-content{background-color:#2b333fb3;width:100%;max-height:15em;position:absolute;bottom:1.5em}.vjs-layout-tiny .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-x-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:5em}.vjs-layout-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:10em}.vjs-layout-medium .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:14em}.vjs-layout-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-x-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-huge .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:25em}.vjs-workinghover .vjs-menu-button-popup.vjs-hover .vjs-menu,.vjs-menu-button-popup .vjs-menu.vjs-lock-showing{display:block}.video-js .vjs-menu-button-inline{transition:all .4s;overflow:hidden}.video-js .vjs-menu-button-inline:before{width:2.22222em}.video-js .vjs-menu-button-inline:hover,.video-js .vjs-menu-button-inline:focus,.video-js .vjs-menu-button-inline.vjs-slider-active{width:12em}.vjs-menu-button-inline .vjs-menu{opacity:0;width:auto;height:100%;margin:0;padding:0;transition:all .4s;position:absolute;top:0;left:4em}.vjs-menu-button-inline:hover .vjs-menu,.vjs-menu-button-inline:focus .vjs-menu,.vjs-menu-button-inline.vjs-slider-active .vjs-menu{opacity:1;display:block}.vjs-menu-button-inline .vjs-menu-content{width:auto;height:100%;margin:0;overflow:hidden}.video-js .vjs-control-bar{background-color:#2b333fb3;width:100%;height:3em;display:none;position:absolute;bottom:0;left:0;right:0}.video-js.vjs-spatial-navigation-enabled .vjs-control-bar{gap:1px}.video-js:not(.vjs-controls-disabled,.vjs-using-native-controls,.vjs-error) .vjs-control-bar.vjs-lock-showing{display:flex!important}.vjs-has-started .vjs-control-bar,.vjs-audio-only-mode .vjs-control-bar{visibility:visible;opacity:1;transition:visibility .1s,opacity .1s;display:flex}.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{visibility:visible;opacity:0;pointer-events:none;transition:visibility 1s,opacity 1s}.vjs-controls-disabled .vjs-control-bar,.vjs-using-native-controls .vjs-control-bar,.vjs-error .vjs-control-bar{display:none!important}.vjs-audio.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar,.vjs-audio-only-mode.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{opacity:1;visibility:visible;pointer-events:auto}.video-js .vjs-control{text-align:center;flex:none;width:4em;height:100%;margin:0;padding:0;position:relative}.video-js .vjs-control.vjs-visible-text{width:auto;padding-left:1em;padding-right:1em}.vjs-button>.vjs-icon-placeholder:before{font-size:1.8em;line-height:1.67}.vjs-button>.vjs-icon-placeholder{display:block}.vjs-button>.vjs-svg-icon{display:inline-block}.video-js .vjs-control:focus:before,.video-js .vjs-control:hover:before,.video-js .vjs-control:focus{text-shadow:0 0 1em #fff}.video-js :not(.vjs-visible-text)>.vjs-control-text{clip:rect(0 0 0 0);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.video-js .vjs-custom-control-spacer{display:none}.video-js .vjs-progress-control{cursor:pointer;touch-action:none;flex:auto;align-items:center;min-width:4em;display:flex}.video-js .vjs-progress-control.disabled{cursor:default}.vjs-live .vjs-progress-control{display:none}.vjs-liveui .vjs-progress-control{align-items:center;display:flex}.video-js .vjs-progress-holder{flex:auto;height:.3em;transition:all .2s}.video-js .vjs-progress-control .vjs-progress-holder{margin:0 10px}.video-js .vjs-progress-control:hover .vjs-progress-holder,.video-js.vjs-scrubbing.vjs-touch-enabled .vjs-progress-control .vjs-progress-holder{font-size:1.66667em}.video-js .vjs-progress-control:hover .vjs-progress-holder.disabled{font-size:1em}.video-js .vjs-progress-holder .vjs-play-progress,.video-js .vjs-progress-holder .vjs-load-progress,.video-js .vjs-progress-holder .vjs-load-progress div{width:0;height:100%;margin:0;padding:0;display:block;position:absolute}.video-js .vjs-play-progress{background-color:#fff}.video-js .vjs-play-progress:before{z-index:1;font-size:.9em;line-height:.35em;position:absolute;right:-.5em}.vjs-svg-icons-enabled .vjs-play-progress:before{content:none!important}.vjs-play-progress .vjs-svg-icon{pointer-events:none;z-index:1;width:.9em;height:.9em;line-height:.15em;position:absolute;top:-.35em;right:-.4em}.video-js .vjs-load-progress{background:#73859f80}.video-js .vjs-load-progress div{background:#73859fbf}.video-js .vjs-time-tooltip{color:#000;float:right;pointer-events:none;visibility:hidden;z-index:1;background-color:#fffc;border-radius:.3em;padding:6px 8px 8px;font-family:Arial,Helvetica,sans-serif;font-size:1em;position:absolute;top:-3.4em}.video-js .vjs-progress-holder:focus .vjs-time-tooltip{display:none}.video-js .vjs-progress-control:hover .vjs-time-tooltip,.video-js .vjs-progress-control:hover .vjs-progress-holder:focus .vjs-time-tooltip,.video-js.vjs-scrubbing.vjs-touch-enabled .vjs-progress-control .vjs-time-tooltip{visibility:visible;font-size:.6em;display:block}.video-js .vjs-progress-control.disabled:hover .vjs-time-tooltip{font-size:1em}.video-js .vjs-progress-control .vjs-mouse-display{z-index:1;background-color:#000;width:1px;height:100%;display:none;position:absolute}.video-js .vjs-progress-control:hover .vjs-mouse-display,.video-js.vjs-scrubbing.vjs-touch-enabled .vjs-progress-control .vjs-mouse-display{display:block}.video-js.vjs-user-inactive .vjs-progress-control .vjs-mouse-display,.video-js.vjs-touch-enabled:not(.vjs-scrubbing) .vjs-progress-control .vjs-mouse-display{visibility:hidden;opacity:0;transition:visibility 1s,opacity 1s}.vjs-mouse-display .vjs-time-tooltip{color:#fff;background-color:#000c}.video-js .vjs-slider{cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:#73859f80;margin:0 .45em;padding:0;position:relative}.video-js .vjs-slider.disabled{cursor:default}.video-js .vjs-slider:focus{text-shadow:0 0 1em #fff;box-shadow:0 0 1em #fff}.video-js.vjs-spatial-navigation-enabled .vjs-slider:focus{outline:.0625em solid #fff}.video-js .vjs-mute-control{cursor:pointer;flex:none}.video-js .vjs-volume-control{cursor:pointer;margin-right:1em;display:flex}.video-js .vjs-volume-control.vjs-volume-horizontal{width:5em}.video-js .vjs-volume-panel .vjs-volume-control{visibility:visible;opacity:0;width:1px;height:1px;margin-left:-1px}.video-js .vjs-volume-panel{transition:width 1s}.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control,.video-js .vjs-volume-panel:active .vjs-volume-control,.video-js .vjs-volume-panel:focus .vjs-volume-control,.video-js .vjs-volume-panel .vjs-volume-control:active,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active{visibility:visible;opacity:1;transition:visibility .1s,opacity .1s,height .1s,width .1s,left,top;position:relative}.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal{width:5em;height:3em;margin-right:0}.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-vertical,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-vertical{transition:left;left:-3.5em}.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active{width:10em;transition:width .1s}.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-mute-toggle-only{width:4em}.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical{width:3em;height:8em;transition:visibility 1s,opacity 1s,height 1s 1s,width 1s 1s,left 1s 1s,top 1s 1s;left:-3000em}.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal{transition:visibility 1s,opacity 1s,height 1s 1s,width 1s,left 1s 1s,top 1s 1s}.video-js .vjs-volume-panel{display:flex}.video-js .vjs-volume-bar{margin:1.35em .45em}.vjs-volume-bar.vjs-slider-horizontal{width:5em;height:.3em}.vjs-volume-bar.vjs-slider-vertical{width:.3em;height:5em;margin:1.35em auto}.video-js .vjs-volume-level{background-color:#fff;position:absolute;bottom:0;left:0}.video-js .vjs-volume-level:before{z-index:1;font-size:.9em;position:absolute}.vjs-slider-vertical .vjs-volume-level{width:.3em}.vjs-slider-vertical .vjs-volume-level:before{z-index:1;top:-.5em;left:-.3em}.vjs-svg-icons-enabled .vjs-volume-level:before{content:none}.vjs-volume-level .vjs-svg-icon{pointer-events:none;z-index:1;width:.9em;height:.9em;position:absolute}.vjs-slider-horizontal .vjs-volume-level{height:.3em}.vjs-slider-horizontal .vjs-volume-level:before{line-height:.35em;right:-.5em}.vjs-slider-horizontal .vjs-volume-level .vjs-svg-icon{right:-.3em;transform:translateY(-50%)}.vjs-slider-vertical .vjs-volume-level .vjs-svg-icon{top:-.55em;transform:translate(-50%)}.video-js .vjs-volume-panel.vjs-volume-panel-vertical{width:4em}.vjs-volume-bar.vjs-slider-vertical .vjs-volume-level{height:100%}.vjs-volume-bar.vjs-slider-horizontal .vjs-volume-level{width:100%}.video-js .vjs-volume-vertical{background-color:#2b333fb3;width:3em;height:8em;bottom:8em}.video-js .vjs-volume-horizontal .vjs-menu{left:-2em}.video-js .vjs-volume-tooltip{color:#000;float:right;pointer-events:none;visibility:hidden;z-index:1;background-color:#fffc;border-radius:.3em;padding:6px 8px 8px;font-family:Arial,Helvetica,sans-serif;font-size:1em;position:absolute;top:-3.4em}.video-js .vjs-volume-control:hover .vjs-volume-tooltip,.video-js .vjs-volume-control:hover .vjs-progress-holder:focus .vjs-volume-tooltip{visibility:visible;font-size:1em;display:block}.video-js .vjs-volume-vertical:hover .vjs-volume-tooltip,.video-js .vjs-volume-vertical:hover .vjs-progress-holder:focus .vjs-volume-tooltip{top:-12px;left:1em}.video-js .vjs-volume-control.disabled:hover .vjs-volume-tooltip{font-size:1em}.video-js .vjs-volume-control .vjs-mouse-display{z-index:1;background-color:#000;width:100%;height:1px;display:none;position:absolute}.video-js .vjs-volume-horizontal .vjs-mouse-display{width:1px;height:100%}.video-js .vjs-volume-control:hover .vjs-mouse-display{display:block}.video-js.vjs-user-inactive .vjs-volume-control .vjs-mouse-display{visibility:hidden;opacity:0;transition:visibility 1s,opacity 1s}.vjs-mouse-display .vjs-volume-tooltip{color:#fff;background-color:#000c}.vjs-poster{vertical-align:middle;cursor:pointer;height:100%;margin:0;padding:0;display:inline-block;position:absolute;inset:0}.vjs-has-started .vjs-poster,.vjs-using-native-controls .vjs-poster{display:none}.vjs-audio.vjs-has-started .vjs-poster,.vjs-has-started.vjs-audio-poster-mode .vjs-poster,.vjs-pip-container.vjs-has-started .vjs-poster{display:block}.vjs-poster img{object-fit:contain;width:100%;height:100%}.video-js .vjs-live-control{flex:auto;align-items:flex-start;font-size:1em;line-height:3em;display:flex}.video-js:not(.vjs-live) .vjs-live-control,.video-js.vjs-liveui .vjs-live-control{display:none}.video-js .vjs-seek-to-live-control{cursor:pointer;flex:none;align-items:center;width:auto;min-width:4em;height:100%;padding-left:.5em;padding-right:.5em;font-size:1em;line-height:3em;display:inline-flex}.video-js.vjs-live:not(.vjs-liveui) .vjs-seek-to-live-control,.video-js:not(.vjs-live) .vjs-seek-to-live-control{display:none}.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge{cursor:auto}.vjs-seek-to-live-control .vjs-icon-placeholder{color:#888;margin-right:.5em}.vjs-svg-icons-enabled .vjs-seek-to-live-control{line-height:0}.vjs-seek-to-live-control .vjs-svg-icon{pointer-events:none;fill:#888;width:1em;height:1em}.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-icon-placeholder{color:red}.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-svg-icon{fill:red}.video-js .vjs-time-control{flex:none;width:auto;min-width:2em;padding-left:1em;padding-right:1em;font-size:1em;line-height:3em}.vjs-live .vjs-time-control,.vjs-live .vjs-time-divider,.video-js .vjs-current-time,.video-js .vjs-duration{display:none}.vjs-time-divider{line-height:3em;display:none}.vjs-normalise-time-controls:not(.vjs-live) .vjs-time-control{display:flex}.video-js .vjs-play-control{cursor:pointer}.video-js .vjs-play-control .vjs-icon-placeholder{flex:none}.vjs-text-track-display{pointer-events:none;position:absolute;inset:0 0 3em}.vjs-error .vjs-text-track-display{display:none}.video-js.vjs-controls-disabled .vjs-text-track-display,.video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display{bottom:1em}.video-js .vjs-text-track{text-align:center;margin-bottom:.1em;font-size:1.4em}.vjs-subtitles{color:#fff}.vjs-captions{color:#fc6}.vjs-tt-cue{display:block}video::-webkit-media-text-track-display{transform:translateY(-3em)}.video-js.vjs-controls-disabled video::-webkit-media-text-track-display,.video-js.vjs-user-inactive.vjs-playing video::-webkit-media-text-track-display{transform:translateY(-1.5em)}.video-js.vjs-force-center-align-cues .vjs-text-track-cue{text-align:center!important;width:80%!important}@supports not (inset:10px){.video-js .vjs-text-track-display>div{inset:0}}.video-js .vjs-picture-in-picture-control{cursor:pointer;flex:none}.video-js.vjs-audio-only-mode .vjs-picture-in-picture-control,.vjs-pip-window .vjs-picture-in-picture-control{display:none}.video-js .vjs-fullscreen-control{cursor:pointer;flex:none}.video-js.vjs-audio-only-mode .vjs-fullscreen-control,.vjs-pip-window .vjs-fullscreen-control{display:none}.vjs-playback-rate>.vjs-menu-button,.vjs-playback-rate .vjs-playback-rate-value{width:100%;height:100%;position:absolute;top:0;left:0}.vjs-playback-rate .vjs-playback-rate-value{pointer-events:none;text-align:center;font-size:1.5em;line-height:2}.vjs-playback-rate .vjs-menu{width:4em;left:0}.vjs-error .vjs-error-display .vjs-modal-dialog-content{text-align:center;font-size:1.4em}.vjs-loading-spinner{opacity:.85;text-align:left;box-sizing:border-box;visibility:hidden;background-clip:padding-box;border:.6em solid #2b333fb3;border-radius:50%;width:5em;height:5em;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vjs-seeking .vjs-loading-spinner,.vjs-waiting .vjs-loading-spinner{justify-content:center;align-items:center;animation:0s linear .3s forwards vjs-spinner-show;display:flex}.vjs-error .vjs-loading-spinner{display:none}.vjs-loading-spinner:before,.vjs-loading-spinner:after{content:"";box-sizing:inherit;width:inherit;height:inherit;border-radius:inherit;opacity:1;border:inherit;border-color:#fff #0000 #0000;position:absolute}.vjs-seeking .vjs-loading-spinner:before,.vjs-seeking .vjs-loading-spinner:after,.vjs-waiting .vjs-loading-spinner:before,.vjs-waiting .vjs-loading-spinner:after{animation:1.1s cubic-bezier(.6,.2,0,.8) infinite vjs-spinner-spin,1.1s linear infinite vjs-spinner-fade}.vjs-seeking .vjs-loading-spinner:before,.vjs-waiting .vjs-loading-spinner:before{border-top-color:#fff}.vjs-seeking .vjs-loading-spinner:after,.vjs-waiting .vjs-loading-spinner:after{border-top-color:#fff;animation-delay:.44s}@keyframes vjs-spinner-show{to{visibility:visible}}@keyframes vjs-spinner-spin{to{transform:rotate(360deg)}}@keyframes vjs-spinner-fade{0%{border-top-color:#73859f}20%{border-top-color:#73859f}35%{border-top-color:#fff}60%{border-top-color:#73859f}to{border-top-color:#73859f}}.video-js.vjs-audio-only-mode .vjs-captions-button{display:none}.vjs-chapters-button .vjs-menu ul{width:24em}.video-js.vjs-audio-only-mode .vjs-descriptions-button{display:none}.vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-svg-icon{width:1.5em;height:1.5em}.video-js .vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder{vertical-align:middle;margin-bottom:-.1em;display:inline-block}.video-js .vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before{content:"";font-family:VideoJS;font-size:1.5em;line-height:inherit}.video-js.vjs-audio-only-mode .vjs-subs-caps-button{display:none}.video-js .vjs-audio-button+.vjs-menu .vjs-descriptions-menu-item .vjs-menu-item-text .vjs-icon-placeholder,.video-js .vjs-audio-button+.vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder{vertical-align:middle;margin-bottom:-.1em;display:inline-block}.video-js .vjs-audio-button+.vjs-menu .vjs-descriptions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before,.video-js .vjs-audio-button+.vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before{content:" ";font-family:VideoJS;font-size:1.5em;line-height:inherit}.video-js.vjs-layout-small .vjs-current-time,.video-js.vjs-layout-small .vjs-time-divider,.video-js.vjs-layout-small .vjs-duration,.video-js.vjs-layout-small .vjs-remaining-time,.video-js.vjs-layout-small .vjs-playback-rate,.video-js.vjs-layout-small .vjs-volume-control,.video-js.vjs-layout-x-small .vjs-current-time,.video-js.vjs-layout-x-small .vjs-time-divider,.video-js.vjs-layout-x-small .vjs-duration,.video-js.vjs-layout-x-small .vjs-remaining-time,.video-js.vjs-layout-x-small .vjs-playback-rate,.video-js.vjs-layout-x-small .vjs-volume-control,.video-js.vjs-layout-tiny .vjs-current-time,.video-js.vjs-layout-tiny .vjs-time-divider,.video-js.vjs-layout-tiny .vjs-duration,.video-js.vjs-layout-tiny .vjs-remaining-time,.video-js.vjs-layout-tiny .vjs-playback-rate,.video-js.vjs-layout-tiny .vjs-volume-control{display:none}.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover{width:auto;width:initial}.video-js.vjs-layout-x-small .vjs-progress-control,.video-js.vjs-layout-tiny .vjs-progress-control{display:none}.video-js.vjs-layout-x-small .vjs-custom-control-spacer{flex:auto;display:block}.vjs-modal-dialog.vjs-text-track-settings{color:#fff;background-color:#2b333fbf;height:70%}.vjs-spatial-navigation-enabled .vjs-modal-dialog.vjs-text-track-settings{height:80%}.vjs-error .vjs-text-track-settings{display:none}.vjs-text-track-settings .vjs-modal-dialog-content{display:table}.vjs-text-track-settings .vjs-track-settings-colors,.vjs-text-track-settings .vjs-track-settings-font,.vjs-text-track-settings .vjs-track-settings-controls{display:table-cell}.vjs-text-track-settings .vjs-track-settings-controls{text-align:right;vertical-align:bottom}@supports (display:grid){.vjs-text-track-settings .vjs-modal-dialog-content{grid-template-rows:1fr;grid-template-columns:1fr 1fr;padding:20px 24px 0;display:grid}.vjs-track-settings-controls .vjs-default-button{margin-bottom:20px}.vjs-text-track-settings .vjs-track-settings-controls{grid-column:1/-1}.vjs-layout-small .vjs-text-track-settings .vjs-modal-dialog-content,.vjs-layout-x-small .vjs-text-track-settings .vjs-modal-dialog-content,.vjs-layout-tiny .vjs-text-track-settings .vjs-modal-dialog-content{grid-template-columns:1fr}}.vjs-text-track-settings select{font-size:inherit}.vjs-track-setting>select{margin-bottom:.5em;margin-right:1em}.vjs-text-track-settings fieldset{border:none;margin:10px}.vjs-text-track-settings fieldset span{padding:0 .6em .8em;display:inline-block}.vjs-text-track-settings fieldset span>select{max-width:7.3em}.vjs-text-track-settings legend{color:#fff;font-size:1.2em;font-weight:700}.vjs-text-track-settings .vjs-label{margin:0 .5em .5em 0}.vjs-track-settings-controls button:focus,.vjs-track-settings-controls button:active{background-image:linear-gradient(#73859f 0%,#fff 12%);outline-width:medium;outline-style:solid}.vjs-track-settings-controls button:hover{color:#2b333fbf}.vjs-track-settings-controls button{color:#2b333f;cursor:pointer;background-color:#fff;background-image:linear-gradient(-180deg,#fff 88%,#73859f 100%);border-radius:2px}.vjs-track-settings-controls .vjs-default-button{margin-right:1em}.vjs-title-bar{pointer-events:none;background:linear-gradient(#000000e6 0%,#000000b3 60%,#0000 100%);width:100%;padding:.666em 1.333em 4em;font-size:1.2em;line-height:1.5;transition:opacity .1s;position:absolute;top:0}.vjs-error .vjs-title-bar{display:none}.vjs-title-bar-title,.vjs-title-bar-description{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.vjs-title-bar-title{margin-bottom:.333em;font-weight:700}.vjs-playing.vjs-user-inactive .vjs-title-bar{opacity:0;transition:opacity 1s}.video-js .vjs-skip-forward-5,.video-js .vjs-skip-forward-10,.video-js .vjs-skip-forward-30,.video-js .vjs-skip-backward-5,.video-js .vjs-skip-backward-10,.video-js .vjs-skip-backward-30{cursor:pointer}.video-js .vjs-transient-button{cursor:pointer;opacity:1;background-color:#32323280;justify-content:center;align-items:center;height:3em;transition:opacity 1s;display:flex;position:absolute}.video-js:not(.vjs-has-started) .vjs-transient-button{display:none}.video-js.not-hover .vjs-transient-button:not(.force-display),.video-js.vjs-user-inactive .vjs-transient-button:not(.force-display){opacity:0}.video-js .vjs-transient-button span{padding:0 .5em}.video-js .vjs-transient-button.vjs-left{left:1em}.video-js .vjs-transient-button.vjs-right{right:1em}.video-js .vjs-transient-button.vjs-top{top:1em}.video-js .vjs-transient-button.vjs-near-top{top:4em}.video-js .vjs-transient-button.vjs-bottom{bottom:4em}.video-js .vjs-transient-button:hover{background-color:#323232e6}@media print{.video-js>:not(.vjs-tech):not(.vjs-poster){visibility:hidden}}.vjs-resize-manager{z-index:-1000;border:none;width:100%;height:100%;position:absolute;top:0;left:0}.js-focus-visible .video-js :focus:not(.focus-visible),.video-js :focus:not(:focus-visible){outline:none}.player[data-v-4ab3cf75]{user-select:none;-webkit-tap-highlight-color:transparent;width:100%;max-width:800px;margin:0 auto}[data-vjs-player][data-v-4ab3cf75]{position:absolute;inset:0}.player__shell[data-v-4ab3cf75]{cursor:pointer;background:#000;border-radius:12px;position:relative;overflow:hidden}.player__shell--portrait[data-v-4ab3cf75]{width:auto;max-width:100%;max-height:75vh;margin:0 auto}.player__native-play[data-v-4ab3cf75]{z-index:3;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.player__native-play[data-v-4ab3cf75]>*{pointer-events:auto}.player__placeholder[data-v-4ab3cf75]{opacity:.4;background:#000;border-radius:12px;width:100%}.player__backdrop[data-v-4ab3cf75]{z-index:999;background:0 0;position:fixed;inset:0}.player__focus-frame--active[data-v-4ab3cf75]{z-index:1000;flex-direction:column;gap:12px;width:min(720px,100vw - 32px);max-height:calc(100vh - 32px);display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.player__focus-frame--active .player__shell[data-v-4ab3cf75]{width:100%}.player__focus-frame--active .player__shell--portrait[data-v-4ab3cf75]{max-width:400px;max-height:min(75vh,100vh - 140px)}.player__focus-controls[data-v-4ab3cf75]{justify-content:center;display:flex}.player__shell[data-v-4ab3cf75]:fullscreen{border-radius:0;width:100vw;height:100vh}.player__shell:fullscreen .video-js[data-v-4ab3cf75],.player__shell:fullscreen [data-vjs-player][data-v-4ab3cf75]{width:100%!important;height:100%!important}.video-js{background:#000;border-radius:12px;overflow:hidden}.video-js .vjs-big-play-button,.video-js .vjs-control-bar,.video-js .vjs-error-display{display:none!important}.video-js .vjs-poster{background-size:cover;transition:opacity .3s}.video-js .vjs-poster img{object-fit:cover}.video-js.vjs-has-started .vjs-poster{opacity:0;pointer-events:none}.vjs-dailymotion .vjs-tech>*,.vjs-dailymotion .dailymotion-player-root,.vjs-dailymotion iframe{width:100%!important;height:100%!important;position:absolute!important;inset:0!important}.vjs-vimeo .vjs-tech>div{width:100%!important;height:100%!important;padding:0!important;position:absolute!important;top:0!important;left:0!important}.vjs-vimeo iframe{width:100%!important;height:100%!important;position:absolute!important;top:0!important;left:0!important}.video-js .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}.vjs-ad-playing .ima-ad-container{pointer-events:auto}.vjs-ad-playing .overlay__tap-capture,.vjs-ad-playing .overlay__hud,.vjs-ad-playing .overlay__spinner{display:none!important}.stage-wrapper[data-v-fb8c86cf]{width:100%;max-width:800px;margin:0 auto}.stage[data-v-fb8c86cf]{width:100%}.stage__dismiss[data-v-fb8c86cf]{z-index:10;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:background .15s;display:flex;position:absolute;top:.4rem;right:.4rem}.stage__dismiss[data-v-fb8c86cf]:hover{background:#000000d9}.stage__dismiss svg[data-v-fb8c86cf]{width:14px;height:14px}.stage--minified[data-v-fb8c86cf]{z-index:100;border-radius:12px;width:300px;max-width:300px;margin:0;position:fixed;bottom:1.25rem;right:1.25rem;overflow:hidden;box-shadow:0 8px 32px #0009}.stage__idle[data-v-fb8c86cf]{cursor:pointer;background:#111;border-radius:12px;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.stage__idle-poster[data-v-fb8c86cf]{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.stage__idle-scrim[data-v-fb8c86cf]{background:#00000073;transition:background .15s;position:absolute;inset:0}.stage__idle:hover .stage__idle-scrim[data-v-fb8c86cf]{background:#0000004d}.stage__idle-body[data-v-fb8c86cf]{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:1rem;display:flex;position:relative}.stage__idle-btn[data-v-fb8c86cf]{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-fb8c86cf]{background:#000c;transform:scale(1.1)}.stage__idle-btn svg[data-v-fb8c86cf]{width:32px;height:32px}.stage__idle-title[data-v-fb8c86cf]{color:#f1f5f9;text-shadow:0 1px 4px #000c;font-size:1rem;font-weight:600}.stage__idle-empty[data-v-fb8c86cf]{color:#64748b;font-size:.95rem}.placeholder[data-v-dbcb4f82]{width:100%}.placeholder__shell[data-v-dbcb4f82]{cursor:pointer;background:#111;border-radius:8px;position:relative;overflow:hidden}.placeholder__shell--portrait[data-v-dbcb4f82]{width:auto;max-height:75vh;margin:0 auto}.placeholder__shell--active[data-v-dbcb4f82]{outline-offset:2px;outline:2px solid #60a5fa}.placeholder__poster[data-v-dbcb4f82]{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.placeholder__scrim[data-v-dbcb4f82]{background:#00000059;transition:background .15s;position:absolute;inset:0}.placeholder__shell:hover .placeholder__scrim[data-v-dbcb4f82]{background:#00000026}.placeholder__btn-wrap[data-v-dbcb4f82]{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.placeholder__btn-wrap[data-v-dbcb4f82]>*{pointer-events:auto}.placeholder__footer[data-v-dbcb4f82]{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-dbcb4f82]{color:#f1f5f9;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 3px #0009;font-size:.8rem;font-weight:600;overflow:hidden}.placeholder__badge[data-v-dbcb4f82]{z-index:1;text-transform:uppercase;letter-spacing:.06em;color:#fff;border-radius:4px;padding:2px 6px;font-size:.6rem;font-weight:700;position:absolute;top:6px;left:6px}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@munsonlabs/video-player",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "license": "MIT",
5
5
  "files": [
6
6
  "dist"
@@ -1 +0,0 @@
1
- import{c as e,o as t,r as n,t as r}from"./tech-DYVa4zaY.mjs";import{a as i,i as a}from"./constants-DZGeSme4.mjs";import{t as o}from"./loadScript-Du6JsTc2.mjs";import s from"video.js";const c=s.getTech(`Tech`);var l=class t extends c{constructor(e,t){super(e,t),this._currentTime=0,this._duration=0,this._volume=1,this._muted=!1,this._paused=!0,this._seeking=!1,this._dm=null,this.setSrc(this.options_.source),this.setTimeout(()=>{this.el_&&(this.el_.parentNode.classList.add(`vjs-dailymotion`),this.initPlayer())})}createEl(){let e=document.createElement(`div`);return e.setAttribute(`id`,this.options_.techId),e.setAttribute(`class`,`vjs-tech`),e.setAttribute(`style`,`position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden`),e}async initPlayer(){let e=this.options_,t=e.source?.dailymotion?.playerId??e.playerId;if(!t){s.log.error(`Dailymotion Tech: dailymotion.playerId option is required`);return}if(!this.videoId){s.log.error(`Dailymotion Tech: could not parse video ID from source URL`);return}this._playerId=t;let n=this.el_?.parentNode;for(;n&&!n.classList?.contains(`player-shell`);)n=n.parentNode;this._shell=n;try{let n=await o(`https://geo.dailymotion.com/libs/player/${t}.js`,t).then(()=>window.dailymotion);if(!this.el_)return;this._dm_sdk=n;let r=await n.createPlayer(this.options_.techId,{video:this.videoId,params:{autoplay:!!e.autoplay,mute:!!e.muted}});if(!this.el_)return;this._dm=r;let{events:i}=this._dm_sdk;this.triggerReady(),this.playOnReady&&this.play(),r.on(i.PLAYER_CRITICALPATHREADY,e=>{let t=e.videoThumbnails;if(t){let e=t[Object.keys(t).map(Number).sort((e,t)=>t-e)[0]];e&&this.trigger({type:`posterchange`,src:e})}}),r.on(i.VIDEO_PLAY,()=>{this._paused=!1,this.trigger(`play`),this.trigger(`playing`)}),r.on(i.VIDEO_PLAYING,()=>{this._paused=!1,this.trigger(`play`),this.trigger(`playing`)}),r.on(i.VIDEO_PAUSE,()=>{this._paused=!0,this.trigger(`pause`)}),r.on(i.VIDEO_END,()=>{this._paused=!0,this.trigger(`ended`)}),r.on(i.VIDEO_TIMECHANGE,e=>{this._currentTime=e.videoTime??this._currentTime,this._duration=e.videoDuration??this._duration,this.trigger(`timeupdate`)}),r.on(i.VIDEO_DURATIONCHANGE,e=>{this._duration=e.videoDuration??this._duration,this.trigger(`durationchange`)}),r.on(i.VIDEO_SEEKSTART,()=>{this._seeking=!0,this.trigger(`seeking`)}),r.on(i.VIDEO_SEEKEND,e=>{this._seeking=!1,this._currentTime=e.videoTime??this._currentTime,this.trigger(`seeked`)}),r.on(i.PLAYER_VOLUMECHANGE,e=>{this._volume=e.playerVolume??this._volume,this._muted=e.playerIsMuted??this._muted,this.trigger(`volumechange`)}),r.on(i.PLAYER_ERROR,()=>this.trigger(`error`)),i.AD_START&&r.on(i.AD_START,()=>this.trigger(`adstart`)),i.AD_END&&r.on(i.AD_END,()=>this.trigger(`adend`))}catch(e){s.log.error(`Dailymotion:`,e.message)}}play(){this._dm?this._dm.play():this.playOnReady=!0}pause(){this._dm?.pause()}paused(){return this._paused}seeking(){return this._seeking}currentTime(){return this._currentTime}setCurrentTime(e){this._currentTime=e,this._dm?.seek(e),this._seeking=!0,this.trigger(`seeking`)}duration(){return this._duration}volume(){return this._volume}setVolume(e){this._volume=e,this._dm?.setVolume(e)}muted(){return this._muted}setMuted(e){this._muted=e,this._dm?.setMute(e)}playbackRate(){return 1}setPlaybackRate(){}buffered(){return s.createTimeRange(0,this._currentTime)}seekable(){return s.createTimeRange(0,this._duration)}currentSrc(){return this.source?.src??``}ended(){return!1}preload(){}load(){}reset(){}networkState(){return+!!this._dm}readyState(){return this._dm?4:0}supportsFullScreen(){return e()}enterFullscreen(){if(n()){this._spawnIosFullscreen();return}(this._shell?.requestFullscreen||this._shell?.webkitRequestFullscreen)?.call(this._shell)}exitFullscreen(){r()}_spawnIosFullscreen(){let e=this._currentTime;this._dm?.pause(),this.player_.trigger(a);let t=document.createElement(`div`);t.style.cssText=`position:fixed;inset:0;z-index:99999;opacity:0;pointer-events:none`,document.body.appendChild(t);let n=document.createElement(`iframe`);n.src=`https://geo.dailymotion.com/player/${this._playerId}.html?video=${this.videoId}&autoplay=1&startTime=${Math.floor(e)}`,n.setAttribute(`allow`,`autoplay; fullscreen`),n.setAttribute(`allowfullscreen`,`true`),n.style.cssText=`width:100%;height:100%;border:0`,t.appendChild(n);let r=!1,o=()=>{r||(r=!0,document.removeEventListener(`fullscreenchange`,s),document.removeEventListener(`webkitfullscreenchange`,s),this.player_.trigger(i),t.remove(),this._dm?.seek(e),this._dm?.play())},s=()=>{!document.fullscreenElement&&!document.webkitFullscreenElement&&o()};document.addEventListener(`fullscreenchange`,s),document.addEventListener(`webkitfullscreenchange`,s),n.onload=()=>this.player_.trigger(`fullscreen-pending-done`)}setSrc(e){e?.src&&(this.source=e,this.videoId=t.parseVideoId(e.src),this.options_.autoplay&&(this.playOnReady=!0))}dispose(){this._dm?.destroy?.(),this._dm=null,this.el_?.parentNode?.classList.remove(`vjs-dailymotion`),c.prototype.dispose.call(this)}};l.isSupported=()=>!0,l.canPlayType=e=>e===`video/dailymotion`?`probably`:``,l.canPlaySource=({type:e,src:t})=>e===`video/dailymotion`?`probably`:/dailymotion\.com|dai\.ly/.test(t)?`maybe`:``,l.parseVideoId=e=>{let t=e.match(/[?&]video=([a-zA-Z0-9]+)/);if(t)return t[1];let n=e.match(/(?:dailymotion\.com\/(?:embed\/)?video\/|dai\.ly\/)([a-zA-Z0-9]+)/);return n?n[1]:null},t(`Dailymotion`,l);export{l as default};
@@ -1 +0,0 @@
1
- import{a as e,t}from"./video.cjs-gZWrkL0e.mjs";import{c as n,o as r,r as i,t as a}from"./tech-hIKMwrTq.mjs";import{a as o,i as s}from"./constants-DZGeSme4.mjs";import{t as c}from"./loadScript-Du6JsTc2.mjs";var l=e(t(),1);const u=l.default.getTech(`Tech`);var d=class e extends u{constructor(e,t){super(e,t),this._currentTime=0,this._duration=0,this._volume=1,this._muted=!1,this._paused=!0,this._seeking=!1,this._dm=null,this.setSrc(this.options_.source),this.setTimeout(()=>{this.el_&&(this.el_.parentNode.classList.add(`vjs-dailymotion`),this.initPlayer())})}createEl(){let e=document.createElement(`div`);return e.setAttribute(`id`,this.options_.techId),e.setAttribute(`class`,`vjs-tech`),e.setAttribute(`style`,`position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden`),e}async initPlayer(){let e=this.options_,t=e.source?.dailymotion?.playerId??e.playerId;if(!t){l.default.log.error(`Dailymotion Tech: dailymotion.playerId option is required`);return}if(!this.videoId){l.default.log.error(`Dailymotion Tech: could not parse video ID from source URL`);return}this._playerId=t;let n=this.el_?.parentNode;for(;n&&!n.classList?.contains(`player-shell`);)n=n.parentNode;this._shell=n;try{let n=await c(`https://geo.dailymotion.com/libs/player/${t}.js`,t).then(()=>window.dailymotion);if(!this.el_)return;this._dm_sdk=n;let r=await n.createPlayer(this.options_.techId,{video:this.videoId,params:{autoplay:!!e.autoplay,mute:!!e.muted}});if(!this.el_)return;this._dm=r;let{events:i}=this._dm_sdk;this.triggerReady(),this.playOnReady&&this.play(),r.on(i.PLAYER_CRITICALPATHREADY,e=>{let t=e.videoThumbnails;if(t){let e=t[Object.keys(t).map(Number).sort((e,t)=>t-e)[0]];e&&this.trigger({type:`posterchange`,src:e})}}),r.on(i.VIDEO_PLAY,()=>{this._paused=!1,this.trigger(`play`),this.trigger(`playing`)}),r.on(i.VIDEO_PLAYING,()=>{this._paused=!1,this.trigger(`play`),this.trigger(`playing`)}),r.on(i.VIDEO_PAUSE,()=>{this._paused=!0,this.trigger(`pause`)}),r.on(i.VIDEO_END,()=>{this._paused=!0,this.trigger(`ended`)}),r.on(i.VIDEO_TIMECHANGE,e=>{this._currentTime=e.videoTime??this._currentTime,this._duration=e.videoDuration??this._duration,this.trigger(`timeupdate`)}),r.on(i.VIDEO_DURATIONCHANGE,e=>{this._duration=e.videoDuration??this._duration,this.trigger(`durationchange`)}),r.on(i.VIDEO_SEEKSTART,()=>{this._seeking=!0,this.trigger(`seeking`)}),r.on(i.VIDEO_SEEKEND,e=>{this._seeking=!1,this._currentTime=e.videoTime??this._currentTime,this.trigger(`seeked`)}),r.on(i.PLAYER_VOLUMECHANGE,e=>{this._volume=e.playerVolume??this._volume,this._muted=e.playerIsMuted??this._muted,this.trigger(`volumechange`)}),r.on(i.PLAYER_ERROR,()=>this.trigger(`error`)),i.AD_START&&r.on(i.AD_START,()=>this.trigger(`adstart`)),i.AD_END&&r.on(i.AD_END,()=>this.trigger(`adend`))}catch(e){l.default.log.error(`Dailymotion:`,e.message)}}play(){this._dm?this._dm.play():this.playOnReady=!0}pause(){this._dm?.pause()}paused(){return this._paused}seeking(){return this._seeking}currentTime(){return this._currentTime}setCurrentTime(e){this._currentTime=e,this._dm?.seek(e),this._seeking=!0,this.trigger(`seeking`)}duration(){return this._duration}volume(){return this._volume}setVolume(e){this._volume=e,this._dm?.setVolume(e)}muted(){return this._muted}setMuted(e){this._muted=e,this._dm?.setMute(e)}playbackRate(){return 1}setPlaybackRate(){}buffered(){return l.default.createTimeRange(0,this._currentTime)}seekable(){return l.default.createTimeRange(0,this._duration)}currentSrc(){return this.source?.src??``}ended(){return!1}preload(){}load(){}reset(){}networkState(){return+!!this._dm}readyState(){return this._dm?4:0}supportsFullScreen(){return n()}enterFullscreen(){if(i()){this._spawnIosFullscreen();return}(this._shell?.requestFullscreen||this._shell?.webkitRequestFullscreen)?.call(this._shell)}exitFullscreen(){a()}_spawnIosFullscreen(){let e=this._currentTime;this._dm?.pause(),this.player_.trigger(s);let t=document.createElement(`div`);t.style.cssText=`position:fixed;inset:0;z-index:99999;opacity:0;pointer-events:none`,document.body.appendChild(t);let n=document.createElement(`iframe`);n.src=`https://geo.dailymotion.com/player/${this._playerId}.html?video=${this.videoId}&autoplay=1&startTime=${Math.floor(e)}`,n.setAttribute(`allow`,`autoplay; fullscreen`),n.setAttribute(`allowfullscreen`,`true`),n.style.cssText=`width:100%;height:100%;border:0`,t.appendChild(n);let r=!1,i=()=>{r||(r=!0,document.removeEventListener(`fullscreenchange`,a),document.removeEventListener(`webkitfullscreenchange`,a),this.player_.trigger(o),t.remove(),this._dm?.seek(e),this._dm?.play())},a=()=>{!document.fullscreenElement&&!document.webkitFullscreenElement&&i()};document.addEventListener(`fullscreenchange`,a),document.addEventListener(`webkitfullscreenchange`,a),n.onload=()=>this.player_.trigger(`fullscreen-pending-done`)}setSrc(t){t?.src&&(this.source=t,this.videoId=e.parseVideoId(t.src),this.options_.autoplay&&(this.playOnReady=!0))}dispose(){this._dm?.destroy?.(),this._dm=null,this.el_?.parentNode?.classList.remove(`vjs-dailymotion`),u.prototype.dispose.call(this)}};d.isSupported=()=>!0,d.canPlayType=e=>e===`video/dailymotion`?`probably`:``,d.canPlaySource=({type:e,src:t})=>e===`video/dailymotion`?`probably`:/dailymotion\.com|dai\.ly/.test(t)?`maybe`:``,d.parseVideoId=e=>{let t=e.match(/[?&]video=([a-zA-Z0-9]+)/);if(t)return t[1];let n=e.match(/(?:dailymotion\.com\/(?:embed\/)?video\/|dai\.ly\/)([a-zA-Z0-9]+)/);return n?n[1]:null},r(`Dailymotion`,d);export{d as default};