-
Notifications
You must be signed in to change notification settings - Fork 224
Description
Descrição da melhoria
Permitir definir mais de uma máscara para inputs no po-input e po-dynamic-form. Atualmente só é possível aplicar uma máscara fixa, o que limita o uso em campos que podem aceitar formatos diferentes, como CPF ou CNPJ.
Caso de uso
1. po-input
Ao utilizar o componente isoladamente, muitas vezes é necessário aceitar diferentes formatos de dados (ex: CPF ou CNPJ). Hoje, para contornar isso, precisamos aplicar diretivas externas ou criar lógica manual, o que foge do padrão do PO UI.
2. po-dynamic-form
No formulário dinâmico, não é possível nem mesmo usar uma lógica alternativa. O campo mask aceita apenas uma string fixa. Isso obriga a duplicar o campo (ex: cpf e cnpj) e adicionar lógica extra para exibir/esconder campos, o que quebra a fluidez e a simplicidade da abordagem dinâmica.
A melhoria permitiria que um único campo aceitasse múltiplas máscaras e aplicasse a correta conforme a digitação do usuário.
Exemplo ideal no po-dynamic-form:
{
property: 'documento',
label: 'Documento',
type: 'string',
masks: ['999.999.999-99', '99.999.999/9999-99']
}Informações adicionais
- No
po-input, ainda dá pra improvisar com diretivas externas, mas é gambiarra. - No
po-dynamic-form, isso simplesmente não funciona hoje. - Libs como
ngx-maskjá têm suporte nativo para múltiplas máscaras. - A melhoria traria mais flexibilidade, melhor UX, e eliminaria a necessidade de criar campos redundantes ou lógica extra de exibição.