Measured entry
hextaui-billing-payment-failed
A client-side React billing alert that presents a failed charge, invoice and card details, grace-period messaging, and retry, payment-update, and support actions. It ships as a shadcn registry block and expects Tailwind styling, shadcn card, button, badge, and separator primitives, Lucide icons, React state, and utility helpers.



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 | flagged at 375 |
| Axe critical | 1 |
| Axe serious | 1 |
| Axe moderate | 0 |
| Axe minor | 0 |
| Gzip marginal | 35.4 KB (100.9 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 815ms error during build: [vite]: Rollup failed to resolve import "lucide-react" from "<sandbox>re-bf45669b3954/src/cut/blocks/billing/billing-payment-failed.tsx".
Verdict
A useful, well-scoped recovery panel, but it is not release-ready: narrow screens clip content, and accessibility checks expose unsupported ARIA usage and weak contrast. It needs a shadcn-style setup, plus focused responsive and accessibility fixes before adoption.
Use it if
- You need an account billing panel that explains a failed charge and gives users clear recovery actions.
- Your product already supplies retry, payment-method update, and support handlers.
- Your app uses shadcn conventions and can patch the component before release.
Skip it if
- You need a drop-in component for a plain React project with no shadcn or Tailwind setup.
- You must pass accessibility checks without correcting unsupported ARIA usage and weak text contrast.
- The alert must fit narrow mobile layouts without modification.
- You need localized dates and copy, since the component fixes its locale and messages in English.
Install
| Declared dependencies | @radix-ui/react-slot, @radix-ui/react-separator, 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 Tailwind theme tokens, the cn helper, compatible card, button, badge, and separator primitives, Lucide React, Radix Slot and Separator, clsx, and tailwind-merge. Configure the source aliases or replace them with local imports, and keep the component on the client.
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/preetsuthar17/HextaUIAlternatives
Other published entries for the alert pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- 8bitcn-toastskeuomorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 30.8KB
- Bare
- pass
- Prov
- NO
- neobrutalism-sonnerbrutalism
- Renders
- YES
- A11y
- 0
- Gzip
- 31.6KB
- Bare
- pass
- Prov
- NO
- shadcn-alertunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 12.5KB
- Bare
- fail
- Prov
- NO
- reui-alertminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 29.9KB
- Bare
- fail
- Prov
- NO
- neobrutalism-alertbrutalism
- Renders
- YES
- A11y
- 0
- Gzip
- 30.0KB
- Bare
- fail
- Prov
- NO
- shadcn-sonnerunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 31.9KB
- Bare
- fail
- Prov
- NO