Calendar

Calendar component is used for categorize content with a keyword.

Basic

Basic usage of Calendar.

Range

RangeCalendar have similar behavior with Calendar, but it able to select start and end date.

Custom render

You can render custom day elements or apply styles & className to days with these dayStyle, dayClassName & renderDay props.

Disabled certain date

Disabled part of dates by using disabledDate prop callback.

Disable out of period date

Setting minDate & maxDate props to limit available date within a period.

Multiple date view

Calender or RangeCalendar can have mutiple date view by setting dateViewCount more than 1.

Multiple selection

Calendar component allow multiple dates selection by setting multipleSelection props

API

Calendar
PropDescriptionTypeDefault
dateViewCountAmount of date view display in pickernumber1
dayClassNameApply className to days based on argument(date: Date, modifiers: {disabled: boolean, weekend: boolean, selectedInRange: boolean, selected: boolean, inRange: boolean, firstInRange: boolean, lastInRange: boolean, outOfMonth: boolean}) => string-
dayStyleApply style to days based on argument(date: Date, modifiers: {disabled: boolean, weekend: boolean, selectedInRange: boolean, selected: boolean, inRange: boolean, firstInRange: boolean, lastInRange: boolean, outOfMonth: boolean}) => CSSProperties-
defaultMonthDefault month for uncontrolled DatePickerRangeDate-
defaultViewDefault DatePickerRange view'date' | 'month' | 'year' 'date'
disabledDateSpecify the date that cannot be selected(date: Date) => boolean-
disableOutOfMonthWhether to disable days that out of given monthbooleanfalse
enableHeaderLabelWhether to disable header label to trigger view changebooleantrue
firstDayOfWeekFirst day of week'sunday' | 'monday''monday'
hideOutOfMonthDatesWhether to hide days that out of given monthbooleanfalse
hideWeekdaysWhether to hide week daysbooleanfalse
isDateFirstInRangeHighlight date as first in a range(date: Date, modifiers: {disabled: boolean, weekend: boolean, selectedInRange: boolean, selected: boolean, inRange: boolean, firstInRange: boolean, lastInRange: boolean, outOfMonth: boolean}) => boolean-
isDateInRangeHighlight date in a range(date: Date, modifiers: {disabled: boolean, weekend: boolean, selectedInRange: boolean, selected: boolean, inRange: boolean, firstInRange: boolean, lastInRange: boolean, outOfMonth: boolean}) => boolean-
isDateLastInRangeHighlight date as last in a range(date: Date, modifiers: {disabled: boolean, weekend: boolean, selectedInRange: boolean, selected: boolean, inRange: boolean, firstInRange: boolean, lastInRange: boolean, outOfMonth: boolean}) => boolean-
labelFormatSeperator between date display on inputstring'~'
localeDatePickerRange localedayjs localeen
maxDateMaximum date to selectDate-
minDateMinimum date to selectDate-
monthLabelFormatMonth label formatstring'YYYY'
onChangeCallback when date is selectedfunction(date: Date) -
onDayMouseEnterCallback when date is hoveredfunction(date: Date) -
paginateByPaginate by count of viewnumberdateViewCount | 1
preventFocusPrevent focusing upon clickbooleanfalse
rangeHighlight given date range[Date | null, Date | null]-
renderDayRender custome day element based on the given params(date: Date) => ReactNodefalse
valueValue of calender (Controlled)Date-
weekdayLabelFormatFormat for weekday displaystring'dd'
weekendDaysIndicate the days of weekendnumber[][0, 6]
yearLabelFormatYear label formatstring'YYYY'
RangeCalendar
PropDescriptionTypeDefault
dateViewCountAmount of date view display in pickernumber1
dayClassNameApply className to days based on argument(date: Date, modifiers: {disabled: boolean, weekend: boolean, selectedInRange: boolean, selected: boolean, inRange: boolean, firstInRange: boolean, lastInRange: boolean, outOfMonth: boolean}) => string-
dayStyleApply style to days based on argument(date: Date, modifiers: {disabled: boolean, weekend: boolean, selectedInRange: boolean, selected: boolean, inRange: boolean, firstInRange: boolean, lastInRange: boolean, outOfMonth: boolean}) => CSSProperties-
defaultMonthDefault month for uncontrolled DatePickerRangeDate-
defaultViewDefault DatePickerRange view'date' | 'month' | 'year' 'date'
disabledDateSpecify the date that cannot be selected(date: Date) => boolean-
disableOutOfMonthWhether to disable days that out of given monthbooleanfalse
enableHeaderLabelWhether to disable header label to trigger view changebooleantrue
firstDayOfWeekFirst day of week'sunday' | 'monday''monday'
hideOutOfMonthDatesWhether to hide days that out of given monthbooleanfalse
hideWeekdaysWhether to hide week daysbooleanfalse
isDateFirstInRangeHighlight date as first in a range(date: Date, modifiers: {disabled: boolean, weekend: boolean, selectedInRange: boolean, selected: boolean, inRange: boolean, firstInRange: boolean, lastInRange: boolean, outOfMonth: boolean}) => boolean-
isDateInRangeHighlight date in a range(date: Date, modifiers: {disabled: boolean, weekend: boolean, selectedInRange: boolean, selected: boolean, inRange: boolean, firstInRange: boolean, lastInRange: boolean, outOfMonth: boolean}) => boolean-
isDateLastInRangeHighlight date as last in a range(date: Date, modifiers: {disabled: boolean, weekend: boolean, selectedInRange: boolean, selected: boolean, inRange: boolean, firstInRange: boolean, lastInRange: boolean, outOfMonth: boolean}) => boolean-
labelFormatSeperator between date display on inputstring'~'
localeDatePickerRange localedayjs localeen
maxDateMaximum date to selectDate-
minDateMinimum date to selectDate-
monthLabelFormatMonth label formatstring'YYYY'
onChangeCallback when date is selectedfunction(date: Date) -
onDayMouseEnterCallback when date is hoveredfunction(date: Date) -
paginateByPaginate by count of viewnumberdateViewCount | 1
preventFocusPrevent focusing upon clickbooleanfalse
rangeHighlight given date range[Date | null, Date | null]-
renderDayRender custome day element based on the given params(date: Date) => ReactNodefalse
singleDateOnly one date can be selectedboolean false
valueValue of calender (Controlled)[Date | null, Date | null]-
weekdayLabelFormatFormat for weekday displaystring'dd'
weekendDaysIndicate the days of weekendnumber[][0, 6]
yearLabelFormatYear label formatstring'YYYY'