formik-material-ui-pickers
Version:
[](./LICENSE)
25 lines (22 loc) • 1.87 kB
JavaScript
import { __rest, __assign } from './_virtual/_tslib.js';
import * as React from 'react';
import { KeyboardDatePicker as KeyboardDatePicker$1 } from '@material-ui/pickers';
import { getIn } from 'formik';
import { createErrorHandler } from './errorHandler.js';
function fieldToKeyboardDatePicker(_a) {
var disabled = _a.disabled, _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, onChange = _a.onChange, onBlur = _a.onBlur, onError = _a.onError, props = __rest(_a, ["disabled", "field", "form", "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 KeyboardDatePicker(_a) {
var children = _a.children, props = __rest(_a, ["children"]);
return (React.createElement(KeyboardDatePicker$1, __assign({}, fieldToKeyboardDatePicker(props)), children));
}
KeyboardDatePicker.displayName = 'FormikMaterialUIKeyboardDatePicker';
export { KeyboardDatePicker, fieldToKeyboardDatePicker };
//# sourceMappingURL=KeyboardDatePicker.js.map