v0.1 public beta early access on GitHub
Home / Components / pin-pad

PIN PadiOS

Numeric keypad with spring digit readout — haptic key press, error shake on the dot row, biometric slot for Face ID pairing

$ npx lumioui add pin-pad
import { PinPad } from "@/components/ui/pin-pad/pin-pad";
Props9
value string Currently entered digits (controlled).
onValueChange (digits: string) => void
maxLength? 4 | 6 PIN length the dots represent. Default 4.
onComplete? (pin: string) => void Full-PIN callback — fires the moment the last digit lands.
onBiometric? () => void Show the bottom-left biometric key (Face ID / fingerprint).
biometricIcon? IconName
error? boolean Error state — shakes the dot row and clears on next keypress.
disabled? boolean Lockout state — keys go dim and inert.
className? string
PIN Padunlock.tsx
pin-pad/variants/unlock.tsx open

Numeric keypad with spring digit readout — haptic key press, error shake on the dot row, biometric slot for Face ID pairing