@react-navigation/core 8.0.0-alpha.30 → 8.0.0-alpha.32

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 (123) hide show
  1. package/lib/module/BaseNavigationContainer.js +132 -82
  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 +21 -11
  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/NavigationStateContext.js +3 -0
  14. package/lib/module/NavigationStateContext.js.map +1 -1
  15. package/lib/module/SceneView.js +3 -1
  16. package/lib/module/SceneView.js.map +1 -1
  17. package/lib/module/StaticNavigation.js +54 -19
  18. package/lib/module/StaticNavigation.js.map +1 -1
  19. package/lib/module/createNavigationContainerRef.js +1 -1
  20. package/lib/module/createNavigationContainerRef.js.map +1 -1
  21. package/lib/module/findFocusedRoute.js.map +1 -1
  22. package/lib/module/getActionFromState.js.map +1 -1
  23. package/lib/module/getStateFromPath.js +15 -16
  24. package/lib/module/getStateFromPath.js.map +1 -1
  25. package/lib/module/getStateFromRouteParams.js +0 -1
  26. package/lib/module/getStateFromRouteParams.js.map +1 -1
  27. package/lib/module/index.js +1 -1
  28. package/lib/module/index.js.map +1 -1
  29. package/lib/module/internal.js +2 -0
  30. package/lib/module/internal.js.map +1 -0
  31. package/lib/module/types.js +0 -1
  32. package/lib/module/types.js.map +1 -1
  33. package/lib/module/useDescriptors.js +6 -4
  34. package/lib/module/useDescriptors.js.map +1 -1
  35. package/lib/module/useKeyedChildListeners.js +1 -0
  36. package/lib/module/useKeyedChildListeners.js.map +1 -1
  37. package/lib/module/useNavigation.js +2 -2
  38. package/lib/module/useNavigation.js.map +1 -1
  39. package/lib/module/useNavigationBuilder.js +14 -4
  40. package/lib/module/useNavigationBuilder.js.map +1 -1
  41. package/lib/module/useNavigationCache.js +23 -31
  42. package/lib/module/useNavigationCache.js.map +1 -1
  43. package/lib/module/useNavigationHelpers.js +18 -37
  44. package/lib/module/useNavigationHelpers.js.map +1 -1
  45. package/lib/module/useNavigationState.js +85 -33
  46. package/lib/module/useNavigationState.js.map +1 -1
  47. package/lib/module/useOnGetNavigation.js +26 -0
  48. package/lib/module/useOnGetNavigation.js.map +1 -0
  49. package/lib/module/useSyncState.js +25 -6
  50. package/lib/module/useSyncState.js.map +1 -1
  51. package/lib/typescript/src/BaseNavigationContainer.d.ts.map +1 -1
  52. package/lib/typescript/src/DataLoading.d.ts.map +1 -1
  53. package/lib/typescript/src/NavigationBuilderContext.d.ts +4 -1
  54. package/lib/typescript/src/NavigationBuilderContext.d.ts.map +1 -1
  55. package/lib/typescript/src/NavigationIndependentTree.d.ts.map +1 -1
  56. package/lib/typescript/src/NavigationProvider.d.ts +9 -5
  57. package/lib/typescript/src/NavigationProvider.d.ts.map +1 -1
  58. package/lib/typescript/src/NavigationRootContext.d.ts +8 -0
  59. package/lib/typescript/src/NavigationRootContext.d.ts.map +1 -0
  60. package/lib/typescript/src/NavigationStateContext.d.ts +1 -0
  61. package/lib/typescript/src/NavigationStateContext.d.ts.map +1 -1
  62. package/lib/typescript/src/SceneView.d.ts +2 -1
  63. package/lib/typescript/src/SceneView.d.ts.map +1 -1
  64. package/lib/typescript/src/StaticNavigation.d.ts.map +1 -1
  65. package/lib/typescript/src/createNavigationContainerRef.d.ts.map +1 -1
  66. package/lib/typescript/src/findFocusedRoute.d.ts +3 -8
  67. package/lib/typescript/src/findFocusedRoute.d.ts.map +1 -1
  68. package/lib/typescript/src/getActionFromState.d.ts.map +1 -1
  69. package/lib/typescript/src/getStateFromPath.d.ts +1 -4
  70. package/lib/typescript/src/getStateFromPath.d.ts.map +1 -1
  71. package/lib/typescript/src/getStateFromRouteParams.d.ts.map +1 -1
  72. package/lib/typescript/src/index.d.ts +1 -1
  73. package/lib/typescript/src/index.d.ts.map +1 -1
  74. package/lib/typescript/src/internal.d.ts +3 -0
  75. package/lib/typescript/src/internal.d.ts.map +1 -0
  76. package/lib/typescript/src/types.d.ts +3 -6
  77. package/lib/typescript/src/types.d.ts.map +1 -1
  78. package/lib/typescript/src/useDescriptors.d.ts +2 -1
  79. package/lib/typescript/src/useDescriptors.d.ts.map +1 -1
  80. package/lib/typescript/src/useKeyedChildListeners.d.ts +1 -0
  81. package/lib/typescript/src/useKeyedChildListeners.d.ts.map +1 -1
  82. package/lib/typescript/src/useNavigationBuilder.d.ts.map +1 -1
  83. package/lib/typescript/src/useNavigationCache.d.ts.map +1 -1
  84. package/lib/typescript/src/useNavigationHelpers.d.ts +1 -2
  85. package/lib/typescript/src/useNavigationHelpers.d.ts.map +1 -1
  86. package/lib/typescript/src/useNavigationState.d.ts +7 -2
  87. package/lib/typescript/src/useNavigationState.d.ts.map +1 -1
  88. package/lib/typescript/src/useOnGetNavigation.d.ts +12 -0
  89. package/lib/typescript/src/useOnGetNavigation.d.ts.map +1 -0
  90. package/lib/typescript/src/useSyncState.d.ts +1 -0
  91. package/lib/typescript/src/useSyncState.d.ts.map +1 -1
  92. package/package.json +11 -5
  93. package/src/BaseNavigationContainer.tsx +194 -97
  94. package/src/DataLoading.tsx +4 -1
  95. package/src/NavigationBuilderContext.tsx +10 -1
  96. package/src/NavigationIndependentTree.tsx +27 -16
  97. package/src/NavigationProvider.tsx +13 -6
  98. package/src/NavigationRootContext.tsx +11 -0
  99. package/src/NavigationStateContext.tsx +4 -0
  100. package/src/SceneView.tsx +4 -0
  101. package/src/StaticNavigation.tsx +77 -19
  102. package/src/createNavigationContainerRef.tsx +0 -2
  103. package/src/findFocusedRoute.tsx +7 -12
  104. package/src/getActionFromState.tsx +2 -1
  105. package/src/getStateFromPath.tsx +31 -43
  106. package/src/getStateFromRouteParams.tsx +0 -1
  107. package/src/index.tsx +1 -0
  108. package/src/internal.tsx +2 -0
  109. package/src/types.tsx +3 -7
  110. package/src/useDescriptors.tsx +6 -3
  111. package/src/useKeyedChildListeners.tsx +1 -0
  112. package/src/useNavigation.tsx +2 -2
  113. package/src/useNavigationBuilder.tsx +14 -4
  114. package/src/useNavigationCache.tsx +24 -33
  115. package/src/useNavigationHelpers.tsx +19 -38
  116. package/src/useNavigationState.tsx +104 -31
  117. package/src/useOnGetNavigation.tsx +29 -0
  118. package/src/useSyncState.tsx +27 -6
  119. package/lib/module/checkSerializable.js +0 -51
  120. package/lib/module/checkSerializable.js.map +0 -1
  121. package/lib/typescript/src/checkSerializable.d.ts +0 -14
  122. package/lib/typescript/src/checkSerializable.d.ts.map +0 -1
  123. package/src/checkSerializable.tsx +0 -90
