@react-navigation/core 7.21.3 → 7.21.5

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 (64) hide show
  1. package/lib/module/PreventRemoveContext.js.map +1 -1
  2. package/lib/module/PreventRemoveProvider.js +34 -24
  3. package/lib/module/PreventRemoveProvider.js.map +1 -1
  4. package/lib/module/createNavigationContainerRef.js +6 -8
  5. package/lib/module/createNavigationContainerRef.js.map +1 -1
  6. package/lib/module/useEventEmitter.js +1 -1
  7. package/lib/module/useEventEmitter.js.map +1 -1
  8. package/lib/module/useKeyedChildListeners.js +4 -2
  9. package/lib/module/useKeyedChildListeners.js.map +1 -1
  10. package/lib/module/useNavigationBuilder.js +4 -15
  11. package/lib/module/useNavigationBuilder.js.map +1 -1
  12. package/lib/module/useNavigationCache.js +5 -2
  13. package/lib/module/useNavigationCache.js.map +1 -1
  14. package/lib/module/useNavigationHelpers.js +27 -9
  15. package/lib/module/useNavigationHelpers.js.map +1 -1
  16. package/lib/module/useNavigationState.js +44 -11
  17. package/lib/module/useNavigationState.js.map +1 -1
  18. package/lib/module/useOnAction.js +1 -1
  19. package/lib/module/useOnAction.js.map +1 -1
  20. package/lib/module/useOptionsGetters.js +3 -1
  21. package/lib/module/useOptionsGetters.js.map +1 -1
  22. package/lib/module/usePreventRemove.js +9 -2
  23. package/lib/module/usePreventRemove.js.map +1 -1
  24. package/lib/module/useRouteCache.js +14 -7
  25. package/lib/module/useRouteCache.js.map +1 -1
  26. package/lib/module/useScheduleUpdate.js +8 -8
  27. package/lib/module/useScheduleUpdate.js.map +1 -1
  28. package/lib/module/useSyncState.js +4 -1
  29. package/lib/module/useSyncState.js.map +1 -1
  30. package/lib/typescript/src/PreventRemoveContext.d.ts +1 -0
  31. package/lib/typescript/src/PreventRemoveContext.d.ts.map +1 -1
  32. package/lib/typescript/src/PreventRemoveProvider.d.ts.map +1 -1
  33. package/lib/typescript/src/createNavigationContainerRef.d.ts.map +1 -1
  34. package/lib/typescript/src/useKeyedChildListeners.d.ts.map +1 -1
  35. package/lib/typescript/src/useNavigationBuilder.d.ts.map +1 -1
  36. package/lib/typescript/src/useNavigationCache.d.ts.map +1 -1
  37. package/lib/typescript/src/useNavigationHelpers.d.ts +2 -3
  38. package/lib/typescript/src/useNavigationHelpers.d.ts.map +1 -1
  39. package/lib/typescript/src/useNavigationState.d.ts +2 -1
  40. package/lib/typescript/src/useNavigationState.d.ts.map +1 -1
  41. package/lib/typescript/src/useOptionsGetters.d.ts.map +1 -1
  42. package/lib/typescript/src/usePreventRemove.d.ts.map +1 -1
  43. package/lib/typescript/src/usePreventRemoveContext.d.ts +1 -0
  44. package/lib/typescript/src/usePreventRemoveContext.d.ts.map +1 -1
  45. package/lib/typescript/src/useRouteCache.d.ts.map +1 -1
  46. package/lib/typescript/src/useScheduleUpdate.d.ts +5 -4
  47. package/lib/typescript/src/useScheduleUpdate.d.ts.map +1 -1
  48. package/lib/typescript/src/useSyncState.d.ts.map +1 -1
  49. package/package.json +2 -2
  50. package/src/PreventRemoveContext.tsx +1 -0
  51. package/src/PreventRemoveProvider.tsx +48 -43
  52. package/src/createNavigationContainerRef.tsx +12 -9
  53. package/src/useEventEmitter.tsx +1 -1
  54. package/src/useKeyedChildListeners.tsx +4 -2
  55. package/src/useNavigationBuilder.tsx +6 -17
  56. package/src/useNavigationCache.tsx +6 -2
  57. package/src/useNavigationHelpers.tsx +26 -9
  58. package/src/useNavigationState.tsx +51 -21
  59. package/src/useOnAction.tsx +1 -1
  60. package/src/useOptionsGetters.tsx +4 -1
  61. package/src/usePreventRemove.tsx +11 -2
  62. package/src/useRouteCache.tsx +19 -11
  63. package/src/useScheduleUpdate.tsx +8 -7
  64. package/src/useSyncState.tsx +5 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","PreventRemoveContext","createContext","undefined"],"sourceRoot":"../../src","sources":["PreventRemoveContext.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;;AAE9B;AACA;AACA;AACA;;AAGA,OAAO,MAAMC,oBAAoB,gBAAGD,KAAK,CAACE,aAAa,CAUrDC,SAAS,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","PreventRemoveContext","createContext","undefined"],"sourceRoot":"../../src","sources":["PreventRemoveContext.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;;AAE9B;AACA;AACA;AACA;;AAGA,OAAO,MAAMC,oBAAoB,gBAAGD,KAAK,CAACE,aAAa,CAWrDC,SAAS,CAAC","ignoreList":[]}
