@react-navigation/core 7.0.0-alpha.9 → 7.0.0-rc.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 (287) hide show
  1. package/lib/commonjs/BaseNavigationContainer.js +14 -21
  2. package/lib/commonjs/BaseNavigationContainer.js.map +1 -1
  3. package/lib/commonjs/CurrentRenderContext.js +1 -1
  4. package/lib/commonjs/CurrentRenderContext.js.map +1 -1
  5. package/lib/commonjs/DeprecatedNavigationInChildContext.js +1 -1
  6. package/lib/commonjs/DeprecatedNavigationInChildContext.js.map +1 -1
  7. package/lib/commonjs/EnsureSingleNavigator.js +4 -5
  8. package/lib/commonjs/EnsureSingleNavigator.js.map +1 -1
  9. package/lib/commonjs/Group.js.map +1 -1
  10. package/lib/commonjs/NavigationBuilderContext.js +1 -1
  11. package/lib/commonjs/NavigationBuilderContext.js.map +1 -1
  12. package/lib/commonjs/NavigationContainerRefContext.js +1 -1
  13. package/lib/commonjs/NavigationContainerRefContext.js.map +1 -1
  14. package/lib/commonjs/NavigationContext.js +1 -1
  15. package/lib/commonjs/NavigationContext.js.map +1 -1
  16. package/lib/commonjs/NavigationHelpersContext.js +1 -1
  17. package/lib/commonjs/NavigationHelpersContext.js.map +1 -1
  18. package/lib/commonjs/NavigationIndependentTree.js +4 -5
  19. package/lib/commonjs/NavigationIndependentTree.js.map +1 -1
  20. package/lib/commonjs/NavigationIndependentTreeContext.js +1 -1
  21. package/lib/commonjs/NavigationIndependentTreeContext.js.map +1 -1
  22. package/lib/commonjs/NavigationRouteContext.js +1 -1
  23. package/lib/commonjs/NavigationRouteContext.js.map +1 -1
  24. package/lib/commonjs/NavigationStateContext.js +1 -1
  25. package/lib/commonjs/NavigationStateContext.js.map +1 -1
  26. package/lib/commonjs/PreventRemoveContext.js +1 -1
  27. package/lib/commonjs/PreventRemoveContext.js.map +1 -1
  28. package/lib/commonjs/PreventRemoveProvider.js +12 -17
  29. package/lib/commonjs/PreventRemoveProvider.js.map +1 -1
  30. package/lib/commonjs/SceneView.js +11 -12
  31. package/lib/commonjs/SceneView.js.map +1 -1
  32. package/lib/commonjs/Screen.js.map +1 -1
  33. package/lib/commonjs/StaticContainer.js +1 -1
  34. package/lib/commonjs/StaticContainer.js.map +1 -1
  35. package/lib/commonjs/StaticNavigation.js +85 -37
  36. package/lib/commonjs/StaticNavigation.js.map +1 -1
  37. package/lib/commonjs/UnhandledActionContext.js +1 -1
  38. package/lib/commonjs/UnhandledActionContext.js.map +1 -1
  39. package/lib/commonjs/checkDuplicateRouteNames.js.map +1 -1
  40. package/lib/commonjs/checkSerializable.js.map +1 -1
  41. package/lib/commonjs/createNavigationContainerRef.js +2 -6
  42. package/lib/commonjs/createNavigationContainerRef.js.map +1 -1
  43. package/lib/commonjs/createNavigatorFactory.js.map +1 -1
  44. package/lib/commonjs/deepFreeze.js +37 -0
  45. package/lib/commonjs/deepFreeze.js.map +1 -0
  46. package/lib/commonjs/findFocusedRoute.js.map +1 -1
  47. package/lib/commonjs/getActionFromState.js +1 -2
  48. package/lib/commonjs/getActionFromState.js.map +1 -1
  49. package/lib/commonjs/getFocusedRouteNameFromRoute.js.map +1 -1
  50. package/lib/commonjs/getPathFromState.js +8 -14
  51. package/lib/commonjs/getPathFromState.js.map +1 -1
  52. package/lib/commonjs/getStateFromPath.js +48 -20
  53. package/lib/commonjs/getStateFromPath.js.map +1 -1
  54. package/lib/commonjs/index.js.map +1 -1
  55. package/lib/commonjs/isArrayEqual.js.map +1 -1
  56. package/lib/commonjs/isRecordEqual.js.map +1 -1
  57. package/lib/commonjs/theming/ThemeContext.js +1 -1
  58. package/lib/commonjs/theming/ThemeContext.js.map +1 -1
  59. package/lib/commonjs/theming/ThemeProvider.js +5 -6
  60. package/lib/commonjs/theming/ThemeProvider.js.map +1 -1
  61. package/lib/commonjs/theming/useTheme.js +1 -1
  62. package/lib/commonjs/theming/useTheme.js.map +1 -1
  63. package/lib/commonjs/types.js.map +1 -1
  64. package/lib/commonjs/useChildListeners.js +1 -1
  65. package/lib/commonjs/useChildListeners.js.map +1 -1
  66. package/lib/commonjs/useComponent.js +8 -10
  67. package/lib/commonjs/useComponent.js.map +1 -1
  68. package/lib/commonjs/useCurrentRender.js +6 -7
  69. package/lib/commonjs/useCurrentRender.js.map +1 -1
  70. package/lib/commonjs/useDescriptors.js +16 -17
  71. package/lib/commonjs/useDescriptors.js.map +1 -1
  72. package/lib/commonjs/useEventEmitter.js +7 -8
  73. package/lib/commonjs/useEventEmitter.js.map +1 -1
  74. package/lib/commonjs/useFocusEffect.js +3 -3
  75. package/lib/commonjs/useFocusEffect.js.map +1 -1
  76. package/lib/commonjs/useFocusEvents.js +5 -6
  77. package/lib/commonjs/useFocusEvents.js.map +1 -1
  78. package/lib/commonjs/useFocusedListenersChildrenAdapter.js +5 -6
  79. package/lib/commonjs/useFocusedListenersChildrenAdapter.js.map +1 -1
  80. package/lib/commonjs/useIsFocused.js +1 -1
  81. package/lib/commonjs/useIsFocused.js.map +1 -1
  82. package/lib/commonjs/useIsomorphicLayoutEffect.js.map +1 -1
  83. package/lib/commonjs/useIsomorphicLayoutEffect.native.js.map +1 -1
  84. package/lib/commonjs/useKeyedChildListeners.js +1 -1
  85. package/lib/commonjs/useKeyedChildListeners.js.map +1 -1
  86. package/lib/commonjs/useLazyValue.js +17 -0
  87. package/lib/commonjs/useLazyValue.js.map +1 -0
  88. package/lib/commonjs/useNavigation.js +1 -1
  89. package/lib/commonjs/useNavigation.js.map +1 -1
  90. package/lib/commonjs/useNavigationBuilder.js +16 -8
  91. package/lib/commonjs/useNavigationBuilder.js.map +1 -1
  92. package/lib/commonjs/useNavigationCache.js +12 -18
  93. package/lib/commonjs/useNavigationCache.js.map +1 -1
  94. package/lib/commonjs/useNavigationContainerRef.js +1 -1
  95. package/lib/commonjs/useNavigationContainerRef.js.map +1 -1
  96. package/lib/commonjs/useNavigationHelpers.js +9 -12
  97. package/lib/commonjs/useNavigationHelpers.js.map +1 -1
  98. package/lib/commonjs/useNavigationIndependentTree.js +1 -1
  99. package/lib/commonjs/useNavigationIndependentTree.js.map +1 -1
  100. package/lib/commonjs/useNavigationState.js +1 -1
  101. package/lib/commonjs/useNavigationState.js.map +1 -1
  102. package/lib/commonjs/useOnAction.js +12 -14
  103. package/lib/commonjs/useOnAction.js.map +1 -1
  104. package/lib/commonjs/useOnGetState.js +5 -6
  105. package/lib/commonjs/useOnGetState.js.map +1 -1
  106. package/lib/commonjs/useOnPreventRemove.js +6 -7
  107. package/lib/commonjs/useOnPreventRemove.js.map +1 -1
  108. package/lib/commonjs/useOnRouteFocus.js +7 -8
  109. package/lib/commonjs/useOnRouteFocus.js.map +1 -1
  110. package/lib/commonjs/useOptionsGetters.js +6 -7
  111. package/lib/commonjs/useOptionsGetters.js.map +1 -1
  112. package/lib/commonjs/usePreventRemove.js +2 -2
  113. package/lib/commonjs/usePreventRemove.js.map +1 -1
  114. package/lib/commonjs/usePreventRemoveContext.js +1 -1
  115. package/lib/commonjs/usePreventRemoveContext.js.map +1 -1
  116. package/lib/commonjs/useRegisterNavigator.js +1 -1
  117. package/lib/commonjs/useRegisterNavigator.js.map +1 -1
  118. package/lib/commonjs/useRoute.js +1 -1
  119. package/lib/commonjs/useRoute.js.map +1 -1
  120. package/lib/commonjs/useRouteCache.js +16 -2
  121. package/lib/commonjs/useRouteCache.js.map +1 -1
  122. package/lib/commonjs/useSyncState.js +13 -4
  123. package/lib/commonjs/useSyncState.js.map +1 -1
  124. package/lib/commonjs/validatePathConfig.js +3 -8
  125. package/lib/commonjs/validatePathConfig.js.map +1 -1
  126. package/lib/module/BaseNavigationContainer.js +12 -19
  127. package/lib/module/BaseNavigationContainer.js.map +1 -1
  128. package/lib/module/CurrentRenderContext.js.map +1 -1
  129. package/lib/module/DeprecatedNavigationInChildContext.js.map +1 -1
  130. package/lib/module/EnsureSingleNavigator.js +3 -4
  131. package/lib/module/EnsureSingleNavigator.js.map +1 -1
  132. package/lib/module/Group.js.map +1 -1
  133. package/lib/module/NavigationBuilderContext.js.map +1 -1
  134. package/lib/module/NavigationContainerRefContext.js.map +1 -1
  135. package/lib/module/NavigationContext.js.map +1 -1
  136. package/lib/module/NavigationHelpersContext.js.map +1 -1
  137. package/lib/module/NavigationIndependentTree.js +3 -4
  138. package/lib/module/NavigationIndependentTree.js.map +1 -1
  139. package/lib/module/NavigationIndependentTreeContext.js.map +1 -1
  140. package/lib/module/NavigationRouteContext.js.map +1 -1
  141. package/lib/module/NavigationStateContext.js.map +1 -1
  142. package/lib/module/PreventRemoveContext.js.map +1 -1
  143. package/lib/module/PreventRemoveProvider.js +10 -15
  144. package/lib/module/PreventRemoveProvider.js.map +1 -1
  145. package/lib/module/SceneView.js +10 -11
  146. package/lib/module/SceneView.js.map +1 -1
  147. package/lib/module/Screen.js.map +1 -1
  148. package/lib/module/StaticContainer.js.map +1 -1
  149. package/lib/module/StaticNavigation.js +84 -36
  150. package/lib/module/StaticNavigation.js.map +1 -1
  151. package/lib/module/UnhandledActionContext.js.map +1 -1
  152. package/lib/module/checkDuplicateRouteNames.js.map +1 -1
  153. package/lib/module/checkSerializable.js.map +1 -1
  154. package/lib/module/createNavigationContainerRef.js +2 -6
  155. package/lib/module/createNavigationContainerRef.js.map +1 -1
  156. package/lib/module/createNavigatorFactory.js +1 -0
  157. package/lib/module/createNavigatorFactory.js.map +1 -1
  158. package/lib/module/deepFreeze.js +29 -0
  159. package/lib/module/deepFreeze.js.map +1 -0
  160. package/lib/module/findFocusedRoute.js.map +1 -1
  161. package/lib/module/getActionFromState.js +1 -2
  162. package/lib/module/getActionFromState.js.map +1 -1
  163. package/lib/module/getFocusedRouteNameFromRoute.js.map +1 -1
  164. package/lib/module/getPathFromState.js +7 -13
  165. package/lib/module/getPathFromState.js.map +1 -1
  166. package/lib/module/getStateFromPath.js +46 -18
  167. package/lib/module/getStateFromPath.js.map +1 -1
  168. package/lib/module/index.js.map +1 -1
  169. package/lib/module/isArrayEqual.js.map +1 -1
  170. package/lib/module/isRecordEqual.js.map +1 -1
  171. package/lib/module/theming/ThemeContext.js.map +1 -1
  172. package/lib/module/theming/ThemeProvider.js +4 -5
  173. package/lib/module/theming/ThemeProvider.js.map +1 -1
  174. package/lib/module/theming/useTheme.js.map +1 -1
  175. package/lib/module/types.js.map +1 -1
  176. package/lib/module/useChildListeners.js.map +1 -1
  177. package/lib/module/useComponent.js +7 -9
  178. package/lib/module/useComponent.js.map +1 -1
  179. package/lib/module/useCurrentRender.js +5 -6
  180. package/lib/module/useCurrentRender.js.map +1 -1
  181. package/lib/module/useDescriptors.js +15 -16
  182. package/lib/module/useDescriptors.js.map +1 -1
  183. package/lib/module/useEventEmitter.js +6 -7
  184. package/lib/module/useEventEmitter.js.map +1 -1
  185. package/lib/module/useFocusEffect.js +2 -2
  186. package/lib/module/useFocusEffect.js.map +1 -1
  187. package/lib/module/useFocusEvents.js +4 -5
  188. package/lib/module/useFocusEvents.js.map +1 -1
  189. package/lib/module/useFocusedListenersChildrenAdapter.js +4 -5
  190. package/lib/module/useFocusedListenersChildrenAdapter.js.map +1 -1
  191. package/lib/module/useIsFocused.js.map +1 -1
  192. package/lib/module/useIsomorphicLayoutEffect.js.map +1 -1
  193. package/lib/module/useIsomorphicLayoutEffect.native.js.map +1 -1
  194. package/lib/module/useKeyedChildListeners.js.map +1 -1
  195. package/lib/module/useLazyValue.js +9 -0
  196. package/lib/module/useLazyValue.js.map +1 -0
  197. package/lib/module/useNavigation.js.map +1 -1
  198. package/lib/module/useNavigationBuilder.js +14 -6
  199. package/lib/module/useNavigationBuilder.js.map +1 -1
  200. package/lib/module/useNavigationCache.js +11 -17
  201. package/lib/module/useNavigationCache.js.map +1 -1
  202. package/lib/module/useNavigationContainerRef.js.map +1 -1
  203. package/lib/module/useNavigationHelpers.js +8 -11
  204. package/lib/module/useNavigationHelpers.js.map +1 -1
  205. package/lib/module/useNavigationIndependentTree.js.map +1 -1
  206. package/lib/module/useNavigationState.js.map +1 -1
  207. package/lib/module/useOnAction.js +11 -13
  208. package/lib/module/useOnAction.js.map +1 -1
  209. package/lib/module/useOnGetState.js +4 -5
  210. package/lib/module/useOnGetState.js.map +1 -1
  211. package/lib/module/useOnPreventRemove.js +5 -6
  212. package/lib/module/useOnPreventRemove.js.map +1 -1
  213. package/lib/module/useOnRouteFocus.js +6 -7
  214. package/lib/module/useOnRouteFocus.js.map +1 -1
  215. package/lib/module/useOptionsGetters.js +5 -6
  216. package/lib/module/useOptionsGetters.js.map +1 -1
  217. package/lib/module/usePreventRemove.js.map +1 -1
  218. package/lib/module/usePreventRemoveContext.js.map +1 -1
  219. package/lib/module/useRegisterNavigator.js.map +1 -1
  220. package/lib/module/useRoute.js.map +1 -1
  221. package/lib/module/useRouteCache.js +15 -1
  222. package/lib/module/useRouteCache.js.map +1 -1
  223. package/lib/module/useSyncState.js +12 -3
  224. package/lib/module/useSyncState.js.map +1 -1
  225. package/lib/module/validatePathConfig.js +3 -8
  226. package/lib/module/validatePathConfig.js.map +1 -1
  227. package/lib/typescript/src/BaseNavigationContainer.d.ts.map +1 -1
  228. package/lib/typescript/src/CurrentRenderContext.d.ts +1 -1
  229. package/lib/typescript/src/CurrentRenderContext.d.ts.map +1 -1
  230. package/lib/typescript/src/Group.d.ts +1 -1
  231. package/lib/typescript/src/Group.d.ts.map +1 -1
  232. package/lib/typescript/src/NavigationBuilderContext.d.ts +5 -5
  233. package/lib/typescript/src/NavigationBuilderContext.d.ts.map +1 -1
  234. package/lib/typescript/src/NavigationStateContext.d.ts +3 -19
  235. package/lib/typescript/src/NavigationStateContext.d.ts.map +1 -1
  236. package/lib/typescript/src/PreventRemoveContext.d.ts.map +1 -1
  237. package/lib/typescript/src/Screen.d.ts +1 -1
  238. package/lib/typescript/src/Screen.d.ts.map +1 -1
  239. package/lib/typescript/src/StaticNavigation.d.ts +43 -19
  240. package/lib/typescript/src/StaticNavigation.d.ts.map +1 -1
  241. package/lib/typescript/src/checkSerializable.d.ts.map +1 -1
  242. package/lib/typescript/src/createNavigatorFactory.d.ts +1 -9
  243. package/lib/typescript/src/createNavigatorFactory.d.ts.map +1 -1
  244. package/lib/typescript/src/deepFreeze.d.ts +3 -0
  245. package/lib/typescript/src/deepFreeze.d.ts.map +1 -0
  246. package/lib/typescript/src/findFocusedRoute.d.ts +1 -11
  247. package/lib/typescript/src/findFocusedRoute.d.ts.map +1 -1
  248. package/lib/typescript/src/getPathFromState.d.ts.map +1 -1
  249. package/lib/typescript/src/index.d.ts +1 -1
  250. package/lib/typescript/src/index.d.ts.map +1 -1
  251. package/lib/typescript/src/types.d.ts +61 -28
  252. package/lib/typescript/src/types.d.ts.map +1 -1
  253. package/lib/typescript/src/useChildListeners.d.ts.map +1 -1
  254. package/lib/typescript/src/useComponent.d.ts.map +1 -1
  255. package/lib/typescript/src/useDescriptors.d.ts +35 -45
  256. package/lib/typescript/src/useDescriptors.d.ts.map +1 -1
  257. package/lib/typescript/src/useKeyedChildListeners.d.ts.map +1 -1
  258. package/lib/typescript/src/useLazyValue.d.ts +2 -0
  259. package/lib/typescript/src/useLazyValue.d.ts.map +1 -0
  260. package/lib/typescript/src/useNavigationBuilder.d.ts +57 -93
  261. package/lib/typescript/src/useNavigationBuilder.d.ts.map +1 -1
  262. package/lib/typescript/src/useNavigationCache.d.ts +17 -22
  263. package/lib/typescript/src/useNavigationCache.d.ts.map +1 -1
  264. package/lib/typescript/src/useNavigationHelpers.d.ts +21 -26
  265. package/lib/typescript/src/useNavigationHelpers.d.ts.map +1 -1
  266. package/lib/typescript/src/useOnAction.d.ts.map +1 -1
  267. package/lib/typescript/src/useOnPreventRemove.d.ts.map +1 -1
  268. package/lib/typescript/src/useRouteCache.d.ts +1 -1
  269. package/lib/typescript/src/useRouteCache.d.ts.map +1 -1
  270. package/lib/typescript/src/useSyncState.d.ts.map +1 -1
  271. package/package.json +5 -5
  272. package/src/BaseNavigationContainer.tsx +0 -3
  273. package/src/Group.tsx +2 -1
  274. package/src/Screen.tsx +11 -1
  275. package/src/StaticNavigation.tsx +299 -72
  276. package/src/createNavigatorFactory.tsx +1 -36
  277. package/src/deepFreeze.tsx +34 -0
  278. package/src/getPathFromState.tsx +6 -1
  279. package/src/getStateFromPath.tsx +60 -16
  280. package/src/index.tsx +1 -0
  281. package/src/types.tsx +130 -27
  282. package/src/useDescriptors.tsx +8 -1
  283. package/src/useFocusEffect.tsx +2 -2
  284. package/src/useLazyValue.tsx +11 -0
  285. package/src/useNavigationBuilder.tsx +33 -11
  286. package/src/useRouteCache.tsx +17 -1
  287. package/src/useSyncState.tsx +16 -3
