@react-navigation/core 8.0.0-alpha.2 → 8.0.0-alpha.20

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 (251) hide show
  1. package/lib/module/BaseNavigationContainer.js +20 -9
  2. package/lib/module/BaseNavigationContainer.js.map +1 -1
  3. package/lib/module/ConsumedParamsContext.js +5 -0
  4. package/lib/module/ConsumedParamsContext.js.map +1 -0
  5. package/lib/module/NavigationBuilderContext.js +1 -0
  6. package/lib/module/NavigationBuilderContext.js.map +1 -1
  7. package/lib/module/NavigationIndependentTree.js +8 -4
  8. package/lib/module/NavigationIndependentTree.js.map +1 -1
  9. package/lib/module/NavigationProvider.js +14 -3
  10. package/lib/module/NavigationProvider.js.map +1 -1
  11. package/lib/module/NavigationStateContext.js.map +1 -1
  12. package/lib/module/PreventRemoveProvider.js +3 -3
  13. package/lib/module/PreventRemoveProvider.js.map +1 -1
  14. package/lib/module/SceneView.js +46 -56
  15. package/lib/module/SceneView.js.map +1 -1
  16. package/lib/module/StaticNavigation.js +166 -46
  17. package/lib/module/StaticNavigation.js.map +1 -1
  18. package/lib/module/checkSerializable.js +11 -4
  19. package/lib/module/checkSerializable.js.map +1 -1
  20. package/lib/module/createNavigatorFactory.js +27 -5
  21. package/lib/module/createNavigatorFactory.js.map +1 -1
  22. package/lib/module/findFocusedRoute.js +7 -4
  23. package/lib/module/findFocusedRoute.js.map +1 -1
  24. package/lib/module/getActionFromState.js +40 -14
  25. package/lib/module/getActionFromState.js.map +1 -1
  26. package/lib/module/getPathFromState.js +48 -11
  27. package/lib/module/getPathFromState.js.map +1 -1
  28. package/lib/module/getPatternParts.js +3 -0
  29. package/lib/module/getPatternParts.js.map +1 -1
  30. package/lib/module/getStateFromPath.js +353 -166
  31. package/lib/module/getStateFromPath.js.map +1 -1
  32. package/lib/module/getStateFromRouteParams.js +24 -0
  33. package/lib/module/getStateFromRouteParams.js.map +1 -0
  34. package/lib/module/index.js +3 -4
  35. package/lib/module/index.js.map +1 -1
  36. package/lib/module/theming/useTheme.js +1 -1
  37. package/lib/module/theming/useTheme.js.map +1 -1
  38. package/lib/module/types.js +15 -0
  39. package/lib/module/types.js.map +1 -1
  40. package/lib/module/useDescriptors.js +18 -9
  41. package/lib/module/useDescriptors.js.map +1 -1
  42. package/lib/module/useEventEmitter.js +43 -31
  43. package/lib/module/useEventEmitter.js.map +1 -1
  44. package/lib/module/useFocusEvents.js +6 -2
  45. package/lib/module/useFocusEvents.js.map +1 -1
  46. package/lib/module/useFocusedListenersChildrenAdapter.js +2 -2
  47. package/lib/module/useFocusedListenersChildrenAdapter.js.map +1 -1
  48. package/lib/module/useIsFocused.js +7 -12
  49. package/lib/module/useIsFocused.js.map +1 -1
  50. package/lib/module/useNavigation.js.map +1 -1
  51. package/lib/module/useNavigationBuilder.js +144 -86
  52. package/lib/module/useNavigationBuilder.js.map +1 -1
  53. package/lib/module/useNavigationCache.js +3 -3
  54. package/lib/module/useNavigationCache.js.map +1 -1
  55. package/lib/module/useNavigationHelpers.js +1 -1
  56. package/lib/module/useNavigationHelpers.js.map +1 -1
  57. package/lib/module/useNavigationIndependentTree.js +1 -1
  58. package/lib/module/useNavigationIndependentTree.js.map +1 -1
  59. package/lib/module/useNavigationState.js +6 -4
  60. package/lib/module/useNavigationState.js.map +1 -1
  61. package/lib/module/useOnAction.js +3 -3
  62. package/lib/module/useOnAction.js.map +1 -1
  63. package/lib/module/useOnGetState.js +6 -3
  64. package/lib/module/useOnGetState.js.map +1 -1
  65. package/lib/module/useOnPreventRemove.js +3 -3
  66. package/lib/module/useOnPreventRemove.js.map +1 -1
  67. package/lib/module/useOnRouteFocus.js +1 -1
  68. package/lib/module/useOnRouteFocus.js.map +1 -1
  69. package/lib/module/useOptionsGetters.js +7 -4
  70. package/lib/module/useOptionsGetters.js.map +1 -1
  71. package/lib/module/usePreventRemove.js +1 -1
  72. package/lib/module/usePreventRemove.js.map +1 -1
  73. package/lib/module/usePreventRemoveContext.js +1 -1
  74. package/lib/module/usePreventRemoveContext.js.map +1 -1
  75. package/lib/module/useRegisterNavigator.js +2 -2
  76. package/lib/module/useRegisterNavigator.js.map +1 -1
  77. package/lib/module/useRoute.js.map +1 -1
  78. package/lib/module/useRouteCache.js +2 -1
  79. package/lib/module/useRouteCache.js.map +1 -1
  80. package/lib/module/useScheduleUpdate.js +1 -1
  81. package/lib/module/useScheduleUpdate.js.map +1 -1
  82. package/lib/module/useStateForPath.js +1 -1
  83. package/lib/module/useStateForPath.js.map +1 -1
  84. package/lib/module/validatePathConfig.js +2 -1
  85. package/lib/module/validatePathConfig.js.map +1 -1
  86. package/lib/typescript/src/BaseNavigationContainer.d.ts +6 -3
  87. package/lib/typescript/src/BaseNavigationContainer.d.ts.map +1 -1
  88. package/lib/typescript/src/ConsumedParamsContext.d.ts +8 -0
  89. package/lib/typescript/src/ConsumedParamsContext.d.ts.map +1 -0
  90. package/lib/typescript/src/EnsureSingleNavigator.d.ts +1 -1
  91. package/lib/typescript/src/EnsureSingleNavigator.d.ts.map +1 -1
  92. package/lib/typescript/src/Group.d.ts +1 -1
  93. package/lib/typescript/src/Group.d.ts.map +1 -1
  94. package/lib/typescript/src/NavigationBuilderContext.d.ts +12 -6
  95. package/lib/typescript/src/NavigationBuilderContext.d.ts.map +1 -1
  96. package/lib/typescript/src/NavigationContainerRefContext.d.ts +1 -1
  97. package/lib/typescript/src/NavigationContainerRefContext.d.ts.map +1 -1
  98. package/lib/typescript/src/NavigationFocusedRouteStateContext.d.ts +4 -4
  99. package/lib/typescript/src/NavigationFocusedRouteStateContext.d.ts.map +1 -1
  100. package/lib/typescript/src/NavigationHelpersContext.d.ts +1 -1
  101. package/lib/typescript/src/NavigationHelpersContext.d.ts.map +1 -1
  102. package/lib/typescript/src/NavigationIndependentTree.d.ts +1 -1
  103. package/lib/typescript/src/NavigationIndependentTree.d.ts.map +1 -1
  104. package/lib/typescript/src/NavigationProvider.d.ts +10 -10
  105. package/lib/typescript/src/NavigationProvider.d.ts.map +1 -1
  106. package/lib/typescript/src/NavigationStateContext.d.ts +3 -3
  107. package/lib/typescript/src/NavigationStateContext.d.ts.map +1 -1
  108. package/lib/typescript/src/PreventRemoveProvider.d.ts +1 -1
  109. package/lib/typescript/src/PreventRemoveProvider.d.ts.map +1 -1
  110. package/lib/typescript/src/SceneView.d.ts +3 -2
  111. package/lib/typescript/src/SceneView.d.ts.map +1 -1
  112. package/lib/typescript/src/Screen.d.ts +1 -1
  113. package/lib/typescript/src/Screen.d.ts.map +1 -1
  114. package/lib/typescript/src/StaticContainer.d.ts +1 -1
  115. package/lib/typescript/src/StaticContainer.d.ts.map +1 -1
  116. package/lib/typescript/src/StaticNavigation.d.ts +123 -92
  117. package/lib/typescript/src/StaticNavigation.d.ts.map +1 -1
  118. package/lib/typescript/src/checkSerializable.d.ts +5 -3
  119. package/lib/typescript/src/checkSerializable.d.ts.map +1 -1
  120. package/lib/typescript/src/createNavigationContainerRef.d.ts +1 -1
  121. package/lib/typescript/src/createNavigationContainerRef.d.ts.map +1 -1
  122. package/lib/typescript/src/createNavigatorFactory.d.ts +17 -5
  123. package/lib/typescript/src/createNavigatorFactory.d.ts.map +1 -1
  124. package/lib/typescript/src/findFocusedRoute.d.ts +3 -3
  125. package/lib/typescript/src/findFocusedRoute.d.ts.map +1 -1
  126. package/lib/typescript/src/getActionFromState.d.ts +4 -4
  127. package/lib/typescript/src/getActionFromState.d.ts.map +1 -1
  128. package/lib/typescript/src/getPathFromState.d.ts +3 -3
  129. package/lib/typescript/src/getPathFromState.d.ts.map +1 -1
  130. package/lib/typescript/src/getPatternParts.d.ts +1 -0
  131. package/lib/typescript/src/getPatternParts.d.ts.map +1 -1
  132. package/lib/typescript/src/getStateFromPath.d.ts +5 -5
  133. package/lib/typescript/src/getStateFromPath.d.ts.map +1 -1
  134. package/lib/typescript/src/getStateFromRouteParams.d.ts +3 -0
  135. package/lib/typescript/src/getStateFromRouteParams.d.ts.map +1 -0
  136. package/lib/typescript/src/index.d.ts +34 -33
  137. package/lib/typescript/src/index.d.ts.map +1 -1
  138. package/lib/typescript/src/theming/ThemeContext.d.ts +1 -1
  139. package/lib/typescript/src/theming/ThemeContext.d.ts.map +1 -1
  140. package/lib/typescript/src/theming/ThemeProvider.d.ts +2 -2
  141. package/lib/typescript/src/theming/ThemeProvider.d.ts.map +1 -1
  142. package/lib/typescript/src/theming/useTheme.d.ts +1 -1
  143. package/lib/typescript/src/theming/useTheme.d.ts.map +1 -1
  144. package/lib/typescript/src/types.d.ts +215 -131
  145. package/lib/typescript/src/types.d.ts.map +1 -1
  146. package/lib/typescript/src/useChildListeners.d.ts +3 -3
  147. package/lib/typescript/src/useChildListeners.d.ts.map +1 -1
  148. package/lib/typescript/src/useComponent.d.ts +1 -1
  149. package/lib/typescript/src/useComponent.d.ts.map +1 -1
  150. package/lib/typescript/src/useDescriptors.d.ts +7 -7
  151. package/lib/typescript/src/useDescriptors.d.ts.map +1 -1
  152. package/lib/typescript/src/useEventEmitter.d.ts +1 -1
  153. package/lib/typescript/src/useEventEmitter.d.ts.map +1 -1
  154. package/lib/typescript/src/useFocusEvents.d.ts +2 -2
  155. package/lib/typescript/src/useFocusEvents.d.ts.map +1 -1
  156. package/lib/typescript/src/useFocusedListenersChildrenAdapter.d.ts +2 -2
  157. package/lib/typescript/src/useFocusedListenersChildrenAdapter.d.ts.map +1 -1
  158. package/lib/typescript/src/useIsFocused.d.ts +3 -0
  159. package/lib/typescript/src/useIsFocused.d.ts.map +1 -1
  160. package/lib/typescript/src/useKeyedChildListeners.d.ts +3 -3
  161. package/lib/typescript/src/useKeyedChildListeners.d.ts.map +1 -1
  162. package/lib/typescript/src/useNavigation.d.ts +5 -3
  163. package/lib/typescript/src/useNavigation.d.ts.map +1 -1
  164. package/lib/typescript/src/useNavigationBuilder.d.ts +24 -24
  165. package/lib/typescript/src/useNavigationBuilder.d.ts.map +1 -1
  166. package/lib/typescript/src/useNavigationCache.d.ts +3 -3
  167. package/lib/typescript/src/useNavigationCache.d.ts.map +1 -1
  168. package/lib/typescript/src/useNavigationContainerRef.d.ts +1 -1
  169. package/lib/typescript/src/useNavigationContainerRef.d.ts.map +1 -1
  170. package/lib/typescript/src/useNavigationHelpers.d.ts +19 -19
  171. package/lib/typescript/src/useNavigationHelpers.d.ts.map +1 -1
  172. package/lib/typescript/src/useNavigationState.d.ts +2 -2
  173. package/lib/typescript/src/useNavigationState.d.ts.map +1 -1
  174. package/lib/typescript/src/useOnAction.d.ts +9 -9
  175. package/lib/typescript/src/useOnAction.d.ts.map +1 -1
  176. package/lib/typescript/src/useOnGetState.d.ts +1 -1
  177. package/lib/typescript/src/useOnGetState.d.ts.map +1 -1
  178. package/lib/typescript/src/useOnPreventRemove.d.ts +3 -3
  179. package/lib/typescript/src/useOnPreventRemove.d.ts.map +1 -1
  180. package/lib/typescript/src/useOnRouteFocus.d.ts +6 -6
  181. package/lib/typescript/src/useOnRouteFocus.d.ts.map +1 -1
  182. package/lib/typescript/src/useOptionsGetters.d.ts +1 -1
  183. package/lib/typescript/src/useOptionsGetters.d.ts.map +1 -1
  184. package/lib/typescript/src/usePreventRemoveContext.d.ts +1 -1
  185. package/lib/typescript/src/useRoute.d.ts +2 -2
  186. package/lib/typescript/src/useRoute.d.ts.map +1 -1
  187. package/lib/typescript/src/useRouteCache.d.ts +4 -4
  188. package/lib/typescript/src/useRouteCache.d.ts.map +1 -1
  189. package/lib/typescript/src/useScheduleUpdate.d.ts.map +1 -1
  190. package/lib/typescript/src/useStateForPath.d.ts +1 -1
  191. package/lib/typescript/src/useStateForPath.d.ts.map +1 -1
  192. package/lib/typescript/src/utilities.d.ts +45 -5
  193. package/lib/typescript/src/utilities.d.ts.map +1 -1
  194. package/lib/typescript/src/validatePathConfig.d.ts.map +1 -1
  195. package/package.json +23 -20
  196. package/src/BaseNavigationContainer.tsx +337 -326
  197. package/src/ConsumedParamsContext.tsx +10 -0
  198. package/src/NavigationBuilderContext.tsx +14 -8
  199. package/src/NavigationFocusedRouteStateContext.tsx +4 -4
  200. package/src/NavigationIndependentTree.tsx +8 -5
  201. package/src/NavigationProvider.tsx +17 -3
  202. package/src/NavigationStateContext.tsx +5 -6
  203. package/src/PreventRemoveProvider.tsx +3 -3
  204. package/src/SceneView.tsx +58 -56
  205. package/src/StaticNavigation.tsx +488 -250
  206. package/src/checkSerializable.tsx +22 -12
  207. package/src/createNavigatorFactory.tsx +83 -8
  208. package/src/findFocusedRoute.tsx +13 -8
  209. package/src/getActionFromState.tsx +68 -39
  210. package/src/getPathFromState.tsx +91 -27
  211. package/src/getPatternParts.tsx +8 -0
  212. package/src/getStateFromPath.tsx +555 -180
  213. package/src/getStateFromRouteParams.tsx +60 -0
  214. package/src/index.tsx +47 -5
  215. package/src/theming/useTheme.tsx +1 -1
  216. package/src/types.tsx +541 -338
  217. package/src/useDescriptors.tsx +27 -12
  218. package/src/useEventEmitter.tsx +45 -36
  219. package/src/useFocusEvents.tsx +8 -2
  220. package/src/useFocusedListenersChildrenAdapter.tsx +2 -2
  221. package/src/useIsFocused.tsx +14 -21
  222. package/src/useNavigation.tsx +8 -4
  223. package/src/useNavigationBuilder.tsx +220 -132
  224. package/src/useNavigationCache.tsx +6 -6
  225. package/src/useNavigationHelpers.tsx +1 -1
  226. package/src/useNavigationIndependentTree.tsx +1 -1
  227. package/src/useNavigationState.tsx +11 -7
  228. package/src/useOnAction.tsx +10 -10
  229. package/src/useOnGetState.tsx +5 -3
  230. package/src/useOnPreventRemove.tsx +3 -3
  231. package/src/useOnRouteFocus.tsx +10 -12
  232. package/src/useOptionsGetters.tsx +7 -4
  233. package/src/usePreventRemove.tsx +1 -1
  234. package/src/usePreventRemoveContext.tsx +1 -1
  235. package/src/useRegisterNavigator.tsx +2 -2
  236. package/src/useRoute.tsx +4 -2
  237. package/src/useRouteCache.tsx +2 -1
  238. package/src/useScheduleUpdate.tsx +1 -3
  239. package/src/useStateForPath.tsx +1 -1
  240. package/src/utilities.tsx +101 -5
  241. package/src/validatePathConfig.tsx +1 -0
  242. package/lib/module/CurrentRenderContext.js +0 -10
  243. package/lib/module/CurrentRenderContext.js.map +0 -1
  244. package/lib/module/useCurrentRender.js +0 -19
  245. package/lib/module/useCurrentRender.js.map +0 -1
  246. package/lib/typescript/src/CurrentRenderContext.d.ts +0 -9
  247. package/lib/typescript/src/CurrentRenderContext.d.ts.map +0 -1
  248. package/lib/typescript/src/useCurrentRender.d.ts +0 -14
  249. package/lib/typescript/src/useCurrentRender.d.ts.map +0 -1
  250. package/src/CurrentRenderContext.tsx +0 -9
  251. package/src/useCurrentRender.tsx +0 -31
