🚀 Socket Launch Week 🚀 Day 5: Introducing Socket Fix.Learn More
Socket
Sign inDemoInstall
Socket

ng-brazil

Package Overview
Dependencies
Maintainers
1
Versions
52
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ng-brazil

3.0.0
latest
Source
npm
Version published
Weekly downloads
574
-26.88%
Maintainers
1
Weekly downloads
 
Created
Source

Ng-Brazil

Contains pipes / directives / validators / mask for brazillian like apps

Build Status

Supports: Angular2 to Angular9

Live example:

This project was tested integrated with the following techs:

  • angular
  • angular-material
  • ionic3 (masks is not fully working, that is an issue for that, but pipes/directives/validators/mask works)

Modules:

  • CPF
  • CNPJ
  • RG
  • Inscrição Estadual
  • Telefone e Celular
  • CEP
  • Currency (Dinheiro)
  • Time (horas e minutos)
  • Number (numero e ponto decimal)
  • Placa de Carro
  • Renavam
  • Título de Eleitor
  • Proceso Jurídico

See the demo working project:

Demo Image

Installation

To install this library with npm, run:

npm install --save ng-brazil js-brasil

Usage

Configuration

Import module in root

import { NgBrazil } from 'ng-brazil' 

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    ....,
    NgBrazil
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

Using Masks

If you would like to use masks install the module:

npm i -S angular2-text-mask text-mask-addons

And import to your main app:

import { TextMaskModule } from 'angular2-text-mask';

imports: [
    ....,
    TextMaskModule,
    NgBrazil
  ], 

Then setup your component:

import { Component } from '@angular/core';
import { MASKS, NgBrazilValidators } from 'ng-brazil';

@Component({
  selector: 'app-root',
  template: '<input type="text" [cpf]>',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  public MASKS = MASKS;
  
  constructor() { 
    this.formFields = {
      estado: [''],
      cpf: ['', [<any>Validators.required, <any>NgBrazilValidators.cpf]],
      cnpj: ['', [<any>Validators.required, <any>NgBrazilValidators.cnpj]],
      rg: ['', [<any>Validators.required, <any>NgBrazilValidators.rg]],
      cep: ['', [<any>Validators.required, <any>NgBrazilValidators.cep]],
      telefone: ['', [<any>Validators.required, <any>NgBrazilValidators.telefone]],
      inscricaoestadual: ['', [<any>Validators.required, <any>NgBrazilValidators.inscricaoestadual(this.estado)]]
    };
    this.form = this.fb.group(this.formFields);
  }

}

Forms and Mask

<input type="text" formControlName="cnpj" cnpj [textMask]="{mask: MASKS.cnpj.textMask}">
<input type="text" formControlName="cpf" cpf [textMask]="{mask: MASKS.cpf.textMask}">
<input type="text" formControlName="rg" rg [textMask]="{mask: MASKS.rg.textMask}"> 
<input type="text" formControlName="inscricaoestadual" inscricaoestadual="mg" [textMask]="{mask: MASKS.inscricaoestadual[estado].textMask}">
<input type="text" formControlName="telefone" telefone #telefone [textMask]="{mask: MASKS.telefone.textMaskFunction}">
<input type="text" formControlName="cep" cep [textMask]="{mask: MASKS.cep.textMask}">

<input type="text" formControlName="number" number [textMask]="{mask: MASKS.number.textMask}">

Pipes

CPF: From 12345678910 to {{'12345678910' | cpf}} <br/>
CNPJ: From 40841253000102 to {{'40841253000102' | cnpj}} <br/>
RG: From MG10111222 to {{'MG10111222' | rg}} <br/>
Inscrição Estadual: From 0018192630048 to {{'0018192630048' | inscricaoestadual: 'mg'}} <br/>
Telefone: From 3199998888 to {{'3199998888' | telefone}} <br/>
Number: From 123.23 to {{'123.23' | numberBrazil}} <br/>
Currency: From 123.23 to {{'123.23' | currencyBrazil}} <br/>
import { Component } from '@angular/core';
import { NgBrDirectives } from 'ng-brazil';

@Component({
  selector: 'app-root',
  template: '<input type="text" [cpf]>',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  inscricaoestadual() {
    const {InscricaoEstadualPipe} = NgBrDirectives;
    return new InscricaoEstadualPipe()
      .transform('625085487072', 'sp');
  }
}

Demo

Demo component files are included in Git Project.

Demo Project: [https://github.com/mariohmol/ng-brazil/tree/master/src/app/demo)

Reference projects:

TODO

There is some issues to work with, check it out

Collaborate

Fork this project then install global libs:

  • npm i -g rimraf ng-packagr @angular/compiler-cli @angular/compiler tslib ngc

Finally working in the project folder:

  • npm i
  • npm run build:lib
  • npm run dist
  • npm run start

License

MIT(./LICENSE)

Keywords

angular

FAQs

Package last updated on 17 May 2023

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