Measured entry

tripled-ripple-click-button-shadcnui

buttonminimal-flatmotion on file

A client-side React button that places and animates a circular ripple at each click. It ships as a shadcn registry source file, uses Framer Motion and React state, and expects Tailwind utilities plus accent and muted-foreground theme tokens.

Specimen
Motion capture of the mounted demo, recorded by the harness. No audio track.
Harness screenshot of tripled-ripple-click-button-shadcnui at 375 pixels wide
Harness screenshot at 375 pixels wide. No horizontal overflow recorded.
Harness screenshot of tripled-ripple-click-button-shadcnui at 768 pixels wide
Harness screenshot at 768 pixels wide. No horizontal overflow recorded.
Harness screenshot of tripled-ripple-click-button-shadcnui at 1440 pixels wide
Harness screenshot at 1440 pixels wide. No horizontal overflow recorded.

Measured

Every value below was written by the harness on the run that produced the frames above. None of it is derived from the prose.

Harness measurements recorded for tripled-ripple-click-button-shadcnui
BuildOK
MountOK
Console errors0
Uncaught page errors0
Horizontal overflowclean at 375, 768, 1440
Axe critical0
Axe serious1
Axe moderate0
Axe minor0
Gzip marginal61.0 KB (126.4 KB build, 65.4 KB baseline)
Bare modeOK
Provider requiredNO
Demo usedwritten from the component source API

Verdict

A convincing ripple demo that builds and mounts cleanly, but it is closer to an example than a reusable control. Adopt it when the interaction justifies Framer Motion, then expose button props and fix the text contrast before shipping.

Use it if

  • You want a Material-style click response whose origin follows the pointer.
  • Your React interface already uses Framer Motion and compatible Tailwind theme tokens.
  • You are comfortable turning a focused visual demo into a reusable button API.

Skip it if

  • You need an accessible production button without first correcting the verified text contrast issue.
  • You want to avoid adding Framer Motion for a small interaction that CSS can implement.
  • You need drop-in control over the label, action, variants, disabled state, or forwarded button attributes.

Install

Installation record for tripled-ripple-click-button-shadcnui
Declared dependenciesframer-motion, react
Missing on installnone
Bare installbuilds and mounts without the shadcn-style helpers
Providerno provider required in the harness

Add React and Framer Motion, configure Tailwind utility processing, and define compatible accent and muted-foreground theme tokens. Otherwise replace the utility classes and CSS variables with local styles. Refactor the fixed label and click handler into props before product use.

Source and credit

This page is a review, not a copy. The component source lives with its author and this site does not republish it. Read the license before you use anything.

Alternatives

Other published entries for the button pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.