@videts/vide 0.8.0 → 0.9.2

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 +9 -9
  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 +46 -5
  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
@@ -0,0 +1,30 @@
1
+ /** Widevine DRM configuration. */
2
+ interface WidevineConfig {
3
+ licenseUrl: string;
4
+ headers?: Record<string, string> | undefined;
5
+ prepareLicenseRequest?: ((payload: Uint8Array) => Uint8Array | Promise<Uint8Array>) | undefined;
6
+ processLicenseResponse?: ((response: Uint8Array) => Uint8Array | Promise<Uint8Array>) | undefined;
7
+ }
8
+ /** FairPlay DRM configuration. */
9
+ interface FairPlayConfig {
10
+ licenseUrl: string;
11
+ certificateUrl: string;
12
+ headers?: Record<string, string> | undefined;
13
+ prepareLicenseRequest?: ((payload: Uint8Array) => Uint8Array | Promise<Uint8Array>) | undefined;
14
+ processLicenseResponse?: ((response: Uint8Array) => Uint8Array | Promise<Uint8Array>) | undefined;
15
+ }
16
+ /** Options for the DRM plugin. */
17
+ interface DrmPluginOptions {
18
+ widevine?: WidevineConfig | undefined;
19
+ fairplay?: FairPlayConfig | undefined;
20
+ }
21
+ /** Key system identifier string. */
22
+ type KeySystem = "com.widevine.alpha" | "com.apple.fps.1_0";
23
+ /** Resolved DRM configuration stored via setPluginData("drm"). */
24
+ interface ResolvedDrmConfig {
25
+ keySystem: KeySystem;
26
+ hlsConfig: Record<string, unknown>;
27
+ dashConfig: Record<string, unknown>;
28
+ }
29
+
30
+ export type { DrmPluginOptions as D, FairPlayConfig as F, KeySystem as K, ResolvedDrmConfig as R, WidevineConfig as W };
@@ -0,0 +1,173 @@
1
+ import { P as Player } from './types-BsEF8iWC.js';
2
+
3
+ interface VastResponse {
4
+ version: string;
5
+ ads: VastAd[];
6
+ errors: string[];
7
+ }
8
+ interface VastAd {
9
+ id: string;
10
+ sequence?: number | undefined;
11
+ adSystem: string;
12
+ adTitle: string;
13
+ impressions: string[];
14
+ creatives: VastCreative[];
15
+ errors: string[];
16
+ verifications?: AdVerification[] | undefined;
17
+ categories?: AdCategory[] | undefined;
18
+ extensions?: VastExtension[] | undefined;
19
+ viewableImpression?: VastViewableImpression | undefined;
20
+ }
21
+ interface AdVerification {
22
+ vendor: string;
23
+ resourceUrl: string;
24
+ apiFramework?: string | undefined;
25
+ parameters?: string | undefined;
26
+ }
27
+ interface AdCategory {
28
+ authority: string;
29
+ value: string;
30
+ }
31
+ interface VastExtension {
32
+ type: string;
33
+ content: string;
34
+ }
35
+ interface VastViewableImpression {
36
+ viewable: string[];
37
+ notViewable: string[];
38
+ viewUndetermined: string[];
39
+ }
40
+ interface VastCreative {
41
+ id?: string | undefined;
42
+ sequence?: number | undefined;
43
+ linear: VastLinear | null;
44
+ companionAds?: VastCompanionAds | undefined;
45
+ nonLinearAds?: VastNonLinearAds | undefined;
46
+ }
47
+ interface VastLinear {
48
+ duration: number;
49
+ skipOffset?: number | undefined;
50
+ mediaFiles: VastMediaFile[];
51
+ interactiveCreativeFiles: InteractiveCreativeFile[];
52
+ trackingEvents: VastTrackingEvents;
53
+ clickThrough?: string | undefined;
54
+ clickTracking: string[];
55
+ }
56
+ interface VastMediaFile {
57
+ url: string;
58
+ mimeType: string;
59
+ width: number;
60
+ height: number;
61
+ bitrate?: number | undefined;
62
+ delivery: "progressive" | "streaming";
63
+ }
64
+ interface InteractiveCreativeFile {
65
+ url: string;
66
+ apiFramework: string;
67
+ variableDuration?: boolean | undefined;
68
+ }
69
+ interface VastProgressEvent {
70
+ offset: number;
71
+ url: string;
72
+ }
73
+ interface VastTrackingEvents {
74
+ start: string[];
75
+ firstQuartile: string[];
76
+ midpoint: string[];
77
+ thirdQuartile: string[];
78
+ complete: string[];
79
+ pause: string[];
80
+ resume: string[];
81
+ skip: string[];
82
+ loaded: string[];
83
+ mute: string[];
84
+ unmute: string[];
85
+ rewind: string[];
86
+ playerExpand: string[];
87
+ playerCollapse: string[];
88
+ closeLinear: string[];
89
+ notUsed: string[];
90
+ otherAdInteraction: string[];
91
+ creativeView: string[];
92
+ progress: VastProgressEvent[];
93
+ }
94
+ type CompanionRequired = "all" | "any" | "none";
95
+ type CompanionRenderingMode = "default" | "end-card" | "concurrent";
96
+ interface CompanionTrackingEvents {
97
+ creativeView: string[];
98
+ }
99
+ interface CompanionStaticResource {
100
+ type: "static";
101
+ url: string;
102
+ creativeType: string;
103
+ }
104
+ interface CompanionIFrameResource {
105
+ type: "iframe";
106
+ url: string;
107
+ }
108
+ interface CompanionHTMLResource {
109
+ type: "html";
110
+ content: string;
111
+ }
112
+ type CompanionResource = CompanionStaticResource | CompanionIFrameResource | CompanionHTMLResource;
113
+ interface VastCompanionAd {
114
+ width: number;
115
+ height: number;
116
+ id?: string | undefined;
117
+ assetWidth?: number | undefined;
118
+ assetHeight?: number | undefined;
119
+ expandedWidth?: number | undefined;
120
+ expandedHeight?: number | undefined;
121
+ apiFramework?: string | undefined;
122
+ adSlotId?: string | undefined;
123
+ pxratio?: number | undefined;
124
+ renderingMode?: CompanionRenderingMode | undefined;
125
+ resources: CompanionResource[];
126
+ clickThrough?: string | undefined;
127
+ clickTracking: string[];
128
+ trackingEvents: CompanionTrackingEvents;
129
+ altText?: string | undefined;
130
+ adParameters?: string | undefined;
131
+ }
132
+ interface VastCompanionAds {
133
+ required: CompanionRequired;
134
+ companions: VastCompanionAd[];
135
+ }
136
+ interface NonLinearAd {
137
+ width: number;
138
+ height: number;
139
+ id?: string | undefined;
140
+ expandedWidth?: number | undefined;
141
+ expandedHeight?: number | undefined;
142
+ scalable?: boolean | undefined;
143
+ maintainAspectRatio?: boolean | undefined;
144
+ /** Minimum suggested display time in seconds, parsed from HH:MM:SS */
145
+ minSuggestedDuration?: number | undefined;
146
+ apiFramework?: string | undefined;
147
+ resources: CompanionResource[];
148
+ clickThrough?: string | undefined;
149
+ clickTracking: string[];
150
+ adParameters?: string | undefined;
151
+ }
152
+ interface VastNonLinearAds {
153
+ trackingEvents: Record<string, string[]>;
154
+ nonLinears: NonLinearAd[];
155
+ }
156
+ /** Plugin scoped to a single ad. Created per-ad, cleaned up on ad end. */
157
+ interface AdPlugin {
158
+ name: string;
159
+ setup(player: Player, ad: VastAd): (() => void) | undefined;
160
+ }
161
+ interface VastPluginOptions {
162
+ tagUrl: string;
163
+ timeout?: number | undefined;
164
+ allowSkip?: boolean | undefined;
165
+ /** Create per-ad plugins. Called once per ad with the parsed VastAd. */
166
+ adPlugins?: ((ad: VastAd) => AdPlugin[]) | undefined;
167
+ }
168
+ interface ResolveOptions {
169
+ timeout?: number | undefined;
170
+ maxDepth?: number | undefined;
171
+ }
172
+
173
+ export type { AdPlugin as A, CompanionHTMLResource as C, NonLinearAd as N, ResolveOptions as R, VastResponse as V, VastCompanionAd as a, VastNonLinearAds as b, VastAd as c, VastLinear as d, VastPluginOptions as e, AdCategory as f, AdVerification as g, CompanionIFrameResource as h, CompanionRenderingMode as i, CompanionRequired as j, CompanionResource as k, CompanionStaticResource as l, CompanionTrackingEvents as m, VastCompanionAds as n, VastExtension as o, VastProgressEvent as p, VastViewableImpression as q };
@@ -0,0 +1,10 @@
1
+ import { R as RecoveryConfig } from './types-BsEF8iWC.js';
2
+
3
+ interface HlsPluginOptions {
4
+ /** Configuration passed directly to the hls.js constructor. */
5
+ hlsConfig?: Record<string, unknown> | undefined;
6
+ /** Error recovery settings. `false` to disable. Defaults to enabled (3 retries, 3s delay, 2x backoff). */
7
+ recovery?: Partial<RecoveryConfig> | false | undefined;
8
+ }
9
+
10
+ export type { HlsPluginOptions as H };
@@ -0,0 +1,52 @@
1
+ /** VAST-equivalent tracking URL map for SSAI ad breaks. */
2
+ interface AdTrackingMap {
3
+ impression?: string[];
4
+ start?: string[];
5
+ firstQuartile?: string[];
6
+ midpoint?: string[];
7
+ thirdQuartile?: string[];
8
+ complete?: string[];
9
+ pause?: string[];
10
+ resume?: string[];
11
+ skip?: string[];
12
+ }
13
+ /** Parsed ad break metadata from stream signals. */
14
+ interface AdBreakMetadata {
15
+ id: string;
16
+ /** Absolute start time in seconds relative to stream timeline. */
17
+ startTime: number;
18
+ /** Duration of the ad break in seconds. */
19
+ duration: number;
20
+ /** Timing-specific tracking URLs. */
21
+ tracking?: AdTrackingMap;
22
+ clickThrough?: string;
23
+ customData?: Record<string, string>;
24
+ }
25
+ /** Discriminated union of raw metadata from different stream sources. */
26
+ type RawMetadata = {
27
+ source: "daterange";
28
+ attributes: Record<string, string>;
29
+ } | {
30
+ source: "id3";
31
+ samples: Array<{
32
+ type: string;
33
+ data: Uint8Array;
34
+ }>;
35
+ } | {
36
+ source: "eventstream";
37
+ schemeIdUri: string;
38
+ value: string;
39
+ startTime: number;
40
+ duration: number;
41
+ messageData?: string | undefined;
42
+ };
43
+ /** Custom parser: receives raw metadata, returns zero or more ad breaks. */
44
+ type MetadataParser = (raw: RawMetadata) => AdBreakMetadata[];
45
+ interface SsaiPluginOptions {
46
+ /** Custom metadata parser. Overrides default auto-detection. */
47
+ parser?: MetadataParser;
48
+ /** Tolerance in seconds for time-based ad break matching. Default: 0.5. */
49
+ tolerance?: number;
50
+ }
51
+
52
+ export type { AdBreakMetadata as A, MetadataParser as M, RawMetadata as R, SsaiPluginOptions as S, AdTrackingMap as a };
@@ -0,0 +1,10 @@
1
+ import { R as RecoveryConfig } from './types-BsEF8iWC.js';
2
+
3
+ interface DashPluginOptions {
4
+ /** dash.js MediaPlayerSettingClass — passed to updateSettings(). */
5
+ dashConfig?: Record<string, unknown> | undefined;
6
+ /** Error recovery settings. `false` to disable. Defaults to enabled (3 retries, 3s delay, 2x backoff). */
7
+ recovery?: Partial<RecoveryConfig> | false | undefined;
8
+ }
9
+
10
+ export type { DashPluginOptions as D };
@@ -0,0 +1,40 @@
1
+ import { P as Player } from './types-BsEF8iWC.js';
2
+
3
+ /** A single UI component that can be independently mounted and connected. */
4
+ interface UIComponent {
5
+ /** Create DOM elements and append them to the container. */
6
+ mount(container: HTMLElement): void;
7
+ /** Subscribe to player events and start reacting. */
8
+ connect(player: Player): void;
9
+ /** Remove DOM elements and unsubscribe from all events. */
10
+ destroy(): void;
11
+ }
12
+ /** Shared mutable state for ad UI components. Set by uiAdPlugin, read by ad components. */
13
+ interface AdUIState {
14
+ adId: string;
15
+ skipOffset: number | undefined;
16
+ clickThrough: string | undefined;
17
+ duration: number;
18
+ adTitle: string | undefined;
19
+ }
20
+ /** Mutable holder for AdUIState, shared between ad-plugin and ad UI components. */
21
+ interface AdUIStateRef {
22
+ current: AdUIState | null;
23
+ set(state: AdUIState): void;
24
+ clear(): void;
25
+ }
26
+ /** Component names that can be excluded from the ui() convenience plugin. */
27
+ type UIComponentName = "play" | "progress" | "time" | "volume" | "fullscreen" | "loader" | "error" | "bigplay" | "poster" | "ad-countdown" | "ad-skip" | "ad-overlay" | "ad-label" | "ad-learn-more" | "keyboard" | "clickplay" | "autohide";
28
+ /** Options for the ui() convenience plugin. */
29
+ interface UiPluginOptions {
30
+ /** Container element to mount UI controls into. */
31
+ container: HTMLElement;
32
+ /** Components to exclude (default: `ad-overlay`). */
33
+ exclude?: UIComponentName[] | undefined;
34
+ /** Components to opt-in (overrides default exclusions like `ad-overlay`). */
35
+ include?: UIComponentName[] | undefined;
36
+ /** Poster image URL. */
37
+ poster?: string | undefined;
38
+ }
39
+
40
+ export type { AdUIStateRef as A, UIComponent as U, UIComponentName as a, UiPluginOptions as b, AdUIState as c };
@@ -1,44 +1,14 @@
1
- import { P as Player, d as PlayerState, e as Plugin } from '../types-vxIcXgJz.js';
2
- import { b as AdPlugin, e as VastAd } from '../types-CAJmacV6.js';
3
-
4
- /** A single UI component that can be independently mounted and connected. */
5
- interface UIComponent {
6
- /** Create DOM elements and append them to the container. */
7
- mount(container: HTMLElement): void;
8
- /** Subscribe to player events and start reacting. */
9
- connect(player: Player): void;
10
- /** Remove DOM elements and unsubscribe from all events. */
11
- destroy(): void;
12
- }
13
- /** Shared mutable state for ad UI components. Set by uiAdPlugin, read by ad components. */
14
- interface AdUIState {
15
- adId: string;
16
- skipOffset: number | undefined;
17
- clickThrough: string | undefined;
18
- duration: number;
19
- }
20
- /** Mutable holder for AdUIState, shared between ad-plugin and ad UI components. */
21
- interface AdUIStateRef {
22
- current: AdUIState | null;
23
- set(state: AdUIState): void;
24
- clear(): void;
25
- }
26
- /** Component names that can be excluded from the ui() convenience plugin. */
27
- type UIComponentName = "play" | "progress" | "time" | "volume" | "fullscreen" | "loader" | "error" | "bigplay" | "poster" | "ad-countdown" | "ad-skip" | "ad-overlay" | "ad-label" | "keyboard" | "clickplay" | "autohide";
28
- /** Options for the ui() convenience plugin. */
29
- interface UiPluginOptions {
30
- /** Container element to mount UI controls into. */
31
- container: HTMLElement;
32
- /** Components to exclude (default: none — all enabled). */
33
- exclude?: UIComponentName[] | undefined;
34
- /** Poster image URL. */
35
- poster?: string | undefined;
36
- }
1
+ import { P as Player, e as PlayerState, f as Plugin } from '../types-BsEF8iWC.js';
2
+ import { A as AdPlugin, c as VastAd } from '../types-COeag8fU.js';
3
+ import { A as AdUIStateRef, U as UIComponent, a as UIComponentName, b as UiPluginOptions } from '../types-SuT99_Z3.js';
4
+ export { c as AdUIState } from '../types-SuT99_Z3.js';
37
5
 
