@videts/vide 0.8.0 → 0.9.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.
Files changed (147) hide show
  1. package/README.md +11 -11
  2. package/dist/chunk-2OVLZ27V.mjs +1 -0
  3. package/dist/chunk-3RDTWUHH.mjs +1 -0
  4. package/dist/chunk-6DWWYSH4.mjs +1 -0
  5. package/dist/chunk-G74QBLVV.mjs +1 -0
  6. package/dist/chunk-JRU2FKRB.mjs +2 -0
  7. package/dist/chunk-LPSJOF2I.mjs +2 -0
  8. package/dist/chunk-NA4C7W64.mjs +2 -0
  9. package/dist/chunk-UY5CGRNN.mjs +1 -0
  10. package/dist/chunk-VPH4JIJV.mjs +1 -0
  11. package/dist/chunk-WINCDUN5.mjs +1 -0
  12. package/dist/dash/index.d.ts +3 -9
  13. package/dist/dash/index.js +1 -0
  14. package/dist/dash/index.mjs +1 -2
  15. package/dist/drm/index.d.ts +4 -31
  16. package/dist/drm/index.js +1 -0
  17. package/dist/drm/index.mjs +1 -1
  18. package/dist/hls/index.d.ts +3 -9
  19. package/dist/hls/index.js +1 -0
  20. package/dist/hls/index.mjs +1 -2
  21. package/dist/index.d.ts +2 -2
  22. package/dist/index.js +1 -0
  23. package/dist/index.mjs +1 -1
  24. package/dist/omid/index.d.ts +2 -2
  25. package/dist/omid/index.js +2 -0
  26. package/dist/react/index.d.ts +240 -0
  27. package/dist/react/index.js +2 -0
  28. package/dist/react/index.mjs +2 -0
  29. package/dist/simid/index.d.ts +2 -2
  30. package/dist/simid/index.js +1 -0
  31. package/dist/ssai/index.d.ts +4 -40
  32. package/dist/ssai/index.js +1 -0
  33. package/dist/ssai/index.mjs +1 -1
  34. package/dist/svelte/DashPlugin.svelte +23 -0
  35. package/dist/svelte/DashPlugin.svelte.d.ts +4 -0
  36. package/dist/svelte/DrmPlugin.svelte +20 -0
  37. package/dist/svelte/DrmPlugin.svelte.d.ts +4 -0
  38. package/dist/svelte/HlsPlugin.svelte +23 -0
  39. package/dist/svelte/HlsPlugin.svelte.d.ts +4 -0
  40. package/dist/svelte/SsaiPlugin.svelte +23 -0
  41. package/dist/svelte/SsaiPlugin.svelte.d.ts +4 -0
  42. package/dist/svelte/VastPlugin.svelte +20 -0
  43. package/dist/svelte/VastPlugin.svelte.d.ts +4 -0
  44. package/dist/svelte/VideControls.svelte +22 -0
  45. package/dist/svelte/VideControls.svelte.d.ts +8 -0
  46. package/dist/svelte/VideUI.svelte +49 -0
  47. package/dist/svelte/VideUI.svelte.d.ts +9 -0
  48. package/dist/svelte/Video.svelte +31 -0
  49. package/dist/svelte/Video.svelte.d.ts +10 -0
  50. package/dist/svelte/VmapPlugin.svelte +20 -0
  51. package/dist/svelte/VmapPlugin.svelte.d.ts +4 -0
  52. package/dist/svelte/components/AdCountdown.svelte +37 -0
  53. package/dist/svelte/components/AdCountdown.svelte.d.ts +7 -0
  54. package/dist/svelte/components/AdLabel.svelte +26 -0
  55. package/dist/svelte/components/AdLabel.svelte.d.ts +8 -0
  56. package/dist/svelte/components/AdLearnMore.svelte +42 -0
  57. package/dist/svelte/components/AdLearnMore.svelte.d.ts +9 -0
  58. package/dist/svelte/components/AdOverlay.svelte +46 -0
  59. package/dist/svelte/components/AdOverlay.svelte.d.ts +8 -0
  60. package/dist/svelte/components/AdSkip.svelte +67 -0
  61. package/dist/svelte/components/AdSkip.svelte.d.ts +8 -0
  62. package/dist/svelte/components/BigPlayButton.svelte +46 -0
  63. package/dist/svelte/components/BigPlayButton.svelte.d.ts +8 -0
  64. package/dist/svelte/components/ClickPlay.svelte +76 -0
  65. package/dist/svelte/components/ClickPlay.svelte.d.ts +7 -0
  66. package/dist/svelte/components/ErrorDisplay.svelte +27 -0
  67. package/dist/svelte/components/ErrorDisplay.svelte.d.ts +6 -0
  68. package/dist/svelte/components/FullscreenButton.svelte +65 -0
  69. package/dist/svelte/components/FullscreenButton.svelte.d.ts +9 -0
  70. package/dist/svelte/components/Loader.svelte +11 -0
  71. package/dist/svelte/components/Loader.svelte.d.ts +6 -0
  72. package/dist/svelte/components/MuteButton.svelte +57 -0
  73. package/dist/svelte/components/MuteButton.svelte.d.ts +8 -0
  74. package/dist/svelte/components/PlayButton.svelte +63 -0
  75. package/dist/svelte/components/PlayButton.svelte.d.ts +8 -0
  76. package/dist/svelte/components/Poster.svelte +13 -0
  77. package/dist/svelte/components/Poster.svelte.d.ts +8 -0
  78. package/dist/svelte/components/Progress.svelte +101 -0
  79. package/dist/svelte/components/Progress.svelte.d.ts +6 -0
  80. package/dist/svelte/components/TimeDisplay.svelte +33 -0
  81. package/dist/svelte/components/TimeDisplay.svelte.d.ts +7 -0
  82. package/dist/svelte/components/Volume.svelte +117 -0
  83. package/dist/svelte/components/Volume.svelte.d.ts +8 -0
  84. package/dist/svelte/context.d.ts +6 -0
  85. package/dist/svelte/context.js +10 -0
  86. package/dist/svelte/create-vide-player.svelte.d.ts +2 -0
  87. package/dist/svelte/create-vide-player.svelte.js +22 -0
  88. package/dist/svelte/helpers.d.ts +17 -0
  89. package/dist/svelte/helpers.js +31 -0
  90. package/dist/svelte/icons/IconFullscreenEnter.svelte +3 -0
  91. package/dist/svelte/icons/IconFullscreenEnter.svelte.d.ts +26 -0
  92. package/dist/svelte/icons/IconFullscreenExit.svelte +3 -0
  93. package/dist/svelte/icons/IconFullscreenExit.svelte.d.ts +26 -0
  94. package/dist/svelte/icons/IconPause.svelte +3 -0
  95. package/dist/svelte/icons/IconPause.svelte.d.ts +26 -0
  96. package/dist/svelte/icons/IconPlay.svelte +3 -0
  97. package/dist/svelte/icons/IconPlay.svelte.d.ts +26 -0
  98. package/dist/svelte/icons/IconVolumeHigh.svelte +3 -0
  99. package/dist/svelte/icons/IconVolumeHigh.svelte.d.ts +26 -0
  100. package/dist/svelte/icons/IconVolumeLow.svelte +3 -0
  101. package/dist/svelte/icons/IconVolumeLow.svelte.d.ts +26 -0
  102. package/dist/svelte/icons/IconVolumeMute.svelte +3 -0
  103. package/dist/svelte/icons/IconVolumeMute.svelte.d.ts +26 -0
  104. package/dist/svelte/index.d.ts +42 -0
  105. package/dist/svelte/index.js +39 -0
  106. package/dist/svelte/use-ad-state.svelte.d.ts +7 -0
  107. package/dist/svelte/use-ad-state.svelte.js +40 -0
  108. package/dist/svelte/use-autohide.svelte.d.ts +2 -0
  109. package/dist/svelte/use-autohide.svelte.js +68 -0
  110. package/dist/svelte/use-keyboard.svelte.d.ts +7 -0
  111. package/dist/svelte/use-keyboard.svelte.js +96 -0
  112. package/dist/svelte/use-plugin.svelte.d.ts +15 -0
  113. package/dist/svelte/use-plugin.svelte.js +40 -0
  114. package/dist/svelte/use-vide-event.svelte.d.ts +3 -0
  115. package/dist/svelte/use-vide-event.svelte.js +9 -0
  116. package/dist/{types-vxIcXgJz.d.ts → types-BsEF8iWC.d.ts} +106 -1
  117. package/dist/types-C1_eVsFF.d.ts +49 -0
  118. package/dist/types-C6XFF6w_.d.ts +30 -0
  119. package/dist/types-COeag8fU.d.ts +173 -0
  120. package/dist/types-CwjR99DL.d.ts +10 -0
  121. package/dist/types-DsixuzNX.d.ts +52 -0
  122. package/dist/types-DzY1cmXC.d.ts +10 -0
  123. package/dist/types-SuT99_Z3.d.ts +40 -0
  124. package/dist/ui/index.d.ts +7 -37
  125. package/dist/ui/index.js +1 -0
  126. package/dist/ui/index.mjs +1 -2
  127. package/dist/ui/theme.css +138 -46
  128. package/dist/vast/index.d.ts +188 -4
  129. package/dist/vast/index.js +1 -0
  130. package/dist/vast/index.mjs +1 -1
  131. package/dist/vide.core.global.js +1 -1
  132. package/dist/vide.global.js +2 -2
  133. package/dist/vide.ssai.global.js +1 -1
  134. package/dist/vide.ui.css +138 -46
  135. package/dist/vide.ui.global.js +1 -1
  136. package/dist/vide.vast.global.js +1 -1
  137. package/dist/vide.vmap.global.js +1 -1
  138. package/dist/vmap/index.d.ts +5 -49
  139. package/dist/vmap/index.js +1 -0
  140. package/dist/vmap/index.mjs +1 -1
  141. package/dist/vue/index.d.ts +354 -0
  142. package/dist/vue/index.js +2 -0
  143. package/dist/vue/index.mjs +2 -0
  144. package/package.json +47 -6
  145. package/dist/chunk-726XNUGZ.mjs +0 -1
  146. package/dist/chunk-G4Q7R3SH.mjs +0 -1
  147. package/dist/types-CAJmacV6.d.ts +0 -98
