@react-navigation/native 7.0.0-alpha.17 → 7.0.0-alpha.18

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.
@@ -26,12 +26,14 @@ function createStaticNavigation(tree) {
26
26
  } = _ref;
27
27
  const screens = React.useMemo(() => {
28
28
  if (tree.config.screens) {
29
- return (0, _core.createPathConfigForStaticNavigation)(tree, linking?.config === 'auto');
29
+ return (0, _core.createPathConfigForStaticNavigation)(tree, {
30
+ initialRouteName: linking?.config?.initialRouteName
31
+ }, linking?.enabled === 'auto');
30
32
  }
31
33
  return undefined;
32
- }, [linking?.config]);
33
- if (linking?.enabled && screens == null) {
34
- throw new Error('Linking is enabled but no linking configuration was found for the screens.\n\n' + 'To solve this:\n' + "- Specify a 'linking' property for the screens you want to link to.\n" + "- Or set 'linking.config' to 'auto' to generate paths automatically.\n\n" + 'See usage guide: https://reactnavigation.org/docs/7.x/static-configuration#linking');
34
+ }, [linking?.config, linking?.enabled]);
35
+ if (linking?.enabled === true && screens == null) {
36
+ throw new Error('Linking is enabled but no linking configuration was found for the screens.\n\n' + 'To solve this:\n' + "- Specify a 'linking' property for the screens you want to link to.\n" + "- Or set 'linking.enabled' to 'auto' to generate paths automatically.\n\n" + 'See usage guide: https://reactnavigation.org/docs/7.x/static-configuration#linking');
35
37
  }