@@ -1,4 +1,4 @@
1
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
2
  import * as React from 'react';
3
3
  import { isValidElementType } from 'react-is';
4
4
  import { useRoute } from './useRoute';
@@ -27,10 +27,9 @@ import { useRoute } from './useRoute';
27
27
  * Infer the param list from the static navigation config.
28
28
  */
29
29
 
30
- const MemoizedScreen = /*#__PURE__*/React.memo(_ref => {
31
- let {
32
- component
33
- } = _ref;
30
+ const MemoizedScreen = /*#__PURE__*/React.memo(({
31
+ component
32
+ }) => {
34
33
  const route = useRoute();
35
34
  const children = /*#__PURE__*/React.createElement(component, {
36
35
  route
@@ -38,8 +37,7 @@ const MemoizedScreen = /*#__PURE__*/React.memo(_ref => {
38
37
  return children;
39
38
  });
40
39
  const getItemsFromScreens = (Screen, screens) => {
41
- return Object.entries(screens).map(_ref2 => {
42
- let [name, item] = _ref2;
40
+ return Object.entries(screens).map(([name, item]) => {
43
41
  let component;
44
42
  let props = {};
45
43
  let useIf;
@@ -67,7 +65,7 @@ const getItemsFromScreens = (Screen, screens) => {
67
65
  if (component == null) {
68
66
  throw new Error(`Couldn't find a 'screen' property for the screen '${name}'. This can happen if you passed 'undefined'. You likely forgot to export your component from the file it's defined in, or mixed up default import and named import when importing.`);
69
67
  }
70
- const element = isNavigator ? /*#__PURE__*/React.createElement(component, {}) : /*#__PURE__*/React.createElement(MemoizedScreen, {
68
+ const element = isNavigator ? ( /*#__PURE__*/React.createElement(component, {})) : /*#__PURE__*/React.createElement(MemoizedScreen, {
71
69
  component: component
72
70
  });
73
71
  return () => {
@@ -102,16 +100,15 @@ export function createComponentForStaticNavigation(tree, displayName) {
102
100
  groups,
103
101
  ...rest
104
102
  } = config;
105
- if (screens == null) {
106
- throw new Error("Couldn't find a 'screens' property. Make sure to define your screens under a 'screens' property in the configuration.");
103
+ if (screens == null && groups == null) {
104
+ throw new Error("Couldn't find a 'screens' or 'groups' property. Make sure to define your screens under a 'screens' property in the configuration.");
107
105
  }
108
- const items = getItemsFromScreens(Screen, screens);
106
+ const items = screens ? getItemsFromScreens(Screen, screens) : [];
109
107
  if (groups) {
110
- items.push(...Object.entries(groups).map(_ref3 => {
111
- let [key, {
112
- if: useIf,
113
- ...group
114
- }] = _ref3;
108
+ items.push(...Object.entries(groups).map(([key, {
109
+ if: useIf,
110
+ ...group
111
+ }]) => {
115
112
  const groupItems = getItemsFromScreens(Screen, group.screens);
116
113
  return () => {
117
114
  // Call unconditionally since screen configs may contain `useIf` hooks
@@ -135,11 +132,12 @@ export function createComponentForStaticNavigation(tree, displayName) {
135
132
  NavigatorComponent.displayName = displayName;
136
133
  return NavigatorComponent;
137
134
  }
138
-
139
135
  /**
140
136
  * Create a path config object from a static navigation config for deep linking.
141
137
  *
142
138
  * @param tree Static navigation config.
139
+ * @param options Additional options from `linking.config`.
140
+ * @param auto Whether to automatically generate paths for leaf screens.
143
141
  * @returns Path config object to use in linking config.
144
142
  *
145
143
  * @example
@@ -153,26 +151,76 @@ export function createComponentForStaticNavigation(tree, displayName) {
153
151
  * };
154
152
  * ```
155
153
  */
156
- export function createPathConfigForStaticNavigation(tree) {
157
- return Object.fromEntries(Object.entries(tree.config.screens).map(_ref4 => {
158
- let [key, item] = _ref4;
159
- const screenConfig = {};
160
- if ('linking' in item) {
161
- if (typeof item.linking === 'string') {
162
- screenConfig.path = item.linking;
163
- } else {
164
- Object.assign(screenConfig, item.linking);
165
- }
154
+ export function createPathConfigForStaticNavigation(tree, options, auto) {
155
+ let initialScreenConfig;
156
+ const createPathConfigForTree = (t, o, skipInitialDetection) => {
157
+ const createPathConfigForScreens = (screens, initialRouteName) => {
158
+ return Object.fromEntries(Object.entries(screens)
159
+ // Re-order to move the initial route to the front
160
+ // This way we can detect the initial route correctly
161
+ .sort(([a], [b]) => {
162
+ if (a === initialRouteName) {
163
+ return -1;
164
+ }
165
+ if (b === initialRouteName) {
166
+ return 1;
167
+ }
168
+ return 0;
169
+ }).map(([key, item]) => {
170
+ const screenConfig = {};
171
+ if ('linking' in item) {
172
+ if (typeof item.linking === 'string') {
173
+ screenConfig.path = item.linking;
174
+ } else {
175
+ Object.assign(screenConfig, item.linking);
176
+ }
177
+ }
178
+ let screens;
179
+ if ('config' in item) {
180
+ screens = createPathConfigForTree(item, undefined, skipInitialDetection || screenConfig.path != null);
181
+ } else if ('screen' in item && 'config' in item.screen && (item.screen.config.screens || item.screen.config.groups)) {
182
+ screens = createPathConfigForTree(item.screen, undefined, skipInitialDetection || screenConfig.path != null);
183
+ }
184
+ if (screens) {
185
+ screenConfig.screens = screens;
186
+ }
187
+ if (auto && !screenConfig.screens && !('linking' in item)) {
188
+ if (screenConfig.path) {
189
+ if (!skipInitialDetection) {
190
+ // Normalize the path to remove leading and trailing slashes
191
+ const path = screenConfig.path?.split('/').filter(Boolean).join('/');
192
+
193
+ // We encounter a leaf screen with empty path,
194
+ // Clear the initial screen config as it's not needed anymore
195
+ if (!skipInitialDetection && path === '') {
196
+ initialScreenConfig = undefined;
197
+ }
198
+ }
199
+ } else {
200
+ if (!skipInitialDetection && initialScreenConfig == null) {
201
+ initialScreenConfig = screenConfig;
202
+ }
203
+ screenConfig.path = key.replace(/([A-Z]+)/g, '-$1').replace(/^-/, '').toLowerCase();
204
+ }
205
+ }
206
+ return [key, screenConfig];
207
+ }).filter(([, screen]) => Object.keys(screen).length > 0));
208
+ };
209
+ const screens = t.config.screens ? createPathConfigForScreens(t.config.screens, o?.initialRouteName ?? t.config.initialRouteName) : {};
210
+ if (t.config.groups) {
211
+ Object.entries(t.config.groups).forEach(([, group]) => {
212
+ Object.assign(screens, createPathConfigForScreens(group.screens, o?.initialRouteName ?? t.config.initialRouteName));
213
+ });
166
214
  }
167
- if ('config' in item) {
168
- screenConfig.screens = createPathConfigForStaticNavigation(item);
169
- } else if ('screen' in item && 'config' in item.screen && item.screen.config.screens) {
170
- screenConfig.screens = createPathConfigForStaticNavigation(item.screen);
215
+ if (Object.keys(screens).length === 0) {
216
+ return undefined;
171
217
  }
172
- return [key, screenConfig];
173
- }).filter(_ref5 => {
174
- let [, screen] = _ref5;
175
- return Object.keys(screen).length > 0;
176
- }));
218
+ return screens;
219
+ };
220
+ const screens = createPathConfigForTree(tree, options, false);
221
+ if (auto && initialScreenConfig) {
222
+ initialScreenConfig.path = '';
223
+ }
224
+ return screens;
177
225
  }
178
226
  //# sourceMappingURL=StaticNavigation.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","isValidElementType","useRoute","MemoizedScreen","memo","_ref","component","route","children","createElement","getItemsFromScreens","Screen","screens","Object","entries","map","_ref2","name","item","props","useIf","isNavigator","screen","if","_if","rest","createComponentForStaticNavigation","Error","element","shouldRender","_extends","key","tree","displayName","Navigator","Group","config","groups","items","push","_ref3","group","groupItems","navigationKey","NavigatorComponent","createPathConfigForStaticNavigation","fromEntries","_ref4","screenConfig","linking","path","assign","filter","_ref5","keys","length"],"sourceRoot":"../../src","sources":["StaticNavigation.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["React","isValidElementType","useRoute","MemoizedScreen","memo","component","route","children","createElement","getItemsFromScreens","Screen","screens","Object","entries","map","name","item","props","useIf","isNavigator","screen","if","_if","rest","createComponentForStaticNavigation","Error","element","shouldRender","_extends","key","tree","displayName","Navigator","Group","config","groups","items","push","group","groupItems","navigationKey","NavigatorComponent","createPathConfigForStaticNavigation","options","auto","initialScreenConfig","createPathConfigForTree","t","o","skipInitialDetection","createPathConfigForScreens","initialRouteName","fromEntries","sort","a","b","screenConfig","linking","path","assign","undefined","split","filter","Boolean","join","replace","toLowerCase","keys","length","forEach"],"sourceRoot":"../../src","sources":["StaticNavigation.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","UnhandledActionContext","createContext","undefined"],"sourceRoot":"../../src","sources":["UnhandledActionContext.tsx"],"mappings":"AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAO,MAAMC,sBAAsB,gBAAGD,KAAK,CAACE,aAAa,CAEvDC,SAAS,CAAC"}
1
+ {"version":3,"names":["React","UnhandledActionContext","createContext","undefined"],"sourceRoot":"../../src","sources":["UnhandledActionContext.tsx"],"mappings":"AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAO,MAAMC,sBAAsB,gBAAGD,KAAK,CAACE,aAAa,CAEvDC,SAAS,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["checkDuplicateRouteNames","state","duplicates","getRouteNames","location","routes","forEach","route","currentLocation","name","routeNames","routeName","push"],"sourceRoot":"../../src","sources":["checkDuplicateRouteNames.tsx"],"mappings":"AAEA,OAAO,SAASA,wBAAwBA,CAACC,KAAsB,EAAE;EAC/D,MAAMC,UAAsB,GAAG,EAAE;EAEjC,MAAMC,aAAa,GAAGA,CACpBC,QAAgB,EAChBH,KAAsD,KACnD;IACHA,KAAK,CAACI,MAAM,CAACC,OAAO,CAAEC,KAA+B,IAAK;MACxD,MAAMC,eAAe,GAAGJ,QAAQ,GAC3B,GAAEA,QAAS,MAAKG,KAAK,CAACE,IAAK,EAAC,GAC7BF,KAAK,CAACE,IAAI;MAEdF,KAAK,CAACN,KAAK,EAAES,UAAU,EAAEJ,OAAO,CAAEK,SAAS,IAAK;QAC9C,IAAIA,SAAS,KAAKJ,KAAK,CAACE,IAAI,EAAE;UAC5BP,UAAU,CAACU,IAAI,CAAC,CACdJ,eAAe,EACd,GAAEA,eAAgB,MAAKD,KAAK,CAACE,IAAK,EAAC,CACrC,CAAC;QACJ;MACF,CAAC,CAAC;MAEF,IAAIF,KAAK,CAACN,KAAK,EAAE;QACfE,aAAa,CAACK,eAAe,EAAED,KAAK,CAACN,KAAK,CAAC;MAC7C;IACF,CAAC,CAAC;EACJ,CAAC;EAEDE,aAAa,CAAC,EAAE,EAAEF,KAAK,CAAC;EAExB,OAAOC,UAAU;AACnB"}
1
+ {"version":3,"names":["checkDuplicateRouteNames","state","duplicates","getRouteNames","location","routes","forEach","route","currentLocation","name","routeNames","routeName","push"],"sourceRoot":"../../src","sources":["checkDuplicateRouteNames.tsx"],"mappings":"AAEA,OAAO,SAASA,wBAAwBA,CAACC,KAAsB,EAAE;EAC/D,MAAMC,UAAsB,GAAG,EAAE;EAEjC,MAAMC,aAAa,GAAGA,CACpBC,QAAgB,EAChBH,KAAsD,KACnD;IACHA,KAAK,CAACI,MAAM,CAACC,OAAO,CAAEC,KAA+B,IAAK;MACxD,MAAMC,eAAe,GAAGJ,QAAQ,GAC5B,GAAGA,QAAQ,MAAMG,KAAK,CAACE,IAAI,EAAE,GAC7BF,KAAK,CAACE,IAAI;MAEdF,KAAK,CAACN,KAAK,EAAES,UAAU,EAAEJ,OAAO,CAAEK,SAAS,IAAK;QAC9C,IAAIA,SAAS,KAAKJ,KAAK,CAACE,IAAI,EAAE;UAC5BP,UAAU,CAACU,IAAI,CAAC,CACdJ,eAAe,EACf,GAAGA,eAAe,MAAMD,KAAK,CAACE,IAAI,EAAE,CACrC,CAAC;QACJ;MACF,CAAC,CAAC;MAEF,IAAIF,KAAK,CAACN,KAAK,EAAE;QACfE,aAAa,CAACK,eAAe,EAAED,KAAK,CAACN,KAAK,CAAC;MAC7C;IACF,CAAC,CAAC;EACJ,CAAC;EAEDE,aAAa,CAAC,EAAE,EAAEF,KAAK,CAAC;EAExB,OAAOC,UAAU;AACnB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["checkSerializableWithoutCircularReference","o","seen","location","undefined","serializable","Object","prototype","toString","call","Array","isArray","reason","String","has","add","i","length","childResult","Set","key","checkSerializable"],"sourceRoot":"../../src","sources":["checkSerializable.tsx"],"mappings":"AAAA,MAAMA,yCAAyC,GAAGA,CAChDC,CAAyB,EACzBC,IAAc,EACdC,QAA6B,KAOtB;EACP,IACEF,CAAC,KAAKG,SAAS,IACfH,CAAC,KAAK,IAAI,IACV,OAAOA,CAAC,KAAK,SAAS,IACtB,OAAOA,CAAC,KAAK,QAAQ,IACrB,OAAOA,CAAC,KAAK,QAAQ,EACrB;IACA,OAAO;MAAEI,YAAY,EAAE;IAAK,CAAC;EAC/B;EAEA,IACEC,MAAM,CAACC,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACR,CAAC,CAAC,KAAK,iBAAiB,IACvD,CAACS,KAAK,CAACC,OAAO,CAACV,CAAC,CAAC,EACjB;IACA,OAAO;MACLI,YAAY,EAAE,KAAK;MACnBF,QAAQ;MACRS,MAAM,EAAE,OAAOX,CAAC,KAAK,UAAU,GAAG,UAAU,GAAGY,MAAM,CAACZ,CAAC;IACzD,CAAC;EACH;EAEA,IAAIC,IAAI,CAACY,GAAG,CAACb,CAAC,CAAC,EAAE;IACf,OAAO;MACLI,YAAY,EAAE,KAAK;MACnBO,MAAM,EAAE,oBAAoB;MAC5BT;IACF,CAAC;EACH;EAEAD,IAAI,CAACa,GAAG,CAACd,CAAC,CAAC;EAEX,IAAIS,KAAK,CAACC,OAAO,CAACV,CAAC,CAAC,EAAE;IACpB,KAAK,IAAIe,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGf,CAAC,CAACgB,MAAM,EAAED,CAAC,EAAE,EAAE;MACjC,MAAME,WAAW,GAAGlB,yCAAyC,CAC3DC,CAAC,CAACe,CAAC,CAAC,EACJ,IAAIG,GAAG,CAAMjB,IAAI,CAAC,EAClB,CAAC,GAAGC,QAAQ,EAAEa,CAAC,CACjB,CAAC;MAED,IAAI,CAACE,WAAW,CAACb,YAAY,EAAE;QAC7B,OAAOa,WAAW;MACpB;IACF;EACF,CAAC,MAAM;IACL,KAAK,MAAME,GAAG,IAAInB,CAAC,EAAE;MACnB,MAAMiB,WAAW,GAAGlB,yCAAyC,CAC3DC,CAAC,CAACmB,GAAG,CAAC,EACN,IAAID,GAAG,CAAMjB,IAAI,CAAC,EAClB,CAAC,GAAGC,QAAQ,EAAEiB,GAAG,CACnB,CAAC;MAED,IAAI,CAACF,WAAW,CAACb,YAAY,EAAE;QAC7B,OAAOa,WAAW;MACpB;IACF;EACF;EAEA,OAAO;IAAEb,YAAY,EAAE;EAAK,CAAC;AAC/B,CAAC;AAED,OAAO,SAASgB,iBAAiBA,CAACpB,CAAyB,EAAE;EAC3D,OAAOD,yCAAyC,CAACC,CAAC,EAAE,IAAIkB,GAAG,CAAM,CAAC,EAAE,EAAE,CAAC;AACzE"}
1
+ {"version":3,"names":["checkSerializableWithoutCircularReference","o","seen","location","undefined","serializable","Object","prototype","toString","call","Array","isArray","reason","String","has","add","i","length","childResult","Set","key","checkSerializable"],"sourceRoot":"../../src","sources":["checkSerializable.tsx"],"mappings":"AAAA,MAAMA,yCAAyC,GAAGA,CAChDC,CAAyB,EACzBC,IAAc,EACdC,QAA6B,KAOtB;EACP,IACEF,CAAC,KAAKG,SAAS,IACfH,CAAC,KAAK,IAAI,IACV,OAAOA,CAAC,KAAK,SAAS,IACtB,OAAOA,CAAC,KAAK,QAAQ,IACrB,OAAOA,CAAC,KAAK,QAAQ,EACrB;IACA,OAAO;MAAEI,YAAY,EAAE;IAAK,CAAC;EAC/B;EAEA,IACEC,MAAM,CAACC,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACR,CAAC,CAAC,KAAK,iBAAiB,IACvD,CAACS,KAAK,CAACC,OAAO,CAACV,CAAC,CAAC,EACjB;IACA,OAAO;MACLI,YAAY,EAAE,KAAK;MACnBF,QAAQ;MACRS,MAAM,EAAE,OAAOX,CAAC,KAAK,UAAU,GAAG,UAAU,GAAGY,MAAM,CAACZ,CAAC;IACzD,CAAC;EACH;EAEA,IAAIC,IAAI,CAACY,GAAG,CAACb,CAAC,CAAC,EAAE;IACf,OAAO;MACLI,YAAY,EAAE,KAAK;MACnBO,MAAM,EAAE,oBAAoB;MAC5BT;IACF,CAAC;EACH;EAEAD,IAAI,CAACa,GAAG,CAACd,CAAC,CAAC;EAEX,IAAIS,KAAK,CAACC,OAAO,CAACV,CAAC,CAAC,EAAE;IACpB,KAAK,IAAIe,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGf,CAAC,CAACgB,MAAM,EAAED,CAAC,EAAE,EAAE;MACjC,MAAME,WAAW,GAAGlB,yCAAyC,CAC3DC,CAAC,CAACe,CAAC,CAAC,EACJ,IAAIG,GAAG,CAAMjB,IAAI,CAAC,EAClB,CAAC,GAAGC,QAAQ,EAAEa,CAAC,CACjB,CAAC;MAED,IAAI,CAACE,WAAW,CAACb,YAAY,EAAE;QAC7B,OAAOa,WAAW;MACpB;IACF;EACF,CAAC,MAAM;IACL,KAAK,MAAME,GAAG,IAAInB,CAAC,EAAE;MACnB,MAAMiB,WAAW,GAAGlB,yCAAyC,CAC3DC,CAAC,CAACmB,GAAG,CAAC,EACN,IAAID,GAAG,CAAMjB,IAAI,CAAC,EAClB,CAAC,GAAGC,QAAQ,EAAEiB,GAAG,CACnB,CAAC;MAED,IAAI,CAACF,WAAW,CAACb,YAAY,EAAE;QAC7B,OAAOa,WAAW;MACpB;IACF;EACF;EAEA,OAAO;IAAEb,YAAY,EAAE;EAAK,CAAC;AAC/B,CAAC;AAED,OAAO,SAASgB,iBAAiBA,CAACpB,CAAyB,EAAE;EAC3D,OAAOD,yCAAyC,CAACC,CAAC,EAAE,IAAIkB,GAAG,CAAM,CAAC,EAAE,EAAE,CAAC;AACzE","ignoreList":[]}
@@ -16,8 +16,7 @@ export function createNavigationContainerRef() {
16
16
  set current(value) {
17
17
  current = value;
18
18
  if (value != null) {
19
- Object.entries(listeners).forEach(_ref => {
20
- let [event, callbacks] = _ref;
19
+ Object.entries(listeners).forEach(([event, callbacks]) => {
21
20
  callbacks.forEach(callback => {
22
21
  value.addListener(event, callback);
23
22
  });
@@ -31,10 +30,7 @@ export function createNavigationContainerRef() {
31
30
  return current.isReady();
32
31
  },
33
32
  ...methods.reduce((acc, name) => {
34
- acc[name] = function () {
35
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
36
- args[_key] = arguments[_key];
37
- }
33
+ acc[name] = (...args) => {
38
34
  if (current == null) {
39
35
  switch (name) {
40
36
  case 'addListener':
@@ -1 +1 @@
1
- {"version":3,"names":["CommonActions","NOT_INITIALIZED_ERROR","createNavigationContainerRef","methods","Object","keys","listeners","removeListener","event","callback","filter","cb","current","ref","value","entries","forEach","_ref","callbacks","addListener","isReady","reduce","acc","name","_len","arguments","length","args","Array","_key","push","console","error"],"sourceRoot":"../../src","sources":["createNavigationContainerRef.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["CommonActions","NOT_INITIALIZED_ERROR","createNavigationContainerRef","methods","Object","keys","listeners","removeListener","event","callback","filter","cb","current","ref","value","entries","forEach","callbacks","addListener","isReady","reduce","acc","name","args","push","console","error"],"sourceRoot":"../../src","sources":["createNavigationContainerRef.tsx"],"mappings":"AAAA,SAASA,aAAa,QAAQ,2BAA2B;AAQzD,OAAO,MAAMC,qBAAqB,GAChC,+QAA+Q;AAEjR,OAAO,SAASC,4BAA4BA,CAAA,EAEM;EAChD,MAAMC,OAAO,GAAG,CACd,GAAGC,MAAM,CAACC,IAAI,CAACL,aAAa,CAAC,EAC7B,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,mBAAmB,CACX;EAEV,MAAMM,SAAuD,GAAG,CAAC,CAAC;EAElE,MAAMC,cAAc,GAAGA,CACrBC,KAAa,EACbC,QAAkC,KAC/B;IACH,IAAIH,SAAS,CAACE,KAAK,CAAC,EAAE;MACpBF,SAAS,CAACE,KAAK,CAAC,GAAGF,SAAS,CAACE,KAAK,CAAC,CAACE,MAAM,CAAEC,EAAE,IAAKA,EAAE,KAAKF,QAAQ,CAAC;IACrE;EACF,CAAC;EAED,IAAIG,OAAiD,GAAG,IAAI;EAE5D,MAAMC,GAAiD,GAAG;IACxD,IAAID,OAAOA,CAAA,EAAG;MACZ,OAAOA,OAAO;IAChB,CAAC;IACD,IAAIA,OAAOA,CAACE,KAA+C,EAAE;MAC3DF,OAAO,GAAGE,KAAK;MAEf,IAAIA,KAAK,IAAI,IAAI,EAAE;QACjBV,MAAM,CAACW,OAAO,CAACT,SAAS,CAAC,CAACU,OAAO,CAAC,CAAC,CAACR,KAAK,EAAES,SAAS,CAAC,KAAK;UACxDA,SAAS,CAACD,OAAO,CAAEP,QAAQ,IAAK;YAC9BK,KAAK,CAACI,WAAW,CACfV,KAAK,EACLC,QACF,CAAC;UACH,CAAC,CAAC;QACJ,CAAC,CAAC;MACJ;IACF,CAAC;IACDU,OAAO,EAAEA,CAAA,KAAM;MACb,IAAIP,OAAO,IAAI,IAAI,EAAE;QACnB,OAAO,KAAK;MACd;MAEA,OAAOA,OAAO,CAACO,OAAO,CAAC,CAAC;IAC1B,CAAC;IACD,GAAGhB,OAAO,CAACiB,MAAM,CAAM,CAACC,GAAG,EAAEC,IAAI,KAAK;MACpCD,GAAG,CAACC,IAAI,CAAC,GAAG,CAAC,GAAGC,IAAW,KAAK;QAC9B,IAAIX,OAAO,IAAI,IAAI,EAAE;UACnB,QAAQU,IAAI;YACV,KAAK,aAAa;cAAE;gBAClB,MAAM,CAACd,KAAK,EAAEC,QAAQ,CAAC,GAAGc,IAAI;gBAE9BjB,SAAS,CAACE,KAAK,CAAC,GAAGF,SAAS,CAACE,KAAK,CAAC,IAAI,EAAE;gBACzCF,SAAS,CAACE,KAAK,CAAC,CAACgB,IAAI,CAACf,QAAQ,CAAC;gBAE/B,OAAO,MAAMF,cAAc,CAACC,KAAK,EAAEC,QAAQ,CAAC;cAC9C;YACA,KAAK,gBAAgB;cAAE;gBACrB,MAAM,CAACD,KAAK,EAAEC,QAAQ,CAAC,GAAGc,IAAI;gBAE9BhB,cAAc,CAACC,KAAK,EAAEC,QAAQ,CAAC;gBAC/B;cACF;YACA;cACEgB,OAAO,CAACC,KAAK,CAACzB,qBAAqB,CAAC;UACxC;QACF,CAAC,MAAM;UACL;UACA,OAAOW,OAAO,CAACU,IAAI,CAAC,CAAC,GAAGC,IAAI,CAAC;QAC/B;MACF,CAAC;MACD,OAAOF,GAAG;IACZ,CAAC,EAAE,CAAC,CAAC;EACP,CAAC;EAED,OAAOR,GAAG;AACZ","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  import { Group } from './Group';
2
2
  import { Screen } from './Screen';
3
+
3
4
  /**
4
5
  * Higher order component to create a `Navigator` and `Screen` pair.
5
6
  * Custom navigators should wrap the navigator component in `createNavigator` before exporting.
@@ -1 +1 @@
1
- {"version":3,"names":["Group","Screen","createNavigatorFactory","Navigator","createNavigator","config"],"sourceRoot":"../../src","sources":["createNavigatorFactory.tsx"],"mappings":"AAGA,SAASA,KAAK,QAAQ,SAAS;AAC/B,SAASC,MAAM,QAAQ,UAAU;AAIjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAKpCC,SAA6B,EAAE;EA4B/B,SAASC,eAAeA,CAACC,MAAY,EAAO;IAC1C,IAAIA,MAAM,IAAI,IAAI,EAAE;MAClB,OAAO;QACLF,SAAS;QACTF,MAAM;QACND,KAAK;QACLK;MACF,CAAC;IACH;IAEA,OAAO;MACLF,SAAS;MACTF,MAAM;MACND;IACF,CAAC;EACH;EAEA,OAAOI,eAAe;AACxB"}
1
+ {"version":3,"names":["Group","Screen","createNavigatorFactory","Navigator","createNavigator","config"],"sourceRoot":"../../src","sources":["createNavigatorFactory.tsx"],"mappings":"AAEA,SAASA,KAAK,QAAQ,SAAS;AAC/B,SAASC,MAAM,QAAQ,UAAU;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAACC,SAAmC,EAAE;EAC1E,SAASC,eAAeA,CAACC,MAAY,EAAO;IAC1C,IAAIA,MAAM,IAAI,IAAI,EAAE;MAClB,OAAO;QACLF,SAAS;QACTF,MAAM;QACND,KAAK;QACLK;MACF,CAAC;IACH;IAEA,OAAO;MACLF,SAAS;MACTF,MAAM;MACND;IACF,CAAC;EACH;EAEA,OAAOI,eAAe;AACxB","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ export const isPlainObject = value => {
2
+ if (typeof value === 'object' && value !== null) {
3
+ return Object.getPrototypeOf(value) === Object.prototype;
4
+ }
5
+ return false;
6
+ };
7
+ export const deepFreeze = object => {
8
+ // We only freeze in development to catch issues early
9
+ // Don't freeze in production to avoid unnecessary performance overhead
10
+ if (process.env.NODE_ENV === 'production') {
11
+ return object;
12
+ }
13
+ if (Object.isFrozen(object)) {
14
+ return object;
15
+ }
16
+ if (!isPlainObject(object) && !Array.isArray(object)) {
17
+ return object;
18
+ }
19
+
20
+ // Freeze properties before freezing self
21
+ for (const key in object) {
22
+ if (Object.getOwnPropertyDescriptor(object, key)?.configurable) {
23
+ const value = object[key];
24
+ deepFreeze(value);
25
+ }
26
+ }
27
+ return Object.freeze(object);
28
+ };
29
+ //# sourceMappingURL=deepFreeze.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isPlainObject","value","Object","getPrototypeOf","prototype","deepFreeze","object","process","env","NODE_ENV","isFrozen","Array","isArray","key","getOwnPropertyDescriptor","configurable","freeze"],"sourceRoot":"../../src","sources":["deepFreeze.tsx"],"mappings":"AAAA,OAAO,MAAMA,aAAa,GAAIC,KAAc,IAAsB;EAChE,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,EAAE;IAC/C,OAAOC,MAAM,CAACC,cAAc,CAACF,KAAK,CAAC,KAAKC,MAAM,CAACE,SAAS;EAC1D;EAEA,OAAO,KAAK;AACd,CAAC;AAED,OAAO,MAAMC,UAAU,GAAQC,MAAS,IAAkB;EACxD;EACA;EACA,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;IACzC,OAAOH,MAAM;EACf;EAEA,IAAIJ,MAAM,CAACQ,QAAQ,CAACJ,MAAM,CAAC,EAAE;IAC3B,OAAOA,MAAM;EACf;EAEA,IAAI,CAACN,aAAa,CAACM,MAAM,CAAC,IAAI,CAACK,KAAK,CAACC,OAAO,CAACN,MAAM,CAAC,EAAE;IACpD,OAAOA,MAAM;EACf;;EAEA;EACA,KAAK,MAAMO,GAAG,IAAIP,MAAM,EAAE;IACxB,IAAIJ,MAAM,CAACY,wBAAwB,CAACR,MAAM,EAAEO,GAAG,CAAC,EAAEE,YAAY,EAAE;MAC9D,MAAMd,KAAK,GAAGK,MAAM,CAACO,GAAG,CAAC;MAEzBR,UAAU,CAACJ,KAAK,CAAC;IACnB;EACF;EAEA,OAAOC,MAAM,CAACc,MAAM,CAACV,MAAM,CAAC;AAC9B,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["findFocusedRoute","state","current","routes","index","route"],"sourceRoot":"../../src","sources":["findFocusedRoute.tsx"],"mappings":"AAEA,OAAO,SAASA,gBAAgBA,CAACC,KAAmB,EAAE;EACpD,IAAIC,OAAiC,GAAGD,KAAK;EAE7C,OAAOC,OAAO,EAAEC,MAAM,CAACD,OAAO,CAACE,KAAK,IAAI,CAAC,CAAC,CAACH,KAAK,IAAI,IAAI,EAAE;IACxDC,OAAO,GAAGA,OAAO,CAACC,MAAM,CAACD,OAAO,CAACE,KAAK,IAAI,CAAC,CAAC,CAACH,KAAK;EACpD;EAEA,MAAMI,KAAK,GAAGH,OAAO,EAAEC,MAAM,CAACD,OAAO,EAAEE,KAAK,IAAI,CAAC,CAAC;EAElD,OAAOC,KAAK;AACd"}
1
+ {"version":3,"names":["findFocusedRoute","state","current","routes","index","route"],"sourceRoot":"../../src","sources":["findFocusedRoute.tsx"],"mappings":"AAEA,OAAO,SAASA,gBAAgBA,CAACC,KAAmB,EAAE;EACpD,IAAIC,OAAiC,GAAGD,KAAK;EAE7C,OAAOC,OAAO,EAAEC,MAAM,CAACD,OAAO,CAACE,KAAK,IAAI,CAAC,CAAC,CAACH,KAAK,IAAI,IAAI,EAAE;IACxDC,OAAO,GAAGA,OAAO,CAACC,MAAM,CAACD,OAAO,CAACE,KAAK,IAAI,CAAC,CAAC,CAACH,KAAK;EACpD;EAEA,MAAMI,KAAK,GAAGH,OAAO,EAAEC,MAAM,CAACD,OAAO,EAAEE,KAAK,IAAI,CAAC,CAAC;EAElD,OAAOC,KAAK;AACd","ignoreList":[]}
@@ -73,8 +73,7 @@ const createNormalizedConfigItem = config => typeof config === 'object' && confi
73
73
  initialRouteName: config.initialRouteName,
74
74
  screens: config.screens != null ? createNormalizedConfigs(config.screens) : undefined
75
75
  } : {};
76
- const createNormalizedConfigs = options => Object.entries(options).reduce((acc, _ref) => {
77
- let [k, v] = _ref;
76
+ const createNormalizedConfigs = options => Object.entries(options).reduce((acc, [k, v]) => {
78
77
  acc[k] = createNormalizedConfigItem(v);
79
78
  return acc;
80
79
  }, {});
@@ -1 +1 @@
1
- {"version":3,"names":["getActionFromState","state","options","normalizedConfig","createNormalizedConfigItem","routes","index","slice","length","undefined","key","name","initialRouteName","type","payload","route","current","config","screens","params","path","Object","assign","initial","screen","createNormalizedConfigs","entries","reduce","acc","_ref","k","v"],"sourceRoot":"../../src","sources":["getActionFromState.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["getActionFromState","state","options","normalizedConfig","createNormalizedConfigItem","routes","index","slice","length","undefined","key","name","initialRouteName","type","payload","route","current","config","screens","params","path","Object","assign","initial","screen","createNormalizedConfigs","entries","reduce","acc","k","v"],"sourceRoot":"../../src","sources":["getActionFromState.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["CHILD_STATE","getFocusedRouteNameFromRoute","route","state","params","routeName","routes","index","type","length","name","screen","undefined"],"sourceRoot":"../../src","sources":["getFocusedRouteNameFromRoute.tsx"],"mappings":"AAEA,SAASA,WAAW,QAAQ,iBAAiB;AAE7C,OAAO,SAASC,4BAA4BA,CAC1CC,KAA6B,EACT;EACpB;EACA,MAAMC,KAAK,GAAGD,KAAK,CAACF,WAAW,CAAC,IAAIE,KAAK,CAACC,KAAK;EAC/C,MAAMC,MAAM,GAAGF,KAAK,CAACE,MAA0C;EAE/D,MAAMC,SAAS,GAAGF,KAAK;EACnB;EACAA,KAAK,CAACG,MAAM;EACV;EACA;EACAH,KAAK,CAACI,KAAK,KACR,OAAOJ,KAAK,CAACK,IAAI,KAAK,QAAQ,IAAIL,KAAK,CAACK,IAAI,KAAK,OAAO,GACrD,CAAC,GACDL,KAAK,CAACG,MAAM,CAACG,MAAM,GAAG,CAAC,CAAC,CAC/B,CAACC,IAAI;EACN;EACA,OAAON,MAAM,EAAEO,MAAM,KAAK,QAAQ,GAChCP,MAAM,CAACO,MAAM,GACbC,SAAS;EAEf,OAAOP,SAAS;AAClB"}
1
+ {"version":3,"names":["CHILD_STATE","getFocusedRouteNameFromRoute","route","state","params","routeName","routes","index","type","length","name","screen","undefined"],"sourceRoot":"../../src","sources":["getFocusedRouteNameFromRoute.tsx"],"mappings":"AAEA,SAASA,WAAW,QAAQ,iBAAiB;AAE7C,OAAO,SAASC,4BAA4BA,CAC1CC,KAA6B,EACT;EACpB;EACA,MAAMC,KAAK,GAAGD,KAAK,CAACF,WAAW,CAAC,IAAIE,KAAK,CAACC,KAAK;EAC/C,MAAMC,MAAM,GAAGF,KAAK,CAACE,MAA0C;EAE/D,MAAMC,SAAS,GAAGF,KAAK;EACnB;EACAA,KAAK,CAACG,MAAM;EACV;EACA;EACAH,KAAK,CAACI,KAAK,KACR,OAAOJ,KAAK,CAACK,IAAI,KAAK,QAAQ,IAAIL,KAAK,CAACK,IAAI,KAAK,OAAO,GACrD,CAAC,GACDL,KAAK,CAACG,MAAM,CAACG,MAAM,GAAG,CAAC,CAAC,CAC/B,CAACC,IAAI;EACN;EACA,OAAON,MAAM,EAAEO,MAAM,KAAK,QAAQ,GAChCP,MAAM,CAACO,MAAM,GACbC,SAAS;EAEf,OAAOP,SAAS;AAClB","ignoreList":[]}
@@ -66,10 +66,7 @@ export function getPathFromState(state, options) {
66
66
  nestedRouteNames.push(route.name);
67
67
  if (route.params) {
68
68
  const stringify = currentOptions[route.name]?.stringify;
69
- const currentParams = Object.fromEntries(Object.entries(route.params).map(_ref => {
70
- let [key, value] = _ref;
71
- return [key, stringify?.[key] ? stringify[key](value) : String(value)];
72
- }));
69
+ const currentParams = Object.fromEntries(Object.entries(route.params).map(([key, value]) => [key, stringify?.[key] ? stringify[key](value) : String(value)]));
73
70
  if (pattern) {
74
71
  Object.assign(allParams, currentParams);
75
72
  }
@@ -132,7 +129,10 @@ export function getPathFromState(state, options) {
132
129
  // Optional params without value assigned in route.params should be ignored
133
130
  return '';
134
131
  }
135
- return encodeURIComponent(value);
132
+
133
+ // Valid characters according to
134
+ // https://datatracker.ietf.org/doc/html/rfc3986#section-3.3 (see pchar definition)
135
+ return String(value).replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]/g, char => encodeURIComponent(char));
136
136
  }
137
137
  return encodeURIComponent(p);
138
138
  }).join('/');
@@ -172,12 +172,7 @@ export function getPathFromState(state, options) {
172
172
  return path;
173
173
  }
174
174
  const getParamName = pattern => pattern.replace(/^:/, '').replace(/\?$/, '');
175
- const joinPaths = function () {
176
- for (var _len = arguments.length, paths = new Array(_len), _key = 0; _key < _len; _key++) {
177
- paths[_key] = arguments[_key];
178
- }
179
- return [].concat(...paths.map(p => p.split('/'))).filter(Boolean).join('/');
180
- };
175
+ const joinPaths = (...paths) => [].concat(...paths.map(p => p.split('/'))).filter(Boolean).join('/');
181
176
  const createConfigItem = (config, parentPattern) => {
182
177
  if (typeof config === 'string') {
183
178
  // If a string is specified as the value of the key(e.g. Foo: '/path'), use it as the pattern
@@ -201,8 +196,7 @@ const createConfigItem = (config, parentPattern) => {
201
196
  screens
202
197
  };
203
198
  };
204
- const createNormalizedConfigs = (options, pattern) => Object.fromEntries(Object.entries(options).map(_ref2 => {
205
- let [name, c] = _ref2;
199
+ const createNormalizedConfigs = (options, pattern) => Object.fromEntries(Object.entries(options).map(([name, c]) => {
206
200
  const result = createConfigItem(c, pattern);
207
201
  return [name, result];
208
202
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["queryString","validatePathConfig","getActiveRoute","state","route","index","routes","length","getPathFromState","options","Error","configs","screens","createNormalizedConfigs","path","current","allParams","pattern","focusedParams","focusedRoute","currentOptions","nestedRouteNames","hasNext","name","push","params","stringify","currentParams","Object","fromEntries","entries","map","_ref","key","value","String","assign","split","filter","p","startsWith","forEach","getParamName","undefined","nextRoute","nestedConfig","join","endsWith","encodeURIComponent","param","query","sort","replace","joinPaths","_len","arguments","paths","Array","_key","concat","Boolean","createConfigItem","config","parentPattern","exact","_ref2","c","result"],"sourceRoot":"../../src","sources":["getPathFromState.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["queryString","validatePathConfig","getActiveRoute","state","route","index","routes","length","getPathFromState","options","Error","configs","screens","createNormalizedConfigs","path","current","allParams","pattern","focusedParams","focusedRoute","currentOptions","nestedRouteNames","hasNext","name","push","params","stringify","currentParams","Object","fromEntries","entries","map","key","value","String","assign","split","filter","p","startsWith","forEach","getParamName","undefined","nextRoute","nestedConfig","join","endsWith","replace","char","encodeURIComponent","param","query","sort","joinPaths","paths","concat","Boolean","createConfigItem","config","parentPattern","exact","c","result"],"sourceRoot":"../../src","sources":["getPathFromState.tsx"],"mappings":"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","ignoreList":[]}
@@ -172,12 +172,7 @@ export function getStateFromPath(path, options) {
172
172
  }
173
173
  return result;
174
174
  }
175
- const joinPaths = function () {
176
- for (var _len = arguments.length, paths = new Array(_len), _key = 0; _key < _len; _key++) {
177
- paths[_key] = arguments[_key];
178
- }
179
- return [].concat(...paths.map(p => p.split('/'))).filter(Boolean).join('/');
180
- };
175
+ const joinPaths = (...paths) => [].concat(...paths.map(p => p.split('/'))).filter(Boolean).join('/');
181
176
  const matchAgainstConfigs = (remaining, configs) => {
182
177
  let routes;
183
178
  let remainingPath = remaining;
@@ -191,17 +186,54 @@ const matchAgainstConfigs = (remaining, configs) => {
191
186
 
192
187
  // If our regex matches, we need to extract params from the path
193
188
  if (match) {
194
- const matchedParams = config.pattern?.split('/').filter(p => p.startsWith(':')).reduce((acc, p, i) => Object.assign(acc, {
189
+ const matchResult = config.pattern?.split('/').reduce((acc, p, index) => {
190
+ if (!p.startsWith(':')) {
191
+ return acc;
192
+ }
193
+
194
+ // Path parameter so increment position for the segment
195
+ acc.pos += 1;
196
+ const decodedParamSegment = decodeURIComponent(
195
197
  // The param segments appear every second item starting from 2 in the regex match result
196
- [p]: match[(i + 1) * 2].replace(/\//, '')
197
- }), {});
198
+ match[(acc.pos + 1) * 2]
199
+ // Remove trailing slash
200
+ .replace(/\/$/, ''));
201
+ Object.assign(acc.matchedParams, {
202
+ [p]: Object.assign(acc.matchedParams[p] || {}, {
203
+ [index]: decodedParamSegment
204
+ })
205
+ });
206
+ return acc;
207
+ }, {
208
+ pos: -1,
209
+ matchedParams: {}
210
+ });
211
+ const matchedParams = matchResult.matchedParams || {};
198
212
  routes = config.routeNames.map(name => {
199
- const config = configs.find(c => c.screen === name);
200
- const params = config?.path?.split('/').filter(p => p.startsWith(':')).reduce((acc, p) => {
201
- const value = matchedParams[p];
213
+ const routeConfig = configs.find(c => {
214
+ // Check matching name AND pattern in case same screen is used at different levels in config
215
+ return c.screen === name && config.pattern.startsWith(c.pattern);
216
+ });
217
+
218
+ // Normalize pattern to remove any leading, trailing slashes, duplicate slashes etc.
219
+ const normalizedPath = routeConfig?.path.split('/').filter(Boolean).join('/');
220
+
221
+ // Get the number of segments in the initial pattern
222
+ const numInitialSegments = routeConfig?.pattern
223
+ // Extract the prefix from the pattern by removing the ending path pattern (e.g pattern=`a/b/c/d` and normalizedPath=`c/d` becomes `a/b`)
224
+ .replace(new RegExp(`${escape(normalizedPath)}$`), '')?.split('/').length;
225
+ const params = normalizedPath?.split('/').reduce((acc, p, index) => {
226
+ if (!p.startsWith(':')) {
227
+ return acc;
228
+ }
229
+
230
+ // Get the real index of the path parameter in the matched path
231
+ // by offsetting by the number of segments in the initial pattern
232
+ const offset = numInitialSegments ? numInitialSegments - 1 : 0;
233
+ const value = matchedParams[p]?.[index + offset];
202
234
  if (value) {
203
235
  const key = p.replace(/^:/, '').replace(/\?$/, '');
204
- acc[key] = config.parse?.[key] ? config.parse[key](value) : value;
236
+ acc[key] = routeConfig?.parse?.[key] ? routeConfig.parse[key](value) : value;
205
237
  }
206
238
  return acc;
207
239
  }, {});
@@ -224,11 +256,7 @@ const matchAgainstConfigs = (remaining, configs) => {
224
256
  remainingPath
225
257
  };
226
258
  };
227
- const createNormalizedConfigs = function (screen, routeConfig) {
228
- let routeNames = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
229
- let initials = arguments.length > 3 ? arguments[3] : undefined;
230
- let parentScreens = arguments.length > 4 ? arguments[4] : undefined;
231
- let parentPattern = arguments.length > 5 ? arguments[5] : undefined;
259
+ const createNormalizedConfigs = (screen, routeConfig, routeNames = [], initials, parentScreens, parentPattern) => {
232
260
  const configs = [];
233
261
  routeNames.push(screen);
234
262
  parentScreens.push(screen);