Skip to content

yjose/input-otp-native

Repository files navigation

Input OTP Native

Input OTP Native πŸ”

✨ One time passcode Input For React Native/Expo. Unstyled and fully customizable. ✨

Test status version downloads license Star on GitHub


Features

  • πŸ“± Built specifically for React Native/Expo
  • 🎨 Fully customizable styling with render props ( supports nativewind )
  • πŸ“‹ Four copy paste styles (Apple, Stripe, Revolt, Dashed)
  • πŸ§ͺ 100% test coverage
  • πŸ”„ Easily animated with react-native-reanimated
  • 🌐 Web support with using otp-input
## npm
npm install input-otp-native

## yarn
yarn add input-otp-native

#pnpm
pnpm add input-otp-native

Documentation

API Reference

OTPInput Props

Prop Type Default Description
maxLength number Required Number of OTP digits
render (props: RenderProps) => ReactNode Required Render function for OTP slots
value string undefined Controlled value of the input
onChange (value: string) => void undefined Callback when value changes
onComplete (value: string) => void undefined Callback when all digits are filled
containerStyle ViewStyle undefined Style for the container
pattern string undefined Regex pattern for input validation
textAlign 'left' | 'center' | 'right' 'left' Text alignment within input
pasteTransformer (pasted: string) => string undefined Transform pasted text

RenderProps

Prop Type Description
slots SlotProps[] Array of slot objects to render
isFocused boolean Whether the input is focused

SlotProps

Prop Type Description
char string | null Character in the slot
isActive boolean Whether the slot is active
hasFakeCaret boolean Whether to show fake caret
placeholderChar string | null Placeholder character

Web support

The library is mainly inspired by otp-input and has a similar API, so we recommend using it on the web.

We can easily create the same component for web and create a new file for it (example/src/examples/apple.web.tsx)

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT


Credits

About

πŸ” OTP input for React Native/Expo App: unstyled, copy-paste examples, fully tested

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •