Input OTP
フォーカス、貼り付け、自動移動は input-otp に任せ、表示スロットだけをニューモーフィズム表面で装飾します。複数の枠が見えてもアクセシビリティツリーとフォーム値は1つの入力のままです。
@neumorphism-ui/input-otpプレビュー
インストール
インストール: input-otp
npx shadcn@latest add @neumorphism-ui/input-otpCLI が npm 依存関係、base token、utils、コンポーネントソースを順番に処理します。
この Registry を初めて使う場合は、先に namespace の設定 を完了してください。
使い方
Import
Input OTP の import コード
"use client";
import {
InputOTP,
InputOTPGroup,
InputOTPSeparator,
InputOTPSlot,
} from "@/components/ui/input-otp";Example
Input OTP の使用コード
export default function Example() {
return <InputOTP maxLength={6} defaultValue="123456" aria-label="認証コード">
<InputOTPGroup>
<InputOTPSlot index={0} />
<InputOTPSlot index={1} />
<InputOTPSlot index={2} />
</InputOTPGroup>
<InputOTPSeparator />
<InputOTPGroup>
<InputOTPSlot index={3} />
<InputOTPSlot index={4} />
<InputOTPSlot index={5} />
</InputOTPGroup>
</InputOTP>;
}API リファレンス
| コンポーネント | プロパティ | 型 | デフォルト | 説明 |
|---|---|---|---|---|
InputOTP | maxLength必須 | number | — | 許可する認証コードの長さを指定します。 |
InputOTP | value / defaultValue | string | — | controlled または初期 uncontrolled のコード値を指定します。 |
InputOTP | onChange | (value: string) => void | — | コード全体の値が変わると呼び出されます。 |
InputOTP | containerClassName | string | — | スロットグループを囲む外側のコンテナを拡張します。 |
InputOTPSlot | index必須 | number | — | コード全体のどの位置をこの表示スロットに出すか指定します。 |
アクセシビリティ
- 01
InputOTP に認証コードの目的を説明する aria-label または関連付けた label を指定します。
- 02
複数スロットが見えても、文字ごとに textbox を公開せず実入力は1つに保ちます。
- 03
貼り付けやキーボード入力を妨げず、エラーは別の説明テキストに関連付けます。