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

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 (350) hide show
  1. package/lib/commonjs/BaseNavigationContainer.js +25 -30
  2. package/lib/commonjs/BaseNavigationContainer.js.map +1 -1
  3. package/lib/commonjs/CurrentRenderContext.js +3 -4
  4. package/lib/commonjs/CurrentRenderContext.js.map +1 -1
  5. package/lib/commonjs/DeprecatedNavigationInChildContext.js +3 -4
  6. package/lib/commonjs/DeprecatedNavigationInChildContext.js.map +1 -1
  7. package/lib/commonjs/EnsureSingleNavigator.js +3 -4
  8. package/lib/commonjs/EnsureSingleNavigator.js.map +1 -1
  9. package/lib/commonjs/Group.js.map +1 -1
  10. package/lib/commonjs/NavigationBuilderContext.js +3 -4
  11. package/lib/commonjs/NavigationBuilderContext.js.map +1 -1
  12. package/lib/commonjs/NavigationContainerRefContext.js +3 -4
  13. package/lib/commonjs/NavigationContainerRefContext.js.map +1 -1
  14. package/lib/commonjs/NavigationContext.js +3 -4
  15. package/lib/commonjs/NavigationContext.js.map +1 -1
  16. package/lib/commonjs/NavigationHelpersContext.js +3 -4
  17. package/lib/commonjs/NavigationHelpersContext.js.map +1 -1
  18. package/lib/commonjs/NavigationIndependentTree.js +2 -2
  19. package/lib/commonjs/NavigationIndependentTree.js.map +1 -1
  20. package/lib/commonjs/NavigationIndependentTreeContext.js +3 -4
  21. package/lib/commonjs/NavigationIndependentTreeContext.js.map +1 -1
  22. package/lib/commonjs/NavigationRouteContext.js +3 -4
  23. package/lib/commonjs/NavigationRouteContext.js.map +1 -1
  24. package/lib/commonjs/NavigationStateContext.js +3 -4
  25. package/lib/commonjs/NavigationStateContext.js.map +1 -1
  26. package/lib/commonjs/PreventRemoveContext.js +8 -4
  27. package/lib/commonjs/PreventRemoveContext.js.map +1 -1
  28. package/lib/commonjs/PreventRemoveProvider.js +8 -10
  29. package/lib/commonjs/PreventRemoveProvider.js.map +1 -1
  30. package/lib/commonjs/SceneView.js +2 -2
  31. package/lib/commonjs/SceneView.js.map +1 -1
  32. package/lib/commonjs/Screen.js.map +1 -1
  33. package/lib/commonjs/StaticContainer.js +3 -4
  34. package/lib/commonjs/StaticContainer.js.map +1 -1
  35. package/lib/commonjs/StaticNavigation.js +34 -7
  36. package/lib/commonjs/StaticNavigation.js.map +1 -1
  37. package/lib/commonjs/UnhandledActionContext.js +3 -4
  38. package/lib/commonjs/UnhandledActionContext.js.map +1 -1
  39. package/lib/commonjs/checkDuplicateRouteNames.js +1 -2
  40. package/lib/commonjs/checkDuplicateRouteNames.js.map +1 -1
  41. package/lib/commonjs/checkSerializable.js.map +1 -1
  42. package/lib/commonjs/createNavigationContainerRef.js +1 -2
  43. package/lib/commonjs/createNavigationContainerRef.js.map +1 -1
  44. package/lib/commonjs/createNavigatorFactory.js +0 -3
  45. package/lib/commonjs/createNavigatorFactory.js.map +1 -1
  46. package/lib/commonjs/findFocusedRoute.js +2 -4
  47. package/lib/commonjs/findFocusedRoute.js.map +1 -1
  48. package/lib/commonjs/getActionFromState.js +6 -8
  49. package/lib/commonjs/getActionFromState.js.map +1 -1
  50. package/lib/commonjs/getFocusedRouteNameFromRoute.js +1 -1
  51. package/lib/commonjs/getFocusedRouteNameFromRoute.js.map +1 -1
  52. package/lib/commonjs/getPathFromState.js +25 -22
  53. package/lib/commonjs/getPathFromState.js.map +1 -1
  54. package/lib/commonjs/getStateFromPath.js +63 -21
  55. package/lib/commonjs/getStateFromPath.js.map +1 -1
  56. package/lib/commonjs/index.js +27 -3
  57. package/lib/commonjs/index.js.map +1 -1
  58. package/lib/commonjs/isArrayEqual.js.map +1 -1
  59. package/lib/commonjs/isRecordEqual.js.map +1 -1
  60. package/lib/commonjs/theming/ThemeContext.js +12 -0
  61. package/lib/commonjs/theming/ThemeContext.js.map +1 -0
  62. package/lib/commonjs/theming/ThemeProvider.js +20 -0
  63. package/lib/commonjs/theming/ThemeProvider.js.map +1 -0
  64. package/lib/commonjs/theming/useTheme.js +18 -0
  65. package/lib/commonjs/theming/useTheme.js.map +1 -0
  66. package/lib/commonjs/types.js.map +1 -1
  67. package/lib/commonjs/useChildListeners.js +2 -2
  68. package/lib/commonjs/useChildListeners.js.map +1 -1
  69. package/lib/commonjs/useComponent.js +2 -2
  70. package/lib/commonjs/useComponent.js.map +1 -1
  71. package/lib/commonjs/useCurrentRender.js +2 -2
  72. package/lib/commonjs/useCurrentRender.js.map +1 -1
  73. package/lib/commonjs/useDescriptors.js +83 -31
  74. package/lib/commonjs/useDescriptors.js.map +1 -1
  75. package/lib/commonjs/useEventEmitter.js +5 -6
  76. package/lib/commonjs/useEventEmitter.js.map +1 -1
  77. package/lib/commonjs/useFocusEffect.js +4 -2
  78. package/lib/commonjs/useFocusEffect.js.map +1 -1
  79. package/lib/commonjs/useFocusEvents.js +4 -4
  80. package/lib/commonjs/useFocusEvents.js.map +1 -1
  81. package/lib/commonjs/useFocusedListenersChildrenAdapter.js +3 -3
  82. package/lib/commonjs/useFocusedListenersChildrenAdapter.js.map +1 -1
  83. package/lib/commonjs/useIsFocused.js +5 -4
  84. package/lib/commonjs/useIsFocused.js.map +1 -1
  85. package/lib/commonjs/useIsomorphicLayoutEffect.js +12 -0
  86. package/lib/commonjs/useIsomorphicLayoutEffect.js.map +1 -0
  87. package/lib/commonjs/useIsomorphicLayoutEffect.native.js +9 -0
  88. package/lib/commonjs/useIsomorphicLayoutEffect.native.js.map +1 -0
  89. package/lib/commonjs/useKeyedChildListeners.js +2 -2
  90. package/lib/commonjs/useKeyedChildListeners.js.map +1 -1
  91. package/lib/commonjs/useNavigation.js +2 -2
  92. package/lib/commonjs/useNavigation.js.map +1 -1
  93. package/lib/commonjs/useNavigationBuilder.js +81 -68
  94. package/lib/commonjs/useNavigationBuilder.js.map +1 -1
  95. package/lib/commonjs/useNavigationCache.js +57 -16
  96. package/lib/commonjs/useNavigationCache.js.map +1 -1
  97. package/lib/commonjs/useNavigationContainerRef.js +2 -2
  98. package/lib/commonjs/useNavigationContainerRef.js.map +1 -1
  99. package/lib/commonjs/useNavigationHelpers.js +4 -5
  100. package/lib/commonjs/useNavigationHelpers.js.map +1 -1
  101. package/lib/commonjs/useNavigationIndependentTree.js +2 -2
  102. package/lib/commonjs/useNavigationIndependentTree.js.map +1 -1
  103. package/lib/commonjs/useNavigationState.js +2 -2
  104. package/lib/commonjs/useNavigationState.js.map +1 -1
  105. package/lib/commonjs/useOnAction.js +6 -4
  106. package/lib/commonjs/useOnAction.js.map +1 -1
  107. package/lib/commonjs/useOnGetState.js +4 -5
  108. package/lib/commonjs/useOnGetState.js.map +1 -1
  109. package/lib/commonjs/useOnPreventRemove.js +5 -6
  110. package/lib/commonjs/useOnPreventRemove.js.map +1 -1
  111. package/lib/commonjs/useOnRouteFocus.js +2 -2
  112. package/lib/commonjs/useOnRouteFocus.js.map +1 -1
  113. package/lib/commonjs/useOptionsGetters.js +9 -10
  114. package/lib/commonjs/useOptionsGetters.js.map +1 -1
  115. package/lib/commonjs/usePreventRemove.js +5 -5
  116. package/lib/commonjs/usePreventRemove.js.map +1 -1
  117. package/lib/commonjs/usePreventRemoveContext.js +2 -2
  118. package/lib/commonjs/usePreventRemoveContext.js.map +1 -1
  119. package/lib/commonjs/useRegisterNavigator.js +2 -2
  120. package/lib/commonjs/useRegisterNavigator.js.map +1 -1
  121. package/lib/commonjs/useRoute.js +2 -2
  122. package/lib/commonjs/useRoute.js.map +1 -1
  123. package/lib/commonjs/useRouteCache.js +19 -16
  124. package/lib/commonjs/useRouteCache.js.map +1 -1
  125. package/lib/commonjs/useSyncState.js +27 -56
  126. package/lib/commonjs/useSyncState.js.map +1 -1
  127. package/lib/commonjs/validatePathConfig.js +37 -10
  128. package/lib/commonjs/validatePathConfig.js.map +1 -1
  129. package/lib/module/BaseNavigationContainer.js +22 -26
  130. package/lib/module/BaseNavigationContainer.js.map +1 -1
  131. package/lib/module/CurrentRenderContext.js.map +1 -1
  132. package/lib/module/DeprecatedNavigationInChildContext.js.map +1 -1
  133. package/lib/module/EnsureSingleNavigator.js.map +1 -1
  134. package/lib/module/Group.js.map +1 -1
  135. package/lib/module/NavigationBuilderContext.js.map +1 -1
  136. package/lib/module/NavigationContainerRefContext.js.map +1 -1
  137. package/lib/module/NavigationContext.js.map +1 -1
  138. package/lib/module/NavigationHelpersContext.js.map +1 -1
  139. package/lib/module/NavigationIndependentTree.js.map +1 -1
  140. package/lib/module/NavigationIndependentTreeContext.js.map +1 -1
  141. package/lib/module/NavigationRouteContext.js.map +1 -1
  142. package/lib/module/NavigationStateContext.js.map +1 -1
  143. package/lib/module/PreventRemoveContext.js.map +1 -1
  144. package/lib/module/PreventRemoveProvider.js +6 -8
  145. package/lib/module/PreventRemoveProvider.js.map +1 -1
  146. package/lib/module/SceneView.js.map +1 -1
  147. package/lib/module/Screen.js.map +1 -1
  148. package/lib/module/StaticContainer.js.map +1 -1
  149. package/lib/module/StaticNavigation.js +27 -5
  150. package/lib/module/StaticNavigation.js.map +1 -1
  151. package/lib/module/UnhandledActionContext.js.map +1 -1
  152. package/lib/module/checkDuplicateRouteNames.js +1 -2
  153. package/lib/module/checkDuplicateRouteNames.js.map +1 -1
  154. package/lib/module/checkSerializable.js.map +1 -1
  155. package/lib/module/createNavigationContainerRef.js.map +1 -1
  156. package/lib/module/createNavigatorFactory.js +0 -3
  157. package/lib/module/createNavigatorFactory.js.map +1 -1
  158. package/lib/module/findFocusedRoute.js +2 -4
  159. package/lib/module/findFocusedRoute.js.map +1 -1
  160. package/lib/module/getActionFromState.js +6 -8
  161. package/lib/module/getActionFromState.js.map +1 -1
  162. package/lib/module/getFocusedRouteNameFromRoute.js +1 -1
  163. package/lib/module/getFocusedRouteNameFromRoute.js.map +1 -1
  164. package/lib/module/getPathFromState.js +23 -20
  165. package/lib/module/getPathFromState.js.map +1 -1
  166. package/lib/module/getStateFromPath.js +61 -19
  167. package/lib/module/getStateFromPath.js.map +1 -1
  168. package/lib/module/index.js +4 -1
  169. package/lib/module/index.js.map +1 -1
  170. package/lib/module/isArrayEqual.js.map +1 -1
  171. package/lib/module/isRecordEqual.js.map +1 -1
  172. package/lib/module/theming/ThemeContext.js +4 -0
  173. package/lib/module/theming/ThemeContext.js.map +1 -0
  174. package/lib/module/theming/ThemeProvider.js +12 -0
  175. package/lib/module/theming/ThemeProvider.js.map +1 -0
  176. package/lib/module/theming/useTheme.js +10 -0
  177. package/lib/module/theming/useTheme.js.map +1 -0
  178. package/lib/module/types.js.map +1 -1
  179. package/lib/module/useChildListeners.js.map +1 -1
  180. package/lib/module/useComponent.js.map +1 -1
  181. package/lib/module/useCurrentRender.js.map +1 -1
  182. package/lib/module/useDescriptors.js +81 -29
  183. package/lib/module/useDescriptors.js.map +1 -1
  184. package/lib/module/useEventEmitter.js +3 -4
  185. package/lib/module/useEventEmitter.js.map +1 -1
  186. package/lib/module/useFocusEffect.js +2 -0
  187. package/lib/module/useFocusEffect.js.map +1 -1
  188. package/lib/module/useFocusEvents.js +2 -2
  189. package/lib/module/useFocusEvents.js.map +1 -1
  190. package/lib/module/useFocusedListenersChildrenAdapter.js +1 -1
  191. package/lib/module/useFocusedListenersChildrenAdapter.js.map +1 -1
  192. package/lib/module/useIsFocused.js.map +1 -1
  193. package/lib/module/useIsomorphicLayoutEffect.js +7 -0
  194. package/lib/module/useIsomorphicLayoutEffect.js.map +1 -0
  195. package/lib/module/useIsomorphicLayoutEffect.native.js +3 -0
  196. package/lib/module/useIsomorphicLayoutEffect.native.js.map +1 -0
  197. package/lib/module/useKeyedChildListeners.js.map +1 -1
  198. package/lib/module/useNavigation.js.map +1 -1
  199. package/lib/module/useNavigationBuilder.js +78 -66
  200. package/lib/module/useNavigationBuilder.js.map +1 -1
  201. package/lib/module/useNavigationCache.js +55 -14
  202. package/lib/module/useNavigationCache.js.map +1 -1
  203. package/lib/module/useNavigationContainerRef.js.map +1 -1
  204. package/lib/module/useNavigationHelpers.js +2 -3
  205. package/lib/module/useNavigationHelpers.js.map +1 -1
  206. package/lib/module/useNavigationIndependentTree.js.map +1 -1
  207. package/lib/module/useNavigationState.js.map +1 -1
  208. package/lib/module/useOnAction.js +4 -2
  209. package/lib/module/useOnAction.js.map +1 -1
  210. package/lib/module/useOnGetState.js +2 -3
  211. package/lib/module/useOnGetState.js.map +1 -1
  212. package/lib/module/useOnPreventRemove.js +3 -4
  213. package/lib/module/useOnPreventRemove.js.map +1 -1
  214. package/lib/module/useOnRouteFocus.js.map +1 -1
  215. package/lib/module/useOptionsGetters.js +7 -8
  216. package/lib/module/useOptionsGetters.js.map +1 -1
  217. package/lib/module/usePreventRemove.js +2 -2
  218. package/lib/module/usePreventRemove.js.map +1 -1
  219. package/lib/module/usePreventRemoveContext.js.map +1 -1
  220. package/lib/module/useRegisterNavigator.js.map +1 -1
  221. package/lib/module/useRoute.js.map +1 -1
  222. package/lib/module/useRouteCache.js +16 -12
  223. package/lib/module/useRouteCache.js.map +1 -1
  224. package/lib/module/useSyncState.js +25 -54
  225. package/lib/module/useSyncState.js.map +1 -1
  226. package/lib/module/validatePathConfig.js +37 -10
  227. package/lib/module/validatePathConfig.js.map +1 -1
  228. package/lib/typescript/src/BaseNavigationContainer.d.ts +2 -1
  229. package/lib/typescript/src/BaseNavigationContainer.d.ts.map +1 -1
  230. package/lib/typescript/src/EnsureSingleNavigator.d.ts +1 -1
  231. package/lib/typescript/src/EnsureSingleNavigator.d.ts.map +1 -1
  232. package/lib/typescript/src/NavigationContext.d.ts +1 -17
  233. package/lib/typescript/src/NavigationContext.d.ts.map +1 -1
  234. package/lib/typescript/src/NavigationHelpersContext.d.ts +1 -1
  235. package/lib/typescript/src/NavigationHelpersContext.d.ts.map +1 -1
  236. package/lib/typescript/src/NavigationIndependentTree.d.ts +1 -1
  237. package/lib/typescript/src/NavigationIndependentTree.d.ts.map +1 -1
  238. package/lib/typescript/src/NavigationRouteContext.d.ts +1 -1
  239. package/lib/typescript/src/NavigationRouteContext.d.ts.map +1 -1
  240. package/lib/typescript/src/NavigationStateContext.d.ts +2 -18
  241. package/lib/typescript/src/NavigationStateContext.d.ts.map +1 -1
  242. package/lib/typescript/src/PreventRemoveProvider.d.ts +1 -1
  243. package/lib/typescript/src/PreventRemoveProvider.d.ts.map +1 -1
  244. package/lib/typescript/src/SceneView.d.ts +2 -2
  245. package/lib/typescript/src/SceneView.d.ts.map +1 -1
  246. package/lib/typescript/src/StaticNavigation.d.ts +12 -5
  247. package/lib/typescript/src/StaticNavigation.d.ts.map +1 -1
  248. package/lib/typescript/src/createNavigatorFactory.d.ts.map +1 -1
  249. package/lib/typescript/src/findFocusedRoute.d.ts +1 -9
  250. package/lib/typescript/src/findFocusedRoute.d.ts.map +1 -1
  251. package/lib/typescript/src/getPathFromState.d.ts +1 -0
  252. package/lib/typescript/src/getPathFromState.d.ts.map +1 -1
  253. package/lib/typescript/src/getStateFromPath.d.ts +1 -0
  254. package/lib/typescript/src/getStateFromPath.d.ts.map +1 -1
  255. package/lib/typescript/src/index.d.ts +5 -2
  256. package/lib/typescript/src/index.d.ts.map +1 -1
  257. package/lib/typescript/src/theming/ThemeContext.d.ts +3 -0
  258. package/lib/typescript/src/theming/ThemeContext.d.ts.map +1 -0
  259. package/lib/typescript/src/theming/ThemeProvider.d.ts +8 -0
  260. package/lib/typescript/src/theming/ThemeProvider.d.ts.map +1 -0
  261. package/lib/typescript/src/theming/useTheme.d.ts +2 -0
  262. package/lib/typescript/src/theming/useTheme.d.ts.map +1 -0
  263. package/lib/typescript/src/types.d.ts +80 -1
  264. package/lib/typescript/src/types.d.ts.map +1 -1
  265. package/lib/typescript/src/useComponent.d.ts +1 -1
  266. package/lib/typescript/src/useComponent.d.ts.map +1 -1
  267. package/lib/typescript/src/useDescriptors.d.ts +107 -59
  268. package/lib/typescript/src/useDescriptors.d.ts.map +1 -1
  269. package/lib/typescript/src/useFocusEffect.d.ts.map +1 -1
  270. package/lib/typescript/src/useFocusedListenersChildrenAdapter.d.ts +1 -1
  271. package/lib/typescript/src/useFocusedListenersChildrenAdapter.d.ts.map +1 -1
  272. package/lib/typescript/src/useIsomorphicLayoutEffect.d.ts +6 -0
  273. package/lib/typescript/src/useIsomorphicLayoutEffect.d.ts.map +1 -0
  274. package/lib/typescript/src/useIsomorphicLayoutEffect.native.d.ts +3 -0
  275. package/lib/typescript/src/useIsomorphicLayoutEffect.native.d.ts.map +1 -0
  276. package/lib/typescript/src/useNavigation.d.ts +4 -1
  277. package/lib/typescript/src/useNavigation.d.ts.map +1 -1
  278. package/lib/typescript/src/useNavigationBuilder.d.ts +99 -63
  279. package/lib/typescript/src/useNavigationBuilder.d.ts.map +1 -1
  280. package/lib/typescript/src/useNavigationCache.d.ts +53 -3
  281. package/lib/typescript/src/useNavigationCache.d.ts.map +1 -1
  282. package/lib/typescript/src/useNavigationHelpers.d.ts +25 -55
  283. package/lib/typescript/src/useNavigationHelpers.d.ts.map +1 -1
  284. package/lib/typescript/src/useOnAction.d.ts +1 -1
  285. package/lib/typescript/src/useOnAction.d.ts.map +1 -1
  286. package/lib/typescript/src/useOnGetState.d.ts +1 -1
  287. package/lib/typescript/src/useOnGetState.d.ts.map +1 -1
  288. package/lib/typescript/src/useOnPreventRemove.d.ts +1 -1
  289. package/lib/typescript/src/useOnPreventRemove.d.ts.map +1 -1
  290. package/lib/typescript/src/usePreventRemove.d.ts +1 -1
  291. package/lib/typescript/src/usePreventRemove.d.ts.map +1 -1
  292. package/lib/typescript/src/useRouteCache.d.ts +1 -1
  293. package/lib/typescript/src/useRouteCache.d.ts.map +1 -1
  294. package/lib/typescript/src/useSyncState.d.ts +1 -4
  295. package/lib/typescript/src/useSyncState.d.ts.map +1 -1
  296. package/lib/typescript/src/validatePathConfig.d.ts +1 -1
  297. package/lib/typescript/src/validatePathConfig.d.ts.map +1 -1
  298. package/lib/typescript/utils/usePrevious.d.ts +6 -0
  299. package/lib/typescript/utils/usePrevious.d.ts.map +1 -0
  300. package/package.json +14 -14
  301. package/src/BaseNavigationContainer.tsx +35 -36
  302. package/src/Group.tsx +1 -1
  303. package/src/PreventRemoveProvider.tsx +4 -1
  304. package/src/SceneView.tsx +1 -1
  305. package/src/Screen.tsx +1 -1
  306. package/src/StaticNavigation.tsx +34 -32
  307. package/src/checkDuplicateRouteNames.tsx +1 -1
  308. package/src/createNavigationContainerRef.tsx +1 -1
  309. package/src/createNavigatorFactory.tsx +2 -4
  310. package/src/getActionFromState.tsx +1 -1
  311. package/src/getFocusedRouteNameFromRoute.tsx +3 -3
  312. package/src/getPathFromState.tsx +20 -12
  313. package/src/getStateFromPath.tsx +80 -19
  314. package/src/index.tsx +6 -3
  315. package/src/theming/ThemeContext.tsx +7 -0
  316. package/src/theming/ThemeProvider.tsx +14 -0
  317. package/src/theming/useTheme.tsx +15 -0
  318. package/src/types.tsx +133 -17
  319. package/src/useDescriptors.tsx +153 -59
  320. package/src/useFocusEffect.tsx +1 -0
  321. package/src/useFocusedListenersChildrenAdapter.tsx +2 -2
  322. package/src/useIsomorphicLayoutEffect.native.tsx +3 -0
  323. package/src/useIsomorphicLayoutEffect.tsx +7 -0
  324. package/src/useNavigation.tsx +4 -1
  325. package/src/useNavigationBuilder.tsx +123 -100
  326. package/src/useNavigationCache.tsx +91 -30
  327. package/src/useNavigationContainerRef.tsx +1 -1
  328. package/src/useNavigationHelpers.tsx +6 -7
  329. package/src/useOnAction.tsx +8 -3
  330. package/src/useOnGetState.tsx +1 -1
  331. package/src/useOnPreventRemove.tsx +1 -1
  332. package/src/useOptionsGetters.tsx +2 -2
  333. package/src/usePreventRemove.tsx +1 -1
  334. package/src/useRouteCache.tsx +17 -16
  335. package/src/useSyncState.tsx +31 -59
  336. package/src/validatePathConfig.tsx +58 -14
  337. package/lib/commonjs/fromEntries.js +0 -18
  338. package/lib/commonjs/fromEntries.js.map +0 -1
  339. package/lib/commonjs/useScheduleUpdate.js +0 -37
  340. package/lib/commonjs/useScheduleUpdate.js.map +0 -1
  341. package/lib/module/fromEntries.js +0 -12
  342. package/lib/module/fromEntries.js.map +0 -1
  343. package/lib/module/useScheduleUpdate.js +0 -27
  344. package/lib/module/useScheduleUpdate.js.map +0 -1
  345. package/lib/typescript/src/fromEntries.d.ts +0 -2
  346. package/lib/typescript/src/fromEntries.d.ts.map +0 -1
  347. package/lib/typescript/src/useScheduleUpdate.d.ts +0 -14
  348. package/lib/typescript/src/useScheduleUpdate.d.ts.map +0 -1
  349. package/src/fromEntries.tsx +0 -11
  350. package/src/useScheduleUpdate.tsx +0 -32
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","useIsomorphicLayoutEffect","exports","document","useLayoutEffect","useEffect"],"sourceRoot":"../../src","sources":["useIsomorphicLayoutEffect.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACO,MAAMC,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,GACpC,OAAOE,QAAQ,KAAK,WAAW,GAAGC,sBAAe,GAAGC,gBAAS"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useIsomorphicLayoutEffect = void 0;
7
+ var _react = require("react");
8
+ const useIsomorphicLayoutEffect = exports.useIsomorphicLayoutEffect = _react.useLayoutEffect;
9
+ //# sourceMappingURL=useIsomorphicLayoutEffect.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","useIsomorphicLayoutEffect","exports","useLayoutEffect"],"sourceRoot":"../../src","sources":["useIsomorphicLayoutEffect.native.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEO,MAAMC,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,GAAGE,sBAAe"}
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useKeyedChildListeners = useKeyedChildListeners;
7
7
  var React = _interopRequireWildcard(require("react"));
