react-native-screen-transitions 3.2.1 → 3.3.0-beta.1

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.
Files changed (173) hide show
  1. package/README.md +105 -10
  2. package/lib/commonjs/blank-stack/components/adjusted-screen.js +2 -2
  3. package/lib/commonjs/blank-stack/components/adjusted-screen.js.map +1 -1
  4. package/lib/commonjs/shared/components/create-transition-aware-component.js +8 -2
  5. package/lib/commonjs/shared/components/create-transition-aware-component.js.map +1 -1
  6. package/lib/commonjs/shared/components/{root-transition-aware.js → screen-container.js} +28 -12
  7. package/lib/commonjs/shared/components/screen-container.js.map +1 -0
  8. package/lib/commonjs/shared/configs/presets.js +3 -3
  9. package/lib/commonjs/shared/configs/presets.js.map +1 -1
  10. package/lib/commonjs/shared/configs/specs.js +6 -1
  11. package/lib/commonjs/shared/configs/specs.js.map +1 -1
  12. package/lib/commonjs/shared/constants.js +36 -10
  13. package/lib/commonjs/shared/constants.js.map +1 -1
  14. package/lib/commonjs/shared/hooks/animation/use-screen-animation.js +25 -18
  15. package/lib/commonjs/shared/hooks/animation/use-screen-animation.js.map +1 -1
  16. package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js +25 -202
  17. package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js.map +1 -1
  18. package/lib/commonjs/shared/hooks/gestures/use-screen-gesture-handlers.js +342 -0
  19. package/lib/commonjs/shared/hooks/gestures/use-screen-gesture-handlers.js.map +1 -0
  20. package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js +47 -4
  21. package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
  22. package/lib/commonjs/shared/hooks/lifecycle/use-close-transition.js +3 -3
  23. package/lib/commonjs/shared/hooks/lifecycle/use-close-transition.js.map +1 -1
  24. package/lib/commonjs/shared/hooks/lifecycle/use-open-transition.js +25 -3
  25. package/lib/commonjs/shared/hooks/lifecycle/use-open-transition.js.map +1 -1
  26. package/lib/commonjs/shared/hooks/navigation/use-screen-state.js +33 -2
  27. package/lib/commonjs/shared/hooks/navigation/use-screen-state.js.map +1 -1
  28. package/lib/commonjs/shared/hooks/use-backdrop-pointer-events.js +32 -0
  29. package/lib/commonjs/shared/hooks/use-backdrop-pointer-events.js.map +1 -0
  30. package/lib/commonjs/shared/providers/gestures.provider.js +4 -2
  31. package/lib/commonjs/shared/providers/gestures.provider.js.map +1 -1
  32. package/lib/commonjs/shared/providers/screen/screen-composer.js +2 -2
  33. package/lib/commonjs/shared/providers/screen/screen-composer.js.map +1 -1
  34. package/lib/commonjs/shared/utils/animation/{start-screen-transition.js → animate-to-progress.js} +16 -8
  35. package/lib/commonjs/shared/utils/animation/animate-to-progress.js.map +1 -0
  36. package/lib/commonjs/shared/utils/gesture/check-gesture-activation.js +138 -0
  37. package/lib/commonjs/shared/utils/gesture/check-gesture-activation.js.map +1 -1
  38. package/lib/commonjs/shared/utils/gesture/determine-snap-target.js +56 -0
  39. package/lib/commonjs/shared/utils/gesture/determine-snap-target.js.map +1 -0
  40. package/lib/commonjs/shared/utils/gesture/validate-snap-points.js +31 -0
  41. package/lib/commonjs/shared/utils/gesture/validate-snap-points.js.map +1 -0
  42. package/lib/commonjs/shared/utils/gesture/velocity.js +11 -0
  43. package/lib/commonjs/shared/utils/gesture/velocity.js.map +1 -1
  44. package/lib/commonjs/shared/utils/logger.js +22 -0
  45. package/lib/commonjs/shared/utils/logger.js.map +1 -0
  46. package/lib/module/blank-stack/components/adjusted-screen.js +1 -1
  47. package/lib/module/blank-stack/components/adjusted-screen.js.map +1 -1
  48. package/lib/module/shared/components/create-transition-aware-component.js +8 -2
  49. package/lib/module/shared/components/create-transition-aware-component.js.map +1 -1
  50. package/lib/module/shared/components/screen-container.js +64 -0
  51. package/lib/module/shared/components/screen-container.js.map +1 -0
  52. package/lib/module/shared/configs/presets.js +3 -3
  53. package/lib/module/shared/configs/presets.js.map +1 -1
  54. package/lib/module/shared/configs/specs.js +5 -0
  55. package/lib/module/shared/configs/specs.js.map +1 -1
  56. package/lib/module/shared/constants.js +34 -9
  57. package/lib/module/shared/constants.js.map +1 -1
  58. package/lib/module/shared/hooks/animation/use-screen-animation.js +25 -18
  59. package/lib/module/shared/hooks/animation/use-screen-animation.js.map +1 -1
  60. package/lib/module/shared/hooks/gestures/use-build-gestures.js +25 -201
  61. package/lib/module/shared/hooks/gestures/use-build-gestures.js.map +1 -1
  62. package/lib/module/shared/hooks/gestures/use-screen-gesture-handlers.js +336 -0
  63. package/lib/module/shared/hooks/gestures/use-screen-gesture-handlers.js.map +1 -0
  64. package/lib/module/shared/hooks/gestures/use-scroll-registry.js +47 -4
  65. package/lib/module/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
  66. package/lib/module/shared/hooks/lifecycle/use-close-transition.js +3 -3
  67. package/lib/module/shared/hooks/lifecycle/use-close-transition.js.map +1 -1
  68. package/lib/module/shared/hooks/lifecycle/use-open-transition.js +25 -3
  69. package/lib/module/shared/hooks/lifecycle/use-open-transition.js.map +1 -1
  70. package/lib/module/shared/hooks/navigation/use-screen-state.js +35 -4
  71. package/lib/module/shared/hooks/navigation/use-screen-state.js.map +1 -1
  72. package/lib/module/shared/hooks/use-backdrop-pointer-events.js +28 -0
  73. package/lib/module/shared/hooks/use-backdrop-pointer-events.js.map +1 -0
  74. package/lib/module/shared/providers/gestures.provider.js +4 -2
  75. package/lib/module/shared/providers/gestures.provider.js.map +1 -1
  76. package/lib/module/shared/providers/screen/screen-composer.js +2 -2
  77. package/lib/module/shared/providers/screen/screen-composer.js.map +1 -1
  78. package/lib/module/shared/utils/animation/{start-screen-transition.js → animate-to-progress.js} +14 -6
  79. package/lib/module/shared/utils/animation/animate-to-progress.js.map +1 -0
  80. package/lib/module/shared/utils/gesture/check-gesture-activation.js +137 -0
  81. package/lib/module/shared/utils/gesture/check-gesture-activation.js.map +1 -1
  82. package/lib/module/shared/utils/gesture/determine-snap-target.js +52 -0
  83. package/lib/module/shared/utils/gesture/determine-snap-target.js.map +1 -0
  84. package/lib/module/shared/utils/gesture/validate-snap-points.js +26 -0
  85. package/lib/module/shared/utils/gesture/validate-snap-points.js.map +1 -0
  86. package/lib/module/shared/utils/gesture/velocity.js +11 -0
  87. package/lib/module/shared/utils/gesture/velocity.js.map +1 -1
  88. package/lib/module/shared/utils/logger.js +17 -0
  89. package/lib/module/shared/utils/logger.js.map +1 -0
  90. package/lib/typescript/blank-stack/components/adjusted-screen.d.ts.map +1 -1
  91. package/lib/typescript/shared/components/create-transition-aware-component.d.ts.map +1 -1
  92. package/lib/typescript/shared/components/screen-container.d.ts +6 -0
  93. package/lib/typescript/shared/components/screen-container.d.ts.map +1 -0
  94. package/lib/typescript/shared/configs/specs.d.ts +1 -0
  95. package/lib/typescript/shared/configs/specs.d.ts.map +1 -1
  96. package/lib/typescript/shared/constants.d.ts +9 -0
  97. package/lib/typescript/shared/constants.d.ts.map +1 -1
  98. package/lib/typescript/shared/hooks/animation/use-screen-animation.d.ts.map +1 -1
  99. package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts +1 -1
  100. package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts.map +1 -1
  101. package/lib/typescript/shared/hooks/gestures/use-screen-gesture-handlers.d.ts +19 -0
  102. package/lib/typescript/shared/hooks/gestures/use-screen-gesture-handlers.d.ts.map +1 -0
  103. package/lib/typescript/shared/hooks/gestures/use-scroll-registry.d.ts +5 -1
  104. package/lib/typescript/shared/hooks/gestures/use-scroll-registry.d.ts.map +1 -1
  105. package/lib/typescript/shared/hooks/lifecycle/use-open-transition.d.ts.map +1 -1
  106. package/lib/typescript/shared/hooks/navigation/use-screen-state.d.ts +7 -0
  107. package/lib/typescript/shared/hooks/navigation/use-screen-state.d.ts.map +1 -1
  108. package/lib/typescript/shared/hooks/use-backdrop-pointer-events.d.ts +15 -0
  109. package/lib/typescript/shared/hooks/use-backdrop-pointer-events.d.ts.map +1 -0
  110. package/lib/typescript/shared/providers/gestures.provider.d.ts +1 -0
  111. package/lib/typescript/shared/providers/gestures.provider.d.ts.map +1 -1
  112. package/lib/typescript/shared/types/animation.types.d.ts +37 -2
  113. package/lib/typescript/shared/types/animation.types.d.ts.map +1 -1
  114. package/lib/typescript/shared/types/screen.types.d.ts +26 -0
  115. package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
  116. package/lib/typescript/shared/utils/animation/animate-to-progress.d.ts +19 -0
  117. package/lib/typescript/shared/utils/animation/animate-to-progress.d.ts.map +1 -0
  118. package/lib/typescript/shared/utils/gesture/check-gesture-activation.d.ts +23 -0
  119. package/lib/typescript/shared/utils/gesture/check-gesture-activation.d.ts.map +1 -1
  120. package/lib/typescript/shared/utils/gesture/determine-snap-target.d.ts +26 -0
  121. package/lib/typescript/shared/utils/gesture/determine-snap-target.d.ts.map +1 -0
  122. package/lib/typescript/shared/utils/gesture/validate-snap-points.d.ts +13 -0
  123. package/lib/typescript/shared/utils/gesture/validate-snap-points.d.ts.map +1 -0
  124. package/lib/typescript/shared/utils/gesture/velocity.d.ts +1 -0
  125. package/lib/typescript/shared/utils/gesture/velocity.d.ts.map +1 -1
  126. package/lib/typescript/shared/utils/logger.d.ts +6 -0
  127. package/lib/typescript/shared/utils/logger.d.ts.map +1 -0
  128. package/package.json +3 -2
  129. package/src/blank-stack/components/adjusted-screen.tsx +1 -1
  130. package/src/shared/__tests__/derivations.test.ts +1 -0
  131. package/src/shared/__tests__/determine-snap-target.test.ts +268 -0
  132. package/src/shared/__tests__/gesture-activation.test.ts +220 -0
  133. package/src/shared/__tests__/validate-snap-points.test.ts +125 -0
  134. package/src/shared/components/create-transition-aware-component.tsx +11 -1
  135. package/src/shared/components/screen-container.tsx +65 -0
  136. package/src/shared/configs/presets.ts +3 -3
  137. package/src/shared/configs/specs.ts +6 -0
  138. package/src/shared/constants.ts +36 -9
  139. package/src/shared/hooks/animation/use-screen-animation.tsx +32 -21
  140. package/src/shared/hooks/gestures/use-build-gestures.tsx +23 -275
  141. package/src/shared/hooks/gestures/use-screen-gesture-handlers.ts +434 -0
  142. package/src/shared/hooks/gestures/use-scroll-registry.tsx +52 -1
  143. package/src/shared/hooks/lifecycle/use-close-transition.ts +3 -3
  144. package/src/shared/hooks/lifecycle/use-open-transition.ts +27 -3
  145. package/src/shared/hooks/navigation/use-screen-state.tsx +59 -2
  146. package/src/shared/hooks/use-backdrop-pointer-events.ts +32 -0
  147. package/src/shared/providers/gestures.provider.tsx +3 -2
  148. package/src/shared/providers/screen/screen-composer.tsx +2 -2
  149. package/src/shared/types/animation.types.ts +39 -2
  150. package/src/shared/types/screen.types.ts +29 -0
  151. package/src/shared/utils/animation/{start-screen-transition.ts → animate-to-progress.ts} +23 -8
  152. package/src/shared/utils/gesture/check-gesture-activation.ts +129 -0
  153. package/src/shared/utils/gesture/determine-snap-target.ts +75 -0
  154. package/src/shared/utils/gesture/validate-snap-points.ts +37 -0
  155. package/src/shared/utils/gesture/velocity.ts +10 -0
  156. package/src/shared/utils/logger.ts +15 -0
  157. package/lib/commonjs/shared/components/root-transition-aware.js.map +0 -1
  158. package/lib/commonjs/shared/hooks/use-stack-pointer-events.js +0 -23
  159. package/lib/commonjs/shared/hooks/use-stack-pointer-events.js.map +0 -1
  160. package/lib/commonjs/shared/utils/animation/start-screen-transition.js.map +0 -1
  161. package/lib/module/shared/components/root-transition-aware.js +0 -48
  162. package/lib/module/shared/components/root-transition-aware.js.map +0 -1
  163. package/lib/module/shared/hooks/use-stack-pointer-events.js +0 -20
  164. package/lib/module/shared/hooks/use-stack-pointer-events.js.map +0 -1
  165. package/lib/module/shared/utils/animation/start-screen-transition.js.map +0 -1
  166. package/lib/typescript/shared/components/root-transition-aware.d.ts +0 -6
  167. package/lib/typescript/shared/components/root-transition-aware.d.ts.map +0 -1
  168. package/lib/typescript/shared/hooks/use-stack-pointer-events.d.ts +0 -10
  169. package/lib/typescript/shared/hooks/use-stack-pointer-events.d.ts.map +0 -1
  170. package/lib/typescript/shared/utils/animation/start-screen-transition.d.ts +0 -13
  171. package/lib/typescript/shared/utils/animation/start-screen-transition.d.ts.map +0 -1
  172. package/src/shared/components/root-transition-aware.tsx +0 -49
  173. package/src/shared/hooks/use-stack-pointer-events.ts +0 -15
