@react-navigation/core 8.0.0-alpha.3 → 8.0.0-alpha.31
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/BaseNavigationContainer.js +38 -19
- package/lib/module/BaseNavigationContainer.js.map +1 -1
- package/lib/module/ConsumedParamsContext.js +5 -0
- package/lib/module/ConsumedParamsContext.js.map +1 -0
- package/lib/module/DataLoading.js +127 -0
- package/lib/module/DataLoading.js.map +1 -0
- package/lib/module/NavigationBuilderContext.js +1 -0
- package/lib/module/NavigationBuilderContext.js.map +1 -1
- package/lib/module/NavigationIndependentTree.js +20 -8
- package/lib/module/NavigationIndependentTree.js.map +1 -1
- package/lib/module/NavigationProvider.js +22 -11
- package/lib/module/NavigationProvider.js.map +1 -1
- package/lib/module/NavigationStateContext.js +3 -0
- package/lib/module/NavigationStateContext.js.map +1 -1
- package/lib/module/PreventRemoveContext.js.map +1 -1
- package/lib/module/PreventRemoveProvider.js +37 -27
- package/lib/module/PreventRemoveProvider.js.map +1 -1
- package/lib/module/SceneView.js +10 -41
- package/lib/module/SceneView.js.map +1 -1
- package/lib/module/StaticNavigation.js +179 -50
- package/lib/module/StaticNavigation.js.map +1 -1
- package/lib/module/StaticTreeContext.js +5 -0
- package/lib/module/StaticTreeContext.js.map +1 -0
- package/lib/module/checkSerializable.js +18 -13
- package/lib/module/checkSerializable.js.map +1 -1
- package/lib/module/createNavigationContainerRef.js +6 -8
- package/lib/module/createNavigationContainerRef.js.map +1 -1
- package/lib/module/createNavigatorFactory.js +27 -5
- package/lib/module/createNavigatorFactory.js.map +1 -1
- package/lib/module/findFocusedRoute.js +7 -4
- package/lib/module/findFocusedRoute.js.map +1 -1
- package/lib/module/getActionFromState.js +45 -20
- package/lib/module/getActionFromState.js.map +1 -1
- package/lib/module/getPathFromState.js +171 -90
- package/lib/module/getPathFromState.js.map +1 -1
- package/lib/module/getPatternParts.js +20 -4
- package/lib/module/getPatternParts.js.map +1 -1
- package/lib/module/getStateFromPath.js +487 -217
- package/lib/module/getStateFromPath.js.map +1 -1
- package/lib/module/getStateFromRouteParams.js +23 -0
- package/lib/module/getStateFromRouteParams.js.map +1 -0
- package/lib/module/index.js +5 -4
- package/lib/module/index.js.map +1 -1
- package/lib/module/theming/useTheme.js +1 -1
- package/lib/module/theming/useTheme.js.map +1 -1
- package/lib/module/types.js +35 -0
- package/lib/module/types.js.map +1 -1
- package/lib/module/useDescriptors.js +21 -11
- package/lib/module/useDescriptors.js.map +1 -1
- package/lib/module/useEventEmitter.js +48 -33
- package/lib/module/useEventEmitter.js.map +1 -1
- package/lib/module/useFocusEvents.js +12 -4
- package/lib/module/useFocusEvents.js.map +1 -1
- package/lib/module/useFocusedListenersChildrenAdapter.js +2 -2
- package/lib/module/useFocusedListenersChildrenAdapter.js.map +1 -1
- package/lib/module/useIsFocused.js +7 -12
- package/lib/module/useIsFocused.js.map +1 -1
- package/lib/module/useKeyedChildListeners.js +4 -2
- package/lib/module/useKeyedChildListeners.js.map +1 -1
- package/lib/module/useLazyValue.js.map +1 -1
- package/lib/module/useNavigation.js +2 -15
- package/lib/module/useNavigation.js.map +1 -1
- package/lib/module/useNavigationBuilder.js +204 -131
- package/lib/module/useNavigationBuilder.js.map +1 -1
- package/lib/module/useNavigationCache.js +22 -17
- package/lib/module/useNavigationCache.js.map +1 -1
- package/lib/module/useNavigationHelpers.js +28 -10
- package/lib/module/useNavigationHelpers.js.map +1 -1
- package/lib/module/useNavigationIndependentTree.js +1 -1
- package/lib/module/useNavigationIndependentTree.js.map +1 -1
- package/lib/module/useNavigationState.js +125 -45
- package/lib/module/useNavigationState.js.map +1 -1
- package/lib/module/useOnAction.js +37 -7
- package/lib/module/useOnAction.js.map +1 -1
- package/lib/module/useOnGetState.js +6 -3
- package/lib/module/useOnGetState.js.map +1 -1
- package/lib/module/useOnPreventRemove.js +39 -30
- package/lib/module/useOnPreventRemove.js.map +1 -1
- package/lib/module/useOnRouteFocus.js +1 -1
- package/lib/module/useOnRouteFocus.js.map +1 -1
- package/lib/module/useOptionsGetters.js +10 -5
- package/lib/module/useOptionsGetters.js.map +1 -1
- package/lib/module/usePreventRemove.js +10 -3
- package/lib/module/usePreventRemove.js.map +1 -1
- package/lib/module/usePreventRemoveContext.js +1 -1
- package/lib/module/usePreventRemoveContext.js.map +1 -1
- package/lib/module/useRegisterNavigator.js +2 -2
- package/lib/module/useRegisterNavigator.js.map +1 -1
- package/lib/module/useRoute.js +2 -0
- package/lib/module/useRoute.js.map +1 -1
- package/lib/module/useRouteCache.js +17 -11
- package/lib/module/useRouteCache.js.map +1 -1
- package/lib/module/useScheduleUpdate.js +9 -9
- package/lib/module/useScheduleUpdate.js.map +1 -1
- package/lib/module/useStateForPath.js +1 -1
- package/lib/module/useStateForPath.js.map +1 -1
- package/lib/module/useSyncState.js +32 -9
- package/lib/module/useSyncState.js.map +1 -1
- package/lib/module/validatePathConfig.js +50 -36
- package/lib/module/validatePathConfig.js.map +1 -1
- package/lib/typescript/src/BaseNavigationContainer.d.ts +6 -3
- package/lib/typescript/src/BaseNavigationContainer.d.ts.map +1 -1
- package/lib/typescript/src/ConsumedParamsContext.d.ts +3 -0
- package/lib/typescript/src/ConsumedParamsContext.d.ts.map +1 -0
- package/lib/typescript/src/DataLoading.d.ts +21 -0
- package/lib/typescript/src/DataLoading.d.ts.map +1 -0
- package/lib/typescript/src/EnsureSingleNavigator.d.ts +1 -1
- package/lib/typescript/src/EnsureSingleNavigator.d.ts.map +1 -1
- package/lib/typescript/src/Group.d.ts +1 -1
- package/lib/typescript/src/Group.d.ts.map +1 -1
- package/lib/typescript/src/NavigationBuilderContext.d.ts +9 -8
- package/lib/typescript/src/NavigationBuilderContext.d.ts.map +1 -1
- package/lib/typescript/src/NavigationContainerRefContext.d.ts +1 -1
- package/lib/typescript/src/NavigationContainerRefContext.d.ts.map +1 -1
- package/lib/typescript/src/NavigationFocusedRouteStateContext.d.ts +4 -4
- package/lib/typescript/src/NavigationFocusedRouteStateContext.d.ts.map +1 -1
- package/lib/typescript/src/NavigationHelpersContext.d.ts +1 -1
- package/lib/typescript/src/NavigationHelpersContext.d.ts.map +1 -1
- package/lib/typescript/src/NavigationIndependentTree.d.ts +1 -1
- package/lib/typescript/src/NavigationIndependentTree.d.ts.map +1 -1
- package/lib/typescript/src/NavigationProvider.d.ts +12 -13
- package/lib/typescript/src/NavigationProvider.d.ts.map +1 -1
- package/lib/typescript/src/NavigationStateContext.d.ts +4 -3
- package/lib/typescript/src/NavigationStateContext.d.ts.map +1 -1
- package/lib/typescript/src/PreventRemoveContext.d.ts +1 -0
- package/lib/typescript/src/PreventRemoveContext.d.ts.map +1 -1
- package/lib/typescript/src/PreventRemoveProvider.d.ts +1 -1
- package/lib/typescript/src/PreventRemoveProvider.d.ts.map +1 -1
- package/lib/typescript/src/SceneView.d.ts +4 -2
- package/lib/typescript/src/SceneView.d.ts.map +1 -1
- package/lib/typescript/src/Screen.d.ts +1 -1
- package/lib/typescript/src/Screen.d.ts.map +1 -1
- package/lib/typescript/src/StaticContainer.d.ts +1 -1
- package/lib/typescript/src/StaticContainer.d.ts.map +1 -1
- package/lib/typescript/src/StaticNavigation.d.ts +189 -109
- package/lib/typescript/src/StaticNavigation.d.ts.map +1 -1
- package/lib/typescript/src/StaticTreeContext.d.ts +4 -0
- package/lib/typescript/src/StaticTreeContext.d.ts.map +1 -0
- package/lib/typescript/src/checkSerializable.d.ts +8 -4
- package/lib/typescript/src/checkSerializable.d.ts.map +1 -1
- package/lib/typescript/src/createNavigationContainerRef.d.ts +1 -1
- package/lib/typescript/src/createNavigationContainerRef.d.ts.map +1 -1
- package/lib/typescript/src/createNavigatorFactory.d.ts +23 -5
- package/lib/typescript/src/createNavigatorFactory.d.ts.map +1 -1
- package/lib/typescript/src/findFocusedRoute.d.ts +3 -8
- package/lib/typescript/src/findFocusedRoute.d.ts.map +1 -1
- package/lib/typescript/src/getActionFromState.d.ts +4 -4
- package/lib/typescript/src/getActionFromState.d.ts.map +1 -1
- package/lib/typescript/src/getPathFromState.d.ts +3 -3
- package/lib/typescript/src/getPathFromState.d.ts.map +1 -1
- package/lib/typescript/src/getPatternParts.d.ts +1 -0
- package/lib/typescript/src/getPatternParts.d.ts.map +1 -1
- package/lib/typescript/src/getStateFromPath.d.ts +4 -7
- package/lib/typescript/src/getStateFromPath.d.ts.map +1 -1
- package/lib/typescript/src/getStateFromRouteParams.d.ts +3 -0
- package/lib/typescript/src/getStateFromRouteParams.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +36 -33
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/theming/ThemeContext.d.ts +1 -1
- package/lib/typescript/src/theming/ThemeContext.d.ts.map +1 -1
- package/lib/typescript/src/theming/ThemeProvider.d.ts +2 -2
- package/lib/typescript/src/theming/ThemeProvider.d.ts.map +1 -1
- package/lib/typescript/src/theming/useTheme.d.ts +1 -1
- package/lib/typescript/src/theming/useTheme.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +260 -159
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/useChildListeners.d.ts +3 -3
- package/lib/typescript/src/useChildListeners.d.ts.map +1 -1
- package/lib/typescript/src/useComponent.d.ts +1 -1
- package/lib/typescript/src/useComponent.d.ts.map +1 -1
- package/lib/typescript/src/useDescriptors.d.ts +10 -9
- package/lib/typescript/src/useDescriptors.d.ts.map +1 -1
- package/lib/typescript/src/useEventEmitter.d.ts +2 -2
- package/lib/typescript/src/useEventEmitter.d.ts.map +1 -1
- package/lib/typescript/src/useFocusEvents.d.ts +2 -2
- package/lib/typescript/src/useFocusEvents.d.ts.map +1 -1
- package/lib/typescript/src/useFocusedListenersChildrenAdapter.d.ts +2 -2
- package/lib/typescript/src/useFocusedListenersChildrenAdapter.d.ts.map +1 -1
- package/lib/typescript/src/useIsFocused.d.ts +3 -0
- package/lib/typescript/src/useIsFocused.d.ts.map +1 -1
- package/lib/typescript/src/useKeyedChildListeners.d.ts +3 -3
- package/lib/typescript/src/useKeyedChildListeners.d.ts.map +1 -1
- package/lib/typescript/src/useLazyValue.d.ts.map +1 -1
- package/lib/typescript/src/useNavigation.d.ts +4 -2
- package/lib/typescript/src/useNavigation.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationBuilder.d.ts +23 -30
- package/lib/typescript/src/useNavigationBuilder.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationCache.d.ts +3 -3
- package/lib/typescript/src/useNavigationCache.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationContainerRef.d.ts +1 -1
- package/lib/typescript/src/useNavigationContainerRef.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationHelpers.d.ts +19 -27
- package/lib/typescript/src/useNavigationHelpers.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationState.d.ts +17 -3
- package/lib/typescript/src/useNavigationState.d.ts.map +1 -1
- package/lib/typescript/src/useOnAction.d.ts +9 -9
- package/lib/typescript/src/useOnAction.d.ts.map +1 -1
- package/lib/typescript/src/useOnGetState.d.ts +1 -1
- package/lib/typescript/src/useOnGetState.d.ts.map +1 -1
- package/lib/typescript/src/useOnPreventRemove.d.ts +5 -9
- package/lib/typescript/src/useOnPreventRemove.d.ts.map +1 -1
- package/lib/typescript/src/useOnRouteFocus.d.ts +6 -6
- package/lib/typescript/src/useOnRouteFocus.d.ts.map +1 -1
- package/lib/typescript/src/useOptionsGetters.d.ts +1 -1
- package/lib/typescript/src/useOptionsGetters.d.ts.map +1 -1
- package/lib/typescript/src/usePreventRemove.d.ts.map +1 -1
- package/lib/typescript/src/usePreventRemoveContext.d.ts +2 -1
- package/lib/typescript/src/usePreventRemoveContext.d.ts.map +1 -1
- package/lib/typescript/src/useRoute.d.ts +7 -3
- package/lib/typescript/src/useRoute.d.ts.map +1 -1
- package/lib/typescript/src/useRouteCache.d.ts +5 -5
- package/lib/typescript/src/useRouteCache.d.ts.map +1 -1
- package/lib/typescript/src/useScheduleUpdate.d.ts +5 -4
- package/lib/typescript/src/useScheduleUpdate.d.ts.map +1 -1
- package/lib/typescript/src/useStateForPath.d.ts +1 -1
- package/lib/typescript/src/useStateForPath.d.ts.map +1 -1
- package/lib/typescript/src/useSyncState.d.ts +1 -0
- package/lib/typescript/src/useSyncState.d.ts.map +1 -1
- package/lib/typescript/src/utilities.d.ts +74 -37
- package/lib/typescript/src/utilities.d.ts.map +1 -1
- package/lib/typescript/src/validatePathConfig.d.ts.map +1 -1
- package/package.json +23 -22
- package/src/BaseNavigationContainer.tsx +362 -334
- package/src/ConsumedParamsContext.tsx +5 -0
- package/src/DataLoading.tsx +203 -0
- package/src/NavigationBuilderContext.tsx +14 -9
- package/src/NavigationFocusedRouteStateContext.tsx +4 -4
- package/src/NavigationIndependentTree.tsx +23 -12
- package/src/NavigationProvider.tsx +26 -15
- package/src/NavigationStateContext.tsx +9 -6
- package/src/PreventRemoveContext.tsx +1 -0
- package/src/PreventRemoveProvider.tsx +51 -46
- package/src/SceneView.tsx +11 -39
- package/src/StaticNavigation.tsx +659 -307
- package/src/StaticTreeContext.tsx +7 -0
- package/src/checkSerializable.tsx +35 -19
- package/src/createNavigationContainerRef.tsx +12 -9
- package/src/createNavigatorFactory.tsx +92 -8
- package/src/findFocusedRoute.tsx +16 -16
- package/src/getActionFromState.tsx +87 -51
- package/src/getPathFromState.tsx +254 -128
- package/src/getPatternParts.tsx +25 -4
- package/src/getStateFromPath.tsx +821 -331
- package/src/getStateFromRouteParams.tsx +59 -0
- package/src/index.tsx +55 -5
- package/src/theming/useTheme.tsx +1 -1
- package/src/types.tsx +798 -373
- package/src/useDescriptors.tsx +31 -14
- package/src/useEventEmitter.tsx +52 -38
- package/src/useFocusEvents.tsx +15 -7
- package/src/useFocusedListenersChildrenAdapter.tsx +2 -2
- package/src/useIsFocused.tsx +14 -21
- package/src/useKeyedChildListeners.tsx +4 -2
- package/src/useLazyValue.tsx +2 -2
- package/src/useNavigation.tsx +7 -24
- package/src/useNavigationBuilder.tsx +314 -186
- package/src/useNavigationCache.tsx +32 -25
- package/src/useNavigationHelpers.tsx +27 -10
- package/src/useNavigationIndependentTree.tsx +1 -1
- package/src/useNavigationState.tsx +168 -69
- package/src/useOnAction.tsx +61 -13
- package/src/useOnGetState.tsx +5 -3
- package/src/useOnPreventRemove.tsx +75 -42
- package/src/useOnRouteFocus.tsx +10 -12
- package/src/useOptionsGetters.tsx +11 -5
- package/src/usePreventRemove.tsx +12 -3
- package/src/usePreventRemoveContext.tsx +1 -1
- package/src/useRegisterNavigator.tsx +2 -2
- package/src/useRoute.tsx +20 -6
- package/src/useRouteCache.tsx +22 -16
- package/src/useScheduleUpdate.tsx +9 -10
- package/src/useStateForPath.tsx +1 -1
- package/src/useSyncState.tsx +35 -9
- package/src/utilities.tsx +144 -31
- package/src/validatePathConfig.tsx +86 -57
- package/lib/module/CurrentRenderContext.js +0 -10
- package/lib/module/CurrentRenderContext.js.map +0 -1
- package/lib/module/useCurrentRender.js +0 -19
- package/lib/module/useCurrentRender.js.map +0 -1
- package/lib/typescript/src/CurrentRenderContext.d.ts +0 -9
- package/lib/typescript/src/CurrentRenderContext.d.ts.map +0 -1
- package/lib/typescript/src/useCurrentRender.d.ts +0 -14
- package/lib/typescript/src/useCurrentRender.d.ts.map +0 -1
- package/src/CurrentRenderContext.tsx +0 -9
- package/src/useCurrentRender.tsx +0 -31
|
@@ -5,6 +5,7 @@ import * as React from 'react';
|
|
|
5
5
|
import useLatestCallback from 'use-latest-callback';
|
|
6
6
|
import { checkDuplicateRouteNames } from "./checkDuplicateRouteNames.js";
|
|
7
7
|
import { checkSerializable } from "./checkSerializable.js";
|
|
8
|
+
import { ConsumedParamsContext } from "./ConsumedParamsContext.js";
|
|
8
9
|
import { NOT_INITIALIZED_ERROR } from "./createNavigationContainerRef.js";
|
|
9
10
|
import { EnsureSingleNavigator } from "./EnsureSingleNavigator.js";
|
|
10
11
|
import { findFocusedRoute } from "./findFocusedRoute.js";
|
|
@@ -17,13 +18,13 @@ import { UnhandledActionContext } from "./UnhandledActionContext.js";
|
|
|
17
18
|
import { useChildListeners } from "./useChildListeners.js";
|
|
18
19
|
import { useEventEmitter } from "./useEventEmitter.js";
|
|
19
20
|
import { useKeyedChildListeners } from "./useKeyedChildListeners.js";
|
|
21
|
+
import { useLazyValue } from "./useLazyValue.js";
|
|
20
22
|
import { useNavigationIndependentTree } from "./useNavigationIndependentTree.js";
|
|
21
23
|
import { useOptionsGetters } from "./useOptionsGetters.js";
|
|
22
24
|
import { useSyncState } from "./useSyncState.js";
|
|
23
25
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
24
26
|
const serializableWarnings = [];
|
|
25
27
|
const duplicateNameWarnings = [];
|
|
26
|
-
|
|
27
28
|
/**
|
|
28
29
|
* Remove `key` and `routeNames` from the state objects recursively to get partial state.
|
|
29
30
|
*
|
|
@@ -67,15 +68,16 @@ const getPartialState = state => {
|
|
|
67
68
|
* @param props.children Child elements to render the content.
|
|
68
69
|
* @param props.ref Ref object which refers to the navigation object containing helper methods.
|
|
69
70
|
*/
|
|
70
|
-
export
|
|
71
|
+
export function BaseNavigationContainer({
|
|
71
72
|
initialState,
|
|
72
73
|
onStateChange,
|
|
73
74
|
onReady,
|
|
74
75
|
onUnhandledAction,
|
|
75
76
|
theme,
|
|
76
|
-
children
|
|
77
|
-
|
|
78
|
-
|
|
77
|
+
children,
|
|
78
|
+
ref
|
|
79
|
+
}) {
|
|
80
|
+
const parent = React.use(NavigationStateContext);
|
|
79
81
|
const independent = useNavigationIndependentTree();
|
|
80
82
|
if (!parent.isDefault && !independent) {
|
|
81
83
|
throw new Error("Looks like you have nested a 'NavigationContainer' inside another. Normally you need only one container at the root of the app, so this was probably an error. If this was intentional, wrap the container in 'NavigationIndependentTree' explicitly. Note that this will make the child navigators disconnected from the parent and you won't be able to navigate between them.");
|
|
@@ -84,9 +86,11 @@ export const BaseNavigationContainer = /*#__PURE__*/React.forwardRef(function Ba
|
|
|
84
86
|
state,
|
|
85
87
|
getState,
|
|
86
88
|
setState,
|
|
89
|
+
subscribe,
|
|
87
90
|
scheduleUpdate,
|
|
88
91
|
flushUpdates
|
|
89
92
|
} = useSyncState(() => getPartialState(initialState == null ? undefined : initialState));
|
|
93
|
+
const consumedParams = useLazyValue(() => new WeakMap());
|
|
90
94
|
const isFirstMountRef = React.useRef(true);
|
|
91
95
|
const navigatorKeyRef = React.useRef(undefined);
|
|
92
96
|
const getKey = React.useCallback(() => navigatorKeyRef.current, []);
|
|
@@ -102,10 +106,13 @@ export const BaseNavigationContainer = /*#__PURE__*/React.forwardRef(function Ba
|
|
|
102
106
|
addKeyedListener
|
|
103
107
|
} = useKeyedChildListeners();
|
|
104
108
|
const dispatch = useLatestCallback(action => {
|
|
105
|
-
|
|
109
|
+
const listener = listeners.focus[0];
|
|
110
|
+
if (listener == null) {
|
|
106
111
|
console.error(NOT_INITIALIZED_ERROR);
|
|
107
112
|
} else {
|
|
108
|
-
|
|
113
|
+
listener(navigation => React.startTransition(() => {
|
|
114
|
+
navigation.dispatch(action);
|
|
115
|
+
}));
|
|
109
116
|
}
|
|
110
117
|
});
|
|
111
118
|
const canGoBack = useLatestCallback(() => {
|
|
@@ -123,11 +130,12 @@ export const BaseNavigationContainer = /*#__PURE__*/React.forwardRef(function Ba
|
|
|
123
130
|
}
|
|
124
131
|
});
|
|
125
132
|
const resetRoot = useLatestCallback(state => {
|
|
126
|
-
const target =
|
|
127
|
-
|
|
133
|
+
const target = keyedListeners.getState.root?.().key;
|
|
134
|
+
const listener = listeners.focus[0];
|
|
135
|
+
if (target == null || listener == null) {
|
|
128
136
|
console.error(NOT_INITIALIZED_ERROR);
|
|
129
137
|
} else {
|
|
130
|
-
|
|
138
|
+
listener(navigation => navigation.dispatch({
|
|
131
139
|
...CommonActions.reset(state),
|
|
132
140
|
target
|
|
133
141
|
}));
|
|
@@ -203,27 +211,31 @@ export const BaseNavigationContainer = /*#__PURE__*/React.forwardRef(function Ba
|
|
|
203
211
|
});
|
|
204
212
|
});
|
|
205
213
|
const stackRef = React.useRef(undefined);
|
|
214
|
+
const lastEmittedStateRef = React.useRef(undefined);
|
|
215
|
+
const getIsStateEmitted = useLatestCallback(() => !isFirstMountRef.current && lastEmittedStateRef.current === getState());
|
|
206
216
|
const builderContext = React.useMemo(() => ({
|
|
207
217
|
addListener,
|
|
208
218
|
addKeyedListener,
|
|
209
219
|
onDispatchAction,
|
|
210
220
|
onEmitEvent,
|
|
211
221
|
onOptionsChange,
|
|
222
|
+
getIsStateEmitted,
|
|
212
223
|
scheduleUpdate,
|
|
213
224
|
flushUpdates,
|
|
214
225
|
stackRef
|
|
215
|
-
}), [addListener, addKeyedListener, onDispatchAction, onEmitEvent, onOptionsChange, scheduleUpdate, flushUpdates]);
|
|
226
|
+
}), [addListener, addKeyedListener, onDispatchAction, onEmitEvent, onOptionsChange, getIsStateEmitted, scheduleUpdate, flushUpdates]);
|
|
216
227
|
const isInitialRef = React.useRef(true);
|
|
217
228
|
const getIsInitial = React.useCallback(() => isInitialRef.current, []);
|
|
218
229
|
const context = React.useMemo(() => ({
|
|
219
230
|
state,
|
|
220
231
|
getState,
|
|
221
232
|
setState,
|
|
233
|
+
subscribe,
|
|
222
234
|
getKey,
|
|
223
235
|
setKey,
|
|
224
236
|
getIsInitial,
|
|
225
237
|
addOptionsGetter
|
|
226
|
-
}), [state, getState, setState, getKey, setKey, getIsInitial, addOptionsGetter]);
|
|
238
|
+
}), [state, getState, setState, subscribe, getKey, setKey, getIsInitial, addOptionsGetter]);
|
|
227
239
|
const onReadyRef = React.useRef(onReady);
|
|
228
240
|
const onStateChangeRef = React.useRef(onStateChange);
|
|
229
241
|
React.useEffect(() => {
|
|
@@ -257,6 +269,9 @@ export const BaseNavigationContainer = /*#__PURE__*/React.forwardRef(function Ba
|
|
|
257
269
|
for (let i = 0; i < location.length; i++) {
|
|
258
270
|
const curr = location[i];
|
|
259
271
|
const prev = location[i - 1];
|
|
272
|
+
if (curr == null) {
|
|
273
|
+
continue;
|
|
274
|
+
}
|
|
260
275
|
pointer = pointer[curr];
|
|
261
276
|
if (!params && curr === 'state') {
|
|
262
277
|
continue;
|
|
@@ -295,6 +310,7 @@ export const BaseNavigationContainer = /*#__PURE__*/React.forwardRef(function Ba
|
|
|
295
310
|
}
|
|
296
311
|
}
|
|
297
312
|
}
|
|
313
|
+
lastEmittedStateRef.current = state;
|
|
298
314
|
emitter.emit({
|
|
299
315
|
type: 'state',
|
|
300
316
|
data: {
|
|
@@ -347,12 +363,15 @@ export const BaseNavigationContainer = /*#__PURE__*/React.forwardRef(function Ba
|
|
|
347
363
|
value: builderContext,
|
|
348
364
|
children: /*#__PURE__*/_jsx(NavigationStateContext.Provider, {
|
|
349
365
|
value: context,
|
|
350
|
-
children: /*#__PURE__*/_jsx(
|
|
351
|
-
value:
|
|
352
|
-
children: /*#__PURE__*/_jsx(
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
children:
|
|
366
|
+
children: /*#__PURE__*/_jsx(ConsumedParamsContext.Provider, {
|
|
367
|
+
value: consumedParams,
|
|
368
|
+
children: /*#__PURE__*/_jsx(UnhandledActionContext.Provider, {
|
|
369
|
+
value: onUnhandledAction ?? defaultOnUnhandledAction,
|
|
370
|
+
children: /*#__PURE__*/_jsx(EnsureSingleNavigator, {
|
|
371
|
+
children: /*#__PURE__*/_jsx(ThemeProvider, {
|
|
372
|
+
value: theme,
|
|
373
|
+
children: children
|
|
374
|
+
})
|
|
356
375
|
})
|
|
357
376
|
})
|
|
358
377
|
})
|
|
@@ -360,5 +379,5 @@ export const BaseNavigationContainer = /*#__PURE__*/React.forwardRef(function Ba
|
|
|
360
379
|
})
|
|
361
380
|
})
|
|
362
381
|
});
|
|
363
|
-
}
|
|
382
|
+
}
|
|
364
383
|
//# sourceMappingURL=BaseNavigationContainer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CommonActions","React","useLatestCallback","checkDuplicateRouteNames","checkSerializable","NOT_INITIALIZED_ERROR","EnsureSingleNavigator","findFocusedRoute","NavigationBuilderContext","NavigationContainerRefContext","NavigationIndependentTreeContext","NavigationStateContext","ThemeProvider","UnhandledActionContext","useChildListeners","useEventEmitter","useKeyedChildListeners","useNavigationIndependentTree","useOptionsGetters","useSyncState","jsx","_jsx","serializableWarnings","duplicateNameWarnings","getPartialState","state","undefined","key","routeNames","partialState","stale","routes","map","route","BaseNavigationContainer","forwardRef","initialState","onStateChange","onReady","onUnhandledAction","theme","children","ref","parent","useContext","independent","isDefault","Error","getState","setState","scheduleUpdate","flushUpdates","isFirstMountRef","useRef","navigatorKeyRef","getKey","useCallback","current","setKey","listeners","addListener","keyedListeners","addKeyedListener","dispatch","action","focus","console","error","navigation","canGoBack","result","handled","resetRoot","target","root","reset","getRootState","getCurrentRoute","isReady","emitter","addOptionsGetter","getCurrentOptions","useMemo","Object","keys","reduce","acc","name","args","create","isFocused","getParent","setOptions","useImperativeHandle","onDispatchAction","noop","emit","type","data","stack","stackRef","onEmitEvent","event","lastEmittedOptionsRef","onOptionsChange","options","builderContext","isInitialRef","getIsInitial","context","onReadyRef","onStateChangeRef","useEffect","onReadyCalledRef","hydratedState","process","env","NODE_ENV","serializableResult","serializable","location","reason","path","pointer","params","i","length","curr","prev","test","JSON","stringify","message","includes","push","warn","duplicateRouteNamesResult","locations","join","defaultOnUnhandledAction","payload","Provider","value"],"sourceRoot":"../../src","sources":["BaseNavigationContainer.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["CommonActions","React","useLatestCallback","checkDuplicateRouteNames","checkSerializable","ConsumedParamsContext","NOT_INITIALIZED_ERROR","EnsureSingleNavigator","findFocusedRoute","NavigationBuilderContext","NavigationContainerRefContext","NavigationIndependentTreeContext","NavigationStateContext","ThemeProvider","UnhandledActionContext","useChildListeners","useEventEmitter","useKeyedChildListeners","useLazyValue","useNavigationIndependentTree","useOptionsGetters","useSyncState","jsx","_jsx","serializableWarnings","duplicateNameWarnings","getPartialState","state","undefined","key","routeNames","partialState","stale","routes","map","route","BaseNavigationContainer","initialState","onStateChange","onReady","onUnhandledAction","theme","children","ref","parent","use","independent","isDefault","Error","getState","setState","subscribe","scheduleUpdate","flushUpdates","consumedParams","WeakMap","isFirstMountRef","useRef","navigatorKeyRef","getKey","useCallback","current","setKey","listeners","addListener","keyedListeners","addKeyedListener","dispatch","action","listener","focus","console","error","navigation","startTransition","canGoBack","result","handled","resetRoot","target","root","reset","getRootState","getCurrentRoute","isReady","emitter","addOptionsGetter","getCurrentOptions","useMemo","Object","keys","reduce","acc","name","args","create","isFocused","getParent","setOptions","useImperativeHandle","onDispatchAction","noop","emit","type","data","stack","stackRef","onEmitEvent","event","lastEmittedOptionsRef","onOptionsChange","options","lastEmittedStateRef","getIsStateEmitted","builderContext","isInitialRef","getIsInitial","context","onReadyRef","onStateChangeRef","useEffect","onReadyCalledRef","hydratedState","process","env","NODE_ENV","serializableResult","serializable","location","reason","path","pointer","params","i","length","curr","prev","test","JSON","stringify","message","includes","push","warn","duplicateRouteNamesResult","locations","join","defaultOnUnhandledAction","payload","Provider","value"],"sourceRoot":"../../src","sources":["BaseNavigationContainer.tsx"],"mappings":";;AAAA,SACEA,aAAa,QAMR,2BAA2B;AAClC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,OAAOC,iBAAiB,MAAM,qBAAqB;AAEnD,SAASC,wBAAwB,QAAQ,+BAA4B;AACrE,SAASC,iBAAiB,QAAQ,wBAAqB;AACvD,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SAASC,qBAAqB,QAAQ,mCAAgC;AACtE,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,wBAAwB,QAAQ,+BAA4B;AACrE,SAASC,6BAA6B,QAAQ,oCAAiC;AAC/E,SAASC,gCAAgC,QAAQ,uCAAoC;AACrF,SAASC,sBAAsB,QAAQ,6BAA0B;AACjE,SAASC,aAAa,QAAQ,4BAAyB;AAOvD,SAASC,sBAAsB,QAAQ,6BAA0B;AACjE,SAASC,iBAAiB,QAAQ,wBAAqB;AACvD,SAASC,eAAe,QAAQ,sBAAmB;AACnD,SAASC,sBAAsB,QAAQ,6BAA0B;AACjE,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,4BAA4B,QAAQ,mCAAgC;AAC7E,SAASC,iBAAiB,QAAQ,wBAAqB;AACvD,SAASC,YAAY,QAAQ,mBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAI9C,MAAMC,oBAA8B,GAAG,EAAE;AACzC,MAAMC,qBAA+B,GAAG,EAAE;AAM1C;AACA;AACA;AACA;AACA;AACA,MAAMC,eAAe,GACnBC,KAA+B,IACe;EAC9C,IAAIA,KAAK,KAAKC,SAAS,EAAE;IACvB;EACF;;EAEA;EACA,MAAM;IAAEC,GAAG;IAAEC,UAAU;IAAE,GAAGC;EAAa,CAAC,GAAGJ,KAAK;EAElD,OAAO;IACL,GAAGI,YAAY;IACfC,KAAK,EAAE,IAAI;IACXC,MAAM,EAAEN,KAAK,CAACM,MAAM,CAACC,GAAG,CAAEC,KAAK,IAAK;MAClC,IAAIA,KAAK,CAACR,KAAK,KAAKC,SAAS,EAAE;QAC7B,OAAOO,KAAK;MAGd;MAEA,OAAO;QAAE,GAAGA,KAAK;QAAER,KAAK,EAAED,eAAe,CAACS,KAAK,CAACR,KAAK;MAAE,CAAC;IAC1D,CAAC;EACH,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASS,uBAAuBA,CAAuC;EAC5EC,YAAY;EACZC,aAAa;EACbC,OAAO;EACPC,iBAAiB;EACjBC,KAAK;EACLC,QAAQ;EACRC;AACgB,CAAC,EAAE;EACnB,MAAMC,MAAM,GAAG3C,KAAK,CAAC4C,GAAG,CAACjC,sBAAsB,CAAC;EAChD,MAAMkC,WAAW,GAAG3B,4BAA4B,CAAC,CAAC;EAElD,IAAI,CAACyB,MAAM,CAACG,SAAS,IAAI,CAACD,WAAW,EAAE;IACrC,MAAM,IAAIE,KAAK,CACb,kXACF,CAAC;EACH;EAEA,MAAM;IAAErB,KAAK;IAAEsB,QAAQ;IAAEC,QAAQ;IAAEC,SAAS;IAAEC,cAAc;IAAEC;EAAa,CAAC,GAC1EhC,YAAY,CAAQ,MAClBK,eAAe,CAACW,YAAY,IAAI,IAAI,GAAGT,SAAS,GAAGS,YAAY,CACjE,CAAC;EAEH,MAAMiB,cAAc,GAAGpC,YAAY,CAAC,MAAM,IAAIqC,OAAO,CAAe,CAAC,CAAC;EAEtE,MAAMC,eAAe,GAAGvD,KAAK,CAACwD,MAAM,CAAU,IAAI,CAAC;EAEnD,MAAMC,eAAe,GAAGzD,KAAK,CAACwD,MAAM,CAAqB7B,SAAS,CAAC;EAEnE,MAAM+B,MAAM,GAAG1D,KAAK,CAAC2D,WAAW,CAAC,MAAMF,eAAe,CAACG,OAAO,EAAE,EAAE,CAAC;EAEnE,MAAMC,MAAM,GAAG7D,KAAK,CAAC2D,WAAW,CAAE/B,GAAW,IAAK;IAChD6B,eAAe,CAACG,OAAO,GAAGhC,GAAG;EAC/B,CAAC,EAAE,EAAE,CAAC;EAEN,MAAM;IAAEkC,SAAS;IAAEC;EAAY,CAAC,GAAGjD,iBAAiB,CAAC,CAAC;EAEtD,MAAM;IAAEkD,cAAc;IAAEC;EAAiB,CAAC,GAAGjD,sBAAsB,CAAC,CAAC;EAErE,MAAMkD,QAAQ,GAAGjE,iBAAiB,CAE9BkE,MAAyE,IACtE;IACH,MAAMC,QAAQ,GAAGN,SAAS,CAACO,KAAK,CAAC,CAAC,CAAC;IAEnC,IAAID,QAAQ,IAAI,IAAI,EAAE;MACpBE,OAAO,CAACC,KAAK,CAAClE,qBAAqB,CAAC;IACtC,CAAC,MAAM;MACL+D,QAAQ,CAAEI,UAAU,IAClBxE,KAAK,CAACyE,eAAe,CAAC,MAAM;QAC1BD,UAAU,CAACN,QAAQ,CAACC,MAAM,CAAC;MAC7B,CAAC,CACH,CAAC;IACH;EACF,CACF,CAAC;EAED,MAAMO,SAAS,GAAGzE,iBAAiB,CAAC,MAAM;IACxC,IAAI6D,SAAS,CAACO,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;MAC9B,OAAO,KAAK;IACd;IAEA,MAAM;MAAEM,MAAM;MAAEC;IAAQ,CAAC,GAAGd,SAAS,CAACO,KAAK,CAAC,CAAC,CAAC,CAAEG,UAAU,IACxDA,UAAU,CAACE,SAAS,CAAC,CACvB,CAAC;IAED,IAAIE,OAAO,EAAE;MACX,OAAOD,MAAM;IACf,CAAC,MAAM;MACL,OAAO,KAAK;IACd;EACF,CAAC,CAAC;EAEF,MAAME,SAAS,GAAG5E,iBAAiB,CAChCyB,KAAsD,IAAK;IAC1D,MAAMoD,MAAM,GAAGd,cAAc,CAAChB,QAAQ,CAAC+B,IAAI,GAAG,CAAC,CAACnD,GAAG;IACnD,MAAMwC,QAAQ,GAAGN,SAAS,CAACO,KAAK,CAAC,CAAC,CAAC;IAEnC,IAAIS,MAAM,IAAI,IAAI,IAAIV,QAAQ,IAAI,IAAI,EAAE;MACtCE,OAAO,CAACC,KAAK,CAAClE,qBAAqB,CAAC;IACtC,CAAC,MAAM;MACL+D,QAAQ,CAAEI,UAAU,IAClBA,UAAU,CAACN,QAAQ,CAAC;QAClB,GAAGnE,aAAa,CAACiF,KAAK,CAACtD,KAAK,CAAC;QAC7BoD;MACF,CAAC,CACH,CAAC;IACH;EACF,CACF,CAAC;EAED,MAAMG,YAAY,GAAGhF,iBAAiB,CAAC,MAAM;IAC3C,OAAO+D,cAAc,CAAChB,QAAQ,CAAC+B,IAAI,GAAG,CAAC;EACzC,CAAC,CAAC;EAEF,MAAMG,eAAe,GAAGjF,iBAAiB,CAAC,MAAM;IAC9C,MAAMyB,KAAK,GAAGuD,YAAY,CAAC,CAAC;IAE5B,IAAIvD,KAAK,IAAI,IAAI,EAAE;MACjB,OAAOC,SAAS;IAClB;IAEA,MAAMO,KAAK,GAAG3B,gBAAgB,CAACmB,KAAK,CAAC;IAErC,OAAOQ,KAAK;EACd,CAAC,CAAC;EAEF,MAAMiD,OAAO,GAAGlF,iBAAiB,CAAC,MAAM6D,SAAS,CAACO,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;EAEnE,MAAMe,OAAO,GAAGrE,eAAe,CAA8B,CAAC;EAE9D,MAAM;IAAEsE,gBAAgB;IAAEC;EAAkB,CAAC,GAAGnE,iBAAiB,CAAC,CAAC,CAAC,CAAC;EAErE,MAAMqD,UAA6C,GAAGxE,KAAK,CAACuF,OAAO,CACjE,OAAO;IACL,GAAGC,MAAM,CAACC,IAAI,CAAC1F,aAAa,CAAC,CAAC2F,MAAM,CAAM,CAACC,GAAG,EAAEC,IAAI,KAAK;MACvDD,GAAG,CAACC,IAAI,CAAC,GAAG,CAAC,GAAGC,IAAW;MACzB;MACA3B,QAAQ,CAACnE,aAAa,CAAC6F,IAAI,CAAC,CAAC,GAAGC,IAAI,CAAC,CAAC;MAExC,OAAOF,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC,CAAC;IACN,GAAGP,OAAO,CAACU,MAAM,CAAC,MAAM,CAAC;IACzB5B,QAAQ;IACRW,SAAS;IACTkB,SAAS,EAAEA,CAAA,KAAM,IAAI;IACrBrB,SAAS;IACTsB,SAAS,EAAEA,CAAA,KAAMrE,SAAS;IAC1BqB,QAAQ;IACRiC,YAAY;IACZC,eAAe;IACfI,iBAAiB;IACjBH,OAAO;IACPc,UAAU,EAAEA,CAAA,KAAM;MAChB,MAAM,IAAIlD,KAAK,CAAC,yCAAyC,CAAC;IAC5D;EACF,CAAC,CAAC,EACF,CACE2B,SAAS,EACTR,QAAQ,EACRkB,OAAO,EACPE,iBAAiB,EACjBJ,eAAe,EACfD,YAAY,EACZjC,QAAQ,EACRmC,OAAO,EACPN,SAAS,CAEb,CAAC;EAED7E,KAAK,CAACkG,mBAAmB,CAACxD,GAAG,EAAE,MAAM8B,UAAU,EAAE,CAACA,UAAU,CAAC,CAAC;EAE9D,MAAM2B,gBAAgB,GAAGlG,iBAAiB,CACxC,CAACkE,MAAwB,EAAEiC,IAAa,KAAK;IAC3ChB,OAAO,CAACiB,IAAI,CAAC;MACXC,IAAI,EAAE,mBAAmB;MACzBC,IAAI,EAAE;QAAEpC,MAAM;QAAEiC,IAAI;QAAEI,KAAK,EAAEC,QAAQ,CAAC7C;MAAQ;IAChD,CAAC,CAAC;EACJ,CACF,CAAC;EAED,MAAM8C,WAAW,GAAGzG,iBAAiB,CAClC0G,KAKA,IAAK;IACJvB,OAAO,CAACiB,IAAI,CAAC;MACXC,IAAI,EAAE,kBAAkB;MACxBC,IAAI,EAAEI;IACR,CAAC,CAAC;EACJ,CACF,CAAC;EAED,MAAMC,qBAAqB,GAAG5G,KAAK,CAACwD,MAAM,CAAqB7B,SAAS,CAAC;EAEzE,MAAMkF,eAAe,GAAG5G,iBAAiB,CAAE6G,OAAe,IAAK;IAC7D,IAAIF,qBAAqB,CAAChD,OAAO,KAAKkD,OAAO,EAAE;MAC7C;IACF;IAEAF,qBAAqB,CAAChD,OAAO,GAAGkD,OAAO;IAEvC1B,OAAO,CAACiB,IAAI,CAAC;MACXC,IAAI,EAAE,SAAS;MACfC,IAAI,EAAE;QAAEO;MAAQ;IAClB,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,MAAML,QAAQ,GAAGzG,KAAK,CAACwD,MAAM,CAAqB7B,SAAS,CAAC;EAE5D,MAAMoF,mBAAmB,GAAG/G,KAAK,CAACwD,MAAM,CAAQ7B,SAAS,CAAC;EAE1D,MAAMqF,iBAAiB,GAAG/G,iBAAiB,CACzC,MAAM,CAACsD,eAAe,CAACK,OAAO,IAAImD,mBAAmB,CAACnD,OAAO,KAAKZ,QAAQ,CAAC,CAC7E,CAAC;EAED,MAAMiE,cAAc,GAAGjH,KAAK,CAACuF,OAAO,CAClC,OAAO;IACLxB,WAAW;IACXE,gBAAgB;IAChBkC,gBAAgB;IAChBO,WAAW;IACXG,eAAe;IACfG,iBAAiB;IACjB7D,cAAc;IACdC,YAAY;IACZqD;EACF,CAAC,CAAC,EACF,CACE1C,WAAW,EACXE,gBAAgB,EAChBkC,gBAAgB,EAChBO,WAAW,EACXG,eAAe,EACfG,iBAAiB,EACjB7D,cAAc,EACdC,YAAY,CAEhB,CAAC;EAED,MAAM8D,YAAY,GAAGlH,KAAK,CAACwD,MAAM,CAAC,IAAI,CAAC;EAEvC,MAAM2D,YAAY,GAAGnH,KAAK,CAAC2D,WAAW,CAAC,MAAMuD,YAAY,CAACtD,OAAO,EAAE,EAAE,CAAC;EAEtE,MAAMwD,OAAO,GAAGpH,KAAK,CAACuF,OAAO,CAC3B,OAAO;IACL7D,KAAK;IACLsB,QAAQ;IACRC,QAAQ;IACRC,SAAS;IACTQ,MAAM;IACNG,MAAM;IACNsD,YAAY;IACZ9B;EACF,CAAC,CAAC,EACF,CACE3D,KAAK,EACLsB,QAAQ,EACRC,QAAQ,EACRC,SAAS,EACTQ,MAAM,EACNG,MAAM,EACNsD,YAAY,EACZ9B,gBAAgB,CAEpB,CAAC;EAED,MAAMgC,UAAU,GAAGrH,KAAK,CAACwD,MAAM,CAAClB,OAAO,CAAC;EACxC,MAAMgF,gBAAgB,GAAGtH,KAAK,CAACwD,MAAM,CAACnB,aAAa,CAAC;EAEpDrC,KAAK,CAACuH,SAAS,CAAC,MAAM;IACpBL,YAAY,CAACtD,OAAO,GAAG,KAAK;IAC5B0D,gBAAgB,CAAC1D,OAAO,GAAGvB,aAAa;IACxCgF,UAAU,CAACzD,OAAO,GAAGtB,OAAO;EAC9B,CAAC,CAAC;EAEF,MAAMkF,gBAAgB,GAAGxH,KAAK,CAACwD,MAAM,CAAC,KAAK,CAAC;EAE5CxD,KAAK,CAACuH,SAAS,CAAC,MAAM;IACpB,IAAI,CAACC,gBAAgB,CAAC5D,OAAO,IAAIuB,OAAO,CAAC,CAAC,EAAE;MAC1CqC,gBAAgB,CAAC5D,OAAO,GAAG,IAAI;MAC/ByD,UAAU,CAACzD,OAAO,GAAG,CAAC;MACtBwB,OAAO,CAACiB,IAAI,CAAC;QAAEC,IAAI,EAAE;MAAQ,CAAC,CAAC;IACjC;EACF,CAAC,EAAE,CAAC5E,KAAK,EAAEyD,OAAO,EAAEC,OAAO,CAAC,CAAC;EAE7BpF,KAAK,CAACuH,SAAS,CAAC,MAAM;IACpB,MAAME,aAAa,GAAGxC,YAAY,CAAC,CAAC;IAEpC,IAAIyC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;MACzC,IAAIH,aAAa,KAAK9F,SAAS,EAAE;QAC/B,MAAMkG,kBAAkB,GAAG1H,iBAAiB,CAACsH,aAAa,CAAC;QAE3D,IAAI,CAACI,kBAAkB,CAACC,YAAY,EAAE;UACpC,MAAM;YAAEC,QAAQ;YAAEC;UAAO,CAAC,GAAGH,kBAAkB;UAE/C,IAAII,IAAI,GAAG,EAAE;UACb,IAAIC,OAAyB,GAAGT,aAAa;UAC7C,IAAIU,MAAM,GAAG,KAAK;UAElB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGL,QAAQ,CAACM,MAAM,EAAED,CAAC,EAAE,EAAE;YACxC,MAAME,IAAI,GAAGP,QAAQ,CAACK,CAAC,CAAC;YACxB,MAAMG,IAAI,GAAGR,QAAQ,CAACK,CAAC,GAAG,CAAC,CAAC;YAE5B,IAAIE,IAAI,IAAI,IAAI,EAAE;cAChB;YACF;YAEAJ,OAAO,GAAGA,OAAO,CAACI,IAAI,CAAC;YAEvB,IAAI,CAACH,MAAM,IAAIG,IAAI,KAAK,OAAO,EAAE;cAC/B;YACF,CAAC,MAAM,IAAI,CAACH,MAAM,IAAIG,IAAI,KAAK,QAAQ,EAAE;cACvC,IAAIL,IAAI,EAAE;gBACRA,IAAI,IAAI,KAAK;cACf;YACF,CAAC,MAAM,IACL,CAACE,MAAM,IACP,OAAOG,IAAI,KAAK,QAAQ,IACxBC,IAAI,KAAK,QAAQ,EACjB;cACAN,IAAI,IAAIC,OAAO,EAAEtC,IAAI;YACvB,CAAC,MAAM,IAAI,CAACuC,MAAM,EAAE;cAClBF,IAAI,IAAI,MAAMK,IAAI,EAAE;cACpBH,MAAM,GAAG,IAAI;YACf,CAAC,MAAM;cACL,IAAI,OAAOG,IAAI,KAAK,QAAQ,IAAI,UAAU,CAACE,IAAI,CAACF,IAAI,CAAC,EAAE;gBACrDL,IAAI,IAAI,IAAIK,IAAI,GAAG;cACrB,CAAC,MAAM,IAAI,aAAa,CAACE,IAAI,CAACF,IAAI,CAAC,EAAE;gBACnCL,IAAI,IAAI,IAAIK,IAAI,EAAE;cACpB,CAAC,MAAM;gBACLL,IAAI,IAAI,IAAIQ,IAAI,CAACC,SAAS,CAACJ,IAAI,CAAC,GAAG;cACrC;YACF;UACF;UAEA,MAAMK,OAAO,GAAG,yEAAyEV,IAAI,KAAKD,MAAM,4aAA4a;UAEphB,IAAI,CAACzG,oBAAoB,CAACqH,QAAQ,CAACD,OAAO,CAAC,EAAE;YAC3CpH,oBAAoB,CAACsH,IAAI,CAACF,OAAO,CAAC;YAClCrE,OAAO,CAACwE,IAAI,CAACH,OAAO,CAAC;UACvB;QACF;QAEA,MAAMI,yBAAyB,GAC7B7I,wBAAwB,CAACuH,aAAa,CAAC;QAEzC,IAAIsB,yBAAyB,CAACV,MAAM,EAAE;UACpC,MAAMM,OAAO,GAAG,uEAAuEI,yBAAyB,CAAC9G,GAAG,CACjH+G,SAAS,IAAK,KAAKA,SAAS,CAACC,IAAI,CAAC,IAAI,CAAC,EAC1C,CAAC,+GAA+G;UAEhH,IAAI,CAACzH,qBAAqB,CAACoH,QAAQ,CAACD,OAAO,CAAC,EAAE;YAC5CnH,qBAAqB,CAACqH,IAAI,CAACF,OAAO,CAAC;YACnCrE,OAAO,CAACwE,IAAI,CAACH,OAAO,CAAC;UACvB;QACF;MACF;IACF;IAEA5B,mBAAmB,CAACnD,OAAO,GAAGlC,KAAK;IAEnC0D,OAAO,CAACiB,IAAI,CAAC;MAAEC,IAAI,EAAE,OAAO;MAAEC,IAAI,EAAE;QAAE7E;MAAM;IAAE,CAAC,CAAC;IAEhD,IAAI,CAAC6B,eAAe,CAACK,OAAO,IAAI0D,gBAAgB,CAAC1D,OAAO,EAAE;MACxD0D,gBAAgB,CAAC1D,OAAO,CAAC6D,aAAa,CAAC;IACzC;IAEAlE,eAAe,CAACK,OAAO,GAAG,KAAK;EACjC,CAAC,EAAE,CAACqB,YAAY,EAAEG,OAAO,EAAE1D,KAAK,CAAC,CAAC;EAElC,MAAMwH,wBAAwB,GAAGjJ,iBAAiB,CAC/CkE,MAAwB,IAAK;IAC5B,IAAIuD,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;MACzC;IACF;IAEA,MAAMuB,OAAwC,GAAGhF,MAAM,CAACgF,OAAO;IAE/D,IAAIR,OAAO,GAAG,eAAexE,MAAM,CAACmC,IAAI,IACtC6C,OAAO,GAAG,iBAAiBV,IAAI,CAACC,SAAS,CAACvE,MAAM,CAACgF,OAAO,CAAC,EAAE,GAAG,EAAE,oCAC9B;IAEpC,QAAQhF,MAAM,CAACmC,IAAI;MACjB,KAAK,SAAS;MACd,KAAK,UAAU;MACf,KAAK,MAAM;MACX,KAAK,SAAS;MACd,KAAK,QAAQ;MACb,KAAK,SAAS;QACZ,IAAI6C,OAAO,EAAEvD,IAAI,EAAE;UACjB+C,OAAO,IAAI,mCAAmCQ,OAAO,CAACvD,IAAI,sSAAsS;QAClW,CAAC,MAAM;UACL+C,OAAO,IAAI,mIAAmI;QAChJ;QAEA;MACF,KAAK,SAAS;MACd,KAAK,KAAK;MACV,KAAK,YAAY;QACfA,OAAO,IAAI,wCAAwC;QACnD;MACF,KAAK,aAAa;MAClB,KAAK,cAAc;MACnB,KAAK,eAAe;QAClBA,OAAO,IAAI,+CAA+C;QAC1D;IACJ;IAEAA,OAAO,IAAI,0EAA0E;IAErFrE,OAAO,CAACC,KAAK,CAACoE,OAAO,CAAC;EACxB,CACF,CAAC;EAED,oBACErH,IAAA,CAACZ,gCAAgC,CAAC0I,QAAQ;IAACC,KAAK,EAAE,KAAM;IAAA5G,QAAA,eACtDnB,IAAA,CAACb,6BAA6B,CAAC2I,QAAQ;MAACC,KAAK,EAAE7E,UAAW;MAAA/B,QAAA,eACxDnB,IAAA,CAACd,wBAAwB,CAAC4I,QAAQ;QAACC,KAAK,EAAEpC,cAAe;QAAAxE,QAAA,eACvDnB,IAAA,CAACX,sBAAsB,CAACyI,QAAQ;UAACC,KAAK,EAAEjC,OAAQ;UAAA3E,QAAA,eAC9CnB,IAAA,CAAClB,qBAAqB,CAACgJ,QAAQ;YAACC,KAAK,EAAEhG,cAAe;YAAAZ,QAAA,eACpDnB,IAAA,CAACT,sBAAsB,CAACuI,QAAQ;cAC9BC,KAAK,EAAE9G,iBAAiB,IAAI2G,wBAAyB;cAAAzG,QAAA,eAErDnB,IAAA,CAAChB,qBAAqB;gBAAAmC,QAAA,eACpBnB,IAAA,CAACV,aAAa;kBAACyI,KAAK,EAAE7G,KAAM;kBAAAC,QAAA,EAAEA;gBAAQ,CAAgB;cAAC,CAClC;YAAC,CACO;UAAC,CACJ;QAAC,CACF;MAAC,CACD;IAAC,CACE;EAAC,CACA,CAAC;AAEhD","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","ConsumedParamsContext","createContext","undefined"],"sourceRoot":"../../src","sources":["ConsumedParamsContext.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAO,MAAMC,qBAAqB,gBAAGD,KAAK,CAACE,aAAa,CAEtDC,SAAS,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { getStateFromRouteParams } from "./getStateFromRouteParams.js";
|
|
4
|
+
function findScreenInConfig(config, name) {
|
|
5
|
+
const screens = config.screens;
|
|
6
|
+
if (screens?.[name] != null) {
|
|
7
|
+
return screens[name];
|
|
8
|
+
}
|
|
9
|
+
if (config.groups) {
|
|
10
|
+
for (const group of Object.values(config.groups)) {
|
|
11
|
+
if (group.screens[name] != null) {
|
|
12
|
+
return group.screens[name];
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
function findInitialRouteName(config) {
|
|
19
|
+
if (config.initialRouteName != null) {
|
|
20
|
+
return config.initialRouteName;
|
|
21
|
+
}
|
|
22
|
+
for (const key in config) {
|
|
23
|
+
if (key === 'screens' && config.screens) {
|
|
24
|
+
const name = Object.keys(config.screens)[0];
|
|
25
|
+
if (name != null) {
|
|
26
|
+
return name;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
if (key === 'groups' && config.groups) {
|
|
30
|
+
for (const group of Object.values(config.groups)) {
|
|
31
|
+
const name = Object.keys(group.screens)[0];
|
|
32
|
+
if (name != null) {
|
|
33
|
+
return name;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Get loader for the focused route in a static config tree with given navigation state.
|
|
43
|
+
*
|
|
44
|
+
* @param tree The static navigation config.
|
|
45
|
+
* @param state The navigation state to extract the focused route path from.
|
|
46
|
+
* @returns A function that returns a `Promise<void>`, or `undefined` if no loaders are found.
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```js
|
|
50
|
+
* const loader = getLoaderForState(RootStack, {
|
|
51
|
+
* index: 0,
|
|
52
|
+
* routes: [{ name: 'Home' }],
|
|
53
|
+
* });
|
|
54
|
+
* await loader?.();
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
export function getLoaderForState(tree, state) {
|
|
58
|
+
return getLoaderForStateChange(tree, state, undefined, undefined);
|
|
59
|
+
}
|
|
60
|
+
export function getLoaderForStateChange(tree, state, previousState, consumedParams) {
|
|
61
|
+
const focusedRoute = state?.routes[state.index ?? state.routes.length - 1];
|
|
62
|
+
const previousFocusedRoute = previousState?.routes[previousState.index ?? previousState.routes.length - 1];
|
|
63
|
+
if (!focusedRoute) {
|
|
64
|
+
return undefined;
|
|
65
|
+
}
|
|
66
|
+
const isNewlyFocused = previousState === undefined || previousFocusedRoute == null || focusedRoute.name !== previousFocusedRoute.name || focusedRoute.key != null && previousFocusedRoute.key != null && focusedRoute.key !== previousFocusedRoute.key;
|
|
67
|
+
const item = findScreenInConfig(tree.config, focusedRoute.name);
|
|
68
|
+
if (item == null) {
|
|
69
|
+
return undefined;
|
|
70
|
+
}
|
|
71
|
+
const initialParams = typeof item === 'object' && 'initialParams' in item ? item.initialParams : undefined;
|
|
72
|
+
const params = initialParams != null || focusedRoute.params != null ? {
|
|
73
|
+
...initialParams,
|
|
74
|
+
...focusedRoute.params
|
|
75
|
+
} : undefined;
|
|
76
|
+
const loaders = [];
|
|
77
|
+
if (isNewlyFocused && 'UNSTABLE_loader' in item && typeof item.UNSTABLE_loader === 'function') {
|
|
78
|
+
const loader = item.UNSTABLE_loader;
|
|
79
|
+
loaders.push(() => loader({
|
|
80
|
+
name: focusedRoute.name,
|
|
81
|
+
params
|
|
82
|
+
}));
|
|
83
|
+
}
|
|
84
|
+
const nested = 'config' in item ? item : 'screen' in item && 'config' in item.screen ? item.screen : undefined;
|
|
85
|
+
if (nested) {
|
|
86
|
+
const initialRouteName = findInitialRouteName(nested.config);
|
|
87
|
+
const stateFromParams = focusedRoute.params != null && consumedParams?.has(focusedRoute.params) ? undefined : getStateFromRouteParams(params);
|
|
88
|
+
let childState = previousState !== undefined && stateFromParams != null ? stateFromParams : focusedRoute.state ?? stateFromParams;
|
|
89
|
+
if (childState == null && initialRouteName != null) {
|
|
90
|
+
childState = {
|
|
91
|
+
routes: [{
|
|
92
|
+
name: initialRouteName
|
|
93
|
+
}]
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
let previousChildState;
|
|
97
|
+
if (!isNewlyFocused) {
|
|
98
|
+
const previousRouteParams = previousFocusedRoute?.params;
|
|
99
|
+
const previousParams = initialParams != null || previousRouteParams != null ? {
|
|
100
|
+
...initialParams,
|
|
101
|
+
...previousRouteParams
|
|
102
|
+
} : undefined;
|
|
103
|
+
const previousStateFromParams = previousRouteParams != null && consumedParams?.has(previousRouteParams) ? undefined : getStateFromRouteParams(previousParams);
|
|
104
|
+
previousChildState = previousFocusedRoute?.state ?? previousStateFromParams;
|
|
105
|
+
if (previousChildState == null && initialRouteName != null) {
|
|
106
|
+
previousChildState = {
|
|
107
|
+
routes: [{
|
|
108
|
+
name: initialRouteName
|
|
109
|
+
}]
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
const childLoader = getLoaderForStateChange(nested, childState, previousState === undefined ? undefined : previousChildState ?? {
|
|
114
|
+
routes: []
|
|
115
|
+
}, consumedParams);
|
|
116
|
+
if (childLoader) {
|
|
117
|
+
loaders.push(childLoader);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
if (loaders.length === 0) {
|
|
121
|
+
return undefined;
|
|
122
|
+
}
|
|
123
|
+
return async () => {
|
|
124
|
+
await Promise.all(loaders.map(l => l()));
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=DataLoading.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getStateFromRouteParams","findScreenInConfig","config","name","screens","groups","group","Object","values","undefined","findInitialRouteName","initialRouteName","key","keys","getLoaderForState","tree","state","getLoaderForStateChange","previousState","consumedParams","focusedRoute","routes","index","length","previousFocusedRoute","isNewlyFocused","item","initialParams","params","loaders","UNSTABLE_loader","loader","push","nested","screen","stateFromParams","has","childState","previousChildState","previousRouteParams","previousParams","previousStateFromParams","childLoader","Promise","all","map","l"],"sourceRoot":"../../src","sources":["DataLoading.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,6 +8,7 @@ export const NavigationBuilderContext = /*#__PURE__*/React.createContext({
|
|
|
8
8
|
onDispatchAction: () => undefined,
|
|
9
9
|
onEmitEvent: () => undefined,
|
|
10
10
|
onOptionsChange: () => undefined,
|
|
11
|
+
getIsStateEmitted: () => false,
|
|
11
12
|
scheduleUpdate: () => {
|
|
12
13
|
throw new Error("Couldn't find a context for scheduling updates.");
|
|
13
14
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","NavigationBuilderContext","createContext","onDispatchAction","undefined","onEmitEvent","onOptionsChange","scheduleUpdate","Error","flushUpdates"],"sourceRoot":"../../src","sources":["NavigationBuilderContext.tsx"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["React","NavigationBuilderContext","createContext","onDispatchAction","undefined","onEmitEvent","onOptionsChange","getIsStateEmitted","scheduleUpdate","Error","flushUpdates"],"sourceRoot":"../../src","sources":["NavigationBuilderContext.tsx"],"mappings":";;AAMA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAgD9B;AACA;AACA;AACA,OAAO,MAAMC,wBAAwB,gBAAGD,KAAK,CAACE,aAAa,CAmBxD;EACDC,gBAAgB,EAAEA,CAAA,KAAMC,SAAS;EACjCC,WAAW,EAAEA,CAAA,KAAMD,SAAS;EAC5BE,eAAe,EAAEA,CAAA,KAAMF,SAAS;EAChCG,iBAAiB,EAAEA,CAAA,KAAM,KAAK;EAC9BC,cAAc,EAAEA,CAAA,KAAM;IACpB,MAAM,IAAIC,KAAK,CAAC,iDAAiD,CAAC;EACpE,CAAC;EACDC,YAAY,EAAEA,CAAA,KAAM;IAClB,MAAM,IAAID,KAAK,CAAC,+CAA+C,CAAC;EAClE;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import * as React from 'react';
|
|
4
|
+
import { NavigationFocusedRouteStateContext } from "./NavigationFocusedRouteStateContext.js";
|
|
4
5
|
import { NavigationIndependentTreeContext } from "./NavigationIndependentTreeContext.js";
|
|
5
|
-
import { NamedRouteContextListContext, NavigationContext, NavigationRouteContext
|
|
6
|
+
import { NamedRouteContextListContext, NavigationContext, NavigationRouteContext } from "./NavigationProvider.js";
|
|
7
|
+
import { IsFocusedContext } from "./useIsFocused.js";
|
|
8
|
+
import { NamedNavigationStateListenerListContext, NavigationStateListenerContext } from "./useNavigationState.js";
|
|
6
9
|
|
|
7
10
|
/**
|
|
8
11
|
* Component to make the child navigation container independent of parent containers.
|
|
@@ -14,17 +17,26 @@ export function NavigationIndependentTree({
|
|
|
14
17
|
return (
|
|
15
18
|
/*#__PURE__*/
|
|
16
19
|
// We need to clear any existing contexts for nested independent container to work correctly
|
|
17
|
-
_jsx(
|
|
20
|
+
_jsx(NavigationStateListenerContext.Provider, {
|
|
18
21
|
value: undefined,
|
|
19
|
-
children: /*#__PURE__*/_jsx(
|
|
22
|
+
children: /*#__PURE__*/_jsx(NamedNavigationStateListenerListContext.Provider, {
|
|
20
23
|
value: undefined,
|
|
21
|
-
children: /*#__PURE__*/_jsx(
|
|
24
|
+
children: /*#__PURE__*/_jsx(NamedRouteContextListContext.Provider, {
|
|
22
25
|
value: undefined,
|
|
23
|
-
children: /*#__PURE__*/_jsx(
|
|
26
|
+
children: /*#__PURE__*/_jsx(NavigationRouteContext.Provider, {
|
|
24
27
|
value: undefined,
|
|
25
|
-
children: /*#__PURE__*/_jsx(
|
|
26
|
-
value:
|
|
27
|
-
children:
|
|
28
|
+
children: /*#__PURE__*/_jsx(NavigationContext.Provider, {
|
|
29
|
+
value: undefined,
|
|
30
|
+
children: /*#__PURE__*/_jsx(NavigationFocusedRouteStateContext.Provider, {
|
|
31
|
+
value: undefined,
|
|
32
|
+
children: /*#__PURE__*/_jsx(IsFocusedContext.Provider, {
|
|
33
|
+
value: undefined,
|
|
34
|
+
children: /*#__PURE__*/_jsx(NavigationIndependentTreeContext.Provider, {
|
|
35
|
+
value: true,
|
|
36
|
+
children: children
|
|
37
|
+
})
|
|
38
|
+
})
|
|
39
|
+
})
|
|
28
40
|
})
|
|
29
41
|
})
|
|
30
42
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","NavigationIndependentTreeContext","NamedRouteContextListContext","NavigationContext","NavigationRouteContext","
|
|
1
|
+
{"version":3,"names":["React","NavigationFocusedRouteStateContext","NavigationIndependentTreeContext","NamedRouteContextListContext","NavigationContext","NavigationRouteContext","IsFocusedContext","NamedNavigationStateListenerListContext","NavigationStateListenerContext","jsx","_jsx","NavigationIndependentTree","children","Provider","value","undefined"],"sourceRoot":"../../src","sources":["NavigationIndependentTree.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,kCAAkC,QAAQ,yCAAsC;AACzF,SAASC,gCAAgC,QAAQ,uCAAoC;AACrF,SACEC,4BAA4B,EAC5BC,iBAAiB,EACjBC,sBAAsB,QACjB,yBAAsB;AAC7B,SAASC,gBAAgB,QAAQ,mBAAgB;AACjD,SACEC,uCAAuC,EACvCC,8BAA8B,QACzB,yBAAsB;;AAE7B;AACA;AACA;AAFA,SAAAC,GAAA,IAAAC,IAAA;AAGA,OAAO,SAASC,yBAAyBA,CAAC;EACxCC;AAGF,CAAC,EAAE;EACD;IAAA;IACE;IACAF,IAAA,CAACF,8BAA8B,CAACK,QAAQ;MAACC,KAAK,EAAEC,SAAU;MAAAH,QAAA,eACxDF,IAAA,CAACH,uCAAuC,CAACM,QAAQ;QAACC,KAAK,EAAEC,SAAU;QAAAH,QAAA,eACjEF,IAAA,CAACP,4BAA4B,CAACU,QAAQ;UAACC,KAAK,EAAEC,SAAU;UAAAH,QAAA,eACtDF,IAAA,CAACL,sBAAsB,CAACQ,QAAQ;YAACC,KAAK,EAAEC,SAAU;YAAAH,QAAA,eAChDF,IAAA,CAACN,iBAAiB,CAACS,QAAQ;cAACC,KAAK,EAAEC,SAAU;cAAAH,QAAA,eAC3CF,IAAA,CAACT,kCAAkC,CAACY,QAAQ;gBAACC,KAAK,EAAEC,SAAU;gBAAAH,QAAA,eAC5DF,IAAA,CAACJ,gBAAgB,CAACO,QAAQ;kBAACC,KAAK,EAAEC,SAAU;kBAAAH,QAAA,eAC1CF,IAAA,CAACR,gCAAgC,CAACW,QAAQ;oBAACC,KAAK,EAAE,IAAK;oBAAAF,QAAA,EACpDA;kBAAQ,CACgC;gBAAC,CACnB;cAAC,CACe;YAAC,CACpB;UAAC,CACE;QAAC,CACG;MAAC,CACQ;IAAC,CACZ;EAAC;AAE9C","ignoreList":[]}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import * as React from 'react';
|
|
4
|
+
import { FocusedRouteKeyContext, IsFocusedContext } from "./useIsFocused.js";
|
|
4
5
|
import { useLazyValue } from "./useLazyValue.js";
|
|
6
|
+
import { NamedNavigationStateListenerProvider } from "./useNavigationState.js";
|
|
5
7
|
|
|
6
8
|
/**
|
|
7
9
|
* Context which holds the route prop for a screen.
|
|
@@ -13,7 +15,6 @@ export const NavigationRouteContext = /*#__PURE__*/React.createContext(undefined
|
|
|
13
15
|
* Context which holds the navigation prop for a screen.
|
|
14
16
|
*/
|
|
15
17
|
export const NavigationContext = /*#__PURE__*/React.createContext(undefined);
|
|
16
|
-
export const NavigationRouteNameContext = /*#__PURE__*/React.createContext(undefined);
|
|
17
18
|
/**
|
|
18
19
|
* Component to provide the navigation and route contexts to its children.
|
|
19
20
|
*/
|
|
@@ -29,17 +30,27 @@ export function NavigationProvider({
|
|
|
29
30
|
...parents,
|
|
30
31
|
[route.name]: NamedRouteContext
|
|
31
32
|
}), [NamedRouteContext, parents, route.name]);
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
const parentIsFocused = React.use(IsFocusedContext);
|
|
34
|
+
const focusedRouteKey = React.use(FocusedRouteKeyContext);
|
|
35
|
+
|
|
36
|
+
// Mark route as focused only if:
|
|
37
|
+
// - It doesn't have a parent navigator
|
|
38
|
+
// - Parent navigator is focused
|
|
39
|
+
const isFocused = parentIsFocused == null || parentIsFocused ? focusedRouteKey === route.key : false;
|
|
40
|
+
return /*#__PURE__*/_jsx(NamedNavigationStateListenerProvider, {
|
|
41
|
+
name: route.name,
|
|
42
|
+
children: /*#__PURE__*/_jsx(NamedRouteContextListContext.Provider, {
|
|
43
|
+
value: NamedRouteContextList,
|
|
44
|
+
children: /*#__PURE__*/_jsx(NamedRouteContext.Provider, {
|
|
37
45
|
value: route,
|
|
38
|
-
children: /*#__PURE__*/_jsx(
|
|
39
|
-
value:
|
|
40
|
-
children: /*#__PURE__*/_jsx(
|
|
41
|
-
value:
|
|
42
|
-
children:
|
|
46
|
+
children: /*#__PURE__*/_jsx(NavigationRouteContext.Provider, {
|
|
47
|
+
value: route,
|
|
48
|
+
children: /*#__PURE__*/_jsx(NavigationContext.Provider, {
|
|
49
|
+
value: navigation,
|
|
50
|
+
children: /*#__PURE__*/_jsx(IsFocusedContext.Provider, {
|
|
51
|
+
value: isFocused,
|
|
52
|
+
children: children
|
|
53
|
+
})
|
|
43
54
|
})
|
|
44
55
|
})
|
|
45
56
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useLazyValue","jsx","_jsx","NavigationRouteContext","createContext","undefined","NavigationContext","
|
|
1
|
+
{"version":3,"names":["React","FocusedRouteKeyContext","IsFocusedContext","useLazyValue","NamedNavigationStateListenerProvider","jsx","_jsx","NavigationRouteContext","createContext","undefined","NavigationContext","NamedRouteContextListContext","NavigationProvider","route","navigation","children","NamedRouteContext","parents","use","NamedRouteContextList","useMemo","name","parentIsFocused","focusedRouteKey","isFocused","key","Provider","value"],"sourceRoot":"../../src","sources":["NavigationProvider.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAG9B,SAASC,sBAAsB,EAAEC,gBAAgB,QAAQ,mBAAgB;AACzE,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,oCAAoC,QAAQ,yBAAsB;;AAE3E;AACA;AACA;AAFA,SAAAC,GAAA,IAAAC,IAAA;AAGA,OAAO,MAAMC,sBAAsB,gBAAGP,KAAK,CAACQ,aAAa,CAEvDC,SAAS,CAAC;;AAEZ;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,gBAAGV,KAAK,CAACQ,aAAa,CAElDC,SAAS,CAAC;AAQZ;AACA;AACA;AACA,OAAO,MAAME,4BAA4B,gBAAGX,KAAK,CAACQ,aAAa,CAE7DC,SAAS,CAAC;AAEZ,OAAO,SAASG,kBAAkBA,CAAC;EAAEC,KAAK;EAAEC,UAAU;EAAEC;AAAgB,CAAC,EAAE;EACzE,MAAMC,iBAAiB,GAAGb,YAAY,CAAC,mBAAMH,KAAK,CAACQ,aAAa,CAACK,KAAK,CAAC,CAAC;EAExE,MAAMI,OAAO,GAAGjB,KAAK,CAACkB,GAAG,CAACP,4BAA4B,CAAC;EAEvD,MAAMQ,qBAAqB,GAAGnB,KAAK,CAACoB,OAAO,CACzC,OAAO;IACL,GAAGH,OAAO;IACV,CAACJ,KAAK,CAACQ,IAAI,GAAGL;EAChB,CAAC,CAAC,EACF,CAACA,iBAAiB,EAAEC,OAAO,EAAEJ,KAAK,CAACQ,IAAI,CACzC,CAAC;EAED,MAAMC,eAAe,GAAGtB,KAAK,CAACkB,GAAG,CAAChB,gBAAgB,CAAC;EACnD,MAAMqB,eAAe,GAAGvB,KAAK,CAACkB,GAAG,CAACjB,sBAAsB,CAAC;;EAEzD;EACA;EACA;EACA,MAAMuB,SAAS,GACbF,eAAe,IAAI,IAAI,IAAIA,eAAe,GACtCC,eAAe,KAAKV,KAAK,CAACY,GAAG,GAC7B,KAAK;EAEX,oBACEnB,IAAA,CAACF,oCAAoC;IAACiB,IAAI,EAAER,KAAK,CAACQ,IAAK;IAAAN,QAAA,eACrDT,IAAA,CAACK,4BAA4B,CAACe,QAAQ;MAACC,KAAK,EAAER,qBAAsB;MAAAJ,QAAA,eAClET,IAAA,CAACU,iBAAiB,CAACU,QAAQ;QAACC,KAAK,EAAEd,KAAM;QAAAE,QAAA,eACvCT,IAAA,CAACC,sBAAsB,CAACmB,QAAQ;UAACC,KAAK,EAAEd,KAAM;UAAAE,QAAA,eAC5CT,IAAA,CAACI,iBAAiB,CAACgB,QAAQ;YAACC,KAAK,EAAEb,UAAW;YAAAC,QAAA,eAC5CT,IAAA,CAACJ,gBAAgB,CAACwB,QAAQ;cAACC,KAAK,EAAEH,SAAU;cAAAT,QAAA,EACzCA;YAAQ,CACgB;UAAC,CACF;QAAC,CACE;MAAC,CACR;IAAC,CACQ;EAAC,CACJ,CAAC;AAE3C","ignoreList":[]}
|
|
@@ -16,6 +16,9 @@ export const NavigationStateContext = /*#__PURE__*/React.createContext({
|
|
|
16
16
|
get setState() {
|
|
17
17
|
throw new Error(MISSING_CONTEXT_ERROR);
|
|
18
18
|
},
|
|
19
|
+
get subscribe() {
|
|
20
|
+
throw new Error(MISSING_CONTEXT_ERROR);
|
|
21
|
+
},
|
|
19
22
|
get getIsInitial() {
|
|
20
23
|
throw new Error(MISSING_CONTEXT_ERROR);
|
|
21
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","MISSING_CONTEXT_ERROR","NavigationStateContext","createContext","isDefault","getKey","Error","setKey","getState","setState","getIsInitial"],"sourceRoot":"../../src","sources":["NavigationStateContext.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,MAAMC,qBAAqB,GACzB,wKAAwK;AAE1K,OAAO,MAAMC,sBAAsB,gBAAGF,KAAK,CAACG,aAAa,CActD;EACDC,SAAS,EAAE,IAAI;EAEf,IAAIC,MAAMA,CAAA,EAAQ;IAChB,MAAM,IAAIC,KAAK,CAACL,qBAAqB,CAAC;EACxC,CAAC;EACD,IAAIM,MAAMA,CAAA,EAAQ;IAChB,MAAM,IAAID,KAAK,CAACL,qBAAqB,CAAC;EACxC,CAAC;EACD,IAAIO,QAAQA,CAAA,EAAQ;IAClB,MAAM,IAAIF,KAAK,CAACL,qBAAqB,CAAC;EACxC,CAAC;EACD,IAAIQ,QAAQA,CAAA,EAAQ;IAClB,MAAM,IAAIH,KAAK,CAACL,qBAAqB,CAAC;EACxC,CAAC;EACD,IAAIS,YAAYA,CAAA,EAAQ;IACtB,MAAM,
|
|
1
|
+
{"version":3,"names":["React","MISSING_CONTEXT_ERROR","NavigationStateContext","createContext","isDefault","getKey","Error","setKey","getState","setState","subscribe","getIsInitial"],"sourceRoot":"../../src","sources":["NavigationStateContext.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,MAAMC,qBAAqB,GACzB,wKAAwK;AAE1K,OAAO,MAAMC,sBAAsB,gBAAGF,KAAK,CAACG,aAAa,CActD;EACDC,SAAS,EAAE,IAAI;EAEf,IAAIC,MAAMA,CAAA,EAAQ;IAChB,MAAM,IAAIC,KAAK,CAACL,qBAAqB,CAAC;EACxC,CAAC;EACD,IAAIM,MAAMA,CAAA,EAAQ;IAChB,MAAM,IAAID,KAAK,CAACL,qBAAqB,CAAC;EACxC,CAAC;EACD,IAAIO,QAAQA,CAAA,EAAQ;IAClB,MAAM,IAAIF,KAAK,CAACL,qBAAqB,CAAC;EACxC,CAAC;EACD,IAAIQ,QAAQA,CAAA,EAAQ;IAClB,MAAM,IAAIH,KAAK,CAACL,qBAAqB,CAAC;EACxC,CAAC;EACD,IAAIS,SAASA,CAAA,EAAQ;IACnB,MAAM,IAAIJ,KAAK,CAACL,qBAAqB,CAAC;EACxC,CAAC;EACD,IAAIU,YAAYA,CAAA,EAAQ;IACtB,MAAM,IAAIL,KAAK,CAACL,qBAAqB,CAAC;EACxC;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","PreventRemoveContext","createContext","undefined"],"sourceRoot":"../../src","sources":["PreventRemoveContext.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;;AAE9B;AACA;AACA;AACA;;AAGA,OAAO,MAAMC,oBAAoB,gBAAGD,KAAK,CAACE,aAAa,
|
|
1
|
+
{"version":3,"names":["React","PreventRemoveContext","createContext","undefined"],"sourceRoot":"../../src","sources":["PreventRemoveContext.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;;AAE9B;AACA;AACA;AACA;;AAGA,OAAO,MAAMC,oBAAoB,gBAAGD,KAAK,CAACE,aAAa,CAWrDC,SAAS,CAAC","ignoreList":[]}
|