An organic liquid button interaction featuring an SVG color matrix goo filter, detaching trailing indicator, and spring animation.
$ npx shadcn@latest add https://akshitr.com/r/gooey-button.json
import GooeyButton from "@/components/gooey-button";
export default function Example() {
return <GooeyButton>Explore more</GooeyButton>;
}| Prop | Type | Default | Description |
|---|---|---|---|
children | React.ReactNode | "Explore more" | Label text rendered inside the button pill. |
href | string | - | Optional destination URL. When provided, renders as a Next.js Link. |
target | string | - | Target attribute when used as a link (e.g. "_blank"). |
rel | string | - | Rel attribute when used as a link. |
icon | React.ReactNode | <ArrowUpRight /> | Icon displayed inside the detaching circle. |
separationDistance | number | 42 | Distance in pixels the indicator separates on hover. |
gooeyBlur | number | 6 | Gaussian blur radius applied to the SVG goo filter. |