@react-navigation/stack 7.7.0 → 7.7.2

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.
@@ -73,12 +73,12 @@ function Card({
73
73
  containerStyle: customContainerStyle,
74
74
  contentStyle
75
75
  }) {
76
- const [, forceUpdate] = React.useReducer(x => x + 1, 0);
77
76
  const didInitiallyAnimate = React.useRef(false);
78
77
  const lastToValueRef = React.useRef(undefined);
79
78
  const interactionHandleRef = React.useRef(undefined);
80
79
  const animationHandleRef = React.useRef(undefined);
81
80
  const pendingGestureCallbackRef = React.useRef(undefined);
81
+ const pendingOnCloseCallbackRef = React.useRef(undefined);
82
82
  const [isClosing] = React.useState(() => new Animated.Value(FALSE));
83
83
  const [inverted] = React.useState(() => new Animated.Value(getInvertedMultiplier(gestureDirection, direction === 'rtl')));
84
84
  const [layoutAnim] = React.useState(() => ({
@@ -127,10 +127,8 @@ function Card({
127
127
  onOpen();
128
128
  }
129
129
  animationHandleRef.current = requestAnimationFrame(() => {
130
- if (didInitiallyAnimate.current) {
131
- // Make sure to re-open screen if it wasn't removed
132
- forceUpdate();
133
- }
130
+ // Make sure to re-open screen if it wasn't removed
131
+ maybeAnimate();
134
132
  });
135
133
  };
136
134
  if (animated) {
@@ -159,6 +157,8 @@ function Card({
159
157
  }) => {
160
158
  switch (nativeEvent.state) {
161
159
  case GestureState.ACTIVE:
160
+ clearTimeout(pendingGestureCallbackRef.current);
161
+ clearTimeout(pendingOnCloseCallbackRef.current);
162
162
  isSwiping.setValue(TRUE);
163
163
  onStartInteraction();
164
164
  onGestureBegin?.();
@@ -202,10 +202,13 @@ function Card({
202
202
  pendingGestureCallbackRef.current = setTimeout(() => {
203
203
  onClose();
204
204
 
205
- // Trigger an update after we dispatch the action to remove the screen
206
- // This will make sure that we check if the screen didn't get removed so we can cancel the animation
207
- forceUpdate();
208
- }, 32);
205
+ // Check if the screen is still closing with a delay
206
+ // So state update from onClose has a chance to go through
207
+ // If route wasn't removed after onClose, re-open it
208
+ pendingOnCloseCallbackRef.current = setTimeout(() => {
209
+ maybeAnimate();
210
+ }, 32);
211
+ }, 16);
209
212
  }
210
213
  onGestureEnd?.();
211
214
  break;
@@ -225,25 +228,23 @@ function Card({
225
228
  cancelAnimationFrame(animationHandleRef.current);
226
229
  }
227
230
  clearTimeout(pendingGestureCallbackRef.current);
231
+ clearTimeout(pendingOnCloseCallbackRef.current);
228
232
  };
229
233
 
230
234
  // We only want to clean up the animation on unmount
231
235
  // eslint-disable-next-line react-hooks/exhaustive-deps
232
236
  }, []);
233
- const timeoutRef = React.useRef(null);
234
- React.useEffect(() => {
235
- if (preloaded) {
236
- return;
237
- }
237
+ const timeoutRef = React.useRef(undefined);
238
+ const maybeAnimate = useLatestCallback(() => {
239
+ clearTimeout(pendingGestureCallbackRef.current);
240
+ clearTimeout(pendingOnCloseCallbackRef.current);
238
241
  if (!didInitiallyAnimate.current) {
239
242
  // Animate the card in on initial mount
240
243
  // Wrap in setTimeout to ensure animation starts after
241
244
  // rending of the screen is done. This is especially important
242
245
  // in the new architecture
243
246
  // cf., https://github.com/react-navigation/react-navigation/issues/12401
244
- if (timeoutRef.current) {
245
- clearTimeout(timeoutRef.current);
246
- }
247
+ clearTimeout(timeoutRef.current);
247
248
  timeoutRef.current = setTimeout(() => {
248
249
  didInitiallyAnimate.current = true;
249
250
  animate({
@@ -278,6 +279,12 @@ function Card({
278
279
  });
279
280
  }
280
281
  }
282
+ });
283
+ React.useEffect(() => {
284
+ if (preloaded) {
285
+ return;
286
+ }
287
+ maybeAnimate();
281
288
  previousPropsRef.current = {
282
289
  opening,
283
290
  closing,
@@ -286,7 +293,7 @@ function Card({
286
293
  direction,
287
294
  preloaded
288
295
  };
289
- }, [animate, closing, direction, gesture, gestureDirection, layout, opening, preloaded]);
296
+ }, [animate, closing, direction, gesture, gestureDirection, layout, opening, preloaded, maybeAnimate]);
290
297
  const interpolationProps = React.useMemo(() => ({
291
298
  index: interpolationIndex,
292
299
  current: {
@@ -1 +1 @@
1
- {"version":3,"names":["Color","React","Animated","InteractionManager","Platform","StyleSheet","View","useLatestCallback","CardAnimationContext","gestureActivationCriteria","getDistanceForDirection","getInvertedMultiplier","getShadowStyle","GestureState","PanGestureHandler","CardContent","jsx","_jsx","jsxs","_jsxs","GESTURE_VELOCITY_IMPACT","TRUE","FALSE","useNativeDriver","OS","hasOpacityStyle","style","flattenedStyle","flatten","opacity","getAnimateToValue","closing","isClosing","layout","currentLayout","gestureDirection","currentGestureDirection","direction","currentDirection","preloaded","isPreloaded","defaultOverlay","pointerEvents","styles","overlay","Card","shadowEnabled","gestureEnabled","gestureVelocityImpact","animated","interpolationIndex","opening","next","current","gesture","insets","pageOverflowEnabled","onOpen","onClose","onTransition","onGestureBegin","onGestureCanceled","onGestureEnd","children","overlayEnabled","gestureResponseDistance","transitionSpec","styleInterpolator","containerStyle","customContainerStyle","contentStyle","forceUpdate","useReducer","x","didInitiallyAnimate","useRef","lastToValueRef","undefined","interactionHandleRef","animationHandleRef","pendingGestureCallbackRef","useState","Value","inverted","layoutAnim","width","height","isSwiping","onStartInteraction","createInteractionHandle","onEndInteraction","clearInteractionHandle","animate","isClosingParam","velocity","toValue","setValue","spec","close","open","animation","spring","timing","clearTimeout","cancelAnimationFrame","onFinish","requestAnimationFrame","config","isInteraction","start","finished","onGestureStateChange","nativeEvent","state","ACTIVE","CANCELLED","FAILED","velocityY","velocityX","END","distance","translation","translationY","translationX","shouldClose","setTimeout","useLayoutEffect","previousPropsRef","useEffect","timeoutRef","previousOpening","previousToValue","interpolationProps","useMemo","index","progress","swiping","layouts","screen","top","right","bottom","left","cardStyle","overlayStyle","shadowStyle","onGestureEvent","event","backgroundColor","isTransparent","alpha","Provider","value","collapsable","absoluteFill","container","enabled","onHandlerStateChange","needsOffscreenAlphaCompositing","shadow","shadowHorizontal","shadowStart","shadowEnd","shadowVertical","shadowTop","shadowBottom","create","flex","position","offset","radius","end"],"sourceRoot":"../../../../src","sources":["views/Stack/Card.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Color","React","Animated","InteractionManager","Platform","StyleSheet","View","useLatestCallback","CardAnimationContext","gestureActivationCriteria","getDistanceForDirection","getInvertedMultiplier","getShadowStyle","GestureState","PanGestureHandler","CardContent","jsx","_jsx","jsxs","_jsxs","GESTURE_VELOCITY_IMPACT","TRUE","FALSE","useNativeDriver","OS","hasOpacityStyle","style","flattenedStyle","flatten","opacity","getAnimateToValue","closing","isClosing","layout","currentLayout","gestureDirection","currentGestureDirection","direction","currentDirection","preloaded","isPreloaded","defaultOverlay","pointerEvents","styles","overlay","Card","shadowEnabled","gestureEnabled","gestureVelocityImpact","animated","interpolationIndex","opening","next","current","gesture","insets","pageOverflowEnabled","onOpen","onClose","onTransition","onGestureBegin","onGestureCanceled","onGestureEnd","children","overlayEnabled","gestureResponseDistance","transitionSpec","styleInterpolator","containerStyle","customContainerStyle","contentStyle","didInitiallyAnimate","useRef","lastToValueRef","undefined","interactionHandleRef","animationHandleRef","pendingGestureCallbackRef","pendingOnCloseCallbackRef","useState","Value","inverted","layoutAnim","width","height","isSwiping","onStartInteraction","createInteractionHandle","onEndInteraction","clearInteractionHandle","animate","isClosingParam","velocity","toValue","setValue","spec","close","open","animation","spring","timing","clearTimeout","cancelAnimationFrame","onFinish","requestAnimationFrame","maybeAnimate","config","isInteraction","start","finished","onGestureStateChange","nativeEvent","state","ACTIVE","CANCELLED","FAILED","velocityY","velocityX","END","distance","translation","translationY","translationX","shouldClose","setTimeout","useLayoutEffect","previousPropsRef","useEffect","timeoutRef","previousOpening","previousToValue","interpolationProps","useMemo","index","progress","swiping","layouts","screen","top","right","bottom","left","cardStyle","overlayStyle","shadowStyle","onGestureEvent","event","backgroundColor","isTransparent","alpha","Provider","value","collapsable","absoluteFill","container","enabled","onHandlerStateChange","needsOffscreenAlphaCompositing","shadow","shadowHorizontal","shadowStart","shadowEnd","shadowVertical","shadowTop","shadowBottom","create","flex","position","offset","radius","end"],"sourceRoot":"../../../../src","sources":["views/Stack/Card.tsx"],"mappings":"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","ignoreList":[]}
@@ -19,27 +19,46 @@ const GestureHandlerWrapper = GestureHandlerRootView ?? View;
19
19
  const isArrayEqual = (a, b) => a.length === b.length && a.every((it, index) => Object.is(it, b[index]));
20
20
  export class StackView extends React.Component {
21
21
  static getDerivedStateFromProps(props, state) {
22
+ const allRoutes = [...props.state.routes, ...props.state.preloadedRoutes];
23
+
22
24
  // If there was no change in routes, we don't need to compute anything
23
- if ((props.state.routes === state.previousRoutes || isArrayEqual(props.state.routes.map(r => r.key), state.previousRoutes.map(r => r.key))) && state.routes.length) {
24
- let routes = state.routes;
25
+ if (isArrayEqual(allRoutes.map(r => r.key), state.previousRoutes.map(r => r.key)) && state.routes.length) {
26
+ // If there were any routes being closed or replaced,
27
+ // We need to make sure they are preserved in the new state from props.state
28
+ // So first we get all such routes from the previous state (that included the animating routes)
29
+ // Then we add them back to the new state if they don't already exist
30
+
31
+ const closingRoutes = state.routes.filter(r => state.closingRouteKeys.includes(r.key) && !props.state.routes.some(pr => pr.key === r.key));
32
+ const replacingRoutes = state.routes.filter(r => state.replacingRouteKeys.includes(r.key) && !props.state.routes.some(pr => pr.key === r.key));
33
+ let routes = props.state.routes.slice();
34
+
35
+ // Replacing routes go before the focused route (they're being covered)
36
+ if (replacingRoutes.length) {
37
+ routes.splice(routes.length - 1, 0, ...replacingRoutes);
38
+ }
39
+
40
+ // Closing routes go at the end (they're animating out on top)
41
+ if (closingRoutes.length) {
42
+ routes.push(...closingRoutes);
43
+ }
25
44
  let previousRoutes = state.previousRoutes;
26
45
  let descriptors = props.descriptors;
27
46
  let previousDescriptors = state.previousDescriptors;
28
47
  if (props.descriptors !== state.previousDescriptors) {
29
- descriptors = state.routes.reduce((acc, route) => {
48
+ descriptors = routes.reduce((acc, route) => {
30
49
  acc[route.key] = props.descriptors[route.key] || state.descriptors[route.key];
31
50
  return acc;
32
51
  }, {});
33
52
  previousDescriptors = props.descriptors;
34
53
  }
35
- if (props.state.routes !== state.previousRoutes) {
54
+ if (!isArrayEqual(allRoutes, state.previousRoutes)) {
36
55
  // if any route objects have changed, we should update them
37
- const map = props.state.routes.reduce((acc, route) => {
56
+ const map = allRoutes.reduce((acc, route) => {
38
57
  acc[route.key] = route;
39
58
  return acc;
40
59
  }, {});
41
- routes = state.routes.map(route => map[route.key] || route);
42
- previousRoutes = props.state.routes;
60
+ routes = routes.map(route => map[route.key] || route);
61
+ previousRoutes = allRoutes;
43
62
  }
44
63
  return {
45
64
  routes,
@@ -66,6 +85,11 @@ export class StackView extends React.Component {
66
85
  closingRouteKeys,
67
86
  replacingRouteKeys
68
87
  } = state;
88
+
89
+ // If a route that was closing or being replaced is now back in the routes,
90
+ // it was added back before the animation finished, so stop tracking it
91
+ closingRouteKeys = closingRouteKeys.filter(key => !routes.some(r => r.key === key));
92
+ replacingRouteKeys = replacingRouteKeys.filter(key => !routes.some(r => r.key === key));
69
93
  const previousFocusedRoute = previousRoutes[previousRoutes.length - 1];
70
94
  const nextFocusedRoute = routes[routes.length - 1];
71
95
  const isAnimationEnabled = key => {
@@ -129,6 +153,13 @@ export class StackView extends React.Component {
129
153
  // After the push animation is completed, routes being replaced will be removed completely
130
154
  routes = routes.slice();
131
155
  routes.splice(routes.length - 1, 0, previousFocusedRoute);
156
+
157
+ // Preserve any other routes still being replaced from previous transitions
158
+ const previousReplacingRoutes = state.routes.filter(r => replacingRouteKeys.includes(r.key) && !routes.some(existing => existing.key === r.key));
159
+ if (previousReplacingRoutes.length) {
160
+ // Insert before the route we just added (previousFocusedRoute)
161
+ routes.splice(routes.length - 2, 0, ...previousReplacingRoutes);
162
+ }
132
163
  }
133
164
  }
134
165
  }
@@ -143,13 +174,13 @@ export class StackView extends React.Component {
143
174
  if (!routes.length) {
144
175
  throw new Error('There should always be at least one route in the navigation state.');
145
176
  }
146
- const descriptors = routes.reduce((acc, route) => {
177
+ const descriptors = allRoutes.reduce((acc, route) => {
147
178
  acc[route.key] = props.descriptors[route.key] || state.descriptors[route.key];
148
179
  return acc;
149
180
  }, {});
150
181
  return {
151
182
  routes,
152
- previousRoutes: props.state.routes,
183
+ previousRoutes: [...props.state.routes, ...props.state.preloadedRoutes],
153
184
  previousDescriptors: props.descriptors,
154
185
  openingRouteKeys,
155
186
  closingRouteKeys,
@@ -205,12 +236,20 @@ export class StackView extends React.Component {
205
236
  });
206
237
  });
207
238
  } else {
208
- this.setState(state => ({
209
- routes: state.replacingRouteKeys.length ? state.routes.filter(r => !state.replacingRouteKeys.includes(r.key)) : state.routes,
210
- openingRouteKeys: state.openingRouteKeys.filter(key => key !== route.key),
211
- closingRouteKeys: state.closingRouteKeys.filter(key => key !== route.key),
212
- replacingRouteKeys: []
213
- }));
239
+ this.setState(state => {
240
+ const routeIndex = state.routes.findIndex(r => r.key === route.key);
241
+
242
+ // Remove replacing routes that were before the route that just opened
243
+ // Those were replaced by this or earlier routes and should be cleaned up
244
+ const replacingRoutesToRemove = new Set(state.routes.slice(0, routeIndex).filter(r => state.replacingRouteKeys.includes(r.key)).map(r => r.key));
245
+ const newRoutes = state.routes.filter(r => !replacingRoutesToRemove.has(r.key));
246
+ return {
247
+ routes: newRoutes,
248
+ openingRouteKeys: state.openingRouteKeys.filter(key => key !== route.key),
249
+ closingRouteKeys: state.closingRouteKeys.filter(key => key !== route.key),
250
+ replacingRouteKeys: state.replacingRouteKeys.filter(key => !replacingRoutesToRemove.has(key))
251
+ };
252
+ });
214
253
  }
215
254
  };
216
255
  handleCloseRoute = ({
@@ -1 +1 @@
1
- {"version":3,"names":["HeaderShownContext","SafeAreaProviderCompat","CommonActions","StackActions","React","StyleSheet","View","SafeAreaInsetsContext","ModalPresentationContext","GestureHandlerRootView","HeaderContainer","CardStack","getAnimationEnabled","jsx","_jsx","GestureHandlerWrapper","isArrayEqual","a","b","length","every","it","index","Object","is","StackView","Component","getDerivedStateFromProps","props","state","routes","previousRoutes","map","r","key","descriptors","previousDescriptors","reduce","acc","route","slice","openingRouteKeys","closingRouteKeys","replacingRouteKeys","previousFocusedRoute","nextFocusedRoute","isAnimationEnabled","descriptor","options","animation","getAnimationTypeForReplace","animationTypeForReplace","some","includes","filter","splice","Error","getPreviousRoute","findIndex","renderHeader","handleOpenRoute","navigation","routeNames","name","dispatch","reset","setState","handleCloseRoute","pop","source","target","handleTransitionStart","closing","emit","type","data","handleTransitionEnd","handleGestureStart","handleGestureEnd","handleGestureCancel","render","_","rest","preloadedDescriptors","preloadedRoutes","describe","style","styles","container","children","Consumer","insets","isParentModal","isParentHeaderShown","onOpenRoute","onCloseRoute","onTransitionStart","onTransitionEnd","onGestureStart","onGestureEnd","onGestureCancel","create","flex"],"sourceRoot":"../../../../src","sources":["views/Stack/StackView.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["HeaderShownContext","SafeAreaProviderCompat","CommonActions","StackActions","React","StyleSheet","View","SafeAreaInsetsContext","ModalPresentationContext","GestureHandlerRootView","HeaderContainer","CardStack","getAnimationEnabled","jsx","_jsx","GestureHandlerWrapper","isArrayEqual","a","b","length","every","it","index","Object","is","StackView","Component","getDerivedStateFromProps","props","state","allRoutes","routes","preloadedRoutes","map","r","key","previousRoutes","closingRoutes","filter","closingRouteKeys","includes","some","pr","replacingRoutes","replacingRouteKeys","slice","splice","push","descriptors","previousDescriptors","reduce","acc","route","openingRouteKeys","previousFocusedRoute","nextFocusedRoute","isAnimationEnabled","descriptor","options","animation","getAnimationTypeForReplace","animationTypeForReplace","previousReplacingRoutes","existing","Error","getPreviousRoute","findIndex","renderHeader","handleOpenRoute","navigation","routeNames","name","dispatch","reset","setState","routeIndex","replacingRoutesToRemove","Set","newRoutes","has","handleCloseRoute","pop","source","target","handleTransitionStart","closing","emit","type","data","handleTransitionEnd","handleGestureStart","handleGestureEnd","handleGestureCancel","render","_","rest","preloadedDescriptors","describe","style","styles","container","children","Consumer","insets","isParentModal","isParentHeaderShown","onOpenRoute","onCloseRoute","onTransitionStart","onTransitionEnd","onGestureStart","onGestureEnd","onGestureCancel","create","flex"],"sourceRoot":"../../../../src","sources":["views/Stack/StackView.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../../../src/views/Stack/Card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,QAAQ,EAGR,KAAK,SAAS,EAGd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAGjE,OAAO,KAAK,EACV,gBAAgB,EAChB,MAAM,EACN,0BAA0B,EAC1B,cAAc,EACf,MAAM,aAAa,CAAC;AAarB,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,OAAO,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACzD,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAChD,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,eAAe,CAAC;IAC3B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACtE,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,EACH,CAAC,CAAC,KAAK,EAAE;QACP,KAAK,EAAE,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;KACzD,KAAK,KAAK,CAAC,SAAS,CAAC,GACtB,SAAS,CAAC;IACd,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,cAAc,EAAE,OAAO,CAAC;IACxB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,qBAAqB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,cAAc,EAAE;QACd,IAAI,EAAE,cAAc,CAAC;QACrB,KAAK,EAAE,cAAc,CAAC;KACvB,CAAC;IACF,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,0BAA0B,CAAC;IAC9C,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CACrC,CAAC;AAsDF,iBAAS,IAAI,CAAC,EACZ,aAAqB,EACrB,cAAqB,EACrB,qBAA+C,EAC/C,OAAwB,EACxB,QAAQ,EACR,kBAAkB,EAClB,OAAO,EACP,OAAO,EACP,IAAI,EACJ,OAAO,EACP,OAAO,EACP,MAAM,EACN,MAAM,EACN,SAAS,EACT,mBAAmB,EACnB,gBAAgB,EAChB,MAAM,EACN,OAAO,EACP,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,uBAAuB,EACvB,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,cAAc,EAAE,oBAAoB,EACpC,YAAY,GACb,EAAE,KAAK,2CAobP;AAED,OAAO,EAAE,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../../../src/views/Stack/Card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,QAAQ,EAGR,KAAK,SAAS,EAGd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAGjE,OAAO,KAAK,EACV,gBAAgB,EAChB,MAAM,EACN,0BAA0B,EAC1B,cAAc,EACf,MAAM,aAAa,CAAC;AAarB,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,OAAO,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACzD,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAChD,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,eAAe,CAAC;IAC3B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACtE,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,EACH,CAAC,CAAC,KAAK,EAAE;QACP,KAAK,EAAE,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;KACzD,KAAK,KAAK,CAAC,SAAS,CAAC,GACtB,SAAS,CAAC;IACd,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,cAAc,EAAE,OAAO,CAAC;IACxB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,qBAAqB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,cAAc,EAAE;QACd,IAAI,EAAE,cAAc,CAAC;QACrB,KAAK,EAAE,cAAc,CAAC;KACvB,CAAC;IACF,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,0BAA0B,CAAC;IAC9C,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CACrC,CAAC;AAsDF,iBAAS,IAAI,CAAC,EACZ,aAAqB,EACrB,cAAqB,EACrB,qBAA+C,EAC/C,OAAwB,EACxB,QAAQ,EACR,kBAAkB,EAClB,OAAO,EACP,OAAO,EACP,IAAI,EACJ,OAAO,EACP,OAAO,EACP,MAAM,EACN,MAAM,EACN,SAAS,EACT,mBAAmB,EACnB,gBAAgB,EAChB,MAAM,EACN,OAAO,EACP,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,uBAAuB,EACvB,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,cAAc,EAAE,oBAAoB,EACpC,YAAY,GACb,EAAE,KAAK,2CA+bP;AAED,OAAO,EAAE,IAAI,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"StackView.d.ts","sourceRoot":"","sources":["../../../../../src/views/Stack/StackView.tsx"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,KAAK,EACV,KAAK,SAAS,EAEd,KAAK,oBAAoB,EAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,aAAa,CAAC;AASrB,KAAK,KAAK,GAAG,qBAAqB,GAAG;IACnC,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC3C,UAAU,EAAE,sBAAsB,CAAC;IACnC,WAAW,EAAE,kBAAkB,CAAC;IAChC,QAAQ,EAAE,CACR,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,EAC/B,WAAW,EAAE,OAAO,KACjB,eAAe,CAAC;CACtB,CAAC;AAEF,KAAK,KAAK,GAAG;IAEX,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;IAExB,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;IAEhC,mBAAmB,EAAE,kBAAkB,CAAC;IAExC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAE3B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAE3B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAG7B,WAAW,EAAE,kBAAkB,CAAC;CACjC,CAAC;AAWF,qBAAa,SAAU,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IAC1D,MAAM,CAAC,wBAAwB,CAC7B,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,EACtB,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;IAoNxB,KAAK,EAAE,KAAK,CAQV;IAEF,OAAO,CAAC,gBAAgB,CAYtB;IAEF,OAAO,CAAC,YAAY,CAElB;IAEF,OAAO,CAAC,eAAe,CAwCrB;IAEF,OAAO,CAAC,gBAAgB,CAwBtB;IAEF,OAAO,CAAC,qBAAqB,CAQxB;IAEL,OAAO,CAAC,mBAAmB,CAQtB;IAEL,OAAO,CAAC,kBAAkB,CAKxB;IAEF,OAAO,CAAC,gBAAgB,CAKtB;IAEF,OAAO,CAAC,mBAAmB,CAKzB;IAEF,MAAM;CAyDP"}
1
+ {"version":3,"file":"StackView.d.ts","sourceRoot":"","sources":["../../../../../src/views/Stack/StackView.tsx"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,KAAK,EACV,KAAK,SAAS,EAEd,KAAK,oBAAoB,EAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,aAAa,CAAC;AASrB,KAAK,KAAK,GAAG,qBAAqB,GAAG;IACnC,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC3C,UAAU,EAAE,sBAAsB,CAAC;IACnC,WAAW,EAAE,kBAAkB,CAAC;IAChC,QAAQ,EAAE,CACR,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,EAC/B,WAAW,EAAE,OAAO,KACjB,eAAe,CAAC;CACtB,CAAC;AAEF,KAAK,KAAK,GAAG;IAEX,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;IAExB,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;IAEhC,mBAAmB,EAAE,kBAAkB,CAAC;IAExC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAE3B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAE3B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAG7B,WAAW,EAAE,kBAAkB,CAAC;CACjC,CAAC;AAWF,qBAAa,SAAU,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IAC1D,MAAM,CAAC,wBAAwB,CAC7B,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,EACtB,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;IAuQxB,KAAK,EAAE,KAAK,CAQV;IAEF,OAAO,CAAC,gBAAgB,CAYtB;IAEF,OAAO,CAAC,YAAY,CAElB;IAEF,OAAO,CAAC,eAAe,CAuDrB;IAEF,OAAO,CAAC,gBAAgB,CAwBtB;IAEF,OAAO,CAAC,qBAAqB,CAQxB;IAEL,OAAO,CAAC,mBAAmB,CAQtB;IAEL,OAAO,CAAC,kBAAkB,CAKxB;IAEF,OAAO,CAAC,gBAAgB,CAKtB;IAEF,OAAO,CAAC,mBAAmB,CAKzB;IAEF,MAAM;CAyDP"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@react-navigation/stack",
3
3
  "description": "Stack navigator component for iOS and Android with animated transitions and gestures",
4
- "version": "7.7.0",
4
+ "version": "7.7.2",
5
5
  "keywords": [
6
6
  "react-native-component",
7
7
  "react-component",
@@ -91,5 +91,5 @@
91
91
  ]
92
92
  ]
93
93
  },
94
- "gitHead": "1592785a5acdecdba849e3695c800a6c24fea807"
94
+ "gitHead": "d149ee10ec501fe7e635b31387ece249c702e0a7"
95
95
  }
@@ -155,8 +155,6 @@ function Card({
155
155
  containerStyle: customContainerStyle,
156
156
  contentStyle,
157
157
  }: Props) {
158
- const [, forceUpdate] = React.useReducer((x) => x + 1, 0);
159
-
160
158
  const didInitiallyAnimate = React.useRef(false);
161
159
  const lastToValueRef = React.useRef<number | undefined>(undefined);
162
160
 
@@ -164,6 +162,8 @@ function Card({
164
162
  const animationHandleRef = React.useRef<number | undefined>(undefined);
165
163
  const pendingGestureCallbackRef =
166
164
  React.useRef<ReturnType<typeof setTimeout>>(undefined);
165
+ const pendingOnCloseCallbackRef =
166
+ React.useRef<ReturnType<typeof setTimeout>>(undefined);
167
167
 
168
168
  const [isClosing] = React.useState(() => new Animated.Value(FALSE));
169
169
 
@@ -237,10 +237,8 @@ function Card({
237
237
  }
238
238
 
239
239
  animationHandleRef.current = requestAnimationFrame(() => {
240
- if (didInitiallyAnimate.current) {
241
- // Make sure to re-open screen if it wasn't removed
242
- forceUpdate();
243
- }
240
+ // Make sure to re-open screen if it wasn't removed
241
+ maybeAnimate();
244
242
  });
245
243
  };
246
244
 
@@ -270,6 +268,8 @@ function Card({
270
268
  ({ nativeEvent }: PanGestureHandlerGestureEvent) => {
271
269
  switch (nativeEvent.state) {
272
270
  case GestureState.ACTIVE:
271
+ clearTimeout(pendingGestureCallbackRef.current);
272
+ clearTimeout(pendingOnCloseCallbackRef.current);
273
273
  isSwiping.setValue(TRUE);
274
274
  onStartInteraction();
275
275
  onGestureBegin?.();
@@ -328,10 +328,13 @@ function Card({
328
328
  pendingGestureCallbackRef.current = setTimeout(() => {
329
329
  onClose();
330
330
 
331
- // Trigger an update after we dispatch the action to remove the screen
332
- // This will make sure that we check if the screen didn't get removed so we can cancel the animation
333
- forceUpdate();
334
- }, 32);
331
+ // Check if the screen is still closing with a delay
332
+ // So state update from onClose has a chance to go through
333
+ // If route wasn't removed after onClose, re-open it
334
+ pendingOnCloseCallbackRef.current = setTimeout(() => {
335
+ maybeAnimate();
336
+ }, 32);
337
+ }, 16);
335
338
  }
336
339
 
337
340
  onGestureEnd?.();
@@ -375,18 +378,18 @@ function Card({
375
378
  }
376
379
 
377
380
  clearTimeout(pendingGestureCallbackRef.current);
381
+ clearTimeout(pendingOnCloseCallbackRef.current);
378
382
  };
379
383
 
380
384
  // We only want to clean up the animation on unmount
381
385
  // eslint-disable-next-line react-hooks/exhaustive-deps
382
386
  }, []);
383
387
 
384
- const timeoutRef = React.useRef<ReturnType<typeof setTimeout> | null>(null);
388
+ const timeoutRef = React.useRef<ReturnType<typeof setTimeout>>(undefined);
385
389
 
386
- React.useEffect(() => {
387
- if (preloaded) {
388
- return;
389
- }
390
+ const maybeAnimate = useLatestCallback(() => {
391
+ clearTimeout(pendingGestureCallbackRef.current);
392
+ clearTimeout(pendingOnCloseCallbackRef.current);
390
393
 
391
394
  if (!didInitiallyAnimate.current) {
392
395
  // Animate the card in on initial mount
@@ -394,9 +397,8 @@ function Card({
394
397
  // rending of the screen is done. This is especially important
395
398
  // in the new architecture
396
399
  // cf., https://github.com/react-navigation/react-navigation/issues/12401
397
- if (timeoutRef.current) {
398
- clearTimeout(timeoutRef.current);
399
- }
400
+ clearTimeout(timeoutRef.current);
401
+
400
402
  timeoutRef.current = setTimeout(() => {
401
403
  didInitiallyAnimate.current = true;
402
404
  animate({ closing });
@@ -436,6 +438,14 @@ function Card({
436
438
  animate({ closing });
437
439
  }
438
440
  }
441
+ });
442
+
443
+ React.useEffect(() => {
444
+ if (preloaded) {
445
+ return;
446
+ }
447
+
448
+ maybeAnimate();
439
449
 
440
450
  previousPropsRef.current = {
441
451
  opening,
@@ -454,6 +464,7 @@ function Card({
454
464
  layout,
455
465
  opening,
456
466
  preloaded,
467
+ maybeAnimate,
457
468
  ]);
458
469
 
459
470
  const interpolationProps = React.useMemo(
@@ -72,22 +72,51 @@ export class StackView extends React.Component<Props, State> {
72
72
  props: Readonly<Props>,
73
73
  state: Readonly<State>
74
74
  ) {
75
+ const allRoutes = [...props.state.routes, ...props.state.preloadedRoutes];
76
+
75
77
  // If there was no change in routes, we don't need to compute anything
76
78
  if (
77
- (props.state.routes === state.previousRoutes ||
78
- isArrayEqual(
79
- props.state.routes.map((r) => r.key),
80
- state.previousRoutes.map((r) => r.key)
81
- )) &&
79
+ isArrayEqual(
80
+ allRoutes.map((r) => r.key),
81
+ state.previousRoutes.map((r) => r.key)
82
+ ) &&
82
83
  state.routes.length
83
84
  ) {
84
- let routes = state.routes;
85
+ // If there were any routes being closed or replaced,
86
+ // We need to make sure they are preserved in the new state from props.state
87
+ // So first we get all such routes from the previous state (that included the animating routes)
88
+ // Then we add them back to the new state if they don't already exist
89
+
90
+ const closingRoutes = state.routes.filter(
91
+ (r) =>
92
+ state.closingRouteKeys.includes(r.key) &&
93
+ !props.state.routes.some((pr) => pr.key === r.key)
94
+ );
95
+
96
+ const replacingRoutes = state.routes.filter(
97
+ (r) =>
98
+ state.replacingRouteKeys.includes(r.key) &&
99
+ !props.state.routes.some((pr) => pr.key === r.key)
100
+ );
101
+
102
+ let routes: Route<string>[] = props.state.routes.slice();
103
+
104
+ // Replacing routes go before the focused route (they're being covered)
105
+ if (replacingRoutes.length) {
106
+ routes.splice(routes.length - 1, 0, ...replacingRoutes);
107
+ }
108
+
109
+ // Closing routes go at the end (they're animating out on top)
110
+ if (closingRoutes.length) {
111
+ routes.push(...closingRoutes);
112
+ }
113
+
85
114
  let previousRoutes = state.previousRoutes;
86
115
  let descriptors = props.descriptors;
87
116
  let previousDescriptors = state.previousDescriptors;
88
117
 
89
118
  if (props.descriptors !== state.previousDescriptors) {
90
- descriptors = state.routes.reduce<StackDescriptorMap>((acc, route) => {
119
+ descriptors = routes.reduce<StackDescriptorMap>((acc, route) => {
91
120
  acc[route.key] =
92
121
  props.descriptors[route.key] || state.descriptors[route.key];
93
122
 
@@ -97,9 +126,9 @@ export class StackView extends React.Component<Props, State> {
97
126
  previousDescriptors = props.descriptors;
98
127
  }
99
128
 
100
- if (props.state.routes !== state.previousRoutes) {
129
+ if (!isArrayEqual(allRoutes, state.previousRoutes)) {
101
130
  // if any route objects have changed, we should update them
102
- const map = props.state.routes.reduce<Record<string, Route<string>>>(
131
+ const map = allRoutes.reduce<Record<string, Route<string>>>(
103
132
  (acc, route) => {
104
133
  acc[route.key] = route;
105
134
  return acc;
@@ -107,8 +136,8 @@ export class StackView extends React.Component<Props, State> {
107
136
  {}
108
137
  );
109
138
 
110
- routes = state.routes.map((route) => map[route.key] || route);
111
- previousRoutes = props.state.routes;
139
+ routes = routes.map((route) => map[route.key] || route);
140
+ previousRoutes = allRoutes;
112
141
  }
113
142
 
114
143
  return {
@@ -134,6 +163,16 @@ export class StackView extends React.Component<Props, State> {
134
163
 
135
164
  let { openingRouteKeys, closingRouteKeys, replacingRouteKeys } = state;
136
165
 
166
+ // If a route that was closing or being replaced is now back in the routes,
167
+ // it was added back before the animation finished, so stop tracking it
168
+ closingRouteKeys = closingRouteKeys.filter(
169
+ (key) => !routes.some((r) => r.key === key)
170
+ );
171
+
172
+ replacingRouteKeys = replacingRouteKeys.filter(
173
+ (key) => !routes.some((r) => r.key === key)
174
+ );
175
+
137
176
  const previousFocusedRoute = previousRoutes[previousRoutes.length - 1] as
138
177
  | Route<string>
139
178
  | undefined;
@@ -240,6 +279,18 @@ export class StackView extends React.Component<Props, State> {
240
279
  // After the push animation is completed, routes being replaced will be removed completely
241
280
  routes = routes.slice();
242
281
  routes.splice(routes.length - 1, 0, previousFocusedRoute);
282
+
283
+ // Preserve any other routes still being replaced from previous transitions
284
+ const previousReplacingRoutes = state.routes.filter(
285
+ (r) =>
286
+ replacingRouteKeys.includes(r.key) &&
287
+ !routes.some((existing) => existing.key === r.key)
288
+ );
289
+
290
+ if (previousReplacingRoutes.length) {
291
+ // Insert before the route we just added (previousFocusedRoute)
292
+ routes.splice(routes.length - 2, 0, ...previousReplacingRoutes);
293
+ }
243
294
  }
244
295
  }
245
296
  }
@@ -264,7 +315,7 @@ export class StackView extends React.Component<Props, State> {
264
315
  );
265
316
  }
266
317
 
267
- const descriptors = routes.reduce<StackDescriptorMap>((acc, route) => {
318
+ const descriptors = allRoutes.reduce<StackDescriptorMap>((acc, route) => {
268
319
  acc[route.key] =
269
320
  props.descriptors[route.key] || state.descriptors[route.key];
270
321
 
@@ -273,7 +324,7 @@ export class StackView extends React.Component<Props, State> {
273
324
 
274
325
  return {
275
326
  routes,
276
- previousRoutes: props.state.routes,
327
+ previousRoutes: [...props.state.routes, ...props.state.preloadedRoutes],
277
328
  previousDescriptors: props.descriptors,
278
329
  openingRouteKeys,
279
330
  closingRouteKeys,
@@ -335,20 +386,35 @@ export class StackView extends React.Component<Props, State> {
335
386
  });
336
387
  });
337
388
  } else {
338
- this.setState((state) => ({
339
- routes: state.replacingRouteKeys.length
340
- ? state.routes.filter(
341
- (r) => !state.replacingRouteKeys.includes(r.key)
342
- )
343
- : state.routes,
344
- openingRouteKeys: state.openingRouteKeys.filter(
345
- (key) => key !== route.key
346
- ),
347
- closingRouteKeys: state.closingRouteKeys.filter(
348
- (key) => key !== route.key
349
- ),
350
- replacingRouteKeys: [],
351
- }));
389
+ this.setState((state) => {
390
+ const routeIndex = state.routes.findIndex((r) => r.key === route.key);
391
+
392
+ // Remove replacing routes that were before the route that just opened
393
+ // Those were replaced by this or earlier routes and should be cleaned up
394
+ const replacingRoutesToRemove = new Set(
395
+ state.routes
396
+ .slice(0, routeIndex)
397
+ .filter((r) => state.replacingRouteKeys.includes(r.key))
398
+ .map((r) => r.key)
399
+ );
400
+
401
+ const newRoutes = state.routes.filter(
402
+ (r) => !replacingRoutesToRemove.has(r.key)
403
+ );
404
+
405
+ return {
406
+ routes: newRoutes,
407
+ openingRouteKeys: state.openingRouteKeys.filter(
408
+ (key) => key !== route.key
409
+ ),
410
+ closingRouteKeys: state.closingRouteKeys.filter(
411
+ (key) => key !== route.key
412
+ ),
413
+ replacingRouteKeys: state.replacingRouteKeys.filter(
414
+ (key) => !replacingRoutesToRemove.has(key)
415
+ ),
416
+ };
417
+ });
352
418
  }
353
419
  };
354
420