vidply 1.0.7 → 1.0.9
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 +113 -44
- package/dist/vidply.esm.js +1457 -44
- package/dist/vidply.esm.js.map +3 -3
- package/dist/vidply.esm.min.js +6 -6
- package/dist/vidply.esm.min.meta.json +7 -7
- package/dist/vidply.js +1457 -44
- package/dist/vidply.js.map +3 -3
- package/dist/vidply.min.css +1 -1
- package/dist/vidply.min.js +6 -6
- package/dist/vidply.min.meta.json +7 -7
- package/package.json +2 -2
- package/src/controls/TranscriptManager.js +328 -27
- package/src/core/Player.js +1621 -16
- package/src/i18n/translations.js +10 -5
- package/src/icons/Icons.js +2 -2
- package/src/styles/vidply.css +113 -44
package/src/i18n/translations.js
CHANGED
|
@@ -99,7 +99,8 @@ export const translations = {
|
|
|
99
99
|
resizeWindow: 'Resize Window',
|
|
100
100
|
styleTranscript: 'Open transcript style settings',
|
|
101
101
|
closeMenu: 'Close Menu',
|
|
102
|
-
styleTitle: 'Transcript Style'
|
|
102
|
+
styleTitle: 'Transcript Style',
|
|
103
|
+
autoscroll: 'Autoscroll'
|
|
103
104
|
},
|
|
104
105
|
settings: {
|
|
105
106
|
title: 'Settings',
|
|
@@ -221,7 +222,8 @@ export const translations = {
|
|
|
221
222
|
resizeWindow: 'Fenster vergrößern/verkleinern',
|
|
222
223
|
styleTranscript: 'Transkript-Stileinstellungen öffnen',
|
|
223
224
|
closeMenu: 'Menü schließen',
|
|
224
|
-
styleTitle: 'Transkript-Stil'
|
|
225
|
+
styleTitle: 'Transkript-Stil',
|
|
226
|
+
autoscroll: 'Automatisches Scrollen'
|
|
225
227
|
},
|
|
226
228
|
settings: {
|
|
227
229
|
title: 'Einstellungen',
|
|
@@ -343,7 +345,8 @@ export const translations = {
|
|
|
343
345
|
resizeWindow: 'Cambiar tamaño de ventana',
|
|
344
346
|
styleTranscript: 'Abrir configuración de estilo de transcripción',
|
|
345
347
|
closeMenu: 'Cerrar menú',
|
|
346
|
-
styleTitle: 'Estilo de Transcripción'
|
|
348
|
+
styleTitle: 'Estilo de Transcripción',
|
|
349
|
+
autoscroll: 'Desplazamiento automático'
|
|
347
350
|
},
|
|
348
351
|
settings: {
|
|
349
352
|
title: 'Configuración',
|
|
@@ -465,7 +468,8 @@ export const translations = {
|
|
|
465
468
|
resizeWindow: 'Redimensionner la fenêtre',
|
|
466
469
|
styleTranscript: 'Ouvrir les paramètres de style de transcription',
|
|
467
470
|
closeMenu: 'Fermer le menu',
|
|
468
|
-
styleTitle: 'Style de Transcription'
|
|
471
|
+
styleTitle: 'Style de Transcription',
|
|
472
|
+
autoscroll: 'Défilement automatique'
|
|
469
473
|
},
|
|
470
474
|
settings: {
|
|
471
475
|
title: 'Paramètres',
|
|
@@ -587,7 +591,8 @@ export const translations = {
|
|
|
587
591
|
resizeWindow: 'ウィンドウのサイズ変更',
|
|
588
592
|
styleTranscript: '文字起こしスタイル設定を開く',
|
|
589
593
|
closeMenu: 'メニューを閉じる',
|
|
590
|
-
styleTitle: '文字起こしスタイル'
|
|
594
|
+
styleTitle: '文字起こしスタイル',
|
|
595
|
+
autoscroll: '自動スクロール'
|
|
591
596
|
},
|
|
592
597
|
settings: {
|
|
593
598
|
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
|
@@ -36,7 +36,13 @@
|
|
|
36
36
|
--vidply-border-light: var(--vidply-white-10);
|
|
37
37
|
--vidply-focus-outline: 2px solid var(--vidply-primary);
|
|
38
38
|
--vidply-focus-outline-white: 2px solid var(--vidply-primary-light);
|
|
39
|
+
--vidply-focus-outline-player: 3px solid var(--vidply-primary-light);
|
|
39
40
|
--vidply-hover-bg: var(--vidply-white-10);
|
|
41
|
+
--vidply-scrollbar-thumb: var(--vidply-white);
|
|
42
|
+
--vidply-scrollbar-thumb-hover: var(--vidply-white-90);
|
|
43
|
+
--vidply-scrollbar-track: #404040;
|
|
44
|
+
--vidply-scrollbar-track-transcript: #555555;
|
|
45
|
+
--vidply-transition-default: all 0.2s ease;
|
|
40
46
|
--vidply-primary: #0a406e;
|
|
41
47
|
--vidply-primary-10: rgb(var(--vidply-primary-rgb), 0.1);
|
|
42
48
|
--vidply-primary-15: rgb(var(--vidply-primary-rgb), 0.15);
|
|
@@ -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
|
|
|
@@ -311,9 +312,6 @@
|
|
|
311
312
|
.vidply-progress-container:hover,
|
|
312
313
|
.vidply-progress-container:focus {
|
|
313
314
|
height: 8px;
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
.vidply-progress-container:focus {
|
|
317
315
|
outline: var(--vidply-focus-outline-white);
|
|
318
316
|
outline-offset: 2px;
|
|
319
317
|
}
|
|
@@ -421,10 +419,6 @@
|
|
|
421
419
|
outline-offset: 2px;
|
|
422
420
|
}
|
|
423
421
|
|
|
424
|
-
.vidply-button:focus:not(:focus-visible) {
|
|
425
|
-
outline: none;
|
|
426
|
-
}
|
|
427
|
-
|
|
428
422
|
.vidply-button:disabled {
|
|
429
423
|
cursor: not-allowed;
|
|
430
424
|
opacity: 0.5;
|
|
@@ -1310,12 +1304,16 @@
|
|
|
1310
1304
|
}
|
|
1311
1305
|
}
|
|
1312
1306
|
|
|
1313
|
-
/* Focus Visible
|
|
1314
|
-
.vidply-player :focus
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
.vidply-player :
|
|
1307
|
+
/* Focus Visible */
|
|
1308
|
+
.vidply-player :focus-visible,
|
|
1309
|
+
.vidply-player button:hover,
|
|
1310
|
+
.vidply-player a:hover,
|
|
1311
|
+
.vidply-player input:hover,
|
|
1312
|
+
.vidply-player select:hover,
|
|
1313
|
+
.vidply-player textarea:hover,
|
|
1314
|
+
.vidply-player [role="button"]:hover,
|
|
1315
|
+
.vidply-player [role="link"]:hover,
|
|
1316
|
+
.vidply-player [tabindex]:not([tabindex="-1"]):hover {
|
|
1319
1317
|
outline: var(--vidply-focus-outline-white);
|
|
1320
1318
|
outline-offset: 2px;
|
|
1321
1319
|
}
|
|
@@ -1402,7 +1400,7 @@
|
|
|
1402
1400
|
gap: 12px;
|
|
1403
1401
|
padding: 12px 16px;
|
|
1404
1402
|
position: relative;
|
|
1405
|
-
transition:
|
|
1403
|
+
transition: var(--vidply-transition-default);
|
|
1406
1404
|
}
|
|
1407
1405
|
|
|
1408
1406
|
.vidply-playlist-item:hover {
|
|
@@ -1413,19 +1411,14 @@
|
|
|
1413
1411
|
.vidply-playlist-item:focus {
|
|
1414
1412
|
background: var(--vidply-white-08);
|
|
1415
1413
|
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
1414
|
outline: none;
|
|
1415
|
+
z-index: 1;
|
|
1423
1416
|
}
|
|
1424
1417
|
|
|
1425
1418
|
.vidply-playlist-item:focus-visible {
|
|
1426
1419
|
background: var(--vidply-white-08);
|
|
1427
1420
|
border-left-color: var(--vidply-primary);
|
|
1428
|
-
outline:
|
|
1421
|
+
outline: var(--vidply-focus-outline-white);
|
|
1429
1422
|
outline-offset: -2px;
|
|
1430
1423
|
z-index: 1;
|
|
1431
1424
|
}
|
|
@@ -1439,10 +1432,14 @@
|
|
|
1439
1432
|
background: var(--vidply-primary-20);
|
|
1440
1433
|
}
|
|
1441
1434
|
|
|
1442
|
-
.vidply-playlist-item-active:focus
|
|
1435
|
+
.vidply-playlist-item-active:focus {
|
|
1436
|
+
background: var(--vidply-primary-20);
|
|
1437
|
+
outline: none;
|
|
1438
|
+
}
|
|
1439
|
+
|
|
1443
1440
|
.vidply-playlist-item-active:focus-visible {
|
|
1444
1441
|
background: var(--vidply-primary-20);
|
|
1445
|
-
outline:
|
|
1442
|
+
outline: var(--vidply-focus-outline-white);
|
|
1446
1443
|
outline-offset: -2px;
|
|
1447
1444
|
}
|
|
1448
1445
|
|
|
@@ -1464,7 +1461,7 @@
|
|
|
1464
1461
|
.vidply-playlist-thumbnail-icon {
|
|
1465
1462
|
color: var(--vidply-text-subtle);
|
|
1466
1463
|
height: 32px;
|
|
1467
|
-
transition:
|
|
1464
|
+
transition: var(--vidply-transition-default);
|
|
1468
1465
|
width: 32px;
|
|
1469
1466
|
}
|
|
1470
1467
|
|
|
@@ -1525,21 +1522,26 @@
|
|
|
1525
1522
|
}
|
|
1526
1523
|
|
|
1527
1524
|
/* Playlist Scrollbar */
|
|
1525
|
+
.vidply-playlist-panel {
|
|
1526
|
+
scrollbar-color: var(--vidply-scrollbar-thumb) var(--vidply-scrollbar-track);
|
|
1527
|
+
scrollbar-width: thin;
|
|
1528
|
+
}
|
|
1529
|
+
|
|
1528
1530
|
.vidply-playlist-panel::-webkit-scrollbar {
|
|
1529
1531
|
width: 8px;
|
|
1530
1532
|
}
|
|
1531
1533
|
|
|
1532
1534
|
.vidply-playlist-panel::-webkit-scrollbar-track {
|
|
1533
|
-
background: var(--vidply-
|
|
1535
|
+
background: var(--vidply-scrollbar-track);
|
|
1534
1536
|
}
|
|
1535
1537
|
|
|
1536
1538
|
.vidply-playlist-panel::-webkit-scrollbar-thumb {
|
|
1537
|
-
background: var(--vidply-
|
|
1539
|
+
background: var(--vidply-scrollbar-thumb);
|
|
1538
1540
|
border-radius: 4px;
|
|
1539
1541
|
}
|
|
1540
1542
|
|
|
1541
1543
|
.vidply-playlist-panel::-webkit-scrollbar-thumb:hover {
|
|
1542
|
-
background: var(--vidply-
|
|
1544
|
+
background: var(--vidply-scrollbar-thumb-hover);
|
|
1543
1545
|
}
|
|
1544
1546
|
|
|
1545
1547
|
/* Audio Player with Playlist */
|
|
@@ -1583,7 +1585,7 @@
|
|
|
1583
1585
|
|
|
1584
1586
|
.vidply-transcript-header {
|
|
1585
1587
|
align-items: center;
|
|
1586
|
-
background:
|
|
1588
|
+
background: #282828;
|
|
1587
1589
|
border-bottom: 1px solid var(--vidply-border-light);
|
|
1588
1590
|
border-radius: 8px 8px 0 0;
|
|
1589
1591
|
cursor: move;
|
|
@@ -1594,10 +1596,16 @@
|
|
|
1594
1596
|
}
|
|
1595
1597
|
|
|
1596
1598
|
.vidply-transcript-header h3 {
|
|
1599
|
+
/* Visually hidden but accessible to screen readers */
|
|
1597
1600
|
color: var(--vidply-white);
|
|
1598
1601
|
font-size: 16px;
|
|
1599
1602
|
font-weight: 600;
|
|
1603
|
+
height: 1px;
|
|
1604
|
+
left: -10000px;
|
|
1600
1605
|
margin: 0;
|
|
1606
|
+
overflow: hidden;
|
|
1607
|
+
position: absolute;
|
|
1608
|
+
width: 1px;
|
|
1601
1609
|
}
|
|
1602
1610
|
|
|
1603
1611
|
.vidply-transcript-close {
|
|
@@ -1611,7 +1619,7 @@
|
|
|
1611
1619
|
height: 28px;
|
|
1612
1620
|
justify-content: center;
|
|
1613
1621
|
padding: 4px;
|
|
1614
|
-
transition:
|
|
1622
|
+
transition: var(--vidply-transition-default);
|
|
1615
1623
|
width: 28px;
|
|
1616
1624
|
}
|
|
1617
1625
|
|
|
@@ -1714,31 +1722,92 @@
|
|
|
1714
1722
|
}
|
|
1715
1723
|
|
|
1716
1724
|
/* Transcript Scrollbar */
|
|
1725
|
+
.vidply-transcript-content {
|
|
1726
|
+
scrollbar-color: var(--vidply-scrollbar-thumb) var(--vidply-scrollbar-track-transcript);
|
|
1727
|
+
scrollbar-width: thin;
|
|
1728
|
+
}
|
|
1729
|
+
|
|
1717
1730
|
.vidply-transcript-content::-webkit-scrollbar {
|
|
1718
1731
|
width: 8px;
|
|
1719
1732
|
}
|
|
1720
1733
|
|
|
1721
1734
|
.vidply-transcript-content::-webkit-scrollbar-track {
|
|
1722
|
-
background: var(--vidply-
|
|
1735
|
+
background: var(--vidply-scrollbar-track-transcript);
|
|
1723
1736
|
}
|
|
1724
1737
|
|
|
1725
1738
|
.vidply-transcript-content::-webkit-scrollbar-thumb {
|
|
1726
|
-
background: var(--vidply-
|
|
1739
|
+
background: var(--vidply-scrollbar-thumb);
|
|
1727
1740
|
border-radius: 4px;
|
|
1728
1741
|
}
|
|
1729
1742
|
|
|
1730
1743
|
.vidply-transcript-content::-webkit-scrollbar-thumb:hover {
|
|
1731
|
-
background: var(--vidply-
|
|
1744
|
+
background: var(--vidply-scrollbar-thumb-hover);
|
|
1732
1745
|
}
|
|
1733
1746
|
|
|
1734
1747
|
/* Transcript Header Left Side (Settings Button + Title) */
|
|
1735
1748
|
.vidply-transcript-header-left {
|
|
1736
1749
|
align-items: center;
|
|
1737
1750
|
display: flex;
|
|
1738
|
-
gap:
|
|
1751
|
+
gap: 16px;
|
|
1739
1752
|
position: relative;
|
|
1740
1753
|
}
|
|
1741
1754
|
|
|
1755
|
+
/* Transcript Autoscroll Checkbox */
|
|
1756
|
+
.vidply-transcript-autoscroll-label {
|
|
1757
|
+
align-items: center;
|
|
1758
|
+
cursor: pointer;
|
|
1759
|
+
display: flex;
|
|
1760
|
+
gap: 6px;
|
|
1761
|
+
user-select: none;
|
|
1762
|
+
white-space: nowrap;
|
|
1763
|
+
}
|
|
1764
|
+
|
|
1765
|
+
.vidply-transcript-autoscroll-label input[type="checkbox"] {
|
|
1766
|
+
cursor: pointer;
|
|
1767
|
+
height: 16px;
|
|
1768
|
+
margin: 0;
|
|
1769
|
+
width: 16px;
|
|
1770
|
+
}
|
|
1771
|
+
|
|
1772
|
+
.vidply-transcript-autoscroll-text {
|
|
1773
|
+
color: var(--vidply-text-muted);
|
|
1774
|
+
font-size: 13px;
|
|
1775
|
+
transition: color 0.2s ease;
|
|
1776
|
+
}
|
|
1777
|
+
|
|
1778
|
+
.vidply-transcript-autoscroll-label:hover .vidply-transcript-autoscroll-text {
|
|
1779
|
+
color: var(--vidply-white);
|
|
1780
|
+
}
|
|
1781
|
+
|
|
1782
|
+
/* Transcript Language Selector */
|
|
1783
|
+
.vidply-transcript-language-select {
|
|
1784
|
+
background: var(--vidply-white-10);
|
|
1785
|
+
border: 1px solid var(--vidply-white-20);
|
|
1786
|
+
border-radius: 4px;
|
|
1787
|
+
color: var(--vidply-white);
|
|
1788
|
+
cursor: pointer;
|
|
1789
|
+
font-size: 13px;
|
|
1790
|
+
padding: 4px 8px;
|
|
1791
|
+
transition: var(--vidply-transition-default);
|
|
1792
|
+
}
|
|
1793
|
+
|
|
1794
|
+
.vidply-transcript-language-select:hover {
|
|
1795
|
+
background: var(--vidply-white-15);
|
|
1796
|
+
border-color: var(--vidply-border-hover);
|
|
1797
|
+
}
|
|
1798
|
+
|
|
1799
|
+
.vidply-transcript-language-select:focus {
|
|
1800
|
+
background: var(--vidply-white-15);
|
|
1801
|
+
border-color: var(--vidply-border-focus);
|
|
1802
|
+
box-shadow: 0 0 0 3px var(--vidply-primary-20);
|
|
1803
|
+
outline: none;
|
|
1804
|
+
}
|
|
1805
|
+
|
|
1806
|
+
.vidply-transcript-language-select option {
|
|
1807
|
+
background: #1a1a1a;
|
|
1808
|
+
color: var(--vidply-white);
|
|
1809
|
+
}
|
|
1810
|
+
|
|
1742
1811
|
/* Transcript Settings Button */
|
|
1743
1812
|
.vidply-transcript-settings {
|
|
1744
1813
|
align-items: center;
|
|
@@ -1752,7 +1821,7 @@
|
|
|
1752
1821
|
justify-content: center;
|
|
1753
1822
|
padding: 4px;
|
|
1754
1823
|
position: relative;
|
|
1755
|
-
transition:
|
|
1824
|
+
transition: var(--vidply-transition-default);
|
|
1756
1825
|
width: 28px;
|
|
1757
1826
|
}
|
|
1758
1827
|
|
|
@@ -1762,7 +1831,7 @@
|
|
|
1762
1831
|
}
|
|
1763
1832
|
|
|
1764
1833
|
.vidply-transcript-settings:focus {
|
|
1765
|
-
outline:
|
|
1834
|
+
outline: var(--vidply-focus-outline-white);
|
|
1766
1835
|
outline-offset: 2px;
|
|
1767
1836
|
}
|
|
1768
1837
|
|
|
@@ -2084,7 +2153,7 @@
|
|
|
2084
2153
|
font-size: 13px;
|
|
2085
2154
|
outline: none;
|
|
2086
2155
|
padding: 6px 10px;
|
|
2087
|
-
transition:
|
|
2156
|
+
transition: var(--vidply-transition-default);
|
|
2088
2157
|
width: 100%;
|
|
2089
2158
|
}
|
|
2090
2159
|
|
|
@@ -2112,7 +2181,7 @@
|
|
|
2112
2181
|
height: 32px;
|
|
2113
2182
|
outline: none;
|
|
2114
2183
|
padding: 4px;
|
|
2115
|
-
transition:
|
|
2184
|
+
transition: var(--vidply-transition-default);
|
|
2116
2185
|
width: 100%;
|
|
2117
2186
|
}
|
|
2118
2187
|
|
|
@@ -2196,7 +2265,7 @@
|
|
|
2196
2265
|
font-weight: 600;
|
|
2197
2266
|
margin-top: 12px;
|
|
2198
2267
|
padding: 8px 16px;
|
|
2199
|
-
transition:
|
|
2268
|
+
transition: var(--vidply-transition-default);
|
|
2200
2269
|
width: 100%;
|
|
2201
2270
|
}
|
|
2202
2271
|
|