vidply 1.0.8 → 1.0.10
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/dist/vidply.css +154 -52
- package/dist/vidply.esm.js +1867 -731
- package/dist/vidply.esm.js.map +3 -3
- package/dist/vidply.esm.min.js +3 -3
- package/dist/vidply.esm.min.meta.json +28 -10
- package/dist/vidply.js +1867 -731
- package/dist/vidply.js.map +3 -3
- package/dist/vidply.min.css +1 -1
- package/dist/vidply.min.js +3 -3
- package/dist/vidply.min.meta.json +27 -9
- package/package.json +1 -1
- package/src/controls/ControlBar.js +24 -14
- package/src/controls/TranscriptManager.js +658 -591
- package/src/core/Player.js +831 -331
- package/src/i18n/translations.js +55 -5
- package/src/icons/Icons.js +2 -2
- package/src/styles/vidply.css +154 -52
- package/src/utils/DraggableResizable.js +771 -0
package/src/i18n/translations.js
CHANGED
|
@@ -96,10 +96,20 @@ export const translations = {
|
|
|
96
96
|
settings: 'Transcript settings. Press Enter to open menu, or D to enable drag mode',
|
|
97
97
|
keyboardDragMode: 'Toggle keyboard drag mode with arrow keys. Shortcut: D key',
|
|
98
98
|
keyboardDragActive: '⌨️ Keyboard Drag Mode Active (Arrow keys to move, Shift+Arrows for large steps, D or ESC to exit)',
|
|
99
|
+
dragResizePrompt: 'Press D to drag or R to resize. Use Home to reset position, Esc to close.',
|
|
100
|
+
dragModeEnabled: 'Keyboard drag mode enabled. Use arrow keys to move, Shift+Arrow for larger steps. Press D or Esc to exit.',
|
|
101
|
+
dragModeDisabled: 'Keyboard drag mode disabled.',
|
|
99
102
|
resizeWindow: 'Resize Window',
|
|
103
|
+
disableResizeWindow: 'Disable Resize Mode',
|
|
104
|
+
resizeModeHint: 'Resize handles enabled. Drag edges or corners to adjust. Press Esc or R to exit.',
|
|
105
|
+
resizeModeEnabled: 'Resize mode enabled. Drag edges or corners to adjust. Press Esc or R to exit.',
|
|
106
|
+
resizeModeDisabled: 'Resize mode disabled.',
|
|
107
|
+
positionReset: 'Transcript position reset.',
|
|
100
108
|
styleTranscript: 'Open transcript style settings',
|
|
101
109
|
closeMenu: 'Close Menu',
|
|
102
|
-
styleTitle: 'Transcript Style'
|
|
110
|
+
styleTitle: 'Transcript Style',
|
|
111
|
+
autoscroll: 'Autoscroll',
|
|
112
|
+
settingsMenu: 'Settings menu'
|
|
103
113
|
},
|
|
104
114
|
settings: {
|
|
105
115
|
title: 'Settings',
|
|
@@ -218,10 +228,20 @@ export const translations = {
|
|
|
218
228
|
settings: 'Transkript-Einstellungen. Eingabetaste zum Öffnen des Menüs drücken oder D zum Aktivieren des Verschiebemodus',
|
|
219
229
|
keyboardDragMode: 'Tastatur-Verschiebemodus mit Pfeiltasten umschalten. Tastenkombination: D-Taste',
|
|
220
230
|
keyboardDragActive: '⌨️ Tastatur-Verschiebemodus aktiv (Pfeiltasten zum Bewegen, Umschalt+Pfeiltasten für große Schritte, D oder ESC zum Beenden)',
|
|
231
|
+
dragResizePrompt: 'Drücken Sie D zum Verschieben oder R zur Größenänderung. Home setzt die Position zurück, Esc schließt.',
|
|
232
|
+
dragModeEnabled: 'Tastatur-Verschiebemodus aktiviert. Pfeiltasten zum Bewegen, Umschalt+Pfeiltasten für größere Schritte. D oder Esc zum Beenden.',
|
|
233
|
+
dragModeDisabled: 'Tastatur-Verschiebemodus deaktiviert.',
|
|
221
234
|
resizeWindow: 'Fenster vergrößern/verkleinern',
|
|
235
|
+
disableResizeWindow: 'Resize-Modus deaktivieren',
|
|
236
|
+
resizeModeHint: 'Griffe aktiviert. Ziehen Sie Kanten oder Ecken zum Anpassen. Esc oder R zum Beenden.',
|
|
237
|
+
resizeModeEnabled: 'Resize-Modus aktiviert. Kanten oder Ecken ziehen; Esc oder R beendet.',
|
|
238
|
+
resizeModeDisabled: 'Resize-Modus deaktiviert.',
|
|
239
|
+
positionReset: 'Transkriptposition zurückgesetzt.',
|
|
222
240
|
styleTranscript: 'Transkript-Stileinstellungen öffnen',
|
|
223
241
|
closeMenu: 'Menü schließen',
|
|
224
|
-
styleTitle: 'Transkript-Stil'
|
|
242
|
+
styleTitle: 'Transkript-Stil',
|
|
243
|
+
autoscroll: 'Automatisches Scrollen',
|
|
244
|
+
settingsMenu: 'Einstellungsmenü'
|
|
225
245
|
},
|
|
226
246
|
settings: {
|
|
227
247
|
title: 'Einstellungen',
|
|
@@ -340,10 +360,20 @@ export const translations = {
|
|
|
340
360
|
settings: 'Configuración de transcripción. Presione Enter para abrir el menú o D para activar el modo de arrastre',
|
|
341
361
|
keyboardDragMode: 'Alternar modo de arrastre con teclado usando teclas de flecha. Atajo: tecla D',
|
|
342
362
|
keyboardDragActive: '⌨️ Modo de Arrastre con Teclado Activo (Teclas de flecha para mover, Mayús+Flechas para pasos grandes, D o ESC para salir)',
|
|
363
|
+
dragResizePrompt: 'Pulsa D para mover o R para cambiar el tamaño. Home restablece la posición; Esc cierra.',
|
|
364
|
+
dragModeEnabled: 'Modo de arrastre con teclado activado. Usa flechas para mover, Mayús+Flechas para pasos grandes. Pulsa D o Esc para salir.',
|
|
365
|
+
dragModeDisabled: 'Modo de arrastre con teclado desactivado.',
|
|
343
366
|
resizeWindow: 'Cambiar tamaño de ventana',
|
|
367
|
+
disableResizeWindow: 'Desactivar modo de cambio de tamaño',
|
|
368
|
+
resizeModeHint: 'Controladores habilitados. Arrastra bordes o esquinas para ajustar. Pulsa Esc o R para salir.',
|
|
369
|
+
resizeModeEnabled: 'Modo de cambio de tamaño activado. Arrastra bordes o esquinas. Pulsa Esc o R para salir.',
|
|
370
|
+
resizeModeDisabled: 'Modo de cambio de tamaño desactivado.',
|
|
371
|
+
positionReset: 'Posición de la transcripción restablecida.',
|
|
344
372
|
styleTranscript: 'Abrir configuración de estilo de transcripción',
|
|
345
373
|
closeMenu: 'Cerrar menú',
|
|
346
|
-
styleTitle: 'Estilo de Transcripción'
|
|
374
|
+
styleTitle: 'Estilo de Transcripción',
|
|
375
|
+
autoscroll: 'Desplazamiento automático',
|
|
376
|
+
settingsMenu: 'Menú de configuración'
|
|
347
377
|
},
|
|
348
378
|
settings: {
|
|
349
379
|
title: 'Configuración',
|
|
@@ -462,10 +492,20 @@ export const translations = {
|
|
|
462
492
|
settings: 'Paramètres de transcription. Appuyez sur Entrée pour ouvrir le menu ou D pour activer le mode glissement',
|
|
463
493
|
keyboardDragMode: 'Basculer le mode glissement avec les touches fléchées. Raccourci: touche D',
|
|
464
494
|
keyboardDragActive: '⌨️ Mode Glissement Clavier Actif (Touches fléchées pour déplacer, Maj+Fléchées pour grands pas, D ou Échap pour quitter)',
|
|
495
|
+
dragResizePrompt: 'Appuyez sur D pour déplacer ou R pour redimensionner. Home réinitialise la position, Échap ferme.',
|
|
496
|
+
dragModeEnabled: 'Mode glissement clavier activé. Utilisez les flèches pour déplacer, Maj+Flèches pour de grands pas. Appuyez sur D ou Échap pour quitter.',
|
|
497
|
+
dragModeDisabled: 'Mode glissement clavier désactivé.',
|
|
465
498
|
resizeWindow: 'Redimensionner la fenêtre',
|
|
499
|
+
disableResizeWindow: 'Désactiver le mode de redimensionnement',
|
|
500
|
+
resizeModeHint: 'Poignées activées. Faites glisser les bords ou les coins pour ajuster. Appuyez sur Échap ou R pour quitter.',
|
|
501
|
+
resizeModeEnabled: 'Mode redimensionnement activé. Faites glisser les bords ou coins. Appuyez sur Échap ou R pour quitter.',
|
|
502
|
+
resizeModeDisabled: 'Mode redimensionnement désactivé.',
|
|
503
|
+
positionReset: 'Position de la transcription réinitialisée.',
|
|
466
504
|
styleTranscript: 'Ouvrir les paramètres de style de transcription',
|
|
467
505
|
closeMenu: 'Fermer le menu',
|
|
468
|
-
styleTitle: 'Style de Transcription'
|
|
506
|
+
styleTitle: 'Style de Transcription',
|
|
507
|
+
autoscroll: 'Défilement automatique',
|
|
508
|
+
settingsMenu: 'Menu des paramètres'
|
|
469
509
|
},
|
|
470
510
|
settings: {
|
|
471
511
|
title: 'Paramètres',
|
|
@@ -584,10 +624,20 @@ export const translations = {
|
|
|
584
624
|
settings: '文字起こし設定。Enterキーでメニューを開く、またはDキーでドラッグモードを有効にする',
|
|
585
625
|
keyboardDragMode: '矢印キーでキーボードドラッグモードを切り替え。ショートカット:Dキー',
|
|
586
626
|
keyboardDragActive: '⌨️ キーボードドラッグモード有効(矢印キーで移動、Shift+矢印キーで大きく移動、DまたはESCで終了)',
|
|
627
|
+
dragResizePrompt: 'Dキーで移動、Rキーでサイズ変更。Homeで位置をリセット、Escで閉じます。',
|
|
628
|
+
dragModeEnabled: 'キーボードドラッグモードを有効にしました。矢印キーで移動、Shift+矢印キーで大きく移動できます。終了するには D または Esc を押します。',
|
|
629
|
+
dragModeDisabled: 'キーボードドラッグモードを無効にしました。',
|
|
587
630
|
resizeWindow: 'ウィンドウのサイズ変更',
|
|
631
|
+
disableResizeWindow: 'サイズ変更モードを無効にする',
|
|
632
|
+
resizeModeHint: 'リサイズハンドルが有効になりました。辺や角をドラッグして調整します。Esc または R で終了します。',
|
|
633
|
+
resizeModeEnabled: 'サイズ変更モードを有効にしました。辺や角をドラッグして調整します。Esc または R で終了します。',
|
|
634
|
+
resizeModeDisabled: 'サイズ変更モードを無効にしました。',
|
|
635
|
+
positionReset: '文字起こしの位置をリセットしました。',
|
|
588
636
|
styleTranscript: '文字起こしスタイル設定を開く',
|
|
589
637
|
closeMenu: 'メニューを閉じる',
|
|
590
|
-
styleTitle: '文字起こしスタイル'
|
|
638
|
+
styleTitle: '文字起こしスタイル',
|
|
639
|
+
autoscroll: '自動スクロール',
|
|
640
|
+
settingsMenu: '設定メニュー'
|
|
591
641
|
},
|
|
592
642
|
settings: {
|
|
593
643
|
title: '設定',
|
package/src/icons/Icons.js
CHANGED
|
@@ -71,9 +71,9 @@ const iconPaths = {
|
|
|
71
71
|
|
|
72
72
|
transcript: `<path d="M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z"/>`,
|
|
73
73
|
|
|
74
|
-
audioDescription: `<rect x="2" y="5" width="20" height="14" rx="2" fill="
|
|
74
|
+
audioDescription: `<rect x="2" y="5" width="20" height="14" rx="2" fill="#ffffff" stroke="#ffffff" stroke-width="2"/><text x="12" y="16" font-family="Arial, sans-serif" font-size="10" font-weight="bold" text-anchor="middle" fill="#1a1a1a">AD</text>`,
|
|
75
75
|
|
|
76
|
-
audioDescriptionOn: `<rect x="2" y="5" width="20" height="14" rx="2" fill="
|
|
76
|
+
audioDescriptionOn: `<rect x="2" y="5" width="20" height="14" rx="2" fill="none" stroke="currentColor" stroke-width="2"/><text x="12" y="16" font-family="Arial, sans-serif" font-size="10" font-weight="bold" text-anchor="middle" fill="currentColor">AD</text>`,
|
|
77
77
|
|
|
78
78
|
signLanguage: `<g transform="scale(1.5)"><path d="M16 11.3c-.1-.9-4.8 1.3-5.4 1.1-2.6-1 5.8-1.3 5.1-2.9s-5.1 1.5-6 1.4C6.5 9.4 16.5 9.1 13.5 8c-1.9-.6-8.8 2.9-6.8.4.7-.6.7-1.9-.7-1.7-9.7 7.2-.7 12.2 8.8 7 0-1.3-3.5.4-4.1.4-2.6 0 5.6-2 5.4-3ZM3.9 7.8c3.2-4.2 3.7 1.2 6 .1s.2-.2.2-.3c.7-2.7 2.5-7.5-1.5-1.3-1.6 0 1.1-4 1-4.6C8.9-1 7.3 4.4 7.2 4.9c-1.6.7-.9-1.4-.7-1.5 3-6-.6-3.1-.9.4-2.5 1.8 0-2.8 0-3.5C2.8-.9 4 9.4 1.1 4.9S.1 4.6 0 5c-.4 2.7 2.6 7.2 3.9 2.8Z"/></g>`,
|
|
79
79
|
|
package/src/styles/vidply.css
CHANGED
|
@@ -35,27 +35,32 @@
|
|
|
35
35
|
--vidply-border-hover: var(--vidply-white-30);
|
|
36
36
|
--vidply-border-light: var(--vidply-white-10);
|
|
37
37
|
--vidply-focus-outline: 2px solid var(--vidply-primary);
|
|
38
|
+
--vidply-focus-outline-player: 3px solid var(--vidply-primary-light);
|
|
38
39
|
--vidply-focus-outline-white: 2px solid var(--vidply-primary-light);
|
|
39
40
|
--vidply-hover-bg: var(--vidply-white-10);
|
|
40
41
|
--vidply-primary: #0a406e;
|
|
41
42
|
--vidply-primary-10: rgb(var(--vidply-primary-rgb), 0.1);
|
|
42
43
|
--vidply-primary-15: rgb(var(--vidply-primary-rgb), 0.15);
|
|
43
|
-
|
|
44
|
-
/* Black Color Variations */
|
|
45
44
|
--vidply-primary-20: rgb(var(--vidply-primary-rgb), 0.2);
|
|
46
45
|
--vidply-primary-25: rgb(var(--vidply-primary-rgb), 0.25);
|
|
47
46
|
--vidply-primary-30: rgb(var(--vidply-primary-rgb), 0.3);
|
|
48
47
|
--vidply-primary-40: rgb(var(--vidply-primary-rgb), 0.4);
|
|
49
48
|
--vidply-primary-50: rgb(var(--vidply-primary-rgb), 0.5);
|
|
49
|
+
|
|
50
|
+
/* Black Color Variations */
|
|
50
51
|
--vidply-primary-60: rgb(var(--vidply-primary-rgb), 0.6);
|
|
51
52
|
--vidply-primary-70: rgb(var(--vidply-primary-rgb), 0.7);
|
|
52
53
|
--vidply-primary-80: rgb(var(--vidply-primary-rgb), 0.8);
|
|
53
54
|
--vidply-primary-dark: #083358;
|
|
54
|
-
|
|
55
|
-
/* UI Background Colors */
|
|
56
55
|
--vidply-primary-dark-rgb: 8, 51, 88;
|
|
57
56
|
--vidply-primary-light: #71b7e2;
|
|
58
57
|
--vidply-primary-rgb: 10, 64, 110;
|
|
58
|
+
--vidply-scrollbar-thumb: var(--vidply-white);
|
|
59
|
+
--vidply-scrollbar-thumb-hover: var(--vidply-white-90);
|
|
60
|
+
|
|
61
|
+
/* UI Background Colors */
|
|
62
|
+
--vidply-scrollbar-track: #404040;
|
|
63
|
+
--vidply-scrollbar-track-transcript: #555;
|
|
59
64
|
--vidply-shadow-lg: 0 12px 48px var(--vidply-black-80);
|
|
60
65
|
--vidply-shadow-md: 0 4px 12px var(--vidply-black-40);
|
|
61
66
|
--vidply-shadow-sm: 0 2px 4px var(--vidply-black-30);
|
|
@@ -64,6 +69,7 @@
|
|
|
64
69
|
--vidply-text-primary: var(--vidply-white);
|
|
65
70
|
--vidply-text-secondary: var(--vidply-white-90);
|
|
66
71
|
--vidply-text-subtle: var(--vidply-white-50);
|
|
72
|
+
--vidply-transition-default: all 0.2s ease;
|
|
67
73
|
|
|
68
74
|
/* Border Colors */
|
|
69
75
|
--vidply-white: #fff;
|
|
@@ -110,16 +116,11 @@
|
|
|
110
116
|
|
|
111
117
|
/* Player Focus Outline */
|
|
112
118
|
.vidply-player:focus {
|
|
113
|
-
outline: 3px solid var(--vidply-primary-light);
|
|
114
|
-
outline-offset: 4px;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
.vidply-player:focus:not(:focus-visible) {
|
|
118
119
|
outline: none;
|
|
119
120
|
}
|
|
120
121
|
|
|
121
122
|
.vidply-player:focus-visible {
|
|
122
|
-
outline:
|
|
123
|
+
outline: var(--vidply-focus-outline-player);
|
|
123
124
|
outline-offset: 4px;
|
|
124
125
|
}
|
|
125
126
|
|
|
@@ -192,6 +193,17 @@
|
|
|
192
193
|
z-index: 1; /* Base video layer */
|
|
193
194
|
}
|
|
194
195
|
|
|
196
|
+
.vidply-video-wrapper.vidply-forced-poster {
|
|
197
|
+
background-image: var(--vidply-poster-image);
|
|
198
|
+
background-position: center;
|
|
199
|
+
background-repeat: no-repeat;
|
|
200
|
+
background-size: cover;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
.vidply-video-wrapper.vidply-forced-poster > video {
|
|
204
|
+
opacity: 0;
|
|
205
|
+
}
|
|
206
|
+
|
|
195
207
|
/* Mobile: Simplify video wrapper */
|
|
196
208
|
@media (width <= 640px) {
|
|
197
209
|
.vidply-video-wrapper {
|
|
@@ -311,9 +323,6 @@
|
|
|
311
323
|
.vidply-progress-container:hover,
|
|
312
324
|
.vidply-progress-container:focus {
|
|
313
325
|
height: 8px;
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
.vidply-progress-container:focus {
|
|
317
326
|
outline: var(--vidply-focus-outline-white);
|
|
318
327
|
outline-offset: 2px;
|
|
319
328
|
}
|
|
@@ -421,10 +430,6 @@
|
|
|
421
430
|
outline-offset: 2px;
|
|
422
431
|
}
|
|
423
432
|
|
|
424
|
-
.vidply-button:focus:not(:focus-visible) {
|
|
425
|
-
outline: none;
|
|
426
|
-
}
|
|
427
|
-
|
|
428
433
|
.vidply-button:disabled {
|
|
429
434
|
cursor: not-allowed;
|
|
430
435
|
opacity: 0.5;
|
|
@@ -1310,12 +1315,16 @@
|
|
|
1310
1315
|
}
|
|
1311
1316
|
}
|
|
1312
1317
|
|
|
1313
|
-
/* Focus Visible
|
|
1314
|
-
.vidply-player :focus
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
.vidply-player :
|
|
1318
|
+
/* Focus Visible */
|
|
1319
|
+
.vidply-player :focus-visible,
|
|
1320
|
+
.vidply-player button:hover,
|
|
1321
|
+
.vidply-player a:hover,
|
|
1322
|
+
.vidply-player input:hover,
|
|
1323
|
+
.vidply-player select:hover,
|
|
1324
|
+
.vidply-player textarea:hover,
|
|
1325
|
+
.vidply-player [role="button"]:hover,
|
|
1326
|
+
.vidply-player [role="link"]:hover,
|
|
1327
|
+
.vidply-player [tabindex]:not([tabindex="-1"]):hover {
|
|
1319
1328
|
outline: var(--vidply-focus-outline-white);
|
|
1320
1329
|
outline-offset: 2px;
|
|
1321
1330
|
}
|
|
@@ -1402,7 +1411,7 @@
|
|
|
1402
1411
|
gap: 12px;
|
|
1403
1412
|
padding: 12px 16px;
|
|
1404
1413
|
position: relative;
|
|
1405
|
-
transition:
|
|
1414
|
+
transition: var(--vidply-transition-default);
|
|
1406
1415
|
}
|
|
1407
1416
|
|
|
1408
1417
|
.vidply-playlist-item:hover {
|
|
@@ -1413,19 +1422,14 @@
|
|
|
1413
1422
|
.vidply-playlist-item:focus {
|
|
1414
1423
|
background: var(--vidply-white-08);
|
|
1415
1424
|
border-left-color: var(--vidply-primary);
|
|
1416
|
-
outline: 2px solid var(--vidply-primary-light);
|
|
1417
|
-
outline-offset: -2px;
|
|
1418
|
-
z-index: 1;
|
|
1419
|
-
}
|
|
1420
|
-
|
|
1421
|
-
.vidply-playlist-item:focus:not(:focus-visible) {
|
|
1422
1425
|
outline: none;
|
|
1426
|
+
z-index: 1;
|
|
1423
1427
|
}
|
|
1424
1428
|
|
|
1425
1429
|
.vidply-playlist-item:focus-visible {
|
|
1426
1430
|
background: var(--vidply-white-08);
|
|
1427
1431
|
border-left-color: var(--vidply-primary);
|
|
1428
|
-
outline:
|
|
1432
|
+
outline: var(--vidply-focus-outline-white);
|
|
1429
1433
|
outline-offset: -2px;
|
|
1430
1434
|
z-index: 1;
|
|
1431
1435
|
}
|
|
@@ -1439,10 +1443,14 @@
|
|
|
1439
1443
|
background: var(--vidply-primary-20);
|
|
1440
1444
|
}
|
|
1441
1445
|
|
|
1442
|
-
.vidply-playlist-item-active:focus
|
|
1446
|
+
.vidply-playlist-item-active:focus {
|
|
1447
|
+
background: var(--vidply-primary-20);
|
|
1448
|
+
outline: none;
|
|
1449
|
+
}
|
|
1450
|
+
|
|
1443
1451
|
.vidply-playlist-item-active:focus-visible {
|
|
1444
1452
|
background: var(--vidply-primary-20);
|
|
1445
|
-
outline:
|
|
1453
|
+
outline: var(--vidply-focus-outline-white);
|
|
1446
1454
|
outline-offset: -2px;
|
|
1447
1455
|
}
|
|
1448
1456
|
|
|
@@ -1464,7 +1472,7 @@
|
|
|
1464
1472
|
.vidply-playlist-thumbnail-icon {
|
|
1465
1473
|
color: var(--vidply-text-subtle);
|
|
1466
1474
|
height: 32px;
|
|
1467
|
-
transition:
|
|
1475
|
+
transition: var(--vidply-transition-default);
|
|
1468
1476
|
width: 32px;
|
|
1469
1477
|
}
|
|
1470
1478
|
|
|
@@ -1525,21 +1533,26 @@
|
|
|
1525
1533
|
}
|
|
1526
1534
|
|
|
1527
1535
|
/* Playlist Scrollbar */
|
|
1536
|
+
.vidply-playlist-panel {
|
|
1537
|
+
scrollbar-color: var(--vidply-scrollbar-thumb) var(--vidply-scrollbar-track);
|
|
1538
|
+
scrollbar-width: thin;
|
|
1539
|
+
}
|
|
1540
|
+
|
|
1528
1541
|
.vidply-playlist-panel::-webkit-scrollbar {
|
|
1529
1542
|
width: 8px;
|
|
1530
1543
|
}
|
|
1531
1544
|
|
|
1532
1545
|
.vidply-playlist-panel::-webkit-scrollbar-track {
|
|
1533
|
-
background: var(--vidply-
|
|
1546
|
+
background: var(--vidply-scrollbar-track);
|
|
1534
1547
|
}
|
|
1535
1548
|
|
|
1536
1549
|
.vidply-playlist-panel::-webkit-scrollbar-thumb {
|
|
1537
|
-
background: var(--vidply-
|
|
1550
|
+
background: var(--vidply-scrollbar-thumb);
|
|
1538
1551
|
border-radius: 4px;
|
|
1539
1552
|
}
|
|
1540
1553
|
|
|
1541
1554
|
.vidply-playlist-panel::-webkit-scrollbar-thumb:hover {
|
|
1542
|
-
background: var(--vidply-
|
|
1555
|
+
background: var(--vidply-scrollbar-thumb-hover);
|
|
1543
1556
|
}
|
|
1544
1557
|
|
|
1545
1558
|
/* Audio Player with Playlist */
|
|
@@ -1570,7 +1583,7 @@
|
|
|
1570
1583
|
flex-direction: column;
|
|
1571
1584
|
max-width: 400px;
|
|
1572
1585
|
order: 4; /* After video-wrapper (1), track-info (2), and playlist-panel (3) */
|
|
1573
|
-
position:
|
|
1586
|
+
position: fixed;
|
|
1574
1587
|
top: 0;
|
|
1575
1588
|
width: 400px;
|
|
1576
1589
|
z-index: 5;
|
|
@@ -1583,7 +1596,7 @@
|
|
|
1583
1596
|
|
|
1584
1597
|
.vidply-transcript-header {
|
|
1585
1598
|
align-items: center;
|
|
1586
|
-
background:
|
|
1599
|
+
background: #282828;
|
|
1587
1600
|
border-bottom: 1px solid var(--vidply-border-light);
|
|
1588
1601
|
border-radius: 8px 8px 0 0;
|
|
1589
1602
|
cursor: move;
|
|
@@ -1593,11 +1606,24 @@
|
|
|
1593
1606
|
user-select: none;
|
|
1594
1607
|
}
|
|
1595
1608
|
|
|
1609
|
+
.vidply-transcript-header:focus,
|
|
1610
|
+
.vidply-transcript-header:focus-visible {
|
|
1611
|
+
box-shadow: 0 0 0 4px rgb(91 144 255 / 35%);
|
|
1612
|
+
outline: 3px solid var(--vidply-primary-light);
|
|
1613
|
+
outline-offset: 2px;
|
|
1614
|
+
}
|
|
1615
|
+
|
|
1596
1616
|
.vidply-transcript-header h3 {
|
|
1617
|
+
/* Visually hidden but accessible to screen readers */
|
|
1597
1618
|
color: var(--vidply-white);
|
|
1598
1619
|
font-size: 16px;
|
|
1599
1620
|
font-weight: 600;
|
|
1621
|
+
height: 1px;
|
|
1622
|
+
left: -10000px;
|
|
1600
1623
|
margin: 0;
|
|
1624
|
+
overflow: hidden;
|
|
1625
|
+
position: absolute;
|
|
1626
|
+
width: 1px;
|
|
1601
1627
|
}
|
|
1602
1628
|
|
|
1603
1629
|
.vidply-transcript-close {
|
|
@@ -1611,7 +1637,7 @@
|
|
|
1611
1637
|
height: 28px;
|
|
1612
1638
|
justify-content: center;
|
|
1613
1639
|
padding: 4px;
|
|
1614
|
-
transition:
|
|
1640
|
+
transition: var(--vidply-transition-default);
|
|
1615
1641
|
width: 28px;
|
|
1616
1642
|
}
|
|
1617
1643
|
|
|
@@ -1714,31 +1740,92 @@
|
|
|
1714
1740
|
}
|
|
1715
1741
|
|
|
1716
1742
|
/* Transcript Scrollbar */
|
|
1743
|
+
.vidply-transcript-content {
|
|
1744
|
+
scrollbar-color: var(--vidply-scrollbar-thumb) var(--vidply-scrollbar-track-transcript);
|
|
1745
|
+
scrollbar-width: thin;
|
|
1746
|
+
}
|
|
1747
|
+
|
|
1717
1748
|
.vidply-transcript-content::-webkit-scrollbar {
|
|
1718
1749
|
width: 8px;
|
|
1719
1750
|
}
|
|
1720
1751
|
|
|
1721
1752
|
.vidply-transcript-content::-webkit-scrollbar-track {
|
|
1722
|
-
background: var(--vidply-
|
|
1753
|
+
background: var(--vidply-scrollbar-track-transcript);
|
|
1723
1754
|
}
|
|
1724
1755
|
|
|
1725
1756
|
.vidply-transcript-content::-webkit-scrollbar-thumb {
|
|
1726
|
-
background: var(--vidply-
|
|
1757
|
+
background: var(--vidply-scrollbar-thumb);
|
|
1727
1758
|
border-radius: 4px;
|
|
1728
1759
|
}
|
|
1729
1760
|
|
|
1730
1761
|
.vidply-transcript-content::-webkit-scrollbar-thumb:hover {
|
|
1731
|
-
background: var(--vidply-
|
|
1762
|
+
background: var(--vidply-scrollbar-thumb-hover);
|
|
1732
1763
|
}
|
|
1733
1764
|
|
|
1734
1765
|
/* Transcript Header Left Side (Settings Button + Title) */
|
|
1735
1766
|
.vidply-transcript-header-left {
|
|
1736
1767
|
align-items: center;
|
|
1737
1768
|
display: flex;
|
|
1738
|
-
gap:
|
|
1769
|
+
gap: 16px;
|
|
1739
1770
|
position: relative;
|
|
1740
1771
|
}
|
|
1741
1772
|
|
|
1773
|
+
/* Transcript Autoscroll Checkbox */
|
|
1774
|
+
.vidply-transcript-autoscroll-label {
|
|
1775
|
+
align-items: center;
|
|
1776
|
+
cursor: pointer;
|
|
1777
|
+
display: flex;
|
|
1778
|
+
gap: 6px;
|
|
1779
|
+
user-select: none;
|
|
1780
|
+
white-space: nowrap;
|
|
1781
|
+
}
|
|
1782
|
+
|
|
1783
|
+
.vidply-transcript-autoscroll-label input[type="checkbox"] {
|
|
1784
|
+
cursor: pointer;
|
|
1785
|
+
height: 16px;
|
|
1786
|
+
margin: 0;
|
|
1787
|
+
width: 16px;
|
|
1788
|
+
}
|
|
1789
|
+
|
|
1790
|
+
.vidply-transcript-autoscroll-text {
|
|
1791
|
+
color: var(--vidply-text-muted);
|
|
1792
|
+
font-size: 13px;
|
|
1793
|
+
transition: color 0.2s ease;
|
|
1794
|
+
}
|
|
1795
|
+
|
|
1796
|
+
.vidply-transcript-autoscroll-label:hover .vidply-transcript-autoscroll-text {
|
|
1797
|
+
color: var(--vidply-white);
|
|
1798
|
+
}
|
|
1799
|
+
|
|
1800
|
+
/* Transcript Language Selector */
|
|
1801
|
+
.vidply-transcript-language-select {
|
|
1802
|
+
background: var(--vidply-white-10);
|
|
1803
|
+
border: 1px solid var(--vidply-white-20);
|
|
1804
|
+
border-radius: 4px;
|
|
1805
|
+
color: var(--vidply-white);
|
|
1806
|
+
cursor: pointer;
|
|
1807
|
+
font-size: 13px;
|
|
1808
|
+
padding: 4px 8px;
|
|
1809
|
+
transition: var(--vidply-transition-default);
|
|
1810
|
+
}
|
|
1811
|
+
|
|
1812
|
+
.vidply-transcript-language-select:hover {
|
|
1813
|
+
background: var(--vidply-white-15);
|
|
1814
|
+
border-color: var(--vidply-border-hover);
|
|
1815
|
+
}
|
|
1816
|
+
|
|
1817
|
+
.vidply-transcript-language-select:focus {
|
|
1818
|
+
background: var(--vidply-white-15);
|
|
1819
|
+
border-color: var(--vidply-border-focus);
|
|
1820
|
+
box-shadow: 0 0 0 3px var(--vidply-primary-20);
|
|
1821
|
+
outline: none;
|
|
1822
|
+
}
|
|
1823
|
+
|
|
1824
|
+
.vidply-transcript-language-select option {
|
|
1825
|
+
background: #1a1a1a;
|
|
1826
|
+
color: var(--vidply-white);
|
|
1827
|
+
}
|
|
1828
|
+
|
|
1742
1829
|
/* Transcript Settings Button */
|
|
1743
1830
|
.vidply-transcript-settings {
|
|
1744
1831
|
align-items: center;
|
|
@@ -1752,7 +1839,7 @@
|
|
|
1752
1839
|
justify-content: center;
|
|
1753
1840
|
padding: 4px;
|
|
1754
1841
|
position: relative;
|
|
1755
|
-
transition:
|
|
1842
|
+
transition: var(--vidply-transition-default);
|
|
1756
1843
|
width: 28px;
|
|
1757
1844
|
}
|
|
1758
1845
|
|
|
@@ -1762,7 +1849,7 @@
|
|
|
1762
1849
|
}
|
|
1763
1850
|
|
|
1764
1851
|
.vidply-transcript-settings:focus {
|
|
1765
|
-
outline:
|
|
1852
|
+
outline: var(--vidply-focus-outline-white);
|
|
1766
1853
|
outline-offset: 2px;
|
|
1767
1854
|
}
|
|
1768
1855
|
|
|
@@ -2006,6 +2093,22 @@
|
|
|
2006
2093
|
z-index: 1000;
|
|
2007
2094
|
}
|
|
2008
2095
|
|
|
2096
|
+
.vidply-transcript-resize-tooltip {
|
|
2097
|
+
animation: fadeInDown 0.3s ease;
|
|
2098
|
+
background: var(--vidply-primary);
|
|
2099
|
+
border-radius: 4px;
|
|
2100
|
+
color: var(--vidply-white);
|
|
2101
|
+
font-size: 12px;
|
|
2102
|
+
left: 50%;
|
|
2103
|
+
padding: 6px 12px;
|
|
2104
|
+
position: absolute;
|
|
2105
|
+
text-align: center;
|
|
2106
|
+
top: 100%;
|
|
2107
|
+
transform: translateX(-50%);
|
|
2108
|
+
white-space: nowrap;
|
|
2109
|
+
z-index: 1000;
|
|
2110
|
+
}
|
|
2111
|
+
|
|
2009
2112
|
@keyframes fadeInDown {
|
|
2010
2113
|
from {
|
|
2011
2114
|
opacity: 0;
|
|
@@ -2084,7 +2187,7 @@
|
|
|
2084
2187
|
font-size: 13px;
|
|
2085
2188
|
outline: none;
|
|
2086
2189
|
padding: 6px 10px;
|
|
2087
|
-
transition:
|
|
2190
|
+
transition: var(--vidply-transition-default);
|
|
2088
2191
|
width: 100%;
|
|
2089
2192
|
}
|
|
2090
2193
|
|
|
@@ -2112,7 +2215,7 @@
|
|
|
2112
2215
|
height: 32px;
|
|
2113
2216
|
outline: none;
|
|
2114
2217
|
padding: 4px;
|
|
2115
|
-
transition:
|
|
2218
|
+
transition: var(--vidply-transition-default);
|
|
2116
2219
|
width: 100%;
|
|
2117
2220
|
}
|
|
2118
2221
|
|
|
@@ -2196,7 +2299,7 @@
|
|
|
2196
2299
|
font-weight: 600;
|
|
2197
2300
|
margin-top: 12px;
|
|
2198
2301
|
padding: 8px 16px;
|
|
2199
|
-
transition:
|
|
2302
|
+
transition: var(--vidply-transition-default);
|
|
2200
2303
|
width: 100%;
|
|
2201
2304
|
}
|
|
2202
2305
|
|
|
@@ -2218,9 +2321,8 @@
|
|
|
2218
2321
|
.vidply-sign-language-wrapper {
|
|
2219
2322
|
background: transparent;
|
|
2220
2323
|
height: auto;
|
|
2221
|
-
max-width:
|
|
2324
|
+
max-width: none;
|
|
2222
2325
|
min-height: 100px;
|
|
2223
|
-
min-width: 150px;
|
|
2224
2326
|
position: absolute;
|
|
2225
2327
|
transition: opacity 0.3s ease;
|
|
2226
2328
|
width: 280px;
|
|
@@ -2228,7 +2330,7 @@
|
|
|
2228
2330
|
}
|
|
2229
2331
|
|
|
2230
2332
|
.vidply-fullscreen .vidply-sign-language-wrapper {
|
|
2231
|
-
max-width:
|
|
2333
|
+
max-width: none;
|
|
2232
2334
|
}
|
|
2233
2335
|
|
|
2234
2336
|
.vidply-sign-language-wrapper:focus {
|