2.2.0 • Published 4 years ago

ng-pass-otp v2.2.0

Weekly downloads
6
License
MIT
Repository
github
Last release
4 years ago

NgPassOtp

A fully customizable, one-time password input component for the web built with Angular.

GIPHY

Installation

npm i ng-pass-otp

Usage

Add NgPassOtpModule to imports app.module.ts something like

import { BrowserModule } from  '@angular/platform-browser';
import { NgModule } from  '@angular/core';
import { AppComponent } from  './app.component';
import { NgPassOtpModule } from  'ng-pass-otp';

    @NgModule({
    declarations: [AppComponent],
    imports: [ BrowserModule,
    NgPassOtpModule],
    bootstrap: [AppComponent]
    })

Add component to your page:

<ng-pass-otp (onInputChange)="onOtpChange(\$event)" config="{length:5}">

#### For more functionalities, try something like this :

<ng-pass-otp class="otp-input" (onInputChange)="onOtpChange($event)" [config]="config"></ng-pass-otp>

@Component({
 selector: 'app-myapp',
 templateUrl: './myapp.html',
 styleUrls: ['./myapp.scss'],
})
export class MyAppComponent implements OnInit {

otp: number  // it can be type string if you don't set allowNumbersOnly to true

config = {
   allowNumbersOnly: true, // this is false by default
   setTypePassword: true, // this is false by default
   length: 5, // the default is 4
   inputStyles: {
     width: '70px',
     height: '70px',
     border: '2px solid white',
     'border-radius': '10px',
     'font-weight': 'bolder',
     color: 'white',
   },
 };

 constructor() { }

 ngOnInit() { }

 onOtpChange(otp) { this.otp = otp }

 ...
}

API

NameTypeRequiredDefaultDescription
Configobjecttrue{length:4}various configuration options to customize the component
onOtpChangefunctiontrue--Function that will receive the otp
inputClassstringfalse--Class applied to each input
ContainerClassstringfalse--Class applied to container element
containerStylesobjectfalse--Style applied to container element
setTypePasswordboolfalse--set true to set input type to password
allowKeyCodesstring[]false--By default numbers alphabets and _ - are allowed
allowNumbersOnlyboolfalse--set true to allow only numbers as input
otpFormstringfalse--Used to controll the input fields

otpForm Example

import { Component, OnInit } from '@angular/core';
import { FormControl, FormGroup } from '@angular/forms';

export class myComponent implements OnInit {
  otpForm: FormGroup;

  if(otpError) {
    this.otpForm = new FormGroup({});
    for (let index = 0; index < this.config.length; index++) {
      this.otpForm.addControl(
        this.getControlName(index),
        new FormControl()
      );
    }
  }
}

This clears all the input fields

Config options | Name | Type | Required | Default | Description | | ---------------- | -------- | -------- | ------- | ------------------------------------------------- | | length | number | true | 4 | Number of OTP inputs to be rendered. | | inputStyles | object | false | -- | Style applied to each input | | inputClass | string | false | -- | Class applied to each input | | ContainerClass | string | false | -- | Class applied to container element | | containerStyles | object | false | -- | Style applied to container element | | setTypePassword | bool | false | -- | set true to set input type to password | | allowKeyCodes | string[] | false | -- | By default numbers alphabets and _ - are allowed | | allowNumbersOnly | bool | false | -- | set true to allow only numbers as input |

License

MIT

With ❤️! from theHinneh.

2.2.0

4 years ago

2.1.0

4 years ago

2.0.2

6 years ago

2.0.1

6 years ago

2.0.0

6 years ago

1.9.9

6 years ago

1.9.8

6 years ago

1.9.7

6 years ago

1.9.6

6 years ago

1.9.5

6 years ago

1.9.4

6 years ago

1.9.3

6 years ago

1.9.2

6 years ago

1.9.1

6 years ago

1.9.0

6 years ago

1.8.0

6 years ago

1.7.0

6 years ago

1.6.0

6 years ago

1.5.0

6 years ago

1.4.0

6 years ago

1.3.0

6 years ago

1.2.0

6 years ago

1.1.0

6 years ago

1.0.0

6 years ago