Skip to content
RefineUI

Calendar

Date picker calendar grid component.

Sun
Mon
Tue
Wed
Thu
Fri
Sat

Overview

Machine-readable contract from Component Spec.

component: calendarexport: Calendarversion: 1attributes: data-refineui=calendar

Anatomy

Partdata-refineui
rootcalendar
daycalendar-day

States

ScopeCategoryValues
componentpseudofocus-visible
componentenvironmentforced-colors, dir

Accessibility

SlotElementRole
calendardivgrid
calendar-daybuttongridcell

Keyboard

KeyActionNative
Enteractivatetrue
Spaceactivatetrue

Focus

SectionPropertyValue
visualrequiredtrue
visualselector:focus-visible

Layout

PropertyValue
directionlogical
rtltrue
npm install @refineui/react @refineui/tokens
import { Calendar } from "@refineui/react";
<Calendar value={selectedDate} onChange={setSelectedDate} />
<Calendar
mode="range"
rangeStart={startDate}
rangeEnd={endDate}
onRangeChange={(start, end) => {
setStartDate(start);
setEndDate(end);
}}
/>
<Calendar weekStartsOn={1} defaultMonth={new Date(2024, 0)} />
PropDefaultTypeDescription
mode"single""single" | "range"Selection mode.
valueDateControlled selected date (single mode).
onChange(date: Date) => voidEvent handler when date changes (single mode).
rangeStartDateControlled range start date (range mode).
rangeEndDateControlled range end date (range mode).
onRangeChange(start?: Date, end?: Date) => voidEvent handler when range changes (range mode).
weekStartsOn00 | 1First day of week: 0 (Sunday) or 1 (Monday).
defaultMonthDateInitially displayed month.