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
@@ -65,7 +65,7 @@ const OverlayHost = ({
65
65
  screenAnimation,
66
66
  focusedRoute: focusedScene.route,
67
67
  focusedIndex: optimisticActiveIndex,
68
- overlayOptions: focusedScene.descriptor.options.overlayOptions,
68
+ meta: focusedScene.descriptor.options.meta,
69
69
  navigation: scene.descriptor.navigation
70
70
  };
71
71
  return /*#__PURE__*/_jsx(Animated.View, {
@@ -1 +1 @@
1
- {"version":3,"names":["NavigationContext","NavigationRouteContext","useMemo","Animated","StyleSheet","View","useScreenAnimation","KeysProvider","useKeys","TransitionStylesProvider","useOverlayAnimation","useStackNavigationContext","jsx","_jsx","getActiveFloatOverlay","scenes","index","length","startIndex","Math","max","i","scene","options","descriptor","overlayMode","overlayShown","overlayIndex","OverlayHost","isFloating","OverlayComponent","overlay","overlayAnimation","optimisticActiveIndex","routes","overlaySceneIndex","findIndex","stackScene","route","key","focusedScene","maxOffset","normalizedIndex","min","screenAnimation","overlayProps","focusedRoute","focusedIndex","overlayOptions","navigation","pointerEvents","style","styles","container","floating","zIndex","absolute","children","Provider","value","FloatOverlay","activeOverlay","previous","current","next","ScreenOverlay","Overlay","Float","Screen","create","absoluteFillObject","flex"],"sourceRoot":"../../../../src","sources":["blank-stack/components/overlay.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["NavigationContext","NavigationRouteContext","useMemo","Animated","StyleSheet","View","useScreenAnimation","KeysProvider","useKeys","TransitionStylesProvider","useOverlayAnimation","useStackNavigationContext","jsx","_jsx","getActiveFloatOverlay","scenes","index","length","startIndex","Math","max","i","scene","options","descriptor","overlayMode","overlayShown","overlayIndex","OverlayHost","isFloating","OverlayComponent","overlay","overlayAnimation","optimisticActiveIndex","routes","overlaySceneIndex","findIndex","stackScene","route","key","focusedScene","maxOffset","normalizedIndex","min","screenAnimation","overlayProps","focusedRoute","focusedIndex","meta","navigation","pointerEvents","style","styles","container","floating","zIndex","absolute","children","Provider","value","FloatOverlay","activeOverlay","previous","current","next","ScreenOverlay","Overlay","Float","Screen","create","absoluteFillObject","flex"],"sourceRoot":"../../../../src","sources":["blank-stack/components/overlay.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ /** biome-ignore-all lint/style/noNonNullAssertion: <This helper is usually being used inside a transitionable stack> */
4
+
3
5
  import { forwardRef, memo } from "react";
4
6
  import { GestureDetector } from "react-native-gesture-handler";
5
7
  import Animated, { runOnUI, useAnimatedRef } from "react-native-reanimated";
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","memo","GestureDetector","Animated","runOnUI","useAnimatedRef","useAssociatedStyles","useScrollRegistry","useGestureContext","RegisterBoundsProvider","jsx","_jsx","createTransitionAwareComponent","Wrapped","options","isScrollable","AnimatedComponent","createAnimatedComponent","ScrollableInner","props","ref","nativeGesture","scrollHandler","onContentSizeChange","onLayout","onScroll","gesture","children","scrollEventThrottle","Inner","_","style","sharedBoundTag","styleId","onPress","rest","animatedRef","associatedStyles","id","captureActiveOnPress","handleInitialLayout","collapsable"],"sourceRoot":"../../../../src","sources":["shared/components/create-transition-aware-component.tsx"],"mappings":";;AACA,SAA6BA,UAAU,EAAEC,IAAI,QAAQ,OAAO;AAE5D,SAASC,eAAe,QAAQ,8BAA8B;AAC9D,OAAOC,QAAQ,IAAIC,OAAO,EAAEC,cAAc,QAAQ,yBAAyB;AAC3E,SAASC,mBAAmB,QAAQ,yCAAyC;AAC7E,SAASC,iBAAiB,QAAQ,uCAAuC;AACzE,SAASC,iBAAiB,QAAQ,gCAAgC;AAClE,SAASC,sBAAsB,QAAQ,uCAAuC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQ/E,OAAO,SAASC,8BAA8BA,CAC7CC,OAAyB,EACzBC,OAA8C,GAAG,CAAC,CAAC,EAClD;EACD,MAAM;IAAEC,YAAY,GAAG;EAAM,CAAC,GAAGD,OAAO;EAExC,MAAME,iBAAiB,GAAGb,QAAQ,CAACc,uBAAuB,CAACJ,OAAO,CAAC;EAEnE,MAAMK,eAAe,gBAAGlB,UAAU,CAGhC,CAACmB,KAAU,EAAEC,GAAG,KAAK;IACtB,MAAM;MAAEC;IAAc,CAAC,GAAGb,iBAAiB,CAAC,CAAC;IAC7C,MAAM;MAAEc,aAAa;MAAEC,mBAAmB;MAAEC;IAAS,CAAC,GAAGjB,iBAAiB,CAAC;MAC1EkB,QAAQ,EAAEN,KAAK,CAACM,QAAQ;MACxBF,mBAAmB,EAAEJ,KAAK,CAACI,mBAAmB;MAC9CC,QAAQ,EAAEL,KAAK,CAACK;IACjB,CAAC,CAAC;IAEF,oBACCb,IAAA,CAACT,eAAe;MAACwB,OAAO,EAAEL,aAAc;MAAAM,QAAA,eACvChB,IAAA,CAACK,iBAAiB;QAAA,GACZG,KAAK;QACVC,GAAG,EAAEA,GAAI;QACTK,QAAQ,EAAEH,aAAc;QACxBC,mBAAmB,EAAEA,mBAAoB;QACzCC,QAAQ,EAAEA,QAAS;QACnBI,mBAAmB,EAAET,KAAK,CAACS,mBAAmB,IAAI;MAAG,CACrD;IAAC,CACc,CAAC;EAEpB,CAAC,CAAC;EAEF,MAAMC,KAAK,gBAAG7B,UAAU,CAGtB,CAACmB,KAAK,EAAEW,CAAC,KAAK;IACf,MAAM;MAAEH,QAAQ;MAAEI,KAAK;MAAEC,cAAc;MAAEC,OAAO;MAAEC,OAAO;MAAE,GAAGC;IAAK,CAAC,GACnEhB,KAAY;IAEb,MAAMiB,WAAW,GAAG/B,cAAc,CAAO,CAAC;IAE1C,MAAM;MAAEgC;IAAiB,CAAC,GAAG/B,mBAAmB,CAAC;MAChDgC,EAAE,EAAEN,cAAc,IAAIC,OAAO;MAC7BF;IACD,CAAC,CAAC;IAEF,oBACCpB,IAAA,CAACF,sBAAsB;MACtB2B,WAAW,EAAEA,WAAY;MACzBL,KAAK,EAAEA,KAAM;MACbG,OAAO,EAAEA,OAAQ;MACjBF,cAAc,EAAEA,cAAe;MAAAL,QAAA,EAE9BA,CAAC;QAAEY,oBAAoB;QAAEC;MAAoB,CAAC,kBAC9C7B,IAAA,CAACK,iBAAiB;QAAA,GACZmB,IAAI;QACTf,GAAG,EAAEgB,WAAY;QACjBL,KAAK,EAAE,CAACA,KAAK,EAAEM,gBAAgB,CAAE;QACjCH,OAAO,EAAEK,oBAAqB;QAC9Bf,QAAQ,EAAEpB,OAAO,CAACoC,mBAAmB,CAAE;QACvCC,WAAW,EAAE,CAACT,cAAe;QAAAL,QAAA,EAE5BA;MAAQ,CACS;IACnB,CACsB,CAAC;EAE3B,CAAC,CAAC;EAEF,IAAIZ,YAAY,EAAE;IACjB,oBAAOd,IAAI,CAACiB,eAAe,CAAC;EAM7B;EAEA,oBAAOjB,IAAI,CAAC4B,KAAK,CAAC;AAMnB","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","memo","GestureDetector","Animated","runOnUI","useAnimatedRef","useAssociatedStyles","useScrollRegistry","useGestureContext","RegisterBoundsProvider","jsx","_jsx","createTransitionAwareComponent","Wrapped","options","isScrollable","AnimatedComponent","createAnimatedComponent","ScrollableInner","props","ref","nativeGesture","scrollHandler","onContentSizeChange","onLayout","onScroll","gesture","children","scrollEventThrottle","Inner","_","style","sharedBoundTag","styleId","onPress","rest","animatedRef","associatedStyles","id","captureActiveOnPress","handleInitialLayout","collapsable"],"sourceRoot":"../../../../src","sources":["shared/components/create-transition-aware-component.tsx"],"mappings":";;AAAA;;AAEA,SAA6BA,UAAU,EAAEC,IAAI,QAAQ,OAAO;AAE5D,SAASC,eAAe,QAAQ,8BAA8B;AAC9D,OAAOC,QAAQ,IAAIC,OAAO,EAAEC,cAAc,QAAQ,yBAAyB;AAC3E,SAASC,mBAAmB,QAAQ,yCAAyC;AAC7E,SAASC,iBAAiB,QAAQ,uCAAuC;AACzE,SAASC,iBAAiB,QAAQ,gCAAgC;AAClE,SAASC,sBAAsB,QAAQ,uCAAuC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQ/E,OAAO,SAASC,8BAA8BA,CAC7CC,OAAyB,EACzBC,OAA8C,GAAG,CAAC,CAAC,EAClD;EACD,MAAM;IAAEC,YAAY,GAAG;EAAM,CAAC,GAAGD,OAAO;EAExC,MAAME,iBAAiB,GAAGb,QAAQ,CAACc,uBAAuB,CAACJ,OAAO,CAAC;EAEnE,MAAMK,eAAe,gBAAGlB,UAAU,CAGhC,CAACmB,KAAU,EAAEC,GAAG,KAAK;IACtB,MAAM;MAAEC;IAAc,CAAC,GAAGb,iBAAiB,CAAC,CAAE;IAC9C,MAAM;MAAEc,aAAa;MAAEC,mBAAmB;MAAEC;IAAS,CAAC,GAAGjB,iBAAiB,CAAC;MAC1EkB,QAAQ,EAAEN,KAAK,CAACM,QAAQ;MACxBF,mBAAmB,EAAEJ,KAAK,CAACI,mBAAmB;MAC9CC,QAAQ,EAAEL,KAAK,CAACK;IACjB,CAAC,CAAC;IAEF,oBACCb,IAAA,CAACT,eAAe;MAACwB,OAAO,EAAEL,aAAc;MAAAM,QAAA,eACvChB,IAAA,CAACK,iBAAiB;QAAA,GACZG,KAAK;QACVC,GAAG,EAAEA,GAAI;QACTK,QAAQ,EAAEH,aAAc;QACxBC,mBAAmB,EAAEA,mBAAoB;QACzCC,QAAQ,EAAEA,QAAS;QACnBI,mBAAmB,EAAET,KAAK,CAACS,mBAAmB,IAAI;MAAG,CACrD;IAAC,CACc,CAAC;EAEpB,CAAC,CAAC;EAEF,MAAMC,KAAK,gBAAG7B,UAAU,CAGtB,CAACmB,KAAK,EAAEW,CAAC,KAAK;IACf,MAAM;MAAEH,QAAQ;MAAEI,KAAK;MAAEC,cAAc;MAAEC,OAAO;MAAEC,OAAO;MAAE,GAAGC;IAAK,CAAC,GACnEhB,KAAY;IAEb,MAAMiB,WAAW,GAAG/B,cAAc,CAAO,CAAC;IAE1C,MAAM;MAAEgC;IAAiB,CAAC,GAAG/B,mBAAmB,CAAC;MAChDgC,EAAE,EAAEN,cAAc,IAAIC,OAAO;MAC7BF;IACD,CAAC,CAAC;IAEF,oBACCpB,IAAA,CAACF,sBAAsB;MACtB2B,WAAW,EAAEA,WAAY;MACzBL,KAAK,EAAEA,KAAM;MACbG,OAAO,EAAEA,OAAQ;MACjBF,cAAc,EAAEA,cAAe;MAAAL,QAAA,EAE9BA,CAAC;QAAEY,oBAAoB;QAAEC;MAAoB,CAAC,kBAC9C7B,IAAA,CAACK,iBAAiB;QAAA,GACZmB,IAAI;QACTf,GAAG,EAAEgB,WAAY;QACjBL,KAAK,EAAE,CAACA,KAAK,EAAEM,gBAAgB,CAAE;QACjCH,OAAO,EAAEK,oBAAqB;QAC9Bf,QAAQ,EAAEpB,OAAO,CAACoC,mBAAmB,CAAE;QACvCC,WAAW,EAAE,CAACT,cAAe;QAAAL,QAAA,EAE5BA;MAAQ,CACS;IACnB,CACsB,CAAC;EAE3B,CAAC,CAAC;EAEF,IAAIZ,YAAY,EAAE;IACjB,oBAAOd,IAAI,CAACiB,eAAe,CAAC;EAM7B;EAEA,oBAAOjB,IAAI,CAAC4B,KAAK,CAAC;AAMnB","ignoreList":[]}
@@ -13,7 +13,7 @@ import { GestureStore } from "../../stores/gesture.store";
13
13
  import { computeStackProgress } from "../../utils/animation/compute-stack-progress";
14
14
  import { derivations } from "../../utils/animation/derivations";
15
15
  import { createBounds } from "../../utils/bounds";
16
- const createScreenTransitionState = route => ({
16
+ const createScreenTransitionState = (route, meta) => ({
17
17
  progress: 0,
18
18
  closing: 0,
19
19
  animating: 0,
@@ -26,7 +26,8 @@ const createScreenTransitionState = route => ({
26
26
  isDragging: 0,
27
27
  direction: null
28
28
  },
29
- route
29
+ route,
30
+ meta
30
31
  });
31
32
  const unwrapInto = s => {
32
33
  "worklet";
@@ -42,10 +43,12 @@ const unwrapInto = s => {
42
43
  out.gesture.isDismissing = s.gesture.isDismissing.value;
43
44
  out.gesture.isDragging = s.gesture.isDragging.value;
44
45
  out.gesture.direction = s.gesture.direction.value;
46
+ out.meta = s.meta;
45
47
  return out;
46
48
  };
47
49
  const useBuildScreenTransitionState = descriptor => {
48
50
  const key = descriptor?.route.key;
51
+ const meta = descriptor?.options?.meta;
49
52
  return useMemo(() => {
50
53
  if (!key) return undefined;
51
54
  return {
@@ -54,9 +57,10 @@ const useBuildScreenTransitionState = descriptor => {
54
57
  animating: AnimationStore.getAnimation(key, "animating"),
55
58
  gesture: GestureStore.getRouteGestures(key),
56
59
  route: descriptor.route,
57
- unwrapped: createScreenTransitionState(descriptor.route)
60
+ meta,
61
+ unwrapped: createScreenTransitionState(descriptor.route, meta)
58
62
  };
59
- }, [key, descriptor?.route]);
63
+ }, [key, descriptor?.route, meta]);
60
64
  };
61
65
  const hasTransitionsEnabled = (options, alwaysOn) => {
62
66
  "worklet";
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","useWindowDimensions","useDerivedValue","useSafeAreaInsets","DEFAULT_SCREEN_TRANSITION_STATE","useFlagsContext","useKeys","useStackAnimationValues","AnimationStore","GestureStore","computeStackProgress","derivations","createBounds","createScreenTransitionState","route","progress","closing","animating","gesture","x","y","normalizedX","normalizedY","isDismissing","isDragging","direction","unwrapInto","s","out","unwrapped","value","useBuildScreenTransitionState","descriptor","key","undefined","getAnimation","getRouteGestures","hasTransitionsEnabled","options","alwaysOn","enableTransitions","_useScreenAnimation","dimensions","insets","flags","transitionsAlwaysOn","TRANSITIONS_ALWAYS_ON","current","currentDescriptor","next","nextDescriptor","previous","previousDescriptor","currentAnimation","nextAnimation","prevAnimation","currentRouteKey","stackAnimationValues","screenInterpolatorProps","helpers","stackProgress","layouts","screen","nextInterpolator","screenStyleInterpolator","currentInterpolator","useScreenAnimation","props","bounds"],"sourceRoot":"../../../../../src","sources":["shared/hooks/animation/use-screen-animation.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","useWindowDimensions","useDerivedValue","useSafeAreaInsets","DEFAULT_SCREEN_TRANSITION_STATE","useFlagsContext","useKeys","useStackAnimationValues","AnimationStore","GestureStore","computeStackProgress","derivations","createBounds","createScreenTransitionState","route","meta","progress","closing","animating","gesture","x","y","normalizedX","normalizedY","isDismissing","isDragging","direction","unwrapInto","s","out","unwrapped","value","useBuildScreenTransitionState","descriptor","key","options","undefined","getAnimation","getRouteGestures","hasTransitionsEnabled","alwaysOn","enableTransitions","_useScreenAnimation","dimensions","insets","flags","transitionsAlwaysOn","TRANSITIONS_ALWAYS_ON","current","currentDescriptor","next","nextDescriptor","previous","previousDescriptor","currentAnimation","nextAnimation","prevAnimation","currentRouteKey","stackAnimationValues","screenInterpolatorProps","helpers","stackProgress","layouts","screen","nextInterpolator","screenStyleInterpolator","currentInterpolator","useScreenAnimation","props","bounds"],"sourceRoot":"../../../../../src","sources":["shared/hooks/animation/use-screen-animation.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import { StackActions } from "@react-navigation/native";
4
- import { useCallback, useMemo } from "react";
4
+ import { useCallback, useMemo, useRef } from "react";
5
5
  import { useWindowDimensions } from "react-native";
6
6
  import { Gesture } from "react-native-gesture-handler";
7
7
  import { useSharedValue } from "react-native-reanimated";
@@ -30,6 +30,9 @@ export const useBuildGestures = ({
30
30
  y: 0
31
31
  });
32
32
  const gestureOffsetState = useSharedValue(GestureOffsetState.PENDING);
33
+
34
+ // Ref for external gesture coordination (e.g., swipeable lists)
35
+ const panGestureRef = useRef(undefined);
33
36
  const gestureAnimationValues = GestureStore.getRouteGestures(current.route.key);
34
37
  const animations = AnimationStore.getAll(current.route.key);
35
38
  const {
@@ -229,16 +232,37 @@ export const useBuildGestures = ({
229
232
  initialVelocity
230
233
  });
231
234
  });
235
+
236
+ // Memoize gestures to keep stable references - critical for RNGH
237
+ // Child gestures reference ancestor's pan via requireExternalGestureToFail,
238
+ // so the pan gesture MUST be stable or children will reference stale objects
232
239
  return useMemo(() => {
233
- const nativeGesture = Gesture.Native();
234
- const panGesture = Gesture.Pan().enabled(gestureEnabled).manualActivation(true).onTouchesDown(onTouchesDown).onTouchesMove(onTouchesMove).onStart(onStart).onUpdate(onUpdate).onEnd(onEnd).blocksExternalGesture(nativeGesture);
240
+ const panGesture = Gesture.Pan().withRef(panGestureRef).enabled(gestureEnabled).manualActivation(true).onTouchesDown(onTouchesDown).onTouchesMove(onTouchesMove).onStart(onStart).onUpdate(onUpdate).onEnd(onEnd);
235
241
 
236
- // Allow ancestors to block child native gestures
237
- if (ancestorContext?.panGesture && nativeGesture) {
238
- ancestorContext.panGesture.blocksExternalGesture(nativeGesture);
242
+ // Native gesture setup depends on whether this screen has gestures
243
+ let nativeGesture;
244
+ if (gestureEnabled) {
245
+ // This screen has gestures - set up normal pan/native relationship
246
+ nativeGesture = Gesture.Native().requireExternalGestureToFail(panGesture);
247
+ panGesture.blocksExternalGesture(nativeGesture);
248
+ } else {
249
+ // This screen has no gestures
250
+ // Find nearest ancestor with gestureEnabled=true (attached pan)
251
+ let activePanAncestor = ancestorContext;
252
+ while (activePanAncestor && !activePanAncestor.gestureEnabled) {
253
+ activePanAncestor = activePanAncestor.ancestorContext;
254
+ }
255
+ if (activePanAncestor?.panGesture) {
256
+ // Found an ancestor with enabled pan - wait for it
257
+ nativeGesture = Gesture.Native().requireExternalGestureToFail(activePanAncestor.panGesture);
258
+ } else {
259
+ // No ancestor with enabled pan - plain native
260
+ nativeGesture = Gesture.Native();
261
+ }
239
262
  }
240
263
  return {
241
264
  panGesture,
265
+ panGestureRef,
242
266
  nativeGesture,
243
267
  gestureAnimationValues
244
268
  };
@@ -1 +1 @@
1
- {"version":3,"names":["StackActions","useCallback","useMemo","useWindowDimensions","Gesture","useSharedValue","DEFAULT_GESTURE_ACTIVATION_AREA","DEFAULT_GESTURE_DIRECTION","DEFAULT_GESTURE_DRIVES_PROGRESS","DEFAULT_GESTURE_ENABLED","GESTURE_VELOCITY_IMPACT","useKeys","AnimationStore","GestureStore","GestureOffsetState","startScreenTransition","applyOffsetRules","determineDismissal","mapGestureToProgress","resetGestureValues","velocity","useStableCallbackValue","useBuildGestures","scrollConfig","ancestorContext","dimensions","current","initialTouch","x","y","gestureOffsetState","PENDING","gestureAnimationValues","getRouteGestures","route","key","animations","getAll","gestureDirection","gestureEnabled","gestureVelocityImpact","gestureDrivesProgress","gestureActivationArea","gestureResponseDistance","transitionSpec","options","directions","directionsArray","Array","isArray","isBidirectional","includes","vertical","verticalInverted","horizontal","horizontalInverted","handleDismiss","isDismissing","value","state","navigation","getState","routeStillPresent","routes","some","dispatch","pop","source","target","onTouchesDown","e","firstTouch","changedTouches","onTouchesMove","manager","FAILED","fail","touch","isSwipingDown","isSwipingUp","isSwipingRight","isSwipingLeft","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","progress","onEnd","shouldDismiss","spec","close","open","gestures","initialVelocity","calculateProgressVelocity","onAnimationFinish","undefined","nativeGesture","Native","panGesture","Pan","enabled","manualActivation","blocksExternalGesture"],"sourceRoot":"../../../../../src","sources":["shared/hooks/gestures/use-build-gestures.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["StackActions","useCallback","useMemo","useRef","useWindowDimensions","Gesture","useSharedValue","DEFAULT_GESTURE_ACTIVATION_AREA","DEFAULT_GESTURE_DIRECTION","DEFAULT_GESTURE_DRIVES_PROGRESS","DEFAULT_GESTURE_ENABLED","GESTURE_VELOCITY_IMPACT","useKeys","AnimationStore","GestureStore","GestureOffsetState","startScreenTransition","applyOffsetRules","determineDismissal","mapGestureToProgress","resetGestureValues","velocity","useStableCallbackValue","useBuildGestures","scrollConfig","ancestorContext","dimensions","current","initialTouch","x","y","gestureOffsetState","PENDING","panGestureRef","undefined","gestureAnimationValues","getRouteGestures","route","key","animations","getAll","gestureDirection","gestureEnabled","gestureVelocityImpact","gestureDrivesProgress","gestureActivationArea","gestureResponseDistance","transitionSpec","options","directions","directionsArray","Array","isArray","isBidirectional","includes","vertical","verticalInverted","horizontal","horizontalInverted","handleDismiss","isDismissing","value","state","navigation","getState","routeStillPresent","routes","some","dispatch","pop","source","target","onTouchesDown","e","firstTouch","changedTouches","onTouchesMove","manager","FAILED","fail","touch","isSwipingDown","isSwipingUp","isSwipingRight","isSwipingLeft","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","progress","onEnd","shouldDismiss","spec","close","open","gestures","initialVelocity","calculateProgressVelocity","onAnimationFinish","panGesture","Pan","withRef","enabled","manualActivation","nativeGesture","Native","requireExternalGestureToFail","blocksExternalGesture","activePanAncestor"],"sourceRoot":"../../../../../src","sources":["shared/hooks/gestures/use-build-gestures.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ import { useGestureContext } from "../../providers/gestures.provider";
4
+
5
+ /**
6
+ * Returns a ref to the screen's navigation pan gesture.
7
+ * Use this to coordinate child gestures with the navigation gesture.
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * const screenGesture = useScreenGesture();
12
+ *
13
+ * const myPanGesture = Gesture.Pan()
14
+ * .waitFor(screenGesture) // Wait for navigation gesture to fail first
15
+ * .onUpdate(...);
16
+ * ```
17
+ */
18
+ export const useScreenGesture = () => {
19
+ const ctx = useGestureContext();
20
+ return ctx?.panGestureRef ?? null;
21
+ };
22
+ //# sourceMappingURL=use-screen-gesture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useGestureContext","useScreenGesture","ctx","panGestureRef"],"sourceRoot":"../../../../../src","sources":["shared/hooks/gestures/use-screen-gesture.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,mCAAmC;;AAErE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;EACrC,MAAMC,GAAG,GAAGF,iBAAiB,CAAC,CAAC;EAC/B,OAAOE,GAAG,EAAEC,aAAa,IAAI,IAAI;AAClC,CAAC","ignoreList":[]}
@@ -1,17 +1,32 @@
1
1
  "use strict";
2
2
 
3
+ /** biome-ignore-all lint/style/noNonNullAssertion: <Will always consume context from GestureProvider> */
4
+
5
+ import { useMemo } from "react";
3
6
  import { useAnimatedScrollHandler } from "react-native-reanimated";
4
7
  import { useGestureContext } from "../../providers/gestures.provider";
5
8
  import useStableCallback from "../use-stable-callback";
6
9
  export const useScrollRegistry = props => {
10
+ const context = useGestureContext();
7
11
  const {
8
12
  scrollConfig,
9
13
  ancestorContext
10
- } = useGestureContext();
14
+ } = context;
15
+ const ancestorScrollConfigs = useMemo(() => {
16
+ const configs = [];
17
+ let current = ancestorContext;
18
+ while (current) {
19
+ if (current.scrollConfig) {
20
+ configs.push(current.scrollConfig);
21
+ }
22
+ current = current.ancestorContext;
23
+ }
24
+ return configs;
25
+ }, [ancestorContext]);
11
26
  const scrollHandler = useAnimatedScrollHandler({
12
27
  onScroll: event => {
13
28
  props.onScroll?.(event);
14
- scrollConfig.modify(v => {
29
+ const updateScrollPosition = v => {
15
30
  "worklet";
16
31
 
17
32
  if (v === null) {
@@ -27,31 +42,18 @@ export const useScrollRegistry = props => {
27
42
  v.x = event.contentOffset.x;
28
43
  v.y = event.contentOffset.y;
29
44
  return v;
30
- });
31
- if (ancestorContext?.scrollConfig) {
32
- ancestorContext.scrollConfig.modify(v => {
33
- "worklet";
45
+ };
46
+ scrollConfig.modify(updateScrollPosition);
34
47
 
35
- if (v === null) {
36
- return {
37
- x: event.contentOffset.x,
38
- y: event.contentOffset.y,
39
- contentHeight: 0,
40
- contentWidth: 0,
41
- layoutHeight: 0,
42
- layoutWidth: 0
43
- };
44
- }
45
- v.x = event.contentOffset.x;
46
- v.y = event.contentOffset.y;
47
- return v;
48
- });
48
+ // Sync to ALL ancestors, not just immediate parent
49
+ for (const ancestorConfig of ancestorScrollConfigs) {
50
+ ancestorConfig.modify(updateScrollPosition);
49
51
  }
50
52
  }
51
53
  });
52
54
  const onContentSizeChange = useStableCallback((width, height) => {
53
55
  props.onContentSizeChange?.(width, height);
54
- scrollConfig.modify(v => {
56
+ const updateContentSize = v => {
55
57
  "worklet";
56
58
 
57
59
  if (v === null) {
@@ -67,25 +69,10 @@ export const useScrollRegistry = props => {
67
69
  v.contentWidth = width;
68
70
  v.contentHeight = height;
69
71
  return v;
70
- });
71
- if (ancestorContext?.scrollConfig) {
72
- ancestorContext.scrollConfig.modify(v => {
73
- "worklet";
74
-
75
- if (v === null) {
76
- return {
77
- x: 0,
78
- y: 0,
79
- layoutHeight: 0,
80
- layoutWidth: 0,
81
- contentWidth: width,
82
- contentHeight: height
83
- };
84
- }
85
- v.contentWidth = width;
86
- v.contentHeight = height;
87
- return v;
88
- });
72
+ };
73
+ scrollConfig.modify(updateContentSize);
74
+ for (const ancestorConfig of ancestorScrollConfigs) {
75
+ ancestorConfig.modify(updateContentSize);
89
76
  }
90
77
  });
91
78
  const onLayout = useStableCallback(event => {
@@ -94,7 +81,7 @@ export const useScrollRegistry = props => {
94
81
  width,
95
82
  height
96
83
  } = event.nativeEvent.layout;
97
- scrollConfig.modify(v => {
84
+ const updateLayout = v => {
98
85
  "worklet";
99
86
 
100
87
  if (v === null) {
@@ -110,25 +97,10 @@ export const useScrollRegistry = props => {
110
97
  v.layoutHeight = height;
111
98
  v.layoutWidth = width;
112
99
  return v;
113
- });
114
- if (ancestorContext?.scrollConfig) {
115
- ancestorContext.scrollConfig.modify(v => {
116
- "worklet";
117
-
118
- if (v === null) {
119
- return {
120
- x: 0,
121
- y: 0,
122
- contentHeight: 0,
123
- contentWidth: 0,
124
- layoutHeight: height,
125
- layoutWidth: width
126
- };
127
- }
128
- v.layoutHeight = height;
129
- v.layoutWidth = width;
130
- return v;
131
- });
100
+ };
101
+ scrollConfig.modify(updateLayout);
102
+ for (const ancestorConfig of ancestorScrollConfigs) {
103
+ ancestorConfig.modify(updateLayout);
132
104
  }
133
105
  });
134
106
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["useAnimatedScrollHandler","useGestureContext","useStableCallback","useScrollRegistry","props","scrollConfig","ancestorContext","scrollHandler","onScroll","event","modify","v","x","contentOffset","y","contentHeight","contentWidth","layoutHeight","layoutWidth","onContentSizeChange","width","height","onLayout","nativeEvent","layout"],"sourceRoot":"../../../../../src","sources":["shared/hooks/gestures/use-scroll-registry.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","useAnimatedScrollHandler","useGestureContext","useStableCallback","useScrollRegistry","props","context","scrollConfig","ancestorContext","ancestorScrollConfigs","configs","current","push","scrollHandler","onScroll","event","updateScrollPosition","v","x","contentOffset","y","contentHeight","contentWidth","layoutHeight","layoutWidth","modify","ancestorConfig","onContentSizeChange","width","height","updateContentSize","onLayout","nativeEvent","layout","updateLayout"],"sourceRoot":"../../../../../src","sources":["shared/hooks/gestures/use-scroll-registry.tsx"],"mappings":"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","ignoreList":[]}
@@ -19,4 +19,5 @@ export default {
19
19
  Specs
20
20
  };
21
21
  export { useScreenAnimation } from "./hooks/animation/use-screen-animation";
22
+ export { useScreenGesture } from "./hooks/gestures/use-screen-gesture";
22
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["FlatList","Pressable","ScrollView","View","createTransitionAwareComponent","MaskedView","Presets","Specs","isScrollable","useScreenAnimation"],"sourceRoot":"../../../src","sources":["shared/index.ts"],"mappings":";;AAAA,SAASA,QAAQ,EAAEC,SAAS,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AACpE,SAASC,8BAA8B,QAAQ,gDAAgD;AAC/F,OAAOC,UAAU,MAAM,uCAAuC;AAC9D,SAASC,OAAO,EAAEC,KAAK,QAAQ,WAAW;AAE1C,eAAe;EACdH,8BAA8B;EAC9BD,IAAI,EAAEC,8BAA8B,CAACD,IAAI,CAAC;EAC1CF,SAAS,EAAEG,8BAA8B,CAACH,SAAS,CAAC;EACpDC,UAAU,EAAEE,8BAA8B,CAACF,UAAU,EAAE;IACtDM,YAAY,EAAE;EACf,CAAC,CAAC;EACFR,QAAQ,EAAEI,8BAA8B,CAACJ,QAAQ,EAAE;IAClDQ,YAAY,EAAE;EACf,CAAC,CAAC;EACFH,UAAU,EAAEA,UAAU;EACtBC,OAAO;EACPC;AACD,CAAC;AAED,SAASE,kBAAkB,QAAQ,wCAAwC","ignoreList":[]}
1
+ {"version":3,"names":["FlatList","Pressable","ScrollView","View","createTransitionAwareComponent","MaskedView","Presets","Specs","isScrollable","useScreenAnimation","useScreenGesture"],"sourceRoot":"../../../src","sources":["shared/index.ts"],"mappings":";;AAAA,SAASA,QAAQ,EAAEC,SAAS,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AACpE,SAASC,8BAA8B,QAAQ,gDAAgD;AAC/F,OAAOC,UAAU,MAAM,uCAAuC;AAC9D,SAASC,OAAO,EAAEC,KAAK,QAAQ,WAAW;AAE1C,eAAe;EACdH,8BAA8B;EAC9BD,IAAI,EAAEC,8BAA8B,CAACD,IAAI,CAAC;EAC1CF,SAAS,EAAEG,8BAA8B,CAACH,SAAS,CAAC;EACpDC,UAAU,EAAEE,8BAA8B,CAACF,UAAU,EAAE;IACtDM,YAAY,EAAE;EACf,CAAC,CAAC;EACFR,QAAQ,EAAEI,8BAA8B,CAACJ,QAAQ,EAAE;IAClDQ,YAAY,EAAE;EACf,CAAC,CAAC;EACFH,UAAU,EAAEA,UAAU;EACtBC,OAAO;EACPC;AACD,CAAC;AAED,SAASE,kBAAkB,QAAQ,wCAAwC;AAC3E,SAASC,gBAAgB,QAAQ,qCAAqC","ignoreList":[]}
@@ -1,19 +1,12 @@
1
1
  "use strict";
2
2
 
3
- import { useMemo } from "react";
4
3
  import { StyleSheet, View } from "react-native";
5
- import { Gesture, GestureDetector } from "react-native-gesture-handler";
4
+ import { GestureDetector } from "react-native-gesture-handler";
6
5
  import { useSharedValue } from "react-native-reanimated";
7
6
  import { useBuildGestures } from "../hooks/gestures/use-build-gestures";
8
7
  import createProvider from "../utils/create-provider";
9
8
  import { useKeys } from "./keys.provider";
10
9
  import { jsx as _jsx } from "react/jsx-runtime";
11
- /**
12
- * Provider that creates gesture handling for a screen.
13
- * If the current screen doesn't have gestures enabled but an ancestor does,
14
- * we pass through the ancestor's context so scrollable children can coordinate
15
- * with the ancestor's gestures.
16
- */
17
10
  export const {
18
11
  ScreenGestureProvider,
19
12
  useScreenGestureContext: useGestureContext
@@ -22,37 +15,34 @@ export const {
22
15
  })(({
23
16
  children
24
17
  }) => {
25
- const ancestorContext = useGestureContext();
26
18
  const {
27
19
  current
28
20
  } = useKeys();
21
+ const ancestorContext = useGestureContext();
29
22
  const scrollConfig = useSharedValue(null);
30
- const hasOwnGestures = current.options.gestureEnabled === true;
31
- const shouldPassthrough = !hasOwnGestures && !!ancestorContext;
23
+ const hasGestures = current.options.gestureEnabled === true;
32
24
  const {
33
25
  panGesture,
26
+ panGestureRef,
34
27
  nativeGesture,
35
28
  gestureAnimationValues
36
29
  } = useBuildGestures({
37
30
  scrollConfig,
38
31
  ancestorContext
39
32
  });
40
- const value = shouldPassthrough ? ancestorContext : {
33
+ const value = {
41
34
  panGesture,
35
+ panGestureRef,
42
36
  scrollConfig,
43
37
  nativeGesture,
44
38
  gestureAnimationValues,
45
- ancestorContext
39
+ ancestorContext,
40
+ gestureEnabled: hasGestures
46
41
  };
47
-
48
- // When passing through, use a no-op gesture to avoid conflicts.
49
- // Attaching the same gesture to multiple GestureDetectors causes issues.
50
- const noOpGesture = useMemo(() => Gesture.Pan().enabled(false), []);
51
- const activeGesture = shouldPassthrough ? noOpGesture : panGesture;
52
42
  return {
53
43
  value,
54
44
  children: /*#__PURE__*/_jsx(GestureDetector, {
55
- gesture: activeGesture,
45
+ gesture: panGesture,
56
46
  children: /*#__PURE__*/_jsx(View, {
57
47
  style: styles.container,
58
48
  children: children
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","StyleSheet","View","Gesture","GestureDetector","useSharedValue","useBuildGestures","createProvider","useKeys","jsx","_jsx","ScreenGestureProvider","useScreenGestureContext","useGestureContext","guarded","children","ancestorContext","current","scrollConfig","hasOwnGestures","options","gestureEnabled","shouldPassthrough","panGesture","nativeGesture","gestureAnimationValues","value","noOpGesture","Pan","enabled","activeGesture","gesture","style","styles","container","create","flex"],"sourceRoot":"../../../../src","sources":["shared/providers/gestures.provider.tsx"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SACCC,OAAO,EACPC,eAAe,QAET,8BAA8B;AAErC,SAASC,cAAc,QAAQ,yBAAyB;AACxD,SAASC,gBAAgB,QAAQ,sCAAsC;AAEvE,OAAOC,cAAc,MAAM,0BAA0B;AACrD,SAASC,OAAO,QAAQ,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAmB1C;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAM;EACZC,qBAAqB;EACrBC,uBAAuB,EAAEC;AAC1B,CAAC,GAAGN,cAAc,CAAC,eAAe,EAAE;EAAEO,OAAO,EAAE;AAAM,CAAC,CAAC,CAGrD,CAAC;EAAEC;AAAS,CAAC,KAAK;EACnB,MAAMC,eAAe,GAAGH,iBAAiB,CAAC,CAAC;EAC3C,MAAM;IAAEI;EAAQ,CAAC,GAAGT,OAAO,CAAC,CAAC;EAC7B,MAAMU,YAAY,GAAGb,cAAc,CAAsB,IAAI,CAAC;EAE9D,MAAMc,cAAc,GAAGF,OAAO,CAACG,OAAO,CAACC,cAAc,KAAK,IAAI;EAC9D,MAAMC,iBAAiB,GAAG,CAACH,cAAc,IAAI,CAAC,CAACH,eAAe;EAE9D,MAAM;IAAEO,UAAU;IAAEC,aAAa;IAAEC;EAAuB,CAAC,GAC1DnB,gBAAgB,CAAC;IAChBY,YAAY;IACZF;EACD,CAAC,CAAC;EAEH,MAAMU,KAAyB,GAAGJ,iBAAiB,GAChDN,eAAe,GACf;IACAO,UAAU;IACVL,YAAY;IACZM,aAAa;IACbC,sBAAsB;IACtBT;EACD,CAAC;;EAEH;EACA;EACA,MAAMW,WAAW,GAAG3B,OAAO,CAAC,MAAMG,OAAO,CAACyB,GAAG,CAAC,CAAC,CAACC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;EACnE,MAAMC,aAAa,GAAGR,iBAAiB,GAAGK,WAAW,GAAGJ,UAAU;EAElE,OAAO;IACNG,KAAK;IACLX,QAAQ,eACPL,IAAA,CAACN,eAAe;MAAC2B,OAAO,EAAED,aAAc;MAAAf,QAAA,eACvCL,IAAA,CAACR,IAAI;QAAC8B,KAAK,EAAEC,MAAM,CAACC,SAAU;QAAAnB,QAAA,EAAEA;MAAQ,CAAO;IAAC,CAChC;EAEnB,CAAC;AACF,CAAC,CAAC;AAEF,MAAMkB,MAAM,GAAGhC,UAAU,CAACkC,MAAM,CAAC;EAChCD,SAAS,EAAE;IACVE,IAAI,EAAE;EACP;AACD,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["StyleSheet","View","GestureDetector","useSharedValue","useBuildGestures","createProvider","useKeys","jsx","_jsx","ScreenGestureProvider","useScreenGestureContext","useGestureContext","guarded","children","current","ancestorContext","scrollConfig","hasGestures","options","gestureEnabled","panGesture","panGestureRef","nativeGesture","gestureAnimationValues","value","gesture","style","styles","container","create","flex"],"sourceRoot":"../../../../src","sources":["shared/providers/gestures.provider.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SACCC,eAAe,QAET,8BAA8B;AAErC,SAASC,cAAc,QAAQ,yBAAyB;AACxD,SAASC,gBAAgB,QAAQ,sCAAsC;AAEvE,OAAOC,cAAc,MAAM,0BAA0B;AACrD,SAASC,OAAO,QAAQ,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAqB1C,OAAO,MAAM;EACZC,qBAAqB;EACrBC,uBAAuB,EAAEC;AAC1B,CAAC,GAAGN,cAAc,CAAC,eAAe,EAAE;EAAEO,OAAO,EAAE;AAAM,CAAC,CAAC,CAGrD,CAAC;EAAEC;AAAS,CAAC,KAAK;EACnB,MAAM;IAAEC;EAAQ,CAAC,GAAGR,OAAO,CAAC,CAAC;EAC7B,MAAMS,eAAe,GAAGJ,iBAAiB,CAAC,CAAC;EAC3C,MAAMK,YAAY,GAAGb,cAAc,CAAsB,IAAI,CAAC;EAE9D,MAAMc,WAAW,GAAGH,OAAO,CAACI,OAAO,CAACC,cAAc,KAAK,IAAI;EAE3D,MAAM;IAAEC,UAAU;IAAEC,aAAa;IAAEC,aAAa;IAAEC;EAAuB,CAAC,GACzEnB,gBAAgB,CAAC;IAChBY,YAAY;IACZD;EACD,CAAC,CAAC;EAEH,MAAMS,KAAyB,GAAG;IACjCJ,UAAU;IACVC,aAAa;IACbL,YAAY;IACZM,aAAa;IACbC,sBAAsB;IACtBR,eAAe;IACfI,cAAc,EAAEF;EACjB,CAAC;EAED,OAAO;IACNO,KAAK;IACLX,QAAQ,eACPL,IAAA,CAACN,eAAe;MAACuB,OAAO,EAAEL,UAAW;MAAAP,QAAA,eACpCL,IAAA,CAACP,IAAI;QAACyB,KAAK,EAAEC,MAAM,CAACC,SAAU;QAAAf,QAAA,EAAEA;MAAQ,CAAO;IAAC,CAChC;EAEnB,CAAC;AACF,CAAC,CAAC;AAEF,MAAMc,MAAM,GAAG3B,UAAU,CAAC6B,MAAM,CAAC;EAChCD,SAAS,EAAE;IACVE,IAAI,EAAE;EACP;AACD,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ import { interpolate } from "react-native-reanimated";
4
+ import { ENTER_RANGE, EXIT_RANGE } from "../../../constants";
5
+ /**
6
+ * Interpolates a numeric style property between source and destination bounds.
7
+ *
8
+ * @param link - The bounds link containing source and destination styles
9
+ * @param property - The style property to interpolate (e.g., "borderRadius", "opacity")
10
+ * @param progress - Animation progress value
11
+ * @param entering - Whether the screen is entering (focused) or exiting (unfocused)
12
+ * @param options - Optional configuration
13
+ * @returns The interpolated value
14
+ */
15
+ export function interpolateLinkStyle(link, property, progress, entering, options = {}) {
16
+ "worklet";
17
+
18
+ const {
19
+ fallback = 0
20
+ } = options;
21
+ const sourceValue = link?.source?.styles?.[property] ?? fallback;
22
+ const destValue = link?.destination?.styles?.[property] ?? fallback;
23
+ const range = entering ? ENTER_RANGE : EXIT_RANGE;
24
+ return interpolate(progress, range, [sourceValue, destValue], "clamp");
25
+ }
26
+ //# sourceMappingURL=interpolate-style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["interpolate","ENTER_RANGE","EXIT_RANGE","interpolateLinkStyle","link","property","progress","entering","options","fallback","sourceValue","source","styles","destValue","destination","range"],"sourceRoot":"../../../../../../src","sources":["shared/utils/bounds/helpers/interpolate-style.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,yBAAyB;AACrD,SAASC,WAAW,EAAEC,UAAU,QAAQ,oBAAoB;AAO5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,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,GAAGN,WAAW,GAAGC,UAAU;EAEjD,OAAOF,WAAW,CAACM,QAAQ,EAAES,KAAK,EAAE,CAACL,WAAW,EAAEG,SAAS,CAAC,EAAE,OAAO,CAAC;AACvE","ignoreList":[]}
@@ -3,6 +3,7 @@
3
3
  import { EMPTY_BOUND_HELPER_RESULT, EMPTY_BOUND_HELPER_RESULT_RAW, ENTER_RANGE, EXIT_RANGE, FULLSCREEN_DIMENSIONS } from "../../constants";
4
4
  import { BoundStore } from "../../stores/bounds.store";
5
5
  import { computeContentTransformGeometry, computeRelativeGeometry } from "./helpers/geometry";
6
+ import { interpolateLinkStyle } from "./helpers/interpolate-style";
6
7
  import { composeContentStyle, composeSizeAbsolute, composeSizeRelative, composeTransformAbsolute, composeTransformRelative } from "./helpers/style-composers";
7
8
  const resolveBounds = props => {
8
9
  "worklet";
@@ -149,8 +150,35 @@ export const createBounds = props => {
149
150
 
150
151
  return BoundStore.getSnapshot(tag, key);
151
152
  };
153
+ const getLink = tag => {
154
+ "worklet";
155
+
156
+ const link = BoundStore.getActiveLink(tag, props.current?.route.key);
157
+ if (!link) return null;
158
+ return {
159
+ source: link.source ? {
160
+ bounds: link.source.bounds,
161
+ styles: link.source.styles
162
+ } : null,
163
+ destination: link.destination ? {
164
+ bounds: link.destination.bounds,
165
+ styles: link.destination.styles
166
+ } : null
167
+ };
168
+ };
169
+ const interpolateStyle = (tag, property, fallback) => {
170
+ "worklet";
171
+
172
+ const link = getLink(tag);
173
+ const entering = !props.next;
174
+ return interpolateLinkStyle(link, property, props.progress, entering, {
175
+ fallback
176
+ });
177
+ };
152
178
  return Object.assign(boundsFunction, {
153
- getSnapshot
179
+ getSnapshot,
180
+ getLink,
181
+ interpolateStyle
154
182
  });
155
183
  };
156
184
  //# sourceMappingURL=index.js.map