@react-navigation/routers 7.6.0 → 7.6.1

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.
@@ -1,9 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { nanoid } from 'nanoid/non-secure';
4
- import { BaseRouter } from "./BaseRouter.js";
5
- import { createParamsFromAction } from "./createParamsFromAction.js";
6
- const TYPE_ROUTE = 'route';
3
+ import { SwitchRouter } from "./SwitchRouter.js";
7
4
  export const TabActions = {
8
5
  jumpTo(name, params) {
9
6
  return {
@@ -15,314 +12,31 @@ export const TabActions = {
15
12
  };
16
13
  }
17
14
  };
18
- const getRouteHistory = (routes, index, backBehavior, initialRouteName) => {
19
- const history = [{
20
- type: TYPE_ROUTE,
21
- key: routes[index].key
22
- }];
23
- let initialRouteIndex;
24
- switch (backBehavior) {
25
- case 'order':
26
- for (let i = index; i > 0; i--) {
27
- history.unshift({
28
- type: TYPE_ROUTE,
29
- key: routes[i - 1].key
30
- });
31
- }
32
- break;
33
- case 'firstRoute':
34
- if (index !== 0) {
35
- history.unshift({
36
- type: TYPE_ROUTE,
37
- key: routes[0].key
38
- });
39
- }
40
- break;
41
- case 'initialRoute':
42
- initialRouteIndex = routes.findIndex(route => route.name === initialRouteName);
43
- initialRouteIndex = initialRouteIndex === -1 ? 0 : initialRouteIndex;
44
- if (index !== initialRouteIndex) {
45
- history.unshift({
46
- type: TYPE_ROUTE,
47
- key: routes[initialRouteIndex].key
48
- });
49
- }
50
- break;
51
- case 'history':
52
- case 'fullHistory':
53
- // The history will fill up on navigation
54
- break;
55
- }
56
- return history;
57
- };
58
- const changeIndex = (state, index, backBehavior, initialRouteName) => {
59
- let history = state.history;
60
- if (backBehavior === 'history' || backBehavior === 'fullHistory') {
61
- const currentRoute = state.routes[index];
62
- if (backBehavior === 'history') {
63
- // Remove the existing key from the history to de-duplicate it
64
- history = history.filter(it => it.type === 'route' ? it.key !== currentRoute.key : false);
65
- } else if (backBehavior === 'fullHistory') {
66
- const lastHistoryRouteItemIndex = history.findLastIndex(item => item.type === 'route');
67
- if (currentRoute.key === history[lastHistoryRouteItemIndex]?.key) {
68
- // For full-history, only remove if it matches the last route
69
- // Useful for drawer, if current route was in history, then drawer state changed
70
- // Then we only need to move the route to the front
71
- history = [...history.slice(0, lastHistoryRouteItemIndex), ...history.slice(lastHistoryRouteItemIndex + 1)];
72
- }
73
- }
74
- history = history.concat({
75
- type: TYPE_ROUTE,
76
- key: currentRoute.key,
77
- params: backBehavior === 'fullHistory' ? currentRoute.params : undefined
78
- });
79
- } else {
80
- history = getRouteHistory(state.routes, index, backBehavior, initialRouteName);
81
- }
15
+ export function TabRouter(options) {
16
+ const router = SwitchRouter(options);
82
17
  return {
83
- ...state,
84
- index,
85
- history
86
- };
87
- };
88
- export function TabRouter({
89
- initialRouteName,
90
- backBehavior = 'firstRoute'
91
- }) {
92
- const router = {
93
- ...BaseRouter,
18
+ ...router,
94
19
  type: 'tab',
95
- getInitialState({
96
- routeNames,
97
- routeParamList
98
- }) {
99
- const index = initialRouteName !== undefined && routeNames.includes(initialRouteName) ? routeNames.indexOf(initialRouteName) : 0;
100
- const routes = routeNames.map(name => ({
101
- name,
102
- key: `${name}-${nanoid()}`,
103
- params: routeParamList[name]
104
- }));
105
- const history = getRouteHistory(routes, index, backBehavior, initialRouteName);
20
+ getInitialState(routerOptions) {
21
+ const state = router.getInitialState(routerOptions);
106
22
  return {
107
- stale: false,
23
+ ...state,
108
24
  type: 'tab',
109
- key: `tab-${nanoid()}`,
110
- index,
111
- routeNames,
112
- history,
113
- routes,
114
- preloadedRouteKeys: []
25
+ key: `tab-${state.key}`
115
26
  };
116
27
  },
117
- getRehydratedState(partialState, {
118
- routeNames,
119
- routeParamList
120
- }) {
121
- const state = partialState;
122
- if (state.stale === false) {
123
- return state;
124
- }
125
- const routes = routeNames.map(name => {
126
- const route = state.routes.find(r => r.name === name);
127
- return {
128
- ...route,
129
- name,
130
- key: route && route.name === name && route.key ? route.key : `${name}-${nanoid()}`,
131
- params: routeParamList[name] !== undefined ? {
132
- ...routeParamList[name],
133
- ...(route ? route.params : undefined)
134
- } : route ? route.params : undefined
135
- };
136
- });
137
- const index = Math.min(Math.max(routeNames.indexOf(state.routes[state?.index ?? 0]?.name), 0), routes.length - 1);
138
- const routeKeys = routes.map(route => route.key);
139
- const history = state.history?.filter(it => routeKeys.includes(it.key)) ?? [];
140
- return changeIndex({
141
- stale: false,
142
- type: 'tab',
143
- key: `tab-${nanoid()}`,
144
- index,
145
- routeNames,
146
- history,
147
- routes,
148
- preloadedRouteKeys: state.preloadedRouteKeys?.filter(key => routeKeys.includes(key)) ?? []
149
- }, index, backBehavior, initialRouteName);
150
- },
151
- getStateForRouteNamesChange(state, {
152
- routeNames,
153
- routeParamList,
154
- routeKeyChanges
155
- }) {
156
- const routes = routeNames.map(name => state.routes.find(r => r.name === name && !routeKeyChanges.includes(r.name)) || {
157
- name,
158
- key: `${name}-${nanoid()}`,
159
- params: routeParamList[name]
160
- });
161
- const index = Math.max(0, routeNames.indexOf(state.routes[state.index].name));
162
- let history = state.history.filter(
163
- // Type will always be 'route' for tabs, but could be different in a router extending this (e.g. drawer)
164
- it => it.type !== 'route' || routes.find(r => r.key === it.key));
165
- if (!history.length) {
166
- history = getRouteHistory(routes, index, backBehavior, initialRouteName);
28
+ getRehydratedState(partialState, routerOptions) {
29
+ if (partialState.stale === false) {
30
+ return partialState;
167
31
  }
32
+ const state = router.getRehydratedState(partialState, routerOptions);
168
33
  return {
169
34
  ...state,
170
- history,
171
- routeNames,
172
- routes,
173
- index
35
+ type: 'tab',
36
+ key: `tab-${state.key}`
174
37
  };
175
38
  },
176
- getStateForRouteFocus(state, key) {
177
- const index = state.routes.findIndex(r => r.key === key);
178
- if (index === -1 || index === state.index) {
179
- return state;
180
- }
181
- return changeIndex(state, index, backBehavior, initialRouteName);
182
- },
183
- getStateForAction(state, action, {
184
- routeParamList,
185
- routeGetIdList
186
- }) {
187
- switch (action.type) {
188
- case 'JUMP_TO':
189
- case 'NAVIGATE':
190
- case 'NAVIGATE_DEPRECATED':
191
- {
192
- const index = state.routes.findIndex(route => route.name === action.payload.name);
193
- if (index === -1) {
194
- return null;
195
- }
196
- const updatedState = changeIndex({
197
- ...state,
198
- routes: state.routes.map(route => {
199
- if (route.name !== action.payload.name) {
200
- return route;
201
- }
202
- const getId = routeGetIdList[route.name];
203
- const currentId = getId?.({
204
- params: route.params
205
- });
206
- const nextId = getId?.({
207
- params: action.payload.params
208
- });
209
- const key = currentId === nextId ? route.key : `${route.name}-${nanoid()}`;
210
- let params;
211
- if ((action.type === 'NAVIGATE' || action.type === 'NAVIGATE_DEPRECATED') && action.payload.merge && currentId === nextId) {
212
- params = action.payload.params !== undefined || routeParamList[route.name] !== undefined ? {
213
- ...routeParamList[route.name],
214
- ...route.params,
215
- ...action.payload.params
216
- } : route.params;
217
- } else {
218
- params = createParamsFromAction({
219
- action,
220
- routeParamList
221
- });
222
- }
223
- const path = action.type === 'NAVIGATE' && action.payload.path != null ? action.payload.path : route.path;
224
- return params !== route.params || path !== route.path ? {
225
- ...route,
226
- key,
227
- path,
228
- params
229
- } : route;
230
- })
231
- }, index, backBehavior, initialRouteName);
232
- return {
233
- ...updatedState,
234
- preloadedRouteKeys: updatedState.preloadedRouteKeys.filter(key => key !== state.routes[updatedState.index].key)
235
- };
236
- }
237
- case 'SET_PARAMS':
238
- case 'REPLACE_PARAMS':
239
- {
240
- const nextState = BaseRouter.getStateForAction(state, action);
241
- if (nextState !== null) {
242
- const index = nextState.index;
243
- if (index != null) {
244
- const focusedRoute = nextState.routes[index];
245
- const historyItemIndex = state.history.findLastIndex(item => item.key === focusedRoute.key);
246
- let updatedHistory = state.history;
247
- if (historyItemIndex !== -1) {
248
- updatedHistory = [...state.history];
249
- updatedHistory[historyItemIndex] = {
250
- ...updatedHistory[historyItemIndex],
251
- params: focusedRoute.params
252
- };
253
- }
254
- return {
255
- ...nextState,
256
- history: updatedHistory
257
- };
258
- }
259
- }
260
- return nextState;
261
- }
262
- case 'GO_BACK':
263
- {
264
- if (state.history.length === 1) {
265
- return null;
266
- }
267
- const previousHistoryItem = state.history[state.history.length - 2];
268
- const previousKey = previousHistoryItem?.key;
269
- const index = state.routes.findLastIndex(route => route.key === previousKey);
270
- if (index === -1) {
271
- return null;
272
- }
273
- let routes = state.routes;
274
- if (backBehavior === 'fullHistory' && routes[index].params !== previousHistoryItem.params) {
275
- routes = [...state.routes];
276
- routes[index] = {
277
- ...routes[index],
278
- params: previousHistoryItem.params
279
- };
280
- }
281
- return {
282
- ...state,
283
- routes,
284
- preloadedRouteKeys: state.preloadedRouteKeys.filter(key => key !== state.routes[index].key),
285
- history: state.history.slice(0, -1),
286
- index
287
- };
288
- }
289
- case 'PRELOAD':
290
- {
291
- const routeIndex = state.routes.findIndex(route => route.name === action.payload.name);
292
- if (routeIndex === -1) {
293
- return null;
294
- }
295
- const route = state.routes[routeIndex];
296
- const getId = routeGetIdList[route.name];
297
- const currentId = getId?.({
298
- params: route.params
299
- });
300
- const nextId = getId?.({
301
- params: action.payload.params
302
- });
303
- const key = currentId === nextId ? route.key : `${route.name}-${nanoid()}`;
304
- const params = createParamsFromAction({
305
- action,
306
- routeParamList
307
- });
308
- const newRoute = params !== route.params ? {
309
- ...route,
310
- key,
311
- params
312
- } : route;
313
- return {
314
- ...state,
315
- preloadedRouteKeys: state.preloadedRouteKeys.filter(key => key !== route.key).concat(newRoute.key),
316
- routes: state.routes.map((route, index) => index === routeIndex ? newRoute : route),
317
- history: key === route.key ? state.history : state.history.filter(record => record.key !== route.key)
318
- };
319
- }
320
- default:
321
- return BaseRouter.getStateForAction(state, action);
322
- }
323
- },
324
39
  actionCreators: TabActions
325
40
  };
326
- return router;
327
41
  }
328
42
  //# sourceMappingURL=TabRouter.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["nanoid","BaseRouter","createParamsFromAction","TYPE_ROUTE","TabActions","jumpTo","name","params","type","payload","getRouteHistory","routes","index","backBehavior","initialRouteName","history","key","initialRouteIndex","i","unshift","findIndex","route","changeIndex","state","currentRoute","filter","it","lastHistoryRouteItemIndex","findLastIndex","item","slice","concat","undefined","TabRouter","router","getInitialState","routeNames","routeParamList","includes","indexOf","map","stale","preloadedRouteKeys","getRehydratedState","partialState","find","r","Math","min","max","length","routeKeys","getStateForRouteNamesChange","routeKeyChanges","getStateForRouteFocus","getStateForAction","action","routeGetIdList","updatedState","getId","currentId","nextId","merge","path","nextState","focusedRoute","historyItemIndex","updatedHistory","previousHistoryItem","previousKey","routeIndex","newRoute","record","actionCreators"],"sourceRoot":"../../src","sources":["TabRouter.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["SwitchRouter","TabActions","jumpTo","name","params","type","payload","TabRouter","options","router","getInitialState","routerOptions","state","key","getRehydratedState","partialState","stale","actionCreators"],"sourceRoot":"../../src","sources":["TabRouter.tsx"],"mappings":";;AAAA,SAEEA,YAAY,QAEP,mBAAgB;AA4CvB,OAAO,MAAMC,UAAU,GAAG;EACxBC,MAAMA,CAACC,IAAY,EAAEC,MAAe,EAAE;IACpC,OAAO;MACLC,IAAI,EAAE,SAAS;MACfC,OAAO,EAAE;QAAEH,IAAI;QAAEC;MAAO;IAC1B,CAAC;EACH;AACF,CAAC;AAED,OAAO,SAASG,SAASA,CACvBC,OAAyB,EAIzB;EACA,MAAMC,MAAM,GAAGT,YAAY,CAAQQ,OAAO,CAAC;EAE3C,OAAO;IACL,GAAGC,MAAM;IAETJ,IAAI,EAAE,KAAK;IAEXK,eAAeA,CAACC,aAAa,EAAE;MAC7B,MAAMC,KAAK,GAAGH,MAAM,CAACC,eAAe,CAACC,aAAa,CAAC;MAEnD,OAAO;QACL,GAAGC,KAAK;QACRP,IAAI,EAAE,KAAK;QACXQ,GAAG,EAAE,OAAOD,KAAK,CAACC,GAAG;MACvB,CAAC;IACH,CAAC;IAEDC,kBAAkBA,CAACC,YAAY,EAAEJ,aAAa,EAAE;MAC9C,IAAII,YAAY,CAACC,KAAK,KAAK,KAAK,EAAE;QAChC,OAAOD,YAAY;MACrB;MAEA,MAAMH,KAAK,GAAGH,MAAM,CAACK,kBAAkB,CAACC,YAAY,EAAEJ,aAAa,CAAC;MAEpE,OAAO;QACL,GAAGC,KAAK;QACRP,IAAI,EAAE,KAAK;QACXQ,GAAG,EAAE,OAAOD,KAAK,CAACC,GAAG;MACvB,CAAC;IACH,CAAC;IAEDI,cAAc,EAAEhB;EAClB,CAAC;AACH","ignoreList":[]}
@@ -1,10 +1,11 @@
1
1
  import type { CommonNavigationAction, NavigationState, PartialState } from './types.js';
2
+ declare function getStateForAction<State extends NavigationState>(state: State, action: CommonNavigationAction): State | PartialState<State> | null;
2
3
  /**
3
4
  * Base router object that can be used when writing custom routers.
4
5
  * This provides few helper methods to handle common actions such as `RESET`.
5
6
  */
6
7
  export declare const BaseRouter: {
7
- getStateForAction<State extends NavigationState>(state: State, action: CommonNavigationAction): State | PartialState<State> | null;
8
+ getStateForAction: typeof getStateForAction;
8
9
  shouldActionChangeFocus(action: CommonNavigationAction): action is {
9
10
  type: "NAVIGATE";
10
11
  payload: {
@@ -27,4 +28,5 @@ export declare const BaseRouter: {
27
28
  target?: string;
28
29
  };
29
30
  };
31
+ export {};
30
32
  //# sourceMappingURL=BaseRouter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseRouter.d.ts","sourceRoot":"","sources":["../../../src/BaseRouter.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,sBAAsB,EACtB,eAAe,EACf,YAAY,EACb,MAAM,YAAS,CAAC;AAEjB;;;GAGG;AACH,eAAO,MAAM,UAAU;sBACH,KAAK,SAAS,eAAe,SACtC,KAAK,UACJ,sBAAsB,GAC7B,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,IAAI;oCAkEL,sBAAsB;;;;kBAnE3C,CAAC;gBAAkB,CAAC;iBAChB,CAAC;eAAkB,CAAC;;;;;;;;kBAKG,CAAC;iBAAmB,CAAC;;;;;CAgE5D,CAAC"}
1
+ {"version":3,"file":"BaseRouter.d.ts","sourceRoot":"","sources":["../../../src/BaseRouter.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,sBAAsB,EACtB,eAAe,EACf,YAAY,EACb,MAAM,YAAS,CAAC;AAEjB,iBAAS,iBAAiB,CAAC,KAAK,SAAS,eAAe,EACtD,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,sBAAsB,GAC7B,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AA+EtC;;;GAGG;AACH,eAAO,MAAM,UAAU;;oCAGW,sBAAsB;;;;kBAhFpD,CAAD;gBAAkB,CAAC;iBACJ,CAAC;eACX,CAAC;;;;;;;;kBAMH,CAAF;iBAGI,CAAR;;;;;CAwEC,CAAC"}
@@ -24,6 +24,7 @@ export type DrawerNavigationState<ParamList extends ParamListBase> = Omit<TabNav
24
24
  history: ({
25
25
  type: 'route';
26
26
  key: string;
27
+ params?: object | undefined;
27
28
  } | {
28
29
  type: 'drawer';
29
30
  status: DrawerStatus;
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerRouter.d.ts","sourceRoot":"","sources":["../../../src/DrawerRouter.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,gBAAgB,EAErB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EAEvB,KAAK,gBAAgB,EACtB,MAAM,gBAAa,CAAC;AACrB,OAAO,KAAK,EACV,sBAAsB,EACtB,aAAa,EAEb,MAAM,EACP,MAAM,YAAS,CAAC;AACjB,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE7C,MAAM,MAAM,gBAAgB,GACxB,aAAa,GACb;IACE,IAAI,EAAE,aAAa,GAAG,cAAc,GAAG,eAAe,CAAC;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEN,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,GAAG;IACnD,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAAC,SAAS,SAAS,aAAa,IAAI,IAAI,CACvE,kBAAkB,CAAC,SAAS,CAAC,EAC7B,MAAM,GAAG,SAAS,CACnB,GAAG;IACF;;OAEG;IACH,IAAI,EAAE,QAAQ,CAAC;IACf;;OAEG;IACH,OAAO,EAAE,YAAY,CAAC;IACtB;;OAEG;IACH,OAAO,EAAE,CACL;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAC9B;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,CAC3C,EAAE,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAAC,SAAS,SAAS,aAAa,IAC7D,gBAAgB,CAAC,SAAS,CAAC,GAAG;IAC5B;;OAEG;IACH,UAAU,IAAI,IAAI,CAAC;IAEnB;;OAEG;IACH,WAAW,IAAI,IAAI,CAAC;IAEpB;;OAEG;IACH,YAAY,IAAI,IAAI,CAAC;CACtB,CAAC;AAEJ,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;CAWzB,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAC3B,aAAwB,EACxB,GAAG,IAAI,EACR,EAAE,mBAAmB,GAAG,MAAM,CAC7B,qBAAqB,CAAC,aAAa,CAAC,EACpC,gBAAgB,GAAG,sBAAsB,CAC1C,CAgKA"}
1
+ {"version":3,"file":"DrawerRouter.d.ts","sourceRoot":"","sources":["../../../src/DrawerRouter.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,gBAAgB,EAErB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACtB,MAAM,gBAAa,CAAC;AACrB,OAAO,KAAK,EACV,sBAAsB,EACtB,aAAa,EAEb,MAAM,EACP,MAAM,YAAS,CAAC;AAEjB,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE7C,MAAM,MAAM,gBAAgB,GACxB,aAAa,GACb;IACE,IAAI,EAAE,aAAa,GAAG,cAAc,GAAG,eAAe,CAAC;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEN,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,GAAG;IACnD,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAAC,SAAS,SAAS,aAAa,IAAI,IAAI,CACvE,kBAAkB,CAAC,SAAS,CAAC,EAC7B,MAAM,GAAG,SAAS,CACnB,GAAG;IACF;;OAEG;IACH,IAAI,EAAE,QAAQ,CAAC;IACf;;OAEG;IACH,OAAO,EAAE,YAAY,CAAC;IACtB;;OAEG;IACH,OAAO,EAAE,CACL;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,GAC3D;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,CAC3C,EAAE,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAAC,SAAS,SAAS,aAAa,IAC7D,gBAAgB,CAAC,SAAS,CAAC,GAAG;IAC5B;;OAEG;IACH,UAAU,IAAI,IAAI,CAAC;IAEnB;;OAEG;IACH,WAAW,IAAI,IAAI,CAAC;IAEpB;;OAEG;IACH,YAAY,IAAI,IAAI,CAAC;CACtB,CAAC;AAEJ,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;CAWzB,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAC3B,aAAwB,EACxB,GAAG,IAAI,EACR,EAAE,mBAAmB,GAAG,MAAM,CAC7B,qBAAqB,CAAC,aAAa,CAAC,EACpC,gBAAgB,GAAG,sBAAsB,CAC1C,CAiKA"}
@@ -0,0 +1,78 @@
1
+ import type { CommonNavigationAction, DefaultRouterOptions, NavigationState, PartialState, RouterConfigOptions } from './types.js';
2
+ export type SwitchActionType = {
3
+ type: 'JUMP_TO';
4
+ payload: {
5
+ name: string;
6
+ params?: object;
7
+ };
8
+ source?: string;
9
+ target?: string;
10
+ };
11
+ export type SwitchRouterOptions = DefaultRouterOptions & {
12
+ /**
13
+ * Control how going back should behave
14
+ * - `firstRoute` - return to the first defined route
15
+ * - `initialRoute` - return to the route from `initialRouteName`
16
+ * - `order` - return to the route defined before the focused route
17
+ * - `history` - return to last visited route; if the same route is visited multiple times, the older entries are dropped from the history
18
+ * - `fullHistory` - return to last visited route; doesn't drop duplicate entries unlike `history` - matches behavior of web pages
19
+ * - `none` - do not handle going back
20
+ */
21
+ backBehavior?: BackBehavior;
22
+ };
23
+ type BackBehavior = 'firstRoute' | 'initialRoute' | 'order' | 'history' | 'fullHistory' | 'none';
24
+ type RouteHistory = {
25
+ type: 'route';
26
+ key: string;
27
+ params?: object | undefined;
28
+ };
29
+ type DrawerHistory = {
30
+ type: 'drawer';
31
+ status: 'open' | 'closed';
32
+ };
33
+ type SwitchRouterState<History> = Omit<NavigationState, 'history' | 'type'> & {
34
+ history: History[];
35
+ preloadedRouteKeys: string[];
36
+ };
37
+ type SwitchRouterStateMap = {
38
+ tab: SwitchRouterState<RouteHistory> & {
39
+ type: 'tab';
40
+ };
41
+ drawer: SwitchRouterState<RouteHistory | DrawerHistory> & {
42
+ type: 'drawer';
43
+ default: DrawerHistory['status'];
44
+ };
45
+ };
46
+ type SwitchRouterType = 'tab' | 'drawer';
47
+ export declare function SwitchRouter<Type extends SwitchRouterType>({ initialRouteName, backBehavior, }: SwitchRouterOptions): {
48
+ getInitialState({ routeNames, routeParamList, }: RouterConfigOptions): SwitchRouterState<RouteHistory>;
49
+ getRehydratedState(state: PartialState<SwitchRouterStateMap[Type]>, { routeNames, routeParamList }: RouterConfigOptions): SwitchRouterState<RouteHistory>;
50
+ getStateForRouteNamesChange(state: SwitchRouterStateMap[Type], { routeNames, routeParamList, routeKeyChanges, }: RouterConfigOptions & {
51
+ routeKeyChanges: string[];
52
+ }): SwitchRouterStateMap[Type];
53
+ getStateForRouteFocus(state: SwitchRouterStateMap[Type], key: string): SwitchRouterStateMap[Type];
54
+ getStateForAction(state: SwitchRouterStateMap[Type], action: SwitchActionType | CommonNavigationAction, { routeParamList, routeGetIdList }: RouterConfigOptions): SwitchRouterStateMap[Type] | PartialState<SwitchRouterStateMap[Type]> | null;
55
+ shouldActionChangeFocus(action: CommonNavigationAction): action is {
56
+ type: "NAVIGATE";
57
+ payload: {
58
+ name: string;
59
+ params?: object;
60
+ path?: string;
61
+ merge?: boolean;
62
+ pop?: boolean;
63
+ };
64
+ source?: string;
65
+ target?: string;
66
+ } | {
67
+ type: "NAVIGATE_DEPRECATED";
68
+ payload: {
69
+ name: string;
70
+ params?: object;
71
+ merge?: boolean;
72
+ };
73
+ source?: string;
74
+ target?: string;
75
+ };
76
+ };
77
+ export {};
78
+ //# sourceMappingURL=SwitchRouter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SwitchRouter.d.ts","sourceRoot":"","sources":["../../../src/SwitchRouter.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,YAAY,EAEZ,mBAAmB,EACpB,MAAM,YAAS,CAAC;AAEjB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,GAAG;IACvD;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAEF,KAAK,YAAY,GACb,YAAY,GACZ,cAAc,GACd,OAAO,GACP,SAAS,GACT,aAAa,GACb,MAAM,CAAC;AAEX,KAAK,YAAY,GAAG;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC3B,CAAC;AAEF,KAAK,iBAAiB,CAAC,OAAO,IAAI,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,MAAM,CAAC,GAAG;IAC5E,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,GAAG,EAAE,iBAAiB,CAAC,YAAY,CAAC,GAAG;QAAE,IAAI,EAAE,KAAK,CAAA;KAAE,CAAC;IACvD,MAAM,EAAE,iBAAiB,CAAC,YAAY,GAAG,aAAa,CAAC,GAAG;QACxD,IAAI,EAAE,QAAQ,CAAC;QACf,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;KAClC,CAAC;CACH,CAAC;AAEF,KAAK,gBAAgB,GAAG,KAAK,GAAG,QAAQ,CAAC;AAmHzC,wBAAgB,YAAY,CAAC,IAAI,SAAS,gBAAgB,EAAE,EAC1D,gBAAgB,EAChB,YAA2B,GAC5B,EAAE,mBAAmB;qDASf,mBAAmB,GAAG,iBAAiB,CAAC,YAAY,CAAC;8BAwB/C,YAAY,4BAAO,kCACM,mBAAmB,GAClD,iBAAiB,CAAC,YAAY,CAAC;qHA6D7B,mBAAmB,GAAG;QAAE,eAAe,EAAE,MAAM,EAAE,CAAA;KAAE;kEAwDf,MAAM;iEAerC,gBAAgB,GAAG,sBAAsB,sCACb,mBAAmB,GACtD,6BAAQ,YAAY,4BAAO,GAAG,IAAI;;;;;kBAhVvC,CAAA;gBACA,CAAA;iBAGF,CADA;eACiB,CAAC;;;;;;;;kBAIC,CAAC;iBAAmB,CAAC;;;;;EA2iBvC"}
@@ -1,26 +1,6 @@
1
- import type { DefaultRouterOptions, NavigationState, ParamListBase, Router } from './types.js';
2
- export type TabActionType = {
3
- type: 'JUMP_TO';
4
- payload: {
5
- name: string;
6
- params?: object;
7
- };
8
- source?: string;
9
- target?: string;
10
- };
11
- export type BackBehavior = 'firstRoute' | 'initialRoute' | 'order' | 'history' | 'fullHistory' | 'none';
12
- export type TabRouterOptions = DefaultRouterOptions & {
13
- /**
14
- * Control how going back should behave
15
- * - `firstRoute` - return to the first defined route
16
- * - `initialRoute` - return to the route from `initialRouteName`
17
- * - `order` - return to the route defined before the focused route
18
- * - `history` - return to last visited route; if the same route is visited multiple times, the older entries are dropped from the history
19
- * - `fullHistory` - return to last visited route; doesn't drop duplicate entries unlike `history` - matches behavior of web pages
20
- * - `none` - do not handle going back
21
- */
22
- backBehavior?: BackBehavior;
23
- };
1
+ import { type SwitchActionType as TabActionType, type SwitchRouterOptions as TabRouterOptions } from './SwitchRouter.js';
2
+ import type { CommonNavigationAction, NavigationState, ParamListBase, Router } from './types.js';
3
+ export type { TabActionType, TabRouterOptions };
24
4
  export type TabNavigationState<ParamList extends ParamListBase> = Omit<NavigationState<ParamList>, 'history'> & {
25
5
  /**
26
6
  * Type of the router, in this case, it's tab.
@@ -57,5 +37,5 @@ export declare const TabActions: {
57
37
  };
58
38
  };
59
39
  };
60
- export declare function TabRouter({ initialRouteName, backBehavior, }: TabRouterOptions): Router<TabNavigationState<ParamListBase>, import("./CommonActions.js").Action | TabActionType>;
40
+ export declare function TabRouter(options: TabRouterOptions): Router<TabNavigationState<ParamListBase>, TabActionType | CommonNavigationAction>;
61
41
  //# sourceMappingURL=TabRouter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabRouter.d.ts","sourceRoot":"","sources":["../../../src/TabRouter.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,oBAAoB,EACpB,eAAe,EACf,aAAa,EAGb,MAAM,EACP,MAAM,YAAS,CAAC;AAEjB,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,YAAY,GACpB,YAAY,GACZ,cAAc,GACd,OAAO,GACP,SAAS,GACT,aAAa,GACb,MAAM,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GAAG;IACpD;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,SAAS,SAAS,aAAa,IAAI,IAAI,CACpE,eAAe,CAAC,SAAS,CAAC,EAC1B,SAAS,CACV,GAAG;IACF;;OAEG;IACH,IAAI,EAAE,KAAK,CAAC;IACZ;;OAEG;IACH,OAAO,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,EAAE,CAAC;IACvE;;OAEG;IACH,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,SAAS,SAAS,aAAa,IAAI;IAC9D;;;;;OAKG;IACH,MAAM,CAAC,SAAS,SAAS,MAAM,SAAS,EACtC,GAAG,IAAI,EAAE,SAAS,SAAS,OAAO,GAC9B,SAAS,SAAS,SAAS,CAAC,SAAS,CAAC,GACpC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,GAClD,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,GACnD,KAAK,GACR,IAAI,CAAC;CACT,CAAC;AAIF,eAAO,MAAM,UAAU;iBACR,MAAM,WAAW,MAAM;;;;;;;CAMrC,CAAC;AA6GF,wBAAgB,SAAS,CAAC,EACxB,gBAAgB,EAChB,YAA2B,GAC5B,EAAE,gBAAgB,kGA4VlB"}
1
+ {"version":3,"file":"TabRouter.d.ts","sourceRoot":"","sources":["../../../src/TabRouter.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,IAAI,aAAa,EAEtC,KAAK,mBAAmB,IAAI,gBAAgB,EAC7C,MAAM,mBAAgB,CAAC;AACxB,OAAO,KAAK,EACV,sBAAsB,EACtB,eAAe,EACf,aAAa,EACb,MAAM,EACP,MAAM,YAAS,CAAC;AAEjB,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC;AAEhD,MAAM,MAAM,kBAAkB,CAAC,SAAS,SAAS,aAAa,IAAI,IAAI,CACpE,eAAe,CAAC,SAAS,CAAC,EAC1B,SAAS,CACV,GAAG;IACF;;OAEG;IACH,IAAI,EAAE,KAAK,CAAC;IACZ;;OAEG;IACH,OAAO,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,EAAE,CAAC;IACvE;;OAEG;IACH,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,SAAS,SAAS,aAAa,IAAI;IAC9D;;;;;OAKG;IACH,MAAM,CAAC,SAAS,SAAS,MAAM,SAAS,EACtC,GAAG,IAAI,EAAE,SAAS,SAAS,OAAO,GAC9B,SAAS,SAAS,SAAS,CAAC,SAAS,CAAC,GACpC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,GAClD,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,GACnD,KAAK,GACR,IAAI,CAAC;CACT,CAAC;AAEF,eAAO,MAAM,UAAU;iBACR,MAAM,WAAW,MAAM;;;;;;;CAMrC,CAAC;AAEF,wBAAgB,SAAS,CACvB,OAAO,EAAE,gBAAgB,GACxB,MAAM,CACP,kBAAkB,CAAC,aAAa,CAAC,EACjC,aAAa,GAAG,sBAAsB,CACvC,CAkCA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@react-navigation/routers",
3
3
  "description": "Routers to help build custom navigators",
4
- "version": "7.6.0",
4
+ "version": "7.6.1",
5
5
  "keywords": [
6
6
  "react",
7
7
  "react-native",
@@ -47,7 +47,7 @@
47
47
  "@jest/globals": "^30.0.0",
48
48
  "del-cli": "^6.0.0",
49
49
  "react-native-builder-bob": "^0.42.1",
50
- "typescript": "^5.9.2"
50
+ "typescript": "~6.0.3"
51
51
  },
52
52
  "react-native-builder-bob": {
53
53
  "source": "src",
@@ -67,5 +67,5 @@
67
67
  ]
68
68
  ]
69
69
  },
70
- "gitHead": "d1f2a06597d7f2ae490d09b7ecc4f3531e5efc46"
70
+ "gitHead": "d9dafe23ab092e3e76fab1e35dbb1973f45107ca"
71
71
  }