Input OTP: Joined
The default look. Each <InputOTPGroup /> joins its slots into one strip with shared edges.
This adds the example as components/examples/input-otp/basic.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-basic.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 | – |
idGoes on the first slot, so a label's htmlFor points at it. | string | – |
Every prop is in the Input OTP API reference.
- Separate
- Sizes
- Animated
- Status
- 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.