@react-navigation/routers 8.0.0-alpha.2 → 8.0.0-alpha.20
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/BaseRouter.js +64 -61
- package/lib/module/BaseRouter.js.map +1 -1
- package/lib/module/CommonActions.js +9 -21
- package/lib/module/CommonActions.js.map +1 -1
- package/lib/module/DrawerRouter.js +15 -14
- package/lib/module/DrawerRouter.js.map +1 -1
- package/lib/module/StackRouter.js +287 -166
- package/lib/module/StackRouter.js.map +1 -1
- package/lib/module/SwitchRouter.js +426 -0
- package/lib/module/SwitchRouter.js.map +1 -0
- package/lib/module/TabRouter.js +14 -290
- package/lib/module/TabRouter.js.map +1 -1
- package/lib/typescript/src/BaseRouter.d.ts +10 -8
- package/lib/typescript/src/BaseRouter.d.ts.map +1 -1
- package/lib/typescript/src/CommonActions.d.ts +42 -39
- package/lib/typescript/src/CommonActions.d.ts.map +1 -1
- package/lib/typescript/src/DrawerRouter.d.ts +6 -5
- package/lib/typescript/src/DrawerRouter.d.ts.map +1 -1
- package/lib/typescript/src/StackRouter.d.ts +70 -24
- package/lib/typescript/src/StackRouter.d.ts.map +1 -1
- package/lib/typescript/src/SwitchRouter.d.ts +69 -0
- package/lib/typescript/src/SwitchRouter.d.ts.map +1 -0
- package/lib/typescript/src/TabRouter.d.ts +4 -24
- package/lib/typescript/src/TabRouter.d.ts.map +1 -1
- package/lib/typescript/src/createParamsFromAction.d.ts +2 -2
- package/lib/typescript/src/createParamsFromAction.d.ts.map +1 -1
- package/lib/typescript/src/createRouteFromAction.d.ts +2 -2
- package/lib/typescript/src/createRouteFromAction.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +9 -9
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +20 -30
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/package.json +8 -8
- package/src/BaseRouter.tsx +93 -80
- package/src/CommonActions.tsx +44 -66
- package/src/DrawerRouter.tsx +28 -22
- package/src/StackRouter.tsx +551 -238
- package/src/SwitchRouter.tsx +718 -0
- package/src/TabRouter.tsx +24 -463
- package/src/createParamsFromAction.tsx +1 -1
- package/src/createRouteFromAction.tsx +1 -1
- package/src/types.tsx +39 -41
package/lib/module/BaseRouter.js
CHANGED
|
@@ -1,73 +1,76 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { nanoid } from 'nanoid/non-secure';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
{
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
4
|
+
function getStateForAction(state, action) {
|
|
5
|
+
switch (action.type) {
|
|
6
|
+
case 'SET_PARAMS':
|
|
7
|
+
case 'REPLACE_PARAMS':
|
|
8
|
+
{
|
|
9
|
+
const index = action.source !== undefined ? state.routes.findIndex(r => r.key === action.source) : state.index;
|
|
10
|
+
if (index === -1) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
return {
|
|
14
|
+
...state,
|
|
15
|
+
routes: state.routes.map((r, i) => i === index ? {
|
|
16
|
+
...r,
|
|
17
|
+
params: action.type === 'REPLACE_PARAMS' ? action.payload.params : {
|
|
18
|
+
...r.params,
|
|
19
|
+
...action.payload.params
|
|
20
|
+
}
|
|
21
|
+
} : r)
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
case 'PUSH_PARAMS':
|
|
25
|
+
{
|
|
26
|
+
const index = action.source !== undefined ? state.routes.findIndex(r => r.key === action.source) : state.index;
|
|
27
|
+
if (index === -1) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
return {
|
|
31
|
+
...state,
|
|
32
|
+
routes: state.routes.map((r, i) => i === index ? {
|
|
33
|
+
...r,
|
|
34
|
+
params: action.payload.params,
|
|
35
|
+
history: [...(r.history ?? []), {
|
|
36
|
+
type: 'params',
|
|
37
|
+
params: r.params
|
|
38
|
+
}]
|
|
39
|
+
} : r)
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
case 'RESET':
|
|
43
|
+
{
|
|
44
|
+
const nextState = action.payload;
|
|
45
|
+
const routeNamesSet = new Set(state.routeNames);
|
|
46
|
+
if (nextState.routes.length === 0 || nextState.routes.some(route => !routeNamesSet.has(route.name))) {
|
|
47
|
+
return null;
|
|
28
48
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const index = action.source ? state.routes.findIndex(r => r.key === action.source) : state.index;
|
|
32
|
-
if (index === -1) {
|
|
49
|
+
if (nextState.stale === false) {
|
|
50
|
+
if (state.routeNames.length !== nextState.routeNames.length || nextState.routeNames.some(name => !routeNamesSet.has(name)) || !Number.isInteger(nextState.index) || nextState.index < 0 || nextState.index >= nextState.routes.length) {
|
|
33
51
|
return null;
|
|
34
52
|
}
|
|
35
53
|
return {
|
|
36
|
-
...
|
|
37
|
-
routes:
|
|
38
|
-
...
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
type: 'params',
|
|
42
|
-
params: r.params
|
|
43
|
-
}]
|
|
44
|
-
} : r)
|
|
54
|
+
...nextState,
|
|
55
|
+
routes: nextState.routes.map(route => 'key' in route && route.key ? route : {
|
|
56
|
+
...route,
|
|
57
|
+
key: `${route.name}-${nanoid()}`
|
|
58
|
+
})
|
|
45
59
|
};
|
|
46
60
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
...route,
|
|
61
|
-
key: `${route.name}-${nanoid()}`
|
|
62
|
-
})
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
return nextState;
|
|
66
|
-
}
|
|
67
|
-
default:
|
|
68
|
-
return null;
|
|
69
|
-
}
|
|
70
|
-
},
|
|
61
|
+
return nextState;
|
|
62
|
+
}
|
|
63
|
+
default:
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Base router object that can be used when writing custom routers.
|
|
70
|
+
* This provides few helper methods to handle common actions such as `RESET`.
|
|
71
|
+
*/
|
|
72
|
+
export const BaseRouter = {
|
|
73
|
+
getStateForAction,
|
|
71
74
|
shouldActionChangeFocus(action) {
|
|
72
75
|
return action.type === 'NAVIGATE';
|
|
73
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["nanoid","
|
|
1
|
+
{"version":3,"names":["nanoid","getStateForAction","state","action","type","index","source","undefined","routes","findIndex","r","key","map","i","params","payload","history","nextState","routeNamesSet","Set","routeNames","length","some","route","has","name","stale","Number","isInteger","BaseRouter","shouldActionChangeFocus"],"sourceRoot":"../../src","sources":["BaseRouter.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,28 +5,16 @@ export function goBack() {
|
|
|
5
5
|
type: 'GO_BACK'
|
|
6
6
|
};
|
|
7
7
|
}
|
|
8
|
-
export function navigate(
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
merge: options?.merge,
|
|
17
|
-
pop: options?.pop
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
|
-
} else {
|
|
21
|
-
const payload = args[0] || {};
|
|
22
|
-
if (!('name' in payload)) {
|
|
23
|
-
throw new Error('You need to specify a name when calling navigate with an object as the argument. See https://reactnavigation.org/docs/navigation-actions#navigate for usage.');
|
|
8
|
+
export function navigate(name, params, options) {
|
|
9
|
+
return {
|
|
10
|
+
type: 'NAVIGATE',
|
|
11
|
+
payload: {
|
|
12
|
+
name,
|
|
13
|
+
params,
|
|
14
|
+
merge: options?.merge,
|
|
15
|
+
pop: options?.pop
|
|
24
16
|
}
|
|
25
|
-
|
|
26
|
-
type: 'NAVIGATE',
|
|
27
|
-
payload
|
|
28
|
-
};
|
|
29
|
-
}
|
|
17
|
+
};
|
|
30
18
|
}
|
|
31
19
|
export function reset(state) {
|
|
32
20
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["goBack","type","navigate","
|
|
1
|
+
{"version":3,"names":["goBack","type","navigate","name","params","options","payload","merge","pop","reset","state","setParams","replaceParams","pushParams","preload"],"sourceRoot":"../../src","sources":["CommonActions.tsx"],"mappings":";;AA2EA,OAAO,SAASA,MAAMA,CAAA,EAAG;EACvB,OAAO;IAAEC,IAAI,EAAE;EAAU,CAAC;AAC5B;AAEA,OAAO,SAASC,QAAQA,CACtBC,IAAY,EACZC,MAA2B,EAC3BC,OAKa,EACb;EACA,OAAO;IACLJ,IAAI,EAAE,UAAU;IAChBK,OAAO,EAAE;MACPH,IAAI;MACJC,MAAM;MACNG,KAAK,EAAEF,OAAO,EAAEE,KAAK;MACrBC,GAAG,EAAEH,OAAO,EAAEG;IAChB;EACF,CAAC;AACH;AAEA,OAAO,SAASC,KAAKA,CAACC,KAAiB,EAAE;EACvC,OAAO;IAAET,IAAI,EAAE,OAAO;IAAEK,OAAO,EAAEI;EAAM,CAAC;AAC1C;AAEA,OAAO,SAASC,SAASA,CAACP,MAAc,EAAE;EACxC,OAAO;IACLH,IAAI,EAAE,YAAY;IAClBK,OAAO,EAAE;MAAEF;IAAO;EACpB,CAAC;AACH;AAEA,OAAO,SAASQ,aAAaA,CAACR,MAAc,EAAE;EAC5C,OAAO;IACLH,IAAI,EAAE,gBAAgB;IACtBK,OAAO,EAAE;MAAEF;IAAO;EACpB,CAAC;AACH;AAEA,OAAO,SAASS,UAAUA,CAACT,MAAc,EAAE;EACzC,OAAO;IACLH,IAAI,EAAE,aAAa;IACnBK,OAAO,EAAE;MAAEF;IAAO;EACpB,CAAC;AACH;AAEA,OAAO,SAASU,OAAOA,CAACX,IAAY,EAAEC,MAA2B,EAAE;EACjE,OAAO;IACLH,IAAI,EAAE,SAAS;IACfK,OAAO,EAAE;MAAEH,IAAI;MAAEC;IAAO;EAC1B,CAAC;AACH","ignoreList":[]}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { nanoid } from 'nanoid/non-secure';
|
|
4
|
-
import {
|
|
4
|
+
import { SwitchRouter } from "./SwitchRouter.js";
|
|
5
|
+
import { TabActions } from "./TabRouter.js";
|
|
5
6
|
export const DrawerActions = {
|
|
6
7
|
...TabActions,
|
|
7
8
|
openDrawer() {
|
|
@@ -24,7 +25,7 @@ export function DrawerRouter({
|
|
|
24
25
|
defaultStatus = 'closed',
|
|
25
26
|
...rest
|
|
26
27
|
}) {
|
|
27
|
-
const router =
|
|
28
|
+
const router = SwitchRouter(rest);
|
|
28
29
|
const isDrawerInHistory = state => Boolean(state.history?.some(it => it.type === 'drawer'));
|
|
29
30
|
const addDrawerToHistory = state => {
|
|
30
31
|
if (isDrawerInHistory(state)) {
|
|
@@ -88,22 +89,22 @@ export function DrawerRouter({
|
|
|
88
89
|
if (partialState.stale === false) {
|
|
89
90
|
return partialState;
|
|
90
91
|
}
|
|
91
|
-
let state =
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
92
|
+
let state = {
|
|
93
|
+
...router.getRehydratedState(partialState, {
|
|
94
|
+
routeNames,
|
|
95
|
+
routeParamList,
|
|
96
|
+
routeGetIdList
|
|
97
|
+
}),
|
|
98
|
+
default: defaultStatus,
|
|
99
|
+
type: 'drawer',
|
|
100
|
+
key: `drawer-${nanoid()}`
|
|
101
|
+
};
|
|
96
102
|
if (isDrawerInHistory(partialState)) {
|
|
97
103
|
// Re-sync the drawer entry in history to correct it if it was wrong
|
|
98
104
|
state = removeDrawerFromHistory(state);
|
|
99
105
|
state = addDrawerToHistory(state);
|
|
100
106
|
}
|
|
101
|
-
return
|
|
102
|
-
...state,
|
|
103
|
-
default: defaultStatus,
|
|
104
|
-
type: 'drawer',
|
|
105
|
-
key: `drawer-${nanoid()}`
|
|
106
|
-
};
|
|
107
|
+
return state;
|
|
107
108
|
},
|
|
108
109
|
getStateForRouteFocus(state, key) {
|
|
109
110
|
const result = router.getStateForRouteFocus(state, key);
|
|
@@ -124,7 +125,7 @@ export function DrawerRouter({
|
|
|
124
125
|
case 'NAVIGATE':
|
|
125
126
|
{
|
|
126
127
|
const result = router.getStateForAction(state, action, options);
|
|
127
|
-
if (result != null && result.index !== state.index) {
|
|
128
|
+
if (result != null && result.stale === false && result.index !== state.index) {
|
|
128
129
|
return closeDrawer(result);
|
|
129
130
|
}
|
|
130
131
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["nanoid","
|
|
1
|
+
{"version":3,"names":["nanoid","SwitchRouter","TabActions","DrawerActions","openDrawer","type","closeDrawer","toggleDrawer","DrawerRouter","defaultStatus","rest","router","isDrawerInHistory","state","Boolean","history","some","it","addDrawerToHistory","status","removeDrawerFromHistory","filter","getInitialState","routeNames","routeParamList","routeGetIdList","default","stale","key","getRehydratedState","partialState","getStateForRouteFocus","result","getStateForAction","action","options","index","actionCreators"],"sourceRoot":"../../src","sources":["DrawerRouter.tsx"],"mappings":"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","ignoreList":[]}
|