bellhop by actabl

When to use

Use verification inputs for one-time codes, PINs, and multi-digit authentication.

Two-Factor Authentication

Enter verification codes sent via SMS or email.

One-Time Passwords

Input time-based codes from authenticator apps.

PIN Entry

Secure PIN code input for authentication or validation.

When not to use

  • For regular text input—use input-text
  • For passwords—use input-password
  • When users need to see or edit the full code—use input-text
  • For verification codes longer than 8 digits

Digit Count

Supports 4-digit and 6-digit configurations.

4 Digits

Standard for SMS verification codes

6 Digits

Common for authenticator apps (TOTP)

Sizes

Three sizes to fit different layouts and importance levels.

Small

Compact for mobile or tight spaces

Medium

Standard size for most use cases

Large

Prominent for primary authentication flows

States

Verification inputs support various states for different scenarios.

Error

Shows when code is invalid

Disabled

Non-interactive, reduced opacity

Without Separator

Continuous digit input without visual separator

Best Practices

Follow these guidelines when using verification inputs.

Do

  • Use clear labels indicating code source (SMS, email, app)
  • Provide helpful hint text with instructions
  • Auto-focus first digit on page load
  • Auto-advance to next digit after entry
  • Show clear error messages for invalid codes
  • Allow paste for copying codes
  • Provide resend code option

Don't

  • Don't make users manually click each digit field
  • Don't block paste functionality
  • Don't hide which field has focus
  • Don't use for long text input
  • Don't forget to handle backspace correctly

Common Use Cases

Examples of where verification inputs work best.

SMS Verification

4-digit code sent via text message

Email Verification

Confirm email ownership with emailed code

Authenticator App

6-digit TOTP from Google Authenticator or similar

Login Security

Additional verification layer for sensitive actions

Password Reset

Verify identity before allowing password change

Transaction Confirmation

Confirm high-value or sensitive transactions

Accessibility

Verification inputs are designed to be accessible to all users.

Keyboard Navigation

  • Number Keys - Enter digits
  • Backspace - Delete and move to previous digit
  • Arrow Left/Right - Navigate between digits
  • Cmd/Ctrl+V - Paste complete code
  • Auto-focus and auto-advance for smooth entry

Screen Reader

  • Clear label describes purpose
  • Current field position announced
  • Error states are communicated
  • Hint text provides guidance
  • Required state is indicated

Visual Design

  • Clear focus indicator on active digit
  • Sufficient size for easy tapping (mobile)
  • High contrast for all states
  • Error state uses color and message
  • Separator aids visual parsing

Resources

Design and development resources for the Input Verification component.

Figma

Available
View in Figma →

Web Components/Angular

Available
View in Storybook →

React

Available
View in Storybook →