@react-navigation/core 8.0.0-alpha.4 → 8.0.0-alpha.40
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/README.md +17 -14
- package/lib/module/BaseNavigationContainer.js +168 -87
- 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 +129 -0
- package/lib/module/DataLoading.js.map +1 -0
- package/lib/module/NavigationBuilderContext.js +7 -10
- package/lib/module/NavigationBuilderContext.js.map +1 -1
- package/lib/module/NavigationIndependentTree.js +54 -9
- package/lib/module/NavigationIndependentTree.js.map +1 -1
- package/lib/module/NavigationProvider.js +36 -11
- package/lib/module/NavigationProvider.js.map +1 -1
- package/lib/module/NavigationRootContext.js +8 -0
- package/lib/module/NavigationRootContext.js.map +1 -0
- 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 +40 -31
- package/lib/module/PreventRemoveProvider.js.map +1 -1
- package/lib/module/SceneView.js +12 -42
- package/lib/module/SceneView.js.map +1 -1
- package/lib/module/StaticNavigation.js +219 -67
- 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/createNavigationContainerRef.js +7 -9
- 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 +204 -94
- package/lib/module/getPathFromState.js.map +1 -1
- package/lib/module/getPatternParts.js +61 -14
- package/lib/module/getPatternParts.js.map +1 -1
- package/lib/module/getStateFromPath.js +608 -272
- 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 +7 -6
- package/lib/module/index.js.map +1 -1
- package/lib/module/internal.js +2 -0
- package/lib/module/internal.js.map +1 -0
- package/lib/module/isRecordEqual.js +1 -1
- package/lib/module/isRecordEqual.js.map +1 -1
- package/lib/module/queryString.js +71 -0
- package/lib/module/queryString.js.map +1 -0
- package/lib/module/theming/useTheme.js +1 -1
- package/lib/module/theming/useTheme.js.map +1 -1
- package/lib/module/types.js +35 -1
- package/lib/module/types.js.map +1 -1
- package/lib/module/useDescriptors.js +65 -25
- 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/useFocusEffect.js +4 -2
- package/lib/module/useFocusEffect.js.map +1 -1
- package/lib/module/useFocusEvents.js +15 -5
- package/lib/module/useFocusEvents.js.map +1 -1
- package/lib/module/useFocusedListenersChildrenAdapter.js +3 -3
- package/lib/module/useFocusedListenersChildrenAdapter.js.map +1 -1
- package/lib/module/useIsFocused.js +8 -12
- package/lib/module/useIsFocused.js.map +1 -1
- package/lib/module/useKeyedChildListeners.js +5 -2
- package/lib/module/useKeyedChildListeners.js.map +1 -1
- package/lib/module/useLazyValue.js.map +1 -1
- package/lib/module/useNavigation.js +4 -17
- package/lib/module/useNavigation.js.map +1 -1
- package/lib/module/useNavigationBuilder.js +244 -147
- package/lib/module/useNavigationBuilder.js.map +1 -1
- package/lib/module/useNavigationCache.js +92 -89
- package/lib/module/useNavigationCache.js.map +1 -1
- package/lib/module/useNavigationHelpers.js +22 -29
- 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 +158 -46
- package/lib/module/useNavigationState.js.map +1 -1
- package/lib/module/useOnAction.js +58 -11
- package/lib/module/useOnAction.js.map +1 -1
- package/lib/module/useOnGetNavigation.js +26 -0
- package/lib/module/useOnGetNavigation.js.map +1 -0
- package/lib/module/useOnGetState.js +7 -4
- package/lib/module/useOnGetState.js.map +1 -1
- package/lib/module/useOnPreventRemove.js +40 -31
- package/lib/module/useOnPreventRemove.js.map +1 -1
- package/lib/module/useOnRouteFocus.js +2 -2
- package/lib/module/useOnRouteFocus.js.map +1 -1
- package/lib/module/useOptionsGetters.js +34 -24
- package/lib/module/useOptionsGetters.js.map +1 -1
- package/lib/module/usePreventRemove.js +11 -5
- package/lib/module/usePreventRemove.js.map +1 -1
- package/lib/module/usePreventRemoveContext.js +2 -2
- package/lib/module/usePreventRemoveContext.js.map +1 -1
- package/lib/module/useRegisterNavigator.js +3 -4
- 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 +51 -35
- package/lib/module/useRouteCache.js.map +1 -1
- package/lib/module/useScheduleUpdate.js +12 -10
- 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 +37 -15
- 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 +22 -14
- 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 +21 -18
- package/lib/typescript/src/NavigationProvider.d.ts.map +1 -1
- package/lib/typescript/src/NavigationRootContext.d.ts +8 -0
- package/lib/typescript/src/NavigationRootContext.d.ts.map +1 -0
- 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 +5 -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 -111
- 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/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 +5 -2
- 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/internal.d.ts +3 -0
- package/lib/typescript/src/internal.d.ts.map +1 -0
- package/lib/typescript/src/isRecordEqual.d.ts.map +1 -1
- package/lib/typescript/src/queryString.d.ts +5 -0
- package/lib/typescript/src/queryString.d.ts.map +1 -0
- 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 +265 -167
- 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/useDescriptors.d.ts +13 -11
- 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/useFocusEffect.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 +4 -0
- package/lib/typescript/src/useIsFocused.d.ts.map +1 -1
- package/lib/typescript/src/useKeyedChildListeners.d.ts +4 -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 +22 -63
- package/lib/typescript/src/useNavigationBuilder.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationCache.d.ts +6 -5
- 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 +18 -58
- package/lib/typescript/src/useNavigationHelpers.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationState.d.ts +19 -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/useOnGetNavigation.d.ts +12 -0
- package/lib/typescript/src/useOnGetNavigation.d.ts.map +1 -0
- 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 +2 -4
- 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/useRegisterNavigator.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 +7 -12
- 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 +79 -39
- package/lib/typescript/src/utilities.d.ts.map +1 -1
- package/lib/typescript/src/validatePathConfig.d.ts.map +1 -1
- package/package.json +26 -22
- package/src/BaseNavigationContainer.tsx +468 -333
- package/src/ConsumedParamsContext.tsx +5 -0
- package/src/DataLoading.tsx +206 -0
- package/src/NavigationBuilderContext.tsx +44 -25
- package/src/NavigationFocusedRouteStateContext.tsx +4 -4
- package/src/NavigationIndependentTree.tsx +60 -12
- package/src/NavigationProvider.tsx +47 -20
- package/src/NavigationRootContext.tsx +11 -0
- package/src/NavigationStateContext.tsx +9 -6
- package/src/PreventRemoveContext.tsx +1 -0
- package/src/PreventRemoveProvider.tsx +55 -56
- package/src/SceneView.tsx +14 -40
- package/src/StaticNavigation.tsx +715 -328
- package/src/StaticTreeContext.tsx +7 -0
- package/src/createNavigationContainerRef.tsx +12 -11
- package/src/createNavigatorFactory.tsx +92 -8
- package/src/findFocusedRoute.tsx +16 -16
- package/src/getActionFromState.tsx +87 -51
- package/src/getPathFromState.tsx +310 -134
- package/src/getPatternParts.tsx +98 -16
- package/src/getStateFromPath.tsx +971 -344
- package/src/getStateFromRouteParams.tsx +59 -0
- package/src/index.tsx +57 -6
- package/src/internal.tsx +2 -0
- package/src/isRecordEqual.tsx +3 -1
- package/src/queryString.ts +109 -0
- package/src/theming/useTheme.tsx +1 -1
- package/src/types.tsx +799 -377
- package/src/useDescriptors.tsx +151 -43
- package/src/useEventEmitter.tsx +53 -39
- package/src/useFocusEffect.tsx +5 -2
- package/src/useFocusEvents.tsx +19 -8
- package/src/useFocusedListenersChildrenAdapter.tsx +3 -3
- package/src/useIsFocused.tsx +18 -21
- package/src/useKeyedChildListeners.tsx +5 -2
- package/src/useLazyValue.tsx +2 -2
- package/src/useNavigation.tsx +9 -26
- package/src/useNavigationBuilder.tsx +370 -201
- package/src/useNavigationCache.tsx +148 -123
- package/src/useNavigationHelpers.tsx +27 -37
- package/src/useNavigationIndependentTree.tsx +1 -1
- package/src/useNavigationState.tsx +207 -69
- package/src/useOnAction.tsx +92 -18
- package/src/useOnGetNavigation.tsx +30 -0
- package/src/useOnGetState.tsx +8 -4
- package/src/useOnPreventRemove.tsx +78 -43
- package/src/useOnRouteFocus.tsx +11 -15
- package/src/useOptionsGetters.tsx +41 -28
- package/src/usePreventRemove.tsx +13 -5
- package/src/usePreventRemoveContext.tsx +2 -2
- package/src/useRegisterNavigator.tsx +4 -4
- package/src/useRoute.tsx +20 -6
- package/src/useRouteCache.tsx +57 -35
- package/src/useScheduleUpdate.tsx +13 -11
- package/src/useStateForPath.tsx +1 -1
- package/src/useSyncState.tsx +39 -15
- package/src/utilities.tsx +151 -35
- package/src/validatePathConfig.tsx +86 -57
- package/lib/module/CurrentRenderContext.js +0 -10
- package/lib/module/CurrentRenderContext.js.map +0 -1
- package/lib/module/NavigationMetaContext.js +0 -15
- package/lib/module/NavigationMetaContext.js.map +0 -1
- package/lib/module/checkSerializable.js +0 -46
- package/lib/module/checkSerializable.js.map +0 -1
- package/lib/module/useComponent.js +0 -34
- package/lib/module/useComponent.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/NavigationMetaContext.d.ts +0 -12
- package/lib/typescript/src/NavigationMetaContext.d.ts.map +0 -1
- package/lib/typescript/src/checkSerializable.d.ts +0 -10
- package/lib/typescript/src/checkSerializable.d.ts.map +0 -1
- package/lib/typescript/src/useComponent.d.ts +0 -7
- package/lib/typescript/src/useComponent.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/NavigationMetaContext.tsx +0 -14
- package/src/checkSerializable.tsx +0 -74
- package/src/useComponent.tsx +0 -37
- package/src/useCurrentRender.tsx +0 -31
package/README.md
CHANGED
|
@@ -17,28 +17,31 @@ A basic custom navigator bundling a router and a view looks like this:
|
|
|
17
17
|
```js
|
|
18
18
|
import {
|
|
19
19
|
createNavigatorFactory,
|
|
20
|
+
createScreenFactory,
|
|
20
21
|
useNavigationBuilder,
|
|
21
22
|
} from '@react-navigation/core';
|
|
22
23
|
import { StackRouter } from '@react-navigation/routers';
|
|
23
24
|
|
|
24
25
|
function StackNavigator({ initialRouteName, children, ...rest }) {
|
|
25
|
-
const { state, navigation, descriptors,
|
|
26
|
-
|
|
26
|
+
const { state, navigation, descriptors, render } = useNavigationBuilder(
|
|
27
|
+
StackRouter,
|
|
28
|
+
{
|
|
27
29
|
initialRouteName,
|
|
28
30
|
children,
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
</NavigationContent>
|
|
31
|
+
}
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
return render(
|
|
35
|
+
<StackView
|
|
36
|
+
state={state}
|
|
37
|
+
navigation={navigation}
|
|
38
|
+
descriptors={descriptors}
|
|
39
|
+
{...rest}
|
|
40
|
+
/>
|
|
40
41
|
);
|
|
41
42
|
}
|
|
42
43
|
|
|
43
|
-
export
|
|
44
|
+
export const createStackNavigator = createNavigatorFactory(StackNavigator);
|
|
45
|
+
|
|
46
|
+
export const createStackScreen = createScreenFactory();
|
|
44
47
|
```
|
|
@@ -3,27 +3,27 @@
|
|
|
3
3
|
import { CommonActions } from '@react-navigation/routers';
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import useLatestCallback from 'use-latest-callback';
|
|
6
|
+
import warnOnce from 'warn-once';
|
|
6
7
|
import { checkDuplicateRouteNames } from "./checkDuplicateRouteNames.js";
|
|
7
|
-
import {
|
|
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";
|
|
11
12
|
import { NavigationBuilderContext } from "./NavigationBuilderContext.js";
|
|
12
13
|
import { NavigationContainerRefContext } from "./NavigationContainerRefContext.js";
|
|
13
14
|
import { NavigationIndependentTreeContext } from "./NavigationIndependentTreeContext.js";
|
|
15
|
+
import { NavigationRootContext } from "./NavigationRootContext.js";
|
|
14
16
|
import { NavigationStateContext } from "./NavigationStateContext.js";
|
|
15
17
|
import { ThemeProvider } from "./theming/ThemeProvider.js";
|
|
16
18
|
import { UnhandledActionContext } from "./UnhandledActionContext.js";
|
|
17
19
|
import { useChildListeners } from "./useChildListeners.js";
|
|
18
20
|
import { useEventEmitter } from "./useEventEmitter.js";
|
|
19
21
|
import { useKeyedChildListeners } from "./useKeyedChildListeners.js";
|
|
22
|
+
import { useLazyValue } from "./useLazyValue.js";
|
|
20
23
|
import { useNavigationIndependentTree } from "./useNavigationIndependentTree.js";
|
|
21
24
|
import { useOptionsGetters } from "./useOptionsGetters.js";
|
|
22
25
|
import { useSyncState } from "./useSyncState.js";
|
|
23
26
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
24
|
-
const serializableWarnings = [];
|
|
25
|
-
const duplicateNameWarnings = [];
|
|
26
|
-
|
|
27
27
|
/**
|
|
28
28
|
* Remove `key` and `routeNames` from the state objects recursively to get partial state.
|
|
29
29
|
*
|
|
@@ -67,15 +67,16 @@ const getPartialState = state => {
|
|
|
67
67
|
* @param props.children Child elements to render the content.
|
|
68
68
|
* @param props.ref Ref object which refers to the navigation object containing helper methods.
|
|
69
69
|
*/
|
|
70
|
-
export
|
|
70
|
+
export function BaseNavigationContainer({
|
|
71
71
|
initialState,
|
|
72
72
|
onStateChange,
|
|
73
73
|
onReady,
|
|
74
74
|
onUnhandledAction,
|
|
75
75
|
theme,
|
|
76
|
-
children
|
|
77
|
-
|
|
78
|
-
|
|
76
|
+
children,
|
|
77
|
+
ref
|
|
78
|
+
}) {
|
|
79
|
+
const parent = React.use(NavigationStateContext);
|
|
79
80
|
const independent = useNavigationIndependentTree();
|
|
80
81
|
if (!parent.isDefault && !independent) {
|
|
81
82
|
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 +85,11 @@ export const BaseNavigationContainer = /*#__PURE__*/React.forwardRef(function Ba
|
|
|
84
85
|
state,
|
|
85
86
|
getState,
|
|
86
87
|
setState,
|
|
88
|
+
subscribe,
|
|
87
89
|
scheduleUpdate,
|
|
88
90
|
flushUpdates
|
|
89
91
|
} = useSyncState(() => getPartialState(initialState == null ? undefined : initialState));
|
|
92
|
+
const consumedParams = useLazyValue(() => new WeakMap());
|
|
90
93
|
const isFirstMountRef = React.useRef(true);
|
|
91
94
|
const navigatorKeyRef = React.useRef(undefined);
|
|
92
95
|
const getKey = React.useCallback(() => navigatorKeyRef.current, []);
|
|
@@ -101,11 +104,39 @@ export const BaseNavigationContainer = /*#__PURE__*/React.forwardRef(function Ba
|
|
|
101
104
|
keyedListeners,
|
|
102
105
|
addKeyedListener
|
|
103
106
|
} = useKeyedChildListeners();
|
|
107
|
+
const stackRef = React.useRef(undefined);
|
|
108
|
+
const withStackTrace = React.useCallback((entry, callback) => {
|
|
109
|
+
if (process.env.NODE_ENV === 'production' || stackRef.current != null) {
|
|
110
|
+
callback();
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
const error = new Error();
|
|
114
|
+
if (Error.captureStackTrace) {
|
|
115
|
+
// Available on V8 and Hermes, omits the frames of `entry` and what it called
|
|
116
|
+
Error.captureStackTrace(error, entry);
|
|
117
|
+
stackRef.current = error.stack;
|
|
118
|
+
} else {
|
|
119
|
+
// Other engines always include them, so we drop the frames up to `entry` ourselves
|
|
120
|
+
const frames = error.stack?.split('\n') ?? [];
|
|
121
|
+
const index = frames.findIndex(frame => frame.includes(`${entry.name}@`));
|
|
122
|
+
stackRef.current = frames.slice(index + 1).join('\n');
|
|
123
|
+
}
|
|
124
|
+
try {
|
|
125
|
+
callback();
|
|
126
|
+
} finally {
|
|
127
|
+
stackRef.current = undefined;
|
|
128
|
+
}
|
|
129
|
+
}, []);
|
|
104
130
|
const dispatch = useLatestCallback(action => {
|
|
105
|
-
|
|
131
|
+
const listener = listeners.focus[0];
|
|
132
|
+
if (listener == null) {
|
|
106
133
|
console.error(NOT_INITIALIZED_ERROR);
|
|
107
134
|
} else {
|
|
108
|
-
|
|
135
|
+
withStackTrace(dispatch, () => {
|
|
136
|
+
listener(navigation => React.startTransition(() => {
|
|
137
|
+
navigation.dispatch(action);
|
|
138
|
+
}));
|
|
139
|
+
});
|
|
109
140
|
}
|
|
110
141
|
});
|
|
111
142
|
const canGoBack = useLatestCallback(() => {
|
|
@@ -123,11 +154,12 @@ export const BaseNavigationContainer = /*#__PURE__*/React.forwardRef(function Ba
|
|
|
123
154
|
}
|
|
124
155
|
});
|
|
125
156
|
const resetRoot = useLatestCallback(state => {
|
|
126
|
-
const target =
|
|
127
|
-
|
|
157
|
+
const target = keyedListeners.getState.root?.().key;
|
|
158
|
+
const listener = listeners.focus[0];
|
|
159
|
+
if (target == null || listener == null) {
|
|
128
160
|
console.error(NOT_INITIALIZED_ERROR);
|
|
129
161
|
} else {
|
|
130
|
-
|
|
162
|
+
listener(navigation => navigation.dispatch({
|
|
131
163
|
...CommonActions.reset(state),
|
|
132
164
|
target
|
|
133
165
|
}));
|
|
@@ -150,29 +182,97 @@ export const BaseNavigationContainer = /*#__PURE__*/React.forwardRef(function Ba
|
|
|
150
182
|
addOptionsGetter,
|
|
151
183
|
getCurrentOptions
|
|
152
184
|
} = useOptionsGetters({});
|
|
153
|
-
const
|
|
185
|
+
const container = React.useMemo(() => ({
|
|
154
186
|
...Object.keys(CommonActions).reduce((acc, name) => {
|
|
155
|
-
|
|
187
|
+
const helper = (...args) => withStackTrace(helper, () =>
|
|
156
188
|
// @ts-expect-error: this is ok
|
|
157
|
-
dispatch(CommonActions[name](...args));
|
|
189
|
+
dispatch(CommonActions[name](...args)));
|
|
190
|
+
acc[name] = helper;
|
|
158
191
|
return acc;
|
|
159
192
|
}, {}),
|
|
160
193
|
...emitter.create('root'),
|
|
161
194
|
dispatch,
|
|
162
195
|
resetRoot,
|
|
163
|
-
isFocused: () => true,
|
|
164
196
|
canGoBack,
|
|
165
|
-
getParent: () => undefined,
|
|
166
197
|
getState,
|
|
167
198
|
getRootState,
|
|
168
199
|
getCurrentRoute,
|
|
169
200
|
getCurrentOptions,
|
|
170
|
-
isReady
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
201
|
+
isReady
|
|
202
|
+
}), [canGoBack, dispatch, emitter, getCurrentOptions, getCurrentRoute, getRootState, getState, isReady, resetRoot, withStackTrace]);
|
|
203
|
+
const navigation = React.useMemo(() => {
|
|
204
|
+
const events = emitter.create('root');
|
|
205
|
+
const dispatch = thunk => {
|
|
206
|
+
const root = keyedListeners.getNavigation.root?.();
|
|
207
|
+
if (root == null) {
|
|
208
|
+
console.error(NOT_INITIALIZED_ERROR);
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
withStackTrace(dispatch, () => {
|
|
212
|
+
React.startTransition(() => {
|
|
213
|
+
root.dispatch(thunk);
|
|
214
|
+
});
|
|
215
|
+
});
|
|
216
|
+
};
|
|
217
|
+
const helpers = Object.keys(CommonActions).reduce((acc, name) => {
|
|
218
|
+
const helper = (...args) => {
|
|
219
|
+
if (name === 'setParams' || name === 'replaceParams' || name === 'pushParams') {
|
|
220
|
+
throw new Error(`Cannot call ${name} outside a screen`);
|
|
221
|
+
}
|
|
222
|
+
withStackTrace(helper, () =>
|
|
223
|
+
// @ts-expect-error name is a valid key, but TypeScript cannot infer it.
|
|
224
|
+
dispatch(CommonActions[name](...args)));
|
|
225
|
+
};
|
|
226
|
+
acc[name] = helper;
|
|
227
|
+
return acc;
|
|
228
|
+
}, {});
|
|
229
|
+
const listeners = new WeakMap();
|
|
230
|
+
return {
|
|
231
|
+
...helpers,
|
|
232
|
+
dispatch,
|
|
233
|
+
addListener: (type, callback) => {
|
|
234
|
+
if (type === 'state') {
|
|
235
|
+
let listener = listeners.get(callback);
|
|
236
|
+
if (listener === undefined) {
|
|
237
|
+
// Root's state change events can contain stale and undefined state
|
|
238
|
+
// But navigation objects should only receive non-stale state
|
|
239
|
+
// So we add a wrapper to filter out stale events
|
|
240
|
+
listener = event => {
|
|
241
|
+
if (event.data.state?.stale === false) {
|
|
242
|
+
// @ts-expect-error TypeScript doesn't narrow the generic event callback with its type.
|
|
243
|
+
callback(event);
|
|
244
|
+
}
|
|
245
|
+
};
|
|
246
|
+
listeners.set(callback, listener);
|
|
247
|
+
}
|
|
248
|
+
return events.addListener('state', listener);
|
|
249
|
+
}
|
|
250
|
+
return () => {};
|
|
251
|
+
},
|
|
252
|
+
removeListener: (type, callback) => {
|
|
253
|
+
if (type === 'state') {
|
|
254
|
+
const listener = listeners.get(callback);
|
|
255
|
+
if (listener) {
|
|
256
|
+
events.removeListener('state', listener);
|
|
257
|
+
listeners.delete(callback);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
},
|
|
261
|
+
canGoBack: () => keyedListeners.getNavigation.root?.().canGoBack() ?? false,
|
|
262
|
+
getState: () => keyedListeners.getState.root?.(),
|
|
263
|
+
getParent: routeName => {
|
|
264
|
+
if (routeName !== undefined) {
|
|
265
|
+
throw new Error(`Couldn't find a navigation object for '${routeName}' because it's called outside a screen. Is your component inside a screen?`);
|
|
266
|
+
}
|
|
267
|
+
return undefined;
|
|
268
|
+
},
|
|
269
|
+
setOptions: () => {
|
|
270
|
+
throw new Error('Cannot call setOptions outside a screen');
|
|
271
|
+
},
|
|
272
|
+
isFocused: () => true
|
|
273
|
+
};
|
|
274
|
+
}, [emitter, keyedListeners, withStackTrace]);
|
|
275
|
+
React.useImperativeHandle(ref, () => container, [container]);
|
|
176
276
|
const onDispatchAction = useLatestCallback((action, noop) => {
|
|
177
277
|
emitter.emit({
|
|
178
278
|
type: '__unsafe_action__',
|
|
@@ -189,9 +289,14 @@ export const BaseNavigationContainer = /*#__PURE__*/React.forwardRef(function Ba
|
|
|
189
289
|
data: event
|
|
190
290
|
});
|
|
191
291
|
});
|
|
292
|
+
const isOptionsListenerReadyRef = React.useRef(false);
|
|
192
293
|
const lastEmittedOptionsRef = React.useRef(undefined);
|
|
193
|
-
const onOptionsChange = useLatestCallback(
|
|
194
|
-
if (
|
|
294
|
+
const onOptionsChange = useLatestCallback(() => {
|
|
295
|
+
if (!isOptionsListenerReadyRef.current) {
|
|
296
|
+
return;
|
|
297
|
+
}
|
|
298
|
+
const options = getCurrentOptions();
|
|
299
|
+
if (options == null || lastEmittedOptionsRef.current === options) {
|
|
195
300
|
return;
|
|
196
301
|
}
|
|
197
302
|
lastEmittedOptionsRef.current = options;
|
|
@@ -202,28 +307,38 @@ export const BaseNavigationContainer = /*#__PURE__*/React.forwardRef(function Ba
|
|
|
202
307
|
}
|
|
203
308
|
});
|
|
204
309
|
});
|
|
205
|
-
|
|
310
|
+
React.useEffect(() => {
|
|
311
|
+
isOptionsListenerReadyRef.current = true;
|
|
312
|
+
onOptionsChange();
|
|
313
|
+
return () => {
|
|
314
|
+
isOptionsListenerReadyRef.current = false;
|
|
315
|
+
};
|
|
316
|
+
}, [onOptionsChange]);
|
|
317
|
+
const lastEmittedStateRef = React.useRef(undefined);
|
|
318
|
+
const getIsStateEmitted = useLatestCallback(() => !isFirstMountRef.current && lastEmittedStateRef.current === getState());
|
|
206
319
|
const builderContext = React.useMemo(() => ({
|
|
207
320
|
addListener,
|
|
208
321
|
addKeyedListener,
|
|
209
322
|
onDispatchAction,
|
|
210
323
|
onEmitEvent,
|
|
211
324
|
onOptionsChange,
|
|
325
|
+
getIsStateEmitted,
|
|
212
326
|
scheduleUpdate,
|
|
213
327
|
flushUpdates,
|
|
214
|
-
|
|
215
|
-
}), [addListener, addKeyedListener, onDispatchAction, onEmitEvent, onOptionsChange, scheduleUpdate, flushUpdates]);
|
|
328
|
+
withStackTrace
|
|
329
|
+
}), [addListener, addKeyedListener, onDispatchAction, onEmitEvent, onOptionsChange, getIsStateEmitted, scheduleUpdate, flushUpdates, withStackTrace]);
|
|
216
330
|
const isInitialRef = React.useRef(true);
|
|
217
331
|
const getIsInitial = React.useCallback(() => isInitialRef.current, []);
|
|
218
332
|
const context = React.useMemo(() => ({
|
|
219
333
|
state,
|
|
220
334
|
getState,
|
|
221
335
|
setState,
|
|
336
|
+
subscribe,
|
|
222
337
|
getKey,
|
|
223
338
|
setKey,
|
|
224
339
|
getIsInitial,
|
|
225
340
|
addOptionsGetter
|
|
226
|
-
}), [state, getState, setState, getKey, setKey, getIsInitial, addOptionsGetter]);
|
|
341
|
+
}), [state, getState, setState, subscribe, getKey, setKey, getIsInitial, addOptionsGetter]);
|
|
227
342
|
const onReadyRef = React.useRef(onReady);
|
|
228
343
|
const onStateChangeRef = React.useRef(onStateChange);
|
|
229
344
|
React.useEffect(() => {
|
|
@@ -242,59 +357,17 @@ export const BaseNavigationContainer = /*#__PURE__*/React.forwardRef(function Ba
|
|
|
242
357
|
}
|
|
243
358
|
}, [state, isReady, emitter]);
|
|
244
359
|
React.useEffect(() => {
|
|
245
|
-
const hydratedState = getRootState();
|
|
246
360
|
if (process.env.NODE_ENV !== 'production') {
|
|
361
|
+
const hydratedState = getRootState();
|
|
247
362
|
if (hydratedState !== undefined) {
|
|
248
|
-
const serializableResult = checkSerializable(hydratedState);
|
|
249
|
-
if (!serializableResult.serializable) {
|
|
250
|
-
const {
|
|
251
|
-
location,
|
|
252
|
-
reason
|
|
253
|
-
} = serializableResult;
|
|
254
|
-
let path = '';
|
|
255
|
-
let pointer = hydratedState;
|
|
256
|
-
let params = false;
|
|
257
|
-
for (let i = 0; i < location.length; i++) {
|
|
258
|
-
const curr = location[i];
|
|
259
|
-
const prev = location[i - 1];
|
|
260
|
-
pointer = pointer[curr];
|
|
261
|
-
if (!params && curr === 'state') {
|
|
262
|
-
continue;
|
|
263
|
-
} else if (!params && curr === 'routes') {
|
|
264
|
-
if (path) {
|
|
265
|
-
path += ' > ';
|
|
266
|
-
}
|
|
267
|
-
} else if (!params && typeof curr === 'number' && prev === 'routes') {
|
|
268
|
-
path += pointer?.name;
|
|
269
|
-
} else if (!params) {
|
|
270
|
-
path += ` > ${curr}`;
|
|
271
|
-
params = true;
|
|
272
|
-
} else {
|
|
273
|
-
if (typeof curr === 'number' || /^[0-9]+$/.test(curr)) {
|
|
274
|
-
path += `[${curr}]`;
|
|
275
|
-
} else if (/^[a-z$_]+$/i.test(curr)) {
|
|
276
|
-
path += `.${curr}`;
|
|
277
|
-
} else {
|
|
278
|
-
path += `[${JSON.stringify(curr)}]`;
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
const message = `Non-serializable values were found in the navigation state. Check:\n\n${path} (${reason})\n\nThis can break usage such as persisting and restoring state. This might happen if you passed non-serializable values such as function, class instances etc. in params. If you need to use components with callbacks in your options, you can use 'navigation.setOptions' instead. See https://reactnavigation.org/docs/troubleshooting#i-get-the-warning-non-serializable-values-were-found-in-the-navigation-state for more details.`;
|
|
283
|
-
if (!serializableWarnings.includes(message)) {
|
|
284
|
-
serializableWarnings.push(message);
|
|
285
|
-
console.warn(message);
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
363
|
const duplicateRouteNamesResult = checkDuplicateRouteNames(hydratedState);
|
|
289
364
|
if (duplicateRouteNamesResult.length) {
|
|
290
365
|
const message = `Found screens with the same name nested inside one another. Check:\n${duplicateRouteNamesResult.map(locations => `\n${locations.join(', ')}`)}\n\nThis can cause confusing behavior during navigation. Consider using unique names for each screen instead.`;
|
|
291
|
-
|
|
292
|
-
duplicateNameWarnings.push(message);
|
|
293
|
-
console.warn(message);
|
|
294
|
-
}
|
|
366
|
+
warnOnce(true, message);
|
|
295
367
|
}
|
|
296
368
|
}
|
|
297
369
|
}
|
|
370
|
+
lastEmittedStateRef.current = state;
|
|
298
371
|
emitter.emit({
|
|
299
372
|
type: 'state',
|
|
300
373
|
data: {
|
|
@@ -302,6 +375,7 @@ export const BaseNavigationContainer = /*#__PURE__*/React.forwardRef(function Ba
|
|
|
302
375
|
}
|
|
303
376
|
});
|
|
304
377
|
if (!isFirstMountRef.current && onStateChangeRef.current) {
|
|
378
|
+
const hydratedState = getRootState();
|
|
305
379
|
onStateChangeRef.current(hydratedState);
|
|
306
380
|
}
|
|
307
381
|
isFirstMountRef.current = false;
|
|
@@ -328,6 +402,7 @@ export const BaseNavigationContainer = /*#__PURE__*/React.forwardRef(function Ba
|
|
|
328
402
|
case 'GO_BACK':
|
|
329
403
|
case 'POP':
|
|
330
404
|
case 'POP_TO_TOP':
|
|
405
|
+
case 'DISMISS':
|
|
331
406
|
message += `\n\nIs there any screen to go back to?`;
|
|
332
407
|
break;
|
|
333
408
|
case 'OPEN_DRAWER':
|
|
@@ -342,17 +417,23 @@ export const BaseNavigationContainer = /*#__PURE__*/React.forwardRef(function Ba
|
|
|
342
417
|
return /*#__PURE__*/_jsx(NavigationIndependentTreeContext.Provider, {
|
|
343
418
|
value: false,
|
|
344
419
|
children: /*#__PURE__*/_jsx(NavigationContainerRefContext.Provider, {
|
|
345
|
-
value:
|
|
346
|
-
children: /*#__PURE__*/_jsx(
|
|
347
|
-
value:
|
|
348
|
-
children: /*#__PURE__*/_jsx(
|
|
349
|
-
value:
|
|
350
|
-
children: /*#__PURE__*/_jsx(
|
|
351
|
-
value:
|
|
352
|
-
children: /*#__PURE__*/_jsx(
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
420
|
+
value: container,
|
|
421
|
+
children: /*#__PURE__*/_jsx(NavigationRootContext.Provider, {
|
|
422
|
+
value: navigation,
|
|
423
|
+
children: /*#__PURE__*/_jsx(NavigationBuilderContext.Provider, {
|
|
424
|
+
value: builderContext,
|
|
425
|
+
children: /*#__PURE__*/_jsx(NavigationStateContext.Provider, {
|
|
426
|
+
value: context,
|
|
427
|
+
children: /*#__PURE__*/_jsx(ConsumedParamsContext.Provider, {
|
|
428
|
+
value: consumedParams,
|
|
429
|
+
children: /*#__PURE__*/_jsx(UnhandledActionContext.Provider, {
|
|
430
|
+
value: onUnhandledAction ?? defaultOnUnhandledAction,
|
|
431
|
+
children: /*#__PURE__*/_jsx(EnsureSingleNavigator, {
|
|
432
|
+
children: /*#__PURE__*/_jsx(ThemeProvider, {
|
|
433
|
+
value: theme,
|
|
434
|
+
children: children
|
|
435
|
+
})
|
|
436
|
+
})
|
|
356
437
|
})
|
|
357
438
|
})
|
|
358
439
|
})
|
|
@@ -360,5 +441,5 @@ export const BaseNavigationContainer = /*#__PURE__*/React.forwardRef(function Ba
|
|
|
360
441
|
})
|
|
361
442
|
})
|
|
362
443
|
});
|
|
363
|
-
}
|
|
444
|
+
}
|
|
364
445
|
//# 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","warnOnce","checkDuplicateRouteNames","ConsumedParamsContext","NOT_INITIALIZED_ERROR","EnsureSingleNavigator","findFocusedRoute","NavigationBuilderContext","NavigationContainerRefContext","NavigationIndependentTreeContext","NavigationRootContext","NavigationStateContext","ThemeProvider","UnhandledActionContext","useChildListeners","useEventEmitter","useKeyedChildListeners","useLazyValue","useNavigationIndependentTree","useOptionsGetters","useSyncState","jsx","_jsx","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","stackRef","withStackTrace","entry","callback","process","env","NODE_ENV","error","captureStackTrace","stack","frames","split","index","findIndex","frame","includes","name","slice","join","dispatch","action","listener","focus","console","navigation","startTransition","canGoBack","result","handled","resetRoot","target","root","reset","getRootState","getCurrentRoute","isReady","emitter","addOptionsGetter","getCurrentOptions","container","useMemo","Object","keys","reduce","acc","helper","args","create","events","thunk","getNavigation","helpers","type","get","event","data","set","removeListener","delete","getParent","routeName","setOptions","isFocused","useImperativeHandle","onDispatchAction","noop","emit","onEmitEvent","isOptionsListenerReadyRef","lastEmittedOptionsRef","onOptionsChange","options","useEffect","lastEmittedStateRef","getIsStateEmitted","builderContext","isInitialRef","getIsInitial","context","onReadyRef","onStateChangeRef","onReadyCalledRef","hydratedState","duplicateRouteNamesResult","length","message","locations","defaultOnUnhandledAction","payload","JSON","stringify","Provider","value"],"sourceRoot":"../../src","sources":["BaseNavigationContainer.tsx"],"mappings":"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","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,129 @@
|
|
|
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 &&
|
|
85
|
+
// Nested navigators cannot be defined as a getter
|
|
86
|
+
Object.getOwnPropertyDescriptor(item, 'screen')?.get == null && 'config' in item.screen ? item.screen : undefined;
|
|
87
|
+
if (nested) {
|
|
88
|
+
const initialRouteName = findInitialRouteName(nested.config);
|
|
89
|
+
const stateFromParams = focusedRoute.params != null && consumedParams?.has(focusedRoute.params) ? undefined : getStateFromRouteParams(params);
|
|
90
|
+
let childState = previousState !== undefined && stateFromParams != null ? stateFromParams : focusedRoute.state ?? stateFromParams;
|
|
91
|
+
if (childState == null && initialRouteName != null) {
|
|
92
|
+
childState = {
|
|
93
|
+
routes: [{
|
|
94
|
+
name: initialRouteName
|
|
95
|
+
}]
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
let previousChildState;
|
|
99
|
+
if (!isNewlyFocused) {
|
|
100
|
+
const previousRouteParams = previousFocusedRoute?.params;
|
|
101
|
+
const previousParams = initialParams != null || previousRouteParams != null ? {
|
|
102
|
+
...initialParams,
|
|
103
|
+
...previousRouteParams
|
|
104
|
+
} : undefined;
|
|
105
|
+
const previousStateFromParams = previousRouteParams != null && consumedParams?.has(previousRouteParams) ? undefined : getStateFromRouteParams(previousParams);
|
|
106
|
+
previousChildState = previousFocusedRoute?.state ?? previousStateFromParams;
|
|
107
|
+
if (previousChildState == null && initialRouteName != null) {
|
|
108
|
+
previousChildState = {
|
|
109
|
+
routes: [{
|
|
110
|
+
name: initialRouteName
|
|
111
|
+
}]
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
const childLoader = getLoaderForStateChange(nested, childState, previousState === undefined ? undefined : previousChildState ?? {
|
|
116
|
+
routes: []
|
|
117
|
+
}, consumedParams);
|
|
118
|
+
if (childLoader) {
|
|
119
|
+
loaders.push(childLoader);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
if (loaders.length === 0) {
|
|
123
|
+
return undefined;
|
|
124
|
+
}
|
|
125
|
+
return async () => {
|
|
126
|
+
await Promise.all(loaders.map(l => l()));
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=DataLoading.js.map
|