formik-mui
Version:
51 lines (50 loc) • 1.23 kB
JavaScript
import { jsx } from "react/jsx-runtime";
import MuiAutocomplete from "@mui/material/Autocomplete";
import invariant from "tiny-warning";
function fieldToAutocomplete({
disabled,
field,
form: { isSubmitting, setFieldValue },
type,
onChange,
onBlur,
freeSolo,
...props
}) {
if (process.env.NODE_ENV !== "production") {
if (props.multiple) {
invariant(
Array.isArray(field.value),
`value for ${field.name} is not an array, this can caused unexpected behaviour`
);
}
}
const {
onChange: _onChange,
onBlur: _onBlur,
multiple: _multiple,
...fieldSubselection
} = field;
return {
freeSolo,
onBlur: onBlur ?? function(event) {
field.onBlur(event ?? field.name);
},
onChange: onChange ?? function(_event, value) {
setFieldValue(field.name, value);
},
disabled: disabled ?? isSubmitting,
loading: isSubmitting,
...fieldSubselection,
...props
};
}
function Autocomplete(props) {
return /* @__PURE__ */ jsx(MuiAutocomplete, { ...fieldToAutocomplete(props) });
}
Autocomplete.displayName = "FormikMaterialUIAutocomplete";
export {
Autocomplete,
fieldToAutocomplete
};
//# sourceMappingURL=Autocomplete.js.map