UNPKG

formik-material-ui-pickers

Version:

![](https://github.com/stackworx/formik-material-ui/workflows/Build%20formik-material-ui-pickers/badge.svg)[![license](https://badgen.now.sh/badge/license/MIT)](./LICENSE)

25 lines (22 loc) 1.78 kB
import { __rest, __assign } from './_virtual/_tslib.js'; import * as React from 'react'; import { DatePicker as DatePicker$1 } from '@material-ui/pickers'; import { getIn } from 'formik'; import { createErrorHandler } from './errorHandler.js'; function fieldToDatePicker(_a) { var _b = _a.field; _b.onChange; var fieldOnBlur = _b.onBlur, field = __rest(_b, ["onChange", "onBlur"]), _c = _a.form, isSubmitting = _c.isSubmitting, touched = _c.touched, errors = _c.errors, setFieldValue = _c.setFieldValue, setFieldError = _c.setFieldError, disabled = _a.disabled, onChange = _a.onChange, onBlur = _a.onBlur, onError = _a.onError, props = __rest(_a, ["field", "form", "disabled", "onChange", "onBlur", "onError"]); var fieldError = getIn(errors, field.name); var showError = getIn(touched, field.name) && !!fieldError; return __assign(__assign({ error: showError, helperText: showError ? fieldError : props.helperText, disabled: disabled !== null && disabled !== void 0 ? disabled : isSubmitting, onChange: onChange !== null && onChange !== void 0 ? onChange : function (date) { setFieldValue(field.name, date); }, onBlur: onBlur !== null && onBlur !== void 0 ? onBlur : function (e) { fieldOnBlur(e !== null && e !== void 0 ? e : field.name); }, onError: onError !== null && onError !== void 0 ? onError : createErrorHandler(fieldError, field.name, setFieldError) }, field), props); } function DatePicker(_a) { var children = _a.children, props = __rest(_a, ["children"]); return (React.createElement(DatePicker$1, __assign({}, fieldToDatePicker(props)), children)); } DatePicker.displayName = 'FormikMaterialUIDatePicker'; export { DatePicker, fieldToDatePicker }; //# sourceMappingURL=DatePicker.js.map