Measured entry
hextaui-settings-domains
A client-side React settings card for listing custom domains, adding one in a dialog, showing verification and SSL states, copying DNS records, and confirming removal. It ships as a shadcn registry component and relies on React state, Lucide icons, shadcn UI primitives, Tailwind theme classes, and the cn utility 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 | 51.8 KB (117.2 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 1m 49s error during build: [vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/cut/blocks/settings/settings-domains.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'
Verdict
A solid presentation layer for a domain settings workflow, with sensible states and callback boundaries, but it is not a complete domain-management feature. The bare mount fails, so it needs a shadcn-style setup and real service wiring before its controls do meaningful work.
Use it if
- You need a settings surface for domain status, DNS instructions, SSL controls, and removal in one card.
- Your app already uses shadcn conventions and can connect the create, verify, SSL, and delete callbacks to real services.
- You want responsive empty and populated states that fit an existing Tailwind design system.
Skip it if
- You need domain provisioning, DNS checks, certificate issuance, or persistence included rather than supplied by your backend.
- Your project does not use shadcn-style aliases, primitives, and Tailwind theme tokens and you do not want to adopt them.
- You need the component to own and refresh its domain data after actions instead of receiving it from a parent.
- You need strict domain syntax validation beyond checking that the field is not empty.
Install
| Declared dependencies | @radix-ui/react-alert-dialog, @radix-ui/react-slot, @radix-ui/react-dialog, @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 the referenced card, dialog, alert dialog, badge, button, field, and input-group components; install their Radix dependencies and Lucide icons; provide the cn utility and import aliases; map the Tailwind theme tokens; and wire every action callback to your domain service.
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 form pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- hextaui-kbdminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 29.8KB
- Bare
- pass
- Prov
- NO
- shadcn-labelunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 31.1KB
- Bare
- pass
- Prov
- NO
- neobrutalism-labelbrutalism
- Renders
- YES
- A11y
- 0
- Gzip
- 31.5KB
- Bare
- pass
- Prov
- NO
- neobrutalism-nlabelbrutalism
- Renders
- YES
- A11y
- 0
- Gzip
- 31.5KB
- Bare
- pass
- Prov
- NO
- shadcn-formunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 43.9KB
- Bare
- pass
- Prov
- NO
- neobrutalism-formbrutalism
- Renders
- YES
- A11y
- 0
- Gzip
- 44.4KB
- Bare
- pass
- Prov
- NO