unified-video-framework 1.4.56 → 1.4.58

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.
Files changed (46) hide show
  1. package/package.json +1 -1
  2. package/packages/web/src/react/WebPlayerViewWithEPG.tsx +44 -25
  3. package/packages/web/dist/react/EPG.d.ts.map +0 -1
  4. package/packages/web/dist/react/EPG.js +0 -7
  5. package/packages/web/dist/react/EPG.js.map +0 -1
  6. package/packages/web/dist/react/WebPlayerViewWithEPG.d.ts.map +0 -1
  7. package/packages/web/dist/react/WebPlayerViewWithEPG.js +0 -316
  8. package/packages/web/dist/react/WebPlayerViewWithEPG.js.map +0 -1
  9. package/packages/web/dist/react/components/EPGNavigationControls.d.ts.map +0 -1
  10. package/packages/web/dist/react/components/EPGNavigationControls.js +0 -202
  11. package/packages/web/dist/react/components/EPGNavigationControls.js.map +0 -1
  12. package/packages/web/dist/react/components/EPGOverlay-improved-positioning.d.ts +0 -5
  13. package/packages/web/dist/react/components/EPGOverlay-improved-positioning.d.ts.map +0 -1
  14. package/packages/web/dist/react/components/EPGOverlay-improved-positioning.js +0 -415
  15. package/packages/web/dist/react/components/EPGOverlay-improved-positioning.js.map +0 -1
  16. package/packages/web/dist/react/components/EPGOverlay.d.ts.map +0 -1
  17. package/packages/web/dist/react/components/EPGOverlay.js +0 -384
  18. package/packages/web/dist/react/components/EPGOverlay.js.map +0 -1
  19. package/packages/web/dist/react/components/EPGOverlayEnhanced.d.ts +0 -18
  20. package/packages/web/dist/react/components/EPGOverlayEnhanced.d.ts.map +0 -1
  21. package/packages/web/dist/react/components/EPGOverlayEnhanced.js +0 -449
  22. package/packages/web/dist/react/components/EPGOverlayEnhanced.js.map +0 -1
  23. package/packages/web/dist/react/components/EPGProgramDetails.d.ts.map +0 -1
  24. package/packages/web/dist/react/components/EPGProgramDetails.js +0 -437
  25. package/packages/web/dist/react/components/EPGProgramDetails.js.map +0 -1
  26. package/packages/web/dist/react/components/EPGProgramGrid.d.ts +0 -19
  27. package/packages/web/dist/react/components/EPGProgramGrid.d.ts.map +0 -1
  28. package/packages/web/dist/react/components/EPGProgramGrid.js +0 -265
  29. package/packages/web/dist/react/components/EPGProgramGrid.js.map +0 -1
  30. package/packages/web/dist/react/components/EPGProgramGridEnhanced.d.ts +0 -21
  31. package/packages/web/dist/react/components/EPGProgramGridEnhanced.d.ts.map +0 -1
  32. package/packages/web/dist/react/components/EPGProgramGridEnhanced.js +0 -420
  33. package/packages/web/dist/react/components/EPGProgramGridEnhanced.js.map +0 -1
  34. package/packages/web/dist/react/components/EPGTimelineHeader.d.ts +0 -16
  35. package/packages/web/dist/react/components/EPGTimelineHeader.d.ts.map +0 -1
  36. package/packages/web/dist/react/components/EPGTimelineHeader.js +0 -153
  37. package/packages/web/dist/react/components/EPGTimelineHeader.js.map +0 -1
  38. package/packages/web/dist/react/types/EPGTypes.d.ts.map +0 -1
  39. package/packages/web/dist/react/types/EPGTypes.js +0 -2
  40. package/packages/web/dist/react/types/EPGTypes.js.map +0 -1
  41. package/packages/web/dist/react/utils/EPGUtils.d.ts.map +0 -1
  42. package/packages/web/dist/react/utils/EPGUtils.js +0 -154
  43. package/packages/web/dist/react/utils/EPGUtils.js.map +0 -1
  44. package/packages/web/dist/test/epg-test.d.ts.map +0 -1
  45. package/packages/web/dist/test/epg-test.js +0 -77
  46. package/packages/web/dist/test/epg-test.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "unified-video-framework",
