import FormControl from '@mui/material/FormControl'; import Typography from '@mui/material/Typography'; import { FieldTemplateProps, FormContextType, RJSFSchema, StrictRJSFSchema, getTemplate, getUiOptions, } from '@rjsf/utils'; /** The `FieldTemplate` component is the template used by `SchemaField` to render any field. It renders the field * content, (label, description, children, errors and help) inside of a `WrapIfAdditional` component. * * @param props - The `FieldTemplateProps` for this component */ export default function FieldTemplate< T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any, >(props: FieldTemplateProps) { const { id, children, classNames, style, disabled, displayLabel, hidden, label, onKeyRename, onKeyRenameBlur, onRemoveProperty, readonly, required, rawErrors = [], errors, help, description, rawDescription, schema, uiSchema, registry, } = props; const uiOptions = getUiOptions(uiSchema); const WrapIfAdditionalTemplate = getTemplate<'WrapIfAdditionalTemplate', T, S, F>( 'WrapIfAdditionalTemplate', registry, uiOptions, ); if (hidden) { return
{children}
; } const isCheckbox = uiOptions.widget === 'checkbox'; return ( {children} {displayLabel && !isCheckbox && rawDescription ? ( {description} ) : null} {errors} {help} ); }