@react-navigation/core 8.0.0-alpha.26 → 8.0.0-alpha.27

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.
Files changed (84) hide show
  1. package/lib/module/BaseNavigationContainer.js +12 -6
  2. package/lib/module/BaseNavigationContainer.js.map +1 -1
  3. package/lib/module/ConsumedParamsContext.js.map +1 -1
  4. package/lib/module/DataLoading.js +29 -4
  5. package/lib/module/DataLoading.js.map +1 -1
  6. package/lib/module/NavigationIndependentTree.js +8 -4
  7. package/lib/module/NavigationIndependentTree.js.map +1 -1
  8. package/lib/module/SceneView.js +16 -39
  9. package/lib/module/SceneView.js.map +1 -1
  10. package/lib/module/StaticNavigation.js +4 -3
  11. package/lib/module/StaticNavigation.js.map +1 -1
  12. package/lib/module/findFocusedRoute.js +1 -1
  13. package/lib/module/findFocusedRoute.js.map +1 -1
  14. package/lib/module/getActionFromState.js +1 -2
  15. package/lib/module/getActionFromState.js.map +1 -1
  16. package/lib/module/getPathFromState.js +41 -26
  17. package/lib/module/getPathFromState.js.map +1 -1
  18. package/lib/module/getPatternParts.js +15 -2
  19. package/lib/module/getPatternParts.js.map +1 -1
  20. package/lib/module/getStateFromPath.js +45 -19
  21. package/lib/module/getStateFromPath.js.map +1 -1
  22. package/lib/module/index.js +1 -0
  23. package/lib/module/index.js.map +1 -1
  24. package/lib/module/useFocusEvents.js +6 -2
  25. package/lib/module/useFocusEvents.js.map +1 -1
  26. package/lib/module/useLazyValue.js.map +1 -1
  27. package/lib/module/useNavigationBuilder.js +8 -6
  28. package/lib/module/useNavigationBuilder.js.map +1 -1
  29. package/lib/module/useOnAction.js +6 -16
  30. package/lib/module/useOnAction.js.map +1 -1
  31. package/lib/module/useOnPreventRemove.js +1 -3
  32. package/lib/module/useOnPreventRemove.js.map +1 -1
  33. package/lib/module/useRouteCache.js +1 -3
  34. package/lib/module/useRouteCache.js.map +1 -1
  35. package/lib/module/useSyncState.js +3 -2
  36. package/lib/module/useSyncState.js.map +1 -1
  37. package/lib/typescript/src/BaseNavigationContainer.d.ts.map +1 -1
  38. package/lib/typescript/src/ConsumedParamsContext.d.ts +1 -6
  39. package/lib/typescript/src/ConsumedParamsContext.d.ts.map +1 -1
  40. package/lib/typescript/src/DataLoading.d.ts +1 -0
  41. package/lib/typescript/src/DataLoading.d.ts.map +1 -1
  42. package/lib/typescript/src/NavigationIndependentTree.d.ts.map +1 -1
  43. package/lib/typescript/src/SceneView.d.ts.map +1 -1
  44. package/lib/typescript/src/StaticNavigation.d.ts +39 -30
  45. package/lib/typescript/src/StaticNavigation.d.ts.map +1 -1
  46. package/lib/typescript/src/getPathFromState.d.ts.map +1 -1
  47. package/lib/typescript/src/getPatternParts.d.ts.map +1 -1
  48. package/lib/typescript/src/getStateFromPath.d.ts.map +1 -1
  49. package/lib/typescript/src/index.d.ts +2 -1
  50. package/lib/typescript/src/index.d.ts.map +1 -1
  51. package/lib/typescript/src/types.d.ts +2 -2
  52. package/lib/typescript/src/types.d.ts.map +1 -1
  53. package/lib/typescript/src/useFocusEvents.d.ts.map +1 -1
  54. package/lib/typescript/src/useLazyValue.d.ts.map +1 -1
  55. package/lib/typescript/src/useNavigationBuilder.d.ts.map +1 -1
  56. package/lib/typescript/src/useOnAction.d.ts.map +1 -1
  57. package/lib/typescript/src/useOnPreventRemove.d.ts.map +1 -1
  58. package/lib/typescript/src/useRouteCache.d.ts.map +1 -1
  59. package/lib/typescript/src/useSyncState.d.ts.map +1 -1
  60. package/lib/typescript/src/utilities.d.ts +10 -0
  61. package/lib/typescript/src/utilities.d.ts.map +1 -1
  62. package/package.json +5 -5
  63. package/src/BaseNavigationContainer.tsx +13 -7
  64. package/src/ConsumedParamsContext.tsx +1 -6
  65. package/src/DataLoading.tsx +68 -4
  66. package/src/NavigationIndependentTree.tsx +8 -5
  67. package/src/SceneView.tsx +18 -52
  68. package/src/StaticNavigation.tsx +88 -64
  69. package/src/findFocusedRoute.tsx +1 -1
  70. package/src/getActionFromState.tsx +7 -3
  71. package/src/getPathFromState.tsx +59 -32
  72. package/src/getPatternParts.tsx +15 -2
  73. package/src/getStateFromPath.tsx +77 -17
  74. package/src/index.tsx +5 -0
  75. package/src/types.tsx +2 -2
  76. package/src/useDescriptors.tsx +1 -1
  77. package/src/useFocusEvents.tsx +7 -5
  78. package/src/useLazyValue.tsx +2 -2
  79. package/src/useNavigationBuilder.tsx +12 -7
  80. package/src/useOnAction.tsx +11 -40
  81. package/src/useOnPreventRemove.tsx +4 -3
  82. package/src/useRouteCache.tsx +1 -4
  83. package/src/useSyncState.tsx +3 -2
  84. package/src/utilities.tsx +19 -0
@@ -4,6 +4,7 @@ import queryString from 'query-string';
4
4
  import { getPatternParts } from "./getPatternParts.js";
5
5
  import { getStateFromRouteParams } from "./getStateFromRouteParams.js";
6
6
  import { validatePathConfig } from "./validatePathConfig.js";
