@guardvideo/player-sdk 1.1.0 → 1.3.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 +292 -241
- package/dist/index.esm.js +760 -632
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +759 -631
- package/dist/index.js.map +1 -1
- package/dist/react/GuardVideoPlayer.d.ts +8 -5
- package/dist/react/GuardVideoPlayer.d.ts.map +1 -1
- package/dist/ui/PlayerUI.d.ts +94 -0
- package/dist/ui/PlayerUI.d.ts.map +1 -0
- package/dist/vanilla/guardvideo-player.js +869 -23
- package/dist/vanilla/guardvideo-player.js.map +1 -1
- package/dist/vanilla/guardvideo-player.min.js +1 -37321
- package/dist/vanilla/guardvideo-player.min.js.map +1 -1
- package/dist/vanilla/react/GuardVideoPlayer.d.ts +8 -5
- package/dist/vanilla/react/GuardVideoPlayer.d.ts.map +1 -1
- package/dist/vanilla/ui/PlayerUI.d.ts +94 -0
- package/dist/vanilla/ui/PlayerUI.d.ts.map +1 -0
- package/dist/vanilla/vanilla/index.d.ts +24 -7
- package/dist/vanilla/vanilla/index.d.ts.map +1 -1
- package/package.json +2 -1
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import { PlayerUIConfig } from '../ui/PlayerUI';
|
|
3
|
+
import { PlayerState, PlayerError, BrandingConfig, ContextMenuItem, SecurityConfig } from '../core/types';
|
|
4
|
+
import type { PlayerInstance } from '../core/types';
|
|
5
|
+
export interface GuardVideoPlayerProps extends Omit<PlayerUIConfig, 'onReady' | 'onError' | 'onQualityChange' | 'onStateChange' | 'onTimeUpdate' | 'onEnded' | 'width' | 'height'> {
|
|
4
6
|
videoId: string;
|
|
5
7
|
width?: string | number;
|
|
6
8
|
height?: string | number;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
security?: SecurityConfig;
|
|
9
|
+
className?: string;
|
|
10
|
+
style?: React.CSSProperties;
|
|
10
11
|
onReady?: () => void;
|
|
11
12
|
onError?: (error: PlayerError) => void;
|
|
12
13
|
onQualityChange?: (quality: string) => void;
|
|
@@ -18,4 +19,6 @@ export interface GuardVideoPlayerRef extends PlayerInstance {
|
|
|
18
19
|
getVideoElement: () => HTMLVideoElement | null;
|
|
19
20
|
}
|
|
20
21
|
export declare const GuardVideoPlayerComponent: React.ForwardRefExoticComponent<GuardVideoPlayerProps & React.RefAttributes<GuardVideoPlayerRef>>;
|
|
22
|
+
export { PlayerState };
|
|
23
|
+
export type { PlayerError, BrandingConfig, ContextMenuItem, SecurityConfig };
|
|
21
24
|
//# sourceMappingURL=GuardVideoPlayer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GuardVideoPlayer.d.ts","sourceRoot":"","sources":["../../src/react/GuardVideoPlayer.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GuardVideoPlayer.d.ts","sourceRoot":"","sources":["../../src/react/GuardVideoPlayer.tsx"],"names":[],"mappings":"AAeA,OAAO,KAKN,MAAM,OAAO,CAAC;AACf,OAAO,EAAY,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EACL,WAAW,EACX,WAAW,EACX,cAAc,EACd,eAAe,EACf,cAAc,EACf,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,WAAW,qBACf,SAAQ,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,SAAS,GAAG,iBAAiB,GAAG,eAAe,GAAG,cAAc,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC3I,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,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;AAED,eAAO,MAAM,yBAAyB,mGAoErC,CAAC;AAIF,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { PlayerConfig, PlayerState, QualityLevel, BrandingConfig, ContextMenuItem, SecurityConfig } from '../core/types';
|
|
2
|
+
export interface PlayerUIConfig extends PlayerConfig {
|
|
3
|
+
branding?: BrandingConfig;
|
|
4
|
+
security?: SecurityConfig;
|
|
5
|
+
contextMenuItems?: ContextMenuItem[];
|
|
6
|
+
viewerName?: string;
|
|
7
|
+
viewerEmail?: string;
|
|
8
|
+
forensicWatermark?: boolean;
|
|
9
|
+
width?: string;
|
|
10
|
+
height?: string;
|
|
11
|
+
onTimeUpdate?: (currentTime: number) => void;
|
|
12
|
+
onEnded?: () => void;
|
|
13
|
+
}
|
|
14
|
+
export declare class PlayerUI {
|
|
15
|
+
readonly root: HTMLDivElement;
|
|
16
|
+
readonly videoEl: HTMLVideoElement;
|
|
17
|
+
private corePlayer;
|
|
18
|
+
private spinner;
|
|
19
|
+
private centerPlay;
|
|
20
|
+
private centerPlayBtn;
|
|
21
|
+
private clickArea;
|
|
22
|
+
private controls;
|
|
23
|
+
private seekWrap;
|
|
24
|
+
private seekBuffered;
|
|
25
|
+
private seekProgress;
|
|
26
|
+
private seekThumb;
|
|
27
|
+
private seekTooltip;
|
|
28
|
+
private playBtn;
|
|
29
|
+
private volBtn;
|
|
30
|
+
private volSlider;
|
|
31
|
+
private timeEl;
|
|
32
|
+
private speedLabel;
|
|
33
|
+
private speedMenu;
|
|
34
|
+
private settingsBtn;
|
|
35
|
+
private qualityMenu;
|
|
36
|
+
private fsBtn;
|
|
37
|
+
private errorOverlay;
|
|
38
|
+
private badge;
|
|
39
|
+
private watermarkDiv;
|
|
40
|
+
private playerState;
|
|
41
|
+
private duration;
|
|
42
|
+
private bufferedEnd;
|
|
43
|
+
private qualityLevels;
|
|
44
|
+
private currentQualityIdx;
|
|
45
|
+
private playbackRate;
|
|
46
|
+
private openMenu;
|
|
47
|
+
private hideTimer;
|
|
48
|
+
private seekDragging;
|
|
49
|
+
private _onFsChangeBound;
|
|
50
|
+
private _seekMouseMoveBound;
|
|
51
|
+
private _seekMouseUpBound;
|
|
52
|
+
private _seekTouchMoveBound;
|
|
53
|
+
private _seekTouchEndBound;
|
|
54
|
+
constructor(container: HTMLElement, videoId: string, config: PlayerUIConfig);
|
|
55
|
+
private _wireEvents;
|
|
56
|
+
private _onStateChange;
|
|
57
|
+
private _togglePlay;
|
|
58
|
+
private _renderPlayBtn;
|
|
59
|
+
private _toggleMute;
|
|
60
|
+
private _onVolumeChange;
|
|
61
|
+
private _startSeekDrag;
|
|
62
|
+
private _endSeekDrag;
|
|
63
|
+
private _seekTo;
|
|
64
|
+
private _onSeekHover;
|
|
65
|
+
private _onTimeUpdate;
|
|
66
|
+
private _updateSeekBar;
|
|
67
|
+
private _buildQualityMenu;
|
|
68
|
+
private _refreshQualityMenu;
|
|
69
|
+
private _refreshSpeedMenu;
|
|
70
|
+
private _toggleMenu;
|
|
71
|
+
private _closeMenus;
|
|
72
|
+
private _showControls;
|
|
73
|
+
private _resetHideTimer;
|
|
74
|
+
private _toggleFullscreen;
|
|
75
|
+
private _onFsChange;
|
|
76
|
+
private _showError;
|
|
77
|
+
private _renderWatermark;
|
|
78
|
+
private _addRipple;
|
|
79
|
+
private _onKeyDown;
|
|
80
|
+
play(): Promise<void>;
|
|
81
|
+
pause(): void;
|
|
82
|
+
seek(t: number): void;
|
|
83
|
+
getCurrentTime(): number;
|
|
84
|
+
getDuration(): number;
|
|
85
|
+
getVolume(): number;
|
|
86
|
+
setVolume(v: number): void;
|
|
87
|
+
getQualityLevels(): QualityLevel[];
|
|
88
|
+
getCurrentQuality(): QualityLevel | null;
|
|
89
|
+
setQuality(i: number): void;
|
|
90
|
+
getState(): PlayerState;
|
|
91
|
+
getVideoElement(): HTMLVideoElement;
|
|
92
|
+
destroy(): void;
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=PlayerUI.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlayerUI.d.ts","sourceRoot":"","sources":["../../src/ui/PlayerUI.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,26 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
export declare class GuardVideoPlayer extends CorePlayer {
|
|
4
|
-
static create(containerId: string, videoId: string, config: PlayerConfig): GuardVideoPlayer;
|
|
5
|
-
static createFromElement(videoElement: HTMLVideoElement | string, videoId: string, config: PlayerConfig): GuardVideoPlayer;
|
|
6
|
-
}
|
|
1
|
+
import { PlayerUI, PlayerUIConfig } from '../ui/PlayerUI';
|
|
2
|
+
import { PlayerState } from '../core/types';
|
|
7
3
|
export { PlayerState };
|
|
8
|
-
export
|
|
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
|
+
}
|
|
9
26
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vanilla/index.ts"],"names":[],"mappings":"
|
|
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.
|
|
3
|
+
"version": "1.3.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",
|
|
@@ -49,6 +49,7 @@
|
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@rollup/plugin-commonjs": "^25.0.7",
|
|
51
51
|
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
52
|
+
"@rollup/plugin-terser": "^1.0.0",
|
|
52
53
|
"@rollup/plugin-typescript": "^11.1.6",
|
|
53
54
|
"@types/react": "^18.2.0",
|
|
54
55
|
"@types/react-dom": "^18.2.0",
|