react-native-screen-transitions 3.3.0-beta.2 → 3.3.0-beta.4

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 (119) hide show
  1. package/README.md +95 -31
  2. package/lib/commonjs/shared/animation/snap-to.js +17 -10
  3. package/lib/commonjs/shared/animation/snap-to.js.map +1 -1
  4. package/lib/commonjs/shared/components/create-transition-aware-component.js +20 -18
  5. package/lib/commonjs/shared/components/create-transition-aware-component.js.map +1 -1
  6. package/lib/commonjs/shared/components/screen-container.js +68 -9
  7. package/lib/commonjs/shared/components/screen-container.js.map +1 -1
  8. package/lib/commonjs/shared/constants.js +8 -1
  9. package/lib/commonjs/shared/constants.js.map +1 -1
  10. package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js +49 -39
  11. package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js.map +1 -1
  12. package/lib/commonjs/shared/hooks/gestures/use-screen-gesture-handlers.js +110 -61
  13. package/lib/commonjs/shared/hooks/gestures/use-screen-gesture-handlers.js.map +1 -1
  14. package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js +67 -70
  15. package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
  16. package/lib/commonjs/shared/providers/gestures.provider.js +113 -25
  17. package/lib/commonjs/shared/providers/gestures.provider.js.map +1 -1
  18. package/lib/commonjs/shared/types/ownership.types.js +71 -0
  19. package/lib/commonjs/shared/types/ownership.types.js.map +1 -0
  20. package/lib/commonjs/shared/utils/gesture/check-gesture-activation.js +72 -128
  21. package/lib/commonjs/shared/utils/gesture/check-gesture-activation.js.map +1 -1
  22. package/lib/commonjs/shared/utils/gesture/compute-claimed-directions.js +81 -0
  23. package/lib/commonjs/shared/utils/gesture/compute-claimed-directions.js.map +1 -0
  24. package/lib/commonjs/shared/utils/gesture/determine-snap-target.js +1 -1
  25. package/lib/commonjs/shared/utils/gesture/determine-snap-target.js.map +1 -1
  26. package/lib/commonjs/shared/utils/gesture/find-collapse-target.js +48 -0
  27. package/lib/commonjs/shared/utils/gesture/find-collapse-target.js.map +1 -0
  28. package/lib/commonjs/shared/utils/gesture/resolve-ownership.js +87 -0
  29. package/lib/commonjs/shared/utils/gesture/resolve-ownership.js.map +1 -0
  30. package/lib/commonjs/shared/utils/gesture/velocity.js +16 -5
  31. package/lib/commonjs/shared/utils/gesture/velocity.js.map +1 -1
  32. package/lib/module/shared/animation/snap-to.js +16 -10
  33. package/lib/module/shared/animation/snap-to.js.map +1 -1
  34. package/lib/module/shared/components/create-transition-aware-component.js +20 -18
  35. package/lib/module/shared/components/create-transition-aware-component.js.map +1 -1
  36. package/lib/module/shared/components/screen-container.js +68 -10
  37. package/lib/module/shared/components/screen-container.js.map +1 -1
  38. package/lib/module/shared/constants.js +7 -0
  39. package/lib/module/shared/constants.js.map +1 -1
  40. package/lib/module/shared/hooks/gestures/use-build-gestures.js +49 -39
  41. package/lib/module/shared/hooks/gestures/use-build-gestures.js.map +1 -1
  42. package/lib/module/shared/hooks/gestures/use-screen-gesture-handlers.js +112 -63
  43. package/lib/module/shared/hooks/gestures/use-screen-gesture-handlers.js.map +1 -1
  44. package/lib/module/shared/hooks/gestures/use-scroll-registry.js +68 -70
  45. package/lib/module/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
  46. package/lib/module/shared/providers/gestures.provider.js +113 -25
  47. package/lib/module/shared/providers/gestures.provider.js.map +1 -1
  48. package/lib/module/shared/types/ownership.types.js +67 -0
  49. package/lib/module/shared/types/ownership.types.js.map +1 -0
  50. package/lib/module/shared/utils/gesture/check-gesture-activation.js +70 -126
  51. package/lib/module/shared/utils/gesture/check-gesture-activation.js.map +1 -1
  52. package/lib/module/shared/utils/gesture/compute-claimed-directions.js +77 -0
  53. package/lib/module/shared/utils/gesture/compute-claimed-directions.js.map +1 -0
  54. package/lib/module/shared/utils/gesture/determine-snap-target.js +1 -1
  55. package/lib/module/shared/utils/gesture/determine-snap-target.js.map +1 -1
  56. package/lib/module/shared/utils/gesture/find-collapse-target.js +44 -0
  57. package/lib/module/shared/utils/gesture/find-collapse-target.js.map +1 -0
  58. package/lib/module/shared/utils/gesture/resolve-ownership.js +83 -0
  59. package/lib/module/shared/utils/gesture/resolve-ownership.js.map +1 -0
  60. package/lib/module/shared/utils/gesture/velocity.js +16 -5
  61. package/lib/module/shared/utils/gesture/velocity.js.map +1 -1
  62. package/lib/typescript/shared/animation/snap-to.d.ts.map +1 -1
  63. package/lib/typescript/shared/components/create-transition-aware-component.d.ts.map +1 -1
  64. package/lib/typescript/shared/components/screen-container.d.ts.map +1 -1
  65. package/lib/typescript/shared/constants.d.ts +6 -0
  66. package/lib/typescript/shared/constants.d.ts.map +1 -1
  67. package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts +15 -3
  68. package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts.map +1 -1
  69. package/lib/typescript/shared/hooks/gestures/use-screen-gesture-handlers.d.ts +52 -2
  70. package/lib/typescript/shared/hooks/gestures/use-screen-gesture-handlers.d.ts.map +1 -1
  71. package/lib/typescript/shared/hooks/gestures/use-scroll-registry.d.ts +11 -6
  72. package/lib/typescript/shared/hooks/gestures/use-scroll-registry.d.ts.map +1 -1
  73. package/lib/typescript/shared/hooks/use-backdrop-pointer-events.d.ts +1 -1
  74. package/lib/typescript/shared/hooks/use-backdrop-pointer-events.d.ts.map +1 -1
  75. package/lib/typescript/shared/providers/gestures.provider.d.ts +28 -3
  76. package/lib/typescript/shared/providers/gestures.provider.d.ts.map +1 -1
  77. package/lib/typescript/shared/types/ownership.types.d.ts +52 -0
  78. package/lib/typescript/shared/types/ownership.types.d.ts.map +1 -0
  79. package/lib/typescript/shared/types/screen.types.d.ts +22 -1
  80. package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
  81. package/lib/typescript/shared/utils/gesture/check-gesture-activation.d.ts +23 -19
  82. package/lib/typescript/shared/utils/gesture/check-gesture-activation.d.ts.map +1 -1
  83. package/lib/typescript/shared/utils/gesture/compute-claimed-directions.d.ts +23 -0
  84. package/lib/typescript/shared/utils/gesture/compute-claimed-directions.d.ts.map +1 -0
  85. package/lib/typescript/shared/utils/gesture/determine-snap-target.d.ts +5 -1
  86. package/lib/typescript/shared/utils/gesture/determine-snap-target.d.ts.map +1 -1
  87. package/lib/typescript/shared/utils/gesture/find-collapse-target.d.ts +17 -0
  88. package/lib/typescript/shared/utils/gesture/find-collapse-target.d.ts.map +1 -0
  89. package/lib/typescript/shared/utils/gesture/resolve-ownership.d.ts +36 -0
  90. package/lib/typescript/shared/utils/gesture/resolve-ownership.d.ts.map +1 -0
  91. package/lib/typescript/shared/utils/gesture/velocity.d.ts.map +1 -1
  92. package/package.json +121 -120
  93. package/src/shared/animation/snap-to.ts +17 -11
  94. package/src/shared/components/create-transition-aware-component.tsx +28 -25
  95. package/src/shared/components/screen-container.tsx +79 -12
  96. package/src/shared/constants.ts +7 -0
  97. package/src/shared/hooks/gestures/use-build-gestures.tsx +80 -44
  98. package/src/shared/hooks/gestures/use-screen-gesture-handlers.ts +147 -71
  99. package/src/shared/hooks/gestures/use-scroll-registry.tsx +94 -86
  100. package/src/shared/hooks/use-backdrop-pointer-events.ts +1 -1
  101. package/src/shared/providers/gestures.provider.tsx +168 -25
  102. package/src/shared/types/ownership.types.ts +77 -0
  103. package/src/shared/types/screen.types.ts +24 -1
  104. package/src/shared/utils/gesture/check-gesture-activation.ts +82 -116
  105. package/src/shared/utils/gesture/compute-claimed-directions.ts +93 -0
  106. package/src/shared/utils/gesture/determine-snap-target.ts +6 -2
  107. package/src/shared/utils/gesture/find-collapse-target.ts +42 -0
  108. package/src/shared/utils/gesture/resolve-ownership.ts +110 -0
  109. package/src/shared/utils/gesture/velocity.ts +16 -6
  110. package/src/shared/__tests__/bounds.store.test.ts +0 -394
  111. package/src/shared/__tests__/derivations.test.ts +0 -156
  112. package/src/shared/__tests__/determine-dismissal.test.ts +0 -111
  113. package/src/shared/__tests__/determine-snap-target.test.ts +0 -268
  114. package/src/shared/__tests__/geometry.test.ts +0 -130
  115. package/src/shared/__tests__/gesture-activation.test.ts +0 -471
  116. package/src/shared/__tests__/gesture.velocity.test.ts +0 -131
  117. package/src/shared/__tests__/history.store.test.ts +0 -550
  118. package/src/shared/__tests__/sync-routes-with-removed.test.ts +0 -137
  119. package/src/shared/__tests__/validate-snap-points.test.ts +0 -125
