unified-video-framework 1.4.120 → 1.4.121

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "unified-video-framework",
3
- "version": "1.4.120",
3
+ "version": "1.4.121",
4
4
  "description": "Cross-platform video player framework supporting iOS, Android, Web, Smart TVs (Samsung/LG), Roku, and more",
5
5
  "main": "packages/core/dist/index.js",
6
6
  "types": "packages/core/dist/index.d.ts",
@@ -1 +1 @@
1
- {"version":3,"file":"WebPlayer.d.ts","sourceRoot":"","sources":["../src/WebPlayer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebPlayer.d.ts","sourceRoot":"","sources":["../src/WebPlayer.ts"],"names":[],"mappings":"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"}
@@ -1462,20 +1462,18 @@ export class WebPlayer extends BasePlayer {
1462
1462
  aspect-ratio: 16 / 9;
1463
1463
  background: radial-gradient(ellipse at center, #1a1a2e 0%, #000 100%);
1464
1464
  overflow: hidden;
1465
- display: flex;
1466
- align-items: center;
1467
- justify-content: center;
1468
1465
  }
1469
1466
 
1470
1467
  .uvf-video {
1471
- display: block;
1472
- max-width: 100%;
1473
- max-height: 100%;
1468
+ position: absolute;
1469
+ top: 0;
1470
+ left: 0;
1474
1471
  width: 100%;
1475
1472
  height: 100%;
1476
1473
  background: #000;
1477
1474
  object-fit: contain;
1478
- object-position: center;
1475
+ /* Ensure the video is visually centered inside the container on all devices */
1476
+ object-position: center center;
1479
1477
  }
1480
1478
 
1481
1479
  .uvf-watermark-layer {
@@ -1628,7 +1626,8 @@ export class WebPlayer extends BasePlayer {
1628
1626
  left: 0;
1629
1627
  right: 0;
1630
1628
  padding: 20px;
1631
- z-index: 10;
1629
+ /* Keep controls above any video overlays */
1630
+ z-index: 2147483602;
1632
1631
  opacity: 0;
1633
1632
  transform: translateY(10px);
1634
1633
  transition: all 0.3s ease;
@@ -2103,7 +2102,8 @@ export class WebPlayer extends BasePlayer {
2103
2102
  position: absolute;
2104
2103
  top: 20px;
2105
2104
  right: 20px;
2106
- z-index: 10;
2105
+ /* Ensure top controls remain above chrome/toolbars */
2106
+ z-index: 2147483602;
2107
2107
  display: flex;
2108
2108
  align-items: center;
2109
2109
  gap: 12px;
@@ -2635,158 +2635,70 @@ export class WebPlayer extends BasePlayer {
2635
2635
  }
2636
2636
  }
2637
2637
 
2638
- /* Mobile-First Responsive Video Player Layout */
2639
-
2640
- /* Mobile devices (all orientations) - Base mobile styles */
2641
- @media screen and (max-width: 767px) {
2642
- /* Force full viewport usage with proper safe area handling */
2638
+ /* Enhanced Responsive Media Queries with UX Best Practices */
2639
+ /* Mobile devices (portrait) - Enhanced UX with Safe Areas */
2640
+ @media screen and (max-width: 767px) and (orientation: portrait) {
2643
2641
  .uvf-responsive-container {
2644
- position: fixed !important;
2645
- top: 0;
2646
- left: 0;
2642
+ padding: 0;
2647
2643
  width: 100vw !important;
2648
- height: 100vh !important;
2649
- height: calc(100vh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
2644
+ height: calc(100vh - var(--uvf-safe-area-top) - var(--uvf-safe-area-bottom));
2650
2645
  margin: 0;
2651
- padding: 0;
2646
+ position: relative;
2652
2647
  overflow: hidden;
2653
- z-index: 1000;
2654
2648
  }
2655
2649
 
2656
- /* Modern viewport support */
2657
2650
  @supports (height: 100dvh) {
2658
2651
  .uvf-responsive-container {
2659
- height: 100dvh !important;
2660
- height: calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
2652
+ height: calc(100dvh - var(--uvf-safe-area-top) - var(--uvf-safe-area-bottom));
2661
2653
  }
2662
2654
  }
2663
2655
 
2664
- /* Player wrapper fills container completely */
2665
2656
  .uvf-responsive-container .uvf-player-wrapper {
2666
- position: absolute;
2667
- top: 0;
2668
- left: 0;
2669
- width: 100% !important;
2657
+ width: 100vw !important;
2670
2658
  height: 100% !important;
2671
- max-width: none;
2672
- max-height: none;
2673
- display: flex;
2674
- flex-direction: column;
2659
+ min-height: calc(100vh - var(--uvf-safe-area-top) - var(--uvf-safe-area-bottom));
2660
+ }
2661
+
2662
+ @supports (height: 100dvh) {
2663
+ .uvf-responsive-container .uvf-player-wrapper {
2664
+ min-height: calc(100dvh - var(--uvf-safe-area-top) - var(--uvf-safe-area-bottom));
2665
+ }
2675
2666
  }
2676
2667
 
2677
- /* Video container optimized for mobile centering */
2678
2668
  .uvf-responsive-container .uvf-video-container {
2679
- position: relative;
2680
- width: 100% !important;
2669
+ width: 100vw !important;
2681
2670
  height: 100% !important;
2682
- flex: 1;
2683
2671
  aspect-ratio: unset !important;
2684
- display: flex;
2685
- align-items: center;
2686
- justify-content: center;
2687
- background: #000;
2688
- overflow: hidden;
2689
- }
2690
-
2691
- /* Perfectly centered mobile video */
2692
- .uvf-responsive-container .uvf-video {
2693
- position: relative;
2694
- display: block;
2695
- width: 100%;
2696
- height: 100%;
2697
- max-width: 100%;
2698
- max-height: 100%;
2699
- object-fit: contain;
2700
- object-position: center center;
2701
- background: transparent;
2672
+ min-height: inherit;
2702
2673
  }
2703
2674
 
2704
- /* Mobile controls positioned with safe areas */
2675
+ /* Enhanced mobile controls bar with safe area padding */
2705
2676
  .uvf-controls-bar {
2706
- position: absolute !important;
2707
- bottom: env(safe-area-inset-bottom, 0px);
2708
- left: env(safe-area-inset-left, 0px);
2709
- right: env(safe-area-inset-right, 0px);
2710
- width: auto;
2711
- padding: 16px;
2712
- padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
2713
- padding-left: calc(16px + env(safe-area-inset-left, 0px));
2714
- padding-right: calc(16px + env(safe-area-inset-right, 0px));
2715
- background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.6) 70%, transparent 100%);
2716
- backdrop-filter: blur(10px);
2717
- -webkit-backdrop-filter: blur(10px);
2677
+ position: absolute;
2678
+ bottom: 0;
2679
+ left: 0;
2680
+ right: 0;
2681
+ padding: 16px 12px;
2682
+ padding-bottom: calc(16px + var(--uvf-safe-area-bottom));
2683
+ padding-left: calc(12px + var(--uvf-safe-area-left));
2684
+ padding-right: calc(12px + var(--uvf-safe-area-right));
2685
+ background: linear-gradient(to top, var(--uvf-overlay-strong) 0%, var(--uvf-overlay-medium) 80%, var(--uvf-overlay-transparent) 100%);
2718
2686
  box-sizing: border-box;
2719
- z-index: 2000;
2720
- opacity: 1;
2721
- transform: none;
2722
- }
2723
-
2724
- /* Top controls with safe area */
2725
- .uvf-top-controls {
2726
- position: absolute !important;
2727
- top: calc(16px + env(safe-area-inset-top, 0px));
2728
- right: calc(16px + env(safe-area-inset-right, 0px));
2729
- z-index: 2000;
2687
+ z-index: 2147483602;
2730
2688
  }
2731
2689
 
2732
- /* Title bar with safe area */
2733
- .uvf-title-bar {
2734
- position: absolute !important;
2735
- top: calc(16px + env(safe-area-inset-top, 0px));
2736
- left: calc(16px + env(safe-area-inset-left, 0px));
2737
- right: calc(120px + env(safe-area-inset-right, 0px));
2738
- z-index: 2000;
2739
- }
2740
- }
2741
-
2742
- /* Mobile Portrait - Optimized vertical layout */
2743
- @media screen and (max-width: 767px) and (orientation: portrait) {
2744
-
2745
2690
  .uvf-progress-section {
2746
2691
  margin-bottom: 16px;
2747
2692
  }
2748
2693
 
2749
- /* Mobile-optimized controls layout */
2694
+ /* Mobile-first responsive controls layout */
2750
2695
  .uvf-controls-row {
2751
- display: flex;
2696
+ gap: 8px;
2697
+ flex-wrap: nowrap;
2752
2698
  align-items: center;
2753
2699
  justify-content: space-between;
2754
- width: 100%;
2755
- gap: 12px;
2756
- flex-wrap: nowrap;
2757
2700
  position: relative;
2758
- min-height: 52px;
2759
- }
2760
-
2761
- /* Ensure controls are always visible */
2762
- .uvf-controls-row > * {
2763
- flex-shrink: 0;
2764
- display: flex;
2765
- align-items: center;
2766
- }
2767
-
2768
- /* Control groups with proper flex behavior */
2769
- .uvf-left-controls {
2770
- display: flex;
2771
- align-items: center;
2772
- gap: 8px;
2773
- flex: 0 0 auto;
2774
- }
2775
-
2776
- .uvf-center-controls {
2777
- display: flex;
2778
- align-items: center;
2779
- gap: 8px;
2780
- flex: 1 1 auto;
2781
- justify-content: center;
2782
- min-width: 0;
2783
- }
2784
-
2785
- .uvf-right-controls {
2786
- display: flex !important;
2787
- align-items: center;
2788
- gap: 8px;
2789
- flex: 0 0 auto;
2701
+ width: 100%;
2790
2702
  }
2791
2703
 
2792
2704
  /* Left side controls group */
@@ -2914,68 +2826,26 @@ export class WebPlayer extends BasePlayer {
2914
2826
  display: none !important;
2915
2827
  }
2916
2828
 
2917
- /* Enhanced mobile settings menu */
2829
+ /* Settings menu - hidden by default, accessible via menu */
2918
2830
  .uvf-settings-menu {
2919
- position: fixed !important;
2920
- bottom: calc(80px + env(safe-area-inset-bottom, 0px));
2921
- right: calc(16px + env(safe-area-inset-right, 0px));
2922
- min-width: 200px;
2923
- max-width: 280px;
2924
- max-height: 60vh;
2925
- background: rgba(0,0,0,0.95);
2926
- backdrop-filter: blur(20px);
2927
- -webkit-backdrop-filter: blur(20px);
2928
- border: 1px solid rgba(255,255,255,0.2);
2929
- border-radius: 12px;
2930
- box-shadow: 0 10px 40px rgba(0,0,0,0.3);
2931
- z-index: 3000;
2932
- overflow: hidden;
2831
+ min-width: 160px;
2832
+ bottom: 60px;
2833
+ right: 12px;
2933
2834
  font-size: 14px;
2934
- opacity: 0;
2935
- transform: translateY(10px) scale(0.95);
2936
- transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
2937
- pointer-events: none;
2835
+ max-height: 50vh;
2938
2836
  }
2939
2837
 
2940
- .uvf-settings-menu.active {
2941
- opacity: 1;
2942
- transform: translateY(0) scale(1);
2943
- pointer-events: auto;
2944
- }
2945
-
2946
- /* Touch-optimized settings options */
2947
2838
  .uvf-settings-option {
2948
- padding: 16px 20px;
2949
- font-size: 16px;
2950
- min-height: 56px;
2839
+ padding: 12px 16px;
2840
+ font-size: 14px;
2841
+ min-height: 44px;
2951
2842
  display: flex;
2952
2843
  align-items: center;
2953
- cursor: pointer;
2954
- transition: all 0.2s ease;
2955
- border: none;
2956
- background: transparent;
2957
- color: #fff;
2958
- width: 100%;
2959
- text-align: left;
2960
2844
  }
2961
2845
 
2962
- .uvf-settings-option:hover,
2963
- .uvf-settings-option:focus {
2846
+ .uvf-settings-option:hover {
2964
2847
  background: rgba(255,255,255,0.15);
2965
- }
2966
-
2967
- .uvf-settings-option.active {
2968
- background: rgba(255,77,79,0.2);
2969
- color: #ff4d4f;
2970
- }
2971
-
2972
- /* Settings groups with proper spacing */
2973
- .uvf-settings-group {
2974
- border-bottom: 1px solid rgba(255,255,255,0.1);
2975
- }
2976
-
2977
- .uvf-settings-group:last-child {
2978
- border-bottom: none;
2848
+ padding-left: 20px;
2979
2849
  }
2980
2850
 
2981
2851
  /* Simplified settings - hide complex options */
@@ -3116,46 +2986,11 @@ export class WebPlayer extends BasePlayer {
3116
2986
  display: block;
3117
2987
  }
3118
2988
 
3119
- /* Ensure settings button is always visible and functional */
3120
- #uvf-settings-btn {
3121
- display: flex !important;
3122
- align-items: center;
3123
- justify-content: center;
3124
- width: 44px;
3125
- height: 44px;
3126
- min-width: 44px;
3127
- min-height: 44px;
3128
- background: rgba(255,255,255,0.15);
3129
- backdrop-filter: blur(8px);
3130
- border: 1px solid rgba(255,255,255,0.2);
3131
- border-radius: 22px;
3132
- transition: all 0.2s ease;
3133
- }
3134
-
3135
- #uvf-settings-btn:hover {
3136
- background: rgba(255,255,255,0.25);
3137
- transform: scale(1.05);
3138
- }
3139
-
3140
- #uvf-settings-btn svg {
3141
- width: 20px;
3142
- height: 20px;
3143
- fill: #fff;
3144
- }
3145
-
3146
2989
  /* Essential controls in right section - Settings, PiP, and Fullscreen only */
3147
2990
  .uvf-right-controls > *:not(#uvf-settings-btn):not(#uvf-fullscreen-btn):not(#uvf-pip-btn) {
3148
2991
  display: none;
3149
2992
  }
3150
2993
 
3151
- /* Make sure right controls are properly spaced */
3152
- .uvf-right-controls {
3153
- display: flex;
3154
- align-items: center;
3155
- gap: 8px;
3156
- flex-shrink: 0;
3157
- }
3158
-
3159
2994
  /* Hide skip buttons on small mobile devices to save space */
3160
2995
  @media screen and (max-width: 480px) {
3161
2996
  #uvf-skip-back,
@@ -3233,7 +3068,7 @@ export class WebPlayer extends BasePlayer {
3233
3068
  padding-right: calc(12px + var(--uvf-safe-area-right));
3234
3069
  background: linear-gradient(to top, var(--uvf-overlay-strong) 0%, var(--uvf-overlay-medium) 80%, var(--uvf-overlay-transparent) 100%);
3235
3070
  box-sizing: border-box;
3236
- z-index: 1000;
3071
+ z-index: 2147483602;
3237
3072
  }
3238
3073
 
3239
3074
  .uvf-progress-section {