UNPKG

@sanity/form-builder

Version:
49 lines (48 loc) 1.85 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CalendarMonth = CalendarMonth; var _ui = require("@sanity/ui"); var _dateFns = require("date-fns"); var _react = _interopRequireDefault(require("react")); var _CalendarDay = require("./CalendarDay"); var _constants = require("./constants"); var _utils = require("./utils"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function CalendarMonth(props) { return /*#__PURE__*/_react.default.createElement(_ui.Box, { "aria-hidden": props.hidden || false, "data-ui": "CalendarMonth" }, /*#__PURE__*/_react.default.createElement(_ui.Grid, { gap: 1, style: { gridTemplateColumns: 'repeat(7, minmax(44px, 46px))' } }, _constants.WEEK_DAY_NAMES.map(weekday => /*#__PURE__*/_react.default.createElement(_ui.Box, { key: weekday, paddingY: 2 }, /*#__PURE__*/_react.default.createElement(_ui.Text, { size: 1, weight: "medium", style: { textAlign: 'center' } }, weekday))), (0, _utils.getWeeksOfMonth)(props.date).map((week, weekIdx) => week.days.map((date, dayIdx) => { var focused = props.focused && (0, _dateFns.isSameDay)(date, props.focused); var selected = props.selected && (0, _dateFns.isSameDay)(date, props.selected); var isToday = (0, _dateFns.isSameDay)(date, new Date()); var isCurrentMonth = props.focused && (0, _dateFns.isSameMonth)(date, props.focused); return /*#__PURE__*/_react.default.createElement(_CalendarDay.CalendarDay, { date: date, focused: focused, isCurrentMonth: isCurrentMonth, isToday: isToday // eslint-disable-next-line react/no-array-index-key , key: "".concat(weekIdx, "-").concat(dayIdx), onSelect: props.onSelect, selected: selected }); })))); }