@react-navigation/core 8.0.0-alpha.25 → 8.0.0-alpha.27

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 (85) hide show
  1. package/lib/module/BaseNavigationContainer.js +12 -6
  2. package/lib/module/BaseNavigationContainer.js.map +1 -1
  3. package/lib/module/ConsumedParamsContext.js.map +1 -1
  4. package/lib/module/DataLoading.js +29 -4
  5. package/lib/module/DataLoading.js.map +1 -1
  6. package/lib/module/NavigationIndependentTree.js +8 -4
  7. package/lib/module/NavigationIndependentTree.js.map +1 -1
  8. package/lib/module/SceneView.js +16 -39
  9. package/lib/module/SceneView.js.map +1 -1
  10. package/lib/module/StaticNavigation.js +4 -3
  11. package/lib/module/StaticNavigation.js.map +1 -1
  12. package/lib/module/findFocusedRoute.js +1 -1
  13. package/lib/module/findFocusedRoute.js.map +1 -1
  14. package/lib/module/getActionFromState.js +1 -2
  15. package/lib/module/getActionFromState.js.map +1 -1
  16. package/lib/module/getPathFromState.js +41 -26
  17. package/lib/module/getPathFromState.js.map +1 -1
  18. package/lib/module/getPatternParts.js +15 -2
  19. package/lib/module/getPatternParts.js.map +1 -1
  20. package/lib/module/getStateFromPath.js +45 -19
  21. package/lib/module/getStateFromPath.js.map +1 -1
  22. package/lib/module/index.js +1 -0
  23. package/lib/module/index.js.map +1 -1
  24. package/lib/module/types.js.map +1 -1
  25. package/lib/module/useFocusEvents.js +6 -2
  26. package/lib/module/useFocusEvents.js.map +1 -1
  27. package/lib/module/useLazyValue.js.map +1 -1
  28. package/lib/module/useNavigationBuilder.js +8 -6
  29. package/lib/module/useNavigationBuilder.js.map +1 -1
  30. package/lib/module/useOnAction.js +6 -16
  31. package/lib/module/useOnAction.js.map +1 -1
  32. package/lib/module/useOnPreventRemove.js +1 -3
  33. package/lib/module/useOnPreventRemove.js.map +1 -1
  34. package/lib/module/useRouteCache.js +1 -3
  35. package/lib/module/useRouteCache.js.map +1 -1
  36. package/lib/module/useSyncState.js +3 -2
  37. package/lib/module/useSyncState.js.map +1 -1
  38. package/lib/typescript/src/BaseNavigationContainer.d.ts.map +1 -1
  39. package/lib/typescript/src/ConsumedParamsContext.d.ts +1 -6
  40. package/lib/typescript/src/ConsumedParamsContext.d.ts.map +1 -1
  41. package/lib/typescript/src/DataLoading.d.ts +1 -0
  42. package/lib/typescript/src/DataLoading.d.ts.map +1 -1
  43. package/lib/typescript/src/NavigationIndependentTree.d.ts.map +1 -1
  44. package/lib/typescript/src/SceneView.d.ts.map +1 -1
  45. package/lib/typescript/src/StaticNavigation.d.ts +39 -30
  46. package/lib/typescript/src/StaticNavigation.d.ts.map +1 -1
  47. package/lib/typescript/src/getPathFromState.d.ts.map +1 -1
  48. package/lib/typescript/src/getPatternParts.d.ts.map +1 -1
  49. package/lib/typescript/src/getStateFromPath.d.ts.map +1 -1
  50. package/lib/typescript/src/index.d.ts +2 -1
  51. package/lib/typescript/src/index.d.ts.map +1 -1
  52. package/lib/typescript/src/types.d.ts +10 -7
  53. package/lib/typescript/src/types.d.ts.map +1 -1
  54. package/lib/typescript/src/useFocusEvents.d.ts.map +1 -1
  55. package/lib/typescript/src/useLazyValue.d.ts.map +1 -1
  56. package/lib/typescript/src/useNavigationBuilder.d.ts.map +1 -1
  57. package/lib/typescript/src/useOnAction.d.ts.map +1 -1
  58. package/lib/typescript/src/useOnPreventRemove.d.ts.map +1 -1
  59. package/lib/typescript/src/useRouteCache.d.ts.map +1 -1
  60. package/lib/typescript/src/useSyncState.d.ts.map +1 -1
  61. package/lib/typescript/src/utilities.d.ts +10 -0
  62. package/lib/typescript/src/utilities.d.ts.map +1 -1
  63. package/package.json +5 -5
  64. package/src/BaseNavigationContainer.tsx +13 -7
  65. package/src/ConsumedParamsContext.tsx +1 -6
  66. package/src/DataLoading.tsx +68 -4
  67. package/src/NavigationIndependentTree.tsx +8 -5
  68. package/src/SceneView.tsx +18 -52
  69. package/src/StaticNavigation.tsx +88 -64
  70. package/src/findFocusedRoute.tsx +1 -1
  71. package/src/getActionFromState.tsx +7 -3
  72. package/src/getPathFromState.tsx +59 -32
  73. package/src/getPatternParts.tsx +15 -2
  74. package/src/getStateFromPath.tsx +77 -17
  75. package/src/index.tsx +5 -0
  76. package/src/types.tsx +14 -7
  77. package/src/useDescriptors.tsx +1 -1
  78. package/src/useFocusEvents.tsx +7 -5
  79. package/src/useLazyValue.tsx +2 -2
  80. package/src/useNavigationBuilder.tsx +12 -7
  81. package/src/useOnAction.tsx +11 -40
  82. package/src/useOnPreventRemove.tsx +4 -3
  83. package/src/useRouteCache.tsx +1 -4
  84. package/src/useSyncState.tsx +3 -2
  85. package/src/utilities.tsx +19 -0
