UNPKG

material-ui-pickers-fork

Version:

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

207 lines (171 loc) 6.96 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.DateTimePickerWrapper = 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 _withStyles = _interopRequireDefault(require("@material-ui/core/styles/withStyles")); var _propTypes2 = _interopRequireDefault(require("../constants/prop-types")); var _ModalWrapper = _interopRequireDefault(require("../wrappers/ModalWrapper")); var _DateTimePicker = _interopRequireDefault(require("./DateTimePicker")); var _BasePicker = _interopRequireDefault(require("../_shared/BasePicker")); var DateTimePickerWrapper = function DateTimePickerWrapper(props) { var value = props.value, format = props.format, autoOk = props.autoOk, openTo = props.openTo, classes = props.classes, minDate = props.minDate, maxDate = props.maxDate, initialFocusedDate = props.initialFocusedDate, showTabs = props.showTabs, autoSubmit = props.autoSubmit, disablePast = props.disablePast, disableFuture = props.disableFuture, leftArrowIcon = props.leftArrowIcon, rightArrowIcon = props.rightArrowIcon, dateRangeIcon = props.dateRangeIcon, timeIcon = props.timeIcon, renderDay = props.renderDay, ampm = props.ampm, shouldDisableDate = props.shouldDisableDate, animateYearScrolling = props.animateYearScrolling, forwardedRef = props.forwardedRef, allowKeyboardControl = props.allowKeyboardControl, other = (0, _objectWithoutPropertiesLoose2.default)(props, ["value", "format", "autoOk", "openTo", "classes", "minDate", "maxDate", "initialFocusedDate", "showTabs", "autoSubmit", "disablePast", "disableFuture", "leftArrowIcon", "rightArrowIcon", "dateRangeIcon", "timeIcon", "renderDay", "ampm", "shouldDisableDate", "animateYearScrolling", "forwardedRef", "allowKeyboardControl"]); 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, pick12hOr24hFormat = _ref.pick12hOr24hFormat; return _react.default.createElement(_ModalWrapper.default, (0, _extends2.default)({ ref: forwardedRef, dialogContentClassName: classes.dialogContent, disableFuture: disableFuture, disablePast: disablePast, maxDate: maxDate, minDate: minDate, onAccept: handleAccept, onChange: handleTextFieldChange, onClear: handleClear, onDismiss: handleDismiss, onSetToday: handleSetTodayDate, value: value, isAccepted: isAccepted, format: pick12hOr24hFormat(utils.dateTime12hFormat, utils.dateTime24hFormat) }, other), _react.default.createElement(_DateTimePicker.default, { allowKeyboardControl: allowKeyboardControl, ampm: ampm, animateYearScrolling: animateYearScrolling, autoSubmit: autoSubmit, date: date, dateRangeIcon: dateRangeIcon, disableFuture: disableFuture, disablePast: disablePast, leftArrowIcon: leftArrowIcon, maxDate: maxDate, minDate: minDate, onChange: handleChange, openTo: openTo, renderDay: renderDay, rightArrowIcon: rightArrowIcon, shouldDisableDate: shouldDisableDate, showTabs: showTabs, timeIcon: timeIcon })); }); }; exports.DateTimePickerWrapper = DateTimePickerWrapper; DateTimePickerWrapper.propTypes = { classes: _propTypes.default.object.isRequired, /** DateTimepicker value */ value: _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 minute selection */ autoOk: _propTypes.default.bool, /** Move to the next part of date on select (year -> date -> hour -> minute) */ autoSubmit: _propTypes.default.bool, /** Disable future dates */ disableFuture: _propTypes.default.bool, /** Disable past dates */ disablePast: _propTypes.default.bool, /** 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, /** Show date/time tabs */ showTabs: _propTypes.default.bool, /** Left arrow icon */ leftArrowIcon: _propTypes.default.node, /** Right arrow icon */ rightArrowIcon: _propTypes.default.node, /** Date tab icon */ dateRangeIcon: _propTypes.default.node, /** Time tab icon */ timeIcon: _propTypes.default.node, /** Custom renderer for day renderDay(date, selectedDate, dayInCurrentMonth) */ renderDay: _propTypes.default.func, /** 12h/24h view for hour selection clock */ ampm: _propTypes.default.bool, /** Disable specific date */ shouldDisableDate: _propTypes.default.func, /** Enable animated scrolling to current year */ animateYearScrolling: _propTypes.default.bool, /** Open directly to particular view */ openTo: _propTypes.default.oneOf(['year', 'date', 'hour', 'minutes']), /** Enables keyboard listener for moving between days in calendar */ allowKeyboardControl: _propTypes.default.bool, forwardedRef: _propTypes.default.func }; DateTimePickerWrapper.defaultProps = { value: new Date(), format: undefined, autoOk: false, autoSubmit: true, openTo: 'date', disableFuture: false, disablePast: false, minDate: '1900-01-01', maxDate: '2100-01-01', initialFocusedDate: undefined, showTabs: true, leftArrowIcon: 'keyboard_arrow_left', rightArrowIcon: 'keyboard_arrow_right', dateRangeIcon: 'date_range', timeIcon: 'access_time', renderDay: undefined, ampm: true, shouldDisableDate: undefined, animateYearScrolling: false, forwardedRef: undefined, allowKeyboardControl: true }; var styles = { dialogContent: { width: 310 } }; var EnhancedWrapper = (0, _withStyles.default)(styles, { name: 'MuiPickerDTPickerModal' })(DateTimePickerWrapper); var _default = _react.default.forwardRef(function (props, ref) { return _react.default.createElement(EnhancedWrapper, (0, _extends2.default)({}, props, { forwardedRef: ref })); }); exports.default = _default;