unified-video-framework 1.4.442 → 1.4.444
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 +0 -3
- package/packages/web/dist/WebPlayer.d.ts.map +1 -1
- package/packages/web/dist/WebPlayer.js +0 -306
- package/packages/web/dist/WebPlayer.js.map +1 -1
- package/packages/web/dist/react/types/FlashNewsTickerTypes.d.ts +1 -1
- package/packages/web/dist/react/types/FlashNewsTickerTypes.d.ts.map +1 -1
- package/packages/web/src/WebPlayer.ts +0 -349
- package/packages/web/src/react/types/FlashNewsTickerTypes.ts +2 -5
|
@@ -118,7 +118,7 @@ export interface FlashNewsTickerConfig {
|
|
|
118
118
|
gap?: number;
|
|
119
119
|
loop?: boolean;
|
|
120
120
|
separator?: string;
|
|
121
|
-
variant?: 'standard' | 'breaking' | 'live' | 'broadcast1' | '
|
|
121
|
+
variant?: 'standard' | 'breaking' | 'live' | 'broadcast1' | 'custom';
|
|
122
122
|
badgeText?: string;
|
|
123
123
|
badgeColor?: string;
|
|
124
124
|
badgeTextColor?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FlashNewsTickerTypes.d.ts","sourceRoot":"","sources":["../../../src/react/types/FlashNewsTickerTypes.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"FlashNewsTickerTypes.d.ts","sourceRoot":"","sources":["../../../src/react/types/FlashNewsTickerTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -2577,9 +2577,6 @@ export class WebPlayer extends BasePlayer {
|
|
|
2577
2577
|
|
|
2578
2578
|
// Route to specific broadcast layouts
|
|
2579
2579
|
if (variant === 'broadcast1') return this.createBroadcast1Element(config, position);
|
|
2580
|
-
if (variant === 'broadcast2') return this.createBroadcast2Element(config, position);
|
|
2581
|
-
if (variant === 'broadcast3') return this.createBroadcast3Element(config, position);
|
|
2582
|
-
if (variant === 'broadcast4') return this.createBroadcast4Element(config, position);
|
|
2583
2580
|
|
|
2584
2581
|
// Route to specific broadcast style if configured (older style)
|
|
2585
2582
|
if (config.styleVariant === 'broadcast' || variant === 'breaking' || variant === 'live') {
|
|
@@ -2888,267 +2885,6 @@ export class WebPlayer extends BasePlayer {
|
|
|
2888
2885
|
const ticker = document.createElement('div');
|
|
2889
2886
|
ticker.className = `uvf-ticker-broadcast1 ticker-${position}`;
|
|
2890
2887
|
|
|
2891
|
-
const height = config.height || 70;
|
|
2892
|
-
const bottomOffset = config.bottomOffset || 0;
|
|
2893
|
-
const topOffset = config.topOffset || 10;
|
|
2894
|
-
|
|
2895
|
-
ticker.style.cssText = `
|
|
2896
|
-
position: absolute;
|
|
2897
|
-
left: 10%;
|
|
2898
|
-
right: 10%;
|
|
2899
|
-
height: ${height}px;
|
|
2900
|
-
${position === 'top' ? `top: ${topOffset}px;` : `bottom: ${bottomOffset}px;`}
|
|
2901
|
-
display: flex;
|
|
2902
|
-
font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
|
|
2903
|
-
z-index: 100;
|
|
2904
|
-
pointer-events: none;
|
|
2905
|
-
`;
|
|
2906
|
-
|
|
2907
|
-
// 1. Globe Block (Left)
|
|
2908
|
-
const globeBlock = document.createElement('div');
|
|
2909
|
-
globeBlock.style.cssText = `
|
|
2910
|
-
width: ${height * 1.2}px;
|
|
2911
|
-
height: ${height}px;
|
|
2912
|
-
background: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%);
|
|
2913
|
-
display: flex;
|
|
2914
|
-
align-items: center;
|
|
2915
|
-
justify-content: center;
|
|
2916
|
-
flex-shrink: 0;
|
|
2917
|
-
clip-path: polygon(0% 0%, 75% 0%, 100% 100%, 0% 100%);
|
|
2918
|
-
z-index: 20;
|
|
2919
|
-
box-shadow: 10px 0 20px rgba(0,0,0,0.4);
|
|
2920
|
-
position: relative;
|
|
2921
|
-
`;
|
|
2922
|
-
const globe = this.createGlobeElement(true);
|
|
2923
|
-
globe.style.width = '45%';
|
|
2924
|
-
globe.style.height = '45%';
|
|
2925
|
-
globe.style.marginRight = '15%'; // Offset from the angle
|
|
2926
|
-
globeBlock.appendChild(globe);
|
|
2927
|
-
ticker.appendChild(globeBlock);
|
|
2928
|
-
|
|
2929
|
-
// 2. Right Content (Dual Bars)
|
|
2930
|
-
const content = document.createElement('div');
|
|
2931
|
-
content.style.cssText = `
|
|
2932
|
-
flex-grow: 1;
|
|
2933
|
-
display: flex;
|
|
2934
|
-
flex-direction: column;
|
|
2935
|
-
margin-left: -${height * 0.3}px; /* Deeper overlap */
|
|
2936
|
-
z-index: 10;
|
|
2937
|
-
`;
|
|
2938
|
-
|
|
2939
|
-
// Row 1: Top Blue Bar (Headline)
|
|
2940
|
-
const topBar = document.createElement('div');
|
|
2941
|
-
topBar.style.cssText = `
|
|
2942
|
-
height: 55%;
|
|
2943
|
-
background: linear-gradient(90deg, #1e3c72 0%, #2a5298 50%, #1e3c72 100%);
|
|
2944
|
-
clip-path: polygon(5% 0, 100% 0, 98% 100%, 0% 100%);
|
|
2945
|
-
display: flex;
|
|
2946
|
-
align-items: center;
|
|
2947
|
-
padding: 0 40px 0 60px;
|
|
2948
|
-
color: white;
|
|
2949
|
-
border-bottom: 3px solid rgba(255,255,255,0.1);
|
|
2950
|
-
`;
|
|
2951
|
-
|
|
2952
|
-
const breakingText = document.createElement('span');
|
|
2953
|
-
breakingText.textContent = 'BREAKING NEWS';
|
|
2954
|
-
breakingText.style.cssText = `
|
|
2955
|
-
font-weight: 900;
|
|
2956
|
-
font-style: italic;
|
|
2957
|
-
font-size: ${height * 0.2}px;
|
|
2958
|
-
margin-right: 20px;
|
|
2959
|
-
white-space: nowrap;
|
|
2960
|
-
color: #fff;
|
|
2961
|
-
text-shadow: 0 0 10px rgba(255,255,255,0.5);
|
|
2962
|
-
`;
|
|
2963
|
-
topBar.appendChild(breakingText);
|
|
2964
|
-
|
|
2965
|
-
const headlineText = document.createElement('span');
|
|
2966
|
-
headlineText.textContent = config.headline || 'LOREM IPSUM DOLOR SIT AMET, CONSECTETUER';
|
|
2967
|
-
headlineText.style.cssText = `
|
|
2968
|
-
font-weight: 700;
|
|
2969
|
-
font-size: ${height * 0.25}px;
|
|
2970
|
-
white-space: nowrap;
|
|
2971
|
-
overflow: hidden;
|
|
2972
|
-
text-overflow: ellipsis;
|
|
2973
|
-
`;
|
|
2974
|
-
topBar.appendChild(headlineText);
|
|
2975
|
-
content.appendChild(topBar);
|
|
2976
|
-
|
|
2977
|
-
// Row 2: Bottom Black Bar (Scrolling Items)
|
|
2978
|
-
const bottomBar = document.createElement('div');
|
|
2979
|
-
bottomBar.style.cssText = `
|
|
2980
|
-
height: 45%;
|
|
2981
|
-
background: #0d0d0d;
|
|
2982
|
-
display: flex;
|
|
2983
|
-
align-items: center;
|
|
2984
|
-
clip-path: polygon(2% 0, 100% 0, 100% 100%, 0% 100%);
|
|
2985
|
-
border-top: 1px solid rgba(255,255,255,0.05);
|
|
2986
|
-
`;
|
|
2987
|
-
|
|
2988
|
-
const liveBadge = document.createElement('div');
|
|
2989
|
-
liveBadge.textContent = 'LIVE';
|
|
2990
|
-
liveBadge.style.cssText = `
|
|
2991
|
-
background: #f1c40f;
|
|
2992
|
-
color: #000;
|
|
2993
|
-
font-weight: 900;
|
|
2994
|
-
font-size: ${height * 0.16}px;
|
|
2995
|
-
padding: 2px 12px;
|
|
2996
|
-
margin-left: 50px;
|
|
2997
|
-
clip-path: polygon(0 0, 85% 0, 100% 100%, 0 100%);
|
|
2998
|
-
`;
|
|
2999
|
-
bottomBar.appendChild(liveBadge);
|
|
3000
|
-
|
|
3001
|
-
// Scrolling track
|
|
3002
|
-
const trackContainer = document.createElement('div');
|
|
3003
|
-
trackContainer.style.cssText = `flex-grow: 1; overflow: hidden; height: 100%; display: flex; align-items: center;`;
|
|
3004
|
-
const track = this.createSeamlessScrollingTrack(config.items || [], config);
|
|
3005
|
-
track.style.fontSize = `${height * 0.18}px`;
|
|
3006
|
-
track.style.color = '#fff';
|
|
3007
|
-
trackContainer.appendChild(track);
|
|
3008
|
-
bottomBar.appendChild(trackContainer);
|
|
3009
|
-
|
|
3010
|
-
content.appendChild(bottomBar);
|
|
3011
|
-
ticker.appendChild(content);
|
|
3012
|
-
|
|
3013
|
-
this.ensureTickerAnimations();
|
|
3014
|
-
return ticker;
|
|
3015
|
-
}
|
|
3016
|
-
|
|
3017
|
-
private createBroadcast2Element(config: FlashNewsTickerConfig, position: 'top' | 'bottom'): HTMLDivElement {
|
|
3018
|
-
const ticker = document.createElement('div');
|
|
3019
|
-
ticker.className = `uvf-ticker-broadcast2 ticker-${position}`;
|
|
3020
|
-
|
|
3021
|
-
const height = config.height || 75;
|
|
3022
|
-
const bottomOffset = config.bottomOffset || 0;
|
|
3023
|
-
const topOffset = config.topOffset || 10;
|
|
3024
|
-
|
|
3025
|
-
ticker.style.cssText = `
|
|
3026
|
-
position: absolute;
|
|
3027
|
-
left: 5%;
|
|
3028
|
-
right: 5%;
|
|
3029
|
-
bottom: ${bottomOffset}px;
|
|
3030
|
-
height: ${height}px;
|
|
3031
|
-
display: flex;
|
|
3032
|
-
align-items: flex-end;
|
|
3033
|
-
font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
|
|
3034
|
-
z-index: 100;
|
|
3035
|
-
pointer-events: none;
|
|
3036
|
-
`;
|
|
3037
|
-
|
|
3038
|
-
// Globe icon (floating on left, nested for z-index control)
|
|
3039
|
-
const globeWrapper = document.createElement('div');
|
|
3040
|
-
globeWrapper.style.cssText = `
|
|
3041
|
-
width: ${height * 0.75}px;
|
|
3042
|
-
height: ${height * 0.75}px;
|
|
3043
|
-
position: relative;
|
|
3044
|
-
z-index: 30;
|
|
3045
|
-
margin-right: 10px;
|
|
3046
|
-
flex-shrink: 0;
|
|
3047
|
-
`;
|
|
3048
|
-
|
|
3049
|
-
const globeContainer = document.createElement('div');
|
|
3050
|
-
globeContainer.style.cssText = `
|
|
3051
|
-
width: 100%;
|
|
3052
|
-
height: 100%;
|
|
3053
|
-
background: radial-gradient(circle, #e74c3c 0%, #c0392b 100%);
|
|
3054
|
-
border-radius: 50%;
|
|
3055
|
-
display: flex;
|
|
3056
|
-
align-items: center;
|
|
3057
|
-
justify-content: center;
|
|
3058
|
-
box-shadow: 0 0 25px rgba(0,0,0,0.6);
|
|
3059
|
-
border: 3px solid #fff;
|
|
3060
|
-
`;
|
|
3061
|
-
const globe = this.createGlobeElement(true);
|
|
3062
|
-
globe.style.width = '70%';
|
|
3063
|
-
globe.style.height = '70%';
|
|
3064
|
-
globeContainer.appendChild(globe);
|
|
3065
|
-
globeWrapper.appendChild(globeContainer);
|
|
3066
|
-
ticker.appendChild(globeWrapper);
|
|
3067
|
-
|
|
3068
|
-
const content = document.createElement('div');
|
|
3069
|
-
content.style.cssText = `flex-grow: 1; display: flex; flex-direction: column; z-index: 20;`;
|
|
3070
|
-
|
|
3071
|
-
// Row 1: Yellow/Red Header
|
|
3072
|
-
const row1 = document.createElement('div');
|
|
3073
|
-
row1.style.cssText = `display: flex; height: 50%;`;
|
|
3074
|
-
|
|
3075
|
-
const badge = document.createElement('div');
|
|
3076
|
-
badge.textContent = 'BREAKING NEWS';
|
|
3077
|
-
badge.style.cssText = `
|
|
3078
|
-
background: #f1c40f;
|
|
3079
|
-
color: black;
|
|
3080
|
-
font-weight: 900;
|
|
3081
|
-
padding: 0 25px;
|
|
3082
|
-
display: flex;
|
|
3083
|
-
align-items: center;
|
|
3084
|
-
clip-path: polygon(0 0, 85% 0, 100% 100%, 0 100%);
|
|
3085
|
-
font-size: ${height * 0.2}px;
|
|
3086
|
-
position: relative;
|
|
3087
|
-
z-index: 2;
|
|
3088
|
-
`;
|
|
3089
|
-
row1.appendChild(badge);
|
|
3090
|
-
|
|
3091
|
-
const headline = document.createElement('div');
|
|
3092
|
-
headline.textContent = config.headline || 'LOREM IPSUM DOLOR SIT AMET, CONSECTETUER';
|
|
3093
|
-
headline.style.cssText = `
|
|
3094
|
-
background: linear-gradient(90deg, #e74c3c 0%, #c1392b 100%);
|
|
3095
|
-
color: white;
|
|
3096
|
-
font-weight: 700;
|
|
3097
|
-
padding: 0 40px;
|
|
3098
|
-
display: flex;
|
|
3099
|
-
align-items: center;
|
|
3100
|
-
flex-grow: 1;
|
|
3101
|
-
margin-left: -20px;
|
|
3102
|
-
clip-path: polygon(5% 0, 100% 0, 95% 100%, 0 100%);
|
|
3103
|
-
font-size: ${height * 0.22}px;
|
|
3104
|
-
border-bottom: 2px solid rgba(255,255,255,0.2);
|
|
3105
|
-
`;
|
|
3106
|
-
row1.appendChild(headline);
|
|
3107
|
-
content.appendChild(row1);
|
|
3108
|
-
|
|
3109
|
-
// Row 2: Blue Ticker (Semi-transparent)
|
|
3110
|
-
const row2 = document.createElement('div');
|
|
3111
|
-
row2.style.cssText = `
|
|
3112
|
-
height: 40%;
|
|
3113
|
-
background: rgba(41, 128, 185, 0.9);
|
|
3114
|
-
display: flex;
|
|
3115
|
-
align-items: center;
|
|
3116
|
-
margin-top: 4px;
|
|
3117
|
-
clip-path: polygon(1% 0, 100% 0, 100% 100%, 2% 100%);
|
|
3118
|
-
backdrop-filter: blur(5px);
|
|
3119
|
-
`;
|
|
3120
|
-
|
|
3121
|
-
const live = document.createElement('div');
|
|
3122
|
-
live.textContent = 'LIVE';
|
|
3123
|
-
live.style.cssText = `
|
|
3124
|
-
background: white;
|
|
3125
|
-
color: #2980b9;
|
|
3126
|
-
font-weight: 900;
|
|
3127
|
-
padding: 0 15px;
|
|
3128
|
-
margin-left: 30px;
|
|
3129
|
-
margin-right: 15px;
|
|
3130
|
-
font-size: ${height * 0.16}px;
|
|
3131
|
-
box-shadow: 2px 0 5px rgba(0,0,0,0.2);
|
|
3132
|
-
`;
|
|
3133
|
-
row2.appendChild(live);
|
|
3134
|
-
|
|
3135
|
-
const trackCont = document.createElement('div');
|
|
3136
|
-
trackCont.style.cssText = `flex-grow: 1; overflow: hidden; height: 100%; display: flex; align-items: center; color: white;`;
|
|
3137
|
-
const track = this.createSeamlessScrollingTrack(config.items || [], config);
|
|
3138
|
-
track.style.fontSize = `${height * 0.16}px`;
|
|
3139
|
-
trackCont.appendChild(track);
|
|
3140
|
-
row2.appendChild(trackCont);
|
|
3141
|
-
content.appendChild(row2);
|
|
3142
|
-
|
|
3143
|
-
ticker.appendChild(content);
|
|
3144
|
-
this.ensureTickerAnimations();
|
|
3145
|
-
return ticker;
|
|
3146
|
-
}
|
|
3147
|
-
|
|
3148
|
-
private createBroadcast3Element(config: FlashNewsTickerConfig, position: 'top' | 'bottom'): HTMLDivElement {
|
|
3149
|
-
const ticker = document.createElement('div');
|
|
3150
|
-
ticker.className = `uvf-ticker-broadcast3 ticker-${position}`;
|
|
3151
|
-
|
|
3152
2888
|
const height = config.height || 60;
|
|
3153
2889
|
const bottomOffset = config.bottomOffset || 0;
|
|
3154
2890
|
const topOffset = config.topOffset || 10;
|
|
@@ -3237,91 +2973,6 @@ export class WebPlayer extends BasePlayer {
|
|
|
3237
2973
|
return ticker;
|
|
3238
2974
|
}
|
|
3239
2975
|
|
|
3240
|
-
private createBroadcast4Element(config: FlashNewsTickerConfig, position: 'top' | 'bottom'): HTMLDivElement {
|
|
3241
|
-
const ticker = document.createElement('div');
|
|
3242
|
-
ticker.className = `uvf-ticker-broadcast4 ticker-${position}`;
|
|
3243
|
-
|
|
3244
|
-
const height = config.height || 65;
|
|
3245
|
-
const bottomOffset = config.bottomOffset || 0;
|
|
3246
|
-
const topOffset = config.topOffset || 10;
|
|
3247
|
-
|
|
3248
|
-
ticker.style.cssText = `
|
|
3249
|
-
position: absolute;
|
|
3250
|
-
left: 15%;
|
|
3251
|
-
right: 15%;
|
|
3252
|
-
bottom: ${bottomOffset}px;
|
|
3253
|
-
height: ${height}px;
|
|
3254
|
-
display: flex;
|
|
3255
|
-
align-items: flex-end;
|
|
3256
|
-
font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
|
|
3257
|
-
z-index: 100;
|
|
3258
|
-
pointer-events: none;
|
|
3259
|
-
`;
|
|
3260
|
-
|
|
3261
|
-
// Large Blue Box
|
|
3262
|
-
const newsBox = document.createElement('div');
|
|
3263
|
-
newsBox.style.cssText = `
|
|
3264
|
-
width: ${height * 1.6}px;
|
|
3265
|
-
height: 100%;
|
|
3266
|
-
background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
|
|
3267
|
-
display: flex;
|
|
3268
|
-
flex-direction: column;
|
|
3269
|
-
justify-content: center;
|
|
3270
|
-
align-items: center;
|
|
3271
|
-
position: relative;
|
|
3272
|
-
clip-path: polygon(0 0, 100% 0, 85% 100%, 0 100%);
|
|
3273
|
-
flex-shrink: 0;
|
|
3274
|
-
z-index: 30;
|
|
3275
|
-
box-shadow: 5px 0 15px rgba(0,0,0,0.4);
|
|
3276
|
-
`;
|
|
3277
|
-
|
|
3278
|
-
const bt = document.createElement('div');
|
|
3279
|
-
bt.style.cssText = `display: flex; gap: 5px; margin-bottom: 2px; width: 100%; justify-content: center; padding-right: 15%;`;
|
|
3280
|
-
|
|
3281
|
-
const b1 = document.createElement('span');
|
|
3282
|
-
b1.textContent = 'BREAKING';
|
|
3283
|
-
b1.style.cssText = `background: #c0392b; font-size: ${height * 0.14}px; font-weight: 900; padding: 2px 6px; border-radius: 2px; color: white;`;
|
|
3284
|
-
bt.appendChild(b1);
|
|
3285
|
-
|
|
3286
|
-
const b2 = document.createElement('span');
|
|
3287
|
-
b2.textContent = 'LIVE';
|
|
3288
|
-
b2.style.cssText = `background: #f1c40f; font-size: ${height * 0.14}px; font-weight: 900; padding: 2px 6px; border-radius: 2px; color: black;`;
|
|
3289
|
-
bt.appendChild(b2);
|
|
3290
|
-
newsBox.appendChild(bt);
|
|
3291
|
-
|
|
3292
|
-
const nt = document.createElement('div');
|
|
3293
|
-
nt.textContent = 'NEWS';
|
|
3294
|
-
nt.style.cssText = `font-size: ${height * 0.45}px; font-weight: 900; color: white; letter-spacing: 4px; padding-right: 15%; line-height: 1;`;
|
|
3295
|
-
newsBox.appendChild(nt);
|
|
3296
|
-
ticker.appendChild(newsBox);
|
|
3297
|
-
|
|
3298
|
-
// Red Scrolling Bar
|
|
3299
|
-
const redBar = document.createElement('div');
|
|
3300
|
-
redBar.style.cssText = `
|
|
3301
|
-
flex-grow: 1;
|
|
3302
|
-
height: 50%;
|
|
3303
|
-
background: linear-gradient(90deg, #c0392b 0%, #e74c3c 100%);
|
|
3304
|
-
margin-left: -${height * 0.2}px;
|
|
3305
|
-
display: flex;
|
|
3306
|
-
align-items: center;
|
|
3307
|
-
padding-left: ${height * 0.3}px;
|
|
3308
|
-
padding-right: 20px;
|
|
3309
|
-
clip-path: polygon(5% 0, 100% 0, 100% 100%, 0 100%);
|
|
3310
|
-
z-index: 20;
|
|
3311
|
-
`;
|
|
3312
|
-
|
|
3313
|
-
const tCont = document.createElement('div');
|
|
3314
|
-
tCont.style.cssText = `flex-grow: 1; overflow: hidden; height: 100%; display: flex; align-items: center; color: white;`;
|
|
3315
|
-
const track = this.createSeamlessScrollingTrack(config.items || [], config);
|
|
3316
|
-
track.style.fontSize = `${height * 0.22}px`;
|
|
3317
|
-
track.style.fontWeight = '700';
|
|
3318
|
-
tCont.appendChild(track);
|
|
3319
|
-
redBar.appendChild(tCont);
|
|
3320
|
-
ticker.appendChild(redBar);
|
|
3321
|
-
|
|
3322
|
-
this.ensureTickerAnimations();
|
|
3323
|
-
return ticker;
|
|
3324
|
-
}
|
|
3325
2976
|
|
|
3326
2977
|
private createSeamlessScrollingTrack(items: FlashNewsTickerItem[], config: FlashNewsTickerConfig): HTMLDivElement {
|
|
3327
2978
|
const track = document.createElement('div');
|
|
@@ -434,13 +434,10 @@ export interface FlashNewsTickerConfig {
|
|
|
434
434
|
* - 'standard': Original simple scrolling ticker
|
|
435
435
|
* - 'breaking': Red badge + gradient (TV style)
|
|
436
436
|
* - 'live': Yellow/Black badge + gradient (TV style)
|
|
437
|
-
* - 'broadcast1':
|
|
438
|
-
* - 'broadcast2': Yellow/Red/Blue dual-bar layout with globe
|
|
439
|
-
* - 'broadcast3': Triple-segment single bar (Red/Blue/Black)
|
|
440
|
-
* - 'broadcast4': Blue box "NEWS" + Red scrolling bar
|
|
437
|
+
* - 'broadcast1': Triple-segment single bar (Red/Blue/Black)
|
|
441
438
|
* - 'custom': User-defined colors and badges
|
|
442
439
|
*/
|
|
443
|
-
variant?: 'standard' | 'breaking' | 'live' | 'broadcast1' | '
|
|
440
|
+
variant?: 'standard' | 'breaking' | 'live' | 'broadcast1' | 'custom';
|
|
444
441
|
|
|
445
442
|
/** Fixed badge text (e.g. "BREAKING NEWS") */
|
|
446
443
|
badgeText?: string;
|