/** * Lista de países com códigos de área para seleção de telefone */ export interface Country { code: string; // Código ISO 3166-1 alpha-2 name: string; // Nome do país dialCode: string; // Código de discagem internacional flag: string; // Emoji da bandeira } /** * Lista de países mais comuns com seus códigos de discagem * Ordenado por popularidade/uso */ export const COUNTRIES: Country[] = [ { code: "BR", name: "Brasil", dialCode: "+55", flag: "🇧🇷" }, { code: "US", name: "Estados Unidos", dialCode: "+1", flag: "🇺🇸" }, { code: "CA", name: "Canadá", dialCode: "+1", flag: "🇨🇦" }, { code: "MX", name: "México", dialCode: "+52", flag: "🇲🇽" }, { code: "AR", name: "Argentina", dialCode: "+54", flag: "🇦🇷" }, { code: "CL", name: "Chile", dialCode: "+56", flag: "🇨🇱" }, { code: "CO", name: "Colômbia", dialCode: "+57", flag: "🇨🇴" }, { code: "PE", name: "Peru", dialCode: "+51", flag: "🇵🇪" }, { code: "PT", name: "Portugal", dialCode: "+351", flag: "🇵🇹" }, { code: "ES", name: "Espanha", dialCode: "+34", flag: "🇪🇸" }, { code: "GB", name: "Reino Unido", dialCode: "+44", flag: "🇬🇧" }, { code: "FR", name: "França", dialCode: "+33", flag: "🇫🇷" }, { code: "DE", name: "Alemanha", dialCode: "+49", flag: "🇩🇪" }, { code: "IT", name: "Itália", dialCode: "+39", flag: "🇮🇹" }, { code: "NL", name: "Holanda", dialCode: "+31", flag: "🇳🇱" }, { code: "BE", name: "Bélgica", dialCode: "+32", flag: "🇧🇪" }, { code: "CH", name: "Suíça", dialCode: "+41", flag: "🇨🇭" }, { code: "AT", name: "Áustria", dialCode: "+43", flag: "🇦🇹" }, { code: "PL", name: "Polônia", dialCode: "+48", flag: "🇵🇱" }, { code: "RU", name: "Rússia", dialCode: "+7", flag: "🇷🇺" }, { code: "CN", name: "China", dialCode: "+86", flag: "🇨🇳" }, { code: "JP", name: "Japão", dialCode: "+81", flag: "🇯🇵" }, { code: "KR", name: "Coreia do Sul", dialCode: "+82", flag: "🇰🇷" }, { code: "IN", name: "Índia", dialCode: "+91", flag: "🇮🇳" }, { code: "AU", name: "Austrália", dialCode: "+61", flag: "🇦🇺" }, { code: "NZ", name: "Nova Zelândia", dialCode: "+64", flag: "🇳🇿" }, { code: "ZA", name: "África do Sul", dialCode: "+27", flag: "🇿🇦" }, { code: "EG", name: "Egito", dialCode: "+20", flag: "🇪🇬" }, { code: "TR", name: "Turquia", dialCode: "+90", flag: "🇹🇷" }, { code: "SA", name: "Arábia Saudita", dialCode: "+966", flag: "🇸🇦" }, { code: "AE", name: "Emirados Árabes", dialCode: "+971", flag: "🇦🇪" }, { code: "IL", name: "Israel", dialCode: "+972", flag: "🇮🇱" }, { code: "UY", name: "Uruguai", dialCode: "+598", flag: "🇺🇾" }, { code: "PY", name: "Paraguai", dialCode: "+595", flag: "🇵🇾" }, { code: "BO", name: "Bolívia", dialCode: "+591", flag: "🇧🇴" }, { code: "VE", name: "Venezuela", dialCode: "+58", flag: "🇻🇪" }, { code: "EC", name: "Equador", dialCode: "+593", flag: "🇪🇨" }, ]; /** * País padrão (Brasil) */ export const DEFAULT_COUNTRY: Country = COUNTRIES[0]; /** * Busca país por código */ export function getCountryByCode(code: string): Country | undefined { return COUNTRIES.find((c) => c.code === code); } /** * Busca país por código de discagem */ export function getCountryByDialCode(dialCode: string): Country | undefined { return COUNTRIES.find((c) => c.dialCode === dialCode); }