38
6
  declare function createAdCountdown(adState: AdUIStateRef): UIComponent;
39
7
 
40
8
  declare function createAdLabel(): UIComponent;
41
9
 
10
+ declare function createAdLearnMore(adState: AdUIStateRef): UIComponent;
11
+
42
12
  declare function createAdOverlay(adState: AdUIStateRef): UIComponent;
43
13
 
44
14
  declare function createAdSkip(adState: AdUIStateRef): UIComponent;
@@ -99,4 +69,4 @@ interface UiPlugin extends Plugin {
99
69
  /** Create the UI convenience plugin. Mounts all components (minus excluded). */
100
70
  declare function ui(options: UiPluginOptions): UiPlugin;
101
71
 
102
- export { type AdUIState, type AdUIStateRef, type UIComponent, type UIComponentName, type UiPlugin, type UiPluginOptions, connectStateClasses, createAdCountdown, createAdLabel, createAdOverlay, createAdSkip, createAdUIState, createAutohide, createBigPlay, createClickPlay, createErrorDisplay, createFullscreen, createKeyboard, createLoader, createPlayButton, createPoster, createProgress, createTimeDisplay, createVolume, formatTime, isAdState, stateToClass, ui, uiAdPlugin };
72
+ export { AdUIStateRef, UIComponent, UIComponentName, type UiPlugin, UiPluginOptions, connectStateClasses, createAdCountdown, createAdLabel, createAdLearnMore, createAdOverlay, createAdSkip, createAdUIState, createAutohide, createBigPlay, createClickPlay, createErrorDisplay, createFullscreen, createKeyboard, createLoader, createPlayButton, createPoster, createProgress, createTimeDisplay, createVolume, formatTime, isAdState, stateToClass, ui, uiAdPlugin };
@@ -0,0 +1 @@
1
+ export{d as connectStateClasses,g as createAdCountdown,h as createAdLabel,i as createAdLearnMore,j as createAdOverlay,k as createAdSkip,f as createAdUIState,l as createAutohide,m as createBigPlay,n as createClickPlay,o as createErrorDisplay,p as createFullscreen,q as createKeyboard,r as createLoader,s as createPlayButton,t as createPoster,u as createProgress,v as createTimeDisplay,w as createVolume,e as formatTime,c as isAdState,b as stateToClass,x as ui,a as uiAdPlugin}from'../chunk-LPSJOF2I.mjs';
package/dist/ui/index.mjs CHANGED
@@ -1,2 +1 @@
1
- function P(e){return {name:"ui-ad",setup(n,t){let r=t.creatives.find(o=>o.linear)?.linear;if(r)return e.set({adId:t.id,skipOffset:r.skipOffset,clickThrough:r.clickThrough,duration:r.duration}),()=>{e.clear();}}}}function b(e){return `vide-ui--${e.replace(":","-")}`}function f(e){return e==="ad:loading"||e==="ad:playing"||e==="ad:paused"}function A(e,n){e.classList.add(b(n.state));function t({from:r,to:o}){e.classList.remove(b(r)),e.classList.add(b(o));}return n.on("statechange",t),()=>n.off("statechange",t)}function C(e){if(!Number.isFinite(e)||e<0)return "0:00";let n=Math.floor(e),t=Math.floor(n/3600),r=Math.floor(n%3600/60),o=n%60,i=t>0?String(r).padStart(2,"0"):String(r),l=String(o).padStart(2,"0");return t>0?`${t}:${i}:${l}`:`${i}:${l}`}function u(e,n){let t=document.createElement(e);return t.className=n,t}function S(){let e={current:null,set(n){e.current=n;},clear(){e.current=null;}};return e}function M(e){let n=null,t=null;function r(){if(!n||!t||!f(t.state))return;let o=e.current?.duration??(Number.isFinite(t.el.duration)?t.el.duration:0),i=t.el.currentTime,l=Math.max(0,Math.ceil(o-i));n.textContent=`Ad \xB7 ${l}s`;}return {mount(o){n=u("div","vide-ad-countdown"),o.appendChild(n);},connect(o){t=o,t.on("timeupdate",r);},destroy(){n&&(n.remove(),n=null),t&&(t.off("timeupdate",r),t=null);}}}function T(){let e=null;return {mount(n){e=u("div","vide-ad-label"),e.textContent="Ad",n.appendChild(e);},connect(n){},destroy(){e&&(e.remove(),e=null);}}}function k(e){let n=null,t=null;function r(){if(!t)return;t.el.click();let o=e.current?.clickThrough;o?(window.open(o,"_blank"),t.el.pause()):t.el.paused?Promise.resolve(t.el.play()).catch(()=>{}):t.el.pause();}return {mount(o){n=u("div","vide-ad-overlay"),o.appendChild(n);},connect(o){t=o,n&&n.addEventListener("click",r);},destroy(){n&&(n.removeEventListener("click",r),n.remove(),n=null),t=null;}}}var x="http://www.w3.org/2000/svg";function y(e,n="0 0 24 24"){let t=document.createElementNS(x,"svg");t.setAttribute("viewBox",n),t.setAttribute("width","24"),t.setAttribute("height","24"),t.setAttribute("fill","currentColor"),t.setAttribute("aria-hidden","true");for(let r of e){let o=document.createElementNS(x,"path");o.setAttribute("d",r),t.appendChild(o);}return t}function L(){return y(["M8 5v14l11-7z"])}function I(){return y(["M6 19h4V5H6v14zm8-14v14h4V5h-4z"])}function U(){return y(["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"])}function H(){return y(["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"])}function V(){return y(["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"])}function w(){return y(["M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"])}function j(){return y(["M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z"])}function F(){return y(["M5 18l10-6L5 6v12zm12-12v12h2V6h-2z"])}function _(e){let n=null,t=null,r=null;function o(){!r||!e.current||n?.classList.contains("vide-skip--disabled")||r.emit("ad:skip",{adId:e.current.adId});}function i(){if(!n||!t||!r||!f(r.state))return;if(!e.current||e.current.skipOffset===void 0){n.style.display="none";return}n.style.display="";let{skipOffset:a}=e.current,m=r.el.currentTime;if(m>=a)n.classList.remove("vide-skip--disabled"),t.textContent="Skip Ad";else {n.classList.add("vide-skip--disabled");let d=Math.max(0,Math.ceil(a-m));t.textContent=`Skip in ${d}s`;}}function l({to:a}){!n||!t||f(a)||(n.style.display="none",n.classList.add("vide-skip--disabled"),t.textContent="");}return {mount(a){n=u("button","vide-skip vide-skip--disabled"),n.type="button",n.setAttribute("aria-label","Skip ad"),n.style.display="none",t=u("span","vide-skip__label"),n.appendChild(t),n.appendChild(F()),a.appendChild(n);},connect(a){r=a,n&&(n.addEventListener("click",o),r.on("timeupdate",i),r.on("statechange",l));},destroy(){n&&(n.removeEventListener("click",o),n.remove(),n=null,t=null),r&&(r.off("timeupdate",i),r.off("statechange",l),r=null);}}}var J=3e3;function D(){let e=null,n=null,t=null;function r(){if(!n)return true;let d=n.state;return d==="paused"||d==="ended"||d==="idle"||d==="ready"||f(d)}function o(){e&&e.classList.remove("vide-ui--autohide");}function i(){l(),!r()&&(t=setTimeout(()=>{e&&e.classList.add("vide-ui--autohide");},J));}function l(){t!==null&&(clearTimeout(t),t=null);}function a(){o(),i();}function m({to:d}){d==="paused"||d==="ended"||d==="idle"||d==="ready"||f(d)?(l(),o()):i();}return {mount(d){e=d.closest(".vide-ui")??d;},connect(d){n=d,e&&(e.addEventListener("mousemove",a),e.addEventListener("touchstart",a),e.addEventListener("keydown",a),n.on("statechange",m),i());},destroy(){l(),e&&(e.removeEventListener("mousemove",a),e.removeEventListener("touchstart",a),e.removeEventListener("keydown",a),e.classList.remove("vide-ui--autohide"),e=null),n&&(n.off("statechange",m),n=null);}}}function G(){let e=null,n=null;function t(){if(n){if(n.state==="ended"){let o=function({to:i}){i==="ready"&&(n?.off("statechange",o),n?.play().catch(()=>{}));};n.on("statechange",o),n.el.currentTime=0,n.el.load();return}n.play().catch(()=>{});}}return {mount(r){e=u("button","vide-bigplay"),e.type="button",e.setAttribute("aria-label","Play video"),e.appendChild(L()),r.appendChild(e);},connect(r){n=r,e&&e.addEventListener("click",t);},destroy(){e&&(e.removeEventListener("click",t),e.remove(),e=null),n=null;}}}var Q=200;function N(e){let n=null,t=null,r=null,o=null;function i(){t&&(t.state==="playing"||t.state==="ad:playing"?t.pause():t.play().catch(()=>{}));}function l(){!o||e.has("fullscreen")||(document.fullscreenElement!=null?document.exitFullscreen().catch(()=>{}):o.requestFullscreen&&o.requestFullscreen().catch(()=>{}));}function a(){if(t){if(f(t.state)){t.el.click(),i();return}if(r!==null){clearTimeout(r),r=null,l();return}r=setTimeout(()=>{r=null,i();},Q);}}return {mount(m){n=u("div","vide-clickplay"),o=m.closest(".vide-ui")?.parentElement??m,m.appendChild(n);},connect(m){t=m,n&&n.addEventListener("click",a);},destroy(){r!==null&&(clearTimeout(r),r=null),n&&(n.removeEventListener("click",a),n.remove(),n=null),t=null,o=null;}}}function z(){let e=null,n=null,t=null;function r({message:o}){n&&(n.textContent=o);}return {mount(o){e=u("div","vide-error"),n=u("span","vide-error__message"),e.appendChild(n),o.appendChild(e);},connect(o){t=o,t.on("error",r);},destroy(){e&&(e.remove(),e=null,n=null),t&&(t.off("error",r),t=null);}}}function R(){let e=null,n=null,t=null;function r(){return document.fullscreenElement!=null||document.webkitFullscreenElement!=null}function o(a){e&&(t&&t.remove(),t=a?j():w(),e.appendChild(t));}function i(){n&&(r()?typeof document.exitFullscreen=="function"?document.exitFullscreen().catch(()=>{}):typeof document.webkitExitFullscreen=="function"&&document.webkitExitFullscreen():typeof n.requestFullscreen=="function"?n.requestFullscreen().catch(()=>{}):typeof n.webkitRequestFullscreen=="function"?n.webkitRequestFullscreen():n.querySelector("video")?.webkitEnterFullscreen?.());}function l(){if(!e)return;let a=r();a?(e.classList.add("vide-fullscreen--active"),e.setAttribute("aria-label","Exit fullscreen")):(e.classList.remove("vide-fullscreen--active"),e.setAttribute("aria-label","Fullscreen")),o(a);}return {mount(a){n=a.closest(".vide-ui")?.parentElement??a,e=u("button","vide-fullscreen"),e.type="button",e.setAttribute("aria-label","Fullscreen"),o(false),a.appendChild(e);},connect(){e&&(e.addEventListener("click",i),document.addEventListener("fullscreenchange",l),document.addEventListener("webkitfullscreenchange",l));},destroy(){e&&(e.removeEventListener("click",i),e.remove(),e=null,t=null),document.removeEventListener("fullscreenchange",l),document.removeEventListener("webkitfullscreenchange",l),n=null;}}}function B(e){let n=null,t=null,{excluded:r}=e;function o(i){if(!t)return;let l=!r.has("volume"),a=!r.has("progress"),m=!r.has("fullscreen"),d=f(t.state);switch(i.key){case " ":case "k":case "K":i.preventDefault(),t.state==="playing"||t.state==="ad:playing"?t.pause():t.play().catch(()=>{});break;case "ArrowLeft":if(!a||d)return;i.preventDefault(),t.currentTime=Math.max(0,t.el.currentTime-5);break;case "ArrowRight":if(!a||d)return;i.preventDefault(),t.currentTime=Math.min(t.el.duration||0,t.el.currentTime+5);break;case "ArrowUp":if(!l)return;i.preventDefault(),t.volume=Math.min(1,t.volume+.1),t.muted&&(t.muted=false);break;case "ArrowDown":if(!l)return;i.preventDefault(),t.volume=Math.max(0,t.volume-.1);break;case "m":case "M":if(!l)return;i.preventDefault(),t.muted=!t.muted;break;case "f":case "F":if(!m)return;if(i.preventDefault(),document.fullscreenElement!=null)document.exitFullscreen().catch(()=>{});else {let p=n?.closest(".vide-ui")?.parentElement??n;p?.requestFullscreen&&p.requestFullscreen().catch(()=>{});}break;default:if(i.key.length===1&&i.key>="0"&&i.key<="9"&&a&&!d){i.preventDefault();let p=Number.parseInt(i.key,10)/10,v=t.el.duration;Number.isFinite(v)&&v>0&&(t.currentTime=p*v);}break}}return {mount(i){n=i.closest(".vide-ui")??i,n.setAttribute("tabindex","0");},connect(i){t=i,n&&n.addEventListener("keydown",o);},destroy(){n&&(n.removeEventListener("keydown",o),n.removeAttribute("tabindex"),n=null),t=null;}}}function K(){let e=null;return {mount(n){e=u("div","vide-loader");let t=u("div","vide-loader__spinner");e.appendChild(t),n.appendChild(e);},connect(n){},destroy(){e&&(e.remove(),e=null);}}}function O(){let e=null,n=null,t=null;function r(l){e&&(t&&t.remove(),t=l?I():L(),e.appendChild(t));}function o(){n&&(n.state==="playing"?n.pause():n.play().catch(()=>{}));}function i({to:l}){e&&(l==="playing"||l==="ad:playing"?(e.classList.add("vide-play--playing"),e.classList.remove("vide-play--paused"),e.setAttribute("aria-label","Pause"),r(true)):(l==="paused"||l==="ready"||l==="ended"||l==="ad:paused")&&(e.classList.remove("vide-play--playing"),e.classList.add("vide-play--paused"),e.setAttribute("aria-label","Play"),r(false)));}return {mount(l){e=u("button","vide-play vide-play--paused"),e.type="button",e.setAttribute("aria-label","Play"),r(false),l.appendChild(e);},connect(l){n=l,e&&(e.addEventListener("click",o),n.on("statechange",i));},destroy(){e&&(e.removeEventListener("click",o),e.remove(),e=null,t=null),n&&(n.off("statechange",i),n=null);}}}function q(e){let n=null;return {mount(t){n=u("div","vide-poster");let r=u("img","vide-poster__image");r.src=e.src,r.alt="",n.appendChild(r),t.appendChild(n);},connect(t){},destroy(){n&&(n.remove(),n=null);}}}function $(){let e=null,n=null,t=null,r=null,o=null,i=false;function l(s){if(!e)return 0;let c=e.getBoundingClientRect();return c.width===0?0:Math.max(0,Math.min(1,(s.clientX-c.left)/c.width))}function a(s){e&&e.style.setProperty("--vide-progress",String(s));}function m(){if(!o||!t)return;let s=o.el;if(s.buffered.length>0&&s.duration>0){let g=s.buffered.end(s.buffered.length-1)/s.duration;t.style.setProperty("--vide-progress-buffered",String(Math.min(1,g)));}}function d(){if(i||!o)return;let{currentTime:s,duration:c}=o.el;c>0&&a(s/c),m(),e&&(e.setAttribute("aria-valuenow",String(Math.floor(s))),Number.isFinite(c)&&e.setAttribute("aria-valuemax",String(Math.floor(c))));}function p(s){!o||!e||f(o.state)||(i=true,e.classList.add("vide-progress--dragging"),e.setPointerCapture(s.pointerId),a(l(s)));}function v(s){i&&a(l(s));}function h(s){if(!i||!o)return;i=false,e&&(e.classList.remove("vide-progress--dragging"),e.releasePointerCapture(s.pointerId));let c=l(s),g=o.el.duration;Number.isFinite(g)&&g>0&&(o.currentTime=c*g);}function E({to:s}){e&&(f(s)?e.classList.add("vide-progress--disabled"):e.classList.remove("vide-progress--disabled"));}return {mount(s){e=u("div","vide-progress"),e.setAttribute("role","slider"),e.setAttribute("aria-label","Seek"),e.setAttribute("aria-valuemin","0"),e.setAttribute("aria-valuemax","0"),e.setAttribute("aria-valuenow","0"),t=u("div","vide-progress__buffered"),n=u("div","vide-progress__bar"),r=u("div","vide-progress__handle"),e.appendChild(t),e.appendChild(n),e.appendChild(r),s.appendChild(e);},connect(s){o=s,e&&(o.on("timeupdate",d),o.on("statechange",E),e.addEventListener("pointerdown",p),e.addEventListener("pointermove",v),e.addEventListener("pointerup",h));},destroy(){e&&(e.removeEventListener("pointerdown",p),e.removeEventListener("pointermove",v),e.removeEventListener("pointerup",h),e.remove(),e=null,n=null,t=null,r=null),o&&(o.off("timeupdate",d),o.off("statechange",E),o=null);}}}function X(){let e=null,n=null,t=null,r=null;function o({currentTime:i,duration:l}){n&&(n.textContent=C(i)),t&&(t.textContent=C(l));}return {mount(i){e=u("div","vide-time"),n=u("span","vide-time__current");let l=u("span","vide-time__separator");t=u("span","vide-time__duration"),n.textContent="0:00",l.textContent="/",t.textContent="0:00",e.appendChild(n),e.appendChild(l),e.appendChild(t),i.appendChild(e);},connect(i){r=i,r.on("timeupdate",o);},destroy(){e&&(e.remove(),e=null,n=null,t=null),r&&(r.off("timeupdate",o),r=null);}}}function Y(){let e=null,n=null,t=null,r=null,o=false,i=null;function l(){if(!n||!r)return;i&&i.remove(),r.muted||r.volume===0?i=V():r.volume<.5?i=H():i=U(),n.appendChild(i);}function a(){if(!r||!e||!n)return;r.muted||r.volume===0?(e.classList.add("vide-volume--muted"),n.setAttribute("aria-label","Unmute")):(e.classList.remove("vide-volume--muted"),n.setAttribute("aria-label","Mute"));let c=r.muted?0:r.volume;e.style.setProperty("--vide-volume",String(c)),t&&t.setAttribute("aria-valuenow",String(Math.round(c*100))),l();}function m(s){if(!t)return 0;let c=t.getBoundingClientRect();return c.width===0?0:Math.max(0,Math.min(1,(s.clientX-c.left)/c.width))}function d(){r&&(r.muted=!r.muted);}function p(){o||a();}function v(s){if(!r||!t)return;o=true,t.setPointerCapture(s.pointerId);let c=m(s);r.volume=c,r.muted&&c>0&&(r.muted=false),a();}function h(s){if(!o||!r)return;let c=m(s);r.volume=c,r.muted&&c>0&&(r.muted=false),a();}function E(s){!o||!t||(o=false,t.releasePointerCapture(s.pointerId));}return {mount(s){e=u("div","vide-volume"),n=u("button","vide-volume__button"),n.type="button",n.setAttribute("aria-label","Mute"),t=u("div","vide-volume__slider"),t.setAttribute("role","slider"),t.setAttribute("aria-label","Volume"),t.setAttribute("aria-valuemin","0"),t.setAttribute("aria-valuemax","100"),t.setAttribute("aria-valuenow","100");let c=u("div","vide-volume__track"),g=u("div","vide-volume__filled");t.appendChild(c),t.appendChild(g),e.appendChild(n),e.appendChild(t),s.appendChild(e);},connect(s){r=s,!(!n||!t)&&(n.addEventListener("click",d),t.addEventListener("pointerdown",v),t.addEventListener("pointermove",h),t.addEventListener("pointerup",E),r.el.addEventListener("volumechange",p),a());},destroy(){n&&n.removeEventListener("click",d),t&&(t.removeEventListener("pointerdown",v),t.removeEventListener("pointermove",h),t.removeEventListener("pointerup",E)),r&&(r.el.removeEventListener("volumechange",p),r=null),e&&(e.remove(),e=null,n=null,t=null,i=null);}}}function W(e,n,t){e.mount(n),e.connect(t);}function st(e){let n=S(),t=new Set(e.exclude);return {name:"ui",setup(r){r.isAudio&&(t.add("fullscreen"),t.add("poster"));let o=document.createElement("div");o.className="vide-ui",o.setAttribute("role","region"),o.setAttribute("aria-label",r.isAudio?"Audio player":"Video player"),e.container.appendChild(o);let i=[];function l(p,v,h){t.has(p)||(W(v,h,r),i.push(v));}if(l("loader",K(),o),l("error",z(),o),l("bigplay",G(),o),e.poster&&l("poster",q({src:e.poster}),o),l("clickplay",N(t),o),!t.has("ad-overlay")||!t.has("ad-label")||!t.has("ad-countdown")||!t.has("ad-skip")){let p=document.createElement("div");p.className="vide-ad",o.appendChild(p),l("ad-overlay",k(n),p),l("ad-label",T(),p),l("ad-countdown",M(n),p),l("ad-skip",_(n),p);}let m=document.createElement("div");m.className="vide-controls",m.addEventListener("click",p=>p.stopPropagation()),o.appendChild(m),l("play",O(),m),l("progress",$(),m),l("time",X(),m),l("volume",Y(),m),l("fullscreen",R(),m),l("autohide",D(),o),l("keyboard",B({excluded:t}),o);let d=A(o,r);return ()=>{for(let p of i)p.destroy();d(),o.remove();}},getAdPlugin(){return ()=>[P(n)]}}}
2
- export{A as connectStateClasses,M as createAdCountdown,T as createAdLabel,k as createAdOverlay,_ as createAdSkip,S as createAdUIState,D as createAutohide,G as createBigPlay,N as createClickPlay,z as createErrorDisplay,R as createFullscreen,B as createKeyboard,K as createLoader,O as createPlayButton,q as createPoster,$ as createProgress,X as createTimeDisplay,Y as createVolume,C as formatTime,f as isAdState,b as stateToClass,st as ui,P as uiAdPlugin};
1
+ export{d as connectStateClasses,g as createAdCountdown,h as createAdLabel,i as createAdLearnMore,j as createAdOverlay,k as createAdSkip,f as createAdUIState,l as createAutohide,m as createBigPlay,n as createClickPlay,o as createErrorDisplay,p as createFullscreen,q as createKeyboard,r as createLoader,s as createPlayButton,t as createPoster,u as createProgress,v as createTimeDisplay,w as createVolume,e as formatTime,c as isAdState,b as stateToClass,x as ui,a as uiAdPlugin}from'../chunk-LPSJOF2I.mjs';