@react-navigation/core 7.0.0-alpha.0 → 7.0.0-alpha.10
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/commonjs/BaseNavigationContainer.js +57 -63
- package/lib/commonjs/BaseNavigationContainer.js.map +1 -1
- package/lib/commonjs/CurrentRenderContext.js +4 -6
- package/lib/commonjs/CurrentRenderContext.js.map +1 -1
- package/lib/commonjs/DeprecatedNavigationInChildContext.js +4 -6
- package/lib/commonjs/DeprecatedNavigationInChildContext.js.map +1 -1
- package/lib/commonjs/EnsureSingleNavigator.js +4 -5
- package/lib/commonjs/EnsureSingleNavigator.js.map +1 -1
- package/lib/commonjs/Group.js +1 -1
- package/lib/commonjs/Group.js.map +1 -1
- package/lib/commonjs/NavigationBuilderContext.js +4 -6
- package/lib/commonjs/NavigationBuilderContext.js.map +1 -1
- package/lib/commonjs/NavigationContainerRefContext.js +4 -6
- package/lib/commonjs/NavigationContainerRefContext.js.map +1 -1
- package/lib/commonjs/NavigationContext.js +4 -6
- package/lib/commonjs/NavigationContext.js.map +1 -1
- package/lib/commonjs/NavigationHelpersContext.js +4 -6
- package/lib/commonjs/NavigationHelpersContext.js.map +1 -1
- package/lib/commonjs/NavigationIndependentTree.js +9 -10
- package/lib/commonjs/NavigationIndependentTree.js.map +1 -1
- package/lib/commonjs/NavigationIndependentTreeContext.js +4 -6
- package/lib/commonjs/NavigationIndependentTreeContext.js.map +1 -1
- package/lib/commonjs/NavigationRouteContext.js +4 -6
- package/lib/commonjs/NavigationRouteContext.js.map +1 -1
- package/lib/commonjs/NavigationStateContext.js +4 -5
- package/lib/commonjs/NavigationStateContext.js.map +1 -1
- package/lib/commonjs/PreventRemoveContext.js +9 -6
- package/lib/commonjs/PreventRemoveContext.js.map +1 -1
- package/lib/commonjs/PreventRemoveProvider.js +16 -18
- package/lib/commonjs/PreventRemoveProvider.js.map +1 -1
- package/lib/commonjs/SceneView.js +10 -11
- package/lib/commonjs/SceneView.js.map +1 -1
- package/lib/commonjs/Screen.js +1 -1
- package/lib/commonjs/Screen.js.map +1 -1
- package/lib/commonjs/StaticContainer.js +5 -7
- package/lib/commonjs/StaticContainer.js.map +1 -1
- package/lib/commonjs/StaticNavigation.js +36 -10
- package/lib/commonjs/StaticNavigation.js.map +1 -1
- package/lib/commonjs/UnhandledActionContext.js +4 -6
- package/lib/commonjs/UnhandledActionContext.js.map +1 -1
- package/lib/commonjs/checkDuplicateRouteNames.js +2 -3
- package/lib/commonjs/checkDuplicateRouteNames.js.map +1 -1
- package/lib/commonjs/checkSerializable.js +1 -1
- package/lib/commonjs/checkSerializable.js.map +1 -1
- package/lib/commonjs/createNavigationContainerRef.js +2 -3
- package/lib/commonjs/createNavigationContainerRef.js.map +1 -1
- package/lib/commonjs/createNavigatorFactory.js +7 -11
- package/lib/commonjs/createNavigatorFactory.js.map +1 -1
- package/lib/commonjs/findFocusedRoute.js +3 -5
- package/lib/commonjs/findFocusedRoute.js.map +1 -1
- package/lib/commonjs/getActionFromState.js +7 -9
- package/lib/commonjs/getActionFromState.js.map +1 -1
- package/lib/commonjs/getFocusedRouteNameFromRoute.js +2 -2
- package/lib/commonjs/getFocusedRouteNameFromRoute.js.map +1 -1
- package/lib/commonjs/getPathFromState.js +24 -25
- package/lib/commonjs/getPathFromState.js.map +1 -1
- package/lib/commonjs/getStateFromPath.js +29 -22
- package/lib/commonjs/getStateFromPath.js.map +1 -1
- package/lib/commonjs/index.js +78 -76
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/isArrayEqual.js +1 -1
- package/lib/commonjs/isArrayEqual.js.map +1 -1
- package/lib/commonjs/isRecordEqual.js +1 -1
- package/lib/commonjs/isRecordEqual.js.map +1 -1
- package/lib/commonjs/theming/ThemeContext.js +12 -0
- package/lib/commonjs/theming/ThemeContext.js.map +1 -0
- package/lib/commonjs/theming/ThemeProvider.js +20 -0
- package/lib/commonjs/theming/ThemeProvider.js.map +1 -0
- package/lib/commonjs/theming/useTheme.js +18 -0
- package/lib/commonjs/theming/useTheme.js.map +1 -0
- package/lib/commonjs/types.js +1 -8
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/useChildListeners.js +3 -3
- package/lib/commonjs/useChildListeners.js.map +1 -1
- package/lib/commonjs/useComponent.js +3 -3
- package/lib/commonjs/useComponent.js.map +1 -1
- package/lib/commonjs/useCurrentRender.js +5 -6
- package/lib/commonjs/useCurrentRender.js.map +1 -1
- package/lib/commonjs/useDescriptors.js +92 -41
- package/lib/commonjs/useDescriptors.js.map +1 -1
- package/lib/commonjs/useEventEmitter.js +6 -7
- package/lib/commonjs/useEventEmitter.js.map +1 -1
- package/lib/commonjs/useFocusEffect.js +7 -6
- package/lib/commonjs/useFocusEffect.js.map +1 -1
- package/lib/commonjs/useFocusEvents.js +7 -8
- package/lib/commonjs/useFocusEvents.js.map +1 -1
- package/lib/commonjs/useFocusedListenersChildrenAdapter.js +6 -7
- package/lib/commonjs/useFocusedListenersChildrenAdapter.js.map +1 -1
- package/lib/commonjs/useIsFocused.js +8 -8
- package/lib/commonjs/useIsFocused.js.map +1 -1
- package/lib/commonjs/useIsomorphicLayoutEffect.js +12 -0
- package/lib/commonjs/useIsomorphicLayoutEffect.js.map +1 -0
- package/lib/commonjs/useIsomorphicLayoutEffect.native.js +9 -0
- package/lib/commonjs/useIsomorphicLayoutEffect.native.js.map +1 -0
- package/lib/commonjs/useKeyedChildListeners.js +3 -3
- package/lib/commonjs/useKeyedChildListeners.js.map +1 -1
- package/lib/commonjs/useNavigation.js +7 -8
- package/lib/commonjs/useNavigation.js.map +1 -1
- package/lib/commonjs/useNavigationBuilder.js +115 -106
- package/lib/commonjs/useNavigationBuilder.js.map +1 -1
- package/lib/commonjs/useNavigationCache.js +60 -20
- package/lib/commonjs/useNavigationCache.js.map +1 -1
- package/lib/commonjs/useNavigationContainerRef.js +5 -6
- package/lib/commonjs/useNavigationContainerRef.js.map +1 -1
- package/lib/commonjs/useNavigationHelpers.js +9 -11
- package/lib/commonjs/useNavigationHelpers.js.map +1 -1
- package/lib/commonjs/useNavigationIndependentTree.js +5 -6
- package/lib/commonjs/useNavigationIndependentTree.js.map +1 -1
- package/lib/commonjs/useNavigationState.js +5 -6
- package/lib/commonjs/useNavigationState.js.map +1 -1
- package/lib/commonjs/useOnAction.js +13 -12
- package/lib/commonjs/useOnAction.js.map +1 -1
- package/lib/commonjs/useOnGetState.js +11 -13
- package/lib/commonjs/useOnGetState.js.map +1 -1
- package/lib/commonjs/useOnPreventRemove.js +10 -12
- package/lib/commonjs/useOnPreventRemove.js.map +1 -1
- package/lib/commonjs/useOnRouteFocus.js +5 -6
- package/lib/commonjs/useOnRouteFocus.js.map +1 -1
- package/lib/commonjs/useOptionsGetters.js +14 -16
- package/lib/commonjs/useOptionsGetters.js.map +1 -1
- package/lib/commonjs/usePreventRemove.js +10 -10
- package/lib/commonjs/usePreventRemove.js.map +1 -1
- package/lib/commonjs/usePreventRemoveContext.js +5 -6
- package/lib/commonjs/usePreventRemoveContext.js.map +1 -1
- package/lib/commonjs/useRegisterNavigator.js +3 -3
- package/lib/commonjs/useRegisterNavigator.js.map +1 -1
- package/lib/commonjs/useRoute.js +5 -6
- package/lib/commonjs/useRoute.js.map +1 -1
- package/lib/commonjs/useRouteCache.js +20 -17
- package/lib/commonjs/useRouteCache.js.map +1 -1
- package/lib/commonjs/useSyncState.js +28 -57
- package/lib/commonjs/useSyncState.js.map +1 -1
- package/lib/commonjs/validatePathConfig.js +38 -11
- package/lib/commonjs/validatePathConfig.js.map +1 -1
- package/lib/module/BaseNavigationContainer.js +39 -44
- package/lib/module/BaseNavigationContainer.js.map +1 -1
- package/lib/module/CurrentRenderContext.js +1 -2
- package/lib/module/CurrentRenderContext.js.map +1 -1
- package/lib/module/DeprecatedNavigationInChildContext.js +1 -2
- package/lib/module/DeprecatedNavigationInChildContext.js.map +1 -1
- package/lib/module/EnsureSingleNavigator.js +1 -1
- package/lib/module/EnsureSingleNavigator.js.map +1 -1
- package/lib/module/Group.js +1 -1
- package/lib/module/Group.js.map +1 -1
- package/lib/module/NavigationBuilderContext.js +1 -2
- package/lib/module/NavigationBuilderContext.js.map +1 -1
- package/lib/module/NavigationContainerRefContext.js +1 -2
- package/lib/module/NavigationContainerRefContext.js.map +1 -1
- package/lib/module/NavigationContext.js +1 -2
- package/lib/module/NavigationContext.js.map +1 -1
- package/lib/module/NavigationHelpersContext.js +1 -2
- package/lib/module/NavigationHelpersContext.js.map +1 -1
- package/lib/module/NavigationIndependentTree.js +4 -4
- package/lib/module/NavigationIndependentTree.js.map +1 -1
- package/lib/module/NavigationIndependentTreeContext.js +1 -2
- package/lib/module/NavigationIndependentTreeContext.js.map +1 -1
- package/lib/module/NavigationRouteContext.js +1 -2
- package/lib/module/NavigationRouteContext.js.map +1 -1
- package/lib/module/NavigationStateContext.js +1 -1
- package/lib/module/NavigationStateContext.js.map +1 -1
- package/lib/module/PreventRemoveContext.js +1 -2
- package/lib/module/PreventRemoveContext.js.map +1 -1
- package/lib/module/PreventRemoveProvider.js +10 -12
- package/lib/module/PreventRemoveProvider.js.map +1 -1
- package/lib/module/SceneView.js +5 -5
- package/lib/module/SceneView.js.map +1 -1
- package/lib/module/Screen.js +1 -1
- package/lib/module/Screen.js.map +1 -1
- package/lib/module/StaticContainer.js +2 -3
- package/lib/module/StaticContainer.js.map +1 -1
- package/lib/module/StaticNavigation.js +28 -6
- package/lib/module/StaticNavigation.js.map +1 -1
- package/lib/module/UnhandledActionContext.js +1 -2
- package/lib/module/UnhandledActionContext.js.map +1 -1
- package/lib/module/checkDuplicateRouteNames.js +2 -3
- package/lib/module/checkDuplicateRouteNames.js.map +1 -1
- package/lib/module/checkSerializable.js +1 -1
- package/lib/module/checkSerializable.js.map +1 -1
- package/lib/module/createNavigationContainerRef.js +1 -1
- package/lib/module/createNavigationContainerRef.js.map +1 -1
- package/lib/module/createNavigatorFactory.js +3 -6
- package/lib/module/createNavigatorFactory.js.map +1 -1
- package/lib/module/findFocusedRoute.js +3 -5
- package/lib/module/findFocusedRoute.js.map +1 -1
- package/lib/module/getActionFromState.js +7 -9
- package/lib/module/getActionFromState.js.map +1 -1
- package/lib/module/getFocusedRouteNameFromRoute.js +2 -2
- package/lib/module/getFocusedRouteNameFromRoute.js.map +1 -1
- package/lib/module/getPathFromState.js +21 -21
- package/lib/module/getPathFromState.js.map +1 -1
- package/lib/module/getStateFromPath.js +25 -18
- package/lib/module/getStateFromPath.js.map +1 -1
- package/lib/module/index.js +31 -28
- package/lib/module/index.js.map +1 -1
- package/lib/module/isArrayEqual.js +1 -1
- package/lib/module/isArrayEqual.js.map +1 -1
- package/lib/module/isRecordEqual.js +1 -1
- package/lib/module/isRecordEqual.js.map +1 -1
- package/lib/module/theming/ThemeContext.js +4 -0
- package/lib/module/theming/ThemeContext.js.map +1 -0
- package/lib/module/theming/ThemeProvider.js +12 -0
- package/lib/module/theming/ThemeProvider.js.map +1 -0
- package/lib/module/theming/useTheme.js +10 -0
- package/lib/module/theming/useTheme.js.map +1 -0
- package/lib/module/types.js +1 -8
- package/lib/module/types.js.map +1 -1
- package/lib/module/useChildListeners.js +1 -1
- package/lib/module/useChildListeners.js.map +1 -1
- package/lib/module/useComponent.js +1 -1
- package/lib/module/useComponent.js.map +1 -1
- package/lib/module/useCurrentRender.js +2 -2
- package/lib/module/useCurrentRender.js.map +1 -1
- package/lib/module/useDescriptors.js +88 -36
- package/lib/module/useDescriptors.js.map +1 -1
- package/lib/module/useEventEmitter.js +4 -5
- 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 +4 -4
- 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 +2 -2
- package/lib/module/useIsFocused.js.map +1 -1
- package/lib/module/useIsomorphicLayoutEffect.js +7 -0
- package/lib/module/useIsomorphicLayoutEffect.js.map +1 -0
- package/lib/module/useIsomorphicLayoutEffect.native.js +3 -0
- package/lib/module/useIsomorphicLayoutEffect.native.js.map +1 -0
- package/lib/module/useKeyedChildListeners.js +1 -1
- package/lib/module/useKeyedChildListeners.js.map +1 -1
- package/lib/module/useNavigation.js +3 -3
- package/lib/module/useNavigation.js.map +1 -1
- package/lib/module/useNavigationBuilder.js +97 -88
- package/lib/module/useNavigationBuilder.js.map +1 -1
- package/lib/module/useNavigationCache.js +57 -16
- package/lib/module/useNavigationCache.js.map +1 -1
- package/lib/module/useNavigationContainerRef.js +2 -2
- package/lib/module/useNavigationContainerRef.js.map +1 -1
- package/lib/module/useNavigationHelpers.js +5 -6
- package/lib/module/useNavigationHelpers.js.map +1 -1
- package/lib/module/useNavigationIndependentTree.js +2 -2
- package/lib/module/useNavigationIndependentTree.js.map +1 -1
- package/lib/module/useNavigationState.js +2 -2
- package/lib/module/useNavigationState.js.map +1 -1
- package/lib/module/useOnAction.js +8 -6
- package/lib/module/useOnAction.js.map +1 -1
- package/lib/module/useOnGetState.js +6 -7
- package/lib/module/useOnGetState.js.map +1 -1
- package/lib/module/useOnPreventRemove.js +6 -7
- 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 +10 -11
- package/lib/module/useOptionsGetters.js.map +1 -1
- package/lib/module/usePreventRemove.js +5 -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 +1 -1
- package/lib/module/useRegisterNavigator.js.map +1 -1
- package/lib/module/useRoute.js +2 -2
- package/lib/module/useRoute.js.map +1 -1
- package/lib/module/useRouteCache.js +17 -13
- package/lib/module/useRouteCache.js.map +1 -1
- package/lib/module/useSyncState.js +25 -54
- package/lib/module/useSyncState.js.map +1 -1
- package/lib/module/validatePathConfig.js +38 -11
- package/lib/module/validatePathConfig.js.map +1 -1
- package/lib/typescript/src/BaseNavigationContainer.d.ts +3 -3
- package/lib/typescript/src/BaseNavigationContainer.d.ts.map +1 -1
- package/lib/typescript/src/CurrentRenderContext.d.ts +1 -2
- package/lib/typescript/src/CurrentRenderContext.d.ts.map +1 -1
- package/lib/typescript/src/DeprecatedNavigationInChildContext.d.ts +1 -2
- package/lib/typescript/src/DeprecatedNavigationInChildContext.d.ts.map +1 -1
- 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 +1 -2
- package/lib/typescript/src/NavigationBuilderContext.d.ts.map +1 -1
- package/lib/typescript/src/NavigationContainerRefContext.d.ts +1 -2
- package/lib/typescript/src/NavigationContainerRefContext.d.ts.map +1 -1
- package/lib/typescript/src/NavigationContext.d.ts +1 -18
- package/lib/typescript/src/NavigationContext.d.ts.map +1 -1
- package/lib/typescript/src/NavigationHelpersContext.d.ts +1 -2
- package/lib/typescript/src/NavigationHelpersContext.d.ts.map +1 -1
- package/lib/typescript/src/NavigationIndependentTree.d.ts +2 -2
- package/lib/typescript/src/NavigationIndependentTree.d.ts.map +1 -1
- package/lib/typescript/src/NavigationIndependentTreeContext.d.ts +1 -2
- package/lib/typescript/src/NavigationIndependentTreeContext.d.ts.map +1 -1
- package/lib/typescript/src/NavigationRouteContext.d.ts +1 -2
- package/lib/typescript/src/NavigationRouteContext.d.ts.map +1 -1
- package/lib/typescript/src/NavigationStateContext.d.ts +3 -20
- package/lib/typescript/src/NavigationStateContext.d.ts.map +1 -1
- package/lib/typescript/src/PreventRemoveContext.d.ts +1 -2
- 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 +2 -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 -3
- package/lib/typescript/src/StaticContainer.d.ts.map +1 -1
- package/lib/typescript/src/StaticNavigation.d.ts +12 -5
- package/lib/typescript/src/StaticNavigation.d.ts.map +1 -1
- package/lib/typescript/src/UnhandledActionContext.d.ts +1 -2
- package/lib/typescript/src/UnhandledActionContext.d.ts.map +1 -1
- package/lib/typescript/src/checkDuplicateRouteNames.d.ts +1 -1
- package/lib/typescript/src/checkDuplicateRouteNames.d.ts.map +1 -1
- package/lib/typescript/src/checkSerializable.d.ts +1 -1
- 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 +1 -1
- package/lib/typescript/src/createNavigatorFactory.d.ts.map +1 -1
- package/lib/typescript/src/findFocusedRoute.d.ts +2 -10
- package/lib/typescript/src/findFocusedRoute.d.ts.map +1 -1
- package/lib/typescript/src/getActionFromState.d.ts +1 -1
- package/lib/typescript/src/getActionFromState.d.ts.map +1 -1
- package/lib/typescript/src/getFocusedRouteNameFromRoute.d.ts +1 -1
- package/lib/typescript/src/getFocusedRouteNameFromRoute.d.ts.map +1 -1
- package/lib/typescript/src/getPathFromState.d.ts +2 -1
- package/lib/typescript/src/getPathFromState.d.ts.map +1 -1
- package/lib/typescript/src/getStateFromPath.d.ts +2 -1
- package/lib/typescript/src/getStateFromPath.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +31 -28
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/isArrayEqual.d.ts +1 -1
- package/lib/typescript/src/isArrayEqual.d.ts.map +1 -1
- package/lib/typescript/src/isRecordEqual.d.ts +1 -1
- package/lib/typescript/src/isRecordEqual.d.ts.map +1 -1
- package/lib/typescript/src/theming/ThemeContext.d.ts +3 -0
- package/lib/typescript/src/theming/ThemeContext.d.ts.map +1 -0
- package/lib/typescript/src/theming/ThemeProvider.d.ts +8 -0
- package/lib/typescript/src/theming/ThemeProvider.d.ts.map +1 -0
- package/lib/typescript/src/theming/useTheme.d.ts +2 -0
- package/lib/typescript/src/theming/useTheme.d.ts.map +1 -0
- package/lib/typescript/src/types.d.ts +80 -1
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/useChildListeners.d.ts +1 -1
- package/lib/typescript/src/useChildListeners.d.ts.map +1 -1
- package/lib/typescript/src/useComponent.d.ts +2 -2
- package/lib/typescript/src/useComponent.d.ts.map +1 -1
- package/lib/typescript/src/useCurrentRender.d.ts +1 -1
- package/lib/typescript/src/useCurrentRender.d.ts.map +1 -1
- package/lib/typescript/src/useDescriptors.d.ts +107 -59
- package/lib/typescript/src/useDescriptors.d.ts.map +1 -1
- package/lib/typescript/src/useEventEmitter.d.ts +1 -1
- package/lib/typescript/src/useEventEmitter.d.ts.map +1 -1
- package/lib/typescript/src/useFocusEffect.d.ts +1 -1
- package/lib/typescript/src/useFocusEffect.d.ts.map +1 -1
- package/lib/typescript/src/useFocusEvents.d.ts +1 -1
- 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 +1 -1
- package/lib/typescript/src/useIsFocused.d.ts.map +1 -1
- package/lib/typescript/src/useIsomorphicLayoutEffect.d.ts +6 -0
- package/lib/typescript/src/useIsomorphicLayoutEffect.d.ts.map +1 -0
- package/lib/typescript/src/useIsomorphicLayoutEffect.native.d.ts +3 -0
- package/lib/typescript/src/useIsomorphicLayoutEffect.native.d.ts.map +1 -0
- package/lib/typescript/src/useKeyedChildListeners.d.ts +1 -1
- package/lib/typescript/src/useKeyedChildListeners.d.ts.map +1 -1
- package/lib/typescript/src/useNavigation.d.ts +4 -1
- package/lib/typescript/src/useNavigation.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationBuilder.d.ts +99 -63
- package/lib/typescript/src/useNavigationBuilder.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationCache.d.ts +53 -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 +26 -40
- package/lib/typescript/src/useNavigationHelpers.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationIndependentTree.d.ts +1 -1
- package/lib/typescript/src/useNavigationIndependentTree.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationState.d.ts +1 -1
- package/lib/typescript/src/useNavigationState.d.ts.map +1 -1
- package/lib/typescript/src/useOnAction.d.ts +2 -2
- package/lib/typescript/src/useOnAction.d.ts.map +1 -1
- package/lib/typescript/src/useOnGetState.d.ts +2 -2
- package/lib/typescript/src/useOnGetState.d.ts.map +1 -1
- package/lib/typescript/src/useOnPreventRemove.d.ts +2 -2
- package/lib/typescript/src/useOnPreventRemove.d.ts.map +1 -1
- package/lib/typescript/src/useOnRouteFocus.d.ts +1 -1
- 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 +1 -1
- package/lib/typescript/src/usePreventRemove.d.ts.map +1 -1
- package/lib/typescript/src/usePreventRemoveContext.d.ts +1 -1
- package/lib/typescript/src/usePreventRemoveContext.d.ts.map +1 -1
- package/lib/typescript/src/useRegisterNavigator.d.ts +1 -1
- package/lib/typescript/src/useRegisterNavigator.d.ts.map +1 -1
- package/lib/typescript/src/useRoute.d.ts +1 -1
- package/lib/typescript/src/useRoute.d.ts.map +1 -1
- package/lib/typescript/src/useRouteCache.d.ts +1 -1
- package/lib/typescript/src/useRouteCache.d.ts.map +1 -1
- package/lib/typescript/src/useSyncState.d.ts +1 -4
- package/lib/typescript/src/useSyncState.d.ts.map +1 -1
- package/lib/typescript/src/validatePathConfig.d.ts +1 -1
- package/lib/typescript/src/validatePathConfig.d.ts.map +1 -1
- package/lib/typescript/utils/usePrevious.d.ts +6 -0
- package/lib/typescript/utils/usePrevious.d.ts.map +1 -0
- package/package.json +14 -14
- package/src/BaseNavigationContainer.tsx +52 -55
- package/src/CurrentRenderContext.tsx +1 -3
- package/src/DeprecatedNavigationInChildContext.tsx +1 -3
- package/src/EnsureSingleNavigator.tsx +1 -1
- package/src/Group.tsx +2 -2
- package/src/NavigationBuilderContext.tsx +1 -3
- package/src/NavigationContainerRefContext.tsx +1 -3
- package/src/NavigationContext.tsx +1 -3
- package/src/NavigationHelpersContext.tsx +1 -3
- package/src/NavigationIndependentTree.tsx +4 -4
- package/src/NavigationIndependentTreeContext.tsx +1 -3
- package/src/NavigationRouteContext.tsx +3 -5
- package/src/NavigationStateContext.tsx +1 -1
- package/src/PreventRemoveContext.tsx +1 -3
- package/src/PreventRemoveProvider.tsx +7 -4
- package/src/SceneView.tsx +6 -6
- package/src/Screen.tsx +2 -2
- package/src/StaticContainer.tsx +19 -18
- package/src/StaticNavigation.tsx +35 -33
- package/src/UnhandledActionContext.tsx +1 -3
- package/src/checkDuplicateRouteNames.tsx +2 -2
- package/src/checkSerializable.tsx +1 -1
- package/src/createNavigationContainerRef.tsx +2 -2
- package/src/createNavigatorFactory.tsx +5 -7
- package/src/findFocusedRoute.tsx +1 -1
- package/src/getActionFromState.tsx +2 -2
- package/src/getFocusedRouteNameFromRoute.tsx +4 -4
- package/src/getPathFromState.tsx +16 -13
- package/src/getStateFromPath.tsx +25 -6
- package/src/index.tsx +33 -30
- package/src/isArrayEqual.tsx +1 -1
- package/src/isRecordEqual.tsx +1 -4
- package/src/theming/ThemeContext.tsx +7 -0
- package/src/theming/ThemeProvider.tsx +14 -0
- package/src/theming/useTheme.tsx +15 -0
- package/src/types.tsx +133 -17
- package/src/useChildListeners.tsx +1 -1
- package/src/useComponent.tsx +1 -1
- package/src/useCurrentRender.tsx +2 -6
- package/src/useDescriptors.tsx +161 -66
- package/src/useEventEmitter.tsx +1 -1
- package/src/useFocusEffect.tsx +3 -2
- package/src/useFocusEvents.tsx +2 -2
- package/src/useFocusedListenersChildrenAdapter.tsx +5 -4
- package/src/useIsFocused.tsx +2 -2
- package/src/useIsomorphicLayoutEffect.native.tsx +3 -0
- package/src/useIsomorphicLayoutEffect.tsx +7 -0
- package/src/useKeyedChildListeners.tsx +1 -1
- package/src/useNavigation.tsx +7 -4
- package/src/useNavigationBuilder.tsx +141 -122
- package/src/useNavigationCache.tsx +93 -32
- package/src/useNavigationContainerRef.tsx +3 -3
- package/src/useNavigationHelpers.tsx +9 -10
- package/src/useNavigationIndependentTree.tsx +2 -2
- package/src/useNavigationState.tsx +2 -2
- package/src/useOnAction.tsx +13 -7
- package/src/useOnGetState.tsx +6 -8
- package/src/useOnPreventRemove.tsx +5 -4
- package/src/useOnRouteFocus.tsx +2 -2
- package/src/useOptionsGetters.tsx +5 -9
- package/src/usePreventRemove.tsx +4 -4
- package/src/usePreventRemoveContext.tsx +2 -2
- package/src/useRegisterNavigator.tsx +1 -1
- package/src/useRoute.tsx +2 -2
- package/src/useRouteCache.tsx +18 -17
- package/src/useSyncState.tsx +31 -59
- package/src/validatePathConfig.tsx +58 -14
- package/lib/commonjs/fromEntries.js +0 -18
- package/lib/commonjs/fromEntries.js.map +0 -1
- package/lib/commonjs/useScheduleUpdate.js +0 -37
- package/lib/commonjs/useScheduleUpdate.js.map +0 -1
- package/lib/module/fromEntries.js +0 -12
- package/lib/module/fromEntries.js.map +0 -1
- package/lib/module/useScheduleUpdate.js +0 -27
- package/lib/module/useScheduleUpdate.js.map +0 -1
- package/lib/typescript/src/fromEntries.d.ts +0 -2
- package/lib/typescript/src/fromEntries.d.ts.map +0 -1
- package/lib/typescript/src/useScheduleUpdate.d.ts +0 -14
- package/lib/typescript/src/useScheduleUpdate.d.ts.map +0 -1
- package/src/fromEntries.tsx +0 -13
- package/src/useScheduleUpdate.tsx +0 -32
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { NavigationState, PartialState } from '@react-navigation/routers';
|
|
2
2
|
|
|
3
|
-
export
|
|
3
|
+
export function checkDuplicateRouteNames(state: NavigationState) {
|
|
4
4
|
const duplicates: string[][] = [];
|
|
5
5
|
|
|
6
6
|
const getRouteNames = (
|
|
7
7
|
location: string,
|
|
8
8
|
state: NavigationState | PartialState<NavigationState>
|
|
9
9
|
) => {
|
|
10
|
-
state.routes.forEach((route: typeof state.routes[0]) => {
|
|
10
|
+
state.routes.forEach((route: (typeof state.routes)[0]) => {
|
|
11
11
|
const currentLocation = location
|
|
12
12
|
? `${location} > ${route.name}`
|
|
13
13
|
: route.name;
|
|
@@ -69,6 +69,6 @@ const checkSerializableWithoutCircularReference = (
|
|
|
69
69
|
return { serializable: true };
|
|
70
70
|
};
|
|
71
71
|
|
|
72
|
-
export
|
|
72
|
+
export function checkSerializable(o: { [key: string]: any }) {
|
|
73
73
|
return checkSerializableWithoutCircularReference(o, new Set<any>(), []);
|
|
74
74
|
}
|
|
@@ -9,8 +9,8 @@ import type {
|
|
|
9
9
|
export const NOT_INITIALIZED_ERROR =
|
|
10
10
|
"The 'navigation' object hasn't been initialized yet. This might happen if you don't have a navigator mounted, or if the navigator hasn't finished mounting. See https://reactnavigation.org/docs/navigating-without-navigation-prop#handling-initialization for more details.";
|
|
11
11
|
|
|
12
|
-
export
|
|
13
|
-
ParamList extends {} = ReactNavigation.RootParamList
|
|
12
|
+
export function createNavigationContainerRef<
|
|
13
|
+
ParamList extends {} = ReactNavigation.RootParamList,
|
|
14
14
|
>(): NavigationContainerRefWithCurrent<ParamList> {
|
|
15
15
|
const methods = [
|
|
16
16
|
...Object.keys(CommonActions),
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { NavigationState, ParamListBase } from '@react-navigation/routers';
|
|
2
2
|
import type * as React from 'react';
|
|
3
3
|
|
|
4
|
-
import Group from './Group';
|
|
5
|
-
import Screen from './Screen';
|
|
4
|
+
import { Group } from './Group';
|
|
5
|
+
import { Screen } from './Screen';
|
|
6
6
|
import type { StaticConfig } from './StaticNavigation';
|
|
7
7
|
import type { EventMapBase, TypedNavigator } from './types';
|
|
8
8
|
|
|
@@ -13,11 +13,11 @@ import type { EventMapBase, TypedNavigator } from './types';
|
|
|
13
13
|
* @param Navigator The navigator component to wrap.
|
|
14
14
|
* @returns Factory method to create a `Navigator` and `Screen` pair.
|
|
15
15
|
*/
|
|
16
|
-
export
|
|
16
|
+
export function createNavigatorFactory<
|
|
17
17
|
State extends NavigationState,
|
|
18
18
|
ScreenOptions extends {},
|
|
19
19
|
EventMap extends EventMapBase,
|
|
20
|
-
NavigatorComponent extends React.ComponentType<any
|
|
20
|
+
NavigatorComponent extends React.ComponentType<any>,
|
|
21
21
|
>(Navigator: NavigatorComponent) {
|
|
22
22
|
function createNavigator<ParamList extends ParamListBase>(): TypedNavigator<
|
|
23
23
|
ParamList,
|
|
@@ -27,7 +27,6 @@ export default function createNavigatorFactory<
|
|
|
27
27
|
typeof Navigator
|
|
28
28
|
>;
|
|
29
29
|
|
|
30
|
-
// eslint-disable-next-line no-redeclare
|
|
31
30
|
function createNavigator<
|
|
32
31
|
ParamList extends ParamListBase,
|
|
33
32
|
Config extends StaticConfig<
|
|
@@ -36,7 +35,7 @@ export default function createNavigatorFactory<
|
|
|
36
35
|
ScreenOptions,
|
|
37
36
|
EventMap,
|
|
38
37
|
typeof Navigator
|
|
39
|
-
|
|
38
|
+
>,
|
|
40
39
|
>(
|
|
41
40
|
config: Config
|
|
42
41
|
): TypedNavigator<
|
|
@@ -47,7 +46,6 @@ export default function createNavigatorFactory<
|
|
|
47
46
|
typeof Navigator
|
|
48
47
|
> & { config: Config };
|
|
49
48
|
|
|
50
|
-
// eslint-disable-next-line no-redeclare
|
|
51
49
|
function createNavigator(config?: any): any {
|
|
52
50
|
if (config != null) {
|
|
53
51
|
return {
|
package/src/findFocusedRoute.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { InitialState } from '@react-navigation/routers';
|
|
2
2
|
|
|
3
|
-
export
|
|
3
|
+
export function findFocusedRoute(state: InitialState) {
|
|
4
4
|
let current: InitialState | undefined = state;
|
|
5
5
|
|
|
6
6
|
while (current?.routes[current.index ?? 0].state != null) {
|
|
@@ -28,7 +28,7 @@ type NavigateAction<State extends NavigationState> = {
|
|
|
28
28
|
};
|
|
29
29
|
};
|
|
30
30
|
|
|
31
|
-
export
|
|
31
|
+
export function getActionFromState(
|
|
32
32
|
state: PartialState<NavigationState>,
|
|
33
33
|
options?: Options
|
|
34
34
|
): NavigateAction<NavigationState> | CommonActions.Action | undefined {
|
|
@@ -65,7 +65,7 @@ export default function getActionFromState(
|
|
|
65
65
|
let config: ConfigItem | undefined = normalizedConfig?.screens?.[route?.name];
|
|
66
66
|
let params = { ...route.params } as NavigatorScreenParams<ParamListBase>;
|
|
67
67
|
|
|
68
|
-
|
|
68
|
+
const payload = route
|
|
69
69
|
? { name: route.name, path: route.path, params }
|
|
70
70
|
: undefined;
|
|
71
71
|
|
|
@@ -2,7 +2,7 @@ import type { Route } from '@react-navigation/routers';
|
|
|
2
2
|
|
|
3
3
|
import { CHILD_STATE } from './useRouteCache';
|
|
4
4
|
|
|
5
|
-
export
|
|
5
|
+
export function getFocusedRouteNameFromRoute(
|
|
6
6
|
route: Partial<Route<string>>
|
|
7
7
|
): string | undefined {
|
|
8
8
|
// @ts-expect-error: this isn't in type definitions coz we want this private
|
|
@@ -20,9 +20,9 @@ export default function getFocusedRouteNameFromRoute(
|
|
|
20
20
|
: state.routes.length - 1)
|
|
21
21
|
].name
|
|
22
22
|
: // If state doesn't exist, we need to default to `screen` param if available
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
typeof params?.screen === 'string'
|
|
24
|
+
? params.screen
|
|
25
|
+
: undefined;
|
|
26
26
|
|
|
27
27
|
return routeName;
|
|
28
28
|
}
|
package/src/getPathFromState.tsx
CHANGED
|
@@ -5,11 +5,11 @@ import type {
|
|
|
5
5
|
} from '@react-navigation/routers';
|
|
6
6
|
import * as queryString from 'query-string';
|
|
7
7
|
|
|
8
|
-
import fromEntries from './fromEntries';
|
|
9
8
|
import type { PathConfig, PathConfigMap } from './types';
|
|
10
|
-
import validatePathConfig from './validatePathConfig';
|
|
9
|
+
import { validatePathConfig } from './validatePathConfig';
|
|
11
10
|
|
|
12
11
|
type Options<ParamList extends {}> = {
|
|
12
|
+
path?: string;
|
|
13
13
|
initialRouteName?: string;
|
|
14
14
|
screens: PathConfigMap<ParamList>;
|
|
15
15
|
};
|
|
@@ -66,7 +66,7 @@ const getActiveRoute = (state: State): { name: string; params?: object } => {
|
|
|
66
66
|
* @param options Extra options to fine-tune how to serialize the path.
|
|
67
67
|
* @returns Path representing the state, e.g. /foo/bar?count=42.
|
|
68
68
|
*/
|
|
69
|
-
export
|
|
69
|
+
export function getPathFromState<ParamList extends {}>(
|
|
70
70
|
state: State,
|
|
71
71
|
options?: Options<ParamList>
|
|
72
72
|
): string {
|
|
@@ -99,11 +99,11 @@ export default function getPathFromState<ParamList extends {}>(
|
|
|
99
99
|
let pattern: string | undefined;
|
|
100
100
|
|
|
101
101
|
let focusedParams: Record<string, any> | undefined;
|
|
102
|
-
|
|
102
|
+
const focusedRoute = getActiveRoute(state);
|
|
103
103
|
let currentOptions = configs;
|
|
104
104
|
|
|
105
105
|
// Keep all the route names that appeared during going deeper in config in case the pattern is resolved to undefined
|
|
106
|
-
|
|
106
|
+
const nestedRouteNames = [];
|
|
107
107
|
|
|
108
108
|
let hasNext = true;
|
|
109
109
|
|
|
@@ -115,7 +115,7 @@ export default function getPathFromState<ParamList extends {}>(
|
|
|
115
115
|
if (route.params) {
|
|
116
116
|
const stringify = currentOptions[route.name]?.stringify;
|
|
117
117
|
|
|
118
|
-
const currentParams = fromEntries(
|
|
118
|
+
const currentParams = Object.fromEntries(
|
|
119
119
|
Object.entries(route.params).map(([key, value]) => [
|
|
120
120
|
key,
|
|
121
121
|
stringify?.[key] ? stringify[key](value) : String(value),
|
|
@@ -213,7 +213,7 @@ export default function getPathFromState<ParamList extends {}>(
|
|
|
213
213
|
if (route.state) {
|
|
214
214
|
path += '/';
|
|
215
215
|
} else if (focusedParams) {
|
|
216
|
-
for (
|
|
216
|
+
for (const param in focusedParams) {
|
|
217
217
|
if (focusedParams[param] === 'undefined') {
|
|
218
218
|
// eslint-disable-next-line @typescript-eslint/no-dynamic-delete
|
|
219
219
|
delete focusedParams[param];
|
|
@@ -234,6 +234,11 @@ export default function getPathFromState<ParamList extends {}>(
|
|
|
234
234
|
path = path.replace(/\/+/g, '/');
|
|
235
235
|
path = path.length > 1 ? path.replace(/\/$/, '') : path;
|
|
236
236
|
|
|
237
|
+
// Include the root path if specified
|
|
238
|
+
if (options?.path) {
|
|
239
|
+
path = joinPaths(options.path, path);
|
|
240
|
+
}
|
|
241
|
+
|
|
237
242
|
return path;
|
|
238
243
|
}
|
|
239
244
|
|
|
@@ -257,17 +262,15 @@ const createConfigItem = (
|
|
|
257
262
|
return { pattern };
|
|
258
263
|
}
|
|
259
264
|
|
|
260
|
-
// If an object is specified as the value (e.g. Foo: { ... }),
|
|
261
|
-
// It can have `path` property and `screens` prop which has nested configs
|
|
262
|
-
let pattern: string | undefined;
|
|
263
|
-
|
|
264
265
|
if (config.exact && config.path === undefined) {
|
|
265
266
|
throw new Error(
|
|
266
267
|
"A 'path' needs to be specified when specifying 'exact: true'. If you don't want this screen in the URL, specify it as empty string, e.g. `path: ''`."
|
|
267
268
|
);
|
|
268
269
|
}
|
|
269
270
|
|
|
270
|
-
|
|
271
|
+
// If an object is specified as the value (e.g. Foo: { ... }),
|
|
272
|
+
// It can have `path` property and `screens` prop which has nested configs
|
|
273
|
+
const pattern =
|
|
271
274
|
config.exact !== true
|
|
272
275
|
? joinPaths(parentPattern || '', config.path || '')
|
|
273
276
|
: config.path || '';
|
|
@@ -288,7 +291,7 @@ const createNormalizedConfigs = (
|
|
|
288
291
|
options: PathConfigMap<object>,
|
|
289
292
|
pattern?: string
|
|
290
293
|
): Record<string, ConfigItem> =>
|
|
291
|
-
fromEntries(
|
|
294
|
+
Object.fromEntries(
|
|
292
295
|
Object.entries(options).map(([name, c]) => {
|
|
293
296
|
const result = createConfigItem(c, pattern);
|
|
294
297
|
|
package/src/getStateFromPath.tsx
CHANGED
|
@@ -6,11 +6,12 @@ import type {
|
|
|
6
6
|
import escape from 'escape-string-regexp';
|
|
7
7
|
import * as queryString from 'query-string';
|
|
8
8
|
|
|
9
|
-
import findFocusedRoute from './findFocusedRoute';
|
|
9
|
+
import { findFocusedRoute } from './findFocusedRoute';
|
|
10
10
|
import type { PathConfigMap } from './types';
|
|
11
|
-
import validatePathConfig from './validatePathConfig';
|
|
11
|
+
import { validatePathConfig } from './validatePathConfig';
|
|
12
12
|
|
|
13
13
|
type Options<ParamList extends {}> = {
|
|
14
|
+
path?: string;
|
|
14
15
|
initialRouteName?: string;
|
|
15
16
|
screens: PathConfigMap<ParamList>;
|
|
16
17
|
};
|
|
@@ -62,7 +63,7 @@ type ParsedRoute = {
|
|
|
62
63
|
* @param path Path string to parse and convert, e.g. /foo/bar?count=42.
|
|
63
64
|
* @param options Extra options to fine-tune how to parse the path.
|
|
64
65
|
*/
|
|
65
|
-
export
|
|
66
|
+
export function getStateFromPath<ParamList extends {}>(
|
|
66
67
|
path: string,
|
|
67
68
|
options?: Options<ParamList>
|
|
68
69
|
): ResultState | undefined {
|
|
@@ -70,7 +71,7 @@ export default function getStateFromPath<ParamList extends {}>(
|
|
|
70
71
|
validatePathConfig(options);
|
|
71
72
|
}
|
|
72
73
|
|
|
73
|
-
|
|
74
|
+
const initialRoutes: InitialRouteConfig[] = [];
|
|
74
75
|
|
|
75
76
|
if (options?.initialRouteName) {
|
|
76
77
|
initialRoutes.push({
|
|
@@ -89,6 +90,21 @@ export default function getStateFromPath<ParamList extends {}>(
|
|
|
89
90
|
// Make sure there is a trailing slash
|
|
90
91
|
remaining = remaining.endsWith('/') ? remaining : `${remaining}/`;
|
|
91
92
|
|
|
93
|
+
const prefix = options?.path?.replace(/^\//, ''); // Remove extra leading slash
|
|
94
|
+
|
|
95
|
+
if (prefix) {
|
|
96
|
+
// Make sure there is a trailing slash
|
|
97
|
+
const normalizedPrefix = prefix.endsWith('/') ? prefix : `${prefix}/`;
|
|
98
|
+
|
|
99
|
+
// If the path doesn't start with the prefix, it's not a match
|
|
100
|
+
if (!remaining.startsWith(normalizedPrefix)) {
|
|
101
|
+
return undefined;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// Remove the prefix from the path
|
|
105
|
+
remaining = remaining.replace(normalizedPrefix, '');
|
|
106
|
+
}
|
|
107
|
+
|
|
92
108
|
if (screens === undefined) {
|
|
93
109
|
// When no config is specified, use the path segments as route names
|
|
94
110
|
const routes = remaining
|
|
@@ -507,7 +523,6 @@ const createNestedStateObject = (
|
|
|
507
523
|
initialRoutes: InitialRouteConfig[],
|
|
508
524
|
flatConfig?: RouteConfig[]
|
|
509
525
|
) => {
|
|
510
|
-
let state: InitialState;
|
|
511
526
|
let route = routes.shift() as ParsedRoute;
|
|
512
527
|
const parentScreens: string[] = [];
|
|
513
528
|
|
|
@@ -515,7 +530,11 @@ const createNestedStateObject = (
|
|
|
515
530
|
|
|
516
531
|
parentScreens.push(route.name);
|
|
517
532
|
|
|
518
|
-
state = createStateObject(
|
|
533
|
+
const state: InitialState = createStateObject(
|
|
534
|
+
initialRoute,
|
|
535
|
+
route,
|
|
536
|
+
routes.length === 0
|
|
537
|
+
);
|
|
519
538
|
|
|
520
539
|
if (routes.length > 0) {
|
|
521
540
|
let nestedState = state;
|
package/src/index.tsx
CHANGED
|
@@ -1,36 +1,39 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
4
|
-
export {
|
|
5
|
-
export {
|
|
6
|
-
export {
|
|
7
|
-
export {
|
|
8
|
-
export {
|
|
9
|
-
export {
|
|
10
|
-
export {
|
|
11
|
-
export {
|
|
12
|
-
export {
|
|
13
|
-
export {
|
|
14
|
-
export {
|
|
15
|
-
export {
|
|
16
|
-
export {
|
|
1
|
+
export { BaseNavigationContainer } from './BaseNavigationContainer';
|
|
2
|
+
export { createNavigationContainerRef } from './createNavigationContainerRef';
|
|
3
|
+
export { createNavigatorFactory } from './createNavigatorFactory';
|
|
4
|
+
export { CurrentRenderContext } from './CurrentRenderContext';
|
|
5
|
+
export { findFocusedRoute } from './findFocusedRoute';
|
|
6
|
+
export { getActionFromState } from './getActionFromState';
|
|
7
|
+
export { getFocusedRouteNameFromRoute } from './getFocusedRouteNameFromRoute';
|
|
8
|
+
export { getPathFromState } from './getPathFromState';
|
|
9
|
+
export { getStateFromPath } from './getStateFromPath';
|
|
10
|
+
export { NavigationContainerRefContext } from './NavigationContainerRefContext';
|
|
11
|
+
export { NavigationContext } from './NavigationContext';
|
|
12
|
+
export { NavigationHelpersContext } from './NavigationHelpersContext';
|
|
13
|
+
export { NavigationIndependentTree } from './NavigationIndependentTree';
|
|
14
|
+
export { NavigationRouteContext } from './NavigationRouteContext';
|
|
15
|
+
export { PreventRemoveContext } from './PreventRemoveContext';
|
|
16
|
+
export { PreventRemoveProvider } from './PreventRemoveProvider';
|
|
17
17
|
export {
|
|
18
18
|
createComponentForStaticNavigation,
|
|
19
19
|
createPathConfigForStaticNavigation,
|
|
20
|
-
StaticNavigation,
|
|
21
|
-
StaticParamList,
|
|
22
|
-
StaticScreenProps,
|
|
20
|
+
type StaticNavigation,
|
|
21
|
+
type StaticParamList,
|
|
22
|
+
type StaticScreenProps,
|
|
23
23
|
} from './StaticNavigation';
|
|
24
|
+
export { ThemeContext } from './theming/ThemeContext';
|
|
25
|
+
export { ThemeProvider } from './theming/ThemeProvider';
|
|
26
|
+
export { useTheme } from './theming/useTheme';
|
|
24
27
|
export * from './types';
|
|
25
|
-
export {
|
|
26
|
-
export {
|
|
27
|
-
export {
|
|
28
|
-
export {
|
|
29
|
-
export {
|
|
30
|
-
export {
|
|
31
|
-
export {
|
|
32
|
-
export {
|
|
33
|
-
export {
|
|
34
|
-
export {
|
|
35
|
-
export {
|
|
28
|
+
export { useFocusEffect } from './useFocusEffect';
|
|
29
|
+
export { useIsFocused } from './useIsFocused';
|
|
30
|
+
export { useNavigation } from './useNavigation';
|
|
31
|
+
export { useNavigationBuilder } from './useNavigationBuilder';
|
|
32
|
+
export { useNavigationContainerRef } from './useNavigationContainerRef';
|
|
33
|
+
export { useNavigationIndependentTree } from './useNavigationIndependentTree';
|
|
34
|
+
export { useNavigationState } from './useNavigationState';
|
|
35
|
+
export { usePreventRemove } from './usePreventRemove';
|
|
36
|
+
export { usePreventRemoveContext } from './usePreventRemoveContext';
|
|
37
|
+
export { useRoute } from './useRoute';
|
|
38
|
+
export { validatePathConfig } from './validatePathConfig';
|
|
36
39
|
export * from '@react-navigation/routers';
|
package/src/isArrayEqual.tsx
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Compare two arrays with primitive values as the content.
|
|
3
3
|
* We need to make sure that both values and order match.
|
|
4
4
|
*/
|
|
5
|
-
export
|
|
5
|
+
export function isArrayEqual(a: any[], b: any[]) {
|
|
6
6
|
if (a === b) {
|
|
7
7
|
return true;
|
|
8
8
|
}
|
package/src/isRecordEqual.tsx
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Compare two records with primitive values as the content.
|
|
3
3
|
*/
|
|
4
|
-
export
|
|
5
|
-
a: Record<string, any>,
|
|
6
|
-
b: Record<string, any>
|
|
7
|
-
) {
|
|
4
|
+
export function isRecordEqual(a: Record<string, any>, b: Record<string, any>) {
|
|
8
5
|
if (a === b) {
|
|
9
6
|
return true;
|
|
10
7
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
import { ThemeContext } from './ThemeContext';
|
|
4
|
+
|
|
5
|
+
type Props = {
|
|
6
|
+
value: ReactNavigation.Theme | undefined;
|
|
7
|
+
children: React.ReactNode;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export function ThemeProvider({ value, children }: Props) {
|
|
11
|
+
return (
|
|
12
|
+
<ThemeContext.Provider value={value}>{children}</ThemeContext.Provider>
|
|
13
|
+
);
|
|
14
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
import { ThemeContext } from './ThemeContext';
|
|
4
|
+
|
|
5
|
+
export function useTheme() {
|
|
6
|
+
const theme = React.useContext(ThemeContext);
|
|
7
|
+
|
|
8
|
+
if (theme == null) {
|
|
9
|
+
throw new Error(
|
|
10
|
+
"Couldn't find a theme. Is your component inside NavigationContainer or does it have a theme?"
|
|
11
|
+
);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
return theme;
|
|
15
|
+
}
|