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

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 +21 -21
  53. package/lib/commonjs/getPathFromState.js.map +1 -1
  54. package/lib/commonjs/getStateFromPath.js +24 -17
  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 +78 -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 +19 -19
  165. package/lib/module/getPathFromState.js.map +1 -1
  166. package/lib/module/getStateFromPath.js +22 -15
  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 +75 -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 +14 -11
  313. package/src/getStateFromPath.tsx +22 -3
  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 +119 -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
@@ -1,5 +1,5 @@
1
- import { NavigationAction, NavigationState, ParamListBase, Router } from '@react-navigation/routers';
2
- import { NavigationHelpers, PrivateValueStore } from './types';
1
+ import { type NavigationAction, type NavigationState, type ParamListBase, type Router } from '@react-navigation/routers';
2
+ import { type NavigationHelpers, PrivateValueStore } from './types';
3
3
  import type { NavigationEventEmitter } from './useEventEmitter';
4
4
  type Options<State extends NavigationState, Action extends NavigationAction> = {
5
5
  id: string | undefined;
@@ -23,19 +23,7 @@ export declare function useNavigationHelpers<State extends NavigationState, Acti
23
23
  index: number;
24
24
  routeNames: string[];
25
25
  history?: unknown[] | undefined;
26
- /**
27
- * Navigation object with helper methods to be used by a navigator.
28
- * This object includes methods for common actions as well as methods the parent screen's navigation object.
29
- */
30
- routes: (Readonly<{
31
- key: string;
32
- name: string;
33
- path?: string | undefined;
34
- }> & Readonly<{
35
- params?: Readonly<object | undefined>;
36
- }> & {
37
- state?: Readonly<any> | import("@react-navigation/routers").PartialState<Readonly<any>> | undefined;
38
- })[];
26
+ routes: import("@react-navigation/routers").NavigationRoute<ParamListBase, string>[];
39
27
  type: string;
40
28
  stale: false;
41
29
  }>>) => Readonly<{
@@ -57,24 +45,13 @@ export declare function useNavigationHelpers<State extends NavigationState, Acti
57
45
  params: object | undefined;
58
46
  merge?: boolean | undefined;
59
47
  } : never): void;
48
+ preload<RouteName_4 extends string>(...args: RouteName_4 extends unknown ? [screen: RouteName_4] | [screen: RouteName_4, params: object | undefined] : never): void;
60
49
  reset(state: Readonly<{
61
50
  key: string;
62
51
  index: number;
63
52
  routeNames: string[];
64
53
  history?: unknown[] | undefined;
65
- /**
66
- * Navigation object with helper methods to be used by a navigator.
67
- * This object includes methods for common actions as well as methods the parent screen's navigation object.
68
- */
69
- routes: (Readonly<{
70
- key: string;
71
- name: string;
72
- path?: string | undefined;
73
- }> & Readonly<{
74
- params?: Readonly<object | undefined>;
75
- }> & {
76
- state?: Readonly<any> | import("@react-navigation/routers").PartialState<Readonly<any>> | undefined;
77
- })[];
54
+ routes: import("@react-navigation/routers").NavigationRoute<ParamListBase, string>[];
78
55
  type: string;
79
56
  stale: false;
80
57
  }> | import("@react-navigation/routers").PartialState<Readonly<{
@@ -82,19 +59,7 @@ export declare function useNavigationHelpers<State extends NavigationState, Acti
82
59
  index: number;
83
60
  routeNames: string[];
84
61
  history?: unknown[] | undefined;
85
- /**
86
- * Navigation object with helper methods to be used by a navigator.
87
- * This object includes methods for common actions as well as methods the parent screen's navigation object.
88
- */
89
- routes: (Readonly<{
90
- key: string;
91
- name: string;
92
- path?: string | undefined;
93
- }> & Readonly<{
94
- params?: Readonly<object | undefined>;
95
- }> & {
96
- state?: Readonly<any> | import("@react-navigation/routers").PartialState<Readonly<any>> | undefined;
97
- })[];
62
+ routes: import("@react-navigation/routers").NavigationRoute<ParamListBase, string>[];
98
63
  type: string;
99
64
  stale: false;
100
65
  }>>): void;
