@react-navigation/native 7.3.4 → 7.3.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.
@@ -1 +1 @@
1
- {"version":3,"names":["CommonActions","createNavigatorFactory","createScreenFactory","useNavigationBuilder","React","useBuildHref","useMemoArray","jsx","_jsx","createStandardNavigationFactories","navigator","router","mapper","type","version","NavigatorContent","Error","StandardNavigationNavigator","props","builder","buildHref","routes","state","Array","isArray","preloadedRoutes","concat","map","route","href","name","params","key","useMemo","index","descriptors","descriptor","describe","options","render","actions","navigate","navigation","dispatch","target","back","goBack","emitter","emit","mapped","children","id","initialRouteName","layout","screenLayout","screenListeners","screenOptions","UNSTABLE_routeNamesChangeBehavior","UNSTABLE_router","rest","NavigationContent","createNavigator","createScreen"],"sourceRoot":"../../src","sources":["createStandardNavigationFactories.tsx"],"mappings":";;AAAA,SACEA,aAAa,EACbC,sBAAsB,EACtBC,mBAAmB,EAanBC,oBAAoB,QACf,wBAAwB;AAC/B,OAAO,KAAKC,KAAK,MAAM,OAAO;AAM9B,SAASC,YAAY,QAAQ,qBAAkB;AAC/C,SAASC,YAAY,QAAQ,mBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AA4G9C,OAAO,SAASC,iCAAiCA,CAI/CC,SAMC,EACDC,MAIC,EACDC,MAA+D,EACzB;EACtC,MAAM;IAAEC,IAAI;IAAEC,OAAO;IAAEC;EAAiB,CAAC,GAAGL,SAAS;EAErD,IAAIG,IAAI,KAAK,UAAU,EAAE;IACvB,MAAM,IAAIG,KAAK,CACb,sGAAsG,OAAOH,IAAI,KAAK,QAAQ,GAAG,SAASA,IAAI,IAAI,GAAG,eAAe,EACtK,CAAC;EACH;EAEA,IAAIC,OAAO,KAAK,CAAC,EAAE;IACjB,MAAM,IAAIE,KAAK,CACb,8GAA8GF,OAAO,GACvH,CAAC;EACH;EAQA,SAASG,2BAA2BA,CAClCC,KAAgD,EAChD;IACA,MAAMC,OAAO,GAAGhB,oBAAoB,CAMlCQ,MAAM,EAAEO,KAAK,CAAC;IAEhB,MAAME,SAAS,GAAGf,YAAY,CAAC,CAAC;IAEhC,MAAMgB,MAAM,GAAGf,YAAY,CACzB,CAAC,iBAAiB,IAAIa,OAAO,CAACG,KAAK,IACnCC,KAAK,CAACC,OAAO,CAACL,OAAO,CAACG,KAAK,CAACG,eAAe,CAAC,GACxCN,OAAO,CAACG,KAAK,CAACD,MAAM,CAACK,MAAM,CAACP,OAAO,CAACG,KAAK,CAACG,eAAe,CAAC,GAC1DN,OAAO,CAACG,KAAK,CAACD,MAAM,EACtBM,GAAG,CAAEC,KAAK,IAAK;MACf,MAAMC,IAAI,GAAGT,SAAS,CAACQ,KAAK,CAACE,IAAI,EAAEF,KAAK,CAACG,MAAM,CAAC;MAEhD,OAAO,CACL;QACEC,GAAG,EAAEJ,KAAK,CAACI,GAAG;QACdF,IAAI,EAAEF,KAAK,CAACE,IAAI;QAChBC,MAAM,EAAEH,KAAK,CAACG,MAAM;QACpBF;MACF,CAAC,EACD,CAACD,KAAK,CAACI,GAAG,EAAEJ,KAAK,CAACE,IAAI,EAAEF,KAAK,CAACG,MAAM,EAAEF,IAAI,CAAC,CAC5C;IACH,CAAC,CACH,CAAC;IAED,MAAMP,KAAK,GAAGlB,KAAK,CAAC6B,OAAO,CACzB,OAA8B;MAC5BC,KAAK,EAAEf,OAAO,CAACG,KAAK,CAACY,KAAK;MAC1Bb;IACF,CAAC,CAAC,EACF,CAACF,OAAO,CAACG,KAAK,CAACY,KAAK,EAAEb,MAAM,CAC9B,CAAC;IAED,MAAMc,WAAwC,GAAG,CAAC,CAAC;IAEnD,KAAK,MAAMP,KAAK,IAAIN,KAAK,CAACD,MAAM,EAAE;MAChC,MAAMe,UAAU,GACdjB,OAAO,CAACgB,WAAW,CAACP,KAAK,CAACI,GAAG,CAAC,IAAIb,OAAO,CAACkB,QAAQ,CAACT,KAAK,EAAE,IAAI,CAAC;MAEjEO,WAAW,CAACP,KAAK,CAACI,GAAG,CAAC,GAAG;QACvBM,OAAO,EAAEF,UAAU,CAACE,OAAO;QAC3BC,MAAM,EAAEH,UAAU,CAACG;MACrB,CAAC;IACH;IAEA,MAAMC,OAAO,GAAGpC,KAAK,CAAC6B,OAAO,CAC3B,OAAO;MACLQ,QAAQA,CAACX,IAAI,EAAEC,MAAM,EAAE;QACrBZ,OAAO,CAACuB,UAAU,CAACC,QAAQ,CAAC;UAC1B,GAAG3C,aAAa,CAACyC,QAAQ,CAACX,IAAI,EAAEC,MAAM,CAAC;UACvCa,MAAM,EAAEzB,OAAO,CAACG,KAAK,CAACU;QACxB,CAAC,CAAC;MACJ,CAAC;MACDa,IAAIA,CAAA,EAAG;QACL1B,OAAO,CAACuB,UAAU,CAACI,MAAM,CAAC,CAAC;MAC7B;IACF,CAAC,CAAC,EACF,CAAC3B,OAAO,CAACuB,UAAU,EAAEvB,OAAO,CAACG,KAAK,CAACU,GAAG,CACxC,CAAC;IAED,MAAMe,OAAO,GAAG3C,KAAK,CAAC6B,OAAO,CAC3B,OAAO;MACL;MACAe,IAAI,EAAE7B,OAAO,CAACuB,UAAU,CAACM;IAC3B,CAAC,CAAC,EACF,CAAC7B,OAAO,CAACuB,UAAU,CACrB,CAAC;IAED,MAAMO,MAAM,GAAGrC,MAAM,GAAG;MACtBU,KAAK,EAAEH,OAAO,CAACG,KAAK;MACpBoB,UAAU,EAAEvB,OAAO,CAACuB;IACtB,CAAC,CAAC;;IAEF;IACA,MAAM;MACJ;MACAQ,QAAQ;MACRC,EAAE;MACFC,gBAAgB;MAChBC,MAAM;MACNC,YAAY;MACZC,eAAe;MACfC,aAAa;MACbC,iCAAiC;MACjCC,eAAe;MACf;MACA,GAAGC;IACL,CAAC,GAAGzC,KAAK;IAET,oBACEV,IAAA,CAACW,OAAO,CAACyC,iBAAiB;MAAAV,QAAA,eACxB1C,IAAA,CAACO,gBAAgB;QAAA,GACV4C,IAAI;QAAA,GACLV,MAAM;QACV3B,KAAK,EAAEA,KAAM;QACba,WAAW,EAAEA,WAAY;QACzBK,OAAO,EAAEA,OAAQ;QACjBO,OAAO,EAAEA;MAAQ,CAClB;IAAC,CACuB,CAAC;EAEhC;EAEA,MAAMc,eAAe,GAAG5D,sBAAsB,CAC5CgB,2BACF,CAA+C;EAE/C,MAAM6C,YAAY,GAChB5D,mBAAmB,CAAwC,CAAC;EAE9D,OAAO;IACL2D,eAAe;IACfC;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["CommonActions","createNavigatorFactory","createScreenFactory","useNavigationBuilder","React","useBuildHref","useMemoArray","jsx","_jsx","createStandardNavigationFactories","navigator","router","mapper","type","version","NavigatorContent","Error","StandardNavigationNavigator","props","builder","buildHref","routes","state","Array","isArray","preloadedRoutes","concat","map","route","href","name","params","key","useMemo","index","descriptors","descriptor","describe","options","render","actions","navigate","navigation","dispatch","target","back","goBack","emitter","emit","mapped","children","id","initialRouteName","layout","screenLayout","screenListeners","screenOptions","UNSTABLE_routeNamesChangeBehavior","UNSTABLE_router","rest","NavigationContent","createNavigator","createScreen"],"sourceRoot":"../../src","sources":["createStandardNavigationFactories.tsx"],"mappings":"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","ignoreList":[]}
@@ -5,6 +5,12 @@ import isEqual from 'fast-deep-equal';
5
5
  import * as React from 'react';
6
6
  import { createMemoryHistory } from "./createMemoryHistory.js";
7
7
  import { ServerContext } from "./ServerContext.js";
8
+
9
+ /**
10
+ * History delta already applied by the browser when handling `popstate`
11
+ * The value 'replace' means the delta is unknown, so we can only replace
12
+ */
13
+
8
14
  const getRoutesUntilIndex = state => state.routes.slice(0, state.index + 1);
9
15
 
10
16
  /**
@@ -24,6 +30,9 @@ const findMatchingState = (a, b) => {
24
30
  const bHistoryLength = getHistoryLength(b);
25
31
  const aRoute = a.routes[a.index];
26
32
  const bRoute = b.routes[b.index];
33
+ if (aRoute == null || bRoute == null) {
34
+ return [a, b];
35
+ }
27
36
  const aChildState = aRoute.state;
28
37
  const bChildState = bRoute.state;
29
38
 
@@ -48,7 +57,10 @@ const isPoppingLastEntry = (current, record) => {
48
57
  const currentRoutes = getRoutesUntilIndex(current);
49
58
  const recordRoutes = getRoutesUntilIndex(record);
50
59
  if (currentRoutes.length === recordRoutes.length + 1) {
51
- return recordRoutes.every((route, i) => route.key === currentRoutes[i].key);
60
+ return recordRoutes.every((route, i) => {
61
+ const currentRoute = currentRoutes[i];
62
+ return currentRoute != null && route.key === currentRoute.key;
63
+ });
52
64
  }
53
65
  return false;
54
66
  };
@@ -60,7 +72,9 @@ export const series = cb => {
60
72
  let queue = Promise.resolve();
61
73
  const callback = () => {
62
74
  // eslint-disable-next-line promise/no-callback-in-promise
63
- queue = queue.then(cb);
75
+ queue = queue.then(cb).catch(e => {
76
+ console.error(e);
77
+ });
64
78
  };
65
79
  return callback;
66
80
  };
@@ -146,7 +160,7 @@ export function useLinking(ref, {
146
160
  }, []);
147
161
  const previousIndexRef = React.useRef(undefined);
148
162
  const previousStateRef = React.useRef(undefined);
149
- const pendingPopStatePathRef = React.useRef(undefined);
163
+ const pendingPopStateDeltaRef = React.useRef(undefined);
150
164
  React.useEffect(() => {
151
165
  previousIndexRef.current = history.index;
152
166
  return history.listen(() => {
@@ -161,20 +175,20 @@ export function useLinking(ref, {
161
175
  const index = history.index;
162
176
  const previousIndex = previousIndexRef.current ?? 0;
163
177
  previousIndexRef.current = index;
164
- pendingPopStatePathRef.current = path;
165
178
  const rollbackHistory = () => {
166
179
  const delta = previousIndex - index;
167
180
  if (delta === 0) {
168
181
  return;
169
182
  }
170
- pendingPopStatePathRef.current = undefined;
171
-
183
+ history.go(delta)
172
184
  // eslint-disable-next-line promise/always-return
173
- history.go(delta)?.then(() => {
185
+ ?.then(() => {
174
186
  previousIndexRef.current = history.index;
187
+ }).catch(() => {
188
+ // The navigation was interrupted
175
189
  });
176
190
  };
177
- const rollbackHistoryIfPrevented = callback => {
191
+ const rollbackHistoryIfPrevented = (callback, pendingDelta) => {
178
192
  let removePrevented = false;
179
193
  let actionChangedState = false;
180
194
  const unsubscribeEvent = navigation.addListener('__unsafe_event__', e => {
@@ -197,15 +211,19 @@ export function useLinking(ref, {
197
211
  unsubscribeEvent();
198
212
  unsubscribeAction();
199
213
  }
200
- if (removePrevented && !actionChangedState) {
214
+ if (actionChangedState) {
215
+ // The change may be committed later, e.g. with transitions
216
+ // Remember the delta so it can be subtracted when syncing the commit
217
+ pendingPopStateDeltaRef.current = pendingDelta;
218
+ } else if (removePrevented) {
201
219
  rollbackHistory();
202
220
  }
203
221
  };
204
- const dispatch = action => {
205
- rollbackHistoryIfPrevented(() => navigation.dispatch(action));
222
+ const dispatch = (action, pendingDelta) => {
223
+ rollbackHistoryIfPrevented(() => navigation.dispatch(action), pendingDelta);
206
224
  };
207
- const resetRoot = state => {
208
- rollbackHistoryIfPrevented(() => navigation.resetRoot(state));
225
+ const resetRoot = (state, pendingDelta) => {
226
+ rollbackHistoryIfPrevented(() => navigation.resetRoot(state), pendingDelta);
209
227
  };
210
228
 
211
229
  // When browser back/forward is clicked, we first need to check if state object for this index exists
@@ -216,12 +234,17 @@ export function useLinking(ref, {
216
234
  const currentState = navigation.getRootState();
217
235
  const [currentFocused, recordFocused] = findMatchingState(currentState, record.state);
218
236
  if (previousIndex - index === 1 && currentFocused && recordFocused && isPoppingLastEntry(currentFocused, recordFocused)) {
237
+ const pending = pendingPopStateDeltaRef.current;
238
+
219
239
  // If we detect that the state change is popping the last entry
220
240
  // Dispatch a back action instead of resetting to the state
221
241
  // This makes sure changes to history state since the entry was added don't get lost
222
- dispatch(CommonActions.goBack());
242
+ dispatch(CommonActions.goBack(),
243
+ // Stack on any delta from a previous `popstate` that hasn't committed yet
244
+ pending === 'replace' ? 'replace' : (pending ?? 0) - 1);
223
245
  } else {
224
- resetRoot(record.state);
246
+ // The browser already moved from the current state to the record's state
247
+ resetRoot(record.state, currentFocused && recordFocused ? getHistoryLength(recordFocused) - getHistoryLength(currentFocused) : 'replace');
225
248
  }
226
249
  return;
227
250
  }
@@ -245,21 +268,21 @@ export function useLinking(ref, {
245
268
  const action = getActionFromStateRef.current(state, configRef.current);
246
269
  if (action !== undefined) {
247
270
  try {
248
- dispatch(action);
271
+ dispatch(action, 'replace');
249
272
  } catch (e) {
250
273
  // Ignore any errors from deep linking.
251
274
  // This could happen in case of malformed links, navigation object not being initialized etc.
252
275
  console.warn(`An error occurred when trying to handle the link '${path}': ${typeof e === 'object' && e != null && 'message' in e ? e.message : e}`);
253
276
  }
254
277
  } else {
255
- resetRoot(state);
278
+ resetRoot(state, 'replace');
256
279
  }
257
280
  } else {
258
- resetRoot(state);
281
+ resetRoot(state, 'replace');
259
282
  }
260
283
  } else {
261
284
  // if current path didn't return any state, we should revert to initial state
262
- resetRoot(state);
285
+ resetRoot(state, 'replace');
263
286
  }
264
287
  });
265
288
  }, [enabled, history, ref, validateRoutesNotExistInRootState]);
@@ -327,11 +350,18 @@ export function useLinking(ref, {
327
350
  if (!state) {
328
351
  return;
329
352
  }
330
- const pendingPath = pendingPopStatePathRef.current;
353
+
354
+ // Skip if the state hasn't changed since we last synced it
355
+ // This avoids redundant work when the committed `state` event fires
356
+ // after we already synced from `__unsafe_action__`
357
+ if (previousState === state) {
358
+ return;
359
+ }
331
360
  const route = findFocusedRoute(state);
332
361
  const path = getPathForRoute(route, state);
362
+ const pendingPopStateDelta = pendingPopStateDeltaRef.current;
333
363
  previousStateRef.current = state;
334
- pendingPopStatePathRef.current = undefined;
364
+ pendingPopStateDeltaRef.current = undefined;
335
365
 
336
366
  // To detect the kind of state change, we need to:
337
367
  // - Find the common focused navigation state in previous and current state
@@ -339,10 +369,11 @@ export function useLinking(ref, {
339
369
  // - If no common focused navigation state found, it's a replace
340
370
  const [previousFocusedState, focusedState] = findMatchingState(previousState, state);
341
371
  if (previousFocusedState && focusedState &&
342
- // We should only handle push/pop if path changed from what was in last `popstate`
343
- // Otherwise it's likely a change triggered by `popstate`
344
- path !== pendingPath) {
345
- const historyDelta = getHistoryLength(focusedState) - getHistoryLength(previousFocusedState);
372
+ // If the delta from `popstate` is unknown, we can only replace
373
+ pendingPopStateDelta !== 'replace') {
374
+ const historyDelta = getHistoryLength(focusedState) - getHistoryLength(previousFocusedState) - (
375
+ // Subtract the delta already applied by the browser to sync only the remaining changes
376
+ pendingPopStateDelta ?? 0);
346
377
  if (historyDelta > 0) {
347
378
  // If history length is increased, we should pushState
348
379
  // Note that path might not actually change here, for example, drawer open should pushState
@@ -1 +1 @@
1
- {"version":3,"names":["CommonActions","findFocusedRoute","getActionFromState","getActionFromStateDefault","getPathFromState","getPathFromStateDefault","getStateFromPath","getStateFromPathDefault","useNavigationIndependentTree","isEqual","React","createMemoryHistory","ServerContext","getRoutesUntilIndex","state","routes","slice","index","getHistoryLength","history","length","findMatchingState","a","b","undefined","key","aHistoryLength","bHistoryLength","aRoute","bRoute","aChildState","bChildState","isPoppingLastEntry","current","record","currentRoutes","recordRoutes","every","route","i","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","validateRoutesNotExistInRootState","useCallback","navigation","rootState","getRootState","some","r","routeNames","includes","name","server","useContext","getInitialState","value","location","window","path","pathname","search","e","thenable","onfulfilled","catch","previousIndexRef","previousStateRef","pendingPopStatePathRef","listen","previousIndex","rollbackHistory","delta","go","rollbackHistoryIfPrevented","removePrevented","actionChangedState","unsubscribeEvent","addListener","data","type","defaultPrevented","unsubscribeAction","noop","dispatch","action","resetRoot","get","currentState","currentFocused","recordFocused","goBack","warn","message","getPathForRoute","stateForPath","focusedRoute","params","previousRoute","hash","replace","onStateChange","previousState","pendingPath","previousFocusedState","focusedState","historyDelta","nextIndex","backIndex","currentIndex"],"sourceRoot":"../../src","sources":["useLinking.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CommonActions","findFocusedRoute","getActionFromState","getActionFromStateDefault","getPathFromState","getPathFromStateDefault","getStateFromPath","getStateFromPathDefault","useNavigationIndependentTree","isEqual","React","createMemoryHistory","ServerContext","getRoutesUntilIndex","state","routes","slice","index","getHistoryLength","history","length","findMatchingState","a","b","undefined","key","aHistoryLength","bHistoryLength","aRoute","bRoute","aChildState","bChildState","isPoppingLastEntry","current","record","currentRoutes","recordRoutes","every","route","i","currentRoute","series","cb","queue","Promise","resolve","callback","then","catch","e","console","error","linkingHandlers","useLinking","ref","enabled","config","independent","useEffect","process","env","NODE_ENV","join","trim","handler","Symbol","push","indexOf","splice","useState","enabledRef","useRef","configRef","getStateFromPathRef","getPathFromStateRef","getActionFromStateRef","validateRoutesNotExistInRootState","useCallback","navigation","rootState","getRootState","some","r","routeNames","includes","name","server","useContext","getInitialState","value","location","window","path","pathname","search","thenable","onfulfilled","previousIndexRef","previousStateRef","pendingPopStateDeltaRef","listen","previousIndex","rollbackHistory","delta","go","rollbackHistoryIfPrevented","pendingDelta","removePrevented","actionChangedState","unsubscribeEvent","addListener","data","type","defaultPrevented","unsubscribeAction","noop","dispatch","action","resetRoot","get","currentState","currentFocused","recordFocused","pending","goBack","warn","message","getPathForRoute","stateForPath","focusedRoute","params","previousRoute","hash","replace","onStateChange","previousState","pendingPopStateDelta","previousFocusedState","focusedState","historyDelta","nextIndex","backIndex","currentIndex"],"sourceRoot":"../../src","sources":["useLinking.tsx"],"mappings":"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","ignoreList":[]}
@@ -12,25 +12,26 @@ type StandardEventMap<EventMap extends EventMapBase> = {
12
12
  };
13
13
  };
14
14
  type ActionHelpersOf<T> = T extends Record<string, (...args: never[]) => unknown> ? T : {};
15
- type StandardNavigationTypeBagFor<TypeBag extends StandardNavigationTypeBagBase, ParamList extends ParamListBase, NavigatorID extends string | undefined = string | undefined> = TypeBag & {
15
+ type StandardNavigationTypeBagFor<TypeBag extends StandardNavigationTypeBagBase, ParamList extends ParamListBase, NavigatorID extends string | undefined = string | undefined, NavigatorProps extends object = {}> = TypeBag & {
16
16
  ParamList: ParamList;
17
17
  NavigatorID: NavigatorID;
18
+ Navigator: React.ComponentType<NavigatorProps>;
18
19
  };
19
20
  type StandardNavigation<TypeBag extends StandardNavigationTypeBagBase> = StandardNavigationTypeBagFor<TypeBag, ParamListBase>['NavigationList'][keyof StandardNavigationTypeBagFor<TypeBag, ParamListBase>['NavigationList']];
20
- type StandardNavigationPropsMapper<TypeBag extends StandardNavigationTypeBagBase, NavigatorProps extends object> = (props: {
21
+ type StandardNavigationPropsMapper<TypeBag extends StandardNavigationTypeBagBase, MapperProps extends object> = (props: {
21
22
  state: StandardNavigationTypeBagFor<TypeBag, ParamListBase>['State'];
22
23
  navigation: StandardNavigation<TypeBag>;
23
- }) => Partial<NavigatorProps>;
24
- type StandardNavigationDefaultBag<TypeBag extends StandardNavigationTypeBagBase> = StandardNavigationTypeBagFor<TypeBag, ParamListBase, string | undefined>;
25
- type StandardNavigationFactories<TypeBag extends StandardNavigationTypeBagBase> = {
26
- createNavigator: StandardNavigationCreateNavigator<TypeBag>;
27
- createScreen: StaticScreenFactory<StandardNavigationDefaultBag<TypeBag>>;
24
+ }) => MapperProps;
25
+ type StandardNavigationDefaultBag<TypeBag extends StandardNavigationTypeBagBase, NavigatorProps extends object> = StandardNavigationTypeBagFor<TypeBag, ParamListBase, string | undefined, NavigatorProps>;
26
+ type StandardNavigationFactories<TypeBag extends StandardNavigationTypeBagBase, NavigatorProps extends object> = {
27
+ createNavigator: StandardNavigationCreateNavigator<TypeBag, NavigatorProps>;
28
+ createScreen: StaticScreenFactory<StandardNavigationDefaultBag<TypeBag, NavigatorProps>>;
28
29
  };
29
- export type StandardNavigationCreateNavigator<TypeBag extends StandardNavigationTypeBagBase> = {
30
- <const ParamList extends ParamListBase, const NavigatorID extends string | undefined = string | undefined>(): TypedNavigator<StandardNavigationTypeBagFor<TypeBag, ParamList, NavigatorID>, undefined>;
31
- <const Config extends StaticConfig<StandardNavigationDefaultBag<TypeBag>>>(config: Config & StaticConfig<StandardNavigationDefaultBag<TypeBag>>): TypedNavigator<StandardNavigationTypeBagFor<TypeBag, StaticParamList<{
30
+ export type StandardNavigationCreateNavigator<TypeBag extends StandardNavigationTypeBagBase, NavigatorProps extends object> = {
31
+ <const ParamList extends ParamListBase, const NavigatorID extends string | undefined = string | undefined>(): TypedNavigator<StandardNavigationTypeBagFor<TypeBag, ParamList, NavigatorID, NavigatorProps>, undefined>;
32
+ <const Config extends StaticConfig<StandardNavigationDefaultBag<TypeBag, NavigatorProps>>>(config: Config & StaticConfig<StandardNavigationDefaultBag<TypeBag, NavigatorProps>>): TypedNavigator<StandardNavigationTypeBagFor<TypeBag, StaticParamList<{
32
33
  config: Config;
33
- }> & ParamListBase, string | undefined>, Config>;
34
+ }> & ParamListBase, string | undefined, NavigatorProps>, Config>;
34
35
  };
35
36
  export interface StandardNavigationTypeBagBase extends NavigatorTypeBagBase {
36
37
  ActionHelpers: {};
@@ -42,6 +43,6 @@ export interface StandardNavigationTypeBagBase extends NavigatorTypeBagBase {
42
43
  };
43
44
  Navigator: React.ComponentType<{}>;
44
45
  }
45
- export declare function createStandardNavigationFactories<TypeBag extends StandardNavigationTypeBagBase, NavigatorProps extends object = {}>(navigator: ReturnType<typeof createStandardNavigator<TypeBag['ScreenOptions'], StandardEventMap<TypeBag['EventMap']>, NavigatorProps>>, router: RouterFactory<StandardNavigationTypeBagFor<TypeBag, ParamListBase>['State'], NavigationAction, TypeBag['RouterOptions']>, mapper?: StandardNavigationPropsMapper<TypeBag, NavigatorProps>): StandardNavigationFactories<TypeBag>;
46
+ export declare function createStandardNavigationFactories<TypeBag extends StandardNavigationTypeBagBase, NavigatorProps extends object = {}, MapperProps extends object = {}>(navigator: ReturnType<typeof createStandardNavigator<TypeBag['ScreenOptions'], StandardEventMap<TypeBag['EventMap']>, NavigatorProps & MapperProps>>, router: RouterFactory<StandardNavigationTypeBagFor<TypeBag, ParamListBase>['State'], NavigationAction, TypeBag['RouterOptions']>, mapper?: StandardNavigationPropsMapper<TypeBag, MapperProps>): StandardNavigationFactories<TypeBag, NavigatorProps>;
46
47
  export {};
47
48
  //# sourceMappingURL=createStandardNavigationFactories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createStandardNavigationFactories.d.ts","sourceRoot":"","sources":["../../../src/createStandardNavigationFactories.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createStandardNavigationFactories.d.ts","sourceRoot":"","sources":["../../../src/createStandardNavigationFactories.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useLinking.d.ts","sourceRoot":"","sources":["../../../src/useLinking.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,gBAAgB,IAAI,uBAAuB,EAC3C,KAAK,sBAAsB,EAE3B,KAAK,aAAa,EAEnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAS,CAAC;AAE9C,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAuE9D;;GAEG;AACH,eAAO,MAAM,MAAM,GAAI,IAAI,MAAM,OAAO,CAAC,IAAI,CAAC,eAO7C,CAAC;AAIF,KAAK,OAAO,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;AAE7C,wBAAgB,UAAU,CACxB,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,EAClE,EACE,OAAc,EACd,MAAM,EACN,gBAA0C,EAC1C,gBAA0C,EAC1C,kBAA8C,GAC/C,EAAE,OAAO;2BAsGW,WAAW,CAAC,WAAW,GAAG,SAAS,CAAC;EAyV1D"}
1
+ {"version":3,"file":"useLinking.d.ts","sourceRoot":"","sources":["../../../src/useLinking.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,gBAAgB,IAAI,uBAAuB,EAC3C,KAAK,sBAAsB,EAE3B,KAAK,aAAa,EAEnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAS,CAAC;AAE9C,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAqF9D;;GAEG;AACH,eAAO,MAAM,MAAM,GAAI,IAAI,MAAM,OAAO,CAAC,IAAI,CAAC,eAS7C,CAAC;AAIF,KAAK,OAAO,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;AAE7C,wBAAgB,UAAU,CACxB,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,EAClE,EACE,OAAc,EACd,MAAM,EACN,gBAA0C,EAC1C,gBAA0C,EAC1C,kBAA8C,GAC/C,EAAE,OAAO;2BAsGW,WAAW,CAAC,WAAW,GAAG,SAAS,CAAC;EAsY1D"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@react-navigation/native",
3
3
  "description": "React Native integration for React Navigation",
4
- "version": "7.3.4",
4
+ "version": "7.3.6",
5
5
  "keywords": [
6
6
  "react-native",
7
7
  "react-navigation",
@@ -42,7 +42,7 @@
42
42
  "clean": "del lib"
43
43
  },
44
44
  "dependencies": {
45
- "@react-navigation/core": "^7.21.2",
45
+ "@react-navigation/core": "^7.21.4",
46
46
  "escape-string-regexp": "^4.0.0",
47
47
  "fast-deep-equal": "^3.1.3",
48
48
  "nanoid": "^3.3.11",
@@ -84,5 +84,5 @@
84
84
  ]
85
85
  ]
86
86
  },
87
- "gitHead": "1e7909dd9ce081d19ebba8374595d06f5d764690"
87
+ "gitHead": "207ce5a98e84bacb3a254ca8ab46856704f73542"
88
88
  }
@@ -57,9 +57,11 @@ type StandardNavigationTypeBagFor<
57
57
  TypeBag extends StandardNavigationTypeBagBase,
58
58
  ParamList extends ParamListBase,
59
59
  NavigatorID extends string | undefined = string | undefined,
60
+ NavigatorProps extends object = {},
60
61
  > = TypeBag & {
61
62
  ParamList: ParamList;
62
63
  NavigatorID: NavigatorID;
64
+ Navigator: React.ComponentType<NavigatorProps>;
63
65
  };
64
66
 
65
67
  type StandardNavigation<TypeBag extends StandardNavigationTypeBagBase> =
@@ -73,40 +75,61 @@ type StandardNavigation<TypeBag extends StandardNavigationTypeBagBase> =
73
75
 
74
76
  type StandardNavigationPropsMapper<
75
77
  TypeBag extends StandardNavigationTypeBagBase,
76
- NavigatorProps extends object,
78
+ MapperProps extends object,
77
79
  > = (props: {
78
80
  state: StandardNavigationTypeBagFor<TypeBag, ParamListBase>['State'];
79
81
  navigation: StandardNavigation<TypeBag>;
80
- }) => Partial<NavigatorProps>;
82
+ }) => MapperProps;
81
83
 
82
84
  type StandardNavigationDefaultBag<
83
85
  TypeBag extends StandardNavigationTypeBagBase,
84
- > = StandardNavigationTypeBagFor<TypeBag, ParamListBase, string | undefined>;
86
+ NavigatorProps extends object,
87
+ > = StandardNavigationTypeBagFor<
88
+ TypeBag,
89
+ ParamListBase,
90
+ string | undefined,
91
+ NavigatorProps
92
+ >;
85
93
 
86
94
  type StandardNavigationFactories<
87
95
  TypeBag extends StandardNavigationTypeBagBase,
96
+ NavigatorProps extends object,
88
97
  > = {
89
- createNavigator: StandardNavigationCreateNavigator<TypeBag>;
90
- createScreen: StaticScreenFactory<StandardNavigationDefaultBag<TypeBag>>;
98
+ createNavigator: StandardNavigationCreateNavigator<TypeBag, NavigatorProps>;
99
+ createScreen: StaticScreenFactory<
100
+ StandardNavigationDefaultBag<TypeBag, NavigatorProps>
101
+ >;
91
102
  };
92
103
 
93
104
  export type StandardNavigationCreateNavigator<
94
105
  TypeBag extends StandardNavigationTypeBagBase,
106
+ NavigatorProps extends object,
95
107
  > = {
96
108
  <
97
109
  const ParamList extends ParamListBase,
98
110
  const NavigatorID extends string | undefined = string | undefined,
99
111
  >(): TypedNavigator<
100
- StandardNavigationTypeBagFor<TypeBag, ParamList, NavigatorID>,
112
+ StandardNavigationTypeBagFor<
113
+ TypeBag,
114
+ ParamList,
115
+ NavigatorID,
116
+ NavigatorProps
117
+ >,
101
118
  undefined
102
119
  >;
103
- <const Config extends StaticConfig<StandardNavigationDefaultBag<TypeBag>>>(
104
- config: Config & StaticConfig<StandardNavigationDefaultBag<TypeBag>>
120
+ <
121
+ const Config extends StaticConfig<
122
+ StandardNavigationDefaultBag<TypeBag, NavigatorProps>
123
+ >,
124
+ >(
125
+ config: Config &
126
+ StaticConfig<StandardNavigationDefaultBag<TypeBag, NavigatorProps>>
105
127
  ): TypedNavigator<
106
128
  StandardNavigationTypeBagFor<
107
129
  TypeBag,
108
130
  StaticParamList<{ config: Config }> & ParamListBase,
109
- string | undefined
131
+ string | undefined,
132
+ NavigatorProps
110
133
  >,
111
134
  Config
112
135
  >;
@@ -134,12 +157,13 @@ export interface StandardNavigationTypeBagBase extends NavigatorTypeBagBase {
134
157
  export function createStandardNavigationFactories<
135
158
  TypeBag extends StandardNavigationTypeBagBase,
136
159
  NavigatorProps extends object = {},
160
+ MapperProps extends object = {},
137
161
  >(
138
162
  navigator: ReturnType<
139
163
  typeof createStandardNavigator<
140
164
  TypeBag['ScreenOptions'],
141
165
  StandardEventMap<TypeBag['EventMap']>,
142
- NavigatorProps
166
+ NavigatorProps & MapperProps
143
167
  >
144
168
  >,
145
169
  router: RouterFactory<
@@ -147,8 +171,8 @@ export function createStandardNavigationFactories<
147
171
  NavigationAction,
148
172
  TypeBag['RouterOptions']
149
173
  >,
150
- mapper?: StandardNavigationPropsMapper<TypeBag, NavigatorProps>
151
- ): StandardNavigationFactories<TypeBag> {
174
+ mapper?: StandardNavigationPropsMapper<TypeBag, MapperProps>
175
+ ): StandardNavigationFactories<TypeBag, NavigatorProps> {
152
176
  const { type, version, NavigatorContent } = navigator;
153
177
 
154
178
  if (type !== 'standard') {
@@ -170,7 +194,7 @@ export function createStandardNavigationFactories<
170
194
  >;
171
195
 
172
196
  function StandardNavigationNavigator(
173
- props: StandardNavigationNavigatorProps<TypeBag>
197
+ props: StandardNavigationNavigatorProps<TypeBag> & NavigatorProps
174
198
  ) {
175
199
  const builder = useNavigationBuilder<
176
200
  Bag['State'],
@@ -269,7 +293,7 @@ export function createStandardNavigationFactories<
269
293
  return (
270
294
  <builder.NavigationContent>
271
295
  <NavigatorContent
272
- {...(rest as NavigatorProps)}
296
+ {...(rest as NavigatorProps & MapperProps)}
273
297
  {...mapped}
274
298
  state={state}
275
299
  descriptors={descriptors}
@@ -282,10 +306,12 @@ export function createStandardNavigationFactories<
282
306
 
283
307
  const createNavigator = createNavigatorFactory(
284
308
  StandardNavigationNavigator
285
- ) as StandardNavigationCreateNavigator<TypeBag>;
309
+ ) as StandardNavigationCreateNavigator<TypeBag, NavigatorProps>;
286
310
 
287
311
  const createScreen =
288
- createScreenFactory<StandardNavigationDefaultBag<TypeBag>>();
312
+ createScreenFactory<
313
+ StandardNavigationDefaultBag<TypeBag, NavigatorProps>
314
+ >();
289
315
 
290
316
  return {
291
317
  createNavigator,
@@ -18,6 +18,12 @@ import type { LinkingOptions } from './types';
18
18
 
19
19
  type ResultState = ReturnType<typeof getStateFromPathDefault>;
20
20
 
21
+ /**
22
+ * History delta already applied by the browser when handling `popstate`
23
+ * The value 'replace' means the delta is unknown, so we can only replace
24
+ */
25
+ type PopStateDelta = number | 'replace';
26
+
21
27
  const getRoutesUntilIndex = (state: NavigationState) =>
22
28
  state.routes.slice(0, state.index + 1);
23
29
 
@@ -45,6 +51,10 @@ const findMatchingState = <T extends NavigationState>(
45
51
  const aRoute = a.routes[a.index];
46
52
  const bRoute = b.routes[b.index];
47
53
 
54
+ if (aRoute == null || bRoute == null) {
55
+ return [a, b];
56
+ }
57
+
48
58
  const aChildState = aRoute.state as T | undefined;
49
59
  const bChildState = bRoute.state as T | undefined;
50
60
 
@@ -81,7 +91,11 @@ const isPoppingLastEntry = (
81
91
  const recordRoutes = getRoutesUntilIndex(record);
82
92
 
83
93
  if (currentRoutes.length === recordRoutes.length + 1) {
84
- return recordRoutes.every((route, i) => route.key === currentRoutes[i].key);
94
+ return recordRoutes.every((route, i) => {
95
+ const currentRoute = currentRoutes[i];
96
+
97
+ return currentRoute != null && route.key === currentRoute.key;
98
+ });
85
99
  }
86
100
 
87
101
  return false;
@@ -94,7 +108,9 @@ export const series = (cb: () => Promise<void>) => {
94
108
  let queue = Promise.resolve();
95
109
  const callback = () => {
96
110
  // eslint-disable-next-line promise/no-callback-in-promise
97
- queue = queue.then(cb);
111
+ queue = queue.then(cb).catch((e) => {
112
+ console.error(e);
113
+ });
98
114
  };
99
115
  return callback;
100
116
  };
@@ -219,7 +235,9 @@ export function useLinking(
219
235
 
220
236
  const previousIndexRef = React.useRef<number | undefined>(undefined);
221
237
  const previousStateRef = React.useRef<NavigationState | undefined>(undefined);
222
- const pendingPopStatePathRef = React.useRef<string | undefined>(undefined);
238
+ const pendingPopStateDeltaRef = React.useRef<PopStateDelta | undefined>(
239
+ undefined
240
+ );
223
241
 
224
242
  React.useEffect(() => {
225
243
  previousIndexRef.current = history.index;
@@ -239,7 +257,6 @@ export function useLinking(
239
257
  const previousIndex = previousIndexRef.current ?? 0;
240
258
 
241
259
  previousIndexRef.current = index;
242
- pendingPopStatePathRef.current = path;
243
260
 
244
261
  const rollbackHistory = () => {
245
262
  const delta = previousIndex - index;
@@ -248,15 +265,21 @@ export function useLinking(
248
265
  return;
249
266
  }
250
267
 
251
- pendingPopStatePathRef.current = undefined;
252
-
253
- // eslint-disable-next-line promise/always-return
254
- history.go(delta)?.then(() => {
255
- previousIndexRef.current = history.index;
256
- });
268
+ history
269
+ .go(delta)
270
+ // eslint-disable-next-line promise/always-return
271
+ ?.then(() => {
272
+ previousIndexRef.current = history.index;
273
+ })
274
+ .catch(() => {
275
+ // The navigation was interrupted
276
+ });
257
277
  };
258
278
 
259
- const rollbackHistoryIfPrevented = (callback: () => void) => {
279
+ const rollbackHistoryIfPrevented = (
280
+ callback: () => void,
281
+ pendingDelta: PopStateDelta
282
+ ) => {
260
283
  let removePrevented = false;
261
284
  let actionChangedState = false;
262
285
 
@@ -288,17 +311,33 @@ export function useLinking(
288
311
  unsubscribeAction();
289
312
  }
290
313
 
291
- if (removePrevented && !actionChangedState) {
314
+ if (actionChangedState) {
315
+ // The change may be committed later, e.g. with transitions
316
+ // Remember the delta so it can be subtracted when syncing the commit
317
+ pendingPopStateDeltaRef.current = pendingDelta;
318
+ } else if (removePrevented) {
292
319
  rollbackHistory();
293
320
  }
294
321
  };
295
322
 
296
- const dispatch = (action: Parameters<typeof navigation.dispatch>[0]) => {
297
- rollbackHistoryIfPrevented(() => navigation.dispatch(action));
323
+ const dispatch = (
324
+ action: Parameters<typeof navigation.dispatch>[0],
325
+ pendingDelta: PopStateDelta
326
+ ) => {
327
+ rollbackHistoryIfPrevented(
328
+ () => navigation.dispatch(action),
329
+ pendingDelta
330
+ );
298
331
  };
299
332
 
300
- const resetRoot = (state: Parameters<typeof navigation.resetRoot>[0]) => {
301
- rollbackHistoryIfPrevented(() => navigation.resetRoot(state));
333
+ const resetRoot = (
334
+ state: Parameters<typeof navigation.resetRoot>[0],
335
+ pendingDelta: PopStateDelta
336
+ ) => {
337
+ rollbackHistoryIfPrevented(
338
+ () => navigation.resetRoot(state),
339
+ pendingDelta
340
+ );
302
341
  };
303
342
 
304
343
  // When browser back/forward is clicked, we first need to check if state object for this index exists
@@ -320,12 +359,25 @@ export function useLinking(
320
359
  recordFocused &&
321
360
  isPoppingLastEntry(currentFocused, recordFocused)
322
361
  ) {
362
+ const pending = pendingPopStateDeltaRef.current;
363
+
323
364
  // If we detect that the state change is popping the last entry
324
365
  // Dispatch a back action instead of resetting to the state
325
366
  // This makes sure changes to history state since the entry was added don't get lost
326
- dispatch(CommonActions.goBack());
367
+ dispatch(
368
+ CommonActions.goBack(),
369
+ // Stack on any delta from a previous `popstate` that hasn't committed yet
370
+ pending === 'replace' ? 'replace' : (pending ?? 0) - 1
371
+ );
327
372
  } else {
328
- resetRoot(record.state);
373
+ // The browser already moved from the current state to the record's state
374
+ resetRoot(
375
+ record.state,
376
+ currentFocused && recordFocused
377
+ ? getHistoryLength(recordFocused) -
378
+ getHistoryLength(currentFocused)
379
+ : 'replace'
380
+ );
329
381
  }
330
382
 
331
383
  return;
@@ -358,7 +410,7 @@ export function useLinking(
358
410
 
359
411
  if (action !== undefined) {
360
412
  try {
361
- dispatch(action);
413
+ dispatch(action, 'replace');
362
414
  } catch (e) {
363
415
  // Ignore any errors from deep linking.
364
416
  // This could happen in case of malformed links, navigation object not being initialized etc.
@@ -371,14 +423,14 @@ export function useLinking(
371
423
  );
372
424
  }
373
425
  } else {
374
- resetRoot(state);
426
+ resetRoot(state, 'replace');
375
427
  }
376
428
  } else {
377
- resetRoot(state);
429
+ resetRoot(state, 'replace');
378
430
  }
379
431
  } else {
380
432
  // if current path didn't return any state, we should revert to initial state
381
- resetRoot(state);
433
+ resetRoot(state, 'replace');
382
434
  }
383
435
  });
384
436
  }, [enabled, history, ref, validateRoutesNotExistInRootState]);
@@ -478,12 +530,20 @@ export function useLinking(
478
530
  return;
479
531
  }
480
532
 
481
- const pendingPath = pendingPopStatePathRef.current;
533
+ // Skip if the state hasn't changed since we last synced it
534
+ // This avoids redundant work when the committed `state` event fires
535
+ // after we already synced from `__unsafe_action__`
536
+ if (previousState === state) {
537
+ return;
538
+ }
539
+
482
540
  const route = findFocusedRoute(state);
483
541
  const path = getPathForRoute(route, state);
484
542
 
543
+ const pendingPopStateDelta = pendingPopStateDeltaRef.current;
544
+
485
545
  previousStateRef.current = state;
486
- pendingPopStatePathRef.current = undefined;
546
+ pendingPopStateDeltaRef.current = undefined;
487
547
 
488
548
  // To detect the kind of state change, we need to:
489
549
  // - Find the common focused navigation state in previous and current state
@@ -497,13 +557,14 @@ export function useLinking(
497
557
  if (
498
558
  previousFocusedState &&
499
559
  focusedState &&
500
- // We should only handle push/pop if path changed from what was in last `popstate`
501
- // Otherwise it's likely a change triggered by `popstate`
502
- path !== pendingPath
560
+ // If the delta from `popstate` is unknown, we can only replace
561
+ pendingPopStateDelta !== 'replace'
503
562
  ) {
504
563
  const historyDelta =
505
564
  getHistoryLength(focusedState) -
506
- getHistoryLength(previousFocusedState);
565
+ getHistoryLength(previousFocusedState) -
566
+ // Subtract the delta already applied by the browser to sync only the remaining changes
567
+ (pendingPopStateDelta ?? 0);
507
568
 
508
569
  if (historyDelta > 0) {
509
570
  // If history length is increased, we should pushState