mui-extended
Version:
Extended UI Components built on Material UI
23 lines (22 loc) • 1.02 kB
JavaScript
import { __assign, __rest } from "tslib";
import { jsx as _jsx } from "react/jsx-runtime";
import { TextField } from "@mui/material";
import { forwardRef, useMemo } from "react";
import { debugRender } from "../debug";
import { withFormField } from "../FormField";
var ControlledTextField = forwardRef(function ControlledTextField(_a, ref) {
var onChange = _a.onChange, onBlur = _a.onBlur, props = __rest(_a, ["onChange", "onBlur"]);
debugRender(props.name);
var _onChange = useMemo(function () { return function (event) {
onChange(event.target.name, event.target.value);
}; },
// eslint-disable-next-line react-hooks/exhaustive-deps
[]);
var _onBlur = useMemo(function () { return function (event) {
onBlur(event.target.name);
}; },
// eslint-disable-next-line react-hooks/exhaustive-deps
[]);
return (_jsx(TextField, __assign({}, props, { onChange: _onChange, onBlur: _onBlur, ref: ref })));
});
export var FormTextField = withFormField(ControlledTextField);