@react-navigation/native 7.0.0-alpha.0 → 7.0.0-alpha.10

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 (238) hide show
  1. package/lib/commonjs/Link.js +16 -9
  2. package/lib/commonjs/Link.js.map +1 -1
  3. package/lib/commonjs/LinkingContext.js +8 -7
  4. package/lib/commonjs/LinkingContext.js.map +1 -1
  5. package/lib/commonjs/LocaleDirContext.js +12 -0
  6. package/lib/commonjs/LocaleDirContext.js.map +1 -0
  7. package/lib/commonjs/NavigationContainer.js +68 -32
  8. package/lib/commonjs/NavigationContainer.js.map +1 -1
  9. package/lib/commonjs/ServerContainer.js +6 -8
  10. package/lib/commonjs/ServerContainer.js.map +1 -1
  11. package/lib/commonjs/ServerContext.js +4 -6
  12. package/lib/commonjs/ServerContext.js.map +1 -1
  13. package/lib/commonjs/UnhandledLinkingContext.js +20 -0
  14. package/lib/commonjs/UnhandledLinkingContext.js.map +1 -0
  15. package/lib/commonjs/__stubs__/createStackNavigator.js +19 -0
  16. package/lib/commonjs/__stubs__/createStackNavigator.js.map +1 -0
  17. package/lib/commonjs/__stubs__/window.js +79 -0
  18. package/lib/commonjs/__stubs__/window.js.map +1 -0
  19. package/lib/commonjs/createMemoryHistory.js +5 -8
  20. package/lib/commonjs/createMemoryHistory.js.map +1 -1
  21. package/lib/commonjs/createStaticNavigation.js +8 -8
  22. package/lib/commonjs/createStaticNavigation.js.map +1 -1
  23. package/lib/commonjs/extractPathFromURL.js +4 -4
  24. package/lib/commonjs/extractPathFromURL.js.map +1 -1
  25. package/lib/commonjs/index.js +33 -34
  26. package/lib/commonjs/index.js.map +1 -1
  27. package/lib/commonjs/theming/DarkTheme.js +5 -5
  28. package/lib/commonjs/theming/DarkTheme.js.map +1 -1
  29. package/lib/commonjs/theming/DefaultTheme.js +5 -5
  30. package/lib/commonjs/theming/DefaultTheme.js.map +1 -1
  31. package/lib/commonjs/theming/fonts.js +65 -0
  32. package/lib/commonjs/theming/fonts.js.map +1 -0
  33. package/lib/commonjs/types.js.map +1 -1
  34. package/lib/commonjs/useBackButton.js +4 -20
  35. package/lib/commonjs/useBackButton.js.map +1 -1
  36. package/lib/commonjs/useBackButton.native.js +27 -0
  37. package/lib/commonjs/useBackButton.native.js.map +1 -0
  38. package/lib/commonjs/useDocumentTitle.js +6 -6
  39. package/lib/commonjs/useDocumentTitle.js.map +1 -1
  40. package/lib/commonjs/useDocumentTitle.native.js +1 -1
  41. package/lib/commonjs/useDocumentTitle.native.js.map +1 -1
  42. package/lib/commonjs/useLinkBuilder.js +80 -0
  43. package/lib/commonjs/useLinkBuilder.js.map +1 -0
  44. package/lib/commonjs/useLinkProps.js +23 -27
  45. package/lib/commonjs/useLinkProps.js.map +1 -1
  46. package/lib/commonjs/useLinkTo.js +30 -0
  47. package/lib/commonjs/useLinkTo.js.map +1 -0
  48. package/lib/commonjs/useLinking.js +39 -40
  49. package/lib/commonjs/useLinking.js.map +1 -1
  50. package/lib/commonjs/useLinking.native.js +33 -27
  51. package/lib/commonjs/useLinking.native.js.map +1 -1
  52. package/lib/commonjs/useLocale.js +23 -0
  53. package/lib/commonjs/useLocale.js.map +1 -0
  54. package/lib/commonjs/useScrollToTop.js +9 -7
  55. package/lib/commonjs/useScrollToTop.js.map +1 -1
  56. package/lib/commonjs/useThenable.js +4 -3
  57. package/lib/commonjs/useThenable.js.map +1 -1
  58. package/lib/commonjs/useUnhandledLinking.js +75 -0
  59. package/lib/commonjs/useUnhandledLinking.js.map +1 -0
  60. package/lib/module/Link.js +13 -5
  61. package/lib/module/Link.js.map +1 -1
  62. package/lib/module/LinkingContext.js +5 -3
  63. package/lib/module/LinkingContext.js.map +1 -1
  64. package/lib/module/LocaleDirContext.js +4 -0
  65. package/lib/module/LocaleDirContext.js.map +1 -0
  66. package/lib/module/NavigationContainer.js +60 -23
  67. package/lib/module/NavigationContainer.js.map +1 -1
  68. package/lib/module/ServerContainer.js +2 -2
  69. package/lib/module/ServerContainer.js.map +1 -1
  70. package/lib/module/ServerContext.js +1 -2
  71. package/lib/module/ServerContext.js.map +1 -1
  72. package/lib/module/UnhandledLinkingContext.js +12 -0
  73. package/lib/module/UnhandledLinkingContext.js.map +1 -0
  74. package/lib/module/__stubs__/createStackNavigator.js +11 -0
  75. package/lib/module/__stubs__/createStackNavigator.js.map +1 -0
  76. package/lib/module/__stubs__/window.js +73 -0
  77. package/lib/module/__stubs__/window.js.map +1 -0
  78. package/lib/module/createMemoryHistory.js +5 -8
  79. package/lib/module/createMemoryHistory.js.map +1 -1
  80. package/lib/module/createStaticNavigation.js +5 -4
  81. package/lib/module/createStaticNavigation.js.map +1 -1
  82. package/lib/module/extractPathFromURL.js +4 -4
  83. package/lib/module/extractPathFromURL.js.map +1 -1
  84. package/lib/module/index.js +12 -12
  85. package/lib/module/index.js.map +1 -1
  86. package/lib/module/theming/DarkTheme.js +4 -3
  87. package/lib/module/theming/DarkTheme.js.map +1 -1
  88. package/lib/module/theming/DefaultTheme.js +4 -3
  89. package/lib/module/theming/DefaultTheme.js.map +1 -1
  90. package/lib/module/theming/fonts.js +59 -0
  91. package/lib/module/theming/fonts.js.map +1 -0
  92. package/lib/module/types.js.map +1 -1
  93. package/lib/module/useBackButton.js +3 -17
  94. package/lib/module/useBackButton.js.map +1 -1
  95. package/lib/module/useBackButton.native.js +19 -0
  96. package/lib/module/useBackButton.native.js.map +1 -0
  97. package/lib/module/useDocumentTitle.js +4 -4
  98. package/lib/module/useDocumentTitle.js.map +1 -1
  99. package/lib/module/useDocumentTitle.native.js +1 -1
  100. package/lib/module/useDocumentTitle.native.js.map +1 -1
  101. package/lib/module/{useLinkTools.js → useLinkBuilder.js} +11 -11
  102. package/lib/module/useLinkBuilder.js.map +1 -0
  103. package/lib/module/useLinkProps.js +20 -23
  104. package/lib/module/useLinkProps.js.map +1 -1
  105. package/lib/module/useLinkTo.js +23 -0
  106. package/lib/module/useLinkTo.js.map +1 -0
  107. package/lib/module/useLinking.js +33 -36
  108. package/lib/module/useLinking.js.map +1 -1
  109. package/lib/module/useLinking.native.js +29 -22
  110. package/lib/module/useLinking.native.js.map +1 -1
  111. package/lib/module/useLocale.js +16 -0
  112. package/lib/module/useLocale.js.map +1 -0
  113. package/lib/module/useScrollToTop.js +8 -6
  114. package/lib/module/useScrollToTop.js.map +1 -1
  115. package/lib/module/useThenable.js +2 -1
  116. package/lib/module/useThenable.js.map +1 -1
  117. package/lib/module/useUnhandledLinking.js +69 -0
  118. package/lib/module/useUnhandledLinking.js.map +1 -0
  119. package/lib/typescript/src/Link.d.ts +3 -3
  120. package/lib/typescript/src/Link.d.ts.map +1 -1
  121. package/lib/typescript/src/LinkingContext.d.ts +2 -3
  122. package/lib/typescript/src/LinkingContext.d.ts.map +1 -1
  123. package/lib/typescript/src/LocaleDirContext.d.ts +4 -0
  124. package/lib/typescript/src/LocaleDirContext.d.ts.map +1 -0
  125. package/lib/typescript/src/NavigationContainer.d.ts +6 -6
  126. package/lib/typescript/src/NavigationContainer.d.ts.map +1 -1
  127. package/lib/typescript/src/ServerContainer.d.ts +2 -3
  128. package/lib/typescript/src/ServerContainer.d.ts.map +1 -1
  129. package/lib/typescript/src/ServerContext.d.ts +1 -2
  130. package/lib/typescript/src/ServerContext.d.ts.map +1 -1
  131. package/lib/typescript/src/UnhandledLinkingContext.d.ts +6 -0
  132. package/lib/typescript/src/UnhandledLinkingContext.d.ts.map +1 -0
  133. package/lib/typescript/src/__stubs__/createStackNavigator.d.ts +32 -0
  134. package/lib/typescript/src/__stubs__/createStackNavigator.d.ts.map +1 -0
  135. package/lib/typescript/src/{__mocks__ → __stubs__}/window.d.ts +2 -3
  136. package/lib/typescript/src/__stubs__/window.d.ts.map +1 -0
  137. package/lib/typescript/src/createMemoryHistory.d.ts +1 -1
  138. package/lib/typescript/src/createMemoryHistory.d.ts.map +1 -1
  139. package/lib/typescript/src/createStaticNavigation.d.ts +3 -3
  140. package/lib/typescript/src/createStaticNavigation.d.ts.map +1 -1
  141. package/lib/typescript/src/extractPathFromURL.d.ts +1 -1
  142. package/lib/typescript/src/extractPathFromURL.d.ts.map +1 -1
  143. package/lib/typescript/src/index.d.ts +12 -12
  144. package/lib/typescript/src/index.d.ts.map +1 -1
  145. package/lib/typescript/src/theming/DarkTheme.d.ts +1 -2
  146. package/lib/typescript/src/theming/DarkTheme.d.ts.map +1 -1
  147. package/lib/typescript/src/theming/DefaultTheme.d.ts +1 -2
  148. package/lib/typescript/src/theming/DefaultTheme.d.ts.map +1 -1
  149. package/lib/typescript/src/theming/fonts.d.ts +53 -0
  150. package/lib/typescript/src/theming/fonts.d.ts.map +1 -0
  151. package/lib/typescript/src/types.d.ts +41 -11
  152. package/lib/typescript/src/types.d.ts.map +1 -1
  153. package/lib/typescript/src/useBackButton.d.ts +2 -2
  154. package/lib/typescript/src/useBackButton.d.ts.map +1 -1
  155. package/lib/typescript/src/useBackButton.native.d.ts +4 -0
  156. package/lib/typescript/src/useBackButton.native.d.ts.map +1 -0
  157. package/lib/typescript/src/useDocumentTitle.d.ts +1 -1
  158. package/lib/typescript/src/useDocumentTitle.d.ts.map +1 -1
  159. package/lib/typescript/src/useDocumentTitle.native.d.ts +1 -1
  160. package/lib/typescript/src/useDocumentTitle.native.d.ts.map +1 -1
  161. package/lib/typescript/src/useLinkBuilder.d.ts +25 -0
  162. package/lib/typescript/src/useLinkBuilder.d.ts.map +1 -0
  163. package/lib/typescript/src/useLinkProps.d.ts +3 -3
  164. package/lib/typescript/src/useLinkProps.d.ts.map +1 -1
  165. package/lib/typescript/src/useLinkTo.d.ts +6 -0
  166. package/lib/typescript/src/useLinkTo.d.ts.map +1 -0
  167. package/lib/typescript/src/useLinking.d.ts +8 -20
  168. package/lib/typescript/src/useLinking.d.ts.map +1 -1
  169. package/lib/typescript/src/useLinking.native.d.ts +4 -20
  170. package/lib/typescript/src/useLinking.native.d.ts.map +1 -1
  171. package/lib/typescript/src/useLocale.d.ts +7 -0
  172. package/lib/typescript/src/useLocale.d.ts.map +1 -0
  173. package/lib/typescript/src/useScrollToTop.d.ts +1 -1
  174. package/lib/typescript/src/useScrollToTop.d.ts.map +1 -1
  175. package/lib/typescript/src/useThenable.d.ts +1 -1
  176. package/lib/typescript/src/useThenable.d.ts.map +1 -1
  177. package/lib/typescript/src/useUnhandledLinking.d.ts +7 -0
  178. package/lib/typescript/src/useUnhandledLinking.d.ts.map +1 -0
  179. package/package.json +15 -15
  180. package/src/Link.tsx +12 -3
  181. package/src/LinkingContext.tsx +9 -5
  182. package/src/LocaleDirContext.tsx +7 -0
  183. package/src/NavigationContainer.tsx +90 -36
  184. package/src/ServerContainer.tsx +2 -2
  185. package/src/ServerContext.tsx +1 -3
  186. package/src/UnhandledLinkingContext.tsx +18 -0
  187. package/src/{__mocks__ → __stubs__}/createStackNavigator.tsx +1 -3
  188. package/src/{__mocks__ → __stubs__}/window.tsx +8 -8
  189. package/src/createMemoryHistory.tsx +1 -1
  190. package/src/createStaticNavigation.tsx +8 -8
  191. package/src/extractPathFromURL.tsx +5 -2
  192. package/src/index.tsx +12 -12
  193. package/src/theming/DarkTheme.tsx +3 -3
  194. package/src/theming/DefaultTheme.tsx +3 -3
  195. package/src/theming/fonts.tsx +63 -0
  196. package/src/types.tsx +55 -11
  197. package/src/useBackButton.native.tsx +33 -0
  198. package/src/useBackButton.tsx +4 -26
  199. package/src/useDocumentTitle.native.tsx +1 -1
  200. package/src/useDocumentTitle.tsx +1 -1
  201. package/src/{useLinkTools.tsx → useLinkBuilder.tsx} +9 -9
  202. package/src/useLinkProps.tsx +27 -23
  203. package/src/useLinkTo.tsx +30 -0
  204. package/src/useLinking.native.tsx +28 -22
  205. package/src/useLinking.tsx +46 -44
  206. package/src/useLocale.tsx +18 -0
  207. package/src/useScrollToTop.tsx +14 -10
  208. package/src/useThenable.tsx +2 -1
  209. package/src/useUnhandledLinking.tsx +91 -0
  210. package/lib/commonjs/theming/ThemeContext.js +0 -16
  211. package/lib/commonjs/theming/ThemeContext.js.map +0 -1
  212. package/lib/commonjs/theming/ThemeProvider.js +0 -21
  213. package/lib/commonjs/theming/ThemeProvider.js.map +0 -1
  214. package/lib/commonjs/theming/useTheme.js +0 -16
  215. package/lib/commonjs/theming/useTheme.js.map +0 -1
  216. package/lib/commonjs/useLinkTools.js +0 -81
  217. package/lib/commonjs/useLinkTools.js.map +0 -1
  218. package/lib/module/theming/ThemeContext.js +0 -6
  219. package/lib/module/theming/ThemeContext.js.map +0 -1
  220. package/lib/module/theming/ThemeProvider.js +0 -12
  221. package/lib/module/theming/ThemeProvider.js.map +0 -1
  222. package/lib/module/theming/useTheme.js +0 -7
  223. package/lib/module/theming/useTheme.js.map +0 -1
  224. package/lib/module/useLinkTools.js.map +0 -1
  225. package/lib/typescript/src/__mocks__/createStackNavigator.d.ts +0 -57
  226. package/lib/typescript/src/__mocks__/createStackNavigator.d.ts.map +0 -1
  227. package/lib/typescript/src/__mocks__/window.d.ts.map +0 -1
  228. package/lib/typescript/src/theming/ThemeContext.d.ts +0 -5
  229. package/lib/typescript/src/theming/ThemeContext.d.ts.map +0 -1
  230. package/lib/typescript/src/theming/ThemeProvider.d.ts +0 -9
  231. package/lib/typescript/src/theming/ThemeProvider.d.ts.map +0 -1
  232. package/lib/typescript/src/theming/useTheme.d.ts +0 -2
  233. package/lib/typescript/src/theming/useTheme.d.ts.map +0 -1
  234. package/lib/typescript/src/useLinkTools.d.ts +0 -33
  235. package/lib/typescript/src/useLinkTools.d.ts.map +0 -1
  236. package/src/theming/ThemeContext.tsx +0 -10
  237. package/src/theming/ThemeProvider.tsx +0 -15
  238. package/src/theming/useTheme.tsx +0 -9
