hurbis-ui-mascara-v1
Version:
Biblioteca contendo componentes visuais de máscaras, validadores e formatadores para AngularJS em TypeScript.
187 lines (186 loc) • 7.42 kB
TypeScript
/// <reference types="angular" />
declare namespace hurbis.ui.mascara {
class Modulo {
static DEFINICAO: comum.IModuloDefinicao;
static inicializar(): void;
}
}
declare namespace hurbis.ui.mascara {
interface ITokenConfiguracao {
pattern?: RegExp;
opcional?: boolean;
recursivo?: boolean;
escape?: boolean;
transformar?: (caracter: string) => string;
_default?: string;
}
interface IOpcaoMascara {
reverso?: boolean;
utilizarPadrao?: boolean;
}
interface IMascaraResultado {
resultado: string;
valido: boolean;
}
/**
* Adaptações do componente StringMask
* Copyright (c) 2014 Daniel Campos (The Darc - darc.tec@gmail.com)
*/
class Formatador {
private mascara;
private opcoes;
constructor(mascara: string, opcoes?: IOpcaoMascara);
private tokens;
private escape(mascara, posicao);
private calcularQuantidadeNumeroOpcional(mascara, texto);
private concatenarCaracter(texto, caracter, options, token);
existeTokenDefinido(token: string): boolean;
private existeToken(mascara, posicao, incremento);
private existeTokenRecursivo(mascara, posicao, incremento);
private inserirCaracter(texto, caracter, posicao);
processar(texto: string): IMascaraResultado;
aplicar(texto: string): string;
validar(texto: string): boolean;
static processar(texto: string, mascara: string, opcoes: IOpcaoMascara): IMascaraResultado;
static aplicar(texto: string, mascara: string, opcoes: IOpcaoMascara): string;
static validar(texto: string, mascara: string, opcoes: IOpcaoMascara): boolean;
}
}
declare namespace hurbis.ui.mascara {
class Generica implements IMascara {
private mascara;
private formatadorMascara;
constructor(mascara: string);
converterParaModel(texto: string, manterMascara?: boolean): string;
limparTexto(texto: string): string;
formatar(texto: string): string;
configurarValidador(scope: ng.IScope, attributes: angular.IAttributes, controller: angular.INgModelController): void;
}
}
declare namespace hurbis.ui.mascara {
interface IMascaraDataConfiguracao {
formato?: string;
}
class Data implements IMascara {
private mascara;
private formatadorMascara;
constructor(configuracao?: IMascaraDataConfiguracao);
converterParaModel(texto: string, manterMascara?: boolean): Date;
limparTexto(texto: string): string;
formatar(valor: any): string;
configurarValidador(scope: ng.IScope, attributes: angular.IAttributes, controller: angular.INgModelController): void;
}
}
declare namespace hurbis.ui.mascara {
class Hora implements IMascara {
private mascara;
private formatadorMascara;
constructor(reduzida?: boolean);
converterParaModel(texto: string, manterMascara?: boolean): string;
limparTexto(texto: string): string;
formatar(texto: string): string;
configurarValidador(scope: ng.IScope, attributes: angular.IAttributes, controller: angular.INgModelController): void;
}
}
declare namespace hurbis.ui.mascara {
interface IMascaraNumeroConfiguracao {
quantidadeCasaDecimal?: number;
separadorMilhar?: string;
separadorDecimal?: string;
simbolo?: string;
exibeSimboloAposNumero?: boolean;
permiteNegativo?: boolean;
exibeSimbolo?: boolean;
exibeSeparadorMilhar?: boolean;
}
class Numero implements IMascara {
private configuracao;
private mascara;
private formatadorMascara;
private configuracaoLocal;
private separadorSimbolo;
private backspacePressed;
constructor($locale: angular.ILocaleService, configuracao?: IMascaraNumeroConfiguracao);
private configurarMascara(model?);
limparTexto(texto: string): string;
private formatadorModel;
private formatarValorNegativo(texto, model);
converterParaModel(texto: string, manterMascara?: boolean): number;
formatar(valor: any): string;
configurarValidador(scope: ng.IScope, attributes: angular.IAttributes, controller: angular.INgModelController): void;
}
}
declare namespace hurbis.ui.mascara {
class CPFCNPJ implements IMascara {
private tipo;
private mascaraCPF;
private mascaraCNPJ;
private formatadorMascaraCPF;
private formatadorMascaraCNPJ;
constructor(tipo?: string);
limparTexto(texto: string): string;
formatar(valor: string): string;
converterParaModel(texto: string, manterMascara?: boolean): string;
configurarValidador(scope: ng.IScope, attributes: angular.IAttributes, controller: angular.INgModelController): void;
}
}
declare namespace hurbis.ui.mascara {
class CartaoCredito implements IMascara {
private mascara;
private mascaraAmex;
private formatadorMascara;
private formatadorMascaraAmex;
constructor();
limparTexto(texto: string): string;
formatar(valor: string): string;
converterParaModel(texto: string, manterMascara?: boolean): string;
configurarValidador(scope: ng.IScope, attributes: angular.IAttributes, controller: angular.INgModelController): void;
}
}
declare namespace hurbis.ui.mascara {
class CEP implements IMascara {
private mascara;
private formatadorMascara;
constructor();
converterParaModel(texto: string, manterMascara?: boolean): string;
limparTexto(texto: string): string;
formatar(texto: string): string;
configurarValidador(scope: ng.IScope, attributes: angular.IAttributes, controller: angular.INgModelController): void;
}
}
declare namespace hurbis.ui.mascara {
class Telefone implements IMascara {
private mascara8Digitos;
private mascara9Digitos;
private mascara0800;
constructor();
limparTexto(texto: string): string;
formatar(valor: string): string;
converterParaModel(texto: string, manterMascara?: boolean): string;
configurarValidador(scope: ng.IScope, attributes: angular.IAttributes, controller: angular.INgModelController): void;
}
}
declare namespace hurbis.ui.mascara {
interface IMascara {
formatar: (valor: any) => string;
converterParaModel: (texto: string, manterMascara: boolean) => any;
limparTexto: (texto: string) => string;
configurarValidador: (scope: ng.IScope, attributes: angular.IAttributes, controller: angular.INgModelController) => void;
}
interface IMascaraOpcao {
tipo: string;
manterMascara?: boolean;
numero?: IMascaraNumeroConfiguracao;
data?: IMascaraDataConfiguracao;
}
class Mascara implements angular.IDirective {
private $locale;
constructor($locale: angular.ILocaleService);
restrict: string;
require: string;
priority: number;
link: (scope: angular.IScope, element: angular.IAugmentedJQuery, attributes: angular.IAttributes, controller: angular.INgModelController) => void;
private instanciarMascara(opcao);
static inicializar(): void;
}
}