react-native-screen-transitions 3.0.0-rc.2 → 3.0.0-rc.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. package/README.md +421 -371
  2. package/lib/commonjs/blank-stack/components/{Overlay.js → overlay.js} +7 -5
  3. package/lib/commonjs/blank-stack/components/overlay.js.map +1 -0
  4. package/lib/commonjs/blank-stack/components/{Screens.js → screens.js} +20 -17
  5. package/lib/commonjs/blank-stack/components/screens.js.map +1 -0
  6. package/lib/commonjs/blank-stack/components/stack-view.js +101 -0
  7. package/lib/commonjs/blank-stack/components/stack-view.js.map +1 -0
  8. package/lib/commonjs/blank-stack/index.js +1 -8
  9. package/lib/commonjs/blank-stack/index.js.map +1 -1
  10. package/lib/commonjs/blank-stack/navigators/{createBlankStackNavigator.js → create-blank-stack-navigator.js} +3 -3
  11. package/lib/commonjs/blank-stack/navigators/create-blank-stack-navigator.js.map +1 -0
  12. package/lib/commonjs/blank-stack/utils/with-stack-navigation/helpers/compose-descriptors.js +1 -11
  13. package/lib/commonjs/blank-stack/utils/with-stack-navigation/helpers/compose-descriptors.js.map +1 -1
  14. package/lib/commonjs/blank-stack/utils/with-stack-navigation/hooks/use-closing-route-keys.js +1 -12
  15. package/lib/commonjs/blank-stack/utils/with-stack-navigation/hooks/use-closing-route-keys.js.map +1 -1
  16. package/lib/commonjs/blank-stack/utils/with-stack-navigation/hooks/use-stack-navigation-state.js.map +1 -1
  17. package/lib/commonjs/blank-stack/utils/with-stack-navigation/index.js +49 -55
  18. package/lib/commonjs/blank-stack/utils/with-stack-navigation/index.js.map +1 -1
  19. package/lib/commonjs/blank-stack/utils/with-stack-navigation/{_types.js → types.js} +1 -1
  20. package/lib/commonjs/blank-stack/utils/with-stack-navigation/types.js.map +1 -0
  21. package/lib/commonjs/native-stack/views/NativeStackView.native.js +110 -103
  22. package/lib/commonjs/native-stack/views/NativeStackView.native.js.map +1 -1
  23. package/lib/commonjs/shared/components/controllers/blank-stack-lifecycle.js +72 -0
  24. package/lib/commonjs/shared/components/controllers/blank-stack-lifecycle.js.map +1 -0
  25. package/lib/commonjs/shared/components/controllers/native-stack-lifecycle.js +79 -0
  26. package/lib/commonjs/shared/components/controllers/native-stack-lifecycle.js.map +1 -0
  27. package/lib/commonjs/shared/hooks/animation/use-screen-animation.js +49 -23
  28. package/lib/commonjs/shared/hooks/animation/use-screen-animation.js.map +1 -1
  29. package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js +11 -6
  30. package/lib/commonjs/shared/hooks/gestures/use-build-gestures.js.map +1 -1
  31. package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js +7 -7
  32. package/lib/commonjs/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
  33. package/lib/commonjs/shared/providers/flags.provider.js +25 -0
  34. package/lib/commonjs/shared/providers/flags.provider.js.map +1 -0
  35. package/lib/commonjs/shared/providers/gestures.provider.js +32 -5
  36. package/lib/commonjs/shared/providers/gestures.provider.js.map +1 -1
  37. package/lib/commonjs/shared/providers/register-bounds.provider.js +72 -45
  38. package/lib/commonjs/shared/providers/register-bounds.provider.js.map +1 -1
  39. package/lib/commonjs/shared/providers/routes.provider.js +48 -0
  40. package/lib/commonjs/shared/providers/routes.provider.js.map +1 -0
  41. package/lib/commonjs/shared/providers/screen-transition.provider.js.map +1 -1
  42. package/lib/commonjs/shared/stores/bounds.store.js +91 -47
  43. package/lib/commonjs/shared/stores/bounds.store.js.map +1 -1
  44. package/lib/commonjs/shared/types/state.types.js +9 -0
  45. package/lib/commonjs/shared/types/state.types.js.map +1 -0
  46. package/lib/commonjs/shared/utils/animation/compute-stack-progress.js +20 -0
  47. package/lib/commonjs/shared/utils/animation/compute-stack-progress.js.map +1 -0
  48. package/lib/commonjs/shared/utils/animation/derivations.js +1 -1
  49. package/lib/commonjs/shared/utils/animation/start-screen-transition.js +11 -11
  50. package/lib/commonjs/shared/utils/animation/start-screen-transition.js.map +1 -1
  51. package/lib/commonjs/shared/utils/bounds/helpers/is-bounds-equal.js +1 -1
  52. package/lib/commonjs/shared/utils/bounds/helpers/is-bounds-equal.js.map +1 -1
  53. package/lib/commonjs/shared/utils/bounds/index.js +4 -5
  54. package/lib/commonjs/shared/utils/bounds/index.js.map +1 -1
  55. package/lib/commonjs/shared/utils/create-provider.js +20 -1
  56. package/lib/commonjs/shared/utils/create-provider.js.map +1 -1
  57. package/lib/commonjs/shared/utils/reset-stores-for-screen.js +2 -0
  58. package/lib/commonjs/shared/utils/reset-stores-for-screen.js.map +1 -1
  59. package/lib/module/blank-stack/components/{Overlay.js → overlay.js} +7 -5
  60. package/lib/module/blank-stack/components/overlay.js.map +1 -0
  61. package/lib/module/blank-stack/components/screens.js +61 -0
  62. package/lib/module/blank-stack/components/screens.js.map +1 -0
  63. package/lib/module/blank-stack/components/stack-view.js +96 -0
  64. package/lib/module/blank-stack/components/stack-view.js.map +1 -0
  65. package/lib/module/blank-stack/index.js +1 -2
  66. package/lib/module/blank-stack/index.js.map +1 -1
  67. package/lib/module/blank-stack/navigators/{createBlankStackNavigator.js → create-blank-stack-navigator.js} +2 -2
  68. package/lib/module/blank-stack/navigators/create-blank-stack-navigator.js.map +1 -0
  69. package/lib/module/blank-stack/utils/with-stack-navigation/helpers/compose-descriptors.js +1 -11
  70. package/lib/module/blank-stack/utils/with-stack-navigation/helpers/compose-descriptors.js.map +1 -1
  71. package/lib/module/blank-stack/utils/with-stack-navigation/hooks/use-closing-route-keys.js +1 -12
  72. package/lib/module/blank-stack/utils/with-stack-navigation/hooks/use-closing-route-keys.js.map +1 -1
  73. package/lib/module/blank-stack/utils/with-stack-navigation/hooks/use-stack-navigation-state.js.map +1 -1
  74. package/lib/module/blank-stack/utils/with-stack-navigation/index.js +48 -54
  75. package/lib/module/blank-stack/utils/with-stack-navigation/index.js.map +1 -1
  76. package/lib/module/blank-stack/utils/with-stack-navigation/types.js +4 -0
  77. package/lib/module/blank-stack/utils/with-stack-navigation/types.js.map +1 -0
  78. package/lib/module/native-stack/views/NativeStackView.native.js +109 -102
  79. package/lib/module/native-stack/views/NativeStackView.native.js.map +1 -1
  80. package/lib/module/shared/components/controllers/blank-stack-lifecycle.js +66 -0
  81. package/lib/module/shared/components/controllers/blank-stack-lifecycle.js.map +1 -0
  82. package/lib/module/shared/components/controllers/native-stack-lifecycle.js +73 -0
  83. package/lib/module/shared/components/controllers/native-stack-lifecycle.js.map +1 -0
  84. package/lib/module/shared/hooks/animation/use-screen-animation.js +49 -23
  85. package/lib/module/shared/hooks/animation/use-screen-animation.js.map +1 -1
  86. package/lib/module/shared/hooks/gestures/use-build-gestures.js +11 -6
  87. package/lib/module/shared/hooks/gestures/use-build-gestures.js.map +1 -1
  88. package/lib/module/shared/hooks/gestures/use-scroll-registry.js +7 -7
  89. package/lib/module/shared/hooks/gestures/use-scroll-registry.js.map +1 -1
  90. package/lib/module/shared/providers/flags.provider.js +19 -0
  91. package/lib/module/shared/providers/flags.provider.js.map +1 -0
  92. package/lib/module/shared/providers/gestures.provider.js +31 -4
  93. package/lib/module/shared/providers/gestures.provider.js.map +1 -1
  94. package/lib/module/shared/providers/register-bounds.provider.js +72 -45
  95. package/lib/module/shared/providers/register-bounds.provider.js.map +1 -1
  96. package/lib/module/shared/providers/routes.provider.js +42 -0
  97. package/lib/module/shared/providers/routes.provider.js.map +1 -0
  98. package/lib/module/shared/providers/screen-transition.provider.js.map +1 -1
  99. package/lib/module/shared/stores/bounds.store.js +91 -47
  100. package/lib/module/shared/stores/bounds.store.js.map +1 -1
  101. package/lib/module/shared/types/state.types.js +5 -0
  102. package/lib/module/shared/types/state.types.js.map +1 -0
  103. package/lib/module/shared/utils/animation/compute-stack-progress.js +15 -0
  104. package/lib/module/shared/utils/animation/compute-stack-progress.js.map +1 -0
  105. package/lib/module/shared/utils/animation/derivations.js +1 -1
  106. package/lib/module/shared/utils/animation/start-screen-transition.js +11 -11
  107. package/lib/module/shared/utils/animation/start-screen-transition.js.map +1 -1
  108. package/lib/module/shared/utils/bounds/helpers/is-bounds-equal.js +1 -1
  109. package/lib/module/shared/utils/bounds/helpers/is-bounds-equal.js.map +1 -1
  110. package/lib/module/shared/utils/bounds/index.js +4 -5
  111. package/lib/module/shared/utils/bounds/index.js.map +1 -1
  112. package/lib/module/shared/utils/create-provider.js +20 -1
  113. package/lib/module/shared/utils/create-provider.js.map +1 -1
  114. package/lib/module/shared/utils/reset-stores-for-screen.js +2 -0
  115. package/lib/module/shared/utils/reset-stores-for-screen.js.map +1 -1
  116. package/lib/typescript/blank-stack/components/{Overlay.d.ts → overlay.d.ts} +1 -1
  117. package/lib/typescript/blank-stack/components/overlay.d.ts.map +1 -0
  118. package/lib/typescript/blank-stack/components/{Screens.d.ts → screens.d.ts} +1 -1
  119. package/lib/typescript/blank-stack/components/screens.d.ts.map +1 -0
  120. package/lib/typescript/blank-stack/components/stack-view.d.ts +3 -0
  121. package/lib/typescript/blank-stack/components/stack-view.d.ts.map +1 -0
  122. package/lib/typescript/blank-stack/index.d.ts +1 -2
  123. package/lib/typescript/blank-stack/index.d.ts.map +1 -1
  124. package/lib/typescript/blank-stack/navigators/{createBlankStackNavigator.d.ts → create-blank-stack-navigator.d.ts} +1 -1
  125. package/lib/typescript/blank-stack/navigators/create-blank-stack-navigator.d.ts.map +1 -0
  126. package/lib/typescript/blank-stack/types.d.ts +5 -39
  127. package/lib/typescript/blank-stack/types.d.ts.map +1 -1
  128. package/lib/typescript/blank-stack/utils/with-stack-navigation/helpers/compose-descriptors.d.ts.map +1 -1
  129. package/lib/typescript/blank-stack/utils/with-stack-navigation/hooks/use-closing-route-keys.d.ts.map +1 -1
  130. package/lib/typescript/blank-stack/utils/with-stack-navigation/hooks/use-stack-navigation-state.d.ts +1 -1
  131. package/lib/typescript/blank-stack/utils/with-stack-navigation/hooks/use-stack-navigation-state.d.ts.map +1 -1
  132. package/lib/typescript/blank-stack/utils/with-stack-navigation/index.d.ts +3 -5
  133. package/lib/typescript/blank-stack/utils/with-stack-navigation/index.d.ts.map +1 -1
  134. package/lib/typescript/blank-stack/utils/with-stack-navigation/{_types.d.ts → types.d.ts} +1 -1
  135. package/lib/typescript/blank-stack/utils/with-stack-navigation/types.d.ts.map +1 -0
  136. package/lib/typescript/native-stack/views/NativeStackView.native.d.ts.map +1 -1
  137. package/lib/typescript/shared/components/controllers/blank-stack-lifecycle.d.ts +8 -0
  138. package/lib/typescript/shared/components/controllers/blank-stack-lifecycle.d.ts.map +1 -0
  139. package/lib/typescript/shared/components/controllers/native-stack-lifecycle.d.ts +8 -0
  140. package/lib/typescript/shared/components/controllers/native-stack-lifecycle.d.ts.map +1 -0
  141. package/lib/typescript/shared/hooks/animation/use-screen-animation.d.ts.map +1 -1
  142. package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts +2 -2
  143. package/lib/typescript/shared/hooks/gestures/use-build-gestures.d.ts.map +1 -1
  144. package/lib/typescript/shared/index.d.ts +20 -20
  145. package/lib/typescript/shared/providers/flags.provider.d.ts +10 -0
  146. package/lib/typescript/shared/providers/flags.provider.d.ts.map +1 -0
  147. package/lib/typescript/shared/providers/gestures.provider.d.ts +8 -2
  148. package/lib/typescript/shared/providers/gestures.provider.d.ts.map +1 -1
  149. package/lib/typescript/shared/providers/register-bounds.provider.d.ts.map +1 -1
  150. package/lib/typescript/shared/providers/routes.provider.d.ts +19 -0
  151. package/lib/typescript/shared/providers/routes.provider.d.ts.map +1 -0
  152. package/lib/typescript/shared/providers/screen-transition.provider.d.ts +2 -2
  153. package/lib/typescript/shared/providers/screen-transition.provider.d.ts.map +1 -1
  154. package/lib/typescript/shared/stores/bounds.store.d.ts +23 -11
  155. package/lib/typescript/shared/stores/bounds.store.d.ts.map +1 -1
  156. package/lib/typescript/shared/types/animation.types.d.ts +12 -0
  157. package/lib/typescript/shared/types/animation.types.d.ts.map +1 -1
  158. package/lib/typescript/shared/types/bounds.types.d.ts +2 -2
  159. package/lib/typescript/shared/types/bounds.types.d.ts.map +1 -1
  160. package/lib/typescript/shared/types/state.types.d.ts +3 -0
  161. package/lib/typescript/shared/types/state.types.d.ts.map +1 -0
  162. package/lib/typescript/shared/utils/animation/compute-stack-progress.d.ts +3 -0
  163. package/lib/typescript/shared/utils/animation/compute-stack-progress.d.ts.map +1 -0
  164. package/lib/typescript/shared/utils/animation/start-screen-transition.d.ts.map +1 -1
  165. package/lib/typescript/shared/utils/bounds/index.d.ts.map +1 -1
  166. package/lib/typescript/shared/utils/create-provider.d.ts +2 -2
  167. package/lib/typescript/shared/utils/create-provider.d.ts.map +1 -1
  168. package/lib/typescript/shared/utils/reset-stores-for-screen.d.ts.map +1 -1
  169. package/package.json +2 -1
  170. package/src/blank-stack/components/{Overlay.tsx → overlay.tsx} +4 -3
  171. package/src/blank-stack/components/{Screens.tsx → screens.tsx} +24 -20
  172. package/src/blank-stack/components/stack-view.tsx +115 -0
  173. package/src/blank-stack/index.ts +1 -2
  174. package/src/blank-stack/navigators/{createBlankStackNavigator.tsx → create-blank-stack-navigator.tsx} +1 -1
  175. package/src/blank-stack/types.ts +6 -31
  176. package/src/blank-stack/utils/with-stack-navigation/helpers/compose-descriptors.ts +1 -8
  177. package/src/blank-stack/utils/with-stack-navigation/hooks/use-closing-route-keys.tsx +1 -12
  178. package/src/blank-stack/utils/with-stack-navigation/hooks/use-stack-navigation-state.tsx +1 -1
  179. package/src/blank-stack/utils/with-stack-navigation/index.tsx +42 -62
  180. package/src/native-stack/views/NativeStackView.native.tsx +121 -112
  181. package/src/shared/__tests__/bounds.store.test.ts +376 -167
  182. package/src/shared/__tests__/determine-dismissal.test.ts +2 -12
  183. package/src/shared/__tests__/geometry.test.ts +1 -1
  184. package/src/shared/__tests__/gesture.velocity.test.ts +2 -10
  185. package/src/shared/components/controllers/blank-stack-lifecycle.tsx +70 -0
  186. package/src/shared/components/controllers/native-stack-lifecycle.tsx +87 -0
  187. package/src/shared/hooks/animation/use-screen-animation.tsx +61 -30
  188. package/src/shared/hooks/gestures/use-build-gestures.tsx +16 -7
  189. package/src/shared/hooks/gestures/use-scroll-registry.tsx +7 -7
  190. package/src/shared/providers/flags.provider.tsx +21 -0
  191. package/src/shared/providers/gestures.provider.tsx +34 -5
  192. package/src/shared/providers/register-bounds.provider.tsx +86 -54
  193. package/src/shared/providers/routes.provider.tsx +54 -0
  194. package/src/shared/providers/screen-transition.provider.tsx +2 -2
  195. package/src/shared/stores/bounds.store.ts +90 -54
  196. package/src/shared/types/animation.types.ts +13 -0
  197. package/src/shared/types/bounds.types.ts +2 -2
  198. package/src/shared/types/state.types.ts +2 -0
  199. package/src/shared/utils/animation/compute-stack-progress.ts +16 -0
  200. package/src/shared/utils/animation/derivations.ts +1 -1
  201. package/src/shared/utils/animation/start-screen-transition.ts +13 -10
  202. package/src/shared/utils/bounds/helpers/is-bounds-equal.ts +1 -1
  203. package/src/shared/utils/bounds/index.ts +7 -10
  204. package/src/shared/utils/create-provider.tsx +35 -1
  205. package/src/shared/utils/reset-stores-for-screen.ts +2 -0
  206. package/lib/commonjs/blank-stack/components/Overlay.js.map +0 -1
  207. package/lib/commonjs/blank-stack/components/Screens.js.map +0 -1
  208. package/lib/commonjs/blank-stack/components/StackView.js +0 -93
  209. package/lib/commonjs/blank-stack/components/StackView.js.map +0 -1
  210. package/lib/commonjs/blank-stack/navigators/createBlankStackNavigator.js.map +0 -1
  211. package/lib/commonjs/blank-stack/utils/with-stack-navigation/_types.js.map +0 -1
  212. package/lib/commonjs/shared/components/controllers/screen-lifecycle.js +0 -142
  213. package/lib/commonjs/shared/components/controllers/screen-lifecycle.js.map +0 -1
  214. package/lib/commonjs/shared/hooks/gestures/use-parent-gesture-registry.js +0 -28
  215. package/lib/commonjs/shared/hooks/gestures/use-parent-gesture-registry.js.map +0 -1
  216. package/lib/module/blank-stack/components/Overlay.js.map +0 -1
  217. package/lib/module/blank-stack/components/Screens.js +0 -58
  218. package/lib/module/blank-stack/components/Screens.js.map +0 -1
  219. package/lib/module/blank-stack/components/StackView.js +0 -88
  220. package/lib/module/blank-stack/components/StackView.js.map +0 -1
  221. package/lib/module/blank-stack/navigators/createBlankStackNavigator.js.map +0 -1
  222. package/lib/module/blank-stack/utils/with-stack-navigation/_types.js +0 -4
  223. package/lib/module/blank-stack/utils/with-stack-navigation/_types.js.map +0 -1
  224. package/lib/module/shared/components/controllers/screen-lifecycle.js +0 -136
  225. package/lib/module/shared/components/controllers/screen-lifecycle.js.map +0 -1
  226. package/lib/module/shared/hooks/gestures/use-parent-gesture-registry.js +0 -23
  227. package/lib/module/shared/hooks/gestures/use-parent-gesture-registry.js.map +0 -1
  228. package/lib/typescript/blank-stack/components/Overlay.d.ts.map +0 -1
  229. package/lib/typescript/blank-stack/components/Screens.d.ts.map +0 -1
  230. package/lib/typescript/blank-stack/components/StackView.d.ts +0 -2
  231. package/lib/typescript/blank-stack/components/StackView.d.ts.map +0 -1
  232. package/lib/typescript/blank-stack/navigators/createBlankStackNavigator.d.ts.map +0 -1
  233. package/lib/typescript/blank-stack/utils/with-stack-navigation/_types.d.ts.map +0 -1
  234. package/lib/typescript/shared/components/controllers/screen-lifecycle.d.ts +0 -12
  235. package/lib/typescript/shared/components/controllers/screen-lifecycle.d.ts.map +0 -1
  236. package/lib/typescript/shared/hooks/gestures/use-parent-gesture-registry.d.ts +0 -6
  237. package/lib/typescript/shared/hooks/gestures/use-parent-gesture-registry.d.ts.map +0 -1
  238. package/src/blank-stack/components/StackView.tsx +0 -108
  239. package/src/shared/components/controllers/screen-lifecycle.tsx +0 -154
  240. package/src/shared/hooks/gestures/use-parent-gesture-registry.tsx +0 -18
  241. /package/src/blank-stack/utils/with-stack-navigation/{_types.ts → types.ts} +0 -0
