react-native-screen-transitions 3.6.0 → 3.7.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (397) hide show
  1. package/README.md +2 -2
  2. package/lib/commonjs/blank-stack/components/stack-view.js +35 -39
  3. package/lib/commonjs/blank-stack/components/stack-view.js.map +1 -1
  4. package/lib/commonjs/blank-stack/navigators/create-blank-stack-navigator.js +7 -14
  5. package/lib/commonjs/blank-stack/navigators/create-blank-stack-navigator.js.map +1 -1
  6. package/lib/commonjs/component-stack/components/stack-view.js +4 -11
  7. package/lib/commonjs/component-stack/components/stack-view.js.map +1 -1
  8. package/lib/commonjs/component-stack/navigators/create-component-stack-navigator.js +1 -1
  9. package/lib/commonjs/native-stack/navigators/createNativeStackNavigator.js +6 -0
  10. package/lib/commonjs/native-stack/navigators/createNativeStackNavigator.js.map +1 -1
  11. package/lib/commonjs/shared/adapters/with-screen-transitions/context.js +28 -0
  12. package/lib/commonjs/shared/adapters/with-screen-transitions/context.js.map +1 -0
  13. package/lib/commonjs/shared/adapters/with-screen-transitions/index.js +69 -0
  14. package/lib/commonjs/shared/adapters/with-screen-transitions/index.js.map +1 -0
  15. package/lib/commonjs/shared/adapters/with-screen-transitions/options.js +57 -0
  16. package/lib/commonjs/shared/adapters/with-screen-transitions/options.js.map +1 -0
  17. package/lib/commonjs/shared/adapters/with-screen-transitions/stack-layout.js +143 -0
  18. package/lib/commonjs/shared/adapters/with-screen-transitions/stack-layout.js.map +1 -0
  19. package/lib/commonjs/shared/adapters/with-screen-transitions/types.js +6 -0
  20. package/lib/commonjs/shared/adapters/with-screen-transitions/types.js.map +1 -0
  21. package/lib/commonjs/shared/components/activity/helpers.js +9 -0
  22. package/lib/commonjs/shared/components/activity/helpers.js.map +1 -0
  23. package/lib/commonjs/shared/components/activity/index.js +20 -0
  24. package/lib/commonjs/shared/components/activity/index.js.map +1 -0
  25. package/lib/commonjs/shared/components/activity/variants/activity-container.js +29 -0
  26. package/lib/commonjs/shared/components/activity/variants/activity-container.js.map +1 -0
  27. package/lib/commonjs/shared/components/activity/variants/activity-screen.js +107 -0
  28. package/lib/commonjs/shared/components/activity/variants/activity-screen.js.map +1 -0
  29. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-measurer.js +10 -4
  30. package/lib/commonjs/shared/components/create-boundary-component/hooks/use-measurer.js.map +1 -1
  31. package/lib/commonjs/shared/components/create-boundary-component/utils/measured-bounds.js +13 -1
  32. package/lib/commonjs/shared/components/create-boundary-component/utils/measured-bounds.js.map +1 -1
  33. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +8 -17
  34. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
  35. package/lib/commonjs/shared/components/screen-lifecycle/index.js +1 -1
  36. package/lib/commonjs/shared/components/screen-lifecycle/index.js.map +1 -1
  37. package/lib/commonjs/shared/hooks/navigation/use-navigation-helpers.js +10 -4
  38. package/lib/commonjs/shared/hooks/navigation/use-navigation-helpers.js.map +1 -1
  39. package/lib/commonjs/shared/hooks/navigation/use-stack.js +63 -6
  40. package/lib/commonjs/shared/hooks/navigation/use-stack.js.map +1 -1
  41. package/lib/commonjs/shared/index.js +8 -0
  42. package/lib/commonjs/shared/index.js.map +1 -1
  43. package/lib/commonjs/shared/providers/screen/descriptors/descriptors.provider.js +18 -29
  44. package/lib/commonjs/shared/providers/screen/descriptors/descriptors.provider.js.map +1 -1
  45. package/lib/commonjs/shared/providers/screen/descriptors/index.js +6 -0
  46. package/lib/commonjs/shared/providers/screen/descriptors/index.js.map +1 -1
  47. package/lib/commonjs/shared/providers/screen/gestures/ownership/resolve-ownership.js +2 -1
  48. package/lib/commonjs/shared/providers/screen/gestures/ownership/resolve-ownership.js.map +1 -1
  49. package/lib/commonjs/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js +1 -1
  50. package/lib/commonjs/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js.map +1 -1
  51. package/lib/commonjs/shared/providers/screen/gestures/pan/pan-lifecycle.js +4 -1
  52. package/lib/commonjs/shared/providers/screen/gestures/pan/pan-lifecycle.js.map +1 -1
  53. package/lib/commonjs/shared/providers/screen/gestures/pan/use-pan-behavior.js +4 -3
  54. package/lib/commonjs/shared/providers/screen/gestures/pan/use-pan-behavior.js.map +1 -1
  55. package/lib/commonjs/shared/providers/screen/gestures/pinch/pinch-lifecycle.js +4 -1
  56. package/lib/commonjs/shared/providers/screen/gestures/pinch/pinch-lifecycle.js.map +1 -1
  57. package/lib/commonjs/shared/providers/screen/gestures/pinch/use-pinch-behavior.js +4 -3
  58. package/lib/commonjs/shared/providers/screen/gestures/pinch/use-pinch-behavior.js.map +1 -1
  59. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js +7 -28
  60. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js.map +1 -1
  61. package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js +16 -1
  62. package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
  63. package/lib/commonjs/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.js +2 -14
  64. package/lib/commonjs/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.js.map +1 -1
  65. package/lib/commonjs/shared/providers/stack/direct.provider.js +4 -3
  66. package/lib/commonjs/shared/providers/stack/direct.provider.js.map +1 -1
  67. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.js +197 -0
  68. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.js.map +1 -0
  69. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.js +58 -0
  70. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.js.map +1 -0
  71. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.js +92 -0
  72. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.js.map +1 -0
  73. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.js +118 -0
  74. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.js.map +1 -0
  75. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/types.js +6 -0
  76. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/types.js.map +1 -0
  77. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/index.js +24 -0
  78. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/index.js.map +1 -0
  79. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.js +131 -0
  80. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.js.map +1 -0
  81. package/lib/commonjs/shared/providers/stack/managed.provider.js +18 -29
  82. package/lib/commonjs/shared/providers/stack/managed.provider.js.map +1 -1
  83. package/lib/commonjs/shared/types/stack.types.js.map +1 -1
  84. package/lib/commonjs/shared/utils/bounds/navigation/reveal/build.js +4 -4
  85. package/lib/commonjs/shared/utils/bounds/navigation/reveal/build.js.map +1 -1
  86. package/lib/commonjs/shared/utils/bounds/navigation/reveal/config.js +2 -1
  87. package/lib/commonjs/shared/utils/bounds/navigation/reveal/config.js.map +1 -1
  88. package/lib/commonjs/shared/utils/create-provider.js +99 -10
  89. package/lib/commonjs/shared/utils/create-provider.js.map +1 -1
  90. package/lib/commonjs/shared/utils/navigation/resolve-scene-neighbors.js +8 -5
  91. package/lib/commonjs/shared/utils/navigation/resolve-scene-neighbors.js.map +1 -1
  92. package/lib/commonjs/shared/utils/navigation/sync-routes-with-removed.js +23 -6
  93. package/lib/commonjs/shared/utils/navigation/sync-routes-with-removed.js.map +1 -1
  94. package/lib/commonjs/shared/utils/visibility-block-offset.js +13 -0
  95. package/lib/commonjs/shared/utils/visibility-block-offset.js.map +1 -0
  96. package/lib/module/blank-stack/components/stack-view.js +36 -40
  97. package/lib/module/blank-stack/components/stack-view.js.map +1 -1
  98. package/lib/module/blank-stack/navigators/create-blank-stack-navigator.js +7 -14
  99. package/lib/module/blank-stack/navigators/create-blank-stack-navigator.js.map +1 -1
  100. package/lib/module/component-stack/components/stack-view.js +4 -11
  101. package/lib/module/component-stack/components/stack-view.js.map +1 -1
  102. package/lib/module/component-stack/navigators/create-component-stack-navigator.js +1 -1
  103. package/lib/module/native-stack/navigators/createNativeStackNavigator.js +6 -0
  104. package/lib/module/native-stack/navigators/createNativeStackNavigator.js.map +1 -1
  105. package/lib/module/shared/adapters/with-screen-transitions/context.js +23 -0
  106. package/lib/module/shared/adapters/with-screen-transitions/context.js.map +1 -0
  107. package/lib/module/shared/adapters/with-screen-transitions/index.js +65 -0
  108. package/lib/module/shared/adapters/with-screen-transitions/index.js.map +1 -0
  109. package/lib/module/shared/adapters/with-screen-transitions/options.js +52 -0
  110. package/lib/module/shared/adapters/with-screen-transitions/options.js.map +1 -0
  111. package/lib/module/shared/adapters/with-screen-transitions/stack-layout.js +138 -0
  112. package/lib/module/shared/adapters/with-screen-transitions/stack-layout.js.map +1 -0
  113. package/lib/module/shared/adapters/with-screen-transitions/types.js +4 -0
  114. package/lib/module/shared/adapters/with-screen-transitions/types.js.map +1 -0
  115. package/lib/module/shared/components/activity/helpers.js +5 -0
  116. package/lib/module/shared/components/activity/helpers.js.map +1 -0
  117. package/lib/module/shared/components/activity/index.js +5 -0
  118. package/lib/module/shared/components/activity/index.js.map +1 -0
  119. package/lib/module/shared/components/activity/variants/activity-container.js +24 -0
  120. package/lib/module/shared/components/activity/variants/activity-container.js.map +1 -0
  121. package/lib/module/shared/components/activity/variants/activity-screen.js +103 -0
  122. package/lib/module/shared/components/activity/variants/activity-screen.js.map +1 -0
  123. package/lib/module/shared/components/create-boundary-component/hooks/use-measurer.js +11 -5
  124. package/lib/module/shared/components/create-boundary-component/hooks/use-measurer.js.map +1 -1
  125. package/lib/module/shared/components/create-boundary-component/utils/measured-bounds.js +11 -0
  126. package/lib/module/shared/components/create-boundary-component/utils/measured-bounds.js.map +1 -1
  127. package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +8 -17
  128. package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
  129. package/lib/module/shared/components/screen-lifecycle/index.js +1 -1
  130. package/lib/module/shared/components/screen-lifecycle/index.js.map +1 -1
  131. package/lib/module/shared/hooks/navigation/use-navigation-helpers.js +11 -5
  132. package/lib/module/shared/hooks/navigation/use-navigation-helpers.js.map +1 -1
  133. package/lib/module/shared/hooks/navigation/use-stack.js +63 -6
  134. package/lib/module/shared/hooks/navigation/use-stack.js.map +1 -1
  135. package/lib/module/shared/index.js +3 -0
  136. package/lib/module/shared/index.js.map +1 -1
  137. package/lib/module/shared/providers/screen/descriptors/descriptors.provider.js +17 -29
  138. package/lib/module/shared/providers/screen/descriptors/descriptors.provider.js.map +1 -1
  139. package/lib/module/shared/providers/screen/descriptors/index.js +1 -1
  140. package/lib/module/shared/providers/screen/descriptors/index.js.map +1 -1
  141. package/lib/module/shared/providers/screen/gestures/ownership/resolve-ownership.js +2 -1
  142. package/lib/module/shared/providers/screen/gestures/ownership/resolve-ownership.js.map +1 -1
  143. package/lib/module/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js +2 -2
  144. package/lib/module/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js.map +1 -1
  145. package/lib/module/shared/providers/screen/gestures/pan/pan-lifecycle.js +5 -2
  146. package/lib/module/shared/providers/screen/gestures/pan/pan-lifecycle.js.map +1 -1
  147. package/lib/module/shared/providers/screen/gestures/pan/use-pan-behavior.js +4 -3
  148. package/lib/module/shared/providers/screen/gestures/pan/use-pan-behavior.js.map +1 -1
  149. package/lib/module/shared/providers/screen/gestures/pinch/pinch-lifecycle.js +5 -2
  150. package/lib/module/shared/providers/screen/gestures/pinch/pinch-lifecycle.js.map +1 -1
  151. package/lib/module/shared/providers/screen/gestures/pinch/use-pinch-behavior.js +4 -3
  152. package/lib/module/shared/providers/screen/gestures/pinch/use-pinch-behavior.js.map +1 -1
  153. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js +7 -28
  154. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js.map +1 -1
  155. package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js +16 -1
  156. package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
  157. package/lib/module/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.js +3 -15
  158. package/lib/module/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.js.map +1 -1
  159. package/lib/module/shared/providers/stack/direct.provider.js +5 -4
  160. package/lib/module/shared/providers/stack/direct.provider.js.map +1 -1
  161. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.js +192 -0
  162. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.js.map +1 -0
  163. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.js +53 -0
  164. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.js.map +1 -0
  165. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.js +78 -0
  166. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.js.map +1 -0
  167. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.js +113 -0
  168. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.js.map +1 -0
  169. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/types.js +4 -0
  170. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/types.js.map +1 -0
  171. package/lib/module/shared/providers/stack/helpers/managed-stack-state/index.js +19 -0
  172. package/lib/module/shared/providers/stack/helpers/managed-stack-state/index.js.map +1 -0
  173. package/lib/module/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.js +126 -0
  174. package/lib/module/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.js.map +1 -0
  175. package/lib/module/shared/providers/stack/managed.provider.js +19 -30
  176. package/lib/module/shared/providers/stack/managed.provider.js.map +1 -1
  177. package/lib/module/shared/types/stack.types.js.map +1 -1
  178. package/lib/module/shared/utils/bounds/navigation/reveal/build.js +5 -5
  179. package/lib/module/shared/utils/bounds/navigation/reveal/build.js.map +1 -1
  180. package/lib/module/shared/utils/bounds/navigation/reveal/config.js +1 -0
  181. package/lib/module/shared/utils/bounds/navigation/reveal/config.js.map +1 -1
  182. package/lib/module/shared/utils/create-provider.js +100 -11
  183. package/lib/module/shared/utils/create-provider.js.map +1 -1
  184. package/lib/module/shared/utils/navigation/resolve-scene-neighbors.js +8 -5
  185. package/lib/module/shared/utils/navigation/resolve-scene-neighbors.js.map +1 -1
  186. package/lib/module/shared/utils/navigation/sync-routes-with-removed.js +23 -6
  187. package/lib/module/shared/utils/navigation/sync-routes-with-removed.js.map +1 -1
  188. package/lib/module/shared/utils/visibility-block-offset.js +8 -0
  189. package/lib/module/shared/utils/visibility-block-offset.js.map +1 -0
  190. package/lib/typescript/blank-stack/components/stack-view.d.ts.map +1 -1
  191. package/lib/typescript/blank-stack/index.d.ts +1 -1
  192. package/lib/typescript/blank-stack/index.d.ts.map +1 -1
  193. package/lib/typescript/blank-stack/navigators/create-blank-stack-navigator.d.ts +4 -6
  194. package/lib/typescript/blank-stack/navigators/create-blank-stack-navigator.d.ts.map +1 -1
  195. package/lib/typescript/blank-stack/types.d.ts +41 -29
  196. package/lib/typescript/blank-stack/types.d.ts.map +1 -1
  197. package/lib/typescript/component-stack/components/stack-view.d.ts.map +1 -1
  198. package/lib/typescript/component-stack/navigators/create-component-stack-navigator.d.ts +1 -1
  199. package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts +5 -0
  200. package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts.map +1 -1
  201. package/lib/typescript/native-stack/types.d.ts +25 -0
  202. package/lib/typescript/native-stack/types.d.ts.map +1 -1
  203. package/lib/typescript/shared/adapters/with-screen-transitions/context.d.ts +15 -0
  204. package/lib/typescript/shared/adapters/with-screen-transitions/context.d.ts.map +1 -0
  205. package/lib/typescript/shared/adapters/with-screen-transitions/index.d.ts +10 -0
  206. package/lib/typescript/shared/adapters/with-screen-transitions/index.d.ts.map +1 -0
  207. package/lib/typescript/shared/adapters/with-screen-transitions/options.d.ts +9 -0
  208. package/lib/typescript/shared/adapters/with-screen-transitions/options.d.ts.map +1 -0
  209. package/lib/typescript/shared/adapters/with-screen-transitions/stack-layout.d.ts +12 -0
  210. package/lib/typescript/shared/adapters/with-screen-transitions/stack-layout.d.ts.map +1 -0
  211. package/lib/typescript/shared/adapters/with-screen-transitions/types.d.ts +24 -0
  212. package/lib/typescript/shared/adapters/with-screen-transitions/types.d.ts.map +1 -0
  213. package/lib/typescript/shared/components/activity/helpers.d.ts +4 -0
  214. package/lib/typescript/shared/components/activity/helpers.d.ts.map +1 -0
  215. package/lib/typescript/shared/components/activity/index.d.ts +3 -0
  216. package/lib/typescript/shared/components/activity/index.d.ts.map +1 -0
  217. package/lib/typescript/shared/components/activity/variants/activity-container.d.ts +6 -0
  218. package/lib/typescript/shared/components/activity/variants/activity-container.d.ts.map +1 -0
  219. package/lib/typescript/shared/components/activity/variants/activity-screen.d.ts +13 -0
  220. package/lib/typescript/shared/components/activity/variants/activity-screen.d.ts.map +1 -0
  221. package/lib/typescript/shared/components/create-boundary-component/hooks/use-measurer.d.ts.map +1 -1
  222. package/lib/typescript/shared/components/create-boundary-component/index.d.ts +2 -2
  223. package/lib/typescript/shared/components/create-boundary-component/utils/measured-bounds.d.ts +1 -0
  224. package/lib/typescript/shared/components/create-boundary-component/utils/measured-bounds.d.ts.map +1 -1
  225. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts +1 -2
  226. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts.map +1 -1
  227. package/lib/typescript/shared/hooks/navigation/use-navigation-helpers.d.ts +1 -0
  228. package/lib/typescript/shared/hooks/navigation/use-navigation-helpers.d.ts.map +1 -1
  229. package/lib/typescript/shared/hooks/navigation/use-stack.d.ts +13 -1
  230. package/lib/typescript/shared/hooks/navigation/use-stack.d.ts.map +1 -1
  231. package/lib/typescript/shared/index.d.ts +15 -11
  232. package/lib/typescript/shared/index.d.ts.map +1 -1
  233. package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts +11 -3
  234. package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts.map +1 -1
  235. package/lib/typescript/shared/providers/screen/descriptors/index.d.ts +1 -1
  236. package/lib/typescript/shared/providers/screen/descriptors/index.d.ts.map +1 -1
  237. package/lib/typescript/shared/providers/screen/gestures/ownership/resolve-ownership.d.ts.map +1 -1
  238. package/lib/typescript/shared/providers/screen/gestures/pan/pan-lifecycle.d.ts +1 -1
  239. package/lib/typescript/shared/providers/screen/gestures/pan/pan-lifecycle.d.ts.map +1 -1
  240. package/lib/typescript/shared/providers/screen/gestures/pan/use-pan-behavior.d.ts.map +1 -1
  241. package/lib/typescript/shared/providers/screen/gestures/pinch/pinch-lifecycle.d.ts +1 -1
  242. package/lib/typescript/shared/providers/screen/gestures/pinch/pinch-lifecycle.d.ts.map +1 -1
  243. package/lib/typescript/shared/providers/screen/gestures/pinch/use-pinch-behavior.d.ts.map +1 -1
  244. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/index.d.ts +1 -2
  245. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/index.d.ts.map +1 -1
  246. package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts +3 -1
  247. package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts.map +1 -1
  248. package/lib/typescript/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.d.ts.map +1 -1
  249. package/lib/typescript/shared/providers/stack/direct.provider.d.ts.map +1 -1
  250. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.d.ts +13 -0
  251. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.d.ts.map +1 -0
  252. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.d.ts +12 -0
  253. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.d.ts.map +1 -0
  254. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.d.ts +13 -0
  255. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.d.ts.map +1 -0
  256. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.d.ts +12 -0
  257. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.d.ts.map +1 -0
  258. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/types.d.ts +40 -0
  259. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/types.d.ts.map +1 -0
  260. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/index.d.ts +12 -0
  261. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/index.d.ts.map +1 -0
  262. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.d.ts +13 -0
  263. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.d.ts.map +1 -0
  264. package/lib/typescript/shared/providers/stack/managed.provider.d.ts.map +1 -1
  265. package/lib/typescript/shared/types/bounds.types.d.ts +19 -0
  266. package/lib/typescript/shared/types/bounds.types.d.ts.map +1 -1
  267. package/lib/typescript/shared/types/index.d.ts +2 -2
  268. package/lib/typescript/shared/types/index.d.ts.map +1 -1
  269. package/lib/typescript/shared/types/providers/managed-stack.types.d.ts +3 -9
  270. package/lib/typescript/shared/types/providers/managed-stack.types.d.ts.map +1 -1
  271. package/lib/typescript/shared/types/screen.types.d.ts +24 -0
  272. package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
  273. package/lib/typescript/shared/types/stack.types.d.ts +7 -0
  274. package/lib/typescript/shared/types/stack.types.d.ts.map +1 -1
  275. package/lib/typescript/shared/utils/bounds/navigation/reveal/build.d.ts.map +1 -1
  276. package/lib/typescript/shared/utils/bounds/navigation/reveal/config.d.ts +1 -0
  277. package/lib/typescript/shared/utils/bounds/navigation/reveal/config.d.ts.map +1 -1
  278. package/lib/typescript/shared/utils/create-provider.d.ts +17 -3
  279. package/lib/typescript/shared/utils/create-provider.d.ts.map +1 -1
  280. package/lib/typescript/shared/utils/navigation/resolve-scene-neighbors.d.ts +2 -1
  281. package/lib/typescript/shared/utils/navigation/resolve-scene-neighbors.d.ts.map +1 -1
  282. package/lib/typescript/shared/utils/navigation/sync-routes-with-removed.d.ts +2 -1
  283. package/lib/typescript/shared/utils/navigation/sync-routes-with-removed.d.ts.map +1 -1
  284. package/lib/typescript/shared/utils/visibility-block-offset.d.ts +2 -0
  285. package/lib/typescript/shared/utils/visibility-block-offset.d.ts.map +1 -0
  286. package/package.json +11 -1
  287. package/src/blank-stack/components/stack-view.tsx +54 -48
  288. package/src/blank-stack/index.ts +1 -0
  289. package/src/blank-stack/navigators/create-blank-stack-navigator.tsx +7 -15
  290. package/src/blank-stack/types.ts +44 -29
  291. package/src/component-stack/components/stack-view.tsx +4 -11
  292. package/src/component-stack/navigators/create-component-stack-navigator.tsx +1 -1
  293. package/src/native-stack/navigators/createNativeStackNavigator.tsx +5 -0
  294. package/src/native-stack/types.ts +25 -0
  295. package/src/shared/adapters/with-screen-transitions/context.tsx +42 -0
  296. package/src/shared/adapters/with-screen-transitions/index.tsx +150 -0
  297. package/src/shared/adapters/with-screen-transitions/options.ts +101 -0
  298. package/src/shared/adapters/with-screen-transitions/stack-layout.tsx +233 -0
  299. package/src/shared/adapters/with-screen-transitions/types.ts +28 -0
  300. package/src/shared/components/activity/helpers.ts +8 -0
  301. package/src/shared/components/activity/index.tsx +2 -0
  302. package/src/shared/components/activity/variants/activity-container.tsx +25 -0
  303. package/src/shared/components/activity/variants/activity-screen.tsx +133 -0
  304. package/src/shared/components/create-boundary-component/hooks/use-measurer.ts +23 -4
  305. package/src/shared/components/create-boundary-component/utils/measured-bounds.ts +15 -0
  306. package/src/shared/components/screen-lifecycle/hooks/use-close-transition-intent.ts +9 -26
  307. package/src/shared/components/screen-lifecycle/index.tsx +1 -1
  308. package/src/shared/hooks/navigation/use-navigation-helpers.ts +9 -3
  309. package/src/shared/hooks/navigation/use-stack.tsx +115 -6
  310. package/src/shared/index.ts +5 -0
  311. package/src/shared/providers/screen/descriptors/descriptors.provider.tsx +31 -31
  312. package/src/shared/providers/screen/descriptors/index.tsx +1 -0
  313. package/src/shared/providers/screen/gestures/ownership/resolve-ownership.ts +2 -1
  314. package/src/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.ts +2 -2
  315. package/src/shared/providers/screen/gestures/pan/pan-lifecycle.ts +7 -2
  316. package/src/shared/providers/screen/gestures/pan/use-pan-behavior.ts +10 -2
  317. package/src/shared/providers/screen/gestures/pinch/pinch-lifecycle.ts +7 -2
  318. package/src/shared/providers/screen/gestures/pinch/use-pinch-behavior.ts +8 -3
  319. package/src/shared/providers/screen/styles/helpers/resolve-slot-styles/index.ts +12 -53
  320. package/src/shared/providers/screen/styles/hooks/use-maybe-block-visibility.tsx +17 -1
  321. package/src/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.tsx +3 -16
  322. package/src/shared/providers/stack/direct.provider.tsx +13 -4
  323. package/src/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.ts +365 -0
  324. package/src/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.ts +121 -0
  325. package/src/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.ts +158 -0
  326. package/src/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.ts +188 -0
  327. package/src/shared/providers/stack/helpers/managed-stack-state/helpers/types.ts +57 -0
  328. package/src/shared/providers/stack/helpers/managed-stack-state/index.ts +40 -0
  329. package/src/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.ts +160 -0
  330. package/src/shared/providers/stack/managed.provider.tsx +23 -39
  331. package/src/shared/types/bounds.types.ts +19 -0
  332. package/src/shared/types/index.ts +3 -0
  333. package/src/shared/types/providers/managed-stack.types.ts +6 -8
  334. package/src/shared/types/screen.types.ts +25 -0
  335. package/src/shared/types/stack.types.ts +11 -0
  336. package/src/shared/utils/bounds/navigation/reveal/build.ts +10 -6
  337. package/src/shared/utils/bounds/navigation/reveal/config.ts +1 -0
  338. package/src/shared/utils/create-provider.tsx +183 -8
  339. package/src/shared/utils/navigation/resolve-scene-neighbors.ts +9 -4
  340. package/src/shared/utils/navigation/sync-routes-with-removed.ts +38 -7
  341. package/src/shared/utils/visibility-block-offset.ts +4 -0
  342. package/lib/commonjs/blank-stack/components/stack-view.native.js +0 -64
  343. package/lib/commonjs/blank-stack/components/stack-view.native.js.map +0 -1
  344. package/lib/commonjs/shared/components/native-screen-container.js +0 -42
  345. package/lib/commonjs/shared/components/native-screen-container.js.map +0 -1
  346. package/lib/commonjs/shared/components/native-screen.js +0 -125
  347. package/lib/commonjs/shared/components/native-screen.js.map +0 -1
  348. package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.js +0 -51
  349. package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.js.map +0 -1
  350. package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.js +0 -15
  351. package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.js.map +0 -1
  352. package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.js +0 -14
  353. package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.js.map +0 -1
  354. package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.js +0 -13
  355. package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.js.map +0 -1
  356. package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/index.js +0 -101
  357. package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/index.js.map +0 -1
  358. package/lib/module/blank-stack/components/stack-view.native.js +0 -60
  359. package/lib/module/blank-stack/components/stack-view.native.js.map +0 -1
  360. package/lib/module/shared/components/native-screen-container.js +0 -37
  361. package/lib/module/shared/components/native-screen-container.js.map +0 -1
  362. package/lib/module/shared/components/native-screen.js +0 -119
  363. package/lib/module/shared/components/native-screen.js.map +0 -1
  364. package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.js +0 -47
  365. package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.js.map +0 -1
  366. package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.js +0 -10
  367. package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.js.map +0 -1
  368. package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.js +0 -9
  369. package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.js.map +0 -1
  370. package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.js +0 -8
  371. package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.js.map +0 -1
  372. package/lib/module/shared/providers/stack/helpers/use-local-routes/index.js +0 -95
  373. package/lib/module/shared/providers/stack/helpers/use-local-routes/index.js.map +0 -1
  374. package/lib/typescript/blank-stack/components/stack-view.native.d.ts +0 -3
  375. package/lib/typescript/blank-stack/components/stack-view.native.d.ts.map +0 -1
  376. package/lib/typescript/shared/components/native-screen-container.d.ts +0 -6
  377. package/lib/typescript/shared/components/native-screen-container.d.ts.map +0 -1
  378. package/lib/typescript/shared/components/native-screen.d.ts +0 -12
  379. package/lib/typescript/shared/components/native-screen.d.ts.map +0 -1
  380. package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.d.ts +0 -10
  381. package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.d.ts.map +0 -1
  382. package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.d.ts +0 -2
  383. package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.d.ts.map +0 -1
  384. package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.d.ts +0 -3
  385. package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.d.ts.map +0 -1
  386. package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.d.ts +0 -3
  387. package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.d.ts.map +0 -1
  388. package/lib/typescript/shared/providers/stack/helpers/use-local-routes/index.d.ts +0 -19
  389. package/lib/typescript/shared/providers/stack/helpers/use-local-routes/index.d.ts.map +0 -1
  390. package/src/blank-stack/components/stack-view.native.tsx +0 -74
  391. package/src/shared/components/native-screen-container.tsx +0 -33
  392. package/src/shared/components/native-screen.tsx +0 -176
  393. package/src/shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.ts +0 -65
  394. package/src/shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.ts +0 -15
  395. package/src/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.ts +0 -12
  396. package/src/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.ts +0 -11
  397. package/src/shared/providers/stack/helpers/use-local-routes/index.ts +0 -147
