UNPKG

mui-extended

Version:

Extended UI Components built on Material UI

23 lines (22 loc) 1.25 kB
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);