@@ -108,24 +73,29 @@ export declare function useNavigationHelpers<State extends NavigationState, Acti
108
73
  index: number;
109
74
  routeNames: string[];
110
75
  history?: unknown[] | undefined;
111
- /**
112
- * Navigation object with helper methods to be used by a navigator.
113
- * This object includes methods for common actions as well as methods the parent screen's navigation object.
114
- */
115
- routes: (Readonly<{
116
- key: string;
117
- name: string;
118
- path?: string | undefined;
119
- }> & Readonly<{
120
- params?: Readonly<object | undefined>;
121
- }> & {
122
- state?: Readonly<any> | import("@react-navigation/routers").PartialState<Readonly<any>> | undefined;
123
- })[];
76
+ routes: import("@react-navigation/routers").NavigationRoute<ParamListBase, string>[];
124
77
  type: string;
125
78
  stale: false;
126
79
  }>;
80
+ setStateForNextRouteNamesChange(state: Readonly<{
81
+ key: string;
82
+ index: number;
83
+ routeNames: string[];
84
+ history?: unknown[] | undefined;
85
+ routes: import("@react-navigation/routers").NavigationRoute<ParamListBase, string>[];
86
+ type: string;
87
+ stale: false;
88
+ }> | import("@react-navigation/routers").PartialState<Readonly<{
89
+ key: string;
90
+ index: number;
91
+ routeNames: string[];
92
+ history?: unknown[] | undefined;
93
+ routes: import("@react-navigation/routers").NavigationRoute<ParamListBase, string>[];
94
+ type: string;
95
+ stale: false;
96
+ }>>): void;
127
97
  } & PrivateValueStore<[ParamListBase, unknown, unknown]> & import("./types").EventEmitter<EventMap> & {
128
- setParams<RouteName_4 extends string>(params: Partial<object | undefined>): void;
98
+ setParams<RouteName_5 extends string>(params: Partial<object | undefined>): void;
129
99
  } & ActionHelpers;
130
100
  export {};
131
101
  //# sourceMappingURL=useNavigationHelpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useNavigationHelpers.d.ts","sourceRoot":"","sources":["../../../src/useNavigationHelpers.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,MAAM,EACP,MAAM,2BAA2B,CAAC;AAInC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE/D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAMhE,KAAK,OAAO,CAAC,KAAK,SAAS,eAAe,EAAE,MAAM,SAAS,gBAAgB,IAAI;IAC7E,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC;IAChD,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,OAAO,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;CAC/B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,MAAM,SAAS,gBAAgB,EAC/B,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,EACA,EAAE,EAAE,WAAW,EACf,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,MAAM,GACP,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;;;;;;;;;;;QAfzB;;;WAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAHH;;;WAGG;;;;;;;;;;;;;;;;;QAHH;;;WAGG;;;;;;;;;;;;;;;;;;;;;;;QAHH;;;WAGG;;;;;;;;;;;;;;;kBAsFF"}
