Measured entry
hextaui-billing-subscription-settings
A registry-delivered React client component for viewing and changing subscription state, including billing cadence, renewal, pausing, cancellation, reactivation, and proration. It expects Tailwind styling, a cn helper, local shadcn UI primitives, Radix packages, and Lucide icons; the host application supplies all billing mutations through async callbacks.



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 | 69.3 KB (134.8 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 1.25s error during build: [vite]: Rollup failed to resolve import "lucide-react" from "<sandbox>re-8c5ae14351da/src/cut/blocks/billing/billing-subscription-settings.tsx".
Verdict
A broad, practical starting point for an existing shadcn application, but not a drop-in production billing screen. It needs a shadcn-style setup, mobile layout work, accessibility fixes, and completion of the custom pause flow before release.
Use it if
- You already use shadcn-style primitives and need a subscription settings card wired to your own billing service.
- You want pause, resume, cancel, reactivate, renewal, and billing-period controls to appear only when their callbacks are supplied.
- You need status-aware subscription details and an optional proration summary in one account settings panel.
Skip it if
- Your account area must fit narrow mobile screens without adaptation, because this layout overflows there.
- You need an accessibility-ready component without remediation; the verified render has unsupported ARIA attributes and a contrast failure.
- You need the custom pause-date choice to work as shipped, because it does not provide a date picker or collect a date.
- You need an included billing backend or optimistic state management rather than callback hooks into your own application.
Install
| Declared dependencies | @radix-ui/react-alert-dialog, @radix-ui/react-slot, @radix-ui/react-select, @radix-ui/react-separator, @radix-ui/react-switch, 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 React client-component support, Tailwind theme tokens, the cn utility and path aliases, then provide compatible card, badge, button, dialog, select, separator, and switch primitives. Install the Radix packages, Lucide React, clsx, and tailwind-merge, and connect every desired action to your billing API.
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 pricing pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- hyperui-pricing-1unclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 3.8KB
- Bare
- pass
- Prov
- NO
- hyperui-pricing-2editorial
- Renders
- YES
- A11y
- 0
- Gzip
- 18.2KB
- Bare
- pass
- Prov
- NO
- meraki-pricing-side-by-sideminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 18.8KB
- Bare
- pass
- Prov
- NO
- efferd-pricing-2glassmorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 29.8KB
- Bare
- pass
- Prov
- NO
- ruixen-pricing-plansunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 60.6KB
- Bare
- pass
- Prov
- NO
- tripled-glassmorphism-pricing-block-shadcnuiglassmorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 30.4KB
- Bare
- fail
- Prov
- NO