@zezosoft/react-player 0.0.7 → 0.0.9
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/dist/VideoPlayer/MediaControls/BottomControls.d.ts +5 -0
- package/dist/VideoPlayer/MediaControls/ControlsHeader.d.ts +5 -0
- package/dist/VideoPlayer/MediaControls/MiddleControls.d.ts +3 -0
- package/dist/VideoPlayer/MediaControls/VideoPlayerControls.d.ts +4 -0
- package/dist/VideoPlayer/VideoPlayer.d.ts +1 -0
- package/dist/VideoPlayer/components/AdOverlay.d.ts +10 -0
- package/dist/VideoPlayer/components/Overlay.d.ts +4 -0
- package/dist/VideoPlayer/components/SubtitleOverlay.d.ts +7 -0
- package/dist/VideoPlayer/components/controls/BottomControls.d.ts +5 -0
- package/dist/VideoPlayer/components/controls/ControlsHeader.d.ts +5 -0
- package/dist/VideoPlayer/components/controls/MiddleControls.d.ts +3 -0
- package/dist/VideoPlayer/components/controls/VideoPlayerControls.d.ts +4 -0
- package/dist/VideoPlayer/components/controls/index.d.ts +4 -0
- package/dist/VideoPlayer/components/time-line/TimeLine.d.ts +21 -0
- package/dist/VideoPlayer/components/time-line/components/HoverTimeWithPreview.d.ts +16 -0
- package/dist/VideoPlayer/components/time-line/components/Thumb.d.ts +9 -0
- package/dist/VideoPlayer/components/time-line/components/TimeCodeItem.d.ts +21 -0
- package/dist/VideoPlayer/components/time-line/components/TimeCodes.d.ts +15 -0
- package/dist/VideoPlayer/components/time-line/utils/getEndTimeByIndex.d.ts +2 -0
- package/dist/VideoPlayer/components/time-line/utils/getHoverTimePosition.d.ts +3 -0
- package/dist/VideoPlayer/components/time-line/utils/getPositionPercent.d.ts +1 -0
- package/dist/VideoPlayer/components/time-line/utils/getTimeScale.d.ts +1 -0
- package/dist/VideoPlayer/components/time-line/utils/isInRange.d.ts +1 -0
- package/dist/VideoPlayer/components/time-line/utils/positionToMs.d.ts +1 -0
- package/dist/VideoPlayer/components/time-line/utils/secondsToTime.d.ts +6 -0
- package/dist/VideoPlayer/components/time-line/utils/timeToTimeString.d.ts +1 -0
- package/dist/VideoPlayer/constants.d.ts +3 -0
- package/dist/VideoPlayer/hooks/index.d.ts +2 -0
- package/dist/VideoPlayer/hooks/useAdManager.d.ts +8 -0
- package/dist/VideoPlayer/hooks/usePrimaryVideoLifecycle.d.ts +17 -0
- package/dist/VideoPlayer/hooks/useVideoEvents.d.ts +1 -1
- package/dist/VideoPlayer/hooks/useVideoSource.d.ts +1 -1
- package/dist/VideoPlayer/types/AdTypes.d.ts +36 -0
- package/dist/VideoPlayer/types/VideoPlayerTypes.d.ts +8 -2
- package/dist/VideoPlayer/utils/index.d.ts +1 -0
- package/dist/VideoPlayer/utils/qualityManager.d.ts +52 -0
- package/dist/components/ui/FullScreenToggle.d.ts +1 -1
- package/dist/components/ui/PiPictureInPictureToggle.d.ts +1 -1
- package/dist/index.js +1836 -228
- package/dist/store/slices/adsSlice.d.ts +24 -0
- package/dist/store/slices/index.d.ts +1 -0
- package/dist/store/types/StoreTypes.d.ts +44 -5
- package/package.json +2 -1
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { StateCreator } from "zustand";
|
|
2
|
+
import { AdBreak, AdType } from "../../VideoPlayer/types/AdTypes";
|
|
3
|
+
import { VideoState } from "../types/StoreTypes";
|
|
4
|
+
export interface AdsState {
|
|
5
|
+
isAdPlaying: boolean;
|
|
6
|
+
setIsAdPlaying: (isAdPlaying: boolean) => void;
|
|
7
|
+
currentAd: AdBreak | null;
|
|
8
|
+
setCurrentAd: (ad: AdBreak | null) => void;
|
|
9
|
+
adType: AdType | null;
|
|
10
|
+
setAdType: (type: AdType | null) => void;
|
|
11
|
+
adCurrentTime: number;
|
|
12
|
+
setAdCurrentTime: (time: number) => void;
|
|
13
|
+
canSkipAd: boolean;
|
|
14
|
+
setCanSkipAd: (canSkip: boolean) => void;
|
|
15
|
+
skipCountdown: number;
|
|
16
|
+
setSkipCountdown: (countdown: number) => void;
|
|
17
|
+
playedAdBreaks: string[];
|
|
18
|
+
addPlayedAdBreak: (id: string) => void;
|
|
19
|
+
midRollQueue: AdBreak[];
|
|
20
|
+
setMidRollQueue: (queue: AdBreak[]) => void;
|
|
21
|
+
adVideoRef: HTMLVideoElement | null;
|
|
22
|
+
setAdVideoRef: (ref: HTMLVideoElement | null) => void;
|
|
23
|
+
}
|
|
24
|
+
export declare const createAdsSlice: StateCreator<VideoState, [], [], AdsState>;
|
|
@@ -6,4 +6,5 @@ export { createVideoQualitySlice } from "./videoQualitySlice";
|
|
|
6
6
|
export { createSubtitlesSlice } from "./subtitlesSlice";
|
|
7
7
|
export { createEpisodesSlice } from "./episodesSlice";
|
|
8
8
|
export { createIntroSlice } from "./introSlice";
|
|
9
|
+
export { createAdsSlice } from "./adsSlice";
|
|
9
10
|
export { createResetSlice } from "./resetSlice";
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import Hls from "hls.js";
|
|
2
|
+
import * as dashjs from "dashjs";
|
|
3
|
+
import { AdBreak, AdType } from "../../VideoPlayer/types/AdTypes";
|
|
4
|
+
export type StreamType = "hls" | "dash" | "mp4" | "other";
|
|
2
5
|
export interface VideoRefsState {
|
|
3
6
|
videoRef: HTMLVideoElement | null;
|
|
4
7
|
setVideoRef: (ref: HTMLVideoElement) => void;
|
|
@@ -32,12 +35,28 @@ export interface VideoControlsState {
|
|
|
32
35
|
setIsFullscreen: (isFullscreen: boolean) => void;
|
|
33
36
|
}
|
|
34
37
|
export interface VideoQualityState {
|
|
35
|
-
hlsInstance
|
|
36
|
-
setHlsInstance: (hlsInstance: Hls) => void;
|
|
37
|
-
|
|
38
|
-
|
|
38
|
+
hlsInstance: Hls | null;
|
|
39
|
+
setHlsInstance: (hlsInstance: Hls | null) => void;
|
|
40
|
+
dashInstance: dashjs.MediaPlayerClass | null;
|
|
41
|
+
setDashInstance: (dashInstance: dashjs.MediaPlayerClass | null) => void;
|
|
42
|
+
qualityLevels: Array<{
|
|
43
|
+
height: number;
|
|
44
|
+
bitrate?: number;
|
|
45
|
+
originalIndex: number;
|
|
46
|
+
id?: string;
|
|
47
|
+
}>;
|
|
48
|
+
setQualityLevels: (qualityLevels: Array<{
|
|
49
|
+
height: number;
|
|
50
|
+
bitrate?: number;
|
|
51
|
+
originalIndex: number;
|
|
52
|
+
id?: string;
|
|
53
|
+
}>) => void;
|
|
39
54
|
activeQuality: string;
|
|
40
55
|
setActiveQuality: (activeQuality: string) => void;
|
|
56
|
+
currentQuality: string;
|
|
57
|
+
setCurrentQuality: (currentQuality: string) => void;
|
|
58
|
+
streamType: StreamType;
|
|
59
|
+
setStreamType: (streamType: StreamType) => void;
|
|
41
60
|
}
|
|
42
61
|
export interface SubtitleTrack {
|
|
43
62
|
lang: string;
|
|
@@ -74,5 +93,25 @@ export interface IntroState {
|
|
|
74
93
|
export interface StoreResetState {
|
|
75
94
|
resetStore: () => void;
|
|
76
95
|
}
|
|
77
|
-
export interface
|
|
96
|
+
export interface AdsState {
|
|
97
|
+
isAdPlaying: boolean;
|
|
98
|
+
setIsAdPlaying: (isAdPlaying: boolean) => void;
|
|
99
|
+
currentAd: AdBreak | null;
|
|
100
|
+
setCurrentAd: (ad: AdBreak | null) => void;
|
|
101
|
+
adType: AdType | null;
|
|
102
|
+
setAdType: (type: AdType | null) => void;
|
|
103
|
+
adCurrentTime: number;
|
|
104
|
+
setAdCurrentTime: (time: number) => void;
|
|
105
|
+
canSkipAd: boolean;
|
|
106
|
+
setCanSkipAd: (canSkip: boolean) => void;
|
|
107
|
+
skipCountdown: number;
|
|
108
|
+
setSkipCountdown: (countdown: number) => void;
|
|
109
|
+
playedAdBreaks: string[];
|
|
110
|
+
addPlayedAdBreak: (id: string) => void;
|
|
111
|
+
midRollQueue: AdBreak[];
|
|
112
|
+
setMidRollQueue: (queue: AdBreak[]) => void;
|
|
113
|
+
adVideoRef: HTMLVideoElement | null;
|
|
114
|
+
setAdVideoRef: (ref: HTMLVideoElement | null) => void;
|
|
115
|
+
}
|
|
116
|
+
export interface VideoState extends VideoRefsState, VideoPlaybackState, VideoTimingState, VideoControlsState, VideoQualityState, SubtitlesState, EpisodesState, IntroState, AdsState, StoreResetState {
|
|
78
117
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zezosoft/react-player",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.9",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -57,6 +57,7 @@
|
|
|
57
57
|
"zustand": "^5.0.3"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
|
+
"dashjs": "^5.0.3",
|
|
60
61
|
"react-icons": "^5.5.0",
|
|
61
62
|
"screenfull": "^6.0.2"
|
|
62
63
|
}
|