@guardvideo/player-sdk 1.2.0 → 2.0.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.
@@ -1,7 +1,26 @@
1
- export { GuardVideoPlayer as GuardVideoPlayerCore } from './core/player';
2
- export * from './core/types';
3
- export { GuardVideoPlayerComponent as GuardVideoPlayer } from './react/GuardVideoPlayer';
4
- export { useGuardVideoPlayer } from './react/hooks';
5
- export type { GuardVideoPlayerProps, GuardVideoPlayerRef } from './react/GuardVideoPlayer';
6
- export type { UseGuardVideoPlayerOptions, UseGuardVideoPlayerReturn } from './react/hooks';
1
+ import { PlayerUI, PlayerUIConfig } from '../ui/PlayerUI';
2
+ import { PlayerState } from '../core/types';
3
+ export { PlayerState };
4
+ export { PlayerUI };
5
+ export type { PlayerError, BrandingConfig, ContextMenuItem, SecurityConfig, } from '../core/types';
6
+ export type { PlayerUIConfig as VanillaPlayerConfig };
7
+ export declare class GuardVideoPlayer {
8
+ private ui;
9
+ private constructor();
10
+ static create(containerId: string, videoId: string, config: PlayerUIConfig): GuardVideoPlayer;
11
+ static createInElement(container: HTMLElement, videoId: string, config: PlayerUIConfig): GuardVideoPlayer;
12
+ play(): Promise<void>;
13
+ pause(): void;
14
+ seek(time: number): void;
15
+ getCurrentTime(): number;
16
+ getDuration(): number;
17
+ getVolume(): number;
18
+ setVolume(volume: number): void;
19
+ getQualityLevels(): import("../core/types").QualityLevel[];
20
+ getCurrentQuality(): import("../core/types").QualityLevel | null;
21
+ setQuality(idx: number): void;
22
+ getState(): PlayerState;
23
+ getVideoElement(): HTMLVideoElement;
24
+ destroy(): void;
25
+ }
7
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACzE,cAAc,cAAc,CAAC;AAG7B,OAAO,EAAE,yBAAyB,IAAI,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC3F,YAAY,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vanilla/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,YAAY,EACV,WAAW,EACX,cAAc,EACd,eAAe,EACf,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,cAAc,IAAI,mBAAmB,EAAE,CAAC;AAEtD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,EAAE,CAAW;IAErB,OAAO;IAaP,MAAM,CAAC,MAAM,CACX,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,cAAc,GACrB,gBAAgB;IASnB,MAAM,CAAC,eAAe,CACpB,SAAS,EAAE,WAAW,EACtB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,cAAc,GACrB,gBAAgB;IAInB,IAAI;IACJ,KAAK;IACL,IAAI,CAAC,IAAI,EAAE,MAAM;IACjB,cAAc;IACd,WAAW;IACX,SAAS;IACT,SAAS,CAAC,MAAM,EAAE,MAAM;IACxB,gBAAgB;IAChB,iBAAiB;IACjB,UAAU,CAAC,GAAG,EAAE,MAAM;IACtB,QAAQ;IACR,eAAe;IACf,OAAO;CACR"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@guardvideo/player-sdk",
3
- "version": "1.2.0",
3
+ "version": "2.0.0",
4
4
  "description": "GuardVideo Player SDK - Secure HLS video player with embed token authentication for React, Next.js, and vanilla JavaScript",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,54 +0,0 @@
