framer-motion
Version:
A simple and powerful JavaScript animation library
21 lines (19 loc) • 539 B
JavaScript
/**
* Given a absolute or relative time definition and current/prev time state of the sequence,
* calculate an absolute time for the next keyframes.
*/
function calcNextTime(current, next, prev, labels) {
if (typeof next === "number") {
return next;
}
else if (next.startsWith("-") || next.startsWith("+")) {
return Math.max(0, current + parseFloat(next));
}
else if (next === "<") {
return prev;
}
else {
return labels.get(next) ?? current;
}
}
export { calcNextTime };