Skip to main content
These are web renderer (@super-calendar/dom) components. On React Native, compose a picker from MonthList + useDateRange (the same primitives shown below).
super-calendar ships two controlled popover inputs, DatePicker and DateRangePicker — and, because both are just thin shells over MonthList, you can build your own if you need different chrome.

DatePicker

A single date, controlled by value / onChange:

DateRangePicker

A start/end range. Each pick advances the selection (start, then end), and the popover closes once both are set:
Both accept minDate / maxDate / isDateDisabled, a placeholder, disabled, a formatLabel for the trigger text, and the calendar theme. They close on outside-click and Escape, and return focus to the trigger.

Styling

The picker chrome has its own slots (trigger, popover, footer, clear), and any calendar slot you pass through classNames reaches the popover’s MonthList:

Roll your own

If you want fully custom chrome, wrap MonthList yourself and drive it with useDateRange (range) or selectedDates (single). The building blocks:
Add your own trigger/popover and the two behaviours every popover needs (outside-click and Escape to close). See the field tab on the live demo.