react-native-screen-transitions 3.0.0-rc.5 → 3.0.0

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 (96) hide show
  1. package/README.md +228 -96
  2. package/lib/commonjs/blank-stack/components/overlay.js +1 -1
  3. package/lib/commonjs/blank-stack/components/overlay.js.map +1 -1
  4. package/lib/commonjs/shared/components/create-transition-aware-component.js +2 -0
  5. package/lib/commonjs/shared/components/create-transition-aware-component.js.map +1 -1
  6. package/lib/commonjs/shared/hooks/animation/use-screen-animation.js +8 -4
  7. package/lib/commonjs/shared/hooks/animation/use-screen-animation.js.map +1 -1
  8. package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js +29 -5
  9. package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js.map +1 -1
  10. package/lib/commonjs/shared/hooks/gestures/use-screen-gesture.js +26 -0
  11. package/lib/commonjs/shared/hooks/gestures/use-screen-gesture.js.map +1 -0
  12. package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js +32 -60
  13. package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
  14. package/lib/commonjs/shared/index.js +7 -0
  15. package/lib/commonjs/shared/index.js.map +1 -1
  16. package/lib/commonjs/shared/providers/gestures.provider.js +8 -18
  17. package/lib/commonjs/shared/providers/gestures.provider.js.map +1 -1
  18. package/lib/commonjs/shared/utils/bounds/helpers/interpolate-style.js +30 -0
  19. package/lib/commonjs/shared/utils/bounds/helpers/interpolate-style.js.map +1 -0
  20. package/lib/commonjs/shared/utils/bounds/index.js +29 -1
  21. package/lib/commonjs/shared/utils/bounds/index.js.map +1 -1
  22. package/lib/commonjs/shared/utils/create-provider.js +16 -0
  23. package/lib/commonjs/shared/utils/create-provider.js.map +1 -1
  24. package/lib/commonjs/shared/utils/gesture/check-gesture-activation.js +4 -0
  25. package/lib/commonjs/shared/utils/gesture/check-gesture-activation.js.map +1 -1
  26. package/lib/module/blank-stack/components/overlay.js +1 -1
  27. package/lib/module/blank-stack/components/overlay.js.map +1 -1
  28. package/lib/module/shared/components/create-transition-aware-component.js +2 -0
  29. package/lib/module/shared/components/create-transition-aware-component.js.map +1 -1
  30. package/lib/module/shared/hooks/animation/use-screen-animation.js +8 -4
  31. package/lib/module/shared/hooks/animation/use-screen-animation.js.map +1 -1
  32. package/lib/module/shared/hooks/gestures/use-build-gestures.js +30 -6
  33. package/lib/module/shared/hooks/gestures/use-build-gestures.js.map +1 -1
  34. package/lib/module/shared/hooks/gestures/use-screen-gesture.js +22 -0
  35. package/lib/module/shared/hooks/gestures/use-screen-gesture.js.map +1 -0
  36. package/lib/module/shared/hooks/gestures/use-scroll-registry.js +32 -60
  37. package/lib/module/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
  38. package/lib/module/shared/index.js +1 -0
  39. package/lib/module/shared/index.js.map +1 -1
  40. package/lib/module/shared/providers/gestures.provider.js +9 -19
  41. package/lib/module/shared/providers/gestures.provider.js.map +1 -1
  42. package/lib/module/shared/utils/bounds/helpers/interpolate-style.js +26 -0
  43. package/lib/module/shared/utils/bounds/helpers/interpolate-style.js.map +1 -0
  44. package/lib/module/shared/utils/bounds/index.js +29 -1
  45. package/lib/module/shared/utils/bounds/index.js.map +1 -1
  46. package/lib/module/shared/utils/create-provider.js +17 -1
  47. package/lib/module/shared/utils/create-provider.js.map +1 -1
  48. package/lib/module/shared/utils/gesture/check-gesture-activation.js +4 -4
  49. package/lib/module/shared/utils/gesture/check-gesture-activation.js.map +1 -1
  50. package/lib/typescript/blank-stack/types.d.ts +2 -14
  51. package/lib/typescript/blank-stack/types.d.ts.map +1 -1
  52. package/lib/typescript/shared/components/create-transition-aware-component.d.ts +1 -0
  53. package/lib/typescript/shared/components/create-transition-aware-component.d.ts.map +1 -1
  54. package/lib/typescript/shared/hooks/animation/use-screen-animation.d.ts.map +1 -1
  55. package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts +1 -0
  56. package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts.map +1 -1
  57. package/lib/typescript/shared/hooks/gestures/use-screen-gesture.d.ts +15 -0
  58. package/lib/typescript/shared/hooks/gestures/use-screen-gesture.d.ts.map +1 -0
  59. package/lib/typescript/shared/hooks/gestures/use-scroll-registry.d.ts +1 -0
  60. package/lib/typescript/shared/hooks/gestures/use-scroll-registry.d.ts.map +1 -1
  61. package/lib/typescript/shared/index.d.ts +4 -2
  62. package/lib/typescript/shared/index.d.ts.map +1 -1
  63. package/lib/typescript/shared/providers/gestures.provider.d.ts +2 -6
  64. package/lib/typescript/shared/providers/gestures.provider.d.ts.map +1 -1
  65. package/lib/typescript/shared/types/animation.types.d.ts +44 -0
  66. package/lib/typescript/shared/types/animation.types.d.ts.map +1 -1
  67. package/lib/typescript/shared/types/bounds.types.d.ts +6 -0
  68. package/lib/typescript/shared/types/bounds.types.d.ts.map +1 -1
  69. package/lib/typescript/shared/types/core.types.d.ts +7 -0
  70. package/lib/typescript/shared/types/core.types.d.ts.map +1 -1
  71. package/lib/typescript/shared/utils/bounds/helpers/interpolate-style.d.ts +17 -0
  72. package/lib/typescript/shared/utils/bounds/helpers/interpolate-style.d.ts.map +1 -0
  73. package/lib/typescript/shared/utils/bounds/index.d.ts.map +1 -1
  74. package/lib/typescript/shared/utils/create-provider.d.ts +5 -1
  75. package/lib/typescript/shared/utils/create-provider.d.ts.map +1 -1
  76. package/lib/typescript/shared/utils/gesture/check-gesture-activation.d.ts +49 -1
  77. package/lib/typescript/shared/utils/gesture/check-gesture-activation.d.ts.map +1 -1
  78. package/package.json +1 -1
  79. package/src/blank-stack/components/overlay.tsx +1 -1
  80. package/src/blank-stack/types.ts +2 -15
  81. package/src/shared/__tests__/derivations.test.ts +155 -0
  82. package/src/shared/__tests__/gesture-activation.test.ts +251 -0
  83. package/src/shared/components/create-transition-aware-component.tsx +2 -1
  84. package/src/shared/hooks/animation/use-screen-animation.tsx +8 -2
  85. package/src/shared/hooks/gestures/use-build-gestures.tsx +35 -8
  86. package/src/shared/hooks/gestures/use-screen-gesture.ts +19 -0
  87. package/src/shared/hooks/gestures/use-scroll-registry.tsx +39 -59
  88. package/src/shared/index.ts +2 -0
  89. package/src/shared/providers/gestures.provider.tsx +15 -27
  90. package/src/shared/types/animation.types.ts +49 -0
  91. package/src/shared/types/bounds.types.ts +11 -0
  92. package/src/shared/types/core.types.ts +8 -0
  93. package/src/shared/utils/bounds/helpers/interpolate-style.ts +38 -0
  94. package/src/shared/utils/bounds/index.ts +31 -1
  95. package/src/shared/utils/create-provider.tsx +31 -1
  96. package/src/shared/utils/gesture/check-gesture-activation.ts +4 -4
