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 CHANGED
@@ -42,7 +42,13 @@
42
42
  --vidply-border-light: var(--vidply-white-10);
43
43
  --vidply-focus-outline: 2px solid var(--vidply-primary);
44
44
  --vidply-focus-outline-white: 2px solid var(--vidply-primary-light);
45
+ --vidply-focus-outline-player: 3px solid var(--vidply-primary-light);
45
46
  --vidply-hover-bg: var(--vidply-white-10);
47
+ --vidply-scrollbar-thumb: var(--vidply-white);
48
+ --vidply-scrollbar-thumb-hover: var(--vidply-white-90);
49
+ --vidply-scrollbar-track: #404040;
50
+ --vidply-scrollbar-track-transcript: #555555;
51
+ --vidply-transition-default: all 0.2s ease;
46
52
  --vidply-primary: #0a406e;
47
53
  --vidply-primary-10: rgb(var(--vidply-primary-rgb), 0.1);
48
54
  --vidply-primary-15: rgb(var(--vidply-primary-rgb), 0.15);
@@ -116,16 +122,11 @@
116
122
 
117
123
  /* Player Focus Outline */
118
124
  .vidply-player:focus {
119
- outline: 3px solid var(--vidply-primary-light);
120
- outline-offset: 4px;
121
- }
122
-
123
- .vidply-player:focus:not(:focus-visible) {
124
125
  outline: none;
125
126
  }
126
127
 
127
128
  .vidply-player:focus-visible {
128
- outline: 3px solid var(--vidply-primary-light);
129
+ outline: var(--vidply-focus-outline-player);
129
130
  outline-offset: 4px;
130
131
  }
131
132
 
@@ -317,9 +318,6 @@
317
318
  .vidply-progress-container:hover,
318
319
  .vidply-progress-container:focus {
319
320
  height: 8px;
320
- }
321
-
322
- .vidply-progress-container:focus {
323
321
  outline: var(--vidply-focus-outline-white);
324
322
  outline-offset: 2px;
325
323
  }
@@ -427,10 +425,6 @@
427
425
  outline-offset: 2px;
428
426
  }
429
427
 
430
- .vidply-button:focus:not(:focus-visible) {
431
- outline: none;
432
- }
433
-
434
428
  .vidply-button:disabled {
435
429
  cursor: not-allowed;
436
430
  opacity: 0.5;
@@ -1316,12 +1310,16 @@
1316
1310
  }
1317
1311
  }
1318
1312
 
1319
- /* Focus Visible Polyfill */
1320
- .vidply-player :focus:not(:focus-visible) {
1321
- outline: none;
1322
- }
1323
-
1324
- .vidply-player :focus-visible {
1313
+ /* Focus Visible */
1314
+ .vidply-player :focus-visible,
1315
+ .vidply-player button:hover,
1316
+ .vidply-player a:hover,
1317
+ .vidply-player input:hover,
1318
+ .vidply-player select:hover,
1319
+ .vidply-player textarea:hover,
1320
+ .vidply-player [role="button"]:hover,
1321
+ .vidply-player [role="link"]:hover,
1322
+ .vidply-player [tabindex]:not([tabindex="-1"]):hover {
1325
1323
  outline: var(--vidply-focus-outline-white);
1326
1324
  outline-offset: 2px;
1327
1325
  }
@@ -1408,7 +1406,7 @@
1408
1406
  gap: 12px;
1409
1407
  padding: 12px 16px;
1410
1408
  position: relative;
1411
- transition: all 0.2s ease;
1409
+ transition: var(--vidply-transition-default);
1412
1410
  }
1413
1411
 
1414
1412
  .vidply-playlist-item:hover {
@@ -1419,19 +1417,14 @@
1419
1417
  .vidply-playlist-item:focus {
1420
1418
  background: var(--vidply-white-08);
1421
1419
  border-left-color: var(--vidply-primary);
1422
- outline: 2px solid var(--vidply-primary-light);
1423
- outline-offset: -2px;
1424
- z-index: 1;
1425
- }
1426
-
1427
- .vidply-playlist-item:focus:not(:focus-visible) {
1428
1420
  outline: none;
1421
+ z-index: 1;
1429
1422
  }
1430
1423
 
1431
1424
  .vidply-playlist-item:focus-visible {
1432
1425
  background: var(--vidply-white-08);
1433
1426
  border-left-color: var(--vidply-primary);
1434
- outline: 2px solid var(--vidply-primary-light);
1427
+ outline: var(--vidply-focus-outline-white);
1435
1428
  outline-offset: -2px;
1436
1429
  z-index: 1;
1437
1430
  }
@@ -1445,10 +1438,14 @@
1445
1438
  background: var(--vidply-primary-20);
1446
1439
  }
