@react-navigation/core 7.0.0-rc.8 → 7.0.0

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 (856) hide show
  1. package/lib/commonjs/BaseNavigationContainer.js +356 -0
  2. package/lib/commonjs/BaseNavigationContainer.js.map +1 -0
  3. package/lib/commonjs/CurrentRenderContext.js +15 -0
  4. package/lib/commonjs/DeprecatedNavigationInChildContext.js +14 -0
  5. package/lib/commonjs/EnsureSingleNavigator.js +43 -0
  6. package/lib/commonjs/Group.js +14 -0
  7. package/lib/commonjs/NavigationBuilderContext.js +17 -0
  8. package/lib/commonjs/NavigationContainerRefContext.js +14 -0
  9. package/lib/commonjs/NavigationContext.js +14 -0
  10. package/lib/commonjs/NavigationHelpersContext.js +15 -0
  11. package/lib/commonjs/NavigationIndependentTree.js +35 -0
  12. package/lib/commonjs/NavigationIndependentTreeContext.js +14 -0
  13. package/lib/commonjs/NavigationRouteContext.js +14 -0
  14. package/lib/commonjs/NavigationStateContext.js +29 -0
  15. package/lib/commonjs/PreventRemoveContext.js +16 -0
  16. package/lib/commonjs/PreventRemoveProvider.js +91 -0
  17. package/lib/commonjs/SceneView.js +96 -0
  18. package/lib/commonjs/Screen.js +14 -0
  19. package/lib/commonjs/StaticContainer.js +31 -0
  20. package/lib/commonjs/StaticNavigation.js +256 -0
  21. package/lib/commonjs/StaticNavigation.js.map +1 -0
  22. package/lib/commonjs/UnhandledActionContext.js +11 -0
  23. package/lib/commonjs/checkDuplicateRouteNames.js +25 -0
  24. package/lib/commonjs/checkSerializable.js +50 -0
  25. package/lib/commonjs/createNavigationContainerRef.js +69 -0
  26. package/lib/commonjs/createNavigatorFactory.js +34 -0
  27. package/lib/commonjs/deepFreeze.js +37 -0
  28. package/lib/commonjs/findFocusedRoute.js +15 -0
  29. package/lib/commonjs/getActionFromState.js +86 -0
  30. package/lib/commonjs/getFocusedRouteNameFromRoute.js +22 -0
  31. package/lib/commonjs/getPathFromState.js +218 -0
  32. package/lib/commonjs/getPathFromState.js.map +1 -0
  33. package/lib/commonjs/getStateFromPath.js +475 -0
  34. package/lib/commonjs/getStateFromPath.js.map +1 -0
  35. package/lib/commonjs/index.js +287 -0
  36. package/lib/commonjs/isArrayEqual.js +20 -0
  37. package/lib/commonjs/isRecordEqual.js +21 -0
  38. package/lib/commonjs/package.json +1 -0
  39. package/lib/commonjs/theming/ThemeContext.js +12 -0
  40. package/lib/commonjs/theming/ThemeProvider.js +21 -0
  41. package/lib/commonjs/theming/useTheme.js +18 -0
  42. package/lib/commonjs/types.js +27 -0
  43. package/lib/commonjs/types.js.map +1 -0
  44. package/lib/commonjs/useChildListeners.js +36 -0
  45. package/lib/commonjs/useComponent.js +40 -0
  46. package/lib/commonjs/useCurrentRender.js +25 -0
  47. package/lib/commonjs/useDescriptors.js +188 -0
  48. package/lib/commonjs/useEventEmitter.js +105 -0
  49. package/lib/commonjs/useFocusEffect.js +80 -0
  50. package/lib/commonjs/useFocusEvents.js +70 -0
  51. package/lib/commonjs/useFocusedListenersChildrenAdapter.js +48 -0
  52. package/lib/commonjs/useIsFocused.js +28 -0
  53. package/lib/commonjs/useIsomorphicLayoutEffect.js +12 -0
  54. package/lib/commonjs/useIsomorphicLayoutEffect.native.js +9 -0
  55. package/lib/commonjs/useKeyedChildListeners.js +33 -0
  56. package/lib/commonjs/useLazyValue.js +17 -0
  57. package/lib/commonjs/useNavigation.js +27 -0
  58. package/lib/commonjs/useNavigationBuilder.js +478 -0
  59. package/lib/commonjs/useNavigationCache.js +162 -0
  60. package/lib/commonjs/useNavigationContainerRef.js +18 -0
  61. package/lib/commonjs/useNavigationHelpers.js +76 -0
  62. package/lib/commonjs/useNavigationIndependentTree.js +14 -0
  63. package/lib/commonjs/useNavigationState.js +26 -0
  64. package/lib/commonjs/useOnAction.js +106 -0
  65. package/lib/commonjs/useOnGetState.js +48 -0
  66. package/lib/commonjs/useOnPreventRemove.js +72 -0
  67. package/lib/commonjs/useOnRouteFocus.js +36 -0
  68. package/lib/commonjs/useOptionsGetters.js +78 -0
  69. package/lib/commonjs/usePreventRemove.js +48 -0
  70. package/lib/commonjs/usePreventRemoveContext.js +18 -0
  71. package/lib/commonjs/useRegisterNavigator.js +32 -0
  72. package/lib/commonjs/useRoute.js +23 -0
  73. package/lib/commonjs/useRouteCache.js +69 -0
  74. package/lib/commonjs/useSyncState.js +48 -0
  75. package/lib/commonjs/validatePathConfig.js +49 -0
  76. package/lib/commonjs/validatePathConfig.js.map +1 -0
  77. package/lib/module/BaseNavigationContainer.js +349 -0
  78. package/lib/module/BaseNavigationContainer.js.map +1 -0
  79. package/lib/module/CurrentRenderContext.js +10 -0
  80. package/lib/module/CurrentRenderContext.js.map +1 -0
  81. package/lib/module/DeprecatedNavigationInChildContext.js +9 -0
  82. package/lib/module/DeprecatedNavigationInChildContext.js.map +1 -0
  83. package/lib/module/EnsureSingleNavigator.js +36 -0
  84. package/lib/module/EnsureSingleNavigator.js.map +1 -0
  85. package/lib/module/Group.js +10 -0
  86. package/lib/module/Group.js.map +1 -0
  87. package/lib/module/NavigationBuilderContext.js +11 -0
  88. package/lib/module/NavigationBuilderContext.js.map +1 -0
  89. package/lib/module/NavigationContainerRefContext.js +8 -0
  90. package/lib/module/NavigationContainerRefContext.js.map +1 -0
  91. package/lib/module/NavigationContext.js +8 -0
  92. package/lib/module/NavigationContext.js.map +1 -0
  93. package/lib/module/NavigationHelpersContext.js +9 -0
  94. package/lib/module/NavigationHelpersContext.js.map +1 -0
  95. package/lib/module/NavigationIndependentTree.js +30 -0
  96. package/lib/module/NavigationIndependentTree.js.map +1 -0
  97. package/lib/module/NavigationIndependentTreeContext.js +9 -0
  98. package/lib/module/NavigationIndependentTreeContext.js.map +1 -0
  99. package/lib/module/NavigationRouteContext.js +9 -0
  100. package/lib/module/NavigationRouteContext.js.map +1 -0
  101. package/lib/module/NavigationStateContext.js +23 -0
  102. package/lib/module/NavigationStateContext.js.map +1 -0
  103. package/lib/module/PreventRemoveContext.js +11 -0
  104. package/lib/module/PreventRemoveContext.js.map +1 -0
  105. package/lib/module/PreventRemoveProvider.js +84 -0
  106. package/lib/module/PreventRemoveProvider.js.map +1 -0
  107. package/lib/module/SceneView.js +90 -0
  108. package/lib/module/SceneView.js.map +1 -0
  109. package/lib/module/Screen.js +10 -0
  110. package/lib/module/Screen.js.map +1 -0
  111. package/lib/module/StaticContainer.js +26 -0
  112. package/lib/module/StaticContainer.js.map +1 -0
  113. package/lib/module/StaticNavigation.js +249 -0
  114. package/lib/module/StaticNavigation.js.map +1 -0
  115. package/lib/module/UnhandledActionContext.js +5 -0
  116. package/lib/module/UnhandledActionContext.js.map +1 -0
  117. package/lib/module/checkDuplicateRouteNames.js +21 -0
  118. package/lib/module/checkDuplicateRouteNames.js.map +1 -0
  119. package/lib/module/checkSerializable.js +46 -0
  120. package/lib/module/checkSerializable.js.map +1 -0
  121. package/lib/module/createNavigationContainerRef.js +64 -0
  122. package/lib/module/createNavigationContainerRef.js.map +1 -0
  123. package/lib/module/createNavigatorFactory.js +31 -0
  124. package/lib/module/createNavigatorFactory.js.map +1 -0
  125. package/lib/module/deepFreeze.js +31 -0
  126. package/lib/module/deepFreeze.js.map +1 -0
  127. package/lib/module/findFocusedRoute.js +11 -0
  128. package/lib/module/findFocusedRoute.js.map +1 -0
  129. package/lib/module/getActionFromState.js +82 -0
  130. package/lib/module/getActionFromState.js.map +1 -0
  131. package/lib/module/getFocusedRouteNameFromRoute.js +18 -0
  132. package/lib/module/getFocusedRouteNameFromRoute.js.map +1 -0
  133. package/lib/module/getPathFromState.js +212 -0
  134. package/lib/module/getPathFromState.js.map +1 -0
  135. package/lib/module/getStateFromPath.js +468 -0
  136. package/lib/module/getStateFromPath.js.map +1 -0
  137. package/lib/module/index.js +36 -0
  138. package/lib/module/index.js.map +1 -0
  139. package/lib/module/isArrayEqual.js +16 -0
  140. package/lib/module/isArrayEqual.js.map +1 -0
  141. package/lib/module/isRecordEqual.js +17 -0
  142. package/lib/module/isRecordEqual.js.map +1 -0
  143. package/lib/module/package.json +1 -0
  144. package/lib/module/theming/ThemeContext.js +6 -0
  145. package/lib/module/theming/ThemeContext.js.map +1 -0
  146. package/lib/module/theming/ThemeProvider.js +15 -0
  147. package/lib/module/theming/ThemeProvider.js.map +1 -0
  148. package/lib/module/theming/useTheme.js +12 -0
  149. package/lib/module/theming/useTheme.js.map +1 -0
  150. package/lib/module/types.js +23 -0
  151. package/lib/module/types.js.map +1 -0
  152. package/lib/module/useChildListeners.js +30 -0
  153. package/lib/module/useChildListeners.js.map +1 -0
  154. package/lib/module/useComponent.js +34 -0
  155. package/lib/module/useComponent.js.map +1 -0
  156. package/lib/module/useCurrentRender.js +19 -0
  157. package/lib/module/useCurrentRender.js.map +1 -0
  158. package/lib/module/useDescriptors.js +182 -0
  159. package/lib/module/useDescriptors.js.map +1 -0
  160. package/lib/module/useEventEmitter.js +99 -0
  161. package/lib/module/useEventEmitter.js.map +1 -0
  162. package/lib/module/useFocusEffect.js +74 -0
  163. package/lib/module/useFocusEffect.js.map +1 -0
  164. package/lib/module/useFocusEvents.js +64 -0
  165. package/lib/module/useFocusEvents.js.map +1 -0
  166. package/lib/module/useFocusedListenersChildrenAdapter.js +42 -0
  167. package/lib/module/useFocusedListenersChildrenAdapter.js.map +1 -0
  168. package/lib/module/useIsFocused.js +23 -0
  169. package/lib/module/useIsFocused.js.map +1 -0
  170. package/lib/module/useIsomorphicLayoutEffect.js +9 -0
  171. package/lib/module/useIsomorphicLayoutEffect.js.map +1 -0
  172. package/lib/module/useIsomorphicLayoutEffect.native.js +5 -0
  173. package/lib/module/useIsomorphicLayoutEffect.native.js.map +1 -0
  174. package/lib/module/useKeyedChildListeners.js +27 -0
  175. package/lib/module/useKeyedChildListeners.js.map +1 -0
  176. package/lib/module/useLazyValue.js +11 -0
  177. package/lib/module/useLazyValue.js.map +1 -0
  178. package/lib/module/useNavigation.js +21 -0
  179. package/lib/module/useNavigation.js.map +1 -0
  180. package/lib/module/useNavigationBuilder.js +472 -0
  181. package/lib/module/useNavigationBuilder.js.map +1 -0
  182. package/lib/module/useNavigationCache.js +156 -0
  183. package/lib/module/useNavigationCache.js.map +1 -0
  184. package/lib/module/useNavigationContainerRef.js +12 -0
  185. package/lib/module/useNavigationContainerRef.js.map +1 -0
  186. package/lib/module/useNavigationHelpers.js +70 -0
  187. package/lib/module/useNavigationHelpers.js.map +1 -0
  188. package/lib/module/useNavigationIndependentTree.js +8 -0
  189. package/lib/module/useNavigationIndependentTree.js.map +1 -0
  190. package/lib/module/useNavigationState.js +20 -0
  191. package/lib/module/useNavigationState.js.map +1 -0
  192. package/lib/module/useOnAction.js +100 -0
  193. package/lib/module/useOnAction.js.map +1 -0
  194. package/lib/module/useOnGetState.js +42 -0
  195. package/lib/module/useOnGetState.js.map +1 -0
  196. package/lib/module/useOnPreventRemove.js +64 -0
  197. package/lib/module/useOnPreventRemove.js.map +1 -0
  198. package/lib/module/useOnRouteFocus.js +30 -0
  199. package/lib/module/useOnRouteFocus.js.map +1 -0
  200. package/lib/module/useOptionsGetters.js +72 -0
  201. package/lib/module/useOptionsGetters.js.map +1 -0
  202. package/lib/module/usePreventRemove.js +42 -0
  203. package/lib/module/usePreventRemove.js.map +1 -0
  204. package/lib/module/usePreventRemoveContext.js +12 -0
  205. package/lib/module/usePreventRemoveContext.js.map +1 -0
  206. package/lib/module/useRegisterNavigator.js +27 -0
  207. package/lib/module/useRegisterNavigator.js.map +1 -0
  208. package/lib/module/useRoute.js +17 -0
  209. package/lib/module/useRoute.js.map +1 -0
  210. package/lib/module/useRouteCache.js +62 -0
  211. package/lib/module/useRouteCache.js.map +1 -0
  212. package/lib/module/useSyncState.js +42 -0
  213. package/lib/module/useSyncState.js.map +1 -0
  214. package/lib/module/validatePathConfig.js +45 -0
  215. package/lib/module/validatePathConfig.js.map +1 -0
  216. package/lib/typescript/commonjs/package.json +1 -0
  217. package/lib/typescript/commonjs/src/BaseNavigationContainer.d.ts.map +1 -0
  218. package/lib/typescript/commonjs/src/CurrentRenderContext.d.ts.map +1 -0
  219. package/lib/typescript/commonjs/src/DeprecatedNavigationInChildContext.d.ts.map +1 -0
  220. package/lib/typescript/commonjs/src/EnsureSingleNavigator.d.ts.map +1 -0
  221. package/lib/typescript/commonjs/src/Group.d.ts.map +1 -0
  222. package/lib/typescript/commonjs/src/NavigationBuilderContext.d.ts.map +1 -0
  223. package/lib/typescript/commonjs/src/NavigationContainerRefContext.d.ts.map +1 -0
  224. package/lib/typescript/commonjs/src/NavigationContext.d.ts.map +1 -0
  225. package/lib/typescript/commonjs/src/NavigationHelpersContext.d.ts.map +1 -0
  226. package/lib/typescript/commonjs/src/NavigationIndependentTree.d.ts.map +1 -0
  227. package/lib/typescript/commonjs/src/NavigationIndependentTreeContext.d.ts.map +1 -0
  228. package/lib/typescript/commonjs/src/NavigationRouteContext.d.ts.map +1 -0
  229. package/lib/typescript/commonjs/src/NavigationStateContext.d.ts.map +1 -0
  230. package/lib/typescript/commonjs/src/PreventRemoveContext.d.ts.map +1 -0
  231. package/lib/typescript/commonjs/src/PreventRemoveProvider.d.ts.map +1 -0
  232. package/lib/typescript/commonjs/src/SceneView.d.ts.map +1 -0
  233. package/lib/typescript/commonjs/src/Screen.d.ts.map +1 -0
  234. package/lib/typescript/commonjs/src/StaticContainer.d.ts.map +1 -0
  235. package/lib/typescript/commonjs/src/StaticNavigation.d.ts +188 -0
  236. package/lib/typescript/commonjs/src/StaticNavigation.d.ts.map +1 -0
  237. package/lib/typescript/commonjs/src/UnhandledActionContext.d.ts.map +1 -0
  238. package/lib/typescript/commonjs/src/checkDuplicateRouteNames.d.ts.map +1 -0
  239. package/lib/typescript/commonjs/src/checkSerializable.d.ts.map +1 -0
  240. package/lib/typescript/commonjs/src/createNavigationContainerRef.d.ts.map +1 -0
  241. package/lib/typescript/commonjs/src/createNavigatorFactory.d.ts.map +1 -0
  242. package/lib/typescript/commonjs/src/deepFreeze.d.ts.map +1 -0
  243. package/lib/typescript/commonjs/src/findFocusedRoute.d.ts.map +1 -0
  244. package/lib/typescript/commonjs/src/getActionFromState.d.ts.map +1 -0
  245. package/lib/typescript/commonjs/src/getFocusedRouteNameFromRoute.d.ts.map +1 -0
  246. package/lib/typescript/commonjs/src/getPathFromState.d.ts.map +1 -0
  247. package/lib/typescript/commonjs/src/getStateFromPath.d.ts.map +1 -0
  248. package/lib/typescript/commonjs/src/index.d.ts.map +1 -0
  249. package/lib/typescript/commonjs/src/isArrayEqual.d.ts.map +1 -0
  250. package/lib/typescript/commonjs/src/isRecordEqual.d.ts.map +1 -0
  251. package/lib/typescript/commonjs/src/theming/ThemeContext.d.ts.map +1 -0
  252. package/lib/typescript/commonjs/src/theming/ThemeProvider.d.ts.map +1 -0
  253. package/lib/typescript/commonjs/src/theming/useTheme.d.ts.map +1 -0
  254. package/lib/typescript/commonjs/src/types.d.ts +702 -0
  255. package/lib/typescript/commonjs/src/types.d.ts.map +1 -0
  256. package/lib/typescript/commonjs/src/useChildListeners.d.ts.map +1 -0
  257. package/lib/typescript/commonjs/src/useComponent.d.ts.map +1 -0
  258. package/lib/typescript/commonjs/src/useCurrentRender.d.ts.map +1 -0
  259. package/lib/typescript/commonjs/src/useDescriptors.d.ts +133 -0
  260. package/lib/typescript/commonjs/src/useDescriptors.d.ts.map +1 -0
  261. package/lib/typescript/commonjs/src/useEventEmitter.d.ts.map +1 -0
  262. package/lib/typescript/commonjs/src/useFocusEffect.d.ts.map +1 -0
  263. package/lib/typescript/commonjs/src/useFocusEvents.d.ts.map +1 -0
  264. package/lib/typescript/commonjs/src/useFocusedListenersChildrenAdapter.d.ts.map +1 -0
  265. package/lib/typescript/commonjs/src/useIsFocused.d.ts.map +1 -0
  266. package/lib/typescript/commonjs/src/useIsomorphicLayoutEffect.d.ts.map +1 -0
  267. package/lib/typescript/commonjs/src/useIsomorphicLayoutEffect.native.d.ts.map +1 -0
  268. package/lib/typescript/commonjs/src/useKeyedChildListeners.d.ts.map +1 -0
  269. package/lib/typescript/commonjs/src/useLazyValue.d.ts.map +1 -0
  270. package/lib/typescript/commonjs/src/useNavigation.d.ts.map +1 -0
  271. package/lib/typescript/commonjs/src/useNavigationBuilder.d.ts +181 -0
  272. package/lib/typescript/commonjs/src/useNavigationBuilder.d.ts.map +1 -0
  273. package/lib/typescript/commonjs/src/useNavigationCache.d.ts +65 -0
  274. package/lib/typescript/commonjs/src/useNavigationCache.d.ts.map +1 -0
  275. package/lib/typescript/commonjs/src/useNavigationContainerRef.d.ts.map +1 -0
  276. package/lib/typescript/commonjs/src/useNavigationHelpers.d.ts +96 -0
  277. package/lib/typescript/commonjs/src/useNavigationHelpers.d.ts.map +1 -0
  278. package/lib/typescript/commonjs/src/useNavigationIndependentTree.d.ts.map +1 -0
  279. package/lib/typescript/commonjs/src/useNavigationState.d.ts.map +1 -0
  280. package/lib/typescript/commonjs/src/useOnAction.d.ts.map +1 -0
  281. package/lib/typescript/commonjs/src/useOnGetState.d.ts.map +1 -0
  282. package/lib/typescript/commonjs/src/useOnPreventRemove.d.ts.map +1 -0
  283. package/lib/typescript/commonjs/src/useOnRouteFocus.d.ts.map +1 -0
  284. package/lib/typescript/commonjs/src/useOptionsGetters.d.ts.map +1 -0
  285. package/lib/typescript/commonjs/src/usePreventRemove.d.ts.map +1 -0
  286. package/lib/typescript/commonjs/src/usePreventRemoveContext.d.ts.map +1 -0
  287. package/lib/typescript/commonjs/src/useRegisterNavigator.d.ts.map +1 -0
  288. package/lib/typescript/commonjs/src/useRoute.d.ts.map +1 -0
  289. package/lib/typescript/commonjs/src/useRouteCache.d.ts.map +1 -0
  290. package/lib/typescript/commonjs/src/useSyncState.d.ts.map +1 -0
  291. package/lib/typescript/commonjs/src/validatePathConfig.d.ts.map +1 -0
  292. package/lib/typescript/commonjs/tsconfig.build.tsbuildinfo +1 -0
  293. package/lib/typescript/module/package.json +1 -0
  294. package/lib/typescript/module/src/BaseNavigationContainer.d.ts +17 -0
  295. package/lib/typescript/module/src/BaseNavigationContainer.d.ts.map +1 -0
  296. package/lib/typescript/module/src/CurrentRenderContext.d.ts +9 -0
  297. package/lib/typescript/module/src/CurrentRenderContext.d.ts.map +1 -0
  298. package/lib/typescript/module/src/DeprecatedNavigationInChildContext.d.ts +6 -0
  299. package/lib/typescript/module/src/DeprecatedNavigationInChildContext.d.ts.map +1 -0
  300. package/lib/typescript/module/src/EnsureSingleNavigator.d.ts +14 -0
  301. package/lib/typescript/module/src/EnsureSingleNavigator.d.ts.map +1 -0
  302. package/lib/typescript/module/src/Group.d.ts +7 -0
  303. package/lib/typescript/module/src/Group.d.ts.map +1 -0
  304. package/lib/typescript/module/src/NavigationBuilderContext.d.ts +34 -0
  305. package/lib/typescript/module/src/NavigationBuilderContext.d.ts.map +1 -0
  306. package/lib/typescript/module/src/NavigationContainerRefContext.d.ts +8 -0
  307. package/lib/typescript/module/src/NavigationContainerRefContext.d.ts.map +1 -0
  308. package/lib/typescript/module/src/NavigationContext.d.ts +8 -0
  309. package/lib/typescript/module/src/NavigationContext.d.ts.map +1 -0
  310. package/lib/typescript/module/src/NavigationHelpersContext.d.ts +9 -0
  311. package/lib/typescript/module/src/NavigationHelpersContext.d.ts.map +1 -0
  312. package/lib/typescript/module/src/NavigationIndependentTree.d.ts +8 -0
  313. package/lib/typescript/module/src/NavigationIndependentTree.d.ts.map +1 -0
  314. package/lib/typescript/module/src/NavigationIndependentTreeContext.d.ts +6 -0
  315. package/lib/typescript/module/src/NavigationIndependentTreeContext.d.ts.map +1 -0
  316. package/lib/typescript/module/src/NavigationRouteContext.d.ts +7 -0
  317. package/lib/typescript/module/src/NavigationRouteContext.d.ts.map +1 -0
  318. package/lib/typescript/module/src/NavigationStateContext.d.ts +13 -0
  319. package/lib/typescript/module/src/NavigationStateContext.d.ts.map +1 -0
  320. package/lib/typescript/module/src/PreventRemoveContext.d.ts +13 -0
  321. package/lib/typescript/module/src/PreventRemoveContext.d.ts.map +1 -0
  322. package/lib/typescript/module/src/PreventRemoveProvider.d.ts +10 -0
  323. package/lib/typescript/module/src/PreventRemoveProvider.d.ts.map +1 -0
  324. package/lib/typescript/module/src/SceneView.d.ts +21 -0
  325. package/lib/typescript/module/src/SceneView.d.ts.map +1 -0
  326. package/lib/typescript/module/src/Screen.d.ts +7 -0
  327. package/lib/typescript/module/src/Screen.d.ts.map +1 -0
  328. package/lib/typescript/module/src/StaticContainer.d.ts +6 -0
  329. package/lib/typescript/module/src/StaticContainer.d.ts.map +1 -0
  330. package/lib/typescript/module/src/StaticNavigation.d.ts +188 -0
  331. package/lib/typescript/module/src/StaticNavigation.d.ts.map +1 -0
  332. package/lib/typescript/module/src/UnhandledActionContext.d.ts +4 -0
  333. package/lib/typescript/module/src/UnhandledActionContext.d.ts.map +1 -0
  334. package/lib/typescript/module/src/checkDuplicateRouteNames.d.ts +3 -0
  335. package/lib/typescript/module/src/checkDuplicateRouteNames.d.ts.map +1 -0
  336. package/lib/typescript/module/src/checkSerializable.d.ts +10 -0
  337. package/lib/typescript/module/src/checkSerializable.d.ts.map +1 -0
  338. package/lib/typescript/module/src/createNavigationContainerRef.d.ts +4 -0
  339. package/lib/typescript/module/src/createNavigationContainerRef.d.ts.map +1 -0
  340. package/lib/typescript/module/src/createNavigatorFactory.d.ts +10 -0
  341. package/lib/typescript/module/src/createNavigatorFactory.d.ts.map +1 -0
  342. package/lib/typescript/module/src/deepFreeze.d.ts +3 -0
  343. package/lib/typescript/module/src/deepFreeze.d.ts.map +1 -0
  344. package/lib/typescript/module/src/findFocusedRoute.d.ts +5 -0
  345. package/lib/typescript/module/src/findFocusedRoute.d.ts.map +1 -0
  346. package/lib/typescript/module/src/getActionFromState.d.ts +17 -0
  347. package/lib/typescript/module/src/getActionFromState.d.ts.map +1 -0
  348. package/lib/typescript/module/src/getFocusedRouteNameFromRoute.d.ts +3 -0
  349. package/lib/typescript/module/src/getFocusedRouteNameFromRoute.d.ts.map +1 -0
  350. package/lib/typescript/module/src/getPathFromState.d.ts +40 -0
  351. package/lib/typescript/module/src/getPathFromState.d.ts.map +1 -0
  352. package/lib/typescript/module/src/getStateFromPath.d.ts +34 -0
  353. package/lib/typescript/module/src/getStateFromPath.d.ts.map +1 -0
  354. package/lib/typescript/module/src/index.d.ts +34 -0
  355. package/lib/typescript/module/src/index.d.ts.map +1 -0
  356. package/lib/typescript/module/src/isArrayEqual.d.ts +6 -0
  357. package/lib/typescript/module/src/isArrayEqual.d.ts.map +1 -0
  358. package/lib/typescript/module/src/isRecordEqual.d.ts +5 -0
  359. package/lib/typescript/module/src/isRecordEqual.d.ts.map +1 -0
  360. package/lib/typescript/module/src/theming/ThemeContext.d.ts +3 -0
  361. package/lib/typescript/module/src/theming/ThemeContext.d.ts.map +1 -0
  362. package/lib/typescript/module/src/theming/ThemeProvider.d.ts +8 -0
  363. package/lib/typescript/module/src/theming/ThemeProvider.d.ts.map +1 -0
  364. package/lib/typescript/module/src/theming/useTheme.d.ts +2 -0
  365. package/lib/typescript/module/src/theming/useTheme.d.ts.map +1 -0
  366. package/lib/typescript/module/src/types.d.ts +702 -0
  367. package/lib/typescript/module/src/types.d.ts.map +1 -0
  368. package/lib/typescript/module/src/useChildListeners.d.ts +12 -0
  369. package/lib/typescript/module/src/useChildListeners.d.ts.map +1 -0
  370. package/lib/typescript/module/src/useComponent.d.ts +7 -0
  371. package/lib/typescript/module/src/useComponent.d.ts.map +1 -0
  372. package/lib/typescript/module/src/useCurrentRender.d.ts +14 -0
  373. package/lib/typescript/module/src/useCurrentRender.d.ts.map +1 -0
  374. package/lib/typescript/module/src/useDescriptors.d.ts +133 -0
  375. package/lib/typescript/module/src/useDescriptors.d.ts.map +1 -0
  376. package/lib/typescript/module/src/useEventEmitter.d.ts +9 -0
  377. package/lib/typescript/module/src/useEventEmitter.d.ts.map +1 -0
  378. package/lib/typescript/module/src/useFocusEffect.d.ts +11 -0
  379. package/lib/typescript/module/src/useFocusEffect.d.ts.map +1 -0
  380. package/lib/typescript/module/src/useFocusEvents.d.ts +13 -0
  381. package/lib/typescript/module/src/useFocusEvents.d.ts.map +1 -0
  382. package/lib/typescript/module/src/useFocusedListenersChildrenAdapter.d.ts +13 -0
  383. package/lib/typescript/module/src/useFocusedListenersChildrenAdapter.d.ts.map +1 -0
  384. package/lib/typescript/module/src/useIsFocused.d.ts +6 -0
  385. package/lib/typescript/module/src/useIsFocused.d.ts.map +1 -0
  386. package/lib/typescript/module/src/useIsomorphicLayoutEffect.d.ts +6 -0
  387. package/lib/typescript/module/src/useIsomorphicLayoutEffect.d.ts.map +1 -0
  388. package/lib/typescript/module/src/useIsomorphicLayoutEffect.native.d.ts +3 -0
  389. package/lib/typescript/module/src/useIsomorphicLayoutEffect.native.d.ts.map +1 -0
  390. package/lib/typescript/module/src/useKeyedChildListeners.d.ts +12 -0
  391. package/lib/typescript/module/src/useKeyedChildListeners.d.ts.map +1 -0
  392. package/lib/typescript/module/src/useLazyValue.d.ts +2 -0
  393. package/lib/typescript/module/src/useLazyValue.d.ts.map +1 -0
  394. package/lib/typescript/module/src/useNavigation.d.ts +11 -0
  395. package/lib/typescript/module/src/useNavigation.d.ts.map +1 -0
  396. package/lib/typescript/module/src/useNavigationBuilder.d.ts +181 -0
  397. package/lib/typescript/module/src/useNavigationBuilder.d.ts.map +1 -0
  398. package/lib/typescript/module/src/useNavigationCache.d.ts +65 -0
  399. package/lib/typescript/module/src/useNavigationCache.d.ts.map +1 -0
  400. package/lib/typescript/module/src/useNavigationContainerRef.d.ts +3 -0
  401. package/lib/typescript/module/src/useNavigationContainerRef.d.ts.map +1 -0
  402. package/lib/typescript/module/src/useNavigationHelpers.d.ts +96 -0
  403. package/lib/typescript/module/src/useNavigationHelpers.d.ts.map +1 -0
  404. package/lib/typescript/module/src/useNavigationIndependentTree.d.ts +2 -0
  405. package/lib/typescript/module/src/useNavigationIndependentTree.d.ts.map +1 -0
  406. package/lib/typescript/module/src/useNavigationState.d.ts +10 -0
  407. package/lib/typescript/module/src/useNavigationState.d.ts.map +1 -0
  408. package/lib/typescript/module/src/useOnAction.d.ts +26 -0
  409. package/lib/typescript/module/src/useOnAction.d.ts.map +1 -0
  410. package/lib/typescript/module/src/useOnGetState.d.ts +9 -0
  411. package/lib/typescript/module/src/useOnGetState.d.ts.map +1 -0
  412. package/lib/typescript/module/src/useOnPreventRemove.d.ts +17 -0
  413. package/lib/typescript/module/src/useOnPreventRemove.d.ts.map +1 -0
  414. package/lib/typescript/module/src/useOnRouteFocus.d.ts +15 -0
  415. package/lib/typescript/module/src/useOnRouteFocus.d.ts.map +1 -0
  416. package/lib/typescript/module/src/useOptionsGetters.d.ts +13 -0
  417. package/lib/typescript/module/src/useOptionsGetters.d.ts.map +1 -0
  418. package/lib/typescript/module/src/usePreventRemove.d.ts +13 -0
  419. package/lib/typescript/module/src/usePreventRemove.d.ts.map +1 -0
  420. package/lib/typescript/module/src/usePreventRemoveContext.d.ts +5 -0
  421. package/lib/typescript/module/src/usePreventRemoveContext.d.ts.map +1 -0
  422. package/lib/typescript/module/src/useRegisterNavigator.d.ts +6 -0
  423. package/lib/typescript/module/src/useRegisterNavigator.d.ts.map +1 -0
  424. package/lib/typescript/module/src/useRoute.d.ts +9 -0
  425. package/lib/typescript/module/src/useRoute.d.ts.map +1 -0
  426. package/lib/typescript/module/src/useRouteCache.d.ts +14 -0
  427. package/lib/typescript/module/src/useRouteCache.d.ts.map +1 -0
  428. package/lib/typescript/module/src/useSyncState.d.ts +2 -0
  429. package/lib/typescript/module/src/useSyncState.d.ts.map +1 -0
  430. package/lib/typescript/module/src/validatePathConfig.d.ts +2 -0
  431. package/lib/typescript/module/src/validatePathConfig.d.ts.map +1 -0
  432. package/lib/typescript/module/tsconfig.build.tsbuildinfo +1 -0
  433. package/package.json +18 -11
  434. package/src/BaseNavigationContainer.tsx +1 -1
  435. package/src/StaticNavigation.tsx +49 -30
  436. package/src/getPathFromState.tsx +20 -4
  437. package/src/getStateFromPath.tsx +124 -63
  438. package/src/types.tsx +33 -46
  439. package/src/useNavigationBuilder.tsx +1 -1
  440. package/src/validatePathConfig.tsx +1 -1
  441. package/lib/commonjs/BaseNavigationContainer.cjs +0 -356
  442. package/lib/commonjs/BaseNavigationContainer.cjs.map +0 -1
  443. package/lib/commonjs/CurrentRenderContext.cjs +0 -15
  444. package/lib/commonjs/DeprecatedNavigationInChildContext.cjs +0 -14
  445. package/lib/commonjs/EnsureSingleNavigator.cjs +0 -43
  446. package/lib/commonjs/Group.cjs +0 -14
  447. package/lib/commonjs/NavigationBuilderContext.cjs +0 -17
  448. package/lib/commonjs/NavigationContainerRefContext.cjs +0 -14
  449. package/lib/commonjs/NavigationContext.cjs +0 -14
  450. package/lib/commonjs/NavigationHelpersContext.cjs +0 -15
  451. package/lib/commonjs/NavigationIndependentTree.cjs +0 -35
  452. package/lib/commonjs/NavigationIndependentTreeContext.cjs +0 -14
  453. package/lib/commonjs/NavigationRouteContext.cjs +0 -14
  454. package/lib/commonjs/NavigationStateContext.cjs +0 -29
  455. package/lib/commonjs/PreventRemoveContext.cjs +0 -16
  456. package/lib/commonjs/PreventRemoveProvider.cjs +0 -91
  457. package/lib/commonjs/SceneView.cjs +0 -96
  458. package/lib/commonjs/Screen.cjs +0 -14
  459. package/lib/commonjs/StaticContainer.cjs +0 -31
  460. package/lib/commonjs/StaticNavigation.cjs +0 -239
  461. package/lib/commonjs/StaticNavigation.cjs.map +0 -1
  462. package/lib/commonjs/UnhandledActionContext.cjs +0 -11
  463. package/lib/commonjs/checkDuplicateRouteNames.cjs +0 -25
  464. package/lib/commonjs/checkSerializable.cjs +0 -50
  465. package/lib/commonjs/createNavigationContainerRef.cjs +0 -69
  466. package/lib/commonjs/createNavigatorFactory.cjs +0 -34
  467. package/lib/commonjs/deepFreeze.cjs +0 -37
  468. package/lib/commonjs/findFocusedRoute.cjs +0 -15
  469. package/lib/commonjs/getActionFromState.cjs +0 -86
  470. package/lib/commonjs/getFocusedRouteNameFromRoute.cjs +0 -22
  471. package/lib/commonjs/getPathFromState.cjs +0 -211
  472. package/lib/commonjs/getPathFromState.cjs.map +0 -1
  473. package/lib/commonjs/getStateFromPath.cjs +0 -438
  474. package/lib/commonjs/getStateFromPath.cjs.map +0 -1
  475. package/lib/commonjs/index.cjs +0 -287
  476. package/lib/commonjs/isArrayEqual.cjs +0 -20
  477. package/lib/commonjs/isRecordEqual.cjs +0 -21
  478. package/lib/commonjs/theming/ThemeContext.cjs +0 -12
  479. package/lib/commonjs/theming/ThemeProvider.cjs +0 -21
  480. package/lib/commonjs/theming/useTheme.cjs +0 -18
  481. package/lib/commonjs/types.cjs +0 -9
  482. package/lib/commonjs/types.cjs.map +0 -1
  483. package/lib/commonjs/useChildListeners.cjs +0 -36
  484. package/lib/commonjs/useComponent.cjs +0 -40
  485. package/lib/commonjs/useCurrentRender.cjs +0 -25
  486. package/lib/commonjs/useDescriptors.cjs +0 -188
  487. package/lib/commonjs/useEventEmitter.cjs +0 -105
  488. package/lib/commonjs/useFocusEffect.cjs +0 -80
  489. package/lib/commonjs/useFocusEvents.cjs +0 -70
  490. package/lib/commonjs/useFocusedListenersChildrenAdapter.cjs +0 -48
  491. package/lib/commonjs/useIsFocused.cjs +0 -28
  492. package/lib/commonjs/useIsomorphicLayoutEffect.cjs +0 -12
  493. package/lib/commonjs/useIsomorphicLayoutEffect.native.cjs +0 -9
  494. package/lib/commonjs/useKeyedChildListeners.cjs +0 -33
  495. package/lib/commonjs/useLazyValue.cjs +0 -17
  496. package/lib/commonjs/useNavigation.cjs +0 -27
  497. package/lib/commonjs/useNavigationBuilder.cjs +0 -478
  498. package/lib/commonjs/useNavigationCache.cjs +0 -162
  499. package/lib/commonjs/useNavigationContainerRef.cjs +0 -18
  500. package/lib/commonjs/useNavigationHelpers.cjs +0 -76
  501. package/lib/commonjs/useNavigationIndependentTree.cjs +0 -14
  502. package/lib/commonjs/useNavigationState.cjs +0 -26
  503. package/lib/commonjs/useOnAction.cjs +0 -106
  504. package/lib/commonjs/useOnGetState.cjs +0 -48
  505. package/lib/commonjs/useOnPreventRemove.cjs +0 -72
  506. package/lib/commonjs/useOnRouteFocus.cjs +0 -36
  507. package/lib/commonjs/useOptionsGetters.cjs +0 -78
  508. package/lib/commonjs/usePreventRemove.cjs +0 -48
  509. package/lib/commonjs/usePreventRemoveContext.cjs +0 -18
  510. package/lib/commonjs/useRegisterNavigator.cjs +0 -32
  511. package/lib/commonjs/useRoute.cjs +0 -23
  512. package/lib/commonjs/useRouteCache.cjs +0 -69
  513. package/lib/commonjs/useSyncState.cjs +0 -48
  514. package/lib/commonjs/validatePathConfig.cjs +0 -49
  515. package/lib/commonjs/validatePathConfig.cjs.map +0 -1
  516. package/lib/module/BaseNavigationContainer.mjs +0 -347
  517. package/lib/module/BaseNavigationContainer.mjs.map +0 -1
  518. package/lib/module/CurrentRenderContext.mjs +0 -8
  519. package/lib/module/CurrentRenderContext.mjs.map +0 -1
  520. package/lib/module/DeprecatedNavigationInChildContext.mjs +0 -7
  521. package/lib/module/DeprecatedNavigationInChildContext.mjs.map +0 -1
  522. package/lib/module/EnsureSingleNavigator.mjs +0 -34
  523. package/lib/module/EnsureSingleNavigator.mjs.map +0 -1
  524. package/lib/module/Group.mjs +0 -8
  525. package/lib/module/Group.mjs.map +0 -1
  526. package/lib/module/NavigationBuilderContext.mjs +0 -9
  527. package/lib/module/NavigationBuilderContext.mjs.map +0 -1
  528. package/lib/module/NavigationContainerRefContext.mjs +0 -6
  529. package/lib/module/NavigationContainerRefContext.mjs.map +0 -1
  530. package/lib/module/NavigationContext.mjs +0 -6
  531. package/lib/module/NavigationContext.mjs.map +0 -1
  532. package/lib/module/NavigationHelpersContext.mjs +0 -7
  533. package/lib/module/NavigationHelpersContext.mjs.map +0 -1
  534. package/lib/module/NavigationIndependentTree.mjs +0 -28
  535. package/lib/module/NavigationIndependentTree.mjs.map +0 -1
  536. package/lib/module/NavigationIndependentTreeContext.mjs +0 -7
  537. package/lib/module/NavigationIndependentTreeContext.mjs.map +0 -1
  538. package/lib/module/NavigationRouteContext.mjs +0 -7
  539. package/lib/module/NavigationRouteContext.mjs.map +0 -1
  540. package/lib/module/NavigationStateContext.mjs +0 -21
  541. package/lib/module/NavigationStateContext.mjs.map +0 -1
  542. package/lib/module/PreventRemoveContext.mjs +0 -9
  543. package/lib/module/PreventRemoveContext.mjs.map +0 -1
  544. package/lib/module/PreventRemoveProvider.mjs +0 -82
  545. package/lib/module/PreventRemoveProvider.mjs.map +0 -1
  546. package/lib/module/SceneView.mjs +0 -88
  547. package/lib/module/SceneView.mjs.map +0 -1
  548. package/lib/module/Screen.mjs +0 -8
  549. package/lib/module/Screen.mjs.map +0 -1
  550. package/lib/module/StaticContainer.mjs +0 -24
  551. package/lib/module/StaticContainer.mjs.map +0 -1
  552. package/lib/module/StaticNavigation.mjs +0 -230
  553. package/lib/module/StaticNavigation.mjs.map +0 -1
  554. package/lib/module/UnhandledActionContext.mjs +0 -3
  555. package/lib/module/UnhandledActionContext.mjs.map +0 -1
  556. package/lib/module/checkDuplicateRouteNames.mjs +0 -19
  557. package/lib/module/checkDuplicateRouteNames.mjs.map +0 -1
  558. package/lib/module/checkSerializable.mjs +0 -44
  559. package/lib/module/checkSerializable.mjs.map +0 -1
  560. package/lib/module/createNavigationContainerRef.mjs +0 -62
  561. package/lib/module/createNavigationContainerRef.mjs.map +0 -1
  562. package/lib/module/createNavigatorFactory.mjs +0 -29
  563. package/lib/module/createNavigatorFactory.mjs.map +0 -1
  564. package/lib/module/deepFreeze.mjs +0 -29
  565. package/lib/module/deepFreeze.mjs.map +0 -1
  566. package/lib/module/findFocusedRoute.mjs +0 -9
  567. package/lib/module/findFocusedRoute.mjs.map +0 -1
  568. package/lib/module/getActionFromState.mjs +0 -80
  569. package/lib/module/getActionFromState.mjs.map +0 -1
  570. package/lib/module/getFocusedRouteNameFromRoute.mjs +0 -16
  571. package/lib/module/getFocusedRouteNameFromRoute.mjs.map +0 -1
  572. package/lib/module/getPathFromState.mjs +0 -203
  573. package/lib/module/getPathFromState.mjs.map +0 -1
  574. package/lib/module/getStateFromPath.mjs +0 -429
  575. package/lib/module/getStateFromPath.mjs.map +0 -1
  576. package/lib/module/index.mjs +0 -34
  577. package/lib/module/index.mjs.map +0 -1
  578. package/lib/module/isArrayEqual.mjs +0 -14
  579. package/lib/module/isArrayEqual.mjs.map +0 -1
  580. package/lib/module/isRecordEqual.mjs +0 -15
  581. package/lib/module/isRecordEqual.mjs.map +0 -1
  582. package/lib/module/theming/ThemeContext.mjs +0 -4
  583. package/lib/module/theming/ThemeContext.mjs.map +0 -1
  584. package/lib/module/theming/ThemeProvider.mjs +0 -13
  585. package/lib/module/theming/ThemeProvider.mjs.map +0 -1
  586. package/lib/module/theming/useTheme.mjs +0 -10
  587. package/lib/module/theming/useTheme.mjs.map +0 -1
  588. package/lib/module/types.mjs +0 -2
  589. package/lib/module/types.mjs.map +0 -1
  590. package/lib/module/useChildListeners.mjs +0 -28
  591. package/lib/module/useChildListeners.mjs.map +0 -1
  592. package/lib/module/useComponent.mjs +0 -32
  593. package/lib/module/useComponent.mjs.map +0 -1
  594. package/lib/module/useCurrentRender.mjs +0 -17
  595. package/lib/module/useCurrentRender.mjs.map +0 -1
  596. package/lib/module/useDescriptors.mjs +0 -180
  597. package/lib/module/useDescriptors.mjs.map +0 -1
  598. package/lib/module/useEventEmitter.mjs +0 -97
  599. package/lib/module/useEventEmitter.mjs.map +0 -1
  600. package/lib/module/useFocusEffect.mjs +0 -72
  601. package/lib/module/useFocusEffect.mjs.map +0 -1
  602. package/lib/module/useFocusEvents.mjs +0 -62
  603. package/lib/module/useFocusEvents.mjs.map +0 -1
  604. package/lib/module/useFocusedListenersChildrenAdapter.mjs +0 -40
  605. package/lib/module/useFocusedListenersChildrenAdapter.mjs.map +0 -1
  606. package/lib/module/useIsFocused.mjs +0 -21
  607. package/lib/module/useIsFocused.mjs.map +0 -1
  608. package/lib/module/useIsomorphicLayoutEffect.mjs +0 -7
  609. package/lib/module/useIsomorphicLayoutEffect.mjs.map +0 -1
  610. package/lib/module/useIsomorphicLayoutEffect.native.mjs +0 -3
  611. package/lib/module/useIsomorphicLayoutEffect.native.mjs.map +0 -1
  612. package/lib/module/useKeyedChildListeners.mjs +0 -25
  613. package/lib/module/useKeyedChildListeners.mjs.map +0 -1
  614. package/lib/module/useLazyValue.mjs +0 -9
  615. package/lib/module/useLazyValue.mjs.map +0 -1
  616. package/lib/module/useNavigation.mjs +0 -19
  617. package/lib/module/useNavigation.mjs.map +0 -1
  618. package/lib/module/useNavigationBuilder.mjs +0 -470
  619. package/lib/module/useNavigationBuilder.mjs.map +0 -1
  620. package/lib/module/useNavigationCache.mjs +0 -154
  621. package/lib/module/useNavigationCache.mjs.map +0 -1
  622. package/lib/module/useNavigationContainerRef.mjs +0 -10
  623. package/lib/module/useNavigationContainerRef.mjs.map +0 -1
  624. package/lib/module/useNavigationHelpers.mjs +0 -68
  625. package/lib/module/useNavigationHelpers.mjs.map +0 -1
  626. package/lib/module/useNavigationIndependentTree.mjs +0 -6
  627. package/lib/module/useNavigationIndependentTree.mjs.map +0 -1
  628. package/lib/module/useNavigationState.mjs +0 -18
  629. package/lib/module/useNavigationState.mjs.map +0 -1
  630. package/lib/module/useOnAction.mjs +0 -98
  631. package/lib/module/useOnAction.mjs.map +0 -1
  632. package/lib/module/useOnGetState.mjs +0 -40
  633. package/lib/module/useOnGetState.mjs.map +0 -1
  634. package/lib/module/useOnPreventRemove.mjs +0 -62
  635. package/lib/module/useOnPreventRemove.mjs.map +0 -1
  636. package/lib/module/useOnRouteFocus.mjs +0 -28
  637. package/lib/module/useOnRouteFocus.mjs.map +0 -1
  638. package/lib/module/useOptionsGetters.mjs +0 -70
  639. package/lib/module/useOptionsGetters.mjs.map +0 -1
  640. package/lib/module/usePreventRemove.mjs +0 -40
  641. package/lib/module/usePreventRemove.mjs.map +0 -1
  642. package/lib/module/usePreventRemoveContext.mjs +0 -10
  643. package/lib/module/usePreventRemoveContext.mjs.map +0 -1
  644. package/lib/module/useRegisterNavigator.mjs +0 -25
  645. package/lib/module/useRegisterNavigator.mjs.map +0 -1
  646. package/lib/module/useRoute.mjs +0 -15
  647. package/lib/module/useRoute.mjs.map +0 -1
  648. package/lib/module/useRouteCache.mjs +0 -60
  649. package/lib/module/useRouteCache.mjs.map +0 -1
  650. package/lib/module/useSyncState.mjs +0 -40
  651. package/lib/module/useSyncState.mjs.map +0 -1
  652. package/lib/module/validatePathConfig.mjs +0 -43
  653. package/lib/module/validatePathConfig.mjs.map +0 -1
  654. package/lib/typescript/src/BaseNavigationContainer.d.ts.map +0 -1
  655. package/lib/typescript/src/CurrentRenderContext.d.ts.map +0 -1
  656. package/lib/typescript/src/DeprecatedNavigationInChildContext.d.ts.map +0 -1
  657. package/lib/typescript/src/EnsureSingleNavigator.d.ts.map +0 -1
  658. package/lib/typescript/src/Group.d.ts.map +0 -1
  659. package/lib/typescript/src/NavigationBuilderContext.d.ts.map +0 -1
  660. package/lib/typescript/src/NavigationContainerRefContext.d.ts.map +0 -1
  661. package/lib/typescript/src/NavigationContext.d.ts.map +0 -1
  662. package/lib/typescript/src/NavigationHelpersContext.d.ts.map +0 -1
  663. package/lib/typescript/src/NavigationIndependentTree.d.ts.map +0 -1
  664. package/lib/typescript/src/NavigationIndependentTreeContext.d.ts.map +0 -1
  665. package/lib/typescript/src/NavigationRouteContext.d.ts.map +0 -1
  666. package/lib/typescript/src/NavigationStateContext.d.ts.map +0 -1
  667. package/lib/typescript/src/PreventRemoveContext.d.ts.map +0 -1
  668. package/lib/typescript/src/PreventRemoveProvider.d.ts.map +0 -1
  669. package/lib/typescript/src/SceneView.d.ts.map +0 -1
  670. package/lib/typescript/src/Screen.d.ts.map +0 -1
  671. package/lib/typescript/src/StaticContainer.d.ts.map +0 -1
  672. package/lib/typescript/src/StaticNavigation.d.ts +0 -190
  673. package/lib/typescript/src/StaticNavigation.d.ts.map +0 -1
  674. package/lib/typescript/src/UnhandledActionContext.d.ts.map +0 -1
  675. package/lib/typescript/src/checkDuplicateRouteNames.d.ts.map +0 -1
  676. package/lib/typescript/src/checkSerializable.d.ts.map +0 -1
  677. package/lib/typescript/src/createNavigationContainerRef.d.ts.map +0 -1
  678. package/lib/typescript/src/createNavigatorFactory.d.ts.map +0 -1
  679. package/lib/typescript/src/deepFreeze.d.ts.map +0 -1
  680. package/lib/typescript/src/findFocusedRoute.d.ts.map +0 -1
  681. package/lib/typescript/src/getActionFromState.d.ts.map +0 -1
  682. package/lib/typescript/src/getFocusedRouteNameFromRoute.d.ts.map +0 -1
  683. package/lib/typescript/src/getPathFromState.d.ts.map +0 -1
  684. package/lib/typescript/src/getStateFromPath.d.ts.map +0 -1
  685. package/lib/typescript/src/index.d.ts.map +0 -1
  686. package/lib/typescript/src/isArrayEqual.d.ts.map +0 -1
  687. package/lib/typescript/src/isRecordEqual.d.ts.map +0 -1
  688. package/lib/typescript/src/theming/ThemeContext.d.ts.map +0 -1
  689. package/lib/typescript/src/theming/ThemeProvider.d.ts.map +0 -1
  690. package/lib/typescript/src/theming/useTheme.d.ts.map +0 -1
  691. package/lib/typescript/src/types.d.ts +0 -695
  692. package/lib/typescript/src/types.d.ts.map +0 -1
  693. package/lib/typescript/src/useChildListeners.d.ts.map +0 -1
  694. package/lib/typescript/src/useComponent.d.ts.map +0 -1
  695. package/lib/typescript/src/useCurrentRender.d.ts.map +0 -1
  696. package/lib/typescript/src/useDescriptors.d.ts +0 -133
  697. package/lib/typescript/src/useDescriptors.d.ts.map +0 -1
  698. package/lib/typescript/src/useEventEmitter.d.ts.map +0 -1
  699. package/lib/typescript/src/useFocusEffect.d.ts.map +0 -1
  700. package/lib/typescript/src/useFocusEvents.d.ts.map +0 -1
  701. package/lib/typescript/src/useFocusedListenersChildrenAdapter.d.ts.map +0 -1
  702. package/lib/typescript/src/useIsFocused.d.ts.map +0 -1
  703. package/lib/typescript/src/useIsomorphicLayoutEffect.d.ts.map +0 -1
  704. package/lib/typescript/src/useIsomorphicLayoutEffect.native.d.ts.map +0 -1
  705. package/lib/typescript/src/useKeyedChildListeners.d.ts.map +0 -1
  706. package/lib/typescript/src/useLazyValue.d.ts.map +0 -1
  707. package/lib/typescript/src/useNavigation.d.ts.map +0 -1
  708. package/lib/typescript/src/useNavigationBuilder.d.ts +0 -181
  709. package/lib/typescript/src/useNavigationBuilder.d.ts.map +0 -1
  710. package/lib/typescript/src/useNavigationCache.d.ts +0 -65
  711. package/lib/typescript/src/useNavigationCache.d.ts.map +0 -1
  712. package/lib/typescript/src/useNavigationContainerRef.d.ts.map +0 -1
  713. package/lib/typescript/src/useNavigationHelpers.d.ts +0 -96
  714. package/lib/typescript/src/useNavigationHelpers.d.ts.map +0 -1
  715. package/lib/typescript/src/useNavigationIndependentTree.d.ts.map +0 -1
  716. package/lib/typescript/src/useNavigationState.d.ts.map +0 -1
  717. package/lib/typescript/src/useOnAction.d.ts.map +0 -1
  718. package/lib/typescript/src/useOnGetState.d.ts.map +0 -1
  719. package/lib/typescript/src/useOnPreventRemove.d.ts.map +0 -1
  720. package/lib/typescript/src/useOnRouteFocus.d.ts.map +0 -1
  721. package/lib/typescript/src/useOptionsGetters.d.ts.map +0 -1
  722. package/lib/typescript/src/usePreventRemove.d.ts.map +0 -1
  723. package/lib/typescript/src/usePreventRemoveContext.d.ts.map +0 -1
  724. package/lib/typescript/src/useRegisterNavigator.d.ts.map +0 -1
  725. package/lib/typescript/src/useRoute.d.ts.map +0 -1
  726. package/lib/typescript/src/useRouteCache.d.ts.map +0 -1
  727. package/lib/typescript/src/useSyncState.d.ts.map +0 -1
  728. package/lib/typescript/src/validatePathConfig.d.ts.map +0 -1
  729. package/lib/typescript/utils/usePrevious.d.ts +0 -6
  730. package/lib/typescript/utils/usePrevious.d.ts.map +0 -1
  731. /package/lib/commonjs/{CurrentRenderContext.cjs.map → CurrentRenderContext.js.map} +0 -0
  732. /package/lib/commonjs/{DeprecatedNavigationInChildContext.cjs.map → DeprecatedNavigationInChildContext.js.map} +0 -0
  733. /package/lib/commonjs/{EnsureSingleNavigator.cjs.map → EnsureSingleNavigator.js.map} +0 -0
  734. /package/lib/commonjs/{Group.cjs.map → Group.js.map} +0 -0
  735. /package/lib/commonjs/{NavigationBuilderContext.cjs.map → NavigationBuilderContext.js.map} +0 -0
  736. /package/lib/commonjs/{NavigationContainerRefContext.cjs.map → NavigationContainerRefContext.js.map} +0 -0
  737. /package/lib/commonjs/{NavigationContext.cjs.map → NavigationContext.js.map} +0 -0
  738. /package/lib/commonjs/{NavigationHelpersContext.cjs.map → NavigationHelpersContext.js.map} +0 -0
  739. /package/lib/commonjs/{NavigationIndependentTree.cjs.map → NavigationIndependentTree.js.map} +0 -0
  740. /package/lib/commonjs/{NavigationIndependentTreeContext.cjs.map → NavigationIndependentTreeContext.js.map} +0 -0
  741. /package/lib/commonjs/{NavigationRouteContext.cjs.map → NavigationRouteContext.js.map} +0 -0
  742. /package/lib/commonjs/{NavigationStateContext.cjs.map → NavigationStateContext.js.map} +0 -0
  743. /package/lib/commonjs/{PreventRemoveContext.cjs.map → PreventRemoveContext.js.map} +0 -0
  744. /package/lib/commonjs/{PreventRemoveProvider.cjs.map → PreventRemoveProvider.js.map} +0 -0
  745. /package/lib/commonjs/{SceneView.cjs.map → SceneView.js.map} +0 -0
  746. /package/lib/commonjs/{Screen.cjs.map → Screen.js.map} +0 -0
  747. /package/lib/commonjs/{StaticContainer.cjs.map → StaticContainer.js.map} +0 -0
  748. /package/lib/commonjs/{UnhandledActionContext.cjs.map → UnhandledActionContext.js.map} +0 -0
  749. /package/lib/commonjs/{checkDuplicateRouteNames.cjs.map → checkDuplicateRouteNames.js.map} +0 -0
  750. /package/lib/commonjs/{checkSerializable.cjs.map → checkSerializable.js.map} +0 -0
  751. /package/lib/commonjs/{createNavigationContainerRef.cjs.map → createNavigationContainerRef.js.map} +0 -0
  752. /package/lib/commonjs/{createNavigatorFactory.cjs.map → createNavigatorFactory.js.map} +0 -0
  753. /package/lib/commonjs/{deepFreeze.cjs.map → deepFreeze.js.map} +0 -0
  754. /package/lib/commonjs/{findFocusedRoute.cjs.map → findFocusedRoute.js.map} +0 -0
  755. /package/lib/commonjs/{getActionFromState.cjs.map → getActionFromState.js.map} +0 -0
  756. /package/lib/commonjs/{getFocusedRouteNameFromRoute.cjs.map → getFocusedRouteNameFromRoute.js.map} +0 -0
  757. /package/lib/commonjs/{index.cjs.map → index.js.map} +0 -0
  758. /package/lib/commonjs/{isArrayEqual.cjs.map → isArrayEqual.js.map} +0 -0
  759. /package/lib/commonjs/{isRecordEqual.cjs.map → isRecordEqual.js.map} +0 -0
  760. /package/lib/commonjs/theming/{ThemeContext.cjs.map → ThemeContext.js.map} +0 -0
  761. /package/lib/commonjs/theming/{ThemeProvider.cjs.map → ThemeProvider.js.map} +0 -0
  762. /package/lib/commonjs/theming/{useTheme.cjs.map → useTheme.js.map} +0 -0
  763. /package/lib/commonjs/{useChildListeners.cjs.map → useChildListeners.js.map} +0 -0
  764. /package/lib/commonjs/{useComponent.cjs.map → useComponent.js.map} +0 -0
  765. /package/lib/commonjs/{useCurrentRender.cjs.map → useCurrentRender.js.map} +0 -0
  766. /package/lib/commonjs/{useDescriptors.cjs.map → useDescriptors.js.map} +0 -0
  767. /package/lib/commonjs/{useEventEmitter.cjs.map → useEventEmitter.js.map} +0 -0
  768. /package/lib/commonjs/{useFocusEffect.cjs.map → useFocusEffect.js.map} +0 -0
  769. /package/lib/commonjs/{useFocusEvents.cjs.map → useFocusEvents.js.map} +0 -0
  770. /package/lib/commonjs/{useFocusedListenersChildrenAdapter.cjs.map → useFocusedListenersChildrenAdapter.js.map} +0 -0
  771. /package/lib/commonjs/{useIsFocused.cjs.map → useIsFocused.js.map} +0 -0
  772. /package/lib/commonjs/{useIsomorphicLayoutEffect.cjs.map → useIsomorphicLayoutEffect.js.map} +0 -0
  773. /package/lib/commonjs/{useIsomorphicLayoutEffect.native.cjs.map → useIsomorphicLayoutEffect.native.js.map} +0 -0
  774. /package/lib/commonjs/{useKeyedChildListeners.cjs.map → useKeyedChildListeners.js.map} +0 -0
  775. /package/lib/commonjs/{useLazyValue.cjs.map → useLazyValue.js.map} +0 -0
  776. /package/lib/commonjs/{useNavigation.cjs.map → useNavigation.js.map} +0 -0
  777. /package/lib/commonjs/{useNavigationBuilder.cjs.map → useNavigationBuilder.js.map} +0 -0
  778. /package/lib/commonjs/{useNavigationCache.cjs.map → useNavigationCache.js.map} +0 -0
  779. /package/lib/commonjs/{useNavigationContainerRef.cjs.map → useNavigationContainerRef.js.map} +0 -0
  780. /package/lib/commonjs/{useNavigationHelpers.cjs.map → useNavigationHelpers.js.map} +0 -0
  781. /package/lib/commonjs/{useNavigationIndependentTree.cjs.map → useNavigationIndependentTree.js.map} +0 -0
  782. /package/lib/commonjs/{useNavigationState.cjs.map → useNavigationState.js.map} +0 -0
  783. /package/lib/commonjs/{useOnAction.cjs.map → useOnAction.js.map} +0 -0
  784. /package/lib/commonjs/{useOnGetState.cjs.map → useOnGetState.js.map} +0 -0
  785. /package/lib/commonjs/{useOnPreventRemove.cjs.map → useOnPreventRemove.js.map} +0 -0
  786. /package/lib/commonjs/{useOnRouteFocus.cjs.map → useOnRouteFocus.js.map} +0 -0
  787. /package/lib/commonjs/{useOptionsGetters.cjs.map → useOptionsGetters.js.map} +0 -0
  788. /package/lib/commonjs/{usePreventRemove.cjs.map → usePreventRemove.js.map} +0 -0
  789. /package/lib/commonjs/{usePreventRemoveContext.cjs.map → usePreventRemoveContext.js.map} +0 -0
  790. /package/lib/commonjs/{useRegisterNavigator.cjs.map → useRegisterNavigator.js.map} +0 -0
  791. /package/lib/commonjs/{useRoute.cjs.map → useRoute.js.map} +0 -0
  792. /package/lib/commonjs/{useRouteCache.cjs.map → useRouteCache.js.map} +0 -0
  793. /package/lib/commonjs/{useSyncState.cjs.map → useSyncState.js.map} +0 -0
  794. /package/lib/typescript/{src → commonjs/src}/BaseNavigationContainer.d.ts +0 -0
  795. /package/lib/typescript/{src → commonjs/src}/CurrentRenderContext.d.ts +0 -0
  796. /package/lib/typescript/{src → commonjs/src}/DeprecatedNavigationInChildContext.d.ts +0 -0
  797. /package/lib/typescript/{src → commonjs/src}/EnsureSingleNavigator.d.ts +0 -0
  798. /package/lib/typescript/{src → commonjs/src}/Group.d.ts +0 -0
  799. /package/lib/typescript/{src → commonjs/src}/NavigationBuilderContext.d.ts +0 -0
  800. /package/lib/typescript/{src → commonjs/src}/NavigationContainerRefContext.d.ts +0 -0
  801. /package/lib/typescript/{src → commonjs/src}/NavigationContext.d.ts +0 -0
  802. /package/lib/typescript/{src → commonjs/src}/NavigationHelpersContext.d.ts +0 -0
  803. /package/lib/typescript/{src → commonjs/src}/NavigationIndependentTree.d.ts +0 -0
  804. /package/lib/typescript/{src → commonjs/src}/NavigationIndependentTreeContext.d.ts +0 -0
  805. /package/lib/typescript/{src → commonjs/src}/NavigationRouteContext.d.ts +0 -0
  806. /package/lib/typescript/{src → commonjs/src}/NavigationStateContext.d.ts +0 -0
  807. /package/lib/typescript/{src → commonjs/src}/PreventRemoveContext.d.ts +0 -0
  808. /package/lib/typescript/{src → commonjs/src}/PreventRemoveProvider.d.ts +0 -0
  809. /package/lib/typescript/{src → commonjs/src}/SceneView.d.ts +0 -0
  810. /package/lib/typescript/{src → commonjs/src}/Screen.d.ts +0 -0
  811. /package/lib/typescript/{src → commonjs/src}/StaticContainer.d.ts +0 -0
  812. /package/lib/typescript/{src → commonjs/src}/UnhandledActionContext.d.ts +0 -0
  813. /package/lib/typescript/{src → commonjs/src}/checkDuplicateRouteNames.d.ts +0 -0
  814. /package/lib/typescript/{src → commonjs/src}/checkSerializable.d.ts +0 -0
  815. /package/lib/typescript/{src → commonjs/src}/createNavigationContainerRef.d.ts +0 -0
  816. /package/lib/typescript/{src → commonjs/src}/createNavigatorFactory.d.ts +0 -0
  817. /package/lib/typescript/{src → commonjs/src}/deepFreeze.d.ts +0 -0
  818. /package/lib/typescript/{src → commonjs/src}/findFocusedRoute.d.ts +0 -0
  819. /package/lib/typescript/{src → commonjs/src}/getActionFromState.d.ts +0 -0
  820. /package/lib/typescript/{src → commonjs/src}/getFocusedRouteNameFromRoute.d.ts +0 -0
  821. /package/lib/typescript/{src → commonjs/src}/getPathFromState.d.ts +0 -0
  822. /package/lib/typescript/{src → commonjs/src}/getStateFromPath.d.ts +0 -0
  823. /package/lib/typescript/{src → commonjs/src}/index.d.ts +0 -0
  824. /package/lib/typescript/{src → commonjs/src}/isArrayEqual.d.ts +0 -0
  825. /package/lib/typescript/{src → commonjs/src}/isRecordEqual.d.ts +0 -0
  826. /package/lib/typescript/{src → commonjs/src}/theming/ThemeContext.d.ts +0 -0
  827. /package/lib/typescript/{src → commonjs/src}/theming/ThemeProvider.d.ts +0 -0
  828. /package/lib/typescript/{src → commonjs/src}/theming/useTheme.d.ts +0 -0
  829. /package/lib/typescript/{src → commonjs/src}/useChildListeners.d.ts +0 -0
  830. /package/lib/typescript/{src → commonjs/src}/useComponent.d.ts +0 -0
  831. /package/lib/typescript/{src → commonjs/src}/useCurrentRender.d.ts +0 -0
  832. /package/lib/typescript/{src → commonjs/src}/useEventEmitter.d.ts +0 -0
  833. /package/lib/typescript/{src → commonjs/src}/useFocusEffect.d.ts +0 -0
  834. /package/lib/typescript/{src → commonjs/src}/useFocusEvents.d.ts +0 -0
  835. /package/lib/typescript/{src → commonjs/src}/useFocusedListenersChildrenAdapter.d.ts +0 -0
  836. /package/lib/typescript/{src → commonjs/src}/useIsFocused.d.ts +0 -0
  837. /package/lib/typescript/{src → commonjs/src}/useIsomorphicLayoutEffect.d.ts +0 -0
  838. /package/lib/typescript/{src → commonjs/src}/useIsomorphicLayoutEffect.native.d.ts +0 -0
  839. /package/lib/typescript/{src → commonjs/src}/useKeyedChildListeners.d.ts +0 -0
  840. /package/lib/typescript/{src → commonjs/src}/useLazyValue.d.ts +0 -0
  841. /package/lib/typescript/{src → commonjs/src}/useNavigation.d.ts +0 -0
  842. /package/lib/typescript/{src → commonjs/src}/useNavigationContainerRef.d.ts +0 -0
  843. /package/lib/typescript/{src → commonjs/src}/useNavigationIndependentTree.d.ts +0 -0
  844. /package/lib/typescript/{src → commonjs/src}/useNavigationState.d.ts +0 -0
  845. /package/lib/typescript/{src → commonjs/src}/useOnAction.d.ts +0 -0
  846. /package/lib/typescript/{src → commonjs/src}/useOnGetState.d.ts +0 -0
  847. /package/lib/typescript/{src → commonjs/src}/useOnPreventRemove.d.ts +0 -0
  848. /package/lib/typescript/{src → commonjs/src}/useOnRouteFocus.d.ts +0 -0
  849. /package/lib/typescript/{src → commonjs/src}/useOptionsGetters.d.ts +0 -0
  850. /package/lib/typescript/{src → commonjs/src}/usePreventRemove.d.ts +0 -0
  851. /package/lib/typescript/{src → commonjs/src}/usePreventRemoveContext.d.ts +0 -0
  852. /package/lib/typescript/{src → commonjs/src}/useRegisterNavigator.d.ts +0 -0
  853. /package/lib/typescript/{src → commonjs/src}/useRoute.d.ts +0 -0
  854. /package/lib/typescript/{src → commonjs/src}/useRouteCache.d.ts +0 -0
  855. /package/lib/typescript/{src → commonjs/src}/useSyncState.d.ts +0 -0
  856. /package/lib/typescript/{src → commonjs/src}/validatePathConfig.d.ts +0 -0
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
4
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
5
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
6
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
7
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
8
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
9
+ export let PrivateValueStore = /*#__PURE__*/_createClass(function PrivateValueStore() {
10
+ _classCallCheck(this, PrivateValueStore);
11
+ /**
12
+ * UGLY HACK! DO NOT USE THE TYPE!!!
13
+ *
14
+ * TypeScript requires a type to be used to be able to infer it.
15
+ * The type should exist as its own without any operations such as union.
16
+ * So we need to figure out a way to store this type in a property.
17
+ * The problem with a normal property is that it shows up in intelliSense.
18
+ * Adding private keyword works, but the annotation is stripped away in declaration.
19
+ * Turns out if we use an empty string, it doesn't show up in intelliSense.
20
+ */
21
+ _defineProperty(this, '', void 0);
22
+ });
23
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PrivateValueStore","_createClass","_classCallCheck","_defineProperty"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":";;;;;;;;AA6NA,WAAaA,iBAAiB,gBAAAC,YAAA,UAAAD,kBAAA;EAAAE,eAAA,OAAAF,iBAAA;EAC5B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EATEG,eAAA,OAUU,EAAE;AAAA","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ import * as React from 'react';
4
+ /**
5
+ * Hook which lets child navigators add action listeners.
6
+ */
7
+ export function useChildListeners() {
8
+ const {
9
+ current: listeners
10
+ } = React.useRef({
11
+ action: [],
12
+ focus: []
13
+ });
14
+ const addListener = React.useCallback((type, listener) => {
15
+ listeners[type].push(listener);
16
+ let removed = false;
17
+ return () => {
18
+ const index = listeners[type].indexOf(listener);
19
+ if (!removed && index > -1) {
20
+ removed = true;
21
+ listeners[type].splice(index, 1);
22
+ }
23
+ };
24
+ }, [listeners]);
25
+ return {
26
+ listeners,
27
+ addListener
28
+ };
29
+ }
30
+ //# sourceMappingURL=useChildListeners.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useChildListeners","current","listeners","useRef","action","focus","addListener","useCallback","type","listener","push","removed","index","indexOf","splice"],"sourceRoot":"../../src","sources":["useChildListeners.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAI9B;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAAA,EAAG;EAClC,MAAM;IAAEC,OAAO,EAAEC;EAAU,CAAC,GAAGH,KAAK,CAACI,MAAM,CAExC;IACDC,MAAM,EAAE,EAAE;IACVC,KAAK,EAAE;EACT,CAAC,CAAC;EAEF,MAAMC,WAAW,GAAGP,KAAK,CAACQ,WAAW,CACnC,CAA8BC,IAAO,EAAEC,QAAwB,KAAK;IAClEP,SAAS,CAACM,IAAI,CAAC,CAACE,IAAI,CAACD,QAAQ,CAAC;IAE9B,IAAIE,OAAO,GAAG,KAAK;IACnB,OAAO,MAAM;MACX,MAAMC,KAAK,GAAGV,SAAS,CAACM,IAAI,CAAC,CAACK,OAAO,CAACJ,QAAQ,CAAC;MAE/C,IAAI,CAACE,OAAO,IAAIC,KAAK,GAAG,CAAC,CAAC,EAAE;QAC1BD,OAAO,GAAG,IAAI;QACdT,SAAS,CAACM,IAAI,CAAC,CAACM,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC;MAClC;IACF,CAAC;EACH,CAAC,EACD,CAACV,SAAS,CACZ,CAAC;EAED,OAAO;IACLA,SAAS;IACTI;EACF,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ import * as React from 'react';
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ const NavigationContent = ({
6
+ render,
7
+ children
8
+ }) => {
9
+ return render(children);
10
+ };
11
+ export function useComponent(render) {
12
+ const renderRef = React.useRef(render);
13
+
14
+ // Normally refs shouldn't be mutated in render
15
+ // But we return a component which will be rendered
16
+ // So it's just for immediate consumption
17
+ renderRef.current = render;
18
+ React.useEffect(() => {
19
+ renderRef.current = null;
20
+ });
21
+ return React.useRef(({
22
+ children
23
+ }) => {
24
+ const render = renderRef.current;
25
+ if (render === null) {
26
+ throw new Error('The returned component must be rendered in the same render phase as the hook.');
27
+ }
28
+ return /*#__PURE__*/_jsx(NavigationContent, {
29
+ render: render,
30
+ children: children
31
+ });
32
+ }).current;
33
+ }
34
+ //# sourceMappingURL=useComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","jsx","_jsx","NavigationContent","render","children","useComponent","renderRef","useRef","current","useEffect","Error"],"sourceRoot":"../../src","sources":["useComponent.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAS/B,MAAMC,iBAAiB,GAAGA,CAAC;EAAEC,MAAM;EAAEC;AAAgB,CAAC,KAAK;EACzD,OAAOD,MAAM,CAACC,QAAQ,CAAC;AACzB,CAAC;AAED,OAAO,SAASC,YAAYA,CAACF,MAAc,EAAE;EAC3C,MAAMG,SAAS,GAAGP,KAAK,CAACQ,MAAM,CAAgBJ,MAAM,CAAC;;EAErD;EACA;EACA;EACAG,SAAS,CAACE,OAAO,GAAGL,MAAM;EAE1BJ,KAAK,CAACU,SAAS,CAAC,MAAM;IACpBH,SAAS,CAACE,OAAO,GAAG,IAAI;EAC1B,CAAC,CAAC;EAEF,OAAOT,KAAK,CAACQ,MAAM,CAAC,CAAC;IAAEH;EAAwC,CAAC,KAAK;IACnE,MAAMD,MAAM,GAAGG,SAAS,CAACE,OAAO;IAEhC,IAAIL,MAAM,KAAK,IAAI,EAAE;MACnB,MAAM,IAAIO,KAAK,CACb,+EACF,CAAC;IACH;IAEA,oBAAOT,IAAA,CAACC,iBAAiB;MAACC,MAAM,EAAEA,MAAO;MAAAC,QAAA,EAAEA;IAAQ,CAAoB,CAAC;EAC1E,CAAC,CAAC,CAACI,OAAO;AACZ","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ import * as React from 'react';
4
+ import { CurrentRenderContext } from "./CurrentRenderContext.js";
5
+ /**
6
+ * Write the current options, so that server renderer can get current values
7
+ * Mutating values like this is not safe in async mode, but it doesn't apply to SSR
8
+ */
9
+ export function useCurrentRender({
10
+ state,
11
+ navigation,
12
+ descriptors
13
+ }) {
14
+ const current = React.useContext(CurrentRenderContext);
15
+ if (current && navigation.isFocused()) {
16
+ current.options = descriptors[state.routes[state.index].key].options;
17
+ }
18
+ }
19
+ //# sourceMappingURL=useCurrentRender.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","CurrentRenderContext","useCurrentRender","state","navigation","descriptors","current","useContext","isFocused","options","routes","index","key"],"sourceRoot":"../../src","sources":["useCurrentRender.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,oBAAoB,QAAQ,2BAAwB;AAiB7D;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAAC;EAAEC,KAAK;EAAEC,UAAU;EAAEC;AAAqB,CAAC,EAAE;EAC5E,MAAMC,OAAO,GAAGN,KAAK,CAACO,UAAU,CAACN,oBAAoB,CAAC;EAEtD,IAAIK,OAAO,IAAIF,UAAU,CAACI,SAAS,CAAC,CAAC,EAAE;IACrCF,OAAO,CAACG,OAAO,GAAGJ,WAAW,CAACF,KAAK,CAACO,MAAM,CAACP,KAAK,CAACQ,KAAK,CAAC,CAACC,GAAG,CAAC,CAACH,OAAO;EACtE;AACF","ignoreList":[]}
@@ -0,0 +1,182 @@
1
+ "use strict";
2
+
3
+ import * as React from 'react';
4
+ import { NavigationBuilderContext } from "./NavigationBuilderContext.js";
5
+ import { NavigationContext } from "./NavigationContext.js";
6
+ import { NavigationRouteContext } from "./NavigationRouteContext.js";
7
+ import { SceneView } from "./SceneView.js";
8
+ import { ThemeContext } from "./theming/ThemeContext.js";
9
+ import { useNavigationCache } from "./useNavigationCache.js";
10
+ import { useRouteCache } from "./useRouteCache.js";
11
+ import { jsx as _jsx } from "react/jsx-runtime";
12
+ /**
13
+ * Hook to create descriptor objects for the child routes.
14
+ *
15
+ * A descriptor object provides 3 things:
16
+ * - Helper method to render a screen
17
+ * - Options specified by the screen for the navigator
18
+ * - Navigation object intended for the route
19
+ */
20
+ export function useDescriptors({
21
+ state,
22
+ screens,
23
+ navigation,
24
+ screenOptions,
25
+ screenLayout,
26
+ onAction,
27
+ getState,
28
+ setState,
29
+ addListener,
30
+ addKeyedListener,
31
+ onRouteFocus,
32
+ router,
33
+ emitter
34
+ }) {
35
+ const theme = React.useContext(ThemeContext);
36
+ const [options, setOptions] = React.useState({});
37
+ const {
38
+ onDispatchAction,
39
+ onOptionsChange,
40
+ stackRef
41
+ } = React.useContext(NavigationBuilderContext);
42
+ const context = React.useMemo(() => ({
43
+ navigation,
44
+ onAction,
45
+ addListener,
46
+ addKeyedListener,
47
+ onRouteFocus,
48
+ onDispatchAction,
49
+ onOptionsChange,
50
+ stackRef
51
+ }), [navigation, onAction, addListener, addKeyedListener, onRouteFocus, onDispatchAction, onOptionsChange, stackRef]);
52
+ const {
53
+ base,
54
+ navigations
55
+ } = useNavigationCache({
56
+ state,
57
+ getState,
58
+ navigation,
59
+ setOptions,
60
+ router,
61
+ emitter
62
+ });
63
+ const routes = useRouteCache(state.routes);
64
+ const getOptions = (route, navigation, overrides) => {
65
+ const config = screens[route.name];
66
+ const screen = config.props;
67
+ const optionsList = [
68
+ // The default `screenOptions` passed to the navigator
69
+ screenOptions,
70
+ // The `screenOptions` props passed to `Group` elements
71
+ ...(config.options ? config.options.filter(Boolean) : []),
72
+ // The `options` prop passed to `Screen` elements,
73
+ screen.options,
74
+ // The options set via `navigation.setOptions`
75
+ overrides];
76
+ return optionsList.reduce((acc, curr) => Object.assign(acc,
77
+ // @ts-expect-error: we check for function but TS still complains
78
+ typeof curr !== 'function' ? curr : curr({
79
+ route,
80
+ navigation,
81
+ theme
82
+ })), {});
83
+ };
84
+ const render = (route, navigation, customOptions, routeState) => {
85
+ const config = screens[route.name];
86
+ const screen = config.props;
87
+ const clearOptions = () => setOptions(o => {
88
+ if (route.key in o) {
89
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
90
+ const {
91
+ [route.key]: _,
92
+ ...rest
93
+ } = o;
94
+ return rest;
95
+ }
96
+ return o;
97
+ });
98
+ const layout =
99
+ // The `layout` prop passed to `Screen` elements,
100
+ screen.layout ??
101
+ // The `screenLayout` props passed to `Group` elements
102
+ config.layout ??
103
+ // The default `screenLayout` passed to the navigator
104
+ screenLayout;
105
+ let element = /*#__PURE__*/_jsx(SceneView, {
106
+ navigation: navigation,
107
+ route: route,
108
+ screen: screen,
109
+ routeState: routeState,
110
+ getState: getState,
111
+ setState: setState,
112
+ options: customOptions,
113
+ clearOptions: clearOptions
114
+ });
115
+ if (layout != null) {
116
+ element = layout({
117
+ route,
118
+ navigation,
119
+ // @ts-expect-error: in practice `theme` will be defined
120
+ theme,
121
+ children: element
122
+ });
123
+ }
124
+ return /*#__PURE__*/_jsx(NavigationBuilderContext.Provider, {
125
+ value: context,
126
+ children: /*#__PURE__*/_jsx(NavigationContext.Provider, {
127
+ value: navigation,
128
+ children: /*#__PURE__*/_jsx(NavigationRouteContext.Provider, {
129
+ value: route,
130
+ children: element
131
+ })
132
+ })
133
+ }, route.key);
134
+ };
135
+ const descriptors = routes.reduce((acc, route, i) => {
136
+ const navigation = navigations[route.key];
137
+ const customOptions = getOptions(route, navigation, options[route.key]);
138
+ const element = render(route, navigation, customOptions, state.routes[i].state);
139
+ acc[route.key] = {
140
+ route,
141
+ // @ts-expect-error: it's missing action helpers, fix later
142
+ navigation,
143
+ render() {
144
+ return element;
145
+ },
146
+ options: customOptions
147
+ };
148
+ return acc;
149
+ }, {});
150
+
151
+ /**
152
+ * Create a descriptor object for a route.
153
+ *
154
+ * @param route Route object for which the descriptor should be created
155
+ * @param placeholder Whether the descriptor should be a placeholder, e.g. for a route not yet in the state
156
+ * @returns Descriptor object
157
+ */
158
+ const describe = (route, placeholder) => {
159
+ if (!placeholder) {
160
+ if (!(route.key in descriptors)) {
161
+ throw new Error(`Couldn't find a route with the key ${route.key}.`);
162
+ }
163
+ return descriptors[route.key];
164
+ }
165
+ const navigation = base;
166
+ const customOptions = getOptions(route, navigation, {});
167
+ const element = render(route, navigation, customOptions, undefined);
168
+ return {
169
+ route,
170
+ navigation,
171
+ render() {
172
+ return element;
173
+ },
174
+ options: customOptions
175
+ };
176
+ };
177
+ return {
178
+ describe,
179
+ descriptors
180
+ };
181
+ }
182
+ //# sourceMappingURL=useDescriptors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","NavigationBuilderContext","NavigationContext","NavigationRouteContext","SceneView","ThemeContext","useNavigationCache","useRouteCache","jsx","_jsx","useDescriptors","state","screens","navigation","screenOptions","screenLayout","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","theme","useContext","options","setOptions","useState","onDispatchAction","onOptionsChange","stackRef","context","useMemo","base","navigations","routes","getOptions","route","overrides","config","name","screen","props","optionsList","filter","Boolean","reduce","acc","curr","Object","assign","render","customOptions","routeState","clearOptions","o","key","_","rest","layout","element","children","Provider","value","descriptors","i","describe","placeholder","Error","undefined"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":";;AAOA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAGEC,wBAAwB,QACnB,+BAA4B;AACnC,SAASC,iBAAiB,QAAQ,wBAAqB;AACvD,SAASC,sBAAsB,QAAQ,6BAA0B;AACjE,SAASC,SAAS,QAAQ,gBAAa;AACvC,SAASC,YAAY,QAAQ,2BAAwB;AAUrD,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,aAAa,QAAQ,oBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AA0DhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAK5B;EACAC,KAAK;EACLC,OAAO;EACPC,UAAU;EACVC,aAAa;EACbC,YAAY;EACZC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,WAAW;EACXC,gBAAgB;EAChBC,YAAY;EACZC,MAAM;EACNC;AACuC,CAAC,EAAE;EAC1C,MAAMC,KAAK,GAAGxB,KAAK,CAACyB,UAAU,CAACpB,YAAY,CAAC;EAC5C,MAAM,CAACqB,OAAO,EAAEC,UAAU,CAAC,GAAG3B,KAAK,CAAC4B,QAAQ,CAC1C,CAAC,CACH,CAAC;EACD,MAAM;IAAEC,gBAAgB;IAAEC,eAAe;IAAEC;EAAS,CAAC,GAAG/B,KAAK,CAACyB,UAAU,CACtExB,wBACF,CAAC;EAED,MAAM+B,OAAO,GAAGhC,KAAK,CAACiC,OAAO,CAC3B,OAAO;IACLpB,UAAU;IACVG,QAAQ;IACRG,WAAW;IACXC,gBAAgB;IAChBC,YAAY;IACZQ,gBAAgB;IAChBC,eAAe;IACfC;EACF,CAAC,CAAC,EACF,CACElB,UAAU,EACVG,QAAQ,EACRG,WAAW,EACXC,gBAAgB,EAChBC,YAAY,EACZQ,gBAAgB,EAChBC,eAAe,EACfC,QAAQ,CAEZ,CAAC;EAED,MAAM;IAAEG,IAAI;IAAEC;EAAY,CAAC,GAAG7B,kBAAkB,CAK9C;IACAK,KAAK;IACLM,QAAQ;IACRJ,UAAU;IACVc,UAAU;IACVL,MAAM;IACNC;EACF,CAAC,CAAC;EAEF,MAAMa,MAAM,GAAG7B,aAAa,CAACI,KAAK,CAACyB,MAAM,CAAC;EAE1C,MAAMC,UAAU,GAAGA,CACjBC,KAAuC,EACvCzB,UAOC,EACD0B,SAAwC,KACrC;IACH,MAAMC,MAAM,GAAG5B,OAAO,CAAC0B,KAAK,CAACG,IAAI,CAAC;IAClC,MAAMC,MAAM,GAAGF,MAAM,CAACG,KAAK;IAE3B,MAAMC,WAAW,GAAG;IAClB;IACA9B,aAAa;IACb;IACA,IAAK0B,MAAM,CAACd,OAAO,GACfc,MAAM,CAACd,OAAO,CAACmB,MAAM,CAACC,OAAO,CAAC,GAC9B,EAAE,CAA8C;IACpD;IACAJ,MAAM,CAAChB,OAAO;IACd;IACAa,SAAS,CACV;IAED,OAAOK,WAAW,CAACG,MAAM,CACvB,CAACC,GAAG,EAAEC,IAAI,KACRC,MAAM,CAACC,MAAM,CACXH,GAAG;IACH;IACA,OAAOC,IAAI,KAAK,UAAU,GAAGA,IAAI,GAAGA,IAAI,CAAC;MAAEX,KAAK;MAAEzB,UAAU;MAAEW;IAAM,CAAC,CACvE,CAAC,EACH,CAAC,CACH,CAAC;EACH,CAAC;EAED,MAAM4B,MAAM,GAAGA,CACbd,KAAuC,EACvCzB,UAOC,EACDwC,aAA4B,EAC5BC,UAAuE,KACpE;IACH,MAAMd,MAAM,GAAG5B,OAAO,CAAC0B,KAAK,CAACG,IAAI,CAAC;IAClC,MAAMC,MAAM,GAAGF,MAAM,CAACG,KAAK;IAE3B,MAAMY,YAAY,GAAGA,CAAA,KACnB5B,UAAU,CAAE6B,CAAC,IAAK;MAChB,IAAIlB,KAAK,CAACmB,GAAG,IAAID,CAAC,EAAE;QAClB;QACA,MAAM;UAAE,CAAClB,KAAK,CAACmB,GAAG,GAAGC,CAAC;UAAE,GAAGC;QAAK,CAAC,GAAGH,CAAC;QACrC,OAAOG,IAAI;MACb;MAEA,OAAOH,CAAC;IACV,CAAC,CAAC;IAEJ,MAAMI,MAAM;IACV;IACAlB,MAAM,CAACkB,MAAM;IACb;IACApB,MAAM,CAACoB,MAAM;IACb;IACA7C,YAAY;IAEd,IAAI8C,OAAO,gBACTpD,IAAA,CAACL,SAAS;MACRS,UAAU,EAAEA,UAAW;MACvByB,KAAK,EAAEA,KAAM;MACbI,MAAM,EAAEA,MAAO;MACfY,UAAU,EAAEA,UAAW;MACvBrC,QAAQ,EAAEA,QAAS;MACnBC,QAAQ,EAAEA,QAAS;MACnBQ,OAAO,EAAE2B,aAAc;MACvBE,YAAY,EAAEA;IAAa,CAC5B,CACF;IAED,IAAIK,MAAM,IAAI,IAAI,EAAE;MAClBC,OAAO,GAAGD,MAAM,CAAC;QACftB,KAAK;QACLzB,UAAU;QACV;QACAW,KAAK;QACLsC,QAAQ,EAAED;MACZ,CAAC,CAAC;IACJ;IAEA,oBACEpD,IAAA,CAACR,wBAAwB,CAAC8D,QAAQ;MAAiBC,KAAK,EAAEhC,OAAQ;MAAA8B,QAAA,eAChErD,IAAA,CAACP,iBAAiB,CAAC6D,QAAQ;QAACC,KAAK,EAAEnD,UAAW;QAAAiD,QAAA,eAC5CrD,IAAA,CAACN,sBAAsB,CAAC4D,QAAQ;UAACC,KAAK,EAAE1B,KAAM;UAAAwB,QAAA,EAC3CD;QAAO,CACuB;MAAC,CACR;IAAC,GALSvB,KAAK,CAACmB,GAMX,CAAC;EAExC,CAAC;EAED,MAAMQ,WAAW,GAAG7B,MAAM,CAACW,MAAM,CAiB/B,CAACC,GAAG,EAAEV,KAAK,EAAE4B,CAAC,KAAK;IACnB,MAAMrD,UAAU,GAAGsB,WAAW,CAACG,KAAK,CAACmB,GAAG,CAAC;IACzC,MAAMJ,aAAa,GAAGhB,UAAU,CAACC,KAAK,EAAEzB,UAAU,EAAEa,OAAO,CAACY,KAAK,CAACmB,GAAG,CAAC,CAAC;IACvE,MAAMI,OAAO,GAAGT,MAAM,CACpBd,KAAK,EACLzB,UAAU,EACVwC,aAAa,EACb1C,KAAK,CAACyB,MAAM,CAAC8B,CAAC,CAAC,CAACvD,KAClB,CAAC;IAEDqC,GAAG,CAACV,KAAK,CAACmB,GAAG,CAAC,GAAG;MACfnB,KAAK;MACL;MACAzB,UAAU;MACVuC,MAAMA,CAAA,EAAG;QACP,OAAOS,OAAO;MAChB,CAAC;MACDnC,OAAO,EAAE2B;IACX,CAAC;IAED,OAAOL,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;;EAEN;AACF;AACA;AACA;AACA;AACA;AACA;EACE,MAAMmB,QAAQ,GAAGA,CAAC7B,KAA+B,EAAE8B,WAAoB,KAAK;IAC1E,IAAI,CAACA,WAAW,EAAE;MAChB,IAAI,EAAE9B,KAAK,CAACmB,GAAG,IAAIQ,WAAW,CAAC,EAAE;QAC/B,MAAM,IAAII,KAAK,CAAC,sCAAsC/B,KAAK,CAACmB,GAAG,GAAG,CAAC;MACrE;MAEA,OAAOQ,WAAW,CAAC3B,KAAK,CAACmB,GAAG,CAAC;IAC/B;IAEA,MAAM5C,UAAU,GAAGqB,IAAI;IACvB,MAAMmB,aAAa,GAAGhB,UAAU,CAACC,KAAK,EAAEzB,UAAU,EAAE,CAAC,CAAC,CAAC;IACvD,MAAMgD,OAAO,GAAGT,MAAM,CAACd,KAAK,EAAEzB,UAAU,EAAEwC,aAAa,EAAEiB,SAAS,CAAC;IAEnE,OAAO;MACLhC,KAAK;MACLzB,UAAU;MACVuC,MAAMA,CAAA,EAAG;QACP,OAAOS,OAAO;MAChB,CAAC;MACDnC,OAAO,EAAE2B;IACX,CAAC;EACH,CAAC;EAED,OAAO;IACLc,QAAQ;IACRF;EACF,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+
3
+ import * as React from 'react';
4
+ /**
5
+ * Hook to manage the event system used by the navigator to notify screens of various events.
6
+ */
7
+ export function useEventEmitter(listen) {
8
+ const listenRef = React.useRef(listen);
9
+ React.useEffect(() => {
10
+ listenRef.current = listen;
11
+ });
12
+ const listeners = React.useRef(Object.create(null));
13
+ const create = React.useCallback(target => {
14
+ const removeListener = (type, callback) => {
15
+ const callbacks = listeners.current[type] ? listeners.current[type][target] : undefined;
16
+ if (!callbacks) {
17
+ return;
18
+ }
19
+ const index = callbacks.indexOf(callback);
20
+ if (index > -1) {
21
+ callbacks.splice(index, 1);
22
+ }
23
+ };
24
+ const addListener = (type, callback) => {
25
+ listeners.current[type] = listeners.current[type] || {};
26
+ listeners.current[type][target] = listeners.current[type][target] || [];
27
+ listeners.current[type][target].push(callback);
28
+ let removed = false;
29
+ return () => {
30
+ // Prevent removing other listeners when unsubscribing same listener multiple times
31
+ if (!removed) {
32
+ removed = true;
33
+ removeListener(type, callback);
34
+ }
35
+ };
36
+ };
37
+ return {
38
+ addListener,
39
+ removeListener
40
+ };
41
+ }, []);
42
+ const emit = React.useCallback(({
43
+ type,
44
+ data,
45
+ target,
46
+ canPreventDefault
47
+ }) => {
48
+ const items = listeners.current[type] || {};
49
+
50
+ // Copy the current list of callbacks in case they are mutated during execution
51
+ const callbacks = target !== undefined ? items[target]?.slice() : [].concat(...Object.keys(items).map(t => items[t])).filter((cb, i, self) => self.lastIndexOf(cb) === i);
52
+ const event = {
53
+ get type() {
54
+ return type;
55
+ }
56
+ };
57
+ if (target !== undefined) {
58
+ Object.defineProperty(event, 'target', {
59
+ enumerable: true,
60
+ get() {
61
+ return target;
62
+ }
63
+ });
64
+ }
65
+ if (data !== undefined) {
66
+ Object.defineProperty(event, 'data', {
67
+ enumerable: true,
68
+ get() {
69
+ return data;
70
+ }
71
+ });
72
+ }
73
+ if (canPreventDefault) {
74
+ let defaultPrevented = false;
75
+ Object.defineProperties(event, {
76
+ defaultPrevented: {
77
+ enumerable: true,
78
+ get() {
79
+ return defaultPrevented;
80
+ }
81
+ },
82
+ preventDefault: {
83
+ enumerable: true,
84
+ value() {
85
+ defaultPrevented = true;
86
+ }
87
+ }
88
+ });
89
+ }
90
+ listenRef.current?.(event);
91
+ callbacks?.forEach(cb => cb(event));
92
+ return event;
93
+ }, []);
94
+ return React.useMemo(() => ({
95
+ create,
96
+ emit
97
+ }), [create, emit]);
98
+ }
99
+ //# sourceMappingURL=useEventEmitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useEventEmitter","listen","listenRef","useRef","useEffect","current","listeners","Object","create","useCallback","target","removeListener","type","callback","callbacks","undefined","index","indexOf","splice","addListener","push","removed","emit","data","canPreventDefault","items","slice","concat","keys","map","t","filter","cb","i","self","lastIndexOf","event","defineProperty","enumerable","get","defaultPrevented","defineProperties","preventDefault","value","forEach","useMemo"],"sourceRoot":"../../src","sources":["useEventEmitter.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ import * as React from 'react';
4
+ import { useNavigation } from "./useNavigation.js";
5
+ /**
6
+ * Hook to run an effect in a focused screen, similar to `React.useEffect`.
7
+ * This can be used to perform side-effects such as fetching data or subscribing to events.
8
+ * The passed callback should be wrapped in `React.useCallback` to avoid running the effect too often.
9
+ *
10
+ * @param callback Memoized callback containing the effect, should optionally return a cleanup function.
11
+ */
12
+ export function useFocusEffect(effect) {
13
+ const navigation = useNavigation();
14
+
15
+ // eslint-disable-next-line prefer-rest-params
16
+ if (arguments[1] !== undefined) {
17
+ 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';
18
+ console.error(message);
19
+ }
20
+ React.useEffect(() => {
21
+ let isFocused = false;
22
+ let cleanup;
23
+ const callback = () => {
24
+ const destroy = effect();
25
+ if (destroy === undefined || typeof destroy === 'function') {
26
+ return destroy;
27
+ }
28
+ if (process.env.NODE_ENV !== 'production') {
29
+ let message = 'An effect function must not return anything besides a function, which is used for clean-up.';
30
+ if (destroy === null) {
31
+ message += " You returned 'null'. If your effect does not require clean-up, return 'undefined' (or nothing).";
32
+ } else if (typeof destroy.then === 'function') {
33
+ message += "\n\nIt looks like you wrote 'useFocusEffect(async () => ...)' or returned a Promise. " + 'Instead, write the async function inside your effect ' + 'and call it immediately:\n\n' + 'useFocusEffect(\n' + ' React.useCallback(() => {\n' + ' async function fetchData() {\n' + ' // You can await here\n' + ' const response = await MyAPI.getData(someId);\n' + ' // ...\n' + ' }\n\n' + ' fetchData();\n' + ' }, [someId])\n' + ');\n\n' + 'See usage guide: https://reactnavigation.org/docs/use-focus-effect';
34
+ } else {
35
+ message += ` You returned '${JSON.stringify(destroy)}'.`;
36
+ }
37
+ console.error(message);
38
+ }
39
+ };
40
+
41
+ // We need to run the effect on initial render/dep changes if the screen is focused
42
+ if (navigation.isFocused()) {
43
+ cleanup = callback();
44
+ isFocused = true;
45
+ }
46
+ const unsubscribeFocus = navigation.addListener('focus', () => {
47
+ // If callback was already called for focus, avoid calling it again
48
+ // The focus event may also fire on initial render, so we guard against running the effect twice
49
+ if (isFocused) {
50
+ return;
51
+ }
52
+ if (cleanup !== undefined) {
53
+ cleanup();
54
+ }
55
+ cleanup = callback();
56
+ isFocused = true;
57
+ });
58
+ const unsubscribeBlur = navigation.addListener('blur', () => {
59
+ if (cleanup !== undefined) {
60
+ cleanup();
61
+ }
62
+ cleanup = undefined;
63
+ isFocused = false;
64
+ });
65
+ return () => {
66
+ if (cleanup !== undefined) {
67
+ cleanup();
68
+ }
69
+ unsubscribeFocus();
70
+ unsubscribeBlur();
71
+ };
72
+ }, [effect, navigation]);
73
+ }
74
+ //# sourceMappingURL=useFocusEffect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useNavigation","useFocusEffect","effect","navigation","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":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,aAAa,QAAQ,oBAAiB;AAI/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAACC,MAAsB,EAAE;EACrD,MAAMC,UAAU,GAAGH,aAAa,CAAC,CAAC;;EAElC;EACA,IAAII,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;EAEAP,KAAK,CAACU,SAAS,CAAC,MAAM;IACpB,IAAIC,SAAS,GAAG,KAAK;IACrB,IAAIC,OAAwC;IAE5C,MAAMC,QAAQ,GAAGA,CAAA,KAAM;MACrB,MAAMC,OAAO,GAAGX,MAAM,CAAC,CAAC;MAExB,IAAIW,OAAO,KAAKR,SAAS,IAAI,OAAOQ,OAAO,KAAK,UAAU,EAAE;QAC1D,OAAOA,OAAO;MAChB;MAEA,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;QACzC,IAAIV,OAAO,GACT,6FAA6F;QAE/F,IAAIO,OAAO,KAAK,IAAI,EAAE;UACpBP,OAAO,IACL,kGAAkG;QACtG,CAAC,MAAM,IAAI,OAAQO,OAAO,CAASI,IAAI,KAAK,UAAU,EAAE;UACtDX,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,IAAI,kBAAkBY,IAAI,CAACC,SAAS,CAACN,OAAO,CAAC,IAAI;QAC1D;QAEAN,OAAO,CAACC,KAAK,CAACF,OAAO,CAAC;MACxB;IACF,CAAC;;IAED;IACA,IAAIH,UAAU,CAACO,SAAS,CAAC,CAAC,EAAE;MAC1BC,OAAO,GAAGC,QAAQ,CAAC,CAAC;MACpBF,SAAS,GAAG,IAAI;IAClB;IAEA,MAAMU,gBAAgB,GAAGjB,UAAU,CAACkB,WAAW,CAAC,OAAO,EAAE,MAAM;MAC7D;MACA;MACA,IAAIX,SAAS,EAAE;QACb;MACF;MAEA,IAAIC,OAAO,KAAKN,SAAS,EAAE;QACzBM,OAAO,CAAC,CAAC;MACX;MAEAA,OAAO,GAAGC,QAAQ,CAAC,CAAC;MACpBF,SAAS,GAAG,IAAI;IAClB,CAAC,CAAC;IAEF,MAAMY,eAAe,GAAGnB,UAAU,CAACkB,WAAW,CAAC,MAAM,EAAE,MAAM;MAC3D,IAAIV,OAAO,KAAKN,SAAS,EAAE;QACzBM,OAAO,CAAC,CAAC;MACX;MAEAA,OAAO,GAAGN,SAAS;MACnBK,SAAS,GAAG,KAAK;IACnB,CAAC,CAAC;IAEF,OAAO,MAAM;MACX,IAAIC,OAAO,KAAKN,SAAS,EAAE;QACzBM,OAAO,CAAC,CAAC;MACX;MAEAS,gBAAgB,CAAC,CAAC;MAClBE,eAAe,CAAC,CAAC;IACnB,CAAC;EACH,CAAC,EAAE,CAACpB,MAAM,EAAEC,UAAU,CAAC,CAAC;AAC1B","ignoreList":[]}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ import * as React from 'react';
4
+ import { NavigationContext } from "./NavigationContext.js";
5
+ /**
6
+ * Hook to take care of emitting `focus` and `blur` events.
7
+ */
8
+ export function useFocusEvents({
9
+ state,
10
+ emitter
11
+ }) {
12
+ const navigation = React.useContext(NavigationContext);
13
+ const lastFocusedKeyRef = React.useRef();
14
+ const currentFocusedKey = state.routes[state.index].key;
15
+
16
+ // When the parent screen changes its focus state, we also need to change child's focus
17
+ // Coz the child screen can't be focused if the parent screen is out of focus
18
+ React.useEffect(() => navigation?.addListener('focus', () => {
19
+ lastFocusedKeyRef.current = currentFocusedKey;
20
+ emitter.emit({
21
+ type: 'focus',
22
+ target: currentFocusedKey
23
+ });
24
+ }), [currentFocusedKey, emitter, navigation]);
25
+ React.useEffect(() => navigation?.addListener('blur', () => {
26
+ lastFocusedKeyRef.current = undefined;
27
+ emitter.emit({
28
+ type: 'blur',
29
+ target: currentFocusedKey
30
+ });
31
+ }), [currentFocusedKey, emitter, navigation]);
32
+ React.useEffect(() => {
33
+ const lastFocusedKey = lastFocusedKeyRef.current;
34
+ lastFocusedKeyRef.current = currentFocusedKey;
35
+
36
+ // We wouldn't have `lastFocusedKey` on initial mount
37
+ // Fire focus event for the current route on mount if there's no parent navigator
38
+ if (lastFocusedKey === undefined && !navigation) {
39
+ emitter.emit({
40
+ type: 'focus',
41
+ target: currentFocusedKey
42
+ });
43
+ }
44
+
45
+ // We should only emit events when the focused key changed and navigator is focused
46
+ // When navigator is not focused, screens inside shouldn't receive focused status either
47
+ if (lastFocusedKey === currentFocusedKey || !(navigation ? navigation.isFocused() : true)) {
48
+ return;
49
+ }
50
+ if (lastFocusedKey === undefined) {
51
+ // Only fire events after initial mount
52
+ return;
53
+ }
54
+ emitter.emit({
55
+ type: 'blur',
56
+ target: lastFocusedKey
57
+ });
58
+ emitter.emit({
59
+ type: 'focus',
60
+ target: currentFocusedKey
61
+ });
62
+ }, [currentFocusedKey, emitter, navigation]);
63
+ }
64
+ //# sourceMappingURL=useFocusEvents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","NavigationContext","useFocusEvents","state","emitter","navigation","useContext","lastFocusedKeyRef","useRef","currentFocusedKey","routes","index","key","useEffect","addListener","current","emit","type","target","undefined","lastFocusedKey","isFocused"],"sourceRoot":"../../src","sources":["useFocusEvents.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,iBAAiB,QAAQ,wBAAqB;AASvD;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAAgC;EAC5DC,KAAK;EACLC;AACc,CAAC,EAAE;EACjB,MAAMC,UAAU,GAAGL,KAAK,CAACM,UAAU,CAACL,iBAAiB,CAAC;EACtD,MAAMM,iBAAiB,GAAGP,KAAK,CAACQ,MAAM,CAAqB,CAAC;EAE5D,MAAMC,iBAAiB,GAAGN,KAAK,CAACO,MAAM,CAACP,KAAK,CAACQ,KAAK,CAAC,CAACC,GAAG;;EAEvD;EACA;EACAZ,KAAK,CAACa,SAAS,CACb,MACER,UAAU,EAAES,WAAW,CAAC,OAAO,EAAE,MAAM;IACrCP,iBAAiB,CAACQ,OAAO,GAAGN,iBAAiB;IAC7CL,OAAO,CAACY,IAAI,CAAC;MAAEC,IAAI,EAAE,OAAO;MAAEC,MAAM,EAAET;IAAkB,CAAC,CAAC;EAC5D,CAAC,CAAC,EACJ,CAACA,iBAAiB,EAAEL,OAAO,EAAEC,UAAU,CACzC,CAAC;EAEDL,KAAK,CAACa,SAAS,CACb,MACER,UAAU,EAAES,WAAW,CAAC,MAAM,EAAE,MAAM;IACpCP,iBAAiB,CAACQ,OAAO,GAAGI,SAAS;IACrCf,OAAO,CAACY,IAAI,CAAC;MAAEC,IAAI,EAAE,MAAM;MAAEC,MAAM,EAAET;IAAkB,CAAC,CAAC;EAC3D,CAAC,CAAC,EACJ,CAACA,iBAAiB,EAAEL,OAAO,EAAEC,UAAU,CACzC,CAAC;EAEDL,KAAK,CAACa,SAAS,CAAC,MAAM;IACpB,MAAMO,cAAc,GAAGb,iBAAiB,CAACQ,OAAO;IAEhDR,iBAAiB,CAACQ,OAAO,GAAGN,iBAAiB;;IAE7C;IACA;IACA,IAAIW,cAAc,KAAKD,SAAS,IAAI,CAACd,UAAU,EAAE;MAC/CD,OAAO,CAACY,IAAI,CAAC;QAAEC,IAAI,EAAE,OAAO;QAAEC,MAAM,EAAET;MAAkB,CAAC,CAAC;IAC5D;;IAEA;IACA;IACA,IACEW,cAAc,KAAKX,iBAAiB,IACpC,EAAEJ,UAAU,GAAGA,UAAU,CAACgB,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,EAC7C;MACA;IACF;IAEA,IAAID,cAAc,KAAKD,SAAS,EAAE;MAChC;MACA;IACF;IAEAf,OAAO,CAACY,IAAI,CAAC;MAAEC,IAAI,EAAE,MAAM;MAAEC,MAAM,EAAEE;IAAe,CAAC,CAAC;IACtDhB,OAAO,CAACY,IAAI,CAAC;MAAEC,IAAI,EAAE,OAAO;MAAEC,MAAM,EAAET;IAAkB,CAAC,CAAC;EAC5D,CAAC,EAAE,CAACA,iBAAiB,EAAEL,OAAO,EAAEC,UAAU,CAAC,CAAC;AAC9C","ignoreList":[]}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ import * as React from 'react';
4
+ import { NavigationBuilderContext } from "./NavigationBuilderContext.js";
5
+ /**
6
+ * Hook for passing focus callback to children
7
+ */
8
+ export function useFocusedListenersChildrenAdapter({
9
+ navigation,
10
+ focusedListeners
11
+ }) {
12
+ const {
13
+ addListener
14
+ } = React.useContext(NavigationBuilderContext);
15
+ const listener = React.useCallback(callback => {
16
+ if (navigation.isFocused()) {
17
+ for (const listener of focusedListeners) {
18
+ const {
19
+ handled,
20
+ result
21
+ } = listener(callback);
22
+ if (handled) {
23
+ return {
24
+ handled,
25
+ result
26
+ };
27
+ }
28
+ }
29
+ return {
30
+ handled: true,
31
+ result: callback(navigation)
32
+ };
33
+ } else {
34
+ return {
35
+ handled: false,
36
+ result: null
37
+ };
38
+ }
39
+ }, [focusedListeners, navigation]);
40
+ React.useEffect(() => addListener?.('focus', listener), [addListener, listener]);
41
+ }
42
+ //# sourceMappingURL=useFocusedListenersChildrenAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","NavigationBuilderContext","useFocusedListenersChildrenAdapter","navigation","focusedListeners","addListener","useContext","listener","useCallback","callback","isFocused","handled","result","useEffect"],"sourceRoot":"../../src","sources":["useFocusedListenersChildrenAdapter.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAGEC,wBAAwB,QACnB,+BAA4B;AAQnC;AACA;AACA;AACA,OAAO,SAASC,kCAAkCA,CAAC;EACjDC,UAAU;EACVC;AACO,CAAC,EAAE;EACV,MAAM;IAAEC;EAAY,CAAC,GAAGL,KAAK,CAACM,UAAU,CAACL,wBAAwB,CAAC;EAElE,MAAMM,QAAQ,GAAGP,KAAK,CAACQ,WAAW,CAC/BC,QAAwC,IAAK;IAC5C,IAAIN,UAAU,CAACO,SAAS,CAAC,CAAC,EAAE;MAC1B,KAAK,MAAMH,QAAQ,IAAIH,gBAAgB,EAAE;QACvC,MAAM;UAAEO,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,CAACN,UAAU;MAAE,CAAC;IACxD,CAAC,MAAM;MACL,OAAO;QAAEQ,OAAO,EAAE,KAAK;QAAEC,MAAM,EAAE;MAAK,CAAC;IACzC;EACF,CAAC,EACD,CAACR,gBAAgB,EAAED,UAAU,CAC/B,CAAC;EAEDH,KAAK,CAACa,SAAS,CACb,MAAMR,WAAW,GAAG,OAAO,EAAEE,QAAQ,CAAC,EACtC,CAACF,WAAW,EAAEE,QAAQ,CACxB,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ import * as React from 'react';
4
+ import { useNavigation } from "./useNavigation.js";
5
+
6
+ /**
7
+ * Hook to get the current focus state of the screen. Returns a `true` if screen is focused, otherwise `false`.
8
+ * This can be used if a component needs to render something based on the focus state.
9
+ */
10
+ export function useIsFocused() {
11
+ const navigation = useNavigation();
12
+ const subscribe = React.useCallback(callback => {
13
+ const unsubscribeFocus = navigation.addListener('focus', callback);
14
+ const unsubscribeBlur = navigation.addListener('blur', callback);
15
+ return () => {
16
+ unsubscribeFocus();
17
+ unsubscribeBlur();
18
+ };
19
+ }, [navigation]);
20
+ const value = React.useSyncExternalStore(subscribe, navigation.isFocused, navigation.isFocused);
21
+ return value;
22
+ }
23
+ //# sourceMappingURL=useIsFocused.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useNavigation","useIsFocused","navigation","subscribe","useCallback","callback","unsubscribeFocus","addListener","unsubscribeBlur","value","useSyncExternalStore","isFocused"],"sourceRoot":"../../src","sources":["useIsFocused.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,aAAa,QAAQ,oBAAiB;;AAE/C;AACA;AACA;AACA;AACA,OAAO,SAASC,YAAYA,CAAA,EAAY;EACtC,MAAMC,UAAU,GAAGF,aAAa,CAAC,CAAC;EAElC,MAAMG,SAAS,GAAGJ,KAAK,CAACK,WAAW,CAChCC,QAAoB,IAAK;IACxB,MAAMC,gBAAgB,GAAGJ,UAAU,CAACK,WAAW,CAAC,OAAO,EAAEF,QAAQ,CAAC;IAClE,MAAMG,eAAe,GAAGN,UAAU,CAACK,WAAW,CAAC,MAAM,EAAEF,QAAQ,CAAC;IAEhE,OAAO,MAAM;MACXC,gBAAgB,CAAC,CAAC;MAClBE,eAAe,CAAC,CAAC;IACnB,CAAC;EACH,CAAC,EACD,CAACN,UAAU,CACb,CAAC;EAED,MAAMO,KAAK,GAAGV,KAAK,CAACW,oBAAoB,CACtCP,SAAS,EACTD,UAAU,CAACS,SAAS,EACpBT,UAAU,CAACS,SACb,CAAC;EAED,OAAOF,KAAK;AACd","ignoreList":[]}