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

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 (96) 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/getPathFromState.js +11 -7
  13. package/lib/module/getPathFromState.js.map +1 -1
  14. package/lib/module/getStateFromPath.js +1 -1
  15. package/lib/module/getStateFromPath.js.map +1 -1
  16. package/lib/module/queryString.js +71 -0
  17. package/lib/module/queryString.js.map +1 -0
  18. package/lib/module/useDescriptors.js +7 -4
  19. package/lib/module/useDescriptors.js.map +1 -1
  20. package/lib/module/useFocusEffect.js +4 -2
  21. package/lib/module/useFocusEffect.js.map +1 -1
  22. package/lib/module/useFocusEvents.js +4 -2
  23. package/lib/module/useFocusEvents.js.map +1 -1
  24. package/lib/module/useIsFocused.js +1 -0
  25. package/lib/module/useIsFocused.js.map +1 -1
  26. package/lib/module/useNavigationBuilder.js +40 -37
  27. package/lib/module/useNavigationBuilder.js.map +1 -1
  28. package/lib/module/useNavigationCache.js +82 -78
  29. package/lib/module/useNavigationCache.js.map +1 -1
  30. package/lib/module/useNavigationState.js +48 -23
  31. package/lib/module/useNavigationState.js.map +1 -1
  32. package/lib/module/useOptionsGetters.js +18 -17
  33. package/lib/module/useOptionsGetters.js.map +1 -1
  34. package/lib/module/usePreventRemoveContext.js +1 -1
  35. package/lib/module/usePreventRemoveContext.js.map +1 -1
  36. package/lib/module/useRouteCache.js +43 -33
  37. package/lib/module/useRouteCache.js.map +1 -1
  38. package/lib/module/useScheduleUpdate.js +3 -1
  39. package/lib/module/useScheduleUpdate.js.map +1 -1
  40. package/lib/module/useSyncState.js +9 -10
  41. package/lib/module/useSyncState.js.map +1 -1
  42. package/lib/typescript/src/BaseNavigationContainer.d.ts.map +1 -1
  43. package/lib/typescript/src/NavigationBuilderContext.d.ts +1 -1
  44. package/lib/typescript/src/NavigationBuilderContext.d.ts.map +1 -1
  45. package/lib/typescript/src/NavigationIndependentTree.d.ts.map +1 -1
  46. package/lib/typescript/src/NavigationProvider.d.ts.map +1 -1
  47. package/lib/typescript/src/PreventRemoveProvider.d.ts.map +1 -1
  48. package/lib/typescript/src/SceneView.d.ts +2 -1
  49. package/lib/typescript/src/SceneView.d.ts.map +1 -1
  50. package/lib/typescript/src/getPathFromState.d.ts.map +1 -1
  51. package/lib/typescript/src/queryString.d.ts +5 -0
  52. package/lib/typescript/src/queryString.d.ts.map +1 -0
  53. package/lib/typescript/src/useDescriptors.d.ts +2 -2
  54. package/lib/typescript/src/useDescriptors.d.ts.map +1 -1
  55. package/lib/typescript/src/useFocusEffect.d.ts.map +1 -1
  56. package/lib/typescript/src/useFocusEvents.d.ts.map +1 -1
  57. package/lib/typescript/src/useIsFocused.d.ts +1 -0
  58. package/lib/typescript/src/useIsFocused.d.ts.map +1 -1
  59. package/lib/typescript/src/useNavigationBuilder.d.ts +1 -3
  60. package/lib/typescript/src/useNavigationBuilder.d.ts.map +1 -1
  61. package/lib/typescript/src/useNavigationCache.d.ts.map +1 -1
  62. package/lib/typescript/src/useNavigationState.d.ts +1 -0
  63. package/lib/typescript/src/useNavigationState.d.ts.map +1 -1
  64. package/lib/typescript/src/useOptionsGetters.d.ts +2 -4
  65. package/lib/typescript/src/useOptionsGetters.d.ts.map +1 -1
  66. package/lib/typescript/src/useRouteCache.d.ts +7 -12
  67. package/lib/typescript/src/useRouteCache.d.ts.map +1 -1
  68. package/lib/typescript/src/useScheduleUpdate.d.ts.map +1 -1
  69. package/lib/typescript/src/useSyncState.d.ts.map +1 -1
  70. package/package.json +2 -3
  71. package/src/BaseNavigationContainer.tsx +19 -2
  72. package/src/NavigationBuilderContext.tsx +1 -1
  73. package/src/NavigationIndependentTree.tsx +16 -8
  74. package/src/NavigationProvider.tsx +13 -4
  75. package/src/PreventRemoveProvider.tsx +2 -8
  76. package/src/SceneView.tsx +3 -1
  77. package/src/getPathFromState.tsx +7 -5
  78. package/src/getStateFromPath.tsx +1 -1
  79. package/src/queryString.ts +109 -0
  80. package/src/useDescriptors.tsx +18 -5
  81. package/src/useFocusEffect.tsx +5 -2
  82. package/src/useFocusEvents.tsx +5 -2
  83. package/src/useIsFocused.tsx +4 -0
  84. package/src/useNavigationBuilder.tsx +53 -45
  85. package/src/useNavigationCache.tsx +127 -105
  86. package/src/useNavigationState.tsx +60 -29
  87. package/src/useOptionsGetters.tsx +24 -24
  88. package/src/usePreventRemoveContext.tsx +1 -1
  89. package/src/useRouteCache.tsx +49 -33
  90. package/src/useScheduleUpdate.tsx +4 -1
  91. package/src/useSyncState.tsx +9 -11
  92. package/lib/module/useComponent.js +0 -34
  93. package/lib/module/useComponent.js.map +0 -1
  94. package/lib/typescript/src/useComponent.d.ts +0 -7
  95. package/lib/typescript/src/useComponent.d.ts.map +0 -1
  96. package/src/useComponent.tsx +0 -37