36
38
  return /*#__PURE__*/React.createElement(_NavigationContainer.NavigationContainer, _extends({}, rest, {
37
39
  ref: ref,
@@ -39,6 +41,7 @@ function createStaticNavigation(tree) {
39
41
  ...linking,
40
42
  enabled: typeof linking.enabled === 'boolean' ? linking.enabled : screens != null,
41
43
  config: screens ? {
44
+ ...linking.config,
42
45
  screens
43
46
  } : undefined
44
47
  } : undefined
@@ -1 +1 @@
1
- {"version":3,"names":["_core","require","React","_interopRequireWildcard","_NavigationContainer","_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","createStaticNavigation","tree","Component","createComponentForStaticNavigation","Navigation","_ref","ref","linking","rest","screens","useMemo","config","createPathConfigForStaticNavigation","undefined","enabled","Error","createElement","NavigationContainer","forwardRef"],"sourceRoot":"../../src","sources":["createStaticNavigation.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["_core","require","React","_interopRequireWildcard","_NavigationContainer","_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","createStaticNavigation","tree","Component","createComponentForStaticNavigation","Navigation","_ref","ref","linking","rest","screens","useMemo","config","createPathConfigForStaticNavigation","initialRouteName","enabled","undefined","Error","createElement","NavigationContainer","forwardRef"],"sourceRoot":"../../src","sources":["createStaticNavigation.tsx"],"mappings":"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"}
@@ -18,12 +18,14 @@ export function createStaticNavigation(tree) {
18
18
  } = _ref;
19
19
  const screens = React.useMemo(() => {
20
20
  if (tree.config.screens) {
21
- return createPathConfigForStaticNavigation(tree, linking?.config === 'auto');
21
+ return createPathConfigForStaticNavigation(tree, {
22
+ initialRouteName: linking?.config?.initialRouteName
23
+ }, linking?.enabled === 'auto');
22
24
  }
23
25
  return undefined;
24
- }, [linking?.config]);
25
- if (linking?.enabled && screens == null) {
26
- throw new Error('Linking is enabled but no linking configuration was found for the screens.\n\n' + 'To solve this:\n' + "- Specify a 'linking' property for the screens you want to link to.\n" + "- Or set 'linking.config' to 'auto' to generate paths automatically.\n\n" + 'See usage guide: https://reactnavigation.org/docs/7.x/static-configuration#linking');
26
+ }, [linking?.config, linking?.enabled]);
27
+ if (linking?.enabled === true && screens == null) {
28
+ throw new Error('Linking is enabled but no linking configuration was found for the screens.\n\n' + 'To solve this:\n' + "- Specify a 'linking' property for the screens you want to link to.\n" + "- Or set 'linking.enabled' to 'auto' to generate paths automatically.\n\n" + 'See usage guide: https://reactnavigation.org/docs/7.x/static-configuration#linking');
27
29
  }
28
30
  return /*#__PURE__*/React.createElement(NavigationContainer, _extends({}, rest, {
29
31
  ref: ref,
@@ -31,6 +33,7 @@ export function createStaticNavigation(tree) {
31
33
  ...linking,
32
34
  enabled: typeof linking.enabled === 'boolean' ? linking.enabled : screens != null,
33
35
  config: screens ? {
36
+ ...linking.config,
34
37
  screens
35
38
  } : undefined
36
39
  } : undefined
@@ -1 +1 @@
1
- {"version":3,"names":["createComponentForStaticNavigation","createPathConfigForStaticNavigation","React","NavigationContainer","createStaticNavigation","tree","Component","Navigation","_ref","ref","linking","rest","screens","useMemo","config","undefined","enabled","Error","createElement","_extends","forwardRef"],"sourceRoot":"../../src","sources":["createStaticNavigation.tsx"],"mappings":";AAAA,SACEA,kCAAkC,EAClCC,mCAAmC,QAI9B,wBAAwB;AAC/B,OAAO,KAAKC,KAAK,MAAM,OAAO;AAE9B,SAASC,mBAAmB,QAAQ,uBAAuB;AAqB3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAACC,IAAqC,EAAE;EAC5E,MAAMC,SAAS,GAAGN,kCAAkC,CAACK,IAAI,EAAE,eAAe,CAAC;EAE3E,SAASE,UAAUA,CAAAC,IAAA,EAEjBC,GAAqD,EACrD;IAAA,IAFA;MAAEC,OAAO;MAAE,GAAGC;IAAY,CAAC,GAAAH,IAAA;IAG3B,MAAMI,OAAO,GAAGV,KAAK,CAACW,OAAO,CAAC,MAAM;MAClC,IAAIR,IAAI,CAACS,MAAM,CAACF,OAAO,EAAE;QACvB,OAAOX,mCAAmC,CACxCI,IAAI,EACJK,OAAO,EAAEI,MAAM,KAAK,MACtB,CAAC;MACH;MAEA,OAAOC,SAAS;IAClB,CAAC,EAAE,CAACL,OAAO,EAAEI,MAAM,CAAC,CAAC;IAErB,IAAIJ,OAAO,EAAEM,OAAO,IAAIJ,OAAO,IAAI,IAAI,EAAE;MACvC,MAAM,IAAIK,KAAK,CACb,gFAAgF,GAC9E,kBAAkB,GAClB,uEAAuE,GACvE,0EAA0E,GAC1E,oFACJ,CAAC;IACH;IAEA,oBACEf,KAAA,CAAAgB,aAAA,CAACf,mBAAmB,EAAAgB,QAAA,KACdR,IAAI;MACRF,GAAG,EAAEA,GAAI;MACTC,OAAO,EACLA,OAAO,GACH;QACE,GAAGA,OAAO;QACVM,OAAO,EACL,OAAON,OAAO,CAACM,OAAO,KAAK,SAAS,GAChCN,OAAO,CAACM,OAAO,GACfJ,OAAO,IAAI,IAAI;QACrBE,MAAM,EAAEF,OAAO,GAAG;UAAEA;QAAQ,CAAC,GAAGG;MAClC,CAAC,GACDA;IACL,iBAEDb,KAAA,CAAAgB,aAAA,CAACZ,SAAS,MAAE,CACO,CAAC;EAE1B;EAEA,oBAAOJ,KAAK,CAACkB,UAAU,CAACb,UAAU,CAAC;AACrC"}
1
+ {"version":3,"names":["createComponentForStaticNavigation","createPathConfigForStaticNavigation","React","NavigationContainer","createStaticNavigation","tree","Component","Navigation","_ref","ref","linking","rest","screens","useMemo","config","initialRouteName","enabled","undefined","Error","createElement","_extends","forwardRef"],"sourceRoot":"../../src","sources":["createStaticNavigation.tsx"],"mappings":";AAAA,SACEA,kCAAkC,EAClCC,mCAAmC,QAI9B,wBAAwB;AAC/B,OAAO,KAAKC,KAAK,MAAM,OAAO;AAE9B,SAASC,mBAAmB,QAAQ,uBAAuB;AA8B3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAACC,IAAqC,EAAE;EAC5E,MAAMC,SAAS,GAAGN,kCAAkC,CAACK,IAAI,EAAE,eAAe,CAAC;EAE3E,SAASE,UAAUA,CAAAC,IAAA,EAEjBC,GAAqD,EACrD;IAAA,IAFA;MAAEC,OAAO;MAAE,GAAGC;IAAY,CAAC,GAAAH,IAAA;IAG3B,MAAMI,OAAO,GAAGV,KAAK,CAACW,OAAO,CAAC,MAAM;MAClC,IAAIR,IAAI,CAACS,MAAM,CAACF,OAAO,EAAE;QACvB,OAAOX,mCAAmC,CACxCI,IAAI,EACJ;UAAEU,gBAAgB,EAAEL,OAAO,EAAEI,MAAM,EAAEC;QAAiB,CAAC,EACvDL,OAAO,EAAEM,OAAO,KAAK,MACvB,CAAC;MACH;MAEA,OAAOC,SAAS;IAClB,CAAC,EAAE,CAACP,OAAO,EAAEI,MAAM,EAAEJ,OAAO,EAAEM,OAAO,CAAC,CAAC;IAEvC,IAAIN,OAAO,EAAEM,OAAO,KAAK,IAAI,IAAIJ,OAAO,IAAI,IAAI,EAAE;MAChD,MAAM,IAAIM,KAAK,CACb,gFAAgF,GAC9E,kBAAkB,GAClB,uEAAuE,GACvE,2EAA2E,GAC3E,oFACJ,CAAC;IACH;IAEA,oBACEhB,KAAA,CAAAiB,aAAA,CAAChB,mBAAmB,EAAAiB,QAAA,KACdT,IAAI;MACRF,GAAG,EAAEA,GAAI;MACTC,OAAO,EACLA,OAAO,GACH;QACE,GAAGA,OAAO;QACVM,OAAO,EACL,OAAON,OAAO,CAACM,OAAO,KAAK,SAAS,GAChCN,OAAO,CAACM,OAAO,GACfJ,OAAO,IAAI,IAAI;QACrBE,MAAM,EAAEF,OAAO,GAAG;UAAE,GAAGF,OAAO,CAACI,MAAM;UAAEF;QAAQ,CAAC,GAAGK;MACrD,CAAC,GACDA;IACL,iBAEDf,KAAA,CAAAiB,aAAA,CAACb,SAAS,MAAE,CACO,CAAC;EAE1B;EAEA,oBAAOJ,KAAK,CAACmB,UAAU,CAACd,UAAU,CAAC;AACrC"}
@@ -6,14 +6,20 @@ type Props = Omit<React.ComponentProps<typeof NavigationContainer>, 'linking' |
6
6
  /**
7
7
  * Options for deep linking.
8
8
  */
9
- linking?: Omit<LinkingOptions<ParamListBase>, 'config'> & {
9
+ linking?: Omit<LinkingOptions<ParamListBase>, 'config' | 'enabled'> & {
10
10
  /**
11
- * Configure automatic linking for the screens in the tree.
12
- * When 'auto' is specified, all leaf screens will automatically have a path.
11
+ * Whether deep link handling should be enabled.
12
+ * Defaults to `true` if any `linking` options are specified, `false` otherwise.
13
+ *
14
+ * When 'auto' is specified, all leaf screens will get a autogenerated path.
13
15
  * The generated path will be a kebab-case version of the screen name.
14
16
  * This can be overridden for specific screens by specifying `linking` for the screen.
15
17
  */
16
- config?: 'auto';
18
+ enabled?: 'auto' | true | false;
19
+ /**
20
+ * Additional configuration
21
+ */
22
+ config?: Omit<NonNullable<LinkingOptions<ParamListBase>['config']>, 'screens'>;
17
23
  };
18
24
  };
19
25
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"createStaticNavigation.d.ts","sourceRoot":"","sources":["../../../src/createStaticNavigation.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,KAAK,KAAK,GAAG,IAAI,CACf,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,CAAC,EAChD,SAAS,GAAG,UAAU,CACvB,GAAG;IACF;;OAEG;IACH,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,GAAG;QACxD;;;;;WAKG;QACH,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,oHAmD3E"}
1
+ {"version":3,"file":"createStaticNavigation.d.ts","sourceRoot":"","sources":["../../../src/createStaticNavigation.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,KAAK,KAAK,GAAG,IAAI,CACf,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,CAAC,EAChD,SAAS,GAAG,UAAU,CACvB,GAAG;IACF;;OAEG;IACH,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC,GAAG;QACpE;;;;;;;WAOG;QACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC;QAChC;;WAEG;QACH,MAAM,CAAC,EAAE,IAAI,CACX,WAAW,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,EACpD,SAAS,CACV,CAAC;KACH,CAAC;CACH,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,oHAoD3E"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@react-navigation/native",
3
3
  "description": "React Native integration for React Navigation",
4
- "version": "7.0.0-alpha.17",
4
+ "version": "7.0.0-alpha.18",
5
5
  "keywords": [
6
6
  "react-native",
7
7
  "react-navigation",
@@ -37,7 +37,7 @@
37
37
  "clean": "del lib"
38
38
  },
39
39
  "dependencies": {
40
- "@react-navigation/core": "^7.0.0-alpha.16",
40
+ "@react-navigation/core": "^7.0.0-alpha.17",
41
41
  "escape-string-regexp": "^4.0.0",
42
42
  "fast-deep-equal": "^3.1.3",
43
43
  "nanoid": "3.3.7",
@@ -72,5 +72,5 @@
72
72
  ]
73
73
  ]
74
74
  },
75
- "gitHead": "d2513d78974a90af443aa05266d31dbfe576e177"
75
+ "gitHead": "7ed2bc19da336560ddd07002954a4ebba4d03929"
76
76
  }
@@ -17,14 +17,23 @@ type Props = Omit<
17
17
  /**
18
18
  * Options for deep linking.
19
19
  */
20
- linking?: Omit<LinkingOptions<ParamListBase>, 'config'> & {
20
+ linking?: Omit<LinkingOptions<ParamListBase>, 'config' | 'enabled'> & {
21
21
  /**
22
- * Configure automatic linking for the screens in the tree.
23
- * When 'auto' is specified, all leaf screens will automatically have a path.
22
+ * Whether deep link handling should be enabled.
23
+ * Defaults to `true` if any `linking` options are specified, `false` otherwise.
24
+ *
25
+ * When 'auto' is specified, all leaf screens will get a autogenerated path.
24
26
  * The generated path will be a kebab-case version of the screen name.
25
27
  * This can be overridden for specific screens by specifying `linking` for the screen.
26
28
  */
27
- config?: 'auto';
29
+ enabled?: 'auto' | true | false;
30
+ /**
31
+ * Additional configuration
32
+ */
33
+ config?: Omit<
34
+ NonNullable<LinkingOptions<ParamListBase>['config']>,
35
+ 'screens'
36
+ >;
28
37
  };
29
38
  };
30
39
 
@@ -46,19 +55,20 @@ export function createStaticNavigation(tree: StaticNavigation<any, any, any>) {
46
55
  if (tree.config.screens) {
47
56
  return createPathConfigForStaticNavigation(
48
57
  tree,
49
- linking?.config === 'auto'
58
+ { initialRouteName: linking?.config?.initialRouteName },
59
+ linking?.enabled === 'auto'
50
60
  );
51
61
  }
52
62
 
53
63
  return undefined;
54
- }, [linking?.config]);
64
+ }, [linking?.config, linking?.enabled]);
55
65
 
56
- if (linking?.enabled && screens == null) {
66
+ if (linking?.enabled === true && screens == null) {
57
67
  throw new Error(
58
68
  'Linking is enabled but no linking configuration was found for the screens.\n\n' +
59
69
  'To solve this:\n' +
60
70
  "- Specify a 'linking' property for the screens you want to link to.\n" +
61
- "- Or set 'linking.config' to 'auto' to generate paths automatically.\n\n" +
71
+ "- Or set 'linking.enabled' to 'auto' to generate paths automatically.\n\n" +
62
72
  'See usage guide: https://reactnavigation.org/docs/7.x/static-configuration#linking'
63
73
  );
64
74
  }
@@ -75,7 +85,7 @@ export function createStaticNavigation(tree: StaticNavigation<any, any, any>) {
75
85
  typeof linking.enabled === 'boolean'
76
86
  ? linking.enabled
77
87
  : screens != null,
78
- config: screens ? { screens } : undefined,
88
+ config: screens ? { ...linking.config, screens } : undefined,
79
89
  }
80
90
  : undefined
81
91
  }