3
- "version": "1.4.56",
3
+ "version": "1.4.58",
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",
@@ -431,49 +431,40 @@ export const WebPlayerViewWithEPG: React.FC<WebPlayerViewWithEPGProps> = (props)
431
431
  style={playerStyle}
432
432
  />
433
433
 
434
- {/* EPG Toggle Button - Fixed Position */}
434
+ {/* EPG Toggle Button */}
435
435
  {epg && playerReady && (
436
436
  <button
437
437
  onClick={() => handleToggleEPG(!epgVisible)}
438
- className="epg-toggle-button"
439
438
  style={{
440
439
  position: 'fixed',
441
- top: '20px',
440
+ top: epgVisible ? '32vh' : '20px',
442
441
  right: '20px',
443
- width: '48px',
444
- height: '48px',
445
- borderRadius: '12px',
446
- border: '2px solid rgba(255, 255, 255, 0.2)',
447
- backgroundColor: epgVisible ? '#ff6b35' : 'rgba(0, 0, 0, 0.8)',
442
+ width: '50px',
443
+ height: '50px',
444
+ borderRadius: '50%',
445
+ border: 'none',
446
+ backgroundColor: epgVisible ? '#ff6b35' : 'rgba(0, 0, 0, 0.7)',
448
447
  color: '#fff',
449
- fontSize: '20px',
448
+ fontSize: '18px',
450
449
  fontWeight: '700',
451
450
  cursor: 'pointer',
452
451
  display: 'flex',
453
452
  alignItems: 'center',
454
453
  justifyContent: 'center',
455
- zIndex: 1000,
456
- boxShadow: epgVisible
457
- ? '0 8px 24px rgba(255, 107, 53, 0.4)'
458
- : '0 4px 16px rgba(0, 0, 0, 0.6)',
459
- transition: 'all 0.3s cubic-bezier(0.4, 0, 0.2, 1)',
460
- backdropFilter: 'blur(10px)',
454
+ zIndex: 200,
455
+ boxShadow: '0 4px 12px rgba(0, 0, 0, 0.3)',
456
+ transition: 'all 0.3s ease',
457
+ transform: epgVisible ? 'rotate(180deg)' : 'rotate(0deg)',
461
458
  }}
462
459
  onMouseEnter={(e) => {
463
- e.currentTarget.style.transform = 'scale(1.1)';
464
- e.currentTarget.style.boxShadow = epgVisible
465
- ? '0 10px 30px rgba(255, 107, 53, 0.5)'
466
- : '0 6px 20px rgba(0, 0, 0, 0.7)';
460
+ e.currentTarget.style.transform = `scale(1.1) ${epgVisible ? 'rotate(180deg)' : 'rotate(0deg)'}`;
467
461
  }}
468
462
  onMouseLeave={(e) => {
469
- e.currentTarget.style.transform = 'scale(1)';
470
- e.currentTarget.style.boxShadow = epgVisible
471
- ? '0 8px 24px rgba(255, 107, 53, 0.4)'
472
- : '0 4px 16px rgba(0, 0, 0, 0.6)';
463
+ e.currentTarget.style.transform = `scale(1) ${epgVisible ? 'rotate(180deg)' : 'rotate(0deg)'}`;
473
464
  }}
474
- title={epgVisible ? 'Close EPG Guide (Ctrl+G)' : 'Open EPG Guide (Ctrl+G)'}
465
+ title={epgVisible ? 'Hide EPG (Ctrl+G)' : 'Show EPG (Ctrl+G)'}
475
466
  >
476
- {epgVisible ? '✕' : '📺'}
467
+ 📺
477
468
  </button>
478
469
  )}
479
470
 
@@ -487,6 +478,34 @@ export const WebPlayerViewWithEPG: React.FC<WebPlayerViewWithEPGProps> = (props)
487
478
  />
488
479
  )}
489
480
 
