@react-navigation/core 8.0.0-alpha.18 → 8.0.0-alpha.19

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.
@@ -202,7 +202,18 @@ export function createComponentForStaticConfig(tree, displayName) {
202
202
  export function createPathConfigForStaticNavigation(tree, options, auto) {
203
203
  let initialScreenHasPath = false;
204
204
  let initialScreenConfig;
205
- const createPathConfigForTree = (t, o, skipInitialDetection) => {
205
+ let hasEmptyPath = false;
206
+ const createPathConfigForTree = (t, o, skipInitialDetection, allowAutoEmptyPath) => {
207
+ const initialRouteName = o?.initialRouteName ?? t.config.initialRouteName;
208
+ if (initialRouteName != null) {
209
+ const routeNames = new Set(Object.keys(t.config.screens ?? {}));
210
+ for (const group of Object.values(t.config.groups ?? {})) {
211
+ Object.keys(group.screens).forEach(name => routeNames.add(name));
212
+ }
213
+ if (!routeNames.has(initialRouteName)) {
214
+ throw new Error(`Couldn't find a screen named '${initialRouteName}' to use as 'initialRouteName'.`);
215
+ }
216
+ }
206
217
  const createPathConfigForScreens = (screens, groupLinking, initialRouteName) => {
207
218
  return Object.fromEntries(Object.entries(screens)
208
219
  // Re-order to move the initial route to the front
@@ -218,65 +229,121 @@ export function createPathConfigForStaticNavigation(tree, options, auto) {
218
229
  }).map(([key, item]) => {
219
230
  const screenConfig = {};
220
231
  const groupPath = typeof groupLinking === 'string' ? groupLinking : groupLinking?.path;
221
- const normalizePath = path => {
222
- return `${groupPath ?? ''}/${path}`.replace(/^\//, '') // Remove extra leading slash
223
- .replace(/\/$/, ''); // Remove extra trailing slash
232
+ const normalizePath = (path, exact) => {
233
+ const normalizePart = part => part.replace(/^\/+|\/+$/g, '');
234
+ if (exact) {
235
+ return normalizePart(path);
236
+ }
237
+ return [groupPath, path].filter(part => part != null && part !== '').map(normalizePart).filter(Boolean).join('/');
224
238
  };
225
- if ('linking' in item) {
239
+ if ('linking' in item && item.linking !== undefined) {
226
240
  if (typeof item.linking === 'string') {
227
241
  screenConfig.path = item.linking;
228
- } else {
242
+ } else if (item.linking != null && typeof item.linking === 'object') {
229
243
  Object.assign(screenConfig, item.linking);
230
244
  }
231
245
  }
232
- if (typeof groupLinking !== 'string') {
233
- if (groupLinking?.parse != null) {
234
- screenConfig.parse = {
235
- ...groupLinking.parse,
236
- ...screenConfig.parse
237
- };
238
- }
239
- if (groupLinking?.stringify != null) {
240
- screenConfig.stringify = {
241
- ...groupLinking.stringify,
242
- ...screenConfig.stringify
243
- };
244
- }
246
+ if (screenConfig.exact && screenConfig.path == null) {
247
+ throw new Error("A 'path' needs to be specified when specifying 'exact: true'. If you don't want this screen in the URL, specify it as empty string, e.g. `path: ''`.");
245
248
  }
246
249
  if (typeof screenConfig.path === 'string') {
247
- screenConfig.path = normalizePath(screenConfig.path);
250
+ screenConfig.path = normalizePath(screenConfig.path, screenConfig.exact);
251
+ }
252
+ if (screenConfig.alias != null) {
253
+ screenConfig.alias = screenConfig.alias.map(alias => {
254
+ if (typeof alias === 'string') {
255
+ return normalizePath(alias);
256
+ }
257
+ const groupParse = typeof groupLinking === 'string' ? undefined : groupLinking?.parse;
258
+ const hasGroupParams = groupParse != null && Object.keys(groupParse).some(name => alias.path.split('/').some(part => part.startsWith(`:${name}`)));
259
+ return {
260
+ ...alias,
261
+ ...(hasGroupParams ? {
262
+ parse: {
263
+ ...groupParse,
264
+ ...alias.parse
265
+ }
266
+ } : {}),
267
+ path: normalizePath(alias.path, alias.exact)
268
+ };
269
+ });
248
270
  }
249
271
  let screens;
272
+ const hasExplicitScreens = 'screens' in screenConfig && screenConfig.screens != null;
273
+ const hasDisabledLinking = 'linking' in item && item.linking === null;
274
+ const hasNestedStaticConfig = 'config' in item || 'screen' in item && 'config' in item.screen && (item.screen.config.screens || item.screen.config.groups);
275
+ const childOptions = 'initialRouteName' in screenConfig && typeof screenConfig.initialRouteName === 'string' ? {
276
+ initialRouteName: screenConfig.initialRouteName
277
+ } : undefined;
278
+ if (hasExplicitScreens && childOptions != null && !Object.keys(screenConfig.screens ?? {}).includes(childOptions.initialRouteName)) {
279
+ throw new Error(`Couldn't find a screen named '${childOptions.initialRouteName}' to use as 'initialRouteName'.`);
280
+ }
281
+ if (hasNestedStaticConfig && screenConfig.path == null && groupPath != null && !hasDisabledLinking) {
282
+ screenConfig.path = normalizePath('');
283
+ }
250
284
  const skipInitialDetectionInChild = skipInitialDetection || screenConfig.path != null && screenConfig.path !== '';
251
- if ('config' in item) {
252
- screens = createPathConfigForTree(item, undefined, skipInitialDetectionInChild);
253
- } else if ('screen' in item && 'config' in item.screen && (item.screen.config.screens || item.screen.config.groups)) {
254
- screens = createPathConfigForTree(item.screen, undefined, skipInitialDetectionInChild);
285
+ const allowAutoEmptyPathInChild = allowAutoEmptyPath && (initialRouteName == null || key === initialRouteName);
286
+ if (!hasExplicitScreens && !hasDisabledLinking && 'config' in item) {
287
+ screens = createPathConfigForTree(item, childOptions, skipInitialDetectionInChild, allowAutoEmptyPathInChild);
288
+ } else if (!hasExplicitScreens && !hasDisabledLinking && 'screen' in item && 'config' in item.screen && (item.screen.config.screens || item.screen.config.groups)) {
289
+ screens = createPathConfigForTree(item.screen, childOptions, skipInitialDetectionInChild, allowAutoEmptyPathInChild);
255
290
  }
256
291
  if (screens) {
257
292
  // @ts-expect-error - we can't type this properly
258
293
  screenConfig.screens = screens;
259
294
  }
260
295
  if (auto && !('screens' in screenConfig && screenConfig.screens) &&
261
- // Skip generating path for screens that specify linking config as `undefined` or `null` explicitly
262
- !('linking' in item && item.linking == null)) {
296
+ // Skip generating path for screens that specify linking config as `null` explicitly
297
+ !hasDisabledLinking) {
263
298
  if (screenConfig.path != null) {
264
299
  if (!skipInitialDetection) {
265
- if (key === initialRouteName && screenConfig.path != null) {
266
- initialScreenHasPath = true;
267
- } else if (screenConfig.path === '') {
300
+ if (screenConfig.path === '') {
268
301
  // We encounter a leaf screen with empty path,
269
302
  // Clear the initial screen config as it's not needed anymore
270
303
  initialScreenConfig = undefined;
304
+ hasEmptyPath = true;
305
+ if (allowAutoEmptyPath && key === initialRouteName) {
306
+ initialScreenHasPath = true;
307
+ }
308
+ } else if (allowAutoEmptyPath && key === initialRouteName &&
309
+ // Keep an already discovered fallback unless the initial route
310
+ // explicitly uses an empty path.
311
+ initialScreenConfig == null) {
312
+ initialScreenHasPath = true;
271
313
  }
272
314
  }
273
315
  } else {
274
- if (!groupPath && !skipInitialDetection && initialScreenConfig == null) {
316
+ if (!groupPath && !skipInitialDetection && allowAutoEmptyPath && (initialRouteName == null || key === initialRouteName) && !hasEmptyPath && initialScreenConfig == null) {
275
317
  initialScreenConfig = screenConfig;
276
318
  }
277
319
  screenConfig.path = normalizePath(key.replace(/([A-Z]+)/g, '-$1').replace(/^-/, '').toLowerCase());
278
320
  }
279
321
  }
322
+ const groupOptionKeys = typeof groupLinking === 'string' ? [] : Object.keys({
323
+ ...groupLinking?.parse,
324
+ ...groupLinking?.stringify
325
+ });
326
+ const hasAliasWithGroupParams = groupOptionKeys.length > 0 && screenConfig.alias?.some(alias => {
327
+ if (typeof alias !== 'string') {
328
+ return false;
329
+ }
330
+ return groupOptionKeys.some(name => alias.split('/').some(part => part.startsWith(`:${name}`)));
331
+ });
332
+ const shouldUseGroupOptions = typeof groupLinking !== 'string' && groupLinking != null && screenConfig.path != null && screenConfig.path !== '' && (!screenConfig.exact || hasAliasWithGroupParams);
333
+ if (shouldUseGroupOptions) {
334
+ if (groupLinking.parse != null) {
335
+ screenConfig.parse = {
336
+ ...groupLinking.parse,
337
+ ...screenConfig.parse
338
+ };
339
+ }
340
+ if (groupLinking.stringify != null && !screenConfig.exact) {
341
+ screenConfig.stringify = {
342
+ ...groupLinking.stringify,
343
+ ...screenConfig.stringify
344
+ };
345
+ }
346
+ }
280
347
  return [key, screenConfig];
281
348
  }).filter(([, screen]) => Object.keys(screen).length > 0));
282
349
  };
@@ -299,7 +366,7 @@ export function createPathConfigForStaticNavigation(tree, options, auto) {
299
366
  }
300
367
  return screens;
301
368
  };
302
- const screens = createPathConfigForTree(tree, options, false);
369
+ const screens = createPathConfigForTree(tree, options, false, true);
303
370
  if (auto && initialScreenConfig && !initialScreenHasPath) {
304
371
  initialScreenConfig.path = '';
305
372
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","isValidElementType","useRoute","jsx","_jsx","createScreenFactory","config","MemoizedScreen","memo","component","route","children","createElement","displayName","getItemsFromScreens","Screen","screens","Object","entries","map","name","item","props","useIf","isNavigator","screen","if","_if","rest","getComponent","Error","element","shouldRender","createComponentForStaticConfig","tree","Navigator","Group","groups","items","key","push","group","groupItems","navigationKey","length","NavigatorComponent","_","screenOptions","options","screenListeners","createPathConfigForStaticNavigation","auto","initialScreenHasPath","initialScreenConfig","createPathConfigForTree","t","o","skipInitialDetection","createPathConfigForScreens","groupLinking","initialRouteName","fromEntries","sort","a","b","screenConfig","groupPath","path","normalizePath","replace","linking","assign","parse","stringify","skipInitialDetectionInChild","undefined","toLowerCase","filter","keys","forEach"],"sourceRoot":"../../src","sources":["StaticNavigation.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","isValidElementType","useRoute","jsx","_jsx","createScreenFactory","config","MemoizedScreen","memo","component","route","children","createElement","displayName","getItemsFromScreens","Screen","screens","Object","entries","map","name","item","props","useIf","isNavigator","screen","if","_if","rest","getComponent","Error","element","shouldRender","createComponentForStaticConfig","tree","Navigator","Group","groups","items","key","push","group","groupItems","navigationKey","length","NavigatorComponent","_","screenOptions","options","screenListeners","createPathConfigForStaticNavigation","auto","initialScreenHasPath","initialScreenConfig","hasEmptyPath","createPathConfigForTree","t","o","skipInitialDetection","allowAutoEmptyPath","initialRouteName","routeNames","Set","keys","values","forEach","add","has","createPathConfigForScreens","groupLinking","fromEntries","sort","a","b","screenConfig","groupPath","path","normalizePath","exact","normalizePart","part","replace","filter","Boolean","join","linking","undefined","assign","alias","groupParse","parse","hasGroupParams","some","split","startsWith","hasExplicitScreens","hasDisabledLinking","hasNestedStaticConfig","childOptions","includes","skipInitialDetectionInChild","allowAutoEmptyPathInChild","toLowerCase","groupOptionKeys","stringify","hasAliasWithGroupParams","shouldUseGroupOptions"],"sourceRoot":"../../src","sources":["StaticNavigation.tsx"],"mappings":"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","ignoreList":[]}
@@ -114,7 +114,7 @@ export type StaticScreenConfigLinking = string | (StaticScreenConfigLinkingAlias
114
114
  * Only supported when the screen renders a navigator with dynamic API.
115
115
  */
116
116
  screens?: PathConfigMap<ParamListBase> | undefined;
117
- }) | undefined;
117
+ }) | null | undefined;
118
118
  export type StaticScreenConfigScreen = React.ComponentType<any> | StaticNavigation<any>;
119
119
  export type StaticScreenConfig<Linking extends StaticScreenConfigLinking, Screen, State extends NavigationState, ScreenOptions extends {}, EventMap extends EventMapBase, Navigation, Params = ParamsForConfig<Linking, Screen>> = {
120
120
  /**
@@ -236,10 +236,7 @@ export type StaticScreenFactory<in out Bag extends NavigatorTypeBagBase> = <cons
236
236
  */
237
237
  export declare function createScreenFactory<TypeBag extends NavigatorTypeBagBase>(): StaticScreenFactory<NavigatorTypeBagFor<TypeBag, ParamListBase>>;
238
238
  type StaticConfigScreens<in out ParamList extends ParamListBase, in out State extends NavigationState, in out ScreenOptions extends {}, in out EventMap extends EventMapBase, in out NavigationList extends NavigationListBase<ParamList>> = {
239
- [RouteName in keyof ParamList]: React.ComponentType<any> | StaticNavigation<any> | StaticScreenConfig<{
240
- path: string;
241
- parse?: Record<string, ((value: string) => any) | StandardSchemaV1<any, any>>;
242
- } | string | undefined, StaticNavigation<any> | React.ComponentType<any>, State, ScreenOptions, EventMap, NavigationList[RouteName], any>;
239
+ [RouteName in keyof ParamList]: React.ComponentType<any> | StaticNavigation<any> | StaticScreenConfig<StaticScreenConfigLinking, StaticNavigation<any> | React.ComponentType<any>, State, ScreenOptions, EventMap, NavigationList[RouteName], any>;
243
240
  };
244
241
  type StaticConfigGroup<ParamList extends ParamListBase, State extends NavigationState, ScreenOptions extends {}, EventMap extends EventMapBase, NavigationList extends NavigationListBase<ParamList>> = Omit<RouteGroupConfig<ParamList, ScreenOptions, NavigationList[keyof ParamList]>, 'screens' | 'children'> & {
245
242
  /**
@@ -331,17 +328,27 @@ export declare function createComponentForStaticConfig<T extends {
331
328
  }>(tree: T, displayName: string): React.ComponentType<Omit<React.ComponentProps<T['Navigator']>, 'children'>>;
332
329
  type LinkingForGroup = Pick<PathConfig<any>, 'path' | 'stringify' | 'parse'> | string;
333
330
  type TreeForPathConfig = {
334
- config: {
335
- initialRouteName?: string;
336
- screens?: StaticConfigScreens<ParamListBase, NavigationState, {}, EventMapBase, Record<string, unknown>>;
337
- groups?: {
338
- [key: string]: {
339
- linking?: LinkingForGroup;
340
- screens: StaticConfigScreens<ParamListBase, NavigationState, {}, EventMapBase, Record<string, unknown>>;
341
- };
331
+ config: ConfigForPathConfig;
332
+ };
333
+ type ConfigForPathConfig = {
334
+ initialRouteName?: string;
335
+ screens?: Record<string, ScreenForPathConfig>;
336
+ groups?: {
337
+ [key: string]: {
338
+ linking?: LinkingForGroup;
339
+ screens: Record<string, ScreenForPathConfig>;
342
340
  };
343
341
  };
344
342
  };
343
+ type LinkingForPathConfig = string | (Partial<StaticScreenConfigLinkingAlias> & {
344
+ alias?: (string | StaticScreenConfigLinkingAlias)[];
345
+ initialRouteName?: string | undefined;
346
+ screens?: PathConfigMap<ParamListBase> | undefined;
347
+ }) | null | undefined;
348
+ type ScreenForPathConfig = React.ComponentType<{}> | TreeForPathConfig | {
349
+ screen: React.ComponentType<{}> | TreeForPathConfig;
350
+ linking?: LinkingForPathConfig;
351
+ };
345
352
  /**
346
353
  * Create a path config object from a static navigation config for deep linking.
347
354
  *
@@ -1 +1 @@
1
- {"version":3,"file":"StaticNavigation.d.ts","sourceRoot":"","sources":["../../../src/StaticNavigation.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,KAAK,EACN,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EACV,uBAAuB,EACvB,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,KAAK,EACN,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EACV,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,sBAAsB,EACtB,MAAM,EACN,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAErB,KAAK,wBAAwB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,GACpE,YAAY,CAAC,CAAC,CAAC,SAAS,IAAI,GAC1B,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC;IAAE,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC,CAAC,GACpE,MAAM,GACN,SAAS,GACX,SAAS,GACX,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC;IAAE,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC,CAAC,GACpE,MAAM,GACN,SAAS,CAAC;AAIhB,KAAK,wBAAwB,CAC3B,CAAC,SAAS;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,EACzB,SAAS,SAAS,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,IACvC;KAGD,SAAS,IAAI,MAAM,SAAS,CAAC,CAAC,GAAG,SAAS,SAAS,SAAS,CAAC,SAAS,CAAC,GACpE,KAAK,GACL,SAAS;CACd,CAAC,MAAM,SAAS,CAAC,SAAS,KAAK,GAC5B,qBAAqB,CAAC,SAAS,CAAC,GAAG,SAAS,GAC5C,qBAAqB,CAAC,SAAS,CAAC,CAAC;AAErC,KAAK,eAAe,CAAC,CAAC,IAEpB,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,MAAM,CAAA;CAAE,GAC9B,oBAAoB,CAAC,MAAM,CAAC,GAE5B,CAAC,SAAS;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,GACvB,wBAAwB,CAAC,CAAC,CAAC,GAC3B,wBAAwB,CAAC,CAAC,CAAC,CAAC;AAMpC,KAAK,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,CAAC,GACxD,wBAAwB,CAAC,CAAC,CAAC,GAC3B,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GACpC,wBAAwB,CAAC,CAAC,CAAC,GAC3B,SAAS,CAAC;AAKhB,KAAK,sBAAsB,CAAC,OAAO,IAAI,OAAO,SAC1C,gBAAgB,GAChB;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAClC,IAAI,GACJ,KAAK,CAAC;AAEV,KAAK,2BAA2B,CAAC,aAAa,EAAE,YAAY,IAC1D,SAAS,SAAS,YAAY,GAC1B,QAAQ,CAAC,aAAa,CAAC,GACvB,QAAQ,CAAC,aAAa,GAAG,YAAY,CAAC,CAAC;AAE7C;;;;;GAKG;AACH,KAAK,eAAe,CAAC,OAAO,EAAE,MAAM,IAAI,uBAAuB,CAC7D,OAAO,EACP,MAAM,EACN,oBAAoB,CAAC,MAAM,CAAC,CAC7B,CAAC;AAEF,KAAK,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,SAAS,SAAS,OAAO,GACzE,EAAE,GACF,sBAAsB,CAAC,OAAO,CAAC,SAAS,IAAI,GAC1C,CAAC,MAAM,CAAC,SAAS,CAAC;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,CAAC,GAChC,QAAQ,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAC9C,2BAA2B,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,GAClE,EAAE,CAAC;AAET,KAAK,mBAAmB,CAAC,OAAO,IAAI;KACjC,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,kBAAkB,CAC/D,MAAM,OAAO,EACb,MAAM,MAAM,EACZ,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,CACJ,GACG,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,GAChC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;CAClC,CAAC;AAEF,KAAK,kBAAkB,CACrB,MAAM,SACF,QAAQ,CAAC;IACP,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,OAAO,EAAE,EAAE,CAAC;KACb,CAAC;CACH,CAAC,GACF,SAAS,IACX,MAAM,SAAS;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,OAAO,EAAE,MAAM,OAAO,CAAC;KACxB,CAAC;CACH,GACG,mBAAmB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,GACjD,EAAE,CAAC;AAEP,KAAK,SAAS,CAAC,MAAM,IAAI,QAAQ,CAC/B,QAAQ,CACN,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,GACjD,QAAQ,CACN,SAAS,SAAS,MAAM,GACpB;IACE;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;CAC/B,GACD;IACE;;OAEG;IACH,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;CAC9B,CACN,CACJ,CACF,CAAC;AAEF,KAAK,8BAA8B,GAAG;IACpC;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;;;;;;OAUG;IACH,KAAK,CAAC,EAAE,MAAM,CACZ,MAAM,EACJ,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,GAC5B,gBAAgB,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,EAAE,OAAO,CAAC,CAClE,CAAC;IACF;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,yBAAyB,GACjC,MAAM,GACN,CAAC,8BAA8B,GAAG;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,8BAA8B,CAAC,EAAE,CAAC;IACpD;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;CACpD,CAAC,GACF,SAAS,CAAC;AAEd,MAAM,MAAM,wBAAwB,GAChC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GACxB,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAE1B,MAAM,MAAM,kBAAkB,CAC5B,OAAO,SAAS,yBAAyB,EACzC,MAAM,EACN,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,UAAU,EACV,MAAM,GAAG,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,IACvC;IACF;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;;;;;;;;OAYG;IACH,EAAE,CAAC,EAAE,MAAM,OAAO,CAAC;IAEnB;;;;;;;;;OASG;IACH,OAAO,CAAC,EACJ,aAAa,GACb,CAAC,CAAC,KAAK,EAAE;QACP,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QACzB,UAAU,EAAE,UAAU,CAAC;QACvB,KAAK,EAAE,KAAK,CAAC;KACd,KAAK,aAAa,CAAC,CAAC;IAEzB;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,EACN,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,GAChC,CAAC,CAAC,KAAK,EAAE;QACP,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QACzB,UAAU,EAAE,UAAU,CAAC;KACxB,KAAK,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE5C;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE;QACf,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,EAAE,aAAa,CAAC;QACvB,UAAU,EAAE,UAAU,CAAC;QACvB,KAAK,EAAE,KAAK,CAAC;QACb,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;KAC9B,KAAK,KAAK,CAAC,YAAY,CAAC;IAEzB;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,YAAY,CAAC,MAAM,SAAS,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC;IAE9E;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;KAAE,KAAK,MAAM,GAAG,SAAS,CAAC;IAExE;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,oBAAoB,IAAI,CACzE,KAAK,CAAC,OAAO,SAAS,yBAAyB,EAC/C,KAAK,CAAC,MAAM,SAAS,wBAAwB,EAE7C,MAAM,EAAE,kBAAkB,CACxB,OAAO,EACP,MAAM,EACN,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,eAAe,CAAC,EACpB,GAAG,CAAC,UAAU,CAAC,EACf,GAAG,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,CAC9C,KACE,kBAAkB,CACrB,OAAO,EACP,MAAM,EACN,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,eAAe,CAAC,EACpB,GAAG,CAAC,UAAU,CAAC,EACf,GAAG,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,CAC9C,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,SAAS,oBAAoB,KACjC,mBAAmB,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAEpE;AAED,KAAK,mBAAmB,CACtB,EAAE,CAAC,GAAG,CAAC,SAAS,SAAS,aAAa,EACtC,EAAE,CAAC,GAAG,CAAC,KAAK,SAAS,eAAe,EACpC,EAAE,CAAC,GAAG,CAAC,aAAa,SAAS,EAAE,EAC/B,EAAE,CAAC,GAAG,CAAC,QAAQ,SAAS,YAAY,EACpC,EAAE,CAAC,GAAG,CAAC,cAAc,SAAS,kBAAkB,CAAC,SAAS,CAAC,IACzD;KACD,SAAS,IAAI,MAAM,SAAS,GACzB,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GACxB,gBAAgB,CAAC,GAAG,CAAC,GACrB,kBAAkB,CACd;QACE,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CACZ,MAAM,EACN,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,GAAG,CAAC,GAAG,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CACtD,CAAC;KACH,GACD,MAAM,GACN,SAAS,EACX,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAChD,KAAK,EACL,aAAa,EACb,QAAQ,EACR,cAAc,CAAC,SAAS,CAAC,EACzB,GAAG,CACJ;CACN,CAAC;AAEF,KAAK,iBAAiB,CACpB,SAAS,SAAS,aAAa,EAC/B,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,cAAc,SAAS,kBAAkB,CAAC,SAAS,CAAC,IAClD,IAAI,CACN,gBAAgB,CAAC,SAAS,EAAE,aAAa,EAAE,cAAc,CAAC,MAAM,SAAS,CAAC,CAAC,EAC3E,SAAS,GAAG,UAAU,CACvB,GAAG;IACF;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,OAAO,CAAC;IACnB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B;;OAEG;IACH,OAAO,EAAE,mBAAmB,CAC1B,SAAS,EACT,KAAK,EACL,aAAa,EACb,QAAQ,EACR,cAAc,CACf,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,YAAY,CAAC,GAAG,SAAS,oBAAoB,IACvD,oBAAoB,CAClB,GAAG,CAAC,WAAW,CAAC,EAChB,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,eAAe,CAAC,EACpB,GAAG,CAAC,UAAU,CAAC,EACf,GAAG,CAAC,gBAAgB,CAAC,EACrB,GAAG,CAAC,WAAW,CAAC,CACjB,CAAC;AAEJ,KAAK,oBAAoB,CACvB,SAAS,SAAS,aAAa,EAC/B,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,cAAc,SAAS,kBAAkB,CAAC,SAAS,CAAC,EACpD,SAAS,SAAS,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,IACxC,IAAI,CACN,IAAI,CACF,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,EAC/B,MAAM,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CACvD,GACC,uBAAuB,CACrB,SAAS,EACT,KAAK,EACL,aAAa,EACb,QAAQ,EACR,cAAc,CAAC,MAAM,SAAS,CAAC,CAChC,EACH,SAAS,GAAG,UAAU,CACvB,GACC,CACI;IACE;;OAEG;IACH,OAAO,EAAE,mBAAmB,CAC1B,SAAS,EACT,KAAK,EACL,aAAa,EACb,QAAQ,EACR,cAAc,CACf,CAAC;IACF;;OAEG;IACH,MAAM,CAAC,EAAE;QACP,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAC9B,SAAS,EACT,KAAK,EACL,aAAa,EACb,QAAQ,EACR,cAAc,CACf,CAAC;KACH,CAAC;CACH,GACD;IACE;;OAEG;IACH,OAAO,CAAC,EAAE,mBAAmB,CAC3B,SAAS,EACT,KAAK,EACL,aAAa,EACb,QAAQ,EACR,cAAc,CACf,CAAC;IACF;;OAEG;IACH,MAAM,EAAE;QACN,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAC9B,SAAS,EACT,KAAK,EACL,aAAa,EACb,QAAQ,EACR,cAAc,CACf,CAAC;KACH,CAAC;CACH,CACJ,CAAC;AAEJ;;;GAGG;AACH,MAAM,MAAM,iBAAiB,CAC3B,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,IAClD;IACF,KAAK,EAAE;QACL,MAAM,EAAE,CAAC,CAAC;KACX,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,CACzB,CAAC,SAAS;IACR,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;CACtB,IACC,QAAQ,CACV,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,GACzC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAC5C,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAC1B,EAAE,CAAC,GAAG,CAAC,gBAAgB,SAAS,oBAAoB,IAClD;IACF,MAAM,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACvC,YAAY,EAAE,MAAM,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;CAC7C,CAAC;AAuEF;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAC5C,CAAC,SAAS;IACR,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACpC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,EAAE,YAAY,CAAC,oBAAoB,CAAC,CAAC;CAC5C,EAED,IAAI,EAAE,CAAC,EACP,WAAW,EAAE,MAAM,GAClB,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CA+F7E;AAED,KAAK,eAAe,GAChB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC,GACrD,MAAM,CAAC;AAEX,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE;QACN,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,OAAO,CAAC,EAAE,mBAAmB,CAC3B,aAAa,EACb,eAAe,EACf,EAAE,EACF,YAAY,EACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACxB,CAAC;QACF,MAAM,CAAC,EAAE;YACP,CAAC,GAAG,EAAE,MAAM,GAAG;gBACb,OAAO,CAAC,EAAE,eAAe,CAAC;gBAC1B,OAAO,EAAE,mBAAmB,CAC1B,aAAa,EACb,eAAe,EACf,EAAE,EACF,YAAY,EACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACxB,CAAC;aACH,CAAC;SACH,CAAC;KACH,CAAC;CACH,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mCAAmC,CAAC,SAAS,SAAS,EAAE,EACtE,IAAI,EAAE,iBAAiB,EACvB,OAAO,CAAC,EAAE;IACR,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC,EACD,IAAI,CAAC,EAAE,OAAO,GACb,aAAa,CAAC,SAAS,CAAC,GAAG,SAAS,CA+LtC"}
1
+ {"version":3,"file":"StaticNavigation.d.ts","sourceRoot":"","sources":["../../../src/StaticNavigation.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,KAAK,EACN,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EACV,uBAAuB,EACvB,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,KAAK,EACN,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EACV,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,sBAAsB,EACtB,MAAM,EACN,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAErB,KAAK,wBAAwB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,GACpE,YAAY,CAAC,CAAC,CAAC,SAAS,IAAI,GAC1B,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC;IAAE,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC,CAAC,GACpE,MAAM,GACN,SAAS,GACX,SAAS,GACX,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC;IAAE,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC,CAAC,GACpE,MAAM,GACN,SAAS,CAAC;AAIhB,KAAK,wBAAwB,CAC3B,CAAC,SAAS;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,EACzB,SAAS,SAAS,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,IACvC;KAGD,SAAS,IAAI,MAAM,SAAS,CAAC,CAAC,GAAG,SAAS,SAAS,SAAS,CAAC,SAAS,CAAC,GACpE,KAAK,GACL,SAAS;CACd,CAAC,MAAM,SAAS,CAAC,SAAS,KAAK,GAC5B,qBAAqB,CAAC,SAAS,CAAC,GAAG,SAAS,GAC5C,qBAAqB,CAAC,SAAS,CAAC,CAAC;AAErC,KAAK,eAAe,CAAC,CAAC,IAEpB,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,MAAM,CAAA;CAAE,GAC9B,oBAAoB,CAAC,MAAM,CAAC,GAE5B,CAAC,SAAS;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,GACvB,wBAAwB,CAAC,CAAC,CAAC,GAC3B,wBAAwB,CAAC,CAAC,CAAC,CAAC;AAMpC,KAAK,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,CAAC,GACxD,wBAAwB,CAAC,CAAC,CAAC,GAC3B,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GACpC,wBAAwB,CAAC,CAAC,CAAC,GAC3B,SAAS,CAAC;AAKhB,KAAK,sBAAsB,CAAC,OAAO,IAAI,OAAO,SAC1C,gBAAgB,GAChB;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAClC,IAAI,GACJ,KAAK,CAAC;AAEV,KAAK,2BAA2B,CAAC,aAAa,EAAE,YAAY,IAC1D,SAAS,SAAS,YAAY,GAC1B,QAAQ,CAAC,aAAa,CAAC,GACvB,QAAQ,CAAC,aAAa,GAAG,YAAY,CAAC,CAAC;AAE7C;;;;;GAKG;AACH,KAAK,eAAe,CAAC,OAAO,EAAE,MAAM,IAAI,uBAAuB,CAC7D,OAAO,EACP,MAAM,EACN,oBAAoB,CAAC,MAAM,CAAC,CAC7B,CAAC;AAEF,KAAK,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,SAAS,SAAS,OAAO,GACzE,EAAE,GACF,sBAAsB,CAAC,OAAO,CAAC,SAAS,IAAI,GAC1C,CAAC,MAAM,CAAC,SAAS,CAAC;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,CAAC,GAChC,QAAQ,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAC9C,2BAA2B,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,GAClE,EAAE,CAAC;AAET,KAAK,mBAAmB,CAAC,OAAO,IAAI;KACjC,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,kBAAkB,CAC/D,MAAM,OAAO,EACb,MAAM,MAAM,EACZ,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,CACJ,GACG,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,GAChC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;CAClC,CAAC;AAEF,KAAK,kBAAkB,CACrB,MAAM,SACF,QAAQ,CAAC;IACP,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,OAAO,EAAE,EAAE,CAAC;KACb,CAAC;CACH,CAAC,GACF,SAAS,IACX,MAAM,SAAS;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,OAAO,EAAE,MAAM,OAAO,CAAC;KACxB,CAAC;CACH,GACG,mBAAmB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,GACjD,EAAE,CAAC;AAEP,KAAK,SAAS,CAAC,MAAM,IAAI,QAAQ,CAC/B,QAAQ,CACN,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,GACjD,QAAQ,CACN,SAAS,SAAS,MAAM,GACpB;IACE;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;CAC/B,GACD;IACE;;OAEG;IACH,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;CAC9B,CACN,CACJ,CACF,CAAC;AAEF,KAAK,8BAA8B,GAAG;IACpC;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;;;;;;OAUG;IACH,KAAK,CAAC,EAAE,MAAM,CACZ,MAAM,EACJ,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,GAC5B,gBAAgB,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,EAAE,OAAO,CAAC,CAClE,CAAC;IACF;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,yBAAyB,GACjC,MAAM,GACN,CAAC,8BAA8B,GAAG;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,8BAA8B,CAAC,EAAE,CAAC;IACpD;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;CACpD,CAAC,GACF,IAAI,GACJ,SAAS,CAAC;AAEd,MAAM,MAAM,wBAAwB,GAChC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GACxB,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAE1B,MAAM,MAAM,kBAAkB,CAC5B,OAAO,SAAS,yBAAyB,EACzC,MAAM,EACN,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,UAAU,EACV,MAAM,GAAG,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,IACvC;IACF;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;;;;;;;;OAYG;IACH,EAAE,CAAC,EAAE,MAAM,OAAO,CAAC;IAEnB;;;;;;;;;OASG;IACH,OAAO,CAAC,EACJ,aAAa,GACb,CAAC,CAAC,KAAK,EAAE;QACP,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QACzB,UAAU,EAAE,UAAU,CAAC;QACvB,KAAK,EAAE,KAAK,CAAC;KACd,KAAK,aAAa,CAAC,CAAC;IAEzB;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,EACN,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,GAChC,CAAC,CAAC,KAAK,EAAE;QACP,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QACzB,UAAU,EAAE,UAAU,CAAC;KACxB,KAAK,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE5C;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE;QACf,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO,EAAE,aAAa,CAAC;QACvB,UAAU,EAAE,UAAU,CAAC;QACvB,KAAK,EAAE,KAAK,CAAC;QACb,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;KAC9B,KAAK,KAAK,CAAC,YAAY,CAAC;IAEzB;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,YAAY,CAAC,MAAM,SAAS,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC;IAE9E;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;KAAE,KAAK,MAAM,GAAG,SAAS,CAAC;IAExE;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,oBAAoB,IAAI,CACzE,KAAK,CAAC,OAAO,SAAS,yBAAyB,EAC/C,KAAK,CAAC,MAAM,SAAS,wBAAwB,EAE7C,MAAM,EAAE,kBAAkB,CACxB,OAAO,EACP,MAAM,EACN,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,eAAe,CAAC,EACpB,GAAG,CAAC,UAAU,CAAC,EACf,GAAG,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,CAC9C,KACE,kBAAkB,CACrB,OAAO,EACP,MAAM,EACN,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,eAAe,CAAC,EACpB,GAAG,CAAC,UAAU,CAAC,EACf,GAAG,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,CAC9C,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,SAAS,oBAAoB,KACjC,mBAAmB,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAEpE;AAED,KAAK,mBAAmB,CACtB,EAAE,CAAC,GAAG,CAAC,SAAS,SAAS,aAAa,EACtC,EAAE,CAAC,GAAG,CAAC,KAAK,SAAS,eAAe,EACpC,EAAE,CAAC,GAAG,CAAC,aAAa,SAAS,EAAE,EAC/B,EAAE,CAAC,GAAG,CAAC,QAAQ,SAAS,YAAY,EACpC,EAAE,CAAC,GAAG,CAAC,cAAc,SAAS,kBAAkB,CAAC,SAAS,CAAC,IACzD;KACD,SAAS,IAAI,MAAM,SAAS,GACzB,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GACxB,gBAAgB,CAAC,GAAG,CAAC,GACrB,kBAAkB,CAChB,yBAAyB,EACzB,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAChD,KAAK,EACL,aAAa,EACb,QAAQ,EACR,cAAc,CAAC,SAAS,CAAC,EACzB,GAAG,CACJ;CACN,CAAC;AAEF,KAAK,iBAAiB,CACpB,SAAS,SAAS,aAAa,EAC/B,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,cAAc,SAAS,kBAAkB,CAAC,SAAS,CAAC,IAClD,IAAI,CACN,gBAAgB,CAAC,SAAS,EAAE,aAAa,EAAE,cAAc,CAAC,MAAM,SAAS,CAAC,CAAC,EAC3E,SAAS,GAAG,UAAU,CACvB,GAAG;IACF;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,OAAO,CAAC;IACnB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B;;OAEG;IACH,OAAO,EAAE,mBAAmB,CAC1B,SAAS,EACT,KAAK,EACL,aAAa,EACb,QAAQ,EACR,cAAc,CACf,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,YAAY,CAAC,GAAG,SAAS,oBAAoB,IACvD,oBAAoB,CAClB,GAAG,CAAC,WAAW,CAAC,EAChB,GAAG,CAAC,OAAO,CAAC,EACZ,GAAG,CAAC,eAAe,CAAC,EACpB,GAAG,CAAC,UAAU,CAAC,EACf,GAAG,CAAC,gBAAgB,CAAC,EACrB,GAAG,CAAC,WAAW,CAAC,CACjB,CAAC;AAEJ,KAAK,oBAAoB,CACvB,SAAS,SAAS,aAAa,EAC/B,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,cAAc,SAAS,kBAAkB,CAAC,SAAS,CAAC,EACpD,SAAS,SAAS,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,IACxC,IAAI,CACN,IAAI,CACF,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,EAC/B,MAAM,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CACvD,GACC,uBAAuB,CACrB,SAAS,EACT,KAAK,EACL,aAAa,EACb,QAAQ,EACR,cAAc,CAAC,MAAM,SAAS,CAAC,CAChC,EACH,SAAS,GAAG,UAAU,CACvB,GACC,CACI;IACE;;OAEG;IACH,OAAO,EAAE,mBAAmB,CAC1B,SAAS,EACT,KAAK,EACL,aAAa,EACb,QAAQ,EACR,cAAc,CACf,CAAC;IACF;;OAEG;IACH,MAAM,CAAC,EAAE;QACP,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAC9B,SAAS,EACT,KAAK,EACL,aAAa,EACb,QAAQ,EACR,cAAc,CACf,CAAC;KACH,CAAC;CACH,GACD;IACE;;OAEG;IACH,OAAO,CAAC,EAAE,mBAAmB,CAC3B,SAAS,EACT,KAAK,EACL,aAAa,EACb,QAAQ,EACR,cAAc,CACf,CAAC;IACF;;OAEG;IACH,MAAM,EAAE;QACN,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAC9B,SAAS,EACT,KAAK,EACL,aAAa,EACb,QAAQ,EACR,cAAc,CACf,CAAC;KACH,CAAC;CACH,CACJ,CAAC;AAEJ;;;GAGG;AACH,MAAM,MAAM,iBAAiB,CAC3B,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,IAClD;IACF,KAAK,EAAE;QACL,MAAM,EAAE,CAAC,CAAC;KACX,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,CACzB,CAAC,SAAS;IACR,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;CACtB,IACC,QAAQ,CACV,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,GACzC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAC5C,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAC1B,EAAE,CAAC,GAAG,CAAC,gBAAgB,SAAS,oBAAoB,IAClD;IACF,MAAM,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACvC,YAAY,EAAE,MAAM,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;CAC7C,CAAC;AAuEF;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAC5C,CAAC,SAAS;IACR,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACpC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,EAAE,YAAY,CAAC,oBAAoB,CAAC,CAAC;CAC5C,EAED,IAAI,EAAE,CAAC,EACP,WAAW,EAAE,MAAM,GAClB,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CA+F7E;AAED,KAAK,eAAe,GAChB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC,GACrD,MAAM,CAAC;AAEX,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,mBAAmB,CAAC;CAC7B,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC9C,MAAM,CAAC,EAAE;QACP,CAAC,GAAG,EAAE,MAAM,GAAG;YACb,OAAO,CAAC,EAAE,eAAe,CAAC;YAC1B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;SAC9C,CAAC;KACH,CAAC;CACH,CAAC;AAEF,KAAK,oBAAoB,GACrB,MAAM,GACN,CAAC,OAAO,CAAC,8BAA8B,CAAC,GAAG;IACzC,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,8BAA8B,CAAC,EAAE,CAAC;IACpD,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,OAAO,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;CACpD,CAAC,GACF,IAAI,GACJ,SAAS,CAAC;AAEd,KAAK,mBAAmB,GACpB,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,GACvB,iBAAiB,GACjB;IACE,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC;IACpD,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC,CAAC;AAEN;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mCAAmC,CAAC,SAAS,SAAS,EAAE,EACtE,IAAI,EAAE,iBAAiB,EACvB,OAAO,CAAC,EAAE;IACR,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC,EACD,IAAI,CAAC,EAAE,OAAO,GACb,aAAa,CAAC,SAAS,CAAC,GAAG,SAAS,CAuVtC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@react-navigation/core",
3
3
  "description": "Core utilities for building navigators",
4
- "version": "8.0.0-alpha.18",
4
+ "version": "8.0.0-alpha.19",
5
5
  "keywords": [
6
6
  "react",
7
7
  "react-native",
@@ -85,5 +85,5 @@
85
85
  ]
86
86
  ]
87
87
  },
88
- "gitHead": "b7aefd9b75d991723412d30505221d00debf3665"
88
+ "gitHead": "aef5fe3605dd760ba92e560c9fda9c7e64ac26a7"
89
89
  }
@@ -219,6 +219,7 @@ export type StaticScreenConfigLinking =
219
219
  */
220
220
  screens?: PathConfigMap<ParamListBase> | undefined;
221
221
  })
222
+ | null
222
223
  | undefined;
223
224
 
224
225
  export type StaticScreenConfigScreen =
@@ -399,15 +400,7 @@ type StaticConfigScreens<
399
400
  | React.ComponentType<any>
400
401
  | StaticNavigation<any>
401
402
  | StaticScreenConfig<
402
- | {
403
- path: string;
404
- parse?: Record<
405
- string,
406
- ((value: string) => any) | StandardSchemaV1<any, any>
407
- >;
408
- }
409
- | string
410
- | undefined,
403
+ StaticScreenConfigLinking,
411
404
  StaticNavigation<any> | React.ComponentType<any>,
412
405
  State,
413
406
  ScreenOptions,
@@ -766,30 +759,38 @@ type LinkingForGroup =
766
759
  | string;
767
760
 
768
761
  type TreeForPathConfig = {
769
- config: {
770
- initialRouteName?: string;
771
- screens?: StaticConfigScreens<
772
- ParamListBase,
773
- NavigationState,
774
- {},
775
- EventMapBase,
776
- Record<string, unknown>
777
- >;
778
- groups?: {
779
- [key: string]: {
780
- linking?: LinkingForGroup;
781
- screens: StaticConfigScreens<
782
- ParamListBase,
783
- NavigationState,
784
- {},
785
- EventMapBase,
786
- Record<string, unknown>
787
- >;
788
- };
762
+ config: ConfigForPathConfig;
763
+ };
764
+
765
+ type ConfigForPathConfig = {
766
+ initialRouteName?: string;
767
+ screens?: Record<string, ScreenForPathConfig>;
768
+ groups?: {
769
+ [key: string]: {
770
+ linking?: LinkingForGroup;
771
+ screens: Record<string, ScreenForPathConfig>;
789
772
  };
790
773
  };
791
774
  };
792
775
 
776
+ type LinkingForPathConfig =
777
+ | string
778
+ | (Partial<StaticScreenConfigLinkingAlias> & {
779
+ alias?: (string | StaticScreenConfigLinkingAlias)[];
780
+ initialRouteName?: string | undefined;
781
+ screens?: PathConfigMap<ParamListBase> | undefined;
782
+ })
783
+ | null
784
+ | undefined;
785
+
786
+ type ScreenForPathConfig =
787
+ | React.ComponentType<{}>
788
+ | TreeForPathConfig
789
+ | {
790
+ screen: React.ComponentType<{}> | TreeForPathConfig;
791
+ linking?: LinkingForPathConfig;
792
+ };
793
+
793
794
  /**
794
795
  * Create a path config object from a static navigation config for deep linking.
795
796
  *
@@ -818,22 +819,34 @@ export function createPathConfigForStaticNavigation<ParamList extends {}>(
818
819
  ): PathConfigMap<ParamList> | undefined {
819
820
  let initialScreenHasPath: boolean = false;
820
821
  let initialScreenConfig: PathConfig<{}> | undefined;
822
+ let hasEmptyPath = false;
821
823
 
822
824
  const createPathConfigForTree = (
823
825
  t: TreeForPathConfig,
824
826
  o: { initialRouteName?: string | undefined } | undefined,
825
827
  // If a screen is a leaf node, but inside a screen with path,
826
828
  // It should not be used for initial detection
827
- skipInitialDetection: boolean
829
+ skipInitialDetection: boolean,
830
+ allowAutoEmptyPath: boolean
828
831
  ) => {
832
+ const initialRouteName = o?.initialRouteName ?? t.config.initialRouteName;
833
+
834
+ if (initialRouteName != null) {
835
+ const routeNames = new Set(Object.keys(t.config.screens ?? {}));
836
+
837
+ for (const group of Object.values(t.config.groups ?? {})) {
838
+ Object.keys(group.screens).forEach((name) => routeNames.add(name));
839
+ }
840
+
841
+ if (!routeNames.has(initialRouteName)) {
842
+ throw new Error(
843
+ `Couldn't find a screen named '${initialRouteName}' to use as 'initialRouteName'.`
844
+ );
845
+ }
846
+ }
847
+
829
848
  const createPathConfigForScreens = (
830
- screens: StaticConfigScreens<
831
- ParamListBase,
832
- NavigationState,
833
- {},
834
- EventMapBase,
835
- Record<string, unknown>
836
- >,
849
+ screens: Record<string, ScreenForPathConfig>,
837
850
  groupLinking: LinkingForGroup | undefined,
838
851
  initialRouteName: string | undefined
839
852
  ) => {
@@ -859,61 +872,146 @@ export function createPathConfigForStaticNavigation<ParamList extends {}>(
859
872
  ? groupLinking
860
873
  : groupLinking?.path;
861
874
 
862
- const normalizePath = (path: string) => {
863
- return `${groupPath ?? ''}/${path}`
864
- .replace(/^\//, '') // Remove extra leading slash
865
- .replace(/\/$/, ''); // Remove extra trailing slash
875
+ const normalizePath = (path: string, exact?: boolean) => {
876
+ const normalizePart = (part: string) =>
877
+ part.replace(/^\/+|\/+$/g, '');
878
+
879
+ if (exact) {
880
+ return normalizePart(path);
881
+ }
882
+
883
+ return [groupPath, path]
884
+ .filter((part): part is string => part != null && part !== '')
885
+ .map(normalizePart)
886
+ .filter(Boolean)
887
+ .join('/');
866
888
  };
867
889
 
868
- if ('linking' in item) {
890
+ if ('linking' in item && item.linking !== undefined) {
869
891
  if (typeof item.linking === 'string') {
870
892
  screenConfig.path = item.linking;
871
- } else {
893
+ } else if (
894
+ item.linking != null &&
895
+ typeof item.linking === 'object'
896
+ ) {
872
897
  Object.assign(screenConfig, item.linking);
873
898
  }
874
899
  }
875
900
 
876
- if (typeof groupLinking !== 'string') {
877
- if (groupLinking?.parse != null) {
878
- screenConfig.parse = {
879
- ...groupLinking.parse,
880
- ...screenConfig.parse,
881
- };
882
- }
883
-
884
- if (groupLinking?.stringify != null) {
885
- screenConfig.stringify = {
886
- ...groupLinking.stringify,
887
- ...screenConfig.stringify,
888
- };
889
- }
901
+ if (screenConfig.exact && screenConfig.path == null) {
902
+ throw new Error(
903
+ "A 'path' needs to be specified when specifying 'exact: true'. If you don't want this screen in the URL, specify it as empty string, e.g. `path: ''`."
904
+ );
890
905
  }
891
906
 
892
907
  if (typeof screenConfig.path === 'string') {
893
- screenConfig.path = normalizePath(screenConfig.path);
908
+ screenConfig.path = normalizePath(
909
+ screenConfig.path,
910
+ screenConfig.exact
911
+ );
912
+ }
913
+
914
+ if (screenConfig.alias != null) {
915
+ screenConfig.alias = screenConfig.alias.map((alias) => {
916
+ if (typeof alias === 'string') {
917
+ return normalizePath(alias);
918
+ }
919
+
920
+ const groupParse =
921
+ typeof groupLinking === 'string'
922
+ ? undefined
923
+ : groupLinking?.parse;
924
+ const hasGroupParams =
925
+ groupParse != null &&
926
+ Object.keys(groupParse).some((name) =>
927
+ alias.path
928
+ .split('/')
929
+ .some((part) => part.startsWith(`:${name}`))
930
+ );
931
+
932
+ return {
933
+ ...alias,
934
+ ...(hasGroupParams
935
+ ? {
936
+ parse: {
937
+ ...groupParse,
938
+ ...alias.parse,
939
+ },
940
+ }
941
+ : {}),
942
+ path: normalizePath(alias.path, alias.exact),
943
+ };
944
+ });
894
945
  }
895
946
 
896
947
  let screens;
897
948
 
949
+ const hasExplicitScreens =
950
+ 'screens' in screenConfig && screenConfig.screens != null;
951
+ const hasDisabledLinking =
952
+ 'linking' in item && item.linking === null;
953
+ const hasNestedStaticConfig =
954
+ 'config' in item ||
955
+ ('screen' in item &&
956
+ 'config' in item.screen &&
957
+ (item.screen.config.screens || item.screen.config.groups));
958
+ const childOptions =
959
+ 'initialRouteName' in screenConfig &&
960
+ typeof screenConfig.initialRouteName === 'string'
961
+ ? { initialRouteName: screenConfig.initialRouteName }
962
+ : undefined;
963
+
964
+ if (
965
+ hasExplicitScreens &&
966
+ childOptions != null &&
967
+ !Object.keys(screenConfig.screens ?? {}).includes(
968
+ childOptions.initialRouteName
969
+ )
970
+ ) {
971
+ throw new Error(
972
+ `Couldn't find a screen named '${childOptions.initialRouteName}' to use as 'initialRouteName'.`
973
+ );
974
+ }
975
+
976
+ if (
977
+ hasNestedStaticConfig &&
978
+ screenConfig.path == null &&
979
+ groupPath != null &&
980
+ !hasDisabledLinking
981
+ ) {
982
+ screenConfig.path = normalizePath('');
983
+ }
984
+
898
985
  const skipInitialDetectionInChild =
899
986
  skipInitialDetection ||
900
987
  (screenConfig.path != null && screenConfig.path !== '');
988
+ const allowAutoEmptyPathInChild =
989
+ allowAutoEmptyPath &&
990
+ (initialRouteName == null || key === initialRouteName);
901
991
 
902
- if ('config' in item) {
992
+ if (
993
+ !hasExplicitScreens &&
994
+ !hasDisabledLinking &&
995
+ 'config' in item
996
+ ) {
903
997
  screens = createPathConfigForTree(
904
998
  item,
905
- undefined,
906
- skipInitialDetectionInChild
999
+ childOptions,
1000
+ skipInitialDetectionInChild,
1001
+ allowAutoEmptyPathInChild
907
1002
  );
908
1003
  } else if (
1004
+ !hasExplicitScreens &&
1005
+ !hasDisabledLinking &&
909
1006
  'screen' in item &&
910
1007
  'config' in item.screen &&
911
1008
  (item.screen.config.screens || item.screen.config.groups)
912
1009
  ) {
913
1010
  screens = createPathConfigForTree(
914
1011
  item.screen,
915
- undefined,
916
- skipInitialDetectionInChild
1012
+ childOptions,
1013
+ skipInitialDetectionInChild,
1014
+ allowAutoEmptyPathInChild
917
1015
  );
918
1016
  }
919
1017
 
@@ -925,23 +1023,37 @@ export function createPathConfigForStaticNavigation<ParamList extends {}>(
925
1023
  if (
926
1024
  auto &&
927
1025
  !('screens' in screenConfig && screenConfig.screens) &&
928
- // Skip generating path for screens that specify linking config as `undefined` or `null` explicitly
929
- !('linking' in item && item.linking == null)
1026
+ // Skip generating path for screens that specify linking config as `null` explicitly
1027
+ !hasDisabledLinking
930
1028
  ) {
931
1029
  if (screenConfig.path != null) {
932
1030
  if (!skipInitialDetection) {
933
- if (key === initialRouteName && screenConfig.path != null) {
934
- initialScreenHasPath = true;
935
- } else if (screenConfig.path === '') {
1031
+ if (screenConfig.path === '') {
936
1032
  // We encounter a leaf screen with empty path,
937
1033
  // Clear the initial screen config as it's not needed anymore
938
1034
  initialScreenConfig = undefined;
1035
+ hasEmptyPath = true;
1036
+
1037
+ if (allowAutoEmptyPath && key === initialRouteName) {
1038
+ initialScreenHasPath = true;
1039
+ }
1040
+ } else if (
1041
+ allowAutoEmptyPath &&
1042
+ key === initialRouteName &&
1043
+ // Keep an already discovered fallback unless the initial route
1044
+ // explicitly uses an empty path.
1045
+ initialScreenConfig == null
1046
+ ) {
1047
+ initialScreenHasPath = true;
939
1048
  }
940
1049
  }
941
1050
  } else {
942
1051
  if (
943
1052
  !groupPath &&
944
1053
  !skipInitialDetection &&
1054
+ allowAutoEmptyPath &&
1055
+ (initialRouteName == null || key === initialRouteName) &&
1056
+ !hasEmptyPath &&
945
1057
  initialScreenConfig == null
946
1058
  ) {
947
1059
  initialScreenConfig = screenConfig;
@@ -956,6 +1068,47 @@ export function createPathConfigForStaticNavigation<ParamList extends {}>(
956
1068
  }
957
1069
  }
958
1070
 
1071
+ const groupOptionKeys =
1072
+ typeof groupLinking === 'string'
1073
+ ? []
1074
+ : Object.keys({
1075
+ ...groupLinking?.parse,
1076
+ ...groupLinking?.stringify,
1077
+ });
1078
+ const hasAliasWithGroupParams =
1079
+ groupOptionKeys.length > 0 &&
1080
+ screenConfig.alias?.some((alias) => {
1081
+ if (typeof alias !== 'string') {
1082
+ return false;
1083
+ }
1084
+
1085
+ return groupOptionKeys.some((name) =>
1086
+ alias.split('/').some((part) => part.startsWith(`:${name}`))
1087
+ );
1088
+ });
1089
+ const shouldUseGroupOptions =
1090
+ typeof groupLinking !== 'string' &&
1091
+ groupLinking != null &&
1092
+ screenConfig.path != null &&
1093
+ screenConfig.path !== '' &&
1094
+ (!screenConfig.exact || hasAliasWithGroupParams);
1095
+
1096
+ if (shouldUseGroupOptions) {
1097
+ if (groupLinking.parse != null) {
1098
+ screenConfig.parse = {
1099
+ ...groupLinking.parse,
1100
+ ...screenConfig.parse,
1101
+ };
1102
+ }
1103
+
1104
+ if (groupLinking.stringify != null && !screenConfig.exact) {
1105
+ screenConfig.stringify = {
1106
+ ...groupLinking.stringify,
1107
+ ...screenConfig.stringify,
1108
+ };
1109
+ }
1110
+ }
1111
+
959
1112
  return [key, screenConfig] as const;
960
1113
  })
961
1114
  .filter(([, screen]) => Object.keys(screen).length > 0)
@@ -999,7 +1152,7 @@ export function createPathConfigForStaticNavigation<ParamList extends {}>(
999
1152
  return screens;
1000
1153
  };
1001
1154
 
1002
- const screens = createPathConfigForTree(tree, options, false);
1155
+ const screens = createPathConfigForTree(tree, options, false, true);
1003
1156
 
1004
1157
  if (auto && initialScreenConfig && !initialScreenHasPath) {
1005
1158
  initialScreenConfig.path = '';