@@ -1 +1 @@
1
- {"version":3,"names":["escape","queryString","arrayStartsWith","findFocusedRoute","getPatternParts","isArrayEqual","validatePathConfig","getStateFromPath","path","options","initialRoutes","configs","getConfigResources","screens","remaining","replace","endsWith","prefix","normalizedPrefix","startsWith","undefined","routes","split","filter","Boolean","map","segment","name","decodeURIComponent","length","createNestedStateObject","match","find","config","segments","join","routeNames","result","current","remainingPath","matchAgainstConfigs","cachedConfigResources","WeakMap","prepareConfigResources","cached","get","resources","set","getInitialRoutes","getSortedNormalizedConfigs","checkForDuplicatedConfigs","configWithRegexes","getConfigsWithRegexes","initialRouteName","push","parentScreens","concat","Object","keys","key","createNormalizedConfigs","sort","a","b","localeCompare","i","Math","max","aWildCard","bWildCard","aParam","bParam","aRegex","includes","bRegex","reduce","acc","pattern","intersects","every","it","Error","assign","c","regex","RegExp","source","routeName","routeConfig","screen","params","groups","fromEntries","entries","value","index","Number","param","decoded","parsed","parse","initials","paths","createConfigItem","exact","aliasConfigs","alias","forEach","nestedConfig","pop","parts","part","reg","optional","findParseConfigForRoute","flatConfig","findInitialRoute","sameParents","createStateObject","initialRoute","route","isEmpty","state","shift","nestedState","nestedStateIndex","parseQueryParams","parseConfig","query","hasOwnProperty","call"],"sourceRoot":"../../src","sources":["getStateFromPath.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["escape","queryString","arrayStartsWith","findFocusedRoute","combinePatternParts","getPatternParts","isArrayEqual","validatePathConfig","INVALID_SCHEMA_RESULT_ERROR","INVALID_PARSER_ERROR","PARAM_GROUP_PREFIX","NESTED_SCREEN_PARAM_NAMES","getExplicitParamNames","parse","names","Object","entries","filter","parser","map","name","length","Set","undefined","getStandardSchema","version","validate","getValidationResult","schema","value","result","Array","isArray","issues","Error","getStateFromPath","path","options","previous","initialRoutes","configs","configsByScreen","configsByPattern","getConfigResources","screens","resolveSharedConfig","config","shared","candidates","segments","join","selectSharedConfig","remaining","replace","endsWith","prefix","normalizedPrefix","startsWith","decodedSegments","segment","split","push","decodeURIComponent","routes","createNestedStateObject","match","find","routeNames","matchAgainstConfig","selectedConfig","selectedRoutes","rematchedRoutes","state","cachedConfigResources","WeakMap","prepareConfigResources","cached","get","resources","set","getInitialRoutes","getSortedNormalizedConfigs","checkForDuplicatedConfigs","c","screen","initialRouteName","parentScreens","concat","keys","key","createNormalizedConfigs","order","sort","a","b","localeCompare","i","Math","max","aSegment","bSegment","aWildCard","bWildCard","aParam","bParam","aRegex","includes","bRegex","reduce","acc","pattern","intersects","every","it","assign","regex","validationFailed","matchedRoutes","index","routeName","routeConfig","params","groups","paramEntries","Number","param","decoded","fromEntries","initials","parts","configParts","part","createConfigItem","nestedScreens","hasNestedScreens","currentParts","exact","aliasConfigs","alias","forEach","nestedConfig","pop","RegExp","reg","optional","explicitParamNames","focusedRouteNames","current","route","score","focused","initial","selected","best","candidate","better","findInitialRoute","sameParents","parentScreen","configParentScreen","createStateObject","initialRoute","isEmpty","shift","nestedState","nextRoute","nestedStateIndex","nestedRoute","focusedRoute","pathParamNames","queryParams","parseQueryParams","valid","parseConfig","routeParams","query","has","hasOwn"],"sourceRoot":"../../src","sources":["getStateFromPath.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ export function getStateFromRouteParams(params) {
4
+ if (params == null || typeof params !== 'object') {
5
+ return undefined;
6
+ }
7
+ if ('state' in params && params.state && typeof params.state === 'object' && 'routes' in params.state && Array.isArray(params.state.routes) && params.state.routes.every(route => typeof route === 'object' && route != null && 'name' in route && typeof route.name === 'string')) {
8
+ // @ts-expect-error this is fine 🔥
9
+ return params.state;
10
+ }
11
+ if ('screen' in params && params.screen && typeof params.screen === 'string') {
12
+ return {
13
+ routes: [{
14
+ name: params.screen,
15
+ params: 'params' in params && typeof params.params === 'object' && params.params != null ? params.params : undefined,
16
+ path: 'path' in params && typeof params.path === 'string' ? params.path : undefined,
17
+ // @ts-expect-error this is fine 🔥
18
+ state: 'params' in params && typeof params.params === 'object' && params.params != null ? getStateFromRouteParams(params.params) : undefined
19
+ }]
20
+ };
21
+ }
22
+ return undefined;
23
+ }
24
+ //# sourceMappingURL=getStateFromRouteParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getStateFromRouteParams","params","undefined","state","Array","isArray","routes","every","route","name","screen","path"],"sourceRoot":"../../src","sources":["getStateFromRouteParams.tsx"],"mappings":";;AAEA,OAAO,SAASA,uBAAuBA,CACrCC,MAA0B,EACmC;EAC7D,IAAIA,MAAM,IAAI,IAAI,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;IAChD,OAAOC,SAAS;EAClB;EAEA,IACE,OAAO,IAAID,MAAM,IACjBA,MAAM,CAACE,KAAK,IACZ,OAAOF,MAAM,CAACE,KAAK,KAAK,QAAQ,IAChC,QAAQ,IAAIF,MAAM,CAACE,KAAK,IACxBC,KAAK,CAACC,OAAO,CAACJ,MAAM,CAACE,KAAK,CAACG,MAAM,CAAC,IAClCL,MAAM,CAACE,KAAK,CAACG,MAAM,CAACC,KAAK,CACtBC,KAAK,IACJ,OAAOA,KAAK,KAAK,QAAQ,IACzBA,KAAK,IAAI,IAAI,IACb,MAAM,IAAIA,KAAK,IACf,OAAOA,KAAK,CAACC,IAAI,KAAK,QAC1B,CAAC,EACD;IACA;IACA,OAAOR,MAAM,CAACE,KAAK;EACrB;EAEA,IACE,QAAQ,IAAIF,MAAM,IAClBA,MAAM,CAACS,MAAM,IACb,OAAOT,MAAM,CAACS,MAAM,KAAK,QAAQ,EACjC;IACA,OAAO;MACLJ,MAAM,EAAE,CACN;QACEG,IAAI,EAAER,MAAM,CAACS,MAAM;QACnBT,MAAM,EACJ,QAAQ,IAAIA,MAAM,IAClB,OAAOA,MAAM,CAACA,MAAM,KAAK,QAAQ,IACjCA,MAAM,CAACA,MAAM,IAAI,IAAI,GACjBA,MAAM,CAACA,MAAM,GACbC,SAAS;QACfS,IAAI,EACF,MAAM,IAAIV,MAAM,IAAI,OAAOA,MAAM,CAACU,IAAI,KAAK,QAAQ,GAC/CV,MAAM,CAACU,IAAI,GACXT,SAAS;QACf;QACAC,KAAK,EACH,QAAQ,IAAIF,MAAM,IAClB,OAAOA,MAAM,CAACA,MAAM,KAAK,QAAQ,IACjCA,MAAM,CAACA,MAAM,IAAI,IAAI,GACjBD,uBAAuB,CAACC,MAAM,CAACA,MAAM,CAAC,GACtCC;MACR,CAAC;IAEL,CAAC;EACH;EAEA,OAAOA,SAAS;AAClB","ignoreList":[]}
@@ -3,7 +3,6 @@
3
3
  export { BaseNavigationContainer } from "./BaseNavigationContainer.js";
4
4
  export { createNavigationContainerRef } from "./createNavigationContainerRef.js";
5
5
  export { createNavigatorFactory } from "./createNavigatorFactory.js";
6
- export { CurrentRenderContext } from "./CurrentRenderContext.js";
7
6
  export { findFocusedRoute } from "./findFocusedRoute.js";
8
7
  export { getActionFromState } from "./getActionFromState.js";
9
8
  export { getFocusedRouteNameFromRoute } from "./getFocusedRouteNameFromRoute.js";
@@ -16,13 +15,13 @@ export { NavigationMetaContext } from "./NavigationMetaContext.js";
16
15
  export { NavigationContext, NavigationProvider, NavigationRouteContext } from "./NavigationProvider.js";
17
16
  export { PreventRemoveContext } from "./PreventRemoveContext.js";
18
17
  export { PreventRemoveProvider } from "./PreventRemoveProvider.js";
19
- export { createComponentForStaticNavigation, createPathConfigForStaticNavigation } from "./StaticNavigation.js";
18
+ export { createPathConfigForStaticNavigation, createScreenFactory } from "./StaticNavigation.js";
20
19
  export { ThemeContext } from "./theming/ThemeContext.js";
21
20
  export { ThemeProvider } from "./theming/ThemeProvider.js";
22
21
  export { useTheme } from "./theming/useTheme.js";
23
- export * from "./types.js";
22
+ export { PrivateValueStore } from "./types.js";
24
23
  export { useFocusEffect } from "./useFocusEffect.js";
25
- export { useIsFocused } from "./useIsFocused.js";
24
+ export { IsFocusedContext, useIsFocused } from "./useIsFocused.js";
26
25
  export { useNavigation } from "./useNavigation.js";
27
26
  export { useNavigationBuilder } from "./useNavigationBuilder.js";
28
27
  export { useNavigationContainerRef } from "./useNavigationContainerRef.js";
@@ -1 +1 @@
1
- {"version":3,"names":["BaseNavigationContainer","createNavigationContainerRef","createNavigatorFactory","CurrentRenderContext","findFocusedRoute","getActionFromState","getFocusedRouteNameFromRoute","getPathFromState","getStateFromPath","NavigationContainerRefContext","NavigationHelpersContext","NavigationIndependentTree","NavigationMetaContext","NavigationContext","NavigationProvider","NavigationRouteContext","PreventRemoveContext","PreventRemoveProvider","createComponentForStaticNavigation","createPathConfigForStaticNavigation","ThemeContext","ThemeProvider","useTheme","useFocusEffect","useIsFocused","useNavigation","useNavigationBuilder","useNavigationContainerRef","useNavigationIndependentTree","useNavigationState","usePreventRemove","usePreventRemoveContext","useRoute","useStateForPath","validatePathConfig"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,uBAAuB,QAAQ,8BAA2B;AACnE,SAASC,4BAA4B,QAAQ,mCAAgC;AAC7E,SAASC,sBAAsB,QAAQ,6BAA0B;AACjE,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,4BAA4B,QAAQ,mCAAgC;AAC7E,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,6BAA6B,QAAQ,oCAAiC;AAC/E,SAASC,wBAAwB,QAAQ,+BAA4B;AACrE,SAASC,yBAAyB,QAAQ,gCAA6B;AACvE,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SACEC,iBAAiB,EACjBC,kBAAkB,EAClBC,sBAAsB,QACjB,yBAAsB;AAC7B,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SACEC,kCAAkC,EAClCC,mCAAmC,QAQ9B,uBAAoB;AAC3B,SAASC,YAAY,QAAQ,2BAAwB;AACrD,SAASC,aAAa,QAAQ,4BAAyB;AACvD,SAASC,QAAQ,QAAQ,uBAAoB;AAC7C,cAAc,YAAS;AACvB,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,yBAAyB,QAAQ,gCAA6B;AACvE,SAASC,4BAA4B,QAAQ,mCAAgC;AAC7E,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,uBAAuB,QAAQ,8BAA2B;AACnE,SAASC,QAAQ,QAAQ,eAAY;AACrC,SAASC,eAAe,QAAQ,sBAAmB;AACnD,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,cAAc,2BAA2B","ignoreList":[]}
1
+ {"version":3,"names":["BaseNavigationContainer","createNavigationContainerRef","createNavigatorFactory","findFocusedRoute","getActionFromState","getFocusedRouteNameFromRoute","getPathFromState","getStateFromPath","NavigationContainerRefContext","NavigationHelpersContext","NavigationIndependentTree","NavigationMetaContext","NavigationContext","NavigationProvider","NavigationRouteContext","PreventRemoveContext","PreventRemoveProvider","createPathConfigForStaticNavigation","createScreenFactory","ThemeContext","ThemeProvider","useTheme","PrivateValueStore","useFocusEffect","IsFocusedContext","useIsFocused","useNavigation","useNavigationBuilder","useNavigationContainerRef","useNavigationIndependentTree","useNavigationState","usePreventRemove","usePreventRemoveContext","useRoute","useStateForPath","validatePathConfig"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,uBAAuB,QAAQ,8BAA2B;AACnE,SAASC,4BAA4B,QAAQ,mCAAgC;AAC7E,SACEC,sBAAsB,QAEjB,6BAA0B;AACjC,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,4BAA4B,QAAQ,mCAAgC;AAC7E,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,6BAA6B,QAAQ,oCAAiC;AAC/E,SAASC,wBAAwB,QAAQ,+BAA4B;AACrE,SAASC,yBAAyB,QAAQ,gCAA6B;AACvE,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SACEC,iBAAiB,EACjBC,kBAAkB,EAClBC,sBAAsB,QACjB,yBAAsB;AAC7B,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,qBAAqB,QAAQ,4BAAyB;AAC/D,SACEC,mCAAmC,EACnCC,mBAAmB,QASd,uBAAoB;AAC3B,SAASC,YAAY,QAAQ,2BAAwB;AACrD,SAASC,aAAa,QAAQ,4BAAyB;AACvD,SAASC,QAAQ,QAAQ,uBAAoB;AAuC7C,SAASC,iBAAiB,QAAQ,YAAS;AAC3C,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,gBAAgB,EAAEC,YAAY,QAAQ,mBAAgB;AAC/D,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,oBAAoB,QAAQ,2BAAwB;AAC7D,SAASC,yBAAyB,QAAQ,gCAA6B;AACvE,SAASC,4BAA4B,QAAQ,mCAAgC;AAC7E,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,uBAAuB,QAAQ,8BAA2B;AACnE,SAASC,QAAQ,QAAQ,eAAY;AACrC,SAASC,eAAe,QAAQ,sBAAmB;AAEnD,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,cAAc,2BAA2B","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  import * as React from 'react';
4
4
  import { ThemeContext } from "./ThemeContext.js";
5
5
  export function useTheme() {
6
- const theme = React.useContext(ThemeContext);
6
+ const theme = React.use(ThemeContext);
7
7
  if (theme == null) {
8
8
  throw new Error("Couldn't find a theme. Is your component inside NavigationContainer or a ThemeProvider?");
9
9
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","ThemeContext","useTheme","theme","useContext","Error"],"sourceRoot":"../../../src","sources":["theming/useTheme.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,YAAY,QAAQ,mBAAgB;AAE7C,OAAO,SAASC,QAAQA,CAAA,EAAG;EACzB,MAAMC,KAAK,GAAGH,KAAK,CAACI,UAAU,CAACH,YAAY,CAAC;EAE5C,IAAIE,KAAK,IAAI,IAAI,EAAE;IACjB,MAAM,IAAIE,KAAK,CACb,yFACF,CAAC;EACH;EAEA,OAAOF,KAAK;AACd","ignoreList":[]}
1
+ {"version":3,"names":["React","ThemeContext","useTheme","theme","use","Error"],"sourceRoot":"../../../src","sources":["theming/useTheme.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,YAAY,QAAQ,mBAAgB;AAE7C,OAAO,SAASC,QAAQA,CAAA,EAAG;EACzB,MAAMC,KAAK,GAAGH,KAAK,CAACI,GAAG,CAACH,YAAY,CAAC;EAErC,IAAIE,KAAK,IAAI,IAAI,EAAE;IACjB,MAAM,IAAIE,KAAK,CACb,yFACF,CAAC;EACH;EAEA,OAAOF,KAAK;AACd","ignoreList":[]}
@@ -36,10 +36,25 @@
36
36
 
37
37
  export class PrivateValueStore {}
38
38
 
39
+ // Everything in `NavigationProp` except `getParent` and the private brand.
40
+ // The composite navigation prop intersects this directly, so it doesn't have
41
+ // to walk `NavigationProp`'s members with `Omit` to drop `getParent`/the brand.
42
+
39
43
  /**
40
44
  * A stripped down NavigationProp if the navigator is not known.
41
45
  *
42
46
  * The hook can be used in `NavigationContainer` directly, not inside of a navigator.
43
47
  * So navigator specific methods won't be available.
44
48
  */
49
+
50
+ // Compose every entry in a navigator's list with the accumulated parent.
51
+ // When there's no parent (root navigator), the list is returned as-is so the
52
+ // common shallow case doesn't pay for a redundant mapped type.
53
+
54
+ // Only use action helpers if all values are functions
55
+
56
+ /**
57
+ * Adds a proper `ParamList` to a type bag interface
58
+ * So it can be used as `this['ParamList']`
59
+ */
45
60
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":";;AAmBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAqNA,OAAO,MAAMA,iBAAiB,CAA4B;;AAqjB1D;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"names":["PrivateValueStore"],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":";;AAoBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA8NA,OAAO,MAAMA,iBAAiB,CAAiC;;AAyN/D;AACA;AACA;;AAucA;AACA;AACA;AACA;AACA;AACA;;AAwJA;AACA;AACA;;AAqFA;;AAuBA;AACA;AACA;AACA","ignoreList":[]}
@@ -31,15 +31,16 @@ export function useDescriptors({
31
31
  router,
32
32
  emitter
33
33
  }) {
34
- const theme = React.useContext(ThemeContext);
34
+ const theme = React.use(ThemeContext);
35
35
  const [options, setOptions] = React.useState({});
36
36
  const {
37
37
  onDispatchAction,
38
+ onEmitEvent,
38
39
  onOptionsChange,
39
40
  scheduleUpdate,
40
41
  flushUpdates,
41
42
  stackRef
42
- } = React.useContext(NavigationBuilderContext);
43
+ } = React.use(NavigationBuilderContext);
43
44
  const context = React.useMemo(() => ({
44
45
  navigation,
45
46
  onAction,
@@ -47,11 +48,12 @@ export function useDescriptors({
47
48
  addKeyedListener,
48
49
  onRouteFocus,
49
50
  onDispatchAction,
51
+ onEmitEvent,
50
52
  onOptionsChange,
51
53
  scheduleUpdate,
52
54
  flushUpdates,
53
55
  stackRef
54
- }), [navigation, onAction, addListener, addKeyedListener, onRouteFocus, onDispatchAction, onOptionsChange, scheduleUpdate, flushUpdates, stackRef]);
56
+ }), [navigation, onAction, addListener, addKeyedListener, onRouteFocus, onDispatchAction, onEmitEvent, onOptionsChange, scheduleUpdate, flushUpdates, stackRef]);
55
57
  const navigations = useNavigationCache({
56
58
  routes,
57
59
  getState,
@@ -63,14 +65,14 @@ export function useDescriptors({
63
65
  const cachedRoutes = useRouteCache(routes);
64
66
  const getOptions = (route, navigation, overrides) => {
65
67
  const config = screens[route.name];
66
- const screen = config.props;
68
+ const screen = config?.props;
67
69
  const optionsList = [
68
70
  // The default `screenOptions` passed to the navigator
69
71
  screenOptions,
70
72
  // The `screenOptions` props passed to `Group` elements
71
- ...(config.options ? config.options.filter(Boolean) : []),
73
+ ...(config?.options ? config.options.filter(Boolean) : []),
72
74
  // The `options` prop passed to `Screen` elements,
73
- screen.options,
75
+ screen?.options,
74
76
  // The options set via `navigation.setOptions`
75
77
  overrides];
76
78
  return optionsList.reduce((acc, curr) => Object.assign(acc,
@@ -83,7 +85,10 @@ export function useDescriptors({
83
85
  };
84
86
  const render = (route, navigation, customOptions, routeState) => {
85
87
  const config = screens[route.name];
86
- const screen = config.props;
88
+ const screen = config?.props;
89
+ if (screen == null) {
90
+ throw new Error(`Couldn't find a screen named '${route.name}'.`);
91
+ }
87
92
  const clearOptions = () => setOptions(o => {
88
93
  if (route.key in o) {
89
94
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -99,7 +104,7 @@ export function useDescriptors({
99
104
  // The `layout` prop passed to `Screen` elements,
100
105
  screen.layout ??
101
106
  // The `screenLayout` props passed to `Group` elements
102
- config.layout ??
107
+ config?.layout ??
103
108
  // The default `screenLayout` passed to the navigator
104
109
  screenLayout;
105
110
  let element = /*#__PURE__*/_jsx(SceneView, {
@@ -133,7 +138,11 @@ export function useDescriptors({
133
138
  };
134
139
  const descriptors = cachedRoutes.reduce((acc, route, i) => {
135
140
  const navigation = navigations[route.key];
136
- const customOptions = getOptions(route, navigation, options[route.key]);
141
+ const overrides = options[route.key];
142
+ if (navigation == null) {
143
+ throw new Error(`Couldn't find a navigation object for route '${route.key}'.`);
144
+ }
145
+ const customOptions = getOptions(route, navigation, overrides);
137
146
  const element = render(route, navigation, customOptions, routes[i]?.state);
138
147
  acc[route.key] = {
139
148
  route,
@@ -1 +1 @@
1
- {"version":3,"names":["React","NavigationBuilderContext","NavigationProvider","SceneView","ThemeContext","useNavigationCache","useRouteCache","jsx","_jsx","useDescriptors","routes","screens","navigation","screenOptions","screenLayout","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","theme","useContext","options","setOptions","useState","onDispatchAction","onOptionsChange","scheduleUpdate","flushUpdates","stackRef","context","useMemo","navigations","cachedRoutes","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","state"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":";;AAOA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAGEC,wBAAwB,QACnB,+BAA4B;AACnC,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,SAAS,QAAQ,gBAAa;AACvC,SAASC,YAAY,QAAQ,2BAAwB;AAWrD,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,aAAa,QAAQ,oBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AA2DhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAK5B;EACAC,MAAM;EACNC,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,GAAGvB,KAAK,CAACwB,UAAU,CAACpB,YAAY,CAAC;EAC5C,MAAM,CAACqB,OAAO,EAAEC,UAAU,CAAC,GAAG1B,KAAK,CAAC2B,QAAQ,CAC1C,CAAC,CACH,CAAC;EACD,MAAM;IACJC,gBAAgB;IAChBC,eAAe;IACfC,cAAc;IACdC,YAAY;IACZC;EACF,CAAC,GAAGhC,KAAK,CAACwB,UAAU,CAACvB,wBAAwB,CAAC;EAE9C,MAAMgC,OAAO,GAAGjC,KAAK,CAACkC,OAAO,CAC3B,OAAO;IACLtB,UAAU;IACVG,QAAQ;IACRG,WAAW;IACXC,gBAAgB;IAChBC,YAAY;IACZQ,gBAAgB;IAChBC,eAAe;IACfC,cAAc;IACdC,YAAY;IACZC;EACF,CAAC,CAAC,EACF,CACEpB,UAAU,EACVG,QAAQ,EACRG,WAAW,EACXC,gBAAgB,EAChBC,YAAY,EACZQ,gBAAgB,EAChBC,eAAe,EACfC,cAAc,EACdC,YAAY,EACZC,QAAQ,CAEZ,CAAC;EAED,MAAMG,WAAW,GAAG9B,kBAAkB,CAKpC;IACAK,MAAM;IACNM,QAAQ;IACRJ,UAAU;IACVc,UAAU;IACVL,MAAM;IACNC;EACF,CAAC,CAAC;EAEF,MAAMc,YAAY,GAAG9B,aAAa,CAACI,MAAM,CAAC;EAE1C,MAAM2B,UAAU,GAAGA,CACjBC,KAAuC,EACvC1B,UAMC,EACD2B,SAAwC,KACrC;IACH,MAAMC,MAAM,GAAG7B,OAAO,CAAC2B,KAAK,CAACG,IAAI,CAAC;IAClC,MAAMC,MAAM,GAAGF,MAAM,CAACG,KAAK;IAE3B,MAAMC,WAAW,GAAG;IAClB;IACA/B,aAAa;IACb;IACA,IAAK2B,MAAM,CAACf,OAAO,GACfe,MAAM,CAACf,OAAO,CAACoB,MAAM,CAACC,OAAO,CAAC,GAC9B,EAAE,CAA8C;IACpD;IACAJ,MAAM,CAACjB,OAAO;IACd;IACAc,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;MAAE1B,UAAU;MAAEW;IAAM,CAAC,CACvE,CAAC,EACH,CAAC,CACH,CAAC;EACH,CAAC;EAED,MAAM6B,MAAM,GAAGA,CACbd,KAAuC,EACvC1B,UAMC,EACDyC,aAA4B,EAC5BC,UAAuE,KACpE;IACH,MAAMd,MAAM,GAAG7B,OAAO,CAAC2B,KAAK,CAACG,IAAI,CAAC;IAClC,MAAMC,MAAM,GAAGF,MAAM,CAACG,KAAK;IAE3B,MAAMY,YAAY,GAAGA,CAAA,KACnB7B,UAAU,CAAE8B,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;IACA9C,YAAY;IAEd,IAAI+C,OAAO,gBACTrD,IAAA,CAACL,SAAS;MACRS,UAAU,EAAEA,UAAW;MACvB0B,KAAK,EAAEA,KAAM;MACbI,MAAM,EAAEA,MAAO;MACfY,UAAU,EAAEA,UAAW;MACvBtC,QAAQ,EAAEA,QAAS;MACnBC,QAAQ,EAAEA,QAAS;MACnBQ,OAAO,EAAE4B,aAAc;MACvBE,YAAY,EAAEA;IAAa,CAC5B,CACF;IAED,IAAIK,MAAM,IAAI,IAAI,EAAE;MAClBC,OAAO,GAAGD,MAAM,CAAC;QACftB,KAAK;QACL1B,UAAU;QACVa,OAAO,EAAE4B,aAAa;QACtB;QACA9B,KAAK;QACLuC,QAAQ,EAAED;MACZ,CAAC,CAAC;IACJ;IAEA,oBACErD,IAAA,CAACP,wBAAwB,CAAC8D,QAAQ;MAAiBC,KAAK,EAAE/B,OAAQ;MAAA6B,QAAA,eAChEtD,IAAA,CAACN,kBAAkB;QAACU,UAAU,EAAEA,UAAW;QAAC0B,KAAK,EAAEA,KAAM;QAAAwB,QAAA,EACtDD;MAAO,CACU;IAAC,GAHiBvB,KAAK,CAACmB,GAIX,CAAC;EAExC,CAAC;EAED,MAAMQ,WAAW,GAAG7B,YAAY,CAACW,MAAM,CAgBrC,CAACC,GAAG,EAAEV,KAAK,EAAE4B,CAAC,KAAK;IACnB,MAAMtD,UAAU,GAAGuB,WAAW,CAACG,KAAK,CAACmB,GAAG,CAAC;IACzC,MAAMJ,aAAa,GAAGhB,UAAU,CAACC,KAAK,EAAE1B,UAAU,EAAEa,OAAO,CAACa,KAAK,CAACmB,GAAG,CAAC,CAAC;IACvE,MAAMI,OAAO,GAAGT,MAAM,CAACd,KAAK,EAAE1B,UAAU,EAAEyC,aAAa,EAAE3C,MAAM,CAACwD,CAAC,CAAC,EAAEC,KAAK,CAAC;IAE1EnB,GAAG,CAACV,KAAK,CAACmB,GAAG,CAAC,GAAG;MACfnB,KAAK;MACL1B,UAAU;MACVwC,MAAMA,CAAA,EAAG;QACP,OAAOS,OAAO;MAChB,CAAC;MACDpC,OAAO,EAAE4B;IACX,CAAC;IAED,OAAOL,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;EAEN,OAAOiB,WAAW;AACpB","ignoreList":[]}
1
+ {"version":3,"names":["React","NavigationBuilderContext","NavigationProvider","SceneView","ThemeContext","useNavigationCache","useRouteCache","jsx","_jsx","useDescriptors","routes","screens","navigation","screenOptions","screenLayout","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","theme","use","options","setOptions","useState","onDispatchAction","onEmitEvent","onOptionsChange","scheduleUpdate","flushUpdates","stackRef","context","useMemo","navigations","cachedRoutes","getOptions","route","overrides","config","name","screen","props","optionsList","filter","Boolean","reduce","acc","curr","Object","assign","render","customOptions","routeState","Error","clearOptions","o","key","_","rest","layout","element","children","Provider","value","descriptors","i","state"],"sourceRoot":"../../src","sources":["useDescriptors.tsx"],"mappings":";;AAOA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAGEC,wBAAwB,QACnB,+BAA4B;AACnC,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,SAAS,QAAQ,gBAAa;AACvC,SAASC,YAAY,QAAQ,2BAAwB;AAWrD,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,aAAa,QAAQ,oBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AA2DhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAK5B;EACAC,MAAM;EACNC,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,GAAGvB,KAAK,CAACwB,GAAG,CAACpB,YAAY,CAAC;EACrC,MAAM,CAACqB,OAAO,EAAEC,UAAU,CAAC,GAAG1B,KAAK,CAAC2B,QAAQ,CAE1C,CAAC,CAAC,CAAC;EACL,MAAM;IACJC,gBAAgB;IAChBC,WAAW;IACXC,eAAe;IACfC,cAAc;IACdC,YAAY;IACZC;EACF,CAAC,GAAGjC,KAAK,CAACwB,GAAG,CAACvB,wBAAwB,CAAC;EAEvC,MAAMiC,OAAO,GAAGlC,KAAK,CAACmC,OAAO,CAC3B,OAAO;IACLvB,UAAU;IACVG,QAAQ;IACRG,WAAW;IACXC,gBAAgB;IAChBC,YAAY;IACZQ,gBAAgB;IAChBC,WAAW;IACXC,eAAe;IACfC,cAAc;IACdC,YAAY;IACZC;EACF,CAAC,CAAC,EACF,CACErB,UAAU,EACVG,QAAQ,EACRG,WAAW,EACXC,gBAAgB,EAChBC,YAAY,EACZQ,gBAAgB,EAChBC,WAAW,EACXC,eAAe,EACfC,cAAc,EACdC,YAAY,EACZC,QAAQ,CAEZ,CAAC;EAED,MAAMG,WAAW,GAAG/B,kBAAkB,CAKpC;IACAK,MAAM;IACNM,QAAQ;IACRJ,UAAU;IACVc,UAAU;IACVL,MAAM;IACNC;EACF,CAAC,CAAC;EAEF,MAAMe,YAAY,GAAG/B,aAAa,CAACI,MAAM,CAAC;EAE1C,MAAM4B,UAAU,GAAGA,CACjBC,KAAuC,EACvC3B,UAMC,EACD4B,SAA6C,KAC1C;IACH,MAAMC,MAAM,GAAG9B,OAAO,CAAC4B,KAAK,CAACG,IAAI,CAAC;IAClC,MAAMC,MAAM,GAAGF,MAAM,EAAEG,KAAK;IAE5B,MAAMC,WAAW,GAAG;IAClB;IACAhC,aAAa;IACb;IACA,IAAK4B,MAAM,EAAEhB,OAAO,GAChBgB,MAAM,CAAChB,OAAO,CAACqB,MAAM,CAACC,OAAO,CAAC,GAC9B,EAAE,CAA8C;IACpD;IACAJ,MAAM,EAAElB,OAAO;IACf;IACAe,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;MAAE3B,UAAU;MAAEW;IAAM,CAAC,CACvE,CAAC,EACH,CAAC,CACH,CAAC;EACH,CAAC;EAED,MAAM8B,MAAM,GAAGA,CACbd,KAAuC,EACvC3B,UAMC,EACD0C,aAA4B,EAC5BC,UAAuE,KACpE;IACH,MAAMd,MAAM,GAAG9B,OAAO,CAAC4B,KAAK,CAACG,IAAI,CAAC;IAClC,MAAMC,MAAM,GAAGF,MAAM,EAAEG,KAAK;IAE5B,IAAID,MAAM,IAAI,IAAI,EAAE;MAClB,MAAM,IAAIa,KAAK,CAAC,iCAAiCjB,KAAK,CAACG,IAAI,IAAI,CAAC;IAClE;IAEA,MAAMe,YAAY,GAAGA,CAAA,KACnB/B,UAAU,CAAEgC,CAAC,IAAK;MAChB,IAAInB,KAAK,CAACoB,GAAG,IAAID,CAAC,EAAE;QAClB;QACA,MAAM;UAAE,CAACnB,KAAK,CAACoB,GAAG,GAAGC,CAAC;UAAE,GAAGC;QAAK,CAAC,GAAGH,CAAC;QACrC,OAAOG,IAAI;MACb;MAEA,OAAOH,CAAC;IACV,CAAC,CAAC;IAEJ,MAAMI,MAAM;IACV;IACAnB,MAAM,CAACmB,MAAM;IACb;IACArB,MAAM,EAAEqB,MAAM;IACd;IACAhD,YAAY;IAEd,IAAIiD,OAAO,gBACTvD,IAAA,CAACL,SAAS;MACRS,UAAU,EAAEA,UAAW;MACvB2B,KAAK,EAAEA,KAAM;MACbI,MAAM,EAAEA,MAAO;MACfY,UAAU,EAAEA,UAAW;MACvBvC,QAAQ,EAAEA,QAAS;MACnBC,QAAQ,EAAEA,QAAS;MACnBQ,OAAO,EAAE6B,aAAc;MACvBG,YAAY,EAAEA;IAAa,CAC5B,CACF;IAED,IAAIK,MAAM,IAAI,IAAI,EAAE;MAClBC,OAAO,GAAGD,MAAM,CAAC;QACfvB,KAAK;QACL3B,UAAU;QACVa,OAAO,EAAE6B,aAAa;QACtB;QACA/B,KAAK;QACLyC,QAAQ,EAAED;MACZ,CAAC,CAAC;IACJ;IAEA,oBACEvD,IAAA,CAACP,wBAAwB,CAACgE,QAAQ;MAAiBC,KAAK,EAAEhC,OAAQ;MAAA8B,QAAA,eAChExD,IAAA,CAACN,kBAAkB;QAACU,UAAU,EAAEA,UAAW;QAAC2B,KAAK,EAAEA,KAAM;QAAAyB,QAAA,EACtDD;MAAO,CACU;IAAC,GAHiBxB,KAAK,CAACoB,GAIX,CAAC;EAExC,CAAC;EAED,MAAMQ,WAAW,GAAG9B,YAAY,CAACW,MAAM,CAgBrC,CAACC,GAAG,EAAEV,KAAK,EAAE6B,CAAC,KAAK;IACnB,MAAMxD,UAAU,GAAGwB,WAAW,CAACG,KAAK,CAACoB,GAAG,CAAC;IACzC,MAAMnB,SAAS,GAAGf,OAAO,CAACc,KAAK,CAACoB,GAAG,CAAC;IAEpC,IAAI/C,UAAU,IAAI,IAAI,EAAE;MACtB,MAAM,IAAI4C,KAAK,CACb,gDAAgDjB,KAAK,CAACoB,GAAG,IAC3D,CAAC;IACH;IAEA,MAAML,aAAa,GAAGhB,UAAU,CAACC,KAAK,EAAE3B,UAAU,EAAE4B,SAAS,CAAC;IAC9D,MAAMuB,OAAO,GAAGV,MAAM,CAACd,KAAK,EAAE3B,UAAU,EAAE0C,aAAa,EAAE5C,MAAM,CAAC0D,CAAC,CAAC,EAAEC,KAAK,CAAC;IAE1EpB,GAAG,CAACV,KAAK,CAACoB,GAAG,CAAC,GAAG;MACfpB,KAAK;MACL3B,UAAU;MACVyC,MAAMA,CAAA,EAAG;QACP,OAAOU,OAAO;MAChB,CAAC;MACDtC,OAAO,EAAE6B;IACX,CAAC;IAED,OAAOL,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;EAEN,OAAOkB,WAAW;AACpB","ignoreList":[]}
@@ -32,50 +32,62 @@ export function useEventEmitter(listen) {
32
32
  target,
33
33
  canPreventDefault
34
34
  }) => {
35
- const items = listeners.current[type] || {};
35
+ const items = listeners.current[type];
36
36
 
37
37
  // Copy the current list of callbacks in case they are mutated during execution
38
- const callbacks = new Set(Object.values(target ? {
39
- [target]: items[target]
40
- } : items).flatMap(t => t ? Array.from(t) : []));
41
- const event = {
42
- get type() {
43
- return type;
38
+ let callbacks;
39
+ if (items) {
40
+ if (target !== undefined) {
41
+ const targetSet = items[target];
42
+ if (targetSet && targetSet.size) {
43
+ callbacks = new Set(targetSet);
44
+ }
45
+ } else {
46
+ for (const key in items) {
47
+ const set = items[key];
48
+ if (set && set.size) {
49
+ callbacks ??= new Set();
50
+ for (const cb of set) {
51
+ callbacks.add(cb);
52
+ }
53
+ }
54
+ }
55
+ }
56
+ }
57
+ const descriptors = {
58
+ type: {
59
+ enumerable: true,
60
+ value: type
44
61
  }
45
62
  };
46
63
  if (target !== undefined) {
47
- Object.defineProperty(event, 'target', {
64
+ descriptors.target = {
48
65
  enumerable: true,
49
- get() {
50
- return target;
51
- }
52
- });
66
+ value: target
67
+ };
53
68
  }
54
69
  if (data !== undefined) {
55
- Object.defineProperty(event, 'data', {
70
+ descriptors.data = {
56
71
  enumerable: true,
57
- get() {
58
- return data;
59
- }
60
- });
72
+ value: data
73
+ };
61
74
  }
75
+ let defaultPrevented = false;
62
76
  if (canPreventDefault) {
63
- let defaultPrevented = false;
64
- Object.defineProperties(event, {
65
- defaultPrevented: {
66
- enumerable: true,
67
- get() {
68
- return defaultPrevented;
69
- }
70
- },
71
- preventDefault: {
72
- enumerable: true,
73
- value() {
74
- defaultPrevented = true;
75
- }
77
+ descriptors.defaultPrevented = {
78
+ enumerable: true,
79
+ get() {
80
+ return defaultPrevented;
81
+ }
82
+ };
83
+ descriptors.preventDefault = {
84
+ enumerable: true,
85
+ value() {
86
+ defaultPrevented = true;
76
87
  }
77
- });
88
+ };
78
89
  }
90
+ const event = Object.defineProperties({}, descriptors);
79
91
  listenRef.current?.(event);
80
92
  callbacks?.forEach(cb => cb(event));
81
93
  return event;
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEventEmitter","listen","listenRef","useRef","useEffect","current","listeners","Object","create","useCallback","target","removeListener","type","callback","callbacks","delete","addListener","Set","add","emit","data","canPreventDefault","items","values","flatMap","t","Array","from","event","undefined","defineProperty","enumerable","get","defaultPrevented","defineProperties","preventDefault","value","forEach","cb","useMemo"],"sourceRoot":"../../src","sources":["useEventEmitter.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEventEmitter","listen","listenRef","useRef","useEffect","current","listeners","Object","create","useCallback","target","removeListener","type","callback","callbacks","delete","addListener","Set","add","emit","data","canPreventDefault","items","undefined","targetSet","size","key","set","cb","descriptors","enumerable","value","defaultPrevented","get","preventDefault","event","defineProperties","forEach","useMemo"],"sourceRoot":"../../src","sources":["useEventEmitter.tsx"],"mappings":"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","ignoreList":[]}
@@ -9,9 +9,13 @@ export function useFocusEvents({
9
9
  state,
10
10
  emitter
11
11
  }) {
12
- const navigation = React.useContext(NavigationContext);
12
+ const navigation = React.use(NavigationContext);
13
13
  const lastFocusedKeyRef = React.useRef(undefined);
14
- const currentFocusedKey = state.routes[state.index].key;
14
+ const currentFocusedRoute = state.routes[state.index];
15
+ if (currentFocusedRoute == null) {
16
+ throw new Error(`Couldn't find a route at index ${state.index}.`);
17
+ }
18
+ const currentFocusedKey = currentFocusedRoute.key;
15
19
 
16
20
  // When the parent screen changes its focus state, we also need to change child's focus
17
21
  // Coz the child screen can't be focused if the parent screen is out of focus
@@ -1 +1 @@
1
- {"version":3,"names":["React","NavigationContext","useFocusEvents","state","emitter","navigation","useContext","lastFocusedKeyRef","useRef","undefined","currentFocusedKey","routes","index","key","useEffect","addListener","current","emit","type","target","lastFocusedKey","isFocused"],"sourceRoot":"../../src","sources":["useFocusEvents.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,iBAAiB,QAAQ,yBAAsB;AASxD;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,CAAqBC,SAAS,CAAC;EAErE,MAAMC,iBAAiB,GAAGP,KAAK,CAACQ,MAAM,CAACR,KAAK,CAACS,KAAK,CAAC,CAACC,GAAG;;EAEvD;EACA;EACAb,KAAK,CAACc,SAAS,CACb,MACET,UAAU,EAAEU,WAAW,CAAC,OAAO,EAAE,MAAM;IACrCR,iBAAiB,CAACS,OAAO,GAAGN,iBAAiB;IAC7CN,OAAO,CAACa,IAAI,CAAC;MAAEC,IAAI,EAAE,OAAO;MAAEC,MAAM,EAAET;IAAkB,CAAC,CAAC;EAC5D,CAAC,CAAC,EACJ,CAACA,iBAAiB,EAAEN,OAAO,EAAEC,UAAU,CACzC,CAAC;EAEDL,KAAK,CAACc,SAAS,CACb,MACET,UAAU,EAAEU,WAAW,CAAC,MAAM,EAAE,MAAM;IACpCR,iBAAiB,CAACS,OAAO,GAAGP,SAAS;IACrCL,OAAO,CAACa,IAAI,CAAC;MAAEC,IAAI,EAAE,MAAM;MAAEC,MAAM,EAAET;IAAkB,CAAC,CAAC;EAC3D,CAAC,CAAC,EACJ,CAACA,iBAAiB,EAAEN,OAAO,EAAEC,UAAU,CACzC,CAAC;EAEDL,KAAK,CAACc,SAAS,CAAC,MAAM;IACpB,MAAMM,cAAc,GAAGb,iBAAiB,CAACS,OAAO;IAEhDT,iBAAiB,CAACS,OAAO,GAAGN,iBAAiB;;IAE7C;IACA;IACA,IAAIU,cAAc,KAAKX,SAAS,IAAI,CAACJ,UAAU,EAAE;MAC/CD,OAAO,CAACa,IAAI,CAAC;QAAEC,IAAI,EAAE,OAAO;QAAEC,MAAM,EAAET;MAAkB,CAAC,CAAC;IAC5D;;IAEA;IACA;IACA,IACEU,cAAc,KAAKV,iBAAiB,IACpC,EAAEL,UAAU,GAAGA,UAAU,CAACgB,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,EAC7C;MACA;IACF;IAEA,IAAID,cAAc,KAAKX,SAAS,EAAE;MAChC;MACA;IACF;IAEAL,OAAO,CAACa,IAAI,CAAC;MAAEC,IAAI,EAAE,MAAM;MAAEC,MAAM,EAAEC;IAAe,CAAC,CAAC;IACtDhB,OAAO,CAACa,IAAI,CAAC;MAAEC,IAAI,EAAE,OAAO;MAAEC,MAAM,EAAET;IAAkB,CAAC,CAAC;EAC5D,CAAC,EAAE,CAACA,iBAAiB,EAAEN,OAAO,EAAEC,UAAU,CAAC,CAAC;AAC9C","ignoreList":[]}
1
+ {"version":3,"names":["React","NavigationContext","useFocusEvents","state","emitter","navigation","use","lastFocusedKeyRef","useRef","undefined","currentFocusedRoute","routes","index","Error","currentFocusedKey","key","useEffect","addListener","current","emit","type","target","lastFocusedKey","isFocused"],"sourceRoot":"../../src","sources":["useFocusEvents.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,iBAAiB,QAAQ,yBAAsB;AASxD;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAAgC;EAC5DC,KAAK;EACLC;AACc,CAAC,EAAE;EACjB,MAAMC,UAAU,GAAGL,KAAK,CAACM,GAAG,CAACL,iBAAiB,CAAC;EAC/C,MAAMM,iBAAiB,GAAGP,KAAK,CAACQ,MAAM,CAAqBC,SAAS,CAAC;EAErE,MAAMC,mBAAmB,GAAGP,KAAK,CAACQ,MAAM,CAACR,KAAK,CAACS,KAAK,CAAC;EAErD,IAAIF,mBAAmB,IAAI,IAAI,EAAE;IAC/B,MAAM,IAAIG,KAAK,CAAC,kCAAkCV,KAAK,CAACS,KAAK,GAAG,CAAC;EACnE;EAEA,MAAME,iBAAiB,GAAGJ,mBAAmB,CAACK,GAAG;;EAEjD;EACA;EACAf,KAAK,CAACgB,SAAS,CACb,MACEX,UAAU,EAAEY,WAAW,CAAC,OAAO,EAAE,MAAM;IACrCV,iBAAiB,CAACW,OAAO,GAAGJ,iBAAiB;IAC7CV,OAAO,CAACe,IAAI,CAAC;MAAEC,IAAI,EAAE,OAAO;MAAEC,MAAM,EAAEP;IAAkB,CAAC,CAAC;EAC5D,CAAC,CAAC,EACJ,CAACA,iBAAiB,EAAEV,OAAO,EAAEC,UAAU,CACzC,CAAC;EAEDL,KAAK,CAACgB,SAAS,CACb,MACEX,UAAU,EAAEY,WAAW,CAAC,MAAM,EAAE,MAAM;IACpCV,iBAAiB,CAACW,OAAO,GAAGT,SAAS;IACrCL,OAAO,CAACe,IAAI,CAAC;MAAEC,IAAI,EAAE,MAAM;MAAEC,MAAM,EAAEP;IAAkB,CAAC,CAAC;EAC3D,CAAC,CAAC,EACJ,CAACA,iBAAiB,EAAEV,OAAO,EAAEC,UAAU,CACzC,CAAC;EAEDL,KAAK,CAACgB,SAAS,CAAC,MAAM;IACpB,MAAMM,cAAc,GAAGf,iBAAiB,CAACW,OAAO;IAEhDX,iBAAiB,CAACW,OAAO,GAAGJ,iBAAiB;;IAE7C;IACA;IACA,IAAIQ,cAAc,KAAKb,SAAS,IAAI,CAACJ,UAAU,EAAE;MAC/CD,OAAO,CAACe,IAAI,CAAC;QAAEC,IAAI,EAAE,OAAO;QAAEC,MAAM,EAAEP;MAAkB,CAAC,CAAC;IAC5D;;IAEA;IACA;IACA,IACEQ,cAAc,KAAKR,iBAAiB,IACpC,EAAET,UAAU,GAAGA,UAAU,CAACkB,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,EAC7C;MACA;IACF;IAEA,IAAID,cAAc,KAAKb,SAAS,EAAE;MAChC;MACA;IACF;IAEAL,OAAO,CAACe,IAAI,CAAC;MAAEC,IAAI,EAAE,MAAM;MAAEC,MAAM,EAAEC;IAAe,CAAC,CAAC;IACtDlB,OAAO,CAACe,IAAI,CAAC;MAAEC,IAAI,EAAE,OAAO;MAAEC,MAAM,EAAEP;IAAkB,CAAC,CAAC;EAC5D,CAAC,EAAE,CAACA,iBAAiB,EAAEV,OAAO,EAAEC,UAAU,CAAC,CAAC;AAC9C","ignoreList":[]}
@@ -11,7 +11,7 @@ export function useFocusedListenersChildrenAdapter({
11
11
  }) {
12
12
  const {
13
13
  addListener
14
- } = React.useContext(NavigationBuilderContext);
14
+ } = React.use(NavigationBuilderContext);
15
15
  const listener = React.useCallback(callback => {
16
16
  if (navigation.isFocused()) {
17
17
  for (const listener of focusedListeners) {
@@ -37,6 +37,6 @@ export function useFocusedListenersChildrenAdapter({
37
37
  };
38
38
  }
39
39
  }, [focusedListeners, navigation]);
40
- React.useEffect(() => addListener?.('focus', listener), [addListener, listener]);
40
+ React.useInsertionEffect(() => addListener?.('focus', listener), [addListener, listener]);
41
41
  }
42
42
  //# sourceMappingURL=useFocusedListenersChildrenAdapter.js.map
@@ -1 +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":[]}
1
+ {"version":3,"names":["React","NavigationBuilderContext","useFocusedListenersChildrenAdapter","navigation","focusedListeners","addListener","use","listener","useCallback","callback","isFocused","handled","result","useInsertionEffect"],"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,GAAG,CAACL,wBAAwB,CAAC;EAE3D,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,kBAAkB,CACtB,MAAMR,WAAW,GAAG,OAAO,EAAEE,QAAQ,CAAC,EACtC,CAACF,WAAW,EAAEE,QAAQ,CACxB,CAAC;AACH","ignoreList":[]}
@@ -1,23 +1,18 @@
1
1
  "use strict";
2
2
 
3
3
  import * as React from 'react';
4
- import { useNavigation } from "./useNavigation.js";
4
+ export const FocusedRouteKeyContext = /*#__PURE__*/React.createContext(undefined);
5
+ export const IsFocusedContext = /*#__PURE__*/React.createContext(undefined);
5
6
 
6
7
  /**
7
8
  * Hook to get the current focus state of the screen. Returns a `true` if screen is focused, otherwise `false`.
8
9
  * This can be used if a component needs to render something based on the focus state.
9
10
  */
10
11
  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;
12
+ const isFocused = React.use(IsFocusedContext);
13
+ if (isFocused === undefined) {
14
+ throw new Error("Couldn't determine focus state. Is your component inside a screen in a navigator?");
15
+ }
16
+ return isFocused;
22
17
  }
23
18
  //# sourceMappingURL=useIsFocused.js.map
@@ -1 +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":[]}
1
+ {"version":3,"names":["React","FocusedRouteKeyContext","createContext","undefined","IsFocusedContext","useIsFocused","isFocused","use","Error"],"sourceRoot":"../../src","sources":["useIsFocused.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAO,MAAMC,sBAAsB,gBAAGD,KAAK,CAACE,aAAa,CACvDC,SACF,CAAC;AAED,OAAO,MAAMC,gBAAgB,gBAAGJ,KAAK,CAACE,aAAa,CACjDC,SACF,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,SAASE,YAAYA,CAAA,EAAY;EACtC,MAAMC,SAAS,GAAGN,KAAK,CAACO,GAAG,CAACH,gBAAgB,CAAC;EAE7C,IAAIE,SAAS,KAAKH,SAAS,EAAE;IAC3B,MAAM,IAAIK,KAAK,CACb,mFACF,CAAC;EACH;EAEA,OAAOF,SAAS;AAClB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","NavigationContainerRefContext","NavigationContext","NavigationRouteNameContext","useNavigation","name","root","use","navigation","undefined","Error","routeName","parent","getParent"],"sourceRoot":"../../src","sources":["useNavigation.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,6BAA6B,QAAQ,oCAAiC;AAC/E,SACEC,iBAAiB,EACjBC,0BAA0B,QACrB,yBAAsB;;AAS7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA,OAAO,SAASC,aAAaA,CAACC,IAAa,EAAW;EACpD,MAAMC,IAAI,GAAGN,KAAK,CAACO,GAAG,CAACN,6BAA6B,CAAC;EACrD,MAAMO,UAAU,GAAGR,KAAK,CAACO,GAAG,CAACL,iBAAiB,CAAC;EAE/C,IAAIG,IAAI,KAAKI,SAAS,EAAE;IACtB,IAAID,UAAU,KAAKC,SAAS,IAAIH,IAAI,KAAKG,SAAS,EAAE;MAClD,MAAM,IAAIC,KAAK,CACb,kFACF,CAAC;IACH;IAEA,OAAOF,UAAU,IAAIF,IAAI;EAC3B;EAEA,MAAMK,SAAS,GAAGX,KAAK,CAACO,GAAG,CAACJ,0BAA0B,CAAC;;EAEvD;EACA;EACA,IAAIQ,SAAS,KAAKN,IAAI,EAAE;IACtB,IAAIG,UAAU,KAAKC,SAAS,EAAE;MAC5B,MAAM,IAAIC,KAAK,CACb,0CAA0CL,IAAI,0BAChD,CAAC;IACH;IAEA,OAAOG,UAAU;EACnB;;EAEA;EACA;EACA,MAAMI,MAAM,GAAGJ,UAAU,EAAEK,SAAS,CAAC,CAAC,EAAEA,SAAS,CAACR,IAAI,CAAC;EAEvD,IAAIO,MAAM,KAAKH,SAAS,EAAE;IACxB,MAAM,IAAIC,KAAK,CACb,0CAA0CL,IAAI,kFAChD,CAAC;EACH;EAEA,OAAOO,MAAM;AACf","ignoreList":[]}
1
+ {"version":3,"names":["React","NavigationContainerRefContext","NavigationContext","NavigationRouteNameContext","useNavigation","name","root","use","navigation","undefined","Error","routeName","parent","getParent"],"sourceRoot":"../../src","sources":["useNavigation.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,6BAA6B,QAAQ,oCAAiC;AAC/E,SACEC,iBAAiB,EACjBC,0BAA0B,QACrB,yBAAsB;;AAW7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAYA,OAAO,SAASC,aAAaA,CAACC,IAAa,EAAW;EACpD,MAAMC,IAAI,GAAGN,KAAK,CAACO,GAAG,CAACN,6BAA6B,CAAC;EACrD,MAAMO,UAAU,GAAGR,KAAK,CAACO,GAAG,CAACL,iBAAiB,CAAC;EAE/C,IAAIG,IAAI,KAAKI,SAAS,EAAE;IACtB,IAAID,UAAU,KAAKC,SAAS,IAAIH,IAAI,KAAKG,SAAS,EAAE;MAClD,MAAM,IAAIC,KAAK,CACb,kFACF,CAAC;IACH;IAEA,OAAOF,UAAU,IAAIF,IAAI;EAC3B;EAEA,MAAMK,SAAS,GAAGX,KAAK,CAACO,GAAG,CAACJ,0BAA0B,CAAC;;EAEvD;EACA;EACA,IAAIQ,SAAS,KAAKN,IAAI,EAAE;IACtB,IAAIG,UAAU,KAAKC,SAAS,EAAE;MAC5B,MAAM,IAAIC,KAAK,CACb,0CAA0CL,IAAI,0BAChD,CAAC;IACH;IAEA,OAAOG,UAAU;EACnB;;EAEA;EACA;EACA,MAAMI,MAAM,GAAGJ,UAAU,EAAEK,SAAS,CAAC,CAAC,EAAEA,SAAS,CAACR,IAAI,CAAC;EAEvD,IAAIO,MAAM,KAAKH,SAAS,EAAE;IACxB,MAAM,IAAIC,KAAK,CACb,0CAA0CL,IAAI,kFAChD,CAAC;EACH;EAEA,OAAOO,MAAM;AACf","ignoreList":[]}