@@ -1,51 +1,7 @@
1
- import { P as Player, e as Plugin } from '../types-vxIcXgJz.js';
2
- import { e as VastAd, b as AdPlugin } from '../types-CAJmacV6.js';
3
-
4
- interface VmapResponse {
5
- version: string;
6
- adBreaks: AdBreak[];
7
- }
8
- interface AdBreakTrackingEvents {
9
- breakStart: string[];
10
- breakEnd: string[];
11
- error: string[];
12
- }
13
- interface AdBreak {
14
- timeOffset: AdBreakTimeOffset;
15
- breakType: "linear" | "nonlinear" | "display";
16
- breakId?: string | undefined;
17
- adSource: AdSource | null;
18
- trackingEvents: AdBreakTrackingEvents;
19
- }
20
- type AdBreakTimeOffset = {
21
- type: "start";
22
- } | {
23
- type: "end";
24
- } | {
25
- type: "time";
26
- seconds: number;
27
- } | {
28
- type: "percentage";
29
- pct: number;
30
- };
31
- interface AdSource {
32
- id?: string | undefined;
33
- allowMultipleAds?: boolean | undefined;
34
- followRedirects?: boolean | undefined;
35
- vastUrl?: string | undefined;
36
- vastData?: string | undefined;
37
- }
38
-
39
- interface VmapPluginOptions {
40
- url: string;
41
- timeout?: number | undefined;
42
- vastOptions?: {
43
- timeout?: number | undefined;
44
- maxDepth?: number | undefined;
45
- };
46
- /** Create per-ad plugins. Called once per ad with the parsed VastAd. */
47
- adPlugins?: ((ad: VastAd) => AdPlugin[]) | undefined;
48
- }
1
+ import { P as Player, f as Plugin } from '../types-BsEF8iWC.js';
2
+ import { V as VmapResponse, A as AdBreak, a as VmapPluginOptions } from '../types-C1_eVsFF.js';
3
+ export { b as AdBreakTimeOffset, c as AdBreakTrackingEvents, d as AdSource } from '../types-C1_eVsFF.js';
4
+ import '../types-COeag8fU.js';
49
5
 
50
6
  /**
51
7
  * Parse a VMAP XML string into a VmapResponse object.
@@ -74,4 +30,4 @@ declare function createScheduler(player: Player, adBreaks: AdBreak[], onBreak: (
74
30
  /** Create a VMAP ad plugin for vide. */
75
31
  declare function vmap(options: VmapPluginOptions): Plugin;
76
32
 
