@unovis/ts 1.0.0-beta.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 (505) hide show
  1. package/.cache/.npm/_cacache/content-v2/sha512/61/45/6fe676782aa108257b260c25e8140c6d37bbc18450696066eeeb68af0ecc30da712b9d888ddf31844ec3334478f2b142f957298bebde9cba8de0ffc3c2d7 +0 -0
  2. package/.cache/.npm/_cacache/content-v2/sha512/c1/fd/5918e37e37c05cdfc4482fae30721b118c227a6b70b2830ff04cd62a82899a4ad1beaa562b4c673122c932c2eb017af2f4da3c8b7f9a0affbd1d926341a0 +0 -0
  3. package/.cache/.npm/_cacache/index-v5/1f/ac/9e290f9c0248c783167cd161d22fe850034423d1a425963bd64808710219 +3 -0
  4. package/LICENSE +193 -0
  5. package/components/area/config.d.ts +25 -0
  6. package/components/area/config.js +16 -0
  7. package/components/area/config.js.map +1 -0
  8. package/components/area/index.d.ts +19 -0
  9. package/components/area/index.js +103 -0
  10. package/components/area/index.js.map +1 -0
  11. package/components/area/style.d.ts +3 -0
  12. package/components/area/style.js +32 -0
  13. package/components/area/style.js.map +1 -0
  14. package/components/area/types.d.ts +6 -0
  15. package/components/axis/config.d.ts +74 -0
  16. package/components/axis/config.js +33 -0
  17. package/components/axis/config.js.map +1 -0
  18. package/components/axis/index.d.ts +51 -0
  19. package/components/axis/index.js +291 -0
  20. package/components/axis/index.js.map +1 -0
  21. package/components/axis/modules/tick.d.ts +5 -0
  22. package/components/axis/modules/tick.js +48 -0
  23. package/components/axis/modules/tick.js.map +1 -0
  24. package/components/axis/style.d.ts +9 -0
  25. package/components/axis/style.js +95 -0
  26. package/components/axis/style.js.map +1 -0
  27. package/components/axis/types.d.ts +4 -0
  28. package/components/axis/types.js +8 -0
  29. package/components/axis/types.js.map +1 -0
  30. package/components/brush/config.d.ts +42 -0
  31. package/components/brush/config.js +24 -0
  32. package/components/brush/config.js.map +1 -0
  33. package/components/brush/index.d.ts +28 -0
  34. package/components/brush/index.js +199 -0
  35. package/components/brush/index.js.map +1 -0
  36. package/components/brush/style.d.ts +5 -0
  37. package/components/brush/style.js +63 -0
  38. package/components/brush/style.js.map +1 -0
  39. package/components/brush/types.d.ts +7 -0
  40. package/components/brush/types.js +8 -0
  41. package/components/brush/types.js.map +1 -0
  42. package/components/bullet-legend/config.d.ts +24 -0
  43. package/components/bullet-legend/config.js +16 -0
  44. package/components/bullet-legend/config.js.map +1 -0
  45. package/components/bullet-legend/index.d.ts +19 -0
  46. package/components/bullet-legend/index.js +79 -0
  47. package/components/bullet-legend/index.js.map +1 -0
  48. package/components/bullet-legend/style.d.ts +6 -0
  49. package/components/bullet-legend/style.js +66 -0
  50. package/components/bullet-legend/style.js.map +1 -0
  51. package/components/bullet-legend/types.d.ts +7 -0
  52. package/components/chord-diagram/config.d.ts +42 -0
  53. package/components/chord-diagram/config.js +25 -0
  54. package/components/chord-diagram/config.js.map +1 -0
  55. package/components/chord-diagram/index.d.ts +49 -0
  56. package/components/chord-diagram/index.js +280 -0
  57. package/components/chord-diagram/index.js.map +1 -0
  58. package/components/chord-diagram/modules/label.d.ts +8 -0
  59. package/components/chord-diagram/modules/label.js +128 -0
  60. package/components/chord-diagram/modules/label.js.map +1 -0
  61. package/components/chord-diagram/modules/link.d.ts +20 -0
  62. package/components/chord-diagram/modules/link.js +32 -0
  63. package/components/chord-diagram/modules/link.js.map +1 -0
  64. package/components/chord-diagram/modules/node.d.ts +17 -0
  65. package/components/chord-diagram/modules/node.js +52 -0
  66. package/components/chord-diagram/modules/node.js.map +1 -0
  67. package/components/chord-diagram/style.d.ts +13 -0
  68. package/components/chord-diagram/style.js +88 -0
  69. package/components/chord-diagram/style.js.map +1 -0
  70. package/components/chord-diagram/types.d.ts +40 -0
  71. package/components/chord-diagram/types.js +8 -0
  72. package/components/chord-diagram/types.js.map +1 -0
  73. package/components/crosshair/config.d.ts +43 -0
  74. package/components/crosshair/config.js +19 -0
  75. package/components/crosshair/config.js.map +1 -0
  76. package/components/crosshair/index.d.ts +35 -0
  77. package/components/crosshair/index.js +180 -0
  78. package/components/crosshair/index.js.map +1 -0
  79. package/components/crosshair/style.d.ts +4 -0
  80. package/components/crosshair/style.js +25 -0
  81. package/components/crosshair/style.js.map +1 -0
  82. package/components/crosshair/types.d.ts +13 -0
  83. package/components/donut/config.d.ts +45 -0
  84. package/components/donut/config.js +25 -0
  85. package/components/donut/config.js.map +1 -0
  86. package/components/donut/index.d.ts +20 -0
  87. package/components/donut/index.js +84 -0
  88. package/components/donut/index.js.map +1 -0
  89. package/components/donut/modules/arc.d.ts +10 -0
  90. package/components/donut/modules/arc.js +53 -0
  91. package/components/donut/modules/arc.js.map +1 -0
  92. package/components/donut/style.d.ts +6 -0
  93. package/components/donut/style.js +53 -0
  94. package/components/donut/style.js.map +1 -0
  95. package/components/donut/types.d.ts +12 -0
  96. package/components/flow-legend/config.d.ts +26 -0
  97. package/components/flow-legend/config.js +17 -0
  98. package/components/flow-legend/config.js.map +1 -0
  99. package/components/flow-legend/index.d.ts +16 -0
  100. package/components/flow-legend/index.js +73 -0
  101. package/components/flow-legend/index.js.map +1 -0
  102. package/components/flow-legend/style.d.ts +8 -0
  103. package/components/flow-legend/style.js +80 -0
  104. package/components/flow-legend/style.js.map +1 -0
  105. package/components/flow-legend/types.d.ts +9 -0
  106. package/components/flow-legend/types.js +8 -0
  107. package/components/flow-legend/types.js.map +1 -0
  108. package/components/free-brush/config.d.ts +45 -0
  109. package/components/free-brush/config.js +24 -0
  110. package/components/free-brush/config.js.map +1 -0
  111. package/components/free-brush/index.d.ts +20 -0
  112. package/components/free-brush/index.js +191 -0
  113. package/components/free-brush/index.js.map +1 -0
  114. package/components/free-brush/style.d.ts +4 -0
  115. package/components/free-brush/style.js +50 -0
  116. package/components/free-brush/style.js.map +1 -0
  117. package/components/free-brush/types.d.ts +7 -0
  118. package/components/free-brush/types.js +9 -0
  119. package/components/free-brush/types.js.map +1 -0
  120. package/components/graph/config.d.ts +207 -0
  121. package/components/graph/config.js +75 -0
  122. package/components/graph/config.js.map +1 -0
  123. package/components/graph/index.d.ts +121 -0
  124. package/components/graph/index.js +653 -0
  125. package/components/graph/index.js.map +1 -0
  126. package/components/graph/modules/layout-helpers.d.ts +2 -0
  127. package/components/graph/modules/layout-helpers.js +11 -0
  128. package/components/graph/modules/layout-helpers.js.map +1 -0
  129. package/components/graph/modules/layout.d.ts +9 -0
  130. package/components/graph/modules/layout.js +343 -0
  131. package/components/graph/modules/layout.js.map +1 -0
  132. package/components/graph/modules/link/helper.d.ts +25 -0
  133. package/components/graph/modules/link/helper.js +78 -0
  134. package/components/graph/modules/link/helper.js.map +1 -0
  135. package/components/graph/modules/link/index.d.ts +12 -0
  136. package/components/graph/modules/link/index.js +201 -0
  137. package/components/graph/modules/link/index.js.map +1 -0
  138. package/components/graph/modules/link/style.d.ts +15 -0
  139. package/components/graph/modules/link/style.js +112 -0
  140. package/components/graph/modules/link/style.js.map +1 -0
  141. package/components/graph/modules/node/helper.d.ts +21 -0
  142. package/components/graph/modules/node/helper.js +127 -0
  143. package/components/graph/modules/node/helper.js.map +1 -0
  144. package/components/graph/modules/node/index.d.ts +12 -0
  145. package/components/graph/modules/node/index.js +248 -0
  146. package/components/graph/modules/node/index.js.map +1 -0
  147. package/components/graph/modules/node/style.d.ts +24 -0
  148. package/components/graph/modules/node/style.js +273 -0
  149. package/components/graph/modules/node/style.js.map +1 -0
  150. package/components/graph/modules/panel/helper.d.ts +16 -0
  151. package/components/graph/modules/panel/helper.js +110 -0
  152. package/components/graph/modules/panel/helper.js.map +1 -0
  153. package/components/graph/modules/panel/index.d.ts +7 -0
  154. package/components/graph/modules/panel/index.js +103 -0
  155. package/components/graph/modules/panel/index.js.map +1 -0
  156. package/components/graph/modules/panel/style.d.ts +14 -0
  157. package/components/graph/modules/panel/style.js +123 -0
  158. package/components/graph/modules/panel/style.js.map +1 -0
  159. package/components/graph/modules/shape.d.ts +7 -0
  160. package/components/graph/modules/shape.js +80 -0
  161. package/components/graph/modules/shape.js.map +1 -0
  162. package/components/graph/modules/zoom-levels.d.ts +6 -0
  163. package/components/graph/modules/zoom-levels.js +10 -0
  164. package/components/graph/modules/zoom-levels.js.map +1 -0
  165. package/components/graph/style.d.ts +6 -0
  166. package/components/graph/style.js +66 -0
  167. package/components/graph/style.js.map +1 -0
  168. package/components/graph/types.d.ts +120 -0
  169. package/components/graph/types.js +29 -0
  170. package/components/graph/types.js.map +1 -0
  171. package/components/grouped-bar/config.d.ts +36 -0
  172. package/components/grouped-bar/config.js +20 -0
  173. package/components/grouped-bar/config.js.map +1 -0
  174. package/components/grouped-bar/index.d.ts +30 -0
  175. package/components/grouped-bar/index.js +231 -0
  176. package/components/grouped-bar/index.js.map +1 -0
  177. package/components/grouped-bar/style.d.ts +5 -0
  178. package/components/grouped-bar/style.js +36 -0
  179. package/components/grouped-bar/style.js.map +1 -0
  180. package/components/leaflet-flow-map/config.d.ts +46 -0
  181. package/components/leaflet-flow-map/config.js +25 -0
  182. package/components/leaflet-flow-map/config.js.map +1 -0
  183. package/components/leaflet-flow-map/index.d.ts +51 -0
  184. package/components/leaflet-flow-map/index.js +220 -0
  185. package/components/leaflet-flow-map/index.js.map +1 -0
  186. package/components/leaflet-flow-map/renderer-utils.d.ts +5 -0
  187. package/components/leaflet-flow-map/renderer-utils.js +15 -0
  188. package/components/leaflet-flow-map/renderer-utils.js.map +1 -0
  189. package/components/leaflet-flow-map/renderer.d.ts +26 -0
  190. package/components/leaflet-flow-map/renderer.js +117 -0
  191. package/components/leaflet-flow-map/renderer.js.map +1 -0
  192. package/components/leaflet-flow-map/shaders.d.ts +2 -0
  193. package/components/leaflet-flow-map/shaders.js +27 -0
  194. package/components/leaflet-flow-map/shaders.js.map +1 -0
  195. package/components/leaflet-flow-map/types.d.ts +23 -0
  196. package/components/leaflet-map/config.d.ts +175 -0
  197. package/components/leaflet-map/config.js +67 -0
  198. package/components/leaflet-map/config.js.map +1 -0
  199. package/components/leaflet-map/index.d.ts +95 -0
  200. package/components/leaflet-map/index.js +648 -0
  201. package/components/leaflet-map/index.js.map +1 -0
  202. package/components/leaflet-map/leaflet.css.js +4 -0
  203. package/components/leaflet-map/leaflet.css.js.map +1 -0
  204. package/components/leaflet-map/modules/clusterBackground.d.ts +4 -0
  205. package/components/leaflet-map/modules/clusterBackground.js +27 -0
  206. package/components/leaflet-map/modules/clusterBackground.js.map +1 -0
  207. package/components/leaflet-map/modules/donut.d.ts +3 -0
  208. package/components/leaflet-map/modules/donut.js +25 -0
  209. package/components/leaflet-map/modules/donut.js.map +1 -0
  210. package/components/leaflet-map/modules/map.d.ts +13 -0
  211. package/components/leaflet-map/modules/map.js +139 -0
  212. package/components/leaflet-map/modules/map.js.map +1 -0
  213. package/components/leaflet-map/modules/node.d.ts +8 -0
  214. package/components/leaflet-map/modules/node.js +148 -0
  215. package/components/leaflet-map/modules/node.js.map +1 -0
  216. package/components/leaflet-map/modules/selectionRing.d.ts +6 -0
  217. package/components/leaflet-map/modules/selectionRing.js +41 -0
  218. package/components/leaflet-map/modules/selectionRing.js.map +1 -0
  219. package/components/leaflet-map/modules/utils.d.ts +49 -0
  220. package/components/leaflet-map/modules/utils.js +207 -0
  221. package/components/leaflet-map/modules/utils.js.map +1 -0
  222. package/components/leaflet-map/renderer/map-style.d.ts +4 -0
  223. package/components/leaflet-map/renderer/map-style.js +15 -0
  224. package/components/leaflet-map/renderer/map-style.js.map +1 -0
  225. package/components/leaflet-map/renderer/mapboxgl/mapboxgl-dark-theme.json.js +40 -0
  226. package/components/leaflet-map/renderer/mapboxgl/mapboxgl-dark-theme.json.js.map +1 -0
  227. package/components/leaflet-map/renderer/mapboxgl/mapboxgl-light-theme.json.js +40 -0
  228. package/components/leaflet-map/renderer/mapboxgl/mapboxgl-light-theme.json.js.map +1 -0
  229. package/components/leaflet-map/renderer/mapboxgl/mapboxgl-settings.json.js +4987 -0
  230. package/components/leaflet-map/renderer/mapboxgl/mapboxgl-settings.json.js.map +1 -0
  231. package/components/leaflet-map/renderer/mapboxgl-layer.d.ts +7 -0
  232. package/components/leaflet-map/renderer/mapboxgl-layer.js +28 -0
  233. package/components/leaflet-map/renderer/mapboxgl-layer.js.map +1 -0
  234. package/components/leaflet-map/renderer/mapboxgl-utils.d.ts +5 -0
  235. package/components/leaflet-map/renderer/mapboxgl-utils.js +39 -0
  236. package/components/leaflet-map/renderer/mapboxgl-utils.js.map +1 -0
  237. package/components/leaflet-map/style.d.ts +19 -0
  238. package/components/leaflet-map/style.js +192 -0
  239. package/components/leaflet-map/style.js.map +1 -0
  240. package/components/leaflet-map/types.d.ts +70 -0
  241. package/components/leaflet-map/types.js +10 -0
  242. package/components/leaflet-map/types.js.map +1 -0
  243. package/components/line/config.d.ts +30 -0
  244. package/components/line/config.js +17 -0
  245. package/components/line/config.js.map +1 -0
  246. package/components/line/index.d.ts +27 -0
  247. package/components/line/index.js +139 -0
  248. package/components/line/index.js.map +1 -0
  249. package/components/line/style.d.ts +6 -0
  250. package/components/line/style.js +35 -0
  251. package/components/line/style.js.map +1 -0
  252. package/components/line/types.d.ts +12 -0
  253. package/components/radial-dendrogram/config.d.ts +34 -0
  254. package/components/radial-dendrogram/config.js +20 -0
  255. package/components/radial-dendrogram/config.js.map +1 -0
  256. package/components/radial-dendrogram/index.d.ts +22 -0
  257. package/components/radial-dendrogram/index.js +98 -0
  258. package/components/radial-dendrogram/index.js.map +1 -0
  259. package/components/radial-dendrogram/modules/label.d.ts +8 -0
  260. package/components/radial-dendrogram/modules/label.js +70 -0
  261. package/components/radial-dendrogram/modules/label.js.map +1 -0
  262. package/components/radial-dendrogram/modules/link.d.ts +19 -0
  263. package/components/radial-dendrogram/modules/link.js +59 -0
  264. package/components/radial-dendrogram/modules/link.js.map +1 -0
  265. package/components/radial-dendrogram/modules/node.d.ts +16 -0
  266. package/components/radial-dendrogram/modules/node.js +51 -0
  267. package/components/radial-dendrogram/modules/node.js.map +1 -0
  268. package/components/radial-dendrogram/style.d.ts +6 -0
  269. package/components/radial-dendrogram/style.js +54 -0
  270. package/components/radial-dendrogram/style.js.map +1 -0
  271. package/components/radial-dendrogram/types.d.ts +34 -0
  272. package/components/sankey/config.d.ts +162 -0
  273. package/components/sankey/config.js +65 -0
  274. package/components/sankey/config.js.map +1 -0
  275. package/components/sankey/index.d.ts +56 -0
  276. package/components/sankey/index.js +299 -0
  277. package/components/sankey/index.js.map +1 -0
  278. package/components/sankey/modules/label.d.ts +23 -0
  279. package/components/sankey/modules/label.js +164 -0
  280. package/components/sankey/modules/label.js.map +1 -0
  281. package/components/sankey/modules/link.d.ts +13 -0
  282. package/components/sankey/modules/link.js +108 -0
  283. package/components/sankey/modules/link.js.map +1 -0
  284. package/components/sankey/modules/node.d.ts +10 -0
  285. package/components/sankey/modules/node.js +156 -0
  286. package/components/sankey/modules/node.js.map +1 -0
  287. package/components/sankey/style.d.ts +20 -0
  288. package/components/sankey/style.js +164 -0
  289. package/components/sankey/style.js.map +1 -0
  290. package/components/sankey/types.d.ts +84 -0
  291. package/components/sankey/types.js +34 -0
  292. package/components/sankey/types.js.map +1 -0
  293. package/components/scatter/config.d.ts +44 -0
  294. package/components/scatter/config.js +23 -0
  295. package/components/scatter/config.js.map +1 -0
  296. package/components/scatter/index.d.ts +19 -0
  297. package/components/scatter/index.js +123 -0
  298. package/components/scatter/index.js.map +1 -0
  299. package/components/scatter/modules/point.d.ts +7 -0
  300. package/components/scatter/modules/point.js +98 -0
  301. package/components/scatter/modules/point.js.map +1 -0
  302. package/components/scatter/style.d.ts +5 -0
  303. package/components/scatter/style.js +53 -0
  304. package/components/scatter/style.js.map +1 -0
  305. package/components/scatter/types.d.ts +13 -0
  306. package/components/stacked-bar/config.d.ts +38 -0
  307. package/components/stacked-bar/config.js +20 -0
  308. package/components/stacked-bar/config.js.map +1 -0
  309. package/components/stacked-bar/index.d.ts +27 -0
  310. package/components/stacked-bar/index.js +193 -0
  311. package/components/stacked-bar/index.js.map +1 -0
  312. package/components/stacked-bar/style.d.ts +5 -0
  313. package/components/stacked-bar/style.js +36 -0
  314. package/components/stacked-bar/style.js.map +1 -0
  315. package/components/stacked-bar/types.d.ts +5 -0
  316. package/components/timeline/config.d.ts +43 -0
  317. package/components/timeline/config.js +23 -0
  318. package/components/timeline/config.js.map +1 -0
  319. package/components/timeline/index.d.ts +43 -0
  320. package/components/timeline/index.js +235 -0
  321. package/components/timeline/index.js.map +1 -0
  322. package/components/timeline/style.d.ts +12 -0
  323. package/components/timeline/style.js +86 -0
  324. package/components/timeline/style.js.map +1 -0
  325. package/components/tooltip/config.d.ts +46 -0
  326. package/components/tooltip/config.js +19 -0
  327. package/components/tooltip/config.js.map +1 -0
  328. package/components/tooltip/index.d.ts +34 -0
  329. package/components/tooltip/index.js +147 -0
  330. package/components/tooltip/index.js.map +1 -0
  331. package/components/tooltip/style.js +72 -0
  332. package/components/tooltip/style.js.map +1 -0
  333. package/components/topojson-map/config.d.ts +99 -0
  334. package/components/topojson-map/config.js +42 -0
  335. package/components/topojson-map/config.js.map +1 -0
  336. package/components/topojson-map/index.d.ts +52 -0
  337. package/components/topojson-map/index.js +355 -0
  338. package/components/topojson-map/index.js.map +1 -0
  339. package/components/topojson-map/style.d.ts +11 -0
  340. package/components/topojson-map/style.js +97 -0
  341. package/components/topojson-map/style.js.map +1 -0
  342. package/components/topojson-map/types.d.ts +48 -0
  343. package/components/topojson-map/types.js +45 -0
  344. package/components/topojson-map/types.js.map +1 -0
  345. package/components/topojson-map/utils.d.ts +3 -0
  346. package/components/topojson-map/utils.js +30 -0
  347. package/components/topojson-map/utils.js.map +1 -0
  348. package/components/vis-controls/config.d.ts +12 -0
  349. package/components/vis-controls/config.js +13 -0
  350. package/components/vis-controls/config.js.map +1 -0
  351. package/components/vis-controls/index.d.ts +14 -0
  352. package/components/vis-controls/index.js +52 -0
  353. package/components/vis-controls/index.js.map +1 -0
  354. package/components/vis-controls/style.d.ts +11 -0
  355. package/components/vis-controls/style.js +75 -0
  356. package/components/vis-controls/style.js.map +1 -0
  357. package/components/vis-controls/types.d.ts +13 -0
  358. package/components/vis-controls/types.js +8 -0
  359. package/components/vis-controls/types.js.map +1 -0
  360. package/components/xy-labels/config.d.ts +48 -0
  361. package/components/xy-labels/config.js +25 -0
  362. package/components/xy-labels/config.js.map +1 -0
  363. package/components/xy-labels/index.d.ts +15 -0
  364. package/components/xy-labels/index.js +86 -0
  365. package/components/xy-labels/index.js.map +1 -0
  366. package/components/xy-labels/modules/label.d.ts +9 -0
  367. package/components/xy-labels/modules/label.js +105 -0
  368. package/components/xy-labels/modules/label.js.map +1 -0
  369. package/components/xy-labels/style.d.ts +5 -0
  370. package/components/xy-labels/style.js +53 -0
  371. package/components/xy-labels/style.js.map +1 -0
  372. package/components/xy-labels/types.d.ts +23 -0
  373. package/components/xy-labels/types.js +9 -0
  374. package/components/xy-labels/types.js.map +1 -0
  375. package/components.d.ts +52 -0
  376. package/containers/single-container/config.d.ts +12 -0
  377. package/containers/single-container/config.js +12 -0
  378. package/containers/single-container/config.js.map +1 -0
  379. package/containers/single-container/index.d.ts +17 -0
  380. package/containers/single-container/index.js +115 -0
  381. package/containers/single-container/index.js.map +1 -0
  382. package/containers/xy-container/config.d.ts +99 -0
  383. package/containers/xy-container/config.js +30 -0
  384. package/containers/xy-container/config.js.map +1 -0
  385. package/containers/xy-container/index.d.ts +33 -0
  386. package/containers/xy-container/index.js +322 -0
  387. package/containers/xy-container/index.js.map +1 -0
  388. package/containers.d.ts +6 -0
  389. package/core/component/config.d.ts +58 -0
  390. package/core/component/config.js +14 -0
  391. package/core/component/config.js.map +1 -0
  392. package/core/component/index.d.ts +38 -0
  393. package/core/component/index.js +112 -0
  394. package/core/component/index.js.map +1 -0
  395. package/core/component/types.d.ts +2 -0
  396. package/core/config/index.d.ts +3 -0
  397. package/core/config/index.js +16 -0
  398. package/core/config/index.js.map +1 -0
  399. package/core/container/config.d.ts +38 -0
  400. package/core/container/config.js +29 -0
  401. package/core/container/config.js.map +1 -0
  402. package/core/container/index.d.ts +25 -0
  403. package/core/container/index.js +92 -0
  404. package/core/container/index.js.map +1 -0
  405. package/core/xy-component/config.d.ts +38 -0
  406. package/core/xy-component/config.js +20 -0
  407. package/core/xy-component/config.js.map +1 -0
  408. package/core/xy-component/index.d.ts +25 -0
  409. package/core/xy-component/index.js +65 -0
  410. package/core/xy-component/index.js.map +1 -0
  411. package/data-models/core.d.ts +6 -0
  412. package/data-models/core.js +14 -0
  413. package/data-models/core.js.map +1 -0
  414. package/data-models/graph.d.ts +24 -0
  415. package/data-models/graph.js +101 -0
  416. package/data-models/graph.js.map +1 -0
  417. package/data-models/map-graph.d.ts +23 -0
  418. package/data-models/map-graph.js +59 -0
  419. package/data-models/map-graph.js.map +1 -0
  420. package/data-models/map.d.ts +5 -0
  421. package/data-models/map.js +12 -0
  422. package/data-models/map.js.map +1 -0
  423. package/data-models/series.d.ts +6 -0
  424. package/data-models/series.js +19 -0
  425. package/data-models/series.js.map +1 -0
  426. package/external/maplibre-gl/dist/maplibre-gl.css.js +4 -0
  427. package/external/maplibre-gl/dist/maplibre-gl.css.js.map +1 -0
  428. package/index.d.ts +4 -0
  429. package/index.js +49 -0
  430. package/index.js.map +1 -0
  431. package/maps/china-provinces.json.js +140373 -0
  432. package/maps/fr-regions.json.js +14162 -0
  433. package/maps/germany-regions.json.js +35760 -0
  434. package/maps/ind-regions.json.js +290584 -0
  435. package/maps/uk-regions.json.js +96233 -0
  436. package/maps/us-counties.json.js +206318 -0
  437. package/maps/us-states.json.js +16345 -0
  438. package/maps/world-110m-alpha.json.js +251366 -0
  439. package/maps/world-simple.json.js +89428 -0
  440. package/maps/world-simplest.json.js +28175 -0
  441. package/maps.d.ts +60 -0
  442. package/maps.js +23 -0
  443. package/package.json +61 -0
  444. package/styles/colors.d.ts +4 -0
  445. package/styles/colors.js +11 -0
  446. package/styles/colors.js.map +1 -0
  447. package/styles/css-variables.d.ts +2 -0
  448. package/styles/css-variables.js +16 -0
  449. package/styles/css-variables.js.map +1 -0
  450. package/types/accessor.d.ts +5 -0
  451. package/types/component.d.ts +13 -0
  452. package/types/component.js +14 -0
  453. package/types/component.js.map +1 -0
  454. package/types/curve.d.ts +40 -0
  455. package/types/curve.js +46 -0
  456. package/types/curve.js.map +1 -0
  457. package/types/data.d.ts +7 -0
  458. package/types/direction.d.ts +6 -0
  459. package/types/direction.js +10 -0
  460. package/types/direction.js.map +1 -0
  461. package/types/graph.d.ts +35 -0
  462. package/types/map.d.ts +4 -0
  463. package/types/misc.d.ts +8 -0
  464. package/types/position.d.ts +20 -0
  465. package/types/position.js +27 -0
  466. package/types/position.js.map +1 -0
  467. package/types/scale.d.ts +23 -0
  468. package/types/scale.js +27 -0
  469. package/types/scale.js.map +1 -0
  470. package/types/shape.d.ts +7 -0
  471. package/types/shape.js +11 -0
  472. package/types/shape.js.map +1 -0
  473. package/types/spacing.d.ts +6 -0
  474. package/types/symbol.d.ts +18 -0
  475. package/types/symbol.js +24 -0
  476. package/types/symbol.js.map +1 -0
  477. package/types/text.d.ts +38 -0
  478. package/types/text.js +31 -0
  479. package/types/text.js.map +1 -0
  480. package/types.d.ts +28 -0
  481. package/utils/color.d.ts +9 -0
  482. package/utils/color.js +26 -0
  483. package/utils/color.js.map +1 -0
  484. package/utils/d3.d.ts +3 -0
  485. package/utils/d3.js +16 -0
  486. package/utils/d3.js.map +1 -0
  487. package/utils/data.d.ts +123 -0
  488. package/utils/data.js +193 -0
  489. package/utils/data.js.map +1 -0
  490. package/utils/html.d.ts +1 -0
  491. package/utils/html.js +15 -0
  492. package/utils/html.js.map +1 -0
  493. package/utils/map.d.ts +2 -0
  494. package/utils/map.js +20 -0
  495. package/utils/map.js.map +1 -0
  496. package/utils/misc.d.ts +16 -0
  497. package/utils/misc.js +42 -0
  498. package/utils/misc.js.map +1 -0
  499. package/utils/path.d.ts +21 -0
  500. package/utils/path.js +144 -0
  501. package/utils/path.js.map +1 -0
  502. package/utils/scale.d.ts +1 -0
  503. package/utils/text.d.ts +17 -0
  504. package/utils/text.js +196 -0
  505. package/utils/text.js.map +1 -0
