unified-video-framework 1.4.435 → 1.4.437
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/core/dist/version.d.ts +1 -1
- package/packages/core/dist/version.js +1 -1
- package/packages/core/src/version.ts +1 -1
- package/packages/web/dist/WebPlayer.d.ts +6 -0
- package/packages/web/dist/WebPlayer.d.ts.map +1 -1
- package/packages/web/dist/WebPlayer.js +236 -2
- package/packages/web/dist/WebPlayer.js.map +1 -1
- package/packages/web/dist/drm/systems/WidevineDRM.js +70 -6
- package/packages/web/dist/index.d.ts +1 -0
- package/packages/web/dist/index.d.ts.map +1 -1
- package/packages/web/dist/index.js.map +1 -1
- package/packages/web/dist/react/types/FlashNewsTickerTypes.d.ts +20 -0
- package/packages/web/dist/react/types/FlashNewsTickerTypes.d.ts.map +1 -1
- package/packages/web/src/WebPlayer.ts +280 -4
- package/packages/web/src/index.ts +11 -0
- package/packages/web/src/react/types/FlashNewsTickerTypes.ts +77 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "unified-video-framework",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.437",
|
|
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,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "1.4.
|
|
1
|
+
export declare const VERSION = "1.4.436";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const VERSION = '1.4.
|
|
1
|
+
export const VERSION = '1.4.436';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const VERSION = '1.4.
|
|
1
|
+
export const VERSION = '1.4.436';
|
|
@@ -162,6 +162,12 @@ export declare class WebPlayer extends BasePlayer {
|
|
|
162
162
|
setPlaybackRate(rate: number): void;
|
|
163
163
|
setFlashNewsTicker(config: FlashNewsTickerConfig): void;
|
|
164
164
|
private createTickerElement;
|
|
165
|
+
private createSimpleTickerElement;
|
|
166
|
+
private createBroadcastTickerElement;
|
|
167
|
+
private getBroadcastThemeColors;
|
|
168
|
+
private createGlobeElement;
|
|
169
|
+
private createLiveBadgeElement;
|
|
170
|
+
private ensureTickerAnimations;
|
|
165
171
|
private calculateTickerDuration;
|
|
166
172
|
setAutoQuality(enabled: boolean): void;
|
|
167
173
|
enterFullscreen(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebPlayer.d.ts","sourceRoot":"","sources":["../src/WebPlayer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAOL,OAAO,EACP,cAAc,EACf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,aAAa,EACb,aAAa,EACb,YAAY,EAEb,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,qBAAqB,
|
|
1
|
+
{"version":3,"file":"WebPlayer.d.ts","sourceRoot":"","sources":["../src/WebPlayer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1876,8 +1876,14 @@ export class WebPlayer extends BasePlayer {
|
|
|
1876
1876
|
}
|
|
1877
1877
|
}
|
|
1878
1878
|
createTickerElement(config, position) {
|
|
1879
|
+
if (config.styleVariant === 'broadcast') {
|
|
1880
|
+
return this.createBroadcastTickerElement(config, position);
|
|
1881
|
+
}
|
|
1882
|
+
return this.createSimpleTickerElement(config, position);
|
|
1883
|
+
}
|
|
1884
|
+
createSimpleTickerElement(config, position) {
|
|
1879
1885
|
const ticker = document.createElement('div');
|
|
1880
|
-
ticker.className = `uvf-flash-ticker ticker-${position}`;
|
|
1886
|
+
ticker.className = `uvf-flash-ticker ticker-${position} ticker-simple`;
|
|
1881
1887
|
const bottomOffset = config.bottomOffset || 0;
|
|
1882
1888
|
const topOffset = config.topOffset || 0;
|
|
1883
1889
|
const height = config.height || 40;
|
|
@@ -1952,6 +1958,223 @@ export class WebPlayer extends BasePlayer {
|
|
|
1952
1958
|
renderItems();
|
|
1953
1959
|
}
|
|
1954
1960
|
ticker.appendChild(track);
|
|
1961
|
+
this.ensureTickerAnimations();
|
|
1962
|
+
return ticker;
|
|
1963
|
+
}
|
|
1964
|
+
createBroadcastTickerElement(config, position) {
|
|
1965
|
+
const broadcastStyle = config.broadcastStyle || {};
|
|
1966
|
+
const theme = broadcastStyle.theme || 'breaking-red';
|
|
1967
|
+
const themeColors = this.getBroadcastThemeColors(theme, broadcastStyle);
|
|
1968
|
+
const ticker = document.createElement('div');
|
|
1969
|
+
ticker.className = `uvf-flash-ticker ticker-${position} ticker-broadcast`;
|
|
1970
|
+
const bottomOffset = config.bottomOffset || 0;
|
|
1971
|
+
const topOffset = config.topOffset || 0;
|
|
1972
|
+
const headerHeight = broadcastStyle.headerHeight || 28;
|
|
1973
|
+
const bodyHeight = config.height || 36;
|
|
1974
|
+
const totalHeight = headerHeight + bodyHeight;
|
|
1975
|
+
ticker.style.cssText = `
|
|
1976
|
+
position: absolute;
|
|
1977
|
+
left: 0;
|
|
1978
|
+
right: 0;
|
|
1979
|
+
height: ${totalHeight}px;
|
|
1980
|
+
${position === 'top' ? `top: ${topOffset}px;` : `bottom: ${bottomOffset}px;`}
|
|
1981
|
+
overflow: hidden;
|
|
1982
|
+
pointer-events: none;
|
|
1983
|
+
display: flex;
|
|
1984
|
+
flex-direction: column;
|
|
1985
|
+
`;
|
|
1986
|
+
const header = document.createElement('div');
|
|
1987
|
+
header.className = 'uvf-ticker-header';
|
|
1988
|
+
header.style.cssText = `
|
|
1989
|
+
display: flex;
|
|
1990
|
+
align-items: center;
|
|
1991
|
+
height: ${headerHeight}px;
|
|
1992
|
+
background: ${themeColors.headerBg};
|
|
1993
|
+
padding: 0 12px;
|
|
1994
|
+
position: relative;
|
|
1995
|
+
`;
|
|
1996
|
+
if (broadcastStyle.showGlobe !== false) {
|
|
1997
|
+
const globe = this.createGlobeElement(broadcastStyle.animateGlobe !== false);
|
|
1998
|
+
header.appendChild(globe);
|
|
1999
|
+
}
|
|
2000
|
+
const headerText = document.createElement('span');
|
|
2001
|
+
headerText.className = 'uvf-ticker-header-text';
|
|
2002
|
+
headerText.textContent = broadcastStyle.headerText || 'BREAKING NEWS';
|
|
2003
|
+
headerText.style.cssText = `
|
|
2004
|
+
color: ${broadcastStyle.headerTextColor || '#ffffff'};
|
|
2005
|
+
font-size: ${broadcastStyle.headerFontSize || 16}px;
|
|
2006
|
+
font-weight: 800;
|
|
2007
|
+
text-transform: uppercase;
|
|
2008
|
+
letter-spacing: 1px;
|
|
2009
|
+
margin-left: ${broadcastStyle.showGlobe !== false ? '8px' : '0'};
|
|
2010
|
+
text-shadow: 1px 1px 2px rgba(0,0,0,0.3);
|
|
2011
|
+
`;
|
|
2012
|
+
header.appendChild(headerText);
|
|
2013
|
+
if (broadcastStyle.showLiveBadge !== false) {
|
|
2014
|
+
const liveBadge = this.createLiveBadgeElement(broadcastStyle.pulseLiveBadge !== false);
|
|
2015
|
+
header.appendChild(liveBadge);
|
|
2016
|
+
}
|
|
2017
|
+
const body = document.createElement('div');
|
|
2018
|
+
body.className = 'uvf-ticker-body';
|
|
2019
|
+
body.style.cssText = `
|
|
2020
|
+
display: flex;
|
|
2021
|
+
align-items: center;
|
|
2022
|
+
height: ${bodyHeight}px;
|
|
2023
|
+
background: ${themeColors.bodyBg};
|
|
2024
|
+
overflow: hidden;
|
|
2025
|
+
position: relative;
|
|
2026
|
+
`;
|
|
2027
|
+
const track = document.createElement('div');
|
|
2028
|
+
track.className = 'uvf-ticker-track';
|
|
2029
|
+
const duration = this.calculateTickerDuration(config);
|
|
2030
|
+
track.style.cssText = `
|
|
2031
|
+
display: flex;
|
|
2032
|
+
white-space: nowrap;
|
|
2033
|
+
animation: ticker-scroll ${duration}s linear infinite;
|
|
2034
|
+
will-change: transform;
|
|
2035
|
+
padding-left: 100%;
|
|
2036
|
+
`;
|
|
2037
|
+
const containerWidth = this.container?.offsetWidth || 1920;
|
|
2038
|
+
const baseFontSize = config.fontSize || 14;
|
|
2039
|
+
let responsiveFontSize = baseFontSize;
|
|
2040
|
+
if (containerWidth < 768) {
|
|
2041
|
+
responsiveFontSize = Math.max(baseFontSize * 0.8, 12);
|
|
2042
|
+
}
|
|
2043
|
+
else if (containerWidth < 1280) {
|
|
2044
|
+
responsiveFontSize = Math.max(baseFontSize * 0.9, 13);
|
|
2045
|
+
}
|
|
2046
|
+
const renderItems = () => {
|
|
2047
|
+
if (!config.items)
|
|
2048
|
+
return;
|
|
2049
|
+
config.items.forEach((item) => {
|
|
2050
|
+
const span = document.createElement('span');
|
|
2051
|
+
if (item.html) {
|
|
2052
|
+
span.innerHTML = item.html;
|
|
2053
|
+
}
|
|
2054
|
+
else {
|
|
2055
|
+
span.textContent = item.text;
|
|
2056
|
+
}
|
|
2057
|
+
span.style.cssText = `
|
|
2058
|
+
color: ${config.textColor || '#ffffff'};
|
|
2059
|
+
font-size: ${responsiveFontSize}px;
|
|
2060
|
+
font-weight: ${config.fontWeight || 600};
|
|
2061
|
+
margin-right: ${config.gap || 100}px;
|
|
2062
|
+
display: inline-flex;
|
|
2063
|
+
align-items: center;
|
|
2064
|
+
`;
|
|
2065
|
+
track.appendChild(span);
|
|
2066
|
+
if (config.separator) {
|
|
2067
|
+
const sep = document.createElement('span');
|
|
2068
|
+
sep.textContent = config.separator;
|
|
2069
|
+
sep.style.cssText = `
|
|
2070
|
+
color: ${config.textColor || '#ffffff'};
|
|
2071
|
+
font-size: ${responsiveFontSize}px;
|
|
2072
|
+
opacity: 0.5;
|
|
2073
|
+
margin: 0 8px;
|
|
2074
|
+
`;
|
|
2075
|
+
track.appendChild(sep);
|
|
2076
|
+
}
|
|
2077
|
+
});
|
|
2078
|
+
};
|
|
2079
|
+
for (let i = 0; i < 10; i++) {
|
|
2080
|
+
renderItems();
|
|
2081
|
+
}
|
|
2082
|
+
body.appendChild(track);
|
|
2083
|
+
ticker.appendChild(header);
|
|
2084
|
+
ticker.appendChild(body);
|
|
2085
|
+
this.ensureTickerAnimations();
|
|
2086
|
+
return ticker;
|
|
2087
|
+
}
|
|
2088
|
+
getBroadcastThemeColors(theme, broadcastStyle) {
|
|
2089
|
+
switch (theme) {
|
|
2090
|
+
case 'breaking-red':
|
|
2091
|
+
return {
|
|
2092
|
+
headerBg: 'linear-gradient(90deg, #cc0000 0%, #ff0000 50%, #cc0000 100%)',
|
|
2093
|
+
bodyBg: 'linear-gradient(90deg, #1a237e 0%, #283593 50%, #1a237e 100%)'
|
|
2094
|
+
};
|
|
2095
|
+
case 'breaking-blue':
|
|
2096
|
+
return {
|
|
2097
|
+
headerBg: 'linear-gradient(90deg, #0d47a1 0%, #1565c0 50%, #0d47a1 100%)',
|
|
2098
|
+
bodyBg: 'linear-gradient(90deg, #1a1a2e 0%, #16213e 50%, #1a1a2e 100%)'
|
|
2099
|
+
};
|
|
2100
|
+
case 'alert-red':
|
|
2101
|
+
return {
|
|
2102
|
+
headerBg: 'linear-gradient(90deg, #b71c1c 0%, #d32f2f 50%, #b71c1c 100%)',
|
|
2103
|
+
bodyBg: 'linear-gradient(90deg, #7f0000 0%, #9a0000 50%, #7f0000 100%)'
|
|
2104
|
+
};
|
|
2105
|
+
case 'news-blue':
|
|
2106
|
+
return {
|
|
2107
|
+
headerBg: 'linear-gradient(90deg, #01579b 0%, #0277bd 50%, #01579b 100%)',
|
|
2108
|
+
bodyBg: 'linear-gradient(90deg, #002171 0%, #003c8f 50%, #002171 100%)'
|
|
2109
|
+
};
|
|
2110
|
+
case 'custom':
|
|
2111
|
+
return {
|
|
2112
|
+
headerBg: broadcastStyle.headerColor || '#cc0000',
|
|
2113
|
+
bodyBg: broadcastStyle.bodyColor || '#1a237e'
|
|
2114
|
+
};
|
|
2115
|
+
default:
|
|
2116
|
+
return {
|
|
2117
|
+
headerBg: 'linear-gradient(90deg, #cc0000 0%, #ff0000 50%, #cc0000 100%)',
|
|
2118
|
+
bodyBg: 'linear-gradient(90deg, #1a237e 0%, #283593 50%, #1a237e 100%)'
|
|
2119
|
+
};
|
|
2120
|
+
}
|
|
2121
|
+
}
|
|
2122
|
+
createGlobeElement(animate) {
|
|
2123
|
+
const globeContainer = document.createElement('div');
|
|
2124
|
+
globeContainer.className = 'uvf-ticker-globe';
|
|
2125
|
+
globeContainer.style.cssText = `
|
|
2126
|
+
width: 24px;
|
|
2127
|
+
height: 24px;
|
|
2128
|
+
position: relative;
|
|
2129
|
+
flex-shrink: 0;
|
|
2130
|
+
`;
|
|
2131
|
+
globeContainer.innerHTML = `
|
|
2132
|
+
<svg viewBox="0 0 24 24" fill="none" style="width: 100%; height: 100%; ${animate ? 'animation: globe-rotate 8s linear infinite;' : ''}">
|
|
2133
|
+
<circle cx="12" cy="12" r="10" stroke="#ffffff" stroke-width="1.5" fill="none"/>
|
|
2134
|
+
<ellipse cx="12" cy="12" rx="10" ry="4" stroke="#ffffff" stroke-width="1" fill="none"/>
|
|
2135
|
+
<ellipse cx="12" cy="12" rx="4" ry="10" stroke="#ffffff" stroke-width="1" fill="none"/>
|
|
2136
|
+
<line x1="2" y1="12" x2="22" y2="12" stroke="#ffffff" stroke-width="0.5"/>
|
|
2137
|
+
<line x1="12" y1="2" x2="12" y2="22" stroke="#ffffff" stroke-width="0.5"/>
|
|
2138
|
+
<path d="M4 8 Q12 6 20 8" stroke="#ffffff" stroke-width="0.5" fill="none"/>
|
|
2139
|
+
<path d="M4 16 Q12 18 20 16" stroke="#ffffff" stroke-width="0.5" fill="none"/>
|
|
2140
|
+
</svg>
|
|
2141
|
+
`;
|
|
2142
|
+
return globeContainer;
|
|
2143
|
+
}
|
|
2144
|
+
createLiveBadgeElement(pulse) {
|
|
2145
|
+
const badge = document.createElement('div');
|
|
2146
|
+
badge.className = 'uvf-ticker-live-badge';
|
|
2147
|
+
badge.style.cssText = `
|
|
2148
|
+
display: flex;
|
|
2149
|
+
align-items: center;
|
|
2150
|
+
margin-left: auto;
|
|
2151
|
+
padding: 2px 8px;
|
|
2152
|
+
background: #ff0000;
|
|
2153
|
+
border-radius: 3px;
|
|
2154
|
+
${pulse ? 'animation: live-pulse 1.5s ease-in-out infinite;' : ''}
|
|
2155
|
+
`;
|
|
2156
|
+
const dot = document.createElement('span');
|
|
2157
|
+
dot.style.cssText = `
|
|
2158
|
+
width: 8px;
|
|
2159
|
+
height: 8px;
|
|
2160
|
+
background: #ffffff;
|
|
2161
|
+
border-radius: 50%;
|
|
2162
|
+
margin-right: 4px;
|
|
2163
|
+
${pulse ? 'animation: dot-blink 1s ease-in-out infinite;' : ''}
|
|
2164
|
+
`;
|
|
2165
|
+
badge.appendChild(dot);
|
|
2166
|
+
const text = document.createElement('span');
|
|
2167
|
+
text.textContent = 'LIVE';
|
|
2168
|
+
text.style.cssText = `
|
|
2169
|
+
color: #ffffff;
|
|
2170
|
+
font-size: 11px;
|
|
2171
|
+
font-weight: 800;
|
|
2172
|
+
letter-spacing: 0.5px;
|
|
2173
|
+
`;
|
|
2174
|
+
badge.appendChild(text);
|
|
2175
|
+
return badge;
|
|
2176
|
+
}
|
|
2177
|
+
ensureTickerAnimations() {
|
|
1955
2178
|
if (!document.querySelector('#uvf-ticker-animation')) {
|
|
1956
2179
|
const style = document.createElement('style');
|
|
1957
2180
|
style.id = 'uvf-ticker-animation';
|
|
@@ -1960,10 +2183,21 @@ export class WebPlayer extends BasePlayer {
|
|
|
1960
2183
|
0% { transform: translateX(0%); }
|
|
1961
2184
|
100% { transform: translateX(-100%); }
|
|
1962
2185
|
}
|
|
2186
|
+
@keyframes globe-rotate {
|
|
2187
|
+
0% { transform: rotate(0deg); }
|
|
2188
|
+
100% { transform: rotate(360deg); }
|
|
2189
|
+
}
|
|
2190
|
+
@keyframes live-pulse {
|
|
2191
|
+
0%, 100% { opacity: 1; transform: scale(1); }
|
|
2192
|
+
50% { opacity: 0.85; transform: scale(1.02); }
|
|
2193
|
+
}
|
|
2194
|
+
@keyframes dot-blink {
|
|
2195
|
+
0%, 100% { opacity: 1; }
|
|
2196
|
+
50% { opacity: 0.3; }
|
|
2197
|
+
}
|
|
1963
2198
|
`;
|
|
1964
2199
|
document.head.appendChild(style);
|
|
1965
2200
|
}
|
|
1966
|
-
return ticker;
|
|
1967
2201
|
}
|
|
1968
2202
|
calculateTickerDuration(config) {
|
|
1969
2203
|
const speed = config.speed || 50;
|