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

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 (92) hide show
  1. package/lib/module/BaseNavigationContainer.js +128 -80
  2. package/lib/module/BaseNavigationContainer.js.map +1 -1
  3. package/lib/module/DataLoading.js +3 -1
  4. package/lib/module/DataLoading.js.map +1 -1
  5. package/lib/module/NavigationBuilderContext.js +2 -1
  6. package/lib/module/NavigationBuilderContext.js.map +1 -1
  7. package/lib/module/NavigationIndependentTree.js +13 -6
  8. package/lib/module/NavigationIndependentTree.js.map +1 -1
  9. package/lib/module/NavigationProvider.js +10 -1
  10. package/lib/module/NavigationProvider.js.map +1 -1
  11. package/lib/module/NavigationRootContext.js +8 -0
  12. package/lib/module/NavigationRootContext.js.map +1 -0
  13. package/lib/module/StaticNavigation.js +54 -19
  14. package/lib/module/StaticNavigation.js.map +1 -1
  15. package/lib/module/createNavigationContainerRef.js +1 -1
  16. package/lib/module/createNavigationContainerRef.js.map +1 -1
  17. package/lib/module/getStateFromPath.js +1 -1
  18. package/lib/module/index.js +1 -1
  19. package/lib/module/index.js.map +1 -1
  20. package/lib/module/internal.js +2 -0
  21. package/lib/module/internal.js.map +1 -0
  22. package/lib/module/types.js +0 -1
  23. package/lib/module/types.js.map +1 -1
  24. package/lib/module/useDescriptors.js +4 -4
  25. package/lib/module/useDescriptors.js.map +1 -1
  26. package/lib/module/useKeyedChildListeners.js +1 -0
  27. package/lib/module/useKeyedChildListeners.js.map +1 -1
  28. package/lib/module/useNavigation.js +2 -2
  29. package/lib/module/useNavigation.js.map +1 -1
  30. package/lib/module/useNavigationBuilder.js +11 -4
  31. package/lib/module/useNavigationBuilder.js.map +1 -1
  32. package/lib/module/useNavigationCache.js +23 -31
  33. package/lib/module/useNavigationCache.js.map +1 -1
  34. package/lib/module/useNavigationHelpers.js +18 -37
  35. package/lib/module/useNavigationHelpers.js.map +1 -1
  36. package/lib/module/useNavigationState.js +13 -6
  37. package/lib/module/useNavigationState.js.map +1 -1
  38. package/lib/module/useOnGetNavigation.js +26 -0
  39. package/lib/module/useOnGetNavigation.js.map +1 -0
  40. package/lib/typescript/src/BaseNavigationContainer.d.ts.map +1 -1
  41. package/lib/typescript/src/DataLoading.d.ts.map +1 -1
  42. package/lib/typescript/src/NavigationBuilderContext.d.ts +4 -1
  43. package/lib/typescript/src/NavigationBuilderContext.d.ts.map +1 -1
  44. package/lib/typescript/src/NavigationIndependentTree.d.ts.map +1 -1
  45. package/lib/typescript/src/NavigationProvider.d.ts +9 -5
  46. package/lib/typescript/src/NavigationProvider.d.ts.map +1 -1
  47. package/lib/typescript/src/NavigationRootContext.d.ts +8 -0
  48. package/lib/typescript/src/NavigationRootContext.d.ts.map +1 -0
  49. package/lib/typescript/src/StaticNavigation.d.ts.map +1 -1
  50. package/lib/typescript/src/createNavigationContainerRef.d.ts.map +1 -1
  51. package/lib/typescript/src/index.d.ts +1 -1
  52. package/lib/typescript/src/index.d.ts.map +1 -1
  53. package/lib/typescript/src/internal.d.ts +3 -0
  54. package/lib/typescript/src/internal.d.ts.map +1 -0
  55. package/lib/typescript/src/types.d.ts +3 -6
  56. package/lib/typescript/src/types.d.ts.map +1 -1
  57. package/lib/typescript/src/useKeyedChildListeners.d.ts +1 -0
  58. package/lib/typescript/src/useKeyedChildListeners.d.ts.map +1 -1
  59. package/lib/typescript/src/useNavigationBuilder.d.ts.map +1 -1
  60. package/lib/typescript/src/useNavigationCache.d.ts.map +1 -1
  61. package/lib/typescript/src/useNavigationHelpers.d.ts +1 -2
  62. package/lib/typescript/src/useNavigationHelpers.d.ts.map +1 -1
  63. package/lib/typescript/src/useNavigationState.d.ts +2 -1
  64. package/lib/typescript/src/useNavigationState.d.ts.map +1 -1
  65. package/lib/typescript/src/useOnGetNavigation.d.ts +12 -0
  66. package/lib/typescript/src/useOnGetNavigation.d.ts.map +1 -0
  67. package/package.json +9 -3
  68. package/src/BaseNavigationContainer.tsx +181 -94
  69. package/src/DataLoading.tsx +4 -1
  70. package/src/NavigationBuilderContext.tsx +10 -1
  71. package/src/NavigationIndependentTree.tsx +13 -7
  72. package/src/NavigationProvider.tsx +13 -6
  73. package/src/NavigationRootContext.tsx +11 -0
  74. package/src/StaticNavigation.tsx +77 -19
  75. package/src/createNavigationContainerRef.tsx +0 -2
  76. package/src/getStateFromPath.tsx +1 -1
  77. package/src/index.tsx +1 -0
  78. package/src/internal.tsx +2 -0
  79. package/src/types.tsx +3 -7
  80. package/src/useDescriptors.tsx +3 -3
  81. package/src/useKeyedChildListeners.tsx +1 -0
  82. package/src/useNavigation.tsx +2 -2
  83. package/src/useNavigationBuilder.tsx +11 -4
  84. package/src/useNavigationCache.tsx +24 -33
  85. package/src/useNavigationHelpers.tsx +19 -38
  86. package/src/useNavigationState.tsx +16 -8
  87. package/src/useOnGetNavigation.tsx +29 -0
  88. package/lib/module/checkSerializable.js +0 -51
  89. package/lib/module/checkSerializable.js.map +0 -1
  90. package/lib/typescript/src/checkSerializable.d.ts +0 -14
  91. package/lib/typescript/src/checkSerializable.d.ts.map +0 -1
  92. package/src/checkSerializable.tsx +0 -90
@@ -3,8 +3,8 @@
3
3
  import { CommonActions } from '@react-navigation/routers';
4
4
  import * as React from 'react';
5
5
  import useLatestCallback from 'use-latest-callback';
6
+ import warnOnce from 'warn-once';
6
7
  import { checkDuplicateRouteNames } from "./checkDuplicateRouteNames.js";