@@ -2,6 +2,8 @@ import type { useClosingRouteKeys } from "../../hooks/navigation/use-closing-rou
2
2
  import type { RouteWithKey } from "../../types/stack.types";
3
3
  import { composeDescriptors } from "./compose-descriptors";
4
4
 
5
+ type ClosingRouteKeys = Set<string> | ReturnType<typeof useClosingRouteKeys>;
6
+
5
7
  type SyncRoutesWithRemovedParams<
6
8
  Route extends RouteWithKey,
7
9
  DescriptorMap extends Record<string, unknown>,
@@ -10,7 +12,36 @@ type SyncRoutesWithRemovedParams<
10
12
  prevDescriptors: DescriptorMap;
11
13
  nextRoutes: Route[];
12
14
  nextDescriptors: DescriptorMap;
13
- closingRouteKeys: ReturnType<typeof useClosingRouteKeys>;
15
+ closingRouteKeys: ClosingRouteKeys;
16
+ };
17
+
18
+ const addClosingRouteKey = (
19
+ closingRouteKeys: ClosingRouteKeys,
20
+ key: string,
21
+ ) => {
22
+ closingRouteKeys.add(key);
23
+ };
24
+
25
+ const deleteClosingRouteKey = (
26
+ closingRouteKeys: ClosingRouteKeys,
27
+ key: string,
28
+ ) => {
29
+ if (closingRouteKeys instanceof Set) {
30
+ closingRouteKeys.delete(key);
31
+ return;
32
+ }
33
+
34
+ closingRouteKeys.remove(key);
35
+ };
36
+
37
+ const getClosingRouteKeyValues = (
38
+ closingRouteKeys: ClosingRouteKeys,
39
+ ): Iterable<string> => {
40
+ if (closingRouteKeys instanceof Set) {
41
+ return closingRouteKeys;
42
+ }
43
+
44
+ return closingRouteKeys.ref.current;
14
45
  };
