@venomousone/rn-videokit 0.1.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/LICENSE +20 -0
- package/README.md +248 -0
- package/lib/module/components/VideoKit.js +347 -0
- package/lib/module/components/VideoKit.js.map +1 -0
- package/lib/module/components/controls/FullscreenButton.js +38 -0
- package/lib/module/components/controls/FullscreenButton.js.map +1 -0
- package/lib/module/components/controls/Icon.js +71 -0
- package/lib/module/components/controls/Icon.js.map +1 -0
- package/lib/module/components/controls/PlayPauseButton.js +33 -0
- package/lib/module/components/controls/PlayPauseButton.js.map +1 -0
- package/lib/module/components/controls/Scrubber.js +146 -0
- package/lib/module/components/controls/Scrubber.js.map +1 -0
- package/lib/module/components/controls/SpeedButton.js +96 -0
- package/lib/module/components/controls/SpeedButton.js.map +1 -0
- package/lib/module/components/controls/TimeDisplay.js +28 -0
- package/lib/module/components/controls/TimeDisplay.js.map +1 -0
- package/lib/module/components/controls/VolumeButton.js +31 -0
- package/lib/module/components/controls/VolumeButton.js.map +1 -0
- package/lib/module/components/core/VideoPlayer.js +114 -0
- package/lib/module/components/core/VideoPlayer.js.map +1 -0
- package/lib/module/components/core/VideoPlayerContext.js +119 -0
- package/lib/module/components/core/VideoPlayerContext.js.map +1 -0
- package/lib/module/components/core/index.js +5 -0
- package/lib/module/components/core/index.js.map +1 -0
- package/lib/module/components/index.js +14 -0
- package/lib/module/components/index.js.map +1 -0
- package/lib/module/components/overlays/BufferingOverlay.js +24 -0
- package/lib/module/components/overlays/BufferingOverlay.js.map +1 -0
- package/lib/module/components/overlays/DoubleTapSeek.js +95 -0
- package/lib/module/components/overlays/DoubleTapSeek.js.map +1 -0
- package/lib/module/components/overlays/ErrorOverlay.js +60 -0
- package/lib/module/components/overlays/ErrorOverlay.js.map +1 -0
- package/lib/module/components/overlays/GestureIndicator.js +118 -0
- package/lib/module/components/overlays/GestureIndicator.js.map +1 -0
- package/lib/module/components/overlays/LoadingPoster.js +22 -0
- package/lib/module/components/overlays/LoadingPoster.js.map +1 -0
- package/lib/module/hooks/index.js +6 -0
- package/lib/module/hooks/index.js.map +1 -0
- package/lib/module/hooks/useVideoBrightness.js +33 -0
- package/lib/module/hooks/useVideoBrightness.js.map +1 -0
- package/lib/module/hooks/useVideoControls.js +64 -0
- package/lib/module/hooks/useVideoControls.js.map +1 -0
- package/lib/module/hooks/useVideoOrientation.js +24 -0
- package/lib/module/hooks/useVideoOrientation.js.map +1 -0
- package/lib/module/hooks/useVideoPlayer.js +59 -0
- package/lib/module/hooks/useVideoPlayer.js.map +1 -0
- package/lib/module/hooks/useVideoVolume.js +42 -0
- package/lib/module/hooks/useVideoVolume.js.map +1 -0
- package/lib/module/index.js +7 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/types/index.js +4 -0
- package/lib/module/types/index.js.map +1 -0
- package/lib/module/utils/clamp.js +8 -0
- package/lib/module/utils/clamp.js.map +1 -0
- package/lib/module/utils/formatTime.js +12 -0
- package/lib/module/utils/formatTime.js.map +1 -0
- package/lib/module/utils/index.js +5 -0
- package/lib/module/utils/index.js.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/components/VideoKit.d.ts +3 -0
- package/lib/typescript/src/components/VideoKit.d.ts.map +1 -0
- package/lib/typescript/src/components/controls/FullscreenButton.d.ts +6 -0
- package/lib/typescript/src/components/controls/FullscreenButton.d.ts.map +1 -0
- package/lib/typescript/src/components/controls/Icon.d.ts +10 -0
- package/lib/typescript/src/components/controls/Icon.d.ts.map +1 -0
- package/lib/typescript/src/components/controls/PlayPauseButton.d.ts +2 -0
- package/lib/typescript/src/components/controls/PlayPauseButton.d.ts.map +1 -0
- package/lib/typescript/src/components/controls/Scrubber.d.ts +7 -0
- package/lib/typescript/src/components/controls/Scrubber.d.ts.map +1 -0
- package/lib/typescript/src/components/controls/SpeedButton.d.ts +2 -0
- package/lib/typescript/src/components/controls/SpeedButton.d.ts.map +1 -0
- package/lib/typescript/src/components/controls/TimeDisplay.d.ts +2 -0
- package/lib/typescript/src/components/controls/TimeDisplay.d.ts.map +1 -0
- package/lib/typescript/src/components/controls/VolumeButton.d.ts +2 -0
- package/lib/typescript/src/components/controls/VolumeButton.d.ts.map +1 -0
- package/lib/typescript/src/components/core/VideoPlayer.d.ts +14 -0
- package/lib/typescript/src/components/core/VideoPlayer.d.ts.map +1 -0
- package/lib/typescript/src/components/core/VideoPlayerContext.d.ts +48 -0
- package/lib/typescript/src/components/core/VideoPlayerContext.d.ts.map +1 -0
- package/lib/typescript/src/components/core/index.d.ts +3 -0
- package/lib/typescript/src/components/core/index.d.ts.map +1 -0
- package/lib/typescript/src/components/index.d.ts +6 -0
- package/lib/typescript/src/components/index.d.ts.map +1 -0
- package/lib/typescript/src/components/overlays/BufferingOverlay.d.ts +2 -0
- package/lib/typescript/src/components/overlays/BufferingOverlay.d.ts.map +1 -0
- package/lib/typescript/src/components/overlays/DoubleTapSeek.d.ts +5 -0
- package/lib/typescript/src/components/overlays/DoubleTapSeek.d.ts.map +1 -0
- package/lib/typescript/src/components/overlays/ErrorOverlay.d.ts +6 -0
- package/lib/typescript/src/components/overlays/ErrorOverlay.d.ts.map +1 -0
- package/lib/typescript/src/components/overlays/GestureIndicator.d.ts +9 -0
- package/lib/typescript/src/components/overlays/GestureIndicator.d.ts.map +1 -0
- package/lib/typescript/src/components/overlays/LoadingPoster.d.ts +6 -0
- package/lib/typescript/src/components/overlays/LoadingPoster.d.ts.map +1 -0
- package/lib/typescript/src/hooks/index.d.ts +4 -0
- package/lib/typescript/src/hooks/index.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useVideoBrightness.d.ts +5 -0
- package/lib/typescript/src/hooks/useVideoBrightness.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useVideoControls.d.ts +11 -0
- package/lib/typescript/src/hooks/useVideoControls.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useVideoOrientation.d.ts +6 -0
- package/lib/typescript/src/hooks/useVideoOrientation.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useVideoPlayer.d.ts +7 -0
- package/lib/typescript/src/hooks/useVideoPlayer.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useVideoVolume.d.ts +6 -0
- package/lib/typescript/src/hooks/useVideoVolume.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +6 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/types/index.d.ts +96 -0
- package/lib/typescript/src/types/index.d.ts.map +1 -0
- package/lib/typescript/src/utils/clamp.d.ts +2 -0
- package/lib/typescript/src/utils/clamp.d.ts.map +1 -0
- package/lib/typescript/src/utils/formatTime.d.ts +2 -0
- package/lib/typescript/src/utils/formatTime.d.ts.map +1 -0
- package/lib/typescript/src/utils/index.d.ts +3 -0
- package/lib/typescript/src/utils/index.d.ts.map +1 -0
- package/package.json +191 -0
- package/src/components/VideoKit.tsx +415 -0
- package/src/components/controls/FullscreenButton.tsx +29 -0
- package/src/components/controls/Icon.tsx +71 -0
- package/src/components/controls/PlayPauseButton.tsx +25 -0
- package/src/components/controls/Scrubber.tsx +157 -0
- package/src/components/controls/SpeedButton.tsx +86 -0
- package/src/components/controls/TimeDisplay.tsx +21 -0
- package/src/components/controls/VolumeButton.tsx +23 -0
- package/src/components/core/VideoPlayer.tsx +148 -0
- package/src/components/core/VideoPlayerContext.tsx +133 -0
- package/src/components/core/index.ts +5 -0
- package/src/components/index.ts +25 -0
- package/src/components/overlays/BufferingOverlay.tsx +21 -0
- package/src/components/overlays/DoubleTapSeek.tsx +91 -0
- package/src/components/overlays/ErrorOverlay.tsx +49 -0
- package/src/components/overlays/GestureIndicator.tsx +114 -0
- package/src/components/overlays/LoadingPoster.tsx +21 -0
- package/src/hooks/index.ts +3 -0
- package/src/hooks/useVideoBrightness.ts +34 -0
- package/src/hooks/useVideoControls.ts +65 -0
- package/src/hooks/useVideoOrientation.ts +22 -0
- package/src/hooks/useVideoPlayer.ts +69 -0
- package/src/hooks/useVideoVolume.ts +36 -0
- package/src/index.ts +15 -0
- package/src/types/index.ts +137 -0
- package/src/utils/clamp.ts +4 -0
- package/src/utils/formatTime.ts +9 -0
- package/src/utils/index.ts +2 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useEffect } from 'react';
|
|
4
|
+
import Orientation from 'react-native-orientation-locker';
|
|
5
|
+
import { useVideoStore } from "../components/core/VideoPlayerContext.js";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Locks/unlocks screen orientation in response to fullscreen state.
|
|
9
|
+
* Fullscreen → landscape; exit → portrait.
|
|
10
|
+
*/
|
|
11
|
+
export function useVideoOrientation() {
|
|
12
|
+
const isFullscreen = useVideoStore(s => s.isFullscreen);
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
if (isFullscreen) {
|
|
15
|
+
Orientation.lockToLandscape();
|
|
16
|
+
} else {
|
|
17
|
+
Orientation.lockToPortrait();
|
|
18
|
+
}
|
|
19
|
+
return () => {
|
|
20
|
+
Orientation.unlockAllOrientations();
|
|
21
|
+
};
|
|
22
|
+
}, [isFullscreen]);
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=useVideoOrientation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useEffect","Orientation","useVideoStore","useVideoOrientation","isFullscreen","s","lockToLandscape","lockToPortrait","unlockAllOrientations"],"sourceRoot":"../../../src","sources":["hooks/useVideoOrientation.ts"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,OAAO;AACjC,OAAOC,WAAW,MAAM,iCAAiC;AACzD,SAASC,aAAa,QAAQ,0CAAuC;;AAErE;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAAA,EAAG;EACpC,MAAMC,YAAY,GAAGF,aAAa,CAAEG,CAAC,IAAKA,CAAC,CAACD,YAAY,CAAC;EAEzDJ,SAAS,CAAC,MAAM;IACd,IAAII,YAAY,EAAE;MAChBH,WAAW,CAACK,eAAe,CAAC,CAAC;IAC/B,CAAC,MAAM;MACLL,WAAW,CAACM,cAAc,CAAC,CAAC;IAC9B;IACA,OAAO,MAAM;MACXN,WAAW,CAACO,qBAAqB,CAAC,CAAC;IACrC,CAAC;EACH,CAAC,EAAE,CAACJ,YAAY,CAAC,CAAC;AACpB","ignoreList":[]}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useCallback } from 'react';
|
|
4
|
+
import { useVideoStore } from "../components/core/VideoPlayerContext.js";
|
|
5
|
+
import { useVideoPlayerContext } from "../components/core/VideoPlayerContext.js";
|
|
6
|
+
/**
|
|
7
|
+
* Headless hook. Use this when you want to build your own UI
|
|
8
|
+
* while delegating all playback state to rn-videokit.
|
|
9
|
+
*/
|
|
10
|
+
export function useVideoPlayer() {
|
|
11
|
+
const {
|
|
12
|
+
videoRef
|
|
13
|
+
} = useVideoPlayerContext();
|
|
14
|
+
const status = useVideoStore(s => s.status);
|
|
15
|
+
const currentTime = useVideoStore(s => s.currentTime);
|
|
16
|
+
const duration = useVideoStore(s => s.duration);
|
|
17
|
+
const buffered = useVideoStore(s => s.buffered);
|
|
18
|
+
const muted = useVideoStore(s => s.muted);
|
|
19
|
+
const speed = useVideoStore(s => s.speed);
|
|
20
|
+
const isFullscreen = useVideoStore(s => s.isFullscreen);
|
|
21
|
+
const error = useVideoStore(s => s.error);
|
|
22
|
+
const {
|
|
23
|
+
setMuted,
|
|
24
|
+
setSpeed,
|
|
25
|
+
setFullscreen,
|
|
26
|
+
setStatus
|
|
27
|
+
} = useVideoStore(s => s);
|
|
28
|
+
const play = useCallback(() => {
|
|
29
|
+
setStatus('playing');
|
|
30
|
+
}, [setStatus]);
|
|
31
|
+
const pause = useCallback(() => {
|
|
32
|
+
setStatus('paused');
|
|
33
|
+
}, [setStatus]);
|
|
34
|
+
const seek = useCallback(seconds => {
|
|
35
|
+
videoRef?.current?.seek(seconds);
|
|
36
|
+
}, [videoRef]);
|
|
37
|
+
const enterFullscreen = useCallback(() => setFullscreen(true), [setFullscreen]);
|
|
38
|
+
const exitFullscreen = useCallback(() => setFullscreen(false), [setFullscreen]);
|
|
39
|
+
return {
|
|
40
|
+
// State
|
|
41
|
+
status,
|
|
42
|
+
currentTime,
|
|
43
|
+
duration,
|
|
44
|
+
buffered,
|
|
45
|
+
muted,
|
|
46
|
+
speed,
|
|
47
|
+
isFullscreen,
|
|
48
|
+
error,
|
|
49
|
+
// API
|
|
50
|
+
play,
|
|
51
|
+
pause,
|
|
52
|
+
seek,
|
|
53
|
+
setMuted,
|
|
54
|
+
setSpeed,
|
|
55
|
+
enterFullscreen,
|
|
56
|
+
exitFullscreen
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=useVideoPlayer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useVideoStore","useVideoPlayerContext","useVideoPlayer","videoRef","status","s","currentTime","duration","buffered","muted","speed","isFullscreen","error","setMuted","setSpeed","setFullscreen","setStatus","play","pause","seek","seconds","current","enterFullscreen","exitFullscreen"],"sourceRoot":"../../../src","sources":["hooks/useVideoPlayer.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,OAAO;AACnC,SAASC,aAAa,QAAQ,0CAAuC;AACrE,SAASC,qBAAqB,QAAQ,0CAAuC;AAG7E;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAAA,EAAsC;EAClE,MAAM;IAAEC;EAAS,CAAC,GAAGF,qBAAqB,CAAC,CAAC;EAE5C,MAAMG,MAAM,GAAGJ,aAAa,CAAEK,CAAC,IAAKA,CAAC,CAACD,MAAM,CAAC;EAC7C,MAAME,WAAW,GAAGN,aAAa,CAAEK,CAAC,IAAKA,CAAC,CAACC,WAAW,CAAC;EACvD,MAAMC,QAAQ,GAAGP,aAAa,CAAEK,CAAC,IAAKA,CAAC,CAACE,QAAQ,CAAC;EACjD,MAAMC,QAAQ,GAAGR,aAAa,CAAEK,CAAC,IAAKA,CAAC,CAACG,QAAQ,CAAC;EACjD,MAAMC,KAAK,GAAGT,aAAa,CAAEK,CAAC,IAAKA,CAAC,CAACI,KAAK,CAAC;EAC3C,MAAMC,KAAK,GAAGV,aAAa,CAAEK,CAAC,IAAKA,CAAC,CAACK,KAAK,CAAC;EAC3C,MAAMC,YAAY,GAAGX,aAAa,CAAEK,CAAC,IAAKA,CAAC,CAACM,YAAY,CAAC;EACzD,MAAMC,KAAK,GAAGZ,aAAa,CAAEK,CAAC,IAAKA,CAAC,CAACO,KAAK,CAAC;EAE3C,MAAM;IAAEC,QAAQ;IAAEC,QAAQ;IAAEC,aAAa;IAAEC;EAAU,CAAC,GAAGhB,aAAa,CACnEK,CAAC,IAAKA,CACT,CAAC;EAED,MAAMY,IAAI,GAAGlB,WAAW,CAAC,MAAM;IAC7BiB,SAAS,CAAC,SAAS,CAAC;EACtB,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EAEf,MAAME,KAAK,GAAGnB,WAAW,CAAC,MAAM;IAC9BiB,SAAS,CAAC,QAAQ,CAAC;EACrB,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EAEf,MAAMG,IAAI,GAAGpB,WAAW,CACrBqB,OAAe,IAAK;IACnBjB,QAAQ,EAAEkB,OAAO,EAAEF,IAAI,CAACC,OAAO,CAAC;EAClC,CAAC,EACD,CAACjB,QAAQ,CACX,CAAC;EAED,MAAMmB,eAAe,GAAGvB,WAAW,CACjC,MAAMgB,aAAa,CAAC,IAAI,CAAC,EACzB,CAACA,aAAa,CAChB,CAAC;EACD,MAAMQ,cAAc,GAAGxB,WAAW,CAChC,MAAMgB,aAAa,CAAC,KAAK,CAAC,EAC1B,CAACA,aAAa,CAChB,CAAC;EAED,OAAO;IACL;IACAX,MAAM;IACNE,WAAW;IACXC,QAAQ;IACRC,QAAQ;IACRC,KAAK;IACLC,KAAK;IACLC,YAAY;IACZC,KAAK;IACL;IACAK,IAAI;IACJC,KAAK;IACLC,IAAI;IACJN,QAAQ;IACRC,QAAQ;IACRQ,eAAe;IACfC;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useCallback, useEffect, useRef } from 'react';
|
|
4
|
+
import { VolumeManager } from 'react-native-volume-manager';
|
|
5
|
+
import { clamp } from "../utils/clamp.js";
|
|
6
|
+
export function useVideoVolume() {
|
|
7
|
+
const currentVolume = useRef(0.5);
|
|
8
|
+
const init = useCallback(async () => {
|
|
9
|
+
try {
|
|
10
|
+
const {
|
|
11
|
+
volume
|
|
12
|
+
} = await VolumeManager.getVolume();
|
|
13
|
+
currentVolume.current = volume;
|
|
14
|
+
} catch (e) {
|
|
15
|
+
console.warn('[VideoKit] volume init failed:', e);
|
|
16
|
+
}
|
|
17
|
+
}, []);
|
|
18
|
+
const adjustVolume = useCallback(async delta => {
|
|
19
|
+
try {
|
|
20
|
+
const next = clamp(currentVolume.current + delta, 0, 1);
|
|
21
|
+
currentVolume.current = next;
|
|
22
|
+
await VolumeManager.setVolume(next);
|
|
23
|
+
} catch (e) {
|
|
24
|
+
console.warn('[VideoKit] volume adjust failed:', e);
|
|
25
|
+
}
|
|
26
|
+
}, []);
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
init();
|
|
29
|
+
const sub = VolumeManager.addVolumeListener(({
|
|
30
|
+
volume
|
|
31
|
+
}) => {
|
|
32
|
+
currentVolume.current = volume;
|
|
33
|
+
});
|
|
34
|
+
return () => sub.remove();
|
|
35
|
+
}, [init]);
|
|
36
|
+
return {
|
|
37
|
+
initVolume: init,
|
|
38
|
+
adjustVolume,
|
|
39
|
+
currentVolume
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=useVideoVolume.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useRef","VolumeManager","clamp","useVideoVolume","currentVolume","init","volume","getVolume","current","e","console","warn","adjustVolume","delta","next","setVolume","sub","addVolumeListener","remove","initVolume"],"sourceRoot":"../../../src","sources":["hooks/useVideoVolume.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACtD,SAASC,aAAa,QAAQ,6BAA6B;AAC3D,SAASC,KAAK,QAAQ,mBAAgB;AAEtC,OAAO,SAASC,cAAcA,CAAA,EAAG;EAC/B,MAAMC,aAAa,GAAGJ,MAAM,CAAS,GAAG,CAAC;EAEzC,MAAMK,IAAI,GAAGP,WAAW,CAAC,YAAY;IACnC,IAAI;MACF,MAAM;QAAEQ;MAAO,CAAC,GAAG,MAAML,aAAa,CAACM,SAAS,CAAC,CAAC;MAClDH,aAAa,CAACI,OAAO,GAAGF,MAAM;IAChC,CAAC,CAAC,OAAOG,CAAC,EAAE;MACVC,OAAO,CAACC,IAAI,CAAC,gCAAgC,EAAEF,CAAC,CAAC;IACnD;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMG,YAAY,GAAGd,WAAW,CAAC,MAAOe,KAAa,IAAK;IACxD,IAAI;MACF,MAAMC,IAAI,GAAGZ,KAAK,CAACE,aAAa,CAACI,OAAO,GAAGK,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;MACvDT,aAAa,CAACI,OAAO,GAAGM,IAAI;MAC5B,MAAMb,aAAa,CAACc,SAAS,CAACD,IAAI,CAAC;IACrC,CAAC,CAAC,OAAOL,CAAC,EAAE;MACVC,OAAO,CAACC,IAAI,CAAC,kCAAkC,EAAEF,CAAC,CAAC;IACrD;EACF,CAAC,EAAE,EAAE,CAAC;EAENV,SAAS,CAAC,MAAM;IACdM,IAAI,CAAC,CAAC;IACN,MAAMW,GAAG,GAAGf,aAAa,CAACgB,iBAAiB,CAAC,CAAC;MAAEX;IAAO,CAAC,KAAK;MAC1DF,aAAa,CAACI,OAAO,GAAGF,MAAM;IAChC,CAAC,CAAC;IACF,OAAO,MAAMU,GAAG,CAACE,MAAM,CAAC,CAAC;EAC3B,CAAC,EAAE,CAACb,IAAI,CAAC,CAAC;EAEV,OAAO;IAAEc,UAAU,EAAEd,IAAI;IAAEO,YAAY;IAAER;EAAc,CAAC;AAC1D","ignoreList":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export { VideoKit } from "./components/VideoKit.js";
|
|
4
|
+
export { useVideoPlayer } from "./hooks/useVideoPlayer.js";
|
|
5
|
+
export { useVideoStore } from "./components/core/VideoPlayerContext.js";
|
|
6
|
+
export { VideoPlayerProvider } from "./components/core/VideoPlayerContext.js";
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["VideoKit","useVideoPlayer","useVideoStore","VideoPlayerProvider"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,0BAAuB;AAChD,SAASC,cAAc,QAAQ,2BAAwB;AACvD,SAASC,aAAa,QAAQ,yCAAsC;AACpE,SAASC,mBAAmB,QAAQ,yCAAsC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"module"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/index.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["clamp","value","min","max","Math"],"sourceRoot":"../../../src","sources":["utils/clamp.ts"],"mappings":";;AAAA,OAAO,MAAMA,KAAK,GAAGA,CAACC,KAAa,EAAEC,GAAW,EAAEC,GAAW,KAAa;EACxE,SAAS;;EACT,OAAOC,IAAI,CAACF,GAAG,CAACE,IAAI,CAACD,GAAG,CAACF,KAAK,EAAEC,GAAG,CAAC,EAAEC,GAAG,CAAC;AAC5C,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export const formatTime = seconds => {
|
|
4
|
+
const h = Math.floor(seconds / 3600);
|
|
5
|
+
const m = Math.floor(seconds % 3600 / 60);
|
|
6
|
+
const s = Math.floor(seconds % 60);
|
|
7
|
+
if (h > 0) {
|
|
8
|
+
return `${h}:${String(m).padStart(2, '0')}:${String(s).padStart(2, '0')}`;
|
|
9
|
+
}
|
|
10
|
+
return `${m}:${String(s).padStart(2, '0')}`;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=formatTime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["formatTime","seconds","h","Math","floor","m","s","String","padStart"],"sourceRoot":"../../../src","sources":["utils/formatTime.ts"],"mappings":";;AAAA,OAAO,MAAMA,UAAU,GAAIC,OAAe,IAAa;EACrD,MAAMC,CAAC,GAAGC,IAAI,CAACC,KAAK,CAACH,OAAO,GAAG,IAAI,CAAC;EACpC,MAAMI,CAAC,GAAGF,IAAI,CAACC,KAAK,CAAEH,OAAO,GAAG,IAAI,GAAI,EAAE,CAAC;EAC3C,MAAMK,CAAC,GAAGH,IAAI,CAACC,KAAK,CAACH,OAAO,GAAG,EAAE,CAAC;EAClC,IAAIC,CAAC,GAAG,CAAC,EAAE;IACT,OAAO,GAAGA,CAAC,IAAIK,MAAM,CAACF,CAAC,CAAC,CAACG,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAID,MAAM,CAACD,CAAC,CAAC,CAACE,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;EAC3E;EACA,OAAO,GAAGH,CAAC,IAAIE,MAAM,CAACD,CAAC,CAAC,CAACE,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;AAC7C,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":";;AAAA,cAAc,YAAS;AACvB,cAAc,iBAAc","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"module"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VideoKit.d.ts","sourceRoot":"","sources":["../../../../src/components/VideoKit.tsx"],"names":[],"mappings":"AA6CA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AA+U9C,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,2CAM5C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FullscreenButton.d.ts","sourceRoot":"","sources":["../../../../../src/components/controls/FullscreenButton.tsx"],"names":[],"mappings":"AAIA,UAAU,KAAK;IACb,kBAAkB,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,CAAC;CACtD;AAED,wBAAgB,gBAAgB,CAAC,EAAE,kBAAkB,EAAE,EAAE,KAAK,2CAe7D"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
type IconName = 'play' | 'pause' | 'volume' | 'mute' | 'fullscreen' | 'fullscreen-exit';
|
|
3
|
+
interface Props {
|
|
4
|
+
name: IconName;
|
|
5
|
+
size?: number;
|
|
6
|
+
color?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function Icon({ name, size, color }: Props): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=Icon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../../../../src/components/controls/Icon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,KAAK,QAAQ,GACT,MAAM,GACN,OAAO,GACP,QAAQ,GACR,MAAM,GACN,YAAY,GACZ,iBAAiB,CAAC;AAEtB,UAAU,KAAK;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAgDD,wBAAgB,IAAI,CAAC,EAAE,IAAI,EAAE,IAAS,EAAE,KAAc,EAAE,EAAE,KAAK,0EAO9D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlayPauseButton.d.ts","sourceRoot":"","sources":["../../../../../src/components/controls/PlayPauseButton.tsx"],"names":[],"mappings":"AAIA,wBAAgB,eAAe,4CAe9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Scrubber.d.ts","sourceRoot":"","sources":["../../../../../src/components/controls/Scrubber.tsx"],"names":[],"mappings":"AAgBA,UAAU,KAAK;IACb,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,wBAAgB,QAAQ,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,KAAK,2CAiG3D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpeedButton.d.ts","sourceRoot":"","sources":["../../../../../src/components/controls/SpeedButton.tsx"],"names":[],"mappings":"AAMA,wBAAgB,WAAW,4CA+C1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimeDisplay.d.ts","sourceRoot":"","sources":["../../../../../src/components/controls/TimeDisplay.tsx"],"names":[],"mappings":"AAIA,wBAAgB,WAAW,4CAW1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VolumeButton.d.ts","sourceRoot":"","sources":["../../../../../src/components/controls/VolumeButton.tsx"],"names":[],"mappings":"AAIA,wBAAgB,YAAY,4CAa3B"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { VideoSource, VideoProgress } from '../../types';
|
|
2
|
+
interface Props {
|
|
3
|
+
source: VideoSource;
|
|
4
|
+
autoPlay: boolean;
|
|
5
|
+
loop: boolean;
|
|
6
|
+
poster?: string;
|
|
7
|
+
onProgress?: (p: VideoProgress) => void;
|
|
8
|
+
onEnd?: () => void;
|
|
9
|
+
onError?: (e: Error) => void;
|
|
10
|
+
onBuffer?: (buffering: boolean) => void;
|
|
11
|
+
}
|
|
12
|
+
export declare function VideoPlayer({ source, autoPlay, loop, poster, onProgress, onEnd, onError, onBuffer, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=VideoPlayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VideoPlayer.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/VideoPlayer.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE9D,UAAU,KAAK;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC;AAED,wBAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,UAAU,EACV,KAAK,EACL,OAAO,EACP,QAAQ,GACT,EAAE,KAAK,2CAmHP"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { VideoRef } from 'react-native-video';
|
|
3
|
+
import type { PlaybackStatus, VideoKitTheme } from '../../types';
|
|
4
|
+
export declare const useVideoTheme: () => VideoKitTheme;
|
|
5
|
+
interface VideoState {
|
|
6
|
+
status: PlaybackStatus;
|
|
7
|
+
currentTime: number;
|
|
8
|
+
duration: number;
|
|
9
|
+
buffered: number;
|
|
10
|
+
muted: boolean;
|
|
11
|
+
speed: number;
|
|
12
|
+
isFullscreen: boolean;
|
|
13
|
+
controlsVisible: boolean;
|
|
14
|
+
error: string | null;
|
|
15
|
+
setStatus: (status: PlaybackStatus) => void;
|
|
16
|
+
setCurrentTime: (t: number) => void;
|
|
17
|
+
setDuration: (d: number) => void;
|
|
18
|
+
setBuffered: (b: number) => void;
|
|
19
|
+
setMuted: (m: boolean) => void;
|
|
20
|
+
setSpeed: (s: number) => void;
|
|
21
|
+
setFullscreen: (f: boolean) => void;
|
|
22
|
+
setControlsVisible: (v: boolean) => void;
|
|
23
|
+
setError: (e: string | null) => void;
|
|
24
|
+
reset: () => void;
|
|
25
|
+
}
|
|
26
|
+
export type VideoStore = ReturnType<typeof createVideoStore>;
|
|
27
|
+
export declare const createVideoStore: () => import("zustand").StoreApi<VideoState>;
|
|
28
|
+
interface VideoPlayerContextValue {
|
|
29
|
+
videoRef: React.RefObject<VideoRef | null>;
|
|
30
|
+
store: VideoStore;
|
|
31
|
+
}
|
|
32
|
+
export declare const VideoPlayerProvider: ({ children, theme, }: {
|
|
33
|
+
children: React.ReactNode;
|
|
34
|
+
theme?: VideoKitTheme;
|
|
35
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
36
|
+
export declare const useVideoPlayerContext: () => VideoPlayerContextValue;
|
|
37
|
+
/**
|
|
38
|
+
* Scoped reactive store hook — replaces the old global useVideoStore.
|
|
39
|
+
* Use this everywhere instead of the old import.
|
|
40
|
+
*/
|
|
41
|
+
export declare const useVideoStore: <T>(selector: (state: VideoState) => T) => T;
|
|
42
|
+
/**
|
|
43
|
+
* For imperative access (getState / setState) without subscribing.
|
|
44
|
+
* Use in callbacks and gesture handlers.
|
|
45
|
+
*/
|
|
46
|
+
export declare const useVideoStoreApi: () => import("zustand").StoreApi<VideoState>;
|
|
47
|
+
export {};
|
|
48
|
+
//# sourceMappingURL=VideoPlayerContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VideoPlayerContext.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/VideoPlayerContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AAEjE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAKjE,eAAO,MAAM,aAAa,qBAAiC,CAAC;AAI5D,UAAU,UAAU;IAClB,MAAM,EAAE,cAAc,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IAC5C,cAAc,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,QAAQ,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/B,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,aAAa,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,kBAAkB,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACrC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAcD,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE7D,eAAO,MAAM,gBAAgB,8CAaxB,CAAC;AAIN,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAC3C,KAAK,EAAE,UAAU,CAAC;CACnB;AAMD,eAAO,MAAM,mBAAmB,GAAI,sBAGjC;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB,4CAgBA,CAAC;AAIF,eAAO,MAAM,qBAAqB,+BAOjC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,CAAC,KAAK,CAKtE,CAAC;AAMF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,8CAG5B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACL,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { VideoPlayer } from './core/VideoPlayer';
|
|
2
|
+
export { VideoKit } from './VideoKit';
|
|
3
|
+
export { useVideoPlayer } from '../hooks/useVideoPlayer';
|
|
4
|
+
export { VideoPlayerProvider, useVideoPlayerContext, useVideoStore, } from './core/VideoPlayerContext';
|
|
5
|
+
export type { VideoKitProps, VideoKitTheme, VideoKitControlsConfig, VideoSource, VideoPlayerAPI, VideoPlayerState, VideoProgress, PlaybackStatus, } from '../types';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGzD,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,GACd,MAAM,2BAA2B,CAAC;AAGnC,YAAY,EACV,aAAa,EACb,aAAa,EACb,sBAAsB,EACtB,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,cAAc,GACf,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BufferingOverlay.d.ts","sourceRoot":"","sources":["../../../../../src/components/overlays/BufferingOverlay.tsx"],"names":[],"mappings":"AAGA,wBAAgB,gBAAgB,mDAS/B"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export interface DoubleTapSeekHandle {
|
|
2
|
+
show: (side: 'left' | 'right', seconds: number) => void;
|
|
3
|
+
}
|
|
4
|
+
export declare const DoubleTapSeek: import("react").ForwardRefExoticComponent<import("react").RefAttributes<DoubleTapSeekHandle>>;
|
|
5
|
+
//# sourceMappingURL=DoubleTapSeek.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DoubleTapSeek.d.ts","sourceRoot":"","sources":["../../../../../src/components/overlays/DoubleTapSeek.tsx"],"names":[],"mappings":"AAUA,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACzD;AAED,eAAO,MAAM,aAAa,+FAoDxB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorOverlay.d.ts","sourceRoot":"","sources":["../../../../../src/components/overlays/ErrorOverlay.tsx"],"names":[],"mappings":"AAGA,UAAU,KAAK;IACb,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,kDAgB9C"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type GestureIndicatorType = 'brightness' | 'volume';
|
|
3
|
+
export interface GestureIndicatorHandle {
|
|
4
|
+
show: (type: GestureIndicatorType, value: number) => void;
|
|
5
|
+
update: (value: number) => void;
|
|
6
|
+
hide: () => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const GestureIndicator: React.ForwardRefExoticComponent<React.RefAttributes<GestureIndicatorHandle>>;
|
|
9
|
+
//# sourceMappingURL=GestureIndicator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GestureIndicator.d.ts","sourceRoot":"","sources":["../../../../../src/components/overlays/GestureIndicator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuD,MAAM,OAAO,CAAC;AAS5E,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,QAAQ,CAAC;AAE3D,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,CAAC,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,eAAO,MAAM,gBAAgB,8EA6D3B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LoadingPoster.d.ts","sourceRoot":"","sources":["../../../../../src/components/overlays/LoadingPoster.tsx"],"names":[],"mappings":"AAGA,UAAU,KAAK;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,aAAa,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,kDAa3C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useVideoBrightness.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useVideoBrightness.ts"],"names":[],"mappings":"AAOA,wBAAgB,kBAAkB;;8BAWG,MAAM;EAe1C"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Manages controls visibility with an auto-hide timer.
|
|
3
|
+
* Call `showControls()` on any user interaction to reset the timer.
|
|
4
|
+
*/
|
|
5
|
+
export declare function useVideoControls(autoHideDelayMs?: number): {
|
|
6
|
+
controlsVisible: boolean;
|
|
7
|
+
showControls: () => void;
|
|
8
|
+
keepControlsVisible: () => void;
|
|
9
|
+
toggleControls: () => void;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=useVideoControls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useVideoControls.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useVideoControls.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,eAAe,SAAO;;;;;EAsDtD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useVideoOrientation.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useVideoOrientation.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAgB,mBAAmB,SAalC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { VideoPlayerAPI, VideoPlayerState } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Headless hook. Use this when you want to build your own UI
|
|
4
|
+
* while delegating all playback state to rn-videokit.
|
|
5
|
+
*/
|
|
6
|
+
export declare function useVideoPlayer(): VideoPlayerState & VideoPlayerAPI;
|
|
7
|
+
//# sourceMappingURL=useVideoPlayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useVideoPlayer.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useVideoPlayer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjE;;;GAGG;AACH,wBAAgB,cAAc,IAAI,gBAAgB,GAAG,cAAc,CA2DlE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useVideoVolume.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useVideoVolume.ts"],"names":[],"mappings":"AAIA,wBAAgB,cAAc;;0BAYmB,MAAM;;EAmBtD"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { VideoKit } from './components/VideoKit';
|
|
2
|
+
export { useVideoPlayer } from './hooks/useVideoPlayer';
|
|
3
|
+
export { useVideoStore } from './components/core/VideoPlayerContext';
|
|
4
|
+
export { VideoPlayerProvider } from './components/core/VideoPlayerContext';
|
|
5
|
+
export type { VideoKitProps, VideoKitTheme, VideoKitControlsConfig, VideoSource, VideoPlayerAPI, VideoPlayerState, VideoProgress, PlaybackStatus, } from './types';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAE3E,YAAY,EACV,aAAa,EACb,aAAa,EACb,sBAAsB,EACtB,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,cAAc,GACf,MAAM,SAAS,CAAC"}
|