Beta component
Calendar component is ready to use but may have some bugs. Use in production software with caution.
Calendar component is ready to use but may have some bugs. Use in production software with caution.
Calendar component enables users to select and view dates inline.
At Contentful calendar is used to ask user's input to set, edit, or view schedule actions.
The component is built on top of React Day Picker, see full documentation: https://react-day-picker.js.org/
npm install @contentful/f36-datepicker@beta
For yarn:
yarn add @contentful/f36-datepicker@beta
import { Calendar } from '@contentful/f36-datepicker';
Displays inline calendar to ask for user's action to select a date
Set mininum and/or maximum dates to limit users to choose from a specific period in time
Use from...
and to...
props to control time frames
Use modifiers to modify certain days, for example showing incators for scheduled actions
Read more about modifiers: https://react-day-picker.js.org/basics/modifiers
Use components to modify certain parts of the calendar, for example modifying day content
Read more about custom components: https://react-day-picker.js.org/guides/custom-components
Display multiple months on the calender for a more convenient way for users to view dates
Use from...
and to...
props to control time frames
Name | Type | Default |
---|---|---|
captionLayout | "dropdown" "buttons" Change the layout of the caption: - `buttons` (default): display prev/right buttons - `dropdown`: display drop-downs to change the month and the year **Note:** the `dropdown` layout is available only when `fromDate`, `fromMonth` or`fromYear` and `toDate`, `toMonth` or `toYear` are set. | |
className | string The CSS class to add to the container element. | |
components | CustomComponents A map of components used to create the layout. | |
defaultMonth | Date The initial month to show in the calendar. Default is the current month. Use this prop to let DayPicker control the current month. If you need to set the month programmatically, use [[month]] and [[onMonthChange]]. | |
dir | string The text direction of the calendar. Use `ltr` for left-to-right (default) or `rtl` for right-to-left. | |
disabled | false true Date (date: Date) => boolean Date[] DateRange DateBefore DateAfter DateInterval DayOfWeek Matcher[] Apply the `disabled` modifier to the matching days. | |
disableNavigation | false true Disable the navigation between months. | |
fixedWeeks | false true Display six weeks per months, regardless the month’s number of weeks. To use this prop, [[showOutsideDays]] must be set. Default to `false`. | |
footer | string number false true {} ReactElement<any, string | JSXElementConstructor<any>> ReactNodeArray ReactPortal Content to add to the `tfoot` element. | |
formatters | Partial<Formatters> A map of formatters. Use the formatters to override the default formatting functions. | |
fromDate | Date The earliest day to start the month navigation. | |
fromMonth | Date The earliest month to start the month navigation. | |
fromYear | number The earliest year to start the month navigation. | |
hidden | false true Date (date: Date) => boolean Date[] DateRange DateBefore DateAfter DateInterval DayOfWeek Matcher[] Apply the `hidden` modifier to the matching days. Will hide them from the calendar. | |
hideHead | false true Hide the month’s head displaying the weekday names. | |
initialFocus | false true When a selection mode is set, DayPicker will focus the first selected day (if set) or the today's date (if not disabled). Use this prop when you need to focus DayPicker after a user actions, for improved accessibility. | |
labels | Partial<Labels> Labels creators to override the defaults. Use this prop to customize the ARIA labels attributes. | |
locale | Locale The date-fns locale object used to localize dates. Defaults to* `en-US`. | |
mode | "default" "single" | |
modifiers | DayModifiers Add modifiers to the matching days. | |
modifiersClassNames | ModifiersClassNames Change the class name for the day matching the [[modifiers]]. | |
modifiersStyles | ModifiersStyles Change the inline style for the day matching the [[modifiers]]. | |
month | Date The month to display in the calendar. As opposed to [[defaultMonth]], use this prop with [[onMonthChange]] to change the month programmatically. | |
numberOfMonths | number The number of displayed months. Defaults to `1`. | |
onDayBlur | DayFocusEventHandler | |
onDayClick | DayClickEventHandler | |
onDayFocus | DayFocusEventHandler | |
onDayKeyDown | DayKeyboardEventHandler | |
onDayKeyPress | DayKeyboardEventHandler | |
onDayKeyUp | DayKeyboardEventHandler | |
onDayMouseEnter | DayMouseEventHandler | |
onDayMouseLeave | DayMouseEventHandler | |
onDayTouchCancel | DayTouchEventHandler | |
onDayTouchEnd | DayTouchEventHandler | |
onDayTouchMove | DayTouchEventHandler | |
onDayTouchStart | DayTouchEventHandler | |
onMonthChange | MonthChangeEventHandler Event fired when the user navigates between months. | |
onNextClick | MonthChangeEventHandler | |
onPrevClick | MonthChangeEventHandler | |
onSelect | SelectSingleEventHandler Event fired when a day is selected. | |
onWeekNumberClick | WeekNumberClickEventHandler | |
pagedNavigation | false true Paginate the month navigation displaying the [[numberOfMonths]] at time. | |
required | false true Make the selection required. | |
reverseMonths | false true Render the months in reversed order (when [[numberOfMonths]] is greater than `1`) to display the most recent month first. | |
selected | false true Date (date: Date) => boolean Date[] DateRange DateBefore DateAfter DateInterval DayOfWeek Matcher[] Apply the `selected` modifier to the matching days. The selected day. | |
showOutsideDays | false true Show the outside days. An outside day is a day falling in the next or the previous month. Default is `false`. | |
showWeekNumber | false true Show the week numbers column. Default to `false`. | |
styles | Partial<Omit<StyledElement<CSSProperties>, InternalModifiersElement>> Change the inline styles for each UIElement. | |
toDate | Date The latest day to end the month navigation. | |
today | Date The today’s date. Default is the current date. This Date will get the `today` modifier to style the day. | |
toMonth | Date The latest month to end the month navigation. | |
toYear | number The latest year to end the month navigation. | |
weekStartsOn | 0 1 2 3 4 5 6 The index of the first day of the week (0 - Sunday). Overrides the locale's one. |
aria
roles were added and tested with screen readers