voo_forms
library
Classes
CaseFormatter
Text input formatter for converting text case
CompoundValidation <T >
Validation rule for combining multiple validation rules
CreditCardFormatter
Credit card number formatter (XXXX XXXX XXXX XXXX)
CurrencyFormatter
Text input formatter for currency fields with automatic formatting
CustomValidation <T >
Validation rule for custom validation logic
DateFormatter
Text input formatter for date fields with customizable format
DateRangeValidation
Validation rule for date range
EmailValidation
Validation rule for email format
FormFieldConfig
Configuration for a form field used by the controller
InternationalPhoneFormatter
Text input formatter for international phone numbers
MaskFormatter
Text input formatter that applies a mask pattern to user input
MaxLengthValidation
Validation rule for maximum string length
MaxValueValidation <T extends num >
Validation rule for maximum numeric value
MinLengthValidation
Validation rule for minimum string length
MinValueValidation <T extends num >
Validation rule for minimum numeric value
PatternFormatter
Text input formatter that applies custom patterns using regex mappings
PatternValidation
Validation rule for custom pattern matching
PercentageFormatter
Text input formatter for percentage values
PhoneNumberFormatter
Phone number formatter (US format: (XXX) XXX-XXXX)
PhoneValidation
Validation rule for phone number format
PositiveNumberFormatter
Positive number formatter
RangeValidation <T extends num >
Validation rule for numeric value range
RequiredValidation <T >
Validation rule for required fields
SimpleCurrencyFormatter
Simple currency formatter that follows Flutter's default text field behavior
Uses intl package for proper locale-aware currency formatting
SSNFormatter
Text input formatter for US Social Security Numbers (SSN)
StrictCurrencyFormatter
Strict currency formatter
StrictIntegerFormatter
Integer-only formatter
StrictNumberFormatter
Strict number formatter that only allows valid numeric input
Prevents users from typing invalid characters in number fields
StrictPercentageFormatter
Strict percentage formatter (0-100)
UrlValidation
Validation rule for URL format
VooAsyncDropdownField <T >
Async dropdown field that loads options asynchronously
Extends VooFieldBase to inherit all common field functionality
VooAsyncMultiSelectField <T >
Async multi-select field that loads options asynchronously
Extends VooFieldBase to inherit all common field functionality
VooBooleanField
Boolean field molecule that composes atoms to create a complete switch field
Uses VooSwitchInput atom for the actual switch control
VooCheckboxField
Checkbox field molecule that composes atoms to create a complete checkbox field
Uses VooCheckboxInput atom for the actual checkbox control
VooCurrencyField
Currency field molecule with proper currency formatting
Displays values with currency symbols, thousand separators, and decimal places
Supports multiple currency formats (USD, EUR, GBP, JPY)
VooDateField
Date field molecule that composes atoms to create a complete date picker field
Extends VooFieldBase to inherit all common field functionality
VooDateFieldButton
Date field button molecule that provides date selection via a button press
Shows selected date or placeholder text on the button
Extends VooFieldBase to inherit all common field functionality
VooDecimalField
Decimal field molecule - extends VooNumberField with decimal-specific defaults
Allows configurable number of decimal places
VooDropdownField <T >
Dropdown field molecule that provides a searchable dropdown selection widget
Extends VooFieldBase to inherit all common field functionality
VooEmailField
Email field molecule - extends VooTextField with email-specific defaults
Automatically sets email keyboard type and adds email icon
VooFieldColumn
Column container for form fields - arranges fields vertically
Implements VooFormFieldWidget so it can be used in VooForm fields list
Allows nesting and grouping of fields with column layout
Follows atomic design and KISS principle
VooFieldLayout
Configuration for how a field should be displayed in form layouts
VooFieldOption <T >
VooFieldOptions
Field options that can be applied to form fields
Uses VooDesignSystemData from voo_ui_core for sizing and spacing
VooFieldRow
Row container for form fields - arranges fields horizontally
Implements VooFormFieldWidget so it can be used in VooForm fields list
Allows nesting and grouping of fields with row layout
Follows atomic design and KISS principle
VooFile
Entity representing a file that can be either from a URL or uploaded
Supports both existing files (from URL) and newly uploaded files (PlatformFile)
VooFileField
File field molecule that handles file selection
Supports mobile and web platforms via file_picker
Supports both URL-based files and newly uploaded files
Supports drag and drop on web and desktop platforms
Follows atomic design and KISS principle
VooForm
Simple, atomic form widget that manages field collection and validation
Layout, actions, and callbacks are handled by VooFormPageBuilder
Follows KISS principle and atomic design
VooFormatters
Collection of commonly used text input formatters
VooFormButton
Atomic form button widget that provides consistent button styling
Follows atomic design and KISS principle
VooFormConfig
Configuration for form styling and behavior
VooFormController
Form controller that manages form state without depending on domain entities
VooFormField <T >
VooFormFieldAction
Atomic form field action button that opens a form in different ways based on screen size
VooFormFieldWidget
Base interface for all form field widgets
This allows VooForm and VooFormBuilder to accept any field widget
without needing factories or complex type hierarchies
VooFormPageBuilder
Page builder for VooForm that handles layout, actions, and callbacks
This is a higher-level organism that composes VooForm with additional UI elements
VooFormScope
InheritedWidget to provide form-level configuration to all fields
VooFormSection
A container widget for organizing form fields into logical sections
Provides visual grouping with optional title, description, and styling
VooFormSectionDivider
Section divider for forms - provides visual separation between form sections
Implements VooFormFieldWidget so it can be used in VooForm fields list
Follows atomic design and KISS principle
VooFormTheme
Provides Material 3 theming utilities for forms
Integrates with voo_ui_core design system
VooIntegerField
Integer field molecule - extends VooNumberField with integer-only constraints
Does not allow decimal input
VooListField <T >
List field molecule that displays a list of items
IMPORTANT: This widget does NOT manage state internally
The developer is responsible for managing items via callbacks
VooListFieldItem
Optional item wrapper for VooListField that provides consistent item styling
Developers can use this or create their own widget
Following atomic design and KISS principle
VooMultilineField
Multiline text field molecule - extends VooTextField with multiline defaults
Automatically configures for multiline text input
VooMultiSelectField <T >
Multi-select dropdown field that allows selecting multiple options
Extends VooFieldBase to inherit all common field functionality
VooNumberField
Number field molecule that composes atoms to create a complete numeric input field
Supports both integer and decimal numbers with configurable constraints
VooOption
A standardized option widget for dropdowns and multi-selects
Provides a consistent design system for list options
VooPasswordField
Password field molecule - extends VooTextField with password-specific defaults
Automatically obscures text and adds lock icon
VooPercentageField
Percentage field molecule - extends VooNumberField with percentage-specific defaults
Automatically constrains values between 0 and 100 with percent icon
VooPhoneField
Enhanced phone field with country code selection and formatting
VooSidePanelRoute <T >
Custom route that displays content as a side panel on XL screens
Follows atomic design and KISS principle
VooSimpleOption
Simplified option for basic use cases
VooTextField
Text field molecule that composes atoms to create a complete text input field
Extends VooFieldBase to inherit all common field functionality
VooValidationRule <T >
Base class for all validation rules
VooValidator
Simple validation API with commonly used validators
ZipCodeFormatter
Text input formatter for US ZIP codes