Skip to content

Commit 4d0def4

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

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

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

+12-2
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,19 @@ 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 (
2012+
timing.direction === 'reverse' ||
2013+
timing.direction === 'alternate-reverse'
2014+
) {
2015+
// This animation was originally in reverse so we have to play it in flipped range.
2016+
const temp = adjustedRangeStart;
2017+
adjustedRangeStart = adjustedRangeEnd;
2018+
adjustedRangeEnd = temp;
2019+
}
20102020
animateGesture(
20112021
effect.getKeyframes(),
20122022
// $FlowFixMe: Always documentElement atm.

0 commit comments

Comments
 (0)