@react-navigation/core 8.0.0-alpha.0 → 8.0.0-alpha.2

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.
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ import * as React from 'react';
4
+
5
+ /**
6
+ * Context with additional metadata to pass to child navigator in a screen.
7
+ * For example, child native stack to know it's inside native tabs.
8
+ * So it doesn't implement features such as `popToTop` that are handled by native tabs.
9
+ *
10
+ * Consumers should not make any assumptions about the shape of the object.
11
+ * It can be different depending on the navigator and may change without notice.
12
+ * This is not intended to be used by application code.
13
+ */
14
+ export const NavigationMetaContext = /*#__PURE__*/React.createContext(undefined);
15
+ //# sourceMappingURL=NavigationMetaContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","NavigationMetaContext","createContext","undefined"],"sourceRoot":"../../src","sources":["NavigationMetaContext.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,qBAAqB,gBAAGD,KAAK,CAACE,aAAa,CACtDC,SACF,CAAC","ignoreList":[]}
@@ -12,6 +12,7 @@ export { getStateFromPath } from "./getStateFromPath.js";
12
12
  export { NavigationContainerRefContext } from "./NavigationContainerRefContext.js";
13
13
  export { NavigationHelpersContext } from "./NavigationHelpersContext.js";
14
14
  export { NavigationIndependentTree } from "./NavigationIndependentTree.js";
15
+ export { NavigationMetaContext } from "./NavigationMetaContext.js";
15
16
  export { NavigationContext, NavigationProvider, NavigationRouteContext } from "./NavigationProvider.js";
16
17
  export { PreventRemoveContext } from "./PreventRemoveContext.js";
17
18
  export { PreventRemoveProvider } from "./PreventRemoveProvider.js";
