@munsonlabs/video-player 0.2.6 → 0.2.8

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 (52) hide show
  1. package/README.md +2 -2
  2. package/dist/chunks/ads-B8PU62NC.mjs +1 -0
  3. package/dist/chunks/brightcove-CPKzsnF0.mjs +1 -0
  4. package/dist/chunks/constants-Buc1xZvW.mjs +1 -0
  5. package/dist/chunks/dailymotion-DHCBjqaZ.mjs +1 -0
  6. package/dist/chunks/embedShared-R2ohosIo.mjs +1 -0
  7. package/dist/chunks/jwplayer-D8oOCmi4.mjs +1 -0
  8. package/dist/chunks/sourceHelpers-BNIZ7kmT.mjs +1 -0
  9. package/dist/chunks/vimeo-DC3q3YWJ.mjs +1 -0
  10. package/dist/chunks/youtube-e1csmnHD.mjs +1 -0
  11. package/dist/elements/chunks/ads-B8PU62NC.mjs +1 -0
  12. package/dist/elements/chunks/brightcove-CPKzsnF0.mjs +1 -0
  13. package/dist/elements/chunks/constants-Buc1xZvW.mjs +1 -0
  14. package/dist/elements/chunks/dailymotion-DHCBjqaZ.mjs +1 -0
  15. package/dist/elements/chunks/embedShared-R2ohosIo.mjs +1 -0
  16. package/dist/elements/chunks/jwplayer-D8oOCmi4.mjs +1 -0
  17. package/dist/elements/chunks/sourceHelpers-BNIZ7kmT.mjs +1 -0
  18. package/dist/elements/chunks/svg-BLBI83Ed-BjsPx0LR.mjs +1 -0
  19. package/dist/elements/chunks/vimeo-DC3q3YWJ.mjs +1 -0
  20. package/dist/elements/chunks/youtube-e1csmnHD.mjs +1 -0
  21. package/dist/elements/controls.css +1 -1
  22. package/dist/elements/controls.d.mts +23 -17
  23. package/dist/elements/controls.mjs +1 -1
  24. package/dist/elements/core.css +1 -1
  25. package/dist/elements/core.d.mts +32 -23
  26. package/dist/elements/core.mjs +1 -1
  27. package/dist/elements/index.d.mts +53 -40
  28. package/dist/elements/index.mjs +1 -1
  29. package/dist/elements/style.css +1 -1
  30. package/dist/index.d.mts +140 -90
  31. package/dist/index.mjs +1 -1
  32. package/dist/style.css +1 -1
  33. package/package.json +4 -4
  34. package/dist/chunks/ads-Dph3guS9.mjs +0 -1
  35. package/dist/chunks/brightcove-DiJF_74z.mjs +0 -1
  36. package/dist/chunks/constants-35ZnLsDv.mjs +0 -1
  37. package/dist/chunks/dailymotion-DTooszoV.mjs +0 -1
  38. package/dist/chunks/embedShared-CbArTtuR.mjs +0 -1
  39. package/dist/chunks/jwplayer-Dhq65VxK.mjs +0 -1
  40. package/dist/chunks/sourceHelpers-B0tH-grj.mjs +0 -1
  41. package/dist/chunks/vimeo-D0GAjId0.mjs +0 -1
  42. package/dist/chunks/youtube-B8AT2F-4.mjs +0 -1
  43. package/dist/elements/chunks/ads-Dph3guS9.mjs +0 -1
  44. package/dist/elements/chunks/brightcove-DiJF_74z.mjs +0 -1
  45. package/dist/elements/chunks/constants-35ZnLsDv.mjs +0 -1
  46. package/dist/elements/chunks/dailymotion-DTooszoV.mjs +0 -1
  47. package/dist/elements/chunks/embedShared-CbArTtuR.mjs +0 -1
  48. package/dist/elements/chunks/jwplayer-Dhq65VxK.mjs +0 -1
  49. package/dist/elements/chunks/sourceHelpers-B0tH-grj.mjs +0 -1
  50. package/dist/elements/chunks/svg-C5y9tsRK-D3IfNKbR.mjs +0 -1
  51. package/dist/elements/chunks/vimeo-D0GAjId0.mjs +0 -1
  52. package/dist/elements/chunks/youtube-B8AT2F-4.mjs +0 -1
@@ -1,5 +1,5 @@
1
1
  import { Ref, UnwrapNestedRefs } from "vue";
2
- //#region src/composables/player/emitter.d.ts
2
+ //#region src/adapters/emitter.d.ts
3
3
  type PlaybackListener = (...args: unknown[]) => void;
