@react-navigation/core 6.0.2

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 (327) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +38 -0
  3. package/lib/commonjs/BaseNavigationContainer.js +393 -0
  4. package/lib/commonjs/BaseNavigationContainer.js.map +1 -0
  5. package/lib/commonjs/CurrentRenderContext.js +21 -0
  6. package/lib/commonjs/CurrentRenderContext.js.map +1 -0
  7. package/lib/commonjs/EnsureSingleNavigator.js +53 -0
  8. package/lib/commonjs/EnsureSingleNavigator.js.map +1 -0
  9. package/lib/commonjs/Group.js +15 -0
  10. package/lib/commonjs/Group.js.map +1 -0
  11. package/lib/commonjs/NavigationBuilderContext.js +23 -0
  12. package/lib/commonjs/NavigationBuilderContext.js.map +1 -0
  13. package/lib/commonjs/NavigationContainerRefContext.js +20 -0
  14. package/lib/commonjs/NavigationContainerRefContext.js.map +1 -0
  15. package/lib/commonjs/NavigationContext.js +20 -0
  16. package/lib/commonjs/NavigationContext.js.map +1 -0
  17. package/lib/commonjs/NavigationHelpersContext.js +21 -0
  18. package/lib/commonjs/NavigationHelpersContext.js.map +1 -0
  19. package/lib/commonjs/NavigationRouteContext.js +20 -0
  20. package/lib/commonjs/NavigationRouteContext.js.map +1 -0
  21. package/lib/commonjs/NavigationStateContext.js +42 -0
  22. package/lib/commonjs/NavigationStateContext.js.map +1 -0
  23. package/lib/commonjs/SceneView.js +97 -0
  24. package/lib/commonjs/SceneView.js.map +1 -0
  25. package/lib/commonjs/Screen.js +15 -0
  26. package/lib/commonjs/Screen.js.map +1 -0
  27. package/lib/commonjs/StaticContainer.js +43 -0
  28. package/lib/commonjs/StaticContainer.js.map +1 -0
  29. package/lib/commonjs/UnhandledActionContext.js +17 -0
  30. package/lib/commonjs/UnhandledActionContext.js.map +1 -0
  31. package/lib/commonjs/checkDuplicateRouteNames.js +31 -0
  32. package/lib/commonjs/checkDuplicateRouteNames.js.map +1 -0
  33. package/lib/commonjs/checkSerializable.js +59 -0
  34. package/lib/commonjs/checkSerializable.js.map +1 -0
  35. package/lib/commonjs/createNavigationContainerRef.js +82 -0
  36. package/lib/commonjs/createNavigationContainerRef.js.map +1 -0
  37. package/lib/commonjs/createNavigatorFactory.js +34 -0
  38. package/lib/commonjs/createNavigatorFactory.js.map +1 -0
  39. package/lib/commonjs/findFocusedRoute.js +22 -0
  40. package/lib/commonjs/findFocusedRoute.js.map +1 -0
  41. package/lib/commonjs/fromEntries.js +19 -0
  42. package/lib/commonjs/fromEntries.js.map +1 -0
  43. package/lib/commonjs/getActionFromState.js +99 -0
  44. package/lib/commonjs/getActionFromState.js.map +1 -0
  45. package/lib/commonjs/getFocusedRouteNameFromRoute.js +23 -0
  46. package/lib/commonjs/getFocusedRouteNameFromRoute.js.map +1 -0
  47. package/lib/commonjs/getPathFromState.js +238 -0
  48. package/lib/commonjs/getPathFromState.js.map +1 -0
  49. package/lib/commonjs/getStateFromPath.js +450 -0
  50. package/lib/commonjs/getStateFromPath.js.map +1 -0
  51. package/lib/commonjs/index.js +227 -0
  52. package/lib/commonjs/index.js.map +1 -0
  53. package/lib/commonjs/isArrayEqual.js +15 -0
  54. package/lib/commonjs/isArrayEqual.js.map +1 -0
  55. package/lib/commonjs/types.js +18 -0
  56. package/lib/commonjs/types.js.map +1 -0
  57. package/lib/commonjs/useChildListeners.js +38 -0
  58. package/lib/commonjs/useChildListeners.js.map +1 -0
  59. package/lib/commonjs/useComponent.js +36 -0
  60. package/lib/commonjs/useComponent.js.map +1 -0
  61. package/lib/commonjs/useCurrentRender.js +33 -0
  62. package/lib/commonjs/useCurrentRender.js.map +1 -0
  63. package/lib/commonjs/useDescriptors.js +141 -0
  64. package/lib/commonjs/useDescriptors.js.map +1 -0
  65. package/lib/commonjs/useEventEmitter.js +118 -0
  66. package/lib/commonjs/useEventEmitter.js.map +1 -0
  67. package/lib/commonjs/useFocusEffect.js +97 -0
  68. package/lib/commonjs/useFocusEffect.js.map +1 -0
  69. package/lib/commonjs/useFocusEvents.js +77 -0
  70. package/lib/commonjs/useFocusEvents.js.map +1 -0
  71. package/lib/commonjs/useFocusedListenersChildrenAdapter.js +57 -0
  72. package/lib/commonjs/useFocusedListenersChildrenAdapter.js.map +1 -0
  73. package/lib/commonjs/useIsFocused.js +47 -0
  74. package/lib/commonjs/useIsFocused.js.map +1 -0
  75. package/lib/commonjs/useKeyedChildListeners.js +35 -0
  76. package/lib/commonjs/useKeyedChildListeners.js.map +1 -0
  77. package/lib/commonjs/useNavigation.js +36 -0
  78. package/lib/commonjs/useNavigation.js.map +1 -0
  79. package/lib/commonjs/useNavigationBuilder.js +480 -0
  80. package/lib/commonjs/useNavigationBuilder.js.map +1 -0
  81. package/lib/commonjs/useNavigationCache.js +122 -0
  82. package/lib/commonjs/useNavigationCache.js.map +1 -0
  83. package/lib/commonjs/useNavigationContainerRef.js +27 -0
  84. package/lib/commonjs/useNavigationContainerRef.js.map +1 -0
  85. package/lib/commonjs/useNavigationHelpers.js +77 -0
  86. package/lib/commonjs/useNavigationHelpers.js.map +1 -0
  87. package/lib/commonjs/useNavigationState.js +41 -0
  88. package/lib/commonjs/useNavigationState.js.map +1 -0
  89. package/lib/commonjs/useOnAction.js +118 -0
  90. package/lib/commonjs/useOnAction.js.map +1 -0
  91. package/lib/commonjs/useOnGetState.js +60 -0
  92. package/lib/commonjs/useOnGetState.js.map +1 -0
  93. package/lib/commonjs/useOnPreventRemove.js +89 -0
  94. package/lib/commonjs/useOnPreventRemove.js.map +1 -0
  95. package/lib/commonjs/useOnRouteFocus.js +45 -0
  96. package/lib/commonjs/useOnRouteFocus.js.map +1 -0
  97. package/lib/commonjs/useOptionsGetters.js +99 -0
  98. package/lib/commonjs/useOptionsGetters.js.map +1 -0
  99. package/lib/commonjs/useRegisterNavigator.js +40 -0
  100. package/lib/commonjs/useRegisterNavigator.js.map +1 -0
  101. package/lib/commonjs/useRoute.js +32 -0
  102. package/lib/commonjs/useRoute.js.map +1 -0
  103. package/lib/commonjs/useRouteCache.js +61 -0
  104. package/lib/commonjs/useRouteCache.js.map +1 -0
  105. package/lib/commonjs/useScheduleUpdate.js +44 -0
  106. package/lib/commonjs/useScheduleUpdate.js.map +1 -0
  107. package/lib/commonjs/useSyncState.js +76 -0
  108. package/lib/commonjs/useSyncState.js.map +1 -0
  109. package/lib/commonjs/validatePathConfig.js +31 -0
  110. package/lib/commonjs/validatePathConfig.js.map +1 -0
  111. package/lib/module/BaseNavigationContainer.js +360 -0
  112. package/lib/module/BaseNavigationContainer.js.map +1 -0
  113. package/lib/module/CurrentRenderContext.js +9 -0
  114. package/lib/module/CurrentRenderContext.js.map +1 -0
  115. package/lib/module/EnsureSingleNavigator.js +38 -0
  116. package/lib/module/EnsureSingleNavigator.js.map +1 -0
  117. package/lib/module/Group.js +8 -0
  118. package/lib/module/Group.js.map +1 -0
  119. package/lib/module/NavigationBuilderContext.js +11 -0
  120. package/lib/module/NavigationBuilderContext.js.map +1 -0
  121. package/lib/module/NavigationContainerRefContext.js +8 -0
  122. package/lib/module/NavigationContainerRefContext.js.map +1 -0
  123. package/lib/module/NavigationContext.js +8 -0
  124. package/lib/module/NavigationContext.js.map +1 -0
  125. package/lib/module/NavigationHelpersContext.js +9 -0
  126. package/lib/module/NavigationHelpersContext.js.map +1 -0
  127. package/lib/module/NavigationRouteContext.js +8 -0
  128. package/lib/module/NavigationRouteContext.js.map +1 -0
  129. package/lib/module/NavigationStateContext.js +27 -0
  130. package/lib/module/NavigationStateContext.js.map +1 -0
  131. package/lib/module/SceneView.js +80 -0
  132. package/lib/module/SceneView.js.map +1 -0
  133. package/lib/module/Screen.js +8 -0
  134. package/lib/module/Screen.js.map +1 -0
  135. package/lib/module/StaticContainer.js +30 -0
  136. package/lib/module/StaticContainer.js.map +1 -0
  137. package/lib/module/UnhandledActionContext.js +4 -0
  138. package/lib/module/UnhandledActionContext.js.map +1 -0
  139. package/lib/module/checkDuplicateRouteNames.js +24 -0
  140. package/lib/module/checkDuplicateRouteNames.js.map +1 -0
  141. package/lib/module/checkSerializable.js +52 -0
  142. package/lib/module/checkSerializable.js.map +1 -0
  143. package/lib/module/createNavigationContainerRef.js +71 -0
  144. package/lib/module/createNavigationContainerRef.js.map +1 -0
  145. package/lib/module/createNavigatorFactory.js +24 -0
  146. package/lib/module/createNavigatorFactory.js.map +1 -0
  147. package/lib/module/findFocusedRoute.js +15 -0
  148. package/lib/module/findFocusedRoute.js.map +1 -0
  149. package/lib/module/fromEntries.js +12 -0
  150. package/lib/module/fromEntries.js.map +1 -0
  151. package/lib/module/getActionFromState.js +92 -0
  152. package/lib/module/getActionFromState.js.map +1 -0
  153. package/lib/module/getFocusedRouteNameFromRoute.js +15 -0
  154. package/lib/module/getFocusedRouteNameFromRoute.js.map +1 -0
  155. package/lib/module/getPathFromState.js +223 -0
  156. package/lib/module/getPathFromState.js.map +1 -0
  157. package/lib/module/getStateFromPath.js +434 -0
  158. package/lib/module/getStateFromPath.js.map +1 -0
  159. package/lib/module/index.js +24 -0
  160. package/lib/module/index.js.map +1 -0
  161. package/lib/module/isArrayEqual.js +8 -0
  162. package/lib/module/isArrayEqual.js.map +1 -0
  163. package/lib/module/types.js +9 -0
  164. package/lib/module/types.js.map +1 -0
  165. package/lib/module/useChildListeners.js +27 -0
  166. package/lib/module/useChildListeners.js.map +1 -0
  167. package/lib/module/useComponent.js +24 -0
  168. package/lib/module/useComponent.js.map +1 -0
  169. package/lib/module/useCurrentRender.js +19 -0
  170. package/lib/module/useCurrentRender.js.map +1 -0
  171. package/lib/module/useDescriptors.js +122 -0
  172. package/lib/module/useDescriptors.js.map +1 -0
  173. package/lib/module/useEventEmitter.js +107 -0
  174. package/lib/module/useEventEmitter.js.map +1 -0
  175. package/lib/module/useFocusEffect.js +83 -0
  176. package/lib/module/useFocusEffect.js.map +1 -0
  177. package/lib/module/useFocusEvents.js +63 -0
  178. package/lib/module/useFocusEvents.js.map +1 -0
  179. package/lib/module/useFocusedListenersChildrenAdapter.js +43 -0
  180. package/lib/module/useFocusedListenersChildrenAdapter.js.map +1 -0
  181. package/lib/module/useIsFocused.js +34 -0
  182. package/lib/module/useIsFocused.js.map +1 -0
  183. package/lib/module/useKeyedChildListeners.js +24 -0
  184. package/lib/module/useKeyedChildListeners.js.map +1 -0
  185. package/lib/module/useNavigation.js +21 -0
  186. package/lib/module/useNavigation.js.map +1 -0
  187. package/lib/module/useNavigationBuilder.js +443 -0
  188. package/lib/module/useNavigationBuilder.js.map +1 -0
  189. package/lib/module/useNavigationCache.js +107 -0
  190. package/lib/module/useNavigationCache.js.map +1 -0
  191. package/lib/module/useNavigationContainerRef.js +12 -0
  192. package/lib/module/useNavigationContainerRef.js.map +1 -0
  193. package/lib/module/useNavigationHelpers.js +59 -0
  194. package/lib/module/useNavigationHelpers.js.map +1 -0
  195. package/lib/module/useNavigationState.js +27 -0
  196. package/lib/module/useNavigationState.js.map +1 -0
  197. package/lib/module/useOnAction.js +103 -0
  198. package/lib/module/useOnAction.js.map +1 -0
  199. package/lib/module/useOnGetState.js +43 -0
  200. package/lib/module/useOnGetState.js.map +1 -0
  201. package/lib/module/useOnPreventRemove.js +68 -0
  202. package/lib/module/useOnPreventRemove.js.map +1 -0
  203. package/lib/module/useOnRouteFocus.js +31 -0
  204. package/lib/module/useOnRouteFocus.js.map +1 -0
  205. package/lib/module/useOptionsGetters.js +83 -0
  206. package/lib/module/useOptionsGetters.js.map +1 -0
  207. package/lib/module/useRegisterNavigator.js +27 -0
  208. package/lib/module/useRegisterNavigator.js.map +1 -0
  209. package/lib/module/useRoute.js +18 -0
  210. package/lib/module/useRoute.js.map +1 -0
  211. package/lib/module/useRouteCache.js +47 -0
  212. package/lib/module/useRouteCache.js.map +1 -0
  213. package/lib/module/useScheduleUpdate.js +29 -0
  214. package/lib/module/useScheduleUpdate.js.map +1 -0
  215. package/lib/module/useSyncState.js +64 -0
  216. package/lib/module/useSyncState.js.map +1 -0
  217. package/lib/module/validatePathConfig.js +24 -0
  218. package/lib/module/validatePathConfig.js.map +1 -0
  219. package/lib/typescript/src/BaseNavigationContainer.d.ts +14 -0
  220. package/lib/typescript/src/CurrentRenderContext.d.ts +9 -0
  221. package/lib/typescript/src/EnsureSingleNavigator.d.ts +13 -0
  222. package/lib/typescript/src/Group.d.ts +6 -0
  223. package/lib/typescript/src/NavigationBuilderContext.d.ts +34 -0
  224. package/lib/typescript/src/NavigationContainerRefContext.d.ts +8 -0
  225. package/lib/typescript/src/NavigationContext.d.ts +24 -0
  226. package/lib/typescript/src/NavigationHelpersContext.d.ts +9 -0
  227. package/lib/typescript/src/NavigationRouteContext.d.ts +7 -0
  228. package/lib/typescript/src/NavigationStateContext.d.ts +45 -0
  229. package/lib/typescript/src/SceneView.d.ts +21 -0
  230. package/lib/typescript/src/Screen.d.ts +6 -0
  231. package/lib/typescript/src/StaticContainer.d.ts +7 -0
  232. package/lib/typescript/src/UnhandledActionContext.d.ts +4 -0
  233. package/lib/typescript/src/checkDuplicateRouteNames.d.ts +2 -0
  234. package/lib/typescript/src/checkSerializable.d.ts +9 -0
  235. package/lib/typescript/src/createNavigationContainerRef.d.ts +3 -0
  236. package/lib/typescript/src/createNavigatorFactory.d.ts +11 -0
  237. package/lib/typescript/src/findFocusedRoute.d.ts +22 -0
  238. package/lib/typescript/src/fromEntries.d.ts +1 -0
  239. package/lib/typescript/src/getActionFromState.d.ts +16 -0
  240. package/lib/typescript/src/getFocusedRouteNameFromRoute.d.ts +2 -0
  241. package/lib/typescript/src/getPathFromState.d.ts +38 -0
  242. package/lib/typescript/src/getStateFromPath.d.ts +32 -0
  243. package/lib/typescript/src/index.d.ts +23 -0
  244. package/lib/typescript/src/isArrayEqual.d.ts +5 -0
  245. package/lib/typescript/src/types.d.ts +485 -0
  246. package/lib/typescript/src/useChildListeners.d.ts +11 -0
  247. package/lib/typescript/src/useComponent.d.ts +2 -0
  248. package/lib/typescript/src/useCurrentRender.d.ts +13 -0
  249. package/lib/typescript/src/useDescriptors.d.ts +89 -0
  250. package/lib/typescript/src/useEventEmitter.d.ts +8 -0
  251. package/lib/typescript/src/useFocusEffect.d.ts +10 -0
  252. package/lib/typescript/src/useFocusEvents.d.ts +12 -0
  253. package/lib/typescript/src/useFocusedListenersChildrenAdapter.d.ts +12 -0
  254. package/lib/typescript/src/useIsFocused.d.ts +5 -0
  255. package/lib/typescript/src/useKeyedChildListeners.d.ts +11 -0
  256. package/lib/typescript/src/useNavigation.d.ts +7 -0
  257. package/lib/typescript/src/useNavigationBuilder.d.ts +223 -0
  258. package/lib/typescript/src/useNavigationCache.d.ts +19 -0
  259. package/lib/typescript/src/useNavigationContainerRef.d.ts +2 -0
  260. package/lib/typescript/src/useNavigationHelpers.d.ts +174 -0
  261. package/lib/typescript/src/useNavigationState.d.ts +9 -0
  262. package/lib/typescript/src/useOnAction.d.ts +25 -0
  263. package/lib/typescript/src/useOnGetState.d.ts +8 -0
  264. package/lib/typescript/src/useOnPreventRemove.d.ts +16 -0
  265. package/lib/typescript/src/useOnRouteFocus.d.ts +14 -0
  266. package/lib/typescript/src/useOptionsGetters.d.ts +12 -0
  267. package/lib/typescript/src/useRegisterNavigator.d.ts +5 -0
  268. package/lib/typescript/src/useRoute.d.ts +8 -0
  269. package/lib/typescript/src/useRouteCache.d.ts +13 -0
  270. package/lib/typescript/src/useScheduleUpdate.d.ts +13 -0
  271. package/lib/typescript/src/useSyncState.d.ts +4 -0
  272. package/lib/typescript/src/validatePathConfig.d.ts +1 -0
  273. package/package.json +73 -0
  274. package/src/BaseNavigationContainer.tsx +453 -0
  275. package/src/CurrentRenderContext.tsx +10 -0
  276. package/src/EnsureSingleNavigator.tsx +53 -0
  277. package/src/Group.tsx +14 -0
  278. package/src/NavigationBuilderContext.tsx +70 -0
  279. package/src/NavigationContainerRefContext.tsx +14 -0
  280. package/src/NavigationContext.tsx +12 -0
  281. package/src/NavigationHelpersContext.tsx +13 -0
  282. package/src/NavigationRouteContext.tsx +10 -0
  283. package/src/NavigationStateContext.tsx +39 -0
  284. package/src/SceneView.tsx +134 -0
  285. package/src/Screen.tsx +17 -0
  286. package/src/StaticContainer.tsx +29 -0
  287. package/src/UnhandledActionContext.tsx +9 -0
  288. package/src/checkDuplicateRouteNames.tsx +33 -0
  289. package/src/checkSerializable.tsx +74 -0
  290. package/src/createNavigationContainerRef.tsx +97 -0
  291. package/src/createNavigatorFactory.tsx +40 -0
  292. package/src/findFocusedRoute.tsx +13 -0
  293. package/src/fromEntries.tsx +13 -0
  294. package/src/getActionFromState.tsx +154 -0
  295. package/src/getFocusedRouteNameFromRoute.tsx +28 -0
  296. package/src/getPathFromState.tsx +297 -0
  297. package/src/getStateFromPath.tsx +575 -0
  298. package/src/index.tsx +23 -0
  299. package/src/isArrayEqual.tsx +7 -0
  300. package/src/types.tsx +645 -0
  301. package/src/useChildListeners.tsx +37 -0
  302. package/src/useComponent.tsx +30 -0
  303. package/src/useCurrentRender.tsx +35 -0
  304. package/src/useDescriptors.tsx +229 -0
  305. package/src/useEventEmitter.tsx +130 -0
  306. package/src/useFocusEffect.tsx +112 -0
  307. package/src/useFocusEvents.tsx +73 -0
  308. package/src/useFocusedListenersChildrenAdapter.tsx +47 -0
  309. package/src/useIsFocused.tsx +43 -0
  310. package/src/useKeyedChildListeners.tsx +40 -0
  311. package/src/useNavigation.tsx +26 -0
  312. package/src/useNavigationBuilder.tsx +640 -0
  313. package/src/useNavigationCache.tsx +159 -0
  314. package/src/useNavigationContainerRef.tsx +17 -0
  315. package/src/useNavigationHelpers.tsx +98 -0
  316. package/src/useNavigationState.tsx +41 -0
  317. package/src/useOnAction.tsx +166 -0
  318. package/src/useOnGetState.tsx +47 -0
  319. package/src/useOnPreventRemove.tsx +99 -0
  320. package/src/useOnRouteFocus.tsx +47 -0
  321. package/src/useOptionsGetters.tsx +98 -0
  322. package/src/useRegisterNavigator.tsx +29 -0
  323. package/src/useRoute.tsx +22 -0
  324. package/src/useRouteCache.tsx +55 -0
  325. package/src/useScheduleUpdate.tsx +32 -0
  326. package/src/useSyncState.tsx +74 -0
  327. package/src/validatePathConfig.tsx +32 -0
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var React = _interopRequireWildcard(require("react"));
9
+
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
+
12
+ 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; }
13
+
14
+ /**
15
+ * Context which holds the route prop for a screen.
16
+ */
17
+ const NavigationContainerRefContext = /*#__PURE__*/React.createContext(undefined);
18
+ var _default = NavigationContainerRefContext;
19
+ exports.default = _default;
20
+ //# sourceMappingURL=NavigationContainerRefContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["NavigationContainerRefContext.tsx"],"names":["NavigationContainerRefContext","React","createContext","undefined"],"mappings":";;;;;;;AACA;;;;;;AAIA;AACA;AACA;AACA,MAAMA,6BAA6B,gBACjCC,KAAK,CAACC,aAAN,CACEC,SADF,CADF;eAKeH,6B","sourcesContent":["import type { ParamListBase } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport type { NavigationContainerRef } from './types';\n\n/**\n * Context which holds the route prop for a screen.\n */\nconst NavigationContainerRefContext =\n React.createContext<NavigationContainerRef<ParamListBase> | undefined>(\n undefined\n );\n\nexport default NavigationContainerRefContext;\n"]}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var React = _interopRequireWildcard(require("react"));
9
+
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
+
12
+ 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; }
13
+
14
+ /**
15
+ * Context which holds the navigation prop for a screen.
16
+ */
17
+ const NavigationContext = /*#__PURE__*/React.createContext(undefined);
18
+ var _default = NavigationContext;
19
+ exports.default = _default;
20
+ //# sourceMappingURL=NavigationContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["NavigationContext.tsx"],"names":["NavigationContext","React","createContext","undefined"],"mappings":";;;;;;;AACA;;;;;;AAIA;AACA;AACA;AACA,MAAMA,iBAAiB,gBACrBC,KAAK,CAACC,aAAN,CAA+DC,SAA/D,CADF;eAGeH,iB","sourcesContent":["import type { ParamListBase } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport type { NavigationProp } from './types';\n\n/**\n * Context which holds the navigation prop for a screen.\n */\nconst NavigationContext =\n React.createContext<NavigationProp<ParamListBase> | undefined>(undefined);\n\nexport default NavigationContext;\n"]}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var React = _interopRequireWildcard(require("react"));
9
+
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
+
12
+ 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; }
13
+
14
+ /**
15
+ * Context which holds the navigation helpers of the parent navigator.
16
+ * Navigators should use this context in their view component.
17
+ */
18
+ const NavigationHelpersContext = /*#__PURE__*/React.createContext(undefined);
19
+ var _default = NavigationHelpersContext;
20
+ exports.default = _default;
21
+ //# sourceMappingURL=NavigationHelpersContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["NavigationHelpersContext.tsx"],"names":["NavigationHelpersContext","React","createContext","undefined"],"mappings":";;;;;;;AACA;;;;;;AAIA;AACA;AACA;AACA;AACA,MAAMA,wBAAwB,gBAC5BC,KAAK,CAACC,aAAN,CAAkEC,SAAlE,CADF;eAGeH,wB","sourcesContent":["import type { ParamListBase } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport type { NavigationHelpers } from './types';\n\n/**\n * Context which holds the navigation helpers of the parent navigator.\n * Navigators should use this context in their view component.\n */\nconst NavigationHelpersContext =\n React.createContext<NavigationHelpers<ParamListBase> | undefined>(undefined);\n\nexport default NavigationHelpersContext;\n"]}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var React = _interopRequireWildcard(require("react"));
9
+
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
+
12
+ 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; }
13
+
14
+ /**
15
+ * Context which holds the route prop for a screen.
16
+ */
17
+ const NavigationRouteContext = /*#__PURE__*/React.createContext(undefined);
18
+ var _default = NavigationRouteContext;
19
+ exports.default = _default;
20
+ //# sourceMappingURL=NavigationRouteContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["NavigationRouteContext.tsx"],"names":["NavigationRouteContext","React","createContext","undefined"],"mappings":";;;;;;;AACA;;;;;;AAEA;AACA;AACA;AACA,MAAMA,sBAAsB,gBAC1BC,KAAK,CAACC,aAAN,CAA+CC,SAA/C,CADF;eAGeH,sB","sourcesContent":["import type { Route } from '@react-navigation/routers';\nimport * as React from 'react';\n\n/**\n * Context which holds the route prop for a screen.\n */\nconst NavigationRouteContext =\n React.createContext<Route<string> | undefined>(undefined);\n\nexport default NavigationRouteContext;\n"]}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var React = _interopRequireWildcard(require("react"));
9
+
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
+
12
+ 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; }
13
+
14
+ const MISSING_CONTEXT_ERROR = "Couldn't find a navigation context. Have you wrapped your app with 'NavigationContainer'? See https://reactnavigation.org/docs/getting-started for setup instructions.";
15
+
16
+ var _default = /*#__PURE__*/React.createContext({
17
+ isDefault: true,
18
+
19
+ get getKey() {
20
+ throw new Error(MISSING_CONTEXT_ERROR);
21
+ },
22
+
23
+ get setKey() {
24
+ throw new Error(MISSING_CONTEXT_ERROR);
25
+ },
26
+
27
+ get getState() {
28
+ throw new Error(MISSING_CONTEXT_ERROR);
29
+ },
30
+
31
+ get setState() {
32
+ throw new Error(MISSING_CONTEXT_ERROR);
33
+ },
34
+
35
+ get getIsInitial() {
36
+ throw new Error(MISSING_CONTEXT_ERROR);
37
+ }
38
+
39
+ });
40
+
41
+ exports.default = _default;
42
+ //# sourceMappingURL=NavigationStateContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["NavigationStateContext.tsx"],"names":["MISSING_CONTEXT_ERROR","React","createContext","isDefault","getKey","Error","setKey","getState","setState","getIsInitial"],"mappings":";;;;;;;AACA;;;;;;AAEA,MAAMA,qBAAqB,GACzB,wKADF;;4BAGeC,KAAK,CAACC,aAAN,CAcZ;AACDC,EAAAA,SAAS,EAAE,IADV;;AAGD,MAAIC,MAAJ,GAAkB;AAChB,UAAM,IAAIC,KAAJ,CAAUL,qBAAV,CAAN;AACD,GALA;;AAMD,MAAIM,MAAJ,GAAkB;AAChB,UAAM,IAAID,KAAJ,CAAUL,qBAAV,CAAN;AACD,GARA;;AASD,MAAIO,QAAJ,GAAoB;AAClB,UAAM,IAAIF,KAAJ,CAAUL,qBAAV,CAAN;AACD,GAXA;;AAYD,MAAIQ,QAAJ,GAAoB;AAClB,UAAM,IAAIH,KAAJ,CAAUL,qBAAV,CAAN;AACD,GAdA;;AAeD,MAAIS,YAAJ,GAAwB;AACtB,UAAM,IAAIJ,KAAJ,CAAUL,qBAAV,CAAN;AACD;;AAjBA,CAdY,C","sourcesContent":["import type { NavigationState, PartialState } from '@react-navigation/routers';\nimport * as React from 'react';\n\nconst MISSING_CONTEXT_ERROR =\n \"Couldn't find a navigation context. Have you wrapped your app with 'NavigationContainer'? See https://reactnavigation.org/docs/getting-started for setup instructions.\";\n\nexport default React.createContext<{\n isDefault?: true;\n state?: NavigationState | PartialState<NavigationState>;\n getKey: () => string | undefined;\n setKey: (key: string) => void;\n getState: () => NavigationState | PartialState<NavigationState> | undefined;\n setState: (\n state: NavigationState | PartialState<NavigationState> | undefined\n ) => void;\n getIsInitial: () => boolean;\n addOptionsGetter?: (\n key: string,\n getter: () => object | undefined | null\n ) => void;\n}>({\n isDefault: true,\n\n get getKey(): any {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n get setKey(): any {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n get getState(): any {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n get setState(): any {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n get getIsInitial(): any {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n});\n"]}
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = SceneView;
7
+
8
+ var React = _interopRequireWildcard(require("react"));
9
+
10
+ var _EnsureSingleNavigator = _interopRequireDefault(require("./EnsureSingleNavigator"));
11
+
12
+ var _NavigationStateContext = _interopRequireDefault(require("./NavigationStateContext"));
13
+
14
+ var _StaticContainer = _interopRequireDefault(require("./StaticContainer"));
15
+
16
+ var _useOptionsGetters = _interopRequireDefault(require("./useOptionsGetters"));
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+
20
+ 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); }
21
+
22
+ 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; }
23
+
24
+ /**
25
+ * Component which takes care of rendering the screen for a route.
26
+ * It provides all required contexts and applies optimizations when applicable.
27
+ */
28
+ function SceneView({
29
+ screen,
30
+ route,
31
+ navigation,
32
+ routeState,
33
+ getState,
34
+ setState,
35
+ options,
36
+ clearOptions
37
+ }) {
38
+ const navigatorKeyRef = React.useRef();
39
+ const getKey = React.useCallback(() => navigatorKeyRef.current, []);
40
+ const {
41
+ addOptionsGetter
42
+ } = (0, _useOptionsGetters.default)({
43
+ key: route.key,
44
+ options,
45
+ navigation
46
+ });
47
+ const setKey = React.useCallback(key => {
48
+ navigatorKeyRef.current = key;
49
+ }, []);
50
+ const getCurrentState = React.useCallback(() => {
51
+ const state = getState();
52
+ const currentRoute = state.routes.find(r => r.key === route.key);
53
+ return currentRoute ? currentRoute.state : undefined;
54
+ }, [getState, route.key]);
55
+ const setCurrentState = React.useCallback(child => {
56
+ const state = getState();
57
+ setState({ ...state,
58
+ routes: state.routes.map(r => r.key === route.key ? { ...r,
59
+ state: child
60
+ } : r)
61
+ });
62
+ }, [getState, route.key, setState]);
63
+ const isInitialRef = React.useRef(true);
64
+ React.useEffect(() => {
65
+ isInitialRef.current = false;
66
+ }); // Clear options set by this screen when it is unmounted
67
+
68
+ React.useEffect(() => {
69
+ return clearOptions; // eslint-disable-next-line react-hooks/exhaustive-deps
70
+ }, []);
71
+ const getIsInitial = React.useCallback(() => isInitialRef.current, []);
72
+ const context = React.useMemo(() => ({
73
+ state: routeState,
74
+ getState: getCurrentState,
75
+ setState: setCurrentState,
76
+ getKey,
77
+ setKey,
78
+ getIsInitial,
79
+ addOptionsGetter
80
+ }), [routeState, getCurrentState, setCurrentState, getKey, setKey, getIsInitial, addOptionsGetter]);
81
+ const ScreenComponent = screen.getComponent ? screen.getComponent() : screen.component;
82
+ return /*#__PURE__*/React.createElement(_NavigationStateContext.default.Provider, {
83
+ value: context
84
+ }, /*#__PURE__*/React.createElement(_EnsureSingleNavigator.default, null, /*#__PURE__*/React.createElement(_StaticContainer.default, {
85
+ name: screen.name,
86
+ render: ScreenComponent || screen.children,
87
+ navigation: navigation,
88
+ route: route
89
+ }, ScreenComponent !== undefined ? /*#__PURE__*/React.createElement(ScreenComponent, {
90
+ navigation: navigation,
91
+ route: route
92
+ }) : screen.children !== undefined ? screen.children({
93
+ navigation,
94
+ route
95
+ }) : null)));
96
+ }
97
+ //# sourceMappingURL=SceneView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["SceneView.tsx"],"names":["SceneView","screen","route","navigation","routeState","getState","setState","options","clearOptions","navigatorKeyRef","React","useRef","getKey","useCallback","current","addOptionsGetter","key","setKey","getCurrentState","state","currentRoute","routes","find","r","undefined","setCurrentState","child","map","isInitialRef","useEffect","getIsInitial","context","useMemo","ScreenComponent","getComponent","component","name","children"],"mappings":";;;;;;;AAMA;;AAEA;;AACA;;AACA;;AAEA;;;;;;;;AAaA;AACA;AACA;AACA;AACe,SAASA,SAAT,CAGb;AACAC,EAAAA,MADA;AAEAC,EAAAA,KAFA;AAGAC,EAAAA,UAHA;AAIAC,EAAAA,UAJA;AAKAC,EAAAA,QALA;AAMAC,EAAAA,QANA;AAOAC,EAAAA,OAPA;AAQAC,EAAAA;AARA,CAHa,EAYiB;AAC9B,QAAMC,eAAe,GAAGC,KAAK,CAACC,MAAN,EAAxB;AACA,QAAMC,MAAM,GAAGF,KAAK,CAACG,WAAN,CAAkB,MAAMJ,eAAe,CAACK,OAAxC,EAAiD,EAAjD,CAAf;AAEA,QAAM;AAAEC,IAAAA;AAAF,MAAuB,gCAAkB;AAC7CC,IAAAA,GAAG,EAAEd,KAAK,CAACc,GADkC;AAE7CT,IAAAA,OAF6C;AAG7CJ,IAAAA;AAH6C,GAAlB,CAA7B;AAMA,QAAMc,MAAM,GAAGP,KAAK,CAACG,WAAN,CAAmBG,GAAD,IAAiB;AAChDP,IAAAA,eAAe,CAACK,OAAhB,GAA0BE,GAA1B;AACD,GAFc,EAEZ,EAFY,CAAf;AAIA,QAAME,eAAe,GAAGR,KAAK,CAACG,WAAN,CAAkB,MAAM;AAC9C,UAAMM,KAAK,GAAGd,QAAQ,EAAtB;AACA,UAAMe,YAAY,GAAGD,KAAK,CAACE,MAAN,CAAaC,IAAb,CAAmBC,CAAD,IAAOA,CAAC,CAACP,GAAF,KAAUd,KAAK,CAACc,GAAzC,CAArB;AAEA,WAAOI,YAAY,GAAGA,YAAY,CAACD,KAAhB,GAAwBK,SAA3C;AACD,GALuB,EAKrB,CAACnB,QAAD,EAAWH,KAAK,CAACc,GAAjB,CALqB,CAAxB;AAOA,QAAMS,eAAe,GAAGf,KAAK,CAACG,WAAN,CACrBa,KAAD,IAAwE;AACtE,UAAMP,KAAK,GAAGd,QAAQ,EAAtB;AAEAC,IAAAA,QAAQ,CAAC,EACP,GAAGa,KADI;AAEPE,MAAAA,MAAM,EAAEF,KAAK,CAACE,MAAN,CAAaM,GAAb,CAAkBJ,CAAD,IACvBA,CAAC,CAACP,GAAF,KAAUd,KAAK,CAACc,GAAhB,GAAsB,EAAE,GAAGO,CAAL;AAAQJ,QAAAA,KAAK,EAAEO;AAAf,OAAtB,GAA+CH,CADzC;AAFD,KAAD,CAAR;AAMD,GAVqB,EAWtB,CAAClB,QAAD,EAAWH,KAAK,CAACc,GAAjB,EAAsBV,QAAtB,CAXsB,CAAxB;AAcA,QAAMsB,YAAY,GAAGlB,KAAK,CAACC,MAAN,CAAa,IAAb,CAArB;AAEAD,EAAAA,KAAK,CAACmB,SAAN,CAAgB,MAAM;AACpBD,IAAAA,YAAY,CAACd,OAAb,GAAuB,KAAvB;AACD,GAFD,EArC8B,CAyC9B;;AACAJ,EAAAA,KAAK,CAACmB,SAAN,CAAgB,MAAM;AACpB,WAAOrB,YAAP,CADoB,CAEpB;AACD,GAHD,EAGG,EAHH;AAKA,QAAMsB,YAAY,GAAGpB,KAAK,CAACG,WAAN,CAAkB,MAAMe,YAAY,CAACd,OAArC,EAA8C,EAA9C,CAArB;AAEA,QAAMiB,OAAO,GAAGrB,KAAK,CAACsB,OAAN,CACd,OAAO;AACLb,IAAAA,KAAK,EAAEf,UADF;AAELC,IAAAA,QAAQ,EAAEa,eAFL;AAGLZ,IAAAA,QAAQ,EAAEmB,eAHL;AAILb,IAAAA,MAJK;AAKLK,IAAAA,MALK;AAMLa,IAAAA,YANK;AAOLf,IAAAA;AAPK,GAAP,CADc,EAUd,CACEX,UADF,EAEEc,eAFF,EAGEO,eAHF,EAIEb,MAJF,EAKEK,MALF,EAMEa,YANF,EAOEf,gBAPF,CAVc,CAAhB;AAqBA,QAAMkB,eAAe,GAAGhC,MAAM,CAACiC,YAAP,GACpBjC,MAAM,CAACiC,YAAP,EADoB,GAEpBjC,MAAM,CAACkC,SAFX;AAIA,sBACE,oBAAC,+BAAD,CAAwB,QAAxB;AAAiC,IAAA,KAAK,EAAEJ;AAAxC,kBACE,oBAAC,8BAAD,qBACE,oBAAC,wBAAD;AACE,IAAA,IAAI,EAAE9B,MAAM,CAACmC,IADf;AAEE,IAAA,MAAM,EAAEH,eAAe,IAAIhC,MAAM,CAACoC,QAFpC;AAGE,IAAA,UAAU,EAAElC,UAHd;AAIE,IAAA,KAAK,EAAED;AAJT,KAMG+B,eAAe,KAAKT,SAApB,gBACC,oBAAC,eAAD;AAAiB,IAAA,UAAU,EAAErB,UAA7B;AAAyC,IAAA,KAAK,EAAED;AAAhD,IADD,GAEGD,MAAM,CAACoC,QAAP,KAAoBb,SAApB,GACFvB,MAAM,CAACoC,QAAP,CAAgB;AAAElC,IAAAA,UAAF;AAAcD,IAAAA;AAAd,GAAhB,CADE,GAEA,IAVN,CADF,CADF,CADF;AAkBD","sourcesContent":["import type {\n NavigationState,\n ParamListBase,\n PartialState,\n Route,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport EnsureSingleNavigator from './EnsureSingleNavigator';\nimport NavigationStateContext from './NavigationStateContext';\nimport StaticContainer from './StaticContainer';\nimport type { NavigationProp, RouteConfigComponent } from './types';\nimport useOptionsGetters from './useOptionsGetters';\n\ntype Props<State extends NavigationState, ScreenOptions extends {}> = {\n screen: RouteConfigComponent<ParamListBase, string> & { name: string };\n navigation: NavigationProp<ParamListBase, string, State, ScreenOptions>;\n route: Route<string>;\n routeState: NavigationState | PartialState<NavigationState> | undefined;\n getState: () => State;\n setState: (state: State) => void;\n options: object;\n clearOptions: () => void;\n};\n\n/**\n * Component which takes care of rendering the screen for a route.\n * It provides all required contexts and applies optimizations when applicable.\n */\nexport default function SceneView<\n State extends NavigationState,\n ScreenOptions extends {}\n>({\n screen,\n route,\n navigation,\n routeState,\n getState,\n setState,\n options,\n clearOptions,\n}: Props<State, ScreenOptions>) {\n const navigatorKeyRef = React.useRef<string | undefined>();\n const getKey = React.useCallback(() => navigatorKeyRef.current, []);\n\n const { addOptionsGetter } = useOptionsGetters({\n key: route.key,\n options,\n navigation,\n });\n\n const setKey = React.useCallback((key: string) => {\n navigatorKeyRef.current = key;\n }, []);\n\n const getCurrentState = React.useCallback(() => {\n const state = getState();\n const currentRoute = state.routes.find((r) => r.key === route.key);\n\n return currentRoute ? currentRoute.state : undefined;\n }, [getState, route.key]);\n\n const setCurrentState = React.useCallback(\n (child: NavigationState | PartialState<NavigationState> | undefined) => {\n const state = getState();\n\n setState({\n ...state,\n routes: state.routes.map((r) =>\n r.key === route.key ? { ...r, state: child } : r\n ),\n });\n },\n [getState, route.key, setState]\n );\n\n const isInitialRef = React.useRef(true);\n\n React.useEffect(() => {\n isInitialRef.current = false;\n });\n\n // Clear options set by this screen when it is unmounted\n React.useEffect(() => {\n return clearOptions;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const getIsInitial = React.useCallback(() => isInitialRef.current, []);\n\n const context = React.useMemo(\n () => ({\n state: routeState,\n getState: getCurrentState,\n setState: setCurrentState,\n getKey,\n setKey,\n getIsInitial,\n addOptionsGetter,\n }),\n [\n routeState,\n getCurrentState,\n setCurrentState,\n getKey,\n setKey,\n getIsInitial,\n addOptionsGetter,\n ]\n );\n\n const ScreenComponent = screen.getComponent\n ? screen.getComponent()\n : screen.component;\n\n return (\n <NavigationStateContext.Provider value={context}>\n <EnsureSingleNavigator>\n <StaticContainer\n name={screen.name}\n render={ScreenComponent || screen.children}\n navigation={navigation}\n route={route}\n >\n {ScreenComponent !== undefined ? (\n <ScreenComponent navigation={navigation} route={route} />\n ) : screen.children !== undefined ? (\n screen.children({ navigation, route })\n ) : null}\n </StaticContainer>\n </EnsureSingleNavigator>\n </NavigationStateContext.Provider>\n );\n}\n"]}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = Screen;
7
+
8
+ /**
9
+ * Empty component used for specifying route configuration.
10
+ */
11
+ function Screen(_) {
12
+ /* istanbul ignore next */
13
+ return null;
14
+ }
15
+ //# sourceMappingURL=Screen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["Screen.tsx"],"names":["Screen","_"],"mappings":";;;;;;;AAIA;AACA;AACA;AACe,SAASA,MAAT,CAMbC,CANa,EAMyD;AACtE;AACA,SAAO,IAAP;AACD","sourcesContent":["import type { NavigationState, ParamListBase } from '@react-navigation/routers';\n\nimport type { EventMapBase, RouteConfig } from './types';\n\n/**\n * Empty component used for specifying route configuration.\n */\nexport default function Screen<\n ParamList extends ParamListBase,\n RouteName extends keyof ParamList,\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends EventMapBase\n>(_: RouteConfig<ParamList, RouteName, State, ScreenOptions, EventMap>) {\n /* istanbul ignore next */\n return null;\n}\n"]}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var React = _interopRequireWildcard(require("react"));
9
+
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
+
12
+ 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; }
13
+
14
+ /**
15
+ * Component which prevents updates for children if no props changed
16
+ */
17
+ function StaticContainer(props) {
18
+ return props.children;
19
+ }
20
+
21
+ var _default = /*#__PURE__*/React.memo(StaticContainer, (prevProps, nextProps) => {
22
+ const prevPropKeys = Object.keys(prevProps);
23
+ const nextPropKeys = Object.keys(nextProps);
24
+
25
+ if (prevPropKeys.length !== nextPropKeys.length) {
26
+ return false;
27
+ }
28
+
29
+ for (const key of prevPropKeys) {
30
+ if (key === 'children') {
31
+ continue;
32
+ }
33
+
34
+ if (prevProps[key] !== nextProps[key]) {
35
+ return false;
36
+ }
37
+ }
38
+
39
+ return true;
40
+ });
41
+
42
+ exports.default = _default;
43
+ //# sourceMappingURL=StaticContainer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["StaticContainer.tsx"],"names":["StaticContainer","props","children","React","memo","prevProps","nextProps","prevPropKeys","Object","keys","nextPropKeys","length","key"],"mappings":";;;;;;;AAAA;;;;;;AAEA;AACA;AACA;AACA,SAASA,eAAT,CAAyBC,KAAzB,EAAqC;AACnC,SAAOA,KAAK,CAACC,QAAb;AACD;;4BAEcC,KAAK,CAACC,IAAN,CAAWJ,eAAX,EAA4B,CAACK,SAAD,EAAiBC,SAAjB,KAAoC;AAC7E,QAAMC,YAAY,GAAGC,MAAM,CAACC,IAAP,CAAYJ,SAAZ,CAArB;AACA,QAAMK,YAAY,GAAGF,MAAM,CAACC,IAAP,CAAYH,SAAZ,CAArB;;AAEA,MAAIC,YAAY,CAACI,MAAb,KAAwBD,YAAY,CAACC,MAAzC,EAAiD;AAC/C,WAAO,KAAP;AACD;;AAED,OAAK,MAAMC,GAAX,IAAkBL,YAAlB,EAAgC;AAC9B,QAAIK,GAAG,KAAK,UAAZ,EAAwB;AACtB;AACD;;AAED,QAAIP,SAAS,CAACO,GAAD,CAAT,KAAmBN,SAAS,CAACM,GAAD,CAAhC,EAAuC;AACrC,aAAO,KAAP;AACD;AACF;;AAED,SAAO,IAAP;AACD,CAnBc,C","sourcesContent":["import * as React from 'react';\n\n/**\n * Component which prevents updates for children if no props changed\n */\nfunction StaticContainer(props: any) {\n return props.children;\n}\n\nexport default React.memo(StaticContainer, (prevProps: any, nextProps: any) => {\n const prevPropKeys = Object.keys(prevProps);\n const nextPropKeys = Object.keys(nextProps);\n\n if (prevPropKeys.length !== nextPropKeys.length) {\n return false;\n }\n\n for (const key of prevPropKeys) {\n if (key === 'children') {\n continue;\n }\n\n if (prevProps[key] !== nextProps[key]) {\n return false;\n }\n }\n\n return true;\n});\n"]}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var React = _interopRequireWildcard(require("react"));
9
+
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
+
12
+ 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; }
13
+
14
+ const UnhandledActionContext = /*#__PURE__*/React.createContext(undefined);
15
+ var _default = UnhandledActionContext;
16
+ exports.default = _default;
17
+ //# sourceMappingURL=UnhandledActionContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["UnhandledActionContext.tsx"],"names":["UnhandledActionContext","React","createContext","undefined"],"mappings":";;;;;;;AACA;;;;;;AAEA,MAAMA,sBAAsB,gBAC1BC,KAAK,CAACC,aAAN,CACEC,SADF,CADF;eAKeH,sB","sourcesContent":["import type { NavigationAction } from '@react-navigation/routers';\nimport * as React from 'react';\n\nconst UnhandledActionContext =\n React.createContext<((action: NavigationAction) => void) | undefined>(\n undefined\n );\n\nexport default UnhandledActionContext;\n"]}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = checkDuplicateRouteNames;
7
+
8
+ function checkDuplicateRouteNames(state) {
9
+ const duplicates = [];
10
+
11
+ const getRouteNames = (location, state) => {
12
+ state.routes.forEach(route => {
13
+ var _route$state, _route$state$routeNam;
14
+
15
+ const currentLocation = location ? `${location} > ${route.name}` : route.name;
16
+ (_route$state = route.state) === null || _route$state === void 0 ? void 0 : (_route$state$routeNam = _route$state.routeNames) === null || _route$state$routeNam === void 0 ? void 0 : _route$state$routeNam.forEach(routeName => {
17
+ if (routeName === route.name) {
18
+ duplicates.push([currentLocation, `${currentLocation} > ${route.name}`]);
19
+ }
20
+ });
21
+
22
+ if (route.state) {
23
+ getRouteNames(currentLocation, route.state);
24
+ }
25
+ });
26
+ };
27
+
28
+ getRouteNames('', state);
29
+ return duplicates;
30
+ }
31
+ //# sourceMappingURL=checkDuplicateRouteNames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["checkDuplicateRouteNames.tsx"],"names":["checkDuplicateRouteNames","state","duplicates","getRouteNames","location","routes","forEach","route","currentLocation","name","routeNames","routeName","push"],"mappings":";;;;;;;AAEe,SAASA,wBAAT,CAAkCC,KAAlC,EAA0D;AACvE,QAAMC,UAAsB,GAAG,EAA/B;;AAEA,QAAMC,aAAa,GAAG,CACpBC,QADoB,EAEpBH,KAFoB,KAGjB;AACHA,IAAAA,KAAK,CAACI,MAAN,CAAaC,OAAb,CAAsBC,KAAD,IAAmC;AAAA;;AACtD,YAAMC,eAAe,GAAGJ,QAAQ,GAC3B,GAAEA,QAAS,MAAKG,KAAK,CAACE,IAAK,EADA,GAE5BF,KAAK,CAACE,IAFV;AAIA,sBAAAF,KAAK,CAACN,KAAN,uFAAaS,UAAb,gFAAyBJ,OAAzB,CAAkCK,SAAD,IAAe;AAC9C,YAAIA,SAAS,KAAKJ,KAAK,CAACE,IAAxB,EAA8B;AAC5BP,UAAAA,UAAU,CAACU,IAAX,CAAgB,CACdJ,eADc,EAEb,GAAEA,eAAgB,MAAKD,KAAK,CAACE,IAAK,EAFrB,CAAhB;AAID;AACF,OAPD;;AASA,UAAIF,KAAK,CAACN,KAAV,EAAiB;AACfE,QAAAA,aAAa,CAACK,eAAD,EAAkBD,KAAK,CAACN,KAAxB,CAAb;AACD;AACF,KAjBD;AAkBD,GAtBD;;AAwBAE,EAAAA,aAAa,CAAC,EAAD,EAAKF,KAAL,CAAb;AAEA,SAAOC,UAAP;AACD","sourcesContent":["import type { NavigationState, PartialState } from '@react-navigation/routers';\n\nexport default function checkDuplicateRouteNames(state: NavigationState) {\n const duplicates: string[][] = [];\n\n const getRouteNames = (\n location: string,\n state: NavigationState | PartialState<NavigationState>\n ) => {\n state.routes.forEach((route: typeof state.routes[0]) => {\n const currentLocation = location\n ? `${location} > ${route.name}`\n : route.name;\n\n route.state?.routeNames?.forEach((routeName) => {\n if (routeName === route.name) {\n duplicates.push([\n currentLocation,\n `${currentLocation} > ${route.name}`,\n ]);\n }\n });\n\n if (route.state) {\n getRouteNames(currentLocation, route.state);\n }\n });\n };\n\n getRouteNames('', state);\n\n return duplicates;\n}\n"]}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = checkSerializable;
7
+
8
+ const checkSerializableWithoutCircularReference = (o, seen, location) => {
9
+ if (o === undefined || o === null || typeof o === 'boolean' || typeof o === 'number' || typeof o === 'string') {
10
+ return {
11
+ serializable: true
12
+ };
13
+ }
14
+
15
+ if (Object.prototype.toString.call(o) !== '[object Object]' && !Array.isArray(o)) {
16
+ return {
17
+ serializable: false,
18
+ location,
19
+ reason: typeof o === 'function' ? 'Function' : String(o)
20
+ };
21
+ }
22
+
23
+ if (seen.has(o)) {
24
+ return {
25
+ serializable: false,
26
+ reason: 'Circular reference',
27
+ location
28
+ };
29
+ }
30
+
31
+ seen.add(o);
32
+
33
+ if (Array.isArray(o)) {
34
+ for (let i = 0; i < o.length; i++) {
35
+ const childResult = checkSerializableWithoutCircularReference(o[i], new Set(seen), [...location, i]);
36
+
37
+ if (!childResult.serializable) {
38
+ return childResult;
39
+ }
40
+ }
41
+ } else {
42
+ for (const key in o) {
43
+ const childResult = checkSerializableWithoutCircularReference(o[key], new Set(seen), [...location, key]);
44
+
45
+ if (!childResult.serializable) {
46
+ return childResult;
47
+ }
48
+ }
49
+ }
50
+
51
+ return {
52
+ serializable: true
53
+ };
54
+ };
55
+
56
+ function checkSerializable(o) {
57
+ return checkSerializableWithoutCircularReference(o, new Set(), []);
58
+ }
59
+ //# sourceMappingURL=checkSerializable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["checkSerializable.tsx"],"names":["checkSerializableWithoutCircularReference","o","seen","location","undefined","serializable","Object","prototype","toString","call","Array","isArray","reason","String","has","add","i","length","childResult","Set","key","checkSerializable"],"mappings":";;;;;;;AAAA,MAAMA,yCAAyC,GAAG,CAChDC,CADgD,EAEhDC,IAFgD,EAGhDC,QAHgD,KAUzC;AACP,MACEF,CAAC,KAAKG,SAAN,IACAH,CAAC,KAAK,IADN,IAEA,OAAOA,CAAP,KAAa,SAFb,IAGA,OAAOA,CAAP,KAAa,QAHb,IAIA,OAAOA,CAAP,KAAa,QALf,EAME;AACA,WAAO;AAAEI,MAAAA,YAAY,EAAE;AAAhB,KAAP;AACD;;AAED,MACEC,MAAM,CAACC,SAAP,CAAiBC,QAAjB,CAA0BC,IAA1B,CAA+BR,CAA/B,MAAsC,iBAAtC,IACA,CAACS,KAAK,CAACC,OAAN,CAAcV,CAAd,CAFH,EAGE;AACA,WAAO;AACLI,MAAAA,YAAY,EAAE,KADT;AAELF,MAAAA,QAFK;AAGLS,MAAAA,MAAM,EAAE,OAAOX,CAAP,KAAa,UAAb,GAA0B,UAA1B,GAAuCY,MAAM,CAACZ,CAAD;AAHhD,KAAP;AAKD;;AAED,MAAIC,IAAI,CAACY,GAAL,CAASb,CAAT,CAAJ,EAAiB;AACf,WAAO;AACLI,MAAAA,YAAY,EAAE,KADT;AAELO,MAAAA,MAAM,EAAE,oBAFH;AAGLT,MAAAA;AAHK,KAAP;AAKD;;AAEDD,EAAAA,IAAI,CAACa,GAAL,CAASd,CAAT;;AAEA,MAAIS,KAAK,CAACC,OAAN,CAAcV,CAAd,CAAJ,EAAsB;AACpB,SAAK,IAAIe,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGf,CAAC,CAACgB,MAAtB,EAA8BD,CAAC,EAA/B,EAAmC;AACjC,YAAME,WAAW,GAAGlB,yCAAyC,CAC3DC,CAAC,CAACe,CAAD,CAD0D,EAE3D,IAAIG,GAAJ,CAAajB,IAAb,CAF2D,EAG3D,CAAC,GAAGC,QAAJ,EAAca,CAAd,CAH2D,CAA7D;;AAMA,UAAI,CAACE,WAAW,CAACb,YAAjB,EAA+B;AAC7B,eAAOa,WAAP;AACD;AACF;AACF,GAZD,MAYO;AACL,SAAK,MAAME,GAAX,IAAkBnB,CAAlB,EAAqB;AACnB,YAAMiB,WAAW,GAAGlB,yCAAyC,CAC3DC,CAAC,CAACmB,GAAD,CAD0D,EAE3D,IAAID,GAAJ,CAAajB,IAAb,CAF2D,EAG3D,CAAC,GAAGC,QAAJ,EAAciB,GAAd,CAH2D,CAA7D;;AAMA,UAAI,CAACF,WAAW,CAACb,YAAjB,EAA+B;AAC7B,eAAOa,WAAP;AACD;AACF;AACF;;AAED,SAAO;AAAEb,IAAAA,YAAY,EAAE;AAAhB,GAAP;AACD,CArED;;AAuEe,SAASgB,iBAAT,CAA2BpB,CAA3B,EAAsD;AACnE,SAAOD,yCAAyC,CAACC,CAAD,EAAI,IAAIkB,GAAJ,EAAJ,EAAoB,EAApB,CAAhD;AACD","sourcesContent":["const checkSerializableWithoutCircularReference = (\n o: { [key: string]: any },\n seen: Set<any>,\n location: (string | number)[]\n):\n | { serializable: true }\n | {\n serializable: false;\n location: (string | number)[];\n reason: string;\n } => {\n if (\n o === undefined ||\n o === null ||\n typeof o === 'boolean' ||\n typeof o === 'number' ||\n typeof o === 'string'\n ) {\n return { serializable: true };\n }\n\n if (\n Object.prototype.toString.call(o) !== '[object Object]' &&\n !Array.isArray(o)\n ) {\n return {\n serializable: false,\n location,\n reason: typeof o === 'function' ? 'Function' : String(o),\n };\n }\n\n if (seen.has(o)) {\n return {\n serializable: false,\n reason: 'Circular reference',\n location,\n };\n }\n\n seen.add(o);\n\n if (Array.isArray(o)) {\n for (let i = 0; i < o.length; i++) {\n const childResult = checkSerializableWithoutCircularReference(\n o[i],\n new Set<any>(seen),\n [...location, i]\n );\n\n if (!childResult.serializable) {\n return childResult;\n }\n }\n } else {\n for (const key in o) {\n const childResult = checkSerializableWithoutCircularReference(\n o[key],\n new Set<any>(seen),\n [...location, key]\n );\n\n if (!childResult.serializable) {\n return childResult;\n }\n }\n }\n\n return { serializable: true };\n};\n\nexport default function checkSerializable(o: { [key: string]: any }) {\n return checkSerializableWithoutCircularReference(o, new Set<any>(), []);\n}\n"]}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = createNavigationContainerRef;
7
+ exports.NOT_INITIALIZED_ERROR = void 0;
8
+
9
+ var _routers = require("@react-navigation/routers");
10
+
11
+ const NOT_INITIALIZED_ERROR = "The 'navigation' object hasn't been initialized yet. This might happen if you don't have a navigator mounted, or if the navigator hasn't finished mounting. See https://reactnavigation.org/docs/navigating-without-navigation-prop#handling-initialization for more details.";
12
+ exports.NOT_INITIALIZED_ERROR = NOT_INITIALIZED_ERROR;
13
+
14
+ function createNavigationContainerRef() {
15
+ const methods = [...Object.keys(_routers.CommonActions), 'addListener', 'removeListener', 'resetRoot', 'dispatch', 'isFocused', 'canGoBack', 'getRootState', 'getState', 'getParent', 'getCurrentRoute', 'getCurrentOptions'];
16
+ const listeners = {};
17
+
18
+ const removeListener = (event, callback) => {
19
+ var _listeners$event;
20
+
21
+ listeners[event] = (_listeners$event = listeners[event]) === null || _listeners$event === void 0 ? void 0 : _listeners$event.filter(cb => cb !== callback);
22
+ };
23
+
24
+ let current = null;
25
+ const ref = {
26
+ get current() {
27
+ return current;
28
+ },
29
+
30
+ set current(value) {
31
+ current = value;
32
+
33
+ if (value != null) {
34
+ Object.entries(listeners).forEach(([event, callbacks]) => {
35
+ callbacks.forEach(callback => {
36
+ value.addListener(event, callback);
37
+ });
38
+ });
39
+ }
40
+ },
41
+
42
+ isReady: () => {
43
+ if (current == null) {
44
+ return false;
45
+ }
46
+
47
+ return current.isReady();
48
+ },
49
+ ...methods.reduce((acc, name) => {
50
+ acc[name] = (...args) => {
51
+ if (current == null) {
52
+ switch (name) {
53
+ case 'addListener':
54
+ {
55
+ const [event, callback] = args;
56
+ listeners[event] = listeners[event] || [];
57
+ listeners[event].push(callback);
58
+ return () => removeListener(event, callback);
59
+ }
60
+
61
+ case 'removeListener':
62
+ {
63
+ const [event, callback] = args;
64
+ removeListener(event, callback);
65
+ break;
66
+ }
67
+
68
+ default:
69
+ console.error(NOT_INITIALIZED_ERROR);
70
+ }
71
+ } else {
72
+ // @ts-expect-error: this is ok
73
+ return current[name](...args);
74
+ }
75
+ };
76
+
77
+ return acc;
78
+ }, {})
79
+ };
80
+ return ref;
81
+ }
82
+ //# sourceMappingURL=createNavigationContainerRef.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["createNavigationContainerRef.tsx"],"names":["NOT_INITIALIZED_ERROR","createNavigationContainerRef","methods","Object","keys","CommonActions","listeners","removeListener","event","callback","filter","cb","current","ref","value","entries","forEach","callbacks","addListener","isReady","reduce","acc","name","args","push","console","error"],"mappings":";;;;;;;;AAAA;;AAQO,MAAMA,qBAAqB,GAChC,+QADK;;;AAGQ,SAASC,4BAAT,GAEmC;AAChD,QAAMC,OAAO,GAAG,CACd,GAAGC,MAAM,CAACC,IAAP,CAAYC,sBAAZ,CADW,EAEd,aAFc,EAGd,gBAHc,EAId,WAJc,EAKd,UALc,EAMd,WANc,EAOd,WAPc,EAQd,cARc,EASd,UATc,EAUd,WAVc,EAWd,iBAXc,EAYd,mBAZc,CAAhB;AAeA,QAAMC,SAAuD,GAAG,EAAhE;;AAEA,QAAMC,cAAc,GAAG,CACrBC,KADqB,EAErBC,QAFqB,KAGlB;AAAA;;AACHH,IAAAA,SAAS,CAACE,KAAD,CAAT,uBAAmBF,SAAS,CAACE,KAAD,CAA5B,qDAAmB,iBAAkBE,MAAlB,CAA0BC,EAAD,IAAQA,EAAE,KAAKF,QAAxC,CAAnB;AACD,GALD;;AAOA,MAAIG,OAAiD,GAAG,IAAxD;AAEA,QAAMC,GAAiD,GAAG;AACxD,QAAID,OAAJ,GAAc;AACZ,aAAOA,OAAP;AACD,KAHuD;;AAIxD,QAAIA,OAAJ,CAAYE,KAAZ,EAA6D;AAC3DF,MAAAA,OAAO,GAAGE,KAAV;;AAEA,UAAIA,KAAK,IAAI,IAAb,EAAmB;AACjBX,QAAAA,MAAM,CAACY,OAAP,CAAeT,SAAf,EAA0BU,OAA1B,CAAkC,CAAC,CAACR,KAAD,EAAQS,SAAR,CAAD,KAAwB;AACxDA,UAAAA,SAAS,CAACD,OAAV,CAAmBP,QAAD,IAAc;AAC9BK,YAAAA,KAAK,CAACI,WAAN,CACEV,KADF,EAEEC,QAFF;AAID,WALD;AAMD,SAPD;AAQD;AACF,KAjBuD;;AAkBxDU,IAAAA,OAAO,EAAE,MAAM;AACb,UAAIP,OAAO,IAAI,IAAf,EAAqB;AACnB,eAAO,KAAP;AACD;;AAED,aAAOA,OAAO,CAACO,OAAR,EAAP;AACD,KAxBuD;AAyBxD,OAAGjB,OAAO,CAACkB,MAAR,CAAoB,CAACC,GAAD,EAAMC,IAAN,KAAe;AACpCD,MAAAA,GAAG,CAACC,IAAD,CAAH,GAAY,CAAC,GAAGC,IAAJ,KAAoB;AAC9B,YAAIX,OAAO,IAAI,IAAf,EAAqB;AACnB,kBAAQU,IAAR;AACE,iBAAK,aAAL;AAAoB;AAClB,sBAAM,CAACd,KAAD,EAAQC,QAAR,IAAoBc,IAA1B;AAEAjB,gBAAAA,SAAS,CAACE,KAAD,CAAT,GAAmBF,SAAS,CAACE,KAAD,CAAT,IAAoB,EAAvC;AACAF,gBAAAA,SAAS,CAACE,KAAD,CAAT,CAAiBgB,IAAjB,CAAsBf,QAAtB;AAEA,uBAAO,MAAMF,cAAc,CAACC,KAAD,EAAQC,QAAR,CAA3B;AACD;;AACD,iBAAK,gBAAL;AAAuB;AACrB,sBAAM,CAACD,KAAD,EAAQC,QAAR,IAAoBc,IAA1B;AAEAhB,gBAAAA,cAAc,CAACC,KAAD,EAAQC,QAAR,CAAd;AACA;AACD;;AACD;AACEgB,cAAAA,OAAO,CAACC,KAAR,CAAc1B,qBAAd;AAhBJ;AAkBD,SAnBD,MAmBO;AACL;AACA,iBAAOY,OAAO,CAACU,IAAD,CAAP,CAAc,GAAGC,IAAjB,CAAP;AACD;AACF,OAxBD;;AAyBA,aAAOF,GAAP;AACD,KA3BE,EA2BA,EA3BA;AAzBqD,GAA1D;AAuDA,SAAOR,GAAP;AACD","sourcesContent":["import { CommonActions } from '@react-navigation/routers';\n\nimport type {\n NavigationContainerEventMap,\n NavigationContainerRef,\n NavigationContainerRefWithCurrent,\n} from './types';\n\nexport const NOT_INITIALIZED_ERROR =\n \"The 'navigation' object hasn't been initialized yet. This might happen if you don't have a navigator mounted, or if the navigator hasn't finished mounting. See https://reactnavigation.org/docs/navigating-without-navigation-prop#handling-initialization for more details.\";\n\nexport default function createNavigationContainerRef<\n ParamList extends {} = ReactNavigation.RootParamList\n>(): NavigationContainerRefWithCurrent<ParamList> {\n const methods = [\n ...Object.keys(CommonActions),\n 'addListener',\n 'removeListener',\n 'resetRoot',\n 'dispatch',\n 'isFocused',\n 'canGoBack',\n 'getRootState',\n 'getState',\n 'getParent',\n 'getCurrentRoute',\n 'getCurrentOptions',\n ] as const;\n\n const listeners: Record<string, ((...args: any[]) => void)[]> = {};\n\n const removeListener = (\n event: string,\n callback: (...args: any[]) => void\n ) => {\n listeners[event] = listeners[event]?.filter((cb) => cb !== callback);\n };\n\n let current: NavigationContainerRef<ParamList> | null = null;\n\n const ref: NavigationContainerRefWithCurrent<ParamList> = {\n get current() {\n return current;\n },\n set current(value: NavigationContainerRef<ParamList> | null) {\n current = value;\n\n if (value != null) {\n Object.entries(listeners).forEach(([event, callbacks]) => {\n callbacks.forEach((callback) => {\n value.addListener(\n event as keyof NavigationContainerEventMap,\n callback\n );\n });\n });\n }\n },\n isReady: () => {\n if (current == null) {\n return false;\n }\n\n return current.isReady();\n },\n ...methods.reduce<any>((acc, name) => {\n acc[name] = (...args: any[]) => {\n if (current == null) {\n switch (name) {\n case 'addListener': {\n const [event, callback] = args;\n\n listeners[event] = listeners[event] || [];\n listeners[event].push(callback);\n\n return () => removeListener(event, callback);\n }\n case 'removeListener': {\n const [event, callback] = args;\n\n removeListener(event, callback);\n break;\n }\n default:\n console.error(NOT_INITIALIZED_ERROR);\n }\n } else {\n // @ts-expect-error: this is ok\n return current[name](...args);\n }\n };\n return acc;\n }, {}),\n };\n\n return ref;\n}\n"]}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = createNavigatorFactory;
7
+
8
+ var _Group = _interopRequireDefault(require("./Group"));
9
+
10
+ var _Screen = _interopRequireDefault(require("./Screen"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ /**
15
+ * Higher order component to create a `Navigator` and `Screen` pair.
16
+ * Custom navigators should wrap the navigator component in `createNavigator` before exporting.
17
+ *
18
+ * @param Navigator The navigtor component to wrap.
19
+ * @returns Factory method to create a `Navigator` and `Screen` pair.
20
+ */
21
+ function createNavigatorFactory(Navigator) {
22
+ return function () {
23
+ if (arguments[0] !== undefined) {
24
+ throw new Error("Creating a navigator doesn't take an argument. Maybe you are trying to use React Navigation 4 API? See https://reactnavigation.org/docs/hello-react-navigation for the latest API and guides.");
25
+ }
26
+
27
+ return {
28
+ Navigator,
29
+ Group: _Group.default,
30
+ Screen: _Screen.default
31
+ };
32
+ };
33
+ }
34
+ //# sourceMappingURL=createNavigatorFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["createNavigatorFactory.tsx"],"names":["createNavigatorFactory","Navigator","arguments","undefined","Error","Group","Screen"],"mappings":";;;;;;;AAGA;;AACA;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,sBAAT,CAKbC,SALa,EAKkB;AAC/B,SAAO,YAML;AACA,QAAIC,SAAS,CAAC,CAAD,CAAT,KAAiBC,SAArB,EAAgC;AAC9B,YAAM,IAAIC,KAAJ,CACJ,+LADI,CAAN;AAGD;;AAED,WAAO;AACLH,MAAAA,SADK;AAELI,MAAAA,KAAK,EAALA,cAFK;AAGLC,MAAAA,MAAM,EAANA;AAHK,KAAP;AAKD,GAlBD;AAmBD","sourcesContent":["import type { NavigationState, ParamListBase } from '@react-navigation/routers';\nimport type * as React from 'react';\n\nimport Group from './Group';\nimport Screen from './Screen';\nimport type { EventMapBase, TypedNavigator } from './types';\n\n/**\n * Higher order component to create a `Navigator` and `Screen` pair.\n * Custom navigators should wrap the navigator component in `createNavigator` before exporting.\n *\n * @param Navigator The navigtor component to wrap.\n * @returns Factory method to create a `Navigator` and `Screen` pair.\n */\nexport default function createNavigatorFactory<\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends EventMapBase,\n NavigatorComponent extends React.ComponentType<any>\n>(Navigator: NavigatorComponent) {\n return function <ParamList extends ParamListBase>(): TypedNavigator<\n ParamList,\n State,\n ScreenOptions,\n EventMap,\n typeof Navigator\n > {\n if (arguments[0] !== undefined) {\n throw new Error(\n \"Creating a navigator doesn't take an argument. Maybe you are trying to use React Navigation 4 API? See https://reactnavigation.org/docs/hello-react-navigation for the latest API and guides.\"\n );\n }\n\n return {\n Navigator,\n Group,\n Screen,\n };\n };\n}\n"]}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = findFocusedRoute;
7
+
8
+ function findFocusedRoute(state) {
9
+ var _current2, _current$index3, _current3;
10
+
11
+ let current = state;
12
+
13
+ while (((_current = current) === null || _current === void 0 ? void 0 : _current.routes[(_current$index = current.index) !== null && _current$index !== void 0 ? _current$index : 0].state) != null) {
14
+ var _current, _current$index, _current$index2;
15
+
16
+ current = current.routes[(_current$index2 = current.index) !== null && _current$index2 !== void 0 ? _current$index2 : 0].state;
17
+ }
18
+
19
+ const route = (_current2 = current) === null || _current2 === void 0 ? void 0 : _current2.routes[(_current$index3 = (_current3 = current) === null || _current3 === void 0 ? void 0 : _current3.index) !== null && _current$index3 !== void 0 ? _current$index3 : 0];
20
+ return route;
21
+ }
22
+ //# sourceMappingURL=findFocusedRoute.js.map