UNPKG

material-ui-pickers-fork

Version:

React components, that implements material design pickers for material-ui v1

169 lines (139 loc) 5.87 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.DatePickerWrapper = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose")); var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _ModalWrapper = _interopRequireDefault(require("../wrappers/ModalWrapper")); var _DatePicker = _interopRequireDefault(require("./DatePicker")); var _propTypes2 = _interopRequireDefault(require("../constants/prop-types")); var _BasePicker = _interopRequireDefault(require("../_shared/BasePicker")); var DatePickerWrapper = function DatePickerWrapper(props) { var allowKeyboardControl = props.allowKeyboardControl, animateYearScrolling = props.animateYearScrolling, autoOk = props.autoOk, disableFuture = props.disableFuture, disablePast = props.disablePast, format = props.format, forwardedRef = props.forwardedRef, labelFunc = props.labelFunc, leftArrowIcon = props.leftArrowIcon, maxDate = props.maxDate, minDate = props.minDate, initialFocusedDate = props.initialFocusedDate, onChange = props.onChange, openToYearSelection = props.openToYearSelection, renderDay = props.renderDay, rightArrowIcon = props.rightArrowIcon, shouldDisableDate = props.shouldDisableDate, value = props.value, other = (0, _objectWithoutPropertiesLoose2.default)(props, ["allowKeyboardControl", "animateYearScrolling", "autoOk", "disableFuture", "disablePast", "format", "forwardedRef", "labelFunc", "leftArrowIcon", "maxDate", "minDate", "initialFocusedDate", "onChange", "openToYearSelection", "renderDay", "rightArrowIcon", "shouldDisableDate", "value"]); return _react.default.createElement(_BasePicker.default, props, function (_ref) { var date = _ref.date, utils = _ref.utils, handleAccept = _ref.handleAccept, handleChange = _ref.handleChange, handleClear = _ref.handleClear, handleDismiss = _ref.handleDismiss, handleSetTodayDate = _ref.handleSetTodayDate, handleTextFieldChange = _ref.handleTextFieldChange, isAccepted = _ref.isAccepted; return _react.default.createElement(_ModalWrapper.default, (0, _extends2.default)({ disableFuture: disableFuture, disablePast: disablePast, format: format || utils.dateFormat, labelFunc: labelFunc, maxDate: maxDate, minDate: minDate, onAccept: handleAccept, onChange: handleTextFieldChange, onClear: handleClear, onDismiss: handleDismiss, onSetToday: handleSetTodayDate, ref: forwardedRef, value: value, isAccepted: isAccepted }, other), _react.default.createElement(_DatePicker.default, { date: date, allowKeyboardControl: allowKeyboardControl, animateYearScrolling: animateYearScrolling, disableFuture: disableFuture, disablePast: disablePast, leftArrowIcon: leftArrowIcon, maxDate: maxDate, minDate: minDate, onChange: handleChange, openToYearSelection: openToYearSelection, renderDay: renderDay, rightArrowIcon: rightArrowIcon, shouldDisableDate: shouldDisableDate })); }); }; exports.DatePickerWrapper = DatePickerWrapper; DatePickerWrapper.propTypes = { /** Datepicker value */ value: _propTypes2.default.date, /** Min selectable date */ minDate: _propTypes2.default.date, /** Max selectable date */ maxDate: _propTypes2.default.date, /** Initial focused date when calendar opens, if no value is provided */ initialFocusedDate: _propTypes2.default.date, /** Date format string for input */ format: _propTypes.default.string, /** Callback firing when date accepted */ onChange: _propTypes.default.func.isRequired, /** Auto accept date on selection */ autoOk: _propTypes.default.bool, /** Disable past dates */ disablePast: _propTypes.default.bool, /** Disable future dates */ disableFuture: _propTypes.default.bool, /** To animate scrolling to current year (with scrollIntoView) */ animateYearScrolling: _propTypes.default.bool, /** Open datepicker from year selection */ openToYearSelection: _propTypes.default.bool, /** Allow to specify dynamic label for text field labelFunc(date, invalidLabel) */ labelFunc: _propTypes.default.func, /** Left arrow icon */ leftArrowIcon: _propTypes.default.node, /** Right arrow icon */ rightArrowIcon: _propTypes.default.node, /** Custom renderer for day renderDay(date, selectedDate, dayInCurrentMonth) */ renderDay: _propTypes.default.func, /** Disable specific date */ shouldDisableDate: _propTypes.default.func, /** Enables keyboard listener for moving between days in calendar */ allowKeyboardControl: _propTypes.default.bool, forwardedRef: _propTypes.default.func }; DatePickerWrapper.defaultProps = { value: new Date(), format: undefined, autoOk: false, minDate: '1900-01-01', maxDate: '2100-01-01', initialFocusedDate: undefined, disableFuture: false, disablePast: false, animateYearScrolling: false, openToYearSelection: false, allowKeyboardControl: true, leftArrowIcon: 'keyboard_arrow_left', rightArrowIcon: 'keyboard_arrow_right', renderDay: undefined, labelFunc: undefined, shouldDisableDate: undefined, forwardedRef: undefined }; var _default = _react.default.forwardRef(function (props, ref) { return _react.default.createElement(DatePickerWrapper, (0, _extends2.default)({}, props, { forwardedRef: ref })); }); exports.default = _default;