@react-navigation/core 6.4.8 → 7.0.0-alpha.1

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 (446) hide show
  1. package/README.md +1 -1
  2. package/lib/commonjs/BaseNavigationContainer.js +71 -61
  3. package/lib/commonjs/BaseNavigationContainer.js.map +1 -1
  4. package/lib/commonjs/CurrentRenderContext.js +2 -3
  5. package/lib/commonjs/CurrentRenderContext.js.map +1 -1
  6. package/lib/commonjs/DeprecatedNavigationInChildContext.js +15 -0
  7. package/lib/commonjs/DeprecatedNavigationInChildContext.js.map +1 -0
  8. package/lib/commonjs/EnsureSingleNavigator.js +1 -1
  9. package/lib/commonjs/EnsureSingleNavigator.js.map +1 -1
  10. package/lib/commonjs/Group.js +1 -1
  11. package/lib/commonjs/Group.js.map +1 -1
  12. package/lib/commonjs/NavigationBuilderContext.js +2 -3
  13. package/lib/commonjs/NavigationBuilderContext.js.map +1 -1
  14. package/lib/commonjs/NavigationContainerRefContext.js +2 -3
  15. package/lib/commonjs/NavigationContainerRefContext.js.map +1 -1
  16. package/lib/commonjs/NavigationContext.js +2 -3
  17. package/lib/commonjs/NavigationContext.js.map +1 -1
  18. package/lib/commonjs/NavigationHelpersContext.js +2 -3
  19. package/lib/commonjs/NavigationHelpersContext.js.map +1 -1
  20. package/lib/commonjs/NavigationIndependentTree.js +32 -0
  21. package/lib/commonjs/NavigationIndependentTree.js.map +1 -0
  22. package/lib/commonjs/NavigationIndependentTreeContext.js +15 -0
  23. package/lib/commonjs/NavigationIndependentTreeContext.js.map +1 -0
  24. package/lib/commonjs/NavigationRouteContext.js +2 -3
  25. package/lib/commonjs/NavigationRouteContext.js.map +1 -1
  26. package/lib/commonjs/NavigationStateContext.js +3 -3
  27. package/lib/commonjs/NavigationStateContext.js.map +1 -1
  28. package/lib/commonjs/PreventRemoveContext.js +2 -3
  29. package/lib/commonjs/PreventRemoveContext.js.map +1 -1
  30. package/lib/commonjs/PreventRemoveProvider.js +8 -8
  31. package/lib/commonjs/PreventRemoveProvider.js.map +1 -1
  32. package/lib/commonjs/SceneView.js +8 -9
  33. package/lib/commonjs/SceneView.js.map +1 -1
  34. package/lib/commonjs/Screen.js +1 -1
  35. package/lib/commonjs/Screen.js.map +1 -1
  36. package/lib/commonjs/StaticContainer.js +4 -5
  37. package/lib/commonjs/StaticContainer.js.map +1 -1
  38. package/lib/commonjs/StaticNavigation.js +159 -0
  39. package/lib/commonjs/StaticNavigation.js.map +1 -0
  40. package/lib/commonjs/UnhandledActionContext.js +2 -3
  41. package/lib/commonjs/UnhandledActionContext.js.map +1 -1
  42. package/lib/commonjs/checkDuplicateRouteNames.js +1 -1
  43. package/lib/commonjs/checkDuplicateRouteNames.js.map +1 -1
  44. package/lib/commonjs/checkSerializable.js +1 -1
  45. package/lib/commonjs/checkSerializable.js.map +1 -1
  46. package/lib/commonjs/createNavigationContainerRef.js +1 -1
  47. package/lib/commonjs/createNavigationContainerRef.js.map +1 -1
  48. package/lib/commonjs/createNavigatorFactory.js +19 -11
  49. package/lib/commonjs/createNavigatorFactory.js.map +1 -1
  50. package/lib/commonjs/findFocusedRoute.js +1 -1
  51. package/lib/commonjs/findFocusedRoute.js.map +1 -1
  52. package/lib/commonjs/fromEntries.js +1 -1
  53. package/lib/commonjs/fromEntries.js.map +1 -1
  54. package/lib/commonjs/getActionFromState.js +1 -1
  55. package/lib/commonjs/getActionFromState.js.map +1 -1
  56. package/lib/commonjs/getFocusedRouteNameFromRoute.js +1 -1
  57. package/lib/commonjs/getFocusedRouteNameFromRoute.js.map +1 -1
  58. package/lib/commonjs/getPathFromState.js +6 -7
  59. package/lib/commonjs/getPathFromState.js.map +1 -1
  60. package/lib/commonjs/getStateFromPath.js +5 -5
  61. package/lib/commonjs/getStateFromPath.js.map +1 -1
  62. package/lib/commonjs/index.js +83 -53
  63. package/lib/commonjs/index.js.map +1 -1
  64. package/lib/commonjs/isArrayEqual.js +1 -1
  65. package/lib/commonjs/isArrayEqual.js.map +1 -1
  66. package/lib/commonjs/isRecordEqual.js +1 -1
  67. package/lib/commonjs/isRecordEqual.js.map +1 -1
  68. package/lib/commonjs/useChildListeners.js +1 -1
  69. package/lib/commonjs/useChildListeners.js.map +1 -1
  70. package/lib/commonjs/useComponent.js +1 -1
  71. package/lib/commonjs/useComponent.js.map +1 -1
  72. package/lib/commonjs/useCurrentRender.js +3 -4
  73. package/lib/commonjs/useCurrentRender.js.map +1 -1
  74. package/lib/commonjs/useDescriptors.js +31 -29
  75. package/lib/commonjs/useDescriptors.js.map +1 -1
  76. package/lib/commonjs/useEventEmitter.js +1 -1
  77. package/lib/commonjs/useEventEmitter.js.map +1 -1
  78. package/lib/commonjs/useFocusEffect.js +3 -4
  79. package/lib/commonjs/useFocusEffect.js.map +1 -1
  80. package/lib/commonjs/useFocusEvents.js +3 -4
  81. package/lib/commonjs/useFocusEvents.js.map +1 -1
  82. package/lib/commonjs/useFocusedListenersChildrenAdapter.js +3 -4
  83. package/lib/commonjs/useFocusedListenersChildrenAdapter.js.map +1 -1
  84. package/lib/commonjs/useIsFocused.js +3 -4
  85. package/lib/commonjs/useIsFocused.js.map +1 -1
  86. package/lib/commonjs/useKeyedChildListeners.js +1 -1
  87. package/lib/commonjs/useKeyedChildListeners.js.map +1 -1
  88. package/lib/commonjs/useNavigation.js +5 -6
  89. package/lib/commonjs/useNavigation.js.map +1 -1
  90. package/lib/commonjs/useNavigationBuilder.js +45 -46
  91. package/lib/commonjs/useNavigationBuilder.js.map +1 -1
  92. package/lib/commonjs/useNavigationCache.js +12 -11
  93. package/lib/commonjs/useNavigationCache.js.map +1 -1
  94. package/lib/commonjs/useNavigationContainerRef.js +3 -4
  95. package/lib/commonjs/useNavigationContainerRef.js.map +1 -1
  96. package/lib/commonjs/useNavigationHelpers.js +5 -6
  97. package/lib/commonjs/useNavigationHelpers.js.map +1 -1
  98. package/lib/commonjs/useNavigationIndependentTree.js +14 -0
  99. package/lib/commonjs/useNavigationIndependentTree.js.map +1 -0
  100. package/lib/commonjs/useNavigationState.js +3 -4
  101. package/lib/commonjs/useNavigationState.js.map +1 -1
  102. package/lib/commonjs/useOnAction.js +16 -13
  103. package/lib/commonjs/useOnAction.js.map +1 -1
  104. package/lib/commonjs/useOnGetState.js +7 -8
  105. package/lib/commonjs/useOnGetState.js.map +1 -1
  106. package/lib/commonjs/useOnPreventRemove.js +5 -6
  107. package/lib/commonjs/useOnPreventRemove.js.map +1 -1
  108. package/lib/commonjs/useOnRouteFocus.js +3 -4
  109. package/lib/commonjs/useOnRouteFocus.js.map +1 -1
  110. package/lib/commonjs/useOptionsGetters.js +5 -6
  111. package/lib/commonjs/useOptionsGetters.js.map +1 -1
  112. package/lib/commonjs/usePreventRemove.js +8 -8
  113. package/lib/commonjs/usePreventRemove.js.map +1 -1
  114. package/lib/commonjs/usePreventRemoveContext.js +3 -4
  115. package/lib/commonjs/usePreventRemoveContext.js.map +1 -1
  116. package/lib/commonjs/useRegisterNavigator.js +1 -1
  117. package/lib/commonjs/useRegisterNavigator.js.map +1 -1
  118. package/lib/commonjs/useRoute.js +3 -4
  119. package/lib/commonjs/useRoute.js.map +1 -1
  120. package/lib/commonjs/useRouteCache.js +1 -1
  121. package/lib/commonjs/useRouteCache.js.map +1 -1
  122. package/lib/commonjs/useScheduleUpdate.js +1 -1
  123. package/lib/commonjs/useScheduleUpdate.js.map +1 -1
  124. package/lib/commonjs/useSyncState.js +1 -1
  125. package/lib/commonjs/useSyncState.js.map +1 -1
  126. package/lib/commonjs/validatePathConfig.js +1 -1
  127. package/lib/commonjs/validatePathConfig.js.map +1 -1
  128. package/lib/module/BaseNavigationContainer.js +58 -48
  129. package/lib/module/BaseNavigationContainer.js.map +1 -1
  130. package/lib/module/CurrentRenderContext.js +1 -2
  131. package/lib/module/CurrentRenderContext.js.map +1 -1
  132. package/lib/module/DeprecatedNavigationInChildContext.js +7 -0
  133. package/lib/module/DeprecatedNavigationInChildContext.js.map +1 -0
  134. package/lib/module/EnsureSingleNavigator.js +1 -1
  135. package/lib/module/EnsureSingleNavigator.js.map +1 -1
  136. package/lib/module/Group.js +1 -1
  137. package/lib/module/Group.js.map +1 -1
  138. package/lib/module/NavigationBuilderContext.js +1 -2
  139. package/lib/module/NavigationBuilderContext.js.map +1 -1
  140. package/lib/module/NavigationContainerRefContext.js +1 -2
  141. package/lib/module/NavigationContainerRefContext.js.map +1 -1
  142. package/lib/module/NavigationContext.js +1 -2
  143. package/lib/module/NavigationContext.js.map +1 -1
  144. package/lib/module/NavigationHelpersContext.js +1 -2
  145. package/lib/module/NavigationHelpersContext.js.map +1 -1
  146. package/lib/module/NavigationIndependentTree.js +25 -0
  147. package/lib/module/NavigationIndependentTree.js.map +1 -0
  148. package/lib/module/NavigationIndependentTreeContext.js +7 -0
  149. package/lib/module/NavigationIndependentTreeContext.js.map +1 -0
  150. package/lib/module/NavigationRouteContext.js +1 -2
  151. package/lib/module/NavigationRouteContext.js.map +1 -1
  152. package/lib/module/NavigationStateContext.js +1 -1
  153. package/lib/module/NavigationStateContext.js.map +1 -1
  154. package/lib/module/PreventRemoveContext.js +1 -2
  155. package/lib/module/PreventRemoveContext.js.map +1 -1
  156. package/lib/module/PreventRemoveProvider.js +4 -4
  157. package/lib/module/PreventRemoveProvider.js.map +1 -1
  158. package/lib/module/SceneView.js +5 -5
  159. package/lib/module/SceneView.js.map +1 -1
  160. package/lib/module/Screen.js +1 -1
  161. package/lib/module/Screen.js.map +1 -1
  162. package/lib/module/StaticContainer.js +2 -3
  163. package/lib/module/StaticContainer.js.map +1 -1
  164. package/lib/module/StaticNavigation.js +156 -0
  165. package/lib/module/StaticNavigation.js.map +1 -0
  166. package/lib/module/UnhandledActionContext.js +1 -2
  167. package/lib/module/UnhandledActionContext.js.map +1 -1
  168. package/lib/module/checkDuplicateRouteNames.js +1 -1
  169. package/lib/module/checkDuplicateRouteNames.js.map +1 -1
  170. package/lib/module/checkSerializable.js +1 -1
  171. package/lib/module/checkSerializable.js.map +1 -1
  172. package/lib/module/createNavigationContainerRef.js +1 -1
  173. package/lib/module/createNavigationContainerRef.js.map +1 -1
  174. package/lib/module/createNavigatorFactory.js +19 -10
  175. package/lib/module/createNavigatorFactory.js.map +1 -1
  176. package/lib/module/findFocusedRoute.js +1 -1
  177. package/lib/module/findFocusedRoute.js.map +1 -1
  178. package/lib/module/fromEntries.js +1 -1
  179. package/lib/module/fromEntries.js.map +1 -1
  180. package/lib/module/getActionFromState.js +1 -1
  181. package/lib/module/getActionFromState.js.map +1 -1
  182. package/lib/module/getFocusedRouteNameFromRoute.js +1 -1
  183. package/lib/module/getFocusedRouteNameFromRoute.js.map +1 -1
  184. package/lib/module/getPathFromState.js +3 -3
  185. package/lib/module/getPathFromState.js.map +1 -1
  186. package/lib/module/getStateFromPath.js +3 -3
  187. package/lib/module/getStateFromPath.js.map +1 -1
  188. package/lib/module/index.js +28 -25
  189. package/lib/module/index.js.map +1 -1
  190. package/lib/module/isArrayEqual.js +1 -1
  191. package/lib/module/isArrayEqual.js.map +1 -1
  192. package/lib/module/isRecordEqual.js +1 -1
  193. package/lib/module/isRecordEqual.js.map +1 -1
  194. package/lib/module/useChildListeners.js +1 -1
  195. package/lib/module/useChildListeners.js.map +1 -1
  196. package/lib/module/useComponent.js +1 -1
  197. package/lib/module/useComponent.js.map +1 -1
  198. package/lib/module/useCurrentRender.js +2 -2
  199. package/lib/module/useCurrentRender.js.map +1 -1
  200. package/lib/module/useDescriptors.js +28 -25
  201. package/lib/module/useDescriptors.js.map +1 -1
  202. package/lib/module/useEventEmitter.js +1 -1
  203. package/lib/module/useEventEmitter.js.map +1 -1
  204. package/lib/module/useFocusEffect.js +2 -2
  205. package/lib/module/useFocusEffect.js.map +1 -1
  206. package/lib/module/useFocusEvents.js +2 -2
  207. package/lib/module/useFocusEvents.js.map +1 -1
  208. package/lib/module/useFocusedListenersChildrenAdapter.js +2 -2
  209. package/lib/module/useFocusedListenersChildrenAdapter.js.map +1 -1
  210. package/lib/module/useIsFocused.js +2 -2
  211. package/lib/module/useIsFocused.js.map +1 -1
  212. package/lib/module/useKeyedChildListeners.js +1 -1
  213. package/lib/module/useKeyedChildListeners.js.map +1 -1
  214. package/lib/module/useNavigation.js +3 -3
  215. package/lib/module/useNavigation.js.map +1 -1
  216. package/lib/module/useNavigationBuilder.js +24 -24
  217. package/lib/module/useNavigationBuilder.js.map +1 -1
  218. package/lib/module/useNavigationCache.js +11 -9
  219. package/lib/module/useNavigationCache.js.map +1 -1
  220. package/lib/module/useNavigationContainerRef.js +2 -2
  221. package/lib/module/useNavigationContainerRef.js.map +1 -1
  222. package/lib/module/useNavigationHelpers.js +3 -3
  223. package/lib/module/useNavigationHelpers.js.map +1 -1
  224. package/lib/module/useNavigationIndependentTree.js +6 -0
  225. package/lib/module/useNavigationIndependentTree.js.map +1 -0
  226. package/lib/module/useNavigationState.js +2 -2
  227. package/lib/module/useNavigationState.js.map +1 -1
  228. package/lib/module/useOnAction.js +14 -10
  229. package/lib/module/useOnAction.js.map +1 -1
  230. package/lib/module/useOnGetState.js +4 -4
  231. package/lib/module/useOnGetState.js.map +1 -1
  232. package/lib/module/useOnPreventRemove.js +3 -3
  233. package/lib/module/useOnPreventRemove.js.map +1 -1
  234. package/lib/module/useOnRouteFocus.js +2 -2
  235. package/lib/module/useOnRouteFocus.js.map +1 -1
  236. package/lib/module/useOptionsGetters.js +3 -3
  237. package/lib/module/useOptionsGetters.js.map +1 -1
  238. package/lib/module/usePreventRemove.js +4 -4
  239. package/lib/module/usePreventRemove.js.map +1 -1
  240. package/lib/module/usePreventRemoveContext.js +2 -2
  241. package/lib/module/usePreventRemoveContext.js.map +1 -1
  242. package/lib/module/useRegisterNavigator.js +1 -1
  243. package/lib/module/useRegisterNavigator.js.map +1 -1
  244. package/lib/module/useRoute.js +2 -2
  245. package/lib/module/useRoute.js.map +1 -1
  246. package/lib/module/useRouteCache.js +1 -1
  247. package/lib/module/useRouteCache.js.map +1 -1
  248. package/lib/module/useScheduleUpdate.js +1 -1
  249. package/lib/module/useScheduleUpdate.js.map +1 -1
  250. package/lib/module/useSyncState.js +1 -1
  251. package/lib/module/useSyncState.js.map +1 -1
  252. package/lib/module/validatePathConfig.js +1 -1
  253. package/lib/module/validatePathConfig.js.map +1 -1
  254. package/lib/typescript/src/BaseNavigationContainer.d.ts +3 -2
  255. package/lib/typescript/src/BaseNavigationContainer.d.ts.map +1 -1
  256. package/lib/typescript/src/CurrentRenderContext.d.ts +1 -2
  257. package/lib/typescript/src/CurrentRenderContext.d.ts.map +1 -1
  258. package/lib/typescript/src/DeprecatedNavigationInChildContext.d.ts +6 -0
  259. package/lib/typescript/src/DeprecatedNavigationInChildContext.d.ts.map +1 -0
  260. package/lib/typescript/src/EnsureSingleNavigator.d.ts +2 -2
  261. package/lib/typescript/src/EnsureSingleNavigator.d.ts.map +1 -1
  262. package/lib/typescript/src/Group.d.ts +1 -1
  263. package/lib/typescript/src/Group.d.ts.map +1 -1
  264. package/lib/typescript/src/NavigationBuilderContext.d.ts +10 -11
  265. package/lib/typescript/src/NavigationBuilderContext.d.ts.map +1 -1
  266. package/lib/typescript/src/NavigationContainerRefContext.d.ts +1 -2
  267. package/lib/typescript/src/NavigationContainerRefContext.d.ts.map +1 -1
  268. package/lib/typescript/src/NavigationContext.d.ts +1 -2
  269. package/lib/typescript/src/NavigationContext.d.ts.map +1 -1
  270. package/lib/typescript/src/NavigationHelpersContext.d.ts +1 -2
  271. package/lib/typescript/src/NavigationHelpersContext.d.ts.map +1 -1
  272. package/lib/typescript/src/NavigationIndependentTree.d.ts +8 -0
  273. package/lib/typescript/src/NavigationIndependentTree.d.ts.map +1 -0
  274. package/lib/typescript/src/NavigationIndependentTreeContext.d.ts +6 -0
  275. package/lib/typescript/src/NavigationIndependentTreeContext.d.ts.map +1 -0
  276. package/lib/typescript/src/NavigationRouteContext.d.ts +1 -2
  277. package/lib/typescript/src/NavigationRouteContext.d.ts.map +1 -1
  278. package/lib/typescript/src/NavigationStateContext.d.ts +1 -2
  279. package/lib/typescript/src/NavigationStateContext.d.ts.map +1 -1
  280. package/lib/typescript/src/PreventRemoveContext.d.ts +2 -3
  281. package/lib/typescript/src/PreventRemoveContext.d.ts.map +1 -1
  282. package/lib/typescript/src/PreventRemoveProvider.d.ts +2 -2
  283. package/lib/typescript/src/PreventRemoveProvider.d.ts.map +1 -1
  284. package/lib/typescript/src/SceneView.d.ts +2 -2
  285. package/lib/typescript/src/SceneView.d.ts.map +1 -1
  286. package/lib/typescript/src/Screen.d.ts +1 -1
  287. package/lib/typescript/src/Screen.d.ts.map +1 -1
  288. package/lib/typescript/src/StaticContainer.d.ts +1 -3
  289. package/lib/typescript/src/StaticContainer.d.ts.map +1 -1
  290. package/lib/typescript/src/StaticNavigation.d.ts +159 -0
  291. package/lib/typescript/src/StaticNavigation.d.ts.map +1 -0
  292. package/lib/typescript/src/UnhandledActionContext.d.ts +1 -2
  293. package/lib/typescript/src/UnhandledActionContext.d.ts.map +1 -1
  294. package/lib/typescript/src/checkDuplicateRouteNames.d.ts +1 -1
  295. package/lib/typescript/src/checkDuplicateRouteNames.d.ts.map +1 -1
  296. package/lib/typescript/src/checkSerializable.d.ts +1 -1
  297. package/lib/typescript/src/checkSerializable.d.ts.map +1 -1
  298. package/lib/typescript/src/createNavigationContainerRef.d.ts +1 -1
  299. package/lib/typescript/src/createNavigationContainerRef.d.ts.map +1 -1
  300. package/lib/typescript/src/createNavigatorFactory.d.ts +8 -2
  301. package/lib/typescript/src/createNavigatorFactory.d.ts.map +1 -1
  302. package/lib/typescript/src/findFocusedRoute.d.ts +1 -1
  303. package/lib/typescript/src/findFocusedRoute.d.ts.map +1 -1
  304. package/lib/typescript/src/fromEntries.d.ts +1 -1
  305. package/lib/typescript/src/fromEntries.d.ts.map +1 -1
  306. package/lib/typescript/src/getActionFromState.d.ts +3 -3
  307. package/lib/typescript/src/getActionFromState.d.ts.map +1 -1
  308. package/lib/typescript/src/getFocusedRouteNameFromRoute.d.ts +1 -1
  309. package/lib/typescript/src/getFocusedRouteNameFromRoute.d.ts.map +1 -1
  310. package/lib/typescript/src/getPathFromState.d.ts +3 -3
  311. package/lib/typescript/src/getPathFromState.d.ts.map +1 -1
  312. package/lib/typescript/src/getStateFromPath.d.ts +3 -3
  313. package/lib/typescript/src/getStateFromPath.d.ts.map +1 -1
  314. package/lib/typescript/src/index.d.ts +28 -25
  315. package/lib/typescript/src/index.d.ts.map +1 -1
  316. package/lib/typescript/src/isArrayEqual.d.ts +1 -1
  317. package/lib/typescript/src/isArrayEqual.d.ts.map +1 -1
  318. package/lib/typescript/src/isRecordEqual.d.ts +1 -1
  319. package/lib/typescript/src/isRecordEqual.d.ts.map +1 -1
  320. package/lib/typescript/src/types.d.ts +109 -48
  321. package/lib/typescript/src/types.d.ts.map +1 -1
  322. package/lib/typescript/src/useChildListeners.d.ts +1 -1
  323. package/lib/typescript/src/useChildListeners.d.ts.map +1 -1
  324. package/lib/typescript/src/useComponent.d.ts +2 -2
  325. package/lib/typescript/src/useComponent.d.ts.map +1 -1
  326. package/lib/typescript/src/useCurrentRender.d.ts +2 -2
  327. package/lib/typescript/src/useCurrentRender.d.ts.map +1 -1
  328. package/lib/typescript/src/useDescriptors.d.ts +12 -10
  329. package/lib/typescript/src/useDescriptors.d.ts.map +1 -1
  330. package/lib/typescript/src/useEventEmitter.d.ts +2 -2
  331. package/lib/typescript/src/useEventEmitter.d.ts.map +1 -1
  332. package/lib/typescript/src/useFocusEffect.d.ts +2 -2
  333. package/lib/typescript/src/useFocusEffect.d.ts.map +1 -1
  334. package/lib/typescript/src/useFocusEvents.d.ts +2 -2
  335. package/lib/typescript/src/useFocusEvents.d.ts.map +1 -1
  336. package/lib/typescript/src/useFocusedListenersChildrenAdapter.d.ts +2 -2
  337. package/lib/typescript/src/useFocusedListenersChildrenAdapter.d.ts.map +1 -1
  338. package/lib/typescript/src/useIsFocused.d.ts +1 -1
  339. package/lib/typescript/src/useIsFocused.d.ts.map +1 -1
  340. package/lib/typescript/src/useKeyedChildListeners.d.ts +1 -1
  341. package/lib/typescript/src/useKeyedChildListeners.d.ts.map +1 -1
  342. package/lib/typescript/src/useNavigation.d.ts +1 -1
  343. package/lib/typescript/src/useNavigation.d.ts.map +1 -1
  344. package/lib/typescript/src/useNavigationBuilder.d.ts +20 -16
  345. package/lib/typescript/src/useNavigationBuilder.d.ts.map +1 -1
  346. package/lib/typescript/src/useNavigationCache.d.ts +4 -4
  347. package/lib/typescript/src/useNavigationCache.d.ts.map +1 -1
  348. package/lib/typescript/src/useNavigationContainerRef.d.ts +1 -1
  349. package/lib/typescript/src/useNavigationContainerRef.d.ts.map +1 -1
  350. package/lib/typescript/src/useNavigationHelpers.d.ts +28 -10
  351. package/lib/typescript/src/useNavigationHelpers.d.ts.map +1 -1
  352. package/lib/typescript/src/useNavigationIndependentTree.d.ts +2 -0
  353. package/lib/typescript/src/useNavigationIndependentTree.d.ts.map +1 -0
  354. package/lib/typescript/src/useNavigationState.d.ts +2 -2
  355. package/lib/typescript/src/useNavigationState.d.ts.map +1 -1
  356. package/lib/typescript/src/useOnAction.d.ts +2 -2
  357. package/lib/typescript/src/useOnAction.d.ts.map +1 -1
  358. package/lib/typescript/src/useOnGetState.d.ts +2 -2
  359. package/lib/typescript/src/useOnGetState.d.ts.map +1 -1
  360. package/lib/typescript/src/useOnPreventRemove.d.ts +2 -2
  361. package/lib/typescript/src/useOnPreventRemove.d.ts.map +1 -1
  362. package/lib/typescript/src/useOnRouteFocus.d.ts +2 -2
  363. package/lib/typescript/src/useOnRouteFocus.d.ts.map +1 -1
  364. package/lib/typescript/src/useOptionsGetters.d.ts +2 -2
  365. package/lib/typescript/src/useOptionsGetters.d.ts.map +1 -1
  366. package/lib/typescript/src/usePreventRemove.d.ts +1 -1
  367. package/lib/typescript/src/usePreventRemove.d.ts.map +1 -1
  368. package/lib/typescript/src/usePreventRemoveContext.d.ts +1 -1
  369. package/lib/typescript/src/usePreventRemoveContext.d.ts.map +1 -1
  370. package/lib/typescript/src/useRegisterNavigator.d.ts +1 -1
  371. package/lib/typescript/src/useRegisterNavigator.d.ts.map +1 -1
  372. package/lib/typescript/src/useRoute.d.ts +1 -1
  373. package/lib/typescript/src/useRoute.d.ts.map +1 -1
  374. package/lib/typescript/src/useRouteCache.d.ts +1 -1
  375. package/lib/typescript/src/useRouteCache.d.ts.map +1 -1
  376. package/lib/typescript/src/useScheduleUpdate.d.ts +1 -1
  377. package/lib/typescript/src/useScheduleUpdate.d.ts.map +1 -1
  378. package/lib/typescript/src/useSyncState.d.ts +1 -1
  379. package/lib/typescript/src/useSyncState.d.ts.map +1 -1
  380. package/lib/typescript/src/validatePathConfig.d.ts +1 -1
  381. package/lib/typescript/src/validatePathConfig.d.ts.map +1 -1
  382. package/package.json +11 -11
  383. package/src/BaseNavigationContainer.tsx +82 -80
  384. package/src/CurrentRenderContext.tsx +1 -3
  385. package/src/DeprecatedNavigationInChildContext.tsx +6 -0
  386. package/src/EnsureSingleNavigator.tsx +1 -1
  387. package/src/Group.tsx +1 -1
  388. package/src/NavigationBuilderContext.tsx +1 -3
  389. package/src/NavigationContainerRefContext.tsx +1 -3
  390. package/src/NavigationContext.tsx +1 -3
  391. package/src/NavigationHelpersContext.tsx +1 -3
  392. package/src/NavigationIndependentTree.tsx +25 -0
  393. package/src/NavigationIndependentTreeContext.tsx +6 -0
  394. package/src/NavigationRouteContext.tsx +3 -5
  395. package/src/NavigationStateContext.tsx +1 -1
  396. package/src/PreventRemoveContext.tsx +1 -3
  397. package/src/PreventRemoveProvider.tsx +4 -4
  398. package/src/SceneView.tsx +5 -5
  399. package/src/Screen.tsx +1 -1
  400. package/src/StaticContainer.tsx +19 -18
  401. package/src/StaticNavigation.tsx +401 -0
  402. package/src/UnhandledActionContext.tsx +1 -3
  403. package/src/checkDuplicateRouteNames.tsx +1 -1
  404. package/src/checkSerializable.tsx +1 -1
  405. package/src/createNavigationContainerRef.tsx +1 -1
  406. package/src/createNavigatorFactory.tsx +41 -12
  407. package/src/findFocusedRoute.tsx +1 -1
  408. package/src/fromEntries.tsx +1 -3
  409. package/src/getActionFromState.tsx +3 -9
  410. package/src/getFocusedRouteNameFromRoute.tsx +1 -1
  411. package/src/getPathFromState.tsx +4 -4
  412. package/src/getStateFromPath.tsx +3 -3
  413. package/src/index.tsx +34 -25
  414. package/src/isArrayEqual.tsx +1 -1
  415. package/src/isRecordEqual.tsx +1 -4
  416. package/src/types.tsx +111 -29
  417. package/src/useChildListeners.tsx +1 -1
  418. package/src/useComponent.tsx +1 -1
  419. package/src/useCurrentRender.tsx +2 -6
  420. package/src/useDescriptors.tsx +32 -26
  421. package/src/useEventEmitter.tsx +1 -1
  422. package/src/useFocusEffect.tsx +2 -2
  423. package/src/useFocusEvents.tsx +2 -2
  424. package/src/useFocusedListenersChildrenAdapter.tsx +3 -2
  425. package/src/useIsFocused.tsx +2 -2
  426. package/src/useKeyedChildListeners.tsx +1 -1
  427. package/src/useNavigation.tsx +3 -3
  428. package/src/useNavigationBuilder.tsx +33 -28
  429. package/src/useNavigationCache.tsx +10 -6
  430. package/src/useNavigationContainerRef.tsx +2 -2
  431. package/src/useNavigationHelpers.tsx +3 -3
  432. package/src/useNavigationIndependentTree.tsx +7 -0
  433. package/src/useNavigationState.tsx +2 -2
  434. package/src/useOnAction.tsx +17 -8
  435. package/src/useOnGetState.tsx +5 -7
  436. package/src/useOnPreventRemove.tsx +4 -3
  437. package/src/useOnRouteFocus.tsx +2 -2
  438. package/src/useOptionsGetters.tsx +3 -7
  439. package/src/usePreventRemove.tsx +4 -4
  440. package/src/usePreventRemoveContext.tsx +2 -2
  441. package/src/useRegisterNavigator.tsx +1 -1
  442. package/src/useRoute.tsx +2 -2
  443. package/src/useRouteCache.tsx +1 -1
  444. package/src/useScheduleUpdate.tsx +1 -1
  445. package/src/useSyncState.tsx +1 -1
  446. package/src/validatePathConfig.tsx +1 -1
