unified-video-framework 1.4.216 → 1.4.218

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/CHANGELOG.md CHANGED
@@ -5,100 +5,6 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## [1.4.216] - 2025-10-24
9
-
10
- ### Added
11
- - **🎬 Google Ads Integration**: Complete advertising support with Google IMA SDK v3
12
- - Full Google IMA SDK v3 integration with automatic loading
13
- - Support for all Google standard ad formats (Skippable In-Stream/TrueView, Non-Skippable In-Stream, Bumper Ads, Display Ads, Masthead Ads)
14
- - Comprehensive ad placement support (Preroll, Midroll, Postroll)
15
- - Custom ad formats framework (Pause Overlay Ads, Overlay Banner Ads, Interactive Ads)
16
- - VAST 4.2 and VMAP 1.0 URL support via Google IMA
17
- - Backend API integration for dynamic ad configuration
18
- - Complete event tracking system (impressions, quartiles, clicks, completions, skips)
19
- - GDPR and COPPA compliance settings
20
- - Session-based ad frequency management
21
-
22
- - **📦 New Ads Module** (`packages/web/src/ads/`)
23
- - `AdsManager` class (691 lines) - Core ads orchestration and lifecycle management
24
- - `types.ts` (442 lines) - Comprehensive TypeScript interfaces for all ad types
25
- - Complete API documentation in README.md (403 lines)
26
- - Full TypeScript type safety with detailed interfaces
27
-
28
- - **🔧 Enhanced Core Interfaces**
29
- - Updated `AdsConfig` interface with 60+ configuration options
30
- - Support for multiple ad break configurations
31
- - Pause ads and overlay ads configuration options
32
- - Privacy settings (GDPR consent, COPPA compliance)
33
- - Event callback hooks for all ad lifecycle events
34
-
35
- - **📝 Comprehensive Documentation**
36
- - Complete ads integration guide with usage examples
37
- - Backend API specifications (GET /api/ads/config, POST /api/ads/track/event)
38
- - Multiple implementation examples (basic, backend API, pause ads, overlay ads)
39
- - TypeScript usage examples and type references
40
- - Best practices guide and browser compatibility information
41
-
42
- ### Features
43
- - **Google IMA SDK Integration**
44
- - Automatic SDK loading (no manual script inclusion needed)
45
- - VAST/VMAP ad tag URL support
46
- - Linear and non-linear ad support
47
- - Companion ads support
48
- - Ad error handling with automatic fallbacks
49
-
50
- - **Ad Event System**
51
- - Standard events: loaded, started, firstQuartile, midpoint, thirdQuartile, completed, skipped, clicked
52
- - Custom events: userEngagement, brandInteraction, socialShare, productView, addToCart, purchase
53
- - Real-time event tracking to backend API
54
- - Event-driven architecture with callback hooks
55
-
56
- - **Ad Placement Control**
57
- - Preroll ads (before content starts)
58
- - Midroll ads (configurable interval or specific time positions)
59
- - Postroll ads (after content ends)
60
- - Pause ads (when user pauses video)
61
- - Overlay ads (non-intrusive banners)
62
-
63
- - **Developer Experience**
64
- - Simple API: `new AdsManager({ ... })`
65
- - Event listeners: `adsManager.on('adStarted', callback)`
66
- - Manual control: `adsManager.pause()`, `.resume()`, `.skip()`
67
- - Full TypeScript IntelliSense support
68
- - Comprehensive error handling and logging
69
-
70
- ### Enhanced
71
- - **Web Package** (`@unified-video-framework/web`)
72
- - Now exports complete ads module
73
- - Backward compatible - no breaking changes
74
- - Built and tested successfully
75
-
76
- - **Package Exports**
77
- - Added `export * from './ads'` to web package index
78
- - All ad types, interfaces, and classes exported
79
- - Available via: `import { AdsManager } from 'unified-video-framework/web'`
80
-
81
- ### Technical Details
82
- - **Files Created**: 4 new files (types.ts, AdsManager.ts, index.ts, README.md)
83
- - **Files Modified**: 2 files (packages/web/src/index.ts, packages/core/src/interfaces.ts)
84
- - **Lines of Code**: 1,336+ lines of production-ready TypeScript
85
- - **Build Status**: ✅ Successfully compiled with TypeScript
86
- - **Import Fixes**: ✅ Automatically applied for ES module compatibility
87
-
88
- ### Browser Support
89
- - Chrome 90+
90
- - Firefox 88+
91
- - Safari 14+
92
- - Edge 90+
93
- - Mobile browsers (iOS Safari, Chrome Mobile)
94
-
95
- ### Notes
96
- - Google IMA SDK automatically loaded when ads are enabled
97
- - No additional dependencies required
98
- - Works with any VAST/VMAP-compliant ad server
99
- - Backend API integration is optional
100
- - Custom UI components can be built on top of the framework
101
-
102
8
  ## [1.4.85] - 2024-12-25
