Máscaras

Máscaras ficam em src/shared/formularios/inputMasks.ts. Máscaras previstas:
  • CPF;
  • celular;
  • moeda em reais;
  • campos numéricos;
  • OTP.

Campos

Inputs devem usar os componentes padronizados da aplicação, preservando:
  • placeholder em peso regular;
  • foco com borda azul e sombra;
  • erro com estado visual próprio;
  • label legível;
  • máscara aplicada no ponto de entrada.

Localidades

Estados e cidades usam src/shared/dados/localidades/brazilLocalities.ts. O dataset local foi gerado a partir da API pública de Localidades do IBGE para evitar dependência de rede no front. Contrato esperado:
  • lista de estados com code e name;
  • busca de cidades por UF;
  • estado padrão quando aplicável.
O backend pode substituir esse ponto mantendo o mesmo contrato.

CEP e preenchimento de endereço

Nos fluxos de contratação, o campo CEP está preparado para o comportamento esperado em produção:
  1. a pessoa informa um CEP válido;
  2. o próprio campo indica carregamento;
  3. a aplicação preenche logradouro, bairro, estado e cidade;
  4. número e complemento continuam sob responsabilidade da pessoa.
No front atual esse comportamento é demonstrativo e fica implementado em src/plataforma/fluxos/compartilhado/CreditFlowFields.tsx. Na integração real, substituir a simulação por uma fonte de CEP do backend ou por uma API pública/contratada validada pela FortCard. O componente visual não deve consumir credenciais nem regras sensíveis diretamente no navegador. Contrato mínimo esperado da consulta: Se a consulta não encontrar o CEP, o backend deve devolver uma resposta normalizada para o front exibir estado de erro no próprio campo, sem quebrar a navegação nem apagar dados já digitados. O preenchimento assistido de demonstração fica em src/shared/dados/demo e usa public/demo/autofill.json. A fixture e o runtime são removíveis pela fronteira em src/shared/dados/mock-boundary.json e não participam da integração real.