@@ -10,7 +10,7 @@ export const CHILD_STATE = Symbol('CHILD_STATE');
10
10
  * Hook to cache route props for each screen in the navigator.
11
11
  * This lets add warnings and modifications to the route object but keep references between renders.
12
12
  */
13
- export default function useRouteCache(routes) {
13
+ export function useRouteCache(routes) {
14
14
  // Cache object which holds route objects for each screen
15
15
  const cache = React.useMemo(() => ({
16
16
  current: new Map()
@@ -1 +1 @@
1
- {"version":3,"names":["React","CHILD_STATE","Symbol","useRouteCache","routes","cache","useMemo","current","Map","process","env","NODE_ENV","reduce","acc","route","previous","get","set","state","proxy","Object","defineProperty","enumerable","value","Array","from","values"],"sourceRoot":"../../src","sources":["useRouteCache.tsx"],"mappings":"AAKA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAM9B;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,WAAW,GAAGC,MAAM,CAAC,aAAa,CAAC;;AAEhD;AACA;AACA;AACA;AACA,eAAe,SAASC,aAAa,CACnCC,MAAuB,EACvB;EACA;EACA,MAAMC,KAAK,GAAGL,KAAK,CAACM,OAAO,CAAC,OAAO;IAAEC,OAAO,EAAE,IAAIC,GAAG;EAAiB,CAAC,CAAC,EAAE,EAAE,CAAC;EAE7E,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;IACzC;IACA,OAAOP,MAAM;EACf;EAEAC,KAAK,CAACE,OAAO,GAAGH,MAAM,CAACQ,MAAM,CAAC,CAACC,GAAG,EAAEC,KAAK,KAAK;IAC5C,MAAMC,QAAQ,GAAGV,KAAK,CAACE,OAAO,CAACS,GAAG,CAACF,KAAK,CAAC;IAEzC,IAAIC,QAAQ,EAAE;MACZ;MACAF,GAAG,CAACI,GAAG,CAACH,KAAK,EAAEC,QAAQ,CAAC;IAC1B,CAAC,MAAM;MACL,MAAM;QAAEG,KAAK;QAAE,GAAGC;MAAM,CAAC,GAAGL,KAAK;MAEjCM,MAAM,CAACC,cAAc,CAACF,KAAK,EAAElB,WAAW,EAAE;QACxCqB,UAAU,EAAE,KAAK;QACjBC,KAAK,EAAEL;MACT,CAAC,CAAC;MAEFL,GAAG,CAACI,GAAG,CAACH,KAAK,EAAEK,KAAK,CAAC;IACvB;IAEA,OAAON,GAAG;EACZ,CAAC,EAAE,IAAIL,GAAG,EAAE,CAAe;EAE3B,OAAOgB,KAAK,CAACC,IAAI,CAACpB,KAAK,CAACE,OAAO,CAACmB,MAAM,EAAE,CAAC;AAC3C"}
1
+ {"version":3,"names":["React","CHILD_STATE","Symbol","useRouteCache","routes","cache","useMemo","current","Map","process","env","NODE_ENV","reduce","acc","route","previous","get","set","state","proxy","Object","defineProperty","enumerable","value","Array","from","values"],"sourceRoot":"../../src","sources":["useRouteCache.tsx"],"mappings":"AAKA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAM9B;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,WAAW,GAAGC,MAAM,CAAC,aAAa,CAAC;;AAEhD;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAa,CAC3BC,MAAuB,EACvB;EACA;EACA,MAAMC,KAAK,GAAGL,KAAK,CAACM,OAAO,CAAC,OAAO;IAAEC,OAAO,EAAE,IAAIC,GAAG;EAAiB,CAAC,CAAC,EAAE,EAAE,CAAC;EAE7E,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;IACzC;IACA,OAAOP,MAAM;EACf;EAEAC,KAAK,CAACE,OAAO,GAAGH,MAAM,CAACQ,MAAM,CAAC,CAACC,GAAG,EAAEC,KAAK,KAAK;IAC5C,MAAMC,QAAQ,GAAGV,KAAK,CAACE,OAAO,CAACS,GAAG,CAACF,KAAK,CAAC;IAEzC,IAAIC,QAAQ,EAAE;MACZ;MACAF,GAAG,CAACI,GAAG,CAACH,KAAK,EAAEC,QAAQ,CAAC;IAC1B,CAAC,MAAM;MACL,MAAM;QAAEG,KAAK;QAAE,GAAGC;MAAM,CAAC,GAAGL,KAAK;MAEjCM,MAAM,CAACC,cAAc,CAACF,KAAK,EAAElB,WAAW,EAAE;QACxCqB,UAAU,EAAE,KAAK;QACjBC,KAAK,EAAEL;MACT,CAAC,CAAC;MAEFL,GAAG,CAACI,GAAG,CAACH,KAAK,EAAEK,KAAK,CAAC;IACvB;IAEA,OAAON,GAAG;EACZ,CAAC,EAAE,IAAIL,GAAG,EAAE,CAAe;EAE3B,OAAOgB,KAAK,CAACC,IAAI,CAACpB,KAAK,CAACE,OAAO,CAACmB,MAAM,EAAE,CAAC;AAC3C"}
@@ -16,7 +16,7 @@ export const ScheduleUpdateContext = /*#__PURE__*/React.createContext({
16
16
  * It lets all subsequent updates access the latest state so it stays correct.
17
17
  * Then we call setState during after the component updates.
18
18
  */
19
- export default function useScheduleUpdate(callback) {
19
+ export function useScheduleUpdate(callback) {
20
20
  const {
21
21
  scheduleUpdate,
22
22
  flushUpdates
@@ -1 +1 @@
1
- {"version":3,"names":["React","MISSING_CONTEXT_ERROR","ScheduleUpdateContext","createContext","scheduleUpdate","Error","flushUpdates","useScheduleUpdate","callback","useContext","useEffect"],"sourceRoot":"../../src","sources":["useScheduleUpdate.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,MAAMC,qBAAqB,GAAG,mCAAmC;AAEjE,OAAO,MAAMC,qBAAqB,gBAAGF,KAAK,CAACG,aAAa,CAGrD;EACDC,cAAc,GAAG;IACf,MAAM,IAAIC,KAAK,CAACJ,qBAAqB,CAAC;EACxC,CAAC;EACDK,YAAY,GAAG;IACb,MAAM,IAAID,KAAK,CAACJ,qBAAqB,CAAC;EACxC;AACF,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASM,iBAAiB,CAACC,QAAoB,EAAE;EAC9D,MAAM;IAAEJ,cAAc;IAAEE;EAAa,CAAC,GAAGN,KAAK,CAACS,UAAU,CACvDP,qBAAqB,CACtB;EAEDE,cAAc,CAACI,QAAQ,CAAC;EAExBR,KAAK,CAACU,SAAS,CAACJ,YAAY,CAAC;AAC/B"}
1
+ {"version":3,"names":["React","MISSING_CONTEXT_ERROR","ScheduleUpdateContext","createContext","scheduleUpdate","Error","flushUpdates","useScheduleUpdate","callback","useContext","useEffect"],"sourceRoot":"../../src","sources":["useScheduleUpdate.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,MAAMC,qBAAqB,GAAG,mCAAmC;AAEjE,OAAO,MAAMC,qBAAqB,gBAAGF,KAAK,CAACG,aAAa,CAGrD;EACDC,cAAc,GAAG;IACf,MAAM,IAAIC,KAAK,CAACJ,qBAAqB,CAAC;EACxC,CAAC;EACDK,YAAY,GAAG;IACb,MAAM,IAAID,KAAK,CAACJ,qBAAqB,CAAC;EACxC;AACF,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASM,iBAAiB,CAACC,QAAoB,EAAE;EACtD,MAAM;IAAEJ,cAAc;IAAEE;EAAa,CAAC,GAAGN,KAAK,CAACS,UAAU,CACvDP,qBAAqB,CACtB;EAEDE,cAAc,CAACI,QAAQ,CAAC;EAExBR,KAAK,CAACU,SAAS,CAACJ,YAAY,CAAC;AAC/B"}
@@ -4,7 +4,7 @@ const UNINTIALIZED_STATE = {};
4
4
  /**
5
5
  * This is definitely not compatible with concurrent mode, but we don't have a solution for sync state yet.
6
6
  */
7
- export default function useSyncState(initialState) {
7
+ export function useSyncState(initialState) {
8
8
  const stateRef = React.useRef(UNINTIALIZED_STATE);
9
9
  const isSchedulingRef = React.useRef(false);
10
10
  const isMountedRef = React.useRef(true);
@@ -1 +1 @@
1
- {"version":3,"names":["React","UNINTIALIZED_STATE","useSyncState","initialState","stateRef","useRef","isSchedulingRef","isMountedRef","useEffect","current","trackingState","setTrackingState","useState","getState","useCallback","setState","state","scheduleUpdate","callback","flushUpdates","useDebugValue"],"sourceRoot":"../../src","sources":["useSyncState.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,MAAMC,kBAAkB,GAAG,CAAC,CAAC;;AAE7B;AACA;AACA;AACA,eAAe,SAASC,YAAY,CAAIC,YAA4B,EAAE;EACpE,MAAMC,QAAQ,GAAGJ,KAAK,CAACK,MAAM,CAAIJ,kBAAkB,CAAQ;EAC3D,MAAMK,eAAe,GAAGN,KAAK,CAACK,MAAM,CAAC,KAAK,CAAC;EAC3C,MAAME,YAAY,GAAGP,KAAK,CAACK,MAAM,CAAC,IAAI,CAAC;EAEvCL,KAAK,CAACQ,SAAS,CAAC,MAAM;IACpBD,YAAY,CAACE,OAAO,GAAG,IAAI;IAE3B,OAAO,MAAM;MACXF,YAAY,CAACE,OAAO,GAAG,KAAK;IAC9B,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,IAAIL,QAAQ,CAACK,OAAO,KAAKR,kBAAkB,EAAE;IAC3CG,QAAQ,CAACK,OAAO;IACd;IACA,OAAON,YAAY,KAAK,UAAU,GAAGA,YAAY,EAAE,GAAGA,YAAY;EACtE;EAEA,MAAM,CAACO,aAAa,EAAEC,gBAAgB,CAAC,GAAGX,KAAK,CAACY,QAAQ,CAACR,QAAQ,CAACK,OAAO,CAAC;EAE1E,MAAMI,QAAQ,GAAGb,KAAK,CAACc,WAAW,CAAC,MAAMV,QAAQ,CAACK,OAAO,EAAE,EAAE,CAAC;EAE9D,MAAMM,QAAQ,GAAGf,KAAK,CAACc,WAAW,CAAEE,KAAQ,IAAK;IAC/C,IAAIA,KAAK,KAAKZ,QAAQ,CAACK,OAAO,IAAI,CAACF,YAAY,CAACE,OAAO,EAAE;MACvD;IACF;IAEAL,QAAQ,CAACK,OAAO,GAAGO,KAAK;IAExB,IAAI,CAACV,eAAe,CAACG,OAAO,EAAE;MAC5BE,gBAAgB,CAACK,KAAK,CAAC;IACzB;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,cAAc,GAAGjB,KAAK,CAACc,WAAW,CAAEI,QAAoB,IAAK;IACjEZ,eAAe,CAACG,OAAO,GAAG,IAAI;IAE9B,IAAI;MACFS,QAAQ,EAAE;IACZ,CAAC,SAAS;MACRZ,eAAe,CAACG,OAAO,GAAG,KAAK;IACjC;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMU,YAAY,GAAGnB,KAAK,CAACc,WAAW,CAAC,MAAM;IAC3C,IAAI,CAACP,YAAY,CAACE,OAAO,EAAE;MACzB;IACF;;IAEA;IACA;IACAE,gBAAgB,CAACP,QAAQ,CAACK,OAAO,CAAC;EACpC,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA;EACA,IAAIC,aAAa,KAAKN,QAAQ,CAACK,OAAO,EAAE;IACtCE,gBAAgB,CAACP,QAAQ,CAACK,OAAO,CAAC;EACpC;EAEA,MAAMO,KAAK,GAAGZ,QAAQ,CAACK,OAAO;EAE9BT,KAAK,CAACoB,aAAa,CAACJ,KAAK,CAAC;EAE1B,OAAO,CAACA,KAAK,EAAEH,QAAQ,EAAEE,QAAQ,EAAEE,cAAc,EAAEE,YAAY,CAAC;AAClE"}
1
+ {"version":3,"names":["React","UNINTIALIZED_STATE","useSyncState","initialState","stateRef","useRef","isSchedulingRef","isMountedRef","useEffect","current","trackingState","setTrackingState","useState","getState","useCallback","setState","state","scheduleUpdate","callback","flushUpdates","useDebugValue"],"sourceRoot":"../../src","sources":["useSyncState.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,MAAMC,kBAAkB,GAAG,CAAC,CAAC;;AAE7B;AACA;AACA;AACA,OAAO,SAASC,YAAY,CAAIC,YAA4B,EAAE;EAC5D,MAAMC,QAAQ,GAAGJ,KAAK,CAACK,MAAM,CAAIJ,kBAAkB,CAAQ;EAC3D,MAAMK,eAAe,GAAGN,KAAK,CAACK,MAAM,CAAC,KAAK,CAAC;EAC3C,MAAME,YAAY,GAAGP,KAAK,CAACK,MAAM,CAAC,IAAI,CAAC;EAEvCL,KAAK,CAACQ,SAAS,CAAC,MAAM;IACpBD,YAAY,CAACE,OAAO,GAAG,IAAI;IAE3B,OAAO,MAAM;MACXF,YAAY,CAACE,OAAO,GAAG,KAAK;IAC9B,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,IAAIL,QAAQ,CAACK,OAAO,KAAKR,kBAAkB,EAAE;IAC3CG,QAAQ,CAACK,OAAO;IACd;IACA,OAAON,YAAY,KAAK,UAAU,GAAGA,YAAY,EAAE,GAAGA,YAAY;EACtE;EAEA,MAAM,CAACO,aAAa,EAAEC,gBAAgB,CAAC,GAAGX,KAAK,CAACY,QAAQ,CAACR,QAAQ,CAACK,OAAO,CAAC;EAE1E,MAAMI,QAAQ,GAAGb,KAAK,CAACc,WAAW,CAAC,MAAMV,QAAQ,CAACK,OAAO,EAAE,EAAE,CAAC;EAE9D,MAAMM,QAAQ,GAAGf,KAAK,CAACc,WAAW,CAAEE,KAAQ,IAAK;IAC/C,IAAIA,KAAK,KAAKZ,QAAQ,CAACK,OAAO,IAAI,CAACF,YAAY,CAACE,OAAO,EAAE;MACvD;IACF;IAEAL,QAAQ,CAACK,OAAO,GAAGO,KAAK;IAExB,IAAI,CAACV,eAAe,CAACG,OAAO,EAAE;MAC5BE,gBAAgB,CAACK,KAAK,CAAC;IACzB;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,cAAc,GAAGjB,KAAK,CAACc,WAAW,CAAEI,QAAoB,IAAK;IACjEZ,eAAe,CAACG,OAAO,GAAG,IAAI;IAE9B,IAAI;MACFS,QAAQ,EAAE;IACZ,CAAC,SAAS;MACRZ,eAAe,CAACG,OAAO,GAAG,KAAK;IACjC;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMU,YAAY,GAAGnB,KAAK,CAACc,WAAW,CAAC,MAAM;IAC3C,IAAI,CAACP,YAAY,CAACE,OAAO,EAAE;MACzB;IACF;;IAEA;IACA;IACAE,gBAAgB,CAACP,QAAQ,CAACK,OAAO,CAAC;EACpC,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA;EACA,IAAIC,aAAa,KAAKN,QAAQ,CAACK,OAAO,EAAE;IACtCE,gBAAgB,CAACP,QAAQ,CAACK,OAAO,CAAC;EACpC;EAEA,MAAMO,KAAK,GAAGZ,QAAQ,CAACK,OAAO;EAE9BT,KAAK,CAACoB,aAAa,CAACJ,KAAK,CAAC;EAE1B,OAAO,CAACA,KAAK,EAAEH,QAAQ,EAAEE,QAAQ,EAAEE,cAAc,EAAEE,YAAY,CAAC;AAClE"}
@@ -1,5 +1,5 @@
1
1
  const formatToList = items => items.map(key => `- ${key}`).join('\n');
2
- export default function validatePathConfig(config) {
2
+ export function validatePathConfig(config) {
3
3
  let root = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
4
4
  const validKeys = ['initialRouteName', 'screens'];
5
5
  if (!root) {
@@ -1 +1 @@
1
- {"version":3,"names":["formatToList","items","map","key","join","validatePathConfig","config","root","validKeys","push","invalidKeys","Object","keys","filter","includes","length","Error","screens","entries","forEach","_","value"],"sourceRoot":"../../src","sources":["validatePathConfig.tsx"],"mappings":"AAAA,MAAMA,YAAY,GAAIC,KAAe,IACnCA,KAAK,CAACC,GAAG,CAAEC,GAAG,IAAM,KAAIA,GAAI,EAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;AAE3C,eAAe,SAASC,kBAAkB,CAACC,MAAW,EAAe;EAAA,IAAbC,IAAI,uEAAG,IAAI;EACjE,MAAMC,SAAS,GAAG,CAAC,kBAAkB,EAAE,SAAS,CAAC;EAEjD,IAAI,CAACD,IAAI,EAAE;IACTC,SAAS,CAACC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC;EACvD;EAEA,MAAMC,WAAW,GAAGC,MAAM,CAACC,IAAI,CAACN,MAAM,CAAC,CAACO,MAAM,CAC3CV,GAAG,IAAK,CAACK,SAAS,CAACM,QAAQ,CAACX,GAAG,CAAC,CAClC;EAED,IAAIO,WAAW,CAACK,MAAM,EAAE;IACtB,MAAM,IAAIC,KAAK,CACZ,mDAAkDhB,YAAY,CAC7DU,WAAW,CACX,qHAAoHV,YAAY,CAChIQ,SAAS,CACT,wHAAuH,CAC1H;EACH;EAEA,IAAIF,MAAM,CAACW,OAAO,EAAE;IAClBN,MAAM,CAACO,OAAO,CAACZ,MAAM,CAACW,OAAO,CAAC,CAACE,OAAO,CAAC,QAAgB;MAAA,IAAf,CAACC,CAAC,EAAEC,KAAK,CAAC;MAChD,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;QAC7BhB,kBAAkB,CAACgB,KAAK,EAAE,KAAK,CAAC;MAClC;IACF,CAAC,CAAC;EACJ;AACF"}
1
+ {"version":3,"names":["formatToList","items","map","key","join","validatePathConfig","config","root","validKeys","push","invalidKeys","Object","keys","filter","includes","length","Error","screens","entries","forEach","_","value"],"sourceRoot":"../../src","sources":["validatePathConfig.tsx"],"mappings":"AAAA,MAAMA,YAAY,GAAIC,KAAe,IACnCA,KAAK,CAACC,GAAG,CAAEC,GAAG,IAAM,KAAIA,GAAI,EAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;AAE3C,OAAO,SAASC,kBAAkB,CAACC,MAAW,EAAe;EAAA,IAAbC,IAAI,uEAAG,IAAI;EACzD,MAAMC,SAAS,GAAG,CAAC,kBAAkB,EAAE,SAAS,CAAC;EAEjD,IAAI,CAACD,IAAI,EAAE;IACTC,SAAS,CAACC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC;EACvD;EAEA,MAAMC,WAAW,GAAGC,MAAM,CAACC,IAAI,CAACN,MAAM,CAAC,CAACO,MAAM,CAC3CV,GAAG,IAAK,CAACK,SAAS,CAACM,QAAQ,CAACX,GAAG,CAAC,CAClC;EAED,IAAIO,WAAW,CAACK,MAAM,EAAE;IACtB,MAAM,IAAIC,KAAK,CACZ,mDAAkDhB,YAAY,CAC7DU,WAAW,CACX,qHAAoHV,YAAY,CAChIQ,SAAS,CACT,wHAAuH,CAC1H;EACH;EAEA,IAAIF,MAAM,CAACW,OAAO,EAAE;IAClBN,MAAM,CAACO,OAAO,CAACZ,MAAM,CAACW,OAAO,CAAC,CAACE,OAAO,CAAC,QAAgB;MAAA,IAAf,CAACC,CAAC,EAAEC,KAAK,CAAC;MAChD,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;QAC7BhB,kBAAkB,CAACgB,KAAK,EAAE,KAAK,CAAC;MAClC;IACF,CAAC,CAAC;EACJ;AACF"}
@@ -6,10 +6,11 @@ import type { NavigationContainerProps, NavigationContainerRef } from './types';
6
6
  * This should be rendered at the root wrapping the whole app.
7
7
  *
8
8
  * @param props.initialState Initial state object for the navigation tree.
9
+ * @param props.onReady Callback which is called after the navigation tree mounts.
9
10
  * @param props.onStateChange Callback which is called with the latest navigation state when it changes.
11
+ * @param props.onUnhandledAction Callback which is called when an action is not handled.
10
12
  * @param props.children Child elements to render the content.
11
13
  * @param props.ref Ref object which refers to the navigation object containing helper methods.
12
14
  */
13
- declare const BaseNavigationContainer: React.ForwardRefExoticComponent<NavigationContainerProps & React.RefAttributes<NavigationContainerRef<ParamListBase>>>;
14
- export default BaseNavigationContainer;
15
+ export declare const BaseNavigationContainer: React.ForwardRefExoticComponent<NavigationContainerProps & React.RefAttributes<NavigationContainerRef<ParamListBase>>>;
15
16
  //# sourceMappingURL=BaseNavigationContainer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseNavigationContainer.d.ts","sourceRoot":"","sources":["../../../src/BaseNavigationContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,aAAa,EAGd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,OAAO,KAAK,EAEV,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,SAAS,CAAC;AA4CjB;;;;;;;;GAQG;AACH,QAAA,MAAM,uBAAuB,wHAoX5B,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"BaseNavigationContainer.d.ts","sourceRoot":"","sources":["../../../src/BaseNavigationContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,aAAa,EAGd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,KAAK,EAEV,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,SAAS,CAAC;AA6CjB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,wHAoXnC,CAAC"}
@@ -3,8 +3,7 @@ import * as React from 'react';
3
3
  * Context which holds the values for the current navigation tree.
4
4
  * Intended for use in SSR. This is not safe to use on the client.
5
5
  */
6
- declare const CurrentRenderContext: React.Context<{
6
+ export declare const CurrentRenderContext: React.Context<{
7
7
  options?: object | undefined;
8
8
  } | undefined>;
9
- export default CurrentRenderContext;
10
9
  //# sourceMappingURL=CurrentRenderContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CurrentRenderContext.d.ts","sourceRoot":"","sources":["../../../src/CurrentRenderContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;GAGG;AACH,QAAA,MAAM,oBAAoB;;cAEd,CAAC;AAEb,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"CurrentRenderContext.d.ts","sourceRoot":"","sources":["../../../src/CurrentRenderContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;cAErB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ /**
3
+ * Context which enables deprecated bubbling to child navigators.
4
+ */
5
+ export declare const DeprecatedNavigationInChildContext: React.Context<boolean>;
6
+ //# sourceMappingURL=DeprecatedNavigationInChildContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeprecatedNavigationInChildContext.d.ts","sourceRoot":"","sources":["../../../src/DeprecatedNavigationInChildContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,kCAAkC,wBAA6B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- declare type Props = {
2
+ type Props = {
3
3
  children: React.ReactNode;
4
4
  };
5
5
  export declare const SingleNavigatorContext: React.Context<{
@@ -9,6 +9,6 @@ export declare const SingleNavigatorContext: React.Context<{
9
9
  /**
10
10
  * Component which ensures that there's only one navigator nested under it.
11
11
  */
12
- export default function EnsureSingleNavigator({ children }: Props): JSX.Element;
12
+ export declare function EnsureSingleNavigator({ children }: Props): JSX.Element;
13
13
  export {};
14
14
  //# sourceMappingURL=EnsureSingleNavigator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EnsureSingleNavigator.d.ts","sourceRoot":"","sources":["../../../src/EnsureSingleNavigator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,aAAK,KAAK,GAAG;IACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAIF,eAAO,MAAM,sBAAsB;kBAEf,MAAM,GAAG,IAAI;oBACX,MAAM,GAAG,IAAI;cAGvB,CAAC;AAEb;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAAE,QAAQ,EAAE,EAAE,KAAK,eAgChE"}
1
+ {"version":3,"file":"EnsureSingleNavigator.d.ts","sourceRoot":"","sources":["../../../src/EnsureSingleNavigator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAIF,eAAO,MAAM,sBAAsB;kBAEf,MAAM,GAAG,IAAI;oBACX,MAAM,GAAG,IAAI;cAGvB,CAAC;AAEb;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,QAAQ,EAAE,EAAE,KAAK,eAgCxD"}
@@ -3,5 +3,5 @@ import type { RouteGroupConfig } from './types';
3
3
  /**
4
4
  * Empty component used for grouping screen configs.
5
5
  */
6
- export default function Group<ParamList extends ParamListBase, ScreenOptions extends {}>(_: RouteGroupConfig<ParamList, ScreenOptions>): null;
6
+ export declare function Group<ParamList extends ParamListBase, ScreenOptions extends {}>(_: RouteGroupConfig<ParamList, ScreenOptions>): null;
7
7
  //# sourceMappingURL=Group.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Group.d.ts","sourceRoot":"","sources":["../../../src/Group.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,KAAK,CAC3B,SAAS,SAAS,aAAa,EAC/B,aAAa,SAAS,EAAE,EACxB,CAAC,EAAE,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,QAG9C"}
1
+ {"version":3,"file":"Group.d.ts","sourceRoot":"","sources":["../../../src/Group.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD;;GAEG;AACH,wBAAgB,KAAK,CACnB,SAAS,SAAS,aAAa,EAC/B,aAAa,SAAS,EAAE,EACxB,CAAC,EAAE,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,QAG9C"}
@@ -1,28 +1,28 @@
1
1
  import type { NavigationAction, NavigationState, ParamListBase } from '@react-navigation/routers';
2
2
  import * as React from 'react';
3
3
  import type { NavigationHelpers } from './types';
4
- export declare type ListenerMap = {
4
+ export type ListenerMap = {
5
5
  action: ChildActionListener;
6
6
  focus: FocusedNavigationListener;
7
7
  };
8
- export declare type KeyedListenerMap = {
8
+ export type KeyedListenerMap = {
9
9
  getState: GetStateListener;
10
10
  beforeRemove: ChildBeforeRemoveListener;
11
11
  };
12
- export declare type AddListener = <T extends keyof ListenerMap>(type: T, listener: ListenerMap[T]) => void;
13
- export declare type AddKeyedListener = <T extends keyof KeyedListenerMap>(type: T, key: string, listener: KeyedListenerMap[T]) => void;
14
- export declare type ChildActionListener = (action: NavigationAction, visitedNavigators?: Set<string>) => boolean;
15
- export declare type FocusedNavigationCallback<T> = (navigation: NavigationHelpers<ParamListBase>) => T;
16
- export declare type FocusedNavigationListener = <T>(callback: FocusedNavigationCallback<T>) => {
12
+ export type AddListener = <T extends keyof ListenerMap>(type: T, listener: ListenerMap[T]) => void;
13
+ export type AddKeyedListener = <T extends keyof KeyedListenerMap>(type: T, key: string, listener: KeyedListenerMap[T]) => void;
14
+ export type ChildActionListener = (action: NavigationAction, visitedNavigators?: Set<string>) => boolean;
15
+ export type FocusedNavigationCallback<T> = (navigation: NavigationHelpers<ParamListBase>) => T;
16
+ export type FocusedNavigationListener = <T>(callback: FocusedNavigationCallback<T>) => {
17
17
  handled: boolean;
18
18
  result: T;
19
19
  };
20
- export declare type GetStateListener = () => NavigationState;
21
- export declare type ChildBeforeRemoveListener = (action: NavigationAction) => boolean;
20
+ export type GetStateListener = () => NavigationState;
21
+ export type ChildBeforeRemoveListener = (action: NavigationAction) => boolean;
22
22
  /**
23
23
  * Context which holds the required helpers needed to build nested navigators.
24
24
  */
25
- declare const NavigationBuilderContext: React.Context<{
25
+ export declare const NavigationBuilderContext: React.Context<{
26
26
  onAction?: ((action: NavigationAction, visitedNavigators?: Set<string>) => boolean) | undefined;
27
27
  addListener?: AddListener | undefined;
28
28
  addKeyedListener?: AddKeyedListener | undefined;
@@ -31,5 +31,4 @@ declare const NavigationBuilderContext: React.Context<{
31
31
  onOptionsChange: (options: object) => void;
32
32
  stackRef?: React.MutableRefObject<string | undefined> | undefined;
33
33
  }>;
34
- export default NavigationBuilderContext;
35
34
  //# sourceMappingURL=NavigationBuilderContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationBuilderContext.d.ts","sourceRoot":"","sources":["../../../src/NavigationBuilderContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,oBAAY,WAAW,GAAG;IACxB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,EAAE,yBAAyB,CAAC;CAClC,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,YAAY,EAAE,yBAAyB,CAAC;CACzC,CAAC;AAEF,oBAAY,WAAW,GAAG,CAAC,CAAC,SAAS,MAAM,WAAW,EACpD,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,KACrB,IAAI,CAAC;AAEV,oBAAY,gBAAgB,GAAG,CAAC,CAAC,SAAS,MAAM,gBAAgB,EAC9D,IAAI,EAAE,CAAC,EACP,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAC1B,IAAI,CAAC;AAEV,oBAAY,mBAAmB,GAAG,CAChC,MAAM,EAAE,gBAAgB,EACxB,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,KAC5B,OAAO,CAAC;AAEb,oBAAY,yBAAyB,CAAC,CAAC,IAAI,CACzC,UAAU,EAAE,iBAAiB,CAAC,aAAa,CAAC,KACzC,CAAC,CAAC;AAEP,oBAAY,yBAAyB,GAAG,CAAC,CAAC,EACxC,QAAQ,EAAE,yBAAyB,CAAC,CAAC,CAAC,KACnC;IACH,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,CAAC,CAAC;CACX,CAAC;AAEF,oBAAY,gBAAgB,GAAG,MAAM,eAAe,CAAC;AAErD,oBAAY,yBAAyB,GAAG,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC;AAE9E;;GAEG;AACH,QAAA,MAAM,wBAAwB;yBAElB,gBAAgB,sBACJ,IAAI,MAAM,CAAC,KAC5B,OAAO;;;0BAGS,MAAM,KAAK,IAAI;+BACT,gBAAgB,QAAQ,OAAO,KAAK,IAAI;+BACxC,MAAM,KAAK,IAAI;;EAK1C,CAAC;AAEH,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"NavigationBuilderContext.d.ts","sourceRoot":"","sources":["../../../src/NavigationBuilderContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,EAAE,yBAAyB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,YAAY,EAAE,yBAAyB,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,SAAS,MAAM,WAAW,EACpD,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,KACrB,IAAI,CAAC;AAEV,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,SAAS,MAAM,gBAAgB,EAC9D,IAAI,EAAE,CAAC,EACP,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAC1B,IAAI,CAAC;AAEV,MAAM,MAAM,mBAAmB,GAAG,CAChC,MAAM,EAAE,gBAAgB,EACxB,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,KAC5B,OAAO,CAAC;AAEb,MAAM,MAAM,yBAAyB,CAAC,CAAC,IAAI,CACzC,UAAU,EAAE,iBAAiB,CAAC,aAAa,CAAC,KACzC,CAAC,CAAC;AAEP,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,EACxC,QAAQ,EAAE,yBAAyB,CAAC,CAAC,CAAC,KACnC;IACH,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,CAAC,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,MAAM,eAAe,CAAC;AAErD,MAAM,MAAM,yBAAyB,GAAG,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,wBAAwB;yBAEzB,gBAAgB,sBACJ,IAAI,MAAM,CAAC,KAC5B,OAAO;;;0BAGS,MAAM,KAAK,IAAI;+BACT,gBAAgB,QAAQ,OAAO,KAAK,IAAI;+BACxC,MAAM,KAAK,IAAI;;EAK1C,CAAC"}
@@ -4,6 +4,5 @@ import type { NavigationContainerRef } from './types';
4
4
  /**
5
5
  * Context which holds the route prop for a screen.
6
6
  */
7
- declare const NavigationContainerRefContext: React.Context<NavigationContainerRef<ParamListBase> | undefined>;
8
- export default NavigationContainerRefContext;
7
+ export declare const NavigationContainerRefContext: React.Context<NavigationContainerRef<ParamListBase> | undefined>;
9
8
  //# sourceMappingURL=NavigationContainerRefContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationContainerRefContext.d.ts","sourceRoot":"","sources":["../../../src/NavigationContainerRefContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEtD;;GAEG;AACH,QAAA,MAAM,6BAA6B,kEAEvB,CAAC;AAEb,eAAe,6BAA6B,CAAC"}
1
+ {"version":3,"file":"NavigationContainerRefContext.d.ts","sourceRoot":"","sources":["../../../src/NavigationContainerRefContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,6BAA6B,kEAE9B,CAAC"}
@@ -4,7 +4,7 @@ import type { NavigationProp } from './types';
4
4
  /**
5
5
  * Context which holds the navigation prop for a screen.
6
6
  */
7
- declare const NavigationContext: React.Context<NavigationProp<ParamListBase, string, undefined, Readonly<{
7
+ export declare const NavigationContext: React.Context<NavigationProp<ParamListBase, string, undefined, Readonly<{
8
8
  key: string;
9
9
  index: number;
10
10
  routeNames: string[];
@@ -21,5 +21,4 @@ declare const NavigationContext: React.Context<NavigationProp<ParamListBase, str
21
21
  type: string;
22
22
  stale: false;
23
23
  }>, {}, {}> | undefined>;
24
- export default NavigationContext;
25
24
  //# sourceMappingURL=NavigationContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationContext.d.ts","sourceRoot":"","sources":["../../../src/NavigationContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;GAEG;AACH,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;wBAEX,CAAC;AAEb,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"NavigationContext.d.ts","sourceRoot":"","sources":["../../../src/NavigationContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;wBAElB,CAAC"}
@@ -5,6 +5,5 @@ import type { NavigationHelpers } from './types';
5
5
  * Context which holds the navigation helpers of the parent navigator.
6
6
  * Navigators should use this context in their view component.
7
7
  */
8
- declare const NavigationHelpersContext: React.Context<NavigationHelpers<ParamListBase, {}> | undefined>;
9
- export default NavigationHelpersContext;
8
+ export declare const NavigationHelpersContext: React.Context<NavigationHelpers<ParamListBase, {}> | undefined>;
10
9
  //# sourceMappingURL=NavigationHelpersContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationHelpersContext.d.ts","sourceRoot":"","sources":["../../../src/NavigationHelpersContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD;;;GAGG;AACH,QAAA,MAAM,wBAAwB,iEAElB,CAAC;AAEb,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"NavigationHelpersContext.d.ts","sourceRoot":"","sources":["../../../src/NavigationHelpersContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,iEAEzB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ /**
3
+ * Component to make the child navigation container independent of parent containers.
4
+ */
5
+ export declare function NavigationIndependentTree({ children, }: {
6
+ children: React.ReactNode;
7
+ }): JSX.Element;
8
+ //# sourceMappingURL=NavigationIndependentTree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationIndependentTree.d.ts","sourceRoot":"","sources":["../../../src/NavigationIndependentTree.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,eAWA"}
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ /**
3
+ * Context which marks the navigation tree as independent.
4
+ */
5
+ export declare const NavigationIndependentTreeContext: React.Context<boolean>;
6
+ //# sourceMappingURL=NavigationIndependentTreeContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationIndependentTreeContext.d.ts","sourceRoot":"","sources":["../../../src/NavigationIndependentTreeContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,gCAAgC,wBAA6B,CAAC"}
@@ -3,6 +3,5 @@ import * as React from 'react';
3
3
  /**
4
4
  * Context which holds the route prop for a screen.
5
5
  */
6
- declare const NavigationRouteContext: React.Context<Route<string, object | undefined> | undefined>;
7
- export default NavigationRouteContext;
6
+ export declare const NavigationRouteContext: React.Context<Route<string, object | undefined> | undefined>;
8
7
  //# sourceMappingURL=NavigationRouteContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationRouteContext.d.ts","sourceRoot":"","sources":["../../../src/NavigationRouteContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;GAEG;AACH,QAAA,MAAM,sBAAsB,8DAE3B,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"NavigationRouteContext.d.ts","sourceRoot":"","sources":["../../../src/NavigationRouteContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,sBAAsB,8DAEvB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { NavigationState, PartialState } from '@react-navigation/routers';
2
2
  import * as React from 'react';
3
- declare const _default: React.Context<{
3
+ export declare const NavigationStateContext: React.Context<{
4
4
  isDefault?: true | undefined;
5
5
  state?: Readonly<{
6
6
  key: string;
@@ -42,5 +42,4 @@ declare const _default: React.Context<{
42
42
  getIsInitial: () => boolean;
43
43
  addOptionsGetter?: ((key: string, getter: () => object | undefined | null) => void) | undefined;
44
44
  }>;
45
- export default _default;
46
45
  //# sourceMappingURL=NavigationStateContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationStateContext.d.ts","sourceRoot":"","sources":["../../../src/NavigationStateContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAQrB,MAAM,MAAM,GAAG,SAAS;kBAClB,MAAM,KAAK,IAAI;cACnB,MAAM,eAAe,GAAG,aAAa,eAAe,CAAC,GAAG,SAAS;sBAElE,eAAe,GAAG,aAAa,eAAe,CAAC,GAAG,SAAS,KAC/D,IAAI;kBACK,MAAM,OAAO;8BAEpB,MAAM,UACH,MAAM,MAAM,GAAG,SAAS,GAAG,IAAI,KACpC,IAAI;;AAbX,wBAgCG"}
1
+ {"version":3,"file":"NavigationStateContext.d.ts","sourceRoot":"","sources":["../../../src/NavigationStateContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAGzB,MAAM,MAAM,GAAG,SAAS;kBAClB,MAAM,KAAK,IAAI;cACnB,MAAM,eAAe,GAAG,aAAa,eAAe,CAAC,GAAG,SAAS;sBAElE,eAAe,GAAG,aAAa,eAAe,CAAC,GAAG,SAAS,KAC/D,IAAI;kBACK,MAAM,OAAO;8BAEpB,MAAM,UACH,MAAM,MAAM,GAAG,SAAS,GAAG,IAAI,KACpC,IAAI;EAmBT,CAAC"}
@@ -3,12 +3,11 @@ import * as React from 'react';
3
3
  * A type of an object that have a route key as an object key
4
4
  * and a value whether to prevent that route.
5
5
  */
6
- export declare type PreventedRoutes = Record<string, {
6
+ export type PreventedRoutes = Record<string, {
7
7
  preventRemove: boolean;
8
8
  }>;
9
- declare const PreventRemoveContext: React.Context<{
9
+ export declare const PreventRemoveContext: React.Context<{
10
10
  preventedRoutes: PreventedRoutes;
11
11
  setPreventRemove: (id: string, routeKey: string, preventRemove: boolean) => void;
12
12
  } | undefined>;
13
- export default PreventRemoveContext;
14
13
  //# sourceMappingURL=PreventRemoveContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PreventRemoveContext.d.ts","sourceRoot":"","sources":["../../../src/PreventRemoveContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;GAGG;AACH,oBAAY,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE;IAAE,aAAa,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAEzE,QAAA,MAAM,oBAAoB;qBAEH,eAAe;2BAE1B,MAAM,YACA,MAAM,iBACD,OAAO,KACnB,IAAI;cAGH,CAAC;AAEb,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"PreventRemoveContext.d.ts","sourceRoot":"","sources":["../../../src/PreventRemoveContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE;IAAE,aAAa,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAEzE,eAAO,MAAM,oBAAoB;qBAEV,eAAe;2BAE1B,MAAM,YACA,MAAM,iBACD,OAAO,KACnB,IAAI;cAGH,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import * as React from 'react';
2
- declare type Props = {
2
+ type Props = {
3
3
  children: React.ReactNode;
4
4
  };
5
5
  /**
6
6
  * Component used for managing which routes have to be prevented from removal in native-stack.
7
7
  */
8
- export default function PreventRemoveProvider({ children }: Props): JSX.Element;
8
+ export declare function PreventRemoveProvider({ children }: Props): JSX.Element;
9
9
  export {};
10
10
  //# sourceMappingURL=PreventRemoveProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PreventRemoveProvider.d.ts","sourceRoot":"","sources":["../../../src/PreventRemoveProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,aAAK,KAAK,GAAG;IACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AA+BF;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAAE,QAAQ,EAAE,EAAE,KAAK,eAiFhE"}
1
+ {"version":3,"file":"PreventRemoveProvider.d.ts","sourceRoot":"","sources":["../../../src/PreventRemoveProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AA+BF;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,QAAQ,EAAE,EAAE,KAAK,eAiFxD"}
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import type { NavigationState, ParamListBase, PartialState, Route } from '@react-navigation/routers';
3
3
  import type { NavigationProp, RouteConfigComponent } from './types';
4
- declare type Props<State extends NavigationState, ScreenOptions extends {}> = {
4
+ type Props<State extends NavigationState, ScreenOptions extends {}> = {
5
5
  screen: RouteConfigComponent<ParamListBase, string> & {
6
6
  name: string;
7
7
  };
@@ -17,6 +17,6 @@ declare type Props<State extends NavigationState, ScreenOptions extends {}> = {
17
17
  * Component which takes care of rendering the screen for a route.
18
18
  * It provides all required contexts and applies optimizations when applicable.
19
19
  */
20
- export default function SceneView<State extends NavigationState, ScreenOptions extends {}>({ screen, route, navigation, routeState, getState, setState, options, clearOptions, }: Props<State, ScreenOptions>): JSX.Element;
20
+ export declare function SceneView<State extends NavigationState, ScreenOptions extends {}>({ screen, route, navigation, routeState, getState, setState, options, clearOptions, }: Props<State, ScreenOptions>): JSX.Element;
21
21
  export {};
22
22
  //# sourceMappingURL=SceneView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SceneView.d.ts","sourceRoot":"","sources":["../../../src/SceneView.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,YAAY,EACZ,KAAK,EACN,MAAM,2BAA2B,CAAC;AAMnC,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAGpE,aAAK,KAAK,CAAC,KAAK,SAAS,eAAe,EAAE,aAAa,SAAS,EAAE,IAAI;IACpE,MAAM,EAAE,oBAAoB,CAAC,aAAa,EAAE,MAAM,CAAC,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACvE,UAAU,EAAE,cAAc,CACxB,aAAa,EACb,MAAM,EACN,MAAM,GAAG,SAAS,EAClB,KAAK,EACL,aAAa,CACd,CAAC;IACF,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,UAAU,EAAE,eAAe,GAAG,YAAY,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;IACxE,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAC/B,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,EACA,MAAM,EACN,KAAK,EACL,UAAU,EACV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,YAAY,GACb,EAAE,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,eA4F7B"}
1
+ {"version":3,"file":"SceneView.d.ts","sourceRoot":"","sources":["../../../src/SceneView.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,YAAY,EACZ,KAAK,EACN,MAAM,2BAA2B,CAAC;AAMnC,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAGpE,KAAK,KAAK,CAAC,KAAK,SAAS,eAAe,EAAE,aAAa,SAAS,EAAE,IAAI;IACpE,MAAM,EAAE,oBAAoB,CAAC,aAAa,EAAE,MAAM,CAAC,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACvE,UAAU,EAAE,cAAc,CACxB,aAAa,EACb,MAAM,EACN,MAAM,GAAG,SAAS,EAClB,KAAK,EACL,aAAa,CACd,CAAC;IACF,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,UAAU,EAAE,eAAe,GAAG,YAAY,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;IACxE,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,SAAS,CACvB,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,EACA,MAAM,EACN,KAAK,EACL,UAAU,EACV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,YAAY,GACb,EAAE,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,eA4F7B"}
@@ -3,5 +3,5 @@ import type { EventMapBase, RouteConfig } from './types';
3
3
  /**
4
4
  * Empty component used for specifying route configuration.
5
5
  */
6
- export default function Screen<ParamList extends ParamListBase, RouteName extends keyof ParamList, State extends NavigationState, ScreenOptions extends {}, EventMap extends EventMapBase>(_: RouteConfig<ParamList, RouteName, State, ScreenOptions, EventMap>): null;
6
+ export declare function Screen<ParamList extends ParamListBase, RouteName extends keyof ParamList, State extends NavigationState, ScreenOptions extends {}, EventMap extends EventMapBase>(_: RouteConfig<ParamList, RouteName, State, ScreenOptions, EventMap>): null;
7
7
  //# sourceMappingURL=Screen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Screen.d.ts","sourceRoot":"","sources":["../../../src/Screen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAEhF,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEzD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM,CAC5B,SAAS,SAAS,aAAa,EAC/B,SAAS,SAAS,MAAM,SAAS,EACjC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,CAAC,EAAE,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,QAGrE"}
1
+ {"version":3,"file":"Screen.d.ts","sourceRoot":"","sources":["../../../src/Screen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAEhF,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEzD;;GAEG;AACH,wBAAgB,MAAM,CACpB,SAAS,SAAS,aAAa,EAC/B,SAAS,SAAS,MAAM,SAAS,EACjC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,CAAC,EAAE,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,QAGrE"}
@@ -2,7 +2,5 @@ import * as React from 'react';
2
2
  /**
3
3
  * Component which prevents updates for children if no props changed
4
4
  */
5
- declare function StaticContainer(props: any): any;
6
- declare const _default: React.MemoExoticComponent<typeof StaticContainer>;
7
- export default _default;
5
+ export declare const StaticContainer: React.NamedExoticComponent<any>;
8
6
  //# sourceMappingURL=StaticContainer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StaticContainer.d.ts","sourceRoot":"","sources":["../../../src/StaticContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;GAEG;AACH,iBAAS,eAAe,CAAC,KAAK,EAAE,GAAG,OAElC;;AAED,wBAmBG"}
1
+ {"version":3,"file":"StaticContainer.d.ts","sourceRoot":"","sources":["../../../src/StaticContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,eAAe,iCAwB3B,CAAC"}
@@ -0,0 +1,159 @@
1
+ import type { NavigationState, ParamListBase } from '@react-navigation/routers';
2
+ import * as React from 'react';
3
+ import type { DefaultNavigatorOptions, EventMapBase, NavigatorScreenParams, PathConfig, RouteConfig, RouteGroupConfig } from './types';
4
+ /**
5
+ * Flatten a type to remove all type alias names, unions etc.
6
+ * This will show a plain object when hovering over the type.
7
+ */
8
+ type FlatType<T> = {
9
+ [K in keyof T]: T[K];
10
+ } & {};
11
+ /**
12
+ * keyof T doesn't work for union types. We can use distributive conditional types instead.
13
+ * https://www.typescriptlang.org/docs/handbook/2/conditional-types.html#distributive-conditional-types
14
+ */
15
+ type KeysOf<T> = T extends any ? keyof T : never;
16
+ type UnknownToUndefined<T> = unknown extends T ? undefined : T;
17
+ type ParamsForScreenComponent<T> = T extends {
18
+ screen: React.ComponentType<{
19
+ route: {
20
+ params: infer P;
21
+ };
22
+ }>;
23
+ } ? P : T extends React.ComponentType<{
24
+ route: {
25
+ params: infer P;
26
+ };
27
+ }> ? P : undefined;
28
+ type ParamsForScreen<T> = T extends {
29
+ screen: StaticNavigation<any, any, any>;
30
+ } ? NavigatorScreenParams<StaticParamList<T['screen']>> | undefined : T extends StaticNavigation<any, any, any> ? NavigatorScreenParams<StaticParamList<T>> | undefined : UnknownToUndefined<ParamsForScreenComponent<T>>;
31
+ type ParamListForScreens<Screens extends StaticConfigScreens<ParamListBase, NavigationState, {}, EventMapBase>> = {
32
+ [Key in KeysOf<Screens>]: ParamsForScreen<Screens[Key]>;
33
+ };
34
+ type ParamListForGroups<Groups extends Readonly<{
35
+ [key: string]: {
36
+ screens: StaticConfigScreens<ParamListBase, NavigationState, {}, EventMapBase>;
37
+ };
38
+ }> | undefined> = Groups extends {
39
+ [key: string]: {
40
+ screens: StaticConfigScreens<ParamListBase, NavigationState, {}, EventMapBase>;
41
+ };
42
+ } ? ParamListForScreens<Groups[keyof Groups]['screens']> : {};
43
+ type StaticConfigScreens<ParamList extends ParamListBase, State extends NavigationState, ScreenOptions extends {}, EventMap extends EventMapBase> = {
44
+ [key in keyof ParamList]: React.ComponentType<any> | StaticNavigation<any, any, any> | (Omit<RouteConfig<ParamList, keyof ParamList, State, ScreenOptions, EventMap>, 'name' | 'component' | 'getComponent' | 'children'> & {
45
+ /**
46
+ * Callback to determine whether the screen should be rendered or not.
47
+ * This can be useful for conditional rendering of screens,
48
+ * e.g. - if you want to render a different screen for logged in users.
49
+ *
50
+ * You can use a custom hook to use custom logic to determine the return value.
51
+ *
52
+ * @example
53
+ * ```js
54
+ * if: useIsLoggedIn
55
+ * ```
56
+ */
57
+ if?: () => boolean;
58
+ /**
59
+ * Linking config for the screen.
60
+ * This can be a string to specify the path, or an object with more options.
61
+ *
62
+ * @example
63
+ * ```js
64
+ * linking: {
65
+ * path: 'profile/:id',
66
+ * exact: true,
67
+ * },
68
+ * ```
69
+ */
70
+ linking?: FlatType<Pick<PathConfig<ParamList>, 'path' | 'exact' | 'parse' | 'stringify'>> | string;
71
+ /**
72
+ * Static navigation config or Component to render for the screen.
73
+ */
74
+ screen: StaticNavigation<any, any, any> | React.ComponentType<any>;
75
+ });
76
+ };
77
+ type GroupConfig<ParamList extends ParamListBase, State extends NavigationState, ScreenOptions extends {}, EventMap extends EventMapBase> = Omit<RouteGroupConfig<ParamList, ScreenOptions>, 'screens' | 'children'> & {
78
+ /**
79
+ * Callback to determine whether the screens in the group should be rendered or not.
80
+ * This can be useful for conditional rendering of group of screens.
81
+ */
82
+ if?: () => boolean;
83
+ /**
84
+ * Static navigation config or Component to render for the screen.
85
+ */
86
+ screens: StaticConfigScreens<ParamList, State, ScreenOptions, EventMap>;
87
+ };
88
+ export type StaticConfig<ParamList extends ParamListBase, State extends NavigationState, ScreenOptions extends {}, EventMap extends EventMapBase, Navigator extends React.ComponentType<{}>> = Omit<Omit<React.ComponentProps<Navigator>, keyof DefaultNavigatorOptions<ParamListBase, NavigationState, {}, EventMapBase>> & DefaultNavigatorOptions<ParamList, State, ScreenOptions, EventMap>, 'screens' | 'children'> & {
89
+ /**
90
+ * Screens to render in the navigator and their configuration.
91
+ */
92
+ screens: StaticConfigScreens<ParamList, State, ScreenOptions, EventMap>;
93
+ /**
94
+ * Groups of screens to render in the navigator and their configuration.
95
+ */
96
+ groups?: {
97
+ [key: string]: GroupConfig<ParamList, State, ScreenOptions, EventMap>;
98
+ };
99
+ };
100
+ /**
101
+ * Props for a screen component which is rendered by a static navigator.
102
+ * Takes the route params as a generic argument.
103
+ */
104
+ export type StaticScreenProps<T extends Record<string, unknown> | undefined> = {
105
+ route: {
106
+ params: T;
107
+ };
108
+ };
109
+ /**
110
+ * Infer the param list from the static navigation config.
111
+ */
112
+ export type StaticParamList<T extends {
113
+ readonly config: {
114
+ readonly screens: Record<string, any>;
115
+ readonly groups?: {
116
+ [key: string]: {
117
+ screens: Record<string, any>;
118
+ };
119
+ };
120
+ };
121
+ }> = FlatType<ParamListForScreens<T['config']['screens']> & ParamListForGroups<T['config']['groups']>>;
122
+ export type StaticNavigation<NavigatorProps, GroupProps, ScreenProps> = {
123
+ Navigator: React.ComponentType<NavigatorProps>;
124
+ Group: React.ComponentType<GroupProps>;
125
+ Screen: React.ComponentType<ScreenProps>;
126
+ config: StaticConfig<ParamListBase, NavigationState, {}, EventMapBase, React.ComponentType<any>>;
127
+ };
128
+ /**
129
+ * Create a component that renders a navigator based on the static configuration.
130
+ *
131
+ * @param tree Static navigation config.
132
+ * @param displayName Name of the component to be displayed in React DevTools.
133
+ * @returns A component which renders the navigator.
134
+ */
135
+ export declare function createComponentForStaticNavigation(tree: StaticNavigation<any, any, any>, displayName: string): React.ComponentType<{}>;
136
+ /**
137
+ * Create a path config object from a static navigation config for deep linking.
138
+ *
139
+ * @param tree Static navigation config.
140
+ * @returns Path config object to use in linking config.
141
+ *
142
+ * @example
143
+ * ```js
144
+ * const config = {
145
+ * screens: {
146
+ * Home: {
147
+ * screens: createPathConfigForStaticNavigation(HomeTabs),
148
+ * },
149
+ * },
150
+ * };
151
+ * ```
152
+ */
153
+ export declare function createPathConfigForStaticNavigation(tree: {
154
+ config: {
155
+ screens: StaticConfigScreens<ParamListBase, NavigationState, {}, EventMapBase>;
156
+ };
157
+ }): Record<string, PathConfig<ParamListBase>>;
158
+ export {};
159
+ //# sourceMappingURL=StaticNavigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StaticNavigation.d.ts","sourceRoot":"","sources":["../../../src/StaticNavigation.tsx"],"names":[],"mappings":"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"}