UNPKG

@attio/react-native-bottom-sheet-toolbox

Version:
27 lines (20 loc) 812 B
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]) }