103
9
 
104
10
  ### Added
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "unified-video-framework",
3
- "version": "1.4.216",
3
+ "version": "1.4.218",
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",
@@ -144,46 +144,14 @@ export interface AnalyticsProvider {
144
144
  }
145
145
  export interface AdsConfig {
146
146
  enabled: boolean;
147
- adsManagerUrl?: string;
148
147
  adTagUrl?: string;
149
- debug?: boolean;
150
- preroll?: boolean;
151
- midroll?: boolean | {
152
- enabled: boolean;
153
- interval: number;
154
- } | number[];
155
- postroll?: boolean;
156
- apiEndpoint?: string;
157
- maxAdsPerBreak?: number;
158
- maxTotalAds?: number;
159
- adTimeout?: number;
160
- retryOnError?: boolean;
161
- maxRetryAttempts?: number;
162
- gdprConsent?: boolean;
163
- coppa?: boolean;
148
+ adsManager?: any;
149
+ midrollPositions?: number[];
164
150
  companionAds?: {
165
151
  width: number;
166
152
  height: number;
167
153
  container: HTMLElement;
168
- }[];
169
- pauseAds?: {
170
- enabled: boolean;
171
- minPauseDuration?: number;
172
- maxDisplayTime?: number;
173
- frequency?: 'always' | 'once_per_session' | 'once_per_video';
174
- };
175
- overlayAds?: {
176
- enabled: boolean;
177
- positions?: string[];
178
- sizes?: string[];
179
154
  };
180
- onAdStarted?: (ad: any) => void;
181
- onAdCompleted?: (ad: any) => void;
182
- onAdSkipped?: (ad: any) => void;
183
- onAdError?: (error: any) => void;
184
- onAllAdsCompleted?: () => void;
185
- adsManager?: any;
186
- midrollPositions?: number[];
187
155
  }
188
156
  export interface CastConfig {
189
157
  enabled: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"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"}
@@ -161,62 +161,14 @@ export interface AnalyticsProvider {
161
161
 
162
162
  export interface AdsConfig {
163
163
  enabled: boolean;
164
-
165
- // Google IMA SDK
166
- adsManagerUrl?: string; // Default: https://imasdk.googleapis.com/js/sdkloader/ima3.js
167
- adTagUrl?: string; // VAST/VMAP tag URL
168
- debug?: boolean;
169
-
170
- // Ad Breaks
171
- preroll?: boolean;
172
- midroll?: boolean | { enabled: boolean; interval: number } | number[]; // true, or config, or positions array
173
- postroll?: boolean;
174
-
175
- // API Integration
176
- apiEndpoint?: string; // Backend API endpoint for fetching ads
177
-
178
- // Settings
179
- maxAdsPerBreak?: number;
180
- maxTotalAds?: number;
181
- adTimeout?: number; // milliseconds
182
- retryOnError?: boolean;
183
- maxRetryAttempts?: number;
184
-
185
- // Privacy
186
- gdprConsent?: boolean;
187
- coppa?: boolean;
188
-
189
- // Companion Ads
164
+ adTagUrl?: string;
165
+ adsManager?: any;
166
+ midrollPositions?: number[];
190
167
  companionAds?: {
191
168
  width: number;
192
169
  height: number;
193
170
  container: HTMLElement;
194
- }[];
195
-
196
- // Custom Ads
197
- pauseAds?: {
198
- enabled: boolean;
199
- minPauseDuration?: number; // seconds
200
- maxDisplayTime?: number; // seconds
201
- frequency?: 'always' | 'once_per_session' | 'once_per_video';
202
171
  };
203
-
204
- overlayAds?: {
205
- enabled: boolean;
206
- positions?: string[];
207
- sizes?: string[];
208
- };
209
-
210
- // Callbacks
211
- onAdStarted?: (ad: any) => void;
212
- onAdCompleted?: (ad: any) => void;
213
- onAdSkipped?: (ad: any) => void;
214
- onAdError?: (error: any) => void;
215
- onAllAdsCompleted?: () => void;
216
-
217
- // Legacy support
218
- adsManager?: any; // For custom ads manager instances
219
- midrollPositions?: number[]; // Deprecated: use midroll array format
220
172
  }
221
173
 
222
174
  export interface CastConfig {
@@ -0,0 +1,39 @@
1
+ export interface GoogleAdsConfig {
2
+ adTagUrl: string;
3
+ midrollTimes?: number[];
4
+ companionAdSlots?: Array<{
5
+ containerId: string;
6
+ width: number;
7
+ height: number;
8
+ }>;
9
+ onAdStart?: () => void;
10
+ onAdEnd?: () => void;
11
+ onAdError?: (error: any) => void;
12
+ onAllAdsComplete?: () => void;
13
+ }
14
+ export declare class GoogleAdsManager {
15
+ private video;
16
+ private adContainer;
17
+ private config;
18
+ private adsManager;
19
+ private adsLoader;
20
+ private adDisplayContainer;
21
+ private isAdPlaying;
22
+ constructor(video: HTMLVideoElement, adContainer: HTMLElement, config: GoogleAdsConfig);
23
+ initialize(): Promise<void>;
24
+ private loadIMASDK;
25
+ private setupAdsLoader;
26
+ requestAds(): void;
27
+ initAdDisplayContainer(): void;
28
+ private onAdsManagerLoaded;
29
+ private setupAdsManagerListeners;
30
+ private onAdError;
31
+ pause(): void;
32
+ resume(): void;
33
+ skip(): void;
34
+ resize(width: number, height: number): void;
35
+ setVolume(volume: number): void;
36
+ isPlayingAd(): boolean;
37
+ destroy(): void;
38
+ }
39
+ //# sourceMappingURL=GoogleAdsManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GoogleAdsManager.d.ts","sourceRoot":"","sources":["../../src/ads/GoogleAdsManager.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,eAAe;IAE9B,QAAQ,EAAE,MAAM,CAAC;IAIjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAGxB,gBAAgB,CAAC,EAAE,KAAK,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IAGH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,WAAW,CAAS;gBAEhB,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe;IAShF,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAajC,OAAO,CAAC,UAAU;IAmBlB,OAAO,CAAC,cAAc;IAqCtB,UAAU,IAAI,IAAI;IAiClB,sBAAsB,IAAI,IAAI;IAW9B,OAAO,CAAC,kBAAkB;IAiC1B,OAAO,CAAC,wBAAwB;IA0EhC,OAAO,CAAC,SAAS;IAmBjB,KAAK,IAAI,IAAI;IASb,MAAM,IAAI,IAAI;IASd,IAAI,IAAI,IAAI;IASZ,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAU3C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAS/B,WAAW,IAAI,OAAO;IAOtB,OAAO,IAAI,IAAI;CAahB"}
@@ -0,0 +1,180 @@
1
+ export class GoogleAdsManager {
2
+ constructor(video, adContainer, config) {
3
+ this.adsManager = null;
4
+ this.adsLoader = null;
5
+ this.adDisplayContainer = null;
6
+ this.isAdPlaying = false;
7
+ this.video = video;
8
+ this.adContainer = adContainer;
9
+ this.config = config;
10
+ }
11
+ async initialize() {
12
+ try {
13
+ await this.loadIMASDK();
14
+ this.setupAdsLoader();
15
+ }
16
+ catch (error) {
17
+ console.error('Failed to initialize Google Ads:', error);
18
+ this.config.onAdError?.(error);
19
+ }
20
+ }
21
+ loadIMASDK() {
22
+ return new Promise((resolve, reject) => {
23
+ if (window.google?.ima) {
24
+ resolve();
25
+ return;
26
+ }
27
+ const script = document.createElement('script');
28
+ script.src = 'https://imasdk.googleapis.com/js/sdkloader/ima3.js';
29
+ script.async = true;
30
+ script.onload = () => resolve();
31
+ script.onerror = () => reject(new Error('Failed to load Google IMA SDK'));
32
+ document.head.appendChild(script);
33
+ });
34
+ }
35
+ setupAdsLoader() {
36
+ const google = window.google;
37
+ this.adDisplayContainer = new google.ima.AdDisplayContainer(this.adContainer, this.video);
38
+ this.adsLoader = new google.ima.AdsLoader(this.adDisplayContainer);
39
+ this.adsLoader.addEventListener(google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, (event) => this.onAdsManagerLoaded(event), false);
40
+ this.adsLoader.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, (event) => this.onAdError(event), false);
41
+ this.video.addEventListener('ended', () => {
42
+ if (!this.isAdPlaying) {
43
+ this.adsLoader?.contentComplete();
44
+ }
45
+ });
46
+ }
47
+ requestAds() {
48
+ const google = window.google;
49
+ try {
50
+ const adsRequest = new google.ima.AdsRequest();
51
+ adsRequest.adTagUrl = this.config.adTagUrl;
52
+ adsRequest.linearAdSlotWidth = this.video.clientWidth;
53
+ adsRequest.linearAdSlotHeight = this.video.clientHeight;
54
+ adsRequest.nonLinearAdSlotWidth = this.video.clientWidth;
55
+ adsRequest.nonLinearAdSlotHeight = Math.floor(this.video.clientHeight / 3);
56
+ if (this.config.companionAdSlots && this.config.companionAdSlots.length > 0) {
57
+ const companionAdSlots = this.config.companionAdSlots.map(slot => {
58
+ return new google.ima.CompanionAdSelectionSettings();
59
+ });
60
+ adsRequest.setAdWillAutoPlay(true);
61
+ adsRequest.setAdWillPlayMuted(false);
62
+ }
63
+ this.adsLoader.requestAds(adsRequest);
64
+ }
65
+ catch (error) {
66
+ console.error('Error requesting ads:', error);
67
+ this.config.onAdError?.(error);
68
+ }
69
+ }
70
+ initAdDisplayContainer() {
71
+ try {
72
+ this.adDisplayContainer?.initialize();
73
+ }
74
+ catch (error) {
75
+ console.warn('Ad display container already initialized');
76
+ }
77
+ }
78
+ onAdsManagerLoaded(event) {
79
+ const google = window.google;
80
+ const adsRenderingSettings = new google.ima.AdsRenderingSettings();
81
+ adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true;
82
+ adsRenderingSettings.enablePreloading = true;
83
+ this.adsManager = event.getAdsManager(this.video, adsRenderingSettings);
84
+ this.setupAdsManagerListeners();
85
+ try {
86
+ this.adsManager.init(this.video.clientWidth, this.video.clientHeight, google.ima.ViewMode.NORMAL);
87
+ this.adsManager.start();
88
+ }
89
+ catch (error) {
90
+ console.error('Error starting ads:', error);
91
+ this.video.play().catch(() => { });
92
+ }
93
+ }
94
+ setupAdsManagerListeners() {
95
+ const google = window.google;
96
+ this.adsManager.addEventListener(google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, () => {
97
+ console.log('Ad: Content paused');
98
+ this.isAdPlaying = true;
99
+ this.video.pause();
100
+ this.config.onAdStart?.();
101
+ });
102
+ this.adsManager.addEventListener(google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, () => {
103
+ console.log('Ad: Content resume');
104
+ this.isAdPlaying = false;
105
+ this.config.onAdEnd?.();
106
+ this.video.play().catch(() => { });
107
+ });
108
+ this.adsManager.addEventListener(google.ima.AdEvent.Type.STARTED, (event) => {
109
+ const ad = event.getAd();
110
+ console.log('Ad started:', {
111
+ type: ad.isLinear() ? 'Linear (video)' : 'Non-linear (overlay)',
112
+ duration: ad.getDuration(),
113
+ skippable: ad.getSkipTimeOffset() !== -1,
114
+ title: ad.getTitle(),
115
+ });
116
+ });
117
+ this.adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE, () => {
118
+ console.log('Ad completed');
119
+ });
120
+ this.adsManager.addEventListener(google.ima.AdEvent.Type.ALL_ADS_COMPLETED, () => {
121
+ console.log('All ads completed');
122
+ this.config.onAllAdsComplete?.();
123
+ });
124
+ this.adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, (event) => this.onAdError(event));
125
+ this.adsManager.addEventListener(google.ima.AdEvent.Type.SKIPPED, () => {
126
+ console.log('Ad skipped by user');
127
+ });
128
+ }
129
+ onAdError(event) {
130
+ const error = event.getError?.();
131
+ console.error('Ad error:', error?.getMessage?.() || error);
132
+ this.config.onAdError?.(error);
133
+ if (this.adsManager) {
134
+ this.adsManager.destroy();
135
+ }
136
+ this.isAdPlaying = false;
137
+ this.video.play().catch(() => { });
138
+ }
139
+ pause() {
140
+ if (this.adsManager && this.isAdPlaying) {
141
+ this.adsManager.pause();
142
+ }
143
+ }
144
+ resume() {
145
+ if (this.adsManager && this.isAdPlaying) {
146
+ this.adsManager.resume();
147
+ }
148
+ }
149
+ skip() {
150
+ if (this.adsManager) {
151
+ this.adsManager.skip();
152
+ }
153
+ }
154
+ resize(width, height) {
155
+ const google = window.google;
156
+ if (this.adsManager) {
157
+ this.adsManager.resize(width, height, google.ima.ViewMode.NORMAL);
158
+ }
159
+ }
160
+ setVolume(volume) {
161
+ if (this.adsManager) {
162
+ this.adsManager.setVolume(volume);
163
+ }
164
+ }
165
+ isPlayingAd() {
166
+ return this.isAdPlaying;
167
+ }
168
+ destroy() {
169
+ if (this.adsManager) {
170
+ this.adsManager.destroy();
171
+ this.adsManager = null;
172
+ }
173
+ if (this.adsLoader) {
174
+ this.adsLoader.destroy();
175
+ this.adsLoader = null;
176
+ }
177
+ this.isAdPlaying = false;
178
+ }
179
+ }
180
+ //# sourceMappingURL=GoogleAdsManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GoogleAdsManager.js","sourceRoot":"","sources":["../../src/ads/GoogleAdsManager.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,5 @@ export { WebPlayer } from './WebPlayer';
3
3
  export { WebPlayerView } from './react/WebPlayerView';
4
4
  export { SecureVideoPlayer } from './SecureVideoPlayer';
5
5
  export * from './react/EPG';
6
- export * from './ads';
7
6
  export declare const VERSION = "1.0.0";
8
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,cAAc,uBAAuB,CAAC;AAGtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,cAAc,aAAa,CAAC;AAG5B,cAAc,OAAO,CAAC;AAGtB,eAAO,MAAM,OAAO,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,cAAc,uBAAuB,CAAC;AAGtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,cAAc,aAAa,CAAC;AAG5B,eAAO,MAAM,OAAO,UAAU,CAAC"}
@@ -3,6 +3,5 @@ export { WebPlayer } from "./WebPlayer.js";
3
3
  export { WebPlayerView } from "./react/WebPlayerView.js";
4
4
  export { SecureVideoPlayer } from "./SecureVideoPlayer.js";
5
5
  export * from "./react/EPG.js";
6
- export * from "./ads.js";
7
6
  export const VERSION = '1.0.0';
8
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,cAAc,uBAAuB,CAAC;AAGtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,cAAc,aAAa,CAAC;AAG5B,cAAc,OAAO,CAAC;AAGtB,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,cAAc,uBAAuB,CAAC;AAGtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,cAAc,aAAa,CAAC;AAG5B,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
@@ -3,6 +3,64 @@ import type { CSSProperties } from 'react';
3
3
  import type { SubtitleTrack, VideoMetadata } from '../../core/dist';
4
4
  import { WebPlayer } from '../WebPlayer';
5
5
  import type { EPGData, EPGConfig, EPGProgram, EPGProgramRow } from './types/EPGTypes';
6
+ export interface ChapterAPI {
7
+ loadChapters: (chapters: any) => Promise<void>;
8
+ loadChaptersFromUrl: (url: string) => Promise<void>;
9
+ getCurrentSegment: () => any | null;
10
+ skipToSegment: (segmentId: string) => void;
11
+ getSegments: () => any[];
12
+ updateChapterConfig: (config: any) => void;
13
+ hasChapters: () => boolean;
14
+ getChapters: () => any | null;
15
+ getCoreChapters: () => any[];
16
+ getCoreSegments: () => any[];
17
+ getCurrentChapterInfo: () => any | null;
18
+ seekToChapter: (chapterId: string) => void;
19
+ getNextChapter: () => any | null;
20
+ getPreviousChapter: () => any | null;
21
+ }
22
+ export interface QualityAPI {
23
+ getQualities: () => any[];
24
+ getCurrentQuality: () => any | null;
25
+ setQuality: (index: number) => void;
26
+ setAutoQuality: (enabled: boolean) => void;
27
+ }
28
+ export interface EPGControlAPI {
29
+ setEPGData: (data: any) => void;
30
+ showEPGButton: () => void;
31
+ hideEPGButton: () => void;
32
+ isEPGButtonVisible: () => boolean;
33
+ }
34
+ export interface UIHelperAPI {
35
+ focusPlayer: () => void;
36
+ showFullscreenTip: () => void;
37
+ triggerFullscreenButton: () => void;
38
+ showTemporaryMessage: (message: string) => void;
39
+ showFullscreenInstructions: () => void;
40
+ enterFullscreenSynchronously: () => void;
41
+ }
42
+ export interface FullscreenAPI {
43
+ enterFullscreen: () => Promise<void>;
44
+ exitFullscreen: () => Promise<void>;
45
+ toggleFullscreen: () => Promise<void>;
46
+ enterPictureInPicture: () => Promise<void>;
47
+ exitPictureInPicture: () => Promise<void>;
48
+ }
49
+ export interface PlaybackAPI {
50
+ play: () => Promise<void>;
51
+ pause: () => void;
52
+ requestPause: () => void;
53
+ seek: (time: number) => void;
54
+ setVolume: (level: number) => void;
55
+ mute: () => void;
56
+ unmute: () => void;
57
+ toggleMute: () => void;
58
+ setPlaybackRate: (rate: number) => void;
59
+ getPlaybackRate: () => number;
60
+ getCurrentTime: () => number;
61
+ getDuration: () => number;
62
+ getState: () => any;
63
+ }
6
64
  export type WebPlayerViewProps = {
7
65
  autoPlay?: boolean;
8
66
  muted?: boolean;
@@ -112,8 +170,40 @@ export type WebPlayerViewProps = {
112
170
  maxHeight?: string;
113
171
  };
114
172
  };