481
+ {/* Instructions Toast */}
482
+ {epg && playerReady && !epgVisible && (
483
+ <div
484
+ style={{
485
+ position: 'fixed',
486
+ bottom: '20px',
487
+ left: '50%',
488
+ transform: 'translateX(-50%)',
489
+ backgroundColor: 'rgba(0, 0, 0, 0.8)',
490
+ color: '#fff',
491
+ padding: '12px 20px',
492
+ borderRadius: '8px',
493
+ fontSize: '14px',
494
+ zIndex: 100,
495
+ animation: 'fadeInOut 4s ease-in-out',
496
+ pointerEvents: 'none',
497
+ }}
498
+ >
499
+ Press <strong>Ctrl+G</strong> or click the 📺 button to show the Electronic Program Guide
500
+ </div>
501
+ )}
502
+
503
+ <style>{`
504
+ @keyframes fadeInOut {
505
+ 0%, 100% { opacity: 0; }
506
+ 10%, 90% { opacity: 1; }
507
+ }
508
+ `}</style>
490
509
  </div>
491
510
  );
492
511
  };
@@ -1 +0,0 @@
1
- {"version":3,"file":"EPG.d.ts","sourceRoot":"","sources":["../../src/react/EPG.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAM9E,YAAY,EACV,OAAO,EACP,UAAU,EACV,aAAa,EACb,SAAS,EACT,SAAS,EACT,QAAQ,EACR,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,SAAS,EACT,YAAY,EACZ,WAAW,EACX,SAAS,EACT,aAAa,GACd,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,SAAS,EACT,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACd,yBAAyB,EACzB,kBAAkB,EAClB,uBAAuB,EACvB,QAAQ,EACR,QAAQ,GACT,MAAM,kBAAkB,CAAC"}
@@ -1,7 +0,0 @@
1
- export { default as EPGOverlay } from "./components/EPGOverlay.js";
2
- export { default as EPGTimelineHeader } from "./components/EPGTimelineHeader.js";
3
- export { default as EPGProgramGrid } from "./components/EPGProgramGrid.js";
4
- export { default as EPGNavigationControls } from "./components/EPGNavigationControls.js";
5
- export { default as EPGProgramDetails } from "./components/EPGProgramDetails.js";
6
- export { parseTime, formatTime, formatDateTime, getProgramDuration, generateTimeSlots, calculateProgramBlock, isProgramLive, getProgramProgress, findProgramAtTime, getCurrentTimePosition, snapToTimeSlot, calculateOptimalTimeRange, getProgramsInRange, calculateScrollPosition, debounce, throttle, } from "./utils/EPGUtils.js";
7
- //# sourceMappingURL=EPG.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EPG.js","sourceRoot":"","sources":["../../src/react/EPG.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAyB9E,OAAO,EACL,SAAS,EACT,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACd,yBAAyB,EACzB,kBAAkB,EAClB,uBAAuB,EACvB,QAAQ,EACR,QAAQ,GACT,MAAM,kBAAkB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"WebPlayerViewWithEPG.d.ts","sourceRoot":"","sources":["../../src/react/WebPlayerViewWithEPG.tsx"],"names":[],"mappings":"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"}
@@ -1,316 +0,0 @@
1
- import React, { useEffect, useRef, useState, useCallback } from 'react';
2
- import { WebPlayer } from "../WebPlayer.js";
3
- import EPGOverlay from "./components/EPGOverlay.js";
4
- export const WebPlayerViewWithEPG = (props) => {
5
- const { epg, epgConfig, showEPG = false, onToggleEPG, onEPGFavorite, onEPGRecord, onEPGSetReminder, onEPGCatchup, onEPGProgramSelect, onEPGChannelSelect, ...webPlayerProps } = props;
6
- const containerRef = useRef(null);
7
- const playerRef = useRef(null);
8
- const [epgVisible, setEPGVisible] = useState(showEPG);
9
- const [playerReady, setPlayerReady] = useState(false);
10
- const [dimensions, setDimensions] = useState({
11
- width: typeof window !== 'undefined' ? window.innerWidth : 1920,
12
- height: typeof window !== 'undefined' ? window.innerHeight : 1080,
13
- });
14
- useEffect(() => {
15
- if (typeof window === 'undefined')
16
- return;
17
- const responsiveEnabled = props.responsive?.enabled !== false;
18
- if (!responsiveEnabled)
19
- return;
20
- const handleResize = () => {
21
- setDimensions({
22
- width: window.innerWidth,
23
- height: window.innerHeight,
24
- });
25
- };
26
- window.addEventListener('resize', handleResize);
27
- handleResize();
28
- return () => window.removeEventListener('resize', handleResize);
29
- }, [props.responsive?.enabled]);
30
- const handleToggleEPG = useCallback((visible) => {
31
- setEPGVisible(visible);
32
- if (onToggleEPG) {
33
- onToggleEPG(visible);
34
- }
35
- }, [onToggleEPG]);
36
- useEffect(() => {
37
- const handleKeyPress = (e) => {
38
- if (e.key === 'g' && e.ctrlKey) {
39
- e.preventDefault();
40
- handleToggleEPG(!epgVisible);
41
- }
42
- };
43
- document.addEventListener('keydown', handleKeyPress);
44
- return () => document.removeEventListener('keydown', handleKeyPress);
45
- }, [epgVisible, handleToggleEPG]);
46
- useEffect(() => {
47
- setEPGVisible(showEPG);
48
- }, [showEPG]);
49
- const getPlayerDimensions = () => {
50
- const responsiveEnabled = props.responsive?.enabled !== false;
51
- if (!responsiveEnabled)
52
- return props.style || {};
53
- const { width, height } = dimensions;
54
- let calculatedStyle = {
55
- width: '100vw',
56
- height: epgVisible ? '35vh' : '100vh',
57
- maxWidth: '100vw',
58
- maxHeight: epgVisible ? '35vh' : '100vh',
59
- boxSizing: 'border-box',
60
- position: 'fixed',
61
- top: 0,
62
- left: 0,
63
- zIndex: epgVisible ? 50 : 1000,
64
- backgroundColor: '#000000',
65
- display: 'flex',
66
- alignItems: 'center',
67
- justifyContent: 'center',
68
- margin: 0,
69
- padding: 0,
70
- transition: 'height 0.3s ease, max-height 0.3s ease',
71
- ...props.style,
72
- };
73
- return calculatedStyle;
74
- };
75
- useEffect(() => {
76
- try {
77
- const params = new URLSearchParams(window.location.search);
78
- const popup = (params.get('popup') || '').toLowerCase() === '1';
79
- const status = (params.get('rental') || '').toLowerCase();
80
- const orderId = params.get('order_id') || '';
81
- const sessionId = params.get('session_id') || '';
82
- if (popup && (status === 'success' || status === 'cancel')) {
83
- try {
84
- window.opener?.postMessage({ type: 'uvfCheckout', status, orderId, sessionId }, '*');
85
- }
86
- catch (_) { }
87
- try {
88
- window.close();
89
- }
90
- catch (_) { }
91
- }
92
- }
93
- catch (_) { }
94
- }, []);
95
- useEffect(() => {
96
- let cancelled = false;
97
- async function boot() {
98
- if (!containerRef.current)
99
- return;
100
- const player = new WebPlayer();
101
- playerRef.current = player;
102
- if (props.cast) {
103
- try {
104
- const existing = document.querySelector('script[data-cast-sdk="1"]');
105
- if (!existing) {
106
- const s = document.createElement('script');
107
- s.src = 'https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1';
108
- s.async = true;
109
- s.setAttribute('data-cast-sdk', '1');
110
- document.head.appendChild(s);
111
- }
112
- }
113
- catch (_) { }
114
- }
115
- let paywallCfg = props.paywall;
116
- if (!paywallCfg && props.paywallConfigUrl) {
117
- try {
118
- const resp = await fetch(props.paywallConfigUrl);
119
- if (resp.ok)
120
- paywallCfg = await resp.json();
121
- }
122
- catch (_) { }
123
- }
124
- if (props.emailAuth?.enabled) {
125
- if (!paywallCfg) {
126
- paywallCfg = {
127
- enabled: true,
128
- apiBase: 'http://localhost:3000',
129
- userId: 'user-' + Math.random().toString(36).substr(2, 9),
130
- videoId: 'video-' + Math.random().toString(36).substr(2, 9),
131
- gateways: ['stripe'],
132
- };
133
- }
134
- paywallCfg = {
135
- ...paywallCfg,
136
- emailAuth: {
137
- enabled: props.emailAuth.enabled,
138
- skipIfAuthenticated: props.emailAuth.skipIfAuthenticated ?? true,
139
- sessionStorage: {
140
- tokenKey: props.emailAuth.sessionStorage?.tokenKey || 'uvf_session_token',
141
- refreshTokenKey: props.emailAuth.sessionStorage?.refreshTokenKey || 'uvf_refresh_token',
142
- userIdKey: props.emailAuth.sessionStorage?.userIdKey || 'uvf_user_id',
143
- },
144
- api: {
145
- requestOtp: props.emailAuth.apiEndpoints?.requestOtp || '/auth/request-otp',
146
- verifyOtp: props.emailAuth.apiEndpoints?.verifyOtp || '/auth/verify-otp',
147
- refreshToken: props.emailAuth.apiEndpoints?.refreshToken || '/auth/refresh-token',
148
- logout: props.emailAuth.apiEndpoints?.logout || '/auth/logout',
149
- },
150
- ui: {
151
- title: props.emailAuth.ui?.title || 'Sign in to continue',
152
- description: props.emailAuth.ui?.description || 'Enter your email to receive a verification code',
153
- emailPlaceholder: props.emailAuth.ui?.emailPlaceholder || 'Enter your email',
154
- otpPlaceholder: props.emailAuth.ui?.otpPlaceholder || 'Enter 6-digit code',
155
- submitButtonText: props.emailAuth.ui?.submitButtonText || 'Send Code',
156
- resendButtonText: props.emailAuth.ui?.resendButtonText || 'Resend Code',
157
- resendCooldown: props.emailAuth.ui?.resendCooldown || 30,
158
- },
159
- validation: {
160
- otpLength: props.emailAuth.validation?.otpLength || 6,
161
- otpTimeout: props.emailAuth.validation?.otpTimeout || 300,
162
- rateLimiting: {
163
- maxAttempts: props.emailAuth.validation?.rateLimiting?.maxAttempts || 5,
164
- windowMinutes: props.emailAuth.validation?.rateLimiting?.windowMinutes || 60,
165
- },
166
- },
167
- },
168
- };
169
- }
170
- const config = {
171
- autoPlay: props.autoPlay ?? false,
172
- muted: props.muted ?? false,
173
- enableAdaptiveBitrate: props.enableAdaptiveBitrate ?? true,
174
- debug: props.debug ?? false,
175
- freeDuration: props.freeDuration,
176
- paywall: paywallCfg
177
- };
178
- try {
179
- await player.initialize(containerRef.current, config);
180
- try {
181
- if (props.playerTheme && player.setTheme) {
182
- player.setTheme(props.playerTheme);
183
- }
184
- }
185
- catch (_) { }
186
- const source = {
187
- url: props.url,
188
- type: props.type ?? 'auto',
189
- subtitles: props.subtitles,
190
- metadata: props.metadata,
191
- };
192
- await player.load(source);
193
- if (!cancelled) {
194
- setPlayerReady(true);
195
- props.onReady?.(player);
196
- }
197
- }
198
- catch (err) {
199
- if (!cancelled)
200
- props.onError?.(err);
201
- }
202
- }
203
- void boot();
204
- return () => {
205
- cancelled = true;
206
- if (playerRef.current) {
207
- playerRef.current.destroy().catch(() => { });
208
- playerRef.current = null;
209
- }
210
- };
211
- }, [
212
- props.autoPlay,
213
- props.muted,
214
- props.enableAdaptiveBitrate,
215
- props.debug,
216
- props.url,
217
- props.type,
218
- JSON.stringify(props.subtitles),
219
- JSON.stringify(props.metadata),
220
- props.cast,
221
- props.freeDuration,
222
- JSON.stringify(props.responsive),
223
- JSON.stringify(props.paywall),
224
- JSON.stringify(props.emailAuth),
225
- props.paywallConfigUrl,
226
- ]);
227
- useEffect(() => {
228
- const p = playerRef.current;
229
- if (p && typeof p.setFreeDuration === 'function' && typeof props.freeDuration !== 'undefined') {
230
- try {
231
- p.setFreeDuration(props.freeDuration);
232
- }
233
- catch (_) { }
234
- }
235
- }, [props.freeDuration]);
236
- useEffect(() => {
237
- const p = playerRef.current;
238
- if (p && typeof p.setPaywallConfig === 'function' && props.paywall) {
239
- const paywall = props.paywall;
240
- if (paywall.enabled && (paywall.apiBase || paywall.userId || paywall.videoId)) {
241
- try {
242
- console.log('[WebPlayerViewWithEPG] Updating paywall config:', paywall);
243
- p.setPaywallConfig(paywall);
244
- }
245
- catch (err) {
246
- console.warn('[WebPlayerViewWithEPG] Failed to update paywall config:', err);
247
- }
248
- }
249
- }
250
- }, [JSON.stringify(props.paywall)]);
251
- useEffect(() => {
252
- const p = playerRef.current;
253
- try {
254
- if (p && typeof p.setTheme === 'function') {
255
- p.setTheme(props.playerTheme);
256
- }
257
- }
258
- catch (_) { }
259
- }, [JSON.stringify(props.playerTheme)]);
260
- const playerStyle = getPlayerDimensions();
261
- const epgConfigWithHandlers = {
262
- ...epgConfig,
263
- onFavorite: onEPGFavorite,
264
- onRecord: onEPGRecord,
265
- onSetReminder: onEPGSetReminder,
266
- onCatchup: onEPGCatchup,
267
- onProgramSelect: onEPGProgramSelect,
268
- onChannelSelect: onEPGChannelSelect,
269
- };
270
- return (React.createElement("div", { className: `uvf-player-with-epg-container ${props.className || ''}`, style: {
271
- position: 'fixed',
272
- top: 0,
273
- left: 0,
274
- right: 0,
275
- bottom: 0,
276
- backgroundColor: '#000',
277
- zIndex: 50,
278
- } },
279
- React.createElement("div", { ref: containerRef, className: `uvf-responsive-container ${props.className || ''}`, style: playerStyle }),
280
- epg && playerReady && (React.createElement("button", { onClick: () => handleToggleEPG(!epgVisible), className: "epg-toggle-button", style: {
281
- position: 'fixed',
282
- top: '20px',
283
- right: '20px',
284
- width: '48px',
285
- height: '48px',
286
- borderRadius: '12px',
287
- border: '2px solid rgba(255, 255, 255, 0.2)',
288
- backgroundColor: epgVisible ? '#ff6b35' : 'rgba(0, 0, 0, 0.8)',
289
- color: '#fff',
290
- fontSize: '20px',
291
- fontWeight: '700',
292
- cursor: 'pointer',
293
- display: 'flex',
294
- alignItems: 'center',
295
- justifyContent: 'center',
296
- zIndex: 1000,
297
- boxShadow: epgVisible
298
- ? '0 8px 24px rgba(255, 107, 53, 0.4)'
299
- : '0 4px 16px rgba(0, 0, 0, 0.6)',
300
- transition: 'all 0.3s cubic-bezier(0.4, 0, 0.2, 1)',
301
- backdropFilter: 'blur(10px)',
302
- }, onMouseEnter: (e) => {
303
- e.currentTarget.style.transform = 'scale(1.1)';
304
- e.currentTarget.style.boxShadow = epgVisible
305
- ? '0 10px 30px rgba(255, 107, 53, 0.5)'
306
- : '0 6px 20px rgba(0, 0, 0, 0.7)';
307
- }, onMouseLeave: (e) => {
308
- e.currentTarget.style.transform = 'scale(1)';
309
- e.currentTarget.style.boxShadow = epgVisible
310
- ? '0 8px 24px rgba(255, 107, 53, 0.4)'
311
- : '0 4px 16px rgba(0, 0, 0, 0.6)';
312
- }, title: epgVisible ? 'Close EPG Guide (Ctrl+G)' : 'Open EPG Guide (Ctrl+G)' }, epgVisible ? '✕' : '📺')),
313
- epg && (React.createElement(EPGOverlay, { data: epg, config: epgConfigWithHandlers, visible: epgVisible, onToggle: handleToggleEPG }))));
314
- };
315
- export default WebPlayerViewWithEPG;
316
- //# sourceMappingURL=WebPlayerViewWithEPG.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WebPlayerViewWithEPG.js","sourceRoot":"","sources":["../../src/react/WebPlayerViewWithEPG.tsx"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"EPGNavigationControls.d.ts","sourceRoot":"","sources":["../../../src/react/components/EPGNavigationControls.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,UAAU,0BAA2B,SAAQ,iBAAiB;IAC5D,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,KAAK,IAAI,CAAC;IAC5D,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CA2StE,CAAC;AAEF,eAAe,qBAAqB,CAAC"}