@react-navigation/core 7.13.7 → 7.14.1
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.
- package/lib/module/NavigationMetaContext.js +15 -0
- package/lib/module/NavigationMetaContext.js.map +1 -0
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/useNavigationBuilder.js +51 -16
- package/lib/module/useNavigationBuilder.js.map +1 -1
- package/lib/module/useOnAction.js.map +1 -1
- package/lib/module/useOnRouteFocus.js.map +1 -1
- package/lib/typescript/src/NavigationMetaContext.d.ts +12 -0
- package/lib/typescript/src/NavigationMetaContext.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationBuilder.d.ts.map +1 -1
- package/lib/typescript/src/useOnAction.d.ts +5 -5
- package/lib/typescript/src/useOnAction.d.ts.map +1 -1
- package/lib/typescript/src/useOnRouteFocus.d.ts +5 -5
- package/lib/typescript/src/useOnRouteFocus.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/NavigationMetaContext.tsx +14 -0
- package/src/index.tsx +1 -0
- package/src/useNavigationBuilder.tsx +66 -18
- package/src/useOnAction.tsx +6 -6
- package/src/useOnRouteFocus.tsx +8 -10
|
@@ -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":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -13,6 +13,7 @@ export { NavigationContainerRefContext } from "./NavigationContainerRefContext.j
|
|
|
13
13
|
export { NavigationContext } from "./NavigationContext.js";
|
|
14
14
|
export { NavigationHelpersContext } from "./NavigationHelpersContext.js";
|
|
15
15
|
export { NavigationIndependentTree } from "./NavigationIndependentTree.js";
|
|
16
|
+
export { NavigationMetaContext } from "./NavigationMetaContext.js";
|
|
16
17
|
export { NavigationRouteContext } from "./NavigationRouteContext.js";
|
|
17
18
|
export { PreventRemoveContext } from "./PreventRemoveContext.js";
|
|
18
19
|
export { PreventRemoveProvider } from "./PreventRemoveProvider.js";
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseNavigationContainer","createNavigationContainerRef","createNavigatorFactory","CurrentRenderContext","findFocusedRoute","getActionFromState","getFocusedRouteNameFromRoute","getPathFromState","getStateFromPath","NavigationContainerRefContext","NavigationContext","NavigationHelpersContext","NavigationIndependentTree","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,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","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":[]}
|
|
@@ -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 "./NavigationRouteContext.js";
|
|
14
15
|
import { NavigationStateContext } from "./NavigationStateContext.js";
|
|
15
16
|
import { PreventRemoveProvider } from "./PreventRemoveProvider.js";
|
|
@@ -220,17 +221,32 @@ export function useNavigationBuilder(createRouter, options) {
|
|
|
220
221
|
getKey,
|
|
221
222
|
getIsInitial
|
|
222
223
|
} = React.useContext(NavigationStateContext);
|
|
223
|
-
const
|
|
224
|
+
const stateCleanupRef = React.useRef(false);
|
|
225
|
+
const lastStateRef = React.useRef(undefined);
|
|
224
226
|
const setState = useLatestCallback(state => {
|
|
225
|
-
if (
|
|
227
|
+
if (stateCleanupRef.current) {
|
|
228
|
+
// Store the state locally in case the current navigator is in `Activity`
|
|
229
|
+
lastStateRef.current = state;
|
|
230
|
+
|
|
226
231
|
// State might have been already cleaned up due to unmount
|
|
227
|
-
// We
|
|
228
|
-
//
|
|
232
|
+
// We don't want to update `route.state` in parent
|
|
233
|
+
// Otherwise it will be reused if a new navigator gets mounted
|
|
229
234
|
return;
|
|
230
235
|
}
|
|
231
236
|
setCurrentState(state);
|
|
232
237
|
});
|
|
233
238
|
const [stateBeforeInitialization, initializedState, isFirstStateInitialization] = React.useMemo(() => {
|
|
239
|
+
// If the state was already cleaned up, but we have it stored in ref,
|
|
240
|
+
// It likely got cleaned up due to `<Activity mode="hidden">`
|
|
241
|
+
// We should reuse this state to avoid remounting screens
|
|
242
|
+
if (stateCleanupRef.current && lastStateRef.current && isStateValid(lastStateRef.current)) {
|
|
243
|
+
const state = isStateInitialized(lastStateRef.current) ? lastStateRef.current : router.getRehydratedState(lastStateRef.current, {
|
|
244
|
+
routeNames,
|
|
245
|
+
routeParamList,
|
|
246
|
+
routeGetIdList
|
|
247
|
+
});
|
|
248
|
+
return [undefined, state, false];
|
|
249
|
+
}
|
|
234
250
|
const initialRouteParamList = routeNames.reduce((acc, curr) => {
|
|
235
251
|
const {
|
|
236
252
|
initialParams
|
|
@@ -360,10 +376,17 @@ export function useNavigationBuilder(createRouter, options) {
|
|
|
360
376
|
routeGetIdList
|
|
361
377
|
}) : nextState;
|
|
362
378
|
}
|
|
363
|
-
const
|
|
379
|
+
const hasNestedParams = typeof route?.params?.state === 'object' || typeof route?.params?.screen === 'string';
|
|
380
|
+
React.useEffect(() => {
|
|
381
|
+
if (hasNestedParams) {
|
|
382
|
+
// Clear nested params after they are consumed
|
|
383
|
+
setState(nextState);
|
|
384
|
+
}
|
|
385
|
+
}, [hasNestedParams, nextState, setState]);
|
|
386
|
+
const shouldUpdate = state !== nextState;
|
|
364
387
|
useScheduleUpdate(() => {
|
|
365
388
|
if (shouldUpdate) {
|
|
366
|
-
//
|
|
389
|
+
// Schedule an update if the state needs to be updated
|
|
367
390
|
setState(nextState);
|
|
368
391
|
if (shouldClearUnhandledState) {
|
|
369
392
|
setUnhandledState(undefined);
|
|
@@ -375,22 +398,31 @@ export function useNavigationBuilder(createRouter, options) {
|
|
|
375
398
|
// We can't use the outdated state since the screens have changed, which will cause error due to mismatched config
|
|
376
399
|
// So we override the state object we return to use the latest state as soon as possible
|
|
377
400
|
state = nextState;
|
|
401
|
+
|
|
402
|
+
// Last state to reuse if component gets cleaned up due to `<Activity mode="hidden">`
|
|
403
|
+
React.useEffect(() => {
|
|
404
|
+
lastStateRef.current = state;
|
|
405
|
+
});
|
|
406
|
+
const lastNotifiedStateRef = React.useRef(null);
|
|
378
407
|
React.useEffect(() => {
|
|
379
408
|
// In strict mode, React will double-invoke effects.
|
|
380
409
|
// So we need to reset the flag if component was not unmounted
|
|
381
|
-
|
|
410
|
+
stateCleanupRef.current = false;
|
|
382
411
|
setKey(navigatorKey);
|
|
383
|
-
if (!getIsInitial()) {
|
|
412
|
+
if (!getIsInitial() && lastNotifiedStateRef.current !== state) {
|
|
384
413
|
// If it's not initial render, we need to update the state
|
|
385
414
|
// This will make sure that our container gets notifier of state changes due to new mounts
|
|
386
415
|
// This is necessary for proper screen tracking, URL updates etc.
|
|
387
|
-
|
|
416
|
+
// We only notify if the state is different what we already notified
|
|
417
|
+
// Otherwise this goes into a loop when inside `<Activity mode="hidden">`
|
|
418
|
+
setState(state);
|
|
419
|
+
lastNotifiedStateRef.current = state;
|
|
388
420
|
}
|
|
389
421
|
return () => {
|
|
390
422
|
// We need to clean up state for this navigator on unmount
|
|
391
423
|
if (getCurrentState() !== undefined && getKey() === navigatorKey) {
|
|
392
424
|
setCurrentState(undefined);
|
|
393
|
-
|
|
425
|
+
stateCleanupRef.current = true;
|
|
394
426
|
}
|
|
395
427
|
};
|
|
396
428
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -547,12 +579,15 @@ export function useNavigationBuilder(createRouter, options) {
|
|
|
547
579
|
navigation,
|
|
548
580
|
children
|
|
549
581
|
}) : children;
|
|
550
|
-
return /*#__PURE__*/_jsx(
|
|
551
|
-
value:
|
|
552
|
-
children: /*#__PURE__*/_jsx(
|
|
553
|
-
|
|
554
|
-
children: /*#__PURE__*/_jsx(
|
|
555
|
-
|
|
582
|
+
return /*#__PURE__*/_jsx(NavigationMetaContext.Provider, {
|
|
583
|
+
value: undefined,
|
|
584
|
+
children: /*#__PURE__*/_jsx(NavigationHelpersContext.Provider, {
|
|
585
|
+
value: navigation,
|
|
586
|
+
children: /*#__PURE__*/_jsx(NavigationStateListenerProvider, {
|
|
587
|
+
state: state,
|
|
588
|
+
children: /*#__PURE__*/_jsx(PreventRemoveProvider, {
|
|
589
|
+
children: element
|
|
590
|
+
})
|
|
556
591
|
})
|
|
557
592
|
})
|
|
558
593
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CommonActions","deepEqual","React","isValidElementType","useLatestCallback","deepFreeze","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","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","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","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","stateCleanedUp","useRef","current","stateBeforeInitialization","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","stateFromParams","hydratedState","getRehydratedState","UNSTABLE_routeNamesChangeBehavior","previousRouteKeyListRef","useEffect","previousRouteKeyList","unhandledState","setUnhandledState","useState","nextState","shouldClearUnhandledState","getStateForRouteNamesChange","routeKeyChanges","filter","previousNestedParamsRef","previousParams","action","reset","navigate","merge","pop","updatedState","getStateForAction","shouldUpdate","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","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","useClientLayoutEffect","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","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","useMemo","getRehydratedState","initialRouteParamList","initialParamsFromParams","getInitialState","stateFromParams","hydratedState","UNSTABLE_routeNamesChangeBehavior","previousRouteKeyListRef","useEffect","previousRouteKeyList","unhandledState","setUnhandledState","useState","nextState","shouldClearUnhandledState","getStateForRouteNamesChange","routeKeyChanges","filter","previousNestedParamsRef","previousParams","action","reset","navigate","merge","pop","updatedState","getStateForAction","hasNestedParams","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","value"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","DeprecatedNavigationInChildContext","NavigationBuilderContext","shouldPreventRemove","useOnPreventRemove","useOnAction","router","getState","setState","key","actionListeners","beforeRemoveListeners","routerConfigOptions","emitter","onAction","onActionParent","onRouteFocus","onRouteFocusParent","addListener","addListenerParent","onDispatchAction","useContext","navigationInChildEnabled","routerConfigOptionsRef","useRef","useEffect","current","useCallback","action","visitedNavigators","Set","state","has","add","target","result","getStateForAction","isPrevented","routes","undefined","shouldFocus","shouldActionChangeFocus","type","i","length","listener"],"sourceRoot":"../../src","sources":["useOnAction.tsx"],"mappings":";;AAOA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,kCAAkC,QAAQ,yCAAsC;AACzF,SAGEC,wBAAwB,QACnB,+BAA4B;AAGnC,SAASC,mBAAmB,EAAEC,kBAAkB,QAAQ,yBAAsB;AAa9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,
|
|
1
|
+
{"version":3,"names":["React","DeprecatedNavigationInChildContext","NavigationBuilderContext","shouldPreventRemove","useOnPreventRemove","useOnAction","router","getState","setState","key","actionListeners","beforeRemoveListeners","routerConfigOptions","emitter","onAction","onActionParent","onRouteFocus","onRouteFocusParent","addListener","addListenerParent","onDispatchAction","useContext","navigationInChildEnabled","routerConfigOptionsRef","useRef","useEffect","current","useCallback","action","visitedNavigators","Set","state","has","add","target","result","getStateForAction","isPrevented","routes","undefined","shouldFocus","shouldActionChangeFocus","type","i","length","listener"],"sourceRoot":"../../src","sources":["useOnAction.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","NavigationBuilderContext","useOnRouteFocus","router","getState","key","sourceRouteKey","setState","onRouteFocus","onRouteFocusParent","useContext","useCallback","state","result","getStateForRouteFocus","undefined"],"sourceRoot":"../../src","sources":["useOnRouteFocus.tsx"],"mappings":";;AAKA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,wBAAwB,QAAQ,+BAA4B;AASrE;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,
|
|
1
|
+
{"version":3,"names":["React","NavigationBuilderContext","useOnRouteFocus","router","getState","key","sourceRouteKey","setState","onRouteFocus","onRouteFocusParent","useContext","useCallback","state","result","getStateForRouteFocus","undefined"],"sourceRoot":"../../src","sources":["useOnRouteFocus.tsx"],"mappings":";;AAKA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,wBAAwB,QAAQ,+BAA4B;AASrE;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAG7B;EAAEC,MAAM;EAAEC,QAAQ;EAAEC,GAAG,EAAEC,cAAc;EAAEC;AAAiC,CAAC,EAAE;EAC7E,MAAM;IAAEC,YAAY,EAAEC;EAAmB,CAAC,GAAGT,KAAK,CAACU,UAAU,CAC3DT,wBACF,CAAC;EAED,OAAOD,KAAK,CAACW,WAAW,CACrBN,GAAW,IAAK;IACf,MAAMO,KAAK,GAAGR,QAAQ,CAAC,CAAC;IACxB,MAAMS,MAAM,GAAGV,MAAM,CAACW,qBAAqB,CAACF,KAAK,EAAEP,GAAG,CAAC;IAEvD,IAAIQ,MAAM,KAAKD,KAAK,EAAE;MACpBL,QAAQ,CAACM,MAAM,CAAC;IAClB;IAEA,IAAIJ,kBAAkB,KAAKM,SAAS,IAAIT,cAAc,KAAKS,SAAS,EAAE;MACpEN,kBAAkB,CAACH,cAAc,CAAC;IACpC;EACF,CAAC,EACD,CAACF,QAAQ,EAAEK,kBAAkB,EAAEN,MAAM,EAAEI,QAAQ,EAAED,cAAc,CACjE,CAAC;AACH","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"}
|
|
@@ -11,6 +11,7 @@ export { NavigationContainerRefContext } from './NavigationContainerRefContext';
|
|
|
11
11
|
export { NavigationContext } from './NavigationContext';
|
|
12
12
|
export { NavigationHelpersContext } from './NavigationHelpersContext';
|
|
13
13
|
export { NavigationIndependentTree } from './NavigationIndependentTree';
|
|
14
|
+
export { NavigationMetaContext } from './NavigationMetaContext';
|
|
14
15
|
export { NavigationRouteContext } from './NavigationRouteContext';
|
|
15
16
|
export { PreventRemoveContext } from './PreventRemoveContext';
|
|
16
17
|
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,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,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,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 +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;
|
|
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;AAsQjB;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmqBhB"}
|
|
@@ -2,11 +2,11 @@ import type { NavigationAction, NavigationState, PartialState, Router, RouterCon
|
|
|
2
2
|
import { type ChildActionListener, type ChildBeforeRemoveListener } from './NavigationBuilderContext';
|
|
3
3
|
import type { EventMapCore } from './types';
|
|
4
4
|
import type { NavigationEventEmitter } from './useEventEmitter';
|
|
5
|
-
type Options = {
|
|
6
|
-
router: Router<
|
|
5
|
+
type Options<State extends NavigationState> = {
|
|
6
|
+
router: Router<State, NavigationAction>;
|
|
7
7
|
key?: string;
|
|
8
|
-
getState: () =>
|
|
9
|
-
setState: (state:
|
|
8
|
+
getState: () => State;
|
|
9
|
+
setState: (state: State | PartialState<State>) => void;
|
|
10
10
|
actionListeners: ChildActionListener[];
|
|
11
11
|
beforeRemoveListeners: Record<string, ChildBeforeRemoveListener | undefined>;
|
|
12
12
|
routerConfigOptions: RouterConfigOptions;
|
|
@@ -21,6 +21,6 @@ type Options = {
|
|
|
21
21
|
*
|
|
22
22
|
* When the action handler handles as action, it returns `true`, otherwise `false`.
|
|
23
23
|
*/
|
|
24
|
-
export declare function useOnAction({ router, getState, setState, key, actionListeners, beforeRemoveListeners, routerConfigOptions, emitter, }: Options): (action: NavigationAction, visitedNavigators?: Set<string>) => boolean;
|
|
24
|
+
export declare function useOnAction<State extends NavigationState>({ router, getState, setState, key, actionListeners, beforeRemoveListeners, routerConfigOptions, emitter, }: Options<State>): (action: NavigationAction, visitedNavigators?: Set<string>) => boolean;
|
|
25
25
|
export {};
|
|
26
26
|
//# sourceMappingURL=useOnAction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOnAction.d.ts","sourceRoot":"","sources":["../../../src/useOnAction.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,MAAM,EACN,mBAAmB,EACpB,MAAM,2BAA2B,CAAC;AAInC,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAE/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAGhE,KAAK,OAAO,
|
|
1
|
+
{"version":3,"file":"useOnAction.d.ts","sourceRoot":"","sources":["../../../src/useOnAction.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,MAAM,EACN,mBAAmB,EACpB,MAAM,2BAA2B,CAAC;AAInC,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAE/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAGhE,KAAK,OAAO,CAAC,KAAK,SAAS,eAAe,IAAI;IAC5C,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;IACvD,eAAe,EAAE,mBAAmB,EAAE,CAAC;IACvC,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,GAAG,SAAS,CAAC,CAAC;IAC7E,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,OAAO,EAAE,sBAAsB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;CACpD,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,KAAK,SAAS,eAAe,EAAE,EACzD,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,GAAG,EACH,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,OAAO,GACR,EAAE,OAAO,CAAC,KAAK,CAAC,YAoBH,gBAAgB,sBACL,GAAG,CAAC,MAAM,CAAC,aA8GnC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { NavigationAction, NavigationState, Router } from '@react-navigation/routers';
|
|
2
|
-
type Options<Action extends NavigationAction> = {
|
|
3
|
-
router: Router<
|
|
4
|
-
getState: () =>
|
|
5
|
-
setState: (state:
|
|
2
|
+
type Options<State extends NavigationState, Action extends NavigationAction> = {
|
|
3
|
+
router: Router<State, Action>;
|
|
4
|
+
getState: () => State;
|
|
5
|
+
setState: (state: State) => void;
|
|
6
6
|
key?: string;
|
|
7
7
|
};
|
|
8
8
|
/**
|
|
@@ -10,6 +10,6 @@ type Options<Action extends NavigationAction> = {
|
|
|
10
10
|
* Focus action needs to be treated specially, coz when a nested route is focused,
|
|
11
11
|
* the parent navigators also needs to be focused.
|
|
12
12
|
*/
|
|
13
|
-
export declare function useOnRouteFocus<Action extends NavigationAction>({ router, getState, key: sourceRouteKey, setState
|
|
13
|
+
export declare function useOnRouteFocus<State extends NavigationState, Action extends NavigationAction>({ router, getState, key: sourceRouteKey, setState }: Options<State, Action>): (key: string) => void;
|
|
14
14
|
export {};
|
|
15
15
|
//# sourceMappingURL=useOnRouteFocus.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOnRouteFocus.d.ts","sourceRoot":"","sources":["../../../src/useOnRouteFocus.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,MAAM,EACP,MAAM,2BAA2B,CAAC;AAKnC,KAAK,OAAO,CAAC,MAAM,SAAS,gBAAgB,IAAI;
|
|
1
|
+
{"version":3,"file":"useOnRouteFocus.d.ts","sourceRoot":"","sources":["../../../src/useOnRouteFocus.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,MAAM,EACP,MAAM,2BAA2B,CAAC;AAKnC,KAAK,OAAO,CAAC,KAAK,SAAS,eAAe,EAAE,MAAM,SAAS,gBAAgB,IAAI;IAC7E,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9B,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,KAAK,SAAS,eAAe,EAC7B,MAAM,SAAS,gBAAgB,EAC/B,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,SAMnE,MAAM,UAcf"}
|
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.
|
|
4
|
+
"version": "7.14.1",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
7
7
|
"react-native",
|
|
@@ -83,5 +83,5 @@
|
|
|
83
83
|
]
|
|
84
84
|
]
|
|
85
85
|
},
|
|
86
|
-
"gitHead": "
|
|
86
|
+
"gitHead": "f77c6f9eea37dcbb0970e6f3caf97a0cc882d179"
|
|
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
|
@@ -11,6 +11,7 @@ export { NavigationContainerRefContext } from './NavigationContainerRefContext';
|
|
|
11
11
|
export { NavigationContext } from './NavigationContext';
|
|
12
12
|
export { NavigationHelpersContext } from './NavigationHelpersContext';
|
|
13
13
|
export { NavigationIndependentTree } from './NavigationIndependentTree';
|
|
14
|
+
export { NavigationMetaContext } from './NavigationMetaContext';
|
|
14
15
|
export { NavigationRouteContext } from './NavigationRouteContext';
|
|
15
16
|
export { PreventRemoveContext } from './PreventRemoveContext';
|
|
16
17
|
export { PreventRemoveProvider } from './PreventRemoveProvider';
|
|
@@ -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 './NavigationRouteContext';
|
|
24
25
|
import { NavigationStateContext } from './NavigationStateContext';
|
|
25
26
|
import { PreventRemoveProvider } from './PreventRemoveProvider';
|
|
@@ -418,7 +419,9 @@ export function useNavigationBuilder<
|
|
|
418
419
|
);
|
|
419
420
|
|
|
420
421
|
const isStateInitialized = React.useCallback(
|
|
421
|
-
|
|
422
|
+
<T extends NavigationState>(
|
|
423
|
+
state: T | PartialState<T> | undefined
|
|
424
|
+
): state is T =>
|
|
422
425
|
state !== undefined && state.stale === false && isStateValid(state),
|
|
423
426
|
[isStateValid]
|
|
424
427
|
);
|
|
@@ -438,14 +441,20 @@ export function useNavigationBuilder<
|
|
|
438
441
|
getIsInitial,
|
|
439
442
|
} = React.useContext(NavigationStateContext);
|
|
440
443
|
|
|
441
|
-
const
|
|
444
|
+
const stateCleanupRef = React.useRef<boolean>(false);
|
|
445
|
+
const lastStateRef = React.useRef<State | PartialState<State> | undefined>(
|
|
446
|
+
undefined
|
|
447
|
+
);
|
|
442
448
|
|
|
443
449
|
const setState = useLatestCallback(
|
|
444
|
-
(state:
|
|
445
|
-
if (
|
|
450
|
+
(state: State | PartialState<State> | undefined) => {
|
|
451
|
+
if (stateCleanupRef.current) {
|
|
452
|
+
// Store the state locally in case the current navigator is in `Activity`
|
|
453
|
+
lastStateRef.current = state;
|
|
454
|
+
|
|
446
455
|
// State might have been already cleaned up due to unmount
|
|
447
|
-
// We
|
|
448
|
-
//
|
|
456
|
+
// We don't want to update `route.state` in parent
|
|
457
|
+
// Otherwise it will be reused if a new navigator gets mounted
|
|
449
458
|
return;
|
|
450
459
|
}
|
|
451
460
|
|
|
@@ -462,6 +471,25 @@ export function useNavigationBuilder<
|
|
|
462
471
|
State | undefined,
|
|
463
472
|
boolean,
|
|
464
473
|
] => {
|
|
474
|
+
// If the state was already cleaned up, but we have it stored in ref,
|
|
475
|
+
// It likely got cleaned up due to `<Activity mode="hidden">`
|
|
476
|
+
// We should reuse this state to avoid remounting screens
|
|
477
|
+
if (
|
|
478
|
+
stateCleanupRef.current &&
|
|
479
|
+
lastStateRef.current &&
|
|
480
|
+
isStateValid(lastStateRef.current)
|
|
481
|
+
) {
|
|
482
|
+
const state: State = isStateInitialized(lastStateRef.current)
|
|
483
|
+
? lastStateRef.current
|
|
484
|
+
: router.getRehydratedState(lastStateRef.current, {
|
|
485
|
+
routeNames,
|
|
486
|
+
routeParamList,
|
|
487
|
+
routeGetIdList,
|
|
488
|
+
});
|
|
489
|
+
|
|
490
|
+
return [undefined, state, false];
|
|
491
|
+
}
|
|
492
|
+
|
|
465
493
|
const initialRouteParamList = routeNames.reduce<
|
|
466
494
|
Record<string, object | undefined>
|
|
467
495
|
>((acc, curr) => {
|
|
@@ -675,14 +703,22 @@ export function useNavigationBuilder<
|
|
|
675
703
|
: nextState;
|
|
676
704
|
}
|
|
677
705
|
|
|
678
|
-
const
|
|
679
|
-
state !== nextState ||
|
|
706
|
+
const hasNestedParams =
|
|
680
707
|
typeof route?.params?.state === 'object' ||
|
|
681
708
|
typeof route?.params?.screen === 'string';
|
|
682
709
|
|
|
710
|
+
React.useEffect(() => {
|
|
711
|
+
if (hasNestedParams) {
|
|
712
|
+
// Clear nested params after they are consumed
|
|
713
|
+
setState(nextState);
|
|
714
|
+
}
|
|
715
|
+
}, [hasNestedParams, nextState, setState]);
|
|
716
|
+
|
|
717
|
+
const shouldUpdate = state !== nextState;
|
|
718
|
+
|
|
683
719
|
useScheduleUpdate(() => {
|
|
684
720
|
if (shouldUpdate) {
|
|
685
|
-
//
|
|
721
|
+
// Schedule an update if the state needs to be updated
|
|
686
722
|
setState(nextState);
|
|
687
723
|
|
|
688
724
|
if (shouldClearUnhandledState) {
|
|
@@ -696,25 +732,35 @@ export function useNavigationBuilder<
|
|
|
696
732
|
// So we override the state object we return to use the latest state as soon as possible
|
|
697
733
|
state = nextState;
|
|
698
734
|
|
|
735
|
+
// Last state to reuse if component gets cleaned up due to `<Activity mode="hidden">`
|
|
736
|
+
React.useEffect(() => {
|
|
737
|
+
lastStateRef.current = state;
|
|
738
|
+
});
|
|
739
|
+
|
|
740
|
+
const lastNotifiedStateRef = React.useRef<State | null>(null);
|
|
741
|
+
|
|
699
742
|
React.useEffect(() => {
|
|
700
743
|
// In strict mode, React will double-invoke effects.
|
|
701
744
|
// So we need to reset the flag if component was not unmounted
|
|
702
|
-
|
|
745
|
+
stateCleanupRef.current = false;
|
|
703
746
|
|
|
704
747
|
setKey(navigatorKey);
|
|
705
748
|
|
|
706
|
-
if (!getIsInitial()) {
|
|
749
|
+
if (!getIsInitial() && lastNotifiedStateRef.current !== state) {
|
|
707
750
|
// If it's not initial render, we need to update the state
|
|
708
751
|
// This will make sure that our container gets notifier of state changes due to new mounts
|
|
709
752
|
// This is necessary for proper screen tracking, URL updates etc.
|
|
710
|
-
|
|
753
|
+
// We only notify if the state is different what we already notified
|
|
754
|
+
// Otherwise this goes into a loop when inside `<Activity mode="hidden">`
|
|
755
|
+
setState(state);
|
|
756
|
+
lastNotifiedStateRef.current = state;
|
|
711
757
|
}
|
|
712
758
|
|
|
713
759
|
return () => {
|
|
714
760
|
// We need to clean up state for this navigator on unmount
|
|
715
761
|
if (getCurrentState() !== undefined && getKey() === navigatorKey) {
|
|
716
762
|
setCurrentState(undefined);
|
|
717
|
-
|
|
763
|
+
stateCleanupRef.current = true;
|
|
718
764
|
}
|
|
719
765
|
};
|
|
720
766
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -929,11 +975,13 @@ export function useNavigationBuilder<
|
|
|
929
975
|
: children;
|
|
930
976
|
|
|
931
977
|
return (
|
|
932
|
-
<
|
|
933
|
-
<
|
|
934
|
-
<
|
|
935
|
-
|
|
936
|
-
|
|
978
|
+
<NavigationMetaContext.Provider value={undefined}>
|
|
979
|
+
<NavigationHelpersContext.Provider value={navigation}>
|
|
980
|
+
<NavigationStateListenerProvider state={state}>
|
|
981
|
+
<PreventRemoveProvider>{element}</PreventRemoveProvider>
|
|
982
|
+
</NavigationStateListenerProvider>
|
|
983
|
+
</NavigationHelpersContext.Provider>
|
|
984
|
+
</NavigationMetaContext.Provider>
|
|
937
985
|
);
|
|
938
986
|
});
|
|
939
987
|
|
package/src/useOnAction.tsx
CHANGED
|
@@ -17,11 +17,11 @@ import type { EventMapCore } from './types';
|
|
|
17
17
|
import type { NavigationEventEmitter } from './useEventEmitter';
|
|
18
18
|
import { shouldPreventRemove, useOnPreventRemove } from './useOnPreventRemove';
|
|
19
19
|
|
|
20
|
-
type Options = {
|
|
21
|
-
router: Router<
|
|
20
|
+
type Options<State extends NavigationState> = {
|
|
21
|
+
router: Router<State, NavigationAction>;
|
|
22
22
|
key?: string;
|
|
23
|
-
getState: () =>
|
|
24
|
-
setState: (state:
|
|
23
|
+
getState: () => State;
|
|
24
|
+
setState: (state: State | PartialState<State>) => void;
|
|
25
25
|
actionListeners: ChildActionListener[];
|
|
26
26
|
beforeRemoveListeners: Record<string, ChildBeforeRemoveListener | undefined>;
|
|
27
27
|
routerConfigOptions: RouterConfigOptions;
|
|
@@ -37,7 +37,7 @@ type Options = {
|
|
|
37
37
|
*
|
|
38
38
|
* When the action handler handles as action, it returns `true`, otherwise `false`.
|
|
39
39
|
*/
|
|
40
|
-
export function useOnAction({
|
|
40
|
+
export function useOnAction<State extends NavigationState>({
|
|
41
41
|
router,
|
|
42
42
|
getState,
|
|
43
43
|
setState,
|
|
@@ -46,7 +46,7 @@ export function useOnAction({
|
|
|
46
46
|
beforeRemoveListeners,
|
|
47
47
|
routerConfigOptions,
|
|
48
48
|
emitter,
|
|
49
|
-
}: Options) {
|
|
49
|
+
}: Options<State>) {
|
|
50
50
|
const {
|
|
51
51
|
onAction: onActionParent,
|
|
52
52
|
onRouteFocus: onRouteFocusParent,
|
package/src/useOnRouteFocus.tsx
CHANGED
|
@@ -7,10 +7,10 @@ import * as React from 'react';
|
|
|
7
7
|
|
|
8
8
|
import { NavigationBuilderContext } from './NavigationBuilderContext';
|
|
9
9
|
|
|
10
|
-
type Options<Action extends NavigationAction> = {
|
|
11
|
-
router: Router<
|
|
12
|
-
getState: () =>
|
|
13
|
-
setState: (state:
|
|
10
|
+
type Options<State extends NavigationState, Action extends NavigationAction> = {
|
|
11
|
+
router: Router<State, Action>;
|
|
12
|
+
getState: () => State;
|
|
13
|
+
setState: (state: State) => void;
|
|
14
14
|
key?: string;
|
|
15
15
|
};
|
|
16
16
|
|
|
@@ -19,12 +19,10 @@ type Options<Action extends NavigationAction> = {
|
|
|
19
19
|
* Focus action needs to be treated specially, coz when a nested route is focused,
|
|
20
20
|
* the parent navigators also needs to be focused.
|
|
21
21
|
*/
|
|
22
|
-
export function useOnRouteFocus<
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
setState,
|
|
27
|
-
}: Options<Action>) {
|
|
22
|
+
export function useOnRouteFocus<
|
|
23
|
+
State extends NavigationState,
|
|
24
|
+
Action extends NavigationAction,
|
|
25
|
+
>({ router, getState, key: sourceRouteKey, setState }: Options<State, Action>) {
|
|
28
26
|
const { onRouteFocus: onRouteFocusParent } = React.useContext(
|
|
29
27
|
NavigationBuilderContext
|
|
30
28
|
);
|