mui-extended
Version:
Extended UI Components built on Material UI
23 lines (22 loc) • 1.25 kB
JavaScript
import { __assign, __rest } from "tslib";
import { jsx as _jsx } from "react/jsx-runtime";
import { Autocomplete } from "@mui/material";
import { forwardRef, useMemo } from "react";
import { debugRender } from "../debug";
import { withFormField } from "../FormField";
var ControlledAutocomplete = forwardRef(function AutocompleteEnabledForFormField(_a, ref) {
var name = _a.name, onChange = _a.onChange, onBlur = _a.onBlur, label = _a.label, error = _a.error, helperText = _a.helperText, renderInput = _a.renderInput, props = __rest(_a, ["name", "onChange", "onBlur", "label", "error", "helperText", "renderInput"]);
debugRender(name);
var _onChange = useMemo(function () {
return function (event, value) {
onChange(name, value);
};
}, [onChange, name]);
var _onBlur = useMemo(function () { return function () {
onBlur(name);
}; }, [onBlur, name]);
return (_jsx(Autocomplete, __assign({}, props, { renderInput: function (params) {
return renderInput(__assign(__assign({}, params), { label: label, error: error, helperText: helperText }));
}, onChange: _onChange, onBlur: _onBlur, ref: ref })));
});
export var FormAutocomplete = withFormField(ControlledAutocomplete);