Calendar
A calendar component for selecting dates and date ranges.1<Calendar />
Usage
1import { Calendar, RangePicker, DatePicker } from '@raystack/apsara'
Calendar Props
Prop
Type
RangePicker Props
The RangePicker supports customizing the popover behavior using the popoverProps prop.
Prop
Type
DatePicker Props
The DatePicker supports customizing the popover behavior using the popoverProps prop.
Prop
Type
Examples
Calendar
Choose between different variants to convey different meanings or importance levels. Default variant is accent.
1<Calendar numberOfMonths={2} />
Custom Date Information
You can display custom components above each date using the dateInfo prop. The keys should be date strings in "dd-MM-yyyy" format, and the values are React components that will be rendered above the date number.
1<Calendar2 numberOfMonths={2}3 dateInfo={{4 [dayjs().format("DD-MM-YYYY")]: (5 <Flex6 align="center"7 gap={2}8 style={{9 fontSize: "8px",10 color: "var(--rs-color-foreground-base-secondary)",11 }}12 >13 <BellIcon style={{ width: "8px", height: "8px" }} />14 <Text style={{ fontSize: "8px" }} color="secondary">15 25%16 </Text>17 </Flex>18 ),19 }}20/>
Range Picker
The Range Picker component allows selecting a date range with the following behaviors:
-
When selecting two different dates:
- The UI will show the exact selected dates
- The callback will return the start and end date as selected
1// Example: If user selects April 1st and April 10th, 20252// UI will show: April 1st, 2025 - April 10th, 20253// Callback will return:4{5 "from": "2025-03-31T18:30:00.000Z",6 "to": "2025-04-09T18:30:00.000Z"7} -
When clicking the same date twice:
- The UI will show the same date for both start and end
- The callback will return the start and end date as selected
1// Example: If user clicks April 1st, 2025 twice2// UI will show: April 1st, 2025 - April 1st, 20253// Callback will return:4{5 "from": "2025-03-31T18:30:00.000Z",6 "to": "2025-03-31T18:30:00.000Z"7}
1<RangePicker />
Date Picker
Badges can include an icon to provide additional visual context. By default there is no icon.
1<DatePicker textFieldProps={{ size: "medium" }} />