7
- import { checkSerializable } from "./checkSerializable.js";
8
8
  import { ConsumedParamsContext } from "./ConsumedParamsContext.js";
9
9
  import { NOT_INITIALIZED_ERROR } from "./createNavigationContainerRef.js";
10
10
  import { EnsureSingleNavigator } from "./EnsureSingleNavigator.js";
@@ -12,6 +12,7 @@ import { findFocusedRoute } from "./findFocusedRoute.js";
12
12
  import { NavigationBuilderContext } from "./NavigationBuilderContext.js";
13
13
  import { NavigationContainerRefContext } from "./NavigationContainerRefContext.js";
14
14
  import { NavigationIndependentTreeContext } from "./NavigationIndependentTreeContext.js";
15
+ import { NavigationRootContext } from "./NavigationRootContext.js";
15
16
  import { NavigationStateContext } from "./NavigationStateContext.js";
16
17
  import { ThemeProvider } from "./theming/ThemeProvider.js";
17
18
  import { UnhandledActionContext } from "./UnhandledActionContext.js";
@@ -23,8 +24,6 @@ import { useNavigationIndependentTree } from "./useNavigationIndependentTree.js"
23
24
  import { useOptionsGetters } from "./useOptionsGetters.js";
24
25
  import { useSyncState } from "./useSyncState.js";
25
26
  import { jsx as _jsx } from "react/jsx-runtime";
