@react-navigation/core 8.0.0-alpha.2 → 8.0.0-alpha.20

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 (251) hide show
  1. package/lib/module/BaseNavigationContainer.js +20 -9
  2. package/lib/module/BaseNavigationContainer.js.map +1 -1
  3. package/lib/module/ConsumedParamsContext.js +5 -0
  4. package/lib/module/ConsumedParamsContext.js.map +1 -0
  5. package/lib/module/NavigationBuilderContext.js +1 -0
  6. package/lib/module/NavigationBuilderContext.js.map +1 -1
  7. package/lib/module/NavigationIndependentTree.js +8 -4
  8. package/lib/module/NavigationIndependentTree.js.map +1 -1
  9. package/lib/module/NavigationProvider.js +14 -3
  10. package/lib/module/NavigationProvider.js.map +1 -1
  11. package/lib/module/NavigationStateContext.js.map +1 -1
  12. package/lib/module/PreventRemoveProvider.js +3 -3
  13. package/lib/module/PreventRemoveProvider.js.map +1 -1
  14. package/lib/module/SceneView.js +46 -56
  15. package/lib/module/SceneView.js.map +1 -1
  16. package/lib/module/StaticNavigation.js +166 -46
  17. package/lib/module/StaticNavigation.js.map +1 -1
  18. package/lib/module/checkSerializable.js +11 -4
  19. package/lib/module/checkSerializable.js.map +1 -1
  20. package/lib/module/createNavigatorFactory.js +27 -5
  21. package/lib/module/createNavigatorFactory.js.map +1 -1
  22. package/lib/module/findFocusedRoute.js +7 -4
  23. package/lib/module/findFocusedRoute.js.map +1 -1
  24. package/lib/module/getActionFromState.js +40 -14
  25. package/lib/module/getActionFromState.js.map +1 -1
  26. package/lib/module/getPathFromState.js +48 -11
  27. package/lib/module/getPathFromState.js.map +1 -1
  28. package/lib/module/getPatternParts.js +3 -0
  29. package/lib/module/getPatternParts.js.map +1 -1
  30. package/lib/module/getStateFromPath.js +353 -166
  31. package/lib/module/getStateFromPath.js.map +1 -1
  32. package/lib/module/getStateFromRouteParams.js +24 -0
  33. package/lib/module/getStateFromRouteParams.js.map +1 -0
  34. package/lib/module/index.js +3 -4
  35. package/lib/module/index.js.map +1 -1
  36. package/lib/module/theming/useTheme.js +1 -1
  37. package/lib/module/theming/useTheme.js.map +1 -1
  38. package/lib/module/types.js +15 -0
  39. package/lib/module/types.js.map +1 -1
  40. package/lib/module/useDescriptors.js +18 -9
  41. package/lib/module/useDescriptors.js.map +1 -1
  42. package/lib/module/useEventEmitter.js +43 -31
  43. package/lib/module/useEventEmitter.js.map +1 -1
  44. package/lib/module/useFocusEvents.js +6 -2
  45. package/lib/module/useFocusEvents.js.map +1 -1
  46. package/lib/module/useFocusedListenersChildrenAdapter.js +2 -2
  47. package/lib/module/useFocusedListenersChildrenAdapter.js.map +1 -1
  48. package/lib/module/useIsFocused.js +7 -12
  49. package/lib/module/useIsFocused.js.map +1 -1
  50. package/lib/module/useNavigation.js.map +1 -1
  51. package/lib/module/useNavigationBuilder.js +144 -86
  52. package/lib/module/useNavigationBuilder.js.map +1 -1
  53. package/lib/module/useNavigationCache.js +3 -3
  54. package/lib/module/useNavigationCache.js.map +1 -1
  55. package/lib/module/useNavigationHelpers.js +1 -1
  56. package/lib/module/useNavigationHelpers.js.map +1 -1
  57. package/lib/module/useNavigationIndependentTree.js +1 -1
  58. package/lib/module/useNavigationIndependentTree.js.map +1 -1
  59. package/lib/module/useNavigationState.js +6 -4
  60. package/lib/module/useNavigationState.js.map +1 -1
  61. package/lib/module/useOnAction.js +3 -3
  62. package/lib/module/useOnAction.js.map +1 -1
  63. package/lib/module/useOnGetState.js +6 -3
  64. package/lib/module/useOnGetState.js.map +1 -1
  65. package/lib/module/useOnPreventRemove.js +3 -3
  66. package/lib/module/useOnPreventRemove.js.map +1 -1
  67. package/lib/module/useOnRouteFocus.js +1 -1
  68. package/lib/module/useOnRouteFocus.js.map +1 -1
  69. package/lib/module/useOptionsGetters.js +7 -4
  70. package/lib/module/useOptionsGetters.js.map +1 -1
  71. package/lib/module/usePreventRemove.js +1 -1
  72. package/lib/module/usePreventRemove.js.map +1 -1
  73. package/lib/module/usePreventRemoveContext.js +1 -1
  74. package/lib/module/usePreventRemoveContext.js.map +1 -1
  75. package/lib/module/useRegisterNavigator.js +2 -2
  76. package/lib/module/useRegisterNavigator.js.map +1 -1
  77. package/lib/module/useRoute.js.map +1 -1
  78. package/lib/module/useRouteCache.js +2 -1
  79. package/lib/module/useRouteCache.js.map +1 -1
  80. package/lib/module/useScheduleUpdate.js +1 -1
  81. package/lib/module/useScheduleUpdate.js.map +1 -1
  82. package/lib/module/useStateForPath.js +1 -1
  83. package/lib/module/useStateForPath.js.map +1 -1
  84. package/lib/module/validatePathConfig.js +2 -1
  85. package/lib/module/validatePathConfig.js.map +1 -1
  86. package/lib/typescript/src/BaseNavigationContainer.d.ts +6 -3
  87. package/lib/typescript/src/BaseNavigationContainer.d.ts.map +1 -1
  88. package/lib/typescript/src/ConsumedParamsContext.d.ts +8 -0
  89. package/lib/typescript/src/ConsumedParamsContext.d.ts.map +1 -0
  90. package/lib/typescript/src/EnsureSingleNavigator.d.ts +1 -1
  91. package/lib/typescript/src/EnsureSingleNavigator.d.ts.map +1 -1
  92. package/lib/typescript/src/Group.d.ts +1 -1
  93. package/lib/typescript/src/Group.d.ts.map +1 -1
  94. package/lib/typescript/src/NavigationBuilderContext.d.ts +12 -6
  95. package/lib/typescript/src/NavigationBuilderContext.d.ts.map +1 -1
  96. package/lib/typescript/src/NavigationContainerRefContext.d.ts +1 -1
  97. package/lib/typescript/src/NavigationContainerRefContext.d.ts.map +1 -1
  98. package/lib/typescript/src/NavigationFocusedRouteStateContext.d.ts +4 -4
  99. package/lib/typescript/src/NavigationFocusedRouteStateContext.d.ts.map +1 -1
  100. package/lib/typescript/src/NavigationHelpersContext.d.ts +1 -1
  101. package/lib/typescript/src/NavigationHelpersContext.d.ts.map +1 -1
  102. package/lib/typescript/src/NavigationIndependentTree.d.ts +1 -1
  103. package/lib/typescript/src/NavigationIndependentTree.d.ts.map +1 -1
  104. package/lib/typescript/src/NavigationProvider.d.ts +10 -10
  105. package/lib/typescript/src/NavigationProvider.d.ts.map +1 -1
  106. package/lib/typescript/src/NavigationStateContext.d.ts +3 -3
  107. package/lib/typescript/src/NavigationStateContext.d.ts.map +1 -1
  108. package/lib/typescript/src/PreventRemoveProvider.d.ts +1 -1
  109. package/lib/typescript/src/PreventRemoveProvider.d.ts.map +1 -1
  110. package/lib/typescript/src/SceneView.d.ts +3 -2
  111. package/lib/typescript/src/SceneView.d.ts.map +1 -1
  112. package/lib/typescript/src/Screen.d.ts +1 -1
  113. package/lib/typescript/src/Screen.d.ts.map +1 -1
  114. package/lib/typescript/src/StaticContainer.d.ts +1 -1
  115. package/lib/typescript/src/StaticContainer.d.ts.map +1 -1
  116. package/lib/typescript/src/StaticNavigation.d.ts +123 -92
  117. package/lib/typescript/src/StaticNavigation.d.ts.map +1 -1
  118. package/lib/typescript/src/checkSerializable.d.ts +5 -3
  119. package/lib/typescript/src/checkSerializable.d.ts.map +1 -1
  120. package/lib/typescript/src/createNavigationContainerRef.d.ts +1 -1
  121. package/lib/typescript/src/createNavigationContainerRef.d.ts.map +1 -1
  122. package/lib/typescript/src/createNavigatorFactory.d.ts +17 -5
  123. package/lib/typescript/src/createNavigatorFactory.d.ts.map +1 -1
  124. package/lib/typescript/src/findFocusedRoute.d.ts +3 -3
  125. package/lib/typescript/src/findFocusedRoute.d.ts.map +1 -1
  126. package/lib/typescript/src/getActionFromState.d.ts +4 -4
  127. package/lib/typescript/src/getActionFromState.d.ts.map +1 -1
  128. package/lib/typescript/src/getPathFromState.d.ts +3 -3
  129. package/lib/typescript/src/getPathFromState.d.ts.map +1 -1
  130. package/lib/typescript/src/getPatternParts.d.ts +1 -0
  131. package/lib/typescript/src/getPatternParts.d.ts.map +1 -1
  132. package/lib/typescript/src/getStateFromPath.d.ts +5 -5
  133. package/lib/typescript/src/getStateFromPath.d.ts.map +1 -1
  134. package/lib/typescript/src/getStateFromRouteParams.d.ts +3 -0
  135. package/lib/typescript/src/getStateFromRouteParams.d.ts.map +1 -0
  136. package/lib/typescript/src/index.d.ts +34 -33
  137. package/lib/typescript/src/index.d.ts.map +1 -1
  138. package/lib/typescript/src/theming/ThemeContext.d.ts +1 -1
  139. package/lib/typescript/src/theming/ThemeContext.d.ts.map +1 -1
  140. package/lib/typescript/src/theming/ThemeProvider.d.ts +2 -2
  141. package/lib/typescript/src/theming/ThemeProvider.d.ts.map +1 -1
  142. package/lib/typescript/src/theming/useTheme.d.ts +1 -1
  143. package/lib/typescript/src/theming/useTheme.d.ts.map +1 -1
  144. package/lib/typescript/src/types.d.ts +215 -131
  145. package/lib/typescript/src/types.d.ts.map +1 -1
  146. package/lib/typescript/src/useChildListeners.d.ts +3 -3
  147. package/lib/typescript/src/useChildListeners.d.ts.map +1 -1
  148. package/lib/typescript/src/useComponent.d.ts +1 -1
  149. package/lib/typescript/src/useComponent.d.ts.map +1 -1
  150. package/lib/typescript/src/useDescriptors.d.ts +7 -7
  151. package/lib/typescript/src/useDescriptors.d.ts.map +1 -1
  152. package/lib/typescript/src/useEventEmitter.d.ts +1 -1
  153. package/lib/typescript/src/useEventEmitter.d.ts.map +1 -1
  154. package/lib/typescript/src/useFocusEvents.d.ts +2 -2
  155. package/lib/typescript/src/useFocusEvents.d.ts.map +1 -1
  156. package/lib/typescript/src/useFocusedListenersChildrenAdapter.d.ts +2 -2
  157. package/lib/typescript/src/useFocusedListenersChildrenAdapter.d.ts.map +1 -1
  158. package/lib/typescript/src/useIsFocused.d.ts +3 -0
  159. package/lib/typescript/src/useIsFocused.d.ts.map +1 -1
  160. package/lib/typescript/src/useKeyedChildListeners.d.ts +3 -3
  161. package/lib/typescript/src/useKeyedChildListeners.d.ts.map +1 -1
  162. package/lib/typescript/src/useNavigation.d.ts +5 -3
  163. package/lib/typescript/src/useNavigation.d.ts.map +1 -1
  164. package/lib/typescript/src/useNavigationBuilder.d.ts +24 -24
  165. package/lib/typescript/src/useNavigationBuilder.d.ts.map +1 -1
  166. package/lib/typescript/src/useNavigationCache.d.ts +3 -3
  167. package/lib/typescript/src/useNavigationCache.d.ts.map +1 -1
  168. package/lib/typescript/src/useNavigationContainerRef.d.ts +1 -1
  169. package/lib/typescript/src/useNavigationContainerRef.d.ts.map +1 -1
  170. package/lib/typescript/src/useNavigationHelpers.d.ts +19 -19
  171. package/lib/typescript/src/useNavigationHelpers.d.ts.map +1 -1
  172. package/lib/typescript/src/useNavigationState.d.ts +2 -2
  173. package/lib/typescript/src/useNavigationState.d.ts.map +1 -1
  174. package/lib/typescript/src/useOnAction.d.ts +9 -9
  175. package/lib/typescript/src/useOnAction.d.ts.map +1 -1
  176. package/lib/typescript/src/useOnGetState.d.ts +1 -1
  177. package/lib/typescript/src/useOnGetState.d.ts.map +1 -1
  178. package/lib/typescript/src/useOnPreventRemove.d.ts +3 -3
  179. package/lib/typescript/src/useOnPreventRemove.d.ts.map +1 -1
  180. package/lib/typescript/src/useOnRouteFocus.d.ts +6 -6
  181. package/lib/typescript/src/useOnRouteFocus.d.ts.map +1 -1
  182. package/lib/typescript/src/useOptionsGetters.d.ts +1 -1
  183. package/lib/typescript/src/useOptionsGetters.d.ts.map +1 -1
  184. package/lib/typescript/src/usePreventRemoveContext.d.ts +1 -1
  185. package/lib/typescript/src/useRoute.d.ts +2 -2
  186. package/lib/typescript/src/useRoute.d.ts.map +1 -1
  187. package/lib/typescript/src/useRouteCache.d.ts +4 -4
  188. package/lib/typescript/src/useRouteCache.d.ts.map +1 -1
  189. package/lib/typescript/src/useScheduleUpdate.d.ts.map +1 -1
  190. package/lib/typescript/src/useStateForPath.d.ts +1 -1
  191. package/lib/typescript/src/useStateForPath.d.ts.map +1 -1
  192. package/lib/typescript/src/utilities.d.ts +45 -5
  193. package/lib/typescript/src/utilities.d.ts.map +1 -1
  194. package/lib/typescript/src/validatePathConfig.d.ts.map +1 -1
  195. package/package.json +23 -20
  196. package/src/BaseNavigationContainer.tsx +337 -326
  197. package/src/ConsumedParamsContext.tsx +10 -0
  198. package/src/NavigationBuilderContext.tsx +14 -8
  199. package/src/NavigationFocusedRouteStateContext.tsx +4 -4
  200. package/src/NavigationIndependentTree.tsx +8 -5
  201. package/src/NavigationProvider.tsx +17 -3
  202. package/src/NavigationStateContext.tsx +5 -6
  203. package/src/PreventRemoveProvider.tsx +3 -3
  204. package/src/SceneView.tsx +58 -56
  205. package/src/StaticNavigation.tsx +488 -250
  206. package/src/checkSerializable.tsx +22 -12
  207. package/src/createNavigatorFactory.tsx +83 -8
  208. package/src/findFocusedRoute.tsx +13 -8
  209. package/src/getActionFromState.tsx +68 -39
  210. package/src/getPathFromState.tsx +91 -27
  211. package/src/getPatternParts.tsx +8 -0
  212. package/src/getStateFromPath.tsx +555 -180
  213. package/src/getStateFromRouteParams.tsx +60 -0
  214. package/src/index.tsx +47 -5
  215. package/src/theming/useTheme.tsx +1 -1
  216. package/src/types.tsx +541 -338
  217. package/src/useDescriptors.tsx +27 -12
  218. package/src/useEventEmitter.tsx +45 -36
  219. package/src/useFocusEvents.tsx +8 -2
  220. package/src/useFocusedListenersChildrenAdapter.tsx +2 -2
  221. package/src/useIsFocused.tsx +14 -21
  222. package/src/useNavigation.tsx +8 -4
  223. package/src/useNavigationBuilder.tsx +220 -132
  224. package/src/useNavigationCache.tsx +6 -6
  225. package/src/useNavigationHelpers.tsx +1 -1
  226. package/src/useNavigationIndependentTree.tsx +1 -1
  227. package/src/useNavigationState.tsx +11 -7
  228. package/src/useOnAction.tsx +10 -10
  229. package/src/useOnGetState.tsx +5 -3
  230. package/src/useOnPreventRemove.tsx +3 -3
  231. package/src/useOnRouteFocus.tsx +10 -12
  232. package/src/useOptionsGetters.tsx +7 -4
  233. package/src/usePreventRemove.tsx +1 -1
  234. package/src/usePreventRemoveContext.tsx +1 -1
  235. package/src/useRegisterNavigator.tsx +2 -2
  236. package/src/useRoute.tsx +4 -2
  237. package/src/useRouteCache.tsx +2 -1
  238. package/src/useScheduleUpdate.tsx +1 -3
  239. package/src/useStateForPath.tsx +1 -1
  240. package/src/utilities.tsx +101 -5
  241. package/src/validatePathConfig.tsx +1 -0
  242. package/lib/module/CurrentRenderContext.js +0 -10
  243. package/lib/module/CurrentRenderContext.js.map +0 -1
  244. package/lib/module/useCurrentRender.js +0 -19
  245. package/lib/module/useCurrentRender.js.map +0 -1
  246. package/lib/typescript/src/CurrentRenderContext.d.ts +0 -9
  247. package/lib/typescript/src/CurrentRenderContext.d.ts.map +0 -1
  248. package/lib/typescript/src/useCurrentRender.d.ts +0 -14
  249. package/lib/typescript/src/useCurrentRender.d.ts.map +0 -1
  250. package/src/CurrentRenderContext.tsx +0 -9
  251. package/src/useCurrentRender.tsx +0 -31
