Measured entry

ruixen-calendar-planner

selectgradient-glowmotion on file

A client-side React calendar that presents a month as a vertical day stream, with inline event creation and removal, animated month changes, and optional audio ticks. It ships as a shadcn registry component, uses Motion, Tailwind utility classes, and an aliased cn helper, and keeps its own event state while exposing add and remove callbacks.

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

Verdict

A focused, responsive planner with a useful inline editing flow, but it is closer to a polished starting point than a complete scheduling system. It needs a shadcn-style setup, and the scrollable day region needs a keyboard-access fix before production use.

Use it if

  • You want a compact month planner that favors a chronological list over a calendar grid.
  • Your interface benefits from selecting a day and adding short events directly in the list.
  • Your app already uses shadcn conventions, Tailwind styling, and Motion.
  • You can connect the add and remove callbacks to your own persistence layer.

Skip it if

  • You need keyboard users to reach the scrollable day list without first modifying the component.
  • You need a conventional calendar grid, week view, time slots, recurring events, or drag and drop scheduling.
  • You want a lightweight dependency footprint and do not otherwise use Motion.
  • You need controlled event state that always follows later prop updates.

Install

Installation record for ruixen-calendar-planner
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 Tailwind with the utility classes used here, configure the source alias, and supply a compatible cn class-merging helper. Run it in a client-capable React environment. No context provider is required.

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.