@react-navigation/core 8.0.0-alpha.0 → 8.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/module/BaseNavigationContainer.js +14 -7
- 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/NavigationBuilderContext.js +1 -0
- package/lib/module/NavigationBuilderContext.js.map +1 -1
- package/lib/module/NavigationIndependentTree.js +8 -4
- package/lib/module/NavigationIndependentTree.js.map +1 -1
- package/lib/module/NavigationMetaContext.js +15 -0
- package/lib/module/NavigationMetaContext.js.map +1 -0
- package/lib/module/NavigationProvider.js +14 -3
- package/lib/module/NavigationProvider.js.map +1 -1
- package/lib/module/NavigationStateContext.js.map +1 -1
- package/lib/module/PreventRemoveProvider.js +3 -3
- package/lib/module/PreventRemoveProvider.js.map +1 -1
- package/lib/module/SceneView.js +46 -56
- package/lib/module/SceneView.js.map +1 -1
- package/lib/module/StaticNavigation.js +30 -4
- package/lib/module/StaticNavigation.js.map +1 -1
- package/lib/module/createNavigatorFactory.js +22 -1
- package/lib/module/createNavigatorFactory.js.map +1 -1
- package/lib/module/getPathFromState.js +25 -3
- package/lib/module/getPathFromState.js.map +1 -1
- package/lib/module/getStateFromPath.js +158 -73
- package/lib/module/getStateFromPath.js.map +1 -1
- package/lib/module/getStateFromRouteParams.js +24 -0
- package/lib/module/getStateFromRouteParams.js.map +1 -0
- package/lib/module/index.js +2 -1
- 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.map +1 -1
- package/lib/module/useCurrentRender.js +1 -1
- package/lib/module/useCurrentRender.js.map +1 -1
- package/lib/module/useDescriptors.js +12 -43
- package/lib/module/useDescriptors.js.map +1 -1
- package/lib/module/useFocusEvents.js +1 -1
- package/lib/module/useFocusEvents.js.map +1 -1
- package/lib/module/useFocusedListenersChildrenAdapter.js +1 -1
- 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/useNavigationBuilder.js +92 -42
- package/lib/module/useNavigationBuilder.js.map +1 -1
- package/lib/module/useNavigationCache.js +14 -56
- package/lib/module/useNavigationCache.js.map +1 -1
- package/lib/module/useNavigationHelpers.js +1 -1
- 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 +4 -2
- package/lib/module/useNavigationState.js.map +1 -1
- package/lib/module/useOnAction.js +1 -1
- package/lib/module/useOnAction.js.map +1 -1
- package/lib/module/useOnGetState.js +2 -2
- package/lib/module/useOnGetState.js.map +1 -1
- package/lib/module/useOnPreventRemove.js +2 -2
- 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 +2 -2
- package/lib/module/useOptionsGetters.js.map +1 -1
- package/lib/module/usePreventRemoveContext.js +1 -1
- 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/useScheduleUpdate.js +1 -1
- 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/typescript/src/BaseNavigationContainer.d.ts +6 -3
- package/lib/typescript/src/BaseNavigationContainer.d.ts.map +1 -1
- package/lib/typescript/src/ConsumedParamsContext.d.ts +8 -0
- package/lib/typescript/src/ConsumedParamsContext.d.ts.map +1 -0
- package/lib/typescript/src/NavigationBuilderContext.d.ts +11 -5
- package/lib/typescript/src/NavigationBuilderContext.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/NavigationIndependentTree.d.ts.map +1 -1
- package/lib/typescript/src/NavigationMetaContext.d.ts +12 -0
- package/lib/typescript/src/NavigationMetaContext.d.ts.map +1 -0
- package/lib/typescript/src/NavigationProvider.d.ts +4 -4
- package/lib/typescript/src/NavigationProvider.d.ts.map +1 -1
- package/lib/typescript/src/NavigationStateContext.d.ts +3 -3
- package/lib/typescript/src/NavigationStateContext.d.ts.map +1 -1
- package/lib/typescript/src/SceneView.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 +33 -19
- package/lib/typescript/src/StaticNavigation.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 +3 -3
- package/lib/typescript/src/findFocusedRoute.d.ts.map +1 -1
- package/lib/typescript/src/getActionFromState.d.ts +3 -3
- package/lib/typescript/src/getActionFromState.d.ts.map +1 -1
- package/lib/typescript/src/getPathFromState.d.ts +2 -2
- package/lib/typescript/src/getPathFromState.d.ts.map +1 -1
- package/lib/typescript/src/getStateFromPath.d.ts +3 -3
- 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 +3 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +144 -82
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/useDescriptors.d.ts +12 -25
- package/lib/typescript/src/useDescriptors.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/useNavigation.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationBuilder.d.ts +20 -29
- package/lib/typescript/src/useNavigationBuilder.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationCache.d.ts +2 -42
- package/lib/typescript/src/useNavigationCache.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationHelpers.d.ts +18 -16
- package/lib/typescript/src/useNavigationHelpers.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationState.d.ts.map +1 -1
- package/lib/typescript/src/useOnAction.d.ts +6 -6
- package/lib/typescript/src/useOnAction.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/useRouteCache.d.ts +2 -2
- package/lib/typescript/src/useScheduleUpdate.d.ts.map +1 -1
- package/lib/typescript/src/utilities.d.ts +35 -3
- package/lib/typescript/src/utilities.d.ts.map +1 -1
- package/package.json +20 -18
- package/src/BaseNavigationContainer.tsx +332 -326
- package/src/ConsumedParamsContext.tsx +10 -0
- package/src/NavigationBuilderContext.tsx +14 -8
- package/src/NavigationFocusedRouteStateContext.tsx +4 -4
- package/src/NavigationIndependentTree.tsx +8 -5
- package/src/NavigationMetaContext.tsx +14 -0
- package/src/NavigationProvider.tsx +17 -3
- package/src/NavigationStateContext.tsx +5 -6
- package/src/PreventRemoveProvider.tsx +3 -3
- package/src/SceneView.tsx +58 -56
- package/src/StaticNavigation.tsx +100 -30
- package/src/createNavigatorFactory.tsx +35 -4
- package/src/findFocusedRoute.tsx +3 -3
- package/src/getActionFromState.tsx +7 -7
- package/src/getPathFromState.tsx +53 -9
- package/src/getStateFromPath.tsx +255 -97
- package/src/getStateFromRouteParams.tsx +60 -0
- package/src/index.tsx +2 -1
- package/src/theming/useTheme.tsx +1 -1
- package/src/types.tsx +330 -187
- package/src/useCurrentRender.tsx +1 -1
- package/src/useDescriptors.tsx +13 -48
- package/src/useFocusEvents.tsx +1 -1
- package/src/useFocusedListenersChildrenAdapter.tsx +1 -1
- package/src/useIsFocused.tsx +14 -21
- package/src/useNavigation.tsx +2 -2
- package/src/useNavigationBuilder.tsx +138 -53
- package/src/useNavigationCache.tsx +12 -73
- package/src/useNavigationHelpers.tsx +1 -1
- package/src/useNavigationIndependentTree.tsx +1 -1
- package/src/useNavigationState.tsx +6 -4
- package/src/useOnAction.tsx +8 -8
- package/src/useOnGetState.tsx +2 -2
- package/src/useOnPreventRemove.tsx +2 -2
- package/src/useOnRouteFocus.tsx +10 -12
- package/src/useOptionsGetters.tsx +2 -2
- package/src/usePreventRemoveContext.tsx +1 -1
- package/src/useRegisterNavigator.tsx +1 -1
- package/src/useScheduleUpdate.tsx +1 -3
- package/src/useStateForPath.tsx +1 -1
- package/src/utilities.tsx +72 -4
|
@@ -11,7 +11,7 @@ export function useCurrentRender({
|
|
|
11
11
|
navigation,
|
|
12
12
|
descriptors
|
|
13
13
|
}) {
|
|
14
|
-
const current = React.
|
|
14
|
+
const current = React.use(CurrentRenderContext);
|
|
15
15
|
if (current && navigation.isFocused()) {
|
|
16
16
|
current.options = descriptors[state.routes[state.index].key].options;
|
|
17
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","CurrentRenderContext","useCurrentRender","state","navigation","descriptors","current","
|
|
1
|
+
{"version":3,"names":["React","CurrentRenderContext","useCurrentRender","state","navigation","descriptors","current","use","isFocused","options","routes","index","key"],"sourceRoot":"../../src","sources":["useCurrentRender.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,oBAAoB,QAAQ,2BAAwB;AAiB7D;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAAC;EAAEC,KAAK;EAAEC,UAAU;EAAEC;AAAqB,CAAC,EAAE;EAC5E,MAAMC,OAAO,GAAGN,KAAK,CAACO,GAAG,CAACN,oBAAoB,CAAC;EAE/C,IAAIK,OAAO,IAAIF,UAAU,CAACI,SAAS,CAAC,CAAC,EAAE;IACrCF,OAAO,CAACG,OAAO,GAAGJ,WAAW,CAACF,KAAK,CAACO,MAAM,CAACP,KAAK,CAACQ,KAAK,CAAC,CAACC,GAAG,CAAC,CAACH,OAAO;EACtE;AACF","ignoreList":[]}
|
|
@@ -17,7 +17,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
17
17
|
* - Navigation object intended for the route
|
|
18
18
|
*/
|
|
19
19
|
export function useDescriptors({
|
|
20
|
-
|
|
20
|
+
routes,
|
|
21
21
|
screens,
|
|
22
22
|
navigation,
|
|
23
23
|
screenOptions,
|
|
@@ -31,15 +31,16 @@ export function useDescriptors({
|
|
|
31
31
|
router,
|
|
32
32
|
emitter
|
|
33
33
|
}) {
|
|
34
|
-
const theme = React.
|
|
34
|
+
const theme = React.use(ThemeContext);
|
|
35
35
|
const [options, setOptions] = React.useState({});
|
|
36
36
|
const {
|
|
37
37
|
onDispatchAction,
|
|
38
|
+
onEmitEvent,
|
|
38
39
|
onOptionsChange,
|
|
39
40
|
scheduleUpdate,
|
|
40
41
|
flushUpdates,
|
|
41
42
|
stackRef
|
|
42
|
-
} = React.
|
|
43
|
+
} = React.use(NavigationBuilderContext);
|
|
43
44
|
const context = React.useMemo(() => ({
|
|
44
45
|
navigation,
|
|
45
46
|
onAction,
|
|
@@ -47,23 +48,21 @@ export function useDescriptors({
|
|
|
47
48
|
addKeyedListener,
|
|
48
49
|
onRouteFocus,
|
|
49
50
|
onDispatchAction,
|
|
51
|
+
onEmitEvent,
|
|
50
52
|
onOptionsChange,
|
|
51
53
|
scheduleUpdate,
|
|
52
54
|
flushUpdates,
|
|
53
55
|
stackRef
|
|
54
|
-
}), [navigation, onAction, addListener, addKeyedListener, onRouteFocus, onDispatchAction, onOptionsChange, scheduleUpdate, flushUpdates, stackRef]);
|
|
55
|
-
const {
|
|
56
|
-
|
|
57
|
-
navigations
|
|
58
|
-
} = useNavigationCache({
|
|
59
|
-
state,
|
|
56
|
+
}), [navigation, onAction, addListener, addKeyedListener, onRouteFocus, onDispatchAction, onEmitEvent, onOptionsChange, scheduleUpdate, flushUpdates, stackRef]);
|
|
57
|
+
const navigations = useNavigationCache({
|
|
58
|
+
routes,
|
|
60
59
|
getState,
|
|
61
60
|
navigation,
|
|
62
61
|
setOptions,
|
|
63
62
|
router,
|
|
64
63
|
emitter
|
|
65
64
|
});
|
|
66
|
-
const
|
|
65
|
+
const cachedRoutes = useRouteCache(routes);
|
|
67
66
|
const getOptions = (route, navigation, overrides) => {
|
|
68
67
|
const config = screens[route.name];
|
|
69
68
|
const screen = config.props;
|
|
@@ -134,10 +133,10 @@ export function useDescriptors({
|
|
|
134
133
|
})
|
|
135
134
|
}, route.key);
|
|
136
135
|
};
|
|
137
|
-
const descriptors =
|
|
136
|
+
const descriptors = cachedRoutes.reduce((acc, route, i) => {
|
|
138
137
|
const navigation = navigations[route.key];
|
|
139
138
|
const customOptions = getOptions(route, navigation, options[route.key]);
|
|
140
|
-
const element = render(route, navigation, customOptions,
|
|
139
|
+
const element = render(route, navigation, customOptions, routes[i]?.state);
|
|
141
140
|
acc[route.key] = {
|
|
142
141
|
route,
|
|
143
142
|
navigation,
|
|
@@ -148,36 +147,6 @@ export function useDescriptors({
|
|
|
148
147
|
};
|
|
149
148
|
return acc;
|
|
150
149
|
}, {});
|
|
151
|
-
|
|
152
|
-
/**
|
|
153
|
-
* Create a descriptor object for a route.
|
|
154
|
-
*
|
|
155
|
-
* @param route Route object for which the descriptor should be created
|
|
156
|
-
* @param placeholder Whether the descriptor should be a placeholder, e.g. for a route not yet in the state
|
|
157
|
-
* @returns Descriptor object
|
|
158
|
-
*/
|
|
159
|
-
const describe = (route, placeholder) => {
|
|
160
|
-
if (!placeholder) {
|
|
161
|
-
if (!(route.key in descriptors)) {
|
|
162
|
-
throw new Error(`Couldn't find a route with the key ${route.key}.`);
|
|
163
|
-
}
|
|
164
|
-
return descriptors[route.key];
|
|
165
|
-
}
|
|
166
|
-
const navigation = base;
|
|
167
|
-
const customOptions = getOptions(route, navigation, {});
|
|
168
|
-
const element = render(route, navigation, customOptions, undefined);
|
|
169
|
-
return {
|
|
170
|
-
route,
|
|
171
|
-
navigation,
|
|
172
|
-
render() {
|
|
173
|
-
return element;
|
|
174
|
-
},
|
|
175
|
-
options: customOptions
|
|
176
|
-
};
|
|
177
|
-
};
|
|
178
|
-
return {
|
|
179
|
-
describe,
|
|
180
|
-
descriptors
|
|
181
|
-
};
|
|
150
|
+
return descriptors;
|
|
182
151
|
}
|
|
183
152
|
//# sourceMappingURL=useDescriptors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","NavigationBuilderContext","NavigationProvider","SceneView","ThemeContext","useNavigationCache","useRouteCache","jsx","_jsx","useDescriptors","
|
|
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","use","options","setOptions","useState","onDispatchAction","onEmitEvent","onOptionsChange","scheduleUpdate","flushUpdates","stackRef","context","useMemo","navigations","cachedRoutes","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","state"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,7 +9,7 @@ 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
14
|
const currentFocusedKey = state.routes[state.index].key;
|
|
15
15
|
|
|
@@ -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","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,GAAG,CAACL,iBAAiB,CAAC;EAC/C,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":[]}
|
|
@@ -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) {
|
|
@@ -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","useEffect"],"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,SAAS,CACb,MAAMR,WAAW,GAAG,OAAO,EAAEE,QAAQ,CAAC,EACtC,CAACF,WAAW,EAAEE,QAAQ,CACxB,CAAC;AACH","ignoreList":[]}
|
|
@@ -1,23 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import * as React from 'react';
|
|
4
|
-
|
|
4
|
+
export const FocusedRouteKeyContext = /*#__PURE__*/React.createContext(undefined);
|
|
5
|
+
export const IsFocusedContext = /*#__PURE__*/React.createContext(undefined);
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* Hook to get the current focus state of the screen. Returns a `true` if screen is focused, otherwise `false`.
|
|
8
9
|
* This can be used if a component needs to render something based on the focus state.
|
|
9
10
|
*/
|
|
10
11
|
export function useIsFocused() {
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
unsubscribeFocus();
|
|
17
|
-
unsubscribeBlur();
|
|
18
|
-
};
|
|
19
|
-
}, [navigation]);
|
|
20
|
-
const value = React.useSyncExternalStore(subscribe, navigation.isFocused, navigation.isFocused);
|
|
21
|
-
return value;
|
|
12
|
+
const isFocused = React.use(IsFocusedContext);
|
|
13
|
+
if (isFocused === undefined) {
|
|
14
|
+
throw new Error("Couldn't determine focus state. Is your component inside a screen in a navigator?");
|
|
15
|
+
}
|
|
16
|
+
return isFocused;
|
|
22
17
|
}
|
|
23
18
|
//# sourceMappingURL=useIsFocused.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","
|
|
1
|
+
{"version":3,"names":["React","FocusedRouteKeyContext","createContext","undefined","IsFocusedContext","useIsFocused","isFocused","use","Error"],"sourceRoot":"../../src","sources":["useIsFocused.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAO,MAAMC,sBAAsB,gBAAGD,KAAK,CAACE,aAAa,CACvDC,SACF,CAAC;AAED,OAAO,MAAMC,gBAAgB,gBAAGJ,KAAK,CAACE,aAAa,CACjDC,SACF,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,SAASE,YAAYA,CAAA,EAAY;EACtC,MAAMC,SAAS,GAAGN,KAAK,CAACO,GAAG,CAACH,gBAAgB,CAAC;EAE7C,IAAIE,SAAS,KAAKH,SAAS,EAAE;IAC3B,MAAM,IAAIK,KAAK,CACb,mFACF,CAAC;EACH;EAEA,OAAOF,SAAS;AAClB","ignoreList":[]}
|
|
@@ -5,11 +5,14 @@ import deepEqual from 'fast-deep-equal';
|
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import { isValidElementType } from 'react-is';
|
|
7
7
|
import useLatestCallback from 'use-latest-callback';
|
|
8
|
+
import { ConsumedParamsContext } from "./ConsumedParamsContext.js";
|
|
8
9
|
import { deepFreeze } from "./deepFreeze.js";
|
|
9
10
|
import { Group } from "./Group.js";
|
|
10
11
|
import { isArrayEqual } from "./isArrayEqual.js";
|
|
11
12
|
import { isRecordEqual } from "./isRecordEqual.js";
|
|
13
|
+
import { NavigationBuilderContext } from "./NavigationBuilderContext.js";
|
|
12
14
|
import { NavigationHelpersContext } from "./NavigationHelpersContext.js";
|
|
15
|
+
import { NavigationMetaContext } from "./NavigationMetaContext.js";
|
|
13
16
|
import { NavigationRouteContext } from "./NavigationProvider.js";
|
|
14
17
|
import { NavigationStateContext } from "./NavigationStateContext.js";
|
|
15
18
|
import { PreventRemoveProvider } from "./PreventRemoveProvider.js";
|
|
@@ -23,6 +26,7 @@ import { useDescriptors } from "./useDescriptors.js";
|
|
|
23
26
|
import { useEventEmitter } from "./useEventEmitter.js";
|
|
24
27
|
import { useFocusedListenersChildrenAdapter } from "./useFocusedListenersChildrenAdapter.js";
|
|
25
28
|
import { useFocusEvents } from "./useFocusEvents.js";
|
|
29
|
+
import { FocusedRouteKeyContext } from "./useIsFocused.js";
|
|
26
30
|
import { useKeyedChildListeners } from "./useKeyedChildListeners.js";
|
|
27
31
|
import { useLazyValue } from "./useLazyValue.js";
|
|
28
32
|
import { useNavigationHelpers } from "./useNavigationHelpers.js";
|
|
@@ -88,7 +92,7 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions, groupLayo
|
|
|
88
92
|
return acc;
|
|
89
93
|
}
|
|
90
94
|
}
|
|
91
|
-
throw new Error(`A navigator can only contain 'Screen', 'Group' or 'React.Fragment' as its direct children (found ${/*#__PURE__*/React.isValidElement(child) ? `'${typeof child.type === 'string' ? child.type : child.type?.name}'${child.props != null && typeof child.props === 'object' && 'name' in child.props && child.props?.name ? ` for the screen '${child.props.name}'` : ''}` : typeof child === 'object' ? JSON.stringify(child) : `'${String(child)}'`}). To render this component in the navigator, pass it in the 'component' prop to 'Screen'.`);
|
|
95
|
+
throw new Error(`A navigator can only contain 'Screen', 'Group' or 'React.Fragment' as its direct children (found ${ /*#__PURE__*/React.isValidElement(child) ? `'${typeof child.type === 'string' ? child.type : child.type?.name}'${child.props != null && typeof child.props === 'object' && 'name' in child.props && child.props?.name ? ` for the screen '${child.props.name}'` : ''}` : typeof child === 'object' ? JSON.stringify(child) : `'${String(child)}'`}). To render this component in the navigator, pass it in the 'component' prop to 'Screen'.`);
|
|
92
96
|
}, []);
|
|
93
97
|
if (process.env.NODE_ENV !== 'production') {
|
|
94
98
|
configs.forEach(config => {
|
|
@@ -158,7 +162,9 @@ const getStateFromParams = params => {
|
|
|
158
162
|
*/
|
|
159
163
|
export function useNavigationBuilder(createRouter, options) {
|
|
160
164
|
const navigatorKey = useRegisterNavigator();
|
|
161
|
-
const route = React.
|
|
165
|
+
const route = React.use(NavigationRouteContext);
|
|
166
|
+
const consumedParams = React.use(ConsumedParamsContext);
|
|
167
|
+
const isNestedParamsConsumed = typeof route?.params === 'object' && route.params != null ? consumedParams?.isConsumed(route.params) : false;
|
|
162
168
|
const {
|
|
163
169
|
children,
|
|
164
170
|
layout,
|
|
@@ -218,18 +224,33 @@ export function useNavigationBuilder(createRouter, options) {
|
|
|
218
224
|
setKey,
|
|
219
225
|
getKey,
|
|
220
226
|
getIsInitial
|
|
221
|
-
} = React.
|
|
222
|
-
const
|
|
227
|
+
} = React.use(NavigationStateContext);
|
|
228
|
+
const stateCleanupRef = React.useRef(false);
|
|
229
|
+
const lastStateRef = React.useRef(undefined);
|
|
223
230
|
const setState = useLatestCallback(state => {
|
|
224
|
-
if (
|
|
231
|
+
if (stateCleanupRef.current) {
|
|
232
|
+
// Store the state locally in case the current navigator is in `Activity`
|
|
233
|
+
lastStateRef.current = state;
|
|
234
|
+
|
|
225
235
|
// State might have been already cleaned up due to unmount
|
|
226
|
-
// We
|
|
227
|
-
//
|
|
236
|
+
// We don't want to update `route.state` in parent
|
|
237
|
+
// Otherwise it will be reused if a new navigator gets mounted
|
|
228
238
|
return;
|
|
229
239
|
}
|
|
230
240
|
setCurrentState(state);
|
|
231
241
|
});
|
|
232
|
-
const [stateBeforeInitialization, initializedState, isFirstStateInitialization] = React.useMemo(() => {
|
|
242
|
+
const [stateBeforeInitialization, initializedState, isFirstStateInitialization, paramsUsedForInitialization] = React.useMemo(() => {
|
|
243
|
+
// If the state was already cleaned up, but we have it stored in ref,
|
|
244
|
+
// It likely got cleaned up due to `<Activity mode="hidden">`
|
|
245
|
+
// We should reuse this state to avoid remounting screens
|
|
246
|
+
if (stateCleanupRef.current && lastStateRef.current && isStateValid(lastStateRef.current)) {
|
|
247
|
+
const state = isStateInitialized(lastStateRef.current) ? lastStateRef.current : router.getRehydratedState(lastStateRef.current, {
|
|
248
|
+
routeNames,
|
|
249
|
+
routeParamList,
|
|
250
|
+
routeGetIdList
|
|
251
|
+
});
|
|
252
|
+
return [undefined, state, false, undefined];
|
|
253
|
+
}
|
|
233
254
|
const initialRouteParamList = routeNames.reduce((acc, curr) => {
|
|
234
255
|
const {
|
|
235
256
|
initialParams
|
|
@@ -246,24 +267,29 @@ export function useNavigationBuilder(createRouter, options) {
|
|
|
246
267
|
// We also need to re-initialize it if the state passed from parent was changed (maybe due to reset)
|
|
247
268
|
// Otherwise assume that the state was provided as initial state
|
|
248
269
|
// So we need to rehydrate it to make it usable
|
|
249
|
-
if ((currentState === undefined || !isStateValid(currentState)) && route?.params?.state == null && !(typeof route?.params?.screen === 'string' && route?.params?.initial !== false)) {
|
|
270
|
+
if ((currentState === undefined || !isStateValid(currentState)) && route?.params?.state == null && !(typeof route?.params?.screen === 'string' && route?.params?.initial !== false) && !isNestedParamsConsumed) {
|
|
250
271
|
return [undefined, router.getInitialState({
|
|
251
272
|
routeNames,
|
|
252
273
|
routeParamList: initialRouteParamList,
|
|
253
274
|
routeGetIdList
|
|
254
|
-
}), true];
|
|
275
|
+
}), true, undefined];
|
|
255
276
|
} else {
|
|
256
|
-
const
|
|
277
|
+
const paramsForState = isNestedParamsConsumed ? undefined : route?.params;
|
|
278
|
+
const stateFromParams = paramsForState ? getStateFromParams(paramsForState) : undefined;
|
|
257
279
|
const stateBeforeInitialization = stateFromParams ?? currentState;
|
|
258
|
-
const hydratedState = router.
|
|
280
|
+
const hydratedState = stateBeforeInitialization == null ? router.getInitialState({
|
|
281
|
+
routeNames,
|
|
282
|
+
routeParamList: initialRouteParamList,
|
|
283
|
+
routeGetIdList
|
|
284
|
+
}) : router.getRehydratedState(stateBeforeInitialization, {
|
|
259
285
|
routeNames,
|
|
260
286
|
routeParamList: initialRouteParamList,
|
|
261
287
|
routeGetIdList
|
|
262
288
|
});
|
|
263
|
-
if (options.routeNamesChangeBehavior === 'lastUnhandled' && doesStateHaveOnlyInvalidRoutes(stateBeforeInitialization)) {
|
|
264
|
-
return [stateBeforeInitialization, hydratedState, true];
|
|
289
|
+
if (stateBeforeInitialization != null && options.routeNamesChangeBehavior === 'lastUnhandled' && doesStateHaveOnlyInvalidRoutes(stateBeforeInitialization)) {
|
|
290
|
+
return [stateBeforeInitialization, hydratedState, true, paramsForState];
|
|
265
291
|
}
|
|
266
|
-
return [undefined, hydratedState, false];
|
|
292
|
+
return [undefined, hydratedState, false, paramsForState];
|
|
267
293
|
}
|
|
268
294
|
// We explicitly don't include routeNames, route.params etc. in the dep list
|
|
269
295
|
// below. We want to avoid forcing a new state to be calculated in those cases
|
|
@@ -313,14 +339,11 @@ export function useNavigationBuilder(createRouter, options) {
|
|
|
313
339
|
routeKeyChanges: Object.keys(routeKeyList).filter(name => name in previousRouteKeyList && routeKeyList[name] !== previousRouteKeyList[name])
|
|
314
340
|
});
|
|
315
341
|
}
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
previousNestedParamsRef.current = route?.params;
|
|
319
|
-
}, [route?.params]);
|
|
320
|
-
if (route?.params) {
|
|
321
|
-
const previousParams = previousNestedParamsRef.current;
|
|
342
|
+
let didConsumeNestedParams = route?.params === paramsUsedForInitialization;
|
|
343
|
+
if (route?.params && !didConsumeNestedParams) {
|
|
322
344
|
let action;
|
|
323
|
-
if (typeof route.params.state === 'object' && route.params.state != null &&
|
|
345
|
+
if (typeof route.params.state === 'object' && route.params.state != null && !isNestedParamsConsumed) {
|
|
346
|
+
didConsumeNestedParams = true;
|
|
324
347
|
if (options.routeNamesChangeBehavior === 'lastUnhandled' && doesStateHaveOnlyInvalidRoutes(route.params.state)) {
|
|
325
348
|
if (route.params.state !== unhandledState) {
|
|
326
349
|
setUnhandledState(route.params.state);
|
|
@@ -329,7 +352,8 @@ export function useNavigationBuilder(createRouter, options) {
|
|
|
329
352
|
// If the route was updated with new state, we should reset to it
|
|
330
353
|
action = CommonActions.reset(route.params.state);
|
|
331
354
|
}
|
|
332
|
-
} else if (typeof route.params.screen === 'string' && (route.params.initial === false && isFirstStateInitialization ||
|
|
355
|
+
} else if (typeof route.params.screen === 'string' && (route.params.initial === false && isFirstStateInitialization || !isNestedParamsConsumed)) {
|
|
356
|
+
didConsumeNestedParams = true;
|
|
333
357
|
if (options.routeNamesChangeBehavior === 'lastUnhandled' && !routeNames.includes(route.params.screen)) {
|
|
334
358
|
const state = getStateFromParams(route.params);
|
|
335
359
|
if (state != null && !deepEqual(state, unhandledState)) {
|
|
@@ -359,10 +383,16 @@ export function useNavigationBuilder(createRouter, options) {
|
|
|
359
383
|
routeGetIdList
|
|
360
384
|
}) : nextState;
|
|
361
385
|
}
|
|
362
|
-
const
|
|
386
|
+
const setConsumedParams = consumedParams?.setConsumed;
|
|
387
|
+
React.useEffect(() => {
|
|
388
|
+
if (setConsumedParams && didConsumeNestedParams && typeof route?.params === 'object' && route.params != null) {
|
|
389
|
+
setConsumedParams(route.params);
|
|
390
|
+
}
|
|
391
|
+
}, [didConsumeNestedParams, route?.params, setConsumedParams]);
|
|
392
|
+
const shouldUpdate = state !== nextState;
|
|
363
393
|
useScheduleUpdate(() => {
|
|
364
394
|
if (shouldUpdate) {
|
|
365
|
-
//
|
|
395
|
+
// Schedule an update if the state needs to be updated
|
|
366
396
|
setState(nextState);
|
|
367
397
|
if (shouldClearUnhandledState) {
|
|
368
398
|
setUnhandledState(undefined);
|
|
@@ -374,22 +404,31 @@ export function useNavigationBuilder(createRouter, options) {
|
|
|
374
404
|
// We can't use the outdated state since the screens have changed, which will cause error due to mismatched config
|
|
375
405
|
// So we override the state object we return to use the latest state as soon as possible
|
|
376
406
|
state = nextState;
|
|
407
|
+
|
|
408
|
+
// Last state to reuse if component gets cleaned up due to `<Activity mode="hidden">`
|
|
409
|
+
React.useEffect(() => {
|
|
410
|
+
lastStateRef.current = state;
|
|
411
|
+
});
|
|
412
|
+
const lastNotifiedStateRef = React.useRef(null);
|
|
377
413
|
React.useEffect(() => {
|
|
378
414
|
// In strict mode, React will double-invoke effects.
|
|
379
415
|
// So we need to reset the flag if component was not unmounted
|
|
380
|
-
|
|
416
|
+
stateCleanupRef.current = false;
|
|
381
417
|
setKey(navigatorKey);
|
|
382
|
-
if (!getIsInitial()) {
|
|
418
|
+
if (!getIsInitial() && lastNotifiedStateRef.current !== state) {
|
|
383
419
|
// If it's not initial render, we need to update the state
|
|
384
420
|
// This will make sure that our container gets notifier of state changes due to new mounts
|
|
385
421
|
// This is necessary for proper screen tracking, URL updates etc.
|
|
386
|
-
|
|
422
|
+
// We only notify if the state is different what we already notified
|
|
423
|
+
// Otherwise this goes into a loop when inside `<Activity mode="hidden">`
|
|
424
|
+
setState(state);
|
|
425
|
+
lastNotifiedStateRef.current = state;
|
|
387
426
|
}
|
|
388
427
|
return () => {
|
|
389
428
|
// We need to clean up state for this navigator on unmount
|
|
390
429
|
if (getCurrentState() !== undefined && getKey() === navigatorKey) {
|
|
391
430
|
setCurrentState(undefined);
|
|
392
|
-
|
|
431
|
+
stateCleanupRef.current = true;
|
|
393
432
|
}
|
|
394
433
|
};
|
|
395
434
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -409,6 +448,9 @@ export function useNavigationBuilder(createRouter, options) {
|
|
|
409
448
|
const currentState = getCurrentState();
|
|
410
449
|
return deepFreeze(isStateInitialized(currentState) ? currentState : initializedState);
|
|
411
450
|
});
|
|
451
|
+
const {
|
|
452
|
+
onEmitEvent
|
|
453
|
+
} = React.use(NavigationBuilderContext);
|
|
412
454
|
const emitter = useEventEmitter(e => {
|
|
413
455
|
const routeNames = [];
|
|
414
456
|
let route;
|
|
@@ -443,6 +485,12 @@ export function useNavigationBuilder(createRouter, options) {
|
|
|
443
485
|
// So we remove any duplicate functions from the array
|
|
444
486
|
.filter((cb, i, self) => cb && self.lastIndexOf(cb) === i);
|
|
445
487
|
listeners.forEach(listener => listener?.(e));
|
|
488
|
+
onEmitEvent({
|
|
489
|
+
type: e.type,
|
|
490
|
+
data: e.data,
|
|
491
|
+
target: e.target,
|
|
492
|
+
defaultPrevented: e.defaultPrevented
|
|
493
|
+
});
|
|
446
494
|
});
|
|
447
495
|
useFocusEvents({
|
|
448
496
|
state,
|
|
@@ -484,7 +532,7 @@ export function useNavigationBuilder(createRouter, options) {
|
|
|
484
532
|
getState,
|
|
485
533
|
setState
|
|
486
534
|
});
|
|
487
|
-
const onUnhandledActionParent = React.
|
|
535
|
+
const onUnhandledActionParent = React.use(UnhandledActionContext);
|
|
488
536
|
const onUnhandledAction = useLatestCallback(action => {
|
|
489
537
|
if (options.routeNamesChangeBehavior === 'lastUnhandled' && action.type === 'NAVIGATE' && action.payload != null && 'name' in action.payload && typeof action.payload.name === 'string' && !routeNames.includes(action.payload.name)) {
|
|
490
538
|
const state = {
|
|
@@ -514,11 +562,8 @@ export function useNavigationBuilder(createRouter, options) {
|
|
|
514
562
|
getState,
|
|
515
563
|
getStateListeners: keyedListeners.getState
|
|
516
564
|
});
|
|
517
|
-
const {
|
|
518
|
-
|
|
519
|
-
descriptors
|
|
520
|
-
} = useDescriptors({
|
|
521
|
-
state,
|
|
565
|
+
const descriptors = useDescriptors({
|
|
566
|
+
routes: router.getRoutesFromState ? router.getRoutesFromState(state) : state.routes,
|
|
522
567
|
screens,
|
|
523
568
|
navigation,
|
|
524
569
|
screenOptions,
|
|
@@ -545,12 +590,18 @@ export function useNavigationBuilder(createRouter, options) {
|
|
|
545
590
|
navigation,
|
|
546
591
|
children
|
|
547
592
|
}) : children;
|
|
548
|
-
return /*#__PURE__*/_jsx(
|
|
549
|
-
value:
|
|
550
|
-
children: /*#__PURE__*/_jsx(
|
|
551
|
-
|
|
552
|
-
children: /*#__PURE__*/_jsx(
|
|
553
|
-
|
|
593
|
+
return /*#__PURE__*/_jsx(NavigationMetaContext.Provider, {
|
|
594
|
+
value: undefined,
|
|
595
|
+
children: /*#__PURE__*/_jsx(NavigationHelpersContext.Provider, {
|
|
596
|
+
value: navigation,
|
|
597
|
+
children: /*#__PURE__*/_jsx(NavigationStateListenerProvider, {
|
|
598
|
+
state: state,
|
|
599
|
+
children: /*#__PURE__*/_jsx(FocusedRouteKeyContext.Provider, {
|
|
600
|
+
value: state.routes[state.index].key,
|
|
601
|
+
children: /*#__PURE__*/_jsx(PreventRemoveProvider, {
|
|
602
|
+
children: element
|
|
603
|
+
})
|
|
604
|
+
})
|
|
554
605
|
})
|
|
555
606
|
})
|
|
556
607
|
});
|
|
@@ -558,7 +609,6 @@ export function useNavigationBuilder(createRouter, options) {
|
|
|
558
609
|
return {
|
|
559
610
|
state,
|
|
560
611
|
navigation,
|
|
561
|
-
describe,
|
|
562
612
|
descriptors,
|
|
563
613
|
NavigationContent
|
|
564
614
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CommonActions","deepEqual","React","isValidElementType","useLatestCallback","deepFreeze","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","UnhandledActionContext","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useKeyedChildListeners","useLazyValue","useNavigationHelpers","NavigationStateListenerProvider","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","jsx","_jsx","isScreen","child","type","isGroup","Fragment","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","groupLayout","configs","Children","toArray","reduce","acc","isValidElement","props","Error","name","JSON","stringify","navigationKey","push","keys","options","layout","screenOptions","screenLayout","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","getStateFromParams","params","state","screen","initial","routes","path","useNavigationBuilder","createRouter","navigatorKey","route","useContext","screenListeners","router","routerOverrides","rest","routeConfigs","initialRouteName","every","original","overrides","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","doesStateHaveOnlyInvalidRoutes","r","includes","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","useRef","current","stateBeforeInitialization","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","stateFromParams","hydratedState","getRehydratedState","routeNamesChangeBehavior","previousRouteKeyListRef","useEffect","previousRouteKeyList","unhandledState","setUnhandledState","useState","nextState","shouldClearUnhandledState","getStateForRouteNamesChange","routeKeyChanges","filter","previousNestedParamsRef","previousParams","action","reset","navigate","merge","pop","updatedState","getStateForAction","shouldUpdate","stateRef","useLayoutEffect","emitter","e","target","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","onUnhandledActionParent","onUnhandledAction","payload","focusedListeners","focus","getStateListeners","describe","NavigationContent","element","Provider","value"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["CommonActions","deepEqual","React","isValidElementType","useLatestCallback","ConsumedParamsContext","deepFreeze","Group","isArrayEqual","isRecordEqual","NavigationBuilderContext","NavigationHelpersContext","NavigationMetaContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","UnhandledActionContext","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","FocusedRouteKeyContext","useKeyedChildListeners","useLazyValue","useNavigationHelpers","NavigationStateListenerProvider","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","jsx","_jsx","isScreen","child","type","isGroup","Fragment","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","groupLayout","configs","Children","toArray","reduce","acc","isValidElement","props","Error","name","JSON","stringify","navigationKey","push","keys","options","layout","screenOptions","screenLayout","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","getStateFromParams","params","state","screen","initial","routes","path","useNavigationBuilder","createRouter","navigatorKey","route","use","consumedParams","isNestedParamsConsumed","isConsumed","screenListeners","router","routerOverrides","rest","routeConfigs","initialRouteName","every","original","overrides","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","doesStateHaveOnlyInvalidRoutes","r","includes","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanupRef","useRef","lastStateRef","current","stateBeforeInitialization","initializedState","isFirstStateInitialization","paramsUsedForInitialization","useMemo","getRehydratedState","initialRouteParamList","initialParamsFromParams","getInitialState","paramsForState","stateFromParams","hydratedState","routeNamesChangeBehavior","previousRouteKeyListRef","useEffect","previousRouteKeyList","unhandledState","setUnhandledState","useState","nextState","shouldClearUnhandledState","getStateForRouteNamesChange","routeKeyChanges","filter","didConsumeNestedParams","action","reset","navigate","merge","pop","updatedState","getStateForAction","setConsumedParams","setConsumed","shouldUpdate","lastNotifiedStateRef","stateRef","useLayoutEffect","onEmitEvent","emitter","e","target","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","data","defaultPrevented","emit","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","onUnhandledActionParent","onUnhandledAction","payload","focusedListeners","focus","getStateListeners","getRoutesFromState","NavigationContent","element","Provider","value"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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","ignoreList":[]}
|