formik-mui-lab
Version:
 [](./LICENSE)
26 lines (23 loc) • 2.29 kB
JavaScript
import { __rest, __assign } from './_virtual/_tslib.js';
import MuiStaticDateTimePicker from '@mui/lab/StaticDateTimePicker';
import TextField from '@mui/material/TextField';
import { getIn } from 'formik';
import * as React from 'react';
import { createErrorHandler } from './errorHandler.js';
function fieldToStaticDateTimePicker(_a) {
var _b = _a.field; _b.onChange; var field = __rest(_b, ["onChange"]), _c = _a.form, isSubmitting = _c.isSubmitting, touched = _c.touched, errors = _c.errors, setFieldValue = _c.setFieldValue, setFieldError = _c.setFieldError, setFieldTouched = _c.setFieldTouched, _d = _a.textField, _e = _d === void 0 ? {} : _d, helperText = _e.helperText, onBlur = _e.onBlur, textField = __rest(_e, ["helperText", "onBlur"]), disabled = _a.disabled, label = _a.label, onChange = _a.onChange, onError = _a.onError, renderInput = _a.renderInput, props = __rest(_a, ["field", "form", "textField", "disabled", "label", "onChange", "onError", "renderInput"]);
var fieldError = getIn(errors, field.name);
var showError = getIn(touched, field.name) && !!fieldError;
return __assign(__assign({ renderInput: renderInput !== null && renderInput !== void 0 ? renderInput : (function (params) { return (React.createElement(TextField, __assign({}, params, { error: showError, helperText: showError ? fieldError : helperText, label: label, onBlur: onBlur !== null && onBlur !== void 0 ? onBlur : function () {
setFieldTouched(field.name, true, true);
} }, textField))); }), disabled: disabled !== null && disabled !== void 0 ? disabled : isSubmitting, onChange: onChange !== null && onChange !== void 0 ? onChange : function (date) {
setFieldTouched(field.name, true, false);
setFieldValue(field.name, date, true);
}, onError: onError !== null && onError !== void 0 ? onError : createErrorHandler(fieldError, field.name, setFieldError) }, field), props);
}
function StaticDateTimePicker(props) {
return React.createElement(MuiStaticDateTimePicker, __assign({}, fieldToStaticDateTimePicker(props)));
}
StaticDateTimePicker.displayName = 'FormikMUIStaticDateTimePicker';
export { StaticDateTimePicker, fieldToStaticDateTimePicker };
//# sourceMappingURL=StaticDateTimePicker.js.map