@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.
Files changed (43) hide show
  1. package/README.md +95 -707
  2. package/dist/index.d.ts +897 -9
  3. package/dist/react-gjirafa-vp-player.es.js +1183 -1289
  4. package/dist/react-gjirafa-vp-player.umd.js +12 -11
  5. package/package.json +8 -11
  6. package/dist/App.d.ts +0 -2
  7. package/dist/components/Feedback.d.ts +0 -25
  8. package/dist/components/VPPlayer/index.d.ts +0 -2
  9. package/dist/components/VPPlayer/ui/index.d.ts +0 -1
  10. package/dist/components/VPPlayer/ui/styled.d.ts +0 -42
  11. package/dist/config/index.d.ts +0 -1
  12. package/dist/config/vpPlayerConfig.d.ts +0 -9
  13. package/dist/constants/configs.d.ts +0 -22
  14. package/dist/constants/index.d.ts +0 -1
  15. package/dist/constants/storybook.d.ts +0 -9
  16. package/dist/constants/styles.d.ts +0 -11
  17. package/dist/constants/urls.d.ts +0 -18
  18. package/dist/constants/vpPlayer.d.ts +0 -47
  19. package/dist/contexts/VPPlayerContext.d.ts +0 -52
  20. package/dist/contexts/index.d.ts +0 -1
  21. package/dist/features/VPPlayer.d.ts +0 -41
  22. package/dist/features/stories/ads/Ads.stories.d.ts +0 -20
  23. package/dist/features/stories/context/Context.stories.d.ts +0 -10
  24. package/dist/features/stories/index.d.ts +0 -3
  25. package/dist/features/stories/playback/Playback.stories.d.ts +0 -38
  26. package/dist/fixtures/index.d.ts +0 -1
  27. package/dist/fixtures/playlist.d.ts +0 -11
  28. package/dist/hooks/index.d.ts +0 -4
  29. package/dist/hooks/useVPPlayerEvents.d.ts +0 -24
  30. package/dist/hooks/useVPPlayerLogic.d.ts +0 -22
  31. package/dist/hooks/useVPPlayerScript.d.ts +0 -13
  32. package/dist/hooks/useVideoData.d.ts +0 -19
  33. package/dist/interfaces/config.d.ts +0 -314
  34. package/dist/interfaces/index.d.ts +0 -3
  35. package/dist/interfaces/instance.d.ts +0 -73
  36. package/dist/interfaces/props.d.ts +0 -77
  37. package/dist/main.d.ts +0 -0
  38. package/dist/types/api.types.d.ts +0 -81
  39. package/dist/types/index.d.ts +0 -2
  40. package/dist/types/playerEvents.types.d.ts +0 -67
  41. package/dist/utils/index.d.ts +0 -2
  42. package/dist/utils/vpPlayerConfigBuilder.d.ts +0 -30
  43. 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
- }
@@ -1,2 +0,0 @@
1
- export * from './api.types';
2
- export * from './playerEvents.types';
@@ -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
- }
@@ -1,2 +0,0 @@
1
- export * from './vpPlayerConfigBuilder';
2
- export * from './vpPlayerUtils';
@@ -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;