Data display

Calendar
v1.1.2
Ready for Production

A date selection component that allows users to pick single dates, multiple dates, or date ranges.

Prefer AI-assisted development?

This documentation is available via the Catalyst MCP Server. Learn how to connect →

Catalyst Calendar extends React DayPicker with built-in design tokens and accessibility defaults — so you get a production-ready calendar and date-picker. Also supports integration with DatePicker and DateField components.

Preview

Installation

npm install @pmi/catalyst-calendar
import { Calendar } from '@pmi/catalyst-calendar';

Common Patterns

Single Date Selection (using custom chevron icons)

Preview

Multiple Date Selection

Preview

Date Range Selection

Preview
Preview

DatePicker Integration - Single

Preview

DatePicker Integration - Range

Preview

DateField Integration - Date Input with Integrated Calendar Field

Preview
MM/DD/YYYY

API Reference

Calendar

Accepts all DayPickerProps props from React DayPicker. The prop classNames comes from React DayPicker ClassNames and additionally includes an optional dot class for styling the date indicator dot.

Prop

Type

DatePicker

Accepts all standard React button attributes (onClick, type, aria-*, etc.). Forwards ref to the underlying HTMLButtonElement.

Prop

Type

DateField

Extends all standard HTML div element props. Forwards ref to the underlying element.

Prop

Type

DateFieldClassNames

Prop

Type

DateFieldSlot

Extends all standard HTML div element props. Forwards ref to the underlying HTMLDivElement.

Prop

Type

Accessibility

Keyboard Interactions

KeyAction
TabMoves focus between months and selected date
Arrow keysNavigate dates

ARIA

  • Use aria-label prop to provide context (e.g., "Select date")
  • Uses proper ARIA attributes for date selection states for screen reader support

See the React DayPicker docs for inherited behavior.

Choosing the Right Component

Use Calendar when you need a flexible date selection interface. Reach for a different primitive when:

If you need…Use instead
A Date input field componentDateField: available as Catalyst packages @pmi/catalyst-date-field and @pmi/catalyst-date-field
  • DateField – available as Catalyst packages @pmi/catalyst-date-field and @pmi/catalyst-date-field
  • Popover – Popover container for DatePicker

On this page