@attio/react-native-bottom-sheet-toolbox
Version:
26 lines (24 loc) • 867 B
JavaScript
;
import { useDerivedValue, useSharedValue } from "react-native-reanimated";
import { useBottomSheetToolboxInternalContext } from "../context";
/**
* Returns the direction the bottom sheet is moving in.
* +1 = moving up
* 0 = not moving
* -1 = moving down
*/
export function useBottomSheetDirection() {
const {
currentPositionSharedValue
} = useBottomSheetToolboxInternalContext();
const lastPositionSharedValue = useSharedValue(0);
return useDerivedValue(() => {
const currentPosition = currentPositionSharedValue.get();
const lastPosition = lastPositionSharedValue.get();
const delta = currentPosition - lastPosition;
const direction = Math.sign(delta);
lastPositionSharedValue.set(currentPosition);
return direction;
}, [currentPositionSharedValue]);
}
//# sourceMappingURL=use-bottom-sheet-direction.js.map