Loading & motion
Shared page and text entrances, content reveals, animated lists, and pointer-responsive surfaces.
Compose PageEntrance, Reveal, RevealText, ContentReveal, MotionList, and InteractiveSurface. The shared runtime owns timing, easing, distance, and capped staggering; src/lib/motion.ts re-exports its motion entry. Use stable item IDs and keep ready content mounted during updates. See docs/LOADING_MOTION.md for the component contract. Portaled row confirmations should reuse ConfirmAction, which closes on exit and restores focus through useMotionItemPresence.
src/components/motion/primitives.tsx
Start with an idea
Give it some shape
Make it your own
The preview imports your production components. Open Code for the complete working example, including its imports.
Use Tab to inspect keyboard focus, switch themes, and try the controls. Reset restores the example’s initial state.