@@ -1 +1 @@
1
- {"version":3,"names":["BaseNavigationContainer","createNavigationContainerRef","createNavigatorFactory","CurrentRenderContext","findFocusedRoute","getActionFromState","getFocusedRouteNameFromRoute","getPathFromState","getStateFromPath","NavigationContainerRefContext","NavigationHelpersContext","NavigationIndependentTree","NavigationContext","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,wBAAwB,QAAQ,+BAA4B;AACrE,SAASC,yBAAyB,QAAQ,gCAA6B;AACvE,SACEC,iBAAiB,EACjBC,kBAAkB,EAClBC,sBAAsB,QACjB,yBAAsB;AAC7B,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SACEC,kCAAkC,EAClCC,mCAAmC,QAQ9B,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","NavigationHelpersContext","NavigationIndependentTree","NavigationMetaContext","NavigationContext","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,wBAAwB,QAAQ,+BAA4B;AACrE,SAASC,yBAAyB,QAAQ,gCAA6B;AACvE,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SACEC,iBAAiB,EACjBC,kBAAkB,EAClBC,sBAAsB,QACjB,yBAAsB;AAC7B,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SACEC,kCAAkC,EAClCC,mCAAmC,QAQ9B,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":[]}
@@ -17,7 +17,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
17
17
  * - Navigation object intended for the route
18
18
  */
19
19
  export function useDescriptors({
20
- state,
20
+ routes,
21
21
  screens,
22
22
  navigation,
23
23
  screenOptions,
@@ -52,18 +52,15 @@ export function useDescriptors({
52
52
  flushUpdates,
53
53
  stackRef
54
54
  }), [navigation, onAction, addListener, addKeyedListener, onRouteFocus, onDispatchAction, onOptionsChange, scheduleUpdate, flushUpdates, stackRef]);
55
- const {
56
- base,
57
- navigations
58
- } = useNavigationCache({
59
- state,
55
+ const navigations = useNavigationCache({
56
+ routes,
60
57
  getState,
61
58
  navigation,
62
59
  setOptions,
63
60
  router,
64
61
  emitter
65
62
  });
66
- const routes = useRouteCache(state.routes);
63
+ const cachedRoutes = useRouteCache(routes);
67
64
  const getOptions = (route, navigation, overrides) => {
68
65
  const config = screens[route.name];
69
66
  const screen = config.props;
@@ -134,10 +131,10 @@ export function useDescriptors({
134
131
  })
135
132
  }, route.key);
136
133
  };
137
- const descriptors = routes.reduce((acc, route, i) => {
134
+ const descriptors = cachedRoutes.reduce((acc, route, i) => {
138
135
  const navigation = navigations[route.key];
139
136
  const customOptions = getOptions(route, navigation, options[route.key]);
140
- const element = render(route, navigation, customOptions, state.routes[i].state);
137
+ const element = render(route, navigation, customOptions, routes[i]?.state);
141
138
  acc[route.key] = {
142
139
  route,
143
140
  navigation,
@@ -148,36 +145,6 @@ export function useDescriptors({
148
145
  };
149
146
  return acc;
150
147
  }, {});
151
-
152
- /**
153
- * Create a descriptor object for a route.
154
- *
155
- * @param route Route object for which the descriptor should be created
156
- * @param placeholder Whether the descriptor should be a placeholder, e.g. for a route not yet in the state
157
- * @returns Descriptor object
158
- */
159
- const describe = (route, placeholder) => {
160
- if (!placeholder) {
161
- if (!(route.key in descriptors)) {
162
- throw new Error(`Couldn't find a route with the key ${route.key}.`);
163
- }
164
- return descriptors[route.key];
165
- }
166
- const navigation = base;
167
- const customOptions = getOptions(route, navigation, {});
168
- const element = render(route, navigation, customOptions, undefined);
169
- return {
170
- route,
171
- navigation,
172
- render() {
173
- return element;
174
- },
175
- options: customOptions
176
- };
177
- };
178
- return {
179
- describe,
180
- descriptors
181
- };
148
+ return descriptors;
182
149
  }
183
150
  //# sourceMappingURL=useDescriptors.js.map
@@ -1 +1 @@
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":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","NavigationBuilderContext","NavigationProvider","SceneView","ThemeContext","useNavigationCache","useRouteCache","jsx","_jsx","useDescriptors","routes","screens","navigation","screenOptions","screenLayout","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","theme","useContext","options","setOptions","useState","onDispatchAction","onOptionsChange","scheduleUpdate","flushUpdates","stackRef","context","useMemo","navigations","cachedRoutes","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","state"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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","ignoreList":[]}
@@ -10,6 +10,7 @@ import { Group } from "./Group.js";
10
10
  import { isArrayEqual } from "./isArrayEqual.js";
11
11
  import { isRecordEqual } from "./isRecordEqual.js";
12
12
  import { NavigationHelpersContext } from "./NavigationHelpersContext.js";
13
+ import { NavigationMetaContext } from "./NavigationMetaContext.js";
13
14
  import { NavigationRouteContext } from "./NavigationProvider.js";
14
15
  import { NavigationStateContext } from "./NavigationStateContext.js";
15
16
  import { PreventRemoveProvider } from "./PreventRemoveProvider.js";
@@ -514,11 +515,8 @@ export function useNavigationBuilder(createRouter, options) {
514
515
  getState,
515
516
  getStateListeners: keyedListeners.getState
516
517
  });
517
- const {
518
- describe,
519
- descriptors
520
- } = useDescriptors({
521
- state,
518
+ const descriptors = useDescriptors({
519
+ routes: router.getRoutesFromState ? router.getRoutesFromState(state) : state.routes,
522
520
  screens,
523
521
  navigation,
524
522
  screenOptions,
@@ -545,12 +543,15 @@ export function useNavigationBuilder(createRouter, options) {
545
543
  navigation,
546
544
  children
547
545
  }) : children;
548
- return /*#__PURE__*/_jsx(NavigationHelpersContext.Provider, {
549
- value: navigation,
550
- children: /*#__PURE__*/_jsx(NavigationStateListenerProvider, {
551
- state: state,
552
- children: /*#__PURE__*/_jsx(PreventRemoveProvider, {
553
- children: element
546
+ return /*#__PURE__*/_jsx(NavigationMetaContext.Provider, {
547
+ value: undefined,
548
+ children: /*#__PURE__*/_jsx(NavigationHelpersContext.Provider, {
549
+ value: navigation,
550
+ children: /*#__PURE__*/_jsx(NavigationStateListenerProvider, {
551
+ state: state,
552
+ children: /*#__PURE__*/_jsx(PreventRemoveProvider, {
553
+ children: element
554
+ })
554
555
  })
555
556
  })
556
557
  });
@@ -558,7 +559,6 @@ export function useNavigationBuilder(createRouter, options) {
558
559
  return {
559
560
  state,
560
561
  navigation,
561
- describe,
562
562
  descriptors,
563
563
  NavigationContent
564
564
  };
@@ -1 +1 @@
1
- {"version":3,"names":["CommonActions","deepEqual","React","isValidElementType","useLatestCallback","deepFreeze","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","UnhandledActionContext","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useKeyedChildListeners","useLazyValue","useNavigationHelpers","NavigationStateListenerProvider","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","jsx","_jsx","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","screenListeners","router","routerOverrides","rest","routeConfigs","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","stateCleanedUp","useRef","current","stateBeforeInitialization","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","stateFromParams","hydratedState","getRehydratedState","routeNamesChangeBehavior","previousRouteKeyListRef","useEffect","previousRouteKeyList","unhandledState","setUnhandledState","useState","nextState","shouldClearUnhandledState","getStateForRouteNamesChange","routeKeyChanges","filter","previousNestedParamsRef","previousParams","action","reset","navigate","merge","pop","updatedState","getStateForAction","shouldUpdate","stateRef","useLayoutEffect","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","focusedListeners","focus","getStateListeners","describe","NavigationContent","element","Provider","value"],"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","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useKeyedChildListeners","useLazyValue","useNavigationHelpers","NavigationStateListenerProvider","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","jsx","_jsx","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","screenListeners","router","routerOverrides","rest","routeConfigs","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","stateCleanedUp","useRef","current","stateBeforeInitialization","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","stateFromParams","hydratedState","getRehydratedState","routeNamesChangeBehavior","previousRouteKeyListRef","useEffect","previousRouteKeyList","unhandledState","setUnhandledState","useState","nextState","shouldClearUnhandledState","getStateForRouteNamesChange","routeKeyChanges","filter","previousNestedParamsRef","previousParams","action","reset","navigate","merge","pop","updatedState","getStateForAction","shouldUpdate","stateRef","useLayoutEffect","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","focusedListeners","focus","getStateListeners","getRoutesFromState","NavigationContent","element","Provider","value"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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","ignoreList":[]}
@@ -10,7 +10,7 @@ import { NavigationContext } from "./NavigationProvider.js";
10
10
  * This lets us apply optimizations like `React.memo` to minimize re-rendering screens.
11
11
  */
12
12
  export function useNavigationCache({
13
- state,
13
+ routes,
14
14
  getState,
15
15
  navigation,
16
16
  setOptions,
@@ -21,51 +21,6 @@ export function useNavigationCache({
21
21
  const {
22
22
  stackRef
23
23
  } = React.useContext(NavigationBuilderContext);
24
- const base = React.useMemo(() => {
25
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
26
- const {
27
- emit,
28
- ...rest
29
- } = navigation;
30
- const actions = {
31
- ...router.actionCreators,
32
- ...CommonActions
33
- };
34
- const dispatch = () => {
35
- throw new Error('Actions cannot be dispatched from a placeholder screen.');
36
- };
37
- const helpers = Object.keys(actions).reduce((acc, name) => {
38
- acc[name] = dispatch;
39
- return acc;
40
- }, {});
41
-
42
- // @ts-expect-error: type of getParent does not match
43
- return {
44
- ...rest,
45
- ...helpers,
46
- addListener: () => {
47
- // Event listeners are not supported for placeholder screens
48
-
49
- return () => {
50
- // Empty function
51
- };
52
- },
53
- removeListener: () => {
54
- // Event listeners are not supported for placeholder screens
55
- },
56
- dispatch,
57
- getParent: routeName => {
58
- if (routeName !== undefined) {
59
- throw new Error('Getting parent by route name is not supported from a placeholder screen.');
60
- }
61
- return parentNavigationHelpers;
62
- },
63
- setOptions: () => {
64
- throw new Error('Options cannot be set from a placeholder screen.');
65
- },
66
- isFocused: () => false
67
- };
68
- }, [parentNavigationHelpers, navigation, router.actionCreators]);
69
24
 
70
25
  // Cache object which holds navigation objects for each screen
71
26
  // We use `React.useMemo` instead of `React.useRef` coz we want to invalidate it when deps change
@@ -74,8 +29,8 @@ export function useNavigationCache({
74
29
  current: {}
75
30
  }),
76
31
  // eslint-disable-next-line react-hooks/exhaustive-deps
77
- [base, getState, parentNavigationHelpers, navigation, setOptions, emitter]);
78
- cache.current = state.routes.reduce((acc, route) => {
32
+ [getState, parentNavigationHelpers, navigation, setOptions, emitter]);
33
+ cache.current = routes.reduce((acc, route) => {
79
34
  const previous = cache.current[route.key];
80
35
  if (previous) {
81
36
  // If a cached navigation object already exists, reuse it
@@ -115,8 +70,14 @@ export function useNavigationCache({
115
70
  dispatch(actions[name](...args)));
116
71
  return acc;
117
72
  }, {});
73
+
74
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
75
+ const {
76
+ emit,
77
+ ...rest
78
+ } = navigation;
118
79
  acc[route.key] = {
119
- ...base,
80
+ ...rest,
120
81
  ...helpers,
121
82
  // FIXME: too much work to fix the types for now
122
83
  ...emitter.create(route.key),
@@ -142,7 +103,7 @@ export function useNavigationCache({
142
103
  }));
143
104
  },
144
105
  isFocused: () => {
145
- const state = base.getState();
106
+ const state = rest.getState();
146
107
  if (state.routes[state.index].key !== route.key) {
147
108
  return false;
148
109
  }
@@ -155,9 +116,6 @@ export function useNavigationCache({
155
116
  }
156
117
  return acc;
157
118
  }, {});
158
- return {
159
- base,
160
- navigations: cache.current
161
- };
119
+ return cache.current;
162
120
  }
163
121
  //# sourceMappingURL=useNavigationCache.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["CommonActions","React","NavigationBuilderContext","NavigationContext","useNavigationCache","state","getState","navigation","setOptions","router","emitter","parentNavigationHelpers","useContext","stackRef","base","useMemo","emit","rest","actions","actionCreators","dispatch","Error","helpers","Object","keys","reduce","acc","name","addListener","removeListener","getParent","routeName","undefined","isFocused","cache","current","routes","route","previous","key","thunk","action","source","withStack","callback","isStackSet","process","env","NODE_ENV","stack","args","create","options","o","index","navigations"],"sourceRoot":"../../src","sources":["useNavigationCache.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CommonActions","React","NavigationBuilderContext","NavigationContext","useNavigationCache","routes","getState","navigation","setOptions","router","emitter","parentNavigationHelpers","useContext","stackRef","cache","useMemo","current","reduce","acc","route","previous","key","dispatch","thunk","action","source","withStack","callback","isStackSet","process","env","NODE_ENV","Error","stack","undefined","actions","actionCreators","helpers","Object","keys","name","args","emit","rest","create","getParent","routeName","options","o","isFocused","state","index"],"sourceRoot":"../../src","sources":["useNavigationCache.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ import * as React from 'react';
2
+ /**
3
+ * Context with additional metadata to pass to child navigator in a screen.
4
+ * For example, child native stack to know it's inside native tabs.
5
+ * So it doesn't implement features such as `popToTop` that are handled by native tabs.
6
+ *
7
+ * Consumers should not make any assumptions about the shape of the object.
8
+ * It can be different depending on the navigator and may change without notice.
9
+ * This is not intended to be used by application code.
10
+ */
11
+ export declare const NavigationMetaContext: React.Context<object | undefined>;
12
+ //# sourceMappingURL=NavigationMetaContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationMetaContext.d.ts","sourceRoot":"","sources":["../../../src/NavigationMetaContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,mCAEjC,CAAC"}
@@ -10,6 +10,7 @@ export { getStateFromPath } from './getStateFromPath';
10
10
  export { NavigationContainerRefContext } from './NavigationContainerRefContext';
11
11
  export { NavigationHelpersContext } from './NavigationHelpersContext';
12
12
  export { NavigationIndependentTree } from './NavigationIndependentTree';
13
+ export { NavigationMetaContext } from './NavigationMetaContext';
13
14
  export { NavigationContext, NavigationProvider, NavigationRouteContext, } from './NavigationProvider';
14
15
  export { PreventRemoveContext } from './PreventRemoveContext';
15
16
  export { PreventRemoveProvider } from './PreventRemoveProvider';
@@ -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,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EACL,iBAAiB,EACjB,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,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,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,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,iBAAiB,EACjB,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,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,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"}
@@ -22,7 +22,7 @@ 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
- state: State;
25
+ routes: State['routes'];
26
26
  screens: Record<string, ScreenConfigWithParent<State, ScreenOptions, EventMap>>;
27
27
  navigation: NavigationHelpers<ParamListBase>;
28
28
  screenOptions: ScreenOptionsOrCallback<ScreenOptions> | undefined;
@@ -44,29 +44,16 @@ type Options<State extends NavigationState, ScreenOptions extends {}, EventMap e
44
44
  * - Options specified by the screen for the navigator
45
45
  * - Navigation object intended for the route
46
46
  */
47
- export declare function useDescriptors<State extends NavigationState, ActionHelpers extends Record<string, (...args: any) => void>, ScreenOptions extends {}, EventMap extends EventMapBase>({ state, screens, navigation, screenOptions, screenLayout, onAction, getState, setState, addListener, addKeyedListener, onRouteFocus, router, emitter, }: Options<State, ScreenOptions, EventMap>): {
48
- describe: (route: RouteProp<ParamListBase>, placeholder: boolean) => Descriptor<ScreenOptions, NavigationProp<ParamListBase, string, State, ScreenOptions, EventMap, ActionHelpers>, Readonly<{
49
- key: string;
50
- name: string;
51
- path?: string;
52
- history?: {
53
- type: "params";
54
- params: object;
55
- }[];
56
- } & Readonly<{
57
- params?: Readonly<object | undefined>;
58
- }>>>;
59
- descriptors: Record<string, Descriptor<ScreenOptions, NavigationProp<ParamListBase, string, State, ScreenOptions, EventMap, ActionHelpers>, Readonly<{
60
- key: string;
61
- name: string;
62
- path?: string;
63
- history?: {
64
- type: "params";
65
- params: object;
66
- }[];
67
- } & Readonly<{
68
- params?: Readonly<object | undefined>;
69
- }>>>>;
70
- };
47
+ 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, addListener, addKeyedListener, onRouteFocus, router, emitter, }: Options<State, ScreenOptions, EventMap>): Record<string, Descriptor<ScreenOptions, NavigationProp<ParamListBase, string, State, ScreenOptions, EventMap, ActionHelpers>, Readonly<{
48
+ key: string;
49
+ name: string;
50
+ path?: string;
51
+ history?: {
52
+ type: "params";
53
+ params: object;
54
+ }[];
55
+ } & Readonly<{
56
+ params?: Readonly<object | undefined>;
57
+ }>>>>;
71
58
  export {};
72
59
  //# sourceMappingURL=useDescriptors.d.ts.map
@@ -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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"}
@@ -76,17 +76,6 @@ export declare function useNavigationBuilder<State extends NavigationState, Rout
76
76
  replaceParams(params: object | undefined): void;
77
77
  pushParams(params: object | undefined): void;
78
78
  } & ActionHelpers;
79
- describe: (route: import("./types").RouteProp<ParamListBase>, placeholder: boolean) => import("./types").Descriptor<ScreenOptions, import("./types").NavigationProp<ParamListBase, string, State, ScreenOptions, EventMap, ActionHelpers>, Readonly<{
80
- key: string;
81
- name: string;
82
- path?: string;
83
- history?: {
84
- type: "params";
85
- params: object;
86
- }[];
87
- } & Readonly<{
88
- params?: Readonly<object | undefined>;
89
- }>>>;
90
79
  descriptors: Record<string, import("./types").Descriptor<ScreenOptions, import("./types").NavigationProp<ParamListBase, string, State, ScreenOptions, EventMap, ActionHelpers>, Readonly<{
91
80
  key: string;
92
81
  name: string;
@@ -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;AAa/B,OAAO,EACL,KAAK,uBAAuB,EAI5B,iBAAiB,EAElB,MAAM,SAAS,CAAC;AAqQjB;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmnBhB"}
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,EAI5B,iBAAiB,EAElB,MAAM,SAAS,CAAC;AAqQjB;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsnBhB"}
@@ -2,7 +2,7 @@ import { type NavigationAction, type NavigationState, type ParamListBase, type R
2
2
  import type { NavigationHelpers, NavigationProp } from './types';
3
3
  import type { NavigationEventEmitter } from './useEventEmitter';
4
4
  type Options<State extends NavigationState, ScreenOptions extends {}, EventMap extends Record<string, any>> = {
5
- state: State;
5
+ routes: State['routes'];
6
6
  getState: () => State;
7
7
  navigation: NavigationHelpers<ParamListBase> & Partial<NavigationProp<ParamListBase, string, any, any, any>>;
8
8
  setOptions: (cb: (options: Record<string, ScreenOptions>) => Record<string, ScreenOptions>) => void;
@@ -16,46 +16,6 @@ type NavigationCache<State extends NavigationState, ScreenOptions extends {}, Ev
16
16
  * It's important to cache them to make sure navigation objects don't change between renders.
17
17
  * This lets us apply optimizations like `React.memo` to minimize re-rendering screens.
18
18
  */
19
- export declare function useNavigationCache<State extends NavigationState, ScreenOptions extends {}, EventMap extends Record<string, any>, ActionHelpers extends Record<string, (...args: any) => void>>({ state, getState, navigation, setOptions, router, emitter, }: Options<State, ScreenOptions, EventMap>): {
20
- base: Omit<{
21
- dispatch(action: Readonly<{
22
- type: string;
23
- payload?: object;
24
- source?: string;
25
- target?: string;
26
- }> | ((state: Readonly<State>) => Readonly<{
27
- type: string;
28
- payload?: object;
29
- source?: string;
30
- target?: string;
31
- }>)): void;
32
- navigate<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined, options?: {
33
- merge?: boolean;
34
- pop?: boolean;
35
- } | undefined] : never): void;
36
- navigate<RouteName extends string>(options: RouteName extends unknown ? {
37
- name: RouteName;
38
- params: object | undefined;
39
- path?: string;
40
- merge?: boolean;
41
- pop?: boolean;
42
- } : never): void;
43
- preload<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined] : never): void;
44
- reset(state: State | import("@react-navigation/routers").PartialState<State>): void;
45
- goBack(): void;
46
- isFocused(): boolean;
47
- canGoBack(): boolean;
48
- getState(): State;
49
- } & import("./types").PrivateValueStore<[ParamListBase, unknown, unknown]>, "getParent"> & {
50
- setOptions(options: Partial<ScreenOptions>): void;
51
- getParent(routeName: string): NavigationProp<ParamListBase, string, State, ScreenOptions, EventMap, ActionHelpers>;
52
- getParent(): NavigationProp<ParamListBase> | undefined;
53
- } & {
54
- setParams(params: Partial<object | undefined>): void;
55
- replaceParams(params: object | undefined): void;
56
- pushParams(params: object | undefined): void;
57
- } & ActionHelpers & import("./types").EventConsumer<EventMap & import("./types").EventMapCore<State>> & import("./types").PrivateValueStore<[ParamListBase, string, EventMap]>;
58
- navigations: NavigationCache<State, ScreenOptions, EventMap, ActionHelpers>;
59
- };
19
+ export declare function useNavigationCache<State extends NavigationState, ScreenOptions extends {}, EventMap extends Record<string, any>, ActionHelpers extends Record<string, (...args: any) => void>>({ routes, getState, navigation, setOptions, router, emitter, }: Options<State, ScreenOptions, EventMap>): NavigationCache<State, ScreenOptions, EventMap, ActionHelpers>;
60
20
  export {};
61
21
  //# sourceMappingURL=useNavigationCache.d.ts.map
@@ -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,SAAS,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEhE,KAAK,OAAO,CACV,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAClC;IACF,KAAK,EAAE,KAAK,CAAC;IACb,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,aAAa,CAAC,KACnC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,KAC/B,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,KAAK,EACL,QAAQ,EACR,UAAU,EACV,UAAU,EACV,MAAM,EACN,OAAO,GACR,EAAE,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4LzC"}
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,SAAS,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,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,aAAa,CAAC,KACnC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,KAC/B,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,kEA+HzC"}
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.0",
4
+ "version": "8.0.0-alpha.2",
5
5
  "keywords": [
6
6
  "react",
7
7
  "react-native",
@@ -40,7 +40,7 @@
40
40
  "clean": "del lib"
41
41
  },
42
42
  "dependencies": {
43
- "@react-navigation/routers": "^8.0.0-alpha.0",
43
+ "@react-navigation/routers": "^8.0.0-alpha.1",
44
44
  "escape-string-regexp": "^4.0.0",
45
45
  "fast-deep-equal": "^3.1.3",
46
46
  "nanoid": "^3.3.11",
@@ -83,5 +83,5 @@
83
83
  ]
84
84
  ]
85
85
  },
86
- "gitHead": "46daae524ec6a59737147ed506222dd09a5b6e39"
86
+ "gitHead": "9664da8fff3bd7ed575bf12ddfcc47b3a42be997"
87
87
  }
@@ -0,0 +1,14 @@
1
+ import * as React from 'react';
2
+
3
+ /**
4
+ * Context with additional metadata to pass to child navigator in a screen.
5
+ * For example, child native stack to know it's inside native tabs.
6
+ * So it doesn't implement features such as `popToTop` that are handled by native tabs.
7
+ *
8
+ * Consumers should not make any assumptions about the shape of the object.
9
+ * It can be different depending on the navigator and may change without notice.
10
+ * This is not intended to be used by application code.
11
+ */
12
+ export const NavigationMetaContext = React.createContext<object | undefined>(
13
+ undefined
14
+ );
package/src/index.tsx CHANGED
@@ -10,6 +10,7 @@ export { getStateFromPath } from './getStateFromPath';
10
10
  export { NavigationContainerRefContext } from './NavigationContainerRefContext';
11
11
  export { NavigationHelpersContext } from './NavigationHelpersContext';
12
12
  export { NavigationIndependentTree } from './NavigationIndependentTree';
13
+ export { NavigationMetaContext } from './NavigationMetaContext';
13
14
  export {
14
15
  NavigationContext,
15
16
  NavigationProvider,
@@ -67,7 +67,7 @@ type Options<
67
67
  ScreenOptions extends {},
68
68
  EventMap extends EventMapBase,
69
69
  > = {
70
- state: State;
70
+ routes: State['routes'];
71
71
  screens: Record<
72
72
  string,
73
73
  ScreenConfigWithParent<State, ScreenOptions, EventMap>
@@ -99,7 +99,7 @@ export function useDescriptors<
99
99
  ScreenOptions extends {},
100
100
  EventMap extends EventMapBase,
101
101
  >({
102
- state,
102
+ routes,
103
103
  screens,
104
104
  navigation,
105
105
  screenOptions,
@@ -152,13 +152,13 @@ export function useDescriptors<
152
152
  ]
153
153
  );
154
154
 
155
- const { base, navigations } = useNavigationCache<
155
+ const navigations = useNavigationCache<
156
156
  State,
157
157
  ScreenOptions,
158
158
  EventMap,
159
159
  ActionHelpers
160
160
  >({
161
- state,
161
+ routes,
162
162
  getState,
163
163
  navigation,
164
164
  setOptions,
@@ -166,7 +166,7 @@ export function useDescriptors<
166
166
  emitter,
167
167
  });
168
168
 
169
- const routes = useRouteCache(state.routes);
169
+ const cachedRoutes = useRouteCache(routes);
170
170
 
171
171
  const getOptions = (
172
172
  route: RouteProp<ParamListBase, string>,
@@ -273,7 +273,7 @@ export function useDescriptors<
273
273
  );
274
274
  };
275
275
 
276
- const descriptors = routes.reduce<
276
+ const descriptors = cachedRoutes.reduce<
277
277
  Record<
278
278
  string,
279
279
  Descriptor<
@@ -292,12 +292,7 @@ export function useDescriptors<
292
292
  >((acc, route, i) => {
293
293
  const navigation = navigations[route.key];
294
294
  const customOptions = getOptions(route, navigation, options[route.key]);
295
- const element = render(
296
- route,
297
- navigation,
298
- customOptions,
299
- state.routes[i].state
300
- );
295
+ const element = render(route, navigation, customOptions, routes[i]?.state);
301
296
 
302
297
  acc[route.key] = {
303
298
  route,
@@ -311,38 +306,5 @@ export function useDescriptors<
311
306
  return acc;
312
307
  }, {});
313
308
 
314
- /**
315
- * Create a descriptor object for a route.
316
- *
317
- * @param route Route object for which the descriptor should be created
318
- * @param placeholder Whether the descriptor should be a placeholder, e.g. for a route not yet in the state
319
- * @returns Descriptor object
320
- */
321
- const describe = (route: RouteProp<ParamListBase>, placeholder: boolean) => {
322
- if (!placeholder) {
323
- if (!(route.key in descriptors)) {
324
- throw new Error(`Couldn't find a route with the key ${route.key}.`);
325
- }
326
-
327
- return descriptors[route.key];
328
- }
329
-
330
- const navigation = base;
331
- const customOptions = getOptions(route, navigation, {});
332
- const element = render(route, navigation, customOptions, undefined);
333
-
334
- return {
335
- route,
336
- navigation,
337
- render() {
338
- return element;
339
- },
340
- options: customOptions as ScreenOptions,
341
- };
342
- };
343
-
344
- return {
345
- describe,
346
- descriptors,
347
- };
309
+ return descriptors;
348
310
  }
@@ -20,6 +20,7 @@ import { Group } from './Group';
20
20
  import { isArrayEqual } from './isArrayEqual';
21
21
  import { isRecordEqual } from './isRecordEqual';
22
22
  import { NavigationHelpersContext } from './NavigationHelpersContext';
23
+ import { NavigationMetaContext } from './NavigationMetaContext';
23
24
  import { NavigationRouteContext } from './NavigationProvider';
24
25
  import { NavigationStateContext } from './NavigationStateContext';
25
26
  import { PreventRemoveProvider } from './PreventRemoveProvider';
@@ -886,13 +887,15 @@ export function useNavigationBuilder<
886
887
  getStateListeners: keyedListeners.getState,
887
888
  });
888
889
 
889
- const { describe, descriptors } = useDescriptors<
890
+ const descriptors = useDescriptors<
890
891
  State,
891
892
  ActionHelpers,
892
893
  ScreenOptions,
893
894
  EventMap
894
895
  >({
895
- state,
896
+ routes: router.getRoutesFromState
897
+ ? router.getRoutesFromState(state)
898
+ : state.routes,
896
899
  screens,
897
900
  navigation,
898
901
  screenOptions,
@@ -926,18 +929,19 @@ export function useNavigationBuilder<
926
929
  : children;
927
930
 
928
931
  return (
929
- <NavigationHelpersContext.Provider value={navigation}>
930
- <NavigationStateListenerProvider state={state}>
931
- <PreventRemoveProvider>{element}</PreventRemoveProvider>
932
- </NavigationStateListenerProvider>
933
- </NavigationHelpersContext.Provider>
932
+ <NavigationMetaContext.Provider value={undefined}>
933
+ <NavigationHelpersContext.Provider value={navigation}>
934
+ <NavigationStateListenerProvider state={state}>
935
+ <PreventRemoveProvider>{element}</PreventRemoveProvider>
936
+ </NavigationStateListenerProvider>
937
+ </NavigationHelpersContext.Provider>
938
+ </NavigationMetaContext.Provider>
934
939
  );
935
940
  });
936
941
 
937
942
  return {
938
943
  state,
939
944
  navigation,
940
- describe,
941
945
  descriptors,
942
946
  NavigationContent,
943
947
  };
@@ -17,7 +17,7 @@ type Options<
17
17
  ScreenOptions extends {},
18
18
  EventMap extends Record<string, any>,
19
19
  > = {
20
- state: State;
20
+ routes: State['routes'];
21
21
  getState: () => State;
22
22
  navigation: NavigationHelpers<ParamListBase> &
23
23
  Partial<NavigationProp<ParamListBase, string, any, any, any>>;
@@ -65,7 +65,7 @@ export function useNavigationCache<
65
65
  EventMap extends Record<string, any>,
66
66
  ActionHelpers extends Record<string, (...args: any) => void>,
67
67
  >({
68
- state,
68
+ routes,
69
69
  getState,
70
70
  navigation,
71
71
  setOptions,
@@ -75,67 +75,6 @@ export function useNavigationCache<
75
75
  const parentNavigationHelpers = React.useContext(NavigationContext);
76
76
  const { stackRef } = React.useContext(NavigationBuilderContext);
77
77
 
78
- const base = React.useMemo((): NavigationItem<
79
- State,
80
- ScreenOptions,
81
- EventMap,
82
- ActionHelpers
83
- > &
84
- ActionHelpers => {
85
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
86
- const { emit, ...rest } = navigation;
87
-
88
- const actions = {
89
- ...router.actionCreators,
90
- ...CommonActions,
91
- };
92
-
93
- const dispatch = () => {
94
- throw new Error(
95
- 'Actions cannot be dispatched from a placeholder screen.'
96
- );
97
- };
98
-
99
- const helpers = Object.keys(actions).reduce<Record<string, () => void>>(
100
- (acc, name) => {
101
- acc[name] = dispatch;
102
-
103
- return acc;
104
- },
105
- {}
106
- ) as ActionHelpers;
107
-
108
- // @ts-expect-error: type of getParent does not match
109
- return {
110
- ...rest,
111
- ...helpers,
112
- addListener: () => {
113
- // Event listeners are not supported for placeholder screens
114
-
115
- return () => {
116
- // Empty function
117
- };
118
- },
119
- removeListener: () => {
120
- // Event listeners are not supported for placeholder screens
121
- },
122
- dispatch,
123
- getParent: (routeName) => {
124
- if (routeName !== undefined) {
125
- throw new Error(
126
- 'Getting parent by route name is not supported from a placeholder screen.'
127
- );
128
- }
129
-
130
- return parentNavigationHelpers;
131
- },
132
- setOptions: () => {
133
- throw new Error('Options cannot be set from a placeholder screen.');
134
- },
135
- isFocused: () => false,
136
- };
137
- }, [parentNavigationHelpers, navigation, router.actionCreators]);
138
-
139
78
  // Cache object which holds navigation objects for each screen
140
79
  // We use `React.useMemo` instead of `React.useRef` coz we want to invalidate it when deps change
141
80
  // In reality, these deps will rarely change, if ever
@@ -149,10 +88,10 @@ export function useNavigationCache<
149
88
  >,
150
89
  }),
151
90
  // eslint-disable-next-line react-hooks/exhaustive-deps
152
- [base, getState, parentNavigationHelpers, navigation, setOptions, emitter]
91
+ [getState, parentNavigationHelpers, navigation, setOptions, emitter]
153
92
  );
154
93
 
155
- cache.current = state.routes.reduce<
94
+ cache.current = routes.reduce<
156
95
  NavigationCache<State, ScreenOptions, EventMap, ActionHelpers>
157
96
  >((acc, route) => {
158
97
  const previous = cache.current[route.key];
@@ -213,8 +152,11 @@ export function useNavigationCache<
213
152
  {}
214
153
  );
215
154
 
155
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
156
+ const { emit, ...rest } = navigation;
157
+
216
158
  acc[route.key] = {
217
- ...base,
159
+ ...rest,
218
160
  ...helpers,
219
161
  // FIXME: too much work to fix the types for now
220
162
  ...(emitter.create(route.key) as any),
@@ -239,7 +181,7 @@ export function useNavigationCache<
239
181
  }));
240
182
  },
241
183
  isFocused: () => {
242
- const state = base.getState();
184
+ const state = rest.getState();
243
185
 
244
186
  if (state.routes[state.index].key !== route.key) {
245
187
  return false;
@@ -255,8 +197,5 @@ export function useNavigationCache<
255
197
  return acc;
256
198
  }, {});
257
199
 
258
- return {
259
- base,
260
- navigations: cache.current,
261
- };
200
+ return cache.current;
262
201
  }