1
- import { PlayerConfig, PlayerState, PlayerInstance, QualityLevel } from './types';
2
- export declare class GuardVideoPlayer implements PlayerInstance {
3
- private videoId;
4
- private videoElement;
5
- private container;
6
- private hls;
7
- private config;
8
- private state;
9
- private embedToken;
10
- private currentQuality;
11
- private ctxMenu;
12
- private ctxStyleTag;
13
- private watermarkEl;
14
- private watermarkObserver;
15
- private _onCtx;
16
- private _onDocClick;
17
- private _onKeyDown;
18
- private _onRateChange;
19
- private _onSelectStart;
20
- private _onDragStart;
21
- constructor(videoElement: HTMLVideoElement, videoId: string, config: PlayerConfig);
22
- private log;
23
- private error;
24
- private setState;
25
- private checkAllowedDomain;
26
- private applySecurity;
27
- private handleContextMenu;
28
- private showContextMenu;
29
- private hideContextMenu;
30
- private injectProtectiveStyles;
31
- private createWatermark;
32
- private handleKeyDown;
33
- private enforceMaxRate;
34
- private initialize;
35
- private fetchAndApplyWatermark;
36
- private fetchEmbedToken;
37
- private initializePlayer;
38
- private initializeHls;
39
- private setupVideoEventListeners;
40
- private handleError;
41
- play(): Promise<void>;
42
- pause(): void;
43
- getCurrentTime(): number;
44
- seek(time: number): void;
45
- getDuration(): number;
46
- getVolume(): number;
47
- setVolume(volume: number): void;
48
- getQualityLevels(): QualityLevel[];
49
- getCurrentQuality(): QualityLevel | null;
50
- setQuality(levelIndex: number): void;
51
- getState(): PlayerState;
52
- destroy(): void;
53
- }
54
- //# sourceMappingURL=player.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"player.d.ts","sourceRoot":"","sources":["../../src/core/player.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,YAAY,EAEZ,WAAW,EACX,cAAc,EACd,YAAY,EAKb,MAAM,SAAS,CAAC;AA4BjB,qBAAa,gBAAiB,YAAW,cAAc;IA4BnD,OAAO,CAAC,OAAO;IA3BjB,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,GAAG,CAAoB;IAC/B,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,UAAU,CAAmC;IACrD,OAAO,CAAC,cAAc,CAA6B;IAGnD,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,WAAW,CAAiC;IAGpD,OAAO,CAAC,WAAW,CAA+B;IAElD,OAAO,CAAC,iBAAiB,CAAiC;IAG1D,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,WAAW,CAAmC;IACtD,OAAO,CAAC,UAAU,CAAiC;IACnD,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,cAAc,CAAoC;IAC1D,OAAO,CAAC,YAAY,CAAoC;gBAGtD,YAAY,EAAE,gBAAgB,EACtB,OAAO,EAAE,MAAM,EACvB,MAAM,EAAE,YAAY;IAwCtB,OAAO,CAAC,GAAG;IAMX,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,kBAAkB;IAuB1B,OAAO,CAAC,aAAa;IA0DrB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,eAAe;IAqHvB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,sBAAsB;IA4G9B,OAAO,CAAC,eAAe;IAgCvB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,cAAc;YAWR,UAAU;YAwBV,sBAAsB;YA8BtB,eAAe;YA2Bf,gBAAgB;IAgC9B,OAAO,CAAC,aAAa;IAsErB,OAAO,CAAC,wBAAwB;IAiChC,OAAO,CAAC,WAAW;IASN,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3B,KAAK,IAAI,IAAI;IAIb,cAAc,IAAI,MAAM;IAIxB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIxB,WAAW,IAAI,MAAM;IAIrB,SAAS,IAAI,MAAM;IAInB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,gBAAgB,IAAI,YAAY,EAAE;IAYlC,iBAAiB,IAAI,YAAY,GAAG,IAAI;IAIxC,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAOpC,QAAQ,IAAI,WAAW;IAIvB,OAAO,IAAI,IAAI;CA2BvB"}
@@ -1,100 +0,0 @@
1
- export interface EmbedTokenResponse {
2
- tokenId: string;
3
- videoId: string;
4
- allowedDomain: string;
5
- expiresAt: string;
6
- maxViews: number | null;
7
- playerUrl: string;
8
- embedCode?: string;
9
- watermarkText?: string | null;
10
- forensicWatermark?: boolean;
11
- }
12
- export interface ContextMenuItem {
13
- label: string;
14
- href?: string;
15
- onClick?: () => void;
16
- icon?: string;
17
- separator?: boolean;
18
- }
19
- export interface BrandingConfig {
20
- name?: string;
21
- url?: string;
22
- logoUrl?: string;
23
- accentColor?: string;
24
- }
25
- export interface SecurityConfig {
26
- disableRightClick?: boolean;
27
- disableSelection?: boolean;
28
- disableDrag?: boolean;
29
- enableWatermark?: boolean;
30
- watermarkText?: string;
31
- disablePiP?: boolean;
32
- disableScreenCapture?: boolean;
33
- blockDevTools?: boolean;
34
- maxPlaybackRate?: number;
35
- allowedDomains?: string[];
36
- }
37
- export interface PlayerConfig {
38
- embedTokenEndpoint: string;
39
- apiBaseUrl?: string;
40
- debug?: boolean;
41
- autoplay?: boolean;
42
- controls?: boolean;
43
- className?: string;
44
- style?: React.CSSProperties | Record<string, string>;
45
- hlsConfig?: Partial<HlsConfig>;
46
- branding?: BrandingConfig;
47
- contextMenuItems?: ContextMenuItem[];
48
- security?: SecurityConfig;
49
- viewerName?: string;
50
- viewerEmail?: string;
51
- forensicWatermark?: boolean;
52
- onReady?: () => void;
53
- onError?: (error: PlayerError) => void;
54
- onQualityChange?: (quality: string) => void;
55
- onStateChange?: (state: PlayerState) => void;
56
- }
57
- export interface HlsConfig {
58
- debug?: boolean;
59
- enableWorker?: boolean;
60
- lowLatencyMode?: boolean;
61
- maxBufferLength?: number;
62
- maxMaxBufferLength?: number;
63
- }
64
- export interface PlayerError {
65
- code: string;
66
- message: string;
67
- fatal: boolean;
68
- details?: any;
69
- }
70
- export declare enum PlayerState {
71
- IDLE = "idle",
72
- LOADING = "loading",
73
- READY = "ready",
74
- PLAYING = "playing",
75
- PAUSED = "paused",
76
- BUFFERING = "buffering",
77
- ERROR = "error"
78
- }
79
- export interface QualityLevel {
80
- index: number;
81
- height: number;
82
- width: number;
83
- bitrate: number;
84
- name: string;
85
- }
86
- export interface PlayerInstance {
87
- play(): Promise<void>;
88
- pause(): void;
89
- getCurrentTime(): number;
90
- seek(time: number): void;
91
- getDuration(): number;
92
- getVolume(): number;
93
- setVolume(volume: number): void;
94
- getQualityLevels(): QualityLevel[];
95
- getCurrentQuality(): QualityLevel | null;
96
- setQuality(levelIndex: number): void;
97
- getState(): PlayerState;
98
- destroy(): void;
99
- }
100
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAGD,MAAM,WAAW,eAAe;IAE9B,KAAK,EAAE,MAAM,CAAC;IAEd,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAGD,MAAM,WAAW,cAAc;IAI7B,IAAI,CAAC,EAAE,MAAM,CAAC;IAId,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,OAAO,CAAC,EAAE,MAAM,CAAC;IAIjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAGD,MAAM,WAAW,cAAc;IAI7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAI5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAI3B,WAAW,CAAC,EAAE,OAAO,CAAC;IAItB,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,aAAa,CAAC,EAAE,MAAM,CAAC;IAIvB,UAAU,CAAC,EAAE,OAAO,CAAC;IAIrB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAI/B,aAAa,CAAC,EAAE,OAAO,CAAC;IAIxB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAK3B,kBAAkB,EAAE,MAAM,CAAC;IAM3B,UAAU,CAAC,EAAE,MAAM,CAAC;IAMpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAMhB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAMnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAKnB,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAKrD,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAG/B,QAAQ,CAAC,EAAE,cAAc,CAAC;IAG1B,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IAGrC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAM1B,UAAU,CAAC,EAAE,MAAM,CAAC;IAMpB,WAAW,CAAC,EAAE,MAAM,CAAC;IAQrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAK5B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAKrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAKvC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAK5C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CAC9C;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED,oBAAY,WAAW;IACrB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,KAAK,UAAU;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAI7B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAKtB,KAAK,IAAI,IAAI,CAAC;IAKd,cAAc,IAAI,MAAM,CAAC;IAKzB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAKzB,WAAW,IAAI,MAAM,CAAC;IAKtB,SAAS,IAAI,MAAM,CAAC;IAKpB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAKhC,gBAAgB,IAAI,YAAY,EAAE,CAAC;IAKnC,iBAAiB,IAAI,YAAY,GAAG,IAAI,CAAC;IAKzC,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAKrC,QAAQ,IAAI,WAAW,CAAC;IAKxB,OAAO,IAAI,IAAI,CAAC;CACjB"}
@@ -1,21 +0,0 @@
1
- import React from 'react';
2
- import { PlayerConfig, PlayerError, PlayerState, PlayerInstance, BrandingConfig, ContextMenuItem, SecurityConfig } from '../core/types';
3
- export interface GuardVideoPlayerProps extends Omit<PlayerConfig, 'onReady' | 'onError' | 'onQualityChange' | 'onStateChange'> {
4
- videoId: string;
5
- width?: string | number;
6
- height?: string | number;
7
- branding?: BrandingConfig;
8
- contextMenuItems?: ContextMenuItem[];
9
- security?: SecurityConfig;
10
- onReady?: () => void;
11
- onError?: (error: PlayerError) => void;
12
- onQualityChange?: (quality: string) => void;
13
- onStateChange?: (state: PlayerState) => void;
14
- onTimeUpdate?: (currentTime: number) => void;
15
- onEnded?: () => void;
16
- }
17
- export interface GuardVideoPlayerRef extends PlayerInstance {
18
- getVideoElement: () => HTMLVideoElement | null;
19
- }
20
- export declare const GuardVideoPlayerComponent: React.ForwardRefExoticComponent<GuardVideoPlayerProps & React.RefAttributes<GuardVideoPlayerRef>>;
21
- //# sourceMappingURL=GuardVideoPlayer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GuardVideoPlayer.d.ts","sourceRoot":"","sources":["../../src/react/GuardVideoPlayer.tsx"],"names":[],"mappings":"AAKA,OAAO,KAON,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,YAAY,EACZ,WAAW,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,eAAe,EACf,cAAc,EAEf,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,qBACf,SAAQ,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS,GAAG,iBAAiB,GAAG,eAAe,CAAC;IAEvF,OAAO,EAAE,MAAM,CAAC;IAEhB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEzB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAE1B,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IAErC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACvC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC7C,YAAY,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,eAAe,EAAE,MAAM,gBAAgB,GAAG,IAAI,CAAC;CAChD;AAudD,eAAO,MAAM,yBAAyB,mGAijBrC,CAAC"}
@@ -1,28 +0,0 @@
1
- import { GuardVideoPlayer } from '../core/player';
2
- import { PlayerConfig, PlayerState, PlayerError, QualityLevel, BrandingConfig, ContextMenuItem, SecurityConfig } from '../core/types';
3
- export interface UseGuardVideoPlayerOptions extends PlayerConfig {
4
- videoId: string;
5
- branding?: BrandingConfig;
6
- contextMenuItems?: ContextMenuItem[];
7
- security?: SecurityConfig;
8
- }
9
- export interface UseGuardVideoPlayerReturn {
10
- videoRef: React.RefObject<HTMLVideoElement | null>;
11
- player: GuardVideoPlayer | null;
12
- state: PlayerState;
13
- error: PlayerError | null;
14
- currentTime: number;
15
- duration: number;
16
- volume: number;
17
- currentQuality: QualityLevel | null;
18
- qualityLevels: QualityLevel[];
19
- isReady: boolean;
20
- isPlaying: boolean;
21
- play: () => Promise<void>;
22
- pause: () => void;
23
- seek: (time: number) => void;
24
- setVolume: (volume: number) => void;
25
- setQuality: (levelIndex: number) => void;
26
- }
27
- export declare function useGuardVideoPlayer(options: UseGuardVideoPlayerOptions): UseGuardVideoPlayerReturn;
28
- //# sourceMappingURL=hooks.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/react/hooks.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EACL,YAAY,EACZ,WAAW,EACX,WAAW,EACX,YAAY,EACZ,cAAc,EACd,eAAe,EACf,cAAc,EACf,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,0BAA2B,SAAQ,YAAY;IAC9D,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACnD,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAChC,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,YAAY,GAAG,IAAI,CAAC;IACpC,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,UAAU,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,0BAA0B,GAClC,yBAAyB,CA0G3B"}
@@ -1,118 +0,0 @@
1
- import { PlayerConfig, PlayerState, PlayerError, QualityLevel, BrandingConfig, ContextMenuItem, SecurityConfig } from '../core/types';
2
- declare class VanillaPlayerUI {
3
- private root;
4
- private videoEl;
5
- private corePlayer;
6
- private spinner;
7
- private centerPlay;
8
- private centerPlayBtn;
9
- private clickArea;
10
- private controls;
11
- private seekWrap;
12
- private seekBuffered;
13
- private seekProgress;
14
- private seekThumb;
15
- private seekTooltip;
16
- private playBtn;
17
- private volBtn;
18
- private volSlider;
19
- private timeEl;
20
- private speedLabel;
21
- private speedMenu;
22
- private settingsBtn;
23
- private qualityMenu;
24
- private fsBtn;
25
- private errorOverlay;
26
- private badge;
27
- private watermarkDiv;
28
- private playerState;
29
- private duration;
30
- private bufferedEnd;
31
- private qualityLevels;
32
- private currentQualityIdx;
33
- private playbackRate;
34
- private openMenu;
35
- private hideTimer;
36
- private accent;
37
- private brandName;
38
- private watermarkText;
39
- private seekDragging;
40
- constructor(container: HTMLElement, videoId: string, config: PlayerConfig & {
41
- branding?: BrandingConfig;
42
- security?: SecurityConfig;
43
- contextMenuItems?: ContextMenuItem[];
44
- viewerName?: string;
45
- viewerEmail?: string;
46
- forensicWatermark?: boolean;
47
- width?: string;
48
- height?: string;
49
- });
50
- private buildDOM;
51
- private wireEvents;
52
- private onStateChange;
53
- private togglePlay;
54
- private renderPlayBtn;
55
- private toggleMute;
56
- private onVolumeChange;
57
- private seekTo;
58
- private onSeekHover;
59
- private onTimeUpdate;
60
- private updateSeekBar;
61
- private buildQualityMenu;
62
- private refreshQualityMenu;
63
- private refreshSpeedMenu;
64
- private toggleMenu;
65
- private closeMenus;
66
- private showControls;
67
- private resetHideTimer;
68
- private toggleFullscreen;
69
- private onFsChange;
70
- private showError;
71
- private renderWatermark;
72
- private addRipple;
73
- play(): Promise<void>;
74
- pause(): void;
75
- seek(t: number): void;
76
- getCurrentTime(): number;
77
- getDuration(): number;
78
- getVolume(): number;
79
- setVolume(v: number): void;
80
- getQualityLevels(): QualityLevel[];
81
- getCurrentQuality(): QualityLevel | null;
82
- setQuality(i: number): void;
83
- getState(): PlayerState;
84
- getVideoElement(): HTMLVideoElement;
85
- destroy(): void;
86
- }
87
- export interface VanillaPlayerConfig extends PlayerConfig {
88
- branding?: BrandingConfig;
89
- security?: SecurityConfig;
90
- contextMenuItems?: ContextMenuItem[];
91
- viewerName?: string;
92
- viewerEmail?: string;
93
- forensicWatermark?: boolean;
94
- width?: string;
95
- height?: string;
96
- }
97
- export declare class GuardVideoPlayer {
98
- private ui;
99
- constructor(ui: VanillaPlayerUI);
100
- static create(containerId: string, videoId: string, config: VanillaPlayerConfig): GuardVideoPlayer;
101
- static createInElement(container: HTMLElement, videoId: string, config: VanillaPlayerConfig): GuardVideoPlayer;
102
- play(): Promise<void>;
103
- pause(): void;
104
- seek(time: number): void;
105
- getCurrentTime(): number;
106
- getDuration(): number;
107
- getVolume(): number;
108
- setVolume(volume: number): void;
109
- getQualityLevels(): QualityLevel[];
110
- getCurrentQuality(): QualityLevel | null;
111
- setQuality(idx: number): void;
112
- getState(): PlayerState;
113
- getVideoElement(): HTMLVideoElement;
114
- destroy(): void;
115
- }
116
- export { PlayerState };
117
- export type { PlayerError, BrandingConfig, ContextMenuItem, SecurityConfig, VanillaPlayerConfig as PlayerConfig };
118
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vanilla/index.ts"],"names":[],"mappings":"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"}