@frameset/plex-player 1.0.5 → 1.0.6
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/plex-player.cjs.js +125 -1
- package/dist/plex-player.cjs.js.map +1 -1
- package/dist/plex-player.css +73 -324
- package/dist/plex-player.css.map +1 -1
- package/dist/plex-player.esm.js +125 -1
- package/dist/plex-player.esm.js.map +1 -1
- package/dist/plex-player.js +125 -1
- package/dist/plex-player.js.map +1 -1
- package/dist/plex-player.min.js +2 -2
- package/dist/plex-player.min.js.map +1 -1
- package/dist/react/index.esm.js +1 -1
- package/dist/react/index.js +1 -1
- package/dist/vue/index.esm.js +1 -1
- package/dist/vue/index.js +1 -1
- package/package.json +1 -1
- package/src/core/index.js +132 -0
package/dist/plex-player.css
CHANGED
|
@@ -1477,15 +1477,15 @@
|
|
|
1477
1477
|
}
|
|
1478
1478
|
|
|
1479
1479
|
/* =====================================================
|
|
1480
|
-
PLEX Video Player - Settings Styles
|
|
1480
|
+
PLEX Video Player - Settings Styles (NPM Package)
|
|
1481
1481
|
===================================================== */
|
|
1482
1482
|
|
|
1483
1483
|
/* Settings Panel */
|
|
1484
|
-
.settings-panel {
|
|
1484
|
+
.plex-settings-panel {
|
|
1485
1485
|
position: absolute;
|
|
1486
1486
|
bottom: 80px;
|
|
1487
|
-
right:
|
|
1488
|
-
width:
|
|
1487
|
+
right: 16px;
|
|
1488
|
+
width: 280px;
|
|
1489
1489
|
max-height: 400px;
|
|
1490
1490
|
background: var(--plex-bg-dark);
|
|
1491
1491
|
border: 1px solid var(--plex-border);
|
|
@@ -1493,23 +1493,21 @@
|
|
|
1493
1493
|
box-shadow: var(--plex-shadow);
|
|
1494
1494
|
z-index: var(--plex-z-panel);
|
|
1495
1495
|
overflow: hidden;
|
|
1496
|
+
opacity: 0;
|
|
1497
|
+
visibility: hidden;
|
|
1498
|
+
transform: scale(0.95) translateY(10px);
|
|
1496
1499
|
transform-origin: bottom right;
|
|
1497
|
-
|
|
1500
|
+
transition: all var(--plex-transition-fast);
|
|
1498
1501
|
}
|
|
1499
1502
|
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
}
|
|
1505
|
-
to {
|
|
1506
|
-
opacity: 1;
|
|
1507
|
-
transform: scale(1);
|
|
1508
|
-
}
|
|
1503
|
+
.plex-settings-panel.plex-settings-open {
|
|
1504
|
+
opacity: 1;
|
|
1505
|
+
visibility: visible;
|
|
1506
|
+
transform: scale(1) translateY(0);
|
|
1509
1507
|
}
|
|
1510
1508
|
|
|
1511
1509
|
/* Settings Header */
|
|
1512
|
-
.settings-header {
|
|
1510
|
+
.plex-settings-header {
|
|
1513
1511
|
display: flex;
|
|
1514
1512
|
align-items: center;
|
|
1515
1513
|
justify-content: space-between;
|
|
@@ -1518,385 +1516,136 @@
|
|
|
1518
1516
|
border-bottom: 1px solid var(--plex-border);
|
|
1519
1517
|
}
|
|
1520
1518
|
|
|
1521
|
-
.settings-title {
|
|
1519
|
+
.plex-settings-title {
|
|
1522
1520
|
font-size: 15px;
|
|
1523
1521
|
font-weight: 600;
|
|
1524
1522
|
color: var(--plex-text-primary);
|
|
1525
1523
|
}
|
|
1526
1524
|
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1525
|
+
.plex-settings-close {
|
|
1526
|
+
display: flex;
|
|
1527
|
+
align-items: center;
|
|
1528
|
+
justify-content: center;
|
|
1529
|
+
width: 28px;
|
|
1530
|
+
height: 28px;
|
|
1531
|
+
padding: 0;
|
|
1532
|
+
background: transparent;
|
|
1533
|
+
border: none;
|
|
1534
|
+
border-radius: var(--plex-radius-sm);
|
|
1535
|
+
cursor: pointer;
|
|
1536
|
+
color: var(--plex-text-secondary);
|
|
1537
|
+
transition: all var(--plex-transition-fast);
|
|
1535
1538
|
}
|
|
1536
1539
|
|
|
1537
|
-
.settings-
|
|
1538
|
-
background:
|
|
1540
|
+
.plex-settings-close:hover {
|
|
1541
|
+
background: rgba(255, 255, 255, 0.1);
|
|
1542
|
+
color: var(--plex-text-primary);
|
|
1539
1543
|
}
|
|
1540
1544
|
|
|
1541
|
-
.settings-
|
|
1542
|
-
|
|
1543
|
-
|
|
1545
|
+
.plex-settings-close svg {
|
|
1546
|
+
width: 18px;
|
|
1547
|
+
height: 18px;
|
|
1548
|
+
fill: currentColor;
|
|
1544
1549
|
}
|
|
1545
1550
|
|
|
1546
|
-
/* Settings
|
|
1547
|
-
.settings-
|
|
1551
|
+
/* Settings Content */
|
|
1552
|
+
.plex-settings-content {
|
|
1548
1553
|
padding: 8px 0;
|
|
1549
1554
|
}
|
|
1550
1555
|
|
|
1551
1556
|
/* Settings Item */
|
|
1552
|
-
.settings-item {
|
|
1557
|
+
.plex-settings-item {
|
|
1553
1558
|
display: flex;
|
|
1554
1559
|
align-items: center;
|
|
1555
|
-
|
|
1560
|
+
justify-content: space-between;
|
|
1556
1561
|
padding: 12px 16px;
|
|
1557
1562
|
cursor: pointer;
|
|
1558
1563
|
transition: background var(--plex-transition-fast);
|
|
1559
1564
|
}
|
|
1560
1565
|
|
|
1561
|
-
.settings-item:hover {
|
|
1566
|
+
.plex-settings-item:hover {
|
|
1562
1567
|
background: rgba(255, 255, 255, 0.05);
|
|
1563
1568
|
}
|
|
1564
1569
|
|
|
1565
|
-
.settings-
|
|
1566
|
-
font-size: 22px;
|
|
1567
|
-
color: var(--plex-text-secondary);
|
|
1568
|
-
}
|
|
1569
|
-
|
|
1570
|
-
.settings-item-label {
|
|
1571
|
-
flex: 1;
|
|
1570
|
+
.plex-settings-label {
|
|
1572
1571
|
font-size: 14px;
|
|
1573
1572
|
color: var(--plex-text-primary);
|
|
1574
1573
|
}
|
|
1575
1574
|
|
|
1576
|
-
.settings-
|
|
1575
|
+
.plex-settings-value {
|
|
1577
1576
|
font-size: 13px;
|
|
1578
1577
|
color: var(--plex-text-secondary);
|
|
1579
1578
|
}
|
|
1580
1579
|
|
|
1581
|
-
.settings-item .material-icons:last-child {
|
|
1582
|
-
font-size: 20px;
|
|
1583
|
-
color: var(--plex-text-secondary);
|
|
1584
|
-
}
|
|
1585
|
-
|
|
1586
1580
|
/* Settings Submenu */
|
|
1587
|
-
.settings-submenu {
|
|
1581
|
+
.plex-settings-submenu {
|
|
1588
1582
|
padding: 8px 0;
|
|
1589
1583
|
}
|
|
1590
1584
|
|
|
1591
|
-
|
|
1592
|
-
.settings-option {
|
|
1585
|
+
.plex-settings-back {
|
|
1593
1586
|
display: flex;
|
|
1594
1587
|
align-items: center;
|
|
1595
|
-
|
|
1588
|
+
gap: 8px;
|
|
1596
1589
|
padding: 12px 16px;
|
|
1597
|
-
cursor: pointer;
|
|
1598
|
-
transition: background var(--plex-transition-fast);
|
|
1599
1590
|
font-size: 14px;
|
|
1591
|
+
font-weight: 600;
|
|
1600
1592
|
color: var(--plex-text-primary);
|
|
1601
|
-
}
|
|
1602
|
-
|
|
1603
|
-
.settings-option:hover {
|
|
1604
|
-
background: rgba(255, 255, 255, 0.05);
|
|
1605
|
-
}
|
|
1606
|
-
|
|
1607
|
-
.settings-option.active {
|
|
1608
|
-
color: var(--plex-primary);
|
|
1609
|
-
}
|
|
1610
|
-
|
|
1611
|
-
.settings-option.active::after {
|
|
1612
|
-
content: 'check';
|
|
1613
|
-
font-family: 'Material Icons';
|
|
1614
|
-
font-size: 20px;
|
|
1615
|
-
color: var(--plex-primary);
|
|
1616
|
-
}
|
|
1617
|
-
|
|
1618
|
-
/* Toggle Switch */
|
|
1619
|
-
.toggle-switch {
|
|
1620
|
-
position: relative;
|
|
1621
|
-
width: 44px;
|
|
1622
|
-
height: 24px;
|
|
1623
|
-
background: rgba(255, 255, 255, 0.2);
|
|
1624
|
-
border-radius: 12px;
|
|
1625
1593
|
cursor: pointer;
|
|
1594
|
+
border-bottom: 1px solid var(--plex-border);
|
|
1626
1595
|
transition: background var(--plex-transition-fast);
|
|
1627
1596
|
}
|
|
1628
1597
|
|
|
1629
|
-
.
|
|
1630
|
-
background:
|
|
1631
|
-
}
|
|
1632
|
-
|
|
1633
|
-
.toggle-slider {
|
|
1634
|
-
position: absolute;
|
|
1635
|
-
top: 2px;
|
|
1636
|
-
left: 2px;
|
|
1637
|
-
width: 20px;
|
|
1638
|
-
height: 20px;
|
|
1639
|
-
background: #fff;
|
|
1640
|
-
border-radius: 50%;
|
|
1641
|
-
transition: transform var(--plex-transition-fast);
|
|
1642
|
-
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
|
|
1643
|
-
}
|
|
1644
|
-
|
|
1645
|
-
.toggle-switch.active .toggle-slider {
|
|
1646
|
-
transform: translateX(20px);
|
|
1647
|
-
}
|
|
1648
|
-
|
|
1649
|
-
/* Subtitles Settings Panel */
|
|
1650
|
-
.subtitles-settings-panel {
|
|
1651
|
-
position: absolute;
|
|
1652
|
-
bottom: 80px;
|
|
1653
|
-
right: 20px;
|
|
1654
|
-
width: 320px;
|
|
1655
|
-
background: var(--plex-bg-dark);
|
|
1656
|
-
border: 1px solid var(--plex-border);
|
|
1657
|
-
border-radius: var(--plex-radius-lg);
|
|
1658
|
-
box-shadow: var(--plex-shadow);
|
|
1659
|
-
z-index: var(--plex-z-panel);
|
|
1660
|
-
overflow: hidden;
|
|
1598
|
+
.plex-settings-back:hover {
|
|
1599
|
+
background: rgba(255, 255, 255, 0.05);
|
|
1661
1600
|
}
|
|
1662
1601
|
|
|
1663
|
-
.
|
|
1664
|
-
|
|
1602
|
+
.plex-settings-back svg {
|
|
1603
|
+
width: 18px;
|
|
1604
|
+
height: 18px;
|
|
1605
|
+
fill: currentColor;
|
|
1665
1606
|
}
|
|
1666
1607
|
|
|
1667
|
-
/*
|
|
1668
|
-
.
|
|
1608
|
+
/* Speed Options */
|
|
1609
|
+
.plex-speed-options {
|
|
1669
1610
|
display: flex;
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
margin-bottom: 16px;
|
|
1673
|
-
}
|
|
1674
|
-
|
|
1675
|
-
.subtitle-setting-item label {
|
|
1676
|
-
flex: 0 0 100px;
|
|
1677
|
-
font-size: 13px;
|
|
1678
|
-
color: var(--plex-text-secondary);
|
|
1679
|
-
}
|
|
1680
|
-
|
|
1681
|
-
.subtitle-setting-item input[type="range"] {
|
|
1682
|
-
flex: 1;
|
|
1683
|
-
-webkit-appearance: none;
|
|
1684
|
-
appearance: none;
|
|
1685
|
-
height: 4px;
|
|
1686
|
-
background: rgba(255, 255, 255, 0.2);
|
|
1687
|
-
border-radius: 2px;
|
|
1688
|
-
outline: none;
|
|
1689
|
-
}
|
|
1690
|
-
|
|
1691
|
-
.subtitle-setting-item input[type="range"]::-webkit-slider-thumb {
|
|
1692
|
-
-webkit-appearance: none;
|
|
1693
|
-
appearance: none;
|
|
1694
|
-
width: 16px;
|
|
1695
|
-
height: 16px;
|
|
1696
|
-
background: var(--plex-primary);
|
|
1697
|
-
border-radius: 50%;
|
|
1698
|
-
cursor: pointer;
|
|
1699
|
-
}
|
|
1700
|
-
|
|
1701
|
-
.subtitle-setting-item input[type="color"] {
|
|
1702
|
-
-webkit-appearance: none;
|
|
1703
|
-
appearance: none;
|
|
1704
|
-
width: 40px;
|
|
1705
|
-
height: 30px;
|
|
1706
|
-
border: none;
|
|
1707
|
-
border-radius: var(--plex-radius-sm);
|
|
1708
|
-
cursor: pointer;
|
|
1709
|
-
background: transparent;
|
|
1710
|
-
}
|
|
1711
|
-
|
|
1712
|
-
.subtitle-setting-item input[type="color"]::-webkit-color-swatch-wrapper {
|
|
1713
|
-
padding: 0;
|
|
1714
|
-
}
|
|
1715
|
-
|
|
1716
|
-
.subtitle-setting-item input[type="color"]::-webkit-color-swatch {
|
|
1717
|
-
border: 2px solid var(--plex-border);
|
|
1718
|
-
border-radius: var(--plex-radius-sm);
|
|
1719
|
-
}
|
|
1720
|
-
|
|
1721
|
-
.subtitle-setting-item span:last-child {
|
|
1722
|
-
flex: 0 0 50px;
|
|
1723
|
-
text-align: right;
|
|
1724
|
-
font-size: 13px;
|
|
1725
|
-
color: var(--plex-text-primary);
|
|
1726
|
-
font-weight: 500;
|
|
1611
|
+
flex-direction: column;
|
|
1612
|
+
padding: 8px 0;
|
|
1727
1613
|
}
|
|
1728
1614
|
|
|
1729
|
-
|
|
1730
|
-
.subtitle-load-btn {
|
|
1615
|
+
.plex-speed-option {
|
|
1731
1616
|
display: flex;
|
|
1732
1617
|
align-items: center;
|
|
1733
1618
|
justify-content: center;
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
margin-top: 8px;
|
|
1738
|
-
background: rgba(255, 255, 255, 0.05);
|
|
1739
|
-
border: 1px solid var(--plex-border);
|
|
1740
|
-
border-radius: var(--plex-radius-md);
|
|
1741
|
-
color: var(--plex-text-primary);
|
|
1619
|
+
padding: 10px 16px;
|
|
1620
|
+
background: transparent;
|
|
1621
|
+
border: none;
|
|
1742
1622
|
font-size: 14px;
|
|
1623
|
+
color: var(--plex-text-primary);
|
|
1743
1624
|
cursor: pointer;
|
|
1744
1625
|
transition: all var(--plex-transition-fast);
|
|
1745
1626
|
}
|
|
1746
1627
|
|
|
1747
|
-
.
|
|
1748
|
-
background: rgba(255, 255, 255, 0.
|
|
1749
|
-
border-color: var(--plex-primary);
|
|
1750
|
-
}
|
|
1751
|
-
|
|
1752
|
-
.subtitle-load-btn .material-icons {
|
|
1753
|
-
font-size: 20px;
|
|
1754
|
-
}
|
|
1755
|
-
|
|
1756
|
-
/* Speed Panel (Alternative) */
|
|
1757
|
-
.speed-panel {
|
|
1758
|
-
position: absolute;
|
|
1759
|
-
bottom: 80px;
|
|
1760
|
-
right: 60px;
|
|
1761
|
-
width: 200px;
|
|
1762
|
-
background: var(--plex-bg-dark);
|
|
1763
|
-
border: 1px solid var(--plex-border);
|
|
1764
|
-
border-radius: var(--plex-radius-lg);
|
|
1765
|
-
box-shadow: var(--plex-shadow);
|
|
1766
|
-
z-index: var(--plex-z-panel);
|
|
1767
|
-
overflow: hidden;
|
|
1768
|
-
padding: 8px 0;
|
|
1769
|
-
}
|
|
1770
|
-
|
|
1771
|
-
/* Quality Badge */
|
|
1772
|
-
.quality-badge {
|
|
1773
|
-
display: inline-flex;
|
|
1774
|
-
align-items: center;
|
|
1775
|
-
justify-content: center;
|
|
1776
|
-
padding: 2px 6px;
|
|
1777
|
-
background: var(--plex-primary);
|
|
1778
|
-
border-radius: 3px;
|
|
1779
|
-
font-size: 10px;
|
|
1780
|
-
font-weight: 700;
|
|
1781
|
-
color: #000;
|
|
1782
|
-
text-transform: uppercase;
|
|
1783
|
-
margin-left: 8px;
|
|
1784
|
-
}
|
|
1785
|
-
|
|
1786
|
-
/* Section Divider */
|
|
1787
|
-
.settings-divider {
|
|
1788
|
-
height: 1px;
|
|
1789
|
-
background: var(--plex-border);
|
|
1790
|
-
margin: 8px 16px;
|
|
1628
|
+
.plex-speed-option:hover {
|
|
1629
|
+
background: rgba(255, 255, 255, 0.05);
|
|
1791
1630
|
}
|
|
1792
1631
|
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
padding: 8px 16px 4px;
|
|
1796
|
-
font-size: 11px;
|
|
1632
|
+
.plex-speed-option.active {
|
|
1633
|
+
color: var(--plex-primary);
|
|
1797
1634
|
font-weight: 600;
|
|
1798
|
-
color: var(--plex-text-secondary);
|
|
1799
|
-
text-transform: uppercase;
|
|
1800
|
-
letter-spacing: 0.5px;
|
|
1801
1635
|
}
|
|
1802
1636
|
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
position: fixed;
|
|
1807
|
-
top: auto;
|
|
1808
|
-
bottom: 0;
|
|
1809
|
-
left: 0;
|
|
1810
|
-
right: 0;
|
|
1811
|
-
width: 100%;
|
|
1812
|
-
max-height: 60vh;
|
|
1813
|
-
border-radius: var(--plex-radius-lg) var(--plex-radius-lg) 0 0;
|
|
1814
|
-
transform-origin: bottom center;
|
|
1815
|
-
}
|
|
1816
|
-
|
|
1817
|
-
.subtitles-settings-panel {
|
|
1818
|
-
position: fixed;
|
|
1819
|
-
top: auto;
|
|
1820
|
-
bottom: 0;
|
|
1821
|
-
left: 0;
|
|
1822
|
-
right: 0;
|
|
1823
|
-
width: 100%;
|
|
1824
|
-
max-height: 70vh;
|
|
1825
|
-
border-radius: var(--plex-radius-lg) var(--plex-radius-lg) 0 0;
|
|
1826
|
-
}
|
|
1827
|
-
|
|
1828
|
-
.settings-item {
|
|
1829
|
-
padding: 14px 20px;
|
|
1830
|
-
}
|
|
1831
|
-
|
|
1832
|
-
.settings-option {
|
|
1833
|
-
padding: 14px 20px;
|
|
1834
|
-
}
|
|
1637
|
+
.plex-speed-option.active::before {
|
|
1638
|
+
content: '✓';
|
|
1639
|
+
margin-right: 8px;
|
|
1835
1640
|
}
|
|
1836
1641
|
|
|
1642
|
+
/* Responsive */
|
|
1837
1643
|
@media (max-width: 480px) {
|
|
1838
|
-
.settings-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
.subtitle-setting-item {
|
|
1843
|
-
flex-wrap: wrap;
|
|
1644
|
+
.plex-settings-panel {
|
|
1645
|
+
width: calc(100% - 32px);
|
|
1646
|
+
left: 16px;
|
|
1647
|
+
right: 16px;
|
|
1844
1648
|
}
|
|
1845
|
-
|
|
1846
|
-
.subtitle-setting-item label {
|
|
1847
|
-
flex: 0 0 100%;
|
|
1848
|
-
margin-bottom: 8px;
|
|
1849
|
-
}
|
|
1850
|
-
|
|
1851
|
-
.subtitle-setting-item input[type="range"] {
|
|
1852
|
-
flex: 1;
|
|
1853
|
-
}
|
|
1854
|
-
}
|
|
1855
|
-
|
|
1856
|
-
/* Animation for panel open/close */
|
|
1857
|
-
.settings-panel.closing {
|
|
1858
|
-
animation: settingsClose 0.15s ease forwards;
|
|
1859
|
-
}
|
|
1860
|
-
|
|
1861
|
-
@keyframes settingsClose {
|
|
1862
|
-
from {
|
|
1863
|
-
opacity: 1;
|
|
1864
|
-
transform: scale(1);
|
|
1865
|
-
}
|
|
1866
|
-
to {
|
|
1867
|
-
opacity: 0;
|
|
1868
|
-
transform: scale(0.95);
|
|
1869
|
-
}
|
|
1870
|
-
}
|
|
1871
|
-
|
|
1872
|
-
/* Keyboard Shortcut Hints */
|
|
1873
|
-
.shortcut-hint {
|
|
1874
|
-
display: inline-flex;
|
|
1875
|
-
align-items: center;
|
|
1876
|
-
justify-content: center;
|
|
1877
|
-
min-width: 24px;
|
|
1878
|
-
height: 24px;
|
|
1879
|
-
padding: 0 6px;
|
|
1880
|
-
background: rgba(255, 255, 255, 0.1);
|
|
1881
|
-
border: 1px solid var(--plex-border);
|
|
1882
|
-
border-radius: 4px;
|
|
1883
|
-
font-size: 11px;
|
|
1884
|
-
font-weight: 600;
|
|
1885
|
-
color: var(--plex-text-secondary);
|
|
1886
|
-
margin-left: auto;
|
|
1887
|
-
}
|
|
1888
|
-
|
|
1889
|
-
/* Audio Track Indicator */
|
|
1890
|
-
.audio-track-indicator {
|
|
1891
|
-
display: flex;
|
|
1892
|
-
align-items: center;
|
|
1893
|
-
gap: 4px;
|
|
1894
|
-
font-size: 12px;
|
|
1895
|
-
color: var(--plex-text-secondary);
|
|
1896
|
-
}
|
|
1897
|
-
|
|
1898
|
-
.audio-track-indicator .material-icons {
|
|
1899
|
-
font-size: 16px;
|
|
1900
1649
|
}
|
|
1901
1650
|
|
|
1902
1651
|
/*# sourceMappingURL=plex-player.css.map */
|