@material-ui/lab
Version:
Material-UI Lab - Incubator for Material-UI React components.
66 lines (61 loc) • 2.75 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
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';
const onlyDateView = ['date'];
/**
* @ignore - internal component.
*/
export function DateRangePickerViewMobile(props) {
const {
changeMonth,
date,
leftArrowButtonProps,
leftArrowButtonText,
leftArrowIcon,
// eslint-disable-next-line @typescript-eslint/naming-convention
minDate: __minDate,
// eslint-disable-next-line @typescript-eslint/naming-convention
maxDate: __maxDate,
onChange,
rightArrowButtonProps,
rightArrowButtonText,
rightArrowIcon,
renderDay = (_, dayProps) => /*#__PURE__*/React.createElement(DateRangeDay, dayProps)
} = props,
other = _objectWithoutPropertiesLoose(props, ["changeMonth", "date", "leftArrowButtonProps", "leftArrowButtonText", "leftArrowIcon", "minDate", "maxDate", "onChange", "rightArrowButtonProps", "rightArrowButtonText", "rightArrowIcon", "renderDay"]);
const utils = useUtils();
const minDate = __minDate || utils.date(defaultMinDate);
const 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: (day, _, DayProps) => 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))
})));
}