@@ -5,10 +5,12 @@ import deepEqual from 'fast-deep-equal';
5
5
  import * as React from 'react';
6
6
  import { isValidElementType } from 'react-is';
7
7
  import useLatestCallback from 'use-latest-callback';
8
+ import { ConsumedParamsContext } from "./ConsumedParamsContext.js";
8
9
  import { deepFreeze } from "./deepFreeze.js";
9
10
  import { Group } from "./Group.js";
10
11
  import { isArrayEqual } from "./isArrayEqual.js";
11
12
  import { isRecordEqual } from "./isRecordEqual.js";
13
+ import { NavigationBuilderContext } from "./NavigationBuilderContext.js";
12
14
  import { NavigationHelpersContext } from "./NavigationHelpersContext.js";
13
15
  import { NavigationMetaContext } from "./NavigationMetaContext.js";
14
16
  import { NavigationRouteContext } from "./NavigationProvider.js";
@@ -19,11 +21,11 @@ import { PrivateValueStore } from "./types.js";
19
21
  import { UnhandledActionContext } from "./UnhandledActionContext.js";
20
22
  import { useChildListeners } from "./useChildListeners.js";
21
23
  import { useComponent } from "./useComponent.js";
22
- import { useCurrentRender } from "./useCurrentRender.js";
23
24
  import { useDescriptors } from "./useDescriptors.js";
