Calendarv1.1.2Ready for Production
A date selection component that allows users to pick single dates, multiple dates, or date ranges.
Prefer AI-assisted development?
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.
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|---|---|---|---|---|---|
Installation
npm install @pmi/catalyst-calendarimport { Calendar } from '@pmi/catalyst-calendar';Common Patterns
Single Date Selection (using custom chevron icons)
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|---|---|---|---|---|---|
Multiple Date Selection
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|---|---|---|---|---|---|
Date Range Selection
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|---|---|---|---|---|---|
Dropdown Caption Layout
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|---|---|---|---|---|---|
DatePicker Integration - Single
DatePicker Integration - Range
DateField Integration - Date Input with Integrated Calendar Field
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
| Key | Action |
|---|---|
Tab | Moves focus between months and selected date |
Arrow keys | Navigate dates |
ARIA
- Use
aria-labelprop 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 component | DateField: available as Catalyst packages @pmi/catalyst-date-field and @pmi/catalyst-date-field |
Related
- DateField – available as Catalyst packages @pmi/catalyst-date-field and @pmi/catalyst-date-field
- Popover – Popover container for DatePicker