8
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
9
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
8
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
9
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
10
10
  /**
11
11
  * Hook which lets child navigators add getters to be called for obtaining rehydrated state.
12
12
  */
@@ -1 +1 @@
1
- {"version":3,"names":["useKeyedChildListeners","current","keyedListeners","React","useRef","Object","assign","create","getState","beforeRemove","addKeyedListener","useCallback","type","key","listener","undefined"],"sourceRoot":"../../src","sources":["useKeyedChildListeners.tsx"],"mappings":";;;;;;AAAA;AAA+B;AAAA;AAI/B;AACA;AACA;AACO,SAASA,sBAAsB,GAAG;EACvC,MAAM;IAAEC,OAAO,EAAEC;EAAe,CAAC,GAAGC,KAAK,CAACC,MAAM,CAM9CC,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,MAAM,CAAC,IAAI,CAAC,EAAE;IACjCC,QAAQ,EAAE,CAAC,CAAC;IACZC,YAAY,EAAE,CAAC;EACjB,CAAC,CAAC,CACH;EAED,MAAMC,gBAAgB,GAAGP,KAAK,CAACQ,WAAW,CACxC,CACEC,IAAO,EACPC,GAAW,EACXC,QAA6B,KAC1B;IACH;IACAZ,cAAc,CAACU,IAAI,CAAC,CAACC,GAAG,CAAC,GAAGC,QAAQ;IAEpC,OAAO,MAAM;MACX;MACAZ,cAAc,CAACU,IAAI,CAAC,CAACC,GAAG,CAAC,GAAGE,SAAS;IACvC,CAAC;EACH,CAAC,EACD,CAACb,cAAc,CAAC,CACjB;EAED,OAAO;IACLA,cAAc;IACdQ;EACF,CAAC;AACH"}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","useKeyedChildListeners","current","keyedListeners","useRef","assign","create","getState","beforeRemove","addKeyedListener","useCallback","type","key","listener","undefined"],"sourceRoot":"../../src","sources":["useKeyedChildListeners.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAA+B,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAI/B;AACA;AACA;AACO,SAASY,sBAAsBA,CAAA,EAAG;EACvC,MAAM;IAAEC,OAAO,EAAEC;EAAe,CAAC,GAAG1B,KAAK,CAAC2B,MAAM,CAM9CZ,MAAM,CAACa,MAAM,CAACb,MAAM,CAACc,MAAM,CAAC,IAAI,CAAC,EAAE;IACjCC,QAAQ,EAAE,CAAC,CAAC;IACZC,YAAY,EAAE,CAAC;EACjB,CAAC,CACH,CAAC;EAED,MAAMC,gBAAgB,GAAGhC,KAAK,CAACiC,WAAW,CACxC,CACEC,IAAO,EACPC,GAAW,EACXC,QAA6B,KAC1B;IACH;IACAV,cAAc,CAACQ,IAAI,CAAC,CAACC,GAAG,CAAC,GAAGC,QAAQ;IAEpC,OAAO,MAAM;MACX;MACAV,cAAc,CAACQ,IAAI,CAAC,CAACC,GAAG,CAAC,GAAGE,SAAS;IACvC,CAAC;EACH,CAAC,EACD,CAACX,cAAc,CACjB,CAAC;EAED,OAAO;IACLA,cAAc;IACdM;EACF,CAAC;AACH"}
@@ -7,8 +7,8 @@ exports.useNavigation = useNavigation;
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  var _NavigationContainerRefContext = require("./NavigationContainerRefContext");
9
9
  var _NavigationContext = require("./NavigationContext");
