@react-navigation/core 8.0.0-alpha.34 → 8.0.0-alpha.35

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 (84) hide show
  1. package/README.md +17 -14
  2. package/lib/module/BaseNavigationContainer.js +14 -2
  3. package/lib/module/BaseNavigationContainer.js.map +1 -1
  4. package/lib/module/NavigationIndependentTree.js +9 -6
  5. package/lib/module/NavigationIndependentTree.js.map +1 -1
  6. package/lib/module/NavigationProvider.js +9 -4
  7. package/lib/module/NavigationProvider.js.map +1 -1
  8. package/lib/module/PreventRemoveProvider.js +2 -2
  9. package/lib/module/PreventRemoveProvider.js.map +1 -1
  10. package/lib/module/SceneView.js +2 -1
  11. package/lib/module/SceneView.js.map +1 -1
  12. package/lib/module/useDescriptors.js +7 -4
  13. package/lib/module/useDescriptors.js.map +1 -1
  14. package/lib/module/useFocusEffect.js +4 -2
  15. package/lib/module/useFocusEffect.js.map +1 -1
  16. package/lib/module/useFocusEvents.js +4 -2
  17. package/lib/module/useFocusEvents.js.map +1 -1
  18. package/lib/module/useIsFocused.js +1 -0
  19. package/lib/module/useIsFocused.js.map +1 -1
  20. package/lib/module/useNavigationBuilder.js +40 -37
  21. package/lib/module/useNavigationBuilder.js.map +1 -1
  22. package/lib/module/useNavigationCache.js +82 -78
  23. package/lib/module/useNavigationCache.js.map +1 -1
  24. package/lib/module/useNavigationState.js +48 -23
  25. package/lib/module/useNavigationState.js.map +1 -1
  26. package/lib/module/useOptionsGetters.js +18 -17
  27. package/lib/module/useOptionsGetters.js.map +1 -1
  28. package/lib/module/usePreventRemoveContext.js +1 -1
  29. package/lib/module/usePreventRemoveContext.js.map +1 -1
  30. package/lib/module/useRouteCache.js +43 -33
  31. package/lib/module/useRouteCache.js.map +1 -1
  32. package/lib/module/useScheduleUpdate.js +3 -1
  33. package/lib/module/useScheduleUpdate.js.map +1 -1
  34. package/lib/module/useSyncState.js +9 -10
  35. package/lib/module/useSyncState.js.map +1 -1
  36. package/lib/typescript/src/BaseNavigationContainer.d.ts.map +1 -1
  37. package/lib/typescript/src/NavigationBuilderContext.d.ts +1 -1
  38. package/lib/typescript/src/NavigationBuilderContext.d.ts.map +1 -1
  39. package/lib/typescript/src/NavigationIndependentTree.d.ts.map +1 -1
  40. package/lib/typescript/src/NavigationProvider.d.ts.map +1 -1
  41. package/lib/typescript/src/PreventRemoveProvider.d.ts.map +1 -1
  42. package/lib/typescript/src/SceneView.d.ts +2 -1
  43. package/lib/typescript/src/SceneView.d.ts.map +1 -1
  44. package/lib/typescript/src/useDescriptors.d.ts +2 -2
  45. package/lib/typescript/src/useDescriptors.d.ts.map +1 -1
  46. package/lib/typescript/src/useFocusEffect.d.ts.map +1 -1
  47. package/lib/typescript/src/useFocusEvents.d.ts.map +1 -1
  48. package/lib/typescript/src/useIsFocused.d.ts +1 -0
  49. package/lib/typescript/src/useIsFocused.d.ts.map +1 -1
  50. package/lib/typescript/src/useNavigationBuilder.d.ts +1 -3
  51. package/lib/typescript/src/useNavigationBuilder.d.ts.map +1 -1
  52. package/lib/typescript/src/useNavigationCache.d.ts.map +1 -1
  53. package/lib/typescript/src/useNavigationState.d.ts +1 -0
  54. package/lib/typescript/src/useNavigationState.d.ts.map +1 -1
  55. package/lib/typescript/src/useOptionsGetters.d.ts +2 -4
  56. package/lib/typescript/src/useOptionsGetters.d.ts.map +1 -1
  57. package/lib/typescript/src/useRouteCache.d.ts +7 -12
  58. package/lib/typescript/src/useRouteCache.d.ts.map +1 -1
  59. package/lib/typescript/src/useScheduleUpdate.d.ts.map +1 -1
  60. package/lib/typescript/src/useSyncState.d.ts.map +1 -1
  61. package/package.json +2 -2
  62. package/src/BaseNavigationContainer.tsx +19 -2
  63. package/src/NavigationBuilderContext.tsx +1 -1
  64. package/src/NavigationIndependentTree.tsx +16 -8
  65. package/src/NavigationProvider.tsx +13 -4
  66. package/src/PreventRemoveProvider.tsx +2 -8
  67. package/src/SceneView.tsx +3 -1
  68. package/src/useDescriptors.tsx +18 -5
  69. package/src/useFocusEffect.tsx +5 -2
  70. package/src/useFocusEvents.tsx +5 -2
  71. package/src/useIsFocused.tsx +4 -0
  72. package/src/useNavigationBuilder.tsx +53 -45
  73. package/src/useNavigationCache.tsx +127 -105
  74. package/src/useNavigationState.tsx +60 -29
  75. package/src/useOptionsGetters.tsx +24 -24
  76. package/src/usePreventRemoveContext.tsx +1 -1
  77. package/src/useRouteCache.tsx +49 -33
  78. package/src/useScheduleUpdate.tsx +4 -1
  79. package/src/useSyncState.tsx +9 -11
  80. package/lib/module/useComponent.js +0 -34
  81. package/lib/module/useComponent.js.map +0 -1
  82. package/lib/typescript/src/useComponent.d.ts +0 -7
  83. package/lib/typescript/src/useComponent.d.ts.map +0 -1
  84. package/src/useComponent.tsx +0 -37