@@ -9,10 +9,43 @@ var _react = require("react");
9
9
  var _reactNativeGestureHandler = require("react-native-gesture-handler");
10
10
  var _keys = require("../../providers/screen/keys.provider");
11
11
  var _gesture = require("../../stores/gesture.store");
12
+ var _computeClaimedDirections = require("../../utils/gesture/compute-claimed-directions");
13
+ var _resolveOwnership = require("../../utils/gesture/resolve-ownership");
12
14
  var _useScreenGestureHandlers = require("./use-screen-gesture-handlers");
15
+ const DIRECTIONS = ["vertical", "vertical-inverted", "horizontal", "horizontal-inverted"];
16
+
17
+ /**
18
+ * Finds ancestor pan gestures that we shadow (claim the same direction).
19
+ * Used to block ancestors when child claims priority.
20
+ */
21
+ function findShadowedAncestorPanGestures(selfClaims, ancestorContext, isIsolated) {
22
+ const shadowedGestures = [];
23
+ let ancestor = ancestorContext;
24
+ while (ancestor) {
25
+ if (ancestor.isIsolated !== isIsolated) break;
26
+ const shadowsAncestor = DIRECTIONS.some(dir => selfClaims[dir] && ancestor?.claimedDirections?.[dir]);
27
+ if (shadowsAncestor && ancestor.panGesture) {
28
+ shadowedGestures.push(ancestor.panGesture);
29
+ }
30
+ ancestor = ancestor.ancestorContext;
31
+ }
32
+ return shadowedGestures;
33
+ }
34
+ /**
35
+ * Builds the Pan gesture for screen dismissal.
36
+ *
37
+ * Handles shadowing: when child claims same direction as ancestor,
38
+ * child's pan blocks ancestor's pan via `blocksExternalGesture()`.
39
+ *
40
+ * ScrollView coordination is handled separately by useScrollRegistry,
41
+ * which creates its own Native gesture per ScrollView.
42
+ */
13
43
  const useBuildGestures = ({
14
44
  scrollConfig,
15
- ancestorContext
45
+ ancestorContext,
46
+ claimedDirections,
47
+ childDirectionClaims,
48
+ isIsolated
16
49
  }) => {
17
50
  const {
18
51
  current
@@ -21,33 +54,21 @@ const useBuildGestures = ({
21
54
  const isFirstScreen = (0, _react.useMemo)(() => {
22
55
  return navState.routes.findIndex(r => r.key === current.route.key) === 0;
23
56
  }, [navState.routes, current.route.key]);
24
-
25
- // Ref for external gesture coordination (e.g., swipeable lists)
26
57
  const panGestureRef = (0, _react.useRef)(undefined);
27
58
  const gestureAnimationValues = _gesture.GestureStore.getRouteGestures(current.route.key);
28
59
  const {
29
60
  snapPoints
30
61
  } = current.options;
31
-
32
- // Dismiss gesture is controlled by gestureEnabled (disabled for first screen)
33
62
  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
63
  const hasSnapPoints = Array.isArray(snapPoints) && snapPoints.length > 0;
39
64
  const gestureEnabled = canDismiss || hasSnapPoints;
65
+ const ownershipStatus = (0, _react.useMemo)(() => (0, _resolveOwnership.resolveOwnership)(claimedDirections, ancestorContext ?? null), [claimedDirections, ancestorContext]);
66
+ const selfClaimsAny = (0, _computeClaimedDirections.claimsAnyDirection)(claimedDirections);
40
67
  const handleDismiss = (0, _react.useCallback)(() => {
41
- // If an ancestor navigator is already dismissing, skip this dismiss to
42
- // avoid racing with the ancestor
43
- if (ancestorContext?.gestureAnimationValues.isDismissing?.value) {
44
- return;
45
- }
68
+ if (ancestorContext?.gestureAnimationValues.isDismissing?.value) return;
46
69
  const state = current.navigation.getState();
47
70
  const routeStillPresent = state.routes.some(route => route.key === current.route.key);
48
- if (!routeStillPresent) {
49
- return;
50
- }
71
+ if (!routeStillPresent) return;
51
72
  current.navigation.dispatch({
52
73
  ..._native.StackActions.pop(),
53
74
  source: current.route.key,
@@ -64,39 +85,28 @@ const useBuildGestures = ({
64
85
  scrollConfig,
65
86
  canDismiss,
66
87
  handleDismiss,
67
- ancestorIsDismissing: ancestorContext?.gestureAnimationValues.isDismissing
88
+ ownershipStatus,
89
+ ancestorIsDismissing: ancestorContext?.gestureAnimationValues.isDismissing,
90
+ claimedDirections,
91
+ ancestorContext,
92
+ childDirectionClaims
68
93
  });
69
94
  return (0, _react.useMemo)(() => {
70
95
  const panGesture = _reactNativeGestureHandler.Gesture.Pan().withRef(panGestureRef).enabled(gestureEnabled).manualActivation(true).onTouchesDown(onTouchesDown).onTouchesMove(onTouchesMove).onStart(onStart).onUpdate(onUpdate).onEnd(onEnd);
71
96
 
72
- // Native gesture setup depends on whether this screen has gestures
73
- let nativeGesture;
74
- if (gestureEnabled) {
75
- // This screen has gestures - set up normal pan/native relationship
76
- nativeGesture = _reactNativeGestureHandler.Gesture.Native().requireExternalGestureToFail(panGesture);
77
- panGesture.blocksExternalGesture(nativeGesture);
78
- } else {
79
- // This screen has no gestures
80
- // Find nearest ancestor with gestureEnabled=true (attached pan)
81
- let activePanAncestor = ancestorContext;
82
- while (activePanAncestor && !activePanAncestor.gestureEnabled) {
83
- activePanAncestor = activePanAncestor.ancestorContext;
84
- }
85
- if (activePanAncestor?.panGesture) {
86
- // Found an ancestor with enabled pan - wait for it
87
- nativeGesture = _reactNativeGestureHandler.Gesture.Native().requireExternalGestureToFail(activePanAncestor.panGesture);
88
- } else {
89
- // No ancestor with enabled pan - plain native
90
- nativeGesture = _reactNativeGestureHandler.Gesture.Native();
97
+ // Block shadowed ancestor pan gestures when we claim same directions
98
+ if (selfClaimsAny) {
99
+ const shadowedAncestorGestures = findShadowedAncestorPanGestures(claimedDirections, ancestorContext, isIsolated);
100
+ for (const ancestorPan of shadowedAncestorGestures) {
101
+ panGesture.blocksExternalGesture(ancestorPan);
91
102
  }
92
103
  }
93
104
  return {
94
105
  panGesture,
95
106
  panGestureRef,
96
- nativeGesture,
97
107
  gestureAnimationValues
98
108
  };
99
- }, [gestureEnabled, onTouchesDown, onTouchesMove, onStart, onUpdate, onEnd, gestureAnimationValues, ancestorContext]);
109
+ }, [gestureEnabled, selfClaimsAny, claimedDirections, onTouchesDown, onTouchesMove, onStart, onUpdate, onEnd, gestureAnimationValues, ancestorContext, isIsolated]);
100
110
  };
101
111
  exports.useBuildGestures = useBuildGestures;
102
112
  //# sourceMappingURL=use-build-gestures.js.map
@@ -1 +1 @@
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":[]}
1
+ {"version":3,"names":["_native","require","_react","_reactNativeGestureHandler","_keys","_gesture","_computeClaimedDirections","_resolveOwnership","_useScreenGestureHandlers","DIRECTIONS","findShadowedAncestorPanGestures","selfClaims","ancestorContext","isIsolated","shadowedGestures","ancestor","shadowsAncestor","some","dir","claimedDirections","panGesture","push","useBuildGestures","scrollConfig","childDirectionClaims","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","ownershipStatus","resolveOwnership","selfClaimsAny","claimsAnyDirection","handleDismiss","useCallback","isDismissing","value","state","routeStillPresent","dispatch","StackActions","pop","source","target","onTouchesDown","onTouchesMove","onStart","onUpdate","onEnd","useScreenGestureHandlers","ancestorIsDismissing","Gesture","Pan","withRef","enabled","manualActivation","shadowedAncestorGestures","ancestorPan","blocksExternalGesture","exports"],"sourceRoot":"../../../../../src","sources":["shared/hooks/gestures/use-build-gestures.tsx"],"mappings":"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","ignoreList":[]}
@@ -24,11 +24,60 @@ var _velocity = require("../../utils/gesture/velocity");
24
24
  var _logger = require("../../utils/logger");
25
25
  var _useStableCallbackValue = _interopRequireDefault(require("../use-stable-callback-value"));
26
26
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
27
+ /**
28
+ * Gesture Handlers for Screen Dismissal and Snap Navigation
29
+ *
30
+ * ## Mental Model
31
+ *
32
+ * This hook implements the touch handling logic for the gesture ownership system.
33
+ * Each screen has a pan gesture handler that runs through this decision flow:
34
+ *
35
+ * ```
36
+ * onTouchesMove (for each touch move event):
37
+ * 1. ANCESTOR CHECK: If ancestor is dismissing → fail (avoid racing)
38
+ * 2. DIRECTION DETECTION: Determine swipe direction from touch delta
39
+ * 3. OWNERSHIP CHECK: Do we own this direction? (ownershipStatus)
40
+ * - "self" → continue
41
+ * - "ancestor" or null → fail (let it bubble up)
42
+ * 4. CHILD CLAIM CHECK: Has a child pre-registered a claim for this direction?
43
+ * - Yes → fail immediately (child shadows us, no delay)
44
+ * - No → continue
45
+ * 5. OFFSET THRESHOLD: Wait for sufficient touch movement
46
+ * 6. SCROLLVIEW CHECK: If touch is on ScrollView, is it at boundary?
47
+ * 7. EXPAND CHECK (snap sheets): If expanding via ScrollView, is expandViaScrollView enabled?
48
+ * 8. ACTIVATE!
49
+ * ```
50
+ *
51
+ * ## Key Concepts
52
+ *
53
+ * **Ownership**: Pre-computed at render time. "self" means this screen handles
54
+ * the direction, "ancestor" means bubble up, null means no handler exists.
55
+ *
56
+ * **Child Claims**: Registered at mount time via useEffect in gestures.provider.tsx.
57
+ * When a child shadows our direction, it pre-registers a claim so we know to defer.
58
+ * IMPORTANT: This check happens BEFORE offset threshold to ensure the parent fails
59
+ * immediately when shadowed, avoiding any perceptible delay.
60
+ * ALSO: Claims from dismissing children are ignored, allowing the parent to handle
61
+ * new gestures while the child is animating out.
62
+ *
63
+ * **ScrollView Boundaries**: Per spec, a ScrollView must be at its boundary before
64
+ * yielding to gestures. The boundary depends on sheet type:
65
+ * - Bottom sheet (vertical): scrollY = 0 (top)
66
+ * - Top sheet (vertical-inverted): scrollY >= maxY (bottom)
67
+ *
68
+ * **Snap Points**: Sheets with snapPoints claim BOTH directions on their axis
69
+ * (e.g., vertical sheet claims vertical AND vertical-inverted). This allows
70
+ * expand (drag up) and collapse/dismiss (drag down) gestures.
71
+ */
27
72
  const useScreenGestureHandlers = ({
28
73
  scrollConfig,
29
74
  ancestorIsDismissing,
30
75
  canDismiss,
31
- handleDismiss
76
+ handleDismiss,
77
+ ownershipStatus,
78
+ claimedDirections,
79
+ ancestorContext,
80
+ childDirectionClaims
32
81
  }) => {
33
82
  const dimensions = (0, _reactNative.useWindowDimensions)();
34
83
  const {
@@ -40,10 +89,12 @@ const useScreenGestureHandlers = ({
40
89
  gestureDirection = _constants.DEFAULT_GESTURE_DIRECTION,
41
90
  gestureDrivesProgress = _constants.DEFAULT_GESTURE_DRIVES_PROGRESS,
42
91
  gestureVelocityImpact = _constants.GESTURE_VELOCITY_IMPACT,
92
+ snapVelocityImpact = _constants.SNAP_VELOCITY_IMPACT,
43
93
  gestureActivationArea = _constants.DEFAULT_GESTURE_ACTIVATION_AREA,
44
94
  gestureResponseDistance,
45
95
  transitionSpec,
46
- snapPoints: rawSnapPoints
96
+ snapPoints: rawSnapPoints,
97
+ expandViaScrollView = true
47
98
  } = current.options;
48
99
  const {
49
100
  hasSnapPoints,
@@ -99,10 +150,11 @@ const useScreenGestureHandlers = ({
99
150
  };
100
151
  gestureOffsetState.value = _gesture2.GestureOffsetState.PENDING;
101
152
  });
153
+ const routeKey = current.route.key;
102
154
  const onTouchesMove = (0, _useStableCallbackValue.default)((e, manager) => {
103
155
  "worklet";
104
156
 
105
- // If an ancestor navigator is already dismissing via gesture, block new gestures here.
157
+ // Step 1: Ancestor dismissing check
106
158
  if (ancestorIsDismissing?.value) {
107
159
  gestureOffsetState.value = _gesture2.GestureOffsetState.FAILED;
108
160
  manager.fail();
@@ -128,62 +180,70 @@ const useScreenGestureHandlers = ({
128
180
  manager.fail();
129
181
  return;
130
182
  }
131
-
132
- // Keep pending until thresholds are met; no eager activation.
133
183
  if (gestureAnimationValues.isDragging?.value) {
134
184
  manager.activate();
135
185
  return;
136
186
  }
137
- const recognizedDirection = isSwipingDown || isSwipingUp || isSwipingRight || isSwipingLeft;
138
- const scrollCfg = scrollConfig.value;
139
- const isTouchingScrollView = scrollCfg?.isTouched ?? false;
140
- if (!isTouchingScrollView) {
141
- // Early return if gesture hasn't met activation criteria
142
- const canActivate = recognizedDirection && gestureOffsetState.value === _gesture2.GestureOffsetState.PASSED && !gestureAnimationValues.isDismissing?.value;
143
- if (!canActivate) {
144
- return;
145
- }
146
- if (isSwipingDown) {
147
- gestureAnimationValues.direction.value = "vertical";
148
- } else if (isSwipingUp) {
149
- gestureAnimationValues.direction.value = "vertical-inverted";
150
- } else if (isSwipingRight) {
151
- gestureAnimationValues.direction.value = "horizontal";
152
- } else if (isSwipingLeft) {
153
- gestureAnimationValues.direction.value = "horizontal-inverted";
154
- }
155
- manager.activate();
187
+
188
+ // Step 2: Direction detection
189
+ let swipeDirection = null;
190
+ if (isSwipingDown) swipeDirection = "vertical";else if (isSwipingUp) swipeDirection = "vertical-inverted";else if (isSwipingRight) swipeDirection = "horizontal";else if (isSwipingLeft) swipeDirection = "horizontal-inverted";
191
+ if (!swipeDirection) {
156
192
  return;
157
193
  }
158
194
 
159
- // Touch IS on ScrollView - apply scroll-aware rules
160
- // Snap mode: determine if sheet can still expand
161
- // Also check targetProgress - if we're already animating toward max, scroll should win
162
- const canExpandMore = hasSnapPoints && animations.progress.value < maxSnapPoint - _constants.EPSILON && animations.targetProgress.value < maxSnapPoint - _constants.EPSILON;
163
- const {
164
- shouldActivate,
165
- direction: activatedDirection
166
- } = (0, _checkGestureActivation.checkScrollAwareActivation)({
167
- swipeInfo: {
168
- isSwipingDown,
169
- isSwipingUp,
170
- isSwipingRight,
171
- isSwipingLeft
172
- },
173
- directions,
174
- scrollConfig: scrollCfg,
175
- hasSnapPoints,
176
- canExpandMore
177
- });
178
- if (recognizedDirection && !shouldActivate) {
195
+ // Step 3: Ownership check - fail if we don't own this direction
196
+ const ownership = ownershipStatus[swipeDirection];
197
+ if (ownership !== "self") {
179
198
  manager.fail();
180
199
  return;
181
200
  }
182
- if (shouldActivate && gestureOffsetState.value === _gesture2.GestureOffsetState.PASSED && !gestureAnimationValues.isDismissing?.value) {
183
- gestureAnimationValues.direction.value = activatedDirection;
184
- manager.activate();
201
+
202
+ // Step 4: Child claim check - fail EARLY if a child shadows this direction
203
+ // This MUST happen before offset threshold to avoid delay when shadowing
204
+ // ALSO: Ignore claims from children that are currently dismissing
205
+ const childClaim = childDirectionClaims.value[swipeDirection];
206
+ if (childClaim && childClaim.routeKey !== routeKey && !childClaim.isDismissing.value) {
207
+ manager.fail();
185
208
  return;
186
209
  }
210
+ if (gestureOffsetState.value !== _gesture2.GestureOffsetState.PASSED) {
211
+ return;
212
+ }
213
+
214
+ // Snap sheets can interrupt their own animation; non-snap cannot
215
+ if (!hasSnapPoints && gestureAnimationValues.isDismissing?.value) {
216
+ return;
217
+ }
218
+
219
+ // Step 6: ScrollView boundary check
220
+ const scrollCfg = scrollConfig.value;
221
+ const isTouchingScrollView = scrollCfg?.isTouched ?? false;
222
+ if (isTouchingScrollView) {
223
+ const atBoundary = (0, _checkGestureActivation.checkScrollBoundary)(scrollCfg, swipeDirection, hasSnapPoints ? directions.snapAxisInverted : undefined);
224
+ if (!atBoundary) {
225
+ manager.fail();
226
+ return;
227
+ }
228
+
229
+ // Step 7: Expand check for snap sheets
230
+ if (hasSnapPoints) {
231
+ const isExpandGesture = directions.snapAxisInverted && swipeDirection === "vertical" || !directions.snapAxisInverted && swipeDirection === "vertical-inverted" || directions.snapAxisInverted && swipeDirection === "horizontal" || !directions.snapAxisInverted && swipeDirection === "horizontal-inverted";
232
+ if (isExpandGesture) {
233
+ if (!expandViaScrollView) {
234
+ manager.fail();
235
+ return;
236
+ }
237
+ const canExpandMore = animations.progress.value < maxSnapPoint - _constants.EPSILON && animations.targetProgress.value < maxSnapPoint - _constants.EPSILON;
238
+ if (!canExpandMore) {
239
+ manager.fail();
240
+ return;
241
+ }
242
+ }
243
+ }
244
+ }
245
+ gestureAnimationValues.direction.value = swipeDirection;
246
+ manager.activate();
187
247
  });
188
248
  const onStart = (0, _useStableCallbackValue.default)(() => {
189
249
  "worklet";
@@ -213,15 +273,10 @@ const useScreenGestureHandlers = ({
213
273
  const translation = isHorizontal ? translationX : translationY;
214
274
  const dimension = isHorizontal ? width : height;
215
275
 
216
- // Map translation to progress delta:
217
- // - Positive translation (down/right) = decrease progress (dismiss)
218
- // - Negative translation (up/left) = increase progress (expand)
219
- // Inverted directions flip this behavior
276
+ // Map translation to progress: positive = dismiss, negative = expand
220
277
  const baseSign = -1;
221
278
  const sign = directions.snapAxisInverted ? -baseSign : baseSign;
222
279
  const progressDelta = sign * translation / dimension;
223
-
224
- // Use pre-computed bounds (minSnapPoint already accounts for canDismiss)
225
280
  animations.progress.value = Math.max(minSnapPoint, Math.min(maxSnapPoint, gestureStartProgress.value + progressDelta));
226
281
  } else if (gestureDrivesProgress) {
227
282
  let maxProgress = 0;
@@ -260,15 +315,14 @@ const useScreenGestureHandlers = ({
260
315
  const axisVelocity = isHorizontal ? event.velocityX : event.velocityY;
261
316
  const axisDimension = isHorizontal ? dimensions.width : dimensions.height;
262
317
 
263
- // determineSnapTarget expects positive velocity = toward dismiss (decreasing progress)
264
- // Positive velocity (down/right) = dismiss for non-inverted
265
- // Inverted directions need velocity flipped
318
+ // Normalize velocity: positive = toward dismiss
266
319
  const snapVelocity = directions.snapAxisInverted ? -axisVelocity : axisVelocity;
267
320
  const result = (0, _determineSnapTarget.determineSnapTarget)({
268
321
  currentProgress: animations.progress.value,
269
322
  snapPoints,
270
323
  velocity: snapVelocity,
271
324
  dimension: axisDimension,
325
+ velocityFactor: snapVelocityImpact,
272
326
  canDismiss: canDismiss
273
327
  });
274
328
  const shouldDismiss = result.shouldDismiss;
@@ -286,10 +340,6 @@ const useScreenGestureHandlers = ({
286
340
  event,
287
341
  dimensions
288
342
  });
289
-
290
- // For snap transitions, velocity should match gesture direction
291
- // Positive gesture velocity (down/right) = collapsing (negative progress velocity)
292
- // Inverted directions flip this
293
343
  const velocitySign = directions.snapAxisInverted ? 1 : -1;
294
344
  const initialVelocity = velocitySign * _velocity.velocity.normalize(axisVelocity, axisDimension);
295
345
  (0, _animateToProgress.animateToProgress)({
@@ -307,7 +357,6 @@ const useScreenGestureHandlers = ({
307
357
  gestureVelocityImpact
308
358
  });
309
359
  const shouldDismiss = result.shouldDismiss;
310
- // Without snap points, always animate to fully visible (1) when not dismissing
311
360
  const targetProgress = shouldDismiss ? 0 : 1;
312
361
  (0, _resetGestureValues.resetGestureValues)({
313
362
  spec: shouldDismiss ? transitionSpec?.close : transitionSpec?.open,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_specs","_constants","_keys","_animation","_gesture","_gesture2","_animateToProgress","_checkGestureActivation","_determineDismissal","_determineSnapTarget","_mapGestureToProgress","_resetGestureValues","_validateSnapPoints","_velocity","_logger","_useStableCallbackValue","_interopRequireDefault","e","__esModule","default","useScreenGestureHandlers","scrollConfig","ancestorIsDismissing","canDismiss","handleDismiss","dimensions","useWindowDimensions","current","useKeys","animations","AnimationStore","getAll","route","key","gestureAnimationValues","GestureStore","getRouteGestures","gestureDirection","DEFAULT_GESTURE_DIRECTION","gestureDrivesProgress","DEFAULT_GESTURE_DRIVES_PROGRESS","gestureVelocityImpact","GESTURE_VELOCITY_IMPACT","gestureActivationArea","DEFAULT_GESTURE_ACTIVATION_AREA","gestureResponseDistance","transitionSpec","snapPoints","rawSnapPoints","options","hasSnapPoints","minSnapPoint","maxSnapPoint","useMemo","validateSnapPoints","directions","Array","isArray","logger","warn","effectiveDirection","directionsArray","isBidirectional","includes","hasHorizontalDirection","isSnapAxisInverted","enableBothVertical","enableBothHorizontal","vertical","verticalInverted","horizontal","horizontalInverted","snapAxisInverted","snapAxis","initialTouch","useSharedValue","x","y","gestureOffsetState","GestureOffsetState","PENDING","gestureStartProgress","onTouchesDown","useStableCallbackValue","firstTouch","changedTouches","value","onTouchesMove","manager","FAILED","fail","touch","isSwipingDown","isSwipingUp","isSwipingRight","isSwipingLeft","applyOffsetRules","activationArea","responseDistance","isDragging","activate","recognizedDirection","scrollCfg","isTouchingScrollView","isTouched","canActivate","PASSED","isDismissing","direction","canExpandMore","progress","EPSILON","targetProgress","shouldActivate","activatedDirection","checkScrollAwareActivation","swipeInfo","onStart","TRUE","FALSE","animating","onUpdate","event","translationX","translationY","width","height","normalizedX","velocity","normalizeTranslation","normalizedY","isHorizontal","translation","dimension","baseSign","sign","progressDelta","Math","max","min","maxProgress","mapGestureToProgress","onEnd","axisVelocity","velocityX","velocityY","axisDimension","snapVelocity","result","determineSnapTarget","currentProgress","shouldDismiss","isSnapping","spec","close","open","effectiveSpec","expand","DefaultSnapSpec","collapse","resetGestureValues","gestures","velocitySign","initialVelocity","normalize","animateToProgress","target","onAnimationFinish","undefined","determineDismissal","calculateProgressVelocity","exports"],"sourceRoot":"../../../../../src","sources":["shared/hooks/gestures/use-screen-gesture-handlers.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_specs","_constants","_keys","_animation","_gesture","_gesture2","_animateToProgress","_checkGestureActivation","_determineDismissal","_determineSnapTarget","_mapGestureToProgress","_resetGestureValues","_validateSnapPoints","_velocity","_logger","_useStableCallbackValue","_interopRequireDefault","e","__esModule","default","useScreenGestureHandlers","scrollConfig","ancestorIsDismissing","canDismiss","handleDismiss","ownershipStatus","claimedDirections","ancestorContext","childDirectionClaims","dimensions","useWindowDimensions","current","useKeys","animations","AnimationStore","getAll","route","key","gestureAnimationValues","GestureStore","getRouteGestures","gestureDirection","DEFAULT_GESTURE_DIRECTION","gestureDrivesProgress","DEFAULT_GESTURE_DRIVES_PROGRESS","gestureVelocityImpact","GESTURE_VELOCITY_IMPACT","snapVelocityImpact","SNAP_VELOCITY_IMPACT","gestureActivationArea","DEFAULT_GESTURE_ACTIVATION_AREA","gestureResponseDistance","transitionSpec","snapPoints","rawSnapPoints","expandViaScrollView","options","hasSnapPoints","minSnapPoint","maxSnapPoint","useMemo","validateSnapPoints","directions","Array","isArray","logger","warn","effectiveDirection","directionsArray","isBidirectional","includes","hasHorizontalDirection","isSnapAxisInverted","enableBothVertical","enableBothHorizontal","vertical","verticalInverted","horizontal","horizontalInverted","snapAxisInverted","snapAxis","initialTouch","useSharedValue","x","y","gestureOffsetState","GestureOffsetState","PENDING","gestureStartProgress","onTouchesDown","useStableCallbackValue","firstTouch","changedTouches","value","routeKey","onTouchesMove","manager","FAILED","fail","touch","isSwipingDown","isSwipingUp","isSwipingRight","isSwipingLeft","applyOffsetRules","activationArea","responseDistance","isDragging","activate","swipeDirection","ownership","childClaim","isDismissing","PASSED","scrollCfg","isTouchingScrollView","isTouched","atBoundary","checkScrollBoundary","undefined","isExpandGesture","canExpandMore","progress","EPSILON","targetProgress","direction","onStart","TRUE","FALSE","animating","onUpdate","event","translationX","translationY","width","height","normalizedX","velocity","normalizeTranslation","normalizedY","isHorizontal","translation","dimension","baseSign","sign","progressDelta","Math","max","min","maxProgress","mapGestureToProgress","onEnd","axisVelocity","velocityX","velocityY","axisDimension","snapVelocity","result","determineSnapTarget","currentProgress","velocityFactor","shouldDismiss","isSnapping","spec","close","open","effectiveSpec","expand","DefaultSnapSpec","collapse","resetGestureValues","gestures","velocitySign","initialVelocity","normalize","animateToProgress","target","onAnimationFinish","determineDismissal","calculateProgressVelocity","exports"],"sourceRoot":"../../../../../src","sources":["shared/hooks/gestures/use-screen-gesture-handlers.ts"],"mappings":"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","ignoreList":[]}