Measured entry

shadcn-calendar

calendarunclassified

A copy-in React calendar built on React DayPicker, shipped as a client-side registry component rather than a standalone package. It uses the shadcn button primitive and class utility, Tailwind theme tokens, Lucide icons, date-fns, and the declared Radix dependency.

Specimen
Harness screenshot of shadcn-calendar at 375 pixels wide
Harness screenshot at 375 pixels wide. No horizontal overflow recorded.
Harness screenshot of shadcn-calendar at 768 pixels wide
Harness screenshot at 768 pixels wide. No horizontal overflow recorded.
Harness screenshot of shadcn-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 shadcn-calendar
BuildOK
MountOK
Console errors0
Uncaught page errors0
Horizontal overflowclean at 375, 768, 1440
Axe critical0
Axe serious0
Axe moderate0
Axe minor0
Gzip marginal37.3 KB (102.7 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 3.28s
error during build:
[vite]: Rollup failed to resolve import "class-variance-authority" from "<sandbox>/src/components/ui/button.tsx".

Verdict

A solid fit inside an existing shadcn codebase, with clean mounting, responsive containment, and no detected accessibility violations. It needs a shadcn-style setup and does not build or mount in a bare React project as supplied.

Use it if

  • You already use shadcn conventions and want a date picker that matches its button and theme system.
  • You need single-date, range, week-number, or month-dropdown behavior exposed through React DayPicker props.
  • You want source-level control over day states, navigation controls, and calendar styling.

Skip it if

  • Your project does not use Tailwind theme tokens or a shadcn-style component setup.
  • You want a calendar that installs as an isolated package without copied UI primitives.
  • You are minimizing client-side dependency weight for a simple date field.

Install

Installation record for shadcn-calendar
Declared dependenciesreact-day-picker@latest, date-fns, radix-ui
Missing on installreact-day-picker@latest
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 React DayPicker, date-fns, Radix UI, Lucide React, class-variance-authority, the shadcn button primitive, a compatible class-merging utility, and Tailwind theme tokens. Update the registry import aliases to local paths.

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/ui
License
MIT
Record published
2026-08-13

Alternatives

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.