← All components
Spring Pop
ScaleSpring pop entrance — a natural ~1.05 overshoot that emerges from the spring itself.
Pops in
with overshoot
— never titles
Installation
One command drops the source into your repo — editable, with the provider and motion pulled in automatically.
npx shadcn add https://motion.asmitsah.dev/r/spring-pop.jsonPrerequisiteInstall the provider base first
This component imports from @/lib/motion and needs <MotionProvider> mounted in your root layout — install the base once, before copying this component.
npx shadcn add https://motion.asmitsah.dev/r/provider.jsonStep 1Install the runtime dependency
npm install motionStep 2Copy the source into
components/motion/spring-pop.tsxcomponents/motion/spring-pop.tsx
Usage
Basic
Wrap a badge, chip, or icon — it springs opacity 0 → 1 and scale 0.8 → ~1.05 → 1, the one deliberate overshoot in the engine. Never wrap titles or headings with it.
Staggered group
Offset a cluster of pops by a beat each so they don't all land at once.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| children | ReactNode | — | Content that pops in on mount. |
| className | string | — | Passed straight through — SpringPop becomes your layout element. |
| style | CSSProperties | — | Inline style passthrough. |
| delay | number | 0 | Seconds before this instance animates. |