Measured entry
ruixen-avatar-hover-card
badgeunclassifiedmotion on file
A client-side React avatar trigger that opens an animated profile card on pointer hover, with optional username, description, stats, actions, sizing, and alignment. It ships as shadcn registry source and relies on Motion, a shadcn Avatar primitive, the cn utility, Tailwind classes, and React state.



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 | 3 |
| 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.5 KB (142.0 KB build, 65.5 KB baseline) |
| Bare mode | FAIL |
| Provider required | NO |
| Demo used | written from the component source API |
What the harness recorded
CONSOLE
Failed to load resource: the server responded with a status of 404 (Not Found)
CONSOLE
Failed to load resource: the server responded with a status of 404 (Not Found)
CONSOLE
Failed to load resource: the server responded with a status of 404 (Not Found)
Verdict
A polished desktop-oriented profile preview with useful content slots, but its hover-only interaction needs accessibility work and the demo assets must be supplied by the host app. It does not mount bare and needs a shadcn-style setup before it is drop-in ready.
Use it if
- You need compact profile context beside avatars in a pointer-driven desktop interface.
- Your app already uses shadcn conventions, Tailwind theme tokens, and Motion.
- You want configurable profile details and custom action controls without adopting a full profile menu.
Skip it if
- The profile details must be reliably available to keyboard and touch users, since the trigger only responds to pointer hover.
- You need a lightweight static avatar and cannot justify the added animation dependency.
- Your design system does not provide shadcn Avatar and cn utilities or compatible Tailwind tokens.
- You require a clean accessibility audit before adoption, since the tested styling has a serious contrast issue.
Install
| Declared dependencies | motion, radix-ui, clsx, tailwind-merge |
|---|---|
| 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 Motion, Radix UI, clsx, and tailwind-merge; provide an Avatar primitive and cn helper; configure the at-sign path alias; and define the Tailwind color, border, shadow, and typography utilities used by the source. Supply valid avatar assets and add keyboard and touch behavior.
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/ruixenui/ruixen.comAlternatives
Other published entries for the badge pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- neu-badgeneumorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 17.5KB
- Bare
- pass
- Prov
- NO
- clay-badgeclaymorphism
- Renders
- YES
- A11y
- 0
- Gzip
- 17.9KB
- Bare
- pass
- Prov
- NO
- ruixen-load-rippleunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 17.9KB
- Bare
- pass
- Prov
- NO
- kibo-listminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 42.4KB
- Bare
- pass
- Prov
- NO
- ruixen-blurred-stagger-textunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 58.1KB
- Bare
- pass
- Prov
- NO
- tripled-auto-revealing-heading-shadcnuiminimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 58.3KB
- Bare
- pass
- Prov
- NO