Color fills from the side the pointer enters and drains out through the side it leaves, with the label color inverting in sync.
A calmer way to review design work. 1,240 teams are already on the list.
npx shadcn@latest add https://hyperblur.dev/r/button-slide-fill.jsonWorks in any React project set up with the shadcn CLI. The file lands in components/hyperblur/button-slide-fill.tsx.
import { ButtonSlideFill } from "@/components/hyperblur/button-slide-fill"
<ButtonSlideFill variant="outline">Join the waitlist</ButtonSlideFill>| Prop | Type | Default | Description |
|---|---|---|---|
| children | ReactNode | "Join the waitlist" | Button label. |
| variant | "outline" | "solid" | "outline" | Outline button that fills with light, or an accent button that fills with white. |
| accent | string | "#2f7bff" | Accent color used for the focus ring, highlights and the solid variant. |
| size | "sm" | "md" | "lg" | "md" | Font size and padding preset. |
| idle | boolean | true | Plays a short sweep on its own while the button is untouched, so it looks alive before any interaction. |
| loading | boolean | false | Shows a spinner, sets aria-busy and blocks clicks. |
| disabled | boolean | false | Disables the button and dims it. |