@react-navigation/core 7.0.0-alpha.4 → 7.0.0-alpha.6

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 (297) hide show
  1. package/lib/commonjs/BaseNavigationContainer.js +16 -29
  2. package/lib/commonjs/BaseNavigationContainer.js.map +1 -1
  3. package/lib/commonjs/CurrentRenderContext.js +3 -4
  4. package/lib/commonjs/CurrentRenderContext.js.map +1 -1
  5. package/lib/commonjs/DeprecatedNavigationInChildContext.js +3 -4
  6. package/lib/commonjs/DeprecatedNavigationInChildContext.js.map +1 -1
  7. package/lib/commonjs/EnsureSingleNavigator.js +3 -4
  8. package/lib/commonjs/EnsureSingleNavigator.js.map +1 -1
  9. package/lib/commonjs/Group.js.map +1 -1
  10. package/lib/commonjs/NavigationBuilderContext.js +3 -4
  11. package/lib/commonjs/NavigationBuilderContext.js.map +1 -1
  12. package/lib/commonjs/NavigationContainerRefContext.js +3 -4
  13. package/lib/commonjs/NavigationContainerRefContext.js.map +1 -1
  14. package/lib/commonjs/NavigationContext.js +3 -4
  15. package/lib/commonjs/NavigationContext.js.map +1 -1
  16. package/lib/commonjs/NavigationHelpersContext.js +3 -4
  17. package/lib/commonjs/NavigationHelpersContext.js.map +1 -1
  18. package/lib/commonjs/NavigationIndependentTree.js +2 -2
  19. package/lib/commonjs/NavigationIndependentTree.js.map +1 -1
  20. package/lib/commonjs/NavigationIndependentTreeContext.js +3 -4
  21. package/lib/commonjs/NavigationIndependentTreeContext.js.map +1 -1
  22. package/lib/commonjs/NavigationRouteContext.js +3 -4
  23. package/lib/commonjs/NavigationRouteContext.js.map +1 -1
  24. package/lib/commonjs/NavigationStateContext.js +3 -4
  25. package/lib/commonjs/NavigationStateContext.js.map +1 -1
  26. package/lib/commonjs/PreventRemoveContext.js +8 -4
  27. package/lib/commonjs/PreventRemoveContext.js.map +1 -1
  28. package/lib/commonjs/PreventRemoveProvider.js +8 -10
  29. package/lib/commonjs/PreventRemoveProvider.js.map +1 -1
  30. package/lib/commonjs/SceneView.js +2 -2
  31. package/lib/commonjs/SceneView.js.map +1 -1
  32. package/lib/commonjs/Screen.js.map +1 -1
  33. package/lib/commonjs/StaticContainer.js +3 -4
  34. package/lib/commonjs/StaticContainer.js.map +1 -1
  35. package/lib/commonjs/StaticNavigation.js +27 -3
  36. package/lib/commonjs/StaticNavigation.js.map +1 -1
  37. package/lib/commonjs/UnhandledActionContext.js +3 -4
  38. package/lib/commonjs/UnhandledActionContext.js.map +1 -1
  39. package/lib/commonjs/checkDuplicateRouteNames.js +1 -2
  40. package/lib/commonjs/checkDuplicateRouteNames.js.map +1 -1
  41. package/lib/commonjs/checkSerializable.js.map +1 -1
  42. package/lib/commonjs/createNavigationContainerRef.js +1 -2
  43. package/lib/commonjs/createNavigationContainerRef.js.map +1 -1
  44. package/lib/commonjs/createNavigatorFactory.js +0 -3
  45. package/lib/commonjs/createNavigatorFactory.js.map +1 -1
  46. package/lib/commonjs/findFocusedRoute.js +2 -4
  47. package/lib/commonjs/findFocusedRoute.js.map +1 -1
  48. package/lib/commonjs/getActionFromState.js +6 -8
  49. package/lib/commonjs/getActionFromState.js.map +1 -1
  50. package/lib/commonjs/getFocusedRouteNameFromRoute.js +1 -1
  51. package/lib/commonjs/getFocusedRouteNameFromRoute.js.map +1 -1
  52. package/lib/commonjs/getPathFromState.js +15 -19
  53. package/lib/commonjs/getPathFromState.js.map +1 -1
  54. package/lib/commonjs/getStateFromPath.js +11 -19
  55. package/lib/commonjs/getStateFromPath.js.map +1 -1
  56. package/lib/commonjs/index.js.map +1 -1
  57. package/lib/commonjs/isArrayEqual.js.map +1 -1
  58. package/lib/commonjs/isRecordEqual.js.map +1 -1
  59. package/lib/commonjs/types.js.map +1 -1
  60. package/lib/commonjs/useChildListeners.js +2 -2
  61. package/lib/commonjs/useChildListeners.js.map +1 -1
  62. package/lib/commonjs/useComponent.js +2 -2
  63. package/lib/commonjs/useComponent.js.map +1 -1
  64. package/lib/commonjs/useCurrentRender.js +2 -2
  65. package/lib/commonjs/useCurrentRender.js.map +1 -1
  66. package/lib/commonjs/useDescriptors.js +2 -2
  67. package/lib/commonjs/useDescriptors.js.map +1 -1
  68. package/lib/commonjs/useEventEmitter.js +5 -6
  69. package/lib/commonjs/useEventEmitter.js.map +1 -1
  70. package/lib/commonjs/useFocusEffect.js +4 -2
  71. package/lib/commonjs/useFocusEffect.js.map +1 -1
  72. package/lib/commonjs/useFocusEvents.js +4 -4
  73. package/lib/commonjs/useFocusEvents.js.map +1 -1
  74. package/lib/commonjs/useFocusedListenersChildrenAdapter.js +3 -3
  75. package/lib/commonjs/useFocusedListenersChildrenAdapter.js.map +1 -1
  76. package/lib/commonjs/useIsFocused.js +5 -4
  77. package/lib/commonjs/useIsFocused.js.map +1 -1
  78. package/lib/commonjs/useIsomorphicLayoutEffect.js +12 -0
  79. package/lib/commonjs/useIsomorphicLayoutEffect.js.map +1 -0
  80. package/lib/commonjs/useIsomorphicLayoutEffect.native.js +9 -0
  81. package/lib/commonjs/useIsomorphicLayoutEffect.native.js.map +1 -0
  82. package/lib/commonjs/useKeyedChildListeners.js +2 -2
  83. package/lib/commonjs/useKeyedChildListeners.js.map +1 -1
  84. package/lib/commonjs/useNavigation.js +2 -2
  85. package/lib/commonjs/useNavigation.js.map +1 -1
  86. package/lib/commonjs/useNavigationBuilder.js +68 -64
  87. package/lib/commonjs/useNavigationBuilder.js.map +1 -1
  88. package/lib/commonjs/useNavigationCache.js +2 -2
  89. package/lib/commonjs/useNavigationCache.js.map +1 -1
  90. package/lib/commonjs/useNavigationContainerRef.js +2 -2
  91. package/lib/commonjs/useNavigationContainerRef.js.map +1 -1
  92. package/lib/commonjs/useNavigationHelpers.js +4 -5
  93. package/lib/commonjs/useNavigationHelpers.js.map +1 -1
  94. package/lib/commonjs/useNavigationIndependentTree.js +2 -2
  95. package/lib/commonjs/useNavigationIndependentTree.js.map +1 -1
  96. package/lib/commonjs/useNavigationState.js +2 -2
  97. package/lib/commonjs/useNavigationState.js.map +1 -1
  98. package/lib/commonjs/useOnAction.js +3 -3
  99. package/lib/commonjs/useOnAction.js.map +1 -1
  100. package/lib/commonjs/useOnGetState.js +4 -5
  101. package/lib/commonjs/useOnGetState.js.map +1 -1
  102. package/lib/commonjs/useOnPreventRemove.js +5 -6
  103. package/lib/commonjs/useOnPreventRemove.js.map +1 -1
  104. package/lib/commonjs/useOnRouteFocus.js +2 -2
  105. package/lib/commonjs/useOnRouteFocus.js.map +1 -1
  106. package/lib/commonjs/useOptionsGetters.js +9 -10
  107. package/lib/commonjs/useOptionsGetters.js.map +1 -1
  108. package/lib/commonjs/usePreventRemove.js +3 -3
  109. package/lib/commonjs/usePreventRemove.js.map +1 -1
  110. package/lib/commonjs/usePreventRemoveContext.js +2 -2
  111. package/lib/commonjs/usePreventRemoveContext.js.map +1 -1
  112. package/lib/commonjs/useRegisterNavigator.js +2 -2
  113. package/lib/commonjs/useRegisterNavigator.js.map +1 -1
  114. package/lib/commonjs/useRoute.js +2 -2
  115. package/lib/commonjs/useRoute.js.map +1 -1
  116. package/lib/commonjs/useRouteCache.js +3 -4
  117. package/lib/commonjs/useRouteCache.js.map +1 -1
  118. package/lib/commonjs/useSyncState.js +27 -56
  119. package/lib/commonjs/useSyncState.js.map +1 -1
  120. package/lib/commonjs/validatePathConfig.js.map +1 -1
  121. package/lib/module/BaseNavigationContainer.js +13 -25
  122. package/lib/module/BaseNavigationContainer.js.map +1 -1
  123. package/lib/module/CurrentRenderContext.js.map +1 -1
  124. package/lib/module/DeprecatedNavigationInChildContext.js.map +1 -1
  125. package/lib/module/EnsureSingleNavigator.js.map +1 -1
  126. package/lib/module/Group.js.map +1 -1
  127. package/lib/module/NavigationBuilderContext.js.map +1 -1
  128. package/lib/module/NavigationContainerRefContext.js.map +1 -1
  129. package/lib/module/NavigationContext.js.map +1 -1
  130. package/lib/module/NavigationHelpersContext.js.map +1 -1
  131. package/lib/module/NavigationIndependentTree.js.map +1 -1
  132. package/lib/module/NavigationIndependentTreeContext.js.map +1 -1
  133. package/lib/module/NavigationRouteContext.js.map +1 -1
  134. package/lib/module/NavigationStateContext.js.map +1 -1
  135. package/lib/module/PreventRemoveContext.js.map +1 -1
  136. package/lib/module/PreventRemoveProvider.js +6 -8
  137. package/lib/module/PreventRemoveProvider.js.map +1 -1
  138. package/lib/module/SceneView.js.map +1 -1
  139. package/lib/module/Screen.js.map +1 -1
  140. package/lib/module/StaticContainer.js.map +1 -1
  141. package/lib/module/StaticNavigation.js +20 -1
  142. package/lib/module/StaticNavigation.js.map +1 -1
  143. package/lib/module/UnhandledActionContext.js.map +1 -1
  144. package/lib/module/checkDuplicateRouteNames.js +1 -2
  145. package/lib/module/checkDuplicateRouteNames.js.map +1 -1
  146. package/lib/module/checkSerializable.js.map +1 -1
  147. package/lib/module/createNavigationContainerRef.js.map +1 -1
  148. package/lib/module/createNavigatorFactory.js +0 -3
  149. package/lib/module/createNavigatorFactory.js.map +1 -1
  150. package/lib/module/findFocusedRoute.js +2 -4
  151. package/lib/module/findFocusedRoute.js.map +1 -1
  152. package/lib/module/getActionFromState.js +6 -8
  153. package/lib/module/getActionFromState.js.map +1 -1
  154. package/lib/module/getFocusedRouteNameFromRoute.js +1 -1
  155. package/lib/module/getFocusedRouteNameFromRoute.js.map +1 -1
  156. package/lib/module/getPathFromState.js +13 -17
  157. package/lib/module/getPathFromState.js.map +1 -1
  158. package/lib/module/getStateFromPath.js +9 -17
  159. package/lib/module/getStateFromPath.js.map +1 -1
  160. package/lib/module/index.js.map +1 -1
  161. package/lib/module/isArrayEqual.js.map +1 -1
  162. package/lib/module/isRecordEqual.js.map +1 -1
  163. package/lib/module/types.js.map +1 -1
  164. package/lib/module/useChildListeners.js.map +1 -1
  165. package/lib/module/useComponent.js.map +1 -1
  166. package/lib/module/useCurrentRender.js.map +1 -1
  167. package/lib/module/useDescriptors.js.map +1 -1
  168. package/lib/module/useEventEmitter.js +3 -4
  169. package/lib/module/useEventEmitter.js.map +1 -1
  170. package/lib/module/useFocusEffect.js +2 -0
  171. package/lib/module/useFocusEffect.js.map +1 -1
  172. package/lib/module/useFocusEvents.js +2 -2
  173. package/lib/module/useFocusEvents.js.map +1 -1
  174. package/lib/module/useFocusedListenersChildrenAdapter.js +1 -1
  175. package/lib/module/useFocusedListenersChildrenAdapter.js.map +1 -1
  176. package/lib/module/useIsFocused.js.map +1 -1
  177. package/lib/module/useIsomorphicLayoutEffect.js +7 -0
  178. package/lib/module/useIsomorphicLayoutEffect.js.map +1 -0
  179. package/lib/module/useIsomorphicLayoutEffect.native.js +3 -0
  180. package/lib/module/useIsomorphicLayoutEffect.native.js.map +1 -0
  181. package/lib/module/useKeyedChildListeners.js.map +1 -1
  182. package/lib/module/useNavigation.js.map +1 -1
  183. package/lib/module/useNavigationBuilder.js +65 -62
  184. package/lib/module/useNavigationBuilder.js.map +1 -1
  185. package/lib/module/useNavigationCache.js.map +1 -1
  186. package/lib/module/useNavigationContainerRef.js.map +1 -1
  187. package/lib/module/useNavigationHelpers.js +2 -3
  188. package/lib/module/useNavigationHelpers.js.map +1 -1
  189. package/lib/module/useNavigationIndependentTree.js.map +1 -1
  190. package/lib/module/useNavigationState.js.map +1 -1
  191. package/lib/module/useOnAction.js +1 -1
  192. package/lib/module/useOnAction.js.map +1 -1
  193. package/lib/module/useOnGetState.js +2 -3
  194. package/lib/module/useOnGetState.js.map +1 -1
  195. package/lib/module/useOnPreventRemove.js +3 -4
  196. package/lib/module/useOnPreventRemove.js.map +1 -1
  197. package/lib/module/useOnRouteFocus.js.map +1 -1
  198. package/lib/module/useOptionsGetters.js +7 -8
  199. package/lib/module/useOptionsGetters.js.map +1 -1
  200. package/lib/module/usePreventRemove.js +1 -1
  201. package/lib/module/usePreventRemove.js.map +1 -1
  202. package/lib/module/usePreventRemoveContext.js.map +1 -1
  203. package/lib/module/useRegisterNavigator.js.map +1 -1
  204. package/lib/module/useRoute.js.map +1 -1
  205. package/lib/module/useRouteCache.js.map +1 -1
  206. package/lib/module/useSyncState.js +25 -54
  207. package/lib/module/useSyncState.js.map +1 -1
  208. package/lib/module/validatePathConfig.js.map +1 -1
  209. package/lib/typescript/src/BaseNavigationContainer.d.ts +1 -1
  210. package/lib/typescript/src/BaseNavigationContainer.d.ts.map +1 -1
  211. package/lib/typescript/src/EnsureSingleNavigator.d.ts +1 -1
  212. package/lib/typescript/src/EnsureSingleNavigator.d.ts.map +1 -1
  213. package/lib/typescript/src/NavigationContext.d.ts +1 -17
  214. package/lib/typescript/src/NavigationContext.d.ts.map +1 -1
  215. package/lib/typescript/src/NavigationHelpersContext.d.ts +1 -1
  216. package/lib/typescript/src/NavigationHelpersContext.d.ts.map +1 -1
  217. package/lib/typescript/src/NavigationIndependentTree.d.ts +1 -1
  218. package/lib/typescript/src/NavigationIndependentTree.d.ts.map +1 -1
  219. package/lib/typescript/src/NavigationRouteContext.d.ts +1 -1
  220. package/lib/typescript/src/NavigationRouteContext.d.ts.map +1 -1
  221. package/lib/typescript/src/PreventRemoveProvider.d.ts +1 -1
  222. package/lib/typescript/src/PreventRemoveProvider.d.ts.map +1 -1
  223. package/lib/typescript/src/SceneView.d.ts +2 -1
  224. package/lib/typescript/src/SceneView.d.ts.map +1 -1
  225. package/lib/typescript/src/StaticNavigation.d.ts +1 -1
  226. package/lib/typescript/src/StaticNavigation.d.ts.map +1 -1
  227. package/lib/typescript/src/createNavigatorFactory.d.ts.map +1 -1
  228. package/lib/typescript/src/index.d.ts +1 -1
  229. package/lib/typescript/src/index.d.ts.map +1 -1
  230. package/lib/typescript/src/types.d.ts +25 -0
  231. package/lib/typescript/src/types.d.ts.map +1 -1
  232. package/lib/typescript/src/useComponent.d.ts +1 -1
  233. package/lib/typescript/src/useComponent.d.ts.map +1 -1
  234. package/lib/typescript/src/useDescriptors.d.ts +3 -2
  235. package/lib/typescript/src/useDescriptors.d.ts.map +1 -1
  236. package/lib/typescript/src/useFocusEffect.d.ts.map +1 -1
  237. package/lib/typescript/src/useFocusedListenersChildrenAdapter.d.ts +1 -1
  238. package/lib/typescript/src/useFocusedListenersChildrenAdapter.d.ts.map +1 -1
  239. package/lib/typescript/src/useIsomorphicLayoutEffect.d.ts +6 -0
  240. package/lib/typescript/src/useIsomorphicLayoutEffect.d.ts.map +1 -0
  241. package/lib/typescript/src/useIsomorphicLayoutEffect.native.d.ts +3 -0
  242. package/lib/typescript/src/useIsomorphicLayoutEffect.native.d.ts.map +1 -0
  243. package/lib/typescript/src/useNavigationBuilder.d.ts +38 -4
  244. package/lib/typescript/src/useNavigationBuilder.d.ts.map +1 -1
  245. package/lib/typescript/src/useNavigationCache.d.ts +1 -1
  246. package/lib/typescript/src/useNavigationCache.d.ts.map +1 -1
  247. package/lib/typescript/src/useNavigationHelpers.d.ts +35 -18
  248. package/lib/typescript/src/useNavigationHelpers.d.ts.map +1 -1
  249. package/lib/typescript/src/useOnAction.d.ts +1 -1
  250. package/lib/typescript/src/useOnAction.d.ts.map +1 -1
  251. package/lib/typescript/src/useOnGetState.d.ts +1 -1
  252. package/lib/typescript/src/useOnGetState.d.ts.map +1 -1
  253. package/lib/typescript/src/useOnPreventRemove.d.ts +1 -1
  254. package/lib/typescript/src/useOnPreventRemove.d.ts.map +1 -1
  255. package/lib/typescript/src/useRouteCache.d.ts +1 -1
  256. package/lib/typescript/src/useRouteCache.d.ts.map +1 -1
  257. package/lib/typescript/src/useSyncState.d.ts +1 -4
  258. package/lib/typescript/src/useSyncState.d.ts.map +1 -1
  259. package/lib/typescript/utils/usePrevious.d.ts +6 -0
  260. package/lib/typescript/utils/usePrevious.d.ts.map +1 -0
  261. package/package.json +13 -13
  262. package/src/BaseNavigationContainer.tsx +27 -36
  263. package/src/Group.tsx +1 -1
  264. package/src/PreventRemoveProvider.tsx +4 -1
  265. package/src/SceneView.tsx +1 -1
  266. package/src/Screen.tsx +1 -1
  267. package/src/StaticNavigation.tsx +7 -7
  268. package/src/checkDuplicateRouteNames.tsx +1 -1
  269. package/src/createNavigationContainerRef.tsx +1 -1
  270. package/src/createNavigatorFactory.tsx +2 -4
  271. package/src/getActionFromState.tsx +1 -1
  272. package/src/getPathFromState.tsx +6 -8
  273. package/src/getStateFromPath.tsx +6 -3
  274. package/src/index.tsx +2 -2
  275. package/src/types.tsx +59 -16
  276. package/src/useDescriptors.tsx +5 -5
  277. package/src/useFocusEffect.tsx +1 -0
  278. package/src/useFocusedListenersChildrenAdapter.tsx +2 -2
  279. package/src/useIsomorphicLayoutEffect.native.tsx +3 -0
  280. package/src/useIsomorphicLayoutEffect.tsx +7 -0
  281. package/src/useNavigation.tsx +1 -1
  282. package/src/useNavigationBuilder.tsx +99 -77
  283. package/src/useNavigationCache.tsx +7 -7
  284. package/src/useNavigationContainerRef.tsx +1 -1
  285. package/src/useNavigationHelpers.tsx +6 -7
  286. package/src/useOnAction.tsx +2 -2
  287. package/src/useOnGetState.tsx +1 -1
  288. package/src/useOnPreventRemove.tsx +1 -1
  289. package/src/useOptionsGetters.tsx +2 -2
  290. package/src/useSyncState.tsx +31 -59
  291. package/lib/commonjs/useScheduleUpdate.js +0 -37
  292. package/lib/commonjs/useScheduleUpdate.js.map +0 -1
  293. package/lib/module/useScheduleUpdate.js +0 -27
  294. package/lib/module/useScheduleUpdate.js.map +0 -1
  295. package/lib/typescript/src/useScheduleUpdate.d.ts +0 -14
  296. package/lib/typescript/src/useScheduleUpdate.d.ts.map +0 -1
  297. package/src/useScheduleUpdate.tsx +0 -32
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.useFocusEffect = useFocusEffect;
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  var _useNavigation = require("./useNavigation");
9
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
10
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
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 && Object.prototype.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
11
  /**
12
12
  * Hook to run an effect in a focused screen, similar to `React.useEffect`.
13
13
  * This can be used to perform side-effects such as fetching data or subscribing to events.
@@ -17,6 +17,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
17
17
  */
