vidply 1.1.12 → 1.1.15

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 (71) hide show
  1. package/dist/dev/{vidply.AudioDescriptionManager-BUFHX3J2.js → vidply.AudioDescriptionManager-CHZNHJUE.js} +5 -5
  2. package/dist/dev/{vidply.DASHRenderer-FOAYYIJF.js → vidply.DASHRenderer-SOXXCGZJ.js} +2 -2
  3. package/dist/dev/{vidply.FloatingPlayerManager-3UNT4M6W.js → vidply.FloatingPlayerManager-42E4ZQTD.js} +4 -4
  4. package/dist/dev/{vidply.HLSRenderer-HH6XVVMY.js → vidply.HLSRenderer-WYYUCO5Y.js} +3 -3
  5. package/dist/dev/vidply.HTML5Renderer-N4VNX3M4.js +12 -0
  6. package/dist/dev/{vidply.SignLanguageManager-4M2MIZC3.js → vidply.SignLanguageManager-VEHB5DGN.js} +5 -5
  7. package/dist/dev/{vidply.SoundCloudRenderer-2JJDYREC.js → vidply.SoundCloudRenderer-BHHJFYQQ.js} +2 -2
  8. package/dist/dev/{vidply.TranscriptManager-F6PJXVO4.js → vidply.TranscriptManager-RFJZCTPK.js} +7 -7
  9. package/dist/dev/{vidply.VimeoRenderer-IO3K5LSS.js → vidply.VimeoRenderer-A5ZFPCVM.js} +2 -2
  10. package/dist/dev/{vidply.YouTubeRenderer-ZJHLTZZU.js → vidply.YouTubeRenderer-BRVX26CN.js} +2 -2
  11. package/dist/dev/{vidply.chunk-7KJ26XHK.js → vidply.chunk-4TFXLFHL.js} +2 -2
  12. package/dist/dev/{vidply.chunk-KKMHWBRM.js → vidply.chunk-BWWXQ3AR.js} +2 -2
  13. package/dist/dev/{vidply.chunk-TZTAOWPB.js → vidply.chunk-L4SWQRMY.js} +4 -4
  14. package/dist/dev/{vidply.chunk-QHRUGI7L.js → vidply.chunk-NG4YGDKN.js} +3 -3
  15. package/dist/dev/{vidply.chunk-SQ6JPO2C.js → vidply.chunk-NSVYEGDT.js} +6 -6
  16. package/dist/dev/{vidply.chunk-AGRQTQJL.js → vidply.chunk-PXMIHEZI.js} +3 -3
  17. package/dist/dev/{vidply.chunk-46U2YWJW.js → vidply.chunk-UX7EGBQP.js} +4 -4
  18. package/dist/dev/{vidply.de-WKTHZS7V.js → vidply.de-Q7UAZSH5.js} +2 -2
  19. package/dist/dev/{vidply.es-43TEOQ7X.js → vidply.es-YDTEZELK.js} +2 -2
  20. package/dist/dev/vidply.esm.js +17 -17
  21. package/dist/dev/{vidply.fr-DWFE563C.js → vidply.fr-QUVKSFZR.js} +2 -2
  22. package/dist/dev/{vidply.ja-2KWGACH2.js → vidply.ja-A67BVC3O.js} +2 -2
  23. package/dist/legacy/vidply.js +1 -1
  24. package/dist/legacy/vidply.min.js +1 -1
  25. package/dist/prod/{vidply.AudioDescriptionManager-X5IBMNM7.min.js → vidply.AudioDescriptionManager-L7DA3FWL.min.js} +2 -2
  26. package/dist/prod/{vidply.DASHRenderer-56SHWHFN.min.js → vidply.DASHRenderer-DFHYXZWY.min.js} +1 -1
  27. package/dist/prod/{vidply.FloatingPlayerManager-FP2EPESL.min.js → vidply.FloatingPlayerManager-QC3ACRBT.min.js} +2 -2
  28. package/dist/prod/{vidply.HLSRenderer-KDGO2GEU.min.js → vidply.HLSRenderer-Y24NJVTP.min.js} +2 -2
  29. package/dist/prod/vidply.HTML5Renderer-GQKSC6LT.min.js +6 -0
  30. package/dist/prod/{vidply.SignLanguageManager-TFFPBAN5.min.js → vidply.SignLanguageManager-GHYAZRV5.min.js} +2 -2
  31. package/dist/prod/{vidply.SoundCloudRenderer-VBBM46FY.min.js → vidply.SoundCloudRenderer-G3RE42LP.min.js} +1 -1
  32. package/dist/prod/{vidply.TranscriptManager-KQGUUYD4.min.js → vidply.TranscriptManager-PAYHSJ6S.min.js} +2 -2
  33. package/dist/prod/{vidply.VimeoRenderer-E456QYON.min.js → vidply.VimeoRenderer-L6XWHMLE.min.js} +1 -1
  34. package/dist/prod/{vidply.YouTubeRenderer-IPB6SQ2I.min.js → vidply.YouTubeRenderer-JTAYQAJL.min.js} +1 -1
  35. package/dist/prod/{vidply.chunk-TFIOVVVW.min.js → vidply.chunk-7GAHCBLN.min.js} +2 -2
  36. package/dist/prod/{vidply.chunk-R4GW3ADH.min.js → vidply.chunk-A6GKVQO5.min.js} +2 -2
  37. package/dist/prod/{vidply.chunk-FYSQ2U7B.min.js → vidply.chunk-ANXRCFE3.min.js} +2 -2
  38. package/dist/prod/{vidply.chunk-PYSBWJTI.min.js → vidply.chunk-CLSC3OUD.min.js} +1 -1
  39. package/dist/prod/{vidply.chunk-BNWQRQHX.min.js → vidply.chunk-JR6P7C7N.min.js} +1 -1
  40. package/dist/prod/{vidply.chunk-EBN67ABC.min.js → vidply.chunk-K5MEWG44.min.js} +2 -2
  41. package/dist/prod/{vidply.chunk-KANRCZJM.min.js → vidply.chunk-U3MPL5M3.min.js} +2 -2
  42. package/dist/prod/{vidply.de-ISOL3VDS.min.js → vidply.de-KMMLTXG3.min.js} +1 -1
  43. package/dist/prod/{vidply.es-U32GBZD6.min.js → vidply.es-ITN7WI3P.min.js} +1 -1
  44. package/dist/prod/vidply.esm.min.js +2 -2
  45. package/dist/prod/{vidply.fr-QDYS4CZW.min.js → vidply.fr-HQ6P3JTI.min.js} +1 -1
  46. package/dist/prod/{vidply.ja-WC2U6RI4.min.js → vidply.ja-DXCFD4ZQ.min.js} +1 -1
  47. package/dist/vidply.esm.min.meta.json +62 -62
  48. package/package.json +1 -1
  49. package/dist/dev/vidply.HTML5Renderer-EALCGW6I.js +0 -12
  50. package/dist/prod/vidply.HTML5Renderer-MD6GPCQP.min.js +0 -6
  51. /package/dist/dev/{vidply.AudioDescriptionManager-BUFHX3J2.js.map → vidply.AudioDescriptionManager-CHZNHJUE.js.map} +0 -0
  52. /package/dist/dev/{vidply.DASHRenderer-FOAYYIJF.js.map → vidply.DASHRenderer-SOXXCGZJ.js.map} +0 -0
  53. /package/dist/dev/{vidply.FloatingPlayerManager-3UNT4M6W.js.map → vidply.FloatingPlayerManager-42E4ZQTD.js.map} +0 -0
  54. /package/dist/dev/{vidply.HLSRenderer-HH6XVVMY.js.map → vidply.HLSRenderer-WYYUCO5Y.js.map} +0 -0
  55. /package/dist/dev/{vidply.HTML5Renderer-EALCGW6I.js.map → vidply.HTML5Renderer-N4VNX3M4.js.map} +0 -0
  56. /package/dist/dev/{vidply.SignLanguageManager-4M2MIZC3.js.map → vidply.SignLanguageManager-VEHB5DGN.js.map} +0 -0
  57. /package/dist/dev/{vidply.SoundCloudRenderer-2JJDYREC.js.map → vidply.SoundCloudRenderer-BHHJFYQQ.js.map} +0 -0
  58. /package/dist/dev/{vidply.TranscriptManager-F6PJXVO4.js.map → vidply.TranscriptManager-RFJZCTPK.js.map} +0 -0
  59. /package/dist/dev/{vidply.VimeoRenderer-IO3K5LSS.js.map → vidply.VimeoRenderer-A5ZFPCVM.js.map} +0 -0
  60. /package/dist/dev/{vidply.YouTubeRenderer-ZJHLTZZU.js.map → vidply.YouTubeRenderer-BRVX26CN.js.map} +0 -0
  61. /package/dist/dev/{vidply.chunk-7KJ26XHK.js.map → vidply.chunk-4TFXLFHL.js.map} +0 -0
  62. /package/dist/dev/{vidply.chunk-KKMHWBRM.js.map → vidply.chunk-BWWXQ3AR.js.map} +0 -0
  63. /package/dist/dev/{vidply.chunk-TZTAOWPB.js.map → vidply.chunk-L4SWQRMY.js.map} +0 -0
  64. /package/dist/dev/{vidply.chunk-QHRUGI7L.js.map → vidply.chunk-NG4YGDKN.js.map} +0 -0
  65. /package/dist/dev/{vidply.chunk-SQ6JPO2C.js.map → vidply.chunk-NSVYEGDT.js.map} +0 -0
  66. /package/dist/dev/{vidply.chunk-AGRQTQJL.js.map → vidply.chunk-PXMIHEZI.js.map} +0 -0
  67. /package/dist/dev/{vidply.chunk-46U2YWJW.js.map → vidply.chunk-UX7EGBQP.js.map} +0 -0
  68. /package/dist/dev/{vidply.de-WKTHZS7V.js.map → vidply.de-Q7UAZSH5.js.map} +0 -0
  69. /package/dist/dev/{vidply.es-43TEOQ7X.js.map → vidply.es-YDTEZELK.js.map} +0 -0
  70. /package/dist/dev/{vidply.fr-DWFE563C.js.map → vidply.fr-QUVKSFZR.js.map} +0 -0
  71. /package/dist/dev/{vidply.ja-2KWGACH2.js.map → vidply.ja-A67BVC3O.js.map} +0 -0