10
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
11
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
10
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
11
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
12
  /**
13
13
  * Hook to access the navigation prop of the parent screen anywhere.
14
14
  *
@@ -1 +1 @@
1
- {"version":3,"names":["useNavigation","root","React","useContext","NavigationContainerRefContext","navigation","NavigationContext","undefined","Error"],"sourceRoot":"../../src","sources":["useNavigation.tsx"],"mappings":";;;;;;AAAA;AAEA;AACA;AAAwD;AAAA;AAGxD;AACA;AACA;AACA;AACA;AACO,SAASA,aAAa,GAEtB;EACL,MAAMC,IAAI,GAAGC,KAAK,CAACC,UAAU,CAACC,4DAA6B,CAAC;EAC5D,MAAMC,UAAU,GAAGH,KAAK,CAACC,UAAU,CAACG,oCAAiB,CAAC;EAEtD,IAAID,UAAU,KAAKE,SAAS,IAAIN,IAAI,KAAKM,SAAS,EAAE;IAClD,MAAM,IAAIC,KAAK,CACb,kFAAkF,CACnF;EACH;;EAEA;EACA,OAAQH,UAAU,IAAIJ,IAAI;AAC5B"}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_NavigationContainerRefContext","_NavigationContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","useNavigation","root","useContext","NavigationContainerRefContext","navigation","NavigationContext","undefined","Error"],"sourceRoot":"../../src","sources":["useNavigation.tsx"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,8BAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AAAwD,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAL,wBAAAK,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAGxD;AACA;AACA;AACA;AACA;AACO,SAASY,aAAaA,CAAA,EAItB;EACL,MAAMC,IAAI,GAAG3B,KAAK,CAAC4B,UAAU,CAACC,4DAA6B,CAAC;EAC5D,MAAMC,UAAU,GAAG9B,KAAK,CAAC4B,UAAU,CAACG,oCAAiB,CAAC;EAEtD,IAAID,UAAU,KAAKE,SAAS,IAAIL,IAAI,KAAKK,SAAS,EAAE;IAClD,MAAM,IAAIC,KAAK,CACb,kFACF,CAAC;EACH;;EAEA;EACA,OAAQH,UAAU,IAAIH,IAAI;AAC5B"}
@@ -7,6 +7,7 @@ exports.useNavigationBuilder = useNavigationBuilder;
7
7
  var _routers = require("@react-navigation/routers");
8
8
  var React = _interopRequireWildcard(require("react"));
9
9
  var _reactIs = require("react-is");
10
+ var _useLatestCallback = _interopRequireDefault(require("use-latest-callback"));
10
11
  var _Group = require("./Group");
11
12
  var _isArrayEqual = require("./isArrayEqual");
12
13
  var _isRecordEqual = require("./isRecordEqual");
@@ -23,17 +24,17 @@ var _useDescriptors = require("./useDescriptors");
23
24
  var _useEventEmitter = require("./useEventEmitter");
24
25
  var _useFocusedListenersChildrenAdapter = require("./useFocusedListenersChildrenAdapter");
25
26
  var _useFocusEvents = require("./useFocusEvents");
27
+ var _useIsomorphicLayoutEffect = require("./useIsomorphicLayoutEffect");
26
28
  var _useKeyedChildListeners = require("./useKeyedChildListeners");
27
29
  var _useNavigationHelpers = require("./useNavigationHelpers");
28
30
  var _useOnAction = require("./useOnAction");
29
31
  var _useOnGetState = require("./useOnGetState");
30
32
  var _useOnRouteFocus = require("./useOnRouteFocus");
31
33
  var _useRegisterNavigator = require("./useRegisterNavigator");
32
- var _useScheduleUpdate = require("./useScheduleUpdate");
33
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
34
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
34
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
35
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
36
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
35
37
  // This is to make TypeScript compiler happy
36
- // eslint-disable-next-line babel/no-unused-expressions
37
38
  _types.PrivateValueStore;
38
39
  const isValidKey = key => key === undefined || typeof key === 'string' && key !== '';
39
40
 
@@ -42,9 +43,8 @@ const isValidKey = key => key === undefined || typeof key === 'string' && key !=
42
43
  *
43
44
  * @param children React Elements to extract the config from.
44
45
  */
