react-native-screen-transitions 3.3.0-beta.3 → 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 +2 -0
  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 +59 -6
  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 +112 -5
  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 +1 -0
  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 +59 -7
  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 +112 -5
  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 +27 -2
  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 +1 -0
  94. package/src/shared/components/create-transition-aware-component.tsx +28 -25
  95. package/src/shared/components/screen-container.tsx +69 -7
  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 +166 -5
  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
@@ -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":[]}
@@ -5,33 +5,78 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useScrollRegistry = void 0;
7
7
  var _react = require("react");
8
+ var _reactNativeGestureHandler = require("react-native-gesture-handler");
8
9
  var _reactNativeReanimated = require("react-native-reanimated");
9
10
  var _gestures = require("../../providers/gestures.provider");
10
11
  var _useStableCallback = _interopRequireDefault(require("../use-stable-callback"));
11
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
- /** biome-ignore-all lint/style/noNonNullAssertion: <Will always consume context from GestureProvider> */
13
+ /**
14
+ * Connects ScrollViews to the gesture ownership system.
15
+ * Finds the gesture owner for the scroll axis and coordinates with their panGesture.
16
+ */
13
17
 
18
+ /** Walks up context tree to find the screen that owns this scroll axis. */
19
+ function findGestureOwnerForAxis(context, axis) {
20
+ let current = context;
21
+ const startIsolated = context?.isIsolated;
22
+ while (current) {
23
+ if (startIsolated !== undefined && current.isIsolated !== startIsolated) {
24
+ break;
25
+ }
26
+ const ownsAxis = axis === "vertical" ? current.claimedDirections?.vertical || current.claimedDirections?.["vertical-inverted"] : current.claimedDirections?.horizontal || current.claimedDirections?.["horizontal-inverted"];
27
+ if (ownsAxis) {
28
+ return {
29
+ scrollConfig: current.scrollConfig,
30
+ panGesture: current.panGesture
31
+ };
32
+ }
33
+ current = current.ancestorContext;
34
+ }
35
+ return {
36
+ scrollConfig: null,
37
+ panGesture: null
38
+ };
39
+ }
40
+ /**
41
+ * Returns scroll handlers and a native gesture for ScrollView coordination.
42
+ * Automatically finds the gesture owner for the scroll axis.
43
+ */
14
44
  const useScrollRegistry = props => {
15
45
  const context = (0, _gestures.useGestureContext)();
46
+ const scrollDirection = props.direction ?? "vertical";
16
47
  const {
17
48
  scrollConfig,
18
- ancestorContext
19
- } = context;
20
- const ancestorScrollConfigs = (0, _react.useMemo)(() => {
21
- const configs = [];
22
- let current = ancestorContext;
23
- while (current) {
24
- if (current.scrollConfig) {
25
- configs.push(current.scrollConfig);
49
+ panGesture
50
+ } = findGestureOwnerForAxis(context, scrollDirection);
51
+ const nativeGesture = (0, _react.useMemo)(() => {
52
+ if (!panGesture || !scrollConfig) return null;
53
+ const setIsTouched = () => {
54
+ "worklet";
55
+
56
+ if (scrollConfig.value) {
57
+ scrollConfig.value = {
58
+ ...scrollConfig.value,
59
+ isTouched: true
60
+ };
26
61
  }
27
- current = current.ancestorContext;
28
- }
29
- return configs;
30
- }, [ancestorContext]);
62
+ };
63
+ const clearIsTouched = () => {
64
+ "worklet";
65
+
66
+ if (scrollConfig.value) {
67
+ scrollConfig.value = {
68
+ ...scrollConfig.value,
69
+ isTouched: false
70
+ };
71
+ }
72
+ };
73
+ return _reactNativeGestureHandler.Gesture.Native().onTouchesDown(setIsTouched).onTouchesUp(clearIsTouched).onTouchesCancelled(clearIsTouched).requireExternalGestureToFail(panGesture);
74
+ }, [panGesture, scrollConfig]);
31
75
  const scrollHandler = (0, _reactNativeReanimated.useAnimatedScrollHandler)({
32
76
  onScroll: event => {
33
77
  props.onScroll?.(event);
34
- const updateScrollPosition = v => {
78
+ if (!scrollConfig) return;
79
+ const update = v => {
35
80
  "worklet";
36
81
 
37
82
  if (v === null) {
@@ -49,17 +94,13 @@ const useScrollRegistry = props => {
49
94
  v.y = event.contentOffset.y;
50
95
  return v;
51
96
  };
52
- scrollConfig.modify(updateScrollPosition);
53
-
54
- // Sync to ALL ancestors, not just immediate parent
55
- for (const ancestorConfig of ancestorScrollConfigs) {
56
- ancestorConfig.modify(updateScrollPosition);
57
- }
97
+ scrollConfig.modify(update);
58
98
  }
59
99
  });
60
100
  const onContentSizeChange = (0, _useStableCallback.default)((width, height) => {
61
101
  props.onContentSizeChange?.(width, height);
62
- const updateContentSize = v => {
102
+ if (!scrollConfig) return;
103
+ const update = v => {
63
104
  "worklet";
64
105
 
65
106
  if (v === null) {
@@ -77,18 +118,16 @@ const useScrollRegistry = props => {
77
118
  v.contentHeight = height;
78
119
  return v;
79
120
  };
80
- scrollConfig.modify(updateContentSize);
81
- for (const ancestorConfig of ancestorScrollConfigs) {
82
- ancestorConfig.modify(updateContentSize);
83
- }
121
+ scrollConfig.modify(update);
84
122
  });
85
123
  const onLayout = (0, _useStableCallback.default)(event => {
86
124
  props.onLayout?.(event);
125
+ if (!scrollConfig) return;
87
126
  const {
88
127
  width,
89
128
  height
90
129
  } = event.nativeEvent.layout;
91
- const updateLayout = v => {
130
+ const update = v => {
92
131
  "worklet";
93
132
 
94
133
  if (v === null) {
@@ -106,55 +145,13 @@ const useScrollRegistry = props => {
106
145
  v.layoutWidth = width;
107
146
  return v;
108
147
  };
109
- scrollConfig.modify(updateLayout);
110
- for (const ancestorConfig of ancestorScrollConfigs) {
111
- ancestorConfig.modify(updateLayout);
112
- }
113
- });
114
- const onTouchStart = (0, _useStableCallback.default)(event => {
115
- props.onTouchStart?.(event);
116
- const setTouched = v => {
117
- "worklet";
118
-
119
- if (v === null) {
120
- return {
121
- x: 0,
122
- y: 0,
123
- contentHeight: 0,
124
- contentWidth: 0,
125
- layoutHeight: 0,
126
- layoutWidth: 0,
127
- isTouched: true
128
- };
129
- }
130
- v.isTouched = true;
131
- return v;
132
- };
133
- scrollConfig.modify(setTouched);
134
- for (const ancestorConfig of ancestorScrollConfigs) {
135
- ancestorConfig.modify(setTouched);
136
- }
137
- });
138
- const onTouchEnd = (0, _useStableCallback.default)(event => {
139
- props.onTouchEnd?.(event);
140
- const clearTouched = v => {
141
- "worklet";
142
-
143
- if (v === null) return v;
144
- v.isTouched = false;
145
- return v;
146
- };
147
- scrollConfig.modify(clearTouched);
148
- for (const ancestorConfig of ancestorScrollConfigs) {
149
- ancestorConfig.modify(clearTouched);
150
- }
148
+ scrollConfig.modify(update);
151
149
  });
152
150
  return {
153
151
  scrollHandler,
154
152
  onContentSizeChange,
155
153
  onLayout,
156
- onTouchStart,
157
- onTouchEnd
154
+ nativeGesture
158
155
  };
159
156
  };
160
157
  exports.useScrollRegistry = useScrollRegistry;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNativeReanimated","_gestures","_useStableCallback","_interopRequireDefault","e","__esModule","default","useScrollRegistry","props","context","useGestureContext","scrollConfig","ancestorContext","ancestorScrollConfigs","useMemo","configs","current","push","scrollHandler","useAnimatedScrollHandler","onScroll","event","updateScrollPosition","v","x","contentOffset","y","contentHeight","contentWidth","layoutHeight","layoutWidth","isTouched","modify","ancestorConfig","onContentSizeChange","useStableCallback","width","height","updateContentSize","onLayout","nativeEvent","layout","updateLayout","onTouchStart","setTouched","onTouchEnd","clearTouched","exports"],"sourceRoot":"../../../../../src","sources":["shared/hooks/gestures/use-scroll-registry.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNativeGestureHandler","_reactNativeReanimated","_gestures","_useStableCallback","_interopRequireDefault","e","__esModule","default","findGestureOwnerForAxis","context","axis","current","startIsolated","isIsolated","undefined","ownsAxis","claimedDirections","vertical","horizontal","scrollConfig","panGesture","ancestorContext","useScrollRegistry","props","useGestureContext","scrollDirection","direction","nativeGesture","useMemo","setIsTouched","value","isTouched","clearIsTouched","Gesture","Native","onTouchesDown","onTouchesUp","onTouchesCancelled","requireExternalGestureToFail","scrollHandler","useAnimatedScrollHandler","onScroll","event","update","v","x","contentOffset","y","contentHeight","contentWidth","layoutHeight","layoutWidth","modify","onContentSizeChange","useStableCallback","width","height","onLayout","nativeEvent","layout","exports"],"sourceRoot":"../../../../../src","sources":["shared/hooks/gestures/use-scroll-registry.tsx"],"mappings":"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","ignoreList":[]}