Measured entry
hextaui-settings-profile
A client-side React and Next.js profile settings card shipped as a shadcn registry block. It combines avatar upload and removal, profile and social fields, email-change UI, validation, and async callback hooks. It depends on Next Image, Lucide icons, a cn utility, Tailwind theme classes, and copied shadcn primitives built partly on Radix.



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 | 45.7 KB (111.1 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 41s error during build: [vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/cut/blocks/settings/settings-profile.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'
Verdict
A useful starting point for a substantial profile screen, with responsive rendering and sensible callback boundaries. It needs a shadcn-style setup to build and mount, and the verified accessibility failure should be fixed before production. Choose it when adapting source is acceptable, not as a drop-in account system.
Use it if
- You need a full account profile form with avatar, contact, bio, location, website, and social fields in one card.
- Your app already uses Next.js and shadcn conventions, including path aliases, theme tokens, and local UI primitives.
- You can connect the supplied save, email, and avatar callbacks to your own API and error handling.
Skip it if
- You need an avatar picker only; this brings a broad settings form and several supporting primitives.
- Your accessibility gate must pass without remediation, since the verified render contains unsupported ARIA attributes and the clickable avatar target also needs a keyboard review.
- You want a framework-neutral package or a finished backend workflow; the block assumes Next.js and delegates persistence, authentication, and uploads to callbacks.
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 |
For a non-shadcn project, add the path alias and cn helper, Tailwind theme tokens, Lucide, Next Image support or a replacement image component, and equivalents for the button, card, field, input group, separator, and textarea primitives with their Radix dependencies. Wire every persistence callback and correct the unsupported ARIA usage before release.
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 avatar pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- hextaui-avatarminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 32.7KB
- Bare
- pass
- Prov
- NO
- neobrutalism-avatarbrutalism
- Renders
- YES
- A11y
- 0
- Gzip
- 32.7KB
- Bare
- pass
- Prov
- NO
- shadcn-avatarunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 33.0KB
- Bare
- pass
- Prov
- NO
- tripled-native-avatar-expand-shadcnuiminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 75.4KB
- Bare
- pass
- Prov
- NO
- tripled-native-avatar-with-name-shadcnuiminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 75.5KB
- Bare
- pass
- Prov
- NO
- magicui-avatar-circlesbento
- Renders
- YES
- A11y
- 0
- Gzip
- 26.0KB
- Bare
- fail
- Prov
- NO