UNPKG

rsuite

Version:

A suite of react components

109 lines (97 loc) 5.44 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose")); var _propTypes = _interopRequireDefault(require("prop-types")); var _react = _interopRequireWildcard(require("react")); var _dateUtils = require("../utils/dateUtils"); var _CalendarContainer = _interopRequireDefault(require("../Calendar/CalendarContainer")); var _utils = require("../utils"); var Calendar = /*#__PURE__*/_react.default.forwardRef(function (props, ref) { var _props$as = props.as, Component = _props$as === void 0 ? _CalendarContainer.default : _props$as, _props$calendarDate = props.calendarDate, calendarDate = _props$calendarDate === void 0 ? [new Date(), (0, _dateUtils.addMonths)(new Date(), 1)] : _props$calendarDate, _props$format = props.format, format = _props$format === void 0 ? 'yyyy-MM-dd' : _props$format, disabledDate = props.disabledDate, _props$index = props.index, index = _props$index === void 0 ? 0 : _props$index, limitEndYear = props.limitEndYear, onChangeCalendarMonth = props.onChangeCalendarMonth, onChangeCalendarTime = props.onChangeCalendarTime, onToggleMeridian = props.onToggleMeridian, onSelect = props.onSelect, _props$value = props.value, value = _props$value === void 0 ? [] : _props$value, rest = (0, _objectWithoutPropertiesLoose2.default)(props, ["as", "calendarDate", "format", "disabledDate", "index", "limitEndYear", "onChangeCalendarMonth", "onChangeCalendarTime", "onToggleMeridian", "onSelect", "value"]); var onMoveForward = (0, _react.useCallback)(function (nextPageDate) { onChangeCalendarMonth === null || onChangeCalendarMonth === void 0 ? void 0 : onChangeCalendarMonth(index, nextPageDate); }, [index, onChangeCalendarMonth]); var onMoveBackward = (0, _react.useCallback)(function (nextPageDate) { onChangeCalendarMonth === null || onChangeCalendarMonth === void 0 ? void 0 : onChangeCalendarMonth(index, nextPageDate); }, [index, onChangeCalendarMonth]); var handleSelect = (0, _react.useCallback)(function (date, event) { onSelect === null || onSelect === void 0 ? void 0 : onSelect(index, date, event); }, [index, onSelect]); var handleChangeMonth = (0, _react.useCallback)(function (nextPageDate) { onChangeCalendarMonth === null || onChangeCalendarMonth === void 0 ? void 0 : onChangeCalendarMonth(index, nextPageDate); }, [index, onChangeCalendarMonth]); var handleChangeTime = (0, _react.useCallback)(function (nextPageDate) { onChangeCalendarTime === null || onChangeCalendarTime === void 0 ? void 0 : onChangeCalendarTime(index, nextPageDate); }, [index, onChangeCalendarTime]); var handleToggleMeridian = (0, _react.useCallback)(function (event) { onToggleMeridian(index, event); }, [index, onToggleMeridian]); var inSameMonth = (0, _react.useCallback)(function (date) { return (0, _dateUtils.isSameMonth)(date, calendarDate[index]); }, [calendarDate, index]); var getCalendarDate = (0, _react.useCallback)(function () { return calendarDate[index]; }, [calendarDate, index]); var handleMoveForward = (0, _react.useCallback)(function () { onMoveForward === null || onMoveForward === void 0 ? void 0 : onMoveForward((0, _dateUtils.addMonths)(getCalendarDate(), 1)); }, [getCalendarDate, onMoveForward]); var handleMoveBackward = (0, _react.useCallback)(function () { onMoveBackward === null || onMoveBackward === void 0 ? void 0 : onMoveBackward((0, _dateUtils.addMonths)(getCalendarDate(), -1)); }, [getCalendarDate, onMoveBackward]); var disabledMonth = (0, _react.useCallback)(function (date) { return disabledDate === null || disabledDate === void 0 ? void 0 : disabledDate(date, value, _utils.DATERANGE_DISABLED_TARGET.CALENDAR); }, [disabledDate, value]); return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, rest, { format: format, dateRange: value, disabledDate: disabledMonth, inSameMonth: inSameMonth, index: index, limitEndYear: limitEndYear, onChangeMonth: handleChangeMonth, onChangeTime: handleChangeTime, onMoveBackward: handleMoveBackward, onMoveForward: handleMoveForward, onToggleMeridian: handleToggleMeridian, onSelect: handleSelect, calendarDate: getCalendarDate(), ref: ref })); }); Calendar.displayName = 'DateRangePicker.Calendar'; Calendar.propTypes = { value: _propTypes.default.arrayOf(_propTypes.default.instanceOf(Date)), hoverValue: _propTypes.default.arrayOf(_propTypes.default.instanceOf(Date)), calendarDate: _propTypes.default.arrayOf(_propTypes.default.instanceOf(Date)), index: _propTypes.default.number, format: _propTypes.default.string, isoWeek: _propTypes.default.bool, limitEndYear: _propTypes.default.number, classPrefix: _propTypes.default.string, disabledDate: _propTypes.default.func, onSelect: _propTypes.default.func, onMouseMove: _propTypes.default.func, onChangeCalendarMonth: _propTypes.default.func }; var _default = Calendar; exports.default = _default;