Specialized Input Components

Pre-built input components for common patterns with built-in functionality.

Variants

All four wrappers forward variant / size / borderless to their underlying Input.

Sizes

SearchInput

Input component with search icon and clear functionality.

Input

Value

EmailInput

Input component with email validation and envelope icon.

Input

Value

PasswordInput

Input component with automatic visibility toggle and eye icon.

Input

Value

PhoneInput

Type any format; the bound value is stored as E.164. Dependency-free — it normalises the shape only. Inject parse/format/validate (e.g. libphonenumber-js) for per-country behavior; we don't bundle a phone library.

NumberInput

Enhanced numeric input with formatting, validation, and internationalization support.

Input

Value

NumberInput Features:

  • Currency support: Any currency symbol (prefix)
  • Suffix support: For percentages or units
  • International formatting: Custom decimal and thousands separators
  • Negative modes: Minus sign, parentheses, or both
  • Rounding modes: Round, floor, ceil, or truncate for integers
  • Percent mode: Show 50%, store the fraction 0.5
  • Stepper: ± buttons + Arrow-Up/Down (spinbutton a11y); clamp to min/max; allowNegative (auto-off when min ≥ 0)
  • Live formatting: liveFormat groups as you type (caret-preserved)
  • Smart validation: Position-aware keystroke filtering
  • Consistent formatting: Maintains format during focus/blur (deferred, not while typing)