Koori UI
Components

GlassInputOTP

Accessible one-time-password input split into individual slots.

Preview

Usage

import {
  GlassInputOTP,
  GlassInputOTPGroup,
  GlassInputOTPSlot,
  GlassInputOTPSeparator,
} from "koori-ui";
import { useState } from "react";
 
const [value, setValue] = useState("");
 
<GlassInputOTP maxLength={6} value={value} onChange={setValue}>
  <GlassInputOTPGroup>
    <GlassInputOTPSlot index={0} />
    <GlassInputOTPSlot index={1} />
    <GlassInputOTPSlot index={2} />
  </GlassInputOTPGroup>
  <GlassInputOTPSeparator />
  <GlassInputOTPGroup>
    <GlassInputOTPSlot index={3} />
    <GlassInputOTPSlot index={4} />
    <GlassInputOTPSlot index={5} />
  </GlassInputOTPGroup>
</GlassInputOTP>

Props

GlassInputOTP

PropTypeDefaultDescription
maxLengthnumberTotal number of characters
valuestringControlled value
onChange(value: string) => voidFired when the value changes
onComplete(value: string) => voidFired when maxLength is reached
disabledbooleanfalseDisable the input
containerClassNamestringClass applied to the slots container

GlassInputOTPSlot

PropTypeDefaultDescription
indexnumberZero-based index of the slot in the OTP string

All input-otp props are also supported.

On this page