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
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useRoutesContext = exports.RoutesProvider = void 0;
7
+ exports.useStackAnimationValues = useStackAnimationValues;
8
+ var _react = require("react");
9
+ var _animation = require("../stores/animation.store");
10
+ var _createProvider = _interopRequireDefault(require("../utils/create-provider"));
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ const {
13
+ RoutesProvider,
14
+ useRoutesContext
15
+ } = (0, _createProvider.default)("Routes", {
16
+ guarded: false
17
+ })(({
18
+ routeKeys
19
+ }) => ({
20
+ value: {
21
+ routeKeys
22
+ }
23
+ }));
24
+ exports.useRoutesContext = useRoutesContext;
25
+ exports.RoutesProvider = RoutesProvider;
26
+ /**
27
+ * Hook to get animation values for all screens from a given index onwards.
28
+ * Useful for computing accumulated progress across multiple screens.
29
+ */
30
+ function useStackAnimationValues(currentRouteKey) {
31
+ const routesContext = useRoutesContext();
32
+ return (0, _react.useMemo)(() => {
33
+ if (!currentRouteKey || !routesContext) {
34
+ return [];
35
+ }
36
+ const {
37
+ routeKeys
38
+ } = routesContext;
39
+ const currentIndex = routeKeys.indexOf(currentRouteKey);
40
+ if (currentIndex === -1) {
41
+ return [];
42
+ }
43
+
44
+ // Get animation values for all screens from current index onwards
45
+ return routeKeys.slice(currentIndex).map(key => _animation.AnimationStore.getAll(key));
46
+ }, [currentRouteKey, routesContext]);
47
+ }
48
+ //# sourceMappingURL=routes.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_animation","_createProvider","_interopRequireDefault","e","__esModule","default","RoutesProvider","useRoutesContext","createProvider","guarded","routeKeys","value","exports","useStackAnimationValues","currentRouteKey","routesContext","useMemo","currentIndex","indexOf","slice","map","key","AnimationStore","getAll"],"sourceRoot":"../../../../src","sources":["shared/providers/routes.provider.tsx"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAIA,IAAAE,eAAA,GAAAC,sBAAA,CAAAH,OAAA;AAAsD,SAAAG,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AActD,MAAM;EAAEG,cAAc;EAAEC;AAAiB,CAAC,GAAG,IAAAC,uBAAc,EAAC,QAAQ,EAAE;EACrEC,OAAO,EAAE;AACV,CAAC,CAAC,CAA0C,CAAC;EAAEC;AAAU,CAAC,MAAM;EAC/DC,KAAK,EAAE;IAAED;EAAU;AACpB,CAAC,CAAC,CAAC;AAACE,OAAA,CAAAL,gBAAA,GAAAA,gBAAA;AAAAK,OAAA,CAAAN,cAAA,GAAAA,cAAA;AAIJ;AACA;AACA;AACA;AACO,SAASO,uBAAuBA,CACtCC,eAAmC,EACb;EACtB,MAAMC,aAAa,GAAGR,gBAAgB,CAAC,CAAC;EAExC,OAAO,IAAAS,cAAO,EAAC,MAAM;IACpB,IAAI,CAACF,eAAe,IAAI,CAACC,aAAa,EAAE;MACvC,OAAO,EAAE;IACV;IAEA,MAAM;MAAEL;IAAU,CAAC,GAAGK,aAAa;IACnC,MAAME,YAAY,GAAGP,SAAS,CAACQ,OAAO,CAACJ,eAAe,CAAC;IAEvD,IAAIG,YAAY,KAAK,CAAC,CAAC,EAAE;MACxB,OAAO,EAAE;IACV;;IAEA;IACA,OAAOP,SAAS,CACdS,KAAK,CAACF,YAAY,CAAC,CACnBG,GAAG,CAAEC,GAAG,IAAKC,yBAAc,CAACC,MAAM,CAACF,GAAG,CAAC,CAAC;EAC3C,CAAC,EAAE,CAACP,eAAe,EAAEC,aAAa,CAAC,CAAC;AACrC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_rootTransitionAware","require","_gestures","_keys","_transitionStyles","_jsxRuntime","ScreenTransitionProvider","previous","current","next","children","LifecycleController","jsx","KeysProvider","ScreenGestureProvider","TransitionStylesProvider","RootTransitionAware"],"sourceRoot":"../../../../src","sources":["shared/providers/screen-transition.provider.tsx"],"mappings":";;;;;;AAGA,IAAAA,oBAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AAAwE,IAAAI,WAAA,GAAAJ,OAAA;AAUjE,SAASK,wBAAwBA,CAEtC;EACDC,QAAQ;EACRC,OAAO;EACPC,IAAI;EACJC,QAAQ;EACRC;AACmB,CAAC,EAAE;EACtB,oBACC,IAAAN,WAAA,CAAAO,GAAA,EAACT,KAAA,CAAAU,YAAY;IACZN,QAAQ,EAAEA,QAAS;IACnBC,OAAO,EAAEA,OAAQ;IACjBC,IAAI,EAAEA,IAAK;IAAAC,QAAA,eAEX,IAAAL,WAAA,CAAAO,GAAA,EAACV,SAAA,CAAAY,qBAAqB;MAAAJ,QAAA,eACrB,IAAAL,WAAA,CAAAO,GAAA,EAACD,mBAAmB;QAAAD,QAAA,eACnB,IAAAL,WAAA,CAAAO,GAAA,EAACR,iBAAA,CAAAW,wBAAwB;UAAAL,QAAA,eACxB,IAAAL,WAAA,CAAAO,GAAA,EAACZ,oBAAA,CAAAgB,mBAAmB;YAAAN,QAAA,EAAEA;UAAQ,CAAsB;QAAC,CAC5B;MAAC,CACP;IAAC,CACA;EAAC,CACX,CAAC;AAEjB","ignoreList":[]}
1
+ {"version":3,"names":["_rootTransitionAware","require","_gestures","_keys","_transitionStyles","_jsxRuntime","ScreenTransitionProvider","previous","current","next","children","LifecycleController","jsx","KeysProvider","ScreenGestureProvider","TransitionStylesProvider","RootTransitionAware"],"sourceRoot":"../../../../src","sources":["shared/providers/screen-transition.provider.tsx"],"mappings":";;;;;;AAEA,IAAAA,oBAAA,GAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AAAwE,IAAAI,WAAA,GAAAJ,OAAA;AAUjE,SAASK,wBAAwBA,CAEtC;EACDC,QAAQ;EACRC,OAAO;EACPC,IAAI;EACJC,QAAQ;EACRC;AACmB,CAAC,EAAE;EACtB,oBACC,IAAAN,WAAA,CAAAO,GAAA,EAACT,KAAA,CAAAU,YAAY;IACZN,QAAQ,EAAEA,QAAS;IACnBC,OAAO,EAAEA,OAAQ;IACjBC,IAAI,EAAEA,IAAK;IAAAC,QAAA,eAEX,IAAAL,WAAA,CAAAO,GAAA,EAACV,SAAA,CAAAY,qBAAqB;MAAAJ,QAAA,eACrB,IAAAL,WAAA,CAAAO,GAAA,EAACD,mBAAmB;QAAAD,QAAA,eACnB,IAAAL,WAAA,CAAAO,GAAA,EAACR,iBAAA,CAAAW,wBAAwB;UAAAL,QAAA,eACxB,IAAAL,WAAA,CAAAO,GAAA,EAACZ,oBAAA,CAAAgB,mBAAmB;YAAAN,QAAA,EAAEA;UAAQ,CAAsB;QAAC,CAC5B;MAAC,CACP;IAAC,CACA;EAAC,CACX,CAAC;AAEjB","ignoreList":[]}
@@ -5,18 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.BoundStore = void 0;
7
7
  var _reactNativeReanimated = require("react-native-reanimated");