@@ -16,23 +16,24 @@ var _gesture = require("../../stores/gesture.store");
16
16
  var _derivations = require("../../utils/animation/derivations");
17
17
  var _bounds = require("../../utils/bounds");
18
18
  var _useStack = require("../navigation/use-stack");
19
- const createScreenTransitionState = (route, meta) => ({
20
- progress: 0,
21
- closing: 0,
22
- animating: 0,
23
- entering: 1,
24
- gesture: {
25
- x: 0,
26
- y: 0,
27
- normalizedX: 0,
28
- normalizedY: 0,
29
- isDismissing: 0,
30
- isDragging: 0,
31
- direction: null
32
- },
33
- route,
34
- meta
35
- });
19
+ /**
20
+ * Computes the animated snap index based on progress and snap points.
21
+ * Returns -1 if no snap points, otherwise interpolates between indices.
22
+ */
23
+ const computeSnapIndex = (progress, snapPoints) => {
24
+ "worklet";
25
+
26
+ if (snapPoints.length === 0) return -1;
27
+ if (progress <= snapPoints[0]) return 0;
28
+ if (progress >= snapPoints[snapPoints.length - 1]) return snapPoints.length - 1;
29
+ for (let i = 0; i < snapPoints.length - 1; i++) {
30
+ if (progress <= snapPoints[i + 1]) {
31
+ const t = (progress - snapPoints[i]) / (snapPoints[i + 1] - snapPoints[i]);
32
+ return i + t;
33
+ }
34
+ }
35
+ return snapPoints.length - 1;
36
+ };
36
37
  const unwrapInto = s => {
37
38
  "worklet";
38
39
 
@@ -64,7 +65,7 @@ const useBuildScreenTransitionState = descriptor => {
64
65
  gesture: _gesture.GestureStore.getRouteGestures(key),
65
66
  route: descriptor.route,
66
67
  meta,
67
- unwrapped: createScreenTransitionState(descriptor.route, meta)
68
+ unwrapped: (0, _constants.createScreenTransitionState)(descriptor.route, meta)
68
69
  };
69
70
  }, [key, descriptor?.route, meta]);
