@gcorevideo/player 2.24.2 → 2.24.5

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.
Files changed (69) hide show
  1. package/assets/big-mute-button/big-mute-button.ejs +2 -2
  2. package/dist/core.js +2 -2
  3. package/dist/index.css +418 -418
  4. package/dist/index.js +135 -112
  5. package/dist/player.d.ts +76 -30
  6. package/docs/api/player.bigmutebutton.md +13 -1
  7. package/docs/api/player.clapprstatssettings.md +51 -4
  8. package/docs/api/player.clapprstatssettings.runeach.md +16 -0
  9. package/docs/api/player.clipspluginsettings.md +1 -1
  10. package/docs/api/player.clipspluginsettings.text.md +1 -1
  11. package/docs/api/player.cmcdconfig.exportids.md +4 -0
  12. package/docs/api/player.cmcdconfig.md +19 -105
  13. package/docs/api/{player.cmcdconfig.version.md → player.cmcdconfigoptions.contentid.md} +5 -3
  14. package/docs/api/player.cmcdconfigoptions.md +79 -0
  15. package/docs/api/{player.cmcdconfigpluginsettings.md → player.cmcdconfigoptions.sessionid.md} +4 -6
  16. package/docs/api/player.extendedevents.md +9 -0
  17. package/docs/api/player.md +37 -31
  18. package/docs/api/player.mediacontrol.getavailableheight.md +24 -0
  19. package/docs/api/player.mediacontrol.md +14 -0
  20. package/docs/api/{player.cmcdconfig.name.md → player.posterpluginsettings.custom.md} +4 -3
  21. package/docs/api/player.posterpluginsettings.md +108 -7
  22. package/docs/api/player.posterpluginsettings.showfornoop.md +16 -0
  23. package/docs/api/player.posterpluginsettings.showonvideoend.md +16 -0
  24. package/docs/api/{player.cmcdconfig.bindevents.md → player.posterpluginsettings.url.md} +4 -7
  25. package/lib/Player.js +1 -1
  26. package/lib/index.embed.d.ts +30 -0
  27. package/lib/index.embed.d.ts.map +1 -0
  28. package/lib/index.embed.js +29 -0
  29. package/lib/plugins/big-mute-button/BigMuteButton.d.ts +18 -13
  30. package/lib/plugins/big-mute-button/BigMuteButton.d.ts.map +1 -1
  31. package/lib/plugins/big-mute-button/BigMuteButton.js +77 -83
  32. package/lib/plugins/clappr-stats/ClapprStats.d.ts +6 -2
  33. package/lib/plugins/clappr-stats/ClapprStats.d.ts.map +1 -1
  34. package/lib/plugins/click-to-pause/ClickToPause.js +1 -1
  35. package/lib/plugins/clips/Clips.d.ts +1 -1
  36. package/lib/plugins/clips/Clips.d.ts.map +1 -1
  37. package/lib/plugins/clips/Clips.js +2 -1
  38. package/lib/plugins/cmcd-config/CmcdConfig.d.ts +34 -11
  39. package/lib/plugins/cmcd-config/CmcdConfig.d.ts.map +1 -1
  40. package/lib/plugins/cmcd-config/CmcdConfig.js +28 -18
  41. package/lib/plugins/media-control/MediaControl.d.ts +4 -0
  42. package/lib/plugins/media-control/MediaControl.d.ts.map +1 -1
  43. package/lib/plugins/media-control/MediaControl.js +6 -1
  44. package/lib/plugins/poster/Poster.d.ts +7 -3
  45. package/lib/plugins/poster/Poster.d.ts.map +1 -1
  46. package/lib/plugins/source-controller/SourceController.d.ts +1 -0
  47. package/lib/plugins/source-controller/SourceController.d.ts.map +1 -1
  48. package/lib/plugins/source-controller/SourceController.js +22 -9
  49. package/lib/testUtils.d.ts +1 -0
  50. package/lib/testUtils.d.ts.map +1 -1
  51. package/lib/testUtils.js +1 -0
  52. package/package.json +1 -1
  53. package/src/Player.ts +1 -1
  54. package/src/index.embed.ts +29 -0
  55. package/src/plugins/big-mute-button/BigMuteButton.ts +84 -108
  56. package/src/plugins/big-mute-button/__tests__/BigMuteButton.test.ts +86 -0
  57. package/src/plugins/big-mute-button/__tests__/__snapshots__/BigMuteButton.test.ts.snap +8 -0
  58. package/src/plugins/clappr-stats/ClapprStats.ts +5 -1
  59. package/src/plugins/click-to-pause/ClickToPause.ts +1 -1
  60. package/src/plugins/clips/Clips.ts +3 -2
  61. package/src/plugins/cmcd-config/CmcdConfig.ts +33 -27
  62. package/src/plugins/media-control/MediaControl.ts +6 -1
  63. package/src/plugins/poster/Poster.ts +6 -2
  64. package/src/plugins/source-controller/SourceController.ts +27 -9
  65. package/src/plugins/source-controller/__tests__/SourceController.test.ts +28 -8
  66. package/src/testUtils.ts +5 -1
  67. package/temp/player.api.json +229 -154
  68. package/tsconfig.tsbuildinfo +1 -1
  69. package/docs/api/player.cmcdconfig.supportedversion.md +0 -14
