eb-player 2.0.2 → 2.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.
@@ -85,8 +85,8 @@
85
85
  --eb-radius-control: 8px;
86
86
  --eb-duration-transition: 200ms;
87
87
  font-family: 'Inter', -apple-system, sans-serif;
88
- border-radius: 14px;
89
- box-shadow: 0 40px 80px rgba(0,0,0,.8), 0 0 0 1px rgba(255,255,255,.06);
88
+ border-radius: 0;
89
+ box-shadow: none;
90
90
  color: #fff;
91
91
  }
92
92
 
@@ -349,9 +349,9 @@
349
349
  transition: height .15s;
350
350
  }
351
351
 
352
- /* Red gradient fill */
352
+ /* Solid red fill */
353
353
  [data-theme="lequipe"] .eb-player .eb-seekbar-progress {
354
- background: linear-gradient(90deg, #d61e00, color-mix(in srgb, #d61e00 70%, #fff));
354
+ background: #d61e00;
355
355
  border-radius: 3px;
356
356
  transition: height .15s;
357
357
  }
@@ -525,72 +525,184 @@
525
525
  Settings panel: glassmorphism dropdown
526
526
  ============================================================ */
527
527
  [data-theme="lequipe"] .eb-player .eb-settings-panel {
528
- background: rgba(10,10,20,.55);
529
- backdrop-filter: blur(18px) saturate(160%);
530
- -webkit-backdrop-filter: blur(18px) saturate(160%);
531
- border-radius: 12px;
532
- min-width: 300px;
533
- box-shadow: 0 16px 48px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.1);
528
+ background: rgba(30,30,45,.6);
529
+ backdrop-filter: blur(24px) saturate(160%);
530
+ -webkit-backdrop-filter: blur(24px) saturate(160%);
531
+ border-radius: 14px;
532
+ width: min(340px, 80vw);
533
+ max-height: 60vh;
534
+ overflow-y: auto;
535
+ overflow-x: hidden;
536
+ box-shadow: 0 16px 48px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.08);
537
+ }
538
+
539
+ /* Small viewports: compact rows */
540
+ @media (max-height: 400px) {
541
+ [data-theme="lequipe"] .eb-player .eb-settings-category { padding: 12px 14px; font-size: 13px; gap: 10px; }
542
+ [data-theme="lequipe"] .eb-player .eb-settings-item { padding: 11px 14px; font-size: 13px; }
543
+ [data-theme="lequipe"] .eb-player .eb-settings-header { padding: 10px 14px; }
544
+ [data-theme="lequipe"] .eb-player .eb-settings-panel { min-width: 220px; border-radius: 10px; }
545
+ [data-theme="lequipe"] .eb-player .eb-settings-back { width: 30px; height: 30px; }
534
546
  }
535
547
 
536
548
  [data-theme="lequipe"] .eb-player .eb-settings-menu {
537
549
  padding: 0;
538
550
  }
539
551
 
