@react-navigation/native 7.0.0-alpha.4 → 7.0.0-alpha.6

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 (157) hide show
  1. package/lib/commonjs/Link.js +13 -5
  2. package/lib/commonjs/Link.js.map +1 -1
  3. package/lib/commonjs/LinkingContext.js +7 -5
  4. package/lib/commonjs/LinkingContext.js.map +1 -1
  5. package/lib/commonjs/LocaleDirContext.js +3 -4
  6. package/lib/commonjs/LocaleDirContext.js.map +1 -1
  7. package/lib/commonjs/NavigationContainer.js +48 -14
  8. package/lib/commonjs/NavigationContainer.js.map +1 -1
  9. package/lib/commonjs/ServerContainer.js +3 -4
  10. package/lib/commonjs/ServerContainer.js.map +1 -1
  11. package/lib/commonjs/ServerContext.js +3 -4
  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 +4 -7
  20. package/lib/commonjs/createMemoryHistory.js.map +1 -1
  21. package/lib/commonjs/createStaticNavigation.js +2 -2
  22. package/lib/commonjs/createStaticNavigation.js.map +1 -1
  23. package/lib/commonjs/extractPathFromURL.js +1 -2
  24. package/lib/commonjs/extractPathFromURL.js.map +1 -1
  25. package/lib/commonjs/index.js +9 -1
  26. package/lib/commonjs/index.js.map +1 -1
  27. package/lib/commonjs/theming/DarkTheme.js +1 -2
  28. package/lib/commonjs/theming/DarkTheme.js.map +1 -1
  29. package/lib/commonjs/theming/DefaultTheme.js +1 -2
  30. package/lib/commonjs/theming/DefaultTheme.js.map +1 -1
  31. package/lib/commonjs/theming/ThemeContext.js +3 -4
  32. package/lib/commonjs/theming/ThemeContext.js.map +1 -1
  33. package/lib/commonjs/theming/ThemeProvider.js +2 -2
  34. package/lib/commonjs/theming/ThemeProvider.js.map +1 -1
  35. package/lib/commonjs/theming/fonts.js +1 -2
  36. package/lib/commonjs/theming/fonts.js.map +1 -1
  37. package/lib/commonjs/theming/useTheme.js +2 -2
  38. package/lib/commonjs/theming/useTheme.js.map +1 -1
  39. package/lib/commonjs/types.js.map +1 -1
  40. package/lib/commonjs/useBackButton.js.map +1 -1
  41. package/lib/commonjs/useBackButton.native.js +2 -2
  42. package/lib/commonjs/useBackButton.native.js.map +1 -1
  43. package/lib/commonjs/useDocumentTitle.js +5 -5
  44. package/lib/commonjs/useDocumentTitle.js.map +1 -1
  45. package/lib/commonjs/useDocumentTitle.native.js.map +1 -1
  46. package/lib/commonjs/useLinkProps.js +20 -23
  47. package/lib/commonjs/useLinkProps.js.map +1 -1
  48. package/lib/commonjs/useLinkTools.js +6 -6
  49. package/lib/commonjs/useLinkTools.js.map +1 -1
  50. package/lib/commonjs/useLinking.js +26 -13
  51. package/lib/commonjs/useLinking.js.map +1 -1
  52. package/lib/commonjs/useLinking.native.js +30 -23
  53. package/lib/commonjs/useLinking.native.js.map +1 -1
  54. package/lib/commonjs/useLocale.js +2 -2
  55. package/lib/commonjs/useLocale.js.map +1 -1
  56. package/lib/commonjs/useScrollToTop.js +4 -4
  57. package/lib/commonjs/useScrollToTop.js.map +1 -1
  58. package/lib/commonjs/useThenable.js +3 -2
  59. package/lib/commonjs/useThenable.js.map +1 -1
  60. package/lib/commonjs/useUnhandledLinking.js +74 -0
  61. package/lib/commonjs/useUnhandledLinking.js.map +1 -0
  62. package/lib/module/Link.js +11 -3
  63. package/lib/module/Link.js.map +1 -1
  64. package/lib/module/LinkingContext.js +4 -1
  65. package/lib/module/LinkingContext.js.map +1 -1
  66. package/lib/module/LocaleDirContext.js.map +1 -1
  67. package/lib/module/NavigationContainer.js +44 -10
  68. package/lib/module/NavigationContainer.js.map +1 -1
  69. package/lib/module/ServerContainer.js.map +1 -1
  70. package/lib/module/ServerContext.js.map +1 -1
  71. package/lib/module/UnhandledLinkingContext.js +12 -0
  72. package/lib/module/UnhandledLinkingContext.js.map +1 -0
  73. package/lib/module/__stubs__/createStackNavigator.js +11 -0
  74. package/lib/module/__stubs__/createStackNavigator.js.map +1 -0
  75. package/lib/module/__stubs__/window.js +73 -0
  76. package/lib/module/__stubs__/window.js.map +1 -0
  77. package/lib/module/createMemoryHistory.js +4 -7
  78. package/lib/module/createMemoryHistory.js.map +1 -1
  79. package/lib/module/createStaticNavigation.js.map +1 -1
  80. package/lib/module/extractPathFromURL.js +1 -2
  81. package/lib/module/extractPathFromURL.js.map +1 -1
  82. package/lib/module/index.js +1 -0
  83. package/lib/module/index.js.map +1 -1
  84. package/lib/module/theming/DarkTheme.js.map +1 -1
  85. package/lib/module/theming/DefaultTheme.js.map +1 -1
  86. package/lib/module/theming/ThemeContext.js.map +1 -1
  87. package/lib/module/theming/ThemeProvider.js.map +1 -1
  88. package/lib/module/theming/fonts.js.map +1 -1
  89. package/lib/module/theming/useTheme.js.map +1 -1
  90. package/lib/module/types.js.map +1 -1
  91. package/lib/module/useBackButton.js.map +1 -1
  92. package/lib/module/useBackButton.native.js.map +1 -1
  93. package/lib/module/useDocumentTitle.js +3 -3
  94. package/lib/module/useDocumentTitle.js.map +1 -1
  95. package/lib/module/useDocumentTitle.native.js.map +1 -1
  96. package/lib/module/useLinkProps.js +18 -21
  97. package/lib/module/useLinkProps.js.map +1 -1
  98. package/lib/module/useLinkTools.js +4 -4
  99. package/lib/module/useLinkTools.js.map +1 -1
  100. package/lib/module/useLinking.js +24 -11
  101. package/lib/module/useLinking.js.map +1 -1
  102. package/lib/module/useLinking.native.js +28 -21
  103. package/lib/module/useLinking.native.js.map +1 -1
  104. package/lib/module/useLocale.js.map +1 -1
  105. package/lib/module/useScrollToTop.js +2 -2
  106. package/lib/module/useScrollToTop.js.map +1 -1
  107. package/lib/module/useThenable.js +1 -0
  108. package/lib/module/useThenable.js.map +1 -1
  109. package/lib/module/useUnhandledLinking.js +67 -0
  110. package/lib/module/useUnhandledLinking.js.map +1 -0
  111. package/lib/typescript/src/Link.d.ts +3 -3
  112. package/lib/typescript/src/Link.d.ts.map +1 -1
  113. package/lib/typescript/src/LinkingContext.d.ts +2 -2
  114. package/lib/typescript/src/LinkingContext.d.ts.map +1 -1
  115. package/lib/typescript/src/NavigationContainer.d.ts +1 -1
  116. package/lib/typescript/src/NavigationContainer.d.ts.map +1 -1
  117. package/lib/typescript/src/ServerContainer.d.ts +1 -1
  118. package/lib/typescript/src/ServerContainer.d.ts.map +1 -1
  119. package/lib/typescript/src/UnhandledLinkingContext.d.ts +6 -0
  120. package/lib/typescript/src/UnhandledLinkingContext.d.ts.map +1 -0
  121. package/lib/typescript/src/{__mocks__ → __stubs__}/createStackNavigator.d.ts +5 -4
  122. package/lib/typescript/src/__stubs__/createStackNavigator.d.ts.map +1 -0
  123. package/lib/typescript/src/{__mocks__ → __stubs__}/window.d.ts +1 -1
  124. package/lib/typescript/src/{__mocks__ → __stubs__}/window.d.ts.map +1 -1
  125. package/lib/typescript/src/createStaticNavigation.d.ts +2 -2
  126. package/lib/typescript/src/createStaticNavigation.d.ts.map +1 -1
  127. package/lib/typescript/src/index.d.ts +1 -0
  128. package/lib/typescript/src/index.d.ts.map +1 -1
  129. package/lib/typescript/src/theming/ThemeProvider.d.ts +1 -1
  130. package/lib/typescript/src/theming/ThemeProvider.d.ts.map +1 -1
  131. package/lib/typescript/src/useLinkProps.d.ts +2 -2
  132. package/lib/typescript/src/useLinkProps.d.ts.map +1 -1
  133. package/lib/typescript/src/useLinking.d.ts +2 -2
  134. package/lib/typescript/src/useLinking.d.ts.map +1 -1
  135. package/lib/typescript/src/useLinking.native.d.ts +2 -2
  136. package/lib/typescript/src/useLinking.native.d.ts.map +1 -1
  137. package/lib/typescript/src/useThenable.d.ts.map +1 -1
  138. package/lib/typescript/src/useUnhandledLinking.d.ts +7 -0
  139. package/lib/typescript/src/useUnhandledLinking.d.ts.map +1 -0
  140. package/package.json +12 -12
  141. package/src/Link.tsx +11 -2
  142. package/src/LinkingContext.tsx +8 -3
  143. package/src/NavigationContainer.tsx +68 -20
  144. package/src/ServerContainer.tsx +1 -1
  145. package/src/UnhandledLinkingContext.tsx +18 -0
  146. package/src/{__mocks__ → __stubs__}/window.tsx +7 -5
  147. package/src/createStaticNavigation.tsx +2 -2
  148. package/src/index.tsx +1 -0
  149. package/src/useLinkProps.tsx +20 -19
  150. package/src/useLinkTools.tsx +3 -3
  151. package/src/useLinking.native.tsx +26 -20
  152. package/src/useLinking.tsx +33 -12
  153. package/src/useScrollToTop.tsx +4 -4
  154. package/src/useThenable.tsx +1 -0
  155. package/src/useUnhandledLinking.tsx +90 -0
  156. package/lib/typescript/src/__mocks__/createStackNavigator.d.ts.map +0 -1
  157. /package/src/{__mocks__ → __stubs__}/createStackNavigator.tsx +0 -0
