slideDown
Starts above its resting position and settles down into place, animating the y transform and nothing else.
⚡slideDown
slideDown in Motion
Starts above its resting position and settles down into place, animating the y transform and nothing else.
Spread Preset·Zero Runtime Tax
Usage
import { Section } from "@/lib/motion";
import { slideDown } from "@/lib/motion/presets/slide-down";
export function Features() {
return (
<Section {...slideDown} className="grid gap-6 md:grid-cols-3">
<FeatureCard title="Copy, do not install" />
<FeatureCard title="One file you own" />
<FeatureCard title="Presets you spread" />
</Section>
);
}Installation
npx shadcn@latest add https://motion.asmitsah.dev/r/slide-down.jsonProps and tokens
What it sets
Transition and viewport
Every motion prop the preset does not set — whileHover, whileTap, whileFocus — stays available at the call site. Write it after the spread and it wins.
layout and drag need the domMax feature bundle, not domAnimation — swap the lazy import in provider.tsx. It adds roughly 13kb gzipped on top of domAnimation.