import _extends from "@babel/runtime/helpers/esm/extends"; import * as React from 'react'; import useCellClassName from "../../hooks/useCellClassName"; import RangeContext from "../../RangeContext"; import { formatValue, isSameMonth } from "../../utils/dateUtil"; import PanelBody from "../PanelBody"; export var MONTH_COL_COUNT = 3; var MONTH_ROW_COUNT = 4; function MonthBody(props) { var prefixCls = props.prefixCls, locale = props.locale, value = props.value, viewDate = props.viewDate, generateConfig = props.generateConfig, cellRender = props.cellRender; var _React$useContext = React.useContext(RangeContext), rangedValue = _React$useContext.rangedValue, hoverRangedValue = _React$useContext.hoverRangedValue; var cellPrefixCls = "".concat(prefixCls, "-cell"); var getCellClassName = useCellClassName({ cellPrefixCls: cellPrefixCls, value: value, generateConfig: generateConfig, rangedValue: rangedValue, hoverRangedValue: hoverRangedValue, isSameCell: function isSameCell(current, target) { return isSameMonth(generateConfig, current, target); }, isInView: function isInView() { return true; }, offsetCell: function offsetCell(date, offset) { return generateConfig.addMonth(date, offset); } }); var monthsLocale = locale.shortMonths || (generateConfig.locale.getShortMonths ? generateConfig.locale.getShortMonths(locale.locale) : []); var baseMonth = generateConfig.setMonth(viewDate, 0); var getCellNode = cellRender ? function (date, wrapperNode) { return cellRender(date, { originNode: wrapperNode, locale: locale, today: generateConfig.getNow(), type: 'month' }); } : undefined; return /*#__PURE__*/React.createElement(PanelBody, _extends({}, props, { rowNum: MONTH_ROW_COUNT, colNum: MONTH_COL_COUNT, baseDate: baseMonth, getCellNode: getCellNode, getCellText: function getCellText(date) { return locale.monthFormat ? formatValue(date, { locale: locale, format: locale.monthFormat, generateConfig: generateConfig }) : monthsLocale[generateConfig.getMonth(date)]; }, getCellClassName: getCellClassName, getCellDate: generateConfig.addMonth, titleCell: function titleCell(date) { return formatValue(date, { locale: locale, format: 'YYYY-MM', generateConfig: generateConfig }); } })); } export default MonthBody;