@react-navigation/core 7.8.4 → 7.8.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 (150) hide show
  1. package/package.json +4 -3
  2. package/lib/commonjs/BaseNavigationContainer.js +0 -368
  3. package/lib/commonjs/BaseNavigationContainer.js.map +0 -1
  4. package/lib/commonjs/CurrentRenderContext.js +0 -15
  5. package/lib/commonjs/CurrentRenderContext.js.map +0 -1
  6. package/lib/commonjs/DeprecatedNavigationInChildContext.js +0 -14
  7. package/lib/commonjs/DeprecatedNavigationInChildContext.js.map +0 -1
  8. package/lib/commonjs/EnsureSingleNavigator.js +0 -43
  9. package/lib/commonjs/EnsureSingleNavigator.js.map +0 -1
  10. package/lib/commonjs/Group.js +0 -14
  11. package/lib/commonjs/Group.js.map +0 -1
  12. package/lib/commonjs/NavigationBuilderContext.js +0 -23
  13. package/lib/commonjs/NavigationBuilderContext.js.map +0 -1
  14. package/lib/commonjs/NavigationContainerRefContext.js +0 -14
  15. package/lib/commonjs/NavigationContainerRefContext.js.map +0 -1
  16. package/lib/commonjs/NavigationContext.js +0 -14
  17. package/lib/commonjs/NavigationContext.js.map +0 -1
  18. package/lib/commonjs/NavigationFocusedRouteStateContext.js +0 -14
  19. package/lib/commonjs/NavigationFocusedRouteStateContext.js.map +0 -1
  20. package/lib/commonjs/NavigationHelpersContext.js +0 -15
  21. package/lib/commonjs/NavigationHelpersContext.js.map +0 -1
  22. package/lib/commonjs/NavigationIndependentTree.js +0 -35
  23. package/lib/commonjs/NavigationIndependentTree.js.map +0 -1
  24. package/lib/commonjs/NavigationIndependentTreeContext.js +0 -14
  25. package/lib/commonjs/NavigationIndependentTreeContext.js.map +0 -1
  26. package/lib/commonjs/NavigationRouteContext.js +0 -14
  27. package/lib/commonjs/NavigationRouteContext.js.map +0 -1
  28. package/lib/commonjs/NavigationStateContext.js +0 -29
  29. package/lib/commonjs/NavigationStateContext.js.map +0 -1
  30. package/lib/commonjs/PreventRemoveContext.js +0 -16
  31. package/lib/commonjs/PreventRemoveContext.js.map +0 -1
  32. package/lib/commonjs/PreventRemoveProvider.js +0 -91
  33. package/lib/commonjs/PreventRemoveProvider.js.map +0 -1
  34. package/lib/commonjs/SceneView.js +0 -151
  35. package/lib/commonjs/SceneView.js.map +0 -1
  36. package/lib/commonjs/Screen.js +0 -14
  37. package/lib/commonjs/Screen.js.map +0 -1
  38. package/lib/commonjs/StaticContainer.js +0 -31
  39. package/lib/commonjs/StaticContainer.js.map +0 -1
  40. package/lib/commonjs/StaticNavigation.js +0 -258
  41. package/lib/commonjs/StaticNavigation.js.map +0 -1
  42. package/lib/commonjs/UnhandledActionContext.js +0 -11
  43. package/lib/commonjs/UnhandledActionContext.js.map +0 -1
  44. package/lib/commonjs/arrayStartsWith.js +0 -16
  45. package/lib/commonjs/arrayStartsWith.js.map +0 -1
  46. package/lib/commonjs/checkDuplicateRouteNames.js +0 -25
  47. package/lib/commonjs/checkDuplicateRouteNames.js.map +0 -1
  48. package/lib/commonjs/checkSerializable.js +0 -50
  49. package/lib/commonjs/checkSerializable.js.map +0 -1
  50. package/lib/commonjs/createNavigationContainerRef.js +0 -69
  51. package/lib/commonjs/createNavigationContainerRef.js.map +0 -1
  52. package/lib/commonjs/createNavigatorFactory.js +0 -34
  53. package/lib/commonjs/createNavigatorFactory.js.map +0 -1
  54. package/lib/commonjs/deepFreeze.js +0 -40
  55. package/lib/commonjs/deepFreeze.js.map +0 -1
  56. package/lib/commonjs/findFocusedRoute.js +0 -15
  57. package/lib/commonjs/findFocusedRoute.js.map +0 -1
  58. package/lib/commonjs/getActionFromState.js +0 -111
  59. package/lib/commonjs/getActionFromState.js.map +0 -1
  60. package/lib/commonjs/getFocusedRouteNameFromRoute.js +0 -22
  61. package/lib/commonjs/getFocusedRouteNameFromRoute.js.map +0 -1
  62. package/lib/commonjs/getPathFromState.js +0 -241
  63. package/lib/commonjs/getPathFromState.js.map +0 -1
  64. package/lib/commonjs/getPatternParts.js +0 -105
  65. package/lib/commonjs/getPatternParts.js.map +0 -1
  66. package/lib/commonjs/getStateFromPath.js +0 -521
  67. package/lib/commonjs/getStateFromPath.js.map +0 -1
  68. package/lib/commonjs/index.js +0 -295
  69. package/lib/commonjs/index.js.map +0 -1
  70. package/lib/commonjs/isArrayEqual.js +0 -20
  71. package/lib/commonjs/isArrayEqual.js.map +0 -1
  72. package/lib/commonjs/isRecordEqual.js +0 -21
  73. package/lib/commonjs/isRecordEqual.js.map +0 -1
  74. package/lib/commonjs/package.json +0 -1
  75. package/lib/commonjs/theming/ThemeContext.js +0 -12
  76. package/lib/commonjs/theming/ThemeContext.js.map +0 -1
  77. package/lib/commonjs/theming/ThemeProvider.js +0 -21
  78. package/lib/commonjs/theming/ThemeProvider.js.map +0 -1
  79. package/lib/commonjs/theming/useTheme.js +0 -18
  80. package/lib/commonjs/theming/useTheme.js.map +0 -1
  81. package/lib/commonjs/types.js +0 -9
  82. package/lib/commonjs/types.js.map +0 -1
  83. package/lib/commonjs/useChildListeners.js +0 -36
  84. package/lib/commonjs/useChildListeners.js.map +0 -1
  85. package/lib/commonjs/useComponent.js +0 -40
  86. package/lib/commonjs/useComponent.js.map +0 -1
  87. package/lib/commonjs/useCurrentRender.js +0 -25
  88. package/lib/commonjs/useCurrentRender.js.map +0 -1
  89. package/lib/commonjs/useDescriptors.js +0 -192
  90. package/lib/commonjs/useDescriptors.js.map +0 -1
  91. package/lib/commonjs/useEventEmitter.js +0 -105
  92. package/lib/commonjs/useEventEmitter.js.map +0 -1
  93. package/lib/commonjs/useFocusEffect.js +0 -80
  94. package/lib/commonjs/useFocusEffect.js.map +0 -1
  95. package/lib/commonjs/useFocusEvents.js +0 -70
  96. package/lib/commonjs/useFocusEvents.js.map +0 -1
  97. package/lib/commonjs/useFocusedListenersChildrenAdapter.js +0 -48
  98. package/lib/commonjs/useFocusedListenersChildrenAdapter.js.map +0 -1
  99. package/lib/commonjs/useIsFocused.js +0 -28
  100. package/lib/commonjs/useIsFocused.js.map +0 -1
  101. package/lib/commonjs/useIsomorphicLayoutEffect.js +0 -12
  102. package/lib/commonjs/useIsomorphicLayoutEffect.js.map +0 -1
  103. package/lib/commonjs/useIsomorphicLayoutEffect.native.js +0 -9
  104. package/lib/commonjs/useIsomorphicLayoutEffect.native.js.map +0 -1
  105. package/lib/commonjs/useKeyedChildListeners.js +0 -33
  106. package/lib/commonjs/useKeyedChildListeners.js.map +0 -1
  107. package/lib/commonjs/useLazyValue.js +0 -17
  108. package/lib/commonjs/useLazyValue.js.map +0 -1
  109. package/lib/commonjs/useNavigation.js +0 -27
  110. package/lib/commonjs/useNavigation.js.map +0 -1
  111. package/lib/commonjs/useNavigationBuilder.js +0 -495
  112. package/lib/commonjs/useNavigationBuilder.js.map +0 -1
  113. package/lib/commonjs/useNavigationCache.js +0 -162
  114. package/lib/commonjs/useNavigationCache.js.map +0 -1
  115. package/lib/commonjs/useNavigationContainerRef.js +0 -18
  116. package/lib/commonjs/useNavigationContainerRef.js.map +0 -1
  117. package/lib/commonjs/useNavigationHelpers.js +0 -88
  118. package/lib/commonjs/useNavigationHelpers.js.map +0 -1
  119. package/lib/commonjs/useNavigationIndependentTree.js +0 -14
  120. package/lib/commonjs/useNavigationIndependentTree.js.map +0 -1
  121. package/lib/commonjs/useNavigationState.js +0 -26
  122. package/lib/commonjs/useNavigationState.js.map +0 -1
  123. package/lib/commonjs/useOnAction.js +0 -106
  124. package/lib/commonjs/useOnAction.js.map +0 -1
  125. package/lib/commonjs/useOnGetState.js +0 -48
  126. package/lib/commonjs/useOnGetState.js.map +0 -1
  127. package/lib/commonjs/useOnPreventRemove.js +0 -72
  128. package/lib/commonjs/useOnPreventRemove.js.map +0 -1
  129. package/lib/commonjs/useOnRouteFocus.js +0 -36
  130. package/lib/commonjs/useOnRouteFocus.js.map +0 -1
  131. package/lib/commonjs/useOptionsGetters.js +0 -78
  132. package/lib/commonjs/useOptionsGetters.js.map +0 -1
  133. package/lib/commonjs/usePreventRemove.js +0 -48
  134. package/lib/commonjs/usePreventRemove.js.map +0 -1
  135. package/lib/commonjs/usePreventRemoveContext.js +0 -18
  136. package/lib/commonjs/usePreventRemoveContext.js.map +0 -1
  137. package/lib/commonjs/useRegisterNavigator.js +0 -32
  138. package/lib/commonjs/useRegisterNavigator.js.map +0 -1
  139. package/lib/commonjs/useRoute.js +0 -23
  140. package/lib/commonjs/useRoute.js.map +0 -1
  141. package/lib/commonjs/useRouteCache.js +0 -69
  142. package/lib/commonjs/useRouteCache.js.map +0 -1
  143. package/lib/commonjs/useScheduleUpdate.js +0 -30
  144. package/lib/commonjs/useScheduleUpdate.js.map +0 -1
  145. package/lib/commonjs/useStateForPath.js +0 -21
  146. package/lib/commonjs/useStateForPath.js.map +0 -1
  147. package/lib/commonjs/useSyncState.js +0 -87
  148. package/lib/commonjs/useSyncState.js.map +0 -1
  149. package/lib/commonjs/validatePathConfig.js +0 -56
  150. package/lib/commonjs/validatePathConfig.js.map +0 -1