1
+ {"version":3,"file":"useNavigationHelpers.d.ts","sourceRoot":"","sources":["../../../src/useNavigationHelpers.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,MAAM,EACZ,MAAM,2BAA2B,CAAC;AAInC,OAAO,EAAE,KAAK,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAKhE,KAAK,OAAO,CAAC,KAAK,SAAS,eAAe,EAAE,MAAM,SAAS,gBAAgB,IAAI;IAC7E,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC;IAChD,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,OAAO,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;CAC/B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,MAAM,SAAS,gBAAgB,EAC/B,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,EACA,EAAE,EAAE,WAAW,EACf,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,MAAM,GACP,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA0ExB"}
@@ -1,5 +1,5 @@
1
1
  import type { NavigationAction, NavigationState, PartialState, Router, RouterConfigOptions } from '@react-navigation/routers';
2
- import { ChildActionListener, ChildBeforeRemoveListener } from './NavigationBuilderContext';
2
+ import { type ChildActionListener, type ChildBeforeRemoveListener } from './NavigationBuilderContext';
3
3
  import type { EventMapCore } from './types';
4
4
  import type { NavigationEventEmitter } from './useEventEmitter';
5
5
  type Options = {
@@ -1 +1 @@
1
- {"version":3,"file":"useOnAction.d.ts","sourceRoot":"","sources":["../../../src/useOnAction.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,MAAM,EACN,mBAAmB,EACpB,MAAM,2BAA2B,CAAC;AAInC,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EAE1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAGhE,KAAK,OAAO,GAAG;IACb,MAAM,EAAE,MAAM,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;IAClD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,eAAe,CAAC;IAChC,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC;IAC3E,eAAe,EAAE,mBAAmB,EAAE,CAAC;IACvC,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,GAAG,SAAS,CAAC,CAAC;IAC7E,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,OAAO,EAAE,sBAAsB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;CACpD,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,GAAG,EACH,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,OAAO,GACR,EAAE,OAAO,YAoBI,gBAAgB,sBACL,IAAI,MAAM,CAAC,aAyGnC"}
1
+ {"version":3,"file":"useOnAction.d.ts","sourceRoot":"","sources":["../../../src/useOnAction.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,MAAM,EACN,mBAAmB,EACpB,MAAM,2BAA2B,CAAC;AAInC,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAE/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAGhE,KAAK,OAAO,GAAG;IACb,MAAM,EAAE,MAAM,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;IAClD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,eAAe,CAAC;IAChC,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC;IAC3E,eAAe,EAAE,mBAAmB,EAAE,CAAC;IACvC,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,GAAG,SAAS,CAAC,CAAC;IAC7E,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,OAAO,EAAE,sBAAsB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;CACpD,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,GAAG,EACH,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,OAAO,GACR,EAAE,OAAO,YAoBI,gBAAgB,sBACL,IAAI,MAAM,CAAC,aA8GnC"}
@@ -1,5 +1,5 @@
1
1
  import type { NavigationState } from '@react-navigation/routers';
2
- import { GetStateListener } from './NavigationBuilderContext';
2
+ import { type GetStateListener } from './NavigationBuilderContext';
3
3
  type Options = {
4
4
  getState: () => NavigationState;
5
5
  getStateListeners: Record<string, GetStateListener | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"useOnGetState.d.ts","sourceRoot":"","sources":["../../../src/useOnGetState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAIjE,OAAO,EACL,gBAAgB,EAEjB,MAAM,4BAA4B,CAAC;AAGpC,KAAK,OAAO,GAAG;IACb,QAAQ,EAAE,MAAM,eAAe,CAAC;IAChC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC,CAAC;CACjE,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,EAAE,OAAO,QA6BrE"}
1
+ {"version":3,"file":"useOnGetState.d.ts","sourceRoot":"","sources":["../../../src/useOnGetState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAIjE,OAAO,EACL,KAAK,gBAAgB,EAEtB,MAAM,4BAA4B,CAAC;AAGpC,KAAK,OAAO,GAAG;IACb,QAAQ,EAAE,MAAM,eAAe,CAAC;IAChC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC,CAAC;CACjE,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,EAAE,OAAO,QA6BrE"}
@@ -1,5 +1,5 @@
1
1
  import type { NavigationAction, NavigationState } from '@react-navigation/routers';
2
- import { ChildBeforeRemoveListener } from './NavigationBuilderContext';
2
+ import { type ChildBeforeRemoveListener } from './NavigationBuilderContext';
3
3
  import type { EventMapCore } from './types';
4
4
  import type { NavigationEventEmitter } from './useEventEmitter';
5
5
  type Options = {
@@ -1 +1 @@
1
- {"version":3,"file":"useOnPreventRemove.d.ts","sourceRoot":"","sources":["../../../src/useOnPreventRemove.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EAChB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,yBAAyB,EAE1B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEhE,KAAK,OAAO,GAAG;IACb,QAAQ,EAAE,MAAM,eAAe,CAAC;IAChC,OAAO,EAAE,sBAAsB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,GAAG,SAAS,CAAC,CAAC;CAC9E,CAAC;AAIF,eAAO,MAAM,mBAAmB,YACrB,uBAAuB,aAAa,GAAG,CAAC,CAAC,yBAC3B,OAAO,MAAM,EAAE,yBAAyB,GAAG,SAAS,CAAC,iBAC7D;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,cACpB;IAAE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EAAE,UAClC,gBAAgB,YA8CzB,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,OAAO,EACP,qBAAqB,GACtB,EAAE,OAAO,QAoBT"}
1
+ {"version":3,"file":"useOnPreventRemove.d.ts","sourceRoot":"","sources":["../../../src/useOnPreventRemove.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EAChB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,KAAK,yBAAyB,EAE/B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEhE,KAAK,OAAO,GAAG;IACb,QAAQ,EAAE,MAAM,eAAe,CAAC;IAChC,OAAO,EAAE,sBAAsB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,GAAG,SAAS,CAAC,CAAC;CAC9E,CAAC;AAIF,eAAO,MAAM,mBAAmB,YACrB,uBAAuB,aAAa,GAAG,CAAC,CAAC,yBAC3B,OAAO,MAAM,EAAE,yBAAyB,GAAG,SAAS,CAAC,iBAC7D;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,cACpB;IAAE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EAAE,UAClC,gBAAgB,YA8CzB,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,OAAO,EACP,qBAAqB,GACtB,EAAE,OAAO,QAoBT"}
@@ -5,7 +5,7 @@ import type { NavigationAction } from '@react-navigation/routers';
5
5
  * @param preventRemove Boolean indicating whether to prevent screen from being removed.
6
6
  * @param callback Function which is executed when screen was prevented from being removed.
7
7
  */
8
- export declare function UNSTABLE_usePreventRemove(preventRemove: boolean, callback: (options: {
8
+ export declare function usePreventRemove(preventRemove: boolean, callback: (options: {
9
9
  data: {
10
10
  action: NavigationAction;
11
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"usePreventRemove.d.ts","sourceRoot":"","sources":["../../../src/usePreventRemove.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAUlE;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,OAAO,EACtB,QAAQ,EAAE,CAAC,OAAO,EAAE;IAAE,IAAI,EAAE;QAAE,MAAM,EAAE,gBAAgB,CAAA;KAAE,CAAA;CAAE,KAAK,IAAI,QAgCpE"}
1
+ {"version":3,"file":"usePreventRemove.d.ts","sourceRoot":"","sources":["../../../src/usePreventRemove.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAUlE;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,OAAO,EACtB,QAAQ,EAAE,CAAC,OAAO,EAAE;IAAE,IAAI,EAAE;QAAE,MAAM,EAAE,gBAAgB,CAAA;KAAE,CAAA;CAAE,KAAK,IAAI,QAgCpE"}
@@ -10,5 +10,5 @@ export declare const CHILD_STATE: unique symbol;
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 declare function useRouteCache<State extends NavigationState>(routes: State['routes']): RouteProp<ParamListBase, string>[];
13
+ export declare function useRouteCache<State extends NavigationState>(routes: State['routes']): RouteProp<ParamListBase>[];
14
14
  //# sourceMappingURL=useRouteCache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRouteCache.d.ts","sourceRoot":"","sources":["../../../src/useRouteCache.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EAEd,MAAM,2BAA2B,CAAC;AAGnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIzC;;;;GAIG;AACH,eAAO,MAAM,WAAW,eAAwB,CAAC;AAEjD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,SAAS,eAAe,EACzD,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,sCA+BxB"}
1
+ {"version":3,"file":"useRouteCache.d.ts","sourceRoot":"","sources":["../../../src/useRouteCache.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAIhF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIzC;;;;GAIG;AACH,eAAO,MAAM,WAAW,eAAwB,CAAC;AAEjD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,SAAS,eAAe,EACzD,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,8BAmCxB"}
@@ -1,5 +1,2 @@
1
- /**
2
- * This is definitely not compatible with concurrent mode, but we don't have a solution for sync state yet.
3
- */
4
- export declare function useSyncState<T>(initialState?: (() => T) | T): readonly [T, () => T, (state: T) => void, (callback: () => void) => void, () => void];
1
+ export declare function useSyncState<T>(getInitialState: () => T): readonly [T, () => T, (newState: T) => void];
5
2
  //# sourceMappingURL=useSyncState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSyncState.d.ts","sourceRoot":"","sources":["../../../src/useSyncState.tsx"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,iCAuBf,CAAC,sBAYQ,MAAM,IAAI,uBA+B/D"}
1
+ {"version":3,"file":"useSyncState.d.ts","sourceRoot":"","sources":["../../../src/useSyncState.tsx"],"names":[],"mappings":"AAiCA,wBAAgB,YAAY,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,gDAYvD"}
@@ -1,2 +1,2 @@
1
- export declare function validatePathConfig(config: any, root?: boolean): void;
1
+ export declare function validatePathConfig(config: unknown, root?: boolean): void;
2
2
  //# sourceMappingURL=validatePathConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validatePathConfig.d.ts","sourceRoot":"","sources":["../../../src/validatePathConfig.tsx"],"names":[],"mappings":"AAGA,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,UAAO,QA4B1D"}
1
+ {"version":3,"file":"validatePathConfig.d.ts","sourceRoot":"","sources":["../../../src/validatePathConfig.tsx"],"names":[],"mappings":"AAKA,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,UAAO,QAsE9D"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * usePrevious holds the value from the previous render.
3
+ * Please, do not use it too often.
4
+ */
5
+ export declare function usePrevious<T>(value: T): T | undefined;
6
+ //# sourceMappingURL=usePrevious.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePrevious.d.ts","sourceRoot":"","sources":["../../../utils/usePrevious.tsx"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAMtD"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@react-navigation/core",
3
3
  "description": "Core utilities for building navigators",
4
- "version": "7.0.0-alpha.1",
4
+ "version": "7.0.0-alpha.10",
5
5
  "keywords": [
6
6
  "react",
7
7
  "react-native",
@@ -35,23 +35,23 @@
35
35
  "clean": "del lib"
36
36
  },
37
37
  "dependencies": {
38
- "@react-navigation/routers": "^7.0.0-alpha.1",
38
+ "@react-navigation/routers": "^7.0.0-alpha.6",
39
39
  "escape-string-regexp": "^4.0.0",
40
- "nanoid": "^3.1.23",
40
+ "nanoid": "3.3.7",
41
41
  "query-string": "^7.1.3",
42
42
  "react-is": "^18.2.0",
43
- "use-latest-callback": "^0.1.5"
43
+ "use-latest-callback": "^0.1.9"
44
44
  },
45
45
  "devDependencies": {
46
- "@testing-library/react-native": "^11.5.0",
47
- "@types/react": "~18.0.26",
48
- "@types/react-is": "^17.0.3",
49
- "del-cli": "^5.0.0",
50
- "immer": "^9.0.16",
51
- "react": "18.1.0",
52
- "react-native-builder-bob": "^0.20.4",
53
- "react-test-renderer": "18.1.0",
54
- "typescript": "^4.9.4"
46
+ "@testing-library/react-native": "^12.4.3",
47
+ "@types/react": "~18.2.45",
48
+ "@types/react-is": "^18.2.3",
49
+ "del-cli": "^5.1.0",
50
+ "immer": "^10.0.3",
51
+ "react": "18.2.0",
52
+ "react-native-builder-bob": "^0.23.2",
53
+ "react-test-renderer": "18.2.0",
54
+ "typescript": "^5.3.3"
55
55
  },
56
56
  "peerDependencies": {
57
57
  "react": "*"
@@ -70,5 +70,5 @@
70
70
  ]
71
71
  ]
72
72
  },
73
- "gitHead": "230c09deeeb886929a15cb4cdcb496372a9496e1"
73
+ "gitHead": "b407411496a2eaeeeb29b563d66294e79ae31311"
74
74
  }
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  CommonActions,
3
- InitialState,
4
- NavigationAction,
5
- NavigationState,
6
- ParamListBase,
7
- PartialState,
8
- Route,
3
+ type InitialState,
4
+ type NavigationAction,
5
+ type NavigationState,
6
+ type ParamListBase,
7
+ type PartialState,
8
+ type Route,
9
9
  } from '@react-navigation/routers';
10
10
  import * as React from 'react';
11
11
  import useLatestCallback from 'use-latest-callback';
@@ -20,6 +20,7 @@ import { NavigationBuilderContext } from './NavigationBuilderContext';
20
20
  import { NavigationContainerRefContext } from './NavigationContainerRefContext';
21
21
  import { NavigationIndependentTreeContext } from './NavigationIndependentTreeContext';
22
22
  import { NavigationStateContext } from './NavigationStateContext';
23
+ import { ThemeProvider } from './theming/ThemeProvider';
23
24
  import type {
24
25
  NavigationContainerEventMap,
25
26
  NavigationContainerProps,
@@ -31,7 +32,6 @@ import { useEventEmitter } from './useEventEmitter';
31
32
  import { useKeyedChildListeners } from './useKeyedChildListeners';
32
33
  import { useNavigationIndependentTree } from './useNavigationIndependentTree';
33
34
  import { useOptionsGetters } from './useOptionsGetters';
34
- import { ScheduleUpdateContext } from './useScheduleUpdate';
35
35
  import { useSyncState } from './useSyncState';
36
36
 
37
37
  type State = NavigationState | PartialState<NavigationState> | undefined;
@@ -77,6 +77,7 @@ const getPartialState = (
77
77
  * @param props.onReady Callback which is called after the navigation tree mounts.
78
78
  * @param props.onStateChange Callback which is called with the latest navigation state when it changes.
79
79
  * @param props.onUnhandledAction Callback which is called when an action is not handled.
80
+ * @param props.theme Theme object for the UI elements.
80
81
  * @param props.children Child elements to render the content.
81
82
  * @param props.ref Ref object which refers to the navigation object containing helper methods.
82
83
  */
@@ -88,6 +89,7 @@ export const BaseNavigationContainer = React.forwardRef(
88
89
  onReady,
89
90
  onUnhandledAction,
90
91
  navigationInChildEnabled = false,
92
+ theme,
91
93
  children,
92
94
  }: NavigationContainerProps,
93
95
  ref?: React.Ref<NavigationContainerRef<ParamListBase>>
@@ -101,10 +103,9 @@ export const BaseNavigationContainer = React.forwardRef(
101
103
  );
102
104
  }
103
105
 
104
- const [state, getState, setState, scheduleUpdate, flushUpdates] =
105
- useSyncState<State>(() =>
106
- getPartialState(initialState == null ? undefined : initialState)
107
- );
106
+ const [state, getState, setState] = useSyncState<State>(() =>
107
+ getPartialState(initialState == null ? undefined : initialState)
108
+ );
108
109
 
109
110
  const isFirstMountRef = React.useRef<boolean>(true);
110
111
 
@@ -203,11 +204,14 @@ export const BaseNavigationContainer = React.forwardRef(
203
204
  isFocused: () => true,
204
205
  canGoBack,
205
206
  getParent: () => undefined,
206
- getState: () => stateRef.current,
207
+ getState,
207
208
  getRootState,
208
209
  getCurrentRoute,
209
210
  getCurrentOptions,
210
211
  isReady,
212
+ setOptions: () => {
213
+ throw new Error('Cannot call setOptions outside a screen');
214
+ },
211
215
  }),
212
216
  [
213
217
  canGoBack,
@@ -216,6 +220,7 @@ export const BaseNavigationContainer = React.forwardRef(
216
220
  getCurrentOptions,
217
221
  getCurrentRoute,
218
222
  getRootState,
223
+ getState,
219
224
  isReady,
220
225
  resetRoot,
221
226
  ]
@@ -260,11 +265,6 @@ export const BaseNavigationContainer = React.forwardRef(
260
265
  [addListener, addKeyedListener, onDispatchAction, onOptionsChange]
261
266
  );
262
267
 
263
- const scheduleContext = React.useMemo(
264
- () => ({ scheduleUpdate, flushUpdates }),
265
- [scheduleUpdate, flushUpdates]
266
- );
267
-
268
268
  const isInitialRef = React.useRef(true);
269
269
 
270
270
  const getIsInitial = React.useCallback(() => isInitialRef.current, []);
@@ -292,22 +292,21 @@ export const BaseNavigationContainer = React.forwardRef(
292
292
 
293
293
  const onReadyRef = React.useRef(onReady);
294
294
  const onStateChangeRef = React.useRef(onStateChange);
295
- const stateRef = React.useRef(state);
296
295
 
297
296
  React.useEffect(() => {
298
297
  isInitialRef.current = false;
299
298
  onStateChangeRef.current = onStateChange;
300
299
  onReadyRef.current = onReady;
301
- stateRef.current = state;
302
300
  });
303
301
 
304
- const isNavigationReady = isReady();
302
+ const onReadyCalledRef = React.useRef(false);
305
303
 
306
304
  React.useEffect(() => {
307
- if (isNavigationReady) {
305
+ if (!onReadyCalledRef.current && isReady()) {
306
+ onReadyCalledRef.current = true;
308
307
  onReadyRef.current?.();
309
308
  }
310
- }, [isNavigationReady]);
309
+ }, [state, isReady]);
311
310
 
312
311
  React.useEffect(() => {
313
312
  const hydratedState = getRootState();
@@ -433,21 +432,21 @@ export const BaseNavigationContainer = React.forwardRef(
433
432
  return (
434
433
  <NavigationIndependentTreeContext.Provider value={false}>
435
434
  <NavigationContainerRefContext.Provider value={navigation}>
436
- <ScheduleUpdateContext.Provider value={scheduleContext}>
437
- <NavigationBuilderContext.Provider value={builderContext}>
438
- <NavigationStateContext.Provider value={context}>
439
- <UnhandledActionContext.Provider
440
- value={onUnhandledAction ?? defaultOnUnhandledAction}
435
+ <NavigationBuilderContext.Provider value={builderContext}>
436
+ <NavigationStateContext.Provider value={context}>
437
+ <UnhandledActionContext.Provider
438
+ value={onUnhandledAction ?? defaultOnUnhandledAction}
439
+ >
440
+ <DeprecatedNavigationInChildContext.Provider
441
+ value={navigationInChildEnabled}
441
442
  >
442
- <DeprecatedNavigationInChildContext.Provider
443
- value={navigationInChildEnabled}
444
- >
445
- <EnsureSingleNavigator>{children}</EnsureSingleNavigator>
446
- </DeprecatedNavigationInChildContext.Provider>
447
- </UnhandledActionContext.Provider>
448
- </NavigationStateContext.Provider>
449
- </NavigationBuilderContext.Provider>
450
- </ScheduleUpdateContext.Provider>
443
+ <EnsureSingleNavigator>
444
+ <ThemeProvider value={theme}>{children}</ThemeProvider>
445
+ </EnsureSingleNavigator>
446
+ </DeprecatedNavigationInChildContext.Provider>
447
+ </UnhandledActionContext.Provider>
448
+ </NavigationStateContext.Provider>
449
+ </NavigationBuilderContext.Provider>
451
450
  </NavigationContainerRefContext.Provider>
452
451
  </NavigationIndependentTreeContext.Provider>
453
452
  );
package/src/Group.tsx CHANGED
@@ -7,7 +7,7 @@ import type { RouteGroupConfig } from './types';
7
7
  */
8
8
  export function Group<
9
9
  ParamList extends ParamListBase,
10
- ScreenOptions extends {}
10
+ ScreenOptions extends {},
11
11
  >(_: RouteGroupConfig<ParamList, ScreenOptions>) {
12
12
  /* istanbul ignore next */
13
13
  return null;
@@ -4,7 +4,10 @@ import useLatestCallback from 'use-latest-callback';
4
4
 
5
5
  import { NavigationHelpersContext } from './NavigationHelpersContext';
6
6
  import { NavigationRouteContext } from './NavigationRouteContext';
7
- import { PreventedRoutes, PreventRemoveContext } from './PreventRemoveContext';
7
+ import {
8
+ type PreventedRoutes,
9
+ PreventRemoveContext,
10
+ } from './PreventRemoveContext';
8
11
 
9
12
  type Props = {
10
13
  children: React.ReactNode;
package/src/SceneView.tsx CHANGED
@@ -35,7 +35,7 @@ type Props<State extends NavigationState, ScreenOptions extends {}> = {
35
35
  */
36
36
  export function SceneView<
37
37
  State extends NavigationState,
38
- ScreenOptions extends {}
38
+ ScreenOptions extends {},
39
39
  >({
40
40
  screen,
41
41
  route,
package/src/Screen.tsx CHANGED
@@ -10,7 +10,7 @@ export function Screen<
10
10
  RouteName extends keyof ParamList,
11
11
  State extends NavigationState,
12
12
  ScreenOptions extends {},
13
- EventMap extends EventMapBase
13
+ EventMap extends EventMapBase,
14
14
  >(_: RouteConfig<ParamList, RouteName, State, ScreenOptions, EventMap>) {
15
15
  /* istanbul ignore next */
16
16
  return null;