@react-navigation/native 8.0.0-alpha.46 → 8.0.0-alpha.48
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.
- package/android/build.gradle +4 -1
- package/android/src/main/java/org/reactnavigation/MaterialSymbolModule.kt +5 -1
- package/android/src/main/java/org/reactnavigation/MaterialSymbolTypeface.kt +17 -13
- package/lib/module/createStaticNavigation.js +2 -1
- package/lib/module/createStaticNavigation.js.map +1 -1
- package/lib/module/useLinking.js +76 -39
- package/lib/module/useLinking.js.map +1 -1
- package/lib/typescript/src/createStaticNavigation.d.ts.map +1 -1
- package/lib/typescript/src/useLinking.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/createStaticNavigation.tsx +2 -1
- package/src/useLinking.tsx +118 -60
package/android/build.gradle
CHANGED
|
@@ -52,7 +52,7 @@ class MaterialSymbolModule(reactContext: ReactApplicationContext) :
|
|
|
52
52
|
val density = reactApplicationContext.resources.displayMetrics.density
|
|
53
53
|
val scaledSize = (size * density).roundToInt().coerceAtLeast(1)
|
|
54
54
|
|
|
55
|
-
val
|
|
55
|
+
val typefaceSuffix = MaterialSymbolTypeface.getSuffix(
|
|
56
56
|
reactApplicationContext, variant, weight?.toInt()
|
|
57
57
|
)
|
|
58
58
|
|
|
@@ -82,6 +82,10 @@ class MaterialSymbolModule(reactContext: ReactApplicationContext) :
|
|
|
82
82
|
|
|
83
83
|
cacheDir.mkdirs()
|
|
84
84
|
|
|
85
|
+
val resolvedTypeface = MaterialSymbolTypeface.get(
|
|
86
|
+
reactApplicationContext, variant, weight?.toInt()
|
|
87
|
+
).typeface
|
|
88
|
+
|
|
85
89
|
val paint = Paint(Paint.ANTI_ALIAS_FLAG).apply {
|
|
86
90
|
typeface = resolvedTypeface
|
|
87
91
|
textSize = scaledSize.toFloat()
|
|
@@ -11,6 +11,22 @@ object MaterialSymbolTypeface {
|
|
|
11
11
|
private var availableFonts: Map<String, Set<Int>>? = null
|
|
12
12
|
|
|
13
13
|
fun get(context: Context, variant: String?, weight: Int?): MaterialSymbolTypefaceResult {
|
|
14
|
+
val suffix = getSuffix(context, variant, weight)
|
|
15
|
+
|
|
16
|
+
val typeface = typefaces.getOrPut(suffix) {
|
|
17
|
+
val path = "fonts/MaterialSymbols${suffix}.ttf"
|
|
18
|
+
|
|
19
|
+
try {
|
|
20
|
+
Typeface.createFromAsset(context.assets, path)
|
|
21
|
+
} catch (e: Exception) {
|
|
22
|
+
throw RuntimeException("$path not found.", e)
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return MaterialSymbolTypefaceResult(typeface, suffix)
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
fun getSuffix(context: Context, variant: String?, weight: Int?): String {
|
|
14
30
|
val fonts = getAvailableFonts(context)
|
|
15
31
|
|
|
16
32
|
val resolvedVariant = if (variant != null) {
|
|
@@ -25,19 +41,7 @@ object MaterialSymbolTypeface {
|
|
|
25
41
|
|
|
26
42
|
val resolvedWeight = weight ?: resolveDefaultWeight(fonts, resolvedVariant)
|
|
27
43
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
val typeface = typefaces.getOrPut(suffix) {
|
|
31
|
-
val path = "fonts/MaterialSymbols${suffix}.ttf"
|
|
32
|
-
|
|
33
|
-
try {
|
|
34
|
-
Typeface.createFromAsset(context.assets, path)
|
|
35
|
-
} catch (e: Exception) {
|
|
36
|
-
throw RuntimeException("$path not found.", e)
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
return MaterialSymbolTypefaceResult(typeface, suffix)
|
|
44
|
+
return "${resolvedVariant}_$resolvedWeight"
|
|
41
45
|
}
|
|
42
46
|
|
|
43
47
|
private fun getAvailableFonts(context: Context): Map<String, Set<Int>> {
|
|
@@ -13,6 +13,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
13
13
|
*/
|
|
14
14
|
export function createStaticNavigation(tree) {
|
|
15
15
|
const Component = tree.getComponent();
|
|
16
|
+
const element = /*#__PURE__*/_jsx(Component, {});
|
|
16
17
|
function Navigation({
|
|
17
18
|
linking,
|
|
18
19
|
ref,
|
|
@@ -44,7 +45,7 @@ export function createStaticNavigation(tree) {
|
|
|
44
45
|
...rest,
|
|
45
46
|
ref: ref,
|
|
46
47
|
linking: memoizedLinking,
|
|
47
|
-
children:
|
|
48
|
+
children: element
|
|
48
49
|
});
|
|
49
50
|
}
|
|
50
51
|
return Navigation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createPathConfigForStaticNavigation","React","NavigationContainer","jsx","_jsx","createStaticNavigation","tree","Component","getComponent","Navigation","linking","ref","rest","linkingConfig","useMemo","screens","initialRouteName","config","enabled","path","memoizedLinking","Error","children"],"sourceRoot":"../../src","sources":["createStaticNavigation.tsx"],"mappings":";;AAAA,SACEA,mCAAmC,QAG9B,wBAAwB;AAC/B,OAAO,KAAKC,KAAK,MAAM,OAAO;AAE9B,SAASC,mBAAmB,QAAQ,0BAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AA2B5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAACC,IAA2B,EAAE;EAClE,MAAMC,SAAS,GAAGD,IAAI,CAACE,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"names":["createPathConfigForStaticNavigation","React","NavigationContainer","jsx","_jsx","createStaticNavigation","tree","Component","getComponent","element","Navigation","linking","ref","rest","linkingConfig","useMemo","screens","initialRouteName","config","enabled","path","memoizedLinking","Error","children"],"sourceRoot":"../../src","sources":["createStaticNavigation.tsx"],"mappings":";;AAAA,SACEA,mCAAmC,QAG9B,wBAAwB;AAC/B,OAAO,KAAKC,KAAK,MAAM,OAAO;AAE9B,SAASC,mBAAmB,QAAQ,0BAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AA2B5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,sBAAsBA,CAACC,IAA2B,EAAE;EAClE,MAAMC,SAAS,GAAGD,IAAI,CAACE,YAAY,CAAC,CAAC;EACrC,MAAMC,OAAO,gBAAGL,IAAA,CAACG,SAAS,IAAE,CAAC;EAE7B,SAASG,UAAUA,CAAuC;IACxDC,OAAO;IACPC,GAAG;IACH,GAAGC;EACa,CAAC,EAAE;IACnB,MAAMC,aAAa,GAAGb,KAAK,CAACc,OAAO,CAAC,MAAM;MACxC,MAAMC,OAAO,GAAGhB,mCAAmC,CACjDM,IAAI,EACJ;QAAEW,gBAAgB,EAAEN,OAAO,EAAEO,MAAM,EAAED;MAAiB,CAAC,EACvDN,OAAO,EAAEQ,OAAO,IAAI,IAAI,IAAIR,OAAO,CAACQ,OAAO,KAAK,MAClD,CAAC;MAED,IAAI,CAACH,OAAO,EAAE;MAEd,OAAO;QACLI,IAAI,EAAET,OAAO,EAAEO,MAAM,EAAEE,IAAI;QAC3BH,gBAAgB,EAAEN,OAAO,EAAEO,MAAM,EAAED,gBAAgB;QACnDD;MACF,CAAC;IACH,CAAC,EAAE,CACDL,OAAO,EAAEQ,OAAO,EAChBR,OAAO,EAAEO,MAAM,EAAEE,IAAI,EACrBT,OAAO,EAAEO,MAAM,EAAED,gBAAgB,CAClC,CAAC;IAEF,MAAMI,eAAe,GAAGpB,KAAK,CAACc,OAAO,CAAC,MAAM;MAC1C,MAAMI,OAAO,GACXR,OAAO,EAAEQ,OAAO,IAAI,IAAI,IAAIR,OAAO,CAACQ,OAAO,KAAK,MAAM,GAClD,IAAI,GACJR,OAAO,CAACQ,OAAO;MAErB,OAAO;QACL,GAAGR,OAAO;QACVQ,OAAO;QACPD,MAAM,EAAEJ;MACV,CAAC;IACH,CAAC,EAAE,CAACH,OAAO,EAAEG,aAAa,CAAC,CAAC;IAE5B,IAAIH,OAAO,EAAEQ,OAAO,KAAK,IAAI,IAAIL,aAAa,EAAEE,OAAO,IAAI,IAAI,EAAE;MAC/D,MAAM,IAAIM,KAAK,CACb,gFAAgF,GAC9E,kBAAkB,GAClB,0FAA0F,GAC1F,2EAA2E,GAC3E,gFACJ,CAAC;IACH;IAEA,oBACElB,IAAA,CAACF,mBAAmB;MAAA,GAAKW,IAAI;MAAED,GAAG,EAAEA,GAAI;MAACD,OAAO,EAAEU,eAAgB;MAAAE,QAAA,EAC/Dd;IAAO,CACW,CAAC;EAE1B;EAEA,OAAOC,UAAU;AACnB","ignoreList":[]}
|
package/lib/module/useLinking.js
CHANGED
|
@@ -85,6 +85,25 @@ const findMatchingState = (a, b) => {
|
|
|
85
85
|
return findMatchingState(aChildState, bChildState);
|
|
86
86
|
};
|
|
87
87
|
|
|
88
|
+
/**
|
|
89
|
+
* Calculate the history delta between 2 navigation states.
|
|
90
|
+
* If no common navigation state is found, only replace the history entry.
|
|
91
|
+
*/
|
|
92
|
+
const getHistoryDelta = (previous, next) => {
|
|
93
|
+
const [previousFocused, nextFocused] = findMatchingState(previous, next);
|
|
94
|
+
return previousFocused && nextFocused ? getTotalHistoryLength(nextFocused) - getTotalHistoryLength(previousFocused) : 'replace';
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Check if navigator history matches between committed and latest state.
|
|
99
|
+
*/
|
|
100
|
+
const hasMatchingBackHistory = (current, latest) => {
|
|
101
|
+
if (current.history !== undefined || latest.history !== undefined) {
|
|
102
|
+
return isEqual(current.history, latest.history);
|
|
103
|
+
}
|
|
104
|
+
return current.routes.slice(0, Math.min(current.index, latest.index) + 1).every((route, i) => route.key === latest.routes[i]?.key);
|
|
105
|
+
};
|
|
106
|
+
|
|
88
107
|
/**
|
|
89
108
|
* Check if the state change is popping the last route or history entry.
|
|
90
109
|
*/
|
|
@@ -205,7 +224,7 @@ export function useLinking(ref, {
|
|
|
205
224
|
}, []);
|
|
206
225
|
const previousIndexRef = React.useRef(undefined);
|
|
207
226
|
const previousStateRef = React.useRef(undefined);
|
|
208
|
-
const
|
|
227
|
+
const pendingPopStateRef = React.useRef(undefined);
|
|
209
228
|
React.useEffect(() => {
|
|
210
229
|
if (!history) {
|
|
211
230
|
return;
|
|
@@ -262,7 +281,10 @@ export function useLinking(ref, {
|
|
|
262
281
|
if (actionChangedState) {
|
|
263
282
|
// The change may be committed later, e.g. with transitions
|
|
264
283
|
// Remember the delta so it can be subtracted when syncing the commit
|
|
265
|
-
|
|
284
|
+
pendingPopStateRef.current = {
|
|
285
|
+
state: navigation.getRootState(),
|
|
286
|
+
delta: pendingDelta
|
|
287
|
+
};
|
|
266
288
|
} else if (removePrevented) {
|
|
267
289
|
rollbackHistory();
|
|
268
290
|
}
|
|
@@ -279,20 +301,42 @@ export function useLinking(ref, {
|
|
|
279
301
|
// Otherwise, we'll handle it like a regular deep link
|
|
280
302
|
const record = history.get(index);
|
|
281
303
|
if (record?.path === path && record?.state) {
|
|
282
|
-
const
|
|
283
|
-
const [currentFocused, recordFocused] = findMatchingState(currentState, record.state);
|
|
284
|
-
if (previousIndex - index === 1 && currentFocused && recordFocused && isPoppingLastEntry(currentFocused, recordFocused)) {
|
|
285
|
-
const pending = pendingPopStateDeltaRef.current;
|
|
304
|
+
const pending = pendingPopStateRef.current;
|
|
286
305
|
|
|
306
|
+
// Use the state synced to browser history or the result of a pending traversal,
|
|
307
|
+
// since the store may already contain another navigation that hasn't committed yet.
|
|
308
|
+
const currentState = pending?.state ?? previousStateRef.current;
|
|
309
|
+
const [currentFocused, recordFocused] = findMatchingState(currentState, record.state);
|
|
310
|
+
const [latestFocused] = findMatchingState(navigation.getRootState(), record.state);
|
|
311
|
+
const [pendingFocused] = findMatchingState(previousStateRef.current, pending?.state);
|
|
312
|
+
const currentRoute = currentFocused?.routes[currentFocused.index];
|
|
313
|
+
const latestRoute = latestFocused && getRoutesUntilIndex(latestFocused).find(route => route.key === currentRoute?.key);
|
|
314
|
+
if (previousIndex - index === 1 && currentFocused && recordFocused && latestFocused && currentFocused.key === latestFocused.key && (
|
|
315
|
+
// Only combine pending browser history deltas within the same navigator,
|
|
316
|
+
// as history lengths from different navigators aren't comparable.
|
|
317
|
+
!pending?.state || pendingFocused?.key === currentFocused.key) &&
|
|
318
|
+
// We don't want to dispatch `goBack` if route history has grown since,
|
|
319
|
+
// as we can't specify the entry to go back from.
|
|
320
|
+
// We can only specify route to go back from with `source`.
|
|
321
|
+
// Entries removed since are fine, they were already popped by a back action.
|
|
322
|
+
(latestRoute?.history?.length ?? 0) <= (currentRoute?.history?.length ?? 0) && hasMatchingBackHistory(currentFocused, latestFocused) && isPoppingLastEntry(currentFocused, recordFocused)) {
|
|
287
323
|
// If we detect that the state change is popping the last entry
|
|
288
324
|
// Dispatch a back action instead of resetting to the state
|
|
289
325
|
// This makes sure changes to history state since the entry was added don't get lost
|
|
290
|
-
dispatch(
|
|
326
|
+
dispatch({
|
|
327
|
+
...CommonActions.goBack(),
|
|
328
|
+
target: currentFocused.key,
|
|
329
|
+
// If another back action already removed the source, go back
|
|
330
|
+
// from the current route in the same navigator instead.
|
|
331
|
+
source: latestRoute?.key
|
|
332
|
+
},
|
|
291
333
|
// Stack on any delta from a previous `popstate` that hasn't committed yet
|
|
292
|
-
pending === 'replace' ? 'replace' : (pending ?? 0) - 1);
|
|
334
|
+
pending?.delta === 'replace' ? 'replace' : (pending?.delta ?? 0) - 1);
|
|
293
335
|
} else {
|
|
294
336
|
// The browser already moved from the current state to the record's state
|
|
295
|
-
|
|
337
|
+
// We measure the delta from the last synced state,
|
|
338
|
+
// since that's what the pending delta gets subtracted from when syncing the commit
|
|
339
|
+
resetRoot(record.state, getHistoryDelta(previousStateRef.current, record.state));
|
|
296
340
|
}
|
|
297
341
|
return;
|
|
298
342
|
}
|
|
@@ -305,35 +349,28 @@ export function useLinking(ref, {
|
|
|
305
349
|
state = undefined;
|
|
306
350
|
}
|
|
307
351
|
|
|
352
|
+
// Make sure that the routes in the state exist in the root navigator
|
|
353
|
+
// Otherwise there's an error in the linking configuration
|
|
354
|
+
if (state && validateRoutesNotExistInRootState(state, rootState)) {
|
|
355
|
+
return;
|
|
356
|
+
}
|
|
357
|
+
|
|
308
358
|
// We should only dispatch an action when going forward
|
|
309
359
|
// Otherwise the action will likely add items to history, which would mess things up
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
target: rootState?.key,
|
|
322
|
-
...action
|
|
323
|
-
}, 'replace');
|
|
324
|
-
} catch (e) {
|
|
325
|
-
// Ignore any errors from deep linking.
|
|
326
|
-
// This could happen in case of malformed links, navigation object not being initialized etc.
|
|
327
|
-
console.warn(`An error occurred when trying to handle the link '${path}': ${typeof e === 'object' && e != null && 'message' in e ? e.message : e}`);
|
|
328
|
-
}
|
|
329
|
-
} else {
|
|
330
|
-
resetRoot(state, 'replace');
|
|
331
|
-
}
|
|
332
|
-
} else {
|
|
333
|
-
resetRoot(state, 'replace');
|
|
360
|
+
const action = state && index > previousIndex ? getActionFromStateRef.current(state, configRef.current) : undefined;
|
|
361
|
+
if (action !== undefined) {
|
|
362
|
+
try {
|
|
363
|
+
dispatch({
|
|
364
|
+
target: rootState?.key,
|
|
365
|
+
...action
|
|
366
|
+
}, 'replace');
|
|
367
|
+
} catch (e) {
|
|
368
|
+
// Ignore any errors from deep linking.
|
|
369
|
+
// This could happen in case of malformed links, navigation object not being initialized etc.
|
|
370
|
+
console.warn(`An error occurred when trying to handle the link '${path}': ${typeof e === 'object' && e != null && 'message' in e ? e.message : e}`);
|
|
334
371
|
}
|
|
335
372
|
} else {
|
|
336
|
-
//
|
|
373
|
+
// If current path didn't return any state, we should revert to initial state
|
|
337
374
|
resetRoot(state, 'replace');
|
|
338
375
|
}
|
|
339
376
|
});
|
|
@@ -411,19 +448,19 @@ export function useLinking(ref, {
|
|
|
411
448
|
const stateForPath = getStateForPath(state, navigation.getState());
|
|
412
449
|
const route = findFocusedRoute(stateForPath);
|
|
413
450
|
const path = getPathForRoute(route, stateForPath);
|
|
414
|
-
const pendingPopStateDelta =
|
|
451
|
+
const pendingPopStateDelta = pendingPopStateRef.current?.delta;
|
|
415
452
|
previousStateRef.current = state;
|
|
416
|
-
|
|
453
|
+
pendingPopStateRef.current = undefined;
|
|
417
454
|
|
|
418
455
|
// To detect the kind of state change, we need to:
|
|
419
456
|
// - Find the common focused navigation state in previous and current state
|
|
420
457
|
// - If only the route keys changed, compare history/routes.length to check if we go back/forward/replace
|
|
421
458
|
// - If no common focused navigation state found, it's a replace
|
|
422
|
-
const
|
|
423
|
-
if (
|
|
459
|
+
const delta = getHistoryDelta(previousState, state);
|
|
460
|
+
if (delta !== 'replace' &&
|
|
424
461
|
// If the delta from `popstate` is unknown, we can only replace
|
|
425
462
|
pendingPopStateDelta !== 'replace') {
|
|
426
|
-
const historyDelta =
|
|
463
|
+
const historyDelta = delta - (
|
|
427
464
|
// Subtract the delta already applied by the browser to sync only the remaining changes
|
|
428
465
|
pendingPopStateDelta ?? 0);
|
|
429
466
|
if (historyDelta > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CommonActions","findFocusedRoute","getActionFromState","getActionFromStateDefault","getPathFromState","getPathFromStateDefault","getStateFromPath","getStateFromPathDefault","useNavigationIndependentTree","isEqual","React","createMemoryHistory","ServerContext","getRoutesUntilIndex","state","routes","slice","index","getStateForPath","fallbackState","length","route","fallbackRoute","key","name","childState","map","item","getTotalHistoryLength","baseHistoryLength","history","routeHistoryLength","reduce","acc","r","findMatchingState","a","b","undefined","aHistoryLength","bHistoryLength","aRoute","bRoute","aChildState","bChildState","isPoppingLastEntry","current","record","currentRoute","recordRoute","currentRouteHistory","recordRouteHistory","currentRoutes","recordRoutes","every","i","series","cb","queue","Promise","resolve","callback","then","catch","e","console","error","linkingHandlers","Set","useLinking","ref","enabled","config","independent","useEffect","process","env","NODE_ENV","size","join","trim","handler","Symbol","add","delete","server","use","useState","window","enabledRef","useRef","configRef","getStateFromPathRef","getPathFromStateRef","getActionFromStateRef","validateRoutesNotExistInRootState","useCallback","rootState","some","routeNames","includes","getInitialState","value","location","path","pathname","search","thenable","onfulfilled","previousIndexRef","previousStateRef","pendingPopStateDeltaRef","listen","navigation","previousIndex","rollbackHistory","delta","go","rollbackHistoryIfPrevented","pendingDelta","removePrevented","actionChangedState","unsubscribeEvent","addListener","data","type","defaultPrevented","unsubscribeAction","noop","dispatch","action","resetRoot","get","currentState","getRootState","currentFocused","recordFocused","pending","goBack","target","warn","message","getPathForRoute","stateForPath","focusedRoute","params","previousRoute","hash","getState","replace","onUpdate","previousState","pendingPopStateDelta","previousFocusedState","focusedState","historyDelta","push","nextIndex","backIndex","currentIndex","handleUpdate"],"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","getStateForPath","fallbackState","length","route","fallbackRoute","key","name","childState","map","item","getTotalHistoryLength","baseHistoryLength","history","routeHistoryLength","reduce","acc","r","findMatchingState","a","b","undefined","aHistoryLength","bHistoryLength","aRoute","bRoute","aChildState","bChildState","getHistoryDelta","previous","next","previousFocused","nextFocused","hasMatchingBackHistory","current","latest","Math","min","every","i","isPoppingLastEntry","record","currentRoute","recordRoute","currentRouteHistory","recordRouteHistory","currentRoutes","recordRoutes","series","cb","queue","Promise","resolve","callback","then","catch","e","console","error","linkingHandlers","Set","useLinking","ref","enabled","config","independent","useEffect","process","env","NODE_ENV","size","join","trim","handler","Symbol","add","delete","server","use","useState","window","enabledRef","useRef","configRef","getStateFromPathRef","getPathFromStateRef","getActionFromStateRef","validateRoutesNotExistInRootState","useCallback","rootState","some","routeNames","includes","getInitialState","value","location","path","pathname","search","thenable","onfulfilled","previousIndexRef","previousStateRef","pendingPopStateRef","listen","navigation","previousIndex","rollbackHistory","delta","go","rollbackHistoryIfPrevented","pendingDelta","removePrevented","actionChangedState","unsubscribeEvent","addListener","data","type","defaultPrevented","unsubscribeAction","noop","getRootState","dispatch","action","resetRoot","get","pending","currentState","currentFocused","recordFocused","latestFocused","pendingFocused","latestRoute","find","goBack","target","source","warn","message","getPathForRoute","stateForPath","focusedRoute","params","previousRoute","hash","getState","replace","onUpdate","previousState","pendingPopStateDelta","historyDelta","push","nextIndex","backIndex","currentIndex","handleUpdate"],"sourceRoot":"../../src","sources":["useLinking.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createStaticNavigation.d.ts","sourceRoot":"","sources":["../../../src/createStaticNavigation.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAS,CAAC;AAE9C,KAAK,KAAK,CAAC,SAAS,SAAS,EAAE,IAAI,IAAI,CACrC,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC,EAC3D,SAAS,GAAG,UAAU,CACvB,GAAG;IACF;;OAEG;IACH,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC,GAAG;QAChE;;;;;;;WAOG;QACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC;QAChC;;WAEG;QACH,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;KAC5E,CAAC;CACH,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,gBAAgB,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"createStaticNavigation.d.ts","sourceRoot":"","sources":["../../../src/createStaticNavigation.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAS,CAAC;AAE9C,KAAK,KAAK,CAAC,SAAS,SAAS,EAAE,IAAI,IAAI,CACrC,KAAK,CAAC,cAAc,CAAC,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC,EAC3D,SAAS,GAAG,UAAU,CACvB,GAAG;IACF;;OAEG;IACH,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC,GAAG;QAChE;;;;;;;WAOG;QACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC;QAChC;;WAEG;QACH,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;KAC5E,CAAC;CACH,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,gBAAgB,CAAC,GAAG,CAAC,IAI5C,SAAS,SAAS,EAAE,kCAIrC,KAAK,CAAC,SAAS,CAAC,uBAoDpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLinking.d.ts","sourceRoot":"","sources":["../../../src/useLinking.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,sBAAsB,EAE3B,KAAK,aAAa,EAClB,KAAK,YAAY,EAElB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"useLinking.d.ts","sourceRoot":"","sources":["../../../src/useLinking.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,sBAAsB,EAE3B,KAAK,aAAa,EAClB,KAAK,YAAY,EAElB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAe,CAAC;AAkM9C;;GAEG;AACH,eAAO,MAAM,MAAM,GAAI,IAAI,MAAM,OAAO,CAAC,IAAI,CAAC,eAW7C,CAAC;AAIF,wBAAgB,UAAU,CAAC,SAAS,SAAS,aAAa,EACxD,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,sBAAsB,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,EAC9D,EACE,OAAc,EACd,MAAM,EACN,gBAA0C,EAC1C,gBAA0C,EAC1C,kBAA8C,GAC/C,EAAE,cAAc,CAAC,SAAS,CAAC;;;;;;;;;;EAwhB7B"}
|
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": "8.0.0-alpha.
|
|
4
|
+
"version": "8.0.0-alpha.48",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native",
|
|
7
7
|
"react-navigation",
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"clean": "del lib"
|
|
63
63
|
},
|
|
64
64
|
"dependencies": {
|
|
65
|
-
"@react-navigation/core": "^8.0.0-alpha.
|
|
65
|
+
"@react-navigation/core": "^8.0.0-alpha.38",
|
|
66
66
|
"escape-string-regexp": "^5.0.0",
|
|
67
67
|
"fast-deep-equal": "^3.1.3",
|
|
68
68
|
"nanoid": "^5.1.11",
|
|
@@ -132,5 +132,5 @@
|
|
|
132
132
|
}
|
|
133
133
|
}
|
|
134
134
|
},
|
|
135
|
-
"gitHead": "
|
|
135
|
+
"gitHead": "904ba65a2938924d87658b7009a95698f93c7731"
|
|
136
136
|
}
|
|
@@ -41,6 +41,7 @@ type Props<ParamList extends {}> = Omit<
|
|
|
41
41
|
*/
|
|
42
42
|
export function createStaticNavigation(tree: StaticNavigation<any>) {
|
|
43
43
|
const Component = tree.getComponent();
|
|
44
|
+
const element = <Component />;
|
|
44
45
|
|
|
45
46
|
function Navigation<ParamList extends {} = RootParamList>({
|
|
46
47
|
linking,
|
|
@@ -92,7 +93,7 @@ export function createStaticNavigation(tree: StaticNavigation<any>) {
|
|
|
92
93
|
|
|
93
94
|
return (
|
|
94
95
|
<NavigationContainer {...rest} ref={ref} linking={memoizedLinking}>
|
|
95
|
-
|
|
96
|
+
{element}
|
|
96
97
|
</NavigationContainer>
|
|
97
98
|
);
|
|
98
99
|
}
|
package/src/useLinking.tsx
CHANGED
|
@@ -136,6 +136,38 @@ const findMatchingState = <T extends NavigationState>(
|
|
|
136
136
|
return findMatchingState(aChildState, bChildState);
|
|
137
137
|
};
|
|
138
138
|
|
|
139
|
+
/**
|
|
140
|
+
* Calculate the history delta between 2 navigation states.
|
|
141
|
+
* If no common navigation state is found, only replace the history entry.
|
|
142
|
+
*/
|
|
143
|
+
const getHistoryDelta = (
|
|
144
|
+
previous: NavigationState | undefined,
|
|
145
|
+
next: NavigationState | undefined
|
|
146
|
+
): PopStateDelta => {
|
|
147
|
+
const [previousFocused, nextFocused] = findMatchingState(previous, next);
|
|
148
|
+
|
|
149
|
+
return previousFocused && nextFocused
|
|
150
|
+
? getTotalHistoryLength(nextFocused) -
|
|
151
|
+
getTotalHistoryLength(previousFocused)
|
|
152
|
+
: 'replace';
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Check if navigator history matches between committed and latest state.
|
|
157
|
+
*/
|
|
158
|
+
const hasMatchingBackHistory = (
|
|
159
|
+
current: NavigationState,
|
|
160
|
+
latest: NavigationState
|
|
161
|
+
): boolean => {
|
|
162
|
+
if (current.history !== undefined || latest.history !== undefined) {
|
|
163
|
+
return isEqual(current.history, latest.history);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
return current.routes
|
|
167
|
+
.slice(0, Math.min(current.index, latest.index) + 1)
|
|
168
|
+
.every((route, i) => route.key === latest.routes[i]?.key);
|
|
169
|
+
};
|
|
170
|
+
|
|
139
171
|
/**
|
|
140
172
|
* Check if the state change is popping the last route or history entry.
|
|
141
173
|
*/
|
|
@@ -314,9 +346,9 @@ export function useLinking<ParamList extends ParamListBase>(
|
|
|
314
346
|
|
|
315
347
|
const previousIndexRef = React.useRef<number | undefined>(undefined);
|
|
316
348
|
const previousStateRef = React.useRef<NavigationState | undefined>(undefined);
|
|
317
|
-
const
|
|
318
|
-
undefined
|
|
319
|
-
);
|
|
349
|
+
const pendingPopStateRef = React.useRef<
|
|
350
|
+
{ state: NavigationState | undefined; delta: PopStateDelta } | undefined
|
|
351
|
+
>(undefined);
|
|
320
352
|
|
|
321
353
|
React.useEffect(() => {
|
|
322
354
|
if (!history) {
|
|
@@ -397,7 +429,10 @@ export function useLinking<ParamList extends ParamListBase>(
|
|
|
397
429
|
if (actionChangedState) {
|
|
398
430
|
// The change may be committed later, e.g. with transitions
|
|
399
431
|
// Remember the delta so it can be subtracted when syncing the commit
|
|
400
|
-
|
|
432
|
+
pendingPopStateRef.current = {
|
|
433
|
+
state: navigation.getRootState(),
|
|
434
|
+
delta: pendingDelta,
|
|
435
|
+
};
|
|
401
436
|
} else if (removePrevented) {
|
|
402
437
|
rollbackHistory();
|
|
403
438
|
}
|
|
@@ -429,37 +464,73 @@ export function useLinking<ParamList extends ParamListBase>(
|
|
|
429
464
|
const record = history.get(index);
|
|
430
465
|
|
|
431
466
|
if (record?.path === path && record?.state) {
|
|
432
|
-
const
|
|
467
|
+
const pending = pendingPopStateRef.current;
|
|
468
|
+
|
|
469
|
+
// Use the state synced to browser history or the result of a pending traversal,
|
|
470
|
+
// since the store may already contain another navigation that hasn't committed yet.
|
|
471
|
+
const currentState = pending?.state ?? previousStateRef.current;
|
|
433
472
|
|
|
434
473
|
const [currentFocused, recordFocused] = findMatchingState(
|
|
435
474
|
currentState,
|
|
436
475
|
record.state
|
|
437
476
|
);
|
|
438
477
|
|
|
478
|
+
const [latestFocused] = findMatchingState(
|
|
479
|
+
navigation.getRootState(),
|
|
480
|
+
record.state
|
|
481
|
+
);
|
|
482
|
+
|
|
483
|
+
const [pendingFocused] = findMatchingState(
|
|
484
|
+
previousStateRef.current,
|
|
485
|
+
pending?.state
|
|
486
|
+
);
|
|
487
|
+
|
|
488
|
+
const currentRoute = currentFocused?.routes[currentFocused.index];
|
|
489
|
+
const latestRoute =
|
|
490
|
+
latestFocused &&
|
|
491
|
+
getRoutesUntilIndex(latestFocused).find(
|
|
492
|
+
(route) => route.key === currentRoute?.key
|
|
493
|
+
);
|
|
494
|
+
|
|
439
495
|
if (
|
|
440
496
|
previousIndex - index === 1 &&
|
|
441
497
|
currentFocused &&
|
|
442
498
|
recordFocused &&
|
|
499
|
+
latestFocused &&
|
|
500
|
+
currentFocused.key === latestFocused.key &&
|
|
501
|
+
// Only combine pending browser history deltas within the same navigator,
|
|
502
|
+
// as history lengths from different navigators aren't comparable.
|
|
503
|
+
(!pending?.state || pendingFocused?.key === currentFocused.key) &&
|
|
504
|
+
// We don't want to dispatch `goBack` if route history has grown since,
|
|
505
|
+
// as we can't specify the entry to go back from.
|
|
506
|
+
// We can only specify route to go back from with `source`.
|
|
507
|
+
// Entries removed since are fine, they were already popped by a back action.
|
|
508
|
+
(latestRoute?.history?.length ?? 0) <=
|
|
509
|
+
(currentRoute?.history?.length ?? 0) &&
|
|
510
|
+
hasMatchingBackHistory(currentFocused, latestFocused) &&
|
|
443
511
|
isPoppingLastEntry(currentFocused, recordFocused)
|
|
444
512
|
) {
|
|
445
|
-
const pending = pendingPopStateDeltaRef.current;
|
|
446
|
-
|
|
447
513
|
// If we detect that the state change is popping the last entry
|
|
448
514
|
// Dispatch a back action instead of resetting to the state
|
|
449
515
|
// This makes sure changes to history state since the entry was added don't get lost
|
|
450
516
|
dispatch(
|
|
451
|
-
|
|
517
|
+
{
|
|
518
|
+
...CommonActions.goBack(),
|
|
519
|
+
target: currentFocused.key,
|
|
520
|
+
// If another back action already removed the source, go back
|
|
521
|
+
// from the current route in the same navigator instead.
|
|
522
|
+
source: latestRoute?.key,
|
|
523
|
+
},
|
|
452
524
|
// Stack on any delta from a previous `popstate` that hasn't committed yet
|
|
453
|
-
pending === 'replace' ? 'replace' : (pending ?? 0) - 1
|
|
525
|
+
pending?.delta === 'replace' ? 'replace' : (pending?.delta ?? 0) - 1
|
|
454
526
|
);
|
|
455
527
|
} else {
|
|
456
528
|
// The browser already moved from the current state to the record's state
|
|
529
|
+
// We measure the delta from the last synced state,
|
|
530
|
+
// since that's what the pending delta gets subtracted from when syncing the commit
|
|
457
531
|
resetRoot(
|
|
458
532
|
record.state,
|
|
459
|
-
|
|
460
|
-
? getTotalHistoryLength(recordFocused) -
|
|
461
|
-
getTotalHistoryLength(currentFocused)
|
|
462
|
-
: 'replace'
|
|
533
|
+
getHistoryDelta(previousStateRef.current, record.state)
|
|
463
534
|
);
|
|
464
535
|
}
|
|
465
536
|
|
|
@@ -478,49 +549,41 @@ export function useLinking<ParamList extends ParamListBase>(
|
|
|
478
549
|
state = undefined;
|
|
479
550
|
}
|
|
480
551
|
|
|
552
|
+
// Make sure that the routes in the state exist in the root navigator
|
|
553
|
+
// Otherwise there's an error in the linking configuration
|
|
554
|
+
if (state && validateRoutesNotExistInRootState(state, rootState)) {
|
|
555
|
+
return;
|
|
556
|
+
}
|
|
557
|
+
|
|
481
558
|
// We should only dispatch an action when going forward
|
|
482
559
|
// Otherwise the action will likely add items to history, which would mess things up
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
return;
|
|
488
|
-
}
|
|
560
|
+
const action =
|
|
561
|
+
state && index > previousIndex
|
|
562
|
+
? getActionFromStateRef.current(state, configRef.current)
|
|
563
|
+
: undefined;
|
|
489
564
|
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
565
|
+
if (action !== undefined) {
|
|
566
|
+
try {
|
|
567
|
+
dispatch(
|
|
568
|
+
{
|
|
569
|
+
target: rootState?.key,
|
|
570
|
+
...action,
|
|
571
|
+
},
|
|
572
|
+
'replace'
|
|
573
|
+
);
|
|
574
|
+
} catch (e) {
|
|
575
|
+
// Ignore any errors from deep linking.
|
|
576
|
+
// This could happen in case of malformed links, navigation object not being initialized etc.
|
|
577
|
+
console.warn(
|
|
578
|
+
`An error occurred when trying to handle the link '${path}': ${
|
|
579
|
+
typeof e === 'object' && e != null && 'message' in e
|
|
580
|
+
? e.message
|
|
581
|
+
: e
|
|
582
|
+
}`
|
|
494
583
|
);
|
|
495
|
-
|
|
496
|
-
if (action !== undefined) {
|
|
497
|
-
try {
|
|
498
|
-
dispatch(
|
|
499
|
-
{
|
|
500
|
-
target: rootState?.key,
|
|
501
|
-
...action,
|
|
502
|
-
},
|
|
503
|
-
'replace'
|
|
504
|
-
);
|
|
505
|
-
} catch (e) {
|
|
506
|
-
// Ignore any errors from deep linking.
|
|
507
|
-
// This could happen in case of malformed links, navigation object not being initialized etc.
|
|
508
|
-
console.warn(
|
|
509
|
-
`An error occurred when trying to handle the link '${path}': ${
|
|
510
|
-
typeof e === 'object' && e != null && 'message' in e
|
|
511
|
-
? e.message
|
|
512
|
-
: e
|
|
513
|
-
}`
|
|
514
|
-
);
|
|
515
|
-
}
|
|
516
|
-
} else {
|
|
517
|
-
resetRoot(state, 'replace');
|
|
518
|
-
}
|
|
519
|
-
} else {
|
|
520
|
-
resetRoot(state, 'replace');
|
|
521
584
|
}
|
|
522
585
|
} else {
|
|
523
|
-
//
|
|
586
|
+
// If current path didn't return any state, we should revert to initial state
|
|
524
587
|
resetRoot(state, 'replace');
|
|
525
588
|
}
|
|
526
589
|
});
|
|
@@ -633,29 +696,24 @@ export function useLinking<ParamList extends ParamListBase>(
|
|
|
633
696
|
const route = findFocusedRoute(stateForPath);
|
|
634
697
|
const path = getPathForRoute(route, stateForPath);
|
|
635
698
|
|
|
636
|
-
const pendingPopStateDelta =
|
|
699
|
+
const pendingPopStateDelta = pendingPopStateRef.current?.delta;
|
|
637
700
|
|
|
638
701
|
previousStateRef.current = state;
|
|
639
|
-
|
|
702
|
+
pendingPopStateRef.current = undefined;
|
|
640
703
|
|
|
641
704
|
// To detect the kind of state change, we need to:
|
|
642
705
|
// - Find the common focused navigation state in previous and current state
|
|
643
706
|
// - If only the route keys changed, compare history/routes.length to check if we go back/forward/replace
|
|
644
707
|
// - If no common focused navigation state found, it's a replace
|
|
645
|
-
const
|
|
646
|
-
previousState,
|
|
647
|
-
state
|
|
648
|
-
);
|
|
708
|
+
const delta = getHistoryDelta(previousState, state);
|
|
649
709
|
|
|
650
710
|
if (
|
|
651
|
-
|
|
652
|
-
focusedState &&
|
|
711
|
+
delta !== 'replace' &&
|
|
653
712
|
// If the delta from `popstate` is unknown, we can only replace
|
|
654
713
|
pendingPopStateDelta !== 'replace'
|
|
655
714
|
) {
|
|
656
715
|
const historyDelta =
|
|
657
|
-
|
|
658
|
-
getTotalHistoryLength(previousFocusedState) -
|
|
716
|
+
delta -
|
|
659
717
|
// Subtract the delta already applied by the browser to sync only the remaining changes
|
|
660
718
|
(pendingPopStateDelta ?? 0);
|
|
661
719
|
|