--- import type { Submit } from '@astro-reactive/common'; import { FormGroup, FormControl } from '../core'; import FieldSet from './FieldSet.astro'; import Field from './Field.astro'; import ShortUniqueId from 'short-unique-id'; export interface Props { formGroups: FormGroup | FormGroup[]; readOnly?: boolean; showValidationHints?: boolean; submitControl?: Submit; theme?: 'light' | 'dark'; } const { submitControl, formGroups = [], theme, showValidationHints = false, readOnly = false, } = Astro.props; const uid = new ShortUniqueId({ length: 9 }); const formTheme = theme ?? 'light'; const formName = Array.isArray(formGroups) ? null : formGroups?.name || null; const formId = Array.isArray(formGroups) ? uid() : formGroups?.id || null; ---
{ Array.isArray(formGroups) ? formGroups?.map((group) => (
)) : formGroups?.controls.map((control) => ( )) } { submitControl && ( ) }