70
71
  };
@@ -94,6 +95,10 @@ function _useScreenAnimation() {
94
95
  const prevAnimation = useBuildScreenTransitionState(previousDescriptor);
95
96
  const currentRouteKey = currentDescriptor?.route?.key;
96
97
  const currentIndex = routeKeys.indexOf(currentRouteKey);
98
+ const sortedSnapPoints = (0, _react.useMemo)(() => {
99
+ const points = currentDescriptor?.options?.snapPoints;
100
+ return points ? [...points].sort((a, b) => a - b) : [];
101
+ }, [currentDescriptor?.options?.snapPoints]);
97
102
  const screenInterpolatorProps = (0, _reactNativeReanimated.useDerivedValue)(() => {
98
103
  "worklet";
99
104
 
@@ -113,6 +118,7 @@ function _useScreenAnimation() {
113
118
  // This gives us the sum of progress values from current screen onwards
114
119
  // Falls back to current progress if index is invalid
115
120
  const stackProgress = currentIndex >= 0 ? rootStackProgress.value - currentIndex : progress;
121
+ const snapIndex = computeSnapIndex(current.progress, sortedSnapPoints);
116
122
  return {
117
123
  layouts: {
118
124
  screen: dimensions
@@ -123,6 +129,7 @@ function _useScreenAnimation() {
123
129
  next,
124
130
  progress,
125
131
  stackProgress,
132
+ snapIndex,
126
133
  ...helpers
127
134
  };
128
135
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_reactNativeSafeAreaContext","_constants","_keys","_animation","_gesture","_derivations","_bounds","_useStack","createScreenTransitionState","route","meta","progress","closing","animating","entering","gesture","x","y","normalizedX","normalizedY","isDismissing","isDragging","direction","unwrapInto","s","out","unwrapped","value","useBuildScreenTransitionState","descriptor","key","options","useMemo","undefined","AnimationStore","getAnimation","GestureStore","getRouteGestures","hasTransitionsEnabled","alwaysOn","enableTransitions","_useScreenAnimation","windowDimensions","useWindowDimensions","dimensions","insets","useSafeAreaInsets","flags","stackProgress","rootStackProgress","routeKeys","useStack","transitionsAlwaysOn","TRANSITIONS_ALWAYS_ON","current","currentDescriptor","next","nextDescriptor","previous","previousDescriptor","useKeys","currentAnimation","nextAnimation","prevAnimation","currentRouteKey","currentIndex","indexOf","screenInterpolatorProps","useDerivedValue","DEFAULT_SCREEN_TRANSITION_STATE","helpers","derivations","layouts","screen","nextInterpolator","screenStyleInterpolator","currentInterpolator","useScreenAnimation","props","bounds","createBounds"],"sourceRoot":"../../../../../src","sources":["shared/hooks/animation/use-screen-animation.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_reactNativeSafeAreaContext","_constants","_keys","_animation","_gesture","_derivations","_bounds","_useStack","computeSnapIndex","progress","snapPoints","length","i","t","unwrapInto","s","out","unwrapped","value","closing","entering","animating","gesture","x","y","normalizedX","normalizedY","isDismissing","isDragging","direction","meta","useBuildScreenTransitionState","descriptor","key","route","options","useMemo","undefined","AnimationStore","getAnimation","GestureStore","getRouteGestures","createScreenTransitionState","hasTransitionsEnabled","alwaysOn","enableTransitions","_useScreenAnimation","windowDimensions","useWindowDimensions","dimensions","insets","useSafeAreaInsets","flags","stackProgress","rootStackProgress","routeKeys","useStack","transitionsAlwaysOn","TRANSITIONS_ALWAYS_ON","current","currentDescriptor","next","nextDescriptor","previous","previousDescriptor","useKeys","currentAnimation","nextAnimation","prevAnimation","currentRouteKey","currentIndex","indexOf","sortedSnapPoints","points","sort","a","b","screenInterpolatorProps","useDerivedValue","DEFAULT_SCREEN_TRANSITION_STATE","helpers","derivations","snapIndex","layouts","screen","nextInterpolator","screenStyleInterpolator","currentInterpolator","useScreenAnimation","props","bounds","createBounds"],"sourceRoot":"../../../../../src","sources":["shared/hooks/animation/use-screen-animation.tsx"],"mappings":"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","ignoreList":[]}
@@ -6,61 +6,37 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.useBuildGestures = void 0;
7
7
  var _native = require("@react-navigation/native");
8
8
  var _react = require("react");
9
- var _reactNative = require("react-native");
10
9
  var _reactNativeGestureHandler = require("react-native-gesture-handler");
11
- var _reactNativeReanimated = require("react-native-reanimated");
12
- var _constants = require("../../constants");
13
10
  var _keys = require("../../providers/screen/keys.provider");
14
- var _animation = require("../../stores/animation.store");
15
11
  var _gesture = require("../../stores/gesture.store");
16
- var _gesture2 = require("../../types/gesture.types");
17
- var _startScreenTransition = require("../../utils/animation/start-screen-transition");
18
- var _checkGestureActivation = require("../../utils/gesture/check-gesture-activation");
19
- var _determineDismissal = require("../../utils/gesture/determine-dismissal");
20
- var _mapGestureToProgress = require("../../utils/gesture/map-gesture-to-progress");
21
- var _resetGestureValues = require("../../utils/gesture/reset-gesture-values");
22
- var _velocity = require("../../utils/gesture/velocity");
23
- var _useStableCallbackValue = _interopRequireDefault(require("../use-stable-callback-value"));
24
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ var _useScreenGestureHandlers = require("./use-screen-gesture-handlers");
25
13
  const useBuildGestures = ({
26
14
  scrollConfig,
27
15
  ancestorContext
28
16
  }) => {
29
- const dimensions = (0, _reactNative.useWindowDimensions)();
30
17
  const {
31
18
  current
32
19
  } = (0, _keys.useKeys)();
33
20
  const navState = current.navigation.getState();
34
- const isFirstScreen = navState.routes.findIndex(r => r.key === current.route.key) === 0;
35
- const initialTouch = (0, _reactNativeReanimated.useSharedValue)({
36
- x: 0,
37
- y: 0
38
- });
39
- const gestureOffsetState = (0, _reactNativeReanimated.useSharedValue)(_gesture2.GestureOffsetState.PENDING);
21
+ const isFirstScreen = (0, _react.useMemo)(() => {
22
+ return navState.routes.findIndex(r => r.key === current.route.key) === 0;
23
+ }, [navState.routes, current.route.key]);
40
24
 
41
25
  // Ref for external gesture coordination (e.g., swipeable lists)
42
26
  const panGestureRef = (0, _react.useRef)(undefined);
43
27
  const gestureAnimationValues = _gesture.GestureStore.getRouteGestures(current.route.key);
44
- const animations = _animation.AnimationStore.getAll(current.route.key);
45
28
  const {
46
- gestureDirection = _constants.DEFAULT_GESTURE_DIRECTION,
47
- gestureVelocityImpact = _constants.GESTURE_VELOCITY_IMPACT,
48
- gestureDrivesProgress = _constants.DEFAULT_GESTURE_DRIVES_PROGRESS,
49
- gestureActivationArea = _constants.DEFAULT_GESTURE_ACTIVATION_AREA,
50
- gestureResponseDistance,
51
- transitionSpec
29
+ snapPoints
52
30
  } = current.options;
53
- const gestureEnabled = Boolean(isFirstScreen ? false : current.options.gestureEnabled);
54
- const directions = (0, _react.useMemo)(() => {
55
- const directionsArray = Array.isArray(gestureDirection) ? gestureDirection : [gestureDirection];
56
- const isBidirectional = directionsArray.includes("bidirectional");
57
- return {
58
- vertical: directionsArray.includes("vertical") || isBidirectional,
59
- verticalInverted: directionsArray.includes("vertical-inverted") || isBidirectional,
60
- horizontal: directionsArray.includes("horizontal") || isBidirectional,
61
- horizontalInverted: directionsArray.includes("horizontal-inverted") || isBidirectional
62
- };
63
- }, [gestureDirection]);
31
+
32
+ // Dismiss gesture is controlled by gestureEnabled (disabled for first screen)
33
+ const canDismiss = Boolean(isFirstScreen ? false : current.options.gestureEnabled);
34
+
35
+ // Snap navigation works independently - enabled when snap points exist
36
+ // This matches iOS native sheet behavior where gestureEnabled: false
37
+ // disables dismiss but you can still drag between detents
38
+ const hasSnapPoints = Array.isArray(snapPoints) && snapPoints.length > 0;
39
+ const gestureEnabled = canDismiss || hasSnapPoints;
64
40
  const handleDismiss = (0, _react.useCallback)(() => {
65
41
  // If an ancestor navigator is already dismissing, skip this dismiss to
66
42
  // avoid racing with the ancestor
@@ -78,171 +54,18 @@ const useBuildGestures = ({
78
54
  target: state.key
79
55
  });
80
56
  }, [current, ancestorContext]);
81
- const onTouchesDown = (0, _useStableCallbackValue.default)(e => {
82
- "worklet";
83
-
84
- const firstTouch = e.changedTouches[0];
85
- initialTouch.value = {
86
- x: firstTouch.x,
87
- y: firstTouch.y
88
- };
89
- gestureOffsetState.value = _gesture2.GestureOffsetState.PENDING;
90
- });
91
- const onTouchesMove = (0, _useStableCallbackValue.default)((e, manager) => {
92
- "worklet";
93
-
94
- // If an ancestor navigator is already dismissing via gesture, block new gestures here.
95
- if (ancestorContext?.gestureAnimationValues.isDismissing?.value) {
96
- gestureOffsetState.value = _gesture2.GestureOffsetState.FAILED;
97
- manager.fail();
98
- return;
99
- }
100
- const touch = e.changedTouches[0];
101
- const {
102
- isSwipingDown,
103
- isSwipingUp,
104
- isSwipingRight,
105
- isSwipingLeft
106
- } = (0, _checkGestureActivation.applyOffsetRules)({
107
- touch,
108
- directions,
109
- manager,
110
- dimensions,
111
- gestureOffsetState,
112
- initialTouch: initialTouch.value,
113
- activationArea: gestureActivationArea,
114
- responseDistance: gestureResponseDistance
115
- });
116
- if (gestureOffsetState.value === _gesture2.GestureOffsetState.FAILED) {
117
- manager.fail();
118
- return;
119
- }
120
-
121
- // Keep pending until thresholds are met; no eager activation.
122
- if (gestureAnimationValues.isDragging?.value) {
123
- manager.activate();
124
- return;
125
- }
126
- const maxScrollY = scrollConfig.value?.contentHeight ? scrollConfig.value.contentHeight - scrollConfig.value.layoutHeight : 0;
127
- const maxScrollX = scrollConfig.value?.contentWidth ? scrollConfig.value.contentWidth - scrollConfig.value.layoutWidth : 0;
128
- const recognizedDirection = isSwipingDown || isSwipingUp || isSwipingRight || isSwipingLeft;
129
- const scrollCfg = scrollConfig.value;
130
- let shouldActivate = false;
131
- let activatedDirection = null;
132
- if (recognizedDirection) {
133
- if (directions.vertical && isSwipingDown) {
134
- shouldActivate = scrollCfg ? scrollCfg.y <= 0 : true;
135
- if (shouldActivate) activatedDirection = "vertical";
136
- }
137
- if (directions.horizontal && isSwipingRight) {
138
- shouldActivate = scrollCfg ? scrollCfg.x <= 0 : true;
139
- if (shouldActivate) activatedDirection = "horizontal";
140
- }
141
- if (directions.verticalInverted && isSwipingUp) {
142
- shouldActivate = scrollCfg ? scrollCfg.y >= maxScrollY : true;
143
- if (shouldActivate) activatedDirection = "vertical-inverted";
144
- }
145
- if (directions.horizontalInverted && isSwipingLeft) {
146
- shouldActivate = scrollCfg ? scrollCfg.x >= maxScrollX : true;
147
- if (shouldActivate) activatedDirection = "horizontal-inverted";
148
- }
149
- }
150
- if (recognizedDirection && !shouldActivate) {
151
- manager.fail();
152
- return;
153
- }
154
- if (shouldActivate && gestureOffsetState.value === _gesture2.GestureOffsetState.PASSED && !gestureAnimationValues.isDismissing?.value) {
155
- gestureAnimationValues.direction.value = activatedDirection;
156
- manager.activate();
157
- return;
158
- }
159
- });
160
- const onStart = (0, _useStableCallbackValue.default)(() => {
161
- "worklet";
162
-
163
- gestureAnimationValues.isDragging.value = 1;
164
- gestureAnimationValues.isDismissing.value = 0;
165
- });
166
- const onUpdate = (0, _useStableCallbackValue.default)(event => {
167
- "worklet";
168
-
169
- let gestureProgress = 0;
170
- const {
171
- translationX,
172
- translationY
173
- } = event;
174
- const {
175
- width,
176
- height
177
- } = dimensions;
178
- gestureAnimationValues.x.value = translationX;
179
- gestureAnimationValues.y.value = translationY;
180
- gestureAnimationValues.normalizedX.value = Math.max(-1, Math.min(1, translationX / width));
181
- gestureAnimationValues.normalizedY.value = Math.max(-1, Math.min(1, translationY / height));
182
- let maxProgress = 0;
183
- const allowedDown = directions.vertical;
184
- const allowedUp = directions.verticalInverted;
185
- const allowedRight = directions.horizontal;
186
- const allowedLeft = directions.horizontalInverted;
187
- if (allowedRight && event.translationX > 0) {
188
- const currentProgress = (0, _mapGestureToProgress.mapGestureToProgress)(translationX, dimensions.width);
189
- maxProgress = Math.max(maxProgress, currentProgress);
190
- }
191
- if (allowedLeft && event.translationX < 0) {
192
- const currentProgress = (0, _mapGestureToProgress.mapGestureToProgress)(-translationX, dimensions.width);
193
- maxProgress = Math.max(maxProgress, currentProgress);
194
- }
195
- if (allowedDown && event.translationY > 0) {
196
- const currentProgress = (0, _mapGestureToProgress.mapGestureToProgress)(translationY, dimensions.height);
197
- maxProgress = Math.max(maxProgress, currentProgress);
198
- }
199
- if (allowedUp && event.translationY < 0) {
200
- const currentProgress = (0, _mapGestureToProgress.mapGestureToProgress)(-translationY, dimensions.height);
201
- maxProgress = Math.max(maxProgress, currentProgress);
202
- }
203
- gestureProgress = maxProgress;
204
- if (gestureDrivesProgress) {
205
- animations.progress.value = 1 - gestureProgress;
206
- }
207
- });
208
- const onEnd = (0, _useStableCallbackValue.default)(event => {
209
- "worklet";
210
-
211
- const {
212
- shouldDismiss
213
- } = (0, _determineDismissal.determineDismissal)({
214
- event,
215
- directions,
216
- dimensions,
217
- gestureVelocityImpact
218
- });
219
- const spec = shouldDismiss ? transitionSpec?.close : transitionSpec?.open;
220
- (0, _resetGestureValues.resetGestureValues)({
221
- spec,
222
- gestures: gestureAnimationValues,
223
- shouldDismiss,
224
- event,
225
- dimensions
226
- });
227
- const initialVelocity = _velocity.velocity.calculateProgressVelocity({
228
- animations,
229
- shouldDismiss,
230
- event,
231
- dimensions,
232
- directions
233
- });
234
- (0, _startScreenTransition.startScreenTransition)({
235
- target: shouldDismiss ? "close" : "open",
236
- onAnimationFinish: shouldDismiss ? handleDismiss : undefined,
237
- spec: transitionSpec,
238
- animations,
239
- initialVelocity
240
- });
57
+ const {
58
+ onTouchesDown,
59
+ onTouchesMove,
60
+ onStart,
61
+ onUpdate,
62
+ onEnd
63
+ } = (0, _useScreenGestureHandlers.useScreenGestureHandlers)({
64
+ scrollConfig,
65
+ canDismiss,
66
+ handleDismiss,
67
+ ancestorIsDismissing: ancestorContext?.gestureAnimationValues.isDismissing
241
68
  });
242
-
243
- // Memoize gestures to keep stable references - critical for RNGH
244
- // Child gestures reference ancestor's pan via requireExternalGestureToFail,
245
- // so the pan gesture MUST be stable or children will reference stale objects
246
69
  return (0, _react.useMemo)(() => {
247
70
  const panGesture = _reactNativeGestureHandler.Gesture.Pan().withRef(panGestureRef).enabled(gestureEnabled).manualActivation(true).onTouchesDown(onTouchesDown).onTouchesMove(onTouchesMove).onStart(onStart).onUpdate(onUpdate).onEnd(onEnd);
248
71
 
@@ -1 +1 @@
1
- {"version":3,"names":["_native","require","_react","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_constants","_keys","_animation","_gesture","_gesture2","_startScreenTransition","_checkGestureActivation","_determineDismissal","_mapGestureToProgress","_resetGestureValues","_velocity","_useStableCallbackValue","_interopRequireDefault","e","__esModule","default","useBuildGestures","scrollConfig","ancestorContext","dimensions","useWindowDimensions","current","useKeys","navState","navigation","getState","isFirstScreen","routes","findIndex","r","key","route","initialTouch","useSharedValue","x","y","gestureOffsetState","GestureOffsetState","PENDING","panGestureRef","useRef","undefined","gestureAnimationValues","GestureStore","getRouteGestures","animations","AnimationStore","getAll","gestureDirection","DEFAULT_GESTURE_DIRECTION","gestureVelocityImpact","GESTURE_VELOCITY_IMPACT","gestureDrivesProgress","DEFAULT_GESTURE_DRIVES_PROGRESS","gestureActivationArea","DEFAULT_GESTURE_ACTIVATION_AREA","gestureResponseDistance","transitionSpec","options","gestureEnabled","Boolean","directions","useMemo","directionsArray","Array","isArray","isBidirectional","includes","vertical","verticalInverted","horizontal","horizontalInverted","handleDismiss","useCallback","isDismissing","value","state","routeStillPresent","some","dispatch","StackActions","pop","source","target","onTouchesDown","useStableCallbackValue","firstTouch","changedTouches","onTouchesMove","manager","FAILED","fail","touch","isSwipingDown","isSwipingUp","isSwipingRight","isSwipingLeft","applyOffsetRules","activationArea","responseDistance","isDragging","activate","maxScrollY","contentHeight","layoutHeight","maxScrollX","contentWidth","layoutWidth","recognizedDirection","scrollCfg","shouldActivate","activatedDirection","PASSED","direction","onStart","onUpdate","event","gestureProgress","translationX","translationY","width","height","normalizedX","Math","max","min","normalizedY","maxProgress","allowedDown","allowedUp","allowedRight","allowedLeft","currentProgress","mapGestureToProgress","progress","onEnd","shouldDismiss","determineDismissal","spec","close","open","resetGestureValues","gestures","initialVelocity","velocity","calculateProgressVelocity","startScreenTransition","onAnimationFinish","panGesture","Gesture","Pan","withRef","enabled","manualActivation","nativeGesture","Native","requireExternalGestureToFail","blocksExternalGesture","activePanAncestor","exports"],"sourceRoot":"../../../../../src","sources":["shared/hooks/gestures/use-build-gestures.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_native","require","_react","_reactNativeGestureHandler","_keys","_gesture","_useScreenGestureHandlers","useBuildGestures","scrollConfig","ancestorContext","current","useKeys","navState","navigation","getState","isFirstScreen","useMemo","routes","findIndex","r","key","route","panGestureRef","useRef","undefined","gestureAnimationValues","GestureStore","getRouteGestures","snapPoints","options","canDismiss","Boolean","gestureEnabled","hasSnapPoints","Array","isArray","length","handleDismiss","useCallback","isDismissing","value","state","routeStillPresent","some","dispatch","StackActions","pop","source","target","onTouchesDown","onTouchesMove","onStart","onUpdate","onEnd","useScreenGestureHandlers","ancestorIsDismissing","panGesture","Gesture","Pan","withRef","enabled","manualActivation","nativeGesture","Native","requireExternalGestureToFail","blocksExternalGesture","activePanAncestor","exports"],"sourceRoot":"../../../../../src","sources":["shared/hooks/gestures/use-build-gestures.tsx"],"mappings":"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","ignoreList":[]}