@@ -1,17 +1,17 @@
1
1
  import { getPathFromState, NavigationContainerRefContext, NavigationHelpersContext } from '@react-navigation/core';
2
2
  import * as React from 'react';
3
3
  import { Platform } from 'react-native';
4
- import LinkingContext from './LinkingContext';
4
+ import { LinkingContext } from './LinkingContext';
5
5
  const getStateFromParams = params => {
6
- if (params !== null && params !== void 0 && params.state) {
6
+ if (params?.state) {
7
7
  return params.state;
8
8
  }
9
- if (params !== null && params !== void 0 && params.screen) {
9
+ if (params?.screen) {
10
10
  return {
11
11
  routes: [{
12
12
  name: params.screen,
13
13
  params: params.params,
14
- // @ts-expect-error
14
+ // @ts-expect-error this is fine 🔥
15
15
  state: params.screen ? getStateFromParams(params.params) : undefined
16
16
  }]
17
17
  };
@@ -27,7 +27,7 @@ const getStateFromParams = params => {
27
27
  * @param props.href Optional absolute path to use for the href (e.g. `/feeds/hot`).
28
28
  * @param props.action Optional action to use for in-page navigation. By default, the path is parsed to an action based on linking config.
29
29
  */
30
- export default function useLinkProps(_ref) {
30
+ export function useLinkProps(_ref) {
31
31
  let {
32
32
  screen,
33
33
  params,
@@ -40,21 +40,18 @@ export default function useLinkProps(_ref) {
40
40
  options
41
41
  } = React.useContext(LinkingContext);
42
42
  const onPress = e => {
43
- var _e$currentTarget;
44
- let shouldHandle = false;
45
- if (Platform.OS !== 'web' || !e) {
46
- shouldHandle = e ? !e.defaultPrevented : true;
47
- } else if (!e.defaultPrevented &&
48
- // onPress prevented default
49
43
  // @ts-expect-error: these properties exist on web, but not in React Native
50
- !(e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) && (
51
- // ignore clicks with modifier keys
44
+ const hasModifierKey = e.metaKey || e.altKey || e.ctrlKey || e.shiftKey; // ignore clicks with modifier keys
52
45
  // @ts-expect-error: these properties exist on web, but not in React Native
53
- e.button == null || e.button === 0) &&
54
- // ignore everything but left clicks
46
+ const isLeftClick = e.button == null || e.button === 0; // only handle left clicks
47
+ const isSelfTarget = [undefined, null, '', 'self'].includes(
55
48
  // @ts-expect-error: these properties exist on web, but not in React Native
56
- [undefined, null, '', 'self'].includes((_e$currentTarget = e.currentTarget) === null || _e$currentTarget === void 0 ? void 0 : _e$currentTarget.target) // let browser handle "target=_blank" etc.
57
- ) {
49
+ e.currentTarget?.target); // let browser handle "target=_blank" etc.
50
+
51
+ let shouldHandle = false;
52
+ if (Platform.OS !== 'web' || !e) {
53
+ shouldHandle = true;
54
+ } else if (!hasModifierKey && isLeftClick && isSelfTarget) {
58
55
  e.preventDefault();
59
56
  shouldHandle = true;
60
57
  }
@@ -68,22 +65,22 @@ export default function useLinkProps(_ref) {
68
65
  throw new Error("Couldn't find a navigation object. Is your component inside NavigationContainer?");
69
66
  }
70
67
  } else {
71
- // @ts-expect-error: This is already type-checked by the prop types
72
- navigation === null || navigation === void 0 ? void 0 : navigation.navigate(screen, params);
68
+ // @ts-expect-error This is already type-checked by the prop types
69
+ navigation?.navigate(screen, params);
73
70
  }
74
71
  }
75
72
  };
76
- const getPathFromStateHelper = (options === null || options === void 0 ? void 0 : options.getPathFromState) ?? getPathFromState;
73
+ const getPathFromStateHelper = options?.getPathFromState ?? getPathFromState;
77
74
  return {
78
75
  href: href ?? (Platform.OS === 'web' && screen != null ? getPathFromStateHelper({
79
76
  routes: [{
80
77
  name: screen,
81
- // @ts-expect-error
78
+ // @ts-expect-error this is fine 🔥
82
79
  params: params,
83
- // @ts-expect-error
80
+ // @ts-expect-error this is fine 🔥
84
81
  state: getStateFromParams(params)
85
82
  }]
86
- }, options === null || options === void 0 ? void 0 : options.config) : undefined),
83
+ }, options?.config) : undefined),
87
84
  accessibilityRole: 'link',
88
85
  onPress
89
86
  };
@@ -1 +1 @@
1
- {"version":3,"names":["getPathFromState","NavigationContainerRefContext","NavigationHelpersContext","React","Platform","LinkingContext","getStateFromParams","params","state","screen","routes","name","undefined","useLinkProps","href","action","root","useContext","navigation","options","onPress","e","shouldHandle","OS","defaultPrevented","metaKey","altKey","ctrlKey","shiftKey","button","includes","currentTarget","target","preventDefault","dispatch","Error","navigate","getPathFromStateHelper","config","accessibilityRole"],"sourceRoot":"../../src","sources":["useLinkProps.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["getPathFromState","NavigationContainerRefContext","NavigationHelpersContext","React","Platform","LinkingContext","getStateFromParams","params","state","screen","routes","name","undefined","useLinkProps","_ref","href","action","root","useContext","navigation","options","onPress","e","hasModifierKey","metaKey","altKey","ctrlKey","shiftKey","isLeftClick","button","isSelfTarget","includes","currentTarget","target","shouldHandle","OS","preventDefault","dispatch","Error","navigate","getPathFromStateHelper","config","accessibilityRole"],"sourceRoot":"../../src","sources":["useLinkProps.tsx"],"mappings":"AAAA,SACEA,gBAAgB,EAEhBC,6BAA6B,EAC7BC,wBAAwB,QAGnB,wBAAwB;AAE/B,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SAAqCC,QAAQ,QAAQ,cAAc;AAEnE,SAASC,cAAc,QAAQ,kBAAkB;AAoBjD,MAAMC,kBAAkB,GACtBC,MAAwD,IACQ;EAChE,IAAIA,MAAM,EAAEC,KAAK,EAAE;IACjB,OAAOD,MAAM,CAACC,KAAK;EACrB;EAEA,IAAID,MAAM,EAAEE,MAAM,EAAE;IAClB,OAAO;MACLC,MAAM,EAAE,CACN;QACEC,IAAI,EAAEJ,MAAM,CAACE,MAAM;QACnBF,MAAM,EAAEA,MAAM,CAACA,MAAM;QACrB;QACAC,KAAK,EAAED,MAAM,CAACE,MAAM,GAChBH,kBAAkB,CAChBC,MAAM,CAACA,MAGT,CAAC,GACDK;MACN,CAAC;IAEL,CAAC;EACH;EAEA,OAAOA,SAAS;AAClB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,YAAYA,CAAAC,IAAA,EAKP;EAAA,IALyD;IAC5EL,MAAM;IACNF,MAAM;IACNQ,IAAI;IACJC;EACgB,CAAC,GAAAF,IAAA;EACjB,MAAMG,IAAI,GAAGd,KAAK,CAACe,UAAU,CAACjB,6BAA6B,CAAC;EAC5D,MAAMkB,UAAU,GAAGhB,KAAK,CAACe,UAAU,CAAChB,wBAAwB,CAAC;EAC7D,MAAM;IAAEkB;EAAQ,CAAC,GAAGjB,KAAK,CAACe,UAAU,CAACb,cAAc,CAAC;EAEpD,MAAMgB,OAAO,GACXC,CAA2E,IACxE;IACH;IACA,MAAMC,cAAc,GAAGD,CAAC,CAACE,OAAO,IAAIF,CAAC,CAACG,MAAM,IAAIH,CAAC,CAACI,OAAO,IAAIJ,CAAC,CAACK,QAAQ,CAAC,CAAC;IACzE;IACA,MAAMC,WAAW,GAAGN,CAAC,CAACO,MAAM,IAAI,IAAI,IAAIP,CAAC,CAACO,MAAM,KAAK,CAAC,CAAC,CAAC;IACxD,MAAMC,YAAY,GAAG,CAAClB,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,CAACmB,QAAQ;IACzD;IACAT,CAAC,CAACU,aAAa,EAAEC,MACnB,CAAC,CAAC,CAAC;;IAEH,IAAIC,YAAY,GAAG,KAAK;IAExB,IAAI9B,QAAQ,CAAC+B,EAAE,KAAK,KAAK,IAAI,CAACb,CAAC,EAAE;MAC/BY,YAAY,GAAG,IAAI;IACrB,CAAC,MAAM,IAAI,CAACX,cAAc,IAAIK,WAAW,IAAIE,YAAY,EAAE;MACzDR,CAAC,CAACc,cAAc,CAAC,CAAC;MAClBF,YAAY,GAAG,IAAI;IACrB;IAEA,IAAIA,YAAY,EAAE;MAChB,IAAIlB,MAAM,EAAE;QACV,IAAIG,UAAU,EAAE;UACdA,UAAU,CAACkB,QAAQ,CAACrB,MAAM,CAAC;QAC7B,CAAC,MAAM,IAAIC,IAAI,EAAE;UACfA,IAAI,CAACoB,QAAQ,CAACrB,MAAM,CAAC;QACvB,CAAC,MAAM;UACL,MAAM,IAAIsB,KAAK,CACb,kFACF,CAAC;QACH;MACF,CAAC,MAAM;QACL;QACAnB,UAAU,EAAEoB,QAAQ,CAAC9B,MAAM,EAAEF,MAAM,CAAC;MACtC;IACF;EACF,CAAC;EAED,MAAMiC,sBAAsB,GAAGpB,OAAO,EAAEpB,gBAAgB,IAAIA,gBAAgB;EAE5E,OAAO;IACLe,IAAI,EACFA,IAAI,KACHX,QAAQ,CAAC+B,EAAE,KAAK,KAAK,IAAI1B,MAAM,IAAI,IAAI,GACpC+B,sBAAsB,CACpB;MACE9B,MAAM,EAAE,CACN;QACEC,IAAI,EAAEF,MAAM;QACZ;QACAF,MAAM,EAAEA,MAAM;QACd;QACAC,KAAK,EAAEF,kBAAkB,CAACC,MAAM;MAClC,CAAC;IAEL,CAAC,EACDa,OAAO,EAAEqB,MACX,CAAC,GACD7B,SAAS,CAAC;IAChB8B,iBAAiB,EAAE,MAAe;IAClCrB;EACF,CAAC;AACH"}
@@ -0,0 +1,23 @@
1
+ import { NavigationContainerRefContext } from '@react-navigation/core';
2
+ import * as React from 'react';
3
+ import { useLinkBuilder } from './useLinkBuilder';
4
+
5
+ /**
6
+ * Helper to navigate to a screen using a href based on the linking options.
7
+ * @returns function that receives the href to navigate to.
8
+ */
9
+ export function useLinkTo() {
10
+ const navigation = React.useContext(NavigationContainerRefContext);
11
+ const {
12
+ buildAction
13
+ } = useLinkBuilder();
14
+ const linkTo = React.useCallback(href => {
15
+ if (navigation === undefined) {
16
+ throw new Error("Couldn't find a navigation object. Is your component inside NavigationContainer?");
17
+ }
18
+ const action = buildAction(href);
19
+ navigation.dispatch(action);
20
+ }, [buildAction, navigation]);
21
+ return linkTo;
22
+ }
23
+ //# sourceMappingURL=useLinkTo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NavigationContainerRefContext","React","useLinkBuilder","useLinkTo","navigation","useContext","buildAction","linkTo","useCallback","href","undefined","Error","action","dispatch"],"sourceRoot":"../../src","sources":["useLinkTo.tsx"],"mappings":"AAAA,SAASA,6BAA6B,QAAQ,wBAAwB;AACtE,OAAO,KAAKC,KAAK,MAAM,OAAO;AAE9B,SAASC,cAAc,QAAQ,kBAAkB;;AAEjD;AACA;AACA;AACA;AACA,OAAO,SAASC,SAASA,CAAA,EAAG;EAC1B,MAAMC,UAAU,GAAGH,KAAK,CAACI,UAAU,CAACL,6BAA6B,CAAC;EAClE,MAAM;IAAEM;EAAY,CAAC,GAAGJ,cAAc,CAAC,CAAC;EAExC,MAAMK,MAAM,GAAGN,KAAK,CAACO,WAAW,CAC7BC,IAAY,IAAK;IAChB,IAAIL,UAAU,KAAKM,SAAS,EAAE;MAC5B,MAAM,IAAIC,KAAK,CACb,kFACF,CAAC;IACH;IAEA,MAAMC,MAAM,GAAGN,WAAW,CAACG,IAAI,CAAC;IAEhCL,UAAU,CAACS,QAAQ,CAACD,MAAM,CAAC;EAC7B,CAAC,EACD,CAACN,WAAW,EAAEF,UAAU,CAC1B,CAAC;EAED,OAAOG,MAAM;AACf"}
@@ -1,8 +1,8 @@
1
1
  import { findFocusedRoute, getActionFromState as getActionFromStateDefault, getPathFromState as getPathFromStateDefault, getStateFromPath as getStateFromPathDefault, useNavigationIndependentTree } from '@react-navigation/core';
2
2
  import isEqual from 'fast-deep-equal';
3
3
  import * as React from 'react';
4
- import createMemoryHistory from './createMemoryHistory';
5
- import ServerContext from './ServerContext';
4
+ import { createMemoryHistory } from './createMemoryHistory';
5
+ import { ServerContext } from './ServerContext';
6
6
  /**
7
7
  * Find the matching navigation state that changed between 2 navigation states
8
8
  * e.g.: a -> b -> c -> d and a -> b -> c -> e -> f, if history in b changed, b is the matching state
@@ -34,33 +34,16 @@ const findMatchingState = (a, b) => {
34
34
  /**
35
35
  * Run async function in series as it's called.
36
36
  */
37
- const series = cb => {
38
- // Whether we're currently handling a callback
39
- let handling = false;
40
- let queue = [];
41
- const callback = async () => {
42
- try {
43
- if (handling) {
44
- // If we're currently handling a previous event, wait before handling this one
45
- // Add the callback to the beginning of the queue
46
- queue.unshift(callback);
47
- return;
48
- }
49
- handling = true;
50
- await cb();
51
- } finally {
52
- handling = false;
53
- if (queue.length) {
54
- // If we have queued items, handle the last one
55
- const last = queue.pop();
56
- last === null || last === void 0 ? void 0 : last();
57
- }
58
- }
37
+ export const series = cb => {
38
+ let queue = Promise.resolve();
39
+ const callback = () => {
40
+ // eslint-disable-next-line promise/no-callback-in-promise
41
+ queue = queue.then(cb);
59
42
  };
60
43
  return callback;
61
44
  };
62
- let linkingHandlers = [];
63
- export default function useLinking(ref, _ref) {
45
+ const linkingHandlers = [];
46
+ export function useLinking(ref, _ref, onUnhandledLinking) {
64
47
  let {
65
48
  enabled = true,
66
49
  config,
@@ -107,15 +90,25 @@ export default function useLinking(ref, _ref) {
107
90
  getPathFromStateRef.current = getPathFromState;
108
91
  getActionFromStateRef.current = getActionFromState;
109
92
  });
93
+ const validateRoutesNotExistInRootState = React.useCallback(state => {
94
+ const navigation = ref.current;
95
+ const rootState = navigation?.getRootState();
96
+ // Make sure that the routes in the state exist in the root navigator
97
+ // Otherwise there's an error in the linking configuration
98
+ return state?.routes.some(r => !rootState?.routeNames.includes(r.name));
99
+ }, [ref]);
110
100
  const server = React.useContext(ServerContext);
111
101
  const getInitialState = React.useCallback(() => {
112
102
  let value;
113
103
  if (enabledRef.current) {
114
- const location = (server === null || server === void 0 ? void 0 : server.location) ?? (typeof window !== 'undefined' ? window.location : undefined);
104
+ const location = server?.location ?? (typeof window !== 'undefined' ? window.location : undefined);
115
105
  const path = location ? location.pathname + location.search : undefined;
116
106
  if (path) {
117
107
  value = getStateFromPathRef.current(path, configRef.current);
118
108
  }
109
+
110
+ // If the link were handled, it gets cleared in NavigationContainer
111
+ onUnhandledLinking(path);
119
112
  }
120
113
  const thenable = {
121
114
  then(onfulfilled) {
@@ -138,6 +131,9 @@ export default function useLinking(ref, _ref) {
138
131
  if (!navigation || !enabled) {
139
132
  return;
140
133
  }
134
+ const {
135
+ location
136
+ } = window;
141
137
  const path = location.pathname + location.search;
142
138
  const index = history.index;
143
139
  const previousIndex = previousIndexRef.current ?? 0;
@@ -148,7 +144,7 @@ export default function useLinking(ref, _ref) {
148
144
  // If it does we'll reset to that state object
149
145
  // Otherwise, we'll handle it like a regular deep link
150
146
  const record = history.get(index);
151
- if ((record === null || record === void 0 ? void 0 : record.path) === path && record !== null && record !== void 0 && record.state) {
147
+ if (record?.path === path && record?.state) {
152
148
  navigation.resetRoot(record.state);
153
149
  return;
154
150
  }
@@ -157,11 +153,11 @@ export default function useLinking(ref, _ref) {
157
153
  // We should only dispatch an action when going forward
158
154
  // Otherwise the action will likely add items to history, which would mess things up
159
155
  if (state) {
156
+ // If the link were handled, it gets cleared in NavigationContainer
157
+ onUnhandledLinking(path);
160
158
  // Make sure that the routes in the state exist in the root navigator
161
159
  // Otherwise there's an error in the linking configuration
162
- const rootState = navigation.getRootState();
163
- if (state.routes.some(r => !(rootState !== null && rootState !== void 0 && rootState.routeNames.includes(r.name)))) {
164
- console.warn("The navigation state parsed from the URL contains routes not present in the root navigator. This usually means that the linking configuration doesn't match the navigation structure. See https://reactnavigation.org/docs/configuring-links for more details on how to specify a linking configuration.");
160
+ if (validateRoutesNotExistInRootState(state)) {
165
161
  return;
166
162
  }
167
163
  if (index > previousIndex) {
@@ -185,16 +181,15 @@ export default function useLinking(ref, _ref) {
185
181
  navigation.resetRoot(state);
186
182
  }
187
183
  });
188
- }, [enabled, history, ref]);
184
+ }, [enabled, history, onUnhandledLinking, ref, validateRoutesNotExistInRootState]);
189
185
  React.useEffect(() => {
190
- var _ref$current;
191
186
  if (!enabled) {
192
187
  return;
193
188
  }
194
189
  const getPathForRoute = (route, state) => {
195
190
  // If the `route` object contains a `path`, use that path as long as `route.name` and `params` still match
196
191
  // This makes sure that we preserve the original URL for wildcard routes
197
- if (route !== null && route !== void 0 && route.path) {
192
+ if (route?.path) {
198
193
  const stateForPath = getStateFromPathRef.current(route.path, configRef.current);
199
194
  if (stateForPath) {
200
195
  const focusedRoute = findFocusedRoute(stateForPath);
@@ -264,7 +259,9 @@ export default function useLinking(ref, _ref) {
264
259
  });
265
260
  const currentIndex = history.index;
266
261
  try {
267
- if (nextIndex !== -1 && nextIndex < currentIndex) {
262
+ if (nextIndex !== -1 && nextIndex < currentIndex &&
263
+ // We should only go back if the entry exists and it's less than current index
264
+ history.get(nextIndex - currentIndex)) {
268
265
  // An existing entry for this path exists and it's less than current index, go back to that
269
266
  await history.go(nextIndex - currentIndex);
270
267
  } else {
@@ -302,7 +299,7 @@ export default function useLinking(ref, _ref) {
302
299
  // We debounce onStateChange coz we don't want multiple state changes to be handled at one time
303
300
  // This could happen since `history.go(n)` is asynchronous
304
301
  // If `pushState` or `replaceState` were called before `history.go(n)` completes, it'll mess stuff up
305
- return (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.addListener('state', series(onStateChange));
302
+ return ref.current?.addListener('state', series(onStateChange));
306
303
  }, [enabled, history, ref]);
307
304
  return {
308
305
  getInitialState
@@ -1 +1 @@
1
- {"version":3,"names":["findFocusedRoute","getActionFromState","getActionFromStateDefault","getPathFromState","getPathFromStateDefault","getStateFromPath","getStateFromPathDefault","useNavigationIndependentTree","isEqual","React","createMemoryHistory","ServerContext","findMatchingState","a","b","undefined","key","aHistoryLength","history","length","routes","bHistoryLength","aRoute","index","bRoute","aChildState","state","bChildState","series","cb","handling","queue","callback","unshift","last","pop","linkingHandlers","useLinking","ref","enabled","config","independent","useEffect","process","env","NODE_ENV","console","error","join","trim","handler","Symbol","push","indexOf","splice","useState","enabledRef","useRef","configRef","getStateFromPathRef","getPathFromStateRef","getActionFromStateRef","current","server","useContext","getInitialState","useCallback","value","location","window","path","pathname","search","thenable","then","onfulfilled","Promise","resolve","catch","previousIndexRef","previousStateRef","pendingPopStatePathRef","listen","navigation","previousIndex","record","get","resetRoot","rootState","getRootState","some","r","routeNames","includes","name","warn","action","dispatch","e","message","getPathForRoute","route","stateForPath","focusedRoute","params","replace","onStateChange","previousState","pendingPath","previousFocusedState","focusedState","historyDelta","nextIndex","backIndex","currentIndex","go","addListener"],"sourceRoot":"../../src","sources":["useLinking.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["findFocusedRoute","getActionFromState","getActionFromStateDefault","getPathFromState","getPathFromStateDefault","getStateFromPath","getStateFromPathDefault","useNavigationIndependentTree","isEqual","React","createMemoryHistory","ServerContext","findMatchingState","a","b","undefined","key","aHistoryLength","history","length","routes","bHistoryLength","aRoute","index","bRoute","aChildState","state","bChildState","series","cb","queue","Promise","resolve","callback","then","linkingHandlers","useLinking","ref","_ref","onUnhandledLinking","enabled","config","independent","useEffect","process","env","NODE_ENV","console","error","join","trim","handler","Symbol","push","indexOf","splice","useState","enabledRef","useRef","configRef","getStateFromPathRef","getPathFromStateRef","getActionFromStateRef","current","validateRoutesNotExistInRootState","useCallback","navigation","rootState","getRootState","some","r","routeNames","includes","name","server","useContext","getInitialState","value","location","window","path","pathname","search","thenable","onfulfilled","catch","previousIndexRef","previousStateRef","pendingPopStatePathRef","listen","previousIndex","record","get","resetRoot","action","dispatch","e","warn","message","getPathForRoute","route","stateForPath","focusedRoute","params","replace","onStateChange","previousState","pendingPath","previousFocusedState","focusedState","historyDelta","nextIndex","backIndex","currentIndex","go","addListener"],"sourceRoot":"../../src","sources":["useLinking.tsx"],"mappings":"AAAA,SACEA,gBAAgB,EAChBC,kBAAkB,IAAIC,yBAAyB,EAC/CC,gBAAgB,IAAIC,uBAAuB,EAC3CC,gBAAgB,IAAIC,uBAAuB,EAI3CC,4BAA4B,QACvB,wBAAwB;AAC/B,OAAOC,OAAO,MAAM,iBAAiB;AACrC,OAAO,KAAKC,KAAK,MAAM,OAAO;AAE9B,SAASC,mBAAmB,QAAQ,uBAAuB;AAC3D,SAASC,aAAa,QAAQ,iBAAiB;AAK/C;AACA;AACA;AACA;AACA,MAAMC,iBAAiB,GAAGA,CACxBC,CAAgB,EAChBC,CAAgB,KACmB;EACnC,IAAID,CAAC,KAAKE,SAAS,IAAID,CAAC,KAAKC,SAAS,IAAIF,CAAC,CAACG,GAAG,KAAKF,CAAC,CAACE,GAAG,EAAE;IACzD,OAAO,CAACD,SAAS,EAAEA,SAAS,CAAC;EAC/B;;EAEA;EACA,MAAME,cAAc,GAAGJ,CAAC,CAACK,OAAO,GAAGL,CAAC,CAACK,OAAO,CAACC,MAAM,GAAGN,CAAC,CAACO,MAAM,CAACD,MAAM;EACrE,MAAME,cAAc,GAAGP,CAAC,CAACI,OAAO,GAAGJ,CAAC,CAACI,OAAO,CAACC,MAAM,GAAGL,CAAC,CAACM,MAAM,CAACD,MAAM;EAErE,MAAMG,MAAM,GAAGT,CAAC,CAACO,MAAM,CAACP,CAAC,CAACU,KAAK,CAAC;EAChC,MAAMC,MAAM,GAAGV,CAAC,CAACM,MAAM,CAACN,CAAC,CAACS,KAAK,CAAC;EAEhC,MAAME,WAAW,GAAGH,MAAM,CAACI,KAAsB;EACjD,MAAMC,WAAW,GAAGH,MAAM,CAACE,KAAsB;;EAEjD;EACA;EACA;EACA;EACA;EACA,IACET,cAAc,KAAKI,cAAc,IACjCC,MAAM,CAACN,GAAG,KAAKQ,MAAM,CAACR,GAAG,IACzBS,WAAW,KAAKV,SAAS,IACzBY,WAAW,KAAKZ,SAAS,IACzBU,WAAW,CAACT,GAAG,KAAKW,WAAW,CAACX,GAAG,EACnC;IACA,OAAO,CAACH,CAAC,EAAEC,CAAC,CAAC;EACf;EAEA,OAAOF,iBAAiB,CAACa,WAAW,EAAEE,WAAW,CAAC;AACpD,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMC,MAAM,GAAIC,EAAuB,IAAK;EACjD,IAAIC,KAAK,GAAGC,OAAO,CAACC,OAAO,CAAC,CAAC;EAC7B,MAAMC,QAAQ,GAAGA,CAAA,KAAM;IACrB;IACAH,KAAK,GAAGA,KAAK,CAACI,IAAI,CAACL,EAAE,CAAC;EACxB,CAAC;EACD,OAAOI,QAAQ;AACjB,CAAC;AAED,MAAME,eAAyB,GAAG,EAAE;AAIpC,OAAO,SAASC,UAAUA,CACxBC,GAA2D,EAAAC,IAAA,EAQ3DC,kBAAqE,EACrE;EAAA,IARA;IACEC,OAAO,GAAG,IAAI;IACdC,MAAM;IACNpC,gBAAgB,GAAGC,uBAAuB;IAC1CH,gBAAgB,GAAGC,uBAAuB;IAC1CH,kBAAkB,GAAGC;EACd,CAAC,GAAAoC,IAAA;EAGV,MAAMI,WAAW,GAAGnC,4BAA4B,CAAC,CAAC;EAElDE,KAAK,CAACkC,SAAS,CAAC,MAAM;IACpB,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;MACzC,OAAO/B,SAAS;IAClB;IAEA,IAAI2B,WAAW,EAAE;MACf,OAAO3B,SAAS;IAClB;IAEA,IAAIyB,OAAO,KAAK,KAAK,IAAIL,eAAe,CAAChB,MAAM,EAAE;MAC/C4B,OAAO,CAACC,KAAK,CACX,CACE,6KAA6K,EAC7K,uFAAuF,EACvF,4DAA4D,CAC7D,CACEC,IAAI,CAAC,IAAI,CAAC,CACVC,IAAI,CAAC,CACV,CAAC;IACH;IAEA,MAAMC,OAAO,GAAGC,MAAM,CAAC,CAAC;IAExB,IAAIZ,OAAO,KAAK,KAAK,EAAE;MACrBL,eAAe,CAACkB,IAAI,CAACF,OAAO,CAAC;IAC/B;IAEA,OAAO,MAAM;MACX,MAAM5B,KAAK,GAAGY,eAAe,CAACmB,OAAO,CAACH,OAAO,CAAC;MAE9C,IAAI5B,KAAK,GAAG,CAAC,CAAC,EAAE;QACdY,eAAe,CAACoB,MAAM,CAAChC,KAAK,EAAE,CAAC,CAAC;MAClC;IACF,CAAC;EACH,CAAC,EAAE,CAACiB,OAAO,EAAEE,WAAW,CAAC,CAAC;EAE1B,MAAM,CAACxB,OAAO,CAAC,GAAGT,KAAK,CAAC+C,QAAQ,CAAC9C,mBAAmB,CAAC;;EAErD;EACA;EACA;EACA,MAAM+C,UAAU,GAAGhD,KAAK,CAACiD,MAAM,CAAClB,OAAO,CAAC;EACxC,MAAMmB,SAAS,GAAGlD,KAAK,CAACiD,MAAM,CAACjB,MAAM,CAAC;EACtC,MAAMmB,mBAAmB,GAAGnD,KAAK,CAACiD,MAAM,CAACrD,gBAAgB,CAAC;EAC1D,MAAMwD,mBAAmB,GAAGpD,KAAK,CAACiD,MAAM,CAACvD,gBAAgB,CAAC;EAC1D,MAAM2D,qBAAqB,GAAGrD,KAAK,CAACiD,MAAM,CAACzD,kBAAkB,CAAC;EAE9DQ,KAAK,CAACkC,SAAS,CAAC,MAAM;IACpBc,UAAU,CAACM,OAAO,GAAGvB,OAAO;IAC5BmB,SAAS,CAACI,OAAO,GAAGtB,MAAM;IAC1BmB,mBAAmB,CAACG,OAAO,GAAG1D,gBAAgB;IAC9CwD,mBAAmB,CAACE,OAAO,GAAG5D,gBAAgB;IAC9C2D,qBAAqB,CAACC,OAAO,GAAG9D,kBAAkB;EACpD,CAAC,CAAC;EAEF,MAAM+D,iCAAiC,GAAGvD,KAAK,CAACwD,WAAW,CACxDvC,KAAkB,IAAK;IACtB,MAAMwC,UAAU,GAAG7B,GAAG,CAAC0B,OAAO;IAC9B,MAAMI,SAAS,GAAGD,UAAU,EAAEE,YAAY,CAAC,CAAC;IAC5C;IACA;IACA,OAAO1C,KAAK,EAAEN,MAAM,CAACiD,IAAI,CAAEC,CAAC,IAAK,CAACH,SAAS,EAAEI,UAAU,CAACC,QAAQ,CAACF,CAAC,CAACG,IAAI,CAAC,CAAC;EAC3E,CAAC,EACD,CAACpC,GAAG,CACN,CAAC;EAED,MAAMqC,MAAM,GAAGjE,KAAK,CAACkE,UAAU,CAAChE,aAAa,CAAC;EAE9C,MAAMiE,eAAe,GAAGnE,KAAK,CAACwD,WAAW,CAAC,MAAM;IAC9C,IAAIY,KAA8B;IAElC,IAAIpB,UAAU,CAACM,OAAO,EAAE;MACtB,MAAMe,QAAQ,GACZJ,MAAM,EAAEI,QAAQ,KACf,OAAOC,MAAM,KAAK,WAAW,GAAGA,MAAM,CAACD,QAAQ,GAAG/D,SAAS,CAAC;MAE/D,MAAMiE,IAAI,GAAGF,QAAQ,GAAGA,QAAQ,CAACG,QAAQ,GAAGH,QAAQ,CAACI,MAAM,GAAGnE,SAAS;MAEvE,IAAIiE,IAAI,EAAE;QACRH,KAAK,GAAGjB,mBAAmB,CAACG,OAAO,CAACiB,IAAI,EAAErB,SAAS,CAACI,OAAO,CAAC;MAC9D;;MAEA;MACAxB,kBAAkB,CAACyC,IAAI,CAAC;IAC1B;IAEA,MAAMG,QAAQ,GAAG;MACfjD,IAAIA,CAACkD,WAAsD,EAAE;QAC3D,OAAOrD,OAAO,CAACC,OAAO,CAACoD,WAAW,GAAGA,WAAW,CAACP,KAAK,CAAC,GAAGA,KAAK,CAAC;MAClE,CAAC;MACDQ,KAAKA,CAAA,EAAG;QACN,OAAOF,QAAQ;MACjB;IACF,CAAC;IAED,OAAOA,QAAQ;IACf;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMG,gBAAgB,GAAG7E,KAAK,CAACiD,MAAM,CAAqB3C,SAAS,CAAC;EACpE,MAAMwE,gBAAgB,GAAG9E,KAAK,CAACiD,MAAM,CAA8B3C,SAAS,CAAC;EAC7E,MAAMyE,sBAAsB,GAAG/E,KAAK,CAACiD,MAAM,CAAqB3C,SAAS,CAAC;EAE1EN,KAAK,CAACkC,SAAS,CAAC,MAAM;IACpB2C,gBAAgB,CAACvB,OAAO,GAAG7C,OAAO,CAACK,KAAK;IAExC,OAAOL,OAAO,CAACuE,MAAM,CAAC,MAAM;MAC1B,MAAMvB,UAAU,GAAG7B,GAAG,CAAC0B,OAAO;MAE9B,IAAI,CAACG,UAAU,IAAI,CAAC1B,OAAO,EAAE;QAC3B;MACF;MAEA,MAAM;QAAEsC;MAAS,CAAC,GAAGC,MAAM;MAE3B,MAAMC,IAAI,GAAGF,QAAQ,CAACG,QAAQ,GAAGH,QAAQ,CAACI,MAAM;MAChD,MAAM3D,KAAK,GAAGL,OAAO,CAACK,KAAK;MAE3B,MAAMmE,aAAa,GAAGJ,gBAAgB,CAACvB,OAAO,IAAI,CAAC;MAEnDuB,gBAAgB,CAACvB,OAAO,GAAGxC,KAAK;MAChCiE,sBAAsB,CAACzB,OAAO,GAAGiB,IAAI;;MAErC;MACA;MACA;MACA,MAAMW,MAAM,GAAGzE,OAAO,CAAC0E,GAAG,CAACrE,KAAK,CAAC;MAEjC,IAAIoE,MAAM,EAAEX,IAAI,KAAKA,IAAI,IAAIW,MAAM,EAAEjE,KAAK,EAAE;QAC1CwC,UAAU,CAAC2B,SAAS,CAACF,MAAM,CAACjE,KAAK,CAAC;QAClC;MACF;MAEA,MAAMA,KAAK,GAAGkC,mBAAmB,CAACG,OAAO,CAACiB,IAAI,EAAErB,SAAS,CAACI,OAAO,CAAC;;MAElE;MACA;MACA,IAAIrC,KAAK,EAAE;QACT;QACAa,kBAAkB,CAACyC,IAAI,CAAC;QACxB;QACA;QACA,IAAIhB,iCAAiC,CAACtC,KAAK,CAAC,EAAE;UAC5C;QACF;QAEA,IAAIH,KAAK,GAAGmE,aAAa,EAAE;UACzB,MAAMI,MAAM,GAAGhC,qBAAqB,CAACC,OAAO,CAC1CrC,KAAK,EACLiC,SAAS,CAACI,OACZ,CAAC;UAED,IAAI+B,MAAM,KAAK/E,SAAS,EAAE;YACxB,IAAI;cACFmD,UAAU,CAAC6B,QAAQ,CAACD,MAAM,CAAC;YAC7B,CAAC,CAAC,OAAOE,CAAC,EAAE;cACV;cACA;cACAjD,OAAO,CAACkD,IAAI,CACT,qDAAoDjB,IAAK,MACxD,OAAOgB,CAAC,KAAK,QAAQ,IAAIA,CAAC,IAAI,IAAI,IAAI,SAAS,IAAIA,CAAC,GAChDA,CAAC,CAACE,OAAO,GACTF,CACL,EACH,CAAC;YACH;UACF,CAAC,MAAM;YACL9B,UAAU,CAAC2B,SAAS,CAACnE,KAAK,CAAC;UAC7B;QACF,CAAC,MAAM;UACLwC,UAAU,CAAC2B,SAAS,CAACnE,KAAK,CAAC;QAC7B;MACF,CAAC,MAAM;QACL;QACAwC,UAAU,CAAC2B,SAAS,CAACnE,KAAK,CAAC;MAC7B;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CACDc,OAAO,EACPtB,OAAO,EACPqB,kBAAkB,EAClBF,GAAG,EACH2B,iCAAiC,CAClC,CAAC;EAEFvD,KAAK,CAACkC,SAAS,CAAC,MAAM;IACpB,IAAI,CAACH,OAAO,EAAE;MACZ;IACF;IAEA,MAAM2D,eAAe,GAAGA,CACtBC,KAA0C,EAC1C1E,KAAsB,KACX;MACX;MACA;MACA,IAAI0E,KAAK,EAAEpB,IAAI,EAAE;QACf,MAAMqB,YAAY,GAAGzC,mBAAmB,CAACG,OAAO,CAC9CqC,KAAK,CAACpB,IAAI,EACVrB,SAAS,CAACI,OACZ,CAAC;QAED,IAAIsC,YAAY,EAAE;UAChB,MAAMC,YAAY,GAAGtG,gBAAgB,CAACqG,YAAY,CAAC;UAEnD,IACEC,YAAY,IACZA,YAAY,CAAC7B,IAAI,KAAK2B,KAAK,CAAC3B,IAAI,IAChCjE,OAAO,CAAC8F,YAAY,CAACC,MAAM,EAAEH,KAAK,CAACG,MAAM,CAAC,EAC1C;YACA,OAAOH,KAAK,CAACpB,IAAI;UACnB;QACF;MACF;MAEA,OAAOnB,mBAAmB,CAACE,OAAO,CAACrC,KAAK,EAAEiC,SAAS,CAACI,OAAO,CAAC;IAC9D,CAAC;IAED,IAAI1B,GAAG,CAAC0B,OAAO,EAAE;MACf;MACA;MACA,MAAMrC,KAAK,GAAGW,GAAG,CAAC0B,OAAO,CAACK,YAAY,CAAC,CAAC;MAExC,IAAI1C,KAAK,EAAE;QACT,MAAM0E,KAAK,GAAGpG,gBAAgB,CAAC0B,KAAK,CAAC;QACrC,MAAMsD,IAAI,GAAGmB,eAAe,CAACC,KAAK,EAAE1E,KAAK,CAAC;QAE1C,IAAI6D,gBAAgB,CAACxB,OAAO,KAAKhD,SAAS,EAAE;UAC1CwE,gBAAgB,CAACxB,OAAO,GAAGrC,KAAK;QAClC;QAEAR,OAAO,CAACsF,OAAO,CAAC;UAAExB,IAAI;UAAEtD;QAAM,CAAC,CAAC;MAClC;IACF;IAEA,MAAM+E,aAAa,GAAG,MAAAA,CAAA,KAAY;MAChC,MAAMvC,UAAU,GAAG7B,GAAG,CAAC0B,OAAO;MAE9B,IAAI,CAACG,UAAU,IAAI,CAAC1B,OAAO,EAAE;QAC3B;MACF;MAEA,MAAMkE,aAAa,GAAGnB,gBAAgB,CAACxB,OAAO;MAC9C,MAAMrC,KAAK,GAAGwC,UAAU,CAACE,YAAY,CAAC,CAAC;;MAEvC;MACA,IAAI,CAAC1C,KAAK,EAAE;QACV;MACF;MAEA,MAAMiF,WAAW,GAAGnB,sBAAsB,CAACzB,OAAO;MAClD,MAAMqC,KAAK,GAAGpG,gBAAgB,CAAC0B,KAAK,CAAC;MACrC,MAAMsD,IAAI,GAAGmB,eAAe,CAACC,KAAK,EAAE1E,KAAK,CAAC;MAE1C6D,gBAAgB,CAACxB,OAAO,GAAGrC,KAAK;MAChC8D,sBAAsB,CAACzB,OAAO,GAAGhD,SAAS;;MAE1C;MACA;MACA;MACA;MACA,MAAM,CAAC6F,oBAAoB,EAAEC,YAAY,CAAC,GAAGjG,iBAAiB,CAC5D8F,aAAa,EACbhF,KACF,CAAC;MAED,IACEkF,oBAAoB,IACpBC,YAAY;MACZ;MACA;MACA7B,IAAI,KAAK2B,WAAW,EACpB;QACA,MAAMG,YAAY,GAChB,CAACD,YAAY,CAAC3F,OAAO,GACjB2F,YAAY,CAAC3F,OAAO,CAACC,MAAM,GAC3B0F,YAAY,CAACzF,MAAM,CAACD,MAAM,KAC7ByF,oBAAoB,CAAC1F,OAAO,GACzB0F,oBAAoB,CAAC1F,OAAO,CAACC,MAAM,GACnCyF,oBAAoB,CAACxF,MAAM,CAACD,MAAM,CAAC;QAEzC,IAAI2F,YAAY,GAAG,CAAC,EAAE;UACpB;UACA;UACA5F,OAAO,CAACmC,IAAI,CAAC;YAAE2B,IAAI;YAAEtD;UAAM,CAAC,CAAC;QAC/B,CAAC,MAAM,IAAIoF,YAAY,GAAG,CAAC,EAAE;UAC3B;;UAEA,MAAMC,SAAS,GAAG7F,OAAO,CAAC8F,SAAS,CAAC;YAAEhC;UAAK,CAAC,CAAC;UAC7C,MAAMiC,YAAY,GAAG/F,OAAO,CAACK,KAAK;UAElC,IAAI;YACF,IACEwF,SAAS,KAAK,CAAC,CAAC,IAChBA,SAAS,GAAGE,YAAY;YACxB;YACA/F,OAAO,CAAC0E,GAAG,CAACmB,SAAS,GAAGE,YAAY,CAAC,EACrC;cACA;cACA,MAAM/F,OAAO,CAACgG,EAAE,CAACH,SAAS,GAAGE,YAAY,CAAC;YAC5C,CAAC,MAAM;cACL;cACA;cACA;cACA,MAAM/F,OAAO,CAACgG,EAAE,CAACJ,YAAY,CAAC;YAChC;;YAEA;YACA5F,OAAO,CAACsF,OAAO,CAAC;cAAExB,IAAI;cAAEtD;YAAM,CAAC,CAAC;UAClC,CAAC,CAAC,OAAOsE,CAAC,EAAE;YACV;UAAA;QAEJ,CAAC,MAAM;UACL;UACA9E,OAAO,CAACsF,OAAO,CAAC;YAAExB,IAAI;YAAEtD;UAAM,CAAC,CAAC;QAClC;MACF,CAAC,MAAM;QACL;QACA;QACAR,OAAO,CAACsF,OAAO,CAAC;UAAExB,IAAI;UAAEtD;QAAM,CAAC,CAAC;MAClC;IACF,CAAC;;IAED;IACA;IACA;IACA,OAAOW,GAAG,CAAC0B,OAAO,EAAEoD,WAAW,CAAC,OAAO,EAAEvF,MAAM,CAAC6E,aAAa,CAAC,CAAC;EACjE,CAAC,EAAE,CAACjE,OAAO,EAAEtB,OAAO,EAAEmB,GAAG,CAAC,CAAC;EAE3B,OAAO;IACLuC;EACF,CAAC;AACH"}
@@ -1,20 +1,20 @@
1
1
  import { getActionFromState as getActionFromStateDefault, getStateFromPath as getStateFromPathDefault, useNavigationIndependentTree } from '@react-navigation/core';
2
2
  import * as React from 'react';
3
3
  import { Linking, Platform } from 'react-native';
4
- import extractPathFromURL from './extractPathFromURL';
5
- let linkingHandlers = [];
6
- export default function useLinking(ref, _ref) {
4
+ import { extractPathFromURL } from './extractPathFromURL';
5
+ const linkingHandlers = [];
6
+ export function useLinking(ref, _ref, onUnhandledLinking) {
7
7
  let {
8
8
  enabled = true,
9
9
  prefixes,
10
10
  filter,
11
11
  config,
12
- getInitialURL = () => Promise.race([Linking.getInitialURL(), new Promise(resolve =>
13
- // Timeout in 150ms if `getInitialState` doesn't resolve
14
- // Workaround for https://github.com/facebook/react-native/issues/25675
15
- setTimeout(resolve, 150))]),
12
+ getInitialURL = () => Promise.race([Linking.getInitialURL(), new Promise(resolve => {
13
+ // Timeout in 150ms if `getInitialState` doesn't resolve
14
+ // Workaround for https://github.com/facebook/react-native/issues/25675
15
+ setTimeout(resolve, 150);
16
+ })]),
16
17
  subscribe = listener => {
17
- var _Linking$removeEventL;
18
18
  const callback = _ref2 => {
19
19
  let {
20
20
  url
@@ -25,13 +25,13 @@ export default function useLinking(ref, _ref) {
25
25
 
26
26
  // Storing this in a local variable stops Jest from complaining about import after teardown
27
27
  // @ts-expect-error: removeEventListener is not present in newer RN versions
28
- const removeEventListener = (_Linking$removeEventL = Linking.removeEventListener) === null || _Linking$removeEventL === void 0 ? void 0 : _Linking$removeEventL.bind(Linking);
28
+ const removeEventListener = Linking.removeEventListener?.bind(Linking);
29
29
  return () => {
30
30
  // https://github.com/facebook/react-native/commit/6d1aca806cee86ad76de771ed3a1cc62982ebcd7
31
- if (subscription !== null && subscription !== void 0 && subscription.remove) {
31
+ if (subscription?.remove) {
32
32
  subscription.remove();
33
33
  } else {
34
- removeEventListener === null || removeEventListener === void 0 ? void 0 : removeEventListener('url', callback);
34
+ removeEventListener?.('url', callback);
35
35
  }
36
36
  };
37
37
  },
@@ -91,11 +91,19 @@ export default function useLinking(ref, _ref) {
91
91
  let state;
92
92
  if (enabledRef.current) {
93
93
  const url = getInitialURLRef.current();
94
- if (url != null && typeof url !== 'string') {
95
- return url.then(url => {
96
- const state = getStateFromURL(url);
97
- return state;
98
- });
94
+ if (url != null) {
95
+ if (typeof url !== 'string') {
96
+ return url.then(url => {
97
+ const state = getStateFromURL(url);
98
+ if (typeof url === 'string') {
99
+ // If the link were handled, it gets cleared in NavigationContainer
100
+ onUnhandledLinking(extractPathFromURL(prefixes, url));
101
+ }
102
+ return state;
103
+ });
104
+ } else {
105
+ onUnhandledLinking(extractPathFromURL(prefixes, url));
106
+ }
99
107
  }
100
108
  state = getStateFromURL(url);
101
109
  }
@@ -108,7 +116,7 @@ export default function useLinking(ref, _ref) {
108
116
  }
109
117
  };
110
118
  return thenable;
111
- }, [getStateFromURL]);
119
+ }, [getStateFromURL, onUnhandledLinking, prefixes]);
112
120
  React.useEffect(() => {
113
121
  const listener = url => {
114
122
  if (!enabled) {
@@ -117,11 +125,10 @@ export default function useLinking(ref, _ref) {
117
125
  const navigation = ref.current;
118
126
  const state = navigation ? getStateFromURL(url) : undefined;
119
127
  if (navigation && state) {
120
- // Make sure that the routes in the state exist in the root navigator
121
- // Otherwise there's an error in the linking configuration
128
+ // If the link were handled, it gets cleared in NavigationContainer
129
+ onUnhandledLinking(extractPathFromURL(prefixes, url));
122
130
  const rootState = navigation.getRootState();
123
- if (state.routes.some(r => !(rootState !== null && rootState !== void 0 && rootState.routeNames.includes(r.name)))) {
124
- console.warn("The navigation state parsed from the URL contains routes not present in the root navigator. This usually means that the linking configuration doesn't match the navigation structure. See https://reactnavigation.org/docs/configuring-links for more details on how to specify a linking configuration.");
131
+ if (state.routes.some(r => !rootState?.routeNames.includes(r.name))) {
125
132
  return;
126
133
  }
127
134
  const action = getActionFromStateRef.current(state, configRef.current);
@@ -139,7 +146,7 @@ export default function useLinking(ref, _ref) {
139
146
  }
140
147
  };
141
148
  return subscribe(listener);
142
- }, [enabled, getStateFromURL, ref, subscribe]);
149
+ }, [enabled, getStateFromURL, onUnhandledLinking, prefixes, ref, subscribe]);
143
150
  return {
144
151
  getInitialState
145
152
  };
@@ -1 +1 @@
1
- {"version":3,"names":["getActionFromState","getActionFromStateDefault","getStateFromPath","getStateFromPathDefault","useNavigationIndependentTree","React","Linking","Platform","extractPathFromURL","linkingHandlers","useLinking","ref","enabled","prefixes","filter","config","getInitialURL","Promise","race","resolve","setTimeout","subscribe","listener","callback","url","subscription","addEventListener","removeEventListener","bind","remove","independent","useEffect","process","env","NODE_ENV","undefined","length","console","error","OS","join","trim","handler","Symbol","push","index","indexOf","splice","enabledRef","useRef","prefixesRef","filterRef","configRef","getInitialURLRef","getStateFromPathRef","getActionFromStateRef","current","getStateFromURL","useCallback","path","getInitialState","state","then","thenable","onfulfilled","catch","navigation","rootState","getRootState","routes","some","r","routeNames","includes","name","warn","action","dispatch","e","message","resetRoot"],"sourceRoot":"../../src","sources":["useLinking.native.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["getActionFromState","getActionFromStateDefault","getStateFromPath","getStateFromPathDefault","useNavigationIndependentTree","React","Linking","Platform","extractPathFromURL","linkingHandlers","useLinking","ref","_ref","onUnhandledLinking","enabled","prefixes","filter","config","getInitialURL","Promise","race","resolve","setTimeout","subscribe","listener","callback","_ref2","url","subscription","addEventListener","removeEventListener","bind","remove","independent","useEffect","process","env","NODE_ENV","undefined","length","console","error","OS","join","trim","handler","Symbol","push","index","indexOf","splice","enabledRef","useRef","prefixesRef","filterRef","configRef","getInitialURLRef","getStateFromPathRef","getActionFromStateRef","current","getStateFromURL","useCallback","path","getInitialState","state","then","thenable","onfulfilled","catch","navigation","rootState","getRootState","routes","some","r","routeNames","includes","name","action","dispatch","e","warn","message","resetRoot"],"sourceRoot":"../../src","sources":["useLinking.native.tsx"],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import * as React from 'react';
2
+ import { LocaleDirContext } from './LocaleDirContext';
3
+
4
+ /**
5
+ * Hook to access the text direction specified in the `NavigationContainer`.
6
+ */
7
+ export function useLocale() {
8
+ const direction = React.useContext(LocaleDirContext);
9
+ if (direction === undefined) {
10
+ throw new Error("Couldn't determine the text direction. Is your component inside NavigationContainer?");
11
+ }
12
+ return {
13
+ direction
14
+ };
15
+ }
16
+ //# sourceMappingURL=useLocale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","LocaleDirContext","useLocale","direction","useContext","undefined","Error"],"sourceRoot":"../../src","sources":["useLocale.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,gBAAgB,QAAQ,oBAAoB;;AAErD;AACA;AACA;AACA,OAAO,SAASC,SAASA,CAAA,EAAG;EAC1B,MAAMC,SAAS,GAAGH,KAAK,CAACI,UAAU,CAACH,gBAAgB,CAAC;EAEpD,IAAIE,SAAS,KAAKE,SAAS,EAAE;IAC3B,MAAM,IAAIC,KAAK,CACb,sFACF,CAAC;EACH;EAEA,OAAO;IAAEH;EAAU,CAAC;AACtB"}
@@ -1,4 +1,4 @@
1
- import { useNavigation, useRoute } from '@react-navigation/core';
1
+ import { NavigationContext, useRoute } from '@react-navigation/core';
2
2
  import * as React from 'react';
3
3
  function getScrollableNode(ref) {
4
4
  if (ref.current == null) {
@@ -21,13 +21,15 @@ function getScrollableNode(ref) {
21
21
  return ref.current;
22
22
  }
23
23
  }
24
- export default function useScrollToTop(ref) {
25
- const navigation = useNavigation();
24
+ export function useScrollToTop(ref) {
25
+ const navigation = React.useContext(NavigationContext);
26
26
  const route = useRoute();
27
+ if (navigation === undefined) {
28
+ throw new Error("Couldn't find a navigation object. Is your component inside NavigationContainer?");
29
+ }
27
30
  React.useEffect(() => {
28
- let tabNavigations = [];
31
+ const tabNavigations = [];
29
32
  let currentNavigation = navigation;
30
-
31
33
  // If the screen is nested inside multiple tab navigators, we should scroll to top for any of them
32
34
  // So we need to find all the parent tab navigators and add the listeners there
33
35
  while (currentNavigation) {
@@ -43,7 +45,7 @@ export default function useScrollToTop(ref) {
43
45
  return tab.addListener(
44
46
  // We don't wanna import tab types here to avoid extra deps
45
47
  // in addition, there are multiple tab implementations
46
- // @ts-expect-error
48
+ // @ts-expect-error the `tabPress` event is only available when navigation type is tab
47
49
  'tabPress', e => {
48
50
  // We should scroll to top only when the screen is focused
49
51
  const isFocused = navigation.isFocused();
@@ -1 +1 @@
1
- {"version":3,"names":["useNavigation","useRoute","React","getScrollableNode","ref","current","getScrollResponder","getNode","useScrollToTop","navigation","route","useEffect","tabNavigations","currentNavigation","getState","type","push","getParent","length","unsubscribers","map","tab","addListener","e","isFocused","isFirst","includes","routes","key","requestAnimationFrame","scrollable","defaultPrevented","scrollToTop","scrollTo","y","animated","scrollToOffset","offset","scrollResponderScrollTo","forEach","unsubscribe"],"sourceRoot":"../../src","sources":["useScrollToTop.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["NavigationContext","useRoute","React","getScrollableNode","ref","current","getScrollResponder","getNode","useScrollToTop","navigation","useContext","route","undefined","Error","useEffect","tabNavigations","currentNavigation","getState","type","push","getParent","length","unsubscribers","map","tab","addListener","e","isFocused","isFirst","includes","routes","key","requestAnimationFrame","scrollable","defaultPrevented","scrollToTop","scrollTo","y","animated","scrollToOffset","offset","scrollResponderScrollTo","forEach","unsubscribe"],"sourceRoot":"../../src","sources":["useScrollToTop.tsx"],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import * as React from 'react';
2
- export default function useThenable(create) {
2
+ export function useThenable(create) {
3
3
  const [promise] = React.useState(create);
4
4
  let initialState = [false, undefined];
5
5
 
6
6
  // Check if our thenable is synchronous
7
+ // eslint-disable-next-line promise/catch-or-return, promise/always-return
7
8
  promise.then(result => {
8
9
  initialState = [true, result];
9
10
  });
@@ -1 +1 @@
1
- {"version":3,"names":["React","useThenable","create","promise","useState","initialState","undefined","then","result","state","setState","resolved","useEffect","cancelled","resolve"],"sourceRoot":"../../src","sources":["useThenable.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,eAAe,SAASC,WAAW,CAAIC,MAA4B,EAAE;EACnE,MAAM,CAACC,OAAO,CAAC,GAAGH,KAAK,CAACI,QAAQ,CAACF,MAAM,CAAC;EAExC,IAAIG,YAAsC,GAAG,CAAC,KAAK,EAAEC,SAAS,CAAC;;EAE/D;EACAH,OAAO,CAACI,IAAI,CAAEC,MAAM,IAAK;IACvBH,YAAY,GAAG,CAAC,IAAI,EAAEG,MAAM,CAAC;EAC/B,CAAC,CAAC;EAEF,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGV,KAAK,CAACI,QAAQ,CAACC,YAAY,CAAC;EACtD,MAAM,CAACM,QAAQ,CAAC,GAAGF,KAAK;EAExBT,KAAK,CAACY,SAAS,CAAC,MAAM;IACpB,IAAIC,SAAS,GAAG,KAAK;IAErB,MAAMC,OAAO,GAAG,YAAY;MAC1B,IAAIN,MAAM;MAEV,IAAI;QACFA,MAAM,GAAG,MAAML,OAAO;MACxB,CAAC,SAAS;QACR,IAAI,CAACU,SAAS,EAAE;UACdH,QAAQ,CAAC,CAAC,IAAI,EAAEF,MAAM,CAAC,CAAC;QAC1B;MACF;IACF,CAAC;IAED,IAAI,CAACG,QAAQ,EAAE;MACbG,OAAO,EAAE;IACX;IAEA,OAAO,MAAM;MACXD,SAAS,GAAG,IAAI;IAClB,CAAC;EACH,CAAC,EAAE,CAACV,OAAO,EAAEQ,QAAQ,CAAC,CAAC;EAEvB,OAAOF,KAAK;AACd"}
1
+ {"version":3,"names":["React","useThenable","create","promise","useState","initialState","undefined","then","result","state","setState","resolved","useEffect","cancelled","resolve"],"sourceRoot":"../../src","sources":["useThenable.tsx"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAO,SAASC,WAAWA,CAAIC,MAA4B,EAAE;EAC3D,MAAM,CAACC,OAAO,CAAC,GAAGH,KAAK,CAACI,QAAQ,CAACF,MAAM,CAAC;EAExC,IAAIG,YAAsC,GAAG,CAAC,KAAK,EAAEC,SAAS,CAAC;;EAE/D;EACA;EACAH,OAAO,CAACI,IAAI,CAAEC,MAAM,IAAK;IACvBH,YAAY,GAAG,CAAC,IAAI,EAAEG,MAAM,CAAC;EAC/B,CAAC,CAAC;EAEF,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGV,KAAK,CAACI,QAAQ,CAACC,YAAY,CAAC;EACtD,MAAM,CAACM,QAAQ,CAAC,GAAGF,KAAK;EAExBT,KAAK,CAACY,SAAS,CAAC,MAAM;IACpB,IAAIC,SAAS,GAAG,KAAK;IAErB,MAAMC,OAAO,GAAG,MAAAA,CAAA,KAAY;MAC1B,IAAIN,MAAM;MAEV,IAAI;QACFA,MAAM,GAAG,MAAML,OAAO;MACxB,CAAC,SAAS;QACR,IAAI,CAACU,SAAS,EAAE;UACdH,QAAQ,CAAC,CAAC,IAAI,EAAEF,MAAM,CAAC,CAAC;QAC1B;MACF;IACF,CAAC;IAED,IAAI,CAACG,QAAQ,EAAE;MACbG,OAAO,CAAC,CAAC;IACX;IAEA,OAAO,MAAM;MACXD,SAAS,GAAG,IAAI;IAClB,CAAC;EACH,CAAC,EAAE,CAACV,OAAO,EAAEQ,QAAQ,CAAC,CAAC;EAEvB,OAAOF,KAAK;AACd"}