@react-navigation/core 7.15.1 → 7.16.0

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 (48) hide show
  1. package/lib/module/NavigationContext.js.map +1 -1
  2. package/lib/module/NavigationIndependentTree.js +8 -4
  3. package/lib/module/NavigationIndependentTree.js.map +1 -1
  4. package/lib/module/NavigationProvider.js +39 -0
  5. package/lib/module/NavigationProvider.js.map +1 -0
  6. package/lib/module/PreventRemoveProvider.js +1 -1
  7. package/lib/module/PreventRemoveProvider.js.map +1 -1
  8. package/lib/module/index.js +1 -1
  9. package/lib/module/index.js.map +1 -1
  10. package/lib/module/useDescriptors.js +5 -8
  11. package/lib/module/useDescriptors.js.map +1 -1
  12. package/lib/module/useIsFocused.js +14 -2
  13. package/lib/module/useIsFocused.js.map +1 -1
  14. package/lib/module/useNavigationBuilder.js +13 -5
  15. package/lib/module/useNavigationBuilder.js.map +1 -1
  16. package/lib/module/useOnGetState.js +1 -1
  17. package/lib/module/useOnGetState.js.map +1 -1
  18. package/lib/module/useOnPreventRemove.js +1 -1
  19. package/lib/module/useOnPreventRemove.js.map +1 -1
  20. package/lib/module/useRoute.js +1 -1
  21. package/lib/module/useRoute.js.map +1 -1
  22. package/lib/typescript/src/NavigationContext.d.ts.map +1 -1
  23. package/lib/typescript/src/NavigationIndependentTree.d.ts.map +1 -1
  24. package/lib/typescript/src/NavigationProvider.d.ts +19 -0
  25. package/lib/typescript/src/NavigationProvider.d.ts.map +1 -0
  26. package/lib/typescript/src/index.d.ts +1 -1
  27. package/lib/typescript/src/index.d.ts.map +1 -1
  28. package/lib/typescript/src/useDescriptors.d.ts.map +1 -1
  29. package/lib/typescript/src/useIsFocused.d.ts +3 -0
  30. package/lib/typescript/src/useIsFocused.d.ts.map +1 -1
  31. package/lib/typescript/src/useNavigationBuilder.d.ts.map +1 -1
  32. package/package.json +2 -2
  33. package/src/NavigationContext.tsx +0 -1
  34. package/src/NavigationIndependentTree.tsx +7 -4
  35. package/src/NavigationProvider.tsx +49 -0
  36. package/src/PreventRemoveProvider.tsx +1 -1
  37. package/src/index.tsx +4 -1
  38. package/src/useDescriptors.tsx +4 -7
  39. package/src/useIsFocused.tsx +21 -2
  40. package/src/useNavigationBuilder.tsx +24 -13
  41. package/src/useOnGetState.tsx +1 -1
  42. package/src/useOnPreventRemove.tsx +1 -1
  43. package/src/useRoute.tsx +1 -1
  44. package/lib/module/NavigationRouteContext.js +0 -9
  45. package/lib/module/NavigationRouteContext.js.map +0 -1
  46. package/lib/typescript/src/NavigationRouteContext.d.ts +0 -7
  47. package/lib/typescript/src/NavigationRouteContext.d.ts.map +0 -1
  48. package/src/NavigationRouteContext.tsx +0 -9
