Skip to content

Commit ed66c54

Browse files
committed
Reverse if the original animation was reversed
1 parent 68a11e5 commit ed66c54

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

packages/react-dom-bindings/src/client/ReactFiberConfigDOM.js

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1943,6 +1943,7 @@ export function startGestureTransition(
19431943
const timing = effect.getTiming();
19441944
const duration =
19451945
typeof timing.duration === 'number' ? timing.duration : 0;
1946+
// TODO: Consider interation count higher than 1.
19461947
const durationWithDelay = timing.delay + duration;
19471948
if (durationWithDelay > longestDuration) {
19481949
longestDuration = durationWithDelay;
@@ -2003,10 +2004,16 @@ export function startGestureTransition(
20032004
const timing = effect.getTiming();
20042005
const duration =
20052006
typeof timing.duration === 'number' ? timing.duration : 0;
2006-
const adjustedRangeStart =
2007+
let adjustedRangeStart =
20072008
rangeEnd - (duration + timing.delay) * durationToRangeMultipler;
2008-
const adjustedRangeEnd =
2009+
let adjustedRangeEnd =
20092010
rangeEnd - timing.delay * durationToRangeMultipler;
2011+
if (timing.direction === 'reverse' || timing.direction === 'alternate-reverse') {
2012+
// This animation was originally in reverse so we have to play it in flipped range.
2013+
const temp = adjustedRangeStart;
2014+
adjustedRangeStart = adjustedRangeEnd;
2015+
adjustedRangeEnd = temp;
2016+
}
20102017
animateGesture(
20112018
effect.getKeyframes(),
20122019
// $FlowFixMe: Always documentElement atm.

0 commit comments

Comments
 (0)