2019-12-20 22:41:07 +01:00
|
|
|
import Velocity from "velocity-animate";
|
2015-11-27 16:37:40 +01:00
|
|
|
|
|
|
|
// courtesy of https://github.com/julianshapiro/velocity/issues/283
|
|
|
|
// We only use easeOutBounce (easeInBounce is just sort of nonsensical)
|
|
|
|
function bounce( p ) {
|
2018-10-27 05:50:35 +02:00
|
|
|
let pow2;
|
2018-10-27 06:03:57 +02:00
|
|
|
let bounce = 4;
|
2015-11-27 16:37:40 +01:00
|
|
|
|
2017-01-20 15:22:27 +01:00
|
|
|
while ( p < ( ( pow2 = Math.pow( 2, --bounce ) ) - 1 ) / 11 ) {
|
|
|
|
// just sets pow2
|
|
|
|
}
|
2015-11-27 16:37:40 +01:00
|
|
|
return 1 / Math.pow( 4, 3 - bounce ) - 7.5625 * Math.pow( ( pow2 * 3 - 2 ) / 22 - p, 2 );
|
|
|
|
}
|
|
|
|
|
|
|
|
Velocity.Easings.easeOutBounce = function(p) {
|
|
|
|
return 1 - bounce(1 - p);
|
2017-01-20 15:22:27 +01:00
|
|
|
};
|