@@ -27,7 +27,7 @@ export function useLinkTools() {
27
27
  const {
28
28
  options
29
29
  } = linking;
30
- if ((options === null || options === void 0 ? void 0 : options.enabled) === false) {
30
+ if (options?.enabled === false) {
31
31
  return undefined;
32
32
  }
33
33
  const state = navigation ? getRootStateForNavigate(navigation, {
@@ -46,7 +46,7 @@ export function useLinkTools() {
46
46
  params
47
47
  }]
48
48
  };
49
- const path = options !== null && options !== void 0 && options.getPathFromState ? options.getPathFromState(state, options === null || options === void 0 ? void 0 : options.config) : getPathFromState(state, options === null || options === void 0 ? void 0 : options.config);
49
+ const path = options?.getPathFromState ? options.getPathFromState(state, options?.config) : getPathFromState(state, options?.config);
50
50
  return path;
51
51
  }, [linking, navigation]);
52
52
  const buildAction = React.useCallback(href => {
@@ -56,9 +56,9 @@ export function useLinkTools() {
56
56
  const {
57
57
  options
58
58
  } = linking;
59
- const state = options !== null && options !== void 0 && options.getStateFromPath ? options.getStateFromPath(href, options.config) : getStateFromPath(href, options === null || options === void 0 ? void 0 : options.config);
59
+ const state = options?.getStateFromPath ? options.getStateFromPath(href, options.config) : getStateFromPath(href, options?.config);
60
60
  if (state) {
61
- const action = getActionFromState(state, options === null || options === void 0 ? void 0 : options.config);
61
+ const action = getActionFromState(state, options?.config);
62
62
  return action ?? CommonActions.reset(state);
63
63
  } else {
64
64
  throw new Error('Failed to parse the path to a navigation state.');
@@ -1 +1 @@
1
- {"version":3,"names":["CommonActions","getActionFromState","getPathFromState","getStateFromPath","NavigationHelpersContext","React","LinkingContext","getRootStateForNavigate","navigation","state","parent","getParent","parentState","getState","index","routes","useLinkTools","useContext","linking","buildHref","useCallback","name","params","options","enabled","undefined","path","config","buildAction","href","startsWith","Error","action","reset"],"sourceRoot":"../../src","sources":["useLinkTools.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["CommonActions","getActionFromState","getPathFromState","getStateFromPath","NavigationHelpersContext","React","LinkingContext","getRootStateForNavigate","navigation","state","parent","getParent","parentState","getState","index","routes","useLinkTools","useContext","linking","buildHref","useCallback","name","params","options","enabled","undefined","path","config","buildAction","href","startsWith","Error","action","reset"],"sourceRoot":"../../src","sources":["useLinkTools.tsx"],"mappings":"AAAA,SACEA,aAAa,EACbC,kBAAkB,EAClBC,gBAAgB,EAChBC,gBAAgB,EAEhBC,wBAAwB,QAGnB,wBAAwB;AAC/B,OAAO,KAAKC,KAAK,MAAM,OAAO;AAE9B,SAASC,cAAc,QAAQ,kBAAkB;AAWjD,MAAMC,uBAAuB,GAAGA,CAC9BC,UAA4B,EAC5BC,KAAmB,KACF;EACjB,MAAMC,MAAM,GAAGF,UAAU,CAACG,SAAS,CAAC,CAAC;EAErC,IAAID,MAAM,EAAE;IACV,MAAME,WAAW,GAAGF,MAAM,CAACG,QAAQ,CAAC,CAAC;IAErC,OAAON,uBAAuB,CAACG,MAAM,EAAE;MACrCI,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE,CACN;QACE,GAAGH,WAAW,CAACG,MAAM,CAACH,WAAW,CAACE,KAAK,CAAC;QACxCL,KAAK,EAAEA;MACT,CAAC;IAEL,CAAC,CAAC;EACJ;EAEA,OAAOA,KAAK;AACd,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,SAASO,YAAYA,CAAA,EAAG;EAC7B,MAAMR,UAAU,GAAGH,KAAK,CAACY,UAAU,CAACb,wBAAwB,CAAC;EAC7D,MAAMc,OAAO,GAAGb,KAAK,CAACY,UAAU,CAACX,cAAc,CAAC;EAEhD,MAAMa,SAAS,GAAGd,KAAK,CAACe,WAAW,CACjC,CAACC,IAAY,EAAEC,MAAe,KAAK;IACjC,MAAM;MAAEC;IAAQ,CAAC,GAAGL,OAAO;IAE3B,IAAIK,OAAO,EAAEC,OAAO,KAAK,KAAK,EAAE;MAC9B,OAAOC,SAAS;IAClB;IAEA,MAAMhB,KAAK,GAAGD,UAAU,GACpBD,uBAAuB,CAACC,UAAU,EAAE;MAClCM,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE,CAAC;QAAEM,IAAI;QAAEC;MAAO,CAAC;IAC3B,CAAC,CAAC;IACF;IACA;IACA;MACER,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE,CAAC;QAAEM,IAAI;QAAEC;MAAO,CAAC;IAC3B,CAAC;IAEL,MAAMI,IAAI,GAAGH,OAAO,EAAErB,gBAAgB,GAClCqB,OAAO,CAACrB,gBAAgB,CAACO,KAAK,EAAEc,OAAO,EAAEI,MAAM,CAAC,GAChDzB,gBAAgB,CAACO,KAAK,EAAEc,OAAO,EAAEI,MAAM,CAAC;IAE5C,OAAOD,IAAI;EACb,CAAC,EACD,CAACR,OAAO,EAAEV,UAAU,CACtB,CAAC;EAED,MAAMoB,WAAW,GAAGvB,KAAK,CAACe,WAAW,CAClCS,IAAY,IAAK;IAChB,IAAI,CAACA,IAAI,CAACC,UAAU,CAAC,GAAG,CAAC,EAAE;MACzB,MAAM,IAAIC,KAAK,CAAE,iCAAgCF,IAAK,IAAG,CAAC;IAC5D;IAEA,MAAM;MAAEN;IAAQ,CAAC,GAAGL,OAAO;IAE3B,MAAMT,KAAK,GAAGc,OAAO,EAAEpB,gBAAgB,GACnCoB,OAAO,CAACpB,gBAAgB,CAAC0B,IAAI,EAAEN,OAAO,CAACI,MAAM,CAAC,GAC9CxB,gBAAgB,CAAC0B,IAAI,EAAEN,OAAO,EAAEI,MAAM,CAAC;IAE3C,IAAIlB,KAAK,EAAE;MACT,MAAMuB,MAAM,GAAG/B,kBAAkB,CAACQ,KAAK,EAAEc,OAAO,EAAEI,MAAM,CAAC;MAEzD,OAAOK,MAAM,IAAIhC,aAAa,CAACiC,KAAK,CAACxB,KAAK,CAAC;IAC7C,CAAC,MAAM;MACL,MAAM,IAAIsB,KAAK,CAAC,iDAAiD,CAAC;IACpE;EACF,CAAC,EACD,CAACb,OAAO,CACV,CAAC;EAED,OAAO;IACLC,SAAS;IACTS;EACF,CAAC;AACH"}
@@ -37,12 +37,13 @@ const findMatchingState = (a, b) => {
37
37
  export const series = cb => {
38
38
  let queue = Promise.resolve();
39
39
  const callback = () => {
40
+ // eslint-disable-next-line promise/no-callback-in-promise
40
41
  queue = queue.then(cb);
41
42
  };
42
43
  return callback;
43
44
  };
44
- let linkingHandlers = [];
45
- export function useLinking(ref, _ref) {
45
+ const linkingHandlers = [];
46
+ export function useLinking(ref, _ref, onUnhandledLinking) {
46
47
  let {
47
48
  enabled = true,
48
49
  config,
@@ -89,15 +90,25 @@ export function useLinking(ref, _ref) {
89
90
  getPathFromStateRef.current = getPathFromState;
90
91
  getActionFromStateRef.current = getActionFromState;
91
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]);
92
100
  const server = React.useContext(ServerContext);
93
101
  const getInitialState = React.useCallback(() => {
94
102
  let value;
95
103
  if (enabledRef.current) {
96
- 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);
97
105
  const path = location ? location.pathname + location.search : undefined;
98
106
  if (path) {
99
107
  value = getStateFromPathRef.current(path, configRef.current);
100
108
  }
109
+
110
+ // If the link were handled, it gets cleared in NavigationContainer
111
+ onUnhandledLinking(path);
101
112
  }
102
113
  const thenable = {
103
114
  then(onfulfilled) {
@@ -120,6 +131,9 @@ export function useLinking(ref, _ref) {
120
131
  if (!navigation || !enabled) {
121
132
  return;
122
133
  }
134
+ const {
135
+ location
136
+ } = window;
123
137
  const path = location.pathname + location.search;
124
138
  const index = history.index;
125
139
  const previousIndex = previousIndexRef.current ?? 0;
@@ -130,7 +144,7 @@ export function useLinking(ref, _ref) {
130
144
  // If it does we'll reset to that state object
131
145
  // Otherwise, we'll handle it like a regular deep link
132
146
  const record = history.get(index);
133
- 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) {
134
148
  navigation.resetRoot(record.state);
135
149
  return;
136
150
  }
@@ -139,11 +153,11 @@ export function useLinking(ref, _ref) {
139
153
  // We should only dispatch an action when going forward
140
154
  // Otherwise the action will likely add items to history, which would mess things up
141
155
  if (state) {
156
+ // If the link were handled, it gets cleared in NavigationContainer
157
+ onUnhandledLinking(path);
142
158
  // Make sure that the routes in the state exist in the root navigator
143
159
  // Otherwise there's an error in the linking configuration
144
- const rootState = navigation.getRootState();
145
- if (state.routes.some(r => !(rootState !== null && rootState !== void 0 && rootState.routeNames.includes(r.name)))) {
146
- 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)) {
147
161
  return;
148
162
  }
149
163
  if (index > previousIndex) {
@@ -167,16 +181,15 @@ export function useLinking(ref, _ref) {
167
181
  navigation.resetRoot(state);
168
182
  }
169
183
  });
170
- }, [enabled, history, ref]);
184
+ }, [enabled, history, onUnhandledLinking, ref, validateRoutesNotExistInRootState]);
171
185
  React.useEffect(() => {
172
- var _ref$current;
173
186
  if (!enabled) {
174
187
  return;
175
188
  }
176
189
  const getPathForRoute = (route, state) => {
177
190
  // If the `route` object contains a `path`, use that path as long as `route.name` and `params` still match
178
191
  // This makes sure that we preserve the original URL for wildcard routes
179
- if (route !== null && route !== void 0 && route.path) {
192
+ if (route?.path) {
180
193
  const stateForPath = getStateFromPathRef.current(route.path, configRef.current);
181
194
  if (stateForPath) {
182
195
  const focusedRoute = findFocusedRoute(stateForPath);
@@ -284,7 +297,7 @@ export function useLinking(ref, _ref) {
284
297
  // We debounce onStateChange coz we don't want multiple state changes to be handled at one time
285
298
  // This could happen since `history.go(n)` is asynchronous
286
299
  // If `pushState` or `replaceState` were called before `history.go(n)` completes, it'll mess stuff up
287
- return (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.addListener('state', series(onStateChange));
300
+ return ref.current?.addListener('state', series(onStateChange));
288
301
  }, [enabled, history, ref]);
289
302
  return {
290
303
  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","queue","Promise","resolve","callback","then","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","onfulfilled","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":"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,GAAG,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,EAAE;EAC7B,MAAMC,QAAQ,GAAG,MAAM;IACrBH,KAAK,GAAGA,KAAK,CAACI,IAAI,CAACL,EAAE,CAAC;EACxB,CAAC;EACD,OAAOI,QAAQ;AACjB,CAAC;AAED,IAAIE,eAAyB,GAAG,EAAE;AAIlC,OAAO,SAASC,UAAU,CACxBC,GAA2D,QAQ3D;EAAA,IAPA;IACEC,OAAO,GAAG,IAAI;IACdC,MAAM;IACNlC,gBAAgB,GAAGC,uBAAuB;IAC1CH,gBAAgB,GAAGC,uBAAuB;IAC1CH,kBAAkB,GAAGC;EACd,CAAC;EAEV,MAAMsC,WAAW,GAAGjC,4BAA4B,EAAE;EAElDE,KAAK,CAACgC,SAAS,CAAC,MAAM;IACpB,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;MACzC,OAAO7B,SAAS;IAClB;IAEA,IAAIyB,WAAW,EAAE;MACf,OAAOzB,SAAS;IAClB;IAEA,IAAIuB,OAAO,KAAK,KAAK,IAAIH,eAAe,CAAChB,MAAM,EAAE;MAC/C0B,OAAO,CAACC,KAAK,CACX,CACE,6KAA6K,EAC7K,uFAAuF,EACvF,4DAA4D,CAC7D,CACEC,IAAI,CAAC,IAAI,CAAC,CACVC,IAAI,EAAE,CACV;IACH;IAEA,MAAMC,OAAO,GAAGC,MAAM,EAAE;IAExB,IAAIZ,OAAO,KAAK,KAAK,EAAE;MACrBH,eAAe,CAACgB,IAAI,CAACF,OAAO,CAAC;IAC/B;IAEA,OAAO,MAAM;MACX,MAAM1B,KAAK,GAAGY,eAAe,CAACiB,OAAO,CAACH,OAAO,CAAC;MAE9C,IAAI1B,KAAK,GAAG,CAAC,CAAC,EAAE;QACdY,eAAe,CAACkB,MAAM,CAAC9B,KAAK,EAAE,CAAC,CAAC;MAClC;IACF,CAAC;EACH,CAAC,EAAE,CAACe,OAAO,EAAEE,WAAW,CAAC,CAAC;EAE1B,MAAM,CAACtB,OAAO,CAAC,GAAGT,KAAK,CAAC6C,QAAQ,CAAC5C,mBAAmB,CAAC;;EAErD;EACA;EACA;EACA,MAAM6C,UAAU,GAAG9C,KAAK,CAAC+C,MAAM,CAAClB,OAAO,CAAC;EACxC,MAAMmB,SAAS,GAAGhD,KAAK,CAAC+C,MAAM,CAACjB,MAAM,CAAC;EACtC,MAAMmB,mBAAmB,GAAGjD,KAAK,CAAC+C,MAAM,CAACnD,gBAAgB,CAAC;EAC1D,MAAMsD,mBAAmB,GAAGlD,KAAK,CAAC+C,MAAM,CAACrD,gBAAgB,CAAC;EAC1D,MAAMyD,qBAAqB,GAAGnD,KAAK,CAAC+C,MAAM,CAACvD,kBAAkB,CAAC;EAE9DQ,KAAK,CAACgC,SAAS,CAAC,MAAM;IACpBc,UAAU,CAACM,OAAO,GAAGvB,OAAO;IAC5BmB,SAAS,CAACI,OAAO,GAAGtB,MAAM;IAC1BmB,mBAAmB,CAACG,OAAO,GAAGxD,gBAAgB;IAC9CsD,mBAAmB,CAACE,OAAO,GAAG1D,gBAAgB;IAC9CyD,qBAAqB,CAACC,OAAO,GAAG5D,kBAAkB;EACpD,CAAC,CAAC;EAEF,MAAM6D,MAAM,GAAGrD,KAAK,CAACsD,UAAU,CAACpD,aAAa,CAAC;EAE9C,MAAMqD,eAAe,GAAGvD,KAAK,CAACwD,WAAW,CAAC,MAAM;IAC9C,IAAIC,KAA8B;IAElC,IAAIX,UAAU,CAACM,OAAO,EAAE;MACtB,MAAMM,QAAQ,GACZ,CAAAL,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEK,QAAQ,MACf,OAAOC,MAAM,KAAK,WAAW,GAAGA,MAAM,CAACD,QAAQ,GAAGpD,SAAS,CAAC;MAE/D,MAAMsD,IAAI,GAAGF,QAAQ,GAAGA,QAAQ,CAACG,QAAQ,GAAGH,QAAQ,CAACI,MAAM,GAAGxD,SAAS;MAEvE,IAAIsD,IAAI,EAAE;QACRH,KAAK,GAAGR,mBAAmB,CAACG,OAAO,CAACQ,IAAI,EAAEZ,SAAS,CAACI,OAAO,CAAC;MAC9D;IACF;IAEA,MAAMW,QAAQ,GAAG;MACftC,IAAI,CAACuC,WAAsD,EAAE;QAC3D,OAAO1C,OAAO,CAACC,OAAO,CAACyC,WAAW,GAAGA,WAAW,CAACP,KAAK,CAAC,GAAGA,KAAK,CAAC;MAClE,CAAC;MACDQ,KAAK,GAAG;QACN,OAAOF,QAAQ;MACjB;IACF,CAAC;IAED,OAAOA,QAAQ;IACf;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMG,gBAAgB,GAAGlE,KAAK,CAAC+C,MAAM,CAAqBzC,SAAS,CAAC;EACpE,MAAM6D,gBAAgB,GAAGnE,KAAK,CAAC+C,MAAM,CAA8BzC,SAAS,CAAC;EAC7E,MAAM8D,sBAAsB,GAAGpE,KAAK,CAAC+C,MAAM,CAAqBzC,SAAS,CAAC;EAE1EN,KAAK,CAACgC,SAAS,CAAC,MAAM;IACpBkC,gBAAgB,CAACd,OAAO,GAAG3C,OAAO,CAACK,KAAK;IAExC,OAAOL,OAAO,CAAC4D,MAAM,CAAC,MAAM;MAC1B,MAAMC,UAAU,GAAG1C,GAAG,CAACwB,OAAO;MAE9B,IAAI,CAACkB,UAAU,IAAI,CAACzC,OAAO,EAAE;QAC3B;MACF;MAEA,MAAM+B,IAAI,GAAGF,QAAQ,CAACG,QAAQ,GAAGH,QAAQ,CAACI,MAAM;MAChD,MAAMhD,KAAK,GAAGL,OAAO,CAACK,KAAK;MAE3B,MAAMyD,aAAa,GAAGL,gBAAgB,CAACd,OAAO,IAAI,CAAC;MAEnDc,gBAAgB,CAACd,OAAO,GAAGtC,KAAK;MAChCsD,sBAAsB,CAAChB,OAAO,GAAGQ,IAAI;;MAErC;MACA;MACA;MACA,MAAMY,MAAM,GAAG/D,OAAO,CAACgE,GAAG,CAAC3D,KAAK,CAAC;MAEjC,IAAI,CAAA0D,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEZ,IAAI,MAAKA,IAAI,IAAIY,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEvD,KAAK,EAAE;QAC1CqD,UAAU,CAACI,SAAS,CAACF,MAAM,CAACvD,KAAK,CAAC;QAClC;MACF;MAEA,MAAMA,KAAK,GAAGgC,mBAAmB,CAACG,OAAO,CAACQ,IAAI,EAAEZ,SAAS,CAACI,OAAO,CAAC;;MAElE;MACA;MACA,IAAInC,KAAK,EAAE;QACT;QACA;QACA,MAAM0D,SAAS,GAAGL,UAAU,CAACM,YAAY,EAAE;QAE3C,IAAI3D,KAAK,CAACN,MAAM,CAACkE,IAAI,CAAEC,CAAC,IAAK,EAACH,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEI,UAAU,CAACC,QAAQ,CAACF,CAAC,CAACG,IAAI,CAAC,EAAC,EAAE;UACrE7C,OAAO,CAAC8C,IAAI,CACV,0SAA0S,CAC3S;UACD;QACF;QAEA,IAAIpE,KAAK,GAAGyD,aAAa,EAAE;UACzB,MAAMY,MAAM,GAAGhC,qBAAqB,CAACC,OAAO,CAC1CnC,KAAK,EACL+B,SAAS,CAACI,OAAO,CAClB;UAED,IAAI+B,MAAM,KAAK7E,SAAS,EAAE;YACxB,IAAI;cACFgE,UAAU,CAACc,QAAQ,CAACD,MAAM,CAAC;YAC7B,CAAC,CAAC,OAAOE,CAAC,EAAE;cACV;cACA;cACAjD,OAAO,CAAC8C,IAAI,CACT,qDAAoDtB,IAAK,MACxD,OAAOyB,CAAC,KAAK,QAAQ,IAAIA,CAAC,IAAI,IAAI,IAAI,SAAS,IAAIA,CAAC,GAChDA,CAAC,CAACC,OAAO,GACTD,CACL,EAAC,CACH;YACH;UACF,CAAC,MAAM;YACLf,UAAU,CAACI,SAAS,CAACzD,KAAK,CAAC;UAC7B;QACF,CAAC,MAAM;UACLqD,UAAU,CAACI,SAAS,CAACzD,KAAK,CAAC;QAC7B;MACF,CAAC,MAAM;QACL;QACAqD,UAAU,CAACI,SAAS,CAACzD,KAAK,CAAC;MAC7B;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAACY,OAAO,EAAEpB,OAAO,EAAEmB,GAAG,CAAC,CAAC;EAE3B5B,KAAK,CAACgC,SAAS,CAAC,MAAM;IAAA;IACpB,IAAI,CAACH,OAAO,EAAE;MACZ;IACF;IAEA,MAAM0D,eAAe,GAAG,CACtBC,KAA0C,EAC1CvE,KAAsB,KACX;MACX;MACA;MACA,IAAIuE,KAAK,aAALA,KAAK,eAALA,KAAK,CAAE5B,IAAI,EAAE;QACf,MAAM6B,YAAY,GAAGxC,mBAAmB,CAACG,OAAO,CAC9CoC,KAAK,CAAC5B,IAAI,EACVZ,SAAS,CAACI,OAAO,CAClB;QAED,IAAIqC,YAAY,EAAE;UAChB,MAAMC,YAAY,GAAGnG,gBAAgB,CAACkG,YAAY,CAAC;UAEnD,IACEC,YAAY,IACZA,YAAY,CAACT,IAAI,KAAKO,KAAK,CAACP,IAAI,IAChClF,OAAO,CAAC2F,YAAY,CAACC,MAAM,EAAEH,KAAK,CAACG,MAAM,CAAC,EAC1C;YACA,OAAOH,KAAK,CAAC5B,IAAI;UACnB;QACF;MACF;MAEA,OAAOV,mBAAmB,CAACE,OAAO,CAACnC,KAAK,EAAE+B,SAAS,CAACI,OAAO,CAAC;IAC9D,CAAC;IAED,IAAIxB,GAAG,CAACwB,OAAO,EAAE;MACf;MACA;MACA,MAAMnC,KAAK,GAAGW,GAAG,CAACwB,OAAO,CAACwB,YAAY,EAAE;MAExC,IAAI3D,KAAK,EAAE;QACT,MAAMuE,KAAK,GAAGjG,gBAAgB,CAAC0B,KAAK,CAAC;QACrC,MAAM2C,IAAI,GAAG2B,eAAe,CAACC,KAAK,EAAEvE,KAAK,CAAC;QAE1C,IAAIkD,gBAAgB,CAACf,OAAO,KAAK9C,SAAS,EAAE;UAC1C6D,gBAAgB,CAACf,OAAO,GAAGnC,KAAK;QAClC;QAEAR,OAAO,CAACmF,OAAO,CAAC;UAAEhC,IAAI;UAAE3C;QAAM,CAAC,CAAC;MAClC;IACF;IAEA,MAAM4E,aAAa,GAAG,YAAY;MAChC,MAAMvB,UAAU,GAAG1C,GAAG,CAACwB,OAAO;MAE9B,IAAI,CAACkB,UAAU,IAAI,CAACzC,OAAO,EAAE;QAC3B;MACF;MAEA,MAAMiE,aAAa,GAAG3B,gBAAgB,CAACf,OAAO;MAC9C,MAAMnC,KAAK,GAAGqD,UAAU,CAACM,YAAY,EAAE;;MAEvC;MACA,IAAI,CAAC3D,KAAK,EAAE;QACV;MACF;MAEA,MAAM8E,WAAW,GAAG3B,sBAAsB,CAAChB,OAAO;MAClD,MAAMoC,KAAK,GAAGjG,gBAAgB,CAAC0B,KAAK,CAAC;MACrC,MAAM2C,IAAI,GAAG2B,eAAe,CAACC,KAAK,EAAEvE,KAAK,CAAC;MAE1CkD,gBAAgB,CAACf,OAAO,GAAGnC,KAAK;MAChCmD,sBAAsB,CAAChB,OAAO,GAAG9C,SAAS;;MAE1C;MACA;MACA;MACA;MACA,MAAM,CAAC0F,oBAAoB,EAAEC,YAAY,CAAC,GAAG9F,iBAAiB,CAC5D2F,aAAa,EACb7E,KAAK,CACN;MAED,IACE+E,oBAAoB,IACpBC,YAAY;MACZ;MACA;MACArC,IAAI,KAAKmC,WAAW,EACpB;QACA,MAAMG,YAAY,GAChB,CAACD,YAAY,CAACxF,OAAO,GACjBwF,YAAY,CAACxF,OAAO,CAACC,MAAM,GAC3BuF,YAAY,CAACtF,MAAM,CAACD,MAAM,KAC7BsF,oBAAoB,CAACvF,OAAO,GACzBuF,oBAAoB,CAACvF,OAAO,CAACC,MAAM,GACnCsF,oBAAoB,CAACrF,MAAM,CAACD,MAAM,CAAC;QAEzC,IAAIwF,YAAY,GAAG,CAAC,EAAE;UACpB;UACA;UACAzF,OAAO,CAACiC,IAAI,CAAC;YAAEkB,IAAI;YAAE3C;UAAM,CAAC,CAAC;QAC/B,CAAC,MAAM,IAAIiF,YAAY,GAAG,CAAC,EAAE;UAC3B;;UAEA,MAAMC,SAAS,GAAG1F,OAAO,CAAC2F,SAAS,CAAC;YAAExC;UAAK,CAAC,CAAC;UAC7C,MAAMyC,YAAY,GAAG5F,OAAO,CAACK,KAAK;UAElC,IAAI;YACF,IAAIqF,SAAS,KAAK,CAAC,CAAC,IAAIA,SAAS,GAAGE,YAAY,EAAE;cAChD;cACA,MAAM5F,OAAO,CAAC6F,EAAE,CAACH,SAAS,GAAGE,YAAY,CAAC;YAC5C,CAAC,MAAM;cACL;cACA;cACA;cACA,MAAM5F,OAAO,CAAC6F,EAAE,CAACJ,YAAY,CAAC;YAChC;;YAEA;YACAzF,OAAO,CAACmF,OAAO,CAAC;cAAEhC,IAAI;cAAE3C;YAAM,CAAC,CAAC;UAClC,CAAC,CAAC,OAAOoE,CAAC,EAAE;YACV;UAAA;QAEJ,CAAC,MAAM;UACL;UACA5E,OAAO,CAACmF,OAAO,CAAC;YAAEhC,IAAI;YAAE3C;UAAM,CAAC,CAAC;QAClC;MACF,CAAC,MAAM;QACL;QACA;QACAR,OAAO,CAACmF,OAAO,CAAC;UAAEhC,IAAI;UAAE3C;QAAM,CAAC,CAAC;MAClC;IACF,CAAC;;IAED;IACA;IACA;IACA,uBAAOW,GAAG,CAACwB,OAAO,iDAAX,aAAamD,WAAW,CAAC,OAAO,EAAEpF,MAAM,CAAC0E,aAAa,CAAC,CAAC;EACjE,CAAC,EAAE,CAAChE,OAAO,EAAEpB,OAAO,EAAEmB,GAAG,CAAC,CAAC;EAE3B,OAAO;IACL2B;EACF,CAAC;AACH"}
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":"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"}
@@ -2,19 +2,19 @@ import { getActionFromState as getActionFromStateDefault, getStateFromPath as ge
2
2
  import * as React from 'react';
3
3
  import { Linking, Platform } from 'react-native';
4
4
  import { extractPathFromURL } from './extractPathFromURL';
5
- let linkingHandlers = [];
6
- export function useLinking(ref, _ref) {
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 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 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 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 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 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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"}
@@ -1 +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,SAAS,GAAG;EAC1B,MAAMC,SAAS,GAAGH,KAAK,CAACI,UAAU,CAACH,gBAAgB,CAAC;EAEpD,IAAIE,SAAS,KAAKE,SAAS,EAAE;IAC3B,MAAM,IAAIC,KAAK,CACb,sFAAsF,CACvF;EACH;EAEA,OAAO;IAAEH;EAAU,CAAC;AACtB"}
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"}
@@ -25,7 +25,7 @@ export function useScrollToTop(ref) {
25
25
  const navigation = useNavigation();
26
26
  const route = useRoute();
27
27
  React.useEffect(() => {
28
- let tabNavigations = [];
28
+ const tabNavigations = [];
29
29
  let currentNavigation = navigation;
30
30
 
31
31
  // If the screen is nested inside multiple tab navigators, we should scroll to top for any of them
@@ -43,7 +43,7 @@ export function useScrollToTop(ref) {
43
43
  return tab.addListener(
44
44
  // We don't wanna import tab types here to avoid extra deps
45
45
  // in addition, there are multiple tab implementations
46
- // @ts-expect-error
46
+ // @ts-expect-error the `tabPress` event is only available when navigation type is tab
47
47
  'tabPress', e => {
48
48
  // We should scroll to top only when the screen is focused
49
49
  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":["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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"}
@@ -4,6 +4,7 @@ export function useThenable(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,OAAO,SAASC,WAAW,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;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"}
@@ -0,0 +1,67 @@
1
+ import { getStateFromPath, NavigationContext } from '@react-navigation/core';
2
+ import React from 'react';
3
+ import useLatestCallback from 'use-latest-callback';
4
+ import { LinkingContext } from './LinkingContext';
5
+ import { UnhandledLinkingContext } from './UnhandledLinkingContext';
6
+ function extractNavigatorSpecificState(_, pathState, depth) {
7
+ let partialPathState = pathState;
8
+ let currentDepth = depth;
9
+ while (currentDepth) {
10
+ if (!partialPathState) {
11
+ return undefined;
12
+ }
13
+ partialPathState = partialPathState.routes[partialPathState.routes.length - 1].state;
14
+ currentDepth--;
15
+ }
16
+ return partialPathState;
17
+ }
18
+ export function useUnhandledLinking() {
19
+ const navigation = React.useContext(NavigationContext);
20
+ const linking = React.useContext(LinkingContext);
21
+ const {
22
+ setLastUnhandledLink,
23
+ lastUnhandledLink
24
+ } = React.useContext(UnhandledLinkingContext);
25
+ const {
26
+ options
27
+ } = linking;
28
+ const getStateForRouteNamesChange = currentState => {
29
+ if (lastUnhandledLink == null) {
30
+ // noop, nothing to handle
31
+ return;
32
+ }
33
+
34
+ // at web, the path is already extracted
35
+ const path = lastUnhandledLink;
36
+ if (!lastUnhandledLink) {
37
+ return;
38
+ }
39
+
40
+ // First, we parse the URL to get the desired state
41
+ const getStateFromPathHelper = options?.getStateFromPath ?? getStateFromPath;
42
+ const pathState = getStateFromPathHelper(path, options?.config);
43
+ if (!pathState) {
44
+ return;
45
+ }
46
+ let depth = 0;
47
+ let parent = navigation;
48
+ while (parent) {
49
+ depth++;
50
+ parent = parent.getParent();
51
+ }
52
+ const state = extractNavigatorSpecificState(currentState, pathState, depth);
53
+ if (!state) {
54
+ return;
55
+ }
56
+ return state;
57
+ };
58
+ const clearUnhandledLink = useLatestCallback(() => {
59
+ setLastUnhandledLink(undefined);
60
+ });
61
+ return {
62
+ lastUnhandledLink,
63
+ getStateForRouteNamesChange,
64
+ clearUnhandledLink
65
+ };
66
+ }
67
+ //# sourceMappingURL=useUnhandledLinking.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getStateFromPath","NavigationContext","React","useLatestCallback","LinkingContext","UnhandledLinkingContext","extractNavigatorSpecificState","_","pathState","depth","partialPathState","currentDepth","undefined","routes","length","state","useUnhandledLinking","navigation","useContext","linking","setLastUnhandledLink","lastUnhandledLink","options","getStateForRouteNamesChange","currentState","path","getStateFromPathHelper","config","parent","getParent","clearUnhandledLink"],"sourceRoot":"../../src","sources":["useUnhandledLinking.tsx"],"mappings":"AAAA,SACEA,gBAAgB,EAChBC,iBAAiB,QAGZ,wBAAwB;AAC/B,OAAOC,KAAK,MAAM,OAAO;AACzB,OAAOC,iBAAiB,MAAM,qBAAqB;AAEnD,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SAASC,uBAAuB,QAAQ,2BAA2B;AAEnE,SAASC,6BAA6BA,CACpCC,CAAkB,EAClBC,SAAwC,EACxCC,KAAa,EACb;EACA,IAAIC,gBAA2D,GAAGF,SAAS;EAE3E,IAAIG,YAAY,GAAGF,KAAK;EACxB,OAAOE,YAAY,EAAE;IACnB,IAAI,CAACD,gBAAgB,EAAE;MACrB,OAAOE,SAAS;IAClB;IACAF,gBAAgB,GACdA,gBAAgB,CAACG,MAAM,CAACH,gBAAgB,CAACG,MAAM,CAACC,MAAM,GAAG,CAAC,CAAC,CAACC,KAAK;IACnEJ,YAAY,EAAE;EAChB;EACA,OAAOD,gBAAgB;AACzB;AAEA,OAAO,SAASM,mBAAmBA,CAAA,EAAG;EACpC,MAAMC,UAAU,GAAGf,KAAK,CAACgB,UAAU,CAACjB,iBAAiB,CAAC;EACtD,MAAMkB,OAAO,GAAGjB,KAAK,CAACgB,UAAU,CAACd,cAAc,CAAC;EAChD,MAAM;IAAEgB,oBAAoB;IAAEC;EAAkB,CAAC,GAAGnB,KAAK,CAACgB,UAAU,CAClEb,uBACF,CAAC;EAED,MAAM;IAAEiB;EAAQ,CAAC,GAAGH,OAAO;EAE3B,MAAMI,2BAA2B,GAC/BC,YAA6B,IACiB;IAC9C,IAAIH,iBAAiB,IAAI,IAAI,EAAE;MAC7B;MACA;IACF;;IAEA;IACA,MAAMI,IAAI,GAAGJ,iBAAiB;IAC9B,IAAI,CAACA,iBAAiB,EAAE;MACtB;IACF;;IAEA;IACA,MAAMK,sBAAsB,GAC1BJ,OAAO,EAAEtB,gBAAgB,IAAIA,gBAAgB;IAE/C,MAAMQ,SAAS,GAAGkB,sBAAsB,CAACD,IAAI,EAAEH,OAAO,EAAEK,MAAM,CAAC;IAE/D,IAAI,CAACnB,SAAS,EAAE;MACd;IACF;IAEA,IAAIC,KAAK,GAAG,CAAC;IACb,IAAImB,MAAM,GAAGX,UAAU;IACvB,OAAOW,MAAM,EAAE;MACbnB,KAAK,EAAE;MACPmB,MAAM,GAAGA,MAAM,CAACC,SAAS,CAAC,CAAC;IAC7B;IAEA,MAAMd,KAAK,GAAGT,6BAA6B,CAACkB,YAAY,EAAEhB,SAAS,EAAEC,KAAK,CAAC;IAE3E,IAAI,CAACM,KAAK,EAAE;MACV;IACF;IAEA,OAAOA,KAAK;EACd,CAAC;EAED,MAAMe,kBAAkB,GAAG3B,iBAAiB,CAAC,MAAM;IACjDiB,oBAAoB,CAACR,SAAS,CAAC;EACjC,CAAC,CAAC;EAEF,OAAO;IACLS,iBAAiB;IACjBE,2BAA2B;IAC3BO;EACF,CAAC;AACH"}
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import { GestureResponderEvent, Text, TextProps } from 'react-native';
3
- import { Props as LinkProps } from './useLinkProps';
2
+ import { type GestureResponderEvent, Text, type TextProps } from 'react-native';
3
+ import { type Props as LinkProps } from './useLinkProps';
4
4
  type Props<ParamList extends ReactNavigation.RootParamList> = LinkProps<ParamList> & Omit<TextProps, 'disabled'> & {
5
5
  target?: string;
6
6
  onPress?: (e: React.MouseEvent<HTMLAnchorElement, MouseEvent> | GestureResponderEvent) => void;
@@ -17,6 +17,6 @@ type Props<ParamList extends ReactNavigation.RootParamList> = LinkProps<ParamLis
17
17
  * @param props.action Optional action to use for in-page navigation. By default, the path is parsed to an action based on linking config.
18
18
  * @param props.children Child elements to render the content.
19
19
  */
20
- export declare function Link<ParamList extends ReactNavigation.RootParamList>({ screen, params, action, href, ...rest }: Props<ParamList>): React.CElement<TextProps, Text>;
20
+ export declare function Link<ParamList extends ReactNavigation.RootParamList>({ screen, params, action, href, style, ...rest }: Props<ParamList>): React.CElement<TextProps, Text>;
21
21
  export {};
22
22
  //# sourceMappingURL=Link.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../../src/Link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAY,IAAI,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEhF,OAAO,EAAE,KAAK,IAAI,SAAS,EAAgB,MAAM,gBAAgB,CAAC;AAElE,KAAK,KAAK,CAAC,SAAS,SAAS,eAAe,CAAC,aAAa,IACxD,SAAS,CAAC,SAAS,CAAC,GAClB,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,CACR,CAAC,EACG,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,GAC/C,qBAAqB,KACtB,IAAI,CAAC;IACV,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEN;;;;;;;;;GASG;AACH,wBAAgB,IAAI,CAAC,SAAS,SAAS,eAAe,CAAC,aAAa,EAAE,EACpE,MAAM,EACN,MAAM,EACN,MAAM,EACN,IAAI,EACJ,GAAG,IAAI,EACR,EAAE,KAAK,CAAC,SAAS,CAAC,mCAyBlB"}
1
+ {"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../../src/Link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,KAAK,qBAAqB,EAE1B,IAAI,EACJ,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,KAAK,KAAK,IAAI,SAAS,EAAgB,MAAM,gBAAgB,CAAC;AAEvE,KAAK,KAAK,CAAC,SAAS,SAAS,eAAe,CAAC,aAAa,IACxD,SAAS,CAAC,SAAS,CAAC,GAClB,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,CACR,CAAC,EACG,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,GAC/C,qBAAqB,KACtB,IAAI,CAAC;IACV,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEN;;;;;;;;;GASG;AACH,wBAAgB,IAAI,CAAC,SAAS,SAAS,eAAe,CAAC,aAAa,EAAE,EACpE,MAAM,EACN,MAAM,EACN,MAAM,EACN,IAAI,EACJ,KAAK,EACL,GAAG,IAAI,EACR,EAAE,KAAK,CAAC,SAAS,CAAC,mCA2BlB"}
@@ -1,7 +1,7 @@
1
1
  import type { ParamListBase } from '@react-navigation/core';
2
+ import type { LinkingOptions } from '@react-navigation/native/src/types';
2
3
  import * as React from 'react';
3
- import type { LinkingOptions } from './types';
4
4
  export declare const LinkingContext: React.Context<{
5
- options: LinkingOptions<ParamListBase> | undefined;
5
+ options?: LinkingOptions<ParamListBase> | undefined;
6
6
  }>;
7
7
  //# sourceMappingURL=LinkingContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LinkingContext.d.ts","sourceRoot":"","sources":["../../../src/LinkingContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,eAAO,MAAM,cAAc;aAChB,eAAe,aAAa,CAAC,GAAG,SAAS;EAC1B,CAAC"}
1
+ {"version":3,"file":"LinkingContext.d.ts","sourceRoot":"","sources":["../../../src/LinkingContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,eAAO,MAAM,cAAc;;EAMzB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { NavigationContainerProps, NavigationContainerRef } from '@react-navigation/core';
1
+ import { type NavigationContainerProps, type NavigationContainerRef } from '@react-navigation/core';
2
2
  import * as React from 'react';
3
3
  import type { DocumentTitleOptions, LinkingOptions, LocaleDirection, Theme } from './types';
4
4
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationContainer.d.ts","sourceRoot":"","sources":["../../../src/NavigationContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,wBAAwB,EACxB,sBAAsB,EAGvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,KAAK,EACN,MAAM,SAAS,CAAC;AAMjB,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,yBAAyB,EAAE,OAAO,CACpC,sBAAsB,CAAC,GAAG,CAAC,EAC3B;QAAE,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,CAAA;KAAE,CAC1C,CAAC;CACH;AAID,KAAK,KAAK,CAAC,SAAS,SAAS,EAAE,IAAI,wBAAwB,GAAG;IAC5D,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,OAAO,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,aAAa,CAAC,EAAE,oBAAoB,CAAC;CACtC,CAAC;AAmGF,eAAO,MAAM,mBAAmB;;;;eArGnB,MAAM,SAAS;;;;MA2GvB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"NavigationContainer.d.ts","sourceRoot":"","sources":["../../../src/NavigationContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAI5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,KAAK,EACN,MAAM,SAAS,CAAC;AAOjB,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,yBAAyB,EAAE,OAAO,CACpC,sBAAsB,CAAC,GAAG,CAAC,EAC3B;QAAE,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,CAAA;KAAE,CAC1C,CAAC;CACH;AAID,KAAK,KAAK,CAAC,SAAS,SAAS,EAAE,IAAI,wBAAwB,GAAG;IAC5D,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,OAAO,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,aAAa,CAAC,EAAE,oBAAoB,CAAC;CACtC,CAAC;AA+IF,eAAO,MAAM,mBAAmB;;;;eAjJnB,MAAM,SAAS;;;;MAuJvB,MAAM,YAAY,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { ServerContextType } from './ServerContext';
2
+ import { type ServerContextType } from './ServerContext';
3
3
  import type { ServerContainerRef } from './types';
4
4
  /**
5
5
  * Container component for server rendering.
@@ -1 +1 @@
1
- {"version":3,"file":"ServerContainer.d.ts","sourceRoot":"","sources":["../../../src/ServerContainer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAiB,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAMlD;;;;;;GAMG;AACH,eAAO,MAAM,eAAe;cAVhB,MAAM,SAAS;4CAgDzB,CAAC"}
1
+ {"version":3,"file":"ServerContainer.d.ts","sourceRoot":"","sources":["../../../src/ServerContainer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAMlD;;;;;;GAMG;AACH,eAAO,MAAM,eAAe;cAVhB,MAAM,SAAS;4CAgDzB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ export declare const UnhandledLinkingContext: React.Context<{
3
+ lastUnhandledLink: string | undefined;
4
+ setLastUnhandledLink: (lastUnhandledUrl: string | undefined) => void;
5
+ }>;
6
+ //# sourceMappingURL=UnhandledLinkingContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UnhandledLinkingContext.d.ts","sourceRoot":"","sources":["../../../src/UnhandledLinkingContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,eAAO,MAAM,uBAAuB;uBACf,MAAM,GAAG,SAAS;6CACI,MAAM,GAAG,SAAS,KAAK,IAAI;EAQpE,CAAC"}
@@ -1,3 +1,4 @@
1
+ import * as React from 'react';
1
2
  export declare const createStackNavigator: {
2
3
  <ParamList extends import("@react-navigation/core").ParamListBase>(): import("@react-navigation/core").TypedNavigator<ParamList, Readonly<{
3
4
  key: string;
@@ -15,8 +16,8 @@ export declare const createStackNavigator: {
15
16
  })[];
16
17
  type: string;
17
18
  stale: false;
18
- }>, {}, import("@react-navigation/core").EventMapBase, (props: any) => JSX.Element>;
19
- <ParamList_1 extends import("@react-navigation/core").ParamListBase, Config extends import("packages/core/lib/typescript/src/StaticNavigation").StaticConfig<ParamList_1, Readonly<{
19
+ }>, {}, import("@react-navigation/core").EventMapBase, (props: any) => React.JSX.Element>;
20
+ <ParamList_1 extends import("@react-navigation/core").ParamListBase, Config extends import("@react-navigation/core/lib/typescript/src/StaticNavigation").StaticConfig<ParamList_1, Readonly<{
20
21
  key: string;
21
22
  index: number;
22
23
  routeNames: string[];
@@ -32,7 +33,7 @@ export declare const createStackNavigator: {
32
33
  })[];
33
34
  type: string;
34
35
  stale: false;
35
- }>, {}, import("@react-navigation/core").EventMapBase, (props: any) => JSX.Element>>(config: Config): import("@react-navigation/core").TypedNavigator<ParamList_1, Readonly<{
36
+ }>, {}, import("@react-navigation/core").EventMapBase, (props: any) => React.JSX.Element>>(config: Config): import("@react-navigation/core").TypedNavigator<ParamList_1, Readonly<{
36
37
  key: string;
37
38
  index: number;
38
39
  routeNames: string[];
@@ -48,7 +49,7 @@ export declare const createStackNavigator: {
48
49
  })[];
49
50
  type: string;
50
51
  stale: false;
51
- }>, {}, import("@react-navigation/core").EventMapBase, (props: any) => JSX.Element> & {
52
+ }>, {}, import("@react-navigation/core").EventMapBase, (props: any) => React.JSX.Element> & {
52
53
  config: Config;
53
54
  };
54
55
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createStackNavigator.d.ts","sourceRoot":"","sources":["../../../../src/__stubs__/createStackNavigator.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAW/B,CAAC"}
@@ -2,7 +2,7 @@ export declare const window: {
2
2
  document: {
3
3
  title: string;
4
4
  };
5
- location: URL;
5
+ readonly location: URL;
6
6
  history: {
7
7
  readonly state: any;
8
8
  pushState(state: any, _: string, path: string): void;