@react-navigation/core 6.4.6 → 7.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/README.md +1 -1
  2. package/lib/commonjs/BaseNavigationContainer.js +44 -33
  3. package/lib/commonjs/BaseNavigationContainer.js.map +1 -1
  4. package/lib/commonjs/DeprecatedNavigationInChildContext.js +16 -0
  5. package/lib/commonjs/DeprecatedNavigationInChildContext.js.map +1 -0
  6. package/lib/commonjs/NavigationIndependentTree.js +33 -0
  7. package/lib/commonjs/NavigationIndependentTree.js.map +1 -0
  8. package/lib/commonjs/NavigationIndependentTreeContext.js +16 -0
  9. package/lib/commonjs/NavigationIndependentTreeContext.js.map +1 -0
  10. package/lib/commonjs/StaticNavigation.js +160 -0
  11. package/lib/commonjs/StaticNavigation.js.map +1 -0
  12. package/lib/commonjs/createNavigatorFactory.js +16 -7
  13. package/lib/commonjs/createNavigatorFactory.js.map +1 -1
  14. package/lib/commonjs/getActionFromState.js.map +1 -1
  15. package/lib/commonjs/index.js +52 -0
  16. package/lib/commonjs/index.js.map +1 -1
  17. package/lib/commonjs/useDescriptors.js +21 -18
  18. package/lib/commonjs/useDescriptors.js.map +1 -1
  19. package/lib/commonjs/useNavigationBuilder.js +1 -1
  20. package/lib/commonjs/useNavigationBuilder.js.map +1 -1
  21. package/lib/commonjs/useNavigationCache.js +9 -7
  22. package/lib/commonjs/useNavigationCache.js.map +1 -1
  23. package/lib/commonjs/useNavigationIndependentTree.js +15 -0
  24. package/lib/commonjs/useNavigationIndependentTree.js.map +1 -0
  25. package/lib/commonjs/useOnAction.js +11 -7
  26. package/lib/commonjs/useOnAction.js.map +1 -1
  27. package/lib/module/BaseNavigationContainer.js +44 -33
  28. package/lib/module/BaseNavigationContainer.js.map +1 -1
  29. package/lib/module/DeprecatedNavigationInChildContext.js +8 -0
  30. package/lib/module/DeprecatedNavigationInChildContext.js.map +1 -0
  31. package/lib/module/NavigationIndependentTree.js +25 -0
  32. package/lib/module/NavigationIndependentTree.js.map +1 -0
  33. package/lib/module/NavigationIndependentTreeContext.js +8 -0
  34. package/lib/module/NavigationIndependentTreeContext.js.map +1 -0
  35. package/lib/module/StaticNavigation.js +156 -0
  36. package/lib/module/StaticNavigation.js.map +1 -0
  37. package/lib/module/createNavigatorFactory.js +16 -7
  38. package/lib/module/createNavigatorFactory.js.map +1 -1
  39. package/lib/module/getActionFromState.js.map +1 -1
  40. package/lib/module/index.js +3 -0
  41. package/lib/module/index.js.map +1 -1
  42. package/lib/module/useDescriptors.js +21 -18
  43. package/lib/module/useDescriptors.js.map +1 -1
  44. package/lib/module/useNavigationBuilder.js +1 -1
  45. package/lib/module/useNavigationBuilder.js.map +1 -1
  46. package/lib/module/useNavigationCache.js +9 -7
  47. package/lib/module/useNavigationCache.js.map +1 -1
  48. package/lib/module/useNavigationIndependentTree.js +6 -0
  49. package/lib/module/useNavigationIndependentTree.js.map +1 -0
  50. package/lib/module/useOnAction.js +11 -7
  51. package/lib/module/useOnAction.js.map +1 -1
  52. package/lib/typescript/src/BaseNavigationContainer.d.ts +2 -0
  53. package/lib/typescript/src/BaseNavigationContainer.d.ts.map +1 -1
  54. package/lib/typescript/src/DeprecatedNavigationInChildContext.d.ts +7 -0
  55. package/lib/typescript/src/DeprecatedNavigationInChildContext.d.ts.map +1 -0
  56. package/lib/typescript/src/EnsureSingleNavigator.d.ts +1 -1
  57. package/lib/typescript/src/EnsureSingleNavigator.d.ts.map +1 -1
  58. package/lib/typescript/src/NavigationBuilderContext.d.ts +9 -9
  59. package/lib/typescript/src/NavigationBuilderContext.d.ts.map +1 -1
  60. package/lib/typescript/src/NavigationIndependentTree.d.ts +8 -0
  61. package/lib/typescript/src/NavigationIndependentTree.d.ts.map +1 -0
  62. package/lib/typescript/src/NavigationIndependentTreeContext.d.ts +7 -0
  63. package/lib/typescript/src/NavigationIndependentTreeContext.d.ts.map +1 -0
  64. package/lib/typescript/src/PreventRemoveContext.d.ts +1 -1
  65. package/lib/typescript/src/PreventRemoveContext.d.ts.map +1 -1
  66. package/lib/typescript/src/PreventRemoveProvider.d.ts +1 -1
  67. package/lib/typescript/src/PreventRemoveProvider.d.ts.map +1 -1
  68. package/lib/typescript/src/SceneView.d.ts +1 -1
  69. package/lib/typescript/src/SceneView.d.ts.map +1 -1
  70. package/lib/typescript/src/StaticNavigation.d.ts +159 -0
  71. package/lib/typescript/src/StaticNavigation.d.ts.map +1 -0
  72. package/lib/typescript/src/createNavigatorFactory.d.ts +8 -2
  73. package/lib/typescript/src/createNavigatorFactory.d.ts.map +1 -1
  74. package/lib/typescript/src/getActionFromState.d.ts +2 -2
  75. package/lib/typescript/src/getActionFromState.d.ts.map +1 -1
  76. package/lib/typescript/src/getPathFromState.d.ts +2 -2
  77. package/lib/typescript/src/getPathFromState.d.ts.map +1 -1
  78. package/lib/typescript/src/getStateFromPath.d.ts +2 -2
  79. package/lib/typescript/src/getStateFromPath.d.ts.map +1 -1
  80. package/lib/typescript/src/index.d.ts +3 -0
  81. package/lib/typescript/src/index.d.ts.map +1 -1
  82. package/lib/typescript/src/types.d.ts +109 -48
  83. package/lib/typescript/src/types.d.ts.map +1 -1
  84. package/lib/typescript/src/useComponent.d.ts +1 -1
  85. package/lib/typescript/src/useComponent.d.ts.map +1 -1
  86. package/lib/typescript/src/useCurrentRender.d.ts +1 -1
  87. package/lib/typescript/src/useCurrentRender.d.ts.map +1 -1
  88. package/lib/typescript/src/useDescriptors.d.ts +11 -9
  89. package/lib/typescript/src/useDescriptors.d.ts.map +1 -1
  90. package/lib/typescript/src/useEventEmitter.d.ts +1 -1
  91. package/lib/typescript/src/useEventEmitter.d.ts.map +1 -1
  92. package/lib/typescript/src/useFocusEffect.d.ts +1 -1
  93. package/lib/typescript/src/useFocusEffect.d.ts.map +1 -1
  94. package/lib/typescript/src/useFocusEvents.d.ts +1 -1
  95. package/lib/typescript/src/useFocusEvents.d.ts.map +1 -1
  96. package/lib/typescript/src/useFocusedListenersChildrenAdapter.d.ts +1 -1
  97. package/lib/typescript/src/useFocusedListenersChildrenAdapter.d.ts.map +1 -1
  98. package/lib/typescript/src/useNavigationBuilder.d.ts +19 -15
  99. package/lib/typescript/src/useNavigationBuilder.d.ts.map +1 -1
  100. package/lib/typescript/src/useNavigationCache.d.ts +4 -4
  101. package/lib/typescript/src/useNavigationCache.d.ts.map +1 -1
  102. package/lib/typescript/src/useNavigationHelpers.d.ts +11 -9
  103. package/lib/typescript/src/useNavigationHelpers.d.ts.map +1 -1
  104. package/lib/typescript/src/useNavigationIndependentTree.d.ts +2 -0
  105. package/lib/typescript/src/useNavigationIndependentTree.d.ts.map +1 -0
  106. package/lib/typescript/src/useNavigationState.d.ts +1 -1
  107. package/lib/typescript/src/useNavigationState.d.ts.map +1 -1
  108. package/lib/typescript/src/useOnAction.d.ts +1 -1
  109. package/lib/typescript/src/useOnAction.d.ts.map +1 -1
  110. package/lib/typescript/src/useOnGetState.d.ts +1 -1
  111. package/lib/typescript/src/useOnGetState.d.ts.map +1 -1
  112. package/lib/typescript/src/useOnPreventRemove.d.ts +1 -1
  113. package/lib/typescript/src/useOnPreventRemove.d.ts.map +1 -1
  114. package/lib/typescript/src/useOnRouteFocus.d.ts +1 -1
  115. package/lib/typescript/src/useOnRouteFocus.d.ts.map +1 -1
  116. package/lib/typescript/src/useOptionsGetters.d.ts +1 -1
  117. package/lib/typescript/src/useOptionsGetters.d.ts.map +1 -1
  118. package/package.json +11 -11
  119. package/src/BaseNavigationContainer.tsx +68 -64
  120. package/src/DeprecatedNavigationInChildContext.tsx +8 -0
  121. package/src/NavigationIndependentTree.tsx +25 -0
  122. package/src/NavigationIndependentTreeContext.tsx +8 -0
  123. package/src/StaticNavigation.tsx +401 -0
  124. package/src/createNavigatorFactory.tsx +38 -9
  125. package/src/getActionFromState.tsx +2 -8
  126. package/src/getPathFromState.tsx +1 -1
  127. package/src/index.tsx +9 -0
  128. package/src/types.tsx +111 -29
  129. package/src/useDescriptors.tsx +24 -19
  130. package/src/useNavigationBuilder.tsx +10 -5
  131. package/src/useNavigationCache.tsx +8 -4
  132. package/src/useNavigationIndependentTree.tsx +7 -0
  133. package/src/useOnAction.tsx +13 -5