@@ -1,162 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useNavigationCache = useNavigationCache;
7
- var _routers = require("@react-navigation/routers");
8
- var React = _interopRequireWildcard(require("react"));
9
- var _NavigationBuilderContext = require("./NavigationBuilderContext.js");
10
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
11
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
- /**
13
- * Hook to cache navigation objects for each screen in the navigator.
14
- * It's important to cache them to make sure navigation objects don't change between renders.
15
- * This lets us apply optimizations like `React.memo` to minimize re-rendering screens.
16
- */
17
- function useNavigationCache({
18
- state,
19
- getState,
20
- navigation,
21
- setOptions,
22
- router,
23
- emitter
24
- }) {
25
- const {
26
- stackRef
27
- } = React.useContext(_NavigationBuilderContext.NavigationBuilderContext);
28
- const base = React.useMemo(() => {
29
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
30
- const {
31
- emit,
32
- ...rest
33
- } = navigation;
34
- const actions = {
35
- ...router.actionCreators,
36
- ..._routers.CommonActions
37
- };
38
- const dispatch = () => {
39
- throw new Error('Actions cannot be dispatched from a placeholder screen.');
40
- };
41
- const helpers = Object.keys(actions).reduce((acc, name) => {
42
- acc[name] = dispatch;
43
- return acc;
44
- }, {});
45
- return {
46
- ...rest,
47
- ...helpers,
48
- addListener: () => {
49
- // Event listeners are not supported for placeholder screens
50
-
51
- return () => {
52
- // Empty function
53
- };
54
- },
55
- removeListener: () => {
56
- // Event listeners are not supported for placeholder screens
57
- },
58
- dispatch,
59
- getParent: id => {
60
- if (id !== undefined && id === rest.getId()) {
61
- return base;
62
- }
63
- return rest.getParent(id);
64
- },
65
- setOptions: () => {
66
- throw new Error('Options cannot be set from a placeholder screen.');
67
- },
68
- isFocused: () => false
69
- };
70
- }, [navigation, router.actionCreators]);
71
-
72
- // Cache object which holds navigation objects for each screen
73
- // We use `React.useMemo` instead of `React.useRef` coz we want to invalidate it when deps change
74
- // In reality, these deps will rarely change, if ever
75
- const cache = React.useMemo(() => ({
76
- current: {}
77
- }),
78
- // eslint-disable-next-line react-hooks/exhaustive-deps
79
- [base, getState, navigation, setOptions, emitter]);
80
- cache.current = state.routes.reduce((acc, route) => {
81
- const previous = cache.current[route.key];
82
- if (previous) {
83
- // If a cached navigation object already exists, reuse it
84
- acc[route.key] = previous;
85
- } else {
86
- const dispatch = thunk => {
87
- const action = typeof thunk === 'function' ? thunk(getState()) : thunk;
88
- if (action != null) {
89
- navigation.dispatch({
90
- source: route.key,
91
- ...action
92
- });
93
- }
94
- };
95
- const withStack = callback => {
96
- let isStackSet = false;
97
- try {
98
- if (process.env.NODE_ENV !== 'production' && stackRef && !stackRef.current) {
99
- // Capture the stack trace for devtools
100
- stackRef.current = new Error().stack;
101
- isStackSet = true;
102
- }
103
- callback();
104
- } finally {
105
- if (isStackSet && stackRef) {
106
- stackRef.current = undefined;
107
- }
108
- }
109
- };
110
- const actions = {
111
- ...router.actionCreators,
112
- ..._routers.CommonActions
113
- };
114
- const helpers = Object.keys(actions).reduce((acc, name) => {
115
- acc[name] = (...args) => withStack(() =>
116
- // @ts-expect-error: name is a valid key, but TypeScript is dumb
117
- dispatch(actions[name](...args)));
118
- return acc;
119
- }, {});
120
- acc[route.key] = {
121
- ...base,
122
- ...helpers,
123
- // FIXME: too much work to fix the types for now
124
- ...emitter.create(route.key),
125
- dispatch: thunk => withStack(() => dispatch(thunk)),
126
- getParent: id => {
127
- if (id !== undefined && id === base.getId()) {
128
- // If the passed id is the same as the current navigation id,
129
- // we return the cached navigation object for the relevant route
130
- return acc[route.key];
131
- }
132
- return base.getParent(id);
133
- },
134
- setOptions: options => {
135
- setOptions(o => ({
136
- ...o,
137
- [route.key]: {
138
- ...o[route.key],
139
- ...options
140
- }
141
- }));
142
- },
143
- isFocused: () => {
144
- const state = base.getState();
145
- if (state.routes[state.index].key !== route.key) {
146
- return false;
147
- }
148
-
149
- // If the current screen is focused, we also need to check if parent navigator is focused
150
- // This makes sure that we return the focus state in the whole tree, not just this navigator
151
- return navigation ? navigation.isFocused() : true;
152
- }
153
- };
154
- }
155
- return acc;
156
- }, {});
157
- return {
158
- base,
159
- navigations: cache.current
160
- };
161
- }
162
- //# sourceMappingURL=useNavigationCache.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_routers","require","React","_interopRequireWildcard","_NavigationBuilderContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useNavigationCache","state","getState","navigation","setOptions","router","emitter","stackRef","useContext","NavigationBuilderContext","base","useMemo","emit","rest","actions","actionCreators","CommonActions","dispatch","Error","helpers","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,18 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useNavigationContainerRef = useNavigationContainerRef;
7
- var React = _interopRequireWildcard(require("react"));
8
- var _createNavigationContainerRef = require("./createNavigationContainerRef.js");
9
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
10
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
- function useNavigationContainerRef() {
12
- const navigation = React.useRef(null);
13
- if (navigation.current == null) {
14
- navigation.current = (0, _createNavigationContainerRef.createNavigationContainerRef)();
15
- }
16
- return navigation.current;
17
- }
18
- //# sourceMappingURL=useNavigationContainerRef.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_createNavigationContainerRef","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useNavigationContainerRef","navigation","useRef","current","createNavigationContainerRef"],"sourceRoot":"../../src","sources":["useNavigationContainerRef.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,6BAAA,GAAAD,OAAA;AAA8E,SAAAE,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAGvE,SAASW,yBAAyBA,CAAA,EAES;EAChD,MAAMC,UAAU,GACdzB,KAAK,CAAC0B,MAAM,CAAsD,IAAI,CAAC;EAEzE,IAAID,UAAU,CAACE,OAAO,IAAI,IAAI,EAAE;IAC9BF,UAAU,CAACE,OAAO,GAAG,IAAAC,0DAA4B,EAAY,CAAC;EAChE;EAEA,OAAOH,UAAU,CAACE,OAAO;AAC3B","ignoreList":[]}
@@ -1,88 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useNavigationHelpers = useNavigationHelpers;
7
- var _routers = require("@react-navigation/routers");
8
- var React = _interopRequireWildcard(require("react"));
9
- var _NavigationContext = require("./NavigationContext.js");
10
- var _types = require("./types.js");
11
- var _UnhandledActionContext = require("./UnhandledActionContext.js");
12
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
- // This is to make TypeScript compiler happy
15
- // eslint-disable-next-line @typescript-eslint/no-unused-expressions
16
- _types.PrivateValueStore;
17
- /**
18
- * Navigation object with helper methods to be used by a navigator.
19
- * This object includes methods for common actions as well as methods the parent screen's navigation object.
20
- */
21
- function useNavigationHelpers({
22
- id: navigatorId,
23
- onAction,
24
- getState,
25
- emitter,
26
- router,
27
- stateRef
28
- }) {
29
- const onUnhandledAction = React.useContext(_UnhandledActionContext.UnhandledActionContext);
30
- const parentNavigationHelpers = React.useContext(_NavigationContext.NavigationContext);
31
- return React.useMemo(() => {
32
- const dispatch = op => {
33
- const action = typeof op === 'function' ? op(getState()) : op;
34
- const handled = onAction(action);
35
- if (!handled) {
36
- onUnhandledAction?.(action);
37
- }
38
- };
39
- const actions = {
40
- ...router.actionCreators,
41
- ..._routers.CommonActions
42
- };
43
- const helpers = Object.keys(actions).reduce((acc, name) => {
44
- // @ts-expect-error: name is a valid key, but TypeScript is dumb
45
- acc[name] = (...args) => dispatch(actions[name](...args));
46
- return acc;
47
- }, {});
48
- const navigationHelpers = {
49
- ...parentNavigationHelpers,
50
- ...helpers,
51
- dispatch,
52
- emit: emitter.emit,
53
- isFocused: parentNavigationHelpers ? parentNavigationHelpers.isFocused : () => true,
54
- canGoBack: () => {
55
- const state = getState();
56
- return router.getStateForAction(state, _routers.CommonActions.goBack(), {
57
- routeNames: state.routeNames,
58
- routeParamList: {},
59
- routeGetIdList: {}
60
- }) !== null || parentNavigationHelpers?.canGoBack() || false;
61
- },
62
- getId: () => navigatorId,
63
- getParent: id => {
64
- if (id !== undefined) {
65
- let current = navigationHelpers;
66
- while (current && id !== current.getId()) {
67
- current = current.getParent();
68
- }
69
- return current;
70
- }
71
- return parentNavigationHelpers;
72
- },
73
- getState: () => {
74
- // FIXME: Workaround for when the state is read during render
75
- // By this time, we haven't committed the new state yet
76
- // Without this `useSyncExternalStore` will keep reading the old state
77
- // This may result in `useNavigationState` or `useIsFocused` returning wrong values
78
- // Apart from `useSyncExternalStore`, `getState` should never be called during render
79
- if (stateRef.current != null) {
80
- return stateRef.current;
81
- }
82
- return getState();
83
- }
84
- };
85
- return navigationHelpers;
86
- }, [router, parentNavigationHelpers, emitter.emit, getState, onAction, onUnhandledAction, navigatorId, stateRef]);
87
- }
88
- //# sourceMappingURL=useNavigationHelpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_routers","require","React","_interopRequireWildcard","_NavigationContext","_types","_UnhandledActionContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","PrivateValueStore","useNavigationHelpers","id","navigatorId","onAction","getState","emitter","router","stateRef","onUnhandledAction","useContext","UnhandledActionContext","parentNavigationHelpers","NavigationContext","useMemo","dispatch","op","action","handled","actions","actionCreators","CommonActions","helpers","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,14 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useNavigationIndependentTree = useNavigationIndependentTree;
7
- var React = _interopRequireWildcard(require("react"));
8
- var _NavigationIndependentTreeContext = require("./NavigationIndependentTreeContext.js");
9
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
10
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
- function useNavigationIndependentTree() {
12
- return React.useContext(_NavigationIndependentTreeContext.NavigationIndependentTreeContext);
13
- }
14
- //# sourceMappingURL=useNavigationIndependentTree.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_NavigationIndependentTreeContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useNavigationIndependentTree","useContext","NavigationIndependentTreeContext"],"sourceRoot":"../../src","sources":["useNavigationIndependentTree.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,iCAAA,GAAAD,OAAA;AAAsF,SAAAE,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAE/E,SAASW,4BAA4BA,CAAA,EAAG;EAC7C,OAAOxB,KAAK,CAACyB,UAAU,CAACC,kEAAgC,CAAC;AAC3D","ignoreList":[]}
@@ -1,26 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useNavigationState = useNavigationState;
7
- var React = _interopRequireWildcard(require("react"));
8
- var _withSelector = require("use-sync-external-store/with-selector");
9
- var _useNavigation = require("./useNavigation.js");
10
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
11
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
- /**
13
- * Hook to get a value from the current navigation state using a selector.
14
- *
15
- * @param selector Selector function to get a value from the state.
16
- */
17
- function useNavigationState(selector) {
18
- const navigation = (0, _useNavigation.useNavigation)();
19
- const subscribe = React.useCallback(callback => {
20
- const unsubscribe = navigation.addListener('state', callback);
21
- return unsubscribe;
22
- }, [navigation]);
23
- const value = (0, _withSelector.useSyncExternalStoreWithSelector)(subscribe, navigation.getState, navigation.getState, selector);
24
- return value;
25
- }
26
- //# sourceMappingURL=useNavigationState.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_withSelector","_useNavigation","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useNavigationState","selector","navigation","useNavigation","subscribe","useCallback","callback","unsubscribe","addListener","value","useSyncExternalStoreWithSelector","getState"],"sourceRoot":"../../src","sources":["useNavigationState.tsx"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAGA,IAAAE,cAAA,GAAAF,OAAA;AAAgD,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAL,wBAAAK,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAMhD;AACA;AACA;AACA;AACA;AACO,SAASW,kBAAkBA,CAChCC,QAAgC,EAC7B;EACH,MAAMC,UAAU,GAAG,IAAAC,4BAAa,EAA4B,CAAC;EAE7D,MAAMC,SAAS,GAAG7B,KAAK,CAAC8B,WAAW,CAChCC,QAAoB,IAAK;IACxB,MAAMC,WAAW,GAAGL,UAAU,CAACM,WAAW,CAAC,OAAO,EAAEF,QAAQ,CAAC;IAE7D,OAAOC,WAAW;EACpB,CAAC,EACD,CAACL,UAAU,CACb,CAAC;EAED,MAAMO,KAAK,GAAG,IAAAC,8CAAgC,EAC5CN,SAAS,EACTF,UAAU,CAACS,QAAQ,EACnBT,UAAU,CAACS,QAAQ,EACnBV,QACF,CAAC;EAED,OAAOQ,KAAK;AACd","ignoreList":[]}
@@ -1,106 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useOnAction = useOnAction;
7
- var React = _interopRequireWildcard(require("react"));
8
- var _DeprecatedNavigationInChildContext = require("./DeprecatedNavigationInChildContext.js");
9
- var _NavigationBuilderContext = require("./NavigationBuilderContext.js");
10
- var _useOnPreventRemove = require("./useOnPreventRemove.js");
11
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
- /**
14
- * Hook to handle actions for a navigator, including state updates and bubbling.
15
- *
16
- * Bubbling an action is achieved in 2 ways:
17
- * 1. To bubble action to parent, we expose the action handler in context and then access the parent context
18
- * 2. To bubble action to child, child adds event listeners subscribing to actions from parent
19
- *
20
- * When the action handler handles as action, it returns `true`, otherwise `false`.
21
- */
22
- function useOnAction({
23
- router,
24
- getState,
25
- setState,
26
- key,
27
- actionListeners,
28
- beforeRemoveListeners,
29
- routerConfigOptions,
30
- emitter
31
- }) {
32
- const {
33
- onAction: onActionParent,
34
- onRouteFocus: onRouteFocusParent,
35
- addListener: addListenerParent,
36
- onDispatchAction
37
- } = React.useContext(_NavigationBuilderContext.NavigationBuilderContext);
38
- const navigationInChildEnabled = React.useContext(_DeprecatedNavigationInChildContext.DeprecatedNavigationInChildContext);
39
- const routerConfigOptionsRef = React.useRef(routerConfigOptions);
40
- React.useEffect(() => {
41
- routerConfigOptionsRef.current = routerConfigOptions;
42
- });
43
- const onAction = React.useCallback((action, visitedNavigators = new Set()) => {
44
- const state = getState();
45
-
46
- // Since actions can bubble both up and down, they could come to the same navigator again
47
- // We keep track of navigators which have already tried to handle the action and return if it's already visited
48
- if (visitedNavigators.has(state.key)) {
49
- return false;
50
- }
51
- visitedNavigators.add(state.key);
52
- if (typeof action.target !== 'string' || action.target === state.key) {
53
- let result = router.getStateForAction(state, action, routerConfigOptionsRef.current);
54
-
55
- // If a target is specified and set to current navigator, the action shouldn't bubble
56
- // So instead of `null`, we use the state object for such cases to signal that action was handled
57
- result = result === null && action.target === state.key ? state : result;
58
- if (result !== null) {
59
- onDispatchAction(action, state === result);
60
- if (state !== result) {
61
- const isPrevented = (0, _useOnPreventRemove.shouldPreventRemove)(emitter, beforeRemoveListeners, state.routes, result.routes, action);
62
- if (isPrevented) {
63
- return true;
64
- }
65
- setState(result);
66
- }
67
- if (onRouteFocusParent !== undefined) {
68
- // Some actions such as `NAVIGATE` also want to bring the navigated route to focus in the whole tree
69
- // This means we need to focus all of the parent navigators of this navigator as well
70
- const shouldFocus = router.shouldActionChangeFocus(action);
71
- if (shouldFocus && key !== undefined) {
72
- onRouteFocusParent(key);
73
- }
74
- }
75
- return true;
76
- }
77
- }
78
- if (onActionParent !== undefined) {
79
- // Bubble action to the parent if the current navigator didn't handle it
80
- if (onActionParent(action, visitedNavigators)) {
81
- return true;
82
- }
83
- }
84
- if (typeof action.target === 'string' ||
85
- // For backward compatibility
86
- action.type === 'NAVIGATE_DEPRECATED' || navigationInChildEnabled) {
87
- // If the action wasn't handled by current navigator or a parent navigator, let children handle it
88
- // Handling this when target isn't specified is deprecated and will be removed in the future
89
- for (let i = actionListeners.length - 1; i >= 0; i--) {
90
- const listener = actionListeners[i];
91
- if (listener(action, visitedNavigators)) {
92
- return true;
93
- }
94
- }
95
- }
96
- return false;
97
- }, [actionListeners, beforeRemoveListeners, emitter, getState, navigationInChildEnabled, key, onActionParent, onDispatchAction, onRouteFocusParent, router, setState]);
98
- (0, _useOnPreventRemove.useOnPreventRemove)({
99
- getState,
100
- emitter,
101
- beforeRemoveListeners
102
- });
103
- React.useEffect(() => addListenerParent?.('action', onAction), [addListenerParent, onAction]);
104
- return onAction;
105
- }
106
- //# sourceMappingURL=useOnAction.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_DeprecatedNavigationInChildContext","_NavigationBuilderContext","_useOnPreventRemove","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useOnAction","router","getState","setState","key","actionListeners","beforeRemoveListeners","routerConfigOptions","emitter","onAction","onActionParent","onRouteFocus","onRouteFocusParent","addListener","addListenerParent","onDispatchAction","useContext","NavigationBuilderContext","navigationInChildEnabled","DeprecatedNavigationInChildContext","routerConfigOptionsRef","useRef","useEffect","current","useCallback","action","visitedNavigators","Set","state","add","target","result","getStateForAction","isPrevented","shouldPreventRemove","routes","undefined","shouldFocus","shouldActionChangeFocus","type","length","listener","useOnPreventRemove"],"sourceRoot":"../../src","sources":["useOnAction.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,48 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useOnGetState = useOnGetState;
7
- var React = _interopRequireWildcard(require("react"));
8
- var _isArrayEqual = require("./isArrayEqual.js");
9
- var _NavigationBuilderContext = require("./NavigationBuilderContext.js");
10
- var _NavigationRouteContext = require("./NavigationRouteContext.js");
11
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
- function useOnGetState({
14
- getState,
15
- getStateListeners
16
- }) {
17
- const {
18
- addKeyedListener
19
- } = React.useContext(_NavigationBuilderContext.NavigationBuilderContext);
20
- const route = React.useContext(_NavigationRouteContext.NavigationRouteContext);
21
- const key = route ? route.key : 'root';
22
- const getRehydratedState = React.useCallback(() => {
23
- const state = getState();
24
-
25
- // Avoid returning new route objects if we don't need to
26
- const routes = state.routes.map(route => {
27
- const childState = getStateListeners[route.key]?.();
28
- if (route.state === childState) {
29
- return route;
30
- }
31
- return {
32
- ...route,
33
- state: childState
34
- };
35
- });
36
- if ((0, _isArrayEqual.isArrayEqual)(state.routes, routes)) {
37
- return state;
38
- }
39
- return {
40
- ...state,
41
- routes
42
- };
43
- }, [getState, getStateListeners]);
44
- React.useEffect(() => {
45
- return addKeyedListener?.('getState', key, getRehydratedState);
46
- }, [addKeyedListener, getRehydratedState, key]);
47
- }
48
- //# sourceMappingURL=useOnGetState.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_isArrayEqual","_NavigationBuilderContext","_NavigationRouteContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useOnGetState","getState","getStateListeners","addKeyedListener","useContext","NavigationBuilderContext","route","NavigationRouteContext","key","getRehydratedState","useCallback","state","routes","map","childState","isArrayEqual","useEffect"],"sourceRoot":"../../src","sources":["useOnGetState.tsx"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,yBAAA,GAAAF,OAAA;AAIA,IAAAG,uBAAA,GAAAH,OAAA;AAAkE,SAAAI,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAO3D,SAASW,aAAaA,CAAC;EAAEC,QAAQ;EAAEC;AAA2B,CAAC,EAAE;EACtE,MAAM;IAAEC;EAAiB,CAAC,GAAG7B,KAAK,CAAC8B,UAAU,CAACC,kDAAwB,CAAC;EACvE,MAAMC,KAAK,GAAGhC,KAAK,CAAC8B,UAAU,CAACG,8CAAsB,CAAC;EACtD,MAAMC,GAAG,GAAGF,KAAK,GAAGA,KAAK,CAACE,GAAG,GAAG,MAAM;EAEtC,MAAMC,kBAAkB,GAAGnC,KAAK,CAACoC,WAAW,CAAC,MAAM;IACjD,MAAMC,KAAK,GAAGV,QAAQ,CAAC,CAAC;;IAExB;IACA,MAAMW,MAAM,GAAGD,KAAK,CAACC,MAAM,CAACC,GAAG,CAAEP,KAAK,IAAK;MACzC,MAAMQ,UAAU,GAAGZ,iBAAiB,CAACI,KAAK,CAACE,GAAG,CAAC,GAAG,CAAC;MAEnD,IAAIF,KAAK,CAACK,KAAK,KAAKG,UAAU,EAAE;QAC9B,OAAOR,KAAK;MACd;MAEA,OAAO;QAAE,GAAGA,KAAK;QAAEK,KAAK,EAAEG;MAAW,CAAC;IACxC,CAAC,CAAC;IAEF,IAAI,IAAAC,0BAAY,EAACJ,KAAK,CAACC,MAAM,EAAEA,MAAM,CAAC,EAAE;MACtC,OAAOD,KAAK;IACd;IAEA,OAAO;MAAE,GAAGA,KAAK;MAAEC;IAAO,CAAC;EAC7B,CAAC,EAAE,CAACX,QAAQ,EAAEC,iBAAiB,CAAC,CAAC;EAEjC5B,KAAK,CAAC0C,SAAS,CAAC,MAAM;IACpB,OAAOb,gBAAgB,GAAG,UAAU,EAAEK,GAAG,EAAEC,kBAAkB,CAAC;EAChE,CAAC,EAAE,CAACN,gBAAgB,EAAEM,kBAAkB,EAAED,GAAG,CAAC,CAAC;AACjD","ignoreList":[]}
@@ -1,72 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.shouldPreventRemove = void 0;
7
- exports.useOnPreventRemove = useOnPreventRemove;
8
- var React = _interopRequireWildcard(require("react"));
9
- var _NavigationBuilderContext = require("./NavigationBuilderContext.js");
10
- var _NavigationRouteContext = require("./NavigationRouteContext.js");
11
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
- const VISITED_ROUTE_KEYS = Symbol('VISITED_ROUTE_KEYS');
14
- const shouldPreventRemove = (emitter, beforeRemoveListeners, currentRoutes, nextRoutes, action) => {
15
- const nextRouteKeys = nextRoutes.map(route => route.key);
16
-
17
- // Call these in reverse order so last screens handle the event first
18
- const removedRoutes = currentRoutes.filter(route => !nextRouteKeys.includes(route.key)).reverse();
19
- const visitedRouteKeys =
20
- // @ts-expect-error: add this property to mark that we've already emitted this action
21
- action[VISITED_ROUTE_KEYS] ?? new Set();
22
- const beforeRemoveAction = {
23
- ...action,
24
- [VISITED_ROUTE_KEYS]: visitedRouteKeys
25
- };
26
- for (const route of removedRoutes) {
27
- if (visitedRouteKeys.has(route.key)) {
28
- // Skip if we've already emitted this action for this screen
29
- continue;
30
- }
31
-
32
- // First, we need to check if any child screens want to prevent it
33
- const isPrevented = beforeRemoveListeners[route.key]?.(beforeRemoveAction);
34
- if (isPrevented) {
35
- return true;
36
- }
37
- visitedRouteKeys.add(route.key);
38
- const event = emitter.emit({
39
- type: 'beforeRemove',
40
- target: route.key,
41
- data: {
42
- action: beforeRemoveAction
43
- },
44
- canPreventDefault: true
45
- });
46
- if (event.defaultPrevented) {
47
- return true;
48
- }
49
- }
50
- return false;
51
- };
52
- exports.shouldPreventRemove = shouldPreventRemove;
53
- function useOnPreventRemove({
54
- getState,
55
- emitter,
56
- beforeRemoveListeners
57
- }) {
58
- const {
59
- addKeyedListener
60
- } = React.useContext(_NavigationBuilderContext.NavigationBuilderContext);
61
- const route = React.useContext(_NavigationRouteContext.NavigationRouteContext);
62
- const routeKey = route?.key;
63
- React.useEffect(() => {
64
- if (routeKey) {
65
- return addKeyedListener?.('beforeRemove', routeKey, action => {
66
- const state = getState();
67
- return shouldPreventRemove(emitter, beforeRemoveListeners, state.routes, [], action);
68
- });
69
- }
70
- }, [addKeyedListener, beforeRemoveListeners, emitter, getState, routeKey]);
71
- }
72
- //# sourceMappingURL=useOnPreventRemove.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_NavigationBuilderContext","_NavigationRouteContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","VISITED_ROUTE_KEYS","Symbol","shouldPreventRemove","emitter","beforeRemoveListeners","currentRoutes","nextRoutes","action","nextRouteKeys","map","route","key","removedRoutes","filter","includes","reverse","visitedRouteKeys","Set","beforeRemoveAction","isPrevented","add","event","emit","type","target","data","canPreventDefault","defaultPrevented","exports","useOnPreventRemove","getState","addKeyedListener","useContext","NavigationBuilderContext","NavigationRouteContext","routeKey","useEffect","state","routes"],"sourceRoot":"../../src","sources":["useOnPreventRemove.tsx"],"mappings":"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","ignoreList":[]}