@@ -1 +1 @@
1
- {"version":3,"names":["React","useLazyValue","create","lazyRef","useRef","undefined","current"],"sourceRoot":"../../src","sources":["useLazyValue.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAO,SAASC,YAAYA,CAAIC,MAAe,EAAE;EAC/C,MAAMC,OAAO,GAAGH,KAAK,CAACI,MAAM,CAAIC,SAAS,CAAC;EAE1C,IAAIF,OAAO,CAACG,OAAO,KAAKD,SAAS,EAAE;IACjCF,OAAO,CAACG,OAAO,GAAGJ,MAAM,CAAC,CAAC;EAC5B;EAEA,OAAOC,OAAO,CAACG,OAAO;AACxB","ignoreList":[]}
1
+ {"version":3,"names":["React","useLazyValue","create","lazyRef","useRef","undefined","current"],"sourceRoot":"../../src","sources":["useLazyValue.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAO,SAASC,YAAYA,CAAIC,MAAe,EAAK;EAClD,MAAMC,OAAO,GAAGH,KAAK,CAACI,MAAM,CAAIC,SAAS,CAAC;EAE1C,IAAIF,OAAO,CAACG,OAAO,KAAKD,SAAS,EAAE;IACjCF,OAAO,CAACG,OAAO,GAAGJ,MAAM,CAAC,CAAC;EAC5B;EAEA,OAAOC,OAAO,CAACG,OAAO;AACxB","ignoreList":[]}
@@ -165,7 +165,7 @@ export function useNavigationBuilder(createRouter, options) {
165
165
  const navigatorKey = useRegisterNavigator();
166
166
  const route = React.use(NavigationRouteContext);
167
167
  const consumedParams = React.use(ConsumedParamsContext);
168
- const isNestedParamsConsumed = typeof route?.params === 'object' && route.params != null ? consumedParams?.isConsumed(route.params) : false;
168
+ const isNestedParamsConsumed = typeof route?.params === 'object' && route.params != null ? consumedParams?.has(route.params) : false;
169
169
  const {
170
170
  children,
171
171
  layout,
@@ -285,7 +285,10 @@ export function useNavigationBuilder(createRouter, options) {
285
285
  if (stateBeforeInitialization != null && options.routeNamesChangeBehavior === 'lastUnhandled' && doesStateHaveOnlyInvalidRoutes(stateBeforeInitialization)) {
286
286
  return [stateBeforeInitialization, hydratedState, true, paramsForState];
287
287
  }
288
- return [undefined, hydratedState, false, paramsForState];
288
+ return [undefined, hydratedState, false,
289
+ // Current state is already initialized
290
+ // So params weren't used, and need to be handled later
291
+ isStateInitialized(currentState) ? undefined : paramsForState];
289
292
  }
290
293
  // We explicitly don't include routeNames, route.params etc. in the dep list
291
294
  // below. We want to avoid forcing a new state to be calculated in those cases
@@ -383,12 +386,11 @@ export function useNavigationBuilder(createRouter, options) {
383
386
  routeGetIdList
384
387
  }) : nextState;
385
388
  }
386
- const setConsumedParams = consumedParams?.setConsumed;
387
389
  React.useEffect(() => {
388
- if (setConsumedParams && didConsumeNestedParams && typeof route?.params === 'object' && route.params != null) {
389
- setConsumedParams(route.params);
390
+ if (consumedParams && didConsumeNestedParams && typeof route?.params === 'object' && route.params != null) {
391
+ consumedParams.set(route.params, true);
390
392
  }
391
- }, [didConsumeNestedParams, route?.params, setConsumedParams]);
393
+ }, [consumedParams, didConsumeNestedParams, route?.params]);
392
394
  const shouldUpdate = state !== nextState;
393
395
  useScheduleUpdate(() => {
394
396
  if (shouldUpdate) {
@@ -1 +1 @@
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","useInsertionEffect","previousRouteKeyList","unhandledState","setUnhandledState","useState","nextState","shouldClearUnhandledState","getStateForRouteNamesChange","routeKeyChanges","filter","didConsumeNestedParams","action","reset","payload","merge","pop","updatedState","getStateForAction","setConsumedParams","setConsumed","useEffect","shouldUpdate","lastNotifiedStateRef","onEmitEvent","emitter","e","target","find","index","hasPerScreenListeners","some","listeners","descriptor","descriptors","navigation","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","onUnhandledActionParent","onUnhandledAction","focusedListeners","focus","getStateListeners","NavigationContent","focusedRoute","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","has","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","useInsertionEffect","previousRouteKeyList","unhandledState","setUnhandledState","useState","nextState","shouldClearUnhandledState","getStateForRouteNamesChange","routeKeyChanges","filter","didConsumeNestedParams","action","reset","payload","merge","pop","updatedState","getStateForAction","useEffect","set","shouldUpdate","lastNotifiedStateRef","onEmitEvent","emitter","e","target","find","index","hasPerScreenListeners","some","listeners","descriptor","descriptors","navigation","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","onUnhandledActionParent","onUnhandledAction","focusedListeners","focus","getStateListeners","NavigationContent","focusedRoute","element","Provider","value"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,22 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  import * as React from 'react';
4
- import { getLoaderForState } from "./DataLoading.js";
4
+ import { ConsumedParamsContext } from "./ConsumedParamsContext.js";
5
+ import { getLoaderForStateChange } from "./DataLoading.js";
5
6
  import { NavigationBuilderContext } from "./NavigationBuilderContext.js";
6
7
  import { StaticTreeContext } from "./StaticTreeContext.js";
7
8
  import { shouldPreventRemove, useOnPreventRemove } from "./useOnPreventRemove.js";
8
- const didFocusedRouteChange = (currentState, nextState) => {
9
- let currentFocusedRoute = currentState.routes[currentState.index ?? 0];
10
- let nextFocusedRoute = nextState.routes[nextState.index ?? 0];
11
- let changed = currentFocusedRoute?.key !== nextFocusedRoute?.key;
12
- while (!changed && currentFocusedRoute?.state != null && nextFocusedRoute?.state != null && currentFocusedRoute.state !== nextFocusedRoute.state) {
13
- currentFocusedRoute = currentFocusedRoute.state.routes[currentFocusedRoute.state.index ?? 0];
14
- nextFocusedRoute = nextFocusedRoute.state.routes[nextFocusedRoute.state.index ?? 0];
15
- changed = currentFocusedRoute?.key !== nextFocusedRoute?.key;
16
- }
17
- return changed;
18
- };
19
-
20
9
  /**
21
10
  * Hook to handle actions for a navigator, including state updates and bubbling.
22
11
  *
@@ -43,6 +32,7 @@ export function useOnAction({
43
32
  onDispatchAction
44
33
  } = React.use(NavigationBuilderContext);
45
34
  const tree = React.use(StaticTreeContext);
35
+ const consumedParams = React.use(ConsumedParamsContext);
46
36
  const routerConfigOptionsRef = React.useRef(routerConfigOptions);
47
37
  React.useInsertionEffect(() => {
48
38
  routerConfigOptionsRef.current = routerConfigOptions;
@@ -70,8 +60,8 @@ export function useOnAction({
70
60
  return true;
71
61
  }
72
62
  onDispatchAction(action, false);
73
- if (tree && didFocusedRouteChange(state, result)) {
74
- const loader = getLoaderForState(tree, result);
63
+ if (tree) {
64
+ const loader = getLoaderForStateChange(tree, result, state, consumedParams);
75
65
  loader?.();
76
66
  }
77
67
  setState(result);
@@ -105,7 +95,7 @@ export function useOnAction({
105
95
  }
106
96
  }
107
97
  return false;
108
- }, [actionListeners, beforeRemoveListeners, emitter, getState, key, onActionParent, onDispatchAction, onRouteFocusParent, router, setState, tree]);
98
+ }, [actionListeners, beforeRemoveListeners, consumedParams, emitter, getState, key, onActionParent, onDispatchAction, onRouteFocusParent, router, setState, tree]);
109
99
  useOnPreventRemove({
110
100
  getState,
111
101
  emitter,
@@ -1 +1 @@
1
- {"version":3,"names":["React","getLoaderForState","NavigationBuilderContext","StaticTreeContext","shouldPreventRemove","useOnPreventRemove","didFocusedRouteChange","currentState","nextState","currentFocusedRoute","routes","index","nextFocusedRoute","changed","key","state","useOnAction","router","getState","setState","actionListeners","beforeRemoveListeners","routerConfigOptions","emitter","onAction","onActionParent","onRouteFocus","onRouteFocusParent","addListener","addListenerParent","onDispatchAction","use","tree","routerConfigOptionsRef","useRef","useInsertionEffect","current","useCallback","action","visitedNavigators","Set","has","add","target","result","getStateForAction","isPrevented","loader","undefined","shouldFocus","shouldActionChangeFocus","i","length","listener"],"sourceRoot":"../../src","sources":["useOnAction.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","ConsumedParamsContext","getLoaderForStateChange","NavigationBuilderContext","StaticTreeContext","shouldPreventRemove","useOnPreventRemove","useOnAction","router","getState","setState","key","actionListeners","beforeRemoveListeners","routerConfigOptions","emitter","onAction","onActionParent","onRouteFocus","onRouteFocusParent","addListener","addListenerParent","onDispatchAction","use","tree","consumedParams","routerConfigOptionsRef","useRef","useInsertionEffect","current","useCallback","action","visitedNavigators","Set","state","has","add","target","result","getStateForAction","isPrevented","routes","loader","undefined","shouldFocus","shouldActionChangeFocus","i","length","listener"],"sourceRoot":"../../src","sources":["useOnAction.tsx"],"mappings":"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","ignoreList":[]}
@@ -6,9 +6,7 @@ import { NavigationRouteContext } from "./NavigationProvider.js";
6
6
  const VISITED_ROUTE_KEYS = Symbol('VISITED_ROUTE_KEYS');
7
7
  export const shouldPreventRemove = (emitter, beforeRemoveListeners, currentRoutes, nextRoutes, action) => {
8
8
  const nextRoutesByKey = new Map(nextRoutes.map(route => [route.key, route]).filter(([, route]) => route.key != null));
9
- const visitedRouteKeys =
10
- // @ts-expect-error: add this property to mark that we've already emitted this action
11
- action[VISITED_ROUTE_KEYS] ?? new Set();
9
+ const visitedRouteKeys = VISITED_ROUTE_KEYS in action && action[VISITED_ROUTE_KEYS] instanceof Set ? action[VISITED_ROUTE_KEYS] : new Set();
12
10
  const beforeRemoveAction = {
13
11
  ...action,
14
12
  [VISITED_ROUTE_KEYS]: visitedRouteKeys
@@ -1 +1 @@
1
- {"version":3,"names":["React","NavigationBuilderContext","NavigationRouteContext","VISITED_ROUTE_KEYS","Symbol","shouldPreventRemove","emitter","beforeRemoveListeners","currentRoutes","nextRoutes","action","nextRoutesByKey","Map","map","route","key","filter","visitedRouteKeys","Set","beforeRemoveAction","reversedCurrentRoutes","reverse","has","isPrevented","undefined","add","event","emit","type","target","data","canPreventDefault","defaultPrevented","nextRoute","get","state","useOnPreventRemove","getState","addKeyedListener","use","routeKey","useInsertionEffect","nextState","routes"],"sourceRoot":"../../src","sources":["useOnPreventRemove.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","NavigationBuilderContext","NavigationRouteContext","VISITED_ROUTE_KEYS","Symbol","shouldPreventRemove","emitter","beforeRemoveListeners","currentRoutes","nextRoutes","action","nextRoutesByKey","Map","map","route","key","filter","visitedRouteKeys","Set","beforeRemoveAction","reversedCurrentRoutes","reverse","has","isPrevented","undefined","add","event","emit","type","target","data","canPreventDefault","defaultPrevented","nextRoute","get","state","useOnPreventRemove","getState","addKeyedListener","use","routeKey","useInsertionEffect","nextState","routes"],"sourceRoot":"../../src","sources":["useOnPreventRemove.tsx"],"mappings":"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","ignoreList":[]}
@@ -35,9 +35,7 @@ export function useRouteCache(routes) {
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
37
  // Only needed once per proxy - skip if we're reusing a previously-frozen one
38
- for (const key in proxy) {
39
- // @ts-expect-error: this is fine since we are looping through the object
40
- const value = proxy[key];
38
+ for (const [key, value] of Object.entries(proxy)) {
41
39
  Object.defineProperty(proxy, key, {
42
40
  enumerable: true,
43
41
  configurable: true,
@@ -1 +1 @@
1
- {"version":3,"names":["React","isRecordEqual","CHILD_STATE","Symbol","useRouteCache","routes","cache","useMemo","current","Map","next","reduce","acc","route","previous","get","key","state","routeWithoutState","proxy","process","env","NODE_ENV","value","Object","defineProperty","enumerable","configurable","writable","set","useInsertionEffect","Array","from","values"],"sourceRoot":"../../src","sources":["useRouteCache.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,aAAa,QAAQ,oBAAiB;AAG/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,CACzB,OAAO;IAAEC,OAAO,EAAE,IAAIC,GAAG,CAAmC;EAAE,CAAC,CAAC,EAChE,EACF,CAAC;EAED,MAAMC,IAAI,GAAGL,MAAM,CAACM,MAAM,CAAC,CAACC,GAAG,EAAEC,KAAK,KAAK;IACzC,MAAMC,QAAQ,GAAGR,KAAK,CAACE,OAAO,CAACO,GAAG,CAACF,KAAK,CAACG,GAAG,CAAC;IAC7C,MAAM;MAAEC,KAAK;MAAE,GAAGC;IAAkB,CAAC,GAAGL,KAAK;IAE7C,IAAIM,KAAK;IAET,IAAIL,QAAQ,IAAIb,aAAa,CAACa,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;;IAEA;IACA,IAAIJ,KAAK,CAACjB,WAAW,CAAC,KAAKe,KAAK,EAAE;MAChCO,MAAM,CAACC,cAAc,CAACN,KAAK,EAAEjB,WAAW,EAAE;QACxCwB,UAAU,EAAE,KAAK;QACjBC,YAAY,EAAE,IAAI;QAClBJ,KAAK,EAAEN;MACT,CAAC,CAAC;IACJ;IAEAL,GAAG,CAACiB,GAAG,CAAChB,KAAK,CAACG,GAAG,EAAEG,KAAK,CAAC;IAEzB,OAAOP,GAAG;EACZ,CAAC,EAAE,IAAIH,GAAG,CAAmC,CAAC,CAAC;EAE/CT,KAAK,CAAC8B,kBAAkB,CAAC,MAAM;IAC7BxB,KAAK,CAACE,OAAO,GAAGE,IAAI;EACtB,CAAC,CAAC;EAEF,OAAOqB,KAAK,CAACC,IAAI,CAACtB,IAAI,CAACuB,MAAM,CAAC,CAAC,CAAC;AAClC","ignoreList":[]}
1
+ {"version":3,"names":["React","isRecordEqual","CHILD_STATE","Symbol","useRouteCache","routes","cache","useMemo","current","Map","next","reduce","acc","route","previous","get","key","state","routeWithoutState","proxy","process","env","NODE_ENV","value","Object","entries","defineProperty","enumerable","configurable","writable","set","useInsertionEffect","Array","from","values"],"sourceRoot":"../../src","sources":["useRouteCache.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,aAAa,QAAQ,oBAAiB;AAG/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,CACzB,OAAO;IAAEC,OAAO,EAAE,IAAIC,GAAG,CAAmC;EAAE,CAAC,CAAC,EAChE,EACF,CAAC;EAED,MAAMC,IAAI,GAAGL,MAAM,CAACM,MAAM,CAAC,CAACC,GAAG,EAAEC,KAAK,KAAK;IACzC,MAAMC,QAAQ,GAAGR,KAAK,CAACE,OAAO,CAACO,GAAG,CAACF,KAAK,CAACG,GAAG,CAAC;IAC7C,MAAM;MAAEC,KAAK;MAAE,GAAGC;IAAkB,CAAC,GAAGL,KAAK;IAE7C,IAAIM,KAAK;IAET,IAAIL,QAAQ,IAAIb,aAAa,CAACa,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,MAAM,CAACE,GAAG,EAAEO,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACN,KAAK,CAAC,EAAE;QAChDK,MAAM,CAACE,cAAc,CAACP,KAAK,EAAEH,GAAG,EAAE;UAChCW,UAAU,EAAE,IAAI;UAChBC,YAAY,EAAE,IAAI;UAClBC,QAAQ,EAAE,KAAK;UACfN;QACF,CAAC,CAAC;MACJ;IACF;;IAEA;IACA,IAAIJ,KAAK,CAACjB,WAAW,CAAC,KAAKe,KAAK,EAAE;MAChCO,MAAM,CAACE,cAAc,CAACP,KAAK,EAAEjB,WAAW,EAAE;QACxCyB,UAAU,EAAE,KAAK;QACjBC,YAAY,EAAE,IAAI;QAClBL,KAAK,EAAEN;MACT,CAAC,CAAC;IACJ;IAEAL,GAAG,CAACkB,GAAG,CAACjB,KAAK,CAACG,GAAG,EAAEG,KAAK,CAAC;IAEzB,OAAOP,GAAG;EACZ,CAAC,EAAE,IAAIH,GAAG,CAAmC,CAAC,CAAC;EAE/CT,KAAK,CAAC+B,kBAAkB,CAAC,MAAM;IAC7BzB,KAAK,CAACE,OAAO,GAAGE,IAAI;EACtB,CAAC,CAAC;EAEF,OAAOsB,KAAK,CAACC,IAAI,CAACvB,IAAI,CAACwB,MAAM,CAAC,CAAC,CAAC;AAClC","ignoreList":[]}
@@ -20,8 +20,9 @@ const createStore = getInitialState => {
20
20
  let didUpdate = false;
21
21
  const setState = newState => {
22
22
  state = deepFreeze(newState);
23
- didUpdate = true;
24
- if (!isBatching) {
23
+ if (isBatching) {
24
+ didUpdate = true;
25
+ } else {
25
26
  listeners.forEach(listener => listener());
26
27
  }
27
28
  };
@@ -1 +1 @@
1
- {"version":3,"names":["React","useLatestCallback","deepFreeze","useLazyValue","createStore","getInitialState","listeners","Set","initialized","state","getState","isBatching","didUpdate","setState","newState","forEach","listener","subscribe","callback","add","delete","batchUpdates","useSyncState","store","rerender","useReducer","_","undefined","useEffect","unsubscribe","pendingUpdatesRef","useRef","scheduleUpdate","current","push","flushUpdates","pendingUpdates","length","reverse","update"],"sourceRoot":"../../src","sources":["useSyncState.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useLatestCallback","deepFreeze","useLazyValue","createStore","getInitialState","listeners","Set","initialized","state","getState","isBatching","didUpdate","setState","newState","forEach","listener","subscribe","callback","add","delete","batchUpdates","useSyncState","store","rerender","useReducer","_","undefined","useEffect","unsubscribe","pendingUpdatesRef","useRef","scheduleUpdate","current","push","flushUpdates","pendingUpdates","length","reverse","update"],"sourceRoot":"../../src","sources":["useSyncState.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
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,qBAgYlB"}
1
+ {"version":3,"file":"BaseNavigationContainer.d.ts","sourceRoot":"","sources":["../../../src/BaseNavigationContainer.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B,OAAO,KAAK,EAEV,wBAAwB,EACxB,sBAAsB,EACtB,aAAa,EACd,MAAM,YAAS,CAAC;AAejB,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,qBAoYlB"}
@@ -1,8 +1,3 @@
1
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 {};
2
+ export declare const ConsumedParamsContext: React.Context<WeakMap<object, true> | undefined>;
8
3
  //# sourceMappingURL=ConsumedParamsContext.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"ConsumedParamsContext.d.ts","sourceRoot":"","sources":["../../../src/ConsumedParamsContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,eAAO,MAAM,qBAAqB,kDAEtB,CAAC"}
@@ -17,4 +17,5 @@ import type { TreeForPathConfig } from './StaticNavigation.js';
17
17
  * ```
18
18
  */
19
19
  export declare function getLoaderForState(tree: TreeForPathConfig, state: PartialState<NavigationState> | NavigationState | undefined): (() => Promise<void>) | undefined;
20
+ export declare function getLoaderForStateChange(tree: TreeForPathConfig, state: PartialState<NavigationState> | NavigationState | undefined, previousState: PartialState<NavigationState> | NavigationState | undefined, consumedParams: WeakMap<object, true> | undefined): (() => Promise<void>) | undefined;
20
21
  //# sourceMappingURL=DataLoading.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataLoading.d.ts","sourceRoot":"","sources":["../../../src/DataLoading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAoB,CAAC;AAkD5D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,YAAY,CAAC,eAAe,CAAC,GAAG,eAAe,GAAG,SAAS,GACjE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAkEnC"}
1
+ {"version":3,"file":"DataLoading.d.ts","sourceRoot":"","sources":["../../../src/DataLoading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAoB,CAAC;AAkD5D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,YAAY,CAAC,eAAe,CAAC,GAAG,eAAe,GAAG,SAAS,GACjE,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAEnC;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,YAAY,CAAC,eAAe,CAAC,GAAG,eAAe,GAAG,SAAS,EAClE,aAAa,EAAE,YAAY,CAAC,eAAe,CAAC,GAAG,eAAe,GAAG,SAAS,EAC1E,cAAc,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,SAAS,GAChD,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAyHnC"}
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"NavigationIndependentTree.d.ts","sourceRoot":"","sources":["../../../src/NavigationIndependentTree.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,qBAmBA"}
@@ -1 +1 @@
1
- {"version":3,"file":"SceneView.d.ts","sourceRoot":"","sources":["../../../src/SceneView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,YAAY,EACZ,KAAK,EACN,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,YAAS,CAAC;AAGpE,KAAK,KAAK,CAAC,KAAK,SAAS,eAAe,EAAE,aAAa,SAAS,EAAE,IAAI;IACpE,MAAM,EAAE,oBAAoB,CAAC,aAAa,EAAE,MAAM,CAAC,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACvE,UAAU,EAAE,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;IACxE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,UAAU,EAAE,eAAe,GAAG,YAAY,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;IACxE,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,SAAS,CACvB,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,EACA,MAAM,EACN,KAAK,EACL,UAAU,EACV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,YAAY,GACb,EAAE,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,qBAqL7B"}
1
+ {"version":3,"file":"SceneView.d.ts","sourceRoot":"","sources":["../../../src/SceneView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,YAAY,EACZ,KAAK,EACN,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,YAAS,CAAC;AAGpE,KAAK,KAAK,CAAC,KAAK,SAAS,eAAe,EAAE,aAAa,SAAS,EAAE,IAAI;IACpE,MAAM,EAAE,oBAAoB,CAAC,aAAa,EAAE,MAAM,CAAC,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACvE,UAAU,EAAE,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;IACxE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,UAAU,EAAE,eAAe,GAAG,YAAY,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;IACxE,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,SAAS,CACvB,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,EACA,MAAM,EACN,KAAK,EACL,UAAU,EACV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,YAAY,GACb,EAAE,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,qBAoJ7B"}
@@ -1,7 +1,7 @@
1
1
  import type { NavigationState, ParamListBase, Route } from '@react-navigation/routers';
2
2
  import * as React from 'react';
3
3
  import type { EventMapBase, NavigationListBase, NavigatorProps, NavigatorScreenParams, NavigatorTypeBagBase, NavigatorTypeBagFor, PathConfigMap, RouteGroupConfig, ScreenListeners, Theme } from './types.js';
4
- import type { AnyToUnknown, FlatType, HasArguments, InferParamsFromLinking, KeysOf, NoExcessObject, NotUndefinedObject, StandardSchemaV1, UnionToIntersection, ValidPathPattern } from './utilities.js';
4
+ import type { AnyToUnknown, FlatType, HasArguments, InferParamsFromLinking, KeysOf, NoExcessCallbackReturn, NoExcessObject, NoExcessValue, NotUndefinedObject, StandardSchemaV1, UnionToIntersection, ValidPathPattern } from './utilities.js';
5
5
  type ScreenComponentParams<T> = [T] extends [
6
6
  React.ComponentType<{
7
7
  route: {
@@ -12,9 +12,11 @@ type ScreenComponentParams<T> = [T] extends [
12
12
  type ParamsForScreenComponent<T> = [T] extends [(...args: any[]) => any] ? HasArguments<T> extends true ? ScreenComponentParams<T> : undefined : ScreenComponentParams<T>;
13
13
  type ParamsForNestedNavigator<T extends {
14
14
  config: any;
15
- }, ParamList extends {} = StaticParamList<T>, Params = NavigatorScreenParams<ParamList>> = {
16
- [RouteName in keyof ParamList]-?: undefined extends ParamList[RouteName] ? never : RouteName;
17
- }[keyof ParamList] extends never ? Params | undefined : Params;
15
+ }, ParamList extends {} = StaticParamList<T>, Params = NavigatorScreenParams<ParamList>, RouteNames extends keyof ParamList = T['config'] extends {
16
+ initialRouteName: infer RouteName extends keyof ParamList;
17
+ } ? RouteName : keyof ParamList> = {
18
+ [RouteName in RouteNames]-?: undefined extends ParamList[RouteName] ? never : RouteName;
19
+ }[RouteNames] extends never ? Params | undefined : Params;
18
20
  type ParamsForScreen<T> = [T] extends [{
19
21
  config: any;
20
22
  }] ? ParamsForNestedNavigator<T> : [T] extends [React.ComponentType<any>] ? ParamsForScreenComponent<T> : undefined;
@@ -40,24 +42,25 @@ type ParamsForConfig<Linking, Screen, Params = ParamsForScreen<Screen>> = Should
40
42
  }] ? undefined extends Params ? FlatType<InferParamsFromLinking<Linking>> & Params : // Optional linking params make the whole route params type optional when intersected.
41
43
  FlatType<NotUndefinedObject<InferParamsFromLinking<Linking>>> & Params : undefined extends Params ? FlatType<InferParamsFromLinking<Linking>> : FlatType<InferParamsFromLinking<Linking> & Params> : Params;
42
44
  type ParamListForScreens<Screens> = {
43
- [Key in KeysOf<Screens>]: Screens[Key] extends StaticScreenConfig<infer Linking, infer Screen, any, any, any, any, any> ? ParamsForConfig<Linking, Screen> : ParamsForScreenEntry<Screens[Key]>;
45
+ [Key in KeysOf<Screens>]: Screens[Key] extends StaticScreenConfig<infer Linking, infer Screen, any, any, any, any, any, any, any> ? ParamsForConfig<Linking, Screen> : ParamsForScreenEntry<Screens[Key]>;
44
46
  };
45
47
  type ParamListForGroups<Groups> = Groups extends {
46
48
  [key: string]: {
47
49
  screens: infer Screens;
48
50
  };
49
51
  } ? ParamListForScreens<UnionToIntersection<Screens>> : {};
50
- type StaticRoute<Params, P = AnyToUnknown<Params>> = Readonly<Omit<Route<string>, 'params'> & (undefined extends Params ? {
52
+ type StaticRouteBase = Readonly<Omit<Route<string>, 'params'>>;
53
+ type StaticRoute<Params, P = AnyToUnknown<Params>> = StaticRouteBase & (undefined extends Params ? {
51
54
  /**
52
55
  * Params for this route
53
56
  */
54
- params?: P extends object ? Readonly<P> : P;
57
+ readonly params?: P extends object ? Readonly<P> : P;
55
58
  } : {
56
59
  /**
57
60
  * Params for this route
58
61
  */
59
- params: Readonly<P>;
60
- })>;
62
+ readonly params: Readonly<P>;
63
+ });
61
64
  type StaticScreenConfigLinkingAlias = {
62
65
  /**
63
66
  * Path string to match against.
@@ -84,7 +87,7 @@ type StaticScreenConfigLinkingAlias = {
84
87
  parse?: Record<string, ((value: string) => unknown) | StandardSchemaV1<string | string[] | null | undefined, unknown>>;
85
88
  /**
86
89
  * An object mapping the param name to a function which converts the param value to a string.
87
- * By default, all params are converted to strings using `String(value)`.
90
+ * By default, arrays and null are preserved for query params, and other values are converted using `String(value)`.
88
91
  *
89
92
  * @example
90
93
  * ```js
@@ -127,7 +130,7 @@ type StaticScreenConfigLinkingExtras = {
127
130
  };
128
131
  export type StaticScreenConfigLinking = string | (StaticScreenConfigLinkingAlias & StaticScreenConfigLinkingExtras) | null | undefined;
129
132
  export type StaticScreenConfigScreen = React.ComponentType<any> | StaticNavigation<any>;
130
- export type StaticScreenConfig<Linking extends StaticScreenConfigLinking, Screen, State extends NavigationState, ScreenOptions extends {}, EventMap extends EventMapBase, Navigation, Params = ParamsForConfig<Linking, Screen>> = {
133
+ export interface StaticScreenConfig<out Linking extends StaticScreenConfigLinking, out Screen, in out State extends NavigationState, in out ScreenOptions extends {}, in out EventMap extends EventMapBase, in out Navigation, in out Params = ParamsForConfig<Linking, Screen>, in out ProvidedOptions extends {} = {}, in out ProvidedListeners extends {} = {}> {
131
134
  /**
132
135
  * Static navigation config or Component to render for the screen.
133
136
  */
@@ -160,7 +163,7 @@ export type StaticScreenConfig<Linking extends StaticScreenConfigLinking, Screen
160
163
  route: StaticRoute<Params>;
161
164
  navigation: Navigation;
162
165
  theme: Theme;
163
- }) => ScreenOptions);
166
+ }) => NoExcessCallbackReturn<ProvidedOptions, ScreenOptions>);
164
167
  /**
165
168
  * Event listeners for this screen.
166
169
  *
@@ -176,7 +179,7 @@ export type StaticScreenConfig<Linking extends StaticScreenConfigLinking, Screen
176
179
  listeners?: ScreenListeners<State, EventMap> | ((props: {
177
180
  route: StaticRoute<Params>;
178
181
  navigation: Navigation;
179
- }) => ScreenListeners<State, EventMap>);
182
+ }) => NoExcessCallbackReturn<ProvidedListeners, ScreenListeners<State, EventMap>>);
180
183
  /**
181
184
  * Layout for this screen.
182
185
  *
@@ -252,16 +255,14 @@ export type StaticScreenConfig<Linking extends StaticScreenConfigLinking, Screen
252
255
  name: string;
253
256
  params: AnyToUnknown<Params>;
254
257
  }) => Promise<void>;
255
- };
256
- export type StaticScreenFactory<in out Bag extends NavigatorTypeBagBase> = <const Linking extends StaticScreenConfigLinking, const Screen extends StaticScreenConfigScreen, const ProvidedOptions extends Bag['ScreenOptions'] | ((...args: never[]) => unknown) = Bag['ScreenOptions']>(config: StaticScreenConfig<Linking, Screen, Bag['State'], Bag['ScreenOptions'], Bag['EventMap'], Bag['NavigationList'][keyof Bag['ParamList']]> & {
257
- options?: ProvidedOptions & NoExcessOptions<ProvidedOptions, Bag['ScreenOptions']>;
258
- }) => StaticScreenConfig<Linking, Screen, Bag['State'], Bag['ScreenOptions'], Bag['EventMap'], Bag['NavigationList'][keyof Bag['ParamList']]>;
258
+ }
259
+ export type StaticScreenFactory<in out Bag extends NavigatorTypeBagBase> = <const Linking extends StaticScreenConfigLinking, const Screen extends StaticScreenConfigScreen, ProvidedOptions extends {} = {}, ProvidedListeners extends {} = {}>(config: StaticScreenConfig<Linking, Screen, Bag['State'], Bag['ScreenOptions'], Bag['EventMap'], Bag['NavigationList'][keyof Bag['ParamList']], ParamsForConfig<Linking, Screen>, ProvidedOptions, ProvidedListeners>) => StaticScreenConfig<Linking, Screen, Bag['State'], Bag['ScreenOptions'], Bag['EventMap'], Bag['NavigationList'][keyof Bag['ParamList']]>;
259
260
  /**
260
261
  * Helper to create a typed `createXScreen` for static configuration.
261
262
  */
262
263
  export declare function createScreenFactory<TypeBag extends NavigatorTypeBagBase>(): StaticScreenFactory<NavigatorTypeBagFor<TypeBag, ParamListBase>>;
263
264
  type StaticConfigScreens<in out ParamList extends ParamListBase, in out State extends NavigationState, in out ScreenOptions extends {}, in out EventMap extends EventMapBase, in out NavigationList extends NavigationListBase<ParamList>> = {
264
- [RouteName in keyof ParamList]: StaticScreenConfigScreen | StaticScreenConfig<StaticScreenConfigLinking, StaticScreenConfigScreen, State, ScreenOptions, EventMap, NavigationList[RouteName], any>;
265
+ [RouteName in keyof ParamList]: StaticScreenConfigScreen | StaticScreenConfig<StaticScreenConfigLinking, StaticScreenConfigScreen, State, ScreenOptions, EventMap, NavigationList[RouteName], any, {}, {}>;
265
266
  };
266
267
  type StaticConfigGroup<ParamList extends ParamListBase, State extends NavigationState, ScreenOptions extends {}, EventMap extends EventMapBase, NavigationList extends NavigationListBase<ParamList>> = Omit<RouteGroupConfig<ParamList, ScreenOptions, NavigationList[keyof ParamList]>, 'screens' | 'children'> & {
267
268
  /**
@@ -295,31 +296,39 @@ export type StaticConfig<Bag extends NavigatorTypeBagBase, Screens = StaticConfi
295
296
  */
296
297
  groups: Groups;
297
298
  });
298
- type NoExcessOptions<Provided, Allowed extends {}> = Provided extends (...args: never[]) => infer Return ? (...args: never[]) => Allowed & NoExcessObject<Return, Allowed> : NoExcessObject<Provided, Allowed>;
299
- type NoExcessScreen<Screen, ScreenOptions extends {}> = Screen extends {
299
+ type NoExcessScreen<Screen, ScreenOptions extends {}, Listeners extends {}> = (Screen extends {
300
300
  screen: unknown;
301
301
  options: unknown;
302
302
  } ? {
303
- options: NoExcessOptions<Screen['options'], ScreenOptions>;
304
- } : unknown;
305
- type NoExcessScreens<Screens, ScreenOptions extends {}> = {
306
- [RouteName in keyof Screens]: NoExcessScreen<Screens[RouteName], ScreenOptions>;
303
+ options: NoExcessValue<Screen['options'], ScreenOptions>;
304
+ } : unknown) & (Screen extends {
305
+ screen: unknown;
306
+ listeners: unknown;
307
+ } ? {
308
+ listeners: NoExcessValue<Screen['listeners'], Listeners>;
309
+ } : unknown);
310
+ type NoExcessScreens<Screens, ScreenOptions extends {}, Listeners extends {}> = {
311
+ [RouteName in keyof Screens]: NoExcessScreen<Screens[RouteName], ScreenOptions, Listeners>;
307
312
  };
308
- type NoExcessGroups<Groups, Bag extends NavigatorTypeBagBase, ScreenOptions extends {}> = {
309
- [GroupName in keyof Groups]: NoExcessObject<Groups[GroupName], StaticConfigGroup<ParamListBase, NavigationState, {}, EventMapBase, NavigationListBase<ParamListBase>>> & NoExcessStaticConfig<Groups[GroupName], Bag, ScreenOptions>;
313
+ type NoExcessGroups<Groups, Bag extends NavigatorTypeBagBase, ScreenOptions extends {}, Listeners extends {}> = {
314
+ [GroupName in keyof Groups]: NoExcessObject<Groups[GroupName], StaticConfigGroup<ParamListBase, NavigationState, {}, EventMapBase, NavigationListBase<ParamListBase>>> & NoExcessStaticConfig<Groups[GroupName], Bag, ScreenOptions, Listeners>;
310
315
  };
311
- export type NoExcessStaticConfig<Config, Bag extends NavigatorTypeBagBase, ScreenOptions extends {} = Bag['ScreenOptions']> = (Config extends {
316
+ export type NoExcessStaticConfig<Config, Bag extends NavigatorTypeBagBase, ScreenOptions extends {} = Bag['ScreenOptions'], Listeners extends {} = ScreenListeners<Bag['State'], Bag['EventMap']>> = (Config extends {
312
317
  screenOptions: infer ProvidedOptions;
313
318
  } ? {
314
- screenOptions: NoExcessOptions<ProvidedOptions, ScreenOptions>;
319
+ screenOptions: NoExcessValue<ProvidedOptions, ScreenOptions>;
320
+ } : unknown) & (Config extends {
321
+ screenListeners: infer ProvidedListeners;
322
+ } ? {
323
+ screenListeners: NoExcessValue<ProvidedListeners, Listeners>;
315
324
  } : unknown) & (Config extends {
316
325
  screens: infer Screens;
317
326
  } ? {
318
- screens: NoExcessScreens<Screens, ScreenOptions>;
327
+ screens: NoExcessScreens<Screens, ScreenOptions, Listeners>;
319
328
  } : unknown) & (Config extends {
320
329
  groups: infer Groups;
321
330
  } ? {
322
- groups: NoExcessGroups<Groups, Bag, ScreenOptions>;
331
+ groups: NoExcessGroups<Groups, Bag, ScreenOptions, Listeners>;
323
332
  } : unknown);
324
333
  /**
325
334
  * Props for a screen component which is rendered by a static navigator.