import React, { useMemo } from 'react'; import classNames from 'classnames'; import { type FormFieldInputProps } from '../../types'; import styles from './obs-group.scss'; import { ErrorFallback, FormFieldRenderer, isGroupField } from '../renderer/field/form-field-renderer.component'; import { useFormProviderContext } from '../../provider/form-provider'; import { FormGroup } from '@carbon/react'; import { useTranslation } from 'react-i18next'; export const ObsGroup: React.FC = ({ field, ...restProps }) => { const { t } = useTranslation(); const { formFieldAdapters, formFields } = useFormProviderContext(); const content = useMemo( () => field.questions .map((child) => formFields.find((field) => field.id === child.id)) .filter((child) => !child.isHidden) .map((child, index) => { const key = `${child.id}_${index}`; if (child.id === field.id) { return ( ); } if (child.type === 'obsGroup' && isGroupField(child.questionOptions.rendering)) { return (
); } else if (formFieldAdapters[child.type]) { return (
); } }), [field, formFields], ); return (
{content.length > 1 ? ( {content} ) : ( content )}
); }; export default ObsGroup;