@@ -9,6 +9,7 @@ export function useKeyedChildListeners() {
9
9
  current: keyedListeners
10
10
  } = React.useRef(Object.assign(Object.create(null), {
11
11
  getState: {},
12
+ getNavigation: {},
12
13
  beforeRemove: {}
13
14
  }));
14
15
  const addKeyedListener = React.useCallback((type, key, listener) => {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useKeyedChildListeners","current","keyedListeners","useRef","Object","assign","create","getState","beforeRemove","addKeyedListener","useCallback","type","key","listener","undefined"],"sourceRoot":"../../src","sources":["useKeyedChildListeners.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAI9B;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAAA,EAAG;EACvC,MAAM;IAAEC,OAAO,EAAEC;EAAe,CAAC,GAAGH,KAAK,CAACI,MAAM,CAM9CC,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,MAAM,CAAC,IAAI,CAAC,EAAE;IACjCC,QAAQ,EAAE,CAAC,CAAC;IACZC,YAAY,EAAE,CAAC;EACjB,CAAC,CACH,CAAC;EAED,MAAMC,gBAAgB,GAAGV,KAAK,CAACW,WAAW,CACxC,CACEC,IAAO,EACPC,GAAW,EACXC,QAA6B,KAC1B;IACH;IACAX,cAAc,CAACS,IAAI,CAAC,CAACC,GAAG,CAAC,GAAGC,QAAQ;IAEpC,OAAO,MAAM;MACX,IAAIX,cAAc,CAACS,IAAI,CAAC,CAACC,GAAG,CAAC,KAAKC,QAAQ,EAAE;QAC1C;QACAX,cAAc,CAACS,IAAI,CAAC,CAACC,GAAG,CAAC,GAAGE,SAAS;MACvC;IACF,CAAC;EACH,CAAC,EACD,CAACZ,cAAc,CACjB,CAAC;EAED,OAAO;IACLA,cAAc;IACdO;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["React","useKeyedChildListeners","current","keyedListeners","useRef","Object","assign","create","getState","getNavigation","beforeRemove","addKeyedListener","useCallback","type","key","listener","undefined"],"sourceRoot":"../../src","sources":["useKeyedChildListeners.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAI9B;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAAA,EAAG;EACvC,MAAM;IAAEC,OAAO,EAAEC;EAAe,CAAC,GAAGH,KAAK,CAACI,MAAM,CAM9CC,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,MAAM,CAAC,IAAI,CAAC,EAAE;IACjCC,QAAQ,EAAE,CAAC,CAAC;IACZC,aAAa,EAAE,CAAC,CAAC;IACjBC,YAAY,EAAE,CAAC;EACjB,CAAC,CACH,CAAC;EAED,MAAMC,gBAAgB,GAAGX,KAAK,CAACY,WAAW,CACxC,CACEC,IAAO,EACPC,GAAW,EACXC,QAA6B,KAC1B;IACH;IACAZ,cAAc,CAACU,IAAI,CAAC,CAACC,GAAG,CAAC,GAAGC,QAAQ;IAEpC,OAAO,MAAM;MACX,IAAIZ,cAAc,CAACU,IAAI,CAAC,CAACC,GAAG,CAAC,KAAKC,QAAQ,EAAE;QAC1C;QACAZ,cAAc,CAACU,IAAI,CAAC,CAACC,GAAG,CAAC,GAAGE,SAAS;MACvC;IACF,CAAC;EACH,CAAC,EACD,CAACb,cAAc,CACjB,CAAC;EAED,OAAO;IACLA,cAAc;IACdQ;EACF,CAAC;AACH","ignoreList":[]}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  import * as React from 'react';
4
- import { NavigationContainerRefContext } from "./NavigationContainerRefContext.js";
5
4
  import { NavigationContext } from "./NavigationProvider.js";
5
+ import { NavigationRootContext } from "./NavigationRootContext.js";
6
6
 
7
7
  /**
8
8
  * Hook to access the navigation prop of the parent screen anywhere.
@@ -14,7 +14,7 @@ import { NavigationContext } from "./NavigationProvider.js";
14
14
  */
15
15
 
16
16
  export function useNavigation(name) {
17
- const root = React.use(NavigationContainerRefContext);
17
+ const root = React.use(NavigationRootContext);
18
18
  const navigation = React.use(NavigationContext);
19
19
  if (name === undefined) {
20
20
  if (navigation === undefined && root === undefined) {
@@ -1 +1 @@
1
- {"version":3,"names":["React","NavigationContainerRefContext","NavigationContext","useNavigation","name","root","use","navigation","undefined","Error","parent","getParent"],"sourceRoot":"../../src","sources":["useNavigation.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,6BAA6B,QAAQ,oCAAiC;AAC/E,SAASC,iBAAiB,QAAQ,yBAAsB;;AAWxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA,OAAO,SAASC,aAAaA,CAACC,IAAa,EAAW;EACpD,MAAMC,IAAI,GAAGL,KAAK,CAACM,GAAG,CAACL,6BAA6B,CAAC;EACrD,MAAMM,UAAU,GAAGP,KAAK,CAACM,GAAG,CAACJ,iBAAiB,CAAC;EAE/C,IAAIE,IAAI,KAAKI,SAAS,EAAE;IACtB,IAAID,UAAU,KAAKC,SAAS,IAAIH,IAAI,KAAKG,SAAS,EAAE;MAClD,MAAM,IAAIC,KAAK,CACb,kFACF,CAAC;IACH;IAEA,OAAOF,UAAU,IAAIF,IAAI;EAC3B;EAEA,MAAMK,MAAM,GAAGH,UAAU,EAAEI,SAAS,CAACP,IAAI,CAAC;EAE1C,IAAIM,MAAM,KAAKF,SAAS,EAAE;IACxB,MAAM,IAAIC,KAAK,CACb,0CAA0CL,IAAI,kFAChD,CAAC;EACH;EAEA,OAAOM,MAAM;AACf","ignoreList":[]}
1
+ {"version":3,"names":["React","NavigationContext","NavigationRootContext","useNavigation","name","root","use","navigation","undefined","Error","parent","getParent"],"sourceRoot":"../../src","sources":["useNavigation.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,iBAAiB,QAAQ,yBAAsB;AACxD,SAASC,qBAAqB,QAAQ,4BAAyB;;AAW/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA,OAAO,SAASC,aAAaA,CAACC,IAAa,EAAW;EACpD,MAAMC,IAAI,GAAGL,KAAK,CAACM,GAAG,CAACJ,qBAAqB,CAAC;EAC7C,MAAMK,UAAU,GAAGP,KAAK,CAACM,GAAG,CAACL,iBAAiB,CAAC;EAE/C,IAAIG,IAAI,KAAKI,SAAS,EAAE;IACtB,IAAID,UAAU,KAAKC,SAAS,IAAIH,IAAI,KAAKG,SAAS,EAAE;MAClD,MAAM,IAAIC,KAAK,CACb,kFACF,CAAC;IACH;IAEA,OAAOF,UAAU,IAAIF,IAAI;EAC3B;EAEA,MAAMK,MAAM,GAAGH,UAAU,EAAEI,SAAS,CAACP,IAAI,CAAC;EAE1C,IAAIM,MAAM,KAAKF,SAAS,EAAE;IACxB,MAAM,IAAIC,KAAK,CACb,0CAA0CL,IAAI,kFAChD,CAAC;EACH;EAEA,OAAOM,MAAM;AACf","ignoreList":[]}
@@ -12,7 +12,7 @@ import { isArrayEqual } from "./isArrayEqual.js";
12
12
  import { NavigationBuilderContext } from "./NavigationBuilderContext.js";
13
13
  import { NavigationHelpersContext } from "./NavigationHelpersContext.js";
14
14
  import { NavigationMetaContext } from "./NavigationMetaContext.js";
15
- import { NavigationRouteContext } from "./NavigationProvider.js";
15
+ import { IsScreenContext, NavigationRouteContext } from "./NavigationProvider.js";
16
16
  import { NavigationStateContext } from "./NavigationStateContext.js";
17
17
  import { PreventRemoveProvider } from "./PreventRemoveProvider.js";
18
18
  import { Screen } from "./Screen.js";
@@ -30,6 +30,7 @@ import { useLazyValue } from "./useLazyValue.js";
30
30
  import { useNavigationHelpers } from "./useNavigationHelpers.js";
31
31
  import { NavigationStateListenerProvider } from "./useNavigationState.js";
32
32
  import { useOnAction } from "./useOnAction.js";
33
+ import { useOnGetNavigation } from "./useOnGetNavigation.js";
33
34
  import { useOnGetState } from "./useOnGetState.js";
34
35
  import { useOnRouteFocus } from "./useOnRouteFocus.js";
35
36
  import { useRegisterNavigator } from "./useRegisterNavigator.js";
@@ -222,6 +223,7 @@ export function useNavigationBuilder(createRouter, options) {
222
223
  state: currentState,
223
224
  getState: getCurrentState,
224
225
  setState: setCurrentState,
226
+ subscribe,
225
227
  setKey,
226
228
  getKey,
227
229
  getIsInitial
@@ -580,7 +582,6 @@ export function useNavigationBuilder(createRouter, options) {
580
582
  onAction,
581
583
  onUnhandledAction,
582
584
  getState,
583
- state,
584
585
  emitter,
585
586
  router
586
587
  });
@@ -592,6 +593,9 @@ export function useNavigationBuilder(createRouter, options) {
592
593
  getState,
593
594
  getStateListeners: keyedListeners.getState
594
595
  });
596
+ useOnGetNavigation({
597
+ navigation
598
+ });
595
599
  const descriptors = useDescriptors({
596
600
  routes: state.routes,
597
601
  screens,
@@ -601,6 +605,7 @@ export function useNavigationBuilder(createRouter, options) {
601
605
  onAction,
602
606
  getState,
603
607
  setState,
608
+ subscribe,
604
609
  onRouteFocus,
605
610
  addListener,
606
611
  addKeyedListener,
@@ -624,12 +629,17 @@ export function useNavigationBuilder(createRouter, options) {
624
629
  children: /*#__PURE__*/_jsx(NavigationHelpersContext.Provider, {
625
630
  value: navigation,
626
631
  children: /*#__PURE__*/_jsx(NavigationStateListenerProvider, {
632
+ isSynced: !shouldUpdate,
627
633
  state: state,
628
- getState: navigation.getState,
634
+ getState: getState,
635
+ subscribe: subscribe,
629
636
  children: /*#__PURE__*/_jsx(FocusedRouteKeyContext.Provider, {
630
637
  value: focusedRoute.key,
631
638
  children: /*#__PURE__*/_jsx(PreventRemoveProvider, {
632
- children: element
639
+ children: /*#__PURE__*/_jsx(IsScreenContext.Provider, {
640
+ value: false,
641
+ children: element
642
+ })
633
643
  })
634
644
  })
635
645
  })
@@ -1 +1 @@
1
- {"version":3,"names":["CommonActions","deepEqual","React","isValidElementType","useLatestCallback","ConsumedParamsContext","deepFreeze","Group","isArrayEqual","NavigationBuilderContext","NavigationHelpersContext","NavigationMetaContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","UnhandledActionContext","useChildListeners","useComponent","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","FocusedRouteKeyContext","useKeyedChildListeners","useLazyValue","useNavigationHelpers","NavigationStateListenerProvider","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","jsx","_jsx","isNavigationState","state","Array","isArray","routes","isScreen","child","type","isGroup","Fragment","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKeys","groupOptions","groupLayout","configs","Children","toArray","reduce","acc","isValidElement","props","Error","name","JSON","stringify","navigationKey","push","keys","options","layout","screenOptions","screenLayout","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","getStateFromParams","params","error","screen","initial","path","useNavigationBuilder","createRouter","navigatorKey","route","use","consumedParams","isNestedParamsConsumed","has","screenListeners","router","routerOverrides","rest","routeConfigs","initialRouteName","every","original","overrides","routeNames","map","length","screens","routeKeyList","routeParamList","routeGetIdList","initialParams","Object","assign","getId","isStateValid","useCallback","isStateInitialized","stale","doesStateHaveOnlyInvalidRoutes","r","includes","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","onEmitEvent","getIsStateEmitted","stateCleanupRef","useRef","lastStateRef","current","stateBeforeInitialization","initializedState","isFirstStateInitialization","paramsUsedForInitialization","useMemo","getRehydratedState","initialRouteParamList","curr","initialParamsFromParams","getInitialState","paramsForState","stateFromParams","hydratedState","routeNamesChangeBehavior","previousRouteKeyListRef","useInsertionEffect","previousRouteKeyList","routeKeyChanges","filter","previous","unhandledState","setUnhandledState","useState","nextState","shouldClearUnhandledState","getStateForRouteNamesChange","didConsumeNestedParams","action","reset","payload","merge","pop","updatedState","getStateForAction","names","join","useEffect","set","shouldUpdate","lastNotifiedStateRef","emitter","e","target","find","index","hasPerScreenListeners","some","listeners","descriptor","descriptors","navigation","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","onUnhandledActionParent","onUnhandledAction","focusedListeners","focus","getStateListeners","NavigationContent","focusedRoute","element","Provider","value"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CommonActions","deepEqual","React","isValidElementType","useLatestCallback","ConsumedParamsContext","deepFreeze","Group","isArrayEqual","NavigationBuilderContext","NavigationHelpersContext","NavigationMetaContext","IsScreenContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","UnhandledActionContext","useChildListeners","useComponent","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","FocusedRouteKeyContext","useKeyedChildListeners","useLazyValue","useNavigationHelpers","NavigationStateListenerProvider","useOnAction","useOnGetNavigation","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","jsx","_jsx","isNavigationState","state","Array","isArray","routes","isScreen","child","type","isGroup","Fragment","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKeys","groupOptions","groupLayout","configs","Children","toArray","reduce","acc","isValidElement","props","Error","name","JSON","stringify","navigationKey","push","keys","options","layout","screenOptions","screenLayout","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","getStateFromParams","params","error","screen","initial","path","useNavigationBuilder","createRouter","navigatorKey","route","use","consumedParams","isNestedParamsConsumed","has","screenListeners","router","routerOverrides","rest","routeConfigs","initialRouteName","every","original","overrides","routeNames","map","length","screens","routeKeyList","routeParamList","routeGetIdList","initialParams","Object","assign","getId","isStateValid","useCallback","isStateInitialized","stale","doesStateHaveOnlyInvalidRoutes","r","includes","currentState","getState","getCurrentState","setState","setCurrentState","subscribe","setKey","getKey","getIsInitial","onEmitEvent","getIsStateEmitted","stateCleanupRef","useRef","lastStateRef","current","stateBeforeInitialization","initializedState","isFirstStateInitialization","paramsUsedForInitialization","useMemo","getRehydratedState","initialRouteParamList","curr","initialParamsFromParams","getInitialState","paramsForState","stateFromParams","hydratedState","routeNamesChangeBehavior","previousRouteKeyListRef","useInsertionEffect","previousRouteKeyList","routeKeyChanges","filter","previous","unhandledState","setUnhandledState","useState","nextState","shouldClearUnhandledState","getStateForRouteNamesChange","didConsumeNestedParams","action","reset","payload","merge","pop","updatedState","getStateForAction","names","join","useEffect","set","shouldUpdate","lastNotifiedStateRef","emitter","e","target","find","index","hasPerScreenListeners","some","listeners","descriptor","descriptors","navigation","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","onUnhandledActionParent","onUnhandledAction","focusedListeners","focus","getStateListeners","NavigationContent","focusedRoute","element","Provider","value","isSynced"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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","ignoreList":[]}
@@ -17,9 +17,9 @@ export function useNavigationCache({
17
17
  router,
18
18
  emitter
19
19
  }) {
20
- const parentNavigationHelpers = React.use(NavigationContext);
20
+ const parentNavigation = React.use(NavigationContext);
21
21
  const {
22
- stackRef
22
+ withStackTrace
23
23
  } = React.use(NavigationBuilderContext);
24
24
 
25
25
  // Cache object which holds navigation objects for each screen
@@ -29,47 +29,35 @@ export function useNavigationCache({
29
29
  current: {}
30
30
  }),
31
31
  // eslint-disable-next-line react-hooks/exhaustive-deps
32
- [getState, parentNavigationHelpers, navigation, setOptions, emitter]);
32
+ [getState, parentNavigation, navigation, setOptions, emitter]);
33
33
  const next = routes.reduce((acc, route) => {
34
34
  const previous = cache.current[route.key];
35
35
  if (previous) {
36
36
  // If a cached navigation object already exists, reuse it
37
37
  acc[route.key] = previous;
38
38
  } else {
39
- const withStack = callback => {
40
- let isStackSet = false;
41
- try {
42
- if (process.env.NODE_ENV !== 'production' && stackRef && !stackRef.current) {
43
- // Capture the stack trace for devtools
44
- stackRef.current = new Error().stack;
45
- isStackSet = true;
46
- }
47
- callback();
48
- } finally {
49
- if (isStackSet && stackRef) {
50
- stackRef.current = undefined;
51
- }
52
- }
53
- };
54
39
  const dispatch = thunk => {
55
- withStack(() => React.startTransition(() => {
56
- const action = typeof thunk === 'function' ? thunk(getState()) : thunk;
57
- if (action != null) {
58
- navigation.dispatch({
59
- source: route.key,
60
- ...action
61
- });
62
- }
63
- }));
40
+ withStackTrace(dispatch, () => {
41
+ React.startTransition(() => {
42
+ const action = typeof thunk === 'function' ? thunk(getState()) : thunk;
43
+ if (action != null) {
44
+ navigation.dispatch({
45
+ source: route.key,
46
+ ...action
47
+ });
48
+ }
49
+ });
50
+ });
64
51
  };
65
52
  const actions = {
66
53
  ...router.actionCreators,
67
54
  ...CommonActions
68
55
  };
69
56
  const helpers = Object.keys(actions).reduce((acc, name) => {
70
- acc[name] = (...args) =>
57
+ const helper = (...args) => withStackTrace(helper, () =>
71
58
  // @ts-expect-error: name is a valid key, but TypeScript is dumb
72
- dispatch(actions[name](...args));
59
+ dispatch(actions[name](...args)));
60
+ acc[name] = helper;
73
61
  return acc;
74
62
  }, {});
75
63
 
@@ -91,9 +79,13 @@ export function useNavigationCache({
91
79
  return acc[route.key];
92
80
  }
93
81
  if (routeName !== undefined) {
94
- return parentNavigationHelpers?.getParent(routeName);
82
+ const parent = parentNavigation?.getParent(routeName);
83
+ if (parent === undefined) {
84
+ throw new Error(`Couldn't find a navigation object for '${routeName}' in current or any parent screens. Is your component inside the correct screen?`);
85
+ }
86
+ return parent;
95
87
  }
96
- return parentNavigationHelpers;
88
+ return parentNavigation;
97
89
  },
98
90
  setOptions: options => {
99
91
  setOptions(o => ({
@@ -1 +1 @@
1
- {"version":3,"names":["CommonActions","React","NavigationBuilderContext","NavigationContext","useNavigationCache","routes","getState","navigation","setOptions","router","emitter","parentNavigationHelpers","use","stackRef","cache","useMemo","current","next","reduce","acc","route","previous","key","withStack","callback","isStackSet","process","env","NODE_ENV","Error","stack","undefined","dispatch","thunk","startTransition","action","source","actions","actionCreators","helpers","Object","keys","name","args","emit","rest","create","getParent","routeName","options","o","isFocused","state","index","useInsertionEffect"],"sourceRoot":"../../src","sources":["useNavigationCache.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CommonActions","React","NavigationBuilderContext","NavigationContext","useNavigationCache","routes","getState","navigation","setOptions","router","emitter","parentNavigation","use","withStackTrace","cache","useMemo","current","next","reduce","acc","route","previous","key","dispatch","thunk","startTransition","action","source","actions","actionCreators","helpers","Object","keys","name","helper","args","emit","rest","create","getParent","routeName","undefined","parent","Error","options","o","isFocused","state","index","useInsertionEffect"],"sourceRoot":"../../src","sources":["useNavigationCache.tsx"],"mappings":"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","ignoreList":[]}
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { CommonActions } from '@react-navigation/routers';
4
4
  import * as React from 'react';
5
+ import { NavigationBuilderContext } from "./NavigationBuilderContext.js";
5
6
  import { NavigationContext } from "./NavigationProvider.js";
6
7
  import { PrivateValueStore } from "./types.js";
7
8
  // This is to make TypeScript compiler happy
@@ -15,44 +16,34 @@ export function useNavigationHelpers({
15
16
  onAction,
16
17
  onUnhandledAction,
17
18
  getState,
18
- state,
19
19
  emitter,
20
20
  router
21
21
  }) {
22
22
  const parentNavigationHelpers = React.use(NavigationContext);
23
-
24
- // In some cases (e.g. route names change), internal state might have changed
25
- // But it hasn't been committed yet, so hasn't propagated to any listeners
26
- // During this time, we need to return the internal state in `getState`
27
- // Otherwise it can return an inconsistent state during render in children
28
- // This may affect hooks like `useNavigationState` that need to read the state during render
29
- // To avoid this, we use a ref for render phase, and immediately clear it on commit
30
- // The ref won't be cleared if the render is discarded, e.g. when interrupted
31
- // So we also track the stored state the render was based on
32
- // Then ignore the ref once the stored state changes due to another dispatch
33
- const stateRef = React.useRef(null);
34
- stateRef.current = {
35
- state,
36
- base: getState()
37
- };
38
- React.useInsertionEffect(() => {
39
- stateRef.current = null;
40
- });
23
+ const {
24
+ withStackTrace
25
+ } = React.use(NavigationBuilderContext);
41
26
  return React.useMemo(() => {
42
27
  const dispatch = op => {
43
- const action = typeof op === 'function' ? op(getState()) : op;
44
- const handled = onAction(action);
45
- if (!handled) {
46
- onUnhandledAction?.(action);
47
- }
28
+ withStackTrace(dispatch, () => {
29
+ const action = typeof op === 'function' ? op(getState()) : op;
30
+ const handled = onAction(action);
31
+ if (!handled) {
32
+ onUnhandledAction?.(action);
33
+ }
34
+ });
48
35
  };
49
36
  const actions = {
50
37
  ...router.actionCreators,
51
38
  ...CommonActions
52
39
  };
53
40
  const helpers = Object.keys(actions).reduce((acc, name) => {
41
+ const helper = (...args) => withStackTrace(helper, () =>
42
+ // @ts-expect-error: name is a valid key, but TypeScript is dumb
43
+ dispatch(actions[name](...args)));
44
+
54
45
  // @ts-expect-error: name is a valid key, but TypeScript is dumb
55
- acc[name] = (...args) => dispatch(actions[name](...args));
46
+ acc[name] = helper;
56
47
  return acc;
57
48
  }, {});
58
49
  const navigationHelpers = {
@@ -69,19 +60,9 @@ export function useNavigationHelpers({
69
60
  routeGetIdList: {}
70
61
  }) !== null || parentNavigationHelpers?.canGoBack() || false;
71
62
  },
72
- getState: () => {
73
- const current = getState();
74
- const pending = stateRef.current;
75
-
76
- // FIXME: Workaround for when the state is read during render
77
- // Apart from subscriptions, `getState` should never be called during render
78
- if (pending != null && pending.base === current) {
79
- return pending.state;
80
- }
81
- return current;
82
- }
63
+ getState
83
64
  };
84
65
  return navigationHelpers;
85
- }, [router, parentNavigationHelpers, emitter.emit, getState, onAction, onUnhandledAction, stateRef]);
66
+ }, [router, parentNavigationHelpers, emitter.emit, getState, onAction, onUnhandledAction, withStackTrace]);
86
67
  }
87
68
  //# sourceMappingURL=useNavigationHelpers.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["CommonActions","React","NavigationContext","PrivateValueStore","useNavigationHelpers","onAction","onUnhandledAction","getState","state","emitter","router","parentNavigationHelpers","use","stateRef","useRef","current","base","useInsertionEffect","useMemo","dispatch","op","action","handled","actions","actionCreators","helpers","Object","keys","reduce","acc","name","args","navigationHelpers","emit","isFocused","canGoBack","getStateForAction","goBack","routeNames","routeParamList","routeGetIdList","pending"],"sourceRoot":"../../src","sources":["useNavigationHelpers.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CommonActions","React","NavigationBuilderContext","NavigationContext","PrivateValueStore","useNavigationHelpers","onAction","onUnhandledAction","getState","emitter","router","parentNavigationHelpers","use","withStackTrace","useMemo","dispatch","op","action","handled","actions","actionCreators","helpers","Object","keys","reduce","acc","name","helper","args","navigationHelpers","emit","isFocused","canGoBack","state","getStateForAction","goBack","routeNames","routeParamList","routeGetIdList"],"sourceRoot":"../../src","sources":["useNavigationHelpers.tsx"],"mappings":";;AAAA,SACEA,aAAa,QAKR,2BAA2B;AAClC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAE9B,SAASC,wBAAwB,QAAQ,+BAA4B;AACrE,SAASC,iBAAiB,QAAQ,yBAAsB;AACxD,SAAiCC,iBAAiB,QAAQ,YAAS;AAGnE;AACA;AACAA,iBAAiB;AAUjB;AACA;AACA;AACA;AACA,OAAO,SAASC,oBAAoBA,CAKlC;EACAC,QAAQ;EACRC,iBAAiB;EACjBC,QAAQ;EACRC,OAAO;EACPC;AACsB,CAAC,EAAE;EACzB,MAAMC,uBAAuB,GAAGV,KAAK,CAACW,GAAG,CAACT,iBAAiB,CAAC;EAC5D,MAAM;IAAEU;EAAe,CAAC,GAAGZ,KAAK,CAACW,GAAG,CAACV,wBAAwB,CAAC;EAE9D,OAAOD,KAAK,CAACa,OAAO,CAAC,MAAM;IACzB,MAAMC,QAAQ,GAAIC,EAAuC,IAAK;MAC5DH,cAAc,CAACE,QAAQ,EAAE,MAAM;QAC7B,MAAME,MAAM,GAAG,OAAOD,EAAE,KAAK,UAAU,GAAGA,EAAE,CAACR,QAAQ,CAAC,CAAC,CAAC,GAAGQ,EAAE;QAE7D,MAAME,OAAO,GAAGZ,QAAQ,CAACW,MAAM,CAAC;QAEhC,IAAI,CAACC,OAAO,EAAE;UACZX,iBAAiB,GAAGU,MAAM,CAAC;QAC7B;MACF,CAAC,CAAC;IACJ,CAAC;IAED,MAAME,OAAO,GAAG;MACd,GAAGT,MAAM,CAACU,cAAc;MACxB,GAAGpB;IACL,CAAC;IAED,MAAMqB,OAAO,GAAGC,MAAM,CAACC,IAAI,CAACJ,OAAO,CAAC,CAACK,MAAM,CAAC,CAACC,GAAG,EAAEC,IAAI,KAAK;MACzD,MAAMC,MAAM,GAAGA,CAAC,GAAGC,IAAS,KAC1Bf,cAAc,CAACc,MAAM,EAAE;MACrB;MACAZ,QAAQ,CAACI,OAAO,CAACO,IAAI,CAAC,CAAC,GAAGE,IAAI,CAAC,CACjC,CAAC;;MAEH;MACAH,GAAG,CAACC,IAAI,CAAC,GAAGC,MAAM;MAElB,OAAOF,GAAG;IACZ,CAAC,EAAE,CAAC,CAAkB,CAAC;IAEvB,MAAMI,iBAAiB,GAAG;MACxB,GAAGlB,uBAAuB;MAC1B,GAAGU,OAAO;MACVN,QAAQ;MACRe,IAAI,EAAErB,OAAO,CAACqB,IAAI;MAClBC,SAAS,EAAEpB,uBAAuB,GAC9BA,uBAAuB,CAACoB,SAAS,GACjC,MAAM,IAAI;MACdC,SAAS,EAAEA,CAAA,KAAM;QACf,MAAMC,KAAK,GAAGzB,QAAQ,CAAC,CAAC;QAExB,OACEE,MAAM,CAACwB,iBAAiB,CAACD,KAAK,EAAEjC,aAAa,CAACmC,MAAM,CAAC,CAAC,EAAY;UAChEC,UAAU,EAAEH,KAAK,CAACG,UAAU;UAC5BC,cAAc,EAAE,CAAC,CAAC;UAClBC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,KAAK,IAAI,IACX3B,uBAAuB,EAAEqB,SAAS,CAAC,CAAC,IACpC,KAAK;MAET,CAAC;MACDxB;IACF,CAA+D;IAE/D,OAAOqB,iBAAiB;EAC1B,CAAC,EAAE,CACDnB,MAAM,EACNC,uBAAuB,EACvBF,OAAO,CAACqB,IAAI,EACZtB,QAAQ,EACRF,QAAQ,EACRC,iBAAiB,EACjBM,cAAc,CACf,CAAC;AACJ","ignoreList":[]}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  import * as React from 'react';
4
- import useLatestCallback from 'use-latest-callback';
5
4
 
6
5
  /**
7
6
  * Hook to get a value from the current navigation state using a selector.
@@ -37,56 +36,109 @@ export function useNavigationState(...args) {
37
36
  }
38
37
  const {
39
38
  getState,
39
+ getSnapshot,
40
40
  subscribe
41
41
  } = listener;
42
- const [, forceUpdate] = React.useReducer(count => count + 1, 0);
43
- const selected = select(getState());
44
- const selectionRef = React.useRef({
45
- select,
46
- selected
42
+
43
+ // The store can contain state from a transition that hasn't committed yet.
44
+ // Reading it during render can show state that doesn't match the navigator in that render.
45
+ // The reducer lets React process state in the same render lane as the navigator.
46
+ const [entry, dispatch] = React.useReducer((previous, event) => {
47
+ // Navigation state can change between the dispatch and the reducer running.
48
+ // Reading here ensures the processed event uses the state for that render.
49
+ const state = event === 'update' ? getState() : getSnapshot();
50
+ if (previous.listener === listener && (previous.state === state || event === 'update' && Object.is(select(previous.state), select(state)))) {
51
+ return previous;
52
+ }
53
+ return {
54
+ listener,
55
+ state
56
+ };
57
+ }, undefined, () => ({
58
+ listener,
59
+ state: getState()
60
+ }));
61
+ let state = entry.state;
62
+ const committedRef = React.useRef({
63
+ entry: null,
64
+ state,
65
+ select
47
66
  });
48
- React.useLayoutEffect(() => {
49
- selectionRef.current = {
50
- select,
51
- selected
67
+ React.useInsertionEffect(() => {
68
+ committedRef.current = {
69
+ entry,
70
+ state,
71
+ select
52
72
  };
53
73
  });
54
- React.useEffect(() => {
55
- const checkForUpdates = () => {
56
- const selection = selectionRef.current;
57
- if (!Object.is(selection.selected, selection.select(getState()))) {
58
- forceUpdate();
74
+ const snapshot = getSnapshot();
75
+ const behind = state !== snapshot && (
76
+ // A different listener means the state belongs to another navigator.
77
+ // This can happen when the passed route name changes.
78
+ entry.listener !== listener ||
79
+ // An entry that advanced past the last commit is at least as new as the snapshot.
80
+ // An entry that didn't advance while the committed state changed is older.
81
+ entry === committedRef.current.entry);
82
+ if (behind) {
83
+ state = snapshot;
84
+ dispatch('commit');
85
+ }
86
+ React.useLayoutEffect(() => {
87
+ const check = event => {
88
+ const {
89
+ state,
90
+ select
91
+ } = committedRef.current;
92
+
93
+ // An 'update' event follows the latest state in the lane the update was made in.
94
+ // A 'commit' event syncs the reducer to the state committed by the navigator.
95
+ const target = event === 'update' ? getState() : getSnapshot();
96
+ if (state !== target && !Object.is(select(state), select(target))) {
97
+ dispatch(event);
59
98
  }
60
99
  };
61
- const unsubscribe = subscribe(checkForUpdates);
100
+ const unsubscribe = subscribe(check);
62
101
 
63
- // The state may have changed between the render and the subscription
64
- checkForUpdates();
102
+ // The reducer may not match the committed state when the subscription starts.
103
+ // This happens on mount during a transition or an update before subscribing.
104
+ check('commit');
65
105
  return unsubscribe;
66
- }, [getState, subscribe]);
67
- return selected;
106
+ }, [getState, getSnapshot, subscribe]);
107
+ return select(state);
68
108
  }
69
109
  export function NavigationStateListenerProvider({
110
+ isSynced,
70
111
  state,
71
112
  getState,
113
+ subscribe,
72
114
  children
73
115
  }) {
74
- const listeners = React.useRef([]);
75
- const subscribe = useLatestCallback(callback => {
76
- listeners.current.push(callback);
77
- return () => {
78
- listeners.current = listeners.current.filter(cb => cb !== callback);
79
- };
80
- });
81
-
82
- // Notify subscribers once the new state has committed
116
+ const [listeners] = React.useState(() => new Set());
83
117
  React.useLayoutEffect(() => {
84
- listeners.current.forEach(callback => callback());
118
+ listeners.forEach(listener => listener('commit'));
119
+ }, [listeners, state]);
120
+ const snapshotRef = React.useRef(state);
121
+ React.useInsertionEffect(() => {
122
+ snapshotRef.current = state;
85
123
  }, [state]);
124
+
125
+ // Route config or nested params can produce new state during render.
126
+ // If the scheduled update hasn't synced that state to the store yet,
127
+ // We need to expose the rendered state so consumers match the navigator.
128
+ // We keep this `undefined` for other scenarios, so the context isn't recreated.
129
+ const nextState = isSynced ? undefined : state;
86
130
  const context = React.useMemo(() => ({
87
131
  getState,
88
- subscribe
89
- }), [getState, subscribe]);
132
+ getSnapshot: () => nextState ?? snapshotRef.current,
133
+ subscribe: callback => {
134
+ const unsubscribe = subscribe(() => callback('update'));
135
+ listeners.add(callback);
136
+ return () => {
137
+ listeners.delete(callback);
138
+ unsubscribe();
139
+ };
140
+ }
141
+ }), [getState, listeners, nextState, subscribe]);
90
142
  return /*#__PURE__*/_jsx(NavigationStateListenerContext.Provider, {
91
143
  value: context,
92
144
  children: children
@@ -110,6 +162,6 @@ export function NamedNavigationStateListenerProvider({
110
162
  children: children
111
163
  });
112
164
  }
113
- const NavigationStateListenerContext = /*#__PURE__*/React.createContext(undefined);
165
+ export const NavigationStateListenerContext = /*#__PURE__*/React.createContext(undefined);
114
166
  export const NamedNavigationStateListenerListContext = /*#__PURE__*/React.createContext(undefined);
115
167
  //# sourceMappingURL=useNavigationState.js.map