mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-13 13:22:57 +00:00
The login form faded in at the same time as the shell/header, so its entrance read as one undifferentiated fade rather than a deliberate beat. Two changes fix that: 1. Reveal: stop hardcoding `delay` in the stagger-child transition. framer-motion lets a child's explicit `transition.delay` override the parent's `staggerChildren`/`delayChildren`, so leaving it in (even as 0) collapsed every RevealGroup cascade — all children animated in unison. Now the explicit `delay` is only applied to standalone reveals; stagger children inherit the parent orchestration. This makes RevealGroup actually cascade (affects every RevealGroup in the webapp, as intended). 2. Login: split the single form Reveal into per-element children so email, password and the submit button cascade in sequence, with the secondary options (divider, Google, footer) continuing the same cascade. The email field leads on a near-zero delay so the primary input lands immediately — typing is never gated by the animation (inputs stay focusable and accept keystrokes mid-cascade). Verified with Playwright: a smooth ~75ms staircase across the six elements (email → password → button → divider → Google → footer), and typing the instant the field exists retains the full value with zero focus loss.