@@ -35,6 +35,9 @@ const useBuildGestures = ({
35
35
  y: 0
36
36
  });
37
37
  const gestureOffsetState = (0, _reactNativeReanimated.useSharedValue)(_gesture2.GestureOffsetState.PENDING);
38
+
39
+ // Ref for external gesture coordination (e.g., swipeable lists)
40
+ const panGestureRef = (0, _react.useRef)(undefined);
38
41
  const gestureAnimationValues = _gesture.GestureStore.getRouteGestures(current.route.key);
39
42
  const animations = _animation.AnimationStore.getAll(current.route.key);
40
43
  const {
@@ -234,16 +237,37 @@ const useBuildGestures = ({
234
237
  initialVelocity
235
238
  });
236
239
  });
240
+
241
+ // Memoize gestures to keep stable references - critical for RNGH
242
+ // Child gestures reference ancestor's pan via requireExternalGestureToFail,
243
+ // so the pan gesture MUST be stable or children will reference stale objects
237
244
  return (0, _react.useMemo)(() => {
238
- const nativeGesture = _reactNativeGestureHandler.Gesture.Native();
239
- const panGesture = _reactNativeGestureHandler.Gesture.Pan().enabled(gestureEnabled).manualActivation(true).onTouchesDown(onTouchesDown).onTouchesMove(onTouchesMove).onStart(onStart).onUpdate(onUpdate).onEnd(onEnd).blocksExternalGesture(nativeGesture);
245
+ const panGesture = _reactNativeGestureHandler.Gesture.Pan().withRef(panGestureRef).enabled(gestureEnabled).manualActivation(true).onTouchesDown(onTouchesDown).onTouchesMove(onTouchesMove).onStart(onStart).onUpdate(onUpdate).onEnd(onEnd);
240
246
 
241
- // Allow ancestors to block child native gestures
242
- if (ancestorContext?.panGesture && nativeGesture) {
243
- ancestorContext.panGesture.blocksExternalGesture(nativeGesture);
247
+ // Native gesture setup depends on whether this screen has gestures
248
+ let nativeGesture;
249
+ if (gestureEnabled) {
250
+ // This screen has gestures - set up normal pan/native relationship
251
+ nativeGesture = _reactNativeGestureHandler.Gesture.Native().requireExternalGestureToFail(panGesture);
252
+ panGesture.blocksExternalGesture(nativeGesture);
253
+ } else {
254
+ // This screen has no gestures
255
+ // Find nearest ancestor with gestureEnabled=true (attached pan)
256
+ let activePanAncestor = ancestorContext;
257
+ while (activePanAncestor && !activePanAncestor.gestureEnabled) {
258
+ activePanAncestor = activePanAncestor.ancestorContext;
259
+ }
260
+ if (activePanAncestor?.panGesture) {
261
+ // Found an ancestor with enabled pan - wait for it
262
+ nativeGesture = _reactNativeGestureHandler.Gesture.Native().requireExternalGestureToFail(activePanAncestor.panGesture);
263
+ } else {
264
+ // No ancestor with enabled pan - plain native
265
+ nativeGesture = _reactNativeGestureHandler.Gesture.Native();
266
+ }
244
267
  }
245
268
  return {
246
269
  panGesture,
270
+ panGestureRef,
247
271
  nativeGesture,
248
272
  gestureAnimationValues
249
273
  };
@@ -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","initialTouch","useSharedValue","x","y","gestureOffsetState","GestureOffsetState","PENDING","gestureAnimationValues","GestureStore","getRouteGestures","route","key","animations","AnimationStore","getAll","gestureDirection","DEFAULT_GESTURE_DIRECTION","gestureEnabled","DEFAULT_GESTURE_ENABLED","gestureVelocityImpact","GESTURE_VELOCITY_IMPACT","gestureDrivesProgress","DEFAULT_GESTURE_DRIVES_PROGRESS","gestureActivationArea","DEFAULT_GESTURE_ACTIVATION_AREA","gestureResponseDistance","transitionSpec","options","directions","useMemo","directionsArray","Array","isArray","isBidirectional","includes","vertical","verticalInverted","horizontal","horizontalInverted","handleDismiss","useCallback","isDismissing","value","state","navigation","getState","routeStillPresent","routes","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","undefined","nativeGesture","Gesture","Native","panGesture","Pan","enabled","manualActivation","blocksExternalGesture","exports"],"sourceRoot":"../../../../../src","sources":["shared/hooks/gestures/use-build-gestures.tsx"],"mappings":"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","ignoreList":[]}
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","initialTouch","useSharedValue","x","y","gestureOffsetState","GestureOffsetState","PENDING","panGestureRef","useRef","undefined","gestureAnimationValues","GestureStore","getRouteGestures","route","key","animations","AnimationStore","getAll","gestureDirection","DEFAULT_GESTURE_DIRECTION","gestureEnabled","DEFAULT_GESTURE_ENABLED","gestureVelocityImpact","GESTURE_VELOCITY_IMPACT","gestureDrivesProgress","DEFAULT_GESTURE_DRIVES_PROGRESS","gestureActivationArea","DEFAULT_GESTURE_ACTIVATION_AREA","gestureResponseDistance","transitionSpec","options","directions","useMemo","directionsArray","Array","isArray","isBidirectional","includes","vertical","verticalInverted","horizontal","horizontalInverted","handleDismiss","useCallback","isDismissing","value","state","navigation","getState","routeStillPresent","routes","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":[]}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useScreenGesture = void 0;
7
+ var _gestures = require("../../providers/gestures.provider");
8
+ /**
9
+ * Returns a ref to the screen's navigation pan gesture.
10
+ * Use this to coordinate child gestures with the navigation gesture.
11
+ *
12
+ * @example
13
+ * ```tsx
14
+ * const screenGesture = useScreenGesture();
15
+ *
16
+ * const myPanGesture = Gesture.Pan()
17
+ * .waitFor(screenGesture) // Wait for navigation gesture to fail first
18
+ * .onUpdate(...);
19
+ * ```
20
+ */
21
+ const useScreenGesture = () => {
22
+ const ctx = (0, _gestures.useGestureContext)();
23
+ return ctx?.panGestureRef ?? null;
24
+ };
25
+ exports.useScreenGesture = useScreenGesture;
26
+ //# sourceMappingURL=use-screen-gesture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_gestures","require","useScreenGesture","ctx","useGestureContext","panGestureRef","exports"],"sourceRoot":"../../../../../src","sources":["shared/hooks/gestures/use-screen-gesture.ts"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;EACrC,MAAMC,GAAG,GAAG,IAAAC,2BAAiB,EAAC,CAAC;EAC/B,OAAOD,GAAG,EAAEE,aAAa,IAAI,IAAI;AAClC,CAAC;AAACC,OAAA,CAAAJ,gBAAA,GAAAA,gBAAA","ignoreList":[]}
@@ -4,19 +4,34 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useScrollRegistry = void 0;
7
+ var _react = require("react");
7
8
  var _reactNativeReanimated = require("react-native-reanimated");
8
9
  var _gestures = require("../../providers/gestures.provider");
9
10
  var _useStableCallback = _interopRequireDefault(require("../use-stable-callback"));
10
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ /** biome-ignore-all lint/style/noNonNullAssertion: <Will always consume context from GestureProvider> */
13
+
11
14
  const useScrollRegistry = props => {
15
+ const context = (0, _gestures.useGestureContext)();
12
16
  const {
13
17
  scrollConfig,
14
18
  ancestorContext
15
- } = (0, _gestures.useGestureContext)();
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);
26
+ }
27
+ current = current.ancestorContext;
28
+ }
29
+ return configs;
30
+ }, [ancestorContext]);
16
31
  const scrollHandler = (0, _reactNativeReanimated.useAnimatedScrollHandler)({
17
32
  onScroll: event => {
18
33
  props.onScroll?.(event);
19
- scrollConfig.modify(v => {
34
+ const updateScrollPosition = v => {
20
35
  "worklet";
21
36
 
22
37
  if (v === null) {
@@ -32,31 +47,18 @@ const useScrollRegistry = props => {
32
47
  v.x = event.contentOffset.x;
33
48
  v.y = event.contentOffset.y;
34
49
  return v;
35
- });
36
- if (ancestorContext?.scrollConfig) {
37
- ancestorContext.scrollConfig.modify(v => {
38
- "worklet";
50
+ };
51
+ scrollConfig.modify(updateScrollPosition);
39
52
 
40
- if (v === null) {
41
- return {
42
- x: event.contentOffset.x,
43
- y: event.contentOffset.y,
44
- contentHeight: 0,
45
- contentWidth: 0,
46
- layoutHeight: 0,
47
- layoutWidth: 0
48
- };
49
- }
50
- v.x = event.contentOffset.x;
51
- v.y = event.contentOffset.y;
52
- return v;
53
- });
53
+ // Sync to ALL ancestors, not just immediate parent
54
+ for (const ancestorConfig of ancestorScrollConfigs) {
55
+ ancestorConfig.modify(updateScrollPosition);
54
56
  }
55
57
  }
56
58
  });
57
59
  const onContentSizeChange = (0, _useStableCallback.default)((width, height) => {
58
60
  props.onContentSizeChange?.(width, height);
59
- scrollConfig.modify(v => {
61
+ const updateContentSize = v => {
60
62
  "worklet";
61
63
 
62
64
  if (v === null) {
@@ -72,25 +74,10 @@ const useScrollRegistry = props => {
72
74
  v.contentWidth = width;
73
75
  v.contentHeight = height;
74
76
  return v;
75
- });
76
- if (ancestorContext?.scrollConfig) {
77
- ancestorContext.scrollConfig.modify(v => {
78
- "worklet";
79
-
80
- if (v === null) {
81
- return {
82
- x: 0,
83
- y: 0,
84
- layoutHeight: 0,
85
- layoutWidth: 0,
86
- contentWidth: width,
87
- contentHeight: height
88
- };
89
- }
90
- v.contentWidth = width;
91
- v.contentHeight = height;
92
- return v;
93
- });
77
+ };
78
+ scrollConfig.modify(updateContentSize);
79
+ for (const ancestorConfig of ancestorScrollConfigs) {
80
+ ancestorConfig.modify(updateContentSize);
94
81
  }
95
82
  });
96
83
  const onLayout = (0, _useStableCallback.default)(event => {
@@ -99,7 +86,7 @@ const useScrollRegistry = props => {
99
86
  width,
100
87
  height
101
88
  } = event.nativeEvent.layout;
102
- scrollConfig.modify(v => {
89
+ const updateLayout = v => {
103
90
  "worklet";
104
91
 
105
92
  if (v === null) {
@@ -115,25 +102,10 @@ const useScrollRegistry = props => {
115
102
  v.layoutHeight = height;
116
103
  v.layoutWidth = width;
117
104
  return v;
118
- });
119
- if (ancestorContext?.scrollConfig) {
120
- ancestorContext.scrollConfig.modify(v => {
121
- "worklet";
122
-
123
- if (v === null) {
124
- return {
125
- x: 0,
126
- y: 0,
127
- contentHeight: 0,
128
- contentWidth: 0,
129
- layoutHeight: height,
130
- layoutWidth: width
131
- };
132
- }
133
- v.layoutHeight = height;
134
- v.layoutWidth = width;
135
- return v;
136
- });
105
+ };
106
+ scrollConfig.modify(updateLayout);
107
+ for (const ancestorConfig of ancestorScrollConfigs) {
108
+ ancestorConfig.modify(updateLayout);
137
109
  }
138
110
  });
139
111
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeReanimated","require","_gestures","_useStableCallback","_interopRequireDefault","e","__esModule","default","useScrollRegistry","props","scrollConfig","ancestorContext","useGestureContext","scrollHandler","useAnimatedScrollHandler","onScroll","event","modify","v","x","contentOffset","y","contentHeight","contentWidth","layoutHeight","layoutWidth","onContentSizeChange","useStableCallback","width","height","onLayout","nativeEvent","layout","exports"],"sourceRoot":"../../../../../src","sources":["shared/hooks/gestures/use-scroll-registry.tsx"],"mappings":";;;;;;AACA,IAAAA,sBAAA,GAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAD,OAAA;AAEA,IAAAE,kBAAA,GAAAC,sBAAA,CAAAH,OAAA;AAAuD,SAAAG,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAQhD,MAAMG,iBAAiB,GAAIC,KAA8B,IAAK;EACpE,MAAM;IAAEC,YAAY;IAAEC;EAAgB,CAAC,GAAG,IAAAC,2BAAiB,EAAC,CAAC;EAE7D,MAAMC,aAAa,GAAG,IAAAC,+CAAwB,EAAC;IAC9CC,QAAQ,EAAGC,KAAK,IAAK;MACpBP,KAAK,CAACM,QAAQ,GAAGC,KAAK,CAAC;MAEvBN,YAAY,CAACO,MAAM,CAAEC,CAAM,IAAK;QAC/B,SAAS;;QACT,IAAIA,CAAC,KAAK,IAAI,EAAE;UACf,OAAO;YACNC,CAAC,EAAEH,KAAK,CAACI,aAAa,CAACD,CAAC;YACxBE,CAAC,EAAEL,KAAK,CAACI,aAAa,CAACC,CAAC;YACxBC,aAAa,EAAE,CAAC;YAChBC,YAAY,EAAE,CAAC;YACfC,YAAY,EAAE,CAAC;YACfC,WAAW,EAAE;UACd,CAAC;QACF;QACAP,CAAC,CAACC,CAAC,GAAGH,KAAK,CAACI,aAAa,CAACD,CAAC;QAC3BD,CAAC,CAACG,CAAC,GAAGL,KAAK,CAACI,aAAa,CAACC,CAAC;QAC3B,OAAOH,CAAC;MACT,CAAC,CAAC;MAEF,IAAIP,eAAe,EAAED,YAAY,EAAE;QAClCC,eAAe,CAACD,YAAY,CAACO,MAAM,CAAEC,CAAM,IAAK;UAC/C,SAAS;;UACT,IAAIA,CAAC,KAAK,IAAI,EAAE;YACf,OAAO;cACNC,CAAC,EAAEH,KAAK,CAACI,aAAa,CAACD,CAAC;cACxBE,CAAC,EAAEL,KAAK,CAACI,aAAa,CAACC,CAAC;cACxBC,aAAa,EAAE,CAAC;cAChBC,YAAY,EAAE,CAAC;cACfC,YAAY,EAAE,CAAC;cACfC,WAAW,EAAE;YACd,CAAC;UACF;UACAP,CAAC,CAACC,CAAC,GAAGH,KAAK,CAACI,aAAa,CAACD,CAAC;UAC3BD,CAAC,CAACG,CAAC,GAAGL,KAAK,CAACI,aAAa,CAACC,CAAC;UAC3B,OAAOH,CAAC;QACT,CAAC,CAAC;MACH;IACD;EACD,CAAC,CAAC;EAEF,MAAMQ,mBAAmB,GAAG,IAAAC,0BAAiB,EAC5C,CAACC,KAAa,EAAEC,MAAc,KAAK;IAClCpB,KAAK,CAACiB,mBAAmB,GAAGE,KAAK,EAAEC,MAAM,CAAC;IAE1CnB,YAAY,CAACO,MAAM,CAAEC,CAAM,IAAK;MAC/B,SAAS;;MACT,IAAIA,CAAC,KAAK,IAAI,EAAE;QACf,OAAO;UACNC,CAAC,EAAE,CAAC;UACJE,CAAC,EAAE,CAAC;UACJG,YAAY,EAAE,CAAC;UACfC,WAAW,EAAE,CAAC;UACdF,YAAY,EAAEK,KAAK;UACnBN,aAAa,EAAEO;QAChB,CAAC;MACF;MACAX,CAAC,CAACK,YAAY,GAAGK,KAAK;MACtBV,CAAC,CAACI,aAAa,GAAGO,MAAM;MACxB,OAAOX,CAAC;IACT,CAAC,CAAC;IACF,IAAIP,eAAe,EAAED,YAAY,EAAE;MAClCC,eAAe,CAACD,YAAY,CAACO,MAAM,CAAEC,CAAM,IAAK;QAC/C,SAAS;;QACT,IAAIA,CAAC,KAAK,IAAI,EAAE;UACf,OAAO;YACNC,CAAC,EAAE,CAAC;YACJE,CAAC,EAAE,CAAC;YACJG,YAAY,EAAE,CAAC;YACfC,WAAW,EAAE,CAAC;YACdF,YAAY,EAAEK,KAAK;YACnBN,aAAa,EAAEO;UAChB,CAAC;QACF;QACAX,CAAC,CAACK,YAAY,GAAGK,KAAK;QACtBV,CAAC,CAACI,aAAa,GAAGO,MAAM;QACxB,OAAOX,CAAC;MACT,CAAC,CAAC;IACH;EACD,CACD,CAAC;EAED,MAAMY,QAAQ,GAAG,IAAAH,0BAAiB,EAAEX,KAAwB,IAAK;IAChEP,KAAK,CAACqB,QAAQ,GAAGd,KAAK,CAAC;IACvB,MAAM;MAAEY,KAAK;MAAEC;IAAO,CAAC,GAAGb,KAAK,CAACe,WAAW,CAACC,MAAM;IAElDtB,YAAY,CAACO,MAAM,CAAEC,CAAM,IAAK;MAC/B,SAAS;;MACT,IAAIA,CAAC,KAAK,IAAI,EAAE;QACf,OAAO;UACNC,CAAC,EAAE,CAAC;UACJE,CAAC,EAAE,CAAC;UACJC,aAAa,EAAE,CAAC;UAChBC,YAAY,EAAE,CAAC;UACfC,YAAY,EAAEK,MAAM;UACpBJ,WAAW,EAAEG;QACd,CAAC;MACF;MACAV,CAAC,CAACM,YAAY,GAAGK,MAAM;MACvBX,CAAC,CAACO,WAAW,GAAGG,KAAK;MACrB,OAAOV,CAAC;IACT,CAAC,CAAC;IACF,IAAIP,eAAe,EAAED,YAAY,EAAE;MAClCC,eAAe,CAACD,YAAY,CAACO,MAAM,CAAEC,CAAM,IAAK;QAC/C,SAAS;;QACT,IAAIA,CAAC,KAAK,IAAI,EAAE;UACf,OAAO;YACNC,CAAC,EAAE,CAAC;YACJE,CAAC,EAAE,CAAC;YACJC,aAAa,EAAE,CAAC;YAChBC,YAAY,EAAE,CAAC;YACfC,YAAY,EAAEK,MAAM;YACpBJ,WAAW,EAAEG;UACd,CAAC;QACF;QACAV,CAAC,CAACM,YAAY,GAAGK,MAAM;QACvBX,CAAC,CAACO,WAAW,GAAGG,KAAK;QACrB,OAAOV,CAAC;MACT,CAAC,CAAC;IACH;EACD,CAAC,CAAC;EAEF,OAAO;IACNL,aAAa;IACba,mBAAmB;IACnBI;EACD,CAAC;AACF,CAAC;AAACG,OAAA,CAAAzB,iBAAA,GAAAA,iBAAA","ignoreList":[]}
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","modify","ancestorConfig","onContentSizeChange","useStableCallback","width","height","updateContentSize","onLayout","nativeEvent","layout","updateLayout","exports"],"sourceRoot":"../../../../../src","sources":["shared/hooks/gestures/use-scroll-registry.tsx"],"mappings":"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","ignoreList":[]}
@@ -10,11 +10,18 @@ Object.defineProperty(exports, "useScreenAnimation", {
10
10
  return _useScreenAnimation.useScreenAnimation;
11
11
  }
12
12
  });
13
+ Object.defineProperty(exports, "useScreenGesture", {
14
+ enumerable: true,
15
+ get: function () {
16
+ return _useScreenGesture.useScreenGesture;
17
+ }
18
+ });
13
19
  var _reactNative = require("react-native");
14
20
  var _createTransitionAwareComponent = require("./components/create-transition-aware-component");
15
21
  var _maskedView = _interopRequireDefault(require("./components/integrations/masked-view"));
16
22
  var _configs = require("./configs");
17
23
  var _useScreenAnimation = require("./hooks/animation/use-screen-animation");
24
+ var _useScreenGesture = require("./hooks/gestures/use-screen-gesture");
18
25
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
26
  var _default = exports.default = {
20
27
  createTransitionAwareComponent: _createTransitionAwareComponent.createTransitionAwareComponent,
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_createTransitionAwareComponent","_maskedView","_interopRequireDefault","_configs","_useScreenAnimation","e","__esModule","default","_default","exports","createTransitionAwareComponent","View","Pressable","ScrollView","isScrollable","FlatList","MaskedView","Presets","Specs"],"sourceRoot":"../../../src","sources":["shared/index.ts"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,+BAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAiBA,IAAAK,mBAAA,GAAAL,OAAA;AAA4E,SAAAG,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAf7D;EACdG,8BAA8B,EAA9BA,8DAA8B;EAC9BC,IAAI,EAAE,IAAAD,8DAA8B,EAACC,iBAAI,CAAC;EAC1CC,SAAS,EAAE,IAAAF,8DAA8B,EAACE,sBAAS,CAAC;EACpDC,UAAU,EAAE,IAAAH,8DAA8B,EAACG,uBAAU,EAAE;IACtDC,YAAY,EAAE;EACf,CAAC,CAAC;EACFC,QAAQ,EAAE,IAAAL,8DAA8B,EAACK,qBAAQ,EAAE;IAClDD,YAAY,EAAE;EACf,CAAC,CAAC;EACFE,UAAU,EAAEA,mBAAU;EACtBC,OAAO,EAAPA,gBAAO;EACPC,KAAK,EAALA;AACD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_createTransitionAwareComponent","_maskedView","_interopRequireDefault","_configs","_useScreenAnimation","_useScreenGesture","e","__esModule","default","_default","exports","createTransitionAwareComponent","View","Pressable","ScrollView","isScrollable","FlatList","MaskedView","Presets","Specs"],"sourceRoot":"../../../src","sources":["shared/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,+BAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAiBA,IAAAK,mBAAA,GAAAL,OAAA;AACA,IAAAM,iBAAA,GAAAN,OAAA;AAAuE,SAAAG,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAhBxD;EACdG,8BAA8B,EAA9BA,8DAA8B;EAC9BC,IAAI,EAAE,IAAAD,8DAA8B,EAACC,iBAAI,CAAC;EAC1CC,SAAS,EAAE,IAAAF,8DAA8B,EAACE,sBAAS,CAAC;EACpDC,UAAU,EAAE,IAAAH,8DAA8B,EAACG,uBAAU,EAAE;IACtDC,YAAY,EAAE;EACf,CAAC,CAAC;EACFC,QAAQ,EAAE,IAAAL,8DAA8B,EAACK,qBAAQ,EAAE;IAClDD,YAAY,EAAE;EACf,CAAC,CAAC;EACFE,UAAU,EAAEA,mBAAU;EACtBC,OAAO,EAAPA,gBAAO;EACPC,KAAK,EAALA;AACD,CAAC","ignoreList":[]}
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useGestureContext = exports.ScreenGestureProvider = void 0;
7
- var _react = require("react");
8
7
  var _reactNative = require("react-native");
9
8
  var _reactNativeGestureHandler = require("react-native-gesture-handler");
10
9
  var _reactNativeReanimated = require("react-native-reanimated");
@@ -13,12 +12,6 @@ var _createProvider = _interopRequireDefault(require("../utils/create-provider")
13
12
  var _keys = require("./keys.provider");
14
13
  var _jsxRuntime = require("react/jsx-runtime");
15
14
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
- /**
17
- * Provider that creates gesture handling for a screen.
18
- * If the current screen doesn't have gestures enabled but an ancestor does,
19
- * we pass through the ancestor's context so scrollable children can coordinate
20
- * with the ancestor's gestures.
21
- */
22
15
  const {
23
16
  ScreenGestureProvider,
24
17
  useScreenGestureContext: useGestureContext
@@ -27,37 +20,34 @@ const {
27
20
  })(({
28
21
  children
29
22
  }) => {
30
- const ancestorContext = useGestureContext();
31
23
  const {
32
24
  current
33
25
  } = (0, _keys.useKeys)();
26
+ const ancestorContext = useGestureContext();
34
27
  const scrollConfig = (0, _reactNativeReanimated.useSharedValue)(null);
35
- const hasOwnGestures = current.options.gestureEnabled === true;
36
- const shouldPassthrough = !hasOwnGestures && !!ancestorContext;
28
+ const hasGestures = current.options.gestureEnabled === true;
37
29
  const {
38
30
  panGesture,
31
+ panGestureRef,
39
32
  nativeGesture,
40
33
  gestureAnimationValues
41
34
  } = (0, _useBuildGestures.useBuildGestures)({
42
35
  scrollConfig,
43
36
  ancestorContext
44
37
  });
45
- const value = shouldPassthrough ? ancestorContext : {
38
+ const value = {
46
39
  panGesture,
40
+ panGestureRef,
47
41
  scrollConfig,
48
42
  nativeGesture,
49
43
  gestureAnimationValues,
50
- ancestorContext
44
+ ancestorContext,
45
+ gestureEnabled: hasGestures
51
46
  };
52
-
53
- // When passing through, use a no-op gesture to avoid conflicts.
54
- // Attaching the same gesture to multiple GestureDetectors causes issues.
55
- const noOpGesture = (0, _react.useMemo)(() => _reactNativeGestureHandler.Gesture.Pan().enabled(false), []);
56
- const activeGesture = shouldPassthrough ? noOpGesture : panGesture;
57
47
  return {
58
48
  value,
59
49
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureDetector, {
60
- gesture: activeGesture,
50
+ gesture: panGesture,
61
51
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
62
52
  style: styles.container,
63
53
  children: children
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_reactNativeGestureHandler","_reactNativeReanimated","_useBuildGestures","_createProvider","_interopRequireDefault","_keys","_jsxRuntime","e","__esModule","default","ScreenGestureProvider","useScreenGestureContext","useGestureContext","createProvider","guarded","children","ancestorContext","current","useKeys","scrollConfig","useSharedValue","hasOwnGestures","options","gestureEnabled","shouldPassthrough","panGesture","nativeGesture","gestureAnimationValues","useBuildGestures","value","noOpGesture","useMemo","Gesture","Pan","enabled","activeGesture","jsx","GestureDetector","gesture","View","style","styles","container","exports","StyleSheet","create","flex"],"sourceRoot":"../../../../src","sources":["shared/providers/gestures.provider.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,0BAAA,GAAAF,OAAA;AAMA,IAAAG,sBAAA,GAAAH,OAAA;AACA,IAAAI,iBAAA,GAAAJ,OAAA;AAEA,IAAAK,eAAA,GAAAC,sBAAA,CAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AAA0C,IAAAQ,WAAA,GAAAR,OAAA;AAAA,SAAAM,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAmB1C;AACA;AACA;AACA;AACA;AACA;AACO,MAAM;EACZG,qBAAqB;EACrBC,uBAAuB,EAAEC;AAC1B,CAAC,GAAG,IAAAC,uBAAc,EAAC,eAAe,EAAE;EAAEC,OAAO,EAAE;AAAM,CAAC,CAAC,CAGrD,CAAC;EAAEC;AAAS,CAAC,KAAK;EACnB,MAAMC,eAAe,GAAGJ,iBAAiB,CAAC,CAAC;EAC3C,MAAM;IAAEK;EAAQ,CAAC,GAAG,IAAAC,aAAO,EAAC,CAAC;EAC7B,MAAMC,YAAY,GAAG,IAAAC,qCAAc,EAAsB,IAAI,CAAC;EAE9D,MAAMC,cAAc,GAAGJ,OAAO,CAACK,OAAO,CAACC,cAAc,KAAK,IAAI;EAC9D,MAAMC,iBAAiB,GAAG,CAACH,cAAc,IAAI,CAAC,CAACL,eAAe;EAE9D,MAAM;IAAES,UAAU;IAAEC,aAAa;IAAEC;EAAuB,CAAC,GAC1D,IAAAC,kCAAgB,EAAC;IAChBT,YAAY;IACZH;EACD,CAAC,CAAC;EAEH,MAAMa,KAAyB,GAAGL,iBAAiB,GAChDR,eAAe,GACf;IACAS,UAAU;IACVN,YAAY;IACZO,aAAa;IACbC,sBAAsB;IACtBX;EACD,CAAC;;EAEH;EACA;EACA,MAAMc,WAAW,GAAG,IAAAC,cAAO,EAAC,MAAMC,kCAAO,CAACC,GAAG,CAAC,CAAC,CAACC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;EACnE,MAAMC,aAAa,GAAGX,iBAAiB,GAAGM,WAAW,GAAGL,UAAU;EAElE,OAAO;IACNI,KAAK;IACLd,QAAQ,eACP,IAAAT,WAAA,CAAA8B,GAAA,EAACpC,0BAAA,CAAAqC,eAAe;MAACC,OAAO,EAAEH,aAAc;MAAApB,QAAA,eACvC,IAAAT,WAAA,CAAA8B,GAAA,EAACrC,YAAA,CAAAwC,IAAI;QAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;QAAA3B,QAAA,EAAEA;MAAQ,CAAO;IAAC,CAChC;EAEnB,CAAC;AACF,CAAC,CAAC;AAAC4B,OAAA,CAAA/B,iBAAA,GAAAA,iBAAA;AAAA+B,OAAA,CAAAjC,qBAAA,GAAAA,qBAAA;AAEH,MAAM+B,MAAM,GAAGG,uBAAU,CAACC,MAAM,CAAC;EAChCH,SAAS,EAAE;IACVI,IAAI,EAAE;EACP;AACD,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_reactNativeGestureHandler","_reactNativeReanimated","_useBuildGestures","_createProvider","_interopRequireDefault","_keys","_jsxRuntime","e","__esModule","default","ScreenGestureProvider","useScreenGestureContext","useGestureContext","createProvider","guarded","children","current","useKeys","ancestorContext","scrollConfig","useSharedValue","hasGestures","options","gestureEnabled","panGesture","panGestureRef","nativeGesture","gestureAnimationValues","useBuildGestures","value","jsx","GestureDetector","gesture","View","style","styles","container","exports","StyleSheet","create","flex"],"sourceRoot":"../../../../src","sources":["shared/providers/gestures.provider.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,0BAAA,GAAAD,OAAA;AAKA,IAAAE,sBAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AAEA,IAAAI,eAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AAA0C,IAAAO,WAAA,GAAAP,OAAA;AAAA,SAAAK,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAqBnC,MAAM;EACZG,qBAAqB;EACrBC,uBAAuB,EAAEC;AAC1B,CAAC,GAAG,IAAAC,uBAAc,EAAC,eAAe,EAAE;EAAEC,OAAO,EAAE;AAAM,CAAC,CAAC,CAGrD,CAAC;EAAEC;AAAS,CAAC,KAAK;EACnB,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,aAAO,EAAC,CAAC;EAC7B,MAAMC,eAAe,GAAGN,iBAAiB,CAAC,CAAC;EAC3C,MAAMO,YAAY,GAAG,IAAAC,qCAAc,EAAsB,IAAI,CAAC;EAE9D,MAAMC,WAAW,GAAGL,OAAO,CAACM,OAAO,CAACC,cAAc,KAAK,IAAI;EAE3D,MAAM;IAAEC,UAAU;IAAEC,aAAa;IAAEC,aAAa;IAAEC;EAAuB,CAAC,GACzE,IAAAC,kCAAgB,EAAC;IAChBT,YAAY;IACZD;EACD,CAAC,CAAC;EAEH,MAAMW,KAAyB,GAAG;IACjCL,UAAU;IACVC,aAAa;IACbN,YAAY;IACZO,aAAa;IACbC,sBAAsB;IACtBT,eAAe;IACfK,cAAc,EAAEF;EACjB,CAAC;EAED,OAAO;IACNQ,KAAK;IACLd,QAAQ,eACP,IAAAT,WAAA,CAAAwB,GAAA,EAAC9B,0BAAA,CAAA+B,eAAe;MAACC,OAAO,EAAER,UAAW;MAAAT,QAAA,eACpC,IAAAT,WAAA,CAAAwB,GAAA,EAAChC,YAAA,CAAAmC,IAAI;QAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;QAAArB,QAAA,EAAEA;MAAQ,CAAO;IAAC,CAChC;EAEnB,CAAC;AACF,CAAC,CAAC;AAACsB,OAAA,CAAAzB,iBAAA,GAAAA,iBAAA;AAAAyB,OAAA,CAAA3B,qBAAA,GAAAA,qBAAA;AAEH,MAAMyB,MAAM,GAAGG,uBAAU,CAACC,MAAM,CAAC;EAChCH,SAAS,EAAE;IACVI,IAAI,EAAE;EACP;AACD,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.interpolateLinkStyle = interpolateLinkStyle;
7
+ var _reactNativeReanimated = require("react-native-reanimated");
8
+ var _constants = require("../../../constants");
9
+ /**
10
+ * Interpolates a numeric style property between source and destination bounds.
11
+ *
12
+ * @param link - The bounds link containing source and destination styles
13
+ * @param property - The style property to interpolate (e.g., "borderRadius", "opacity")
14
+ * @param progress - Animation progress value
15
+ * @param entering - Whether the screen is entering (focused) or exiting (unfocused)
16
+ * @param options - Optional configuration
17
+ * @returns The interpolated value
18
+ */
19
+ function interpolateLinkStyle(link, property, progress, entering, options = {}) {
20
+ "worklet";
21
+
22
+ const {
23
+ fallback = 0
24
+ } = options;
25
+ const sourceValue = link?.source?.styles?.[property] ?? fallback;
26
+ const destValue = link?.destination?.styles?.[property] ?? fallback;
27
+ const range = entering ? _constants.ENTER_RANGE : _constants.EXIT_RANGE;
28
+ return (0, _reactNativeReanimated.interpolate)(progress, range, [sourceValue, destValue], "clamp");
29
+ }
30
+ //# sourceMappingURL=interpolate-style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNativeReanimated","require","_constants","interpolateLinkStyle","link","property","progress","entering","options","fallback","sourceValue","source","styles","destValue","destination","range","ENTER_RANGE","EXIT_RANGE","interpolate"],"sourceRoot":"../../../../../../src","sources":["shared/utils/bounds/helpers/interpolate-style.ts"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,oBAAoBA,CACnCC,IAAuB,EACvBC,QAAgB,EAChBC,QAAgB,EAChBC,QAAiB,EACjBC,OAAgC,GAAG,CAAC,CAAC,EAC5B;EACT,SAAS;;EAET,MAAM;IAAEC,QAAQ,GAAG;EAAE,CAAC,GAAGD,OAAO;EAEhC,MAAME,WAAW,GACfN,IAAI,EAAEO,MAAM,EAAEC,MAAM,GAAGP,QAAQ,CAAC,IAA2BI,QAAQ;EACrE,MAAMI,SAAS,GACbT,IAAI,EAAEU,WAAW,EAAEF,MAAM,GAAGP,QAAQ,CAAC,IAA2BI,QAAQ;EAE1E,MAAMM,KAAK,GAAGR,QAAQ,GAAGS,sBAAW,GAAGC,qBAAU;EAEjD,OAAO,IAAAC,kCAAW,EAACZ,QAAQ,EAAES,KAAK,EAAE,CAACL,WAAW,EAAEG,SAAS,CAAC,EAAE,OAAO,CAAC;AACvE","ignoreList":[]}
@@ -7,6 +7,7 @@ exports.createBounds = void 0;
7
7
  var _constants = require("../../constants");
8
8
  var _bounds = require("../../stores/bounds.store");
9
9
  var _geometry = require("./helpers/geometry");
10
+ var _interpolateStyle = require("./helpers/interpolate-style");
10
11
  var _styleComposers = require("./helpers/style-composers");
11
12
  const resolveBounds = props => {
12
13
  "worklet";
@@ -153,8 +154,35 @@ const createBounds = props => {
153
154
 
154
155
  return _bounds.BoundStore.getSnapshot(tag, key);
155
156
  };
157
+ const getLink = tag => {
158
+ "worklet";
159
+
160
+ const link = _bounds.BoundStore.getActiveLink(tag, props.current?.route.key);
161
+ if (!link) return null;
162
+ return {
163
+ source: link.source ? {
164
+ bounds: link.source.bounds,
165
+ styles: link.source.styles
166
+ } : null,
167
+ destination: link.destination ? {
168
+ bounds: link.destination.bounds,
169
+ styles: link.destination.styles
170
+ } : null
171
+ };
172
+ };
173
+ const interpolateStyle = (tag, property, fallback) => {
174
+ "worklet";
175
+
176
+ const link = getLink(tag);
177
+ const entering = !props.next;
178
+ return (0, _interpolateStyle.interpolateLinkStyle)(link, property, props.progress, entering, {
179
+ fallback
180
+ });
181
+ };
156
182
  return Object.assign(boundsFunction, {
157
- getSnapshot
183
+ getSnapshot,
184
+ getLink,
185
+ interpolateStyle
158
186
  });
159
187
  };
160
188
  exports.createBounds = createBounds;
@@ -1 +1 @@
1
- {"version":3,"names":["_constants","require","_bounds","_geometry","_styleComposers","resolveBounds","props","entering","next","fullscreen","FULLSCREEN_DIMENSIONS","dimensions","isFullscreenTarget","computeOptions","target","link","BoundStore","getActiveLink","id","current","route","key","source","start","end","destination","bounds","customTarget","computeBoundStyles","previous","progress","raw","EMPTY_BOUND_HELPER_RESULT_RAW","EMPTY_BOUND_HELPER_RESULT","ranges","ENTER_RANGE","EXIT_RANGE","method","geometry","computeContentTransformGeometry","anchor","scaleMode","composeContentStyle","computeRelativeGeometry","common","isSize","isAbs","space","composeSizeAbsolute","composeSizeRelative","composeTransformAbsolute","composeTransformRelative","createBounds","boundsFunction","params","layouts","screen","getSnapshot","tag","Object","assign","exports"],"sourceRoot":"../../../../../src","sources":["shared/utils/bounds/index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_constants","require","_bounds","_geometry","_interpolateStyle","_styleComposers","resolveBounds","props","entering","next","fullscreen","FULLSCREEN_DIMENSIONS","dimensions","isFullscreenTarget","computeOptions","target","link","BoundStore","getActiveLink","id","current","route","key","source","start","end","destination","bounds","customTarget","computeBoundStyles","previous","progress","raw","EMPTY_BOUND_HELPER_RESULT_RAW","EMPTY_BOUND_HELPER_RESULT","ranges","ENTER_RANGE","EXIT_RANGE","method","geometry","computeContentTransformGeometry","anchor","scaleMode","composeContentStyle","computeRelativeGeometry","common","isSize","isAbs","space","composeSizeAbsolute","composeSizeRelative","composeTransformAbsolute","composeTransformRelative","createBounds","boundsFunction","params","layouts","screen","getSnapshot","tag","getLink","styles","interpolateStyle","property","fallback","interpolateLinkStyle","Object","assign","exports"],"sourceRoot":"../../../../../src","sources":["shared/utils/bounds/index.ts"],"mappings":"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","ignoreList":[]}
@@ -29,6 +29,22 @@ function createProvider(name, options) {
29
29
  throw new Error(`${name}Context value must be provided. You likely forgot to return it from the factory function.`);
30
30
  }
31
31
  const memoValue = (0, _react.useMemo)(() => enabled ? value : null, [enabled, value]);
32
+
33
+ // Per-instance ref ensures InnerProvider reads latest value while keeping
34
+ // a stable component reference.
35
+ const valueRef = (0, _react.useRef)(memoValue);
36
+ valueRef.current = memoValue;
37
+ const InnerProvider = (0, _react.useMemo)(() => ({
38
+ children
39
+ }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(Context.Provider, {
40
+ value: valueRef.current,
41
+ children: children
42
+ }), []);
43
+ if (typeof children === "function") {
44
+ return children({
45
+ [`${name}Provider`]: InnerProvider
46
+ });
47
+ }
32
48
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(Context.Provider, {
33
49
  value: memoValue,
34
50
  children: children
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_jsxRuntime","createProvider","name","options","factory","guarded","Context","createContext","displayName","Provider","props","children","enabled","value","Error","memoValue","useMemo","jsx","useEnhancedContext","context","useContext","withProvider","Component","WithProviderWrapper"],"sourceRoot":"../../../../src","sources":["shared/utils/create-provider.tsx"],"mappings":";;;;;;AAKA,IAAAA,MAAA,GAAAC,OAAA;AAMe,IAAAC,WAAA,GAAAD,OAAA;AAXf;AACA;AACA;AACA;AACA;;AASe,SAASE,cAAcA,CAGpCC,IAAkB,EAAEC,OAA+B,EAAE;EACtD,OACCC,OAIC,IACG;IACJ,MAAM;MAAEC,OAAO,GAAG;IAAK,CAAC,GAAGF,OAAO,IAAI,CAAC,CAAC;IAExC,MAAMG,OAAO,gBAAG,IAAAC,oBAAa,EAAsB,IAAI,CAAC;IACxDD,OAAO,CAACE,WAAW,GAAGN,IAAI;IAE1B,MAAMO,QAAiC,GAAIC,KAAK,IAAK;MACpD,MAAM;QACLC,QAAQ,GAAID,KAAK,CAA8BC,QAAQ;QACvDC,OAAO,GAAG,IAAI;QACdC;MACD,CAAC,GAAGT,OAAO,CAACM,KAAK,CAAC;MAElB,IAAI,CAACG,KAAK,EAAE;QACX,MAAM,IAAIC,KAAK,CACd,GAAGZ,IAAI,2FACR,CAAC;MACF;MAEA,MAAMa,SAAS,GAAG,IAAAC,cAAO,EACxB,MAAOJ,OAAO,GAAGC,KAAK,GAAG,IAAK,EAC9B,CAACD,OAAO,EAAEC,KAAK,CAChB,CAAC;MAED,oBAAO,IAAAb,WAAA,CAAAiB,GAAA,EAACX,OAAO,CAACG,QAAQ;QAACI,KAAK,EAAEE,SAAU;QAAAJ,QAAA,EAAEA;MAAQ,CAAmB,CAAC;IACzE,CAAC;IAED,MAAMO,kBAAkB,GAAGA,CAAA,KAA2B;MACrD,MAAMC,OAAO,GAAG,IAAAC,iBAAU,EAACd,OAAO,CAAC;MAEnC,IAAID,OAAO,IAAIc,OAAO,KAAK,IAAI,EAAE;QAChC,MAAM,IAAIL,KAAK,CACd,GAAGZ,IAAI,kCAAkCA,IAAI,UAC9C,CAAC;MACF;MAEA,OAAOiB,OAAO;IACf,CAAC;IAED,MAAME,YAAY,GAAIC,SAAsC,IAAK;MAChE,OAAO,SAASC,mBAAmBA,CAACb,KAAoB,EAAE;QACzD,MAAM;UAAEE,OAAO,GAAG,IAAI;UAAEC;QAAM,CAAC,GAAGT,OAAO,CAACM,KAAK,CAAC;QAEhD,IAAI,CAACG,KAAK,EAAE;UACX,MAAM,IAAIC,KAAK,CACd,GAAGZ,IAAI,2FACR,CAAC;QACF;QAEA,MAAMa,SAAS,GAAG,IAAAC,cAAO,EACxB,MAAOJ,OAAO,GAAGC,KAAK,GAAG,IAAK,EAC9B,CAACD,OAAO,EAAEC,KAAK,CAChB,CAAC;QAED,oBACC,IAAAb,WAAA,CAAAiB,GAAA,EAACX,OAAO,CAACG,QAAQ;UAACI,KAAK,EAAEE,SAAU;UAAAJ,QAAA,eAClC,IAAAX,WAAA,CAAAiB,GAAA,EAACK,SAAS;YAAA,GAAKT;UAAK,CAAG;QAAC,CACP,CAAC;MAErB,CAAC;IACF,CAAC;IAED,OAAO;MACN,CAAC,GAAGX,IAAI,SAAS,GAAGI,OAAO;MAC3B,CAAC,GAAGJ,IAAI,UAAU,GAAGO,QAAQ;MAC7B,CAAC,MAAMP,IAAI,SAAS,GAAGgB,kBAAkB;MACzC,CAAC,OAAOhB,IAAI,UAAU,GAAGmB;IAC1B,CAAC;EAaF,CAAC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_jsxRuntime","createProvider","name","options","factory","guarded","Context","createContext","displayName","Provider","props","children","enabled","value","Error","memoValue","useMemo","valueRef","useRef","current","InnerProvider","jsx","useEnhancedContext","context","useContext","withProvider","Component","WithProviderWrapper"],"sourceRoot":"../../../../src","sources":["shared/utils/create-provider.tsx"],"mappings":"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","ignoreList":[]}
@@ -4,6 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.applyOffsetRules = void 0;
7
+ exports.calculateSwipeDirs = calculateSwipeDirs;
8
+ exports.computeEdgeConstraints = computeEdgeConstraints;
9
+ exports.normalizeSides = normalizeSides;
10
+ exports.shouldActivateOrFail = shouldActivateOrFail;
7
11
  var _gesture = require("../../types/gesture.types");
8
12
  /**
9
13
  * 10 seems like the correct threshold for compatability with nested gestures outside of our package.
@@ -1 +1 @@
1
- {"version":3,"names":["_gesture","require","GESTURE_ACTIVATION_THRESHOLD_X","GESTURE_ACTIVATION_THRESHOLD_Y","GESTURE_FAIL_TOLERANCE_X","GESTURE_FAIL_TOLERANCE_Y","DEFAULT_EDGE_DISTANCE_HORIZONTAL","DEFAULT_EDGE_DISTANCE_VERTICAL","DEFAULT_ACTIVATION_AREA","normalizeSides","area","mode","left","right","top","bottom","s","computeEdgeConstraints","initialTouch","dimensions","sides","responseDistance","xDist","yDist","horizontalRight","x","horizontalLeft","width","verticalDown","y","verticalUp","height","calculateSwipeDirs","deltaX","deltaY","isVerticalSwipe","Math","abs","isHorizontalSwipe","isSwipingDown","isSwipingUp","isSwipingRight","isSwipingLeft","shouldActivateOrFail","params","hasHorizontal","hasVertical","allowedRight","allowedLeft","allowedUp","allowedDown","horizontalGateRight","horizontalGateLeft","verticalGateUp","verticalGateDown","shouldActivate","shouldFail","hasEnoughHorizontalMovement","hasAcceptableVerticalDeviation","rightOk","leftOk","hasEnoughVerticalMovement","hasAcceptableHorizontalDeviation","upOk","downOk","applyOffsetRules","touch","directions","manager","gestureOffsetState","activationArea","vertical","verticalInverted","horizontal","horizontalInverted","value","GestureOffsetState","PENDING","PASSED","FAILED","fail","exports"],"sourceRoot":"../../../../../src","sources":["shared/utils/gesture/check-gesture-activation.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_gesture","require","GESTURE_ACTIVATION_THRESHOLD_X","GESTURE_ACTIVATION_THRESHOLD_Y","GESTURE_FAIL_TOLERANCE_X","GESTURE_FAIL_TOLERANCE_Y","DEFAULT_EDGE_DISTANCE_HORIZONTAL","DEFAULT_EDGE_DISTANCE_VERTICAL","DEFAULT_ACTIVATION_AREA","normalizeSides","area","mode","left","right","top","bottom","s","computeEdgeConstraints","initialTouch","dimensions","sides","responseDistance","xDist","yDist","horizontalRight","x","horizontalLeft","width","verticalDown","y","verticalUp","height","calculateSwipeDirs","deltaX","deltaY","isVerticalSwipe","Math","abs","isHorizontalSwipe","isSwipingDown","isSwipingUp","isSwipingRight","isSwipingLeft","shouldActivateOrFail","params","hasHorizontal","hasVertical","allowedRight","allowedLeft","allowedUp","allowedDown","horizontalGateRight","horizontalGateLeft","verticalGateUp","verticalGateDown","shouldActivate","shouldFail","hasEnoughHorizontalMovement","hasAcceptableVerticalDeviation","rightOk","leftOk","hasEnoughVerticalMovement","hasAcceptableHorizontalDeviation","upOk","downOk","applyOffsetRules","touch","directions","manager","gestureOffsetState","activationArea","vertical","verticalInverted","horizontal","horizontalInverted","value","GestureOffsetState","PENDING","PASSED","FAILED","fail","exports"],"sourceRoot":"../../../../../src","sources":["shared/utils/gesture/check-gesture-activation.ts"],"mappings":"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","ignoreList":[]}