import React from 'react'; import PropTypes from 'prop-types'; import { getYear, getMonth, getMonthStart, } from '@wojtekmaj/date-utils'; import Flex from '../Flex'; import { getDayOfWeek } from '../shared/dates'; import { formatWeekday, formatShortWeekday as defaultFormatShortWeekday } from '../shared/dateFormatter'; import { isCalendarType } from '../shared/propTypes'; const className = 'react-calendar__month-view__weekdays'; export default function Weekdays(props) { const { calendarType, formatShortWeekday = defaultFormatShortWeekday, locale, onMouseLeave, } = props; const anyDate = new Date(); const beginOfMonth = getMonthStart(anyDate); const year = getYear(beginOfMonth); const monthIndex = getMonth(beginOfMonth); const weekdays = []; for (let weekday = 1; weekday <= 7; weekday += 1) { const weekdayDate = new Date( year, monthIndex, weekday - getDayOfWeek(beginOfMonth, calendarType), ); const abbr = formatWeekday(locale, weekdayDate); weekdays.push(
{formatShortWeekday(locale, weekdayDate).replace('.', '')}
, ); } return ( {weekdays} ); } Weekdays.propTypes = { calendarType: isCalendarType.isRequired, formatShortWeekday: PropTypes.func, locale: PropTypes.string, onMouseLeave: PropTypes.func, };