@@ -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":"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","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":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,YAAY,EACb,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAS,CAAC;AAEjD,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,EAAE,yBAAyB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,aAAa,EAAE,qBAAqB,CAAC;IACrC,YAAY,EAAE,yBAAyB,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,SAAS,MAAM,WAAW,EACpD,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,KACrB,IAAI,CAAC;AAEV,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,SAAS,MAAM,gBAAgB,EAC9D,IAAI,EAAE,CAAC,EACP,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAC1B,IAAI,CAAC;AAEV,MAAM,MAAM,mBAAmB,GAAG,CAChC,MAAM,EAAE,gBAAgB,EACxB,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,KAC5B,OAAO,CAAC;AAEb,MAAM,MAAM,yBAAyB,CAAC,CAAC,IAAI,CACzC,UAAU,EAAE,iBAAiB,CAAC,aAAa,CAAC,KACzC,CAAC,CAAC;AAEP,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,EACxC,QAAQ,EAAE,yBAAyB,CAAC,CAAC,CAAC,KACnC;IACH,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,CAAC,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,MAAM,eAAe,CAAC;AAErD,MAAM,MAAM,qBAAqB,GAAG,MAAM,iBAAiB,CAAC,aAAa,CAAC,CAAC;AAE3E,MAAM,MAAM,cAAc,GAAG,CAC3B,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,IAAI,EACjC,QAAQ,EAAE,MAAM,IAAI,KACjB,IAAI,CAAC;AAEV,MAAM,MAAM,yBAAyB,GAAG,CACtC,MAAM,EAAE,gBAAgB,EACxB,SAAS,EAAE,eAAe,GAAG,YAAY,CAAC,eAAe,CAAC,GAAG,SAAS,KACnE,OAAO,CAAC;AAEb,KAAK,6BAA6B,GAAG;IACnC,QAAQ,CAAC,EACL,CAAC,CAAC,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,GACxE,SAAS,CAAC;IACd,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACtC,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAChD,YAAY,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACnD,gBAAgB,EAAE,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACpE,WAAW,EAAE,CAAC,KAAK,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,gBAAgB,EAAE,OAAO,GAAG,SAAS,CAAC;QACtC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,IAAI,EAAE,OAAO,CAAC;KACf,KAAK,IAAI,CAAC;IACX,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,iBAAiB,EAAE,MAAM,OAAO,CAAC;IACjC,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IAC/C,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;CAChC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,0DAEzB,CAAC;AAEb,wBAAgB,2BAA2B,kCAU1C"}
@@ -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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getPathFromState.d.ts","sourceRoot":"","sources":["../../../src/getPathFromState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAS/E,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,YAAS,CAAC;AAGzD,KAAK,OAAO,CAAC,SAAS,SAAS,EAAE,IAAI;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;CACnC,CAAC;AAEF,KAAK,KAAK,GAAG,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,CAAC;AAyF5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,SAAS,EAAE,EACnD,KAAK,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAC3B,MAAM,CA2TR"}
1
+ {"version":3,"file":"getPathFromState.d.ts","sourceRoot":"","sources":["../../../src/getPathFromState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAS/E,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,YAAS,CAAC;AAGzD,KAAK,OAAO,CAAC,SAAS,SAAS,EAAE,IAAI;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;CACnC,CAAC;AAEF,KAAK,KAAK,GAAG,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,CAAC;AAyF5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,SAAS,EAAE,EACnD,KAAK,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAC3B,MAAM,CA6TR"}
@@ -0,0 +1,5 @@
1
+ type QueryValue = string | null | (string | null)[];
2
+ export declare function parse(query: string): Record<string, QueryValue>;
3
+ export declare function stringify(params: Record<string, string | string[] | null>): string;
4
+ export {};
5
+ //# sourceMappingURL=queryString.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryString.d.ts","sourceRoot":"","sources":["../../../src/queryString.ts"],"names":[],"mappings":"AAAA,KAAK,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;AA2CpD,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAiC/D;AAED,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,GAC/C,MAAM,CA4BR"}
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"useRouteCache.d.ts","sourceRoot":"","sources":["../../../src/useRouteCache.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAiB,MAAM,2BAA2B,CAAC;AAMhF;;;;GAIG;AACH,eAAO,MAAM,WAAW,eAAwB,CAAC;AAEjD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,SAAS,eAAe,EACzD,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC;;;;;;;;;;KAsDxB"}
1
+ {"version":3,"file":"useRouteCache.d.ts","sourceRoot":"","sources":["../../../src/useRouteCache.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAIhF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAS,CAAC;AAEzC;;;;GAIG;AACH,eAAO,MAAM,WAAW,eAAwB,CAAC;AAEjD,KAAK,WAAW,GAAG,SAAS,CAAC,aAAa,CAAC,GAAG;IAC5C,CAAC,WAAW,CAAC,CAAC,EAAE,eAAe,CAAC;CACjC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,SAAS,eAAe,EACzD,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,iBAkExB"}
@@ -1 +1 @@
1
- {"version":3,"file":"useScheduleUpdate.d.ts","sourceRoot":"","sources":["../../../src/useScheduleUpdate.tsx"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,IAAI,QAQrD"}
1
+ {"version":3,"file":"useScheduleUpdate.d.ts","sourceRoot":"","sources":["../../../src/useScheduleUpdate.tsx"],"names":[],"mappings":"AAKA;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,IAAI,QAUrD"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSyncState.d.ts","sourceRoot":"","sources":["../../../src/useSyncState.tsx"],"names":[],"mappings":"AAmFA,wBAAgB,YAAY,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC;;;;yCA/BnB,IAAI;wCA4Da,MAAM,IAAI;;EAiC/D"}
1
+ {"version":3,"file":"useSyncState.d.ts","sourceRoot":"","sources":["../../../src/useSyncState.tsx"],"names":[],"mappings":"AAmFA,wBAAgB,YAAY,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC;;;;yCA/BnB,IAAI;wCA4Da,MAAM,IAAI;;EA+B/D"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@react-navigation/core",
3
3
  "description": "Core utilities for building navigators",
4
- "version": "8.0.0-alpha.34",
4
+ "version": "8.0.0-alpha.36",
5
5
  "keywords": [
6
6
  "react",
7
7
  "react-native",
@@ -48,7 +48,6 @@
48
48
  "@react-navigation/routers": "^8.0.0-alpha.17",
49
49
  "fast-deep-equal": "^3.1.3",
50
50
  "nanoid": "^5.1.11",
51
- "query-string": "^9.4.0",
52
51
  "react-is": "^19.2.6",
53
52
  "use-latest-callback": "^0.3.5",
54
53
  "warn-once": "^0.1.1"
@@ -89,5 +88,5 @@
89
88
  ]
90
89
  ]
91
90
  },
92
- "gitHead": "73f8c2982a8999f1e1dfb1cfbeae9d8dab0c1cc2"
91
+ "gitHead": "ac6baf188f7a456429a87b644053e765233f0151"
93
92
  }
@@ -403,10 +403,17 @@ export function BaseNavigationContainer<ParamList extends {} = RootParamList>({
403
403
  }
404
404
  );
405
405
 
406
+ const isOptionsListenerReadyRef = React.useRef(false);
406
407
  const lastEmittedOptionsRef = React.useRef<object | undefined>(undefined);
407
408
 
408
- const onOptionsChange = useLatestCallback((options: object) => {
409
- if (lastEmittedOptionsRef.current === options) {
409
+ const onOptionsChange = useLatestCallback(() => {
410
+ if (!isOptionsListenerReadyRef.current) {
411
+ return;
412
+ }
413
+
414
+ const options = getCurrentOptions();
415
+
416
+ if (options == null || lastEmittedOptionsRef.current === options) {
410
417
  return;
411
418
  }
412
419
 
@@ -418,6 +425,16 @@ export function BaseNavigationContainer<ParamList extends {} = RootParamList>({
418
425
  });
419
426
  });
420
427
 
428
+ React.useEffect(() => {
429
+ isOptionsListenerReadyRef.current = true;
430
+
431
+ onOptionsChange();
432
+
433
+ return () => {
434
+ isOptionsListenerReadyRef.current = false;
435
+ };
436
+ }, [onOptionsChange]);
437
+
421
438
  const lastEmittedStateRef = React.useRef<State>(undefined);
422
439
 
423
440
  const getIsStateEmitted = useLatestCallback(
@@ -74,7 +74,7 @@ type NavigationBuilderContextValue = {
74
74
  target: string | undefined;
75
75
  data: unknown;
76
76
  }) => void;
77
- onOptionsChange: (options: object) => void;
77
+ onOptionsChange: () => void;
78
78
  getIsStateEmitted: () => boolean;
79
79
  scheduleUpdate: (callback: () => void) => void;
80
80
  flushUpdates: () => void;
@@ -15,7 +15,11 @@ import {
15
15
  import { NavigationRootContext } from './NavigationRootContext';
16
16
  import { PreventRemoveContext } from './PreventRemoveContext';
17
17
  import { StaticTreeContext } from './StaticTreeContext';
18
- import { FocusedRouteKeyContext, IsFocusedContext } from './useIsFocused';
18
+ import {
19
+ FocusedRouteKeyContext,
20
+ IsFocusedContext,
21
+ IsFocusedGetterContext,
22
+ } from './useIsFocused';
19
23
  import {
20
24
  NamedNavigationStateListenerListContext,
21
25
  NavigationStateListenerContext,
@@ -50,13 +54,17 @@ export function NavigationIndependentTree({
50
54
  <NavigationRouteContext.Provider value={undefined}>
51
55
  <NavigationContext.Provider value={undefined}>
52
56
  <IsFocusedContext.Provider value={undefined}>
53
- <IsScreenContext.Provider value={false}>
54
- <NavigationFocusedRouteStateContext.Provider
55
- value={undefined}
56
- >
57
- {children}
58
- </NavigationFocusedRouteStateContext.Provider>
59
- </IsScreenContext.Provider>
57
+ <IsFocusedGetterContext.Provider
58
+ value={undefined}
59
+ >
60
+ <IsScreenContext.Provider value={false}>
61
+ <NavigationFocusedRouteStateContext.Provider
62
+ value={undefined}
63
+ >
64
+ {children}
65
+ </NavigationFocusedRouteStateContext.Provider>
66
+ </IsScreenContext.Provider>
67
+ </IsFocusedGetterContext.Provider>
60
68
  </IsFocusedContext.Provider>
61
69
  </NavigationContext.Provider>
62
70
  </NavigationRouteContext.Provider>