@react-navigation/core 7.13.7 → 8.0.0-alpha.0
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 +4 -9
- package/lib/module/BaseNavigationContainer.js.map +1 -1
- package/lib/module/NavigationIndependentTree.js +12 -7
- package/lib/module/NavigationIndependentTree.js.map +1 -1
- package/lib/module/NavigationProvider.js +49 -0
- package/lib/module/NavigationProvider.js.map +1 -0
- package/lib/module/PreventRemoveProvider.js +1 -1
- package/lib/module/PreventRemoveProvider.js.map +1 -1
- package/lib/module/SceneView.js.map +1 -1
- package/lib/module/StaticNavigation.js +32 -21
- package/lib/module/StaticNavigation.js.map +1 -1
- package/lib/module/createNavigationContainerRef.js.map +1 -1
- package/lib/module/getActionFromState.js +3 -2
- package/lib/module/getActionFromState.js.map +1 -1
- package/lib/module/getPathFromState.js +1 -1
- package/lib/module/getPathFromState.js.map +1 -1
- package/lib/module/getStateFromPath.js +3 -3
- package/lib/module/getStateFromPath.js.map +1 -1
- package/lib/module/index.js +1 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/theming/ThemeContext.js.map +1 -1
- package/lib/module/theming/ThemeProvider.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 +41 -0
- package/lib/module/types.js.map +1 -1
- package/lib/module/useChildListeners.js +2 -4
- package/lib/module/useChildListeners.js.map +1 -1
- package/lib/module/useDescriptors.js +5 -9
- package/lib/module/useDescriptors.js.map +1 -1
- package/lib/module/useEventEmitter.js +9 -20
- package/lib/module/useEventEmitter.js.map +1 -1
- package/lib/module/useFocusEvents.js +1 -1
- package/lib/module/useFocusEvents.js.map +1 -1
- package/lib/module/useNavigation.js +31 -8
- package/lib/module/useNavigation.js.map +1 -1
- package/lib/module/useNavigationBuilder.js +10 -12
- package/lib/module/useNavigationBuilder.js.map +1 -1
- package/lib/module/useNavigationCache.js +18 -11
- package/lib/module/useNavigationCache.js.map +1 -1
- package/lib/module/useNavigationHelpers.js +2 -14
- package/lib/module/useNavigationHelpers.js.map +1 -1
- package/lib/module/useNavigationState.js +42 -9
- package/lib/module/useNavigationState.js.map +1 -1
- package/lib/module/useOnAction.js +2 -7
- package/lib/module/useOnAction.js.map +1 -1
- package/lib/module/useOnGetState.js +1 -1
- package/lib/module/useOnGetState.js.map +1 -1
- package/lib/module/useOnPreventRemove.js +1 -1
- package/lib/module/useOnPreventRemove.js.map +1 -1
- package/lib/module/useRoute.js +23 -5
- package/lib/module/useRoute.js.map +1 -1
- package/lib/module/useScheduleUpdate.js +1 -2
- package/lib/module/useScheduleUpdate.js.map +1 -1
- package/lib/module/useSyncState.js +25 -9
- package/lib/module/useSyncState.js.map +1 -1
- package/lib/module/utilities.js +2 -0
- package/lib/module/utilities.js.map +1 -0
- package/lib/typescript/src/BaseNavigationContainer.d.ts.map +1 -1
- package/lib/typescript/src/NavigationIndependentTree.d.ts.map +1 -1
- package/lib/typescript/src/NavigationProvider.d.ts +44 -0
- package/lib/typescript/src/NavigationProvider.d.ts.map +1 -0
- package/lib/typescript/src/SceneView.d.ts +1 -1
- package/lib/typescript/src/SceneView.d.ts.map +1 -1
- package/lib/typescript/src/StaticNavigation.d.ts +231 -80
- package/lib/typescript/src/StaticNavigation.d.ts.map +1 -1
- package/lib/typescript/src/createNavigationContainerRef.d.ts +2 -2
- package/lib/typescript/src/createNavigationContainerRef.d.ts.map +1 -1
- package/lib/typescript/src/getStateFromPath.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +2 -3
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/theming/ThemeContext.d.ts +2 -1
- package/lib/typescript/src/theming/ThemeContext.d.ts.map +1 -1
- package/lib/typescript/src/theming/ThemeProvider.d.ts +2 -1
- 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 +188 -133
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/useChildListeners.d.ts.map +1 -1
- package/lib/typescript/src/useDescriptors.d.ts +27 -109
- package/lib/typescript/src/useDescriptors.d.ts.map +1 -1
- package/lib/typescript/src/useEventEmitter.d.ts.map +1 -1
- package/lib/typescript/src/useNavigation.d.ts +7 -5
- package/lib/typescript/src/useNavigation.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationBuilder.d.ts +25 -114
- package/lib/typescript/src/useNavigationBuilder.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationCache.d.ts +8 -22
- package/lib/typescript/src/useNavigationCache.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationContainerRef.d.ts +2 -2
- package/lib/typescript/src/useNavigationContainerRef.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationHelpers.d.ts +3 -11
- package/lib/typescript/src/useNavigationHelpers.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationState.d.ts +10 -3
- package/lib/typescript/src/useNavigationState.d.ts.map +1 -1
- package/lib/typescript/src/useOnAction.d.ts.map +1 -1
- package/lib/typescript/src/useRoute.d.ts +8 -2
- package/lib/typescript/src/useRoute.d.ts.map +1 -1
- package/lib/typescript/src/useRouteCache.d.ts +12 -3
- package/lib/typescript/src/useRouteCache.d.ts.map +1 -1
- package/lib/typescript/src/useScheduleUpdate.d.ts.map +1 -1
- package/lib/typescript/src/useSyncState.d.ts.map +1 -1
- package/lib/typescript/src/utilities.d.ts +99 -0
- package/lib/typescript/src/utilities.d.ts.map +1 -0
- package/package.json +7 -7
- package/src/BaseNavigationContainer.tsx +3 -9
- package/src/NavigationIndependentTree.tsx +17 -9
- package/src/NavigationProvider.tsx +64 -0
- package/src/PreventRemoveProvider.tsx +1 -1
- package/src/SceneView.tsx +1 -7
- package/src/StaticNavigation.tsx +372 -134
- package/src/createNavigationContainerRef.tsx +2 -1
- package/src/getActionFromState.tsx +4 -2
- package/src/getPathFromState.tsx +6 -5
- package/src/getStateFromPath.tsx +11 -11
- package/src/index.tsx +8 -4
- package/src/theming/ThemeContext.tsx +3 -3
- package/src/theming/ThemeProvider.tsx +2 -1
- package/src/theming/useTheme.tsx +1 -1
- package/src/types.tsx +392 -243
- package/src/useChildListeners.tsx +3 -2
- package/src/useDescriptors.tsx +11 -17
- package/src/useEventEmitter.tsx +14 -31
- package/src/useFocusEvents.tsx +1 -1
- package/src/useNavigation.tsx +57 -14
- package/src/useNavigationBuilder.tsx +10 -13
- package/src/useNavigationCache.tsx +40 -18
- package/src/useNavigationContainerRef.tsx +2 -2
- package/src/useNavigationHelpers.tsx +2 -19
- package/src/useNavigationState.tsx +90 -19
- package/src/useOnAction.tsx +1 -12
- package/src/useOnGetState.tsx +1 -1
- package/src/useOnPreventRemove.tsx +1 -1
- package/src/useRoute.tsx +52 -7
- package/src/useScheduleUpdate.tsx +1 -2
- package/src/useSyncState.tsx +28 -13
- package/src/utilities.tsx +122 -0
- package/lib/module/DeprecatedNavigationInChildContext.js +0 -9
- package/lib/module/DeprecatedNavigationInChildContext.js.map +0 -1
- package/lib/module/NavigationContext.js +0 -8
- package/lib/module/NavigationContext.js.map +0 -1
- package/lib/module/NavigationRouteContext.js +0 -9
- package/lib/module/NavigationRouteContext.js.map +0 -1
- package/lib/module/useClientLayoutEffect.js +0 -9
- package/lib/module/useClientLayoutEffect.js.map +0 -1
- package/lib/typescript/src/DeprecatedNavigationInChildContext.d.ts +0 -6
- package/lib/typescript/src/DeprecatedNavigationInChildContext.d.ts.map +0 -1
- package/lib/typescript/src/NavigationContext.d.ts +0 -8
- package/lib/typescript/src/NavigationContext.d.ts.map +0 -1
- package/lib/typescript/src/NavigationRouteContext.d.ts +0 -7
- package/lib/typescript/src/NavigationRouteContext.d.ts.map +0 -1
- package/lib/typescript/src/useClientLayoutEffect.d.ts +0 -6
- package/lib/typescript/src/useClientLayoutEffect.d.ts.map +0 -1
- package/src/DeprecatedNavigationInChildContext.tsx +0 -6
- package/src/NavigationContext.tsx +0 -11
- package/src/NavigationRouteContext.tsx +0 -9
- package/src/useClientLayoutEffect.tsx +0 -10
|
@@ -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","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":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -10,10 +10,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 { NavigationContext } from "./NavigationContext.js";
|
|
14
13
|
export { NavigationHelpersContext } from "./NavigationHelpersContext.js";
|
|
15
14
|
export { NavigationIndependentTree } from "./NavigationIndependentTree.js";
|
|
16
|
-
export { NavigationRouteContext } from "./
|
|
15
|
+
export { NavigationContext, NavigationProvider, NavigationRouteContext } from "./NavigationProvider.js";
|
|
17
16
|
export { PreventRemoveContext } from "./PreventRemoveContext.js";
|
|
18
17
|
export { PreventRemoveProvider } from "./PreventRemoveProvider.js";
|
|
19
18
|
export { createComponentForStaticNavigation, createPathConfigForStaticNavigation } from "./StaticNavigation.js";
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseNavigationContainer","createNavigationContainerRef","createNavigatorFactory","CurrentRenderContext","findFocusedRoute","getActionFromState","getFocusedRouteNameFromRoute","getPathFromState","getStateFromPath","NavigationContainerRefContext","
|
|
1
|
+
{"version":3,"names":["BaseNavigationContainer","createNavigationContainerRef","createNavigatorFactory","CurrentRenderContext","findFocusedRoute","getActionFromState","getFocusedRouteNameFromRoute","getPathFromState","getStateFromPath","NavigationContainerRefContext","NavigationHelpersContext","NavigationIndependentTree","NavigationContext","NavigationProvider","NavigationRouteContext","PreventRemoveContext","PreventRemoveProvider","createComponentForStaticNavigation","createPathConfigForStaticNavigation","ThemeContext","ThemeProvider","useTheme","useFocusEffect","useIsFocused","useNavigation","useNavigationBuilder","useNavigationContainerRef","useNavigationIndependentTree","useNavigationState","usePreventRemove","usePreventRemoveContext","useRoute","useStateForPath","validatePathConfig"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,uBAAuB,QAAQ,8BAA2B;AACnE,SAASC,4BAA4B,QAAQ,mCAAgC;AAC7E,SAASC,sBAAsB,QAAQ,6BAA0B;AACjE,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,4BAA4B,QAAQ,mCAAgC;AAC7E,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,6BAA6B,QAAQ,oCAAiC;AAC/E,SAASC,wBAAwB,QAAQ,+BAA4B;AACrE,SAASC,yBAAyB,QAAQ,gCAA6B;AACvE,SACEC,iBAAiB,EACjBC,kBAAkB,EAClBC,sBAAsB,QACjB,yBAAsB;AAC7B,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SACEC,kCAAkC,EAClCC,mCAAmC,QAQ9B,uBAAoB;AAC3B,SAASC,YAAY,QAAQ,2BAAwB;AACrD,SAASC,aAAa,QAAQ,4BAAyB;AACvD,SAASC,QAAQ,QAAQ,uBAAoB;AAC7C,cAAc,YAAS;AACvB,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,yBAAyB,QAAQ,gCAA6B;AACvE,SAASC,4BAA4B,QAAQ,mCAAgC;AAC7E,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,uBAAuB,QAAQ,8BAA2B;AACnE,SAASC,QAAQ,QAAQ,eAAY;AACrC,SAASC,eAAe,QAAQ,sBAAmB;AACnD,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,cAAc,2BAA2B","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","ThemeContext","createContext","undefined","displayName"],"sourceRoot":"../../../src","sources":["theming/ThemeContext.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;
|
|
1
|
+
{"version":3,"names":["React","ThemeContext","createContext","undefined","displayName"],"sourceRoot":"../../../src","sources":["theming/ThemeContext.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAI9B,OAAO,MAAMC,YAAY,gBAAGD,KAAK,CAACE,aAAa,CAAoBC,SAAS,CAAC;AAE7EF,YAAY,CAACG,WAAW,GAAG,cAAc","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","ThemeContext","jsx","_jsx","ThemeProvider","value","children","Provider"],"sourceRoot":"../../../src","sources":["theming/ThemeProvider.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;
|
|
1
|
+
{"version":3,"names":["React","ThemeContext","jsx","_jsx","ThemeProvider","value","children","Provider"],"sourceRoot":"../../../src","sources":["theming/ThemeProvider.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAG9B,SAASC,YAAY,QAAQ,mBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAO9C,OAAO,SAASC,aAAaA,CAAC;EAAEC,KAAK;EAAEC;AAAgB,CAAC,EAAE;EACxD,oBACEH,IAAA,CAACF,YAAY,CAACM,QAAQ;IAACF,KAAK,EAAEA,KAAM;IAAAC,QAAA,EAAEA;EAAQ,CAAwB,CAAC;AAE3E","ignoreList":[]}
|
|
@@ -5,7 +5,7 @@ import { ThemeContext } from "./ThemeContext.js";
|
|
|
5
5
|
export function useTheme() {
|
|
6
6
|
const theme = React.useContext(ThemeContext);
|
|
7
7
|
if (theme == null) {
|
|
8
|
-
throw new Error("Couldn't find a theme. Is your component inside NavigationContainer or
|
|
8
|
+
throw new Error("Couldn't find a theme. Is your component inside NavigationContainer or a ThemeProvider?");
|
|
9
9
|
}
|
|
10
10
|
return theme;
|
|
11
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","ThemeContext","useTheme","theme","useContext","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,UAAU,CAACH,YAAY,CAAC;EAE5C,IAAIE,KAAK,IAAI,IAAI,EAAE;IACjB,MAAM,IAAIE,KAAK,CACb,
|
|
1
|
+
{"version":3,"names":["React","ThemeContext","useTheme","theme","useContext","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,UAAU,CAACH,YAAY,CAAC;EAE5C,IAAIE,KAAK,IAAI,IAAI,EAAE;IACjB,MAAM,IAAIE,KAAK,CACb,yFACF,CAAC;EACH;EAEA,OAAOF,KAAK;AACd","ignoreList":[]}
|
package/lib/module/types.js
CHANGED
|
@@ -1,4 +1,45 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* Root navigator used in the app.
|
|
5
|
+
* It's used for the global types in the app.
|
|
6
|
+
* Users need to use module augmentation to add their navigator type:
|
|
7
|
+
*
|
|
8
|
+
* ```ts
|
|
9
|
+
* // Navigator created with static or dynamic API
|
|
10
|
+
* const RootStack = createStackNavigator({
|
|
11
|
+
* // ...
|
|
12
|
+
* });
|
|
13
|
+
*
|
|
14
|
+
* type RootStackType = typeof RootStack;
|
|
15
|
+
*
|
|
16
|
+
* declare module '@react-navigation/core' {
|
|
17
|
+
* interface RootNavigator extends RootStackType {}
|
|
18
|
+
* }
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Theme object for the navigation components.
|
|
25
|
+
* Custom properties can be added using declaration merging:
|
|
26
|
+
*
|
|
27
|
+
* ```ts
|
|
28
|
+
* declare module '@react-navigation/core' {
|
|
29
|
+
* interface Theme extends NativeTheme {
|
|
30
|
+
* myCustomProperty: string;
|
|
31
|
+
* }
|
|
32
|
+
* }
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
|
36
|
+
|
|
3
37
|
export class PrivateValueStore {}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* A stripped down NavigationProp if the navigator is not known.
|
|
41
|
+
*
|
|
42
|
+
* The hook can be used in `NavigationContainer` directly, not inside of a navigator.
|
|
43
|
+
* So navigator specific methods won't be available.
|
|
44
|
+
*/
|
|
4
45
|
//# 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":";;AAmBA;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;;AAqNA,OAAO,MAAMA,iBAAiB,CAA4B;;AAqjB1D;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
|
|
@@ -5,12 +5,10 @@ import * as React from 'react';
|
|
|
5
5
|
* Hook which lets child navigators add action listeners.
|
|
6
6
|
*/
|
|
7
7
|
export function useChildListeners() {
|
|
8
|
-
const {
|
|
9
|
-
current: listeners
|
|
10
|
-
} = React.useRef({
|
|
8
|
+
const listeners = React.useRef({
|
|
11
9
|
action: [],
|
|
12
10
|
focus: []
|
|
13
|
-
});
|
|
11
|
+
}).current;
|
|
14
12
|
const addListener = React.useCallback((type, listener) => {
|
|
15
13
|
listeners[type].push(listener);
|
|
16
14
|
let removed = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useChildListeners","
|
|
1
|
+
{"version":3,"names":["React","useChildListeners","listeners","useRef","action","focus","current","addListener","useCallback","type","listener","push","removed","index","indexOf","splice"],"sourceRoot":"../../src","sources":["useChildListeners.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAI9B;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAAA,EAAG;EAClC,MAAMC,SAAS,GAAGF,KAAK,CAACG,MAAM,CAE3B;IACDC,MAAM,EAAE,EAAE;IACVC,KAAK,EAAE;EACT,CAAC,CAAC,CAACC,OAAO;EAEV,MAAMC,WAAW,GAAGP,KAAK,CAACQ,WAAW,CACnC,CAA8BC,IAAO,EAAEC,QAAwB,KAAK;IAClER,SAAS,CAACO,IAAI,CAAC,CAACE,IAAI,CAACD,QAAQ,CAAC;IAE9B,IAAIE,OAAO,GAAG,KAAK;IAEnB,OAAO,MAAM;MACX,MAAMC,KAAK,GAAGX,SAAS,CAACO,IAAI,CAAC,CAACK,OAAO,CAACJ,QAAQ,CAAC;MAE/C,IAAI,CAACE,OAAO,IAAIC,KAAK,GAAG,CAAC,CAAC,EAAE;QAC1BD,OAAO,GAAG,IAAI;QACdV,SAAS,CAACO,IAAI,CAAC,CAACM,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC;MAClC;IACF,CAAC;EACH,CAAC,EACD,CAACX,SAAS,CACZ,CAAC;EAED,OAAO;IACLA,SAAS;IACTK;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { NavigationBuilderContext } from "./NavigationBuilderContext.js";
|
|
5
|
-
import {
|
|
6
|
-
import { NavigationRouteContext } from "./NavigationRouteContext.js";
|
|
5
|
+
import { NavigationProvider } from "./NavigationProvider.js";
|
|
7
6
|
import { SceneView } from "./SceneView.js";
|
|
8
7
|
import { ThemeContext } from "./theming/ThemeContext.js";
|
|
9
8
|
import { useNavigationCache } from "./useNavigationCache.js";
|
|
@@ -128,12 +127,10 @@ export function useDescriptors({
|
|
|
128
127
|
}
|
|
129
128
|
return /*#__PURE__*/_jsx(NavigationBuilderContext.Provider, {
|
|
130
129
|
value: context,
|
|
131
|
-
children: /*#__PURE__*/_jsx(
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
children: element
|
|
136
|
-
})
|
|
130
|
+
children: /*#__PURE__*/_jsx(NavigationProvider, {
|
|
131
|
+
navigation: navigation,
|
|
132
|
+
route: route,
|
|
133
|
+
children: element
|
|
137
134
|
})
|
|
138
135
|
}, route.key);
|
|
139
136
|
};
|
|
@@ -143,7 +140,6 @@ export function useDescriptors({
|
|
|
143
140
|
const element = render(route, navigation, customOptions, state.routes[i].state);
|
|
144
141
|
acc[route.key] = {
|
|
145
142
|
route,
|
|
146
|
-
// @ts-expect-error: it's missing action helpers, fix later
|
|
147
143
|
navigation,
|
|
148
144
|
render() {
|
|
149
145
|
return element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","NavigationBuilderContext","
|
|
1
|
+
{"version":3,"names":["React","NavigationBuilderContext","NavigationProvider","SceneView","ThemeContext","useNavigationCache","useRouteCache","jsx","_jsx","useDescriptors","state","screens","navigation","screenOptions","screenLayout","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","theme","useContext","options","setOptions","useState","onDispatchAction","onOptionsChange","scheduleUpdate","flushUpdates","stackRef","context","useMemo","base","navigations","routes","getOptions","route","overrides","config","name","screen","props","optionsList","filter","Boolean","reduce","acc","curr","Object","assign","render","customOptions","routeState","clearOptions","o","key","_","rest","layout","element","children","Provider","value","descriptors","i","describe","placeholder","Error","undefined"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -12,27 +12,14 @@ export function useEventEmitter(listen) {
|
|
|
12
12
|
const listeners = React.useRef(Object.create(null));
|
|
13
13
|
const create = React.useCallback(target => {
|
|
14
14
|
const removeListener = (type, callback) => {
|
|
15
|
-
const callbacks = listeners.current[type]
|
|
16
|
-
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
const index = callbacks.indexOf(callback);
|
|
20
|
-
if (index > -1) {
|
|
21
|
-
callbacks.splice(index, 1);
|
|
22
|
-
}
|
|
15
|
+
const callbacks = listeners.current[type]?.[target];
|
|
16
|
+
callbacks?.delete(callback);
|
|
23
17
|
};
|
|
24
18
|
const addListener = (type, callback) => {
|
|
25
|
-
listeners.current[type]
|
|
26
|
-
listeners.current[type][target]
|
|
27
|
-
listeners.current[type][target].
|
|
28
|
-
|
|
29
|
-
return () => {
|
|
30
|
-
// Prevent removing other listeners when unsubscribing same listener multiple times
|
|
31
|
-
if (!removed) {
|
|
32
|
-
removed = true;
|
|
33
|
-
removeListener(type, callback);
|
|
34
|
-
}
|
|
35
|
-
};
|
|
19
|
+
listeners.current[type] ??= {};
|
|
20
|
+
listeners.current[type][target] ??= new Set();
|
|
21
|
+
listeners.current[type][target].add(callback);
|
|
22
|
+
return () => removeListener(type, callback);
|
|
36
23
|
};
|
|
37
24
|
return {
|
|
38
25
|
addListener,
|
|
@@ -48,7 +35,9 @@ export function useEventEmitter(listen) {
|
|
|
48
35
|
const items = listeners.current[type] || {};
|
|
49
36
|
|
|
50
37
|
// Copy the current list of callbacks in case they are mutated during execution
|
|
51
|
-
const callbacks =
|
|
38
|
+
const callbacks = new Set(Object.values(target ? {
|
|
39
|
+
[target]: items[target]
|
|
40
|
+
} : items).flatMap(t => t ? Array.from(t) : []));
|
|
52
41
|
const event = {
|
|
53
42
|
get type() {
|
|
54
43
|
return type;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEventEmitter","listen","listenRef","useRef","useEffect","current","listeners","Object","create","useCallback","target","removeListener","type","callback","callbacks","
|
|
1
|
+
{"version":3,"names":["React","useEventEmitter","listen","listenRef","useRef","useEffect","current","listeners","Object","create","useCallback","target","removeListener","type","callback","callbacks","delete","addListener","Set","add","emit","data","canPreventDefault","items","values","flatMap","t","Array","from","event","undefined","defineProperty","enumerable","get","defaultPrevented","defineProperties","preventDefault","value","forEach","cb","useMemo"],"sourceRoot":"../../src","sources":["useEventEmitter.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","NavigationContext","useFocusEvents","state","emitter","navigation","useContext","lastFocusedKeyRef","useRef","undefined","currentFocusedKey","routes","index","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,
|
|
1
|
+
{"version":3,"names":["React","NavigationContext","useFocusEvents","state","emitter","navigation","useContext","lastFocusedKeyRef","useRef","undefined","currentFocusedKey","routes","index","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,UAAU,CAACL,iBAAiB,CAAC;EACtD,MAAMM,iBAAiB,GAAGP,KAAK,CAACQ,MAAM,CAAqBC,SAAS,CAAC;EAErE,MAAMC,iBAAiB,GAAGP,KAAK,CAACQ,MAAM,CAACR,KAAK,CAACS,KAAK,CAAC,CAACC,GAAG;;EAEvD;EACA;EACAb,KAAK,CAACc,SAAS,CACb,MACET,UAAU,EAAEU,WAAW,CAAC,OAAO,EAAE,MAAM;IACrCR,iBAAiB,CAACS,OAAO,GAAGN,iBAAiB;IAC7CN,OAAO,CAACa,IAAI,CAAC;MAAEC,IAAI,EAAE,OAAO;MAAEC,MAAM,EAAET;IAAkB,CAAC,CAAC;EAC5D,CAAC,CAAC,EACJ,CAACA,iBAAiB,EAAEN,OAAO,EAAEC,UAAU,CACzC,CAAC;EAEDL,KAAK,CAACc,SAAS,CACb,MACET,UAAU,EAAEU,WAAW,CAAC,MAAM,EAAE,MAAM;IACpCR,iBAAiB,CAACS,OAAO,GAAGP,SAAS;IACrCL,OAAO,CAACa,IAAI,CAAC;MAAEC,IAAI,EAAE,MAAM;MAAEC,MAAM,EAAET;IAAkB,CAAC,CAAC;EAC3D,CAAC,CAAC,EACJ,CAACA,iBAAiB,EAAEN,OAAO,EAAEC,UAAU,CACzC,CAAC;EAEDL,KAAK,CAACc,SAAS,CAAC,MAAM;IACpB,MAAMM,cAAc,GAAGb,iBAAiB,CAACS,OAAO;IAEhDT,iBAAiB,CAACS,OAAO,GAAGN,iBAAiB;;IAE7C;IACA;IACA,IAAIU,cAAc,KAAKX,SAAS,IAAI,CAACJ,UAAU,EAAE;MAC/CD,OAAO,CAACa,IAAI,CAAC;QAAEC,IAAI,EAAE,OAAO;QAAEC,MAAM,EAAET;MAAkB,CAAC,CAAC;IAC5D;;IAEA;IACA;IACA,IACEU,cAAc,KAAKV,iBAAiB,IACpC,EAAEL,UAAU,GAAGA,UAAU,CAACgB,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,EAC7C;MACA;IACF;IAEA,IAAID,cAAc,KAAKX,SAAS,EAAE;MAChC;MACA;IACF;IAEAL,OAAO,CAACa,IAAI,CAAC;MAAEC,IAAI,EAAE,MAAM;MAAEC,MAAM,EAAEC;IAAe,CAAC,CAAC;IACtDhB,OAAO,CAACa,IAAI,CAAC;MAAEC,IAAI,EAAE,OAAO;MAAEC,MAAM,EAAET;IAAkB,CAAC,CAAC;EAC5D,CAAC,EAAE,CAACA,iBAAiB,EAAEN,OAAO,EAAEC,UAAU,CAAC,CAAC;AAC9C","ignoreList":[]}
|
|
@@ -2,20 +2,43 @@
|
|
|
2
2
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { NavigationContainerRefContext } from "./NavigationContainerRefContext.js";
|
|
5
|
-
import { NavigationContext } from "./
|
|
5
|
+
import { NavigationContext, NavigationRouteNameContext } from "./NavigationProvider.js";
|
|
6
|
+
|
|
6
7
|
/**
|
|
7
8
|
* Hook to access the navigation prop of the parent screen anywhere.
|
|
8
9
|
*
|
|
10
|
+
* If the route name of the current or one of the parents is specified,
|
|
11
|
+
* the navigation prop for that route is returned.
|
|
12
|
+
*
|
|
9
13
|
* @returns Navigation prop of the parent screen.
|
|
10
14
|
*/
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
|
|
16
|
+
export function useNavigation(name) {
|
|
17
|
+
const root = React.use(NavigationContainerRefContext);
|
|
18
|
+
const navigation = React.use(NavigationContext);
|
|
19
|
+
if (name === undefined) {
|
|
20
|
+
if (navigation === undefined && root === undefined) {
|
|
21
|
+
throw new Error("Couldn't find a navigation object. Is your component inside NavigationContainer?");
|
|
22
|
+
}
|
|
23
|
+
return navigation ?? root;
|
|
16
24
|
}
|
|
25
|
+
const routeName = React.use(NavigationRouteNameContext);
|
|
17
26
|
|
|
18
|
-
//
|
|
19
|
-
|
|
27
|
+
// Generally, this condition isn't needed as `getParent(name)` works for current screen
|
|
28
|
+
// However, it'll throw if the hook is used in a preloaded screen
|
|
29
|
+
if (routeName === name) {
|
|
30
|
+
if (navigation === undefined) {
|
|
31
|
+
throw new Error(`Couldn't find a navigation object for '${name}'. This is not expected.`);
|
|
32
|
+
}
|
|
33
|
+
return navigation;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// We get parent first so that `getParent(name)` is not called in preloaded screens
|
|
37
|
+
// It's ok since `getParent` also works for current screen, so parent is not skipped
|
|
38
|
+
const parent = navigation?.getParent()?.getParent(name);
|
|
39
|
+
if (parent === undefined) {
|
|
40
|
+
throw new Error(`Couldn't find a navigation object for '${name}' in current or any parent screens. Is your component inside the correct screen?`);
|
|
41
|
+
}
|
|
42
|
+
return parent;
|
|
20
43
|
}
|
|
21
44
|
//# sourceMappingURL=useNavigation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","NavigationContainerRefContext","NavigationContext","useNavigation","root","
|
|
1
|
+
{"version":3,"names":["React","NavigationContainerRefContext","NavigationContext","NavigationRouteNameContext","useNavigation","name","root","use","navigation","undefined","Error","routeName","parent","getParent"],"sourceRoot":"../../src","sources":["useNavigation.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,6BAA6B,QAAQ,oCAAiC;AAC/E,SACEC,iBAAiB,EACjBC,0BAA0B,QACrB,yBAAsB;;AAS7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA,OAAO,SAASC,aAAaA,CAACC,IAAa,EAAW;EACpD,MAAMC,IAAI,GAAGN,KAAK,CAACO,GAAG,CAACN,6BAA6B,CAAC;EACrD,MAAMO,UAAU,GAAGR,KAAK,CAACO,GAAG,CAACL,iBAAiB,CAAC;EAE/C,IAAIG,IAAI,KAAKI,SAAS,EAAE;IACtB,IAAID,UAAU,KAAKC,SAAS,IAAIH,IAAI,KAAKG,SAAS,EAAE;MAClD,MAAM,IAAIC,KAAK,CACb,kFACF,CAAC;IACH;IAEA,OAAOF,UAAU,IAAIF,IAAI;EAC3B;EAEA,MAAMK,SAAS,GAAGX,KAAK,CAACO,GAAG,CAACJ,0BAA0B,CAAC;;EAEvD;EACA;EACA,IAAIQ,SAAS,KAAKN,IAAI,EAAE;IACtB,IAAIG,UAAU,KAAKC,SAAS,EAAE;MAC5B,MAAM,IAAIC,KAAK,CACb,0CAA0CL,IAAI,0BAChD,CAAC;IACH;IAEA,OAAOG,UAAU;EACnB;;EAEA;EACA;EACA,MAAMI,MAAM,GAAGJ,UAAU,EAAEK,SAAS,CAAC,CAAC,EAAEA,SAAS,CAACR,IAAI,CAAC;EAEvD,IAAIO,MAAM,KAAKH,SAAS,EAAE;IACxB,MAAM,IAAIC,KAAK,CACb,0CAA0CL,IAAI,kFAChD,CAAC;EACH;EAEA,OAAOO,MAAM;AACf","ignoreList":[]}
|
|
@@ -10,14 +10,13 @@ import { Group } from "./Group.js";
|
|
|
10
10
|
import { isArrayEqual } from "./isArrayEqual.js";
|
|
11
11
|
import { isRecordEqual } from "./isRecordEqual.js";
|
|
12
12
|
import { NavigationHelpersContext } from "./NavigationHelpersContext.js";
|
|
13
|
-
import { NavigationRouteContext } from "./
|
|
13
|
+
import { NavigationRouteContext } from "./NavigationProvider.js";
|
|
14
14
|
import { NavigationStateContext } from "./NavigationStateContext.js";
|
|
15
15
|
import { PreventRemoveProvider } from "./PreventRemoveProvider.js";
|
|
16
16
|
import { Screen } from "./Screen.js";
|
|
17
17
|
import { PrivateValueStore } from "./types.js";
|
|
18
18
|
import { UnhandledActionContext } from "./UnhandledActionContext.js";
|
|
19
19
|
import { useChildListeners } from "./useChildListeners.js";
|
|
20
|
-
import { useClientLayoutEffect } from "./useClientLayoutEffect.js";
|
|
21
20
|
import { useComponent } from "./useComponent.js";
|
|
22
21
|
import { useCurrentRender } from "./useCurrentRender.js";
|
|
23
22
|
import { useDescriptors } from "./useDescriptors.js";
|
|
@@ -166,7 +165,7 @@ export function useNavigationBuilder(createRouter, options) {
|
|
|
166
165
|
screenOptions,
|
|
167
166
|
screenLayout,
|
|
168
167
|
screenListeners,
|
|
169
|
-
|
|
168
|
+
router: routerOverrides,
|
|
170
169
|
...rest
|
|
171
170
|
} = options;
|
|
172
171
|
const routeConfigs = getRouteConfigsFromChildren(children);
|
|
@@ -175,8 +174,8 @@ export function useNavigationBuilder(createRouter, options) {
|
|
|
175
174
|
throw new Error(`Couldn't find a screen named '${rest.initialRouteName}' to use as 'initialRouteName'.`);
|
|
176
175
|
}
|
|
177
176
|
const original = createRouter(rest);
|
|
178
|
-
if (
|
|
179
|
-
const overrides =
|
|
177
|
+
if (routerOverrides != null) {
|
|
178
|
+
const overrides = routerOverrides(original);
|
|
180
179
|
return {
|
|
181
180
|
...original,
|
|
182
181
|
...overrides
|
|
@@ -261,7 +260,7 @@ export function useNavigationBuilder(createRouter, options) {
|
|
|
261
260
|
routeParamList: initialRouteParamList,
|
|
262
261
|
routeGetIdList
|
|
263
262
|
});
|
|
264
|
-
if (options.
|
|
263
|
+
if (options.routeNamesChangeBehavior === 'lastUnhandled' && doesStateHaveOnlyInvalidRoutes(stateBeforeInitialization)) {
|
|
265
264
|
return [stateBeforeInitialization, hydratedState, true];
|
|
266
265
|
}
|
|
267
266
|
return [undefined, hydratedState, false];
|
|
@@ -284,7 +283,7 @@ export function useNavigationBuilder(createRouter, options) {
|
|
|
284
283
|
// So it was unhandled, i.e. not used for initializing the state
|
|
285
284
|
// It's possible that they were absent due to conditional render
|
|
286
285
|
// Store this state so we can reuse it if the routes change later
|
|
287
|
-
if (options.
|
|
286
|
+
if (options.routeNamesChangeBehavior === 'lastUnhandled' && stateBeforeInitialization && unhandledState !== stateBeforeInitialization) {
|
|
288
287
|
setUnhandledState(stateBeforeInitialization);
|
|
289
288
|
}
|
|
290
289
|
let state =
|
|
@@ -322,7 +321,7 @@ export function useNavigationBuilder(createRouter, options) {
|
|
|
322
321
|
const previousParams = previousNestedParamsRef.current;
|
|
323
322
|
let action;
|
|
324
323
|
if (typeof route.params.state === 'object' && route.params.state != null && route.params !== previousParams) {
|
|
325
|
-
if (options.
|
|
324
|
+
if (options.routeNamesChangeBehavior === 'lastUnhandled' && doesStateHaveOnlyInvalidRoutes(route.params.state)) {
|
|
326
325
|
if (route.params.state !== unhandledState) {
|
|
327
326
|
setUnhandledState(route.params.state);
|
|
328
327
|
}
|
|
@@ -331,7 +330,7 @@ export function useNavigationBuilder(createRouter, options) {
|
|
|
331
330
|
action = CommonActions.reset(route.params.state);
|
|
332
331
|
}
|
|
333
332
|
} else if (typeof route.params.screen === 'string' && (route.params.initial === false && isFirstStateInitialization || route.params !== previousParams)) {
|
|
334
|
-
if (options.
|
|
333
|
+
if (options.routeNamesChangeBehavior === 'lastUnhandled' && !routeNames.includes(route.params.screen)) {
|
|
335
334
|
const state = getStateFromParams(route.params);
|
|
336
335
|
if (state != null && !deepEqual(state, unhandledState)) {
|
|
337
336
|
setUnhandledState(state);
|
|
@@ -403,7 +402,7 @@ export function useNavigationBuilder(createRouter, options) {
|
|
|
403
402
|
// To avoid this, we use a ref for render phase, and immediately clear it on commit
|
|
404
403
|
const stateRef = React.useRef(state);
|
|
405
404
|
stateRef.current = state;
|
|
406
|
-
|
|
405
|
+
React.useLayoutEffect(() => {
|
|
407
406
|
stateRef.current = null;
|
|
408
407
|
});
|
|
409
408
|
const getState = useLatestCallback(() => {
|
|
@@ -487,7 +486,7 @@ export function useNavigationBuilder(createRouter, options) {
|
|
|
487
486
|
});
|
|
488
487
|
const onUnhandledActionParent = React.useContext(UnhandledActionContext);
|
|
489
488
|
const onUnhandledAction = useLatestCallback(action => {
|
|
490
|
-
if (options.
|
|
489
|
+
if (options.routeNamesChangeBehavior === 'lastUnhandled' && action.type === 'NAVIGATE' && action.payload != null && 'name' in action.payload && typeof action.payload.name === 'string' && !routeNames.includes(action.payload.name)) {
|
|
491
490
|
const state = {
|
|
492
491
|
routes: [{
|
|
493
492
|
name: action.payload.name,
|
|
@@ -500,7 +499,6 @@ export function useNavigationBuilder(createRouter, options) {
|
|
|
500
499
|
onUnhandledActionParent?.(action);
|
|
501
500
|
});
|
|
502
501
|
const navigation = useNavigationHelpers({
|
|
503
|
-
id: options.id,
|
|
504
502
|
onAction,
|
|
505
503
|
onUnhandledAction,
|
|
506
504
|
getState,
|