@sanity/form-builder
Version:
Sanity form builder
49 lines (48 loc) • 1.85 kB
JavaScript
"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
});
}))));
}