choropleth-kit 0.1.0 → 0.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 (487) hide show
  1. package/README.md +106 -16
  2. package/dist/admin1/ad.d.ts +4 -0
  3. package/dist/admin1/ad.js +2 -0
  4. package/dist/admin1/ae.d.ts +4 -0
  5. package/dist/admin1/ae.js +2 -0
  6. package/dist/admin1/af.d.ts +4 -0
  7. package/dist/admin1/af.js +2 -0
  8. package/dist/admin1/ag.d.ts +4 -0
  9. package/dist/admin1/ag.js +2 -0
  10. package/dist/admin1/ai.d.ts +4 -0
  11. package/dist/admin1/ai.js +2 -0
  12. package/dist/admin1/al.d.ts +4 -0
  13. package/dist/admin1/al.js +2 -0
  14. package/dist/admin1/am.d.ts +4 -0
  15. package/dist/admin1/am.js +2 -0
  16. package/dist/admin1/ao.d.ts +4 -0
  17. package/dist/admin1/ao.js +2 -0
  18. package/dist/admin1/aq.d.ts +4 -0
  19. package/dist/admin1/aq.js +2 -0
  20. package/dist/admin1/ar.d.ts +4 -0
  21. package/dist/admin1/ar.js +2 -0
  22. package/dist/admin1/as.d.ts +4 -0
  23. package/dist/admin1/as.js +2 -0
  24. package/dist/admin1/at.d.ts +4 -0
  25. package/dist/admin1/at.js +2 -0
  26. package/dist/admin1/au.d.ts +4 -0
  27. package/dist/admin1/au.js +2 -0
  28. package/dist/admin1/aw.d.ts +4 -0
  29. package/dist/admin1/aw.js +2 -0
  30. package/dist/admin1/ax.d.ts +4 -0
  31. package/dist/admin1/ax.js +2 -0
  32. package/dist/admin1/az.d.ts +4 -0
  33. package/dist/admin1/az.js +2 -0
  34. package/dist/admin1/ba.d.ts +4 -0
  35. package/dist/admin1/ba.js +2 -0
  36. package/dist/admin1/bb.d.ts +4 -0
  37. package/dist/admin1/bb.js +2 -0
  38. package/dist/admin1/bd.d.ts +4 -0
  39. package/dist/admin1/bd.js +2 -0
  40. package/dist/admin1/be.d.ts +4 -0
  41. package/dist/admin1/be.js +2 -0
  42. package/dist/admin1/bf.d.ts +4 -0
  43. package/dist/admin1/bf.js +2 -0
  44. package/dist/admin1/bg.d.ts +4 -0
  45. package/dist/admin1/bg.js +2 -0
  46. package/dist/admin1/bh.d.ts +4 -0
  47. package/dist/admin1/bh.js +2 -0
  48. package/dist/admin1/bi.d.ts +4 -0
  49. package/dist/admin1/bi.js +2 -0
  50. package/dist/admin1/bj.d.ts +4 -0
  51. package/dist/admin1/bj.js +2 -0
  52. package/dist/admin1/bl.d.ts +4 -0
  53. package/dist/admin1/bl.js +2 -0
  54. package/dist/admin1/bm.d.ts +4 -0
  55. package/dist/admin1/bm.js +2 -0
  56. package/dist/admin1/bn.d.ts +4 -0
  57. package/dist/admin1/bn.js +2 -0
  58. package/dist/admin1/bo.d.ts +4 -0
  59. package/dist/admin1/bo.js +2 -0
  60. package/dist/admin1/br.d.ts +4 -0
  61. package/dist/admin1/br.js +2 -0
  62. package/dist/admin1/bs.d.ts +4 -0
  63. package/dist/admin1/bs.js +2 -0
  64. package/dist/admin1/bt.d.ts +4 -0
  65. package/dist/admin1/bt.js +2 -0
  66. package/dist/admin1/bw.d.ts +4 -0
  67. package/dist/admin1/bw.js +2 -0
  68. package/dist/admin1/by.d.ts +4 -0
  69. package/dist/admin1/by.js +2 -0
  70. package/dist/admin1/bz.d.ts +4 -0
  71. package/dist/admin1/bz.js +2 -0
  72. package/dist/admin1/ca.d.ts +4 -0
  73. package/dist/admin1/ca.js +2 -0
  74. package/dist/admin1/cd.d.ts +4 -0
  75. package/dist/admin1/cd.js +2 -0
  76. package/dist/admin1/cf.d.ts +4 -0
  77. package/dist/admin1/cf.js +2 -0
  78. package/dist/admin1/cg.d.ts +4 -0
  79. package/dist/admin1/cg.js +2 -0
  80. package/dist/admin1/ch.d.ts +4 -0
  81. package/dist/admin1/ch.js +2 -0
  82. package/dist/admin1/ci.d.ts +4 -0
  83. package/dist/admin1/ci.js +2 -0
  84. package/dist/admin1/ck.d.ts +4 -0
  85. package/dist/admin1/ck.js +2 -0
  86. package/dist/admin1/cl.d.ts +4 -0
  87. package/dist/admin1/cl.js +2 -0
  88. package/dist/admin1/cm.d.ts +4 -0
  89. package/dist/admin1/cm.js +2 -0
  90. package/dist/admin1/cn.d.ts +4 -0
  91. package/dist/admin1/cn.js +2 -0
  92. package/dist/admin1/co.d.ts +4 -0
  93. package/dist/admin1/co.js +2 -0
  94. package/dist/admin1/cr.d.ts +4 -0
  95. package/dist/admin1/cr.js +2 -0
  96. package/dist/admin1/cu.d.ts +4 -0
  97. package/dist/admin1/cu.js +2 -0
  98. package/dist/admin1/cv.d.ts +4 -0
  99. package/dist/admin1/cv.js +2 -0
  100. package/dist/admin1/cw.d.ts +4 -0
  101. package/dist/admin1/cw.js +2 -0
  102. package/dist/admin1/cy.d.ts +4 -0
  103. package/dist/admin1/cy.js +2 -0
  104. package/dist/admin1/cz.d.ts +4 -0
  105. package/dist/admin1/cz.js +2 -0
  106. package/dist/admin1/de.d.ts +4 -0
  107. package/dist/admin1/de.js +2 -0
  108. package/dist/admin1/dj.d.ts +4 -0
  109. package/dist/admin1/dj.js +2 -0
  110. package/dist/admin1/dk.d.ts +4 -0
  111. package/dist/admin1/dk.js +2 -0
  112. package/dist/admin1/dm.d.ts +4 -0
  113. package/dist/admin1/dm.js +2 -0
  114. package/dist/admin1/do.d.ts +4 -0
  115. package/dist/admin1/do.js +2 -0
  116. package/dist/admin1/dz.d.ts +4 -0
  117. package/dist/admin1/dz.js +2 -0
  118. package/dist/admin1/ec.d.ts +4 -0
  119. package/dist/admin1/ec.js +2 -0
  120. package/dist/admin1/ee.d.ts +4 -0
  121. package/dist/admin1/ee.js +2 -0
  122. package/dist/admin1/eg.d.ts +4 -0
  123. package/dist/admin1/eg.js +2 -0
  124. package/dist/admin1/eh.d.ts +4 -0
  125. package/dist/admin1/eh.js +2 -0
  126. package/dist/admin1/er.d.ts +4 -0
  127. package/dist/admin1/er.js +2 -0
  128. package/dist/admin1/es.d.ts +4 -0
  129. package/dist/admin1/es.js +2 -0
  130. package/dist/admin1/et.d.ts +4 -0
  131. package/dist/admin1/et.js +2 -0
  132. package/dist/admin1/fi.d.ts +4 -0
  133. package/dist/admin1/fi.js +2 -0
  134. package/dist/admin1/fj.d.ts +4 -0
  135. package/dist/admin1/fj.js +2 -0
  136. package/dist/admin1/fk.d.ts +4 -0
  137. package/dist/admin1/fk.js +2 -0
  138. package/dist/admin1/fm.d.ts +4 -0
  139. package/dist/admin1/fm.js +2 -0
  140. package/dist/admin1/fo.d.ts +4 -0
  141. package/dist/admin1/fo.js +2 -0
  142. package/dist/admin1/fr.d.ts +4 -0
  143. package/dist/admin1/fr.js +2 -0
  144. package/dist/admin1/ga.d.ts +4 -0
  145. package/dist/admin1/ga.js +2 -0
  146. package/dist/admin1/gb.d.ts +4 -0
  147. package/dist/admin1/gb.js +2 -0
  148. package/dist/admin1/gd.d.ts +4 -0
  149. package/dist/admin1/gd.js +2 -0
  150. package/dist/admin1/ge.d.ts +4 -0
  151. package/dist/admin1/ge.js +2 -0
  152. package/dist/admin1/gg.d.ts +4 -0
  153. package/dist/admin1/gg.js +2 -0
  154. package/dist/admin1/gh.d.ts +4 -0
  155. package/dist/admin1/gh.js +2 -0
  156. package/dist/admin1/gi.d.ts +4 -0
  157. package/dist/admin1/gi.js +2 -0
  158. package/dist/admin1/gl.d.ts +4 -0
  159. package/dist/admin1/gl.js +2 -0
  160. package/dist/admin1/gm.d.ts +4 -0
  161. package/dist/admin1/gm.js +2 -0
  162. package/dist/admin1/gn.d.ts +4 -0
  163. package/dist/admin1/gn.js +2 -0
  164. package/dist/admin1/gq.d.ts +4 -0
  165. package/dist/admin1/gq.js +2 -0
  166. package/dist/admin1/gr.d.ts +4 -0
  167. package/dist/admin1/gr.js +2 -0
  168. package/dist/admin1/gs.d.ts +4 -0
  169. package/dist/admin1/gs.js +2 -0
  170. package/dist/admin1/gt.d.ts +4 -0
  171. package/dist/admin1/gt.js +2 -0
  172. package/dist/admin1/gu.d.ts +4 -0
  173. package/dist/admin1/gu.js +2 -0
  174. package/dist/admin1/gw.d.ts +4 -0
  175. package/dist/admin1/gw.js +2 -0
  176. package/dist/admin1/gy.d.ts +4 -0
  177. package/dist/admin1/gy.js +2 -0
  178. package/dist/admin1/hk.d.ts +4 -0
  179. package/dist/admin1/hk.js +2 -0
  180. package/dist/admin1/hm.d.ts +4 -0
  181. package/dist/admin1/hm.js +2 -0
  182. package/dist/admin1/hn.d.ts +4 -0
  183. package/dist/admin1/hn.js +2 -0
  184. package/dist/admin1/hr.d.ts +4 -0
  185. package/dist/admin1/hr.js +2 -0
  186. package/dist/admin1/ht.d.ts +4 -0
  187. package/dist/admin1/ht.js +2 -0
  188. package/dist/admin1/hu.d.ts +4 -0
  189. package/dist/admin1/hu.js +2 -0
  190. package/dist/admin1/id.d.ts +4 -0
  191. package/dist/admin1/id.js +2 -0
  192. package/dist/admin1/ie.d.ts +4 -0
  193. package/dist/admin1/ie.js +2 -0
  194. package/dist/admin1/il.d.ts +4 -0
  195. package/dist/admin1/il.js +2 -0
  196. package/dist/admin1/im.d.ts +4 -0
  197. package/dist/admin1/im.js +2 -0
  198. package/dist/admin1/in.d.ts +4 -0
  199. package/dist/admin1/in.js +2 -0
  200. package/dist/admin1/io.d.ts +4 -0
  201. package/dist/admin1/io.js +2 -0
  202. package/dist/admin1/iq.d.ts +4 -0
  203. package/dist/admin1/iq.js +2 -0
  204. package/dist/admin1/ir.d.ts +4 -0
  205. package/dist/admin1/ir.js +2 -0
  206. package/dist/admin1/is.d.ts +4 -0
  207. package/dist/admin1/is.js +2 -0
  208. package/dist/admin1/it.d.ts +4 -0
  209. package/dist/admin1/it.js +2 -0
  210. package/dist/admin1/je.d.ts +4 -0
  211. package/dist/admin1/je.js +2 -0
  212. package/dist/admin1/jm.d.ts +4 -0
  213. package/dist/admin1/jm.js +2 -0
  214. package/dist/admin1/jo.d.ts +4 -0
  215. package/dist/admin1/jo.js +2 -0
  216. package/dist/admin1/jp.d.ts +4 -0
  217. package/dist/admin1/jp.js +2 -0
  218. package/dist/admin1/ke.d.ts +4 -0
  219. package/dist/admin1/ke.js +2 -0
  220. package/dist/admin1/kg.d.ts +4 -0
  221. package/dist/admin1/kg.js +2 -0
  222. package/dist/admin1/kh.d.ts +4 -0
  223. package/dist/admin1/kh.js +2 -0
  224. package/dist/admin1/ki.d.ts +4 -0
  225. package/dist/admin1/ki.js +2 -0
  226. package/dist/admin1/km.d.ts +4 -0
  227. package/dist/admin1/km.js +2 -0
  228. package/dist/admin1/kn.d.ts +4 -0
  229. package/dist/admin1/kn.js +2 -0
  230. package/dist/admin1/kp.d.ts +4 -0
  231. package/dist/admin1/kp.js +2 -0
  232. package/dist/admin1/kr.d.ts +4 -0
  233. package/dist/admin1/kr.js +2 -0
  234. package/dist/admin1/kw.d.ts +4 -0
  235. package/dist/admin1/kw.js +2 -0
  236. package/dist/admin1/ky.d.ts +4 -0
  237. package/dist/admin1/ky.js +2 -0
  238. package/dist/admin1/kz.d.ts +4 -0
  239. package/dist/admin1/kz.js +2 -0
  240. package/dist/admin1/la.d.ts +4 -0
  241. package/dist/admin1/la.js +2 -0
  242. package/dist/admin1/lb.d.ts +4 -0
  243. package/dist/admin1/lb.js +2 -0
  244. package/dist/admin1/lc.d.ts +4 -0
  245. package/dist/admin1/lc.js +2 -0
  246. package/dist/admin1/li.d.ts +4 -0
  247. package/dist/admin1/li.js +2 -0
  248. package/dist/admin1/lk.d.ts +4 -0
  249. package/dist/admin1/lk.js +2 -0
  250. package/dist/admin1/lr.d.ts +4 -0
  251. package/dist/admin1/lr.js +2 -0
  252. package/dist/admin1/ls.d.ts +4 -0
  253. package/dist/admin1/ls.js +2 -0
  254. package/dist/admin1/lt.d.ts +4 -0
  255. package/dist/admin1/lt.js +2 -0
  256. package/dist/admin1/lu.d.ts +4 -0
  257. package/dist/admin1/lu.js +2 -0
  258. package/dist/admin1/lv.d.ts +4 -0
  259. package/dist/admin1/lv.js +2 -0
  260. package/dist/admin1/ly.d.ts +4 -0
  261. package/dist/admin1/ly.js +2 -0
  262. package/dist/admin1/ma.d.ts +4 -0
  263. package/dist/admin1/ma.js +2 -0
  264. package/dist/admin1/mc.d.ts +4 -0
  265. package/dist/admin1/mc.js +2 -0
  266. package/dist/admin1/md.d.ts +4 -0
  267. package/dist/admin1/md.js +2 -0
  268. package/dist/admin1/me.d.ts +4 -0
  269. package/dist/admin1/me.js +2 -0
  270. package/dist/admin1/mf.d.ts +4 -0
  271. package/dist/admin1/mf.js +2 -0
  272. package/dist/admin1/mg.d.ts +4 -0
  273. package/dist/admin1/mg.js +2 -0
  274. package/dist/admin1/mh.d.ts +4 -0
  275. package/dist/admin1/mh.js +2 -0
  276. package/dist/admin1/mk.d.ts +4 -0
  277. package/dist/admin1/mk.js +2 -0
  278. package/dist/admin1/ml.d.ts +4 -0
  279. package/dist/admin1/ml.js +2 -0
  280. package/dist/admin1/mm.d.ts +4 -0
  281. package/dist/admin1/mm.js +2 -0
  282. package/dist/admin1/mn.d.ts +4 -0
  283. package/dist/admin1/mn.js +2 -0
  284. package/dist/admin1/mo.d.ts +4 -0
  285. package/dist/admin1/mo.js +2 -0
  286. package/dist/admin1/mp.d.ts +4 -0
  287. package/dist/admin1/mp.js +2 -0
  288. package/dist/admin1/mr.d.ts +4 -0
  289. package/dist/admin1/mr.js +2 -0
  290. package/dist/admin1/ms.d.ts +4 -0
  291. package/dist/admin1/ms.js +2 -0
  292. package/dist/admin1/mt.d.ts +4 -0
  293. package/dist/admin1/mt.js +2 -0
  294. package/dist/admin1/mu.d.ts +4 -0
  295. package/dist/admin1/mu.js +2 -0
  296. package/dist/admin1/mv.d.ts +4 -0
  297. package/dist/admin1/mv.js +2 -0
  298. package/dist/admin1/mw.d.ts +4 -0
  299. package/dist/admin1/mw.js +2 -0
  300. package/dist/admin1/mx.d.ts +4 -0
  301. package/dist/admin1/mx.js +2 -0
  302. package/dist/admin1/my.d.ts +4 -0
  303. package/dist/admin1/my.js +2 -0
  304. package/dist/admin1/mz.d.ts +4 -0
  305. package/dist/admin1/mz.js +2 -0
  306. package/dist/admin1/na.d.ts +4 -0
  307. package/dist/admin1/na.js +2 -0
  308. package/dist/admin1/nc.d.ts +4 -0
  309. package/dist/admin1/nc.js +2 -0
  310. package/dist/admin1/ne.d.ts +4 -0
  311. package/dist/admin1/ne.js +2 -0
  312. package/dist/admin1/nf.d.ts +4 -0
  313. package/dist/admin1/nf.js +2 -0
  314. package/dist/admin1/ng.d.ts +4 -0
  315. package/dist/admin1/ng.js +2 -0
  316. package/dist/admin1/ni.d.ts +4 -0
  317. package/dist/admin1/ni.js +2 -0
  318. package/dist/admin1/nl.d.ts +4 -0
  319. package/dist/admin1/nl.js +2 -0
  320. package/dist/admin1/no.d.ts +4 -0
  321. package/dist/admin1/no.js +2 -0
  322. package/dist/admin1/np.d.ts +4 -0
  323. package/dist/admin1/np.js +2 -0
  324. package/dist/admin1/nr.d.ts +4 -0
  325. package/dist/admin1/nr.js +2 -0
  326. package/dist/admin1/nu.d.ts +4 -0
  327. package/dist/admin1/nu.js +2 -0
  328. package/dist/admin1/nz.d.ts +4 -0
  329. package/dist/admin1/nz.js +2 -0
  330. package/dist/admin1/om.d.ts +4 -0
  331. package/dist/admin1/om.js +2 -0
  332. package/dist/admin1/pa.d.ts +4 -0
  333. package/dist/admin1/pa.js +2 -0
  334. package/dist/admin1/pe.d.ts +4 -0
  335. package/dist/admin1/pe.js +2 -0
  336. package/dist/admin1/pf.d.ts +4 -0
  337. package/dist/admin1/pf.js +2 -0
  338. package/dist/admin1/pg.d.ts +4 -0
  339. package/dist/admin1/pg.js +2 -0
  340. package/dist/admin1/ph.d.ts +4 -0
  341. package/dist/admin1/ph.js +2 -0
  342. package/dist/admin1/pk.d.ts +4 -0
  343. package/dist/admin1/pk.js +2 -0
  344. package/dist/admin1/pl.d.ts +4 -0
  345. package/dist/admin1/pl.js +2 -0
  346. package/dist/admin1/pm.d.ts +4 -0
  347. package/dist/admin1/pm.js +2 -0
  348. package/dist/admin1/pn.d.ts +4 -0
  349. package/dist/admin1/pn.js +2 -0
  350. package/dist/admin1/ps.d.ts +4 -0
  351. package/dist/admin1/ps.js +2 -0
  352. package/dist/admin1/pt.d.ts +4 -0
  353. package/dist/admin1/pt.js +2 -0
  354. package/dist/admin1/pw.d.ts +4 -0
  355. package/dist/admin1/pw.js +2 -0
  356. package/dist/admin1/py.d.ts +4 -0
  357. package/dist/admin1/py.js +2 -0
  358. package/dist/admin1/qa.d.ts +4 -0
  359. package/dist/admin1/qa.js +2 -0
  360. package/dist/admin1/ro.d.ts +4 -0
  361. package/dist/admin1/ro.js +2 -0
  362. package/dist/admin1/rs.d.ts +4 -0
  363. package/dist/admin1/rs.js +2 -0
  364. package/dist/admin1/ru.d.ts +4 -0
  365. package/dist/admin1/ru.js +2 -0
  366. package/dist/admin1/rw.d.ts +4 -0
  367. package/dist/admin1/rw.js +2 -0
  368. package/dist/admin1/sa.d.ts +4 -0
  369. package/dist/admin1/sa.js +2 -0
  370. package/dist/admin1/sb.d.ts +4 -0
  371. package/dist/admin1/sb.js +2 -0
  372. package/dist/admin1/sc.d.ts +4 -0
  373. package/dist/admin1/sc.js +2 -0
  374. package/dist/admin1/sd.d.ts +4 -0
  375. package/dist/admin1/sd.js +2 -0
  376. package/dist/admin1/se.d.ts +4 -0
  377. package/dist/admin1/se.js +2 -0
  378. package/dist/admin1/sg.d.ts +4 -0
  379. package/dist/admin1/sg.js +2 -0
  380. package/dist/admin1/sh.d.ts +4 -0
  381. package/dist/admin1/sh.js +2 -0
  382. package/dist/admin1/si.d.ts +4 -0
  383. package/dist/admin1/si.js +2 -0
  384. package/dist/admin1/sk.d.ts +4 -0
  385. package/dist/admin1/sk.js +2 -0
  386. package/dist/admin1/sl.d.ts +4 -0
  387. package/dist/admin1/sl.js +2 -0
  388. package/dist/admin1/sm.d.ts +4 -0
  389. package/dist/admin1/sm.js +2 -0
  390. package/dist/admin1/sn.d.ts +4 -0
  391. package/dist/admin1/sn.js +2 -0
  392. package/dist/admin1/so.d.ts +4 -0
  393. package/dist/admin1/so.js +2 -0
  394. package/dist/admin1/sr.d.ts +4 -0
  395. package/dist/admin1/sr.js +2 -0
  396. package/dist/admin1/ss.d.ts +4 -0
  397. package/dist/admin1/ss.js +2 -0
  398. package/dist/admin1/st.d.ts +4 -0
  399. package/dist/admin1/st.js +2 -0
  400. package/dist/admin1/sv.d.ts +4 -0
  401. package/dist/admin1/sv.js +2 -0
  402. package/dist/admin1/sy.d.ts +4 -0
  403. package/dist/admin1/sy.js +2 -0
  404. package/dist/admin1/sz.d.ts +4 -0
  405. package/dist/admin1/sz.js +2 -0
  406. package/dist/admin1/tc.d.ts +4 -0
  407. package/dist/admin1/tc.js +2 -0
  408. package/dist/admin1/td.d.ts +4 -0
  409. package/dist/admin1/td.js +2 -0
  410. package/dist/admin1/tf.d.ts +4 -0
  411. package/dist/admin1/tf.js +2 -0
  412. package/dist/admin1/tg.d.ts +4 -0
  413. package/dist/admin1/tg.js +2 -0
  414. package/dist/admin1/th.d.ts +4 -0
  415. package/dist/admin1/th.js +2 -0
  416. package/dist/admin1/tj.d.ts +4 -0
  417. package/dist/admin1/tj.js +2 -0
  418. package/dist/admin1/tk.d.ts +4 -0
  419. package/dist/admin1/tk.js +2 -0
  420. package/dist/admin1/tl.d.ts +4 -0
  421. package/dist/admin1/tl.js +2 -0
  422. package/dist/admin1/tm.d.ts +4 -0
  423. package/dist/admin1/tm.js +2 -0
  424. package/dist/admin1/tn.d.ts +4 -0
  425. package/dist/admin1/tn.js +2 -0
  426. package/dist/admin1/to.d.ts +4 -0
  427. package/dist/admin1/to.js +2 -0
  428. package/dist/admin1/tr.d.ts +4 -0
  429. package/dist/admin1/tr.js +2 -0
  430. package/dist/admin1/tt.d.ts +4 -0
  431. package/dist/admin1/tt.js +2 -0
  432. package/dist/admin1/tv.d.ts +4 -0
  433. package/dist/admin1/tv.js +2 -0
  434. package/dist/admin1/tw.d.ts +4 -0
  435. package/dist/admin1/tw.js +2 -0
  436. package/dist/admin1/tz.d.ts +4 -0
  437. package/dist/admin1/tz.js +2 -0
  438. package/dist/admin1/ua.d.ts +4 -0
  439. package/dist/admin1/ua.js +2 -0
  440. package/dist/admin1/ug.d.ts +4 -0
  441. package/dist/admin1/ug.js +2 -0
  442. package/dist/admin1/um.d.ts +4 -0
  443. package/dist/admin1/um.js +2 -0
  444. package/dist/admin1/us.d.ts +4 -0
  445. package/dist/admin1/us.js +2 -0
  446. package/dist/admin1/uy.d.ts +4 -0
  447. package/dist/admin1/uy.js +2 -0
  448. package/dist/admin1/uz.d.ts +4 -0
  449. package/dist/admin1/uz.js +2 -0
  450. package/dist/admin1/va.d.ts +4 -0
  451. package/dist/admin1/va.js +2 -0
  452. package/dist/admin1/vc.d.ts +4 -0
  453. package/dist/admin1/vc.js +2 -0
  454. package/dist/admin1/ve.d.ts +4 -0
  455. package/dist/admin1/ve.js +2 -0
  456. package/dist/admin1/vg.d.ts +4 -0
  457. package/dist/admin1/vg.js +2 -0
  458. package/dist/admin1/vi.d.ts +4 -0
  459. package/dist/admin1/vi.js +2 -0
  460. package/dist/admin1/vn.d.ts +4 -0
  461. package/dist/admin1/vn.js +2 -0
  462. package/dist/admin1/vu.d.ts +4 -0
  463. package/dist/admin1/vu.js +2 -0
  464. package/dist/admin1/wf.d.ts +4 -0
  465. package/dist/admin1/wf.js +2 -0
  466. package/dist/admin1/ws.d.ts +4 -0
  467. package/dist/admin1/ws.js +2 -0
  468. package/dist/admin1/xk.d.ts +4 -0
  469. package/dist/admin1/xk.js +2 -0
  470. package/dist/admin1/ye.d.ts +4 -0
  471. package/dist/admin1/ye.js +2 -0
  472. package/dist/admin1/za.d.ts +4 -0
  473. package/dist/admin1/za.js +2 -0
  474. package/dist/admin1/zm.d.ts +4 -0
  475. package/dist/admin1/zm.js +2 -0
  476. package/dist/admin1/zw.d.ts +4 -0
  477. package/dist/admin1/zw.js +2 -0
  478. package/dist/{chunk-R3XS6XPP.js → chunk-ZN6SLXL3.js} +123 -7
  479. package/dist/core.d.ts +52 -2
  480. package/dist/core.js +7 -1
  481. package/dist/{drill-chain-DCiuiZKK.d.ts → drill-chain-C8hhHBnd.d.ts} +13 -4
  482. package/dist/geo.d.ts +55 -1
  483. package/dist/geo.js +96 -0
  484. package/dist/index.d.ts +75 -5
  485. package/dist/index.js +254 -70
  486. package/dist/styles.d.ts +1 -1
  487. package/package.json +12 -3
