@react-navigation/core 8.0.0-alpha.33 → 8.0.0-alpha.34

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 (78) hide show
  1. package/lib/module/NavigationBuilderContext.js +8 -13
  2. package/lib/module/NavigationBuilderContext.js.map +1 -1
  3. package/lib/module/NavigationIndependentTree.js +42 -15
  4. package/lib/module/NavigationIndependentTree.js.map +1 -1
  5. package/lib/module/getPathFromState.js +41 -16
  6. package/lib/module/getPathFromState.js.map +1 -1
  7. package/lib/module/getPatternParts.js +43 -12
  8. package/lib/module/getPatternParts.js.map +1 -1
  9. package/lib/module/getStateFromPath.js +175 -109
  10. package/lib/module/getStateFromPath.js.map +1 -1
  11. package/lib/module/index.js +1 -0
  12. package/lib/module/index.js.map +1 -1
  13. package/lib/module/useDescriptors.js +2 -2
  14. package/lib/module/useDescriptors.js.map +1 -1
  15. package/lib/module/useFocusedListenersChildrenAdapter.js +2 -2
  16. package/lib/module/useFocusedListenersChildrenAdapter.js.map +1 -1
  17. package/lib/module/useNavigationBuilder.js +2 -2
  18. package/lib/module/useNavigationBuilder.js.map +1 -1
  19. package/lib/module/useNavigationCache.js +3 -3
  20. package/lib/module/useNavigationCache.js.map +1 -1
  21. package/lib/module/useNavigationHelpers.js +2 -2
  22. package/lib/module/useNavigationHelpers.js.map +1 -1
  23. package/lib/module/useOnAction.js +6 -4
  24. package/lib/module/useOnAction.js.map +1 -1
  25. package/lib/module/useOnGetNavigation.js +2 -2
  26. package/lib/module/useOnGetNavigation.js.map +1 -1
  27. package/lib/module/useOnGetState.js +2 -2
  28. package/lib/module/useOnGetState.js.map +1 -1
  29. package/lib/module/useOnPreventRemove.js +2 -2
  30. package/lib/module/useOnPreventRemove.js.map +1 -1
  31. package/lib/module/useOnRouteFocus.js +2 -2
  32. package/lib/module/useOnRouteFocus.js.map +1 -1
  33. package/lib/module/useOptionsGetters.js +2 -4
  34. package/lib/module/useOptionsGetters.js.map +1 -1
  35. package/lib/module/useScheduleUpdate.js +2 -2
  36. package/lib/module/useScheduleUpdate.js.map +1 -1
  37. package/lib/typescript/src/NavigationBuilderContext.d.ts +8 -5
  38. package/lib/typescript/src/NavigationBuilderContext.d.ts.map +1 -1
  39. package/lib/typescript/src/NavigationIndependentTree.d.ts.map +1 -1
  40. package/lib/typescript/src/getPathFromState.d.ts.map +1 -1
  41. package/lib/typescript/src/getPatternParts.d.ts +4 -2
  42. package/lib/typescript/src/getPatternParts.d.ts.map +1 -1
  43. package/lib/typescript/src/getStateFromPath.d.ts.map +1 -1
  44. package/lib/typescript/src/index.d.ts +1 -0
  45. package/lib/typescript/src/index.d.ts.map +1 -1
  46. package/lib/typescript/src/types.d.ts +1 -1
  47. package/lib/typescript/src/types.d.ts.map +1 -1
  48. package/lib/typescript/src/useDescriptors.d.ts.map +1 -1
  49. package/lib/typescript/src/useNavigationBuilder.d.ts.map +1 -1
  50. package/lib/typescript/src/useOnAction.d.ts.map +1 -1
  51. package/lib/typescript/src/useOnGetNavigation.d.ts.map +1 -1
  52. package/lib/typescript/src/useOnGetState.d.ts.map +1 -1
  53. package/lib/typescript/src/useOnPreventRemove.d.ts.map +1 -1
  54. package/lib/typescript/src/useOnRouteFocus.d.ts.map +1 -1
  55. package/lib/typescript/src/useOptionsGetters.d.ts.map +1 -1
  56. package/lib/typescript/src/utilities.d.ts +3 -0
  57. package/lib/typescript/src/utilities.d.ts.map +1 -1
  58. package/package.json +2 -3
  59. package/src/NavigationBuilderContext.tsx +21 -17
  60. package/src/NavigationIndependentTree.tsx +48 -22
  61. package/src/getPathFromState.tsx +63 -15
  62. package/src/getPatternParts.tsx +75 -14
  63. package/src/getStateFromPath.tsx +250 -113
  64. package/src/index.tsx +1 -0
  65. package/src/types.tsx +1 -1
  66. package/src/useDescriptors.tsx +2 -1
  67. package/src/useFocusedListenersChildrenAdapter.tsx +2 -2
  68. package/src/useNavigationBuilder.tsx +2 -4
  69. package/src/useNavigationCache.tsx +3 -3
  70. package/src/useNavigationHelpers.tsx +2 -2
  71. package/src/useOnAction.tsx +6 -5
  72. package/src/useOnGetNavigation.tsx +3 -2
  73. package/src/useOnGetState.tsx +4 -2
  74. package/src/useOnPreventRemove.tsx +4 -2
  75. package/src/useOnRouteFocus.tsx +2 -4
  76. package/src/useOptionsGetters.tsx +3 -2
  77. package/src/useScheduleUpdate.tsx +2 -2
  78. package/src/utilities.tsx +5 -2
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- import escape from 'escape-string-regexp';
4
3
  import queryString from 'query-string';
