Micro-interactions

Stagger Menu

A menu overlay that blooms open as a clip-path circle spring while items stagger in with blur and rotation, then collapses back to its pill.

Install

bun add motion clsx tailwind-merge

Then copy 2 files into your project:

  • components/registry/stagger-menu/stagger-menu.tsx
  • lib/utils.ts

Props

PropTypeDefaultDescription
openStiffnessnumber20Bloom spring stiffness — low values settle slowly.
staggernumber0.09Delay between each item's entrance.
blurnumber8Blur the items travel from and to.
overlayColorstring (hex)"#0a0a0c"Overlay background color.
overlayOpacitynumber0.92Overlay background opacity.

What It Demonstrates

Clip-path
Clipping an element to a shape, used for reveals, masks, and before/after sliders.
Reveal
Content is uncovered gradually, often by animating a clip-path or mask.
Spring
Motion driven by physics (tension, mass, damping) rather than a set duration.
Stagger
Animate several items one after another with a small delay between each, creating a cascade.
Blur
A blur filter used to soften an element or mask tiny imperfections.
Rotate
Spin an element around a point.
Enter / Exit
The animation an element plays when it's added to or removed from the screen.

Related Components

Appears In