Measured entry
hextaui-billing-coupon-code
A client-side React and TypeScript card for applying, displaying, and removing a subscription coupon. It ships as a HextaUI shadcn registry block and expects the project alias, cn utility, Tailwind theme tokens, Lucide icons, and local Badge, Button, Card, Field, Input Group, and Separator primitives.



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 | 38.0 KB (103.4 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 2m 9s error during build: [vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/cut/blocks/billing/billing-coupon-code.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'
Verdict
A practical billing form with clear loading, error, applied, and removal states. It builds and mounts cleanly in the prepared harness, but it needs a shadcn-style setup and is not a drop-in component for a bare React project.
Use it if
- You need a checkout or account billing panel that accepts an async coupon callback.
- Your app already uses shadcn-style primitives, path aliases, and Tailwind theme tokens.
- You want controlled applied-coupon data with percentage or fixed-value display and optional removal.
Skip it if
- You need coupon validation, persistence, or pricing recalculation included rather than supplied by your application.
- Your design system does not provide the expected shadcn-style primitives and utility classes.
- You need locale-aware dates or configurable number formatting beyond its fixed formatting choices.
Install
| Declared dependencies | @radix-ui/react-slot, @radix-ui/react-label, @radix-ui/react-separator |
|---|---|
| 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 React and Lucide, install the required Radix packages, recreate the Badge, Button, Card, Field, Input Group, and Separator primitives, provide the cn helper and path alias, and map the referenced Tailwind theme classes to your styling system.
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 card pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- tailark-veil-content-1minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 17.6KB
- Bare
- pass
- Prov
- NO
- tailark-veil-content-2minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 17.6KB
- Bare
- pass
- Prov
- NO
- tailark-mist-content-3minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 24.1KB
- Bare
- pass
- Prov
- NO
- neobrutalism-cardbrutalism
- Renders
- YES
- A11y
- 0
- Gzip
- 29.6KB
- Bare
- pass
- Prov
- NO
- neobrutalism-ncardbrutalism
- Renders
- YES
- A11y
- 0
- Gzip
- 29.6KB
- Bare
- pass
- Prov
- NO
- reui-icon-stackminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 30.1KB
- Bare
- pass
- Prov
- NO