Measured entry
cultui-metal-button
buttonliquid-glassmotion on file
A client-side React wrapper that puts an animated MetalFx ring around a shadcn Button and also exports an icon-button preset. It ships as a shadcn registry item and relies on metal-fx, the base Button, class-variance-authority, Tailwind styling, and the shared cn utility.



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 | 50.2 KB (115.7 KB build, 65.5 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 893ms error during build: [vite]: Rollup failed to resolve import "class-variance-authority" from "<sandbox>re-44f00d4f5c3e/src/cut/components/ui/metal-button.tsx".
Verdict
It builds and mounts cleanly, including outside the prepared shadcn harness, and the checks found no accessibility violations or viewport overflow. The shader dependency adds meaningful weight, so this is best reserved for a signature call to action rather than adopted as the default button.
Use it if
- You want a liquid-metal treatment for a small set of prominent actions.
- Your project already has a compatible shadcn Button, Tailwind setup, and cn helper.
- You need control over the metal preset, theme, strength, glow, pause state, or reflection targets.
Skip it if
- Bundle restraint matters more than the animated shader effect.
- You need the forwarded ref to point directly at the underlying button rather than its MetalFx wrapper.
- Your design system does not use Tailwind utilities or the shadcn Button variant contract.
- Most actions need a quiet, conventional appearance instead of a conspicuous animated accent.
Install
| Declared dependencies | metal-fx, radix-ui, clsx, tailwind-merge |
|---|---|
| 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 metal-fx, class-variance-authority, clsx, and tailwind-merge, then provide a compatible Button component and cn helper. Configure the source aliases and Tailwind utility processing used by the component. No provider is 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/nolly-studio/cult-uiAlternatives
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