45
- const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => {
46
+ const getRouteConfigsFromChildren = (children, groupKey, groupOptions, groupLayout) => {
46
47
  const configs = React.Children.toArray(children).reduce((acc, child) => {
47
- var _child$type, _child$props;
48
48
  if ( /*#__PURE__*/React.isValidElement(child)) {
49
49
  if (child.type === _Screen.Screen) {
50
50
  // We can only extract the config from `Screen` elements
@@ -56,6 +56,7 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => {
56
56
  acc.push({
57
57
  keys: [groupKey, child.props.navigationKey],
58
58
  options: groupOptions,
59
+ layout: groupLayout,
59
60
  props: child.props
60
61
  });
61
62
  return acc;
@@ -67,11 +68,11 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => {
67
68
 
68
69
  // When we encounter a fragment or group, we need to dive into its children to extract the configs
69
70
  // This is handy to conditionally define a group of screens
70
- acc.push(...getRouteConfigsFromChildren(child.props.children, child.props.navigationKey, child.type !== _Group.Group ? groupOptions : groupOptions != null ? [...groupOptions, child.props.screenOptions] : [child.props.screenOptions]));
71
+ acc.push(...getRouteConfigsFromChildren(child.props.children, child.props.navigationKey, child.type !== _Group.Group ? groupOptions : groupOptions != null ? [...groupOptions, child.props.screenOptions] : [child.props.screenOptions], child.props.screenLayout ?? groupLayout));
71
72
  return acc;
72
73
  }
73
74
  }
74
- throw new Error(`A navigator can only contain 'Screen', 'Group' or 'React.Fragment' as its direct children (found ${/*#__PURE__*/React.isValidElement(child) ? `'${typeof child.type === 'string' ? child.type : (_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.name}'${child.props != null && typeof child.props === 'object' && 'name' in child.props && (_child$props = child.props) !== null && _child$props !== void 0 && _child$props.name ? ` for the screen '${child.props.name}'` : ''}` : typeof child === 'object' ? JSON.stringify(child) : `'${String(child)}'`}). To render this component in the navigator, pass it in the 'component' prop to 'Screen'.`);
75
+ throw new Error(`A navigator can only contain 'Screen', 'Group' or 'React.Fragment' as its direct children (found ${/*#__PURE__*/React.isValidElement(child) ? `'${typeof child.type === 'string' ? child.type : child.type?.name}'${child.props != null && typeof child.props === 'object' && 'name' in child.props && child.props?.name ? ` for the screen '${child.props.name}'` : ''}` : typeof child === 'object' ? JSON.stringify(child) : `'${String(child)}'`}). To render this component in the navigator, pass it in the 'component' prop to 'Screen'.`);
75
76
  }, []);
76
77
  if (process.env.NODE_ENV !== 'production') {
77
78
  configs.forEach(config => {
@@ -133,17 +134,15 @@ function useNavigationBuilder(createRouter, options) {
133
134
  const route = React.useContext(_NavigationRouteContext.NavigationRouteContext);
134
135
  const {
135
136
  children,
137
+ layout,
138
+ screenOptions,
139
+ screenLayout,
136
140
  screenListeners,
137
141
  ...rest
138
142
  } = options;
139
143
  const {
140
144
  current: router
141
- } = React.useRef(createRouter({
142
- ...rest,
143
- ...(route !== null && route !== void 0 && route.params && route.params.state == null && route.params.initial !== false && typeof route.params.screen === 'string' ? {
144
- initialRouteName: route.params.screen
145
- } : null)
146
- }));
145
+ } = React.useRef(createRouter(rest));
147
146
  const routeConfigs = getRouteConfigsFromChildren(children);
148
147
  const screens = routeConfigs.reduce((acc, config) => {
149
148
  if (config.props.name in acc) {
@@ -181,11 +180,7 @@ function useNavigationBuilder(createRouter, options) {
181
180
  getIsInitial
182
181
  } = React.useContext(_NavigationStateContext.NavigationStateContext);
183
182
  const stateCleanedUp = React.useRef(false);
184
- const cleanUpState = React.useCallback(() => {
185
- setCurrentState(undefined);
186
- stateCleanedUp.current = true;
187
- }, [setCurrentState]);
188
- const setState = React.useCallback(state => {
183
+ const setState = (0, _useLatestCallback.default)(state => {
189
184
  if (stateCleanedUp.current) {
190
185
  // State might have been already cleaned up due to unmount
191
186
  // We do not want to expose API allowing to override this
@@ -193,15 +188,13 @@ function useNavigationBuilder(createRouter, options) {
193
188
  return;
194
189
  }
195
190
  setCurrentState(state);
196
- }, [setCurrentState]);
191
+ });
197
192
  const [initializedState, isFirstStateInitialization] = React.useMemo(() => {
198
- var _route$params4;
199
193
  const initialRouteParamList = routeNames.reduce((acc, curr) => {
200
- var _route$params, _route$params2, _route$params3;
201
194
  const {
202
195
  initialParams
203
196
  } = screens[curr].props;
204
- const initialParamsFromParams = (route === null || route === void 0 ? void 0 : (_route$params = route.params) === null || _route$params === void 0 ? void 0 : _route$params.state) == null && (route === null || route === void 0 ? void 0 : (_route$params2 = route.params) === null || _route$params2 === void 0 ? void 0 : _route$params2.initial) !== false && (route === null || route === void 0 ? void 0 : (_route$params3 = route.params) === null || _route$params3 === void 0 ? void 0 : _route$params3.screen) === curr ? route.params.params : undefined;
197
+ const initialParamsFromParams = route?.params?.state == null && route?.params?.initial !== false && route?.params?.screen === curr ? route.params.params : undefined;
205
198
  acc[curr] = initialParams !== undefined || initialParamsFromParams !== undefined ? {
206
199
  ...initialParams,
207
200
  ...initialParamsFromParams
@@ -213,15 +206,27 @@ function useNavigationBuilder(createRouter, options) {
213
206
  // We also need to re-initialize it if the state passed from parent was changed (maybe due to reset)
214
207
  // Otherwise assume that the state was provided as initial state
215
208
  // So we need to rehydrate it to make it usable
216
- if ((currentState === undefined || !isStateValid(currentState)) && (route === null || route === void 0 ? void 0 : (_route$params4 = route.params) === null || _route$params4 === void 0 ? void 0 : _route$params4.state) == null) {
209
+ if ((currentState === undefined || !isStateValid(currentState)) && route?.params?.state == null && !(typeof route?.params?.screen === 'string' && route?.params?.initial !== false)) {
217
210
  return [router.getInitialState({
218
211
  routeNames,
219
212
  routeParamList: initialRouteParamList,
220
213
  routeGetIdList
221
214
  }), true];
222
215
  } else {
223
- var _route$params5;
224
- return [router.getRehydratedState((route === null || route === void 0 ? void 0 : (_route$params5 = route.params) === null || _route$params5 === void 0 ? void 0 : _route$params5.state) ?? currentState, {
216
+ let stateFromParams;
217
+ if (route?.params?.state != null) {
218
+ stateFromParams = route.params.state;
219
+ } else if (typeof route?.params?.screen === 'string' && route?.params?.initial !== false) {
220
+ stateFromParams = {
221
+ index: 0,
222
+ routes: [{
223
+ name: route.params.screen,
224
+ params: route.params.params,
225
+ path: route.params.path
226
+ }]
227
+ };
228
+ }
229
+ return [router.getRehydratedState(stateFromParams ?? currentState, {
225
230
  routeNames,
226
231
  routeParamList: initialRouteParamList,
227
232
  routeGetIdList
@@ -246,19 +251,26 @@ function useNavigationBuilder(createRouter, options) {
246
251
  isStateInitialized(currentState) ? currentState : initializedState;
247
252
  let nextState = state;
248
253
  if (!(0, _isArrayEqual.isArrayEqual)(state.routeNames, routeNames) || !(0, _isRecordEqual.isRecordEqual)(routeKeyList, previousRouteKeyList)) {
254
+ const navigatorStateForNextRouteNamesChange = options.getStateForRouteNamesChange?.(state);
249
255
  // When the list of route names change, the router should handle it to remove invalid routes
250
- nextState = router.getStateForRouteNamesChange(state, {
256
+ nextState = navigatorStateForNextRouteNamesChange ?
257
+ // @ts-expect-error this is ok
258
+ router.getRehydratedState(navigatorStateForNextRouteNamesChange, {
259
+ routeNames,
260
+ routeParamList,
261
+ routeGetIdList
262
+ }) : router.getStateForRouteNamesChange(state, {
251
263
  routeNames,
252
264
  routeParamList,
253
265
  routeGetIdList,
254
- routeKeyChanges: Object.keys(routeKeyList).filter(name => previousRouteKeyList.hasOwnProperty(name) && routeKeyList[name] !== previousRouteKeyList[name])
266
+ routeKeyChanges: Object.keys(routeKeyList).filter(name => name in previousRouteKeyList && routeKeyList[name] !== previousRouteKeyList[name])
255
267
  });
256
268
  }
257
- const previousNestedParamsRef = React.useRef(route === null || route === void 0 ? void 0 : route.params);
269
+ const previousNestedParamsRef = React.useRef(route?.params);
258
270
  React.useEffect(() => {
259
- previousNestedParamsRef.current = route === null || route === void 0 ? void 0 : route.params;
260
- }, [route === null || route === void 0 ? void 0 : route.params]);
261
- if (route !== null && route !== void 0 && route.params) {
271
+ previousNestedParamsRef.current = route?.params;
272
+ }, [route?.params]);
273
+ if (route?.params) {
262
274
  const previousParams = previousNestedParamsRef.current;
263
275
  let action;
264
276
  if (typeof route.params.state === 'object' && route.params.state != null && route.params !== previousParams) {
@@ -286,7 +298,7 @@ function useNavigationBuilder(createRouter, options) {
286
298
  }) : nextState;
287
299
  }
288
300
  const shouldUpdate = state !== nextState;
289
- (0, _useScheduleUpdate.useScheduleUpdate)(() => {
301
+ (0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(() => {
290
302
  if (shouldUpdate) {
291
303
  // If the state needs to be updated, we'll schedule an update
292
304
  setState(nextState);
@@ -298,6 +310,9 @@ function useNavigationBuilder(createRouter, options) {
298
310
  // So we override the state object we return to use the latest state as soon as possible
299
311
  state = nextState;
300
312
  React.useEffect(() => {
313
+ // In strict mode, React will double-invoke effects.
314
+ // So we need to reset the flag if component was not unmounted
315
+ stateCleanedUp.current = false;
301
316
  setKey(navigatorKey);
302
317
  if (!getIsInitial()) {
303
318
  // If it's not initial render, we need to update the state
@@ -307,42 +322,28 @@ function useNavigationBuilder(createRouter, options) {
307
322
  }
308
323
  return () => {
309
324
  // We need to clean up state for this navigator on unmount
310
- // We do it in a timeout because we need to detect if another navigator mounted in the meantime
311
- // For example, if another navigator has started rendering, we should skip cleanup
312
- // Otherwise, our cleanup step will cleanup state for the other navigator and re-initialize it
313
- setTimeout(() => {
314
- if (getCurrentState() !== undefined && getKey() === navigatorKey) {
315
- cleanUpState();
316
- }
317
- }, 0);
325
+ if (getCurrentState() !== undefined && getKey() === navigatorKey) {
326
+ setCurrentState(undefined);
327
+ stateCleanedUp.current = true;
328
+ }
318
329
  };
319
330
  // eslint-disable-next-line react-hooks/exhaustive-deps
320
331
  }, []);
321
-
322
- // We initialize this ref here to avoid a new getState getting initialized
323
- // whenever initializedState changes. We want getState to have access to the
324
- // latest initializedState, but don't need it to change when that happens
325
- const initializedStateRef = React.useRef();
326
- initializedStateRef.current = initializedState;
327
- const getState = React.useCallback(() => {
328
- const currentState = getCurrentState();
329
- return isStateInitialized(currentState) ? currentState : initializedStateRef.current;
330
- }, [getCurrentState, isStateInitialized]);
332
+ const getState = (0, _useLatestCallback.default)(() => {
333
+ const currentState = shouldUpdate ? nextState : getCurrentState();
334
+ return isStateInitialized(currentState) ? currentState : initializedState;
335
+ });
331
336
  const emitter = (0, _useEventEmitter.useEventEmitter)(e => {
332
- let routeNames = [];
337
+ const routeNames = [];
333
338
  let route;
334
339
  if (e.target) {
335
- var _route;
336
340
  route = state.routes.find(route => route.key === e.target);
337
- if ((_route = route) !== null && _route !== void 0 && _route.name) {
341
+ if (route?.name) {
338
342
  routeNames.push(route.name);
339
343
  }
340
344
  } else {
341
345
  route = state.routes[state.index];
342
- routeNames.push(...Object.keys(screens).filter(name => {
343
- var _route2;
344
- return ((_route2 = route) === null || _route2 === void 0 ? void 0 : _route2.name) === name;
345
- }));
346
+ routeNames.push(...Object.keys(screens).filter(name => route?.name === name));
346
347
  }
347
348
  if (route == null) {
348
349
  return;
@@ -360,12 +361,12 @@ function useNavigationBuilder(createRouter, options) {
360
361
  route: route,
361
362
  navigation
362
363
  }) : listeners;
363
- return map ? Object.keys(map).filter(type => type === e.type).map(type => map === null || map === void 0 ? void 0 : map[type]) : undefined;
364
+ return map ? Object.keys(map).filter(type => type === e.type).map(type => map?.[type]) : undefined;
364
365
  }))
365
366
  // We don't want same listener to be called multiple times for same event
366
367
  // So we remove any duplicate functions from the array
367
368
  .filter((cb, i, self) => cb && self.lastIndexOf(cb) === i);
368
- listeners.forEach(listener => listener === null || listener === void 0 ? void 0 : listener(e));
369
+ listeners.forEach(listener => listener?.(e));
369
370
  });
370
371
  (0, _useFocusEvents.useFocusEvents)({
371
372
  state,
@@ -391,7 +392,7 @@ function useNavigationBuilder(createRouter, options) {
391
392
  router,
392
393
  getState,
393
394
  setState,
394
- key: route === null || route === void 0 ? void 0 : route.key,
395
+ key: route?.key,
395
396
  actionListeners: childListeners.action,
396
397
  beforeRemoveListeners: keyedListeners.beforeRemove,
397
398
  routerConfigOptions: {
@@ -403,7 +404,7 @@ function useNavigationBuilder(createRouter, options) {
403
404
  });
404
405
  const onRouteFocus = (0, _useOnRouteFocus.useOnRouteFocus)({
405
406
  router,
406
- key: route === null || route === void 0 ? void 0 : route.key,
407
+ key: route?.key,
407
408
  getState,
408
409
  setState
409
410
  });
@@ -422,12 +423,15 @@ function useNavigationBuilder(createRouter, options) {
422
423
  getState,
423
424
  getStateListeners: keyedListeners.getState
424
425
  });
425
- const descriptors = (0, _useDescriptors.useDescriptors)({
426
+ const {
427
+ describe,
428
+ descriptors
429
+ } = (0, _useDescriptors.useDescriptors)({
426
430
  state,
427
431
  screens,
428
432
  navigation,
429
- screenOptions: options.screenOptions,
430
- defaultScreenOptions: options.defaultScreenOptions,
433
+ screenOptions,
434
+ screenLayout,
431
435
  onAction,
432
436
  getState,
433
437
  setState,
@@ -443,12 +447,21 @@ function useNavigationBuilder(createRouter, options) {
443
447
  navigation,
444
448
  descriptors
445
449
  });
446
- const NavigationContent = (0, _useComponent.useComponent)(children => /*#__PURE__*/React.createElement(_NavigationHelpersContext.NavigationHelpersContext.Provider, {
447
- value: navigation
448
- }, /*#__PURE__*/React.createElement(_PreventRemoveProvider.PreventRemoveProvider, null, children)));
450
+ const NavigationContent = (0, _useComponent.useComponent)(children => {
451
+ const element = layout != null ? layout({
452
+ state,
453
+ descriptors,
454
+ navigation,
455
+ children
456
+ }) : children;
457
+ return /*#__PURE__*/React.createElement(_NavigationHelpersContext.NavigationHelpersContext.Provider, {
458
+ value: navigation
459
+ }, /*#__PURE__*/React.createElement(_PreventRemoveProvider.PreventRemoveProvider, null, element));
460
+ });
449
461
  return {
450
462
  state,
451
463
  navigation,
464
+ describe,
452
465
  descriptors,
453
466
  NavigationContent
454
467
  };
@@ -1 +1 @@
1
- {"version":3,"names":["PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","configs","React","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","push","keys","options","Fragment","Group","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","useScheduleUpdate","setTimeout","initializedStateRef","emitter","useEventEmitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","useDescriptors","defaultScreenOptions","useCurrentRender","NavigationContent","useComponent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["_routers","require","React","_interopRequireWildcard","_reactIs","_useLatestCallback","_interopRequireDefault","_Group","_isArrayEqual","_isRecordEqual","_NavigationHelpersContext","_NavigationRouteContext","_NavigationStateContext","_PreventRemoveProvider","_Screen","_types","_useChildListeners","_useComponent","_useCurrentRender","_useDescriptors","_useEventEmitter","_useFocusedListenersChildrenAdapter","_useFocusEvents","_useIsomorphicLayoutEffect","_useKeyedChildListeners","_useNavigationHelpers","_useOnAction","_useOnGetState","_useOnRouteFocus","_useRegisterNavigator","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","groupLayout","configs","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","push","keys","options","layout","Fragment","Group","screenOptions","screenLayout","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","assign","getId","length","isStateValid","useCallback","state","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","useLatestCallback","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","params","initial","screen","getInitialState","stateFromParams","index","routes","path","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","navigatorStateForNextRouteNamesChange","getStateForRouteNamesChange","routeKeyChanges","filter","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","updatedState","getStateForAction","shouldUpdate","useIsomorphicLayoutEffect","emitter","useEventEmitter","target","find","navigation","descriptors","listeners","concat","cb","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","describe","useDescriptors","useCurrentRender","NavigationContent","useComponent","element","createElement","NavigationHelpersContext","Provider","value","PreventRemoveProvider"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"}
@@ -7,8 +7,8 @@ exports.useNavigationCache = useNavigationCache;
7
7
  var _routers = require("@react-navigation/routers");
8
8
  var React = _interopRequireWildcard(require("react"));
9
9
  var _NavigationBuilderContext = require("./NavigationBuilderContext");
10
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
11
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
10
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
11
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
12
  /**
13
13
  * Hook to cache navigation objects for each screen in the navigator.
14
14
  * It's important to cache them to make sure navigation objects don't change between renders.
@@ -26,6 +26,49 @@ function useNavigationCache(_ref) {
26
26
  const {
27
27
  stackRef
28
28
  } = React.useContext(_NavigationBuilderContext.NavigationBuilderContext);
29
+ const base = React.useMemo(() => {
30
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
31
+ const {
32
+ emit,
33
+ ...rest
34
+ } = navigation;
35
+ const actions = {
36
+ ...router.actionCreators,
37
+ ..._routers.CommonActions
38
+ };
39
+ const dispatch = () => {
40
+ throw new Error('Actions cannot be dispatched from a placeholder screen.');
41
+ };
42
+ const helpers = Object.keys(actions).reduce((acc, name) => {
43
+ acc[name] = dispatch;
44
+ return acc;
45
+ }, {});
46
+ return {
47
+ ...rest,
48
+ ...helpers,
49
+ addListener: () => {
50
+ // Event listeners are not supported for placeholder screens
51
+
52
+ return () => {
53
+ // Empty function
54
+ };
55
+ },
56
+ removeListener: () => {
57
+ // Event listeners are not supported for placeholder screens
58
+ },
59
+ dispatch,
60
+ getParent: id => {
61
+ if (id !== undefined && id === rest.getId()) {
62
+ return base;
63
+ }
64
+ return rest.getParent(id);
65
+ },
66
+ setOptions: () => {
67
+ throw new Error('Options cannot be set from a placeholder screen.');
68
+ },
69
+ isFocused: () => false
70
+ };
71
+ }, [navigation, router.actionCreators]);
29
72
 
30
73
  // Cache object which holds navigation objects for each screen
31
74
  // We use `React.useMemo` instead of `React.useRef` coz we want to invalidate it when deps change
@@ -34,22 +77,13 @@ function useNavigationCache(_ref) {
34
77
  current: {}
35
78
  }),
36
79
  // eslint-disable-next-line react-hooks/exhaustive-deps
37
- [getState, navigation, setOptions, router, emitter]);
38
- const actions = {
39
- ...router.actionCreators,
40
- ..._routers.CommonActions
41
- };
80
+ [base, getState, navigation, setOptions, emitter]);
42
81
  cache.current = state.routes.reduce((acc, route) => {
43
82
  const previous = cache.current[route.key];
44
83
  if (previous) {
45
84
  // If a cached navigation object already exists, reuse it
46
85
  acc[route.key] = previous;
47
86
  } else {
48
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
49
- const {
50
- emit,
51
- ...rest
52
- } = navigation;
53
87
  const dispatch = thunk => {
54
88
  const action = typeof thunk === 'function' ? thunk(getState()) : thunk;
55
89
  if (action != null) {
@@ -74,6 +108,10 @@ function useNavigationCache(_ref) {
74
108
  }
75
109
  }
76
110
  };
111
+ const actions = {
112
+ ...router.actionCreators,
113
+ ..._routers.CommonActions
114
+ };
77
115
  const helpers = Object.keys(actions).reduce((acc, name) => {
78
116
  acc[name] = function () {
79
117
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
@@ -86,18 +124,18 @@ function useNavigationCache(_ref) {
86
124
  return acc;
87
125
  }, {});
88
126
  acc[route.key] = {
89
- ...rest,
127
+ ...base,
90
128
  ...helpers,
91
129
  // FIXME: too much work to fix the types for now
92
130
  ...emitter.create(route.key),
93
131
  dispatch: thunk => withStack(() => dispatch(thunk)),
94
132
  getParent: id => {
95
- if (id !== undefined && id === rest.getId()) {
133
+ if (id !== undefined && id === base.getId()) {
96
134
  // If the passed id is the same as the current navigation id,
97
135
  // we return the cached navigation object for the relevant route
98
136
  return acc[route.key];
99
137
  }
100
- return rest.getParent(id);
138
+ return base.getParent(id);
101
139
  },
102
140
  setOptions: options => {
103
141
  setOptions(o => ({
@@ -122,6 +160,9 @@ function useNavigationCache(_ref) {
122
160
  }
123
161
  return acc;
124
162
  }, {});
125
- return cache.current;
163
+ return {
164
+ base,
165
+ navigations: cache.current
166
+ };
126
167
  }
127
168
  //# sourceMappingURL=useNavigationCache.js.map