1447
1440
 
1448
- .vidply-playlist-item-active:focus,
1441
+ .vidply-playlist-item-active:focus {
1442
+ background: var(--vidply-primary-20);
1443
+ outline: none;
1444
+ }
1445
+
1449
1446
  .vidply-playlist-item-active:focus-visible {
1450
1447
  background: var(--vidply-primary-20);
1451
- outline: 2px solid var(--vidply-primary-light);
1448
+ outline: var(--vidply-focus-outline-white);
1452
1449
  outline-offset: -2px;
1453
1450
  }
1454
1451
 
@@ -1470,7 +1467,7 @@
1470
1467
  .vidply-playlist-thumbnail-icon {
1471
1468
  color: var(--vidply-text-subtle);
1472
1469
  height: 32px;
1473
- transition: all 0.2s ease;
1470
+ transition: var(--vidply-transition-default);
1474
1471
  width: 32px;
1475
1472
  }
1476
1473
 
@@ -1531,21 +1528,26 @@
1531
1528
  }
1532
1529
 
1533
1530
  /* Playlist Scrollbar */
1531
+ .vidply-playlist-panel {
1532
+ scrollbar-color: var(--vidply-scrollbar-thumb) var(--vidply-scrollbar-track);
1533
+ scrollbar-width: thin;
1534
+ }
1535
+
1534
1536
  .vidply-playlist-panel::-webkit-scrollbar {
1535
1537
  width: 8px;
1536
1538
  }
1537
1539
 
1538
1540
  .vidply-playlist-panel::-webkit-scrollbar-track {
1539
- background: var(--vidply-black-30);
1541
+ background: var(--vidply-scrollbar-track);
1540
1542
  }
1541
1543
 
1542
1544
  .vidply-playlist-panel::-webkit-scrollbar-thumb {
1543
- background: var(--vidply-white-20);
1545
+ background: var(--vidply-scrollbar-thumb);
1544
1546
  border-radius: 4px;
1545
1547
  }
1546
1548
 
1547
1549
  .vidply-playlist-panel::-webkit-scrollbar-thumb:hover {
1548
- background: var(--vidply-border-hover);
1550
+ background: var(--vidply-scrollbar-thumb-hover);
1549
1551
  }
1550
1552
 
1551
1553
  /* Audio Player with Playlist */
@@ -1589,7 +1591,7 @@
1589
1591
 
1590
1592
  .vidply-transcript-header {
1591
1593
  align-items: center;
1592
- background: var(--vidply-active-bg);
1594
+ background: #282828;
1593
1595
  border-bottom: 1px solid var(--vidply-border-light);
1594
1596
  border-radius: 8px 8px 0 0;
1595
1597
  cursor: move;
@@ -1600,10 +1602,16 @@
1600
1602
  }
1601
1603
 
1602
1604
  .vidply-transcript-header h3 {
1605
+ /* Visually hidden but accessible to screen readers */
1603
1606
  color: var(--vidply-white);
1604
1607
  font-size: 16px;
1605
1608
  font-weight: 600;
1609
+ height: 1px;
1610
+ left: -10000px;
1606
1611
  margin: 0;
1612
+ overflow: hidden;
1613
+ position: absolute;
1614
+ width: 1px;
1607
1615
  }
1608
1616
 
1609
1617
  .vidply-transcript-close {
@@ -1617,7 +1625,7 @@
1617
1625
  height: 28px;
1618
1626
  justify-content: center;
1619
1627
  padding: 4px;
1620
- transition: all 0.2s ease;
1628
+ transition: var(--vidply-transition-default);
1621
1629
  width: 28px;
1622
1630
  }
1623
1631
 
@@ -1720,31 +1728,92 @@
1720
1728
  }
1721
1729
 
1722
1730
  /* Transcript Scrollbar */
1731
+ .vidply-transcript-content {
1732
+ scrollbar-color: var(--vidply-scrollbar-thumb) var(--vidply-scrollbar-track-transcript);
1733
+ scrollbar-width: thin;
1734
+ }
1735
+
1723
1736
  .vidply-transcript-content::-webkit-scrollbar {
1724
1737
  width: 8px;
1725
1738
  }
1726
1739
 
1727
1740
  .vidply-transcript-content::-webkit-scrollbar-track {
1728
- background: var(--vidply-black-30);
1741
+ background: var(--vidply-scrollbar-track-transcript);
1729
1742
  }
1730
1743
 
1731
1744
  .vidply-transcript-content::-webkit-scrollbar-thumb {
1732
- background: var(--vidply-white-20);
1745
+ background: var(--vidply-scrollbar-thumb);
1733
1746
  border-radius: 4px;
1734
1747
  }
