react-native-screen-transitions 3.6.0 → 3.7.0-alpha.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 (368) 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 +75 -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 +103 -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/hooks/use-maybe-block-visibility.js +16 -1
  60. package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
  61. package/lib/commonjs/shared/providers/stack/direct.provider.js +4 -3
  62. package/lib/commonjs/shared/providers/stack/direct.provider.js.map +1 -1
  63. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.js +199 -0
  64. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.js.map +1 -0
  65. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.js +62 -0
  66. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.js.map +1 -0
  67. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.js +81 -0
  68. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.js.map +1 -0
  69. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.js +123 -0
  70. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.js.map +1 -0
  71. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/types.js +6 -0
  72. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/helpers/types.js.map +1 -0
  73. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/index.js +24 -0
  74. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/index.js.map +1 -0
  75. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.js +131 -0
  76. package/lib/commonjs/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.js.map +1 -0
  77. package/lib/commonjs/shared/providers/stack/managed.provider.js +18 -29
  78. package/lib/commonjs/shared/providers/stack/managed.provider.js.map +1 -1
  79. package/lib/commonjs/shared/types/stack.types.js.map +1 -1
  80. package/lib/commonjs/shared/utils/create-provider.js +99 -10
  81. package/lib/commonjs/shared/utils/create-provider.js.map +1 -1
  82. package/lib/commonjs/shared/utils/navigation/resolve-scene-neighbors.js +8 -5
  83. package/lib/commonjs/shared/utils/navigation/resolve-scene-neighbors.js.map +1 -1
  84. package/lib/commonjs/shared/utils/navigation/sync-routes-with-removed.js +23 -6
  85. package/lib/commonjs/shared/utils/navigation/sync-routes-with-removed.js.map +1 -1
  86. package/lib/commonjs/shared/utils/visibility-block-offset.js +13 -0
  87. package/lib/commonjs/shared/utils/visibility-block-offset.js.map +1 -0
  88. package/lib/module/blank-stack/components/stack-view.js +36 -40
  89. package/lib/module/blank-stack/components/stack-view.js.map +1 -1
  90. package/lib/module/blank-stack/navigators/create-blank-stack-navigator.js +7 -14
  91. package/lib/module/blank-stack/navigators/create-blank-stack-navigator.js.map +1 -1
  92. package/lib/module/component-stack/components/stack-view.js +4 -11
  93. package/lib/module/component-stack/components/stack-view.js.map +1 -1
  94. package/lib/module/component-stack/navigators/create-component-stack-navigator.js +1 -1
  95. package/lib/module/native-stack/navigators/createNativeStackNavigator.js +6 -0
  96. package/lib/module/native-stack/navigators/createNativeStackNavigator.js.map +1 -1
  97. package/lib/module/shared/adapters/with-screen-transitions/context.js +23 -0
  98. package/lib/module/shared/adapters/with-screen-transitions/context.js.map +1 -0
  99. package/lib/module/shared/adapters/with-screen-transitions/index.js +66 -0
  100. package/lib/module/shared/adapters/with-screen-transitions/index.js.map +1 -0
  101. package/lib/module/shared/adapters/with-screen-transitions/options.js +98 -0
  102. package/lib/module/shared/adapters/with-screen-transitions/options.js.map +1 -0
  103. package/lib/module/shared/adapters/with-screen-transitions/stack-layout.js +138 -0
  104. package/lib/module/shared/adapters/with-screen-transitions/stack-layout.js.map +1 -0
  105. package/lib/module/shared/adapters/with-screen-transitions/types.js +4 -0
  106. package/lib/module/shared/adapters/with-screen-transitions/types.js.map +1 -0
  107. package/lib/module/shared/components/activity/helpers.js +5 -0
  108. package/lib/module/shared/components/activity/helpers.js.map +1 -0
  109. package/lib/module/shared/components/activity/index.js +5 -0
  110. package/lib/module/shared/components/activity/index.js.map +1 -0
  111. package/lib/module/shared/components/activity/variants/activity-container.js +24 -0
  112. package/lib/module/shared/components/activity/variants/activity-container.js.map +1 -0
  113. package/lib/module/shared/components/activity/variants/activity-screen.js +103 -0
  114. package/lib/module/shared/components/activity/variants/activity-screen.js.map +1 -0
  115. package/lib/module/shared/components/create-boundary-component/hooks/use-measurer.js +11 -5
  116. package/lib/module/shared/components/create-boundary-component/hooks/use-measurer.js.map +1 -1
  117. package/lib/module/shared/components/create-boundary-component/utils/measured-bounds.js +11 -0
  118. package/lib/module/shared/components/create-boundary-component/utils/measured-bounds.js.map +1 -1
  119. package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +8 -17
  120. package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
  121. package/lib/module/shared/components/screen-lifecycle/index.js +1 -1
  122. package/lib/module/shared/components/screen-lifecycle/index.js.map +1 -1
  123. package/lib/module/shared/hooks/navigation/use-navigation-helpers.js +11 -5
  124. package/lib/module/shared/hooks/navigation/use-navigation-helpers.js.map +1 -1
  125. package/lib/module/shared/hooks/navigation/use-stack.js +63 -6
  126. package/lib/module/shared/hooks/navigation/use-stack.js.map +1 -1
  127. package/lib/module/shared/index.js +3 -0
  128. package/lib/module/shared/index.js.map +1 -1
  129. package/lib/module/shared/providers/screen/descriptors/descriptors.provider.js +17 -29
  130. package/lib/module/shared/providers/screen/descriptors/descriptors.provider.js.map +1 -1
  131. package/lib/module/shared/providers/screen/descriptors/index.js +1 -1
  132. package/lib/module/shared/providers/screen/descriptors/index.js.map +1 -1
  133. package/lib/module/shared/providers/screen/gestures/ownership/resolve-ownership.js +2 -1
  134. package/lib/module/shared/providers/screen/gestures/ownership/resolve-ownership.js.map +1 -1
  135. package/lib/module/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js +2 -2
  136. package/lib/module/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.js.map +1 -1
  137. package/lib/module/shared/providers/screen/gestures/pan/pan-lifecycle.js +5 -2
  138. package/lib/module/shared/providers/screen/gestures/pan/pan-lifecycle.js.map +1 -1
  139. package/lib/module/shared/providers/screen/gestures/pan/use-pan-behavior.js +4 -3
  140. package/lib/module/shared/providers/screen/gestures/pan/use-pan-behavior.js.map +1 -1
  141. package/lib/module/shared/providers/screen/gestures/pinch/pinch-lifecycle.js +5 -2
  142. package/lib/module/shared/providers/screen/gestures/pinch/pinch-lifecycle.js.map +1 -1
  143. package/lib/module/shared/providers/screen/gestures/pinch/use-pinch-behavior.js +4 -3
  144. package/lib/module/shared/providers/screen/gestures/pinch/use-pinch-behavior.js.map +1 -1
  145. package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js +16 -1
  146. package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
  147. package/lib/module/shared/providers/stack/direct.provider.js +5 -4
  148. package/lib/module/shared/providers/stack/direct.provider.js.map +1 -1
  149. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.js +194 -0
  150. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.js.map +1 -0
  151. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.js +57 -0
  152. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.js.map +1 -0
  153. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.js +69 -0
  154. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.js.map +1 -0
  155. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.js +118 -0
  156. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.js.map +1 -0
  157. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/types.js +4 -0
  158. package/lib/module/shared/providers/stack/helpers/managed-stack-state/helpers/types.js.map +1 -0
  159. package/lib/module/shared/providers/stack/helpers/managed-stack-state/index.js +19 -0
  160. package/lib/module/shared/providers/stack/helpers/managed-stack-state/index.js.map +1 -0
  161. package/lib/module/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.js +126 -0
  162. package/lib/module/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.js.map +1 -0
  163. package/lib/module/shared/providers/stack/managed.provider.js +19 -30
  164. package/lib/module/shared/providers/stack/managed.provider.js.map +1 -1
  165. package/lib/module/shared/types/stack.types.js.map +1 -1
  166. package/lib/module/shared/utils/create-provider.js +100 -11
  167. package/lib/module/shared/utils/create-provider.js.map +1 -1
  168. package/lib/module/shared/utils/navigation/resolve-scene-neighbors.js +8 -5
  169. package/lib/module/shared/utils/navigation/resolve-scene-neighbors.js.map +1 -1
  170. package/lib/module/shared/utils/navigation/sync-routes-with-removed.js +23 -6
  171. package/lib/module/shared/utils/navigation/sync-routes-with-removed.js.map +1 -1
  172. package/lib/module/shared/utils/visibility-block-offset.js +8 -0
  173. package/lib/module/shared/utils/visibility-block-offset.js.map +1 -0
  174. package/lib/typescript/blank-stack/components/stack-view.d.ts.map +1 -1
  175. package/lib/typescript/blank-stack/index.d.ts +1 -1
  176. package/lib/typescript/blank-stack/index.d.ts.map +1 -1
  177. package/lib/typescript/blank-stack/navigators/create-blank-stack-navigator.d.ts +4 -6
  178. package/lib/typescript/blank-stack/navigators/create-blank-stack-navigator.d.ts.map +1 -1
  179. package/lib/typescript/blank-stack/types.d.ts +41 -29
  180. package/lib/typescript/blank-stack/types.d.ts.map +1 -1
  181. package/lib/typescript/component-stack/components/stack-view.d.ts.map +1 -1
  182. package/lib/typescript/component-stack/navigators/create-component-stack-navigator.d.ts +1 -1
  183. package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts +5 -0
  184. package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts.map +1 -1
  185. package/lib/typescript/native-stack/types.d.ts +25 -0
  186. package/lib/typescript/native-stack/types.d.ts.map +1 -1
  187. package/lib/typescript/shared/adapters/with-screen-transitions/context.d.ts +15 -0
  188. package/lib/typescript/shared/adapters/with-screen-transitions/context.d.ts.map +1 -0
  189. package/lib/typescript/shared/adapters/with-screen-transitions/index.d.ts +11 -0
  190. package/lib/typescript/shared/adapters/with-screen-transitions/index.d.ts.map +1 -0
  191. package/lib/typescript/shared/adapters/with-screen-transitions/options.d.ts +16 -0
  192. package/lib/typescript/shared/adapters/with-screen-transitions/options.d.ts.map +1 -0
  193. package/lib/typescript/shared/adapters/with-screen-transitions/stack-layout.d.ts +12 -0
  194. package/lib/typescript/shared/adapters/with-screen-transitions/stack-layout.d.ts.map +1 -0
  195. package/lib/typescript/shared/adapters/with-screen-transitions/types.d.ts +24 -0
  196. package/lib/typescript/shared/adapters/with-screen-transitions/types.d.ts.map +1 -0
  197. package/lib/typescript/shared/components/activity/helpers.d.ts +4 -0
  198. package/lib/typescript/shared/components/activity/helpers.d.ts.map +1 -0
  199. package/lib/typescript/shared/components/activity/index.d.ts +3 -0
  200. package/lib/typescript/shared/components/activity/index.d.ts.map +1 -0
  201. package/lib/typescript/shared/components/activity/variants/activity-container.d.ts +6 -0
  202. package/lib/typescript/shared/components/activity/variants/activity-container.d.ts.map +1 -0
  203. package/lib/typescript/shared/components/activity/variants/activity-screen.d.ts +13 -0
  204. package/lib/typescript/shared/components/activity/variants/activity-screen.d.ts.map +1 -0
  205. package/lib/typescript/shared/components/create-boundary-component/hooks/use-measurer.d.ts.map +1 -1
  206. package/lib/typescript/shared/components/create-boundary-component/index.d.ts +2 -2
  207. package/lib/typescript/shared/components/create-boundary-component/utils/measured-bounds.d.ts +1 -0
  208. package/lib/typescript/shared/components/create-boundary-component/utils/measured-bounds.d.ts.map +1 -1
  209. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts +1 -2
  210. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts.map +1 -1
  211. package/lib/typescript/shared/hooks/navigation/use-navigation-helpers.d.ts +1 -0
  212. package/lib/typescript/shared/hooks/navigation/use-navigation-helpers.d.ts.map +1 -1
  213. package/lib/typescript/shared/hooks/navigation/use-stack.d.ts +13 -1
  214. package/lib/typescript/shared/hooks/navigation/use-stack.d.ts.map +1 -1
  215. package/lib/typescript/shared/index.d.ts +15 -11
  216. package/lib/typescript/shared/index.d.ts.map +1 -1
  217. package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts +11 -3
  218. package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts.map +1 -1
  219. package/lib/typescript/shared/providers/screen/descriptors/index.d.ts +1 -1
  220. package/lib/typescript/shared/providers/screen/descriptors/index.d.ts.map +1 -1
  221. package/lib/typescript/shared/providers/screen/gestures/ownership/resolve-ownership.d.ts.map +1 -1
  222. package/lib/typescript/shared/providers/screen/gestures/pan/pan-lifecycle.d.ts +1 -1
  223. package/lib/typescript/shared/providers/screen/gestures/pan/pan-lifecycle.d.ts.map +1 -1
  224. package/lib/typescript/shared/providers/screen/gestures/pan/use-pan-behavior.d.ts.map +1 -1
  225. package/lib/typescript/shared/providers/screen/gestures/pinch/pinch-lifecycle.d.ts +1 -1
  226. package/lib/typescript/shared/providers/screen/gestures/pinch/pinch-lifecycle.d.ts.map +1 -1
  227. package/lib/typescript/shared/providers/screen/gestures/pinch/use-pinch-behavior.d.ts.map +1 -1
  228. package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts +3 -1
  229. package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts.map +1 -1
  230. package/lib/typescript/shared/providers/stack/direct.provider.d.ts.map +1 -1
  231. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.d.ts +13 -0
  232. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.d.ts.map +1 -0
  233. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.d.ts +12 -0
  234. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.d.ts.map +1 -0
  235. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.d.ts +11 -0
  236. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.d.ts.map +1 -0
  237. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.d.ts +12 -0
  238. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.d.ts.map +1 -0
  239. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/types.d.ts +40 -0
  240. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/helpers/types.d.ts.map +1 -0
  241. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/index.d.ts +12 -0
  242. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/index.d.ts.map +1 -0
  243. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.d.ts +13 -0
  244. package/lib/typescript/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.d.ts.map +1 -0
  245. package/lib/typescript/shared/providers/stack/managed.provider.d.ts.map +1 -1
  246. package/lib/typescript/shared/types/index.d.ts +2 -2
  247. package/lib/typescript/shared/types/index.d.ts.map +1 -1
  248. package/lib/typescript/shared/types/providers/managed-stack.types.d.ts +3 -9
  249. package/lib/typescript/shared/types/providers/managed-stack.types.d.ts.map +1 -1
  250. package/lib/typescript/shared/types/screen.types.d.ts +24 -0
  251. package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
  252. package/lib/typescript/shared/types/stack.types.d.ts +7 -0
  253. package/lib/typescript/shared/types/stack.types.d.ts.map +1 -1
  254. package/lib/typescript/shared/utils/create-provider.d.ts +17 -3
  255. package/lib/typescript/shared/utils/create-provider.d.ts.map +1 -1
  256. package/lib/typescript/shared/utils/navigation/resolve-scene-neighbors.d.ts +2 -1
  257. package/lib/typescript/shared/utils/navigation/resolve-scene-neighbors.d.ts.map +1 -1
  258. package/lib/typescript/shared/utils/navigation/sync-routes-with-removed.d.ts +2 -1
  259. package/lib/typescript/shared/utils/navigation/sync-routes-with-removed.d.ts.map +1 -1
  260. package/lib/typescript/shared/utils/visibility-block-offset.d.ts +2 -0
  261. package/lib/typescript/shared/utils/visibility-block-offset.d.ts.map +1 -0
  262. package/package.json +11 -1
  263. package/src/blank-stack/components/stack-view.tsx +54 -48
  264. package/src/blank-stack/index.ts +1 -0
  265. package/src/blank-stack/navigators/create-blank-stack-navigator.tsx +7 -15
  266. package/src/blank-stack/types.ts +44 -29
  267. package/src/component-stack/components/stack-view.tsx +4 -11
  268. package/src/component-stack/navigators/create-component-stack-navigator.tsx +1 -1
  269. package/src/native-stack/navigators/createNativeStackNavigator.tsx +5 -0
  270. package/src/native-stack/types.ts +25 -0
  271. package/src/shared/adapters/with-screen-transitions/context.tsx +42 -0
  272. package/src/shared/adapters/with-screen-transitions/index.tsx +155 -0
  273. package/src/shared/adapters/with-screen-transitions/options.ts +172 -0
  274. package/src/shared/adapters/with-screen-transitions/stack-layout.tsx +233 -0
  275. package/src/shared/adapters/with-screen-transitions/types.ts +28 -0
  276. package/src/shared/components/activity/helpers.ts +8 -0
  277. package/src/shared/components/activity/index.tsx +2 -0
  278. package/src/shared/components/activity/variants/activity-container.tsx +25 -0
  279. package/src/shared/components/activity/variants/activity-screen.tsx +133 -0
  280. package/src/shared/components/create-boundary-component/hooks/use-measurer.ts +23 -4
  281. package/src/shared/components/create-boundary-component/utils/measured-bounds.ts +15 -0
  282. package/src/shared/components/screen-lifecycle/hooks/use-close-transition-intent.ts +9 -26
  283. package/src/shared/components/screen-lifecycle/index.tsx +1 -1
  284. package/src/shared/hooks/navigation/use-navigation-helpers.ts +9 -3
  285. package/src/shared/hooks/navigation/use-stack.tsx +115 -6
  286. package/src/shared/index.ts +9 -0
  287. package/src/shared/providers/screen/descriptors/descriptors.provider.tsx +31 -31
  288. package/src/shared/providers/screen/descriptors/index.tsx +1 -0
  289. package/src/shared/providers/screen/gestures/ownership/resolve-ownership.ts +2 -1
  290. package/src/shared/providers/screen/gestures/ownership/use-walk-up-and-register-shadowing-claims.ts +2 -2
  291. package/src/shared/providers/screen/gestures/pan/pan-lifecycle.ts +7 -2
  292. package/src/shared/providers/screen/gestures/pan/use-pan-behavior.ts +10 -2
  293. package/src/shared/providers/screen/gestures/pinch/pinch-lifecycle.ts +7 -2
  294. package/src/shared/providers/screen/gestures/pinch/use-pinch-behavior.ts +8 -3
  295. package/src/shared/providers/screen/styles/hooks/use-maybe-block-visibility.tsx +17 -1
  296. package/src/shared/providers/stack/direct.provider.tsx +13 -4
  297. package/src/shared/providers/stack/helpers/managed-stack-state/helpers/build-managed-stack-state.ts +368 -0
  298. package/src/shared/providers/stack/helpers/managed-stack-state/helpers/derive-managed-stack-state.ts +129 -0
  299. package/src/shared/providers/stack/helpers/managed-stack-state/helpers/helpers.ts +139 -0
  300. package/src/shared/providers/stack/helpers/managed-stack-state/helpers/reconcile-managed-routes.ts +198 -0
  301. package/src/shared/providers/stack/helpers/managed-stack-state/helpers/types.ts +57 -0
  302. package/src/shared/providers/stack/helpers/managed-stack-state/index.ts +40 -0
  303. package/src/shared/providers/stack/helpers/managed-stack-state/managed-stack-controller.ts +160 -0
  304. package/src/shared/providers/stack/managed.provider.tsx +23 -39
  305. package/src/shared/types/index.ts +3 -0
  306. package/src/shared/types/providers/managed-stack.types.ts +6 -8
  307. package/src/shared/types/screen.types.ts +25 -0
  308. package/src/shared/types/stack.types.ts +11 -0
  309. package/src/shared/utils/create-provider.tsx +183 -8
  310. package/src/shared/utils/navigation/resolve-scene-neighbors.ts +9 -4
  311. package/src/shared/utils/navigation/sync-routes-with-removed.ts +38 -7
  312. package/src/shared/utils/visibility-block-offset.ts +4 -0
  313. package/lib/commonjs/blank-stack/components/stack-view.native.js +0 -64
  314. package/lib/commonjs/blank-stack/components/stack-view.native.js.map +0 -1
  315. package/lib/commonjs/shared/components/native-screen-container.js +0 -42
  316. package/lib/commonjs/shared/components/native-screen-container.js.map +0 -1
  317. package/lib/commonjs/shared/components/native-screen.js +0 -125
  318. package/lib/commonjs/shared/components/native-screen.js.map +0 -1
  319. package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.js +0 -51
  320. package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.js.map +0 -1
  321. package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.js +0 -15
  322. package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.js.map +0 -1
  323. package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.js +0 -14
  324. package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.js.map +0 -1
  325. package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.js +0 -13
  326. package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.js.map +0 -1
  327. package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/index.js +0 -101
  328. package/lib/commonjs/shared/providers/stack/helpers/use-local-routes/index.js.map +0 -1
  329. package/lib/module/blank-stack/components/stack-view.native.js +0 -60
  330. package/lib/module/blank-stack/components/stack-view.native.js.map +0 -1
  331. package/lib/module/shared/components/native-screen-container.js +0 -37
  332. package/lib/module/shared/components/native-screen-container.js.map +0 -1
  333. package/lib/module/shared/components/native-screen.js +0 -119
  334. package/lib/module/shared/components/native-screen.js.map +0 -1
  335. package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.js +0 -47
  336. package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.js.map +0 -1
  337. package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.js +0 -10
  338. package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.js.map +0 -1
  339. package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.js +0 -9
  340. package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.js.map +0 -1
  341. package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.js +0 -8
  342. package/lib/module/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.js.map +0 -1
  343. package/lib/module/shared/providers/stack/helpers/use-local-routes/index.js +0 -95
  344. package/lib/module/shared/providers/stack/helpers/use-local-routes/index.js.map +0 -1
  345. package/lib/typescript/blank-stack/components/stack-view.native.d.ts +0 -3
  346. package/lib/typescript/blank-stack/components/stack-view.native.d.ts.map +0 -1
  347. package/lib/typescript/shared/components/native-screen-container.d.ts +0 -6
  348. package/lib/typescript/shared/components/native-screen-container.d.ts.map +0 -1
  349. package/lib/typescript/shared/components/native-screen.d.ts +0 -12
  350. package/lib/typescript/shared/components/native-screen.d.ts.map +0 -1
  351. package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.d.ts +0 -10
  352. package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.d.ts.map +0 -1
  353. package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.d.ts +0 -2
  354. package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.d.ts.map +0 -1
  355. package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.d.ts +0 -3
  356. package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.d.ts.map +0 -1
  357. package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.d.ts +0 -3
  358. package/lib/typescript/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.d.ts.map +0 -1
  359. package/lib/typescript/shared/providers/stack/helpers/use-local-routes/index.d.ts +0 -19
  360. package/lib/typescript/shared/providers/stack/helpers/use-local-routes/index.d.ts.map +0 -1
  361. package/src/blank-stack/components/stack-view.native.tsx +0 -74
  362. package/src/shared/components/native-screen-container.tsx +0 -33
  363. package/src/shared/components/native-screen.tsx +0 -176
  364. package/src/shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.ts +0 -65
  365. package/src/shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.ts +0 -15
  366. package/src/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.ts +0 -12
  367. package/src/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.ts +0 -11
  368. package/src/shared/providers/stack/helpers/use-local-routes/index.ts +0 -147