18
18
  function useFocusEffect(effect) {
19
19
  const navigation = (0, _useNavigation.useNavigation)();
20
+
21
+ // eslint-disable-next-line prefer-rest-params
20
22
  if (arguments[1] !== undefined) {
21
23
  const message = "You passed a second argument to 'useFocusEffect', but it only accepts one argument. " + "If you want to pass a dependency array, you can use 'React.useCallback':\n\n" + 'useFocusEffect(\n' + ' React.useCallback(() => {\n' + ' // Your code here\n' + ' }, [depA, depB])\n' + ');\n\n' + 'See usage guide: https://reactnavigation.org/docs/use-focus-effect';
22
24
  console.error(message);
@@ -1 +1 @@
1
- {"version":3,"names":["useFocusEffect","effect","navigation","useNavigation","arguments","undefined","message","console","error","React","useEffect","isFocused","cleanup","callback","destroy","process","env","NODE_ENV","then","JSON","stringify","unsubscribeFocus","addListener","unsubscribeBlur"],"sourceRoot":"../../src","sources":["useFocusEffect.tsx"],"mappings":";;;;;;AAAA;AAEA;AAAgD;AAAA;AAIhD;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,cAAc,CAACC,MAAsB,EAAE;EACrD,MAAMC,UAAU,GAAG,IAAAC,4BAAa,GAAE;EAElC,IAAIC,SAAS,CAAC,CAAC,CAAC,KAAKC,SAAS,EAAE;IAC9B,MAAMC,OAAO,GACX,sFAAsF,GACtF,8EAA8E,GAC9E,mBAAmB,GACnB,+BAA+B,GAC/B,yBAAyB,GACzB,sBAAsB,GACtB,QAAQ,GACR,oEAAoE;IAEtEC,OAAO,CAACC,KAAK,CAACF,OAAO,CAAC;EACxB;EAEAG,KAAK,CAACC,SAAS,CAAC,MAAM;IACpB,IAAIC,SAAS,GAAG,KAAK;IACrB,IAAIC,OAAwC;IAE5C,MAAMC,QAAQ,GAAG,MAAM;MACrB,MAAMC,OAAO,GAAGb,MAAM,EAAE;MAExB,IAAIa,OAAO,KAAKT,SAAS,IAAI,OAAOS,OAAO,KAAK,UAAU,EAAE;QAC1D,OAAOA,OAAO;MAChB;MAEA,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;QACzC,IAAIX,OAAO,GACT,6FAA6F;QAE/F,IAAIQ,OAAO,KAAK,IAAI,EAAE;UACpBR,OAAO,IACL,kGAAkG;QACtG,CAAC,MAAM,IAAI,OAAQQ,OAAO,CAASI,IAAI,KAAK,UAAU,EAAE;UACtDZ,OAAO,IACL,uFAAuF,GACvF,uDAAuD,GACvD,8BAA8B,GAC9B,mBAAmB,GACnB,+BAA+B,GAC/B,oCAAoC,GACpC,+BAA+B,GAC/B,uDAAuD,GACvD,gBAAgB,GAChB,WAAW,GACX,oBAAoB,GACpB,kBAAkB,GAClB,QAAQ,GACR,oEAAoE;QACxE,CAAC,MAAM;UACLA,OAAO,IAAK,kBAAiBa,IAAI,CAACC,SAAS,CAACN,OAAO,CAAE,IAAG;QAC1D;QAEAP,OAAO,CAACC,KAAK,CAACF,OAAO,CAAC;MACxB;IACF,CAAC;;IAED;IACA,IAAIJ,UAAU,CAACS,SAAS,EAAE,EAAE;MAC1BC,OAAO,GAAGC,QAAQ,EAAE;MACpBF,SAAS,GAAG,IAAI;IAClB;IAEA,MAAMU,gBAAgB,GAAGnB,UAAU,CAACoB,WAAW,CAAC,OAAO,EAAE,MAAM;MAC7D;MACA;MACA,IAAIX,SAAS,EAAE;QACb;MACF;MAEA,IAAIC,OAAO,KAAKP,SAAS,EAAE;QACzBO,OAAO,EAAE;MACX;MAEAA,OAAO,GAAGC,QAAQ,EAAE;MACpBF,SAAS,GAAG,IAAI;IAClB,CAAC,CAAC;IAEF,MAAMY,eAAe,GAAGrB,UAAU,CAACoB,WAAW,CAAC,MAAM,EAAE,MAAM;MAC3D,IAAIV,OAAO,KAAKP,SAAS,EAAE;QACzBO,OAAO,EAAE;MACX;MAEAA,OAAO,GAAGP,SAAS;MACnBM,SAAS,GAAG,KAAK;IACnB,CAAC,CAAC;IAEF,OAAO,MAAM;MACX,IAAIC,OAAO,KAAKP,SAAS,EAAE;QACzBO,OAAO,EAAE;MACX;MAEAS,gBAAgB,EAAE;MAClBE,eAAe,EAAE;IACnB,CAAC;EACH,CAAC,EAAE,CAACtB,MAAM,EAAEC,UAAU,CAAC,CAAC;AAC1B"}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_useNavigation","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","useFocusEffect","effect","navigation","useNavigation","arguments","undefined","message","console","error","useEffect","isFocused","cleanup","callback","destroy","process","env","NODE_ENV","then","JSON","stringify","unsubscribeFocus","addListener","unsubscribeBlur"],"sourceRoot":"../../src","sources":["useFocusEffect.tsx"],"mappings":"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"}
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.useFocusEvents = useFocusEvents;
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  var _NavigationContext = require("./NavigationContext");
9
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
10
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
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 && Object.prototype.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
11
  /**
12
12
  * Hook to take care of emitting `focus` and `blur` events.
13
13
  */
@@ -22,14 +22,14 @@ function useFocusEvents(_ref) {
22
22
 
23
23
  // When the parent screen changes its focus state, we also need to change child's focus
24
24
  // Coz the child screen can't be focused if the parent screen is out of focus
25
- React.useEffect(() => navigation === null || navigation === void 0 ? void 0 : navigation.addListener('focus', () => {
25
+ React.useEffect(() => navigation?.addListener('focus', () => {
26
26
  lastFocusedKeyRef.current = currentFocusedKey;
27
27
  emitter.emit({
28
28
  type: 'focus',
29
29
  target: currentFocusedKey
30
30
  });
31
31
  }), [currentFocusedKey, emitter, navigation]);
32
- React.useEffect(() => navigation === null || navigation === void 0 ? void 0 : navigation.addListener('blur', () => {
32
+ React.useEffect(() => navigation?.addListener('blur', () => {
33
33
  lastFocusedKeyRef.current = undefined;
34
34
  emitter.emit({
35
35
  type: 'blur',
@@ -1 +1 @@
1
- {"version":3,"names":["useFocusEvents","state","emitter","navigation","React","useContext","NavigationContext","lastFocusedKeyRef","useRef","currentFocusedKey","routes","index","key","useEffect","addListener","current","emit","type","target","undefined","lastFocusedKey","isFocused"],"sourceRoot":"../../src","sources":["useFocusEvents.tsx"],"mappings":";;;;;;AACA;AAEA;AAAwD;AAAA;AASxD;AACA;AACA;AACO,SAASA,cAAc,OAGX;EAAA,IAH2C;IAC5DC,KAAK;IACLC;EACc,CAAC;EACf,MAAMC,UAAU,GAAGC,KAAK,CAACC,UAAU,CAACC,oCAAiB,CAAC;EACtD,MAAMC,iBAAiB,GAAGH,KAAK,CAACI,MAAM,EAAsB;EAE5D,MAAMC,iBAAiB,GAAGR,KAAK,CAACS,MAAM,CAACT,KAAK,CAACU,KAAK,CAAC,CAACC,GAAG;;EAEvD;EACA;EACAR,KAAK,CAACS,SAAS,CACb,MACEV,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEW,WAAW,CAAC,OAAO,EAAE,MAAM;IACrCP,iBAAiB,CAACQ,OAAO,GAAGN,iBAAiB;IAC7CP,OAAO,CAACc,IAAI,CAAC;MAAEC,IAAI,EAAE,OAAO;MAAEC,MAAM,EAAET;IAAkB,CAAC,CAAC;EAC5D,CAAC,CAAC,EACJ,CAACA,iBAAiB,EAAEP,OAAO,EAAEC,UAAU,CAAC,CACzC;EAEDC,KAAK,CAACS,SAAS,CACb,MACEV,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEW,WAAW,CAAC,MAAM,EAAE,MAAM;IACpCP,iBAAiB,CAACQ,OAAO,GAAGI,SAAS;IACrCjB,OAAO,CAACc,IAAI,CAAC;MAAEC,IAAI,EAAE,MAAM;MAAEC,MAAM,EAAET;IAAkB,CAAC,CAAC;EAC3D,CAAC,CAAC,EACJ,CAACA,iBAAiB,EAAEP,OAAO,EAAEC,UAAU,CAAC,CACzC;EAEDC,KAAK,CAACS,SAAS,CAAC,MAAM;IACpB,MAAMO,cAAc,GAAGb,iBAAiB,CAACQ,OAAO;IAEhDR,iBAAiB,CAACQ,OAAO,GAAGN,iBAAiB;;IAE7C;IACA;IACA,IAAIW,cAAc,KAAKD,SAAS,IAAI,CAAChB,UAAU,EAAE;MAC/CD,OAAO,CAACc,IAAI,CAAC;QAAEC,IAAI,EAAE,OAAO;QAAEC,MAAM,EAAET;MAAkB,CAAC,CAAC;IAC5D;;IAEA;IACA;IACA,IACEW,cAAc,KAAKX,iBAAiB,IACpC,EAAEN,UAAU,GAAGA,UAAU,CAACkB,SAAS,EAAE,GAAG,IAAI,CAAC,EAC7C;MACA;IACF;IAEA,IAAID,cAAc,KAAKD,SAAS,EAAE;MAChC;MACA;IACF;IAEAjB,OAAO,CAACc,IAAI,CAAC;MAAEC,IAAI,EAAE,MAAM;MAAEC,MAAM,EAAEE;IAAe,CAAC,CAAC;IACtDlB,OAAO,CAACc,IAAI,CAAC;MAAEC,IAAI,EAAE,OAAO;MAAEC,MAAM,EAAET;IAAkB,CAAC,CAAC;EAC5D,CAAC,EAAE,CAACA,iBAAiB,EAAEP,OAAO,EAAEC,UAAU,CAAC,CAAC;AAC9C"}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_NavigationContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","useFocusEvents","_ref","state","emitter","navigation","useContext","NavigationContext","lastFocusedKeyRef","useRef","currentFocusedKey","routes","index","key","useEffect","addListener","current","emit","type","target","undefined","lastFocusedKey","isFocused"],"sourceRoot":"../../src","sources":["useFocusEvents.tsx"],"mappings":"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"}
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.useFocusedListenersChildrenAdapter = useFocusedListenersChildrenAdapter;
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  var _NavigationBuilderContext = require("./NavigationBuilderContext");
9
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
10
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
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 && Object.prototype.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
11
  /**
12
12
  * Hook for passing focus callback to children
13
13
  */
@@ -44,6 +44,6 @@ function useFocusedListenersChildrenAdapter(_ref) {
44
44
  };
45
45
  }
46
46
  }, [focusedListeners, navigation]);
47
- React.useEffect(() => addListener === null || addListener === void 0 ? void 0 : addListener('focus', listener), [addListener, listener]);
47
+ React.useEffect(() => addListener?.('focus', listener), [addListener, listener]);
48
48
  }
49
49
  //# sourceMappingURL=useFocusedListenersChildrenAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useFocusedListenersChildrenAdapter","navigation","focusedListeners","addListener","React","useContext","NavigationBuilderContext","listener","useCallback","callback","isFocused","handled","result","useEffect"],"sourceRoot":"../../src","sources":["useFocusedListenersChildrenAdapter.tsx"],"mappings":";;;;;;AACA;AAEA;AAIoC;AAAA;AAQpC;AACA;AACA;AACO,SAASA,kCAAkC,OAGtC;EAAA,IAHuC;IACjDC,UAAU;IACVC;EACO,CAAC;EACR,MAAM;IAAEC;EAAY,CAAC,GAAGC,KAAK,CAACC,UAAU,CAACC,kDAAwB,CAAC;EAElE,MAAMC,QAAQ,GAAGH,KAAK,CAACI,WAAW,CAC/BC,QAAwC,IAAK;IAC5C,IAAIR,UAAU,CAACS,SAAS,EAAE,EAAE;MAC1B,KAAK,MAAMH,QAAQ,IAAIL,gBAAgB,EAAE;QACvC,MAAM;UAAES,OAAO;UAAEC;QAAO,CAAC,GAAGL,QAAQ,CAACE,QAAQ,CAAC;QAE9C,IAAIE,OAAO,EAAE;UACX,OAAO;YAAEA,OAAO;YAAEC;UAAO,CAAC;QAC5B;MACF;MAEA,OAAO;QAAED,OAAO,EAAE,IAAI;QAAEC,MAAM,EAAEH,QAAQ,CAACR,UAAU;MAAE,CAAC;IACxD,CAAC,MAAM;MACL,OAAO;QAAEU,OAAO,EAAE,KAAK;QAAEC,MAAM,EAAE;MAAK,CAAC;IACzC;EACF,CAAC,EACD,CAACV,gBAAgB,EAAED,UAAU,CAAC,CAC/B;EAEDG,KAAK,CAACS,SAAS,CACb,MAAMV,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAG,OAAO,EAAEI,QAAQ,CAAC,EACtC,CAACJ,WAAW,EAAEI,QAAQ,CAAC,CACxB;AACH"}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_NavigationBuilderContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","useFocusedListenersChildrenAdapter","_ref","navigation","focusedListeners","addListener","useContext","NavigationBuilderContext","listener","useCallback","callback","isFocused","handled","result","useEffect"],"sourceRoot":"../../src","sources":["useFocusedListenersChildrenAdapter.tsx"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,yBAAA,GAAAD,OAAA;AAIoC,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,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAQpC;AACA;AACA;AACO,SAASY,kCAAkCA,CAAAC,IAAA,EAGtC;EAAA,IAHuC;IACjDC,UAAU;IACVC;EACO,CAAC,GAAAF,IAAA;EACR,MAAM;IAAEG;EAAY,CAAC,GAAG7B,KAAK,CAAC8B,UAAU,CAACC,kDAAwB,CAAC;EAElE,MAAMC,QAAQ,GAAGhC,KAAK,CAACiC,WAAW,CAC/BC,QAAwC,IAAK;IAC5C,IAAIP,UAAU,CAACQ,SAAS,CAAC,CAAC,EAAE;MAC1B,KAAK,MAAMH,QAAQ,IAAIJ,gBAAgB,EAAE;QACvC,MAAM;UAAEQ,OAAO;UAAEC;QAAO,CAAC,GAAGL,QAAQ,CAACE,QAAQ,CAAC;QAE9C,IAAIE,OAAO,EAAE;UACX,OAAO;YAAEA,OAAO;YAAEC;UAAO,CAAC;QAC5B;MACF;MAEA,OAAO;QAAED,OAAO,EAAE,IAAI;QAAEC,MAAM,EAAEH,QAAQ,CAACP,UAAU;MAAE,CAAC;IACxD,CAAC,MAAM;MACL,OAAO;QAAES,OAAO,EAAE,KAAK;QAAEC,MAAM,EAAE;MAAK,CAAC;IACzC;EACF,CAAC,EACD,CAACT,gBAAgB,EAAED,UAAU,CAC/B,CAAC;EAED3B,KAAK,CAACsC,SAAS,CACb,MAAMT,WAAW,GAAG,OAAO,EAAEG,QAAQ,CAAC,EACtC,CAACH,WAAW,EAAEG,QAAQ,CACxB,CAAC;AACH"}
@@ -4,17 +4,18 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useIsFocused = useIsFocused;
7
- var React = _interopRequireWildcard(require("react"));
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var React = _react;
8
9
  var _useNavigation = require("./useNavigation");
9
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
10
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
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 && Object.prototype.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
12
  /**
12
13
  * Hook to get the current focus state of the screen. Returns a `true` if screen is focused, otherwise `false`.
13
14
  * This can be used if a component needs to render something based on the focus state.
14
15
  */
15
16
  function useIsFocused() {
16
17
  const navigation = (0, _useNavigation.useNavigation)();
17
- const [isFocused, setIsFocused] = (0, React.useState)(navigation.isFocused);
18
+ const [isFocused, setIsFocused] = (0, _react.useState)(navigation.isFocused);
18
19
  const valueToReturn = navigation.isFocused();
19
20
  if (isFocused !== valueToReturn) {
20
21
  // If the value has changed since the last render, we need to update it.
@@ -1 +1 @@
1
- {"version":3,"names":["useIsFocused","navigation","useNavigation","isFocused","setIsFocused","useState","valueToReturn","React","useEffect","unsubscribeFocus","addListener","unsubscribeBlur","useDebugValue"],"sourceRoot":"../../src","sources":["useIsFocused.tsx"],"mappings":";;;;;;AAAA;AAGA;AAAgD;AAAA;AAEhD;AACA;AACA;AACA;AACO,SAASA,YAAY,GAAY;EACtC,MAAMC,UAAU,GAAG,IAAAC,4BAAa,GAAE;EAClC,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAC,cAAQ,EAACJ,UAAU,CAACE,SAAS,CAAC;EAEhE,MAAMG,aAAa,GAAGL,UAAU,CAACE,SAAS,EAAE;EAE5C,IAAIA,SAAS,KAAKG,aAAa,EAAE;IAC/B;IACA;IACA;IACA;IACA;IACAF,YAAY,CAACE,aAAa,CAAC;EAC7B;EAEAC,KAAK,CAACC,SAAS,CAAC,MAAM;IACpB,MAAMC,gBAAgB,GAAGR,UAAU,CAACS,WAAW,CAAC,OAAO,EAAE,MACvDN,YAAY,CAAC,IAAI,CAAC,CACnB;IAED,MAAMO,eAAe,GAAGV,UAAU,CAACS,WAAW,CAAC,MAAM,EAAE,MACrDN,YAAY,CAAC,KAAK,CAAC,CACpB;IAED,OAAO,MAAM;MACXK,gBAAgB,EAAE;MAClBE,eAAe,EAAE;IACnB,CAAC;EACH,CAAC,EAAE,CAACV,UAAU,CAAC,CAAC;EAEhBM,KAAK,CAACK,aAAa,CAACN,aAAa,CAAC;EAElC,OAAOA,aAAa;AACtB"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","React","_useNavigation","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","useIsFocused","navigation","useNavigation","isFocused","setIsFocused","useState","valueToReturn","useEffect","unsubscribeFocus","addListener","unsubscribeBlur","useDebugValue"],"sourceRoot":"../../src","sources":["useIsFocused.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAA+B,IAAAC,KAAA,GAAAH,MAAA;AAG/B,IAAAI,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,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAEhD;AACA;AACA;AACA;AACO,SAASY,YAAYA,CAAA,EAAY;EACtC,MAAMC,UAAU,GAAG,IAAAC,4BAAa,EAAC,CAAC;EAClC,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAC,eAAQ,EAACJ,UAAU,CAACE,SAAS,CAAC;EAEhE,MAAMG,aAAa,GAAGL,UAAU,CAACE,SAAS,CAAC,CAAC;EAE5C,IAAIA,SAAS,KAAKG,aAAa,EAAE;IAC/B;IACA;IACA;IACA;IACA;IACAF,YAAY,CAACE,aAAa,CAAC;EAC7B;EAEA7B,KAAK,CAAC8B,SAAS,CAAC,MAAM;IACpB,MAAMC,gBAAgB,GAAGP,UAAU,CAACQ,WAAW,CAAC,OAAO,EAAE,MACvDL,YAAY,CAAC,IAAI,CACnB,CAAC;IAED,MAAMM,eAAe,GAAGT,UAAU,CAACQ,WAAW,CAAC,MAAM,EAAE,MACrDL,YAAY,CAAC,KAAK,CACpB,CAAC;IAED,OAAO,MAAM;MACXI,gBAAgB,CAAC,CAAC;MAClBE,eAAe,CAAC,CAAC;IACnB,CAAC;EACH,CAAC,EAAE,CAACT,UAAU,CAAC,CAAC;EAEhBxB,KAAK,CAACkC,aAAa,CAACL,aAAa,CAAC;EAElC,OAAOA,aAAa;AACtB"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useIsomorphicLayoutEffect = void 0;
7
+ var _react = require("react");
8
+ /**
9
+ * Use `useEffect` during SSR and `useLayoutEffect` in the browser to avoid warnings.
10
+ */
11
+ const useIsomorphicLayoutEffect = exports.useIsomorphicLayoutEffect = typeof document !== 'undefined' ? _react.useLayoutEffect : _react.useEffect;
12
+ //# sourceMappingURL=useIsomorphicLayoutEffect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","useIsomorphicLayoutEffect","exports","document","useLayoutEffect","useEffect"],"sourceRoot":"../../src","sources":["useIsomorphicLayoutEffect.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACO,MAAMC,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,GACpC,OAAOE,QAAQ,KAAK,WAAW,GAAGC,sBAAe,GAAGC,gBAAS"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useIsomorphicLayoutEffect = void 0;
7
+ var _react = require("react");
8
+ const useIsomorphicLayoutEffect = exports.useIsomorphicLayoutEffect = _react.useLayoutEffect;
9
+ //# sourceMappingURL=useIsomorphicLayoutEffect.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","useIsomorphicLayoutEffect","exports","useLayoutEffect"],"sourceRoot":"../../src","sources":["useIsomorphicLayoutEffect.native.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEO,MAAMC,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,GAAGE,sBAAe"}
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useKeyedChildListeners = useKeyedChildListeners;
7
7
  var React = _interopRequireWildcard(require("react"));
8
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
9
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
8
+ 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); }
9
+ 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 && Object.prototype.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; }
10
10
  /**
11
11
  * Hook which lets child navigators add getters to be called for obtaining rehydrated state.
12
12
  */
@@ -1 +1 @@
1
- {"version":3,"names":["useKeyedChildListeners","current","keyedListeners","React","useRef","Object","assign","create","getState","beforeRemove","addKeyedListener","useCallback","type","key","listener","undefined"],"sourceRoot":"../../src","sources":["useKeyedChildListeners.tsx"],"mappings":";;;;;;AAAA;AAA+B;AAAA;AAI/B;AACA;AACA;AACO,SAASA,sBAAsB,GAAG;EACvC,MAAM;IAAEC,OAAO,EAAEC;EAAe,CAAC,GAAGC,KAAK,CAACC,MAAM,CAM9CC,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,MAAM,CAAC,IAAI,CAAC,EAAE;IACjCC,QAAQ,EAAE,CAAC,CAAC;IACZC,YAAY,EAAE,CAAC;EACjB,CAAC,CAAC,CACH;EAED,MAAMC,gBAAgB,GAAGP,KAAK,CAACQ,WAAW,CACxC,CACEC,IAAO,EACPC,GAAW,EACXC,QAA6B,KAC1B;IACH;IACAZ,cAAc,CAACU,IAAI,CAAC,CAACC,GAAG,CAAC,GAAGC,QAAQ;IAEpC,OAAO,MAAM;MACX;MACAZ,cAAc,CAACU,IAAI,CAAC,CAACC,GAAG,CAAC,GAAGE,SAAS;IACvC,CAAC;EACH,CAAC,EACD,CAACb,cAAc,CAAC,CACjB;EAED,OAAO;IACLA,cAAc;IACdQ;EACF,CAAC;AACH"}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","useKeyedChildListeners","current","keyedListeners","useRef","assign","create","getState","beforeRemove","addKeyedListener","useCallback","type","key","listener","undefined"],"sourceRoot":"../../src","sources":["useKeyedChildListeners.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAA+B,SAAAC,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,SAAAH,wBAAAG,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,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAI/B;AACA;AACA;AACO,SAASY,sBAAsBA,CAAA,EAAG;EACvC,MAAM;IAAEC,OAAO,EAAEC;EAAe,CAAC,GAAG1B,KAAK,CAAC2B,MAAM,CAM9CZ,MAAM,CAACa,MAAM,CAACb,MAAM,CAACc,MAAM,CAAC,IAAI,CAAC,EAAE;IACjCC,QAAQ,EAAE,CAAC,CAAC;IACZC,YAAY,EAAE,CAAC;EACjB,CAAC,CACH,CAAC;EAED,MAAMC,gBAAgB,GAAGhC,KAAK,CAACiC,WAAW,CACxC,CACEC,IAAO,EACPC,GAAW,EACXC,QAA6B,KAC1B;IACH;IACAV,cAAc,CAACQ,IAAI,CAAC,CAACC,GAAG,CAAC,GAAGC,QAAQ;IAEpC,OAAO,MAAM;MACX;MACAV,cAAc,CAACQ,IAAI,CAAC,CAACC,GAAG,CAAC,GAAGE,SAAS;IACvC,CAAC;EACH,CAAC,EACD,CAACX,cAAc,CACjB,CAAC;EAED,OAAO;IACLA,cAAc;IACdM;EACF,CAAC;AACH"}
@@ -7,8 +7,8 @@ exports.useNavigation = useNavigation;
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  var _NavigationContainerRefContext = require("./NavigationContainerRefContext");
9
9
  var _NavigationContext = require("./NavigationContext");
10
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
11
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
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 && Object.prototype.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
12
  /**
13
13
  * Hook to access the navigation prop of the parent screen anywhere.
14
14
  *
@@ -1 +1 @@
1
- {"version":3,"names":["useNavigation","root","React","useContext","NavigationContainerRefContext","navigation","NavigationContext","undefined","Error"],"sourceRoot":"../../src","sources":["useNavigation.tsx"],"mappings":";;;;;;AAAA;AAEA;AACA;AAAwD;AAAA;AAGxD;AACA;AACA;AACA;AACA;AACO,SAASA,aAAa,GAEtB;EACL,MAAMC,IAAI,GAAGC,KAAK,CAACC,UAAU,CAACC,4DAA6B,CAAC;EAC5D,MAAMC,UAAU,GAAGH,KAAK,CAACC,UAAU,CAACG,oCAAiB,CAAC;EAEtD,IAAID,UAAU,KAAKE,SAAS,IAAIN,IAAI,KAAKM,SAAS,EAAE;IAClD,MAAM,IAAIC,KAAK,CACb,kFAAkF,CACnF;EACH;;EAEA;EACA,OAAQH,UAAU,IAAIJ,IAAI;AAC5B"}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_NavigationContainerRefContext","_NavigationContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","useNavigation","root","useContext","NavigationContainerRefContext","navigation","NavigationContext","undefined","Error"],"sourceRoot":"../../src","sources":["useNavigation.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,8BAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AAAwD,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,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAGxD;AACA;AACA;AACA;AACA;AACO,SAASY,aAAaA,CAAA,EAEtB;EACL,MAAMC,IAAI,GAAG3B,KAAK,CAAC4B,UAAU,CAACC,4DAA6B,CAAC;EAC5D,MAAMC,UAAU,GAAG9B,KAAK,CAAC4B,UAAU,CAACG,oCAAiB,CAAC;EAEtD,IAAID,UAAU,KAAKE,SAAS,IAAIL,IAAI,KAAKK,SAAS,EAAE;IAClD,MAAM,IAAIC,KAAK,CACb,kFACF,CAAC;EACH;;EAEA;EACA,OAAQH,UAAU,IAAIH,IAAI;AAC5B"}
@@ -7,6 +7,7 @@ exports.useNavigationBuilder = useNavigationBuilder;
7
7
  var _routers = require("@react-navigation/routers");
8
8
  var React = _interopRequireWildcard(require("react"));
9
9
  var _reactIs = require("react-is");
10
+ var _useLatestCallback = _interopRequireDefault(require("use-latest-callback"));
10
11
  var _Group = require("./Group");
11
12
  var _isArrayEqual = require("./isArrayEqual");
12
13
  var _isRecordEqual = require("./isRecordEqual");
@@ -23,17 +24,17 @@ var _useDescriptors = require("./useDescriptors");
23
24
  var _useEventEmitter = require("./useEventEmitter");
24
25
  var _useFocusedListenersChildrenAdapter = require("./useFocusedListenersChildrenAdapter");
25
26
  var _useFocusEvents = require("./useFocusEvents");
27
+ var _useIsomorphicLayoutEffect = require("./useIsomorphicLayoutEffect");
26
28
  var _useKeyedChildListeners = require("./useKeyedChildListeners");
27
29
  var _useNavigationHelpers = require("./useNavigationHelpers");
28
30
  var _useOnAction = require("./useOnAction");
29
31
  var _useOnGetState = require("./useOnGetState");
30
32
  var _useOnRouteFocus = require("./useOnRouteFocus");
31
33
  var _useRegisterNavigator = require("./useRegisterNavigator");
32
- var _useScheduleUpdate = require("./useScheduleUpdate");
33
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
34
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
34
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
35
+ 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); }
36
+ 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 && Object.prototype.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; }
35
37
  // This is to make TypeScript compiler happy
36
- // eslint-disable-next-line babel/no-unused-expressions
37
38
  _types.PrivateValueStore;
38
39
  const isValidKey = key => key === undefined || typeof key === 'string' && key !== '';
39
40
 
@@ -44,7 +45,6 @@ const isValidKey = key => key === undefined || typeof key === 'string' && key !=
44
45
  */
45
46
  const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => {
46
47
  const configs = React.Children.toArray(children).reduce((acc, child) => {
47
- var _child$type, _child$props;
48
48
  if ( /*#__PURE__*/React.isValidElement(child)) {
49
49
  if (child.type === _Screen.Screen) {
50
50
  // We can only extract the config from `Screen` elements
@@ -71,7 +71,7 @@ const getRouteConfigsFromChildren = (children, groupKey, groupOptions) => {
71
71
  return acc;
72
72
  }
73
73
  }
74
- throw new Error(`A navigator can only contain 'Screen', 'Group' or 'React.Fragment' as its direct children (found ${/*#__PURE__*/React.isValidElement(child) ? `'${typeof child.type === 'string' ? child.type : (_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.name}'${child.props != null && typeof child.props === 'object' && 'name' in child.props && (_child$props = child.props) !== null && _child$props !== void 0 && _child$props.name ? ` for the screen '${child.props.name}'` : ''}` : typeof child === 'object' ? JSON.stringify(child) : `'${String(child)}'`}). To render this component in the navigator, pass it in the 'component' prop to 'Screen'.`);
74
+ throw new Error(`A navigator can only contain 'Screen', 'Group' or 'React.Fragment' as its direct children (found ${/*#__PURE__*/React.isValidElement(child) ? `'${typeof child.type === 'string' ? child.type : child.type?.name}'${child.props != null && typeof child.props === 'object' && 'name' in child.props && child.props?.name ? ` for the screen '${child.props.name}'` : ''}` : typeof child === 'object' ? JSON.stringify(child) : `'${String(child)}'`}). To render this component in the navigator, pass it in the 'component' prop to 'Screen'.`);
75
75
  }, []);
76
76
  if (process.env.NODE_ENV !== 'production') {
77
77
  configs.forEach(config => {
@@ -133,17 +133,14 @@ function useNavigationBuilder(createRouter, options) {
133
133
  const route = React.useContext(_NavigationRouteContext.NavigationRouteContext);
134
134
  const {
135
135
  children,
136
+ layout,
137
+ screenOptions,
136
138
  screenListeners,
137
139
  ...rest
138
140
  } = options;
139
141
  const {
140
142
  current: router
141
- } = React.useRef(createRouter({
142
- ...rest,
143
- ...(route !== null && route !== void 0 && route.params && route.params.state == null && route.params.initial !== false && typeof route.params.screen === 'string' ? {
144
- initialRouteName: route.params.screen
145
- } : null)
146
- }));
143
+ } = React.useRef(createRouter(rest));
147
144
  const routeConfigs = getRouteConfigsFromChildren(children);
148
145
  const screens = routeConfigs.reduce((acc, config) => {
149
146
  if (config.props.name in acc) {
@@ -181,11 +178,7 @@ function useNavigationBuilder(createRouter, options) {
181
178
  getIsInitial
182
179
  } = React.useContext(_NavigationStateContext.NavigationStateContext);
183
180
  const stateCleanedUp = React.useRef(false);
184
- const cleanUpState = React.useCallback(() => {
185
- setCurrentState(undefined);
186
- stateCleanedUp.current = true;
187
- }, [setCurrentState]);
188
- const setState = React.useCallback(state => {
181
+ const setState = (0, _useLatestCallback.default)(state => {
189
182
  if (stateCleanedUp.current) {
190
183
  // State might have been already cleaned up due to unmount
191
184
  // We do not want to expose API allowing to override this
@@ -193,15 +186,13 @@ function useNavigationBuilder(createRouter, options) {
193
186
  return;
194
187
  }
195
188
  setCurrentState(state);
196
- }, [setCurrentState]);
189
+ });
197
190
  const [initializedState, isFirstStateInitialization] = React.useMemo(() => {
198
- var _route$params4;
199
191
  const initialRouteParamList = routeNames.reduce((acc, curr) => {
200
- var _route$params, _route$params2, _route$params3;
201
192
  const {
202
193
  initialParams
203
194
  } = screens[curr].props;
204
- const initialParamsFromParams = (route === null || route === void 0 ? void 0 : (_route$params = route.params) === null || _route$params === void 0 ? void 0 : _route$params.state) == null && (route === null || route === void 0 ? void 0 : (_route$params2 = route.params) === null || _route$params2 === void 0 ? void 0 : _route$params2.initial) !== false && (route === null || route === void 0 ? void 0 : (_route$params3 = route.params) === null || _route$params3 === void 0 ? void 0 : _route$params3.screen) === curr ? route.params.params : undefined;
195
+ const initialParamsFromParams = route?.params?.state == null && route?.params?.initial !== false && route?.params?.screen === curr ? route.params.params : undefined;
205
196
  acc[curr] = initialParams !== undefined || initialParamsFromParams !== undefined ? {
206
197
  ...initialParams,
207
198
  ...initialParamsFromParams
@@ -213,15 +204,27 @@ function useNavigationBuilder(createRouter, options) {
213
204
  // We also need to re-initialize it if the state passed from parent was changed (maybe due to reset)
214
205
  // Otherwise assume that the state was provided as initial state
215
206
  // So we need to rehydrate it to make it usable
216
- if ((currentState === undefined || !isStateValid(currentState)) && (route === null || route === void 0 ? void 0 : (_route$params4 = route.params) === null || _route$params4 === void 0 ? void 0 : _route$params4.state) == null) {
207
+ if ((currentState === undefined || !isStateValid(currentState)) && route?.params?.state == null && !(typeof route?.params?.screen === 'string' && route?.params?.initial !== false)) {
217
208
  return [router.getInitialState({
218
209
  routeNames,
219
210
  routeParamList: initialRouteParamList,
220
211
  routeGetIdList
221
212
  }), true];
222
213
  } else {
223
- var _route$params5;
224
- return [router.getRehydratedState((route === null || route === void 0 ? void 0 : (_route$params5 = route.params) === null || _route$params5 === void 0 ? void 0 : _route$params5.state) ?? currentState, {
214
+ let stateFromParams;
215
+ if (route?.params?.state != null) {
216
+ stateFromParams = route.params.state;
217
+ } else if (typeof route?.params?.screen === 'string' && route?.params?.initial !== false) {
218
+ stateFromParams = {
219
+ index: 0,
220
+ routes: [{
221
+ name: route.params.screen,
222
+ params: route.params.params,
223
+ path: route.params.path
224
+ }]
225
+ };
226
+ }
227
+ return [router.getRehydratedState(stateFromParams ?? currentState, {
225
228
  routeNames,
226
229
  routeParamList: initialRouteParamList,
227
230
  routeGetIdList
@@ -246,19 +249,26 @@ function useNavigationBuilder(createRouter, options) {
246
249
  isStateInitialized(currentState) ? currentState : initializedState;
247
250
  let nextState = state;
248
251
  if (!(0, _isArrayEqual.isArrayEqual)(state.routeNames, routeNames) || !(0, _isRecordEqual.isRecordEqual)(routeKeyList, previousRouteKeyList)) {
252
+ const navigatorStateForNextRouteNamesChange = options.getStateForRouteNamesChange?.(state);
249
253
  // When the list of route names change, the router should handle it to remove invalid routes
250
- nextState = router.getStateForRouteNamesChange(state, {
254
+ nextState = navigatorStateForNextRouteNamesChange ?
255
+ // @ts-expect-error this is ok
256
+ router.getRehydratedState(navigatorStateForNextRouteNamesChange, {
257
+ routeNames,
258
+ routeParamList,
259
+ routeGetIdList
260
+ }) : router.getStateForRouteNamesChange(state, {
251
261
  routeNames,
252
262
  routeParamList,
253
263
  routeGetIdList,
254
- routeKeyChanges: Object.keys(routeKeyList).filter(name => previousRouteKeyList.hasOwnProperty(name) && routeKeyList[name] !== previousRouteKeyList[name])
264
+ routeKeyChanges: Object.keys(routeKeyList).filter(name => name in previousRouteKeyList && routeKeyList[name] !== previousRouteKeyList[name])
255
265
  });
256
266
  }
257
- const previousNestedParamsRef = React.useRef(route === null || route === void 0 ? void 0 : route.params);
267
+ const previousNestedParamsRef = React.useRef(route?.params);
258
268
  React.useEffect(() => {
259
- previousNestedParamsRef.current = route === null || route === void 0 ? void 0 : route.params;
260
- }, [route === null || route === void 0 ? void 0 : route.params]);
261
- if (route !== null && route !== void 0 && route.params) {
269
+ previousNestedParamsRef.current = route?.params;
270
+ }, [route?.params]);
271
+ if (route?.params) {
262
272
  const previousParams = previousNestedParamsRef.current;
263
273
  let action;
264
274
  if (typeof route.params.state === 'object' && route.params.state != null && route.params !== previousParams) {
@@ -286,7 +296,7 @@ function useNavigationBuilder(createRouter, options) {
286
296
  }) : nextState;
287
297
  }
288
298
  const shouldUpdate = state !== nextState;
289
- (0, _useScheduleUpdate.useScheduleUpdate)(() => {
299
+ (0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(() => {
290
300
  if (shouldUpdate) {
291
301
  // If the state needs to be updated, we'll schedule an update
292
302
  setState(nextState);
@@ -307,42 +317,28 @@ function useNavigationBuilder(createRouter, options) {
307
317
  }
308
318
  return () => {
309
319
  // We need to clean up state for this navigator on unmount
310
- // We do it in a timeout because we need to detect if another navigator mounted in the meantime
311
- // For example, if another navigator has started rendering, we should skip cleanup
312
- // Otherwise, our cleanup step will cleanup state for the other navigator and re-initialize it
313
- setTimeout(() => {
314
- if (getCurrentState() !== undefined && getKey() === navigatorKey) {
315
- cleanUpState();
316
- }
317
- }, 0);
320
+ if (getCurrentState() !== undefined && getKey() === navigatorKey) {
321
+ setCurrentState(undefined);
322
+ stateCleanedUp.current = true;
323
+ }
318
324
  };
319
325
  // eslint-disable-next-line react-hooks/exhaustive-deps
320
326
  }, []);
321
-
322
- // We initialize this ref here to avoid a new getState getting initialized
323
- // whenever initializedState changes. We want getState to have access to the
324
- // latest initializedState, but don't need it to change when that happens
325
- const initializedStateRef = React.useRef();
326
- initializedStateRef.current = initializedState;
327
- const getState = React.useCallback(() => {
328
- const currentState = getCurrentState();
329
- return isStateInitialized(currentState) ? currentState : initializedStateRef.current;
330
- }, [getCurrentState, isStateInitialized]);
327
+ const getState = (0, _useLatestCallback.default)(() => {
328
+ const currentState = shouldUpdate ? nextState : getCurrentState();
329
+ return isStateInitialized(currentState) ? currentState : initializedState;
330
+ });
331
331
  const emitter = (0, _useEventEmitter.useEventEmitter)(e => {
332
- let routeNames = [];
332
+ const routeNames = [];
333
333
  let route;
334
334
  if (e.target) {
335
- var _route;
336
335
  route = state.routes.find(route => route.key === e.target);
337
- if ((_route = route) !== null && _route !== void 0 && _route.name) {
336
+ if (route?.name) {
338
337
  routeNames.push(route.name);
339
338
  }
340
339
  } else {
341
340
  route = state.routes[state.index];
342
- routeNames.push(...Object.keys(screens).filter(name => {
343
- var _route2;
344
- return ((_route2 = route) === null || _route2 === void 0 ? void 0 : _route2.name) === name;
345
- }));
341
+ routeNames.push(...Object.keys(screens).filter(name => route?.name === name));
346
342
  }
347
343
  if (route == null) {
348
344
  return;
@@ -360,12 +356,12 @@ function useNavigationBuilder(createRouter, options) {
360
356
  route: route,
361
357
  navigation
362
358
  }) : listeners;
363
- return map ? Object.keys(map).filter(type => type === e.type).map(type => map === null || map === void 0 ? void 0 : map[type]) : undefined;
359
+ return map ? Object.keys(map).filter(type => type === e.type).map(type => map?.[type]) : undefined;
364
360
  }))
365
361
  // We don't want same listener to be called multiple times for same event
366
362
  // So we remove any duplicate functions from the array
367
363
  .filter((cb, i, self) => cb && self.lastIndexOf(cb) === i);
368
- listeners.forEach(listener => listener === null || listener === void 0 ? void 0 : listener(e));
364
+ listeners.forEach(listener => listener?.(e));
369
365
  });
370
366
  (0, _useFocusEvents.useFocusEvents)({
371
367
  state,
@@ -391,7 +387,7 @@ function useNavigationBuilder(createRouter, options) {
391
387
  router,
392
388
  getState,
393
389
  setState,
394
- key: route === null || route === void 0 ? void 0 : route.key,
390
+ key: route?.key,
395
391
  actionListeners: childListeners.action,
396
392
  beforeRemoveListeners: keyedListeners.beforeRemove,
397
393
  routerConfigOptions: {
@@ -403,7 +399,7 @@ function useNavigationBuilder(createRouter, options) {
403
399
  });
404
400
  const onRouteFocus = (0, _useOnRouteFocus.useOnRouteFocus)({
405
401
  router,
406
- key: route === null || route === void 0 ? void 0 : route.key,
402
+ key: route?.key,
407
403
  getState,
408
404
  setState
409
405
  });
@@ -426,7 +422,7 @@ function useNavigationBuilder(createRouter, options) {
426
422
  state,
427
423
  screens,
428
424
  navigation,
429
- screenOptions: options.screenOptions,
425
+ screenOptions,
430
426
  onAction,
431
427
  getState,
432
428
  setState,
@@ -442,9 +438,17 @@ function useNavigationBuilder(createRouter, options) {
442
438
  navigation,
443
439
  descriptors
444
440
  });
445
- const NavigationContent = (0, _useComponent.useComponent)(children => /*#__PURE__*/React.createElement(_NavigationHelpersContext.NavigationHelpersContext.Provider, {
446
- value: navigation
447
- }, /*#__PURE__*/React.createElement(_PreventRemoveProvider.PreventRemoveProvider, null, children)));
441
+ const NavigationContent = (0, _useComponent.useComponent)(children => {
442
+ const element = layout != null ? layout({
443
+ state,
444
+ descriptors,
445
+ navigation,
446
+ children
447
+ }) : children;
448
+ return /*#__PURE__*/React.createElement(_NavigationHelpersContext.NavigationHelpersContext.Provider, {
449
+ value: navigation
450
+ }, /*#__PURE__*/React.createElement(_PreventRemoveProvider.PreventRemoveProvider, null, element));
451
+ });
448
452
  return {
449
453
  state,
450
454
  navigation,