Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

react-native-otp-inputs

Package Overview
Dependencies
Maintainers
2
Versions
47
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-native-otp-inputs

One-time password inputs built in pure JS for React-Native

  • 4.0.0-alpha.2
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
8K
increased by17.36%
Maintainers
2
Weekly downloads
 
Created
Source

react-native-otp-inputs

CircleCI

codecov

npm npm

Demo

Demo

Description

react-native-otp-inputs is fully customizable, pure JavaScript package, that provides solution for One-time password feature with user friendly events like moving to previous input with backspace or going to next when filled in. It supports pasting and otp code into inputs

Installation

React-Native versioninstallation
>= 0.53.0 < 0.57.0yarn add react-native-otp-inputs@1.1.0
<= 0.57.0yarn add react-native-otp-inputs@3.2.2
<= 0.59.0yarn add react-native-otp-inputs

Android additional steps

Android setup requires react-native-keyevent package to work properly.

  1. Add react-native-keyevent to your dependencies with
yarn add react-native-keyevent
  1. If you are using react-native < 0.60.0 then follow these steps
  2. If you are using react-native >= 0.60.0 then add this to your dependencies in react-native.config.js
'react-native-keyevent': {
      platforms: {
        ios: null,
      },
    },
  1. Then follow configuration for Android here (If you have problems, check Example App configuration)

Migration to v4

Basic usage

import React, { Component } from 'react';
import { View } from 'react-native';
import OtpInputs from 'react-native-otp-inputs';

export default class App extends Component {
  render() {
    return (
      <View style={styles.container}>
        <OtpInputs handleChange={code => console.log(code)} numberOfInputs={6} />
      </View>
    );
  }
}

API

MethodTypeRequiredDefaultDescription
autoCapitalizestringfalse'none'
clearTextOnFocusbooleanfalsefalse
handleChangefunctiontrueconsole.logReturns otp code.
keyboardTypestringtrue'phone-pad'
numberOfInputsnumbertrue (1..6)4Inputs count to render.
secureTextEntrybooleanfalsefalse
selectTextOnFocusbooleanfalsetrue iOS Only
testIDPrefixstringfalseotpInput-${inputIndex}Prefix for testID.
isRTLbooleanfalsefalsePreferably I18nManager.isRTL.
placeholderstringfalsenonePlaceholder for the input boxes.
stylesstyle (object)falsedefaultApplied to whole container.
focusStylesstyle (object)falsedefaultApplied to the input on focus.
inputStylesstyle(object)falsedefaultApplied to single input.
inputContainerStylesstyle (object)falsedefaultApplied to each input container.
...restTextInputPropsTextInput

Methods

Those can be called on ref:

MethodDescription
resetReset inputs and returns to handleChange method empty string

Example

import React, { Component } from 'react';
import { Button, View } from 'react-native';
import OtpInputs from 'react-native-otp-inputs';

export default class App extends Component {
  otpRef = React.createRef();

  resetOTP = () => {
    this.otpRef.current.reset();
  };

  render() {
    return (
      <View style={styles.container}>
        <Button title="Reset" onPress={this.resetOTP} />
        <OtpInputs ref={this.otpRef} handleChange={code => console.log(code)} numberOfInputs={6} />
      </View>
    );
  }
}

Contributors

Great thanks to : @kantorm.

Keywords

FAQs

Package last updated on 14 Oct 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc