@kaushal-satani-aipxperts/player-angular 0.1.0

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/README.md ADDED
@@ -0,0 +1,25 @@
1
+ # @kaushal-satani-aipxperts/player-angular
2
+
3
+ Angular wrapper for the Universal Video Player.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @kaushal-satani-aipxperts/player-angular @kaushal-satani-aipxperts/player-web-component
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ 1. Add `CUSTOM_ELEMENTS_SCHEMA` to your module.
14
+ 2. Use the component:
15
+
16
+ ```html
17
+ <uvp-player
18
+ [source-url]="videoUrl"
19
+ [autoplay]="true"
20
+ ></uvp-player>
21
+ ```
22
+
23
+ ## Status: Beta
24
+
25
+ The Angular wrapper is currently in Beta. Please report any issues on GitHub.
@@ -0,0 +1,2 @@
1
+ export * from './uvp-player.component';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './uvp-player.component';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { EventEmitter, ElementRef, AfterViewInit, OnChanges, SimpleChanges, OnDestroy } from '@angular/core';
2
+ import type { UvpQualityOption, UvpSourceItem } from '@kaushal-satani-aipxperts/player-core';
3
+ export declare class UvpAngularPlayerComponent implements AfterViewInit, OnChanges, OnDestroy {
4
+ sourceUrl?: string;
5
+ sourceType?: 'mp4' | 'mov' | 'hls' | 'dash';
6
+ qualities: UvpQualityOption[];
7
+ autoplay: boolean;
8
+ muted: boolean;
9
+ autoNext: boolean;
10
+ loop: boolean;
11
+ playbackRate: number;
12
+ volume: number;
13
+ customControls: boolean;
14
+ poster?: string;
15
+ controls: boolean;
16
+ playlist: UvpSourceItem[];
17
+ ready: EventEmitter<CustomEvent<any>>;
18
+ play: EventEmitter<CustomEvent<any>>;
19
+ pause: EventEmitter<CustomEvent<any>>;
20
+ ended: EventEmitter<CustomEvent<any>>;
21
+ qualitychange: EventEmitter<CustomEvent<any>>;
22
+ error: EventEmitter<CustomEvent<any>>;
23
+ playerElement: ElementRef;
24
+ private eventListeners;
25
+ get qualitiesJson(): string | null;
26
+ get playlistJson(): string | null;
27
+ ngOnChanges(changes: SimpleChanges): void;
28
+ ngAfterViewInit(): void;
29
+ ngOnDestroy(): void;
30
+ playVideo(): Promise<void>;
31
+ pauseVideo(): void;
32
+ seek(seconds: number): void;
33
+ next(): void;
34
+ previous(): void;
35
+ setPlaybackRate(rate: number): void;
36
+ setVolume(vol: number): void;
37
+ setSelectedQuality(qualityId: string | null): void;
38
+ }
39
+ //# sourceMappingURL=uvp-player.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uvp-player.component.d.ts","sourceRoot":"","sources":["../../../src/uvp-player.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,YAAY,EACZ,UAAU,EAEV,aAAa,EACb,SAAS,EACT,aAAa,EACb,SAAS,EAEV,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAI7F,qBAkCa,yBAA0B,YAAW,aAAa,EAAE,SAAS,EAAE,SAAS;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IAC5C,SAAS,EAAE,gBAAgB,EAAE,CAAM;IACnC,QAAQ,UAAS;IACjB,KAAK,UAAS;IACd,QAAQ,UAAS;IACjB,IAAI,UAAS;IACb,YAAY,SAAO;IACnB,MAAM,SAAO;IACb,cAAc,UAAS;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,UAAQ;IAChB,QAAQ,EAAE,aAAa,EAAE,CAAM;IAE9B,KAAK,iCAAmC;IACxC,IAAI,iCAAmC;IACvC,KAAK,iCAAmC;IACxC,KAAK,iCAAmC;IACxC,aAAa,iCAAmC;IAChD,KAAK,iCAAmC;IAEJ,aAAa,EAAG,UAAU,CAAC;IAEzE,OAAO,CAAC,cAAc,CAA6C;IAEnE,IAAI,aAAa,IAAI,MAAM,GAAG,IAAI,CAEjC;IAED,IAAI,YAAY,IAAI,MAAM,GAAG,IAAI,CAEhC;IAED,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAIzC,eAAe,IAAI,IAAI;IAavB,WAAW,IAAI,IAAI;IAUnB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1B,UAAU,IAAI,IAAI;IAIlB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3B,IAAI,IAAI,IAAI;IAIZ,QAAQ,IAAI,IAAI;IAIhB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAInC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI5B,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;CAGnD"}
@@ -0,0 +1,204 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Component, Input, Output, EventEmitter, ElementRef, ViewChild, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
11
+ import { defineUvpPlayerElement } from '@kaushal-satani-aipxperts/player-web-component';
12
+ defineUvpPlayerElement();
13
+ let UvpAngularPlayerComponent = class UvpAngularPlayerComponent {
14
+ constructor() {
15
+ this.qualities = [];
16
+ this.autoplay = false;
17
+ this.muted = false;
18
+ this.autoNext = false;
19
+ this.loop = false;
20
+ this.playbackRate = 1.0;
21
+ this.volume = 1.0;
22
+ this.customControls = false;
23
+ this.controls = true;
24
+ this.playlist = [];
25
+ this.ready = new EventEmitter();
26
+ this.play = new EventEmitter();
27
+ this.pause = new EventEmitter();
28
+ this.ended = new EventEmitter();
29
+ this.qualitychange = new EventEmitter();
30
+ this.error = new EventEmitter();
31
+ this.eventListeners = {};
32
+ }
33
+ get qualitiesJson() {
34
+ return this.qualities && this.qualities.length > 0 ? JSON.stringify(this.qualities) : null;
35
+ }
36
+ get playlistJson() {
37
+ return this.playlist && this.playlist.length > 0 ? JSON.stringify(this.playlist) : null;
38
+ }
39
+ ngOnChanges(changes) {
40
+ // Attributes are handled by template binding
41
+ }
42
+ ngAfterViewInit() {
43
+ const el = this.playerElement.nativeElement;
44
+ const events = ['ready', 'play', 'pause', 'ended', 'qualitychange', 'error'];
45
+ events.forEach(eventName => {
46
+ const handler = (e) => {
47
+ this[eventName].emit(e);
48
+ };
49
+ this.eventListeners[eventName] = handler;
50
+ el.addEventListener(eventName, handler);
51
+ });
52
+ }
53
+ ngOnDestroy() {
54
+ const el = this.playerElement?.nativeElement;
55
+ if (el) {
56
+ Object.entries(this.eventListeners).forEach(([eventName, handler]) => {
57
+ el.removeEventListener(eventName, handler);
58
+ });
59
+ }
60
+ }
61
+ // Imperative API
62
+ playVideo() {
63
+ return this.playerElement.nativeElement.play();
64
+ }
65
+ pauseVideo() {
66
+ this.playerElement.nativeElement.pause();
67
+ }
68
+ seek(seconds) {
69
+ this.playerElement.nativeElement.seek(seconds);
70
+ }
71
+ next() {
72
+ this.playerElement.nativeElement.next();
73
+ }
74
+ previous() {
75
+ this.playerElement.nativeElement.previous();
76
+ }
77
+ setPlaybackRate(rate) {
78
+ this.playerElement.nativeElement.setPlaybackRate(rate);
79
+ }
80
+ setVolume(vol) {
81
+ this.playerElement.nativeElement.setVolume(vol);
82
+ }
83
+ setSelectedQuality(qualityId) {
84
+ this.playerElement.nativeElement.getApi?.().setSelectedQuality(qualityId);
85
+ }
86
+ };
87
+ __decorate([
88
+ Input(),
89
+ __metadata("design:type", String)
90
+ ], UvpAngularPlayerComponent.prototype, "sourceUrl", void 0);
91
+ __decorate([
92
+ Input(),
93
+ __metadata("design:type", String)
94
+ ], UvpAngularPlayerComponent.prototype, "sourceType", void 0);
95
+ __decorate([
96
+ Input(),
97
+ __metadata("design:type", Array)
98
+ ], UvpAngularPlayerComponent.prototype, "qualities", void 0);
99
+ __decorate([
100
+ Input(),
101
+ __metadata("design:type", Object)
102
+ ], UvpAngularPlayerComponent.prototype, "autoplay", void 0);
103
+ __decorate([
104
+ Input(),
105
+ __metadata("design:type", Object)
106
+ ], UvpAngularPlayerComponent.prototype, "muted", void 0);
107
+ __decorate([
108
+ Input(),
109
+ __metadata("design:type", Object)
110
+ ], UvpAngularPlayerComponent.prototype, "autoNext", void 0);
111
+ __decorate([
112
+ Input(),
113
+ __metadata("design:type", Object)
114
+ ], UvpAngularPlayerComponent.prototype, "loop", void 0);
115
+ __decorate([
116
+ Input(),
117
+ __metadata("design:type", Object)
118
+ ], UvpAngularPlayerComponent.prototype, "playbackRate", void 0);
119
+ __decorate([
120
+ Input(),
121
+ __metadata("design:type", Object)
122
+ ], UvpAngularPlayerComponent.prototype, "volume", void 0);
123
+ __decorate([
124
+ Input(),
125
+ __metadata("design:type", Object)
126
+ ], UvpAngularPlayerComponent.prototype, "customControls", void 0);
127
+ __decorate([
128
+ Input(),
129
+ __metadata("design:type", String)
130
+ ], UvpAngularPlayerComponent.prototype, "poster", void 0);
131
+ __decorate([
132
+ Input(),
133
+ __metadata("design:type", Object)
134
+ ], UvpAngularPlayerComponent.prototype, "controls", void 0);
135
+ __decorate([
136
+ Input(),
137
+ __metadata("design:type", Array)
138
+ ], UvpAngularPlayerComponent.prototype, "playlist", void 0);
139
+ __decorate([
140
+ Output(),
141
+ __metadata("design:type", Object)
142
+ ], UvpAngularPlayerComponent.prototype, "ready", void 0);
143
+ __decorate([
144
+ Output(),
145
+ __metadata("design:type", Object)
146
+ ], UvpAngularPlayerComponent.prototype, "play", void 0);
147
+ __decorate([
148
+ Output(),
149
+ __metadata("design:type", Object)
150
+ ], UvpAngularPlayerComponent.prototype, "pause", void 0);
151
+ __decorate([
152
+ Output(),
153
+ __metadata("design:type", Object)
154
+ ], UvpAngularPlayerComponent.prototype, "ended", void 0);
155
+ __decorate([
156
+ Output(),
157
+ __metadata("design:type", Object)
158
+ ], UvpAngularPlayerComponent.prototype, "qualitychange", void 0);
159
+ __decorate([
160
+ Output(),
161
+ __metadata("design:type", Object)
162
+ ], UvpAngularPlayerComponent.prototype, "error", void 0);
163
+ __decorate([
164
+ ViewChild('playerElement', { static: true }),
165
+ __metadata("design:type", ElementRef)
166
+ ], UvpAngularPlayerComponent.prototype, "playerElement", void 0);
167
+ UvpAngularPlayerComponent = __decorate([
168
+ Component({
169
+ selector: 'uvp-angular-player',
170
+ standalone: true,
171
+ template: `
172
+ <uvp-player
173
+ #playerElement
174
+ [attr.source-url]="sourceUrl"
175
+ [attr.source-type]="sourceType"
176
+ [attr.source-qualities]="qualitiesJson"
177
+ [attr.playlist]="playlistJson"
178
+ [attr.poster]="poster"
179
+ [attr.autoplay]="autoplay ? '' : null"
180
+ [attr.muted]="muted ? '' : null"
181
+ [attr.controls]="controls ? 'true' : 'false'"
182
+ [attr.auto-next]="autoNext ? 'true' : null"
183
+ [attr.loop]="loop ? 'true' : null"
184
+ [attr.playback-rate]="playbackRate"
185
+ [attr.volume]="volume"
186
+ [attr.custom-controls]="customControls ? 'true' : null"
187
+ ></uvp-player>
188
+ `,
189
+ styles: [`
190
+ :host {
191
+ display: block;
192
+ width: 100%;
193
+ height: 100%;
194
+ }
195
+ uvp-player {
196
+ width: 100%;
197
+ height: 100%;
198
+ }
199
+ `],
200
+ schemas: [CUSTOM_ELEMENTS_SCHEMA]
201
+ })
202
+ ], UvpAngularPlayerComponent);
203
+ export { UvpAngularPlayerComponent };
204
+ //# sourceMappingURL=uvp-player.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uvp-player.component.js","sourceRoot":"","sources":["../../../src/uvp-player.component.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,131 @@
1
+ import { UvpPlayerCore, type UvpPlayerConfig } from "@kaushal-satani-aipxperts/player-core";
2
+ declare const OBSERVED_ATTRIBUTES: readonly ["source-url", "source-type", "source-qualities", "autoplay", "muted", "poster", "controls", "auto-next", "loop", "playback-rate", "volume", "custom-controls", "playlist"];
3
+ type ObservedAttribute = (typeof OBSERVED_ATTRIBUTES)[number];
4
+ /**
5
+ * Universal Video Player custom element.
6
+ *
7
+ * Provides a framework-agnostic video player with support for MP4, HLS, and DASH,
8
+ * including offline caching and custom UI controls.
9
+ *
10
+ * @example
11
+ * <uvp-player source-url="https://example.com/video.mp4"></uvp-player>
12
+ */
13
+ export declare class UvpPlayerElement extends HTMLElement {
14
+ static get observedAttributes(): ObservedAttribute[];
15
+ private readonly shadowRootRef;
16
+ private readonly shellEl;
17
+ private readonly videoEl;
18
+ private readonly core;
19
+ private readonly controlsEl;
20
+ private readonly centerActionsEl;
21
+ private readonly controlPrevButton;
22
+ private readonly controlPlayPauseButton;
23
+ private readonly controlNextButton;
24
+ private readonly progressPlayedEl;
25
+ private readonly progressBufferedEl;
26
+ private readonly progressThumbEl;
27
+ private readonly progressInput;
28
+ private readonly currentTimeEl;
29
+ private readonly durationEl;
30
+ private readonly muteButton;
31
+ private readonly volumeInput;
32
+ private readonly settingsScrim;
33
+ private readonly settingsWrap;
34
+ private readonly settingsButton;
35
+ private readonly settingsMenu;
36
+ private readonly autoplayToggle;
37
+ private readonly loopToggle;
38
+ private readonly playlistButton;
39
+ private readonly playlistPanel;
40
+ private readonly playlistCloseButton;
41
+ private readonly playlistItemsContainer;
42
+ private readonly slotEl;
43
+ private readonly fullscreenButton;
44
+ private cleanupCallbacks;
45
+ private isCustomControlsMode;
46
+ private showControls;
47
+ private isUserSeeking;
48
+ private controlsHideTimer;
49
+ private isFullscreen;
50
+ private progressRafId;
51
+ private lastStableDuration;
52
+ constructor();
53
+ connectedCallback(): void;
54
+ private readonly handleDocumentClick;
55
+ private refreshPlaylistUi;
56
+ disconnectedCallback(): void;
57
+ attributeChangedCallback(name: ObservedAttribute, _oldValue: string | null, _newValue: string | null): void;
58
+ /**
59
+ * Starts video playback.
60
+ * @returns A promise that resolves when playback starts.
61
+ */
62
+ play(): Promise<void>;
63
+ /**
64
+ * Pauses video playback.
65
+ */
66
+ pause(): void;
67
+ /**
68
+ * Seeks to a specific time in the video.
69
+ * @param seconds - The time in seconds to seek to.
70
+ */
71
+ seek(seconds: number): void;
72
+ /**
73
+ * Plays the next item in the playlist.
74
+ */
75
+ next(): void;
76
+ /**
77
+ * Plays the previous item in the playlist.
78
+ */
79
+ previous(): void;
80
+ /**
81
+ * Sets the playback rate (speed) of the video.
82
+ * @param rate - The playback rate (e.g., 1.0, 1.5, 2.0).
83
+ */
84
+ setPlaybackRate(rate: number): void;
85
+ /**
86
+ * Sets the volume of the video.
87
+ * @param value - The volume level (0.0 to 1.0).
88
+ */
89
+ setVolume(value: number): void;
90
+ /**
91
+ * Returns the underlying player core instance for advanced control.
92
+ * @returns The UvpPlayerCore instance.
93
+ */
94
+ getApi(): UvpPlayerCore;
95
+ private readConfigFromAttributes;
96
+ private buildSourceFromAttributes;
97
+ private parseSourceQualitiesAttr;
98
+ private applyAttributeToCore;
99
+ private readBooleanAttr;
100
+ private readNumberAttr;
101
+ private bindUiEvents;
102
+ private openSettingsMenu;
103
+ private closeSettingsMenu;
104
+ private switchMenuScreen;
105
+ private handleDownloadAction;
106
+ private refreshDownloadUi;
107
+ private updateUiVisibility;
108
+ private readonly handleVideoProgress;
109
+ private readonly handleQualityUiRefresh;
110
+ private readonly handlePlayStateChange;
111
+ private readonly handleVolumeChange;
112
+ private readonly handleFullscreenChange;
113
+ private toggleFullscreen;
114
+ private readonly handleKeyDown;
115
+ private formatTime;
116
+ private readonly markInteraction;
117
+ private clearHideTimer;
118
+ private updateProgressVisual;
119
+ private updateNavigationButtons;
120
+ private parsePlaylistAttr;
121
+ private refreshQualityUi;
122
+ private renderStaticIcons;
123
+ private setButtonIcon;
124
+ private updateSpeedUi;
125
+ private getBufferedPercent;
126
+ private startProgressLoop;
127
+ private stopProgressLoop;
128
+ }
129
+ export declare function defineUvpPlayerElement(tagName?: string): void;
130
+ export type { UvpPlayerCore, UvpPlayerConfig };
131
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../web-component/src/index.ts"],"names":[],"mappings":"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"}