@hanifhan1f/vidstack 1.12.24 → 1.12.25

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 (98) hide show
  1. package/cdn/chunks/vidstack-BBMfnVvt.js +1 -0
  2. package/cdn/chunks/vidstack-BkxGdzTJ.js +16 -0
  3. package/cdn/chunks/vidstack-Bzk6lVKb.js +1 -0
  4. package/cdn/chunks/vidstack-C0nMUcD9.js +1 -0
  5. package/cdn/chunks/vidstack-C51SKMUl.js +1 -0
  6. package/cdn/chunks/vidstack-CL95Hezv.js +1 -0
  7. package/cdn/chunks/vidstack-CkaxOIJb.js +1 -0
  8. package/cdn/chunks/vidstack-Cu8FqSS9.js +1 -0
  9. package/cdn/chunks/vidstack-DIPX97sJ.js +3 -0
  10. package/cdn/chunks/vidstack-DdAmWWBJ.js +1 -0
  11. package/cdn/chunks/vidstack-DhXI_0ND.js +1 -0
  12. package/cdn/chunks/vidstack-DiXE5sG8.js +1 -0
  13. package/cdn/chunks/vidstack-pFwe7gvT.js +3 -0
  14. package/cdn/providers/vidstack-audio-BAfEe7CJ.js +1 -0
  15. package/cdn/providers/vidstack-dash-CGZUJqdT.js +1 -0
  16. package/cdn/providers/vidstack-google-cast-Drb5Ncs5.js +1 -0
  17. package/cdn/providers/vidstack-hls-CVpa4usG.js +1 -0
  18. package/cdn/providers/vidstack-html-Bag27bH6.js +1 -0
  19. package/cdn/providers/vidstack-video-DXUiSn4B.js +1 -0
  20. package/cdn/providers/vidstack-vimeo-DD6HUOtJ.js +1 -0
  21. package/cdn/providers/vidstack-youtube-BVNE075s.js +1 -0
  22. package/cdn/vidstack.js +1 -1
  23. package/cdn/with-layouts/chunks/vidstack-2Rlth5Cf.js +1 -0
  24. package/cdn/with-layouts/chunks/vidstack-BP3ybDy9.js +912 -0
  25. package/cdn/with-layouts/chunks/vidstack-BaNApRCP.js +1 -0
  26. package/cdn/with-layouts/chunks/vidstack-BlWKO1g1.js +1 -0
  27. package/cdn/with-layouts/chunks/vidstack-BxJPOhv7.js +1 -0
  28. package/cdn/with-layouts/chunks/vidstack-BxdAdQ0H.js +1 -0
  29. package/cdn/with-layouts/chunks/vidstack-CROJF16Z.js +1 -0
  30. package/cdn/with-layouts/chunks/vidstack-CaW6KGwN.js +1 -0
  31. package/cdn/with-layouts/chunks/vidstack-CwzW7rJU.js +1 -0
  32. package/cdn/with-layouts/chunks/vidstack-DJyGEdCH.js +1 -0
  33. package/cdn/with-layouts/chunks/vidstack-DeLOZ-hK.js +3 -0
  34. package/cdn/with-layouts/chunks/vidstack-Dp3Ib32P.js +1 -0
  35. package/cdn/with-layouts/chunks/vidstack-Dy1Hfo7P.js +3 -0
  36. package/cdn/with-layouts/providers/vidstack-audio-cxaZF4jF.js +1 -0
  37. package/cdn/with-layouts/providers/vidstack-dash-DX1VjdTW.js +1 -0
  38. package/cdn/with-layouts/providers/vidstack-google-cast-DYJgNlvD.js +1 -0
  39. package/cdn/with-layouts/providers/vidstack-hls-2d6-2JAG.js +1 -0
  40. package/cdn/with-layouts/providers/vidstack-html-C9nnuK3r.js +1 -0
  41. package/cdn/with-layouts/providers/vidstack-video-EWE67g5i.js +1 -0
  42. package/cdn/with-layouts/providers/vidstack-vimeo-DqFeS0-d.js +1 -0
  43. package/cdn/with-layouts/providers/vidstack-youtube-eivIFfMV.js +1 -0
  44. package/cdn/with-layouts/vidstack.js +1 -1
  45. package/dev/chunks/vidstack-44ILR0Cb.js +1521 -0
  46. package/dev/chunks/vidstack-B4XOm7dP.js +104 -0
  47. package/dev/chunks/vidstack-CEjYxSqZ.js +297 -0
  48. package/dev/chunks/vidstack-CQdFhXSo.js +204 -0
  49. package/dev/chunks/vidstack-DWtK42Sh.js +1483 -0
  50. package/dev/chunks/vidstack-el2dbO0m.js +5181 -0
  51. package/dev/chunks/vidstack-rvhuswgi.js +2986 -0
  52. package/dev/define/plyr-layout.js +2 -2
  53. package/dev/define/templates/vidstack-audio-layout.js +1 -1
  54. package/dev/define/templates/vidstack-video-layout.js +1 -1
  55. package/dev/define/vidstack-player-default-layout.js +1 -1
  56. package/dev/define/vidstack-player-layouts.js +1 -1
  57. package/dev/define/vidstack-player-ui.js +4 -4
  58. package/dev/define/vidstack-player.js +2 -2
  59. package/dev/global/plyr.js +4 -4
  60. package/dev/global/vidstack-player.js +2 -2
  61. package/dev/vidstack-elements.js +7 -7
  62. package/dev/vidstack.js +4 -4
  63. package/package.json +1 -1
  64. package/prod/chunks/vidstack-C-yd_bAJ.js +4771 -0
  65. package/prod/chunks/vidstack-Cs0fH84E.js +1521 -0
  66. package/prod/chunks/vidstack-DDePVDjt.js +2976 -0
  67. package/prod/chunks/vidstack-DXfGRhxZ.js +201 -0
  68. package/prod/chunks/vidstack-DnRxQoqP.js +104 -0
  69. package/prod/chunks/vidstack-Ko2EJadT.js +1483 -0
  70. package/prod/chunks/vidstack-XA3zT5W9.js +297 -0
  71. package/prod/define/plyr-layout.js +2 -2
  72. package/prod/define/templates/vidstack-audio-layout.js +1 -1
  73. package/prod/define/templates/vidstack-video-layout.js +1 -1
  74. package/prod/define/vidstack-player-default-layout.js +1 -1
  75. package/prod/define/vidstack-player-layouts.js +1 -1
  76. package/prod/define/vidstack-player-ui.js +4 -4
  77. package/prod/define/vidstack-player.js +2 -2
  78. package/prod/global/plyr.js +4 -4
  79. package/prod/global/vidstack-player.js +2 -2
  80. package/prod/vidstack-elements.js +7 -7
  81. package/prod/vidstack.js +4 -4
  82. package/server/chunks/vidstack-BosyhF3p.js +207 -0
  83. package/server/chunks/vidstack-C8F1EUBn.js +104 -0
  84. package/server/chunks/vidstack-CWho6PlG.js +141 -0
  85. package/server/chunks/vidstack-DhF59-Up.js +4635 -0
  86. package/server/chunks/vidstack-DoHmOxNm.js +295 -0
  87. package/server/chunks/vidstack-DzWvfg1d.js +1503 -0
  88. package/server/chunks/vidstack-PnFpou7g.js +3035 -0
  89. package/server/chunks/vidstack-gEJMQpTE.js +2001 -0
  90. package/server/define/plyr-layout.js +2 -2
  91. package/server/define/vidstack-player-default-layout.js +1 -1
  92. package/server/define/vidstack-player-layouts.js +1 -1
  93. package/server/define/vidstack-player-ui.js +4 -4
  94. package/server/define/vidstack-player.js +2 -2
  95. package/server/global/plyr.js +4 -4
  96. package/server/global/vidstack-player.js +2 -2
  97. package/server/vidstack-elements.js +8 -8
  98. package/server/vidstack.js +4 -4