7
+ const serializeParamValue = value => value === null ? null : Array.isArray(value) ? value.map(String) : String(value);
7
8
  const encodePathParam = value => {
8
9
  let result = '';
9
10
  for (const char of value) {
@@ -92,7 +93,6 @@ export function getPathFromState(state, options) {
92
93
  const focusedRoute = getActiveRoute(state, configs, getRouteState);
93
94
  let path = '/';
94
95
  let current = state;
95
- const allParams = {};
96
96
  while (current) {
97
97
  let index = typeof current.index === 'number' ? current.index : 0;
98
98
  const initialRoute = current.routes[index];
@@ -101,6 +101,10 @@ export function getPathFromState(state, options) {
101
101
  }
102
102
  let route = initialRoute;
103
103
  let parts;
104
+
105
+ // Values for each pattern part object, so the same param name
106
+ // at different nesting levels gets the value from its own level
107
+ const partValues = new Map();
104
108
  let focusedParams;
105
109
  let currentOptions = configs;
106
110
 
@@ -113,6 +117,7 @@ export function getPathFromState(state, options) {
113
117
  break;
114
118
  }
115
119
  parts = config.parts;
120
+ const ownParts = config.ownParts;
116
121
  nestedRouteNames.push(route.name);
117
122
  if (route.params) {
118
123
  const options = config;
@@ -122,7 +127,7 @@ export function getPathFromState(state, options) {
122
127
  const value = params[key];
123
128
  if (value === undefined) {
124
129
  let optional = false;
125
- for (const part of options.parts ?? []) {
130
+ for (const part of ownParts) {
126
131
  if (part.param === key) {
127
132
  optional = part.optional === true;
128
133
  break;
@@ -132,31 +137,37 @@ export function getPathFromState(state, options) {
132
137
  continue;
133
138
  }
134
139
  }
135
- const stringify = options.stringify?.[key] ?? String;
136
- currentParams[key] = stringify(value);
140
+ const stringify = options.stringify?.[key];
141
+ currentParams[key] = stringify ? stringify(value) : serializeParamValue(value);
137
142
  }
138
- if (parts?.length) {
139
- Object.assign(allParams, currentParams);
143
+ const claimedParams = new Set();
144
+ for (const part of ownParts) {
145
+ if (part.param && part.param in currentParams) {
146
+ const value = currentParams[part.param];
147
+ if (value !== undefined) {
148
+ partValues.set(part, value);
149
+ claimedParams.add(part.param);
150
+ }
151
+ }
140
152
  }
141
153
  if (focusedRoute === route) {
142
154
  // If this is the focused route, keep the params for later use
143
155
  // We save it here since it's been stringified already
156
+ // Params claimed by the pattern shouldn't be repeated in the query string
144
157
  focusedParams = {};
145
158
  for (const key in currentParams) {
146
- let inPattern = false;
147
- for (const part of parts ?? []) {
148
- if (part.param === key) {
149
- inPattern = true;
150
- break;
151
- }
152
- }
153
159
  const value = currentParams[key];
154
- if (!inPattern && value !== undefined && value !== 'undefined') {
160
+ if (!claimedParams.has(key) && value !== undefined && value !== 'undefined') {
155
161
  focusedParams[key] = value;
156
162
  }
157
163
  }
158
164
  }
159
165
  }
166
+ for (const part of ownParts) {
167
+ if (part.param && !partValues.has(part)) {
168
+ partValues.set(part, undefined);
169
+ }
170
+ }
160
171
 
161
172
  // If there is no `screens` property or no nested state, we return pattern
162
173
  const routeState = getRouteState(route, config);
@@ -184,11 +195,12 @@ export function getPathFromState(state, options) {
184
195
  if (currentOptions[route.name] != null) {
185
196
  if (parts) {
186
197
  let index = 0;
187
- for (const {
188
- segment,
189
- param,
190
- optional
191
- } of parts) {
198
+ for (const part of parts) {
199
+ const {
200
+ segment,
201
+ param,
202
+ optional
203
+ } = part;
192
204
  if (index > 0) {
193
205
  path += '/';
194
206
  }
@@ -204,7 +216,7 @@ export function getPathFromState(state, options) {
204
216
 
205
217
  // If the path has a pattern for a param, put the param in the path
206
218
  if (param) {
207
- const value = allParams[param];
219
+ const value = partValues.get(part);
208
220
  if (value === undefined && optional) {
209
221
  // Optional params without value assigned in route.params should be ignored
210
222
  continue;
@@ -225,7 +237,7 @@ export function getPathFromState(state, options) {
225
237
  focusedParams = {};
226
238
  const params = focusedRoute.params;
227
239
  for (const key in params) {
228
- const value = String(params[key]);
240
+ const value = serializeParamValue(params[key]);
229
241
  if (value !== 'undefined') {
230
242
  focusedParams[key] = value;
231
243
  }
@@ -262,15 +274,16 @@ export function getPathFromState(state, options) {
262
274
  }
263
275
  const createConfigItem = (config, parentParts) => {
264
276
  if (typeof config === 'string') {
265
- // If a string is specified as the value of the key(e.g. Foo: '/path'), use it as the pattern
266
- const parts = getPatternParts(config);
277
+ const ownParts = getPatternParts(config);
267
278
  if (parentParts) {
268
279
  return {
269
- parts: [...parentParts, ...parts]
280
+ parts: [...parentParts, ...ownParts],
281
+ ownParts
270
282
  };
271
283
  }
272
284
  return {
273
- parts
285
+ parts: ownParts,
286
+ ownParts
274
287
  };
275
288
  }
276
289
  if (config.exact && config.path === undefined) {
@@ -279,10 +292,12 @@ const createConfigItem = (config, parentParts) => {
279
292
 
280
293
  // If an object is specified as the value (e.g. Foo: { ... }),
281
294
  // It can have `path` property and `screens` prop which has nested configs
282
- const parts = config.exact !== true ? [...(parentParts || []), ...(config.path ? getPatternParts(config.path) : [])] : config.path ? getPatternParts(config.path) : undefined;
295
+ const ownParts = config.path ? getPatternParts(config.path) : [];
296
+ const parts = config.exact !== true ? [...(parentParts || []), ...ownParts] : ownParts.length ? ownParts : undefined;
283
297
  const screens = 'screens' in config && config.screens ? createNormalizedConfigs(config.screens, parts) : undefined;
284
298
  return {
285
299
  parts,
300
+ ownParts,
286
301
  stringify: config.stringify,
287
302
  screens
288
303
  };
@@ -1 +1 @@
1
- {"version":3,"names":["queryString","getPatternParts","getStateFromRouteParams","validatePathConfig","encodePathParam","value","result","char","charCode","charCodeAt","safe","includes","encodeURIComponent","getActiveRoute","state","configs","getRouteState","route","index","routes","length","Error","config","name","routeState","screens","cachedNormalizedConfigs","WeakMap","getNormalizedConfigs","options","cached","get","normalizedConfigs","createNormalizedConfigs","set","getPathFromState","String","cachedRouteStates","Map","hasScreenParams","params","screen","hasStateParams","undefined","has","focusedRoute","path","current","allParams","initialRoute","parts","focusedParams","currentOptions","nestedRouteNames","hasNext","push","currentParams","key","optional","part","param","stringify","Object","assign","inPattern","nextRoute","nestedConfig","segment","query","sort","replace","startsWith","createConfigItem","parentParts","exact"],"sourceRoot":"../../src","sources":["getPathFromState.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["queryString","getPatternParts","getStateFromRouteParams","validatePathConfig","serializeParamValue","value","Array","isArray","map","String","encodePathParam","result","char","charCode","charCodeAt","safe","includes","encodeURIComponent","getActiveRoute","state","configs","getRouteState","route","index","routes","length","Error","config","name","routeState","screens","cachedNormalizedConfigs","WeakMap","getNormalizedConfigs","options","cached","get","normalizedConfigs","createNormalizedConfigs","set","getPathFromState","cachedRouteStates","Map","hasScreenParams","params","screen","hasStateParams","undefined","has","focusedRoute","path","current","initialRoute","parts","partValues","focusedParams","currentOptions","nestedRouteNames","hasNext","ownParts","push","currentParams","key","optional","part","param","stringify","claimedParams","Set","add","nextRoute","nestedConfig","segment","query","sort","replace","startsWith","createConfigItem","parentParts","exact"],"sourceRoot":"../../src","sources":["getPathFromState.tsx"],"mappings":";;AACA,OAAOA,WAAW,MAAM,cAAc;AAEtC,SAASC,eAAe,QAA0B,sBAAmB;AACrE,SAASC,uBAAuB,QAAQ,8BAA2B;AAEnE,SAASC,kBAAkB,QAAQ,yBAAsB;AAqBzD,MAAMC,mBAAmB,GAAIC,KAAc,IACzCA,KAAK,KAAK,IAAI,GACV,IAAI,GACJC,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,GAClBA,KAAK,CAACG,GAAG,CAACC,MAAM,CAAC,GACjBA,MAAM,CAACJ,KAAK,CAAC;AAErB,MAAMK,eAAe,GAAIL,KAAa,IAAK;EACzC,IAAIM,MAAM,GAAG,EAAE;EAEf,KAAK,MAAMC,IAAI,IAAIP,KAAK,EAAE;IACxB,MAAMQ,QAAQ,GAAGD,IAAI,CAACE,UAAU,CAAC,CAAC,CAAC;IACnC,MAAMC,IAAI,GACPF,QAAQ,IAAI,EAAE,IAAIA,QAAQ,IAAI,EAAE,IAChCA,QAAQ,IAAI,EAAE,IAAIA,QAAQ,IAAI,GAAI,IAClCA,QAAQ,IAAI,EAAE,IAAIA,QAAQ,IAAI,EAAG,IAClC,mBAAmB,CAACG,QAAQ,CAACJ,IAAI,CAAC;IAEpCD,MAAM,IAAII,IAAI,GAAGH,IAAI,GAAGK,kBAAkB,CAACL,IAAI,CAAC;EAClD;EAEA,OAAOD,MAAM;AACf,CAAC;AAED,MAAMO,cAAc,GAAGA,CACrBC,KAAY,EACZC,OAA+C,EAC/CC,aAGsB,KAC4B;EAClD,MAAMC,KAAK,GACT,OAAOH,KAAK,CAACI,KAAK,KAAK,QAAQ,GAC3BJ,KAAK,CAACK,MAAM,CAACL,KAAK,CAACI,KAAK,CAAC,GACzBJ,KAAK,CAACK,MAAM,CAACL,KAAK,CAACK,MAAM,CAACC,MAAM,GAAG,CAAC,CAAC;EAE3C,IAAIH,KAAK,IAAI,IAAI,EAAE;IACjB,MAAM,IAAII,KAAK,CAAC,iCAAiC,CAAC;EACpD;EAEA,MAAMC,MAAM,GAAGP,OAAO,GAAGE,KAAK,CAACM,IAAI,CAAC;EACpC,MAAMC,UAAU,GAAGR,aAAa,CAACC,KAAK,EAAEK,MAAM,CAAC;EAE/C,IAAIE,UAAU,EAAE;IACd,OAAOX,cAAc,CAACW,UAAU,EAAEF,MAAM,EAAEG,OAAO,EAAET,aAAa,CAAC;EACnE;EAEA,OAAOC,KAAK;AACd,CAAC;AAED,MAAMS,uBAAuB,GAAG,IAAIC,OAAO,CAGzC,CAAC;AAEH,MAAMC,oBAAoB,GAAIC,OAAqB,IAAK;EACtD,IAAI,CAACA,OAAO,EAAE;IACZ,OAAO,CAAC,CAAC;EACX;EAEA,MAAMC,MAAM,GAAGJ,uBAAuB,CAACK,GAAG,CAACF,OAAO,CAAC;EAEnD,IAAIC,MAAM,EAAE;IACV,OAAOA,MAAM;EACf;EAEAhC,kBAAkB,CAAC+B,OAAO,CAAC;EAE3B,MAAMG,iBAAiB,GAAGC,uBAAuB,CAACJ,OAAO,CAACJ,OAAO,CAAC;EAElEC,uBAAuB,CAACQ,GAAG,CAACL,OAAO,EAAEG,iBAAiB,CAAC;EAEvD,OAAOA,iBAAiB;AAC1B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,gBAAgBA,CAC9BrB,KAAY,EACZe,OAA4B,EACpB;EACR,IAAIf,KAAK,IAAI,IAAI,EAAE;IACjB,MAAMO,KAAK,CACT,QAAQjB,MAAM,CAACU,KAAK,CAAC,iEACvB,CAAC;EACH;EAEA,MAAMC,OAAO,GAAGa,oBAAoB,CAACC,OAAO,CAAC;EAC7C,MAAMO,iBAAiB,GAAG,IAAIC,GAAG,CAA4B,CAAC;EAE9D,MAAMrB,aAAa,GAAGA,CACpBC,KAA8B,EAC9BK,MAA8B,KAC3B;IACH,IAAIL,KAAK,CAACH,KAAK,EAAE;MACf,OAAOG,KAAK,CAACH,KAAK;IACpB;IAEA,MAAMwB,eAAe,GACnBrB,KAAK,CAACsB,MAAM,IACZ,QAAQ,IAAItB,KAAK,CAACsB,MAAM,IACxB,OAAOtB,KAAK,CAACsB,MAAM,CAACC,MAAM,KAAK,QAAQ,IACvClB,MAAM,EAAEG,OAAO,GAAGR,KAAK,CAACsB,MAAM,CAACC,MAAM,CAAC;IAExC,MAAMC,cAAc,GAClBxB,KAAK,CAACsB,MAAM,IAAI,OAAO,IAAItB,KAAK,CAACsB,MAAM,IAAIjB,MAAM,EAAEG,OAAO;IAE5D,IACE,CAACR,KAAK,CAACsB,MAAM,IACb,CAACjB,MAAM,EAAEG,OAAO,IACf,CAACa,eAAe,IAAI,CAACG,cAAe,EACrC;MACA,OAAOC,SAAS;IAClB;IAEA,IAAI,CAACN,iBAAiB,CAACO,GAAG,CAAC1B,KAAK,CAAC,EAAE;MACjCmB,iBAAiB,CAACF,GAAG,CAACjB,KAAK,EAAEpB,uBAAuB,CAACoB,KAAK,CAACsB,MAAM,CAAC,CAAC;IACrE;IAEA,OAAOH,iBAAiB,CAACL,GAAG,CAACd,KAAK,CAAC;EACrC,CAAC;EAED,MAAM2B,YAAY,GAAG/B,cAAc,CAACC,KAAK,EAAEC,OAAO,EAAEC,aAAa,CAAC;EAElE,IAAI6B,IAAI,GAAG,GAAG;EACd,IAAIC,OAA0B,GAAGhC,KAAK;EAEtC,OAAOgC,OAAO,EAAE;IACd,IAAI5B,KAAa,GAAG,OAAO4B,OAAO,CAAC5B,KAAK,KAAK,QAAQ,GAAG4B,OAAO,CAAC5B,KAAK,GAAG,CAAC;IAEzE,MAAM6B,YAAiD,GACrDD,OAAO,CAAC3B,MAAM,CAACD,KAAK,CAAC;IAEvB,IAAI6B,YAAY,IAAI,IAAI,EAAE;MACxB,MAAM,IAAI1B,KAAK,CAAC,kCAAkCH,KAAK,GAAG,CAAC;IAC7D;IAEA,IAAID,KAA8B,GAAG8B,YAAY;IAEjD,IAAIC,KAAgC;;IAEpC;IACA;IACA,MAAMC,UAAU,GAAG,IAAIZ,GAAG,CAAgD,CAAC;IAE3E,IAAIa,aAA+D;IACnE,IAAIC,cAAc,GAAGpC,OAAO;;IAE5B;IACA,MAAMqC,gBAAgB,GAAG,EAAE;IAE3B,IAAIC,OAAO,GAAG,IAAI;IAElB,OAAOA,OAAO,EAAE;MACd,MAAM/B,MAAM,GAAG6B,cAAc,CAAClC,KAAK,CAACM,IAAI,CAAC;MAEzC,IAAID,MAAM,IAAI,IAAI,EAAE;QAClB;MACF;MAEA0B,KAAK,GAAG1B,MAAM,CAAC0B,KAAK;MAEpB,MAAMM,QAAQ,GAAGhC,MAAM,CAACgC,QAAQ;MAEhCF,gBAAgB,CAACG,IAAI,CAACtC,KAAK,CAACM,IAAI,CAAC;MAEjC,IAAIN,KAAK,CAACsB,MAAM,EAAE;QAChB,MAAMV,OAAO,GAAGP,MAAM;QACtB,MAAMiB,MAAM,GAAGtB,KAAK,CAACsB,MAAiC;QACtD,MAAMiB,aAAmD,GAAG,CAAC,CAAC;QAE9D,KAAK,MAAMC,GAAG,IAAIlB,MAAM,EAAE;UACxB,MAAMvC,KAAK,GAAGuC,MAAM,CAACkB,GAAG,CAAC;UAEzB,IAAIzD,KAAK,KAAK0C,SAAS,EAAE;YACvB,IAAIgB,QAAQ,GAAG,KAAK;YAEpB,KAAK,MAAMC,IAAI,IAAIL,QAAQ,EAAE;cAC3B,IAAIK,IAAI,CAACC,KAAK,KAAKH,GAAG,EAAE;gBACtBC,QAAQ,GAAGC,IAAI,CAACD,QAAQ,KAAK,IAAI;gBACjC;cACF;YACF;YAEA,IAAIA,QAAQ,EAAE;cACZ;YACF;UACF;UAEA,MAAMG,SAAS,GAAGhC,OAAO,CAACgC,SAAS,GAAGJ,GAAG,CAAC;UAE1CD,aAAa,CAACC,GAAG,CAAC,GAAGI,SAAS,GAC1BA,SAAS,CAAC7D,KAAK,CAAC,GAChBD,mBAAmB,CAACC,KAAK,CAAC;QAChC;QAEA,MAAM8D,aAAa,GAAG,IAAIC,GAAG,CAAS,CAAC;QAEvC,KAAK,MAAMJ,IAAI,IAAIL,QAAQ,EAAE;UAC3B,IAAIK,IAAI,CAACC,KAAK,IAAID,IAAI,CAACC,KAAK,IAAIJ,aAAa,EAAE;YAC7C,MAAMxD,KAAK,GAAGwD,aAAa,CAACG,IAAI,CAACC,KAAK,CAAC;YAEvC,IAAI5D,KAAK,KAAK0C,SAAS,EAAE;cACvBO,UAAU,CAACf,GAAG,CAACyB,IAAI,EAAE3D,KAAK,CAAC;cAC3B8D,aAAa,CAACE,GAAG,CAACL,IAAI,CAACC,KAAK,CAAC;YAC/B;UACF;QACF;QAEA,IAAIhB,YAAY,KAAK3B,KAAK,EAAE;UAC1B;UACA;UACA;UACAiC,aAAa,GAAG,CAAC,CAAC;UAElB,KAAK,MAAMO,GAAG,IAAID,aAAa,EAAE;YAC/B,MAAMxD,KAAK,GAAGwD,aAAa,CAACC,GAAG,CAAC;YAEhC,IACE,CAACK,aAAa,CAACnB,GAAG,CAACc,GAAG,CAAC,IACvBzD,KAAK,KAAK0C,SAAS,IACnB1C,KAAK,KAAK,WAAW,EACrB;cACAkD,aAAa,CAACO,GAAG,CAAC,GAAGzD,KAAK;YAC5B;UACF;QACF;MACF;MAEA,KAAK,MAAM2D,IAAI,IAAIL,QAAQ,EAAE;QAC3B,IAAIK,IAAI,CAACC,KAAK,IAAI,CAACX,UAAU,CAACN,GAAG,CAACgB,IAAI,CAAC,EAAE;UACvCV,UAAU,CAACf,GAAG,CAACyB,IAAI,EAAEjB,SAAS,CAAC;QACjC;MACF;;MAEA;MACA,MAAMlB,UAAU,GAAGR,aAAa,CAACC,KAAK,EAAEK,MAAM,CAAC;MAE/C,IAAI,CAACA,MAAM,CAACG,OAAO,IAAID,UAAU,IAAI,IAAI,EAAE;QACzC6B,OAAO,GAAG,KAAK;MACjB,CAAC,MAAM;QACLnC,KAAK,GACH,OAAOM,UAAU,CAACN,KAAK,KAAK,QAAQ,GAChCM,UAAU,CAACN,KAAK,GAChBM,UAAU,CAACL,MAAM,CAACC,MAAM,GAAG,CAAC;QAElC,MAAM6C,SAA8C,GAClDzC,UAAU,CAACL,MAAM,CAACD,KAAK,CAAC;QAE1B,IAAI+C,SAAS,IAAI,IAAI,EAAE;UACrB,MAAM,IAAI5C,KAAK,CAAC,kCAAkCH,KAAK,GAAG,CAAC;QAC7D;QAEA,MAAMgD,YAAY,GAAG5C,MAAM,CAACG,OAAO;;QAEnC;QACA,IAAIwC,SAAS,CAAC1C,IAAI,IAAI2C,YAAY,EAAE;UAClCjD,KAAK,GAAGgD,SAAS;UACjBd,cAAc,GAAGe,YAAY;QAC/B,CAAC,MAAM;UACL;UACAb,OAAO,GAAG,KAAK;QACjB;MACF;IACF;IAEA,MAAM7B,UAAU,GAAGR,aAAa,CAACC,KAAK,EAAEkC,cAAc,CAAClC,KAAK,CAACM,IAAI,CAAC,CAAC;IAEnE,IAAI4B,cAAc,CAAClC,KAAK,CAACM,IAAI,CAAC,IAAI,IAAI,EAAE;MACtC,IAAIyB,KAAK,EAAE;QACT,IAAI9B,KAAK,GAAG,CAAC;QAEb,KAAK,MAAMyC,IAAI,IAAIX,KAAK,EAAE;UACxB,MAAM;YAAEmB,OAAO;YAAEP,KAAK;YAAEF;UAAS,CAAC,GAAGC,IAAI;UAEzC,IAAIzC,KAAK,GAAG,CAAC,EAAE;YACb2B,IAAI,IAAI,GAAG;UACb;UAEA3B,KAAK,EAAE;;UAEP;UACA;UACA;UACA,IAAIiD,OAAO,KAAK,GAAG,EAAE;YACnBtB,IAAI,IAAI5B,KAAK,CAACM,IAAI;YAClB;UACF;;UAEA;UACA,IAAIqC,KAAK,EAAE;YACT,MAAM5D,KAAK,GAAGiD,UAAU,CAAClB,GAAG,CAAC4B,IAAI,CAAC;YAElC,IAAI3D,KAAK,KAAK0C,SAAS,IAAIgB,QAAQ,EAAE;cACnC;cACA;YACF;;YAEA;YACA;YACAb,IAAI,IAAIxC,eAAe,CAACD,MAAM,CAACJ,KAAK,CAAC,CAAC;YACtC;UACF;UAEA6C,IAAI,IAAIjC,kBAAkB,CAACuD,OAAO,CAAC;QACrC;MACF;IACF,CAAC,MAAM;MACLtB,IAAI,IAAIjC,kBAAkB,CAACK,KAAK,CAACM,IAAI,CAAC;IACxC;IAEA,IAAI,CAAC2B,aAAa,IAAIN,YAAY,CAACL,MAAM,EAAE;MACzCW,aAAa,GAAG,CAAC,CAAC;MAElB,MAAMX,MAAM,GAAGK,YAAY,CAACL,MAAiC;MAE7D,KAAK,MAAMkB,GAAG,IAAIlB,MAAM,EAAE;QACxB,MAAMvC,KAAK,GAAGD,mBAAmB,CAACwC,MAAM,CAACkB,GAAG,CAAC,CAAC;QAE9C,IAAIzD,KAAK,KAAK,WAAW,EAAE;UACzBkD,aAAa,CAACO,GAAG,CAAC,GAAGzD,KAAK;QAC5B;MACF;IACF;IAEA,IAAIwB,UAAU,EAAE;MACdqB,IAAI,IAAI,GAAG;IACb,CAAC,MAAM,IAAIK,aAAa,EAAE;MACxB,MAAMkB,KAAK,GAAGzE,WAAW,CAACkE,SAAS,CAACX,aAAa,EAAE;QAAEmB,IAAI,EAAE;MAAM,CAAC,CAAC;MAEnE,IAAID,KAAK,EAAE;QACTvB,IAAI,IAAI,IAAIuB,KAAK,EAAE;MACrB;IACF;IAEAtB,OAAO,GAAGtB,UAAU;EACtB;;EAEA;EACA,IAAIK,OAAO,EAAEgB,IAAI,EAAE;IACjBA,IAAI,GAAG,GAAGhB,OAAO,CAACgB,IAAI,IAAIA,IAAI,EAAE;EAClC;;EAEA;EACAA,IAAI,GAAGA,IAAI,CAACyB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;EAChCzB,IAAI,GAAGA,IAAI,CAACzB,MAAM,GAAG,CAAC,GAAGyB,IAAI,CAACyB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAGzB,IAAI;;EAEvD;EACA;EACA,IAAI,CAACA,IAAI,CAAC0B,UAAU,CAAC,GAAG,CAAC,EAAE;IACzB1B,IAAI,GAAG,IAAIA,IAAI,EAAE;EACnB;EAEA,OAAOA,IAAI;AACb;AAEA,MAAM2B,gBAAgB,GAAGA,CACvBlD,MAA+B,EAC/BmD,WAA2B,KACZ;EACf,IAAI,OAAOnD,MAAM,KAAK,QAAQ,EAAE;IAC9B,MAAMgC,QAAQ,GAAG1D,eAAe,CAAC0B,MAAM,CAAC;IAExC,IAAImD,WAAW,EAAE;MACf,OAAO;QAAEzB,KAAK,EAAE,CAAC,GAAGyB,WAAW,EAAE,GAAGnB,QAAQ,CAAC;QAAEA;MAAS,CAAC;IAC3D;IAEA,OAAO;MAAEN,KAAK,EAAEM,QAAQ;MAAEA;IAAS,CAAC;EACtC;EAEA,IAAIhC,MAAM,CAACoD,KAAK,IAAIpD,MAAM,CAACuB,IAAI,KAAKH,SAAS,EAAE;IAC7C,MAAM,IAAIrB,KAAK,CACb,sJACF,CAAC;EACH;;EAEA;EACA;EACA,MAAMiC,QAAQ,GAAGhC,MAAM,CAACuB,IAAI,GAAGjD,eAAe,CAAC0B,MAAM,CAACuB,IAAI,CAAC,GAAG,EAAE;EAChE,MAAMG,KAAK,GACT1B,MAAM,CAACoD,KAAK,KAAK,IAAI,GACjB,CAAC,IAAID,WAAW,IAAI,EAAE,CAAC,EAAE,GAAGnB,QAAQ,CAAC,GACrCA,QAAQ,CAAClC,MAAM,GACbkC,QAAQ,GACRZ,SAAS;EAEjB,MAAMjB,OAAO,GACX,SAAS,IAAIH,MAAM,IAAIA,MAAM,CAACG,OAAO,GACjCQ,uBAAuB,CAACX,MAAM,CAACG,OAAO,EAAEuB,KAAK,CAAC,GAC9CN,SAAS;EAEf,OAAO;IACLM,KAAK;IACLM,QAAQ;IACRO,SAAS,EAAEvC,MAAM,CAACuC,SAAS;IAC3BpC;EACF,CAAC;AACH,CAAC;AAED,MAAMQ,uBAAuB,GAAGA,CAC9BJ,OAA8B,EAC9BmB,KAAqB,KACU;EAC/B,MAAMjC,OAAmC,GAAG,CAAC,CAAC;EAC9C,MAAMU,OAAO,GAAGI,OAAkD;EAElE,KAAK,MAAMN,IAAI,IAAIE,OAAO,EAAE;IAC1B,MAAMH,MAAM,GAAGG,OAAO,CAACF,IAAI,CAAC;IAE5B,IAAID,MAAM,KAAKoB,SAAS,EAAE;MACxB3B,OAAO,CAACQ,IAAI,CAAC,GAAGiD,gBAAgB,CAAClD,MAAM,EAAE0B,KAAK,CAAC;IACjD;EACF;EAEA,OAAOjC,OAAO;AAChB,CAAC","ignoreList":[]}
@@ -10,6 +10,8 @@ export function getPatternParts(path) {
10
10
  };
11
11
  let isRegex = false;
12
12
  let isParam = false;
13
+ let isEscaped = false;
14
+ let isInCharClass = false;
13
15
  let regexInnerParens = 0;
14
16
 
15
17
  // One extra iteration to add the last character
@@ -25,7 +27,7 @@ export function getPatternParts(path) {
25
27
  } else if (!isRegex) {
26
28
  throw new Error(`Encountered ':' in the middle of a segment in path: ${path}`);
27
29
  }
28
- } else if (char === '(') {
30
+ } else if (char === '(' && !isEscaped && !isInCharClass) {
29
31
  if (isParam) {
30
32
  if (isRegex) {
31
33
  // The '(' is part of the regex if we're already inside one
@@ -36,7 +38,7 @@ export function getPatternParts(path) {
36
38
  } else {
37
39
  throw new Error(`Encountered '(' without preceding ':' in path: ${path}`);
38
40
  }
39
- } else if (char === ')') {
41
+ } else if (char === ')' && !isEscaped && !isInCharClass) {
40
42
  if (isParam && isRegex) {
41
43
  if (regexInnerParens) {
42
44
  // The ')' is part of the regex if we're already inside one
@@ -81,6 +83,17 @@ export function getPatternParts(path) {
81
83
  if (isRegex) {
82
84
  current.regex = current.regex || '';
83
85
  current.regex += char;
86
+
87
+ // Track escapes and character classes so parens inside them are not special
88
+ if (isEscaped) {
89
+ isEscaped = false;
90
+ } else if (char === '\\') {
91
+ isEscaped = true;
92
+ } else if (char === '[') {
93
+ isInCharClass = true;
94
+ } else if (char === ']') {
95
+ isInCharClass = false;
96
+ }
84
97
  }
85
98
  if (isParam && !isRegex) {
86
99
  current.param = current.param || '';
@@ -1 +1 @@
1
- {"version":3,"names":["getPatternParts","path","parts","current","segment","isRegex","isParam","regexInnerParens","i","length","char","Error","regex","param","optional","replace","push","params","map","part","filter","Boolean","index","entries","indexOf","combinePatternParts","parentParts","exact"],"sourceRoot":"../../src","sources":["getPatternParts.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getPatternParts","path","parts","current","segment","isRegex","isParam","isEscaped","isInCharClass","regexInnerParens","i","length","char","Error","regex","param","optional","replace","push","params","map","part","filter","Boolean","index","entries","indexOf","combinePatternParts","parentParts","exact"],"sourceRoot":"../../src","sources":["getPatternParts.tsx"],"mappings":"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","ignoreList":[]}
@@ -11,6 +11,11 @@ const INVALID_SCHEMA_RESULT_ERROR = 'Invalid validation result from schema. It s
11
11
  const INVALID_PARSER_ERROR = 'Invalid parser. Expected a function or a Standard Schema V1 object.';
12
12
  const PARAM_GROUP_PREFIX = 'param_';
13
13
  const NESTED_SCREEN_PARAM_NAMES = ['screen', 'params', 'initial', 'path', 'merge', 'pop'];
14
+ const getStaticSegmentPattern = segment => Array.from(segment, char => {
15
+ const encoded = encodeURIComponent(char);
16
+ const percentEncoded = encoded === char ? `%${char.charCodeAt(0).toString(16).padStart(2, '0').toUpperCase()}` : encoded;
17
+ return `(?:${escape(char)}|${escape(percentEncoded)})`;
18
+ }).join('');
14
19
  const getExplicitParamNames = parse => {
15
20
  const names = [];
16
21
  if (parse) {
@@ -62,7 +67,8 @@ export function getStateFromPath(path, options, previous) {
62
67
  initialRoutes,
63
68
  configs,
64
69
  configsByScreen,
65
- configsByPattern
70
+ configsByPattern,
71
+ prefixRegex
66
72
  } = getConfigResources(options);
67
73
  const screens = options?.screens;
68
74
 
@@ -79,23 +85,17 @@ export function getStateFromPath(path, options, previous) {
79
85
  };
80
86
  let remaining = path.replace(/\/+/g, '/') // Replace multiple slash (//) with single ones
81
87
  .replace(/^\//, '') // Remove extra leading slash
82
- .replace(/\?.*$/, ''); // Remove query params which we will handle later
88
+ .replace(/\?.*$/, '') // Remove query params which we will handle later
89
+ .replace(/%[0-9a-f]{2}/gi, m => m.toUpperCase()); // Normalize percent-encoding as hex digits are case-insensitive
83
90
 
84
91
  // Make sure there is a trailing slash
85
92
  remaining = remaining.endsWith('/') ? remaining : `${remaining}/`;
86
- const prefix = options?.path?.replace(/^\//, ''); // Remove extra leading slash
87
-
88
- if (prefix) {
89
- // Make sure there is a trailing slash
90
- const normalizedPrefix = prefix.endsWith('/') ? prefix : `${prefix}/`;
91
-
92
- // If the path doesn't start with the prefix, it's not a match
93
- if (!remaining.startsWith(normalizedPrefix)) {
93
+ if (prefixRegex) {
94
+ const prefixMatch = remaining.match(prefixRegex);
95
+ if (prefixMatch == null) {
94
96
  return undefined;
95
97
  }
96
-
97
- // Remove the prefix from the path
98
- remaining = remaining.replace(normalizedPrefix, '');
98
+ remaining = remaining.slice(prefixMatch[0].length);
99
99
  }
100
100
  if (screens === undefined) {
101
101
  // When no config is specified, use the path segments as route names
@@ -198,6 +198,13 @@ function getConfigResources(options) {
198
198
  function prepareConfigResources(options) {
199
199
  const initialRoutes = getInitialRoutes(options);
200
200
  const configs = getSortedNormalizedConfigs(initialRoutes, options?.screens);
201
+ const prefix = options?.path?.replace(/^\//, '');
202
+ let prefixRegex;
203
+ if (prefix) {
204
+ const normalizedPrefix = prefix.endsWith('/') ? prefix : `${prefix}/`;
205
+ const prefixPattern = normalizedPrefix.split('/').map(getStaticSegmentPattern).join('/');
206
+ prefixRegex = new RegExp(`^${prefixPattern}`);
207
+ }
201
208
  const configsByScreen = {};
202
209
  const configsByPattern = {};
203
210
  for (const c of configs) {
@@ -214,7 +221,8 @@ function prepareConfigResources(options) {
214
221
  initialRoutes,
215
222
  configs,
216
223
  configsByScreen,
217
- configsByPattern
224
+ configsByPattern,
225
+ prefixRegex
218
226
  };
219
227
  }
220
228
  function getInitialRoutes(options) {
@@ -250,7 +258,13 @@ function getSortedNormalizedConfigs(initialRoutes, screens = {}) {
250
258
  // If 2 patterns are same, move the one with less route names up
251
259
  // This is an error state, so it's only useful for consistent error messages
252
260
  if (isArrayEqual(a.segments, b.segments)) {
253
- return b.routeNames.join('>').localeCompare(a.routeNames.join('>'));
261
+ if (a.routeNames.length > b.routeNames.length && arrayStartsWith(a.routeNames, b.routeNames)) {
262
+ return -1;
263
+ }
264
+ if (b.routeNames.length > a.routeNames.length && arrayStartsWith(b.routeNames, a.routeNames)) {
265
+ return 1;
266
+ }
267
+ return a.routeNames.length - b.routeNames.length || a.order - b.order;
254
268
  }
255
269
 
256
270
  // If one of the patterns starts with the other, it's more exhaustive
@@ -369,6 +383,12 @@ const matchAgainstConfig = (remaining, config, configsByScreen) => {
369
383
  } catch {
370
384
  return undefined;
371
385
  }
386
+
387
+ // Percent-encoded values are matched permissively
388
+ // So validate the decoded value against the custom regex
389
+ if (param.regex && value !== decoded && !param.regex.test(decoded)) {
390
+ return undefined;
391
+ }
372
392
  const parser = routeConfig.parse?.[param.name];
373
393
  if (!parser) {
374
394
  params[param.name] = decoded;
@@ -488,18 +508,23 @@ const createConfigItem = (screen, routeNames, parts, parse, hasNestedScreens = f
488
508
  for (const part of parts) {
489
509
  segments.push(part.segment);
490
510
  if (part.param) {
491
- const reg = part.regex || '[^/]+';
511
+ // A custom regex may not match the percent-encoded form of the value
512
+ // So also accept segments containing an encoded character and validate them after decoding
513
+ const reg = part.regex ? `(?:${part.regex})|(?=[^/]*%[0-9A-F]{2})[^/]+` : '[^/]+';
492
514
  regexString += `(((?<${PARAM_GROUP_PREFIX}${index}>${reg})\\/)${part.optional ? '?' : ''})`;
493
515
  params.push({
494
516
  index,
495
517
  screen: part.screen,
496
- name: part.param
518
+ name: part.param,
519
+ regex: part.regex ? new RegExp(`^(?:${part.regex})$`) : undefined
497
520
  });
498
521
  if (part.screen === screen) {
499
522
  pathParamNames.add(part.param);
500
523
  }
524
+ } else if (part.segment === '*') {
525
+ regexString += `.*\\/`;
501
526
  } else {
502
- regexString += `${part.segment === '*' ? '.*' : escape(part.segment)}\\/`;
527
+ regexString += `${getStaticSegmentPattern(part.segment)}\\/`;
503
528
  }
504
529
  index++;
505
530
  }
@@ -690,7 +715,8 @@ const createNestedStateObject = (path, routes, initialRoutes, routeConfig) => {
690
715
  return state;
691
716
  };
692
717
  const parseQueryParams = (path, parseConfig, pathParamNames = new Set(), explicitParamNames, hasNestedScreens = false, routeParams) => {
693
- const query = path.split('?')[1];
718
+ const queryIndex = path.indexOf('?');
719
+ const query = queryIndex === -1 ? undefined : path.slice(queryIndex + 1);
694
720
  const params = query ? queryString.parse(query) : {};
695
721
 
696
722
  // Path params should always win over same-named query params.
@@ -1 +1 @@
1
- {"version":3,"names":["escape","queryString","arrayStartsWith","findFocusedRoute","combinePatternParts","getPatternParts","isArrayEqual","validatePathConfig","INVALID_SCHEMA_RESULT_ERROR","INVALID_PARSER_ERROR","PARAM_GROUP_PREFIX","NESTED_SCREEN_PARAM_NAMES","getExplicitParamNames","parse","names","name","push","length","Set","undefined","getStandardSchema","parser","version","validate","getValidationResult","schema","value","result","Array","isArray","issues","Error","getStateFromPath","path","options","previous","initialRoutes","configs","configsByScreen","configsByPattern","getConfigResources","screens","resolveSharedConfig","config","shared","candidates","pattern","selectSharedConfig","remaining","replace","endsWith","prefix","normalizedPrefix","startsWith","routes","segment","split","decodeURIComponent","createNestedStateObject","match","find","routeNames","map","firstRawSegment","firstDecodedSegment","canMatchFirstSegment","segments","matchAgainstConfig","selectedConfig","selectedRoutes","rematchedRoutes","state","configSegment","decodedSegment","rawSegment","cachedConfigResources","WeakMap","prepareConfigResources","cached","get","resources","set","getInitialRoutes","getSortedNormalizedConfigs","c","screen","existing","checkForDuplicatedConfigs","initialRouteName","parentScreens","key","createNormalizedConfigs","order","sort","a","b","join","localeCompare","i","Math","max","aSegment","bSegment","aWildCard","bWildCard","aParam","bParam","aRegex","includes","bRegex","intersects","regex","validationFailed","matchedRoutes","index","routeName","entries","routeConfig","params","hasParams","groups","param","decoded","initials","parts","configParts","part","createConfigItem","nestedScreens","hasNestedScreens","currentParts","exact","aliasConfigs","alias","nestedConfig","pop","pathParamNames","regexString","reg","optional","add","RegExp","explicitParamNames","focusedRouteNames","current","route","score","focused","initial","selected","best","candidate","better","findInitialRoute","sameParents","parentScreen","configParentScreen","createStateObject","initialRoute","isEmpty","shift","nestedState","nextRoute","nestedStateIndex","nestedRoute","focusedRoute","queryParams","parseQueryParams","valid","parseConfig","routeParams","query","has","Object","hasOwn","keys"],"sourceRoot":"../../src","sources":["getStateFromPath.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["escape","queryString","arrayStartsWith","findFocusedRoute","combinePatternParts","getPatternParts","isArrayEqual","validatePathConfig","INVALID_SCHEMA_RESULT_ERROR","INVALID_PARSER_ERROR","PARAM_GROUP_PREFIX","NESTED_SCREEN_PARAM_NAMES","getStaticSegmentPattern","segment","Array","from","char","encoded","encodeURIComponent","percentEncoded","charCodeAt","toString","padStart","toUpperCase","join","getExplicitParamNames","parse","names","name","push","length","Set","undefined","getStandardSchema","parser","version","validate","getValidationResult","schema","value","result","isArray","issues","Error","getStateFromPath","path","options","previous","initialRoutes","configs","configsByScreen","configsByPattern","prefixRegex","getConfigResources","screens","resolveSharedConfig","config","shared","candidates","pattern","selectSharedConfig","remaining","replace","m","endsWith","prefixMatch","match","slice","routes","split","decodeURIComponent","createNestedStateObject","find","routeNames","map","firstRawSegment","firstDecodedSegment","canMatchFirstSegment","segments","matchAgainstConfig","selectedConfig","selectedRoutes","rematchedRoutes","state","configSegment","decodedSegment","rawSegment","startsWith","cachedConfigResources","WeakMap","prepareConfigResources","cached","get","resources","set","getInitialRoutes","getSortedNormalizedConfigs","prefix","normalizedPrefix","prefixPattern","RegExp","c","screen","existing","checkForDuplicatedConfigs","initialRouteName","parentScreens","key","createNormalizedConfigs","order","sort","a","b","i","Math","max","aSegment","bSegment","aWildCard","bWildCard","aParam","bParam","aRegex","includes","bRegex","intersects","regex","validationFailed","matchedRoutes","index","routeName","entries","routeConfig","params","hasParams","groups","param","decoded","test","initials","parts","configParts","part","createConfigItem","nestedScreens","hasNestedScreens","currentParts","exact","aliasConfigs","alias","nestedConfig","pop","pathParamNames","regexString","reg","optional","add","explicitParamNames","focusedRouteNames","current","route","score","focused","initial","selected","best","candidate","better","findInitialRoute","sameParents","parentScreen","configParentScreen","localeCompare","createStateObject","initialRoute","isEmpty","shift","nestedState","nextRoute","nestedStateIndex","nestedRoute","focusedRoute","queryParams","parseQueryParams","valid","parseConfig","routeParams","queryIndex","indexOf","query","has","Object","hasOwn","keys"],"sourceRoot":"../../src","sources":["getStateFromPath.tsx"],"mappings":"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","ignoreList":[]}
@@ -10,6 +10,7 @@ export { getFocusedRouteNameFromRoute } from "./getFocusedRouteNameFromRoute.js"
10
10
  export { getPathFromState } from "./getPathFromState.js";
11
11
  export { getStateFromPath } from "./getStateFromPath.js";
12
12
  export { NavigationContainerRefContext } from "./NavigationContainerRefContext.js";
13
+ export { NavigationFocusedRouteStateContext } from "./NavigationFocusedRouteStateContext.js";
13
14
  export { NavigationHelpersContext } from "./NavigationHelpersContext.js";
14
15
  export { NavigationIndependentTree } from "./NavigationIndependentTree.js";
15
16
  export { NavigationMetaContext } from "./NavigationMetaContext.js";
@@ -1 +1 @@
1
- {"version":3,"names":["BaseNavigationContainer","createNavigationContainerRef","createNavigatorFactory","getLoaderForState","UNSTABLE_getLoaderForState","findFocusedRoute","getActionFromState","getFocusedRouteNameFromRoute","getPathFromState","getStateFromPath","NavigationContainerRefContext","NavigationHelpersContext","NavigationIndependentTree","NavigationMetaContext","NavigationContext","NavigationProvider","NavigationRouteContext","PreventRemoveContext","PreventRemoveProvider","createPathConfigForStaticNavigation","createScreenFactory","ThemeContext","ThemeProvider","useTheme","PrivateValueStore","useFocusEffect","IsFocusedContext","useIsFocused","useNavigation","useNavigationBuilder","useNavigationContainerRef","useNavigationIndependentTree","useNavigationState","usePreventRemove","usePreventRemoveContext","useRoute","useStateForPath","validatePathConfig"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,uBAAuB,QAAQ,8BAA2B;AACnE,SAASC,4BAA4B,QAAQ,mCAAgC;AAC7E,SACEC,sBAAsB,QAEjB,6BAA0B;AACjC,SAASC,iBAAiB,IAAIC,0BAA0B,QAAQ,kBAAe;AAC/E,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,4BAA4B,QAAQ,mCAAgC;AAC7E,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,6BAA6B,QAAQ,oCAAiC;AAC/E,SAASC,wBAAwB,QAAQ,+BAA4B;AACrE,SAASC,yBAAyB,QAAQ,gCAA6B;AACvE,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SACEC,iBAAiB,EACjBC,kBAAkB,EAClBC,sBAAsB,QACjB,yBAAsB;AAC7B,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SACEC,mCAAmC,EACnCC,mBAAmB,QASd,uBAAoB;AAC3B,SAASC,YAAY,QAAQ,2BAAwB;AACrD,SAASC,aAAa,QAAQ,4BAAyB;AACvD,SAASC,QAAQ,QAAQ,uBAAoB;AAyC7C,SAASC,iBAAiB,QAAQ,YAAS;AAC3C,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,gBAAgB,EAAEC,YAAY,QAAQ,mBAAgB;AAC/D,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,yBAAyB,QAAQ,gCAA6B;AACvE,SAASC,4BAA4B,QAAQ,mCAAgC;AAC7E,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,uBAAuB,QAAQ,8BAA2B;AACnE,SAASC,QAAQ,QAAQ,eAAY;AACrC,SAASC,eAAe,QAAQ,sBAAmB;AAEnD,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,cAAc,2BAA2B","ignoreList":[]}
1
+ {"version":3,"names":["BaseNavigationContainer","createNavigationContainerRef","createNavigatorFactory","getLoaderForState","UNSTABLE_getLoaderForState","findFocusedRoute","getActionFromState","getFocusedRouteNameFromRoute","getPathFromState","getStateFromPath","NavigationContainerRefContext","NavigationFocusedRouteStateContext","NavigationHelpersContext","NavigationIndependentTree","NavigationMetaContext","NavigationContext","NavigationProvider","NavigationRouteContext","PreventRemoveContext","PreventRemoveProvider","createPathConfigForStaticNavigation","createScreenFactory","ThemeContext","ThemeProvider","useTheme","PrivateValueStore","useFocusEffect","IsFocusedContext","useIsFocused","useNavigation","useNavigationBuilder","useNavigationContainerRef","useNavigationIndependentTree","useNavigationState","usePreventRemove","usePreventRemoveContext","useRoute","useStateForPath","validatePathConfig"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,uBAAuB,QAAQ,8BAA2B;AACnE,SAASC,4BAA4B,QAAQ,mCAAgC;AAC7E,SACEC,sBAAsB,QAEjB,6BAA0B;AACjC,SAASC,iBAAiB,IAAIC,0BAA0B,QAAQ,kBAAe;AAC/E,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,4BAA4B,QAAQ,mCAAgC;AAC7E,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,6BAA6B,QAAQ,oCAAiC;AAC/E,SAEEC,kCAAkC,QAC7B,yCAAsC;AAC7C,SAASC,wBAAwB,QAAQ,+BAA4B;AACrE,SAASC,yBAAyB,QAAQ,gCAA6B;AACvE,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SACEC,iBAAiB,EACjBC,kBAAkB,EAClBC,sBAAsB,QACjB,yBAAsB;AAC7B,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SACEC,mCAAmC,EACnCC,mBAAmB,QASd,uBAAoB;AAC3B,SAASC,YAAY,QAAQ,2BAAwB;AACrD,SAASC,aAAa,QAAQ,4BAAyB;AACvD,SAASC,QAAQ,QAAQ,uBAAoB;AA0C7C,SAASC,iBAAiB,QAAQ,YAAS;AAC3C,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,gBAAgB,EAAEC,YAAY,QAAQ,mBAAgB;AAC/D,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,yBAAyB,QAAQ,gCAA6B;AACvE,SAASC,4BAA4B,QAAQ,mCAAgC;AAC7E,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,uBAAuB,QAAQ,8BAA2B;AACnE,SAASC,QAAQ,QAAQ,eAAY;AACrC,SAASC,eAAe,QAAQ,sBAAmB;AAEnD,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,cAAc,2BAA2B","ignoreList":[]}
@@ -35,7 +35,11 @@ export function useFocusEvents({
35
35
  }), [currentFocusedKey, emitter, navigation]);
36
36
  React.useEffect(() => {
37
37
  const lastFocusedKey = lastFocusedKeyRef.current;
38
- lastFocusedKeyRef.current = currentFocusedKey;
38
+ const isFocused = navigation ? navigation.isFocused() : true;
39
+ if (isFocused) {
40
+ // Remember the current route as focused if the navigator is focused
41
+ lastFocusedKeyRef.current = currentFocusedKey;
42
+ }
39
43
 
40
44
  // We wouldn't have `lastFocusedKey` on initial mount
41
45
  // Fire focus event for the current route on mount if there's no parent navigator
@@ -48,7 +52,7 @@ export function useFocusEvents({
48
52
 
49
53
  // We should only emit events when the focused key changed and navigator is focused
50
54
  // When navigator is not focused, screens inside shouldn't receive focused status either
51
- if (lastFocusedKey === currentFocusedKey || !(navigation ? navigation.isFocused() : true)) {
55
+ if (lastFocusedKey === currentFocusedKey || !isFocused) {
52
56
  return;
53
57
  }
54
58
  if (lastFocusedKey === undefined) {
@@ -1 +1 @@
1
- {"version":3,"names":["React","NavigationContext","useFocusEvents","state","emitter","navigation","use","lastFocusedKeyRef","useRef","undefined","currentFocusedRoute","routes","index","Error","currentFocusedKey","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,mBAAmB,GAAGP,KAAK,CAACQ,MAAM,CAACR,KAAK,CAACS,KAAK,CAAC;EAErD,IAAIF,mBAAmB,IAAI,IAAI,EAAE;IAC/B,MAAM,IAAIG,KAAK,CAAC,kCAAkCV,KAAK,CAACS,KAAK,GAAG,CAAC;EACnE;EAEA,MAAME,iBAAiB,GAAGJ,mBAAmB,CAACK,GAAG;;EAEjD;EACA;EACAf,KAAK,CAACgB,SAAS,CACb,MACEX,UAAU,EAAEY,WAAW,CAAC,OAAO,EAAE,MAAM;IACrCV,iBAAiB,CAACW,OAAO,GAAGJ,iBAAiB;IAC7CV,OAAO,CAACe,IAAI,CAAC;MAAEC,IAAI,EAAE,OAAO;MAAEC,MAAM,EAAEP;IAAkB,CAAC,CAAC;EAC5D,CAAC,CAAC,EACJ,CAACA,iBAAiB,EAAEV,OAAO,EAAEC,UAAU,CACzC,CAAC;EAEDL,KAAK,CAACgB,SAAS,CACb,MACEX,UAAU,EAAEY,WAAW,CAAC,MAAM,EAAE,MAAM;IACpCV,iBAAiB,CAACW,OAAO,GAAGT,SAAS;IACrCL,OAAO,CAACe,IAAI,CAAC;MAAEC,IAAI,EAAE,MAAM;MAAEC,MAAM,EAAEP;IAAkB,CAAC,CAAC;EAC3D,CAAC,CAAC,EACJ,CAACA,iBAAiB,EAAEV,OAAO,EAAEC,UAAU,CACzC,CAAC;EAEDL,KAAK,CAACgB,SAAS,CAAC,MAAM;IACpB,MAAMM,cAAc,GAAGf,iBAAiB,CAACW,OAAO;IAEhDX,iBAAiB,CAACW,OAAO,GAAGJ,iBAAiB;;IAE7C;IACA;IACA,IAAIQ,cAAc,KAAKb,SAAS,IAAI,CAACJ,UAAU,EAAE;MAC/CD,OAAO,CAACe,IAAI,CAAC;QAAEC,IAAI,EAAE,OAAO;QAAEC,MAAM,EAAEP;MAAkB,CAAC,CAAC;IAC5D;;IAEA;IACA;IACA,IACEQ,cAAc,KAAKR,iBAAiB,IACpC,EAAET,UAAU,GAAGA,UAAU,CAACkB,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,EAC7C;MACA;IACF;IAEA,IAAID,cAAc,KAAKb,SAAS,EAAE;MAChC;MACA;IACF;IAEAL,OAAO,CAACe,IAAI,CAAC;MAAEC,IAAI,EAAE,MAAM;MAAEC,MAAM,EAAEC;IAAe,CAAC,CAAC;IACtDlB,OAAO,CAACe,IAAI,CAAC;MAAEC,IAAI,EAAE,OAAO;MAAEC,MAAM,EAAEP;IAAkB,CAAC,CAAC;EAC5D,CAAC,EAAE,CAACA,iBAAiB,EAAEV,OAAO,EAAEC,UAAU,CAAC,CAAC;AAC9C","ignoreList":[]}
1
+ {"version":3,"names":["React","NavigationContext","useFocusEvents","state","emitter","navigation","use","lastFocusedKeyRef","useRef","undefined","currentFocusedRoute","routes","index","Error","currentFocusedKey","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,mBAAmB,GAAGP,KAAK,CAACQ,MAAM,CAACR,KAAK,CAACS,KAAK,CAAC;EAErD,IAAIF,mBAAmB,IAAI,IAAI,EAAE;IAC/B,MAAM,IAAIG,KAAK,CAAC,kCAAkCV,KAAK,CAACS,KAAK,GAAG,CAAC;EACnE;EAEA,MAAME,iBAAiB,GAAGJ,mBAAmB,CAACK,GAAG;;EAEjD;EACA;EACAf,KAAK,CAACgB,SAAS,CACb,MACEX,UAAU,EAAEY,WAAW,CAAC,OAAO,EAAE,MAAM;IACrCV,iBAAiB,CAACW,OAAO,GAAGJ,iBAAiB;IAC7CV,OAAO,CAACe,IAAI,CAAC;MAAEC,IAAI,EAAE,OAAO;MAAEC,MAAM,EAAEP;IAAkB,CAAC,CAAC;EAC5D,CAAC,CAAC,EACJ,CAACA,iBAAiB,EAAEV,OAAO,EAAEC,UAAU,CACzC,CAAC;EAEDL,KAAK,CAACgB,SAAS,CACb,MACEX,UAAU,EAAEY,WAAW,CAAC,MAAM,EAAE,MAAM;IACpCV,iBAAiB,CAACW,OAAO,GAAGT,SAAS;IACrCL,OAAO,CAACe,IAAI,CAAC;MAAEC,IAAI,EAAE,MAAM;MAAEC,MAAM,EAAEP;IAAkB,CAAC,CAAC;EAC3D,CAAC,CAAC,EACJ,CAACA,iBAAiB,EAAEV,OAAO,EAAEC,UAAU,CACzC,CAAC;EAEDL,KAAK,CAACgB,SAAS,CAAC,MAAM;IACpB,MAAMM,cAAc,GAAGf,iBAAiB,CAACW,OAAO;IAEhD,MAAMK,SAAS,GAAGlB,UAAU,GAAGA,UAAU,CAACkB,SAAS,CAAC,CAAC,GAAG,IAAI;IAE5D,IAAIA,SAAS,EAAE;MACb;MACAhB,iBAAiB,CAACW,OAAO,GAAGJ,iBAAiB;IAC/C;;IAEA;IACA;IACA,IAAIQ,cAAc,KAAKb,SAAS,IAAI,CAACJ,UAAU,EAAE;MAC/CD,OAAO,CAACe,IAAI,CAAC;QAAEC,IAAI,EAAE,OAAO;QAAEC,MAAM,EAAEP;MAAkB,CAAC,CAAC;IAC5D;;IAEA;IACA;IACA,IAAIQ,cAAc,KAAKR,iBAAiB,IAAI,CAACS,SAAS,EAAE;MACtD;IACF;IAEA,IAAID,cAAc,KAAKb,SAAS,EAAE;MAChC;MACA;IACF;IAEAL,OAAO,CAACe,IAAI,CAAC;MAAEC,IAAI,EAAE,MAAM;MAAEC,MAAM,EAAEC;IAAe,CAAC,CAAC;IACtDlB,OAAO,CAACe,IAAI,CAAC;MAAEC,IAAI,EAAE,OAAO;MAAEC,MAAM,EAAEP;IAAkB,CAAC,CAAC;EAC5D,CAAC,EAAE,CAACA,iBAAiB,EAAEV,OAAO,EAAEC,UAAU,CAAC,CAAC;AAC9C","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","useLazyValue","create","lazyRef","useRef","undefined","current"],"sourceRoot":"../../src","sources":["useLazyValue.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAO,SAASC,YAAYA,CAAIC,MAAe,EAAE;EAC/C,MAAMC,OAAO,GAAGH,KAAK,CAACI,MAAM,CAAIC,SAAS,CAAC;EAE1C,IAAIF,OAAO,CAACG,OAAO,KAAKD,SAAS,EAAE;IACjCF,OAAO,CAACG,OAAO,GAAGJ,MAAM,CAAC,CAAC;EAC5B;EAEA,OAAOC,OAAO,CAACG,OAAO;AACxB","ignoreList":[]}
1
+ {"version":3,"names":["React","useLazyValue","create","lazyRef","useRef","undefined","current"],"sourceRoot":"../../src","sources":["useLazyValue.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAO,SAASC,YAAYA,CAAIC,MAAe,EAAK;EAClD,MAAMC,OAAO,GAAGH,KAAK,CAACI,MAAM,CAAIC,SAAS,CAAC;EAE1C,IAAIF,OAAO,CAACG,OAAO,KAAKD,SAAS,EAAE;IACjCF,OAAO,CAACG,OAAO,GAAGJ,MAAM,CAAC,CAAC;EAC5B;EAEA,OAAOC,OAAO,CAACG,OAAO;AACxB","ignoreList":[]}