@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,38 @@
1
+ export declare enum TrimMode {
2
+ Start = "start",
3
+ Middle = "middle",
4
+ End = "end"
5
+ }
6
+ export declare enum VerticalAlign {
7
+ Top = "top",
8
+ Middle = "middle",
9
+ Bottom = "bottom"
10
+ }
11
+ export declare enum FitMode {
12
+ Wrap = "wrap",
13
+ Trim = "trim"
14
+ }
15
+ export declare enum WrapMode {
16
+ FontSize = "fontsize",
17
+ DOM = "dom"
18
+ }
19
+ export declare enum TextAlign {
20
+ Left = "left",
21
+ Center = "center",
22
+ Right = "right"
23
+ }
24
+ export declare type WrapTextOptions = {
25
+ readonly length?: number;
26
+ readonly width?: number | undefined;
27
+ readonly separator?: string | string[];
28
+ readonly trimType?: TrimMode;
29
+ readonly verticalAlign?: VerticalAlign;
30
+ readonly wordBreak?: boolean;
31
+ readonly trimOnly?: boolean;
32
+ readonly dy?: number;
33
+ readonly fitMode?: FitMode;
34
+ readonly wrapMode?: WrapMode;
35
+ readonly maxStrLen?: number;
36
+ readonly fontSize?: number;
37
+ readonly widthToHeightRatio?: number;
38
+ };
package/types/text.js ADDED
@@ -0,0 +1,31 @@
1
+ var TrimMode;
2
+ (function (TrimMode) {
3
+ TrimMode["Start"] = "start";
4
+ TrimMode["Middle"] = "middle";
5
+ TrimMode["End"] = "end";
6
+ })(TrimMode || (TrimMode = {}));
7
+ var VerticalAlign;
8
+ (function (VerticalAlign) {
9
+ VerticalAlign["Top"] = "top";
10
+ VerticalAlign["Middle"] = "middle";
11
+ VerticalAlign["Bottom"] = "bottom";
12
+ })(VerticalAlign || (VerticalAlign = {}));
13
+ var FitMode;
14
+ (function (FitMode) {
15
+ FitMode["Wrap"] = "wrap";
16
+ FitMode["Trim"] = "trim";
17
+ })(FitMode || (FitMode = {}));
18
+ var WrapMode;
19
+ (function (WrapMode) {
20
+ WrapMode["FontSize"] = "fontsize";
21
+ WrapMode["DOM"] = "dom";
22
+ })(WrapMode || (WrapMode = {}));
23
+ var TextAlign;
24
+ (function (TextAlign) {
25
+ TextAlign["Left"] = "left";
26
+ TextAlign["Center"] = "center";
27
+ TextAlign["Right"] = "right";
28
+ })(TextAlign || (TextAlign = {}));
29
+
30
+ export { FitMode, TextAlign, TrimMode, VerticalAlign, WrapMode };
31
+ //# sourceMappingURL=text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.js","sources":["../../src/types/text.ts"],"sourcesContent":["export enum TrimMode {\n Start = 'start',\n Middle = 'middle',\n End = 'end',\n}\n\nexport enum VerticalAlign {\n Top = 'top',\n Middle = 'middle',\n Bottom = 'bottom',\n}\n\nexport enum FitMode {\n Wrap = 'wrap',\n Trim = 'trim',\n}\n\nexport enum WrapMode {\n FontSize = 'fontsize',\n DOM = 'dom',\n}\n\nexport enum TextAlign {\n Left = 'left',\n Center = 'center',\n Right = 'right',\n}\n\nexport type WrapTextOptions = {\n readonly length?: number;\n readonly width?: number | undefined;\n readonly separator?: string | string[];\n readonly trimType?: TrimMode;\n readonly verticalAlign?: VerticalAlign;\n readonly wordBreak?: boolean;\n readonly trimOnly?: boolean;\n readonly dy?: number;\n readonly fitMode?: FitMode;\n readonly wrapMode?: WrapMode;\n readonly maxStrLen?: number;\n readonly fontSize?: number;\n readonly widthToHeightRatio?: number;\n}\n"],"names":[],"mappings":"IAAY,SAIX;AAJD,CAAA,UAAY,QAAQ,EAAA;AAClB,IAAA,QAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,QAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACb,CAAC,EAJW,QAAQ,KAAR,QAAQ,GAInB,EAAA,CAAA,CAAA,CAAA;IAEW,cAIX;AAJD,CAAA,UAAY,aAAa,EAAA;AACvB,IAAA,aAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,aAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,aAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACnB,CAAC,EAJW,aAAa,KAAb,aAAa,GAIxB,EAAA,CAAA,CAAA,CAAA;IAEW,QAGX;AAHD,CAAA,UAAY,OAAO,EAAA;AACjB,IAAA,OAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,OAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACf,CAAC,EAHW,OAAO,KAAP,OAAO,GAGlB,EAAA,CAAA,CAAA,CAAA;IAEW,SAGX;AAHD,CAAA,UAAY,QAAQ,EAAA;AAClB,IAAA,QAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,QAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACb,CAAC,EAHW,QAAQ,KAAR,QAAQ,GAGnB,EAAA,CAAA,CAAA,CAAA;IAEW,UAIX;AAJD,CAAA,UAAY,SAAS,EAAA;AACnB,IAAA,SAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,SAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,SAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACjB,CAAC,EAJW,SAAS,KAAT,SAAS,GAIpB,EAAA,CAAA,CAAA;;;;"}
package/types.d.ts ADDED
@@ -0,0 +1,28 @@
1
+ export { NumericAccessor, StringAccessor, ColorAccessor, BooleanAccessor, GenericAccessor } from "./types/accessor";
2
+ export { CurveType } from "./types/curve";
3
+ export { SymbolType } from "./types/symbol";
4
+ export { Scale } from "./types/scale";
5
+ export { Position, PositionStrategy, Arrangement, Orientation } from "./types/position";
6
+ export { Shape } from "./types/shape";
7
+ export { Sizing } from "./types/component";
8
+ export { TrimMode, VerticalAlign, FitMode, TextAlign } from "./types/text";
9
+ export { ContinuousScale } from "./types/scale";
10
+ export { MapLink } from "./types/map";
11
+ export { Spacing } from "./types/spacing";
12
+ export { GraphInputNode, GraphInputLink, GraphNodeCore, GraphLinkCore } from "./types/graph";
13
+ export { GenericDataRecord } from "./types/data";
14
+ export { Direction } from "./types/direction";
15
+ export { VisEventType, VisEventCallback } from "./core/component/types";
16
+ export { CrosshairCircle } from "./components/crosshair/types";
17
+ export { AxisType } from "./components/axis/types";
18
+ export { ChordInputNode, ChordInputLink, ChordHierarchy, ChordNodeState, ChordNode, ChordLeafNode, ChordRibbonPoint, ChordRibbon, ChordLabelAlignment } from "./components/chord-diagram/types";
19
+ export { MapProjection, MapProjectionKind, MapFeature, MapPointLabelPosition, MapData } from "./components/topojson-map/types";
20
+ export { Hierarchy } from "./components/radial-dendrogram/types";
21
+ export { Bounds, MapZoomState, LeafletMapPoint, LeafletMapPointDatum, LeafletMapClusterDatum, LeafletMapPointStyles, LeafletMapPointStyle, LeafletMapPointShape } from "./components/leaflet-map/types";
22
+ export { MapLibreStyleSpecs } from "./components/leaflet-map/renderer/map-style";
23
+ export { GraphLayoutType, GraphLinkStyle, GraphLinkArrowStyle, GraphNode, GraphLink, GraphCircleLabel, GraphPanelConfig, GraphNodeShape, GraphForceLayoutSettings } from "./components/graph/types";
24
+ export { SankeyInputNode, SankeyInputLink, SankeyNode, SankeyLink, SankeyNodeAlign, SankeySubLabelPlacement, SankeyEnterTransitionType, SankeyExitTransitionType } from "./components/sankey/types";
25
+ export { VisControlItemInterface, VisControlsOrientation } from "./components/vis-controls/types";
26
+ export { FreeBrushMode, FreeBrushSelection } from "./components/free-brush/types";
27
+ export { BulletLegendItemInterface } from "./components/bullet-legend/types";
28
+ export { XYLabel, XYLabelCluster, XYLabelPositioning } from "./components/xy-labels/types";
@@ -0,0 +1,9 @@
1
+ import { ColorAccessor } from "../types/accessor";
2
+ /** Retrieves color from the data if provided, fallbacks to CSS variables if the index was passed */
3
+ export declare function getColor<T>(d: T, accessor: ColorAccessor<T>, index?: number, dontFallbackToCssVar?: boolean): string;
4
+ export declare function hexToRgb(hex: string): {
5
+ r: number;
6
+ g: number;
7
+ b: number;
8
+ };
9
+ export declare function hexToBrightness(hex: string): number;
package/utils/color.js ADDED
@@ -0,0 +1,26 @@
1
+ import { getCSSColorVariable } from '../styles/colors.js';
2
+ import { getString, isNumber } from './data.js';
3
+
4
+ // Core
5
+ /** Retrieves color from the data if provided, fallbacks to CSS variables if the index was passed */
6
+ function getColor(d, accessor, index, dontFallbackToCssVar) {
7
+ if (Array.isArray(accessor) && isFinite(index))
8
+ return accessor[index % accessor.length];
9
+ const value = getString(d, accessor, index);
10
+ return (value || ((isNumber(index) && !dontFallbackToCssVar) ? `var(${getCSSColorVariable(index)})` : null));
11
+ }
12
+ function hexToRgb(hex) {
13
+ const parsed = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
14
+ return parsed ? {
15
+ r: parseInt(parsed[1], 16),
16
+ g: parseInt(parsed[2], 16),
17
+ b: parseInt(parsed[3], 16),
18
+ } : { r: 0, g: 0, b: 0 };
19
+ }
20
+ function hexToBrightness(hex) {
21
+ const rgb = hexToRgb(hex);
22
+ return (0.2126 * rgb.r + 0.7152 * rgb.g + 0.0722 * rgb.b) / 255;
23
+ }
24
+
25
+ export { getColor, hexToBrightness, hexToRgb };
26
+ //# sourceMappingURL=color.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color.js","sources":["../../src/utils/color.ts"],"sourcesContent":["// Core\nimport { getCSSColorVariable } from 'styles/colors'\n\n// Utils\nimport { getString, isNumber } from 'utils/data'\nimport { ColorAccessor, StringAccessor } from 'types/accessor'\n\n/** Retrieves color from the data if provided, fallbacks to CSS variables if the index was passed */\nexport function getColor<T> (d: T, accessor: ColorAccessor<T>, index?: number, dontFallbackToCssVar?: boolean): string {\n if (Array.isArray(accessor) && isFinite(index)) return accessor[index % accessor.length]\n\n const value = getString(d, accessor as StringAccessor<T>, index)\n return (value || ((isNumber(index) && !dontFallbackToCssVar) ? `var(${getCSSColorVariable(index)})` : null)) as string\n}\n\nexport function hexToRgb (hex: string): { r: number; g: number; b: number } {\n const parsed = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex)\n return parsed ? {\n r: parseInt(parsed[1], 16),\n g: parseInt(parsed[2], 16),\n b: parseInt(parsed[3], 16),\n } : { r: 0, g: 0, b: 0 }\n}\n\nexport function hexToBrightness (hex: string): number {\n const rgb = hexToRgb(hex)\n return (0.2126 * rgb.r + 0.7152 * rgb.g + 0.0722 * rgb.b) / 255\n}\n"],"names":[],"mappings":";;;AAAA;AAOA;AACM,SAAU,QAAQ,CAAK,CAAI,EAAE,QAA0B,EAAE,KAAc,EAAE,oBAA8B,EAAA;IAC3G,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;IAExF,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,EAAE,QAA6B,EAAE,KAAK,CAAC,CAAA;AAChE,IAAA,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAO,IAAA,EAAA,mBAAmB,CAAC,KAAK,CAAC,CAAA,CAAA,CAAG,GAAG,IAAI,CAAC,EAAW;AACxH,CAAC;AAEK,SAAU,QAAQ,CAAE,GAAW,EAAA;IACnC,MAAM,MAAM,GAAG,2CAA2C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACpE,OAAO,MAAM,GAAG;QACd,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC1B,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC1B,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC3B,KAAA,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;AAC1B,CAAC;AAEK,SAAU,eAAe,CAAE,GAAW,EAAA;AAC1C,IAAA,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;IACzB,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,GAAG,CAAA;AACjE;;;;"}
package/utils/d3.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ import { Transition } from 'd3-transition';
2
+ import { BaseType, Selection } from 'd3-selection';
3
+ export declare function smartTransition<Element extends BaseType, Datum, ParentElement extends BaseType, ParentDatum>(selection: Selection<Element, Datum, ParentElement, ParentDatum>, duration?: number, easing?: (normalizedTime: number) => number): Selection<Element, Datum, ParentElement, ParentDatum> | Transition<Element, Datum, ParentElement, ParentDatum>;
package/utils/d3.js ADDED
@@ -0,0 +1,16 @@
1
+ import { interrupt } from 'd3-transition';
2
+
3
+ function smartTransition(selection, duration, easing) {
4
+ selection.nodes().forEach(node => interrupt(node)); // Interrupt active transitions if any
5
+ if (duration) {
6
+ const transition = selection.transition().duration(duration);
7
+ if (easing)
8
+ transition.ease(easing);
9
+ return transition;
10
+ }
11
+ else
12
+ return selection;
13
+ }
14
+
15
+ export { smartTransition };
16
+ //# sourceMappingURL=d3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"d3.js","sources":["../../src/utils/d3.ts"],"sourcesContent":["import { interrupt, Transition } from 'd3-transition'\nimport { BaseType, Selection } from 'd3-selection'\n\nexport function smartTransition<Element extends BaseType, Datum, ParentElement extends BaseType, ParentDatum> (\n selection: Selection<Element, Datum, ParentElement, ParentDatum>,\n duration?: number,\n easing?: (normalizedTime: number) => number\n): Selection<Element, Datum, ParentElement, ParentDatum> | Transition<Element, Datum, ParentElement, ParentDatum> {\n selection.nodes().forEach(node => interrupt(node)) // Interrupt active transitions if any\n if (duration) {\n const transition = selection.transition().duration(duration)\n if (easing) transition.ease(easing)\n return transition\n } else return selection\n}\n"],"names":[],"mappings":";;SAGgB,eAAe,CAC7B,SAAgE,EAChE,QAAiB,EACjB,MAA2C,EAAA;AAE3C,IAAA,SAAS,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;AAClD,IAAA,IAAI,QAAQ,EAAE;QACZ,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;AAC5D,QAAA,IAAI,MAAM;AAAE,YAAA,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AACnC,QAAA,OAAO,UAAU,CAAA;AAClB,KAAA;;AAAM,QAAA,OAAO,SAAS,CAAA;AACzB;;;;"}
@@ -0,0 +1,123 @@
1
+ /// <reference types="lodash" />
2
+ import { NumericAccessor, StringAccessor, BooleanAccessor, ColorAccessor, GenericAccessor } from "../types/accessor";
3
+ import { StackValuesRecord } from "../types/data";
4
+ export declare const isNumber: (value?: any) => value is number;
5
+ export declare const isEqual: (value: any, other: any) => boolean;
6
+ export declare const isFunction: (value: any) => value is (...args: any[]) => any;
7
+ export declare const merge: {
8
+ <TObject, TSource>(object: TObject, source: TSource): TObject & TSource;
9
+ <TObject_1, TSource1, TSource2>(object: TObject_1, source1: TSource1, source2: TSource2): TObject_1 & TSource1 & TSource2;
10
+ <TObject_2, TSource1_1, TSource2_1, TSource3>(object: TObject_2, source1: TSource1_1, source2: TSource2_1, source3: TSource3): TObject_2 & TSource1_1 & TSource2_1 & TSource3;
11
+ <TObject_3, TSource1_2, TSource2_2, TSource3_1, TSource4>(object: TObject_3, source1: TSource1_2, source2: TSource2_2, source3: TSource3_1, source4: TSource4): TObject_3 & TSource1_2 & TSource2_2 & TSource3_1 & TSource4;
12
+ (object: any, ...otherArgs: any[]): any;
13
+ };
14
+ export declare const isPlainObject: (value?: any) => boolean;
15
+ export declare const isUndefined: (value: any) => value is undefined;
16
+ export declare const isArray: {
17
+ (value?: any): value is any[];
18
+ <T>(value?: any): value is any[];
19
+ };
20
+ export declare const isEmpty: {
21
+ <T extends {
22
+ __trapAny: any;
23
+ }>(value?: T): boolean;
24
+ (value: string): value is "";
25
+ (value: Set<any> | Map<any, any> | import("lodash").List<any>): boolean;
26
+ <T_1 extends object>(value: T_1): value is import("lodash").EmptyObjectOf<T_1>;
27
+ (value?: any): boolean;
28
+ };
29
+ export declare const isNil: (value: any) => value is null;
30
+ export declare const cloneDeep: <T>(value: T) => T;
31
+ export declare const each: {
32
+ <T>(collection: T[], iteratee?: import("lodash").ArrayIterator<T, any>): T[];
33
+ (collection: string, iteratee?: import("lodash").StringIterator<any>): string;
34
+ <T_1>(collection: import("lodash").List<T_1>, iteratee?: import("lodash").ListIterator<T_1, any>): import("lodash").List<T_1>;
35
+ <T_2 extends object>(collection: T_2, iteratee?: import("lodash").ObjectIterator<T_2, any>): T_2;
36
+ <T_3, TArray extends T_3[]>(collection: TArray & T_3[], iteratee?: import("lodash").ArrayIterator<T_3, any>): TArray;
37
+ <TString extends string>(collection: TString, iteratee?: import("lodash").StringIterator<any>): TString;
38
+ <T_4, TList extends import("lodash").List<T_4>>(collection: TList & import("lodash").List<T_4>, iteratee?: import("lodash").ListIterator<T_4, any>): TList;
39
+ <T_5 extends object>(collection: T_5, iteratee?: import("lodash").ObjectIterator<T_5, any>): T_5;
40
+ };
41
+ export declare const filter: {
42
+ (collection: string, predicate?: import("lodash").StringIterator<boolean>): string[];
43
+ <T, S extends T>(collection: import("lodash").List<T>, predicate: import("lodash").ListIteratorTypeGuard<T, S>): S[];
44
+ <T_1>(collection: import("lodash").List<T_1>, predicate?: import("lodash").ListIterateeCustom<T_1, boolean>): T_1[];
45
+ <T_2 extends object, S_1 extends T_2[keyof T_2]>(collection: T_2, predicate: import("lodash").ObjectIteratorTypeGuard<T_2, S_1>): S_1[];
46
+ <T_3 extends object>(collection: T_3, predicate?: import("lodash").ObjectIterateeCustom<T_3, boolean>): T_3[keyof T_3][];
47
+ };
48
+ export declare const get: {
49
+ <TObject extends object, TKey extends keyof TObject>(object: TObject, path: TKey | [TKey]): TObject[TKey];
50
+ <TObject_1 extends object, TKey_1 extends keyof TObject_1>(object: TObject_1, path: TKey_1 | [TKey_1]): TObject_1[TKey_1];
51
+ <TObject_2 extends object, TKey_2 extends keyof TObject_2, TDefault>(object: TObject_2, path: TKey_2 | [TKey_2], defaultValue: TDefault): TDefault | Exclude<TObject_2[TKey_2], undefined>;
52
+ <TObject_3 extends object, TKey1 extends keyof TObject_3, TKey2 extends keyof TObject_3[TKey1]>(object: TObject_3, path: [TKey1, TKey2]): TObject_3[TKey1][TKey2];
53
+ <TObject_4 extends object, TKey1_1 extends keyof TObject_4, TKey2_1 extends keyof TObject_4[TKey1_1]>(object: TObject_4, path: [TKey1_1, TKey2_1]): TObject_4[TKey1_1][TKey2_1];
54
+ <TObject_5 extends object, TKey1_2 extends keyof TObject_5, TKey2_2 extends keyof TObject_5[TKey1_2], TDefault_1>(object: TObject_5, path: [TKey1_2, TKey2_2], defaultValue: TDefault_1): TDefault_1 | Exclude<TObject_5[TKey1_2][TKey2_2], undefined>;
55
+ <TObject_6 extends object, TKey1_3 extends keyof TObject_6, TKey2_3 extends keyof TObject_6[TKey1_3], TKey3 extends keyof TObject_6[TKey1_3][TKey2_3]>(object: TObject_6, path: [TKey1_3, TKey2_3, TKey3]): TObject_6[TKey1_3][TKey2_3][TKey3];
56
+ <TObject_7 extends object, TKey1_4 extends keyof TObject_7, TKey2_4 extends keyof TObject_7[TKey1_4], TKey3_1 extends keyof TObject_7[TKey1_4][TKey2_4]>(object: TObject_7, path: [TKey1_4, TKey2_4, TKey3_1]): TObject_7[TKey1_4][TKey2_4][TKey3_1];
57
+ <TObject_8 extends object, TKey1_5 extends keyof TObject_8, TKey2_5 extends keyof TObject_8[TKey1_5], TKey3_2 extends keyof TObject_8[TKey1_5][TKey2_5], TDefault_2>(object: TObject_8, path: [TKey1_5, TKey2_5, TKey3_2], defaultValue: TDefault_2): TDefault_2 | Exclude<TObject_8[TKey1_5][TKey2_5][TKey3_2], undefined>;
58
+ <TObject_9 extends object, TKey1_6 extends keyof TObject_9, TKey2_6 extends keyof TObject_9[TKey1_6], TKey3_3 extends keyof TObject_9[TKey1_6][TKey2_6], TKey4 extends keyof TObject_9[TKey1_6][TKey2_6][TKey3_3]>(object: TObject_9, path: [TKey1_6, TKey2_6, TKey3_3, TKey4]): TObject_9[TKey1_6][TKey2_6][TKey3_3][TKey4];
59
+ <TObject_10 extends object, TKey1_7 extends keyof TObject_10, TKey2_7 extends keyof TObject_10[TKey1_7], TKey3_4 extends keyof TObject_10[TKey1_7][TKey2_7], TKey4_1 extends keyof TObject_10[TKey1_7][TKey2_7][TKey3_4]>(object: TObject_10, path: [TKey1_7, TKey2_7, TKey3_4, TKey4_1]): TObject_10[TKey1_7][TKey2_7][TKey3_4][TKey4_1];
60
+ <TObject_11 extends object, TKey1_8 extends keyof TObject_11, TKey2_8 extends keyof TObject_11[TKey1_8], TKey3_5 extends keyof TObject_11[TKey1_8][TKey2_8], TKey4_2 extends keyof TObject_11[TKey1_8][TKey2_8][TKey3_5], TDefault_3>(object: TObject_11, path: [TKey1_8, TKey2_8, TKey3_5, TKey4_2], defaultValue: TDefault_3): TDefault_3 | Exclude<TObject_11[TKey1_8][TKey2_8][TKey3_5][TKey4_2], undefined>;
61
+ <T>(object: import("lodash").NumericDictionary<T>, path: number): T;
62
+ <T_1>(object: import("lodash").NumericDictionary<T_1>, path: number): T_1;
63
+ <T_2, TDefault_4>(object: import("lodash").NumericDictionary<T_2>, path: number, defaultValue: TDefault_4): T_2 | TDefault_4;
64
+ <TDefault_5>(object: null, path: import("lodash").PropertyPath, defaultValue: TDefault_5): TDefault_5;
65
+ (object: null, path: import("lodash").PropertyPath): undefined;
66
+ (object: any, path: import("lodash").PropertyPath, defaultValue?: any): any;
67
+ };
68
+ export declare const without: <T>(array: import("lodash").List<T>, ...values: T[]) => T[];
69
+ export declare const find: {
70
+ <T, S extends T>(collection: import("lodash").List<T>, predicate: import("lodash").ListIteratorTypeGuard<T, S>, fromIndex?: number): S;
71
+ <T_1>(collection: import("lodash").List<T_1>, predicate?: import("lodash").ListIterateeCustom<T_1, boolean>, fromIndex?: number): T_1;
72
+ <T_2 extends object, S_1 extends T_2[keyof T_2]>(collection: T_2, predicate: import("lodash").ObjectIteratorTypeGuard<T_2, S_1>, fromIndex?: number): S_1;
73
+ <T_3 extends object>(collection: T_3, predicate?: import("lodash").ObjectIterateeCustom<T_3, boolean>, fromIndex?: number): T_3[keyof T_3];
74
+ };
75
+ export declare const findIndex: <T>(array: import("lodash").List<T>, predicate?: import("lodash").ListIterateeCustom<T, boolean>, fromIndex?: number) => number;
76
+ export declare const isString: (value?: any) => value is string;
77
+ export declare const isObject: (value?: any) => value is object;
78
+ export declare const throttle: <T extends (...args: any) => any>(func: T, wait?: number, options?: import("lodash").ThrottleSettings) => import("lodash").DebouncedFunc<T>;
79
+ export declare const flatten: <T>(array: import("lodash").List<import("lodash").Many<T>>) => T[];
80
+ export declare const omit: {
81
+ <T extends object, K extends import("lodash").PropertyName[]>(object: T, ...paths: K): Pick<T, Exclude<keyof T, K[number]>>;
82
+ <T_1 extends object, K_1 extends keyof T_1>(object: T_1, ...paths: import("lodash").Many<K_1>[]): import("lodash").Omit<T_1, K_1>;
83
+ <T_2 extends object>(object: T_2, ...paths: import("lodash").Many<import("lodash").PropertyName>[]): Partial<T_2>;
84
+ };
85
+ export declare const extend: {
86
+ <TObject, TSource>(object: TObject, source: TSource): TObject & TSource;
87
+ <TObject_1, TSource1, TSource2>(object: TObject_1, source1: TSource1, source2: TSource2): TObject_1 & TSource1 & TSource2;
88
+ <TObject_2, TSource1_1, TSource2_1, TSource3>(object: TObject_2, source1: TSource1_1, source2: TSource2_1, source3: TSource3): TObject_2 & TSource1_1 & TSource2_1 & TSource3;
89
+ <TObject_3, TSource1_2, TSource2_2, TSource3_1, TSource4>(object: TObject_3, source1: TSource1_2, source2: TSource2_2, source3: TSource3_1, source4: TSource4): TObject_3 & TSource1_2 & TSource2_2 & TSource3_1 & TSource4;
90
+ <TObject_4>(object: TObject_4): TObject_4;
91
+ <TResult>(object: any, ...otherArgs: any[]): TResult;
92
+ };
93
+ export declare const groupBy: {
94
+ <T>(collection: import("lodash").List<T>, iteratee?: import("lodash").ValueIteratee<T>): import("lodash").Dictionary<T[]>;
95
+ <T_1 extends object>(collection: T_1, iteratee?: import("lodash").ValueIteratee<T_1[keyof T_1]>): import("lodash").Dictionary<T_1[keyof T_1][]>;
96
+ };
97
+ export declare const sortBy: {
98
+ <T>(collection: import("lodash").List<T>, ...iteratees: import("lodash").Many<import("lodash").ListIteratee<T>>[]): T[];
99
+ <T_1 extends object>(collection: T_1, ...iteratees: import("lodash").Many<import("lodash").ObjectIteratee<T_1>>[]): T_1[keyof T_1][];
100
+ };
101
+ export declare const range: {
102
+ (start: number, end?: number, step?: number): number[];
103
+ (end: number, index: string | number, guard: object): number[];
104
+ };
105
+ export declare function getValue<T, ReturnType>(d: T, accessor: NumericAccessor<T> | StringAccessor<T> | BooleanAccessor<T> | ColorAccessor<T> | GenericAccessor<ReturnType, T>, index?: number): ReturnType;
106
+ export declare function getString<T>(d: T, accessor: StringAccessor<T>, i?: number): string | null | undefined;
107
+ export declare function getNumber<T>(d: T, accessor: NumericAccessor<T>, i?: number): number | null | undefined;
108
+ export declare function getBoolean<T>(d: T, accessor: BooleanAccessor<T>, i?: number): boolean | null | undefined;
109
+ export declare function clean<T>(data: T[]): T[];
110
+ export declare function clamp(d: number, min: number, max: number): number;
111
+ export declare function unique<T>(array: T[]): T[];
112
+ export declare function countUnique<T>(array: T[], accessor?: (d: any) => any): number;
113
+ export declare function arrayOfIndices(n: number): number[];
114
+ export declare function shallowDiff(o1?: Record<string, unknown>, o2?: Record<string, unknown>): Record<string, unknown>;
115
+ export declare function getStackedExtent<Datum>(data: Datum[], ...acs: NumericAccessor<Datum>[]): (number | undefined)[];
116
+ export declare function getStackedValues<Datum>(d: Datum, index: number, ...acs: NumericAccessor<Datum>[]): (number | undefined)[];
117
+ export declare function getStackedData<Datum>(data: Datum[], baseline: NumericAccessor<Datum>, acs: NumericAccessor<Datum>[], prevNegative?: boolean[]): StackValuesRecord[];
118
+ export declare function getMin<Datum>(data: Datum[], ...acs: NumericAccessor<Datum>[]): number | undefined;
119
+ export declare function getMax<Datum>(data: Datum[], ...acs: NumericAccessor<Datum>[]): number | undefined;
120
+ export declare function getExtent<Datum>(data: Datum[], ...acs: NumericAccessor<Datum>[]): (number | undefined)[];
121
+ export declare function getNearest<Datum>(data: Datum[], value: number, accessor: NumericAccessor<Datum>): Datum;
122
+ export declare function filterDataByRange<Datum>(data: Datum[], range: [number, number], accessor: NumericAccessor<Datum>): Datum[];
123
+ export declare function isNumberWithinRange(value: number, range: [number, number]): boolean;
package/utils/data.js ADDED
@@ -0,0 +1,193 @@
1
+ import _isUndefined from 'lodash/isUndefined';
2
+ import _isArray from 'lodash/isArray';
3
+ import _isEmpty from 'lodash/isEmpty';
4
+ import _isEqual from 'lodash/isEqual';
5
+ import _isNil from 'lodash/isNil';
6
+ import _cloneDeep from 'lodash/cloneDeep';
7
+ import _throttle from 'lodash/throttle';
8
+ import 'lodash/each';
9
+ import 'lodash/filter';
10
+ import 'lodash/get';
11
+ import _without from 'lodash/without';
12
+ import _find from 'lodash/find';
13
+ import _findIndex from 'lodash/findIndex';
14
+ import _isString from 'lodash/isString';
15
+ import _isObject from 'lodash/isObject';
16
+ import _isFunction from 'lodash/isFunction';
17
+ import _isNumber from 'lodash/isNumber';
18
+ import _merge from 'lodash/merge';
19
+ import _isPlainObject from 'lodash/isPlainObject';
20
+ import _flatten from 'lodash/flatten';
21
+ import 'lodash/omit';
22
+ import 'lodash/extend';
23
+ import _groupBy from 'lodash/groupBy';
24
+ import _sortBy from 'lodash/sortBy';
25
+ import _range from 'lodash/range';
26
+ import { mean, min, max, bisector } from 'd3-array';
27
+
28
+ const isNumber = _isNumber;
29
+ const isEqual = _isEqual;
30
+ const isFunction = _isFunction;
31
+ const merge = _merge;
32
+ const isPlainObject = _isPlainObject;
33
+ const isUndefined = _isUndefined;
34
+ const isArray = _isArray;
35
+ const isEmpty = _isEmpty;
36
+ const isNil = _isNil;
37
+ const cloneDeep = _cloneDeep;
38
+ const without = _without;
39
+ const find = _find;
40
+ const findIndex = _findIndex;
41
+ const isString = _isString;
42
+ const isObject = _isObject;
43
+ const throttle = _throttle;
44
+ const flatten = _flatten;
45
+ const groupBy = _groupBy;
46
+ const sortBy = _sortBy;
47
+ const range = _range;
48
+ function getValue(d, accessor, index) {
49
+ // eslint-disable-next-line @typescript-eslint/ban-types
50
+ if (isFunction(accessor))
51
+ return accessor(d, index);
52
+ else
53
+ return accessor;
54
+ }
55
+ function getString(d, accessor, i) {
56
+ return getValue(d, accessor, i);
57
+ }
58
+ function getNumber(d, accessor, i) {
59
+ return getValue(d, accessor, i);
60
+ }
61
+ function getBoolean(d, accessor, i) {
62
+ return getValue(d, accessor, i);
63
+ }
64
+ function clean(data) {
65
+ return data.filter(d => d && !isNumber(d));
66
+ }
67
+ function clamp(d, min, max) {
68
+ return Math.min(Math.max(d, min), max);
69
+ }
70
+ function unique(array) {
71
+ return Array.from(new Set(array));
72
+ }
73
+ function arrayOfIndices(n) {
74
+ return [...Array(n).keys()];
75
+ }
76
+ function shallowDiff(o1 = {}, o2 = {}) {
77
+ return Object.keys(o2).reduce((diff, key) => {
78
+ if (o1[key] === o2[key])
79
+ return diff;
80
+ return Object.assign(Object.assign({}, diff), { [key]: o2[key] });
81
+ }, {});
82
+ }
83
+ function getStackedExtent(data, ...acs) {
84
+ if (!data)
85
+ return [undefined, undefined];
86
+ if (isArray(acs)) {
87
+ let minValue = 0;
88
+ let maxValue = 0;
89
+ data.forEach((d, i) => {
90
+ let positiveStack = 0;
91
+ let negativeStack = 0;
92
+ for (const a of acs) {
93
+ const value = getNumber(d, a, i) || 0;
94
+ if (value >= 0)
95
+ positiveStack += value;
96
+ else
97
+ negativeStack += value;
98
+ }
99
+ if (positiveStack > maxValue)
100
+ maxValue = positiveStack;
101
+ if (negativeStack < minValue)
102
+ minValue = negativeStack;
103
+ });
104
+ return [minValue, maxValue];
105
+ }
106
+ }
107
+ function getStackedValues(d, index, ...acs) {
108
+ const values = [];
109
+ let positiveStack = 0;
110
+ let negativeStack = 0;
111
+ for (const a of acs) {
112
+ const value = getNumber(d, a, index) || 0;
113
+ if (value >= 0) {
114
+ values.push(positiveStack += value);
115
+ }
116
+ else {
117
+ values.push(negativeStack += value);
118
+ }
119
+ }
120
+ return values;
121
+ }
122
+ function getStackedData(data, baseline, acs, prevNegative // to help guessing the stack direction (positive/negative) when the values are 0 or null
123
+ ) {
124
+ const baselineValues = data.map((d, i) => getNumber(d, baseline, i) || 0);
125
+ const isNegativeStack = acs.map((a, j) => {
126
+ const average = mean(data, (d, i) => getNumber(d, a, i) || 0);
127
+ return (average === 0 && Array.isArray(prevNegative)) ? prevNegative[j] : average < 0;
128
+ });
129
+ const stackedData = acs.map(() => []);
130
+ data.forEach((d, i) => {
131
+ let positiveStack = baselineValues[i];
132
+ let negativeStack = baselineValues[i];
133
+ acs.forEach((a, j) => {
134
+ const value = getNumber(d, a, i) || 0;
135
+ if (!isNegativeStack[j]) {
136
+ stackedData[j].push([positiveStack, positiveStack += value]);
137
+ }
138
+ else {
139
+ stackedData[j].push([negativeStack, negativeStack += value]);
140
+ }
141
+ });
142
+ });
143
+ // Fill in additional stack information
144
+ stackedData.forEach((stack, i) => {
145
+ stack.negative = isNegativeStack[i];
146
+ });
147
+ stackedData.filter(s => s.negative)
148
+ .forEach((s, i, arr) => {
149
+ s.ending = i === arr.length - 1;
150
+ });
151
+ stackedData.filter(s => !s.negative)
152
+ .forEach((s, i, arr) => {
153
+ s.ending = i === arr.length - 1;
154
+ });
155
+ return stackedData;
156
+ }
157
+ function getMin(data, ...acs) {
158
+ if (!data)
159
+ return undefined;
160
+ const minValue = min(data, (d, i) => min(acs, a => getNumber(d, a, i)));
161
+ return minValue;
162
+ }
163
+ function getMax(data, ...acs) {
164
+ if (!data)
165
+ return undefined;
166
+ const maxValue = max(data, (d, i) => max(acs, a => getNumber(d, a, i)));
167
+ return maxValue;
168
+ }
169
+ function getExtent(data, ...acs) {
170
+ return [getMin(data, ...acs), getMax(data, ...acs)];
171
+ }
172
+ function getNearest(data, value, accessor) {
173
+ if (data.length <= 1)
174
+ return data[0];
175
+ const values = data.map((d, i) => getNumber(d, accessor, i));
176
+ values.sort((a, b) => a - b);
177
+ const xBisector = bisector(d => d).left;
178
+ const index = xBisector(values, value, 1, data.length - 1);
179
+ return value - values[index - 1] > values[index] - value ? data[index] : data[index - 1];
180
+ }
181
+ function filterDataByRange(data, range, accessor) {
182
+ const filteredData = data.filter((d, i) => {
183
+ const value = getNumber(d, accessor, i);
184
+ return (value >= range[0]) && (value < range[1]);
185
+ });
186
+ return filteredData;
187
+ }
188
+ function isNumberWithinRange(value, range) {
189
+ return (value >= range[0]) && (value <= range[1]);
190
+ }
191
+
192
+ export { arrayOfIndices, clamp, clean, cloneDeep, filterDataByRange, find, findIndex, flatten, getBoolean, getExtent, getMax, getMin, getNearest, getNumber, getStackedData, getStackedExtent, getStackedValues, getString, getValue, groupBy, isArray, isEmpty, isEqual, isFunction, isNil, isNumber, isNumberWithinRange, isObject, isPlainObject, isString, isUndefined, merge, range, shallowDiff, sortBy, throttle, unique, without };
193
+ //# sourceMappingURL=data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.js","sources":["../../src/utils/data.ts"],"sourcesContent":["import _isUndefined from 'lodash/isUndefined'\nimport _isArray from 'lodash/isArray'\nimport _isEmpty from 'lodash/isEmpty'\nimport _isEqual from 'lodash/isEqual'\nimport _isNil from 'lodash/isNil'\nimport _cloneDeep from 'lodash/cloneDeep'\nimport _throttle from 'lodash/throttle'\nimport _each from 'lodash/each'\nimport _filter from 'lodash/filter'\nimport _get from 'lodash/get'\nimport _without from 'lodash/without'\nimport _find from 'lodash/find'\nimport _findIndex from 'lodash/findIndex'\nimport _isString from 'lodash/isString'\nimport _isObject from 'lodash/isObject'\nimport _isFunction from 'lodash/isFunction'\nimport _isNumber from 'lodash/isNumber'\nimport _merge from 'lodash/merge'\nimport _isPlainObject from 'lodash/isPlainObject'\nimport _flatten from 'lodash/flatten'\nimport _omit from 'lodash/omit'\nimport _extend from 'lodash/extend'\nimport _groupBy from 'lodash/groupBy'\nimport _sortBy from 'lodash/sortBy'\nimport _range from 'lodash/range'\n// !!! If you add a new lodash import here, please specify it in rollup.config.js as well\n\nimport { max, min, mean, bisector } from 'd3-array'\n\n// Types\nimport { NumericAccessor, StringAccessor, BooleanAccessor, ColorAccessor, GenericAccessor } from 'types/accessor'\nimport { StackValuesRecord } from 'types/data'\n\nexport const isNumber = _isNumber\nexport const isEqual = _isEqual\nexport const isFunction = _isFunction\nexport const merge = _merge\nexport const isPlainObject = _isPlainObject\nexport const isUndefined = _isUndefined\nexport const isArray = _isArray\nexport const isEmpty = _isEmpty\nexport const isNil = _isNil\nexport const cloneDeep = _cloneDeep\nexport const each = _each\nexport const filter = _filter\nexport const get = _get\nexport const without = _without\nexport const find = _find\nexport const findIndex = _findIndex\nexport const isString = _isString\nexport const isObject = _isObject\nexport const throttle = _throttle\nexport const flatten = _flatten\nexport const omit = _omit\nexport const extend = _extend\nexport const groupBy = _groupBy\nexport const sortBy = _sortBy\nexport const range = _range\n\nexport function getValue<T, ReturnType> (\n d: T,\n accessor: NumericAccessor<T> | StringAccessor<T> | BooleanAccessor<T> | ColorAccessor<T> | GenericAccessor<ReturnType, T>,\n index?: number\n): ReturnType {\n // eslint-disable-next-line @typescript-eslint/ban-types\n if (isFunction(accessor)) return (accessor as Function)(d, index) as (ReturnType | null | undefined)\n else return accessor as unknown as (ReturnType | null | undefined)\n}\n\nexport function getString<T> (d: T, accessor: StringAccessor<T>, i?: number): string | null | undefined {\n return getValue<T, string>(d, accessor, i)\n}\n\nexport function getNumber<T> (d: T, accessor: NumericAccessor<T>, i?: number): number | null | undefined {\n return getValue<T, number>(d, accessor, i)\n}\n\nexport function getBoolean<T> (d: T, accessor: BooleanAccessor<T>, i?: number): boolean | null | undefined {\n return getValue<T, boolean>(d, accessor, i)\n}\n\nexport function clean<T> (data: T[]): T[] {\n return data.filter(d => d && !isNumber(d))\n}\n\nexport function clamp (d: number, min: number, max: number): number {\n return Math.min(Math.max(d, min), max)\n}\n\nexport function unique<T> (array: T[]): T[] {\n return Array.from(new Set(array))\n}\n\nexport function countUnique<T> (array: T[], accessor = d => d): number {\n return new Set(array.map(d => accessor(d))).size\n}\n\nexport function arrayOfIndices (n: number): number[] {\n return [...Array(n).keys()]\n}\n\nexport function shallowDiff (o1: Record<string, unknown> = {}, o2: Record<string, unknown> = {}): Record<string, unknown> {\n return Object.keys(o2).reduce((diff, key) => {\n if (o1[key] === o2[key]) return diff\n return {\n ...diff,\n [key]: o2[key],\n }\n }, {})\n}\n\nexport function getStackedExtent<Datum> (data: Datum[], ...acs: NumericAccessor<Datum>[]): (number | undefined)[] {\n if (!data) return [undefined, undefined]\n if (isArray(acs)) {\n let minValue = 0\n let maxValue = 0\n data.forEach((d, i) => {\n let positiveStack = 0\n let negativeStack = 0\n for (const a of acs as NumericAccessor<Datum>[]) {\n const value = getNumber(d, a, i) || 0\n if (value >= 0) positiveStack += value\n else negativeStack += value\n }\n\n if (positiveStack > maxValue) maxValue = positiveStack\n if (negativeStack < minValue) minValue = negativeStack\n })\n return [minValue, maxValue]\n }\n}\n\nexport function getStackedValues<Datum> (d: Datum, index: number, ...acs: NumericAccessor<Datum>[]): (number | undefined)[] {\n const values = []\n\n let positiveStack = 0\n let negativeStack = 0\n for (const a of acs as NumericAccessor<Datum>[]) {\n const value = getNumber(d, a, index) || 0\n if (value >= 0) {\n values.push(positiveStack += value)\n } else {\n values.push(negativeStack += value)\n }\n }\n\n return values\n}\n\nexport function getStackedData<Datum> (\n data: Datum[],\n baseline: NumericAccessor<Datum>,\n acs: NumericAccessor<Datum>[],\n prevNegative?: boolean[] // to help guessing the stack direction (positive/negative) when the values are 0 or null\n): StackValuesRecord[] {\n const baselineValues = data.map((d, i) => getNumber(d, baseline, i) || 0)\n const isNegativeStack = acs.map((a, j) => {\n const average = mean(data, (d, i) => getNumber(d, a, i) || 0)\n return (average === 0 && Array.isArray(prevNegative)) ? prevNegative[j] : average < 0\n })\n\n const stackedData: StackValuesRecord[] = acs.map(() => [])\n data.forEach((d, i) => {\n let positiveStack = baselineValues[i]\n let negativeStack = baselineValues[i]\n acs.forEach((a, j) => {\n const value = getNumber(d, a, i) || 0\n if (!isNegativeStack[j]) {\n stackedData[j].push([positiveStack, positiveStack += value])\n } else {\n stackedData[j].push([negativeStack, negativeStack += value])\n }\n })\n })\n\n // Fill in additional stack information\n stackedData.forEach((stack, i) => {\n stack.negative = isNegativeStack[i]\n })\n\n stackedData.filter(s => s.negative)\n .forEach((s, i, arr) => {\n s.ending = i === arr.length - 1\n })\n\n stackedData.filter(s => !s.negative)\n .forEach((s, i, arr) => {\n s.ending = i === arr.length - 1\n })\n\n return stackedData\n}\n\nexport function getMin<Datum> (data: Datum[], ...acs: NumericAccessor<Datum>[]): number | undefined {\n if (!data) return undefined\n const minValue = min(data, (d, i) => min(acs as NumericAccessor<Datum>[], a => getNumber(d, a, i)))\n return minValue\n}\n\nexport function getMax<Datum> (data: Datum[], ...acs: NumericAccessor<Datum>[]): number | undefined {\n if (!data) return undefined\n const maxValue = max(data, (d, i) => max(acs as NumericAccessor<Datum>[], a => getNumber(d, a, i)))\n return maxValue\n}\n\nexport function getExtent<Datum> (data: Datum[], ...acs: NumericAccessor<Datum>[]): (number | undefined)[] {\n return [getMin(data, ...acs), getMax(data, ...acs)]\n}\n\nexport function getNearest<Datum> (data: Datum[], value: number, accessor: NumericAccessor<Datum>): Datum {\n if (data.length <= 1) return data[0]\n\n const values = data.map((d, i) => getNumber(d, accessor, i))\n values.sort((a, b) => a - b)\n\n const xBisector = bisector(d => d).left\n const index = xBisector(values, value, 1, data.length - 1)\n return value - values[index - 1] > values[index] - value ? data[index] : data[index - 1]\n}\n\nexport function filterDataByRange<Datum> (data: Datum[], range: [number, number], accessor: NumericAccessor<Datum>): Datum[] {\n const filteredData = data.filter((d, i) => {\n const value = getNumber(d, accessor, i)\n return (value >= range[0]) && (value < range[1])\n })\n\n return filteredData\n}\n\nexport function isNumberWithinRange (value: number, range: [number, number]): boolean {\n return (value >= range[0]) && (value <= range[1])\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function getHTMLTransform(el: any): number[];
package/utils/html.js ADDED
@@ -0,0 +1,15 @@
1
+ import { select } from 'd3-selection';
2
+
3
+ function getHTMLTransform(el) {
4
+ const results = select(el).style('transform')
5
+ .match(/matrix(?:(3d)\(-{0,1}\d+\.?\d*(?:, -{0,1}\d+\.?\d*)*(?:, (-{0,1}\d+\.?\d*))(?:, (-{0,1}\d+\.?\d*))(?:, (-{0,1}\d+\.?\d*)), -{0,1}\d+\.?\d*\)|\(-{0,1}\d+\.?\d*(?:, -{0,1}\d+\.?\d*)*(?:, (-{0,1}\d+\.?\d*))(?:, (-{0,1}\d+\.?\d*))\))/);
6
+ if (!results)
7
+ return [0, 0, 0];
8
+ if (results[1] === '3d')
9
+ return results.slice(2, 5).map(d => +d);
10
+ results.push('0');
11
+ return results.slice(5, 8).map(d => +d);
12
+ }
13
+
14
+ export { getHTMLTransform };
15
+ //# sourceMappingURL=html.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html.js","sources":["../../src/utils/html.ts"],"sourcesContent":["import { select } from 'd3-selection'\n\nexport function getHTMLTransform (el): number[] {\n const results = select(el).style('transform')\n .match(/matrix(?:(3d)\\(-{0,1}\\d+\\.?\\d*(?:, -{0,1}\\d+\\.?\\d*)*(?:, (-{0,1}\\d+\\.?\\d*))(?:, (-{0,1}\\d+\\.?\\d*))(?:, (-{0,1}\\d+\\.?\\d*)), -{0,1}\\d+\\.?\\d*\\)|\\(-{0,1}\\d+\\.?\\d*(?:, -{0,1}\\d+\\.?\\d*)*(?:, (-{0,1}\\d+\\.?\\d*))(?:, (-{0,1}\\d+\\.?\\d*))\\))/)\n\n if (!results) return [0, 0, 0]\n if (results[1] === '3d') return results.slice(2, 5).map(d => +d)\n\n results.push('0')\n return results.slice(5, 8).map(d => +d)\n}\n"],"names":[],"mappings":";;AAEM,SAAU,gBAAgB,CAAE,EAAE,EAAA;IAClC,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;SAC1C,KAAK,CAAC,uOAAuO,CAAC,CAAA;AAEjP,IAAA,IAAI,CAAC,OAAO;AAAE,QAAA,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAC9B,IAAA,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI;AAAE,QAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAEhE,IAAA,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACjB,IAAA,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACzC;;;;"}
package/utils/map.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ import { NumericAccessor } from "../types/accessor";
2
+ export declare function getDataLatLngBounds<D>(data: D[], pointLatitude: NumericAccessor<D>, pointLongitude: NumericAccessor<D>, paddingDegrees?: number): [[number, number], [number, number]];
package/utils/map.js ADDED
@@ -0,0 +1,20 @@
1
+ import { max, min } from 'd3-array';
2
+ import { getNumber } from './data.js';
3
+
4
+ function getDataLatLngBounds(data, pointLatitude, pointLongitude, paddingDegrees = 1) {
5
+ const northWest = {
6
+ lat: max(data !== null && data !== void 0 ? data : [], d => getNumber(d, pointLatitude)),
7
+ lng: min(data !== null && data !== void 0 ? data : [], d => getNumber(d, pointLongitude)),
8
+ };
9
+ const southEast = {
10
+ lat: min(data !== null && data !== void 0 ? data : [], d => getNumber(d, pointLatitude)),
11
+ lng: max(data !== null && data !== void 0 ? data : [], d => getNumber(d, pointLongitude)),
12
+ };
13
+ return [
14
+ [northWest.lat + paddingDegrees || 90, northWest.lng - paddingDegrees || -180],
15
+ [southEast.lat - paddingDegrees || -70, southEast.lng + paddingDegrees || 180],
16
+ ];
17
+ }
18
+
19
+ export { getDataLatLngBounds };
20
+ //# sourceMappingURL=map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map.js","sources":["../../src/utils/map.ts"],"sourcesContent":["import { min, max } from 'd3-array'\n\n// Types\nimport { NumericAccessor } from 'types/accessor'\n\n// Utils\nimport { getNumber } from 'utils/data'\n\nexport function getDataLatLngBounds<D> (\n data: D[],\n pointLatitude: NumericAccessor<D>,\n pointLongitude: NumericAccessor<D>,\n paddingDegrees = 1\n): [[number, number], [number, number]] {\n const northWest = {\n lat: max(data ?? [], d => getNumber(d, pointLatitude)),\n lng: min(data ?? [], d => getNumber(d, pointLongitude)),\n }\n\n const southEast = {\n lat: min(data ?? [], d => getNumber(d, pointLatitude)),\n lng: max(data ?? [], d => getNumber(d, pointLongitude)),\n }\n\n return [\n [northWest.lat + paddingDegrees || 90, northWest.lng - paddingDegrees || -180],\n [southEast.lat - paddingDegrees || -70, southEast.lng + paddingDegrees || 180],\n ]\n}\n"],"names":[],"mappings":";;;AAQM,SAAU,mBAAmB,CACjC,IAAS,EACT,aAAiC,EACjC,cAAkC,EAClC,cAAc,GAAG,CAAC,EAAA;AAElB,IAAA,MAAM,SAAS,GAAG;QAChB,GAAG,EAAE,GAAG,CAAC,IAAI,aAAJ,IAAI,KAAA,KAAA,CAAA,GAAJ,IAAI,GAAI,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;QACtD,GAAG,EAAE,GAAG,CAAC,IAAI,aAAJ,IAAI,KAAA,KAAA,CAAA,GAAJ,IAAI,GAAI,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;KACxD,CAAA;AAED,IAAA,MAAM,SAAS,GAAG;QAChB,GAAG,EAAE,GAAG,CAAC,IAAI,aAAJ,IAAI,KAAA,KAAA,CAAA,GAAJ,IAAI,GAAI,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;QACtD,GAAG,EAAE,GAAG,CAAC,IAAI,aAAJ,IAAI,KAAA,KAAA,CAAA,GAAJ,IAAI,GAAI,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;KACxD,CAAA;IAED,OAAO;AACL,QAAA,CAAC,SAAS,CAAC,GAAG,GAAG,cAAc,IAAI,EAAE,EAAE,SAAS,CAAC,GAAG,GAAG,cAAc,IAAI,CAAC,GAAG,CAAC;AAC9E,QAAA,CAAC,SAAS,CAAC,GAAG,GAAG,cAAc,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,GAAG,GAAG,cAAc,IAAI,GAAG,CAAC;KAC/E,CAAA;AACH;;;;"}
@@ -0,0 +1,16 @@
1
+ import { Rect } from "../types/misc";
2
+ export declare const getBoundingClientRectObject: (element: HTMLElement) => {
3
+ top: number;
4
+ right: number;
5
+ bottom: number;
6
+ left: number;
7
+ width: number;
8
+ height: number;
9
+ x: number;
10
+ y: number;
11
+ };
12
+ export declare function guid(): string;
13
+ export declare function stringToHtmlId(str: string): string;
14
+ export declare function isStringCSSVariable(s: string): boolean;
15
+ export declare function getCSSVariableValue(s: string, context: HTMLElement | SVGGElement): string;
16
+ export declare function rectIntersect(rect1: Rect, rect2: Rect, tolerance?: number): boolean;