@@ -1,13 +1,13 @@
1
1
  /*!
2
- * VidPly v1.1.12 - Universal, Accessible Video Player
2
+ * VidPly v1.1.15 - Universal, Accessible Video Player
3
3
  * (c) 2026 Matthias Peltzer
4
4
  * Released under GPL-2.0-or-later License
5
5
  */
6
6
  import {
7
7
  CaptionManager
8
- } from "./vidply.chunk-TZTAOWPB.js";
9
- import "./vidply.chunk-QHRUGI7L.js";
10
- import "./vidply.chunk-SQ6JPO2C.js";
8
+ } from "./vidply.chunk-L4SWQRMY.js";
9
+ import "./vidply.chunk-NG4YGDKN.js";
10
+ import "./vidply.chunk-NSVYEGDT.js";
11
11
 
12
12
  // src/core/AudioDescriptionManager.ts
13
13
  var AudioDescriptionManager = class {
@@ -584,4 +584,4 @@ var AudioDescriptionManager = class {
584
584
  export {
585
585
  AudioDescriptionManager
586
586
  };
587
- //# sourceMappingURL=vidply.AudioDescriptionManager-BUFHX3J2.js.map
587
+ //# sourceMappingURL=vidply.AudioDescriptionManager-CHZNHJUE.js.map
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * VidPly v1.1.12 - Universal, Accessible Video Player
2
+ * VidPly v1.1.15 - Universal, Accessible Video Player
3
3
  * (c) 2026 Matthias Peltzer
4
4
  * Released under GPL-2.0-or-later License
5
5
  */
@@ -838,4 +838,4 @@ var DASHRenderer = class {
838
838
  export {
839
839
  DASHRenderer
840
840
  };
841
- //# sourceMappingURL=vidply.DASHRenderer-FOAYYIJF.js.map
841
+ //# sourceMappingURL=vidply.DASHRenderer-SOXXCGZJ.js.map
@@ -1,16 +1,16 @@
1
1
  /*!
2
- * VidPly v1.1.12 - Universal, Accessible Video Player
2
+ * VidPly v1.1.15 - Universal, Accessible Video Player
3
3
  * (c) 2026 Matthias Peltzer
4
4
  * Released under GPL-2.0-or-later License
5
5
  */
6
6
  import {
7
7
  DraggableResizable,
8
8
  createIconElement
9
- } from "./vidply.chunk-7KJ26XHK.js";
9
+ } from "./vidply.chunk-4TFXLFHL.js";
10
10
  import {
11
11
  DOMUtils,
12
12
  i18n
13
- } from "./vidply.chunk-SQ6JPO2C.js";
13
+ } from "./vidply.chunk-NSVYEGDT.js";
14
14
 
15
15
  // src/core/FloatingPlayerManager.ts
16
16
  var FLOATING_CLAIM_EVENT = "vidply:floating-claim";
@@ -511,4 +511,4 @@ var FloatingPlayerManager = class {
511
511
  export {
512
512
  FloatingPlayerManager
513
513
  };
514
- //# sourceMappingURL=vidply.FloatingPlayerManager-3UNT4M6W.js.map
514
+ //# sourceMappingURL=vidply.FloatingPlayerManager-42E4ZQTD.js.map
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * VidPly v1.1.12 - Universal, Accessible Video Player
2
+ * VidPly v1.1.15 - Universal, Accessible Video Player
3
3
  * (c) 2026 Matthias Peltzer
4
4
  * Released under GPL-2.0-or-later License
5
5
  */
@@ -63,7 +63,7 @@ var HLSRenderer = class {
63
63
  return video.canPlayType("application/vnd.apple.mpegurl") !== "";
64
64
  }
65
65
  async initNative() {
66
- const HTML5Renderer = (await import("./vidply.HTML5Renderer-EALCGW6I.js")).HTML5Renderer;
66
+ const HTML5Renderer = (await import("./vidply.HTML5Renderer-N4VNX3M4.js")).HTML5Renderer;
67
67
  const renderer = new HTML5Renderer(this.player);
68
68
  await renderer.init();
69
69
  Object.getOwnPropertyNames(Object.getPrototypeOf(renderer)).forEach((method) => {
@@ -654,4 +654,4 @@ var HLSRenderer = class {
654
654
  export {
655
655
  HLSRenderer
656
656
  };
657
- //# sourceMappingURL=vidply.HLSRenderer-HH6XVVMY.js.map
657
+ //# sourceMappingURL=vidply.HLSRenderer-WYYUCO5Y.js.map
@@ -0,0 +1,12 @@
1
+ /*!
2
+ * VidPly v1.1.15 - Universal, Accessible Video Player
3
+ * (c) 2026 Matthias Peltzer
4
+ * Released under GPL-2.0-or-later License
5
+ */
6
+ import {
7
+ HTML5Renderer
8
+ } from "./vidply.chunk-BWWXQ3AR.js";
9
+ export {
10
+ HTML5Renderer
11
+ };
12
+ //# sourceMappingURL=vidply.HTML5Renderer-N4VNX3M4.js.map
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * VidPly v1.1.12 - Universal, Accessible Video Player
2
+ * VidPly v1.1.15 - Universal, Accessible Video Player
3
3
  * (c) 2026 Matthias Peltzer
4
4
  * Released under GPL-2.0-or-later License
5
5
  */
@@ -9,15 +9,15 @@ import {
9
9
  createMenuItem,
10
10
  focusFirstMenuItem,
11
11
  preventDragOnElement
12
- } from "./vidply.chunk-46U2YWJW.js";
12
+ } from "./vidply.chunk-UX7EGBQP.js";
13
13
  import {
14
14
  DraggableResizable,
15
15
  createIconElement
16
- } from "./vidply.chunk-7KJ26XHK.js";
16
+ } from "./vidply.chunk-4TFXLFHL.js";
17
17
  import {
18
18
  DOMUtils,
19
19
  i18n
20
- } from "./vidply.chunk-SQ6JPO2C.js";
20
+ } from "./vidply.chunk-NSVYEGDT.js";
21
21
 
22
22
  // src/core/SignLanguageManager.ts
23
23
  var SignLanguageManager = class {
@@ -1250,4 +1250,4 @@ var SignLanguageManager = class {
1250
1250
  export {
1251
1251
  SignLanguageManager
1252
1252
  };
1253
- //# sourceMappingURL=vidply.SignLanguageManager-4M2MIZC3.js.map
1253
+ //# sourceMappingURL=vidply.SignLanguageManager-VEHB5DGN.js.map
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * VidPly v1.1.12 - Universal, Accessible Video Player
2
+ * VidPly v1.1.15 - Universal, Accessible Video Player
3
3
  * (c) 2026 Matthias Peltzer
4
4
  * Released under GPL-2.0-or-later License
5
5
  */
@@ -308,4 +308,4 @@ export {
308
308
  SoundCloudRenderer,
309
309
  SoundCloudRenderer_default as default
310
310
  };
311
- //# sourceMappingURL=vidply.SoundCloudRenderer-2JJDYREC.js.map
311
+ //# sourceMappingURL=vidply.SoundCloudRenderer-BHHJFYQQ.js.map
@@ -1,30 +1,30 @@
1
1
  /*!
2
- * VidPly v1.1.12 - Universal, Accessible Video Player
2
+ * VidPly v1.1.15 - Universal, Accessible Video Player
3
3
  * (c) 2026 Matthias Peltzer
4
4
  * Released under GPL-2.0-or-later License
5
5
  */
6
6
  import {
7
7
  TimeUtils
8
- } from "./vidply.chunk-AGRQTQJL.js";
8
+ } from "./vidply.chunk-PXMIHEZI.js";
9
9
  import {
10
10
  StorageManager,
11
11
  deriveTrackLabel
12
- } from "./vidply.chunk-QHRUGI7L.js";
12
+ } from "./vidply.chunk-NG4YGDKN.js";
13
13
  import {
14
14
  attachMenuKeyboardNavigation,
15
15
  createLabeledSelect,
16
16
  createMenuItem,
17
17
  focusElement,
18
18
  preventDragOnElement
19
- } from "./vidply.chunk-46U2YWJW.js";
19
+ } from "./vidply.chunk-UX7EGBQP.js";
20
20
  import {
21
21
  DraggableResizable,
22
22
  createIconElement
23
- } from "./vidply.chunk-7KJ26XHK.js";
23
+ } from "./vidply.chunk-4TFXLFHL.js";
24
24
  import {
25
25
  DOMUtils,
26
26
  i18n
27
- } from "./vidply.chunk-SQ6JPO2C.js";
27
+ } from "./vidply.chunk-NSVYEGDT.js";
28
28
 