8
- /**
9
- * Note on cleanup: We intentionally skip automatic cleanup of old links.
10
- * The linkStack grows by one entry per navigation, but `getActiveLink`
11
- * finds the correct link via screenKey matching regardless of stack size.
12
- * This is unlikely to cause performance issues in typical apps, but if
13
- * memory becomes a concern in apps with heavy navigation (hundreds of
14
- * transitions), we should consider implementing cleanup on screen unmount using
15
- * screenKey filtering.
16
- */
17
-
18
8
  const registry = (0, _reactNativeReanimated.makeMutable)({});
19
- function registerOccurrence(tag, screenKey, bounds, styles = {}) {
9
+ function registerSnapshot(tag, screenKey, bounds, styles = {}, ancestorKeys) {
20
10
  "worklet";
21
11
 
22
12
  registry.modify(state => {
@@ -24,33 +14,32 @@ function registerOccurrence(tag, screenKey, bounds, styles = {}) {
24
14
 
25
15
  if (!state[tag]) {
26
16
  state[tag] = {
27
- occurrences: {},
17
+ snapshots: {},
28
18
  linkStack: []
29
19
  };
30
20
  }
31
- state[tag].occurrences[screenKey] = {
21
+ state[tag].snapshots[screenKey] = {
32
22
  bounds,
33
- styles
23
+ styles,
24
+ ancestorKeys
34
25
  };
35
26
  return state;
36
27
  });
37
28
  }
38
- function setLinkSource(tag, screenKey, bounds, styles = {}, parentScreenKey) {
29
+ function setLinkSource(tag, screenKey, bounds, styles = {}, ancestorKeys) {
39
30
  "worklet";
40
31
 
41
32
  registry.modify(state => {
42
33
  "worklet";
43
34
 
44
35
  if (!state[tag]) state[tag] = {
45
- occurrences: {},
36
+ snapshots: {},
46
37
  linkStack: []
47
38
  };
48
-
49
- // Push new link onto stack
50
39
  state[tag].linkStack.push({
51
40
  source: {
52
41
  screenKey,
53
- parentScreenKey,
42
+ ancestorKeys,
54
43
  bounds,
55
44
  styles
56
45
  },
@@ -59,7 +48,7 @@ function setLinkSource(tag, screenKey, bounds, styles = {}, parentScreenKey) {
59
48
  return state;
60
49
  });
61
50
  }
62
- function setLinkDestination(tag, screenKey, bounds, styles = {}, parentScreenKey) {
51
+ function setLinkDestination(tag, screenKey, bounds, styles = {}, ancestorKeys) {
63
52
  "worklet";
64
53
 
65
54
  registry.modify(state => {
@@ -73,7 +62,7 @@ function setLinkDestination(tag, screenKey, bounds, styles = {}, parentScreenKey
73
62
  if (stack[i].destination === null) {
74
63
  stack[i].destination = {
75
64
  screenKey,
76
- parentScreenKey,
65
+ ancestorKeys,
77
66
  bounds,
78
67
  styles
79
68
  };
@@ -83,20 +72,57 @@ function setLinkDestination(tag, screenKey, bounds, styles = {}, parentScreenKey
83
72
  return state;
84
73
  });
85
74
  }
86
- function getOccurrence(tag, key) {
75
+
76
+ /**
77
+ * Helper to check if a screen identifier matches a given key.
78
+ * Checks both direct screenKey match and ancestor chain.
79
+ */
80
+ function matchesScreenKey(identifier, key) {
87
81
  "worklet";
88
82
 
89
- return registry.value[tag]?.occurrences[key] ?? null;
83
+ if (!identifier) return false;
84
+
85
+ // Direct match
86
+ if (identifier.screenKey === key) return true;
87
+
88
+ // Check ancestor chain
89
+ return identifier.ancestorKeys?.includes(key) ?? false;
90
90
  }
91
91
 
92
- // Helper to check if a screen identifier matches a given key
93
- function matchesScreenKey(identifier, key) {
92
+ /**
93
+ * Get snapshot by tag and optional key.
94
+ * If key is provided, supports ancestor matching - if the key matches any ancestor
95
+ * of a stored snapshot, that snapshot will be returned.
96
+ * If key is omitted, returns the most recently registered snapshot.
97
+ */
98
+ function getSnapshot(tag, key) {
94
99
  "worklet";
95
100
 
96
- if (!identifier) return false;
97
- return identifier.screenKey === key || identifier.parentScreenKey === key;
101
+ const tagState = registry.value[tag];
102
+ if (!tagState) return null;
103
+
104
+ // Direct match in occurrences
105
+ if (tagState.snapshots[key]) {
106
+ const snap = tagState.snapshots[key];
107
+ return {
108
+ bounds: snap.bounds,
109
+ styles: snap.styles
110
+ };
111
+ }
112
+
113
+ // Ancestor match
114
+ for (const screenKey in tagState.snapshots) {
115
+ const snap = tagState.snapshots[screenKey];
116
+ if (snap.ancestorKeys?.includes(key)) {
117
+ return {
118
+ bounds: snap.bounds,
119
+ styles: snap.styles
120
+ };
121
+ }
122
+ }
123
+ return null;
98
124
  }
99
- function getActiveLink(tag, screenKey, isClosing) {
125
+ function getActiveLink(tag, screenKey) {
100
126
  "worklet";
101
127
 
102
128
  const stack = registry.value[tag]?.linkStack;
@@ -106,36 +132,54 @@ function getActiveLink(tag, screenKey, isClosing) {
106
132
 
107
133
  // If screenKey provided, find link involving that screen
108
134
  if (screenKey) {
109
- // When closing (backward nav), we want the link where this screen is the DESTINATION
110
- // When opening (forward nav), we want the link where this screen is the DESTINATION too
111
- // The source is always the "from" screen, destination is the "to" screen
112
-
113
- if (isClosing) {
114
- // Backward: find link where I am the destination (I'm going back to source)
115
- for (let i = stack.length - 1; i >= 0; i--) {
116
- const link = stack[i];
117
- if (matchesScreenKey(link.destination, screenKey)) {
118
- return link;
119
- }
120
- }
121
- }
122
-
123
- // Forward or fallback: find any link involving this screen
124
135
  for (let i = stack.length - 1; i >= 0; i--) {
125
136
  const link = stack[i];
126
- if (matchesScreenKey(link.source, screenKey) || matchesScreenKey(link.destination, screenKey)) {
137
+ if (!link.destination) continue;
138
+ const isSource = matchesScreenKey(link.source, screenKey);
139
+ const isDestination = matchesScreenKey(link.destination, screenKey);
140
+ if (isSource || isDestination) {
141
+ // If I match the source, I'm closing (going back to where I came from)
127
142
  return link;
128
143
  }
129
144
  }
130
145
  return null;
131
146
  }
132
- return stack[stack.length - 1] ?? null;
147
+ const lastLink = stack[stack.length - 1];
148
+ return lastLink ? lastLink : null;
149
+ }
150
+
151
+ /**
152
+ * Clear all snapshots and links for a screen across all tags.
153
+ * Called when a screen unmounts.
154
+ */
155
+ function clear(screenKey) {
156
+ "worklet";
157
+
158
+ registry.modify(state => {
159
+ "worklet";
160
+
161
+ for (const tag in state) {
162
+ // Remove snapshot
163
+ if (state[tag].snapshots[screenKey]) {
164
+ delete state[tag].snapshots[screenKey];
165
+ }
166
+
167
+ // Remove links involving this screen
168
+ state[tag].linkStack = state[tag].linkStack.filter(link => {
169
+ const sourceMatches = matchesScreenKey(link.source, screenKey);
170
+ const destMatches = matchesScreenKey(link.destination, screenKey);
171
+ return !sourceMatches && !destMatches;
172
+ });
173
+ }
174
+ return state;
175
+ });
133
176
  }
134
177
  const BoundStore = exports.BoundStore = {
135
- registerOccurrence,
178
+ registerSnapshot,
136
179
  setLinkSource,
137
180
  setLinkDestination,
138
181
  getActiveLink,
139
- getOccurrence
182
+ getSnapshot,
183
+ clear
140
184
  };
141
185
  //# sourceMappingURL=bounds.store.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeReanimated","require","registry","makeMutable","registerOccurrence","tag","screenKey","bounds","styles","modify","state","occurrences","linkStack","setLinkSource","parentScreenKey","push","source","destination","setLinkDestination","stack","length","i","getOccurrence","key","value","matchesScreenKey","identifier","getActiveLink","isClosing","link","BoundStore","exports"],"sourceRoot":"../../../../src","sources":["shared/stores/bounds.store.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeReanimated","require","registry","makeMutable","registerSnapshot","tag","screenKey","bounds","styles","ancestorKeys","modify","state","snapshots","linkStack","setLinkSource","push","source","destination","setLinkDestination","stack","length","i","matchesScreenKey","identifier","key","includes","getSnapshot","tagState","value","snap","getActiveLink","link","isSource","isDestination","lastLink","clear","filter","sourceMatches","destMatches","BoundStore","exports"],"sourceRoot":"../../../../src","sources":["shared/stores/bounds.store.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TRUE = exports.FALSE = void 0;
7
+ const TRUE = exports.TRUE = 1;
8
+ const FALSE = exports.FALSE = 0;
9
+ //# sourceMappingURL=state.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TRUE","exports","FALSE"],"sourceRoot":"../../../../src","sources":["shared/types/state.types.ts"],"mappings":";;;;;;AAAO,MAAMA,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG,CAAC;AACd,MAAME,KAAK,GAAAD,OAAA,CAAAC,KAAA,GAAG,CAAC","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.computeStackProgress = void 0;
7
+ const computeStackProgress = (stackAnimationValues, fallback = 0) => {
8
+ "worklet";
9
+
10
+ let computedStackProgress;
11
+ if (stackAnimationValues.length > 0) {
12
+ computedStackProgress = 0;
13
+ for (let i = 0; i < stackAnimationValues.length; i += 1) {
14
+ computedStackProgress += stackAnimationValues[i].progress.value;
15
+ }
16
+ }
17
+ return computedStackProgress ?? fallback;
18
+ };
19
+ exports.computeStackProgress = computeStackProgress;
20
+ //# sourceMappingURL=compute-stack-progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["computeStackProgress","stackAnimationValues","fallback","computedStackProgress","length","i","progress","value","exports"],"sourceRoot":"../../../../../src","sources":["shared/utils/animation/compute-stack-progress.ts"],"mappings":";;;;;;AAEO,MAAMA,oBAAoB,GAAGA,CACnCC,oBAAyC,EACzCC,QAAgB,GAAG,CAAC,KAChB;EACJ,SAAS;;EACT,IAAIC,qBAAyC;EAC7C,IAAIF,oBAAoB,CAACG,MAAM,GAAG,CAAC,EAAE;IACpCD,qBAAqB,GAAG,CAAC;IACzB,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGJ,oBAAoB,CAACG,MAAM,EAAEC,CAAC,IAAI,CAAC,EAAE;MACxDF,qBAAqB,IAAIF,oBAAoB,CAACI,CAAC,CAAC,CAACC,QAAQ,CAACC,KAAK;IAChE;EACD;EACA,OAAOJ,qBAAqB,IAAID,QAAQ;AACzC,CAAC;AAACM,OAAA,CAAAR,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -13,7 +13,7 @@ const derivations = ({
13
13
  }) => {
14
14
  "worklet";
15
15
 
16
- // The combined progress
16
+ // The combined progress (current + next, 0-2 range)
17
17
  const progress = current.progress + (next?.progress ?? 0);
18
18
 
19
19
  // Whether the current screen is focused
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.startScreenTransition = void 0;
7
7
  var _reactNativeReanimated = require("react-native-reanimated");
8
+ var _state = require("../../types/state.types");
8
9
  var _animate = require("./animate");
9
10
  const startScreenTransition = ({
10
11
  target,
@@ -28,27 +29,26 @@ const startScreenTransition = ({
28
29
  closing
29
30
  } = animations;
30
31
  if (target === "close") {
31
- closing.value = 1;
32
+ closing.set(_state.TRUE);
32
33
  }
33
34
  if (!config) {
34
- animating.value = 0;
35
- progress.value = value;
35
+ animating.set(_state.FALSE);
36
+ progress.set(value);
36
37
  if (onAnimationFinish) {
37
38
  (0, _reactNativeReanimated.runOnJS)(onAnimationFinish)(true);
38
39
  }
39
40
  return;
40
41
  }
41
- animating.value = 1;
42
- progress.value = (0, _animate.animate)(value, effectiveConfig, finished => {
42
+ animating.set(_state.TRUE); //<-- Do not move this into the callback
43
+ progress.set((0, _animate.animate)(value, effectiveConfig, finished => {
43
44
  "worklet";
44
45
 
45
- if (finished) {
46
- if (onAnimationFinish) {
47
- (0, _reactNativeReanimated.runOnJS)(onAnimationFinish)(finished);
48
- }
49
- animating.value = 0;
46
+ if (!finished) return;
47
+ if (onAnimationFinish) {
48
+ (0, _reactNativeReanimated.runOnJS)(onAnimationFinish)(finished);
50
49
  }
51
- });
50
+ animating.set(_state.FALSE);
51
+ }));
52
52
  };
53
53
  exports.startScreenTransition = startScreenTransition;
54
54
  //# sourceMappingURL=start-screen-transition.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeReanimated","require","_animate","startScreenTransition","target","spec","onAnimationFinish","animations","initialVelocity","value","config","open","close","isSpringConfig","effectiveConfig","velocity","progress","animating","closing","runOnJS","animate","finished","exports"],"sourceRoot":"../../../../../src","sources":["shared/utils/animation/start-screen-transition.ts"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAGA,IAAAC,QAAA,GAAAD,OAAA;AAWO,MAAME,qBAAqB,GAAGA,CAAC;EACrCC,MAAM;EACNC,IAAI;EACJC,iBAAiB;EACjBC,UAAU;EACVC;AAC2B,CAAC,KAAK;EACjC,SAAS;;EACT,MAAMC,KAAK,GAAGL,MAAM,KAAK,MAAM,GAAG,CAAC,GAAG,CAAC;EACvC,MAAMM,MAAM,GAAGN,MAAM,KAAK,MAAM,GAAGC,IAAI,EAAEM,IAAI,GAAGN,IAAI,EAAEO,KAAK;EAE3D,MAAMC,cAAc,GACnB,CAAC,CAACH,MAAM,IAAI,EAAE,UAAU,IAAIA,MAAM,CAAC,IAAI,EAAE,QAAQ,IAAIA,MAAM,CAAC;EAE7D,MAAMI,eAAe,GACpBD,cAAc,IAAI,OAAOL,eAAe,KAAK,QAAQ,GAClD;IAAE,GAAGE,MAAM;IAAEK,QAAQ,EAAEP;EAAgB,CAAC,GACxCE,MAAM;EAEV,MAAM;IAAEM,QAAQ;IAAEC,SAAS;IAAEC;EAAQ,CAAC,GAAGX,UAAU;EAEnD,IAAIH,MAAM,KAAK,OAAO,EAAE;IACvBc,OAAO,CAACT,KAAK,GAAG,CAAC;EAClB;EAEA,IAAI,CAACC,MAAM,EAAE;IACZO,SAAS,CAACR,KAAK,GAAG,CAAC;IACnBO,QAAQ,CAACP,KAAK,GAAGA,KAAK;IAEtB,IAAIH,iBAAiB,EAAE;MACtB,IAAAa,8BAAO,EAACb,iBAAiB,CAAC,CAAC,IAAI,CAAC;IACjC;IACA;EACD;EAEAW,SAAS,CAACR,KAAK,GAAG,CAAC;EAEnBO,QAAQ,CAACP,KAAK,GAAG,IAAAW,gBAAO,EAACX,KAAK,EAAEK,eAAe,EAAGO,QAAQ,IAAK;IAC9D,SAAS;;IACT,IAAIA,QAAQ,EAAE;MACb,IAAIf,iBAAiB,EAAE;QACtB,IAAAa,8BAAO,EAACb,iBAAiB,CAAC,CAACe,QAAQ,CAAC;MACrC;MACAJ,SAAS,CAACR,KAAK,GAAG,CAAC;IACpB;EACD,CAAC,CAAC;AACH,CAAC;AAACa,OAAA,CAAAnB,qBAAA,GAAAA,qBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeReanimated","require","_state","_animate","startScreenTransition","target","spec","onAnimationFinish","animations","initialVelocity","value","config","open","close","isSpringConfig","effectiveConfig","velocity","progress","animating","closing","set","TRUE","FALSE","runOnJS","animate","finished","exports"],"sourceRoot":"../../../../../src","sources":["shared/utils/animation/start-screen-transition.ts"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAGA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAWO,MAAMG,qBAAqB,GAAGA,CAAC;EACrCC,MAAM;EACNC,IAAI;EACJC,iBAAiB;EACjBC,UAAU;EACVC;AAC2B,CAAC,KAAK;EACjC,SAAS;;EACT,MAAMC,KAAK,GAAGL,MAAM,KAAK,MAAM,GAAG,CAAC,GAAG,CAAC;EACvC,MAAMM,MAAM,GAAGN,MAAM,KAAK,MAAM,GAAGC,IAAI,EAAEM,IAAI,GAAGN,IAAI,EAAEO,KAAK;EAE3D,MAAMC,cAAc,GACnB,CAAC,CAACH,MAAM,IAAI,EAAE,UAAU,IAAIA,MAAM,CAAC,IAAI,EAAE,QAAQ,IAAIA,MAAM,CAAC;EAE7D,MAAMI,eAAe,GACpBD,cAAc,IAAI,OAAOL,eAAe,KAAK,QAAQ,GAClD;IAAE,GAAGE,MAAM;IAAEK,QAAQ,EAAEP;EAAgB,CAAC,GACxCE,MAAM;EAEV,MAAM;IAAEM,QAAQ;IAAEC,SAAS;IAAEC;EAAQ,CAAC,GAAGX,UAAU;EAEnD,IAAIH,MAAM,KAAK,OAAO,EAAE;IACvBc,OAAO,CAACC,GAAG,CAACC,WAAI,CAAC;EAClB;EAEA,IAAI,CAACV,MAAM,EAAE;IACZO,SAAS,CAACE,GAAG,CAACE,YAAK,CAAC;IACpBL,QAAQ,CAACG,GAAG,CAACV,KAAK,CAAC;IAEnB,IAAIH,iBAAiB,EAAE;MACtB,IAAAgB,8BAAO,EAAChB,iBAAiB,CAAC,CAAC,IAAI,CAAC;IACjC;IACA;EACD;EAEAW,SAAS,CAACE,GAAG,CAACC,WAAI,CAAC,CAAC,CAAC;EACrBJ,QAAQ,CAACG,GAAG,CACX,IAAAI,gBAAO,EAACd,KAAK,EAAEK,eAAe,EAAGU,QAAQ,IAAK;IAC7C,SAAS;;IACT,IAAI,CAACA,QAAQ,EAAE;IAEf,IAAIlB,iBAAiB,EAAE;MACtB,IAAAgB,8BAAO,EAAChB,iBAAiB,CAAC,CAACkB,QAAQ,CAAC;IACrC;IAEAP,SAAS,CAACE,GAAG,CAACE,YAAK,CAAC;EACrB,CAAC,CACF,CAAC;AACF,CAAC;AAACI,OAAA,CAAAtB,qBAAA,GAAAA,qBAAA","ignoreList":[]}
@@ -12,7 +12,7 @@ const isBoundsEqual = ({
12
12
  }) => {
13
13
  "worklet";
14
14
 
15
- const existing = _bounds.BoundStore.getOccurrence(sharedBoundTag, key)?.bounds;
15
+ const existing = _bounds.BoundStore.getSnapshot(sharedBoundTag, key)?.bounds;
16
16
  return !!existing && existing.width === measured.width && existing.height === measured.height && existing.pageX === measured.pageX && existing.pageY === measured.pageY && existing.x === measured.x && existing.y === measured.y;
17
17
  };
18
18
  exports.isBoundsEqual = isBoundsEqual;
@@ -1 +1 @@
1
- {"version":3,"names":["_bounds","require","isBoundsEqual","measured","key","sharedBoundTag","existing","BoundStore","getOccurrence","bounds","width","height","pageX","pageY","x","y","exports"],"sourceRoot":"../../../../../../src","sources":["shared/utils/bounds/helpers/is-bounds-equal.ts"],"mappings":";;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AAEO,MAAMC,aAAa,GAAGA,CAAC;EAC7BC,QAAQ;EACRC,GAAG;EACHC;AAKD,CAAC,KAAK;EACL,SAAS;;EACT,MAAMC,QAAQ,GAAGC,kBAAU,CAACC,aAAa,CAACH,cAAc,EAAED,GAAG,CAAC,EAAEK,MAAM;EACtE,OACC,CAAC,CAACH,QAAQ,IACVA,QAAQ,CAACI,KAAK,KAAKP,QAAQ,CAACO,KAAK,IACjCJ,QAAQ,CAACK,MAAM,KAAKR,QAAQ,CAACQ,MAAM,IACnCL,QAAQ,CAACM,KAAK,KAAKT,QAAQ,CAACS,KAAK,IACjCN,QAAQ,CAACO,KAAK,KAAKV,QAAQ,CAACU,KAAK,IACjCP,QAAQ,CAACQ,CAAC,KAAKX,QAAQ,CAACW,CAAC,IACzBR,QAAQ,CAACS,CAAC,KAAKZ,QAAQ,CAACY,CAAC;AAE3B,CAAC;AAACC,OAAA,CAAAd,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"names":["_bounds","require","isBoundsEqual","measured","key","sharedBoundTag","existing","BoundStore","getSnapshot","bounds","width","height","pageX","pageY","x","y","exports"],"sourceRoot":"../../../../../../src","sources":["shared/utils/bounds/helpers/is-bounds-equal.ts"],"mappings":";;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AAEO,MAAMC,aAAa,GAAGA,CAAC;EAC7BC,QAAQ;EACRC,GAAG;EACHC;AAKD,CAAC,KAAK;EACL,SAAS;;EACT,MAAMC,QAAQ,GAAGC,kBAAU,CAACC,WAAW,CAACH,cAAc,EAAED,GAAG,CAAC,EAAEK,MAAM;EACpE,OACC,CAAC,CAACH,QAAQ,IACVA,QAAQ,CAACI,KAAK,KAAKP,QAAQ,CAACO,KAAK,IACjCJ,QAAQ,CAACK,MAAM,KAAKR,QAAQ,CAACQ,MAAM,IACnCL,QAAQ,CAACM,KAAK,KAAKT,QAAQ,CAACS,KAAK,IACjCN,QAAQ,CAACO,KAAK,KAAKV,QAAQ,CAACU,KAAK,IACjCP,QAAQ,CAACQ,CAAC,KAAKX,QAAQ,CAACW,CAAC,IACzBR,QAAQ,CAACS,CAAC,KAAKZ,QAAQ,CAACY,CAAC;AAE3B,CAAC;AAACC,OAAA,CAAAd,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -13,11 +13,10 @@ const resolveBounds = props => {
13
13
 
14
14
  const entering = !props.next;
15
15
  const fullscreen = (0, _constants.FULLSCREEN_DIMENSIONS)(props.dimensions);
16
- const isClosing = props.current?.closing === 1;
17
16
  const isFullscreenTarget = props.computeOptions.target === "fullscreen";
18
17
 
19
18
  // Try exact match first (strict matching for nested stacks)
20
- let link = _bounds.BoundStore.getActiveLink(props.id, props.current?.route.key, isClosing);
19
+ let link = _bounds.BoundStore.getActiveLink(props.id, props.current?.route.key);
21
20
 
22
21
  // For fullscreen target, fall back to most recent link for this tag
23
22
  // (destination screen might not have a matching element)
@@ -149,13 +148,13 @@ const createBounds = props => {
149
148
  dimensions: props.layouts.screen
150
149
  }, params);
151
150
  };
152
- const getOccurrence = (tag, key) => {
151
+ const getSnapshot = (tag, key) => {
153
152
  "worklet";
154
153
 
155
- return _bounds.BoundStore.getOccurrence(tag, key);
154
+ return _bounds.BoundStore.getSnapshot(tag, key);
156
155
  };
157
156
  return Object.assign(boundsFunction, {
158
- getOccurrence
157
+ getSnapshot
159
158
  });
160
159
  };
161
160
  exports.createBounds = createBounds;
@@ -1 +1 @@
1
- {"version":3,"names":["_constants","require","_bounds","_geometry","_styleComposers","resolveBounds","props","entering","next","fullscreen","FULLSCREEN_DIMENSIONS","dimensions","isClosing","current","closing","isFullscreenTarget","computeOptions","target","link","BoundStore","getActiveLink","id","route","key","source","start","end","destination","bounds","customTarget","computeBoundStyles","previous","progress","raw","EMPTY_BOUND_HELPER_RESULT_RAW","EMPTY_BOUND_HELPER_RESULT","ranges","ENTER_RANGE","EXIT_RANGE","method","geometry","computeContentTransformGeometry","anchor","scaleMode","composeContentStyle","computeRelativeGeometry","common","isSize","isAbs","space","composeSizeAbsolute","composeSizeRelative","composeTransformAbsolute","composeTransformRelative","createBounds","boundsFunction","params","layouts","screen","getOccurrence","tag","Object","assign","exports"],"sourceRoot":"../../../../../src","sources":["shared/utils/bounds/index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_constants","require","_bounds","_geometry","_styleComposers","resolveBounds","props","entering","next","fullscreen","FULLSCREEN_DIMENSIONS","dimensions","isFullscreenTarget","computeOptions","target","link","BoundStore","getActiveLink","id","current","route","key","source","start","end","destination","bounds","customTarget","computeBoundStyles","previous","progress","raw","EMPTY_BOUND_HELPER_RESULT_RAW","EMPTY_BOUND_HELPER_RESULT","ranges","ENTER_RANGE","EXIT_RANGE","method","geometry","computeContentTransformGeometry","anchor","scaleMode","composeContentStyle","computeRelativeGeometry","common","isSize","isAbs","space","composeSizeAbsolute","composeSizeRelative","composeTransformAbsolute","composeTransformRelative","createBounds","boundsFunction","params","layouts","screen","getSnapshot","tag","Object","assign","exports"],"sourceRoot":"../../../../../src","sources":["shared/utils/bounds/index.ts"],"mappings":"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","ignoreList":[]}
@@ -41,10 +41,29 @@ function createProvider(name, options) {
41
41
  }
42
42
  return context;
43
43
  };
44
+ const withProvider = Component => {
45
+ return function WithProviderWrapper(props) {
46
+ const {
47
+ enabled = true,
48
+ value
49
+ } = factory(props);
50
+ if (!value) {
51
+ throw new Error(`${name}Context value must be provided. You likely forgot to return it from the factory function.`);
52
+ }
53
+ const memoValue = (0, _react.useMemo)(() => enabled ? value : null, [enabled, value]);
54
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Context.Provider, {
55
+ value: memoValue,
56
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, {
57
+ ...value
58
+ })
59
+ });
60
+ };
61
+ };
44
62
  return {
45
63
  [`${name}Context`]: Context,
46
64
  [`${name}Provider`]: Provider,
47
- [`use${name}Context`]: useEnhancedContext
65
+ [`use${name}Context`]: useEnhancedContext,
66
+ [`with${name}Provider`]: withProvider
48
67
  };
49
68
  };
50
69
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_jsxRuntime","createProvider","name","options","factory","guarded","Context","createContext","displayName","Provider","props","children","enabled","value","Error","memoValue","useMemo","jsx","useEnhancedContext","context","useContext"],"sourceRoot":"../../../../src","sources":["shared/utils/create-provider.tsx"],"mappings":";;;;;;AAKA,IAAAA,MAAA,GAAAC,OAAA;AAA2E,IAAAC,WAAA,GAAAD,OAAA;AAL3E;AACA;AACA;AACA;AACA;;AAGe,SAASE,cAAcA,CAGpCC,IAAkB,EAAEC,OAA+B,EAAE;EACtD,OACCC,OAIC,IACG;IACJ,MAAM;MAAEC,OAAO,GAAG;IAAK,CAAC,GAAGF,OAAO,IAAI,CAAC,CAAC;IAExC,MAAMG,OAAO,gBAAG,IAAAC,oBAAa,EAAsB,IAAI,CAAC;IACxDD,OAAO,CAACE,WAAW,GAAGN,IAAI;IAE1B,MAAMO,QAAiC,GAAIC,KAAK,IAAK;MACpD,MAAM;QACLC,QAAQ,GAAID,KAAK,CAA8BC,QAAQ;QACvDC,OAAO,GAAG,IAAI;QACdC;MACD,CAAC,GAAGT,OAAO,CAACM,KAAK,CAAC;MAElB,IAAI,CAACG,KAAK,EAAE;QACX,MAAM,IAAIC,KAAK,CACd,GAAGZ,IAAI,2FACR,CAAC;MACF;MAEA,MAAMa,SAAS,GAAG,IAAAC,cAAO,EACxB,MAAOJ,OAAO,GAAGC,KAAK,GAAG,IAAK,EAC9B,CAACD,OAAO,EAAEC,KAAK,CAChB,CAAC;MAED,oBAAO,IAAAb,WAAA,CAAAiB,GAAA,EAACX,OAAO,CAACG,QAAQ;QAACI,KAAK,EAAEE,SAAU;QAAAJ,QAAA,EAAEA;MAAQ,CAAmB,CAAC;IACzE,CAAC;IAED,MAAMO,kBAAkB,GAAGA,CAAA,KAA2B;MACrD,MAAMC,OAAO,GAAG,IAAAC,iBAAU,EAACd,OAAO,CAAC;MAEnC,IAAID,OAAO,IAAIc,OAAO,KAAK,IAAI,EAAE;QAChC,MAAM,IAAIL,KAAK,CACd,GAAGZ,IAAI,kCAAkCA,IAAI,UAC9C,CAAC;MACF;MAEA,OAAOiB,OAAO;IACf,CAAC;IAED,OAAO;MACN,CAAC,GAAGjB,IAAI,SAAS,GAAGI,OAAO;MAC3B,CAAC,GAAGJ,IAAI,UAAU,GAAGO,QAAQ;MAC7B,CAAC,MAAMP,IAAI,SAAS,GAAGgB;IACxB,CAAC;EASF,CAAC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_jsxRuntime","createProvider","name","options","factory","guarded","Context","createContext","displayName","Provider","props","children","enabled","value","Error","memoValue","useMemo","jsx","useEnhancedContext","context","useContext","withProvider","Component","WithProviderWrapper"],"sourceRoot":"../../../../src","sources":["shared/utils/create-provider.tsx"],"mappings":";;;;;;AAKA,IAAAA,MAAA,GAAAC,OAAA;AAMe,IAAAC,WAAA,GAAAD,OAAA;AAXf;AACA;AACA;AACA;AACA;;AASe,SAASE,cAAcA,CAGpCC,IAAkB,EAAEC,OAA+B,EAAE;EACtD,OACCC,OAIC,IACG;IACJ,MAAM;MAAEC,OAAO,GAAG;IAAK,CAAC,GAAGF,OAAO,IAAI,CAAC,CAAC;IAExC,MAAMG,OAAO,gBAAG,IAAAC,oBAAa,EAAsB,IAAI,CAAC;IACxDD,OAAO,CAACE,WAAW,GAAGN,IAAI;IAE1B,MAAMO,QAAiC,GAAIC,KAAK,IAAK;MACpD,MAAM;QACLC,QAAQ,GAAID,KAAK,CAA8BC,QAAQ;QACvDC,OAAO,GAAG,IAAI;QACdC;MACD,CAAC,GAAGT,OAAO,CAACM,KAAK,CAAC;MAElB,IAAI,CAACG,KAAK,EAAE;QACX,MAAM,IAAIC,KAAK,CACd,GAAGZ,IAAI,2FACR,CAAC;MACF;MAEA,MAAMa,SAAS,GAAG,IAAAC,cAAO,EACxB,MAAOJ,OAAO,GAAGC,KAAK,GAAG,IAAK,EAC9B,CAACD,OAAO,EAAEC,KAAK,CAChB,CAAC;MAED,oBAAO,IAAAb,WAAA,CAAAiB,GAAA,EAACX,OAAO,CAACG,QAAQ;QAACI,KAAK,EAAEE,SAAU;QAAAJ,QAAA,EAAEA;MAAQ,CAAmB,CAAC;IACzE,CAAC;IAED,MAAMO,kBAAkB,GAAGA,CAAA,KAA2B;MACrD,MAAMC,OAAO,GAAG,IAAAC,iBAAU,EAACd,OAAO,CAAC;MAEnC,IAAID,OAAO,IAAIc,OAAO,KAAK,IAAI,EAAE;QAChC,MAAM,IAAIL,KAAK,CACd,GAAGZ,IAAI,kCAAkCA,IAAI,UAC9C,CAAC;MACF;MAEA,OAAOiB,OAAO;IACf,CAAC;IAED,MAAME,YAAY,GAAIC,SAAsC,IAAK;MAChE,OAAO,SAASC,mBAAmBA,CAACb,KAAoB,EAAE;QACzD,MAAM;UAAEE,OAAO,GAAG,IAAI;UAAEC;QAAM,CAAC,GAAGT,OAAO,CAACM,KAAK,CAAC;QAEhD,IAAI,CAACG,KAAK,EAAE;UACX,MAAM,IAAIC,KAAK,CACd,GAAGZ,IAAI,2FACR,CAAC;QACF;QAEA,MAAMa,SAAS,GAAG,IAAAC,cAAO,EACxB,MAAOJ,OAAO,GAAGC,KAAK,GAAG,IAAK,EAC9B,CAACD,OAAO,EAAEC,KAAK,CAChB,CAAC;QAED,oBACC,IAAAb,WAAA,CAAAiB,GAAA,EAACX,OAAO,CAACG,QAAQ;UAACI,KAAK,EAAEE,SAAU;UAAAJ,QAAA,eAClC,IAAAX,WAAA,CAAAiB,GAAA,EAACK,SAAS;YAAA,GAAKT;UAAK,CAAG;QAAC,CACP,CAAC;MAErB,CAAC;IACF,CAAC;IAED,OAAO;MACN,CAAC,GAAGX,IAAI,SAAS,GAAGI,OAAO;MAC3B,CAAC,GAAGJ,IAAI,UAAU,GAAGO,QAAQ;MAC7B,CAAC,MAAMP,IAAI,SAAS,GAAGgB,kBAAkB;MACzC,CAAC,OAAOhB,IAAI,UAAU,GAAGmB;IAC1B,CAAC;EAaF,CAAC;AACF","ignoreList":[]}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.resetStoresForScreen = void 0;
7
7
  var _animation = require("../stores/animation.store");
8
+ var _bounds = require("../stores/bounds.store");
8
9
  var _gesture = require("../stores/gesture.store");
9
10
  /**
10
11
  * Reset all stores for a given screen
@@ -12,6 +13,7 @@ var _gesture = require("../stores/gesture.store");
12
13
  const resetStoresForScreen = current => {
13
14
  _animation.AnimationStore.clear(current.route.key);
14
15
  _gesture.GestureStore.clear(current.route.key);
16
+ _bounds.BoundStore.clear(current.route.key);
15
17
  };
16
18
  exports.resetStoresForScreen = resetStoresForScreen;
17
19
  //# sourceMappingURL=reset-stores-for-screen.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_animation","require","_gesture","resetStoresForScreen","current","AnimationStore","clear","route","key","GestureStore","exports"],"sourceRoot":"../../../../src","sources":["shared/utils/reset-stores-for-screen.ts"],"mappings":";;;;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACO,MAAME,oBAAoB,GAAIC,OAA6B,IAAK;EACtEC,yBAAc,CAACC,KAAK,CAACF,OAAO,CAACG,KAAK,CAACC,GAAG,CAAC;EACvCC,qBAAY,CAACH,KAAK,CAACF,OAAO,CAACG,KAAK,CAACC,GAAG,CAAC;AACtC,CAAC;AAACE,OAAA,CAAAP,oBAAA,GAAAA,oBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_animation","require","_bounds","_gesture","resetStoresForScreen","current","AnimationStore","clear","route","key","GestureStore","BoundStore","exports"],"sourceRoot":"../../../../src","sources":["shared/utils/reset-stores-for-screen.ts"],"mappings":";;;;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACO,MAAMG,oBAAoB,GAAIC,OAA6B,IAAK;EACtEC,yBAAc,CAACC,KAAK,CAACF,OAAO,CAACG,KAAK,CAACC,GAAG,CAAC;EACvCC,qBAAY,CAACH,KAAK,CAACF,OAAO,CAACG,KAAK,CAACC,GAAG,CAAC;EACrCE,kBAAU,CAACJ,KAAK,CAACF,OAAO,CAACG,KAAK,CAACC,GAAG,CAAC;AACpC,CAAC;AAACG,OAAA,CAAAR,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -41,7 +41,8 @@ const OverlayHost = ({
41
41
  optimisticActiveIndex
42
42
  } = useOverlayAnimation();
43
43
  const {
44
- scenes
44
+ scenes,
45
+ routes
45
46
  } = useStackNavigationContext();
46
47
  const overlaySceneIndex = useMemo(() => {
47
48
  return scenes.findIndex(stackScene => stackScene.route.key === scene.route.key);
@@ -59,12 +60,13 @@ const OverlayHost = ({
59
60
  return null;
60
61
  }
61
62
  const overlayProps = {
63
+ routes,
64
+ overlayAnimation,
65
+ screenAnimation,
62
66
  focusedRoute: focusedScene.route,
63
67
  focusedIndex: optimisticActiveIndex,
64
68
  overlayOptions: focusedScene.descriptor.options.overlayOptions,
65
- navigation: scene.descriptor.navigation,
66
- overlayAnimation,
67
- screenAnimation
69
+ navigation: scene.descriptor.navigation
68
70
  };
69
71
  return /*#__PURE__*/_jsx(Animated.View, {
70
72
  pointerEvents: "box-none",
@@ -147,4 +149,4 @@ const styles = StyleSheet.create({
147
149
  zIndex: 1000
148
150
  }
149
151
  });
150
- //# sourceMappingURL=Overlay.js.map
152
+ //# sourceMappingURL=overlay.js.map
@@ -0,0 +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":";;AAAA,SACCA,iBAAiB,EACjBC,sBAAsB,QAChB,0BAA0B;AACjC,SAASC,OAAO,QAAQ,OAAO;AAC/B,SAASC,QAAQ,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AACzD,SAASC,kBAAkB,QAAQ,mDAAmD;AACtF,SAASC,YAAY,EAAEC,OAAO,QAAQ,sCAAsC;AAC5E,SAASC,wBAAwB,QAAQ,mDAAmD;AAC5F,SAASC,mBAAmB,QAAQ,gCAAgC;AAMpE,SAASC,yBAAyB,QAAQ,gCAAgC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAO3E,MAAMC,qBAAqB,GAAGA,CAACC,MAAyB,EAAEC,KAAa,KAAK;EAC3E,IAAID,MAAM,CAACE,MAAM,KAAK,CAAC,EAAE;IACxB,OAAO,IAAI;EACZ;;EAEA;EACA;EACA;EACA;EACA,MAAMC,UAAU,GAAGC,IAAI,CAACC,GAAG,CAACJ,KAAK,EAAED,MAAM,CAACE,MAAM,GAAG,CAAC,CAAC;EAErD,KAAK,IAAII,CAAC,GAAGH,UAAU,EAAEG,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;IACrC,MAAMC,KAAK,GAAGP,MAAM,CAACM,CAAC,CAAC;IACvB,MAAME,OAAO,GAAGD,KAAK,EAAEE,UAAU,EAAED,OAAO;IAE1C,IAAIA,OAAO,EAAEE,WAAW,KAAK,OAAO,IAAIF,OAAO,EAAEG,YAAY,EAAE;MAC9D,OAAO;QAAEJ,KAAK;QAAEK,YAAY,EAAEN;MAAE,CAAC;IAClC;EACD;EAEA,OAAO,IAAI;AACZ,CAAC;AAED,MAAMO,WAAW,GAAGA,CAAC;EAAEN,KAAK;EAAEO;AAA6B,CAAC,KAAK;EAChE,MAAMC,gBAAgB,GAAGR,KAAK,CAACE,UAAU,CAACD,OAAO,CAACQ,OAAO;EAEzD,MAAM;IAAEC,gBAAgB;IAAEC;EAAsB,CAAC,GAAGvB,mBAAmB,CAAC,CAAC;EACzE,MAAM;IAAEK,MAAM;IAAEmB;EAAO,CAAC,GAAGvB,yBAAyB,CAAC,CAAC;EAEtD,MAAMwB,iBAAiB,GAAGjC,OAAO,CAAC,MAAM;IACvC,OAAOa,MAAM,CAACqB,SAAS,CACrBC,UAAU,IAAKA,UAAU,CAACC,KAAK,CAACC,GAAG,KAAKjB,KAAK,CAACgB,KAAK,CAACC,GACtD,CAAC;EACF,CAAC,EAAE,CAACxB,MAAM,EAAEO,KAAK,CAACgB,KAAK,CAACC,GAAG,CAAC,CAAC;EAE7B,MAAMC,YAAY,GAAGtC,OAAO,CAAC,MAAM;IAClC,IAAIiC,iBAAiB,KAAK,CAAC,CAAC,EAAE;MAC7B,OAAOb,KAAK;IACb;IAEA,MAAMmB,SAAS,GAAGtB,IAAI,CAACC,GAAG,CAACL,MAAM,CAACE,MAAM,GAAGkB,iBAAiB,GAAG,CAAC,EAAE,CAAC,CAAC;IACpE,MAAMO,eAAe,GAAGvB,IAAI,CAACwB,GAAG,CAC/BxB,IAAI,CAACC,GAAG,CAACa,qBAAqB,EAAE,CAAC,CAAC,EAClCQ,SACD,CAAC;IAED,OAAO1B,MAAM,CAACoB,iBAAiB,GAAGO,eAAe,CAAC,IAAIpB,KAAK;EAC5D,CAAC,EAAE,CAACa,iBAAiB,EAAEF,qBAAqB,EAAElB,MAAM,EAAEO,KAAK,CAAC,CAAC;EAE7D,MAAMsB,eAAe,GAAGtC,kBAAkB,CAAC,CAAC;EAE5C,IAAI,CAACwB,gBAAgB,EAAE;IACtB,OAAO,IAAI;EACZ;EAEA,MAAMe,YAAoC,GAAG;IAC5CX,MAAM;IACNF,gBAAgB;IAChBY,eAAe;IACfE,YAAY,EAAEN,YAAY,CAACF,KAAK;IAChCS,YAAY,EAAEd,qBAAqB;IACnCe,cAAc,EAAER,YAAY,CAAChB,UAAU,CAACD,OAAO,CAACyB,cAAc;IAC9DC,UAAU,EAAE3B,KAAK,CAACE,UAAU,CAACyB;EAC9B,CAAC;EAED,oBACCpC,IAAA,CAACV,QAAQ,CAACE,IAAI;IACb6C,aAAa,EAAC,UAAU;IACxBC,KAAK,EAAE,CACNC,MAAM,CAACC,SAAS,EAChBxB,UAAU,GAAGuB,MAAM,CAACE,QAAQ,GAAG;MAAEC,MAAM,EAAE;IAAE,CAAC,EAC5CH,MAAM,CAACI,QAAQ,CACd;IAAAC,QAAA,eAEF5C,IAAA,CAACb,iBAAiB,CAAC0D,QAAQ;MAACC,KAAK,EAAErC,KAAK,CAACE,UAAU,CAACyB,UAAW;MAAAQ,QAAA,eAC9D5C,IAAA,CAACZ,sBAAsB,CAACyD,QAAQ;QAACC,KAAK,EAAErC,KAAK,CAACgB,KAAM;QAAAmB,QAAA,eACnD5C,IAAA,CAACR,IAAI;UAAC6C,aAAa,EAAC,UAAU;UAACC,KAAK,EAAEC,MAAM,CAACrB,OAAQ;UAAA0B,QAAA,eACpD5C,IAAA,CAACiB,gBAAgB;YAAA,GAAKe;UAAY,CAAG;QAAC,CACjC;MAAC,CACyB;IAAC,CACP;EAAC,CACf,CAAC;AAElB,CAAC;AAED,MAAMe,YAAY,GAAGA,CAAA,KAAM;EAC1B,MAAM;IAAE7C,MAAM;IAAEgC;EAAa,CAAC,GAAGpC,yBAAyB,CAAC,CAAC;EAE5D,MAAMkD,aAAa,GAAG3D,OAAO,CAC5B,MAAMY,qBAAqB,CAACC,MAAM,EAAEgC,YAAY,CAAC,EACjD,CAAChC,MAAM,EAAEgC,YAAY,CACtB,CAAC;EAED,IAAI,CAACc,aAAa,EAAE;IACnB,OAAO,IAAI;EACZ;EAEA,MAAM;IAAEvC,KAAK;IAAEK;EAAa,CAAC,GAAGkC,aAAa;EAE7C,MAAMC,QAAQ,GAAG/C,MAAM,CAACY,YAAY,GAAG,CAAC,CAAC,EAAEH,UAAU;EACrD,MAAMuC,OAAO,GAAGzC,KAAK,CAACE,UAAU;EAChC,MAAMwC,IAAI,GAAGjD,MAAM,CAACY,YAAY,GAAG,CAAC,CAAC,EAAEH,UAAU;EAEjD,oBACCX,IAAA,CAACN,YAAY;IAACwD,OAAO,EAAEA,OAAQ;IAACD,QAAQ,EAAEA,QAAS;IAACE,IAAI,EAAEA,IAAK;IAAAP,QAAA,eAC9D5C,IAAA,CAACJ,wBAAwB;MAAAgD,QAAA,eACxB5C,IAAA,CAACe,WAAW;QAACN,KAAK,EAAEA,KAAM;QAACO,UAAU;MAAA,CAAE;IAAC,CACf;EAAC,CACd,CAAC;AAEjB,CAAC;AAED,MAAMoC,aAAa,GAAGA,CAAA,KAAM;EAC3B,MAAM;IAAEF;EAAQ,CAAC,GAAGvD,OAAO,CAAuB,CAAC;EAEnD,MAAMe,OAAO,GAAGwC,OAAO,CAACxC,OAAO;EAE/B,IAAI,CAACA,OAAO,CAACG,YAAY,IAAIH,OAAO,CAACE,WAAW,KAAK,QAAQ,EAAE;IAC9D,OAAO,IAAI;EACZ;EAEA,MAAMH,KAAsB,GAAG;IAC9BE,UAAU,EAAEuC,OAAO;IACnBzB,KAAK,EAAEyB,OAAO,CAACzB;EAChB,CAAC;EAED,oBAAOzB,IAAA,CAACe,WAAW;IAACN,KAAK,EAAEA;EAAM,CAAE,CAAC;AACrC,CAAC;AAED,OAAO,MAAM4C,OAAO,GAAG;EACtBC,KAAK,EAAEP,YAAY;EACnBQ,MAAM,EAAEH;AACT,CAAC;AAED,MAAMb,MAAM,GAAGhD,UAAU,CAACiE,MAAM,CAAC;EAChCtC,OAAO,EAAE;IACR,GAAG3B,UAAU,CAACkE,kBAAkB;IAChCf,MAAM,EAAE;EACT,CAAC;EACDF,SAAS,EAAE;IACVkB,IAAI,EAAE;EACP,CAAC;EACDf,QAAQ,EAAEpD,UAAU,CAACkE,kBAAkB;EACvChB,QAAQ,EAAE;IACTC,MAAM,EAAE;EACT;AACD,CAAC,CAAC","ignoreList":[]}