A lightweight, dependency-free input mask library.
npm install caramelo-maskCPF_CNPJ: Alterna automaticamente entre CPF e CNPJ (com suporte ao novo formato de CNPJ alfanumérico).
CELULAR_TELEFONE: Alterna automaticamente entre fixo (8 dígitos) e celular (9 dígitos).
data-mask ou programaticamente via JS.
bash
npm install caramelo-mask
`
Importe no seu projeto:
`javascript
import CarameloMask from 'caramelo-mask';
`
$3
Você pode baixar os arquivos prontos para uso da pasta dist/:
`html
`
$3
Ou usar via CDN (jsDELIVR):
`html
`
🛠 Como usar
$3
A forma mais simples é adicionar o atributo data-mask aos seus inputs. O plugin inicializa automaticamente quando o documento é carregado.
#### Máscaras Comuns
`html
`
#### Máscaras Dinâmicas (Especiais)
Use as palavras-chave reservadas para ativar as máscaras inteligentes:
`html
`
> Nota: A máscara CPF_CNPJ suporta o formato alfanumérico moderno de CNPJ (letras e números).
$3
Você também pode inicializar ou controlar máscaras via código:
`javascript
// Seleciona o elemento
const input = document.querySelector('#meu-input');
// Inicializa a máscara
const mask = new CarameloMask(input, '00/00/0000', {
onComplete: function(val) {
console.log('Máscara completa:', val);
},
onChange: function(val) {
console.log('Valor alterado:', val);
}
});
// Remover máscara
mask.unmask();
// Obter valor limpo (sem formatação)
console.log(mask.getCleanVal());
`
---
📝 Padrões de Máscara
| Caractere | Descrição |
|-----------|-----------|
| 0 | Apenas Números |
| 9 | Apenas Números (Opcional) |
| # | Apenas Números (Recursivo - ex: dinheiro) |
| A | Alfanumérico (Letras e Números) |
| S` | Apenas Letras |