540
- [data-theme="lequipe"] .eb-player .eb-settings-category,
541
- [data-theme="lequipe"] .eb-player .eb-settings-item,
542
- [data-theme="lequipe"] .eb-player .eb-settings-back {
543
- padding: 15px 20px;
552
+ /* Root menu category rows — icon | label | value | chevron */
553
+ [data-theme="lequipe"] .eb-player .eb-settings-category {
554
+ display: flex;
555
+ align-items: center;
556
+ gap: 14px;
557
+ padding: 18px 20px;
558
+ font-size: 14px;
559
+ color: rgba(255,255,255,.95);
560
+ border-bottom: 1px solid rgba(255,255,255,.06);
561
+ transition: background .12s;
562
+ width: 100%;
563
+ border: none;
564
+ background: none;
565
+ cursor: pointer;
566
+ text-align: left;
567
+ }
568
+
569
+ [data-theme="lequipe"] .eb-player .eb-settings-category:last-child {
570
+ border-bottom: none;
571
+ }
572
+
573
+ [data-theme="lequipe"] .eb-player .eb-settings-category:hover {
574
+ background: rgba(255,255,255,.05);
575
+ }
576
+
577
+ [data-theme="lequipe"] .eb-player .eb-settings-category__icon {
578
+ flex-shrink: 0;
579
+ display: flex;
580
+ align-items: center;
581
+ justify-content: center;
582
+ color: rgba(255,255,255,.6);
583
+ }
584
+
585
+ [data-theme="lequipe"] .eb-player .eb-settings-category__icon .eb-icon {
586
+ width: 22px;
587
+ height: 22px;
588
+ }
589
+
590
+ [data-theme="lequipe"] .eb-player .eb-settings-category__label {
591
+ flex: 1;
592
+ font-weight: 400;
593
+ }
594
+
595
+ [data-theme="lequipe"] .eb-player .eb-settings-category__value {
596
+ color: rgba(255,255,255,.45);
544
597
  font-size: 13px;
545
- color: rgba(255,255,255,.9);
598
+ font-weight: 400;
599
+ }
600
+
601
+ [data-theme="lequipe"] .eb-player .eb-settings-category__chevron {
602
+ flex-shrink: 0;
603
+ display: flex;
604
+ align-items: center;
605
+ color: rgba(255,255,255,.3);
606
+ }
607
+
608
+ [data-theme="lequipe"] .eb-player .eb-settings-category__chevron .eb-icon {
609
+ width: 16px;
610
+ height: 16px;
611
+ }
612
+
613
+ /* Sub-menu header — circular back button + title */
614
+ [data-theme="lequipe"] .eb-player .eb-settings-header {
615
+ display: flex;
616
+ align-items: center;
617
+ gap: 12px;
618
+ padding: 14px 18px;
619
+ border-bottom: 1px solid rgba(255,255,255,.08);
620
+ }
621
+
622
+ [data-theme="lequipe"] .eb-player .eb-settings-header__title {
623
+ font-size: 15px;
624
+ font-weight: 600;
625
+ color: #fff;
626
+ }
627
+
628
+ [data-theme="lequipe"] .eb-player .eb-settings-back {
629
+ width: 36px;
630
+ height: 36px;
631
+ border-radius: 50%;
632
+ background: rgba(255,255,255,.12);
633
+ border: none;
634
+ cursor: pointer;
635
+ display: flex;
636
+ align-items: center;
637
+ justify-content: center;
638
+ padding: 0;
639
+ transition: background .15s;
640
+ flex-shrink: 0;
641
+ color: #fff;
642
+ }
643
+
644
+ [data-theme="lequipe"] .eb-player .eb-settings-back:hover {
645
+ background: rgba(255,255,255,.2);
646
+ }
647
+
648
+ [data-theme="lequipe"] .eb-player .eb-settings-back .eb-icon {
649
+ width: 18px;
650
+ height: 18px;
651
+ }
652
+
653
+ /* Sub-menu items */
654
+ [data-theme="lequipe"] .eb-player .eb-settings-item {
655
+ display: flex;
656
+ align-items: center;
657
+ justify-content: space-between;
658
+ padding: 16px 20px;
659
+ font-size: 14px;
660
+ color: rgba(255,255,255,.7);
546
661
  border-bottom: 1px solid rgba(255,255,255,.06);
547
662
  transition: background .12s;
663
+ width: 100%;
664
+ border-left: none;
665
+ border-right: none;
666
+ border-top: none;
667
+ background: none;
668
+ cursor: pointer;
669
+ text-align: left;
548
670
  }
549
671
 
550
- [data-theme="lequipe"] .eb-player .eb-settings-category:last-child,
551
672
  [data-theme="lequipe"] .eb-player .eb-settings-item:last-child {
552
673
  border-bottom: none;
553
674
  }
554
675
 
555
- [data-theme="lequipe"] .eb-player .eb-settings-category:hover,
556
- [data-theme="lequipe"] .eb-player .eb-settings-item:hover,
557
- [data-theme="lequipe"] .eb-player .eb-settings-back:hover {
676
+ [data-theme="lequipe"] .eb-player .eb-settings-item:hover {
558
677
  background: rgba(255,255,255,.05);
559
678
  }
560
679
 
561
- /* Selected item text */
680
+ /* Selected item text — brighter */
562
681
  [data-theme="lequipe"] .eb-player .eb-settings-item--selected {
563
682
  color: #fff;
564
683
  font-weight: 500;
565
684
  }
566
685
 
567
- /* Active selection dot (filled red) */
686
+ /* Active selection dot (filled accent) */
568
687
  [data-theme="lequipe"] .eb-player .eb-settings-item--selected::after {
569
688
  content: '';
570
- width: 10px;
571
- height: 10px;
689
+ width: 12px;
690
+ height: 12px;
572
691
  border-radius: 50%;
573
692
  background: var(--eb-accent, #d61e00);
574
- box-shadow: 0 0 0 3px rgba(214,30,0,.25);
575
693
  flex-shrink: 0;
576
694
  }
577
695
 
578
696
  /* Non-selected items: hollow dot */
579
697
  [data-theme="lequipe"] .eb-player .eb-settings-item:not(.eb-settings-item--selected)::after {
580
698
  content: '';
581
- width: 10px;
582
- height: 10px;
699
+ width: 12px;
700
+ height: 12px;
583
701
  border-radius: 50%;
584
702
  border: 2px solid rgba(255,255,255,.2);
585
703
  flex-shrink: 0;
586
704
  }
587
705
 
588
- /* Back button */
589
- [data-theme="lequipe"] .eb-player .eb-settings-back {
590
- gap: 14px;
591
- font-weight: 600;
592
- }
593
-
594
706
  /* ============================================================
595
707
  Loading spinner
596
708
  ============================================================ */
@@ -1937,7 +2049,12 @@
1937
2049
  user-select: none;
1938
2050
  }
1939
2051
 
1940
- /* Video element fills the container */
2052
+ /* Video element fills the container.
2053
+ filter: brightness(1) is visually identical to no filter but forces Chrome to
2054
+ composite the video through the GPU filter pipeline instead of using a hardware
2055
+ overlay plane. Without this, DRM-protected video (Widevine) renders on a separate
2056
+ hardware overlay that sits above ALL HTML layers — making seekbar snapshot preview
2057
+ and other overlay elements invisible behind the main video. */
1941
2058
  .eb-player video.eb-video {
1942
2059
  position: absolute;
1943
2060
  top: 0;
@@ -1947,6 +2064,7 @@
1947
2064
  display: block;
1948
2065
  object-fit: contain;
1949
2066
  z-index: 1;
2067
+ filter: brightness(1);
1950
2068
  }
1951
2069
 
1952
2070
  /* ============================================================
@@ -2219,9 +2337,10 @@
2219
2337
  position: absolute;
2220
2338
  background: rgba(0, 0, 0, 0.85);
2221
2339
  border-radius: 6px;
2222
- min-width: 180px;
2340
+ min-width: 160px;
2341
+ max-width: 220px;
2223
2342
  overflow: hidden;
2224
- font-size: 13px;
2343
+ font-size: 12px;
2225
2344
  z-index: 40;
2226
2345
  }
2227
2346
 
@@ -2249,25 +2368,54 @@
2249
2368
  padding: 4px 0;
2250
2369
  }
2251
2370
 
2371
+ .eb-settings-submenu {
2372
+ max-height: 200px;
2373
+ overflow-y: auto;
2374
+ }
2375
+
2376
+ .eb-settings-submenu::-webkit-scrollbar {
2377
+ width: 4px;
2378
+ }
2379
+
2380
+ .eb-settings-submenu::-webkit-scrollbar-thumb {
2381
+ background: rgba(255, 255, 255, 0.3);
2382
+ border-radius: 2px;
2383
+ }
2384
+
2385
+ .eb-settings-header {
2386
+ display: flex;
2387
+ align-items: center;
2388
+ gap: 4px;
2389
+ padding: 5px 12px;
2390
+ }
2391
+
2252
2392
  .eb-settings-category,
2253
- .eb-settings-item,
2254
- .eb-settings-back {
2393
+ .eb-settings-item {
2255
2394
  display: flex;
2256
2395
  align-items: center;
2257
2396
  justify-content: space-between;
2258
2397
  width: 100%;
2259
- padding: 8px 14px;
2398
+ padding: 5px 12px;
2260
2399
  border: none;
2261
2400
  background: none;
2262
2401
  color: #fff;
2263
2402
  cursor: pointer;
2264
- font-size: 13px;
2403
+ font-size: 12px;
2265
2404
  text-align: left;
2266
2405
  }
2267
2406
 
2407
+ .eb-settings-back {
2408
+ display: flex;
2409
+ align-items: center;
2410
+ border: none;
2411
+ background: none;
2412
+ color: #fff;
2413
+ cursor: pointer;
2414
+ padding: 0;
2415
+ }
2416
+
2268
2417
  .eb-settings-category:hover,
2269
- .eb-settings-item:hover,
2270
- .eb-settings-back:hover {
2418
+ .eb-settings-item:hover {
2271
2419
  background: rgba(255, 255, 255, 0.1);
2272
2420
  }
2273
2421
 
@@ -2350,13 +2498,27 @@
2350
2498
  white-space: nowrap;
2351
2499
  pointer-events: none;
2352
2500
  text-align: center;
2501
+ z-index: 50;
2502
+ overflow: hidden;
2353
2503
  }
2354
2504
 
2355
2505
  .eb-seekbar-preview {
2506
+ position: static !important;
2356
2507
  width: 120px;
2357
- height: auto;
2358
- display: block;
2359
- margin-bottom: 4px;
2508
+ height: 68px;
2509
+ min-width: 0 !important;
2510
+ min-height: 0 !important;
2511
+ max-width: none !important;
2512
+ max-height: none !important;
2513
+ display: block !important;
2514
+ object-fit: contain;
2515
+ background: #000;
2516
+ margin: 0 !important;
2517
+ padding: 0 !important;
2518
+ border: none !important;
2519
+ inset: auto !important;
2520
+ transform: none !important;
2521
+ z-index: auto !important;
2360
2522
  }
2361
2523
 
2362
2524
  .eb-chapter-marker {
@@ -2716,7 +2878,7 @@
2716
2878
  Responsive: ensure container fills parent
2717
2879
  ============================================================ */
2718
2880
  .eb-player,
2719
- .eb-player video {
2881
+ .eb-player video.eb-video {
2720
2882
  max-width: 100%;
2721
2883
  max-height: 100%;
2722
2884
  }