react-native-screen-transitions
Version:
Easy screen transitions for React Native and Expo
45 lines (42 loc) • 1.19 kB
JavaScript
import { velocity as V } from "./velocity";
const getAxisThreshold = ({
translation,
velocity,
screenSize,
gestureVelocityImpact
}) => {
"worklet";
return V.shouldPassDismissalThreshold(translation, velocity, screenSize, gestureVelocityImpact);
};
export const determineDismissal = ({
event,
directions,
dimensions,
gestureVelocityImpact
}) => {
"worklet";
let shouldDismiss = false;
if (directions.vertical && event.translationY > 0 || directions.verticalInverted && event.translationY < 0) {
const dismiss = getAxisThreshold({
translation: event.translationY,
velocity: event.velocityY,
screenSize: dimensions.height,
gestureVelocityImpact
});
if (dismiss) shouldDismiss = true;
}
if (directions.horizontal && event.translationX > 0 || directions.horizontalInverted && event.translationX < 0) {
const dismiss = getAxisThreshold({
translation: event.translationX,
velocity: event.velocityX,
screenSize: dimensions.width,
gestureVelocityImpact
});
if (dismiss) shouldDismiss = true;
}
return {
shouldDismiss
};
};
//# sourceMappingURL=determine-dismissal.js.map
;