@frameset/plex-player 1.0.4 → 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 +127 -1
- package/dist/plex-player.cjs.js.map +1 -1
- package/dist/plex-player.css +304 -603
- package/dist/plex-player.css.map +1 -1
- package/dist/plex-player.esm.js +127 -1
- package/dist/plex-player.esm.js.map +1 -1
- package/dist/plex-player.js +127 -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 +134 -0
package/dist/plex-player.css
CHANGED
|
@@ -66,13 +66,14 @@
|
|
|
66
66
|
color: var(--plex-text-primary);
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
.plex-player.fullscreen {
|
|
69
|
+
.plex-player.plex-fullscreen {
|
|
70
70
|
position: fixed;
|
|
71
71
|
top: 0;
|
|
72
72
|
left: 0;
|
|
73
73
|
width: 100vw;
|
|
74
74
|
height: 100vh;
|
|
75
75
|
z-index: 9999;
|
|
76
|
+
border-radius: 0;
|
|
76
77
|
}
|
|
77
78
|
|
|
78
79
|
/* Video Container */
|
|
@@ -578,56 +579,38 @@
|
|
|
578
579
|
}
|
|
579
580
|
|
|
580
581
|
/* =====================================================
|
|
581
|
-
PLEX Video Player - Controls Styles
|
|
582
|
+
PLEX Video Player - Controls Styles (NPM Package)
|
|
582
583
|
===================================================== */
|
|
583
584
|
|
|
584
|
-
/*
|
|
585
|
-
.
|
|
586
|
-
position: absolute;
|
|
587
|
-
top: 0;
|
|
588
|
-
left: 0;
|
|
585
|
+
/* Video Element */
|
|
586
|
+
.plex-video {
|
|
589
587
|
width: 100%;
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
padding: 16px 20px;
|
|
594
|
-
background: var(--plex-gradient-top);
|
|
595
|
-
z-index: var(--plex-z-controls);
|
|
596
|
-
transition: all var(--plex-transition-normal);
|
|
597
|
-
}
|
|
598
|
-
|
|
599
|
-
.top-left,
|
|
600
|
-
.top-right {
|
|
601
|
-
display: flex;
|
|
602
|
-
align-items: center;
|
|
603
|
-
gap: 8px;
|
|
604
|
-
}
|
|
605
|
-
|
|
606
|
-
.video-title {
|
|
607
|
-
font-size: 16px;
|
|
608
|
-
font-weight: 600;
|
|
609
|
-
color: var(--plex-text-primary);
|
|
610
|
-
margin-left: 8px;
|
|
611
|
-
max-width: 400px;
|
|
612
|
-
white-space: nowrap;
|
|
613
|
-
overflow: hidden;
|
|
614
|
-
text-overflow: ellipsis;
|
|
588
|
+
height: 100%;
|
|
589
|
+
object-fit: contain;
|
|
590
|
+
background: #000;
|
|
615
591
|
}
|
|
616
592
|
|
|
617
|
-
/*
|
|
618
|
-
.
|
|
593
|
+
/* Controls Container */
|
|
594
|
+
.plex-controls {
|
|
619
595
|
position: absolute;
|
|
620
596
|
bottom: 0;
|
|
621
597
|
left: 0;
|
|
622
|
-
|
|
598
|
+
right: 0;
|
|
623
599
|
padding: 0 16px 16px;
|
|
624
600
|
background: var(--plex-gradient);
|
|
625
601
|
z-index: var(--plex-z-controls);
|
|
626
|
-
transition:
|
|
602
|
+
transition: opacity var(--plex-transition-normal), visibility var(--plex-transition-normal);
|
|
603
|
+
opacity: 1;
|
|
604
|
+
visibility: visible;
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
.plex-player:not(.plex-controls-visible) .plex-controls {
|
|
608
|
+
opacity: 0;
|
|
609
|
+
visibility: hidden;
|
|
627
610
|
}
|
|
628
611
|
|
|
629
612
|
/* Progress Container */
|
|
630
|
-
.progress-container {
|
|
613
|
+
.plex-progress-container {
|
|
631
614
|
position: relative;
|
|
632
615
|
width: 100%;
|
|
633
616
|
height: 24px;
|
|
@@ -637,7 +620,7 @@
|
|
|
637
620
|
padding: 8px 0;
|
|
638
621
|
}
|
|
639
622
|
|
|
640
|
-
.progress-bar {
|
|
623
|
+
.plex-progress-bar {
|
|
641
624
|
position: relative;
|
|
642
625
|
width: 100%;
|
|
643
626
|
height: 4px;
|
|
@@ -647,11 +630,11 @@
|
|
|
647
630
|
transition: height var(--plex-transition-fast);
|
|
648
631
|
}
|
|
649
632
|
|
|
650
|
-
.progress-container:hover .progress-bar {
|
|
633
|
+
.plex-progress-container:hover .plex-progress-bar {
|
|
651
634
|
height: 6px;
|
|
652
635
|
}
|
|
653
636
|
|
|
654
|
-
.progress-buffered {
|
|
637
|
+
.plex-progress-buffered {
|
|
655
638
|
position: absolute;
|
|
656
639
|
top: 0;
|
|
657
640
|
left: 0;
|
|
@@ -659,9 +642,10 @@
|
|
|
659
642
|
background: rgba(255, 255, 255, 0.35);
|
|
660
643
|
border-radius: 2px;
|
|
661
644
|
pointer-events: none;
|
|
645
|
+
width: 0;
|
|
662
646
|
}
|
|
663
647
|
|
|
664
|
-
.progress-played {
|
|
648
|
+
.plex-progress-played {
|
|
665
649
|
position: absolute;
|
|
666
650
|
top: 0;
|
|
667
651
|
left: 0;
|
|
@@ -669,9 +653,10 @@
|
|
|
669
653
|
background: var(--plex-primary);
|
|
670
654
|
border-radius: 2px;
|
|
671
655
|
pointer-events: none;
|
|
656
|
+
width: 0;
|
|
672
657
|
}
|
|
673
658
|
|
|
674
|
-
.progress-handle {
|
|
659
|
+
.plex-progress-handle {
|
|
675
660
|
position: absolute;
|
|
676
661
|
top: 50%;
|
|
677
662
|
left: 0;
|
|
@@ -685,120 +670,63 @@
|
|
|
685
670
|
pointer-events: none;
|
|
686
671
|
}
|
|
687
672
|
|
|
688
|
-
.progress-container:hover .progress-handle
|
|
689
|
-
.progress-container.dragging .progress-handle {
|
|
673
|
+
.plex-progress-container:hover .plex-progress-handle {
|
|
690
674
|
transform: translate(-50%, -50%) scale(1);
|
|
691
675
|
}
|
|
692
676
|
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
}
|
|
696
|
-
|
|
697
|
-
/* Progress Tooltip */
|
|
698
|
-
.progress-tooltip {
|
|
677
|
+
/* Progress Preview */
|
|
678
|
+
.plex-progress-preview {
|
|
699
679
|
position: absolute;
|
|
700
680
|
bottom: 100%;
|
|
701
681
|
left: 0;
|
|
682
|
+
margin-bottom: 8px;
|
|
702
683
|
padding: 6px 10px;
|
|
703
684
|
background: var(--plex-bg-dark);
|
|
704
685
|
border-radius: var(--plex-radius-sm);
|
|
705
|
-
font-size: 13px;
|
|
706
|
-
font-weight: 500;
|
|
707
|
-
white-space: nowrap;
|
|
708
686
|
opacity: 0;
|
|
709
687
|
visibility: hidden;
|
|
710
|
-
transform: translateX(-50%)
|
|
711
|
-
transition:
|
|
688
|
+
transform: translateX(-50%);
|
|
689
|
+
transition: opacity var(--plex-transition-fast);
|
|
712
690
|
pointer-events: none;
|
|
713
691
|
z-index: 50;
|
|
714
692
|
}
|
|
715
693
|
|
|
716
|
-
.progress-container:hover .progress-
|
|
694
|
+
.plex-progress-container:hover .plex-progress-preview {
|
|
717
695
|
opacity: 1;
|
|
718
696
|
visibility: visible;
|
|
719
|
-
transform: translateX(-50%) translateY(-4px);
|
|
720
|
-
}
|
|
721
|
-
|
|
722
|
-
/* Hide tooltip when preview is visible */
|
|
723
|
-
.progress-container:hover .progress-preview[style*="display: flex"] ~ .progress-tooltip,
|
|
724
|
-
.progress-preview:not([style*="display: none"]) + .progress-tooltip {
|
|
725
|
-
opacity: 0;
|
|
726
|
-
visibility: hidden;
|
|
727
697
|
}
|
|
728
698
|
|
|
729
|
-
|
|
730
|
-
.progress-preview {
|
|
731
|
-
position: absolute;
|
|
732
|
-
bottom: calc(100% + 16px);
|
|
733
|
-
left: 0;
|
|
734
|
-
display: none;
|
|
735
|
-
flex-direction: column;
|
|
736
|
-
align-items: center;
|
|
737
|
-
z-index: 100;
|
|
738
|
-
pointer-events: none;
|
|
739
|
-
background: rgba(0, 0, 0, 0.9);
|
|
740
|
-
padding: 4px;
|
|
741
|
-
border-radius: var(--plex-radius-sm);
|
|
742
|
-
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
|
|
743
|
-
}
|
|
744
|
-
|
|
745
|
-
#preview-canvas {
|
|
746
|
-
width: 160px;
|
|
747
|
-
height: 90px;
|
|
748
|
-
background: var(--plex-bg-dark);
|
|
749
|
-
border: 2px solid var(--plex-primary);
|
|
750
|
-
border-radius: var(--plex-radius-sm);
|
|
751
|
-
object-fit: contain;
|
|
752
|
-
}
|
|
753
|
-
|
|
754
|
-
.preview-time {
|
|
755
|
-
margin-top: 6px;
|
|
756
|
-
padding: 4px 10px;
|
|
757
|
-
background: var(--plex-primary);
|
|
758
|
-
color: #000;
|
|
759
|
-
border-radius: var(--plex-radius-sm);
|
|
760
|
-
font-size: 12px;
|
|
761
|
-
font-weight: 700;
|
|
762
|
-
}
|
|
763
|
-
|
|
764
|
-
/* Time Display */
|
|
765
|
-
.time-display {
|
|
766
|
-
display: flex;
|
|
767
|
-
align-items: center;
|
|
768
|
-
gap: 4px;
|
|
769
|
-
padding: 8px 0;
|
|
699
|
+
.plex-preview-time {
|
|
770
700
|
font-size: 13px;
|
|
771
|
-
font-weight:
|
|
701
|
+
font-weight: 600;
|
|
772
702
|
color: var(--plex-text-primary);
|
|
703
|
+
white-space: nowrap;
|
|
773
704
|
}
|
|
774
705
|
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
}
|
|
778
|
-
|
|
779
|
-
/* Main Controls Row */
|
|
780
|
-
.main-controls {
|
|
706
|
+
/* Controls Bar */
|
|
707
|
+
.plex-controls-bar {
|
|
781
708
|
display: flex;
|
|
782
709
|
align-items: center;
|
|
783
710
|
justify-content: space-between;
|
|
784
|
-
margin-top:
|
|
711
|
+
margin-top: 8px;
|
|
785
712
|
}
|
|
786
713
|
|
|
787
|
-
.controls-left,
|
|
788
|
-
.controls-right {
|
|
714
|
+
.plex-controls-left,
|
|
715
|
+
.plex-controls-right {
|
|
789
716
|
display: flex;
|
|
790
717
|
align-items: center;
|
|
791
718
|
gap: 4px;
|
|
792
719
|
}
|
|
793
720
|
|
|
794
721
|
/* Control Button */
|
|
795
|
-
.
|
|
722
|
+
.plex-btn {
|
|
796
723
|
position: relative;
|
|
797
724
|
display: flex;
|
|
798
725
|
align-items: center;
|
|
799
726
|
justify-content: center;
|
|
800
727
|
width: 40px;
|
|
801
728
|
height: 40px;
|
|
729
|
+
padding: 0;
|
|
802
730
|
background: transparent;
|
|
803
731
|
border: none;
|
|
804
732
|
border-radius: var(--plex-radius-sm);
|
|
@@ -807,280 +735,304 @@
|
|
|
807
735
|
color: var(--plex-text-primary);
|
|
808
736
|
}
|
|
809
737
|
|
|
810
|
-
.
|
|
738
|
+
.plex-btn:hover {
|
|
811
739
|
background: rgba(255, 255, 255, 0.1);
|
|
812
740
|
}
|
|
813
741
|
|
|
814
|
-
.
|
|
742
|
+
.plex-btn:active {
|
|
815
743
|
transform: scale(0.95);
|
|
816
744
|
}
|
|
817
745
|
|
|
818
|
-
.
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
.control-btn.active {
|
|
823
|
-
color: var(--plex-primary);
|
|
824
|
-
}
|
|
825
|
-
|
|
826
|
-
/* Cast Button */
|
|
827
|
-
#cast-btn {
|
|
828
|
-
transition: all var(--plex-transition-fast);
|
|
746
|
+
.plex-btn svg {
|
|
747
|
+
width: 24px;
|
|
748
|
+
height: 24px;
|
|
749
|
+
fill: currentColor;
|
|
829
750
|
}
|
|
830
751
|
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
752
|
+
.plex-btn:focus-visible {
|
|
753
|
+
outline: 2px solid var(--plex-primary);
|
|
754
|
+
outline-offset: 2px;
|
|
834
755
|
}
|
|
835
756
|
|
|
836
|
-
|
|
757
|
+
/* Play Button States */
|
|
758
|
+
.plex-player.plex-playing .plex-play-btn .plex-icon-play {
|
|
837
759
|
display: none;
|
|
838
760
|
}
|
|
839
761
|
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
50% { opacity: 0.6; }
|
|
762
|
+
.plex-player.plex-playing .plex-play-btn .plex-icon-pause {
|
|
763
|
+
display: block;
|
|
843
764
|
}
|
|
844
765
|
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
width: 48px;
|
|
848
|
-
height: 48px;
|
|
849
|
-
}
|
|
850
|
-
|
|
851
|
-
.play-btn .material-icons {
|
|
852
|
-
font-size: 32px;
|
|
766
|
+
.plex-player:not(.plex-playing) .plex-play-btn .plex-icon-play {
|
|
767
|
+
display: block;
|
|
853
768
|
}
|
|
854
769
|
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
font-size: 14px;
|
|
858
|
-
font-weight: 600;
|
|
859
|
-
min-width: 28px;
|
|
770
|
+
.plex-player:not(.plex-playing) .plex-play-btn .plex-icon-pause {
|
|
771
|
+
display: none;
|
|
860
772
|
}
|
|
861
773
|
|
|
862
|
-
/* Volume
|
|
863
|
-
.volume-
|
|
774
|
+
/* Volume Container */
|
|
775
|
+
.plex-volume-container {
|
|
864
776
|
display: flex;
|
|
865
777
|
align-items: center;
|
|
866
778
|
gap: 4px;
|
|
867
779
|
}
|
|
868
780
|
|
|
869
|
-
.volume-slider
|
|
781
|
+
.plex-volume-slider {
|
|
870
782
|
position: relative;
|
|
871
783
|
width: 0;
|
|
872
784
|
overflow: hidden;
|
|
873
785
|
transition: width var(--plex-transition-normal);
|
|
874
786
|
}
|
|
875
787
|
|
|
876
|
-
.volume-
|
|
788
|
+
.plex-volume-container:hover .plex-volume-slider {
|
|
877
789
|
width: 80px;
|
|
878
790
|
}
|
|
879
791
|
|
|
880
|
-
.volume-
|
|
881
|
-
|
|
882
|
-
appearance: none;
|
|
792
|
+
.plex-volume-track {
|
|
793
|
+
position: relative;
|
|
883
794
|
width: 80px;
|
|
884
795
|
height: 4px;
|
|
885
796
|
background: rgba(255, 255, 255, 0.2);
|
|
886
797
|
border-radius: 2px;
|
|
887
|
-
outline: none;
|
|
888
798
|
cursor: pointer;
|
|
889
799
|
}
|
|
890
800
|
|
|
891
|
-
.volume-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
height:
|
|
801
|
+
.plex-volume-level {
|
|
802
|
+
position: absolute;
|
|
803
|
+
top: 0;
|
|
804
|
+
left: 0;
|
|
805
|
+
height: 100%;
|
|
806
|
+
background: var(--plex-primary);
|
|
807
|
+
border-radius: 2px;
|
|
808
|
+
pointer-events: none;
|
|
809
|
+
width: 100%;
|
|
810
|
+
}
|
|
811
|
+
|
|
812
|
+
.plex-volume-handle {
|
|
813
|
+
position: absolute;
|
|
814
|
+
top: 50%;
|
|
815
|
+
right: 0;
|
|
816
|
+
width: 12px;
|
|
817
|
+
height: 12px;
|
|
896
818
|
background: var(--plex-primary);
|
|
897
819
|
border-radius: 50%;
|
|
820
|
+
transform: translateY(-50%);
|
|
898
821
|
cursor: pointer;
|
|
899
|
-
|
|
822
|
+
opacity: 0;
|
|
823
|
+
transition: opacity var(--plex-transition-fast);
|
|
900
824
|
}
|
|
901
825
|
|
|
902
|
-
.volume-
|
|
903
|
-
|
|
826
|
+
.plex-volume-container:hover .plex-volume-handle {
|
|
827
|
+
opacity: 1;
|
|
904
828
|
}
|
|
905
829
|
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
border: none;
|
|
911
|
-
border-radius: 50%;
|
|
912
|
-
cursor: pointer;
|
|
830
|
+
/* Volume Button States */
|
|
831
|
+
.plex-player.plex-muted .plex-icon-volume-high,
|
|
832
|
+
.plex-player.plex-muted .plex-icon-volume-low {
|
|
833
|
+
display: none;
|
|
913
834
|
}
|
|
914
835
|
|
|
915
|
-
.
|
|
916
|
-
|
|
917
|
-
top: 50%;
|
|
918
|
-
left: 0;
|
|
919
|
-
height: 4px;
|
|
920
|
-
background: var(--plex-primary);
|
|
921
|
-
border-radius: 2px;
|
|
922
|
-
transform: translateY(-50%);
|
|
923
|
-
pointer-events: none;
|
|
836
|
+
.plex-player.plex-muted .plex-icon-volume-mute {
|
|
837
|
+
display: block;
|
|
924
838
|
}
|
|
925
839
|
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
position: absolute;
|
|
929
|
-
top: 0;
|
|
930
|
-
width: 3px;
|
|
931
|
-
height: 100%;
|
|
932
|
-
background: rgba(255, 255, 255, 0.8);
|
|
933
|
-
border-radius: 1px;
|
|
934
|
-
transform: translateX(-50%);
|
|
935
|
-
cursor: pointer;
|
|
936
|
-
z-index: 2;
|
|
840
|
+
.plex-player:not(.plex-muted) .plex-icon-volume-mute {
|
|
841
|
+
display: none;
|
|
937
842
|
}
|
|
938
843
|
|
|
939
|
-
.
|
|
940
|
-
|
|
844
|
+
.plex-player:not(.plex-muted) .plex-icon-volume-high {
|
|
845
|
+
display: block;
|
|
846
|
+
}
|
|
847
|
+
|
|
848
|
+
.plex-player:not(.plex-muted) .plex-icon-volume-low {
|
|
849
|
+
display: none;
|
|
850
|
+
}
|
|
851
|
+
|
|
852
|
+
/* Time Display */
|
|
853
|
+
.plex-time {
|
|
854
|
+
display: flex;
|
|
855
|
+
align-items: center;
|
|
856
|
+
gap: 4px;
|
|
857
|
+
margin-left: 8px;
|
|
858
|
+
font-size: 13px;
|
|
859
|
+
font-weight: 500;
|
|
860
|
+
color: var(--plex-text-primary);
|
|
861
|
+
}
|
|
862
|
+
|
|
863
|
+
.plex-time-current,
|
|
864
|
+
.plex-time-duration {
|
|
865
|
+
font-variant-numeric: tabular-nums;
|
|
866
|
+
}
|
|
867
|
+
|
|
868
|
+
.plex-time-separator {
|
|
869
|
+
color: var(--plex-text-secondary);
|
|
870
|
+
}
|
|
871
|
+
|
|
872
|
+
/* Fullscreen Button States */
|
|
873
|
+
.plex-player.plex-fullscreen .plex-icon-fullscreen {
|
|
874
|
+
display: none;
|
|
875
|
+
}
|
|
876
|
+
|
|
877
|
+
.plex-player.plex-fullscreen .plex-icon-fullscreen-exit {
|
|
878
|
+
display: block;
|
|
941
879
|
}
|
|
942
880
|
|
|
943
|
-
|
|
944
|
-
|
|
881
|
+
.plex-player:not(.plex-fullscreen) .plex-icon-fullscreen {
|
|
882
|
+
display: block;
|
|
883
|
+
}
|
|
884
|
+
|
|
885
|
+
.plex-player:not(.plex-fullscreen) .plex-icon-fullscreen-exit {
|
|
886
|
+
display: none;
|
|
887
|
+
}
|
|
888
|
+
|
|
889
|
+
/* Big Play Button */
|
|
890
|
+
.plex-big-play {
|
|
945
891
|
position: absolute;
|
|
946
|
-
|
|
947
|
-
|
|
892
|
+
top: 50%;
|
|
893
|
+
left: 50%;
|
|
894
|
+
transform: translate(-50%, -50%) scale(1);
|
|
895
|
+
width: 72px;
|
|
896
|
+
height: 72px;
|
|
897
|
+
background: var(--plex-primary);
|
|
898
|
+
border-radius: 50%;
|
|
948
899
|
display: flex;
|
|
949
900
|
align-items: center;
|
|
950
|
-
|
|
951
|
-
padding: 12px 20px;
|
|
952
|
-
background: rgba(255, 255, 255, 0.9);
|
|
953
|
-
color: #000;
|
|
954
|
-
border: none;
|
|
955
|
-
border-radius: var(--plex-radius-md);
|
|
956
|
-
font-size: 14px;
|
|
957
|
-
font-weight: 600;
|
|
901
|
+
justify-content: center;
|
|
958
902
|
cursor: pointer;
|
|
959
|
-
z-index: var(--plex-z-
|
|
903
|
+
z-index: var(--plex-z-overlay);
|
|
960
904
|
transition: all var(--plex-transition-normal);
|
|
905
|
+
box-shadow: 0 4px 30px rgba(229, 160, 13, 0.4);
|
|
906
|
+
}
|
|
907
|
+
|
|
908
|
+
.plex-big-play:hover {
|
|
909
|
+
transform: translate(-50%, -50%) scale(1.1);
|
|
910
|
+
background: var(--plex-primary-hover);
|
|
961
911
|
}
|
|
962
912
|
|
|
963
|
-
.
|
|
964
|
-
|
|
965
|
-
|
|
913
|
+
.plex-big-play svg {
|
|
914
|
+
width: 40px;
|
|
915
|
+
height: 40px;
|
|
916
|
+
fill: #000;
|
|
917
|
+
margin-left: 4px;
|
|
966
918
|
}
|
|
967
919
|
|
|
968
|
-
.
|
|
969
|
-
|
|
920
|
+
.plex-player.plex-playing .plex-big-play {
|
|
921
|
+
opacity: 0;
|
|
922
|
+
visibility: hidden;
|
|
923
|
+
transform: translate(-50%, -50%) scale(0.8);
|
|
970
924
|
}
|
|
971
925
|
|
|
972
|
-
/*
|
|
973
|
-
.
|
|
926
|
+
/* Loader */
|
|
927
|
+
.plex-loader {
|
|
974
928
|
position: absolute;
|
|
975
|
-
|
|
976
|
-
|
|
929
|
+
top: 50%;
|
|
930
|
+
left: 50%;
|
|
931
|
+
transform: translate(-50%, -50%);
|
|
932
|
+
z-index: var(--plex-z-overlay);
|
|
933
|
+
display: none;
|
|
934
|
+
}
|
|
935
|
+
|
|
936
|
+
.plex-player.plex-loading .plex-loader {
|
|
937
|
+
display: block;
|
|
938
|
+
}
|
|
939
|
+
|
|
940
|
+
.plex-player.plex-loading .plex-big-play {
|
|
941
|
+
display: none;
|
|
942
|
+
}
|
|
943
|
+
|
|
944
|
+
.plex-spinner {
|
|
945
|
+
width: 48px;
|
|
946
|
+
height: 48px;
|
|
947
|
+
border: 4px solid rgba(255, 255, 255, 0.2);
|
|
948
|
+
border-top-color: var(--plex-primary);
|
|
977
949
|
border-radius: 50%;
|
|
978
|
-
|
|
979
|
-
transform: translate(-50%, -50%) scale(0);
|
|
980
|
-
animation: ripple 0.5s ease-out forwards;
|
|
981
|
-
pointer-events: none;
|
|
950
|
+
animation: plex-spin 1s linear infinite;
|
|
982
951
|
}
|
|
983
952
|
|
|
984
|
-
@keyframes
|
|
953
|
+
@keyframes plex-spin {
|
|
985
954
|
to {
|
|
986
|
-
transform:
|
|
987
|
-
opacity: 0;
|
|
955
|
+
transform: rotate(360deg);
|
|
988
956
|
}
|
|
989
957
|
}
|
|
990
958
|
|
|
991
|
-
/* Responsive
|
|
959
|
+
/* Responsive */
|
|
992
960
|
@media (max-width: 768px) {
|
|
993
|
-
.
|
|
994
|
-
padding: 12px 16px;
|
|
995
|
-
}
|
|
996
|
-
|
|
997
|
-
.video-title {
|
|
998
|
-
font-size: 14px;
|
|
999
|
-
max-width: 200px;
|
|
1000
|
-
}
|
|
1001
|
-
|
|
1002
|
-
.bottom-controls {
|
|
961
|
+
.plex-controls {
|
|
1003
962
|
padding: 0 12px 12px;
|
|
1004
963
|
}
|
|
1005
964
|
|
|
1006
|
-
.
|
|
965
|
+
.plex-btn {
|
|
1007
966
|
width: 36px;
|
|
1008
967
|
height: 36px;
|
|
1009
968
|
}
|
|
1010
969
|
|
|
1011
|
-
.
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
.play-btn {
|
|
1016
|
-
width: 44px;
|
|
1017
|
-
height: 44px;
|
|
970
|
+
.plex-btn svg {
|
|
971
|
+
width: 22px;
|
|
972
|
+
height: 22px;
|
|
1018
973
|
}
|
|
1019
974
|
|
|
1020
|
-
.
|
|
1021
|
-
font-size: 28px;
|
|
1022
|
-
}
|
|
1023
|
-
|
|
1024
|
-
.time-display {
|
|
975
|
+
.plex-time {
|
|
1025
976
|
font-size: 12px;
|
|
1026
977
|
}
|
|
1027
978
|
|
|
1028
|
-
.
|
|
1029
|
-
|
|
979
|
+
.plex-big-play {
|
|
980
|
+
width: 60px;
|
|
981
|
+
height: 60px;
|
|
1030
982
|
}
|
|
1031
983
|
|
|
1032
|
-
|
|
1033
|
-
width:
|
|
1034
|
-
height:
|
|
984
|
+
.plex-big-play svg {
|
|
985
|
+
width: 32px;
|
|
986
|
+
height: 32px;
|
|
1035
987
|
}
|
|
1036
988
|
}
|
|
1037
989
|
|
|
1038
990
|
@media (max-width: 480px) {
|
|
1039
|
-
.controls-left,
|
|
1040
|
-
.controls-right {
|
|
991
|
+
.plex-controls-left,
|
|
992
|
+
.plex-controls-right {
|
|
1041
993
|
gap: 0;
|
|
1042
994
|
}
|
|
1043
995
|
|
|
1044
|
-
.
|
|
996
|
+
.plex-btn {
|
|
1045
997
|
width: 32px;
|
|
1046
998
|
height: 32px;
|
|
1047
999
|
}
|
|
1048
1000
|
|
|
1049
|
-
.
|
|
1050
|
-
|
|
1001
|
+
.plex-btn svg {
|
|
1002
|
+
width: 20px;
|
|
1003
|
+
height: 20px;
|
|
1051
1004
|
}
|
|
1052
1005
|
|
|
1053
|
-
.
|
|
1054
|
-
|
|
1055
|
-
|
|
1006
|
+
.plex-prev-btn,
|
|
1007
|
+
.plex-next-btn,
|
|
1008
|
+
.plex-cast-btn {
|
|
1009
|
+
display: none;
|
|
1056
1010
|
}
|
|
1057
1011
|
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1012
|
+
.plex-big-play {
|
|
1013
|
+
width: 56px;
|
|
1014
|
+
height: 56px;
|
|
1015
|
+
}
|
|
1016
|
+
|
|
1017
|
+
.plex-big-play svg {
|
|
1018
|
+
width: 28px;
|
|
1019
|
+
height: 28px;
|
|
1062
1020
|
}
|
|
1063
1021
|
}
|
|
1064
1022
|
|
|
1065
|
-
/*
|
|
1066
|
-
.
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
}
|
|
1070
|
-
|
|
1071
|
-
.progress-container:focus-visible {
|
|
1072
|
-
outline: 2px solid var(--plex-primary);
|
|
1073
|
-
outline-offset: 2px;
|
|
1023
|
+
/* Controls Visibility */
|
|
1024
|
+
.plex-player.plex-controls-visible .plex-controls {
|
|
1025
|
+
opacity: 1;
|
|
1026
|
+
visibility: visible;
|
|
1074
1027
|
}
|
|
1075
1028
|
|
|
1076
|
-
/*
|
|
1077
|
-
.
|
|
1078
|
-
|
|
1079
|
-
cursor: not-allowed;
|
|
1029
|
+
/* Cursor hiding when controls hidden */
|
|
1030
|
+
.plex-player:not(.plex-controls-visible) {
|
|
1031
|
+
cursor: none;
|
|
1080
1032
|
}
|
|
1081
1033
|
|
|
1082
|
-
.
|
|
1083
|
-
|
|
1034
|
+
.plex-player:not(.plex-controls-visible) .plex-video {
|
|
1035
|
+
cursor: none;
|
|
1084
1036
|
}
|
|
1085
1037
|
|
|
1086
1038
|
/* =====================================================
|
|
@@ -1525,15 +1477,15 @@
|
|
|
1525
1477
|
}
|
|
1526
1478
|
|
|
1527
1479
|
/* =====================================================
|
|
1528
|
-
PLEX Video Player - Settings Styles
|
|
1480
|
+
PLEX Video Player - Settings Styles (NPM Package)
|
|
1529
1481
|
===================================================== */
|
|
1530
1482
|
|
|
1531
1483
|
/* Settings Panel */
|
|
1532
|
-
.settings-panel {
|
|
1484
|
+
.plex-settings-panel {
|
|
1533
1485
|
position: absolute;
|
|
1534
1486
|
bottom: 80px;
|
|
1535
|
-
right:
|
|
1536
|
-
width:
|
|
1487
|
+
right: 16px;
|
|
1488
|
+
width: 280px;
|
|
1537
1489
|
max-height: 400px;
|
|
1538
1490
|
background: var(--plex-bg-dark);
|
|
1539
1491
|
border: 1px solid var(--plex-border);
|
|
@@ -1541,23 +1493,21 @@
|
|
|
1541
1493
|
box-shadow: var(--plex-shadow);
|
|
1542
1494
|
z-index: var(--plex-z-panel);
|
|
1543
1495
|
overflow: hidden;
|
|
1496
|
+
opacity: 0;
|
|
1497
|
+
visibility: hidden;
|
|
1498
|
+
transform: scale(0.95) translateY(10px);
|
|
1544
1499
|
transform-origin: bottom right;
|
|
1545
|
-
|
|
1500
|
+
transition: all var(--plex-transition-fast);
|
|
1546
1501
|
}
|
|
1547
1502
|
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
}
|
|
1553
|
-
to {
|
|
1554
|
-
opacity: 1;
|
|
1555
|
-
transform: scale(1);
|
|
1556
|
-
}
|
|
1503
|
+
.plex-settings-panel.plex-settings-open {
|
|
1504
|
+
opacity: 1;
|
|
1505
|
+
visibility: visible;
|
|
1506
|
+
transform: scale(1) translateY(0);
|
|
1557
1507
|
}
|
|
1558
1508
|
|
|
1559
1509
|
/* Settings Header */
|
|
1560
|
-
.settings-header {
|
|
1510
|
+
.plex-settings-header {
|
|
1561
1511
|
display: flex;
|
|
1562
1512
|
align-items: center;
|
|
1563
1513
|
justify-content: space-between;
|
|
@@ -1566,385 +1516,136 @@
|
|
|
1566
1516
|
border-bottom: 1px solid var(--plex-border);
|
|
1567
1517
|
}
|
|
1568
1518
|
|
|
1569
|
-
.settings-title {
|
|
1519
|
+
.plex-settings-title {
|
|
1570
1520
|
font-size: 15px;
|
|
1571
1521
|
font-weight: 600;
|
|
1572
1522
|
color: var(--plex-text-primary);
|
|
1573
1523
|
}
|
|
1574
1524
|
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
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);
|
|
1583
1538
|
}
|
|
1584
1539
|
|
|
1585
|
-
.settings-
|
|
1586
|
-
background:
|
|
1540
|
+
.plex-settings-close:hover {
|
|
1541
|
+
background: rgba(255, 255, 255, 0.1);
|
|
1542
|
+
color: var(--plex-text-primary);
|
|
1587
1543
|
}
|
|
1588
1544
|
|
|
1589
|
-
.settings-
|
|
1590
|
-
|
|
1591
|
-
|
|
1545
|
+
.plex-settings-close svg {
|
|
1546
|
+
width: 18px;
|
|
1547
|
+
height: 18px;
|
|
1548
|
+
fill: currentColor;
|
|
1592
1549
|
}
|
|
1593
1550
|
|
|
1594
|
-
/* Settings
|
|
1595
|
-
.settings-
|
|
1551
|
+
/* Settings Content */
|
|
1552
|
+
.plex-settings-content {
|
|
1596
1553
|
padding: 8px 0;
|
|
1597
1554
|
}
|
|
1598
1555
|
|
|
1599
1556
|
/* Settings Item */
|
|
1600
|
-
.settings-item {
|
|
1557
|
+
.plex-settings-item {
|
|
1601
1558
|
display: flex;
|
|
1602
1559
|
align-items: center;
|
|
1603
|
-
|
|
1560
|
+
justify-content: space-between;
|
|
1604
1561
|
padding: 12px 16px;
|
|
1605
1562
|
cursor: pointer;
|
|
1606
1563
|
transition: background var(--plex-transition-fast);
|
|
1607
1564
|
}
|
|
1608
1565
|
|
|
1609
|
-
.settings-item:hover {
|
|
1566
|
+
.plex-settings-item:hover {
|
|
1610
1567
|
background: rgba(255, 255, 255, 0.05);
|
|
1611
1568
|
}
|
|
1612
1569
|
|
|
1613
|
-
.settings-
|
|
1614
|
-
font-size: 22px;
|
|
1615
|
-
color: var(--plex-text-secondary);
|
|
1616
|
-
}
|
|
1617
|
-
|
|
1618
|
-
.settings-item-label {
|
|
1619
|
-
flex: 1;
|
|
1570
|
+
.plex-settings-label {
|
|
1620
1571
|
font-size: 14px;
|
|
1621
1572
|
color: var(--plex-text-primary);
|
|
1622
1573
|
}
|
|
1623
1574
|
|
|
1624
|
-
.settings-
|
|
1575
|
+
.plex-settings-value {
|
|
1625
1576
|
font-size: 13px;
|
|
1626
1577
|
color: var(--plex-text-secondary);
|
|
1627
1578
|
}
|
|
1628
1579
|
|
|
1629
|
-
.settings-item .material-icons:last-child {
|
|
1630
|
-
font-size: 20px;
|
|
1631
|
-
color: var(--plex-text-secondary);
|
|
1632
|
-
}
|
|
1633
|
-
|
|
1634
1580
|
/* Settings Submenu */
|
|
1635
|
-
.settings-submenu {
|
|
1581
|
+
.plex-settings-submenu {
|
|
1636
1582
|
padding: 8px 0;
|
|
1637
1583
|
}
|
|
1638
1584
|
|
|
1639
|
-
|
|
1640
|
-
.settings-option {
|
|
1585
|
+
.plex-settings-back {
|
|
1641
1586
|
display: flex;
|
|
1642
1587
|
align-items: center;
|
|
1643
|
-
|
|
1588
|
+
gap: 8px;
|
|
1644
1589
|
padding: 12px 16px;
|
|
1645
|
-
cursor: pointer;
|
|
1646
|
-
transition: background var(--plex-transition-fast);
|
|
1647
1590
|
font-size: 14px;
|
|
1591
|
+
font-weight: 600;
|
|
1648
1592
|
color: var(--plex-text-primary);
|
|
1649
|
-
}
|
|
1650
|
-
|
|
1651
|
-
.settings-option:hover {
|
|
1652
|
-
background: rgba(255, 255, 255, 0.05);
|
|
1653
|
-
}
|
|
1654
|
-
|
|
1655
|
-
.settings-option.active {
|
|
1656
|
-
color: var(--plex-primary);
|
|
1657
|
-
}
|
|
1658
|
-
|
|
1659
|
-
.settings-option.active::after {
|
|
1660
|
-
content: 'check';
|
|
1661
|
-
font-family: 'Material Icons';
|
|
1662
|
-
font-size: 20px;
|
|
1663
|
-
color: var(--plex-primary);
|
|
1664
|
-
}
|
|
1665
|
-
|
|
1666
|
-
/* Toggle Switch */
|
|
1667
|
-
.toggle-switch {
|
|
1668
|
-
position: relative;
|
|
1669
|
-
width: 44px;
|
|
1670
|
-
height: 24px;
|
|
1671
|
-
background: rgba(255, 255, 255, 0.2);
|
|
1672
|
-
border-radius: 12px;
|
|
1673
1593
|
cursor: pointer;
|
|
1594
|
+
border-bottom: 1px solid var(--plex-border);
|
|
1674
1595
|
transition: background var(--plex-transition-fast);
|
|
1675
1596
|
}
|
|
1676
1597
|
|
|
1677
|
-
.
|
|
1678
|
-
background:
|
|
1679
|
-
}
|
|
1680
|
-
|
|
1681
|
-
.toggle-slider {
|
|
1682
|
-
position: absolute;
|
|
1683
|
-
top: 2px;
|
|
1684
|
-
left: 2px;
|
|
1685
|
-
width: 20px;
|
|
1686
|
-
height: 20px;
|
|
1687
|
-
background: #fff;
|
|
1688
|
-
border-radius: 50%;
|
|
1689
|
-
transition: transform var(--plex-transition-fast);
|
|
1690
|
-
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
|
|
1691
|
-
}
|
|
1692
|
-
|
|
1693
|
-
.toggle-switch.active .toggle-slider {
|
|
1694
|
-
transform: translateX(20px);
|
|
1695
|
-
}
|
|
1696
|
-
|
|
1697
|
-
/* Subtitles Settings Panel */
|
|
1698
|
-
.subtitles-settings-panel {
|
|
1699
|
-
position: absolute;
|
|
1700
|
-
bottom: 80px;
|
|
1701
|
-
right: 20px;
|
|
1702
|
-
width: 320px;
|
|
1703
|
-
background: var(--plex-bg-dark);
|
|
1704
|
-
border: 1px solid var(--plex-border);
|
|
1705
|
-
border-radius: var(--plex-radius-lg);
|
|
1706
|
-
box-shadow: var(--plex-shadow);
|
|
1707
|
-
z-index: var(--plex-z-panel);
|
|
1708
|
-
overflow: hidden;
|
|
1598
|
+
.plex-settings-back:hover {
|
|
1599
|
+
background: rgba(255, 255, 255, 0.05);
|
|
1709
1600
|
}
|
|
1710
1601
|
|
|
1711
|
-
.
|
|
1712
|
-
|
|
1602
|
+
.plex-settings-back svg {
|
|
1603
|
+
width: 18px;
|
|
1604
|
+
height: 18px;
|
|
1605
|
+
fill: currentColor;
|
|
1713
1606
|
}
|
|
1714
1607
|
|
|
1715
|
-
/*
|
|
1716
|
-
.
|
|
1608
|
+
/* Speed Options */
|
|
1609
|
+
.plex-speed-options {
|
|
1717
1610
|
display: flex;
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
margin-bottom: 16px;
|
|
1721
|
-
}
|
|
1722
|
-
|
|
1723
|
-
.subtitle-setting-item label {
|
|
1724
|
-
flex: 0 0 100px;
|
|
1725
|
-
font-size: 13px;
|
|
1726
|
-
color: var(--plex-text-secondary);
|
|
1727
|
-
}
|
|
1728
|
-
|
|
1729
|
-
.subtitle-setting-item input[type="range"] {
|
|
1730
|
-
flex: 1;
|
|
1731
|
-
-webkit-appearance: none;
|
|
1732
|
-
appearance: none;
|
|
1733
|
-
height: 4px;
|
|
1734
|
-
background: rgba(255, 255, 255, 0.2);
|
|
1735
|
-
border-radius: 2px;
|
|
1736
|
-
outline: none;
|
|
1737
|
-
}
|
|
1738
|
-
|
|
1739
|
-
.subtitle-setting-item input[type="range"]::-webkit-slider-thumb {
|
|
1740
|
-
-webkit-appearance: none;
|
|
1741
|
-
appearance: none;
|
|
1742
|
-
width: 16px;
|
|
1743
|
-
height: 16px;
|
|
1744
|
-
background: var(--plex-primary);
|
|
1745
|
-
border-radius: 50%;
|
|
1746
|
-
cursor: pointer;
|
|
1747
|
-
}
|
|
1748
|
-
|
|
1749
|
-
.subtitle-setting-item input[type="color"] {
|
|
1750
|
-
-webkit-appearance: none;
|
|
1751
|
-
appearance: none;
|
|
1752
|
-
width: 40px;
|
|
1753
|
-
height: 30px;
|
|
1754
|
-
border: none;
|
|
1755
|
-
border-radius: var(--plex-radius-sm);
|
|
1756
|
-
cursor: pointer;
|
|
1757
|
-
background: transparent;
|
|
1758
|
-
}
|
|
1759
|
-
|
|
1760
|
-
.subtitle-setting-item input[type="color"]::-webkit-color-swatch-wrapper {
|
|
1761
|
-
padding: 0;
|
|
1762
|
-
}
|
|
1763
|
-
|
|
1764
|
-
.subtitle-setting-item input[type="color"]::-webkit-color-swatch {
|
|
1765
|
-
border: 2px solid var(--plex-border);
|
|
1766
|
-
border-radius: var(--plex-radius-sm);
|
|
1767
|
-
}
|
|
1768
|
-
|
|
1769
|
-
.subtitle-setting-item span:last-child {
|
|
1770
|
-
flex: 0 0 50px;
|
|
1771
|
-
text-align: right;
|
|
1772
|
-
font-size: 13px;
|
|
1773
|
-
color: var(--plex-text-primary);
|
|
1774
|
-
font-weight: 500;
|
|
1611
|
+
flex-direction: column;
|
|
1612
|
+
padding: 8px 0;
|
|
1775
1613
|
}
|
|
1776
1614
|
|
|
1777
|
-
|
|
1778
|
-
.subtitle-load-btn {
|
|
1615
|
+
.plex-speed-option {
|
|
1779
1616
|
display: flex;
|
|
1780
1617
|
align-items: center;
|
|
1781
1618
|
justify-content: center;
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
margin-top: 8px;
|
|
1786
|
-
background: rgba(255, 255, 255, 0.05);
|
|
1787
|
-
border: 1px solid var(--plex-border);
|
|
1788
|
-
border-radius: var(--plex-radius-md);
|
|
1789
|
-
color: var(--plex-text-primary);
|
|
1619
|
+
padding: 10px 16px;
|
|
1620
|
+
background: transparent;
|
|
1621
|
+
border: none;
|
|
1790
1622
|
font-size: 14px;
|
|
1623
|
+
color: var(--plex-text-primary);
|
|
1791
1624
|
cursor: pointer;
|
|
1792
1625
|
transition: all var(--plex-transition-fast);
|
|
1793
1626
|
}
|
|
1794
1627
|
|
|
1795
|
-
.
|
|
1796
|
-
background: rgba(255, 255, 255, 0.
|
|
1797
|
-
border-color: var(--plex-primary);
|
|
1798
|
-
}
|
|
1799
|
-
|
|
1800
|
-
.subtitle-load-btn .material-icons {
|
|
1801
|
-
font-size: 20px;
|
|
1802
|
-
}
|
|
1803
|
-
|
|
1804
|
-
/* Speed Panel (Alternative) */
|
|
1805
|
-
.speed-panel {
|
|
1806
|
-
position: absolute;
|
|
1807
|
-
bottom: 80px;
|
|
1808
|
-
right: 60px;
|
|
1809
|
-
width: 200px;
|
|
1810
|
-
background: var(--plex-bg-dark);
|
|
1811
|
-
border: 1px solid var(--plex-border);
|
|
1812
|
-
border-radius: var(--plex-radius-lg);
|
|
1813
|
-
box-shadow: var(--plex-shadow);
|
|
1814
|
-
z-index: var(--plex-z-panel);
|
|
1815
|
-
overflow: hidden;
|
|
1816
|
-
padding: 8px 0;
|
|
1817
|
-
}
|
|
1818
|
-
|
|
1819
|
-
/* Quality Badge */
|
|
1820
|
-
.quality-badge {
|
|
1821
|
-
display: inline-flex;
|
|
1822
|
-
align-items: center;
|
|
1823
|
-
justify-content: center;
|
|
1824
|
-
padding: 2px 6px;
|
|
1825
|
-
background: var(--plex-primary);
|
|
1826
|
-
border-radius: 3px;
|
|
1827
|
-
font-size: 10px;
|
|
1828
|
-
font-weight: 700;
|
|
1829
|
-
color: #000;
|
|
1830
|
-
text-transform: uppercase;
|
|
1831
|
-
margin-left: 8px;
|
|
1832
|
-
}
|
|
1833
|
-
|
|
1834
|
-
/* Section Divider */
|
|
1835
|
-
.settings-divider {
|
|
1836
|
-
height: 1px;
|
|
1837
|
-
background: var(--plex-border);
|
|
1838
|
-
margin: 8px 16px;
|
|
1628
|
+
.plex-speed-option:hover {
|
|
1629
|
+
background: rgba(255, 255, 255, 0.05);
|
|
1839
1630
|
}
|
|
1840
1631
|
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
padding: 8px 16px 4px;
|
|
1844
|
-
font-size: 11px;
|
|
1632
|
+
.plex-speed-option.active {
|
|
1633
|
+
color: var(--plex-primary);
|
|
1845
1634
|
font-weight: 600;
|
|
1846
|
-
color: var(--plex-text-secondary);
|
|
1847
|
-
text-transform: uppercase;
|
|
1848
|
-
letter-spacing: 0.5px;
|
|
1849
1635
|
}
|
|
1850
1636
|
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
position: fixed;
|
|
1855
|
-
top: auto;
|
|
1856
|
-
bottom: 0;
|
|
1857
|
-
left: 0;
|
|
1858
|
-
right: 0;
|
|
1859
|
-
width: 100%;
|
|
1860
|
-
max-height: 60vh;
|
|
1861
|
-
border-radius: var(--plex-radius-lg) var(--plex-radius-lg) 0 0;
|
|
1862
|
-
transform-origin: bottom center;
|
|
1863
|
-
}
|
|
1864
|
-
|
|
1865
|
-
.subtitles-settings-panel {
|
|
1866
|
-
position: fixed;
|
|
1867
|
-
top: auto;
|
|
1868
|
-
bottom: 0;
|
|
1869
|
-
left: 0;
|
|
1870
|
-
right: 0;
|
|
1871
|
-
width: 100%;
|
|
1872
|
-
max-height: 70vh;
|
|
1873
|
-
border-radius: var(--plex-radius-lg) var(--plex-radius-lg) 0 0;
|
|
1874
|
-
}
|
|
1875
|
-
|
|
1876
|
-
.settings-item {
|
|
1877
|
-
padding: 14px 20px;
|
|
1878
|
-
}
|
|
1879
|
-
|
|
1880
|
-
.settings-option {
|
|
1881
|
-
padding: 14px 20px;
|
|
1882
|
-
}
|
|
1637
|
+
.plex-speed-option.active::before {
|
|
1638
|
+
content: '✓';
|
|
1639
|
+
margin-right: 8px;
|
|
1883
1640
|
}
|
|
1884
1641
|
|
|
1642
|
+
/* Responsive */
|
|
1885
1643
|
@media (max-width: 480px) {
|
|
1886
|
-
.settings-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
.subtitle-setting-item {
|
|
1891
|
-
flex-wrap: wrap;
|
|
1892
|
-
}
|
|
1893
|
-
|
|
1894
|
-
.subtitle-setting-item label {
|
|
1895
|
-
flex: 0 0 100%;
|
|
1896
|
-
margin-bottom: 8px;
|
|
1897
|
-
}
|
|
1898
|
-
|
|
1899
|
-
.subtitle-setting-item input[type="range"] {
|
|
1900
|
-
flex: 1;
|
|
1644
|
+
.plex-settings-panel {
|
|
1645
|
+
width: calc(100% - 32px);
|
|
1646
|
+
left: 16px;
|
|
1647
|
+
right: 16px;
|
|
1901
1648
|
}
|
|
1902
1649
|
}
|
|
1903
|
-
|
|
1904
|
-
/* Animation for panel open/close */
|
|
1905
|
-
.settings-panel.closing {
|
|
1906
|
-
animation: settingsClose 0.15s ease forwards;
|
|
1907
|
-
}
|
|
1908
|
-
|
|
1909
|
-
@keyframes settingsClose {
|
|
1910
|
-
from {
|
|
1911
|
-
opacity: 1;
|
|
1912
|
-
transform: scale(1);
|
|
1913
|
-
}
|
|
1914
|
-
to {
|
|
1915
|
-
opacity: 0;
|
|
1916
|
-
transform: scale(0.95);
|
|
1917
|
-
}
|
|
1918
|
-
}
|
|
1919
|
-
|
|
1920
|
-
/* Keyboard Shortcut Hints */
|
|
1921
|
-
.shortcut-hint {
|
|
1922
|
-
display: inline-flex;
|
|
1923
|
-
align-items: center;
|
|
1924
|
-
justify-content: center;
|
|
1925
|
-
min-width: 24px;
|
|
1926
|
-
height: 24px;
|
|
1927
|
-
padding: 0 6px;
|
|
1928
|
-
background: rgba(255, 255, 255, 0.1);
|
|
1929
|
-
border: 1px solid var(--plex-border);
|
|
1930
|
-
border-radius: 4px;
|
|
1931
|
-
font-size: 11px;
|
|
1932
|
-
font-weight: 600;
|
|
1933
|
-
color: var(--plex-text-secondary);
|
|
1934
|
-
margin-left: auto;
|
|
1935
|
-
}
|
|
1936
|
-
|
|
1937
|
-
/* Audio Track Indicator */
|
|
1938
|
-
.audio-track-indicator {
|
|
1939
|
-
display: flex;
|
|
1940
|
-
align-items: center;
|
|
1941
|
-
gap: 4px;
|
|
1942
|
-
font-size: 12px;
|
|
1943
|
-
color: var(--plex-text-secondary);
|
|
1944
|
-
}
|
|
1945
|
-
|
|
1946
|
-
.audio-track-indicator .material-icons {
|
|
1947
|
-
font-size: 16px;
|
|
1948
|
-
}
|
|
1949
1650
|
|
|
1950
1651
|
/*# sourceMappingURL=plex-player.css.map */
|