@@ -0,0 +1,297 @@
1
+ import { Host, effect, Component, signal, setAttribute, isBoolean, computed, isString, useState } from './vidstack-BNpgCJJ1.js';
2
+ import { Captions, Gesture, MediaAnnouncer, Controls, ControlsGroup, GoogleCastButton, ToggleButton, Tooltip, TooltipTrigger, TooltipContent, ChaptersRadioGroup, AudioGainRadioGroup, RadioGroup, SliderVideo, AudioGainSlider, SpeedSlider, QualitySlider, SliderChapters } from './vidstack-Cs0fH84E.js';
3
+ import { useMediaContext } from './vidstack-tt3O1zL6.js';
4
+ import { watchCueTextChange } from './vidstack-BP49Gz0m.js';
5
+ import { html } from 'lit-html';
6
+ import { requestScopedAnimationFrame, isHTMLElement, cloneTemplateContent, createTemplate, cloneTemplate } from './vidstack-DB9WDRL5.js';
7
+ import { LitElement } from './vidstack-CwTj4H1w.js';
8
+ import { MenuPortal, Slider, sliderState } from './vidstack-DDePVDjt.js';
9
+ import { renderMenuItemsTemplate } from './vidstack-DXfGRhxZ.js';
10
+
11
+ class MediaCaptionsElement extends Host(HTMLElement, Captions) {
12
+ static tagName = "media-captions";
13
+ }
14
+
15
+ class MediaGestureElement extends Host(HTMLElement, Gesture) {
16
+ static tagName = "media-gesture";
17
+ }
18
+
19
+ class MediaAnnouncerElement extends Host(HTMLElement, MediaAnnouncer) {
20
+ static tagName = "media-announcer";
21
+ }
22
+
23
+ class MediaControlsElement extends Host(HTMLElement, Controls) {
24
+ static tagName = "media-controls";
25
+ }
26
+
27
+ class MediaControlsGroupElement extends Host(HTMLElement, ControlsGroup) {
28
+ static tagName = "media-controls-group";
29
+ }
30
+
31
+ class Title extends Component {
32
+ }
33
+ class MediaTitleElement extends Host(HTMLElement, Title) {
34
+ static tagName = "media-title";
35
+ #media;
36
+ onSetup() {
37
+ this.#media = useMediaContext();
38
+ }
39
+ onConnect() {
40
+ effect(this.#watchTitle.bind(this));
41
+ }
42
+ #watchTitle() {
43
+ const { title } = this.#media.$state;
44
+ this.textContent = title();
45
+ }
46
+ }
47
+
48
+ class ChapterTitle extends Component {
49
+ static props = {
50
+ defaultText: ""
51
+ };
52
+ }
53
+ class MediaChapterTitleElement extends Host(HTMLElement, ChapterTitle) {
54
+ static tagName = "media-chapter-title";
55
+ #media;
56
+ #chapterTitle;
57
+ onSetup() {
58
+ this.#media = useMediaContext();
59
+ this.#chapterTitle = signal("");
60
+ }
61
+ onConnect() {
62
+ const tracks = this.#media.textTracks;
63
+ watchCueTextChange(tracks, "chapters", this.#chapterTitle.set);
64
+ effect(this.#watchChapterTitle.bind(this));
65
+ }
66
+ #watchChapterTitle() {
67
+ const { defaultText } = this.$props;
68
+ this.textContent = this.#chapterTitle() || defaultText();
69
+ }
70
+ }
71
+
72
+ class Spinner extends Component {
73
+ static props = {
74
+ size: 96,
75
+ trackWidth: 8,
76
+ fillPercent: 50
77
+ };
78
+ onConnect(el) {
79
+ requestScopedAnimationFrame(() => {
80
+ if (!this.connectScope) return;
81
+ const root = el.querySelector("svg"), track = root.firstElementChild, trackFill = track.nextElementSibling;
82
+ effect(this.#update.bind(this, root, track, trackFill));
83
+ });
84
+ }
85
+ #update(root, track, trackFill) {
86
+ const { size, trackWidth, fillPercent } = this.$props;
87
+ setAttribute(root, "width", size());
88
+ setAttribute(root, "height", size());
89
+ setAttribute(track, "stroke-width", trackWidth());
90
+ setAttribute(trackFill, "stroke-width", trackWidth());
91
+ setAttribute(trackFill, "stroke-dashoffset", 100 - fillPercent());
92
+ }
93
+ }
94
+ class MediaSpinnerElement extends Host(LitElement, Spinner) {
95
+ static tagName = "media-spinner";
96
+ render() {
97
+ return html`
98
+ <svg fill="none" viewBox="0 0 120 120" aria-hidden="true" data-part="root">
99
+ <circle cx="60" cy="60" r="54" stroke="currentColor" data-part="track"></circle>
100
+ <circle
101
+ cx="60"
102
+ cy="60"
103
+ r="54"
104
+ stroke="currentColor"
105
+ pathLength="100"
106
+ stroke-dasharray="100"
107
+ data-part="track-fill"
108
+ ></circle>
109
+ </svg>
110
+ `;
111
+ }
112
+ }
113
+
114
+ class MediaLayout extends Component {
115
+ static props = {
116
+ when: false
117
+ };
118
+ }
119
+ class MediaLayoutElement extends Host(HTMLElement, MediaLayout) {
120
+ static tagName = "media-layout";
121
+ #media;
122
+ onSetup() {
123
+ this.#media = useMediaContext();
124
+ }
125
+ onConnect() {
126
+ effect(this.#watchWhen.bind(this));
127
+ }
128
+ #watchWhen() {
129
+ const root = this.firstElementChild, isTemplate = root?.localName === "template", when = this.$props.when(), matches = isBoolean(when) ? when : computed(() => when(this.#media.player.state))();
130
+ if (!matches) {
131
+ if (isTemplate) {
132
+ this.textContent = "";
133
+ this.appendChild(root);
134
+ } else if (isHTMLElement(root)) {
135
+ root.style.display = "none";
136
+ }
137
+ return;
138
+ }
139
+ if (isTemplate) {
140
+ this.append(root.content.cloneNode(true));
141
+ } else if (isHTMLElement(root)) {
142
+ root.style.display = "";
143
+ }
144
+ }
145
+ }
146
+
147
+ class MediaGoogleCastButtonElement extends Host(HTMLElement, GoogleCastButton) {
148
+ static tagName = "media-google-cast-button";
149
+ }
150
+
151
+ class MediaToggleButtonElement extends Host(HTMLElement, ToggleButton) {
152
+ static tagName = "media-toggle-button";
153
+ }
154
+
155
+ class MediaTooltipElement extends Host(HTMLElement, Tooltip) {
156
+ static tagName = "media-tooltip";
157
+ }
158
+
159
+ class MediaTooltipTriggerElement extends Host(HTMLElement, TooltipTrigger) {
160
+ static tagName = "media-tooltip-trigger";
161
+ onConnect() {
162
+ this.style.display = "contents";
163
+ }
164
+ }
165
+
166
+ class MediaTooltipContentElement extends Host(HTMLElement, TooltipContent) {
167
+ static tagName = "media-tooltip-content";
168
+ }
169
+
170
+ class MediaMenuPortalElement extends Host(HTMLElement, MenuPortal) {
171
+ static tagName = "media-menu-portal";
172
+ static attrs = {
173
+ disabled: {
174
+ converter(value) {
175
+ if (isString(value)) return value;
176
+ return value !== null;
177
+ }
178
+ }
179
+ };
180
+ }
181
+
182
+ class MediaChaptersRadioGroupElement extends Host(HTMLElement, ChaptersRadioGroup) {
183
+ static tagName = "media-chapters-radio-group";
184
+ onConnect() {
185
+ renderMenuItemsTemplate(this, (el, option) => {
186
+ const { cue, startTime, duration } = option, thumbnailEl = el.querySelector(".vds-thumbnail,media-thumbnail"), startEl = el.querySelector('[data-part="start-time"]'), durationEl = el.querySelector('[data-part="duration"]');
187
+ if (startEl) startEl.textContent = startTime;
188
+ if (durationEl) durationEl.textContent = duration;
189
+ if (thumbnailEl) {
190
+ thumbnailEl.setAttribute("time", cue.startTime + "");
191
+ effect(() => {
192
+ const thumbnails = this.$props.thumbnails();
193
+ if ("src" in thumbnailEl) {
194
+ thumbnailEl.src = thumbnails;
195
+ } else if (isString(thumbnails)) {
196
+ thumbnailEl.setAttribute("src", thumbnails);
197
+ }
198
+ });
199
+ }
200
+ });
201
+ }
202
+ }
203
+
204
+ class MediaAudioGainRadioGroupElement extends Host(HTMLElement, AudioGainRadioGroup) {
205
+ static tagName = "media-audio-gain-radio-group";
206
+ onConnect() {
207
+ renderMenuItemsTemplate(this);
208
+ }
209
+ }
210
+
211
+ class MediaRadioGroupElement extends Host(HTMLElement, RadioGroup) {
212
+ static tagName = "media-radio-group";
213
+ }
214
+
215
+ class MediaSliderElement extends Host(HTMLElement, Slider) {
216
+ static tagName = "media-slider";
217
+ }
218
+
219
+ const videoTemplate = /* @__PURE__ */ createTemplate(
220
+ `<video muted playsinline preload="none" style="max-width: unset;"></video>`
221
+ );
222
+ class MediaSliderVideoElement extends Host(HTMLElement, SliderVideo) {
223
+ static tagName = "media-slider-video";
224
+ #media;
225
+ #video = this.#createVideo();
226
+ onSetup() {
227
+ this.#media = useMediaContext();
228
+ this.$state.video.set(this.#video);
229
+ }
230
+ onConnect() {
231
+ const { canLoad } = this.#media.$state, { src, crossOrigin } = this.$state;
232
+ if (this.#video.parentNode !== this) {
233
+ this.prepend(this.#video);
234
+ }
235
+ effect(() => {
236
+ setAttribute(this.#video, "crossorigin", crossOrigin());
237
+ setAttribute(this.#video, "preload", canLoad() ? "auto" : "none");
238
+ setAttribute(this.#video, "src", src());
239
+ });
240
+ }
241
+ #createVideo() {
242
+ return cloneTemplateContent(videoTemplate);
243
+ }
244
+ }
245
+
246
+ class MediaAudioGainSliderElement extends Host(HTMLElement, AudioGainSlider) {
247
+ static tagName = "media-audio-gain-slider";
248
+ }
249
+
250
+ class MediaSpeedSliderElement extends Host(HTMLElement, SpeedSlider) {
251
+ static tagName = "media-speed-slider";
252
+ }
253
+
254
+ class MediaQualitySliderElement extends Host(HTMLElement, QualitySlider) {
255
+ static tagName = "media-quality-slider";
256
+ }
257
+
258
+ class MediaSliderChaptersElement extends Host(HTMLElement, SliderChapters) {
259
+ static tagName = "media-slider-chapters";
260
+ #template = null;
261
+ onConnect() {
262
+ requestScopedAnimationFrame(() => {
263
+ if (!this.connectScope) return;
264
+ const template = this.querySelector("template");
265
+ if (template) {
266
+ this.#template = template;
267
+ effect(this.#renderTemplate.bind(this));
268
+ }
269
+ });
270
+ }
271
+ #renderTemplate() {
272
+ if (!this.#template) return;
273
+ const elements = cloneTemplate(this.#template, this.cues.length || 1);
274
+ this.setRefs(elements);
275
+ }
276
+ }
277
+
278
+ class SliderSteps extends Component {
279
+ }
280
+ class MediaSliderStepsElement extends Host(HTMLElement, SliderSteps) {
281
+ static tagName = "media-slider-steps";
282
+ #template = null;
283
+ onConnect(el) {
284
+ requestScopedAnimationFrame(() => {
285
+ if (!this.connectScope) return;
286
+ this.#template = el.querySelector("template");
287
+ if (this.#template) effect(this.#render.bind(this));
288
+ });
289
+ }
290
+ #render() {
291
+ if (!this.#template) return;
292
+ const { min, max, step } = useState(sliderState), steps = (max() - min()) / step();
293
+ cloneTemplate(this.#template, Math.floor(steps) + 1);
294
+ }
295
+ }
296
+
297
+ export { MediaAnnouncerElement, MediaAudioGainRadioGroupElement, MediaAudioGainSliderElement, MediaCaptionsElement, MediaChapterTitleElement, MediaChaptersRadioGroupElement, MediaControlsElement, MediaControlsGroupElement, MediaGestureElement, MediaGoogleCastButtonElement, MediaLayoutElement, MediaMenuPortalElement, MediaQualitySliderElement, MediaRadioGroupElement, MediaSliderChaptersElement, MediaSliderElement, MediaSliderStepsElement, MediaSliderVideoElement, MediaSpeedSliderElement, MediaSpinnerElement, MediaTitleElement, MediaToggleButtonElement, MediaTooltipContentElement, MediaTooltipElement, MediaTooltipTriggerElement };
@@ -1,8 +1,8 @@
1
1
  import { defineCustomElement } from '../chunks/vidstack-BNpgCJJ1.js';
2
- import { MediaPlayButtonElement, MediaMuteButtonElement, MediaCaptionButtonElement, MediaPIPButtonElement, MediaFullscreenButtonElement, MediaSeekButtonElement, MediaAirPlayButtonElement, MediaLiveButtonElement, MediaVolumeSliderElement, MediaTimeSliderElement, MediaSliderPreviewElement, MediaSliderThumbnailElement, MediaSliderValueElement, MediaMenuElement, MediaMenuButtonElement, MediaMenuItemsElement, MediaMenuItemElement, MediaAudioRadioGroupElement, MediaCaptionsRadioGroupElement, MediaSpeedRadioGroupElement, MediaQualityRadioGroupElement, MediaRadioElement, MediaTimeElement, MediaThumbnailElement } from '../chunks/vidstack-ShUhyBfI.js';
2
+ import { MediaPlayButtonElement, MediaMuteButtonElement, MediaCaptionButtonElement, MediaPIPButtonElement, MediaFullscreenButtonElement, MediaSeekButtonElement, MediaAirPlayButtonElement, MediaLiveButtonElement, MediaVolumeSliderElement, MediaTimeSliderElement, MediaSliderPreviewElement, MediaSliderThumbnailElement, MediaSliderValueElement, MediaMenuElement, MediaMenuButtonElement, MediaMenuItemsElement, MediaMenuItemElement, MediaAudioRadioGroupElement, MediaCaptionsRadioGroupElement, MediaSpeedRadioGroupElement, MediaQualityRadioGroupElement, MediaRadioElement, MediaTimeElement, MediaThumbnailElement } from '../chunks/vidstack-DXfGRhxZ.js';
3
3
  import { MediaPlyrLayoutElement } from './templates/plyr-layout.js';
4
4
  import { MediaPosterElement } from '../chunks/vidstack-DlLwMLBL.js';
5
- import '../chunks/vidstack-BexQYZop.js';
5
+ import '../chunks/vidstack-DDePVDjt.js';
6
6
  import '../chunks/vidstack-tt3O1zL6.js';
7
7
  import '../chunks/vidstack-DB9WDRL5.js';
8
8
  import '@floating-ui/dom';
@@ -1,5 +1,5 @@
1
1
  import { signal, effect, toggleClass, Host, listenEvent } from '../../chunks/vidstack-BNpgCJJ1.js';
2
- import { DefaultLayout, DefaultAnnouncer, DefaultCaptions, DefaultSeekButton, DefaultPlayButton, DefaultTimeSlider, DefaultTimeInvert, DefaultVolumePopup, DefaultCaptionButton, DefaultDownloadButton, DefaultAirPlayButton, DefaultChaptersMenu, DefaultSettingsMenu, useDefaultLayoutContext, DefaultControlsSpacer, i18n, DefaultChapterTitle, setLayoutName, createMenuContainer, DefaultLayoutIconsLoader } from '../../chunks/vidstack-V9U6gsde.js';
2
+ import { DefaultLayout, DefaultAnnouncer, DefaultCaptions, DefaultSeekButton, DefaultPlayButton, DefaultTimeSlider, DefaultTimeInvert, DefaultVolumePopup, DefaultCaptionButton, DefaultDownloadButton, DefaultAirPlayButton, DefaultChaptersMenu, DefaultSettingsMenu, useDefaultLayoutContext, DefaultControlsSpacer, i18n, DefaultChapterTitle, setLayoutName, createMenuContainer, DefaultLayoutIconsLoader } from '../../chunks/vidstack-Ko2EJadT.js';
3
3
  import { useMediaContext, useMediaState } from '../../chunks/vidstack-tt3O1zL6.js';
4
4
  import { useTransitionActive, useResizeObserver, isHTMLElement } from '../../chunks/vidstack-DB9WDRL5.js';
5
5
  import { $signal, SlotManager } from '../../chunks/vidstack-zfCm-GM5.js';
@@ -1,5 +1,5 @@
1
1
  import { computed, signal, effect, camelToKebabCase, Host } from '../../chunks/vidstack-BNpgCJJ1.js';
2
- import { DefaultLayout, useDefaultLayoutContext, DefaultPlayButton, DefaultAnnouncer, DefaultCaptions, DefaultControlsSpacer, DefaultCaptionButton, DefaultDownloadButton, DefaultVolumePopup, DefaultTimeSlider, DefaultSeekButton, DefaultTimeInfo, DefaultFullscreenButton, DefaultTitle, DefaultPIPButton, DefaultChaptersMenu, DefaultSettingsMenu, DefaultEpisodeButton, setLayoutName, createMenuContainer, DefaultLayoutIconsLoader } from '../../chunks/vidstack-V9U6gsde.js';
2
+ import { DefaultLayout, useDefaultLayoutContext, DefaultPlayButton, DefaultAnnouncer, DefaultCaptions, DefaultControlsSpacer, DefaultCaptionButton, DefaultDownloadButton, DefaultVolumePopup, DefaultTimeSlider, DefaultSeekButton, DefaultTimeInfo, DefaultFullscreenButton, DefaultTitle, DefaultPIPButton, DefaultChaptersMenu, DefaultSettingsMenu, DefaultEpisodeButton, setLayoutName, createMenuContainer, DefaultLayoutIconsLoader } from '../../chunks/vidstack-Ko2EJadT.js';
3
3
  import { useMediaContext, useMediaState } from '../../chunks/vidstack-tt3O1zL6.js';
4
4
  import { $signal, SlotManager } from '../../chunks/vidstack-zfCm-GM5.js';
5
5
  import { LitElement } from '../../chunks/vidstack-CwTj4H1w.js';
@@ -1,7 +1,7 @@
1
1
  import { defineCustomElement } from '../chunks/vidstack-BNpgCJJ1.js';
2
2
  import { MediaAudioLayoutElement } from './templates/vidstack-audio-layout.js';
3
3
  import { MediaVideoLayoutElement } from './templates/vidstack-video-layout.js';
4
- import '../chunks/vidstack-V9U6gsde.js';
4
+ import '../chunks/vidstack-Ko2EJadT.js';
5
5
  import '../chunks/vidstack-tt3O1zL6.js';
6
6
  import '../chunks/vidstack-DB9WDRL5.js';
7
7
  import '@floating-ui/dom';
@@ -2,7 +2,7 @@ import { defineCustomElement } from '../chunks/vidstack-BNpgCJJ1.js';
2
2
  import { MediaAudioLayoutElement } from './templates/vidstack-audio-layout.js';
3
3
  import { MediaVideoLayoutElement } from './templates/vidstack-video-layout.js';
4
4
  import { MediaPlyrLayoutElement } from './templates/plyr-layout.js';
5
- import '../chunks/vidstack-V9U6gsde.js';
5
+ import '../chunks/vidstack-Ko2EJadT.js';
6
6
  import '../chunks/vidstack-tt3O1zL6.js';
7
7
  import '../chunks/vidstack-DB9WDRL5.js';
8
8
  import '@floating-ui/dom';
@@ -1,12 +1,12 @@
1
1
  import { defineCustomElement } from '../chunks/vidstack-BNpgCJJ1.js';
2
- import { MediaLayoutElement, MediaControlsElement, MediaControlsGroupElement, MediaAnnouncerElement, MediaTooltipElement, MediaTooltipTriggerElement, MediaTooltipContentElement, MediaGoogleCastButtonElement, MediaToggleButtonElement, MediaSliderElement, MediaAudioGainSliderElement, MediaSpeedSliderElement, MediaQualitySliderElement, MediaSliderChaptersElement, MediaSliderStepsElement, MediaSliderVideoElement, MediaMenuPortalElement, MediaAudioGainRadioGroupElement, MediaChaptersRadioGroupElement, MediaRadioGroupElement, MediaGestureElement, MediaCaptionsElement, MediaTitleElement, MediaChapterTitleElement, MediaSpinnerElement } from '../chunks/vidstack-BRnfTkxi.js';
3
- import { MediaPlayButtonElement, MediaMuteButtonElement, MediaCaptionButtonElement, MediaFullscreenButtonElement, MediaPIPButtonElement, MediaSeekButtonElement, MediaAirPlayButtonElement, MediaVolumeSliderElement, MediaTimeSliderElement, MediaSliderPreviewElement, MediaSliderValueElement, MediaSliderThumbnailElement, MediaMenuElement, MediaMenuButtonElement, MediaMenuItemsElement, MediaMenuItemElement, MediaAudioRadioGroupElement, MediaCaptionsRadioGroupElement, MediaSpeedRadioGroupElement, MediaQualityRadioGroupElement, MediaRadioElement, MediaThumbnailElement, MediaLiveButtonElement, MediaTimeElement } from '../chunks/vidstack-ShUhyBfI.js';
2
+ import { MediaLayoutElement, MediaControlsElement, MediaControlsGroupElement, MediaAnnouncerElement, MediaTooltipElement, MediaTooltipTriggerElement, MediaTooltipContentElement, MediaGoogleCastButtonElement, MediaToggleButtonElement, MediaSliderElement, MediaAudioGainSliderElement, MediaSpeedSliderElement, MediaQualitySliderElement, MediaSliderChaptersElement, MediaSliderStepsElement, MediaSliderVideoElement, MediaMenuPortalElement, MediaAudioGainRadioGroupElement, MediaChaptersRadioGroupElement, MediaRadioGroupElement, MediaGestureElement, MediaCaptionsElement, MediaTitleElement, MediaChapterTitleElement, MediaSpinnerElement } from '../chunks/vidstack-XA3zT5W9.js';
3
+ import { MediaPlayButtonElement, MediaMuteButtonElement, MediaCaptionButtonElement, MediaFullscreenButtonElement, MediaPIPButtonElement, MediaSeekButtonElement, MediaAirPlayButtonElement, MediaVolumeSliderElement, MediaTimeSliderElement, MediaSliderPreviewElement, MediaSliderValueElement, MediaSliderThumbnailElement, MediaMenuElement, MediaMenuButtonElement, MediaMenuItemsElement, MediaMenuItemElement, MediaAudioRadioGroupElement, MediaCaptionsRadioGroupElement, MediaSpeedRadioGroupElement, MediaQualityRadioGroupElement, MediaRadioElement, MediaThumbnailElement, MediaLiveButtonElement, MediaTimeElement } from '../chunks/vidstack-DXfGRhxZ.js';
4
4
  import { MediaPosterElement } from '../chunks/vidstack-DlLwMLBL.js';
5
- import '../chunks/vidstack-kdaDngIm.js';
5
+ import '../chunks/vidstack-Cs0fH84E.js';
6
6
  import '../chunks/vidstack-tt3O1zL6.js';
7
7
  import '../chunks/vidstack-DB9WDRL5.js';
8
8
  import '@floating-ui/dom';
9
- import '../chunks/vidstack-BexQYZop.js';
9
+ import '../chunks/vidstack-DDePVDjt.js';
10
10
  import '../chunks/vidstack-oNEzlviH.js';
11
11
  import '../chunks/vidstack-KShKSmYu.js';
12
12
  import '../chunks/vidstack-wTTCvdqe.js';
@@ -1,6 +1,6 @@
1
1
  import { defineCustomElement } from '../chunks/vidstack-BNpgCJJ1.js';
2
- import { MediaPlayerElement, MediaProviderElement } from '../chunks/vidstack-DMDDSV3t.js';
3
- import '../chunks/vidstack-BAqdCFIm.js';
2
+ import { MediaPlayerElement, MediaProviderElement } from '../chunks/vidstack-DnRxQoqP.js';
3
+ import '../chunks/vidstack-C-yd_bAJ.js';
4
4
  import '../chunks/vidstack-tt3O1zL6.js';
5
5
  import '../chunks/vidstack-wTTCvdqe.js';
6
6
  import '../chunks/vidstack-Fem0yF3c.js';
@@ -1,13 +1,13 @@
1
1
  import '../define/vidstack-player.js';
2
2
  import '../define/plyr-layout.js';
3
3
  import { isString, listenEvent, setAttribute, kebabToCamelCase, setStyle, createDisposalBin, isBoolean, DOMEvent } from '../chunks/vidstack-BNpgCJJ1.js';
4
- import { mediaState, isHTMLAudioElement, isHTMLVideoElement, isHTMLIFrameElement } from '../chunks/vidstack-BAqdCFIm.js';
4
+ import { mediaState, isHTMLAudioElement, isHTMLVideoElement, isHTMLIFrameElement } from '../chunks/vidstack-C-yd_bAJ.js';
5
5
  import { isHTMLElement } from '../chunks/vidstack-DB9WDRL5.js';
6
6
  import { canPlayVideoType } from '../chunks/vidstack-wTTCvdqe.js';
7
- import '../chunks/vidstack-DMDDSV3t.js';
7
+ import '../chunks/vidstack-DnRxQoqP.js';
8
8
  import '../chunks/vidstack-tt3O1zL6.js';
9
- import '../chunks/vidstack-ShUhyBfI.js';
10
- import '../chunks/vidstack-BexQYZop.js';
9
+ import '../chunks/vidstack-DXfGRhxZ.js';
10
+ import '../chunks/vidstack-DDePVDjt.js';
11
11
  import '../chunks/vidstack-oNEzlviH.js';
12
12
  import '../chunks/vidstack-KShKSmYu.js';
13
13
  import '../chunks/vidstack-BP49Gz0m.js';
@@ -1,8 +1,8 @@
1
1
  import '../define/vidstack-player.js';
2
2
  import { isString, defineCustomElement, kebabToCamelCase } from '../chunks/vidstack-BNpgCJJ1.js';
3
- import { isHTMLAudioElement, isHTMLVideoElement, isHTMLIFrameElement } from '../chunks/vidstack-BAqdCFIm.js';
3
+ import { isHTMLAudioElement, isHTMLVideoElement, isHTMLIFrameElement } from '../chunks/vidstack-C-yd_bAJ.js';
4
4
  import { isHTMLElement } from '../chunks/vidstack-DB9WDRL5.js';
5
- import '../chunks/vidstack-DMDDSV3t.js';
5
+ import '../chunks/vidstack-DnRxQoqP.js';
6
6
  import '../chunks/vidstack-tt3O1zL6.js';
7
7
  import '../chunks/vidstack-wTTCvdqe.js';
8
8
  import '../chunks/vidstack-Fem0yF3c.js';
@@ -1,16 +1,16 @@
1
1
  export { defineCustomElement } from './chunks/vidstack-BNpgCJJ1.js';
2
- export { MediaAnnouncerElement, MediaAudioGainRadioGroupElement, MediaAudioGainSliderElement, MediaCaptionsElement, MediaChapterTitleElement, MediaChaptersRadioGroupElement, MediaControlsElement, MediaControlsGroupElement, MediaGestureElement, MediaGoogleCastButtonElement, MediaLayoutElement, MediaMenuPortalElement, MediaQualitySliderElement, MediaRadioGroupElement, MediaSliderChaptersElement, MediaSliderElement, MediaSliderStepsElement, MediaSliderVideoElement, MediaSpeedSliderElement, MediaSpinnerElement, MediaTitleElement, MediaToggleButtonElement, MediaTooltipContentElement, MediaTooltipElement, MediaTooltipTriggerElement } from './chunks/vidstack-BRnfTkxi.js';
3
- export { MediaPlayerElement, MediaProviderElement } from './chunks/vidstack-DMDDSV3t.js';
2
+ export { MediaAnnouncerElement, MediaAudioGainRadioGroupElement, MediaAudioGainSliderElement, MediaCaptionsElement, MediaChapterTitleElement, MediaChaptersRadioGroupElement, MediaControlsElement, MediaControlsGroupElement, MediaGestureElement, MediaGoogleCastButtonElement, MediaLayoutElement, MediaMenuPortalElement, MediaQualitySliderElement, MediaRadioGroupElement, MediaSliderChaptersElement, MediaSliderElement, MediaSliderStepsElement, MediaSliderVideoElement, MediaSpeedSliderElement, MediaSpinnerElement, MediaTitleElement, MediaToggleButtonElement, MediaTooltipContentElement, MediaTooltipElement, MediaTooltipTriggerElement } from './chunks/vidstack-XA3zT5W9.js';
3
+ export { MediaPlayerElement, MediaProviderElement } from './chunks/vidstack-DnRxQoqP.js';
4
4
  export { MediaPosterElement } from './chunks/vidstack-DlLwMLBL.js';
5
- export { MediaAirPlayButtonElement, MediaAudioRadioGroupElement, MediaCaptionButtonElement, MediaCaptionsRadioGroupElement, MediaFullscreenButtonElement, MediaLiveButtonElement, MediaMenuButtonElement, MediaMenuElement, MediaMenuItemElement, MediaMenuItemsElement, MediaMuteButtonElement, MediaPIPButtonElement, MediaPlayButtonElement, MediaQualityRadioGroupElement, MediaRadioElement, MediaSeekButtonElement, MediaSliderPreviewElement, MediaSliderThumbnailElement, MediaSliderValueElement, MediaSpeedRadioGroupElement, MediaThumbnailElement, MediaTimeElement, MediaTimeSliderElement, MediaVolumeSliderElement } from './chunks/vidstack-ShUhyBfI.js';
5
+ export { MediaAirPlayButtonElement, MediaAudioRadioGroupElement, MediaCaptionButtonElement, MediaCaptionsRadioGroupElement, MediaFullscreenButtonElement, MediaLiveButtonElement, MediaMenuButtonElement, MediaMenuElement, MediaMenuItemElement, MediaMenuItemsElement, MediaMuteButtonElement, MediaPIPButtonElement, MediaPlayButtonElement, MediaQualityRadioGroupElement, MediaRadioElement, MediaSeekButtonElement, MediaSliderPreviewElement, MediaSliderThumbnailElement, MediaSliderValueElement, MediaSpeedRadioGroupElement, MediaThumbnailElement, MediaTimeElement, MediaTimeSliderElement, MediaVolumeSliderElement } from './chunks/vidstack-DXfGRhxZ.js';
6
6
  export { MediaAudioLayoutElement } from './define/templates/vidstack-audio-layout.js';
7
7
  export { MediaVideoLayoutElement } from './define/templates/vidstack-video-layout.js';
8
8
  export { MediaPlyrLayoutElement } from './define/templates/plyr-layout.js';
9
- import './chunks/vidstack-kdaDngIm.js';
9
+ import './chunks/vidstack-Cs0fH84E.js';
10
10
  import './chunks/vidstack-tt3O1zL6.js';
11
11
  import './chunks/vidstack-DB9WDRL5.js';
12
12
  import '@floating-ui/dom';
13
- import './chunks/vidstack-BexQYZop.js';
13
+ import './chunks/vidstack-DDePVDjt.js';
14
14
  import './chunks/vidstack-oNEzlviH.js';
15
15
  import './chunks/vidstack-KShKSmYu.js';
16
16
  import './chunks/vidstack-wTTCvdqe.js';
@@ -21,12 +21,12 @@ import './chunks/vidstack-C9vIqaYT.js';
21
21
  import './chunks/vidstack-BTM4ERc7.js';
22
22
  import 'lit-html';
23
23
  import './chunks/vidstack-CwTj4H1w.js';
24
- import './chunks/vidstack-BAqdCFIm.js';
24
+ import './chunks/vidstack-C-yd_bAJ.js';
25
25
  import './chunks/vidstack-Fem0yF3c.js';
26
26
  import './chunks/vidstack-D5EzK014.js';
27
27
  import './chunks/vidstack-B01xzxC4.js';
28
28
  import './chunks/vidstack-C4PTiuot.js';
29
- import './chunks/vidstack-V9U6gsde.js';
29
+ import './chunks/vidstack-Ko2EJadT.js';
30
30
  import './chunks/vidstack-zfCm-GM5.js';
31
31
  import 'lit-html/directives/if-defined.js';
32
32
  import 'lit-html/directives/unsafe-svg.js';
package/prod/vidstack.js CHANGED
@@ -1,15 +1,15 @@
1
1
  import { DOMEvent, isString, EventsController, useState } from './chunks/vidstack-BNpgCJJ1.js';
2
2
  export { appendTriggerEvent, findTriggerEvent, hasTriggerEvent, isKeyboardClick, isKeyboardEvent, isPointerEvent, walkTriggerEventChain } from './chunks/vidstack-BNpgCJJ1.js';
3
- export { AudioProviderLoader, AudioTrackList, DASHProviderLoader, FullscreenController, HLSProviderLoader, List, LocalMediaStorage, MEDIA_KEY_SHORTCUTS, MediaControls, MediaPlayer, MediaProvider, MediaRemoteControl, ScreenOrientationController, TextRenderers, TextTrackList, VideoProviderLoader, VideoQualityList, VimeoProviderLoader, YouTubeProviderLoader, boundTime, canFullscreen, isAudioProvider, isDASHProvider, isGoogleCastProvider, isHLSProvider, isHTMLAudioElement, isHTMLIFrameElement, isHTMLMediaElement, isHTMLVideoElement, isVideoProvider, isVideoQualitySrc, isVimeoProvider, isYouTubeProvider, mediaState, softResetMediaState } from './chunks/vidstack-BAqdCFIm.js';
3
+ export { AudioProviderLoader, AudioTrackList, DASHProviderLoader, FullscreenController, HLSProviderLoader, List, LocalMediaStorage, MEDIA_KEY_SHORTCUTS, MediaControls, MediaPlayer, MediaProvider, MediaRemoteControl, ScreenOrientationController, TextRenderers, TextTrackList, VideoProviderLoader, VideoQualityList, VimeoProviderLoader, YouTubeProviderLoader, boundTime, canFullscreen, isAudioProvider, isDASHProvider, isGoogleCastProvider, isHLSProvider, isHTMLAudioElement, isHTMLIFrameElement, isHTMLMediaElement, isHTMLVideoElement, isVideoProvider, isVideoQualitySrc, isVimeoProvider, isYouTubeProvider, mediaState, softResetMediaState } from './chunks/vidstack-C-yd_bAJ.js';
4
4
  export { mediaContext } from './chunks/vidstack-tt3O1zL6.js';
5
5
  import { TextTrackSymbol } from './chunks/vidstack-oNEzlviH.js';
6
6
  export { TextTrack, isTrackCaptionKind, parseJSONCaptionsFile } from './chunks/vidstack-oNEzlviH.js';
7
7
  export { findActiveCue, isCueActive, watchActiveTextTrack, watchCueTextChange } from './chunks/vidstack-BP49Gz0m.js';
8
8
  export { sortVideoQualities } from './chunks/vidstack-BTM4ERc7.js';
9
- import { Thumbnail, Slider } from './chunks/vidstack-BexQYZop.js';
10
- export { ARIAKeyShortcuts, AirPlayButton, AudioRadioGroup, CaptionButton, CaptionsRadioGroup, DEFAULT_PLAYBACK_RATES, FullscreenButton, LiveButton, Menu, MenuButton, MenuItem, MenuItems, MenuPortal, MuteButton, PIPButton, PlayButton, QualityRadioGroup, Radio, SeekButton, SliderController, SliderPreview, SliderValue, SpeedRadioGroup, ThumbnailsLoader, Time, TimeSlider, VolumeSlider, formatSpokenTime, formatTime, menuPortalContext, sliderContext, sliderState, updateSliderPreviewPlacement } from './chunks/vidstack-BexQYZop.js';
9
+ import { Thumbnail, Slider } from './chunks/vidstack-DDePVDjt.js';
10
+ export { ARIAKeyShortcuts, AirPlayButton, AudioRadioGroup, CaptionButton, CaptionsRadioGroup, DEFAULT_PLAYBACK_RATES, FullscreenButton, LiveButton, Menu, MenuButton, MenuItem, MenuItems, MenuPortal, MuteButton, PIPButton, PlayButton, QualityRadioGroup, Radio, SeekButton, SliderController, SliderPreview, SliderValue, SpeedRadioGroup, ThumbnailsLoader, Time, TimeSlider, VolumeSlider, formatSpokenTime, formatTime, menuPortalContext, sliderContext, sliderState, updateSliderPreviewPlacement } from './chunks/vidstack-DDePVDjt.js';
11
11
  export { TimeRange, getTimeRangesEnd, getTimeRangesStart, normalizeTimeIntervals, updateTimeIntervals } from './chunks/vidstack-Fem0yF3c.js';
12
- export { AudioGainRadioGroup, AudioGainSlider, Captions, ChaptersRadioGroup, Controls, ControlsGroup, DEFAULT_AUDIO_GAINS, Gesture, GoogleCastButton, MediaAnnouncer, QualitySlider, RadioGroup, SliderChapters, SliderVideo, SpeedSlider, ToggleButton, Tooltip, TooltipContent, TooltipTrigger } from './chunks/vidstack-kdaDngIm.js';
12
+ export { AudioGainRadioGroup, AudioGainSlider, Captions, ChaptersRadioGroup, Controls, ControlsGroup, DEFAULT_AUDIO_GAINS, Gesture, GoogleCastButton, MediaAnnouncer, QualitySlider, RadioGroup, SliderChapters, SliderVideo, SpeedSlider, ToggleButton, Tooltip, TooltipContent, TooltipTrigger } from './chunks/vidstack-Cs0fH84E.js';
13
13
  export { Poster } from './chunks/vidstack-C4PTiuot.js';
14
14
  export { usePlyrLayoutClasses } from './chunks/vidstack-BDIzK77F.js';
15
15
  export { getDownloadFile } from './chunks/vidstack-KShKSmYu.js';