unified-video-framework 1.4.439 → 1.4.441

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.439",
3
+ "version": "1.4.441",
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.439";
1
+ export declare const VERSION = "1.4.441";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,2 +1,2 @@
1
- export const VERSION = '1.4.439';
1
+ export const VERSION = '1.4.441';
2
2
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- export const VERSION = '1.4.439';
1
+ export const VERSION = '1.4.441';
@@ -178,6 +178,11 @@ export declare class WebPlayer extends BasePlayer {
178
178
  private createSimpleTickerElement;
179
179
  private createBroadcastTickerElement;
180
180
  private getBroadcastThemeColors;
181
+ private createBroadcast1Element;
182
+ private createBroadcast2Element;
183
+ private createBroadcast3Element;
184
+ private createBroadcast4Element;
185
+ private createSeamlessScrollingTrack;
181
186
  private createGlobeElement;
182
187
  private createLiveBadgeElement;
183
188
  private ensureTickerAnimations;
@@ -196,6 +201,8 @@ export declare class WebPlayer extends BasePlayer {
196
201
  private animateProgress;
197
202
  private transitionToNextItem;
198
203
  private applyItemTransition;
204
+ private formatHeadlineText;
205
+ private escapeHtml;
199
206
  private updateItemContent;
200
207
  setAutoQuality(enabled: boolean): void;
201
208
  enterFullscreen(): Promise<void>;
@@ -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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"}
@@ -1949,7 +1949,16 @@ export class WebPlayer extends BasePlayer {
1949
1949
  }
1950
1950
  }
1951
1951
  createTickerElement(config, position) {
1952
- if (config.styleVariant === 'broadcast') {
1952
+ const variant = config.variant || 'standard';
1953
+ if (variant === 'broadcast1')
1954
+ return this.createBroadcast1Element(config, position);
1955
+ if (variant === 'broadcast2')
1956
+ return this.createBroadcast2Element(config, position);
1957
+ if (variant === 'broadcast3')
1958
+ return this.createBroadcast3Element(config, position);
1959
+ if (variant === 'broadcast4')
1960
+ return this.createBroadcast4Element(config, position);
1961
+ if (config.styleVariant === 'broadcast' || variant === 'breaking' || variant === 'live') {
1953
1962
  const layoutStyle = config.broadcastStyle?.layoutStyle || 'broadcast';
1954
1963
  if (layoutStyle === 'two-line' || layoutStyle === 'professional') {
1955
1964
  return this.createProfessionalTickerElement(config, position);
@@ -2196,6 +2205,381 @@ export class WebPlayer extends BasePlayer {
2196
2205
  };
2197
2206
  }
2198
2207
  }
2208
+ createBroadcast1Element(config, position) {
2209
+ const ticker = document.createElement('div');
2210
+ ticker.className = `uvf-ticker-broadcast1 ticker-${position}`;
2211
+ const height = config.height || 70;
2212
+ const bottomOffset = config.bottomOffset || 0;
2213
+ const topOffset = config.topOffset || 10;
2214
+ ticker.style.cssText = `
2215
+ position: absolute;
2216
+ left: 10%;
2217
+ right: 10%;
2218
+ height: ${height}px;
2219
+ ${position === 'top' ? `top: ${topOffset}px;` : `bottom: ${bottomOffset}px;`}
2220
+ display: flex;
2221
+ font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
2222
+ z-index: 100;
2223
+ pointer-events: none;
2224
+ `;
2225
+ const globeBlock = document.createElement('div');
2226
+ globeBlock.style.cssText = `
2227
+ width: ${height}px;
2228
+ height: ${height}px;
2229
+ background: linear-gradient(135deg, #cc0000 0%, #880000 100%);
2230
+ display: flex;
2231
+ align-items: center;
2232
+ justify-content: center;
2233
+ flex-shrink: 0;
2234
+ clip-path: polygon(0 0, 85% 0, 100% 100%, 0 100%);
2235
+ z-index: 10;
2236
+ box-shadow: 5px 0 15px rgba(0,0,0,0.5);
2237
+ `;
2238
+ const globe = this.createGlobeElement(true);
2239
+ globe.style.width = '60%';
2240
+ globe.style.height = '60%';
2241
+ globeBlock.appendChild(globe);
2242
+ ticker.appendChild(globeBlock);
2243
+ const content = document.createElement('div');
2244
+ content.style.cssText = `
2245
+ flex-grow: 1;
2246
+ display: flex;
2247
+ flex-direction: column;
2248
+ margin-left: -${height * 0.15}px;
2249
+ `;
2250
+ const topBar = document.createElement('div');
2251
+ topBar.style.cssText = `
2252
+ height: 60%;
2253
+ background: linear-gradient(90deg, #1e3c72 0%, #2a5298 100%);
2254
+ clip-path: polygon(5% 0, 100% 0, 98% 100%, 0% 100%);
2255
+ display: flex;
2256
+ align-items: center;
2257
+ padding: 0 40px;
2258
+ color: white;
2259
+ `;
2260
+ const breakingText = document.createElement('span');
2261
+ breakingText.textContent = 'BREAKING NEWS';
2262
+ breakingText.style.cssText = `
2263
+ font-weight: 900;
2264
+ font-style: italic;
2265
+ font-size: ${height * 0.22}px;
2266
+ margin-right: 20px;
2267
+ border-bottom: 2px solid white;
2268
+ `;
2269
+ topBar.appendChild(breakingText);
2270
+ const headlineText = document.createElement('span');
2271
+ headlineText.textContent = config.headline || 'LOREM IPSUM DOLOR SIT AMET, CONSECTETUER';
2272
+ headlineText.style.cssText = `
2273
+ font-weight: 700;
2274
+ font-size: ${height * 0.25}px;
2275
+ white-space: nowrap;
2276
+ overflow: hidden;
2277
+ text-overflow: ellipsis;
2278
+ `;
2279
+ topBar.appendChild(headlineText);
2280
+ content.appendChild(topBar);
2281
+ const bottomBar = document.createElement('div');
2282
+ bottomBar.style.cssText = `
2283
+ height: 40%;
2284
+ background: #000;
2285
+ display: flex;
2286
+ align-items: center;
2287
+ clip-path: polygon(1% 0, 100% 0, 100% 100%, 0% 100%);
2288
+ `;
2289
+ const liveBadge = document.createElement('div');
2290
+ liveBadge.textContent = 'LIVE';
2291
+ liveBadge.style.cssText = `
2292
+ background: #f1c40f;
2293
+ color: black;
2294
+ font-weight: 900;
2295
+ font-size: ${height * 0.15}px;
2296
+ padding: 2px 10px;
2297
+ margin-left: 20px;
2298
+ clip-path: polygon(0 0, 90% 0, 100% 100%, 0 100%);
2299
+ `;
2300
+ bottomBar.appendChild(liveBadge);
2301
+ const trackContainer = document.createElement('div');
2302
+ trackContainer.style.cssText = `flex-grow: 1; overflow: hidden; height: 100%; display: flex; align-items: center;`;
2303
+ const track = this.createSeamlessScrollingTrack(config.items || [], config);
2304
+ track.style.fontSize = `${height * 0.18}px`;
2305
+ trackContainer.appendChild(track);
2306
+ bottomBar.appendChild(trackContainer);
2307
+ content.appendChild(bottomBar);
2308
+ ticker.appendChild(content);
2309
+ this.ensureTickerAnimations();
2310
+ return ticker;
2311
+ }
2312
+ createBroadcast2Element(config, position) {
2313
+ const ticker = document.createElement('div');
2314
+ ticker.className = `uvf-ticker-broadcast2 ticker-${position}`;
2315
+ const height = config.height || 75;
2316
+ const bottomOffset = config.bottomOffset || 0;
2317
+ const topOffset = config.topOffset || 10;
2318
+ ticker.style.cssText = `
2319
+ position: absolute;
2320
+ left: 5%;
2321
+ right: 5%;
2322
+ height: ${height}px;
2323
+ ${position === 'top' ? `top: ${topOffset}px;` : `bottom: ${bottomOffset}px;`}
2324
+ display: flex;
2325
+ align-items: flex-end;
2326
+ font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
2327
+ z-index: 100;
2328
+ pointer-events: none;
2329
+ `;
2330
+ const globeContainer = document.createElement('div');
2331
+ globeContainer.style.cssText = `
2332
+ width: ${height * 0.8}px;
2333
+ height: ${height * 0.8}px;
2334
+ background: rgba(255,255,255,0.1);
2335
+ border-radius: 50%;
2336
+ display: flex;
2337
+ align-items: center;
2338
+ justify-content: center;
2339
+ margin-right: 15px;
2340
+ box-shadow: 0 0 20px rgba(0,0,0,0.5);
2341
+ border: 2px solid rgba(255,255,255,0.2);
2342
+ `;
2343
+ const globe = this.createGlobeElement(true);
2344
+ globe.style.width = '70%';
2345
+ globe.style.height = '70%';
2346
+ globeContainer.appendChild(globe);
2347
+ ticker.appendChild(globeContainer);
2348
+ const content = document.createElement('div');
2349
+ content.style.cssText = `flex-grow: 1; display: flex; flex-direction: column;`;
2350
+ const row1 = document.createElement('div');
2351
+ row1.style.cssText = `display: flex; height: 50%;`;
2352
+ const badge = document.createElement('div');
2353
+ badge.textContent = 'BREAKING NEWS';
2354
+ badge.style.cssText = `
2355
+ background: #f1c40f;
2356
+ color: black;
2357
+ font-weight: 900;
2358
+ padding: 0 20px;
2359
+ display: flex;
2360
+ align-items: center;
2361
+ clip-path: polygon(0 0, 90% 0, 100% 100%, 0 100%);
2362
+ font-size: ${height * 0.18}px;
2363
+ `;
2364
+ row1.appendChild(badge);
2365
+ const headline = document.createElement('div');
2366
+ headline.textContent = config.headline || 'LOREM IPSUM DOLOR SIT AMET, CONSECTETUER';
2367
+ headline.style.cssText = `
2368
+ background: #e74c3c;
2369
+ color: white;
2370
+ font-weight: 700;
2371
+ padding: 0 30px;
2372
+ display: flex;
2373
+ align-items: center;
2374
+ flex-grow: 1;
2375
+ margin-left: -10px;
2376
+ clip-path: polygon(2% 0, 100% 0, 98% 100%, 0 100%);
2377
+ font-size: ${height * 0.22}px;
2378
+ `;
2379
+ row1.appendChild(headline);
2380
+ content.appendChild(row1);
2381
+ const row2 = document.createElement('div');
2382
+ row2.style.cssText = `
2383
+ height: 40%;
2384
+ background: #2980b9;
2385
+ display: flex;
2386
+ align-items: center;
2387
+ margin-top: 2px;
2388
+ clip-path: polygon(0 0, 100% 0, 100% 100%, 1% 100%);
2389
+ `;
2390
+ const live = document.createElement('div');
2391
+ live.textContent = 'LIVE';
2392
+ live.style.cssText = `
2393
+ background: white;
2394
+ color: #2980b9;
2395
+ font-weight: 900;
2396
+ padding: 0 15px;
2397
+ margin: 0 10px;
2398
+ font-size: ${height * 0.15}px;
2399
+ `;
2400
+ row2.appendChild(live);
2401
+ const trackCont = document.createElement('div');
2402
+ trackCont.style.cssText = `flex-grow: 1; overflow: hidden; height: 100%; display: flex; align-items: center; color: white;`;
2403
+ const track = this.createSeamlessScrollingTrack(config.items || [], config);
2404
+ track.style.fontSize = `${height * 0.16}px`;
2405
+ trackCont.appendChild(track);
2406
+ row2.appendChild(trackCont);
2407
+ content.appendChild(row2);
2408
+ ticker.appendChild(content);
2409
+ this.ensureTickerAnimations();
2410
+ return ticker;
2411
+ }
2412
+ createBroadcast3Element(config, position) {
2413
+ const ticker = document.createElement('div');
2414
+ ticker.className = `uvf-ticker-broadcast3 ticker-${position}`;
2415
+ const height = config.height || 60;
2416
+ const bottomOffset = config.bottomOffset || 0;
2417
+ const topOffset = config.topOffset || 10;
2418
+ ticker.style.cssText = `
2419
+ position: absolute;
2420
+ left: 10%;
2421
+ right: 10%;
2422
+ height: ${height}px;
2423
+ ${position === 'top' ? `top: ${topOffset}px;` : `bottom: ${bottomOffset}px;`}
2424
+ display: flex;
2425
+ flex-direction: column;
2426
+ font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
2427
+ z-index: 100;
2428
+ pointer-events: none;
2429
+ `;
2430
+ const row1 = document.createElement('div');
2431
+ row1.style.cssText = `display: flex; height: 55%;`;
2432
+ const b1 = document.createElement('div');
2433
+ b1.textContent = 'BREAKING NEWS';
2434
+ b1.style.cssText = `
2435
+ background: #c0392b;
2436
+ color: white;
2437
+ font-weight: 900;
2438
+ padding: 0 20px;
2439
+ display: flex;
2440
+ align-items: center;
2441
+ clip-path: polygon(0 0, 95% 0, 100% 100%, 0 100%);
2442
+ font-size: ${height * 0.22}px;
2443
+ `;
2444
+ row1.appendChild(b1);
2445
+ const b2 = document.createElement('div');
2446
+ b2.textContent = config.headline || 'LOREM IPSUM DOLOR SIT AMET, CONS';
2447
+ b2.style.cssText = `
2448
+ background: #2980b9;
2449
+ color: white;
2450
+ font-weight: 700;
2451
+ padding: 0 30px;
2452
+ display: flex;
2453
+ align-items: center;
2454
+ flex-grow: 1;
2455
+ margin-left: -10px;
2456
+ clip-path: polygon(2% 0, 100% 0, 98% 100%, 0 100%);
2457
+ font-size: ${height * 0.25}px;
2458
+ `;
2459
+ row1.appendChild(b2);
2460
+ ticker.appendChild(row1);
2461
+ const row2 = document.createElement('div');
2462
+ row2.style.cssText = `
2463
+ height: 35%;
2464
+ background: #111;
2465
+ display: flex;
2466
+ align-items: center;
2467
+ margin-top: 2px;
2468
+ clip-path: polygon(1% 0, 99% 0, 100% 100%, 0 100%);
2469
+ `;
2470
+ const lbadge = document.createElement('div');
2471
+ lbadge.textContent = 'LIVE';
2472
+ lbadge.style.cssText = `
2473
+ background: #f1c40f;
2474
+ color: black;
2475
+ font-weight: 900;
2476
+ padding: 0 10px;
2477
+ margin: 0 15px;
2478
+ font-size: ${height * 0.15}px;
2479
+ clip-path: polygon(0 0, 90% 0, 100% 100%, 0 100%);
2480
+ `;
2481
+ row2.appendChild(lbadge);
2482
+ const tCont = document.createElement('div');
2483
+ tCont.style.cssText = `flex-grow: 1; overflow: hidden; height: 100%; display: flex; align-items: center; color: white;`;
2484
+ const track = this.createSeamlessScrollingTrack(config.items || [], config);
2485
+ track.style.fontSize = `${height * 0.16}px`;
2486
+ tCont.appendChild(track);
2487
+ row2.appendChild(tCont);
2488
+ ticker.appendChild(row2);
2489
+ this.ensureTickerAnimations();
2490
+ return ticker;
2491
+ }
2492
+ createBroadcast4Element(config, position) {
2493
+ const ticker = document.createElement('div');
2494
+ ticker.className = `uvf-ticker-broadcast4 ticker-${position}`;
2495
+ const height = config.height || 65;
2496
+ const bottomOffset = config.bottomOffset || 0;
2497
+ const topOffset = config.topOffset || 10;
2498
+ ticker.style.cssText = `
2499
+ position: absolute;
2500
+ left: 15%;
2501
+ right: 15%;
2502
+ height: ${height}px;
2503
+ ${position === 'top' ? `top: ${topOffset}px;` : `bottom: ${bottomOffset}px;`}
2504
+ display: flex;
2505
+ align-items: flex-end;
2506
+ font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
2507
+ z-index: 100;
2508
+ pointer-events: none;
2509
+ `;
2510
+ const newsBox = document.createElement('div');
2511
+ newsBox.style.cssText = `
2512
+ width: ${height * 1.5}px;
2513
+ height: 100%;
2514
+ background: #1e3c72;
2515
+ display: flex;
2516
+ flex-direction: column;
2517
+ justify-content: center;
2518
+ padding-left: 15px;
2519
+ position: relative;
2520
+ clip-path: polygon(0 0, 100% 0, 95% 100%, 0 100%);
2521
+ flex-shrink: 0;
2522
+ `;
2523
+ const bt = document.createElement('div');
2524
+ bt.style.cssText = `display: flex; gap: 5px; margin-bottom: 5px;`;
2525
+ const b1 = document.createElement('span');
2526
+ b1.textContent = 'BREAKING';
2527
+ b1.style.cssText = `background: #c0392b; font-size: 10px; font-weight: 800; padding: 2px 5px; border-radius: 2px; color: white;`;
2528
+ bt.appendChild(b1);
2529
+ const b2 = document.createElement('span');
2530
+ b2.textContent = 'LIVE';
2531
+ b2.style.cssText = `background: #f1c40f; font-size: 10px; font-weight: 800; padding: 2px 5px; border-radius: 2px; color: black;`;
2532
+ bt.appendChild(b2);
2533
+ newsBox.appendChild(bt);
2534
+ const nt = document.createElement('div');
2535
+ nt.textContent = 'NEWS';
2536
+ nt.style.cssText = `font-size: ${height * 0.4}px; font-weight: 900; color: white; letter-spacing: 2px;`;
2537
+ newsBox.appendChild(nt);
2538
+ ticker.appendChild(newsBox);
2539
+ const redBar = document.createElement('div');
2540
+ redBar.style.cssText = `
2541
+ flex-grow: 1;
2542
+ height: 50%;
2543
+ background: #c0392b;
2544
+ margin-left: -${height * 0.1}px;
2545
+ display: flex;
2546
+ align-items: center;
2547
+ padding-left: 20px;
2548
+ clip-path: polygon(2% 0, 100% 0, 100% 100%, 0 100%);
2549
+ `;
2550
+ const tCont = document.createElement('div');
2551
+ tCont.style.cssText = `flex-grow: 1; overflow: hidden; height: 100%; display: flex; align-items: center; color: white;`;
2552
+ const track = this.createSeamlessScrollingTrack(config.items || [], config);
2553
+ track.style.fontSize = `${height * 0.25}px`;
2554
+ track.style.fontWeight = '700';
2555
+ tCont.appendChild(track);
2556
+ redBar.appendChild(tCont);
2557
+ ticker.appendChild(redBar);
2558
+ this.ensureTickerAnimations();
2559
+ return ticker;
2560
+ }
2561
+ createSeamlessScrollingTrack(items, config) {
2562
+ const track = document.createElement('div');
2563
+ track.className = 'uvf-ticker-track-seamless';
2564
+ const duration = this.calculateTickerDuration(config);
2565
+ track.style.cssText = `
2566
+ display: flex;
2567
+ white-space: nowrap;
2568
+ animation: ticker-scroll ${duration}s linear infinite;
2569
+ will-change: transform;
2570
+ padding-left: 50%;
2571
+ `;
2572
+ const content = items.map(item => item.html || item.text).join(config.separator || ' • ');
2573
+ const span1 = document.createElement('span');
2574
+ span1.innerHTML = content;
2575
+ span1.style.paddingRight = `${config.gap || 100}px`;
2576
+ const span2 = document.createElement('span');
2577
+ span2.innerHTML = content;
2578
+ span2.style.paddingRight = `${config.gap || 100}px`;
2579
+ track.appendChild(span1);
2580
+ track.appendChild(span2);
2581
+ return track;
2582
+ }
2199
2583
  createGlobeElement(animate) {
2200
2584
  const globeContainer = document.createElement('div');
2201
2585
  globeContainer.className = 'uvf-ticker-globe';
@@ -2559,11 +2943,12 @@ export class WebPlayer extends BasePlayer {
2559
2943
  headlineLine.style.cssText = `
2560
2944
  display: flex;
2561
2945
  align-items: center;
2946
+ justify-content: center;
2562
2947
  min-height: ${topLineHeight}px;
2563
2948
  padding: ${topLineConfig.padding || 8}px 12px;
2564
2949
  background: ${topLineConfig.backgroundColor || 'transparent'};
2565
2950
  overflow: hidden;
2566
- ${topLineMultiLine ? '' : 'white-space: nowrap;'}
2951
+ text-align: center;
2567
2952
  `;
2568
2953
  const headlineText = document.createElement('span');
2569
2954
  headlineText.className = 'uvf-ticker-headline-text';
@@ -2572,6 +2957,8 @@ export class WebPlayer extends BasePlayer {
2572
2957
  font-size: ${topLineFontSize}px;
2573
2958
  font-weight: 700;
2574
2959
  line-height: ${topLineLineHeight};
2960
+ text-align: center;
2961
+ width: 100%;
2575
2962
  ${topLineMultiLine ? `
2576
2963
  display: -webkit-box;
2577
2964
  -webkit-line-clamp: ${topLineMaxLines};
@@ -2587,14 +2974,12 @@ export class WebPlayer extends BasePlayer {
2587
2974
  `}
2588
2975
  `;
2589
2976
  if (firstItem) {
2977
+ const headlineContent = firstItem.headline || firstItem.text;
2590
2978
  if (firstItem.headlineHtml) {
2591
- headlineText.innerHTML = firstItem.headlineHtml;
2979
+ headlineText.innerHTML = this.formatHeadlineText(firstItem.headlineHtml, topLineConfig, true);
2592
2980
  }
2593
- else if (firstItem.headline) {
2594
- headlineText.textContent = firstItem.headline;
2595
- }
2596
- else {
2597
- headlineText.textContent = firstItem.text;
2981
+ else if (headlineContent) {
2982
+ headlineText.innerHTML = this.formatHeadlineText(headlineContent, topLineConfig, false);
2598
2983
  }
2599
2984
  }
2600
2985
  headlineLine.appendChild(headlineText);
@@ -2840,17 +3225,53 @@ export class WebPlayer extends BasePlayer {
2840
3225
  }, duration / 2);
2841
3226
  });
2842
3227
  }
3228
+ formatHeadlineText(text, topLineConfig, isHtml = false) {
3229
+ if (!topLineConfig.forceMultiLine) {
3230
+ return isHtml ? text : this.escapeHtml(text);
3231
+ }
3232
+ let breakPosition;
3233
+ const breakAt = topLineConfig.breakAt || '50%';
3234
+ if (typeof breakAt === 'string' && breakAt.endsWith('%')) {
3235
+ const percentage = parseFloat(breakAt) / 100;
3236
+ breakPosition = Math.floor(text.length * percentage);
3237
+ }
3238
+ else {
3239
+ breakPosition = typeof breakAt === 'number' ? breakAt : Math.floor(text.length / 2);
3240
+ }
3241
+ let actualBreakPos = breakPosition;
3242
+ const searchRange = Math.min(15, Math.floor(text.length / 4));
3243
+ for (let i = 0; i <= searchRange; i++) {
3244
+ if (breakPosition + i < text.length && text[breakPosition + i] === ' ') {
3245
+ actualBreakPos = breakPosition + i;
3246
+ break;
3247
+ }
3248
+ if (breakPosition - i >= 0 && text[breakPosition - i] === ' ') {
3249
+ actualBreakPos = breakPosition - i;
3250
+ break;
3251
+ }
3252
+ }
3253
+ const line1 = text.substring(0, actualBreakPos).trim();
3254
+ const line2 = text.substring(actualBreakPos).trim();
3255
+ if (isHtml) {
3256
+ return `${line1}<br>${line2}`;
3257
+ }
3258
+ return `${this.escapeHtml(line1)}<br>${this.escapeHtml(line2)}`;
3259
+ }
3260
+ escapeHtml(text) {
3261
+ const div = document.createElement('div');
3262
+ div.textContent = text;
3263
+ return div.innerHTML;
3264
+ }
2843
3265
  updateItemContent(item) {
2844
3266
  const headline = this.tickerHeadlineElement?.querySelector('.uvf-ticker-headline-text');
2845
3267
  if (headline) {
3268
+ const topLineConfig = this.tickerConfig?.broadcastStyle?.twoLineDisplay?.topLine || {};
3269
+ const headlineContent = item.headline || item.text;
2846
3270
  if (item.headlineHtml) {
2847
- headline.innerHTML = item.headlineHtml;
3271
+ headline.innerHTML = this.formatHeadlineText(item.headlineHtml, topLineConfig, true);
2848
3272
  }
2849
- else if (item.headline) {
2850
- headline.textContent = item.headline;
2851
- }
2852
- else {
2853
- headline.textContent = item.text;
3273
+ else if (headlineContent) {
3274
+ headline.innerHTML = this.formatHeadlineText(headlineContent, topLineConfig, false);
2854
3275
  }
2855
3276
  }
2856
3277
  const detailTrack = this.tickerDetailElement?.querySelector('.uvf-ticker-track');