User Interface medium complexity frontend
1
Dependencies
0
Dependents
2
Entities
0
Integrations

Description

Next.js page component providing a structured demo booking form for prospective organizations. Collects contact name, role, organization name, email, phone, preferred demo timing, and optional free-text notes. Implements React Hook Form with Zod validation for immediate client-side feedback, semantic HTML with proper label associations, visible focus indicators, and WCAG 2.2 AA compliant error messaging.

Feature: Booking Form

demo-booking-form

Responsibilities

  • Render form fields with proper labels, placeholders, and validation feedback
  • Enforce client-side validation via Zod schemas before submission
  • Display success/error states after form submission
  • Ensure WCAG 2.2 AA compliance including focus indicators, contrast, and screen reader support
  • Include honeypot field for spam prevention

Interfaces

renderBookingForm()
handleSubmit(formData: BookingFormData)
validateField(fieldName: string, value: string)
displaySuccessState()
displayErrorState(error: string)
resetForm()

Relationships

Dependencies (1)

Components this component depends on

Related Data Entities (2)

Data entities managed by this component