package/dist/core.js CHANGED
@@ -53,6 +53,7 @@ import {
53
53
  defineTheme,
54
54
  drillDirectionBetween,
55
55
  drillReducer,
56
+ dropOverseas,
56
57
  en,
57
58
  es,
58
59
  extendTheme,
@@ -78,11 +79,13 @@ import {
78
79
  projectBounds,
79
80
  projectionFactory,
80
81
  rebaseProjection,
82
+ regionRotation,
81
83
  relativeTransform,
82
84
  releaseVelocity,
83
85
  resolveControls,
84
86
  resolveDrillData,
85
87
  resolveLabels,
88
+ resolveRegion,
86
89
  resolveTheme,
87
90
  resolveVariant,
88
91
  resolveZoomOptions,
@@ -95,7 +98,7 @@ import {
95
98
  unwrapGeography,
96
99
  validateLevels,
97
100
  zoomKeyAction
98
- } from "./chunk-R3XS6XPP.js";
101
+ } from "./chunk-ZN6SLXL3.js";
99
102
  export {
100
103
  CATEGORICAL_PALETTES,
101
104
  DEFAULT_ASPECT_RATIO,
@@ -151,6 +154,7 @@ export {
151
154
  defineTheme,
152
155
  drillDirectionBetween,
153
156
  drillReducer,
157
+ dropOverseas,
154
158
  en,
155
159
  es,
156
160
  extendTheme,
@@ -176,11 +180,13 @@ export {
176
180
  projectBounds,
177
181
  projectionFactory,
178
182
  rebaseProjection,
183
+ regionRotation,
179
184
  relativeTransform,
180
185
  releaseVelocity,
181
186
  resolveControls,
182
187
  resolveDrillData,
183
188
  resolveLabels,
189
+ resolveRegion,
184
190
  resolveTheme,
185
191
  resolveVariant,
186
192
  resolveZoomOptions,
@@ -807,6 +807,11 @@ type CreateProjectionOptions = {
807
807
  height: number;
808
808
  /** Geometry that must fit entirely in `width × height`. */
809
809
  featureCollection: FeatureCollection;
810
+ /**
811
+ * `[λ, φ]` rotation applied BEFORE the fit (d3's `projection.rotate`). It moves the antimeridian cut away
812
+ * from the geometry (`regionRotation`): the Pacific or Russia would otherwise be torn across both edges.
813
+ */
814
+ rotate?: readonly [number, number];
810
815
  };
811
816
  /**
812
817
  * Creates an already-fitted d3 projection (`fitSize`) so the geometry fits the container snugly.
@@ -815,7 +820,7 @@ type CreateProjectionOptions = {
815
820
  * container the map would come out cropped or tiny. `fitSize` computes scale and translation for us
816
821
  * (no zoom or center math by hand).
817
822
  */
818
- declare const createProjection: ({ name, width, height, featureCollection, }: CreateProjectionOptions) => GeoProjection;
823
+ declare const createProjection: ({ name, width, height, featureCollection, rotate, }: CreateProjectionOptions) => GeoProjection;
819
824
  /** Aspect ratio used if the geometry cannot be measured (the world in Equal Earth). */
820
825
  declare const DEFAULT_ASPECT_RATIO: number;
821
826
  /**
@@ -826,9 +831,10 @@ declare const DEFAULT_ASPECT_RATIO: number;
826
831
  * ratio does not depend on the chosen width. It is clamped to [0.2 – 5] so an odd datum (a single
827
832
  * island) does not leave a container 1 px tall.
828
833
  */
829
- declare const computeAspectRatio: ({ name, featureCollection, }: {
834
+ declare const computeAspectRatio: ({ name, featureCollection, rotate, }: {
830
835
  name?: ProjectionName;
831
836
  featureCollection: FeatureCollection;
837
+ rotate?: readonly [number, number];
832
838
  }) => number;
833
839
  /**
834
840
  * The affine map `R` such that `to(p) === R(from(p))` for every `p`, where `R(q) = k·q + (x, y)`.
@@ -1226,6 +1232,8 @@ type BuildProjectionChainParams = {
1226
1232
  padding?: number | Padding;
1227
1233
  /** Explicit framings by id in lon/lat (Spain with the Canary Islands). Overrides the main body. */
1228
1234
  focusBounds?: Readonly<Record<string, LonLatBounds | null | undefined>>;
1235
+ /** Rotation of the ROOT projection (`regionRotation`); the levels below inherit it. */
1236
+ rotate?: readonly [number, number];
1229
1237
  };
1230
1238
  type ProjectionChain = {
1231
1239
  /** `projections[d]` frames region `path[d − 1]` within `projections[d − 1]` (0 being the world). */
@@ -1242,6 +1250,7 @@ type ProjectionChain = {
1242
1250
  * (`rebaseProjection`). A pure function of (levels, route, size, padding). On resize it is
1243
1251
  * recomputed entirely: one `fitExtent` per level.
1244
1252
  */
1245
- declare const buildProjectionChain: ({ levels, path, name, width, height, padding, focusBounds, }: BuildProjectionChainParams) => ProjectionChain;
1253
+ declare const buildProjectionChain: ({ levels, path, name, width, height, padding, focusBounds, rotate, }: BuildProjectionChainParams) => ProjectionChain;
1246
1254
 
1247
- export { INERTIA_TAU_MS as $, DEFAULT_LEVEL_CACHE_SIZE as A, type BoundsToTransformParams as B, CATEGORICAL_PALETTES as C, DEFAULT_ASPECT_RATIO as D, DEFAULT_MAX_RADIUS as E, DEFAULT_PADDING as F, DEFAULT_PROJECTION as G, DEFAULT_ZOOM_MAX as H, DEFAULT_ZOOM_MIN as I, DIVERGING_PALETTES as J, type DivergingPaletteName as K, type DrillContext as L, type DrillCrumb as M, type DrillDirection as N, type DrillLayer as O, type DrillLayerRole as P, type DrillMachineEvent as Q, type DrillMachineState as R, type DrillPhase as S, type Extent as T, FIT_TRANSFORM as U, type FlightDurationParams as V, type GeographyData as W, type GeographyInput as X, type GetFocusExtentParams as Y, type GetFocusGeometryParams as Z, INERTIA_MIN_VELOCITY as _, type Bubble as a, createLruCache as a$, INERTIA_WINDOW_MS as a0, type InertiaOffsetParams as a1, type JoinDataOptions as a2, type JoinResult as a3, type LegendItem as a4, type LevelShape as a5, type LonLatBounds as a6, type LruCache as a7, MAX_FLIGHT_MS as a8, MIN_FLIGHT_MS as a9, type ViewLevel as aA, type ViewState as aB, type ZoomControlsOptions as aC, type ZoomEventLike as aD, type ZoomFilterParams as aE, type ZoomKeyAction as aF, type ZoomOptions as aG, type ZoomTarget as aH, applyTransform as aI, boundsToTransform as aJ, bubbleScale as aK, buildBreadcrumbs as aL, buildCategoricalLegend as aM, buildLegend as aN, buildProjectionChain as aO, buildSizeLegend as aP, clampPath as aQ, classIndex as aR, classifyDrill as aS, computeAspectRatio as aT, computeThresholds as aU, constrainAxis as aV, constrainTransform as aW, contextOf as aX, createCategoricalScale as aY, createColorScale as aZ, createDrillState as a_, type Padding as aa, type Point as ab, type PreserveViewParams as ac, type ProjectionChain as ad, type ProjectionName as ae, type RadiusScale as af, type RebaseParams as ag, type RebaseResult as ah, type ReleaseVelocityParams as ai, type ResolveVariantOptions as aj, type ResolveZoomTargetParams as ak, type ResolvedCategory as al, type ResolvedZoom as am, SEQUENTIAL_PALETTES as an, type SequentialPaletteName as ao, type Size as ap, type SizeLegendItem as aq, THEMES as ar, type ThemeName as as, type ToFeatureCollectionOptions as at, type ToViewStateParams as au, type TransitionResult as av, type VariantConfig as aw, type VariantEntry as ax, type VariantName as ay, type VariantResult as az, type BubbleScaling as b, createProjection as b0, createRadiusScale as b1, createZoomFilter as b2, createZoomInterpolator as b3, defaultFormatValue as b4, defineTheme as b5, drillDirectionBetween as b6, drillReducer as b7, en as b8, es as b9, resolveZoomTarget as bA, savedCameraFor as bB, themeToCssVars as bC, toFeatureCollection as bD, toViewState as bE, transformToZoomView as bF, unwrapGeography as bG, validateLevels as bH, zoomKeyAction as bI, extendTheme as ba, finiteValues as bb, flightDuration as bc, geographyKeyFor as bd, getAnchorPoint as be, getFocusExtent as bf, getFocusGeometry as bg, inertiaOffset as bh, invertTransform as bi, isFitTransform as bj, isThemeName as bk, joinData as bl, layerKey as bm, normalizePadding as bn, preserveView as bo, projectBounds as bp, projectionFactory as bq, rebaseProjection as br, relativeTransform as bs, releaseVelocity as bt, resolveControls as bu, resolveDrillData as bv, resolveLabels as bw, resolveTheme as bx, resolveVariant as by, resolveZoomOptions as bz, type BuildLegendOptions as c, type BuildProjectionChainParams as d, type CameraOptions as e, type CameraSample as f, type CameraTransform as g, type CategoricalPaletteName as h, type CategoricalScale as i, type CategorySpec as j, type ChainLevel as k, type ChoroplethLabels as l, type ChoroplethTheme as m, type Classification as n, type ColorScale as o, type ColorScaleOptions as p, type ConstrainAxisParams as q, type ConstrainTransformParams as r, type Corner as s, type CreateCategoricalScaleOptions as t, type CreateProjectionOptions as u, DEFAULT_BUBBLE_FILL as v, DEFAULT_CLASSES as w, DEFAULT_EMPTY_FILL as x, DEFAULT_FLIGHT_CURVATURE as y, DEFAULT_FOCUS_BOUNDS as z };
1255
+ export { DEFAULT_LEVEL_CACHE_SIZE as A, CATEGORICAL_PALETTES as C, DEFAULT_ASPECT_RATIO as D, DEFAULT_MAX_RADIUS as E, DEFAULT_PADDING as F, DEFAULT_PROJECTION as G, DEFAULT_ZOOM_MAX as H, DEFAULT_ZOOM_MIN as I, DIVERGING_PALETTES as J, FIT_TRANSFORM as W, createLruCache as a$, INERTIA_MIN_VELOCITY as a0, INERTIA_TAU_MS as a1, INERTIA_WINDOW_MS as a2, MAX_FLIGHT_MS as a9, applyTransform as aI, boundsToTransform as aJ, bubbleScale as aK, buildBreadcrumbs as aL, buildCategoricalLegend as aM, buildLegend as aN, buildProjectionChain as aO, buildSizeLegend as aP, clampPath as aQ, classIndex as aR, classifyDrill as aS, computeAspectRatio as aT, computeThresholds as aU, constrainAxis as aV, constrainTransform as aW, contextOf as aX, createCategoricalScale as aY, createColorScale as aZ, createDrillState as a_, MIN_FLIGHT_MS as aa, SEQUENTIAL_PALETTES as an, THEMES as ar, createProjection as b0, createRadiusScale as b1, createZoomFilter as b2, createZoomInterpolator as b3, defaultFormatValue as b4, defineTheme as b5, drillDirectionBetween as b6, drillReducer as b7, en as b8, es as b9, resolveZoomTarget as bA, savedCameraFor as bB, themeToCssVars as bC, toFeatureCollection as bD, toViewState as bE, transformToZoomView as bF, unwrapGeography as bG, validateLevels as bH, zoomKeyAction as bI, extendTheme as ba, finiteValues as bb, flightDuration as bc, geographyKeyFor as bd, getAnchorPoint as be, getFocusExtent as bf, getFocusGeometry as bg, inertiaOffset as bh, invertTransform as bi, isFitTransform as bj, isThemeName as bk, joinData as bl, layerKey as bm, normalizePadding as bn, preserveView as bo, projectBounds as bp, projectionFactory as bq, rebaseProjection as br, relativeTransform as bs, releaseVelocity as bt, resolveControls as bu, resolveDrillData as bv, resolveLabels as bw, resolveTheme as bx, resolveVariant as by, resolveZoomOptions as bz, DEFAULT_BUBBLE_FILL as v, DEFAULT_CLASSES as w, DEFAULT_EMPTY_FILL as x, DEFAULT_FLIGHT_CURVATURE as y, DEFAULT_FOCUS_BOUNDS as z };
1256
+ export type { GetFocusGeometryParams as $, BoundsToTransformParams as B, DivergingPaletteName as K, LonLatBounds as L, DrillContext as M, DrillCrumb as N, DrillDirection as O, Point as P, DrillLayer as Q, DrillLayerRole as R, DrillMachineEvent as S, DrillMachineState as T, DrillPhase as U, Extent as V, FlightDurationParams as X, GeographyData as Y, GeographyInput as Z, GetFocusExtentParams as _, Bubble as a, InertiaOffsetParams as a3, JoinDataOptions as a4, JoinResult as a5, LegendItem as a6, LevelShape as a7, LruCache as a8, ViewLevel as aA, ViewState as aB, ZoomControlsOptions as aC, ZoomEventLike as aD, ZoomFilterParams as aE, ZoomKeyAction as aF, ZoomOptions as aG, ZoomTarget as aH, Padding as ab, PreserveViewParams as ac, ProjectionChain as ad, ProjectionName as ae, RadiusScale as af, RebaseParams as ag, RebaseResult as ah, ReleaseVelocityParams as ai, ResolveVariantOptions as aj, ResolveZoomTargetParams as ak, ResolvedCategory as al, ResolvedZoom as am, SequentialPaletteName as ao, Size as ap, SizeLegendItem as aq, ThemeName as as, ToFeatureCollectionOptions as at, ToViewStateParams as au, TransitionResult as av, VariantConfig as aw, VariantEntry as ax, VariantName as ay, VariantResult as az, BubbleScaling as b, BuildLegendOptions as c, BuildProjectionChainParams as d, CameraOptions as e, CameraSample as f, CameraTransform as g, CategoricalPaletteName as h, CategoricalScale as i, CategorySpec as j, ChainLevel as k, ChoroplethLabels as l, ChoroplethTheme as m, Classification as n, ColorScale as o, ColorScaleOptions as p, ConstrainAxisParams as q, ConstrainTransformParams as r, Corner as s, CreateCategoricalScaleOptions as t, CreateProjectionOptions as u };
package/dist/geo.d.ts CHANGED
@@ -9,6 +9,9 @@ declare const isoNumericToAlpha2: Readonly<Record<string, string>>;
9
9
  /** Point [x, y] in pixels or [lon, lat] in degrees, depending on context. */
10
10
  type Point = readonly [number, number];
11
11
 
12
+ /** Geographic bounds [[lonW, latS], [lonE, latN]]. If `lonE < lonW`, they cross the antimeridian. */
13
+ type LonLatBounds = readonly [Point, Point];
14
+
12
15
  /**
13
16
  * [lon, lat] of the countries and territories that `world-110m` does NOT draw (at 1:110m the
14
17
  * microstates and most islands disappear). Pass it as `fallbackPoints` so a datum for Andorra or
@@ -19,6 +22,56 @@ type Point = readonly [number, number];
19
22
  */
20
23
  declare const worldFallbackPoints: Readonly<Record<string, Point>>;
21
24
 
25
+ declare const REGION_PRESETS: {
26
+ africa: string[];
27
+ asia: string[];
28
+ europe: string[];
29
+ northAmerica: string[];
30
+ southAmerica: readonly string[];
31
+ oceania: string[];
32
+ northernAfrica: readonly string[];
33
+ easternAfrica: readonly string[];
34
+ middleAfrica: readonly string[];
35
+ southernAfrica: readonly string[];
36
+ westernAfrica: readonly string[];
37
+ centralAsia: readonly string[];
38
+ easternAsia: readonly string[];
39
+ southeasternAsia: readonly string[];
40
+ southernAsia: readonly string[];
41
+ westernAsia: readonly string[];
42
+ northernEurope: readonly string[];
43
+ westernEurope: readonly string[];
44
+ southernEurope: readonly string[];
45
+ easternEurope: readonly string[];
46
+ usAndCanada: readonly string[];
47
+ centralAmerica: readonly string[];
48
+ caribbean: readonly string[];
49
+ australiaAndNewZealand: readonly string[];
50
+ melanesia: readonly string[];
51
+ micronesia: readonly string[];
52
+ polynesia: readonly string[];
53
+ eu27: readonly string[];
54
+ nordics: readonly string[];
55
+ iberia: readonly string[];
56
+ latam: readonly string[];
57
+ mena: readonly string[];
58
+ };
59
+ type RegionPresetName = keyof typeof REGION_PRESETS;
60
+
61
+ /**
62
+ * Overseas territories that `region` drops, by country: lon/lat boxes `[[west, south], [east, north]]`. A
63
+ * polygon of the country whose middle (of its bounding box) falls inside a box is not drawn (nor framed).
64
+ *
65
+ * It is CURATED, not computed: no distance rule separates Svalbard (overseas) from Peninsular Malaysia
66
+ * (not). It only lists what `world110m` actually draws, and each entry is covered by a test. At 1:110m
67
+ * Spain, Portugal and the Netherlands have no overseas polygons (the Canary Islands, the Azores and the
68
+ * Caribbean are not in the data); when a 1:50m geometry is added, its territories are added here.
69
+ *
70
+ * Alaska stays on purpose: it is part of the North American mass and a `northAmerica` map without it
71
+ * would be wrong. Showing or hiding territories per country is FEAT-023.
72
+ */
73
+ declare const OVERSEAS_TERRITORIES: Readonly<Record<string, readonly LonLatBounds[]>>;
74
+
22
75
  /**
23
76
  * World at 1:110m (Natural Earth, public domain) as TopoJSON, with **ISO 3166-1 alpha-2 in `id`**
24
77
  * (`"ES"`) and the English name in `properties.name`. Use the `countries` object.
@@ -32,4 +85,5 @@ declare const worldFallbackPoints: Readonly<Record<string, Point>>;
32
85
  */
33
86
  declare const world110m: Topology;
34
87
 
35
- export { isoNumericToAlpha2, world110m, worldFallbackPoints };
88
+ export { OVERSEAS_TERRITORIES, REGION_PRESETS, isoNumericToAlpha2, world110m, worldFallbackPoints };
89
+ export type { RegionPresetName };
package/dist/geo.js CHANGED
@@ -351,9 +351,105 @@ var worldFallbackPoints = {
351
351
  // Samoa
352
352
  };
353
353
 
354
+ // src/geo/region-presets.ts
355
+ var ids = (list) => list.split(" ");
356
+ var northernEurope = ids("AX DK EE FI FO GB GG IE IM IS JE LT LV NO SE");
357
+ var westernEurope = ids("AT BE CH DE FR LI LU MC NL");
358
+ var southernEurope = ids("AD AL BA ES GI GR HR IT ME MK MT PT RS SI SM VA XK");
359
+ var easternEurope = ids("BG BY CZ HU MD PL RO SK UA");
360
+ var northernAfrica = ids("DZ EG EH LY MA SD TN");
361
+ var easternAfrica = ids("BI DJ ER ET KE KM MG MU MW MZ RW SC SO SS TZ UG ZM ZW");
362
+ var middleAfrica = ids("AO CD CF CG CM GA GQ ST TD");
363
+ var southernAfrica = ids("BW LS NA SZ ZA");
364
+ var westernAfrica = ids("BF BJ CI CV GH GM GN GW LR ML MR NE NG SL SN TG");
365
+ var centralAsia = ids("KG KZ TJ TM UZ");
366
+ var easternAsia = ids("CN HK JP KP KR MN MO TW");
367
+ var southeasternAsia = ids("BN ID KH LA MM MY PH SG TH TL VN");
368
+ var southernAsia = ids("AF BD BT IN IR LK MV NP PK");
369
+ var westernAsia = ids("AE AM AZ BH CY GE IL IQ JO KW LB OM PS QA SA SY TR YE");
370
+ var usAndCanada = ids("BM CA GL US");
371
+ var centralAmerica = ids("BZ CR GT HN MX NI PA SV");
372
+ var caribbean = ids("AG AW BB BS CU CW DM DO GD HT JM KN KY LC PR TT VC");
373
+ var southAmerica = ids("AR BO BR CL CO EC FK GY PE PY SR UY VE");
374
+ var australiaAndNewZealand = ids("AU NZ");
375
+ var melanesia = ids("FJ NC PG SB VU");
376
+ var micronesia = ids("FM GU KI MH NR PW");
377
+ var polynesia = ids("PF TO TV WS");
378
+ var REGION_PRESETS = {
379
+ // Continents: disjoint, each one is the union of its subregions.
380
+ africa: [
381
+ ...northernAfrica,
382
+ ...easternAfrica,
383
+ ...middleAfrica,
384
+ ...southernAfrica,
385
+ ...westernAfrica
386
+ ],
387
+ asia: [...centralAsia, ...easternAsia, ...southeasternAsia, ...southernAsia, ...westernAsia],
388
+ europe: [...northernEurope, ...westernEurope, ...southernEurope, ...easternEurope],
389
+ northAmerica: [...usAndCanada, ...centralAmerica, ...caribbean],
390
+ southAmerica,
391
+ oceania: [...australiaAndNewZealand, ...melanesia, ...micronesia, ...polynesia],
392
+ // Subregions (UN geoscheme).
393
+ northernAfrica,
394
+ easternAfrica,
395
+ middleAfrica,
396
+ southernAfrica,
397
+ westernAfrica,
398
+ centralAsia,
399
+ easternAsia,
400
+ southeasternAsia,
401
+ southernAsia,
402
+ westernAsia,
403
+ northernEurope,
404
+ westernEurope,
405
+ southernEurope,
406
+ easternEurope,
407
+ usAndCanada,
408
+ centralAmerica,
409
+ caribbean,
410
+ australiaAndNewZealand,
411
+ melanesia,
412
+ micronesia,
413
+ polynesia,
414
+ // Political / commercial groupings: they may overlap with everything else. FIRST CUT, to be confirmed with
415
+ // the tools that will use them (see FEAT-022); each one is a maintenance cost.
416
+ eu27: ids("AT BE BG CY CZ DE DK EE ES FI FR GR HR HU IE IT LT LU LV MT NL PL PT RO SE SI SK"),
417
+ nordics: ids("DK FI IS NO SE"),
418
+ iberia: ids("ES PT"),
419
+ latam: ids("AR BO BR CL CO CR CU DO EC GT HN HT MX NI PA PE PR PY SV UY VE"),
420
+ mena: ids("AE BH DZ EG EH IL IQ IR JO KW LB LY MA OM PS QA SA SY TN YE")
421
+ };
422
+
423
+ // src/geo/overseas.ts
424
+ var OVERSEAS_TERRITORIES = {
425
+ // French Guiana.
426
+ FR: [
427
+ [
428
+ [-56, 1],
429
+ [-51, 7]
430
+ ]
431
+ ],
432
+ // Svalbard.
433
+ NO: [
434
+ [
435
+ [0, 73],
436
+ [40, 82]
437
+ ]
438
+ ],
439
+ // Hawaii.
440
+ US: [
441
+ [
442
+ [-162, 18],
443
+ [-154, 23]
444
+ ]
445
+ ]
446
+ };
447
+
354
448
  // src/geo/index.ts
355
449
  var world110m = world_110m_default;
356
450
  export {
451
+ OVERSEAS_TERRITORIES,
452
+ REGION_PRESETS,
357
453
  isoNumericToAlpha2,
358
454
  world110m,
359
455
  worldFallbackPoints
package/dist/index.d.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  import * as react from 'react';
2
2
  import { MouseEventHandler, PointerEventHandler, Dispatch, ReactNode, RefObject, CSSProperties, Ref, ReactElement } from 'react';
3
3
  import { Feature, FeatureCollection } from 'geojson';
4
- import { ab as Point, X as GeographyInput, L as DrillContext, aw as VariantConfig, ae as ProjectionName, N as DrillDirection, g as CameraTransform, aH as ZoomTarget, e as CameraOptions, av as TransitionResult, aB as ViewState, M as DrillCrumb, W as GeographyData, l as ChoroplethLabels, a3 as JoinResult, a6 as LonLatBounds, aG as ZoomOptions, am as ResolvedZoom, aa as Padding, a4 as LegendItem, aq as SizeLegendItem, a as Bubble, o as ColorScale, k as ChainLevel, R as DrillMachineState, Q as DrillMachineEvent, ad as ProjectionChain, s as Corner, as as ThemeName, m as ChoroplethTheme } from './drill-chain-DCiuiZKK.js';
5
- export { ar as THEMES, b5 as defineTheme, ba as extendTheme, bC as themeToCssVars } from './drill-chain-DCiuiZKK.js';
4
+ import { M as DrillContext, aH as ZoomTarget, e as CameraOptions, av as TransitionResult, aB as ViewState, aG as ZoomOptions, as as ThemeName, m as ChoroplethTheme } from './drill-chain-C8hhHBnd.js';
5
+ import { Point, GeographyInput, VariantConfig, ProjectionName, DrillDirection, CameraTransform, DrillCrumb, GeographyData, ChoroplethLabels, JoinResult, LonLatBounds, ResolvedZoom, Padding, LegendItem, SizeLegendItem, Bubble, ColorScale, ChainLevel, DrillMachineState, DrillMachineEvent, ProjectionChain, Corner } from './core.js';
6
+ export { ar as THEMES, b5 as defineTheme, ba as extendTheme, bC as themeToCssVars } from './drill-chain-C8hhHBnd.js';
6
7
  import { GeoProjection } from 'd3-geo';
7
8
  import 'topojson-specification';
8
9
  import 'd3-interpolate';
@@ -316,6 +317,54 @@ declare const useGeography: (input: GeographyInput, key: string | undefined, onE
316
317
  /** For tests only: empties the cache between tests. */
317
318
  declare const clearGeographyCache: () => void;
318
319
 
320
+ declare const REGION_PRESETS: {
321
+ africa: string[];
322
+ asia: string[];
323
+ europe: string[];
324
+ northAmerica: string[];
325
+ southAmerica: readonly string[];
326
+ oceania: string[];
327
+ northernAfrica: readonly string[];
328
+ easternAfrica: readonly string[];
329
+ middleAfrica: readonly string[];
330
+ southernAfrica: readonly string[];
331
+ westernAfrica: readonly string[];
332
+ centralAsia: readonly string[];
333
+ easternAsia: readonly string[];
334
+ southeasternAsia: readonly string[];
335
+ southernAsia: readonly string[];
336
+ westernAsia: readonly string[];
337
+ northernEurope: readonly string[];
338
+ westernEurope: readonly string[];
339
+ southernEurope: readonly string[];
340
+ easternEurope: readonly string[];
341
+ usAndCanada: readonly string[];
342
+ centralAmerica: readonly string[];
343
+ caribbean: readonly string[];
344
+ australiaAndNewZealand: readonly string[];
345
+ melanesia: readonly string[];
346
+ micronesia: readonly string[];
347
+ polynesia: readonly string[];
348
+ eu27: readonly string[];
349
+ nordics: readonly string[];
350
+ iberia: readonly string[];
351
+ latam: readonly string[];
352
+ mena: readonly string[];
353
+ };
354
+ type RegionPresetName = keyof typeof REGION_PRESETS;
355
+
356
+ /**
357
+ * What the `region` prop accepts: a preset (`"europe"`, `"westernEurope"`, `"eu27"`…), an ISO 3166-1 alpha-2
358
+ * code (`"ES"`), or a list mixing both. The `(string & {})` keeps autocompletion for the presets while
359
+ * still allowing any code.
360
+ */
361
+ type RegionProp = RegionPresetName | (string & {}) | readonly (RegionPresetName | (string & {}))[];
362
+ /** A `region` already resolved: the ids that stay, and a key that changes only when the CONTENT changes. */
363
+ type ResolvedRegion = {
364
+ key: string;
365
+ ids: ReadonlySet<string>;
366
+ };
367
+
319
368
  /** A region ready to paint. */
320
369
  type Region<TDatum> = {
321
370
  id: string;
@@ -396,7 +445,14 @@ type DrillNav = {
396
445
  drillTo: (depth: number) => void;
397
446
  drillUp: (steps?: number) => void;
398
447
  };
399
- type JoinReport = Omit<JoinResult<unknown>, "joined">;
448
+ type JoinReport = Omit<JoinResult<unknown>, "joined"> & {
449
+ /**
450
+ * Ids of data that belong to the world but not to the map's `region` (e.g. a worldwide dataset on a map of
451
+ * Europe). They are expected, not an error: they are neither in `unmatchedData` nor warned about. `[]`
452
+ * without `region`.
453
+ */
454
+ outOfRegion: string[];
455
+ };
400
456
  /** What is dimmed when there is a selection or hover. */
401
457
  type DimOthers = "never" | "selection" | "hover-and-selection";
402
458
  type BaseOptions<TDatum> = {
@@ -408,6 +464,15 @@ type BaseOptions<TDatum> = {
408
464
  /** Cache key for an async geometry (otherwise the function's identity is used). */
409
465
  geographyKey?: string;
410
466
  objectName?: string;
467
+ /**
468
+ * Restricts the map to a continent, a subregion or some countries, from the first frame (no flight, no
469
+ * world around it): `"europe"`, `"westernEurope"`, `"eu27"`, `"ES"`, `["ES", "PT"]`, `["europe", "MA"]`.
470
+ * It matches `feature.id` (or `getFeatureId`) against ISO 3166-1 alpha-2 codes. Overseas territories
471
+ * (Guiana, Svalbard, Hawaii…) are left out so they do not shrink the framing. Russia is in no preset:
472
+ * ask for it with `"RU"`. With `drill` it restricts the root level; the levels below bring their own
473
+ * geometry. Data outside the region is ignored without warnings (`joinReport.outOfRegion`).
474
+ */
475
+ region?: RegionProp;
411
476
  /** Discards regions before anything else (e.g. Antarctica: `(f) => f.id !== "010"`). */
412
477
  filterFeatures?: (feature: Feature) => boolean;
413
478
  /**
@@ -645,6 +710,8 @@ type DrillEngineParams<TDatum> = {
645
710
  data: readonly TDatum[] | undefined | ((ctx: DrillContext) => readonly TDatum[] | undefined);
646
711
  /** The map's filter (Antarctica…). Applied only to the root geometry and whatever inherits it. */
647
712
  filterFeatures: ((feature: Feature) => boolean) | undefined;
713
+ /** The map's `region`: like the filter, applied only to the root geometry (and whatever inherits it). */
714
+ region: ResolvedRegion | undefined;
648
715
  /** To read the camera when starting to go down (saved to return to it when going up). */
649
716
  store: MapStore;
650
717
  onDrill: ((event: DrillEvent<TDatum>) => void) | undefined;
@@ -689,6 +756,8 @@ type DrillEngine<TDatum> = {
689
756
  filterFeatures: ((feature: Feature) => boolean) | undefined;
690
757
  /** The root geometry (for the `"auto"` aspect ratio, which must not change when going down). */
691
758
  rootFeatures: FeatureCollection | undefined;
759
+ /** The root geometry BEFORE the map's filter and `region`: what a datum "outside the region" belongs to. */
760
+ rootAll: FeatureCollection | undefined;
692
761
  /** The shown level's data (`undefined` = loading). */
693
762
  data: readonly TDatum[] | undefined;
694
763
  /** Notes which item caused the next route change (received by `onDrill`). */
@@ -716,7 +785,7 @@ type DrillEngine<TDatum> = {
716
785
  */
717
786
  navigate: (run: (controller: DrillController<TDatum>) => readonly string[]) => Promise<TransitionResult>;
718
787
  };
719
- declare const useDrillEngine: <TDatum>({ drill, data, filterFeatures, store, onDrill, onDrillEnd, onDrillError, }: DrillEngineParams<TDatum>) => DrillEngine<TDatum>;
788
+ declare const useDrillEngine: <TDatum>({ drill, data, filterFeatures, region, store, onDrill, onDrillEnd, onDrillError, }: DrillEngineParams<TDatum>) => DrillEngine<TDatum>;
720
789
 
721
790
  /**
722
791
  * Duration of the reveal: 200 ms of fade + up to 250 ms of staggering by distance from
@@ -1183,4 +1252,5 @@ declare const ChoroplethMap: <TDatum>(props: ChoroplethMapProps<TDatum> & {
1183
1252
  ref?: Ref<ChoroplethMapHandle>;
1184
1253
  }) => ReactElement | null;
1185
1254
 
1186
- export { Borders, Breadcrumb, type BreadcrumbProps, type BreadcrumbRenderContext, Bubbles, CameraOptions, Choropleth, type ChoroplethClassNames, ChoroplethMap, type ChoroplethMapHandle, type ChoroplethMapProps, ChoroplethTheme, type ClassSlot, type ContainerSize, DRILL_BRIDGE, Defs, type DefsProps, type DimOthers, type DrillBreadcrumb, type DrillBridge, DrillContext, type DrillController, type DrillEngine, type DrillEngineParams, type DrillEvent, type DrillLayerView, DrillLayers, type DrillLevel, type DrillLevelInfo, type DrillNav, type DrillNavItem, type DrillStatus, FALLBACK_POINT_RADIUS, type FallbackPoint, FallbackPoints, type GeographyStatus, GestureHint, type ItemContext, type ItemRef, type JoinReport, Legend, type LegendOptions, type LegendPosition, type LegendProps, type LegendRenderContext, type MapItem, type MapState, type MapStore, Patterns, type PointItem, type PointProps, type PointerPosition, REVEAL_MS, ROOT_LEVEL, type Region, type RegionItem, type RegionProps, type RegionStyle, Regions, Root, type RootProps, Selection, Svg, type SvgProps, ThemeName, Tooltip, type TooltipContext, type TooltipProps, TransitionResult, type UseChoroplethOptions, type UseChoroplethResult, type UseContainerSizeOptions, type UseDrillDownOptions, type UseGeographyResult, type UseZoomParams, ViewState, Viewport, type ZoomApi, ZoomControls, type ZoomControlsProps, ZoomOptions, ZoomTarget, buildDrillEvent, clearGeographyCache, createDrillBridge, createMapStore, defineDrillLevels, isDrillController, isDrillable, sourceDepth, useCamera, useChoropleth, useChoroplethApi, useContainerSize, useDefId, useDrillChoreography, useDrillDown, useDrillEngine, useGeography, useMapStore, useZoom };
1255
+ export { Borders, Breadcrumb, Bubbles, CameraOptions, Choropleth, ChoroplethMap, ChoroplethTheme, DRILL_BRIDGE, Defs, DrillContext, DrillLayers, FALLBACK_POINT_RADIUS, FallbackPoints, GestureHint, Legend, Patterns, REVEAL_MS, ROOT_LEVEL, Regions, Root, Selection, Svg, ThemeName, Tooltip, TransitionResult, ViewState, Viewport, ZoomControls, ZoomOptions, ZoomTarget, buildDrillEvent, clearGeographyCache, createDrillBridge, createMapStore, defineDrillLevels, isDrillController, isDrillable, sourceDepth, useCamera, useChoropleth, useChoroplethApi, useContainerSize, useDefId, useDrillChoreography, useDrillDown, useDrillEngine, useGeography, useMapStore, useZoom };
1256
+ export type { BreadcrumbProps, BreadcrumbRenderContext, ChoroplethClassNames, ChoroplethMapHandle, ChoroplethMapProps, ClassSlot, ContainerSize, DefsProps, DimOthers, DrillBreadcrumb, DrillBridge, DrillController, DrillEngine, DrillEngineParams, DrillEvent, DrillLayerView, DrillLevel, DrillLevelInfo, DrillNav, DrillNavItem, DrillStatus, FallbackPoint, GeographyStatus, ItemContext, ItemRef, JoinReport, LegendOptions, LegendPosition, LegendProps, LegendRenderContext, MapItem, MapState, MapStore, PointItem, PointProps, PointerPosition, Region, RegionItem, RegionProp, RegionProps, RegionStyle, RootProps, SvgProps, TooltipContext, TooltipProps, UseChoroplethOptions, UseChoroplethResult, UseContainerSizeOptions, UseDrillDownOptions, UseGeographyResult, UseZoomParams, ZoomApi, ZoomControlsProps };