Input
Simple standalone input field (Base UI Input). Inside a Field it is the
field's control: the FieldLabel targets it, FieldDescription/FieldError
describe it, and it inherits the field's invalid state (aria-invalid).
hasError forces error styling and aria-invalid on a standalone input.
For inputs with icons, addons, or buttons, use InputGroup.
Usage
Best practices
For icons, addons, prefixes, or trailing buttons use
InputGroup, notInputplus manually absolute-positioned decorations.Inside a
Field, let invalid state cascade - omithasError; passhasErroronly to force error styling on a standaloneInput. An invalidFieldkeepsaria-invalidon its control even withhasError={false}.Give every
Inputan associated label - inside aFieldaFieldLabeltargets it with no ids to wire; standalone, point aLabel'shtmlForat itsid. A placeholder is not an accessible name.sizedefaults to"xl"(48px); pass a responsive object like{ base: "sm", md: "xl" }rather than swapping components per breakpoint.
Props
Also exports
- type
InputProps - type
InputSize - const
standaloneInputVariants
Composition
Builds on
Used by