unified-video-framework 1.4.137 → 1.4.139
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.
|
|
3
|
+
"version": "1.4.139",
|
|
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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"}
|
|
@@ -1996,28 +1996,33 @@ export class WebPlayer extends BasePlayer {
|
|
|
1996
1996
|
position: absolute;
|
|
1997
1997
|
bottom: 50px;
|
|
1998
1998
|
right: 0;
|
|
1999
|
-
background: rgba(0,0,0,0.
|
|
1999
|
+
background: rgba(0,0,0,0.92);
|
|
2000
2000
|
backdrop-filter: blur(20px);
|
|
2001
|
-
|
|
2001
|
+
-webkit-backdrop-filter: blur(20px);
|
|
2002
|
+
border: 1px solid rgba(255,255,255,0.15);
|
|
2002
2003
|
border-radius: 12px;
|
|
2003
|
-
padding:
|
|
2004
|
-
min-width:
|
|
2004
|
+
padding: 8px 0;
|
|
2005
|
+
min-width: 220px;
|
|
2006
|
+
max-width: 280px;
|
|
2005
2007
|
max-height: 60vh;
|
|
2006
2008
|
overflow-y: auto;
|
|
2007
2009
|
-webkit-overflow-scrolling: touch;
|
|
2008
2010
|
overscroll-behavior: contain;
|
|
2009
|
-
z-index:
|
|
2011
|
+
z-index: 9999;
|
|
2012
|
+
box-shadow: 0 20px 40px rgba(0,0,0,0.4), 0 8px 25px rgba(0,0,0,0.3);
|
|
2010
2013
|
/* Firefox */
|
|
2011
2014
|
scrollbar-width: thin;
|
|
2012
|
-
scrollbar-color:
|
|
2015
|
+
scrollbar-color: rgba(255,255,255,0.3) transparent;
|
|
2013
2016
|
/* Avoid layout shift when scrollbar appears */
|
|
2014
2017
|
scrollbar-gutter: stable both-edges;
|
|
2015
2018
|
/* Space on the right so content doesn't hug the scrollbar */
|
|
2016
|
-
padding-right:
|
|
2019
|
+
padding-right: 8px;
|
|
2020
|
+
/* Initial hidden state */
|
|
2017
2021
|
opacity: 0;
|
|
2018
2022
|
visibility: hidden;
|
|
2019
|
-
transform: translateY(
|
|
2020
|
-
|
|
2023
|
+
transform: translateY(15px) scale(0.95);
|
|
2024
|
+
pointer-events: none;
|
|
2025
|
+
transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s cubic-bezier(0.4, 0.0, 0.2, 1);
|
|
2021
2026
|
}
|
|
2022
2027
|
|
|
2023
2028
|
/* WebKit-based browsers (Chrome, Edge, Safari) */
|
|
@@ -2058,65 +2063,87 @@ export class WebPlayer extends BasePlayer {
|
|
|
2058
2063
|
.uvf-settings-menu.active {
|
|
2059
2064
|
opacity: 1;
|
|
2060
2065
|
visibility: visible;
|
|
2061
|
-
transform: translateY(0);
|
|
2066
|
+
transform: translateY(0) scale(1);
|
|
2067
|
+
pointer-events: all;
|
|
2062
2068
|
}
|
|
2063
2069
|
|
|
2064
|
-
/* Accordion Styles */
|
|
2070
|
+
/* Improved Accordion Styles */
|
|
2065
2071
|
.uvf-settings-accordion {
|
|
2066
|
-
padding: 0;
|
|
2072
|
+
padding: 8px 0;
|
|
2067
2073
|
}
|
|
2068
2074
|
|
|
2069
2075
|
.uvf-accordion-item {
|
|
2070
|
-
|
|
2076
|
+
margin-bottom: 2px;
|
|
2077
|
+
border-radius: 8px;
|
|
2078
|
+
overflow: hidden;
|
|
2079
|
+
background: rgba(255,255,255,0.03);
|
|
2071
2080
|
}
|
|
2072
2081
|
|
|
2073
2082
|
.uvf-accordion-item:last-child {
|
|
2074
|
-
|
|
2083
|
+
margin-bottom: 0;
|
|
2075
2084
|
}
|
|
2076
2085
|
|
|
2077
2086
|
.uvf-accordion-header {
|
|
2078
2087
|
display: flex;
|
|
2079
2088
|
align-items: center;
|
|
2080
2089
|
justify-content: space-between;
|
|
2081
|
-
padding:
|
|
2090
|
+
padding: 12px 16px;
|
|
2082
2091
|
cursor: pointer;
|
|
2083
2092
|
transition: all 0.2s ease;
|
|
2084
|
-
|
|
2085
|
-
|
|
2093
|
+
background: rgba(255,255,255,0.05);
|
|
2094
|
+
border-bottom: 1px solid rgba(255,255,255,0.08);
|
|
2086
2095
|
}
|
|
2087
2096
|
|
|
2088
2097
|
.uvf-accordion-header:hover {
|
|
2098
|
+
background: rgba(255,255,255,0.1);
|
|
2099
|
+
}
|
|
2100
|
+
|
|
2101
|
+
.uvf-accordion-item.expanded .uvf-accordion-header {
|
|
2089
2102
|
background: rgba(255,255,255,0.08);
|
|
2090
|
-
|
|
2103
|
+
border-bottom-color: rgba(255,255,255,0.12);
|
|
2091
2104
|
}
|
|
2092
2105
|
|
|
2093
2106
|
.uvf-accordion-title {
|
|
2094
2107
|
display: flex;
|
|
2095
2108
|
align-items: center;
|
|
2096
|
-
gap:
|
|
2097
|
-
font-size:
|
|
2109
|
+
gap: 8px;
|
|
2110
|
+
font-size: 13px;
|
|
2098
2111
|
font-weight: 500;
|
|
2099
2112
|
color: #fff;
|
|
2113
|
+
flex: 1;
|
|
2100
2114
|
}
|
|
2101
2115
|
|
|
2102
2116
|
.uvf-accordion-icon {
|
|
2103
|
-
|
|
2104
|
-
|
|
2117
|
+
display: flex;
|
|
2118
|
+
align-items: center;
|
|
2119
|
+
justify-content: center;
|
|
2120
|
+
opacity: 0.9;
|
|
2121
|
+
width: 16px;
|
|
2122
|
+
height: 16px;
|
|
2123
|
+
}
|
|
2124
|
+
|
|
2125
|
+
.uvf-accordion-icon svg {
|
|
2126
|
+
width: 14px;
|
|
2127
|
+
height: 14px;
|
|
2128
|
+
fill: currentColor;
|
|
2105
2129
|
}
|
|
2106
2130
|
|
|
2107
2131
|
.uvf-accordion-current {
|
|
2108
|
-
font-size:
|
|
2109
|
-
color:
|
|
2110
|
-
background: rgba(255,255,255,0.
|
|
2111
|
-
padding:
|
|
2112
|
-
border-radius:
|
|
2113
|
-
font-weight:
|
|
2132
|
+
font-size: 11px;
|
|
2133
|
+
color: var(--uvf-accent-1);
|
|
2134
|
+
background: rgba(255,255,255,0.08);
|
|
2135
|
+
padding: 2px 8px;
|
|
2136
|
+
border-radius: 8px;
|
|
2137
|
+
font-weight: 600;
|
|
2138
|
+
margin-right: 8px;
|
|
2114
2139
|
}
|
|
2115
2140
|
|
|
2116
2141
|
.uvf-accordion-arrow {
|
|
2117
|
-
font-size:
|
|
2118
|
-
color: rgba(255,255,255,0.
|
|
2119
|
-
transition: transform 0.
|
|
2142
|
+
font-size: 10px;
|
|
2143
|
+
color: rgba(255,255,255,0.7);
|
|
2144
|
+
transition: transform 0.25s ease;
|
|
2145
|
+
width: 16px;
|
|
2146
|
+
text-align: center;
|
|
2120
2147
|
}
|
|
2121
2148
|
|
|
2122
2149
|
.uvf-accordion-item.expanded .uvf-accordion-arrow {
|
|
@@ -2126,13 +2153,46 @@ export class WebPlayer extends BasePlayer {
|
|
|
2126
2153
|
.uvf-accordion-content {
|
|
2127
2154
|
max-height: 0;
|
|
2128
2155
|
overflow: hidden;
|
|
2129
|
-
transition: max-height 0.
|
|
2130
|
-
|
|
2156
|
+
transition: max-height 0.25s cubic-bezier(0.4, 0, 0.2, 1);
|
|
2157
|
+
background: rgba(0,0,0,0.2);
|
|
2131
2158
|
}
|
|
2132
2159
|
|
|
2133
2160
|
.uvf-accordion-item.expanded .uvf-accordion-content {
|
|
2134
|
-
max-height:
|
|
2135
|
-
|
|
2161
|
+
max-height: 250px;
|
|
2162
|
+
}
|
|
2163
|
+
|
|
2164
|
+
/* Settings options within accordion */
|
|
2165
|
+
.uvf-accordion-content .uvf-settings-option {
|
|
2166
|
+
color: #fff;
|
|
2167
|
+
font-size: 13px;
|
|
2168
|
+
padding: 10px 16px;
|
|
2169
|
+
cursor: pointer;
|
|
2170
|
+
transition: all 0.2s ease;
|
|
2171
|
+
border-bottom: 1px solid rgba(255,255,255,0.05);
|
|
2172
|
+
display: flex;
|
|
2173
|
+
align-items: center;
|
|
2174
|
+
justify-content: space-between;
|
|
2175
|
+
}
|
|
2176
|
+
|
|
2177
|
+
.uvf-accordion-content .uvf-settings-option:last-child {
|
|
2178
|
+
border-bottom: none;
|
|
2179
|
+
}
|
|
2180
|
+
|
|
2181
|
+
.uvf-accordion-content .uvf-settings-option:hover {
|
|
2182
|
+
background: rgba(255,255,255,0.06);
|
|
2183
|
+
padding-left: 20px;
|
|
2184
|
+
}
|
|
2185
|
+
|
|
2186
|
+
.uvf-accordion-content .uvf-settings-option.active {
|
|
2187
|
+
color: var(--uvf-accent-1);
|
|
2188
|
+
background: rgba(255,255,255,0.08);
|
|
2189
|
+
font-weight: 600;
|
|
2190
|
+
}
|
|
2191
|
+
|
|
2192
|
+
.uvf-accordion-content .uvf-settings-option.active::after {
|
|
2193
|
+
content: '✓';
|
|
2194
|
+
font-size: 12px;
|
|
2195
|
+
opacity: 0.8;
|
|
2136
2196
|
}
|
|
2137
2197
|
|
|
2138
2198
|
.uvf-settings-empty {
|
|
@@ -4274,7 +4334,6 @@ export class WebPlayer extends BasePlayer {
|
|
|
4274
4334
|
settingsMenu.className = 'uvf-settings-menu';
|
|
4275
4335
|
settingsMenu.id = 'uvf-settings-menu';
|
|
4276
4336
|
settingsMenu.innerHTML = '';
|
|
4277
|
-
settingsMenu.style.display = 'none';
|
|
4278
4337
|
settingsContainer.appendChild(settingsMenu);
|
|
4279
4338
|
rightControls.appendChild(settingsContainer);
|
|
4280
4339
|
this.debugLog('Settings button created and added to controls');
|
|
@@ -4630,21 +4689,29 @@ export class WebPlayer extends BasePlayer {
|
|
|
4630
4689
|
this.debugLog('Settings menu after update:', settingsMenu?.innerHTML?.length || 0, 'characters');
|
|
4631
4690
|
this.debugLog('Settings menu classes before toggle:', Array.from(settingsMenu?.classList || []).join(' '));
|
|
4632
4691
|
settingsMenu?.classList.toggle('active');
|
|
4633
|
-
if (settingsMenu
|
|
4634
|
-
settingsMenu.
|
|
4635
|
-
|
|
4636
|
-
|
|
4637
|
-
|
|
4638
|
-
|
|
4639
|
-
|
|
4640
|
-
|
|
4641
|
-
|
|
4642
|
-
|
|
4643
|
-
|
|
4644
|
-
|
|
4645
|
-
|
|
4646
|
-
|
|
4647
|
-
|
|
4692
|
+
if (settingsMenu) {
|
|
4693
|
+
if (settingsMenu.classList.contains('active')) {
|
|
4694
|
+
settingsMenu.style.display = 'block';
|
|
4695
|
+
settingsMenu.style.visibility = 'visible';
|
|
4696
|
+
settingsMenu.style.opacity = '1';
|
|
4697
|
+
settingsMenu.style.transform = 'translateY(0)';
|
|
4698
|
+
settingsMenu.style.zIndex = '9999';
|
|
4699
|
+
settingsMenu.style.position = 'absolute';
|
|
4700
|
+
settingsMenu.style.bottom = '50px';
|
|
4701
|
+
settingsMenu.style.right = '0';
|
|
4702
|
+
settingsMenu.style.background = 'rgba(0,0,0,0.9)';
|
|
4703
|
+
settingsMenu.style.border = '1px solid rgba(255,255,255,0.2)';
|
|
4704
|
+
settingsMenu.style.borderRadius = '8px';
|
|
4705
|
+
settingsMenu.style.minWidth = '200px';
|
|
4706
|
+
settingsMenu.style.padding = '10px 0';
|
|
4707
|
+
this.debugLog('Applied fallback styles to show menu');
|
|
4708
|
+
}
|
|
4709
|
+
else {
|
|
4710
|
+
settingsMenu.style.display = 'none';
|
|
4711
|
+
settingsMenu.style.visibility = 'hidden';
|
|
4712
|
+
settingsMenu.style.opacity = '0';
|
|
4713
|
+
this.debugLog('Applied fallback styles to hide menu');
|
|
4714
|
+
}
|
|
4648
4715
|
}
|
|
4649
4716
|
this.debugLog('Settings menu classes after toggle:', Array.from(settingsMenu?.classList || []).join(' '));
|
|
4650
4717
|
this.debugLog('Settings menu computed display:', window.getComputedStyle(settingsMenu || document.body).display);
|
|
@@ -4669,6 +4736,17 @@ export class WebPlayer extends BasePlayer {
|
|
|
4669
4736
|
if (!e.target.closest('#uvf-settings-btn') &&
|
|
4670
4737
|
!e.target.closest('#uvf-settings-menu')) {
|
|
4671
4738
|
settingsMenu?.classList.remove('active');
|
|
4739
|
+
settingsMenu?.querySelectorAll('.uvf-accordion-item.expanded').forEach(item => {
|
|
4740
|
+
item.classList.remove('expanded');
|
|
4741
|
+
});
|
|
4742
|
+
}
|
|
4743
|
+
});
|
|
4744
|
+
document.addEventListener('keydown', (e) => {
|
|
4745
|
+
if (e.key === 'Escape' && settingsMenu?.classList.contains('active')) {
|
|
4746
|
+
settingsMenu.classList.remove('active');
|
|
4747
|
+
settingsMenu.querySelectorAll('.uvf-accordion-item.expanded').forEach(item => {
|
|
4748
|
+
item.classList.remove('expanded');
|
|
4749
|
+
});
|
|
4672
4750
|
}
|
|
4673
4751
|
});
|
|
4674
4752
|
}
|
|
@@ -5841,7 +5919,11 @@ export class WebPlayer extends BasePlayer {
|
|
|
5841
5919
|
<div class="uvf-accordion-item">
|
|
5842
5920
|
<div class="uvf-accordion-header" data-section="speed">
|
|
5843
5921
|
<div class="uvf-accordion-title">
|
|
5844
|
-
<span class="uvf-accordion-icon"
|
|
5922
|
+
<span class="uvf-accordion-icon">
|
|
5923
|
+
<svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor">
|
|
5924
|
+
<path d="M13,24l11-12L13,0V7.5C5.7,7.5,0,13.2,0,20.5C0,22.4,0.6,24.2,1.6,25.7C4.8,21.8,8.7,19.5,13,19.5V24z"/>
|
|
5925
|
+
</svg>
|
|
5926
|
+
</span>
|
|
5845
5927
|
<span>Playback Speed</span>
|
|
5846
5928
|
</div>
|
|
5847
5929
|
<div class="uvf-accordion-current">${currentSpeedLabel}</div>
|
|
@@ -5866,7 +5948,11 @@ export class WebPlayer extends BasePlayer {
|
|
|
5866
5948
|
<div class="uvf-accordion-item">
|
|
5867
5949
|
<div class="uvf-accordion-header" data-section="quality">
|
|
5868
5950
|
<div class="uvf-accordion-title">
|
|
5869
|
-
<span class="uvf-accordion-icon"
|
|
5951
|
+
<span class="uvf-accordion-icon">
|
|
5952
|
+
<svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor">
|
|
5953
|
+
<path d="M9,4v3h5V4h4V16H15v-3H9v3H5V4H9z M8,5H6v10h2V11h6v4h2V5h-2v4H8V5z"/>
|
|
5954
|
+
</svg>
|
|
5955
|
+
</span>
|
|
5870
5956
|
<span>Quality</span>
|
|
5871
5957
|
</div>
|
|
5872
5958
|
<div class="uvf-accordion-current">${currentQualityLabel}</div>
|
|
@@ -5886,7 +5972,11 @@ export class WebPlayer extends BasePlayer {
|
|
|
5886
5972
|
<div class="uvf-accordion-item">
|
|
5887
5973
|
<div class="uvf-accordion-header" data-section="subtitles">
|
|
5888
5974
|
<div class="uvf-accordion-title">
|
|
5889
|
-
<span class="uvf-accordion-icon"
|
|
5975
|
+
<span class="uvf-accordion-icon">
|
|
5976
|
+
<svg viewBox="0 0 24 24" width="14" height="14" fill="currentColor">
|
|
5977
|
+
<path d="M20,4H4C2.89,4 2,4.89 2,6V18C2,19.11 2.89,20 4,20H20C21.11,20 22,19.11 22,18V6C22,4.89 21.11,4 20,4M20,18H4V6H20V18M6,10H8V12H6V10M6,14H14V16H6V14M16,14H18V16H16V14M10,10H18V12H10V10Z"/>
|
|
5978
|
+
</svg>
|
|
5979
|
+
</span>
|
|
5890
5980
|
<span>Subtitles</span>
|
|
5891
5981
|
</div>
|
|
5892
5982
|
<div class="uvf-accordion-current">${currentSubtitleLabel}</div>
|
|
@@ -6011,31 +6101,23 @@ export class WebPlayer extends BasePlayer {
|
|
|
6011
6101
|
}
|
|
6012
6102
|
toggleAccordionSection(accordionItem, section) {
|
|
6013
6103
|
const isExpanded = accordionItem.classList.contains('expanded');
|
|
6104
|
+
if (isExpanded) {
|
|
6105
|
+
accordionItem.classList.remove('expanded');
|
|
6106
|
+
return;
|
|
6107
|
+
}
|
|
6014
6108
|
const settingsMenu = document.getElementById('uvf-settings-menu');
|
|
6015
6109
|
if (settingsMenu) {
|
|
6016
6110
|
settingsMenu.querySelectorAll('.uvf-accordion-item.expanded').forEach(item => {
|
|
6017
|
-
|
|
6018
|
-
item.classList.remove('expanded');
|
|
6019
|
-
}
|
|
6111
|
+
item.classList.remove('expanded');
|
|
6020
6112
|
});
|
|
6021
6113
|
}
|
|
6022
|
-
|
|
6023
|
-
accordionItem.classList.remove('expanded');
|
|
6024
|
-
}
|
|
6025
|
-
else {
|
|
6026
|
-
accordionItem.classList.add('expanded');
|
|
6027
|
-
}
|
|
6114
|
+
accordionItem.classList.add('expanded');
|
|
6028
6115
|
}
|
|
6029
6116
|
updateAccordionAfterSelection(section) {
|
|
6030
6117
|
setTimeout(() => {
|
|
6031
|
-
const settingsMenu = document.getElementById('uvf-settings-menu');
|
|
6032
|
-
const accordionItem = settingsMenu?.querySelector(`[data-section="${section}"]`)?.parentElement;
|
|
6033
|
-
if (accordionItem) {
|
|
6034
|
-
accordionItem.classList.remove('expanded');
|
|
6035
|
-
}
|
|
6036
6118
|
this.generateAccordionMenu();
|
|
6037
6119
|
this.setupSettingsEventListeners();
|
|
6038
|
-
},
|
|
6120
|
+
}, 100);
|
|
6039
6121
|
}
|
|
6040
6122
|
updateSettingsActiveStates(className, activeElement) {
|
|
6041
6123
|
const settingsMenu = document.getElementById('uvf-settings-menu');
|