Measured entry
hextaui-settings-privacy
A client-side React card for profile visibility, data sharing, security, retention, export, and account deletion settings. It ships as shadcn registry source and depends on React, Lucide icons, a cn utility, and local Radix-backed alert dialog, button, card, field, select, separator, and switch 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 | 1 |
| Axe serious | 0 |
| Axe moderate | 0 |
| Axe minor | 0 |
| Gzip marginal | 70.3 KB (135.7 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 14s error during build: [vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/cut/blocks/settings/settings-privacy.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'
Verdict
A useful, comprehensive starting point for an existing shadcn app, with sensible responsive behavior and clear integration hooks. It needs a shadcn-style setup, and the critical unsupported ARIA usage should be fixed before production adoption.
Use it if
- You need a broad account privacy settings screen with save, export, two-factor setup, and deletion hooks.
- Your app already uses shadcn conventions and can wire the optional callbacks to real backend actions.
- You want a responsive single-card layout that keeps all privacy controls visible without overflow.
Skip it if
- You need an accessibility-ready component without first correcting the unsupported ARIA attributes reported by the audit.
- Your design system does not use shadcn aliases, registry primitives, or Tailwind utility classes.
- You need server-backed persistence out of the box, since the supplied callbacks are optional and the component otherwise changes only local state.
- You want a compact settings surface rather than a long, comprehensive account panel.
Install
| Declared dependencies | @radix-ui/react-alert-dialog, @radix-ui/react-slot, @radix-ui/react-label, @radix-ui/react-separator, @radix-ui/react-select, @radix-ui/react-switch |
|---|---|
| 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 configured source aliases, cn class-merging utility, Tailwind styles and theme tokens, Lucide React, and equivalent alert dialog, button, card, field, select, separator, and switch primitives backed by the required Radix packages. Then connect the save, export, deletion, and two-factor callbacks.
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