Input OTP: Status
status shows the result of checking the code. loading locks the slots and marks the field busy, error marks every slot invalid and success turns the edges green. Each one is announced. With animated, loading runs a wave, error shakes once and success pops the characters.
Verifying code
This adds the example as components/examples/input-otp/status.tsx, together with the Input OTP component and the HextaUI theme tokens it needs.
pnpm dlx shadcn@latest add https://hextaui.com/r/input-otp-status.jsonTo add only the component, follow the Input OTP installation.
Props in this example
The Input OTP props this example sets, from the API reference.
| Prop | Type | Default |
|---|---|---|
lengthRequired. The number of slots; render the same number of InputOTPSlot parts. | number | – |
variant | "joined" | "separate" | "joined" |
animatedAnimate characters in and out, cascade multi-character input and animate the status. | boolean | false |
statusThe result of checking the code. Loading makes the slots read-only. | "idle" | "loading" | "success" | "error" | – |
defaultValue | string | – |
Every prop is in the Input OTP API reference.
- Joined
- Separate
- Sizes
- Animated
- Controlled
- Form
- With Field
- Invalid
- Letters and numbers
- Masked
- Custom separator
- Disabled
- Right to left
See them all, with keyboard support and accessibility notes, on the Input OTP page.
- MotionThe easing curves, durations and reduced-motion check every component animates with, plus hooks for size morphs and sliding highlights.
- CalendarA date grid for single, range and multiple selection, with sliding months, range previews and touch-sized days.
- CheckboxA checkbox whose check draws in, with indeterminate parents, groups and labels that share its hover.
- ComboboxA filterable select with chips, groups and async results, in a popup that resizes as you type.
- Date pickerA button that opens a calendar in a popover, or a bottom sheet on phones, for single dates and ranges.
- FieldLabels, descriptions and errors wired to their control, with validation states and layouts for forms.