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.

Specimen
Motion capture of the mounted demo, recorded by the harness. No audio track.
Harness screenshot of kokonut-avatar-picker at 375 pixels wide
Harness screenshot at 375 pixels wide. No horizontal overflow recorded.
Harness screenshot of kokonut-avatar-picker at 768 pixels wide
Harness screenshot at 768 pixels wide. No horizontal overflow recorded.
Harness screenshot of kokonut-avatar-picker at 1440 pixels wide
Harness screenshot at 1440 pixels wide. No horizontal overflow recorded.

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.

Harness measurements recorded for kokonut-avatar-picker
BuildOK
MountOK
Console errors0
Uncaught page errors0
Horizontal overflowclean at 375, 768, 1440
Axe critical0
Axe serious1
Axe moderate0
Axe minor0
Gzip marginal76.6 KB (142.0 KB build, 65.4 KB baseline)
Bare modeFAIL
Provider requiredNO
Demo usedwritten 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

Installation record for kokonut-avatar-picker
Declared dependencieslucide-react, motion, radix-ui
Missing on installnone
Bare installfails once the shadcn-style helpers are removed, so it needs that setup
Providerno 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.

Alternatives

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.