Measured entry
magicui-shimmer-button
buttonunclassifiedmotion on file
A React button with a traveling perimeter shimmer, hover and press feedback, and configurable color, timing, radius, and background. It ships as a shadcn registry TSX component, uses Tailwind utility classes and registry-provided keyframes, and imports the usual cn helper through the @ alias.



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.
| Build | OK |
|---|---|
| Mount | OK |
| Console errors | 0 |
| Uncaught page errors | 0 |
| Horizontal overflow | clean at 375, 768, 1440 |
| Axe critical | 0 |
| Axe serious | 0 |
| Axe moderate | 0 |
| Axe minor | 0 |
| Gzip marginal | 27.3 KB (92.7 KB build, 65.4 KB baseline) |
| Bare mode | FAIL |
| Provider required | NO |
| Demo used | written from the component source API |
What the harness recorded
BARE BUILD
✗ Build failed in 32.95s error during build: [vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/cut/shimmer-button.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'
Verdict
A focused call-to-action effect with clean button semantics and useful visual controls. The verified project build and mount are healthy, but the bare import fails on the missing cn utility, so it needs a shadcn-style setup or a small manual adaptation.
Use it if
- You need a prominent call-to-action on a dark hero or landing-page section.
- Your React app already uses Tailwind and can absorb shadcn registry CSS variables and keyframes.
- You want a native button that still accepts standard button props and a forwarded ref.
Skip it if
- Your interface avoids continuously moving decoration or requires a built-in reduced-motion treatment.
- You need a neutral button that works without Tailwind, custom keyframes, or project aliases.
- Your design system cannot accommodate its dark default surface and animated perimeter treatment.
Install
| Declared dependencies | none declared |
|---|---|
| Missing on install | none |
| Bare install | fails once the shadcn-style helpers are removed, so it needs that setup |
| Provider | no provider required in the harness |
In a non-shadcn project, add a class-name merging helper or replace cn, change the @ alias import to a valid local path, ensure Tailwind processes the component classes, and copy the shimmer and spin keyframes plus their animation theme entries into your global styling setup. Add your own reduced-motion rule if required.
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.
Author repository
github.com/magicuidesign/magicuiAlternatives
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.
- neu-buttonneumorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 17.8KB
- Bare
- pass
- Prov
- NO
- clay-buttonclaymorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 18.2KB
- Bare
- pass
- Prov
- NO
- tripled-animated-radio-shadcnuiminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 58.2KB
- Bare
- pass
- Prov
- NO
- ruixen-glow-link-buttonliquid-glass
- Renders
- YES
- A11y
- 0
- Gzip
- 58.9KB
- Bare
- pass
- Prov
- NO
- tripled-mood-gradient-button-shadcnuigradient-glow
- Renders
- YES
- A11y
- 0
- Gzip
- 59.2KB
- Bare
- pass
- Prov
- NO
- ruixen-glass-ai-cardliquid-glass
- Renders
- YES
- A11y
- 0
- Gzip
- 59.5KB
- Bare
- pass
- Prov
- NO