29
29
  // src/controls/TranscriptManager.ts
30
30
  var TranscriptManager = class {
@@ -1995,4 +1995,4 @@ var TranscriptManager = class {
1995
1995
  export {
1996
1996
  TranscriptManager
1997
1997
  };
1998
- //# sourceMappingURL=vidply.TranscriptManager-F6PJXVO4.js.map
1998
+ //# sourceMappingURL=vidply.TranscriptManager-RFJZCTPK.js.map
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * VidPly v1.1.12 - Universal, Accessible Video Player
2
+ * VidPly v1.1.15 - Universal, Accessible Video Player
3
3
  * (c) 2026 Matthias Peltzer
4
4
  * Released under GPL-2.0-or-later License
5
5
  */
@@ -231,4 +231,4 @@ var VimeoRenderer = class {
231
231
  export {
232
232
  VimeoRenderer
233
233
  };
234
- //# sourceMappingURL=vidply.VimeoRenderer-IO3K5LSS.js.map
234
+ //# sourceMappingURL=vidply.VimeoRenderer-A5ZFPCVM.js.map
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * VidPly v1.1.12 - Universal, Accessible Video Player
2
+ * VidPly v1.1.15 - Universal, Accessible Video Player
3
3
  * (c) 2026 Matthias Peltzer
4
4
  * Released under GPL-2.0-or-later License
5
5
  */
@@ -248,4 +248,4 @@ var YouTubeRenderer = class {
248
248
  export {
249
249
  YouTubeRenderer
250
250
  };
251
- //# sourceMappingURL=vidply.YouTubeRenderer-ZJHLTZZU.js.map
251
+ //# sourceMappingURL=vidply.YouTubeRenderer-BRVX26CN.js.map
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * VidPly v1.1.12 - Universal, Accessible Video Player
2
+ * VidPly v1.1.15 - Universal, Accessible Video Player
3
3
  * (c) 2026 Matthias Peltzer
4
4
  * Released under GPL-2.0-or-later License
5
5
  */
@@ -826,4 +826,4 @@ export {
826
826
  createPlayOverlay,
827
827
  DraggableResizable
828
828
  };
829
- //# sourceMappingURL=vidply.chunk-7KJ26XHK.js.map
829
+ //# sourceMappingURL=vidply.chunk-4TFXLFHL.js.map
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * VidPly v1.1.12 - Universal, Accessible Video Player
2
+ * VidPly v1.1.15 - Universal, Accessible Video Player
3
3
  * (c) 2026 Matthias Peltzer
4
4
  * Released under GPL-2.0-or-later License
5
5
  */
@@ -293,4 +293,4 @@ var HTML5Renderer = class {
293
293
  export {
294
294
  HTML5Renderer
295
295
  };
296
- //# sourceMappingURL=vidply.chunk-KKMHWBRM.js.map
296
+ //# sourceMappingURL=vidply.chunk-BWWXQ3AR.js.map
@@ -1,16 +1,16 @@
1
1
  /*!
2
- * VidPly v1.1.12 - Universal, Accessible Video Player
2
+ * VidPly v1.1.15 - Universal, Accessible Video Player
3
3
  * (c) 2026 Matthias Peltzer
4
4
  * Released under GPL-2.0-or-later License
5
5
  */
6
6
  import {
7
7
  StorageManager,
8
8
  deriveTrackLabel
9
- } from "./vidply.chunk-QHRUGI7L.js";
9
+ } from "./vidply.chunk-NG4YGDKN.js";
10
10
  import {
11
11
  DOMUtils,
12
12
  i18n
13
- } from "./vidply.chunk-SQ6JPO2C.js";
13
+ } from "./vidply.chunk-NSVYEGDT.js";
14
14
 
15
15
  // src/utils/PerformanceUtils.ts
16
16
  function debounce(func, wait = 100) {
@@ -476,4 +476,4 @@ export {
476
476
  rafWithTimeout,
477
477
  CaptionManager
478
478
  };
479
- //# sourceMappingURL=vidply.chunk-TZTAOWPB.js.map
479
+ //# sourceMappingURL=vidply.chunk-L4SWQRMY.js.map
@@ -1,11 +1,11 @@
1
1
  /*!
2
- * VidPly v1.1.12 - Universal, Accessible Video Player
2
+ * VidPly v1.1.15 - Universal, Accessible Video Player
3
3
  * (c) 2026 Matthias Peltzer
4
4
  * Released under GPL-2.0-or-later License
5
5
  */
6
6
  import {
7
7
  i18n
8
- } from "./vidply.chunk-SQ6JPO2C.js";
8
+ } from "./vidply.chunk-NSVYEGDT.js";
9
9
 
10
10
  // src/utils/StorageManager.ts
11
11
  function clamp(n, min, max) {
@@ -261,4 +261,4 @@ export {
261
261
  StorageManager,
262
262
  deriveTrackLabel
263
263
  };
264
- //# sourceMappingURL=vidply.chunk-QHRUGI7L.js.map
264
+ //# sourceMappingURL=vidply.chunk-NG4YGDKN.js.map
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * VidPly v1.1.12 - Universal, Accessible Video Player
2
+ * VidPly v1.1.15 - Universal, Accessible Video Player
3
3
  * (c) 2026 Matthias Peltzer
4
4
  * Released under GPL-2.0-or-later License
5
5
  */
@@ -428,10 +428,10 @@ var en = {
428
428
 
429
429
  // src/i18n/translations.ts
430
430
  var builtInLanguageLoaders = {
431
- de: () => import("./vidply.de-WKTHZS7V.js"),
432
- es: () => import("./vidply.es-43TEOQ7X.js"),
433
- fr: () => import("./vidply.fr-DWFE563C.js"),
434
- ja: () => import("./vidply.ja-2KWGACH2.js")
431
+ de: () => import("./vidply.de-Q7UAZSH5.js"),
432
+ es: () => import("./vidply.es-YDTEZELK.js"),
433
+ fr: () => import("./vidply.fr-QUVKSFZR.js"),
434
+ ja: () => import("./vidply.ja-A67BVC3O.js")
435
435
  };
436
436
  function getBaseTranslations() {
437
437
  return { en };
@@ -626,4 +626,4 @@ export {
626
626
  DOMUtils,
627
627
  i18n
628
628
  };
629
- //# sourceMappingURL=vidply.chunk-SQ6JPO2C.js.map
629
+ //# sourceMappingURL=vidply.chunk-NSVYEGDT.js.map
@@ -1,11 +1,11 @@
1
1
  /*!
2
- * VidPly v1.1.12 - Universal, Accessible Video Player
2
+ * VidPly v1.1.15 - Universal, Accessible Video Player
3
3
  * (c) 2026 Matthias Peltzer
4
4
  * Released under GPL-2.0-or-later License
5
5
  */
6
6
  import {
7
7
  i18n
8
- } from "./vidply.chunk-SQ6JPO2C.js";
8
+ } from "./vidply.chunk-NSVYEGDT.js";
9
9
 
10
10
  // src/utils/TimeUtils.ts
11
11
  var TimeUtils = {
@@ -64,4 +64,4 @@ var TimeUtils = {
64
64
  export {
65
65
  TimeUtils
66
66
  };
67
- //# sourceMappingURL=vidply.chunk-AGRQTQJL.js.map
67
+ //# sourceMappingURL=vidply.chunk-PXMIHEZI.js.map
@@ -1,15 +1,15 @@
1
1
  /*!
2
- * VidPly v1.1.12 - Universal, Accessible Video Player
2
+ * VidPly v1.1.15 - Universal, Accessible Video Player
3
3
  * (c) 2026 Matthias Peltzer
4
4
  * Released under GPL-2.0-or-later License
5
5
  */
6
6
  import {
7
7
  createIconElement
8
- } from "./vidply.chunk-7KJ26XHK.js";
8
+ } from "./vidply.chunk-4TFXLFHL.js";
9
9
  import {
10
10
  DOMUtils,
11
11
  i18n
12
- } from "./vidply.chunk-SQ6JPO2C.js";
12
+ } from "./vidply.chunk-NSVYEGDT.js";
13
13
 
14
14
  // src/utils/FocusUtils.ts
15
15
  function focusElement(element, { delay = 0, preventScroll = true } = {}) {
@@ -219,4 +219,4 @@ export {
219
219
  createLabeledSelect,
220
220
  preventDragOnElement
221
221
  };
222
- //# sourceMappingURL=vidply.chunk-46U2YWJW.js.map
222
+ //# sourceMappingURL=vidply.chunk-UX7EGBQP.js.map
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * VidPly v1.1.12 - Universal, Accessible Video Player
2
+ * VidPly v1.1.15 - Universal, Accessible Video Player
3
3
  * (c) 2026 Matthias Peltzer
4
4
  * Released under GPL-2.0-or-later License
5
5
  */
@@ -214,4 +214,4 @@ var de = {
214
214
  export {
215
215
  de
216
216
  };
217
- //# sourceMappingURL=vidply.de-WKTHZS7V.js.map
217
+ //# sourceMappingURL=vidply.de-Q7UAZSH5.js.map
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * VidPly v1.1.12 - Universal, Accessible Video Player
2
+ * VidPly v1.1.15 - Universal, Accessible Video Player
3
3
  * (c) 2026 Matthias Peltzer
4
4
  * Released under GPL-2.0-or-later License
5
5
  */
@@ -211,4 +211,4 @@ var es = {
211
211
  export {
212
212
  es
213
213
  };
214
- //# sourceMappingURL=vidply.es-43TEOQ7X.js.map
214
+ //# sourceMappingURL=vidply.es-YDTEZELK.js.map
@@ -1,24 +1,24 @@
1
1
  /*!
2
- * VidPly v1.1.12 - Universal, Accessible Video Player
2
+ * VidPly v1.1.15 - Universal, Accessible Video Player
3
3
  * (c) 2026 Matthias Peltzer
4
4
  * Released under GPL-2.0-or-later License
5
5
  */
6
6
  import {
7
7
  TimeUtils
8
- } from "./vidply.chunk-AGRQTQJL.js";
8
+ } from "./vidply.chunk-PXMIHEZI.js";
9
9
  import {
10
10
  HTML5Renderer
11
- } from "./vidply.chunk-KKMHWBRM.js";
11
+ } from "./vidply.chunk-BWWXQ3AR.js";
12
12
  import {
13
13
  CaptionManager,
14
14
  debounce,
15
15
  isMobile,
16
16
  rafWithTimeout,
17
17
  throttle
18
- } from "./vidply.chunk-TZTAOWPB.js";
18
+ } from "./vidply.chunk-L4SWQRMY.js";
19
19
  import {
20
20
  StorageManager
21
- } from "./vidply.chunk-QHRUGI7L.js";
21
+ } from "./vidply.chunk-NG4YGDKN.js";
22
22
  import {
23
23
  attachMenuKeyboardNavigation,
24
24
  createLabeledSelect,
@@ -27,16 +27,16 @@ import {
27
27
  focusFirstElement,
28
28
  focusFirstMenuItem,
29
29
  preventDragOnElement
30
- } from "./vidply.chunk-46U2YWJW.js";
30
+ } from "./vidply.chunk-UX7EGBQP.js";
31
31
  import {
32
32
  DraggableResizable,
33
33
  createIconElement,
34
34
  createPlayOverlay
35
- } from "./vidply.chunk-7KJ26XHK.js";
35
+ } from "./vidply.chunk-4TFXLFHL.js";
36
36
  import {
37
37
  DOMUtils,
38
38
  i18n
39
- } from "./vidply.chunk-SQ6JPO2C.js";
39
+ } from "./vidply.chunk-NSVYEGDT.js";
40
40
 
41
41
  // src/utils/EventEmitter.ts
42
42
  var EventEmitter = class {
@@ -3702,21 +3702,21 @@ var SignLanguageManagerModule = null;
3702
3702
  var FloatingPlayerManagerModule = null;
3703
3703
  async function loadAudioDescriptionManager() {
3704
3704
  if (!AudioDescriptionManagerModule) {
3705
- const module = await import("./vidply.AudioDescriptionManager-BUFHX3J2.js");
3705
+ const module = await import("./vidply.AudioDescriptionManager-CHZNHJUE.js");
3706
3706
  AudioDescriptionManagerModule = module.AudioDescriptionManager;
3707
3707
  }
3708
3708
  return AudioDescriptionManagerModule;
3709
3709
  }
3710
3710
  async function loadSignLanguageManager() {
3711
3711
  if (!SignLanguageManagerModule) {
3712
- const module = await import("./vidply.SignLanguageManager-4M2MIZC3.js");
3712
+ const module = await import("./vidply.SignLanguageManager-VEHB5DGN.js");
3713
3713
  SignLanguageManagerModule = module.SignLanguageManager;
3714
3714
  }
3715
3715
  return SignLanguageManagerModule;
3716
3716
  }
3717
3717
  async function loadFloatingPlayerManager() {
3718
3718
  if (!FloatingPlayerManagerModule) {
3719
- const module = await import("./vidply.FloatingPlayerManager-3UNT4M6W.js");
3719
+ const module = await import("./vidply.FloatingPlayerManager-42E4ZQTD.js");
3720
3720
  FloatingPlayerManagerModule = module.FloatingPlayerManager;
3721
3721
  }
3722
3722
  return FloatingPlayerManagerModule;
@@ -4351,7 +4351,7 @@ var Player = class _Player extends EventEmitter {
4351
4351
  if (!this.options.transcript && !this.options.transcriptButton) {
4352
4352
  return null;
4353
4353
  }
4354
- const module = await import("./vidply.TranscriptManager-F6PJXVO4.js");
4354
+ const module = await import("./vidply.TranscriptManager-RFJZCTPK.js");
4355
4355
  const Manager = module.TranscriptManager || module.default;
4356
4356
  if (!Manager) {
4357
4357
  return null;
@@ -5001,19 +5001,19 @@ var Player = class _Player extends EventEmitter {
5001
5001
  }
5002
5002
  async _detectRendererClass(src) {
5003
5003
  if (src.includes("youtube.com") || src.includes("youtu.be")) {
5004
- const module = await import("./vidply.YouTubeRenderer-ZJHLTZZU.js");
5004
+ const module = await import("./vidply.YouTubeRenderer-BRVX26CN.js");
5005
5005
  return module.YouTubeRenderer || module.default;
5006
5006
  } else if (src.includes("vimeo.com")) {
5007
- const module = await import("./vidply.VimeoRenderer-IO3K5LSS.js");
5007
+ const module = await import("./vidply.VimeoRenderer-A5ZFPCVM.js");
5008
5008
  return module.VimeoRenderer || module.default;
5009
5009
  } else if (src.includes(".m3u8")) {
5010
- const module = await import("./vidply.HLSRenderer-HH6XVVMY.js");
5010
+ const module = await import("./vidply.HLSRenderer-WYYUCO5Y.js");
5011
5011
  return module.HLSRenderer || module.default;
5012
5012
  } else if (src.includes(".mpd")) {
5013
- const module = await import("./vidply.DASHRenderer-FOAYYIJF.js");
5013
+ const module = await import("./vidply.DASHRenderer-SOXXCGZJ.js");
5014
5014
  return module.DASHRenderer || module.default;
5015
5015
  } else if (src.includes("soundcloud.com") || src.includes("api.soundcloud.com")) {
5016
- const module = await import("./vidply.SoundCloudRenderer-2JJDYREC.js");
5016
+ const module = await import("./vidply.SoundCloudRenderer-BHHJFYQQ.js");
5017
5017
  return module.SoundCloudRenderer || module.default;
5018
5018
  }
5019
5019
  return HTML5Renderer;
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * VidPly v1.1.12 - Universal, Accessible Video Player
2
+ * VidPly v1.1.15 - Universal, Accessible Video Player
3
3
  * (c) 2026 Matthias Peltzer
4
4
  * Released under GPL-2.0-or-later License
5
5
  */
@@ -211,4 +211,4 @@ var fr = {
211
211
  export {
212
212
  fr
213
213
  };
214
- //# sourceMappingURL=vidply.fr-DWFE563C.js.map
214
+ //# sourceMappingURL=vidply.fr-QUVKSFZR.js.map
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * VidPly v1.1.12 - Universal, Accessible Video Player
2
+ * VidPly v1.1.15 - Universal, Accessible Video Player
3
3
  * (c) 2026 Matthias Peltzer
4
4
  * Released under GPL-2.0-or-later License
5
5
  */
@@ -211,4 +211,4 @@ var ja = {
211
211
  export {
212
212
  ja
213
213
  };
214
- //# sourceMappingURL=vidply.ja-2KWGACH2.js.map
214
+ //# sourceMappingURL=vidply.ja-A67BVC3O.js.map
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * VidPly v1.1.12 - Universal, Accessible Video Player
2
+ * VidPly v1.1.15 - Universal, Accessible Video Player
3
3
  * (c) 2026 Matthias Peltzer
4
4
  * Released under GPL-2.0-or-later License
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * VidPly v1.1.12 - Universal, Accessible Video Player
2
+ * VidPly v1.1.15 - Universal, Accessible Video Player
3
3
  * (c) 2026 Matthias Peltzer
4
4
  * Released under GPL-2.0-or-later License
5
5
  */
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * VidPly v1.1.12 - Universal, Accessible Video Player
2
+ * VidPly v1.1.15 - Universal, Accessible Video Player
3
3
  * (c) 2026 Matthias Peltzer
4
4
  * Released under GPL-2.0-or-later License
5
5
  */
6
- import{CaptionManager as e}from"./vidply.chunk-EBN67ABC.min.js";import"./vidply.chunk-KANRCZJM.min.js";import"./vidply.chunk-TFIOVVVW.min.js";var t=class{player;captionTracks;desiredState;enabled;originalSource;sourceElement;src;constructor(e){this.player=e,this.enabled=!1,this.desiredState=!1,this.src=e.options.audioDescriptionSrc,this.sourceElement=null,this.originalSource=null,this.captionTracks=[]}initFromSourceElements(e,t){for(const t of e){const e=t.getAttribute("data-desc-src"),i=t.getAttribute("data-orig-src");if(e||i){if(this.sourceElement||(this.sourceElement=t),i)this.originalSource||(this.originalSource=i),this.player.originalSrc||(this.player.originalSrc=i);else{const e=t.getAttribute("src");!this.originalSource&&e&&(this.originalSource=e),!this.player.originalSrc&&e&&(this.player.originalSrc=e)}e&&!this.src&&(this.src=e)}}t.forEach(e=>{const t=e.getAttribute("kind"),i=e.getAttribute("data-desc-src");"captions"!==t&&"subtitles"!==t&&"chapters"!==t&&"descriptions"!==t||!i||(this.captionTracks.push({trackElement:e,originalSrc:e.getAttribute("src"),describedSrc:i,originalTrackSrc:e.getAttribute("data-orig-src")||e.getAttribute("src"),explicit:!0}),this.player.log(`Found explicit described ${t} track: ${e.getAttribute("src")} -> ${i}`))})}isAvailable(){const e=this.player.sourceElements.some(e=>e.getAttribute("data-desc-src"));return!!(this.src||e||this.captionTracks.length>0)}async enable(){const e=this.player.sourceElements.some(e=>e.getAttribute("data-desc-src")),t=this.captionTracks.length>0;if(!this.src&&!e&&!t)return void console.warn("VidPly: No audio description source, source elements, or tracks provided");this.desiredState=!0;const i=this.player.state.currentTime,a=this.player.state.playing,r=this.player.element.poster||this.player.element.getAttribute("poster")||this.player.options.poster,s=i<.1&&!a,n=this._getCurrentCaptionText();this.sourceElement?await this._enableWithSourceElement(i,a,r,s,n):this.src?await this._enableWithDirectSrc(i,a,r,s):t&&(await this._swapCaptionTracks(!0),this.enabled=!0,this.player.emit("audiodescriptionenabled"))}async disable(){if(this.desiredState=!1,!this.sourceElement&&!this.src&&this.captionTracks.length>0)return await this._swapCaptionTracks(!1),this.enabled=!1,void this.player.emit("audiodescriptiondisabled");if(!this.player.originalSrc)return;const e=this.player.state.currentTime,t=this.player.state.playing,i=this.player.element.poster||this.player.element.getAttribute("poster")||this.player.options.poster,a=e<.1&&!t,r=this._getCurrentCaptionText();this.sourceElement?await this._disableWithSourceElement(e,t,i,a,r):this.src&&await this._disableWithDirectSrc(e,t,i)}async toggle(){const e=this.player.findTextTrack("descriptions"),t=this.isAvailable();e&&!t?"showing"===e.mode?(e.mode="hidden",this.enabled=!1,this.player.emit("audiodescriptiondisabled")):(e.mode="showing",this.enabled=!0,this.player.emit("audiodescriptionenabled")):e&&t?this.enabled?(this.desiredState=!1,await this.disable()):(e.mode="showing",this.desiredState=!0,await this.enable()):t&&(this.enabled?(this.desiredState=!1,await this.disable()):(this.desiredState=!0,await this.enable()))}_getCurrentCaptionText(){return this.player.captionManager&&this.player.captionManager.currentTrack&&this.player.captionManager.currentCue?this.player.captionManager.currentCue.text:null}async _validateTrackExists(e){if("string"!=typeof e||!e)return!1;const t=[],i=this.player.lifecycleSignal;let a;if(i&&t.push(i),"undefined"!=typeof AbortSignal&&"function"==typeof AbortSignal.timeout&&t.push(AbortSignal.timeout(8e3)),1===t.length)a=t[0];else if(t.length>1){const e=AbortSignal.any;a=e?e(t):t[0]}try{return(await fetch(e,{method:"HEAD",signal:a})).ok}catch{return!1}}async _swapCaptionTracks(e=!0){if(0===this.captionTracks.length)return[];const t=[],i=this.captionTracks.map(async t=>{if(t.trackElement&&t.describedSrc&&!0===t.explicit)try{return{trackInfo:t,exists:await this._validateTrackExists(e?t.describedSrc:t.originalSrc)}}catch{return{trackInfo:t,exists:!1}}return{trackInfo:t,exists:!1}}),a=(await Promise.all(i)).filter(e=>e.exists);if(a.length>0){const i=new Map;a.forEach(({trackInfo:e})=>{const t=e.trackElement.track;i.set(e,t?{wasShowing:"showing"===t.mode,wasHidden:"hidden"===t.mode}:{wasShowing:!1,wasHidden:!1})});const r=a.map(({trackInfo:e})=>{const t={};Array.from(e.trackElement.attributes).forEach(e=>{t[e.name]=e.value});const i={trackInfo:e,oldSrc:e.trackElement.getAttribute("src"),parent:e.trackElement.parentNode,nextSibling:e.trackElement.nextSibling,attributes:t};return e.trackElement.remove(),i});this.player.element.load(),await new Promise(a=>{setTimeout(()=>{r.forEach(({trackInfo:i,parent:a,nextSibling:r,attributes:s})=>{t.push(i);const n=document.createElement("track");n.setAttribute("src",e?i.describedSrc:i.originalSrc),Object.keys(s).forEach(e=>{"src"!==e&&"data-desc-src"!==e&&n.setAttribute(e,s[e])});const l=a||this.player.element;r&&r.parentNode?l.insertBefore(n,r):l.appendChild(n),i.trackElement=n}),this.player.invalidateTrackCache();const s=()=>{this.player.setManagedTimeout(()=>{t.forEach(e=>{const t=e.trackElement.track;if(t){const a=i.get(e)||{wasShowing:!1,wasHidden:!1};t.mode="hidden";const r=()=>{t.mode=a.wasShowing||a.wasHidden?"hidden":"disabled"};t.readyState>=2?r():(t.addEventListener("load",r,{once:!0}),t.addEventListener("error",r,{once:!0}))}})},300)};this.player.element.readyState>=1?setTimeout(s,200):(this.player.element.addEventListener("loadedmetadata",s,{once:!0}),setTimeout(s,2e3)),a()},100)})}return t}_updateSourceElements(e=!0){const t=this.player.sourceElements,i=[];t.forEach(t=>{const a=t.getAttribute("data-desc-src"),r=t.getAttribute("src");if(a){const s=t.getAttribute("type");let n=t.getAttribute("data-orig-src")||r;i.push({src:e?a:n,type:s,origSrc:n,descSrc:a})}else i.push({src:t.getAttribute("src"),type:t.getAttribute("type"),origSrc:null,descSrc:null})}),this.player.element.hasAttribute("src")&&this.player.element.removeAttribute("src"),t.forEach(e=>e.remove()),i.forEach(e=>{if(!e.src)return;const t=document.createElement("source");t.setAttribute("src",e.src),e.type&&t.setAttribute("type",e.type),e.origSrc&&t.setAttribute("data-orig-src",e.origSrc),e.descSrc&&t.setAttribute("data-desc-src",e.descSrc);const i=this.player.element.querySelector("track");i?this.player.element.insertBefore(t,i):this.player.element.appendChild(t)}),this.player._sourceElementsDirty=!0,this.player._sourceElementsCache=null}async _waitForMediaReady(e=!1){await new Promise(e=>{if(this.player.element.readyState>=1)e();else{const t=()=>{this.player.element.removeEventListener("loadedmetadata",t),e()};this.player.element.addEventListener("loadedmetadata",t)}}),await new Promise(e=>setTimeout(e,300)),e&&await new Promise(e=>{if(this.player.element.readyState>=3)e();else{const t=()=>{this.player.element.removeEventListener("canplay",t),this.player.element.removeEventListener("canplaythrough",t),e()};this.player.element.addEventListener("canplay",t,{once:!0}),this.player.element.addEventListener("canplaythrough",t,{once:!0}),setTimeout(()=>{this.player.element.removeEventListener("canplay",t),this.player.element.removeEventListener("canplaythrough",t),e()},3e3)}})}async _restorePlaybackState(e,t,i,a){let r=e;if(a&&this.player.captionManager&&this.player.captionManager.tracks.length>0){await new Promise(e=>setTimeout(e,500));const t=this.player.findMatchingCaptionTime(a,this.player.captionManager.tracks);null!==t&&(r=t,this.player.options.debug&&this.player.log(`[VidPly] Syncing via caption: ${e}s -> ${r}s`))}r>0&&(this.player.seek(r),await new Promise(e=>setTimeout(e,100))),t?(await this.player.play(),this.player.setManagedTimeout(()=>{this.player.hidePosterOverlay()},100)):(this.player.pause(),i||this.player.hidePosterOverlay())}async _enableWithSourceElement(e,t,i,a,r){await this._swapCaptionTracks(!0),this._updateSourceElements(!0),i&&"VIDEO"===this.player.element.tagName&&(this.player.element.poster=i),this.player.element.load(),await this._waitForMediaReady(e>0||t),await this._restorePlaybackState(e,t,a,r),this.desiredState&&(this.enabled=!0,this.player.state.audioDescriptionEnabled=!0,this.player.emit("audiodescriptionenabled"),this._reloadTranscript())}async _enableWithDirectSrc(e,t,i,a){await this._swapCaptionTracks(!0),i&&"VIDEO"===this.player.element.tagName&&(this.player.element.poster=i),this.player.element.src=this.src,await this._waitForMediaReady(e>0||t),e>0&&(this.player.seek(e),await new Promise(e=>setTimeout(e,100))),t?await this.player.play():(this.player.pause(),a||this.player.hidePosterOverlay()),this.desiredState&&(this.enabled=!0,this.player.state.audioDescriptionEnabled=!0,this.player.emit("audiodescriptionenabled"),this._reloadTranscript())}async _disableWithSourceElement(t,i,a,r,s){await this._swapCaptionTracks(!1),this._updateSourceElements(!1),a&&"VIDEO"===this.player.element.tagName&&(this.player.element.poster=a),this.player.element.load(),this.player.invalidateTrackCache(),await this._waitForMediaReady(t>0||i),await this._restorePlaybackState(t,i,r,s),this.player.captionManager&&(this.player.captionManager.destroy(),this.player.captionManager=new e(this.player)),this.desiredState||(this.enabled=!1,this.player.state.audioDescriptionEnabled=!1,this.player.emit("audiodescriptiondisabled"),this._reloadTranscript())}async _disableWithDirectSrc(e,t,i){await this._swapCaptionTracks(!1),i&&"VIDEO"===this.player.element.tagName&&(this.player.element.poster=i);const a=this.originalSource||this.player.originalSrc;a&&(this.player.element.src=a,this.player.element.load(),await this._waitForMediaReady(e>0||t),e>0&&this.player.seek(e),t&&await this.player.play(),this.desiredState||(this.enabled=!1,this.player.state.audioDescriptionEnabled=!1,this.player.emit("audiodescriptiondisabled"),this._reloadTranscript()))}_reloadTranscript(){this.player.transcriptManager&&this.player.transcriptManager.isVisible&&this.player.setManagedTimeout(()=>{this.player.transcriptManager&&this.player.transcriptManager.loadTranscriptData&&this.player.transcriptManager.loadTranscriptData()},800)}updateSources(e){this.src=e||null,this.enabled=!1,this.desiredState=!1,this.sourceElement=null,this.originalSource=null,this.captionTracks=[]}reinitialize(){this.player.invalidateTrackCache(),this.initFromSourceElements(this.player.sourceElements,this.player.trackElements)}destroy(){this.enabled=!1,this.desiredState=!1,this.captionTracks=[],this.sourceElement=null,this.originalSource=null}};export{t as AudioDescriptionManager};
6
+ import{CaptionManager as e}from"./vidply.chunk-K5MEWG44.min.js";import"./vidply.chunk-U3MPL5M3.min.js";import"./vidply.chunk-7GAHCBLN.min.js";var t=class{player;captionTracks;desiredState;enabled;originalSource;sourceElement;src;constructor(e){this.player=e,this.enabled=!1,this.desiredState=!1,this.src=e.options.audioDescriptionSrc,this.sourceElement=null,this.originalSource=null,this.captionTracks=[]}initFromSourceElements(e,t){for(const t of e){const e=t.getAttribute("data-desc-src"),i=t.getAttribute("data-orig-src");if(e||i){if(this.sourceElement||(this.sourceElement=t),i)this.originalSource||(this.originalSource=i),this.player.originalSrc||(this.player.originalSrc=i);else{const e=t.getAttribute("src");!this.originalSource&&e&&(this.originalSource=e),!this.player.originalSrc&&e&&(this.player.originalSrc=e)}e&&!this.src&&(this.src=e)}}t.forEach(e=>{const t=e.getAttribute("kind"),i=e.getAttribute("data-desc-src");"captions"!==t&&"subtitles"!==t&&"chapters"!==t&&"descriptions"!==t||!i||(this.captionTracks.push({trackElement:e,originalSrc:e.getAttribute("src"),describedSrc:i,originalTrackSrc:e.getAttribute("data-orig-src")||e.getAttribute("src"),explicit:!0}),this.player.log(`Found explicit described ${t} track: ${e.getAttribute("src")} -> ${i}`))})}isAvailable(){const e=this.player.sourceElements.some(e=>e.getAttribute("data-desc-src"));return!!(this.src||e||this.captionTracks.length>0)}async enable(){const e=this.player.sourceElements.some(e=>e.getAttribute("data-desc-src")),t=this.captionTracks.length>0;if(!this.src&&!e&&!t)return void console.warn("VidPly: No audio description source, source elements, or tracks provided");this.desiredState=!0;const i=this.player.state.currentTime,a=this.player.state.playing,r=this.player.element.poster||this.player.element.getAttribute("poster")||this.player.options.poster,s=i<.1&&!a,n=this._getCurrentCaptionText();this.sourceElement?await this._enableWithSourceElement(i,a,r,s,n):this.src?await this._enableWithDirectSrc(i,a,r,s):t&&(await this._swapCaptionTracks(!0),this.enabled=!0,this.player.emit("audiodescriptionenabled"))}async disable(){if(this.desiredState=!1,!this.sourceElement&&!this.src&&this.captionTracks.length>0)return await this._swapCaptionTracks(!1),this.enabled=!1,void this.player.emit("audiodescriptiondisabled");if(!this.player.originalSrc)return;const e=this.player.state.currentTime,t=this.player.state.playing,i=this.player.element.poster||this.player.element.getAttribute("poster")||this.player.options.poster,a=e<.1&&!t,r=this._getCurrentCaptionText();this.sourceElement?await this._disableWithSourceElement(e,t,i,a,r):this.src&&await this._disableWithDirectSrc(e,t,i)}async toggle(){const e=this.player.findTextTrack("descriptions"),t=this.isAvailable();e&&!t?"showing"===e.mode?(e.mode="hidden",this.enabled=!1,this.player.emit("audiodescriptiondisabled")):(e.mode="showing",this.enabled=!0,this.player.emit("audiodescriptionenabled")):e&&t?this.enabled?(this.desiredState=!1,await this.disable()):(e.mode="showing",this.desiredState=!0,await this.enable()):t&&(this.enabled?(this.desiredState=!1,await this.disable()):(this.desiredState=!0,await this.enable()))}_getCurrentCaptionText(){return this.player.captionManager&&this.player.captionManager.currentTrack&&this.player.captionManager.currentCue?this.player.captionManager.currentCue.text:null}async _validateTrackExists(e){if("string"!=typeof e||!e)return!1;const t=[],i=this.player.lifecycleSignal;let a;if(i&&t.push(i),"undefined"!=typeof AbortSignal&&"function"==typeof AbortSignal.timeout&&t.push(AbortSignal.timeout(8e3)),1===t.length)a=t[0];else if(t.length>1){const e=AbortSignal.any;a=e?e(t):t[0]}try{return(await fetch(e,{method:"HEAD",signal:a})).ok}catch{return!1}}async _swapCaptionTracks(e=!0){if(0===this.captionTracks.length)return[];const t=[],i=this.captionTracks.map(async t=>{if(t.trackElement&&t.describedSrc&&!0===t.explicit)try{return{trackInfo:t,exists:await this._validateTrackExists(e?t.describedSrc:t.originalSrc)}}catch{return{trackInfo:t,exists:!1}}return{trackInfo:t,exists:!1}}),a=(await Promise.all(i)).filter(e=>e.exists);if(a.length>0){const i=new Map;a.forEach(({trackInfo:e})=>{const t=e.trackElement.track;i.set(e,t?{wasShowing:"showing"===t.mode,wasHidden:"hidden"===t.mode}:{wasShowing:!1,wasHidden:!1})});const r=a.map(({trackInfo:e})=>{const t={};Array.from(e.trackElement.attributes).forEach(e=>{t[e.name]=e.value});const i={trackInfo:e,oldSrc:e.trackElement.getAttribute("src"),parent:e.trackElement.parentNode,nextSibling:e.trackElement.nextSibling,attributes:t};return e.trackElement.remove(),i});this.player.element.load(),await new Promise(a=>{setTimeout(()=>{r.forEach(({trackInfo:i,parent:a,nextSibling:r,attributes:s})=>{t.push(i);const n=document.createElement("track");n.setAttribute("src",e?i.describedSrc:i.originalSrc),Object.keys(s).forEach(e=>{"src"!==e&&"data-desc-src"!==e&&n.setAttribute(e,s[e])});const l=a||this.player.element;r&&r.parentNode?l.insertBefore(n,r):l.appendChild(n),i.trackElement=n}),this.player.invalidateTrackCache();const s=()=>{this.player.setManagedTimeout(()=>{t.forEach(e=>{const t=e.trackElement.track;if(t){const a=i.get(e)||{wasShowing:!1,wasHidden:!1};t.mode="hidden";const r=()=>{t.mode=a.wasShowing||a.wasHidden?"hidden":"disabled"};t.readyState>=2?r():(t.addEventListener("load",r,{once:!0}),t.addEventListener("error",r,{once:!0}))}})},300)};this.player.element.readyState>=1?setTimeout(s,200):(this.player.element.addEventListener("loadedmetadata",s,{once:!0}),setTimeout(s,2e3)),a()},100)})}return t}_updateSourceElements(e=!0){const t=this.player.sourceElements,i=[];t.forEach(t=>{const a=t.getAttribute("data-desc-src"),r=t.getAttribute("src");if(a){const s=t.getAttribute("type");let n=t.getAttribute("data-orig-src")||r;i.push({src:e?a:n,type:s,origSrc:n,descSrc:a})}else i.push({src:t.getAttribute("src"),type:t.getAttribute("type"),origSrc:null,descSrc:null})}),this.player.element.hasAttribute("src")&&this.player.element.removeAttribute("src"),t.forEach(e=>e.remove()),i.forEach(e=>{if(!e.src)return;const t=document.createElement("source");t.setAttribute("src",e.src),e.type&&t.setAttribute("type",e.type),e.origSrc&&t.setAttribute("data-orig-src",e.origSrc),e.descSrc&&t.setAttribute("data-desc-src",e.descSrc);const i=this.player.element.querySelector("track");i?this.player.element.insertBefore(t,i):this.player.element.appendChild(t)}),this.player._sourceElementsDirty=!0,this.player._sourceElementsCache=null}async _waitForMediaReady(e=!1){await new Promise(e=>{if(this.player.element.readyState>=1)e();else{const t=()=>{this.player.element.removeEventListener("loadedmetadata",t),e()};this.player.element.addEventListener("loadedmetadata",t)}}),await new Promise(e=>setTimeout(e,300)),e&&await new Promise(e=>{if(this.player.element.readyState>=3)e();else{const t=()=>{this.player.element.removeEventListener("canplay",t),this.player.element.removeEventListener("canplaythrough",t),e()};this.player.element.addEventListener("canplay",t,{once:!0}),this.player.element.addEventListener("canplaythrough",t,{once:!0}),setTimeout(()=>{this.player.element.removeEventListener("canplay",t),this.player.element.removeEventListener("canplaythrough",t),e()},3e3)}})}async _restorePlaybackState(e,t,i,a){let r=e;if(a&&this.player.captionManager&&this.player.captionManager.tracks.length>0){await new Promise(e=>setTimeout(e,500));const t=this.player.findMatchingCaptionTime(a,this.player.captionManager.tracks);null!==t&&(r=t,this.player.options.debug&&this.player.log(`[VidPly] Syncing via caption: ${e}s -> ${r}s`))}r>0&&(this.player.seek(r),await new Promise(e=>setTimeout(e,100))),t?(await this.player.play(),this.player.setManagedTimeout(()=>{this.player.hidePosterOverlay()},100)):(this.player.pause(),i||this.player.hidePosterOverlay())}async _enableWithSourceElement(e,t,i,a,r){await this._swapCaptionTracks(!0),this._updateSourceElements(!0),i&&"VIDEO"===this.player.element.tagName&&(this.player.element.poster=i),this.player.element.load(),await this._waitForMediaReady(e>0||t),await this._restorePlaybackState(e,t,a,r),this.desiredState&&(this.enabled=!0,this.player.state.audioDescriptionEnabled=!0,this.player.emit("audiodescriptionenabled"),this._reloadTranscript())}async _enableWithDirectSrc(e,t,i,a){await this._swapCaptionTracks(!0),i&&"VIDEO"===this.player.element.tagName&&(this.player.element.poster=i),this.player.element.src=this.src,await this._waitForMediaReady(e>0||t),e>0&&(this.player.seek(e),await new Promise(e=>setTimeout(e,100))),t?await this.player.play():(this.player.pause(),a||this.player.hidePosterOverlay()),this.desiredState&&(this.enabled=!0,this.player.state.audioDescriptionEnabled=!0,this.player.emit("audiodescriptionenabled"),this._reloadTranscript())}async _disableWithSourceElement(t,i,a,r,s){await this._swapCaptionTracks(!1),this._updateSourceElements(!1),a&&"VIDEO"===this.player.element.tagName&&(this.player.element.poster=a),this.player.element.load(),this.player.invalidateTrackCache(),await this._waitForMediaReady(t>0||i),await this._restorePlaybackState(t,i,r,s),this.player.captionManager&&(this.player.captionManager.destroy(),this.player.captionManager=new e(this.player)),this.desiredState||(this.enabled=!1,this.player.state.audioDescriptionEnabled=!1,this.player.emit("audiodescriptiondisabled"),this._reloadTranscript())}async _disableWithDirectSrc(e,t,i){await this._swapCaptionTracks(!1),i&&"VIDEO"===this.player.element.tagName&&(this.player.element.poster=i);const a=this.originalSource||this.player.originalSrc;a&&(this.player.element.src=a,this.player.element.load(),await this._waitForMediaReady(e>0||t),e>0&&this.player.seek(e),t&&await this.player.play(),this.desiredState||(this.enabled=!1,this.player.state.audioDescriptionEnabled=!1,this.player.emit("audiodescriptiondisabled"),this._reloadTranscript()))}_reloadTranscript(){this.player.transcriptManager&&this.player.transcriptManager.isVisible&&this.player.setManagedTimeout(()=>{this.player.transcriptManager&&this.player.transcriptManager.loadTranscriptData&&this.player.transcriptManager.loadTranscriptData()},800)}updateSources(e){this.src=e||null,this.enabled=!1,this.desiredState=!1,this.sourceElement=null,this.originalSource=null,this.captionTracks=[]}reinitialize(){this.player.invalidateTrackCache(),this.initFromSourceElements(this.player.sourceElements,this.player.trackElements)}destroy(){this.enabled=!1,this.desiredState=!1,this.captionTracks=[],this.sourceElement=null,this.originalSource=null}};export{t as AudioDescriptionManager};
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * VidPly v1.1.12 - Universal, Accessible Video Player
2
+ * VidPly v1.1.15 - Universal, Accessible Video Player
3
3
  * (c) 2026 Matthias Peltzer
4
4
  * Released under GPL-2.0-or-later License
5
5
  */