@material-ui/lab
Version:
Material-UI Lab - Incubator for Material-UI React components.
67 lines (62 loc) • 2.98 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
import * as React from 'react';
import PickersCalendarHeader from '../DayPicker/PickersCalendarHeader';
import DateRangeDay from '../DateRangePickerDay/DateRangePickerDay';
import { useUtils } from '../internal/pickers/hooks/useUtils';
import PickersCalendar from '../DayPicker/PickersCalendar';
import { defaultMinDate, defaultMaxDate } from '../internal/pickers/constants/prop-types';
import { isWithinRange, isStartOfRange, isEndOfRange } from '../internal/pickers/date-utils';
import { doNothing } from '../internal/pickers/utils';
var onlyDateView = ['date'];
/**
* @ignore - internal component.
*/
export function DateRangePickerViewMobile(props) {
var changeMonth = props.changeMonth,
date = props.date,
leftArrowButtonProps = props.leftArrowButtonProps,
leftArrowButtonText = props.leftArrowButtonText,
leftArrowIcon = props.leftArrowIcon,
__minDate = props.minDate,
__maxDate = props.maxDate,
onChange = props.onChange,
rightArrowButtonProps = props.rightArrowButtonProps,
rightArrowButtonText = props.rightArrowButtonText,
rightArrowIcon = props.rightArrowIcon,
_props$renderDay = props.renderDay,
_renderDay = _props$renderDay === void 0 ? function (_, dayProps) {
return /*#__PURE__*/React.createElement(DateRangeDay, dayProps);
} : _props$renderDay,
other = _objectWithoutProperties(props, ["changeMonth", "date", "leftArrowButtonProps", "leftArrowButtonText", "leftArrowIcon", "minDate", "maxDate", "onChange", "rightArrowButtonProps", "rightArrowButtonText", "rightArrowIcon", "renderDay"]);
var utils = useUtils();
var minDate = __minDate || utils.date(defaultMinDate);
var maxDate = __maxDate || utils.date(defaultMaxDate);
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(PickersCalendarHeader, _extends({
openView: "date",
views: onlyDateView,
onMonthChange: changeMonth,
leftArrowButtonText: leftArrowButtonText,
leftArrowButtonProps: leftArrowButtonProps,
leftArrowIcon: leftArrowIcon,
rightArrowButtonProps: rightArrowButtonProps,
rightArrowButtonText: rightArrowButtonText,
rightArrowIcon: rightArrowIcon,
minDate: minDate,
maxDate: maxDate
}, other)), /*#__PURE__*/React.createElement(PickersCalendar, _extends({}, other, {
date: date,
onChange: onChange,
onFocusedDayChange: doNothing,
renderDay: function renderDay(day, _, DayProps) {
return _renderDay(day, _extends({
isPreviewing: false,
isStartOfPreviewing: false,
isEndOfPreviewing: false,
isHighlighting: isWithinRange(utils, day, date),
isStartOfHighlighting: isStartOfRange(utils, day, date),
isEndOfHighlighting: isEndOfRange(utils, day, date)
}, DayProps));
}
})));
}