# Documentação para campos do endereço
## País:
* Tipo de campo: Select
* Campo obrigatório
OBS: Os dados estão fixos em um arquivo .js, no formato:
```
const CountriesArray = [
{
gentilico: 'brasileira',
nome_pais: 'Brasil',
nome_pais_int: 'Brazil',
sigla: 'BR',
},
{
gentilico: 'afegãne',
nome_pais: 'Afeganistão',
nome_pais_int: 'Afghanistan',
sigla: 'AF',
}
]
```
## Validação de endereço para o Brasil
### CEP:
* Tipo de campo: Input
* Campo obrigatório
* Aceita apenas numeros
* Máscara: xxxxx-xxx / Yup.matches(/^\d{5}\-\d{3}$/)
OBS: Após preencher o cep é realizado uma busca na API brasilapi (https://brasilapi.com.br/api/cep/v1/89809813), e é preenchido automaticamente e bloqueado os campos de "Rua", "Bairro", "Estado" e "Cidade". Se o bairro ou a rua não retornar no endpoint, então o campo deve ficar habilitado para o usuário digitar.
### Rua:
* Tipo de campo: Input
* Campo obrigatório
### Complemento:
* Tipo de campo: Input
### Número:
* Tipo de campo: Input
* Campo obrigatório
### Bairro:
* Tipo de campo: Input
* Campo obrigatório
### Estado:
* Tipo de campo: Select
* Campo obrigatório
OBS: É carregado os dados da API do ibge (https://servicodados.ibge.gov.br/api/v1/localidades/estados)
### Cidade:
* Tipo de campo: Select
* Campo obrigatório
OBS: É carregado os dados da API do ibge (https://servicodados.ibge.gov.br/api/v1/localidades/estados/SC/municipios)
## Validação de endereço para o exterior
### Zip Code:
* Tipo de campo: Input
* Campo obrigatório
### Linha 1 do endereço:
* Tipo de campo: Input
* Campo obrigatório
### Linha 2 do endereço:
* Tipo de campo: Input
### Bairro:
* Tipo de campo: Input
### Estado / Província / Região:
* Tipo de campo: Input
### Cidade:
* Tipo de campo: Input
* Campo obrigatório