@@ -11,16 +11,12 @@ import { jsx as _jsx } from "react/jsx-runtime";
11
11
  * Util function to transform map of prevented routes to a simpler object.
12
12
  */
13
13
  const transformPreventedRoutes = preventedRoutesMap => {
14
- const preventedRoutesToTransform = [...preventedRoutesMap.values()];
15
- const preventedRoutes = preventedRoutesToTransform.reduce((acc, {
16
- routeKey,
17
- preventRemove
18
- }) => {
19
- acc[routeKey] = {
20
- preventRemove: acc[routeKey]?.preventRemove || preventRemove
14
+ const preventedRoutes = {};
15
+ for (const routeKey of preventedRoutesMap.values()) {
16
+ preventedRoutes[routeKey] = {
17
+ preventRemove: true
21
18
  };
22
- return acc;
23
- }, {});
19
+ }
24
20
  return preventedRoutes;
25
21
  };
26
22
 
@@ -32,36 +28,49 @@ export function PreventRemoveProvider({
32
28
  }) {
33
29
  const [parentId] = React.useState(() => nanoid());
34
30
  const [preventedRoutesMap, setPreventedRoutesMap] = React.useState(() => new Map());
31
+ const registry = React.useRef(new Map());
35
32
  const navigation = React.useContext(NavigationHelpersContext);
36
33
  const route = React.useContext(NavigationRouteContext);
37
34
  const preventRemoveContextValue = React.useContext(PreventRemoveContext);
38
35
  // take `setPreventRemove` from parent context - if exist it means we're in a nested context
39
36
  const setParentPrevented = preventRemoveContextValue?.setPreventRemove;
37
+ const notifyParentPrevented = preventRemoveContextValue?.notifyPreventRemove;
40
38
  const setPreventRemove = useLatestCallback((id, routeKey, preventRemove) => {
41
39
  if (preventRemove && (navigation == null || navigation?.getState().routes.every(route => route.key !== routeKey))) {
42
40
  throw new Error(`Couldn't find a route with the key ${routeKey}. Is your component inside NavigationContent?`);
43
41
  }
42
+ if (preventRemove) {
43
+ registry.current.set(id, routeKey);
44
+ } else {
45
+ registry.current.delete(id);
46
+ }
47
+ });
48
+ const notifyPreventRemove = useLatestCallback(() => {
49
+ // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect
44
50
  setPreventedRoutesMap(prevPrevented => {
51
+ const nextPrevented = registry.current;
52
+ const hasChanged = prevPrevented.size !== nextPrevented.size || [...nextPrevented].some(([id, routeKey]) => prevPrevented.get(id) !== routeKey);
53
+
45
54
  // values haven't changed - do nothing
46
- if (routeKey === prevPrevented.get(id)?.routeKey && preventRemove === prevPrevented.get(id)?.preventRemove) {
55
+ if (!hasChanged) {
47
56
  return prevPrevented;
48
57
  }
49
- const nextPrevented = new Map(prevPrevented);
50
- if (preventRemove) {
51
- nextPrevented.set(id, {
52
- routeKey,
53
- preventRemove
54
- });
55
- } else {
56
- nextPrevented.delete(id);
57
- }
58
- return nextPrevented;
58
+ return new Map(nextPrevented);
59
59
  });
60
60
  });
61
- const isPrevented = [...preventedRoutesMap.values()].some(({
62
- preventRemove
63
- }) => preventRemove);
61
+
62
+ // Sync the state on every commit in case the registry was changed by a screen
63
+ // unmounting while hidden with `<Activity>`, where no passive effects run
64
+ // Also notify the parent so nested prevention propagates upwards
64
65
  React.useEffect(() => {
66
+ notifyPreventRemove();
67
+ notifyParentPrevented?.();
68
+ return () => {
69
+ notifyParentPrevented?.();
70
+ };
71
+ });
72
+ const isPrevented = preventedRoutesMap.size > 0;
73
+ React.useInsertionEffect(() => {
65
74
  if (route?.key !== undefined && setParentPrevented !== undefined) {
66
75
  // when route is defined (and setParentPrevented) it means we're in a nested stack
67
76
  // route.key then will be the route key of parent
@@ -74,8 +83,9 @@ export function PreventRemoveProvider({
74
83
  }, [parentId, isPrevented, route?.key, setParentPrevented]);
75
84
  const value = React.useMemo(() => ({
76
85
  setPreventRemove,
86
+ notifyPreventRemove,
77
87
  preventedRoutes: transformPreventedRoutes(preventedRoutesMap)
78
- }), [setPreventRemove, preventedRoutesMap]);
88
+ }), [setPreventRemove, notifyPreventRemove, preventedRoutesMap]);
79
89
  return /*#__PURE__*/_jsx(PreventRemoveContext.Provider, {
80
90
  value: value,
81
91
  children: children
@@ -1 +1 @@
1
- {"version":3,"names":["nanoid","React","useLatestCallback","NavigationHelpersContext","NavigationRouteContext","PreventRemoveContext","jsx","_jsx","transformPreventedRoutes","preventedRoutesMap","preventedRoutesToTransform","values","preventedRoutes","reduce","acc","routeKey","preventRemove","PreventRemoveProvider","children","parentId","useState","setPreventedRoutesMap","Map","navigation","useContext","route","preventRemoveContextValue","setParentPrevented","setPreventRemove","id","getState","routes","every","key","Error","prevPrevented","get","nextPrevented","set","delete","isPrevented","some","useEffect","undefined","value","useMemo","Provider"],"sourceRoot":"../../src","sources":["PreventRemoveProvider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["nanoid","React","useLatestCallback","NavigationHelpersContext","NavigationRouteContext","PreventRemoveContext","jsx","_jsx","transformPreventedRoutes","preventedRoutesMap","preventedRoutes","routeKey","values","preventRemove","PreventRemoveProvider","children","parentId","useState","setPreventedRoutesMap","Map","registry","useRef","navigation","useContext","route","preventRemoveContextValue","setParentPrevented","setPreventRemove","notifyParentPrevented","notifyPreventRemove","id","getState","routes","every","key","Error","current","set","delete","prevPrevented","nextPrevented","hasChanged","size","some","get","useEffect","isPrevented","useInsertionEffect","undefined","value","useMemo","Provider"],"sourceRoot":"../../src","sources":["PreventRemoveProvider.tsx"],"mappings":"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","ignoreList":[]}
@@ -5,12 +5,13 @@ export const NOT_INITIALIZED_ERROR = "The 'navigation' object hasn't been initia
5
5
  export function createNavigationContainerRef() {
6
6
  const methods = [...Object.keys(CommonActions), 'addListener', 'removeListener', 'resetRoot', 'dispatch', 'isFocused', 'canGoBack', 'getRootState', 'getState', 'getParent', 'getCurrentRoute', 'getCurrentOptions'];
7
7
  const listeners = {};
8
+ let current = null;
8
9
  const removeListener = (event, callback) => {
9
10
  if (listeners[event]) {
10
11
  listeners[event] = listeners[event].filter(cb => cb !== callback);
11
12
  }
13
+ current?.removeListener(event, callback);
12
14
  };
13
- let current = null;
14
15
  const ref = {
15
16
  get current() {
16
17
  return current;
@@ -33,7 +34,10 @@ export function createNavigationContainerRef() {
33
34
  },
34
35
  ...methods.reduce((acc, name) => {
35
36
  acc[name] = (...args) => {
36
- if (current == null) {
37
+ if (name === 'removeListener') {
38
+ const [event, callback] = args;
39
+ removeListener(event, callback);
40
+ } else if (current == null) {
37
41
  switch (name) {
38
42
  case 'addListener':
39
43
  {
@@ -42,12 +46,6 @@ export function createNavigationContainerRef() {
42
46
  listeners[event].push(callback);
43
47
  return () => removeListener(event, callback);
44
48
  }
45
- case 'removeListener':
46
- {
47
- const [event, callback] = args;
48
- removeListener(event, callback);
49
- break;
50
- }
51
49
  default:
52
50
  console.error(NOT_INITIALIZED_ERROR);
53
51
  }
@@ -1 +1 @@
1
- {"version":3,"names":["CommonActions","NOT_INITIALIZED_ERROR","createNavigationContainerRef","methods","Object","keys","listeners","removeListener","event","callback","filter","cb","current","ref","value","entries","forEach","callbacks","addListener","isReady","reduce","acc","name","args","push","console","error"],"sourceRoot":"../../src","sources":["createNavigationContainerRef.tsx"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,2BAA2B;AAQzD,OAAO,MAAMC,qBAAqB,GAChC,+QAA+Q;AAEjR,OAAO,SAASC,4BAA4BA,CAAA,EAEM;EAChD,MAAMC,OAAO,GAAG,CACd,GAAGC,MAAM,CAACC,IAAI,CAACL,aAAa,CAAC,EAC7B,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,mBAAmB,CACX;EAEV,MAAMM,SAAuD,GAAG,CAAC,CAAC;EAElE,MAAMC,cAAc,GAAGA,CACrBC,KAAa,EACbC,QAAkC,KAC/B;IACH,IAAIH,SAAS,CAACE,KAAK,CAAC,EAAE;MACpBF,SAAS,CAACE,KAAK,CAAC,GAAGF,SAAS,CAACE,KAAK,CAAC,CAACE,MAAM,CAAEC,EAAE,IAAKA,EAAE,KAAKF,QAAQ,CAAC;IACrE;EACF,CAAC;EAED,IAAIG,OAAiD,GAAG,IAAI;EAE5D,MAAMC,GAAiD,GAAG;IACxD,IAAID,OAAOA,CAAA,EAAG;MACZ,OAAOA,OAAO;IAChB,CAAC;IACD,IAAIA,OAAOA,CAACE,KAA+C,EAAE;MAC3DF,OAAO,GAAGE,KAAK;MAEf,IAAIA,KAAK,IAAI,IAAI,EAAE;QACjBV,MAAM,CAACW,OAAO,CAACT,SAAS,CAAC,CAACU,OAAO,CAAC,CAAC,CAACR,KAAK,EAAES,SAAS,CAAC,KAAK;UACxDA,SAAS,CAACD,OAAO,CAAEP,QAAQ,IAAK;YAC9BK,KAAK,CAACI,WAAW,CACfV,KAAK,EACLC,QACF,CAAC;UACH,CAAC,CAAC;QACJ,CAAC,CAAC;MACJ;IACF,CAAC;IACDU,OAAO,EAAEA,CAAA,KAAM;MACb,IAAIP,OAAO,IAAI,IAAI,EAAE;QACnB,OAAO,KAAK;MACd;MAEA,OAAOA,OAAO,CAACO,OAAO,CAAC,CAAC;IAC1B,CAAC;IACD,GAAGhB,OAAO,CAACiB,MAAM,CAAM,CAACC,GAAG,EAAEC,IAAI,KAAK;MACpCD,GAAG,CAACC,IAAI,CAAC,GAAG,CAAC,GAAGC,IAAW,KAAK;QAC9B,IAAIX,OAAO,IAAI,IAAI,EAAE;UACnB,QAAQU,IAAI;YACV,KAAK,aAAa;cAAE;gBAClB,MAAM,CAACd,KAAK,EAAEC,QAAQ,CAAC,GAAGc,IAAI;gBAE9BjB,SAAS,CAACE,KAAK,CAAC,GAAGF,SAAS,CAACE,KAAK,CAAC,IAAI,EAAE;gBACzCF,SAAS,CAACE,KAAK,CAAC,CAACgB,IAAI,CAACf,QAAQ,CAAC;gBAE/B,OAAO,MAAMF,cAAc,CAACC,KAAK,EAAEC,QAAQ,CAAC;cAC9C;YACA,KAAK,gBAAgB;cAAE;gBACrB,MAAM,CAACD,KAAK,EAAEC,QAAQ,CAAC,GAAGc,IAAI;gBAE9BhB,cAAc,CAACC,KAAK,EAAEC,QAAQ,CAAC;gBAC/B;cACF;YACA;cACEgB,OAAO,CAACC,KAAK,CAACzB,qBAAqB,CAAC;UACxC;QACF,CAAC,MAAM;UACL;UACA,OAAOW,OAAO,CAACU,IAAI,CAAC,CAAC,GAAGC,IAAI,CAAC;QAC/B;MACF,CAAC;MACD,OAAOF,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC;EACP,CAAC;EAED,OAAOR,GAAG;AACZ","ignoreList":[]}
1
+ {"version":3,"names":["CommonActions","NOT_INITIALIZED_ERROR","createNavigationContainerRef","methods","Object","keys","listeners","current","removeListener","event","callback","filter","cb","ref","value","entries","forEach","callbacks","addListener","isReady","reduce","acc","name","args","push","console","error"],"sourceRoot":"../../src","sources":["createNavigationContainerRef.tsx"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,2BAA2B;AAQzD,OAAO,MAAMC,qBAAqB,GAChC,+QAA+Q;AAEjR,OAAO,SAASC,4BAA4BA,CAAA,EAEM;EAChD,MAAMC,OAAO,GAAG,CACd,GAAGC,MAAM,CAACC,IAAI,CAACL,aAAa,CAAC,EAC7B,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,mBAAmB,CACX;EAEV,MAAMM,SAAuD,GAAG,CAAC,CAAC;EAElE,IAAIC,OAAiD,GAAG,IAAI;EAE5D,MAAMC,cAAc,GAAGA,CACrBC,KAAa,EACbC,QAAkC,KAC/B;IACH,IAAIJ,SAAS,CAACG,KAAK,CAAC,EAAE;MACpBH,SAAS,CAACG,KAAK,CAAC,GAAGH,SAAS,CAACG,KAAK,CAAC,CAACE,MAAM,CAAEC,EAAE,IAAKA,EAAE,KAAKF,QAAQ,CAAC;IACrE;IAEAH,OAAO,EAAEC,cAAc,CACrBC,KAAK,EACLC,QACF,CAAC;EACH,CAAC;EAED,MAAMG,GAAiD,GAAG;IACxD,IAAIN,OAAOA,CAAA,EAAG;MACZ,OAAOA,OAAO;IAChB,CAAC;IACD,IAAIA,OAAOA,CAACO,KAA+C,EAAE;MAC3DP,OAAO,GAAGO,KAAK;MAEf,IAAIA,KAAK,IAAI,IAAI,EAAE;QACjBV,MAAM,CAACW,OAAO,CAACT,SAAS,CAAC,CAACU,OAAO,CAAC,CAAC,CAACP,KAAK,EAAEQ,SAAS,CAAC,KAAK;UACxDA,SAAS,CAACD,OAAO,CAAEN,QAAQ,IAAK;YAC9BI,KAAK,CAACI,WAAW,CACfT,KAAK,EACLC,QACF,CAAC;UACH,CAAC,CAAC;QACJ,CAAC,CAAC;MACJ;IACF,CAAC;IACDS,OAAO,EAAEA,CAAA,KAAM;MACb,IAAIZ,OAAO,IAAI,IAAI,EAAE;QACnB,OAAO,KAAK;MACd;MAEA,OAAOA,OAAO,CAACY,OAAO,CAAC,CAAC;IAC1B,CAAC;IACD,GAAGhB,OAAO,CAACiB,MAAM,CAAM,CAACC,GAAG,EAAEC,IAAI,KAAK;MACpCD,GAAG,CAACC,IAAI,CAAC,GAAG,CAAC,GAAGC,IAAW,KAAK;QAC9B,IAAID,IAAI,KAAK,gBAAgB,EAAE;UAC7B,MAAM,CAACb,KAAK,EAAEC,QAAQ,CAAC,GAAGa,IAAI;UAE9Bf,cAAc,CAACC,KAAK,EAAEC,QAAQ,CAAC;QACjC,CAAC,MAAM,IAAIH,OAAO,IAAI,IAAI,EAAE;UAC1B,QAAQe,IAAI;YACV,KAAK,aAAa;cAAE;gBAClB,MAAM,CAACb,KAAK,EAAEC,QAAQ,CAAC,GAAGa,IAAI;gBAE9BjB,SAAS,CAACG,KAAK,CAAC,GAAGH,SAAS,CAACG,KAAK,CAAC,IAAI,EAAE;gBACzCH,SAAS,CAACG,KAAK,CAAC,CAACe,IAAI,CAACd,QAAQ,CAAC;gBAE/B,OAAO,MAAMF,cAAc,CAACC,KAAK,EAAEC,QAAQ,CAAC;cAC9C;YACA;cACEe,OAAO,CAACC,KAAK,CAACzB,qBAAqB,CAAC;UACxC;QACF,CAAC,MAAM;UACL;UACA,OAAOM,OAAO,CAACe,IAAI,CAAC,CAAC,GAAGC,IAAI,CAAC;QAC/B;MACF,CAAC;MACD,OAAOF,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC;EACP,CAAC;EAED,OAAOR,GAAG;AACZ","ignoreList":[]}
@@ -7,7 +7,7 @@ import * as React from 'react';
7
7
  export function useEventEmitter(listen, onPostEmit) {
8
8
  const listenRef = React.useRef(listen);
9
9
  const onPostEmitRef = React.useRef(onPostEmit);
10
- React.useEffect(() => {
10
+ React.useInsertionEffect(() => {
11
11
  listenRef.current = listen;
12
12
  onPostEmitRef.current = onPostEmit;
13
13
  });
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEventEmitter","listen","onPostEmit","listenRef","useRef","onPostEmitRef","useEffect","current","listeners","Object","create","useCallback","target","removeListener","type","callback","callbacks","undefined","index","indexOf","splice","addListener","push","removed","emit","data","canPreventDefault","items","slice","concat","keys","map","t","filter","cb","i","self","lastIndexOf","descriptors","enumerable","value","defaultPrevented","get","preventDefault","event","defineProperties","forEach","useMemo"],"sourceRoot":"../../src","sources":["useEventEmitter.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEventEmitter","listen","onPostEmit","listenRef","useRef","onPostEmitRef","useInsertionEffect","current","listeners","Object","create","useCallback","target","removeListener","type","callback","callbacks","undefined","index","indexOf","splice","addListener","push","removed","emit","data","canPreventDefault","items","slice","concat","keys","map","t","filter","cb","i","self","lastIndexOf","descriptors","enumerable","value","defaultPrevented","get","preventDefault","event","defineProperties","forEach","useMemo"],"sourceRoot":"../../src","sources":["useEventEmitter.tsx"],"mappings":"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","ignoreList":[]}
@@ -15,8 +15,10 @@ export function useKeyedChildListeners() {
15
15
  // @ts-expect-error: according to ref stated above you can use `key` to index type
16
16
  keyedListeners[type][key] = listener;
17
17
  return () => {
18
- // @ts-expect-error: according to ref stated above you can use `key` to index type
19
- keyedListeners[type][key] = undefined;
18
+ if (keyedListeners[type][key] === listener) {
19
+ // @ts-expect-error: according to ref stated above you can use `key` to index type
20
+ keyedListeners[type][key] = undefined;
21
+ }
20
22
  };
21
23
  }, [keyedListeners]);
22
24
  return {
@@ -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;MACAX,cAAc,CAACS,IAAI,CAAC,CAACC,GAAG,CAAC,GAAGE,SAAS;IACvC,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","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":[]}
@@ -20,7 +20,6 @@ import { Screen } from "./Screen.js";
20
20
  import { PrivateValueStore } from "./types.js";
21
21
  import { UnhandledActionContext } from "./UnhandledActionContext.js";
22
22
  import { useChildListeners } from "./useChildListeners.js";
23
- import { useClientLayoutEffect } from "./useClientLayoutEffect.js";
24
23
  import { useComponent } from "./useComponent.js";
25
24
  import { useCurrentRender } from "./useCurrentRender.js";
26
25
  import { useDescriptors } from "./useDescriptors.js";
@@ -297,7 +296,7 @@ export function useNavigationBuilder(createRouter, options) {
297
296
  // eslint-disable-next-line react-hooks/exhaustive-deps
298
297
  }, [currentState, router, isStateValid]);
299
298
  const previousRouteKeyListRef = React.useRef(routeKeyList);
300
- React.useEffect(() => {
299
+ React.useInsertionEffect(() => {
301
300
  previousRouteKeyListRef.current = routeKeyList;
302
301
  });
303
302
  const previousRouteKeyList = previousRouteKeyListRef.current;
@@ -440,17 +439,6 @@ export function useNavigationBuilder(createRouter, options) {
440
439
  };
441
440
  // eslint-disable-next-line react-hooks/exhaustive-deps
442
441
  }, []);
443
-
444
- // In some cases (e.g. route names change), internal state might have changed
445
- // But it hasn't been committed yet, so hasn't propagated to the sync external store
446
- // During this time, we need to return the internal state in `getState`
447
- // Otherwise it can result in inconsistent state during render in children
448
- // To avoid this, we use a ref for render phase, and immediately clear it on commit
449
- const stateRef = React.useRef(state);
450
- stateRef.current = state;
451
- useClientLayoutEffect(() => {
452
- stateRef.current = null;
453
- });
454
442
  const getState = useLatestCallback(() => {
455
443
  const currentState = getCurrentState();
456
444
  return deepFreeze(isStateInitialized(currentState) ? currentState : initializedState);
@@ -555,9 +543,9 @@ export function useNavigationBuilder(createRouter, options) {
555
543
  onAction,
556
544
  onUnhandledAction,
557
545
  getState,
546
+ state,
558
547
  emitter,
559
- router,
560
- stateRef
548
+ router
561
549
  });
562
550
  useFocusedListenersChildrenAdapter({
563
551
  navigation,
@@ -604,6 +592,7 @@ export function useNavigationBuilder(createRouter, options) {
604
592
  value: navigation,
605
593
  children: /*#__PURE__*/_jsx(NavigationStateListenerProvider, {
606
594
  state: state,
595
+ getState: navigation.getState,
607
596
  children: /*#__PURE__*/_jsx(FocusedRouteKeyContext.Provider, {
608
597
  value: state.routes[state.index].key,
609
598
  children: /*#__PURE__*/_jsx(PreventRemoveProvider, {
@@ -1 +1 @@
1
- {"version":3,"names":["CommonActions","deepEqual","React","isValidElementType","useLatestCallback","ConsumedParamsContext","deepFreeze","Group","isArrayEqual","isRecordEqual","NavigationBuilderContext","NavigationHelpersContext","NavigationMetaContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","UnhandledActionContext","useChildListeners","useClientLayoutEffect","useComponent","useCurrentRender","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","groupKey","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","screen","initial","path","useNavigationBuilder","createRouter","navigatorKey","route","useContext","consumedParams","isNestedParamsConsumed","isConsumed","screenListeners","UNSTABLE_router","rest","routeConfigs","router","initialRouteName","every","original","overrides","routeNames","map","length","screens","routeKeyList","routeParamList","routeGetIdList","join","initialParams","Object","assign","getId","isStateValid","useCallback","isStateInitialized","stale","doesStateHaveOnlyInvalidRoutes","r","includes","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanupRef","useRef","lastStateRef","current","stateBeforeInitialization","initializedState","isFirstStateInitialization","paramsUsedForInitialization","useMemo","getRehydratedState","initialRouteParamList","curr","initialParamsFromParams","getInitialState","paramsForState","stateFromParams","hydratedState","UNSTABLE_routeNamesChangeBehavior","previousRouteKeyListRef","useEffect","previousRouteKeyList","unhandledState","setUnhandledState","useState","nextState","shouldClearUnhandledState","getStateForRouteNamesChange","routeKeyChanges","filter","didConsumeNestedParams","action","reset","payload","merge","pop","updatedState","getStateForAction","setConsumedParams","setConsumed","shouldUpdate","lastNotifiedStateRef","stateRef","onEmitEvent","emitter","e","target","find","index","hasPerScreenListeners","some","listeners","navigation","descriptors","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","onUnhandledActionParent","onUnhandledAction","id","focusedListeners","focus","getStateListeners","describe","NavigationContent","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","isRecordEqual","NavigationBuilderContext","NavigationHelpersContext","NavigationMetaContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","UnhandledActionContext","useChildListeners","useComponent","useCurrentRender","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","groupKey","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","screen","initial","path","useNavigationBuilder","createRouter","navigatorKey","route","useContext","consumedParams","isNestedParamsConsumed","isConsumed","screenListeners","UNSTABLE_router","rest","routeConfigs","router","initialRouteName","every","original","overrides","routeNames","map","length","screens","routeKeyList","routeParamList","routeGetIdList","join","initialParams","Object","assign","getId","isStateValid","useCallback","isStateInitialized","stale","doesStateHaveOnlyInvalidRoutes","r","includes","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanupRef","useRef","lastStateRef","current","stateBeforeInitialization","initializedState","isFirstStateInitialization","paramsUsedForInitialization","useMemo","getRehydratedState","initialRouteParamList","curr","initialParamsFromParams","getInitialState","paramsForState","stateFromParams","hydratedState","UNSTABLE_routeNamesChangeBehavior","previousRouteKeyListRef","useInsertionEffect","previousRouteKeyList","unhandledState","setUnhandledState","useState","nextState","shouldClearUnhandledState","getStateForRouteNamesChange","routeKeyChanges","filter","didConsumeNestedParams","action","reset","payload","merge","pop","updatedState","getStateForAction","setConsumedParams","setConsumed","useEffect","shouldUpdate","lastNotifiedStateRef","onEmitEvent","emitter","e","target","find","index","hasPerScreenListeners","some","listeners","navigation","descriptors","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","onUnhandledActionParent","onUnhandledAction","id","focusedListeners","focus","getStateListeners","describe","NavigationContent","element","Provider","value"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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","ignoreList":[]}
@@ -71,7 +71,7 @@ export function useNavigationCache({
71
71
  }),
72
72
  // eslint-disable-next-line react-hooks/exhaustive-deps
73
73
  [base, getState, navigation, setOptions, emitter]);
74
- cache.current = state.routes.reduce((acc, route) => {
74
+ const navigations = state.routes.reduce((acc, route) => {
75
75
  const previous = cache.current[route.key];
76
76
  if (previous) {
77
77
  // If a cached navigation object already exists, reuse it
@@ -148,9 +148,12 @@ export function useNavigationCache({
148
148
  }
149
149
  return acc;
150
150
  }, {});
151
+ React.useInsertionEffect(() => {
152
+ cache.current = navigations;
153
+ });
151
154
  return {
152
155
  base,
153
- navigations: cache.current
156
+ navigations
154
157
  };
155
158
  }
156
159
  //# sourceMappingURL=useNavigationCache.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["CommonActions","React","NavigationBuilderContext","useNavigationCache","state","getState","navigation","setOptions","router","emitter","stackRef","useContext","base","useMemo","emit","rest","actions","actionCreators","dispatch","Error","helpers","Object","keys","reduce","acc","name","addListener","removeListener","getParent","id","undefined","getId","isFocused","cache","current","routes","route","previous","key","thunk","action","source","withStack","callback","isStackSet","process","env","NODE_ENV","stack","args","create","options","o","index","navigations"],"sourceRoot":"../../src","sources":["useNavigationCache.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CommonActions","React","NavigationBuilderContext","useNavigationCache","state","getState","navigation","setOptions","router","emitter","stackRef","useContext","base","useMemo","emit","rest","actions","actionCreators","dispatch","Error","helpers","Object","keys","reduce","acc","name","addListener","removeListener","getParent","id","undefined","getId","isFocused","cache","current","navigations","routes","route","previous","key","thunk","action","source","withStack","callback","isStackSet","process","env","NODE_ENV","stack","args","create","options","o","index","useInsertionEffect"],"sourceRoot":"../../src","sources":["useNavigationCache.tsx"],"mappings":"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","ignoreList":[]}
@@ -16,11 +16,29 @@ export function useNavigationHelpers({
16
16
  onAction,
17
17
  onUnhandledAction,
18
18
  getState,
19
+ state,
19
20
  emitter,
20
- router,
21
- stateRef
21
+ router
22
22
  }) {
23
23
  const parentNavigationHelpers = React.useContext(NavigationContext);
24
+
25
+ // In some cases (e.g. route names change), internal state might have changed
26
+ // But it hasn't been committed yet, so hasn't propagated to any listeners
27
+ // During this time, we need to return the internal state in `getState`
28
+ // Otherwise it can return an inconsistent state during render in children
29
+ // This may affect hooks like `useNavigationState` that need to read the state during render
30
+ // To avoid this, we use a ref for render phase, and immediately clear it on commit
31
+ // The ref won't be cleared if the render is discarded, e.g. when interrupted
32
+ // So we also track the stored state the render was based on
33
+ // Then ignore the ref once the stored state changes due to another dispatch
34
+ const stateRef = React.useRef(null);
35
+ stateRef.current = {
36
+ state,
37
+ base: getState()
38
+ };
39
+ React.useInsertionEffect(() => {
40
+ stateRef.current = null;
41
+ });
24
42
  return React.useMemo(() => {
25
43
  const dispatch = op => {
26
44
  const action = typeof op === 'function' ? op(getState()) : op;
@@ -64,15 +82,15 @@ export function useNavigationHelpers({
64
82
  return parentNavigationHelpers;
65
83
  },
66
84
  getState: () => {
85
+ const current = getState();
86
+ const pending = stateRef.current;
87
+
67
88
  // FIXME: Workaround for when the state is read during render
68
- // By this time, we haven't committed the new state yet
69
- // Without this `useSyncExternalStore` will keep reading the old state
70
- // This may result in `useNavigationState` or `useIsFocused` returning wrong values
71
- // Apart from `useSyncExternalStore`, `getState` should never be called during render
72
- if (stateRef.current != null) {
73
- return stateRef.current;
89
+ // Apart from subscriptions, `getState` should never be called during render
90
+ if (pending != null && pending.base === current) {
91
+ return pending.state;
74
92
  }
75
- return getState();
93
+ return current;
76
94
  }
77
95
  };
78
96
  return navigationHelpers;
@@ -1 +1 @@
1
- {"version":3,"names":["CommonActions","React","NavigationContext","PrivateValueStore","useNavigationHelpers","id","navigatorId","onAction","onUnhandledAction","getState","emitter","router","stateRef","parentNavigationHelpers","useContext","useMemo","dispatch","op","action","handled","actions","actionCreators","helpers","Object","keys","reduce","acc","name","args","navigationHelpers","emit","isFocused","canGoBack","state","getStateForAction","goBack","routeNames","routeParamList","routeGetIdList","getId","getParent","undefined","current"],"sourceRoot":"../../src","sources":["useNavigationHelpers.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CommonActions","React","NavigationContext","PrivateValueStore","useNavigationHelpers","id","navigatorId","onAction","onUnhandledAction","getState","state","emitter","router","parentNavigationHelpers","useContext","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","getId","getParent","undefined","pending"],"sourceRoot":"../../src","sources":["useNavigationHelpers.tsx"],"mappings":"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","ignoreList":[]}