Installation
npx shadcn@latest add @iconiq/inputProps
Input
Input with a spring-animated caret.
valuestringdefaultValuestringonValueChange(value: string, eventDetails: InputChangeEventDetails) => voidonChangeReact.ChangeEventHandler<HTMLInputElement>typeReact.HTMLInputTypeAttributeDefault text
labelReact.ReactNodelabelClassNamestringplaceholderstringDefault input
fontSizenumberspring{ stiffness?: number; damping?: number; mass?: number }wrapperClassNamestringidstringclassNamestring | ((state: InputState) => string)styleReact.CSSProperties | ((state: InputState) => React.CSSProperties)renderReact.ReactElement | ((props: React.ComponentProps<'input'>) => React.ReactElement)disabledbooleanDefault false
Built on `@base-ui/react/input` and works with Base UI `Field` for labels, descriptions, and validation state.
Uses a hidden measurement span to position the caret across fonts, password bullets, and horizontal scroll.
Respects `prefers-reduced-motion` by snapping the caret spring when motion is reduced.
Standard input attributes such as `autoComplete`, `name`, `readOnly`, `required`, `aria-*`, and `data-*` are forwarded to the native element.
Registry bundle
Install the exact registry entry shown on the right when you want the component file and its declared runtime dependencies together.
Dependencies: @base-ui/react/input, motion.
This page documents the Base UI install only. Input uses the Base UI Input primitive for value handling and Field integration.
The generated registry file is /r/input.json.