{renderMonthElement ? (
renderMonthElement({
month,
onMonthSelect,
onYearSelect,
isVisible,
})
) : (
{monthTitle}
)}
{weeks.map((week, i) => (
{week.map((day, dayOfWeek) => renderCalendarDay({
key: dayOfWeek,
day,
daySize,
isOutsideDay: !day || day.month() !== month.month(),
tabIndex: isVisible && isSameDay(day, focusedDate) ? 0 : -1,
isFocused,
onDayMouseEnter,
onDayMouseLeave,
onDayClick,
renderDayContents,
phrases,
modifiers: modifiers[toISODateString(day)],
ariaLabelFormat: dayAriaLabelFormat,
}))}
))}
);
}
}
CalendarMonth.propTypes = propTypes;
CalendarMonth.defaultProps = defaultProps;
export default withStyles(({ reactDates: { color, font, spacing } }) => ({
CalendarMonth: {
background: color.background,
textAlign: 'center',
verticalAlign: 'top',
userSelect: 'none',
},
CalendarMonth_table: {
borderCollapse: 'collapse',
borderSpacing: 0,
},
CalendarMonth_verticalSpacing: {
borderCollapse: 'separate',
},
CalendarMonth_caption: {
color: color.text,
fontSize: font.captionSize,
textAlign: 'center',
paddingTop: spacing.captionPaddingTop,
paddingBottom: spacing.captionPaddingBottom,
captionSide: 'initial',
},
CalendarMonth_caption__verticalScrollable: {
paddingTop: 12,
paddingBottom: 7,
},
}), { pureComponent: typeof React.PureComponent !== 'undefined' })(CalendarMonth);