@react-navigation/routers 8.0.0-alpha.1 → 8.0.0-alpha.2

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.
@@ -190,18 +190,51 @@ export function StackRouter(options) {
190
190
  params: action.payload.params
191
191
  });
192
192
  let route;
193
- if (id !== undefined) {
194
- route = state.routes.findLast(route => route.name === action.payload.name && id === getId?.({
195
- params: route.params
196
- }));
197
- } else if (action.type === 'NAVIGATE') {
193
+ if (action.type === 'NAVIGATE') {
198
194
  const currentRoute = state.routes[state.index];
199
-
200
- // If the route matches the current one, then navigate to it
201
- if (action.payload.name === currentRoute.name) {
202
- route = currentRoute;
203
- } else if (action.payload.pop) {
204
- route = state.routes.findLast(route => route.name === action.payload.name);
195
+ if (id !== undefined) {
196
+ if (currentRoute.name === action.payload.name && id === getId?.({
197
+ params: currentRoute.params
198
+ })) {
199
+ route = currentRoute;
200
+ } else if (action.payload.pop) {
201
+ for (let i = state.routes.length - 1; i >= 0; i--) {
202
+ const r = state.routes[i];
203
+ if (r.name !== action.payload.name) {
204
+ continue;
205
+ }
206
+ if (id === getId?.({
207
+ params: r.params
208
+ })) {
209
+ route = r;
210
+ break;
211
+ }
212
+ if (r.history?.length) {
213
+ for (let j = r.history.length - 1; j >= 0; j--) {
214
+ if (r.history[j].type === 'params' && id === getId?.({
215
+ params: r.history[j].params
216
+ })) {
217
+ route = {
218
+ ...r,
219
+ params: r.history[j].params,
220
+ history: r.history.slice(0, j)
221
+ };
222
+ break;
223
+ }
224
+ }
225
+ if (route) {
226
+ break;
227
+ }
228
+ }
229
+ }
230
+ }
231
+ } else {
232
+ // If the route matches the current one, then navigate to it
233
+ if (action.payload.name === currentRoute.name) {
234
+ route = currentRoute;
235
+ } else if (action.payload.pop) {
236
+ route = state.routes.findLast(route => route.name === action.payload.name);
237
+ }
205
238
  }
206
239
  }
207
240
  if (!route) {
@@ -341,14 +374,38 @@ export function StackRouter(options) {
341
374
 
342
375
  // If the route already exists, navigate to it
343
376
  let index = -1;
377
+ let historyIndex;
344
378
  const getId = options.routeGetIdList[action.payload.name];
345
379
  const id = getId?.({
346
380
  params: action.payload.params
347
381
  });
348
382
  if (id !== undefined) {
349
- index = state.routes.findIndex(route => route.name === action.payload.name && id === getId?.({
350
- params: route.params
351
- }));
383
+ for (let i = currentIndex; i >= 0; i--) {
384
+ const r = state.routes[i];
385
+ if (r.name !== action.payload.name) {
386
+ continue;
387
+ }
388
+ if (id === getId?.({
389
+ params: r.params
390
+ })) {
391
+ index = i;
392
+ break;
393
+ }
394
+ if (r.history?.length) {
395
+ for (let j = r.history.length - 1; j >= 0; j--) {
396
+ if (r.history[j].type === 'params' && id === getId?.({
397
+ params: r.history[j].params
398
+ })) {
399
+ index = i;
400
+ historyIndex = j;
401
+ break;
402
+ }
403
+ }
404
+ if (index !== -1) {
405
+ break;
406
+ }
407
+ }
408
+ }
352
409
  } else if (state.routes[currentIndex].name === action.payload.name) {
353
410
  index = currentIndex;
354
411
  } else {
@@ -381,13 +438,19 @@ export function StackRouter(options) {
381
438
  };
382
439
  }
383
440
  const route = state.routes[index];
441
+ let baseParams = route.params;
442
+ let history = route.history;
443
+ if (historyIndex !== undefined && route.history) {
444
+ baseParams = route.history[historyIndex].params;
445
+ history = route.history.slice(0, historyIndex);
446
+ }
384
447
  let params;
385
448
  if (action.payload.merge) {
386
449
  params = action.payload.params !== undefined || routeParamList[route.name] !== undefined ? {
387
450
  ...routeParamList[route.name],
388
- ...route.params,
451
+ ...baseParams,
389
452
  ...action.payload.params
390
- } : route.params;
453
+ } : baseParams;
391
454
  } else {
392
455
  params = createParamsFromAction({
393
456
  action,
@@ -397,9 +460,10 @@ export function StackRouter(options) {
397
460
  return {
398
461
  ...state,
399
462
  index,
400
- routes: [...state.routes.slice(0, index), params !== route.params ? {
463
+ routes: [...state.routes.slice(0, index), params !== baseParams || historyIndex !== undefined ? {
401
464
  ...route,
402
- params
465
+ params,
466
+ history
403
467
  } : state.routes[index]]
404
468
  };
405
469
  }
@@ -1 +1 @@
1
- {"version":3,"names":["nanoid","BaseRouter","createParamsFromAction","createRouteFromAction","StackActions","replace","name","params","type","payload","push","pop","count","popToTop","popTo","options","merge","StackRouter","router","getInitialState","routeNames","routeParamList","initialRouteName","undefined","includes","stale","key","index","preloadedRoutes","routes","getRehydratedState","partialState","state","filter","route","map","length","getStateForRouteNamesChange","routeKeyChanges","Math","min","getStateForRouteFocus","findIndex","r","slice","getStateForAction","action","currentIndex","target","source","getId","routeGetIdList","id","find","i","findLast","currentRoute","path","history","end","last","at","removed","max","concat","findLastIndex","getRoutesFromState","actionCreators"],"sourceRoot":"../../src","sources":["StackRouter.tsx"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,mBAAmB;AAE1C,SAASC,UAAU,QAAQ,iBAAc;AACzC,SAASC,sBAAsB,QAAQ,6BAA0B;AACjE,SAASC,qBAAqB,QAAQ,4BAAyB;AA4H/D,OAAO,MAAMC,YAAY,GAAG;EAC1BC,OAAOA,CAACC,IAAY,EAAEC,MAAe,EAAE;IACrC,OAAO;MACLC,IAAI,EAAE,SAAS;MACfC,OAAO,EAAE;QAAEH,IAAI;QAAEC;MAAO;IAC1B,CAAC;EACH,CAAC;EACDG,IAAIA,CAACJ,IAAY,EAAEC,MAAe,EAAE;IAClC,OAAO;MACLC,IAAI,EAAE,MAAM;MACZC,OAAO,EAAE;QAAEH,IAAI;QAAEC;MAAO;IAC1B,CAAC;EACH,CAAC;EACDI,GAAGA,CAACC,KAAa,GAAG,CAAC,EAAE;IACrB,OAAO;MACLJ,IAAI,EAAE,KAAK;MACXC,OAAO,EAAE;QAAEG;MAAM;IACnB,CAAC;EACH,CAAC;EACDC,QAAQA,CAAA,EAAG;IACT,OAAO;MAAEL,IAAI,EAAE;IAAa,CAAC;EAC/B,CAAC;EACDM,KAAKA,CAACR,IAAY,EAAEC,MAAe,EAAEQ,OAA6B,EAAE;IAClE,OAAO;MACLP,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE;QACPH,IAAI;QACJC,MAAM;QACNS,KAAK,EAAED,OAAO,EAAEC;MAClB;IACF,CAAC;EACH;AACF,CAAC;AAED,OAAO,SAASC,WAAWA,CAACF,OAA2B,EAAE;EACvD,MAAMG,MAGL,GAAG;IACF,GAAGjB,UAAU;IAEbO,IAAI,EAAE,OAAO;IAEbW,eAAeA,CAAC;MAAEC,UAAU;MAAEC;IAAe,CAAC,EAAE;MAC9C,MAAMC,gBAAgB,GACpBP,OAAO,CAACO,gBAAgB,KAAKC,SAAS,IACtCH,UAAU,CAACI,QAAQ,CAACT,OAAO,CAACO,gBAAgB,CAAC,GACzCP,OAAO,CAACO,gBAAgB,GACxBF,UAAU,CAAC,CAAC,CAAC;MAEnB,OAAO;QACLK,KAAK,EAAE,KAAK;QACZjB,IAAI,EAAE,OAAO;QACbkB,GAAG,EAAE,SAAS1B,MAAM,CAAC,CAAC,EAAE;QACxB2B,KAAK,EAAE,CAAC;QACRP,UAAU;QACVQ,eAAe,EAAE,EAAE;QACnBC,MAAM,EAAE,CACN;UACEH,GAAG,EAAE,GAAGJ,gBAAgB,IAAItB,MAAM,CAAC,CAAC,EAAE;UACtCM,IAAI,EAAEgB,gBAAgB;UACtBf,MAAM,EAAEc,cAAc,CAACC,gBAAgB;QACzC,CAAC;MAEL,CAAC;IACH,CAAC;IAEDQ,kBAAkBA,CAACC,YAAY,EAAE;MAAEX,UAAU;MAAEC;IAAe,CAAC,EAAE;MAC/D,MAAMW,KAAK,GAAGD,YAAY;MAE1B,IAAIC,KAAK,CAACP,KAAK,KAAK,KAAK,EAAE;QACzB,OAAOO,KAAK;MACd;MAEA,MAAMH,MAAM,GAAGG,KAAK,CAACH,MAAM,CACxBI,MAAM,CAAEC,KAAK,IAAKd,UAAU,CAACI,QAAQ,CAACU,KAAK,CAAC5B,IAAI,CAAC,CAAC,CAClD6B,GAAG,CAAED,KAAK,KAAM;QACf,GAAGA,KAAK;QACRR,GAAG,EAAEQ,KAAK,CAACR,GAAG,IAAI,GAAGQ,KAAK,CAAC5B,IAAI,IAAIN,MAAM,CAAC,CAAC,EAAE;QAC7CO,MAAM,EACJc,cAAc,CAACa,KAAK,CAAC5B,IAAI,CAAC,KAAKiB,SAAS,GACpC;UACE,GAAGF,cAAc,CAACa,KAAK,CAAC5B,IAAI,CAAC;UAC7B,GAAG4B,KAAK,CAAC3B;QACX,CAAC,GACD2B,KAAK,CAAC3B;MACd,CAAC,CAAC,CAAC;MAEL,MAAMqB,eAAe,GACnBI,KAAK,CAACJ,eAAe,EACjBK,MAAM,CAAEC,KAAK,IAAKd,UAAU,CAACI,QAAQ,CAACU,KAAK,CAAC5B,IAAI,CAAC,CAAC,CACnD6B,GAAG,CACDD,KAAK,KACH;QACC,GAAGA,KAAK;QACRR,GAAG,EAAEQ,KAAK,CAACR,GAAG,IAAI,GAAGQ,KAAK,CAAC5B,IAAI,IAAIN,MAAM,CAAC,CAAC,EAAE;QAC7CO,MAAM,EACJc,cAAc,CAACa,KAAK,CAAC5B,IAAI,CAAC,KAAKiB,SAAS,GACpC;UACE,GAAGF,cAAc,CAACa,KAAK,CAAC5B,IAAI,CAAC;UAC7B,GAAG4B,KAAK,CAAC3B;QACX,CAAC,GACD2B,KAAK,CAAC3B;MACd,CAAC,CACL,CAAC,IAAI,EAAE;MAEX,IAAIsB,MAAM,CAACO,MAAM,KAAK,CAAC,EAAE;QACvB,MAAMd,gBAAgB,GACpBP,OAAO,CAACO,gBAAgB,KAAKC,SAAS,GAClCR,OAAO,CAACO,gBAAgB,GACxBF,UAAU,CAAC,CAAC,CAAC;QAEnBS,MAAM,CAACnB,IAAI,CAAC;UACVgB,GAAG,EAAE,GAAGJ,gBAAgB,IAAItB,MAAM,CAAC,CAAC,EAAE;UACtCM,IAAI,EAAEgB,gBAAgB;UACtBf,MAAM,EAAEc,cAAc,CAACC,gBAAgB;QACzC,CAAC,CAAC;MACJ;MAEA,OAAO;QACLG,KAAK,EAAE,KAAK;QACZjB,IAAI,EAAE,OAAO;QACbkB,GAAG,EAAE,SAAS1B,MAAM,CAAC,CAAC,EAAE;QACxB2B,KAAK,EAAEE,MAAM,CAACO,MAAM,GAAG,CAAC;QACxBhB,UAAU;QACVS,MAAM;QACND;MACF,CAAC;IACH,CAAC;IAEDS,2BAA2BA,CACzBL,KAAK,EACL;MAAEZ,UAAU;MAAEC,cAAc;MAAEiB;IAAgB,CAAC,EAC/C;MACA,MAAMT,MAAM,GAAGG,KAAK,CAACH,MAAM,CAACI,MAAM,CAC/BC,KAAK,IACJd,UAAU,CAACI,QAAQ,CAACU,KAAK,CAAC5B,IAAI,CAAC,IAC/B,CAACgC,eAAe,CAACd,QAAQ,CAACU,KAAK,CAAC5B,IAAI,CACxC,CAAC;MAED,IAAIuB,MAAM,CAACO,MAAM,KAAK,CAAC,EAAE;QACvB,MAAMd,gBAAgB,GACpBP,OAAO,CAACO,gBAAgB,KAAKC,SAAS,IACtCH,UAAU,CAACI,QAAQ,CAACT,OAAO,CAACO,gBAAgB,CAAC,GACzCP,OAAO,CAACO,gBAAgB,GACxBF,UAAU,CAAC,CAAC,CAAC;QAEnBS,MAAM,CAACnB,IAAI,CAAC;UACVgB,GAAG,EAAE,GAAGJ,gBAAgB,IAAItB,MAAM,CAAC,CAAC,EAAE;UACtCM,IAAI,EAAEgB,gBAAgB;UACtBf,MAAM,EAAEc,cAAc,CAACC,gBAAgB;QACzC,CAAC,CAAC;MACJ;MAEA,OAAO;QACL,GAAGU,KAAK;QACRZ,UAAU;QACVS,MAAM;QACNF,KAAK,EAAEY,IAAI,CAACC,GAAG,CAACR,KAAK,CAACL,KAAK,EAAEE,MAAM,CAACO,MAAM,GAAG,CAAC;MAChD,CAAC;IACH,CAAC;IAEDK,qBAAqBA,CAACT,KAAK,EAAEN,GAAG,EAAE;MAChC,MAAMC,KAAK,GAAGK,KAAK,CAACH,MAAM,CAACa,SAAS,CAAEC,CAAC,IAAKA,CAAC,CAACjB,GAAG,KAAKA,GAAG,CAAC;MAE1D,IAAIC,KAAK,KAAK,CAAC,CAAC,IAAIA,KAAK,KAAKK,KAAK,CAACL,KAAK,EAAE;QACzC,OAAOK,KAAK;MACd;MAEA,OAAO;QACL,GAAGA,KAAK;QACRL,KAAK;QACLE,MAAM,EAAEG,KAAK,CAACH,MAAM,CAACe,KAAK,CAAC,CAAC,EAAEjB,KAAK,GAAG,CAAC;MACzC,CAAC;IACH,CAAC;IAEDkB,iBAAiBA,CAACb,KAAK,EAAEc,MAAM,EAAE/B,OAAO,EAAE;MACxC,MAAM;QAAEM;MAAe,CAAC,GAAGN,OAAO;MAElC,QAAQ+B,MAAM,CAACtC,IAAI;QACjB,KAAK,SAAS;UAAE;YACd,MAAMuC,YAAY,GAChBD,MAAM,CAACE,MAAM,KAAKhB,KAAK,CAACN,GAAG,IAAIoB,MAAM,CAACG,MAAM,GACxCjB,KAAK,CAACH,MAAM,CAACa,SAAS,CAAEC,CAAC,IAAKA,CAAC,CAACjB,GAAG,KAAKoB,MAAM,CAACG,MAAM,CAAC,GACtDjB,KAAK,CAACL,KAAK;YAEjB,IAAIoB,YAAY,KAAK,CAAC,CAAC,EAAE;cACvB,OAAO,IAAI;YACb;YAEA,IAAI,CAACf,KAAK,CAACZ,UAAU,CAACI,QAAQ,CAACsB,MAAM,CAACrC,OAAO,CAACH,IAAI,CAAC,EAAE;cACnD,OAAO,IAAI;YACb;YAEA,MAAM4C,KAAK,GAAGnC,OAAO,CAACoC,cAAc,CAACL,MAAM,CAACrC,OAAO,CAACH,IAAI,CAAC;YACzD,MAAM8C,EAAE,GAAGF,KAAK,GAAG;cAAE3C,MAAM,EAAEuC,MAAM,CAACrC,OAAO,CAACF;YAAO,CAAC,CAAC;;YAErD;YACA,IAAI2B,KAAK,GAAGF,KAAK,CAACJ,eAAe,CAACyB,IAAI,CACnCnB,KAAK,IACJA,KAAK,CAAC5B,IAAI,KAAKwC,MAAM,CAACrC,OAAO,CAACH,IAAI,IAClC8C,EAAE,KAAKF,KAAK,GAAG;cAAE3C,MAAM,EAAE2B,KAAK,CAAC3B;YAAO,CAAC,CAC3C,CAAC;YAED,IAAI,CAAC2B,KAAK,EAAE;cACVA,KAAK,GAAG/B,qBAAqB,CAAC;gBAAE2C,MAAM;gBAAEzB;cAAe,CAAC,CAAC;YAC3D;YAEA,OAAO;cACL,GAAGW,KAAK;cACRH,MAAM,EAAEG,KAAK,CAACH,MAAM,CAACM,GAAG,CAAC,CAACQ,CAAC,EAAEW,CAAC,KAC5BA,CAAC,KAAKP,YAAY,GAAGb,KAAK,GAAGS,CAC/B,CAAC;cACDf,eAAe,EAAEI,KAAK,CAACJ,eAAe,CAACK,MAAM,CAC1CU,CAAC,IAAKA,CAAC,CAACjB,GAAG,KAAKQ,KAAK,CAACR,GACzB;YACF,CAAC;UACH;QAEA,KAAK,MAAM;QACX,KAAK,UAAU;UAAE;YACf,IAAI,CAACM,KAAK,CAACZ,UAAU,CAACI,QAAQ,CAACsB,MAAM,CAACrC,OAAO,CAACH,IAAI,CAAC,EAAE;cACnD,OAAO,IAAI;YACb;YAEA,MAAM4C,KAAK,GAAGnC,OAAO,CAACoC,cAAc,CAACL,MAAM,CAACrC,OAAO,CAACH,IAAI,CAAC;YACzD,MAAM8C,EAAE,GAAGF,KAAK,GAAG;cAAE3C,MAAM,EAAEuC,MAAM,CAACrC,OAAO,CAACF;YAAO,CAAC,CAAC;YAErD,IAAI2B,KAAgC;YAEpC,IAAIkB,EAAE,KAAK7B,SAAS,EAAE;cACpBW,KAAK,GAAGF,KAAK,CAACH,MAAM,CAAC0B,QAAQ,CAC1BrB,KAAK,IACJA,KAAK,CAAC5B,IAAI,KAAKwC,MAAM,CAACrC,OAAO,CAACH,IAAI,IAClC8C,EAAE,KAAKF,KAAK,GAAG;gBAAE3C,MAAM,EAAE2B,KAAK,CAAC3B;cAAO,CAAC,CAC3C,CAAC;YACH,CAAC,MAAM,IAAIuC,MAAM,CAACtC,IAAI,KAAK,UAAU,EAAE;cACrC,MAAMgD,YAAY,GAAGxB,KAAK,CAACH,MAAM,CAACG,KAAK,CAACL,KAAK,CAAC;;cAE9C;cACA,IAAImB,MAAM,CAACrC,OAAO,CAACH,IAAI,KAAKkD,YAAY,CAAClD,IAAI,EAAE;gBAC7C4B,KAAK,GAAGsB,YAAY;cACtB,CAAC,MAAM,IAAIV,MAAM,CAACrC,OAAO,CAACE,GAAG,EAAE;gBAC7BuB,KAAK,GAAGF,KAAK,CAACH,MAAM,CAAC0B,QAAQ,CAC1BrB,KAAK,IAAKA,KAAK,CAAC5B,IAAI,KAAKwC,MAAM,CAACrC,OAAO,CAACH,IAC3C,CAAC;cACH;YACF;YAEA,IAAI,CAAC4B,KAAK,EAAE;cACVA,KAAK,GAAGF,KAAK,CAACJ,eAAe,CAACyB,IAAI,CAC/BnB,KAAK,IACJA,KAAK,CAAC5B,IAAI,KAAKwC,MAAM,CAACrC,OAAO,CAACH,IAAI,IAClC8C,EAAE,KAAKF,KAAK,GAAG;gBAAE3C,MAAM,EAAE2B,KAAK,CAAC3B;cAAO,CAAC,CAC3C,CAAC;YACH;YAEA,IAAIA,MAAM;YAEV,IAAIuC,MAAM,CAACtC,IAAI,KAAK,UAAU,IAAIsC,MAAM,CAACrC,OAAO,CAACO,KAAK,IAAIkB,KAAK,EAAE;cAC/D3B,MAAM,GACJuC,MAAM,CAACrC,OAAO,CAACF,MAAM,KAAKgB,SAAS,IACnCF,cAAc,CAACyB,MAAM,CAACrC,OAAO,CAACH,IAAI,CAAC,KAAKiB,SAAS,GAC7C;gBACE,GAAGF,cAAc,CAACyB,MAAM,CAACrC,OAAO,CAACH,IAAI,CAAC;gBACtC,GAAG4B,KAAK,CAAC3B,MAAM;gBACf,GAAGuC,MAAM,CAACrC,OAAO,CAACF;cACpB,CAAC,GACD2B,KAAK,CAAC3B,MAAM;YACpB,CAAC,MAAM;cACLA,MAAM,GAAGL,sBAAsB,CAAC;gBAAE4C,MAAM;gBAAEzB;cAAe,CAAC,CAAC;YAC7D;YAEA,IAAIQ,MAAuB;YAE3B,IAAIK,KAAK,EAAE;cACT,IAAIY,MAAM,CAACtC,IAAI,KAAK,UAAU,IAAIsC,MAAM,CAACrC,OAAO,CAACE,GAAG,EAAE;gBACpDkB,MAAM,GAAG,EAAE;;gBAEX;gBACA,KAAK,MAAMc,CAAC,IAAIX,KAAK,CAACH,MAAM,EAAE;kBAC5B,IAAIc,CAAC,CAACjB,GAAG,KAAKQ,KAAK,CAACR,GAAG,EAAE;oBACvBG,MAAM,CAACnB,IAAI,CAAC;sBACV,GAAGwB,KAAK;sBACRuB,IAAI,EACFX,MAAM,CAACrC,OAAO,CAACgD,IAAI,KAAKlC,SAAS,GAC7BuB,MAAM,CAACrC,OAAO,CAACgD,IAAI,GACnBvB,KAAK,CAACuB,IAAI;sBAChBlD;oBACF,CAAC,CAAC;oBACF;kBACF;kBAEAsB,MAAM,CAACnB,IAAI,CAACiC,CAAC,CAAC;gBAChB;cACF,CAAC,MAAM;gBACLd,MAAM,GAAGG,KAAK,CAACH,MAAM,CAACI,MAAM,CAAEU,CAAC,IAAKA,CAAC,CAACjB,GAAG,KAAKQ,KAAK,CAACR,GAAG,CAAC;gBACxDG,MAAM,CAACnB,IAAI,CAAC;kBACV,GAAGwB,KAAK;kBACRuB,IAAI,EACFX,MAAM,CAACtC,IAAI,KAAK,UAAU,IAC1BsC,MAAM,CAACrC,OAAO,CAACgD,IAAI,KAAKlC,SAAS,GAC7BuB,MAAM,CAACrC,OAAO,CAACgD,IAAI,GACnBvB,KAAK,CAACuB,IAAI;kBAChBlD;gBACF,CAAC,CAAC;cACJ;YACF,CAAC,MAAM;cACLsB,MAAM,GAAG,CACP,GAAGG,KAAK,CAACH,MAAM,EACf;gBACEH,GAAG,EAAE,GAAGoB,MAAM,CAACrC,OAAO,CAACH,IAAI,IAAIN,MAAM,CAAC,CAAC,EAAE;gBACzCM,IAAI,EAAEwC,MAAM,CAACrC,OAAO,CAACH,IAAI;gBACzBmD,IAAI,EACFX,MAAM,CAACtC,IAAI,KAAK,UAAU,GAAGsC,MAAM,CAACrC,OAAO,CAACgD,IAAI,GAAGlC,SAAS;gBAC9DhB;cACF,CAAC,CACF;YACH;YAEA,OAAO;cACL,GAAGyB,KAAK;cACRL,KAAK,EAAEE,MAAM,CAACO,MAAM,GAAG,CAAC;cACxBR,eAAe,EAAEI,KAAK,CAACJ,eAAe,CAACK,MAAM,CAC1CC,KAAK,IAAKL,MAAM,CAACA,MAAM,CAACO,MAAM,GAAG,CAAC,CAAC,CAACV,GAAG,KAAKQ,KAAK,CAACR,GACrD,CAAC;cACDG;YACF,CAAC;UACH;QAEA,KAAK,KAAK;UAAE;YACV,IAAIkB,YAAY,GACdD,MAAM,CAACE,MAAM,KAAKhB,KAAK,CAACN,GAAG,IAAIoB,MAAM,CAACG,MAAM,GACxCjB,KAAK,CAACH,MAAM,CAACa,SAAS,CAAEC,CAAC,IAAKA,CAAC,CAACjB,GAAG,KAAKoB,MAAM,CAACG,MAAM,CAAC,GACtDjB,KAAK,CAACL,KAAK;YAEjB,IAAIO,KAAK,GAAGF,KAAK,CAACH,MAAM,CAACkB,YAAY,CAAC;;YAEtC;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;YACU,IAAIb,KAAK,CAACwB,OAAO,EAAEtB,MAAM,IAAIW,YAAY,GAAG,CAAC,EAAE;cAC7C,IAAInC,KAAK,GAAGkC,MAAM,CAACrC,OAAO,CAACG,KAAK;cAChC,IAAIiB,MAAM,GAAGG,KAAK,CAACH,MAAM;cAEzB,OAAOjB,KAAK,GAAG,CAAC,KAAKsB,KAAK,CAACwB,OAAO,EAAEtB,MAAM,IAAIW,YAAY,GAAG,CAAC,CAAC,EAAE;gBAC/D,IAAIb,KAAK,CAACwB,OAAO,EAAEtB,MAAM,EAAE;kBACzBP,MAAM,GAAG,CAAC,GAAGA,MAAM,CAAC;kBAEpB,MAAM8B,GAAG,GAAGpB,IAAI,CAACC,GAAG,CAAC5B,KAAK,EAAEsB,KAAK,CAACwB,OAAO,CAACtB,MAAM,CAAC;kBACjD,MAAMwB,IAAI,GAAG1B,KAAK,CAACwB,OAAO,CAACG,EAAE,CAAC,CAACF,GAAG,CAAC;kBACnC,MAAMD,OAAO,GAAGxB,KAAK,CAACwB,OAAO,CAACd,KAAK,CAAC,CAAC,EAAE,CAACe,GAAG,CAAC;kBAC5C,MAAMG,OAAO,GAAG5B,KAAK,CAACwB,OAAO,CAACtB,MAAM,GAAGsB,OAAO,CAACtB,MAAM;kBAErDxB,KAAK,GAAGA,KAAK,GAAGkD,OAAO;kBAEvBjC,MAAM,CAACkB,YAAY,CAAC,GAAG;oBACrB,GAAGb,KAAK;oBACR3B,MAAM,EAAEqD,IAAI,EAAEpD,IAAI,KAAK,QAAQ,GAAGoD,IAAI,CAACrD,MAAM,GAAG2B,KAAK,CAAC3B,MAAM;oBAC5DmD;kBACF,CAAC;gBACH;gBAEA,IAAIX,YAAY,GAAG,CAAC,IAAInC,KAAK,GAAG,CAAC,EAAE;kBACjC,MAAMwB,MAAM,GAAGP,MAAM,CAACO,MAAM;kBAC5B,MAAMuB,GAAG,GAAGpB,IAAI,CAACwB,GAAG,CAAChB,YAAY,GAAGnC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;kBAEjDiB,MAAM,GAAGA,MAAM,CACZe,KAAK,CAAC,CAAC,EAAEe,GAAG,CAAC,CACbK,MAAM,CAACnC,MAAM,CAACe,KAAK,CAACG,YAAY,GAAG,CAAC,CAAC,CAAC;kBAEzC,MAAMe,OAAO,GAAG1B,MAAM,GAAGP,MAAM,CAACO,MAAM;kBAEtCxB,KAAK,GAAGA,KAAK,GAAGkD,OAAO;kBACvBf,YAAY,GAAGlB,MAAM,CAACO,MAAM,GAAG,CAAC;kBAChCF,KAAK,GAAGL,MAAM,CAACkB,YAAY,CAAC;gBAC9B;cACF;cAEA,OAAO;gBACL,GAAGf,KAAK;gBACRL,KAAK,EAAEE,MAAM,CAACO,MAAM,GAAG,CAAC;gBACxBP;cACF,CAAC;YACH;YAEA,OAAO,IAAI;UACb;QAEA,KAAK,YAAY;UAAE;YACjB,IAAIK,KAAK,GAAGF,KAAK,CAACH,MAAM,CAAC,CAAC,CAAC;YAE3B,IAAIG,KAAK,CAACL,KAAK,GAAG,CAAC,IAAIO,KAAK,CAACwB,OAAO,EAAEtB,MAAM,EAAE;cAC5C,IAAIF,KAAK,CAACwB,OAAO,EAAEtB,MAAM,EAAE;gBACzBF,KAAK,GAAG;kBACN,GAAGA,KAAK;kBACRwB,OAAO,EAAEnC;gBACX,CAAC;cACH;cAEA,OAAO;gBACL,GAAGS,KAAK;gBACRL,KAAK,EAAE,CAAC;gBACRE,MAAM,EAAE,CAACK,KAAK;cAChB,CAAC;YACH;YAEA,OAAO,IAAI;UACb;QAEA,KAAK,QAAQ;UAAE;YACb,MAAMa,YAAY,GAChBD,MAAM,CAACE,MAAM,KAAKhB,KAAK,CAACN,GAAG,IAAIoB,MAAM,CAACG,MAAM,GACxCjB,KAAK,CAACH,MAAM,CAACoC,aAAa,CAAEtB,CAAC,IAAKA,CAAC,CAACjB,GAAG,KAAKoB,MAAM,CAACG,MAAM,CAAC,GAC1DjB,KAAK,CAACL,KAAK;YAEjB,IAAIoB,YAAY,KAAK,CAAC,CAAC,EAAE;cACvB,OAAO,IAAI;YACb;YAEA,IAAI,CAACf,KAAK,CAACZ,UAAU,CAACI,QAAQ,CAACsB,MAAM,CAACrC,OAAO,CAACH,IAAI,CAAC,EAAE;cACnD,OAAO,IAAI;YACb;;YAEA;YACA,IAAIqB,KAAK,GAAG,CAAC,CAAC;YAEd,MAAMuB,KAAK,GAAGnC,OAAO,CAACoC,cAAc,CAACL,MAAM,CAACrC,OAAO,CAACH,IAAI,CAAC;YACzD,MAAM8C,EAAE,GAAGF,KAAK,GAAG;cAAE3C,MAAM,EAAEuC,MAAM,CAACrC,OAAO,CAACF;YAAO,CAAC,CAAC;YAErD,IAAI6C,EAAE,KAAK7B,SAAS,EAAE;cACpBI,KAAK,GAAGK,KAAK,CAACH,MAAM,CAACa,SAAS,CAC3BR,KAAK,IACJA,KAAK,CAAC5B,IAAI,KAAKwC,MAAM,CAACrC,OAAO,CAACH,IAAI,IAClC8C,EAAE,KAAKF,KAAK,GAAG;gBAAE3C,MAAM,EAAE2B,KAAK,CAAC3B;cAAO,CAAC,CAC3C,CAAC;YACH,CAAC,MAAM,IAAIyB,KAAK,CAACH,MAAM,CAACkB,YAAY,CAAC,CAACzC,IAAI,KAAKwC,MAAM,CAACrC,OAAO,CAACH,IAAI,EAAE;cAClEqB,KAAK,GAAGoB,YAAY;YACtB,CAAC,MAAM;cACL,KAAK,IAAIO,CAAC,GAAGP,YAAY,EAAEO,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;gBACtC,IAAItB,KAAK,CAACH,MAAM,CAACyB,CAAC,CAAC,CAAChD,IAAI,KAAKwC,MAAM,CAACrC,OAAO,CAACH,IAAI,EAAE;kBAChDqB,KAAK,GAAG2B,CAAC;kBACT;gBACF;cACF;YACF;;YAEA;YACA,IAAI3B,KAAK,KAAK,CAAC,CAAC,EAAE;cAChB;cACA,IAAIO,KAAK,GAAGF,KAAK,CAACJ,eAAe,CAACyB,IAAI,CACnCnB,KAAK,IACJA,KAAK,CAAC5B,IAAI,KAAKwC,MAAM,CAACrC,OAAO,CAACH,IAAI,IAClC8C,EAAE,KAAKF,KAAK,GAAG;gBAAE3C,MAAM,EAAE2B,KAAK,CAAC3B;cAAO,CAAC,CAC3C,CAAC;cAED,IAAI,CAAC2B,KAAK,EAAE;gBACVA,KAAK,GAAG/B,qBAAqB,CAAC;kBAAE2C,MAAM;kBAAEzB;gBAAe,CAAC,CAAC;cAC3D;cAEA,MAAMQ,MAAM,GAAGG,KAAK,CAACH,MAAM,CAACe,KAAK,CAAC,CAAC,EAAEG,YAAY,CAAC,CAACiB,MAAM,CAAC9B,KAAK,CAAC;cAEhE,OAAO;gBACL,GAAGF,KAAK;gBACRL,KAAK,EAAEE,MAAM,CAACO,MAAM,GAAG,CAAC;gBACxBP,MAAM;gBACND,eAAe,EAAEI,KAAK,CAACJ,eAAe,CAACK,MAAM,CAC1CU,CAAC,IAAKA,CAAC,CAACjB,GAAG,KAAKQ,KAAK,CAACR,GACzB;cACF,CAAC;YACH;YAEA,MAAMQ,KAAK,GAAGF,KAAK,CAACH,MAAM,CAACF,KAAK,CAAC;YAEjC,IAAIpB,MAAM;YAEV,IAAIuC,MAAM,CAACrC,OAAO,CAACO,KAAK,EAAE;cACxBT,MAAM,GACJuC,MAAM,CAACrC,OAAO,CAACF,MAAM,KAAKgB,SAAS,IACnCF,cAAc,CAACa,KAAK,CAAC5B,IAAI,CAAC,KAAKiB,SAAS,GACpC;gBACE,GAAGF,cAAc,CAACa,KAAK,CAAC5B,IAAI,CAAC;gBAC7B,GAAG4B,KAAK,CAAC3B,MAAM;gBACf,GAAGuC,MAAM,CAACrC,OAAO,CAACF;cACpB,CAAC,GACD2B,KAAK,CAAC3B,MAAM;YACpB,CAAC,MAAM;cACLA,MAAM,GAAGL,sBAAsB,CAAC;gBAAE4C,MAAM;gBAAEzB;cAAe,CAAC,CAAC;YAC7D;YAEA,OAAO;cACL,GAAGW,KAAK;cACRL,KAAK;cACLE,MAAM,EAAE,CACN,GAAGG,KAAK,CAACH,MAAM,CAACe,KAAK,CAAC,CAAC,EAAEjB,KAAK,CAAC,EAC/BpB,MAAM,KAAK2B,KAAK,CAAC3B,MAAM,GACnB;gBAAE,GAAG2B,KAAK;gBAAE3B;cAAO,CAAC,GACpByB,KAAK,CAACH,MAAM,CAACF,KAAK,CAAC;YAE3B,CAAC;UACH;QAEA,KAAK,SAAS;UACZ,IAAIK,KAAK,CAACL,KAAK,GAAG,CAAC,IAAIK,KAAK,CAACH,MAAM,CAACG,KAAK,CAACL,KAAK,CAAC,CAAC+B,OAAO,EAAEtB,MAAM,EAAE;YAChE,OAAOlB,MAAM,CAAC2B,iBAAiB,CAC7Bb,KAAK,EACL;cACExB,IAAI,EAAE,KAAK;cACXC,OAAO,EAAE;gBAAEG,KAAK,EAAE;cAAE,CAAC;cACrBoC,MAAM,EAAEF,MAAM,CAACE,MAAM;cACrBC,MAAM,EAAEH,MAAM,CAACG;YACjB,CAAC,EACDlC,OACF,CAAC;UACH;UAEA,OAAO,IAAI;QAEb,KAAK,SAAS;UAAE;YACd,MAAMmC,KAAK,GAAGnC,OAAO,CAACoC,cAAc,CAACL,MAAM,CAACrC,OAAO,CAACH,IAAI,CAAC;YACzD,MAAM8C,EAAE,GAAGF,KAAK,GAAG;cAAE3C,MAAM,EAAEuC,MAAM,CAACrC,OAAO,CAACF;YAAO,CAAC,CAAC;YAErD,IAAI2B,KAAgC;YAEpC,IAAIkB,EAAE,KAAK7B,SAAS,EAAE;cACpBW,KAAK,GAAGF,KAAK,CAACH,MAAM,CAACwB,IAAI,CACtBnB,KAAK,IACJA,KAAK,CAAC5B,IAAI,KAAKwC,MAAM,CAACrC,OAAO,CAACH,IAAI,IAClC8C,EAAE,KAAKF,KAAK,GAAG;gBAAE3C,MAAM,EAAE2B,KAAK,CAAC3B;cAAO,CAAC,CAC3C,CAAC;YACH;YAEA,IAAI2B,KAAK,EAAE;cACT,OAAO;gBACL,GAAGF,KAAK;gBACRH,MAAM,EAAEG,KAAK,CAACH,MAAM,CAACM,GAAG,CAAEQ,CAAC,IAAK;kBAC9B,IAAIA,CAAC,CAACjB,GAAG,KAAKQ,KAAK,EAAER,GAAG,EAAE;oBACxB,OAAOiB,CAAC;kBACV;kBACA,OAAO;oBACL,GAAGA,CAAC;oBACJpC,MAAM,EAAEL,sBAAsB,CAAC;sBAAE4C,MAAM;sBAAEzB;oBAAe,CAAC;kBAC3D,CAAC;gBACH,CAAC;cACH,CAAC;YACH,CAAC,MAAM;cACL,OAAO;gBACL,GAAGW,KAAK;gBACRJ,eAAe,EAAEI,KAAK,CAACJ,eAAe,CACnCK,MAAM,CACJU,CAAC,IACAA,CAAC,CAACrC,IAAI,KAAKwC,MAAM,CAACrC,OAAO,CAACH,IAAI,IAC9B8C,EAAE,KAAKF,KAAK,GAAG;kBAAE3C,MAAM,EAAEoC,CAAC,CAACpC;gBAAO,CAAC,CACvC,CAAC,CACAyD,MAAM,CAAC7D,qBAAqB,CAAC;kBAAE2C,MAAM;kBAAEzB;gBAAe,CAAC,CAAC;cAC7D,CAAC;YACH;UACF;QAEA;UACE,OAAOpB,UAAU,CAAC4C,iBAAiB,CAACb,KAAK,EAAEc,MAAM,CAAC;MACtD;IACF,CAAC;IAEDoB,kBAAkBA,CAAClC,KAAK,EAAE;MACxB,OAAO,CAAC,GAAGA,KAAK,CAACH,MAAM,EAAE,GAAGG,KAAK,CAACJ,eAAe,CAAC;IACpD,CAAC;IAEDuC,cAAc,EAAE/D;EAClB,CAAC;EAED,OAAOc,MAAM;AACf","ignoreList":[]}
1
+ {"version":3,"names":["nanoid","BaseRouter","createParamsFromAction","createRouteFromAction","StackActions","replace","name","params","type","payload","push","pop","count","popToTop","popTo","options","merge","StackRouter","router","getInitialState","routeNames","routeParamList","initialRouteName","undefined","includes","stale","key","index","preloadedRoutes","routes","getRehydratedState","partialState","state","filter","route","map","length","getStateForRouteNamesChange","routeKeyChanges","Math","min","getStateForRouteFocus","findIndex","r","slice","getStateForAction","action","currentIndex","target","source","getId","routeGetIdList","id","find","i","currentRoute","history","j","findLast","path","end","last","at","removed","max","concat","findLastIndex","historyIndex","baseParams","getRoutesFromState","actionCreators"],"sourceRoot":"../../src","sources":["StackRouter.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"StackRouter.d.ts","sourceRoot":"","sources":["../../../src/StackRouter.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StackRouter.d.ts","sourceRoot":"","sources":["../../../src/StackRouter.tsx"],"names":[],"mappings":"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"}
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": "8.0.0-alpha.1",
4
+ "version": "8.0.0-alpha.2",
5
5
  "keywords": [
6
6
  "react",
7
7
  "react-native",
@@ -67,5 +67,5 @@
67
67
  ]
68
68
  ]
69
69
  },
70
- "gitHead": "9664da8fff3bd7ed575bf12ddfcc47b3a42be997"
70
+ "gitHead": "faad2ee23945a5a27090cfb837a35d1db25147ab"
71
71
  }
@@ -356,22 +356,58 @@ export function StackRouter(options: StackRouterOptions) {
356
356
 
357
357
  let route: Route<string> | undefined;
358
358
 
359
- if (id !== undefined) {
360
- route = state.routes.findLast(
361
- (route) =>
362
- route.name === action.payload.name &&
363
- id === getId?.({ params: route.params })
364
- );
365
- } else if (action.type === 'NAVIGATE') {
359
+ if (action.type === 'NAVIGATE') {
366
360
  const currentRoute = state.routes[state.index];
367
361
 
368
- // If the route matches the current one, then navigate to it
369
- if (action.payload.name === currentRoute.name) {
370
- route = currentRoute;
371
- } else if (action.payload.pop) {
372
- route = state.routes.findLast(
373
- (route) => route.name === action.payload.name
374
- );
362
+ if (id !== undefined) {
363
+ if (
364
+ currentRoute.name === action.payload.name &&
365
+ id === getId?.({ params: currentRoute.params })
366
+ ) {
367
+ route = currentRoute;
368
+ } else if (action.payload.pop) {
369
+ for (let i = state.routes.length - 1; i >= 0; i--) {
370
+ const r = state.routes[i];
371
+
372
+ if (r.name !== action.payload.name) {
373
+ continue;
374
+ }
375
+
376
+ if (id === getId?.({ params: r.params })) {
377
+ route = r;
378
+ break;
379
+ }
380
+
381
+ if (r.history?.length) {
382
+ for (let j = r.history.length - 1; j >= 0; j--) {
383
+ if (
384
+ r.history[j].type === 'params' &&
385
+ id === getId?.({ params: r.history[j].params })
386
+ ) {
387
+ route = {
388
+ ...r,
389
+ params: r.history[j].params,
390
+ history: r.history.slice(0, j),
391
+ };
392
+ break;
393
+ }
394
+ }
395
+
396
+ if (route) {
397
+ break;
398
+ }
399
+ }
400
+ }
401
+ }
402
+ } else {
403
+ // If the route matches the current one, then navigate to it
404
+ if (action.payload.name === currentRoute.name) {
405
+ route = currentRoute;
406
+ } else if (action.payload.pop) {
407
+ route = state.routes.findLast(
408
+ (route) => route.name === action.payload.name
409
+ );
410
+ }
375
411
  }
376
412
  }
377
413
 
@@ -558,16 +594,41 @@ export function StackRouter(options: StackRouterOptions) {
558
594
 
559
595
  // If the route already exists, navigate to it
560
596
  let index = -1;
597
+ let historyIndex: number | undefined;
561
598
 
562
599
  const getId = options.routeGetIdList[action.payload.name];
563
600
  const id = getId?.({ params: action.payload.params });
564
601
 
565
602
  if (id !== undefined) {
566
- index = state.routes.findIndex(
567
- (route) =>
568
- route.name === action.payload.name &&
569
- id === getId?.({ params: route.params })
570
- );
603
+ for (let i = currentIndex; i >= 0; i--) {
604
+ const r = state.routes[i];
605
+
606
+ if (r.name !== action.payload.name) {
607
+ continue;
608
+ }
609
+
610
+ if (id === getId?.({ params: r.params })) {
611
+ index = i;
612
+ break;
613
+ }
614
+
615
+ if (r.history?.length) {
616
+ for (let j = r.history.length - 1; j >= 0; j--) {
617
+ if (
618
+ r.history[j].type === 'params' &&
619
+ id === getId?.({ params: r.history[j].params })
620
+ ) {
621
+ index = i;
622
+ historyIndex = j;
623
+ break;
624
+ }
625
+ }
626
+
627
+ if (index !== -1) {
628
+ break;
629
+ }
630
+ }
631
+ }
571
632
  } else if (state.routes[currentIndex].name === action.payload.name) {
572
633
  index = currentIndex;
573
634
  } else {
@@ -606,6 +667,14 @@ export function StackRouter(options: StackRouterOptions) {
606
667
 
607
668
  const route = state.routes[index];
608
669
 
670
+ let baseParams = route.params;
671
+ let history = route.history;
672
+
673
+ if (historyIndex !== undefined && route.history) {
674
+ baseParams = route.history[historyIndex].params;
675
+ history = route.history.slice(0, historyIndex);
676
+ }
677
+
609
678
  let params;
610
679
 
611
680
  if (action.payload.merge) {
@@ -614,10 +683,10 @@ export function StackRouter(options: StackRouterOptions) {
614
683
  routeParamList[route.name] !== undefined
615
684
  ? {
616
685
  ...routeParamList[route.name],
617
- ...route.params,
686
+ ...baseParams,
618
687
  ...action.payload.params,
619
688
  }
620
- : route.params;
689
+ : baseParams;
621
690
  } else {
622
691
  params = createParamsFromAction({ action, routeParamList });
623
692
  }
@@ -627,8 +696,8 @@ export function StackRouter(options: StackRouterOptions) {
627
696
  index,
628
697
  routes: [
629
698
  ...state.routes.slice(0, index),
630
- params !== route.params
631
- ? { ...route, params }
699
+ params !== baseParams || historyIndex !== undefined
700
+ ? { ...route, params, history }
632
701
  : state.routes[index],
633
702
  ],
634
703
  };