@@ -19,7 +19,7 @@ import { velocity } from "../../utils/gesture/velocity";
19
19
  import useStableCallbackValue from "../use-stable-callback-value";
20
20
  export const useBuildGestures = ({
21
21
  scrollConfig,
22
- parentContext
22
+ ancestorContext
23
23
  }) => {
24
24
  const dimensions = useWindowDimensions();
25
25
  const {
@@ -53,8 +53,8 @@ export const useBuildGestures = ({
53
53
  }, [gestureDirection]);
54
54
  const handleDismiss = useCallback(() => {
55
55
  // If an ancestor navigator is already dismissing, skip this dismiss to
56
- // avoid racing with the parent
57
- if (parentContext?.gestureAnimationValues.isDismissing?.value) {
56
+ // avoid racing with the ancestor
57
+ if (ancestorContext?.gestureAnimationValues.isDismissing?.value) {
58
58
  return;
59
59
  }
60
60
  const state = current.navigation.getState();
@@ -67,7 +67,7 @@ export const useBuildGestures = ({
67
67
  source: current.route.key,
68
68
  target: state.key
69
69
  });
70
- }, [current, parentContext]);
70
+ }, [current, ancestorContext]);
71
71
  const onTouchesDown = useStableCallbackValue(e => {
72
72
  "worklet";
73
73
 
@@ -82,7 +82,7 @@ export const useBuildGestures = ({
82
82
  "worklet";
83
83
 
84
84
  // If an ancestor navigator is already dismissing via gesture, block new gestures here.
85
- if (parentContext?.gestureAnimationValues.isDismissing?.value) {
85
+ if (ancestorContext?.gestureAnimationValues.isDismissing?.value) {
86
86
  gestureOffsetState.value = GestureOffsetState.FAILED;
87
87
  manager.fail();
88
88
  return;
@@ -232,11 +232,16 @@ export const useBuildGestures = ({
232
232
  return useMemo(() => {
233
233
  const nativeGesture = Gesture.Native();
234
234
  const panGesture = Gesture.Pan().enabled(gestureEnabled).manualActivation(true).onTouchesDown(onTouchesDown).onTouchesMove(onTouchesMove).onStart(onStart).onUpdate(onUpdate).onEnd(onEnd).blocksExternalGesture(nativeGesture);
235
+
236
+ // Allow ancestors to block child native gestures
237
+ if (ancestorContext?.panGesture && nativeGesture) {
238
+ ancestorContext.panGesture.blocksExternalGesture(nativeGesture);
239
+ }
235
240
  return {
236
241
  panGesture,
237
242
  nativeGesture,
238
243
  gestureAnimationValues
239
244
  };
240
- }, [gestureEnabled, onTouchesDown, onTouchesMove, onStart, onUpdate, onEnd, gestureAnimationValues]);
245
+ }, [gestureEnabled, onTouchesDown, onTouchesMove, onStart, onUpdate, onEnd, gestureAnimationValues, ancestorContext]);
241
246
  };
242
247
  //# sourceMappingURL=use-build-gestures.js.map
@@ -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","parentContext","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","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":[]}
@@ -6,7 +6,7 @@ import useStableCallback from "../use-stable-callback";
6
6
  export const useScrollRegistry = props => {
7
7
  const {
8
8
  scrollConfig,
9
- parentContext
9
+ ancestorContext
10
10
  } = useGestureContext();
11
11
  const scrollHandler = useAnimatedScrollHandler({
12
12
  onScroll: event => {
@@ -28,8 +28,8 @@ export const useScrollRegistry = props => {
28
28
  v.y = event.contentOffset.y;
29
29
  return v;
30
30
  });
31
- if (parentContext?.scrollConfig) {
32
- parentContext.scrollConfig.modify(v => {
31
+ if (ancestorContext?.scrollConfig) {
32
+ ancestorContext.scrollConfig.modify(v => {
33
33
  "worklet";
34
34
 
35
35
  if (v === null) {
@@ -68,8 +68,8 @@ export const useScrollRegistry = props => {
68
68
  v.contentHeight = height;
69
69
  return v;
70
70
  });
71
- if (parentContext?.scrollConfig) {
72
- parentContext.scrollConfig.modify(v => {
71
+ if (ancestorContext?.scrollConfig) {
72
+ ancestorContext.scrollConfig.modify(v => {
73
73
  "worklet";
74
74
 
75
75
  if (v === null) {
@@ -111,8 +111,8 @@ export const useScrollRegistry = props => {
111
111
  v.layoutWidth = width;
112
112
  return v;
113
113
  });
114
- if (parentContext?.scrollConfig) {
115
- parentContext.scrollConfig.modify(v => {
114
+ if (ancestorContext?.scrollConfig) {
115
+ ancestorContext.scrollConfig.modify(v => {
116
116
  "worklet";
117
117
 
118
118
  if (v === null) {
@@ -1 +1 @@
1
- {"version":3,"names":["useAnimatedScrollHandler","useGestureContext","useStableCallback","useScrollRegistry","props","scrollConfig","parentContext","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":["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":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ import createProvider from "../utils/create-provider";
4
+ const {
5
+ FlagsProvider,
6
+ useFlagsContext
7
+ } = createProvider("Flags", {
8
+ guarded: false
9
+ })(({
10
+ TRANSITIONS_ALWAYS_ON = false,
11
+ children
12
+ }) => ({
13
+ value: {
14
+ TRANSITIONS_ALWAYS_ON
15
+ },
16
+ children
17
+ }));
18
+ export { FlagsProvider, useFlagsContext };
19
+ //# sourceMappingURL=flags.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createProvider","FlagsProvider","useFlagsContext","guarded","TRANSITIONS_ALWAYS_ON","children","value"],"sourceRoot":"../../../../src","sources":["shared/providers/flags.provider.tsx"],"mappings":";;AAAA,OAAOA,cAAc,MAAM,0BAA0B;AAWrD,MAAM;EAAEC,aAAa;EAAEC;AAAgB,CAAC,GAAGF,cAAc,CAAC,OAAO,EAAE;EAClEG,OAAO,EAAE;AACV,CAAC,CAAC,CACD,CAAC;EAAEC,qBAAqB,GAAG,KAAK;EAAEC;AAAS,CAAC,MAAM;EACjDC,KAAK,EAAE;IAAEF;EAAsB,CAAC;EAChCC;AACD,CAAC,CACF,CAAC;AAED,SAASJ,aAAa,EAAEC,eAAe","ignoreList":[]}
@@ -5,12 +5,39 @@ import { StyleSheet, View } from "react-native";
5
5
  import { GestureDetector } from "react-native-gesture-handler";
6
6
  import { useSharedValue } from "react-native-reanimated";
7
7
  import { useBuildGestures } from "../hooks/gestures/use-build-gestures";
8
+ import { useKeys } from "./keys.provider";
8
9
  import { jsx as _jsx } from "react/jsx-runtime";
9
10
  const GestureContext = /*#__PURE__*/createContext(undefined);
11
+
12
+ /**
13
+ * Provider that creates gesture handling for a screen.
14
+ * If the current screen doesn't have gestures enabled but a parent does,
15
+ * we pass through the parent's context so scrollable children can coordinate
16
+ * with the ancestor's gestures.
17
+ */
10
18
  export const ScreenGestureProvider = ({
11
19
  children
12
20
  }) => {
13
- const parentContext = useContext(GestureContext);
21
+ const ancestorContext = useContext(GestureContext);
22
+ const {
23
+ current
24
+ } = useKeys();
25
+ const hasOwnGestures = current.options.gestureEnabled === true;
26
+
27
+ // If this screen doesn't have its own gestures but an ancestor does,
28
+ // pass through so scrollable children coordinate with that ancestor
29
+ if (!hasOwnGestures && ancestorContext) {
30
+ return children;
31
+ }
32
+ return /*#__PURE__*/_jsx(ScreenGestureProviderInner, {
33
+ ancestorContext: ancestorContext,
34
+ children: children
35
+ });
36
+ };
37
+ const ScreenGestureProviderInner = ({
38
+ children,
39
+ ancestorContext
40
+ }) => {
14
41
  const scrollConfig = useSharedValue(null);
15
42
  const {
16
43
  panGesture,
@@ -18,15 +45,15 @@ export const ScreenGestureProvider = ({
18
45
  gestureAnimationValues
19
46
  } = useBuildGestures({
20
47
  scrollConfig,
21
- parentContext
48
+ ancestorContext
22
49
  });
23
50
  const value = useMemo(() => ({
24
51
  panGesture,
25
52
  scrollConfig,
26
53
  nativeGesture,
27
54
  gestureAnimationValues,
28
- parentContext: parentContext || null
29
- }), [panGesture, scrollConfig, nativeGesture, gestureAnimationValues, parentContext]);
55
+ ancestorContext
56
+ }), [panGesture, scrollConfig, nativeGesture, gestureAnimationValues, ancestorContext]);
30
57
  return /*#__PURE__*/_jsx(GestureContext.Provider, {
31
58
  value: value,
32
59
  children: /*#__PURE__*/_jsx(GestureDetector, {
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","useContext","useMemo","StyleSheet","View","GestureDetector","useSharedValue","useBuildGestures","jsx","_jsx","GestureContext","undefined","ScreenGestureProvider","children","parentContext","scrollConfig","panGesture","nativeGesture","gestureAnimationValues","value","Provider","gesture","style","styles","container","useGestureContext","context","Error","create","flex"],"sourceRoot":"../../../../src","sources":["shared/providers/gestures.provider.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAC1D,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAE/C,SAASC,eAAe,QAAQ,8BAA8B;AAE9D,SAASC,cAAc,QAAQ,yBAAyB;AACxD,SAASC,gBAAgB,QAAQ,sCAAsC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAwBxE,MAAMC,cAAc,gBAAGV,aAAa,CAAiCW,SAAS,CAAC;AAE/E,OAAO,MAAMC,qBAAqB,GAAGA,CAAC;EAAEC;AAA+B,CAAC,KAAK;EAC5E,MAAMC,aAAa,GAAGb,UAAU,CAACS,cAAc,CAAC;EAEhD,MAAMK,YAAY,GAAGT,cAAc,CAAsB,IAAI,CAAC;EAE9D,MAAM;IAAEU,UAAU;IAAEC,aAAa;IAAEC;EAAuB,CAAC,GAC1DX,gBAAgB,CAAC;IAChBQ,YAAY;IACZD;EACD,CAAC,CAAC;EAEH,MAAMK,KAAyB,GAAGjB,OAAO,CACxC,OAAO;IACNc,UAAU;IACVD,YAAY;IACZE,aAAa;IACbC,sBAAsB;IACtBJ,aAAa,EAAEA,aAAa,IAAI;EACjC,CAAC,CAAC,EACF,CACCE,UAAU,EACVD,YAAY,EACZE,aAAa,EACbC,sBAAsB,EACtBJ,aAAa,CAEf,CAAC;EAED,oBACCL,IAAA,CAACC,cAAc,CAACU,QAAQ;IAACD,KAAK,EAAEA,KAAM;IAAAN,QAAA,eACrCJ,IAAA,CAACJ,eAAe;MAACgB,OAAO,EAAEL,UAAW;MAAAH,QAAA,eACpCJ,IAAA,CAACL,IAAI;QAACkB,KAAK,EAAEC,MAAM,CAACC,SAAU;QAAAX,QAAA,EAAEA;MAAQ,CAAO;IAAC,CAChC;EAAC,CACM,CAAC;AAE5B,CAAC;AAED,OAAO,MAAMY,iBAAiB,GAAGA,CAAA,KAAM;EACtC,MAAMC,OAAO,GAAGzB,UAAU,CAACS,cAAc,CAAC;EAE1C,IAAI,CAACgB,OAAO,EAAE;IACb,MAAM,IAAIC,KAAK,CACd,+DACD,CAAC;EACF;EAEA,OAAOD,OAAO;AACf,CAAC;AAED,MAAMH,MAAM,GAAGpB,UAAU,CAACyB,MAAM,CAAC;EAChCJ,SAAS,EAAE;IACVK,IAAI,EAAE;EACP;AACD,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createContext","useContext","useMemo","StyleSheet","View","GestureDetector","useSharedValue","useBuildGestures","useKeys","jsx","_jsx","GestureContext","undefined","ScreenGestureProvider","children","ancestorContext","current","hasOwnGestures","options","gestureEnabled","ScreenGestureProviderInner","scrollConfig","panGesture","nativeGesture","gestureAnimationValues","value","Provider","gesture","style","styles","container","useGestureContext","context","Error","create","flex"],"sourceRoot":"../../../../src","sources":["shared/providers/gestures.provider.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAC1D,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAE/C,SAASC,eAAe,QAAQ,8BAA8B;AAE9D,SAASC,cAAc,QAAQ,yBAAyB;AACxD,SAASC,gBAAgB,QAAQ,sCAAsC;AAEvE,SAASC,OAAO,QAAQ,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAuB1C,MAAMC,cAAc,gBAAGX,aAAa,CAAiCY,SAAS,CAAC;;AAE/E;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,qBAAqB,GAAGA,CAAC;EAAEC;AAA+B,CAAC,KAAK;EAC5E,MAAMC,eAAe,GAAGd,UAAU,CAACU,cAAc,CAAC;EAClD,MAAM;IAAEK;EAAQ,CAAC,GAAGR,OAAO,CAAC,CAAC;EAE7B,MAAMS,cAAc,GAAGD,OAAO,CAACE,OAAO,CAACC,cAAc,KAAK,IAAI;;EAE9D;EACA;EACA,IAAI,CAACF,cAAc,IAAIF,eAAe,EAAE;IACvC,OAAOD,QAAQ;EAChB;EAEA,oBACCJ,IAAA,CAACU,0BAA0B;IAACL,eAAe,EAAEA,eAAgB;IAAAD,QAAA,EAC3DA;EAAQ,CACkB,CAAC;AAE/B,CAAC;AAED,MAAMM,0BAA0B,GAAGA,CAAC;EACnCN,QAAQ;EACRC;AAGD,CAAC,KAAK;EACL,MAAMM,YAAY,GAAGf,cAAc,CAAsB,IAAI,CAAC;EAE9D,MAAM;IAAEgB,UAAU;IAAEC,aAAa;IAAEC;EAAuB,CAAC,GAC1DjB,gBAAgB,CAAC;IAChBc,YAAY;IACZN;EACD,CAAC,CAAC;EAEH,MAAMU,KAAyB,GAAGvB,OAAO,CACxC,OAAO;IACNoB,UAAU;IACVD,YAAY;IACZE,aAAa;IACbC,sBAAsB;IACtBT;EACD,CAAC,CAAC,EACF,CACCO,UAAU,EACVD,YAAY,EACZE,aAAa,EACbC,sBAAsB,EACtBT,eAAe,CAEjB,CAAC;EAED,oBACCL,IAAA,CAACC,cAAc,CAACe,QAAQ;IAACD,KAAK,EAAEA,KAAM;IAAAX,QAAA,eACrCJ,IAAA,CAACL,eAAe;MAACsB,OAAO,EAAEL,UAAW;MAAAR,QAAA,eACpCJ,IAAA,CAACN,IAAI;QAACwB,KAAK,EAAEC,MAAM,CAACC,SAAU;QAAAhB,QAAA,EAAEA;MAAQ,CAAO;IAAC,CAChC;EAAC,CACM,CAAC;AAE5B,CAAC;AAED,OAAO,MAAMiB,iBAAiB,GAAGA,CAAA,KAAM;EACtC,MAAMC,OAAO,GAAG/B,UAAU,CAACU,cAAc,CAAC;EAE1C,IAAI,CAACqB,OAAO,EAAE;IACb,MAAM,IAAIC,KAAK,CACd,+DACD,CAAC;EACF;EAEA,OAAOD,OAAO;AACf,CAAC;AAED,MAAMH,MAAM,GAAG1B,UAAU,CAAC+B,MAAM,CAAC;EAChCJ,SAAS,EAAE;IACVK,IAAI,EAAE;EACP;AACD,CAAC,CAAC","ignoreList":[]}
@@ -11,23 +11,24 @@ import { prepareStyleForBounds } from "../utils/bounds/helpers/styles";
11
11
  import createProvider from "../utils/create-provider";
12
12
  import { useKeys } from "./keys.provider";
13
13
  /**
14
- * Gets the parent screen's route key for nested navigators.
15
- * Returns undefined if we're not inside a nested navigator.
14
+ * Builds the full ancestor key chain for nested navigators.
15
+ * Returns an array of screen keys from immediate parent to root.
16
+ * [parentKey, grandparentKey, greatGrandparentKey, ...]
16
17
  */
17
- const getParentScreenKey = current => {
18
- const parent = current.navigation.getParent();
19
- if (!parent) return undefined;
20
- const parentState = parent.getState();
21
- if (!parentState?.routes) return undefined;
22
-
23
- // Check if our route key exists directly in parent's routes
24
- const existsInParent = parentState.routes.some(r => r.key === current.route.key);
25
-
26
- // If we don't exist in parent's routes, we're nested inside the focused route
27
- if (!existsInParent && parentState.index !== undefined) {
28
- return parentState.routes[parentState.index]?.key;
18
+ const getAncestorKeys = current => {
19
+ const ancestors = [];
20
+ let nav = current.navigation.getParent();
21
+ while (nav) {
22
+ const state = nav.getState();
23
+ if (state?.routes && state.index !== undefined) {
24
+ const focusedRoute = state.routes[state.index];
25
+ if (focusedRoute?.key) {
26
+ ancestors.push(focusedRoute.key);
27
+ }
28
+ }
29
+ nav = nav.getParent();
29
30
  }
30
- return undefined;
31
+ return ancestors;
31
32
  };
32
33
 
33
34
  /**
@@ -38,48 +39,73 @@ const useInitialLayoutHandler = params => {
38
39
  const {
39
40
  sharedBoundTag,
40
41
  currentScreenKey,
41
- parentScreenKey,
42
+ ancestorKeys,
42
43
  maybeMeasureAndStore
43
44
  } = params;
44
45
  const isAnimating = AnimationStore.getAnimation(currentScreenKey, "animating");
45
- const isParentAnimating = parentScreenKey ? AnimationStore.getAnimation(parentScreenKey, "animating") : null;
46
+
47
+ // Check if any ancestor is animating
48
+ const ancestorAnimations = ancestorKeys.map(key => AnimationStore.getAnimation(key, "animating"));
46
49
  const hasMeasuredOnLayout = useSharedValue(false);
47
50
  return useCallback(() => {
48
51
  "worklet";
49
52
 
50
- if (!sharedBoundTag || hasMeasuredOnLayout.value) return;
51
- if (!isAnimating.value && !isParentAnimating?.value) return;
53
+ if (!sharedBoundTag || hasMeasuredOnLayout.get()) return;
54
+
55
+ // Check if current or any ancestor is animating
56
+ let isAnyAnimating = isAnimating.get();
57
+ for (let i = 0; i < ancestorAnimations.length; i++) {
58
+ if (ancestorAnimations[i].get()) {
59
+ isAnyAnimating = 1;
60
+ break;
61
+ }
62
+ }
63
+ if (!isAnyAnimating) return;
52
64
  maybeMeasureAndStore({
53
65
  shouldSetSource: false,
54
66
  shouldSetDestination: true
55
67
  });
56
- hasMeasuredOnLayout.value = true;
57
- }, [sharedBoundTag, hasMeasuredOnLayout, isAnimating, isParentAnimating, maybeMeasureAndStore]);
68
+ hasMeasuredOnLayout.set(true);
69
+ }, [sharedBoundTag, hasMeasuredOnLayout, isAnimating, ancestorAnimations, maybeMeasureAndStore]);
58
70
  };
59
71
 
72
+ /**
73
+ * Measures non-pressable elements when screen becomes blurred.
74
+ * Captures bounds right before transition starts.
75
+ */
60
76
  /**
61
77
  * Measures non-pressable elements when screen becomes blurred.
62
78
  * Captures bounds right before transition starts.
63
79
  */
64
80
  const useBlurMeasurement = params => {
81
+ const {
82
+ current
83
+ } = useKeys();
65
84
  const {
66
85
  sharedBoundTag,
86
+ ancestorKeys,
67
87
  maybeMeasureAndStore
68
88
  } = params;
69
- const isFocused = useRef(true);
70
89
  const hasCapturedSource = useRef(false);
90
+ const ancestorClosing = [current.route.key, ...ancestorKeys].map(key => AnimationStore.getAnimation(key, "closing"));
91
+ const maybeMeasureOnBlur = useStableCallbackValue(() => {
92
+ "worklet";
93
+
94
+ //.some doesnt work here apparently... :-(
95
+ for (const closing of ancestorClosing) {
96
+ if (closing.get()) return;
97
+ }
98
+ maybeMeasureAndStore({
99
+ shouldSetSource: true
100
+ });
101
+ });
71
102
  useFocusEffect(useCallback(() => {
72
- isFocused.current = true;
73
103
  hasCapturedSource.current = false;
74
104
  return () => {
75
- if (!sharedBoundTag) return;
76
- if (hasCapturedSource.current) return;
77
- isFocused.current = false;
78
- runOnUI(maybeMeasureAndStore)({
79
- shouldSetSource: true
80
- });
105
+ if (!sharedBoundTag || hasCapturedSource.current) return;
106
+ runOnUI(maybeMeasureOnBlur)();
81
107
  };
82
- }, [sharedBoundTag, maybeMeasureAndStore]));
108
+ }, [sharedBoundTag, maybeMeasureOnBlur]));
83
109
  return {
84
110
  markSourceCaptured: () => {
85
111
  hasCapturedSource.current = true;
@@ -95,7 +121,7 @@ const useParentSyncReaction = params => {
95
121
  parentContext,
96
122
  maybeMeasureAndStore
97
123
  } = params;
98
- useAnimatedReaction(() => parentContext?.updateSignal.value, value => {
124
+ useAnimatedReaction(() => parentContext?.updateSignal.get(), value => {
99
125
  "worklet";
100
126
 
101
127
  if (value === 0 || value === undefined) return;
@@ -118,7 +144,7 @@ const {
118
144
  current
119
145
  } = useKeys();
120
146
  const currentScreenKey = current.route.key;
121
- const parentScreenKey = getParentScreenKey(current);
147
+ const ancestorKeys = useMemo(() => getAncestorKeys(current), [current]);
122
148
 
123
149
  // Context & signals
124
150
  const parentContext = useRegisterBoundsContext();
@@ -130,7 +156,7 @@ const {
130
156
  "worklet";
131
157
 
132
158
  const isRoot = !parentContext;
133
- if (isRoot) updateSignal.value = updateSignal.value + 1;
159
+ if (isRoot) updateSignal.set(updateSignal.get() + 1);
134
160
  });
135
161
  const maybeMeasureAndStore = useStableCallbackValue(({
136
162
  onPress,
@@ -143,30 +169,30 @@ const {
143
169
  const measured = measure(animatedRef);
144
170
  if (!measured) return;
145
171
  emitUpdate();
146
-
147
- // Always register occurrence
148
- BoundStore.registerOccurrence(sharedBoundTag, currentScreenKey, measured, preparedStyles);
149
-
150
- // Set as source (on press or blur)
172
+ BoundStore.registerSnapshot(sharedBoundTag, currentScreenKey, measured, preparedStyles, ancestorKeys);
151
173
  if (shouldSetSource) {
152
- if (isAnimating.value) {
153
- const existing = BoundStore.getOccurrence(sharedBoundTag, currentScreenKey);
154
- BoundStore.setLinkSource(sharedBoundTag, currentScreenKey, existing.bounds, preparedStyles, parentScreenKey);
174
+ if (isAnimating.get()) {
175
+ // If animation is already in progress,
176
+ // lets use the existing measuremenets.
177
+ const existing = BoundStore.getSnapshot(sharedBoundTag, currentScreenKey);
178
+ if (existing) {
179
+ BoundStore.setLinkSource(sharedBoundTag, currentScreenKey, existing.bounds, preparedStyles, ancestorKeys);
180
+ }
155
181
  return;
156
182
  }
157
- BoundStore.setLinkSource(sharedBoundTag, currentScreenKey, measured, preparedStyles, parentScreenKey);
183
+ BoundStore.setLinkSource(sharedBoundTag, currentScreenKey, measured, preparedStyles, ancestorKeys);
158
184
  }
159
185
 
160
186
  // Set as destination (on mount during animation)
161
187
  if (shouldSetDestination) {
162
- BoundStore.setLinkDestination(sharedBoundTag, currentScreenKey, measured, preparedStyles, parentScreenKey);
188
+ BoundStore.setLinkDestination(sharedBoundTag, currentScreenKey, measured, preparedStyles, ancestorKeys);
163
189
  }
164
190
  if (onPress) runOnJS(onPress)();
165
191
  });
166
192
  const handleInitialLayout = useInitialLayoutHandler({
167
193
  sharedBoundTag,
168
194
  currentScreenKey,
169
- parentScreenKey,
195
+ ancestorKeys,
170
196
  maybeMeasureAndStore
171
197
  });
172
198
 
@@ -175,7 +201,8 @@ const {
175
201
  markSourceCaptured
176
202
  } = useBlurMeasurement({
177
203
  sharedBoundTag,
178
- maybeMeasureAndStore
204
+ maybeMeasureAndStore,
205
+ ancestorKeys
179
206
  });
180
207
  useParentSyncReaction({
181
208
  parentContext,
@@ -1 +1 @@
1
- {"version":3,"names":["useFocusEffect","useCallback","useMemo","useRef","measure","runOnJS","runOnUI","useAnimatedReaction","useSharedValue","useStableCallback","useStableCallbackValue","AnimationStore","BoundStore","prepareStyleForBounds","createProvider","useKeys","getParentScreenKey","current","parent","navigation","getParent","undefined","parentState","getState","routes","existsInParent","some","r","key","route","index","useInitialLayoutHandler","params","sharedBoundTag","currentScreenKey","parentScreenKey","maybeMeasureAndStore","isAnimating","getAnimation","isParentAnimating","hasMeasuredOnLayout","value","shouldSetSource","shouldSetDestination","useBlurMeasurement","isFocused","hasCapturedSource","markSourceCaptured","useParentSyncReaction","parentContext","updateSignal","RegisterBoundsProvider","useRegisterBoundsContext","guarded","style","onPress","animatedRef","children","ownSignal","preparedStyles","emitUpdate","isRoot","measured","registerOccurrence","existing","getOccurrence","setLinkSource","bounds","setLinkDestination","handleInitialLayout","captureActiveOnPress"],"sourceRoot":"../../../../src","sources":["shared/providers/register-bounds.provider.tsx"],"mappings":";;AAAA,SAASA,cAAc,QAAQ,0BAA0B;AACzD,SAAyBC,WAAW,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AAEpE,SAECC,OAAO,EACPC,OAAO,EACPC,OAAO,EAEPC,mBAAmB,EACnBC,cAAc,QACR,yBAAyB;AAEhC,OAAOC,iBAAiB,MAAM,8BAA8B;AAC5D,OAAOC,sBAAsB,MAAM,oCAAoC;AACvE,SAASC,cAAc,QAAQ,2BAA2B;AAC1D,SAASC,UAAU,QAAQ,wBAAwB;AACnD,SAASC,qBAAqB,QAAQ,gCAAgC;AACtE,OAAOC,cAAc,MAAM,0BAA0B;AACrD,SAAoCC,OAAO,QAAQ,iBAAiB;AAyBpE;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GAAIC,OAA6B,IAAK;EAC7D,MAAMC,MAAM,GAAGD,OAAO,CAACE,UAAU,CAACC,SAAS,CAAC,CAAC;EAC7C,IAAI,CAACF,MAAM,EAAE,OAAOG,SAAS;EAE7B,MAAMC,WAAW,GAAGJ,MAAM,CAACK,QAAQ,CAAC,CAAC;EACrC,IAAI,CAACD,WAAW,EAAEE,MAAM,EAAE,OAAOH,SAAS;;EAE1C;EACA,MAAMI,cAAc,GAAGH,WAAW,CAACE,MAAM,CAACE,IAAI,CAC5CC,CAAC,IAAKA,CAAC,CAACC,GAAG,KAAKX,OAAO,CAACY,KAAK,CAACD,GAChC,CAAC;;EAED;EACA,IAAI,CAACH,cAAc,IAAIH,WAAW,CAACQ,KAAK,KAAKT,SAAS,EAAE;IACvD,OAAOC,WAAW,CAACE,MAAM,CAACF,WAAW,CAACQ,KAAK,CAAC,EAAEF,GAAG;EAClD;EAEA,OAAOP,SAAS;AACjB,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMU,uBAAuB,GAAIC,MAKhC,IAAK;EACL,MAAM;IACLC,cAAc;IACdC,gBAAgB;IAChBC,eAAe;IACfC;EACD,CAAC,GAAGJ,MAAM;EAEV,MAAMK,WAAW,GAAG1B,cAAc,CAAC2B,YAAY,CAC9CJ,gBAAgB,EAChB,WACD,CAAC;EACD,MAAMK,iBAAiB,GAAGJ,eAAe,GACtCxB,cAAc,CAAC2B,YAAY,CAACH,eAAe,EAAE,WAAW,CAAC,GACzD,IAAI;EAEP,MAAMK,mBAAmB,GAAGhC,cAAc,CAAC,KAAK,CAAC;EAEjD,OAAOP,WAAW,CAAC,MAAM;IACxB,SAAS;;IACT,IAAI,CAACgC,cAAc,IAAIO,mBAAmB,CAACC,KAAK,EAAE;IAClD,IAAI,CAACJ,WAAW,CAACI,KAAK,IAAI,CAACF,iBAAiB,EAAEE,KAAK,EAAE;IAErDL,oBAAoB,CAAC;MACpBM,eAAe,EAAE,KAAK;MACtBC,oBAAoB,EAAE;IACvB,CAAC,CAAC;IAEFH,mBAAmB,CAACC,KAAK,GAAG,IAAI;EACjC,CAAC,EAAE,CACFR,cAAc,EACdO,mBAAmB,EACnBH,WAAW,EACXE,iBAAiB,EACjBH,oBAAoB,CACpB,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMQ,kBAAkB,GAAIZ,MAG3B,IAAK;EACL,MAAM;IAAEC,cAAc;IAAEG;EAAqB,CAAC,GAAGJ,MAAM;EACvD,MAAMa,SAAS,GAAG1C,MAAM,CAAC,IAAI,CAAC;EAC9B,MAAM2C,iBAAiB,GAAG3C,MAAM,CAAC,KAAK,CAAC;EAEvCH,cAAc,CACbC,WAAW,CAAC,MAAM;IACjB4C,SAAS,CAAC5B,OAAO,GAAG,IAAI;IACxB6B,iBAAiB,CAAC7B,OAAO,GAAG,KAAK;IAEjC,OAAO,MAAM;MACZ,IAAI,CAACgB,cAAc,EAAE;MACrB,IAAIa,iBAAiB,CAAC7B,OAAO,EAAE;MAE/B4B,SAAS,CAAC5B,OAAO,GAAG,KAAK;MACzBX,OAAO,CAAC8B,oBAAoB,CAAC,CAAC;QAAEM,eAAe,EAAE;MAAK,CAAC,CAAC;IACzD,CAAC;EACF,CAAC,EAAE,CAACT,cAAc,EAAEG,oBAAoB,CAAC,CAC1C,CAAC;EAED,OAAO;IACNW,kBAAkB,EAAEA,CAAA,KAAM;MACzBD,iBAAiB,CAAC7B,OAAO,GAAG,IAAI;IACjC;EACD,CAAC;AACF,CAAC;;AAED;AACA;AACA;AACA,MAAM+B,qBAAqB,GAAIhB,MAG9B,IAAK;EACL,MAAM;IAAEiB,aAAa;IAAEb;EAAqB,CAAC,GAAGJ,MAAM;EAEtDzB,mBAAmB,CAClB,MAAM0C,aAAa,EAAEC,YAAY,CAACT,KAAK,EACtCA,KAAK,IAAK;IACV,SAAS;;IACT,IAAIA,KAAK,KAAK,CAAC,IAAIA,KAAK,KAAKpB,SAAS,EAAE;IACxCe,oBAAoB,CAAC,CAAC;EACvB,CACD,CAAC;AACF,CAAC;AAED,MAAM;EAAEe,sBAAsB;EAAEC;AAAyB,CAAC,GAAGtC,cAAc,CAC1E,gBAAgB,EAChB;EAAEuC,OAAO,EAAE;AAAM,CAClB,CAAC,CACA,CAAC;EAAEC,KAAK;EAAEC,OAAO;EAAEtB,cAAc;EAAEuB,WAAW;EAAEC;AAAS,CAAC,KAAK;EAC9D,MAAM;IAAExC;EAAQ,CAAC,GAAGF,OAAO,CAAC,CAAC;EAC7B,MAAMmB,gBAAgB,GAAGjB,OAAO,CAACY,KAAK,CAACD,GAAG;EAC1C,MAAMO,eAAe,GAAGnB,kBAAkB,CAACC,OAAO,CAAC;;EAEnD;EACA,MAAMgC,aAAgD,GACrDG,wBAAwB,CAAC,CAAC;EAC3B,MAAMM,SAAS,GAAGlD,cAAc,CAAC,CAAC,CAAC;EACnC,MAAM0C,YAAiC,GACtCD,aAAa,EAAEC,YAAY,IAAIQ,SAAS;EAEzC,MAAMrB,WAAW,GAAG1B,cAAc,CAAC2B,YAAY,CAC9CJ,gBAAgB,EAChB,WACD,CAAC;EACD,MAAMyB,cAAc,GAAGzD,OAAO,CAAC,MAAMW,qBAAqB,CAACyC,KAAK,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAE3E,MAAMM,UAAU,GAAGlD,sBAAsB,CAAC,MAAM;IAC/C,SAAS;;IACT,MAAMmD,MAAM,GAAG,CAACZ,aAAa;IAC7B,IAAIY,MAAM,EAAEX,YAAY,CAACT,KAAK,GAAGS,YAAY,CAACT,KAAK,GAAG,CAAC;EACxD,CAAC,CAAC;EAEF,MAAML,oBAAoB,GAAG1B,sBAAsB,CAClD,CAAC;IACA6C,OAAO;IACPb,eAAe;IACfC;EAC2B,CAAC,GAAG,CAAC,CAAC,KAAK;IACtC,SAAS;;IACT,IAAI,CAACV,cAAc,EAAE;IAErB,MAAM6B,QAAQ,GAAG1D,OAAO,CAACoD,WAAW,CAAC;IACrC,IAAI,CAACM,QAAQ,EAAE;IAEfF,UAAU,CAAC,CAAC;;IAEZ;IACAhD,UAAU,CAACmD,kBAAkB,CAC5B9B,cAAc,EACdC,gBAAgB,EAChB4B,QAAQ,EACRH,cACD,CAAC;;IAED;IACA,IAAIjB,eAAe,EAAE;MACpB,IAAIL,WAAW,CAACI,KAAK,EAAE;QACtB,MAAMuB,QAAQ,GAAGpD,UAAU,CAACqD,aAAa,CACxChC,cAAc,EACdC,gBACD,CAAC;QACDtB,UAAU,CAACsD,aAAa,CACvBjC,cAAc,EACdC,gBAAgB,EAChB8B,QAAQ,CAACG,MAAM,EACfR,cAAc,EACdxB,eACD,CAAC;QACD;MACD;MACAvB,UAAU,CAACsD,aAAa,CACvBjC,cAAc,EACdC,gBAAgB,EAChB4B,QAAQ,EACRH,cAAc,EACdxB,eACD,CAAC;IACF;;IAEA;IACA,IAAIQ,oBAAoB,EAAE;MACzB/B,UAAU,CAACwD,kBAAkB,CAC5BnC,cAAc,EACdC,gBAAgB,EAChB4B,QAAQ,EACRH,cAAc,EACdxB,eACD,CAAC;IACF;IAEA,IAAIoB,OAAO,EAAElD,OAAO,CAACkD,OAAO,CAAC,CAAC,CAAC;EAChC,CACD,CAAC;EAED,MAAMc,mBAAmB,GAAGtC,uBAAuB,CAAC;IACnDE,cAAc;IACdC,gBAAgB;IAChBC,eAAe;IACfC;EACD,CAAC,CAAC;;EAEF;EACA,MAAM;IAAEW;EAAmB,CAAC,GAAGH,kBAAkB,CAAC;IACjDX,cAAc;IACdG;EACD,CAAC,CAAC;EAEFY,qBAAqB,CAAC;IAAEC,aAAa;IAAEb;EAAqB,CAAC,CAAC;EAE9D,MAAMkC,oBAAoB,GAAG7D,iBAAiB,CAAC,MAAM;IACpD,IAAI,CAACwB,cAAc,EAAE;MACpBsB,OAAO,GAAG,CAAC;MACX;IACD;IACAjD,OAAO,CAAC8B,oBAAoB,CAAC,CAAC;MAAEmB,OAAO;MAAEb,eAAe,EAAE;IAAK,CAAC,CAAC;IACjEK,kBAAkB,CAAC,CAAC;EACrB,CAAC,CAAC;EAEF,OAAO;IACNN,KAAK,EAAE;MAAES;IAAa,CAAC;IACvBO,QAAQ,EAAEA,QAAQ,CAAC;MAAEY,mBAAmB;MAAEC;IAAqB,CAAC;EACjE,CAAC;AACF,CACD,CAAC;AAED,SAASnB,sBAAsB","ignoreList":[]}
1
+ {"version":3,"names":["useFocusEffect","useCallback","useMemo","useRef","measure","runOnJS","runOnUI","useAnimatedReaction","useSharedValue","useStableCallback","useStableCallbackValue","AnimationStore","BoundStore","prepareStyleForBounds","createProvider","useKeys","getAncestorKeys","current","ancestors","nav","navigation","getParent","state","getState","routes","index","undefined","focusedRoute","key","push","useInitialLayoutHandler","params","sharedBoundTag","currentScreenKey","ancestorKeys","maybeMeasureAndStore","isAnimating","getAnimation","ancestorAnimations","map","hasMeasuredOnLayout","get","isAnyAnimating","i","length","shouldSetSource","shouldSetDestination","set","useBlurMeasurement","hasCapturedSource","ancestorClosing","route","maybeMeasureOnBlur","closing","markSourceCaptured","useParentSyncReaction","parentContext","updateSignal","value","RegisterBoundsProvider","useRegisterBoundsContext","guarded","style","onPress","animatedRef","children","ownSignal","preparedStyles","emitUpdate","isRoot","measured","registerSnapshot","existing","getSnapshot","setLinkSource","bounds","setLinkDestination","handleInitialLayout","captureActiveOnPress"],"sourceRoot":"../../../../src","sources":["shared/providers/register-bounds.provider.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ import { useMemo } from "react";
4
+ import { AnimationStore } from "../stores/animation.store";
5
+ import createProvider from "../utils/create-provider";
6
+ const {
7
+ RoutesProvider,
8
+ useRoutesContext
9
+ } = createProvider("Routes", {
10
+ guarded: false
11
+ })(({
12
+ routeKeys
13
+ }) => ({
14
+ value: {
15
+ routeKeys
16
+ }
17
+ }));
18
+ export { RoutesProvider, useRoutesContext };
19
+
20
+ /**
21
+ * Hook to get animation values for all screens from a given index onwards.
22
+ * Useful for computing accumulated progress across multiple screens.
23
+ */
24
+ export function useStackAnimationValues(currentRouteKey) {
25
+ const routesContext = useRoutesContext();
26
+ return useMemo(() => {
27
+ if (!currentRouteKey || !routesContext) {
28
+ return [];
29
+ }
30
+ const {
31
+ routeKeys
32
+ } = routesContext;
33
+ const currentIndex = routeKeys.indexOf(currentRouteKey);
34
+ if (currentIndex === -1) {
35
+ return [];
36
+ }
37
+
38
+ // Get animation values for all screens from current index onwards
39
+ return routeKeys.slice(currentIndex).map(key => AnimationStore.getAll(key));
40
+ }, [currentRouteKey, routesContext]);
41
+ }
42
+ //# sourceMappingURL=routes.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useMemo","AnimationStore","createProvider","RoutesProvider","useRoutesContext","guarded","routeKeys","value","useStackAnimationValues","currentRouteKey","routesContext","currentIndex","indexOf","slice","map","key","getAll"],"sourceRoot":"../../../../src","sources":["shared/providers/routes.provider.tsx"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SACCC,cAAc,QAER,2BAA2B;AAClC,OAAOC,cAAc,MAAM,0BAA0B;AAcrD,MAAM;EAAEC,cAAc;EAAEC;AAAiB,CAAC,GAAGF,cAAc,CAAC,QAAQ,EAAE;EACrEG,OAAO,EAAE;AACV,CAAC,CAAC,CAA0C,CAAC;EAAEC;AAAU,CAAC,MAAM;EAC/DC,KAAK,EAAE;IAAED;EAAU;AACpB,CAAC,CAAC,CAAC;AAEH,SAASH,cAAc,EAAEC,gBAAgB;;AAEzC;AACA;AACA;AACA;AACA,OAAO,SAASI,uBAAuBA,CACtCC,eAAmC,EACb;EACtB,MAAMC,aAAa,GAAGN,gBAAgB,CAAC,CAAC;EAExC,OAAOJ,OAAO,CAAC,MAAM;IACpB,IAAI,CAACS,eAAe,IAAI,CAACC,aAAa,EAAE;MACvC,OAAO,EAAE;IACV;IAEA,MAAM;MAAEJ;IAAU,CAAC,GAAGI,aAAa;IACnC,MAAMC,YAAY,GAAGL,SAAS,CAACM,OAAO,CAACH,eAAe,CAAC;IAEvD,IAAIE,YAAY,KAAK,CAAC,CAAC,EAAE;MACxB,OAAO,EAAE;IACV;;IAEA;IACA,OAAOL,SAAS,CACdO,KAAK,CAACF,YAAY,CAAC,CACnBG,GAAG,CAAEC,GAAG,IAAKd,cAAc,CAACe,MAAM,CAACD,GAAG,CAAC,CAAC;EAC3C,CAAC,EAAE,CAACN,eAAe,EAAEC,aAAa,CAAC,CAAC;AACrC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["RootTransitionAware","ScreenGestureProvider","KeysProvider","TransitionStylesProvider","jsx","_jsx","ScreenTransitionProvider","previous","current","next","children","LifecycleController"],"sourceRoot":"../../../../src","sources":["shared/providers/screen-transition.provider.tsx"],"mappings":";;AAGA,SAASA,mBAAmB,QAAQ,qCAAqC;AACzE,SAASC,qBAAqB,QAAQ,qBAAqB;AAC3D,SAASC,YAAY,QAAmC,iBAAiB;AACzE,SAASC,wBAAwB,QAAQ,8BAA8B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAUxE,OAAO,SAASC,wBAAwBA,CAEtC;EACDC,QAAQ;EACRC,OAAO;EACPC,IAAI;EACJC,QAAQ;EACRC;AACmB,CAAC,EAAE;EACtB,oBACCN,IAAA,CAACH,YAAY;IACZK,QAAQ,EAAEA,QAAS;IACnBC,OAAO,EAAEA,OAAQ;IACjBC,IAAI,EAAEA,IAAK;IAAAC,QAAA,eAEXL,IAAA,CAACJ,qBAAqB;MAAAS,QAAA,eACrBL,IAAA,CAACM,mBAAmB;QAAAD,QAAA,eACnBL,IAAA,CAACF,wBAAwB;UAAAO,QAAA,eACxBL,IAAA,CAACL,mBAAmB;YAAAU,QAAA,EAAEA;UAAQ,CAAsB;QAAC,CAC5B;MAAC,CACP;IAAC,CACA;EAAC,CACX,CAAC;AAEjB","ignoreList":[]}
1
+ {"version":3,"names":["RootTransitionAware","ScreenGestureProvider","KeysProvider","TransitionStylesProvider","jsx","_jsx","ScreenTransitionProvider","previous","current","next","children","LifecycleController"],"sourceRoot":"../../../../src","sources":["shared/providers/screen-transition.provider.tsx"],"mappings":";;AAEA,SAASA,mBAAmB,QAAQ,qCAAqC;AAEzE,SAASC,qBAAqB,QAAQ,qBAAqB;AAC3D,SAASC,YAAY,QAAmC,iBAAiB;AACzE,SAASC,wBAAwB,QAAQ,8BAA8B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAUxE,OAAO,SAASC,wBAAwBA,CAEtC;EACDC,QAAQ;EACRC,OAAO;EACPC,IAAI;EACJC,QAAQ;EACRC;AACmB,CAAC,EAAE;EACtB,oBACCN,IAAA,CAACH,YAAY;IACZK,QAAQ,EAAEA,QAAS;IACnBC,OAAO,EAAEA,OAAQ;IACjBC,IAAI,EAAEA,IAAK;IAAAC,QAAA,eAEXL,IAAA,CAACJ,qBAAqB;MAAAS,QAAA,eACrBL,IAAA,CAACM,mBAAmB;QAAAD,QAAA,eACnBL,IAAA,CAACF,wBAAwB;UAAAO,QAAA,eACxBL,IAAA,CAACL,mBAAmB;YAAAU,QAAA,EAAEA;UAAQ,CAAsB;QAAC,CAC5B;MAAC,CACP;IAAC,CACA;EAAC,CACX,CAAC;AAEjB","ignoreList":[]}