@react-navigation/core 8.0.0-alpha.3 → 8.0.0-alpha.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/module/BaseNavigationContainer.js +38 -19
- package/lib/module/BaseNavigationContainer.js.map +1 -1
- package/lib/module/ConsumedParamsContext.js +5 -0
- package/lib/module/ConsumedParamsContext.js.map +1 -0
- package/lib/module/DataLoading.js +127 -0
- package/lib/module/DataLoading.js.map +1 -0
- package/lib/module/NavigationBuilderContext.js +1 -0
- package/lib/module/NavigationBuilderContext.js.map +1 -1
- package/lib/module/NavigationIndependentTree.js +20 -8
- package/lib/module/NavigationIndependentTree.js.map +1 -1
- package/lib/module/NavigationProvider.js +22 -11
- package/lib/module/NavigationProvider.js.map +1 -1
- package/lib/module/NavigationStateContext.js +3 -0
- package/lib/module/NavigationStateContext.js.map +1 -1
- package/lib/module/PreventRemoveContext.js.map +1 -1
- package/lib/module/PreventRemoveProvider.js +37 -27
- package/lib/module/PreventRemoveProvider.js.map +1 -1
- package/lib/module/SceneView.js +10 -41
- package/lib/module/SceneView.js.map +1 -1
- package/lib/module/StaticNavigation.js +179 -50
- package/lib/module/StaticNavigation.js.map +1 -1
- package/lib/module/StaticTreeContext.js +5 -0
- package/lib/module/StaticTreeContext.js.map +1 -0
- package/lib/module/checkSerializable.js +18 -13
- package/lib/module/checkSerializable.js.map +1 -1
- package/lib/module/createNavigationContainerRef.js +6 -8
- package/lib/module/createNavigationContainerRef.js.map +1 -1
- package/lib/module/createNavigatorFactory.js +27 -5
- package/lib/module/createNavigatorFactory.js.map +1 -1
- package/lib/module/findFocusedRoute.js +7 -4
- package/lib/module/findFocusedRoute.js.map +1 -1
- package/lib/module/getActionFromState.js +45 -20
- package/lib/module/getActionFromState.js.map +1 -1
- package/lib/module/getPathFromState.js +171 -90
- package/lib/module/getPathFromState.js.map +1 -1
- package/lib/module/getPatternParts.js +20 -4
- package/lib/module/getPatternParts.js.map +1 -1
- package/lib/module/getStateFromPath.js +487 -217
- package/lib/module/getStateFromPath.js.map +1 -1
- package/lib/module/getStateFromRouteParams.js +23 -0
- package/lib/module/getStateFromRouteParams.js.map +1 -0
- package/lib/module/index.js +5 -4
- package/lib/module/index.js.map +1 -1
- package/lib/module/theming/useTheme.js +1 -1
- package/lib/module/theming/useTheme.js.map +1 -1
- package/lib/module/types.js +35 -0
- package/lib/module/types.js.map +1 -1
- package/lib/module/useDescriptors.js +21 -11
- package/lib/module/useDescriptors.js.map +1 -1
- package/lib/module/useEventEmitter.js +48 -33
- package/lib/module/useEventEmitter.js.map +1 -1
- package/lib/module/useFocusEvents.js +12 -4
- package/lib/module/useFocusEvents.js.map +1 -1
- package/lib/module/useFocusedListenersChildrenAdapter.js +2 -2
- package/lib/module/useFocusedListenersChildrenAdapter.js.map +1 -1
- package/lib/module/useIsFocused.js +7 -12
- package/lib/module/useIsFocused.js.map +1 -1
- package/lib/module/useKeyedChildListeners.js +4 -2
- package/lib/module/useKeyedChildListeners.js.map +1 -1
- package/lib/module/useLazyValue.js.map +1 -1
- package/lib/module/useNavigation.js +2 -15
- package/lib/module/useNavigation.js.map +1 -1
- package/lib/module/useNavigationBuilder.js +204 -131
- package/lib/module/useNavigationBuilder.js.map +1 -1
- package/lib/module/useNavigationCache.js +22 -17
- package/lib/module/useNavigationCache.js.map +1 -1
- package/lib/module/useNavigationHelpers.js +28 -10
- package/lib/module/useNavigationHelpers.js.map +1 -1
- package/lib/module/useNavigationIndependentTree.js +1 -1
- package/lib/module/useNavigationIndependentTree.js.map +1 -1
- package/lib/module/useNavigationState.js +125 -45
- package/lib/module/useNavigationState.js.map +1 -1
- package/lib/module/useOnAction.js +37 -7
- package/lib/module/useOnAction.js.map +1 -1
- package/lib/module/useOnGetState.js +6 -3
- package/lib/module/useOnGetState.js.map +1 -1
- package/lib/module/useOnPreventRemove.js +39 -30
- package/lib/module/useOnPreventRemove.js.map +1 -1
- package/lib/module/useOnRouteFocus.js +1 -1
- package/lib/module/useOnRouteFocus.js.map +1 -1
- package/lib/module/useOptionsGetters.js +10 -5
- package/lib/module/useOptionsGetters.js.map +1 -1
- package/lib/module/usePreventRemove.js +10 -3
- package/lib/module/usePreventRemove.js.map +1 -1
- package/lib/module/usePreventRemoveContext.js +1 -1
- package/lib/module/usePreventRemoveContext.js.map +1 -1
- package/lib/module/useRegisterNavigator.js +2 -2
- package/lib/module/useRegisterNavigator.js.map +1 -1
- package/lib/module/useRoute.js +2 -0
- package/lib/module/useRoute.js.map +1 -1
- package/lib/module/useRouteCache.js +17 -11
- package/lib/module/useRouteCache.js.map +1 -1
- package/lib/module/useScheduleUpdate.js +9 -9
- package/lib/module/useScheduleUpdate.js.map +1 -1
- package/lib/module/useStateForPath.js +1 -1
- package/lib/module/useStateForPath.js.map +1 -1
- package/lib/module/useSyncState.js +32 -9
- package/lib/module/useSyncState.js.map +1 -1
- package/lib/module/validatePathConfig.js +50 -36
- package/lib/module/validatePathConfig.js.map +1 -1
- package/lib/typescript/src/BaseNavigationContainer.d.ts +6 -3
- package/lib/typescript/src/BaseNavigationContainer.d.ts.map +1 -1
- package/lib/typescript/src/ConsumedParamsContext.d.ts +3 -0
- package/lib/typescript/src/ConsumedParamsContext.d.ts.map +1 -0
- package/lib/typescript/src/DataLoading.d.ts +21 -0
- package/lib/typescript/src/DataLoading.d.ts.map +1 -0
- package/lib/typescript/src/EnsureSingleNavigator.d.ts +1 -1
- package/lib/typescript/src/EnsureSingleNavigator.d.ts.map +1 -1
- package/lib/typescript/src/Group.d.ts +1 -1
- package/lib/typescript/src/Group.d.ts.map +1 -1
- package/lib/typescript/src/NavigationBuilderContext.d.ts +9 -8
- package/lib/typescript/src/NavigationBuilderContext.d.ts.map +1 -1
- package/lib/typescript/src/NavigationContainerRefContext.d.ts +1 -1
- package/lib/typescript/src/NavigationContainerRefContext.d.ts.map +1 -1
- package/lib/typescript/src/NavigationFocusedRouteStateContext.d.ts +4 -4
- package/lib/typescript/src/NavigationFocusedRouteStateContext.d.ts.map +1 -1
- package/lib/typescript/src/NavigationHelpersContext.d.ts +1 -1
- package/lib/typescript/src/NavigationHelpersContext.d.ts.map +1 -1
- package/lib/typescript/src/NavigationIndependentTree.d.ts +1 -1
- package/lib/typescript/src/NavigationIndependentTree.d.ts.map +1 -1
- package/lib/typescript/src/NavigationProvider.d.ts +12 -13
- package/lib/typescript/src/NavigationProvider.d.ts.map +1 -1
- package/lib/typescript/src/NavigationStateContext.d.ts +4 -3
- package/lib/typescript/src/NavigationStateContext.d.ts.map +1 -1
- package/lib/typescript/src/PreventRemoveContext.d.ts +1 -0
- package/lib/typescript/src/PreventRemoveContext.d.ts.map +1 -1
- package/lib/typescript/src/PreventRemoveProvider.d.ts +1 -1
- package/lib/typescript/src/PreventRemoveProvider.d.ts.map +1 -1
- package/lib/typescript/src/SceneView.d.ts +4 -2
- package/lib/typescript/src/SceneView.d.ts.map +1 -1
- package/lib/typescript/src/Screen.d.ts +1 -1
- package/lib/typescript/src/Screen.d.ts.map +1 -1
- package/lib/typescript/src/StaticContainer.d.ts +1 -1
- package/lib/typescript/src/StaticContainer.d.ts.map +1 -1
- package/lib/typescript/src/StaticNavigation.d.ts +189 -109
- package/lib/typescript/src/StaticNavigation.d.ts.map +1 -1
- package/lib/typescript/src/StaticTreeContext.d.ts +4 -0
- package/lib/typescript/src/StaticTreeContext.d.ts.map +1 -0
- package/lib/typescript/src/checkSerializable.d.ts +8 -4
- package/lib/typescript/src/checkSerializable.d.ts.map +1 -1
- package/lib/typescript/src/createNavigationContainerRef.d.ts +1 -1
- package/lib/typescript/src/createNavigationContainerRef.d.ts.map +1 -1
- package/lib/typescript/src/createNavigatorFactory.d.ts +23 -5
- package/lib/typescript/src/createNavigatorFactory.d.ts.map +1 -1
- package/lib/typescript/src/findFocusedRoute.d.ts +3 -8
- package/lib/typescript/src/findFocusedRoute.d.ts.map +1 -1
- package/lib/typescript/src/getActionFromState.d.ts +4 -4
- package/lib/typescript/src/getActionFromState.d.ts.map +1 -1
- package/lib/typescript/src/getPathFromState.d.ts +3 -3
- package/lib/typescript/src/getPathFromState.d.ts.map +1 -1
- package/lib/typescript/src/getPatternParts.d.ts +1 -0
- package/lib/typescript/src/getPatternParts.d.ts.map +1 -1
- package/lib/typescript/src/getStateFromPath.d.ts +4 -7
- package/lib/typescript/src/getStateFromPath.d.ts.map +1 -1
- package/lib/typescript/src/getStateFromRouteParams.d.ts +3 -0
- package/lib/typescript/src/getStateFromRouteParams.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +36 -33
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/theming/ThemeContext.d.ts +1 -1
- package/lib/typescript/src/theming/ThemeContext.d.ts.map +1 -1
- package/lib/typescript/src/theming/ThemeProvider.d.ts +2 -2
- package/lib/typescript/src/theming/ThemeProvider.d.ts.map +1 -1
- package/lib/typescript/src/theming/useTheme.d.ts +1 -1
- package/lib/typescript/src/theming/useTheme.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +260 -159
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/useChildListeners.d.ts +3 -3
- package/lib/typescript/src/useChildListeners.d.ts.map +1 -1
- package/lib/typescript/src/useComponent.d.ts +1 -1
- package/lib/typescript/src/useComponent.d.ts.map +1 -1
- package/lib/typescript/src/useDescriptors.d.ts +10 -9
- package/lib/typescript/src/useDescriptors.d.ts.map +1 -1
- package/lib/typescript/src/useEventEmitter.d.ts +2 -2
- package/lib/typescript/src/useEventEmitter.d.ts.map +1 -1
- package/lib/typescript/src/useFocusEvents.d.ts +2 -2
- package/lib/typescript/src/useFocusEvents.d.ts.map +1 -1
- package/lib/typescript/src/useFocusedListenersChildrenAdapter.d.ts +2 -2
- package/lib/typescript/src/useFocusedListenersChildrenAdapter.d.ts.map +1 -1
- package/lib/typescript/src/useIsFocused.d.ts +3 -0
- package/lib/typescript/src/useIsFocused.d.ts.map +1 -1
- package/lib/typescript/src/useKeyedChildListeners.d.ts +3 -3
- package/lib/typescript/src/useKeyedChildListeners.d.ts.map +1 -1
- package/lib/typescript/src/useLazyValue.d.ts.map +1 -1
- package/lib/typescript/src/useNavigation.d.ts +4 -2
- package/lib/typescript/src/useNavigation.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationBuilder.d.ts +23 -30
- package/lib/typescript/src/useNavigationBuilder.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationCache.d.ts +3 -3
- package/lib/typescript/src/useNavigationCache.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationContainerRef.d.ts +1 -1
- package/lib/typescript/src/useNavigationContainerRef.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationHelpers.d.ts +19 -27
- package/lib/typescript/src/useNavigationHelpers.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationState.d.ts +17 -3
- package/lib/typescript/src/useNavigationState.d.ts.map +1 -1
- package/lib/typescript/src/useOnAction.d.ts +9 -9
- package/lib/typescript/src/useOnAction.d.ts.map +1 -1
- package/lib/typescript/src/useOnGetState.d.ts +1 -1
- package/lib/typescript/src/useOnGetState.d.ts.map +1 -1
- package/lib/typescript/src/useOnPreventRemove.d.ts +5 -9
- package/lib/typescript/src/useOnPreventRemove.d.ts.map +1 -1
- package/lib/typescript/src/useOnRouteFocus.d.ts +6 -6
- package/lib/typescript/src/useOnRouteFocus.d.ts.map +1 -1
- package/lib/typescript/src/useOptionsGetters.d.ts +1 -1
- package/lib/typescript/src/useOptionsGetters.d.ts.map +1 -1
- package/lib/typescript/src/usePreventRemove.d.ts.map +1 -1
- package/lib/typescript/src/usePreventRemoveContext.d.ts +2 -1
- package/lib/typescript/src/usePreventRemoveContext.d.ts.map +1 -1
- package/lib/typescript/src/useRoute.d.ts +7 -3
- package/lib/typescript/src/useRoute.d.ts.map +1 -1
- package/lib/typescript/src/useRouteCache.d.ts +5 -5
- package/lib/typescript/src/useRouteCache.d.ts.map +1 -1
- package/lib/typescript/src/useScheduleUpdate.d.ts +5 -4
- package/lib/typescript/src/useScheduleUpdate.d.ts.map +1 -1
- package/lib/typescript/src/useStateForPath.d.ts +1 -1
- package/lib/typescript/src/useStateForPath.d.ts.map +1 -1
- package/lib/typescript/src/useSyncState.d.ts +1 -0
- package/lib/typescript/src/useSyncState.d.ts.map +1 -1
- package/lib/typescript/src/utilities.d.ts +74 -37
- package/lib/typescript/src/utilities.d.ts.map +1 -1
- package/lib/typescript/src/validatePathConfig.d.ts.map +1 -1
- package/package.json +23 -22
- package/src/BaseNavigationContainer.tsx +362 -334
- package/src/ConsumedParamsContext.tsx +5 -0
- package/src/DataLoading.tsx +203 -0
- package/src/NavigationBuilderContext.tsx +14 -9
- package/src/NavigationFocusedRouteStateContext.tsx +4 -4
- package/src/NavigationIndependentTree.tsx +23 -12
- package/src/NavigationProvider.tsx +26 -15
- package/src/NavigationStateContext.tsx +9 -6
- package/src/PreventRemoveContext.tsx +1 -0
- package/src/PreventRemoveProvider.tsx +51 -46
- package/src/SceneView.tsx +11 -39
- package/src/StaticNavigation.tsx +659 -307
- package/src/StaticTreeContext.tsx +7 -0
- package/src/checkSerializable.tsx +35 -19
- package/src/createNavigationContainerRef.tsx +12 -9
- package/src/createNavigatorFactory.tsx +92 -8
- package/src/findFocusedRoute.tsx +16 -16
- package/src/getActionFromState.tsx +87 -51
- package/src/getPathFromState.tsx +254 -128
- package/src/getPatternParts.tsx +25 -4
- package/src/getStateFromPath.tsx +821 -331
- package/src/getStateFromRouteParams.tsx +59 -0
- package/src/index.tsx +55 -5
- package/src/theming/useTheme.tsx +1 -1
- package/src/types.tsx +798 -373
- package/src/useDescriptors.tsx +31 -14
- package/src/useEventEmitter.tsx +52 -38
- package/src/useFocusEvents.tsx +15 -7
- package/src/useFocusedListenersChildrenAdapter.tsx +2 -2
- package/src/useIsFocused.tsx +14 -21
- package/src/useKeyedChildListeners.tsx +4 -2
- package/src/useLazyValue.tsx +2 -2
- package/src/useNavigation.tsx +7 -24
- package/src/useNavigationBuilder.tsx +314 -186
- package/src/useNavigationCache.tsx +32 -25
- package/src/useNavigationHelpers.tsx +27 -10
- package/src/useNavigationIndependentTree.tsx +1 -1
- package/src/useNavigationState.tsx +168 -69
- package/src/useOnAction.tsx +61 -13
- package/src/useOnGetState.tsx +5 -3
- package/src/useOnPreventRemove.tsx +75 -42
- package/src/useOnRouteFocus.tsx +10 -12
- package/src/useOptionsGetters.tsx +11 -5
- package/src/usePreventRemove.tsx +12 -3
- package/src/usePreventRemoveContext.tsx +1 -1
- package/src/useRegisterNavigator.tsx +2 -2
- package/src/useRoute.tsx +20 -6
- package/src/useRouteCache.tsx +22 -16
- package/src/useScheduleUpdate.tsx +9 -10
- package/src/useStateForPath.tsx +1 -1
- package/src/useSyncState.tsx +35 -9
- package/src/utilities.tsx +144 -31
- package/src/validatePathConfig.tsx +86 -57
- package/lib/module/CurrentRenderContext.js +0 -10
- package/lib/module/CurrentRenderContext.js.map +0 -1
- package/lib/module/useCurrentRender.js +0 -19
- package/lib/module/useCurrentRender.js.map +0 -1
- package/lib/typescript/src/CurrentRenderContext.d.ts +0 -9
- package/lib/typescript/src/CurrentRenderContext.d.ts.map +0 -1
- package/lib/typescript/src/useCurrentRender.d.ts +0 -14
- package/lib/typescript/src/useCurrentRender.d.ts.map +0 -1
- package/src/CurrentRenderContext.tsx +0 -9
- package/src/useCurrentRender.tsx +0 -31
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["escape","queryString","arrayStartsWith","findFocusedRoute","getPatternParts","isArrayEqual","validatePathConfig","getStateFromPath","path","options","initialRoutes","configs","getConfigResources","screens","remaining","replace","endsWith","prefix","normalizedPrefix","startsWith","undefined","routes","split","filter","Boolean","map","segment","name","decodeURIComponent","length","createNestedStateObject","match","find","config","segments","join","routeNames","result","current","remainingPath","matchAgainstConfigs","cachedConfigResources","WeakMap","prepareConfigResources","cached","get","resources","set","getInitialRoutes","getSortedNormalizedConfigs","checkForDuplicatedConfigs","configWithRegexes","getConfigsWithRegexes","initialRouteName","push","parentScreens","concat","Object","keys","key","createNormalizedConfigs","sort","a","b","localeCompare","i","Math","max","aWildCard","bWildCard","aParam","bParam","aRegex","includes","bRegex","reduce","acc","pattern","intersects","every","it","Error","assign","c","regex","RegExp","source","routeName","routeConfig","screen","params","groups","fromEntries","entries","value","index","Number","param","decoded","parsed","parse","initials","paths","createConfigItem","exact","aliasConfigs","alias","forEach","nestedConfig","pop","parts","part","reg","optional","findParseConfigForRoute","flatConfig","findInitialRoute","sameParents","createStateObject","initialRoute","route","isEmpty","state","shift","nestedState","nestedStateIndex","parseQueryParams","parseConfig","query","hasOwnProperty","call"],"sourceRoot":"../../src","sources":["getStateFromPath.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["escape","queryString","arrayStartsWith","combinePatternParts","getPatternParts","isArrayEqual","validatePathConfig","INVALID_SCHEMA_RESULT_ERROR","INVALID_PARSER_ERROR","PARAM_GROUP_PREFIX","NESTED_SCREEN_PARAM_NAMES","getStaticSegmentPattern","segment","Array","from","char","encoded","encodeURIComponent","percentEncoded","charCodeAt","toString","padStart","toUpperCase","join","getExplicitParamNames","parse","names","name","push","length","Set","undefined","getStandardSchema","parser","version","validate","getValidationResult","schema","value","result","isArray","issues","Error","getStateFromPath","path","options","previous","initialRoutes","configs","configsByScreen","configsByPattern","prefixRegex","getConfigResources","screens","resolveSharedConfig","config","shared","candidates","pattern","selectSharedConfig","remaining","replace","m","endsWith","prefixMatch","match","slice","routes","split","decodeURIComponent","createNestedStateObject","find","routeNames","map","firstRawSegment","firstDecodedSegment","canMatchFirstSegment","segments","matchAgainstConfig","selectedConfig","selectedRoutes","rematchedRoutes","state","configSegment","decodedSegment","rawSegment","startsWith","cachedConfigResources","WeakMap","prepareConfigResources","cached","get","resources","set","getInitialRoutes","getSortedNormalizedConfigs","prefix","normalizedPrefix","prefixPattern","RegExp","c","screen","existing","checkForDuplicatedConfigs","initialRouteName","parentScreens","key","createNormalizedConfigs","order","sort","a","b","i","Math","max","aSegment","bSegment","aWildCard","bWildCard","aParam","bParam","aRegex","includes","bRegex","intersects","regex","validationFailed","matchedRoutes","index","routeName","entries","routeConfig","params","hasParams","groups","param","decoded","test","initials","parts","configParts","part","createConfigItem","nestedScreens","hasNestedScreens","currentParts","exact","aliasConfigs","alias","nestedConfig","pop","pathParamNames","regexString","reg","optional","add","explicitParamNames","focusedRouteNames","current","route","score","focused","initial","selected","best","candidate","better","findInitialRoute","sameParents","parentScreen","configParentScreen","localeCompare","createStateObject","initialRoute","isEmpty","focusedRoute","queryParams","parseQueryParams","valid","shift","nestedState","nextRoute","nestedStateIndex","nestedRoute","parseConfig","routeParams","queryIndex","indexOf","query","has","Object","hasOwn","keys"],"sourceRoot":"../../src","sources":["getStateFromPath.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export function getStateFromRouteParams(params) {
|
|
4
|
+
if (params == null || typeof params !== 'object') {
|
|
5
|
+
return undefined;
|
|
6
|
+
}
|
|
7
|
+
if ('state' in params && params.state && typeof params.state === 'object' && 'routes' in params.state && Array.isArray(params.state.routes) && params.state.routes.every(route => typeof route === 'object' && route != null && 'name' in route && typeof route.name === 'string')) {
|
|
8
|
+
// @ts-expect-error this is fine 🔥
|
|
9
|
+
return params.state;
|
|
10
|
+
}
|
|
11
|
+
if ('screen' in params && params.screen && typeof params.screen === 'string') {
|
|
12
|
+
return {
|
|
13
|
+
routes: [{
|
|
14
|
+
name: params.screen,
|
|
15
|
+
params: 'params' in params && typeof params.params === 'object' && params.params != null ? params.params : undefined,
|
|
16
|
+
path: 'path' in params && typeof params.path === 'string' ? params.path : undefined,
|
|
17
|
+
state: 'params' in params && typeof params.params === 'object' && params.params != null ? getStateFromRouteParams(params.params) : undefined
|
|
18
|
+
}]
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=getStateFromRouteParams.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getStateFromRouteParams","params","undefined","state","Array","isArray","routes","every","route","name","screen","path"],"sourceRoot":"../../src","sources":["getStateFromRouteParams.tsx"],"mappings":";;AAEA,OAAO,SAASA,uBAAuBA,CACrCC,MAA0B,EACmC;EAC7D,IAAIA,MAAM,IAAI,IAAI,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;IAChD,OAAOC,SAAS;EAClB;EAEA,IACE,OAAO,IAAID,MAAM,IACjBA,MAAM,CAACE,KAAK,IACZ,OAAOF,MAAM,CAACE,KAAK,KAAK,QAAQ,IAChC,QAAQ,IAAIF,MAAM,CAACE,KAAK,IACxBC,KAAK,CAACC,OAAO,CAACJ,MAAM,CAACE,KAAK,CAACG,MAAM,CAAC,IAClCL,MAAM,CAACE,KAAK,CAACG,MAAM,CAACC,KAAK,CACtBC,KAAK,IACJ,OAAOA,KAAK,KAAK,QAAQ,IACzBA,KAAK,IAAI,IAAI,IACb,MAAM,IAAIA,KAAK,IACf,OAAOA,KAAK,CAACC,IAAI,KAAK,QAC1B,CAAC,EACD;IACA;IACA,OAAOR,MAAM,CAACE,KAAK;EACrB;EAEA,IACE,QAAQ,IAAIF,MAAM,IAClBA,MAAM,CAACS,MAAM,IACb,OAAOT,MAAM,CAACS,MAAM,KAAK,QAAQ,EACjC;IACA,OAAO;MACLJ,MAAM,EAAE,CACN;QACEG,IAAI,EAAER,MAAM,CAACS,MAAM;QACnBT,MAAM,EACJ,QAAQ,IAAIA,MAAM,IAClB,OAAOA,MAAM,CAACA,MAAM,KAAK,QAAQ,IACjCA,MAAM,CAACA,MAAM,IAAI,IAAI,GACjBA,MAAM,CAACA,MAAM,GACbC,SAAS;QACfS,IAAI,EACF,MAAM,IAAIV,MAAM,IAAI,OAAOA,MAAM,CAACU,IAAI,KAAK,QAAQ,GAC/CV,MAAM,CAACU,IAAI,GACXT,SAAS;QACfC,KAAK,EACH,QAAQ,IAAIF,MAAM,IAClB,OAAOA,MAAM,CAACA,MAAM,KAAK,QAAQ,IACjCA,MAAM,CAACA,MAAM,IAAI,IAAI,GACjBD,uBAAuB,CAACC,MAAM,CAACA,MAAM,CAAC,GACtCC;MACR,CAAC;IAEL,CAAC;EACH;EAEA,OAAOA,SAAS;AAClB","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -3,26 +3,27 @@
|
|
|
3
3
|
export { BaseNavigationContainer } from "./BaseNavigationContainer.js";
|
|
4
4
|
export { createNavigationContainerRef } from "./createNavigationContainerRef.js";
|
|
5
5
|
export { createNavigatorFactory } from "./createNavigatorFactory.js";
|
|
6
|
-
export {
|
|
6
|
+
export { getLoaderForState as UNSTABLE_getLoaderForState } from "./DataLoading.js";
|
|
7
7
|
export { findFocusedRoute } from "./findFocusedRoute.js";
|
|
8
8
|
export { getActionFromState } from "./getActionFromState.js";
|
|
9
9
|
export { getFocusedRouteNameFromRoute } from "./getFocusedRouteNameFromRoute.js";
|
|
10
10
|
export { getPathFromState } from "./getPathFromState.js";
|
|
11
11
|
export { getStateFromPath } from "./getStateFromPath.js";
|
|
12
12
|
export { NavigationContainerRefContext } from "./NavigationContainerRefContext.js";
|
|
13
|
+
export { NavigationFocusedRouteStateContext } from "./NavigationFocusedRouteStateContext.js";
|
|
13
14
|
export { NavigationHelpersContext } from "./NavigationHelpersContext.js";
|
|
14
15
|
export { NavigationIndependentTree } from "./NavigationIndependentTree.js";
|
|
15
16
|
export { NavigationMetaContext } from "./NavigationMetaContext.js";
|
|
16
17
|
export { NavigationContext, NavigationProvider, NavigationRouteContext } from "./NavigationProvider.js";
|
|
17
18
|
export { PreventRemoveContext } from "./PreventRemoveContext.js";
|
|
18
19
|
export { PreventRemoveProvider } from "./PreventRemoveProvider.js";
|
|
19
|
-
export {
|
|
20
|
+
export { createPathConfigForStaticNavigation, createScreenFactory } from "./StaticNavigation.js";
|
|
20
21
|
export { ThemeContext } from "./theming/ThemeContext.js";
|
|
21
22
|
export { ThemeProvider } from "./theming/ThemeProvider.js";
|
|
22
23
|
export { useTheme } from "./theming/useTheme.js";
|
|
23
|
-
export
|
|
24
|
+
export { PrivateValueStore } from "./types.js";
|
|
24
25
|
export { useFocusEffect } from "./useFocusEffect.js";
|
|
25
|
-
export { useIsFocused } from "./useIsFocused.js";
|
|
26
|
+
export { IsFocusedContext, useIsFocused } from "./useIsFocused.js";
|
|
26
27
|
export { useNavigation } from "./useNavigation.js";
|
|
27
28
|
export { useNavigationBuilder } from "./useNavigationBuilder.js";
|
|
28
29
|
export { useNavigationContainerRef } from "./useNavigationContainerRef.js";
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseNavigationContainer","createNavigationContainerRef","createNavigatorFactory","
|
|
1
|
+
{"version":3,"names":["BaseNavigationContainer","createNavigationContainerRef","createNavigatorFactory","getLoaderForState","UNSTABLE_getLoaderForState","findFocusedRoute","getActionFromState","getFocusedRouteNameFromRoute","getPathFromState","getStateFromPath","NavigationContainerRefContext","NavigationFocusedRouteStateContext","NavigationHelpersContext","NavigationIndependentTree","NavigationMetaContext","NavigationContext","NavigationProvider","NavigationRouteContext","PreventRemoveContext","PreventRemoveProvider","createPathConfigForStaticNavigation","createScreenFactory","ThemeContext","ThemeProvider","useTheme","PrivateValueStore","useFocusEffect","IsFocusedContext","useIsFocused","useNavigation","useNavigationBuilder","useNavigationContainerRef","useNavigationIndependentTree","useNavigationState","usePreventRemove","usePreventRemoveContext","useRoute","useStateForPath","validatePathConfig"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,uBAAuB,QAAQ,8BAA2B;AACnE,SAASC,4BAA4B,QAAQ,mCAAgC;AAC7E,SACEC,sBAAsB,QAEjB,6BAA0B;AACjC,SAASC,iBAAiB,IAAIC,0BAA0B,QAAQ,kBAAe;AAC/E,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,4BAA4B,QAAQ,mCAAgC;AAC7E,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,6BAA6B,QAAQ,oCAAiC;AAC/E,SAEEC,kCAAkC,QAC7B,yCAAsC;AAC7C,SAASC,wBAAwB,QAAQ,+BAA4B;AACrE,SAASC,yBAAyB,QAAQ,gCAA6B;AACvE,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SACEC,iBAAiB,EACjBC,kBAAkB,EAClBC,sBAAsB,QACjB,yBAAsB;AAC7B,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SACEC,mCAAmC,EACnCC,mBAAmB,QASd,uBAAoB;AAC3B,SAASC,YAAY,QAAQ,2BAAwB;AACrD,SAASC,aAAa,QAAQ,4BAAyB;AACvD,SAASC,QAAQ,QAAQ,uBAAoB;AA0C7C,SAASC,iBAAiB,QAAQ,YAAS;AAC3C,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,gBAAgB,EAAEC,YAAY,QAAQ,mBAAgB;AAC/D,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,yBAAyB,QAAQ,gCAA6B;AACvE,SAASC,4BAA4B,QAAQ,mCAAgC;AAC7E,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,uBAAuB,QAAQ,8BAA2B;AACnE,SAASC,QAAQ,QAAQ,eAAY;AACrC,SAASC,eAAe,QAAQ,sBAAmB;AAEnD,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,cAAc,2BAA2B","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { ThemeContext } from "./ThemeContext.js";
|
|
5
5
|
export function useTheme() {
|
|
6
|
-
const theme = React.
|
|
6
|
+
const theme = React.use(ThemeContext);
|
|
7
7
|
if (theme == null) {
|
|
8
8
|
throw new Error("Couldn't find a theme. Is your component inside NavigationContainer or a ThemeProvider?");
|
|
9
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","ThemeContext","useTheme","theme","
|
|
1
|
+
{"version":3,"names":["React","ThemeContext","useTheme","theme","use","Error"],"sourceRoot":"../../../src","sources":["theming/useTheme.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,YAAY,QAAQ,mBAAgB;AAE7C,OAAO,SAASC,QAAQA,CAAA,EAAG;EACzB,MAAMC,KAAK,GAAGH,KAAK,CAACI,GAAG,CAACH,YAAY,CAAC;EAErC,IAAIE,KAAK,IAAI,IAAI,EAAE;IACjB,MAAM,IAAIE,KAAK,CACb,yFACF,CAAC;EACH;EAEA,OAAOF,KAAK;AACd","ignoreList":[]}
|
package/lib/module/types.js
CHANGED
|
@@ -36,10 +36,45 @@
|
|
|
36
36
|
|
|
37
37
|
export class PrivateValueStore {}
|
|
38
38
|
|
|
39
|
+
// Remove `undefined` before checking for nested navigator params.
|
|
40
|
+
// If nothing remains, avoid matching `never` against `NavigatorScreenParams`
|
|
41
|
+
|
|
42
|
+
// Everything in `NavigationProp` except `getParent` and the private brand.
|
|
43
|
+
// The composite navigation prop intersects this directly, so it doesn't have
|
|
44
|
+
// to walk `NavigationProp`'s members with `Omit` to drop `getParent`/the brand.
|
|
45
|
+
|
|
39
46
|
/**
|
|
40
47
|
* A stripped down NavigationProp if the navigator is not known.
|
|
41
48
|
*
|
|
42
49
|
* The hook can be used in `NavigationContainer` directly, not inside of a navigator.
|
|
43
50
|
* So navigator specific methods won't be available.
|
|
44
51
|
*/
|
|
52
|
+
|
|
53
|
+
// Look up route object by checking each level and recursing into the nested param lists
|
|
54
|
+
// This avoids building a union of all routes, which doesn't scale on large trees
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Union of param lists of the nested navigators in a param list.
|
|
58
|
+
*/
|
|
59
|
+
|
|
60
|
+
// Map of route name to nested navigator type
|
|
61
|
+
// inferred from `NavigatorScreenParams<typeof Navigator>`
|
|
62
|
+
|
|
63
|
+
// Like `NavigationListForScreens`, but reads nested navigators from the brand
|
|
64
|
+
// map instead of a static config.
|
|
65
|
+
|
|
66
|
+
// Fallback for dynamic nested routes declared through NavigatorScreenParams<ParamList>.
|
|
67
|
+
// Param-list branches expose generic navigation props, while nested navigator
|
|
68
|
+
// entries still recover their concrete navigator props.
|
|
69
|
+
|
|
70
|
+
// Compose every entry in a navigator's list with the accumulated parent.
|
|
71
|
+
// When there's no parent (root navigator), the list is returned as-is so the
|
|
72
|
+
// common shallow case doesn't pay for a redundant mapped type.
|
|
73
|
+
|
|
74
|
+
// Only use action helpers if all values are functions
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Adds a proper `ParamList` to a type bag interface
|
|
78
|
+
* So it can be used as `this['ParamList']`
|
|
79
|
+
*/
|
|
45
80
|
//# sourceMappingURL=types.js.map
|
package/lib/module/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":";;
|
|
1
|
+
{"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":";;AAoBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA8NA,OAAO,MAAMA,iBAAiB,CAAiC;;AA+B/D;AACA;;AA0MA;AACA;AACA;;AAkdA;AACA;AACA;AACA;AACA;AACA;;AAmEA;AACA;;AAcA;AACA;AACA;;AAwMA;AACA;;AAQA;AACA;;AAUA;AACA;AACA;;AA4BA;AACA;AACA;;AAqFA;;AAuBA;AACA;AACA;AACA","ignoreList":[]}
|
|
@@ -25,13 +25,14 @@ export function useDescriptors({
|
|
|
25
25
|
onAction,
|
|
26
26
|
getState,
|
|
27
27
|
setState,
|
|
28
|
+
subscribe,
|
|
28
29
|
addListener,
|
|
29
30
|
addKeyedListener,
|
|
30
31
|
onRouteFocus,
|
|
31
32
|
router,
|
|
32
33
|
emitter
|
|
33
34
|
}) {
|
|
34
|
-
const theme = React.
|
|
35
|
+
const theme = React.use(ThemeContext);
|
|
35
36
|
const [options, setOptions] = React.useState({});
|
|
36
37
|
const {
|
|
37
38
|
onDispatchAction,
|
|
@@ -39,8 +40,9 @@ export function useDescriptors({
|
|
|
39
40
|
onOptionsChange,
|
|
40
41
|
scheduleUpdate,
|
|
41
42
|
flushUpdates,
|
|
42
|
-
stackRef
|
|
43
|
-
|
|
43
|
+
stackRef,
|
|
44
|
+
getIsStateEmitted
|
|
45
|
+
} = React.use(NavigationBuilderContext);
|
|
44
46
|
const context = React.useMemo(() => ({
|
|
45
47
|
navigation,
|
|
46
48
|
onAction,
|
|
@@ -50,10 +52,11 @@ export function useDescriptors({
|
|
|
50
52
|
onDispatchAction,
|
|
51
53
|
onEmitEvent,
|
|
52
54
|
onOptionsChange,
|
|
55
|
+
getIsStateEmitted,
|
|
53
56
|
scheduleUpdate,
|
|
54
57
|
flushUpdates,
|
|
55
58
|
stackRef
|
|
56
|
-
}), [navigation, onAction, addListener, addKeyedListener, onRouteFocus, onDispatchAction, onEmitEvent, onOptionsChange, scheduleUpdate, flushUpdates, stackRef]);
|
|
59
|
+
}), [navigation, onAction, addListener, addKeyedListener, onRouteFocus, onDispatchAction, onEmitEvent, onOptionsChange, getIsStateEmitted, scheduleUpdate, flushUpdates, stackRef]);
|
|
57
60
|
const navigations = useNavigationCache({
|
|
58
61
|
routes,
|
|
59
62
|
getState,
|
|
@@ -65,14 +68,14 @@ export function useDescriptors({
|
|
|
65
68
|
const cachedRoutes = useRouteCache(routes);
|
|
66
69
|
const getOptions = (route, navigation, overrides) => {
|
|
67
70
|
const config = screens[route.name];
|
|
68
|
-
const screen = config
|
|
71
|
+
const screen = config?.props;
|
|
69
72
|
const optionsList = [
|
|
70
73
|
// The default `screenOptions` passed to the navigator
|
|
71
74
|
screenOptions,
|
|
72
75
|
// The `screenOptions` props passed to `Group` elements
|
|
73
|
-
...(config
|
|
76
|
+
...(config?.options ? config.options.filter(Boolean) : []),
|
|
74
77
|
// The `options` prop passed to `Screen` elements,
|
|
75
|
-
screen
|
|
78
|
+
screen?.options,
|
|
76
79
|
// The options set via `navigation.setOptions`
|
|
77
80
|
overrides];
|
|
78
81
|
return optionsList.reduce((acc, curr) => Object.assign(acc,
|
|
@@ -85,10 +88,12 @@ export function useDescriptors({
|
|
|
85
88
|
};
|
|
86
89
|
const render = (route, navigation, customOptions, routeState) => {
|
|
87
90
|
const config = screens[route.name];
|
|
88
|
-
const screen = config
|
|
91
|
+
const screen = config?.props;
|
|
92
|
+
if (screen == null) {
|
|
93
|
+
throw new Error(`Couldn't find a screen named '${route.name}'.`);
|
|
94
|
+
}
|
|
89
95
|
const clearOptions = () => setOptions(o => {
|
|
90
96
|
if (route.key in o) {
|
|
91
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
92
97
|
const {
|
|
93
98
|
[route.key]: _,
|
|
94
99
|
...rest
|
|
@@ -101,7 +106,7 @@ export function useDescriptors({
|
|
|
101
106
|
// The `layout` prop passed to `Screen` elements,
|
|
102
107
|
screen.layout ??
|
|
103
108
|
// The `screenLayout` props passed to `Group` elements
|
|
104
|
-
config
|
|
109
|
+
config?.layout ??
|
|
105
110
|
// The default `screenLayout` passed to the navigator
|
|
106
111
|
screenLayout;
|
|
107
112
|
let element = /*#__PURE__*/_jsx(SceneView, {
|
|
@@ -111,6 +116,7 @@ export function useDescriptors({
|
|
|
111
116
|
routeState: routeState,
|
|
112
117
|
getState: getState,
|
|
113
118
|
setState: setState,
|
|
119
|
+
subscribe: subscribe,
|
|
114
120
|
options: customOptions,
|
|
115
121
|
clearOptions: clearOptions
|
|
116
122
|
});
|
|
@@ -135,7 +141,11 @@ export function useDescriptors({
|
|
|
135
141
|
};
|
|
136
142
|
const descriptors = cachedRoutes.reduce((acc, route, i) => {
|
|
137
143
|
const navigation = navigations[route.key];
|
|
138
|
-
const
|
|
144
|
+
const overrides = options[route.key];
|
|
145
|
+
if (navigation == null) {
|
|
146
|
+
throw new Error(`Couldn't find a navigation object for route '${route.key}'.`);
|
|
147
|
+
}
|
|
148
|
+
const customOptions = getOptions(route, navigation, overrides);
|
|
139
149
|
const element = render(route, navigation, customOptions, routes[i]?.state);
|
|
140
150
|
acc[route.key] = {
|
|
141
151
|
route,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","NavigationBuilderContext","NavigationProvider","SceneView","ThemeContext","useNavigationCache","useRouteCache","jsx","_jsx","useDescriptors","routes","screens","navigation","screenOptions","screenLayout","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","theme","
|
|
1
|
+
{"version":3,"names":["React","NavigationBuilderContext","NavigationProvider","SceneView","ThemeContext","useNavigationCache","useRouteCache","jsx","_jsx","useDescriptors","routes","screens","navigation","screenOptions","screenLayout","onAction","getState","setState","subscribe","addListener","addKeyedListener","onRouteFocus","router","emitter","theme","use","options","setOptions","useState","onDispatchAction","onEmitEvent","onOptionsChange","scheduleUpdate","flushUpdates","stackRef","getIsStateEmitted","context","useMemo","navigations","cachedRoutes","getOptions","route","overrides","config","name","screen","props","optionsList","filter","Boolean","reduce","acc","curr","Object","assign","render","customOptions","routeState","Error","clearOptions","o","key","_","rest","layout","element","children","Provider","value","descriptors","i","state"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,10 +4,12 @@ import * as React from 'react';
|
|
|
4
4
|
/**
|
|
5
5
|
* Hook to manage the event system used by the navigator to notify screens of various events.
|
|
6
6
|
*/
|
|
7
|
-
export function useEventEmitter(listen) {
|
|
7
|
+
export function useEventEmitter(listen, onPostEmit) {
|
|
8
8
|
const listenRef = React.useRef(listen);
|
|
9
|
-
React.
|
|
9
|
+
const onPostEmitRef = React.useRef(onPostEmit);
|
|
10
|
+
React.useInsertionEffect(() => {
|
|
10
11
|
listenRef.current = listen;
|
|
12
|
+
onPostEmitRef.current = onPostEmit;
|
|
11
13
|
});
|
|
12
14
|
const listeners = React.useRef(Object.create(null));
|
|
13
15
|
const create = React.useCallback(target => {
|
|
@@ -32,52 +34,65 @@ export function useEventEmitter(listen) {
|
|
|
32
34
|
target,
|
|
33
35
|
canPreventDefault
|
|
34
36
|
}) => {
|
|
35
|
-
const items = listeners.current[type]
|
|
37
|
+
const items = listeners.current[type];
|
|
36
38
|
|
|
37
39
|
// Copy the current list of callbacks in case they are mutated during execution
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
let callbacks;
|
|
41
|
+
if (items) {
|
|
42
|
+
if (target !== undefined) {
|
|
43
|
+
const targetSet = items[target];
|
|
44
|
+
if (targetSet && targetSet.size) {
|
|
45
|
+
callbacks = new Set(targetSet);
|
|
46
|
+
}
|
|
47
|
+
} else {
|
|
48
|
+
for (const key in items) {
|
|
49
|
+
const set = items[key];
|
|
50
|
+
if (set && set.size) {
|
|
51
|
+
callbacks ??= new Set();
|
|
52
|
+
for (const cb of set) {
|
|
53
|
+
callbacks.add(cb);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
const descriptors = {
|
|
60
|
+
type: {
|
|
61
|
+
enumerable: true,
|
|
62
|
+
value: type
|
|
44
63
|
}
|
|
45
64
|
};
|
|
46
65
|
if (target !== undefined) {
|
|
47
|
-
|
|
66
|
+
descriptors.target = {
|
|
48
67
|
enumerable: true,
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
-
});
|
|
68
|
+
value: target
|
|
69
|
+
};
|
|
53
70
|
}
|
|
54
71
|
if (data !== undefined) {
|
|
55
|
-
|
|
72
|
+
descriptors.data = {
|
|
56
73
|
enumerable: true,
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
60
|
-
});
|
|
74
|
+
value: data
|
|
75
|
+
};
|
|
61
76
|
}
|
|
77
|
+
let defaultPrevented = false;
|
|
62
78
|
if (canPreventDefault) {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
value() {
|
|
74
|
-
defaultPrevented = true;
|
|
75
|
-
}
|
|
79
|
+
descriptors.defaultPrevented = {
|
|
80
|
+
enumerable: true,
|
|
81
|
+
get() {
|
|
82
|
+
return defaultPrevented;
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
descriptors.preventDefault = {
|
|
86
|
+
enumerable: true,
|
|
87
|
+
value() {
|
|
88
|
+
defaultPrevented = true;
|
|
76
89
|
}
|
|
77
|
-
}
|
|
90
|
+
};
|
|
78
91
|
}
|
|
92
|
+
const event = Object.defineProperties({}, descriptors);
|
|
79
93
|
listenRef.current?.(event);
|
|
80
94
|
callbacks?.forEach(cb => cb(event));
|
|
95
|
+
onPostEmitRef.current?.(event);
|
|
81
96
|
return event;
|
|
82
97
|
}, []);
|
|
83
98
|
return React.useMemo(() => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEventEmitter","listen","listenRef","useRef","
|
|
1
|
+
{"version":3,"names":["React","useEventEmitter","listen","onPostEmit","listenRef","useRef","onPostEmitRef","useInsertionEffect","current","listeners","Object","create","useCallback","target","removeListener","type","callback","callbacks","delete","addListener","Set","add","emit","data","canPreventDefault","items","undefined","targetSet","size","key","set","cb","descriptors","enumerable","value","defaultPrevented","get","preventDefault","event","defineProperties","forEach","useMemo"],"sourceRoot":"../../src","sources":["useEventEmitter.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,9 +9,13 @@ export function useFocusEvents({
|
|
|
9
9
|
state,
|
|
10
10
|
emitter
|
|
11
11
|
}) {
|
|
12
|
-
const navigation = React.
|
|
12
|
+
const navigation = React.use(NavigationContext);
|
|
13
13
|
const lastFocusedKeyRef = React.useRef(undefined);
|
|
14
|
-
const
|
|
14
|
+
const currentFocusedRoute = state.routes[state.index];
|
|
15
|
+
if (currentFocusedRoute == null) {
|
|
16
|
+
throw new Error(`Couldn't find a route at index ${state.index}.`);
|
|
17
|
+
}
|
|
18
|
+
const currentFocusedKey = currentFocusedRoute.key;
|
|
15
19
|
|
|
16
20
|
// When the parent screen changes its focus state, we also need to change child's focus
|
|
17
21
|
// Coz the child screen can't be focused if the parent screen is out of focus
|
|
@@ -31,7 +35,11 @@ export function useFocusEvents({
|
|
|
31
35
|
}), [currentFocusedKey, emitter, navigation]);
|
|
32
36
|
React.useEffect(() => {
|
|
33
37
|
const lastFocusedKey = lastFocusedKeyRef.current;
|
|
34
|
-
|
|
38
|
+
const isFocused = navigation ? navigation.isFocused() : true;
|
|
39
|
+
if (isFocused) {
|
|
40
|
+
// Remember the current route as focused if the navigator is focused
|
|
41
|
+
lastFocusedKeyRef.current = currentFocusedKey;
|
|
42
|
+
}
|
|
35
43
|
|
|
36
44
|
// We wouldn't have `lastFocusedKey` on initial mount
|
|
37
45
|
// Fire focus event for the current route on mount if there's no parent navigator
|
|
@@ -44,7 +52,7 @@ export function useFocusEvents({
|
|
|
44
52
|
|
|
45
53
|
// We should only emit events when the focused key changed and navigator is focused
|
|
46
54
|
// When navigator is not focused, screens inside shouldn't receive focused status either
|
|
47
|
-
if (lastFocusedKey === currentFocusedKey || !
|
|
55
|
+
if (lastFocusedKey === currentFocusedKey || !isFocused) {
|
|
48
56
|
return;
|
|
49
57
|
}
|
|
50
58
|
if (lastFocusedKey === undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","NavigationContext","useFocusEvents","state","emitter","navigation","
|
|
1
|
+
{"version":3,"names":["React","NavigationContext","useFocusEvents","state","emitter","navigation","use","lastFocusedKeyRef","useRef","undefined","currentFocusedRoute","routes","index","Error","currentFocusedKey","key","useEffect","addListener","current","emit","type","target","lastFocusedKey","isFocused"],"sourceRoot":"../../src","sources":["useFocusEvents.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,iBAAiB,QAAQ,yBAAsB;AASxD;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAAgC;EAC5DC,KAAK;EACLC;AACc,CAAC,EAAE;EACjB,MAAMC,UAAU,GAAGL,KAAK,CAACM,GAAG,CAACL,iBAAiB,CAAC;EAC/C,MAAMM,iBAAiB,GAAGP,KAAK,CAACQ,MAAM,CAAqBC,SAAS,CAAC;EAErE,MAAMC,mBAAmB,GAAGP,KAAK,CAACQ,MAAM,CAACR,KAAK,CAACS,KAAK,CAAC;EAErD,IAAIF,mBAAmB,IAAI,IAAI,EAAE;IAC/B,MAAM,IAAIG,KAAK,CAAC,kCAAkCV,KAAK,CAACS,KAAK,GAAG,CAAC;EACnE;EAEA,MAAME,iBAAiB,GAAGJ,mBAAmB,CAACK,GAAG;;EAEjD;EACA;EACAf,KAAK,CAACgB,SAAS,CACb,MACEX,UAAU,EAAEY,WAAW,CAAC,OAAO,EAAE,MAAM;IACrCV,iBAAiB,CAACW,OAAO,GAAGJ,iBAAiB;IAC7CV,OAAO,CAACe,IAAI,CAAC;MAAEC,IAAI,EAAE,OAAO;MAAEC,MAAM,EAAEP;IAAkB,CAAC,CAAC;EAC5D,CAAC,CAAC,EACJ,CAACA,iBAAiB,EAAEV,OAAO,EAAEC,UAAU,CACzC,CAAC;EAEDL,KAAK,CAACgB,SAAS,CACb,MACEX,UAAU,EAAEY,WAAW,CAAC,MAAM,EAAE,MAAM;IACpCV,iBAAiB,CAACW,OAAO,GAAGT,SAAS;IACrCL,OAAO,CAACe,IAAI,CAAC;MAAEC,IAAI,EAAE,MAAM;MAAEC,MAAM,EAAEP;IAAkB,CAAC,CAAC;EAC3D,CAAC,CAAC,EACJ,CAACA,iBAAiB,EAAEV,OAAO,EAAEC,UAAU,CACzC,CAAC;EAEDL,KAAK,CAACgB,SAAS,CAAC,MAAM;IACpB,MAAMM,cAAc,GAAGf,iBAAiB,CAACW,OAAO;IAEhD,MAAMK,SAAS,GAAGlB,UAAU,GAAGA,UAAU,CAACkB,SAAS,CAAC,CAAC,GAAG,IAAI;IAE5D,IAAIA,SAAS,EAAE;MACb;MACAhB,iBAAiB,CAACW,OAAO,GAAGJ,iBAAiB;IAC/C;;IAEA;IACA;IACA,IAAIQ,cAAc,KAAKb,SAAS,IAAI,CAACJ,UAAU,EAAE;MAC/CD,OAAO,CAACe,IAAI,CAAC;QAAEC,IAAI,EAAE,OAAO;QAAEC,MAAM,EAAEP;MAAkB,CAAC,CAAC;IAC5D;;IAEA;IACA;IACA,IAAIQ,cAAc,KAAKR,iBAAiB,IAAI,CAACS,SAAS,EAAE;MACtD;IACF;IAEA,IAAID,cAAc,KAAKb,SAAS,EAAE;MAChC;MACA;IACF;IAEAL,OAAO,CAACe,IAAI,CAAC;MAAEC,IAAI,EAAE,MAAM;MAAEC,MAAM,EAAEC;IAAe,CAAC,CAAC;IACtDlB,OAAO,CAACe,IAAI,CAAC;MAAEC,IAAI,EAAE,OAAO;MAAEC,MAAM,EAAEP;IAAkB,CAAC,CAAC;EAC5D,CAAC,EAAE,CAACA,iBAAiB,EAAEV,OAAO,EAAEC,UAAU,CAAC,CAAC;AAC9C","ignoreList":[]}
|
|
@@ -11,7 +11,7 @@ export function useFocusedListenersChildrenAdapter({
|
|
|
11
11
|
}) {
|
|
12
12
|
const {
|
|
13
13
|
addListener
|
|
14
|
-
} = React.
|
|
14
|
+
} = React.use(NavigationBuilderContext);
|
|
15
15
|
const listener = React.useCallback(callback => {
|
|
16
16
|
if (navigation.isFocused()) {
|
|
17
17
|
for (const listener of focusedListeners) {
|
|
@@ -37,6 +37,6 @@ export function useFocusedListenersChildrenAdapter({
|
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
39
|
}, [focusedListeners, navigation]);
|
|
40
|
-
React.
|
|
40
|
+
React.useInsertionEffect(() => addListener?.('focus', listener), [addListener, listener]);
|
|
41
41
|
}
|
|
42
42
|
//# sourceMappingURL=useFocusedListenersChildrenAdapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","NavigationBuilderContext","useFocusedListenersChildrenAdapter","navigation","focusedListeners","addListener","
|
|
1
|
+
{"version":3,"names":["React","NavigationBuilderContext","useFocusedListenersChildrenAdapter","navigation","focusedListeners","addListener","use","listener","useCallback","callback","isFocused","handled","result","useInsertionEffect"],"sourceRoot":"../../src","sources":["useFocusedListenersChildrenAdapter.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAGEC,wBAAwB,QACnB,+BAA4B;AAQnC;AACA;AACA;AACA,OAAO,SAASC,kCAAkCA,CAAC;EACjDC,UAAU;EACVC;AACO,CAAC,EAAE;EACV,MAAM;IAAEC;EAAY,CAAC,GAAGL,KAAK,CAACM,GAAG,CAACL,wBAAwB,CAAC;EAE3D,MAAMM,QAAQ,GAAGP,KAAK,CAACQ,WAAW,CAC/BC,QAAwC,IAAK;IAC5C,IAAIN,UAAU,CAACO,SAAS,CAAC,CAAC,EAAE;MAC1B,KAAK,MAAMH,QAAQ,IAAIH,gBAAgB,EAAE;QACvC,MAAM;UAAEO,OAAO;UAAEC;QAAO,CAAC,GAAGL,QAAQ,CAACE,QAAQ,CAAC;QAE9C,IAAIE,OAAO,EAAE;UACX,OAAO;YAAEA,OAAO;YAAEC;UAAO,CAAC;QAC5B;MACF;MAEA,OAAO;QAAED,OAAO,EAAE,IAAI;QAAEC,MAAM,EAAEH,QAAQ,CAACN,UAAU;MAAE,CAAC;IACxD,CAAC,MAAM;MACL,OAAO;QAAEQ,OAAO,EAAE,KAAK;QAAEC,MAAM,EAAE;MAAK,CAAC;IACzC;EACF,CAAC,EACD,CAACR,gBAAgB,EAAED,UAAU,CAC/B,CAAC;EAEDH,KAAK,CAACa,kBAAkB,CACtB,MAAMR,WAAW,GAAG,OAAO,EAAEE,QAAQ,CAAC,EACtC,CAACF,WAAW,EAAEE,QAAQ,CACxB,CAAC;AACH","ignoreList":[]}
|