@universal-web-video-player/player-angular 0.5.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
+ # @universal-web-video-player/player-angular
2
+
3
+ Angular wrapper for the Universal Video Player.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @universal-web-video-player/player-angular @universal-web-video-player/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"}
package/dist/index.js ADDED
@@ -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,47 @@
1
+ import { EventEmitter, ElementRef, AfterViewInit, OnChanges, SimpleChanges, OnDestroy } from '@angular/core';
2
+ import type { UvpQualityOption, UvpSourceItem, UvpScaleMode, UvpState } from '@universal-web-video-player/player-core';
3
+ import * as i0 from "@angular/core";
4
+ export declare class UvpAngularPlayerComponent implements AfterViewInit, OnChanges, OnDestroy {
5
+ sourceUrl?: string;
6
+ sourceType?: 'mp4' | 'mov' | 'hls' | 'dash';
7
+ qualities: UvpQualityOption[];
8
+ autoplay: boolean;
9
+ muted: boolean;
10
+ autoNext: boolean;
11
+ loop: boolean;
12
+ playbackRate: number;
13
+ volume: number;
14
+ customControls: boolean;
15
+ poster?: string;
16
+ controls: boolean;
17
+ playlist: UvpSourceItem[];
18
+ scaleMode?: UvpScaleMode;
19
+ hideSettings: boolean;
20
+ hideFullscreen: boolean;
21
+ hidePlaylist: boolean;
22
+ hideVolume: boolean;
23
+ onReady: EventEmitter<CustomEvent<any>>;
24
+ onPlay: EventEmitter<CustomEvent<any>>;
25
+ onPause: EventEmitter<CustomEvent<any>>;
26
+ onEnded: EventEmitter<CustomEvent<any>>;
27
+ onQualityChange: EventEmitter<CustomEvent<any>>;
28
+ onError: EventEmitter<CustomEvent<any>>;
29
+ onStateChange: EventEmitter<UvpState>;
30
+ playerElement: ElementRef;
31
+ private eventListeners;
32
+ get qualitiesJson(): string | null;
33
+ get playlistJson(): string | null;
34
+ ngOnChanges(changes: SimpleChanges): void;
35
+ ngAfterViewInit(): void;
36
+ ngOnDestroy(): void;
37
+ play(): Promise<void>;
38
+ pause(): void;
39
+ seek(seconds: number): void;
40
+ next(): void;
41
+ previous(): void;
42
+ seekToLive(): void;
43
+ getPlayerState(): UvpState;
44
+ static ɵfac: i0.ɵɵFactoryDeclaration<UvpAngularPlayerComponent, never>;
45
+ static ɵcmp: i0.ɵɵComponentDeclaration<UvpAngularPlayerComponent, "uvp-angular-player", never, { "sourceUrl": { "alias": "sourceUrl"; "required": false; }; "sourceType": { "alias": "sourceType"; "required": false; }; "qualities": { "alias": "qualities"; "required": false; }; "autoplay": { "alias": "autoplay"; "required": false; }; "muted": { "alias": "muted"; "required": false; }; "autoNext": { "alias": "autoNext"; "required": false; }; "loop": { "alias": "loop"; "required": false; }; "playbackRate": { "alias": "playbackRate"; "required": false; }; "volume": { "alias": "volume"; "required": false; }; "customControls": { "alias": "customControls"; "required": false; }; "poster": { "alias": "poster"; "required": false; }; "controls": { "alias": "controls"; "required": false; }; "playlist": { "alias": "playlist"; "required": false; }; "scaleMode": { "alias": "scaleMode"; "required": false; }; "hideSettings": { "alias": "hideSettings"; "required": false; }; "hideFullscreen": { "alias": "hideFullscreen"; "required": false; }; "hidePlaylist": { "alias": "hidePlaylist"; "required": false; }; "hideVolume": { "alias": "hideVolume"; "required": false; }; }, { "onReady": "ready"; "onPlay": "play"; "onPause": "pause"; "onEnded": "ended"; "onQualityChange": "qualitychange"; "onError": "error"; "onStateChange": "statechange"; }, never, ["*"], true, never>;
46
+ }
47
+ //# 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,EACV,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,QAAQ,EACT,MAAM,yCAAyC,CAAC;;AAIjD,qBAyCa,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;IAC/B,SAAS,CAAC,EAAE,YAAY,CAAC;IAGzB,YAAY,UAAS;IACrB,cAAc,UAAS;IACvB,YAAY,UAAS;IACrB,UAAU,UAAS;IAEX,OAAO,iCAAmC;IAC3C,MAAM,iCAAmC;IACxC,OAAO,iCAAmC;IAC1C,OAAO,iCAAmC;IAClC,eAAe,iCAAmC;IAC1D,OAAO,iCAAmC;IACpC,aAAa,yBAAgC;IAEtB,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;IA0BvB,WAAW,IAAI,IAAI;IAUnB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,KAAK,IAAI,IAAI;IAIb,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3B,IAAI,IAAI,IAAI;IAIZ,QAAQ,IAAI,IAAI;IAIhB,UAAU,IAAI,IAAI;IAIlB,cAAc,IAAI,QAAQ;yCA1Gf,yBAAyB;2CAAzB,yBAAyB;CA6GrC"}
@@ -0,0 +1,204 @@
1
+ import { Component, Input, Output, EventEmitter, ElementRef, ViewChild, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
2
+ import { defineUvpPlayerElement } from '@universal-web-video-player/player-web-component';
3
+ import * as i0 from "@angular/core";
4
+ const _c0 = ["playerElement"];
5
+ const _c1 = ["*"];
6
+ defineUvpPlayerElement();
7
+ export class UvpAngularPlayerComponent {
8
+ sourceUrl;
9
+ sourceType;
10
+ qualities = [];
11
+ autoplay = false;
12
+ muted = false;
13
+ autoNext = false;
14
+ loop = false;
15
+ playbackRate = 1.0;
16
+ volume = 1.0;
17
+ customControls = false;
18
+ poster;
19
+ controls = true;
20
+ playlist = [];
21
+ scaleMode;
22
+ // Feature Flags
23
+ hideSettings = false;
24
+ hideFullscreen = false;
25
+ hidePlaylist = false;
26
+ hideVolume = false;
27
+ onReady = new EventEmitter();
28
+ onPlay = new EventEmitter();
29
+ onPause = new EventEmitter();
30
+ onEnded = new EventEmitter();
31
+ onQualityChange = new EventEmitter();
32
+ onError = new EventEmitter();
33
+ onStateChange = new EventEmitter();
34
+ playerElement;
35
+ eventListeners = {};
36
+ get qualitiesJson() {
37
+ return this.qualities && this.qualities.length > 0 ? JSON.stringify(this.qualities) : null;
38
+ }
39
+ get playlistJson() {
40
+ return this.playlist && this.playlist.length > 0 ? JSON.stringify(this.playlist) : null;
41
+ }
42
+ ngOnChanges(changes) {
43
+ // Attributes and properties are handled by template binding
44
+ }
45
+ ngAfterViewInit() {
46
+ const el = this.playerElement.nativeElement;
47
+ const eventMap = {
48
+ 'ready': this.onReady,
49
+ 'play': this.onPlay,
50
+ 'pause': this.onPause,
51
+ 'ended': this.onEnded,
52
+ 'qualitychange': this.onQualityChange,
53
+ 'error': this.onError,
54
+ 'uvp-state-change': this.onStateChange
55
+ };
56
+ Object.entries(eventMap).forEach(([eventName, emitter]) => {
57
+ const handler = (e) => {
58
+ if (eventName === 'uvp-state-change') {
59
+ emitter.emit(e.detail);
60
+ }
61
+ else {
62
+ emitter.emit(e);
63
+ }
64
+ };
65
+ this.eventListeners[eventName] = handler;
66
+ el.addEventListener(eventName, handler);
67
+ });
68
+ }
69
+ ngOnDestroy() {
70
+ const el = this.playerElement?.nativeElement;
71
+ if (el) {
72
+ Object.entries(this.eventListeners).forEach(([eventName, handler]) => {
73
+ el.removeEventListener(eventName, handler);
74
+ });
75
+ }
76
+ }
77
+ // Imperative API
78
+ play() {
79
+ return this.playerElement.nativeElement.play();
80
+ }
81
+ pause() {
82
+ this.playerElement.nativeElement.pause();
83
+ }
84
+ seek(seconds) {
85
+ this.playerElement.nativeElement.seek(seconds);
86
+ }
87
+ next() {
88
+ this.playerElement.nativeElement.next();
89
+ }
90
+ previous() {
91
+ this.playerElement.nativeElement.previous();
92
+ }
93
+ seekToLive() {
94
+ this.playerElement.nativeElement.seekToLive();
95
+ }
96
+ getPlayerState() {
97
+ return this.playerElement.nativeElement.getPlayerState();
98
+ }
99
+ static ɵfac = function UvpAngularPlayerComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UvpAngularPlayerComponent)(); };
100
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UvpAngularPlayerComponent, selectors: [["uvp-angular-player"]], viewQuery: function UvpAngularPlayerComponent_Query(rf, ctx) { if (rf & 1) {
101
+ i0.ɵɵviewQuery(_c0, 7);
102
+ } if (rf & 2) {
103
+ let _t;
104
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.playerElement = _t.first);
105
+ } }, inputs: { sourceUrl: "sourceUrl", sourceType: "sourceType", qualities: "qualities", autoplay: "autoplay", muted: "muted", autoNext: "autoNext", loop: "loop", playbackRate: "playbackRate", volume: "volume", customControls: "customControls", poster: "poster", controls: "controls", playlist: "playlist", scaleMode: "scaleMode", hideSettings: "hideSettings", hideFullscreen: "hideFullscreen", hidePlaylist: "hidePlaylist", hideVolume: "hideVolume" }, outputs: { onReady: "ready", onPlay: "play", onPause: "pause", onEnded: "ended", onQualityChange: "qualitychange", onError: "error", onStateChange: "statechange" }, standalone: true, features: [i0.ɵɵNgOnChangesFeature, i0.ɵɵStandaloneFeature], ngContentSelectors: _c1, decls: 3, vars: 18, consts: [["playerElement", ""], [3, "muted", "loop", "playbackRate", "volume"]], template: function UvpAngularPlayerComponent_Template(rf, ctx) { if (rf & 1) {
106
+ i0.ɵɵprojectionDef();
107
+ i0.ɵɵelementStart(0, "uvp-player", 1, 0);
108
+ i0.ɵɵprojection(2);
109
+ i0.ɵɵelementEnd();
110
+ } if (rf & 2) {
111
+ i0.ɵɵproperty("muted", ctx.muted)("loop", ctx.loop)("playbackRate", ctx.playbackRate)("volume", ctx.volume);
112
+ i0.ɵɵattribute("source-url", ctx.sourceUrl)("source-type", ctx.sourceType)("source-qualities", ctx.qualitiesJson)("playlist", ctx.playlistJson)("poster", ctx.poster)("autoplay", ctx.autoplay ? "" : null)("controls", ctx.controls === false ? "false" : null)("auto-next", ctx.autoNext ? "true" : null)("custom-controls", ctx.customControls ? "true" : null)("scale-mode", ctx.scaleMode)("hide-settings", ctx.hideSettings ? "" : null)("hide-fullscreen", ctx.hideFullscreen ? "" : null)("hide-playlist", ctx.hidePlaylist ? "" : null)("hide-volume", ctx.hideVolume ? "" : null);
113
+ } }, styles: ["[_nghost-%COMP%] {\n display: block;\n width: 100%;\n height: 100%;\n }\n uvp-player[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n }"] });
114
+ }
115
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UvpAngularPlayerComponent, [{
116
+ type: Component,
117
+ args: [{ selector: 'uvp-angular-player', standalone: true, template: `
118
+ <uvp-player
119
+ #playerElement
120
+ [attr.source-url]="sourceUrl"
121
+ [attr.source-type]="sourceType"
122
+ [attr.source-qualities]="qualitiesJson"
123
+ [attr.playlist]="playlistJson"
124
+ [attr.poster]="poster"
125
+ [attr.autoplay]="autoplay ? '' : null"
126
+ [muted]="muted"
127
+ [attr.controls]="controls === false ? 'false' : null"
128
+ [attr.auto-next]="autoNext ? 'true' : null"
129
+ [loop]="loop"
130
+ [playbackRate]="playbackRate"
131
+ [volume]="volume"
132
+ [attr.custom-controls]="customControls ? 'true' : null"
133
+ [attr.scale-mode]="scaleMode"
134
+ [attr.hide-settings]="hideSettings ? '' : null"
135
+ [attr.hide-fullscreen]="hideFullscreen ? '' : null"
136
+ [attr.hide-playlist]="hidePlaylist ? '' : null"
137
+ [attr.hide-volume]="hideVolume ? '' : null"
138
+ >
139
+ <ng-content></ng-content>
140
+ </uvp-player>
141
+ `, schemas: [CUSTOM_ELEMENTS_SCHEMA], styles: ["\n :host {\n display: block;\n width: 100%;\n height: 100%;\n }\n uvp-player {\n width: 100%;\n height: 100%;\n }\n "] }]
142
+ }], null, { sourceUrl: [{
143
+ type: Input
144
+ }], sourceType: [{
145
+ type: Input
146
+ }], qualities: [{
147
+ type: Input
148
+ }], autoplay: [{
149
+ type: Input
150
+ }], muted: [{
151
+ type: Input
152
+ }], autoNext: [{
153
+ type: Input
154
+ }], loop: [{
155
+ type: Input
156
+ }], playbackRate: [{
157
+ type: Input
158
+ }], volume: [{
159
+ type: Input
160
+ }], customControls: [{
161
+ type: Input
162
+ }], poster: [{
163
+ type: Input
164
+ }], controls: [{
165
+ type: Input
166
+ }], playlist: [{
167
+ type: Input
168
+ }], scaleMode: [{
169
+ type: Input
170
+ }], hideSettings: [{
171
+ type: Input
172
+ }], hideFullscreen: [{
173
+ type: Input
174
+ }], hidePlaylist: [{
175
+ type: Input
176
+ }], hideVolume: [{
177
+ type: Input
178
+ }], onReady: [{
179
+ type: Output,
180
+ args: ['ready']
181
+ }], onPlay: [{
182
+ type: Output,
183
+ args: ['play']
184
+ }], onPause: [{
185
+ type: Output,
186
+ args: ['pause']
187
+ }], onEnded: [{
188
+ type: Output,
189
+ args: ['ended']
190
+ }], onQualityChange: [{
191
+ type: Output,
192
+ args: ['qualitychange']
193
+ }], onError: [{
194
+ type: Output,
195
+ args: ['error']
196
+ }], onStateChange: [{
197
+ type: Output,
198
+ args: ['statechange']
199
+ }], playerElement: [{
200
+ type: ViewChild,
201
+ args: ['playerElement', { static: true }]
202
+ }] }); })();
203
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UvpAngularPlayerComponent, { className: "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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"}
package/package.json ADDED
@@ -0,0 +1,56 @@
1
+ {
2
+ "name": "@universal-web-video-player/player-angular",
3
+ "version": "0.5.0",
4
+ "description": "Angular wrapper for universal video player",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "module": "dist/index.js",
8
+ "types": "dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js"
13
+ }
14
+ },
15
+ "files": [
16
+ "dist"
17
+ ],
18
+ "scripts": {
19
+ "build": "ngc -p tsconfig.json",
20
+ "lint": "tsc --noEmit",
21
+ "typecheck": "tsc --noEmit"
22
+ },
23
+ "dependencies": {
24
+ "@universal-web-video-player/player-web-component": "0.5.0"
25
+ },
26
+ "peerDependencies": {
27
+ "@angular/common": ">=14",
28
+ "@angular/core": ">=14"
29
+ },
30
+ "devDependencies": {
31
+ "@angular/common": "^18.0.0",
32
+ "@angular/compiler": "^18.0.0",
33
+ "@angular/compiler-cli": "^18.0.0",
34
+ "@angular/core": "^18.0.0",
35
+ "rxjs": "^7.8.1",
36
+ "tsup": "^8.5.1",
37
+ "typescript": "~5.5.4",
38
+ "zone.js": "^0.14.7"
39
+ },
40
+ "license": "MIT",
41
+ "author": "AIPXPERTS",
42
+ "repository": {
43
+ "type": "git",
44
+ "url": "https://github.com/aipxperts/aipxperts-video-player.git",
45
+ "directory": "packages/angular"
46
+ },
47
+ "bugs": {
48
+ "url": "https://github.com/aipxperts/aipxperts-video-player/issues"
49
+ },
50
+ "homepage": "https://github.com/aipxperts/aipxperts-video-player#readme",
51
+ "keywords": [
52
+ "video",
53
+ "player",
54
+ "angular"
55
+ ]
56
+ }