# Field with OTP input

> Field with OTP input

A shadcn/ui block from the [@reui](https://reui.io) registry, listed on [shadcn.exchange](https://shadcn.exchange/r/reui/c-field-6).

- Page, with a live preview: https://shadcn.exchange/r/reui/c-field-6
- Screenshot: https://abzjhwgwpdpz7ua5.public.blob.vercel-storage.com/shots/reui/c-field-6-light-e7c527ab0f35a1e8.png
- Registry item: https://reui.io/r/new-york-v4/c-field-6.json
- Listed: 2026-10-13, source last changed 2026-10-13

## Install

```bash
npx shadcn@latest add https://reui.io/r/new-york-v4/c-field-6.json
```

Run it in a project that has shadcn/ui set up. It adds the files below and installs what they depend on.

## Dependencies

- Registry items: `field`, `input-otp`, `native-select`

## Files

### `c-field-6.tsx`

```tsx
import {
  Field,
  FieldDescription,
  FieldGroup,
  FieldLabel,
} from "@/components/ui/field"
import {
  InputOTP,
  InputOTPGroup,
  InputOTPSeparator,
  InputOTPSlot,
} from "@/components/ui/input-otp"
import {
  NativeSelect,
  NativeSelectOption,
} from "@/components/ui/native-select"

export function Pattern() {
  return (
    <div className="mx-auto w-full max-w-xs">
      <FieldGroup>
        <Field>
          <FieldLabel htmlFor="verification-method">
            Verification Method
          </FieldLabel>
          <NativeSelect id="verification-method" defaultValue="email">
            <NativeSelectOption value="email">Email Address</NativeSelectOption>
            <NativeSelectOption value="sms">
              SMS Text Message
            </NativeSelectOption>
            <NativeSelectOption value="app">
              Authenticator App
            </NativeSelectOption>
          </NativeSelect>
          <FieldDescription>
            Choose how you want to receive your security code.
          </FieldDescription>
        </Field>
        <Field>
          <FieldLabel htmlFor="otp-code">Security Code</FieldLabel>
          <InputOTP id="otp-code" maxLength={6}>
            <InputOTPGroup>
              <InputOTPSlot index={0} />
              <InputOTPSlot index={1} />
              <InputOTPSlot index={2} />
            </InputOTPGroup>
            <InputOTPSeparator />
            <InputOTPGroup>
              <InputOTPSlot index={3} />
              <InputOTPSlot index={4} />
              <InputOTPSlot index={5} />
            </InputOTPGroup>
          </InputOTP>
          <FieldDescription>
            Enter the 6-digit code to verify your identity.
          </FieldDescription>
        </Field>
      </FieldGroup>
    </div>
  )
}
```