5
4
  import { arrayStartsWith } from "./arrayStartsWith.js";
6
5
  import { combinePatternParts, getPatternParts } from "./getPatternParts.js";
@@ -10,11 +9,34 @@ const INVALID_SCHEMA_RESULT_ERROR = 'Invalid validation result from schema. It s
10
9
  const INVALID_PARSER_ERROR = 'Invalid parser. Expected a function or a Standard Schema V1 object.';
11
10
  const PARAM_GROUP_PREFIX = 'param_';
12
11
  const NESTED_SCREEN_PARAM_NAMES = ['screen', 'params', 'initial', 'path', 'merge', 'pop'];
13
- const getStaticSegmentPattern = segment => Array.from(segment, char => {
14
- const encoded = encodeURIComponent(char);
15
- const percentEncoded = encoded === char ? `%${char.charCodeAt(0).toString(16).padStart(2, '0').toUpperCase()}` : encoded;
16
- return `(?:${escape(char)}|${escape(percentEncoded)})`;
17
- }).join('');
12
+ const REGEX_SYNTAX_CHAR = /[|\\{}()[\]^$+*?.]/;
13
+ const HEX_DIGITS = '0123456789ABCDEF';
14
+ const getStaticSegmentPattern = segment => {
15
+ let pattern = '';
16
+ for (const char of segment) {
17
+ const code = char.charCodeAt(0);
18
+ let escaped = char;
19
+
20
+ // A hyphen uses a hexadecimal escape because a regular backslash escape
21
+ // isn't valid outside character classes when a regex uses Unicode mode.
22
+ if (char === '-') {
23
+ escaped = '\\x2d';
24
+ } else {
25
+ // Other characters with special meaning in a regex can use a regular
26
+ // backslash escape so they are matched as literal characters.
27
+ if (REGEX_SYNTAX_CHAR.test(char)) {
28
+ escaped = `\\${char}`;
29
+ }
30
+ }
31
+
32
+ // ASCII characters have a single-byte percent-encoded form that can be
33
+ // built directly. Other characters need encodeURIComponent to encode all
34
+ // bytes in their UTF-8 representation.
35
+ const percentEncoded = char.length === 1 && code < 128 ? `%${HEX_DIGITS.charAt(code >> 4)}${HEX_DIGITS.charAt(code & 15)}` : encodeURIComponent(char);
36
+ pattern += `(?:${escaped}|${percentEncoded})`;
37
+ }
38
+ return pattern;
39
+ };
18
40
  const getExplicitParamNames = parse => {
19
41
  const names = [];
20
42
  if (parse) {
@@ -65,6 +87,7 @@ export function getStateFromPath(path, options, previous) {
65
87
  const {
66
88
  initialRoutes,
67
89
  configs,
90
+ configsWithZeroOrMore,
68
91
  configsByScreen,
69
92
  configsByPattern,
70
93
  prefixRegex
@@ -122,9 +145,31 @@ export function getStateFromPath(path, options, previous) {
122
145
  const match = configs.find(config => config.pattern === '');
123
146
  if (match) {
124
147
  const config = resolveSharedConfig(match);
125
- return createNestedStateObject(path, config.routeNames.map(name => ({
148
+ const state = createNestedStateObject(path, config.routeNames.map(name => ({
126
149
  name
127
150
  })), initialRoutes, config);
151
+ if (state) {
152
+ return state;
153
+ }
154
+ }
155
+ for (const config of configsWithZeroOrMore) {
156
+ const routes = matchAgainstConfig('', config, configsByScreen);
157
+ if (routes) {
158
+ let selectedConfig = resolveSharedConfig(config);
159
+ let selectedRoutes = routes;
160
+ if (selectedConfig !== config) {
161
+ const rematchedRoutes = matchAgainstConfig('', selectedConfig, configsByScreen);
162
+ if (rematchedRoutes === undefined) {
163
+ selectedConfig = config;
164
+ } else {
165
+ selectedRoutes = rematchedRoutes;
166
+ }
167
+ }
168
+ const state = createNestedStateObject(path, selectedRoutes, initialRoutes, selectedConfig);
169
+ if (state) {
170
+ return state;
171
+ }
172
+ }
128
173
  }
129
174
  return undefined;
130
175
  }
@@ -206,7 +251,11 @@ function prepareConfigResources(options) {
206
251
  }
207
252
  const configsByScreen = {};
208
253
  const configsByPattern = {};
254
+ const configsWithZeroOrMore = [];
209
255
  for (const c of configs) {
256
+ if (c.params.some(param => param.repeat === 'zero-or-more')) {
257
+ configsWithZeroOrMore.push(c);
258
+ }
210
259
  (configsByScreen[c.screen] ??= []).push(c);
211
260
  const existing = configsByPattern[c.pattern];
212
261
  if (existing) {
@@ -219,6 +268,7 @@ function prepareConfigResources(options) {
219
268
  return {
220
269
  initialRoutes,
221
270
  configs,
271
+ configsWithZeroOrMore,
222
272
  configsByScreen,
223
273
  configsByPattern,
224
274
  prefixRegex
@@ -238,7 +288,7 @@ function getSortedNormalizedConfigs(initialRoutes, screens = {}) {
238
288
  // Create a normalized configs array which will be easier to use
239
289
  const configs = [];
240
290
  for (const key in screens) {
241
- configs.push(...createNormalizedConfigs(key, screens, initialRoutes, [], [], []));
291
+ setupNormalizedConfigs(key, screens, initialRoutes, configs, [], [], []);
242
292
  }
243
293
  for (let order = 0; order < configs.length; order++) {
244
294
  const config = configs[order];
@@ -248,15 +298,17 @@ function getSortedNormalizedConfigs(initialRoutes, screens = {}) {
248
298
  }
249
299
  return configs.sort((a, b) => {
250
300
  // Sort config from most specific to least specific:
251
- // - more segments
252
301
  // - static segments
253
302
  // - params with regex
254
303
  // - regular params
304
+ // - one-or-more params
305
+ // - the end of the pattern
306
+ // - zero-or-more params
255
307
  // - wildcard
256
308
 
257
309
  // If 2 patterns are same, move the one with less route names up
258
310
  // This is an error state, so it's only useful for consistent error messages
259
- if (isArrayEqual(a.segments, b.segments)) {
311
+ if (a.pattern === b.pattern && isArrayEqual(a.segments, b.segments)) {
260
312
  if (a.routeNames.length > b.routeNames.length && arrayStartsWith(a.routeNames, b.routeNames)) {
261
313
  return -1;
262
314
  }
@@ -265,73 +317,34 @@ function getSortedNormalizedConfigs(initialRoutes, screens = {}) {
265
317
  }
266
318
  return a.routeNames.length - b.routeNames.length || a.order - b.order;
267
319
  }
268
-
269
- // If one of the patterns starts with the other, it's more exhaustive
270
- // So move it up
271
- if (arrayStartsWith(a.segments, b.segments)) {
272
- return -1;
273
- }
274
- if (arrayStartsWith(b.segments, a.segments)) {
275
- return 1;
276
- }
277
320
  for (let i = 0; i < Math.max(a.segments.length, b.segments.length); i++) {
278
- const aSegment = a.segments[i];
279
- const bSegment = b.segments[i];
280
-
281
- // if b is longer, b gets higher priority
282
- if (aSegment == null) {
283
- return 1;
284
- }
285
-
286
- // if a is longer, a gets higher priority
287
- if (bSegment == null) {
288
- return -1;
289
- }
290
- const aWildCard = aSegment === '*';
291
- const bWildCard = bSegment === '*';
292
- const aParam = aSegment.startsWith(':');
293
- const bParam = bSegment.startsWith(':');
294
- const aRegex = aParam && aSegment.includes('(');
295
- const bRegex = bParam && bSegment.includes('(');
296
-
297
- // if both are wildcard or regex, we compare next component
298
- if (aWildCard && bWildCard || aRegex && bRegex) {
299
- continue;
300
- }
301
-
302
- // if only a is wildcard, b gets higher priority
303
- if (aWildCard && !bWildCard) {
304
- return 1;
305
- }
306
-
307
- // if only b is wildcard, a gets higher priority
308
- if (bWildCard && !aWildCard) {
309
- return -1;
310
- }
311
-
312
- // If only a has a param, b gets higher priority
313
- if (aParam && !bParam) {
314
- return 1;
315
- }
316
-
317
- // If only b has a param, a gets higher priority
318
- if (bParam && !aParam) {
319
- return -1;
320
- }
321
-
322
- // if only a has regex, a gets higher priority
323
- if (aRegex && !bRegex) {
324
- return -1;
325
- }
326
-
327
- // if only b has regex, b gets higher priority
328
- if (bRegex && !aRegex) {
329
- return 1;
321
+ const rank = (a.segmentRanks[i] ?? 5) - (b.segmentRanks[i] ?? 5);
322
+ if (rank !== 0) {
323
+ return rank;
330
324
  }
331
325
  }
332
- return a.segments.length - b.segments.length;
326
+ return a.order - b.order;
333
327
  });
334
328
  }
329
+ const getSegmentRank = segment => {
330
+ if (segment === undefined) {
331
+ return 5;
332
+ }
333
+ if (segment === '*') {
334
+ return 8;
335
+ }
336
+ if (!segment.startsWith(':')) {
337
+ return 0;
338
+ }
339
+ const regex = segment.includes('(');
340
+ if (segment.endsWith('+')) {
341
+ return regex ? 3 : 4;
342
+ }
343
+ if (segment.endsWith('*')) {
344
+ return regex ? 6 : 7;
345
+ }
346
+ return regex ? 1 : 2;
347
+ };
335
348
 
336
349
  // Throw if two configs resolve to the same pattern but conflicting screens
337
350
  function checkForDuplicatedConfigs(existing, config) {
@@ -370,23 +383,41 @@ const matchAgainstConfig = (remaining, config, configsByScreen) => {
370
383
  if (param.screen !== routeName) {
371
384
  continue;
372
385
  }
373
- const value = match.groups[`${PARAM_GROUP_PREFIX}${param.index}`];
374
- if (value == null) {
375
- params[param.name] = undefined;
376
- hasParams = true;
377
- continue;
386
+ let value = match.groups[`${PARAM_GROUP_PREFIX}${param.index}`];
387
+ if (param.repeat && value != null) {
388
+ value = value.replace(/\/$/, '');
378
389
  }
379
390
  let decoded;
391
+ let decodedSegments;
380
392
  try {
381
- decoded = decodeURIComponent(value);
393
+ if (param.repeat) {
394
+ if (value == null) {
395
+ decodedSegments = [];
396
+ } else {
397
+ decodedSegments = value.split('/').map(decodeURIComponent);
398
+ }
399
+ decoded = decodedSegments.join('/');
400
+ } else {
401
+ if (value == null) {
402
+ params[param.name] = undefined;
403
+ hasParams = true;
404
+ continue;
405
+ }
406
+ decoded = decodeURIComponent(value);
407
+ }
382
408
  } catch {
383
409
  return undefined;
384
410
  }
385
411
 
386
412
  // Percent-encoded values are matched permissively
387
413
  // So validate the decoded value against the custom regex
388
- if (param.regex && value !== decoded && !param.regex.test(decoded)) {
389
- return undefined;
414
+ if (param.regex) {
415
+ const regex = param.regex;
416
+ const values = decodedSegments ?? [decoded];
417
+ const rawValues = param.repeat ? value?.split('/') ?? [] : [value];
418
+ if (values.some((item, index) => item !== rawValues[index] && !regex.test(item))) {
419
+ return undefined;
420
+ }
390
421
  }
391
422
  const parser = routeConfig.parse?.[param.name];
392
423
  if (!parser) {
@@ -433,16 +464,47 @@ const matchAgainstConfig = (remaining, config, configsByScreen) => {
433
464
  }
434
465
  return matchedRoutes;
435
466
  };
436
- const createNormalizedConfigs = (screen, routeConfig, initials, parts, parentScreens, routeNames) => {
437
- const configs = [];
467
+ const getRoutePatternParts = (path, screen) => getPatternParts(path).map(part => {
468
+ const rank = getSegmentRank(part.segment);
469
+ if (part.name) {
470
+ return {
471
+ type: 'param',
472
+ screen,
473
+ segment: part.segment,
474
+ rank,
475
+ name: part.name,
476
+ ...(part.pattern ? {
477
+ pattern: part.pattern,
478
+ regex: new RegExp(`^(?:${part.pattern})$`)
479
+ } : null),
480
+ ...(part.optional ? {
481
+ optional: true
482
+ } : null),
483
+ ...(part.repeat ? {
484
+ repeat: part.repeat
485
+ } : null)
486
+ };
487
+ }
488
+ if (part.segment === '*') {
489
+ return {
490
+ type: 'wildcard',
491
+ segment: part.segment,
492
+ rank
493
+ };
494
+ }
495
+ return {
496
+ type: 'static',
497
+ segment: part.segment,
498
+ rank,
499
+ pattern: getStaticSegmentPattern(part.segment)
500
+ };
501
+ });
502
+ const setupNormalizedConfigs = (screen, routeConfig, initials, configs, parts, parentScreens, routeNames) => {
438
503
  routeNames.push(screen);
439
504
  parentScreens.push(screen);
440
505
  const config = routeConfig[screen];
441
506
  if (typeof config === 'string') {
442
- const configParts = combinePatternParts(parts, getPatternParts(config).map(part => ({
443
- ...part,
444
- screen
445
- })));
507
+ const configParts = combinePatternParts(parts, getRoutePatternParts(config, screen));
446
508
  configs.push(createConfigItem(screen, [...routeNames], configParts));
447
509
  } else if (typeof config === 'object') {
448
510
  // if an object is specified as the value (e.g. Foo: { ... }),
@@ -450,10 +512,7 @@ const createNormalizedConfigs = (screen, routeConfig, initials, parts, parentScr
450
512
  // it could have `screens` prop which has nested configs
451
513
  const nestedScreens = 'screens' in config ? config.screens : undefined;
452
514
  const hasNestedScreens = !!nestedScreens;
453
- const currentParts = typeof config.path === 'string' ? combinePatternParts(parts, getPatternParts(config.path).map(part => ({
454
- ...part,
455
- screen
456
- })), config.exact) : parts;
515
+ const currentParts = typeof config.path === 'string' ? combinePatternParts(parts, getRoutePatternParts(config.path, screen), config.exact) : parts;
457
516
  if (typeof config.path === 'string') {
458
517
  // We should add alias configs after the main config
459
518
  // So unless they are more specific, main config will be matched first
@@ -461,15 +520,9 @@ const createNormalizedConfigs = (screen, routeConfig, initials, parts, parentScr
461
520
  if (config.alias) {
462
521
  for (const alias of config.alias) {
463
522
  if (typeof alias === 'string') {
464
- aliasConfigs.push(createConfigItem(screen, [...routeNames], combinePatternParts(parts, getPatternParts(alias).map(part => ({
465
- ...part,
466
- screen
467
- }))), config.parse, hasNestedScreens, false));
523
+ aliasConfigs.push(createConfigItem(screen, [...routeNames], combinePatternParts(parts, getRoutePatternParts(alias, screen)), config.parse, hasNestedScreens, false));
468
524
  } else if (typeof alias === 'object') {
469
- aliasConfigs.push(createConfigItem(screen, [...routeNames], combinePatternParts(parts, getPatternParts(alias.path).map(part => ({
470
- ...part,
471
- screen
472
- })), alias.exact), alias.parse, hasNestedScreens, alias.shared === true));
525
+ aliasConfigs.push(createConfigItem(screen, [...routeNames], combinePatternParts(parts, getRoutePatternParts(alias.path, screen), alias.exact), alias.parse, hasNestedScreens, alias.shared === true));
473
526
  }
474
527
  }
475
528
  }
@@ -488,17 +541,16 @@ const createNormalizedConfigs = (screen, routeConfig, initials, parts, parentScr
488
541
  });
489
542
  }
490
543
  for (const nestedConfig in nestedScreens) {
491
- const result = createNormalizedConfigs(nestedConfig, nestedScreens, initials, currentParts, [...parentScreens], routeNames);
492
- configs.push(...result);
544
+ setupNormalizedConfigs(nestedConfig, nestedScreens, initials, configs, currentParts, [...parentScreens], routeNames);
493
545
  }
494
546
  }
495
547
  }
496
548
  routeNames.pop();
497
- return configs;
498
549
  };
499
550
  const createConfigItem = (screen, routeNames, parts, parse, hasNestedScreens = false, shared = false) => {
500
551
  let regex;
501
552
  const segments = [];
553
+ const segmentRanks = [];
502
554
  const params = [];
503
555
  const pathParamNames = new Set();
504
556
  if (parts.length) {
@@ -506,24 +558,37 @@ const createConfigItem = (screen, routeNames, parts, parse, hasNestedScreens = f
506
558
  let index = 0;
507
559
  for (const part of parts) {
508
560
  segments.push(part.segment);
509
- if (part.param) {
561
+ segmentRanks.push(part.rank);
562
+ if (part.type === 'param') {
510
563
  // A custom regex may not match the percent-encoded form of the value
511
564
  // So also accept segments containing an encoded character and validate them after decoding
512
- const reg = part.regex ? `(?:${part.regex})|(?=[^/]*%[0-9A-F]{2})[^/]+` : '[^/]+';
513
- regexString += `(((?<${PARAM_GROUP_PREFIX}${index}>${reg})\\/)${part.optional ? '?' : ''})`;
565
+ let reg = '[^/]+';
566
+ if (part.pattern) {
567
+ const encodedReg = `(?=[^/]*%[0-9A-F]{2})[^/]+`;
568
+ reg = part.repeat ? `(?:${encodedReg})|(?![^/]*%[0-9A-F]{2})(?:${part.pattern})` : `(?:${part.pattern})|${encodedReg}`;
569
+ }
570
+ if (part.repeat) {
571
+ const repeatedReg = `(?:(?:${reg})\\/)+`;
572
+ regexString += `(?<${PARAM_GROUP_PREFIX}${index}>${repeatedReg})${part.repeat === 'zero-or-more' ? '?' : ''}`;
573
+ } else {
574
+ regexString += `(((?<${PARAM_GROUP_PREFIX}${index}>${reg})\\/)${part.optional ? '?' : ''})`;
575
+ }
514
576
  params.push({
515
577
  index,
516
578
  screen: part.screen,
517
- name: part.param,
518
- regex: part.regex ? new RegExp(`^(?:${part.regex})$`) : undefined
579
+ name: part.name,
580
+ regex: part.regex,
581
+ ...(part.repeat ? {
582
+ repeat: part.repeat
583
+ } : {})
519
584
  });
520
585
  if (part.screen === screen) {
521
- pathParamNames.add(part.param);
586
+ pathParamNames.add(part.name);
522
587
  }
523
- } else if (part.segment === '*') {
588
+ } else if (part.type === 'wildcard') {
524
589
  regexString += `.*\\/`;
525
590
  } else {
526
- regexString += `${getStaticSegmentPattern(part.segment)}\\/`;
591
+ regexString += `${part.pattern}\\/`;
527
592
  }
528
593
  index++;
529
594
  }
@@ -537,6 +602,7 @@ const createConfigItem = (screen, routeNames, parts, parse, hasNestedScreens = f
537
602
  regex,
538
603
  pattern,
539
604
  segments,
605
+ segmentRanks,
540
606
  params,
541
607
  routeNames,
542
608
  parse,
@@ -1 +1 @@
1
- {"version":3,"names":["escape","queryString","arrayStartsWith","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","focusedRoute","queryParams","parseQueryParams","valid","shift","nestedState","nextRoute","nestedStateIndex","nestedRoute","parseConfig","routeParams","queryIndex","indexOf","query","has","Object","hasOwn","keys"],"sourceRoot":"../../src","sources":["getStateFromPath.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["queryString","arrayStartsWith","combinePatternParts","getPatternParts","isArrayEqual","validatePathConfig","INVALID_SCHEMA_RESULT_ERROR","INVALID_PARSER_ERROR","PARAM_GROUP_PREFIX","NESTED_SCREEN_PARAM_NAMES","REGEX_SYNTAX_CHAR","HEX_DIGITS","getStaticSegmentPattern","segment","pattern","char","code","charCodeAt","escaped","test","percentEncoded","length","charAt","encodeURIComponent","getExplicitParamNames","parse","names","name","push","Set","undefined","getStandardSchema","parser","version","validate","getValidationResult","schema","value","result","Array","isArray","issues","Error","getStateFromPath","path","options","previous","initialRoutes","configs","configsWithZeroOrMore","configsByScreen","configsByPattern","prefixRegex","getConfigResources","screens","resolveSharedConfig","config","shared","candidates","selectSharedConfig","remaining","replace","m","toUpperCase","endsWith","prefixMatch","match","slice","routes","split","decodeURIComponent","createNestedStateObject","find","state","routeNames","map","matchAgainstConfig","selectedConfig","selectedRoutes","rematchedRoutes","firstRawSegment","firstDecodedSegment","canMatchFirstSegment","segments","configSegment","decodedSegment","rawSegment","startsWith","cachedConfigResources","WeakMap","prepareConfigResources","cached","get","resources","set","getInitialRoutes","getSortedNormalizedConfigs","prefix","normalizedPrefix","prefixPattern","join","RegExp","c","params","some","param","repeat","screen","existing","checkForDuplicatedConfigs","initialRouteName","parentScreens","key","setupNormalizedConfigs","order","sort","a","b","i","Math","max","rank","segmentRanks","getSegmentRank","regex","includes","intersects","validationFailed","matchedRoutes","index","routeName","entries","routeConfig","hasParams","groups","decoded","decodedSegments","values","rawValues","item","getRoutePatternParts","part","type","optional","initials","parts","configParts","createConfigItem","nestedScreens","hasNestedScreens","currentParts","exact","aliasConfigs","alias","nestedConfig","pop","pathParamNames","regexString","reg","encodedReg","repeatedReg","add","explicitParamNames","focusedRouteNames","current","route","score","focused","initial","selected","best","candidate","better","findInitialRoute","sameParents","parentScreen","configParentScreen","localeCompare","createStateObject","initialRoute","isEmpty","focusedRoute","queryParams","parseQueryParams","valid","shift","nestedState","nextRoute","nestedStateIndex","nestedRoute","parseConfig","routeParams","queryIndex","indexOf","query","has","Object","hasOwn","keys"],"sourceRoot":"../../src","sources":["getStateFromPath.tsx"],"mappings":"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","ignoreList":[]}
@@ -15,6 +15,7 @@ export { NavigationHelpersContext } from "./NavigationHelpersContext.js";
15
15
  export { NavigationIndependentTree } from "./NavigationIndependentTree.js";
16
16
  export { NavigationMetaContext } from "./NavigationMetaContext.js";
17
17
  export { IsScreenContext, NavigationContext, NavigationProvider, NavigationRouteContext } from "./NavigationProvider.js";
18
+ export { NavigationRootContext } from "./NavigationRootContext.js";
18
19
  export { PreventRemoveContext } from "./PreventRemoveContext.js";
19
20
  export { PreventRemoveProvider } from "./PreventRemoveProvider.js";
20
21
  export { createPathConfigForStaticNavigation, createScreenFactory } from "./StaticNavigation.js";
@@ -1 +1 @@
1
- {"version":3,"names":["BaseNavigationContainer","createNavigationContainerRef","createNavigatorFactory","getLoaderForState","UNSTABLE_getLoaderForState","findFocusedRoute","getActionFromState","getFocusedRouteNameFromRoute","getPathFromState","getStateFromPath","NavigationContainerRefContext","NavigationFocusedRouteStateContext","NavigationHelpersContext","NavigationIndependentTree","NavigationMetaContext","IsScreenContext","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,eAAe,EACfC,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":[]}
1
+ {"version":3,"names":["BaseNavigationContainer","createNavigationContainerRef","createNavigatorFactory","getLoaderForState","UNSTABLE_getLoaderForState","findFocusedRoute","getActionFromState","getFocusedRouteNameFromRoute","getPathFromState","getStateFromPath","NavigationContainerRefContext","NavigationFocusedRouteStateContext","NavigationHelpersContext","NavigationIndependentTree","NavigationMetaContext","IsScreenContext","NavigationContext","NavigationProvider","NavigationRouteContext","NavigationRootContext","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,eAAe,EACfC,iBAAiB,EACjBC,kBAAkB,EAClBC,sBAAsB,QACjB,yBAAsB;AAC7B,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,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":[]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  import * as React from 'react';
4
- import { NavigationBuilderContext } from "./NavigationBuilderContext.js";
4
+ import { NavigationBuilderContext, useNavigationBuilderContext } from "./NavigationBuilderContext.js";
5
5
  import { NavigationProvider } from "./NavigationProvider.js";
6
6
  import { SceneView } from "./SceneView.js";
7
7
  import { ThemeContext } from "./theming/ThemeContext.js";
@@ -42,7 +42,7 @@ export function useDescriptors({
42
42
  flushUpdates,
43
43
  getIsStateEmitted,
44
44
  withStackTrace
45
- } = React.use(NavigationBuilderContext);
45
+ } = useNavigationBuilderContext();
46
46
  const context = React.useMemo(() => ({
47
47
  navigation,
48
48
  onAction,
@@ -1 +1 @@
1
- {"version":3,"names":["React","NavigationBuilderContext","NavigationProvider","SceneView","ThemeContext","useNavigationCache","useRouteCache","jsx","_jsx","useDescriptors","routes","screens","navigation","screenOptions","screenLayout","onAction","getState","setState","subscribe","addListener","addKeyedListener","onRouteFocus","router","emitter","theme","use","options","setOptions","useState","onDispatchAction","onEmitEvent","onOptionsChange","scheduleUpdate","flushUpdates","getIsStateEmitted","withStackTrace","context","useMemo","navigations","cachedRoutes","getOptions","route","overrides","config","name","screen","props","optionsList","filter","Boolean","reduce","acc","curr","Object","assign","render","customOptions","routeState","Error","clearOptions","o","key","_","rest","layout","element","children","Provider","value","descriptors","i","state"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","NavigationBuilderContext","useNavigationBuilderContext","NavigationProvider","SceneView","ThemeContext","useNavigationCache","useRouteCache","jsx","_jsx","useDescriptors","routes","screens","navigation","screenOptions","screenLayout","onAction","getState","setState","subscribe","addListener","addKeyedListener","onRouteFocus","router","emitter","theme","use","options","setOptions","useState","onDispatchAction","onEmitEvent","onOptionsChange","scheduleUpdate","flushUpdates","getIsStateEmitted","withStackTrace","context","useMemo","navigations","cachedRoutes","getOptions","route","overrides","config","name","screen","props","optionsList","filter","Boolean","reduce","acc","curr","Object","assign","render","customOptions","routeState","Error","clearOptions","o","key","_","rest","layout","element","children","Provider","value","descriptors","i","state"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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","ignoreList":[]}