INNER CODE UNIT · JavaScript
reveal
mario-andreschak/FLUJO · githubpages/short/app.js:279
function reveal(el, local, at, duration = .8, options = {}) {
const {
x = 0,
y = 22,
scale = .92,
rotate = 0,
blur = 5,
exitAt = Infinity,
exitDuration = .5,
} = options;
const enter = easeOut(invLerp(at, at + duration, local));
const exit = exitAt < Infinity ? 1 - smoothstep(invLerp(exitAt, exitAt + exitDuration, local)) : 1;
const p = enter * exit;
el.style.opacity = p.toFixed(4);
el.style.transform = mixTransform(lerp(x, 0, enter), lerp(y, 0, enter), lerp(scale, 1, enter), lerp(rotate, 0, enter));
el.style.filter = `blur(${lerp(blur, 0, enter)}px)`;
return p;
}