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.
Files changed (947) hide show
  1. package/README.md +710 -186
  2. package/package.json +100 -6
  3. package/src/angular/index.ts +10 -0
  4. package/src/angular/location-picker.component.css +13 -0
  5. package/src/angular/location-picker.component.html +62 -0
  6. package/src/angular/location-picker.component.ts +229 -0
  7. package/src/angular/location-picker.service.ts +51 -0
  8. package/src/angular/location-picker.types.ts +33 -0
  9. package/src/countries/AE/district/abuDhabi.js +5 -5
  10. package/src/countries/AF/district/badakhshan.js +3 -3
  11. package/src/countries/AF/district/badghis.js +2 -2
  12. package/src/countries/AF/district/baghlan.js +3 -3
  13. package/src/countries/AF/district/balkh.js +3 -3
  14. package/src/countries/AF/district/bamyan.js +3 -3
  15. package/src/countries/AF/district/daykundi.js +2 -2
  16. package/src/countries/AF/district/farah.js +2 -2
  17. package/src/countries/AF/district/faryab.js +3 -3
  18. package/src/countries/AF/district/ghazni.js +3 -3
  19. package/src/countries/AF/district/ghor.js +2 -2
  20. package/src/countries/AF/district/helmand.js +3 -3
  21. package/src/countries/AF/district/herat.js +3 -3
  22. package/src/countries/AF/district/jowzjan.js +3 -3
  23. package/src/countries/AF/district/kabul.js +3 -3
  24. package/src/countries/AF/district/kandahar.js +3 -3
  25. package/src/countries/AF/district/kapisa.js +2 -2
  26. package/src/countries/AF/district/khost.js +3 -3
  27. package/src/countries/AF/district/kunar.js +3 -3
  28. package/src/countries/AF/district/kunduz.js +3 -3
  29. package/src/countries/AF/district/laghman.js +3 -3
  30. package/src/countries/AF/district/logar.js +3 -3
  31. package/src/countries/AF/district/maidenWardak.js +3 -3
  32. package/src/countries/AF/district/nangarhar.js +3 -3
  33. package/src/countries/AF/district/nimroz.js +2 -2
  34. package/src/countries/AF/district/nuristan.js +2 -2
  35. package/src/countries/AF/district/paktia.js +3 -3
  36. package/src/countries/AF/district/paktika.js +2 -2
  37. package/src/countries/AF/district/panjshir.js +2 -2
  38. package/src/countries/AF/district/parwan.js +3 -3
  39. package/src/countries/AF/district/samangan.js +2 -2
  40. package/src/countries/AF/district/sarEPol.js +2 -2
  41. package/src/countries/AF/district/takhar.js +3 -3
  42. package/src/countries/AF/district/uruzgan.js +2 -2
  43. package/src/countries/AF/district/zabul.js +2 -2
  44. package/src/countries/AM/district/aragatsotn.js +3 -3
  45. package/src/countries/AM/district/ararat.js +3 -3
  46. package/src/countries/AM/district/armavir.js +3 -3
  47. package/src/countries/AM/district/gegharkunik.js +4 -4
  48. package/src/countries/AM/district/kotayk.js +4 -4
  49. package/src/countries/AM/district/lori.js +4 -4
  50. package/src/countries/AM/district/shirak.js +3 -3
  51. package/src/countries/AM/district/syunik.js +4 -4
  52. package/src/countries/AM/district/tavush.js +4 -4
  53. package/src/countries/AM/district/vayotsDzor.js +3 -3
  54. package/src/countries/AM/district/yerevan.js +5 -5
  55. package/src/countries/BA/district/brckoDistrict.js +1 -1
  56. package/src/countries/BA/district/federationBiH.js +10 -10
  57. package/src/countries/BA/district/republikaSrpska.js +5 -5
  58. package/src/countries/BB/district/saintAndrew.js +1 -1
  59. package/src/countries/BB/district/saintJohn.js +1 -1
  60. package/src/countries/BB/district/saintJoseph.js +1 -1
  61. package/src/countries/BB/district/saintThomas.js +1 -1
  62. package/src/countries/BH/district/capital.js +3 -3
  63. package/src/countries/BH/district/muharraq.js +2 -2
  64. package/src/countries/BH/district/northern.js +2 -2
  65. package/src/countries/BH/district/southern.js +3 -3
  66. package/src/countries/BN/district/belait.js +2 -2
  67. package/src/countries/BN/district/bruneiMuara.js +2 -2
  68. package/src/countries/BN/district/temburong.js +1 -1
  69. package/src/countries/BN/district/tutong.js +2 -2
  70. package/src/countries/BT/district/bumthang.js +1 -1
  71. package/src/countries/BT/district/chhukha.js +1 -1
  72. package/src/countries/BT/district/dagana.js +1 -1
  73. package/src/countries/BT/district/gasa.js +1 -1
  74. package/src/countries/BT/district/haa.js +1 -1
  75. package/src/countries/BT/district/lhuntse.js +1 -1
  76. package/src/countries/BT/district/mongar.js +1 -1
  77. package/src/countries/BT/district/paro.js +1 -1
  78. package/src/countries/BT/district/pemagatshel.js +1 -1
  79. package/src/countries/BT/district/punakha.js +1 -1
  80. package/src/countries/BT/district/samdrupJongkhar.js +1 -1
  81. package/src/countries/BT/district/samtse.js +1 -1
  82. package/src/countries/BT/district/sarpang.js +1 -1
  83. package/src/countries/BT/district/thimphu.js +1 -1
  84. package/src/countries/BT/district/trashiYangste.js +1 -1
  85. package/src/countries/BT/district/trashigang.js +1 -1
  86. package/src/countries/BT/district/trongsa.js +1 -1
  87. package/src/countries/BT/district/tsirang.js +1 -1
  88. package/src/countries/BT/district/wangduePhodrang.js +1 -1
  89. package/src/countries/BT/district/zhemgang.js +1 -1
  90. package/src/countries/CU/district/artemisa.js +2 -2
  91. package/src/countries/CU/district/camaguey.js +2 -2
  92. package/src/countries/CU/district/ciegoDeAvila.js +2 -2
  93. package/src/countries/CU/district/cienfuegos.js +2 -2
  94. package/src/countries/CU/district/granma.js +2 -2
  95. package/src/countries/CU/district/guantanamo.js +2 -2
  96. package/src/countries/CU/district/holguin.js +2 -2
  97. package/src/countries/CU/district/islaJuventud.js +1 -1
  98. package/src/countries/CU/district/laHabana.js +2 -2
  99. package/src/countries/CU/district/lasTunas.js +2 -2
  100. package/src/countries/CU/district/matanzas.js +2 -2
  101. package/src/countries/CU/district/mayabeque.js +1 -1
  102. package/src/countries/CU/district/pinarDelRio.js +2 -2
  103. package/src/countries/CU/district/sanctiSpiritus.js +2 -2
  104. package/src/countries/CU/district/santiagoDeCuba.js +2 -2
  105. package/src/countries/CU/district/villaClara.js +2 -2
  106. package/src/countries/CV/district/boaVista.js +1 -1
  107. package/src/countries/CV/district/brava.js +1 -1
  108. package/src/countries/CV/district/fogo.js +1 -1
  109. package/src/countries/CV/district/maio.js +1 -1
  110. package/src/countries/CV/district/sal.js +1 -1
  111. package/src/countries/CV/district/santiago.js +2 -2
  112. package/src/countries/CV/district/santoAntao.js +2 -2
  113. package/src/countries/CV/district/saoNicolau.js +1 -1
  114. package/src/countries/CV/district/saoVicente.js +1 -1
  115. package/src/countries/DZ/district/adrar.js +1 -1
  116. package/src/countries/DZ/district/ainDefla.js +1 -1
  117. package/src/countries/DZ/district/ainTemouchent.js +1 -1
  118. package/src/countries/DZ/district/algiers.js +2 -2
  119. package/src/countries/DZ/district/annaba.js +1 -1
  120. package/src/countries/DZ/district/batna.js +1 -1
  121. package/src/countries/DZ/district/bechar.js +1 -1
  122. package/src/countries/DZ/district/bejaia.js +1 -1
  123. package/src/countries/DZ/district/beniAbbes.js +1 -1
  124. package/src/countries/DZ/district/biskra.js +1 -1
  125. package/src/countries/DZ/district/blida.js +1 -1
  126. package/src/countries/DZ/district/bordjBadjiMokhtar.js +1 -1
  127. package/src/countries/DZ/district/bordjBouArreridj.js +1 -1
  128. package/src/countries/DZ/district/bouira.js +1 -1
  129. package/src/countries/DZ/district/boumerdes.js +1 -1
  130. package/src/countries/DZ/district/chlef.js +1 -1
  131. package/src/countries/DZ/district/constantine.js +2 -2
  132. package/src/countries/DZ/district/djanet.js +1 -1
  133. package/src/countries/DZ/district/djelfa.js +1 -1
  134. package/src/countries/DZ/district/elBayadh.js +1 -1
  135. package/src/countries/DZ/district/elMeghaier.js +1 -1
  136. package/src/countries/DZ/district/elMeniaa.js +1 -1
  137. package/src/countries/DZ/district/elOued.js +1 -1
  138. package/src/countries/DZ/district/elTarf.js +1 -1
  139. package/src/countries/DZ/district/ghardaia.js +1 -1
  140. package/src/countries/DZ/district/guelma.js +1 -1
  141. package/src/countries/DZ/district/illizi.js +1 -1
  142. package/src/countries/DZ/district/inGuezzam.js +1 -1
  143. package/src/countries/DZ/district/inSalah.js +1 -1
  144. package/src/countries/DZ/district/jijel.js +1 -1
  145. package/src/countries/DZ/district/khenchela.js +1 -1
  146. package/src/countries/DZ/district/laghouat.js +1 -1
  147. package/src/countries/DZ/district/mascara.js +1 -1
  148. package/src/countries/DZ/district/medea.js +1 -1
  149. package/src/countries/DZ/district/mila.js +1 -1
  150. package/src/countries/DZ/district/mostaganem.js +1 -1
  151. package/src/countries/DZ/district/msila.js +1 -1
  152. package/src/countries/DZ/district/naama.js +1 -1
  153. package/src/countries/DZ/district/oran.js +2 -2
  154. package/src/countries/DZ/district/ouargla.js +1 -1
  155. package/src/countries/DZ/district/ouledDjellal.js +1 -1
  156. package/src/countries/DZ/district/oumElBouaghi.js +1 -1
  157. package/src/countries/DZ/district/relizane.js +1 -1
  158. package/src/countries/DZ/district/saida.js +1 -1
  159. package/src/countries/DZ/district/setif.js +1 -1
  160. package/src/countries/DZ/district/sidiBelAbbes.js +1 -1
  161. package/src/countries/DZ/district/skikda.js +1 -1
  162. package/src/countries/DZ/district/soukAhras.js +1 -1
  163. package/src/countries/DZ/district/tamanrasset.js +1 -1
  164. package/src/countries/DZ/district/tebessa.js +1 -1
  165. package/src/countries/DZ/district/tiaret.js +1 -1
  166. package/src/countries/DZ/district/timimoun.js +1 -1
  167. package/src/countries/DZ/district/tindouf.js +1 -1
  168. package/src/countries/DZ/district/tipaza.js +1 -1
  169. package/src/countries/DZ/district/tissemsilt.js +1 -1
  170. package/src/countries/DZ/district/tiziOuzou.js +1 -1
  171. package/src/countries/DZ/district/tlemcen.js +1 -1
  172. package/src/countries/DZ/district/touggourt.js +1 -1
  173. package/src/countries/EG/district/alexandria.js +1 -1
  174. package/src/countries/EG/district/aswan.js +1 -1
  175. package/src/countries/EG/district/asyut.js +1 -1
  176. package/src/countries/EG/district/beheira.js +1 -1
  177. package/src/countries/EG/district/cairo.js +1 -1
  178. package/src/countries/EG/district/dakahlia.js +1 -1
  179. package/src/countries/EG/district/damietta.js +1 -1
  180. package/src/countries/EG/district/fayoum.js +1 -1
  181. package/src/countries/EG/district/gharbia.js +1 -1
  182. package/src/countries/EG/district/giza.js +1 -1
  183. package/src/countries/EG/district/ismailia.js +1 -1
  184. package/src/countries/EG/district/kafrElSheikh.js +1 -1
  185. package/src/countries/EG/district/luxor.js +1 -1
  186. package/src/countries/EG/district/matruh.js +1 -1
  187. package/src/countries/EG/district/menofia.js +1 -1
  188. package/src/countries/EG/district/minya.js +1 -1
  189. package/src/countries/EG/district/newValley.js +1 -1
  190. package/src/countries/EG/district/northSinai.js +1 -1
  191. package/src/countries/EG/district/northUpperEgypt.js +1 -1
  192. package/src/countries/EG/district/portSaid.js +1 -1
  193. package/src/countries/EG/district/qalyubia.js +1 -1
  194. package/src/countries/EG/district/qena.js +1 -1
  195. package/src/countries/EG/district/redSea.js +1 -1
  196. package/src/countries/EG/district/sharqia.js +1 -1
  197. package/src/countries/EG/district/sohag.js +1 -1
  198. package/src/countries/EG/district/southSinai.js +1 -1
  199. package/src/countries/EG/district/suez.js +1 -1
  200. package/src/countries/ET/district/addisAbaba.js +2 -2
  201. package/src/countries/ET/district/afar.js +2 -2
  202. package/src/countries/ET/district/amhara.js +3 -3
  203. package/src/countries/ET/district/benishangul.js +1 -1
  204. package/src/countries/ET/district/diredawa.js +1 -1
  205. package/src/countries/ET/district/gambela.js +1 -1
  206. package/src/countries/ET/district/harari.js +1 -1
  207. package/src/countries/ET/district/oromia.js +3 -3
  208. package/src/countries/ET/district/sidama.js +1 -1
  209. package/src/countries/ET/district/somali.js +2 -2
  210. package/src/countries/ET/district/southernNations.js +2 -2
  211. package/src/countries/ET/district/tigray.js +2 -2
  212. package/src/countries/GE/district/adjara.js +2 -2
  213. package/src/countries/GE/district/guria.js +1 -1
  214. package/src/countries/GE/district/imereti.js +2 -2
  215. package/src/countries/GE/district/kakheti.js +1 -1
  216. package/src/countries/GE/district/kvemoKartli.js +2 -2
  217. package/src/countries/GE/district/mtskheta.js +1 -1
  218. package/src/countries/GE/district/rachaLechkhumi.js +1 -1
  219. package/src/countries/GE/district/samegrelo.js +1 -1
  220. package/src/countries/GE/district/samtskhe.js +1 -1
  221. package/src/countries/GE/district/shidaKartli.js +1 -1
  222. package/src/countries/GE/district/tbilisi.js +2 -2
  223. package/src/countries/GH/district/ahafo.js +1 -1
  224. package/src/countries/GH/district/ashanti.js +1 -1
  225. package/src/countries/GH/district/northern.js +1 -1
  226. package/src/countries/GH/district/volta.js +1 -1
  227. package/src/countries/GR/district/attica.js +2 -2
  228. package/src/countries/GR/district/centralGreece.js +1 -1
  229. package/src/countries/GR/district/centralMacedonia.js +2 -2
  230. package/src/countries/GR/district/crete.js +2 -2
  231. package/src/countries/GR/district/easternMacedonia.js +1 -1
  232. package/src/countries/GR/district/epirus.js +1 -1
  233. package/src/countries/GR/district/ionianIslands.js +1 -1
  234. package/src/countries/GR/district/northAegean.js +1 -1
  235. package/src/countries/GR/district/peloponnese.js +1 -1
  236. package/src/countries/GR/district/southAegean.js +1 -1
  237. package/src/countries/GR/district/thessaly.js +2 -2
  238. package/src/countries/GR/district/westernGreece.js +1 -1
  239. package/src/countries/GR/district/westernMacedonia.js +1 -1
  240. package/src/countries/GW/district/bissau.js +1 -1
  241. package/src/countries/IL/district/central.js +2 -2
  242. package/src/countries/IL/district/haifa.js +1 -1
  243. package/src/countries/IL/district/jerusalem.js +1 -1
  244. package/src/countries/IL/district/northern.js +1 -1
  245. package/src/countries/IL/district/southern.js +1 -1
  246. package/src/countries/IL/district/telAviv.js +2 -2
  247. package/src/countries/IQ/district/alAnbar.js +2 -2
  248. package/src/countries/IQ/district/babil.js +1 -1
  249. package/src/countries/IQ/district/baghdad.js +2 -2
  250. package/src/countries/IQ/district/basra.js +1 -1
  251. package/src/countries/IQ/district/dhiQar.js +1 -1
  252. package/src/countries/IQ/district/diyala.js +1 -1
  253. package/src/countries/IQ/district/duhok.js +1 -1
  254. package/src/countries/IQ/district/erbil.js +1 -1
  255. package/src/countries/IQ/district/karbala.js +1 -1
  256. package/src/countries/IQ/district/kirkuk.js +1 -1
  257. package/src/countries/IQ/district/maysan.js +1 -1
  258. package/src/countries/IQ/district/muthanna.js +1 -1
  259. package/src/countries/IQ/district/najaf.js +1 -1
  260. package/src/countries/IQ/district/nineveh.js +1 -1
  261. package/src/countries/IQ/district/qadisiyah.js +1 -1
  262. package/src/countries/IQ/district/salahAdDin.js +1 -1
  263. package/src/countries/IQ/district/sulaymaniyah.js +1 -1
  264. package/src/countries/IQ/district/wasit.js +1 -1
  265. package/src/countries/IR/district/alborz.js +1 -1
  266. package/src/countries/IR/district/ardabil.js +1 -1
  267. package/src/countries/IR/district/bushehr.js +1 -1
  268. package/src/countries/IR/district/chaharmahalAndBakhtiari.js +1 -1
  269. package/src/countries/IR/district/eastAzerbaijan.js +1 -1
  270. package/src/countries/IR/district/fars.js +1 -1
  271. package/src/countries/IR/district/gilan.js +1 -1
  272. package/src/countries/IR/district/golestan.js +1 -1
  273. package/src/countries/IR/district/hamadan.js +1 -1
  274. package/src/countries/IR/district/hormozgan.js +1 -1
  275. package/src/countries/IR/district/ilam.js +1 -1
  276. package/src/countries/IR/district/isfahan.js +1 -1
  277. package/src/countries/IR/district/kerman.js +1 -1
  278. package/src/countries/IR/district/kermanshah.js +1 -1
  279. package/src/countries/IR/district/khuzestan.js +1 -1
  280. package/src/countries/IR/district/kohgiluyehAndBoyerAhmad.js +1 -1
  281. package/src/countries/IR/district/kurdistan.js +1 -1
  282. package/src/countries/IR/district/lorestan.js +1 -1
  283. package/src/countries/IR/district/markazi.js +1 -1
  284. package/src/countries/IR/district/mazandaran.js +1 -1
  285. package/src/countries/IR/district/northKhorasan.js +1 -1
  286. package/src/countries/IR/district/qazvin.js +1 -1
  287. package/src/countries/IR/district/qom.js +1 -1
  288. package/src/countries/IR/district/razaviKhorasan.js +1 -1
  289. package/src/countries/IR/district/semnan.js +1 -1
  290. package/src/countries/IR/district/sistanAndBaluchestan.js +1 -1
  291. package/src/countries/IR/district/southKhorasan.js +1 -1
  292. package/src/countries/IR/district/tehran.js +1 -1
  293. package/src/countries/IR/district/westAzerbaijan.js +1 -1
  294. package/src/countries/IR/district/yazd.js +1 -1
  295. package/src/countries/IR/district/zanjan.js +1 -1
  296. package/src/countries/JM/district/clarendon.js +1 -1
  297. package/src/countries/JM/district/hanover.js +1 -1
  298. package/src/countries/JM/district/kingston.js +1 -1
  299. package/src/countries/JM/district/manchester.js +1 -1
  300. package/src/countries/JM/district/portland.js +1 -1
  301. package/src/countries/JM/district/saintAndrew.js +1 -1
  302. package/src/countries/JM/district/saintAnn.js +1 -1
  303. package/src/countries/JM/district/saintCatherine.js +1 -1
  304. package/src/countries/JM/district/saintElizabeth.js +1 -1
  305. package/src/countries/JM/district/saintJames.js +1 -1
  306. package/src/countries/JM/district/saintMary.js +1 -1
  307. package/src/countries/JM/district/saintThomas.js +1 -1
  308. package/src/countries/JM/district/trelawny.js +1 -1
  309. package/src/countries/JM/district/westmoreland.js +1 -1
  310. package/src/countries/JO/district/ajloun.js +1 -1
  311. package/src/countries/JO/district/amman.js +2 -2
  312. package/src/countries/JO/district/aqaba.js +1 -1
  313. package/src/countries/JO/district/balqa.js +1 -1
  314. package/src/countries/JO/district/irbid.js +1 -1
  315. package/src/countries/JO/district/jarash.js +1 -1
  316. package/src/countries/JO/district/karak.js +1 -1
  317. package/src/countries/JO/district/maan.js +1 -1
  318. package/src/countries/JO/district/madaba.js +1 -1
  319. package/src/countries/JO/district/mafraq.js +1 -1
  320. package/src/countries/JO/district/tafilah.js +1 -1
  321. package/src/countries/JO/district/zarqa.js +1 -1
  322. package/src/countries/KG/district/batken.js +2 -2
  323. package/src/countries/KG/district/bishkek.js +1 -1
  324. package/src/countries/KG/district/chuy.js +2 -2
  325. package/src/countries/KG/district/issykKul.js +2 -2
  326. package/src/countries/KG/district/jalalAbad.js +2 -2
  327. package/src/countries/KG/district/naryn.js +1 -1
  328. package/src/countries/KG/district/osh.js +2 -2
  329. package/src/countries/KG/district/talas.js +1 -1
  330. package/src/countries/KH/district/banteayMeanchey.js +1 -1
  331. package/src/countries/KH/district/battambang.js +1 -1
  332. package/src/countries/KH/district/kampongCham.js +1 -1
  333. package/src/countries/KH/district/kampongChhnang.js +1 -1
  334. package/src/countries/KH/district/kampongSpeu.js +1 -1
  335. package/src/countries/KH/district/kampongThom.js +1 -1
  336. package/src/countries/KH/district/kampot.js +1 -1
  337. package/src/countries/KH/district/kandal.js +1 -1
  338. package/src/countries/KH/district/kep.js +1 -1
  339. package/src/countries/KH/district/kohKong.js +1 -1
  340. package/src/countries/KH/district/kratie.js +1 -1
  341. package/src/countries/KH/district/mondulkiri.js +1 -1
  342. package/src/countries/KH/district/oddarMeanchey.js +1 -1
  343. package/src/countries/KH/district/pailin.js +1 -1
  344. package/src/countries/KH/district/phnomPenh.js +1 -1
  345. package/src/countries/KH/district/preahSihanouk.js +1 -1
  346. package/src/countries/KH/district/preahVihear.js +1 -1
  347. package/src/countries/KH/district/preyVeng.js +1 -1
  348. package/src/countries/KH/district/pursat.js +1 -1
  349. package/src/countries/KH/district/ratanakiri.js +1 -1
  350. package/src/countries/KH/district/siemReap.js +1 -1
  351. package/src/countries/KH/district/stungTreng.js +1 -1
  352. package/src/countries/KH/district/svayRieng.js +1 -1
  353. package/src/countries/KH/district/takeo.js +1 -1
  354. package/src/countries/KH/district/tbongKhmum.js +1 -1
  355. package/src/countries/KW/district/ahmadi.js +2 -2
  356. package/src/countries/KW/district/capital.js +1 -1
  357. package/src/countries/KW/district/farwaniya.js +1 -1
  358. package/src/countries/KW/district/hawalli.js +2 -2
  359. package/src/countries/KW/district/jahra.js +1 -1
  360. package/src/countries/KW/district/mubarak.js +1 -1
  361. package/src/countries/KZ/district/akmola.js +1 -1
  362. package/src/countries/KZ/district/aktobe.js +1 -1
  363. package/src/countries/KZ/district/almaty.js +1 -1
  364. package/src/countries/KZ/district/almatyRegion.js +1 -1
  365. package/src/countries/KZ/district/astana.js +1 -1
  366. package/src/countries/KZ/district/atyrau.js +1 -1
  367. package/src/countries/KZ/district/eastKazakhstan.js +2 -2
  368. package/src/countries/KZ/district/jambyl.js +1 -1
  369. package/src/countries/KZ/district/karagandy.js +2 -2
  370. package/src/countries/KZ/district/kostanay.js +1 -1
  371. package/src/countries/KZ/district/kyzylorda.js +1 -1
  372. package/src/countries/KZ/district/mangystau.js +1 -1
  373. package/src/countries/KZ/district/northKazakhstan.js +1 -1
  374. package/src/countries/KZ/district/pavlodar.js +1 -1
  375. package/src/countries/KZ/district/shymkent.js +1 -1
  376. package/src/countries/KZ/district/turkestan.js +1 -1
  377. package/src/countries/KZ/district/westKazakhstan.js +1 -1
  378. package/src/countries/LA/district/attapeu.js +1 -1
  379. package/src/countries/LA/district/bokeo.js +1 -1
  380. package/src/countries/LA/district/bolikhamxai.js +1 -1
  381. package/src/countries/LA/district/champasak.js +1 -1
  382. package/src/countries/LA/district/houaphan.js +1 -1
  383. package/src/countries/LA/district/khammouan.js +1 -1
  384. package/src/countries/LA/district/louangNamtha.js +1 -1
  385. package/src/countries/LA/district/louangphabang.js +1 -1
  386. package/src/countries/LA/district/oudomxai.js +1 -1
  387. package/src/countries/LA/district/phongsali.js +1 -1
  388. package/src/countries/LA/district/salavan.js +1 -1
  389. package/src/countries/LA/district/savannakhet.js +1 -1
  390. package/src/countries/LA/district/vientiane.js +1 -1
  391. package/src/countries/LA/district/vientianeCapital.js +1 -1
  392. package/src/countries/LA/district/xaisomboun.js +1 -1
  393. package/src/countries/LA/district/xekong.js +1 -1
  394. package/src/countries/LA/district/xiangkhouang.js +1 -1
  395. package/src/countries/LB/district/akkar.js +1 -1
  396. package/src/countries/LB/district/baalbek.js +1 -1
  397. package/src/countries/LB/district/beirut.js +1 -1
  398. package/src/countries/LB/district/bekaa.js +1 -1
  399. package/src/countries/LB/district/mountLebanon.js +2 -2
  400. package/src/countries/LB/district/nabatieh.js +1 -1
  401. package/src/countries/LB/district/northLebanon.js +1 -1
  402. package/src/countries/LB/district/south.js +2 -2
  403. package/src/countries/LC/district/anseLaRaye.js +1 -1
  404. package/src/countries/LC/district/canaries.js +1 -1
  405. package/src/countries/LC/district/castries.js +1 -1
  406. package/src/countries/LC/district/choiseul.js +1 -1
  407. package/src/countries/LC/district/dennery.js +1 -1
  408. package/src/countries/LC/district/grosIslet.js +1 -1
  409. package/src/countries/LC/district/laborie.js +1 -1
  410. package/src/countries/LC/district/micoud.js +1 -1
  411. package/src/countries/LC/district/soufriere.js +1 -1
  412. package/src/countries/LC/district/vieuxFort.js +1 -1
  413. package/src/countries/LR/district/grandBassa.js +1 -1
  414. package/src/countries/LS/district/berea.js +1 -1
  415. package/src/countries/LS/district/butha_buthe.js +1 -1
  416. package/src/countries/LS/district/leribe.js +1 -1
  417. package/src/countries/LS/district/mafeteng.js +1 -1
  418. package/src/countries/LS/district/maseru.js +1 -1
  419. package/src/countries/LS/district/mohales_hoek.js +1 -1
  420. package/src/countries/LS/district/mokhotlong.js +1 -1
  421. package/src/countries/LS/district/qacha_nek.js +1 -1
  422. package/src/countries/LS/district/quthing.js +1 -1
  423. package/src/countries/LS/district/thaba_tseka.js +1 -1
  424. package/src/countries/ME/district/andrijevica.js +1 -1
  425. package/src/countries/ME/district/bar.js +1 -1
  426. package/src/countries/ME/district/berane.js +1 -1
  427. package/src/countries/ME/district/bijelo_polje.js +1 -1
  428. package/src/countries/ME/district/budva.js +1 -1
  429. package/src/countries/ME/district/cetinje.js +1 -1
  430. package/src/countries/ME/district/danilovgrad.js +1 -1
  431. package/src/countries/ME/district/gusinje.js +1 -1
  432. package/src/countries/ME/district/herceg_novi.js +1 -1
  433. package/src/countries/ME/district/kolasin.js +1 -1
  434. package/src/countries/ME/district/kotor.js +1 -1
  435. package/src/countries/ME/district/mojkovac.js +1 -1
  436. package/src/countries/ME/district/niksic.js +1 -1
  437. package/src/countries/ME/district/petnjica.js +1 -1
  438. package/src/countries/ME/district/plav.js +1 -1
  439. package/src/countries/ME/district/pljevlja.js +1 -1
  440. package/src/countries/ME/district/pluzine.js +1 -1
  441. package/src/countries/ME/district/podgorica.js +1 -1
  442. package/src/countries/ME/district/rozaje.js +1 -1
  443. package/src/countries/ME/district/savnik.js +1 -1
  444. package/src/countries/ME/district/tivat.js +1 -1
  445. package/src/countries/ME/district/tuzi.js +1 -1
  446. package/src/countries/ME/district/ulcinj.js +1 -1
  447. package/src/countries/ME/district/zabljak.js +1 -1
  448. package/src/countries/MG/district/antananarivo.js +2 -2
  449. package/src/countries/MG/district/antsiranana.js +1 -1
  450. package/src/countries/MG/district/fianarantsoa.js +1 -1
  451. package/src/countries/MG/district/mahajanga.js +1 -1
  452. package/src/countries/MG/district/toamasina.js +1 -1
  453. package/src/countries/MG/district/toliara.js +1 -1
  454. package/src/countries/MM/district/ayeyarwady.js +2 -2
  455. package/src/countries/MM/district/bago.js +1 -1
  456. package/src/countries/MM/district/chin.js +1 -1
  457. package/src/countries/MM/district/kachin.js +1 -1
  458. package/src/countries/MM/district/kayah.js +1 -1
  459. package/src/countries/MM/district/kayin.js +1 -1
  460. package/src/countries/MM/district/magway.js +1 -1
  461. package/src/countries/MM/district/mandalay.js +2 -2
  462. package/src/countries/MM/district/mon.js +1 -1
  463. package/src/countries/MM/district/naypyidaw.js +1 -1
  464. package/src/countries/MM/district/rakhine.js +1 -1
  465. package/src/countries/MM/district/sagaing.js +2 -2
  466. package/src/countries/MM/district/shan.js +1 -1
  467. package/src/countries/MM/district/tanintharyi.js +1 -1
  468. package/src/countries/MM/district/yangon.js +1 -1
  469. package/src/countries/MN/district/arkhangai.js +1 -1
  470. package/src/countries/MN/district/bayan_olgii.js +1 -1
  471. package/src/countries/MN/district/bayankhongor.js +1 -1
  472. package/src/countries/MN/district/bulgan.js +1 -1
  473. package/src/countries/MN/district/darkhan.js +1 -1
  474. package/src/countries/MN/district/dornod.js +1 -1
  475. package/src/countries/MN/district/dornogovi.js +1 -1
  476. package/src/countries/MN/district/dundgovi.js +1 -1
  477. package/src/countries/MN/district/govi_altai.js +1 -1
  478. package/src/countries/MN/district/govisumber.js +1 -1
  479. package/src/countries/MN/district/khentii.js +1 -1
  480. package/src/countries/MN/district/khovd.js +1 -1
  481. package/src/countries/MN/district/khuvsgul.js +1 -1
  482. package/src/countries/MN/district/omnogovi.js +1 -1
  483. package/src/countries/MN/district/orkhon.js +1 -1
  484. package/src/countries/MN/district/ovorkhangai.js +1 -1
  485. package/src/countries/MN/district/selenge.js +1 -1
  486. package/src/countries/MN/district/sukhbaatar.js +1 -1
  487. package/src/countries/MN/district/tov.js +1 -1
  488. package/src/countries/MN/district/ulaanbaatar.js +1 -1
  489. package/src/countries/MN/district/uvs.js +1 -1
  490. package/src/countries/MN/district/zavkhan.js +1 -1
  491. package/src/countries/MU/district/blackRiver.js +1 -1
  492. package/src/countries/MU/district/flacq.js +1 -1
  493. package/src/countries/MU/district/grandPort.js +1 -1
  494. package/src/countries/MU/district/moka.js +1 -1
  495. package/src/countries/MU/district/pamplemousses.js +1 -1
  496. package/src/countries/MU/district/plainesWilhems.js +2 -2
  497. package/src/countries/MU/district/portLouis.js +1 -1
  498. package/src/countries/MU/district/riviereDuRempart.js +1 -1
  499. package/src/countries/MU/district/savanne.js +1 -1
  500. package/src/countries/MV/district/central.js +1 -1
  501. package/src/countries/MV/district/male.js +1 -1
  502. package/src/countries/MV/district/north.js +1 -1
  503. package/src/countries/MV/district/northCentral.js +1 -1
  504. package/src/countries/MV/district/south.js +1 -1
  505. package/src/countries/MV/district/southCentral.js +1 -1
  506. package/src/countries/MV/district/upperSouth.js +1 -1
  507. package/src/countries/MZ/district/caboDelgado.js +2 -2
  508. package/src/countries/MZ/district/gaza.js +1 -1
  509. package/src/countries/MZ/district/inhambane.js +1 -1
  510. package/src/countries/MZ/district/manica.js +1 -1
  511. package/src/countries/MZ/district/maputoCidade.js +1 -1
  512. package/src/countries/MZ/district/maputoProv.js +1 -1
  513. package/src/countries/MZ/district/nampula.js +1 -1
  514. package/src/countries/MZ/district/niassa.js +1 -1
  515. package/src/countries/MZ/district/sofala.js +1 -1
  516. package/src/countries/MZ/district/tete.js +1 -1
  517. package/src/countries/MZ/district/zambezia.js +1 -1
  518. package/src/countries/NA/district/erongo.js +1 -1
  519. package/src/countries/NA/district/hardap.js +1 -1
  520. package/src/countries/NA/district/karas.js +1 -1
  521. package/src/countries/NA/district/kavangoEast.js +1 -1
  522. package/src/countries/NA/district/kavangoWest.js +1 -1
  523. package/src/countries/NA/district/khomas.js +1 -1
  524. package/src/countries/NA/district/kunene.js +1 -1
  525. package/src/countries/NA/district/ohangwena.js +1 -1
  526. package/src/countries/NA/district/omaheke.js +1 -1
  527. package/src/countries/NA/district/omusati.js +1 -1
  528. package/src/countries/NA/district/oshana.js +1 -1
  529. package/src/countries/NA/district/oshikoto.js +1 -1
  530. package/src/countries/NA/district/otjozondjupa.js +1 -1
  531. package/src/countries/NA/district/zambezi.js +1 -1
  532. package/src/countries/NE/district/tahoua.js +1 -1
  533. package/src/countries/NE/district/zinder.js +1 -1
  534. package/src/countries/NG/district/abia.js +1 -1
  535. package/src/countries/NG/district/adamawa.js +1 -1
  536. package/src/countries/NG/district/akwaIbom.js +1 -1
  537. package/src/countries/NG/district/anambra.js +1 -1
  538. package/src/countries/NG/district/bauchi.js +1 -1
  539. package/src/countries/NG/district/bayelsa.js +1 -1
  540. package/src/countries/NG/district/benue.js +1 -1
  541. package/src/countries/NG/district/borno.js +1 -1
  542. package/src/countries/NG/district/crossRiver.js +1 -1
  543. package/src/countries/NG/district/delta.js +1 -1
  544. package/src/countries/NG/district/ebonyi.js +1 -1
  545. package/src/countries/NG/district/edo.js +1 -1
  546. package/src/countries/NG/district/ekiti.js +1 -1
  547. package/src/countries/NG/district/enugu.js +1 -1
  548. package/src/countries/NG/district/fCT.js +1 -1
  549. package/src/countries/NG/district/gombe.js +1 -1
  550. package/src/countries/NG/district/imo.js +1 -1
  551. package/src/countries/NG/district/jigawa.js +1 -1
  552. package/src/countries/NG/district/kaduna.js +1 -1
  553. package/src/countries/NG/district/kano.js +1 -1
  554. package/src/countries/NG/district/katsina.js +1 -1
  555. package/src/countries/NG/district/kebbi.js +1 -1
  556. package/src/countries/NG/district/kogi.js +1 -1
  557. package/src/countries/NG/district/kwara.js +1 -1
  558. package/src/countries/NG/district/lagos.js +1 -1
  559. package/src/countries/NG/district/nasarawa.js +1 -1
  560. package/src/countries/NG/district/niger.js +1 -1
  561. package/src/countries/NG/district/ogun.js +1 -1
  562. package/src/countries/NG/district/ondo.js +1 -1
  563. package/src/countries/NG/district/osun.js +1 -1
  564. package/src/countries/NG/district/oyo.js +1 -1
  565. package/src/countries/NG/district/plateau.js +1 -1
  566. package/src/countries/NG/district/rivers.js +1 -1
  567. package/src/countries/NG/district/sokoto.js +1 -1
  568. package/src/countries/NG/district/taraba.js +1 -1
  569. package/src/countries/NG/district/yobe.js +1 -1
  570. package/src/countries/NG/district/zamfara.js +1 -1
  571. package/src/countries/NI/district/boaco.js +1 -1
  572. package/src/countries/NI/district/carazo.js +1 -1
  573. package/src/countries/NI/district/caribbeanCoastNorth.js +1 -1
  574. package/src/countries/NI/district/caribbeanCoastSouth.js +1 -1
  575. package/src/countries/NI/district/chinandega.js +1 -1
  576. package/src/countries/NI/district/chontales.js +1 -1
  577. package/src/countries/NI/district/esteli.js +1 -1
  578. package/src/countries/NI/district/granada.js +1 -1
  579. package/src/countries/NI/district/jinotega.js +1 -1
  580. package/src/countries/NI/district/leon.js +1 -1
  581. package/src/countries/NI/district/madriz.js +1 -1
  582. package/src/countries/NI/district/managua.js +1 -1
  583. package/src/countries/NI/district/masaya.js +1 -1
  584. package/src/countries/NI/district/matagalpa.js +1 -1
  585. package/src/countries/NI/district/nuevaSegovia.js +1 -1
  586. package/src/countries/NI/district/rioSanJuan.js +1 -1
  587. package/src/countries/NI/district/rivas.js +1 -1
  588. package/src/countries/NP/district/bagmati.js +2 -2
  589. package/src/countries/NP/district/gandaki.js +1 -1
  590. package/src/countries/NP/district/karnali.js +1 -1
  591. package/src/countries/NP/district/koshi.js +2 -2
  592. package/src/countries/NP/district/lumbini.js +1 -1
  593. package/src/countries/NP/district/madhesh.js +1 -1
  594. package/src/countries/NP/district/sudurpashchim.js +1 -1
  595. package/src/countries/OM/district/adDakhiliyah.js +1 -1
  596. package/src/countries/OM/district/alBatinahNorth.js +1 -1
  597. package/src/countries/OM/district/alBatinahSouth.js +1 -1
  598. package/src/countries/OM/district/alBuraymi.js +1 -1
  599. package/src/countries/OM/district/alWusta.js +1 -1
  600. package/src/countries/OM/district/ashSharqiyahNorth.js +1 -1
  601. package/src/countries/OM/district/ashSharqiyahSouth.js +1 -1
  602. package/src/countries/OM/district/azZahirah.js +1 -1
  603. package/src/countries/OM/district/dhofar.js +1 -1
  604. package/src/countries/OM/district/musandam.js +1 -1
  605. package/src/countries/OM/district/muscat.js +2 -2
  606. package/src/countries/PG/district/bougainville.js +1 -1
  607. package/src/countries/PG/district/centralProv.js +1 -1
  608. package/src/countries/PG/district/chimbu.js +1 -1
  609. package/src/countries/PG/district/eastHighlands.js +1 -1
  610. package/src/countries/PG/district/eastNewBritain.js +1 -1
  611. package/src/countries/PG/district/eastSepik.js +1 -1
  612. package/src/countries/PG/district/enga.js +1 -1
  613. package/src/countries/PG/district/gulf.js +1 -1
  614. package/src/countries/PG/district/hela.js +1 -1
  615. package/src/countries/PG/district/jiwaka.js +1 -1
  616. package/src/countries/PG/district/madang.js +1 -1
  617. package/src/countries/PG/district/manus.js +1 -1
  618. package/src/countries/PG/district/milneBay.js +1 -1
  619. package/src/countries/PG/district/morobe.js +1 -1
  620. package/src/countries/PG/district/ncr.js +1 -1
  621. package/src/countries/PG/district/newIreland.js +1 -1
  622. package/src/countries/PG/district/northernProv.js +1 -1
  623. package/src/countries/PG/district/sandaun.js +1 -1
  624. package/src/countries/PG/district/southern.js +1 -1
  625. package/src/countries/PG/district/westHighlands.js +1 -1
  626. package/src/countries/PG/district/westNewBritain.js +1 -1
  627. package/src/countries/PG/district/western.js +1 -1
  628. package/src/countries/PS/district/bethlehem.js +1 -1
  629. package/src/countries/PS/district/deir_el_balah.js +1 -1
  630. package/src/countries/PS/district/gaza.js +1 -1
  631. package/src/countries/PS/district/hebron.js +1 -1
  632. package/src/countries/PS/district/jenin.js +1 -1
  633. package/src/countries/PS/district/jericho.js +1 -1
  634. package/src/countries/PS/district/jerusalem.js +1 -1
  635. package/src/countries/PS/district/khanYunis.js +1 -1
  636. package/src/countries/PS/district/nablus.js +1 -1
  637. package/src/countries/PS/district/northGaza.js +1 -1
  638. package/src/countries/PS/district/qalqilya.js +1 -1
  639. package/src/countries/PS/district/rafah.js +1 -1
  640. package/src/countries/PS/district/ramallah.js +1 -1
  641. package/src/countries/PS/district/salfit.js +1 -1
  642. package/src/countries/PS/district/tubas.js +1 -1
  643. package/src/countries/PS/district/tulkarm.js +1 -1
  644. package/src/countries/PW/district/aimeliik.js +1 -1
  645. package/src/countries/PW/district/airai.js +1 -1
  646. package/src/countries/PW/district/angaur.js +1 -1
  647. package/src/countries/PW/district/hatohobei.js +1 -1
  648. package/src/countries/PW/district/kayangel.js +1 -1
  649. package/src/countries/PW/district/koror.js +1 -1
  650. package/src/countries/PW/district/melekeok.js +1 -1
  651. package/src/countries/PW/district/ngaraard.js +1 -1
  652. package/src/countries/PW/district/ngarchelong.js +1 -1
  653. package/src/countries/PW/district/ngardmau.js +1 -1
  654. package/src/countries/PW/district/ngatpang.js +1 -1
  655. package/src/countries/PW/district/ngchesar.js +1 -1
  656. package/src/countries/PW/district/ngeremlengui.js +1 -1
  657. package/src/countries/PW/district/ngiwal.js +1 -1
  658. package/src/countries/PW/district/peleliu.js +1 -1
  659. package/src/countries/PW/district/sonsorol.js +1 -1
  660. package/src/countries/PY/district/altoParaguay.js +1 -1
  661. package/src/countries/PY/district/altoParana.js +1 -1
  662. package/src/countries/PY/district/amambay.js +1 -1
  663. package/src/countries/PY/district/asuncion.js +1 -1
  664. package/src/countries/PY/district/boqueron.js +1 -1
  665. package/src/countries/PY/district/caaguazu.js +1 -1
  666. package/src/countries/PY/district/caazapa.js +1 -1
  667. package/src/countries/PY/district/canindeyu.js +1 -1
  668. package/src/countries/PY/district/central.js +1 -1
  669. package/src/countries/PY/district/concepcion.js +1 -1
  670. package/src/countries/PY/district/cordillera.js +1 -1
  671. package/src/countries/PY/district/guaira.js +1 -1
  672. package/src/countries/PY/district/itapua.js +1 -1
  673. package/src/countries/PY/district/misiones.js +1 -1
  674. package/src/countries/PY/district/neembucu.js +1 -1
  675. package/src/countries/PY/district/paraguari.js +1 -1
  676. package/src/countries/PY/district/presidenteHayes.js +1 -1
  677. package/src/countries/PY/district/sanPedro.js +1 -1
  678. package/src/countries/SA/district/alBahah.js +1 -1
  679. package/src/countries/SA/district/alJawf.js +1 -1
  680. package/src/countries/SA/district/alQassim.js +1 -1
  681. package/src/countries/SA/district/asir.js +1 -1
  682. package/src/countries/SA/district/eastern.js +2 -2
  683. package/src/countries/SA/district/hail.js +1 -1
  684. package/src/countries/SA/district/jazan.js +1 -1
  685. package/src/countries/SA/district/madinah.js +1 -1
  686. package/src/countries/SA/district/makkah.js +2 -2
  687. package/src/countries/SA/district/najran.js +1 -1
  688. package/src/countries/SA/district/northernBorders.js +1 -1
  689. package/src/countries/SA/district/riyadh.js +2 -2
  690. package/src/countries/SA/district/tabuk.js +1 -1
  691. package/src/countries/SD/district/alGedaref.js +1 -1
  692. package/src/countries/SD/district/alJazirah.js +1 -1
  693. package/src/countries/SD/district/blueNile.js +1 -1
  694. package/src/countries/SD/district/centralDarfur.js +1 -1
  695. package/src/countries/SD/district/eastDarfur.js +1 -1
  696. package/src/countries/SD/district/kassala.js +1 -1
  697. package/src/countries/SD/district/khartoum.js +1 -1
  698. package/src/countries/SD/district/northDarfur.js +1 -1
  699. package/src/countries/SD/district/northKordofan.js +1 -1
  700. package/src/countries/SD/district/northernState.js +1 -1
  701. package/src/countries/SD/district/redSea.js +1 -1
  702. package/src/countries/SD/district/riverNile.js +1 -1
  703. package/src/countries/SD/district/sennar.js +1 -1
  704. package/src/countries/SD/district/southDarfur.js +1 -1
  705. package/src/countries/SD/district/southKordofan.js +1 -1
  706. package/src/countries/SD/district/westDarfur.js +1 -1
  707. package/src/countries/SD/district/westKordofan.js +1 -1
  708. package/src/countries/SD/district/whiteNile.js +1 -1
  709. package/src/countries/SN/district/dakar.js +1 -1
  710. package/src/countries/SN/district/diourbel.js +1 -1
  711. package/src/countries/SN/district/fatick.js +1 -1
  712. package/src/countries/SN/district/kaffrine.js +1 -1
  713. package/src/countries/SN/district/kaolack.js +1 -1
  714. package/src/countries/SN/district/kedougou.js +1 -1
  715. package/src/countries/SN/district/kolda.js +1 -1
  716. package/src/countries/SN/district/louga.js +1 -1
  717. package/src/countries/SN/district/matam.js +1 -1
  718. package/src/countries/SN/district/saintLouis.js +1 -1
  719. package/src/countries/SN/district/sedhiou.js +1 -1
  720. package/src/countries/SN/district/tambacounda.js +1 -1
  721. package/src/countries/SN/district/thies.js +1 -1
  722. package/src/countries/SN/district/ziguinchor.js +1 -1
  723. package/src/countries/SO/district/banaadir.js +1 -1
  724. package/src/countries/SV/district/ahuachapon.js +1 -1
  725. package/src/countries/SV/district/cabanas.js +1 -1
  726. package/src/countries/SV/district/chalatenango.js +1 -1
  727. package/src/countries/SV/district/cuscatlan.js +1 -1
  728. package/src/countries/SV/district/laLibertad.js +1 -1
  729. package/src/countries/SV/district/laPaz.js +1 -1
  730. package/src/countries/SV/district/laUnion.js +1 -1
  731. package/src/countries/SV/district/morazan.js +1 -1
  732. package/src/countries/SV/district/sanMiguel.js +1 -1
  733. package/src/countries/SV/district/sanSalvador.js +1 -1
  734. package/src/countries/SV/district/sanVicente.js +1 -1
  735. package/src/countries/SV/district/santaAna.js +1 -1
  736. package/src/countries/SV/district/sonsonate.js +1 -1
  737. package/src/countries/SV/district/usulutan.js +1 -1
  738. package/src/countries/SZ/district/hhohho.js +2 -2
  739. package/src/countries/SZ/district/lubombo.js +1 -1
  740. package/src/countries/SZ/district/manzini.js +1 -1
  741. package/src/countries/SZ/district/shiselweni.js +1 -1
  742. package/src/countries/TJ/district/drs.js +2 -2
  743. package/src/countries/TJ/district/dushanbe.js +1 -1
  744. package/src/countries/TJ/district/gbao.js +1 -1
  745. package/src/countries/TJ/district/khatlon.js +2 -2
  746. package/src/countries/TJ/district/sughd.js +2 -2
  747. package/src/countries/TM/district/ahal.js +2 -2
  748. package/src/countries/TM/district/ashgabat.js +1 -1
  749. package/src/countries/TM/district/balkan.js +2 -2
  750. package/src/countries/TM/district/dashoguz.js +1 -1
  751. package/src/countries/TM/district/lebap.js +1 -1
  752. package/src/countries/TM/district/mary.js +1 -1
  753. package/src/countries/TN/district/ariana.js +1 -1
  754. package/src/countries/TN/district/beja.js +1 -1
  755. package/src/countries/TN/district/benArous.js +1 -1
  756. package/src/countries/TN/district/bizerte.js +1 -1
  757. package/src/countries/TN/district/gabes.js +1 -1
  758. package/src/countries/TN/district/gafsa.js +1 -1
  759. package/src/countries/TN/district/jendouba.js +1 -1
  760. package/src/countries/TN/district/kairouan.js +1 -1
  761. package/src/countries/TN/district/kasserine.js +1 -1
  762. package/src/countries/TN/district/kebili.js +1 -1
  763. package/src/countries/TN/district/kef.js +1 -1
  764. package/src/countries/TN/district/mahdia.js +1 -1
  765. package/src/countries/TN/district/manouba.js +1 -1
  766. package/src/countries/TN/district/medenine.js +1 -1
  767. package/src/countries/TN/district/monastir.js +1 -1
  768. package/src/countries/TN/district/nabeul.js +1 -1
  769. package/src/countries/TN/district/sfax.js +1 -1
  770. package/src/countries/TN/district/sidiBouzid.js +1 -1
  771. package/src/countries/TN/district/siliana.js +1 -1
  772. package/src/countries/TN/district/sousse.js +1 -1
  773. package/src/countries/TN/district/tataouine.js +1 -1
  774. package/src/countries/TN/district/tozeur.js +1 -1
  775. package/src/countries/TN/district/tunis.js +1 -1
  776. package/src/countries/TN/district/zaghouan.js +1 -1
  777. package/src/countries/TT/district/sangreGrande.js +1 -1
  778. package/src/countries/TW/district/changhua.js +1 -1
  779. package/src/countries/TW/district/chiayiCity.js +1 -1
  780. package/src/countries/TW/district/chiayiCounty.js +1 -1
  781. package/src/countries/TW/district/hsinchuCity.js +1 -1
  782. package/src/countries/TW/district/hsinchuCounty.js +1 -1
  783. package/src/countries/TW/district/hualien.js +1 -1
  784. package/src/countries/TW/district/kaohsiung.js +1 -1
  785. package/src/countries/TW/district/keelung.js +1 -1
  786. package/src/countries/TW/district/kinmen.js +1 -1
  787. package/src/countries/TW/district/lienchiang.js +1 -1
  788. package/src/countries/TW/district/miaoli.js +1 -1
  789. package/src/countries/TW/district/nantou.js +1 -1
  790. package/src/countries/TW/district/newTaipei.js +1 -1
  791. package/src/countries/TW/district/penghu.js +1 -1
  792. package/src/countries/TW/district/pingtung.js +1 -1
  793. package/src/countries/TW/district/taichung.js +1 -1
  794. package/src/countries/TW/district/tainan.js +1 -1
  795. package/src/countries/TW/district/taipei.js +1 -1
  796. package/src/countries/TW/district/taitung.js +1 -1
  797. package/src/countries/TW/district/taoyuan.js +1 -1
  798. package/src/countries/TW/district/yilan.js +1 -1
  799. package/src/countries/TW/district/yunlin.js +1 -1
  800. package/src/countries/TZ/district/arusha.js +1 -1
  801. package/src/countries/TZ/district/darEsSalaam.js +1 -1
  802. package/src/countries/TZ/district/dodoma.js +1 -1
  803. package/src/countries/TZ/district/geita.js +1 -1
  804. package/src/countries/TZ/district/iringa.js +1 -1
  805. package/src/countries/TZ/district/kagera.js +1 -1
  806. package/src/countries/TZ/district/katavi.js +1 -1
  807. package/src/countries/TZ/district/kigoma.js +1 -1
  808. package/src/countries/TZ/district/kilimanjaro.js +1 -1
  809. package/src/countries/TZ/district/lindi.js +1 -1
  810. package/src/countries/TZ/district/manyara.js +1 -1
  811. package/src/countries/TZ/district/mara.js +1 -1
  812. package/src/countries/TZ/district/mbeya.js +1 -1
  813. package/src/countries/TZ/district/morogoro.js +1 -1
  814. package/src/countries/TZ/district/mtwara.js +1 -1
  815. package/src/countries/TZ/district/mwanza.js +1 -1
  816. package/src/countries/TZ/district/njombe.js +1 -1
  817. package/src/countries/TZ/district/pembaNorth.js +1 -1
  818. package/src/countries/TZ/district/pembaSouth.js +1 -1
  819. package/src/countries/TZ/district/pwani.js +1 -1
  820. package/src/countries/TZ/district/rukwa.js +1 -1
  821. package/src/countries/TZ/district/ruvuma.js +1 -1
  822. package/src/countries/TZ/district/shinyanga.js +1 -1
  823. package/src/countries/TZ/district/simiyu.js +1 -1
  824. package/src/countries/TZ/district/singida.js +1 -1
  825. package/src/countries/TZ/district/songwe.js +1 -1
  826. package/src/countries/TZ/district/tabora.js +1 -1
  827. package/src/countries/TZ/district/tanga.js +1 -1
  828. package/src/countries/TZ/district/ungujaNorth.js +1 -1
  829. package/src/countries/TZ/district/ungujaSouth.js +1 -1
  830. package/src/countries/TZ/district/zanzibarCity.js +1 -1
  831. package/src/countries/UZ/district/andijan.js +1 -1
  832. package/src/countries/UZ/district/bukhara.js +1 -1
  833. package/src/countries/UZ/district/fergana.js +1 -1
  834. package/src/countries/UZ/district/jizzakh.js +1 -1
  835. package/src/countries/UZ/district/karakalpakstan.js +1 -1
  836. package/src/countries/UZ/district/kashkadarya.js +1 -1
  837. package/src/countries/UZ/district/khorezm.js +1 -1
  838. package/src/countries/UZ/district/namangan.js +1 -1
  839. package/src/countries/UZ/district/navoiy.js +1 -1
  840. package/src/countries/UZ/district/samarkand.js +1 -1
  841. package/src/countries/UZ/district/sirdaryo.js +1 -1
  842. package/src/countries/UZ/district/surkhondaryo.js +1 -1
  843. package/src/countries/UZ/district/tashkentCity.js +1 -1
  844. package/src/countries/UZ/district/tashkentRegion.js +1 -1
  845. package/src/countries/VC/district/charlotte.js +1 -1
  846. package/src/countries/VC/district/grenadines.js +1 -1
  847. package/src/countries/VC/district/saintAndrew.js +1 -1
  848. package/src/countries/VC/district/saintDavid.js +1 -1
  849. package/src/countries/VC/district/saintGeorge.js +1 -1
  850. package/src/countries/VC/district/saintPatrick.js +1 -1
  851. package/src/countries/VE/district/amazonas.js +1 -1
  852. package/src/countries/VE/district/anzoategui.js +1 -1
  853. package/src/countries/VE/district/apure.js +1 -1
  854. package/src/countries/VE/district/aragua.js +1 -1
  855. package/src/countries/VE/district/barinas.js +1 -1
  856. package/src/countries/VE/district/bolivar.js +1 -1
  857. package/src/countries/VE/district/carabobo.js +1 -1
  858. package/src/countries/VE/district/caracas.js +1 -1
  859. package/src/countries/VE/district/cojedes.js +1 -1
  860. package/src/countries/VE/district/deltaAmacuro.js +1 -1
  861. package/src/countries/VE/district/falcon.js +1 -1
  862. package/src/countries/VE/district/guarico.js +1 -1
  863. package/src/countries/VE/district/lara.js +1 -1
  864. package/src/countries/VE/district/merida.js +1 -1
  865. package/src/countries/VE/district/miranda.js +1 -1
  866. package/src/countries/VE/district/monagas.js +1 -1
  867. package/src/countries/VE/district/nuevaEsparta.js +1 -1
  868. package/src/countries/VE/district/portuguesa.js +1 -1
  869. package/src/countries/VE/district/sucre.js +1 -1
  870. package/src/countries/VE/district/tachira.js +1 -1
  871. package/src/countries/VE/district/trujillo.js +1 -1
  872. package/src/countries/VE/district/vargas.js +1 -1
  873. package/src/countries/VE/district/yaracuy.js +1 -1
  874. package/src/countries/VE/district/zulia.js +1 -1
  875. package/src/countries/VN/district/anGiang.js +1 -1
  876. package/src/countries/VN/district/baRiaVungTau.js +1 -1
  877. package/src/countries/VN/district/bacGiang.js +1 -1
  878. package/src/countries/VN/district/bacKan.js +1 -1
  879. package/src/countries/VN/district/bacLieu.js +1 -1
  880. package/src/countries/VN/district/bacNinh.js +1 -1
  881. package/src/countries/VN/district/benTre.js +1 -1
  882. package/src/countries/VN/district/binhDinh.js +1 -1
  883. package/src/countries/VN/district/binhDuong.js +1 -1
  884. package/src/countries/VN/district/binhPhuoc.js +1 -1
  885. package/src/countries/VN/district/binhThuan.js +1 -1
  886. package/src/countries/VN/district/caMau.js +1 -1
  887. package/src/countries/VN/district/canTho.js +1 -1
  888. package/src/countries/VN/district/caoBang.js +1 -1
  889. package/src/countries/VN/district/daNang.js +1 -1
  890. package/src/countries/VN/district/dakLak.js +1 -1
  891. package/src/countries/VN/district/dakNong.js +1 -1
  892. package/src/countries/VN/district/dienBien.js +1 -1
  893. package/src/countries/VN/district/dongNai.js +1 -1
  894. package/src/countries/VN/district/dongThap.js +1 -1
  895. package/src/countries/VN/district/giaLai.js +1 -1
  896. package/src/countries/VN/district/haGiang.js +1 -1
  897. package/src/countries/VN/district/haNam.js +1 -1
  898. package/src/countries/VN/district/haNoi.js +1 -1
  899. package/src/countries/VN/district/haTinh.js +1 -1
  900. package/src/countries/VN/district/haiDuong.js +1 -1
  901. package/src/countries/VN/district/haiPhong.js +1 -1
  902. package/src/countries/VN/district/hauGiang.js +1 -1
  903. package/src/countries/VN/district/hoChiMinhCity.js +1 -1
  904. package/src/countries/VN/district/hoaBinh.js +1 -1
  905. package/src/countries/VN/district/hungYen.js +1 -1
  906. package/src/countries/VN/district/khanhHoa.js +1 -1
  907. package/src/countries/VN/district/kienGiang.js +1 -1
  908. package/src/countries/VN/district/konTum.js +1 -1
  909. package/src/countries/VN/district/laiChau.js +1 -1
  910. package/src/countries/VN/district/lamDong.js +1 -1
  911. package/src/countries/VN/district/langSon.js +1 -1
  912. package/src/countries/VN/district/laoCai.js +1 -1
  913. package/src/countries/VN/district/longAn.js +1 -1
  914. package/src/countries/VN/district/namDinh.js +1 -1
  915. package/src/countries/VN/district/ngheAn.js +1 -1
  916. package/src/countries/VN/district/ninhBinh.js +1 -1
  917. package/src/countries/VN/district/ninhThuan.js +1 -1
  918. package/src/countries/VN/district/phuTho.js +1 -1
  919. package/src/countries/VN/district/phuYen.js +1 -1
  920. package/src/countries/VN/district/quangBinh.js +1 -1
  921. package/src/countries/VN/district/quangNam.js +1 -1
  922. package/src/countries/VN/district/quangNgai.js +1 -1
  923. package/src/countries/VN/district/quangNinh.js +1 -1
  924. package/src/countries/VN/district/quangTri.js +1 -1
  925. package/src/countries/VN/district/socTrang.js +1 -1
  926. package/src/countries/VN/district/sonLa.js +1 -1
  927. package/src/countries/VN/district/tayNinh.js +1 -1
  928. package/src/countries/VN/district/thaiBinh.js +1 -1
  929. package/src/countries/VN/district/thaiNguyen.js +1 -1
  930. package/src/countries/VN/district/thanhHoa.js +1 -1
  931. package/src/countries/VN/district/thuaThienHue.js +1 -1
  932. package/src/countries/VN/district/tienGiang.js +1 -1
  933. package/src/countries/VN/district/traVinh.js +1 -1
  934. package/src/countries/VN/district/tuyenQuang.js +1 -1
  935. package/src/countries/VN/district/vinhLong.js +1 -1
  936. package/src/countries/VN/district/vinhPhuc.js +1 -1
  937. package/src/countries/VN/district/yenBai.js +1 -1
  938. package/src/countries/ZM/district/copperbelt.js +1 -1
  939. package/src/countries/ZM/district/eastern.js +1 -1
  940. package/src/countries/ZM/district/lusaka.js +1 -1
  941. package/src/functions/getCountries.js +2 -0
  942. package/src/react/LocationPicker.tsx +91 -0
  943. package/src/react/adapters/antd.tsx +36 -0
  944. package/src/react/adapters/mui.tsx +51 -0
  945. package/src/react/index.ts +24 -0
  946. package/src/react/location-picker.types.ts +111 -0
  947. 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.1.2",
4
- "description": "A package to filter country data",
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
- "filter",
23
- "city"
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,13 @@
1
+ .cdf-location-picker {
2
+ display: flex;
3
+ gap: 8px;
4
+ }
5
+
6
+ .cdf-horizontal {
7
+ flex-direction: row;
8
+ flex-wrap: wrap;
9
+ }
10
+
11
+ .cdf-vertical {
12
+ flex-direction: column;
13
+ }
@@ -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
  },