Measured entry
ruixen-calendar-lume
badgeunclassifiedmotion on file
An animated client-side React date picker that zooms between year, month, and day views and returns an ISO date on selection. It ships as a shadcn registry TSX file, uses Motion for transitions, Tailwind utility classes for theme states, a local cn helper, and the browser audio API for optional tick feedback.



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 | 0 |
| Axe moderate | 0 |
| Axe minor | 0 |
| Gzip marginal | 70.1 KB (135.5 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 28.96s error during build: [vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/cut/calendar-lume.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'
Verdict
A polished focused picker that built, mounted, and adapted cleanly in the prepared harness. The interaction is richer than its API, which lacks common scheduling constraints. It needs a shadcn-style setup because the bare project cannot resolve its local utility import.
Use it if
- You need a compact single-date picker with direct year and month drill-down.
- Your React interface already uses Tailwind, the shadcn alias convention, and Motion.
- Subtle transition and optional audio feedback suit the interaction design.
Skip it if
- You need date ranges, disabled dates, minimum or maximum rules, or booking availability.
- The selected date must stay synchronized when the value prop changes after mounting.
- You want a fluid-width calendar or cannot justify adding Motion for one control.
- Default interaction sounds are inappropriate for the product context.
Install
| Declared dependencies | motion |
|---|---|
| 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, install Motion, provide a cn class-merging helper, configure the at-sign source alias or rewrite that import, and ensure Tailwind includes the neutral palette and dark-mode utilities used by the component. Keep it in a client-rendered React boundary; disable sound if audio feedback is unwanted.
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