@react-navigation/core 7.0.0-alpha.15 → 7.0.0-alpha.17

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.
@@ -143,11 +143,12 @@ function createComponentForStaticNavigation(tree, displayName) {
143
143
  NavigatorComponent.displayName = displayName;
144
144
  return NavigatorComponent;
145
145
  }
146
-
147
146
  /**
148
147
  * Create a path config object from a static navigation config for deep linking.
149
148
  *
150
149
  * @param tree Static navigation config.
150
+ * @param options Additional options from `linking.config`.
151
+ * @param auto Whether to automatically generate paths for leaf screens.
151
152
  * @returns Path config object to use in linking config.
152
153
  *
153
154
  * @example
@@ -161,36 +162,83 @@ function createComponentForStaticNavigation(tree, displayName) {
161
162
  * };
162
163
  * ```
163
164
  */
164
- function createPathConfigForStaticNavigation(tree) {
165
- function createPathConfigForScreens(screens) {
166
- return Object.fromEntries(Object.entries(screens).map(_ref4 => {
167
- let [key, item] = _ref4;
168
- const screenConfig = {};
169
- if ('linking' in item) {
170
- if (typeof item.linking === 'string') {
171
- screenConfig.path = item.linking;
172
- } else {
173
- Object.assign(screenConfig, item.linking);
165
+ function createPathConfigForStaticNavigation(tree, options, auto) {
166
+ let initialScreenConfig;
167
+ const createPathConfigForTree = (t, o, skipInitialDetection) => {
168
+ const createPathConfigForScreens = (screens, initialRouteName) => {
169
+ return Object.fromEntries(Object.entries(screens)
170
+ // Re-order to move the initial route to the front
171
+ // This way we can detect the initial route correctly
172
+ .sort((_ref4, _ref5) => {
173
+ let [a] = _ref4;
174
+ let [b] = _ref5;
175
+ if (a === initialRouteName) {
176
+ return -1;
174
177
  }
175
- }
176
- if ('config' in item) {
177
- screenConfig.screens = createPathConfigForStaticNavigation(item);
178
- } else if ('screen' in item && 'config' in item.screen && (item.screen.config.screens || item.screen.config.groups)) {
179
- screenConfig.screens = createPathConfigForStaticNavigation(item.screen);
180
- }
181
- return [key, screenConfig];
182
- }).filter(_ref5 => {
183
- let [, screen] = _ref5;
184
- return Object.keys(screen).length > 0;
185
- }));
186
- }
187
- const config = tree.config.screens ? createPathConfigForScreens(tree.config.screens) : {};
188
- if (tree.config.groups) {
189
- Object.entries(tree.config.groups).forEach(_ref6 => {
190
- let [, group] = _ref6;
191
- Object.assign(config, createPathConfigForScreens(group.screens));
192
- });
178
+ if (b === initialRouteName) {
179
+ return 1;
180
+ }
181
+ return 0;
182
+ }).map(_ref6 => {
183
+ let [key, item] = _ref6;
184
+ const screenConfig = {};
185
+ if ('linking' in item) {
186
+ if (typeof item.linking === 'string') {
187
+ screenConfig.path = item.linking;
188
+ } else {
189
+ Object.assign(screenConfig, item.linking);
190
+ }
191
+ }
192
+ let screens;
193
+ if ('config' in item) {
194
+ screens = createPathConfigForTree(item, undefined, skipInitialDetection || screenConfig.path != null);
195
+ } else if ('screen' in item && 'config' in item.screen && (item.screen.config.screens || item.screen.config.groups)) {
196
+ screens = createPathConfigForTree(item.screen, undefined, skipInitialDetection || screenConfig.path != null);
197
+ }
198
+ if (screens) {
199
+ screenConfig.screens = screens;
200
+ }
201
+ if (auto && !screenConfig.screens && !('linking' in item)) {
202
+ if (screenConfig.path) {
203
+ if (!skipInitialDetection) {
204
+ // Normalize the path to remove leading and trailing slashes
205
+ const path = screenConfig.path?.split('/').filter(Boolean).join('/');
206
+
207
+ // We encounter a leaf screen with empty path,
208
+ // Clear the initial screen config as it's not needed anymore
209
+ if (!skipInitialDetection && path === '') {
210
+ initialScreenConfig = undefined;
211
+ }
212
+ }
213
+ } else {
214
+ if (!skipInitialDetection && initialScreenConfig == null) {
215
+ initialScreenConfig = screenConfig;
216
+ }
217
+ screenConfig.path = key.replace(/([A-Z]+)/g, '-$1').replace(/^-/, '').toLowerCase();
218
+ }
219
+ }
220
+ return [key, screenConfig];
221
+ }).filter(_ref7 => {
222
+ let [, screen] = _ref7;
223
+ return Object.keys(screen).length > 0;
224
+ }));
225
+ };
226
+ const screens = t.config.screens ? createPathConfigForScreens(t.config.screens, o?.initialRouteName ?? t.config.initialRouteName) : {};
227
+ if (t.config.groups) {
228
+ Object.entries(t.config.groups).forEach(_ref8 => {
229
+ let [, group] = _ref8;
230
+ Object.assign(screens, createPathConfigForScreens(group.screens, o?.initialRouteName ?? t.config.initialRouteName));
231
+ });
232
+ }
233
+ if (Object.keys(screens).length === 0) {
234
+ return undefined;
235
+ }
236
+ return screens;
237
+ };
238
+ const screens = createPathConfigForTree(tree, options, false);
239
+ if (auto && initialScreenConfig) {
240
+ initialScreenConfig.path = '';
193
241
  }
194
- return config;
242
+ return screens;
195
243
  }
196
244
  //# sourceMappingURL=StaticNavigation.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_reactIs","_useRoute","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","MemoizedScreen","memo","_ref","component","route","useRoute","children","createElement","getItemsFromScreens","Screen","screens","entries","map","_ref2","name","item","props","useIf","isNavigator","screen","if","_if","rest","isValidElementType","createComponentForStaticNavigation","Error","element","shouldRender","tree","displayName","Navigator","Group","config","groups","items","push","_ref3","group","groupItems","navigationKey","NavigatorComponent","createPathConfigForStaticNavigation","createPathConfigForScreens","fromEntries","_ref4","screenConfig","linking","path","filter","_ref5","keys","forEach","_ref6"],"sourceRoot":"../../src","sources":["StaticNavigation.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_reactIs","_useRoute","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","MemoizedScreen","memo","_ref","component","route","useRoute","children","createElement","getItemsFromScreens","Screen","screens","entries","map","_ref2","name","item","props","useIf","isNavigator","screen","if","_if","rest","isValidElementType","createComponentForStaticNavigation","Error","element","shouldRender","tree","displayName","Navigator","Group","config","groups","items","push","_ref3","group","groupItems","navigationKey","NavigatorComponent","createPathConfigForStaticNavigation","options","auto","initialScreenConfig","createPathConfigForTree","o","skipInitialDetection","createPathConfigForScreens","initialRouteName","fromEntries","sort","_ref4","_ref5","b","_ref6","screenConfig","linking","path","undefined","split","filter","Boolean","join","replace","toLowerCase","_ref7","keys","forEach","_ref8"],"sourceRoot":"../../src","sources":["StaticNavigation.tsx"],"mappings":"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"}
@@ -135,11 +135,12 @@ export function createComponentForStaticNavigation(tree, displayName) {
135
135
  NavigatorComponent.displayName = displayName;
136
136
  return NavigatorComponent;
137
137
  }
138
-
139
138
  /**
140
139
  * Create a path config object from a static navigation config for deep linking.
141
140
  *
142
141
  * @param tree Static navigation config.
142
+ * @param options Additional options from `linking.config`.
143
+ * @param auto Whether to automatically generate paths for leaf screens.
143
144
  * @returns Path config object to use in linking config.
144
145
  *
145
146
  * @example
@@ -153,36 +154,83 @@ export function createComponentForStaticNavigation(tree, displayName) {
153
154
  * };
154
155
  * ```
155
156
  */
156
- export function createPathConfigForStaticNavigation(tree) {
157
- function createPathConfigForScreens(screens) {
158
- return Object.fromEntries(Object.entries(screens).map(_ref4 => {
159
- let [key, item] = _ref4;
160
- const screenConfig = {};
161
- if ('linking' in item) {
162
- if (typeof item.linking === 'string') {
163
- screenConfig.path = item.linking;
164
- } else {
165
- Object.assign(screenConfig, item.linking);
157
+ export function createPathConfigForStaticNavigation(tree, options, auto) {
158
+ let initialScreenConfig;
159
+ const createPathConfigForTree = (t, o, skipInitialDetection) => {
160
+ const createPathConfigForScreens = (screens, initialRouteName) => {
161
+ return Object.fromEntries(Object.entries(screens)
162
+ // Re-order to move the initial route to the front
163
+ // This way we can detect the initial route correctly
164
+ .sort((_ref4, _ref5) => {
165
+ let [a] = _ref4;
166
+ let [b] = _ref5;
167
+ if (a === initialRouteName) {
168
+ return -1;
166
169
  }
167
- }
168
- if ('config' in item) {
169
- screenConfig.screens = createPathConfigForStaticNavigation(item);
170
- } else if ('screen' in item && 'config' in item.screen && (item.screen.config.screens || item.screen.config.groups)) {
171
- screenConfig.screens = createPathConfigForStaticNavigation(item.screen);
172
- }
173
- return [key, screenConfig];
174
- }).filter(_ref5 => {
175
- let [, screen] = _ref5;
176
- return Object.keys(screen).length > 0;
177
- }));
178
- }
179
- const config = tree.config.screens ? createPathConfigForScreens(tree.config.screens) : {};
180
- if (tree.config.groups) {
181
- Object.entries(tree.config.groups).forEach(_ref6 => {
182
- let [, group] = _ref6;
183
- Object.assign(config, createPathConfigForScreens(group.screens));
184
- });
170
+ if (b === initialRouteName) {
171
+ return 1;
172
+ }
173
+ return 0;
174
+ }).map(_ref6 => {
175
+ let [key, item] = _ref6;
176
+ const screenConfig = {};
177
+ if ('linking' in item) {
178
+ if (typeof item.linking === 'string') {
179
+ screenConfig.path = item.linking;
180
+ } else {
181
+ Object.assign(screenConfig, item.linking);
182
+ }
183
+ }
184
+ let screens;
185
+ if ('config' in item) {
186
+ screens = createPathConfigForTree(item, undefined, skipInitialDetection || screenConfig.path != null);
187
+ } else if ('screen' in item && 'config' in item.screen && (item.screen.config.screens || item.screen.config.groups)) {
188
+ screens = createPathConfigForTree(item.screen, undefined, skipInitialDetection || screenConfig.path != null);
189
+ }
190
+ if (screens) {
191
+ screenConfig.screens = screens;
192
+ }
193
+ if (auto && !screenConfig.screens && !('linking' in item)) {
194
+ if (screenConfig.path) {
195
+ if (!skipInitialDetection) {
196
+ // Normalize the path to remove leading and trailing slashes
197
+ const path = screenConfig.path?.split('/').filter(Boolean).join('/');
198
+
199
+ // We encounter a leaf screen with empty path,
200
+ // Clear the initial screen config as it's not needed anymore
201
+ if (!skipInitialDetection && path === '') {
202
+ initialScreenConfig = undefined;
203
+ }
204
+ }
205
+ } else {
206
+ if (!skipInitialDetection && initialScreenConfig == null) {
207
+ initialScreenConfig = screenConfig;
208
+ }
209
+ screenConfig.path = key.replace(/([A-Z]+)/g, '-$1').replace(/^-/, '').toLowerCase();
210
+ }
211
+ }
212
+ return [key, screenConfig];
213
+ }).filter(_ref7 => {
214
+ let [, screen] = _ref7;
215
+ return Object.keys(screen).length > 0;
216
+ }));
217
+ };
218
+ const screens = t.config.screens ? createPathConfigForScreens(t.config.screens, o?.initialRouteName ?? t.config.initialRouteName) : {};
219
+ if (t.config.groups) {
220
+ Object.entries(t.config.groups).forEach(_ref8 => {
221
+ let [, group] = _ref8;
222
+ Object.assign(screens, createPathConfigForScreens(group.screens, o?.initialRouteName ?? t.config.initialRouteName));
223
+ });
224
+ }
225
+ if (Object.keys(screens).length === 0) {
226
+ return undefined;
227
+ }
228
+ return screens;
229
+ };
230
+ const screens = createPathConfigForTree(tree, options, false);
231
+ if (auto && initialScreenConfig) {
232
+ initialScreenConfig.path = '';
185
233
  }
186
- return config;
234
+ return screens;
187
235
  }
188
236
  //# sourceMappingURL=StaticNavigation.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","isValidElementType","useRoute","MemoizedScreen","memo","_ref","component","route","children","createElement","getItemsFromScreens","Screen","screens","Object","entries","map","_ref2","name","item","props","useIf","isNavigator","screen","if","_if","rest","createComponentForStaticNavigation","Error","element","shouldRender","_extends","key","tree","displayName","Navigator","Group","config","groups","items","push","_ref3","group","groupItems","navigationKey","NavigatorComponent","createPathConfigForStaticNavigation","createPathConfigForScreens","fromEntries","_ref4","screenConfig","linking","path","assign","filter","_ref5","keys","length","forEach","_ref6"],"sourceRoot":"../../src","sources":["StaticNavigation.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["React","isValidElementType","useRoute","MemoizedScreen","memo","_ref","component","route","children","createElement","getItemsFromScreens","Screen","screens","Object","entries","map","_ref2","name","item","props","useIf","isNavigator","screen","if","_if","rest","createComponentForStaticNavigation","Error","element","shouldRender","_extends","key","tree","displayName","Navigator","Group","config","groups","items","push","_ref3","group","groupItems","navigationKey","NavigatorComponent","createPathConfigForStaticNavigation","options","auto","initialScreenConfig","createPathConfigForTree","t","o","skipInitialDetection","createPathConfigForScreens","initialRouteName","fromEntries","sort","_ref4","_ref5","a","b","_ref6","screenConfig","linking","path","assign","undefined","split","filter","Boolean","join","replace","toLowerCase","_ref7","keys","length","forEach","_ref8"],"sourceRoot":"../../src","sources":["StaticNavigation.tsx"],"mappings":"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"}
@@ -151,10 +151,23 @@ export type StaticNavigation<NavigatorProps, GroupProps, ScreenProps> = {
151
151
  * @returns A component which renders the navigator.
152
152
  */
153
153
  export declare function createComponentForStaticNavigation(tree: StaticNavigation<any, any, any>, displayName: string): React.ComponentType<{}>;
154
+ type TreeForPathConfig = {
155
+ config: {
156
+ initialRouteName?: string;
157
+ screens?: StaticConfigScreens<ParamListBase, NavigationState, {}, EventMapBase, Record<string, unknown>>;
158
+ groups?: {
159
+ [key: string]: {
160
+ screens: StaticConfigScreens<ParamListBase, NavigationState, {}, EventMapBase, Record<string, unknown>>;
161
+ };
162
+ };
163
+ };
164
+ };
154
165
  /**
155
166
  * Create a path config object from a static navigation config for deep linking.
156
167
  *
157
168
  * @param tree Static navigation config.
169
+ * @param options Additional options from `linking.config`.
170
+ * @param auto Whether to automatically generate paths for leaf screens.
158
171
  * @returns Path config object to use in linking config.
159
172
  *
160
173
  * @example
@@ -168,17 +181,10 @@ export declare function createComponentForStaticNavigation(tree: StaticNavigatio
168
181
  * };
169
182
  * ```
170
183
  */
171
- export declare function createPathConfigForStaticNavigation(tree: {
172
- config: {
173
- screens?: StaticConfigScreens<ParamListBase, NavigationState, {}, EventMapBase, Record<string, unknown>>;
174
- groups?: {
175
- [key: string]: {
176
- screens: StaticConfigScreens<ParamListBase, NavigationState, {}, EventMapBase, Record<string, unknown>>;
177
- };
178
- };
179
- };
180
- }): {
184
+ export declare function createPathConfigForStaticNavigation(tree: TreeForPathConfig, options?: {
185
+ initialRouteName?: string;
186
+ }, auto?: boolean): {
181
187
  [k: string]: PathConfig<ParamListBase>;
182
- };
188
+ } | undefined;
183
189
  export {};
184
190
  //# sourceMappingURL=StaticNavigation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StaticNavigation.d.ts","sourceRoot":"","sources":["../../../src/StaticNavigation.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StaticNavigation.d.ts","sourceRoot":"","sources":["../../../src/StaticNavigation.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EACV,uBAAuB,EACvB,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,UAAU,EACV,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAGjB;;;GAGG;AACH,KAAK,QAAQ,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,EAAE,CAAC;AAEjD;;;GAGG;AACH,KAAK,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC;AAEhD;;;GAGG;AACH,KAAK,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,SAAS,CAC7E,CAAC,EAAE,MAAM,CAAC,KACP,IAAI,GACL,CAAC,GACD,KAAK,CAAC;AAEV,KAAK,kBAAkB,CAAC,CAAC,IAAI,OAAO,SAAS,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC;AAE/D,KAAK,wBAAwB,CAAC,CAAC,IAAI,CAAC,SAAS;IAC3C,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,KAAK,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;CAC7D,GACG,CAAC,GACD,CAAC,SAAS,KAAK,CAAC,aAAa,CAAC;IAAE,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAA;CAAE,CAAC,GAC3D,CAAC,GACD,SAAS,CAAC;AAEhB,KAAK,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,MAAM,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;CAAE,GAC3E,qBAAqB,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,GAC/D,CAAC,SAAS,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GACvC,qBAAqB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,GACrD,kBAAkB,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;AAEtD,KAAK,mBAAmB,CAAC,OAAO,IAAI;KACjC,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;CACxD,CAAC;AAEF,KAAK,kBAAkB,CACrB,MAAM,SACF,QAAQ,CAAC;IACP,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,OAAO,EAAE,mBAAmB,CAC1B,aAAa,EACb,eAAe,EACf,EAAE,EACF,YAAY,EACZ,GAAG,CACJ,CAAC;KACH,CAAC;CACH,CAAC,GACF,SAAS,IACX,MAAM,SAAS;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,OAAO,EAAE,mBAAmB,CAC1B,aAAa,EACb,eAAe,EACf,EAAE,EACF,YAAY,EACZ,GAAG,CACJ,CAAC;KACH,CAAC;CACH,GACG,mBAAmB,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GACzE,EAAE,CAAC;AAEP,KAAK,iBAAiB,CACpB,SAAS,SAAS,aAAa,EAC/B,SAAS,SAAS,MAAM,SAAS,EACjC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,UAAU,IACR,gBAAgB,CAIlB,aAAa,EACb,MAAM,EACN,KAAK,EACL,aAAa,EACb,QAAQ,EACR,UAAU,CACX,GACC,oBAAoB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAE7C,KAAK,mBAAmB,CACtB,SAAS,SAAS,aAAa,EAC/B,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,YAAY,EAC7B,cAAc,SAAS,kBAAkB,CAAC,SAAS,CAAC,IAClD;KACD,SAAS,IAAI,MAAM,SAAS,GACzB,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GACxB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAC/B,CAAC,IAAI,CACH,iBAAiB,CACf,SAAS,EACT,SAAS,EACT,KAAK,EACL,aAAa,EACb,QAAQ,EACR,cAAc,CAAC,SAAS,CAAC,CAC1B,EACD,MAAM,GAAG,WAAW,GAAG,cAAc,GAAG,UAAU,CACnD,GAAG;QACF;;;;;;;;;;;WAWG;QACH,EAAE,CAAC,EAAE,MAAM,OAAO,CAAC;QACnB;;;;;;;;;;;WAWG;QACH,OAAO,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC;QACzC;;WAEG;QACH,MAAM,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;KACpE,CAAC;CACP,CAAC;AAEF,KAAK,WAAW,CACd,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;;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,aAAa,CAAC,EAClB,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,WAAW,SAAS,MAAM,GAAG,SAAS,EACtC,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,CAC3B,aAAa,EACb,MAAM,GAAG,SAAS,EAClB,eAAe,EACf,EAAE,EACF,YAAY,EACZ,cAAc,CAAC,MAAM,SAAS,CAAC,CAChC,CACF,GACC,uBAAuB,CACrB,SAAS,EACT,WAAW,EACX,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,WAAW,CACxB,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,WAAW,CACxB,SAAS,EACT,KAAK,EACL,aAAa,EACb,QAAQ,EACR,cAAc,CACf,CAAC;KACH,CAAC;CACH,CACJ,CAAC;AAEJ;;;GAGG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,IAAI;IAC7E,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;QACf,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACvC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAChB,CAAC,GAAG,EAAE,MAAM,GAAG;gBACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;aAC9B,CAAC;SACH,CAAC;KACH,CAAC;CACH,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,CAAC,cAAc,EAAE,UAAU,EAAE,WAAW,IAAI;IACtE,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IAC/C,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACvC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,EAAE,YAAY,CAAC,oBAAoB,CAAC,CAAC;CAC5C,CAAC;AAwEF;;;;;;GAMG;AACH,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACrC,WAAW,EAAE,MAAM,GAClB,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CA8CzB;AAED,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,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,CACjD,IAAI,EAAE,iBAAiB,EACvB,OAAO,CAAC,EAAE;IACR,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,EACD,IAAI,CAAC,EAAE,OAAO;;cAyIf"}
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": "7.0.0-alpha.15",
4
+ "version": "7.0.0-alpha.17",
5
5
  "keywords": [
6
6
  "react",
7
7
  "react-native",
@@ -70,5 +70,5 @@
70
70
  ]
71
71
  ]
72
72
  },
73
- "gitHead": "a601b72a5ae354900ab21f0e0293cb2c573ba8d0"
73
+ "gitHead": "7ed2bc19da336560ddd07002954a4ebba4d03929"
74
74
  }
@@ -442,25 +442,9 @@ export function createComponentForStaticNavigation(
442
442
  return NavigatorComponent;
443
443
  }
444
444
 
445
- /**
446
- * Create a path config object from a static navigation config for deep linking.
447
- *
448
- * @param tree Static navigation config.
449
- * @returns Path config object to use in linking config.
450
- *
451
- * @example
452
- * ```js
453
- * const config = {
454
- * screens: {
455
- * Home: {
456
- * screens: createPathConfigForStaticNavigation(HomeTabs),
457
- * },
458
- * },
459
- * };
460
- * ```
461
- */
462
- export function createPathConfigForStaticNavigation(tree: {
445
+ type TreeForPathConfig = {
463
446
  config: {
447
+ initialRouteName?: string;
464
448
  screens?: StaticConfigScreens<
465
449
  ParamListBase,
466
450
  NavigationState,
@@ -480,56 +464,167 @@ export function createPathConfigForStaticNavigation(tree: {
480
464
  };
481
465
  };
482
466
  };
483
- }) {
484
- function createPathConfigForScreens(
485
- screens: StaticConfigScreens<
486
- ParamListBase,
487
- NavigationState,
488
- {},
489
- EventMapBase,
490
- Record<string, unknown>
491
- >
492
- ) {
493
- return Object.fromEntries(
494
- Object.entries(screens)
495
- .map(([key, item]) => {
496
- const screenConfig: PathConfig<ParamListBase> = {};
497
-
498
- if ('linking' in item) {
499
- if (typeof item.linking === 'string') {
500
- screenConfig.path = item.linking;
501
- } else {
502
- Object.assign(screenConfig, item.linking);
467
+ };
468
+
469
+ /**
470
+ * Create a path config object from a static navigation config for deep linking.
471
+ *
472
+ * @param tree Static navigation config.
473
+ * @param options Additional options from `linking.config`.
474
+ * @param auto Whether to automatically generate paths for leaf screens.
475
+ * @returns Path config object to use in linking config.
476
+ *
477
+ * @example
478
+ * ```js
479
+ * const config = {
480
+ * screens: {
481
+ * Home: {
482
+ * screens: createPathConfigForStaticNavigation(HomeTabs),
483
+ * },
484
+ * },
485
+ * };
486
+ * ```
487
+ */
488
+ export function createPathConfigForStaticNavigation(
489
+ tree: TreeForPathConfig,
490
+ options?: {
491
+ initialRouteName?: string;
492
+ },
493
+ auto?: boolean
494
+ ) {
495
+ let initialScreenConfig: PathConfig<ParamListBase> | undefined;
496
+
497
+ const createPathConfigForTree = (
498
+ t: TreeForPathConfig,
499
+ o: { initialRouteName?: string } | undefined,
500
+ // If a screen is a leaf node, but inside a screen with path,
501
+ // It should not be used for initial detection
502
+ skipInitialDetection: boolean
503
+ ) => {
504
+ const createPathConfigForScreens = (
505
+ screens: StaticConfigScreens<
506
+ ParamListBase,
507
+ NavigationState,
508
+ {},
509
+ EventMapBase,
510
+ Record<string, unknown>
511
+ >,
512
+ initialRouteName: string | undefined
513
+ ) => {
514
+ return Object.fromEntries(
515
+ Object.entries(screens)
516
+ // Re-order to move the initial route to the front
517
+ // This way we can detect the initial route correctly
518
+ .sort(([a], [b]) => {
519
+ if (a === initialRouteName) {
520
+ return -1;
503
521
  }
504
- }
505
522
 
506
- if ('config' in item) {
507
- screenConfig.screens = createPathConfigForStaticNavigation(item);
508
- } else if (
509
- 'screen' in item &&
510
- 'config' in item.screen &&
511
- (item.screen.config.screens || item.screen.config.groups)
512
- ) {
513
- screenConfig.screens = createPathConfigForStaticNavigation(
514
- item.screen
515
- );
516
- }
523
+ if (b === initialRouteName) {
524
+ return 1;
525
+ }
517
526
 
518
- return [key, screenConfig] as const;
519
- })
520
- .filter(([, screen]) => Object.keys(screen).length > 0)
521
- );
522
- }
527
+ return 0;
528
+ })
529
+ .map(([key, item]) => {
530
+ const screenConfig: PathConfig<ParamListBase> = {};
531
+
532
+ if ('linking' in item) {
533
+ if (typeof item.linking === 'string') {
534
+ screenConfig.path = item.linking;
535
+ } else {
536
+ Object.assign(screenConfig, item.linking);
537
+ }
538
+ }
539
+
540
+ let screens;
541
+
542
+ if ('config' in item) {
543
+ screens = createPathConfigForTree(
544
+ item,
545
+ undefined,
546
+ skipInitialDetection || screenConfig.path != null
547
+ );
548
+ } else if (
549
+ 'screen' in item &&
550
+ 'config' in item.screen &&
551
+ (item.screen.config.screens || item.screen.config.groups)
552
+ ) {
553
+ screens = createPathConfigForTree(
554
+ item.screen,
555
+ undefined,
556
+ skipInitialDetection || screenConfig.path != null
557
+ );
558
+ }
559
+
560
+ if (screens) {
561
+ screenConfig.screens = screens;
562
+ }
563
+
564
+ if (auto && !screenConfig.screens && !('linking' in item)) {
565
+ if (screenConfig.path) {
566
+ if (!skipInitialDetection) {
567
+ // Normalize the path to remove leading and trailing slashes
568
+ const path = screenConfig.path
569
+ ?.split('/')
570
+ .filter(Boolean)
571
+ .join('/');
572
+
573
+ // We encounter a leaf screen with empty path,
574
+ // Clear the initial screen config as it's not needed anymore
575
+ if (!skipInitialDetection && path === '') {
576
+ initialScreenConfig = undefined;
577
+ }
578
+ }
579
+ } else {
580
+ if (!skipInitialDetection && initialScreenConfig == null) {
581
+ initialScreenConfig = screenConfig;
582
+ }
583
+
584
+ screenConfig.path = key
585
+ .replace(/([A-Z]+)/g, '-$1')
586
+ .replace(/^-/, '')
587
+ .toLowerCase();
588
+ }
589
+ }
590
+
591
+ return [key, screenConfig] as const;
592
+ })
593
+ .filter(([, screen]) => Object.keys(screen).length > 0)
594
+ );
595
+ };
596
+
597
+ const screens = t.config.screens
598
+ ? createPathConfigForScreens(
599
+ t.config.screens,
600
+ o?.initialRouteName ?? t.config.initialRouteName
601
+ )
602
+ : {};
603
+
604
+ if (t.config.groups) {
605
+ Object.entries(t.config.groups).forEach(([, group]) => {
606
+ Object.assign(
607
+ screens,
608
+ createPathConfigForScreens(
609
+ group.screens,
610
+ o?.initialRouteName ?? t.config.initialRouteName
611
+ )
612
+ );
613
+ });
614
+ }
615
+
616
+ if (Object.keys(screens).length === 0) {
617
+ return undefined;
618
+ }
619
+
620
+ return screens;
621
+ };
523
622
 
524
- const config = tree.config.screens
525
- ? createPathConfigForScreens(tree.config.screens)
526
- : {};
623
+ const screens = createPathConfigForTree(tree, options, false);
527
624
 
528
- if (tree.config.groups) {
529
- Object.entries(tree.config.groups).forEach(([, group]) => {
530
- Object.assign(config, createPathConfigForScreens(group.screens));
531
- });
625
+ if (auto && initialScreenConfig) {
626
+ initialScreenConfig.path = '';
532
627
  }
533
628
 
534
- return config;
629
+ return screens;
535
630
  }