26
- const serializableWarnings = [];
27
- const duplicateNameWarnings = [];
28
27
  /**
29
28
  * Remove `key` and `routeNames` from the state objects recursively to get partial state.
30
29
  *
@@ -105,14 +104,39 @@ export function BaseNavigationContainer({
105
104
  keyedListeners,
106
105
  addKeyedListener
107
106
  } = useKeyedChildListeners();
107
+ const stackRef = React.useRef(undefined);
108
+ const withStackTrace = React.useCallback((entry, callback) => {
109
+ if (process.env.NODE_ENV === 'production' || stackRef.current != null) {
110
+ callback();
111
+ return;
112
+ }
113
+ const error = new Error();
114
+ if (Error.captureStackTrace) {
115
+ // Available on V8 and Hermes, omits the frames of `entry` and what it called
116
+ Error.captureStackTrace(error, entry);
117
+ stackRef.current = error.stack;
118
+ } else {
119
+ // Other engines always include them, so we drop the frames up to `entry` ourselves
120
+ const frames = error.stack?.split('\n') ?? [];
121
+ const index = frames.findIndex(frame => frame.includes(`${entry.name}@`));
122
+ stackRef.current = frames.slice(index + 1).join('\n');
123
+ }
124
+ try {
125
+ callback();
126
+ } finally {
127
+ stackRef.current = undefined;
128
+ }
129
+ }, []);
108
130
  const dispatch = useLatestCallback(action => {
109
131
  const listener = listeners.focus[0];
110
132
  if (listener == null) {
111
133
  console.error(NOT_INITIALIZED_ERROR);
112
134
  } else {
113
- listener(navigation => React.startTransition(() => {
114
- navigation.dispatch(action);
115
- }));
135
+ withStackTrace(dispatch, () => {
136
+ listener(navigation => React.startTransition(() => {
137
+ navigation.dispatch(action);
138
+ }));
139
+ });
116
140
  }
117
141
  });
118
142
  const canGoBack = useLatestCallback(() => {
@@ -158,29 +182,97 @@ export function BaseNavigationContainer({
158
182
  addOptionsGetter,
159
183
  getCurrentOptions
160
184
  } = useOptionsGetters({});
161
- const navigation = React.useMemo(() => ({
185
+ const container = React.useMemo(() => ({
162
186
  ...Object.keys(CommonActions).reduce((acc, name) => {
163
- acc[name] = (...args) =>
187
+ const helper = (...args) => withStackTrace(helper, () =>
164
188
  // @ts-expect-error: this is ok
165
- dispatch(CommonActions[name](...args));
189
+ dispatch(CommonActions[name](...args)));
190
+ acc[name] = helper;
166
191
  return acc;
167
192
  }, {}),
168
193
  ...emitter.create('root'),
169
194
  dispatch,
170
195
  resetRoot,
171
- isFocused: () => true,
172
196
  canGoBack,
173
- getParent: () => undefined,
174
197
  getState,
175
198
  getRootState,
176
199
  getCurrentRoute,
177
200
  getCurrentOptions,
178
- isReady,
179
- setOptions: () => {
180
- throw new Error('Cannot call setOptions outside a screen');
181
- }
182
- }), [canGoBack, dispatch, emitter, getCurrentOptions, getCurrentRoute, getRootState, getState, isReady, resetRoot]);
183
- React.useImperativeHandle(ref, () => navigation, [navigation]);
201
+ isReady
202
+ }), [canGoBack, dispatch, emitter, getCurrentOptions, getCurrentRoute, getRootState, getState, isReady, resetRoot, withStackTrace]);
203
+ const navigation = React.useMemo(() => {
204
+ const events = emitter.create('root');
205
+ const dispatch = thunk => {
206
+ const root = keyedListeners.getNavigation.root?.();
207
+ if (root == null) {
208
+ console.error(NOT_INITIALIZED_ERROR);
209
+ return;
210
+ }
211
+ withStackTrace(dispatch, () => {
212
+ React.startTransition(() => {
213
+ root.dispatch(thunk);
214
+ });
215
+ });
216
+ };
217
+ const helpers = Object.keys(CommonActions).reduce((acc, name) => {
218
+ const helper = (...args) => {
219
+ if (name === 'setParams' || name === 'replaceParams' || name === 'pushParams') {
220
+ throw new Error(`Cannot call ${name} outside a screen`);
221
+ }
222
+ withStackTrace(helper, () =>
223
+ // @ts-expect-error name is a valid key, but TypeScript cannot infer it.
224
+ dispatch(CommonActions[name](...args)));
225
+ };
226
+ acc[name] = helper;
227
+ return acc;
228
+ }, {});
229
+ const listeners = new WeakMap();
230
+ return {
231
+ ...helpers,
232
+ dispatch,
233
+ addListener: (type, callback) => {
234
+ if (type === 'state') {
235
+ let listener = listeners.get(callback);
236
+ if (listener === undefined) {
237
+ // Root's state change events can contain stale and undefined state
238
+ // But navigation objects should only receive non-stale state
239
+ // So we add a wrapper to filter out stale events
240
+ listener = event => {
241
+ if (event.data.state?.stale === false) {
242
+ // @ts-expect-error TypeScript doesn't narrow the generic event callback with its type.
243
+ callback(event);
244
+ }
245
+ };
246
+ listeners.set(callback, listener);
247
+ }
248
+ return events.addListener('state', listener);
249
+ }
250
+ return () => {};
251
+ },
252
+ removeListener: (type, callback) => {
253
+ if (type === 'state') {
254
+ const listener = listeners.get(callback);
255
+ if (listener) {
256
+ events.removeListener('state', listener);
257
+ listeners.delete(callback);
258
+ }
259
+ }
260
+ },
261
+ canGoBack: () => keyedListeners.getNavigation.root?.().canGoBack() ?? false,
262
+ getState: () => keyedListeners.getState.root?.(),
263
+ getParent: routeName => {
264
+ if (routeName !== undefined) {
265
+ throw new Error(`Couldn't find a navigation object for '${routeName}' because it's called outside a screen. Is your component inside a screen?`);
266
+ }
267
+ return undefined;
268
+ },
269
+ setOptions: () => {
270
+ throw new Error('Cannot call setOptions outside a screen');
271
+ },
272
+ isFocused: () => true
273
+ };
274
+ }, [emitter, keyedListeners, withStackTrace]);
275
+ React.useImperativeHandle(ref, () => container, [container]);
184
276
  const onDispatchAction = useLatestCallback((action, noop) => {
185
277
  emitter.emit({
186
278
  type: '__unsafe_action__',
@@ -210,7 +302,6 @@ export function BaseNavigationContainer({
210
302
  }
211
303
  });
212
304
  });
213
- const stackRef = React.useRef(undefined);
214
305
  const lastEmittedStateRef = React.useRef(undefined);
215
306
  const getIsStateEmitted = useLatestCallback(() => !isFirstMountRef.current && lastEmittedStateRef.current === getState());
216
307
  const builderContext = React.useMemo(() => ({
@@ -222,8 +313,8 @@ export function BaseNavigationContainer({
222
313
  getIsStateEmitted,
223
314
  scheduleUpdate,
224
315
  flushUpdates,
225
- stackRef
226
- }), [addListener, addKeyedListener, onDispatchAction, onEmitEvent, onOptionsChange, getIsStateEmitted, scheduleUpdate, flushUpdates]);
316
+ withStackTrace
317
+ }), [addListener, addKeyedListener, onDispatchAction, onEmitEvent, onOptionsChange, getIsStateEmitted, scheduleUpdate, flushUpdates, withStackTrace]);
227
318
  const isInitialRef = React.useRef(true);
228
319
  const getIsInitial = React.useCallback(() => isInitialRef.current, []);
229
320
  const context = React.useMemo(() => ({
@@ -257,56 +348,10 @@ export function BaseNavigationContainer({
257
348
  const hydratedState = getRootState();
258
349
  if (process.env.NODE_ENV !== 'production') {
259
350
  if (hydratedState !== undefined) {
260
- const serializableResult = checkSerializable(hydratedState);
261
- if (!serializableResult.serializable) {
262
- const {
263
- location,
264
- reason
265
- } = serializableResult;
266
- let path = '';
267
- let pointer = hydratedState;
268
- let params = false;
269
- for (let i = 0; i < location.length; i++) {
270
- const curr = location[i];
271
- const prev = location[i - 1];
272
- if (curr == null) {
273
- continue;
274
- }
275
- pointer = pointer[curr];
276
- if (!params && curr === 'state') {
277
- continue;
278
- } else if (!params && curr === 'routes') {
279
- if (path) {
280
- path += ' > ';
281
- }
282
- } else if (!params && typeof curr === 'number' && prev === 'routes') {
283
- path += pointer?.name;
284
- } else if (!params) {
285
- path += ` > ${curr}`;
286
- params = true;
287
- } else {
288
- if (typeof curr === 'number' || /^[0-9]+$/.test(curr)) {
289
- path += `[${curr}]`;
290
- } else if (/^[a-z$_]+$/i.test(curr)) {
291
- path += `.${curr}`;
292
- } else {
293
- path += `[${JSON.stringify(curr)}]`;
294
- }
295
- }
296
- }
297
- const message = `Non-serializable values were found in the navigation state. Check:\n\n${path} (${reason})\n\nThis can break usage such as persisting and restoring state. This might happen if you passed non-serializable values such as function, class instances etc. in params. If you need to use components with callbacks in your options, you can use 'navigation.setOptions' instead. See https://reactnavigation.org/docs/troubleshooting#i-get-the-warning-non-serializable-values-were-found-in-the-navigation-state for more details.`;
298
- if (!serializableWarnings.includes(message)) {
299
- serializableWarnings.push(message);
300
- console.warn(message);
301
- }
302
- }
303
351
  const duplicateRouteNamesResult = checkDuplicateRouteNames(hydratedState);
304
352
  if (duplicateRouteNamesResult.length) {
305
353
  const message = `Found screens with the same name nested inside one another. Check:\n${duplicateRouteNamesResult.map(locations => `\n${locations.join(', ')}`)}\n\nThis can cause confusing behavior during navigation. Consider using unique names for each screen instead.`;
306
- if (!duplicateNameWarnings.includes(message)) {
307
- duplicateNameWarnings.push(message);
308
- console.warn(message);
309
- }
354
+ warnOnce(true, message);
310
355
  }
311
356
  }
312
357
  }
@@ -358,19 +403,22 @@ export function BaseNavigationContainer({
358
403
  return /*#__PURE__*/_jsx(NavigationIndependentTreeContext.Provider, {
359
404
  value: false,
360
405
  children: /*#__PURE__*/_jsx(NavigationContainerRefContext.Provider, {
361
- value: navigation,
362
- children: /*#__PURE__*/_jsx(NavigationBuilderContext.Provider, {
363
- value: builderContext,
364
- children: /*#__PURE__*/_jsx(NavigationStateContext.Provider, {
365
- value: context,
366
- children: /*#__PURE__*/_jsx(ConsumedParamsContext.Provider, {
367
- value: consumedParams,
368
- children: /*#__PURE__*/_jsx(UnhandledActionContext.Provider, {
369
- value: onUnhandledAction ?? defaultOnUnhandledAction,
370
- children: /*#__PURE__*/_jsx(EnsureSingleNavigator, {
371
- children: /*#__PURE__*/_jsx(ThemeProvider, {
372
- value: theme,
373
- children: children
406
+ value: container,
407
+ children: /*#__PURE__*/_jsx(NavigationRootContext.Provider, {
408
+ value: navigation,
409
+ children: /*#__PURE__*/_jsx(NavigationBuilderContext.Provider, {
410
+ value: builderContext,
411
+ children: /*#__PURE__*/_jsx(NavigationStateContext.Provider, {
412
+ value: context,
413
+ children: /*#__PURE__*/_jsx(ConsumedParamsContext.Provider, {
414
+ value: consumedParams,
415
+ children: /*#__PURE__*/_jsx(UnhandledActionContext.Provider, {
416
+ value: onUnhandledAction ?? defaultOnUnhandledAction,
417
+ children: /*#__PURE__*/_jsx(EnsureSingleNavigator, {
418
+ children: /*#__PURE__*/_jsx(ThemeProvider, {
419
+ value: theme,
420
+ children: children
421
+ })
374
422
  })
375
423
  })
376
424
  })
@@ -1 +1 @@
1
- {"version":3,"names":["CommonActions","React","useLatestCallback","checkDuplicateRouteNames","checkSerializable","ConsumedParamsContext","NOT_INITIALIZED_ERROR","EnsureSingleNavigator","findFocusedRoute","NavigationBuilderContext","NavigationContainerRefContext","NavigationIndependentTreeContext","NavigationStateContext","ThemeProvider","UnhandledActionContext","useChildListeners","useEventEmitter","useKeyedChildListeners","useLazyValue","useNavigationIndependentTree","useOptionsGetters","useSyncState","jsx","_jsx","serializableWarnings","duplicateNameWarnings","getPartialState","state","undefined","key","routeNames","partialState","stale","routes","map","route","BaseNavigationContainer","initialState","onStateChange","onReady","onUnhandledAction","theme","children","ref","parent","use","independent","isDefault","Error","getState","setState","subscribe","scheduleUpdate","flushUpdates","consumedParams","WeakMap","isFirstMountRef","useRef","navigatorKeyRef","getKey","useCallback","current","setKey","listeners","addListener","keyedListeners","addKeyedListener","dispatch","action","listener","focus","console","error","navigation","startTransition","canGoBack","result","handled","resetRoot","target","root","reset","getRootState","getCurrentRoute","isReady","emitter","addOptionsGetter","getCurrentOptions","useMemo","Object","keys","reduce","acc","name","args","create","isFocused","getParent","setOptions","useImperativeHandle","onDispatchAction","noop","emit","type","data","stack","stackRef","onEmitEvent","event","lastEmittedOptionsRef","onOptionsChange","options","lastEmittedStateRef","getIsStateEmitted","builderContext","isInitialRef","getIsInitial","context","onReadyRef","onStateChangeRef","useEffect","onReadyCalledRef","hydratedState","process","env","NODE_ENV","serializableResult","serializable","location","reason","path","pointer","params","i","length","curr","prev","test","JSON","stringify","message","includes","push","warn","duplicateRouteNamesResult","locations","join","defaultOnUnhandledAction","payload","Provider","value"],"sourceRoot":"../../src","sources":["BaseNavigationContainer.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CommonActions","React","useLatestCallback","warnOnce","checkDuplicateRouteNames","ConsumedParamsContext","NOT_INITIALIZED_ERROR","EnsureSingleNavigator","findFocusedRoute","NavigationBuilderContext","NavigationContainerRefContext","NavigationIndependentTreeContext","NavigationRootContext","NavigationStateContext","ThemeProvider","UnhandledActionContext","useChildListeners","useEventEmitter","useKeyedChildListeners","useLazyValue","useNavigationIndependentTree","useOptionsGetters","useSyncState","jsx","_jsx","getPartialState","state","undefined","key","routeNames","partialState","stale","routes","map","route","BaseNavigationContainer","initialState","onStateChange","onReady","onUnhandledAction","theme","children","ref","parent","use","independent","isDefault","Error","getState","setState","subscribe","scheduleUpdate","flushUpdates","consumedParams","WeakMap","isFirstMountRef","useRef","navigatorKeyRef","getKey","useCallback","current","setKey","listeners","addListener","keyedListeners","addKeyedListener","stackRef","withStackTrace","entry","callback","process","env","NODE_ENV","error","captureStackTrace","stack","frames","split","index","findIndex","frame","includes","name","slice","join","dispatch","action","listener","focus","console","navigation","startTransition","canGoBack","result","handled","resetRoot","target","root","reset","getRootState","getCurrentRoute","isReady","emitter","addOptionsGetter","getCurrentOptions","container","useMemo","Object","keys","reduce","acc","helper","args","create","events","thunk","getNavigation","helpers","type","get","event","data","set","removeListener","delete","getParent","routeName","setOptions","isFocused","useImperativeHandle","onDispatchAction","noop","emit","onEmitEvent","lastEmittedOptionsRef","onOptionsChange","options","lastEmittedStateRef","getIsStateEmitted","builderContext","isInitialRef","getIsInitial","context","onReadyRef","onStateChangeRef","useEffect","onReadyCalledRef","hydratedState","duplicateRouteNamesResult","length","message","locations","defaultOnUnhandledAction","payload","JSON","stringify","Provider","value"],"sourceRoot":"../../src","sources":["BaseNavigationContainer.tsx"],"mappings":"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","ignoreList":[]}
@@ -81,7 +81,9 @@ export function getLoaderForStateChange(tree, state, previousState, consumedPara
81
81
  params
82
82
  }));
83
83
  }
84
- const nested = 'config' in item ? item : 'screen' in item && 'config' in item.screen ? item.screen : undefined;
84
+ const nested = 'config' in item ? item : 'screen' in item &&
85
+ // Nested navigators cannot be defined as a getter
86
+ Object.getOwnPropertyDescriptor(item, 'screen')?.get == null && 'config' in item.screen ? item.screen : undefined;
85
87
  if (nested) {
86
88
  const initialRouteName = findInitialRouteName(nested.config);
87
89
  const stateFromParams = focusedRoute.params != null && consumedParams?.has(focusedRoute.params) ? undefined : getStateFromRouteParams(params);
@@ -1 +1 @@
1
- {"version":3,"names":["getStateFromRouteParams","findScreenInConfig","config","name","screens","groups","group","Object","values","undefined","findInitialRouteName","initialRouteName","key","keys","getLoaderForState","tree","state","getLoaderForStateChange","previousState","consumedParams","focusedRoute","routes","index","length","previousFocusedRoute","isNewlyFocused","item","initialParams","params","loaders","UNSTABLE_loader","loader","push","nested","screen","stateFromParams","has","childState","previousChildState","previousRouteParams","previousParams","previousStateFromParams","childLoader","Promise","all","map","l"],"sourceRoot":"../../src","sources":["DataLoading.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getStateFromRouteParams","findScreenInConfig","config","name","screens","groups","group","Object","values","undefined","findInitialRouteName","initialRouteName","key","keys","getLoaderForState","tree","state","getLoaderForStateChange","previousState","consumedParams","focusedRoute","routes","index","length","previousFocusedRoute","isNewlyFocused","item","initialParams","params","loaders","UNSTABLE_loader","loader","push","nested","getOwnPropertyDescriptor","get","screen","stateFromParams","has","childState","previousChildState","previousRouteParams","previousParams","previousStateFromParams","childLoader","Promise","all","map","l"],"sourceRoot":"../../src","sources":["DataLoading.tsx"],"mappings":"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","ignoreList":[]}
@@ -14,6 +14,7 @@ export const NavigationBuilderContext = /*#__PURE__*/React.createContext({
14
14
  },
15
15
  flushUpdates: () => {
16
16
  throw new Error("Couldn't find a context for flushing updates.");
17
- }
17
+ },
18
+ withStackTrace: (_entry, callback) => callback()
18
19
  });
19
20
  //# sourceMappingURL=NavigationBuilderContext.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","NavigationBuilderContext","createContext","onDispatchAction","undefined","onEmitEvent","onOptionsChange","getIsStateEmitted","scheduleUpdate","Error","flushUpdates"],"sourceRoot":"../../src","sources":["NavigationBuilderContext.tsx"],"mappings":";;AAMA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAgD9B;AACA;AACA;AACA,OAAO,MAAMC,wBAAwB,gBAAGD,KAAK,CAACE,aAAa,CAmBxD;EACDC,gBAAgB,EAAEA,CAAA,KAAMC,SAAS;EACjCC,WAAW,EAAEA,CAAA,KAAMD,SAAS;EAC5BE,eAAe,EAAEA,CAAA,KAAMF,SAAS;EAChCG,iBAAiB,EAAEA,CAAA,KAAM,KAAK;EAC9BC,cAAc,EAAEA,CAAA,KAAM;IACpB,MAAM,IAAIC,KAAK,CAAC,iDAAiD,CAAC;EACpE,CAAC;EACDC,YAAY,EAAEA,CAAA,KAAM;IAClB,MAAM,IAAID,KAAK,CAAC,+CAA+C,CAAC;EAClE;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","NavigationBuilderContext","createContext","onDispatchAction","undefined","onEmitEvent","onOptionsChange","getIsStateEmitted","scheduleUpdate","Error","flushUpdates","withStackTrace","_entry","callback"],"sourceRoot":"../../src","sources":["NavigationBuilderContext.tsx"],"mappings":";;AAMA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAwD9B;AACA;AACA;AACA,OAAO,MAAMC,wBAAwB,gBAAGD,KAAK,CAACE,aAAa,CAmBxD;EACDC,gBAAgB,EAAEA,CAAA,KAAMC,SAAS;EACjCC,WAAW,EAAEA,CAAA,KAAMD,SAAS;EAC5BE,eAAe,EAAEA,CAAA,KAAMF,SAAS;EAChCG,iBAAiB,EAAEA,CAAA,KAAM,KAAK;EAC9BC,cAAc,EAAEA,CAAA,KAAM;IACpB,MAAM,IAAIC,KAAK,CAAC,iDAAiD,CAAC;EACpE,CAAC;EACDC,YAAY,EAAEA,CAAA,KAAM;IAClB,MAAM,IAAID,KAAK,CAAC,+CAA+C,CAAC;EAClE,CAAC;EACDE,cAAc,EAAEA,CAACC,MAAM,EAAEC,QAAQ,KAAKA,QAAQ,CAAC;AACjD,CAAC,CAAC","ignoreList":[]}
@@ -3,7 +3,8 @@
3
3
  import * as React from 'react';
4
4
  import { NavigationFocusedRouteStateContext } from "./NavigationFocusedRouteStateContext.js";
5
5
  import { NavigationIndependentTreeContext } from "./NavigationIndependentTreeContext.js";
6
- import { NamedRouteContextListContext, NavigationContext, NavigationRouteContext } from "./NavigationProvider.js";
6
+ import { IsScreenContext, NamedRouteContextListContext, NavigationContext, NavigationRouteContext } from "./NavigationProvider.js";
7
+ import { NavigationRootContext } from "./NavigationRootContext.js";
7
8
  import { IsFocusedContext } from "./useIsFocused.js";
8
9
  import { NamedNavigationStateListenerListContext, NavigationStateListenerContext } from "./useNavigationState.js";
9
10
 
@@ -27,13 +28,19 @@ export function NavigationIndependentTree({
27
28
  value: undefined,
28
29
  children: /*#__PURE__*/_jsx(NavigationContext.Provider, {
29
30
  value: undefined,
30
- children: /*#__PURE__*/_jsx(NavigationFocusedRouteStateContext.Provider, {
31
+ children: /*#__PURE__*/_jsx(NavigationRootContext.Provider, {
31
32
  value: undefined,
32
- children: /*#__PURE__*/_jsx(IsFocusedContext.Provider, {
33
+ children: /*#__PURE__*/_jsx(NavigationFocusedRouteStateContext.Provider, {
33
34
  value: undefined,
34
- children: /*#__PURE__*/_jsx(NavigationIndependentTreeContext.Provider, {
35
- value: true,
36
- children: children
35
+ children: /*#__PURE__*/_jsx(IsFocusedContext.Provider, {
36
+ value: undefined,
37
+ children: /*#__PURE__*/_jsx(NavigationIndependentTreeContext.Provider, {
38
+ value: true,
39
+ children: /*#__PURE__*/_jsx(IsScreenContext.Provider, {
40
+ value: false,
41
+ children: children
42
+ })
43
+ })
37
44
  })
38
45
  })
39
46
  })
@@ -1 +1 @@
1
- {"version":3,"names":["React","NavigationFocusedRouteStateContext","NavigationIndependentTreeContext","NamedRouteContextListContext","NavigationContext","NavigationRouteContext","IsFocusedContext","NamedNavigationStateListenerListContext","NavigationStateListenerContext","jsx","_jsx","NavigationIndependentTree","children","Provider","value","undefined"],"sourceRoot":"../../src","sources":["NavigationIndependentTree.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,kCAAkC,QAAQ,yCAAsC;AACzF,SAASC,gCAAgC,QAAQ,uCAAoC;AACrF,SACEC,4BAA4B,EAC5BC,iBAAiB,EACjBC,sBAAsB,QACjB,yBAAsB;AAC7B,SAASC,gBAAgB,QAAQ,mBAAgB;AACjD,SACEC,uCAAuC,EACvCC,8BAA8B,QACzB,yBAAsB;;AAE7B;AACA;AACA;AAFA,SAAAC,GAAA,IAAAC,IAAA;AAGA,OAAO,SAASC,yBAAyBA,CAAC;EACxCC;AAGF,CAAC,EAAE;EACD;IAAA;IACE;IACAF,IAAA,CAACF,8BAA8B,CAACK,QAAQ;MAACC,KAAK,EAAEC,SAAU;MAAAH,QAAA,eACxDF,IAAA,CAACH,uCAAuC,CAACM,QAAQ;QAACC,KAAK,EAAEC,SAAU;QAAAH,QAAA,eACjEF,IAAA,CAACP,4BAA4B,CAACU,QAAQ;UAACC,KAAK,EAAEC,SAAU;UAAAH,QAAA,eACtDF,IAAA,CAACL,sBAAsB,CAACQ,QAAQ;YAACC,KAAK,EAAEC,SAAU;YAAAH,QAAA,eAChDF,IAAA,CAACN,iBAAiB,CAACS,QAAQ;cAACC,KAAK,EAAEC,SAAU;cAAAH,QAAA,eAC3CF,IAAA,CAACT,kCAAkC,CAACY,QAAQ;gBAACC,KAAK,EAAEC,SAAU;gBAAAH,QAAA,eAC5DF,IAAA,CAACJ,gBAAgB,CAACO,QAAQ;kBAACC,KAAK,EAAEC,SAAU;kBAAAH,QAAA,eAC1CF,IAAA,CAACR,gCAAgC,CAACW,QAAQ;oBAACC,KAAK,EAAE,IAAK;oBAAAF,QAAA,EACpDA;kBAAQ,CACgC;gBAAC,CACnB;cAAC,CACe;YAAC,CACpB;UAAC,CACE;QAAC,CACG;MAAC,CACQ;IAAC,CACZ;EAAC;AAE9C","ignoreList":[]}
1
+ {"version":3,"names":["React","NavigationFocusedRouteStateContext","NavigationIndependentTreeContext","IsScreenContext","NamedRouteContextListContext","NavigationContext","NavigationRouteContext","NavigationRootContext","IsFocusedContext","NamedNavigationStateListenerListContext","NavigationStateListenerContext","jsx","_jsx","NavigationIndependentTree","children","Provider","value","undefined"],"sourceRoot":"../../src","sources":["NavigationIndependentTree.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,kCAAkC,QAAQ,yCAAsC;AACzF,SAASC,gCAAgC,QAAQ,uCAAoC;AACrF,SACEC,eAAe,EACfC,4BAA4B,EAC5BC,iBAAiB,EACjBC,sBAAsB,QACjB,yBAAsB;AAC7B,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SAASC,gBAAgB,QAAQ,mBAAgB;AACjD,SACEC,uCAAuC,EACvCC,8BAA8B,QACzB,yBAAsB;;AAE7B;AACA;AACA;AAFA,SAAAC,GAAA,IAAAC,IAAA;AAGA,OAAO,SAASC,yBAAyBA,CAAC;EACxCC;AAGF,CAAC,EAAE;EACD;IAAA;IACE;IACAF,IAAA,CAACF,8BAA8B,CAACK,QAAQ;MAACC,KAAK,EAAEC,SAAU;MAAAH,QAAA,eACxDF,IAAA,CAACH,uCAAuC,CAACM,QAAQ;QAACC,KAAK,EAAEC,SAAU;QAAAH,QAAA,eACjEF,IAAA,CAACR,4BAA4B,CAACW,QAAQ;UAACC,KAAK,EAAEC,SAAU;UAAAH,QAAA,eACtDF,IAAA,CAACN,sBAAsB,CAACS,QAAQ;YAACC,KAAK,EAAEC,SAAU;YAAAH,QAAA,eAChDF,IAAA,CAACP,iBAAiB,CAACU,QAAQ;cAACC,KAAK,EAAEC,SAAU;cAAAH,QAAA,eAC3CF,IAAA,CAACL,qBAAqB,CAACQ,QAAQ;gBAACC,KAAK,EAAEC,SAAU;gBAAAH,QAAA,eAC/CF,IAAA,CAACX,kCAAkC,CAACc,QAAQ;kBAACC,KAAK,EAAEC,SAAU;kBAAAH,QAAA,eAC5DF,IAAA,CAACJ,gBAAgB,CAACO,QAAQ;oBAACC,KAAK,EAAEC,SAAU;oBAAAH,QAAA,eAC1CF,IAAA,CAACV,gCAAgC,CAACa,QAAQ;sBAACC,KAAK,EAAE,IAAK;sBAAAF,QAAA,eACrDF,IAAA,CAACT,eAAe,CAACY,QAAQ;wBAACC,KAAK,EAAE,KAAM;wBAAAF,QAAA,EACpCA;sBAAQ,CACe;oBAAC,CACc;kBAAC,CACnB;gBAAC,CACe;cAAC,CAChB;YAAC,CACP;UAAC,CACE;QAAC,CACG;MAAC,CACQ;IAAC,CACZ;EAAC;AAE9C","ignoreList":[]}
@@ -15,6 +15,12 @@ export const NavigationRouteContext = /*#__PURE__*/React.createContext(undefined
15
15
  * Context which holds the navigation prop for a screen.
16
16
  */
17
17
  export const NavigationContext = /*#__PURE__*/React.createContext(undefined);
18
+
19
+ /**
20
+ * Context which indicates whether the component is inside a screen.
21
+ */
22
+ export const IsScreenContext = /*#__PURE__*/React.createContext(false);
23
+
18
24
  /**
19
25
  * Component to provide the navigation and route contexts to its children.
20
26
  */
@@ -49,7 +55,10 @@ export function NavigationProvider({
49
55
  value: navigation,
50
56
  children: /*#__PURE__*/_jsx(IsFocusedContext.Provider, {
51
57
  value: isFocused,
52
- children: children
58
+ children: /*#__PURE__*/_jsx(IsScreenContext.Provider, {
59
+ value: true,
60
+ children: children
61
+ })
53
62
  })
54
63
  })
55
64
  })
@@ -1 +1 @@
1
- {"version":3,"names":["React","FocusedRouteKeyContext","IsFocusedContext","useLazyValue","NamedNavigationStateListenerProvider","jsx","_jsx","NavigationRouteContext","createContext","undefined","NavigationContext","NamedRouteContextListContext","NavigationProvider","route","navigation","children","NamedRouteContext","parents","use","NamedRouteContextList","useMemo","name","parentIsFocused","focusedRouteKey","isFocused","key","Provider","value"],"sourceRoot":"../../src","sources":["NavigationProvider.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAG9B,SAASC,sBAAsB,EAAEC,gBAAgB,QAAQ,mBAAgB;AACzE,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,oCAAoC,QAAQ,yBAAsB;;AAE3E;AACA;AACA;AAFA,SAAAC,GAAA,IAAAC,IAAA;AAGA,OAAO,MAAMC,sBAAsB,gBAAGP,KAAK,CAACQ,aAAa,CAEvDC,SAAS,CAAC;;AAEZ;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,gBAAGV,KAAK,CAACQ,aAAa,CAElDC,SAAS,CAAC;AAQZ;AACA;AACA;AACA,OAAO,MAAME,4BAA4B,gBAAGX,KAAK,CAACQ,aAAa,CAE7DC,SAAS,CAAC;AAEZ,OAAO,SAASG,kBAAkBA,CAAC;EAAEC,KAAK;EAAEC,UAAU;EAAEC;AAAgB,CAAC,EAAE;EACzE,MAAMC,iBAAiB,GAAGb,YAAY,CAAC,mBAAMH,KAAK,CAACQ,aAAa,CAACK,KAAK,CAAC,CAAC;EAExE,MAAMI,OAAO,GAAGjB,KAAK,CAACkB,GAAG,CAACP,4BAA4B,CAAC;EAEvD,MAAMQ,qBAAqB,GAAGnB,KAAK,CAACoB,OAAO,CACzC,OAAO;IACL,GAAGH,OAAO;IACV,CAACJ,KAAK,CAACQ,IAAI,GAAGL;EAChB,CAAC,CAAC,EACF,CAACA,iBAAiB,EAAEC,OAAO,EAAEJ,KAAK,CAACQ,IAAI,CACzC,CAAC;EAED,MAAMC,eAAe,GAAGtB,KAAK,CAACkB,GAAG,CAAChB,gBAAgB,CAAC;EACnD,MAAMqB,eAAe,GAAGvB,KAAK,CAACkB,GAAG,CAACjB,sBAAsB,CAAC;;EAEzD;EACA;EACA;EACA,MAAMuB,SAAS,GACbF,eAAe,IAAI,IAAI,IAAIA,eAAe,GACtCC,eAAe,KAAKV,KAAK,CAACY,GAAG,GAC7B,KAAK;EAEX,oBACEnB,IAAA,CAACF,oCAAoC;IAACiB,IAAI,EAAER,KAAK,CAACQ,IAAK;IAAAN,QAAA,eACrDT,IAAA,CAACK,4BAA4B,CAACe,QAAQ;MAACC,KAAK,EAAER,qBAAsB;MAAAJ,QAAA,eAClET,IAAA,CAACU,iBAAiB,CAACU,QAAQ;QAACC,KAAK,EAAEd,KAAM;QAAAE,QAAA,eACvCT,IAAA,CAACC,sBAAsB,CAACmB,QAAQ;UAACC,KAAK,EAAEd,KAAM;UAAAE,QAAA,eAC5CT,IAAA,CAACI,iBAAiB,CAACgB,QAAQ;YAACC,KAAK,EAAEb,UAAW;YAAAC,QAAA,eAC5CT,IAAA,CAACJ,gBAAgB,CAACwB,QAAQ;cAACC,KAAK,EAAEH,SAAU;cAAAT,QAAA,EACzCA;YAAQ,CACgB;UAAC,CACF;QAAC,CACE;MAAC,CACR;IAAC,CACQ;EAAC,CACJ,CAAC;AAE3C","ignoreList":[]}
1
+ {"version":3,"names":["React","FocusedRouteKeyContext","IsFocusedContext","useLazyValue","NamedNavigationStateListenerProvider","jsx","_jsx","NavigationRouteContext","createContext","undefined","NavigationContext","IsScreenContext","NamedRouteContextListContext","NavigationProvider","route","navigation","children","NamedRouteContext","parents","use","NamedRouteContextList","useMemo","name","parentIsFocused","focusedRouteKey","isFocused","key","Provider","value"],"sourceRoot":"../../src","sources":["NavigationProvider.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAG9B,SAASC,sBAAsB,EAAEC,gBAAgB,QAAQ,mBAAgB;AACzE,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,oCAAoC,QAAQ,yBAAsB;;AAE3E;AACA;AACA;AAFA,SAAAC,GAAA,IAAAC,IAAA;AAGA,OAAO,MAAMC,sBAAsB,gBAAGP,KAAK,CAACQ,aAAa,CAEvDC,SAAS,CAAC;;AAEZ;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,gBAAGV,KAAK,CAACQ,aAAa,CAElDC,SAAS,CAAC;;AAEZ;AACA;AACA;AACA,OAAO,MAAME,eAAe,gBAAGX,KAAK,CAACQ,aAAa,CAAC,KAAK,CAAC;;AAEzD;AACA;AACA;AACA,OAAO,MAAMI,4BAA4B,gBAAGZ,KAAK,CAACQ,aAAa,CAE7DC,SAAS,CAAC;AAQZ,OAAO,SAASI,kBAAkBA,CAAC;EAAEC,KAAK;EAAEC,UAAU;EAAEC;AAAgB,CAAC,EAAE;EACzE,MAAMC,iBAAiB,GAAGd,YAAY,CAAC,mBAAMH,KAAK,CAACQ,aAAa,CAACM,KAAK,CAAC,CAAC;EAExE,MAAMI,OAAO,GAAGlB,KAAK,CAACmB,GAAG,CAACP,4BAA4B,CAAC;EAEvD,MAAMQ,qBAAqB,GAAGpB,KAAK,CAACqB,OAAO,CACzC,OAAO;IACL,GAAGH,OAAO;IACV,CAACJ,KAAK,CAACQ,IAAI,GAAGL;EAChB,CAAC,CAAC,EACF,CAACA,iBAAiB,EAAEC,OAAO,EAAEJ,KAAK,CAACQ,IAAI,CACzC,CAAC;EAED,MAAMC,eAAe,GAAGvB,KAAK,CAACmB,GAAG,CAACjB,gBAAgB,CAAC;EACnD,MAAMsB,eAAe,GAAGxB,KAAK,CAACmB,GAAG,CAAClB,sBAAsB,CAAC;;EAEzD;EACA;EACA;EACA,MAAMwB,SAAS,GACbF,eAAe,IAAI,IAAI,IAAIA,eAAe,GACtCC,eAAe,KAAKV,KAAK,CAACY,GAAG,GAC7B,KAAK;EAEX,oBACEpB,IAAA,CAACF,oCAAoC;IAACkB,IAAI,EAAER,KAAK,CAACQ,IAAK;IAAAN,QAAA,eACrDV,IAAA,CAACM,4BAA4B,CAACe,QAAQ;MAACC,KAAK,EAAER,qBAAsB;MAAAJ,QAAA,eAClEV,IAAA,CAACW,iBAAiB,CAACU,QAAQ;QAACC,KAAK,EAAEd,KAAM;QAAAE,QAAA,eACvCV,IAAA,CAACC,sBAAsB,CAACoB,QAAQ;UAACC,KAAK,EAAEd,KAAM;UAAAE,QAAA,eAC5CV,IAAA,CAACI,iBAAiB,CAACiB,QAAQ;YAACC,KAAK,EAAEb,UAAW;YAAAC,QAAA,eAC5CV,IAAA,CAACJ,gBAAgB,CAACyB,QAAQ;cAACC,KAAK,EAAEH,SAAU;cAAAT,QAAA,eAC1CV,IAAA,CAACK,eAAe,CAACgB,QAAQ;gBAACC,KAAK,EAAE,IAAK;gBAAAZ,QAAA,EACnCA;cAAQ,CACe;YAAC,CACF;UAAC,CACF;QAAC,CACE;MAAC,CACR;IAAC,CACQ;EAAC,CACJ,CAAC;AAE3C","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ import * as React from 'react';
4
+ /**
5
+ * Context which holds the navigation object for components outside a screen.
6
+ */
7
+ export const NavigationRootContext = /*#__PURE__*/React.createContext(undefined);
8
+ //# sourceMappingURL=NavigationRootContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","NavigationRootContext","createContext","undefined"],"sourceRoot":"../../src","sources":["NavigationRootContext.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAI9B;AACA;AACA;AACA,OAAO,MAAMC,qBAAqB,gBAAGD,KAAK,CAACE,aAAa,CAEtDC,SAAS,CAAC","ignoreList":[]}
@@ -68,25 +68,51 @@ const MemoizedScreen = /*#__PURE__*/React.memo(({
68
68
  return children;
69
69
  });
70
70
  MemoizedScreen.displayName = 'Memo(Screen)';
71
+ const hasPropertyGetter = (object, property) => Object.getOwnPropertyDescriptor(object, property)?.get != null;
71
72
  const getItemsFromScreens = (Screen, screens) => {
72
73
  return Object.entries(screens).map(([name, item]) => {
73
74
  let component;
74
75
  let props = {};
75
76
  let useIf;
76
77
  let isNavigator = false;
78
+ let getComponent;
77
79
  if ('screen' in item) {
78
- const {
79
- screen,
80
- if: _if,
81
- ...rest
82
- } = item;
83
- useIf = _if;
84
- props = rest;
85
- if (isValidElementType(screen)) {
86
- component = screen;
87
- } else if ('config' in screen) {
88
- isNavigator = true;
89
- component = screen.getComponent();
80
+ if (hasPropertyGetter(item, 'screen')) {
81
+ const rest = {};
82
+
83
+ // Iterate over the keys to avoid triggering the getter for 'screen'
84
+ for (const key of Object.keys(item)) {
85
+ if (key === 'screen' || key === 'if') {
86
+ continue;
87
+ }
88
+ rest[key] = Reflect.get(item, key);
89
+ }
90
+ useIf = item.if;
91
+ props = rest;
92
+ getComponent = () => {
93
+ const screen = item.screen;
94
+ if (isValidElementType(screen)) {
95
+ return screen;
96
+ }
97
+ if (screen != null && typeof screen === 'object' && 'config' in screen) {
98
+ throw new Error(`Got a navigator object for the screen '${name}' instead of a component. A navigator cannot be specified when using a getter.`);
99
+ }
100
+ throw new Error(`Got an invalid screen component for the screen '${name}'. This can happen if you passed 'undefined'. You likely forgot to export your component from the file it's defined in, or mixed up default import and named import when importing.`);
101
+ };
102
+ } else {
103
+ const {
104
+ screen,
105
+ if: _if,
106
+ ...rest
107
+ } = item;
108
+ useIf = _if;
109
+ props = rest;
110
+ if (isValidElementType(screen)) {
111
+ component = screen;
112
+ } else if ('config' in screen) {
113
+ isNavigator = true;
114
+ component = screen.getComponent();
115
+ }
90
116
  }
91
117
  } else if (isValidElementType(item)) {
92
118
  component = item;
@@ -94,12 +120,21 @@ const getItemsFromScreens = (Screen, screens) => {
94
120
  isNavigator = true;
95
121
  component = item.getComponent();
96
122
  }
97
- if (component == null) {
123
+ let children;
124
+ if (getComponent != null) {
125
+ let element;
126
+ children = () => element ??= /*#__PURE__*/_jsx(MemoizedScreen, {
127
+ component: getComponent()
128
+ });
129
+ } else if (component != null) {
130
+ const element = isNavigator ? (/*#__PURE__*/React.createElement(component, {})) : /*#__PURE__*/_jsx(MemoizedScreen, {
131
+ component: component
132
+ });
133
+ children = () => element;
134
+ }
135
+ if (children == null) {
98
136
  throw new Error(`Couldn't find a 'screen' property for the screen '${name}'. This can happen if you passed 'undefined'. You likely forgot to export your component from the file it's defined in, or mixed up default import and named import when importing.`);
99
137
  }
100
- const element = isNavigator ? (/*#__PURE__*/React.createElement(component, {})) : /*#__PURE__*/_jsx(MemoizedScreen, {
101
- component: component
102
- });
103
138
  return () => {
104
139
  const shouldRender = useIf == null || useIf();
105
140
  if (!shouldRender) {
@@ -108,7 +143,7 @@ const getItemsFromScreens = (Screen, screens) => {
108
143
  return /*#__PURE__*/_jsx(Screen, {
109
144
  name: name,
110
145
  ...props,
111
- children: () => element
146
+ children: children
112
147
  }, name);
113
148
  };
114
149
  });
@@ -286,7 +321,7 @@ export function createPathConfigForStaticNavigation(tree, options, auto) {
286
321
  return 0;
287
322
  }).map(([key, item]) => {
288
323
  const screenConfig = {};
289
- sources.set(screenConfig, typeof item === 'object' && 'screen' in item ? item.screen : item);
324
+ sources.set(screenConfig, typeof item === 'object' && 'screen' in item && !hasPropertyGetter(item, 'screen') ? item.screen : item);
290
325
  const normalizePath = path => path.replace(/^\/+|\/+$/g, '');
291
326
  if ('linking' in item && item.linking !== undefined) {
292
327
  if (typeof item.linking === 'string') {
@@ -327,7 +362,7 @@ export function createPathConfigForStaticNavigation(tree, options, auto) {
327
362
  const allowAutoEmptyPathInChild = allowAutoEmptyPath && (initialRouteName == null || key === initialRouteName);
328
363
  if (!hasExplicitScreens && !hasDisabledLinking && 'config' in item) {
329
364
  screens = createPathConfigForTree(item, childOptions, skipInitialDetectionInChild, allowAutoEmptyPathInChild);
330
- } else if (!hasExplicitScreens && !hasDisabledLinking && 'screen' in item && 'config' in item.screen && (item.screen.config.screens || item.screen.config.groups)) {
365
+ } else if (!hasExplicitScreens && !hasDisabledLinking && 'screen' in item && !hasPropertyGetter(item, 'screen') && 'config' in item.screen && (item.screen.config.screens || item.screen.config.groups)) {
331
366
  screens = createPathConfigForTree(item.screen, childOptions, skipInitialDetectionInChild, allowAutoEmptyPathInChild);
332
367
  }
333
368
  if (screens) {