@@ -0,0 +1,147 @@
1
+ import { select, pointer } from 'd3-selection';
2
+ import { Position } from '../../types/position.js';
3
+ import { throttle } from '../../utils/data.js';
4
+ import { TooltipConfig } from './config.js';
5
+ import * as style from './style.js';
6
+ import { tooltip, show, positionFixed } from './style.js';
7
+
8
+ class Tooltip {
9
+ constructor(config = {}) {
10
+ this._setUpEventsThrottled = throttle(this._setUpEvents, 500);
11
+ this._setContainerPositionThrottled = throttle(this._setContainerPosition, 500);
12
+ this.config = new TooltipConfig().init(config);
13
+ this.components = this.config.components;
14
+ this.element = document.createElement('div');
15
+ this.div = select(this.element)
16
+ .attr('class', tooltip);
17
+ if (this.config.container)
18
+ this.setContainer(this.config.container);
19
+ }
20
+ setConfig(config) {
21
+ this.prevConfig = this.config;
22
+ this.config = new TooltipConfig().init(config);
23
+ }
24
+ setContainer(container) {
25
+ var _a;
26
+ (_a = this.element.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(this.element);
27
+ this._container = container;
28
+ this._container.appendChild(this.element);
29
+ this._setContainerPositionThrottled();
30
+ }
31
+ getContainer() {
32
+ return this._container;
33
+ }
34
+ hasContainer() {
35
+ return !!this._container && this._container.isConnected;
36
+ }
37
+ setComponents(components) {
38
+ this.components = components;
39
+ }
40
+ update() {
41
+ if (!this._container)
42
+ return;
43
+ this._setUpEventsThrottled();
44
+ }
45
+ show(html, pos) {
46
+ if (html instanceof HTMLElement) {
47
+ const node = this.div.select(':first-child').node();
48
+ if (node !== html)
49
+ this.div.html('').append(() => html);
50
+ }
51
+ else {
52
+ this.div.html(html);
53
+ }
54
+ this.div.classed(show, true);
55
+ this.place(pos);
56
+ }
57
+ hide() {
58
+ this.div.classed(show, false);
59
+ }
60
+ place(pos) {
61
+ const { config } = this;
62
+ const isContainerBody = this.isContainerBody();
63
+ const width = this.element.offsetWidth;
64
+ const height = this.element.offsetHeight;
65
+ const containerHeight = isContainerBody ? window.innerHeight : this._container.scrollHeight;
66
+ const containerWidth = isContainerBody ? window.innerWidth : this._container.scrollWidth;
67
+ const horizontalPlacement = config.horizontalPlacement === Position.Auto
68
+ ? (pos.x > containerWidth / 2 ? Position.Left : Position.Right)
69
+ : config.horizontalPlacement;
70
+ const verticalPlacement = config.verticalPlacement === Position.Auto
71
+ ? (pos.y > containerHeight / 2 ? Position.Top : Position.Bottom)
72
+ : config.verticalPlacement;
73
+ // dx and dy variables shift the tooltip from the default position (above the cursor, centred horizontally)
74
+ const margin = 5;
75
+ const dx = horizontalPlacement === Position.Left ? -width - margin - config.horizontalShift
76
+ : horizontalPlacement === Position.Center ? -width / 2
77
+ : margin + config.horizontalShift;
78
+ const dy = verticalPlacement === Position.Bottom ? height + margin + config.verticalShift
79
+ : verticalPlacement === Position.Center ? height / 2
80
+ : -margin - config.verticalShift;
81
+ // Constraint to container
82
+ const paddingX = 10;
83
+ const hitRight = pos.x > (containerWidth - width - dx - paddingX);
84
+ const hitLeft = pos.x < -dx + paddingX;
85
+ const constraintX = hitRight ? (containerWidth - width - dx) - pos.x - paddingX
86
+ : hitLeft ? -dx - pos.x + paddingX : 0;
87
+ const paddingY = 10;
88
+ const hitBottom = pos.y > (containerHeight - dy - paddingY);
89
+ const hitTop = pos.y < (height - dy + paddingY);
90
+ const constraintY = hitBottom ? containerHeight - dy - pos.y - paddingY
91
+ : hitTop ? height - dy - pos.y + paddingY : 0;
92
+ // Placing
93
+ // If the container size is smaller than the the tooltip size we just stick the tooltip to the top / left
94
+ const x = containerWidth < width ? 0 : pos.x + constraintX + dx;
95
+ const y = containerHeight < height ? height : pos.y + constraintY + dy;
96
+ this.div
97
+ .classed(positionFixed, isContainerBody)
98
+ .style('top', isContainerBody ? `${y - height}px` : 'unset')
99
+ .style('bottom', !isContainerBody ? `${containerHeight - y}px` : 'unset')
100
+ .style('left', `${x}px`);
101
+ }
102
+ isContainerBody() {
103
+ return this._container === document.body;
104
+ }
105
+ _setContainerPosition() {
106
+ var _a;
107
+ // Tooltip position calculation relies on the parent position
108
+ // If it's not set (static), we set it to `relative` (not a good practice)
109
+ if (((_a = getComputedStyle(this._container)) === null || _a === void 0 ? void 0 : _a.position) === 'static') {
110
+ this._container.style.position = 'relative';
111
+ }
112
+ }
113
+ _setUpEvents() {
114
+ const { config: { triggers } } = this;
115
+ const isContainerBody = this.isContainerBody();
116
+ Object.keys(triggers).forEach(className => {
117
+ const template = triggers[className];
118
+ this.components.forEach(component => {
119
+ const selection = select(component.element).selectAll(`.${className}`);
120
+ selection
121
+ .on('mousemove.tooltip', (e, d) => {
122
+ e.stopPropagation(); // Stop propagation to prevent other interfering events from being triggered, e.g. Crosshair
123
+ const [x, y] = isContainerBody ? [e.clientX, e.clientY] : pointer(e, this._container);
124
+ const els = selection.nodes();
125
+ const i = els.indexOf(e.currentTarget);
126
+ const content = template(d, i, els);
127
+ if (content)
128
+ this.show(content, { x, y });
129
+ else
130
+ this.hide();
131
+ })
132
+ .on('mouseleave.tooltip', (e) => {
133
+ e.stopPropagation(); // Stop propagation to prevent other interfering events from being triggered, e.g. Crosshair
134
+ this.hide();
135
+ });
136
+ });
137
+ });
138
+ }
139
+ destroy() {
140
+ var _a;
141
+ (_a = this.div) === null || _a === void 0 ? void 0 : _a.remove();
142
+ }
143
+ }
144
+ Tooltip.selectors = style;
145
+
146
+ export { Tooltip };
147
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/tooltip/index.ts"],"sourcesContent":["import { select, Selection, pointer } from 'd3-selection'\n\n// Core\nimport { ComponentCore } from 'core/component'\n\n// Types\nimport { Position } from 'types/position'\n\n// Utils\nimport { throttle } from 'utils/data'\n\n// Config\nimport { TooltipConfig, TooltipConfigInterface } from './config'\n\n// Style\nimport * as s from './style'\n\nexport class Tooltip {\n element: HTMLElement\n div: Selection<HTMLElement, unknown, null, undefined>\n config: TooltipConfig\n prevConfig: TooltipConfig\n components: ComponentCore<unknown>[]\n static selectors = s\n private _setUpEventsThrottled = throttle(this._setUpEvents, 500)\n private _setContainerPositionThrottled = throttle(this._setContainerPosition, 500)\n\n private _container: HTMLElement\n\n constructor (config: TooltipConfigInterface = {}) {\n this.config = new TooltipConfig().init(config)\n this.components = this.config.components\n\n this.element = document.createElement('div')\n this.div = select(this.element)\n .attr('class', s.tooltip)\n\n if (this.config.container) this.setContainer(this.config.container)\n }\n\n public setConfig (config: TooltipConfigInterface): void {\n this.prevConfig = this.config\n this.config = new TooltipConfig().init(config)\n }\n\n public setContainer (container: HTMLElement): void {\n this.element.parentNode?.removeChild(this.element)\n\n this._container = container\n this._container.appendChild(this.element)\n\n this._setContainerPositionThrottled()\n }\n\n public getContainer (): HTMLElement {\n return this._container\n }\n\n public hasContainer (): boolean {\n return !!this._container && this._container.isConnected\n }\n\n public setComponents (components: ComponentCore<unknown>[]): void {\n this.components = components\n }\n\n public update (): void {\n if (!this._container) return\n\n this._setUpEventsThrottled()\n }\n\n public show (html: string | HTMLElement, pos: { x: number; y: number }): void {\n if (html instanceof HTMLElement) {\n const node = this.div.select(':first-child').node()\n if (node !== html) this.div.html('').append(() => html)\n } else {\n this.div.html(html)\n }\n\n this.div.classed(s.show, true)\n this.place(pos)\n }\n\n public hide (): void {\n this.div.classed(s.show, false)\n }\n\n public place (pos: { x: number; y: number }): void {\n const { config } = this\n const isContainerBody = this.isContainerBody()\n const width = this.element.offsetWidth\n const height = this.element.offsetHeight\n const containerHeight = isContainerBody ? window.innerHeight : this._container.scrollHeight\n const containerWidth = isContainerBody ? window.innerWidth : this._container.scrollWidth\n\n const horizontalPlacement = config.horizontalPlacement === Position.Auto\n ? (pos.x > containerWidth / 2 ? Position.Left : Position.Right)\n : config.horizontalPlacement\n\n const verticalPlacement = config.verticalPlacement === Position.Auto\n ? (pos.y > containerHeight / 2 ? Position.Top : Position.Bottom)\n : config.verticalPlacement\n\n // dx and dy variables shift the tooltip from the default position (above the cursor, centred horizontally)\n const margin = 5\n const dx = horizontalPlacement === Position.Left ? -width - margin - config.horizontalShift\n : horizontalPlacement === Position.Center ? -width / 2\n : margin + config.horizontalShift\n const dy = verticalPlacement === Position.Bottom ? height + margin + config.verticalShift\n : verticalPlacement === Position.Center ? height / 2\n : -margin - config.verticalShift\n\n // Constraint to container\n const paddingX = 10\n const hitRight = pos.x > (containerWidth - width - dx - paddingX)\n const hitLeft = pos.x < -dx + paddingX\n const constraintX = hitRight ? (containerWidth - width - dx) - pos.x - paddingX\n : hitLeft ? -dx - pos.x + paddingX : 0\n\n const paddingY = 10\n const hitBottom = pos.y > (containerHeight - dy - paddingY)\n const hitTop = pos.y < (height - dy + paddingY)\n const constraintY = hitBottom ? containerHeight - dy - pos.y - paddingY\n : hitTop ? height - dy - pos.y + paddingY : 0\n\n // Placing\n // If the container size is smaller than the the tooltip size we just stick the tooltip to the top / left\n const x = containerWidth < width ? 0 : pos.x + constraintX + dx\n const y = containerHeight < height ? height : pos.y + constraintY + dy\n\n this.div\n .classed(s.positionFixed, isContainerBody)\n .style('top', isContainerBody ? `${y - height}px` : 'unset')\n .style('bottom', !isContainerBody ? `${containerHeight - y}px` : 'unset')\n .style('left', `${x}px`)\n }\n\n public isContainerBody (): boolean {\n return this._container === document.body\n }\n\n private _setContainerPosition (): void {\n // Tooltip position calculation relies on the parent position\n // If it's not set (static), we set it to `relative` (not a good practice)\n if (getComputedStyle(this._container)?.position === 'static') {\n this._container.style.position = 'relative'\n }\n }\n\n private _setUpEvents (): void {\n const { config: { triggers } } = this\n\n const isContainerBody = this.isContainerBody()\n Object.keys(triggers).forEach(className => {\n const template = triggers[className]\n this.components.forEach(component => {\n const selection = select(component.element).selectAll<HTMLElement | SVGGElement, unknown>(`.${className}`)\n selection\n .on('mousemove.tooltip', (e: MouseEvent, d: unknown) => {\n e.stopPropagation() // Stop propagation to prevent other interfering events from being triggered, e.g. Crosshair\n const [x, y] = isContainerBody ? [e.clientX, e.clientY] : pointer(e, this._container)\n const els = selection.nodes()\n const i = els.indexOf(e.currentTarget as any)\n const content = template(d, i, els)\n if (content) this.show(content, { x, y })\n else this.hide()\n })\n .on('mouseleave.tooltip', (e: MouseEvent) => {\n e.stopPropagation() // Stop propagation to prevent other interfering events from being triggered, e.g. Crosshair\n this.hide()\n })\n })\n })\n }\n\n public destroy (): void {\n this.div?.remove()\n }\n}\n"],"names":["s.tooltip","s.show","s.positionFixed","s"],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ import { css, injectGlobal } from '@emotion/css';
2
+
3
+ const root = css`
4
+ label: tooltip;
5
+ `;
6
+
7
+ const variables = injectGlobal`
8
+ :root {
9
+ --vis-tooltip-background-color: rgba(255, 255, 255, 0.95);
10
+ --vis-tooltip-border-color: #e5e9f7;
11
+ --vis-tooltip-text-color: #000;
12
+ --vis-tooltip-shadow-color: rgba(172, 179, 184, 0.35);
13
+ --vis-tooltip-backdrop-filter: none;
14
+ --vis-tooltip-padding: 10px 15px;
15
+
16
+ --vis-dark-tooltip-background-color: rgba(30,30,30, 0.95);
17
+ --vis-dark-tooltip-text-color: #e5e9f7;
18
+ --vis-dark-tooltip-border-color: var(--vis-color-gray);
19
+ --vis-dark-tooltip-shadow-color: rgba(0,0,0, 0.95);
20
+ }
21
+
22
+ body.theme-dark ${`.${root}`} {
23
+ --vis-tooltip-background-color: var(--vis-dark-tooltip-background-color);
24
+ --vis-tooltip-text-color: var(--vis-dark-tooltip-text-color);
25
+ --vis-tooltip-border-color: var(--vis-dark-tooltip-border-color);
26
+ --vis-tooltip-shadow-color: var(--vis-dark-tooltip-shadow-color);
27
+ }
28
+
29
+ body.theme-dark {
30
+ --vis-tooltip-background-color: rgba(30,30,30, 0.95);
31
+ --vis-tooltip-text-color: #e5e9f7;
32
+ --vis-tooltip-border-color: var(--vis-color-gray);
33
+ --vis-tooltip-shadow-color: rgba(0,0,0, 0.95);
34
+ }
35
+ `;
36
+
37
+ const tooltip = css`
38
+ label: tooltip;
39
+ display: inline-block;
40
+ left: 0;
41
+ bottom: 0;
42
+ min-width: max-content;
43
+ position: absolute;
44
+ pointer-events: none;
45
+ opacity: 0;
46
+ transition: opacity;
47
+ transition-duration: 300ms;
48
+ user-select: none;
49
+ z-index: 999999;
50
+ padding: var(--vis-tooltip-padding);
51
+ transform: translate(0, -5px);
52
+ color: var(--vis-tooltip-text-color);
53
+
54
+ /* object-fit: contain; */
55
+ border-radius: 5px;
56
+ box-shadow: 0 13px 25px 0 var(--vis-tooltip-box-shadow);
57
+ border: solid 1px var(--vis-tooltip-border-color);
58
+ background-color: var(--vis-tooltip-background-color);
59
+ backdrop-filter: var(--vis-tooltip-backdrop-filter);
60
+ `;
61
+
62
+ const positionFixed = css`
63
+ bottom: unset;
64
+ position: fixed;
65
+ `;
66
+
67
+ const show = css`
68
+ opacity: 1;
69
+ `;
70
+
71
+ export { positionFixed, root, show, tooltip, variables };
72
+ //# sourceMappingURL=style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.js","sources":["../../../src/components/tooltip/style.js"],"sourcesContent":["import { css, injectGlobal } from '@emotion/css'\n\nexport const root = css`\n label: tooltip;\n`\n\nexport const variables = injectGlobal`\n :root {\n --vis-tooltip-background-color: rgba(255, 255, 255, 0.95);\n --vis-tooltip-border-color: #e5e9f7;\n --vis-tooltip-text-color: #000;\n --vis-tooltip-shadow-color: rgba(172, 179, 184, 0.35);\n --vis-tooltip-backdrop-filter: none;\n --vis-tooltip-padding: 10px 15px;\n\n --vis-dark-tooltip-background-color: rgba(30,30,30, 0.95);\n --vis-dark-tooltip-text-color: #e5e9f7;\n --vis-dark-tooltip-border-color: var(--vis-color-gray);\n --vis-dark-tooltip-shadow-color: rgba(0,0,0, 0.95);\n }\n\n body.theme-dark ${`.${root}`} {\n --vis-tooltip-background-color: var(--vis-dark-tooltip-background-color);\n --vis-tooltip-text-color: var(--vis-dark-tooltip-text-color);\n --vis-tooltip-border-color: var(--vis-dark-tooltip-border-color);\n --vis-tooltip-shadow-color: var(--vis-dark-tooltip-shadow-color);\n }\n\n body.theme-dark {\n --vis-tooltip-background-color: rgba(30,30,30, 0.95);\n --vis-tooltip-text-color: #e5e9f7;\n --vis-tooltip-border-color: var(--vis-color-gray);\n --vis-tooltip-shadow-color: rgba(0,0,0, 0.95);\n }\n`\n\nexport const tooltip = css`\n label: tooltip;\n display: inline-block;\n left: 0;\n bottom: 0;\n min-width: max-content;\n position: absolute;\n pointer-events: none;\n opacity: 0;\n transition: opacity;\n transition-duration: 300ms;\n user-select: none;\n z-index: 999999;\n padding: var(--vis-tooltip-padding);\n transform: translate(0, -5px);\n color: var(--vis-tooltip-text-color);\n\n /* object-fit: contain; */\n border-radius: 5px;\n box-shadow: 0 13px 25px 0 var(--vis-tooltip-box-shadow);\n border: solid 1px var(--vis-tooltip-border-color);\n background-color: var(--vis-tooltip-background-color);\n backdrop-filter: var(--vis-tooltip-backdrop-filter);\n`\n\nexport const positionFixed = css`\n bottom: unset;\n position: fixed;\n`\n\nexport const show = css`\n opacity: 1;\n`\n"],"names":[],"mappings":";;AAEY,MAAC,IAAI,GAAG,GAAG,CAAC;AACxB;AACA,EAAC;AACD;AACY,MAAC,SAAS,GAAG,YAAY,CAAC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACY,MAAC,OAAO,GAAG,GAAG,CAAC;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACY,MAAC,aAAa,GAAG,GAAG,CAAC;AACjC;AACA;AACA,EAAC;AACD;AACY,MAAC,IAAI,GAAG,GAAG,CAAC;AACxB;AACA;;;;"}
@@ -0,0 +1,99 @@
1
+ import { GeoProjection } from 'd3-geo';
2
+ import { ComponentConfigInterface, ComponentConfig } from "../../core/component/config";
3
+ import { ColorAccessor, NumericAccessor, StringAccessor } from "../../types/accessor";
4
+ import { MapPointLabelPosition } from './types';
5
+ export interface TopoJSONMapConfigInterface<AreaDatum, PointDatum = unknown, LinkDatum = unknown> extends ComponentConfigInterface {
6
+ /** MapProjection (or D3's GeoProjection) instance. Default: `MapProjection.Mercator()` */
7
+ projection?: GeoProjection;
8
+ /** Map data in the TopoJSON topology format. Default: `undefined` */
9
+ topojson?: TopoJSON.Topology;
10
+ /** Name of the map features to be displayed, e.g. 'countries' or 'counties'. Default: `countries` */
11
+ mapFeatureName?: string;
12
+ /** Set initial map fit to points instead of topojson features. Default: `false` */
13
+ mapFitToPoints?: boolean;
14
+ /** Initial zoom level. Default: `undefined` */
15
+ zoomFactor?: number;
16
+ /** Disable pan / zoom interactions. Default: `false` */
17
+ disableZoom?: boolean;
18
+ /** Zoom extent. Default: `[1, 6]` */
19
+ zoomExtent?: number[];
20
+ /** Zoom animation duration. Default: `400` */
21
+ zoomDuration?: number;
22
+ /** Link width value or accessor function. Default: `d => d.width ?? 1` */
23
+ linkWidth?: NumericAccessor<LinkDatum>;
24
+ /** Link color value or accessor function. Default: `d => d.color ?? null` */
25
+ linkColor?: ColorAccessor<LinkDatum>;
26
+ /** Link cursor value or accessor function. Default: `null` */
27
+ linkCursor?: StringAccessor<AreaDatum>;
28
+ /** Link id accessor function. Default: `d => d.id` */
29
+ linkId?: StringAccessor<LinkDatum>;
30
+ /** Link source accessor function. Default: `d => d.source` */
31
+ linkSource?: ((l: LinkDatum) => number | string | PointDatum);
32
+ /** Link target accessor function. Default: `d => d.target` */
33
+ linkTarget?: ((l: LinkDatum) => number | string | PointDatum);
34
+ /** Area id accessor function corresponding to the feature id from TopoJSON. Default: `d => d.id ?? ''` */
35
+ areaId?: StringAccessor<AreaDatum>;
36
+ /** Area color value or accessor function. Default: `d => d.color ?? null` */
37
+ areaColor?: ColorAccessor<AreaDatum>;
38
+ /** Area cursor value or accessor function. Default: `null` */
39
+ areaCursor?: StringAccessor<AreaDatum>;
40
+ /** Point color accessor. Default: `d => d.color ?? null` */
41
+ pointColor?: ColorAccessor<PointDatum>;
42
+ /** Point radius accessor. Default: `d => d.radius ?? 8` */
43
+ pointRadius?: NumericAccessor<PointDatum>;
44
+ /** Point stroke width accessor. Default: `d => d.strokeWidth ?? null` */
45
+ pointStrokeWidth?: NumericAccessor<PointDatum>;
46
+ /** Point cursor constant value or accessor function. Default: `null` */
47
+ pointCursor?: StringAccessor<AreaDatum>;
48
+ /** Point longitude accessor function. Default: `d => d.longitude ?? null` */
49
+ longitude?: NumericAccessor<PointDatum>;
50
+ /** Point latitude accessor function. Default: `d => d.latitude ?? null` */
51
+ latitude?: NumericAccessor<PointDatum>;
52
+ /** Point label accessor function. Default: `undefined` */
53
+ pointLabel?: StringAccessor<PointDatum>;
54
+ /** Point label position. Default: `Position.Bottom` */
55
+ pointLabelPosition?: MapPointLabelPosition;
56
+ /** Point color brightness ratio for switching between dark and light text label color. Default: `0.65` */
57
+ pointLabelTextBrightnessRatio?: number;
58
+ /** Point id accessor function. Default: `d => d.id` */
59
+ pointId?: ((d: PointDatum, i: number) => string);
60
+ /** Enables blur and blending between neighbouring points. Default: `false` */
61
+ heatmapMode?: boolean;
62
+ /** Heatmap blur filter stdDeviation value. Default: `10` */
63
+ heatmapModeBlurStdDeviation?: number;
64
+ /** Zoom level at which the heatmap mode will be disabled. Default: `2.5` */
65
+ heatmapModeZoomLevelThreshold?: number;
66
+ }
67
+ export declare class TopoJSONMapConfig<AreaDatum, PointDatum = unknown, LinkDatum = unknown> extends ComponentConfig implements TopoJSONMapConfigInterface<AreaDatum, PointDatum, LinkDatum> {
68
+ projection: GeoProjection;
69
+ duration: number;
70
+ topojson: any;
71
+ mapFeatureName: string;
72
+ mapFitToPoints: boolean;
73
+ zoomExtent: number[];
74
+ zoomDuration: number;
75
+ disableZoom: boolean;
76
+ zoomFactor: any;
77
+ linkWidth: (d: LinkDatum) => number;
78
+ linkColor: (d: LinkDatum) => string;
79
+ linkCursor: any;
80
+ linkId: (d: LinkDatum, i: number) => string;
81
+ linkSource: (d: LinkDatum) => (number | string | PointDatum);
82
+ linkTarget: (d: LinkDatum) => (number | string | PointDatum);
83
+ areaId: (d: AreaDatum) => string;
84
+ areaColor: (d: AreaDatum) => string;
85
+ areaCursor: any;
86
+ longitude: (d: PointDatum) => number;
87
+ latitude: (d: PointDatum) => number;
88
+ pointColor: (d: PointDatum) => string;
89
+ pointRadius: (d: PointDatum) => number;
90
+ pointStrokeWidth: (d: PointDatum) => number;
91
+ pointCursor: any;
92
+ pointLabel: any;
93
+ pointLabelPosition: MapPointLabelPosition;
94
+ pointLabelTextBrightnessRatio: number;
95
+ pointId: (d: PointDatum) => string;
96
+ heatmapMode: boolean;
97
+ heatmapModeBlurStdDeviation: number;
98
+ heatmapModeZoomLevelThreshold: number;
99
+ }
@@ -0,0 +1,42 @@
1
+ import { ComponentConfig } from '../../core/component/config.js';
2
+ import { MapProjection, MapPointLabelPosition } from './types.js';
3
+
4
+ class TopoJSONMapConfig extends ComponentConfig {
5
+ constructor() {
6
+ super(...arguments);
7
+ this.projection = MapProjection.Mercator();
8
+ this.duration = 1500;
9
+ this.topojson = undefined;
10
+ this.mapFeatureName = 'countries';
11
+ this.mapFitToPoints = false;
12
+ this.zoomExtent = [1, 6];
13
+ this.zoomDuration = 400;
14
+ this.disableZoom = false;
15
+ this.zoomFactor = undefined;
16
+ this.linkWidth = (d) => { var _a; return (_a = d['width']) !== null && _a !== void 0 ? _a : 1; };
17
+ this.linkColor = (d) => { var _a; return (_a = d['color']) !== null && _a !== void 0 ? _a : null; };
18
+ this.linkCursor = null;
19
+ this.linkId = (d, i) => { var _a; return `${(_a = d['id']) !== null && _a !== void 0 ? _a : i}`; };
20
+ this.linkSource = (d) => d['source'];
21
+ this.linkTarget = (d) => d['target'];
22
+ this.areaId = (d) => { var _a; return (_a = d['id']) !== null && _a !== void 0 ? _a : ''; };
23
+ this.areaColor = (d) => { var _a; return (_a = d['color']) !== null && _a !== void 0 ? _a : null; };
24
+ this.areaCursor = null;
25
+ this.longitude = (d) => d['longitude'];
26
+ this.latitude = (d) => d['latitude'];
27
+ this.pointColor = (d) => { var _a; return (_a = d['color']) !== null && _a !== void 0 ? _a : null; };
28
+ this.pointRadius = (d) => { var _a; return (_a = d['radius']) !== null && _a !== void 0 ? _a : 8; };
29
+ this.pointStrokeWidth = (d) => { var _a; return (_a = d['strokeWidth']) !== null && _a !== void 0 ? _a : 0; };
30
+ this.pointCursor = null;
31
+ this.pointLabel = undefined;
32
+ this.pointLabelPosition = MapPointLabelPosition.Bottom;
33
+ this.pointLabelTextBrightnessRatio = 0.65;
34
+ this.pointId = (d) => d['id'];
35
+ this.heatmapMode = false;
36
+ this.heatmapModeBlurStdDeviation = 8;
37
+ this.heatmapModeZoomLevelThreshold = 2.5;
38
+ }
39
+ }
40
+
41
+ export { TopoJSONMapConfig };
42
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sources":["../../../src/components/topojson-map/config.ts"],"sourcesContent":["/* eslint-disable dot-notation */\nimport { GeoProjection } from 'd3-geo'\nimport { ComponentConfigInterface, ComponentConfig } from 'core/component/config'\n\n// Types\nimport { ColorAccessor, NumericAccessor, StringAccessor } from 'types/accessor'\n\n// Local Types\nimport { MapProjection, MapPointLabelPosition } from './types'\n\nexport interface TopoJSONMapConfigInterface<AreaDatum, PointDatum = unknown, LinkDatum = unknown> extends ComponentConfigInterface {\n // General\n /** MapProjection (or D3's GeoProjection) instance. Default: `MapProjection.Mercator()` */\n projection?: GeoProjection;\n /** Map data in the TopoJSON topology format. Default: `undefined` */\n topojson?: TopoJSON.Topology; // TopoJSON typings have troubles with being bundled so we're temporary disabling them\n /** Name of the map features to be displayed, e.g. 'countries' or 'counties'. Default: `countries` */\n mapFeatureName?: string;\n /** Set initial map fit to points instead of topojson features. Default: `false` */\n mapFitToPoints?: boolean;\n /** Initial zoom level. Default: `undefined` */\n zoomFactor?: number;\n /** Disable pan / zoom interactions. Default: `false` */\n disableZoom?: boolean;\n /** Zoom extent. Default: `[1, 6]` */\n zoomExtent?: number[];\n /** Zoom animation duration. Default: `400` */\n zoomDuration?: number;\n\n /** Link width value or accessor function. Default: `d => d.width ?? 1` */\n linkWidth?: NumericAccessor<LinkDatum>;\n /** Link color value or accessor function. Default: `d => d.color ?? null` */\n linkColor?: ColorAccessor<LinkDatum>;\n /** Link cursor value or accessor function. Default: `null` */\n linkCursor?: StringAccessor<AreaDatum>;\n /** Link id accessor function. Default: `d => d.id` */\n linkId?: StringAccessor<LinkDatum>;\n /** Link source accessor function. Default: `d => d.source` */\n linkSource?: ((l: LinkDatum) => number | string | PointDatum);\n /** Link target accessor function. Default: `d => d.target` */\n linkTarget?: ((l: LinkDatum) => number | string | PointDatum);\n\n /** Area id accessor function corresponding to the feature id from TopoJSON. Default: `d => d.id ?? ''` */\n areaId?: StringAccessor<AreaDatum>;\n /** Area color value or accessor function. Default: `d => d.color ?? null` */\n areaColor?: ColorAccessor<AreaDatum>;\n /** Area cursor value or accessor function. Default: `null` */\n areaCursor?: StringAccessor<AreaDatum>;\n\n /** Point color accessor. Default: `d => d.color ?? null` */\n pointColor?: ColorAccessor<PointDatum>;\n /** Point radius accessor. Default: `d => d.radius ?? 8` */\n pointRadius?: NumericAccessor<PointDatum>;\n /** Point stroke width accessor. Default: `d => d.strokeWidth ?? null` */\n pointStrokeWidth?: NumericAccessor<PointDatum>;\n /** Point cursor constant value or accessor function. Default: `null` */\n pointCursor?: StringAccessor<AreaDatum>;\n /** Point longitude accessor function. Default: `d => d.longitude ?? null` */\n longitude?: NumericAccessor<PointDatum>;\n /** Point latitude accessor function. Default: `d => d.latitude ?? null` */\n latitude?: NumericAccessor<PointDatum>;\n /** Point label accessor function. Default: `undefined` */\n pointLabel?: StringAccessor<PointDatum>;\n /** Point label position. Default: `Position.Bottom` */\n pointLabelPosition?: MapPointLabelPosition;\n /** Point color brightness ratio for switching between dark and light text label color. Default: `0.65` */\n pointLabelTextBrightnessRatio?: number;\n /** Point id accessor function. Default: `d => d.id` */\n pointId?: ((d: PointDatum, i: number) => string);\n\n /** Enables blur and blending between neighbouring points. Default: `false` */\n heatmapMode?: boolean;\n /** Heatmap blur filter stdDeviation value. Default: `10` */\n heatmapModeBlurStdDeviation?: number;\n /** Zoom level at which the heatmap mode will be disabled. Default: `2.5` */\n heatmapModeZoomLevelThreshold?: number;\n}\n\nexport class TopoJSONMapConfig<AreaDatum, PointDatum = unknown, LinkDatum = unknown> extends ComponentConfig implements TopoJSONMapConfigInterface<AreaDatum, PointDatum, LinkDatum> {\n projection = MapProjection.Mercator()\n duration = 1500\n topojson = undefined\n mapFeatureName = 'countries'\n mapFitToPoints = false\n\n zoomExtent = [1, 6]\n zoomDuration = 400\n disableZoom = false\n zoomFactor = undefined\n\n linkWidth = (d: LinkDatum): number => d['width'] ?? 1\n linkColor = (d: LinkDatum): string => d['color'] ?? null\n linkCursor = null\n linkId = (d: LinkDatum, i: number): string => `${d['id'] ?? i}`\n linkSource = (d: LinkDatum): (number | string | PointDatum) => d['source']\n linkTarget = (d: LinkDatum): (number | string | PointDatum) => d['target']\n\n areaId = (d: AreaDatum): string => d['id'] ?? ''\n areaColor = (d: AreaDatum): string => d['color'] ?? null\n areaCursor = null\n\n longitude = (d: PointDatum): number => d['longitude']\n latitude = (d: PointDatum): number => d['latitude']\n pointColor = (d: PointDatum): string => d['color'] ?? null\n pointRadius = (d: PointDatum): number => d['radius'] ?? 8\n pointStrokeWidth = (d: PointDatum): number => d['strokeWidth'] ?? 0\n pointCursor = null\n pointLabel = undefined\n pointLabelPosition = MapPointLabelPosition.Bottom\n pointLabelTextBrightnessRatio = 0.65\n pointId = (d: PointDatum): string => d['id']\n\n heatmapMode = false\n heatmapModeBlurStdDeviation = 8\n heatmapModeZoomLevelThreshold = 2.5\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ import { Selection } from 'd3-selection';
2
+ import { D3ZoomEvent, ZoomTransform } from 'd3-zoom';
3
+ import { ComponentCore } from "../../core/component";
4
+ import { MapGraphDataModel } from "../../data-models/map-graph";
5
+ import { MapData } from './types';
6
+ import { TopoJSONMapConfig, TopoJSONMapConfigInterface } from './config';
7
+ import * as s from './style';
8
+ export declare class TopoJSONMap<AreaDatum, PointDatum = unknown, LinkDatum = unknown> extends ComponentCore<MapData<AreaDatum, PointDatum, LinkDatum>> {
9
+ static selectors: typeof s;
10
+ config: TopoJSONMapConfig<AreaDatum, PointDatum, LinkDatum>;
11
+ datamodel: MapGraphDataModel<AreaDatum, PointDatum, LinkDatum>;
12
+ g: Selection<SVGGElement, unknown, null, undefined>;
13
+ private _firstRender;
14
+ private _isResizing;
15
+ private _initialScale;
16
+ private _center;
17
+ private _currentZoomLevel;
18
+ private _transform;
19
+ private _path;
20
+ private _projection;
21
+ private _prevWidth;
22
+ private _prevHeight;
23
+ private _animFrameId;
24
+ private _featureCollection;
25
+ private _zoomBehavior;
26
+ private _backgroundRect;
27
+ private _featuresGroup;
28
+ private _linksGroup;
29
+ private _pointsGroup;
30
+ events: {
31
+ [x: string]: {};
32
+ };
33
+ constructor(config?: TopoJSONMapConfigInterface<AreaDatum, PointDatum, LinkDatum>, data?: MapData<AreaDatum, PointDatum, LinkDatum>);
34
+ setData(data: MapData<AreaDatum, PointDatum, LinkDatum>): void;
35
+ setConfig(config?: TopoJSONMapConfigInterface<AreaDatum, PointDatum, LinkDatum>): void;
36
+ _render(customDuration?: number): void;
37
+ _renderBackground(): void;
38
+ _renderGroups(duration: number): void;
39
+ _renderMap(duration: number): void;
40
+ _renderLinks(duration: number): void;
41
+ _renderPoints(duration: number): void;
42
+ _fitToPoints(points?: any, pad?: number): void;
43
+ _applyZoom(): void;
44
+ _onResize(): void;
45
+ _onZoom(event: D3ZoomEvent<any, any>): void;
46
+ _onZoomHandler(transform: ZoomTransform, isMouseEvent: boolean, isExternalEvent: boolean): void;
47
+ zoomIn(increment?: number): void;
48
+ zoomOut(increment?: number): void;
49
+ setZoom(zoomLevel: number): void;
50
+ fitView(): void;
51
+ destroy(): void;
52
+ }