@devix-technologies/react-gjirafa-vp-player 1.0.28 → 1.0.30
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/App.d.ts +2 -0
- package/dist/components/Feedback.d.ts +25 -0
- package/dist/components/VPPlayer/index.d.ts +2 -0
- package/dist/components/VPPlayer/ui/index.d.ts +1 -0
- package/dist/components/VPPlayer/ui/styled.d.ts +42 -0
- package/dist/config/index.d.ts +1 -0
- package/dist/config/vpPlayerConfig.d.ts +9 -0
- package/dist/constants/configs.d.ts +22 -0
- package/dist/constants/index.d.ts +1 -0
- package/dist/constants/storybook.d.ts +9 -0
- package/dist/constants/styles.d.ts +11 -0
- package/dist/constants/urls.d.ts +18 -0
- package/dist/constants/vpPlayer.d.ts +47 -0
- package/dist/contexts/VPPlayerContext.d.ts +52 -0
- package/dist/contexts/index.d.ts +1 -0
- package/dist/features/VPPlayer.d.ts +41 -0
- package/dist/features/stories/ads/Ads.stories.d.ts +20 -0
- package/dist/features/stories/context/Context.stories.d.ts +10 -0
- package/dist/features/stories/index.d.ts +3 -0
- package/dist/features/stories/playback/Playback.stories.d.ts +38 -0
- package/dist/fixtures/index.d.ts +1 -0
- package/dist/fixtures/playlist.d.ts +11 -0
- package/dist/hooks/index.d.ts +4 -0
- package/dist/hooks/useVPPlayerEvents.d.ts +24 -0
- package/dist/hooks/useVPPlayerLogic.d.ts +22 -0
- package/dist/hooks/useVPPlayerScript.d.ts +13 -0
- package/dist/hooks/useVideoData.d.ts +19 -0
- package/dist/index.d.ts +9 -0
- package/dist/interfaces/config.d.ts +314 -0
- package/dist/interfaces/index.d.ts +3 -0
- package/dist/interfaces/instance.d.ts +73 -0
- package/dist/interfaces/props.d.ts +77 -0
- package/dist/main.d.ts +0 -0
- package/dist/react-gjirafa-vp-player.es.js +381 -245
- package/dist/react-gjirafa-vp-player.umd.js +5 -5
- package/dist/types/api.types.d.ts +81 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/playerEvents.types.d.ts +67 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/vpPlayerConfigBuilder.d.ts +30 -0
- package/dist/utils/vpPlayerUtils.d.ts +8 -0
- package/package.json +16 -13
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interface describing the advertising configuration options for the VP Player.
|
|
3
|
+
*
|
|
4
|
+
* @interface
|
|
5
|
+
* @see {@link https://vp.gjirafa.tech/documentation/docs/web-player/setup-the-player/advertising}
|
|
6
|
+
*/
|
|
7
|
+
export interface VPPlayerAdsConfig {
|
|
8
|
+
skipAd?: {
|
|
9
|
+
state: boolean;
|
|
10
|
+
skipFrom: number;
|
|
11
|
+
};
|
|
12
|
+
vmap?: string;
|
|
13
|
+
VPAIDmode?: string;
|
|
14
|
+
enableProgrammability?: boolean;
|
|
15
|
+
functions?: Array<{
|
|
16
|
+
isDynamicKey: boolean;
|
|
17
|
+
isDynamicValue: boolean;
|
|
18
|
+
key: string;
|
|
19
|
+
order: number;
|
|
20
|
+
value: string;
|
|
21
|
+
}>;
|
|
22
|
+
bidding?: boolean;
|
|
23
|
+
afterMidrollBacktrack?: {
|
|
24
|
+
state: boolean;
|
|
25
|
+
seconds: number;
|
|
26
|
+
};
|
|
27
|
+
adBreaks?: Array<{
|
|
28
|
+
adTagUrl: string[];
|
|
29
|
+
breakType?: 'preroll' | 'midroll' | 'postroll';
|
|
30
|
+
breakTimingType?: 'time' | 'percentage' | 'playlist';
|
|
31
|
+
breakTimingValue?: number;
|
|
32
|
+
schedule?: {
|
|
33
|
+
type?: 'CUSTOM' | 'RECURRING';
|
|
34
|
+
ranges?: Array<{
|
|
35
|
+
startTime?: number;
|
|
36
|
+
endTime?: number;
|
|
37
|
+
count?: number;
|
|
38
|
+
breaks?: number[];
|
|
39
|
+
}>;
|
|
40
|
+
algorithm?: 'PASSIVE' | 'AGGRESSIVE' | 'SIMILAR_DISTANCE' | 'CUSTOM';
|
|
41
|
+
protectFirst?: number;
|
|
42
|
+
protectLast?: number;
|
|
43
|
+
occurEvery?: number;
|
|
44
|
+
liveCount?: number;
|
|
45
|
+
};
|
|
46
|
+
}>;
|
|
47
|
+
bidders?: Array<{
|
|
48
|
+
name: string;
|
|
49
|
+
params?: Array<{
|
|
50
|
+
paramName?: string;
|
|
51
|
+
paramType?: string;
|
|
52
|
+
paramValue?: string;
|
|
53
|
+
}>;
|
|
54
|
+
}>;
|
|
55
|
+
adsRequireInteraction?: boolean;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Interface defining the configuration options for the VP Player.
|
|
59
|
+
*
|
|
60
|
+
* @interface
|
|
61
|
+
* @see {@link https://vp.gjirafa.tech/documentation/docs/web-player/setup-the-player/configuration}
|
|
62
|
+
* @see {@link https://vp.gjirafa.tech/documentation/docs/web-player/setup-the-player/playing}
|
|
63
|
+
* @see {@link https://vp.gjirafa.tech/documentation/docs/web-player/setup-the-player/advertising}
|
|
64
|
+
* @see {@link https://vp.gjirafa.tech/documentation/docs/web-player/setup-the-player/styling}
|
|
65
|
+
* @see {@link https://vp.gjirafa.tech/documentation/docs/web-player/setup-the-player/localization}
|
|
66
|
+
* @see {@link https://vp.gjirafa.tech/documentation/docs/web-player/setup-the-player/full-configuration}
|
|
67
|
+
*/
|
|
68
|
+
export interface VPPlayerConfig {
|
|
69
|
+
projectId?: string;
|
|
70
|
+
video: {
|
|
71
|
+
videoId?: string;
|
|
72
|
+
ads?: VPPlayerAdsConfig;
|
|
73
|
+
advertising?: boolean;
|
|
74
|
+
file?: string;
|
|
75
|
+
title?: string;
|
|
76
|
+
description?: string;
|
|
77
|
+
publishDate?: string;
|
|
78
|
+
duration?: number;
|
|
79
|
+
thumbnail?: string;
|
|
80
|
+
filmstrip?: string;
|
|
81
|
+
author?: string;
|
|
82
|
+
source?: string;
|
|
83
|
+
tags?: string[];
|
|
84
|
+
tracks?: Array<{
|
|
85
|
+
file: string;
|
|
86
|
+
label: string;
|
|
87
|
+
kind: string;
|
|
88
|
+
default?: boolean;
|
|
89
|
+
}>;
|
|
90
|
+
playlist?: {
|
|
91
|
+
state: boolean;
|
|
92
|
+
playlistVideoIndex: number;
|
|
93
|
+
videos: Array<{
|
|
94
|
+
videoId?: string;
|
|
95
|
+
mediaId?: string;
|
|
96
|
+
title: string;
|
|
97
|
+
thumbnailUrl?: string;
|
|
98
|
+
duration?: number;
|
|
99
|
+
file?: string;
|
|
100
|
+
hlsUrl?: string;
|
|
101
|
+
}>;
|
|
102
|
+
};
|
|
103
|
+
};
|
|
104
|
+
config: {
|
|
105
|
+
adAnnouncement?: {
|
|
106
|
+
state?: boolean;
|
|
107
|
+
timeBeforeAd?: number;
|
|
108
|
+
};
|
|
109
|
+
autostartOnLoad?: {
|
|
110
|
+
state?: boolean;
|
|
111
|
+
onMobile?: boolean;
|
|
112
|
+
onData?: boolean;
|
|
113
|
+
};
|
|
114
|
+
adsRequireInteraction?: boolean;
|
|
115
|
+
autoplay?: boolean;
|
|
116
|
+
pauseOtherVideos?: boolean;
|
|
117
|
+
focusOnAutostart?: boolean;
|
|
118
|
+
muted?: boolean;
|
|
119
|
+
loop?: boolean;
|
|
120
|
+
size?: {
|
|
121
|
+
sizeType?: string;
|
|
122
|
+
aspectRatio?: string;
|
|
123
|
+
width?: number | string;
|
|
124
|
+
height?: number | string;
|
|
125
|
+
};
|
|
126
|
+
showRelatedOnPause?: {
|
|
127
|
+
state?: boolean;
|
|
128
|
+
onMobile?: boolean;
|
|
129
|
+
from?: number;
|
|
130
|
+
};
|
|
131
|
+
float?: {
|
|
132
|
+
state: boolean;
|
|
133
|
+
onMobile: boolean;
|
|
134
|
+
position: string;
|
|
135
|
+
dismissible: boolean;
|
|
136
|
+
requiresInteraction: boolean;
|
|
137
|
+
toVideoThreshold: number;
|
|
138
|
+
toFloatThreshold: number;
|
|
139
|
+
style: {
|
|
140
|
+
width: number;
|
|
141
|
+
border: string;
|
|
142
|
+
};
|
|
143
|
+
};
|
|
144
|
+
controls?: {
|
|
145
|
+
theaterButton?: boolean;
|
|
146
|
+
settingsButton?: boolean;
|
|
147
|
+
chromecastButton?: boolean;
|
|
148
|
+
nextButton?: boolean;
|
|
149
|
+
fullscreenButton?: boolean;
|
|
150
|
+
airplayButton?: boolean;
|
|
151
|
+
bigPlayButton?: boolean;
|
|
152
|
+
autopausePlayButton?: boolean;
|
|
153
|
+
pictureInPictureButton?: boolean;
|
|
154
|
+
relatedButton?: boolean;
|
|
155
|
+
volumeButton?: boolean;
|
|
156
|
+
shareButton?: boolean;
|
|
157
|
+
subtitlesButton?: boolean;
|
|
158
|
+
showCaptions?: boolean;
|
|
159
|
+
};
|
|
160
|
+
logo?: {
|
|
161
|
+
state?: boolean;
|
|
162
|
+
file?: string;
|
|
163
|
+
position?: string;
|
|
164
|
+
defaultOpacity?: number;
|
|
165
|
+
inactiveOpacity?: number;
|
|
166
|
+
onClickURL?: string;
|
|
167
|
+
};
|
|
168
|
+
skin?: {
|
|
169
|
+
controlBar?: {
|
|
170
|
+
background?: string;
|
|
171
|
+
spread?: "solid" | "gradient";
|
|
172
|
+
gradientMidPoint?: number;
|
|
173
|
+
text?: string;
|
|
174
|
+
icons?: {
|
|
175
|
+
default?: string;
|
|
176
|
+
hover?: string;
|
|
177
|
+
};
|
|
178
|
+
timeslider?: {
|
|
179
|
+
progress?: string;
|
|
180
|
+
rail?: string;
|
|
181
|
+
buffer?: string;
|
|
182
|
+
dragger?: string;
|
|
183
|
+
};
|
|
184
|
+
timesliderOnAd?: {
|
|
185
|
+
progress?: string;
|
|
186
|
+
rail?: string;
|
|
187
|
+
buffer?: string;
|
|
188
|
+
dragger?: string;
|
|
189
|
+
};
|
|
190
|
+
volume?: {
|
|
191
|
+
dragger?: string;
|
|
192
|
+
progress?: string;
|
|
193
|
+
rail?: string;
|
|
194
|
+
notifier?: string;
|
|
195
|
+
};
|
|
196
|
+
};
|
|
197
|
+
menus?: {
|
|
198
|
+
background?: {
|
|
199
|
+
default?: string;
|
|
200
|
+
hover?: string;
|
|
201
|
+
};
|
|
202
|
+
links?: {
|
|
203
|
+
default?: string;
|
|
204
|
+
hover?: string;
|
|
205
|
+
};
|
|
206
|
+
autoplay?: {
|
|
207
|
+
autoplayOn?: string;
|
|
208
|
+
autoplayOff?: string;
|
|
209
|
+
};
|
|
210
|
+
};
|
|
211
|
+
nextVideo?: {
|
|
212
|
+
background?: string;
|
|
213
|
+
text?: string;
|
|
214
|
+
timeslider?: {
|
|
215
|
+
rail?: string;
|
|
216
|
+
progress?: string;
|
|
217
|
+
};
|
|
218
|
+
icons?: {
|
|
219
|
+
play?: {
|
|
220
|
+
default?: string;
|
|
221
|
+
hover?: string;
|
|
222
|
+
};
|
|
223
|
+
close?: string;
|
|
224
|
+
};
|
|
225
|
+
};
|
|
226
|
+
playlist?: {
|
|
227
|
+
background?: string;
|
|
228
|
+
text?: string;
|
|
229
|
+
icons?: {
|
|
230
|
+
arrows?: {
|
|
231
|
+
active?: string;
|
|
232
|
+
inactive?: string;
|
|
233
|
+
};
|
|
234
|
+
close?: string;
|
|
235
|
+
};
|
|
236
|
+
card?: {
|
|
237
|
+
background?: string;
|
|
238
|
+
title?: string;
|
|
239
|
+
duration?: {
|
|
240
|
+
text?: string;
|
|
241
|
+
background?: string;
|
|
242
|
+
};
|
|
243
|
+
icons?: {
|
|
244
|
+
play?: {
|
|
245
|
+
default?: string;
|
|
246
|
+
hover?: string;
|
|
247
|
+
};
|
|
248
|
+
};
|
|
249
|
+
};
|
|
250
|
+
};
|
|
251
|
+
};
|
|
252
|
+
lang?: {
|
|
253
|
+
locale?: string;
|
|
254
|
+
controls?: {
|
|
255
|
+
play?: string;
|
|
256
|
+
pause?: string;
|
|
257
|
+
next?: string;
|
|
258
|
+
replay?: string;
|
|
259
|
+
volume?: string;
|
|
260
|
+
mute?: string;
|
|
261
|
+
unmute?: string;
|
|
262
|
+
settings?: string;
|
|
263
|
+
theater?: string;
|
|
264
|
+
fullscreen?: string;
|
|
265
|
+
chromecast?: string;
|
|
266
|
+
airplay?: string;
|
|
267
|
+
pictureInPicture?: string;
|
|
268
|
+
related?: string;
|
|
269
|
+
skipIntro?: string;
|
|
270
|
+
skipAd?: string;
|
|
271
|
+
playlistTitle?: string;
|
|
272
|
+
upNext?: string;
|
|
273
|
+
live?: string;
|
|
274
|
+
continueAfterPause?: string;
|
|
275
|
+
};
|
|
276
|
+
settings?: {
|
|
277
|
+
quality?: string;
|
|
278
|
+
subtitles?: string;
|
|
279
|
+
autoplay?: string;
|
|
280
|
+
playbackRate?: string;
|
|
281
|
+
auto?: string;
|
|
282
|
+
off?: string;
|
|
283
|
+
normal?: string;
|
|
284
|
+
share?: string;
|
|
285
|
+
};
|
|
286
|
+
ads?: {
|
|
287
|
+
ad?: string;
|
|
288
|
+
skip?: string;
|
|
289
|
+
skipIn?: string;
|
|
290
|
+
visit?: string;
|
|
291
|
+
info?: string;
|
|
292
|
+
simultaneousAds?: string;
|
|
293
|
+
adAnnouncement?: string;
|
|
294
|
+
};
|
|
295
|
+
messages?: {
|
|
296
|
+
playbackErrorTitle?: string;
|
|
297
|
+
playbackErrorDescription?: string;
|
|
298
|
+
geoBlockedTitle?: string;
|
|
299
|
+
geoBlockedDescription?: string;
|
|
300
|
+
streamInterruptedTitle?: string;
|
|
301
|
+
streamInterruptedDescription?: string;
|
|
302
|
+
};
|
|
303
|
+
};
|
|
304
|
+
ads?: VPPlayerAdsConfig;
|
|
305
|
+
};
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* Default configuration object for the VP Player.
|
|
309
|
+
*
|
|
310
|
+
* @constant
|
|
311
|
+
* @type {VPPlayerConfig}
|
|
312
|
+
* @see {@link https://vp.gjirafa.tech/documentation/docs/web-player/setup-the-player/configuration}
|
|
313
|
+
*/
|
|
314
|
+
export declare const defaultVPPlayerConfig: VPPlayerConfig;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { VPPlayerConfig } from './config';
|
|
2
|
+
/**
|
|
3
|
+
* Interface representing an instance of the VP Player.
|
|
4
|
+
* Based on VP Player API Reference: https://vp.gjirafa.tech/documentation/docs/web-player/api-reference
|
|
5
|
+
* And VP Vertical Player API Reference: https://vp.gjirafa.tech/documentation/docs/vertical-player/api-reference
|
|
6
|
+
*
|
|
7
|
+
* @interface
|
|
8
|
+
*/
|
|
9
|
+
export interface VPPlayerInstance {
|
|
10
|
+
setup: (config: VPPlayerConfig) => void;
|
|
11
|
+
destroy?: () => void;
|
|
12
|
+
play?: () => void;
|
|
13
|
+
pause?: () => void;
|
|
14
|
+
forward?: () => void;
|
|
15
|
+
rewind?: () => void;
|
|
16
|
+
replay?: () => void;
|
|
17
|
+
seek?: (position: number) => void;
|
|
18
|
+
mute?: () => void;
|
|
19
|
+
unmute?: () => void;
|
|
20
|
+
enterFullScreen?: () => void;
|
|
21
|
+
exitFullScreen?: () => void;
|
|
22
|
+
enterFullscreen?: () => void;
|
|
23
|
+
exitFullscreen?: () => void;
|
|
24
|
+
enterPictureInPicture?: () => void;
|
|
25
|
+
exitPictureInPicture?: () => void;
|
|
26
|
+
floating?: () => void;
|
|
27
|
+
isFloating?: () => boolean;
|
|
28
|
+
getFloatStyle?: () => unknown;
|
|
29
|
+
setFloatingHlsLevels?: (levels: unknown) => void;
|
|
30
|
+
floatingStateCounter?: number;
|
|
31
|
+
nextVideo?: () => void;
|
|
32
|
+
previousVideo?: () => void;
|
|
33
|
+
switchToIndex?: (index: number) => void;
|
|
34
|
+
switch?: (video: unknown) => void;
|
|
35
|
+
playNewVideo?: (video: unknown) => void;
|
|
36
|
+
togglePlay?: () => void;
|
|
37
|
+
toggleMute?: () => void;
|
|
38
|
+
isMuted?: () => boolean;
|
|
39
|
+
isPlaying?: () => boolean;
|
|
40
|
+
isPaused?: () => boolean;
|
|
41
|
+
isFullscreen?: () => boolean;
|
|
42
|
+
isEnded?: () => boolean;
|
|
43
|
+
isFocused?: () => boolean;
|
|
44
|
+
getPosition?: () => number;
|
|
45
|
+
getBuffered?: () => number;
|
|
46
|
+
getVolume?: () => number;
|
|
47
|
+
getContainer?: () => HTMLElement;
|
|
48
|
+
getDuration?: () => number;
|
|
49
|
+
getQualityLevels?: () => unknown[];
|
|
50
|
+
getCurrentQuality?: () => number;
|
|
51
|
+
checkViewability?: () => boolean;
|
|
52
|
+
setConfig?: (config: unknown) => void;
|
|
53
|
+
setVideo?: (video: unknown) => void;
|
|
54
|
+
setPlaylist?: (playlist: unknown) => void;
|
|
55
|
+
setVolume?: (volume: number) => void;
|
|
56
|
+
setCurrentQuality?: (index: number) => void;
|
|
57
|
+
setLevelToAuto?: () => void;
|
|
58
|
+
setCuePoint?: (cue: number, callback: () => void) => void;
|
|
59
|
+
on?: (event: string, callback: (data?: unknown) => void) => void;
|
|
60
|
+
off?: (event: string, callback?: (data?: unknown) => void) => void;
|
|
61
|
+
videoIndex?: number;
|
|
62
|
+
playlist?: {
|
|
63
|
+
state: boolean;
|
|
64
|
+
playlistId: string;
|
|
65
|
+
playlistVideoIndex: number;
|
|
66
|
+
videos: unknown[];
|
|
67
|
+
};
|
|
68
|
+
multipleVideos?: Map<number, unknown>;
|
|
69
|
+
firstInList?: boolean;
|
|
70
|
+
lastInList?: boolean;
|
|
71
|
+
setupComplete?: boolean;
|
|
72
|
+
initialized?: boolean;
|
|
73
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
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
ADDED
|
File without changes
|