@@ -16,14 +16,21 @@ var _exportNames = {
16
16
  NavigationContainerRefContext: true,
17
17
  NavigationContext: true,
18
18
  NavigationHelpersContext: true,
19
+ NavigationIndependentTree: true,
19
20
  NavigationRouteContext: true,
20
21
  PreventRemoveContext: true,
21
22
  PreventRemoveProvider: true,
23
+ createComponentForStaticNavigation: true,
24
+ createPathConfigForStaticNavigation: true,
25
+ StaticNavigation: true,
26
+ StaticParamList: true,
27
+ StaticScreenProps: true,
22
28
  useFocusEffect: true,
23
29
  useIsFocused: true,
24
30
  useNavigation: true,
25
31
  useNavigationBuilder: true,
26
32
  useNavigationContainerRef: true,
33
+ useNavigationIndependentTree: true,
27
34
  useNavigationState: true,
28
35
  UNSTABLE_usePreventRemove: true,
29
36
  usePreventRemoveContext: true,
@@ -60,6 +67,12 @@ Object.defineProperty(exports, "NavigationHelpersContext", {
60
67
  return _NavigationHelpersContext.default;
61
68
  }
62
69
  });
70
+ Object.defineProperty(exports, "NavigationIndependentTree", {
71
+ enumerable: true,
72
+ get: function () {
73
+ return _NavigationIndependentTree.default;
74
+ }
75
+ });
63
76
  Object.defineProperty(exports, "NavigationRouteContext", {
64
77
  enumerable: true,
65
78
  get: function () {
@@ -78,12 +91,36 @@ Object.defineProperty(exports, "PreventRemoveProvider", {
78
91
  return _PreventRemoveProvider.default;
79
92
  }
80
93
  });
94
+ Object.defineProperty(exports, "StaticNavigation", {
95
+ enumerable: true,
96
+ get: function () {
97
+ return _StaticNavigation.StaticNavigation;
98
+ }
99
+ });
100
+ Object.defineProperty(exports, "StaticParamList", {
101
+ enumerable: true,
102
+ get: function () {
103
+ return _StaticNavigation.StaticParamList;
104
+ }
105
+ });
106
+ Object.defineProperty(exports, "StaticScreenProps", {
107
+ enumerable: true,
108
+ get: function () {
109
+ return _StaticNavigation.StaticScreenProps;
110
+ }
111
+ });
81
112
  Object.defineProperty(exports, "UNSTABLE_usePreventRemove", {
82
113
  enumerable: true,
83
114
  get: function () {
84
115
  return _usePreventRemove.default;
85
116
  }
86
117
  });
118
+ Object.defineProperty(exports, "createComponentForStaticNavigation", {
119
+ enumerable: true,
120
+ get: function () {
121
+ return _StaticNavigation.createComponentForStaticNavigation;
122
+ }
123
+ });
87
124
  Object.defineProperty(exports, "createNavigationContainerRef", {
88
125
  enumerable: true,
89
126
  get: function () {
@@ -96,6 +133,12 @@ Object.defineProperty(exports, "createNavigatorFactory", {
96
133
  return _createNavigatorFactory.default;
97
134
  }
98
135
  });
136
+ Object.defineProperty(exports, "createPathConfigForStaticNavigation", {
137
+ enumerable: true,
138
+ get: function () {
139
+ return _StaticNavigation.createPathConfigForStaticNavigation;
140
+ }
141
+ });
99
142
  Object.defineProperty(exports, "findFocusedRoute", {
100
143
  enumerable: true,
101
144
  get: function () {
@@ -156,6 +199,12 @@ Object.defineProperty(exports, "useNavigationContainerRef", {
156
199
  return _useNavigationContainerRef.default;
157
200
  }
158
201
  });
202
+ Object.defineProperty(exports, "useNavigationIndependentTree", {
203
+ enumerable: true,
204
+ get: function () {
205
+ return _useNavigationIndependentTree.default;
206
+ }
207
+ });
159
208
  Object.defineProperty(exports, "useNavigationState", {
160
209
  enumerable: true,
161
210
  get: function () {
@@ -192,9 +241,11 @@ var _getStateFromPath = _interopRequireDefault(require("./getStateFromPath"));
192
241
  var _NavigationContainerRefContext = _interopRequireDefault(require("./NavigationContainerRefContext"));
193
242
  var _NavigationContext = _interopRequireDefault(require("./NavigationContext"));
194
243
  var _NavigationHelpersContext = _interopRequireDefault(require("./NavigationHelpersContext"));
244
+ var _NavigationIndependentTree = _interopRequireDefault(require("./NavigationIndependentTree"));
195
245
  var _NavigationRouteContext = _interopRequireDefault(require("./NavigationRouteContext"));
196
246
  var _PreventRemoveContext = _interopRequireDefault(require("./PreventRemoveContext"));
197
247
  var _PreventRemoveProvider = _interopRequireDefault(require("./PreventRemoveProvider"));
248
+ var _StaticNavigation = require("./StaticNavigation");
198
249
  var _types = require("./types");
199
250
  Object.keys(_types).forEach(function (key) {
200
251
  if (key === "default" || key === "__esModule") return;
@@ -212,6 +263,7 @@ var _useIsFocused = _interopRequireDefault(require("./useIsFocused"));
212
263
  var _useNavigation = _interopRequireDefault(require("./useNavigation"));
213
264
  var _useNavigationBuilder = _interopRequireDefault(require("./useNavigationBuilder"));
214
265
  var _useNavigationContainerRef = _interopRequireDefault(require("./useNavigationContainerRef"));
266
+ var _useNavigationIndependentTree = _interopRequireDefault(require("./useNavigationIndependentTree"));
215
267
  var _useNavigationState = _interopRequireDefault(require("./useNavigationState"));
216
268
  var _usePreventRemove = _interopRequireDefault(require("./usePreventRemove"));
217
269
  var _usePreventRemoveContext = _interopRequireDefault(require("./usePreventRemoveContext"));
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAA0C"}
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAOA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAA0C"}
@@ -76,7 +76,9 @@ function useDescriptors(_ref) {
76
76
  screen.options,
77
77
  // The options set via `navigation.setOptions`
78
78
  options[route.key]];
79
- const customOptions = optionsList.reduce((acc, curr) => Object.assign(acc, typeof curr !== 'function' ? curr : curr({
79
+ const customOptions = optionsList.reduce((acc, curr) => Object.assign(acc,
80
+ // @ts-expect-error: we check for function but TS still complains
81
+ typeof curr !== 'function' ? curr : curr({
80
82
  route,
81
83
  navigation
82
84
  })), {});
@@ -101,28 +103,29 @@ function useDescriptors(_ref) {
101
103
  }
102
104
  return o;
103
105
  });
106
+ const element = /*#__PURE__*/React.createElement(_NavigationBuilderContext.default.Provider, {
107
+ key: route.key,
108
+ value: context
109
+ }, /*#__PURE__*/React.createElement(_NavigationContext.default.Provider, {
110
+ value: navigation
111
+ }, /*#__PURE__*/React.createElement(_NavigationRouteContext.default.Provider, {
112
+ value: route
113
+ }, /*#__PURE__*/React.createElement(_SceneView.default, {
114
+ navigation: navigation,
115
+ route: route,
116
+ screen: screen,
117
+ routeState: state.routes[i].state,
118
+ getState: getState,
119
+ setState: setState,
120
+ options: mergedOptions,
121
+ clearOptions: clearOptions
122
+ }))));
104
123
  acc[route.key] = {
105
124
  route,
106
125
  // @ts-expect-error: it's missing action helpers, fix later
107
126
  navigation,
108
127
  render() {
109
- return /*#__PURE__*/React.createElement(_NavigationBuilderContext.default.Provider, {
110
- key: route.key,
111
- value: context
112
- }, /*#__PURE__*/React.createElement(_NavigationContext.default.Provider, {
113
- value: navigation
114
- }, /*#__PURE__*/React.createElement(_NavigationRouteContext.default.Provider, {
115
- value: route
116
- }, /*#__PURE__*/React.createElement(_SceneView.default, {
117
- navigation: navigation,
118
- route: route,
119
- screen: screen,
120
- routeState: state.routes[i].state,
121
- getState: getState,
122
- setState: setState,
123
- options: mergedOptions,
124
- clearOptions: clearOptions
125
- }))));
128
+ return element;
126
129
  },
127
130
  options: mergedOptions
128
131
  };
@@ -1 +1 @@
1
- {"version":3,"names":["useDescriptors","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","React","useState","onDispatchAction","onOptionsChange","stackRef","useContext","NavigationBuilderContext","context","useMemo","navigations","useNavigationCache","routes","useRouteCache","reduce","acc","route","i","config","name","screen","props","key","optionsList","filter","Boolean","customOptions","curr","Object","assign","mergedOptions","clearOptions","o","_","rest","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["useDescriptors","state","screens","navigation","screenOptions","defaultScreenOptions","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","options","setOptions","React","useState","onDispatchAction","onOptionsChange","stackRef","useContext","NavigationBuilderContext","context","useMemo","navigations","useNavigationCache","routes","useRouteCache","reduce","acc","route","i","config","name","screen","props","key","optionsList","filter","Boolean","customOptions","curr","Object","assign","mergedOptions","clearOptions","o","_","rest","element","render"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":"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"}
@@ -72,7 +72,7 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => {
72
72
  return acc;
73
73
  }
74
74
  }
75
- throw new Error(`A navigator can only contain 'Screen', 'Group' or 'React.Fragment' as its direct children (found ${/*#__PURE__*/React.isValidElement(child) ? `'${typeof child.type === 'string' ? child.type : (_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.name}'${(_child$props = child.props) !== null && _child$props !== void 0 && _child$props.name ? ` for the screen '${child.props.name}'` : ''}` : typeof child === 'object' ? JSON.stringify(child) : `'${String(child)}'`}). To render this component in the navigator, pass it in the 'component' prop to 'Screen'.`);
75
+ throw new Error(`A navigator can only contain 'Screen', 'Group' or 'React.Fragment' as its direct children (found ${/*#__PURE__*/React.isValidElement(child) ? `'${typeof child.type === 'string' ? child.type : (_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.name}'${child.props != null && typeof child.props === 'object' && 'name' in child.props && (_child$props = child.props) !== null && _child$props !== void 0 && _child$props.name ? ` for the screen '${child.props.name}'` : ''}` : typeof child === 'object' ? JSON.stringify(child) : `'${String(child)}'`}). To render this component in the navigator, pass it in the 'component' prop to 'Screen'.`);
76
76
  }, []);
77
77
  if (process.env.NODE_ENV !== 'production') {
78
78
  configs.forEach(config => {
@@ -1 +1 @@
1
- {"version":3,"names":["PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","configs","React","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","push","keys","options","Fragment","Group","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","useScheduleUpdate","setTimeout","initializedStateRef","emitter","useEventEmitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","useDescriptors","defaultScreenOptions","useCurrentRender","NavigationContent","useComponent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["PrivateValueStore","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","configs","React","Children","toArray","reduce","acc","child","isValidElement","type","Screen","props","navigationKey","Error","JSON","stringify","name","push","keys","options","Fragment","Group","screenOptions","String","process","env","NODE_ENV","forEach","config","component","getComponent","isValidElementType","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","useRegisterNavigator","route","useContext","NavigationRouteContext","screenListeners","rest","current","router","useRef","params","state","initial","screen","initialRouteName","routeConfigs","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","NavigationStateContext","stateCleanedUp","cleanUpState","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","getInitialState","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","isArrayEqual","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","filter","hasOwnProperty","previousNestedParamsRef","previousParams","action","CommonActions","reset","navigate","path","updatedState","getStateForAction","shouldUpdate","useScheduleUpdate","setTimeout","initializedStateRef","emitter","useEventEmitter","e","target","routes","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","useFocusEvents","emit","data","childListeners","addListener","useChildListeners","keyedListeners","addKeyedListener","useKeyedChildListeners","onAction","useOnAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","useOnRouteFocus","useNavigationHelpers","id","useFocusedListenersChildrenAdapter","focusedListeners","focus","useOnGetState","getStateListeners","useDescriptors","defaultScreenOptions","useCurrentRender","NavigationContent","useComponent"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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"}
@@ -100,13 +100,15 @@ function useNavigationCache(_ref) {
100
100
  }
101
101
  return rest.getParent(id);
102
102
  },
103
- setOptions: options => setOptions(o => ({
104
- ...o,
105
- [route.key]: {
106
- ...o[route.key],
107
- ...options
108
- }
109
- })),
103
+ setOptions: options => {
104
+ setOptions(o => ({
105
+ ...o,
106
+ [route.key]: {
107
+ ...o[route.key],
108
+ ...options
109
+ }
110
+ }));
111
+ },
110
112
  isFocused: () => {
111
113
  const state = getState();
112
114
  if (state.routes[state.index].key !== route.key) {
@@ -1 +1 @@
1
- {"version":3,"names":["useNavigationCache","state","getState","navigation","setOptions","router","emitter","stackRef","React","useContext","NavigationBuilderContext","cache","useMemo","current","actions","actionCreators","CommonActions","routes","reduce","acc","route","previous","key","emit","rest","dispatch","thunk","action","source","withStack","callback","isStackSet","process","env","NODE_ENV","Error","stack","undefined","helpers","Object","keys","name","args","create","getParent","id","getId","options","o","isFocused","index"],"sourceRoot":"../../src","sources":["useNavigationCache.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["useNavigationCache","state","getState","navigation","setOptions","router","emitter","stackRef","React","useContext","NavigationBuilderContext","cache","useMemo","current","actions","actionCreators","CommonActions","routes","reduce","acc","route","previous","key","emit","rest","dispatch","thunk","action","source","withStack","callback","isStackSet","process","env","NODE_ENV","Error","stack","undefined","helpers","Object","keys","name","args","create","getParent","id","getId","options","o","isFocused","index"],"sourceRoot":"../../src","sources":["useNavigationCache.tsx"],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useNavigationIndependentTree;
7
+ var React = _interopRequireWildcard(require("react"));
8
+ var _NavigationIndependentTreeContext = _interopRequireDefault(require("./NavigationIndependentTreeContext"));
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
11
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
12
+ function useNavigationIndependentTree() {
13
+ return React.useContext(_NavigationIndependentTreeContext.default);
14
+ }
15
+ //# sourceMappingURL=useNavigationIndependentTree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useNavigationIndependentTree","React","useContext","NavigationIndependentTreeContext"],"sourceRoot":"../../src","sources":["useNavigationIndependentTree.tsx"],"mappings":";;;;;;AAAA;AAEA;AAAkF;AAAA;AAAA;AAEnE,SAASA,4BAA4B,GAAG;EACrD,OAAOC,KAAK,CAACC,UAAU,CAACC,yCAAgC,CAAC;AAC3D"}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = useOnAction;
7
7
  var React = _interopRequireWildcard(require("react"));
8
+ var _DeprecatedNavigationInChildContext = _interopRequireDefault(require("./DeprecatedNavigationInChildContext"));
8
9
  var _NavigationBuilderContext = _interopRequireDefault(require("./NavigationBuilderContext"));
9
10
  var _useOnPreventRemove = _interopRequireWildcard(require("./useOnPreventRemove"));
10
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -36,6 +37,7 @@ function useOnAction(_ref) {
36
37
  addListener: addListenerParent,
37
38
  onDispatchAction
38
39
  } = React.useContext(_NavigationBuilderContext.default);
40
+ const navigationInChildEnabled = React.useContext(_DeprecatedNavigationInChildContext.default);
39
41
  const routerConfigOptionsRef = React.useRef(routerConfigOptions);
40
42
  React.useEffect(() => {
41
43
  routerConfigOptionsRef.current = routerConfigOptions;
@@ -82,16 +84,18 @@ function useOnAction(_ref) {
82
84
  return true;
83
85
  }
84
86
  }
85
-
86
- // If the action wasn't handled by current navigator or a parent navigator, let children handle it
87
- for (let i = actionListeners.length - 1; i >= 0; i--) {
88
- const listener = actionListeners[i];
89
- if (listener(action, visitedNavigators)) {
90
- return true;
87
+ if (typeof action.target === 'string' || navigationInChildEnabled) {
88
+ // If the action wasn't handled by current navigator or a parent navigator, let children handle it
89
+ // Handling this when target isn't specified is deprecated and will be removed in the future
90
+ for (let i = actionListeners.length - 1; i >= 0; i--) {
91
+ const listener = actionListeners[i];
92
+ if (listener(action, visitedNavigators)) {
93
+ return true;
94
+ }
91
95
  }
92
96
  }
93
97
  return false;
94
- }, [actionListeners, beforeRemoveListeners, emitter, getState, key, onActionParent, onDispatchAction, onRouteFocusParent, router, setState]);
98
+ }, [actionListeners, beforeRemoveListeners, emitter, getState, navigationInChildEnabled, key, onActionParent, onDispatchAction, onRouteFocusParent, router, setState]);
95
99
  (0, _useOnPreventRemove.default)({
96
100
  getState,
97
101
  emitter,
@@ -1 +1 @@
1
- {"version":3,"names":["useOnAction","router","getState","setState","key","actionListeners","beforeRemoveListeners","routerConfigOptions","emitter","onAction","onActionParent","onRouteFocus","onRouteFocusParent","addListener","addListenerParent","onDispatchAction","React","useContext","NavigationBuilderContext","routerConfigOptionsRef","useRef","useEffect","current","useCallback","action","visitedNavigators","Set","state","has","add","target","result","getStateForAction","isPrevented","shouldPreventRemove","routes","undefined","shouldFocus","shouldActionChangeFocus","i","length","listener","useOnPreventRemove"],"sourceRoot":"../../src","sources":["useOnAction.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["useOnAction","router","getState","setState","key","actionListeners","beforeRemoveListeners","routerConfigOptions","emitter","onAction","onActionParent","onRouteFocus","onRouteFocusParent","addListener","addListenerParent","onDispatchAction","React","useContext","NavigationBuilderContext","navigationInChildEnabled","DeprecatedNavigationInChildContext","routerConfigOptionsRef","useRef","useEffect","current","useCallback","action","visitedNavigators","Set","state","has","add","target","result","getStateForAction","isPrevented","shouldPreventRemove","routes","undefined","shouldFocus","shouldActionChangeFocus","i","length","listener","useOnPreventRemove"],"sourceRoot":"../../src","sources":["useOnAction.tsx"],"mappings":"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"}
@@ -1,19 +1,21 @@
1
1
  import { CommonActions } from '@react-navigation/routers';
2
2
  import * as React from 'react';
3
+ import useLatestCallback from 'use-latest-callback';
3
4
  import checkDuplicateRouteNames from './checkDuplicateRouteNames';
4
5
  import checkSerializable from './checkSerializable';
5
6
  import { NOT_INITIALIZED_ERROR } from './createNavigationContainerRef';
7
+ import DeprecatedNavigationInChildContext from './DeprecatedNavigationInChildContext';
6
8
  import EnsureSingleNavigator from './EnsureSingleNavigator';
7
9
  import findFocusedRoute from './findFocusedRoute';
8
10
  import NavigationBuilderContext from './NavigationBuilderContext';
9
11
  import NavigationContainerRefContext from './NavigationContainerRefContext';
10
- import NavigationContext from './NavigationContext';
11
- import NavigationRouteContext from './NavigationRouteContext';
12
+ import NavigationIndependentTreeContext from './NavigationIndependentTreeContext';
12
13
  import NavigationStateContext from './NavigationStateContext';
13
14
  import UnhandledActionContext from './UnhandledActionContext';
14
15
  import useChildListeners from './useChildListeners';
15
16
  import useEventEmitter from './useEventEmitter';
16
17
  import useKeyedChildListeners from './useKeyedChildListeners';
18
+ import useNavigationIndependentTree from './useNavigationIndependentTree';
17
19
  import useOptionsGetters from './useOptionsGetters';
18
20
  import { ScheduleUpdateContext } from './useScheduleUpdate';
19
21
  import useSyncState from './useSyncState';
@@ -56,7 +58,9 @@ const getPartialState = state => {
56
58
  * This should be rendered at the root wrapping the whole app.
57
59
  *
58
60
  * @param props.initialState Initial state object for the navigation tree.
61
+ * @param props.onReady Callback which is called after the navigation tree mounts.
59
62
  * @param props.onStateChange Callback which is called with the latest navigation state when it changes.
63
+ * @param props.onUnhandledAction Callback which is called when an action is not handled.
60
64
  * @param props.children Child elements to render the content.
61
65
  * @param props.ref Ref object which refers to the navigation object containing helper methods.
62
66
  */
@@ -64,13 +68,15 @@ const BaseNavigationContainer = /*#__PURE__*/React.forwardRef(function BaseNavig
64
68
  let {
65
69
  initialState,
66
70
  onStateChange,
71
+ onReady,
67
72
  onUnhandledAction,
68
- independent,
73
+ navigationInChildEnabled = false,
69
74
  children
70
75
  } = _ref;
71
76
  const parent = React.useContext(NavigationStateContext);
77
+ const independent = useNavigationIndependentTree();
72
78
  if (!parent.isDefault && !independent) {
73
- throw new Error("Looks like you have nested a 'NavigationContainer' inside another. Normally you need only one container at the root of the app, so this was probably an error. If this was intentional, pass 'independent={true}' explicitly. Note that this will make the child navigators disconnected from the parent and you won't be able to navigate between them.");
79
+ throw new Error("Looks like you have nested a 'NavigationContainer' inside another. Normally you need only one container at the root of the app, so this was probably an error. If this was intentional, wrap the container in 'NavigationIndependentTree' explicitly. Note that this will make the child navigators disconnected from the parent and you won't be able to navigate between them.");
74
80
  }
75
81
  const [state, getState, setState, scheduleUpdate, flushUpdates] = useSyncState(() => getPartialState(initialState == null ? undefined : initialState));
76
82
  const isFirstMountRef = React.useRef(true);
@@ -87,14 +93,14 @@ const BaseNavigationContainer = /*#__PURE__*/React.forwardRef(function BaseNavig
87
93
  keyedListeners,
88
94
  addKeyedListener
89
95
  } = useKeyedChildListeners();
90
- const dispatch = React.useCallback(action => {
96
+ const dispatch = useLatestCallback(action => {
91
97
  if (listeners.focus[0] == null) {
92
98
  console.error(NOT_INITIALIZED_ERROR);
93
99
  } else {
94
100
  listeners.focus[0](navigation => navigation.dispatch(action));
95
101
  }
96
- }, [listeners.focus]);
97
- const canGoBack = React.useCallback(() => {
102
+ });
103
+ const canGoBack = useLatestCallback(() => {
98
104
  if (listeners.focus[0] == null) {
99
105
  return false;
100
106
  }
@@ -107,8 +113,8 @@ const BaseNavigationContainer = /*#__PURE__*/React.forwardRef(function BaseNavig
107
113
  } else {
108
114
  return false;
109
115
  }
110
- }, [listeners.focus]);
111
- const resetRoot = React.useCallback(state => {
116
+ });
117
+ const resetRoot = useLatestCallback(state => {
112
118
  var _keyedListeners$getSt, _keyedListeners$getSt2;
113
119
  const target = (state === null || state === void 0 ? void 0 : state.key) ?? ((_keyedListeners$getSt = (_keyedListeners$getSt2 = keyedListeners.getState).root) === null || _keyedListeners$getSt === void 0 ? void 0 : _keyedListeners$getSt.call(_keyedListeners$getSt2).key);
114
120
  if (target == null) {
@@ -119,19 +125,20 @@ const BaseNavigationContainer = /*#__PURE__*/React.forwardRef(function BaseNavig
119
125
  target
120
126
  }));
121
127
  }
122
- }, [keyedListeners.getState, listeners.focus]);
123
- const getRootState = React.useCallback(() => {
128
+ });
129
+ const getRootState = useLatestCallback(() => {
124
130
  var _keyedListeners$getSt3, _keyedListeners$getSt4;
125
131
  return (_keyedListeners$getSt3 = (_keyedListeners$getSt4 = keyedListeners.getState).root) === null || _keyedListeners$getSt3 === void 0 ? void 0 : _keyedListeners$getSt3.call(_keyedListeners$getSt4);
126
- }, [keyedListeners.getState]);
127
- const getCurrentRoute = React.useCallback(() => {
132
+ });
133
+ const getCurrentRoute = useLatestCallback(() => {
128
134
  const state = getRootState();
129
135
  if (state == null) {
130
136
  return undefined;
131
137
  }
132
138
  const route = findFocusedRoute(state);
133
139
  return route;
134
- }, [getRootState]);
140
+ });
141
+ const isReady = useLatestCallback(() => listeners.focus[0] != null);
135
142
  const emitter = useEventEmitter();
136
143
  const {
137
144
  addOptionsGetter,
@@ -157,10 +164,10 @@ const BaseNavigationContainer = /*#__PURE__*/React.forwardRef(function BaseNavig
157
164
  getRootState,
158
165
  getCurrentRoute,
159
166
  getCurrentOptions,
160
- isReady: () => listeners.focus[0] != null
161
- }), [canGoBack, dispatch, emitter, getCurrentOptions, getCurrentRoute, getRootState, listeners.focus, resetRoot]);
167
+ isReady
168
+ }), [canGoBack, dispatch, emitter, getCurrentOptions, getCurrentRoute, getRootState, isReady, resetRoot]);
162
169
  React.useImperativeHandle(ref, () => navigation, [navigation]);
163
- const onDispatchAction = React.useCallback((action, noop) => {
170
+ const onDispatchAction = useLatestCallback((action, noop) => {
164
171
  emitter.emit({
165
172
  type: '__unsafe_action__',
166
173
  data: {
@@ -169,9 +176,9 @@ const BaseNavigationContainer = /*#__PURE__*/React.forwardRef(function BaseNavig
169
176
  stack: stackRef.current
170
177
  }
171
178
  });
172
- }, [emitter]);
179
+ });
173
180
  const lastEmittedOptionsRef = React.useRef();
174
- const onOptionsChange = React.useCallback(options => {
181
+ const onOptionsChange = useLatestCallback(options => {
175
182
  if (lastEmittedOptionsRef.current === options) {
176
183
  return;
177
184
  }
@@ -182,7 +189,7 @@ const BaseNavigationContainer = /*#__PURE__*/React.forwardRef(function BaseNavig
182
189
  options
183
190
  }
184
191
  });
185
- }, [emitter]);
192
+ });
186
193
  const stackRef = React.useRef();
187
194
  const builderContext = React.useMemo(() => ({
188
195
  addListener,
@@ -206,13 +213,22 @@ const BaseNavigationContainer = /*#__PURE__*/React.forwardRef(function BaseNavig
206
213
  getIsInitial,
207
214
  addOptionsGetter
208
215
  }), [state, getState, setState, getKey, setKey, getIsInitial, addOptionsGetter]);
216
+ const onReadyRef = React.useRef(onReady);
209
217
  const onStateChangeRef = React.useRef(onStateChange);
210
218
  const stateRef = React.useRef(state);
211
219
  React.useEffect(() => {
212
220
  isInitialRef.current = false;
213
221
  onStateChangeRef.current = onStateChange;
222
+ onReadyRef.current = onReady;
214
223
  stateRef.current = state;
215
224
  });
225
+ const isNavigationReady = isReady();
226
+ React.useEffect(() => {
227
+ if (isNavigationReady) {
228
+ var _onReadyRef$current;
229
+ (_onReadyRef$current = onReadyRef.current) === null || _onReadyRef$current === void 0 ? void 0 : _onReadyRef$current.call(onReadyRef);
230
+ }
231
+ }, [isNavigationReady]);
216
232
  React.useEffect(() => {
217
233
  const hydratedState = getRootState();
218
234
  if (process.env.NODE_ENV !== 'production') {
@@ -279,7 +295,7 @@ const BaseNavigationContainer = /*#__PURE__*/React.forwardRef(function BaseNavig
279
295
  }
280
296
  isFirstMountRef.current = false;
281
297
  }, [getRootState, emitter, state]);
282
- const defaultOnUnhandledAction = React.useCallback(action => {
298
+ const defaultOnUnhandledAction = useLatestCallback(action => {
283
299
  if (process.env.NODE_ENV === 'production') {
284
300
  return;
285
301
  }
@@ -309,8 +325,10 @@ const BaseNavigationContainer = /*#__PURE__*/React.forwardRef(function BaseNavig
309
325
  }
310
326
  message += `\n\nThis is a development-only warning and won't be shown in production.`;
311
327
  console.error(message);
312
- }, []);
313
- let element = /*#__PURE__*/React.createElement(NavigationContainerRefContext.Provider, {
328
+ });
329
+ return /*#__PURE__*/React.createElement(NavigationIndependentTreeContext.Provider, {
330
+ value: false
331
+ }, /*#__PURE__*/React.createElement(NavigationContainerRefContext.Provider, {
314
332
  value: navigation
315
333
  }, /*#__PURE__*/React.createElement(ScheduleUpdateContext.Provider, {
316
334
  value: scheduleContext
@@ -320,16 +338,9 @@ const BaseNavigationContainer = /*#__PURE__*/React.forwardRef(function BaseNavig
320
338
  value: context
321
339
  }, /*#__PURE__*/React.createElement(UnhandledActionContext.Provider, {
322
340
  value: onUnhandledAction ?? defaultOnUnhandledAction
323
- }, /*#__PURE__*/React.createElement(EnsureSingleNavigator, null, children))))));
324
- if (independent) {
325
- // We need to clear any existing contexts for nested independent container to work correctly
326
- element = /*#__PURE__*/React.createElement(NavigationRouteContext.Provider, {
327
- value: undefined
328
- }, /*#__PURE__*/React.createElement(NavigationContext.Provider, {
329
- value: undefined
330
- }, element));
331
- }
332
- return element;
341
+ }, /*#__PURE__*/React.createElement(DeprecatedNavigationInChildContext.Provider, {
342
+ value: navigationInChildEnabled
343
+ }, /*#__PURE__*/React.createElement(EnsureSingleNavigator, null, children))))))));
333
344
  });
334
345
  export default BaseNavigationContainer;
335
346
  //# sourceMappingURL=BaseNavigationContainer.js.map