Measured entry
kokonut-avatar-picker
avatardark-futuristicmotion on file
A client-side React profile setup card that pairs a preset SVG avatar chooser with username validation and a completion callback. It ships as a shadcn registry component and relies on shadcn Card, Button, and Input primitives, the cn utility, Tailwind theme tokens, Lucide icons, Motion, and Radix UI.



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 | 1 |
| Axe moderate | 0 |
| Axe minor | 0 |
| Gzip marginal | 76.6 KB (142.0 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 16s error during build: [vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/cut/components/kokonutui/avatar-picker.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'
Verdict
A polished, focused onboarding card with sensible validation, accessible selection state, and reduced-motion handling. It builds and mounts in the prepared harness, but it needs a shadcn-style setup rather than working bare. Fix the flagged text contrast before shipping.
Use it if
- You need a compact onboarding step for choosing a preset avatar and username.
- Your app already uses shadcn conventions, Tailwind theme tokens, and path aliases.
- You want animated selection feedback that respects reduced-motion preferences.
Skip it if
- You need image upload, cropping, remote avatar catalogs, or user-supplied artwork.
- You cannot accept the unresolved text color contrast issue without restyling it.
- Bundle weight is tight and Motion plus the supporting UI dependencies are not already present.
- You need a drop-in component for a React project without shadcn-style primitives and aliases.
Install
| Declared dependencies | lucide-react, motion, radix-ui |
|---|---|
| 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 compatible Card, Button, and Input primitives, a cn class-merging helper, the expected path aliases, Tailwind theme tokens, and the Lucide, Motion, and Radix UI packages. Wire the completion callback to persist the selected avatar and username.
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/kokonut-labs/kokonutuiAlternatives
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