import Row from 'react-bootstrap/Row'; import Col from 'react-bootstrap/Col'; import Container from 'react-bootstrap/Container'; import { canExpand, descriptionId, FormContextType, getTemplate, getUiOptions, ObjectFieldTemplateProps, RJSFSchema, StrictRJSFSchema, titleId, } from '@rjsf/utils'; export default function ObjectFieldTemplate< T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any >({ description, title, properties, required, uiSchema, idSchema, schema, formData, onAddClick, disabled, readonly, registry, }: ObjectFieldTemplateProps) { const uiOptions = getUiOptions(uiSchema); const TitleFieldTemplate = getTemplate<'TitleFieldTemplate', T, S, F>('TitleFieldTemplate', registry, uiOptions); const DescriptionFieldTemplate = getTemplate<'DescriptionFieldTemplate', T, S, F>( 'DescriptionFieldTemplate', registry, uiOptions ); // Button templates are not overridden in the uiSchema const { ButtonTemplates: { AddButton }, } = registry.templates; return ( <> {title && ( (idSchema)} title={title} required={required} schema={schema} uiSchema={uiSchema} registry={registry} /> )} {description && ( (idSchema)} description={description} schema={schema} uiSchema={uiSchema} registry={registry} /> )} {properties.map((element: any, index: number) => ( {element.content} ))} {canExpand(schema, uiSchema, formData) ? ( ) : null} ); }