import { memo, useContext, useState, } from "react"; import { TextareaAutosize } from "@mui/base/TextareaAutosize"; import { inputProps } from "../interface/inputfieldProps"; import { getFieldName } from "../permissions/getFieldName"; import { DataContext } from "../context/Context"; import { withJsonFormsControlProps } from "@jsonforms/react"; import { FormControl, InputLabel } from "@mui/material"; import ComponentWrapper from "../common/ComponentWrapper"; import { getComponentProps } from "../common/getComponentProps"; import Helpertext from "../common/Helpertext"; import { useDebouncedChange } from "@jsonforms/material-renderers"; const Textarea = memo(function (props: inputProps) { const { data, uischema, path, handleChange, schema, rootSchema, errors } = props; const uischemaData = uischema?.config?.main; const { pageName, permissions, theme } = useContext(DataContext); const eventToValue = (ev: any) => ev.target.value === "" ? undefined : ev.target.value; const [inputText, onChange] = useDebouncedChange( handleChange, "", data, path, eventToValue ); const fieldName = getFieldName(path); return ( {(uischemaData?.heading || uischemaData.label) && ( {uischemaData?.heading || uischemaData.label} )} onChange(event)} /> ); }); export default withJsonFormsControlProps(Textarea);