4
4
  //#endregion
5
5
  //#region src/types/playback.d.ts
@@ -18,6 +18,23 @@ interface QualityLevelInfo {
18
18
  bitrate: number;
19
19
  label: string;
20
20
  }
21
+ interface AdapterCaptions {
22
+ tracks(): CaptionTrackInfo[];
23
+ active(): number | null;
24
+ select(index: number | null): void;
25
+ }
26
+ interface AdapterQuality {
27
+ levels(): QualityLevelInfo[];
28
+ current(): number | null;
29
+ isAuto(): boolean;
30
+ select(index: number | null): void;
31
+ }
32
+ interface AdapterPip {
33
+ isSupported(): boolean;
34
+ isActive(): boolean;
35
+ toggle(): void;
36
+ }
37
+ type PlaybackEvent = 'play' | 'pause' | 'playing' | 'ended' | 'error' | 'timeupdate' | 'durationchange' | 'progress' | 'volumechange' | 'ratechange' | 'seeked' | 'waiting' | 'canplay' | 'qualitychange' | 'captionschange' | 'pipchange' | 'adstart' | 'adend' | 'nativefullscreenenter' | 'nativefullscreenexit' | 'fullscreen-pending' | 'fullscreen-pending-done';
21
38
  interface PlaybackAdapter {
22
39
  readonly el: HTMLElement;
23
40
  play(): Promise<void>;
@@ -34,24 +51,17 @@ interface PlaybackAdapter {
34
51
  setPlaybackRate(rate: number): void;
35
52
  bufferedEnd(): number;
36
53
  error(): MediaErrorLike | null;
37
- setSrc(src: string, type?: string): void;
54
+ load(src: string, type?: string): void;
55
+ retry(): void;
38
56
  supportsPlaybackRate(): boolean;
39
- supportsCaptions(): boolean;
40
- getCaptionTracks(): CaptionTrackInfo[];
41
- setCaptionTrack(index: number | null): void;
42
- getActiveCaptionTrack(): number | null;
43
- supportsQuality(): boolean;
44
- getQualityLevels(): QualityLevelInfo[];
45
- getCurrentQuality(): number | null;
46
- isAutoQuality(): boolean;
47
- setQuality(index: number | null): void;
48
- supportsPip(): boolean;
49
- isPipActive(): boolean;
50
- togglePip(): void;
57
+ captions?: AdapterCaptions;
58
+ quality?: AdapterQuality;
59
+ pip?: AdapterPip;
60
+ reveal?(videoEl: HTMLVideoElement): void;
51
61
  enterFullscreen(): void;
52
62
  exitFullscreen(): void;
53
- on(event: string, listener: PlaybackListener): void;
54
- off(event: string, listener: PlaybackListener): void;
63
+ on(event: PlaybackEvent, listener: PlaybackListener): void;
64
+ off(event: PlaybackEvent, listener: PlaybackListener): void;
55
65
  dispose(): void;
56
66
  }
57
67
  interface ResolvedSource {
@@ -83,7 +93,7 @@ type PlatformConfig = Pick<Matcher, 'key' | 'test'> & ({
83
93
  resolveSource?: SourceResolver;
84
94
  });
85
95
  //#endregion
86
- //#region src/composables/player/playerState.d.ts
96
+ //#region src/ui/player/playerState.d.ts
87
97
  declare function createPlayerState(props: PlayerProps): {
88
98
  isPlaying: import("vue").Ref<boolean, boolean>;
89
99
  hasEnded: import("vue").Ref<boolean, boolean>;
@@ -93,12 +103,12 @@ declare function createPlayerState(props: PlayerProps): {
93
103
  hasStarted: import("vue").Ref<boolean, boolean>;
94
104
  isError: import("vue").Ref<boolean, boolean>;
95
105
  errorMessage: import("vue").Ref<string, string>;
96
- current: import("vue").Ref<number, number>;
97
- total: import("vue").Ref<number, number>;
106
+ currentTime: import("vue").Ref<number, number>;
107
+ duration: import("vue").Ref<number, number>;
98
108
  buffered: import("vue").Ref<number, number>;
99
109
  progress: import("vue").ComputedRef<number>;
100
110
  bufferedDisplay: import("vue").ComputedRef<number>;
101
- vol: import("vue").Ref<number, number>;
111
+ currentVolume: import("vue").Ref<number, number>;
102
112
  isMuted: import("vue").Ref<boolean, boolean>;
103
113
  isAudible: import("vue").ComputedRef<boolean>;
104
114
  isLooping: import("vue").Ref<boolean, boolean>;
@@ -131,7 +141,7 @@ declare function createPlayerState(props: PlayerProps): {
131
141
  bitrate: number;
132
142
  label: string;
133
143
  }[]>;
134
- currentQualityIndex: import("vue").Ref<number | null, number | null>;
144
+ currentQualityHeight: import("vue").Ref<number | null, number | null>;
135
145
  isAutoQuality: import("vue").Ref<boolean, boolean>;
136
146
  supportsPip: import("vue").Ref<boolean, boolean>;
137
147
  isPipActive: import("vue").Ref<boolean, boolean>;
@@ -139,25 +149,27 @@ declare function createPlayerState(props: PlayerProps): {
139
149
  };
140
150
  type PlayerState = ReturnType<typeof createPlayerState>;
141
151
  //#endregion
142
- //#region src/composables/player/usePlayerControls.d.ts
143
- interface UsePlayerControlsReturn {
152
+ //#region src/ui/player/createPlayerControls.d.ts
153
+ interface PlayerControls {
144
154
  play: () => Promise<void>;
145
155
  pause: () => void;
146
156
  replay: () => Promise<void>;
147
157
  togglePlay: () => void;
148
- seek: (percent: number) => void;
149
- seekTo: (seconds: number) => void;
158
+ seek: (seconds: number) => void;
150
159
  toggleMute: () => void;
151
160
  setVolume: (vol: number) => void;
152
161
  toggleLoop: () => void;
153
162
  setPlaybackRate: (rate: number) => void;
154
163
  setCaptionTrack: (index: number | null) => void;
155
- setQuality: (index: number | null) => void;
164
+ setQuality: (height: number | null) => void;
165
+ applyQuality: (height: number | null, options?: {
166
+ remember?: boolean;
167
+ }) => void;
156
168
  togglePip: () => void;
157
169
  }
158
170
  //#endregion
159
- //#region src/composables/player/usePlayer.d.ts
160
- type UsePlayerReturn = PlayerState & UsePlayerControlsReturn & {
171
+ //#region src/ui/player/usePlayer.d.ts
172
+ type UsePlayerReturn = PlayerState & PlayerControls & {
161
173
  fire: (type: StateChangeType, extras?: Partial<StateChangeEvent>) => void;
162
174
  retry: () => void;
163
175
  isBuffering: Ref<boolean>;
@@ -167,9 +179,9 @@ type UsePlayerReturn = PlayerState & UsePlayerControlsReturn & {
167
179
  toggleFullscreen: () => void;
168
180
  };
169
181
  //#endregion
170
- //#region src/composables/player/playerSurface.d.ts
171
- declare const PLAYER_METHOD_KEYS: readonly ["retry", "play", "pause", "replay", "togglePlay", "seek", "seekTo", "toggleMute", "setVolume", "toggleFullscreen", "toggleLoop", "toggleAdMute", "setPlaybackRate", "setCaptionTrack", "setQuality", "togglePip"];
172
- declare const PLAYER_STATE_KEYS: readonly ["isPlaying", "hasEnded", "isReady", "isLoaded", "isAdPlaying", "isAdPaused", "isAdMuted", "adRemainingTime", "isLive", "isBuffering", "current", "total", "vol", "isMuted", "isAudible", "isLooping", "currentPlaybackRate", "hasStarted", "isError", "errorMessage", "progress", "bufferedDisplay", "isFullscreen", "supportsPlaybackRate", "supportsCaptions", "captionTracks", "activeCaptionIndex", "supportsQuality", "qualityLevels", "currentQualityIndex", "isAutoQuality", "supportsPip", "isPipActive", "isNativeUi"];
182
+ //#region src/ui/player/playerSurface.d.ts
183
+ declare const PLAYER_METHOD_KEYS: readonly ["retry", "play", "pause", "replay", "togglePlay", "seek", "toggleMute", "setVolume", "toggleFullscreen", "toggleLoop", "toggleAdMute", "setPlaybackRate", "setCaptionTrack", "setQuality", "togglePip"];
184
+ declare const PLAYER_STATE_KEYS: readonly ["isPlaying", "hasEnded", "isReady", "isLoaded", "isAdPlaying", "isAdPaused", "isAdMuted", "adRemainingTime", "isLive", "isBuffering", "currentTime", "duration", "currentVolume", "isMuted", "isAudible", "isLooping", "currentPlaybackRate", "hasStarted", "isError", "errorMessage", "progress", "bufferedDisplay", "isFullscreen", "supportsPlaybackRate", "supportsCaptions", "captionTracks", "activeCaptionIndex", "supportsQuality", "qualityLevels", "currentQualityHeight", "isAutoQuality", "supportsPip", "isPipActive", "isNativeUi"];
173
185
  type PlayerMethodKey = (typeof PLAYER_METHOD_KEYS)[number];
174
186
  type PlayerStateKey = (typeof PLAYER_STATE_KEYS)[number];
175
187
  //#endregion
@@ -194,7 +206,7 @@ interface StateChangeEvent {
194
206
  isMuted?: boolean;
195
207
  playbackRate?: number;
196
208
  captionIndex?: number | null;
197
- qualityIndex?: number | null;
209
+ qualityHeight?: number | null;
198
210
  isPipActive?: boolean;
199
211
  isLooping?: boolean;
200
212
  element?: HTMLElement | null;
@@ -231,10 +243,12 @@ interface PlayerProps {
231
243
  adMacroParams?: Record<string, string>;
232
244
  headerBidding?: HeaderBiddingConfig;
233
245
  tracks?: CaptionTrackDef[];
246
+ captionLine?: number;
234
247
  autoplay?: boolean;
235
248
  muted?: boolean;
236
249
  volume?: number;
237
250
  playbackRate?: number;
251
+ quality?: number | null;
238
252
  nativeUi?: boolean;
239
253
  payload?: Record<string, unknown> | string;
240
254
  action?: PlayerAction | null;
@@ -267,17 +281,14 @@ export declare function resolvePlatform(url: string): {
267
281
  export declare function registerPlatform(config: PlatformConfig): void;
268
282
  //#endregion
269
283
  //#region src/elements/core.d.ts
270
- declare const VideoPlayerElement: import("vue").VueElementConstructor<PlayerProps>;
271
- declare const VideoStageElement: import("vue").VueElementConstructor<{
272
- pin?: PinCorner | "full-width";
273
- playlist?: VideoEntry[];
274
- }>;
284
+ declare const VideoPlayerElement: import("vue").VueElementConstructor<unknown>;
285
+ declare const VideoStageElement: import("vue").VueElementConstructor<unknown>;
275
286
  declare const VideoPlaceholderElement: import("vue").VueElementConstructor<VideoEntry>;
276
- declare const VideoCardElement: import("vue").VueElementConstructor<VideoEntry>;
287
+ declare const VideoCardElement: import("vue").VueElementConstructor<unknown>;
277
288
  declare const HideMarkerElement: import("vue").VueElementConstructor<{}>;
278
289
  export declare function defineElements(): void;
279
290
  //#endregion
280
- //#region src/composables/controls/useResolvedPlayer.d.ts
291
+ //#region src/ui/controls/useResolvedPlayer.d.ts
281
292
  interface ResolvedPlayerProps {
282
293
  player?: PlayerHandle | null;
283
294
  for?: string;
@@ -298,6 +309,8 @@ declare const VolumeSliderElement: import("vue").VueElementConstructor<ResolvedP
298
309
  declare const TimeDisplayElement: import("vue").VueElementConstructor<ResolvedPlayerProps>;
299
310
  declare const TranscriptElement: import("vue").VueElementConstructor<ResolvedPlayerProps & {
300
311
  cues?: TranscriptCue[] | string;
312
+ speechPitch?: number;
313
+ speechRate?: number;
301
314
  }>;
302
315
  //#endregion
303
- export { BufferingElement, CaptionsButtonElement, type EmbedAdapterFactory, type EmbedAdapterOptions, FullscreenButtonElement, HideMarkerElement, LoopButtonElement, type Matcher, type MediaErrorLike, MuteButtonElement, PipButtonElement, type PlatformConfig, PlayButtonElement, type PlaybackAdapter, PlaybackRateButtonElement, QualityButtonElement, type ResolvedSource, ScrubberElement, type SourceResolver, TimeDisplayElement, TranscriptElement, VideoCardElement, VideoPlaceholderElement, VideoPlayerElement, VideoStageElement, VolumeSliderElement };
316
+ export { type AdapterCaptions, type AdapterPip, type AdapterQuality, BufferingElement, CaptionsButtonElement, type EmbedAdapterFactory, type EmbedAdapterOptions, FullscreenButtonElement, HideMarkerElement, LoopButtonElement, type Matcher, type MediaErrorLike, MuteButtonElement, PipButtonElement, type PlatformConfig, PlayButtonElement, type PlaybackAdapter, type PlaybackEvent, PlaybackRateButtonElement, QualityButtonElement, type ResolvedSource, ScrubberElement, type SourceResolver, TimeDisplayElement, TranscriptElement, VideoCardElement, VideoPlaceholderElement, VideoPlayerElement, VideoStageElement, VolumeSliderElement };