@atlaskit/calendar
Version:
An interactive calendar for date selection experiences.
40 lines (39 loc) • 1.28 kB
JavaScript
import React, { memo } from 'react';
import Box from '@atlaskit/primitives/box';
import DateComponent from './date';
import WeekdayGrid from './week-day-grid';
const WeekDays = /*#__PURE__*/memo(function WeekDays({
weeks,
handleClickDay,
monthsLong,
shouldSetFocus,
tabIndex,
testId
}) {
return /*#__PURE__*/React.createElement(Box, {
role: "rowgroup",
testId: testId && `${testId}--month`
}, weeks.map((week, i) => /*#__PURE__*/React.createElement(WeekdayGrid, {
key: i,
testId: testId && `${testId}--week`
}, week.values.map(weekDay => /*#__PURE__*/React.createElement(DateComponent, {
key: `${week.id}-${weekDay.id}`,
isDisabled: weekDay.isDisabled,
isFocused: weekDay.isFocused,
isToday: weekDay.isToday,
dayLong: weekDay.weekDayName,
month: weekDay.month,
monthLong: monthsLong[weekDay.month - 1],
onClick: handleClickDay,
isPreviouslySelected: weekDay.isPreviouslySelected,
isSelected: weekDay.isSelected,
isSibling: weekDay.isSiblingMonth,
year: weekDay.year,
shouldSetFocus: shouldSetFocus,
tabIndex: tabIndex,
testId: testId
}, weekDay.day)))));
});
WeekDays.displayName = 'WeekDays';
// eslint-disable-next-line @repo/internal/react/require-jsdoc
export default WeekDays;