@@ -1 +1 @@
1
- {"version":3,"names":["React","NavigationContext","createContext","undefined"],"sourceRoot":"../../src","sources":["NavigationContext.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAI9B;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,gBAAGD,KAAK,CAACE,aAAa,CAElDC,SAAS,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","NavigationContext","createContext","undefined"],"sourceRoot":"../../src","sources":["NavigationContext.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAG9B;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,gBAAGD,KAAK,CAACE,aAAa,CAElDC,SAAS,CAAC","ignoreList":[]}
@@ -3,7 +3,8 @@
3
3
  import * as React from 'react';
4
4
  import { NavigationContext } from "./NavigationContext.js";
5
5
  import { NavigationIndependentTreeContext } from "./NavigationIndependentTreeContext.js";
6
- import { NavigationRouteContext } from "./NavigationRouteContext.js";
6
+ import { NavigationRouteContext } from "./NavigationProvider.js";
7
+ import { IsFocusedContext } from "./useIsFocused.js";
7
8
 
8
9
  /**
9
10
  * Component to make the child navigation container independent of parent containers.
@@ -19,9 +20,12 @@ export function NavigationIndependentTree({
19
20
  value: undefined,
20
21
  children: /*#__PURE__*/_jsx(NavigationContext.Provider, {
21
22
  value: undefined,
22
- children: /*#__PURE__*/_jsx(NavigationIndependentTreeContext.Provider, {
23
- value: true,
24
- children: children
23
+ children: /*#__PURE__*/_jsx(IsFocusedContext.Provider, {
24
+ value: undefined,
25
+ children: /*#__PURE__*/_jsx(NavigationIndependentTreeContext.Provider, {
26
+ value: true,
27
+ children: children
28
+ })
25
29
  })
26
30
  })
27
31
  })
@@ -1 +1 @@
1
- {"version":3,"names":["React","NavigationContext","NavigationIndependentTreeContext","NavigationRouteContext","jsx","_jsx","NavigationIndependentTree","children","Provider","value","undefined"],"sourceRoot":"../../src","sources":["NavigationIndependentTree.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,iBAAiB,QAAQ,wBAAqB;AACvD,SAASC,gCAAgC,QAAQ,uCAAoC;AACrF,SAASC,sBAAsB,QAAQ,6BAA0B;;AAEjE;AACA;AACA;AAFA,SAAAC,GAAA,IAAAC,IAAA;AAGA,OAAO,SAASC,yBAAyBA,CAAC;EACxCC;AAGF,CAAC,EAAE;EACD;IAAA;IACE;IACAF,IAAA,CAACF,sBAAsB,CAACK,QAAQ;MAACC,KAAK,EAAEC,SAAU;MAAAH,QAAA,eAChDF,IAAA,CAACJ,iBAAiB,CAACO,QAAQ;QAACC,KAAK,EAAEC,SAAU;QAAAH,QAAA,eAC3CF,IAAA,CAACH,gCAAgC,CAACM,QAAQ;UAACC,KAAK;UAAAF,QAAA,EAC7CA;QAAQ,CACgC;MAAC,CAClB;IAAC,CACE;EAAC;AAEtC","ignoreList":[]}
1
+ {"version":3,"names":["React","NavigationContext","NavigationIndependentTreeContext","NavigationRouteContext","IsFocusedContext","jsx","_jsx","NavigationIndependentTree","children","Provider","value","undefined"],"sourceRoot":"../../src","sources":["NavigationIndependentTree.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,iBAAiB,QAAQ,wBAAqB;AACvD,SAASC,gCAAgC,QAAQ,uCAAoC;AACrF,SAASC,sBAAsB,QAAQ,yBAAsB;AAC7D,SAASC,gBAAgB,QAAQ,mBAAgB;;AAEjD;AACA;AACA;AAFA,SAAAC,GAAA,IAAAC,IAAA;AAGA,OAAO,SAASC,yBAAyBA,CAAC;EACxCC;AAGF,CAAC,EAAE;EACD;IAAA;IACE;IACAF,IAAA,CAACH,sBAAsB,CAACM,QAAQ;MAACC,KAAK,EAAEC,SAAU;MAAAH,QAAA,eAChDF,IAAA,CAACL,iBAAiB,CAACQ,QAAQ;QAACC,KAAK,EAAEC,SAAU;QAAAH,QAAA,eAC3CF,IAAA,CAACF,gBAAgB,CAACK,QAAQ;UAACC,KAAK,EAAEC,SAAU;UAAAH,QAAA,eAC1CF,IAAA,CAACJ,gCAAgC,CAACO,QAAQ;YAACC,KAAK;YAAAF,QAAA,EAC7CA;UAAQ,CACgC;QAAC,CACnB;MAAC,CACF;IAAC,CACE;EAAC;AAEtC","ignoreList":[]}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ import * as React from 'react';
4
+ import { NavigationContext } from "./NavigationContext.js";
5
+ import { FocusedRouteKeyContext, IsFocusedContext } from "./useIsFocused.js";
6
+
7
+ /**
8
+ * Context which holds the route prop for a screen.
9
+ */
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ export const NavigationRouteContext = /*#__PURE__*/React.createContext(undefined);
12
+ /**
13
+ * Component to provide the navigation and route contexts to its children.
14
+ */
15
+ export const NamedRouteContextListContext = /*#__PURE__*/React.createContext(undefined);
16
+ export function NavigationProvider({
17
+ route,
18
+ navigation,
19
+ children
20
+ }) {
21
+ const parentIsFocused = React.useContext(IsFocusedContext);
22
+ const focusedRouteKey = React.useContext(FocusedRouteKeyContext);
23
+
24
+ // Mark route as focused only if:
25
+ // - It doesn't have a parent navigator
26
+ // - Parent navigator is focused
27
+ const isFocused = parentIsFocused == null || parentIsFocused ? focusedRouteKey === route.key : false;
28
+ return /*#__PURE__*/_jsx(NavigationRouteContext.Provider, {
29
+ value: route,
30
+ children: /*#__PURE__*/_jsx(NavigationContext.Provider, {
31
+ value: navigation,
32
+ children: /*#__PURE__*/_jsx(IsFocusedContext.Provider, {
33
+ value: isFocused,
34
+ children: children
35
+ })
36
+ })
37
+ });
38
+ }
39
+ //# sourceMappingURL=NavigationProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","NavigationContext","FocusedRouteKeyContext","IsFocusedContext","jsx","_jsx","NavigationRouteContext","createContext","undefined","NamedRouteContextListContext","NavigationProvider","route","navigation","children","parentIsFocused","useContext","focusedRouteKey","isFocused","key","Provider","value"],"sourceRoot":"../../src","sources":["NavigationProvider.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,iBAAiB,QAAQ,wBAAqB;AAEvD,SAASC,sBAAsB,EAAEC,gBAAgB,QAAQ,mBAAgB;;AAEzE;AACA;AACA;AAFA,SAAAC,GAAA,IAAAC,IAAA;AAGA,OAAO,MAAMC,sBAAsB,gBAAGN,KAAK,CAACO,aAAa,CAEvDC,SAAS,CAAC;AAQZ;AACA;AACA;AACA,OAAO,MAAMC,4BAA4B,gBAAGT,KAAK,CAACO,aAAa,CAE7DC,SAAS,CAAC;AAEZ,OAAO,SAASE,kBAAkBA,CAAC;EAAEC,KAAK;EAAEC,UAAU;EAAEC;AAAgB,CAAC,EAAE;EACzE,MAAMC,eAAe,GAAGd,KAAK,CAACe,UAAU,CAACZ,gBAAgB,CAAC;EAC1D,MAAMa,eAAe,GAAGhB,KAAK,CAACe,UAAU,CAACb,sBAAsB,CAAC;;EAEhE;EACA;EACA;EACA,MAAMe,SAAS,GACbH,eAAe,IAAI,IAAI,IAAIA,eAAe,GACtCE,eAAe,KAAKL,KAAK,CAACO,GAAG,GAC7B,KAAK;EAEX,oBACEb,IAAA,CAACC,sBAAsB,CAACa,QAAQ;IAACC,KAAK,EAAET,KAAM;IAAAE,QAAA,eAC5CR,IAAA,CAACJ,iBAAiB,CAACkB,QAAQ;MAACC,KAAK,EAAER,UAAW;MAAAC,QAAA,eAC5CR,IAAA,CAACF,gBAAgB,CAACgB,QAAQ;QAACC,KAAK,EAAEH,SAAU;QAAAJ,QAAA,EACzCA;MAAQ,CACgB;IAAC,CACF;EAAC,CACE,CAAC;AAEtC","ignoreList":[]}
@@ -4,7 +4,7 @@ import { nanoid } from 'nanoid/non-secure';
4
4
  import * as React from 'react';
5
5
  import useLatestCallback from 'use-latest-callback';
6
6
  import { NavigationHelpersContext } from "./NavigationHelpersContext.js";
7
- import { NavigationRouteContext } from "./NavigationRouteContext.js";
7
+ import { NavigationRouteContext } from "./NavigationProvider.js";
8
8
  import { PreventRemoveContext } from "./PreventRemoveContext.js";
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
10
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["nanoid","React","useLatestCallback","NavigationHelpersContext","NavigationRouteContext","PreventRemoveContext","jsx","_jsx","transformPreventedRoutes","preventedRoutesMap","preventedRoutesToTransform","values","preventedRoutes","reduce","acc","routeKey","preventRemove","PreventRemoveProvider","children","parentId","useState","setPreventedRoutesMap","Map","navigation","useContext","route","preventRemoveContextValue","setParentPrevented","setPreventRemove","id","getState","routes","every","key","Error","prevPrevented","get","nextPrevented","set","delete","isPrevented","some","useEffect","undefined","value","useMemo","Provider"],"sourceRoot":"../../src","sources":["PreventRemoveProvider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["nanoid","React","useLatestCallback","NavigationHelpersContext","NavigationRouteContext","PreventRemoveContext","jsx","_jsx","transformPreventedRoutes","preventedRoutesMap","preventedRoutesToTransform","values","preventedRoutes","reduce","acc","routeKey","preventRemove","PreventRemoveProvider","children","parentId","useState","setPreventedRoutesMap","Map","navigation","useContext","route","preventRemoveContextValue","setParentPrevented","setPreventRemove","id","getState","routes","every","key","Error","prevPrevented","get","nextPrevented","set","delete","isPrevented","some","useEffect","undefined","value","useMemo","Provider"],"sourceRoot":"../../src","sources":["PreventRemoveProvider.tsx"],"mappings":"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","ignoreList":[]}
@@ -14,7 +14,7 @@ export { NavigationContext } from "./NavigationContext.js";
14
14
  export { NavigationHelpersContext } from "./NavigationHelpersContext.js";
15
15
  export { NavigationIndependentTree } from "./NavigationIndependentTree.js";
16
16
  export { NavigationMetaContext } from "./NavigationMetaContext.js";
17
- export { NavigationRouteContext } from "./NavigationRouteContext.js";
17
+ export { NavigationProvider, NavigationRouteContext } from "./NavigationProvider.js";
18
18
  export { PreventRemoveContext } from "./PreventRemoveContext.js";
19
19
  export { PreventRemoveProvider } from "./PreventRemoveProvider.js";
20
20
  export { createComponentForStaticNavigation, createPathConfigForStaticNavigation } from "./StaticNavigation.js";
@@ -1 +1 @@
1
- {"version":3,"names":["BaseNavigationContainer","createNavigationContainerRef","createNavigatorFactory","CurrentRenderContext","findFocusedRoute","getActionFromState","getFocusedRouteNameFromRoute","getPathFromState","getStateFromPath","NavigationContainerRefContext","NavigationContext","NavigationHelpersContext","NavigationIndependentTree","NavigationMetaContext","NavigationRouteContext","PreventRemoveContext","PreventRemoveProvider","createComponentForStaticNavigation","createPathConfigForStaticNavigation","ThemeContext","ThemeProvider","useTheme","useFocusEffect","useIsFocused","useNavigation","useNavigationBuilder","useNavigationContainerRef","useNavigationIndependentTree","useNavigationState","usePreventRemove","usePreventRemoveContext","useRoute","useStateForPath","validatePathConfig"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,uBAAuB,QAAQ,8BAA2B;AACnE,SAASC,4BAA4B,QAAQ,mCAAgC;AAC7E,SAASC,sBAAsB,QAAQ,6BAA0B;AACjE,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,4BAA4B,QAAQ,mCAAgC;AAC7E,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,6BAA6B,QAAQ,oCAAiC;AAC/E,SAASC,iBAAiB,QAAQ,wBAAqB;AACvD,SAASC,wBAAwB,QAAQ,+BAA4B;AACrE,SAASC,yBAAyB,QAAQ,gCAA6B;AACvE,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SAASC,sBAAsB,QAAQ,6BAA0B;AACjE,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SACEC,kCAAkC,EAClCC,mCAAmC,QAO9B,uBAAoB;AAC3B,SAASC,YAAY,QAAQ,2BAAwB;AACrD,SAASC,aAAa,QAAQ,4BAAyB;AACvD,SAASC,QAAQ,QAAQ,uBAAoB;AAC7C,cAAc,YAAS;AACvB,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,yBAAyB,QAAQ,gCAA6B;AACvE,SAASC,4BAA4B,QAAQ,mCAAgC;AAC7E,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,uBAAuB,QAAQ,8BAA2B;AACnE,SAASC,QAAQ,QAAQ,eAAY;AACrC,SAASC,eAAe,QAAQ,sBAAmB;AACnD,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,cAAc,2BAA2B","ignoreList":[]}
1
+ {"version":3,"names":["BaseNavigationContainer","createNavigationContainerRef","createNavigatorFactory","CurrentRenderContext","findFocusedRoute","getActionFromState","getFocusedRouteNameFromRoute","getPathFromState","getStateFromPath","NavigationContainerRefContext","NavigationContext","NavigationHelpersContext","NavigationIndependentTree","NavigationMetaContext","NavigationProvider","NavigationRouteContext","PreventRemoveContext","PreventRemoveProvider","createComponentForStaticNavigation","createPathConfigForStaticNavigation","ThemeContext","ThemeProvider","useTheme","useFocusEffect","useIsFocused","useNavigation","useNavigationBuilder","useNavigationContainerRef","useNavigationIndependentTree","useNavigationState","usePreventRemove","usePreventRemoveContext","useRoute","useStateForPath","validatePathConfig"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,uBAAuB,QAAQ,8BAA2B;AACnE,SAASC,4BAA4B,QAAQ,mCAAgC;AAC7E,SAASC,sBAAsB,QAAQ,6BAA0B;AACjE,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,4BAA4B,QAAQ,mCAAgC;AAC7E,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,6BAA6B,QAAQ,oCAAiC;AAC/E,SAASC,iBAAiB,QAAQ,wBAAqB;AACvD,SAASC,wBAAwB,QAAQ,+BAA4B;AACrE,SAASC,yBAAyB,QAAQ,gCAA6B;AACvE,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SACEC,kBAAkB,EAClBC,sBAAsB,QACjB,yBAAsB;AAC7B,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SACEC,kCAAkC,EAClCC,mCAAmC,QAO9B,uBAAoB;AAC3B,SAASC,YAAY,QAAQ,2BAAwB;AACrD,SAASC,aAAa,QAAQ,4BAAyB;AACvD,SAASC,QAAQ,QAAQ,uBAAoB;AAC7C,cAAc,YAAS;AACvB,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,yBAAyB,QAAQ,gCAA6B;AACvE,SAASC,4BAA4B,QAAQ,mCAAgC;AAC7E,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,uBAAuB,QAAQ,8BAA2B;AACnE,SAASC,QAAQ,QAAQ,eAAY;AACrC,SAASC,eAAe,QAAQ,sBAAmB;AACnD,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,cAAc,2BAA2B","ignoreList":[]}
@@ -2,8 +2,7 @@
2
2
 
3
3
  import * as React from 'react';
4
4
  import { NavigationBuilderContext } from "./NavigationBuilderContext.js";
5
- import { NavigationContext } from "./NavigationContext.js";
6
- import { NavigationRouteContext } from "./NavigationRouteContext.js";
5
+ import { NavigationProvider } from "./NavigationProvider.js";
7
6
  import { SceneView } from "./SceneView.js";
8
7
  import { ThemeContext } from "./theming/ThemeContext.js";
9
8
  import { useNavigationCache } from "./useNavigationCache.js";
@@ -128,12 +127,10 @@ export function useDescriptors({
128
127
  }
129
128
  return /*#__PURE__*/_jsx(NavigationBuilderContext.Provider, {
130
129
  value: context,
131
- children: /*#__PURE__*/_jsx(NavigationContext.Provider, {
132
- value: navigation,
133
- children: /*#__PURE__*/_jsx(NavigationRouteContext.Provider, {
134
- value: route,
135
- children: element
136
- })
130
+ children: /*#__PURE__*/_jsx(NavigationProvider, {
131
+ route: route,
132
+ navigation: navigation,
133
+ children: element
137
134
  })
138
135
  }, route.key);
139
136
  };
@@ -1 +1 @@
1
- {"version":3,"names":["React","NavigationBuilderContext","NavigationContext","NavigationRouteContext","SceneView","ThemeContext","useNavigationCache","useRouteCache","jsx","_jsx","useDescriptors","state","screens","navigation","screenOptions","screenLayout","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","theme","useContext","options","setOptions","useState","onDispatchAction","onOptionsChange","scheduleUpdate","flushUpdates","stackRef","context","useMemo","base","navigations","routes","getOptions","route","overrides","config","name","screen","props","optionsList","filter","Boolean","reduce","acc","curr","Object","assign","render","customOptions","routeState","clearOptions","o","key","_","rest","layout","element","children","Provider","value","descriptors","i","describe","placeholder","Error","undefined"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","NavigationBuilderContext","NavigationProvider","SceneView","ThemeContext","useNavigationCache","useRouteCache","jsx","_jsx","useDescriptors","state","screens","navigation","screenOptions","screenLayout","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","theme","useContext","options","setOptions","useState","onDispatchAction","onOptionsChange","scheduleUpdate","flushUpdates","stackRef","context","useMemo","base","navigations","routes","getOptions","route","overrides","config","name","screen","props","optionsList","filter","Boolean","reduce","acc","curr","Object","assign","render","customOptions","routeState","clearOptions","o","key","_","rest","layout","element","children","Provider","value","descriptors","i","describe","placeholder","Error","undefined"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":";;AAOA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAGEC,wBAAwB,QACnB,+BAA4B;AACnC,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,SAAS,QAAQ,gBAAa;AACvC,SAASC,YAAY,QAAQ,2BAAwB;AAUrD,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,aAAa,QAAQ,oBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AA2DhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAK5B;EACAC,KAAK;EACLC,OAAO;EACPC,UAAU;EACVC,aAAa;EACbC,YAAY;EACZC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,WAAW;EACXC,gBAAgB;EAChBC,YAAY;EACZC,MAAM;EACNC;AACuC,CAAC,EAAE;EAC1C,MAAMC,KAAK,GAAGvB,KAAK,CAACwB,UAAU,CAACpB,YAAY,CAAC;EAC5C,MAAM,CAACqB,OAAO,EAAEC,UAAU,CAAC,GAAG1B,KAAK,CAAC2B,QAAQ,CAC1C,CAAC,CACH,CAAC;EACD,MAAM;IACJC,gBAAgB;IAChBC,eAAe;IACfC,cAAc;IACdC,YAAY;IACZC;EACF,CAAC,GAAGhC,KAAK,CAACwB,UAAU,CAACvB,wBAAwB,CAAC;EAE9C,MAAMgC,OAAO,GAAGjC,KAAK,CAACkC,OAAO,CAC3B,OAAO;IACLtB,UAAU;IACVG,QAAQ;IACRG,WAAW;IACXC,gBAAgB;IAChBC,YAAY;IACZQ,gBAAgB;IAChBC,eAAe;IACfC,cAAc;IACdC,YAAY;IACZC;EACF,CAAC,CAAC,EACF,CACEpB,UAAU,EACVG,QAAQ,EACRG,WAAW,EACXC,gBAAgB,EAChBC,YAAY,EACZQ,gBAAgB,EAChBC,eAAe,EACfC,cAAc,EACdC,YAAY,EACZC,QAAQ,CAEZ,CAAC;EAED,MAAM;IAAEG,IAAI;IAAEC;EAAY,CAAC,GAAG/B,kBAAkB,CAK9C;IACAK,KAAK;IACLM,QAAQ;IACRJ,UAAU;IACVc,UAAU;IACVL,MAAM;IACNC;EACF,CAAC,CAAC;EAEF,MAAMe,MAAM,GAAG/B,aAAa,CAACI,KAAK,CAAC2B,MAAM,CAAC;EAE1C,MAAMC,UAAU,GAAGA,CACjBC,KAAuC,EACvC3B,UAOC,EACD4B,SAAwC,KACrC;IACH,MAAMC,MAAM,GAAG9B,OAAO,CAAC4B,KAAK,CAACG,IAAI,CAAC;IAClC,MAAMC,MAAM,GAAGF,MAAM,CAACG,KAAK;IAE3B,MAAMC,WAAW,GAAG;IAClB;IACAhC,aAAa;IACb;IACA,IAAK4B,MAAM,CAAChB,OAAO,GACfgB,MAAM,CAAChB,OAAO,CAACqB,MAAM,CAACC,OAAO,CAAC,GAC9B,EAAE,CAA8C;IACpD;IACAJ,MAAM,CAAClB,OAAO;IACd;IACAe,SAAS,CACV;IAED,OAAOK,WAAW,CAACG,MAAM,CACvB,CAACC,GAAG,EAAEC,IAAI,KACRC,MAAM,CAACC,MAAM,CACXH,GAAG;IACH;IACA,OAAOC,IAAI,KAAK,UAAU,GAAGA,IAAI,GAAGA,IAAI,CAAC;MAAEX,KAAK;MAAE3B,UAAU;MAAEW;IAAM,CAAC,CACvE,CAAC,EACH,CAAC,CACH,CAAC;EACH,CAAC;EAED,MAAM8B,MAAM,GAAGA,CACbd,KAAuC,EACvC3B,UAOC,EACD0C,aAA4B,EAC5BC,UAAuE,KACpE;IACH,MAAMd,MAAM,GAAG9B,OAAO,CAAC4B,KAAK,CAACG,IAAI,CAAC;IAClC,MAAMC,MAAM,GAAGF,MAAM,CAACG,KAAK;IAE3B,MAAMY,YAAY,GAAGA,CAAA,KACnB9B,UAAU,CAAE+B,CAAC,IAAK;MAChB,IAAIlB,KAAK,CAACmB,GAAG,IAAID,CAAC,EAAE;QAClB;QACA,MAAM;UAAE,CAAClB,KAAK,CAACmB,GAAG,GAAGC,CAAC;UAAE,GAAGC;QAAK,CAAC,GAAGH,CAAC;QACrC,OAAOG,IAAI;MACb;MAEA,OAAOH,CAAC;IACV,CAAC,CAAC;IAEJ,MAAMI,MAAM;IACV;IACAlB,MAAM,CAACkB,MAAM;IACb;IACApB,MAAM,CAACoB,MAAM;IACb;IACA/C,YAAY;IAEd,IAAIgD,OAAO,gBACTtD,IAAA,CAACL,SAAS;MACRS,UAAU,EAAEA,UAAW;MACvB2B,KAAK,EAAEA,KAAM;MACbI,MAAM,EAAEA,MAAO;MACfY,UAAU,EAAEA,UAAW;MACvBvC,QAAQ,EAAEA,QAAS;MACnBC,QAAQ,EAAEA,QAAS;MACnBQ,OAAO,EAAE6B,aAAc;MACvBE,YAAY,EAAEA;IAAa,CAC5B,CACF;IAED,IAAIK,MAAM,IAAI,IAAI,EAAE;MAClBC,OAAO,GAAGD,MAAM,CAAC;QACftB,KAAK;QACL3B,UAAU;QACVa,OAAO,EAAE6B,aAAa;QACtB;QACA/B,KAAK;QACLwC,QAAQ,EAAED;MACZ,CAAC,CAAC;IACJ;IAEA,oBACEtD,IAAA,CAACP,wBAAwB,CAAC+D,QAAQ;MAAiBC,KAAK,EAAEhC,OAAQ;MAAA8B,QAAA,eAChEvD,IAAA,CAACN,kBAAkB;QAACqC,KAAK,EAAEA,KAAM;QAAC3B,UAAU,EAAEA,UAAW;QAAAmD,QAAA,EACtDD;MAAO,CACU;IAAC,GAHiBvB,KAAK,CAACmB,GAIX,CAAC;EAExC,CAAC;EAED,MAAMQ,WAAW,GAAG7B,MAAM,CAACW,MAAM,CAiB/B,CAACC,GAAG,EAAEV,KAAK,EAAE4B,CAAC,KAAK;IACnB,MAAMvD,UAAU,GAAGwB,WAAW,CAACG,KAAK,CAACmB,GAAG,CAAC;IACzC,MAAMJ,aAAa,GAAGhB,UAAU,CAACC,KAAK,EAAE3B,UAAU,EAAEa,OAAO,CAACc,KAAK,CAACmB,GAAG,CAAC,CAAC;IACvE,MAAMI,OAAO,GAAGT,MAAM,CACpBd,KAAK,EACL3B,UAAU,EACV0C,aAAa,EACb5C,KAAK,CAAC2B,MAAM,CAAC8B,CAAC,CAAC,CAACzD,KAClB,CAAC;IAEDuC,GAAG,CAACV,KAAK,CAACmB,GAAG,CAAC,GAAG;MACfnB,KAAK;MACL;MACA3B,UAAU;MACVyC,MAAMA,CAAA,EAAG;QACP,OAAOS,OAAO;MAChB,CAAC;MACDrC,OAAO,EAAE6B;IACX,CAAC;IAED,OAAOL,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;;EAEN;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMmB,QAAQ,GAAGA,CAAC7B,KAA+B,EAAE8B,WAAoB,KAAK;IAC1E,IAAI,CAACA,WAAW,EAAE;MAChB,IAAI,EAAE9B,KAAK,CAACmB,GAAG,IAAIQ,WAAW,CAAC,EAAE;QAC/B,MAAM,IAAII,KAAK,CAAC,sCAAsC/B,KAAK,CAACmB,GAAG,GAAG,CAAC;MACrE;MAEA,OAAOQ,WAAW,CAAC3B,KAAK,CAACmB,GAAG,CAAC;IAC/B;IAEA,MAAM9C,UAAU,GAAGuB,IAAI;IACvB,MAAMmB,aAAa,GAAGhB,UAAU,CAACC,KAAK,EAAE3B,UAAU,EAAE,CAAC,CAAC,CAAC;IACvD,MAAMkD,OAAO,GAAGT,MAAM,CAACd,KAAK,EAAE3B,UAAU,EAAE0C,aAAa,EAAEiB,SAAS,CAAC;IAEnE,OAAO;MACLhC,KAAK;MACL3B,UAAU;MACVyC,MAAMA,CAAA,EAAG;QACP,OAAOS,OAAO;MAChB,CAAC;MACDrC,OAAO,EAAE6B;IACX,CAAC;EACH,CAAC;EAED,OAAO;IACLc,QAAQ;IACRF;EACF,CAAC;AACH","ignoreList":[]}
@@ -2,22 +2,34 @@
2
2
 
3
3
  import * as React from 'react';
4
4
  import { useNavigation } from "./useNavigation.js";
5
+ export const FocusedRouteKeyContext = /*#__PURE__*/React.createContext(undefined);
6
+ export const IsFocusedContext = /*#__PURE__*/React.createContext(undefined);
5
7
 
6
8
  /**
7
9
  * Hook to get the current focus state of the screen. Returns a `true` if screen is focused, otherwise `false`.
8
10
  * This can be used if a component needs to render something based on the focus state.
9
11
  */
10
12
  export function useIsFocused() {
13
+ const isFocused = React.useContext(IsFocusedContext);
11
14
  const navigation = useNavigation();
15
+ const isFocusedAvailable = isFocused !== undefined;
12
16
  const subscribe = React.useCallback(callback => {
17
+ if (isFocusedAvailable) {
18
+ // If `isFocused` is available in context
19
+ // We don't need to subscribe to focus and blur events
20
+ return () => {};
21
+ }
13
22
  const unsubscribeFocus = navigation.addListener('focus', callback);
14
23
  const unsubscribeBlur = navigation.addListener('blur', callback);
15
24
  return () => {
16
25
  unsubscribeFocus();
17
26
  unsubscribeBlur();
18
27
  };
19
- }, [navigation]);
28
+ }, [isFocusedAvailable, navigation]);
29
+
30
+ // isFocused from context only works with NavigationProvider
31
+ // So this is kept for backward compatibility
20
32
  const value = React.useSyncExternalStore(subscribe, navigation.isFocused, navigation.isFocused);
21
- return value;
33
+ return isFocused ?? value;
22
34
  }
23
35
  //# sourceMappingURL=useIsFocused.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useNavigation","useIsFocused","navigation","subscribe","useCallback","callback","unsubscribeFocus","addListener","unsubscribeBlur","value","useSyncExternalStore","isFocused"],"sourceRoot":"../../src","sources":["useIsFocused.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,aAAa,QAAQ,oBAAiB;;AAE/C;AACA;AACA;AACA;AACA,OAAO,SAASC,YAAYA,CAAA,EAAY;EACtC,MAAMC,UAAU,GAAGF,aAAa,CAAC,CAAC;EAElC,MAAMG,SAAS,GAAGJ,KAAK,CAACK,WAAW,CAChCC,QAAoB,IAAK;IACxB,MAAMC,gBAAgB,GAAGJ,UAAU,CAACK,WAAW,CAAC,OAAO,EAAEF,QAAQ,CAAC;IAClE,MAAMG,eAAe,GAAGN,UAAU,CAACK,WAAW,CAAC,MAAM,EAAEF,QAAQ,CAAC;IAEhE,OAAO,MAAM;MACXC,gBAAgB,CAAC,CAAC;MAClBE,eAAe,CAAC,CAAC;IACnB,CAAC;EACH,CAAC,EACD,CAACN,UAAU,CACb,CAAC;EAED,MAAMO,KAAK,GAAGV,KAAK,CAACW,oBAAoB,CACtCP,SAAS,EACTD,UAAU,CAACS,SAAS,EACpBT,UAAU,CAACS,SACb,CAAC;EAED,OAAOF,KAAK;AACd","ignoreList":[]}
1
+ {"version":3,"names":["React","useNavigation","FocusedRouteKeyContext","createContext","undefined","IsFocusedContext","useIsFocused","isFocused","useContext","navigation","isFocusedAvailable","subscribe","useCallback","callback","unsubscribeFocus","addListener","unsubscribeBlur","value","useSyncExternalStore"],"sourceRoot":"../../src","sources":["useIsFocused.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,aAAa,QAAQ,oBAAiB;AAE/C,OAAO,MAAMC,sBAAsB,gBAAGF,KAAK,CAACG,aAAa,CACvDC,SACF,CAAC;AAED,OAAO,MAAMC,gBAAgB,gBAAGL,KAAK,CAACG,aAAa,CACjDC,SACF,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,SAASE,YAAYA,CAAA,EAAY;EACtC,MAAMC,SAAS,GAAGP,KAAK,CAACQ,UAAU,CAACH,gBAAgB,CAAC;EACpD,MAAMI,UAAU,GAAGR,aAAa,CAAC,CAAC;EAElC,MAAMS,kBAAkB,GAAGH,SAAS,KAAKH,SAAS;EAElD,MAAMO,SAAS,GAAGX,KAAK,CAACY,WAAW,CAChCC,QAAoB,IAAK;IACxB,IAAIH,kBAAkB,EAAE;MACtB;MACA;MACA,OAAO,MAAM,CAAC,CAAC;IACjB;IAEA,MAAMI,gBAAgB,GAAGL,UAAU,CAACM,WAAW,CAAC,OAAO,EAAEF,QAAQ,CAAC;IAClE,MAAMG,eAAe,GAAGP,UAAU,CAACM,WAAW,CAAC,MAAM,EAAEF,QAAQ,CAAC;IAEhE,OAAO,MAAM;MACXC,gBAAgB,CAAC,CAAC;MAClBE,eAAe,CAAC,CAAC;IACnB,CAAC;EACH,CAAC,EACD,CAACN,kBAAkB,EAAED,UAAU,CACjC,CAAC;;EAED;EACA;EACA,MAAMQ,KAAK,GAAGjB,KAAK,CAACkB,oBAAoB,CACtCP,SAAS,EACTF,UAAU,CAACF,SAAS,EACpBE,UAAU,CAACF,SACb,CAAC;EAED,OAAOA,SAAS,IAAIU,KAAK;AAC3B","ignoreList":[]}
@@ -11,7 +11,7 @@ import { isArrayEqual } from "./isArrayEqual.js";
11
11
  import { isRecordEqual } from "./isRecordEqual.js";
12
12
  import { NavigationHelpersContext } from "./NavigationHelpersContext.js";
13
13
  import { NavigationMetaContext } from "./NavigationMetaContext.js";
14
- import { NavigationRouteContext } from "./NavigationRouteContext.js";
14
+ import { NavigationRouteContext } from "./NavigationProvider.js";
15
15
  import { NavigationStateContext } from "./NavigationStateContext.js";
16
16
  import { PreventRemoveProvider } from "./PreventRemoveProvider.js";
17
17
  import { Screen } from "./Screen.js";
@@ -25,6 +25,7 @@ import { useDescriptors } from "./useDescriptors.js";
25
25
  import { useEventEmitter } from "./useEventEmitter.js";
26
26
  import { useFocusedListenersChildrenAdapter } from "./useFocusedListenersChildrenAdapter.js";
27
27
  import { useFocusEvents } from "./useFocusEvents.js";
28
+ import { FocusedRouteKeyContext } from "./useIsFocused.js";
28
29
  import { useKeyedChildListeners } from "./useKeyedChildListeners.js";
29
30
  import { useLazyValue } from "./useLazyValue.js";
30
31
  import { useNavigationHelpers } from "./useNavigationHelpers.js";
@@ -275,12 +276,16 @@ export function useNavigationBuilder(createRouter, options) {
275
276
  const paramsForState = isNestedParamsConsumed ? undefined : route?.params;
276
277
  const stateFromParams = paramsForState ? getStateFromParams(paramsForState) : undefined;
277
278
  const stateBeforeInitialization = stateFromParams ?? currentState;
278
- const hydratedState = router.getRehydratedState(stateBeforeInitialization, {
279
+ const hydratedState = stateBeforeInitialization == null ? router.getInitialState({
280
+ routeNames,
281
+ routeParamList: initialRouteParamList,
282
+ routeGetIdList
283
+ }) : router.getRehydratedState(stateBeforeInitialization, {
279
284
  routeNames,
280
285
  routeParamList: initialRouteParamList,
281
286
  routeGetIdList
282
287
  });
283
- if (options.UNSTABLE_routeNamesChangeBehavior === 'lastUnhandled' && doesStateHaveOnlyInvalidRoutes(stateBeforeInitialization)) {
288
+ if (stateBeforeInitialization != null && options.UNSTABLE_routeNamesChangeBehavior === 'lastUnhandled' && doesStateHaveOnlyInvalidRoutes(stateBeforeInitialization)) {
284
289
  return [stateBeforeInitialization, hydratedState, true, paramsForState];
285
290
  }
286
291
  return [undefined, hydratedState, false, paramsForState];
@@ -589,8 +594,11 @@ export function useNavigationBuilder(createRouter, options) {
589
594
  value: navigation,
590
595
  children: /*#__PURE__*/_jsx(NavigationStateListenerProvider, {
591
596
  state: state,
592
- children: /*#__PURE__*/_jsx(PreventRemoveProvider, {
593
- children: element
597
+ children: /*#__PURE__*/_jsx(FocusedRouteKeyContext.Provider, {
598
+ value: state.routes[state.index].key,
599
+ children: /*#__PURE__*/_jsx(PreventRemoveProvider, {
600
+ children: element
601
+ })
594
602
  })
595
603
  })
596
604
  })
@@ -1 +1 @@
1
- {"version":3,"names":["CommonActions","deepEqual","React","isValidElementType","useLatestCallback","deepFreeze","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationMetaContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","UnhandledActionContext","useChildListeners","useClientLayoutEffect","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useKeyedChildListeners","useLazyValue","useNavigationHelpers","NavigationStateListenerProvider","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","jsx","_jsx","CONSUMED_PARAMS","Symbol","isScreen","child","type","isGroup","Fragment","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","groupLayout","configs","Children","toArray","reduce","acc","isValidElement","props","Error","name","JSON","stringify","navigationKey","push","keys","options","layout","screenOptions","screenLayout","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","getStateFromParams","params","state","screen","initial","routes","path","useNavigationBuilder","createRouter","navigatorKey","route","useContext","isNestedParamsConsumed","screenListeners","UNSTABLE_router","rest","routeConfigs","router","initialRouteName","every","original","overrides","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","doesStateHaveOnlyInvalidRoutes","r","includes","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanupRef","useRef","lastStateRef","current","stateBeforeInitialization","initializedState","isFirstStateInitialization","paramsUsedForInitialization","useMemo","getRehydratedState","initialRouteParamList","initialParamsFromParams","getInitialState","paramsForState","stateFromParams","hydratedState","UNSTABLE_routeNamesChangeBehavior","previousRouteKeyListRef","useEffect","previousRouteKeyList","unhandledState","setUnhandledState","useState","nextState","shouldClearUnhandledState","getStateForRouteNamesChange","routeKeyChanges","filter","didConsumeNestedParams","action","reset","navigate","merge","pop","updatedState","getStateForAction","defineProperty","value","enumerable","shouldUpdate","lastNotifiedStateRef","stateRef","emitter","e","target","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","onUnhandledActionParent","onUnhandledAction","payload","id","focusedListeners","focus","getStateListeners","describe","NavigationContent","element","Provider"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CommonActions","deepEqual","React","isValidElementType","useLatestCallback","deepFreeze","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationMetaContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","UnhandledActionContext","useChildListeners","useClientLayoutEffect","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","FocusedRouteKeyContext","useKeyedChildListeners","useLazyValue","useNavigationHelpers","NavigationStateListenerProvider","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","jsx","_jsx","CONSUMED_PARAMS","Symbol","isScreen","child","type","isGroup","Fragment","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","groupLayout","configs","Children","toArray","reduce","acc","isValidElement","props","Error","name","JSON","stringify","navigationKey","push","keys","options","layout","screenOptions","screenLayout","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","getStateFromParams","params","state","screen","initial","routes","path","useNavigationBuilder","createRouter","navigatorKey","route","useContext","isNestedParamsConsumed","screenListeners","UNSTABLE_router","rest","routeConfigs","router","initialRouteName","every","original","overrides","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","doesStateHaveOnlyInvalidRoutes","r","includes","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanupRef","useRef","lastStateRef","current","stateBeforeInitialization","initializedState","isFirstStateInitialization","paramsUsedForInitialization","useMemo","getRehydratedState","initialRouteParamList","initialParamsFromParams","getInitialState","paramsForState","stateFromParams","hydratedState","UNSTABLE_routeNamesChangeBehavior","previousRouteKeyListRef","useEffect","previousRouteKeyList","unhandledState","setUnhandledState","useState","nextState","shouldClearUnhandledState","getStateForRouteNamesChange","routeKeyChanges","filter","didConsumeNestedParams","action","reset","navigate","merge","pop","updatedState","getStateForAction","defineProperty","value","enumerable","shouldUpdate","lastNotifiedStateRef","stateRef","emitter","e","target","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","onUnhandledActionParent","onUnhandledAction","payload","id","focusedListeners","focus","getStateListeners","describe","NavigationContent","element","Provider"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  import * as React from 'react';
4
4
  import { isArrayEqual } from "./isArrayEqual.js";
5
5
  import { NavigationBuilderContext } from "./NavigationBuilderContext.js";
6
- import { NavigationRouteContext } from "./NavigationRouteContext.js";
6
+ import { NavigationRouteContext } from "./NavigationProvider.js";
7
7
  export function useOnGetState({
8
8
  getState,
9
9
  getStateListeners
@@ -1 +1 @@
1
- {"version":3,"names":["React","isArrayEqual","NavigationBuilderContext","NavigationRouteContext","useOnGetState","getState","getStateListeners","addKeyedListener","useContext","route","key","getRehydratedState","useCallback","state","routes","map","childState","useEffect"],"sourceRoot":"../../src","sources":["useOnGetState.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAEEC,wBAAwB,QACnB,+BAA4B;AACnC,SAASC,sBAAsB,QAAQ,6BAA0B;AAOjE,OAAO,SAASC,aAAaA,CAAC;EAAEC,QAAQ;EAAEC;AAA2B,CAAC,EAAE;EACtE,MAAM;IAAEC;EAAiB,CAAC,GAAGP,KAAK,CAACQ,UAAU,CAACN,wBAAwB,CAAC;EACvE,MAAMO,KAAK,GAAGT,KAAK,CAACQ,UAAU,CAACL,sBAAsB,CAAC;EACtD,MAAMO,GAAG,GAAGD,KAAK,GAAGA,KAAK,CAACC,GAAG,GAAG,MAAM;EAEtC,MAAMC,kBAAkB,GAAGX,KAAK,CAACY,WAAW,CAAC,MAAM;IACjD,MAAMC,KAAK,GAAGR,QAAQ,CAAC,CAAC;;IAExB;IACA,MAAMS,MAAM,GAAGD,KAAK,CAACC,MAAM,CAACC,GAAG,CAAEN,KAAK,IAAK;MACzC,MAAMO,UAAU,GAAGV,iBAAiB,CAACG,KAAK,CAACC,GAAG,CAAC,GAAG,CAAC;MAEnD,IAAID,KAAK,CAACI,KAAK,KAAKG,UAAU,EAAE;QAC9B,OAAOP,KAAK;MACd;MAEA,OAAO;QAAE,GAAGA,KAAK;QAAEI,KAAK,EAAEG;MAAW,CAAC;IACxC,CAAC,CAAC;IAEF,IAAIf,YAAY,CAACY,KAAK,CAACC,MAAM,EAAEA,MAAM,CAAC,EAAE;MACtC,OAAOD,KAAK;IACd;IAEA,OAAO;MAAE,GAAGA,KAAK;MAAEC;IAAO,CAAC;EAC7B,CAAC,EAAE,CAACT,QAAQ,EAAEC,iBAAiB,CAAC,CAAC;EAEjCN,KAAK,CAACiB,SAAS,CAAC,MAAM;IACpB,OAAOV,gBAAgB,GAAG,UAAU,EAAEG,GAAG,EAAEC,kBAAkB,CAAC;EAChE,CAAC,EAAE,CAACJ,gBAAgB,EAAEI,kBAAkB,EAAED,GAAG,CAAC,CAAC;AACjD","ignoreList":[]}
1
+ {"version":3,"names":["React","isArrayEqual","NavigationBuilderContext","NavigationRouteContext","useOnGetState","getState","getStateListeners","addKeyedListener","useContext","route","key","getRehydratedState","useCallback","state","routes","map","childState","useEffect"],"sourceRoot":"../../src","sources":["useOnGetState.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAEEC,wBAAwB,QACnB,+BAA4B;AACnC,SAASC,sBAAsB,QAAQ,yBAAsB;AAO7D,OAAO,SAASC,aAAaA,CAAC;EAAEC,QAAQ;EAAEC;AAA2B,CAAC,EAAE;EACtE,MAAM;IAAEC;EAAiB,CAAC,GAAGP,KAAK,CAACQ,UAAU,CAACN,wBAAwB,CAAC;EACvE,MAAMO,KAAK,GAAGT,KAAK,CAACQ,UAAU,CAACL,sBAAsB,CAAC;EACtD,MAAMO,GAAG,GAAGD,KAAK,GAAGA,KAAK,CAACC,GAAG,GAAG,MAAM;EAEtC,MAAMC,kBAAkB,GAAGX,KAAK,CAACY,WAAW,CAAC,MAAM;IACjD,MAAMC,KAAK,GAAGR,QAAQ,CAAC,CAAC;;IAExB;IACA,MAAMS,MAAM,GAAGD,KAAK,CAACC,MAAM,CAACC,GAAG,CAAEN,KAAK,IAAK;MACzC,MAAMO,UAAU,GAAGV,iBAAiB,CAACG,KAAK,CAACC,GAAG,CAAC,GAAG,CAAC;MAEnD,IAAID,KAAK,CAACI,KAAK,KAAKG,UAAU,EAAE;QAC9B,OAAOP,KAAK;MACd;MAEA,OAAO;QAAE,GAAGA,KAAK;QAAEI,KAAK,EAAEG;MAAW,CAAC;IACxC,CAAC,CAAC;IAEF,IAAIf,YAAY,CAACY,KAAK,CAACC,MAAM,EAAEA,MAAM,CAAC,EAAE;MACtC,OAAOD,KAAK;IACd;IAEA,OAAO;MAAE,GAAGA,KAAK;MAAEC;IAAO,CAAC;EAC7B,CAAC,EAAE,CAACT,QAAQ,EAAEC,iBAAiB,CAAC,CAAC;EAEjCN,KAAK,CAACiB,SAAS,CAAC,MAAM;IACpB,OAAOV,gBAAgB,GAAG,UAAU,EAAEG,GAAG,EAAEC,kBAAkB,CAAC;EAChE,CAAC,EAAE,CAACJ,gBAAgB,EAAEI,kBAAkB,EAAED,GAAG,CAAC,CAAC;AACjD","ignoreList":[]}
@@ -2,7 +2,7 @@
2
2
 
3
3
  import * as React from 'react';
4
4
  import { NavigationBuilderContext } from "./NavigationBuilderContext.js";
5
- import { NavigationRouteContext } from "./NavigationRouteContext.js";
5
+ import { NavigationRouteContext } from "./NavigationProvider.js";
6
6
  const VISITED_ROUTE_KEYS = Symbol('VISITED_ROUTE_KEYS');
7
7
  export const shouldPreventRemove = (emitter, beforeRemoveListeners, currentRoutes, nextRoutes, action) => {
8
8
  const nextRouteKeys = nextRoutes.map(route => route.key);
@@ -1 +1 @@
1
- {"version":3,"names":["React","NavigationBuilderContext","NavigationRouteContext","VISITED_ROUTE_KEYS","Symbol","shouldPreventRemove","emitter","beforeRemoveListeners","currentRoutes","nextRoutes","action","nextRouteKeys","map","route","key","removedRoutes","filter","includes","reverse","visitedRouteKeys","Set","beforeRemoveAction","has","isPrevented","add","event","emit","type","target","data","canPreventDefault","defaultPrevented","useOnPreventRemove","getState","addKeyedListener","useContext","routeKey","useEffect","state","routes"],"sourceRoot":"../../src","sources":["useOnPreventRemove.tsx"],"mappings":";;AAIA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAEEC,wBAAwB,QACnB,+BAA4B;AACnC,SAASC,sBAAsB,QAAQ,6BAA0B;AAUjE,MAAMC,kBAAkB,GAAGC,MAAM,CAAC,oBAAoB,CAAC;AAEvD,OAAO,MAAMC,mBAAmB,GAAGA,CACjCC,OAAkD,EAClDC,qBAA4E,EAC5EC,aAAgC,EAChCC,UAA0C,EAC1CC,MAAwB,KACrB;EACH,MAAMC,aAAa,GAAGF,UAAU,CAACG,GAAG,CAAEC,KAAK,IAAKA,KAAK,CAACC,GAAG,CAAC;;EAE1D;EACA,MAAMC,aAAa,GAAGP,aAAa,CAChCQ,MAAM,CAAEH,KAAK,IAAK,CAACF,aAAa,CAACM,QAAQ,CAACJ,KAAK,CAACC,GAAG,CAAC,CAAC,CACrDI,OAAO,CAAC,CAAC;EAEZ,MAAMC,gBAA6B;EACjC;EACAT,MAAM,CAACP,kBAAkB,CAAC,IAAI,IAAIiB,GAAG,CAAS,CAAC;EAEjD,MAAMC,kBAAkB,GAAG;IACzB,GAAGX,MAAM;IACT,CAACP,kBAAkB,GAAGgB;EACxB,CAAC;EAED,KAAK,MAAMN,KAAK,IAAIE,aAAa,EAAE;IACjC,IAAII,gBAAgB,CAACG,GAAG,CAACT,KAAK,CAACC,GAAG,CAAC,EAAE;MACnC;MACA;IACF;;IAEA;IACA,MAAMS,WAAW,GAAGhB,qBAAqB,CAACM,KAAK,CAACC,GAAG,CAAC,GAAGO,kBAAkB,CAAC;IAE1E,IAAIE,WAAW,EAAE;MACf,OAAO,IAAI;IACb;IAEAJ,gBAAgB,CAACK,GAAG,CAACX,KAAK,CAACC,GAAG,CAAC;IAE/B,MAAMW,KAAK,GAAGnB,OAAO,CAACoB,IAAI,CAAC;MACzBC,IAAI,EAAE,cAAc;MACpBC,MAAM,EAAEf,KAAK,CAACC,GAAG;MACjBe,IAAI,EAAE;QAAEnB,MAAM,EAAEW;MAAmB,CAAC;MACpCS,iBAAiB,EAAE;IACrB,CAAC,CAAC;IAEF,IAAIL,KAAK,CAACM,gBAAgB,EAAE;MAC1B,OAAO,IAAI;IACb;EACF;EAEA,OAAO,KAAK;AACd,CAAC;AAED,OAAO,SAASC,kBAAkBA,CAAC;EACjCC,QAAQ;EACR3B,OAAO;EACPC;AACO,CAAC,EAAE;EACV,MAAM;IAAE2B;EAAiB,CAAC,GAAGlC,KAAK,CAACmC,UAAU,CAAClC,wBAAwB,CAAC;EACvE,MAAMY,KAAK,GAAGb,KAAK,CAACmC,UAAU,CAACjC,sBAAsB,CAAC;EACtD,MAAMkC,QAAQ,GAAGvB,KAAK,EAAEC,GAAG;EAE3Bd,KAAK,CAACqC,SAAS,CAAC,MAAM;IACpB,IAAID,QAAQ,EAAE;MACZ,OAAOF,gBAAgB,GAAG,cAAc,EAAEE,QAAQ,EAAG1B,MAAM,IAAK;QAC9D,MAAM4B,KAAK,GAAGL,QAAQ,CAAC,CAAC;QAExB,OAAO5B,mBAAmB,CACxBC,OAAO,EACPC,qBAAqB,EACrB+B,KAAK,CAACC,MAAM,EACZ,EAAE,EACF7B,MACF,CAAC;MACH,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACwB,gBAAgB,EAAE3B,qBAAqB,EAAED,OAAO,EAAE2B,QAAQ,EAAEG,QAAQ,CAAC,CAAC;AAC5E","ignoreList":[]}
1
+ {"version":3,"names":["React","NavigationBuilderContext","NavigationRouteContext","VISITED_ROUTE_KEYS","Symbol","shouldPreventRemove","emitter","beforeRemoveListeners","currentRoutes","nextRoutes","action","nextRouteKeys","map","route","key","removedRoutes","filter","includes","reverse","visitedRouteKeys","Set","beforeRemoveAction","has","isPrevented","add","event","emit","type","target","data","canPreventDefault","defaultPrevented","useOnPreventRemove","getState","addKeyedListener","useContext","routeKey","useEffect","state","routes"],"sourceRoot":"../../src","sources":["useOnPreventRemove.tsx"],"mappings":";;AAIA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAEEC,wBAAwB,QACnB,+BAA4B;AACnC,SAASC,sBAAsB,QAAQ,yBAAsB;AAU7D,MAAMC,kBAAkB,GAAGC,MAAM,CAAC,oBAAoB,CAAC;AAEvD,OAAO,MAAMC,mBAAmB,GAAGA,CACjCC,OAAkD,EAClDC,qBAA4E,EAC5EC,aAAgC,EAChCC,UAA0C,EAC1CC,MAAwB,KACrB;EACH,MAAMC,aAAa,GAAGF,UAAU,CAACG,GAAG,CAAEC,KAAK,IAAKA,KAAK,CAACC,GAAG,CAAC;;EAE1D;EACA,MAAMC,aAAa,GAAGP,aAAa,CAChCQ,MAAM,CAAEH,KAAK,IAAK,CAACF,aAAa,CAACM,QAAQ,CAACJ,KAAK,CAACC,GAAG,CAAC,CAAC,CACrDI,OAAO,CAAC,CAAC;EAEZ,MAAMC,gBAA6B;EACjC;EACAT,MAAM,CAACP,kBAAkB,CAAC,IAAI,IAAIiB,GAAG,CAAS,CAAC;EAEjD,MAAMC,kBAAkB,GAAG;IACzB,GAAGX,MAAM;IACT,CAACP,kBAAkB,GAAGgB;EACxB,CAAC;EAED,KAAK,MAAMN,KAAK,IAAIE,aAAa,EAAE;IACjC,IAAII,gBAAgB,CAACG,GAAG,CAACT,KAAK,CAACC,GAAG,CAAC,EAAE;MACnC;MACA;IACF;;IAEA;IACA,MAAMS,WAAW,GAAGhB,qBAAqB,CAACM,KAAK,CAACC,GAAG,CAAC,GAAGO,kBAAkB,CAAC;IAE1E,IAAIE,WAAW,EAAE;MACf,OAAO,IAAI;IACb;IAEAJ,gBAAgB,CAACK,GAAG,CAACX,KAAK,CAACC,GAAG,CAAC;IAE/B,MAAMW,KAAK,GAAGnB,OAAO,CAACoB,IAAI,CAAC;MACzBC,IAAI,EAAE,cAAc;MACpBC,MAAM,EAAEf,KAAK,CAACC,GAAG;MACjBe,IAAI,EAAE;QAAEnB,MAAM,EAAEW;MAAmB,CAAC;MACpCS,iBAAiB,EAAE;IACrB,CAAC,CAAC;IAEF,IAAIL,KAAK,CAACM,gBAAgB,EAAE;MAC1B,OAAO,IAAI;IACb;EACF;EAEA,OAAO,KAAK;AACd,CAAC;AAED,OAAO,SAASC,kBAAkBA,CAAC;EACjCC,QAAQ;EACR3B,OAAO;EACPC;AACO,CAAC,EAAE;EACV,MAAM;IAAE2B;EAAiB,CAAC,GAAGlC,KAAK,CAACmC,UAAU,CAAClC,wBAAwB,CAAC;EACvE,MAAMY,KAAK,GAAGb,KAAK,CAACmC,UAAU,CAACjC,sBAAsB,CAAC;EACtD,MAAMkC,QAAQ,GAAGvB,KAAK,EAAEC,GAAG;EAE3Bd,KAAK,CAACqC,SAAS,CAAC,MAAM;IACpB,IAAID,QAAQ,EAAE;MACZ,OAAOF,gBAAgB,GAAG,cAAc,EAAEE,QAAQ,EAAG1B,MAAM,IAAK;QAC9D,MAAM4B,KAAK,GAAGL,QAAQ,CAAC,CAAC;QAExB,OAAO5B,mBAAmB,CACxBC,OAAO,EACPC,qBAAqB,EACrB+B,KAAK,CAACC,MAAM,EACZ,EAAE,EACF7B,MACF,CAAC;MACH,CAAC,CAAC;IACJ;EACF,CAAC,EAAE,CAACwB,gBAAgB,EAAE3B,qBAAqB,EAAED,OAAO,EAAE2B,QAAQ,EAAEG,QAAQ,CAAC,CAAC;AAC5E","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import * as React from 'react';
4
- import { NavigationRouteContext } from "./NavigationRouteContext.js";
4
+ import { NavigationRouteContext } from "./NavigationProvider.js";
5
5
  /**
6
6
  * Hook to access the route prop of the parent screen anywhere.
7
7
  *
@@ -1 +1 @@
1
- {"version":3,"names":["React","NavigationRouteContext","useRoute","route","useContext","undefined","Error"],"sourceRoot":"../../src","sources":["useRoute.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,sBAAsB,QAAQ,6BAA0B;AAGjE;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,QAAQA,CAAA,EAA0C;EAChE,MAAMC,KAAK,GAAGH,KAAK,CAACI,UAAU,CAACH,sBAAsB,CAAC;EAEtD,IAAIE,KAAK,KAAKE,SAAS,EAAE;IACvB,MAAM,IAAIC,KAAK,CACb,iFACF,CAAC;EACH;EAEA,OAAOH,KAAK;AACd","ignoreList":[]}
1
+ {"version":3,"names":["React","NavigationRouteContext","useRoute","route","useContext","undefined","Error"],"sourceRoot":"../../src","sources":["useRoute.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,sBAAsB,QAAQ,yBAAsB;AAG7D;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,QAAQA,CAAA,EAA0C;EAChE,MAAMC,KAAK,GAAGH,KAAK,CAACI,UAAU,CAACH,sBAAsB,CAAC;EAEtD,IAAIE,KAAK,KAAKE,SAAS,EAAE;IACvB,MAAM,IAAIC,KAAK,CACb,iFACF,CAAC;EACH;EAEA,OAAOH,KAAK;AACd","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationContext.d.ts","sourceRoot":"","sources":["../../../src/NavigationContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,iBAAiB,0DAElB,CAAC"}
1
+ {"version":3,"file":"NavigationContext.d.ts","sourceRoot":"","sources":["../../../src/NavigationContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C;;GAEG;AACH,eAAO,MAAM,iBAAiB,0DAElB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationIndependentTree.d.ts","sourceRoot":"","sources":["../../../src/NavigationIndependentTree.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,2CAWA"}
1
+ {"version":3,"file":"NavigationIndependentTree.d.ts","sourceRoot":"","sources":["../../../src/NavigationIndependentTree.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,2CAaA"}
@@ -0,0 +1,19 @@
1
+ import type { ParamListBase, Route } from '@react-navigation/routers';
2
+ import * as React from 'react';
3
+ import type { NavigationProp } from './types';
4
+ /**
5
+ * Context which holds the route prop for a screen.
6
+ */
7
+ export declare const NavigationRouteContext: React.Context<Route<string> | undefined>;
8
+ type Props = {
9
+ route: Route<string>;
10
+ navigation: NavigationProp<ParamListBase>;
11
+ children: React.ReactNode;
12
+ };
13
+ /**
14
+ * Component to provide the navigation and route contexts to its children.
15
+ */
16
+ export declare const NamedRouteContextListContext: React.Context<Record<string, React.Context<Route<string>>> | undefined>;
17
+ export declare function NavigationProvider({ route, navigation, children }: Props): import("react/jsx-runtime").JSX.Element;
18
+ export {};
19
+ //# sourceMappingURL=NavigationProvider.d.ts.map
@@ -0,0 +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;AAG/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9C;;GAEG;AACH,eAAO,MAAM,sBAAsB,0CAEvB,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;;GAEG;AACH,eAAO,MAAM,4BAA4B,yEAE7B,CAAC;AAEb,wBAAgB,kBAAkB,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,KAAK,2CAqBxE"}
@@ -12,7 +12,7 @@ export { NavigationContext } from './NavigationContext';
12
12
  export { NavigationHelpersContext } from './NavigationHelpersContext';
13
13
  export { NavigationIndependentTree } from './NavigationIndependentTree';
14
14
  export { NavigationMetaContext } from './NavigationMetaContext';
15
- export { NavigationRouteContext } from './NavigationRouteContext';
15
+ export { NavigationProvider, NavigationRouteContext, } from './NavigationProvider';
16
16
  export { PreventRemoveContext } from './PreventRemoveContext';
17
17
  export { PreventRemoveProvider } from './PreventRemoveProvider';
18
18
  export { createComponentForStaticNavigation, createPathConfigForStaticNavigation, type StaticConfig, type StaticConfigGroup, type StaticConfigScreens, type StaticNavigation, type StaticParamList, type StaticScreenProps, } from './StaticNavigation';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,kCAAkC,EAClC,mCAAmC,EACnC,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,iBAAiB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,kCAAkC,EAClC,mCAAmC,EACnC,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,iBAAiB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,cAAc,2BAA2B,CAAC"}
@@ -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,3 +1,6 @@
1
+ import * as React from 'react';
2
+ export declare const FocusedRouteKeyContext: React.Context<string | undefined>;
3
+ export declare const IsFocusedContext: React.Context<boolean | undefined>;
1
4
  /**
2
5
  * Hook to get the current focus state of the screen. Returns a `true` if screen is focused, otherwise `false`.
3
6
  * 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":"AAIA;;;GAGG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAuBtC"}
1
+ {"version":3,"file":"useIsFocused.d.ts","sourceRoot":"","sources":["../../../src/useIsFocused.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,eAAO,MAAM,sBAAsB,mCAElC,CAAC;AAEF,eAAO,MAAM,gBAAgB,oCAE5B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAkCtC"}
@@ -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;AAc/B,OAAO,EACL,KAAK,uBAAuB,EAE5B,KAAK,YAAY,EAEjB,iBAAiB,EAElB,MAAM,SAAS,CAAC;AAwQjB;;;;;;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,MAAM,GAAG,SAAS,EAClB,KAAK,EACL,aAAa,EACb,QAAQ,EACR,GAAG,CACJ,GACC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAorBhB"}
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;AAc/B,OAAO,EACL,KAAK,uBAAuB,EAE5B,KAAK,YAAY,EAEjB,iBAAiB,EAElB,MAAM,SAAS,CAAC;AAyQjB;;;;;;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,MAAM,GAAG,SAAS,EAClB,KAAK,EACL,aAAa,EACb,QAAQ,EACR,GAAG,CACJ,GACC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8rBhB"}
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": "7.15.1",
4
+ "version": "7.16.0",
5
5
  "keywords": [
6
6
  "react",
7
7
  "react-native",
@@ -83,5 +83,5 @@
83
83
  ]
84
84
  ]
85
85
  },
86
- "gitHead": "b6bdbf12ab919178f42420d749b8041cff6063cf"
86
+ "gitHead": "4d198b78523718c603e4919d86901204b05f109c"
87
87
  }
@@ -2,7 +2,6 @@ import type { ParamListBase } from '@react-navigation/routers';
2
2
  import * as React from 'react';
3
3
 
4
4
  import type { NavigationProp } from './types';
5
-
6
5
  /**
7
6
  * Context which holds the navigation prop for a screen.
8
7
  */
@@ -2,7 +2,8 @@ import * as React from 'react';
2
2
 
3
3
  import { NavigationContext } from './NavigationContext';
4
4
  import { NavigationIndependentTreeContext } from './NavigationIndependentTreeContext';
5
- import { NavigationRouteContext } from './NavigationRouteContext';
5
+ import { NavigationRouteContext } from './NavigationProvider';
6
+ import { IsFocusedContext } from './useIsFocused';
6
7
 
7
8
  /**
8
9
  * Component to make the child navigation container independent of parent containers.
@@ -16,9 +17,11 @@ export function NavigationIndependentTree({
16
17
  // We need to clear any existing contexts for nested independent container to work correctly
17
18
  <NavigationRouteContext.Provider value={undefined}>
18
19
  <NavigationContext.Provider value={undefined}>
19
- <NavigationIndependentTreeContext.Provider value>
20
- {children}
21
- </NavigationIndependentTreeContext.Provider>
20
+ <IsFocusedContext.Provider value={undefined}>
21
+ <NavigationIndependentTreeContext.Provider value>
22
+ {children}
23
+ </NavigationIndependentTreeContext.Provider>
24
+ </IsFocusedContext.Provider>
22
25
  </NavigationContext.Provider>
23
26
  </NavigationRouteContext.Provider>
24
27
  );
@@ -0,0 +1,49 @@
1
+ import type { ParamListBase, Route } from '@react-navigation/routers';
2
+ import * as React from 'react';
3
+
4
+ import { NavigationContext } from './NavigationContext';
5
+ import type { NavigationProp } from './types';
6
+ import { FocusedRouteKeyContext, IsFocusedContext } from './useIsFocused';
7
+
8
+ /**
9
+ * Context which holds the route prop for a screen.
10
+ */
11
+ export const NavigationRouteContext = React.createContext<
12
+ Route<string> | undefined
13
+ >(undefined);
14
+
15
+ type Props = {
16
+ route: Route<string>;
17
+ navigation: NavigationProp<ParamListBase>;
18
+ children: React.ReactNode;
19
+ };
20
+
21
+ /**
22
+ * Component to provide the navigation and route contexts to its children.
23
+ */
24
+ export const NamedRouteContextListContext = React.createContext<
25
+ Record<string, React.Context<Route<string>>> | undefined
26
+ >(undefined);
27
+
28
+ export function NavigationProvider({ route, navigation, children }: Props) {
29
+ const parentIsFocused = React.useContext(IsFocusedContext);
30
+ const focusedRouteKey = React.useContext(FocusedRouteKeyContext);
31
+
32
+ // Mark route as focused only if:
33
+ // - It doesn't have a parent navigator
34
+ // - Parent navigator is focused
35
+ const isFocused =
36
+ parentIsFocused == null || parentIsFocused
37
+ ? focusedRouteKey === route.key
38
+ : false;
39
+
40
+ return (
41
+ <NavigationRouteContext.Provider value={route}>
42
+ <NavigationContext.Provider value={navigation}>
43
+ <IsFocusedContext.Provider value={isFocused}>
44
+ {children}
45
+ </IsFocusedContext.Provider>
46
+ </NavigationContext.Provider>
47
+ </NavigationRouteContext.Provider>
48
+ );
49
+ }
@@ -3,7 +3,7 @@ import * as React from 'react';
3
3
  import useLatestCallback from 'use-latest-callback';
4
4
 
5
5
  import { NavigationHelpersContext } from './NavigationHelpersContext';
6
- import { NavigationRouteContext } from './NavigationRouteContext';
6
+ import { NavigationRouteContext } from './NavigationProvider';
7
7
  import {
8
8
  type PreventedRoutes,
9
9
  PreventRemoveContext,
package/src/index.tsx CHANGED
@@ -12,7 +12,10 @@ export { NavigationContext } from './NavigationContext';
12
12
  export { NavigationHelpersContext } from './NavigationHelpersContext';
13
13
  export { NavigationIndependentTree } from './NavigationIndependentTree';
14
14
  export { NavigationMetaContext } from './NavigationMetaContext';
15
- export { NavigationRouteContext } from './NavigationRouteContext';
15
+ export {
16
+ NavigationProvider,
17
+ NavigationRouteContext,
18
+ } from './NavigationProvider';
16
19
  export { PreventRemoveContext } from './PreventRemoveContext';
17
20
  export { PreventRemoveProvider } from './PreventRemoveProvider';
18
21
  export {
@@ -12,8 +12,7 @@ import {
12
12
  type AddListener,
13
13
  NavigationBuilderContext,
14
14
  } from './NavigationBuilderContext';
15
- import { NavigationContext } from './NavigationContext';
16
- import { NavigationRouteContext } from './NavigationRouteContext';
15
+ import { NavigationProvider } from './NavigationProvider';
17
16
  import { SceneView } from './SceneView';
18
17
  import { ThemeContext } from './theming/ThemeContext';
19
18
  import type {
@@ -268,11 +267,9 @@ export function useDescriptors<
268
267
 
269
268
  return (
270
269
  <NavigationBuilderContext.Provider key={route.key} value={context}>
271
- <NavigationContext.Provider value={navigation}>
272
- <NavigationRouteContext.Provider value={route}>
273
- {element}
274
- </NavigationRouteContext.Provider>
275
- </NavigationContext.Provider>
270
+ <NavigationProvider route={route} navigation={navigation}>
271
+ {element}
272
+ </NavigationProvider>
276
273
  </NavigationBuilderContext.Provider>
277
274
  );
278
275
  };
@@ -2,15 +2,32 @@ import * as React from 'react';
2
2
 
3
3
  import { useNavigation } from './useNavigation';
4
4
 
5
+ export const FocusedRouteKeyContext = React.createContext<string | undefined>(
6
+ undefined
7
+ );
8
+
9
+ export const IsFocusedContext = React.createContext<boolean | undefined>(
10
+ undefined
11
+ );
12
+
5
13
  /**
6
14
  * Hook to get the current focus state of the screen. Returns a `true` if screen is focused, otherwise `false`.
7
15
  * This can be used if a component needs to render something based on the focus state.
8
16
  */
9
17
  export function useIsFocused(): boolean {
18
+ const isFocused = React.useContext(IsFocusedContext);
10
19
  const navigation = useNavigation();
11
20
 
21
+ const isFocusedAvailable = isFocused !== undefined;
22
+
12
23
  const subscribe = React.useCallback(
13
24
  (callback: () => void) => {
25
+ if (isFocusedAvailable) {
26
+ // If `isFocused` is available in context
27
+ // We don't need to subscribe to focus and blur events
28
+ return () => {};
29
+ }
30
+
14
31
  const unsubscribeFocus = navigation.addListener('focus', callback);
15
32
  const unsubscribeBlur = navigation.addListener('blur', callback);
16
33
 
@@ -19,14 +36,16 @@ export function useIsFocused(): boolean {
19
36
  unsubscribeBlur();
20
37
  };
21
38
  },
22
- [navigation]
39
+ [isFocusedAvailable, navigation]
23
40
  );
24
41
 
42
+ // isFocused from context only works with NavigationProvider
43
+ // So this is kept for backward compatibility
25
44
  const value = React.useSyncExternalStore(
26
45
  subscribe,
27
46
  navigation.isFocused,
28
47
  navigation.isFocused
29
48
  );
30
49
 
31
- return value;
50
+ return isFocused ?? value;
32
51
  }
@@ -21,7 +21,7 @@ import { isArrayEqual } from './isArrayEqual';
21
21
  import { isRecordEqual } from './isRecordEqual';
22
22
  import { NavigationHelpersContext } from './NavigationHelpersContext';
23
23
  import { NavigationMetaContext } from './NavigationMetaContext';
24
- import { NavigationRouteContext } from './NavigationRouteContext';
24
+ import { NavigationRouteContext } from './NavigationProvider';
25
25
  import { NavigationStateContext } from './NavigationStateContext';
26
26
  import { PreventRemoveProvider } from './PreventRemoveProvider';
27
27
  import { Screen } from './Screen';
@@ -42,6 +42,7 @@ import { type ScreenConfigWithParent, useDescriptors } from './useDescriptors';
42
42
  import { useEventEmitter } from './useEventEmitter';
43
43
  import { useFocusedListenersChildrenAdapter } from './useFocusedListenersChildrenAdapter';
44
44
  import { useFocusEvents } from './useFocusEvents';
45
+ import { FocusedRouteKeyContext } from './useIsFocused';
45
46
  import { useKeyedChildListeners } from './useKeyedChildListeners';
46
47
  import { useLazyValue } from './useLazyValue';
47
48
  import { useNavigationHelpers } from './useNavigationHelpers';
@@ -551,19 +552,25 @@ export function useNavigationBuilder<
551
552
  ? getStateFromParams(paramsForState)
552
553
  : undefined;
553
554
 
554
- const stateBeforeInitialization = (stateFromParams ??
555
- currentState) as PartialState<State>;
556
-
557
- const hydratedState = router.getRehydratedState(
558
- stateBeforeInitialization,
559
- {
560
- routeNames,
561
- routeParamList: initialRouteParamList,
562
- routeGetIdList,
563
- }
564
- );
555
+ const stateBeforeInitialization = (stateFromParams ?? currentState) as
556
+ | PartialState<State>
557
+ | undefined;
558
+
559
+ const hydratedState =
560
+ stateBeforeInitialization == null
561
+ ? router.getInitialState({
562
+ routeNames,
563
+ routeParamList: initialRouteParamList,
564
+ routeGetIdList,
565
+ })
566
+ : router.getRehydratedState(stateBeforeInitialization, {
567
+ routeNames,
568
+ routeParamList: initialRouteParamList,
569
+ routeGetIdList,
570
+ });
565
571
 
566
572
  if (
573
+ stateBeforeInitialization != null &&
567
574
  options.UNSTABLE_routeNamesChangeBehavior === 'lastUnhandled' &&
568
575
  doesStateHaveOnlyInvalidRoutes(stateBeforeInitialization)
569
576
  ) {
@@ -997,7 +1004,11 @@ export function useNavigationBuilder<
997
1004
  <NavigationMetaContext.Provider value={undefined}>
998
1005
  <NavigationHelpersContext.Provider value={navigation}>
999
1006
  <NavigationStateListenerProvider state={state}>
1000
- <PreventRemoveProvider>{element}</PreventRemoveProvider>
1007
+ <FocusedRouteKeyContext.Provider
1008
+ value={state.routes[state.index].key}
1009
+ >
1010
+ <PreventRemoveProvider>{element}</PreventRemoveProvider>
1011
+ </FocusedRouteKeyContext.Provider>
1001
1012
  </NavigationStateListenerProvider>
1002
1013
  </NavigationHelpersContext.Provider>
1003
1014
  </NavigationMetaContext.Provider>
@@ -6,7 +6,7 @@ import {
6
6
  type GetStateListener,
7
7
  NavigationBuilderContext,
8
8
  } from './NavigationBuilderContext';
9
- import { NavigationRouteContext } from './NavigationRouteContext';
9
+ import { NavigationRouteContext } from './NavigationProvider';
10
10
 
11
11
  type Options = {
12
12
  getState: () => NavigationState;
@@ -8,7 +8,7 @@ import {
8
8
  type ChildBeforeRemoveListener,
9
9
  NavigationBuilderContext,
10
10
  } from './NavigationBuilderContext';
11
- import { NavigationRouteContext } from './NavigationRouteContext';
11
+ import { NavigationRouteContext } from './NavigationProvider';
12
12
  import type { EventMapCore } from './types';
13
13
  import type { NavigationEventEmitter } from './useEventEmitter';
14
14
 
package/src/useRoute.tsx CHANGED
@@ -1,7 +1,7 @@
1
1
  import type { ParamListBase } from '@react-navigation/routers';
2
2
  import * as React from 'react';
3
3
 
4
- import { NavigationRouteContext } from './NavigationRouteContext';
4
+ import { NavigationRouteContext } from './NavigationProvider';
5
5
  import type { RouteProp } from './types';
6
6
 
7
7
  /**
@@ -1,9 +0,0 @@
1
- "use strict";
2
-
3
- import * as React from 'react';
4
-
5
- /**
6
- * Context which holds the route prop for a screen.
7
- */
8
- export const NavigationRouteContext = /*#__PURE__*/React.createContext(undefined);
9
- //# sourceMappingURL=NavigationRouteContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","NavigationRouteContext","createContext","undefined"],"sourceRoot":"../../src","sources":["NavigationRouteContext.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;;AAE9B;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,gBAAGD,KAAK,CAACE,aAAa,CAEvDC,SAAS,CAAC","ignoreList":[]}
@@ -1,7 +0,0 @@
1
- import type { Route } from '@react-navigation/routers';
2
- import * as React from 'react';
3
- /**
4
- * Context which holds the route prop for a screen.
5
- */
6
- export declare const NavigationRouteContext: React.Context<Route<string> | undefined>;
7
- //# sourceMappingURL=NavigationRouteContext.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NavigationRouteContext.d.ts","sourceRoot":"","sources":["../../../src/NavigationRouteContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,sBAAsB,0CAEvB,CAAC"}
@@ -1,9 +0,0 @@
1
- import type { Route } from '@react-navigation/routers';
2
- import * as React from 'react';
3
-
4
- /**
5
- * Context which holds the route prop for a screen.
6
- */
7
- export const NavigationRouteContext = React.createContext<
8
- Route<string> | undefined
9
- >(undefined);