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 +1 -1
- package/packages/web/dist/WebPlayer.d.ts.map +1 -1
- package/packages/web/dist/WebPlayer.js +52 -217
- package/packages/web/dist/WebPlayer.js.map +1 -1
- package/packages/web/dist/react/WebPlayerView.d.ts.map +1 -1
- package/packages/web/dist/react/WebPlayerView.js +1 -1
- package/packages/web/dist/react/WebPlayerView.js.map +1 -1
- package/packages/web/src/WebPlayer.ts +52 -217
- package/packages/web/src/react/WebPlayerView.tsx +3 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "unified-video-framework",
|
|
3
|
-
"version": "1.4.
|
|
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
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
/*
|
|
2639
|
-
|
|
2640
|
-
|
|
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
|
-
|
|
2645
|
-
top: 0;
|
|
2646
|
-
left: 0;
|
|
2642
|
+
padding: 0;
|
|
2647
2643
|
width: 100vw !important;
|
|
2648
|
-
height: 100vh
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
2667
|
-
top: 0;
|
|
2668
|
-
left: 0;
|
|
2669
|
-
width: 100% !important;
|
|
2657
|
+
width: 100vw !important;
|
|
2670
2658
|
height: 100% !important;
|
|
2671
|
-
|
|
2672
|
-
|
|
2673
|
-
|
|
2674
|
-
|
|
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
|
-
|
|
2680
|
-
width: 100% !important;
|
|
2669
|
+
width: 100vw !important;
|
|
2681
2670
|
height: 100% !important;
|
|
2682
|
-
flex: 1;
|
|
2683
2671
|
aspect-ratio: unset !important;
|
|
2684
|
-
|
|
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
|
-
/*
|
|
2675
|
+
/* Enhanced mobile controls bar with safe area padding */
|
|
2705
2676
|
.uvf-controls-bar {
|
|
2706
|
-
position: absolute
|
|
2707
|
-
bottom:
|
|
2708
|
-
left:
|
|
2709
|
-
right:
|
|
2710
|
-
|
|
2711
|
-
padding: 16px;
|
|
2712
|
-
padding-
|
|
2713
|
-
padding-
|
|
2714
|
-
|
|
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:
|
|
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-
|
|
2694
|
+
/* Mobile-first responsive controls layout */
|
|
2750
2695
|
.uvf-controls-row {
|
|
2751
|
-
|
|
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
|
-
|
|
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
|
-
/*
|
|
2829
|
+
/* Settings menu - hidden by default, accessible via menu */
|
|
2918
2830
|
.uvf-settings-menu {
|
|
2919
|
-
|
|
2920
|
-
bottom:
|
|
2921
|
-
right:
|
|
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
|
-
|
|
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
|
|
2949
|
-
font-size:
|
|
2950
|
-
min-height:
|
|
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:
|
|
3071
|
+
z-index: 2147483602;
|
|
3237
3072
|
}
|
|
3238
3073
|
|
|
3239
3074
|
.uvf-progress-section {
|