ts-video-player 0.1.1 → 0.1.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.
@@ -1,17 +1,17 @@
1
1
  import {
2
- StateStore,
3
- createGestureDetector,
4
- createKeyboardHandler,
5
- detectFullscreenAvailability,
6
- detectPipAvailability,
7
- detectVolumeAvailability,
8
- onFullscreenChange,
9
- onPiPChange,
10
- probeVolumeAvailability
11
- } from "./chunk-36x4yhjn.js";
2
+ StateStore2,
3
+ onFullscreenChange2,
4
+ onPiPChange2,
5
+ createKeyboardHandler2,
6
+ createGestureDetector2,
7
+ detectVolumeAvailability2,
8
+ probeVolumeAvailability2,
9
+ detectFullscreenAvailability2,
10
+ detectPipAvailability2
11
+ } from "./chunk-rhykj0qy.js";
12
12
 
13
13
  // src/features/playback.ts
14
- var playback = {
14
+ var playback2 = {
15
15
  name: "playback",
16
16
  stateKeys: ["paused", "playing", "ended", "seeking", "waiting", "currentTime", "duration", "playbackRate", "loop", "autoplay", "playbackState"],
17
17
  setup(ctx) {
@@ -72,13 +72,13 @@ var playback = {
72
72
  }
73
73
  };
74
74
  // src/features/volume.ts
75
- var volume = {
75
+ var volume2 = {
76
76
  name: "volume",
77
77
  stateKeys: ["volume", "muted", "volumeAvailability"],
78
78
  setup(ctx) {
79
79
  const { store, getMediaElement } = ctx;
80
80
  const media = getMediaElement();
81
- store.set("volumeAvailability", detectVolumeAvailability(media));
81
+ store.set("volumeAvailability", detectVolumeAvailability2(media));
82
82
  const onVolumeChange = () => {
83
83
  const m = getMediaElement();
84
84
  if (m)
@@ -88,7 +88,7 @@ var volume = {
88
88
  const m = getMediaElement();
89
89
  if (!m)
90
90
  return;
91
- probeVolumeAvailability(m).then((availability) => {
91
+ probeVolumeAvailability2(m).then((availability) => {
92
92
  store.set("volumeAvailability", availability);
93
93
  });
94
94
  };
@@ -106,21 +106,21 @@ var volume = {
106
106
  }
107
107
  };
108
108
  // src/features/fullscreen.ts
109
- var fullscreen = {
109
+ var fullscreen2 = {
110
110
  name: "fullscreen",
111
111
  stateKeys: ["fullscreen", "fullscreenAvailability", "canFullscreen"],
112
112
  setup(ctx) {
113
113
  const { store, container, getMediaElement } = ctx;
114
114
  const update = () => {
115
115
  const video = getMediaElement();
116
- const availability = detectFullscreenAvailability(container, video);
116
+ const availability = detectFullscreenAvailability2(container, video);
117
117
  store.batch({
118
118
  fullscreenAvailability: availability,
119
119
  canFullscreen: availability === "available"
120
120
  });
121
121
  };
122
122
  update();
123
- const cleanup = onFullscreenChange((fs) => {
123
+ const cleanup = onFullscreenChange2((fs) => {
124
124
  store.set("fullscreen", fs);
125
125
  });
126
126
  const onMeta = () => update();
@@ -134,14 +134,14 @@ var fullscreen = {
134
134
  }
135
135
  };
136
136
  // src/features/pip.ts
137
- var pip = {
137
+ var pip2 = {
138
138
  name: "pip",
139
139
  stateKeys: ["pictureInPicture", "pipAvailability", "canPictureInPicture"],
140
140
  setup(ctx) {
141
141
  const { store, getMediaElement } = ctx;
142
142
  const update = () => {
143
143
  const video = getMediaElement();
144
- const availability = detectPipAvailability(video);
144
+ const availability = detectPipAvailability2(video);
145
145
  store.batch({
146
146
  pipAvailability: availability,
147
147
  canPictureInPicture: availability === "available"
@@ -151,7 +151,7 @@ var pip = {
151
151
  let cleanupPiP = null;
152
152
  const media = getMediaElement();
153
153
  if (media instanceof HTMLVideoElement) {
154
- cleanupPiP = onPiPChange(media, (isPiP) => {
154
+ cleanupPiP = onPiPChange2(media, (isPiP) => {
155
155
  store.set("pictureInPicture", isPiP);
156
156
  });
157
157
  }
@@ -165,17 +165,17 @@ var pip = {
165
165
  }
166
166
  };
167
167
  // src/features/captions.ts
168
- var captions = {
168
+ var captions2 = {
169
169
  name: "captions",
170
170
  stateKeys: ["textTracks"],
171
171
  setup(ctx) {
172
172
  const { store, getMediaElement } = ctx;
173
173
  const syncTracks = () => {
174
- const media2 = getMediaElement();
175
- if (!media2)
174
+ const media = getMediaElement();
175
+ if (!media)
176
176
  return;
177
177
  const tracks = [];
178
- const textTracks = media2.textTracks;
178
+ const textTracks = media.textTracks;
179
179
  for (let i = 0;i < textTracks.length; i++) {
180
180
  const track = textTracks[i];
181
181
  tracks.push({
@@ -207,7 +207,7 @@ var captions = {
207
207
  }
208
208
  };
209
209
  // src/features/quality.ts
210
- var quality = {
210
+ var quality2 = {
211
211
  name: "quality",
212
212
  stateKeys: ["qualities", "autoQuality"],
213
213
  setup(_ctx) {
@@ -215,7 +215,7 @@ var quality = {
215
215
  }
216
216
  };
217
217
  // src/features/keyboard.ts
218
- var keyboard = {
218
+ var keyboard2 = {
219
219
  name: "keyboard",
220
220
  setup(ctx) {
221
221
  const { container, options } = ctx;
@@ -286,7 +286,7 @@ var keyboard = {
286
286
  }
287
287
  };
288
288
  const config = typeof options.keyboard === "object" ? options.keyboard : {};
289
- const handler = createKeyboardHandler(actions, {
289
+ const handler = createKeyboardHandler2(actions, {
290
290
  seekStep: config.seekStep,
291
291
  volumeStep: config.volumeStep
292
292
  });
@@ -298,13 +298,13 @@ var keyboard = {
298
298
  }
299
299
  };
300
300
  // src/features/gestures.ts
301
- var gestures = {
301
+ var gestures2 = {
302
302
  name: "gestures",
303
303
  setup(ctx) {
304
304
  const { container, options } = ctx;
305
305
  if (options.gestures === false)
306
306
  return;
307
- const cleanup = createGestureDetector(container, {
307
+ const cleanup = createGestureDetector2(container, {
308
308
  onDoubleTap: (x) => {
309
309
  const rect = container.getBoundingClientRect();
310
310
  const third = rect.width / 3;
@@ -333,8 +333,8 @@ var gestures = {
333
333
  }
334
334
  };
335
335
  // src/features/create-player.ts
336
- function createComposablePlayer(container, opts) {
337
- const store = new StateStore(opts.state);
336
+ function createComposablePlayer2(container, opts) {
337
+ const store = new StateStore2(opts.state);
338
338
  const cleanups = [];
339
339
  let mediaElement = null;
340
340
  const getMediaElement = () => {
@@ -371,8 +371,8 @@ function createComposablePlayer(container, opts) {
371
371
  };
372
372
  }
373
373
  // src/features/index.ts
374
- var videoFeatures = [playback, volume, fullscreen, pip, captions, quality, keyboard, gestures];
375
- var audioFeatures = [playback, volume, keyboard];
376
- var minimalFeatures = [playback];
374
+ var videoFeatures2 = [playback2, volume2, fullscreen2, pip2, captions2, quality2, keyboard2, gestures2];
375
+ var audioFeatures2 = [playback2, volume2, keyboard2];
376
+ var minimalFeatures2 = [playback2];
377
377
 
378
- export { playback, volume, fullscreen, pip, captions, quality, keyboard, gestures, createComposablePlayer, videoFeatures, audioFeatures, minimalFeatures };
378
+ export { playback2, volume2, fullscreen2, pip2, captions2, quality2, keyboard2, gestures2, createComposablePlayer2, videoFeatures2, audioFeatures2, minimalFeatures2 };
@@ -1,5 +1,5 @@
1
1
  // src/core/state.ts
2
- function shallowEqual(a, b) {
2
+ function shallowEqual2(a, b) {
3
3
  if (a === b)
4
4
  return true;
5
5
  if (!a || !b)
@@ -14,7 +14,7 @@ function shallowEqual(a, b) {
14
14
  }
15
15
  return true;
16
16
  }
17
- function createSignal(initial) {
17
+ function createSignal2(initial) {
18
18
  let value = initial;
19
19
  const listeners = new Set;
20
20
  const get = () => value;
@@ -31,7 +31,7 @@ function createSignal(initial) {
31
31
  };
32
32
  return [get, set];
33
33
  }
34
- function computed(fn, deps) {
34
+ function computed2(fn, deps) {
35
35
  let value;
36
36
  let dirty = true;
37
37
  deps.forEach((dep) => {
@@ -49,7 +49,7 @@ function computed(fn, deps) {
49
49
  return value;
50
50
  };
51
51
  }
52
- function createDefaultState() {
52
+ function createDefaultState2() {
53
53
  return {
54
54
  src: null,
55
55
  sources: [],
@@ -102,13 +102,13 @@ function createDefaultState() {
102
102
  };
103
103
  }
104
104
 
105
- class StateStore {
105
+ class StateStore2 {
106
106
  state;
107
107
  listeners = new Map;
108
108
  _pendingKeys = null;
109
109
  _flushScheduled = false;
110
110
  constructor(initial) {
111
- this.state = { ...createDefaultState(), ...initial };
111
+ this.state = { ...createDefaultState2(), ...initial };
112
112
  }
113
113
  getState() {
114
114
  return this.state;
@@ -132,12 +132,12 @@ class StateStore {
132
132
  }
133
133
  subscribe(keyOrListener, listener) {
134
134
  if (typeof keyOrListener === "function") {
135
- const key2 = "*";
136
- if (!this.listeners.has(key2)) {
137
- this.listeners.set(key2, new Set);
135
+ const key = "*";
136
+ if (!this.listeners.has(key)) {
137
+ this.listeners.set(key, new Set);
138
138
  }
139
- this.listeners.get(key2).add(keyOrListener);
140
- return () => this.listeners.get(key2)?.delete(keyOrListener);
139
+ this.listeners.get(key).add(keyOrListener);
140
+ return () => this.listeners.get(key)?.delete(keyOrListener);
141
141
  }
142
142
  const key = keyOrListener;
143
143
  if (!listener)
@@ -149,7 +149,7 @@ class StateStore {
149
149
  return () => this.listeners.get(key)?.delete(listener);
150
150
  }
151
151
  reset() {
152
- this.state = createDefaultState();
152
+ this.state = createDefaultState2();
153
153
  this._pendingKeys = null;
154
154
  this._flushScheduled = false;
155
155
  this.notifyAll();
@@ -182,7 +182,7 @@ class StateStore {
182
182
  this.listeners.get("*")?.forEach((listener) => listener(this.state));
183
183
  }
184
184
  }
185
- function selectBufferedAmount(state) {
185
+ function selectBufferedAmount2(state) {
186
186
  if (state.duration === 0 || state.buffered.length === 0)
187
187
  return 0;
188
188
  let buffered = 0;
@@ -191,42 +191,42 @@ function selectBufferedAmount(state) {
191
191
  }
192
192
  return Math.min(buffered / state.duration, 1);
193
193
  }
194
- function selectProgress(state) {
194
+ function selectProgress2(state) {
195
195
  if (state.duration === 0)
196
196
  return 0;
197
197
  return Math.min(state.currentTime / state.duration, 1);
198
198
  }
199
- function selectRemainingTime(state) {
199
+ function selectRemainingTime2(state) {
200
200
  return Math.max(state.duration - state.currentTime, 0);
201
201
  }
202
- function selectIsIdle(state) {
202
+ function selectIsIdle2(state) {
203
203
  return state.loadingState === "idle" && state.playbackState === "idle";
204
204
  }
205
- function selectIsLoading(state) {
205
+ function selectIsLoading2(state) {
206
206
  return state.loadingState === "loading" || state.waiting;
207
207
  }
208
- function selectIsLive(state) {
208
+ function selectIsLive2(state) {
209
209
  return state.streamType.includes("live");
210
210
  }
211
- function selectIsDVR(state) {
211
+ function selectIsDVR2(state) {
212
212
  return state.streamType === "live:dvr";
213
213
  }
214
- function selectCurrentQuality(state) {
214
+ function selectCurrentQuality2(state) {
215
215
  const selected = state.qualities.find((q) => q.selected);
216
216
  if (!selected)
217
217
  return state.autoQuality ? "auto" : null;
218
218
  return `${selected.height}p`;
219
219
  }
220
- function selectCurrentTextTrack(state) {
220
+ function selectCurrentTextTrack2(state) {
221
221
  const showing = state.textTracks.find((t) => t.mode === "showing");
222
222
  return showing?.label || null;
223
223
  }
224
- function selectCurrentAudioTrack(state) {
224
+ function selectCurrentAudioTrack2(state) {
225
225
  const selected = state.audioTracks.find((t) => t.selected);
226
226
  return selected?.label || null;
227
227
  }
228
228
  var STORAGE_KEY = "ts-video-player";
229
- function loadPersistedState(storage = localStorage) {
229
+ function loadPersistedState2(storage = localStorage) {
230
230
  try {
231
231
  const data = storage.getItem(STORAGE_KEY);
232
232
  if (data) {
@@ -235,14 +235,14 @@ function loadPersistedState(storage = localStorage) {
235
235
  } catch {}
236
236
  return {};
237
237
  }
238
- function savePersistedState(state, storage = localStorage) {
238
+ function savePersistedState2(state, storage = localStorage) {
239
239
  try {
240
- const existing = loadPersistedState(storage);
240
+ const existing = loadPersistedState2(storage);
241
241
  storage.setItem(STORAGE_KEY, JSON.stringify({ ...existing, ...state }));
242
242
  } catch {}
243
243
  }
244
- function createStorageSync(store, keys = ["volume", "muted", "playbackRate"], storage = localStorage) {
245
- const persisted = loadPersistedState(storage);
244
+ function createStorageSync2(store, keys = ["volume", "muted", "playbackRate"], storage = localStorage) {
245
+ const persisted = loadPersistedState2(storage);
246
246
  if (persisted.volume !== undefined)
247
247
  store.set("volume", persisted.volume);
248
248
  if (persisted.muted !== undefined)
@@ -251,13 +251,13 @@ function createStorageSync(store, keys = ["volume", "muted", "playbackRate"], st
251
251
  store.set("playbackRate", persisted.playbackRate);
252
252
  const unsubscribes = keys.map((key) => store.subscribe(key, (state) => {
253
253
  const value = state[key];
254
- savePersistedState({ [key]: value }, storage);
254
+ savePersistedState2({ [key]: value }, storage);
255
255
  }));
256
256
  return () => unsubscribes.forEach((unsub) => unsub());
257
257
  }
258
258
 
259
259
  // src/core/events.ts
260
- class EventEmitter {
260
+ class EventEmitter2 {
261
261
  listeners = new Map;
262
262
  onceListeners = new Map;
263
263
  on(event, handler) {
@@ -312,7 +312,7 @@ class EventEmitter {
312
312
  }
313
313
  }
314
314
 
315
- class MediaEventsNormalizer {
315
+ class MediaEventsNormalizer2 {
316
316
  media;
317
317
  emitter;
318
318
  listeners = [];
@@ -381,7 +381,7 @@ class MediaEventsNormalizer {
381
381
  this.listeners = [];
382
382
  }
383
383
  }
384
- function onFullscreenChange(handler) {
384
+ function onFullscreenChange2(handler) {
385
385
  const events = ["fullscreenchange", "webkitfullscreenchange", "mozfullscreenchange", "MSFullscreenChange"];
386
386
  const listener = () => {
387
387
  const fullscreen = !!(document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement);
@@ -392,7 +392,7 @@ function onFullscreenChange(handler) {
392
392
  events.forEach((event) => document.removeEventListener(event, listener));
393
393
  };
394
394
  }
395
- function onPiPChange(video, handler) {
395
+ function onPiPChange2(video, handler) {
396
396
  const enterHandler = () => handler(true);
397
397
  const leaveHandler = () => handler(false);
398
398
  video.addEventListener("enterpictureinpicture", enterHandler);
@@ -402,7 +402,7 @@ function onPiPChange(video, handler) {
402
402
  video.removeEventListener("leavepictureinpicture", leaveHandler);
403
403
  };
404
404
  }
405
- var DEFAULT_KEYBOARD_SHORTCUTS = {
405
+ var DEFAULT_KEYBOARD_SHORTCUTS2 = {
406
406
  " ": "togglePlay",
407
407
  k: "togglePlay",
408
408
  m: "toggleMute",
@@ -430,14 +430,14 @@ var DEFAULT_KEYBOARD_SHORTCUTS = {
430
430
  "8": "seek80",
431
431
  "9": "seek90"
432
432
  };
433
- function createKeyboardHandler(actions, options = {}) {
433
+ function createKeyboardHandler2(actions, options = {}) {
434
434
  const { seekStep: _seekStep = 5, volumeStep: _volumeStep = 0.1, speedStep: _speedStep = 0.25 } = options;
435
435
  return (event) => {
436
436
  if (event.target instanceof HTMLInputElement || event.target instanceof HTMLTextAreaElement || event.target instanceof HTMLSelectElement || event.target?.isContentEditable) {
437
437
  return;
438
438
  }
439
439
  const key = event.key;
440
- const action = DEFAULT_KEYBOARD_SHORTCUTS[key];
440
+ const action = DEFAULT_KEYBOARD_SHORTCUTS2[key];
441
441
  if (!action)
442
442
  return;
443
443
  event.preventDefault();
@@ -491,7 +491,7 @@ function createKeyboardHandler(actions, options = {}) {
491
491
  }
492
492
  };
493
493
  }
494
- function createActivityDetector(element, options = {}) {
494
+ function createActivityDetector2(element, options = {}) {
495
495
  const { timeout = 3000, onActive, onInactive } = options;
496
496
  let timer = null;
497
497
  let active = true;
@@ -522,7 +522,7 @@ function createActivityDetector(element, options = {}) {
522
522
  events.forEach((event) => element.removeEventListener(event, setActive));
523
523
  };
524
524
  }
525
- function createGestureDetector(element, handlers) {
525
+ function createGestureDetector2(element, handlers) {
526
526
  let startX = 0;
527
527
  let startY = 0;
528
528
  let startTime = 0;
@@ -608,7 +608,7 @@ function createGestureDetector(element, handlers) {
608
608
  }
609
609
 
610
610
  // src/core/features.ts
611
- function isIOSSafari() {
611
+ function isIOSSafari2() {
612
612
  if (typeof navigator === "undefined")
613
613
  return false;
614
614
  const ua = navigator.userAgent;
@@ -618,24 +618,24 @@ function isIOSSafari() {
618
618
  return true;
619
619
  return false;
620
620
  }
621
- function isSafari() {
621
+ function isSafari2() {
622
622
  if (typeof navigator === "undefined")
623
623
  return false;
624
624
  return /^(?:(?!chrome|android).)*safari/i.test(navigator.userAgent);
625
625
  }
626
- function isStandalonePWA() {
626
+ function isStandalonePWA2() {
627
627
  if (typeof window === "undefined")
628
628
  return false;
629
629
  return navigator.standalone === true || window.matchMedia("(display-mode: standalone)").matches;
630
630
  }
631
- function detectVolumeAvailability(media) {
632
- if (isIOSSafari())
631
+ function detectVolumeAvailability2(media) {
632
+ if (isIOSSafari2())
633
633
  return "unsupported";
634
634
  if (!media)
635
635
  return "unavailable";
636
636
  return "available";
637
637
  }
638
- async function probeVolumeAvailability(media) {
638
+ async function probeVolumeAvailability2(media) {
639
639
  const original = media.volume;
640
640
  try {
641
641
  const testValue = original === 1 ? 0.5 : 1;
@@ -651,7 +651,7 @@ async function probeVolumeAvailability(media) {
651
651
  return "unsupported";
652
652
  }
653
653
  }
654
- function detectFullscreenAvailability(container, videoElement) {
654
+ function detectFullscreenAvailability2(container, videoElement) {
655
655
  const doc = typeof document !== "undefined" ? document : null;
656
656
  if (!doc)
657
657
  return "unsupported";
@@ -670,13 +670,13 @@ function detectFullscreenAvailability(container, videoElement) {
670
670
  return "unavailable";
671
671
  return "unsupported";
672
672
  }
673
- function isVideoOnlyFullscreen() {
673
+ function isVideoOnlyFullscreen2() {
674
674
  if (typeof document === "undefined")
675
675
  return false;
676
676
  const doc = document;
677
- return isIOSSafari() && !doc.fullscreenEnabled && !doc.webkitFullscreenEnabled;
677
+ return isIOSSafari2() && !doc.fullscreenEnabled && !doc.webkitFullscreenEnabled;
678
678
  }
679
- async function enterFullscreen(container, media) {
679
+ async function enterFullscreen2(container, media) {
680
680
  const video = media;
681
681
  if (container) {
682
682
  const el = container;
@@ -695,7 +695,7 @@ async function enterFullscreen(container, media) {
695
695
  return media.requestFullscreen();
696
696
  }
697
697
  }
698
- async function exitFullscreen(media) {
698
+ async function exitFullscreen2(media) {
699
699
  const doc = document;
700
700
  const video = media;
701
701
  if (typeof doc.exitFullscreen === "function")
@@ -708,20 +708,20 @@ async function exitFullscreen(media) {
708
708
  video.webkitExitFullscreen();
709
709
  }
710
710
  }
711
- function detectPipAvailability(videoElement) {
711
+ function detectPipAvailability2(videoElement) {
712
712
  if (!videoElement)
713
713
  return "unavailable";
714
714
  if ("requestPictureInPicture" in videoElement) {
715
715
  if (typeof document !== "undefined" && document.pictureInPictureEnabled === false) {
716
716
  return "unavailable";
717
717
  }
718
- if (isSafari() && isStandalonePWA())
718
+ if (isSafari2() && isStandalonePWA2())
719
719
  return "unavailable";
720
720
  return "available";
721
721
  }
722
722
  const video = videoElement;
723
723
  if (typeof video.webkitSetPresentationMode === "function") {
724
- if (isStandalonePWA())
724
+ if (isStandalonePWA2())
725
725
  return "unavailable";
726
726
  if (typeof video.webkitSupportsPresentationMode === "function") {
727
727
  return video.webkitSupportsPresentationMode("picture-in-picture") ? "available" : "unsupported";
@@ -730,7 +730,7 @@ function detectPipAvailability(videoElement) {
730
730
  }
731
731
  return "unsupported";
732
732
  }
733
- async function enterPiP(media) {
733
+ async function enterPiP2(media) {
734
734
  const video = media;
735
735
  if (typeof video.requestPictureInPicture === "function") {
736
736
  await video.requestPictureInPicture();
@@ -740,7 +740,7 @@ async function enterPiP(media) {
740
740
  video.webkitSetPresentationMode("picture-in-picture");
741
741
  }
742
742
  }
743
- async function exitPiP(media) {
743
+ async function exitPiP2(media) {
744
744
  if (document.pictureInPictureElement && typeof document.exitPictureInPicture === "function") {
745
745
  await document.exitPictureInPicture();
746
746
  return;
@@ -752,12 +752,12 @@ async function exitPiP(media) {
752
752
  }
753
753
  }
754
754
  }
755
- function detectAllFeatures(container, videoElement, mediaElement) {
755
+ function detectAllFeatures2(container, videoElement, mediaElement) {
756
756
  return {
757
- volume: detectVolumeAvailability(mediaElement),
758
- fullscreen: detectFullscreenAvailability(container, videoElement),
759
- pip: detectPipAvailability(videoElement)
757
+ volume: detectVolumeAvailability2(mediaElement),
758
+ fullscreen: detectFullscreenAvailability2(container, videoElement),
759
+ pip: detectPipAvailability2(videoElement)
760
760
  };
761
761
  }
762
762
 
763
- export { shallowEqual, createSignal, computed, createDefaultState, StateStore, selectBufferedAmount, selectProgress, selectRemainingTime, selectIsIdle, selectIsLoading, selectIsLive, selectIsDVR, selectCurrentQuality, selectCurrentTextTrack, selectCurrentAudioTrack, loadPersistedState, savePersistedState, createStorageSync, EventEmitter, MediaEventsNormalizer, onFullscreenChange, onPiPChange, DEFAULT_KEYBOARD_SHORTCUTS, createKeyboardHandler, createActivityDetector, createGestureDetector, isIOSSafari, isSafari, isStandalonePWA, detectVolumeAvailability, probeVolumeAvailability, detectFullscreenAvailability, isVideoOnlyFullscreen, enterFullscreen, exitFullscreen, detectPipAvailability, enterPiP, exitPiP, detectAllFeatures };
763
+ export { shallowEqual2, createSignal2, computed2, createDefaultState2, StateStore2, selectBufferedAmount2, selectProgress2, selectRemainingTime2, selectIsIdle2, selectIsLoading2, selectIsLive2, selectIsDVR2, selectCurrentQuality2, selectCurrentTextTrack2, selectCurrentAudioTrack2, loadPersistedState2, savePersistedState2, createStorageSync2, EventEmitter2, MediaEventsNormalizer2, onFullscreenChange2, onPiPChange2, DEFAULT_KEYBOARD_SHORTCUTS2, createKeyboardHandler2, createActivityDetector2, createGestureDetector2, isIOSSafari2, isSafari2, isStandalonePWA2, detectVolumeAvailability2, probeVolumeAvailability2, detectFullscreenAvailability2, isVideoOnlyFullscreen2, enterFullscreen2, exitFullscreen2, detectPipAvailability2, enterPiP2, exitPiP2, detectAllFeatures2 };
@@ -1,53 +1,52 @@
1
1
  import {
2
- MediaAirplayButton,
3
- MediaErrorDisplay,
4
- MediaFullscreenButton,
5
- MediaLiveButton,
6
- MediaMuteButton,
7
- MediaPipButton,
8
- MediaPlayButton,
9
- MediaPlaybackRateButton,
10
- MediaPreviewTime,
11
- MediaProgressBar,
12
- MediaRemotePlaybackButton,
13
- MediaSeekButton,
14
- MediaSettingsMenu,
15
- MediaTimeDisplay,
16
- MediaTimeGroup,
17
- MediaTimeSeparator,
18
- MediaVolumeSlider,
19
- VideoPlayerElement,
20
- VideoSkin,
21
- formatTime,
22
- formatTimePhrase,
23
- registerElements,
24
- resolvePlayer,
25
- toISODuration
26
- } from "../chunk-eajts2jv.js";
27
- import"../chunk-36x4yhjn.js";
2
+ VideoPlayerElement2,
3
+ formatTime2,
4
+ formatTimePhrase2,
5
+ toISODuration2,
6
+ resolvePlayer2,
7
+ VideoSkin2,
8
+ MediaPlayButton2,
9
+ MediaMuteButton2,
10
+ MediaFullscreenButton2,
11
+ MediaPipButton2,
12
+ MediaTimeDisplay2,
13
+ MediaTimeGroup2,
14
+ MediaTimeSeparator2,
15
+ MediaPreviewTime2,
16
+ MediaProgressBar2,
17
+ MediaVolumeSlider2,
18
+ MediaSettingsMenu2,
19
+ MediaSeekButton2,
20
+ MediaPlaybackRateButton2,
21
+ MediaAirplayButton2,
22
+ MediaLiveButton2,
23
+ MediaErrorDisplay2,
24
+ MediaRemotePlaybackButton2,
25
+ registerElements2
26
+ } from "../chunk-d352kdh6.js";
28
27
  export {
29
- toISODuration,
30
- resolvePlayer,
31
- registerElements,
32
- formatTimePhrase,
33
- formatTime,
34
- VideoSkin,
35
- VideoPlayerElement,
36
- MediaVolumeSlider,
37
- MediaTimeSeparator,
38
- MediaTimeGroup,
39
- MediaTimeDisplay,
40
- MediaSettingsMenu,
41
- MediaSeekButton,
42
- MediaRemotePlaybackButton,
43
- MediaProgressBar,
44
- MediaPreviewTime,
45
- MediaPlaybackRateButton,
46
- MediaPlayButton,
47
- MediaPipButton,
48
- MediaMuteButton,
49
- MediaLiveButton,
50
- MediaFullscreenButton,
51
- MediaErrorDisplay,
52
- MediaAirplayButton
28
+ MediaAirplayButton2 as MediaAirplayButton,
29
+ MediaErrorDisplay2 as MediaErrorDisplay,
30
+ MediaFullscreenButton2 as MediaFullscreenButton,
31
+ MediaLiveButton2 as MediaLiveButton,
32
+ MediaMuteButton2 as MediaMuteButton,
33
+ MediaPipButton2 as MediaPipButton,
34
+ MediaPlayButton2 as MediaPlayButton,
35
+ MediaPlaybackRateButton2 as MediaPlaybackRateButton,
36
+ MediaPreviewTime2 as MediaPreviewTime,
37
+ MediaProgressBar2 as MediaProgressBar,
38
+ MediaRemotePlaybackButton2 as MediaRemotePlaybackButton,
39
+ MediaSeekButton2 as MediaSeekButton,
40
+ MediaSettingsMenu2 as MediaSettingsMenu,
41
+ MediaTimeDisplay2 as MediaTimeDisplay,
42
+ MediaTimeGroup2 as MediaTimeGroup,
43
+ MediaTimeSeparator2 as MediaTimeSeparator,
44
+ MediaVolumeSlider2 as MediaVolumeSlider,
45
+ VideoPlayerElement2 as VideoPlayerElement,
46
+ VideoSkin2 as VideoSkin,
47
+ formatTime2 as formatTime,
48
+ formatTimePhrase2 as formatTimePhrase,
49
+ registerElements2 as registerElements,
50
+ resolvePlayer2 as resolvePlayer,
51
+ toISODuration2 as toISODuration
53
52
  };