Measured entry

ruixen-range-calendar

selectunclassifiedmotion on file

A client-side React range calendar that ships as a shadcn registry component. It supports controlled or internal range state, hover previews, animated month changes, an optional Web Audio tick, and a duration label. It depends on Motion, Tailwind utility classes, and a local cn helper.

Specimen
Motion capture of the mounted demo, recorded by the harness. No audio track.
Harness screenshot of ruixen-range-calendar at 375 pixels wide
Harness screenshot at 375 pixels wide. No horizontal overflow recorded.
Harness screenshot of ruixen-range-calendar at 768 pixels wide
Harness screenshot at 768 pixels wide. No horizontal overflow recorded.
Harness screenshot of ruixen-range-calendar 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 ruixen-range-calendar
BuildOK
MountOK
Console errors0
Uncaught page errors0
Horizontal overflowclean at 375, 768, 1440
Axe critical1
Axe serious0
Axe moderate0
Axe minor0
Gzip marginal69.9 KB (135.3 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 32.46s
error during build:
[vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/cut/range-calendar.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'

Verdict

A polished interaction pattern with useful controlled-state support, but it is not drop-in outside its native ecosystem. It needs a shadcn-style setup, and the unnamed navigation buttons must be fixed before production use. Choose it when its focused feature set matches your requirements.

Use it if

  • You need a compact single-month range picker with a visible in-progress hover preview.
  • Your React interface already uses Tailwind and can accommodate a shadcn registry component.
  • You want controlled and uncontrolled value handling without adopting a full date-picker library.
  • Animated month navigation and optional interaction sounds fit the product experience.

Skip it if

  • You need an accessible component without first adding names to the icon-only month navigation buttons.
  • You need keyboard date-grid navigation, disabled-date rules, localization, or multi-month views out of the box.
  • Your project does not use Tailwind and you do not want to translate its utility styling.
  • You want a lightweight static calendar without Motion and browser audio code.

Install

Installation record for ruixen-range-calendar
Declared dependenciesmotion
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 Motion, provide React client rendering, configure Tailwind for the component classes, create the expected source alias and cn class-merging helper, and add accessible names to both month navigation buttons. Keep sound disabled if Web Audio 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.

Alternatives

Other published entries for the select pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.