UNPKG

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
/// <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; } }