UNPKG

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

Version:
25 lines (24 loc) 1.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useBottomSheetOnSnapDetection = useBottomSheetOnSnapDetection; var _reactNativeReanimated = require("react-native-reanimated"); var _context = require("../context"); function useBottomSheetOnSnapDetection(onSnapChange) { const { isReadySharedValue, normalizedSnapPointsSharedValue, currentPositionSharedValue } = (0, _context.useBottomSheetToolboxInternalContext)(); (0, _reactNativeReanimated.useAnimatedReaction)(() => { const normalizedSnapPoints = normalizedSnapPointsSharedValue.get(); if (!isReadySharedValue.get() || normalizedSnapPoints === null) return null; const snapPointIndex = normalizedSnapPoints.indexOf(currentPositionSharedValue.get()); return snapPointIndex === -1 ? null : snapPointIndex; }, (currentSnapIndex, lastSnapIndex) => { if (currentSnapIndex === null) return; if (onSnapChange) (0, _reactNativeReanimated.runOnJS)(onSnapChange)(currentSnapIndex, lastSnapIndex); }, [isReadySharedValue, normalizedSnapPointsSharedValue, currentPositionSharedValue]); } //# sourceMappingURL=use-bottom-sheet-on-snap-detection.js.map