OtpInput
Data Input
input-otp 기반의 비공식 인증번호 입력 컴포넌트.
Usage
SMS·이메일 인증번호처럼 고정 자릿수 코드를 입력받는 폼
import
import
OtpInput 하나만 가져오면 OtpInput.Root · OtpInput.Slot · OtpInput.Separator 를 그 아래에서 쓸 수 있다.
예제를 복사해 쓸 때 필요한 준비
• @mildang/styled-system 은 이 저장소에서 Panda 가 생성하는 산출물이다. 저장소 안에서는 turbo run ship 이후 쓸 수 있고, 패키지 소비자는 자기 Panda 산출물이나 다른 레이아웃 수단으로 바꿔야 한다.
Anatomy
tsx
부품
필수 여부
반복
위치
OtpInput.Root
OtpInput.Slot
직접 배치하지 않는다 — Root가 slots 배열을 순회하며 자동으로 렌더한다.
OtpInput.Separator
직접 배치하지 않는다 — separator prop으로 내용을 바꾸거나 null로 숨긴다.
- 실사용에서는 OtpInput.Root 하나만 쓰면 된다 — Slot·Separator는 Root가 내부에서 자동으로 조합한다.
- Slot·Separator는 커스텀 렌더링이 필요할 때 재사용할 수 있도록 노출된 하위 컴포넌트다.
API Reference
OtpInput.Slot
문자 한 칸을 보여주는 슬롯이다. Root가 내부에서 자동으로 렌더한다.
Prop
Type
Default
string
지정 안 함
boolean
false
OtpInputSize
md
OtpInputStatus
default
OtpInput.Separator
슬롯 그룹 사이 구분자다. Root가 groupSize 기준으로 자동으로 렌더한다.
Prop
Type
Default
string
지정 안 함
boolean
false
OtpInputStatus
default
예제
기본 사용
6자리 인증번호를 입력받는 기본형이다. 입력값을 아래에 함께 보여준다.
Sizes
sm·md·lg 세 크기의 슬롯을 나란히 비교한다.
코드
상태
disabled·error·warning·success 네 상태를 나란히 비교한다.
코드
4자리 코드
maxLength를 4로 줄이고 groupSize를 해제한 짧은 코드 형태다.
구분선 없이
separator를 null로 주어 슬롯을 구분선 없이 붙여서 보여준다.
전체 너비
fullWidth로 컨테이너 너비에 맞춰 슬롯이 늘어난다.