@@ -1,119 +0,0 @@
1
- "use strict";
2
-
3
- import { StyleSheet } from "react-native";
4
- import Animated, { Extrapolation, interpolate, useAnimatedProps, useDerivedValue, useSharedValue } from "react-native-reanimated";
5
- import { Screen as RNSScreen } from "react-native-screens";
6
- import { EPSILON } from "../constants";
7
- import { useStack } from "../hooks/navigation/use-stack";
8
- import { useManagedStackContext } from "../providers/stack/managed.provider";
9
- import { AnimationStore } from "../stores/animation.store";
10
- import { jsx as _jsx } from "react/jsx-runtime";
11
- const PASSTHROUGH = "passthrough";
12
- var ScreenActivity = /*#__PURE__*/function (ScreenActivity) {
13
- ScreenActivity[ScreenActivity["INACTIVE"] = 0] = "INACTIVE";
14
- ScreenActivity[ScreenActivity["TRANSITIONING_OR_BELOW_TOP"] = 1] = "TRANSITIONING_OR_BELOW_TOP";
15
- ScreenActivity[ScreenActivity["ON_TOP"] = 2] = "ON_TOP";
16
- return ScreenActivity;
17
- }(ScreenActivity || {});
18
- const POINT_NONE = "none";
19
- const POINT_BOX_NONE = "box-none";
20
- const AnimatedNativeScreen = Animated.createAnimatedComponent(RNSScreen);
21
- export const NativeScreen = ({
22
- routeKey,
23
- index,
24
- isPreloaded,
25
- children,
26
- freezeOnBlur,
27
- shouldFreeze
28
- }) => {
29
- const {
30
- flags: {
31
- DISABLE_NATIVE_SCREENS = false
32
- },
33
- routes,
34
- optimisticFocusedIndex
35
- } = useStack();
36
- const {
37
- activeScreensLimit,
38
- backdropBehaviors
39
- } = useManagedStackContext();
40
- const routesLength = routes.length;
41
- const topIndex = routesLength - 1;
42
- const topRouteKey = routes[topIndex]?.key ?? routeKey;
43
- const sceneClosing = AnimationStore.getValue(routeKey, "closing");
44
- const topSceneProgress = AnimationStore.getValue(topRouteKey, "progress");
45
- const topSceneClosing = AnimationStore.getValue(topRouteKey, "closing");
46
- const screenActivity = useSharedValue(ScreenActivity.TRANSITIONING_OR_BELOW_TOP);
47
- useDerivedValue(() => {
48
- if (!topSceneProgress) {
49
- screenActivity.set(ScreenActivity.TRANSITIONING_OR_BELOW_TOP);
50
- return;
51
- }
52
- if (index < routesLength - activeScreensLimit - 1 || isPreloaded) {
53
- screenActivity.set(ScreenActivity.INACTIVE);
54
- return;
55
- }
56
- const focusedIndex = optimisticFocusedIndex.get();
57
- const topIsClosing = topSceneClosing.get() > 0 && focusedIndex >= 0 && focusedIndex < topIndex;
58
- if (topIsClosing) {
59
- const postCloseActiveStart = Math.max(0, focusedIndex - activeScreensLimit + 1);
60
- const next = index === topIndex ? ScreenActivity.ON_TOP : index > focusedIndex || index >= postCloseActiveStart ? ScreenActivity.TRANSITIONING_OR_BELOW_TOP : ScreenActivity.INACTIVE;
61
- if (next !== screenActivity.get()) {
62
- screenActivity.set(next);
63
- }
64
- return;
65
- }
66
- const outputValue = index === topIndex ? ScreenActivity.ON_TOP : index >= routesLength - activeScreensLimit ? ScreenActivity.TRANSITIONING_OR_BELOW_TOP : ScreenActivity.INACTIVE;
67
- const v = interpolate(topSceneProgress.get(), [0, 1 - EPSILON, 1], [1, 1, outputValue], Extrapolation.CLAMP);
68
- const next = Math.trunc(v) ?? ScreenActivity.TRANSITIONING_OR_BELOW_TOP;
69
- if (next !== screenActivity.get()) {
70
- screenActivity.set(next);
71
- }
72
- });
73
- const animatedProps = useAnimatedProps(() => {
74
- const activity = screenActivity.get();
75
- const isClosing = sceneClosing.get() > 0;
76
- const activeIndex = optimisticFocusedIndex.get();
77
- const isActive = index === activeIndex;
78
-
79
- // Check if the active screen allows passthrough to the screen below
80
- const activeBackdrop = backdropBehaviors[activeIndex] ?? "block";
81
- const activeAllowsPassthrough = activeBackdrop === PASSTHROUGH;
82
- const isAllowedPassthroughBelow = activeAllowsPassthrough && index === activeIndex - 1;
83
-
84
- // Determine pointer events:
85
- // - "none" if closing (immediately disable touches)
86
- // - "box-none" if this is the active screen
87
- // - "box-none" if the active screen allows passthrough and we're immediately below
88
- // - "none" otherwise (block touches to non-active screens)
89
- const pointerEvents = isClosing || !isActive && !isAllowedPassthroughBelow ? POINT_NONE : POINT_BOX_NONE;
90
- if (!DISABLE_NATIVE_SCREENS) {
91
- return {
92
- activityState: activity,
93
- shouldFreeze: activity === ScreenActivity.INACTIVE && shouldFreeze,
94
- pointerEvents
95
- };
96
- }
97
- return {
98
- pointerEvents
99
- };
100
- });
101
- if (DISABLE_NATIVE_SCREENS) {
102
- return /*#__PURE__*/_jsx(Animated.View, {
103
- // Keep a native boundary per screen when falling back to plain views.
104
- // Android release builds can otherwise flatten sibling screens together.
105
- collapsable: false,
106
- style: StyleSheet.absoluteFill,
107
- animatedProps: animatedProps,
108
- children: children
109
- });
110
- }
111
- return /*#__PURE__*/_jsx(AnimatedNativeScreen, {
112
- enabled: true,
113
- style: StyleSheet.absoluteFill,
114
- freezeOnBlur: freezeOnBlur,
115
- animatedProps: animatedProps,
116
- children: children
117
- });
118
- };
119
- //# sourceMappingURL=native-screen.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["StyleSheet","Animated","Extrapolation","interpolate","useAnimatedProps","useDerivedValue","useSharedValue","Screen","RNSScreen","EPSILON","useStack","useManagedStackContext","AnimationStore","jsx","_jsx","PASSTHROUGH","ScreenActivity","POINT_NONE","POINT_BOX_NONE","AnimatedNativeScreen","createAnimatedComponent","NativeScreen","routeKey","index","isPreloaded","children","freezeOnBlur","shouldFreeze","flags","DISABLE_NATIVE_SCREENS","routes","optimisticFocusedIndex","activeScreensLimit","backdropBehaviors","routesLength","length","topIndex","topRouteKey","key","sceneClosing","getValue","topSceneProgress","topSceneClosing","screenActivity","TRANSITIONING_OR_BELOW_TOP","set","INACTIVE","focusedIndex","get","topIsClosing","postCloseActiveStart","Math","max","next","ON_TOP","outputValue","v","CLAMP","trunc","animatedProps","activity","isClosing","activeIndex","isActive","activeBackdrop","activeAllowsPassthrough","isAllowedPassthroughBelow","pointerEvents","activityState","View","collapsable","style","absoluteFill","enabled"],"sourceRoot":"../../../../src","sources":["shared/components/native-screen.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,47 +0,0 @@
1
- "use strict";
2
-
3
- import { composeDescriptors } from "../../../../../utils/navigation/compose-descriptors";
4
-
5
- /**
6
- * Aligns current routes with the latest route data while preserving references
7
- * when possible for performance optimization
8
- */
9
- export const alignRoutesWithLatest = (currentRoutes, currentDescriptors, nextRoutes, nextDescriptors) => {
10
- // Early return for empty current routes
11
- if (currentRoutes.length === 0) {
12
- return {
13
- routes: nextRoutes,
14
- descriptors: composeDescriptors(nextRoutes, nextDescriptors, currentDescriptors)
15
- };
16
- }
17
-
18
- // Create lookup map for efficient route finding
19
- const nextRouteLookup = new Map();
20
- for (const route of nextRoutes) {
21
- nextRouteLookup.set(route.key, route);
22
- }
23
-
24
- // Track if any changes occurred
25
- let didChange = currentRoutes.length !== nextRoutes.length;
26
-
27
- // Align routes, updating references where needed
28
- const alignedRoutes = currentRoutes.map(route => {
29
- const nextRoute = nextRouteLookup.get(route.key);
30
- if (!nextRoute) {
31
- return route; // Keep current route if not in next
32
- }
33
- if (nextRoute !== route) {
34
- didChange = true;
35
- return nextRoute; // Update to new route reference
36
- }
37
- return route; // Keep current route reference
38
- });
39
-
40
- // Only create new array if changes occurred
41
- const routesResult = didChange ? alignedRoutes : currentRoutes;
42
- return {
43
- routes: routesResult,
44
- descriptors: composeDescriptors(routesResult, nextDescriptors, currentDescriptors)
45
- };
46
- };
47
- //# sourceMappingURL=align-routes-with-latest.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["composeDescriptors","alignRoutesWithLatest","currentRoutes","currentDescriptors","nextRoutes","nextDescriptors","length","routes","descriptors","nextRouteLookup","Map","route","set","key","didChange","alignedRoutes","map","nextRoute","get","routesResult"],"sourceRoot":"../../../../../../../../src","sources":["shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.ts"],"mappings":";;AACA,SAASA,kBAAkB,QAAQ,qDAAqD;;AAExF;AACA;AACA;AACA;AACA,OAAO,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,EAAER,kBAAkB,CAC9BI,UAAU,EACVC,eAAe,EACfF,kBACD;IACD,CAAC;EACF;;EAEA;EACA,MAAMM,eAAe,GAAG,IAAIC,GAAG,CAAgB,CAAC;EAChD,KAAK,MAAMC,KAAK,IAAIP,UAAU,EAAE;IAC/BK,eAAe,CAACG,GAAG,CAACD,KAAK,CAACE,GAAG,EAAEF,KAAK,CAAC;EACtC;;EAEA;EACA,IAAIG,SAAS,GAAGZ,aAAa,CAACI,MAAM,KAAKF,UAAU,CAACE,MAAM;;EAE1D;EACA,MAAMS,aAAa,GAAGb,aAAa,CAACc,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,GAAGb,aAAa;EAE9D,OAAO;IACNK,MAAM,EAAEY,YAAY;IACpBX,WAAW,EAAER,kBAAkB,CAC9BmB,YAAY,EACZd,eAAe,EACfF,kBACD;EACD,CAAC;AACF,CAAC","ignoreList":[]}
@@ -1,10 +0,0 @@
1
- "use strict";
2
-
3
- export const areDescriptorsEqual = (a, b) => {
4
- if (a === b) return true;
5
- const aKeys = Object.keys(a);
6
- const bKeys = Object.keys(b);
7
- if (aKeys.length !== bKeys.length) return false;
8
- return aKeys.every(key => a[key] === b[key]);
9
- };
10
- //# sourceMappingURL=are-descriptors-equal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["areDescriptorsEqual","a","b","aKeys","Object","keys","bKeys","length","every","key"],"sourceRoot":"../../../../../../../../src","sources":["shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.ts"],"mappings":";;AAAA,OAAO,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","ignoreList":[]}
@@ -1,9 +0,0 @@
1
- "use strict";
2
-
3
- export const haveSameRouteKeys = (previous, next) => {
4
- if (previous.length !== next.length) {
5
- return false;
6
- }
7
- return previous.every((route, index) => route?.key === next[index]?.key);
8
- };
9
- //# sourceMappingURL=have-same-route-keys.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["haveSameRouteKeys","previous","next","length","every","route","index","key"],"sourceRoot":"../../../../../../../../src","sources":["shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.ts"],"mappings":";;AAEA,OAAO,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","ignoreList":[]}
@@ -1,8 +0,0 @@
1
- "use strict";
2
-
3
- export const routesAreIdentical = (a, b) => {
4
- if (a === b) return true;
5
- if (a.length !== b.length) return false;
6
- return a.every((route, index) => route === b[index]);
7
- };
8
- //# sourceMappingURL=routes-are-identical.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["routesAreIdentical","a","b","length","every","route","index"],"sourceRoot":"../../../../../../../../src","sources":["shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.ts"],"mappings":";;AAEA,OAAO,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","ignoreList":[]}
@@ -1,95 +0,0 @@
1
- "use strict";
2
-
3
- import { StackActions } from "@react-navigation/native";
4
- import { useLayoutEffect, useRef, useState } from "react";
5
- import { useClosingRouteKeys } from "../../../../hooks/navigation/use-closing-route-keys";
6
- import { usePrevious } from "../../../../hooks/navigation/use-previous";
7
- import useStableCallback from "../../../../hooks/use-stable-callback";
8
- import { syncRoutesWithRemoved } from "../../../../utils/navigation/sync-routes-with-removed";
9
- import { alignRoutesWithLatest } from "./helpers/align-routes-with-latest";
10
- import { areDescriptorsEqual } from "./helpers/are-descriptors-equal";
11
- import { haveSameRouteKeys } from "./helpers/have-same-route-keys";
12
- import { routesAreIdentical } from "./helpers/routes-are-identical";
13
- export const useLocalRoutes = props => {
14
- const previousRoutes = usePrevious(props.state.routes) ?? [];
15
- const closingRouteKeys = useClosingRouteKeys();
16
- const [localState, setLocalState] = useState(() => ({
17
- routes: props.state.routes,
18
- descriptors: props.descriptors
19
- }));
20
- const localStateRef = useRef(localState);
21
- useLayoutEffect(() => {
22
- const nextRoutesSnapshot = props.state.routes;
23
- const previousRoutesSnapshot = previousRoutes;
24
- const current = localStateRef.current;
25
- const alreadyAligned = routesAreIdentical(current.routes, nextRoutesSnapshot) && areDescriptorsEqual(current.descriptors, props.descriptors);
26
- if (alreadyAligned) {
27
- return;
28
- }
29
- const routeKeysUnchanged = haveSameRouteKeys(previousRoutesSnapshot, nextRoutesSnapshot);
30
- let derivedRoutes;
31
- let derivedDescriptors;
32
- if (routeKeysUnchanged) {
33
- const result = alignRoutesWithLatest(current.routes, current.descriptors, nextRoutesSnapshot, props.descriptors);
34
- derivedRoutes = result.routes;
35
- derivedDescriptors = result.descriptors;
36
- } else {
37
- const fallbackRoutes = previousRoutesSnapshot.length > 0 ? previousRoutesSnapshot : current.routes;
38
- const result = syncRoutesWithRemoved({
39
- prevRoutes: fallbackRoutes,
40
- prevDescriptors: current.descriptors,
41
- nextRoutes: nextRoutesSnapshot,
42
- nextDescriptors: props.descriptors,
43
- closingRouteKeys
44
- });
45
- derivedRoutes = result.routes;
46
- derivedDescriptors = result.descriptors;
47
- }
48
- const routesChanged = !routesAreIdentical(current.routes, derivedRoutes);
49
- const descriptorsChanged = !areDescriptorsEqual(current.descriptors, derivedDescriptors);
50
- if (!routesChanged && !descriptorsChanged) {
51
- return;
52
- }
53
- const nextLocalState = {
54
- routes: routesChanged ? derivedRoutes : current.routes,
55
- descriptors: descriptorsChanged ? derivedDescriptors : current.descriptors
56
- };
57
- localStateRef.current = nextLocalState;
58
- setLocalState(nextLocalState);
59
- }, [props.state.routes, props.descriptors, previousRoutes, closingRouteKeys]);
60
- const handleCloseRoute = useStableCallback(({
61
- route
62
- }) => {
63
- if (props.state.routes.some(r => r.key === route.key)) {
64
- props.navigation.dispatch({
65
- ...StackActions.pop(),
66
- source: route.key,
67
- target: props.state.key
68
- });
69
- return;
70
- }
71
- closingRouteKeys.remove(route.key);
72
- setLocalState(current => {
73
- if (!current.routes.some(candidate => candidate.key === route.key)) {
74
- return current;
75
- }
76
- const nextRoutes = current.routes.filter(candidate => candidate.key !== route.key);
77
- const nextDescriptors = {
78
- ...current.descriptors
79
- };
80
- delete nextDescriptors[route.key];
81
- const nextState = {
82
- routes: nextRoutes,
83
- descriptors: nextDescriptors
84
- };
85
- localStateRef.current = nextState;
86
- return nextState;
87
- });
88
- });
89
- return {
90
- state: localState,
91
- handleCloseRoute,
92
- closingRouteKeys
93
- };
94
- };
95
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["StackActions","useLayoutEffect","useRef","useState","useClosingRouteKeys","usePrevious","useStableCallback","syncRoutesWithRemoved","alignRoutesWithLatest","areDescriptorsEqual","haveSameRouteKeys","routesAreIdentical","useLocalRoutes","props","previousRoutes","state","routes","closingRouteKeys","localState","setLocalState","descriptors","localStateRef","nextRoutesSnapshot","previousRoutesSnapshot","current","alreadyAligned","routeKeysUnchanged","derivedRoutes","derivedDescriptors","result","fallbackRoutes","length","prevRoutes","prevDescriptors","nextRoutes","nextDescriptors","routesChanged","descriptorsChanged","nextLocalState","handleCloseRoute","route","some","r","key","navigation","dispatch","pop","source","target","remove","candidate","filter","nextState"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/stack/helpers/use-local-routes/index.ts"],"mappings":"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","ignoreList":[]}
@@ -1,3 +0,0 @@
1
- import type { BlankStackDescriptor, BlankStackNavigationHelpers } from "../types";
2
- export declare const StackView: import("react").FC<import("../../shared/types/providers/managed-stack.types").ManagedStackProps<BlankStackDescriptor, BlankStackNavigationHelpers> & import("../../shared/providers/stack/core.provider").StackCoreConfig>;
3
- //# sourceMappingURL=stack-view.native.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stack-view.native.d.ts","sourceRoot":"","sources":["../../../../src/blank-stack/components/stack-view.native.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACX,oBAAoB,EACpB,2BAA2B,EAC3B,MAAM,UAAU,CAAC;AAElB,eAAO,MAAM,SAAS,4NA0DrB,CAAC"}
@@ -1,6 +0,0 @@
1
- interface Props {
2
- children: React.ReactNode;
3
- }
4
- export declare const NativeScreenContainer: ({ children }: Props) => import("react/jsx-runtime").JSX.Element;
5
- export {};
6
- //# sourceMappingURL=native-screen-container.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"native-screen-container.d.ts","sourceRoot":"","sources":["../../../../src/shared/components/native-screen-container.tsx"],"names":[],"mappings":"AAIA,UAAU,KAAK;IACd,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,eAAO,MAAM,qBAAqB,GAAI,cAAc,KAAK,4CAkBxD,CAAC"}
@@ -1,12 +0,0 @@
1
- import type * as React from "react";
2
- interface ScreenProps {
3
- routeKey: string;
4
- index: number;
5
- isPreloaded: boolean;
6
- children: React.ReactNode;
7
- freezeOnBlur?: boolean;
8
- shouldFreeze?: boolean;
9
- }
10
- export declare const NativeScreen: ({ routeKey, index, isPreloaded, children, freezeOnBlur, shouldFreeze, }: ScreenProps) => import("react/jsx-runtime").JSX.Element;
11
- export {};
12
- //# sourceMappingURL=native-screen.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"native-screen.d.ts","sourceRoot":"","sources":["../../../../src/shared/components/native-screen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAiBpC,UAAU,WAAW;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB;AAYD,eAAO,MAAM,YAAY,GAAI,yEAO1B,WAAW,4CAoIb,CAAC"}
@@ -1,10 +0,0 @@
1
- import type { RouteWithKey } from "../../../../../types/stack.types";
2
- /**
3
- * Aligns current routes with the latest route data while preserving references
4
- * when possible for performance optimization
5
- */
6
- export declare const alignRoutesWithLatest: <Route extends RouteWithKey, DescriptorMap extends Record<string, unknown>>(currentRoutes: Route[], currentDescriptors: DescriptorMap, nextRoutes: Route[], nextDescriptors: DescriptorMap) => {
7
- routes: Route[];
8
- descriptors: DescriptorMap;
9
- };
10
- //# sourceMappingURL=align-routes-with-latest.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"align-routes-with-latest.d.ts","sourceRoot":"","sources":["../../../../../../../../src/shared/providers/stack/helpers/use-local-routes/helpers/align-routes-with-latest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAGrE;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GACjC,KAAK,SAAS,YAAY,EAC1B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAE7C,eAAe,KAAK,EAAE,EACtB,oBAAoB,aAAa,EACjC,YAAY,KAAK,EAAE,EACnB,iBAAiB,aAAa,KAC5B;IAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAAC,WAAW,EAAE,aAAa,CAAA;CAiD/C,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const areDescriptorsEqual: <DescriptorMap extends Record<string, unknown>>(a: DescriptorMap, b: DescriptorMap) => boolean;
2
- //# sourceMappingURL=are-descriptors-equal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"are-descriptors-equal.d.ts","sourceRoot":"","sources":["../../../../../../../../src/shared/providers/stack/helpers/use-local-routes/helpers/are-descriptors-equal.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,GAC/B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAE7C,GAAG,aAAa,EAChB,GAAG,aAAa,KACd,OASF,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { RouteWithKey } from "../../../../../types/stack.types";
2
- export declare const haveSameRouteKeys: <Route extends RouteWithKey>(previous: Route[], next: Route[]) => boolean;
3
- //# sourceMappingURL=have-same-route-keys.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"have-same-route-keys.d.ts","sourceRoot":"","sources":["../../../../../../../../src/shared/providers/stack/helpers/use-local-routes/helpers/have-same-route-keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAErE,eAAO,MAAM,iBAAiB,GAAI,KAAK,SAAS,YAAY,EAC3D,UAAU,KAAK,EAAE,EACjB,MAAM,KAAK,EAAE,KACX,OAMF,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { RouteWithKey } from "../../../../../types/stack.types";
2
- export declare const routesAreIdentical: <Route extends RouteWithKey>(a: Route[], b: Route[]) => boolean;
3
- //# sourceMappingURL=routes-are-identical.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"routes-are-identical.d.ts","sourceRoot":"","sources":["../../../../../../../../src/shared/providers/stack/helpers/use-local-routes/helpers/routes-are-identical.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAErE,eAAO,MAAM,kBAAkB,GAAI,KAAK,SAAS,YAAY,EAC5D,GAAG,KAAK,EAAE,EACV,GAAG,KAAK,EAAE,KACR,OAKF,CAAC"}
@@ -1,19 +0,0 @@
1
- import type { BaseStackDescriptor, BaseStackNavigation, BaseStackRoute } from "../../../../types/stack.types";
2
- import type { ManagedStackProps } from "../../managed.provider";
3
- export declare const useLocalRoutes: <TDescriptor extends BaseStackDescriptor, TNavigation extends BaseStackNavigation>(props: ManagedStackProps<TDescriptor, TNavigation>) => {
4
- state: {
5
- routes: TDescriptor["route"][];
6
- descriptors: Record<string, TDescriptor>;
7
- };
8
- handleCloseRoute: (args_0: {
9
- route: BaseStackRoute;
10
- }) => void;
11
- closingRouteKeys: {
12
- ref: import("react").RefObject<Set<string>>;
13
- shared: import("react-native-reanimated").SharedValue<string[]>;
14
- add: (key: string) => void;
15
- remove: (key: string) => void;
16
- clear: () => void;
17
- };
18
- };
19
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/providers/stack/helpers/use-local-routes/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACX,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAMhE,eAAO,MAAM,cAAc,GAC1B,WAAW,SAAS,mBAAmB,EACvC,WAAW,SAAS,mBAAmB,EAEvC,OAAO,iBAAiB,CAAC,WAAW,EAAE,WAAW,CAAC;;gBASnB,sBAAQ;;;;eA6EjB,cAAc;;;;;;;;;CAuCpC,CAAC"}
@@ -1,74 +0,0 @@
1
- import { Fragment } from "react";
2
- import { NativeScreen } from "../../shared/components/native-screen";
3
- import { NativeScreenContainer } from "../../shared/components/native-screen-container";
4
- import { Overlay } from "../../shared/components/overlay";
5
- import { SceneView } from "../../shared/components/scene-view";
6
- import { ScreenComposer } from "../../shared/providers/screen/screen-composer";
7
- import { withStackCore } from "../../shared/providers/stack/core.provider";
8
- import { withManagedStack } from "../../shared/providers/stack/managed.provider";
9
- import { resolveSceneNeighbors } from "../../shared/utils/navigation/resolve-scene-neighbors";
10
- import { isFabric } from "../../shared/utils/platform";
11
- import type {
12
- BlankStackDescriptor,
13
- BlankStackNavigationHelpers,
14
- } from "../types";
15
-
16
- export const StackView = withStackCore(
17
- { TRANSITIONS_ALWAYS_ON: true, DISABLE_NATIVE_SCREENS: false },
18
- withManagedStack<BlankStackDescriptor, BlankStackNavigationHelpers>(
19
- ({
20
- descriptors,
21
- focusedIndex,
22
- scenes,
23
- shouldShowFloatOverlay,
24
- closingRouteMap,
25
- }) => {
26
- const isRouteClosing = (routeKey: string) =>
27
- Boolean(closingRouteMap.current[routeKey]);
28
-
29
- return (
30
- <Fragment>
31
- {shouldShowFloatOverlay ? <Overlay.Float /> : null}
32
-
33
- <NativeScreenContainer>
34
- {scenes.map((scene, sceneIndex) => {
35
- const descriptor = scene.descriptor;
36
- const route = scene.route;
37
- const isFocused = focusedIndex === sceneIndex;
38
- const isBelowFocused = focusedIndex - 1 === sceneIndex;
39
-
40
- const { previousDescriptor, nextDescriptor } =
41
- resolveSceneNeighbors(scenes, sceneIndex, isRouteClosing);
42
-
43
- const isPreloaded = descriptors[route.key] === undefined;
44
-
45
- // On Fabric, when screen is frozen, animated and reanimated values are not updated
46
- // due to component being unmounted. To avoid this, we don't freeze the previous screen there
47
- const shouldFreeze = isFabric()
48
- ? !isPreloaded && !isFocused && !isBelowFocused
49
- : !isPreloaded && !isFocused;
50
- return (
51
- <NativeScreen
52
- key={route.key}
53
- isPreloaded={isPreloaded}
54
- index={sceneIndex}
55
- routeKey={route.key}
56
- shouldFreeze={shouldFreeze}
57
- freezeOnBlur={descriptor.options.freezeOnBlur}
58
- >
59
- <ScreenComposer
60
- previous={previousDescriptor}
61
- current={descriptor}
62
- next={nextDescriptor}
63
- >
64
- <SceneView key={route.key} descriptor={descriptor} />
65
- </ScreenComposer>
66
- </NativeScreen>
67
- );
68
- })}
69
- </NativeScreenContainer>
70
- </Fragment>
71
- );
72
- },
73
- ),
74
- );
@@ -1,33 +0,0 @@
1
- import { StyleSheet, View } from "react-native";
2
- import { ScreenContainer } from "react-native-screens";
3
- import { useStack } from "../hooks/navigation/use-stack";
4
-
5
- interface Props {
6
- children: React.ReactNode;
7
- }
8
-
9
- export const NativeScreenContainer = ({ children }: Props) => {
10
- const {
11
- flags: {
12
- DISABLE_NATIVE_SCREENS = false,
13
- DISABLE_NATIVE_SCREEN_CONTAINER = false,
14
- },
15
- } = useStack();
16
- if (!DISABLE_NATIVE_SCREENS && !DISABLE_NATIVE_SCREEN_CONTAINER) {
17
- return (
18
- <ScreenContainer style={styles.container}>{children}</ScreenContainer>
19
- );
20
- }
21
- return (
22
- // Mirror ScreenContainer's native boundary when screens are disabled.
23
- <View collapsable={false} style={styles.container}>
24
- {children}
25
- </View>
26
- );
27
- };
28
-
29
- const styles = StyleSheet.create({
30
- container: {
31
- flex: 1,
32
- },
33
- });