v0.3.1 StableFoundation ComponentReact 18 & 19Zero Runtime CSS

Calendar

A locale-aware calendar with a controlled display month.

Interactive preview

October 2026
MonTueWedThuFriSatSun

Usage

import { Calendar } from "@devvy-ui/react";

<Calendar label="Choose a date" month={month} onMonthChange={setMonth} value={date} onValueChange={setDate} />

API reference

Native HTML attributes, className, style and a forwarded ref are supported. Component-specific props:

PropTypeDefaultDescription
monthstringrequiredDisplayed YYYY-MM.
onMonthChange(month: string) => voidrequiredMonth navigation callback.
value / defaultValuestringemptySelected YYYY-MM-DD.
min / maxstring—Inclusive civil-date bounds.
locale / weekStartsOnstring / 0 or 1en / 1Localized labels and week start.

Accessibility & behavior

Platform Behavior & Guidelines

ISO civil dates use UTC arithmetic, independent of local time zones. Supply YYYY-MM explicitly for deterministic SSR. Arrows, Home/End and PageUp/PageDown navigate; Enter/Space selects.

Source ownership

Run npx @devvy-ui/cli init once in your React project, then add the source:

npx @devvy-ui/cli add calendar

Make the source yours.

Start from the canonical implementation used by the package and registry. Change the code, keep the MIT notice, and build the behavior your project needs.

Calendar.tsxREACT / TSX

Edit your own copy. Downloaded source uses your changes; the component preview above uses the shipped version. Run the source installer first to include shared helpers.