expo-router 58.0.21 → 58.0.23
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 +2 -2
- package/build/fork/useLinking.native.js +2 -1
- package/build/fork/useLinking.native.js.map +1 -1
- package/build/global-state/getNavigationAction.js +4 -1
- package/build/global-state/getNavigationAction.js.map +1 -1
- package/build/global-state/resolveNavigationDestination.js +46 -7
- package/build/global-state/resolveNavigationDestination.js.map +1 -1
- package/build/global-state/types.d.ts +2 -1
- package/ios/LinkPreview/LinkZoomTransition.swift +19 -15
- package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.21/expo.modules.router-58.0.21.module → 58.0.23/expo.modules.router-58.0.23.module} +7 -7
- package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.23/expo.modules.router-58.0.23.module.md5 +1 -0
- package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.23/expo.modules.router-58.0.23.module.sha1 +1 -0
- package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.23/expo.modules.router-58.0.23.module.sha256 +1 -0
- package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.23/expo.modules.router-58.0.23.module.sha512 +1 -0
- package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.21/expo.modules.router-58.0.21.pom → 58.0.23/expo.modules.router-58.0.23.pom} +1 -1
- package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.23/expo.modules.router-58.0.23.pom.md5 +1 -0
- package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.23/expo.modules.router-58.0.23.pom.sha1 +1 -0
- package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.23/expo.modules.router-58.0.23.pom.sha256 +1 -0
- package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.23/expo.modules.router-58.0.23.pom.sha512 +1 -0
- package/package.json +4 -4
- package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.21/expo.modules.router-58.0.21.module.md5 +0 -1
- package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.21/expo.modules.router-58.0.21.module.sha1 +0 -1
- package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.21/expo.modules.router-58.0.21.module.sha256 +0 -1
- package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.21/expo.modules.router-58.0.21.module.sha512 +0 -1
- package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.21/expo.modules.router-58.0.21.pom.md5 +0 -1
- package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.21/expo.modules.router-58.0.21.pom.sha1 +0 -1
- package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.21/expo.modules.router-58.0.21.pom.sha256 +0 -1
- package/local-maven-repo/expo/modules/router/expo.modules.router/58.0.21/expo.modules.router-58.0.21.pom.sha512 +0 -1
- /package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.21/expo.modules.router-58.0.21-sources.jar → 58.0.23/expo.modules.router-58.0.23-sources.jar} +0 -0
- /package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.21/expo.modules.router-58.0.21-sources.jar.md5 → 58.0.23/expo.modules.router-58.0.23-sources.jar.md5} +0 -0
- /package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.21/expo.modules.router-58.0.21-sources.jar.sha1 → 58.0.23/expo.modules.router-58.0.23-sources.jar.sha1} +0 -0
- /package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.21/expo.modules.router-58.0.21-sources.jar.sha256 → 58.0.23/expo.modules.router-58.0.23-sources.jar.sha256} +0 -0
- /package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.21/expo.modules.router-58.0.21-sources.jar.sha512 → 58.0.23/expo.modules.router-58.0.23-sources.jar.sha512} +0 -0
- /package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.21/expo.modules.router-58.0.21.aar → 58.0.23/expo.modules.router-58.0.23.aar} +0 -0
- /package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.21/expo.modules.router-58.0.21.aar.md5 → 58.0.23/expo.modules.router-58.0.23.aar.md5} +0 -0
- /package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.21/expo.modules.router-58.0.21.aar.sha1 → 58.0.23/expo.modules.router-58.0.23.aar.sha1} +0 -0
- /package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.21/expo.modules.router-58.0.21.aar.sha256 → 58.0.23/expo.modules.router-58.0.23.aar.sha256} +0 -0
- /package/local-maven-repo/expo/modules/router/expo.modules.router/{58.0.21/expo.modules.router-58.0.21.aar.sha512 → 58.0.23/expo.modules.router-58.0.23.aar.sha512} +0 -0
package/android/build.gradle
CHANGED
|
@@ -4,13 +4,13 @@ plugins {
|
|
|
4
4
|
}
|
|
5
5
|
|
|
6
6
|
group = 'expo.modules.router'
|
|
7
|
-
version = '58.0.
|
|
7
|
+
version = '58.0.23'
|
|
8
8
|
|
|
9
9
|
android {
|
|
10
10
|
namespace "expo.modules.router"
|
|
11
11
|
defaultConfig {
|
|
12
12
|
versionCode 1
|
|
13
|
-
versionName "58.0.
|
|
13
|
+
versionName "58.0.23"
|
|
14
14
|
}
|
|
15
15
|
lintOptions {
|
|
16
16
|
abortOnError false
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["fork/useLinking.native.ts"],"sourcesContent":[null],"names":["useLinking","linkingHandlers","getInitialPath","prefixes","url","path","extractExpoPathFromURL","startsWith","ref","filter","config","getInitialURL","getInitialURLWithTimeout","subscribe","listener","callback","subscription","Linking","addEventListener","removeEventListener","bind","remove","getStateFromPath","getStateFromPathDefault","routerConfig","use","RouterConfigContext","enqueue","useEnqueueRoutingIntent","useEffect","process","env","NODE_ENV","undefined","length","console","error","join","trim","handler","Symbol","push","index","indexOf","splice","getStateFromURL","useEffectEvent","segments","getRouteSegmentsFromState","current","getRootState","getInitialState","useCallback","createInitialState","shouldParseURL","parsedState","routeNode","withLoadedLayouts","createSeededRootState","completeParsedState","ROOT_CHAIN","then","navigation","state","rootState","routes","some","r","routeNames","includes","name","type","payload","href","originalHref","options","event"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["fork/useLinking.native.ts"],"sourcesContent":[null],"names":["useLinking","linkingHandlers","getInitialPath","prefixes","url","path","extractExpoPathFromURL","startsWith","ref","filter","config","getInitialURL","getInitialURLWithTimeout","subscribe","listener","callback","subscription","Linking","addEventListener","removeEventListener","bind","remove","getStateFromPath","getStateFromPathDefault","routerConfig","use","RouterConfigContext","enqueue","useEnqueueRoutingIntent","useEffect","process","env","NODE_ENV","undefined","length","console","error","join","trim","handler","Symbol","push","index","indexOf","splice","getStateFromURL","useEffectEvent","segments","getRouteSegmentsFromState","current","getRootState","getInitialState","useCallback","createInitialState","shouldParseURL","parsedState","routeNode","withLoadedLayouts","createSeededRootState","completeParsedState","ROOT_CHAIN","then","navigation","state","rootState","routes","some","r","routeNames","includes","name","type","payload","href","originalHref","options","event","__internal__popToNavigator"],"mappings":"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"}
|
|
@@ -40,7 +40,10 @@ function getNavigateAction(baseHref, options, config, type, withAnchor, singular
|
|
|
40
40
|
type: type ?? 'NAVIGATE',
|
|
41
41
|
payload: {
|
|
42
42
|
singular,
|
|
43
|
-
__internal__PreviewKey: previewKey
|
|
43
|
+
__internal__PreviewKey: previewKey,
|
|
44
|
+
...options.__internal__popToNavigator ? {
|
|
45
|
+
pop: true
|
|
46
|
+
} : undefined
|
|
44
47
|
}
|
|
45
48
|
},
|
|
46
49
|
withAnchor,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["global-state/getNavigationAction.ts"],"sourcesContent":[null],"names":["getNavigateAction","baseHref","options","config","type","withAnchor","singular","previewKey","navigationState","linking","routeNode","Error","routeInfo","getRouteInfoFromState","href","applyRedirects","resolveHrefStringWithSegments","redirects","state","getStateFromPath","segments","routes","length","status","internalParams","__internal__previewId","undefined","INTERNAL_EXPO_ROUTER_PREVIEW_ID_PARAM_NAME","action","resolveNavigationDestination","targetState","registry","payload","__internal__PreviewKey"],"mappings":";;;;+BA2BgBA;;;eAAAA;;;oCAzBe;sBACe;kCAIvC;uCAI+B;8CACO;AAetC,SAASA,kBACdC,QAAgB,EAChBC,OAAsB,EACtBC,MAA4B,EAC5BC,IAAwB,EACxBC,UAA+B,EAC/BC,QAAqC,EACrCC,UAA8B,EAC9BC,eAAgC;IAEhC,IAAI,CAACL,OAAOM,OAAO,IAAI,CAACN,OAAOO,SAAS,EAAE;QACxC,MAAM,IAAIC,MAAM;IAClB;IAEA,MAAMC,YAAYC,IAAAA,4CAAqB,EAACL;IACxC,MAAMM,OAAOC,IAAAA,kCAAc,EACzBC,IAAAA,mCAA6B,EAACf,UAAUW,WAAWV,UACnDC,OAAOc,SAAS;IAGlB,MAAMC,QAAQf,OAAOM,OAAO,CAACU,gBAAgB,CAAEL,MAAMX,OAAOM,OAAO,CAACN,MAAM,EAAES,UAAUQ,QAAQ;IAC9F,IAAI,CAACF,SAASA,MAAMG,MAAM,CAACC,MAAM,KAAK,GAAG;QACvC,OAAO;YAAEC,QAAQ;YAAWT;QAAK;IACnC;IAEA,MAAMU,iBAA2C;QAC/C,GAAItB,QAAQuB,qBAAqB,KAAKC,YAClC;YACE,CAACC,4DAA0C,CAAC,EAAEzB,QAAQuB,qBAAqB;QAC7E,IACA,CAAC,CAAC;IACR;IACA,MAAMG,SAASC,IAAAA,0DAA4B,EAAC;QAC1CC,aAAaZ;QACbV;QACAE,WAAWP,OAAOO,SAAS;QAC3BqB,UAAU5B,OAAO4B,QAAQ;QACzBH,QAAQ;YACNxB,MAAMA,QAAQ;YACd4B,SAAS;
|
|
1
|
+
{"version":3,"sources":["global-state/getNavigationAction.ts"],"sourcesContent":[null],"names":["getNavigateAction","baseHref","options","config","type","withAnchor","singular","previewKey","navigationState","linking","routeNode","Error","routeInfo","getRouteInfoFromState","href","applyRedirects","resolveHrefStringWithSegments","redirects","state","getStateFromPath","segments","routes","length","status","internalParams","__internal__previewId","undefined","INTERNAL_EXPO_ROUTER_PREVIEW_ID_PARAM_NAME","action","resolveNavigationDestination","targetState","registry","payload","__internal__PreviewKey","__internal__popToNavigator","pop"],"mappings":";;;;+BA2BgBA;;;eAAAA;;;oCAzBe;sBACe;kCAIvC;uCAI+B;8CACO;AAetC,SAASA,kBACdC,QAAgB,EAChBC,OAAsB,EACtBC,MAA4B,EAC5BC,IAAwB,EACxBC,UAA+B,EAC/BC,QAAqC,EACrCC,UAA8B,EAC9BC,eAAgC;IAEhC,IAAI,CAACL,OAAOM,OAAO,IAAI,CAACN,OAAOO,SAAS,EAAE;QACxC,MAAM,IAAIC,MAAM;IAClB;IAEA,MAAMC,YAAYC,IAAAA,4CAAqB,EAACL;IACxC,MAAMM,OAAOC,IAAAA,kCAAc,EACzBC,IAAAA,mCAA6B,EAACf,UAAUW,WAAWV,UACnDC,OAAOc,SAAS;IAGlB,MAAMC,QAAQf,OAAOM,OAAO,CAACU,gBAAgB,CAAEL,MAAMX,OAAOM,OAAO,CAACN,MAAM,EAAES,UAAUQ,QAAQ;IAC9F,IAAI,CAACF,SAASA,MAAMG,MAAM,CAACC,MAAM,KAAK,GAAG;QACvC,OAAO;YAAEC,QAAQ;YAAWT;QAAK;IACnC;IAEA,MAAMU,iBAA2C;QAC/C,GAAItB,QAAQuB,qBAAqB,KAAKC,YAClC;YACE,CAACC,4DAA0C,CAAC,EAAEzB,QAAQuB,qBAAqB;QAC7E,IACA,CAAC,CAAC;IACR;IACA,MAAMG,SAASC,IAAAA,0DAA4B,EAAC;QAC1CC,aAAaZ;QACbV;QACAE,WAAWP,OAAOO,SAAS;QAC3BqB,UAAU5B,OAAO4B,QAAQ;QACzBH,QAAQ;YACNxB,MAAMA,QAAQ;YACd4B,SAAS;gBACP1B;gBACA2B,wBAAwB1B;gBACxB,GAAIL,QAAQgC,0BAA0B,GAAG;oBAAEC,KAAK;gBAAK,IAAIT,SAAS;YACpE;QACF;QACArB;QACAmB;IACF;IAEA,OAAO;QAAED,QAAQ;QAAUK;IAAO;AACpC"}
|
|
@@ -23,6 +23,7 @@ const _stateKeys = require("../react-navigation/routers/stateKeys");
|
|
|
23
23
|
const _utils = require("../react-navigation/routers/utils");
|
|
24
24
|
const _routeNode = require("../routeNode");
|
|
25
25
|
const _sortRoutes = require("../sortRoutes");
|
|
26
|
+
const _getSingularId = require("../utils/getSingularId");
|
|
26
27
|
function _interop_require_default(obj) {
|
|
27
28
|
return obj && obj.__esModule ? obj : {
|
|
28
29
|
default: obj
|
|
@@ -83,20 +84,34 @@ function resolveNavigationDestination({ targetState, navigationState, routeNode,
|
|
|
83
84
|
targetState: target,
|
|
84
85
|
navigationState: current,
|
|
85
86
|
routeNode: node,
|
|
87
|
+
rootRouteNode: routeNode,
|
|
86
88
|
registry,
|
|
87
89
|
action: resolvedAction,
|
|
88
90
|
withAnchor,
|
|
89
91
|
internalParams
|
|
90
92
|
});
|
|
91
93
|
}
|
|
92
|
-
function createResolvedAction({ targetState, navigationState, routeNode, registry, action, withAnchor = false, internalParams = {} }) {
|
|
94
|
+
function createResolvedAction({ targetState, navigationState, routeNode, rootRouteNode, registry, action, withAnchor = false, internalParams = {} }) {
|
|
93
95
|
const targetRoute = getFocusedRoute(targetState);
|
|
94
96
|
if (!targetRoute) {
|
|
95
97
|
return action;
|
|
96
98
|
}
|
|
97
99
|
const params = (0, _navigationParams.appendInternalExpoRouterParams)(targetRoute.params, internalParams) ?? {};
|
|
100
|
+
const childTarget = targetRoute.state;
|
|
101
|
+
const childNode = findDestinationNode(routeNode, targetRoute.name);
|
|
102
|
+
const { pop, ...actionPayload } = action.payload;
|
|
103
|
+
const shouldPop = pop === true && shouldPopTo({
|
|
104
|
+
targetRoute,
|
|
105
|
+
navigationState,
|
|
106
|
+
routeNode,
|
|
107
|
+
rootRouteNode,
|
|
108
|
+
childNode
|
|
109
|
+
});
|
|
98
110
|
const payload = {
|
|
99
|
-
...
|
|
111
|
+
...actionPayload,
|
|
112
|
+
...shouldPop ? {
|
|
113
|
+
pop
|
|
114
|
+
} : undefined,
|
|
100
115
|
name: targetRoute.name,
|
|
101
116
|
params,
|
|
102
117
|
...targetRoute.path !== undefined ? {
|
|
@@ -109,8 +124,6 @@ function createResolvedAction({ targetState, navigationState, routeNode, registr
|
|
|
109
124
|
};
|
|
110
125
|
const result = registry.get(navigationState.key)?.reduce(navigationState, baseAction);
|
|
111
126
|
const selectedRoute = getSelection(result)?.route;
|
|
112
|
-
const childTarget = targetRoute.state;
|
|
113
|
-
const childNode = findDestinationNode(routeNode, targetRoute.name);
|
|
114
127
|
if (!childTarget || !childNode) {
|
|
115
128
|
return baseAction;
|
|
116
129
|
}
|
|
@@ -120,11 +133,13 @@ function createResolvedAction({ targetState, navigationState, routeNode, registr
|
|
|
120
133
|
targetState: childTarget,
|
|
121
134
|
navigationState: selectedRoute?.state,
|
|
122
135
|
routeNode: childNode,
|
|
136
|
+
rootRouteNode,
|
|
123
137
|
registry,
|
|
124
138
|
withAnchor,
|
|
125
139
|
internalParams,
|
|
126
140
|
parentChain,
|
|
127
|
-
previewKey: action.payload.__internal__PreviewKey
|
|
141
|
+
previewKey: action.payload.__internal__PreviewKey,
|
|
142
|
+
pop: pop === true
|
|
128
143
|
});
|
|
129
144
|
return {
|
|
130
145
|
...baseAction,
|
|
@@ -134,7 +149,7 @@ function createResolvedAction({ targetState, navigationState, routeNode, registr
|
|
|
134
149
|
}
|
|
135
150
|
};
|
|
136
151
|
}
|
|
137
|
-
function resolveState({ targetState, navigationState, routeNode, registry, withAnchor, internalParams, parentChain, previewKey }) {
|
|
152
|
+
function resolveState({ targetState, navigationState, routeNode, rootRouteNode, registry, withAnchor, internalParams, parentChain, previewKey, pop }) {
|
|
138
153
|
if (navigationState?.stale !== false || !registry.has(navigationState.key)) {
|
|
139
154
|
return createDestinationState(targetState, routeNode, withAnchor, internalParams, parentChain);
|
|
140
155
|
}
|
|
@@ -146,11 +161,15 @@ function resolveState({ targetState, navigationState, routeNode, registry, withA
|
|
|
146
161
|
targetState: targetState,
|
|
147
162
|
navigationState,
|
|
148
163
|
routeNode,
|
|
164
|
+
rootRouteNode,
|
|
149
165
|
registry,
|
|
150
166
|
action: {
|
|
151
167
|
type: 'NAVIGATE',
|
|
152
168
|
payload: {
|
|
153
|
-
__internal__PreviewKey: previewKey
|
|
169
|
+
__internal__PreviewKey: previewKey,
|
|
170
|
+
...pop ? {
|
|
171
|
+
pop
|
|
172
|
+
} : undefined
|
|
154
173
|
}
|
|
155
174
|
},
|
|
156
175
|
withAnchor,
|
|
@@ -236,6 +255,26 @@ function routesMatch(targetRoute, currentRoute) {
|
|
|
236
255
|
const dynamic = (0, _matchers.matchDynamicName)(targetRoute.name);
|
|
237
256
|
return !dynamic || targetRoute.params?.[dynamic.name] === currentRoute.params?.[dynamic.name];
|
|
238
257
|
}
|
|
258
|
+
/**
|
|
259
|
+
* Whether a `pop` request should apply to the target in this navigator. This follows React
|
|
260
|
+
* Navigation's `getActionFromState`, which incoming links used before: the root layout's navigator
|
|
261
|
+
* pops only to a route that holds a navigator, and every navigator below it pops to the target
|
|
262
|
+
* screen too. Stacks pop to the last route with the target's name, so for a dynamic route that
|
|
263
|
+
* route must also have the target's params; otherwise the link pushes a new instance instead of
|
|
264
|
+
* taking over another one.
|
|
265
|
+
*/ function shouldPopTo({ targetRoute, navigationState, routeNode, rootRouteNode, childNode }) {
|
|
266
|
+
const isRootLayoutNavigator = routeNode === rootRouteNode && targetRoute.name !== _constants.INTERNAL_SLOT_NAME;
|
|
267
|
+
const holdsNavigator = targetRoute.state !== undefined || (childNode?.children.length ?? 0) > 0;
|
|
268
|
+
if (isRootLayoutNavigator && !holdsNavigator) {
|
|
269
|
+
return false;
|
|
270
|
+
}
|
|
271
|
+
const popTarget = navigationState.routes.findLast((route)=>route.name === targetRoute.name);
|
|
272
|
+
return !popTarget || (0, _getSingularId.getSingularId)(targetRoute.name, {
|
|
273
|
+
params: targetRoute.params
|
|
274
|
+
}) === (0, _getSingularId.getSingularId)(popTarget.name, {
|
|
275
|
+
params: popTarget.params
|
|
276
|
+
});
|
|
277
|
+
}
|
|
239
278
|
function findDestinationNode(routeNode, routeName) {
|
|
240
279
|
return routeName === _constants.INTERNAL_SLOT_NAME ? routeNode : (0, _routeNode.findRouteNodeByName)(routeNode, routeName);
|
|
241
280
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["global-state/resolveNavigationDestination.ts"],"sourcesContent":[null],"names":["resolveNavigationDestination","supportedActionTypes","Set","targetState","navigationState","routeNode","registry","action","withAnchor","internalParams","has","type","Error","target","current","node","descended","targetRoute","getFocusedRoute","currentRoute","routes","find","route","name","index","childNode","findDestinationNode","childTarget","state","childState","routesMatch","stale","key","childRoute","probeAction","payload","params","appendInternalExpoRouterParams","getSelection","get","reduce","undefined","resolvedAction","source","createResolvedAction","path","baseAction","result","selectedRoute","parentChain","getChainFromRouteKey","createRouteKeyMinter","mint","resolveState","previewKey","__internal__PreviewKey","markState","createDestinationState","selection","isEqual","initialRouteName","getValidInitialRouteName","routeNames","children","sort","sortRoutesWithInitial","map","child","createInitialState","includes","console","warn","hasAnchor","destination","minter","destinationRouteKey","findRouteNodeByName","destinationRoute","routeKeySeq","length","dynamic","matchDynamicName","
|
|
1
|
+
{"version":3,"sources":["global-state/resolveNavigationDestination.ts"],"sourcesContent":[null],"names":["resolveNavigationDestination","supportedActionTypes","Set","targetState","navigationState","routeNode","registry","action","withAnchor","internalParams","has","type","Error","target","current","node","descended","targetRoute","getFocusedRoute","currentRoute","routes","find","route","name","index","childNode","findDestinationNode","childTarget","state","childState","routesMatch","stale","key","childRoute","probeAction","payload","params","appendInternalExpoRouterParams","getSelection","get","reduce","undefined","resolvedAction","source","createResolvedAction","rootRouteNode","pop","actionPayload","shouldPop","shouldPopTo","path","baseAction","result","selectedRoute","parentChain","getChainFromRouteKey","createRouteKeyMinter","mint","resolveState","previewKey","__internal__PreviewKey","markState","createDestinationState","selection","isEqual","initialRouteName","getValidInitialRouteName","routeNames","children","sort","sortRoutesWithInitial","map","child","createInitialState","includes","console","warn","hasAnchor","destination","minter","destinationRouteKey","findRouteNodeByName","destinationRoute","routeKeySeq","length","dynamic","matchDynamicName","isRootLayoutNavigator","INTERNAL_SLOT_NAME","holdsNavigator","popTarget","findLast","getSingularId","routeName","isActionHandled","affectedRouteKey","__internal__routerActionState"],"mappings":"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"}
|
|
@@ -30,7 +30,8 @@ export type LinkToOptions = {
|
|
|
30
30
|
dangerouslySingular?: SingularOptions;
|
|
31
31
|
__internal__PreviewKey?: string;
|
|
32
32
|
__internal__previewId?: string;
|
|
33
|
+
__internal__popToNavigator?: boolean;
|
|
33
34
|
};
|
|
34
|
-
export type NavigationOptions = Omit<LinkToOptions, 'event'>;
|
|
35
|
+
export type NavigationOptions = Omit<LinkToOptions, 'event' | '__internal__popToNavigator'>;
|
|
35
36
|
export type TransitionOptions = Pick<LinkToOptions, 'inTransition'>;
|
|
36
37
|
export type NavigationTransitionMode = 'always' | 'never' | 'preload-only';
|
|
@@ -309,19 +309,24 @@ class LinkZoomTransitionEnabler: LinkZoomExpoView {
|
|
|
309
309
|
if let controller = self.findViewController() {
|
|
310
310
|
if #available(iOS 18.0, *) {
|
|
311
311
|
let options = UIViewController.Transition.ZoomOptions()
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
312
|
+
// The providers must not depend on `self`. When JS pops the screen (for example with `router.back()`),
|
|
313
|
+
// React unmounts this view before UIKit asks for the source view of the dismiss transition.
|
|
314
|
+
let identifier = self.zoomTransitionSourceIdentifier
|
|
315
|
+
let sourceRepository = self.sourceRepository
|
|
316
|
+
let alignmentViewRepository = self.alignmentViewRepository
|
|
317
|
+
let logger = self.logger
|
|
318
|
+
|
|
319
|
+
options.alignmentRectProvider = { context in
|
|
315
320
|
guard
|
|
316
|
-
let sourceInfo =
|
|
317
|
-
identifier:
|
|
321
|
+
let sourceInfo = sourceRepository?.getSource(
|
|
322
|
+
identifier: identifier
|
|
318
323
|
)
|
|
319
324
|
else {
|
|
320
325
|
return nil
|
|
321
326
|
}
|
|
322
327
|
guard
|
|
323
|
-
let alignmentView =
|
|
324
|
-
identifier:
|
|
328
|
+
let alignmentView = alignmentViewRepository?.get(
|
|
329
|
+
identifier: identifier
|
|
325
330
|
)
|
|
326
331
|
else {
|
|
327
332
|
return sourceInfo.alignment
|
|
@@ -334,7 +339,7 @@ class LinkZoomTransitionEnabler: LinkZoomExpoView {
|
|
|
334
339
|
if sourceInfo.animateAspectRatioChange,
|
|
335
340
|
let sourceView = sourceInfo.view
|
|
336
341
|
{
|
|
337
|
-
return
|
|
342
|
+
return Self.calculateAdjustedRect(rect, toMatch: sourceView.bounds.size)
|
|
338
343
|
}
|
|
339
344
|
return rect
|
|
340
345
|
}
|
|
@@ -351,18 +356,17 @@ class LinkZoomTransitionEnabler: LinkZoomExpoView {
|
|
|
351
356
|
return true
|
|
352
357
|
}
|
|
353
358
|
}
|
|
354
|
-
controller.preferredTransition = .zoom(options: options) { [weak
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
identifier: self.zoomTransitionSourceIdentifier
|
|
359
|
+
controller.preferredTransition = .zoom(options: options) { [weak logger] _ in
|
|
360
|
+
let sourceInfo = sourceRepository?.getSource(
|
|
361
|
+
identifier: identifier
|
|
358
362
|
)
|
|
359
363
|
var view: UIView? = sourceInfo?.view
|
|
360
364
|
if let linkPreviewView = view as? NativeLinkPreviewView {
|
|
361
365
|
view = linkPreviewView.directChild
|
|
362
366
|
}
|
|
363
367
|
guard let view else {
|
|
364
|
-
|
|
365
|
-
"[expo-router] No source view found for identifier \(
|
|
368
|
+
logger?.warn(
|
|
369
|
+
"[expo-router] No source view found for identifier \(identifier) to enable zoom transition. This is most likely a bug in expo-router."
|
|
366
370
|
)
|
|
367
371
|
return nil
|
|
368
372
|
}
|
|
@@ -377,7 +381,7 @@ class LinkZoomTransitionEnabler: LinkZoomExpoView {
|
|
|
377
381
|
}
|
|
378
382
|
}
|
|
379
383
|
|
|
380
|
-
private func calculateAdjustedRect(
|
|
384
|
+
private static func calculateAdjustedRect(
|
|
381
385
|
_ rect: CGRect,
|
|
382
386
|
toMatch sourceSize: CGSize
|
|
383
387
|
) -> CGRect {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"component": {
|
|
4
4
|
"group": "expo.modules.router",
|
|
5
5
|
"module": "expo.modules.router",
|
|
6
|
-
"version": "58.0.
|
|
6
|
+
"version": "58.0.23",
|
|
7
7
|
"attributes": {
|
|
8
8
|
"org.gradle.status": "release"
|
|
9
9
|
}
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
},
|
|
25
25
|
"files": [
|
|
26
26
|
{
|
|
27
|
-
"name": "expo.modules.router-58.0.
|
|
28
|
-
"url": "expo.modules.router-58.0.
|
|
27
|
+
"name": "expo.modules.router-58.0.23.aar",
|
|
28
|
+
"url": "expo.modules.router-58.0.23.aar",
|
|
29
29
|
"size": 16133,
|
|
30
30
|
"sha512": "32ccb33ae7df2d0abc96fb77d87c776773a15d8de0818d83bbca865581f60f85a0c280a75de2f770590ccabadb78874cec32689a50a0bc29b6a9025ed6c592b1",
|
|
31
31
|
"sha256": "5a620cdcb41c5bc3c82e954ffd02de6b85954cd41bde5b5694ac9d5f5f25aa8f",
|
|
@@ -74,8 +74,8 @@
|
|
|
74
74
|
],
|
|
75
75
|
"files": [
|
|
76
76
|
{
|
|
77
|
-
"name": "expo.modules.router-58.0.
|
|
78
|
-
"url": "expo.modules.router-58.0.
|
|
77
|
+
"name": "expo.modules.router-58.0.23.aar",
|
|
78
|
+
"url": "expo.modules.router-58.0.23.aar",
|
|
79
79
|
"size": 16133,
|
|
80
80
|
"sha512": "32ccb33ae7df2d0abc96fb77d87c776773a15d8de0818d83bbca865581f60f85a0c280a75de2f770590ccabadb78874cec32689a50a0bc29b6a9025ed6c592b1",
|
|
81
81
|
"sha256": "5a620cdcb41c5bc3c82e954ffd02de6b85954cd41bde5b5694ac9d5f5f25aa8f",
|
|
@@ -94,8 +94,8 @@
|
|
|
94
94
|
},
|
|
95
95
|
"files": [
|
|
96
96
|
{
|
|
97
|
-
"name": "expo.modules.router-58.0.
|
|
98
|
-
"url": "expo.modules.router-58.0.
|
|
97
|
+
"name": "expo.modules.router-58.0.23-sources.jar",
|
|
98
|
+
"url": "expo.modules.router-58.0.23-sources.jar",
|
|
99
99
|
"size": 1986,
|
|
100
100
|
"sha512": "c1d7dd32034c271b8e8d511c2e8ea7705b8378c4e2859d4bf810cd75ea33bbd4c212c9bbb5f0d27ae90f8f599fbb8f865b37001791bb539e94b90413396e6139",
|
|
101
101
|
"sha256": "3027e02be198959073884cd5afb9b46f39f0d7396a590f6840bb63ef37010adc",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
c03d1646f58d347ab13ac9193fdc1da2
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
f4d433ceaa17b4a5ee18c4009220458e6d760fff
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
163ab867f6be88d1789eff43ea88efb03160f2274765ed15a45fc3d38aa2ad36
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
f8de088df7d5ce0e88b63640f49f630146e4dba24eb983c840d971f78170bc4b2e4090a1279636e6e4206c95c451ca4123289706dbfcdf6b2ce9defa993c9956
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<modelVersion>4.0.0</modelVersion>
|
|
10
10
|
<groupId>expo.modules.router</groupId>
|
|
11
11
|
<artifactId>expo.modules.router</artifactId>
|
|
12
|
-
<version>58.0.
|
|
12
|
+
<version>58.0.23</version>
|
|
13
13
|
<packaging>aar</packaging>
|
|
14
14
|
<name>expo.modules.router</name>
|
|
15
15
|
<url>https://github.com/expo/expo</url>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
8a2e16b365c88e6e6526ffb0d2abcb75
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
e0d4e9e3f586aeb4df25ce23135a5a808eb34b22
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
39d11c1fe5cd8634fa36ba396842487f175f310488c741b8b6eba39c4c99c7e1
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
588e5c39900bb3354747f0603813010b22af95961161ff6f479b45f4d46224888ced3947a7c6d34bc651bef2f32dbe715e8abdd9c5e30fa7c68460e2a24296a2
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "expo-router",
|
|
3
|
-
"version": "58.0.
|
|
3
|
+
"version": "58.0.23",
|
|
4
4
|
"description": "Expo Router is a file-based router for React Native and web applications.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"expo",
|
|
@@ -278,7 +278,7 @@
|
|
|
278
278
|
"dependencies": {
|
|
279
279
|
"@expo/log-box": "^58.0.12",
|
|
280
280
|
"@expo/metro-runtime": "^58.0.14",
|
|
281
|
-
"@expo/schema-utils": "^58.0.
|
|
281
|
+
"@expo/schema-utils": "^58.0.2",
|
|
282
282
|
"@radix-ui/react-slot": "^1.2.0",
|
|
283
283
|
"@radix-ui/react-tabs": "^1.1.12",
|
|
284
284
|
"@react-native-masked-view/masked-view": "^0.3.2",
|
|
@@ -296,7 +296,7 @@
|
|
|
296
296
|
"standard-navigation": "^0.0.5"
|
|
297
297
|
},
|
|
298
298
|
"devDependencies": {
|
|
299
|
-
"@expo/ui": "^58.0.
|
|
299
|
+
"@expo/ui": "^58.0.20",
|
|
300
300
|
"@jest/globals": "^30.0.0",
|
|
301
301
|
"@testing-library/dom": "^10.4.0",
|
|
302
302
|
"@testing-library/jest-dom": "^6.9.1",
|
|
@@ -323,7 +323,7 @@
|
|
|
323
323
|
"peerDependencies": {
|
|
324
324
|
"@expo/log-box": "^58.0.12",
|
|
325
325
|
"@expo/metro-runtime": "^58.0.14",
|
|
326
|
-
"@expo/ui": "^58.0.
|
|
326
|
+
"@expo/ui": "^58.0.20",
|
|
327
327
|
"@testing-library/react-native": ">= 14.0.0",
|
|
328
328
|
"expo": "*",
|
|
329
329
|
"expo-constants": "^58.0.12",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
114779869e878de8564cbf0c6b90bd8d
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
6a7b61e62d93600b7d6071a69d9df395183bb6f5
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
c18b72adfb1c1f95fb1044bc07e85ea602f41dd14635277edc3b57468fa68c62
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
1e1616162862ec9f648a16ff1300badb055fb288c219066afcd6c4928941bbec880facaa003015c9b10fa8383baf449f63563d1bb21a73b94f175ae76d42ba02
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
dc542dab8704e0a9ff5dfc44b68b55af
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
18b5d6824b6f78b867feac5915ec0ff00df49acb
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
a46a467eb3290df99bbfc217ffb883b27be47c7a086d4c9cac8c864350485850
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
d4841d6404811239cce2b00be920d2a21999167ee63d6d1ddb69654b88ad5ea74c782d1e3f805fa40d59f5d4827226d586ba3037c86ac12900220f84f4732c44
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|