173
+ settingsScrollbar?: {
174
+ style?: 'default' | 'compact' | 'overlay';
175
+ widthPx?: number;
176
+ intensity?: number;
177
+ };
178
+ autoFocusPlayer?: boolean;
179
+ showFullscreenTipOnMount?: boolean;
180
+ playerRef?: React.RefObject<WebPlayer>;
181
+ onChapterAPI?: (api: ChapterAPI) => void;
182
+ onQualityAPI?: (api: QualityAPI) => void;
183
+ onEPGAPI?: (api: EPGControlAPI) => void;
184
+ onUIHelperAPI?: (api: UIHelperAPI) => void;
185
+ onFullscreenAPI?: (api: FullscreenAPI) => void;
186
+ onPlaybackAPI?: (api: PlaybackAPI) => void;
115
187
  onReady?: (player: WebPlayer) => void;
116
188
  onError?: (error: unknown) => void;
189
+ onPlay?: () => void;
190
+ onPause?: () => void;
191
+ onEnded?: () => void;
192
+ onTimeUpdate?: (data: {
193
+ currentTime: number;
194
+ duration: number;
195
+ }) => void;
196
+ onProgress?: (data: {
197
+ buffered: number;
198
+ }) => void;
199
+ onVolumeChange?: (data: {
200
+ volume: number;
201
+ muted: boolean;
202
+ }) => void;
203
+ onQualityChange?: (quality: any) => void;
204
+ onBuffering?: (isBuffering: boolean) => void;
205
+ onFullscreenChange?: (isFullscreen: boolean) => void;
206
+ onPictureInPictureChange?: (isPiP: boolean) => void;
117
207
  epg?: EPGData;
118
208
  epgConfig?: Partial<EPGConfig>;
119
209
  showEPG?: boolean;