1735
1748
 
1736
1749
  .vidply-transcript-content::-webkit-scrollbar-thumb:hover {
1737
- background: var(--vidply-border-hover);
1750
+ background: var(--vidply-scrollbar-thumb-hover);
1738
1751
  }
1739
1752
 
1740
1753
  /* Transcript Header Left Side (Settings Button + Title) */
1741
1754
  .vidply-transcript-header-left {
1742
1755
  align-items: center;
1743
1756
  display: flex;
1744
- gap: 8px;
1757
+ gap: 16px;
1745
1758
  position: relative;
1746
1759
  }
1747
1760
 
1761
+ /* Transcript Autoscroll Checkbox */
1762
+ .vidply-transcript-autoscroll-label {
1763
+ align-items: center;
1764
+ cursor: pointer;
1765
+ display: flex;
1766
+ gap: 6px;
1767
+ user-select: none;
1768
+ white-space: nowrap;
1769
+ }
1770
+
1771
+ .vidply-transcript-autoscroll-label input[type="checkbox"] {
1772
+ cursor: pointer;
1773
+ height: 16px;
1774
+ margin: 0;
1775
+ width: 16px;
1776
+ }
1777
+
1778
+ .vidply-transcript-autoscroll-text {
1779
+ color: var(--vidply-text-muted);
1780
+ font-size: 13px;
1781
+ transition: color 0.2s ease;
1782
+ }
1783
+
1784
+ .vidply-transcript-autoscroll-label:hover .vidply-transcript-autoscroll-text {
1785
+ color: var(--vidply-white);
1786
+ }
1787
+
1788
+ /* Transcript Language Selector */
1789
+ .vidply-transcript-language-select {
1790
+ background: var(--vidply-white-10);
1791
+ border: 1px solid var(--vidply-white-20);
1792
+ border-radius: 4px;
1793
+ color: var(--vidply-white);
1794
+ cursor: pointer;
1795
+ font-size: 13px;
1796
+ padding: 4px 8px;
1797
+ transition: var(--vidply-transition-default);
1798
+ }
1799
+
1800
+ .vidply-transcript-language-select:hover {
1801
+ background: var(--vidply-white-15);
1802
+ border-color: var(--vidply-border-hover);
1803
+ }
1804
+
1805
+ .vidply-transcript-language-select:focus {
1806
+ background: var(--vidply-white-15);
1807
+ border-color: var(--vidply-border-focus);
1808
+ box-shadow: 0 0 0 3px var(--vidply-primary-20);
1809
+ outline: none;
1810
+ }
1811
+
1812
+ .vidply-transcript-language-select option {
1813
+ background: #1a1a1a;
1814
+ color: var(--vidply-white);
1815
+ }
1816
+
1748
1817
  /* Transcript Settings Button */
1749
1818
  .vidply-transcript-settings {
1750
1819
  align-items: center;
@@ -1758,7 +1827,7 @@
1758
1827
  justify-content: center;
1759
1828
  padding: 4px;
1760
1829
  position: relative;
1761
- transition: all 0.2s ease;
1830
+ transition: var(--vidply-transition-default);
1762
1831
  width: 28px;
1763
1832
  }
1764
1833
 
@@ -1768,7 +1837,7 @@
1768
1837
  }
1769
1838
 
1770
1839
  .vidply-transcript-settings:focus {
1771
- outline: 2px solid var(--vidply-primary-light);
1840
+ outline: var(--vidply-focus-outline-white);
1772
1841
  outline-offset: 2px;
1773
1842
  }
1774
1843
 
@@ -2090,7 +2159,7 @@
2090
2159
  font-size: 13px;
2091
2160
  outline: none;
2092
2161
  padding: 6px 10px;
2093
- transition: all 0.2s ease;
2162
+ transition: var(--vidply-transition-default);
2094
2163
  width: 100%;
2095
2164
  }
2096
2165
 
@@ -2118,7 +2187,7 @@
2118
2187
  height: 32px;
2119
2188
  outline: none;
2120
2189
  padding: 4px;
2121
- transition: all 0.2s ease;
2190
+ transition: var(--vidply-transition-default);
2122
2191
  width: 100%;
2123
2192
  }
2124
2193
 
@@ -2202,7 +2271,7 @@
2202
2271
  font-weight: 600;
2203
2272
  margin-top: 12px;
2204
2273
  padding: 8px 16px;
2205
- transition: all 0.2s ease;
2274
+ transition: var(--vidply-transition-default);
2206
2275
  width: 100%;
2207
2276
  }
2208
2277