--- /** * DEFAULT CONTROL COMPONENT */ import type { Radio, Dropdown, TextArea } from '@astro-reactive/common'; import type { FormControl } from '../core/form-control'; import DropdownControl from './controls/Dropdown.astro'; import TextAreaControl from './controls/TextArea.astro'; import Input from './controls/Input.astro'; import RadioGroup from './controls/RadioGroup.astro'; import Errors from './Errors.astro'; import Label from './Label.astro'; export interface Props { control: FormControl; showValidationHints: boolean; showErrors?: boolean; // feature flag for showing validation errors readOnly?: boolean; } const { control, showValidationHints, showErrors = false, readOnly = false } = Astro.props; const hasError: boolean = control.errors?.some((error) => error.category === 'error'); const hasWarn: boolean = control.errors?.some((error) => error.category === 'warn'); const hasInfo: boolean = control.errors?.some((error) => error.category === 'info'); ---