diff --git a/CHANGELOG.md b/CHANGELOG.md index 462cef47..6bc991e7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ## [Unreleased] +### Added + +- Panama (PAN) country rules. + ## [4.26.3] - 2025-02-25 ### Changed diff --git a/react/country/PAN.js b/react/country/PAN.js new file mode 100644 index 00000000..6bf1b229 --- /dev/null +++ b/react/country/PAN.js @@ -0,0 +1,1080 @@ +import { THREE_LEVELS } from '../constants' +import { thirdLevelPostalCodes } from '../transforms/postalCodes' +import { + getOneLevel, + getTwoLevels, + getThreeLevels, +} from '../transforms/addressFieldsOptions' + +const countryData = { + 'Bocas Del Toro': { + 'Bocas Del Toro': { + Bastimentos: '01002', + 'Bocas Del Toro (Cabecera)': '01001', + Cauchero: '01004', + 'Punta Laurel': '01003', + 'Tierra Oscura': '01005', + }, + Changuinola: { + Almirante: '01007', + 'Changuinola (Cabec)': '01006', + 'El Empalme': '01011', + 'El Teribe': '01009', + Guabito: '01008', + 'Las Tablas': '01012', + 'Valle Del Risco': '01010', + }, + 'Chiriqui Grande': { + 'Chiriqui Grande (Cabec)': '01013', + Miramar: '01015', + 'Punta Peña': '01016', + 'Punta Robalo': '01014', + Rambala: '01017', + }, + }, + Chiriqui: { + Alanje: { + 'Alanje (Cabec)': '04029', + 'Canta Gallo': '04035', + Divala: '04030', + Guarumal: '04031', + 'Nuevo Mexico': '04036', + 'Palo Grande': '04032', + Querevalo: '04033', + 'Santo Tomas': '04034', + }, + Baru: { + Baco: '04014', + Limones: '04012', + Progreso: '04013', + 'Puerto Armuelles (Cabec)': '04011', + 'Rodolfo Aguilar': '04015', + }, + Boqueron: { + Bagala: '04038', + 'Boqueron (Cabec)': '04037', + Cordillera: '04039', + Guabal: '04040', + Guayabal: '04041', + Paraiso: '04042', + Pedregal: '04043', + Tijeras: '04044', + }, + Boquete: { + 'Alto Boquete': '04056', + 'Bajo Boquete (Cabec)': '04053', + Caldera: '04054', + Jaramillo: '04057', + 'Los Naranjos': '04058', + Palmira: '04055', + }, + Bugaba: { + 'Aserrio De Gariche': '04017', + Bugaba: '04018', + 'Cerro Punta': '04019', + 'El Bongo': '04028', + Gomez: '04020', + 'La Concepcion (Cabec)': '04016', + 'La Estrella': '04021', + 'San Andres': '04022', + 'Santa Marta': '04023', + 'Santa Rosa': '04024', + 'Santo Domingo': '04025', + Sortova: '04026', + Volcan: '04027', + }, + David: { + Bijagual: '04002', + Chiriqui: '04004', + Cochea: '04003', + 'David (Cabec)': '04001', + Guaca: '04005', + 'Las Lomas': '04006', + Pedregal: '04007', + 'San Carlos': '04008', + 'San Pablo Nuevo': '04009', + 'San Pablo Viejo': '04010', + }, + Dolega: { + 'Dolega (Cabec)': '04059', + 'Dos Rios': '04060', + 'Los Algarrobos': '04066', + 'Los Anastacios': '04061', + Potrerillos: '04062', + 'Potrerillos Abajo': '04063', + Rovira: '04064', + Tinajas: '04065', + }, + Gualaca: { + 'Gualaca (Cabec)': '04067', + Hornito: '04068', + 'Los Angeles': '04069', + 'Paja De Sombrero': '04070', + Rincon: '04071', + }, + Remedios: { + 'El Nancito': '04073', + 'El Porvenir': '04074', + 'El Puerto': '04075', + 'Remedios (Cabec)': '04072', + 'Santa Lucia': '04076', + }, + Renacimiento: { + Breñon: '04046', + 'Cañas Gordas': '04047', + Dominical: '04052', + 'Monte Lirio': '04048', + 'Plaza De Caisan': '04049', + 'Rio Sereno (Cabec)': '04045', + 'Santa Clara': '04051', + 'Santa Cruz': '04050', + }, + 'San Felix': { + Juay: '04092', + 'Lajas Adentro': '04094', + 'Las Lajas (Cabec)': '04091', + 'San Felix': '04093', + 'Santa Cruz': '04095', + }, + 'San Lorenzo': { + 'Boca Chica': '04078', + 'Boca Del Monte': '04079', + 'Horconcitos (Cabec)': '04077', + 'San Juan': '04080', + 'San Lorenzo': '04081', + }, + Tole: { + 'Cbella Vista': '04087', + 'Cerro Viejo': '04083', + 'El Cristo': '04088', + 'Justo Fidel Palacios': '04089', + 'Lasjas De Tole': '04084', + 'Potrero De Caña': '04085', + 'Quebrada De Piedra': '04086', + 'Tole(Cabec)': '04082', + Veladero: '04090', + }, + }, + Cocle: { + Aguadulce: { + 'Aguadulce (Cabec)': '02038', + 'Barrios Unidos': '02042', + 'El Cristo': '02039', + 'El Roble': '02040', + Pocri: '02041', + }, + Anton: { + 'Anton (Cabec)': '02001', + Caballero: '02010', + Cabuya: '02002', + 'El Chiru': '02003', + 'El Retiro': '02004', + 'El Valle': '02005', + 'Juan Diaz': '02006', + 'Rio Hato': '02007', + 'San Juan De Dios': '02008', + 'Santa Rita': '02009', + }, + 'La Pintada': { + 'El Harino': '02022', + 'El Potrero': '02023', + 'La Pintada (Cabec)': '02021', + 'Las Lomas': '02026', + 'Llano Grande': '02024', + 'Piedras Gordas': '02025', + }, + Nata: { + Capellania: '02028', + 'El Caño': '02029', + Guzman: '02030', + 'Las Huacas': '02031', + 'Nata (Cabec)': '02027', + Toza: '02032', + }, + Ola: { + 'El Cope': '02034', + 'El Palmar': '02035', + 'El Picacho': '02036', + 'La Pava': '02037', + 'Ola (Cabec)': '02033', + }, + Penonome: { + Cañaberal: '02012', + 'Chiriqui Arriba': '02014', + Cocle: '02013', + 'El Coco': '02015', + Pajonal: '02016', + 'Penonome (Cabec)': '02011', + 'Rio Grande': '02017', + 'Rio Indio': '02018', + Toabre: '02019', + Tulu: '02020', + }, + }, + Colon: { + Chagres: { + Achiote: '03016', + 'El Guabo': '03017', + 'La Encantada': '03018', + 'Nuevo Chagres (Cabec)': '03015', + 'Palmas Bellas': '03019', + Piña: '03020', + Salud: '03021', + }, + Colon: { + 'Bahia La Mina': '03042', + 'Barrio Norte': '03001', + 'Barrio Sur': '03002', + 'Buena Vista': '03003', + Cativa: '03004', + Ciricito: '03005', + Colon: '03041', + Cristobal: '03006', + 'El Espinar': '03046', + Escobal: '03007', + Limon: '03008', + Manzanillo: '03047', + 'Nueva Providencia': '03009', + 'Porto Belo': '03049', + 'Puerto Pilon': '03010', + Sabanitas: '03011', + Salamanca: '03012', + 'San Juan': '03013', + 'Santa Rosa': '03014', + 'Zona Libre': '03050', + }, + Donoso: { + 'Cocle Del Norte': '03023', + 'El Guasimo': '03024', + Gobea: '03025', + 'Miguel De La Borda (Cabec)': '03022', + 'Rio Indio': '03026', + 'San Jose Del General': '03027', + }, + Portobelo: { + Cacique: '03029', + Garrote: '03030', + 'Isla Grande': '03031', + 'Maria Chiquita': '03032', + 'Portobelo (Cabec)': '03028', + }, + 'Santa Isabel': { + Cuango: '03034', + Miramar: '03035', + 'Nombre De Dios': '03036', + 'Palenque (Cabec)': '03033', + Palmira: '03037', + 'Playa Chiquita': '03038', + 'Santa Isabel': '03039', + 'Viento Frio': '03040', + }, + }, + 'Comarca Kuna Yala': { + 'Kuna Yala': { + Aligandi: '09001', + Nargana: '09002', + 'Puerto Obaldia': '09003', + Tibuala: '09004', + }, + }, + 'Comarca Ngobe Bugle': { + Besiko: { + 'Boca De Balsa': '10018', + 'Camaron Arriba': '10021', + 'Cerro Banco': '10019', + 'Cerro De Patena': '10020', + 'Emplanada De Corcha': '10022', + Namnoni: '10023', + Niba: '10024', + Soloy: '10017', + }, + Kankintu: { + Bisisra: '10001', + Buri: '10002', + Guariviara: '10004', + Guaroni: '10005', + Kankitu: '10003', + 'Man Creek': '10009', + Mununi: '10006', + 'Piedra Roja': '10007', + Tuwai: '10008', + }, + Kusapin: { + 'Bahia Azul': '10012', + Calovebora: '10011', + Kusapin: '10010', + 'Loma Yuca': '10014', + 'Rio Chiriqui': '10013', + Tobobe: '10015', + 'Valle Bonito': '10016', + }, + Mirono: { + Cascabel: '10026', + 'Hato Corotu': '10027', + 'Hato Culantro': '10028', + 'Hato Jobo': '10029', + 'Hato Juli': '10030', + 'Hato Pilon': '10025', + 'Quebrada De Loro': '10031', + 'Salto Dupi': '10032', + }, + Muna: { + 'Alto Caballero': '10039', + Bagama: '10040', + 'Cerro Caña': '10041', + 'Cerro Puerco': '10042', + Chichica: '10038', + Krua: '10043', + Maraca: '10044', + Nibra: '10045', + 'Peña Blanca': '10046', + Roka: '10047', + 'Sitio Prado': '10048', + Umani: '10049', + }, + 'Nole Duima': { + 'Cerro Iglesias': '10033', + 'Hato Chami': '10035', + Jadeberi: '10037', + Lajero: '10034', + Susama: '10036', + }, + ñurun: { + 'Agua De Salud': '10051', + 'Alto De Jesus': '10052', + 'Buenos Aires': '10050', + 'Cerro Pelado': '10053', + 'El Bale': '10054', + 'El Paredon': '10055', + 'El Piro': '10056', + Guayabito: '10057', + Guibale: '10058', + }, + }, + 'Comarca Wargandi': { + Wargandi: { + Wargandi: '11001', + }, + }, + 'Darien Y Comarca Embera': { + Cemaco: { + 'Cirilo Guaynora': '12027', + 'Lajas Blancas': '12028', + 'Manuel Ortega': '12029', + }, + Chepigana: { + 'Agua Fria': '12013', + Camoganti: '12002', + Chepigana: '12003', + Cucunati: '12014', + Garachine: '12004', + Jaque: '12005', + 'La Palma (Cabec)': '12001', + 'Puerto Piña': '12006', + 'Rio Congo': '12007', + 'Rio Congo Arriba': '12015', + 'Rio Iglesias': '12008', + Sambu: '12009', + 'Santa Fe': '12016', + Seteganti: '12010', + Taimati: '12011', + Tucuti: '12012', + }, + Pinogana: { + 'Boca De Chupe': '12020', + 'El Real S. M. (Cabec)': '12019', + Meteti: '12026', + Paya: '12021', + Pinogana: '12022', + Pucuro: '12023', + Yape: '12024', + Yaviza: '12025', + }, + Sambu: { + Jingurudo: '12017', + 'Rio Sabalo': '12018', + }, + }, + Herrera: { + Chitre: { + 'Chitre (Cabec)': '05001', + 'La Arena': '05002', + 'Llano Bonito': '05005', + Monagrillo: '05003', + 'San Uan Bautista': '05004', + }, + 'Las Minas': { + Chepo: '05031', + Chumical: '05032', + 'El Ciprian': '05036', + 'El Toro': '05033', + 'Las Minas (Cabec)': '05030', + Leones: '05034', + 'Quebrada Del Rosario': '05035', + }, + 'Los Pozos': { + Capuri: '05007', + 'El Calabacito': '05008', + 'El Cedro': '05009', + 'La Arena': '05010', + 'La Pitaloza': '05011', + 'Las Llanas': '05014', + 'Los Cerritos': '05012', + 'Los Cerros De Paja': '05013', + 'Los Pozos (Cabec)': '05006', + }, + Ocu: { + 'Cerro Largo': '05038', + 'El Tijera': '05042', + 'Llano Grande': '05040', + 'Los Llanos': '05039', + Menchaca: '05043', + 'Ocu (Cabec)': '05037', + 'Peñas Chatas': '05041', + }, + Parita: { + Cabuya: '05016', + 'Llana De La Cruz': '05018', + 'Los Castillos': '05017', + Paris: '05019', + 'Parita (Cabec)': '05015', + Portobelillo: '05020', + Potuga: '05021', + }, + Pese: { + 'El Barrero': '05025', + 'El Ciruelo': '05027', + 'El Pajaro': '05024', + 'El Pedregoso': '05026', + 'Las Cabras': '05023', + 'Pese (Cabec)': '05022', + 'Rincon Hondo': '05029', + Sabanagrande: '05028', + }, + 'Santa Maria': { + Chupampa: '05045', + 'El Limon': '05047', + 'El Rincon': '05046', + 'Los Canelos': '05048', + 'Santa Maria (Cabec)': '05044', + }, + }, + 'Los Santos': { + Guarare: { + 'El Enea': '06034', + 'El Espinal': '06031', + 'El Hato': '06038', + 'El Macano': '06032', + Guarare: '06030', + 'Guarare Arriba': '06033', + 'La Pasera': '06035', + 'Las Trancas': '06036', + 'Llano Abajo': '06037', + Perales: '06039', + }, + 'Las Tablas': { + 'Bajo Corral': '06002', + Bayano: '06003', + Carate: '06004', + 'El Cocal': '06005', + 'El Manantial': '06006', + 'El Muñoz': '06007', + 'El Pedregoso': '06008', + 'El Sesteadero': '06022', + 'La Laja': '06009', + 'La Miel': '06010', + 'La Palma': '06011', + 'La Tiza': '06012', + 'Las Palmitas': '06013', + 'Las Tablas (Cabec)': '06001', + 'Las Tablas Abajo': '06014', + Nuario: '06015', + Palmira: '06016', + 'Peña Blanca': '06017', + 'Rio Hondo': '06018', + 'San Jose': '06019', + 'San Miguel': '06020', + 'Santo Domingo': '06021', + 'Valle Rico': '06023', + Vallerriquito: '06024', + }, + 'Los Santos': { + 'Agua Buena': '06053', + 'El Guasimo': '06041', + 'La Colorada': '06042', + 'La Espigadilla': '06043', + 'La Villa De Los Santos': '06040', + 'Las Cruces': '06044', + 'Las Guabas': '06045', + 'Llano Largo': '06048', + 'Los Angeles': '06046', + 'Los Olivos': '06047', + Sabanagrande: '06049', + 'Santa Ana': '06050', + 'Tres Quebradas': '06051', + 'Villa Lourdes': '06052', + }, + Macaracas: { + 'Bahia Honda': '06055', + 'Bajos De Guerra': '06056', + Chupa: '06058', + Corozal: '06057', + 'El Cedro': '06059', + 'Espino Amarillo': '06060', + 'La Mesa': '06061', + 'Las Palmas': '06062', + 'Llano De Piedra': '06063', + 'Macaracas (Cabec)': '06054', + Mogollon: '06064', + }, + Pedasi: { + 'Los Asientos': '06066', + Mariabe: '06067', + 'Oria Arriba': '06069', + 'Pedasi (Cabec)': '06065', + Purio: '06068', + }, + Pocri: { + 'El Cañafistulo': '06026', + Lajaminas: '06027', + Paraiso: '06028', + Paritilla: '06029', + 'Pocri (Cabec)': '06025', + }, + Tonosi: { + 'Altos De Guerra': '06071', + Cañas: '06072', + 'El Bebedero': '06073', + 'El Cacao': '06074', + 'El Cortezo': '06075', + Flores: '06076', + Guanico: '06077', + 'La Tronosa': '06078', + 'Tonosi (Cabec)': '06070', + }, + }, + Panama: { + Arraijan: { + 'Arraijan (Cabec)': '07001', + Burunga: '07007', + 'Cerro Silvestre': '07008', + 'Juan D. Arosemena': '07002', + 'Nuevo Emperador': '07003', + 'Santa Clara': '07004', + Veracruz: '07005', + 'Vista Alegre': '07006', + }, + Balboa: { + 'La Ensenada': '07043', + 'La Esmeralda': '07044', + 'La Guinea': '07045', + 'Pedro Gonzalez': '07046', + Saboga: '07047', + 'San Miguel /Cabec)': '07042', + }, + Capira: { + Caimito: '07010', + Campana: '07011', + Capira: '07009', + Cermeño: '07012', + 'Ciri De Los Sotos': '07013', + 'Ciri Grande': '07014', + 'El Cacao': '07015', + 'La Trinidad': '07016', + 'Las Ollas Arriba': '07017', + Lidice: '07018', + 'Santa Rosa': '07021', + 'Viila Carmen': '07019', + 'Villa Rosario': '07020', + }, + Chame: { + Bejuco: '07023', + Cabuya: '07025', + 'Cbuenos Aires': '07024', + 'Chame (Cabec)': '07022', + Chica: '07026', + 'El Libano': '07027', + 'Las Lajas': '07028', + 'Nueva Gorgona': '07029', + 'Punta Chame': '07030', + Sajalices: '07031', + Sora: '07032', + }, + Chepo: { + Carita: '07049', + Chepillo: '07050', + 'Chepo (Cabec)': '07048', + 'El Llano': '07051', + 'Las Margaritas': '07052', + 'Sta. Cruz De Chinina': '07053', + Torti: '07054', + }, + Chiman: { + Brujas: '07056', + 'Chiman (Cabec)': '07055', + 'Gonzalo Vasquez': '07057', + Pasiga: '07059', + 'Union Santeña': '07058', + }, + 'La Chorrera': { + Amador: '07066', + Arosemena: '07067', + 'Barrio Balboa': '07064', + 'Barrio Colon': '07065', + 'El Arado': '07068', + 'El Coco': '07069', + Feuillet: '07070', + Guadalupe: '07071', + Herrera: '07072', + Hurtado: '07073', + Iturralde: '07074', + 'La Represa': '07075', + 'Los Diaz': '07076', + Mendoza: '07077', + Obaldia: '07078', + 'Playa Leonapuerto Caimito': '07079', + 'Santa Rita': '07080', + 'Vaca Monte': '07112', + }, + Panama: { + '24 De Diciembre': '07109', + '24 Diciembre': '07113', + 'Aeropuerto De Tocumen': '07114', + Alameda: '07115', + Albrook: '07116', + 'Alta Mira': '07117', + 'Alto Del Chace': '07118', + 'Altos De Curundu': '07119', + 'Altos De Tocumen': '07120', + 'Altos Del Crisol': '07121', + 'Altos Del Hipodromo': '07122', + Ancon: '07098', + Arcoiris: '07124', + Arraijan: '07125', + 'Ato Pintado Urbanización': '07126', + 'Ave. Balboa': '07127', + Belen: '07128', + 'Bella Vista': '07096', + 'Bello Horizonte': '07129', + Betania: '07095', + 'Boca La Caja': '07131', + Cabulla: '07132', + Calidonia: '07093', + 'Campo Alegre': '07134', + Cardenas: '07135', + Carrasquilla: '07136', + Catedral: '07137', + 'Cerro Batea': '07138', + 'Cerro Viento': '07139', + Chame: '07140', + Chilibre: '07103', + Chorrillo: '07142', + 'Ciudad Radial': '07143', + Clayton: '07144', + 'Coco Solo': '07145', + Cocoli: '07146', + 'Colinas Del Golf': '07147', + Concepcion: '07148', + Coquira: '07149', + Coronado: '07150', + 'Cuatro Altos': '07151', + Curundu: '07094', + Diablo: '07153', + 'Don Bosco': '07154', + 'El Bosque': '07155', + 'El Cangrejo': '07156', + 'El Carmen': '07157', + 'El Chorrillo': '07091', + 'El Ingenio': '07158', + 'El Milagro': '07159', + 'El Pantanal': '07160', + Gatun: '07162', + Gonzalillo: '07163', + 'Jardin Olimpico': '07164', + 'Jose De Espinar': '07165', + 'Juan Diaz': '07101', + 'La Boca': '07166', + 'La Cresta': '07167', + 'La Doña': '07168', + 'La Pradera': '07169', + 'Las Acacias': '07170', + 'Las Cumbres': '07104', + 'Las Mercedes': '07172', + 'Llano Bonito': '07173', + 'Los Andes': '07174', + 'Los Caobos': '07175', + 'Los Cerilla': '07176', + 'Los Robles': '07177', + Madungandi: '07063', + 'Mano De Piedra': '07178', + Marbella: '07179', + Miraflores: '07181', + 'Monte Oscuro': '07182', + Monterrico: '07183', + 'Nuevo San Juan': '07184', + Obarrio: '07185', + Pacora: '07105', + 'Pan De Azucar': '07187', + 'Panama Viejo': '07188', + 'Parque Lefevre': '07110', + Pedregal: '07102', + Perejil: '07190', + 'Pueblo Nuevo': '07097', + 'Punta Paitilla': '07192', + 'Rio Abajo': '07100', + 'Rio Abajo Ato Pintado': '07194', + Rodman: '07195', + 'San Felipe': '07090', + 'San Francisco': '07196', + 'San Fransisco': '07099', + 'San Isidro': '07197', + 'San Martin': '07106', + 'Santa Ana': '07092', + 'Santa Librada': '07198', + 'Santa Maria': '07199', + Terminal: '07200', + Tocumen: '07107', + 'Torrijos-Carter': '07202', + 'Urb. Dos Mares': '07203', + 'Urbanizacion Nuevoreparto Chanis': '07204', + Veranillo: '07205', + 'Via España': '07206', + 'Viejo Veranillo': '07207', + 'Villa Caceres': '07208', + 'Villa De La Fuente': '07209', + 'Villa Saita': '07210', + 'Villa Unida': '07211', + 'Vista Hermosa': '07212', + }, + 'San Carlos': { + 'El Espino': '07034', + 'El Higo': '07035', + Guayabito: '07036', + 'La Ermita': '07037', + 'La Laguna': '07038', + 'Las Uvas': '07039', + 'Los Llanitos': '07040', + 'San Carlos /Cabec)': '07033', + 'San Jose': '07041', + }, + 'San Miguelito': { + 'Amelia D. De Icaza': '07081', + 'Arnulfo Arias': '07086', + 'Belisario Frias': '07087', + 'Belisario Porras': '07082', + 'El Bosque': '07213', + 'Jose D. Espinar': '07083', + 'Mateo Iturralde': '07084', + 'Omar Torrijos': '07088', + 'Rufina Alfaro': '07089', + 'Victoriano Lorenzo': '07085', + }, + Taboga: { + 'Otoque Occidente': '07061', + 'Otoque Oriente': '07062', + Taboga: '07060', + }, + Tocumen: { + Mañanitas: '07215', + 'Nueva California': '07216', + 'Rana De Oro': '07217', + 'Residencial La Castellana': '07218', + 'San Cristobal': '07219', + 'San Joaquin': '07220', + 'San Pedro': '07221', + 'San Sebastian': '07222', + 'Santa Monica': '07223', + 'Urb. Remon Cantera': '07224', + 'Urbanizacion Balmoral': '07225', + 'Urbanizacion Tere Mar': '07226', + 'Villa Flor': '07227', + 'Villa Lobos': '07228', + 'Villa Lucre': '07229', + }, + }, + Veraguas: { + Atalaya: { + 'Atalaya (Cabec)': '08054', + 'El Barrito': '08055', + 'La Carrillo': '08058', + 'La Montañuela': '08056', + 'San Antonio': '08057', + }, + Calobre: { + Barnizal: '08030', + 'Calobre (Cabec)': '08029', + Chitra: '08031', + 'El Cocla': '08032', + 'El Potrero': '08033', + 'La Laguna': '08034', + 'La Raya De Calobre': '08035', + 'La Tetilla': '08036', + 'La Yeguada': '08037', + 'Las Guias': '08038', + Monjaras: '08039', + 'San Jose': '08040', + }, + Cañazas: { + 'Cañazas (Cabec)': '08077', + 'Cerro De Plata': '08078', + 'El Aromillo': '08083', + 'El Picador': '08081', + 'Los Valles': '08079', + 'San Jose': '08082', + 'San Marcelo': '08080', + }, + 'La Mesa': { + Bisvalles: '08014', + Boro: '08015', + 'La Mesa (Cabec)': '08013', + 'Llano Grande': '08016', + 'Los Milagros': '08018', + 'San Bartolo': '08017', + }, + 'Las Palmas': { + 'Cerro De Casa': '08085', + Corozal: '08086', + 'El Maria': '08087', + 'El Prado': '08088', + 'El Rincon': '08089', + 'Las Palmas (Cabec)': '08084', + Lola: '08090', + Pixvae: '08091', + 'Puerto Vidal': '08092', + 'San Martin De Porres': '08094', + Vigui: '08095', + Zapotillo: '08093', + }, + Mariato: { + Arena: '08073', + 'El Cacao': '08076', + 'Llano De Cativa': '08072', + Quebro: '08074', + Tebario: '08075', + }, + Montijo: { + Cebaco: '08066', + 'Costa Hermosa': '08065', + Gobernadora: '08060', + 'La Garcena': '08061', + Leones: '08062', + 'Montijo (Cabec)': '08059', + Pilon: '08063', + 'Union Del Norte': '08064', + }, + 'Riio De Jesus': { + 'Catorce De Noviembre': '08071', + 'Las Huacas': '08068', + 'Los Castillos': '08069', + 'Rio De Jesus (Cabec)': '08067', + Utira: '08070', + }, + 'San Fransisco': { + 'Corra Falso': '08042', + 'Los Hatillos': '08043', + Remance: '08044', + 'San Fransisco (Cabec)': '08041', + 'San Jose': '08046', + 'San Juan': '08045', + }, + 'Santa Fe': { + Calovebora: '08048', + 'El Alto': '08049', + 'El Cuay': '08050', + 'El Pantano': '08051', + Gatuncito: '08052', + 'Rio Luis': '08053', + 'Santa Fe (Cabec)': '08047', + }, + Santiago: { + 'Canto Del Llano': '08007', + 'Carlos Santana': '08009', + 'Edwin Fabrega': '08010', + 'La Colorada': '08002', + 'La Peña': '08003', + 'La Raya Sta. Maria': '08004', + 'Los Algarrobos': '08008', + Ponuga: '08005', + 'San Martin De Porres': '08011', + 'San Pedro Del Espino': '08006', + Santiago: '08001', + Urraca: '08012', + }, + Sona: { + 'Bahia Honda': '08020', + Calidonia: '08021', + Cative: '08022', + 'El Marañon': '08023', + Guarumal: '08024', + 'La Soledad': '08025', + 'Quebrada De Oro': '08026', + 'Rio Grande': '08027', + 'Rodeo Viejo': '08028', + 'Sona (Cabec)': '08019', + }, + }, +} + +export default { + country: 'PAN', + abbr: 'PA', + postalCodeFrom: THREE_LEVELS, + postalCodeLevels: ['state', 'city', 'neighborhood'], + thirdLevelPostalCodes: thirdLevelPostalCodes(countryData), + fields: [ + { + hidden: true, + name: 'country', + maxLength: 100, + label: 'country', + size: 'medium', + }, + { + autoComplete: 'nope', + hidden: true, + label: 'postalCode', + maxLength: 5, + name: 'postalCode', + postalCodeAPI: false, + required: true, + regex: /^[\d]{5}$/, + size: 'small', + }, + { + name: 'street', + label: 'street', + required: true, + size: 'xlarge', + }, + { + hidden: true, + name: 'number', + maxLength: 750, + label: 'number', + required: false, + autoComplete: 'nope', + }, + { + name: 'complement', + maxLength: 750, + label: 'complement', + size: 'xlarge', + }, + { + hidden: true, + name: 'reference', + maxLength: 750, + label: 'reference', + size: 'xlarge', + }, + { + name: 'state', + maxLength: 100, + label: 'department', + required: true, + size: 'xlarge', + level: 1, + options: getOneLevel(countryData), + }, + { + name: 'city', + maxLength: 100, + label: 'province', + required: true, + size: 'xlarge', + level: 2, + basedOn: 'state', + optionsMap: getTwoLevels(countryData), + }, + { + name: 'neighborhood', + maxLength: 100, + label: 'district', + required: true, + size: 'xlarge', + level: 3, + basedOn: 'city', + optionsMap: getThreeLevels(countryData), + }, + { + name: 'receiverName', + elementName: 'receiver', + maxLength: 750, + label: 'receiverName', + size: 'xlarge', + required: true, + }, + ], + geolocation: { + postalCode: { + valueIn: 'long_name', + types: ['postal_code'], + required: false, + handler: (address) => { + if (!address.state || !address.city || !address.neighborhood) { + return address + } + + if ( + countryData[address.state.value] && + countryData[address.state.value][address.city.value] && + countryData[address.state.value][address.city.value][ + address.neighborhood.value + ] + ) { + address.postalCode = { + value: + countryData[address.state.value][address.city.value][ + address.neighborhood.value + ], + } + } + + return address + }, + }, + + number: { + valueIn: 'long_name', + types: ['street_number'], + required: false, + notApplicable: true, + }, + + street: { + valueIn: 'long_name', + types: ['route'], + }, + + neighborhood: { + valueIn: 'long_name', + types: [ + 'neighborhood', + 'sublocality_level_1', + 'sublocality_level_2', + 'sublocality_level_3', + 'sublocality_level_4', + 'sublocality_level_5', + ], + }, + + state: { + valueIn: 'short_name', + types: ['administrative_area_level_1'], + }, + + city: { + valueIn: 'long_name', + types: ['administrative_area_level_2', 'locality'], + }, + + receiverName: { + required: true, + }, + }, + summary: [ + [{ name: 'street' }, { delimiter: ' ', name: 'complement' }], + [{ name: 'neighborhood' }], + [{ name: 'city' }, { delimiter: ', ', name: 'state' }], + ], +}