country-data-filter 1.1.2 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +710 -186
- package/package.json +100 -6
- package/src/angular/index.ts +10 -0
- package/src/angular/location-picker.component.css +13 -0
- package/src/angular/location-picker.component.html +62 -0
- package/src/angular/location-picker.component.ts +229 -0
- package/src/angular/location-picker.service.ts +51 -0
- package/src/angular/location-picker.types.ts +33 -0
- package/src/countries/AE/district/abuDhabi.js +5 -5
- package/src/countries/AF/district/badakhshan.js +3 -3
- package/src/countries/AF/district/badghis.js +2 -2
- package/src/countries/AF/district/baghlan.js +3 -3
- package/src/countries/AF/district/balkh.js +3 -3
- package/src/countries/AF/district/bamyan.js +3 -3
- package/src/countries/AF/district/daykundi.js +2 -2
- package/src/countries/AF/district/farah.js +2 -2
- package/src/countries/AF/district/faryab.js +3 -3
- package/src/countries/AF/district/ghazni.js +3 -3
- package/src/countries/AF/district/ghor.js +2 -2
- package/src/countries/AF/district/helmand.js +3 -3
- package/src/countries/AF/district/herat.js +3 -3
- package/src/countries/AF/district/jowzjan.js +3 -3
- package/src/countries/AF/district/kabul.js +3 -3
- package/src/countries/AF/district/kandahar.js +3 -3
- package/src/countries/AF/district/kapisa.js +2 -2
- package/src/countries/AF/district/khost.js +3 -3
- package/src/countries/AF/district/kunar.js +3 -3
- package/src/countries/AF/district/kunduz.js +3 -3
- package/src/countries/AF/district/laghman.js +3 -3
- package/src/countries/AF/district/logar.js +3 -3
- package/src/countries/AF/district/maidenWardak.js +3 -3
- package/src/countries/AF/district/nangarhar.js +3 -3
- package/src/countries/AF/district/nimroz.js +2 -2
- package/src/countries/AF/district/nuristan.js +2 -2
- package/src/countries/AF/district/paktia.js +3 -3
- package/src/countries/AF/district/paktika.js +2 -2
- package/src/countries/AF/district/panjshir.js +2 -2
- package/src/countries/AF/district/parwan.js +3 -3
- package/src/countries/AF/district/samangan.js +2 -2
- package/src/countries/AF/district/sarEPol.js +2 -2
- package/src/countries/AF/district/takhar.js +3 -3
- package/src/countries/AF/district/uruzgan.js +2 -2
- package/src/countries/AF/district/zabul.js +2 -2
- package/src/countries/AM/district/aragatsotn.js +3 -3
- package/src/countries/AM/district/ararat.js +3 -3
- package/src/countries/AM/district/armavir.js +3 -3
- package/src/countries/AM/district/gegharkunik.js +4 -4
- package/src/countries/AM/district/kotayk.js +4 -4
- package/src/countries/AM/district/lori.js +4 -4
- package/src/countries/AM/district/shirak.js +3 -3
- package/src/countries/AM/district/syunik.js +4 -4
- package/src/countries/AM/district/tavush.js +4 -4
- package/src/countries/AM/district/vayotsDzor.js +3 -3
- package/src/countries/AM/district/yerevan.js +5 -5
- package/src/countries/BA/district/brckoDistrict.js +1 -1
- package/src/countries/BA/district/federationBiH.js +10 -10
- package/src/countries/BA/district/republikaSrpska.js +5 -5
- package/src/countries/BB/district/saintAndrew.js +1 -1
- package/src/countries/BB/district/saintJohn.js +1 -1
- package/src/countries/BB/district/saintJoseph.js +1 -1
- package/src/countries/BB/district/saintThomas.js +1 -1
- package/src/countries/BH/district/capital.js +3 -3
- package/src/countries/BH/district/muharraq.js +2 -2
- package/src/countries/BH/district/northern.js +2 -2
- package/src/countries/BH/district/southern.js +3 -3
- package/src/countries/BN/district/belait.js +2 -2
- package/src/countries/BN/district/bruneiMuara.js +2 -2
- package/src/countries/BN/district/temburong.js +1 -1
- package/src/countries/BN/district/tutong.js +2 -2
- package/src/countries/BT/district/bumthang.js +1 -1
- package/src/countries/BT/district/chhukha.js +1 -1
- package/src/countries/BT/district/dagana.js +1 -1
- package/src/countries/BT/district/gasa.js +1 -1
- package/src/countries/BT/district/haa.js +1 -1
- package/src/countries/BT/district/lhuntse.js +1 -1
- package/src/countries/BT/district/mongar.js +1 -1
- package/src/countries/BT/district/paro.js +1 -1
- package/src/countries/BT/district/pemagatshel.js +1 -1
- package/src/countries/BT/district/punakha.js +1 -1
- package/src/countries/BT/district/samdrupJongkhar.js +1 -1
- package/src/countries/BT/district/samtse.js +1 -1
- package/src/countries/BT/district/sarpang.js +1 -1
- package/src/countries/BT/district/thimphu.js +1 -1
- package/src/countries/BT/district/trashiYangste.js +1 -1
- package/src/countries/BT/district/trashigang.js +1 -1
- package/src/countries/BT/district/trongsa.js +1 -1
- package/src/countries/BT/district/tsirang.js +1 -1
- package/src/countries/BT/district/wangduePhodrang.js +1 -1
- package/src/countries/BT/district/zhemgang.js +1 -1
- package/src/countries/CU/district/artemisa.js +2 -2
- package/src/countries/CU/district/camaguey.js +2 -2
- package/src/countries/CU/district/ciegoDeAvila.js +2 -2
- package/src/countries/CU/district/cienfuegos.js +2 -2
- package/src/countries/CU/district/granma.js +2 -2
- package/src/countries/CU/district/guantanamo.js +2 -2
- package/src/countries/CU/district/holguin.js +2 -2
- package/src/countries/CU/district/islaJuventud.js +1 -1
- package/src/countries/CU/district/laHabana.js +2 -2
- package/src/countries/CU/district/lasTunas.js +2 -2
- package/src/countries/CU/district/matanzas.js +2 -2
- package/src/countries/CU/district/mayabeque.js +1 -1
- package/src/countries/CU/district/pinarDelRio.js +2 -2
- package/src/countries/CU/district/sanctiSpiritus.js +2 -2
- package/src/countries/CU/district/santiagoDeCuba.js +2 -2
- package/src/countries/CU/district/villaClara.js +2 -2
- package/src/countries/CV/district/boaVista.js +1 -1
- package/src/countries/CV/district/brava.js +1 -1
- package/src/countries/CV/district/fogo.js +1 -1
- package/src/countries/CV/district/maio.js +1 -1
- package/src/countries/CV/district/sal.js +1 -1
- package/src/countries/CV/district/santiago.js +2 -2
- package/src/countries/CV/district/santoAntao.js +2 -2
- package/src/countries/CV/district/saoNicolau.js +1 -1
- package/src/countries/CV/district/saoVicente.js +1 -1
- package/src/countries/DZ/district/adrar.js +1 -1
- package/src/countries/DZ/district/ainDefla.js +1 -1
- package/src/countries/DZ/district/ainTemouchent.js +1 -1
- package/src/countries/DZ/district/algiers.js +2 -2
- package/src/countries/DZ/district/annaba.js +1 -1
- package/src/countries/DZ/district/batna.js +1 -1
- package/src/countries/DZ/district/bechar.js +1 -1
- package/src/countries/DZ/district/bejaia.js +1 -1
- package/src/countries/DZ/district/beniAbbes.js +1 -1
- package/src/countries/DZ/district/biskra.js +1 -1
- package/src/countries/DZ/district/blida.js +1 -1
- package/src/countries/DZ/district/bordjBadjiMokhtar.js +1 -1
- package/src/countries/DZ/district/bordjBouArreridj.js +1 -1
- package/src/countries/DZ/district/bouira.js +1 -1
- package/src/countries/DZ/district/boumerdes.js +1 -1
- package/src/countries/DZ/district/chlef.js +1 -1
- package/src/countries/DZ/district/constantine.js +2 -2
- package/src/countries/DZ/district/djanet.js +1 -1
- package/src/countries/DZ/district/djelfa.js +1 -1
- package/src/countries/DZ/district/elBayadh.js +1 -1
- package/src/countries/DZ/district/elMeghaier.js +1 -1
- package/src/countries/DZ/district/elMeniaa.js +1 -1
- package/src/countries/DZ/district/elOued.js +1 -1
- package/src/countries/DZ/district/elTarf.js +1 -1
- package/src/countries/DZ/district/ghardaia.js +1 -1
- package/src/countries/DZ/district/guelma.js +1 -1
- package/src/countries/DZ/district/illizi.js +1 -1
- package/src/countries/DZ/district/inGuezzam.js +1 -1
- package/src/countries/DZ/district/inSalah.js +1 -1
- package/src/countries/DZ/district/jijel.js +1 -1
- package/src/countries/DZ/district/khenchela.js +1 -1
- package/src/countries/DZ/district/laghouat.js +1 -1
- package/src/countries/DZ/district/mascara.js +1 -1
- package/src/countries/DZ/district/medea.js +1 -1
- package/src/countries/DZ/district/mila.js +1 -1
- package/src/countries/DZ/district/mostaganem.js +1 -1
- package/src/countries/DZ/district/msila.js +1 -1
- package/src/countries/DZ/district/naama.js +1 -1
- package/src/countries/DZ/district/oran.js +2 -2
- package/src/countries/DZ/district/ouargla.js +1 -1
- package/src/countries/DZ/district/ouledDjellal.js +1 -1
- package/src/countries/DZ/district/oumElBouaghi.js +1 -1
- package/src/countries/DZ/district/relizane.js +1 -1
- package/src/countries/DZ/district/saida.js +1 -1
- package/src/countries/DZ/district/setif.js +1 -1
- package/src/countries/DZ/district/sidiBelAbbes.js +1 -1
- package/src/countries/DZ/district/skikda.js +1 -1
- package/src/countries/DZ/district/soukAhras.js +1 -1
- package/src/countries/DZ/district/tamanrasset.js +1 -1
- package/src/countries/DZ/district/tebessa.js +1 -1
- package/src/countries/DZ/district/tiaret.js +1 -1
- package/src/countries/DZ/district/timimoun.js +1 -1
- package/src/countries/DZ/district/tindouf.js +1 -1
- package/src/countries/DZ/district/tipaza.js +1 -1
- package/src/countries/DZ/district/tissemsilt.js +1 -1
- package/src/countries/DZ/district/tiziOuzou.js +1 -1
- package/src/countries/DZ/district/tlemcen.js +1 -1
- package/src/countries/DZ/district/touggourt.js +1 -1
- package/src/countries/EG/district/alexandria.js +1 -1
- package/src/countries/EG/district/aswan.js +1 -1
- package/src/countries/EG/district/asyut.js +1 -1
- package/src/countries/EG/district/beheira.js +1 -1
- package/src/countries/EG/district/cairo.js +1 -1
- package/src/countries/EG/district/dakahlia.js +1 -1
- package/src/countries/EG/district/damietta.js +1 -1
- package/src/countries/EG/district/fayoum.js +1 -1
- package/src/countries/EG/district/gharbia.js +1 -1
- package/src/countries/EG/district/giza.js +1 -1
- package/src/countries/EG/district/ismailia.js +1 -1
- package/src/countries/EG/district/kafrElSheikh.js +1 -1
- package/src/countries/EG/district/luxor.js +1 -1
- package/src/countries/EG/district/matruh.js +1 -1
- package/src/countries/EG/district/menofia.js +1 -1
- package/src/countries/EG/district/minya.js +1 -1
- package/src/countries/EG/district/newValley.js +1 -1
- package/src/countries/EG/district/northSinai.js +1 -1
- package/src/countries/EG/district/northUpperEgypt.js +1 -1
- package/src/countries/EG/district/portSaid.js +1 -1
- package/src/countries/EG/district/qalyubia.js +1 -1
- package/src/countries/EG/district/qena.js +1 -1
- package/src/countries/EG/district/redSea.js +1 -1
- package/src/countries/EG/district/sharqia.js +1 -1
- package/src/countries/EG/district/sohag.js +1 -1
- package/src/countries/EG/district/southSinai.js +1 -1
- package/src/countries/EG/district/suez.js +1 -1
- package/src/countries/ET/district/addisAbaba.js +2 -2
- package/src/countries/ET/district/afar.js +2 -2
- package/src/countries/ET/district/amhara.js +3 -3
- package/src/countries/ET/district/benishangul.js +1 -1
- package/src/countries/ET/district/diredawa.js +1 -1
- package/src/countries/ET/district/gambela.js +1 -1
- package/src/countries/ET/district/harari.js +1 -1
- package/src/countries/ET/district/oromia.js +3 -3
- package/src/countries/ET/district/sidama.js +1 -1
- package/src/countries/ET/district/somali.js +2 -2
- package/src/countries/ET/district/southernNations.js +2 -2
- package/src/countries/ET/district/tigray.js +2 -2
- package/src/countries/GE/district/adjara.js +2 -2
- package/src/countries/GE/district/guria.js +1 -1
- package/src/countries/GE/district/imereti.js +2 -2
- package/src/countries/GE/district/kakheti.js +1 -1
- package/src/countries/GE/district/kvemoKartli.js +2 -2
- package/src/countries/GE/district/mtskheta.js +1 -1
- package/src/countries/GE/district/rachaLechkhumi.js +1 -1
- package/src/countries/GE/district/samegrelo.js +1 -1
- package/src/countries/GE/district/samtskhe.js +1 -1
- package/src/countries/GE/district/shidaKartli.js +1 -1
- package/src/countries/GE/district/tbilisi.js +2 -2
- package/src/countries/GH/district/ahafo.js +1 -1
- package/src/countries/GH/district/ashanti.js +1 -1
- package/src/countries/GH/district/northern.js +1 -1
- package/src/countries/GH/district/volta.js +1 -1
- package/src/countries/GR/district/attica.js +2 -2
- package/src/countries/GR/district/centralGreece.js +1 -1
- package/src/countries/GR/district/centralMacedonia.js +2 -2
- package/src/countries/GR/district/crete.js +2 -2
- package/src/countries/GR/district/easternMacedonia.js +1 -1
- package/src/countries/GR/district/epirus.js +1 -1
- package/src/countries/GR/district/ionianIslands.js +1 -1
- package/src/countries/GR/district/northAegean.js +1 -1
- package/src/countries/GR/district/peloponnese.js +1 -1
- package/src/countries/GR/district/southAegean.js +1 -1
- package/src/countries/GR/district/thessaly.js +2 -2
- package/src/countries/GR/district/westernGreece.js +1 -1
- package/src/countries/GR/district/westernMacedonia.js +1 -1
- package/src/countries/GW/district/bissau.js +1 -1
- package/src/countries/IL/district/central.js +2 -2
- package/src/countries/IL/district/haifa.js +1 -1
- package/src/countries/IL/district/jerusalem.js +1 -1
- package/src/countries/IL/district/northern.js +1 -1
- package/src/countries/IL/district/southern.js +1 -1
- package/src/countries/IL/district/telAviv.js +2 -2
- package/src/countries/IQ/district/alAnbar.js +2 -2
- package/src/countries/IQ/district/babil.js +1 -1
- package/src/countries/IQ/district/baghdad.js +2 -2
- package/src/countries/IQ/district/basra.js +1 -1
- package/src/countries/IQ/district/dhiQar.js +1 -1
- package/src/countries/IQ/district/diyala.js +1 -1
- package/src/countries/IQ/district/duhok.js +1 -1
- package/src/countries/IQ/district/erbil.js +1 -1
- package/src/countries/IQ/district/karbala.js +1 -1
- package/src/countries/IQ/district/kirkuk.js +1 -1
- package/src/countries/IQ/district/maysan.js +1 -1
- package/src/countries/IQ/district/muthanna.js +1 -1
- package/src/countries/IQ/district/najaf.js +1 -1
- package/src/countries/IQ/district/nineveh.js +1 -1
- package/src/countries/IQ/district/qadisiyah.js +1 -1
- package/src/countries/IQ/district/salahAdDin.js +1 -1
- package/src/countries/IQ/district/sulaymaniyah.js +1 -1
- package/src/countries/IQ/district/wasit.js +1 -1
- package/src/countries/IR/district/alborz.js +1 -1
- package/src/countries/IR/district/ardabil.js +1 -1
- package/src/countries/IR/district/bushehr.js +1 -1
- package/src/countries/IR/district/chaharmahalAndBakhtiari.js +1 -1
- package/src/countries/IR/district/eastAzerbaijan.js +1 -1
- package/src/countries/IR/district/fars.js +1 -1
- package/src/countries/IR/district/gilan.js +1 -1
- package/src/countries/IR/district/golestan.js +1 -1
- package/src/countries/IR/district/hamadan.js +1 -1
- package/src/countries/IR/district/hormozgan.js +1 -1
- package/src/countries/IR/district/ilam.js +1 -1
- package/src/countries/IR/district/isfahan.js +1 -1
- package/src/countries/IR/district/kerman.js +1 -1
- package/src/countries/IR/district/kermanshah.js +1 -1
- package/src/countries/IR/district/khuzestan.js +1 -1
- package/src/countries/IR/district/kohgiluyehAndBoyerAhmad.js +1 -1
- package/src/countries/IR/district/kurdistan.js +1 -1
- package/src/countries/IR/district/lorestan.js +1 -1
- package/src/countries/IR/district/markazi.js +1 -1
- package/src/countries/IR/district/mazandaran.js +1 -1
- package/src/countries/IR/district/northKhorasan.js +1 -1
- package/src/countries/IR/district/qazvin.js +1 -1
- package/src/countries/IR/district/qom.js +1 -1
- package/src/countries/IR/district/razaviKhorasan.js +1 -1
- package/src/countries/IR/district/semnan.js +1 -1
- package/src/countries/IR/district/sistanAndBaluchestan.js +1 -1
- package/src/countries/IR/district/southKhorasan.js +1 -1
- package/src/countries/IR/district/tehran.js +1 -1
- package/src/countries/IR/district/westAzerbaijan.js +1 -1
- package/src/countries/IR/district/yazd.js +1 -1
- package/src/countries/IR/district/zanjan.js +1 -1
- package/src/countries/JM/district/clarendon.js +1 -1
- package/src/countries/JM/district/hanover.js +1 -1
- package/src/countries/JM/district/kingston.js +1 -1
- package/src/countries/JM/district/manchester.js +1 -1
- package/src/countries/JM/district/portland.js +1 -1
- package/src/countries/JM/district/saintAndrew.js +1 -1
- package/src/countries/JM/district/saintAnn.js +1 -1
- package/src/countries/JM/district/saintCatherine.js +1 -1
- package/src/countries/JM/district/saintElizabeth.js +1 -1
- package/src/countries/JM/district/saintJames.js +1 -1
- package/src/countries/JM/district/saintMary.js +1 -1
- package/src/countries/JM/district/saintThomas.js +1 -1
- package/src/countries/JM/district/trelawny.js +1 -1
- package/src/countries/JM/district/westmoreland.js +1 -1
- package/src/countries/JO/district/ajloun.js +1 -1
- package/src/countries/JO/district/amman.js +2 -2
- package/src/countries/JO/district/aqaba.js +1 -1
- package/src/countries/JO/district/balqa.js +1 -1
- package/src/countries/JO/district/irbid.js +1 -1
- package/src/countries/JO/district/jarash.js +1 -1
- package/src/countries/JO/district/karak.js +1 -1
- package/src/countries/JO/district/maan.js +1 -1
- package/src/countries/JO/district/madaba.js +1 -1
- package/src/countries/JO/district/mafraq.js +1 -1
- package/src/countries/JO/district/tafilah.js +1 -1
- package/src/countries/JO/district/zarqa.js +1 -1
- package/src/countries/KG/district/batken.js +2 -2
- package/src/countries/KG/district/bishkek.js +1 -1
- package/src/countries/KG/district/chuy.js +2 -2
- package/src/countries/KG/district/issykKul.js +2 -2
- package/src/countries/KG/district/jalalAbad.js +2 -2
- package/src/countries/KG/district/naryn.js +1 -1
- package/src/countries/KG/district/osh.js +2 -2
- package/src/countries/KG/district/talas.js +1 -1
- package/src/countries/KH/district/banteayMeanchey.js +1 -1
- package/src/countries/KH/district/battambang.js +1 -1
- package/src/countries/KH/district/kampongCham.js +1 -1
- package/src/countries/KH/district/kampongChhnang.js +1 -1
- package/src/countries/KH/district/kampongSpeu.js +1 -1
- package/src/countries/KH/district/kampongThom.js +1 -1
- package/src/countries/KH/district/kampot.js +1 -1
- package/src/countries/KH/district/kandal.js +1 -1
- package/src/countries/KH/district/kep.js +1 -1
- package/src/countries/KH/district/kohKong.js +1 -1
- package/src/countries/KH/district/kratie.js +1 -1
- package/src/countries/KH/district/mondulkiri.js +1 -1
- package/src/countries/KH/district/oddarMeanchey.js +1 -1
- package/src/countries/KH/district/pailin.js +1 -1
- package/src/countries/KH/district/phnomPenh.js +1 -1
- package/src/countries/KH/district/preahSihanouk.js +1 -1
- package/src/countries/KH/district/preahVihear.js +1 -1
- package/src/countries/KH/district/preyVeng.js +1 -1
- package/src/countries/KH/district/pursat.js +1 -1
- package/src/countries/KH/district/ratanakiri.js +1 -1
- package/src/countries/KH/district/siemReap.js +1 -1
- package/src/countries/KH/district/stungTreng.js +1 -1
- package/src/countries/KH/district/svayRieng.js +1 -1
- package/src/countries/KH/district/takeo.js +1 -1
- package/src/countries/KH/district/tbongKhmum.js +1 -1
- package/src/countries/KW/district/ahmadi.js +2 -2
- package/src/countries/KW/district/capital.js +1 -1
- package/src/countries/KW/district/farwaniya.js +1 -1
- package/src/countries/KW/district/hawalli.js +2 -2
- package/src/countries/KW/district/jahra.js +1 -1
- package/src/countries/KW/district/mubarak.js +1 -1
- package/src/countries/KZ/district/akmola.js +1 -1
- package/src/countries/KZ/district/aktobe.js +1 -1
- package/src/countries/KZ/district/almaty.js +1 -1
- package/src/countries/KZ/district/almatyRegion.js +1 -1
- package/src/countries/KZ/district/astana.js +1 -1
- package/src/countries/KZ/district/atyrau.js +1 -1
- package/src/countries/KZ/district/eastKazakhstan.js +2 -2
- package/src/countries/KZ/district/jambyl.js +1 -1
- package/src/countries/KZ/district/karagandy.js +2 -2
- package/src/countries/KZ/district/kostanay.js +1 -1
- package/src/countries/KZ/district/kyzylorda.js +1 -1
- package/src/countries/KZ/district/mangystau.js +1 -1
- package/src/countries/KZ/district/northKazakhstan.js +1 -1
- package/src/countries/KZ/district/pavlodar.js +1 -1
- package/src/countries/KZ/district/shymkent.js +1 -1
- package/src/countries/KZ/district/turkestan.js +1 -1
- package/src/countries/KZ/district/westKazakhstan.js +1 -1
- package/src/countries/LA/district/attapeu.js +1 -1
- package/src/countries/LA/district/bokeo.js +1 -1
- package/src/countries/LA/district/bolikhamxai.js +1 -1
- package/src/countries/LA/district/champasak.js +1 -1
- package/src/countries/LA/district/houaphan.js +1 -1
- package/src/countries/LA/district/khammouan.js +1 -1
- package/src/countries/LA/district/louangNamtha.js +1 -1
- package/src/countries/LA/district/louangphabang.js +1 -1
- package/src/countries/LA/district/oudomxai.js +1 -1
- package/src/countries/LA/district/phongsali.js +1 -1
- package/src/countries/LA/district/salavan.js +1 -1
- package/src/countries/LA/district/savannakhet.js +1 -1
- package/src/countries/LA/district/vientiane.js +1 -1
- package/src/countries/LA/district/vientianeCapital.js +1 -1
- package/src/countries/LA/district/xaisomboun.js +1 -1
- package/src/countries/LA/district/xekong.js +1 -1
- package/src/countries/LA/district/xiangkhouang.js +1 -1
- package/src/countries/LB/district/akkar.js +1 -1
- package/src/countries/LB/district/baalbek.js +1 -1
- package/src/countries/LB/district/beirut.js +1 -1
- package/src/countries/LB/district/bekaa.js +1 -1
- package/src/countries/LB/district/mountLebanon.js +2 -2
- package/src/countries/LB/district/nabatieh.js +1 -1
- package/src/countries/LB/district/northLebanon.js +1 -1
- package/src/countries/LB/district/south.js +2 -2
- package/src/countries/LC/district/anseLaRaye.js +1 -1
- package/src/countries/LC/district/canaries.js +1 -1
- package/src/countries/LC/district/castries.js +1 -1
- package/src/countries/LC/district/choiseul.js +1 -1
- package/src/countries/LC/district/dennery.js +1 -1
- package/src/countries/LC/district/grosIslet.js +1 -1
- package/src/countries/LC/district/laborie.js +1 -1
- package/src/countries/LC/district/micoud.js +1 -1
- package/src/countries/LC/district/soufriere.js +1 -1
- package/src/countries/LC/district/vieuxFort.js +1 -1
- package/src/countries/LR/district/grandBassa.js +1 -1
- package/src/countries/LS/district/berea.js +1 -1
- package/src/countries/LS/district/butha_buthe.js +1 -1
- package/src/countries/LS/district/leribe.js +1 -1
- package/src/countries/LS/district/mafeteng.js +1 -1
- package/src/countries/LS/district/maseru.js +1 -1
- package/src/countries/LS/district/mohales_hoek.js +1 -1
- package/src/countries/LS/district/mokhotlong.js +1 -1
- package/src/countries/LS/district/qacha_nek.js +1 -1
- package/src/countries/LS/district/quthing.js +1 -1
- package/src/countries/LS/district/thaba_tseka.js +1 -1
- package/src/countries/ME/district/andrijevica.js +1 -1
- package/src/countries/ME/district/bar.js +1 -1
- package/src/countries/ME/district/berane.js +1 -1
- package/src/countries/ME/district/bijelo_polje.js +1 -1
- package/src/countries/ME/district/budva.js +1 -1
- package/src/countries/ME/district/cetinje.js +1 -1
- package/src/countries/ME/district/danilovgrad.js +1 -1
- package/src/countries/ME/district/gusinje.js +1 -1
- package/src/countries/ME/district/herceg_novi.js +1 -1
- package/src/countries/ME/district/kolasin.js +1 -1
- package/src/countries/ME/district/kotor.js +1 -1
- package/src/countries/ME/district/mojkovac.js +1 -1
- package/src/countries/ME/district/niksic.js +1 -1
- package/src/countries/ME/district/petnjica.js +1 -1
- package/src/countries/ME/district/plav.js +1 -1
- package/src/countries/ME/district/pljevlja.js +1 -1
- package/src/countries/ME/district/pluzine.js +1 -1
- package/src/countries/ME/district/podgorica.js +1 -1
- package/src/countries/ME/district/rozaje.js +1 -1
- package/src/countries/ME/district/savnik.js +1 -1
- package/src/countries/ME/district/tivat.js +1 -1
- package/src/countries/ME/district/tuzi.js +1 -1
- package/src/countries/ME/district/ulcinj.js +1 -1
- package/src/countries/ME/district/zabljak.js +1 -1
- package/src/countries/MG/district/antananarivo.js +2 -2
- package/src/countries/MG/district/antsiranana.js +1 -1
- package/src/countries/MG/district/fianarantsoa.js +1 -1
- package/src/countries/MG/district/mahajanga.js +1 -1
- package/src/countries/MG/district/toamasina.js +1 -1
- package/src/countries/MG/district/toliara.js +1 -1
- package/src/countries/MM/district/ayeyarwady.js +2 -2
- package/src/countries/MM/district/bago.js +1 -1
- package/src/countries/MM/district/chin.js +1 -1
- package/src/countries/MM/district/kachin.js +1 -1
- package/src/countries/MM/district/kayah.js +1 -1
- package/src/countries/MM/district/kayin.js +1 -1
- package/src/countries/MM/district/magway.js +1 -1
- package/src/countries/MM/district/mandalay.js +2 -2
- package/src/countries/MM/district/mon.js +1 -1
- package/src/countries/MM/district/naypyidaw.js +1 -1
- package/src/countries/MM/district/rakhine.js +1 -1
- package/src/countries/MM/district/sagaing.js +2 -2
- package/src/countries/MM/district/shan.js +1 -1
- package/src/countries/MM/district/tanintharyi.js +1 -1
- package/src/countries/MM/district/yangon.js +1 -1
- package/src/countries/MN/district/arkhangai.js +1 -1
- package/src/countries/MN/district/bayan_olgii.js +1 -1
- package/src/countries/MN/district/bayankhongor.js +1 -1
- package/src/countries/MN/district/bulgan.js +1 -1
- package/src/countries/MN/district/darkhan.js +1 -1
- package/src/countries/MN/district/dornod.js +1 -1
- package/src/countries/MN/district/dornogovi.js +1 -1
- package/src/countries/MN/district/dundgovi.js +1 -1
- package/src/countries/MN/district/govi_altai.js +1 -1
- package/src/countries/MN/district/govisumber.js +1 -1
- package/src/countries/MN/district/khentii.js +1 -1
- package/src/countries/MN/district/khovd.js +1 -1
- package/src/countries/MN/district/khuvsgul.js +1 -1
- package/src/countries/MN/district/omnogovi.js +1 -1
- package/src/countries/MN/district/orkhon.js +1 -1
- package/src/countries/MN/district/ovorkhangai.js +1 -1
- package/src/countries/MN/district/selenge.js +1 -1
- package/src/countries/MN/district/sukhbaatar.js +1 -1
- package/src/countries/MN/district/tov.js +1 -1
- package/src/countries/MN/district/ulaanbaatar.js +1 -1
- package/src/countries/MN/district/uvs.js +1 -1
- package/src/countries/MN/district/zavkhan.js +1 -1
- package/src/countries/MU/district/blackRiver.js +1 -1
- package/src/countries/MU/district/flacq.js +1 -1
- package/src/countries/MU/district/grandPort.js +1 -1
- package/src/countries/MU/district/moka.js +1 -1
- package/src/countries/MU/district/pamplemousses.js +1 -1
- package/src/countries/MU/district/plainesWilhems.js +2 -2
- package/src/countries/MU/district/portLouis.js +1 -1
- package/src/countries/MU/district/riviereDuRempart.js +1 -1
- package/src/countries/MU/district/savanne.js +1 -1
- package/src/countries/MV/district/central.js +1 -1
- package/src/countries/MV/district/male.js +1 -1
- package/src/countries/MV/district/north.js +1 -1
- package/src/countries/MV/district/northCentral.js +1 -1
- package/src/countries/MV/district/south.js +1 -1
- package/src/countries/MV/district/southCentral.js +1 -1
- package/src/countries/MV/district/upperSouth.js +1 -1
- package/src/countries/MZ/district/caboDelgado.js +2 -2
- package/src/countries/MZ/district/gaza.js +1 -1
- package/src/countries/MZ/district/inhambane.js +1 -1
- package/src/countries/MZ/district/manica.js +1 -1
- package/src/countries/MZ/district/maputoCidade.js +1 -1
- package/src/countries/MZ/district/maputoProv.js +1 -1
- package/src/countries/MZ/district/nampula.js +1 -1
- package/src/countries/MZ/district/niassa.js +1 -1
- package/src/countries/MZ/district/sofala.js +1 -1
- package/src/countries/MZ/district/tete.js +1 -1
- package/src/countries/MZ/district/zambezia.js +1 -1
- package/src/countries/NA/district/erongo.js +1 -1
- package/src/countries/NA/district/hardap.js +1 -1
- package/src/countries/NA/district/karas.js +1 -1
- package/src/countries/NA/district/kavangoEast.js +1 -1
- package/src/countries/NA/district/kavangoWest.js +1 -1
- package/src/countries/NA/district/khomas.js +1 -1
- package/src/countries/NA/district/kunene.js +1 -1
- package/src/countries/NA/district/ohangwena.js +1 -1
- package/src/countries/NA/district/omaheke.js +1 -1
- package/src/countries/NA/district/omusati.js +1 -1
- package/src/countries/NA/district/oshana.js +1 -1
- package/src/countries/NA/district/oshikoto.js +1 -1
- package/src/countries/NA/district/otjozondjupa.js +1 -1
- package/src/countries/NA/district/zambezi.js +1 -1
- package/src/countries/NE/district/tahoua.js +1 -1
- package/src/countries/NE/district/zinder.js +1 -1
- package/src/countries/NG/district/abia.js +1 -1
- package/src/countries/NG/district/adamawa.js +1 -1
- package/src/countries/NG/district/akwaIbom.js +1 -1
- package/src/countries/NG/district/anambra.js +1 -1
- package/src/countries/NG/district/bauchi.js +1 -1
- package/src/countries/NG/district/bayelsa.js +1 -1
- package/src/countries/NG/district/benue.js +1 -1
- package/src/countries/NG/district/borno.js +1 -1
- package/src/countries/NG/district/crossRiver.js +1 -1
- package/src/countries/NG/district/delta.js +1 -1
- package/src/countries/NG/district/ebonyi.js +1 -1
- package/src/countries/NG/district/edo.js +1 -1
- package/src/countries/NG/district/ekiti.js +1 -1
- package/src/countries/NG/district/enugu.js +1 -1
- package/src/countries/NG/district/fCT.js +1 -1
- package/src/countries/NG/district/gombe.js +1 -1
- package/src/countries/NG/district/imo.js +1 -1
- package/src/countries/NG/district/jigawa.js +1 -1
- package/src/countries/NG/district/kaduna.js +1 -1
- package/src/countries/NG/district/kano.js +1 -1
- package/src/countries/NG/district/katsina.js +1 -1
- package/src/countries/NG/district/kebbi.js +1 -1
- package/src/countries/NG/district/kogi.js +1 -1
- package/src/countries/NG/district/kwara.js +1 -1
- package/src/countries/NG/district/lagos.js +1 -1
- package/src/countries/NG/district/nasarawa.js +1 -1
- package/src/countries/NG/district/niger.js +1 -1
- package/src/countries/NG/district/ogun.js +1 -1
- package/src/countries/NG/district/ondo.js +1 -1
- package/src/countries/NG/district/osun.js +1 -1
- package/src/countries/NG/district/oyo.js +1 -1
- package/src/countries/NG/district/plateau.js +1 -1
- package/src/countries/NG/district/rivers.js +1 -1
- package/src/countries/NG/district/sokoto.js +1 -1
- package/src/countries/NG/district/taraba.js +1 -1
- package/src/countries/NG/district/yobe.js +1 -1
- package/src/countries/NG/district/zamfara.js +1 -1
- package/src/countries/NI/district/boaco.js +1 -1
- package/src/countries/NI/district/carazo.js +1 -1
- package/src/countries/NI/district/caribbeanCoastNorth.js +1 -1
- package/src/countries/NI/district/caribbeanCoastSouth.js +1 -1
- package/src/countries/NI/district/chinandega.js +1 -1
- package/src/countries/NI/district/chontales.js +1 -1
- package/src/countries/NI/district/esteli.js +1 -1
- package/src/countries/NI/district/granada.js +1 -1
- package/src/countries/NI/district/jinotega.js +1 -1
- package/src/countries/NI/district/leon.js +1 -1
- package/src/countries/NI/district/madriz.js +1 -1
- package/src/countries/NI/district/managua.js +1 -1
- package/src/countries/NI/district/masaya.js +1 -1
- package/src/countries/NI/district/matagalpa.js +1 -1
- package/src/countries/NI/district/nuevaSegovia.js +1 -1
- package/src/countries/NI/district/rioSanJuan.js +1 -1
- package/src/countries/NI/district/rivas.js +1 -1
- package/src/countries/NP/district/bagmati.js +2 -2
- package/src/countries/NP/district/gandaki.js +1 -1
- package/src/countries/NP/district/karnali.js +1 -1
- package/src/countries/NP/district/koshi.js +2 -2
- package/src/countries/NP/district/lumbini.js +1 -1
- package/src/countries/NP/district/madhesh.js +1 -1
- package/src/countries/NP/district/sudurpashchim.js +1 -1
- package/src/countries/OM/district/adDakhiliyah.js +1 -1
- package/src/countries/OM/district/alBatinahNorth.js +1 -1
- package/src/countries/OM/district/alBatinahSouth.js +1 -1
- package/src/countries/OM/district/alBuraymi.js +1 -1
- package/src/countries/OM/district/alWusta.js +1 -1
- package/src/countries/OM/district/ashSharqiyahNorth.js +1 -1
- package/src/countries/OM/district/ashSharqiyahSouth.js +1 -1
- package/src/countries/OM/district/azZahirah.js +1 -1
- package/src/countries/OM/district/dhofar.js +1 -1
- package/src/countries/OM/district/musandam.js +1 -1
- package/src/countries/OM/district/muscat.js +2 -2
- package/src/countries/PG/district/bougainville.js +1 -1
- package/src/countries/PG/district/centralProv.js +1 -1
- package/src/countries/PG/district/chimbu.js +1 -1
- package/src/countries/PG/district/eastHighlands.js +1 -1
- package/src/countries/PG/district/eastNewBritain.js +1 -1
- package/src/countries/PG/district/eastSepik.js +1 -1
- package/src/countries/PG/district/enga.js +1 -1
- package/src/countries/PG/district/gulf.js +1 -1
- package/src/countries/PG/district/hela.js +1 -1
- package/src/countries/PG/district/jiwaka.js +1 -1
- package/src/countries/PG/district/madang.js +1 -1
- package/src/countries/PG/district/manus.js +1 -1
- package/src/countries/PG/district/milneBay.js +1 -1
- package/src/countries/PG/district/morobe.js +1 -1
- package/src/countries/PG/district/ncr.js +1 -1
- package/src/countries/PG/district/newIreland.js +1 -1
- package/src/countries/PG/district/northernProv.js +1 -1
- package/src/countries/PG/district/sandaun.js +1 -1
- package/src/countries/PG/district/southern.js +1 -1
- package/src/countries/PG/district/westHighlands.js +1 -1
- package/src/countries/PG/district/westNewBritain.js +1 -1
- package/src/countries/PG/district/western.js +1 -1
- package/src/countries/PS/district/bethlehem.js +1 -1
- package/src/countries/PS/district/deir_el_balah.js +1 -1
- package/src/countries/PS/district/gaza.js +1 -1
- package/src/countries/PS/district/hebron.js +1 -1
- package/src/countries/PS/district/jenin.js +1 -1
- package/src/countries/PS/district/jericho.js +1 -1
- package/src/countries/PS/district/jerusalem.js +1 -1
- package/src/countries/PS/district/khanYunis.js +1 -1
- package/src/countries/PS/district/nablus.js +1 -1
- package/src/countries/PS/district/northGaza.js +1 -1
- package/src/countries/PS/district/qalqilya.js +1 -1
- package/src/countries/PS/district/rafah.js +1 -1
- package/src/countries/PS/district/ramallah.js +1 -1
- package/src/countries/PS/district/salfit.js +1 -1
- package/src/countries/PS/district/tubas.js +1 -1
- package/src/countries/PS/district/tulkarm.js +1 -1
- package/src/countries/PW/district/aimeliik.js +1 -1
- package/src/countries/PW/district/airai.js +1 -1
- package/src/countries/PW/district/angaur.js +1 -1
- package/src/countries/PW/district/hatohobei.js +1 -1
- package/src/countries/PW/district/kayangel.js +1 -1
- package/src/countries/PW/district/koror.js +1 -1
- package/src/countries/PW/district/melekeok.js +1 -1
- package/src/countries/PW/district/ngaraard.js +1 -1
- package/src/countries/PW/district/ngarchelong.js +1 -1
- package/src/countries/PW/district/ngardmau.js +1 -1
- package/src/countries/PW/district/ngatpang.js +1 -1
- package/src/countries/PW/district/ngchesar.js +1 -1
- package/src/countries/PW/district/ngeremlengui.js +1 -1
- package/src/countries/PW/district/ngiwal.js +1 -1
- package/src/countries/PW/district/peleliu.js +1 -1
- package/src/countries/PW/district/sonsorol.js +1 -1
- package/src/countries/PY/district/altoParaguay.js +1 -1
- package/src/countries/PY/district/altoParana.js +1 -1
- package/src/countries/PY/district/amambay.js +1 -1
- package/src/countries/PY/district/asuncion.js +1 -1
- package/src/countries/PY/district/boqueron.js +1 -1
- package/src/countries/PY/district/caaguazu.js +1 -1
- package/src/countries/PY/district/caazapa.js +1 -1
- package/src/countries/PY/district/canindeyu.js +1 -1
- package/src/countries/PY/district/central.js +1 -1
- package/src/countries/PY/district/concepcion.js +1 -1
- package/src/countries/PY/district/cordillera.js +1 -1
- package/src/countries/PY/district/guaira.js +1 -1
- package/src/countries/PY/district/itapua.js +1 -1
- package/src/countries/PY/district/misiones.js +1 -1
- package/src/countries/PY/district/neembucu.js +1 -1
- package/src/countries/PY/district/paraguari.js +1 -1
- package/src/countries/PY/district/presidenteHayes.js +1 -1
- package/src/countries/PY/district/sanPedro.js +1 -1
- package/src/countries/SA/district/alBahah.js +1 -1
- package/src/countries/SA/district/alJawf.js +1 -1
- package/src/countries/SA/district/alQassim.js +1 -1
- package/src/countries/SA/district/asir.js +1 -1
- package/src/countries/SA/district/eastern.js +2 -2
- package/src/countries/SA/district/hail.js +1 -1
- package/src/countries/SA/district/jazan.js +1 -1
- package/src/countries/SA/district/madinah.js +1 -1
- package/src/countries/SA/district/makkah.js +2 -2
- package/src/countries/SA/district/najran.js +1 -1
- package/src/countries/SA/district/northernBorders.js +1 -1
- package/src/countries/SA/district/riyadh.js +2 -2
- package/src/countries/SA/district/tabuk.js +1 -1
- package/src/countries/SD/district/alGedaref.js +1 -1
- package/src/countries/SD/district/alJazirah.js +1 -1
- package/src/countries/SD/district/blueNile.js +1 -1
- package/src/countries/SD/district/centralDarfur.js +1 -1
- package/src/countries/SD/district/eastDarfur.js +1 -1
- package/src/countries/SD/district/kassala.js +1 -1
- package/src/countries/SD/district/khartoum.js +1 -1
- package/src/countries/SD/district/northDarfur.js +1 -1
- package/src/countries/SD/district/northKordofan.js +1 -1
- package/src/countries/SD/district/northernState.js +1 -1
- package/src/countries/SD/district/redSea.js +1 -1
- package/src/countries/SD/district/riverNile.js +1 -1
- package/src/countries/SD/district/sennar.js +1 -1
- package/src/countries/SD/district/southDarfur.js +1 -1
- package/src/countries/SD/district/southKordofan.js +1 -1
- package/src/countries/SD/district/westDarfur.js +1 -1
- package/src/countries/SD/district/westKordofan.js +1 -1
- package/src/countries/SD/district/whiteNile.js +1 -1
- package/src/countries/SN/district/dakar.js +1 -1
- package/src/countries/SN/district/diourbel.js +1 -1
- package/src/countries/SN/district/fatick.js +1 -1
- package/src/countries/SN/district/kaffrine.js +1 -1
- package/src/countries/SN/district/kaolack.js +1 -1
- package/src/countries/SN/district/kedougou.js +1 -1
- package/src/countries/SN/district/kolda.js +1 -1
- package/src/countries/SN/district/louga.js +1 -1
- package/src/countries/SN/district/matam.js +1 -1
- package/src/countries/SN/district/saintLouis.js +1 -1
- package/src/countries/SN/district/sedhiou.js +1 -1
- package/src/countries/SN/district/tambacounda.js +1 -1
- package/src/countries/SN/district/thies.js +1 -1
- package/src/countries/SN/district/ziguinchor.js +1 -1
- package/src/countries/SO/district/banaadir.js +1 -1
- package/src/countries/SV/district/ahuachapon.js +1 -1
- package/src/countries/SV/district/cabanas.js +1 -1
- package/src/countries/SV/district/chalatenango.js +1 -1
- package/src/countries/SV/district/cuscatlan.js +1 -1
- package/src/countries/SV/district/laLibertad.js +1 -1
- package/src/countries/SV/district/laPaz.js +1 -1
- package/src/countries/SV/district/laUnion.js +1 -1
- package/src/countries/SV/district/morazan.js +1 -1
- package/src/countries/SV/district/sanMiguel.js +1 -1
- package/src/countries/SV/district/sanSalvador.js +1 -1
- package/src/countries/SV/district/sanVicente.js +1 -1
- package/src/countries/SV/district/santaAna.js +1 -1
- package/src/countries/SV/district/sonsonate.js +1 -1
- package/src/countries/SV/district/usulutan.js +1 -1
- package/src/countries/SZ/district/hhohho.js +2 -2
- package/src/countries/SZ/district/lubombo.js +1 -1
- package/src/countries/SZ/district/manzini.js +1 -1
- package/src/countries/SZ/district/shiselweni.js +1 -1
- package/src/countries/TJ/district/drs.js +2 -2
- package/src/countries/TJ/district/dushanbe.js +1 -1
- package/src/countries/TJ/district/gbao.js +1 -1
- package/src/countries/TJ/district/khatlon.js +2 -2
- package/src/countries/TJ/district/sughd.js +2 -2
- package/src/countries/TM/district/ahal.js +2 -2
- package/src/countries/TM/district/ashgabat.js +1 -1
- package/src/countries/TM/district/balkan.js +2 -2
- package/src/countries/TM/district/dashoguz.js +1 -1
- package/src/countries/TM/district/lebap.js +1 -1
- package/src/countries/TM/district/mary.js +1 -1
- package/src/countries/TN/district/ariana.js +1 -1
- package/src/countries/TN/district/beja.js +1 -1
- package/src/countries/TN/district/benArous.js +1 -1
- package/src/countries/TN/district/bizerte.js +1 -1
- package/src/countries/TN/district/gabes.js +1 -1
- package/src/countries/TN/district/gafsa.js +1 -1
- package/src/countries/TN/district/jendouba.js +1 -1
- package/src/countries/TN/district/kairouan.js +1 -1
- package/src/countries/TN/district/kasserine.js +1 -1
- package/src/countries/TN/district/kebili.js +1 -1
- package/src/countries/TN/district/kef.js +1 -1
- package/src/countries/TN/district/mahdia.js +1 -1
- package/src/countries/TN/district/manouba.js +1 -1
- package/src/countries/TN/district/medenine.js +1 -1
- package/src/countries/TN/district/monastir.js +1 -1
- package/src/countries/TN/district/nabeul.js +1 -1
- package/src/countries/TN/district/sfax.js +1 -1
- package/src/countries/TN/district/sidiBouzid.js +1 -1
- package/src/countries/TN/district/siliana.js +1 -1
- package/src/countries/TN/district/sousse.js +1 -1
- package/src/countries/TN/district/tataouine.js +1 -1
- package/src/countries/TN/district/tozeur.js +1 -1
- package/src/countries/TN/district/tunis.js +1 -1
- package/src/countries/TN/district/zaghouan.js +1 -1
- package/src/countries/TT/district/sangreGrande.js +1 -1
- package/src/countries/TW/district/changhua.js +1 -1
- package/src/countries/TW/district/chiayiCity.js +1 -1
- package/src/countries/TW/district/chiayiCounty.js +1 -1
- package/src/countries/TW/district/hsinchuCity.js +1 -1
- package/src/countries/TW/district/hsinchuCounty.js +1 -1
- package/src/countries/TW/district/hualien.js +1 -1
- package/src/countries/TW/district/kaohsiung.js +1 -1
- package/src/countries/TW/district/keelung.js +1 -1
- package/src/countries/TW/district/kinmen.js +1 -1
- package/src/countries/TW/district/lienchiang.js +1 -1
- package/src/countries/TW/district/miaoli.js +1 -1
- package/src/countries/TW/district/nantou.js +1 -1
- package/src/countries/TW/district/newTaipei.js +1 -1
- package/src/countries/TW/district/penghu.js +1 -1
- package/src/countries/TW/district/pingtung.js +1 -1
- package/src/countries/TW/district/taichung.js +1 -1
- package/src/countries/TW/district/tainan.js +1 -1
- package/src/countries/TW/district/taipei.js +1 -1
- package/src/countries/TW/district/taitung.js +1 -1
- package/src/countries/TW/district/taoyuan.js +1 -1
- package/src/countries/TW/district/yilan.js +1 -1
- package/src/countries/TW/district/yunlin.js +1 -1
- package/src/countries/TZ/district/arusha.js +1 -1
- package/src/countries/TZ/district/darEsSalaam.js +1 -1
- package/src/countries/TZ/district/dodoma.js +1 -1
- package/src/countries/TZ/district/geita.js +1 -1
- package/src/countries/TZ/district/iringa.js +1 -1
- package/src/countries/TZ/district/kagera.js +1 -1
- package/src/countries/TZ/district/katavi.js +1 -1
- package/src/countries/TZ/district/kigoma.js +1 -1
- package/src/countries/TZ/district/kilimanjaro.js +1 -1
- package/src/countries/TZ/district/lindi.js +1 -1
- package/src/countries/TZ/district/manyara.js +1 -1
- package/src/countries/TZ/district/mara.js +1 -1
- package/src/countries/TZ/district/mbeya.js +1 -1
- package/src/countries/TZ/district/morogoro.js +1 -1
- package/src/countries/TZ/district/mtwara.js +1 -1
- package/src/countries/TZ/district/mwanza.js +1 -1
- package/src/countries/TZ/district/njombe.js +1 -1
- package/src/countries/TZ/district/pembaNorth.js +1 -1
- package/src/countries/TZ/district/pembaSouth.js +1 -1
- package/src/countries/TZ/district/pwani.js +1 -1
- package/src/countries/TZ/district/rukwa.js +1 -1
- package/src/countries/TZ/district/ruvuma.js +1 -1
- package/src/countries/TZ/district/shinyanga.js +1 -1
- package/src/countries/TZ/district/simiyu.js +1 -1
- package/src/countries/TZ/district/singida.js +1 -1
- package/src/countries/TZ/district/songwe.js +1 -1
- package/src/countries/TZ/district/tabora.js +1 -1
- package/src/countries/TZ/district/tanga.js +1 -1
- package/src/countries/TZ/district/ungujaNorth.js +1 -1
- package/src/countries/TZ/district/ungujaSouth.js +1 -1
- package/src/countries/TZ/district/zanzibarCity.js +1 -1
- package/src/countries/UZ/district/andijan.js +1 -1
- package/src/countries/UZ/district/bukhara.js +1 -1
- package/src/countries/UZ/district/fergana.js +1 -1
- package/src/countries/UZ/district/jizzakh.js +1 -1
- package/src/countries/UZ/district/karakalpakstan.js +1 -1
- package/src/countries/UZ/district/kashkadarya.js +1 -1
- package/src/countries/UZ/district/khorezm.js +1 -1
- package/src/countries/UZ/district/namangan.js +1 -1
- package/src/countries/UZ/district/navoiy.js +1 -1
- package/src/countries/UZ/district/samarkand.js +1 -1
- package/src/countries/UZ/district/sirdaryo.js +1 -1
- package/src/countries/UZ/district/surkhondaryo.js +1 -1
- package/src/countries/UZ/district/tashkentCity.js +1 -1
- package/src/countries/UZ/district/tashkentRegion.js +1 -1
- package/src/countries/VC/district/charlotte.js +1 -1
- package/src/countries/VC/district/grenadines.js +1 -1
- package/src/countries/VC/district/saintAndrew.js +1 -1
- package/src/countries/VC/district/saintDavid.js +1 -1
- package/src/countries/VC/district/saintGeorge.js +1 -1
- package/src/countries/VC/district/saintPatrick.js +1 -1
- package/src/countries/VE/district/amazonas.js +1 -1
- package/src/countries/VE/district/anzoategui.js +1 -1
- package/src/countries/VE/district/apure.js +1 -1
- package/src/countries/VE/district/aragua.js +1 -1
- package/src/countries/VE/district/barinas.js +1 -1
- package/src/countries/VE/district/bolivar.js +1 -1
- package/src/countries/VE/district/carabobo.js +1 -1
- package/src/countries/VE/district/caracas.js +1 -1
- package/src/countries/VE/district/cojedes.js +1 -1
- package/src/countries/VE/district/deltaAmacuro.js +1 -1
- package/src/countries/VE/district/falcon.js +1 -1
- package/src/countries/VE/district/guarico.js +1 -1
- package/src/countries/VE/district/lara.js +1 -1
- package/src/countries/VE/district/merida.js +1 -1
- package/src/countries/VE/district/miranda.js +1 -1
- package/src/countries/VE/district/monagas.js +1 -1
- package/src/countries/VE/district/nuevaEsparta.js +1 -1
- package/src/countries/VE/district/portuguesa.js +1 -1
- package/src/countries/VE/district/sucre.js +1 -1
- package/src/countries/VE/district/tachira.js +1 -1
- package/src/countries/VE/district/trujillo.js +1 -1
- package/src/countries/VE/district/vargas.js +1 -1
- package/src/countries/VE/district/yaracuy.js +1 -1
- package/src/countries/VE/district/zulia.js +1 -1
- package/src/countries/VN/district/anGiang.js +1 -1
- package/src/countries/VN/district/baRiaVungTau.js +1 -1
- package/src/countries/VN/district/bacGiang.js +1 -1
- package/src/countries/VN/district/bacKan.js +1 -1
- package/src/countries/VN/district/bacLieu.js +1 -1
- package/src/countries/VN/district/bacNinh.js +1 -1
- package/src/countries/VN/district/benTre.js +1 -1
- package/src/countries/VN/district/binhDinh.js +1 -1
- package/src/countries/VN/district/binhDuong.js +1 -1
- package/src/countries/VN/district/binhPhuoc.js +1 -1
- package/src/countries/VN/district/binhThuan.js +1 -1
- package/src/countries/VN/district/caMau.js +1 -1
- package/src/countries/VN/district/canTho.js +1 -1
- package/src/countries/VN/district/caoBang.js +1 -1
- package/src/countries/VN/district/daNang.js +1 -1
- package/src/countries/VN/district/dakLak.js +1 -1
- package/src/countries/VN/district/dakNong.js +1 -1
- package/src/countries/VN/district/dienBien.js +1 -1
- package/src/countries/VN/district/dongNai.js +1 -1
- package/src/countries/VN/district/dongThap.js +1 -1
- package/src/countries/VN/district/giaLai.js +1 -1
- package/src/countries/VN/district/haGiang.js +1 -1
- package/src/countries/VN/district/haNam.js +1 -1
- package/src/countries/VN/district/haNoi.js +1 -1
- package/src/countries/VN/district/haTinh.js +1 -1
- package/src/countries/VN/district/haiDuong.js +1 -1
- package/src/countries/VN/district/haiPhong.js +1 -1
- package/src/countries/VN/district/hauGiang.js +1 -1
- package/src/countries/VN/district/hoChiMinhCity.js +1 -1
- package/src/countries/VN/district/hoaBinh.js +1 -1
- package/src/countries/VN/district/hungYen.js +1 -1
- package/src/countries/VN/district/khanhHoa.js +1 -1
- package/src/countries/VN/district/kienGiang.js +1 -1
- package/src/countries/VN/district/konTum.js +1 -1
- package/src/countries/VN/district/laiChau.js +1 -1
- package/src/countries/VN/district/lamDong.js +1 -1
- package/src/countries/VN/district/langSon.js +1 -1
- package/src/countries/VN/district/laoCai.js +1 -1
- package/src/countries/VN/district/longAn.js +1 -1
- package/src/countries/VN/district/namDinh.js +1 -1
- package/src/countries/VN/district/ngheAn.js +1 -1
- package/src/countries/VN/district/ninhBinh.js +1 -1
- package/src/countries/VN/district/ninhThuan.js +1 -1
- package/src/countries/VN/district/phuTho.js +1 -1
- package/src/countries/VN/district/phuYen.js +1 -1
- package/src/countries/VN/district/quangBinh.js +1 -1
- package/src/countries/VN/district/quangNam.js +1 -1
- package/src/countries/VN/district/quangNgai.js +1 -1
- package/src/countries/VN/district/quangNinh.js +1 -1
- package/src/countries/VN/district/quangTri.js +1 -1
- package/src/countries/VN/district/socTrang.js +1 -1
- package/src/countries/VN/district/sonLa.js +1 -1
- package/src/countries/VN/district/tayNinh.js +1 -1
- package/src/countries/VN/district/thaiBinh.js +1 -1
- package/src/countries/VN/district/thaiNguyen.js +1 -1
- package/src/countries/VN/district/thanhHoa.js +1 -1
- package/src/countries/VN/district/thuaThienHue.js +1 -1
- package/src/countries/VN/district/tienGiang.js +1 -1
- package/src/countries/VN/district/traVinh.js +1 -1
- package/src/countries/VN/district/tuyenQuang.js +1 -1
- package/src/countries/VN/district/vinhLong.js +1 -1
- package/src/countries/VN/district/vinhPhuc.js +1 -1
- package/src/countries/VN/district/yenBai.js +1 -1
- package/src/countries/ZM/district/copperbelt.js +1 -1
- package/src/countries/ZM/district/eastern.js +1 -1
- package/src/countries/ZM/district/lusaka.js +1 -1
- package/src/functions/getCountries.js +2 -0
- package/src/react/LocationPicker.tsx +91 -0
- package/src/react/adapters/antd.tsx +36 -0
- package/src/react/adapters/mui.tsx +51 -0
- package/src/react/index.ts +24 -0
- package/src/react/location-picker.types.ts +111 -0
- package/src/react/useLocationPicker.ts +214 -0
package/package.json
CHANGED
|
@@ -1,26 +1,115 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "country-data-filter",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.2.0",
|
|
4
|
+
"description": "Geographical data for 190 countries — provinces, districts, cities and postal codes. Includes React (Ant Design / MUI) and Angular (PrimeNG) location picker cascade components with full TypeScript support.",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"types": "src/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": "./src/index.js",
|
|
9
|
+
"./angular": "./src/angular/index.ts",
|
|
10
|
+
"./react": "./src/react/index.ts",
|
|
11
|
+
"./react/antd": "./src/react/adapters/antd.tsx",
|
|
12
|
+
"./react/mui": "./src/react/adapters/mui.tsx"
|
|
13
|
+
},
|
|
7
14
|
"scripts": {
|
|
8
15
|
"test": "jest"
|
|
9
16
|
},
|
|
10
17
|
"devDependencies": {
|
|
18
|
+
"@types/react": "^18.3.29",
|
|
19
|
+
"@types/react-dom": "^18.3.7",
|
|
11
20
|
"jest": "^29.0.0",
|
|
12
21
|
"typescript": "^5.0.0"
|
|
13
22
|
},
|
|
23
|
+
"peerDependencies": {
|
|
24
|
+
"@angular/common": ">=17.0.0",
|
|
25
|
+
"@angular/core": ">=17.0.0",
|
|
26
|
+
"@angular/forms": ">=17.0.0",
|
|
27
|
+
"antd": ">=5.0.0",
|
|
28
|
+
"primeng": ">=17.0.0",
|
|
29
|
+
"react": ">=17.0.0",
|
|
30
|
+
"react-dom": ">=17.0.0",
|
|
31
|
+
"rxjs": ">=7.0.0"
|
|
32
|
+
},
|
|
33
|
+
"peerDependenciesMeta": {
|
|
34
|
+
"@angular/common": {
|
|
35
|
+
"optional": true
|
|
36
|
+
},
|
|
37
|
+
"@angular/core": {
|
|
38
|
+
"optional": true
|
|
39
|
+
},
|
|
40
|
+
"@angular/forms": {
|
|
41
|
+
"optional": true
|
|
42
|
+
},
|
|
43
|
+
"primeng": {
|
|
44
|
+
"optional": true
|
|
45
|
+
},
|
|
46
|
+
"rxjs": {
|
|
47
|
+
"optional": true
|
|
48
|
+
},
|
|
49
|
+
"react": {
|
|
50
|
+
"optional": true
|
|
51
|
+
},
|
|
52
|
+
"react-dom": {
|
|
53
|
+
"optional": true
|
|
54
|
+
},
|
|
55
|
+
"antd": {
|
|
56
|
+
"optional": true
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"homepage": "https://github.com/knnadeera/country-data#readme",
|
|
60
|
+
"bugs": {
|
|
61
|
+
"url": "https://github.com/knnadeera/country-data/issues"
|
|
62
|
+
},
|
|
14
63
|
"repository": {
|
|
15
64
|
"type": "git",
|
|
16
65
|
"url": "https://github.com/knnadeera/country-data.git"
|
|
17
66
|
},
|
|
18
67
|
"keywords": [
|
|
19
68
|
"country",
|
|
20
|
-
"data",
|
|
69
|
+
"country-data",
|
|
70
|
+
"country-list",
|
|
71
|
+
"country-picker",
|
|
72
|
+
"country-selector",
|
|
73
|
+
"country-dropdown",
|
|
74
|
+
"country-code",
|
|
75
|
+
"iso-3166",
|
|
21
76
|
"province",
|
|
22
|
-
"
|
|
23
|
-
"
|
|
77
|
+
"state",
|
|
78
|
+
"district",
|
|
79
|
+
"city",
|
|
80
|
+
"postal-code",
|
|
81
|
+
"zip-code",
|
|
82
|
+
"postcode",
|
|
83
|
+
"phone-code",
|
|
84
|
+
"dialing-code",
|
|
85
|
+
"currency-code",
|
|
86
|
+
"geography",
|
|
87
|
+
"geolocation",
|
|
88
|
+
"location",
|
|
89
|
+
"location-picker",
|
|
90
|
+
"location-selector",
|
|
91
|
+
"location-cascade",
|
|
92
|
+
"address",
|
|
93
|
+
"address-form",
|
|
94
|
+
"address-picker",
|
|
95
|
+
"cascade",
|
|
96
|
+
"cascade-dropdown",
|
|
97
|
+
"cascade-select",
|
|
98
|
+
"cascader",
|
|
99
|
+
"dropdown",
|
|
100
|
+
"select",
|
|
101
|
+
"autocomplete",
|
|
102
|
+
"react",
|
|
103
|
+
"react-component",
|
|
104
|
+
"antd",
|
|
105
|
+
"ant-design",
|
|
106
|
+
"mui",
|
|
107
|
+
"material-ui",
|
|
108
|
+
"angular",
|
|
109
|
+
"angular-component",
|
|
110
|
+
"primeng",
|
|
111
|
+
"typescript",
|
|
112
|
+
"worldwide"
|
|
24
113
|
],
|
|
25
114
|
"author": "K N Nadeera",
|
|
26
115
|
"license": "ISC",
|
|
@@ -31,6 +120,11 @@
|
|
|
31
120
|
"src/functions/*.js",
|
|
32
121
|
"src/functions/**/*.js",
|
|
33
122
|
"src/countries/*.js",
|
|
34
|
-
"src/countries/**/*.js"
|
|
123
|
+
"src/countries/**/*.js",
|
|
124
|
+
"src/angular/**/*.ts",
|
|
125
|
+
"src/angular/**/*.html",
|
|
126
|
+
"src/angular/**/*.css",
|
|
127
|
+
"src/react/**/*.ts",
|
|
128
|
+
"src/react/**/*.tsx"
|
|
35
129
|
]
|
|
36
130
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { LocationPickerComponent } from './location-picker.component';
|
|
2
|
+
export { LocationPickerService } from './location-picker.service';
|
|
3
|
+
export type {
|
|
4
|
+
LocationOption,
|
|
5
|
+
CountryChangeEvent,
|
|
6
|
+
NameChangeEvent,
|
|
7
|
+
CityChangeEvent,
|
|
8
|
+
DropdownProps,
|
|
9
|
+
CountryKey,
|
|
10
|
+
} from './location-picker.types';
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
<div [class]="'cdf-location-picker cdf-' + layout">
|
|
2
|
+
|
|
3
|
+
<!-- Country dropdown — always shown -->
|
|
4
|
+
<p-dropdown
|
|
5
|
+
[formControl]="_country"
|
|
6
|
+
[options]="(countryOptions$ | async) ?? []"
|
|
7
|
+
[filter]="true"
|
|
8
|
+
[placeholder]="countryDropdownProps['placeholder'] || 'Select Country'"
|
|
9
|
+
[styleClass]="countryDropdownProps['styleClass']"
|
|
10
|
+
[showClear]="countryDropdownProps['showClear'] ?? true"
|
|
11
|
+
[appendTo]="countryDropdownProps['appendTo'] || 'body'"
|
|
12
|
+
[pt]="countryDropdownProps['pt']"
|
|
13
|
+
optionLabel="label"
|
|
14
|
+
optionValue="value">
|
|
15
|
+
</p-dropdown>
|
|
16
|
+
|
|
17
|
+
<!-- Province dropdown -->
|
|
18
|
+
<p-dropdown
|
|
19
|
+
*ngIf="showProvince"
|
|
20
|
+
[formControl]="_province"
|
|
21
|
+
[options]="(provinceOptions$ | async) ?? []"
|
|
22
|
+
[filter]="true"
|
|
23
|
+
[placeholder]="provinceDropdownProps['placeholder'] || _provincePlaceholder"
|
|
24
|
+
[styleClass]="provinceDropdownProps['styleClass']"
|
|
25
|
+
[showClear]="provinceDropdownProps['showClear'] ?? true"
|
|
26
|
+
[appendTo]="provinceDropdownProps['appendTo'] || 'body'"
|
|
27
|
+
[pt]="provinceDropdownProps['pt']"
|
|
28
|
+
optionLabel="label"
|
|
29
|
+
optionValue="value">
|
|
30
|
+
</p-dropdown>
|
|
31
|
+
|
|
32
|
+
<!-- District dropdown -->
|
|
33
|
+
<p-dropdown
|
|
34
|
+
*ngIf="showDistrict"
|
|
35
|
+
[formControl]="_district"
|
|
36
|
+
[options]="(districtOptions$ | async) ?? []"
|
|
37
|
+
[filter]="true"
|
|
38
|
+
[placeholder]="districtDropdownProps['placeholder'] || _districtPlaceholder"
|
|
39
|
+
[styleClass]="districtDropdownProps['styleClass']"
|
|
40
|
+
[showClear]="districtDropdownProps['showClear'] ?? true"
|
|
41
|
+
[appendTo]="districtDropdownProps['appendTo'] || 'body'"
|
|
42
|
+
[pt]="districtDropdownProps['pt']"
|
|
43
|
+
optionLabel="label"
|
|
44
|
+
optionValue="value">
|
|
45
|
+
</p-dropdown>
|
|
46
|
+
|
|
47
|
+
<!-- City dropdown -->
|
|
48
|
+
<p-dropdown
|
|
49
|
+
*ngIf="showCity"
|
|
50
|
+
[formControl]="_city"
|
|
51
|
+
[options]="(cityOptions$ | async) ?? []"
|
|
52
|
+
[filter]="true"
|
|
53
|
+
[placeholder]="cityDropdownProps['placeholder'] || 'Select City'"
|
|
54
|
+
[styleClass]="cityDropdownProps['styleClass']"
|
|
55
|
+
[showClear]="cityDropdownProps['showClear'] ?? true"
|
|
56
|
+
[appendTo]="cityDropdownProps['appendTo'] || 'body'"
|
|
57
|
+
[pt]="cityDropdownProps['pt']"
|
|
58
|
+
optionLabel="label"
|
|
59
|
+
optionValue="value">
|
|
60
|
+
</p-dropdown>
|
|
61
|
+
|
|
62
|
+
</div>
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Component,
|
|
3
|
+
Input,
|
|
4
|
+
Output,
|
|
5
|
+
EventEmitter,
|
|
6
|
+
OnInit,
|
|
7
|
+
OnDestroy,
|
|
8
|
+
} from '@angular/core';
|
|
9
|
+
import { CommonModule } from '@angular/common';
|
|
10
|
+
import {
|
|
11
|
+
AbstractControl,
|
|
12
|
+
FormControl,
|
|
13
|
+
ReactiveFormsModule,
|
|
14
|
+
} from '@angular/forms';
|
|
15
|
+
import { DropdownModule } from 'primeng/dropdown';
|
|
16
|
+
import { Observable, of, Subject } from 'rxjs';
|
|
17
|
+
import { startWith, switchMap, tap, takeUntil } from 'rxjs/operators';
|
|
18
|
+
|
|
19
|
+
import { LocationPickerService } from './location-picker.service';
|
|
20
|
+
import {
|
|
21
|
+
LocationOption,
|
|
22
|
+
CountryChangeEvent,
|
|
23
|
+
NameChangeEvent,
|
|
24
|
+
CityChangeEvent,
|
|
25
|
+
DropdownProps,
|
|
26
|
+
CountryKey,
|
|
27
|
+
} from './location-picker.types';
|
|
28
|
+
|
|
29
|
+
@Component({
|
|
30
|
+
selector: 'cdf-location-picker',
|
|
31
|
+
standalone: true,
|
|
32
|
+
imports: [CommonModule, ReactiveFormsModule, DropdownModule],
|
|
33
|
+
templateUrl: './location-picker.component.html',
|
|
34
|
+
styleUrls: ['./location-picker.component.css'],
|
|
35
|
+
})
|
|
36
|
+
export class LocationPickerComponent implements OnInit, OnDestroy {
|
|
37
|
+
// ── External reactive-form controls (all optional) ──────────────────────────
|
|
38
|
+
@Input() countryControl?: AbstractControl;
|
|
39
|
+
@Input() provinceControl?: AbstractControl;
|
|
40
|
+
@Input() districtControl?: AbstractControl;
|
|
41
|
+
@Input() cityControl?: AbstractControl;
|
|
42
|
+
|
|
43
|
+
// ── PrimeNG prop passthrough bags ────────────────────────────────────────────
|
|
44
|
+
@Input() countryDropdownProps: DropdownProps = {};
|
|
45
|
+
@Input() provinceDropdownProps: DropdownProps = {};
|
|
46
|
+
@Input() districtDropdownProps: DropdownProps = {};
|
|
47
|
+
@Input() cityDropdownProps: DropdownProps = {};
|
|
48
|
+
|
|
49
|
+
// ── Country option key selectors ─────────────────────────────────────────────
|
|
50
|
+
/** Which field of the country record to use as the dropdown label. Default: 'name' */
|
|
51
|
+
@Input() countryLabelKey: CountryKey = 'name';
|
|
52
|
+
/** Which field of the country record to use as the option value. Default: 'code' */
|
|
53
|
+
@Input() countryValueKey: CountryKey = 'code';
|
|
54
|
+
|
|
55
|
+
// ── Layout ───────────────────────────────────────────────────────────────────
|
|
56
|
+
@Input() layout: 'horizontal' | 'vertical' = 'vertical';
|
|
57
|
+
|
|
58
|
+
// ── Event outputs (for users not using reactive forms) ───────────────────────
|
|
59
|
+
@Output() countryChange = new EventEmitter<CountryChangeEvent>();
|
|
60
|
+
@Output() provinceChange = new EventEmitter<NameChangeEvent>();
|
|
61
|
+
@Output() districtChange = new EventEmitter<NameChangeEvent>();
|
|
62
|
+
@Output() cityChange = new EventEmitter<CityChangeEvent>();
|
|
63
|
+
|
|
64
|
+
// ── Internal fallback controls ───────────────────────────────────────────────
|
|
65
|
+
private _internalCountry = new FormControl<string | null>(null);
|
|
66
|
+
private _internalProvince = new FormControl<string | null>(null);
|
|
67
|
+
private _internalDistrict = new FormControl<string | null>(null);
|
|
68
|
+
private _internalCity = new FormControl<string | null>(null);
|
|
69
|
+
|
|
70
|
+
get _country() { return (this.countryControl ?? this._internalCountry) as FormControl; }
|
|
71
|
+
get _province() { return (this.provinceControl ?? this._internalProvince) as FormControl; }
|
|
72
|
+
get _district() { return (this.districtControl ?? this._internalDistrict) as FormControl; }
|
|
73
|
+
get _city() { return (this.cityControl ?? this._internalCity) as FormControl; }
|
|
74
|
+
|
|
75
|
+
// ── Visibility flags ─────────────────────────────────────────────────────────
|
|
76
|
+
showProvince = false;
|
|
77
|
+
showDistrict = false;
|
|
78
|
+
showCity = false;
|
|
79
|
+
|
|
80
|
+
// ── Dynamic placeholder text (uses selected country's labels) ────────────────
|
|
81
|
+
_provincePlaceholder = 'Select Province';
|
|
82
|
+
_districtPlaceholder = 'Select District';
|
|
83
|
+
|
|
84
|
+
// ── Option streams ───────────────────────────────────────────────────────────
|
|
85
|
+
countryOptions$!: Observable<LocationOption[]>;
|
|
86
|
+
provinceOptions$!: Observable<LocationOption[]>;
|
|
87
|
+
districtOptions$!: Observable<LocationOption[]>;
|
|
88
|
+
cityOptions$!: Observable<LocationOption[]>;
|
|
89
|
+
|
|
90
|
+
private destroy$ = new Subject<void>();
|
|
91
|
+
|
|
92
|
+
constructor(private svc: LocationPickerService) {}
|
|
93
|
+
|
|
94
|
+
ngOnInit(): void {
|
|
95
|
+
// Compute which dropdowns to show
|
|
96
|
+
this.showCity = !!this.cityControl;
|
|
97
|
+
this.showDistrict = !!this.districtControl || this.showCity;
|
|
98
|
+
this.showProvince = !!this.provinceControl || this.showDistrict;
|
|
99
|
+
|
|
100
|
+
// ── Countries (static, sorted A-Z) ──────────────────────────────────────
|
|
101
|
+
const allCountries = this.svc.getCountries()
|
|
102
|
+
.map(c => ({
|
|
103
|
+
label: (c as any)[this.countryLabelKey] as string,
|
|
104
|
+
value: (c as any)[this.countryValueKey] as string,
|
|
105
|
+
}))
|
|
106
|
+
.sort((a, b) => a.label.localeCompare(b.label));
|
|
107
|
+
this.countryOptions$ = of(allCountries);
|
|
108
|
+
|
|
109
|
+
// Reverse map: mapped option value → raw country code (used for data lookups)
|
|
110
|
+
const mappedValueToCode = new Map<string, string>(
|
|
111
|
+
this.svc.getCountries().map(c => [
|
|
112
|
+
(c as any)[this.countryValueKey] as string,
|
|
113
|
+
c.code,
|
|
114
|
+
])
|
|
115
|
+
);
|
|
116
|
+
// Forward map: raw code → mapped option value (used when auto-filling country)
|
|
117
|
+
const codeToMappedValue = new Map<string, string>(
|
|
118
|
+
this.svc.getCountries().map(c => [
|
|
119
|
+
c.code,
|
|
120
|
+
(c as any)[this.countryValueKey] as string,
|
|
121
|
+
])
|
|
122
|
+
);
|
|
123
|
+
|
|
124
|
+
// Helper: get raw code from whatever value is stored in the country control
|
|
125
|
+
const rawCode = (val: string | null): string | null =>
|
|
126
|
+
val ? (mappedValueToCode.get(val) ?? val) : null;
|
|
127
|
+
|
|
128
|
+
// ── Province options (reload when country changes) ───────────────────────
|
|
129
|
+
this.provinceOptions$ = this._country.valueChanges.pipe(
|
|
130
|
+
takeUntil(this.destroy$),
|
|
131
|
+
startWith(this._country.value),
|
|
132
|
+
tap((val: string | null) => {
|
|
133
|
+
this._province.setValue(null, { emitEvent: false });
|
|
134
|
+
this._district.setValue(null, { emitEvent: false });
|
|
135
|
+
this._city.setValue(null, { emitEvent: false });
|
|
136
|
+
// Update placeholders from the selected country's labels
|
|
137
|
+
const code = rawCode(val);
|
|
138
|
+
if (code) {
|
|
139
|
+
const country = this.svc.getCountries().find(c => c.code === code);
|
|
140
|
+
if (country) {
|
|
141
|
+
this._provincePlaceholder = `Select ${country.provinceLabel ?? 'Province'}`;
|
|
142
|
+
this._districtPlaceholder = `Select ${country.districtLabel ?? 'District'}`;
|
|
143
|
+
}
|
|
144
|
+
} else {
|
|
145
|
+
this._provincePlaceholder = 'Select Province';
|
|
146
|
+
this._districtPlaceholder = 'Select District';
|
|
147
|
+
}
|
|
148
|
+
}),
|
|
149
|
+
switchMap((val: string | null) => {
|
|
150
|
+
const code = rawCode(val);
|
|
151
|
+
return code
|
|
152
|
+
? of(this.svc.getProvinces(code).map(p => ({ label: p, value: p })))
|
|
153
|
+
: of([]);
|
|
154
|
+
}),
|
|
155
|
+
);
|
|
156
|
+
|
|
157
|
+
// ── District options (reload when province changes; auto-fill country) ───
|
|
158
|
+
this.districtOptions$ = this._province.valueChanges.pipe(
|
|
159
|
+
takeUntil(this.destroy$),
|
|
160
|
+
startWith(this._province.value),
|
|
161
|
+
tap((name: string | null) => {
|
|
162
|
+
this._district.setValue(null, { emitEvent: false });
|
|
163
|
+
this._city.setValue(null, { emitEvent: false });
|
|
164
|
+
// Reverse lookup: if country not set, auto-fill from province name
|
|
165
|
+
if (name && !this._country.value) {
|
|
166
|
+
const code = this.svc.getCountryByProvince(name);
|
|
167
|
+
if (code) {
|
|
168
|
+
// Set the mapped value (not the raw code) so the control stays consistent
|
|
169
|
+
this._country.setValue(codeToMappedValue.get(code) ?? code);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}),
|
|
173
|
+
switchMap((name: string | null) => {
|
|
174
|
+
const code = rawCode(this._country.value);
|
|
175
|
+
return name && code
|
|
176
|
+
? of(this.svc.getDistricts(code, name).map(d => ({ label: d, value: d })))
|
|
177
|
+
: of([]);
|
|
178
|
+
}),
|
|
179
|
+
);
|
|
180
|
+
|
|
181
|
+
// ── City options (reload when district changes) ───────────────────────────
|
|
182
|
+
this.cityOptions$ = this._district.valueChanges.pipe(
|
|
183
|
+
takeUntil(this.destroy$),
|
|
184
|
+
startWith(this._district.value),
|
|
185
|
+
tap(() => this._city.setValue(null, { emitEvent: false })),
|
|
186
|
+
switchMap((dist: string | null) => {
|
|
187
|
+
const code = rawCode(this._country.value);
|
|
188
|
+
const prov = this._province.value;
|
|
189
|
+
return dist && code && prov
|
|
190
|
+
? of(this.svc.getCities(code, prov, dist).map(c => ({ label: c, value: c })))
|
|
191
|
+
: of([]);
|
|
192
|
+
}),
|
|
193
|
+
);
|
|
194
|
+
|
|
195
|
+
// ── Emit output events ───────────────────────────────────────────────────
|
|
196
|
+
this._country.valueChanges
|
|
197
|
+
.pipe(takeUntil(this.destroy$))
|
|
198
|
+
.subscribe((v: string | null) => {
|
|
199
|
+
const code = rawCode(v);
|
|
200
|
+
const country = code ? (this.svc.getCountries().find(c => c.code === code) ?? null) : null;
|
|
201
|
+
this.countryChange.emit({ formValue: v, country });
|
|
202
|
+
});
|
|
203
|
+
|
|
204
|
+
this._province.valueChanges
|
|
205
|
+
.pipe(takeUntil(this.destroy$))
|
|
206
|
+
.subscribe((v: string | null) => this.provinceChange.emit({ name: v }));
|
|
207
|
+
|
|
208
|
+
this._district.valueChanges
|
|
209
|
+
.pipe(takeUntil(this.destroy$))
|
|
210
|
+
.subscribe((v: string | null) => this.districtChange.emit({ name: v }));
|
|
211
|
+
|
|
212
|
+
this._city.valueChanges
|
|
213
|
+
.pipe(takeUntil(this.destroy$))
|
|
214
|
+
.subscribe((v: string | null) => {
|
|
215
|
+
const code = rawCode(this._country.value);
|
|
216
|
+
const prov = this._province.value;
|
|
217
|
+
const dist = this._district.value;
|
|
218
|
+
const raw = (code && prov && dist && v)
|
|
219
|
+
? this.svc.getCityRaw(code, prov, dist, v)
|
|
220
|
+
: null;
|
|
221
|
+
this.cityChange.emit({ name: v, postalCode: raw?.postalCode ?? '', type: raw?.type });
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
ngOnDestroy(): void {
|
|
226
|
+
this.destroy$.next();
|
|
227
|
+
this.destroy$.complete();
|
|
228
|
+
}
|
|
229
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import {
|
|
3
|
+
getCountries,
|
|
4
|
+
getDataByCountry,
|
|
5
|
+
getDataByProvince,
|
|
6
|
+
getDataByCountryProvince,
|
|
7
|
+
getDataByCountryProvinceDistrict,
|
|
8
|
+
} from '../index';
|
|
9
|
+
import { Country } from '../index';
|
|
10
|
+
|
|
11
|
+
@Injectable({ providedIn: 'root' })
|
|
12
|
+
export class LocationPickerService {
|
|
13
|
+
private _countries: Country[] | null = null;
|
|
14
|
+
|
|
15
|
+
getCountries(): Country[] {
|
|
16
|
+
if (!this._countries) {
|
|
17
|
+
this._countries = getCountries() as Country[];
|
|
18
|
+
}
|
|
19
|
+
return this._countries;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
getProvinces(countryCode: string): string[] {
|
|
23
|
+
const data = getDataByCountry(countryCode);
|
|
24
|
+
return data?.provinces ?? [];
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
getDistricts(countryCode: string, provinceName: string): string[] {
|
|
28
|
+
const data = getDataByCountryProvince(countryCode, provinceName);
|
|
29
|
+
return data?.districts ?? [];
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
getCities(countryCode: string, provinceName: string, districtName: string): string[] {
|
|
33
|
+
const data = getDataByCountryProvinceDistrict(countryCode, provinceName, districtName);
|
|
34
|
+
return (data?.cities ?? []).map((c: any) => c.name ?? c);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
getCityRaw(countryCode: string, provinceName: string, districtName: string, cityName: string): { name: string; postalCode: string; type?: string } | null {
|
|
38
|
+
const data = getDataByCountryProvinceDistrict(countryCode, provinceName, districtName);
|
|
39
|
+
const city = (data?.cities ?? []).find((c: any) => (c.name ?? c) === cityName);
|
|
40
|
+
if (!city) return null;
|
|
41
|
+
return typeof city === 'string'
|
|
42
|
+
? { name: city, postalCode: '' }
|
|
43
|
+
: { name: city.name, postalCode: city.postalCode ?? '', type: city.type };
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/** Reverse lookup: province name → country code (for auto-fill when province is selected first) */
|
|
47
|
+
getCountryByProvince(provinceName: string): string | null {
|
|
48
|
+
const result = getDataByProvince(provinceName);
|
|
49
|
+
return result?.countries?.[0]?.code ?? null;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Country } from '../index';
|
|
2
|
+
|
|
3
|
+
/** Selectable fields of a country record for use as option label or value */
|
|
4
|
+
export type CountryKey = 'name' | 'code' | 'currency' | 'countryCode';
|
|
5
|
+
|
|
6
|
+
export interface LocationOption<T extends string = string> {
|
|
7
|
+
label: string;
|
|
8
|
+
value: T;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Emitted by `(countryChange)`.
|
|
13
|
+
* `formValue` is what was written to the FormControl (= country[countryValueKey]).
|
|
14
|
+
* `country` is always the full Country object.
|
|
15
|
+
*/
|
|
16
|
+
export interface CountryChangeEvent {
|
|
17
|
+
formValue: string | null;
|
|
18
|
+
country: Country | null;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/** Emitted by `(provinceChange)` and `(districtChange)` — name is the full data. */
|
|
22
|
+
export interface NameChangeEvent {
|
|
23
|
+
name: string | null;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/** Emitted by `(cityChange)` — full city data including postalCode and type. */
|
|
27
|
+
export interface CityChangeEvent {
|
|
28
|
+
name: string | null;
|
|
29
|
+
postalCode: string;
|
|
30
|
+
type?: string;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export type DropdownProps = Record<string, unknown>;
|
|
@@ -4,31 +4,31 @@ export const abuDhabi = {
|
|
|
4
4
|
abuDhabiCity: {
|
|
5
5
|
name: "Abu Dhabi City",
|
|
6
6
|
cities: [
|
|
7
|
-
{ name: "Abu Dhabi", postalCode: "", type: "City" },
|
|
7
|
+
{ name: "Abu Dhabi", postalCode: "20000", type: "City" },
|
|
8
8
|
],
|
|
9
9
|
},
|
|
10
10
|
alAin: {
|
|
11
11
|
name: "Al Ain",
|
|
12
12
|
cities: [
|
|
13
|
-
{ name: "Al Ain", postalCode: "", type: "City" },
|
|
13
|
+
{ name: "Al Ain", postalCode: "21001", type: "City" },
|
|
14
14
|
],
|
|
15
15
|
},
|
|
16
16
|
alDhafra: {
|
|
17
17
|
name: "Al Dhafra",
|
|
18
18
|
cities: [
|
|
19
|
-
{ name: "Madinat Zayed", postalCode: "", type: "Town" },
|
|
19
|
+
{ name: "Madinat Zayed", postalCode: "23501", type: "Town" },
|
|
20
20
|
],
|
|
21
21
|
},
|
|
22
22
|
khalifaCity: {
|
|
23
23
|
name: "Khalifa City",
|
|
24
24
|
cities: [
|
|
25
|
-
{ name: "Khalifa City", postalCode: "", type: "Town" },
|
|
25
|
+
{ name: "Khalifa City", postalCode: "20009", type: "Town" },
|
|
26
26
|
],
|
|
27
27
|
},
|
|
28
28
|
muhammadBinZayed: {
|
|
29
29
|
name: "Mohammed Bin Zayed City",
|
|
30
30
|
cities: [
|
|
31
|
-
{ name: "Mohammed Bin Zayed City", postalCode: "", type: "Town" },
|
|
31
|
+
{ name: "Mohammed Bin Zayed City", postalCode: "20011", type: "Town" },
|
|
32
32
|
],
|
|
33
33
|
},
|
|
34
34
|
},
|
|
@@ -4,19 +4,19 @@ export const badakhshan = {
|
|
|
4
4
|
fayzabad: {
|
|
5
5
|
name: "Fayzabad",
|
|
6
6
|
cities: [
|
|
7
|
-
{ name: "Fayzabad", postalCode: "", type: "City" },
|
|
7
|
+
{ name: "Fayzabad", postalCode: "3601", type: "City" },
|
|
8
8
|
],
|
|
9
9
|
},
|
|
10
10
|
ishkashim: {
|
|
11
11
|
name: "Ishkashim",
|
|
12
12
|
cities: [
|
|
13
|
-
{ name: "Ishkashim", postalCode: "", type: "Town" },
|
|
13
|
+
{ name: "Ishkashim", postalCode: "3611", type: "Town" },
|
|
14
14
|
],
|
|
15
15
|
},
|
|
16
16
|
wakhan: {
|
|
17
17
|
name: "Wakhan",
|
|
18
18
|
cities: [
|
|
19
|
-
{ name: "Wakhan", postalCode: "", type: "Town" },
|
|
19
|
+
{ name: "Wakhan", postalCode: "3615", type: "Town" },
|
|
20
20
|
],
|
|
21
21
|
},
|
|
22
22
|
},
|
|
@@ -4,13 +4,13 @@ export const badghis = {
|
|
|
4
4
|
muqurBadghis: {
|
|
5
5
|
name: "Muqur",
|
|
6
6
|
cities: [
|
|
7
|
-
{ name: "Muqur", postalCode: "", type: "Town" },
|
|
7
|
+
{ name: "Muqur", postalCode: "2701", type: "Town" },
|
|
8
8
|
],
|
|
9
9
|
},
|
|
10
10
|
qalaINow: {
|
|
11
11
|
name: "Qala Now",
|
|
12
12
|
cities: [
|
|
13
|
-
{ name: "Qala Now", postalCode: "", type: "City" },
|
|
13
|
+
{ name: "Qala Now", postalCode: "2701", type: "City" },
|
|
14
14
|
],
|
|
15
15
|
},
|
|
16
16
|
},
|
|
@@ -4,19 +4,19 @@ export const baghlan = {
|
|
|
4
4
|
baghlanTown: {
|
|
5
5
|
name: "Baghlan",
|
|
6
6
|
cities: [
|
|
7
|
-
{ name: "Baghlan", postalCode: "", type: "Town" },
|
|
7
|
+
{ name: "Baghlan", postalCode: "3201", type: "Town" },
|
|
8
8
|
],
|
|
9
9
|
},
|
|
10
10
|
dohBabak: {
|
|
11
11
|
name: "Doh Baba",
|
|
12
12
|
cities: [
|
|
13
|
-
{ name: "Doh Baba", postalCode: "", type: "Town" },
|
|
13
|
+
{ name: "Doh Baba", postalCode: "3211", type: "Town" },
|
|
14
14
|
],
|
|
15
15
|
},
|
|
16
16
|
pulEKhumri: {
|
|
17
17
|
name: "Pul-e Khumri",
|
|
18
18
|
cities: [
|
|
19
|
-
{ name: "Pul-e Khumri", postalCode: "", type: "City" },
|
|
19
|
+
{ name: "Pul-e Khumri", postalCode: "3501", type: "City" },
|
|
20
20
|
],
|
|
21
21
|
},
|
|
22
22
|
},
|
|
@@ -4,19 +4,19 @@ export const balkh = {
|
|
|
4
4
|
balkh: {
|
|
5
5
|
name: "Balkh",
|
|
6
6
|
cities: [
|
|
7
|
-
{ name: "Balkh", postalCode: "", type: "Town" },
|
|
7
|
+
{ name: "Balkh", postalCode: "1901", type: "Town" },
|
|
8
8
|
],
|
|
9
9
|
},
|
|
10
10
|
charbolak: {
|
|
11
11
|
name: "Charbolak",
|
|
12
12
|
cities: [
|
|
13
|
-
{ name: "Charbolak", postalCode: "", type: "Town" },
|
|
13
|
+
{ name: "Charbolak", postalCode: "1903", type: "Town" },
|
|
14
14
|
],
|
|
15
15
|
},
|
|
16
16
|
mazarISharif: {
|
|
17
17
|
name: "Mazar-i-Sharif",
|
|
18
18
|
cities: [
|
|
19
|
-
{ name: "Mazar-i-Sharif", postalCode: "", type: "City" },
|
|
19
|
+
{ name: "Mazar-i-Sharif", postalCode: "1901", type: "City" },
|
|
20
20
|
],
|
|
21
21
|
},
|
|
22
22
|
},
|