15
46
 
16
47
  /**
@@ -60,16 +91,16 @@ export const syncRoutesWithRemoved = <
60
91
 
61
92
  if (nextRouteWasPresent && !previousRouteStillPresent) {
62
93
  // Previous route was removed, mark as closing
63
- closingRouteKeys.add(previousFocusedRoute.key);
94
+ addClosingRouteKey(closingRouteKeys, previousFocusedRoute.key);
64
95
 
65
96
  derivedRoutes.push(previousFocusedRoute);
66
97
  } else {
67
98
  // Next route is now active, not closing
68
- closingRouteKeys.remove(nextFocusedRoute.key);
99
+ deleteClosingRouteKey(closingRouteKeys, nextFocusedRoute.key);
69
100
 
70
101
  if (!previousRouteStillPresent) {
71
102
  // Previous route needs to be inserted for transition
72
- closingRouteKeys.remove(previousFocusedRoute.key);
103
+ deleteClosingRouteKey(closingRouteKeys, previousFocusedRoute.key);
73
104
 
74
105
  const insertIndex = Math.max(derivedRoutes.length - 1, 0);
75
106
  derivedRoutes.splice(insertIndex, 0, previousFocusedRoute);
@@ -77,14 +108,14 @@ export const syncRoutesWithRemoved = <
77
108
  }
78
109
  } else if (nextFocusedRoute) {
79
110
  // Same focused route, ensure it's not marked as closing
80
- closingRouteKeys.remove(nextFocusedRoute.key);
111
+ deleteClosingRouteKey(closingRouteKeys, nextFocusedRoute.key);
81
112
  }
82
113
 
83
114
  // Clean up closing keys that are no longer in the route list
84
115
  const activeKeys = new Set(derivedRoutes.map((route) => route.key));
85
- for (const key of Array.from(closingRouteKeys.ref.current)) {
116
+ for (const key of Array.from(getClosingRouteKeyValues(closingRouteKeys))) {
86
117
  if (!activeKeys.has(key)) {
87
- closingRouteKeys.remove(key);
118
+ deleteClosingRouteKey(closingRouteKeys, key);
88
119
  }
89
120
  }
90
121
 
@@ -0,0 +1,4 @@
1
+ export const getVisibilityBlockOffset = (viewportHeight: number): number => {
2
+ "worklet";
3
+ return viewportHeight * 2 + 1;
4
+ };
@@ -1,64 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.StackView = void 0;
7
- var _react = require("react");
8
- var _nativeScreen = require("../../shared/components/native-screen");
9
- var _nativeScreenContainer = require("../../shared/components/native-screen-container");
10
- var _overlay = require("../../shared/components/overlay");
11
- var _sceneView = require("../../shared/components/scene-view");
12
- var _screenComposer = require("../../shared/providers/screen/screen-composer");
13
- var _core = require("../../shared/providers/stack/core.provider");
14
- var _managed = require("../../shared/providers/stack/managed.provider");
15
- var _resolveSceneNeighbors = require("../../shared/utils/navigation/resolve-scene-neighbors");
16
- var _platform = require("../../shared/utils/platform");
17
- var _jsxRuntime = require("react/jsx-runtime");
18
- const StackView = exports.StackView = (0, _core.withStackCore)({
19
- TRANSITIONS_ALWAYS_ON: true,
20
- DISABLE_NATIVE_SCREENS: false
21
- }, (0, _managed.withManagedStack)(({
22
- descriptors,
23
- focusedIndex,
24
- scenes,
25
- shouldShowFloatOverlay,
26
- closingRouteMap
27
- }) => {
28
- const isRouteClosing = routeKey => Boolean(closingRouteMap.current[routeKey]);
29
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.Fragment, {
30
- children: [shouldShowFloatOverlay ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_overlay.Overlay.Float, {}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_nativeScreenContainer.NativeScreenContainer, {
31
- children: scenes.map((scene, sceneIndex) => {
32
- const descriptor = scene.descriptor;
33
- const route = scene.route;
34
- const isFocused = focusedIndex === sceneIndex;
35
- const isBelowFocused = focusedIndex - 1 === sceneIndex;
36
- const {
37
- previousDescriptor,
38
- nextDescriptor
39
- } = (0, _resolveSceneNeighbors.resolveSceneNeighbors)(scenes, sceneIndex, isRouteClosing);
40
- const isPreloaded = descriptors[route.key] === undefined;
41
-
42
- // On Fabric, when screen is frozen, animated and reanimated values are not updated
43
- // due to component being unmounted. To avoid this, we don't freeze the previous screen there
44
- const shouldFreeze = (0, _platform.isFabric)() ? !isPreloaded && !isFocused && !isBelowFocused : !isPreloaded && !isFocused;
45
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_nativeScreen.NativeScreen, {
46
- isPreloaded: isPreloaded,
47
- index: sceneIndex,
48
- routeKey: route.key,
49
- shouldFreeze: shouldFreeze,
50
- freezeOnBlur: descriptor.options.freezeOnBlur,
51
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_screenComposer.ScreenComposer, {
52
- previous: previousDescriptor,
53
- current: descriptor,
54
- next: nextDescriptor,
55
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_sceneView.SceneView, {
56
- descriptor: descriptor
57
- }, route.key)
58
- })
59
- }, route.key);
60
- })
61
- })]
62
- });
63
- }));
64
- //# sourceMappingURL=stack-view.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","require","_nativeScreen","_nativeScreenContainer","_overlay","_sceneView","_screenComposer","_core","_managed","_resolveSceneNeighbors","_platform","_jsxRuntime","StackView","exports","withStackCore","TRANSITIONS_ALWAYS_ON","DISABLE_NATIVE_SCREENS","withManagedStack","descriptors","focusedIndex","scenes","shouldShowFloatOverlay","closingRouteMap","isRouteClosing","routeKey","Boolean","current","jsxs","Fragment","children","jsx","Overlay","Float","NativeScreenContainer","map","scene","sceneIndex","descriptor","route","isFocused","isBelowFocused","previousDescriptor","nextDescriptor","resolveSceneNeighbors","isPreloaded","key","undefined","shouldFreeze","isFabric","NativeScreen","index","freezeOnBlur","options","ScreenComposer","previous","next","SceneView"],"sourceRoot":"../../../../src","sources":["blank-stack/components/stack-view.native.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,eAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,sBAAA,GAAAR,OAAA;AACA,IAAAS,SAAA,GAAAT,OAAA;AAAuD,IAAAU,WAAA,GAAAV,OAAA;AAMhD,MAAMW,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG,IAAAE,mBAAa,EACrC;EAAEC,qBAAqB,EAAE,IAAI;EAAEC,sBAAsB,EAAE;AAAM,CAAC,EAC9D,IAAAC,yBAAgB,EACf,CAAC;EACAC,WAAW;EACXC,YAAY;EACZC,MAAM;EACNC,sBAAsB;EACtBC;AACD,CAAC,KAAK;EACL,MAAMC,cAAc,GAAIC,QAAgB,IACvCC,OAAO,CAACH,eAAe,CAACI,OAAO,CAACF,QAAQ,CAAC,CAAC;EAE3C,oBACC,IAAAb,WAAA,CAAAgB,IAAA,EAAC3B,MAAA,CAAA4B,QAAQ;IAAAC,QAAA,GACPR,sBAAsB,gBAAG,IAAAV,WAAA,CAAAmB,GAAA,EAAC1B,QAAA,CAAA2B,OAAO,CAACC,KAAK,IAAE,CAAC,GAAG,IAAI,eAElD,IAAArB,WAAA,CAAAmB,GAAA,EAAC3B,sBAAA,CAAA8B,qBAAqB;MAAAJ,QAAA,EACpBT,MAAM,CAACc,GAAG,CAAC,CAACC,KAAK,EAAEC,UAAU,KAAK;QAClC,MAAMC,UAAU,GAAGF,KAAK,CAACE,UAAU;QACnC,MAAMC,KAAK,GAAGH,KAAK,CAACG,KAAK;QACzB,MAAMC,SAAS,GAAGpB,YAAY,KAAKiB,UAAU;QAC7C,MAAMI,cAAc,GAAGrB,YAAY,GAAG,CAAC,KAAKiB,UAAU;QAEtD,MAAM;UAAEK,kBAAkB;UAAEC;QAAe,CAAC,GAC3C,IAAAC,4CAAqB,EAACvB,MAAM,EAAEgB,UAAU,EAAEb,cAAc,CAAC;QAE1D,MAAMqB,WAAW,GAAG1B,WAAW,CAACoB,KAAK,CAACO,GAAG,CAAC,KAAKC,SAAS;;QAExD;QACA;QACA,MAAMC,YAAY,GAAG,IAAAC,kBAAQ,EAAC,CAAC,GAC5B,CAACJ,WAAW,IAAI,CAACL,SAAS,IAAI,CAACC,cAAc,GAC7C,CAACI,WAAW,IAAI,CAACL,SAAS;QAC7B,oBACC,IAAA5B,WAAA,CAAAmB,GAAA,EAAC5B,aAAA,CAAA+C,YAAY;UAEZL,WAAW,EAAEA,WAAY;UACzBM,KAAK,EAAEd,UAAW;UAClBZ,QAAQ,EAAEc,KAAK,CAACO,GAAI;UACpBE,YAAY,EAAEA,YAAa;UAC3BI,YAAY,EAAEd,UAAU,CAACe,OAAO,CAACD,YAAa;UAAAtB,QAAA,eAE9C,IAAAlB,WAAA,CAAAmB,GAAA,EAACxB,eAAA,CAAA+C,cAAc;YACdC,QAAQ,EAAEb,kBAAmB;YAC7Bf,OAAO,EAAEW,UAAW;YACpBkB,IAAI,EAAEb,cAAe;YAAAb,QAAA,eAErB,IAAAlB,WAAA,CAAAmB,GAAA,EAACzB,UAAA,CAAAmD,SAAS;cAAiBnB,UAAU,EAAEA;YAAW,GAAlCC,KAAK,CAACO,GAA8B;UAAC,CACtC;QAAC,GAbZP,KAAK,CAACO,GAcE,CAAC;MAEjB,CAAC;IAAC,CACoB,CAAC;EAAA,CACf,CAAC;AAEb,CACD,CACD,CAAC","ignoreList":[]}
@@ -1,42 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.NativeScreenContainer = void 0;
7
- var _reactNative = require("react-native");
8
- var _reactNativeScreens = require("react-native-screens");
9
- var _useStack = require("../hooks/navigation/use-stack");
10
- var _jsxRuntime = require("react/jsx-runtime");
11
- const NativeScreenContainer = ({
12
- children
13
- }) => {
14
- const {
15
- flags: {
16
- DISABLE_NATIVE_SCREENS = false,
17
- DISABLE_NATIVE_SCREEN_CONTAINER = false
18
- }
19
- } = (0, _useStack.useStack)();
20
- if (!DISABLE_NATIVE_SCREENS && !DISABLE_NATIVE_SCREEN_CONTAINER) {
21
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeScreens.ScreenContainer, {
22
- style: styles.container,
23
- children: children
24
- });
25
- }
26
- return (
27
- /*#__PURE__*/
28
- // Mirror ScreenContainer's native boundary when screens are disabled.
29
- (0, _jsxRuntime.jsx)(_reactNative.View, {
30
- collapsable: false,
31
- style: styles.container,
32
- children: children
33
- })
34
- );
35
- };
36
- exports.NativeScreenContainer = NativeScreenContainer;
37
- const styles = _reactNative.StyleSheet.create({
38
- container: {
39
- flex: 1
40
- }
41
- });
42
- //# sourceMappingURL=native-screen-container.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_reactNative","require","_reactNativeScreens","_useStack","_jsxRuntime","NativeScreenContainer","children","flags","DISABLE_NATIVE_SCREENS","DISABLE_NATIVE_SCREEN_CONTAINER","useStack","jsx","ScreenContainer","style","styles","container","View","collapsable","exports","StyleSheet","create","flex"],"sourceRoot":"../../../../src","sources":["shared/components/native-screen-container.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAAyD,IAAAG,WAAA,GAAAH,OAAA;AAMlD,MAAMI,qBAAqB,GAAGA,CAAC;EAAEC;AAAgB,CAAC,KAAK;EAC7D,MAAM;IACLC,KAAK,EAAE;MACNC,sBAAsB,GAAG,KAAK;MAC9BC,+BAA+B,GAAG;IACnC;EACD,CAAC,GAAG,IAAAC,kBAAQ,EAAC,CAAC;EACd,IAAI,CAACF,sBAAsB,IAAI,CAACC,+BAA+B,EAAE;IAChE,oBACC,IAAAL,WAAA,CAAAO,GAAA,EAACT,mBAAA,CAAAU,eAAe;MAACC,KAAK,EAAEC,MAAM,CAACC,SAAU;MAAAT,QAAA,EAAEA;IAAQ,CAAkB,CAAC;EAExE;EACA;IAAA;IACC;IACA,IAAAF,WAAA,CAAAO,GAAA,EAACX,YAAA,CAAAgB,IAAI;MAACC,WAAW,EAAE,KAAM;MAACJ,KAAK,EAAEC,MAAM,CAACC,SAAU;MAAAT,QAAA,EAChDA;IAAQ,CACJ;EAAC;AAET,CAAC;AAACY,OAAA,CAAAb,qBAAA,GAAAA,qBAAA;AAEF,MAAMS,MAAM,GAAGK,uBAAU,CAACC,MAAM,CAAC;EAChCL,SAAS,EAAE;IACVM,IAAI,EAAE;EACP;AACD,CAAC,CAAC","ignoreList":[]}
@@ -1,125 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.NativeScreen = void 0;
7
- var _reactNative = require("react-native");
8
- var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
9
- var _reactNativeScreens = require("react-native-screens");
10
- var _constants = require("../constants");
11
- var _useStack = require("../hooks/navigation/use-stack");
12
- var _managed = require("../providers/stack/managed.provider");
13
- var _animation = require("../stores/animation.store");
14
- var _jsxRuntime = require("react/jsx-runtime");
15
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
16
- const PASSTHROUGH = "passthrough";
17
- var ScreenActivity = /*#__PURE__*/function (ScreenActivity) {
18
- ScreenActivity[ScreenActivity["INACTIVE"] = 0] = "INACTIVE";
19
- ScreenActivity[ScreenActivity["TRANSITIONING_OR_BELOW_TOP"] = 1] = "TRANSITIONING_OR_BELOW_TOP";
20
- ScreenActivity[ScreenActivity["ON_TOP"] = 2] = "ON_TOP";
21
- return ScreenActivity;
22
- }(ScreenActivity || {});
23
- const POINT_NONE = "none";
24
- const POINT_BOX_NONE = "box-none";
25
- const AnimatedNativeScreen = _reactNativeReanimated.default.createAnimatedComponent(_reactNativeScreens.Screen);
26
- const NativeScreen = ({
27
- routeKey,
28
- index,
29
- isPreloaded,
30
- children,
31
- freezeOnBlur,
32
- shouldFreeze
33
- }) => {
34
- const {
35
- flags: {
36
- DISABLE_NATIVE_SCREENS = false
37
- },
38
- routes,
39
- optimisticFocusedIndex
40
- } = (0, _useStack.useStack)();
41
- const {
42
- activeScreensLimit,
43
- backdropBehaviors
44
- } = (0, _managed.useManagedStackContext)();
45
- const routesLength = routes.length;
46
- const topIndex = routesLength - 1;
47
- const topRouteKey = routes[topIndex]?.key ?? routeKey;
48
- const sceneClosing = _animation.AnimationStore.getValue(routeKey, "closing");
49
- const topSceneProgress = _animation.AnimationStore.getValue(topRouteKey, "progress");
50
- const topSceneClosing = _animation.AnimationStore.getValue(topRouteKey, "closing");
51
- const screenActivity = (0, _reactNativeReanimated.useSharedValue)(ScreenActivity.TRANSITIONING_OR_BELOW_TOP);
52
- (0, _reactNativeReanimated.useDerivedValue)(() => {
53
- if (!topSceneProgress) {
54
- screenActivity.set(ScreenActivity.TRANSITIONING_OR_BELOW_TOP);
55
- return;
56
- }
57
- if (index < routesLength - activeScreensLimit - 1 || isPreloaded) {
58
- screenActivity.set(ScreenActivity.INACTIVE);
59
- return;
60
- }
61
- const focusedIndex = optimisticFocusedIndex.get();
62
- const topIsClosing = topSceneClosing.get() > 0 && focusedIndex >= 0 && focusedIndex < topIndex;
63
- if (topIsClosing) {
64
- const postCloseActiveStart = Math.max(0, focusedIndex - activeScreensLimit + 1);
65
- const next = index === topIndex ? ScreenActivity.ON_TOP : index > focusedIndex || index >= postCloseActiveStart ? ScreenActivity.TRANSITIONING_OR_BELOW_TOP : ScreenActivity.INACTIVE;
66
- if (next !== screenActivity.get()) {
67
- screenActivity.set(next);
68
- }
69
- return;
70
- }
71
- const outputValue = index === topIndex ? ScreenActivity.ON_TOP : index >= routesLength - activeScreensLimit ? ScreenActivity.TRANSITIONING_OR_BELOW_TOP : ScreenActivity.INACTIVE;
72
- const v = (0, _reactNativeReanimated.interpolate)(topSceneProgress.get(), [0, 1 - _constants.EPSILON, 1], [1, 1, outputValue], _reactNativeReanimated.Extrapolation.CLAMP);
73
- const next = Math.trunc(v) ?? ScreenActivity.TRANSITIONING_OR_BELOW_TOP;
74
- if (next !== screenActivity.get()) {
75
- screenActivity.set(next);
76
- }
77
- });
78
- const animatedProps = (0, _reactNativeReanimated.useAnimatedProps)(() => {
79
- const activity = screenActivity.get();
80
- const isClosing = sceneClosing.get() > 0;
81
- const activeIndex = optimisticFocusedIndex.get();
82
- const isActive = index === activeIndex;
83
-
84
- // Check if the active screen allows passthrough to the screen below
85
- const activeBackdrop = backdropBehaviors[activeIndex] ?? "block";
86
- const activeAllowsPassthrough = activeBackdrop === PASSTHROUGH;
87
- const isAllowedPassthroughBelow = activeAllowsPassthrough && index === activeIndex - 1;
88
-
89
- // Determine pointer events:
90
- // - "none" if closing (immediately disable touches)
91
- // - "box-none" if this is the active screen
92
- // - "box-none" if the active screen allows passthrough and we're immediately below
93
- // - "none" otherwise (block touches to non-active screens)
94
- const pointerEvents = isClosing || !isActive && !isAllowedPassthroughBelow ? POINT_NONE : POINT_BOX_NONE;
95
- if (!DISABLE_NATIVE_SCREENS) {
96
- return {
97
- activityState: activity,
98
- shouldFreeze: activity === ScreenActivity.INACTIVE && shouldFreeze,
99
- pointerEvents
100
- };
101
- }
102
- return {
103
- pointerEvents
104
- };
105
- });
106
- if (DISABLE_NATIVE_SCREENS) {
107
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
108
- // Keep a native boundary per screen when falling back to plain views.
109
- // Android release builds can otherwise flatten sibling screens together.
110
- collapsable: false,
111
- style: _reactNative.StyleSheet.absoluteFill,
112
- animatedProps: animatedProps,
113
- children: children
114
- });
115
- }
116
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(AnimatedNativeScreen, {
117
- enabled: true,
118
- style: _reactNative.StyleSheet.absoluteFill,
119
- freezeOnBlur: freezeOnBlur,
120
- animatedProps: animatedProps,
121
- children: children
122
- });
123
- };
124
- exports.NativeScreen = NativeScreen;
125
- //# sourceMappingURL=native-screen.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_reactNative","require","_reactNativeReanimated","_interopRequireWildcard","_reactNativeScreens","_constants","_useStack","_managed","_animation","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","PASSTHROUGH","ScreenActivity","POINT_NONE","POINT_BOX_NONE","AnimatedNativeScreen","Animated","createAnimatedComponent","RNSScreen","NativeScreen","routeKey","index","isPreloaded","children","freezeOnBlur","shouldFreeze","flags","DISABLE_NATIVE_SCREENS","routes","optimisticFocusedIndex","useStack","activeScreensLimit","backdropBehaviors","useManagedStackContext","routesLength","length","topIndex","topRouteKey","key","sceneClosing","AnimationStore","getValue","topSceneProgress","topSceneClosing","screenActivity","useSharedValue","TRANSITIONING_OR_BELOW_TOP","useDerivedValue","INACTIVE","focusedIndex","topIsClosing","postCloseActiveStart","Math","max","next","ON_TOP","outputValue","v","interpolate","EPSILON","Extrapolation","CLAMP","trunc","animatedProps","useAnimatedProps","activity","isClosing","activeIndex","isActive","activeBackdrop","activeAllowsPassthrough","isAllowedPassthroughBelow","pointerEvents","activityState","jsx","View","collapsable","style","StyleSheet","absoluteFill","enabled","exports"],"sourceRoot":"../../../../src","sources":["shared/components/native-screen.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,51 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.alignRoutesWithLatest = void 0;
7
- var _composeDescriptors = require("../../../../../utils/navigation/compose-descriptors");
8
- /**
9
- * Aligns current routes with the latest route data while preserving references
10
- * when possible for performance optimization
11
- */
12
- const alignRoutesWithLatest = (currentRoutes, currentDescriptors, nextRoutes, nextDescriptors) => {
13
- // Early return for empty current routes
14
- if (currentRoutes.length === 0) {
15
- return {
16
- routes: nextRoutes,
17
- descriptors: (0, _composeDescriptors.composeDescriptors)(nextRoutes, nextDescriptors, currentDescriptors)
18
- };
19
- }
20
-
21
- // Create lookup map for efficient route finding
22
- const nextRouteLookup = new Map();
23
- for (const route of nextRoutes) {
24
- nextRouteLookup.set(route.key, route);
25
- }
26
-
27
- // Track if any changes occurred
28
- let didChange = currentRoutes.length !== nextRoutes.length;
29
-
30
- // Align routes, updating references where needed
31
- const alignedRoutes = currentRoutes.map(route => {
32
- const nextRoute = nextRouteLookup.get(route.key);
33
- if (!nextRoute) {
34
- return route; // Keep current route if not in next
35
- }
36
- if (nextRoute !== route) {
37
- didChange = true;
38
- return nextRoute; // Update to new route reference
39
- }
40
- return route; // Keep current route reference
41
- });
42
-
43
- // Only create new array if changes occurred
44
- const routesResult = didChange ? alignedRoutes : currentRoutes;
45
- return {
46
- routes: routesResult,
47
- descriptors: (0, _composeDescriptors.composeDescriptors)(routesResult, nextDescriptors, currentDescriptors)
48
- };
49
- };
50
- exports.alignRoutesWithLatest = alignRoutesWithLatest;
51
- //# sourceMappingURL=align-routes-with-latest.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_composeDescriptors","require","alignRoutesWithLatest","currentRoutes","currentDescriptors","nextRoutes","nextDescriptors","length","routes","descriptors","composeDescriptors","nextRouteLookup","Map","route","set","key","didChange","alignedRoutes","map","nextRoute","get","routesResult","exports"],"sourceRoot":"../../../../../../../../src","sources":["shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.ts"],"mappings":";;;;;;AACA,IAAAA,mBAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACO,MAAMC,qBAAqB,GAAGA,CAIpCC,aAAsB,EACtBC,kBAAiC,EACjCC,UAAmB,EACnBC,eAA8B,KACuB;EACrD;EACA,IAAIH,aAAa,CAACI,MAAM,KAAK,CAAC,EAAE;IAC/B,OAAO;MACNC,MAAM,EAAEH,UAAU;MAClBI,WAAW,EAAE,IAAAC,sCAAkB,EAC9BL,UAAU,EACVC,eAAe,EACfF,kBACD;IACD,CAAC;EACF;;EAEA;EACA,MAAMO,eAAe,GAAG,IAAIC,GAAG,CAAgB,CAAC;EAChD,KAAK,MAAMC,KAAK,IAAIR,UAAU,EAAE;IAC/BM,eAAe,CAACG,GAAG,CAACD,KAAK,CAACE,GAAG,EAAEF,KAAK,CAAC;EACtC;;EAEA;EACA,IAAIG,SAAS,GAAGb,aAAa,CAACI,MAAM,KAAKF,UAAU,CAACE,MAAM;;EAE1D;EACA,MAAMU,aAAa,GAAGd,aAAa,CAACe,GAAG,CAAEL,KAAK,IAAK;IAClD,MAAMM,SAAS,GAAGR,eAAe,CAACS,GAAG,CAACP,KAAK,CAACE,GAAG,CAAC;IAEhD,IAAI,CAACI,SAAS,EAAE;MACf,OAAON,KAAK,CAAC,CAAC;IACf;IAEA,IAAIM,SAAS,KAAKN,KAAK,EAAE;MACxBG,SAAS,GAAG,IAAI;MAChB,OAAOG,SAAS,CAAC,CAAC;IACnB;IAEA,OAAON,KAAK,CAAC,CAAC;EACf,CAAC,CAAC;;EAEF;EACA,MAAMQ,YAAY,GAAGL,SAAS,GAAGC,aAAa,GAAGd,aAAa;EAE9D,OAAO;IACNK,MAAM,EAAEa,YAAY;IACpBZ,WAAW,EAAE,IAAAC,sCAAkB,EAC9BW,YAAY,EACZf,eAAe,EACfF,kBACD;EACD,CAAC;AACF,CAAC;AAACkB,OAAA,CAAApB,qBAAA,GAAAA,qBAAA","ignoreList":[]}
@@ -1,15 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.areDescriptorsEqual = void 0;
7
- const areDescriptorsEqual = (a, b) => {
8
- if (a === b) return true;
9
- const aKeys = Object.keys(a);
10
- const bKeys = Object.keys(b);
11
- if (aKeys.length !== bKeys.length) return false;
12
- return aKeys.every(key => a[key] === b[key]);
13
- };
14
- exports.areDescriptorsEqual = areDescriptorsEqual;
15
- //# sourceMappingURL=are-descriptors-equal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["areDescriptorsEqual","a","b","aKeys","Object","keys","bKeys","length","every","key","exports"],"sourceRoot":"../../../../../../../../src","sources":["shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.ts"],"mappings":";;;;;;AAAO,MAAMA,mBAAmB,GAAGA,CAGlCC,CAAgB,EAChBC,CAAgB,KACH;EACb,IAAID,CAAC,KAAKC,CAAC,EAAE,OAAO,IAAI;EAExB,MAAMC,KAAK,GAAGC,MAAM,CAACC,IAAI,CAACJ,CAAC,CAAC;EAC5B,MAAMK,KAAK,GAAGF,MAAM,CAACC,IAAI,CAACH,CAAC,CAAC;EAE5B,IAAIC,KAAK,CAACI,MAAM,KAAKD,KAAK,CAACC,MAAM,EAAE,OAAO,KAAK;EAE/C,OAAOJ,KAAK,CAACK,KAAK,CAAEC,GAAG,IAAKR,CAAC,CAACQ,GAAG,CAAC,KAAKP,CAAC,CAACO,GAAG,CAAC,CAAC;AAC/C,CAAC;AAACC,OAAA,CAAAV,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -1,14 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.haveSameRouteKeys = void 0;
7
- const haveSameRouteKeys = (previous, next) => {
8
- if (previous.length !== next.length) {
9
- return false;
10
- }
11
- return previous.every((route, index) => route?.key === next[index]?.key);
12
- };
13
- exports.haveSameRouteKeys = haveSameRouteKeys;
14
- //# sourceMappingURL=have-same-route-keys.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["haveSameRouteKeys","previous","next","length","every","route","index","key","exports"],"sourceRoot":"../../../../../../../../src","sources":["shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.ts"],"mappings":";;;;;;AAEO,MAAMA,iBAAiB,GAAGA,CAChCC,QAAiB,EACjBC,IAAa,KACA;EACb,IAAID,QAAQ,CAACE,MAAM,KAAKD,IAAI,CAACC,MAAM,EAAE;IACpC,OAAO,KAAK;EACb;EAEA,OAAOF,QAAQ,CAACG,KAAK,CAAC,CAACC,KAAK,EAAEC,KAAK,KAAKD,KAAK,EAAEE,GAAG,KAAKL,IAAI,CAACI,KAAK,CAAC,EAAEC,GAAG,CAAC;AACzE,CAAC;AAACC,OAAA,CAAAR,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -1,13 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.routesAreIdentical = void 0;
7
- const routesAreIdentical = (a, b) => {
8
- if (a === b) return true;
9
- if (a.length !== b.length) return false;
10
- return a.every((route, index) => route === b[index]);
11
- };
12
- exports.routesAreIdentical = routesAreIdentical;
13
- //# sourceMappingURL=routes-are-identical.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["routesAreIdentical","a","b","length","every","route","index","exports"],"sourceRoot":"../../../../../../../../src","sources":["shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.ts"],"mappings":";;;;;;AAEO,MAAMA,kBAAkB,GAAGA,CACjCC,CAAU,EACVC,CAAU,KACG;EACb,IAAID,CAAC,KAAKC,CAAC,EAAE,OAAO,IAAI;EACxB,IAAID,CAAC,CAACE,MAAM,KAAKD,CAAC,CAACC,MAAM,EAAE,OAAO,KAAK;EAEvC,OAAOF,CAAC,CAACG,KAAK,CAAC,CAACC,KAAK,EAAEC,KAAK,KAAKD,KAAK,KAAKH,CAAC,CAACI,KAAK,CAAC,CAAC;AACrD,CAAC;AAACC,OAAA,CAAAP,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -1,101 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useLocalRoutes = void 0;
7
- var _native = require("@react-navigation/native");
8
- var _react = require("react");
9
- var _useClosingRouteKeys = require("../../../../hooks/navigation/use-closing-route-keys");
10
- var _usePrevious = require("../../../../hooks/navigation/use-previous");
11
- var _useStableCallback = _interopRequireDefault(require("../../../../hooks/use-stable-callback"));
12
- var _syncRoutesWithRemoved = require("../../../../utils/navigation/sync-routes-with-removed");
13
- var _alignRoutesWithLatest = require("./helpers/align-routes-with-latest");
14
- var _areDescriptorsEqual = require("./helpers/are-descriptors-equal");
15
- var _haveSameRouteKeys = require("./helpers/have-same-route-keys");
16
- var _routesAreIdentical = require("./helpers/routes-are-identical");
17
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
- const useLocalRoutes = props => {
19
- const previousRoutes = (0, _usePrevious.usePrevious)(props.state.routes) ?? [];
20
- const closingRouteKeys = (0, _useClosingRouteKeys.useClosingRouteKeys)();
21
- const [localState, setLocalState] = (0, _react.useState)(() => ({
22
- routes: props.state.routes,
23
- descriptors: props.descriptors
24
- }));
25
- const localStateRef = (0, _react.useRef)(localState);
26
- (0, _react.useLayoutEffect)(() => {
27
- const nextRoutesSnapshot = props.state.routes;
28
- const previousRoutesSnapshot = previousRoutes;
29
- const current = localStateRef.current;
30
- const alreadyAligned = (0, _routesAreIdentical.routesAreIdentical)(current.routes, nextRoutesSnapshot) && (0, _areDescriptorsEqual.areDescriptorsEqual)(current.descriptors, props.descriptors);
31
- if (alreadyAligned) {
32
- return;
33
- }
34
- const routeKeysUnchanged = (0, _haveSameRouteKeys.haveSameRouteKeys)(previousRoutesSnapshot, nextRoutesSnapshot);
35
- let derivedRoutes;
36
- let derivedDescriptors;
37
- if (routeKeysUnchanged) {
38
- const result = (0, _alignRoutesWithLatest.alignRoutesWithLatest)(current.routes, current.descriptors, nextRoutesSnapshot, props.descriptors);
39
- derivedRoutes = result.routes;
40
- derivedDescriptors = result.descriptors;
41
- } else {
42
- const fallbackRoutes = previousRoutesSnapshot.length > 0 ? previousRoutesSnapshot : current.routes;
43
- const result = (0, _syncRoutesWithRemoved.syncRoutesWithRemoved)({
44
- prevRoutes: fallbackRoutes,
45
- prevDescriptors: current.descriptors,
46
- nextRoutes: nextRoutesSnapshot,
47
- nextDescriptors: props.descriptors,
48
- closingRouteKeys
49
- });
50
- derivedRoutes = result.routes;
51
- derivedDescriptors = result.descriptors;
52
- }
53
- const routesChanged = !(0, _routesAreIdentical.routesAreIdentical)(current.routes, derivedRoutes);
54
- const descriptorsChanged = !(0, _areDescriptorsEqual.areDescriptorsEqual)(current.descriptors, derivedDescriptors);
55
- if (!routesChanged && !descriptorsChanged) {
56
- return;
57
- }
58
- const nextLocalState = {
59
- routes: routesChanged ? derivedRoutes : current.routes,
60
- descriptors: descriptorsChanged ? derivedDescriptors : current.descriptors
61
- };
62
- localStateRef.current = nextLocalState;
63
- setLocalState(nextLocalState);
64
- }, [props.state.routes, props.descriptors, previousRoutes, closingRouteKeys]);
65
- const handleCloseRoute = (0, _useStableCallback.default)(({
66
- route
67
- }) => {
68
- if (props.state.routes.some(r => r.key === route.key)) {
69
- props.navigation.dispatch({
70
- ..._native.StackActions.pop(),
71
- source: route.key,
72
- target: props.state.key
73
- });
74
- return;
75
- }
76
- closingRouteKeys.remove(route.key);
77
- setLocalState(current => {
78
- if (!current.routes.some(candidate => candidate.key === route.key)) {
79
- return current;
80
- }
81
- const nextRoutes = current.routes.filter(candidate => candidate.key !== route.key);
82
- const nextDescriptors = {
83
- ...current.descriptors
84
- };
85
- delete nextDescriptors[route.key];
86
- const nextState = {
87
- routes: nextRoutes,
88
- descriptors: nextDescriptors
89
- };
90
- localStateRef.current = nextState;
91
- return nextState;
92
- });
93
- });
94
- return {
95
- state: localState,
96
- handleCloseRoute,
97
- closingRouteKeys
98
- };
99
- };
100
- exports.useLocalRoutes = useLocalRoutes;
101
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_native","require","_react","_useClosingRouteKeys","_usePrevious","_useStableCallback","_interopRequireDefault","_syncRoutesWithRemoved","_alignRoutesWithLatest","_areDescriptorsEqual","_haveSameRouteKeys","_routesAreIdentical","e","__esModule","default","useLocalRoutes","props","previousRoutes","usePrevious","state","routes","closingRouteKeys","useClosingRouteKeys","localState","setLocalState","useState","descriptors","localStateRef","useRef","useLayoutEffect","nextRoutesSnapshot","previousRoutesSnapshot","current","alreadyAligned","routesAreIdentical","areDescriptorsEqual","routeKeysUnchanged","haveSameRouteKeys","derivedRoutes","derivedDescriptors","result","alignRoutesWithLatest","fallbackRoutes","length","syncRoutesWithRemoved","prevRoutes","prevDescriptors","nextRoutes","nextDescriptors","routesChanged","descriptorsChanged","nextLocalState","handleCloseRoute","useStableCallback","route","some","r","key","navigation","dispatch","StackActions","pop","source","target","remove","candidate","filter","nextState","exports"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/stack/helpers/use-local-routes/index.ts"],"mappings":"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","ignoreList":[]}
@@ -1,60 +0,0 @@
1
- "use strict";
2
-
3
- import { Fragment } from "react";
4
- import { NativeScreen } from "../../shared/components/native-screen";
5
- import { NativeScreenContainer } from "../../shared/components/native-screen-container";
6
- import { Overlay } from "../../shared/components/overlay";
7
- import { SceneView } from "../../shared/components/scene-view";
8
- import { ScreenComposer } from "../../shared/providers/screen/screen-composer";
9
- import { withStackCore } from "../../shared/providers/stack/core.provider";
10
- import { withManagedStack } from "../../shared/providers/stack/managed.provider";
11
- import { resolveSceneNeighbors } from "../../shared/utils/navigation/resolve-scene-neighbors";
12
- import { isFabric } from "../../shared/utils/platform";
13
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
- export const StackView = withStackCore({
15
- TRANSITIONS_ALWAYS_ON: true,
16
- DISABLE_NATIVE_SCREENS: false
17
- }, withManagedStack(({
18
- descriptors,
19
- focusedIndex,
20
- scenes,
21
- shouldShowFloatOverlay,
22
- closingRouteMap
23
- }) => {
24
- const isRouteClosing = routeKey => Boolean(closingRouteMap.current[routeKey]);
25
- return /*#__PURE__*/_jsxs(Fragment, {
26
- children: [shouldShowFloatOverlay ? /*#__PURE__*/_jsx(Overlay.Float, {}) : null, /*#__PURE__*/_jsx(NativeScreenContainer, {
27
- children: scenes.map((scene, sceneIndex) => {
28
- const descriptor = scene.descriptor;
29
- const route = scene.route;
30
- const isFocused = focusedIndex === sceneIndex;
31
- const isBelowFocused = focusedIndex - 1 === sceneIndex;
32
- const {
33
- previousDescriptor,
34
- nextDescriptor
35
- } = resolveSceneNeighbors(scenes, sceneIndex, isRouteClosing);
36
- const isPreloaded = descriptors[route.key] === undefined;
37
-
38
- // On Fabric, when screen is frozen, animated and reanimated values are not updated
39
- // due to component being unmounted. To avoid this, we don't freeze the previous screen there
40
- const shouldFreeze = isFabric() ? !isPreloaded && !isFocused && !isBelowFocused : !isPreloaded && !isFocused;
41
- return /*#__PURE__*/_jsx(NativeScreen, {
42
- isPreloaded: isPreloaded,
43
- index: sceneIndex,
44
- routeKey: route.key,
45
- shouldFreeze: shouldFreeze,
46
- freezeOnBlur: descriptor.options.freezeOnBlur,
47
- children: /*#__PURE__*/_jsx(ScreenComposer, {
48
- previous: previousDescriptor,
49
- current: descriptor,
50
- next: nextDescriptor,
51
- children: /*#__PURE__*/_jsx(SceneView, {
52
- descriptor: descriptor
53
- }, route.key)
54
- })
55
- }, route.key);
56
- })
57
- })]
58
- });
59
- }));
60
- //# sourceMappingURL=stack-view.native.js.map