vera logoVera UI
ComponentsForm Components

Introduction

Essential building blocks for collecting user input and managing form interactions. All form components are built with validation, accessibility, and user experience in mind.

Components

Input Controls

  • Button - Interactive buttons with multiple variants and states
  • Input - Text input fields with validation support
  • Textarea - Multi-line text input areas
  • Select - Dropdown selection components
  • Checkbox - Boolean input controls
  • Radio Group - Single-choice selection groups
  • Switch - Toggle switches for binary choices

Advanced Controls

Form Management

  • Form - Complete form wrapper with validation
  • Label - Accessible form field labels
  • Form Field - Structured form field container

Form Patterns

Basic Form Structure

import { 
  Form, 
  FormField, 
  FormItem, 
  FormLabel, 
  FormControl, 
  FormMessage,
  Input,
  Button 
} from '@helgadigitals/vera-ui'

function ContactForm() {
  return (
    <Form>
      <FormField name="email">
        <FormItem>
          <FormLabel>Email</FormLabel>
          <FormControl>
            <Input type="email" placeholder="Enter your email" />
          </FormControl>
          <FormMessage />
        </FormItem>
      </FormField>
      <Button type="submit">Submit</Button>
    </Form>
  )
}

Form Validation

All form components integrate with popular validation libraries like React Hook Form and Zod for robust form validation and error handling.

Accessibility Features

  • Keyboard Navigation: All form controls support proper keyboard interaction
  • Screen Readers: Semantic HTML with appropriate ARIA attributes
  • Focus Management: Clear focus indicators and logical tab order
  • Error Handling: Accessible error messages linked to form controls
  • Required Fields: Clear indication of required vs optional fields