@@ -1 +1 @@
1
- {"version":3,"names":["React","jsx","_jsx","useNavigationState","args","selector","Error","select","listener","name","listeners","use","NamedNavigationStateListenerListContext","NavigationStateListenerContext","getState","getSnapshot","subscribe","entry","dispatch","useReducer","previous","event","state","Object","is","undefined","committedRef","useRef","useInsertionEffect","current","snapshot","behind","useLayoutEffect","check","target","unsubscribe","NavigationStateListenerProvider","isSynced","children","useState","Set","forEach","snapshotRef","nextState","context","useMemo","callback","add","delete","Provider","value","NamedNavigationStateListenerProvider","parents","createContext"],"sourceRoot":"../../src","sources":["useNavigationState.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","jsx","_jsx","useNavigationState","args","selector","Error","select","listener","name","listeners","use","NamedNavigationStateListenerListContext","NavigationStateListenerContext","getState","getSnapshot","subscribe","initialRef","useRef","initialState","current","initialStateContext","undefined","committedRef","entry","state","dispatch","useReducer","previous","event","previousState","Object","is","useInsertionEffect","useLayoutEffect","check","target","unsubscribe","NavigationStateListenerProvider","isSynced","children","InitialStateContext","useState","createContext","Set","forEach","snapshotRef","nextState","context","useMemo","callback","add","delete","Provider","value","NamedNavigationStateListenerProvider","parents"],"sourceRoot":"../../src","sources":["useNavigationState.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,31 +3,25 @@
3
3
  import * as React from 'react';
4
4
  import { NavigationBuilderContext } from "./NavigationBuilderContext.js";
5
5
  import { NavigationStateContext } from "./NavigationStateContext.js";
6
+ import { IsFocusedContext } from "./useIsFocused.js";
6
7
  export function useOptionsGetters({
7
8
  key,
8
9
  options,
9
- navigation
10
+ getFocusedRouteKey
10
11
  }) {
12
+ const isFocused = React.use(IsFocusedContext) ?? true;
11
13
  const optionsRef = React.useRef(options);
12
14
  const optionsGettersFromChildRef = React.useRef({});
13
15
  const onOptionsChange = React.use(NavigationBuilderContext)?.onOptionsChange;
14
16
  const {
15
17
  addOptionsGetter: parentAddOptionsGetter
16
18
  } = React.use(NavigationStateContext);
17
- const optionsChangeListener = React.useCallback(() => {
18
- const isFocused = navigation?.isFocused() ?? true;
19
- const hasChildren = Object.keys(optionsGettersFromChildRef.current).length;
20
- if (isFocused && !hasChildren) {
21
- onOptionsChange?.(optionsRef.current ?? {});
22
- }
23
- }, [navigation, onOptionsChange]);
24
19
  React.useInsertionEffect(() => {
25
20
  optionsRef.current = options;
26
21
  }, [options]);
27
22
  React.useEffect(() => {
28
- optionsChangeListener();
29
- return navigation?.addListener('focus', optionsChangeListener);
30
- }, [navigation, options, optionsChangeListener]);
23
+ onOptionsChange?.();
24
+ }, [isFocused, onOptionsChange, options]);
31
25
  const getOptionsFromListener = React.useCallback(() => {
32
26
  for (const key in optionsGettersFromChildRef.current) {
33
27
  if (key in optionsGettersFromChildRef.current) {
@@ -42,8 +36,11 @@ export function useOptionsGetters({
42
36
  return null;
43
37
  }, []);
44
38
  const getCurrentOptions = React.useCallback(() => {
45
- const isFocused = navigation?.isFocused() ?? true;
46
- if (!isFocused) {
39
+ // We use focused route key from the navigator instead of `isFocused`
40
+ // Because `isFocused` may reflect the value the screen last rendered with,
41
+ // e.g. if `Activity` hides the screen before it rendered the new value,
42
+ // it updates at a lower priority, so it may be delayed.
43
+ if (key != null && getFocusedRouteKey?.() !== key) {
47
44
  return null;
48
45
  }
49
46
  const optionsFromListener = getOptionsFromListener();
@@ -51,7 +48,7 @@ export function useOptionsGetters({
51
48
  return optionsFromListener;
52
49
  }
53
50
  return optionsRef.current;
54
- }, [navigation, getOptionsFromListener]);
51
+ }, [key, getFocusedRouteKey, getOptionsFromListener]);
55
52
  React.useInsertionEffect(() => {
56
53
  // We don't have a parent at the root
57
54
  if (key != null) {
@@ -60,13 +57,17 @@ export function useOptionsGetters({
60
57
  }, [getCurrentOptions, parentAddOptionsGetter, key]);
61
58
  const addOptionsGetter = React.useCallback((key, getter) => {
62
59
  optionsGettersFromChildRef.current[key] = getter;
63
- optionsChangeListener();
64
60
  return () => {
65
61
  // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
66
62
  delete optionsGettersFromChildRef.current[key];
67
- optionsChangeListener();
63
+
64
+ // Other getters and the focused route may still change during cleanup.
65
+ // Wait until the commit finishes before reporting the remaining options.
66
+ if (onOptionsChange !== undefined) {
67
+ queueMicrotask(onOptionsChange);
68
+ }
68
69
  };
69
- }, [optionsChangeListener]);
70
+ }, [onOptionsChange]);
70
71
  return {
71
72
  addOptionsGetter,
72
73
  getCurrentOptions
@@ -1 +1 @@
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","useInsertionEffect","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","IsFocusedContext","useOptionsGetters","key","options","getFocusedRouteKey","isFocused","use","optionsRef","useRef","optionsGettersFromChildRef","onOptionsChange","addOptionsGetter","parentAddOptionsGetter","useInsertionEffect","current","useEffect","getOptionsFromListener","useCallback","result","getCurrentOptions","optionsFromListener","getter","undefined","queueMicrotask"],"sourceRoot":"../../src","sources":["useOptionsGetters.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,wBAAwB,QAAQ,+BAA4B;AACrE,SAASC,sBAAsB,QAAQ,6BAA0B;AACjE,SAASC,gBAAgB,QAAQ,mBAAgB;AAQjD,OAAO,SAASC,iBAAiBA,CAAC;EAChCC,GAAG;EACHC,OAAO;EACPC;AACO,CAAC,EAAE;EACV,MAAMC,SAAS,GAAGR,KAAK,CAACS,GAAG,CAACN,gBAAgB,CAAC,IAAI,IAAI;EAErD,MAAMO,UAAU,GAAGV,KAAK,CAACW,MAAM,CAAqBL,OAAO,CAAC;EAC5D,MAAMM,0BAA0B,GAAGZ,KAAK,CAACW,MAAM,CAE7C,CAAC,CAAC,CAAC;EAEL,MAAME,eAAe,GAAGb,KAAK,CAACS,GAAG,CAACR,wBAAwB,CAAC,EAAEY,eAAe;EAE5E,MAAM;IAAEC,gBAAgB,EAAEC;EAAuB,CAAC,GAAGf,KAAK,CAACS,GAAG,CAC5DP,sBACF,CAAC;EAEDF,KAAK,CAACgB,kBAAkB,CAAC,MAAM;IAC7BN,UAAU,CAACO,OAAO,GAAGX,OAAO;EAC9B,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEbN,KAAK,CAACkB,SAAS,CAAC,MAAM;IACpBL,eAAe,GAAG,CAAC;EACrB,CAAC,EAAE,CAACL,SAAS,EAAEK,eAAe,EAAEP,OAAO,CAAC,CAAC;EAEzC,MAAMa,sBAAsB,GAAGnB,KAAK,CAACoB,WAAW,CAAC,MAAM;IACrD,KAAK,MAAMf,GAAG,IAAIO,0BAA0B,CAACK,OAAO,EAAE;MACpD,IAAIZ,GAAG,IAAIO,0BAA0B,CAACK,OAAO,EAAE;QAC7C,MAAMI,MAAM,GAAGT,0BAA0B,CAACK,OAAO,CAACZ,GAAG,CAAC,GAAG,CAAC;;QAE1D;QACA,IAAIgB,MAAM,KAAK,IAAI,EAAE;UACnB,OAAOA,MAAM;QACf;MACF;IACF;IAEA,OAAO,IAAI;EACb,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,iBAAiB,GAAGtB,KAAK,CAACoB,WAAW,CAAC,MAAM;IAChD;IACA;IACA;IACA;IACA,IAAIf,GAAG,IAAI,IAAI,IAAIE,kBAAkB,GAAG,CAAC,KAAKF,GAAG,EAAE;MACjD,OAAO,IAAI;IACb;IAEA,MAAMkB,mBAAmB,GAAGJ,sBAAsB,CAAC,CAAC;IAEpD,IAAII,mBAAmB,KAAK,IAAI,EAAE;MAChC,OAAOA,mBAAmB;IAC5B;IAEA,OAAOb,UAAU,CAACO,OAAO;EAC3B,CAAC,EAAE,CAACZ,GAAG,EAAEE,kBAAkB,EAAEY,sBAAsB,CAAC,CAAC;EAErDnB,KAAK,CAACgB,kBAAkB,CAAC,MAAM;IAC7B;IACA,IAAIX,GAAG,IAAI,IAAI,EAAE;MACf,OAAOU,sBAAsB,GAAGV,GAAG,EAAEiB,iBAAiB,CAAC;IACzD;EACF,CAAC,EAAE,CAACA,iBAAiB,EAAEP,sBAAsB,EAAEV,GAAG,CAAC,CAAC;EAEpD,MAAMS,gBAAgB,GAAGd,KAAK,CAACoB,WAAW,CACxC,CAACf,GAAW,EAAEmB,MAAuC,KAAK;IACxDZ,0BAA0B,CAACK,OAAO,CAACZ,GAAG,CAAC,GAAGmB,MAAM;IAEhD,OAAO,MAAM;MACX;MACA,OAAOZ,0BAA0B,CAACK,OAAO,CAACZ,GAAG,CAAC;;MAE9C;MACA;MACA,IAAIQ,eAAe,KAAKY,SAAS,EAAE;QACjCC,cAAc,CAACb,eAAe,CAAC;MACjC;IACF,CAAC;EACH,CAAC,EACD,CAACA,eAAe,CAClB,CAAC;EAED,OAAO;IACLC,gBAAgB;IAChBQ;EACF,CAAC;AACH","ignoreList":[]}
@@ -5,7 +5,7 @@ import { PreventRemoveContext } from "./PreventRemoveContext.js";
5
5
  export function usePreventRemoveContext() {
6
6
  const value = React.use(PreventRemoveContext);
7
7
  if (value == null) {
8
- throw new Error("Couldn't find the prevent remove context. Is your component inside NavigationContent?");
8
+ throw new Error("Couldn't find the prevent remove context. This is likely a bug in the navigator.\n\nIf you're using a custom navigator, make sure that the navigator content is wrapped by the 'render' function returned by 'useNavigationBuilder'.");
9
9
  }
10
10
  return value;
11
11
  }
@@ -1 +1 @@
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":[]}
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,sOACF,CAAC;EACH;EAEA,OAAOF,KAAK;AACd","ignoreList":[]}
@@ -8,7 +8,6 @@ import { isRecordEqual } from "./isRecordEqual.js";
8
8
  * This is fine since they are internal utilities and this is not public API.
9
9
  */
10
10
  export const CHILD_STATE = Symbol('CHILD_STATE');
11
-
12
11
  /**
13
12
  * Hook to cache route props for each screen in the navigator.
14
13
  * This lets add warnings and modifications to the route object but keep references between renders.
@@ -18,34 +17,50 @@ export function useRouteCache(routes) {
18
17
  const cache = React.useMemo(() => ({
19
18
  current: new Map()
20
19
  }), []);
21
- const next = routes.reduce((acc, route) => {
22
- const previous = cache.current.get(route.key);
23
- const {
24
- state,
25
- ...routeWithoutState
26
- } = route;
27
- let proxy;
28
- if (previous && isRecordEqual(previous, routeWithoutState)) {
29
- // If a cached route object already exists, reuse it
30
- proxy = previous;
31
- } else {
32
- proxy = routeWithoutState;
33
- }
34
- if (process.env.NODE_ENV !== 'production' && proxy !== previous) {
35
- // FIXME: since the state is updated with mutation, the route object cannot be frozen
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
38
- for (const [key, value] of Object.entries(proxy)) {
39
- Object.defineProperty(proxy, key, {
40
- enumerable: true,
41
- configurable: true,
42
- writable: false,
43
- value
44
- });
20
+ const next = React.useMemo(() => {
21
+ return routes.reduce((acc, route) => {
22
+ const previous = cache.current.get(route.key);
23
+ const {
24
+ state: _,
25
+ ...routeWithoutState
26
+ } = route;
27
+ let proxy;
28
+ if (previous && isRecordEqual(previous, routeWithoutState)) {
29
+ // If a cached route object already exists, reuse it
30
+ proxy = previous;
31
+ } else {
32
+ proxy = routeWithoutState;
33
+ if (process.env.NODE_ENV !== 'production') {
34
+ // FIXME: since the state is updated with mutation, the route object cannot be frozen
35
+ // As a workaround, loop through the object and make the properties readonly
36
+ // Only needed once per proxy - skip if we're reusing a previously-frozen one
37
+ for (const [key, value] of Object.entries(proxy)) {
38
+ Object.defineProperty(proxy, key, {
39
+ enumerable: true,
40
+ configurable: true,
41
+ writable: false,
42
+ value
43
+ });
44
+ }
45
+ }
45
46
  }
46
- }
47
+ acc.set(route.key, proxy);
48
+ return acc;
49
+ }, new Map());
50
+ }, [cache, routes]);
51
+ React.useInsertionEffect(() => {
52
+ cache.current = next;
53
+ });
54
+
55
+ // Update child state on every render, including when the memo is reused.
56
+ // This restores the previous child state when a pending render is canceled.
57
+ return Array.from(next.values(), (proxy, index) => {
58
+ const state = routes[index]?.state;
47
59
 
48
- // @ts-expect-error: this isn't in type definitions coz we want this private
60
+ // FIXME: We mutate the child state without replacing the cached route object,
61
+ // so nested navigation doesn't re-render the parent screen.
62
+ // This is not concurrent render safe, pending renders mutate this shared child state.
63
+ // Then `getFocusedRouteNameFromRoute` can expose it before the render commits.
49
64
  if (proxy[CHILD_STATE] !== state) {
50
65
  Object.defineProperty(proxy, CHILD_STATE, {
51
66
  enumerable: false,
@@ -53,12 +68,7 @@ export function useRouteCache(routes) {
53
68
  value: state
54
69
  });
55
70
  }
56
- acc.set(route.key, proxy);
57
- return acc;
58
- }, new Map());
59
- React.useInsertionEffect(() => {
60
- cache.current = next;
71
+ return proxy;
61
72
  });
62
- return Array.from(next.values());
63
73
  }
64
74
  //# sourceMappingURL=useRouteCache.js.map
@@ -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","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":[]}
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","index"],"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;AAMhD;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,CAAsB;EAAE,CAAC,CAAC,EACnD,EACF,CAAC;EAED,MAAMC,IAAI,GAAGV,KAAK,CAACO,OAAO,CAAC,MAAM;IAC/B,OAAOF,MAAM,CAACM,MAAM,CAAC,CAACC,GAAG,EAAEC,KAAK,KAAK;MACnC,MAAMC,QAAQ,GAAGR,KAAK,CAACE,OAAO,CAACO,GAAG,CAACF,KAAK,CAACG,GAAG,CAAC;MAE7C,MAAM;QAAEC,KAAK,EAAEC,CAAC;QAAE,GAAGC;MAAkB,CAAC,GAAGN,KAAK;MAEhD,IAAIO,KAAkB;MAEtB,IAAIN,QAAQ,IAAIb,aAAa,CAACa,QAAQ,EAAEK,iBAAiB,CAAC,EAAE;QAC1D;QACAC,KAAK,GAAGN,QAAQ;MAClB,CAAC,MAAM;QACLM,KAAK,GAAGD,iBAAiB;QAEzB,IAAIE,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;UACzC;UACA;UACA;UACA,KAAK,MAAM,CAACP,GAAG,EAAEQ,KAAK,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACN,KAAK,CAAC,EAAE;YAChDK,MAAM,CAACE,cAAc,CAACP,KAAK,EAAEJ,GAAG,EAAE;cAChCY,UAAU,EAAE,IAAI;cAChBC,YAAY,EAAE,IAAI;cAClBC,QAAQ,EAAE,KAAK;cACfN;YACF,CAAC,CAAC;UACJ;QACF;MACF;MAEAZ,GAAG,CAACmB,GAAG,CAAClB,KAAK,CAACG,GAAG,EAAEI,KAAK,CAAC;MAEzB,OAAOR,GAAG;IACZ,CAAC,EAAE,IAAIH,GAAG,CAAsB,CAAC,CAAC;EACpC,CAAC,EAAE,CAACH,KAAK,EAAED,MAAM,CAAC,CAAC;EAEnBL,KAAK,CAACgC,kBAAkB,CAAC,MAAM;IAC7B1B,KAAK,CAACE,OAAO,GAAGE,IAAI;EACtB,CAAC,CAAC;;EAEF;EACA;EACA,OAAOuB,KAAK,CAACC,IAAI,CAACxB,IAAI,CAACyB,MAAM,CAAC,CAAC,EAAE,CAACf,KAAK,EAAEgB,KAAK,KAAK;IACjD,MAAMnB,KAAK,GAAGZ,MAAM,CAAC+B,KAAK,CAAC,EAAEnB,KAAK;;IAElC;IACA;IACA;IACA;IACA,IAAIG,KAAK,CAAClB,WAAW,CAAC,KAAKe,KAAK,EAAE;MAChCQ,MAAM,CAACE,cAAc,CAACP,KAAK,EAAElB,WAAW,EAAE;QACxC0B,UAAU,EAAE,KAAK;QACjBC,YAAY,EAAE,IAAI;QAClBL,KAAK,EAAEP;MACT,CAAC,CAAC;IACJ;IAEA,OAAOG,KAAK;EACd,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import * as React from 'react';
4
+ import useLatestCallback from 'use-latest-callback';
4
5
  import { useNavigationBuilderContext } from "./NavigationBuilderContext.js";
5
6
 
6
7
  /**
@@ -16,8 +17,9 @@ export function useScheduleUpdate(callback) {
16
17
  scheduleUpdate,
17
18
  flushUpdates
18
19
  } = useNavigationBuilderContext();
20
+ const latestCallback = useLatestCallback(callback);
19
21
  React.useInsertionEffect(() => {
20
- scheduleUpdate(callback);
22
+ scheduleUpdate(latestCallback);
21
23
  });
22
24
  React.useLayoutEffect(flushUpdates);
23
25
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","useNavigationBuilderContext","useScheduleUpdate","callback","scheduleUpdate","flushUpdates","useInsertionEffect","useLayoutEffect"],"sourceRoot":"../../src","sources":["useScheduleUpdate.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,2BAA2B,QAAQ,+BAA4B;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,QAAoB,EAAE;EACtD,MAAM;IAAEC,cAAc;IAAEC;EAAa,CAAC,GAAGJ,2BAA2B,CAAC,CAAC;EAEtED,KAAK,CAACM,kBAAkB,CAAC,MAAM;IAC7BF,cAAc,CAACD,QAAQ,CAAC;EAC1B,CAAC,CAAC;EAEFH,KAAK,CAACO,eAAe,CAACF,YAAY,CAAC;AACrC","ignoreList":[]}
1
+ {"version":3,"names":["React","useLatestCallback","useNavigationBuilderContext","useScheduleUpdate","callback","scheduleUpdate","flushUpdates","latestCallback","useInsertionEffect","useLayoutEffect"],"sourceRoot":"../../src","sources":["useScheduleUpdate.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,iBAAiB,MAAM,qBAAqB;AAEnD,SAASC,2BAA2B,QAAQ,+BAA4B;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,QAAoB,EAAE;EACtD,MAAM;IAAEC,cAAc;IAAEC;EAAa,CAAC,GAAGJ,2BAA2B,CAAC,CAAC;EAEtE,MAAMK,cAAc,GAAGN,iBAAiB,CAACG,QAAQ,CAAC;EAElDJ,KAAK,CAACQ,kBAAkB,CAAC,MAAM;IAC7BH,cAAc,CAACE,cAAc,CAAC;EAChC,CAAC,CAAC;EAEFP,KAAK,CAACS,eAAe,CAACH,YAAY,CAAC;AACrC","ignoreList":[]}
@@ -87,20 +87,19 @@ export function useSyncState(getInitialState) {
87
87
  rerender();
88
88
  return unsubscribe;
89
89
  }, [store]);
90
- const pendingUpdatesRef = React.useRef([]);
90
+ const pendingUpdates = useLazyValue(() => new Set());
91
91
  const scheduleUpdate = useLatestCallback(callback => {
92
- pendingUpdatesRef.current.push(callback);
92
+ pendingUpdates.add(callback);
93
93
  });
94
94
  const flushUpdates = useLatestCallback(() => {
95
- const pendingUpdates = pendingUpdatesRef.current;
96
- pendingUpdatesRef.current = [];
97
- if (pendingUpdates.length !== 0) {
95
+ if (pendingUpdates.size !== 0) {
96
+ // Updates are queued child-first as insertion effects run bottom-up.
97
+ // The root navigator replaces the whole state while nested navigators merge into it.
98
+ // So we apply them root-first to avoid the root clobbering nested updates.
99
+ const callbacks = Array.from(pendingUpdates).reverse();
100
+ pendingUpdates.clear();
98
101
  store.batchUpdates(() => {
99
- // Updates are queued child-first as insertion effects run bottom-up.
100
- // The root navigator replaces the whole state while nested navigators merge into it.
101
- // So we apply them root-first to avoid the root clobbering nested updates.
102
- pendingUpdates.reverse();
103
- for (const update of pendingUpdates) {
102
+ for (const update of callbacks) {
104
103
  update();
105
104
  }
106
105
  });
@@ -1 +1 @@
1
- {"version":3,"names":["React","useLatestCallback","deepFreeze","useLazyValue","createStore","getInitialState","listeners","Set","initialized","state","getState","isBatching","didUpdate","notify","error","forEach","listener","e","value","setState","newState","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":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,iBAAiB,MAAM,qBAAqB;AAEnD,SAASC,UAAU,QAAQ,iBAAc;AACzC,SAASC,YAAY,QAAQ,mBAAgB;AAE7C,MAAMC,WAAW,GAAQC,eAAwB,IAAK;EACpD,MAAMC,SAAS,GAAG,IAAIC,GAAG,CAAa,CAAC;EAEvC,IAAIC,WAAW,GAAG,KAAK;EACvB,IAAIC,KAAQ;EAEZ,MAAMC,QAAQ,GAAGA,CAAA,KAAM;IACrB,IAAIF,WAAW,EAAE;MACf,OAAOC,KAAK;IACd;IAEAD,WAAW,GAAG,IAAI;IAClBC,KAAK,GAAGP,UAAU,CAACG,eAAe,CAAC,CAAC,CAAC;IAErC,OAAOI,KAAK;EACd,CAAC;EAED,IAAIE,UAAU,GAAG,KAAK;EACtB,IAAIC,SAAS,GAAG,KAAK;EAErB,MAAMC,MAAM,GAAGA,CAAA,KAAM;IACnB,IAAIC,KAAqC;IAEzCR,SAAS,CAACS,OAAO,CAAEC,QAAQ,IAAK;MAC9B,IAAI;QACFA,QAAQ,CAAC,CAAC;MACZ,CAAC,CAAC,OAAOC,CAAC,EAAE;QACVH,KAAK,GAAGA,KAAK,IAAI;UAAEI,KAAK,EAAED;QAAE,CAAC;MAC/B;IACF,CAAC,CAAC;IAEF,IAAIH,KAAK,EAAE;MACT,MAAMA,KAAK,CAACI,KAAK;IACnB;EACF,CAAC;EAED,MAAMC,QAAQ,GAAIC,QAAW,IAAK;IAChCX,KAAK,GAAGP,UAAU,CAACkB,QAAQ,CAAC;IAE5B,IAAIT,UAAU,EAAE;MACdC,SAAS,GAAG,IAAI;IAClB,CAAC,MAAM;MACLC,MAAM,CAAC,CAAC;IACV;EACF,CAAC;EAED,MAAMQ,SAAS,GAAIC,QAAoB,IAAK;IAC1ChB,SAAS,CAACiB,GAAG,CAACD,QAAQ,CAAC;IAEvB,OAAO,MAAM;MACXhB,SAAS,CAACkB,MAAM,CAACF,QAAQ,CAAC;IAC5B,CAAC;EACH,CAAC;EAED,MAAMG,YAAY,GAAIH,QAAoB,IAAK;IAC7CX,UAAU,GAAG,IAAI;IAEjB,IAAI;MACFW,QAAQ,CAAC,CAAC;IACZ,CAAC,SAAS;MACRX,UAAU,GAAG,KAAK;MAElB,IAAIC,SAAS,EAAE;QACbA,SAAS,GAAG,KAAK;QACjBC,MAAM,CAAC,CAAC;MACV;IACF;EACF,CAAC;EAED,OAAO;IACLH,QAAQ;IACRS,QAAQ;IACRM,YAAY;IACZJ;EACF,CAAC;AACH,CAAC;AAED,OAAO,SAASK,YAAYA,CAAIrB,eAAwB,EAAE;EACxD,MAAMsB,KAAK,GAAGxB,YAAY,CAAC,MAAMC,WAAW,CAACC,eAAe,CAAC,CAAC;;EAE9D;EACA,MAAM,CAACI,KAAK,EAAEmB,QAAQ,CAAC,GAAG5B,KAAK,CAAC6B,UAAU,CACvCC,CAAC,IAAKH,KAAK,CAACjB,QAAQ,CAAC,CAAC,EACvBqB,SAAS,EACT,MAAMJ,KAAK,CAACjB,QAAQ,CAAC,CACvB,CAAC;;EAED;EACA;EACA;EACA;EACA;EACA;EACA;EACAV,KAAK,CAACgC,SAAS,CAAC,MAAM;IACpB,MAAMC,WAAW,GAAGN,KAAK,CAACN,SAAS,CAAC,MAAMO,QAAQ,CAAC,CAAC,CAAC;;IAErD;IACA;IACAA,QAAQ,CAAC,CAAC;IAEV,OAAOK,WAAW;EACpB,CAAC,EAAE,CAACN,KAAK,CAAC,CAAC;EAEX,MAAMO,iBAAiB,GAAGlC,KAAK,CAACmC,MAAM,CAAiB,EAAE,CAAC;EAE1D,MAAMC,cAAc,GAAGnC,iBAAiB,CAAEqB,QAAoB,IAAK;IACjEY,iBAAiB,CAACG,OAAO,CAACC,IAAI,CAAChB,QAAQ,CAAC;EAC1C,CAAC,CAAC;EAEF,MAAMiB,YAAY,GAAGtC,iBAAiB,CAAC,MAAM;IAC3C,MAAMuC,cAAc,GAAGN,iBAAiB,CAACG,OAAO;IAEhDH,iBAAiB,CAACG,OAAO,GAAG,EAAE;IAE9B,IAAIG,cAAc,CAACC,MAAM,KAAK,CAAC,EAAE;MAC/Bd,KAAK,CAACF,YAAY,CAAC,MAAM;QACvB;QACA;QACA;QACAe,cAAc,CAACE,OAAO,CAAC,CAAC;QAExB,KAAK,MAAMC,MAAM,IAAIH,cAAc,EAAE;UACnCG,MAAM,CAAC,CAAC;QACV;MACF,CAAC,CAAC;IACJ;EACF,CAAC,CAAC;EAEF3C,KAAK,CAACgC,SAAS,CAACO,YAAY,CAAC;EAE7B,OAAO;IACL9B,KAAK;IACLC,QAAQ,EAAEiB,KAAK,CAACjB,QAAQ;IACxBS,QAAQ,EAAEQ,KAAK,CAACR,QAAQ;IACxBE,SAAS,EAAEM,KAAK,CAACN,SAAS;IAC1Be,cAAc;IACdG;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["React","useLatestCallback","deepFreeze","useLazyValue","createStore","getInitialState","listeners","Set","initialized","state","getState","isBatching","didUpdate","notify","error","forEach","listener","e","value","setState","newState","subscribe","callback","add","delete","batchUpdates","useSyncState","store","rerender","useReducer","_","undefined","useEffect","unsubscribe","pendingUpdates","scheduleUpdate","flushUpdates","size","callbacks","Array","from","reverse","clear","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":"AASA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAkB/B,OAAO,KAAK,EAIV,wBAAwB,EACxB,sBAAsB,EACtB,aAAa,EACd,MAAM,YAAS,CAAC;AAYjB,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,qBA2elB"}
1
+ {"version":3,"file":"BaseNavigationContainer.d.ts","sourceRoot":"","sources":["../../../src/BaseNavigationContainer.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAkB/B,OAAO,KAAK,EAIV,wBAAwB,EACxB,sBAAsB,EACtB,aAAa,EACd,MAAM,YAAS,CAAC;AAYjB,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,qBA4flB"}
@@ -34,7 +34,7 @@ type NavigationBuilderContextValue = {
34
34
  target: string | undefined;
35
35
  data: unknown;
36
36
  }) => void;
37
- onOptionsChange: (options: object) => void;
37
+ onOptionsChange: () => void;
38
38
  getIsStateEmitted: () => boolean;
39
39
  scheduleUpdate: (callback: () => void) => void;
40
40
  flushUpdates: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationBuilderContext.d.ts","sourceRoot":"","sources":["../../../src/NavigationBuilderContext.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NavigationBuilderContext.d.ts","sourceRoot":"","sources":["../../../src/NavigationBuilderContext.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationIndependentTree.d.ts","sourceRoot":"","sources":["../../../src/NavigationIndependentTree.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAuB/B;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,qBA6CA"}
1
+ {"version":3,"file":"NavigationIndependentTree.d.ts","sourceRoot":"","sources":["../../../src/NavigationIndependentTree.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA2B/B;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,qBAiDA"}
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationProvider.d.ts","sourceRoot":"","sources":["../../../src/NavigationProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAS,CAAC;AAK9C;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;eAEvB,CAAC;AAEb;;GAEG;AACH,eAAO,MAAM,iBAAiB,0DAElB,CAAC;AAEb;;GAEG;AACH,eAAO,MAAM,eAAe,wBAA6B,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;iBAE7B,CAAC;AAEb,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,UAAU,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;IAC1C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,KAAK,qBAyCxE"}
1
+ {"version":3,"file":"NavigationProvider.d.ts","sourceRoot":"","sources":["../../../src/NavigationProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAS,CAAC;AAS9C;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;eAEvB,CAAC;AAEb;;GAEG;AACH,eAAO,MAAM,iBAAiB,0DAElB,CAAC;AAEb;;GAEG;AACH,eAAO,MAAM,eAAe,wBAA6B,CAAC;AAE1D;;GAEG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;iBAE7B,CAAC;AAEb,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,UAAU,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;IAC1C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,KAAK,qBA6CxE"}
@@ -1 +1 @@
1
- {"version":3,"file":"PreventRemoveProvider.d.ts","sourceRoot":"","sources":["../../../src/PreventRemoveProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAmBF;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,QAAQ,EAAE,EAAE,KAAK,qBAkGxD"}
1
+ {"version":3,"file":"PreventRemoveProvider.d.ts","sourceRoot":"","sources":["../../../src/PreventRemoveProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAmBF;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,QAAQ,EAAE,EAAE,KAAK,qBA4FxD"}
@@ -8,6 +8,7 @@ type Props<State extends NavigationState, ScreenOptions extends {}> = {
8
8
  navigation: NavigationProp<ParamListBase, string, State, ScreenOptions>;
9
9
  route: Route<string>;
10
10
  routeState: NavigationState | PartialState<NavigationState> | undefined;
11
+ getFocusedRouteKey: () => string | undefined;
11
12
  getState: () => State;
12
13
  setState: (state: State) => void;
13
14
  subscribe: (callback: () => void) => () => void;
@@ -18,6 +19,6 @@ type Props<State extends NavigationState, ScreenOptions extends {}> = {
18
19
  * Component which takes care of rendering the screen for a route.
19
20
  * It provides all required contexts and applies optimizations when applicable.
20
21
  */
21
- export declare function SceneView<State extends NavigationState, ScreenOptions extends {}>({ screen, route, navigation, routeState, getState, setState, subscribe, options, clearOptions, }: Props<State, ScreenOptions>): React.JSX.Element;
22
+ export declare function SceneView<State extends NavigationState, ScreenOptions extends {}>({ screen, route, navigation, routeState, getFocusedRouteKey, getState, setState, subscribe, options, clearOptions, }: Props<State, ScreenOptions>): React.JSX.Element;
22
23
  export {};
23
24
  //# sourceMappingURL=SceneView.d.ts.map
@@ -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;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,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAChD,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,SAAS,EACT,OAAO,EACP,YAAY,GACb,EAAE,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,qBAsJ7B"}
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,kBAAkB,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAC7C,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAChD,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,kBAAkB,EAClB,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,OAAO,EACP,YAAY,GACb,EAAE,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,qBAsJ7B"}
@@ -22,8 +22,8 @@ type ScreenOptionsOrCallback<ScreenOptions extends {}> = ScreenOptions | ((props
22
22
  theme: Theme;
23
23
  }) => ScreenOptions);
24
24
  type Options<State extends NavigationState, ScreenOptions extends {}, EventMap extends EventMapBase> = {
25
- routes: State['routes'];
26
25
  screens: Record<string, ScreenConfigWithParent<State, ScreenOptions, EventMap>>;
26
+ state: State;
27
27
  navigation: NavigationHelpers<ParamListBase>;
28
28
  screenOptions: ScreenOptionsOrCallback<ScreenOptions> | undefined;
29
29
  screenLayout: ScreenLayout<ScreenOptions> | undefined;
@@ -45,7 +45,7 @@ type Options<State extends NavigationState, ScreenOptions extends {}, EventMap e
45
45
  * - Options specified by the screen for the navigator
46
46
  * - Navigation object intended for the route
47
47
  */
48
- export declare function useDescriptors<State extends NavigationState, ActionHelpers extends Record<string, (...args: any) => void>, ScreenOptions extends {}, EventMap extends EventMapBase>({ routes, screens, navigation, screenOptions, screenLayout, onAction, getState, setState, subscribe, addListener, addKeyedListener, onRouteFocus, router, emitter, }: Options<State, ScreenOptions, EventMap>): Record<string, Descriptor<ScreenOptions, NavigationProp<ParamListBase, string, State, ScreenOptions, EventMap, ActionHelpers>, Readonly<{
48
+ export declare function useDescriptors<State extends NavigationState, ActionHelpers extends Record<string, (...args: any) => void>, ScreenOptions extends {}, EventMap extends EventMapBase>({ screens, state, navigation, screenOptions, screenLayout, onAction, getState, setState, subscribe, addListener, addKeyedListener, onRouteFocus, router, emitter, }: Options<State, ScreenOptions, EventMap>): Record<string, Descriptor<ScreenOptions, NavigationProp<ParamListBase, string, State, ScreenOptions, EventMap, ActionHelpers>, Readonly<{
49
49
  key: string;
50
50
  name: string;
51
51
  path?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"useDescriptors.d.ts","sourceRoot":"","sources":["../../../src/useDescriptors.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useDescriptors.d.ts","sourceRoot":"","sources":["../../../src/useDescriptors.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useFocusEffect.d.ts","sourceRoot":"","sources":["../../../src/useFocusEffect.tsx"],"names":[],"mappings":"AAIA,KAAK,cAAc,GAAG,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;AAE5D;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,QAmGpD"}
1
+ {"version":3,"file":"useFocusEffect.d.ts","sourceRoot":"","sources":["../../../src/useFocusEffect.tsx"],"names":[],"mappings":"AAKA,KAAK,cAAc,GAAG,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;AAE5D;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,QAqGpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"useFocusEvents.d.ts","sourceRoot":"","sources":["../../../src/useFocusEvents.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAIjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAmB,CAAC;AAEhE,KAAK,OAAO,CAAC,KAAK,SAAS,eAAe,IAAI;IAC5C,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,sBAAsB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;CACtD,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,SAAS,eAAe,EAAE,EAC5D,KAAK,EACL,OAAO,GACR,EAAE,OAAO,CAAC,KAAK,CAAC,QA8DhB"}
1
+ {"version":3,"file":"useFocusEvents.d.ts","sourceRoot":"","sources":["../../../src/useFocusEvents.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAIjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAmB,CAAC;AAGhE,KAAK,OAAO,CAAC,KAAK,SAAS,eAAe,IAAI;IAC5C,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,sBAAsB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;CACtD,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,SAAS,eAAe,EAAE,EAC5D,KAAK,EACL,OAAO,GACR,EAAE,OAAO,CAAC,KAAK,CAAC,QAgEhB"}
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  export declare const FocusedRouteKeyContext: React.Context<string | undefined>;
3
3
  export declare const IsFocusedContext: React.Context<boolean | undefined>;
4
+ export declare const IsFocusedGetterContext: React.Context<(() => boolean) | undefined>;
4
5
  /**
5
6
  * Hook to get the current focus state of the screen. Returns a `true` if screen is focused, otherwise `false`.
6
7
  * This can be used if a component needs to render something based on the focus state.
@@ -1 +1 @@
1
- {"version":3,"file":"useIsFocused.d.ts","sourceRoot":"","sources":["../../../src/useIsFocused.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,eAAO,MAAM,sBAAsB,mCAElC,CAAC;AAEF,eAAO,MAAM,gBAAgB,oCAE5B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAUtC"}
1
+ {"version":3,"file":"useIsFocused.d.ts","sourceRoot":"","sources":["../../../src/useIsFocused.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,eAAO,MAAM,sBAAsB,mCAElC,CAAC;AAEF,eAAO,MAAM,gBAAgB,oCAE5B,CAAC;AAEF,eAAO,MAAM,sBAAsB,uBAC1B,OAAO,cACJ,CAAC;AAEb;;;GAGG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAUtC"}
@@ -80,8 +80,6 @@ export declare function useNavigationBuilder<State extends NavigationState, Rout
80
80
  } & {
81
81
  params?: Readonly<object | undefined>;
82
82
  }>>>;
83
- NavigationContent: ({ children }: {
84
- children: React.ReactNode;
85
- }) => React.JSX.Element;
83
+ render: (children: React.ReactNode) => React.JSX.Element;
86
84
  };
87
85
  //# sourceMappingURL=useNavigationBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,YAAY,EAIjB,KAAK,aAAa,EACnB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAe/B,OAAO,EACL,KAAK,uBAAuB,EAI5B,iBAAiB,EAElB,MAAM,YAAS,CAAC;AA+RjB;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,EAC5D,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEpC,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,gBAAgB,EAAE,aAAa,CAAC,EACnE,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,aAAa,EACb,QAAQ,EACR,GAAG,CACJ,GACC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0uBhB"}
1
+ {"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,YAAY,EAIjB,KAAK,aAAa,EACnB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAe/B,OAAO,EACL,KAAK,uBAAuB,EAI5B,iBAAiB,EAElB,MAAM,YAAS,CAAC;AA8RjB;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,EAC5D,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEpC,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,gBAAgB,EAAE,aAAa,CAAC,EACnE,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,aAAa,EACb,QAAQ,EACR,GAAG,CACJ,GACC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAssBW,KAAK,CAAC,SAAS;EA6C1C"}
@@ -1 +1 @@
1
- {"version":3,"file":"useNavigationCache.d.ts","sourceRoot":"","sources":["../../../src/useNavigationCache.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,MAAM,EACZ,MAAM,2BAA2B,CAAC;AAKnC,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAS,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAmB,CAAC;AAEhE,KAAK,OAAO,CACV,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAClC;IACF,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxB,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,UAAU,EAAE,iBAAiB,CAAC,aAAa,CAAC,GAC1C,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAChE,UAAU,EAAE,CACV,EAAE,EAAE,CACF,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC,KACxD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC,KACpD,IAAI,CAAC;IACV,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACxC,OAAO,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;CAC3C,CAAC;AAEF,KAAK,cAAc,CACjB,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,IAC1D,cAAc,CAChB,aAAa,EACb,MAAM,EACN,KAAK,EACL,aAAa,EACb,QAAQ,EACR,aAAa,CACd,CAAC;AAEF,KAAK,eAAe,CAClB,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,IAC1D,MAAM,CACR,MAAM,EACN,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,CAAC,CAC9D,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,EAC5D,EACA,MAAM,EACN,QAAQ,EACR,UAAU,EACV,UAAU,EACV,MAAM,EACN,OAAO,GACR,EAAE,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,kEA6HzC"}
1
+ {"version":3,"file":"useNavigationCache.d.ts","sourceRoot":"","sources":["../../../src/useNavigationCache.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,MAAM,EACZ,MAAM,2BAA2B,CAAC;AAKnC,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAS,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAmB,CAAC;AAEhE,KAAK,OAAO,CACV,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAClC;IACF,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxB,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,UAAU,EAAE,iBAAiB,CAAC,aAAa,CAAC,GAC1C,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAChE,UAAU,EAAE,CACV,EAAE,EAAE,CACF,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC,KACxD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC,KACpD,IAAI,CAAC;IACV,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACxC,OAAO,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;CAC3C,CAAC;AAEF,KAAK,cAAc,CACjB,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,IAC1D,cAAc,CAChB,aAAa,EACb,MAAM,EACN,KAAK,EACL,aAAa,EACb,QAAQ,EACR,aAAa,CACd,CAAC;AAEF,KAAK,eAAe,CAClB,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,IAC1D,MAAM,CACR,MAAM,EACN,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,CAAC,CAC9D,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,EAC5D,EACA,MAAM,EACN,QAAQ,EACR,UAAU,EACV,UAAU,EACV,MAAM,EACN,OAAO,GACR,EAAE,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,kEAmJzC"}
@@ -3,6 +3,7 @@ import * as React from 'react';
3
3
  import type { NavigationListForNested, RootNavigator } from './types.js';
4
4
  type NavigationStateEvent = 'update' | 'commit';
5
5
  type NavigationStateListener = {
6
+ initialStateContext: React.Context<NavigationState<ParamListBase>>;
6
7
  getState: () => NavigationState<ParamListBase>;
7
8
  getSnapshot: () => NavigationState<ParamListBase>;
8
9
  subscribe: (callback: (event: NavigationStateEvent) => void) => () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"useNavigationState.d.ts","sourceRoot":"","sources":["../../../src/useNavigationState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,YAAS,CAAC;AAEtE,KAAK,oBAAoB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEhD,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,EAAE,MAAM,eAAe,CAAC,aAAa,CAAC,CAAC;IAC/C,WAAW,EAAE,MAAM,eAAe,CAAC,aAAa,CAAC,CAAC;IAClD,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;CAC5E,CAAC;AAOF,KAAK,wBAAwB,CAC3B,SAAS,EACT,SAAS,SAAS,MAAM,uBAAuB,CAAC,SAAS,CAAC,IACxD,uBAAuB,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,SAAS;IACxD,QAAQ,EAAE,MAAM,MAAM,KAAK,CAAC;CAC7B,GACG,KAAK,GACL,KAAK,CAAC;AAEV;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,CAAC,CAAC,EACP,KAAK,CAAC,SAAS,GAAG,aAAa,EAC/B,KAAK,CAAC,SAAS,SAAS,MAAM,uBAAuB,CAAC,SAAS,CAAC,GAC9D,MAAM,uBAAuB,CAAC,SAAS,CAAC,EAE1C,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,wBAAwB,CAAC,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,GACrE,CAAC,CAAC;AACL,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,GACrD,CAAC,CAAC;AAoHL,wBAAgB,+BAA+B,CAAC,EAC9C,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,SAAS,EACT,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC;IACtC,QAAQ,EAAE,MAAM,eAAe,CAAC,aAAa,CAAC,CAAC;IAC/C,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAChD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,qBA4CA;AAED,wBAAgB,oCAAoC,CAAC,EACnD,IAAI,EACJ,QAAQ,GACT,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,qBAwBA;AAED,eAAO,MAAM,8BAA8B,oDAE/B,CAAC;AAEb,eAAO,MAAM,uCAAuC,oEAExC,CAAC"}
1
+ {"version":3,"file":"useNavigationState.d.ts","sourceRoot":"","sources":["../../../src/useNavigationState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,YAAS,CAAC;AAEtE,KAAK,oBAAoB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEhD,KAAK,uBAAuB,GAAG;IAC7B,mBAAmB,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC;IACnE,QAAQ,EAAE,MAAM,eAAe,CAAC,aAAa,CAAC,CAAC;IAC/C,WAAW,EAAE,MAAM,eAAe,CAAC,aAAa,CAAC,CAAC;IAClD,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;CAC5E,CAAC;AAOF,KAAK,wBAAwB,CAC3B,SAAS,EACT,SAAS,SAAS,MAAM,uBAAuB,CAAC,SAAS,CAAC,IACxD,uBAAuB,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,SAAS;IACxD,QAAQ,EAAE,MAAM,MAAM,KAAK,CAAC;CAC7B,GACG,KAAK,GACL,KAAK,CAAC;AAEV;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,CAAC,CAAC,EACP,KAAK,CAAC,SAAS,GAAG,aAAa,EAC/B,KAAK,CAAC,SAAS,SAAS,MAAM,uBAAuB,CAAC,SAAS,CAAC,GAC9D,MAAM,uBAAuB,CAAC,SAAS,CAAC,EAE1C,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,wBAAwB,CAAC,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,GACrE,CAAC,CAAC;AACL,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,GACrD,CAAC,CAAC;AA2IL,wBAAgB,+BAA+B,CAAC,EAC9C,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,SAAS,EACT,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC;IACtC,QAAQ,EAAE,MAAM,eAAe,CAAC,aAAa,CAAC,CAAC;IAC/C,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAChD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,qBAmDA;AAED,wBAAgB,oCAAoC,CAAC,EACnD,IAAI,EACJ,QAAQ,GACT,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,qBAwBA;AAED,eAAO,MAAM,8BAA8B,oDAE/B,CAAC;AAEb,eAAO,MAAM,uCAAuC,oEAExC,CAAC"}
@@ -1,11 +1,9 @@
1
- import type { ParamListBase } from '@react-navigation/routers';
2
- import type { NavigationProp } from './types.js';
3
1
  type Options = {
4
2
  key?: string;
5
- navigation?: NavigationProp<ParamListBase>;
6
3
  options?: object | undefined;
4
+ getFocusedRouteKey?: () => string | undefined;
7
5
  };
8
- export declare function useOptionsGetters({ key, options, navigation }: Options): {
6
+ export declare function useOptionsGetters({ key, options, getFocusedRouteKey, }: Options): {
9
7
  addOptionsGetter: (key: string, getter: () => object | undefined | null) => () => void;
10
8
  getCurrentOptions: () => object | null | undefined;
11
9
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useOptionsGetters.d.ts","sourceRoot":"","sources":["../../../src/useOptionsGetters.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAK/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAS,CAAC;AAE9C,KAAK,OAAO,GAAG;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;IAC3C,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,OAAO;4BAsE7D,MAAM,UAAU,MAAM,MAAM,GAAG,SAAS,GAAG,IAAI;;EAiBxD"}
1
+ {"version":3,"file":"useOptionsGetters.d.ts","sourceRoot":"","sources":["../../../src/useOptionsGetters.tsx"],"names":[],"mappings":"AAMA,KAAK,OAAO,GAAG;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CAC/C,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,EAChC,GAAG,EACH,OAAO,EACP,kBAAkB,GACnB,EAAE,OAAO;4BA+DA,MAAM,UAAU,MAAM,MAAM,GAAG,SAAS,GAAG,IAAI;;EAqBxD"}
@@ -1,23 +1,18 @@
1
- import type { NavigationState } from '@react-navigation/routers';
1
+ import type { NavigationState, ParamListBase } from '@react-navigation/routers';
2
+ import type { RouteProp } from './types.js';
2
3
  /**
3
4
  * Utilities such as `getFocusedRouteNameFromRoute` need to access state.
4
5
  * So we need a way to suppress the warning for those use cases.
5
6
  * This is fine since they are internal utilities and this is not public API.
6
7
  */
7
8
  export declare const CHILD_STATE: unique symbol;
9
+ type CachedRoute = RouteProp<ParamListBase> & {
10
+ [CHILD_STATE]?: NavigationState;
11
+ };
8
12
  /**
9
13
  * Hook to cache route props for each screen in the navigator.
10
14
  * This lets add warnings and modifications to the route object but keep references between renders.
11
15
  */
12
- export declare function useRouteCache<State extends NavigationState>(routes: State['routes']): Readonly<{
13
- key: string;
14
- name: string;
15
- path?: string | undefined;
16
- history?: {
17
- type: "params";
18
- params: Readonly<object | undefined>;
19
- }[] | undefined;
20
- } & {
21
- params?: Readonly<object | undefined>;
22
- }>[];
16
+ export declare function useRouteCache<State extends NavigationState>(routes: State['routes']): CachedRoute[];
17
+ export {};
23
18
  //# sourceMappingURL=useRouteCache.d.ts.map