@devix-technologies/react-gjirafa-vp-player 1.0.29 → 1.0.31-beta.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 +95 -707
- package/dist/index.d.ts +897 -9
- package/dist/react-gjirafa-vp-player.es.js +1183 -1289
- package/dist/react-gjirafa-vp-player.umd.js +12 -11
- package/package.json +8 -11
- package/dist/App.d.ts +0 -2
- package/dist/components/Feedback.d.ts +0 -25
- package/dist/components/VPPlayer/index.d.ts +0 -2
- package/dist/components/VPPlayer/ui/index.d.ts +0 -1
- package/dist/components/VPPlayer/ui/styled.d.ts +0 -42
- package/dist/config/index.d.ts +0 -1
- package/dist/config/vpPlayerConfig.d.ts +0 -9
- package/dist/constants/configs.d.ts +0 -22
- package/dist/constants/index.d.ts +0 -1
- package/dist/constants/storybook.d.ts +0 -9
- package/dist/constants/styles.d.ts +0 -11
- package/dist/constants/urls.d.ts +0 -18
- package/dist/constants/vpPlayer.d.ts +0 -47
- package/dist/contexts/VPPlayerContext.d.ts +0 -52
- package/dist/contexts/index.d.ts +0 -1
- package/dist/features/VPPlayer.d.ts +0 -41
- package/dist/features/stories/ads/Ads.stories.d.ts +0 -20
- package/dist/features/stories/context/Context.stories.d.ts +0 -10
- package/dist/features/stories/index.d.ts +0 -3
- package/dist/features/stories/playback/Playback.stories.d.ts +0 -38
- package/dist/fixtures/index.d.ts +0 -1
- package/dist/fixtures/playlist.d.ts +0 -11
- package/dist/hooks/index.d.ts +0 -4
- package/dist/hooks/useVPPlayerEvents.d.ts +0 -24
- package/dist/hooks/useVPPlayerLogic.d.ts +0 -22
- package/dist/hooks/useVPPlayerScript.d.ts +0 -13
- package/dist/hooks/useVideoData.d.ts +0 -19
- package/dist/interfaces/config.d.ts +0 -314
- package/dist/interfaces/index.d.ts +0 -3
- package/dist/interfaces/instance.d.ts +0 -73
- package/dist/interfaces/props.d.ts +0 -77
- package/dist/main.d.ts +0 -0
- package/dist/types/api.types.d.ts +0 -81
- package/dist/types/index.d.ts +0 -2
- package/dist/types/playerEvents.types.d.ts +0 -67
- package/dist/utils/index.d.ts +0 -2
- package/dist/utils/vpPlayerConfigBuilder.d.ts +0 -30
- package/dist/utils/vpPlayerUtils.d.ts +0 -8
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { VPPlayerConfig } from './config';
|
|
2
|
-
import { CurrentVideoData, PlaylistItem, PlayerEventCallbacks, PlayerTrackingMetadata } from '../../../../../../../src/types';
|
|
3
|
-
/**
|
|
4
|
-
* Interface defining the parameters for configuring the VP Player instance.
|
|
5
|
-
*
|
|
6
|
-
* @interface
|
|
7
|
-
*/
|
|
8
|
-
export interface PlayerParams {
|
|
9
|
-
playerId: string;
|
|
10
|
-
config?: Partial<VPPlayerConfig>;
|
|
11
|
-
videoId?: string;
|
|
12
|
-
projectId?: string;
|
|
13
|
-
videoUrl?: string;
|
|
14
|
-
playlistId?: string;
|
|
15
|
-
scriptUrl?: string;
|
|
16
|
-
version?: string | null;
|
|
17
|
-
thumbnailUrl?: string;
|
|
18
|
-
isReels?: boolean;
|
|
19
|
-
hiddenClasses?: string[];
|
|
20
|
-
className?: string;
|
|
21
|
-
onPlaylistData?: (videos: PlaylistItem[]) => void;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Interface for the VP Player context, providing methods and state for controlling the player.
|
|
25
|
-
*
|
|
26
|
-
* @interface
|
|
27
|
-
*/
|
|
28
|
-
export interface VPPlayerContextType {
|
|
29
|
-
showPlayer: (params: PlayerParams) => void;
|
|
30
|
-
hidePlayer: () => void;
|
|
31
|
-
isPlayerVisible: boolean;
|
|
32
|
-
playerParams: PlayerParams | null;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Interface defining the properties for the VP Player component.
|
|
36
|
-
*
|
|
37
|
-
* @interface
|
|
38
|
-
*/
|
|
39
|
-
export interface VPPlayerProps {
|
|
40
|
-
playerId: string;
|
|
41
|
-
config?: Partial<VPPlayerConfig>;
|
|
42
|
-
videoId?: string;
|
|
43
|
-
projectId?: string;
|
|
44
|
-
videoUrl?: string;
|
|
45
|
-
playlistId?: string;
|
|
46
|
-
scriptUrl?: string;
|
|
47
|
-
version?: string | null;
|
|
48
|
-
isReels?: boolean;
|
|
49
|
-
thumbnailUrl?: string;
|
|
50
|
-
onClose?: () => void;
|
|
51
|
-
hiddenClasses?: string[];
|
|
52
|
-
isPlayerVisible?: boolean;
|
|
53
|
-
className?: string;
|
|
54
|
-
onPlaylistData?: (videos: PlaylistItem[]) => void;
|
|
55
|
-
onVideoStarted?: (videoData: CurrentVideoData) => void;
|
|
56
|
-
/**
|
|
57
|
-
* Video metadata for tracking/analytics callbacks
|
|
58
|
-
*/
|
|
59
|
-
trackingMetadata?: PlayerTrackingMetadata;
|
|
60
|
-
onPlayerStart?: PlayerEventCallbacks["onPlayerStart"];
|
|
61
|
-
onPlayerPlay?: PlayerEventCallbacks["onPlayerPlay"];
|
|
62
|
-
onPlayerPause?: PlayerEventCallbacks["onPlayerPause"];
|
|
63
|
-
onPlayerResume?: PlayerEventCallbacks["onPlayerResume"];
|
|
64
|
-
onPlayerEnd?: PlayerEventCallbacks["onPlayerEnd"];
|
|
65
|
-
onPlayerProgressEvery10Seconds?: PlayerEventCallbacks["onPlayerProgressEvery10Seconds"];
|
|
66
|
-
onPlayerProgressAt20Seconds?: PlayerEventCallbacks["onPlayerProgressAt20Seconds"];
|
|
67
|
-
onPlayerQuartile25?: PlayerEventCallbacks["onPlayerQuartile25"];
|
|
68
|
-
onPlayerQuartile50?: PlayerEventCallbacks["onPlayerQuartile50"];
|
|
69
|
-
onPlayerQuartile75?: PlayerEventCallbacks["onPlayerQuartile75"];
|
|
70
|
-
onPlayerNext?: PlayerEventCallbacks["onPlayerNext"];
|
|
71
|
-
onPlayerPrevious?: PlayerEventCallbacks["onPlayerPrevious"];
|
|
72
|
-
/**
|
|
73
|
-
* Universal callback for all events - called in addition to specific callbacks
|
|
74
|
-
* this gives us all event in one callback
|
|
75
|
-
*/
|
|
76
|
-
onPlayerEvent?: PlayerEventCallbacks["onPlayerEvent"];
|
|
77
|
-
}
|
package/dist/main.d.ts
DELETED
|
File without changes
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* API response types for VP Player.
|
|
3
|
-
*
|
|
4
|
-
* @interface VideoApiItem
|
|
5
|
-
* Represents an individual video item in the API response.
|
|
6
|
-
*/
|
|
7
|
-
export interface VideoApiItem {
|
|
8
|
-
mediaId: string;
|
|
9
|
-
playbackUrl: string;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* API response structure for fetching video data.
|
|
13
|
-
*
|
|
14
|
-
* @interface VideoApiResponse
|
|
15
|
-
*/
|
|
16
|
-
export interface VideoApiResponse {
|
|
17
|
-
result: {
|
|
18
|
-
items: VideoApiItem[];
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Represents an item in a video playlist.
|
|
23
|
-
*
|
|
24
|
-
* @interface PlaylistItem
|
|
25
|
-
*/
|
|
26
|
-
export interface PlaylistItem {
|
|
27
|
-
mediaId: string;
|
|
28
|
-
videoId?: string;
|
|
29
|
-
title: string;
|
|
30
|
-
description?: string;
|
|
31
|
-
hlsUrl: string;
|
|
32
|
-
playbackUrl?: string;
|
|
33
|
-
file?: string;
|
|
34
|
-
thumbnailUrl: string;
|
|
35
|
-
duration: number;
|
|
36
|
-
durationString?: string;
|
|
37
|
-
isBackupPlaylist?: boolean;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* API response structure for fetching playlist data.
|
|
41
|
-
*
|
|
42
|
-
* @interface PlaylistApiResponse
|
|
43
|
-
*/
|
|
44
|
-
export interface PlaylistApiResponse {
|
|
45
|
-
result: PlaylistItem[];
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Result structure returned by the video data fetching logic.
|
|
49
|
-
*
|
|
50
|
-
* @interface VideoDataResult
|
|
51
|
-
*/
|
|
52
|
-
export interface VideoDataResult {
|
|
53
|
-
fetchedPlaybackUrl: string | null;
|
|
54
|
-
fetchedPlaylist: PlaylistItem[] | null;
|
|
55
|
-
isLoading: boolean;
|
|
56
|
-
error: string | null;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Represents data about the currently playing video.
|
|
60
|
-
* Used in onVideoStarted callback.
|
|
61
|
-
*
|
|
62
|
-
* @interface CurrentVideoData
|
|
63
|
-
*/
|
|
64
|
-
export interface CurrentVideoData {
|
|
65
|
-
title?: string;
|
|
66
|
-
file?: string;
|
|
67
|
-
hlsUrl?: string;
|
|
68
|
-
thumbnailUrl?: string;
|
|
69
|
-
duration?: number;
|
|
70
|
-
videoIndex?: number;
|
|
71
|
-
playlistVideoIndex?: number;
|
|
72
|
-
isBackupPlaylist?: boolean;
|
|
73
|
-
videoId?: string;
|
|
74
|
-
mediaId?: string;
|
|
75
|
-
publishDate?: string;
|
|
76
|
-
projectId?: string;
|
|
77
|
-
premium?: boolean;
|
|
78
|
-
author?: string;
|
|
79
|
-
tags?: string[];
|
|
80
|
-
description?: string;
|
|
81
|
-
}
|
package/dist/types/index.d.ts
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Player event types that can be tracked
|
|
3
|
-
*/
|
|
4
|
-
export type PlayerEventType = "player_start" | "player_play" | "player_pause" | "player_resume" | "player_end" | "player_progress_every_10_seconds" | "player_progress_at_20_seconds" | "player_quartile_25" | "player_quartile_50" | "player_quartile_75" | "player_next" | "player_previous";
|
|
5
|
-
/**
|
|
6
|
-
* Player event data structure
|
|
7
|
-
*/
|
|
8
|
-
export interface PlayerEventData {
|
|
9
|
-
event: PlayerEventType;
|
|
10
|
-
player: PlayerObject;
|
|
11
|
-
_clear?: boolean;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Player object structure for analytics
|
|
15
|
-
*/
|
|
16
|
-
export interface PlayerObject {
|
|
17
|
-
videoId?: string;
|
|
18
|
-
title?: string;
|
|
19
|
-
categoryName?: string;
|
|
20
|
-
publishedDate?: string;
|
|
21
|
-
isPremium?: boolean;
|
|
22
|
-
tags?: string[];
|
|
23
|
-
isReels?: boolean;
|
|
24
|
-
currentPosition?: number;
|
|
25
|
-
duration?: number;
|
|
26
|
-
progress?: number;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Callback function type for player events
|
|
30
|
-
* Accepts event name (PlayerEventType) and optionally currentPosition for progress events
|
|
31
|
-
*/
|
|
32
|
-
export type PlayerEventCallback = (event: PlayerEventType, currentPosition?: number) => void;
|
|
33
|
-
/**
|
|
34
|
-
* Tracking metadata for analytics (available in v1.0.23+)
|
|
35
|
-
*/
|
|
36
|
-
export interface PlayerTrackingMetadata {
|
|
37
|
-
videoId: string;
|
|
38
|
-
title: string;
|
|
39
|
-
categoryName?: string;
|
|
40
|
-
publishedDate?: string;
|
|
41
|
-
isPremium?: boolean;
|
|
42
|
-
tags?: string[];
|
|
43
|
-
isReels?: boolean;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Individual event callbacks
|
|
47
|
-
* Each callback accepts only the event name (PlayerEventType)
|
|
48
|
-
*/
|
|
49
|
-
export interface PlayerEventCallbacks {
|
|
50
|
-
onPlayerStart?: (event: PlayerEventType) => void;
|
|
51
|
-
onPlayerPlay?: (event: PlayerEventType) => void;
|
|
52
|
-
onPlayerPause?: (event: PlayerEventType) => void;
|
|
53
|
-
onPlayerResume?: (event: PlayerEventType) => void;
|
|
54
|
-
onPlayerEnd?: (event: PlayerEventType) => void;
|
|
55
|
-
onPlayerProgressEvery10Seconds?: (event: PlayerEventType, currentPosition: number) => void;
|
|
56
|
-
onPlayerProgressAt20Seconds?: (event: PlayerEventType, currentPosition: number) => void;
|
|
57
|
-
onPlayerQuartile25?: (event: PlayerEventType, currentPosition: number) => void;
|
|
58
|
-
onPlayerQuartile50?: (event: PlayerEventType, currentPosition: number) => void;
|
|
59
|
-
onPlayerQuartile75?: (event: PlayerEventType, currentPosition: number) => void;
|
|
60
|
-
onPlayerNext?: (event: PlayerEventType) => void;
|
|
61
|
-
onPlayerPrevious?: (event: PlayerEventType) => void;
|
|
62
|
-
/**
|
|
63
|
-
* Universal callback for all events - called in addition to specific callbacks
|
|
64
|
-
* Accepts event name (PlayerEventType) and optionally currentPosition for progress events
|
|
65
|
-
*/
|
|
66
|
-
onPlayerEvent?: PlayerEventCallback;
|
|
67
|
-
}
|
package/dist/utils/index.d.ts
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { VPPlayerConfig } from '../../../../../../../src/interfaces';
|
|
2
|
-
import { PlaylistItem } from '../../../../../../../src/types';
|
|
3
|
-
/**
|
|
4
|
-
* Interface for options used in building the VP Player configuration.
|
|
5
|
-
*
|
|
6
|
-
* @interface ConfigBuilderOptions
|
|
7
|
-
*/
|
|
8
|
-
interface ConfigBuilderOptions {
|
|
9
|
-
videoUrl?: string;
|
|
10
|
-
fetchedPlaybackUrl?: string;
|
|
11
|
-
fetchedPlaylist?: PlaylistItem[];
|
|
12
|
-
projectId?: string;
|
|
13
|
-
config?: Partial<VPPlayerConfig>;
|
|
14
|
-
isVerticalPlayer?: boolean;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Builds the final VP Player configuration based on available data.
|
|
18
|
-
* Handles different data sources in priority order:
|
|
19
|
-
* 1. Direct video URL
|
|
20
|
-
* 2. Single video from API
|
|
21
|
-
* 3. Playlist from API
|
|
22
|
-
* 4. Playlist from config
|
|
23
|
-
*
|
|
24
|
-
* @function
|
|
25
|
-
* @param {ConfigBuilderOptions} options - Options for building the configuration
|
|
26
|
-
* @returns {VPPlayerConfig} - The final configuration object for the player
|
|
27
|
-
* @throws {Error} - Throws error if no valid video source is found
|
|
28
|
-
*/
|
|
29
|
-
export declare const buildVPPlayerConfig: ({ videoUrl, fetchedPlaybackUrl, fetchedPlaylist, projectId, config, isVerticalPlayer, }: ConfigBuilderOptions) => VPPlayerConfig;
|
|
30
|
-
export {};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Extracts the video ID from a given VP Player script URL.
|
|
3
|
-
*
|
|
4
|
-
* @function
|
|
5
|
-
* @param {string} [scriptUrl] - The script URL containing the video ID.
|
|
6
|
-
* @returns {string | undefined} The extracted video ID, or `undefined` if not found.
|
|
7
|
-
*/
|
|
8
|
-
export declare const extractVideoId: (scriptUrl?: string) => string | undefined;
|