24
25
  import { useEventEmitter } from "./useEventEmitter.js";
25
26
  import { useFocusedListenersChildrenAdapter } from "./useFocusedListenersChildrenAdapter.js";
26
27
  import { useFocusEvents } from "./useFocusEvents.js";
28
+ import { FocusedRouteKeyContext } from "./useIsFocused.js";
27
29
  import { useKeyedChildListeners } from "./useKeyedChildListeners.js";
28
30
  import { useLazyValue } from "./useLazyValue.js";
29
31
  import { useNavigationHelpers } from "./useNavigationHelpers.js";
@@ -38,6 +40,7 @@ import { useScheduleUpdate } from "./useScheduleUpdate.js";
38
40
  // eslint-disable-next-line @typescript-eslint/no-unused-expressions
39
41
  import { jsx as _jsx } from "react/jsx-runtime";
40
42
  PrivateValueStore;
43
+ const isNavigationState = state => state != null && typeof state === 'object' && 'routes' in state && Array.isArray(state.routes);
41
44
  const isScreen = child => {
42
45
  return child.type === Screen;
43
46
  };
@@ -89,7 +92,7 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions, groupLayo
89
92
  return acc;
90
93
  }
91
94
  }
92
- 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'.`);
95
+ 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'.`);
93
96
  }, []);
