Calendar
Usage
Calendar component:
Mo | Tu | We | Th | Fr | Sa | Su |
|---|---|---|---|---|---|---|
RangeCalendar component (supports the same props as Calendar component):
Mo | Tu | We | Th | Fr | Sa | Su |
|---|---|---|---|---|---|---|
Multiple selected dates
Set multiple on Calendar component to allow multiple dates selection:
Mo | Tu | We | Th | Fr | Sa | Su |
|---|---|---|---|---|---|---|
Custom day renderer
You can provide your own day renderer function with renderDay prop.
For example, it can be used to wrap day with Indicator:
Mo | Tu | We | Th | Fr | Sa | Su |
|---|---|---|---|---|---|---|
Controlled month
Control month that is currently displayed with month and onMonthChange props:
Alternatively, set initialMonth prop to set initial month in uncontrolled component:
Level change
Calendar supports three levels: date, month and year. User can access next level by clicking label between next/previous controls.
To disable that, set allowLevelChange prop to false:
Mo | Tu | We | Th | Fr | Sa | Su |
|---|---|---|---|---|---|---|
Localization
All @mantine/dates components are built with dayjs library.
Default locale is en, to change this follow dayjs localization guide:
Then set locale prop in component:
Пн | Вт | Ср | Чт | Пт | Сб | Вс |
|---|---|---|---|---|---|---|
First day of the week
Change first day of week with firstDayOfWeek prop. It accepts either sunday or monday as values:
Su | Mo | Tu | We | Th | Fr | Sa |
|---|---|---|---|---|---|---|
Multiple months
Mo | Tu | We | Th | Fr | Sa | Su |
|---|---|---|---|---|---|---|
Mo | Tu | We | Th | Fr | Sa | Su |
|---|---|---|---|---|---|---|
Label format
By default, Calendar will display dates in human-readable format.
To change that, provide dayjs format string to the labelFormat prop:
Mo | Tu | We | Th | Fr | Sa | Su |
|---|---|---|---|---|---|---|
Min and max dates
Set minDate and maxDate props to define minimum and maximum possible dates.
Dates which are not included in available interval will be disabled:
Mo | Tu | We | Th | Fr | Sa | Su |
|---|---|---|---|---|---|---|
Exclude dates
To exclude dates set excludeDate prop with function that receives date as an argument and returns
true if date should be disabled. For example, to disable weekends, check if date day is 0 or 6:
Mo | Tu | We | Th | Fr | Sa | Su |
|---|---|---|---|---|---|---|
Render day as props
You can render a custom component with renderDay.
The function receives one argument:
date– date object which is used to render day component
Add styles to days
You can apply styles to any day with dayStyle or dayClassName callbacks.
Both functions receive two arguments:
date– date object which is used to render day componentmodifiers– modifiers that are applied to the day component
Modifiers
Styles based on date
dayStyle callback allows you to add inline styles to days. Function must return either styles object or null.
In this example, we will add red background to each Friday 13th based on date (first argument):
Mo | Tu | We | Th | Fr | Sa | Su |
|---|---|---|---|---|---|---|
Styles based on modifiers
dayClassName callback allows you to add className to days. Function must return either className string or null.
In this example, we will hide all outside dates and change color of weekends based on modifiers (second argument):
Mo | Tu | We | Th | Fr | Sa | Su |
|---|---|---|---|---|---|---|
Customize with styles API
To customize any part of the calendar use Styles API:
Mo | Tu | We | Th | Fr | Sa | Su |
|---|---|---|---|---|---|---|