77
- export { type AdBreak, type AdBreakTimeOffset, type AdBreakTrackingEvents, type AdSource, type VmapPluginOptions, type VmapResponse, createScheduler, parseVmap, vmap };
33
+ export { AdBreak, VmapPluginOptions, VmapResponse, createScheduler, parseVmap, vmap };
@@ -0,0 +1 @@
1
+ export{b as createScheduler,a as parseVmap,c as vmap}from'../chunk-WINCDUN5.mjs';import'../chunk-G74QBLVV.mjs';import'../chunk-UY5CGRNN.mjs';
@@ -1 +1 @@
1
- import {a as a$1,c}from'../chunk-726XNUGZ.mjs';import {a,c as c$1}from'../chunk-G4Q7R3SH.mjs';function O(t){let i=new DOMParser().parseFromString(t,"text/xml");if(i.querySelector("parsererror"))return {version:"",adBreaks:[]};let o=i.documentElement;if((o.localName||o.tagName)!=="VMAP")return {version:"",adBreaks:[]};let c=o.getAttribute("version")??"",v=[];for(let d=0;d<o.children.length;d++){let n=o.children[d];if((n.localName||n.tagName)==="AdBreak"){let k=_(n);k&&v.push(k);}}return {version:c,adBreaks:v}}function _(t){let e=t.getAttribute("timeOffset");if(!e)return null;let i=H(e),r=t.getAttribute("breakType"),o=r==="nonlinear"?"nonlinear":r==="display"?"display":"linear",f=t.getAttribute("breakId")??void 0,c=null,v={breakStart:[],breakEnd:[],error:[]};for(let d=0;d<t.children.length;d++){let n=t.children[d],g=n.localName||n.tagName;g==="AdSource"?c=X(n):g==="TrackingEvents"&&z(n,v);}return {timeOffset:i,breakType:o,breakId:f,adSource:c,trackingEvents:v}}function z(t,e){for(let i=0;i<t.children.length;i++){let r=t.children[i];if((r.localName||r.tagName)!=="Tracking")continue;let f=r.getAttribute("event"),c=(r.textContent??"").trim();!f||!c||(f==="breakStart"?e.breakStart.push(c):f==="breakEnd"?e.breakEnd.push(c):f==="error"&&e.error.push(c));}}function X(t){let e=t.getAttribute("id")??void 0,i=t.getAttribute("allowMultipleAds"),r=i!=null?i==="true":void 0,o=t.getAttribute("followRedirects"),f=o!=null?o==="true":void 0,c,v;for(let d=0;d<t.children.length;d++){let n=t.children[d],g=n.localName||n.tagName;if(g==="VASTAdData"){let k=n.querySelector("VAST");k&&(c=new XMLSerializer().serializeToString(k));}else g==="AdTagURI"&&(v=(n.textContent??"").trim());}return {id:e,allowMultipleAds:r,followRedirects:f,vastUrl:v,vastData:c}}function H(t){if(t==="start")return {type:"start"};if(t==="end")return {type:"end"};if(t.endsWith("%")){let e=Number.parseFloat(t);return Number.isNaN(e)?{type:"time",seconds:0}:{type:"percentage",pct:e}}return {type:"time",seconds:K(t)}}function K(t){if(!t)return 0;let e=t.split(":");if(e.length!==3)return 0;let i=Number.parseInt(e[0],10),r=Number.parseInt(e[1],10),o=Number.parseFloat(e[2]);return Number.isNaN(i)||Number.isNaN(r)||Number.isNaN(o)?0:i*3600+r*60+o}function V(t,e,i){let r=new Set,o=0,f=false,c=false,v=e.filter(a=>a.timeOffset.type==="start"),d=e.filter(a=>a.timeOffset.type==="end"),n=e.filter(a=>a.timeOffset.type==="time"||a.timeOffset.type==="percentage").sort((a,b)=>U(a)-U(b));function g(){if(c)return;let a=t.currentTime,b=a>o+1.5;for(let E of n){if(r.has(E))continue;let T=Q(E,t.duration);if(T!==null){if(b&&a>T+.5){r.add(E);continue}a>=T-.5&&(r.add(E),i(E));}}o=a;}function k(){if(!c)for(let a of d)r.has(a)||(r.add(a),i(a));}function p(){if(!f){f=true;for(let a of v)r.has(a)||(r.add(a),i(a));t.on("timeupdate",g),t.on("ended",k);}}function s(){c=true;}function A(){c=false,o=t.currentTime;}function u(){t.off("timeupdate",g),t.off("ended",k);}return {start:p,pause:s,resume:A,destroy:u}}function Q(t,e){return t.timeOffset.type==="time"?t.timeOffset.seconds:t.timeOffset.type==="percentage"?t.timeOffset.pct/100*e:null}function U(t){return t.timeOffset.type==="time"?t.timeOffset.seconds:t.timeOffset.type==="percentage"?t.timeOffset.pct:0}function te(t){return {name:"vmap",setup(e){let i=false,r=null,o=null,f=e._setState;async function c$2(n){if(!(i||!n.adSource)){r&&r.pause(),a(n.trackingEvents.breakStart),e.emit("ad:breakStart",{breakId:n.breakId});try{let b=function(){for(let m of a$2)m();a$2.length=0;},x=function(m){if(s)for(let l of s.trackingEvents.progress)!y.has(l.offset)&&m>=l.offset&&(y.add(l.offset),a([l.url]));};var g=b,k=x;let p;if(n.adSource.vastData)p=a$1(n.adSource.vastData);else if(n.adSource.vastUrl)p=await c(n.adSource.vastUrl,t.vastOptions);else return;if(i||p.ads.length===0)return;let s=null,A=null;for(let m of p.ads){for(let l of m.creatives)if(l.linear&&l.linear.mediaFiles.length>0){s=l.linear,A=m;break}if(s)break}if(!s||!A)return;let u=A.id;f("ad:loading"),e.emit("ad:start",{adId:u});let a$2=[];if(t.adPlugins)for(let m of t.adPlugins(A)){let l=m.setup(e,A);l&&a$2.push(l);}for(let m of p.ads)a(m.impressions);e.emit("ad:impression",{adId:u});let E=W(s.mediaFiles);if(!E){e.emit("ad:error",{error:new Error("No suitable media file found"),source:"vmap"}),b(),f("playing");return}let T=e.el.currentTime,D=e.el.paused,q=e.el.src,B=c$1(s.duration,m=>{if(!s)return;let l=s.trackingEvents[m];l&&a(l),e.emit("ad:quartile",{adId:u,quartile:m});}),y=new Set,N=e.el.muted||e.el.volume===0,w=!!document.fullscreenElement;await new Promise(m=>{function l(){B(e.el.currentTime),x(e.el.currentTime);}function L(){if(!s)return;let S=e.el.muted||e.el.volume===0;S&&!N?(a(s.trackingEvents.mute),e.emit("ad:mute",{adId:u})):!S&&N&&(a(s.trackingEvents.unmute),e.emit("ad:unmute",{adId:u})),N=S,e.emit("ad:volumeChange",{adId:u,volume:e.el.muted?0:e.el.volume});}function F(){if(!s)return;let S=!!document.fullscreenElement;S&&!w?(a(s.trackingEvents.playerExpand),e.emit("ad:fullscreen",{adId:u,fullscreen:!0})):!S&&w&&(a(s.trackingEvents.playerCollapse),e.emit("ad:fullscreen",{adId:u,fullscreen:!1})),w=S;}function R(){s&&B(s.duration),C(),b(),e.emit("ad:end",{adId:u}),e.el.src=q,e.el.load(),e.el.currentTime=T,D||e.el.play().catch(()=>{e.el.muted=!0,e.el.play().catch(()=>{});}),m();}function C(){e.el.removeEventListener("timeupdate",l),e.el.removeEventListener("ended",R),e.el.removeEventListener("canplay",P),e.el.removeEventListener("volumechange",L),document.removeEventListener("fullscreenchange",F),o=null;}function P(){e.el.removeEventListener("canplay",P),s&&(a(s.trackingEvents.loaded),a(s.trackingEvents.creativeView),e.emit("ad:loaded",{adId:u}),f("ad:playing"),e.el.play().catch(()=>{e.el.muted=!0,e.el.play().catch(()=>{});}));}e.el.addEventListener("canplay",P),e.el.addEventListener("timeupdate",l),e.el.addEventListener("ended",R),e.el.addEventListener("volumechange",L),document.addEventListener("fullscreenchange",F),o=C,e.el.src=E.url,e.el.load();});}catch(p){i||(a(n.trackingEvents.error),e.emit("ad:error",{error:p instanceof Error?p:new Error(String(p)),source:"vmap"}));}finally{a(n.trackingEvents.breakEnd),e.emit("ad:breakEnd",{breakId:n.breakId}),r&&r.resume();}}}async function v(){if(!i)try{let n=t.timeout??1e4,g=new AbortController,k=setTimeout(()=>g.abort(),n),p;try{let u=await fetch(t.url,{signal:g.signal});if(!u.ok)throw new Error(`VMAP fetch failed: ${u.status}`);p=await u.text();}finally{clearTimeout(k);}if(i)return;let s=O(p);if(s.adBreaks.length===0)return;let A=V(e,s.adBreaks,u=>c$2(u));r=A,A.start();}catch(n){if(i)return;e.emit("ad:error",{error:n instanceof Error?n:new Error(String(n)),source:"vmap"});}}function d({to:n}){n==="ready"&&!i&&(e.off("statechange",d),v());}return e.state==="ready"||e.state==="playing"||e.state==="paused"?v():e.on("statechange",d),()=>{i=true,e.off("statechange",d),r&&r.destroy(),o&&o();}}}}function W(t){if(t.length===0)return null;let e=t.filter(r=>r.mimeType==="video/mp4");return (e.length>0?e:t).sort((r,o)=>(o.bitrate??0)-(r.bitrate??0))[0]}export{V as createScheduler,O as parseVmap,te as vmap};
1
+ export{b as createScheduler,a as parseVmap,c as vmap}from'../chunk-WINCDUN5.mjs';import'../chunk-G74QBLVV.mjs';import'../chunk-UY5CGRNN.mjs';
@@ -0,0 +1,354 @@
1
+ import * as vue from 'vue';
2
+ import { ShallowRef, InjectionKey, VNode, SlotsType, Ref, PropType } from 'vue';
3
+ import { P as Player, c as PlayerEvent, b as EventHandler, d as PlayerEventMap, A as AdMeta } from '../types-BsEF8iWC.js';
4
+ import { D as DashPluginOptions } from '../types-DzY1cmXC.js';
5
+ import { D as DrmPluginOptions } from '../types-C6XFF6w_.js';
6
+ import { H as HlsPluginOptions } from '../types-CwjR99DL.js';
7
+ import { S as SsaiPluginOptions } from '../types-DsixuzNX.js';
8
+ import { b as UiPluginOptions } from '../types-SuT99_Z3.js';
9
+ import { e as VastPluginOptions } from '../types-COeag8fU.js';
10
+ import { a as VmapPluginOptions } from '../types-C1_eVsFF.js';
11
+
12
+ declare function useVidePlayer(): ShallowRef<Player | null>;
13
+
14
+ declare function useVideEvent<K extends PlayerEvent>(player: ShallowRef<Player | null>, event: K, handler: EventHandler<PlayerEventMap[K]>): void;
15
+
16
+ declare function useHls(player: ShallowRef<Player | null>, options?: HlsPluginOptions): void;
17
+ declare function useDash(player: ShallowRef<Player | null>, options?: DashPluginOptions): void;
18
+ declare function useDrm(player: ShallowRef<Player | null>, options: DrmPluginOptions): void;
19
+ declare function useVast(player: ShallowRef<Player | null>, options: VastPluginOptions): void;
20
+ declare function useVmap(player: ShallowRef<Player | null>, options: VmapPluginOptions): void;
21
+ declare function useSsai(player: ShallowRef<Player | null>, options?: SsaiPluginOptions): void;
22
+ declare function useUi(player: ShallowRef<Player | null>, options: UiPluginOptions): void;
23
+
24
+ declare const VIDE_PLAYER_KEY: InjectionKey<ShallowRef<Player | null>>;
25
+ declare function useVideContext(): ShallowRef<Player | null>;
26
+
27
+ declare const VideVideo: vue.DefineComponent<{}, () => VNode<vue.RendererNode, vue.RendererElement, {
28
+ [key: string]: any;
29
+ }>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, SlotsType<{
30
+ default?: () => VNode[];
31
+ }>, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
32
+
33
+ declare const VideHlsPlugin: vue.DefineComponent<vue.ExtractPropTypes<Record<string, null>>, () => null, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<Record<string, null>>> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
34
+ declare const VideDashPlugin: vue.DefineComponent<vue.ExtractPropTypes<Record<string, null>>, () => null, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<Record<string, null>>> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
35
+ declare const VideDrmPlugin: vue.DefineComponent<vue.ExtractPropTypes<Record<string, null>>, () => null, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<Record<string, null>>> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
36
+ declare const VideVastPlugin: vue.DefineComponent<vue.ExtractPropTypes<Record<string, null>>, () => null, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<Record<string, null>>> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
37
+ declare const VideVmapPlugin: vue.DefineComponent<vue.ExtractPropTypes<Record<string, null>>, () => null, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<Record<string, null>>> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
38
+ declare const VideSsaiPlugin: vue.DefineComponent<vue.ExtractPropTypes<Record<string, null>>, () => null, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<Record<string, null>>> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
39
+
40
+ declare const VidePlayButton: vue.DefineComponent<{}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
41
+ [key: string]: any;
42
+ }>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
43
+
44
+ declare const VideMuteButton: vue.DefineComponent<{}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
45
+ [key: string]: any;
46
+ }>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
47
+
48
+ declare const VideProgress: vue.DefineComponent<{}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
49
+ [key: string]: any;
50
+ }>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
51
+
52
+ declare const VideVolume: vue.DefineComponent<{}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
53
+ [key: string]: any;
54
+ }>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
55
+
56
+ declare const VideFullscreenButton: vue.DefineComponent<vue.ExtractPropTypes<{
57
+ target: {
58
+ type: () => HTMLElement | null;
59
+ default: null;
60
+ };
61
+ }>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
62
+ [key: string]: any;
63
+ }>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
64
+ target: {
65
+ type: () => HTMLElement | null;
66
+ default: null;
67
+ };
68
+ }>> & Readonly<{}>, {
69
+ target: HTMLElement | null;
70
+ }, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
71
+
72
+ declare const VideTimeDisplay: vue.DefineComponent<vue.ExtractPropTypes<{
73
+ separator: {
74
+ type: StringConstructor;
75
+ default: string;
76
+ };
77
+ }>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
78
+ [key: string]: any;
79
+ }>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
80
+ separator: {
81
+ type: StringConstructor;
82
+ default: string;
83
+ };
84
+ }>> & Readonly<{}>, {
85
+ separator: string;
86
+ }, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
87
+
88
+ declare const VideLoader: vue.DefineComponent<{}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
89
+ [key: string]: any;
90
+ }>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
91
+
92
+ declare const VidePoster: vue.DefineComponent<vue.ExtractPropTypes<{
93
+ src: {
94
+ type: StringConstructor;
95
+ required: true;
96
+ };
97
+ alt: {
98
+ type: StringConstructor;
99
+ default: string;
100
+ };
101
+ }>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
102
+ [key: string]: any;
103
+ }>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
104
+ src: {
105
+ type: StringConstructor;
106
+ required: true;
107
+ };
108
+ alt: {
109
+ type: StringConstructor;
110
+ default: string;
111
+ };
112
+ }>> & Readonly<{}>, {
113
+ alt: string;
114
+ }, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
115
+
116
+ declare const VideErrorDisplay: vue.DefineComponent<{}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
117
+ [key: string]: any;
118
+ }>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
119
+
120
+ declare const VideBigPlayButton: vue.DefineComponent<{}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
121
+ [key: string]: any;
122
+ }>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
123
+
124
+ declare const VideClickPlay: vue.DefineComponent<vue.ExtractPropTypes<{
125
+ enableFullscreen: {
126
+ type: BooleanConstructor;
127
+ default: boolean;
128
+ };
129
+ }>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
130
+ [key: string]: any;
131
+ }>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
132
+ enableFullscreen: {
133
+ type: BooleanConstructor;
134
+ default: boolean;
135
+ };
136
+ }>> & Readonly<{}>, {
137
+ enableFullscreen: boolean;
138
+ }, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
139
+
140
+ interface AdState {
141
+ active: Ref<boolean>;
142
+ meta: ShallowRef<AdMeta | null>;
143
+ }
144
+ declare function useAdState(player: ShallowRef<Player | null>): AdState;
145
+
146
+ declare const VideAdOverlay: vue.DefineComponent<{}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
147
+ [key: string]: any;
148
+ }> | null, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
149
+
150
+ declare const VideAdSkip: vue.DefineComponent<{}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
151
+ [key: string]: any;
152
+ }> | null, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
153
+
154
+ declare const VideAdCountdown: vue.DefineComponent<vue.ExtractPropTypes<{
155
+ format: {
156
+ type: PropType<(remaining: number) => string>;
157
+ default: undefined;
158
+ };
159
+ }>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
160
+ [key: string]: any;
161
+ }> | null, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
162
+ format: {
163
+ type: PropType<(remaining: number) => string>;
164
+ default: undefined;
165
+ };
166
+ }>> & Readonly<{}>, {
167
+ format: (remaining: number) => string;
168
+ }, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
169
+
170
+ declare const VideAdLabel: vue.DefineComponent<{}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
171
+ [key: string]: any;
172
+ }> | null, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
173
+
174
+ declare const VideAdLearnMore: vue.DefineComponent<vue.ExtractPropTypes<{
175
+ showTitle: {
176
+ type: BooleanConstructor;
177
+ default: boolean;
178
+ };
179
+ }>, () => VNode<vue.RendererNode, vue.RendererElement, {
180
+ [key: string]: any;
181
+ }> | null, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
182
+ showTitle: {
183
+ type: BooleanConstructor;
184
+ default: boolean;
185
+ };
186
+ }>> & Readonly<{}>, {
187
+ showTitle: boolean;
188
+ }, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
189
+
190
+ declare function useAutohide(containerRef: Ref<HTMLElement | null>, player: ShallowRef<Player | null>): void;
191
+
192
+ interface UseKeyboardOptions {
193
+ disableSeek?: boolean;
194
+ disableVolume?: boolean;
195
+ disableFullscreen?: boolean;
196
+ }
197
+ declare function useKeyboard(containerRef: Ref<HTMLElement | null>, player: ShallowRef<Player | null>, options?: UseKeyboardOptions): void;
198
+
199
+ declare const VideUI: vue.DefineComponent<{}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
200
+ [key: string]: any;
201
+ }>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
202
+ declare const VideControls: vue.DefineComponent<{}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
203
+ [key: string]: any;
204
+ }> | null, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
205
+
206
+ declare const Vide: {
207
+ readonly Video: vue.DefineComponent<{}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
208
+ [key: string]: any;
209
+ }>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, vue.SlotsType<{
210
+ default?: () => vue.VNode[];
211
+ }>, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
212
+ readonly HlsPlugin: vue.DefineComponent<vue.ExtractPropTypes<Record<string, null>>, () => null, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<Record<string, null>>> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
213
+ readonly DashPlugin: vue.DefineComponent<vue.ExtractPropTypes<Record<string, null>>, () => null, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<Record<string, null>>> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
214
+ readonly DrmPlugin: vue.DefineComponent<vue.ExtractPropTypes<Record<string, null>>, () => null, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<Record<string, null>>> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
215
+ readonly VastPlugin: vue.DefineComponent<vue.ExtractPropTypes<Record<string, null>>, () => null, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<Record<string, null>>> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
216
+ readonly VmapPlugin: vue.DefineComponent<vue.ExtractPropTypes<Record<string, null>>, () => null, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<Record<string, null>>> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
217
+ readonly SsaiPlugin: vue.DefineComponent<vue.ExtractPropTypes<Record<string, null>>, () => null, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<Record<string, null>>> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
218
+ readonly PlayButton: vue.DefineComponent<{}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
219
+ [key: string]: any;
220
+ }>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
221
+ readonly MuteButton: vue.DefineComponent<{}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
222
+ [key: string]: any;
223
+ }>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
224
+ readonly Progress: vue.DefineComponent<{}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
225
+ [key: string]: any;
226
+ }>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
227
+ readonly Volume: vue.DefineComponent<{}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
228
+ [key: string]: any;
229
+ }>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
230
+ readonly FullscreenButton: vue.DefineComponent<vue.ExtractPropTypes<{
231
+ target: {
232
+ type: () => HTMLElement | null;
233
+ default: null;
234
+ };
235
+ }>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
236
+ [key: string]: any;
237
+ }>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
238
+ target: {
239
+ type: () => HTMLElement | null;
240
+ default: null;
241
+ };
242
+ }>> & Readonly<{}>, {
243
+ target: HTMLElement | null;
244
+ }, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
245
+ readonly TimeDisplay: vue.DefineComponent<vue.ExtractPropTypes<{
246
+ separator: {
247
+ type: StringConstructor;
248
+ default: string;
249
+ };
250
+ }>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
251
+ [key: string]: any;
252
+ }>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
253
+ separator: {
254
+ type: StringConstructor;
255
+ default: string;
256
+ };
257
+ }>> & Readonly<{}>, {
258
+ separator: string;
259
+ }, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
260
+ readonly Loader: vue.DefineComponent<{}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
261
+ [key: string]: any;
262
+ }>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
263
+ readonly Poster: vue.DefineComponent<vue.ExtractPropTypes<{
264
+ src: {
265
+ type: StringConstructor;
266
+ required: true;
267
+ };
268
+ alt: {
269
+ type: StringConstructor;
270
+ default: string;
271
+ };
272
+ }>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
273
+ [key: string]: any;
274
+ }>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
275
+ src: {
276
+ type: StringConstructor;
277
+ required: true;
278
+ };
279
+ alt: {
280
+ type: StringConstructor;
281
+ default: string;
282
+ };
283
+ }>> & Readonly<{}>, {
284
+ alt: string;
285
+ }, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
286
+ readonly ErrorDisplay: vue.DefineComponent<{}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
287
+ [key: string]: any;
288
+ }>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
289
+ readonly BigPlayButton: vue.DefineComponent<{}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
290
+ [key: string]: any;
291
+ }>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
292
+ readonly ClickPlay: vue.DefineComponent<vue.ExtractPropTypes<{
293
+ enableFullscreen: {
294
+ type: BooleanConstructor;
295
+ default: boolean;
296
+ };
297
+ }>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
298
+ [key: string]: any;
299
+ }>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
300
+ enableFullscreen: {
301
+ type: BooleanConstructor;
302
+ default: boolean;
303
+ };
304
+ }>> & Readonly<{}>, {
305
+ enableFullscreen: boolean;
306
+ }, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
307
+ readonly UI: vue.DefineComponent<{}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
308
+ [key: string]: any;
309
+ }>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
310
+ readonly Controls: vue.DefineComponent<{}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
311
+ [key: string]: any;
312
+ }> | null, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
313
+ readonly AdOverlay: vue.DefineComponent<{}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
314
+ [key: string]: any;
315
+ }> | null, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
316
+ readonly AdSkip: vue.DefineComponent<{}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
317
+ [key: string]: any;
318
+ }> | null, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
319
+ readonly AdCountdown: vue.DefineComponent<vue.ExtractPropTypes<{
320
+ format: {
321
+ type: vue.PropType<(remaining: number) => string>;
322
+ default: undefined;
323
+ };
324
+ }>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
325
+ [key: string]: any;
326
+ }> | null, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
327
+ format: {
328
+ type: vue.PropType<(remaining: number) => string>;
329
+ default: undefined;
330
+ };
331
+ }>> & Readonly<{}>, {
332
+ format: (remaining: number) => string;
333
+ }, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
334
+ readonly AdLabel: vue.DefineComponent<{}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
335
+ [key: string]: any;
336
+ }> | null, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
337
+ readonly AdLearnMore: vue.DefineComponent<vue.ExtractPropTypes<{
338
+ showTitle: {
339
+ type: BooleanConstructor;
340
+ default: boolean;
341
+ };
342
+ }>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
343
+ [key: string]: any;
344
+ }> | null, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
345
+ showTitle: {
346
+ type: BooleanConstructor;
347
+ default: boolean;
348
+ };
349
+ }>> & Readonly<{}>, {
350
+ showTitle: boolean;
351
+ }, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
352
+ };
353
+
354
+ export { type AdState, type UseKeyboardOptions, VIDE_PLAYER_KEY, Vide, VideAdCountdown, VideAdLabel, VideAdLearnMore, VideAdOverlay, VideAdSkip, VideBigPlayButton, VideClickPlay, VideControls, VideDashPlugin, VideDrmPlugin, VideErrorDisplay, VideFullscreenButton, VideHlsPlugin, VideLoader, VideMuteButton, VidePlayButton, VidePoster, VideProgress, VideSsaiPlugin, VideTimeDisplay, VideUI, VideVastPlugin, VideVideo, VideVmapPlugin, VideVolume, useAdState, useAutohide, useDash, useDrm, useHls, useKeyboard, useSsai, useUi, useVast, useVideContext, useVideEvent, useVidePlayer, useVmap };
@@ -0,0 +1,2 @@
1
+ import {d}from'../chunk-2OVLZ27V.mjs';import {e,b as b$1,c,x}from'../chunk-LPSJOF2I.mjs';import {a as a$3}from'../chunk-6DWWYSH4.mjs';import {a as a$2}from'../chunk-3RDTWUHH.mjs';import {c as c$1}from'../chunk-WINCDUN5.mjs';import'../chunk-G74QBLVV.mjs';import'../chunk-UY5CGRNN.mjs';import {a}from'../chunk-NA4C7W64.mjs';import {a as a$1}from'../chunk-JRU2FKRB.mjs';import'../chunk-H3OXPFD3.mjs';import {e as e$1}from'../chunk-VPH4JIJV.mjs';import'../chunk-DWXOYV4E.mjs';import {defineComponent,ref,inject,onMounted,h as h$1,watch,onScopeDispose,shallowRef,provide}from'vue';var _=Symbol("vide-player"),R=Symbol("vide-register");function u(){let e=inject(_);if(!e)throw new Error("useVideContext must be used within <VideVideo>");return e}function Fe(){let e=shallowRef(null),i=l=>{e.value&&(e.value.destroy(),e.value=null),e.value=a$3(l);};return provide(_,e),provide(R,i),onScopeDispose(()=>{e.value?.destroy(),e.value=null;}),e}function v(e,i,l){let r;watch(e,n=>{r?.(),r=void 0,n&&(n.on(i,l),r=()=>n.off(i,l));},{immediate:true}),onScopeDispose(()=>{r?.();});}function E(e,i,l){let r;watch(e,n=>{if(r?.(),r=void 0,!n)return;r=i(l).setup(n)??void 0;},{immediate:true}),onScopeDispose(()=>{r?.();});}function Ne(e,i){E(e,a,i??{});}function qe(e,i){E(e,a$1,i??{});}function Ge(e,i){E(e,e$1,i);}function Xe(e,i){E(e,a$2,i);}function $e(e,i){E(e,c$1,i);}function Je(e,i){E(e,d,i??{});}function Qe(e,i){E(e,x,i);}var N=defineComponent({name:"VideVideo",inheritAttrs:false,slots:Object,setup(e,{attrs:i,slots:l,expose:r}){let n=ref(null),t=inject(R);return r({video:n}),onMounted(()=>{n.value&&t&&t(n.value);}),()=>{let{class:a,...o}=i;return h$1("div",{class:a},[h$1("video",{...o,ref:n}),l.default?.()])}}});function w(e,i,l){return defineComponent({name:e,props:l.reduce((r,n)=>(r[n]=null,r),{}),setup(r){let n=u(),t;return watch(n,a=>{if(t?.(),t=void 0,!a)return;t=i({...r}).setup(a)??void 0;},{immediate:true}),onScopeDispose(()=>{t?.();}),()=>null}})}var q=w("VideHlsPlugin",a,["hlsConfig","recovery"]),G=w("VideDashPlugin",a$1,["dashConfig","recovery"]),X=w("VideDrmPlugin",e$1,["widevine","fairplay"]),$=w("VideVastPlugin",a$2,["tagUrl","timeout","allowSkip","adPlugins"]),J=w("VideVmapPlugin",c$1,["url","timeout","vastOptions","adPlugins"]),Q=w("VideSsaiPlugin",d,["tolerance","parser"]);var b={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:24,height:24,fill:"currentColor","aria-hidden":"true"},j=defineComponent({name:"IconPlay",render(){return h$1("svg",b,[h$1("path",{d:"M8 5v14l11-7z"})])}}),Pe=defineComponent({name:"IconPause",render(){return h$1("svg",b,[h$1("path",{d:"M6 19h4V5H6v14zm8-14v14h4V5h-4z"})])}}),O=defineComponent({name:"IconVolumeHigh",render(){return h$1("svg",b,[h$1("path",{d:"M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z"})])}}),B=defineComponent({name:"IconVolumeLow",render(){return h$1("svg",b,[h$1("path",{d:"M18.5 12c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM5 9v6h4l5 5V4L9 9H5z"})])}}),H=defineComponent({name:"IconVolumeMute",render(){return h$1("svg",b,[h$1("path",{d:"M16.5 12c0-1.77-1.02-3.29-2.5-4.03v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51C20.63 14.91 21 13.5 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.06c1.38-.31 2.63-.95 3.69-1.81L19.73 21 21 19.73l-9-9L4.27 3zM12 4l-1.88 1.88L12 7.76V4z"})])}}),xe=defineComponent({name:"IconFullscreenEnter",render(){return h$1("svg",b,[h$1("path",{d:"M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"})])}}),Ee=defineComponent({name:"IconFullscreenExit",render(){return h$1("svg",b,[h$1("path",{d:"M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z"})])}});function at(...e){return e.filter(Boolean).join(" ")}var W=defineComponent({name:"VidePlayButton",inheritAttrs:false,setup(e,{attrs:i,slots:l}){let r=u(),n=ref(false);v(r,"statechange",({to:a})=>{a==="playing"||a==="ad:playing"?n.value=true:(a==="paused"||a==="ready"||a==="ended"||a==="ad:paused")&&(n.value=false);});let t=()=>{let a=r.value;a&&(a.state==="playing"||a.state==="ad:playing"?a.pause():a.play().catch(()=>{}));};return ()=>h$1("button",{type:"button",class:at("vide-play",i.class),"aria-label":n.value?"Pause":"Play","data-playing":n.value||void 0,onClick:t},l.default?.()??[h$1(n.value?Pe:j)])}});function mt(...e){return e.filter(Boolean).join(" ")}var Z=defineComponent({name:"VideMuteButton",inheritAttrs:false,setup(e,{attrs:i,slots:l}){let r=u(),n=ref(false),t=ref(1),a;watch(r,s=>{if(a?.(),a=void 0,!s)return;let f=()=>{n.value=s.muted||s.volume===0,t.value=s.volume;};s.el.addEventListener("volumechange",f),f(),a=()=>s.el.removeEventListener("volumechange",f);},{immediate:true}),onScopeDispose(()=>{a?.();});let o=()=>{let s=r.value;s&&(s.muted=!s.muted);};return ()=>h$1("button",{type:"button",class:mt("vide-mute",i.class),"aria-label":n.value?"Unmute":"Mute","data-muted":n.value||void 0,onClick:o},l.default?.()??[h$1(n.value?H:t.value<.5?B:O)])}});function pt(...e){return e.filter(Boolean).join(" ")}var ee=defineComponent({name:"VideProgress",inheritAttrs:false,setup(e,{attrs:i}){let l=u(),r=ref(0),n=ref(0),t=ref(false),a=ref(false),o=ref(null);v(l,"timeupdate",({currentTime:d,duration:c})=>{!a.value&&c>0&&(r.value=d/c);let m=l.value;if(m&&m.el.buffered.length>0&&c>0){let p=m.el.buffered.end(m.el.buffered.length-1);n.value=Math.min(1,p/c);}}),v(l,"statechange",({to:d})=>{let c=d==="ad:loading"||d==="ad:playing"||d==="ad:paused";t.value=c;});let s=d=>{if(!o.value)return 0;let c=o.value.getBoundingClientRect();return c.width===0?0:Math.max(0,Math.min(1,(d.clientX-c.left)/c.width))},f=d=>{!l.value||t.value||(a.value=true,o.value?.setPointerCapture(d.pointerId),r.value=s(d));},g=d=>{a.value&&(r.value=s(d));},V=d=>{if(!a.value||!l.value)return;a.value=false,o.value?.releasePointerCapture(d.pointerId);let c=s(d),m=l.value.el.duration;Number.isFinite(m)&&m>0&&(l.value.currentTime=c*m);};return ()=>h$1("div",{ref:o,class:pt("vide-progress",i.class),role:"slider",tabindex:0,"aria-label":"Seek","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(r.value*100),"data-disabled":t.value||void 0,style:{"--vide-progress":r.value,"--vide-progress-buffered":n.value},onPointerdown:f,onPointermove:g,onPointerup:V},[h$1("div",{class:"vide-progress__buffered"}),h$1("div",{class:"vide-progress__bar"}),h$1("div",{class:"vide-progress__handle"})])}});function gt(...e){return e.filter(Boolean).join(" ")}var te=defineComponent({name:"VideVolume",inheritAttrs:false,setup(e,{attrs:i,slots:l}){let r=u(),n=ref(1),t=ref(false),a=ref(false),o=ref(null),s;watch(r,m=>{if(s?.(),s=void 0,!m)return;let p=()=>{a.value||(n.value=m.muted?0:m.volume),t.value=m.muted||m.volume===0;};m.el.addEventListener("volumechange",p),p(),s=()=>m.el.removeEventListener("volumechange",p);},{immediate:true}),onScopeDispose(()=>{s?.();});let f=()=>{let m=r.value;m&&(m.muted=!m.muted);},g=m=>{if(!o.value)return 0;let p=o.value.getBoundingClientRect();return p.width===0?0:Math.max(0,Math.min(1,(m.clientX-p.left)/p.width))},V=m=>{let p=r.value;if(!p)return;a.value=true,o.value?.setPointerCapture(m.pointerId);let P=g(m);p.volume=P,p.muted&&P>0&&(p.muted=false),n.value=P,t.value=P===0;},d=m=>{let p=r.value;if(!a.value||!p)return;let P=g(m);p.volume=P,p.muted&&P>0&&(p.muted=false),n.value=P,t.value=P===0;},c=m=>{a.value&&(a.value=false,o.value?.releasePointerCapture(m.pointerId));};return ()=>h$1("div",{class:gt("vide-volume",i.class),"data-muted":t.value||void 0,style:{"--vide-volume":n.value}},[h$1("button",{type:"button",class:"vide-volume__button","aria-label":t.value?"Unmute":"Mute",onClick:f},l.default?.()??[h$1(t.value?H:n.value<.5?B:O)]),h$1("div",{ref:o,class:"vide-volume__slider",role:"slider",tabindex:0,"aria-label":"Volume","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(n.value*100),onPointerdown:V,onPointermove:d,onPointerup:c},[h$1("div",{class:"vide-volume__track"}),h$1("div",{class:"vide-volume__filled"})])])}});function Et(...e){return e.filter(Boolean).join(" ")}var ne=defineComponent({name:"VideFullscreenButton",inheritAttrs:false,props:{target:{type:Object,default:null}},setup(e,{attrs:i,slots:l}){let r=u(),n=ref(false),t=()=>{n.value=document.fullscreenElement!=null||document.webkitFullscreenElement!=null;};onMounted(()=>{document.addEventListener("fullscreenchange",t),document.addEventListener("webkitfullscreenchange",t);}),onScopeDispose(()=>{document.removeEventListener("fullscreenchange",t),document.removeEventListener("webkitfullscreenchange",t);});let a=()=>{let o=e.target??r.value?.el.closest(".vide-ui")??r.value?.el.parentElement;o&&(document.fullscreenElement?document.exitFullscreen().catch(()=>{}):o.requestFullscreen().catch(()=>{}));};return ()=>h$1("button",{type:"button",class:Et("vide-fullscreen",i.class),"aria-label":n.value?"Exit fullscreen":"Fullscreen","data-fullscreen":n.value||void 0,onClick:a},l.default?.()??[h$1(n.value?Ee:xe)])}});function bt(...e){return e.filter(Boolean).join(" ")}var re=defineComponent({name:"VideTimeDisplay",inheritAttrs:false,props:{separator:{type:String,default:"/"}},setup(e$1,{attrs:i}){let l=u(),r=ref(0),n=ref(0);return v(l,"timeupdate",t=>{r.value=t.currentTime,n.value=t.duration;}),()=>h$1("div",{class:bt("vide-time",i.class),"aria-label":"Time"},[h$1("span",e(r.value)),h$1("span",e$1.separator),h$1("span",e(n.value))])}});function Ct(...e){return e.filter(Boolean).join(" ")}var oe=defineComponent({name:"VideLoader",inheritAttrs:false,setup(e,{attrs:i}){return ()=>h$1("div",{class:Ct("vide-loader",i.class)},[h$1("div",{class:"vide-loader__spinner"})])}});function kt(...e){return e.filter(Boolean).join(" ")}var ie=defineComponent({name:"VidePoster",inheritAttrs:false,props:{src:{type:String,required:true},alt:{type:String,default:""}},setup(e,{attrs:i}){return ()=>h$1("div",{class:kt("vide-poster",i.class)},[h$1("img",{class:"vide-poster__image",src:e.src,alt:e.alt})])}});function It(...e){return e.filter(Boolean).join(" ")}var le=defineComponent({name:"VideErrorDisplay",inheritAttrs:false,setup(e,{attrs:i}){let l=u(),r=ref(""),n;return watch(l,t=>{if(n?.(),n=void 0,!t)return;let a=({message:o})=>{r.value=o;};t.on("error",a),n=()=>t.off("error",a);},{immediate:true}),onScopeDispose(()=>{n?.();}),()=>h$1("div",{class:It("vide-error",i.class)},[h$1("span",{class:"vide-error__message"},r.value)])}});function Rt(...e){return e.filter(Boolean).join(" ")}var ae=defineComponent({name:"VideBigPlayButton",inheritAttrs:false,setup(e,{attrs:i,slots:l}){let r=u(),n=()=>{let t=r.value;if(t){if(t.state==="ended"){let s=function({to:f}){f==="ready"&&(o.off("statechange",s),o.play().catch(()=>{}));};let o=t;o.on("statechange",s),o.el.currentTime=0,o.el.load();return}t.play().catch(()=>{});}};return ()=>h$1("button",{type:"button",class:Rt("vide-bigplay",i.class),"aria-label":"Play video",onClick:n},l.default?.()??[h$1(j)])}});var Ht=200;function Ft(...e){return e.filter(Boolean).join(" ")}var se=defineComponent({name:"VideClickPlay",inheritAttrs:false,props:{enableFullscreen:{type:Boolean,default:true}},setup(e,{attrs:i}){let l=u(),r=null,n=()=>{let o=l.value;o&&(o.state==="playing"||o.state==="ad:playing"?o.pause():o.play().catch(()=>{}));},t=()=>{if(!e.enableFullscreen)return;let o=l.value,s=o?.el.closest(".vide-ui")??o?.el.parentElement;s&&(document.fullscreenElement!=null?document.exitFullscreen().catch(()=>{}):s.requestFullscreen&&s.requestFullscreen().catch(()=>{}));},a=()=>{let o=l.value;if(o){if(c(o.state)){o.el.click(),n();return}if(r!==null){clearTimeout(r),r=null,t();return}r=setTimeout(()=>{r=null,n();},Ht);}};return onScopeDispose(()=>{r!==null&&(clearTimeout(r),r=null);}),()=>h$1("div",{class:Ft("vide-clickplay",i.class),onClick:a})}});function h(e){let i=ref(false),l=shallowRef(null);return v(e,"ad:start",r=>{i.value=true,l.value={adId:r.adId,clickThrough:r.clickThrough,skipOffset:r.skipOffset,duration:r.duration,adTitle:r.adTitle,adStartTime:Date.now()};}),v(e,"ad:end",()=>{i.value=false,l.value=null;}),v(e,"ad:skip",()=>{i.value=false,l.value=null;}),{active:i,meta:l}}function Nt(...e){return e.filter(Boolean).join(" ")}var ue=defineComponent({name:"VideAdOverlay",inheritAttrs:false,setup(e,{attrs:i,slots:l}){let r=u(),{active:n,meta:t}=h(r),a=()=>{let o=r.value;if(!o)return;o.el.click();let s=t.value?.clickThrough;s?(window.open(s,"_blank"),o.el.pause()):o.el.paused?Promise.resolve(o.el.play()).catch(()=>{}):o.el.pause();};return ()=>n.value?h$1("div",{class:Nt("vide-ad-overlay",i.class),onClick:a},l.default?.()):null}});function Xt(...e){return e.filter(Boolean).join(" ")}var de=defineComponent({name:"VideAdSkip",inheritAttrs:false,setup(e,{attrs:i,slots:l}){let r=u(),{active:n,meta:t}=h(r),a=ref(false),o=ref(0);v(r,"timeupdate",({currentTime:f})=>{!n.value||!t.value||t.value.skipOffset===void 0||(f>=t.value.skipOffset?a.value=true:(a.value=false,o.value=Math.max(0,Math.ceil(t.value.skipOffset-f))));});let s=()=>{let f=r.value;!f||!a.value||!t.value||f.emit("ad:skip",{adId:t.value.adId});};return ()=>!n.value||!t.value||t.value.skipOffset===void 0?null:h$1("button",{type:"button",class:Xt("vide-skip",!a.value&&"vide-skip--disabled",i.class),"aria-label":"Skip ad",onClick:s,disabled:!a.value},a.value?l.default?.()??"Skip Ad":`Skip in ${o.value}s`)}});function Wt(...e){return e.filter(Boolean).join(" ")}var me=defineComponent({name:"VideAdCountdown",inheritAttrs:false,props:{format:{type:Function,default:void 0}},setup(e,{attrs:i}){let l=u(),{active:r,meta:n}=h(l),t=ref(0);return v(l,"timeupdate",({currentTime:a})=>{if(!r.value||!n.value)return;let o=l.value,s=n.value.duration??(o&&Number.isFinite(o.duration)?o.duration:0);t.value=Math.max(0,Math.ceil(s-a));}),()=>r.value?h$1("div",{class:Wt("vide-ad-countdown",i.class)},e.format?e.format(t.value):`Ad \xB7 ${t.value}s`):null}});function tn(...e){return e.filter(Boolean).join(" ")}var fe=defineComponent({name:"VideAdLabel",inheritAttrs:false,setup(e,{attrs:i,slots:l}){let r=u(),{active:n}=h(r);return ()=>n.value?h$1("div",{class:tn("vide-ad-label",i.class)},l.default?.()??"Ad"):null}});function rn(...e){return e.filter(Boolean).join(" ")}var pe=defineComponent({name:"VideAdLearnMore",inheritAttrs:false,props:{showTitle:{type:Boolean,default:false}},setup(e,{attrs:i,slots:l}){let r=u(),{active:n,meta:t}=h(r),a=()=>{let o=r.value;!o||!t.value?.clickThrough||(o.el.click(),window.open(t.value.clickThrough,"_blank"),o.el.pause());};return ()=>{if(!n.value||!t.value?.clickThrough)return null;let o=[];return e.showTitle&&t.value.adTitle&&o.push(h$1("span",{class:"vide-ad-cta__title"},t.value.adTitle)),o.push(l.default?.()??"Learn More"),h$1("button",{type:"button",class:rn("vide-ad-cta",i.class),onClick:a},o)}}});var an=3e3;function sn(e,i){let l=null,r;watch([e,i],([n,t])=>{if(r?.(),r=void 0,!n||!t)return;function a(){if(!t)return true;let d=t.state;return d==="paused"||d==="ended"||d==="idle"||d==="ready"||c(d)}function o(){n?.classList.remove("vide-ui--autohide");}function s(){l!==null&&(clearTimeout(l),l=null);}function f(){s(),!a()&&(l=setTimeout(()=>{n?.classList.add("vide-ui--autohide");},an));}function g(){o(),f();}function V({to:d}){d==="paused"||d==="ended"||d==="idle"||d==="ready"||c(d)?(s(),o()):f();}n.addEventListener("mousemove",g),n.addEventListener("touchstart",g),n.addEventListener("keydown",g),t.on("statechange",V),f(),r=()=>{s(),n.removeEventListener("mousemove",g),n.removeEventListener("touchstart",g),n.removeEventListener("keydown",g),n.classList.remove("vide-ui--autohide"),t.off("statechange",V);};},{immediate:true}),onScopeDispose(()=>{r?.();});}function mn(e,i,l={}){let r;watch([e,i],([n,t])=>{if(r?.(),r=void 0,!n||!t)return;n.setAttribute("tabindex","0");function a(o){if(!t)return;let s=!l.disableSeek,f=!l.disableVolume,g=!l.disableFullscreen,V=c(t.state);switch(o.key){case " ":case "k":case "K":o.preventDefault(),t.state==="playing"||t.state==="ad:playing"?t.pause():t.play().catch(()=>{});break;case "ArrowLeft":if(!s||V)return;o.preventDefault(),t.currentTime=Math.max(0,t.el.currentTime-5);break;case "ArrowRight":if(!s||V)return;o.preventDefault(),t.currentTime=Math.min(t.el.duration||0,t.el.currentTime+5);break;case "ArrowUp":if(!f)return;o.preventDefault(),t.volume=Math.min(1,t.volume+.1),t.muted&&(t.muted=false);break;case "ArrowDown":if(!f)return;o.preventDefault(),t.volume=Math.max(0,t.volume-.1);break;case "m":case "M":if(!f)return;o.preventDefault(),t.muted=!t.muted;break;case "f":case "F":if(!g)return;o.preventDefault(),document.fullscreenElement!=null?document.exitFullscreen().catch(()=>{}):(n?.closest(".vide-ui")??n)?.requestFullscreen().catch(()=>{});break;default:if(o.key.length===1&&o.key>="0"&&o.key<="9"&&s&&!V){o.preventDefault();let d=Number.parseInt(o.key,10)/10,c=t.el.duration;Number.isFinite(c)&&c>0&&(t.currentTime=d*c);}break}}n.addEventListener("keydown",a),r=()=>{n.removeEventListener("keydown",a),n.removeAttribute("tabindex");};},{immediate:true}),onScopeDispose(()=>{r?.();});}function je(...e){return e.filter(Boolean).join(" ")}var ce=defineComponent({name:"VideUI",inheritAttrs:false,setup(e,{attrs:i,slots:l}){let r=u(),n=ref("");return watch(r,(t,a,o)=>{if(!t){n.value="";return}n.value=b$1(t.state);let s=({to:f})=>{n.value=b$1(f);};t.on("statechange",s),o(()=>t.off("statechange",s));},{immediate:true}),()=>h$1("div",{class:je("vide-ui",n.value,i.class),role:"region","aria-label":"Video player"},l.default?.())}}),ve=defineComponent({name:"VideControls",inheritAttrs:false,setup(e,{attrs:i,slots:l}){let r=u();return ()=>r.value?h$1("div",{class:je("vide-controls",i.class)},l.default?.()):null}});var Io={Video:N,HlsPlugin:q,DashPlugin:G,DrmPlugin:X,VastPlugin:$,VmapPlugin:J,SsaiPlugin:Q,PlayButton:W,MuteButton:Z,Progress:ee,Volume:te,FullscreenButton:ne,TimeDisplay:re,Loader:oe,Poster:ie,ErrorDisplay:le,BigPlayButton:ae,ClickPlay:se,UI:ce,Controls:ve,AdOverlay:ue,AdSkip:de,AdCountdown:me,AdLabel:fe,AdLearnMore:pe};
2
+ export{_ as VIDE_PLAYER_KEY,Io as Vide,me as VideAdCountdown,fe as VideAdLabel,pe as VideAdLearnMore,ue as VideAdOverlay,de as VideAdSkip,ae as VideBigPlayButton,se as VideClickPlay,ve as VideControls,G as VideDashPlugin,X as VideDrmPlugin,le as VideErrorDisplay,ne as VideFullscreenButton,q as VideHlsPlugin,oe as VideLoader,Z as VideMuteButton,W as VidePlayButton,ie as VidePoster,ee as VideProgress,Q as VideSsaiPlugin,re as VideTimeDisplay,ce as VideUI,$ as VideVastPlugin,N as VideVideo,J as VideVmapPlugin,te as VideVolume,h as useAdState,sn as useAutohide,qe as useDash,Ge as useDrm,Ne as useHls,mn as useKeyboard,Je as useSsai,Qe as useUi,Xe as useVast,u as useVideContext,v as useVideEvent,Fe as useVidePlayer,$e as useVmap};
@@ -0,0 +1,2 @@
1
+ import {d}from'../chunk-2OVLZ27V.mjs';import {e,b as b$1,c,x}from'../chunk-LPSJOF2I.mjs';import {a as a$3}from'../chunk-6DWWYSH4.mjs';import {a as a$2}from'../chunk-3RDTWUHH.mjs';import {c as c$1}from'../chunk-WINCDUN5.mjs';import'../chunk-G74QBLVV.mjs';import'../chunk-UY5CGRNN.mjs';import {a}from'../chunk-NA4C7W64.mjs';import {a as a$1}from'../chunk-JRU2FKRB.mjs';import'../chunk-H3OXPFD3.mjs';import {e as e$1}from'../chunk-VPH4JIJV.mjs';import'../chunk-DWXOYV4E.mjs';import {defineComponent,ref,inject,onMounted,h as h$1,watch,onScopeDispose,shallowRef,provide}from'vue';var _=Symbol("vide-player"),R=Symbol("vide-register");function u(){let e=inject(_);if(!e)throw new Error("useVideContext must be used within <VideVideo>");return e}function Fe(){let e=shallowRef(null),i=l=>{e.value&&(e.value.destroy(),e.value=null),e.value=a$3(l);};return provide(_,e),provide(R,i),onScopeDispose(()=>{e.value?.destroy(),e.value=null;}),e}function v(e,i,l){let r;watch(e,n=>{r?.(),r=void 0,n&&(n.on(i,l),r=()=>n.off(i,l));},{immediate:true}),onScopeDispose(()=>{r?.();});}function E(e,i,l){let r;watch(e,n=>{if(r?.(),r=void 0,!n)return;r=i(l).setup(n)??void 0;},{immediate:true}),onScopeDispose(()=>{r?.();});}function Ne(e,i){E(e,a,i??{});}function qe(e,i){E(e,a$1,i??{});}function Ge(e,i){E(e,e$1,i);}function Xe(e,i){E(e,a$2,i);}function $e(e,i){E(e,c$1,i);}function Je(e,i){E(e,d,i??{});}function Qe(e,i){E(e,x,i);}var N=defineComponent({name:"VideVideo",inheritAttrs:false,slots:Object,setup(e,{attrs:i,slots:l,expose:r}){let n=ref(null),t=inject(R);return r({video:n}),onMounted(()=>{n.value&&t&&t(n.value);}),()=>{let{class:a,...o}=i;return h$1("div",{class:a},[h$1("video",{...o,ref:n}),l.default?.()])}}});function w(e,i,l){return defineComponent({name:e,props:l.reduce((r,n)=>(r[n]=null,r),{}),setup(r){let n=u(),t;return watch(n,a=>{if(t?.(),t=void 0,!a)return;t=i({...r}).setup(a)??void 0;},{immediate:true}),onScopeDispose(()=>{t?.();}),()=>null}})}var q=w("VideHlsPlugin",a,["hlsConfig","recovery"]),G=w("VideDashPlugin",a$1,["dashConfig","recovery"]),X=w("VideDrmPlugin",e$1,["widevine","fairplay"]),$=w("VideVastPlugin",a$2,["tagUrl","timeout","allowSkip","adPlugins"]),J=w("VideVmapPlugin",c$1,["url","timeout","vastOptions","adPlugins"]),Q=w("VideSsaiPlugin",d,["tolerance","parser"]);var b={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:24,height:24,fill:"currentColor","aria-hidden":"true"},j=defineComponent({name:"IconPlay",render(){return h$1("svg",b,[h$1("path",{d:"M8 5v14l11-7z"})])}}),Pe=defineComponent({name:"IconPause",render(){return h$1("svg",b,[h$1("path",{d:"M6 19h4V5H6v14zm8-14v14h4V5h-4z"})])}}),O=defineComponent({name:"IconVolumeHigh",render(){return h$1("svg",b,[h$1("path",{d:"M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z"})])}}),B=defineComponent({name:"IconVolumeLow",render(){return h$1("svg",b,[h$1("path",{d:"M18.5 12c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM5 9v6h4l5 5V4L9 9H5z"})])}}),H=defineComponent({name:"IconVolumeMute",render(){return h$1("svg",b,[h$1("path",{d:"M16.5 12c0-1.77-1.02-3.29-2.5-4.03v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51C20.63 14.91 21 13.5 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.06c1.38-.31 2.63-.95 3.69-1.81L19.73 21 21 19.73l-9-9L4.27 3zM12 4l-1.88 1.88L12 7.76V4z"})])}}),xe=defineComponent({name:"IconFullscreenEnter",render(){return h$1("svg",b,[h$1("path",{d:"M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"})])}}),Ee=defineComponent({name:"IconFullscreenExit",render(){return h$1("svg",b,[h$1("path",{d:"M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z"})])}});function at(...e){return e.filter(Boolean).join(" ")}var W=defineComponent({name:"VidePlayButton",inheritAttrs:false,setup(e,{attrs:i,slots:l}){let r=u(),n=ref(false);v(r,"statechange",({to:a})=>{a==="playing"||a==="ad:playing"?n.value=true:(a==="paused"||a==="ready"||a==="ended"||a==="ad:paused")&&(n.value=false);});let t=()=>{let a=r.value;a&&(a.state==="playing"||a.state==="ad:playing"?a.pause():a.play().catch(()=>{}));};return ()=>h$1("button",{type:"button",class:at("vide-play",i.class),"aria-label":n.value?"Pause":"Play","data-playing":n.value||void 0,onClick:t},l.default?.()??[h$1(n.value?Pe:j)])}});function mt(...e){return e.filter(Boolean).join(" ")}var Z=defineComponent({name:"VideMuteButton",inheritAttrs:false,setup(e,{attrs:i,slots:l}){let r=u(),n=ref(false),t=ref(1),a;watch(r,s=>{if(a?.(),a=void 0,!s)return;let f=()=>{n.value=s.muted||s.volume===0,t.value=s.volume;};s.el.addEventListener("volumechange",f),f(),a=()=>s.el.removeEventListener("volumechange",f);},{immediate:true}),onScopeDispose(()=>{a?.();});let o=()=>{let s=r.value;s&&(s.muted=!s.muted);};return ()=>h$1("button",{type:"button",class:mt("vide-mute",i.class),"aria-label":n.value?"Unmute":"Mute","data-muted":n.value||void 0,onClick:o},l.default?.()??[h$1(n.value?H:t.value<.5?B:O)])}});function pt(...e){return e.filter(Boolean).join(" ")}var ee=defineComponent({name:"VideProgress",inheritAttrs:false,setup(e,{attrs:i}){let l=u(),r=ref(0),n=ref(0),t=ref(false),a=ref(false),o=ref(null);v(l,"timeupdate",({currentTime:d,duration:c})=>{!a.value&&c>0&&(r.value=d/c);let m=l.value;if(m&&m.el.buffered.length>0&&c>0){let p=m.el.buffered.end(m.el.buffered.length-1);n.value=Math.min(1,p/c);}}),v(l,"statechange",({to:d})=>{let c=d==="ad:loading"||d==="ad:playing"||d==="ad:paused";t.value=c;});let s=d=>{if(!o.value)return 0;let c=o.value.getBoundingClientRect();return c.width===0?0:Math.max(0,Math.min(1,(d.clientX-c.left)/c.width))},f=d=>{!l.value||t.value||(a.value=true,o.value?.setPointerCapture(d.pointerId),r.value=s(d));},g=d=>{a.value&&(r.value=s(d));},V=d=>{if(!a.value||!l.value)return;a.value=false,o.value?.releasePointerCapture(d.pointerId);let c=s(d),m=l.value.el.duration;Number.isFinite(m)&&m>0&&(l.value.currentTime=c*m);};return ()=>h$1("div",{ref:o,class:pt("vide-progress",i.class),role:"slider",tabindex:0,"aria-label":"Seek","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(r.value*100),"data-disabled":t.value||void 0,style:{"--vide-progress":r.value,"--vide-progress-buffered":n.value},onPointerdown:f,onPointermove:g,onPointerup:V},[h$1("div",{class:"vide-progress__buffered"}),h$1("div",{class:"vide-progress__bar"}),h$1("div",{class:"vide-progress__handle"})])}});function gt(...e){return e.filter(Boolean).join(" ")}var te=defineComponent({name:"VideVolume",inheritAttrs:false,setup(e,{attrs:i,slots:l}){let r=u(),n=ref(1),t=ref(false),a=ref(false),o=ref(null),s;watch(r,m=>{if(s?.(),s=void 0,!m)return;let p=()=>{a.value||(n.value=m.muted?0:m.volume),t.value=m.muted||m.volume===0;};m.el.addEventListener("volumechange",p),p(),s=()=>m.el.removeEventListener("volumechange",p);},{immediate:true}),onScopeDispose(()=>{s?.();});let f=()=>{let m=r.value;m&&(m.muted=!m.muted);},g=m=>{if(!o.value)return 0;let p=o.value.getBoundingClientRect();return p.width===0?0:Math.max(0,Math.min(1,(m.clientX-p.left)/p.width))},V=m=>{let p=r.value;if(!p)return;a.value=true,o.value?.setPointerCapture(m.pointerId);let P=g(m);p.volume=P,p.muted&&P>0&&(p.muted=false),n.value=P,t.value=P===0;},d=m=>{let p=r.value;if(!a.value||!p)return;let P=g(m);p.volume=P,p.muted&&P>0&&(p.muted=false),n.value=P,t.value=P===0;},c=m=>{a.value&&(a.value=false,o.value?.releasePointerCapture(m.pointerId));};return ()=>h$1("div",{class:gt("vide-volume",i.class),"data-muted":t.value||void 0,style:{"--vide-volume":n.value}},[h$1("button",{type:"button",class:"vide-volume__button","aria-label":t.value?"Unmute":"Mute",onClick:f},l.default?.()??[h$1(t.value?H:n.value<.5?B:O)]),h$1("div",{ref:o,class:"vide-volume__slider",role:"slider",tabindex:0,"aria-label":"Volume","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(n.value*100),onPointerdown:V,onPointermove:d,onPointerup:c},[h$1("div",{class:"vide-volume__track"}),h$1("div",{class:"vide-volume__filled"})])])}});function Et(...e){return e.filter(Boolean).join(" ")}var ne=defineComponent({name:"VideFullscreenButton",inheritAttrs:false,props:{target:{type:Object,default:null}},setup(e,{attrs:i,slots:l}){let r=u(),n=ref(false),t=()=>{n.value=document.fullscreenElement!=null||document.webkitFullscreenElement!=null;};onMounted(()=>{document.addEventListener("fullscreenchange",t),document.addEventListener("webkitfullscreenchange",t);}),onScopeDispose(()=>{document.removeEventListener("fullscreenchange",t),document.removeEventListener("webkitfullscreenchange",t);});let a=()=>{let o=e.target??r.value?.el.closest(".vide-ui")??r.value?.el.parentElement;o&&(document.fullscreenElement?document.exitFullscreen().catch(()=>{}):o.requestFullscreen().catch(()=>{}));};return ()=>h$1("button",{type:"button",class:Et("vide-fullscreen",i.class),"aria-label":n.value?"Exit fullscreen":"Fullscreen","data-fullscreen":n.value||void 0,onClick:a},l.default?.()??[h$1(n.value?Ee:xe)])}});function bt(...e){return e.filter(Boolean).join(" ")}var re=defineComponent({name:"VideTimeDisplay",inheritAttrs:false,props:{separator:{type:String,default:"/"}},setup(e$1,{attrs:i}){let l=u(),r=ref(0),n=ref(0);return v(l,"timeupdate",t=>{r.value=t.currentTime,n.value=t.duration;}),()=>h$1("div",{class:bt("vide-time",i.class),"aria-label":"Time"},[h$1("span",e(r.value)),h$1("span",e$1.separator),h$1("span",e(n.value))])}});function Ct(...e){return e.filter(Boolean).join(" ")}var oe=defineComponent({name:"VideLoader",inheritAttrs:false,setup(e,{attrs:i}){return ()=>h$1("div",{class:Ct("vide-loader",i.class)},[h$1("div",{class:"vide-loader__spinner"})])}});function kt(...e){return e.filter(Boolean).join(" ")}var ie=defineComponent({name:"VidePoster",inheritAttrs:false,props:{src:{type:String,required:true},alt:{type:String,default:""}},setup(e,{attrs:i}){return ()=>h$1("div",{class:kt("vide-poster",i.class)},[h$1("img",{class:"vide-poster__image",src:e.src,alt:e.alt})])}});function It(...e){return e.filter(Boolean).join(" ")}var le=defineComponent({name:"VideErrorDisplay",inheritAttrs:false,setup(e,{attrs:i}){let l=u(),r=ref(""),n;return watch(l,t=>{if(n?.(),n=void 0,!t)return;let a=({message:o})=>{r.value=o;};t.on("error",a),n=()=>t.off("error",a);},{immediate:true}),onScopeDispose(()=>{n?.();}),()=>h$1("div",{class:It("vide-error",i.class)},[h$1("span",{class:"vide-error__message"},r.value)])}});function Rt(...e){return e.filter(Boolean).join(" ")}var ae=defineComponent({name:"VideBigPlayButton",inheritAttrs:false,setup(e,{attrs:i,slots:l}){let r=u(),n=()=>{let t=r.value;if(t){if(t.state==="ended"){let s=function({to:f}){f==="ready"&&(o.off("statechange",s),o.play().catch(()=>{}));};let o=t;o.on("statechange",s),o.el.currentTime=0,o.el.load();return}t.play().catch(()=>{});}};return ()=>h$1("button",{type:"button",class:Rt("vide-bigplay",i.class),"aria-label":"Play video",onClick:n},l.default?.()??[h$1(j)])}});var Ht=200;function Ft(...e){return e.filter(Boolean).join(" ")}var se=defineComponent({name:"VideClickPlay",inheritAttrs:false,props:{enableFullscreen:{type:Boolean,default:true}},setup(e,{attrs:i}){let l=u(),r=null,n=()=>{let o=l.value;o&&(o.state==="playing"||o.state==="ad:playing"?o.pause():o.play().catch(()=>{}));},t=()=>{if(!e.enableFullscreen)return;let o=l.value,s=o?.el.closest(".vide-ui")??o?.el.parentElement;s&&(document.fullscreenElement!=null?document.exitFullscreen().catch(()=>{}):s.requestFullscreen&&s.requestFullscreen().catch(()=>{}));},a=()=>{let o=l.value;if(o){if(c(o.state)){o.el.click(),n();return}if(r!==null){clearTimeout(r),r=null,t();return}r=setTimeout(()=>{r=null,n();},Ht);}};return onScopeDispose(()=>{r!==null&&(clearTimeout(r),r=null);}),()=>h$1("div",{class:Ft("vide-clickplay",i.class),onClick:a})}});function h(e){let i=ref(false),l=shallowRef(null);return v(e,"ad:start",r=>{i.value=true,l.value={adId:r.adId,clickThrough:r.clickThrough,skipOffset:r.skipOffset,duration:r.duration,adTitle:r.adTitle,adStartTime:Date.now()};}),v(e,"ad:end",()=>{i.value=false,l.value=null;}),v(e,"ad:skip",()=>{i.value=false,l.value=null;}),{active:i,meta:l}}function Nt(...e){return e.filter(Boolean).join(" ")}var ue=defineComponent({name:"VideAdOverlay",inheritAttrs:false,setup(e,{attrs:i,slots:l}){let r=u(),{active:n,meta:t}=h(r),a=()=>{let o=r.value;if(!o)return;o.el.click();let s=t.value?.clickThrough;s?(window.open(s,"_blank"),o.el.pause()):o.el.paused?Promise.resolve(o.el.play()).catch(()=>{}):o.el.pause();};return ()=>n.value?h$1("div",{class:Nt("vide-ad-overlay",i.class),onClick:a},l.default?.()):null}});function Xt(...e){return e.filter(Boolean).join(" ")}var de=defineComponent({name:"VideAdSkip",inheritAttrs:false,setup(e,{attrs:i,slots:l}){let r=u(),{active:n,meta:t}=h(r),a=ref(false),o=ref(0);v(r,"timeupdate",({currentTime:f})=>{!n.value||!t.value||t.value.skipOffset===void 0||(f>=t.value.skipOffset?a.value=true:(a.value=false,o.value=Math.max(0,Math.ceil(t.value.skipOffset-f))));});let s=()=>{let f=r.value;!f||!a.value||!t.value||f.emit("ad:skip",{adId:t.value.adId});};return ()=>!n.value||!t.value||t.value.skipOffset===void 0?null:h$1("button",{type:"button",class:Xt("vide-skip",!a.value&&"vide-skip--disabled",i.class),"aria-label":"Skip ad",onClick:s,disabled:!a.value},a.value?l.default?.()??"Skip Ad":`Skip in ${o.value}s`)}});function Wt(...e){return e.filter(Boolean).join(" ")}var me=defineComponent({name:"VideAdCountdown",inheritAttrs:false,props:{format:{type:Function,default:void 0}},setup(e,{attrs:i}){let l=u(),{active:r,meta:n}=h(l),t=ref(0);return v(l,"timeupdate",({currentTime:a})=>{if(!r.value||!n.value)return;let o=l.value,s=n.value.duration??(o&&Number.isFinite(o.duration)?o.duration:0);t.value=Math.max(0,Math.ceil(s-a));}),()=>r.value?h$1("div",{class:Wt("vide-ad-countdown",i.class)},e.format?e.format(t.value):`Ad \xB7 ${t.value}s`):null}});function tn(...e){return e.filter(Boolean).join(" ")}var fe=defineComponent({name:"VideAdLabel",inheritAttrs:false,setup(e,{attrs:i,slots:l}){let r=u(),{active:n}=h(r);return ()=>n.value?h$1("div",{class:tn("vide-ad-label",i.class)},l.default?.()??"Ad"):null}});function rn(...e){return e.filter(Boolean).join(" ")}var pe=defineComponent({name:"VideAdLearnMore",inheritAttrs:false,props:{showTitle:{type:Boolean,default:false}},setup(e,{attrs:i,slots:l}){let r=u(),{active:n,meta:t}=h(r),a=()=>{let o=r.value;!o||!t.value?.clickThrough||(o.el.click(),window.open(t.value.clickThrough,"_blank"),o.el.pause());};return ()=>{if(!n.value||!t.value?.clickThrough)return null;let o=[];return e.showTitle&&t.value.adTitle&&o.push(h$1("span",{class:"vide-ad-cta__title"},t.value.adTitle)),o.push(l.default?.()??"Learn More"),h$1("button",{type:"button",class:rn("vide-ad-cta",i.class),onClick:a},o)}}});var an=3e3;function sn(e,i){let l=null,r;watch([e,i],([n,t])=>{if(r?.(),r=void 0,!n||!t)return;function a(){if(!t)return true;let d=t.state;return d==="paused"||d==="ended"||d==="idle"||d==="ready"||c(d)}function o(){n?.classList.remove("vide-ui--autohide");}function s(){l!==null&&(clearTimeout(l),l=null);}function f(){s(),!a()&&(l=setTimeout(()=>{n?.classList.add("vide-ui--autohide");},an));}function g(){o(),f();}function V({to:d}){d==="paused"||d==="ended"||d==="idle"||d==="ready"||c(d)?(s(),o()):f();}n.addEventListener("mousemove",g),n.addEventListener("touchstart",g),n.addEventListener("keydown",g),t.on("statechange",V),f(),r=()=>{s(),n.removeEventListener("mousemove",g),n.removeEventListener("touchstart",g),n.removeEventListener("keydown",g),n.classList.remove("vide-ui--autohide"),t.off("statechange",V);};},{immediate:true}),onScopeDispose(()=>{r?.();});}function mn(e,i,l={}){let r;watch([e,i],([n,t])=>{if(r?.(),r=void 0,!n||!t)return;n.setAttribute("tabindex","0");function a(o){if(!t)return;let s=!l.disableSeek,f=!l.disableVolume,g=!l.disableFullscreen,V=c(t.state);switch(o.key){case " ":case "k":case "K":o.preventDefault(),t.state==="playing"||t.state==="ad:playing"?t.pause():t.play().catch(()=>{});break;case "ArrowLeft":if(!s||V)return;o.preventDefault(),t.currentTime=Math.max(0,t.el.currentTime-5);break;case "ArrowRight":if(!s||V)return;o.preventDefault(),t.currentTime=Math.min(t.el.duration||0,t.el.currentTime+5);break;case "ArrowUp":if(!f)return;o.preventDefault(),t.volume=Math.min(1,t.volume+.1),t.muted&&(t.muted=false);break;case "ArrowDown":if(!f)return;o.preventDefault(),t.volume=Math.max(0,t.volume-.1);break;case "m":case "M":if(!f)return;o.preventDefault(),t.muted=!t.muted;break;case "f":case "F":if(!g)return;o.preventDefault(),document.fullscreenElement!=null?document.exitFullscreen().catch(()=>{}):(n?.closest(".vide-ui")??n)?.requestFullscreen().catch(()=>{});break;default:if(o.key.length===1&&o.key>="0"&&o.key<="9"&&s&&!V){o.preventDefault();let d=Number.parseInt(o.key,10)/10,c=t.el.duration;Number.isFinite(c)&&c>0&&(t.currentTime=d*c);}break}}n.addEventListener("keydown",a),r=()=>{n.removeEventListener("keydown",a),n.removeAttribute("tabindex");};},{immediate:true}),onScopeDispose(()=>{r?.();});}function je(...e){return e.filter(Boolean).join(" ")}var ce=defineComponent({name:"VideUI",inheritAttrs:false,setup(e,{attrs:i,slots:l}){let r=u(),n=ref("");return watch(r,(t,a,o)=>{if(!t){n.value="";return}n.value=b$1(t.state);let s=({to:f})=>{n.value=b$1(f);};t.on("statechange",s),o(()=>t.off("statechange",s));},{immediate:true}),()=>h$1("div",{class:je("vide-ui",n.value,i.class),role:"region","aria-label":"Video player"},l.default?.())}}),ve=defineComponent({name:"VideControls",inheritAttrs:false,setup(e,{attrs:i,slots:l}){let r=u();return ()=>r.value?h$1("div",{class:je("vide-controls",i.class)},l.default?.()):null}});var Io={Video:N,HlsPlugin:q,DashPlugin:G,DrmPlugin:X,VastPlugin:$,VmapPlugin:J,SsaiPlugin:Q,PlayButton:W,MuteButton:Z,Progress:ee,Volume:te,FullscreenButton:ne,TimeDisplay:re,Loader:oe,Poster:ie,ErrorDisplay:le,BigPlayButton:ae,ClickPlay:se,UI:ce,Controls:ve,AdOverlay:ue,AdSkip:de,AdCountdown:me,AdLabel:fe,AdLearnMore:pe};
2
+ export{_ as VIDE_PLAYER_KEY,Io as Vide,me as VideAdCountdown,fe as VideAdLabel,pe as VideAdLearnMore,ue as VideAdOverlay,de as VideAdSkip,ae as VideBigPlayButton,se as VideClickPlay,ve as VideControls,G as VideDashPlugin,X as VideDrmPlugin,le as VideErrorDisplay,ne as VideFullscreenButton,q as VideHlsPlugin,oe as VideLoader,Z as VideMuteButton,W as VidePlayButton,ie as VidePoster,ee as VideProgress,Q as VideSsaiPlugin,re as VideTimeDisplay,ce as VideUI,$ as VideVastPlugin,N as VideVideo,J as VideVmapPlugin,te as VideVolume,h as useAdState,sn as useAutohide,qe as useDash,Ge as useDrm,Ne as useHls,mn as useKeyboard,Je as useSsai,Qe as useUi,Xe as useVast,u as useVideContext,v as useVideEvent,Fe as useVidePlayer,$e as useVmap};