Measured entry
shadcn-block-calendar-02
A client-side React registry block that renders a bordered, controlled date picker with adjacent months and single-date selection. It ships as a shadcn block wrapping the project Calendar primitive, with React Day Picker, date-fns, Radix Slot, Tailwind-style classes, and the shared cn utility underneath.



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 | 50.9 KB (116.3 KB build, 65.4 KB baseline) |
| Bare mode | FAIL |
| Provider required | NO |
| Demo used | none |
What the harness recorded
BARE BUILD
✗ Build failed in 33.77s error during build: [vite:load-fallback] Could not load <sandbox>/src/lib/utils (imported by src/components/ui/calendar.tsx): ENOENT: no such file or directory, open '<sandbox>/src/lib/utils'
Verdict
A dependable starting point for single-date selection: it builds, mounts, stays within its viewport, and produced no automated accessibility findings in the prepared harness. It does not run bare and needs a shadcn-style setup, while its calendar dependencies add meaningful client weight.
Use it if
- You need adjacent-month browsing with a controlled single-date value.
- Your app already follows shadcn registry conventions and has the shared Calendar primitive.
- You want a compact date-picking block that behaves cleanly across narrow and wide layouts.
Skip it if
- You need date ranges, time selection, booking availability, or disabled-date rules out of the box.
- Your project does not use Tailwind-style utilities, path aliases, or a shared cn helper.
- You are minimizing client dependency weight and only need a native date field.
Install
| Declared dependencies | react-day-picker@latest, date-fns, @radix-ui/react-slot |
|---|---|
| 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 React Day Picker, date-fns, and Radix Slot; copy or recreate the Calendar primitive; provide the cn class-merging utility and matching path alias; and port the expected Tailwind theme tokens and utility classes.
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/shadcn-ui/uiAlternatives
Other published entries for the calendar pattern, ordered by what they measured: mounts first, then clean axe scans, then bare-mode passes, then the smaller bundle.
- shadcn-calendarunclassified
- Renders
- YES
- A11y
- 0
- Gzip
- 37.3KB
- Bare
- fail
- Prov
- NO
- shadcn-block-calendar-01minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 50.8KB
- Bare
- fail
- Prov
- NO
- shadcn-block-calendar-03minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 50.9KB
- Bare
- fail
- Prov
- NO
- shadcn-block-calendar-04minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 50.9KB
- Bare
- fail
- Prov
- NO
- shadcn-block-calendar-05minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 50.9KB
- Bare
- fail
- Prov
- NO
- shadcn-block-calendar-06minimal-flat
- Renders
- YES
- A11y
- 0
- Gzip
- 50.9KB
- Bare
- fail
- Prov
- NO