vidply 1.2.0 → 1.2.3
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.
- package/README.md +974 -946
- package/dist/dev/{vidply.AudioDescriptionManager-R47Q4YR4.js → vidply.AudioDescriptionManager-JYYLK5KB.js} +275 -19
- package/dist/dev/vidply.AudioDescriptionManager-JYYLK5KB.js.map +7 -0
- package/dist/dev/{vidply.CaptionStyleMenu-7XHRBWUM.js → vidply.CaptionStyleMenu-47RCKQF5.js} +4 -4
- package/dist/dev/{vidply.DASHRenderer-PWEMC3BT.js → vidply.DASHRenderer-VEJ4HDHO.js} +3 -3
- package/dist/dev/vidply.DASHRenderer-VEJ4HDHO.js.map +7 -0
- package/dist/dev/{vidply.FloatingPlayerManager-PKNNNAS2.js → vidply.FloatingPlayerManager-C2UVRPZY.js} +5 -5
- package/dist/dev/vidply.FloatingPlayerManager-C2UVRPZY.js.map +7 -0
- package/dist/dev/{vidply.HLSRenderer-E7RQ74HI.js → vidply.HLSRenderer-ZVBK2TNQ.js} +4 -4
- package/dist/dev/vidply.HLSRenderer-ZVBK2TNQ.js.map +7 -0
- package/dist/dev/vidply.HTML5Renderer-HLRQUOCU.js +12 -0
- package/dist/dev/{vidply.SignLanguageManager-FET5FQZ7.js → vidply.SignLanguageManager-FLUCBW5H.js} +8 -8
- package/dist/dev/vidply.SignLanguageManager-FLUCBW5H.js.map +7 -0
- package/dist/dev/{vidply.SoundCloudRenderer-RVSJZODO.js → vidply.SoundCloudRenderer-MGMAJ7NK.js} +3 -3
- package/dist/dev/vidply.SoundCloudRenderer-MGMAJ7NK.js.map +7 -0
- package/dist/dev/{vidply.TranscriptManager-5GXOQCLX.js → vidply.TranscriptManager-Y2RYXHJW.js} +10 -10
- package/dist/dev/vidply.TranscriptManager-Y2RYXHJW.js.map +7 -0
- package/dist/dev/{vidply.VimeoRenderer-ER2LSBBW.js → vidply.VimeoRenderer-RQFQD7OE.js} +3 -3
- package/dist/dev/vidply.VimeoRenderer-RQFQD7OE.js.map +7 -0
- package/dist/dev/{vidply.YouTubeRenderer-NFTOWJAB.js → vidply.YouTubeRenderer-EU2BARZF.js} +3 -3
- package/dist/dev/vidply.YouTubeRenderer-EU2BARZF.js.map +7 -0
- package/dist/dev/{vidply.chunk-BNFIUL2Z.js → vidply.chunk-6LYZYI5G.js} +3 -3
- package/dist/dev/vidply.chunk-6LYZYI5G.js.map +7 -0
- package/dist/dev/{vidply.chunk-NQPURMQY.js → vidply.chunk-A4ESEOQ2.js} +6 -6
- package/dist/dev/vidply.chunk-A4ESEOQ2.js.map +7 -0
- package/dist/dev/{vidply.chunk-W25HUCHS.js → vidply.chunk-CGYIED2I.js} +2 -2
- package/dist/dev/vidply.chunk-CGYIED2I.js.map +7 -0
- package/dist/dev/{vidply.chunk-SK4V2DAU.js → vidply.chunk-HZ7UOKOU.js} +3 -3
- package/dist/dev/{vidply.chunk-RZWZGDV7.js → vidply.chunk-I6EDRYGJ.js} +33 -6
- package/dist/dev/vidply.chunk-I6EDRYGJ.js.map +7 -0
- package/dist/dev/{vidply.chunk-64WXMTGL.js → vidply.chunk-JKMQGLCJ.js} +5 -5
- package/dist/dev/vidply.chunk-JKMQGLCJ.js.map +7 -0
- package/dist/dev/{vidply.chunk-DZSDO3B7.js → vidply.chunk-JZNZX32Z.js} +2 -2
- package/dist/dev/{vidply.chunk-VMSQAZM7.js → vidply.chunk-P25MRJ6O.js} +2 -2
- package/dist/dev/{vidply.chunk-6RQA4ROD.js → vidply.chunk-PRFNESYA.js} +2 -2
- package/dist/dev/{vidply.chunk-KI7C3QVL.js → vidply.chunk-UI3RYCVF.js} +4 -3
- package/dist/dev/vidply.chunk-UI3RYCVF.js.map +7 -0
- package/dist/dev/{vidply.chunk-JJ47NO24.js → vidply.chunk-UNFGMABP.js} +2 -2
- package/dist/dev/vidply.chunk-UNFGMABP.js.map +7 -0
- package/dist/dev/{vidply.de-4YAT7FFM.js → vidply.de-VAUVSQXC.js} +29 -2
- package/dist/dev/vidply.de-VAUVSQXC.js.map +7 -0
- package/dist/dev/{vidply.es-LEWIRUBH.js → vidply.es-G65HFWO6.js} +29 -2
- package/dist/dev/vidply.es-G65HFWO6.js.map +7 -0
- package/dist/dev/vidply.esm.js +648 -35
- package/dist/dev/vidply.esm.js.map +3 -3
- package/dist/dev/{vidply.fr-Q4GV2NOE.js → vidply.fr-MJNOZELM.js} +29 -2
- package/dist/dev/vidply.fr-MJNOZELM.js.map +7 -0
- package/dist/dev/{vidply.ja-S6ITA6WU.js → vidply.ja-INMDHIYJ.js} +29 -2
- package/dist/dev/vidply.ja-INMDHIYJ.js.map +7 -0
- package/dist/legacy/vidply.js +1062 -34
- package/dist/legacy/vidply.js.map +3 -3
- package/dist/legacy/vidply.min.js +2 -2
- package/dist/legacy/vidply.min.meta.json +127 -55
- package/dist/prod/vidply.AudioDescriptionManager-EKWUNOPE.min.js +6 -0
- package/dist/prod/{vidply.CaptionStyleMenu-M3KVQWB5.min.js → vidply.CaptionStyleMenu-JTWSNHRQ.min.js} +2 -2
- package/dist/prod/{vidply.DASHRenderer-DN3S27AV.min.js → vidply.DASHRenderer-CIDAHFWM.min.js} +2 -2
- package/dist/prod/{vidply.FloatingPlayerManager-SKAZ4J43.min.js → vidply.FloatingPlayerManager-VZXHPCPM.min.js} +2 -2
- package/dist/prod/{vidply.HLSRenderer-62HH4YTK.min.js → vidply.HLSRenderer-Q6EFYKID.min.js} +2 -2
- package/dist/prod/vidply.HTML5Renderer-XRDJUTOO.min.js +6 -0
- package/dist/prod/{vidply.SignLanguageManager-V3OBTSSF.min.js → vidply.SignLanguageManager-JUOSA5AM.min.js} +2 -2
- package/dist/prod/{vidply.SoundCloudRenderer-CXRVZIAJ.min.js → vidply.SoundCloudRenderer-7ODD46PO.min.js} +2 -2
- package/dist/prod/{vidply.TranscriptManager-SYM3DFUY.min.js → vidply.TranscriptManager-4B2QKYGQ.min.js} +2 -2
- package/dist/prod/{vidply.VimeoRenderer-72TWRYFQ.min.js → vidply.VimeoRenderer-MR3UYLY7.min.js} +2 -2
- package/dist/prod/{vidply.YouTubeRenderer-UMHEV3KD.min.js → vidply.YouTubeRenderer-ITRTC7NR.min.js} +2 -2
- package/dist/prod/{vidply.chunk-YEENJS3Q.min.js → vidply.chunk-3EEDXU4T.min.js} +2 -2
- package/dist/prod/{vidply.chunk-P4UXOHWA.min.js → vidply.chunk-5HTX5QXW.min.js} +1 -1
- package/dist/prod/{vidply.chunk-ABPXVDLZ.min.js → vidply.chunk-6OGHHIYP.min.js} +2 -2
- package/dist/prod/{vidply.chunk-UK7YGOB5.min.js → vidply.chunk-GUPGMFUZ.min.js} +2 -2
- package/dist/prod/{vidply.chunk-WX3MVEAL.min.js → vidply.chunk-MWEBITCP.min.js} +1 -1
- package/dist/prod/{vidply.chunk-2TB6MUHO.min.js → vidply.chunk-PL3P3JHR.min.js} +1 -1
- package/dist/prod/{vidply.chunk-EKEYJWMG.min.js → vidply.chunk-QQZGV7TD.min.js} +2 -2
- package/dist/prod/{vidply.chunk-Z3YDSA7O.min.js → vidply.chunk-U5IRRYG5.min.js} +1 -1
- package/dist/prod/{vidply.chunk-TM6AXJVD.min.js → vidply.chunk-VKHV4QHA.min.js} +2 -2
- package/dist/prod/{vidply.chunk-P3PQBY7N.min.js → vidply.chunk-XA4M574A.min.js} +1 -1
- package/dist/prod/{vidply.chunk-RI3X7WHK.min.js → vidply.chunk-ZPTV4JEP.min.js} +2 -2
- package/dist/prod/{vidply.de-BCHXRQ53.min.js → vidply.de-UZHFCEZU.min.js} +2 -2
- package/dist/prod/{vidply.es-PICAKMZD.min.js → vidply.es-BOISUV2S.min.js} +2 -2
- package/dist/prod/vidply.esm.min.js +2 -2
- package/dist/prod/{vidply.fr-ZILI7CDR.min.js → vidply.fr-ICSMKPFM.min.js} +2 -2
- package/dist/prod/{vidply.ja-5WQ4OK4J.min.js → vidply.ja-VQ2HKGAY.min.js} +2 -2
- package/dist/vidply.css +5852 -5796
- package/dist/vidply.esm.min.meta.json +204 -149
- package/dist/vidply.min.css +1 -1
- package/package.json +11 -11
- package/src/controls/CaptionManager.ts +598 -598
- package/src/controls/ControlBar.ts +4191 -4159
- package/src/controls/KeyboardHelp.ts +326 -0
- package/src/controls/KeyboardManager.ts +387 -383
- package/src/controls/SettingsDialog.ts +488 -488
- package/src/controls/TranscriptManager.ts +2426 -2426
- package/src/core/AudioDescriptionManager.ts +863 -774
- package/src/core/DescriptionSpeechManager.ts +232 -0
- package/src/core/FloatingPlayerManager.ts +674 -674
- package/src/core/LazyInit.ts +80 -80
- package/src/core/MediaSessionManager.ts +341 -0
- package/src/core/MetadataAlertsManager.ts +514 -514
- package/src/core/Player.ts +2973 -2872
- package/src/core/PosterManager.ts +169 -169
- package/src/core/PseudoFullscreen.ts +179 -179
- package/src/core/ResponsiveManager.ts +231 -231
- package/src/core/ResumeManager.ts +236 -236
- package/src/core/SignLanguageManager.ts +1308 -1308
- package/src/core/ThemeManager.ts +157 -157
- package/src/features/PlaylistManager.ts +1838 -1827
- package/src/i18n/i18n.ts +223 -223
- package/src/i18n/languages/de.ts +244 -217
- package/src/i18n/languages/en.ts +245 -218
- package/src/i18n/languages/es.ts +241 -214
- package/src/i18n/languages/fr.ts +241 -214
- package/src/i18n/languages/ja.ts +241 -214
- package/src/icons/Icons.ts +168 -167
- package/src/index.ts +196 -193
- package/src/renderers/DASHRenderer.ts +1077 -1077
- package/src/renderers/HLSRenderer.ts +944 -944
- package/src/renderers/HTML5Renderer.ts +389 -389
- package/src/renderers/SoundCloudRenderer.ts +437 -437
- package/src/renderers/VimeoRenderer.ts +298 -298
- package/src/renderers/YouTubeRenderer.ts +290 -290
- package/src/styles/vidply.css +5852 -5796
- package/src/types/events.ts +128 -122
- package/src/types/globals.d.ts +313 -313
- package/src/types/options.ts +199 -182
- package/src/types/renderer.ts +58 -58
- package/src/utils/DOMUtils.ts +281 -281
- package/src/utils/DownloadInfo.ts +171 -171
- package/src/utils/DraggablePanel.ts +539 -539
- package/src/utils/DraggablePanelMenu.ts +195 -195
- package/src/utils/DraggableResizable.ts +997 -997
- package/src/utils/EventEmitter.ts +59 -59
- package/src/utils/FormUtils.ts +95 -95
- package/src/utils/MenuFactory.ts +483 -483
- package/src/utils/Sanitize.ts +70 -70
- package/src/utils/SettingsMenuFactory.ts +289 -289
- package/src/utils/StorageManager.ts +287 -287
- package/src/utils/TrackLabelUtils.ts +52 -52
- package/src/utils/UrlSafe.ts +69 -69
- package/src/utils/VideoFrameCapture.ts +114 -114
- package/src/utils/WindowComponents.ts +250 -250
- package/dist/dev/vidply.AudioDescriptionManager-R47Q4YR4.js.map +0 -7
- package/dist/dev/vidply.DASHRenderer-PWEMC3BT.js.map +0 -7
- package/dist/dev/vidply.FloatingPlayerManager-PKNNNAS2.js.map +0 -7
- package/dist/dev/vidply.HLSRenderer-E7RQ74HI.js.map +0 -7
- package/dist/dev/vidply.HTML5Renderer-BU4QJJJY.js +0 -12
- package/dist/dev/vidply.SignLanguageManager-FET5FQZ7.js.map +0 -7
- package/dist/dev/vidply.SoundCloudRenderer-RVSJZODO.js.map +0 -7
- package/dist/dev/vidply.TranscriptManager-5GXOQCLX.js.map +0 -7
- package/dist/dev/vidply.VimeoRenderer-ER2LSBBW.js.map +0 -7
- package/dist/dev/vidply.YouTubeRenderer-NFTOWJAB.js.map +0 -7
- package/dist/dev/vidply.chunk-64WXMTGL.js.map +0 -7
- package/dist/dev/vidply.chunk-BNFIUL2Z.js.map +0 -7
- package/dist/dev/vidply.chunk-JJ47NO24.js.map +0 -7
- package/dist/dev/vidply.chunk-KI7C3QVL.js.map +0 -7
- package/dist/dev/vidply.chunk-NQPURMQY.js.map +0 -7
- package/dist/dev/vidply.chunk-RZWZGDV7.js.map +0 -7
- package/dist/dev/vidply.chunk-W25HUCHS.js.map +0 -7
- package/dist/dev/vidply.de-4YAT7FFM.js.map +0 -7
- package/dist/dev/vidply.es-LEWIRUBH.js.map +0 -7
- package/dist/dev/vidply.fr-Q4GV2NOE.js.map +0 -7
- package/dist/dev/vidply.ja-S6ITA6WU.js.map +0 -7
- package/dist/prod/vidply.AudioDescriptionManager-RHLIJW5C.min.js +0 -6
- package/dist/prod/vidply.HTML5Renderer-IU5T3WEW.min.js +0 -6
- /package/dist/dev/{vidply.CaptionStyleMenu-7XHRBWUM.js.map → vidply.CaptionStyleMenu-47RCKQF5.js.map} +0 -0
- /package/dist/dev/{vidply.HTML5Renderer-BU4QJJJY.js.map → vidply.HTML5Renderer-HLRQUOCU.js.map} +0 -0
- /package/dist/dev/{vidply.chunk-SK4V2DAU.js.map → vidply.chunk-HZ7UOKOU.js.map} +0 -0
- /package/dist/dev/{vidply.chunk-DZSDO3B7.js.map → vidply.chunk-JZNZX32Z.js.map} +0 -0
- /package/dist/dev/{vidply.chunk-VMSQAZM7.js.map → vidply.chunk-P25MRJ6O.js.map} +0 -0
- /package/dist/dev/{vidply.chunk-6RQA4ROD.js.map → vidply.chunk-PRFNESYA.js.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"inputs": {
|
|
3
3
|
"src/utils/EventEmitter.ts": {
|
|
4
|
-
"bytes":
|
|
4
|
+
"bytes": 1916,
|
|
5
5
|
"imports": [
|
|
6
6
|
{
|
|
7
7
|
"path": "<runtime>",
|
|
@@ -12,32 +12,32 @@
|
|
|
12
12
|
"format": "esm"
|
|
13
13
|
},
|
|
14
14
|
"src/utils/DOMUtils.ts": {
|
|
15
|
-
"bytes":
|
|
15
|
+
"bytes": 8995,
|
|
16
16
|
"imports": [],
|
|
17
17
|
"format": "esm"
|
|
18
18
|
},
|
|
19
19
|
"src/i18n/languages/en.ts": {
|
|
20
|
-
"bytes":
|
|
20
|
+
"bytes": 9667,
|
|
21
21
|
"imports": [],
|
|
22
22
|
"format": "esm"
|
|
23
23
|
},
|
|
24
24
|
"src/i18n/languages/de.ts": {
|
|
25
|
-
"bytes":
|
|
25
|
+
"bytes": 11913,
|
|
26
26
|
"imports": [],
|
|
27
27
|
"format": "esm"
|
|
28
28
|
},
|
|
29
29
|
"src/i18n/languages/es.ts": {
|
|
30
|
-
"bytes":
|
|
30
|
+
"bytes": 10878,
|
|
31
31
|
"imports": [],
|
|
32
32
|
"format": "esm"
|
|
33
33
|
},
|
|
34
34
|
"src/i18n/languages/fr.ts": {
|
|
35
|
-
"bytes":
|
|
35
|
+
"bytes": 11215,
|
|
36
36
|
"imports": [],
|
|
37
37
|
"format": "esm"
|
|
38
38
|
},
|
|
39
39
|
"src/i18n/languages/ja.ts": {
|
|
40
|
-
"bytes":
|
|
40
|
+
"bytes": 11778,
|
|
41
41
|
"imports": [],
|
|
42
42
|
"format": "esm"
|
|
43
43
|
},
|
|
@@ -73,12 +73,12 @@
|
|
|
73
73
|
"format": "esm"
|
|
74
74
|
},
|
|
75
75
|
"src/utils/Sanitize.ts": {
|
|
76
|
-
"bytes":
|
|
76
|
+
"bytes": 2746,
|
|
77
77
|
"imports": [],
|
|
78
78
|
"format": "esm"
|
|
79
79
|
},
|
|
80
80
|
"src/i18n/i18n.ts": {
|
|
81
|
-
"bytes":
|
|
81
|
+
"bytes": 7610,
|
|
82
82
|
"imports": [
|
|
83
83
|
{
|
|
84
84
|
"path": "src/i18n/translations.ts",
|
|
@@ -110,7 +110,7 @@
|
|
|
110
110
|
"format": "esm"
|
|
111
111
|
},
|
|
112
112
|
"src/icons/Icons.ts": {
|
|
113
|
-
"bytes":
|
|
113
|
+
"bytes": 13759,
|
|
114
114
|
"imports": [],
|
|
115
115
|
"format": "esm"
|
|
116
116
|
},
|
|
@@ -125,12 +125,12 @@
|
|
|
125
125
|
"format": "esm"
|
|
126
126
|
},
|
|
127
127
|
"src/utils/VideoFrameCapture.ts": {
|
|
128
|
-
"bytes":
|
|
128
|
+
"bytes": 3450,
|
|
129
129
|
"imports": [],
|
|
130
130
|
"format": "esm"
|
|
131
131
|
},
|
|
132
132
|
"src/utils/DownloadInfo.ts": {
|
|
133
|
-
"bytes":
|
|
133
|
+
"bytes": 4868,
|
|
134
134
|
"imports": [],
|
|
135
135
|
"format": "esm"
|
|
136
136
|
},
|
|
@@ -156,7 +156,7 @@
|
|
|
156
156
|
"format": "esm"
|
|
157
157
|
},
|
|
158
158
|
"src/controls/ControlBar.ts": {
|
|
159
|
-
"bytes":
|
|
159
|
+
"bytes": 172626,
|
|
160
160
|
"imports": [
|
|
161
161
|
{
|
|
162
162
|
"path": "src/utils/DOMUtils.ts",
|
|
@@ -212,7 +212,7 @@
|
|
|
212
212
|
"format": "esm"
|
|
213
213
|
},
|
|
214
214
|
"src/utils/StorageManager.ts": {
|
|
215
|
-
"bytes":
|
|
215
|
+
"bytes": 9414,
|
|
216
216
|
"imports": [
|
|
217
217
|
{
|
|
218
218
|
"path": "src/utils/Sanitize.ts",
|
|
@@ -228,7 +228,7 @@
|
|
|
228
228
|
"format": "esm"
|
|
229
229
|
},
|
|
230
230
|
"src/utils/TrackLabelUtils.ts": {
|
|
231
|
-
"bytes":
|
|
231
|
+
"bytes": 1993,
|
|
232
232
|
"imports": [
|
|
233
233
|
{
|
|
234
234
|
"path": "src/i18n/i18n.ts",
|
|
@@ -239,7 +239,7 @@
|
|
|
239
239
|
"format": "esm"
|
|
240
240
|
},
|
|
241
241
|
"src/controls/CaptionManager.ts": {
|
|
242
|
-
"bytes":
|
|
242
|
+
"bytes": 23295,
|
|
243
243
|
"imports": [
|
|
244
244
|
{
|
|
245
245
|
"path": "src/utils/DOMUtils.ts",
|
|
@@ -275,7 +275,7 @@
|
|
|
275
275
|
"format": "esm"
|
|
276
276
|
},
|
|
277
277
|
"src/controls/KeyboardManager.ts": {
|
|
278
|
-
"bytes":
|
|
278
|
+
"bytes": 13450,
|
|
279
279
|
"imports": [
|
|
280
280
|
{
|
|
281
281
|
"path": "src/i18n/i18n.ts",
|
|
@@ -295,8 +295,19 @@
|
|
|
295
295
|
],
|
|
296
296
|
"format": "esm"
|
|
297
297
|
},
|
|
298
|
+
"src/core/MediaSessionManager.ts": {
|
|
299
|
+
"bytes": 9974,
|
|
300
|
+
"imports": [
|
|
301
|
+
{
|
|
302
|
+
"path": "<runtime>",
|
|
303
|
+
"kind": "import-statement",
|
|
304
|
+
"external": true
|
|
305
|
+
}
|
|
306
|
+
],
|
|
307
|
+
"format": "esm"
|
|
308
|
+
},
|
|
298
309
|
"src/renderers/HTML5Renderer.ts": {
|
|
299
|
-
"bytes":
|
|
310
|
+
"bytes": 12110,
|
|
300
311
|
"imports": [
|
|
301
312
|
{
|
|
302
313
|
"path": "<runtime>",
|
|
@@ -307,17 +318,17 @@
|
|
|
307
318
|
"format": "esm"
|
|
308
319
|
},
|
|
309
320
|
"src/utils/UrlSafe.ts": {
|
|
310
|
-
"bytes":
|
|
321
|
+
"bytes": 2653,
|
|
311
322
|
"imports": [],
|
|
312
323
|
"format": "esm"
|
|
313
324
|
},
|
|
314
325
|
"src/core/LazyInit.ts": {
|
|
315
|
-
"bytes":
|
|
326
|
+
"bytes": 2494,
|
|
316
327
|
"imports": [],
|
|
317
328
|
"format": "esm"
|
|
318
329
|
},
|
|
319
330
|
"src/core/PseudoFullscreen.ts": {
|
|
320
|
-
"bytes":
|
|
331
|
+
"bytes": 6938,
|
|
321
332
|
"imports": [
|
|
322
333
|
{
|
|
323
334
|
"path": "<runtime>",
|
|
@@ -328,7 +339,7 @@
|
|
|
328
339
|
"format": "esm"
|
|
329
340
|
},
|
|
330
341
|
"src/core/ThemeManager.ts": {
|
|
331
|
-
"bytes":
|
|
342
|
+
"bytes": 5572,
|
|
332
343
|
"imports": [
|
|
333
344
|
{
|
|
334
345
|
"path": "src/utils/Sanitize.ts",
|
|
@@ -344,7 +355,7 @@
|
|
|
344
355
|
"format": "esm"
|
|
345
356
|
},
|
|
346
357
|
"src/core/PosterManager.ts": {
|
|
347
|
-
"bytes":
|
|
358
|
+
"bytes": 5869,
|
|
348
359
|
"imports": [
|
|
349
360
|
{
|
|
350
361
|
"path": "src/utils/VideoFrameCapture.ts",
|
|
@@ -360,7 +371,7 @@
|
|
|
360
371
|
"format": "esm"
|
|
361
372
|
},
|
|
362
373
|
"src/core/ResumeManager.ts": {
|
|
363
|
-
"bytes":
|
|
374
|
+
"bytes": 7690,
|
|
364
375
|
"imports": [
|
|
365
376
|
{
|
|
366
377
|
"path": "src/utils/DOMUtils.ts",
|
|
@@ -386,7 +397,7 @@
|
|
|
386
397
|
"format": "esm"
|
|
387
398
|
},
|
|
388
399
|
"src/core/ResponsiveManager.ts": {
|
|
389
|
-
"bytes":
|
|
400
|
+
"bytes": 8914,
|
|
390
401
|
"imports": [
|
|
391
402
|
{
|
|
392
403
|
"path": "src/core/PseudoFullscreen.ts",
|
|
@@ -402,7 +413,7 @@
|
|
|
402
413
|
"format": "esm"
|
|
403
414
|
},
|
|
404
415
|
"src/core/MetadataAlertsManager.ts": {
|
|
405
|
-
"bytes":
|
|
416
|
+
"bytes": 18109,
|
|
406
417
|
"imports": [
|
|
407
418
|
{
|
|
408
419
|
"path": "src/utils/PerformanceUtils.ts",
|
|
@@ -417,14 +428,56 @@
|
|
|
417
428
|
],
|
|
418
429
|
"format": "esm"
|
|
419
430
|
},
|
|
431
|
+
"src/controls/KeyboardHelp.ts": {
|
|
432
|
+
"bytes": 9961,
|
|
433
|
+
"imports": [
|
|
434
|
+
{
|
|
435
|
+
"path": "src/utils/DOMUtils.ts",
|
|
436
|
+
"kind": "import-statement",
|
|
437
|
+
"original": "../utils/DOMUtils.js"
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
"path": "src/icons/Icons.ts",
|
|
441
|
+
"kind": "import-statement",
|
|
442
|
+
"original": "../icons/Icons.js"
|
|
443
|
+
},
|
|
444
|
+
{
|
|
445
|
+
"path": "src/i18n/i18n.ts",
|
|
446
|
+
"kind": "import-statement",
|
|
447
|
+
"original": "../i18n/i18n.js"
|
|
448
|
+
},
|
|
449
|
+
{
|
|
450
|
+
"path": "<runtime>",
|
|
451
|
+
"kind": "import-statement",
|
|
452
|
+
"external": true
|
|
453
|
+
}
|
|
454
|
+
],
|
|
455
|
+
"format": "esm"
|
|
456
|
+
},
|
|
457
|
+
"src/core/DescriptionSpeechManager.ts": {
|
|
458
|
+
"bytes": 6702,
|
|
459
|
+
"imports": [
|
|
460
|
+
{
|
|
461
|
+
"path": "<runtime>",
|
|
462
|
+
"kind": "import-statement",
|
|
463
|
+
"external": true
|
|
464
|
+
}
|
|
465
|
+
],
|
|
466
|
+
"format": "esm"
|
|
467
|
+
},
|
|
420
468
|
"src/core/AudioDescriptionManager.ts": {
|
|
421
|
-
"bytes":
|
|
469
|
+
"bytes": 32816,
|
|
422
470
|
"imports": [
|
|
423
471
|
{
|
|
424
472
|
"path": "src/controls/CaptionManager.ts",
|
|
425
473
|
"kind": "import-statement",
|
|
426
474
|
"original": "../controls/CaptionManager.js"
|
|
427
475
|
},
|
|
476
|
+
{
|
|
477
|
+
"path": "src/core/DescriptionSpeechManager.ts",
|
|
478
|
+
"kind": "import-statement",
|
|
479
|
+
"original": "./DescriptionSpeechManager.js"
|
|
480
|
+
},
|
|
428
481
|
{
|
|
429
482
|
"path": "<runtime>",
|
|
430
483
|
"kind": "import-statement",
|
|
@@ -434,7 +487,7 @@
|
|
|
434
487
|
"format": "esm"
|
|
435
488
|
},
|
|
436
489
|
"src/utils/DraggableResizable.ts": {
|
|
437
|
-
"bytes":
|
|
490
|
+
"bytes": 32705,
|
|
438
491
|
"imports": [
|
|
439
492
|
{
|
|
440
493
|
"path": "<runtime>",
|
|
@@ -445,7 +498,7 @@
|
|
|
445
498
|
"format": "esm"
|
|
446
499
|
},
|
|
447
500
|
"src/utils/FormUtils.ts": {
|
|
448
|
-
"bytes":
|
|
501
|
+
"bytes": 2284,
|
|
449
502
|
"imports": [
|
|
450
503
|
{
|
|
451
504
|
"path": "src/utils/DOMUtils.ts",
|
|
@@ -492,12 +545,12 @@
|
|
|
492
545
|
"format": "esm"
|
|
493
546
|
},
|
|
494
547
|
"src/utils/DraggablePanelMenu.ts": {
|
|
495
|
-
"bytes":
|
|
548
|
+
"bytes": 7442,
|
|
496
549
|
"imports": [],
|
|
497
550
|
"format": "esm"
|
|
498
551
|
},
|
|
499
552
|
"src/utils/DraggablePanel.ts": {
|
|
500
|
-
"bytes":
|
|
553
|
+
"bytes": 17974,
|
|
501
554
|
"imports": [
|
|
502
555
|
{
|
|
503
556
|
"path": "src/utils/DOMUtils.ts",
|
|
@@ -528,7 +581,7 @@
|
|
|
528
581
|
"format": "esm"
|
|
529
582
|
},
|
|
530
583
|
"src/core/SignLanguageManager.ts": {
|
|
531
|
-
"bytes":
|
|
584
|
+
"bytes": 48807,
|
|
532
585
|
"imports": [
|
|
533
586
|
{
|
|
534
587
|
"path": "src/utils/DOMUtils.ts",
|
|
@@ -569,7 +622,7 @@
|
|
|
569
622
|
"format": "esm"
|
|
570
623
|
},
|
|
571
624
|
"src/core/FloatingPlayerManager.ts": {
|
|
572
|
-
"bytes":
|
|
625
|
+
"bytes": 25908,
|
|
573
626
|
"imports": [
|
|
574
627
|
{
|
|
575
628
|
"path": "src/utils/DOMUtils.ts",
|
|
@@ -600,7 +653,7 @@
|
|
|
600
653
|
"format": "esm"
|
|
601
654
|
},
|
|
602
655
|
"src/controls/TranscriptManager.ts": {
|
|
603
|
-
"bytes":
|
|
656
|
+
"bytes": 88859,
|
|
604
657
|
"imports": [
|
|
605
658
|
{
|
|
606
659
|
"path": "src/utils/DOMUtils.ts",
|
|
@@ -671,7 +724,7 @@
|
|
|
671
724
|
"format": "esm"
|
|
672
725
|
},
|
|
673
726
|
"src/renderers/YouTubeRenderer.ts": {
|
|
674
|
-
"bytes":
|
|
727
|
+
"bytes": 8305,
|
|
675
728
|
"imports": [
|
|
676
729
|
{
|
|
677
730
|
"path": "src/utils/ScriptLoader.ts",
|
|
@@ -687,7 +740,7 @@
|
|
|
687
740
|
"format": "esm"
|
|
688
741
|
},
|
|
689
742
|
"src/renderers/VimeoRenderer.ts": {
|
|
690
|
-
"bytes":
|
|
743
|
+
"bytes": 8372,
|
|
691
744
|
"imports": [
|
|
692
745
|
{
|
|
693
746
|
"path": "src/utils/ScriptLoader.ts",
|
|
@@ -703,7 +756,7 @@
|
|
|
703
756
|
"format": "esm"
|
|
704
757
|
},
|
|
705
758
|
"src/renderers/HLSRenderer.ts": {
|
|
706
|
-
"bytes":
|
|
759
|
+
"bytes": 33707,
|
|
707
760
|
"imports": [
|
|
708
761
|
{
|
|
709
762
|
"path": "src/utils/ScriptLoader.ts",
|
|
@@ -724,7 +777,7 @@
|
|
|
724
777
|
"format": "esm"
|
|
725
778
|
},
|
|
726
779
|
"src/renderers/DASHRenderer.ts": {
|
|
727
|
-
"bytes":
|
|
780
|
+
"bytes": 37200,
|
|
728
781
|
"imports": [
|
|
729
782
|
{
|
|
730
783
|
"path": "src/utils/ScriptLoader.ts",
|
|
@@ -740,7 +793,7 @@
|
|
|
740
793
|
"format": "esm"
|
|
741
794
|
},
|
|
742
795
|
"src/renderers/SoundCloudRenderer.ts": {
|
|
743
|
-
"bytes":
|
|
796
|
+
"bytes": 13297,
|
|
744
797
|
"imports": [
|
|
745
798
|
{
|
|
746
799
|
"path": "src/utils/ScriptLoader.ts",
|
|
@@ -756,7 +809,7 @@
|
|
|
756
809
|
"format": "esm"
|
|
757
810
|
},
|
|
758
811
|
"src/core/Player.ts": {
|
|
759
|
-
"bytes":
|
|
812
|
+
"bytes": 104630,
|
|
760
813
|
"imports": [
|
|
761
814
|
{
|
|
762
815
|
"path": "src/utils/EventEmitter.ts",
|
|
@@ -783,6 +836,11 @@
|
|
|
783
836
|
"kind": "import-statement",
|
|
784
837
|
"original": "../controls/KeyboardManager.js"
|
|
785
838
|
},
|
|
839
|
+
{
|
|
840
|
+
"path": "src/core/MediaSessionManager.ts",
|
|
841
|
+
"kind": "import-statement",
|
|
842
|
+
"original": "./MediaSessionManager.js"
|
|
843
|
+
},
|
|
786
844
|
{
|
|
787
845
|
"path": "src/renderers/HTML5Renderer.ts",
|
|
788
846
|
"kind": "import-statement",
|
|
@@ -853,6 +911,11 @@
|
|
|
853
911
|
"kind": "import-statement",
|
|
854
912
|
"original": "./MetadataAlertsManager.js"
|
|
855
913
|
},
|
|
914
|
+
{
|
|
915
|
+
"path": "src/controls/KeyboardHelp.ts",
|
|
916
|
+
"kind": "import-statement",
|
|
917
|
+
"original": "../controls/KeyboardHelp.js"
|
|
918
|
+
},
|
|
856
919
|
{
|
|
857
920
|
"path": "src/core/AudioDescriptionManager.ts",
|
|
858
921
|
"kind": "dynamic-import",
|
|
@@ -907,7 +970,7 @@
|
|
|
907
970
|
"format": "esm"
|
|
908
971
|
},
|
|
909
972
|
"src/features/PlaylistManager.ts": {
|
|
910
|
-
"bytes":
|
|
973
|
+
"bytes": 63309,
|
|
911
974
|
"imports": [
|
|
912
975
|
{
|
|
913
976
|
"path": "src/utils/DOMUtils.ts",
|
|
@@ -948,7 +1011,7 @@
|
|
|
948
1011
|
"format": "esm"
|
|
949
1012
|
},
|
|
950
1013
|
"src/index.ts": {
|
|
951
|
-
"bytes":
|
|
1014
|
+
"bytes": 6801,
|
|
952
1015
|
"imports": [
|
|
953
1016
|
{
|
|
954
1017
|
"path": "src/core/Player.ts",
|
|
@@ -984,19 +1047,19 @@
|
|
|
984
1047
|
"bytesInOutput": 8919
|
|
985
1048
|
},
|
|
986
1049
|
"src/i18n/languages/en.ts": {
|
|
987
|
-
"bytesInOutput":
|
|
1050
|
+
"bytesInOutput": 11150
|
|
988
1051
|
},
|
|
989
1052
|
"src/i18n/languages/de.ts": {
|
|
990
|
-
"bytesInOutput":
|
|
1053
|
+
"bytesInOutput": 12516
|
|
991
1054
|
},
|
|
992
1055
|
"src/i18n/languages/es.ts": {
|
|
993
|
-
"bytesInOutput":
|
|
1056
|
+
"bytesInOutput": 12396
|
|
994
1057
|
},
|
|
995
1058
|
"src/i18n/languages/fr.ts": {
|
|
996
|
-
"bytesInOutput":
|
|
1059
|
+
"bytesInOutput": 12718
|
|
997
1060
|
},
|
|
998
1061
|
"src/i18n/languages/ja.ts": {
|
|
999
|
-
"bytesInOutput":
|
|
1062
|
+
"bytesInOutput": 13307
|
|
1000
1063
|
},
|
|
1001
1064
|
"src/i18n/translations.ts": {
|
|
1002
1065
|
"bytesInOutput": 894
|
|
@@ -1011,7 +1074,7 @@
|
|
|
1011
1074
|
"bytesInOutput": 2230
|
|
1012
1075
|
},
|
|
1013
1076
|
"src/icons/Icons.ts": {
|
|
1014
|
-
"bytesInOutput":
|
|
1077
|
+
"bytesInOutput": 12921
|
|
1015
1078
|
},
|
|
1016
1079
|
"src/utils/FocusUtils.ts": {
|
|
1017
1080
|
"bytesInOutput": 612
|
|
@@ -1034,8 +1097,11 @@
|
|
|
1034
1097
|
"src/renderers/HTML5Renderer.ts": {
|
|
1035
1098
|
"bytesInOutput": 11899
|
|
1036
1099
|
},
|
|
1100
|
+
"src/core/DescriptionSpeechManager.ts": {
|
|
1101
|
+
"bytesInOutput": 6832
|
|
1102
|
+
},
|
|
1037
1103
|
"src/core/AudioDescriptionManager.ts": {
|
|
1038
|
-
"bytesInOutput":
|
|
1104
|
+
"bytesInOutput": 27826
|
|
1039
1105
|
},
|
|
1040
1106
|
"src/utils/DraggableResizable.ts": {
|
|
1041
1107
|
"bytesInOutput": 30761
|
|
@@ -1083,10 +1149,10 @@
|
|
|
1083
1149
|
"bytesInOutput": 1054
|
|
1084
1150
|
},
|
|
1085
1151
|
"src/core/Player.ts": {
|
|
1086
|
-
"bytesInOutput":
|
|
1152
|
+
"bytesInOutput": 88295
|
|
1087
1153
|
},
|
|
1088
1154
|
"src/controls/ControlBar.ts": {
|
|
1089
|
-
"bytesInOutput":
|
|
1155
|
+
"bytesInOutput": 128246
|
|
1090
1156
|
},
|
|
1091
1157
|
"src/utils/VideoFrameCapture.ts": {
|
|
1092
1158
|
"bytesInOutput": 3154
|
|
@@ -1095,7 +1161,10 @@
|
|
|
1095
1161
|
"bytesInOutput": 3863
|
|
1096
1162
|
},
|
|
1097
1163
|
"src/controls/KeyboardManager.ts": {
|
|
1098
|
-
"bytesInOutput":
|
|
1164
|
+
"bytesInOutput": 11246
|
|
1165
|
+
},
|
|
1166
|
+
"src/core/MediaSessionManager.ts": {
|
|
1167
|
+
"bytesInOutput": 7825
|
|
1099
1168
|
},
|
|
1100
1169
|
"src/utils/UrlSafe.ts": {
|
|
1101
1170
|
"bytesInOutput": 1045
|
|
@@ -1121,14 +1190,17 @@
|
|
|
1121
1190
|
"src/core/MetadataAlertsManager.ts": {
|
|
1122
1191
|
"bytesInOutput": 15264
|
|
1123
1192
|
},
|
|
1193
|
+
"src/controls/KeyboardHelp.ts": {
|
|
1194
|
+
"bytesInOutput": 8634
|
|
1195
|
+
},
|
|
1124
1196
|
"src/features/PlaylistManager.ts": {
|
|
1125
|
-
"bytesInOutput":
|
|
1197
|
+
"bytesInOutput": 48299
|
|
1126
1198
|
},
|
|
1127
1199
|
"src/index.ts": {
|
|
1128
|
-
"bytesInOutput":
|
|
1200
|
+
"bytesInOutput": 5385
|
|
1129
1201
|
}
|
|
1130
1202
|
},
|
|
1131
|
-
"bytes":
|
|
1203
|
+
"bytes": 843860
|
|
1132
1204
|
}
|
|
1133
1205
|
}
|
|
1134
1206
|
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* VidPly v1.2.3 - Universal, Accessible Video Player
|
|
3
|
+
* (c) 2026 Matthias Peltzer
|
|
4
|
+
* Released under GPL-2.0-or-later License
|
|
5
|
+
*/
|
|
6
|
+
import{CaptionManager as e}from"./vidply.chunk-GUPGMFUZ.min.js";import"./vidply.chunk-ZPTV4JEP.min.js";import"./vidply.chunk-MWEBITCP.min.js";import"./vidply.chunk-QQZGV7TD.min.js";var t=class{player;enabled=!1;descriptionTrack=null;cueChangeHandler=null;seekedHandler=null;wasPlayingBeforeCue=!1;speaking=!1;lastSpokenCueKey=null;_pendingUtterance=null;constructor(e){this.player=e}canUseSpeech(){return!1!==this.player.options.audioDescriptionSpeech&&"undefined"!=typeof window&&"speechSynthesis"in window}findDescriptionTrack(){const e=(this.player.element?Array.from(this.player.element.textTracks||[]):[]).filter(e=>"descriptions"===e.kind&&!e._vidplyStale);if(0===e.length)return null;const t=this.player.captionManager?.currentTrack?.track?.language;if(t){const i=e.find(e=>e.language===t);if(i)return i}return e[0]??null}enable(){const e=this.findDescriptionTrack();return!!e&&(this.canUseSpeech()?(this.descriptionTrack=e,e.mode="hidden",this.cueChangeHandler=()=>{this.handleCueChange()},e.addEventListener("cuechange",this.cueChangeHandler),this.seekedHandler=()=>{this.cancelSpeech(),this.lastSpokenCueKey=null,this.handleCueChange()},this.player.on("seeked",this.seekedHandler),this.enabled=!0,this.handleCueChange(),!0):(e.mode="showing",!0))}disable(){this.cancelSpeech(),this.lastSpokenCueKey=null,this.enabled=!1,this.descriptionTrack&&this.cueChangeHandler&&this.descriptionTrack.removeEventListener("cuechange",this.cueChangeHandler),this.seekedHandler&&this.player.off("seeked",this.seekedHandler),this.descriptionTrack&&(this.descriptionTrack.mode="hidden"),this.cueChangeHandler=null,this.seekedHandler=null,this.descriptionTrack=null,this.wasPlayingBeforeCue=!1}handleCueChange(){if(!this.enabled||!this.descriptionTrack||!this.canUseSpeech())return;const e=this.descriptionTrack.activeCues;if(!e||0===e.length)return;const t=e[0],i=t.text?.trim();if(!i)return;const a=`${t.startTime}:${t.endTime}:${i}`;this.speaking&&this.lastSpokenCueKey===a||(this.lastSpokenCueKey!==a||this.player.state.playing)&&this.speakCue(t,a)}speakCue(e,t){if(!this.canUseSpeech())return;if(this.player.state.paused&&!this.speaking&&!this.wasPlayingBeforeCue)return;this.cancelSpeech(),this.wasPlayingBeforeCue=this.player.state.playing,this.wasPlayingBeforeCue&&this.player.pause(),this.speaking=!0,this.lastSpokenCueKey=t;const i={time:e.startTime,endTime:e.endTime,text:e.text.trim(),cue:e};this.player.emit("audiodescriptioncuestart",i);const a=new SpeechSynthesisUtterance(i.text);a.lang=this.descriptionTrack?.language||this.player.options.language||"en";const s=()=>{this._pendingUtterance===a&&(this._pendingUtterance=null,this.speaking=!1,this.player.emit("audiodescriptioncueend",i),(!1!==this.player.options.audioDescriptionExtended?this.wasPlayingBeforeCue:this.wasPlayingBeforeCue&&this.player.state.currentTime<e.endTime)&&this.enabled&&this.player.play(),this.wasPlayingBeforeCue=!1)};a.onend=s,a.onerror=s,this._pendingUtterance=a,window.speechSynthesis.speak(a)}cancelSpeech(){"undefined"!=typeof window&&window.speechSynthesis&&window.speechSynthesis.cancel(),this._pendingUtterance=null,this.speaking=!1,this.wasPlayingBeforeCue=!1}destroy(){this.disable()}},i=class{player;captionTracks;desiredState;enabled;originalSource;sourceElement;src;speechManager;constructor(e){this.player=e,this.enabled=!1,this.desiredState=!1,this.src=e.options.audioDescriptionSrc,this.sourceElement=null,this.originalSource=null,this.captionTracks=[],this.speechManager=null}_hasSwapSource(){const e=this.player.sourceElements.some(e=>e.getAttribute("data-desc-src"));return Boolean(this.src||e)}_hasDescriptionsTrack(){return Boolean(this.player.findTextTrack("descriptions"))}resolveDeliveryMode(){const e=this.player.options.audioDescriptionMode??"auto",t=this._hasSwapSource(),i=this._hasDescriptionsTrack();return"swap"===e?t?"swap":"none":"vtt_speech"===e?i?"vtt_speech":"none":t?"swap":i?"vtt_speech":"none"}_ensureSpeechManager(){return this.speechManager||(this.speechManager=new t(this.player)),this.speechManager}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&&e instanceof HTMLTrackElement&&(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.resolveDeliveryMode();return"swap"===e||"vtt_speech"===e||this.captionTracks.length>0}async enable(){const e=this.resolveDeliveryMode(),t=this.captionTracks.length>0;if("none"===e&&!t)return void console.warn("VidPly: No audio description source, descriptions track, or tracks provided");if(this.desiredState=!0,"vtt_speech"===e)return this._ensureSpeechManager().enable()?(this.enabled=!0,this.player.state.audioDescriptionEnabled=!0,void this.player.emit("audiodescriptionenabled")):void console.warn("VidPly: No descriptions track available for VTT speech mode");const i=this.player.state.currentTime,a=this.player.state.playing,s=this.player.element.poster||this.player.element.getAttribute("poster")||this.player.options.poster,r=i<.1&&!a,n=this._getCurrentCaptionText();this.sourceElement?await this._enableWithSourceElement(i,a,s,r,n):this.src?await this._enableWithDirectSrc(i,a,s,r):t&&(await this._swapCaptionTracks(!0),this.enabled=!0,this.player.emit("audiodescriptionenabled"))}async disable(){if(this.desiredState=!1,this.speechManager?.enabled)return this.speechManager.disable(),this.enabled=!1,this.player.state.audioDescriptionEnabled=!1,void this.player.emit("audiodescriptiondisabled");if(!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,s=this._getCurrentCaptionText();this.sourceElement?await this._disableWithSourceElement(e,t,i,a,s):this.src&&await this._disableWithDirectSrc(e,t,i)}async toggle(){const e=this.resolveDeliveryMode(),t=this.player.findTextTrack("descriptions"),i=this._hasSwapSource()||this.captionTracks.length>0;"vtt_speech"!==e?t&&!i?"showing"===t.mode?(t.mode="hidden",this.enabled=!1,this.player.state.audioDescriptionEnabled=!1,this.player.emit("audiodescriptiondisabled")):(t.mode="showing",this.enabled=!0,this.player.state.audioDescriptionEnabled=!0,this.player.emit("audiodescriptionenabled")):t&&i?this.enabled?(this.desiredState=!1,await this.disable()):(t.mode="showing",this.desiredState=!0,await this.enable()):i&&(this.enabled?(this.desiredState=!1,await this.disable()):(this.desiredState=!0,await this.enable())):this.enabled?await this.disable():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){const i=e?t.describedSrc:t.originalSrc;if(!i)return{trackInfo:t,exists:!1};try{return{trackInfo:t,exists:await this._validateTrackExists(i)}}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 s=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=>{this.player.setManagedTimeout(()=>{s.forEach(({trackInfo:i,parent:a,nextSibling:s,attributes:r})=>{const n=e?i.describedSrc:i.originalSrc;if(!n)return;t.push(i);const l=document.createElement("track");l.setAttribute("src",n),Object.keys(r).forEach(e=>{const t=r[e];"src"!==e&&"data-desc-src"!==e&&void 0!==t&&l.setAttribute(e,t)});const c=a||this.player.element;s&&s.parentNode?c.insertBefore(l,s):c.appendChild(l),i.trackElement=l}),this.player.invalidateTrackCache();const r=()=>{this.player.setManagedTimeout(()=>{t.forEach(e=>{const t=e.trackElement,a=t.track;if(a){const s=i.get(e)||{wasShowing:!1,wasHidden:!1};a.mode="hidden";const r=()=>{a.mode=s.wasShowing||s.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?this.player.setManagedTimeout(r,200):(this.player.element.addEventListener("loadedmetadata",r,{once:!0}),this.player.setManagedTimeout(r,2e3)),a()},100)})}return t}_updateSourceElements(e=!0){const t=this.player.sourceElements,i=[];t.forEach(t=>{const a=t.getAttribute("data-desc-src"),s=t.getAttribute("src");if(a){const r=t.getAttribute("type"),n=t.getAttribute("data-orig-src")||s;i.push({src:e?a:n,type:r,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 s=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&&(s=t,this.player.options.debug&&this.player.log(`[VidPly] Syncing via caption: ${e}s -> ${s}s`))}s>0&&(this.player.seek(s),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,s){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,s),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.src&&(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,s,r){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,s,r),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.speechManager?.destroy(),this.speechManager=null,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.speechManager?.destroy(),this.speechManager=null,this.enabled=!1,this.desiredState=!1,this.captionTracks=[],this.sourceElement=null,this.originalSource=null}};export{i as AudioDescriptionManager};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* VidPly v1.2.
|
|
2
|
+
* VidPly v1.2.3 - Universal, Accessible Video Player
|
|
3
3
|
* (c) 2026 Matthias Peltzer
|
|
4
4
|
* Released under GPL-2.0-or-later License
|
|
5
5
|
*/
|
|
6
|
-
import{focusFirstElement as e}from"./vidply.chunk-
|
|
6
|
+
import{focusFirstElement as e}from"./vidply.chunk-XA4M574A.min.js";import{DOMUtils as t,i18n as a}from"./vidply.chunk-QQZGV7TD.min.js";function n(e){const t=e.replace("captions","");return t.charAt(0).toLowerCase()+t.slice(1)}function o(e,a,o,i){const s=t.createElement("div",{className:`${e.options.classPrefix}-style-group`}),l=`${e.options.classPrefix}-${o}-${Date.now()}`,r=t.createElement("label",{textContent:a,attributes:{for:l},style:{display:"block",fontSize:"12px",marginBottom:"4px",color:"rgba(255,255,255,0.7)"}});s.appendChild(r);const p=t.createElement("select",{className:`${e.options.classPrefix}-style-select`,attributes:{id:l},style:{width:"100%",padding:"6px",background:"var(--vidply-white)",border:"1px solid var(--vidply-white-10)",borderRadius:"4px",color:"var(--vidply-black)",fontSize:"13px"}}),c=e.options[o];return i.forEach(e=>{const a=t.createElement("option",{textContent:e.label,attributes:{value:e.value}});e.value===c&&(a.selected=!0),p.appendChild(a)}),p.addEventListener("mousedown",e=>{e.stopPropagation()}),p.addEventListener("click",e=>{e.stopPropagation()}),p.addEventListener("change",t=>{t.stopPropagation(),e.options[o]=t.target.value,e.captionManager&&e.captionManager.setCaptionStyle(n(o),t.target.value)}),s.appendChild(p),s}function i(e,a,o){const i=t.createElement("div",{className:`${e.options.classPrefix}-style-group`}),s=`${e.options.classPrefix}-${o}-${Date.now()}`,l=t.createElement("label",{textContent:a,attributes:{for:s},style:{display:"block",fontSize:"12px",marginBottom:"4px",color:"rgba(255,255,255,0.7)"}});i.appendChild(l);const r=t.createElement("input",{attributes:{id:s,type:"color",value:String(e.options[o]??"")},style:{width:"100%",height:"32px",padding:"2px",background:"rgba(255,255,255,0.1)",border:"1px solid rgba(255,255,255,0.2)",borderRadius:"4px",cursor:"pointer"}});return r.addEventListener("mousedown",e=>{e.stopPropagation()}),r.addEventListener("click",e=>{e.stopPropagation()}),r.addEventListener("change",t=>{t.stopPropagation(),e.options[o]=t.target.value,e.captionManager&&e.captionManager.setCaptionStyle(n(o),t.target.value)}),i.appendChild(r),i}function s(s,l){const r=s.player,p=document.querySelector(`.${r.options.classPrefix}-caption-style-menu`);if(p)return p.remove(),l.setAttribute("aria-expanded","false"),void(s.openMenu===p&&(s.openMenu=null,s.openMenuButton=null));const c=`${r.options.classPrefix}-caption-style-label-${r.instanceId||""}`,d=t.createElement("div",{className:`${r.options.classPrefix}-caption-style-menu ${r.options.classPrefix}-menu ${r.options.classPrefix}-settings-menu`,attributes:{role:"dialog","aria-modal":"false","aria-labelledby":c}}),u=t.createElement("h2",{textContent:a.t("player.captionStyling"),attributes:{id:c,class:`${r.options.classPrefix}-sr-only`},style:{position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0,0,0,0)",whiteSpace:"nowrap",border:"0"}});if(d.appendChild(u),d.addEventListener("click",e=>{e.stopPropagation()}),!r.captionManager||0===r.captionManager.tracks.length){const e=t.createElement("div",{className:`${r.options.classPrefix}-menu-item`,textContent:a.t("player.noCaptions"),attributes:{role:"status"},style:{opacity:"0.5",cursor:"default",padding:"12px 16px"}});return d.appendChild(e),d.style.visibility="hidden",d.style.display="block",s.insertMenuIntoDOM(d,l),s.positionMenu(d,l,!0),requestAnimationFrame(()=>{d.style.visibility="visible"}),void s.attachMenuCloseHandler(d,l,!0)}d.appendChild(o(r,a.t("styleLabels.fontSize"),"captionsFontSize",[{label:a.t("fontSizes.small"),value:"87.5%"},{label:a.t("fontSizes.normal"),value:"100%"},{label:a.t("fontSizes.large"),value:"125%"},{label:a.t("fontSizes.xlarge"),value:"150%"}])),d.appendChild(o(r,a.t("styleLabels.font"),"captionsFontFamily",[{label:a.t("fontFamilies.sansSerif"),value:"sans-serif"},{label:a.t("fontFamilies.serif"),value:"serif"},{label:a.t("fontFamilies.monospace"),value:"monospace"}])),d.appendChild(i(r,a.t("styleLabels.textColor"),"captionsColor")),d.appendChild(i(r,a.t("styleLabels.background"),"captionsBackgroundColor")),d.appendChild(((e,a,o)=>{const i=t.createElement("div",{className:`${e.options.classPrefix}-style-group`}),s=`${e.options.classPrefix}-${o}-${Date.now()}`,l=t.createElement("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:"4px"}}),r=t.createElement("label",{textContent:a,attributes:{for:s},style:{fontSize:"12px",color:"rgba(255,255,255,0.7)"}}),p=t.createElement("span",{textContent:Math.round(100*Number(e.options[o]??0))+"%",style:{fontSize:"12px",color:"rgba(255,255,255,0.7)"}});l.appendChild(r),l.appendChild(p),i.appendChild(l);const c=t.createElement("input",{attributes:{id:s,type:"range",min:"0",max:"1",step:"0.1",value:String(e.options[o])},style:{width:"100%",cursor:"pointer"}});return c.addEventListener("mousedown",e=>{e.stopPropagation()}),c.addEventListener("click",e=>{e.stopPropagation()}),c.addEventListener("input",t=>{t.stopPropagation();const a=parseFloat(t.target.value);p.textContent=Math.round(100*a)+"%",e.options[o]=a,e.captionManager&&e.captionManager.setCaptionStyle(n(o),a)}),i.appendChild(c),i})(r,a.t("styleLabels.opacity"),"captionsOpacity")),d.style.minWidth="220px",d.style.visibility="hidden",d.style.display="block",s.insertMenuIntoDOM(d,l),s.positionMenu(d,l,!0),requestAnimationFrame(()=>{d.style.visibility="visible"}),s.attachMenuCloseHandler(d,l,!0),e(d,`.${r.options.classPrefix}-style-select`)}export{s as showCaptionStyleMenu};
|