@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
@@ -18,8 +18,8 @@ export function useNavigationState(...args) {
18
18
  let navigation, stateListener, selector;
19
19
  if (typeof args[0] === 'string') {
20
20
  // `useNavigation` uses `use` internally, so it's fine to call it conditionally
21
- // @ts-expect-error we can't specify the type here
22
- // eslint-disable-next-line react-hooks/rules-of-hooks
21
+ // Cast to a non-generic signature to skip overload resolution - otherwise TS
22
+ // eagerly expands `NavigationListForNested<RootNavigator>` at this call site.
23
23
  navigation = useNavigation(args[0]);
24
24
  selector = args[1];
25
25
  } else {
@@ -57,14 +57,16 @@ export function NavigationStateListenerProvider({
57
57
  children
58
58
  }) {
59
59
  const listeners = React.useRef([]);
60
- const getState = useLatestCallback(() => state);
60
+ const stateRef = React.useRef(state);
61
+ const getState = useLatestCallback(() => stateRef.current);
61
62
  const subscribe = useLatestCallback(callback => {
62
63
  listeners.current.push(callback);
63
64
  return () => {
64
65
  listeners.current = listeners.current.filter(cb => cb !== callback);
65
66
  };
66
67
  });
67
- React.useEffect(() => {
68
+ React.useLayoutEffect(() => {
69
+ stateRef.current = state;
68
70
  listeners.current.forEach(callback => callback());
69
71
  }, [state]);
70
72
  const context = React.useMemo(() => ({
@@ -1 +1 @@
1
- {"version":3,"names":["React","useLatestCallback","useSyncExternalStoreWithSelector","useNavigation","jsx","_jsx","useNavigationState","args","navigation","stateListener","selector","use","NavigationStateListenerContext","Error","subscribe","useCallback","callback","addListener","getSnapshot","getState","value","NavigationStateListenerProvider","state","children","listeners","useRef","current","push","filter","cb","useEffect","forEach","context","useMemo","Provider","createContext","undefined"],"sourceRoot":"../../src","sources":["useNavigationState.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useLatestCallback","useSyncExternalStoreWithSelector","useNavigation","jsx","_jsx","useNavigationState","args","navigation","stateListener","selector","use","NavigationStateListenerContext","Error","subscribe","useCallback","callback","addListener","getSnapshot","getState","value","NavigationStateListenerProvider","state","children","listeners","useRef","stateRef","current","push","filter","cb","useLayoutEffect","forEach","context","useMemo","Provider","createContext","undefined"],"sourceRoot":"../../src","sources":["useNavigationState.tsx"],"mappings":"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","ignoreList":[]}
@@ -27,7 +27,7 @@ export function useOnAction({
27
27
  onRouteFocus: onRouteFocusParent,
28
28
  addListener: addListenerParent,
29
29
  onDispatchAction
30
- } = React.useContext(NavigationBuilderContext);
30
+ } = React.use(NavigationBuilderContext);
31
31
  const routerConfigOptionsRef = React.useRef(routerConfigOptions);
32
32
  React.useEffect(() => {
33
33
  routerConfigOptionsRef.current = routerConfigOptions;
@@ -77,7 +77,7 @@ export function useOnAction({
77
77
  // If the action wasn't handled by current navigator or a parent navigator, let children handle it
78
78
  for (let i = actionListeners.length - 1; i >= 0; i--) {
79
79
  const listener = actionListeners[i];
80
- if (listener(action, visitedNavigators)) {
80
+ if (listener?.(action, visitedNavigators)) {
81
81
  return true;
82
82
  }
83
83
  }
@@ -89,7 +89,7 @@ export function useOnAction({
89
89
  emitter,
90
90
  beforeRemoveListeners
91
91
  });
92
- React.useEffect(() => addListenerParent?.('action', onAction), [addListenerParent, onAction]);
92
+ React.useInsertionEffect(() => addListenerParent?.('action', onAction), [addListenerParent, onAction]);
93
93
  return onAction;
94
94
  }
95
95
  //# sourceMappingURL=useOnAction.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","NavigationBuilderContext","shouldPreventRemove","useOnPreventRemove","useOnAction","router","getState","setState","key","actionListeners","beforeRemoveListeners","routerConfigOptions","emitter","onAction","onActionParent","onRouteFocus","onRouteFocusParent","addListener","addListenerParent","onDispatchAction","useContext","routerConfigOptionsRef","useRef","useEffect","current","useCallback","action","visitedNavigators","Set","state","has","add","target","result","getStateForAction","isPrevented","routes","undefined","shouldFocus","shouldActionChangeFocus","i","length","listener"],"sourceRoot":"../../src","sources":["useOnAction.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","NavigationBuilderContext","shouldPreventRemove","useOnPreventRemove","useOnAction","router","getState","setState","key","actionListeners","beforeRemoveListeners","routerConfigOptions","emitter","onAction","onActionParent","onRouteFocus","onRouteFocusParent","addListener","addListenerParent","onDispatchAction","use","routerConfigOptionsRef","useRef","useEffect","current","useCallback","action","visitedNavigators","Set","state","has","add","target","result","getStateForAction","isPrevented","routes","undefined","shouldFocus","shouldActionChangeFocus","i","length","listener","useInsertionEffect"],"sourceRoot":"../../src","sources":["useOnAction.tsx"],"mappings":"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","ignoreList":[]}
@@ -10,8 +10,8 @@ export function useOnGetState({
10
10
  }) {
11
11
  const {
12
12
  addKeyedListener
13
- } = React.useContext(NavigationBuilderContext);
14
- const route = React.useContext(NavigationRouteContext);
13
+ } = React.use(NavigationBuilderContext);
14
+ const route = React.use(NavigationRouteContext);
15
15
  const key = route ? route.key : 'root';
16
16
  const getRehydratedState = React.useCallback(() => {
17
17
  const state = getState();
@@ -35,7 +35,10 @@ export function useOnGetState({
35
35
  routes
36
36
  };
37
37
  }, [getState, getStateListeners]);
38
- React.useEffect(() => {
38
+
39
+ // Use insertion effect to preserve the listener under `<Activity mode="hidden">`
40
+ // So `getRootState` will still return state of nested navigators
41
+ React.useInsertionEffect(() => {
39
42
  return addKeyedListener?.('getState', key, getRehydratedState);
40
43
  }, [addKeyedListener, getRehydratedState, key]);
41
44
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","isArrayEqual","NavigationBuilderContext","NavigationRouteContext","useOnGetState","getState","getStateListeners","addKeyedListener","useContext","route","key","getRehydratedState","useCallback","state","routes","map","childState","useEffect"],"sourceRoot":"../../src","sources":["useOnGetState.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAEEC,wBAAwB,QACnB,+BAA4B;AACnC,SAASC,sBAAsB,QAAQ,yBAAsB;AAO7D,OAAO,SAASC,aAAaA,CAAC;EAAEC,QAAQ;EAAEC;AAA2B,CAAC,EAAE;EACtE,MAAM;IAAEC;EAAiB,CAAC,GAAGP,KAAK,CAACQ,UAAU,CAACN,wBAAwB,CAAC;EACvE,MAAMO,KAAK,GAAGT,KAAK,CAACQ,UAAU,CAACL,sBAAsB,CAAC;EACtD,MAAMO,GAAG,GAAGD,KAAK,GAAGA,KAAK,CAACC,GAAG,GAAG,MAAM;EAEtC,MAAMC,kBAAkB,GAAGX,KAAK,CAACY,WAAW,CAAC,MAAM;IACjD,MAAMC,KAAK,GAAGR,QAAQ,CAAC,CAAC;;IAExB;IACA,MAAMS,MAAM,GAAGD,KAAK,CAACC,MAAM,CAACC,GAAG,CAAEN,KAAK,IAAK;MACzC,MAAMO,UAAU,GAAGV,iBAAiB,CAACG,KAAK,CAACC,GAAG,CAAC,GAAG,CAAC;MAEnD,IAAID,KAAK,CAACI,KAAK,KAAKG,UAAU,EAAE;QAC9B,OAAOP,KAAK;MACd;MAEA,OAAO;QAAE,GAAGA,KAAK;QAAEI,KAAK,EAAEG;MAAW,CAAC;IACxC,CAAC,CAAC;IAEF,IAAIf,YAAY,CAACY,KAAK,CAACC,MAAM,EAAEA,MAAM,CAAC,EAAE;MACtC,OAAOD,KAAK;IACd;IAEA,OAAO;MAAE,GAAGA,KAAK;MAAEC;IAAO,CAAC;EAC7B,CAAC,EAAE,CAACT,QAAQ,EAAEC,iBAAiB,CAAC,CAAC;EAEjCN,KAAK,CAACiB,SAAS,CAAC,MAAM;IACpB,OAAOV,gBAAgB,GAAG,UAAU,EAAEG,GAAG,EAAEC,kBAAkB,CAAC;EAChE,CAAC,EAAE,CAACJ,gBAAgB,EAAEI,kBAAkB,EAAED,GAAG,CAAC,CAAC;AACjD","ignoreList":[]}
1
+ {"version":3,"names":["React","isArrayEqual","NavigationBuilderContext","NavigationRouteContext","useOnGetState","getState","getStateListeners","addKeyedListener","use","route","key","getRehydratedState","useCallback","state","routes","map","childState","useInsertionEffect"],"sourceRoot":"../../src","sources":["useOnGetState.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAEEC,wBAAwB,QACnB,+BAA4B;AACnC,SAASC,sBAAsB,QAAQ,yBAAsB;AAO7D,OAAO,SAASC,aAAaA,CAAC;EAAEC,QAAQ;EAAEC;AAA2B,CAAC,EAAE;EACtE,MAAM;IAAEC;EAAiB,CAAC,GAAGP,KAAK,CAACQ,GAAG,CAACN,wBAAwB,CAAC;EAChE,MAAMO,KAAK,GAAGT,KAAK,CAACQ,GAAG,CAACL,sBAAsB,CAAC;EAC/C,MAAMO,GAAG,GAAGD,KAAK,GAAGA,KAAK,CAACC,GAAG,GAAG,MAAM;EAEtC,MAAMC,kBAAkB,GAAGX,KAAK,CAACY,WAAW,CAAC,MAAM;IACjD,MAAMC,KAAK,GAAGR,QAAQ,CAAC,CAAC;;IAExB;IACA,MAAMS,MAAM,GAAGD,KAAK,CAACC,MAAM,CAACC,GAAG,CAAEN,KAAK,IAAK;MACzC,MAAMO,UAAU,GAAGV,iBAAiB,CAACG,KAAK,CAACC,GAAG,CAAC,GAAG,CAAC;MAEnD,IAAID,KAAK,CAACI,KAAK,KAAKG,UAAU,EAAE;QAC9B,OAAOP,KAAK;MACd;MAEA,OAAO;QAAE,GAAGA,KAAK;QAAEI,KAAK,EAAEG;MAAW,CAAC;IACxC,CAAC,CAAC;IAEF,IAAIf,YAAY,CAACY,KAAK,CAACC,MAAM,EAAEA,MAAM,CAAC,EAAE;MACtC,OAAOD,KAAK;IACd;IAEA,OAAO;MAAE,GAAGA,KAAK;MAAEC;IAAO,CAAC;EAC7B,CAAC,EAAE,CAACT,QAAQ,EAAEC,iBAAiB,CAAC,CAAC;;EAEjC;EACA;EACAN,KAAK,CAACiB,kBAAkB,CAAC,MAAM;IAC7B,OAAOV,gBAAgB,GAAG,UAAU,EAAEG,GAAG,EAAEC,kBAAkB,CAAC;EAChE,CAAC,EAAE,CAACJ,gBAAgB,EAAEI,kBAAkB,EAAED,GAAG,CAAC,CAAC;AACjD","ignoreList":[]}
@@ -49,10 +49,10 @@ export function useOnPreventRemove({
49
49
  }) {
50
50
  const {
51
51
  addKeyedListener
52
- } = React.useContext(NavigationBuilderContext);
53
- const route = React.useContext(NavigationRouteContext);
52
+ } = React.use(NavigationBuilderContext);
53
+ const route = React.use(NavigationRouteContext);
54
54
  const routeKey = route?.key;
55
- React.useEffect(() => {
55
+ React.useInsertionEffect(() => {
56
56
  if (routeKey) {
57
57
  return addKeyedListener?.('beforeRemove', routeKey, action => {
58
58
  const state = getState();
@@ -1 +1 @@
1
- {"version":3,"names":["React","NavigationBuilderContext","NavigationRouteContext","VISITED_ROUTE_KEYS","Symbol","shouldPreventRemove","emitter","beforeRemoveListeners","currentRoutes","nextRoutes","action","nextRouteKeys","map","route","key","removedRoutes","filter","includes","reverse","visitedRouteKeys","Set","beforeRemoveAction","has","isPrevented","add","event","emit","type","target","data","canPreventDefault","defaultPrevented","useOnPreventRemove","getState","addKeyedListener","useContext","routeKey","useEffect","state","routes"],"sourceRoot":"../../src","sources":["useOnPreventRemove.tsx"],"mappings":";;AAIA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAEEC,wBAAwB,QACnB,+BAA4B;AACnC,SAASC,sBAAsB,QAAQ,yBAAsB;AAU7D,MAAMC,kBAAkB,GAAGC,MAAM,CAAC,oBAAoB,CAAC;AAEvD,OAAO,MAAMC,mBAAmB,GAAGA,CACjCC,OAAkD,EAClDC,qBAA4E,EAC5EC,aAAgC,EAChCC,UAA0C,EAC1CC,MAAwB,KACrB;EACH,MAAMC,aAAa,GAAGF,UAAU,CAACG,GAAG,CAAEC,KAAK,IAAKA,KAAK,CAACC,GAAG,CAAC;;EAE1D;EACA,MAAMC,aAAa,GAAGP,aAAa,CAChCQ,MAAM,CAAEH,KAAK,IAAK,CAACF,aAAa,CAACM,QAAQ,CAACJ,KAAK,CAACC,GAAG,CAAC,CAAC,CACrDI,OAAO,CAAC,CAAC;EAEZ,MAAMC,gBAA6B;EACjC;EACAT,MAAM,CAACP,kBAAkB,CAAC,IAAI,IAAIiB,GAAG,CAAS,CAAC;EAEjD,MAAMC,kBAAkB,GAAG;IACzB,GAAGX,MAAM;IACT,CAACP,kBAAkB,GAAGgB;EACxB,CAAC;EAED,KAAK,MAAMN,KAAK,IAAIE,aAAa,EAAE;IACjC,IAAII,gBAAgB,CAACG,GAAG,CAACT,KAAK,CAACC,GAAG,CAAC,EAAE;MACnC;MACA;IACF;;IAEA;IACA,MAAMS,WAAW,GAAGhB,qBAAqB,CAACM,KAAK,CAACC,GAAG,CAAC,GAAGO,kBAAkB,CAAC;IAE1E,IAAIE,WAAW,EAAE;MACf,OAAO,IAAI;IACb;IAEAJ,gBAAgB,CAACK,GAAG,CAACX,KAAK,CAACC,GAAG,CAAC;IAE/B,MAAMW,KAAK,GAAGnB,OAAO,CAACoB,IAAI,CAAC;MACzBC,IAAI,EAAE,cAAc;MACpBC,MAAM,EAAEf,KAAK,CAACC,GAAG;MACjBe,IAAI,EAAE;QAAEnB,MAAM,EAAEW;MAAmB,CAAC;MACpCS,iBAAiB,EAAE;IACrB,CAAC,CAAC;IAEF,IAAIL,KAAK,CAACM,gBAAgB,EAAE;MAC1B,OAAO,IAAI;IACb;EACF;EAEA,OAAO,KAAK;AACd,CAAC;AAED,OAAO,SAASC,kBAAkBA,CAAC;EACjCC,QAAQ;EACR3B,OAAO;EACPC;AACO,CAAC,EAAE;EACV,MAAM;IAAE2B;EAAiB,CAAC,GAAGlC,KAAK,CAACmC,UAAU,CAAClC,wBAAwB,CAAC;EACvE,MAAMY,KAAK,GAAGb,KAAK,CAACmC,UAAU,CAACjC,sBAAsB,CAAC;EACtD,MAAMkC,QAAQ,GAAGvB,KAAK,EAAEC,GAAG;EAE3Bd,KAAK,CAACqC,SAAS,CAAC,MAAM;IACpB,IAAID,QAAQ,EAAE;MACZ,OAAOF,gBAAgB,GAAG,cAAc,EAAEE,QAAQ,EAAG1B,MAAM,IAAK;QAC9D,MAAM4B,KAAK,GAAGL,QAAQ,CAAC,CAAC;QAExB,OAAO5B,mBAAmB,CACxBC,OAAO,EACPC,qBAAqB,EACrB+B,KAAK,CAACC,MAAM,EACZ,EAAE,EACF7B,MACF,CAAC;MACH,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACwB,gBAAgB,EAAE3B,qBAAqB,EAAED,OAAO,EAAE2B,QAAQ,EAAEG,QAAQ,CAAC,CAAC;AAC5E","ignoreList":[]}
1
+ {"version":3,"names":["React","NavigationBuilderContext","NavigationRouteContext","VISITED_ROUTE_KEYS","Symbol","shouldPreventRemove","emitter","beforeRemoveListeners","currentRoutes","nextRoutes","action","nextRouteKeys","map","route","key","removedRoutes","filter","includes","reverse","visitedRouteKeys","Set","beforeRemoveAction","has","isPrevented","add","event","emit","type","target","data","canPreventDefault","defaultPrevented","useOnPreventRemove","getState","addKeyedListener","use","routeKey","useInsertionEffect","state","routes"],"sourceRoot":"../../src","sources":["useOnPreventRemove.tsx"],"mappings":";;AAIA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAEEC,wBAAwB,QACnB,+BAA4B;AACnC,SAASC,sBAAsB,QAAQ,yBAAsB;AAU7D,MAAMC,kBAAkB,GAAGC,MAAM,CAAC,oBAAoB,CAAC;AAEvD,OAAO,MAAMC,mBAAmB,GAAGA,CACjCC,OAAkD,EAClDC,qBAA4E,EAC5EC,aAAgC,EAChCC,UAA0C,EAC1CC,MAAwB,KACrB;EACH,MAAMC,aAAa,GAAGF,UAAU,CAACG,GAAG,CAAEC,KAAK,IAAKA,KAAK,CAACC,GAAG,CAAC;;EAE1D;EACA,MAAMC,aAAa,GAAGP,aAAa,CAChCQ,MAAM,CAAEH,KAAK,IAAK,CAACF,aAAa,CAACM,QAAQ,CAACJ,KAAK,CAACC,GAAG,CAAC,CAAC,CACrDI,OAAO,CAAC,CAAC;EAEZ,MAAMC,gBAA6B;EACjC;EACAT,MAAM,CAACP,kBAAkB,CAAC,IAAI,IAAIiB,GAAG,CAAS,CAAC;EAEjD,MAAMC,kBAAkB,GAAG;IACzB,GAAGX,MAAM;IACT,CAACP,kBAAkB,GAAGgB;EACxB,CAAC;EAED,KAAK,MAAMN,KAAK,IAAIE,aAAa,EAAE;IACjC,IAAII,gBAAgB,CAACG,GAAG,CAACT,KAAK,CAACC,GAAG,CAAC,EAAE;MACnC;MACA;IACF;;IAEA;IACA,MAAMS,WAAW,GAAGhB,qBAAqB,CAACM,KAAK,CAACC,GAAG,CAAC,GAAGO,kBAAkB,CAAC;IAE1E,IAAIE,WAAW,EAAE;MACf,OAAO,IAAI;IACb;IAEAJ,gBAAgB,CAACK,GAAG,CAACX,KAAK,CAACC,GAAG,CAAC;IAE/B,MAAMW,KAAK,GAAGnB,OAAO,CAACoB,IAAI,CAAC;MACzBC,IAAI,EAAE,cAAc;MACpBC,MAAM,EAAEf,KAAK,CAACC,GAAG;MACjBe,IAAI,EAAE;QAAEnB,MAAM,EAAEW;MAAmB,CAAC;MACpCS,iBAAiB,EAAE;IACrB,CAAC,CAAC;IAEF,IAAIL,KAAK,CAACM,gBAAgB,EAAE;MAC1B,OAAO,IAAI;IACb;EACF;EAEA,OAAO,KAAK;AACd,CAAC;AAED,OAAO,SAASC,kBAAkBA,CAAC;EACjCC,QAAQ;EACR3B,OAAO;EACPC;AACO,CAAC,EAAE;EACV,MAAM;IAAE2B;EAAiB,CAAC,GAAGlC,KAAK,CAACmC,GAAG,CAAClC,wBAAwB,CAAC;EAChE,MAAMY,KAAK,GAAGb,KAAK,CAACmC,GAAG,CAACjC,sBAAsB,CAAC;EAC/C,MAAMkC,QAAQ,GAAGvB,KAAK,EAAEC,GAAG;EAE3Bd,KAAK,CAACqC,kBAAkB,CAAC,MAAM;IAC7B,IAAID,QAAQ,EAAE;MACZ,OAAOF,gBAAgB,GAAG,cAAc,EAAEE,QAAQ,EAAG1B,MAAM,IAAK;QAC9D,MAAM4B,KAAK,GAAGL,QAAQ,CAAC,CAAC;QAExB,OAAO5B,mBAAmB,CACxBC,OAAO,EACPC,qBAAqB,EACrB+B,KAAK,CAACC,MAAM,EACZ,EAAE,EACF7B,MACF,CAAC;MACH,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACwB,gBAAgB,EAAE3B,qBAAqB,EAAED,OAAO,EAAE2B,QAAQ,EAAEG,QAAQ,CAAC,CAAC;AAC5E","ignoreList":[]}
@@ -15,7 +15,7 @@ export function useOnRouteFocus({
15
15
  }) {
16
16
  const {
17
17
  onRouteFocus: onRouteFocusParent
18
- } = React.useContext(NavigationBuilderContext);
18
+ } = React.use(NavigationBuilderContext);
19
19
  return React.useCallback(key => {
20
20
  const state = getState();
21
21
  const result = router.getStateForRouteFocus(state, key);
@@ -1 +1 @@
1
- {"version":3,"names":["React","NavigationBuilderContext","useOnRouteFocus","router","getState","key","sourceRouteKey","setState","onRouteFocus","onRouteFocusParent","useContext","useCallback","state","result","getStateForRouteFocus","undefined"],"sourceRoot":"../../src","sources":["useOnRouteFocus.tsx"],"mappings":";;AAKA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,wBAAwB,QAAQ,+BAA4B;AASrE;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAAkC;EAC/DC,MAAM;EACNC,QAAQ;EACRC,GAAG,EAAEC,cAAc;EACnBC;AACe,CAAC,EAAE;EAClB,MAAM;IAAEC,YAAY,EAAEC;EAAmB,CAAC,GAAGT,KAAK,CAACU,UAAU,CAC3DT,wBACF,CAAC;EAED,OAAOD,KAAK,CAACW,WAAW,CACrBN,GAAW,IAAK;IACf,MAAMO,KAAK,GAAGR,QAAQ,CAAC,CAAC;IACxB,MAAMS,MAAM,GAAGV,MAAM,CAACW,qBAAqB,CAACF,KAAK,EAAEP,GAAG,CAAC;IAEvD,IAAIQ,MAAM,KAAKD,KAAK,EAAE;MACpBL,QAAQ,CAACM,MAAM,CAAC;IAClB;IAEA,IAAIJ,kBAAkB,KAAKM,SAAS,IAAIT,cAAc,KAAKS,SAAS,EAAE;MACpEN,kBAAkB,CAACH,cAAc,CAAC;IACpC;EACF,CAAC,EACD,CAACF,QAAQ,EAAEK,kBAAkB,EAAEN,MAAM,EAAEI,QAAQ,EAAED,cAAc,CACjE,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["React","NavigationBuilderContext","useOnRouteFocus","router","getState","key","sourceRouteKey","setState","onRouteFocus","onRouteFocusParent","use","useCallback","state","result","getStateForRouteFocus","undefined"],"sourceRoot":"../../src","sources":["useOnRouteFocus.tsx"],"mappings":";;AAKA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,wBAAwB,QAAQ,+BAA4B;AASrE;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAG7B;EAAEC,MAAM;EAAEC,QAAQ;EAAEC,GAAG,EAAEC,cAAc;EAAEC;AAAiC,CAAC,EAAE;EAC7E,MAAM;IAAEC,YAAY,EAAEC;EAAmB,CAAC,GAAGT,KAAK,CAACU,GAAG,CACpDT,wBACF,CAAC;EAED,OAAOD,KAAK,CAACW,WAAW,CACrBN,GAAW,IAAK;IACf,MAAMO,KAAK,GAAGR,QAAQ,CAAC,CAAC;IACxB,MAAMS,MAAM,GAAGV,MAAM,CAACW,qBAAqB,CAACF,KAAK,EAAEP,GAAG,CAAC;IAEvD,IAAIQ,MAAM,KAAKD,KAAK,EAAE;MACpBL,QAAQ,CAACM,MAAM,CAAC;IAClB;IAEA,IAAIJ,kBAAkB,KAAKM,SAAS,IAAIT,cAAc,KAAKS,SAAS,EAAE;MACpEN,kBAAkB,CAACH,cAAc,CAAC;IACpC;EACF,CAAC,EACD,CAACF,QAAQ,EAAEK,kBAAkB,EAAEN,MAAM,EAAEI,QAAQ,EAAED,cAAc,CACjE,CAAC;AACH","ignoreList":[]}
@@ -12,10 +12,10 @@ export function useOptionsGetters({
12
12
  const optionsGettersFromChildRef = React.useRef({});
13
13
  const {
14
14
  onOptionsChange
15
- } = React.useContext(NavigationBuilderContext);
15
+ } = React.use(NavigationBuilderContext);
16
16
  const {
17
17
  addOptionsGetter: parentAddOptionsGetter
18
- } = React.useContext(NavigationStateContext);
18
+ } = React.use(NavigationStateContext);
19
19
  const optionsChangeListener = React.useCallback(() => {
20
20
  const isFocused = navigation?.isFocused() ?? true;
21
21
  const hasChildren = Object.keys(optionsGettersFromChildRef.current).length;
@@ -52,8 +52,11 @@ export function useOptionsGetters({
52
52
  }
53
53
  return optionsRef.current;
54
54
  }, [navigation, getOptionsFromListener]);
55
- React.useEffect(() => {
56
- return parentAddOptionsGetter?.(key, getCurrentOptions);
55
+ React.useInsertionEffect(() => {
56
+ // We don't have a parent at the root
57
+ if (key != null) {
58
+ return parentAddOptionsGetter?.(key, getCurrentOptions);
59
+ }
57
60
  }, [getCurrentOptions, parentAddOptionsGetter, key]);
58
61
  const addOptionsGetter = React.useCallback((key, getter) => {
59
62
  optionsGettersFromChildRef.current[key] = getter;
@@ -1 +1 @@
1
- {"version":3,"names":["React","NavigationBuilderContext","NavigationStateContext","useOptionsGetters","key","options","navigation","optionsRef","useRef","optionsGettersFromChildRef","onOptionsChange","useContext","addOptionsGetter","parentAddOptionsGetter","optionsChangeListener","useCallback","isFocused","hasChildren","Object","keys","current","length","useEffect","addListener","getOptionsFromListener","result","getCurrentOptions","optionsFromListener","getter"],"sourceRoot":"../../src","sources":["useOptionsGetters.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","NavigationBuilderContext","NavigationStateContext","useOptionsGetters","key","options","navigation","optionsRef","useRef","optionsGettersFromChildRef","onOptionsChange","use","addOptionsGetter","parentAddOptionsGetter","optionsChangeListener","useCallback","isFocused","hasChildren","Object","keys","current","length","useEffect","addListener","getOptionsFromListener","result","getCurrentOptions","optionsFromListener","useInsertionEffect","getter"],"sourceRoot":"../../src","sources":["useOptionsGetters.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,wBAAwB,QAAQ,+BAA4B;AACrE,SAASC,sBAAsB,QAAQ,6BAA0B;AASjE,OAAO,SAASC,iBAAiBA,CAAC;EAAEC,GAAG;EAAEC,OAAO;EAAEC;AAAoB,CAAC,EAAE;EACvE,MAAMC,UAAU,GAAGP,KAAK,CAACQ,MAAM,CAAqBH,OAAO,CAAC;EAC5D,MAAMI,0BAA0B,GAAGT,KAAK,CAACQ,MAAM,CAE7C,CAAC,CAAC,CAAC;EAEL,MAAM;IAAEE;EAAgB,CAAC,GAAGV,KAAK,CAACW,GAAG,CAACV,wBAAwB,CAAC;EAC/D,MAAM;IAAEW,gBAAgB,EAAEC;EAAuB,CAAC,GAAGb,KAAK,CAACW,GAAG,CAC5DT,sBACF,CAAC;EAED,MAAMY,qBAAqB,GAAGd,KAAK,CAACe,WAAW,CAAC,MAAM;IACpD,MAAMC,SAAS,GAAGV,UAAU,EAAEU,SAAS,CAAC,CAAC,IAAI,IAAI;IACjD,MAAMC,WAAW,GAAGC,MAAM,CAACC,IAAI,CAACV,0BAA0B,CAACW,OAAO,CAAC,CAACC,MAAM;IAE1E,IAAIL,SAAS,IAAI,CAACC,WAAW,EAAE;MAC7BP,eAAe,CAACH,UAAU,CAACa,OAAO,IAAI,CAAC,CAAC,CAAC;IAC3C;EACF,CAAC,EAAE,CAACd,UAAU,EAAEI,eAAe,CAAC,CAAC;EAEjCV,KAAK,CAACsB,SAAS,CAAC,MAAM;IACpBf,UAAU,CAACa,OAAO,GAAGf,OAAO;IAC5BS,qBAAqB,CAAC,CAAC;IAEvB,OAAOR,UAAU,EAAEiB,WAAW,CAAC,OAAO,EAAET,qBAAqB,CAAC;EAChE,CAAC,EAAE,CAACR,UAAU,EAAED,OAAO,EAAES,qBAAqB,CAAC,CAAC;EAEhD,MAAMU,sBAAsB,GAAGxB,KAAK,CAACe,WAAW,CAAC,MAAM;IACrD,KAAK,MAAMX,GAAG,IAAIK,0BAA0B,CAACW,OAAO,EAAE;MACpD,IAAIhB,GAAG,IAAIK,0BAA0B,CAACW,OAAO,EAAE;QAC7C,MAAMK,MAAM,GAAGhB,0BAA0B,CAACW,OAAO,CAAChB,GAAG,CAAC,GAAG,CAAC;;QAE1D;QACA,IAAIqB,MAAM,KAAK,IAAI,EAAE;UACnB,OAAOA,MAAM;QACf;MACF;IACF;IAEA,OAAO,IAAI;EACb,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,iBAAiB,GAAG1B,KAAK,CAACe,WAAW,CAAC,MAAM;IAChD,MAAMC,SAAS,GAAGV,UAAU,EAAEU,SAAS,CAAC,CAAC,IAAI,IAAI;IAEjD,IAAI,CAACA,SAAS,EAAE;MACd,OAAO,IAAI;IACb;IAEA,MAAMW,mBAAmB,GAAGH,sBAAsB,CAAC,CAAC;IAEpD,IAAIG,mBAAmB,KAAK,IAAI,EAAE;MAChC,OAAOA,mBAAmB;IAC5B;IAEA,OAAOpB,UAAU,CAACa,OAAO;EAC3B,CAAC,EAAE,CAACd,UAAU,EAAEkB,sBAAsB,CAAC,CAAC;EAExCxB,KAAK,CAAC4B,kBAAkB,CAAC,MAAM;IAC7B;IACA,IAAIxB,GAAG,IAAI,IAAI,EAAE;MACf,OAAOS,sBAAsB,GAAGT,GAAG,EAAEsB,iBAAiB,CAAC;IACzD;EACF,CAAC,EAAE,CAACA,iBAAiB,EAAEb,sBAAsB,EAAET,GAAG,CAAC,CAAC;EAEpD,MAAMQ,gBAAgB,GAAGZ,KAAK,CAACe,WAAW,CACxC,CAACX,GAAW,EAAEyB,MAAuC,KAAK;IACxDpB,0BAA0B,CAACW,OAAO,CAAChB,GAAG,CAAC,GAAGyB,MAAM;IAChDf,qBAAqB,CAAC,CAAC;IAEvB,OAAO,MAAM;MACX;MACA,OAAOL,0BAA0B,CAACW,OAAO,CAAChB,GAAG,CAAC;MAC9CU,qBAAqB,CAAC,CAAC;IACzB,CAAC;EACH,CAAC,EACD,CAACA,qBAAqB,CACxB,CAAC;EAED,OAAO;IACLF,gBAAgB;IAChBc;EACF,CAAC;AACH","ignoreList":[]}
@@ -37,6 +37,6 @@ export function usePreventRemove(preventRemove, callback) {
37
37
  data: e.data
38
38
  });
39
39
  });
40
- React.useEffect(() => navigation?.addListener('beforeRemove', beforeRemoveListener), [navigation, beforeRemoveListener]);
40
+ React.useInsertionEffect(() => navigation?.addListener('beforeRemove', beforeRemoveListener), [navigation, beforeRemoveListener]);
41
41
  }
42
42
  //# sourceMappingURL=usePreventRemove.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["nanoid","React","useLatestCallback","useNavigation","usePreventRemoveContext","useRoute","usePreventRemove","preventRemove","callback","id","useState","navigation","key","routeKey","setPreventRemove","useEffect","beforeRemoveListener","e","preventDefault","data","addListener"],"sourceRoot":"../../src","sources":["usePreventRemove.tsx"],"mappings":";;AACA,SAASA,MAAM,QAAQ,mBAAmB;AAC1C,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,OAAOC,iBAAiB,MAAM,qBAAqB;AAGnD,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,uBAAuB,QAAQ,8BAA2B;AACnE,SAASC,QAAQ,QAAQ,eAAY;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAC9BC,aAAsB,EACtBC,QAAmE,EACnE;EACA,MAAM,CAACC,EAAE,CAAC,GAAGR,KAAK,CAACS,QAAQ,CAAC,MAAMV,MAAM,CAAC,CAAC,CAAC;EAE3C,MAAMW,UAAU,GAAGR,aAAa,CAAC,CAAC;EAClC,MAAM;IAAES,GAAG,EAAEC;EAAS,CAAC,GAAGR,QAAQ,CAAC,CAAC;EAEpC,MAAM;IAAES;EAAiB,CAAC,GAAGV,uBAAuB,CAAC,CAAC;EAEtDH,KAAK,CAACc,SAAS,CAAC,MAAM;IACpBD,gBAAgB,CAACL,EAAE,EAAEI,QAAQ,EAAEN,aAAa,CAAC;IAC7C,OAAO,MAAM;MACXO,gBAAgB,CAACL,EAAE,EAAEI,QAAQ,EAAE,KAAK,CAAC;IACvC,CAAC;EACH,CAAC,EAAE,CAACC,gBAAgB,EAAEL,EAAE,EAAEI,QAAQ,EAAEN,aAAa,CAAC,CAAC;EAEnD,MAAMS,oBAAoB,GAAGd,iBAAiB,CAE3Ce,CAAC,IAAK;IACP,IAAI,CAACV,aAAa,EAAE;MAClB;IACF;IAEAU,CAAC,CAACC,cAAc,CAAC,CAAC;IAElBV,QAAQ,CAAC;MAAEW,IAAI,EAAEF,CAAC,CAACE;IAAK,CAAC,CAAC;EAC5B,CAAC,CAAC;EAEFlB,KAAK,CAACc,SAAS,CACb,MAAMJ,UAAU,EAAES,WAAW,CAAC,cAAc,EAAEJ,oBAAoB,CAAC,EACnE,CAACL,UAAU,EAAEK,oBAAoB,CACnC,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["nanoid","React","useLatestCallback","useNavigation","usePreventRemoveContext","useRoute","usePreventRemove","preventRemove","callback","id","useState","navigation","key","routeKey","setPreventRemove","useEffect","beforeRemoveListener","e","preventDefault","data","useInsertionEffect","addListener"],"sourceRoot":"../../src","sources":["usePreventRemove.tsx"],"mappings":";;AACA,SAASA,MAAM,QAAQ,mBAAmB;AAC1C,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,OAAOC,iBAAiB,MAAM,qBAAqB;AAGnD,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,uBAAuB,QAAQ,8BAA2B;AACnE,SAASC,QAAQ,QAAQ,eAAY;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAC9BC,aAAsB,EACtBC,QAAmE,EACnE;EACA,MAAM,CAACC,EAAE,CAAC,GAAGR,KAAK,CAACS,QAAQ,CAAC,MAAMV,MAAM,CAAC,CAAC,CAAC;EAE3C,MAAMW,UAAU,GAAGR,aAAa,CAAC,CAAC;EAClC,MAAM;IAAES,GAAG,EAAEC;EAAS,CAAC,GAAGR,QAAQ,CAAC,CAAC;EAEpC,MAAM;IAAES;EAAiB,CAAC,GAAGV,uBAAuB,CAAC,CAAC;EAEtDH,KAAK,CAACc,SAAS,CAAC,MAAM;IACpBD,gBAAgB,CAACL,EAAE,EAAEI,QAAQ,EAAEN,aAAa,CAAC;IAC7C,OAAO,MAAM;MACXO,gBAAgB,CAACL,EAAE,EAAEI,QAAQ,EAAE,KAAK,CAAC;IACvC,CAAC;EACH,CAAC,EAAE,CAACC,gBAAgB,EAAEL,EAAE,EAAEI,QAAQ,EAAEN,aAAa,CAAC,CAAC;EAEnD,MAAMS,oBAAoB,GAAGd,iBAAiB,CAE3Ce,CAAC,IAAK;IACP,IAAI,CAACV,aAAa,EAAE;MAClB;IACF;IAEAU,CAAC,CAACC,cAAc,CAAC,CAAC;IAElBV,QAAQ,CAAC;MAAEW,IAAI,EAAEF,CAAC,CAACE;IAAK,CAAC,CAAC;EAC5B,CAAC,CAAC;EAEFlB,KAAK,CAACmB,kBAAkB,CACtB,MAAMT,UAAU,EAAEU,WAAW,CAAC,cAAc,EAAEL,oBAAoB,CAAC,EACnE,CAACL,UAAU,EAAEK,oBAAoB,CACnC,CAAC;AACH","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  import * as React from 'react';
4
4
  import { PreventRemoveContext } from "./PreventRemoveContext.js";
5
5
  export function usePreventRemoveContext() {
6
- const value = React.useContext(PreventRemoveContext);
6
+ const value = React.use(PreventRemoveContext);
7
7
  if (value == null) {
8
8
  throw new Error("Couldn't find the prevent remove context. Is your component inside NavigationContent?");
9
9
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","PreventRemoveContext","usePreventRemoveContext","value","useContext","Error"],"sourceRoot":"../../src","sources":["usePreventRemoveContext.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,oBAAoB,QAAQ,2BAAwB;AAE7D,OAAO,SAASC,uBAAuBA,CAAA,EAAG;EACxC,MAAMC,KAAK,GAAGH,KAAK,CAACI,UAAU,CAACH,oBAAoB,CAAC;EAEpD,IAAIE,KAAK,IAAI,IAAI,EAAE;IACjB,MAAM,IAAIE,KAAK,CACb,uFACF,CAAC;EACH;EAEA,OAAOF,KAAK;AACd","ignoreList":[]}
1
+ {"version":3,"names":["React","PreventRemoveContext","usePreventRemoveContext","value","use","Error"],"sourceRoot":"../../src","sources":["usePreventRemoveContext.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,oBAAoB,QAAQ,2BAAwB;AAE7D,OAAO,SAASC,uBAAuBA,CAAA,EAAG;EACxC,MAAMC,KAAK,GAAGH,KAAK,CAACI,GAAG,CAACH,oBAAoB,CAAC;EAE7C,IAAIE,KAAK,IAAI,IAAI,EAAE;IACjB,MAAM,IAAIE,KAAK,CACb,uFACF,CAAC;EACH;EAEA,OAAOF,KAAK;AACd","ignoreList":[]}
@@ -10,11 +10,11 @@ import { SingleNavigatorContext } from "./EnsureSingleNavigator.js";
10
10
  */
11
11
  export function useRegisterNavigator() {
12
12
  const [key] = React.useState(() => nanoid());
13
- const container = React.useContext(SingleNavigatorContext);
13
+ const container = React.use(SingleNavigatorContext);
14
14
  if (container === undefined) {
15
15
  throw new Error("Couldn't register the navigator. Have you wrapped your app with 'NavigationContainer'?\n\nThis can also happen if there are multiple copies of '@react-navigation' packages installed.");
16
16
  }
17
- React.useEffect(() => {
17
+ React.useInsertionEffect(() => {
18
18
  const {
19
19
  register,
20
20
  unregister
@@ -1 +1 @@
1
- {"version":3,"names":["nanoid","React","SingleNavigatorContext","useRegisterNavigator","key","useState","container","useContext","undefined","Error","useEffect","register","unregister"],"sourceRoot":"../../src","sources":["useRegisterNavigator.tsx"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,mBAAmB;AAC1C,OAAO,KAAKC,KAAK,MAAM,OAAO;AAE9B,SAASC,sBAAsB,QAAQ,4BAAyB;;AAEhE;AACA;AACA;AACA;AACA,OAAO,SAASC,oBAAoBA,CAAA,EAAG;EACrC,MAAM,CAACC,GAAG,CAAC,GAAGH,KAAK,CAACI,QAAQ,CAAC,MAAML,MAAM,CAAC,CAAC,CAAC;EAC5C,MAAMM,SAAS,GAAGL,KAAK,CAACM,UAAU,CAACL,sBAAsB,CAAC;EAE1D,IAAII,SAAS,KAAKE,SAAS,EAAE;IAC3B,MAAM,IAAIC,KAAK,CACb,wLACF,CAAC;EACH;EAEAR,KAAK,CAACS,SAAS,CAAC,MAAM;IACpB,MAAM;MAAEC,QAAQ;MAAEC;IAAW,CAAC,GAAGN,SAAS;IAE1CK,QAAQ,CAACP,GAAG,CAAC;IAEb,OAAO,MAAMQ,UAAU,CAACR,GAAG,CAAC;EAC9B,CAAC,EAAE,CAACE,SAAS,EAAEF,GAAG,CAAC,CAAC;EAEpB,OAAOA,GAAG;AACZ","ignoreList":[]}
1
+ {"version":3,"names":["nanoid","React","SingleNavigatorContext","useRegisterNavigator","key","useState","container","use","undefined","Error","useInsertionEffect","register","unregister"],"sourceRoot":"../../src","sources":["useRegisterNavigator.tsx"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,mBAAmB;AAC1C,OAAO,KAAKC,KAAK,MAAM,OAAO;AAE9B,SAASC,sBAAsB,QAAQ,4BAAyB;;AAEhE;AACA;AACA;AACA;AACA,OAAO,SAASC,oBAAoBA,CAAA,EAAG;EACrC,MAAM,CAACC,GAAG,CAAC,GAAGH,KAAK,CAACI,QAAQ,CAAC,MAAML,MAAM,CAAC,CAAC,CAAC;EAC5C,MAAMM,SAAS,GAAGL,KAAK,CAACM,GAAG,CAACL,sBAAsB,CAAC;EAEnD,IAAII,SAAS,KAAKE,SAAS,EAAE;IAC3B,MAAM,IAAIC,KAAK,CACb,wLACF,CAAC;EACH;EAEAR,KAAK,CAACS,kBAAkB,CAAC,MAAM;IAC7B,MAAM;MAAEC,QAAQ;MAAEC;IAAW,CAAC,GAAGN,SAAS;IAE1CK,QAAQ,CAACP,GAAG,CAAC;IAEb,OAAO,MAAMQ,UAAU,CAACR,GAAG,CAAC;EAC9B,CAAC,EAAE,CAACE,SAAS,EAAEF,GAAG,CAAC,CAAC;EAEpB,OAAOA,GAAG;AACZ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","NamedRouteContextListContext","NavigationRouteContext","useRoute","name","undefined","route","use","Error","NamedRouteContextList","NamedRouteContext"],"sourceRoot":"../../src","sources":["useRoute.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SACEC,4BAA4B,EAC5BC,sBAAsB,QACjB,yBAAsB;;AAG7B;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;;AAaA,OAAO,SAASC,QAAQA,CAACC,IAAa,EAAE;EACtC,IAAIA,IAAI,KAAKC,SAAS,EAAE;IACtB,MAAMC,KAAK,GAAGN,KAAK,CAACO,GAAG,CAACL,sBAAsB,CAAC;IAE/C,IAAII,KAAK,KAAKD,SAAS,EAAE;MACvB,MAAM,IAAIG,KAAK,CACb,iFACF,CAAC;IACH;IAEA,OAAOF,KAAK;EACd;EAEA,MAAMG,qBAAqB,GAAGT,KAAK,CAACO,GAAG,CAACN,4BAA4B,CAAC;EAErE,IAAIQ,qBAAqB,KAAKJ,SAAS,EAAE;IACvC,MAAM,IAAIG,KAAK,CACb,kFACF,CAAC;EACH;EAEA,MAAME,iBAAiB,GAAGD,qBAAqB,CAACL,IAAI,CAAC;EAErD,IAAIM,iBAAiB,KAAKL,SAAS,EAAE;IACnC,MAAM,IAAIG,KAAK,CACb,gCAAgCJ,IAAI,8EACtC,CAAC;EACH;EAEA,MAAME,KAAK,GAAGN,KAAK,CAACO,GAAG,CAACG,iBAAiB,CAAC;EAE1C,OAAOJ,KAAK;AACd","ignoreList":[]}
1
+ {"version":3,"names":["React","NamedRouteContextListContext","NavigationRouteContext","useRoute","name","undefined","route","use","Error","NamedRouteContextList","NamedRouteContext"],"sourceRoot":"../../src","sources":["useRoute.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SACEC,4BAA4B,EAC5BC,sBAAsB,QACjB,yBAAsB;;AAG7B;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;;AAeA,OAAO,SAASC,QAAQA,CAACC,IAAa,EAAE;EACtC,IAAIA,IAAI,KAAKC,SAAS,EAAE;IACtB,MAAMC,KAAK,GAAGN,KAAK,CAACO,GAAG,CAACL,sBAAsB,CAAC;IAE/C,IAAII,KAAK,KAAKD,SAAS,EAAE;MACvB,MAAM,IAAIG,KAAK,CACb,iFACF,CAAC;IACH;IAEA,OAAOF,KAAK;EACd;EAEA,MAAMG,qBAAqB,GAAGT,KAAK,CAACO,GAAG,CAACN,4BAA4B,CAAC;EAErE,IAAIQ,qBAAqB,KAAKJ,SAAS,EAAE;IACvC,MAAM,IAAIG,KAAK,CACb,kFACF,CAAC;EACH;EAEA,MAAME,iBAAiB,GAAGD,qBAAqB,CAACL,IAAI,CAAC;EAErD,IAAIM,iBAAiB,KAAKL,SAAS,EAAE;IACnC,MAAM,IAAIG,KAAK,CACb,gCAAgCJ,IAAI,8EACtC,CAAC;EACH;EAEA,MAAME,KAAK,GAAGN,KAAK,CAACO,GAAG,CAACG,iBAAiB,CAAC;EAE1C,OAAOJ,KAAK;AACd","ignoreList":[]}
@@ -31,9 +31,10 @@ export function useRouteCache(routes) {
31
31
  } else {
32
32
  proxy = routeWithoutState;
33
33
  }
34
- if (process.env.NODE_ENV !== 'production') {
34
+ if (process.env.NODE_ENV !== 'production' && proxy !== previous) {
35
35
  // FIXME: since the state is updated with mutation, the route object cannot be frozen
36
36
  // As a workaround, loop through the object and make the properties readonly
37
+ // Only needed once per proxy - skip if we're reusing a previously-frozen one
37
38
  for (const key in proxy) {
38
39
  // @ts-expect-error: this is fine since we are looping through the object
39
40
  const value = proxy[key];
@@ -1 +1 @@
1
- {"version":3,"names":["React","isRecordEqual","CHILD_STATE","Symbol","useRouteCache","routes","cache","useMemo","current","Map","reduce","acc","route","previous","get","key","state","routeWithoutState","proxy","process","env","NODE_ENV","value","Object","defineProperty","enumerable","configurable","writable","set","Array","from","values"],"sourceRoot":"../../src","sources":["useRouteCache.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,aAAa,QAAQ,oBAAiB;AAK/C;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,WAAW,GAAGC,MAAM,CAAC,aAAa,CAAC;;AAEhD;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAC3BC,MAAuB,EACvB;EACA;EACA,MAAMC,KAAK,GAAGN,KAAK,CAACO,OAAO,CAAC,OAAO;IAAEC,OAAO,EAAE,IAAIC,GAAG,CAAC;EAAgB,CAAC,CAAC,EAAE,EAAE,CAAC;EAE7EH,KAAK,CAACE,OAAO,GAAGH,MAAM,CAACK,MAAM,CAAC,CAACC,GAAG,EAAEC,KAAK,KAAK;IAC5C,MAAMC,QAAQ,GAAGP,KAAK,CAACE,OAAO,CAACM,GAAG,CAACF,KAAK,CAACG,GAAG,CAAC;IAC7C,MAAM;MAAEC,KAAK;MAAE,GAAGC;IAAkB,CAAC,GAAGL,KAAK;IAE7C,IAAIM,KAAK;IAET,IAAIL,QAAQ,IAAIZ,aAAa,CAACY,QAAQ,EAAEI,iBAAiB,CAAC,EAAE;MAC1D;MACAC,KAAK,GAAGL,QAAQ;IAClB,CAAC,MAAM;MACLK,KAAK,GAAGD,iBAAiB;IAC3B;IAEA,IAAIE,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;MACzC;MACA;MACA,KAAK,MAAMN,GAAG,IAAIG,KAAK,EAAE;QACvB;QACA,MAAMI,KAAK,GAAGJ,KAAK,CAACH,GAAG,CAAC;QAExBQ,MAAM,CAACC,cAAc,CAACN,KAAK,EAAEH,GAAG,EAAE;UAChCU,UAAU,EAAE,IAAI;UAChBC,YAAY,EAAE,IAAI;UAClBC,QAAQ,EAAE,KAAK;UACfL;QACF,CAAC,CAAC;MACJ;IACF;IAEAC,MAAM,CAACC,cAAc,CAACN,KAAK,EAAEhB,WAAW,EAAE;MACxCuB,UAAU,EAAE,KAAK;MACjBC,YAAY,EAAE,IAAI;MAClBJ,KAAK,EAAEN;IACT,CAAC,CAAC;IAEFL,GAAG,CAACiB,GAAG,CAAChB,KAAK,CAACG,GAAG,EAAEG,KAAK,CAAC;IAEzB,OAAOP,GAAG;EACZ,CAAC,EAAE,IAAIF,GAAG,CAAC,CAAe,CAAC;EAE3B,OAAOoB,KAAK,CAACC,IAAI,CAACxB,KAAK,CAACE,OAAO,CAACuB,MAAM,CAAC,CAAC,CAAC;AAC3C","ignoreList":[]}
1
+ {"version":3,"names":["React","isRecordEqual","CHILD_STATE","Symbol","useRouteCache","routes","cache","useMemo","current","Map","reduce","acc","route","previous","get","key","state","routeWithoutState","proxy","process","env","NODE_ENV","value","Object","defineProperty","enumerable","configurable","writable","set","Array","from","values"],"sourceRoot":"../../src","sources":["useRouteCache.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,aAAa,QAAQ,oBAAiB;AAK/C;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,WAAW,GAAGC,MAAM,CAAC,aAAa,CAAC;;AAEhD;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAC3BC,MAAuB,EACvB;EACA;EACA,MAAMC,KAAK,GAAGN,KAAK,CAACO,OAAO,CAAC,OAAO;IAAEC,OAAO,EAAE,IAAIC,GAAG,CAAC;EAAgB,CAAC,CAAC,EAAE,EAAE,CAAC;EAE7EH,KAAK,CAACE,OAAO,GAAGH,MAAM,CAACK,MAAM,CAAC,CAACC,GAAG,EAAEC,KAAK,KAAK;IAC5C,MAAMC,QAAQ,GAAGP,KAAK,CAACE,OAAO,CAACM,GAAG,CAACF,KAAK,CAACG,GAAG,CAAC;IAC7C,MAAM;MAAEC,KAAK;MAAE,GAAGC;IAAkB,CAAC,GAAGL,KAAK;IAE7C,IAAIM,KAAK;IAET,IAAIL,QAAQ,IAAIZ,aAAa,CAACY,QAAQ,EAAEI,iBAAiB,CAAC,EAAE;MAC1D;MACAC,KAAK,GAAGL,QAAQ;IAClB,CAAC,MAAM;MACLK,KAAK,GAAGD,iBAAiB;IAC3B;IAEA,IAAIE,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,IAAIH,KAAK,KAAKL,QAAQ,EAAE;MAC/D;MACA;MACA;MACA,KAAK,MAAME,GAAG,IAAIG,KAAK,EAAE;QACvB;QACA,MAAMI,KAAK,GAAGJ,KAAK,CAACH,GAAG,CAAC;QAExBQ,MAAM,CAACC,cAAc,CAACN,KAAK,EAAEH,GAAG,EAAE;UAChCU,UAAU,EAAE,IAAI;UAChBC,YAAY,EAAE,IAAI;UAClBC,QAAQ,EAAE,KAAK;UACfL;QACF,CAAC,CAAC;MACJ;IACF;IAEAC,MAAM,CAACC,cAAc,CAACN,KAAK,EAAEhB,WAAW,EAAE;MACxCuB,UAAU,EAAE,KAAK;MACjBC,YAAY,EAAE,IAAI;MAClBJ,KAAK,EAAEN;IACT,CAAC,CAAC;IAEFL,GAAG,CAACiB,GAAG,CAAChB,KAAK,CAACG,GAAG,EAAEG,KAAK,CAAC;IAEzB,OAAOP,GAAG;EACZ,CAAC,EAAE,IAAIF,GAAG,CAAC,CAAe,CAAC;EAE3B,OAAOoB,KAAK,CAACC,IAAI,CAACxB,KAAK,CAACE,OAAO,CAACuB,MAAM,CAAC,CAAC,CAAC;AAC3C","ignoreList":[]}
@@ -14,7 +14,7 @@ export function useScheduleUpdate(callback) {
14
14
  const {
15
15
  scheduleUpdate,
16
16
  flushUpdates
17
- } = React.useContext(NavigationBuilderContext);
17
+ } = React.use(NavigationBuilderContext);
18
18
 
19
19
  // FIXME: This is potentially unsafe
20
20
  // However, since we are using sync store, it might be fine
@@ -1 +1 @@
1
- {"version":3,"names":["React","NavigationBuilderContext","useScheduleUpdate","callback","scheduleUpdate","flushUpdates","useContext","useLayoutEffect"],"sourceRoot":"../../src","sources":["useScheduleUpdate.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,wBAAwB,QAAQ,+BAA4B;;AAErE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,QAAoB,EAAE;EACtD,MAAM;IAAEC,cAAc;IAAEC;EAAa,CAAC,GAAGL,KAAK,CAACM,UAAU,CACvDL,wBACF,CAAC;;EAED;EACA;EACAG,cAAc,CAACD,QAAQ,CAAC;EAExBH,KAAK,CAACO,eAAe,CAACF,YAAY,CAAC;AACrC","ignoreList":[]}
1
+ {"version":3,"names":["React","NavigationBuilderContext","useScheduleUpdate","callback","scheduleUpdate","flushUpdates","use","useLayoutEffect"],"sourceRoot":"../../src","sources":["useScheduleUpdate.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,wBAAwB,QAAQ,+BAA4B;;AAErE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,QAAoB,EAAE;EACtD,MAAM;IAAEC,cAAc;IAAEC;EAAa,CAAC,GAAGL,KAAK,CAACM,GAAG,CAACL,wBAAwB,CAAC;;EAE5E;EACA;EACAG,cAAc,CAACD,QAAQ,CAAC;EAExBH,KAAK,CAACO,eAAe,CAACF,YAAY,CAAC;AACrC","ignoreList":[]}
@@ -10,7 +10,7 @@ import { NavigationFocusedRouteStateContext } from "./NavigationFocusedRouteStat
10
10
  * @returns Minimal state to build a path for the current route.
11
11
  */
12
12
  export function useStateForPath() {
13
- const state = React.useContext(NavigationFocusedRouteStateContext);
13
+ const state = React.use(NavigationFocusedRouteStateContext);
14
14
  return state;
15
15
  }
16
16
  //# sourceMappingURL=useStateForPath.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","NavigationFocusedRouteStateContext","useStateForPath","state","useContext"],"sourceRoot":"../../src","sources":["useStateForPath.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,kCAAkC,QAAQ,yCAAsC;;AAEzF;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAAA,EAAG;EAChC,MAAMC,KAAK,GAAGH,KAAK,CAACI,UAAU,CAACH,kCAAkC,CAAC;EAElE,OAAOE,KAAK;AACd","ignoreList":[]}
1
+ {"version":3,"names":["React","NavigationFocusedRouteStateContext","useStateForPath","state","use"],"sourceRoot":"../../src","sources":["useStateForPath.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,kCAAkC,QAAQ,yCAAsC;;AAEzF;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAAA,EAAG;EAChC,MAAMC,KAAK,GAAGH,KAAK,CAACI,GAAG,CAACH,kCAAkC,CAAC;EAE3D,OAAOE,KAAK;AACd","ignoreList":[]}
@@ -10,7 +10,8 @@ export function validatePathConfig(config, root = true) {
10
10
  alias: 'array',
11
11
  exact: 'boolean',
12
12
  stringify: 'object',
13
- parse: 'object'
13
+ parse: 'object',
14
+ shared: 'boolean'
14
15
  })
15
16
  };
16
17
  if (typeof config !== 'object' || config === null) {
@@ -1 +1 @@
1
- {"version":3,"names":["formatToList","items","Object","entries","map","key","value","join","validatePathConfig","config","root","validation","path","initialRouteName","screens","alias","exact","stringify","parse","Error","JSON","validationErrors","fromEntries","keys","type","undefined","Array","isArray","filter","Boolean","length","includes","forEach","_"],"sourceRoot":"../../src","sources":["validatePathConfig.tsx"],"mappings":";;AAAA,MAAMA,YAAY,GAAIC,KAA6B,IACjDC,MAAM,CAACC,OAAO,CAACF,KAAK,CAAC,CAClBG,GAAG,CAAC,CAAC,CAACC,GAAG,EAAEC,KAAK,CAAC,KAAK,KAAKD,GAAG,KAAKC,KAAK,GAAG,CAAC,CAC5CC,IAAI,CAAC,IAAI,CAAC;AAEf,OAAO,SAASC,kBAAkBA,CAACC,MAAe,EAAEC,IAAI,GAAG,IAAI,EAAE;EAC/D,MAAMC,UAAU,GAAG;IACjBC,IAAI,EAAE,QAAQ;IACdC,gBAAgB,EAAE,QAAQ;IAC1BC,OAAO,EAAE,QAAQ;IACjB,IAAIJ,IAAI,GACJ,IAAI,GACJ;MACEK,KAAK,EAAE,OAAO;MACdC,KAAK,EAAE,SAAS;MAChBC,SAAS,EAAE,QAAQ;MACnBC,KAAK,EAAE;IACT,CAAC;EACP,CAAC;EAED,IAAI,OAAOT,MAAM,KAAK,QAAQ,IAAIA,MAAM,KAAK,IAAI,EAAE;IACjD,MAAM,IAAIU,KAAK,CACb,uDAAuDC,IAAI,CAACH,SAAS,CACnER,MACF,CAAC,GACH,CAAC;EACH;EAEA,MAAMY,gBAAgB,GAAGnB,MAAM,CAACoB,WAAW,CACzCpB,MAAM,CAACqB,IAAI,CAACd,MAAM,CAAC,CAChBL,GAAG,CAAEC,GAAG,IAAK;IACZ,IAAIA,GAAG,IAAIM,UAAU,EAAE;MACrB,MAAMa,IAAI,GAAGb,UAAU,CAACN,GAAG,CAA4B;MACvD;MACA,MAAMC,KAAK,GAAGG,MAAM,CAACJ,GAAG,CAAC;MAEzB,IAAIC,KAAK,KAAKmB,SAAS,EAAE;QACvB,IAAID,IAAI,KAAK,OAAO,EAAE;UACpB,IAAI,CAACE,KAAK,CAACC,OAAO,CAACrB,KAAK,CAAC,EAAE;YACzB,OAAO,CAACD,GAAG,EAAE,0BAA0B,OAAOC,KAAK,GAAG,CAAC;UACzD;QACF,CAAC,MAAM,IAAI,OAAOA,KAAK,KAAKkB,IAAI,EAAE;UAChC,OAAO,CAACnB,GAAG,EAAE,aAAamB,IAAI,WAAW,OAAOlB,KAAK,GAAG,CAAC;QAC3D;MACF;IACF,CAAC,MAAM;MACL,OAAO,CAACD,GAAG,EAAE,YAAY,CAAC;IAC5B;IAEA,OAAO,IAAI;EACb,CAAC,CAAC,CACDuB,MAAM,CAACC,OAAO,CACnB,CAAC;EAED,IAAI3B,MAAM,CAACqB,IAAI,CAACF,gBAAgB,CAAC,CAACS,MAAM,EAAE;IACxC,MAAM,IAAIX,KAAK,CACb,mDAAmDnB,YAAY,CAC7DqB,gBACF,CAAC,uDAAuDrB,YAAY,CAClEW,UACF,CAAC,kOACH,CAAC;EACH;EAEA,IACED,IAAI,IACJ,MAAM,IAAID,MAAM,IAChB,OAAOA,MAAM,CAACG,IAAI,KAAK,QAAQ,IAC/BH,MAAM,CAACG,IAAI,CAACmB,QAAQ,CAAC,GAAG,CAAC,EACzB;IACA,MAAM,IAAIZ,KAAK,CACb,uBAAuBV,MAAM,CAACG,IAAI,kFACpC,CAAC;EACH;EAEA,IAAI,SAAS,IAAIH,MAAM,IAAIA,MAAM,CAACK,OAAO,EAAE;IACzCZ,MAAM,CAACC,OAAO,CAACM,MAAM,CAACK,OAAO,CAAC,CAACkB,OAAO,CAAC,CAAC,CAACC,CAAC,EAAE3B,KAAK,CAAC,KAAK;MACrD,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;QAC7BE,kBAAkB,CAACF,KAAK,EAAE,KAAK,CAAC;MAClC;IACF,CAAC,CAAC;EACJ;AACF","ignoreList":[]}
1
+ {"version":3,"names":["formatToList","items","Object","entries","map","key","value","join","validatePathConfig","config","root","validation","path","initialRouteName","screens","alias","exact","stringify","parse","shared","Error","JSON","validationErrors","fromEntries","keys","type","undefined","Array","isArray","filter","Boolean","length","includes","forEach","_"],"sourceRoot":"../../src","sources":["validatePathConfig.tsx"],"mappings":";;AAAA,MAAMA,YAAY,GAAIC,KAA6B,IACjDC,MAAM,CAACC,OAAO,CAACF,KAAK,CAAC,CAClBG,GAAG,CAAC,CAAC,CAACC,GAAG,EAAEC,KAAK,CAAC,KAAK,KAAKD,GAAG,KAAKC,KAAK,GAAG,CAAC,CAC5CC,IAAI,CAAC,IAAI,CAAC;AAEf,OAAO,SAASC,kBAAkBA,CAACC,MAAe,EAAEC,IAAI,GAAG,IAAI,EAAE;EAC/D,MAAMC,UAAU,GAAG;IACjBC,IAAI,EAAE,QAAQ;IACdC,gBAAgB,EAAE,QAAQ;IAC1BC,OAAO,EAAE,QAAQ;IACjB,IAAIJ,IAAI,GACJ,IAAI,GACJ;MACEK,KAAK,EAAE,OAAO;MACdC,KAAK,EAAE,SAAS;MAChBC,SAAS,EAAE,QAAQ;MACnBC,KAAK,EAAE,QAAQ;MACfC,MAAM,EAAE;IACV,CAAC;EACP,CAAC;EAED,IAAI,OAAOV,MAAM,KAAK,QAAQ,IAAIA,MAAM,KAAK,IAAI,EAAE;IACjD,MAAM,IAAIW,KAAK,CACb,uDAAuDC,IAAI,CAACJ,SAAS,CACnER,MACF,CAAC,GACH,CAAC;EACH;EAEA,MAAMa,gBAAgB,GAAGpB,MAAM,CAACqB,WAAW,CACzCrB,MAAM,CAACsB,IAAI,CAACf,MAAM,CAAC,CAChBL,GAAG,CAAEC,GAAG,IAAK;IACZ,IAAIA,GAAG,IAAIM,UAAU,EAAE;MACrB,MAAMc,IAAI,GAAGd,UAAU,CAACN,GAAG,CAA4B;MACvD;MACA,MAAMC,KAAK,GAAGG,MAAM,CAACJ,GAAG,CAAC;MAEzB,IAAIC,KAAK,KAAKoB,SAAS,EAAE;QACvB,IAAID,IAAI,KAAK,OAAO,EAAE;UACpB,IAAI,CAACE,KAAK,CAACC,OAAO,CAACtB,KAAK,CAAC,EAAE;YACzB,OAAO,CAACD,GAAG,EAAE,0BAA0B,OAAOC,KAAK,GAAG,CAAC;UACzD;QACF,CAAC,MAAM,IAAI,OAAOA,KAAK,KAAKmB,IAAI,EAAE;UAChC,OAAO,CAACpB,GAAG,EAAE,aAAaoB,IAAI,WAAW,OAAOnB,KAAK,GAAG,CAAC;QAC3D;MACF;IACF,CAAC,MAAM;MACL,OAAO,CAACD,GAAG,EAAE,YAAY,CAAC;IAC5B;IAEA,OAAO,IAAI;EACb,CAAC,CAAC,CACDwB,MAAM,CAACC,OAAO,CACnB,CAAC;EAED,IAAI5B,MAAM,CAACsB,IAAI,CAACF,gBAAgB,CAAC,CAACS,MAAM,EAAE;IACxC,MAAM,IAAIX,KAAK,CACb,mDAAmDpB,YAAY,CAC7DsB,gBACF,CAAC,uDAAuDtB,YAAY,CAClEW,UACF,CAAC,kOACH,CAAC;EACH;EAEA,IACED,IAAI,IACJ,MAAM,IAAID,MAAM,IAChB,OAAOA,MAAM,CAACG,IAAI,KAAK,QAAQ,IAC/BH,MAAM,CAACG,IAAI,CAACoB,QAAQ,CAAC,GAAG,CAAC,EACzB;IACA,MAAM,IAAIZ,KAAK,CACb,uBAAuBX,MAAM,CAACG,IAAI,kFACpC,CAAC;EACH;EAEA,IAAI,SAAS,IAAIH,MAAM,IAAIA,MAAM,CAACK,OAAO,EAAE;IACzCZ,MAAM,CAACC,OAAO,CAACM,MAAM,CAACK,OAAO,CAAC,CAACmB,OAAO,CAAC,CAAC,CAACC,CAAC,EAAE5B,KAAK,CAAC,KAAK;MACrD,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;QAC7BE,kBAAkB,CAACF,KAAK,EAAE,KAAK,CAAC;MAClC;IACF,CAAC,CAAC;EACJ;AACF","ignoreList":[]}
@@ -1,6 +1,8 @@
1
- import { type ParamListBase } from '@react-navigation/routers';
2
1
  import * as React from 'react';
3
- import type { NavigationContainerProps, NavigationContainerRef } from './types';
2
+ import type { NavigationContainerProps, NavigationContainerRef, RootParamList } from './types.js';
3
+ type Props<ParamList extends {}> = NavigationContainerProps & {
4
+ ref?: React.Ref<NavigationContainerRef<ParamList>>;
5
+ };
4
6
  /**
5
7
  * Container component which holds the navigation state.
6
8
  * This should be rendered at the root wrapping the whole app.
@@ -13,5 +15,6 @@ import type { NavigationContainerProps, NavigationContainerRef } from './types';
13
15
  * @param props.children Child elements to render the content.
14
16
  * @param props.ref Ref object which refers to the navigation object containing helper methods.
15
17
  */
16
- export declare const BaseNavigationContainer: React.ForwardRefExoticComponent<NavigationContainerProps & React.RefAttributes<NavigationContainerRef<ParamListBase>>>;
18
+ export declare function BaseNavigationContainer<ParamList extends {} = RootParamList>({ initialState, onStateChange, onReady, onUnhandledAction, theme, children, ref, }: Props<ParamList>): React.JSX.Element;
19
+ export {};
17
20
  //# sourceMappingURL=BaseNavigationContainer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseNavigationContainer.d.ts","sourceRoot":"","sources":["../../../src/BaseNavigationContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,aAAa,EAGnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,KAAK,EAEV,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,SAAS,CAAC;AA4CjB;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB,wHA0XnC,CAAC"}
1
+ {"version":3,"file":"BaseNavigationContainer.d.ts","sourceRoot":"","sources":["../../../src/BaseNavigationContainer.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,KAAK,EAEV,wBAAwB,EACxB,sBAAsB,EACtB,aAAa,EACd,MAAM,YAAS,CAAC;AAcjB,KAAK,KAAK,CAAC,SAAS,SAAS,EAAE,IAAI,wBAAwB,GAAG;IAC5D,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC;CACpD,CAAC;AAgCF;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,SAAS,EAAE,GAAG,aAAa,EAAE,EAC5E,YAAY,EACZ,aAAa,EACb,OAAO,EACP,iBAAiB,EACjB,KAAK,EACL,QAAQ,EACR,GAAG,GACJ,EAAE,KAAK,CAAC,SAAS,CAAC,qBAyXlB"}
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ type ConsumedParamsContextValue = {
3
+ isConsumed: (params: object) => boolean;
4
+ setConsumed: (params: object) => void;
5
+ };
6
+ export declare const ConsumedParamsContext: React.Context<ConsumedParamsContextValue | undefined>;
7
+ export {};
8
+ //# sourceMappingURL=ConsumedParamsContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConsumedParamsContext.d.ts","sourceRoot":"","sources":["../../../src/ConsumedParamsContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,KAAK,0BAA0B,GAAG;IAChC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IACxC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC,CAAC;AAEF,eAAO,MAAM,qBAAqB,uDAEtB,CAAC"}
@@ -9,6 +9,6 @@ export declare const SingleNavigatorContext: React.Context<{
9
9
  /**
10
10
  * Component which ensures that there's only one navigator nested under it.
11
11
  */
12
- export declare function EnsureSingleNavigator({ children }: Props): import("react/jsx-runtime").JSX.Element;
12
+ export declare function EnsureSingleNavigator({ children }: Props): React.JSX.Element;
13
13
  export {};
14
14
  //# sourceMappingURL=EnsureSingleNavigator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EnsureSingleNavigator.d.ts","sourceRoot":"","sources":["../../../src/EnsureSingleNavigator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAIF,eAAO,MAAM,sBAAsB;kBAEf,MAAM,GAAG,IAAI;oBACX,MAAM,GAAG,IAAI;cAGvB,CAAC;AAEb;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,QAAQ,EAAE,EAAE,KAAK,2CAgCxD"}
1
+ {"version":3,"file":"EnsureSingleNavigator.d.ts","sourceRoot":"","sources":["../../../src/EnsureSingleNavigator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAIF,eAAO,MAAM,sBAAsB;kBAEf,MAAM,GAAG,IAAI;oBACX,MAAM,GAAG,IAAI;cAGvB,CAAC;AAEb;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,QAAQ,EAAE,EAAE,KAAK,qBAgCxD"}
@@ -1,5 +1,5 @@
1
1
  import type { ParamListBase } from '@react-navigation/routers';
2
- import type { RouteGroupConfig } from './types';
2
+ import type { RouteGroupConfig } from './types.js';
3
3
  /**
4
4
  * Empty component used for grouping screen configs.
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Group.d.ts","sourceRoot":"","sources":["../../../src/Group.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD;;GAEG;AACH,wBAAgB,KAAK,CACnB,SAAS,SAAS,aAAa,EAC/B,aAAa,SAAS,EAAE,EACxB,UAAU,EACV,CAAC,EAAE,gBAAgB,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,CAAC,QAG1D"}
1
+ {"version":3,"file":"Group.d.ts","sourceRoot":"","sources":["../../../src/Group.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAS,CAAC;AAEhD;;GAEG;AACH,wBAAgB,KAAK,CACnB,SAAS,SAAS,aAAa,EAC/B,aAAa,SAAS,EAAE,EACxB,UAAU,EACV,CAAC,EAAE,gBAAgB,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,CAAC,QAG1D"}
@@ -1,6 +1,6 @@
1
1
  import type { NavigationAction, NavigationState, ParamListBase } from '@react-navigation/routers';
2
2
  import * as React from 'react';
3
- import type { NavigationHelpers } from './types';
3
+ import type { NavigationHelpers } from './types.js';
4
4
  export type ListenerMap = {
5
5
  action: ChildActionListener;
6
6
  focus: FocusedNavigationListener;
@@ -23,14 +23,20 @@ export type ChildBeforeRemoveListener = (action: NavigationAction) => boolean;
23
23
  * Context which holds the required helpers needed to build nested navigators.
24
24
  */
25
25
  export declare const NavigationBuilderContext: React.Context<{
26
- onAction?: (action: NavigationAction, visitedNavigators?: Set<string>) => boolean;
27
- addListener?: AddListener;
28
- addKeyedListener?: AddKeyedListener;
29
- onRouteFocus?: (key: string) => void;
26
+ onAction?: ((action: NavigationAction, visitedNavigators?: Set<string>) => boolean) | undefined;
27
+ addListener?: AddListener | undefined;
28
+ addKeyedListener?: AddKeyedListener | undefined;
29
+ onRouteFocus?: ((key: string) => void) | undefined;
30
30
  onDispatchAction: (action: NavigationAction, noop: boolean) => void;
31
+ onEmitEvent: (event: {
32
+ type: string;
33
+ defaultPrevented: boolean | undefined;
34
+ target: string | undefined;
35
+ data: unknown;
36
+ }) => void;
31
37
  onOptionsChange: (options: object) => void;
32
38
  scheduleUpdate: (callback: () => void) => void;
33
39
  flushUpdates: () => void;
34
- stackRef?: React.MutableRefObject<string | undefined>;
40
+ stackRef?: React.MutableRefObject<string | undefined> | undefined;
35
41
  }>;
36
42
  //# sourceMappingURL=NavigationBuilderContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationBuilderContext.d.ts","sourceRoot":"","sources":["../../../src/NavigationBuilderContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,EAAE,yBAAyB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,YAAY,EAAE,yBAAyB,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,SAAS,MAAM,WAAW,EACpD,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,KACrB,IAAI,CAAC;AAEV,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,SAAS,MAAM,gBAAgB,EAC9D,IAAI,EAAE,CAAC,EACP,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAC1B,IAAI,CAAC;AAEV,MAAM,MAAM,mBAAmB,GAAG,CAChC,MAAM,EAAE,gBAAgB,EACxB,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,KAC5B,OAAO,CAAC;AAEb,MAAM,MAAM,yBAAyB,CAAC,CAAC,IAAI,CACzC,UAAU,EAAE,iBAAiB,CAAC,aAAa,CAAC,KACzC,CAAC,CAAC;AAEP,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,EACxC,QAAQ,EAAE,yBAAyB,CAAC,CAAC,CAAC,KACnC;IACH,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,CAAC,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,MAAM,eAAe,CAAC;AAErD,MAAM,MAAM,yBAAyB,GAAG,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,wBAAwB;eACxB,CACT,MAAM,EAAE,gBAAgB,EACxB,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,KAC5B,OAAO;kBACE,WAAW;uBACN,gBAAgB;mBACpB,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI;sBAClB,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI;qBAClD,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI;oBAC1B,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI;kBAChC,MAAM,IAAI;eACb,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,SAAS,CAAC;EAUrD,CAAC"}
1
+ {"version":3,"file":"NavigationBuilderContext.d.ts","sourceRoot":"","sources":["../../../src/NavigationBuilderContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAS,CAAC;AAEjD,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,EAAE,yBAAyB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,YAAY,EAAE,yBAAyB,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,SAAS,MAAM,WAAW,EACpD,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,KACrB,IAAI,CAAC;AAEV,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,SAAS,MAAM,gBAAgB,EAC9D,IAAI,EAAE,CAAC,EACP,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAC1B,IAAI,CAAC;AAEV,MAAM,MAAM,mBAAmB,GAAG,CAChC,MAAM,EAAE,gBAAgB,EACxB,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,KAC5B,OAAO,CAAC;AAEb,MAAM,MAAM,yBAAyB,CAAC,CAAC,IAAI,CACzC,UAAU,EAAE,iBAAiB,CAAC,aAAa,CAAC,KACzC,CAAC,CAAC;AAEP,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,EACxC,QAAQ,EAAE,yBAAyB,CAAC,CAAC,CAAC,KACnC;IACH,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,CAAC,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,MAAM,eAAe,CAAC;AAErD,MAAM,MAAM,yBAAyB,GAAG,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,wBAAwB;eAE/B,CAAC,CAAC,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,GACxE,SAAS;kBACC,WAAW,GAAG,SAAS;uBAClB,gBAAgB,GAAG,SAAS;mBAChC,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS;sBAChC,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI;iBACtD,CAAC,KAAK,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,gBAAgB,EAAE,OAAO,GAAG,SAAS,CAAC;QACtC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,IAAI,EAAE,OAAO,CAAC;KACf,KAAK,IAAI;qBACO,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI;oBAC1B,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI;kBAChC,MAAM,IAAI;eACb,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS;EAWjE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { ParamListBase } from '@react-navigation/routers';
2
2
  import * as React from 'react';
3
- import type { NavigationContainerRef } from './types';
3
+ import type { NavigationContainerRef } from './types.js';
4
4
  /**
5
5
  * Context which holds the route prop for a screen.
6
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationContainerRefContext.d.ts","sourceRoot":"","sources":["../../../src/NavigationContainerRefContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,6BAA6B,kEAE9B,CAAC"}
1
+ {"version":3,"file":"NavigationContainerRefContext.d.ts","sourceRoot":"","sources":["../../../src/NavigationContainerRefContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAS,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,6BAA6B,kEAE9B,CAAC"}
@@ -2,11 +2,11 @@ import * as React from 'react';
2
2
  export type FocusedRouteState = {
3
3
  routes: [
4
4
  {
5
- key?: string;
5
+ key?: string | undefined;
6
6
  name: string;
7
- params?: object;
8
- path?: string;
9
- state?: FocusedRouteState;
7
+ params?: object | undefined;
8
+ path?: string | undefined;
9
+ state?: FocusedRouteState | undefined;
10
10
  }
11
11
  ];
12
12
  };
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationFocusedRouteStateContext.d.ts","sourceRoot":"","sources":["../../../src/NavigationFocusedRouteStateContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE;QACN;YACE,GAAG,CAAC,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,KAAK,CAAC,EAAE,iBAAiB,CAAC;SAC3B;KACF,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kCAAkC,8CAEnC,CAAC"}
1
+ {"version":3,"file":"NavigationFocusedRouteStateContext.d.ts","sourceRoot":"","sources":["../../../src/NavigationFocusedRouteStateContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE;QACN;YACE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;YACzB,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;YAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;YAC1B,KAAK,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;SACvC;KACF,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kCAAkC,8CAEnC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { ParamListBase } from '@react-navigation/routers';
2
2
  import * as React from 'react';
3
- import type { NavigationHelpers } from './types';
3
+ import type { NavigationHelpers } from './types.js';
4
4
  /**
5
5
  * Context which holds the navigation helpers of the parent navigator.
6
6
  * Navigators should use this context in their view component.
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationHelpersContext.d.ts","sourceRoot":"","sources":["../../../src/NavigationHelpersContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,6DAEzB,CAAC"}
1
+ {"version":3,"file":"NavigationHelpersContext.d.ts","sourceRoot":"","sources":["../../../src/NavigationHelpersContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAS,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,6DAEzB,CAAC"}
@@ -4,5 +4,5 @@ import * as React from 'react';
4
4
  */
5
5
  export declare function NavigationIndependentTree({ children, }: {
6
6
  children: React.ReactNode;
7
- }): import("react/jsx-runtime").JSX.Element;
7
+ }): React.JSX.Element;
8
8
  //# sourceMappingURL=NavigationIndependentTree.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationIndependentTree.d.ts","sourceRoot":"","sources":["../../../src/NavigationIndependentTree.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,2CAeA"}
1
+ {"version":3,"file":"NavigationIndependentTree.d.ts","sourceRoot":"","sources":["../../../src/NavigationIndependentTree.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,qBAiBA"}