package/dist/index.css CHANGED
@@ -122,92 +122,42 @@
122
122
  .gplayer-lite-btn::-moz-focus-inner {
123
123
  border: 0;
124
124
  padding: 0;
125
- }.dvr-controls[data-dvr] {
126
- display: inline-block;
127
- color: var(--player-dvr-color);
128
- line-height: 32px;
129
- font-size: 10px;
130
- font-weight: bold;
131
- margin-left: 6px;
132
- height: 40px;
133
- line-height: 40px;
134
- margin-left: 0;
135
- }
136
- .dvr-controls[data-dvr] .live-info {
137
- cursor: default;
138
- text-transform: uppercase;
139
- }
140
- .dvr-controls[data-dvr] .live-info:before {
141
- content: "";
142
- display: inline-block;
143
- position: relative;
144
- width: 7px;
145
- height: 7px;
146
- border-radius: 3.5px;
147
- margin-right: 3.5px;
148
- background-color: var(--player-live-color);
149
- }
150
- .dvr-controls[data-dvr] .live-info.disabled {
151
- opacity: 0.3;
125
+ }.context-menu {
126
+ z-index: 999;
127
+ position: absolute;
128
+ top: 0;
129
+ left: 0;
130
+ text-align: center;
152
131
  }
153
- .dvr-controls[data-dvr] .live-info.disabled:before {
154
- background-color: var(--player-dvr-color);
132
+ .context-menu .context-menu-list {
133
+ font-family: "Proxima Nova", sans-serif;
134
+ font-size: 12px;
135
+ line-height: 12px;
136
+ list-style-type: none;
137
+ text-align: left;
138
+ padding: 5px;
139
+ margin-left: auto;
140
+ margin-right: auto;
141
+ background-color: rgba(0, 0, 0, 0.75);
142
+ border: 1px solid #666;
143
+ border-radius: 4px;
155
144
  }
156
- .dvr-controls[data-dvr] .live-button {
157
- cursor: pointer;
158
- outline: none;
159
- display: none;
160
- border: 0;
161
- color: var(--player-dvr-color);
145
+ .context-menu .context-menu-list-item button {
146
+ border: none;
162
147
  background-color: transparent;
163
- height: 32px;
164
148
  padding: 0;
165
- opacity: 0.7;
166
- text-transform: uppercase;
167
- transition: all 0.1s ease;
168
- }
169
- .dvr-controls[data-dvr] .live-button:before {
170
- content: "";
171
- display: inline-block;
172
- position: relative;
173
- width: 7px;
174
- height: 7px;
175
- border-radius: 3.5px;
176
- margin-right: 3.5px;
177
- background-color: var(--player-dvr-color);
178
- }
179
- .dvr-controls[data-dvr] .live-button:hover {
180
- opacity: 1;
181
- text-shadow: rgba(255, 255, 255, 0.75) 0 0 5px;
182
- }
183
- .dvr-controls[data-dvr] .live-info {
184
- font-size: 14px;
185
- letter-spacing: 0.8px;
186
- font-weight: 500;
187
- color: #fffffe;
188
- margin-left: 21px;
189
- }
190
- .dvr-controls[data-dvr] .live-info::before {
191
- width: 10px;
192
- height: 10px;
193
- border-radius: 50%;
194
- margin-right: 8px;
195
- background-color: #ed4f4a;
196
- }
197
- .dvr-controls[data-dvr] .live-button {
198
- height: 40px;
199
- opacity: 1;
200
- font-size: 14px;
201
- letter-spacing: 0.8px;
202
- font-weight: 500;
203
- margin-left: 20px;
149
+ color: white;
150
+ display: flex;
151
+ gap: 8px;
152
+ align-items: center;
153
+ justify-content: center;
154
+ cursor: pointer;
155
+ padding: 5px;
156
+ width: 100%;
204
157
  }
205
- .dvr-controls[data-dvr] .live-button::before {
206
- width: 10px;
207
- height: 10px;
208
- border-radius: 50%;
209
- margin-right: 8px;
210
- background-color: #cacaca;
158
+ .context-menu .context-menu-list-item_icon {
159
+ width: 20px;
160
+ height: 20px;
211
161
  }:root {
212
162
  --primary-background-color: #000;
213
163
  --secondary-background-color: #262626;
@@ -572,6 +522,89 @@
572
522
  .fullscreen .clappr-nerd-stats .stats-box {
573
523
  top: unset;
574
524
  }
525
+ }.big-mute-icon-wrapper[data-big-mute] {
526
+ position: absolute;
527
+ z-index: 9998;
528
+ background-color: transparent;
529
+ display: flex;
530
+ justify-content: center;
531
+ width: 100%;
532
+ height: calc(100% - 50px);
533
+ margin: 0 auto;
534
+ opacity: 0.75;
535
+ transition: opacity 0.1s ease;
536
+ pointer-events: auto;
537
+ }
538
+ .big-mute-icon-wrapper[data-big-mute].hide {
539
+ display: none;
540
+ }
541
+ .big-mute-icon-wrapper[data-big-mute]:hover {
542
+ cursor: pointer;
543
+ }
544
+
545
+ .big-mute-icon[data-big-mute-icon] {
546
+ display: flex;
547
+ align-items: center;
548
+ justify-content: center;
549
+ align-self: center;
550
+ width: 120px;
551
+ height: 120px;
552
+ border: 2px solid white;
553
+ border-radius: 50%;
554
+ filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
555
+ filter: alpha(opacity=60);
556
+ opacity: 1;
557
+ box-shadow: 0 0 1px 0 white;
558
+ background: rgba(240, 243, 247, 0.9411764706);
559
+ z-index: 10000;
560
+ }
561
+ .big-mute-icon[data-big-mute-icon] svg {
562
+ margin-left: 5px;
563
+ width: 80px;
564
+ height: 80px;
565
+ }
566
+ .big-mute-icon[data-big-mute-icon] svg path {
567
+ fill: #1f1e1e !important;
568
+ }
569
+ .big-mute-icon[data-big-mute-icon]:hover {
570
+ background: rgba(240, 243, 247, 0.8784313725);
571
+ }
572
+ .big-mute-icon[data-big-mute-icon]:hover svg path {
573
+ fill: #151515 !important;
574
+ }div.player-error-screen, [data-player] div.player-error-screen {
575
+ color: #CCCACA;
576
+ position: absolute;
577
+ top: 0;
578
+ height: 100%;
579
+ width: 100%;
580
+ background-color: rgba(0, 0, 0, 0.7);
581
+ z-index: 2000;
582
+ display: flex;
583
+ flex-direction: column;
584
+ justify-content: center;
585
+ }
586
+ div.player-error-screen__content[data-error-screen], [data-player] div.player-error-screen__content[data-error-screen] {
587
+ font-size: 14px;
588
+ color: #CCCACA;
589
+ margin-top: 45px;
590
+ }
591
+ div.player-error-screen__title[data-error-screen], [data-player] div.player-error-screen__title[data-error-screen] {
592
+ font-weight: bold;
593
+ line-height: 30px;
594
+ font-size: 18px;
595
+ }
596
+ div.player-error-screen__message[data-error-screen], [data-player] div.player-error-screen__message[data-error-screen] {
597
+ width: 90%;
598
+ margin: 0 auto;
599
+ }
600
+ div.player-error-screen__code[data-error-screen], [data-player] div.player-error-screen__code[data-error-screen] {
601
+ font-size: 13px;
602
+ margin-top: 15px;
603
+ }
604
+ div.player-error-screen__reload, [data-player] div.player-error-screen__reload {
605
+ cursor: pointer;
606
+ width: 30px;
607
+ margin: 15px auto 0;
575
608
  }.media-control-skin-1[data-media-control-skin-1] .media-control-gear {
576
609
  order: 99;
577
610
  height: 20px;
@@ -679,133 +712,36 @@
679
712
  }
680
713
  .gear-wrapper ul.gear-sub-menu li.current a .check-icon svg {
681
714
  display: inline;
682
- }.player-poster {
715
+ }@charset "UTF-8";
716
+ .media-control-clips {
683
717
  display: flex;
684
- justify-content: center;
685
- align-items: center;
686
- position: absolute;
687
- height: 100%;
688
- width: 100%;
689
- z-index: 998;
690
- top: 0;
691
- left: 0;
692
- background-color: #000;
693
- background-size: cover;
694
- background-repeat: no-repeat;
695
- background-position: 50% 50%;
696
- }
697
- .player-poster.clickable {
698
- cursor: pointer;
718
+ gap: 6px;
699
719
  }
700
- .player-poster:hover .play-wrapper {
701
- opacity: 1;
720
+ .media-control-clips .media-clip-text {
721
+ text-overflow: ellipsis;
722
+ white-space: nowrap;
723
+ overflow: hidden;
724
+ display: inline-block;
725
+ text-overflow: ellipsis;
726
+ color: white;
727
+ cursor: default;
728
+ line-height: var(--bottom-panel);
729
+ position: relative;
702
730
  }
703
- .player-poster .play-wrapper {
704
- width: 100%;
705
- height: 25%;
706
- margin: 0 auto;
707
- opacity: 0.75;
708
- transition: opacity 0.1s ease;
731
+ .media-control-clips .media-clip-text::before {
732
+ content: "•";
733
+ padding-right: 6px;
709
734
  }
710
- .player-poster .play-wrapper svg {
711
- height: 100%;
712
- display: inline;
735
+ .media-control-clips .media-clip-text {
736
+ max-width: 100px;
737
+ }*,
738
+ :focus,
739
+ :visited {
740
+ outline: none !important;
713
741
  }
714
- .player-poster .play-wrapper svg path {
715
- fill: #fff;
716
- }.context-menu {
717
- z-index: 999;
718
- position: absolute;
719
- top: 0;
720
- left: 0;
721
- text-align: center;
722
- }
723
- .context-menu .context-menu-list {
724
- font-family: "Proxima Nova", sans-serif;
725
- font-size: 12px;
726
- line-height: 12px;
727
- list-style-type: none;
728
- text-align: left;
729
- padding: 5px;
730
- margin-left: auto;
731
- margin-right: auto;
732
- background-color: rgba(0, 0, 0, 0.75);
733
- border: 1px solid #666;
734
- border-radius: 4px;
735
- }
736
- .context-menu .context-menu-list-item button {
737
- border: none;
738
- background-color: transparent;
739
- padding: 0;
740
- color: white;
741
- display: flex;
742
- gap: 8px;
743
- align-items: center;
744
- justify-content: center;
745
- cursor: pointer;
746
- padding: 5px;
747
- width: 100%;
748
- }
749
- .context-menu .context-menu-list-item_icon {
750
- width: 20px;
751
- height: 20px;
752
- }.big-mute-icon-wrapper[data-big-mute] {
753
- position: absolute;
754
- z-index: 9998;
755
- background-color: transparent;
756
- display: flex;
757
- justify-content: center;
758
- width: 100%;
759
- height: calc(100% - 50px);
760
- margin: 0 auto;
761
- opacity: 0.75;
762
- transition: opacity 0.1s ease;
763
- pointer-events: auto;
764
- }
765
- .big-mute-icon-wrapper[data-big-mute].hide {
766
- display: none;
767
- }
768
- .big-mute-icon-wrapper[data-big-mute]:hover {
769
- cursor: pointer;
770
- }
771
-
772
- .big-mute-icon[data-big-mute-icon] {
773
- display: flex;
774
- align-items: center;
775
- justify-content: center;
776
- align-self: center;
777
- width: 120px;
778
- height: 120px;
779
- border: 2px solid white;
780
- border-radius: 50%;
781
- filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
782
- filter: alpha(opacity=60);
783
- opacity: 1;
784
- box-shadow: 0 0 1px 0 white;
785
- background: rgba(240, 243, 247, 0.9411764706);
786
- z-index: 10000;
787
- }
788
- .big-mute-icon[data-big-mute-icon] svg {
789
- margin-left: 5px;
790
- width: 80px;
791
- height: 80px;
792
- }
793
- .big-mute-icon[data-big-mute-icon] svg path {
794
- fill: #1f1e1e !important;
795
- }
796
- .big-mute-icon[data-big-mute-icon]:hover {
797
- background: rgba(240, 243, 247, 0.8784313725);
798
- }
799
- .big-mute-icon[data-big-mute-icon]:hover svg path {
800
- fill: #151515 !important;
801
- }*,
802
- :focus,
803
- :visited {
804
- outline: none !important;
805
- }
806
-
807
- .media-control-audiotracks {
808
- position: relative;
742
+
743
+ .media-control-audiotracks {
744
+ position: relative;
809
745
  }
810
746
  .media-control-audiotracks button {
811
747
  background-color: transparent;
@@ -898,46 +834,92 @@
898
834
  100% {
899
835
  color: #B80000;
900
836
  }
901
- }.quality-levels li.disabled {
902
- opacity: 0.5;
903
- pointer-events: none;
904
- }
905
- .quality-levels li.current {
906
- background-color: #000;
907
- }div.player-error-screen, [data-player] div.player-error-screen {
908
- color: #CCCACA;
909
- position: absolute;
910
- top: 0;
911
- height: 100%;
912
- width: 100%;
913
- background-color: rgba(0, 0, 0, 0.7);
914
- z-index: 2000;
915
- display: flex;
916
- flex-direction: column;
917
- justify-content: center;
837
+ }.dvr-controls[data-dvr] {
838
+ display: inline-block;
839
+ color: var(--player-dvr-color);
840
+ line-height: 32px;
841
+ font-size: 10px;
842
+ font-weight: bold;
843
+ margin-left: 6px;
844
+ height: 40px;
845
+ line-height: 40px;
846
+ margin-left: 0;
918
847
  }
919
- div.player-error-screen__content[data-error-screen], [data-player] div.player-error-screen__content[data-error-screen] {
920
- font-size: 14px;
921
- color: #CCCACA;
922
- margin-top: 45px;
848
+ .dvr-controls[data-dvr] .live-info {
849
+ cursor: default;
850
+ text-transform: uppercase;
923
851
  }
924
- div.player-error-screen__title[data-error-screen], [data-player] div.player-error-screen__title[data-error-screen] {
925
- font-weight: bold;
926
- line-height: 30px;
927
- font-size: 18px;
852
+ .dvr-controls[data-dvr] .live-info:before {
853
+ content: "";
854
+ display: inline-block;
855
+ position: relative;
856
+ width: 7px;
857
+ height: 7px;
858
+ border-radius: 3.5px;
859
+ margin-right: 3.5px;
860
+ background-color: var(--player-live-color);
928
861
  }
929
- div.player-error-screen__message[data-error-screen], [data-player] div.player-error-screen__message[data-error-screen] {
930
- width: 90%;
931
- margin: 0 auto;
862
+ .dvr-controls[data-dvr] .live-info.disabled {
863
+ opacity: 0.3;
932
864
  }
933
- div.player-error-screen__code[data-error-screen], [data-player] div.player-error-screen__code[data-error-screen] {
934
- font-size: 13px;
935
- margin-top: 15px;
865
+ .dvr-controls[data-dvr] .live-info.disabled:before {
866
+ background-color: var(--player-dvr-color);
936
867
  }
937
- div.player-error-screen__reload, [data-player] div.player-error-screen__reload {
868
+ .dvr-controls[data-dvr] .live-button {
938
869
  cursor: pointer;
939
- width: 30px;
940
- margin: 15px auto 0;
870
+ outline: none;
871
+ display: none;
872
+ border: 0;
873
+ color: var(--player-dvr-color);
874
+ background-color: transparent;
875
+ height: 32px;
876
+ padding: 0;
877
+ opacity: 0.7;
878
+ text-transform: uppercase;
879
+ transition: all 0.1s ease;
880
+ }
881
+ .dvr-controls[data-dvr] .live-button:before {
882
+ content: "";
883
+ display: inline-block;
884
+ position: relative;
885
+ width: 7px;
886
+ height: 7px;
887
+ border-radius: 3.5px;
888
+ margin-right: 3.5px;
889
+ background-color: var(--player-dvr-color);
890
+ }
891
+ .dvr-controls[data-dvr] .live-button:hover {
892
+ opacity: 1;
893
+ text-shadow: rgba(255, 255, 255, 0.75) 0 0 5px;
894
+ }
895
+ .dvr-controls[data-dvr] .live-info {
896
+ font-size: 14px;
897
+ letter-spacing: 0.8px;
898
+ font-weight: 500;
899
+ color: #fffffe;
900
+ margin-left: 21px;
901
+ }
902
+ .dvr-controls[data-dvr] .live-info::before {
903
+ width: 10px;
904
+ height: 10px;
905
+ border-radius: 50%;
906
+ margin-right: 8px;
907
+ background-color: #ed4f4a;
908
+ }
909
+ .dvr-controls[data-dvr] .live-button {
910
+ height: 40px;
911
+ opacity: 1;
912
+ font-size: 14px;
913
+ letter-spacing: 0.8px;
914
+ font-weight: 500;
915
+ margin-left: 20px;
916
+ }
917
+ .dvr-controls[data-dvr] .live-button::before {
918
+ width: 10px;
919
+ height: 10px;
920
+ border-radius: 50%;
921
+ margin-right: 8px;
922
+ background-color: #cacaca;
941
923
  }[data-player] {
942
924
  --bottom-panel: 40px;
943
925
  }
@@ -1699,79 +1681,50 @@ div.player-error-screen__reload, [data-player] div.player-error-screen__reload {
1699
1681
  100% {
1700
1682
  color: #B80000;
1701
1683
  }
1702
- }*,
1703
- :focus,
1704
- :visited {
1705
- outline: none !important;
1684
+ }.spinner-three-bounce[data-spinner] {
1685
+ position: absolute;
1686
+ width: 70px;
1687
+ text-align: center;
1688
+ z-index: 999;
1689
+ left: 0;
1690
+ right: 0;
1691
+ margin: 0 auto;
1692
+ margin-left: auto;
1693
+ margin-right: auto;
1694
+ /* center vertically */
1695
+ top: 50%;
1696
+ transform: translateY(-50%);
1706
1697
  }
1707
-
1708
- .media-control-cc[data-cc] {
1709
- position: relative;
1710
- order: 85;
1698
+ .spinner-three-bounce[data-spinner] > div {
1699
+ width: 18px;
1700
+ height: 18px;
1701
+ background-color: #FFF;
1702
+ border-radius: 100%;
1703
+ display: inline-block;
1704
+ animation: bouncedelay 1.4s infinite ease-in-out;
1705
+ /* Prevent first frame from flickering when animation starts */
1706
+ animation-fill-mode: both;
1711
1707
  }
1712
- .media-control-cc[data-cc] button {
1713
- background-color: transparent;
1714
- color: #fff;
1715
- -webkit-font-smoothing: antialiased;
1716
- border: none;
1717
- cursor: pointer;
1708
+ .spinner-three-bounce[data-spinner] [data-bounce1] {
1709
+ animation-delay: -0.32s;
1718
1710
  }
1719
- .media-control-cc[data-cc] button .cc-text svg {
1720
- fill: white;
1711
+ .spinner-three-bounce[data-spinner] [data-bounce2] {
1712
+ animation-delay: -0.16s;
1721
1713
  }
1722
- .media-control-cc[data-cc] button:hover {
1723
- color: #c9c9c9;
1714
+
1715
+ @keyframes bouncedelay {
1716
+ 0%, 80%, 100% {
1717
+ transform: scale(0);
1718
+ }
1719
+ 40% {
1720
+ transform: scale(1);
1721
+ }
1722
+ }.quality-levels li.disabled {
1723
+ opacity: 0.5;
1724
+ pointer-events: none;
1724
1725
  }
1725
- .media-control-cc[data-cc] button.changing {
1726
- animation: pulse 0.5s infinite alternate;
1727
- }
1728
- .media-control-cc[data-cc] ul {
1729
- width: 80px;
1730
- list-style-type: none;
1731
- position: absolute;
1732
- bottom: 25px;
1733
- border: 1px solid black;
1734
- background-color: #e6e6e6;
1735
- padding: 8px 0;
1736
- }
1737
- .media-control-cc[data-cc] li a {
1738
- color: #444;
1739
- padding: 2px 10px;
1740
- display: block;
1741
- text-decoration: none;
1742
- }
1743
- .media-control-cc[data-cc] li a:hover {
1744
- background-color: #555;
1745
- color: white;
1746
- }
1747
- .media-control-cc[data-cc] li a:hover a {
1748
- color: white;
1749
- text-decoration: none;
1750
- }
1751
- .media-control-cc[data-cc] li.current a {
1752
- color: #f00;
1753
- background-color: #555;
1754
- }
1755
-
1756
- @keyframes pulse {
1757
- 0% {
1758
- color: #fff;
1759
- }
1760
- 50% {
1761
- color: #ff0101;
1762
- }
1763
- 100% {
1764
- color: #B80000;
1765
- }
1766
- }
1767
- ::cue {
1768
- visibility: hidden !important;
1769
- font-size: 0 !important;
1770
- }
1771
-
1772
- .ios-fullscreen::cue {
1773
- visibility: visible !important;
1774
- font-size: 1em !important;
1726
+ .quality-levels li.current {
1727
+ background-color: #000;
1775
1728
  }.media-control-pip {
1776
1729
  order: 95;
1777
1730
  display: flex;
@@ -1781,129 +1734,40 @@ div.player-error-screen__reload, [data-player] div.player-error-screen__reload {
1781
1734
  }
1782
1735
  .media-control-pip button svg {
1783
1736
  height: 20px;
1784
- }@charset "UTF-8";
1785
- .media-control-clips {
1737
+ }.player-poster {
1786
1738
  display: flex;
1787
- gap: 6px;
1788
- }
1789
- .media-control-clips .media-clip-text {
1790
- text-overflow: ellipsis;
1791
- white-space: nowrap;
1792
- overflow: hidden;
1793
- display: inline-block;
1794
- text-overflow: ellipsis;
1795
- color: white;
1796
- cursor: default;
1797
- line-height: var(--bottom-panel);
1798
- position: relative;
1799
- }
1800
- .media-control-clips .media-clip-text::before {
1801
- content: "•";
1802
- padding-right: 6px;
1803
- }
1804
- .media-control-clips .media-clip-text {
1805
- max-width: 100px;
1806
- }.spinner-three-bounce[data-spinner] {
1807
- position: absolute;
1808
- width: 70px;
1809
- text-align: center;
1810
- z-index: 999;
1811
- left: 0;
1812
- right: 0;
1813
- margin: 0 auto;
1814
- margin-left: auto;
1815
- margin-right: auto;
1816
- /* center vertically */
1817
- top: 50%;
1818
- transform: translateY(-50%);
1819
- }
1820
- .spinner-three-bounce[data-spinner] > div {
1821
- width: 18px;
1822
- height: 18px;
1823
- background-color: #FFF;
1824
- border-radius: 100%;
1825
- display: inline-block;
1826
- animation: bouncedelay 1.4s infinite ease-in-out;
1827
- /* Prevent first frame from flickering when animation starts */
1828
- animation-fill-mode: both;
1829
- }
1830
- .spinner-three-bounce[data-spinner] [data-bounce1] {
1831
- animation-delay: -0.32s;
1832
- }
1833
- .spinner-three-bounce[data-spinner] [data-bounce2] {
1834
- animation-delay: -0.16s;
1835
- }
1836
-
1837
- @keyframes bouncedelay {
1838
- 0%, 80%, 100% {
1839
- transform: scale(0);
1840
- }
1841
- 40% {
1842
- transform: scale(1);
1843
- }
1844
- }.scrub-thumbnails {
1739
+ justify-content: center;
1740
+ align-items: center;
1845
1741
  position: absolute;
1846
- bottom: 52px;
1742
+ height: 100%;
1847
1743
  width: 100%;
1848
- transition: opacity 0.3s ease;
1849
- }
1850
- .scrub-thumbnails.hidden {
1851
- opacity: 0;
1852
- }
1853
- .scrub-thumbnails .thumbnail-container {
1854
- display: inline-block;
1855
- position: relative;
1856
- overflow: hidden;
1744
+ z-index: 998;
1745
+ top: 0;
1746
+ left: 0;
1857
1747
  background-color: #000;
1748
+ background-size: cover;
1749
+ background-repeat: no-repeat;
1750
+ background-position: 50% 50%;
1858
1751
  }
1859
- .scrub-thumbnails .thumbnail-container .thumbnail-img {
1860
- position: absolute;
1861
- width: auto;
1862
- }
1863
- .scrub-thumbnails .thumbnails-text {
1864
- background-color: rgba(74, 74, 74, 0.7);
1865
- border-radius: 3px;
1866
- white-space: nowrap;
1867
- overflow: hidden;
1868
- text-overflow: ellipsis;
1869
- color: white;
1870
- position: absolute;
1871
- bottom: 23px;
1872
- width: 100px;
1873
- padding: 0 4px;
1874
- font-size: 12px;
1875
- }
1876
- .scrub-thumbnails .spotlight {
1877
- background-color: #4a4a4a;
1878
- overflow: hidden;
1879
- position: absolute;
1880
- bottom: 0;
1881
- left: 0;
1882
- border-color: #4a4a4a;
1883
- border-style: solid;
1884
- border-width: 3px;
1885
- border-radius: 3px;
1752
+ .player-poster.clickable {
1753
+ cursor: pointer;
1886
1754
  }
1887
- .scrub-thumbnails .spotlight img {
1888
- width: auto;
1755
+ .player-poster:hover .play-wrapper {
1756
+ opacity: 1;
1889
1757
  }
1890
- .scrub-thumbnails .backdrop {
1891
- position: absolute;
1892
- left: 0;
1893
- bottom: 0;
1894
- right: 0;
1895
- background-color: #000;
1896
- overflow: hidden;
1758
+ .player-poster .play-wrapper {
1759
+ width: 100%;
1760
+ height: 25%;
1761
+ margin: 0 auto;
1762
+ opacity: 0.75;
1763
+ transition: opacity 0.1s ease;
1897
1764
  }
1898
- .scrub-thumbnails .backdrop .carousel {
1899
- position: absolute;
1900
- top: 0;
1901
- left: 0;
1765
+ .player-poster .play-wrapper svg {
1902
1766
  height: 100%;
1903
- white-space: nowrap;
1767
+ display: inline;
1904
1768
  }
1905
- .scrub-thumbnails .backdrop .carousel img {
1906
- width: auto;
1769
+ .player-poster .play-wrapper svg path {
1770
+ fill: #fff;
1907
1771
  }.seek-time {
1908
1772
  position: absolute;
1909
1773
  white-space: nowrap;
@@ -2020,6 +1884,79 @@ div.player-error-screen__reload, [data-player] div.player-error-screen__reload {
2020
1884
  display: inline-block;
2021
1885
  margin-right: 5px;
2022
1886
  cursor: pointer;
1887
+ }*,
1888
+ :focus,
1889
+ :visited {
1890
+ outline: none !important;
1891
+ }
1892
+
1893
+ .media-control-cc[data-cc] {
1894
+ position: relative;
1895
+ order: 85;
1896
+ }
1897
+ .media-control-cc[data-cc] button {
1898
+ background-color: transparent;
1899
+ color: #fff;
1900
+ -webkit-font-smoothing: antialiased;
1901
+ border: none;
1902
+ cursor: pointer;
1903
+ }
1904
+ .media-control-cc[data-cc] button .cc-text svg {
1905
+ fill: white;
1906
+ }
1907
+ .media-control-cc[data-cc] button:hover {
1908
+ color: #c9c9c9;
1909
+ }
1910
+ .media-control-cc[data-cc] button.changing {
1911
+ animation: pulse 0.5s infinite alternate;
1912
+ }
1913
+ .media-control-cc[data-cc] ul {
1914
+ width: 80px;
1915
+ list-style-type: none;
1916
+ position: absolute;
1917
+ bottom: 25px;
1918
+ border: 1px solid black;
1919
+ background-color: #e6e6e6;
1920
+ padding: 8px 0;
1921
+ }
1922
+ .media-control-cc[data-cc] li a {
1923
+ color: #444;
1924
+ padding: 2px 10px;
1925
+ display: block;
1926
+ text-decoration: none;
1927
+ }
1928
+ .media-control-cc[data-cc] li a:hover {
1929
+ background-color: #555;
1930
+ color: white;
1931
+ }
1932
+ .media-control-cc[data-cc] li a:hover a {
1933
+ color: white;
1934
+ text-decoration: none;
1935
+ }
1936
+ .media-control-cc[data-cc] li.current a {
1937
+ color: #f00;
1938
+ background-color: #555;
1939
+ }
1940
+
1941
+ @keyframes pulse {
1942
+ 0% {
1943
+ color: #fff;
1944
+ }
1945
+ 50% {
1946
+ color: #ff0101;
1947
+ }
1948
+ 100% {
1949
+ color: #B80000;
1950
+ }
1951
+ }
1952
+ ::cue {
1953
+ visibility: hidden !important;
1954
+ font-size: 0 !important;
1955
+ }
1956
+
1957
+ .ios-fullscreen::cue {
1958
+ visibility: visible !important;
1959
+ font-size: 1em !important;
2023
1960
  }.container-with-poster-clickable .mc-skip-time {
2024
1961
  height: 0;
2025
1962
  }
@@ -2050,4 +1987,67 @@ div.player-error-screen__reload, [data-player] div.player-error-screen__reload {
2050
1987
 
2051
1988
  .clappr-logo {
2052
1989
  position: absolute;
1990
+ }.scrub-thumbnails {
1991
+ position: absolute;
1992
+ bottom: 52px;
1993
+ width: 100%;
1994
+ transition: opacity 0.3s ease;
1995
+ }
1996
+ .scrub-thumbnails.hidden {
1997
+ opacity: 0;
1998
+ }
1999
+ .scrub-thumbnails .thumbnail-container {
2000
+ display: inline-block;
2001
+ position: relative;
2002
+ overflow: hidden;
2003
+ background-color: #000;
2004
+ }
2005
+ .scrub-thumbnails .thumbnail-container .thumbnail-img {
2006
+ position: absolute;
2007
+ width: auto;
2008
+ }
2009
+ .scrub-thumbnails .thumbnails-text {
2010
+ background-color: rgba(74, 74, 74, 0.7);
2011
+ border-radius: 3px;
2012
+ white-space: nowrap;
2013
+ overflow: hidden;
2014
+ text-overflow: ellipsis;
2015
+ color: white;
2016
+ position: absolute;
2017
+ bottom: 23px;
2018
+ width: 100px;
2019
+ padding: 0 4px;
2020
+ font-size: 12px;
2021
+ }
2022
+ .scrub-thumbnails .spotlight {
2023
+ background-color: #4a4a4a;
2024
+ overflow: hidden;
2025
+ position: absolute;
2026
+ bottom: 0;
2027
+ left: 0;
2028
+ border-color: #4a4a4a;
2029
+ border-style: solid;
2030
+ border-width: 3px;
2031
+ border-radius: 3px;
2032
+ }
2033
+ .scrub-thumbnails .spotlight img {
2034
+ width: auto;
2035
+ }
2036
+ .scrub-thumbnails .backdrop {
2037
+ position: absolute;
2038
+ left: 0;
2039
+ bottom: 0;
2040
+ right: 0;
2041
+ background-color: #000;
2042
+ overflow: hidden;
2043
+ }
2044
+ .scrub-thumbnails .backdrop .carousel {
2045
+ position: absolute;
2046
+ top: 0;
2047
+ left: 0;
2048
+ height: 100%;
2049
+ white-space: nowrap;
2050
+ }
2051
+ .scrub-thumbnails .backdrop .carousel img {
2052
+ width: auto;
2053
2053
  }