Input
Text fields and multi-line Textarea: sizes, color schemes, masks (Input), validation, and native HTML attributes. Reference — header Documentation → Input.
Examples: basics
Field demo
colorScheme and size come from library presets; pair with Typography for labels.
Examples: variant & InputGroup
Variants
default keeps elevation; outline is flat and transparent; filled uses a soft tint.
InputGroup
Shared chrome and focus ring; pass isInvalid on the group when the inner field is in error so the outer border matches.
Examples: sizes & colorScheme
Sizes sm / md / lg and colorScheme accents on focus ring color (border uses palette 500).
Examples: states & validation
isRequired maps to required + aria-required; errorMessage renders below and sets aria-describedby.
Examples: native types
Native type and attributes pass through (password, number, search, maxLength, autoComplete, etc.).
Examples: clear & character count
Clear uses data-testid="kv-input-clear"; localize via clearAriaLabel. Counter reads displayed length (after mask processing).
Examples: floating label animation
The native placeholder is hidden; an associated label (htmlFor) carries the same text for screen readers.
Examples: Textarea
forwardRef targets the native textarea; pairs with FormControl the same way as Input.
Examples: mask & composition
Built-in mask (no extra deps). Compose inside Box for card-style layouts.
Controlled: mask filters digits; value syncs with React state.
Stored: (empty)
Groups of four digits; spaces come from the mask pattern.