Calendar

A smart, self-constraining month-grid date picker (single, multiple, or range) built on react-day-picker. Owns first-class constraints (min/max/unavailable + clamped nav), fast navigation (dropdown captions or a grid drill-down), range preview feel, a `size` axis, per-day indicator dots, and an opt-in Today footer.

Stablev0.3.0@garn/ui/calendar

Default

An inline single-date calendar (controlled).

June 2026

Range

Two-month range selection with the hover/focus preview band and a 2-night minimum.

June 2026
July 2026

Sizes

The size axis — sm (dense) / md / lg (airy) via --garn-calendar-cell.

June 2026
June 2026
June 2026

Constrained

minDate/maxDate clamping with weekends marked unavailable via isDateUnavailable.

June 2026

Indicators

Per-day indicator dots from getDayIndicators — up to four tones below the day number.

June 2026

Grid Navigation

Drill-down fast nav: the caption opens a year grid, then a month grid, clamped and paged.

Availability

A three-month availability view with blackout dates (isDateUnavailable).

June 2026
July 2026
August 2026