94
97
  if (process.env.NODE_ENV !== 'production') {
95
98
  configs.forEach(config => {
@@ -136,8 +139,9 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions, groupLayo
136
139
  return configs;
137
140
  };
138
141
  const getStateFromParams = params => {
139
- if (params?.state != null) {
140
- return params.state;
142
+ const state = params?.state;
143
+ if (isNavigationState(state)) {
144
+ return state;
141
145
  } else if (typeof params?.screen === 'string' && params?.initial !== false) {
142
146
  return {
143
147
  routes: [{
@@ -159,7 +163,9 @@ const getStateFromParams = params => {
159
163
  */
160
164
  export function useNavigationBuilder(createRouter, options) {
161
165
  const navigatorKey = useRegisterNavigator();
162
- const route = React.useContext(NavigationRouteContext);
166
+ const route = React.use(NavigationRouteContext);
167
+ const consumedParams = React.use(ConsumedParamsContext);
168
+ const isNestedParamsConsumed = typeof route?.params === 'object' && route.params != null ? consumedParams?.isConsumed(route.params) : false;
163
169
  const {
164
170
  children,
165
171
  layout,
@@ -184,31 +190,26 @@ export function useNavigationBuilder(createRouter, options) {
184
190
  }
185
191
  return original;
186
192
  });
187
- const screens = routeConfigs.reduce((acc, config) => {
188
- if (config.props.name in acc) {
189
- throw new Error(`A navigator cannot contain multiple 'Screen' components with the same name (found duplicate screen named '${config.props.name}')`);
190
- }
191
- acc[config.props.name] = config;
192
- return acc;
193
- }, {});
194
193
  const routeNames = routeConfigs.map(config => config.props.name);
195
- const routeKeyList = routeNames.reduce((acc, curr) => {
196
- acc[curr] = screens[curr].keys.map(key => key ?? '').join(':');
197
- return acc;
198
- }, {});
199
- const routeParamList = routeNames.reduce((acc, curr) => {
200
- const {
201
- initialParams
202
- } = screens[curr].props;
203
- acc[curr] = initialParams;
204
- return acc;
205
- }, {});
206
- const routeGetIdList = routeNames.reduce((acc, curr) => Object.assign(acc, {
207
- [curr]: screens[curr].props.getId
208
- }), {});
209
194
  if (!routeNames.length) {
210
195
  throw new Error("Couldn't find any screens for the navigator. Have you defined any screens as its children?");
211
196
  }
197
+ const screens = {};
198
+ const routeKeyList = {};
199
+ const routeParamList = {};
200
+ const routeGetIdList = {};
201
+ for (const config of routeConfigs) {
202
+ const name = config.props.name;
203
+ if (name in screens) {
204
+ throw new Error(`A navigator cannot contain multiple 'Screen' components with the same name (found duplicate screen named '${name}')`);
205
+ }
206
+ screens[name] = config;
207
+ routeKeyList[name] = config.keys.map(key => key ?? '').join(':');
208
+ routeParamList[name] = config.props.initialParams;
209
+ Object.assign(routeGetIdList, {
210
+ [name]: config.props.getId
211
+ });
212
+ }
212
213
  const isStateValid = React.useCallback(state => state.type === undefined || state.type === router.type, [router.type]);
213
214
  const isStateInitialized = React.useCallback(state => state !== undefined && state.stale === false && isStateValid(state), [isStateValid]);
214
215
  const doesStateHaveOnlyInvalidRoutes = React.useCallback(state => state.routes.every(r => !routeNames.includes(r.name)), [routeNames]);
@@ -219,22 +220,37 @@ export function useNavigationBuilder(createRouter, options) {
219
220
  setKey,
220
221
  getKey,
221
222
  getIsInitial
222
- } = React.useContext(NavigationStateContext);
223
- const stateCleanedUp = React.useRef(false);
223
+ } = React.use(NavigationStateContext);
224
+ const stateCleanupRef = React.useRef(false);
225
+ const lastStateRef = React.useRef(undefined);
224
226
  const setState = useLatestCallback(state => {
225
- if (stateCleanedUp.current) {
227
+ if (stateCleanupRef.current) {
228
+ // Store the state locally in case the current navigator is in `Activity`
229
+ lastStateRef.current = state;
230
+
226
231
  // State might have been already cleaned up due to unmount
227
- // We do not want to expose API allowing to override this
228
- // This would lead to old data preservation on main navigator unmount
232
+ // We don't want to update `route.state` in parent
233
+ // Otherwise it will be reused if a new navigator gets mounted
229
234
  return;
230
235
  }
231
236
  setCurrentState(state);
232
237
  });
233
- const [stateBeforeInitialization, initializedState, isFirstStateInitialization] = React.useMemo(() => {
238
+ const [stateBeforeInitialization, initializedState, isFirstStateInitialization, paramsUsedForInitialization] = React.useMemo(() => {
239
+ // If the state was already cleaned up, but we have it stored in ref,
240
+ // It likely got cleaned up due to `<Activity mode="hidden">`
241
+ // We should reuse this state to avoid remounting screens
242
+ if (stateCleanupRef.current && lastStateRef.current && isStateValid(lastStateRef.current)) {
243
+ const state = isStateInitialized(lastStateRef.current) ? lastStateRef.current : router.getRehydratedState(lastStateRef.current, {
244
+ routeNames,
245
+ routeParamList,
246
+ routeGetIdList
247
+ });
248
+ return [undefined, state, false, undefined];
249
+ }
234
250
  const initialRouteParamList = routeNames.reduce((acc, curr) => {
235
251
  const {
236
252
  initialParams
237
- } = screens[curr].props;
253
+ } = screens[curr]?.props ?? {};
238
254
  const initialParamsFromParams = route?.params?.state == null && route?.params?.initial !== false && route?.params?.screen === curr ? route.params.params : undefined;
239
255
  acc[curr] = initialParams !== undefined || initialParamsFromParams !== undefined ? {
240
256
  ...initialParams,
@@ -247,24 +263,29 @@ export function useNavigationBuilder(createRouter, options) {
247
263
  // We also need to re-initialize it if the state passed from parent was changed (maybe due to reset)
248
264
  // Otherwise assume that the state was provided as initial state
249
265
  // So we need to rehydrate it to make it usable
250
- if ((currentState === undefined || !isStateValid(currentState)) && route?.params?.state == null && !(typeof route?.params?.screen === 'string' && route?.params?.initial !== false)) {
266
+ if ((currentState === undefined || !isStateValid(currentState)) && route?.params?.state == null && !(typeof route?.params?.screen === 'string' && route?.params?.initial !== false) && !isNestedParamsConsumed) {
251
267
  return [undefined, router.getInitialState({
252
268
  routeNames,
253
269
  routeParamList: initialRouteParamList,
254
270
  routeGetIdList
255
- }), true];
271
+ }), true, undefined];
256
272
  } else {
257
- const stateFromParams = getStateFromParams(route?.params);
273
+ const paramsForState = isNestedParamsConsumed ? undefined : route?.params;
274
+ const stateFromParams = paramsForState ? getStateFromParams(paramsForState) : undefined;
258
275
  const stateBeforeInitialization = stateFromParams ?? currentState;
259
- const hydratedState = router.getRehydratedState(stateBeforeInitialization, {
276
+ const hydratedState = stateBeforeInitialization == null ? router.getInitialState({
277
+ routeNames,
278
+ routeParamList: initialRouteParamList,
279
+ routeGetIdList
280
+ }) : router.getRehydratedState(stateBeforeInitialization, {
260
281
  routeNames,
261
282
  routeParamList: initialRouteParamList,
262
283
  routeGetIdList
263
284
  });
264
- if (options.routeNamesChangeBehavior === 'lastUnhandled' && doesStateHaveOnlyInvalidRoutes(stateBeforeInitialization)) {
265
- return [stateBeforeInitialization, hydratedState, true];
285
+ if (stateBeforeInitialization != null && options.routeNamesChangeBehavior === 'lastUnhandled' && doesStateHaveOnlyInvalidRoutes(stateBeforeInitialization)) {
286
+ return [stateBeforeInitialization, hydratedState, true, paramsForState];
266
287
  }
267
- return [undefined, hydratedState, false];
288
+ return [undefined, hydratedState, false, paramsForState];
268
289
  }
269
290
  // We explicitly don't include routeNames, route.params etc. in the dep list
270
291
  // below. We want to avoid forcing a new state to be calculated in those cases
@@ -314,23 +335,22 @@ export function useNavigationBuilder(createRouter, options) {
314
335
  routeKeyChanges: Object.keys(routeKeyList).filter(name => name in previousRouteKeyList && routeKeyList[name] !== previousRouteKeyList[name])
315
336
  });
316
337
  }
317
- const previousNestedParamsRef = React.useRef(route?.params);
318
- React.useEffect(() => {
319
- previousNestedParamsRef.current = route?.params;
320
- }, [route?.params]);
321
- if (route?.params) {
322
- const previousParams = previousNestedParamsRef.current;
338
+ let didConsumeNestedParams = route?.params === paramsUsedForInitialization;
339
+ if (route?.params && !didConsumeNestedParams) {
323
340
  let action;
324
- if (typeof route.params.state === 'object' && route.params.state != null && route.params !== previousParams) {
325
- if (options.routeNamesChangeBehavior === 'lastUnhandled' && doesStateHaveOnlyInvalidRoutes(route.params.state)) {
326
- if (route.params.state !== unhandledState) {
327
- setUnhandledState(route.params.state);
341
+ const stateFromParams = route.params.state;
342
+ if (isNavigationState(stateFromParams) && !isNestedParamsConsumed) {
343
+ didConsumeNestedParams = true;
344
+ if (options.routeNamesChangeBehavior === 'lastUnhandled' && doesStateHaveOnlyInvalidRoutes(stateFromParams)) {
345
+ if (stateFromParams !== unhandledState) {
346
+ setUnhandledState(stateFromParams);
328
347
  }
329
348
  } else {
330
349
  // If the route was updated with new state, we should reset to it
331
- action = CommonActions.reset(route.params.state);
350
+ action = CommonActions.reset(stateFromParams);
332
351
  }
333
- } else if (typeof route.params.screen === 'string' && (route.params.initial === false && isFirstStateInitialization || route.params !== previousParams)) {
352
+ } else if (typeof route.params.screen === 'string' && (route.params.initial === false && isFirstStateInitialization || !isNestedParamsConsumed)) {
353
+ didConsumeNestedParams = true;
334
354
  if (options.routeNamesChangeBehavior === 'lastUnhandled' && !routeNames.includes(route.params.screen)) {
335
355
  const state = getStateFromParams(route.params);
336
356
  if (state != null && !deepEqual(state, unhandledState)) {
@@ -360,10 +380,16 @@ export function useNavigationBuilder(createRouter, options) {
360
380
  routeGetIdList
361
381
  }) : nextState;
362
382
  }
363
- const shouldUpdate = state !== nextState || typeof route?.params?.state === 'object' || typeof route?.params?.screen === 'string';
383
+ const setConsumedParams = consumedParams?.setConsumed;
384
+ React.useEffect(() => {
385
+ if (setConsumedParams && didConsumeNestedParams && typeof route?.params === 'object' && route.params != null) {
386
+ setConsumedParams(route.params);
387
+ }
388
+ }, [didConsumeNestedParams, route?.params, setConsumedParams]);
389
+ const shouldUpdate = state !== nextState;
364
390
  useScheduleUpdate(() => {
365
391
  if (shouldUpdate) {
366
- // If the state needs to be updated, we'll schedule an update
392
+ // Schedule an update if the state needs to be updated
367
393
  setState(nextState);
368
394
  if (shouldClearUnhandledState) {
369
395
  setUnhandledState(undefined);
@@ -375,23 +401,37 @@ export function useNavigationBuilder(createRouter, options) {
375
401
  // We can't use the outdated state since the screens have changed, which will cause error due to mismatched config
376
402
  // So we override the state object we return to use the latest state as soon as possible
377
403
  state = nextState;
404
+
405
+ // Last state to reuse if component gets cleaned up due to `<Activity mode="hidden">`
406
+ React.useEffect(() => {
407
+ lastStateRef.current = state;
408
+ });
409
+ const lastNotifiedStateRef = React.useRef(null);
378
410
  React.useEffect(() => {
379
411
  // In strict mode, React will double-invoke effects.
380
412
  // So we need to reset the flag if component was not unmounted
381
- stateCleanedUp.current = false;
413
+ stateCleanupRef.current = false;
382
414
  setKey(navigatorKey);
383
- if (!getIsInitial()) {
415
+ if (!getIsInitial() && lastNotifiedStateRef.current !== state) {
384
416
  // If it's not initial render, we need to update the state
385
417
  // This will make sure that our container gets notifier of state changes due to new mounts
386
418
  // This is necessary for proper screen tracking, URL updates etc.
387
- setState(nextState);
419
+ // We only notify if the state is different what we already notified
420
+ // Otherwise this goes into a loop when inside `<Activity mode="hidden">`
421
+ setState(state);
422
+ lastNotifiedStateRef.current = state;
388
423
  }
389
424
  return () => {
390
425
  // We need to clean up state for this navigator on unmount
391
426
  if (getCurrentState() !== undefined && getKey() === navigatorKey) {
392
427
  setCurrentState(undefined);
393
- stateCleanedUp.current = true;
428
+ stateCleanupRef.current = true;
394
429
  }
430
+
431
+ // Reset so that StrictMode's second mount re-propagates state correctly.
432
+ // Without this, the guard above sees the same reference and skips setState,
433
+ // causing the initial state to be lost after cleanup wipes the container state.
434
+ lastNotifiedStateRef.current = null;
395
435
  };
396
436
  // eslint-disable-next-line react-hooks/exhaustive-deps
397
437
  }, []);
@@ -410,6 +450,9 @@ export function useNavigationBuilder(createRouter, options) {
410
450
  const currentState = getCurrentState();
411
451
  return deepFreeze(isStateInitialized(currentState) ? currentState : initializedState);
412
452
  });
453
+ const {
454
+ onEmitEvent
455
+ } = React.use(NavigationBuilderContext);
413
456
  const emitter = useEventEmitter(e => {
414
457
  const routeNames = [];
415
458
  let route;
@@ -425,25 +468,38 @@ export function useNavigationBuilder(createRouter, options) {
425
468
  if (route == null) {
426
469
  return;
427
470
  }
428
- const navigation = descriptors[route.key].navigation;
429
- const listeners = [].concat(
430
- // Get an array of listeners for all screens + common listeners on navigator
431
- ...[screenListeners, ...routeNames.map(name => {
432
- const {
433
- listeners
434
- } = screens[name].props;
435
- return listeners;
436
- })].map(listeners => {
437
- const map = typeof listeners === 'function' ? listeners({
438
- route: route,
439
- navigation
440
- }) : listeners;
441
- return map ? Object.keys(map).filter(type => type === e.type).map(type => map?.[type]) : undefined;
442
- }))
443
- // We don't want same listener to be called multiple times for same event
444
- // So we remove any duplicate functions from the array
445
- .filter((cb, i, self) => cb && self.lastIndexOf(cb) === i);
446
- listeners.forEach(listener => listener?.(e));
471
+ const hasPerScreenListeners = routeNames.some(name => screens[name]?.props.listeners != null);
472
+ if (screenListeners != null || hasPerScreenListeners) {
473
+ const descriptor = descriptors[route.key];
474
+ if (descriptor == null) {
475
+ throw new Error(`Couldn't find a descriptor for route '${route.key}'.`);
476
+ }
477
+ const navigation = descriptor.navigation;
478
+ const listeners = [].concat(
479
+ // Get an array of listeners for all screens + common listeners on navigator
480
+ ...[screenListeners, ...routeNames.map(name => {
481
+ const {
482
+ listeners
483
+ } = screens[name]?.props ?? {};
484
+ return listeners;
485
+ })].map(listeners => {
486
+ const map = typeof listeners === 'function' ? listeners({
487
+ route: route,
488
+ navigation
489
+ }) : listeners;
490
+ return map ? Object.keys(map).filter(type => type === e.type).map(type => map?.[type]) : undefined;
491
+ }))
492
+ // We don't want same listener to be called multiple times for same event
493
+ // So we remove any duplicate functions from the array
494
+ .filter((cb, i, self) => cb && self.lastIndexOf(cb) === i);
495
+ listeners.forEach(listener => listener?.(e));
496
+ }
497
+ onEmitEvent({
498
+ type: e.type,
499
+ data: e.data,
500
+ target: e.target,
501
+ defaultPrevented: e.defaultPrevented
502
+ });
447
503
  });
448
504
  useFocusEvents({
449
505
  state,
@@ -485,7 +541,7 @@ export function useNavigationBuilder(createRouter, options) {
485
541
  getState,
486
542
  setState
487
543
  });
488
- const onUnhandledActionParent = React.useContext(UnhandledActionContext);
544
+ const onUnhandledActionParent = React.use(UnhandledActionContext);
489
545
  const onUnhandledAction = useLatestCallback(action => {
490
546
  if (options.routeNamesChangeBehavior === 'lastUnhandled' && action.type === 'NAVIGATE' && action.payload != null && 'name' in action.payload && typeof action.payload.name === 'string' && !routeNames.includes(action.payload.name)) {
491
547
  const state = {
@@ -516,7 +572,7 @@ export function useNavigationBuilder(createRouter, options) {
516
572
  getStateListeners: keyedListeners.getState
517
573
  });
518
574
  const descriptors = useDescriptors({
519
- routes: router.getRoutesFromState ? router.getRoutesFromState(state) : state.routes,
575
+ routes: state.routes,
520
576
  screens,
521
577
  navigation,
522
578
  screenOptions,
@@ -531,12 +587,11 @@ export function useNavigationBuilder(createRouter, options) {
531
587
  // @ts-expect-error: this should have both core and custom events, but too much work right now
532
588
  emitter
533
589
  });
534
- useCurrentRender({
535
- state,
536
- navigation,
537
- descriptors
538
- });
539
590
  const NavigationContent = useComponent(children => {
591
+ const focusedRoute = state.routes[state.index];
592
+ if (focusedRoute == null) {
593
+ throw new Error(`Couldn't find a route at index ${state.index}.`);
594
+ }
540
595
  const element = layout != null ? layout({
541
596
  state,
542
597
  descriptors,
@@ -549,8 +604,11 @@ export function useNavigationBuilder(createRouter, options) {
549
604
  value: navigation,
550
605
  children: /*#__PURE__*/_jsx(NavigationStateListenerProvider, {
551
606
  state: state,
552
- children: /*#__PURE__*/_jsx(PreventRemoveProvider, {
553
- children: element
607
+ children: /*#__PURE__*/_jsx(FocusedRouteKeyContext.Provider, {
608
+ value: focusedRoute.key,
609
+ children: /*#__PURE__*/_jsx(PreventRemoveProvider, {
610
+ children: element
611
+ })
554
612
  })
555
613
  })
556
614
  })
@@ -1 +1 @@
1
- {"version":3,"names":["CommonActions","deepEqual","React","isValidElementType","useLatestCallback","deepFreeze","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationMetaContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","UnhandledActionContext","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useKeyedChildListeners","useLazyValue","useNavigationHelpers","NavigationStateListenerProvider","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","jsx","_jsx","isScreen","child","type","isGroup","Fragment","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","groupLayout","configs","Children","toArray","reduce","acc","isValidElement","props","Error","name","JSON","stringify","navigationKey","push","keys","options","layout","screenOptions","screenLayout","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","getStateFromParams","params","state","screen","initial","routes","path","useNavigationBuilder","createRouter","navigatorKey","route","useContext","screenListeners","router","routerOverrides","rest","routeConfigs","initialRouteName","every","original","overrides","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","doesStateHaveOnlyInvalidRoutes","r","includes","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","useRef","current","stateBeforeInitialization","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","stateFromParams","hydratedState","getRehydratedState","routeNamesChangeBehavior","previousRouteKeyListRef","useEffect","previousRouteKeyList","unhandledState","setUnhandledState","useState","nextState","shouldClearUnhandledState","getStateForRouteNamesChange","routeKeyChanges","filter","previousNestedParamsRef","previousParams","action","reset","navigate","merge","pop","updatedState","getStateForAction","shouldUpdate","stateRef","useLayoutEffect","emitter","e","target","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","onUnhandledActionParent","onUnhandledAction","payload","focusedListeners","focus","getStateListeners","getRoutesFromState","NavigationContent","element","Provider","value"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CommonActions","deepEqual","React","isValidElementType","useLatestCallback","ConsumedParamsContext","deepFreeze","Group","isArrayEqual","isRecordEqual","NavigationBuilderContext","NavigationHelpersContext","NavigationMetaContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","UnhandledActionContext","useChildListeners","useComponent","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","FocusedRouteKeyContext","useKeyedChildListeners","useLazyValue","useNavigationHelpers","NavigationStateListenerProvider","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","jsx","_jsx","isNavigationState","state","Array","isArray","routes","isScreen","child","type","isGroup","Fragment","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","groupLayout","configs","Children","toArray","reduce","acc","isValidElement","props","Error","name","JSON","stringify","navigationKey","push","keys","options","layout","screenOptions","screenLayout","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","getStateFromParams","params","screen","initial","path","useNavigationBuilder","createRouter","navigatorKey","route","use","consumedParams","isNestedParamsConsumed","isConsumed","screenListeners","router","routerOverrides","rest","routeConfigs","initialRouteName","every","original","overrides","routeNames","map","length","screens","routeKeyList","routeParamList","routeGetIdList","join","initialParams","Object","assign","getId","isStateValid","useCallback","isStateInitialized","stale","doesStateHaveOnlyInvalidRoutes","r","includes","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanupRef","useRef","lastStateRef","current","stateBeforeInitialization","initializedState","isFirstStateInitialization","paramsUsedForInitialization","useMemo","getRehydratedState","initialRouteParamList","curr","initialParamsFromParams","getInitialState","paramsForState","stateFromParams","hydratedState","routeNamesChangeBehavior","previousRouteKeyListRef","useEffect","previousRouteKeyList","unhandledState","setUnhandledState","useState","nextState","shouldClearUnhandledState","getStateForRouteNamesChange","routeKeyChanges","filter","didConsumeNestedParams","action","reset","navigate","merge","pop","updatedState","getStateForAction","setConsumedParams","setConsumed","shouldUpdate","lastNotifiedStateRef","stateRef","useLayoutEffect","onEmitEvent","emitter","e","target","find","index","hasPerScreenListeners","some","listeners","descriptor","descriptors","navigation","concat","cb","i","self","lastIndexOf","listener","data","defaultPrevented","emit","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","onUnhandledActionParent","onUnhandledAction","payload","focusedListeners","focus","getStateListeners","NavigationContent","focusedRoute","element","Provider","value"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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","ignoreList":[]}
@@ -17,10 +17,10 @@ export function useNavigationCache({
17
17
  router,
18
18
  emitter
19
19
  }) {
20
- const parentNavigationHelpers = React.useContext(NavigationContext);
20
+ const parentNavigationHelpers = React.use(NavigationContext);
21
21
  const {
22
22
  stackRef
23
- } = React.useContext(NavigationBuilderContext);
23
+ } = React.use(NavigationBuilderContext);
24
24
 
25
25
  // Cache object which holds navigation objects for each screen
26
26
  // We use `React.useMemo` instead of `React.useRef` coz we want to invalidate it when deps change
@@ -104,7 +104,7 @@ export function useNavigationCache({
104
104
  },
105
105
  isFocused: () => {
106
106
  const state = rest.getState();
107
- if (state.routes[state.index].key !== route.key) {
107
+ if (state.routes[state.index]?.key !== route.key) {
108
108
  return false;
109
109
  }
110
110
 
@@ -1 +1 @@
1
- {"version":3,"names":["CommonActions","React","NavigationBuilderContext","NavigationContext","useNavigationCache","routes","getState","navigation","setOptions","router","emitter","parentNavigationHelpers","useContext","stackRef","cache","useMemo","current","reduce","acc","route","previous","key","dispatch","thunk","action","source","withStack","callback","isStackSet","process","env","NODE_ENV","Error","stack","undefined","actions","actionCreators","helpers","Object","keys","name","args","emit","rest","create","getParent","routeName","options","o","isFocused","state","index"],"sourceRoot":"../../src","sources":["useNavigationCache.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CommonActions","React","NavigationBuilderContext","NavigationContext","useNavigationCache","routes","getState","navigation","setOptions","router","emitter","parentNavigationHelpers","use","stackRef","cache","useMemo","current","reduce","acc","route","previous","key","dispatch","thunk","action","source","withStack","callback","isStackSet","process","env","NODE_ENV","Error","stack","undefined","actions","actionCreators","helpers","Object","keys","name","args","emit","rest","create","getParent","routeName","options","o","isFocused","state","index"],"sourceRoot":"../../src","sources":["useNavigationCache.tsx"],"mappings":"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","ignoreList":[]}
@@ -19,7 +19,7 @@ export function useNavigationHelpers({
19
19
  router,
20
20
  stateRef
21
21
  }) {
22
- const parentNavigationHelpers = React.useContext(NavigationContext);
22
+ const parentNavigationHelpers = React.use(NavigationContext);
23
23
  return React.useMemo(() => {
24
24
  const dispatch = op => {
25
25
  const action = typeof op === 'function' ? op(getState()) : op;
@@ -1 +1 @@
1
- {"version":3,"names":["CommonActions","React","NavigationContext","PrivateValueStore","useNavigationHelpers","onAction","onUnhandledAction","getState","emitter","router","stateRef","parentNavigationHelpers","useContext","useMemo","dispatch","op","action","handled","actions","actionCreators","helpers","Object","keys","reduce","acc","name","args","navigationHelpers","emit","isFocused","canGoBack","state","getStateForAction","goBack","routeNames","routeParamList","routeGetIdList","current"],"sourceRoot":"../../src","sources":["useNavigationHelpers.tsx"],"mappings":";;AAAA,SACEA,aAAa,QAKR,2BAA2B;AAClC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAE9B,SAASC,iBAAiB,QAAQ,yBAAsB;AACxD,SAAiCC,iBAAiB,QAAQ,YAAS;AAGnE;AACA;AACAA,iBAAiB;AAWjB;AACA;AACA;AACA;AACA,OAAO,SAASC,oBAAoBA,CAKlC;EACAC,QAAQ;EACRC,iBAAiB;EACjBC,QAAQ;EACRC,OAAO;EACPC,MAAM;EACNC;AACsB,CAAC,EAAE;EACzB,MAAMC,uBAAuB,GAAGV,KAAK,CAACW,UAAU,CAACV,iBAAiB,CAAC;EAEnE,OAAOD,KAAK,CAACY,OAAO,CAAC,MAAM;IACzB,MAAMC,QAAQ,GAAIC,EAAuC,IAAK;MAC5D,MAAMC,MAAM,GAAG,OAAOD,EAAE,KAAK,UAAU,GAAGA,EAAE,CAACR,QAAQ,CAAC,CAAC,CAAC,GAAGQ,EAAE;MAE7D,MAAME,OAAO,GAAGZ,QAAQ,CAACW,MAAM,CAAC;MAEhC,IAAI,CAACC,OAAO,EAAE;QACZX,iBAAiB,GAAGU,MAAM,CAAC;MAC7B;IACF,CAAC;IAED,MAAME,OAAO,GAAG;MACd,GAAGT,MAAM,CAACU,cAAc;MACxB,GAAGnB;IACL,CAAC;IAED,MAAMoB,OAAO,GAAGC,MAAM,CAACC,IAAI,CAACJ,OAAO,CAAC,CAACK,MAAM,CAAC,CAACC,GAAG,EAAEC,IAAI,KAAK;MACzD;MACAD,GAAG,CAACC,IAAI,CAAC,GAAG,CAAC,GAAGC,IAAS,KAAKZ,QAAQ,CAACI,OAAO,CAACO,IAAI,CAAC,CAAC,GAAGC,IAAI,CAAC,CAAC;MAC9D,OAAOF,GAAG;IACZ,CAAC,EAAE,CAAC,CAAkB,CAAC;IAEvB,MAAMG,iBAAiB,GAAG;MACxB,GAAGhB,uBAAuB;MAC1B,GAAGS,OAAO;MACVN,QAAQ;MACRc,IAAI,EAAEpB,OAAO,CAACoB,IAAI;MAClBC,SAAS,EAAElB,uBAAuB,GAC9BA,uBAAuB,CAACkB,SAAS,GACjC,MAAM,IAAI;MACdC,SAAS,EAAEA,CAAA,KAAM;QACf,MAAMC,KAAK,GAAGxB,QAAQ,CAAC,CAAC;QAExB,OACEE,MAAM,CAACuB,iBAAiB,CAACD,KAAK,EAAE/B,aAAa,CAACiC,MAAM,CAAC,CAAC,EAAY;UAChEC,UAAU,EAAEH,KAAK,CAACG,UAAU;UAC5BC,cAAc,EAAE,CAAC,CAAC;UAClBC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,KAAK,IAAI,IACXzB,uBAAuB,EAAEmB,SAAS,CAAC,CAAC,IACpC,KAAK;MAET,CAAC;MACDvB,QAAQ,EAAEA,CAAA,KAAa;QACrB;QACA;QACA;QACA;QACA;QACA,IAAIG,QAAQ,CAAC2B,OAAO,IAAI,IAAI,EAAE;UAC5B,OAAO3B,QAAQ,CAAC2B,OAAO;QACzB;QAEA,OAAO9B,QAAQ,CAAC,CAAC;MACnB;IACF,CAA+D;IAE/D,OAAOoB,iBAAiB;EAC1B,CAAC,EAAE,CACDlB,MAAM,EACNE,uBAAuB,EACvBH,OAAO,CAACoB,IAAI,EACZrB,QAAQ,EACRF,QAAQ,EACRC,iBAAiB,EACjBI,QAAQ,CACT,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["CommonActions","React","NavigationContext","PrivateValueStore","useNavigationHelpers","onAction","onUnhandledAction","getState","emitter","router","stateRef","parentNavigationHelpers","use","useMemo","dispatch","op","action","handled","actions","actionCreators","helpers","Object","keys","reduce","acc","name","args","navigationHelpers","emit","isFocused","canGoBack","state","getStateForAction","goBack","routeNames","routeParamList","routeGetIdList","current"],"sourceRoot":"../../src","sources":["useNavigationHelpers.tsx"],"mappings":";;AAAA,SACEA,aAAa,QAKR,2BAA2B;AAClC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAE9B,SAASC,iBAAiB,QAAQ,yBAAsB;AACxD,SAAiCC,iBAAiB,QAAQ,YAAS;AAGnE;AACA;AACAA,iBAAiB;AAWjB;AACA;AACA;AACA;AACA,OAAO,SAASC,oBAAoBA,CAKlC;EACAC,QAAQ;EACRC,iBAAiB;EACjBC,QAAQ;EACRC,OAAO;EACPC,MAAM;EACNC;AACsB,CAAC,EAAE;EACzB,MAAMC,uBAAuB,GAAGV,KAAK,CAACW,GAAG,CAACV,iBAAiB,CAAC;EAE5D,OAAOD,KAAK,CAACY,OAAO,CAAC,MAAM;IACzB,MAAMC,QAAQ,GAAIC,EAAuC,IAAK;MAC5D,MAAMC,MAAM,GAAG,OAAOD,EAAE,KAAK,UAAU,GAAGA,EAAE,CAACR,QAAQ,CAAC,CAAC,CAAC,GAAGQ,EAAE;MAE7D,MAAME,OAAO,GAAGZ,QAAQ,CAACW,MAAM,CAAC;MAEhC,IAAI,CAACC,OAAO,EAAE;QACZX,iBAAiB,GAAGU,MAAM,CAAC;MAC7B;IACF,CAAC;IAED,MAAME,OAAO,GAAG;MACd,GAAGT,MAAM,CAACU,cAAc;MACxB,GAAGnB;IACL,CAAC;IAED,MAAMoB,OAAO,GAAGC,MAAM,CAACC,IAAI,CAACJ,OAAO,CAAC,CAACK,MAAM,CAAC,CAACC,GAAG,EAAEC,IAAI,KAAK;MACzD;MACAD,GAAG,CAACC,IAAI,CAAC,GAAG,CAAC,GAAGC,IAAS,KAAKZ,QAAQ,CAACI,OAAO,CAACO,IAAI,CAAC,CAAC,GAAGC,IAAI,CAAC,CAAC;MAC9D,OAAOF,GAAG;IACZ,CAAC,EAAE,CAAC,CAAkB,CAAC;IAEvB,MAAMG,iBAAiB,GAAG;MACxB,GAAGhB,uBAAuB;MAC1B,GAAGS,OAAO;MACVN,QAAQ;MACRc,IAAI,EAAEpB,OAAO,CAACoB,IAAI;MAClBC,SAAS,EAAElB,uBAAuB,GAC9BA,uBAAuB,CAACkB,SAAS,GACjC,MAAM,IAAI;MACdC,SAAS,EAAEA,CAAA,KAAM;QACf,MAAMC,KAAK,GAAGxB,QAAQ,CAAC,CAAC;QAExB,OACEE,MAAM,CAACuB,iBAAiB,CAACD,KAAK,EAAE/B,aAAa,CAACiC,MAAM,CAAC,CAAC,EAAY;UAChEC,UAAU,EAAEH,KAAK,CAACG,UAAU;UAC5BC,cAAc,EAAE,CAAC,CAAC;UAClBC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,KAAK,IAAI,IACXzB,uBAAuB,EAAEmB,SAAS,CAAC,CAAC,IACpC,KAAK;MAET,CAAC;MACDvB,QAAQ,EAAEA,CAAA,KAAa;QACrB;QACA;QACA;QACA;QACA;QACA,IAAIG,QAAQ,CAAC2B,OAAO,IAAI,IAAI,EAAE;UAC5B,OAAO3B,QAAQ,CAAC2B,OAAO;QACzB;QAEA,OAAO9B,QAAQ,CAAC,CAAC;MACnB;IACF,CAA+D;IAE/D,OAAOoB,iBAAiB;EAC1B,CAAC,EAAE,CACDlB,MAAM,EACNE,uBAAuB,EACvBH,OAAO,CAACoB,IAAI,EACZrB,QAAQ,EACRF,QAAQ,EACRC,iBAAiB,EACjBI,QAAQ,CACT,CAAC;AACJ","ignoreList":[]}
@@ -3,6 +3,6 @@
3
3
  import * as React from 'react';
4
4
  import { NavigationIndependentTreeContext } from "./NavigationIndependentTreeContext.js";
5
5
  export function useNavigationIndependentTree() {
6
- return React.useContext(NavigationIndependentTreeContext);
6
+ return React.use(NavigationIndependentTreeContext);
7
7
  }
8
8
  //# sourceMappingURL=useNavigationIndependentTree.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","NavigationIndependentTreeContext","useNavigationIndependentTree","useContext"],"sourceRoot":"../../src","sources":["useNavigationIndependentTree.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,gCAAgC,QAAQ,uCAAoC;AAErF,OAAO,SAASC,4BAA4BA,CAAA,EAAG;EAC7C,OAAOF,KAAK,CAACG,UAAU,CAACF,gCAAgC,CAAC;AAC3D","ignoreList":[]}
1
+ {"version":3,"names":["React","NavigationIndependentTreeContext","useNavigationIndependentTree","use"],"sourceRoot":"../../src","sources":["useNavigationIndependentTree.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,gCAAgC,QAAQ,uCAAoC;AAErF,OAAO,SAASC,4BAA4BA,CAAA,EAAG;EAC7C,OAAOF,KAAK,CAACG,GAAG,CAACF,gCAAgC,CAAC;AACpD","ignoreList":[]}