@milaboratories/miplots4 1.0.128 → 1.0.130

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 (365) hide show
  1. package/dist/DataFrame.d.ts +15 -9
  2. package/dist/DataFrame.d.ts.map +1 -1
  3. package/dist/DataFrame.js +105 -81
  4. package/dist/DataFrame.js.map +1 -1
  5. package/dist/bubble/ChartRenderer.d.ts +6 -5
  6. package/dist/bubble/ChartRenderer.d.ts.map +1 -1
  7. package/dist/bubble/ChartRenderer.js +123 -121
  8. package/dist/bubble/ChartRenderer.js.map +1 -1
  9. package/dist/bubble/components/Chart.d.ts +3 -2
  10. package/dist/bubble/components/Chart.d.ts.map +1 -1
  11. package/dist/bubble/components/Chart.js +78 -97
  12. package/dist/bubble/components/Chart.js.map +1 -1
  13. package/dist/bubble/components/ChartsGroup.d.ts +6 -5
  14. package/dist/bubble/components/ChartsGroup.d.ts.map +1 -1
  15. package/dist/bubble/components/ChartsGroup.js +39 -37
  16. package/dist/bubble/components/ChartsGroup.js.map +1 -1
  17. package/dist/bubble/getCellTooltip.d.ts +5 -0
  18. package/dist/bubble/getCellTooltip.d.ts.map +1 -0
  19. package/dist/bubble/getCellTooltip.js +28 -0
  20. package/dist/bubble/getCellTooltip.js.map +1 -0
  21. package/dist/bubble/{getCells.d.ts → getGroupedCellsData.d.ts} +4 -4
  22. package/dist/bubble/getGroupedCellsData.d.ts.map +1 -0
  23. package/dist/bubble/getGroupedCellsData.js +94 -0
  24. package/dist/bubble/getGroupedCellsData.js.map +1 -0
  25. package/dist/bubble/index.d.ts +4 -4
  26. package/dist/bubble/index.d.ts.map +1 -1
  27. package/dist/bubble/index.js +47 -42
  28. package/dist/bubble/index.js.map +1 -1
  29. package/dist/bubble/utils/calculateCaptionTails.d.ts +2 -2
  30. package/dist/bubble/utils/calculateCaptionTails.d.ts.map +1 -1
  31. package/dist/bubble/utils/calculateCaptionTails.js.map +1 -1
  32. package/dist/common/Legend.d.ts.map +1 -1
  33. package/dist/common/Legend.js.map +1 -1
  34. package/dist/common/Tooltip.js +1 -1
  35. package/dist/common/Tooltip.js.map +1 -1
  36. package/dist/common/types.d.ts +1 -1
  37. package/dist/common/types.d.ts.map +1 -1
  38. package/dist/common/useDataFrame.d.ts +11 -0
  39. package/dist/common/useDataFrame.d.ts.map +1 -0
  40. package/dist/common/useDataFrame.js +20 -0
  41. package/dist/common/useDataFrame.js.map +1 -0
  42. package/dist/dendro/ChartRenderer.d.ts +9 -8
  43. package/dist/dendro/ChartRenderer.d.ts.map +1 -1
  44. package/dist/dendro/ChartRenderer.js +187 -187
  45. package/dist/dendro/ChartRenderer.js.map +1 -1
  46. package/dist/dendro/components/Chart.d.ts +8 -8
  47. package/dist/dendro/components/Chart.d.ts.map +1 -1
  48. package/dist/dendro/components/Chart.js +35 -35
  49. package/dist/dendro/components/Chart.js.map +1 -1
  50. package/dist/dendro/components/Heatmap.d.ts +3 -3
  51. package/dist/dendro/components/Heatmap.d.ts.map +1 -1
  52. package/dist/dendro/components/Heatmap.js +23 -23
  53. package/dist/dendro/components/Heatmap.js.map +1 -1
  54. package/dist/dendro/components/Legend.d.ts.map +1 -1
  55. package/dist/dendro/components/Legend.js.map +1 -1
  56. package/dist/dendro/components/LinksGroup.d.ts +6 -6
  57. package/dist/dendro/components/LinksGroup.d.ts.map +1 -1
  58. package/dist/dendro/components/LinksGroup.js +17 -17
  59. package/dist/dendro/components/LinksGroup.js.map +1 -1
  60. package/dist/dendro/components/NodesGroup.d.ts +7 -7
  61. package/dist/dendro/components/NodesGroup.d.ts.map +1 -1
  62. package/dist/dendro/components/NodesGroup.js +29 -29
  63. package/dist/dendro/components/NodesGroup.js.map +1 -1
  64. package/dist/dendro/components/types.d.ts +2 -2
  65. package/dist/dendro/components/types.d.ts.map +1 -1
  66. package/dist/dendro/getHeatmapData.d.ts +2 -2
  67. package/dist/dendro/getHeatmapData.d.ts.map +1 -1
  68. package/dist/dendro/getHeatmapData.js +48 -44
  69. package/dist/dendro/getHeatmapData.js.map +1 -1
  70. package/dist/dendro/getHierarchyData.d.ts +3 -3
  71. package/dist/dendro/getHierarchyData.d.ts.map +1 -1
  72. package/dist/dendro/getHierarchyData.js +31 -31
  73. package/dist/dendro/getHierarchyData.js.map +1 -1
  74. package/dist/dendro/index.d.ts +5 -5
  75. package/dist/dendro/index.d.ts.map +1 -1
  76. package/dist/dendro/index.js +86 -89
  77. package/dist/dendro/index.js.map +1 -1
  78. package/dist/discrete/ChartRenderer.d.ts +6 -6
  79. package/dist/discrete/ChartRenderer.d.ts.map +1 -1
  80. package/dist/discrete/ChartRenderer.js +197 -196
  81. package/dist/discrete/ChartRenderer.js.map +1 -1
  82. package/dist/discrete/DiscreteSettingsImpl.d.ts +3 -3
  83. package/dist/discrete/DiscreteSettingsImpl.d.ts.map +1 -1
  84. package/dist/discrete/DiscreteSettingsImpl.js +8 -8
  85. package/dist/discrete/DiscreteSettingsImpl.js.map +1 -1
  86. package/dist/discrete/components/layers/BoxElement.js.map +1 -1
  87. package/dist/discrete/index.d.ts +1 -1
  88. package/dist/discrete/index.d.ts.map +1 -1
  89. package/dist/discrete/index.js +109 -106
  90. package/dist/discrete/index.js.map +1 -1
  91. package/dist/discrete/layers/bar.d.ts +2 -2
  92. package/dist/discrete/layers/bar.d.ts.map +1 -1
  93. package/dist/discrete/layers/bar.js +32 -37
  94. package/dist/discrete/layers/bar.js.map +1 -1
  95. package/dist/discrete/layers/binnedDots.d.ts +3 -3
  96. package/dist/discrete/layers/binnedDots.d.ts.map +1 -1
  97. package/dist/discrete/layers/binnedDots.js +66 -78
  98. package/dist/discrete/layers/binnedDots.js.map +1 -1
  99. package/dist/discrete/layers/boxes.d.ts +3 -4
  100. package/dist/discrete/layers/boxes.d.ts.map +1 -1
  101. package/dist/discrete/layers/boxes.js +59 -60
  102. package/dist/discrete/layers/boxes.js.map +1 -1
  103. package/dist/discrete/layers/dots.d.ts +2 -3
  104. package/dist/discrete/layers/dots.d.ts.map +1 -1
  105. package/dist/discrete/layers/dots.js +30 -30
  106. package/dist/discrete/layers/dots.js.map +1 -1
  107. package/dist/discrete/layers/lines.js +11 -10
  108. package/dist/discrete/layers/lines.js.map +1 -1
  109. package/dist/discrete/layers/logo.d.ts +2 -2
  110. package/dist/discrete/layers/logo.d.ts.map +1 -1
  111. package/dist/discrete/layers/logo.js +21 -21
  112. package/dist/discrete/layers/logo.js.map +1 -1
  113. package/dist/discrete/layers/pairedPoints.d.ts +2 -2
  114. package/dist/discrete/layers/pairedPoints.d.ts.map +1 -1
  115. package/dist/discrete/layers/pairedPoints.js +62 -62
  116. package/dist/discrete/layers/pairedPoints.js.map +1 -1
  117. package/dist/discrete/layers/sina.d.ts +3 -4
  118. package/dist/discrete/layers/sina.d.ts.map +1 -1
  119. package/dist/discrete/layers/sina.js +67 -71
  120. package/dist/discrete/layers/sina.js.map +1 -1
  121. package/dist/discrete/layers/stackedBar.d.ts +1 -1
  122. package/dist/discrete/layers/stackedBar.d.ts.map +1 -1
  123. package/dist/discrete/layers/stackedBar.js +25 -25
  124. package/dist/discrete/layers/stackedBar.js.map +1 -1
  125. package/dist/discrete/layers/violins.js +13 -13
  126. package/dist/discrete/utils/getOutliersBounds.d.ts +1 -1
  127. package/dist/discrete/utils/getOutliersBounds.d.ts.map +1 -1
  128. package/dist/discrete/utils/getOutliersBounds.js +5 -5
  129. package/dist/discrete/utils/getOutliersBounds.js.map +1 -1
  130. package/dist/discrete/utils/splitTextByWidth.js +1 -1
  131. package/dist/discrete/utils/splitTextByWidth.js.map +1 -1
  132. package/dist/heatmap/ChartRenderer.d.ts +7 -6
  133. package/dist/heatmap/ChartRenderer.d.ts.map +1 -1
  134. package/dist/heatmap/ChartRenderer.js +286 -266
  135. package/dist/heatmap/ChartRenderer.js.map +1 -1
  136. package/dist/heatmap/HeatmapSettingsImpl.d.ts +2 -2
  137. package/dist/heatmap/HeatmapSettingsImpl.d.ts.map +1 -1
  138. package/dist/heatmap/HeatmapSettingsImpl.js +1 -1
  139. package/dist/heatmap/HeatmapSettingsImpl.js.map +1 -1
  140. package/dist/heatmap/components/Annotations/Annotation.d.ts.map +1 -1
  141. package/dist/heatmap/components/Annotations/Annotation.js +40 -39
  142. package/dist/heatmap/components/Annotations/Annotation.js.map +1 -1
  143. package/dist/heatmap/components/Captions/GroupCaptions.d.ts.map +1 -1
  144. package/dist/heatmap/components/Captions/GroupCaptions.js +45 -36
  145. package/dist/heatmap/components/Captions/GroupCaptions.js.map +1 -1
  146. package/dist/heatmap/components/Chart.d.ts.map +1 -1
  147. package/dist/heatmap/components/Chart.js +104 -101
  148. package/dist/heatmap/components/Chart.js.map +1 -1
  149. package/dist/heatmap/components/ChartsGroup.d.ts +2 -2
  150. package/dist/heatmap/components/ChartsGroup.d.ts.map +1 -1
  151. package/dist/heatmap/components/ChartsGroup.js +14 -14
  152. package/dist/heatmap/components/ChartsGroup.js.map +1 -1
  153. package/dist/heatmap/components/Dendrograms.d.ts +3 -1
  154. package/dist/heatmap/components/Dendrograms.d.ts.map +1 -1
  155. package/dist/heatmap/components/Dendrograms.js +54 -48
  156. package/dist/heatmap/components/Dendrograms.js.map +1 -1
  157. package/dist/heatmap/components/types.d.ts +5 -4
  158. package/dist/heatmap/components/types.d.ts.map +1 -1
  159. package/dist/heatmap/getCells.d.ts +3 -2
  160. package/dist/heatmap/getCells.d.ts.map +1 -1
  161. package/dist/heatmap/getCells.js +97 -93
  162. package/dist/heatmap/getCells.js.map +1 -1
  163. package/dist/heatmap/getDendrograms.d.ts +2 -2
  164. package/dist/heatmap/getDendrograms.d.ts.map +1 -1
  165. package/dist/heatmap/getDendrograms.js +36 -36
  166. package/dist/heatmap/getDendrograms.js.map +1 -1
  167. package/dist/heatmap/index.d.ts +3 -3
  168. package/dist/heatmap/index.d.ts.map +1 -1
  169. package/dist/heatmap/index.js +13 -12
  170. package/dist/heatmap/index.js.map +1 -1
  171. package/dist/heatmap/utils/calculateAnnotationTitleSizes.d.ts.map +1 -1
  172. package/dist/heatmap/utils/calculateAnnotationTitleSizes.js +1 -1
  173. package/dist/heatmap/utils/calculateAnnotationTitleSizes.js.map +1 -1
  174. package/dist/heatmap/utils/calculateCaptionTails.d.ts +3 -3
  175. package/dist/heatmap/utils/calculateCaptionTails.d.ts.map +1 -1
  176. package/dist/heatmap/utils/calculateCaptionTails.js +89 -54
  177. package/dist/heatmap/utils/calculateCaptionTails.js.map +1 -1
  178. package/dist/heatmap/utils/calculateChartSideElementSizes.js +19 -19
  179. package/dist/heatmap/utils/calculateChartSideElementSizes.js.map +1 -1
  180. package/dist/histogram/ChartRenderer.d.ts +6 -5
  181. package/dist/histogram/ChartRenderer.d.ts.map +1 -1
  182. package/dist/histogram/ChartRenderer.js +154 -153
  183. package/dist/histogram/ChartRenderer.js.map +1 -1
  184. package/dist/histogram/HistogramSettingsImpl.d.ts +2 -2
  185. package/dist/histogram/HistogramSettingsImpl.d.ts.map +1 -1
  186. package/dist/histogram/HistogramSettingsImpl.js.map +1 -1
  187. package/dist/histogram/components/Chart.js +48 -48
  188. package/dist/histogram/components/Chart.js.map +1 -1
  189. package/dist/histogram/components/types.d.ts +4 -3
  190. package/dist/histogram/components/types.d.ts.map +1 -1
  191. package/dist/histogram/getHistogramData.d.ts +7 -7
  192. package/dist/histogram/getHistogramData.d.ts.map +1 -1
  193. package/dist/histogram/getHistogramData.js +52 -53
  194. package/dist/histogram/getHistogramData.js.map +1 -1
  195. package/dist/histogram/index.d.ts +3 -3
  196. package/dist/histogram/index.d.ts.map +1 -1
  197. package/dist/histogram/index.js +49 -45
  198. package/dist/histogram/index.js.map +1 -1
  199. package/dist/node_modules/@d3fc/d3fc-axis/src/axisBase.js +10 -10
  200. package/dist/node_modules/d3-array/src/min.js +5 -11
  201. package/dist/node_modules/d3-array/src/min.js.map +1 -1
  202. package/dist/node_modules/d3-shape/src/area.js +30 -30
  203. package/dist/node_modules/d3-shape/src/line.js +6 -6
  204. package/dist/node_modules/d3-shape/src/line.js.map +1 -1
  205. package/dist/node_modules/kdbush/index.js +148 -0
  206. package/dist/node_modules/kdbush/index.js.map +1 -0
  207. package/dist/scatterplot/ChartRenderer.d.ts +7 -6
  208. package/dist/scatterplot/ChartRenderer.d.ts.map +1 -1
  209. package/dist/scatterplot/ChartRenderer.js +212 -195
  210. package/dist/scatterplot/ChartRenderer.js.map +1 -1
  211. package/dist/scatterplot/ScatterplotSettingsImpl.d.ts +2 -2
  212. package/dist/scatterplot/ScatterplotSettingsImpl.d.ts.map +1 -1
  213. package/dist/scatterplot/ScatterplotSettingsImpl.js +8 -8
  214. package/dist/scatterplot/ScatterplotSettingsImpl.js.map +1 -1
  215. package/dist/scatterplot/components/ChartAxisTitles.d.ts.map +1 -1
  216. package/dist/scatterplot/components/ChartAxisTitles.js +31 -30
  217. package/dist/scatterplot/components/ChartAxisTitles.js.map +1 -1
  218. package/dist/scatterplot/components/ChartLayersData.d.ts.map +1 -1
  219. package/dist/scatterplot/components/ChartLayersData.js +138 -156
  220. package/dist/scatterplot/components/ChartLayersData.js.map +1 -1
  221. package/dist/scatterplot/components/ChartTooltip.d.ts.map +1 -1
  222. package/dist/scatterplot/components/ChartTooltip.js +28 -27
  223. package/dist/scatterplot/components/ChartTooltip.js.map +1 -1
  224. package/dist/scatterplot/components/ChartTrendsData.js +21 -21
  225. package/dist/scatterplot/components/ChartTrendsData.js.map +1 -1
  226. package/dist/scatterplot/components/ChartsGroup.js +3 -3
  227. package/dist/scatterplot/components/ChartsGroup.js.map +1 -1
  228. package/dist/scatterplot/components/types.d.ts +7 -7
  229. package/dist/scatterplot/components/types.d.ts.map +1 -1
  230. package/dist/scatterplot/constants.d.ts +1 -1
  231. package/dist/scatterplot/constants.d.ts.map +1 -1
  232. package/dist/scatterplot/constants.js.map +1 -1
  233. package/dist/scatterplot/dots.d.ts +2 -2
  234. package/dist/scatterplot/dots.d.ts.map +1 -1
  235. package/dist/scatterplot/dots.js +21 -21
  236. package/dist/scatterplot/dots.js.map +1 -1
  237. package/dist/scatterplot/getLayersData.d.ts +3 -3
  238. package/dist/scatterplot/getLayersData.d.ts.map +1 -1
  239. package/dist/scatterplot/getLayersData.js +12 -15
  240. package/dist/scatterplot/getLayersData.js.map +1 -1
  241. package/dist/scatterplot/index.d.ts +4 -4
  242. package/dist/scatterplot/index.d.ts.map +1 -1
  243. package/dist/scatterplot/index.js +71 -72
  244. package/dist/scatterplot/index.js.map +1 -1
  245. package/dist/scatterplot/linearRegression.d.ts +5 -4
  246. package/dist/scatterplot/linearRegression.d.ts.map +1 -1
  247. package/dist/scatterplot/linearRegression.js +88 -86
  248. package/dist/scatterplot/linearRegression.js.map +1 -1
  249. package/dist/scatterplot/utils/createAesGetter.d.ts +3 -2
  250. package/dist/scatterplot/utils/createAesGetter.d.ts.map +1 -1
  251. package/dist/scatterplot/utils/createAesGetter.js +21 -21
  252. package/dist/scatterplot/utils/createAesGetter.js.map +1 -1
  253. package/dist/scatterplot/utils/createLegendInfo.d.ts +2 -10
  254. package/dist/scatterplot/utils/createLegendInfo.d.ts.map +1 -1
  255. package/dist/scatterplot/utils/createLegendInfo.js +44 -37
  256. package/dist/scatterplot/utils/createLegendInfo.js.map +1 -1
  257. package/dist/scatterplot/utils/getVisibleLabels.d.ts +6 -9
  258. package/dist/scatterplot/utils/getVisibleLabels.d.ts.map +1 -1
  259. package/dist/scatterplot/utils/getVisibleLabels.js +46 -56
  260. package/dist/scatterplot/utils/getVisibleLabels.js.map +1 -1
  261. package/dist/scatterplot-umap/ChartRenderer.d.ts +18 -15
  262. package/dist/scatterplot-umap/ChartRenderer.d.ts.map +1 -1
  263. package/dist/scatterplot-umap/ChartRenderer.js +231 -214
  264. package/dist/scatterplot-umap/ChartRenderer.js.map +1 -1
  265. package/dist/scatterplot-umap/SettingsImpl.d.ts +2 -2
  266. package/dist/scatterplot-umap/SettingsImpl.d.ts.map +1 -1
  267. package/dist/scatterplot-umap/SettingsImpl.js +6 -6
  268. package/dist/scatterplot-umap/SettingsImpl.js.map +1 -1
  269. package/dist/scatterplot-umap/colors.d.ts +6 -0
  270. package/dist/scatterplot-umap/colors.d.ts.map +1 -0
  271. package/dist/scatterplot-umap/colors.js +42 -0
  272. package/dist/scatterplot-umap/colors.js.map +1 -0
  273. package/dist/scatterplot-umap/components/Lasso.d.ts.map +1 -1
  274. package/dist/scatterplot-umap/components/Lasso.js +148 -124
  275. package/dist/scatterplot-umap/components/Lasso.js.map +1 -1
  276. package/dist/scatterplot-umap/components/LowerSVG.d.ts +2 -2
  277. package/dist/scatterplot-umap/components/LowerSVG.d.ts.map +1 -1
  278. package/dist/scatterplot-umap/components/LowerSVG.js +88 -87
  279. package/dist/scatterplot-umap/components/LowerSVG.js.map +1 -1
  280. package/dist/scatterplot-umap/components/UpperSVG.d.ts.map +1 -1
  281. package/dist/scatterplot-umap/components/UpperSVG.js +20 -19
  282. package/dist/scatterplot-umap/components/UpperSVG.js.map +1 -1
  283. package/dist/scatterplot-umap/index.d.ts +0 -2
  284. package/dist/scatterplot-umap/index.d.ts.map +1 -1
  285. package/dist/scatterplot-umap/index.js +77 -104
  286. package/dist/scatterplot-umap/index.js.map +1 -1
  287. package/dist/scatterplot-umap/types.d.ts +7 -10
  288. package/dist/scatterplot-umap/types.d.ts.map +1 -1
  289. package/dist/types/bubble.d.ts +12 -12
  290. package/dist/types/common.d.ts +4 -3
  291. package/dist/types/common.d.ts.map +1 -1
  292. package/dist/types/common.js +1 -1
  293. package/dist/types/common.js.map +1 -1
  294. package/dist/types/dendro.d.ts +10 -10
  295. package/dist/types/dendro.d.ts.map +1 -1
  296. package/dist/types/dendro.js +1 -1
  297. package/dist/types/dendro.js.map +1 -1
  298. package/dist/types/discrete.d.ts +14 -14
  299. package/dist/types/discrete.d.ts.map +1 -1
  300. package/dist/types/discrete.js +3 -3
  301. package/dist/types/discrete.js.map +1 -1
  302. package/dist/types/heatmap.d.ts +28 -28
  303. package/dist/types/heatmap.d.ts.map +1 -1
  304. package/dist/types/heatmap.js +1 -1
  305. package/dist/types/heatmap.js.map +1 -1
  306. package/dist/types/histogram.d.ts +8 -8
  307. package/dist/types/histogram.d.ts.map +1 -1
  308. package/dist/types/histogram.js +1 -1
  309. package/dist/types/histogram.js.map +1 -1
  310. package/dist/types/scatterplot-umap.d.ts +11 -15
  311. package/dist/types/scatterplot-umap.d.ts.map +1 -1
  312. package/dist/types/scatterplot-umap.js +9 -9
  313. package/dist/types/scatterplot-umap.js.map +1 -1
  314. package/dist/types/scatterplot.d.ts +12 -12
  315. package/dist/types/scatterplot.d.ts.map +1 -1
  316. package/dist/types/scatterplot.js +1 -1
  317. package/dist/types/scatterplot.js.map +1 -1
  318. package/dist/utils/TextMeasurer/TextMeasurer.d.ts +7 -0
  319. package/dist/utils/TextMeasurer/TextMeasurer.d.ts.map +1 -0
  320. package/dist/utils/TextMeasurer/TextMeasurer.js +42 -0
  321. package/dist/utils/TextMeasurer/TextMeasurer.js.map +1 -0
  322. package/dist/utils/TextMeasurer/charToWidth.json.js +155 -0
  323. package/dist/utils/TextMeasurer/charToWidth.json.js.map +1 -0
  324. package/dist/utils/arrangeLegendParts.js +1 -1
  325. package/dist/utils/arrangeLegendParts.js.map +1 -1
  326. package/dist/utils/getChartEdgeSides.d.ts +1 -1
  327. package/dist/utils/getLegendWidth.d.ts.map +1 -1
  328. package/dist/utils/getLegendWidth.js +1 -1
  329. package/dist/utils/getLegendWidth.js.map +1 -1
  330. package/package.json +5 -3
  331. package/dist/bubble/getCells.d.ts.map +0 -1
  332. package/dist/bubble/getCells.js +0 -91
  333. package/dist/bubble/getCells.js.map +0 -1
  334. package/dist/node_modules/d3-quadtree/src/add.js +0 -30
  335. package/dist/node_modules/d3-quadtree/src/add.js.map +0 -1
  336. package/dist/node_modules/d3-quadtree/src/cover.js +0 -29
  337. package/dist/node_modules/d3-quadtree/src/cover.js.map +0 -1
  338. package/dist/node_modules/d3-quadtree/src/data.js +0 -12
  339. package/dist/node_modules/d3-quadtree/src/data.js.map +0 -1
  340. package/dist/node_modules/d3-quadtree/src/extent.js +0 -7
  341. package/dist/node_modules/d3-quadtree/src/extent.js.map +0 -1
  342. package/dist/node_modules/d3-quadtree/src/find.js +0 -26
  343. package/dist/node_modules/d3-quadtree/src/find.js.map +0 -1
  344. package/dist/node_modules/d3-quadtree/src/quad.js +0 -7
  345. package/dist/node_modules/d3-quadtree/src/quad.js.map +0 -1
  346. package/dist/node_modules/d3-quadtree/src/quadtree.js +0 -51
  347. package/dist/node_modules/d3-quadtree/src/quadtree.js.map +0 -1
  348. package/dist/node_modules/d3-quadtree/src/remove.js +0 -21
  349. package/dist/node_modules/d3-quadtree/src/remove.js.map +0 -1
  350. package/dist/node_modules/d3-quadtree/src/root.js +0 -7
  351. package/dist/node_modules/d3-quadtree/src/root.js.map +0 -1
  352. package/dist/node_modules/d3-quadtree/src/size.js +0 -12
  353. package/dist/node_modules/d3-quadtree/src/size.js.map +0 -1
  354. package/dist/node_modules/d3-quadtree/src/visit.js +0 -14
  355. package/dist/node_modules/d3-quadtree/src/visit.js.map +0 -1
  356. package/dist/node_modules/d3-quadtree/src/visitAfter.js +0 -19
  357. package/dist/node_modules/d3-quadtree/src/visitAfter.js.map +0 -1
  358. package/dist/node_modules/d3-quadtree/src/x.js +0 -11
  359. package/dist/node_modules/d3-quadtree/src/x.js.map +0 -1
  360. package/dist/node_modules/d3-quadtree/src/y.js +0 -11
  361. package/dist/node_modules/d3-quadtree/src/y.js.map +0 -1
  362. package/dist/utils/TextMeasurer.d.ts +0 -8
  363. package/dist/utils/TextMeasurer.d.ts.map +0 -1
  364. package/dist/utils/TextMeasurer.js +0 -27
  365. package/dist/utils/TextMeasurer.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { DataValue } from './types';
1
+ import { Category, DataValue } from './types';
2
2
  export type DataByColumns = {
3
3
  type: 'columns';
4
4
  values: Record<string, DataValue[]>;
@@ -7,27 +7,33 @@ export type DataByColumns = {
7
7
  export type DataSet = DataFrame | DataByColumns;
8
8
  export declare const NO_GROUPED: unique symbol;
9
9
  export type GroupKey = string | typeof NO_GROUPED;
10
- type Row = Record<string, DataValue>;
10
+ export type RowIndex = number;
11
11
  type RowsGroup = Record<GroupKey, {
12
- rows: Row[];
12
+ rowIndexes: Uint16Array;
13
13
  grouped: RowsGroup;
14
14
  }>;
15
+ type ColumnName = string;
15
16
  export declare class DataFrame {
17
+ static toCategory: (value: DataValue) => string;
16
18
  readonly id: string;
17
19
  readonly data: Record<string, DataValue[]>;
18
20
  readonly rowsCount: number;
19
- readonly columnNames: string[];
20
- readonly rows: Row[];
21
- readonly mapColumnCategories: Map<string, string[]>;
21
+ readonly columnNames: ColumnName[];
22
+ readonly rowIndexes: Uint16Array;
23
+ readonly mapColumnCategories: Map<ColumnName, Category[]>;
24
+ readonly mapColumnCategoriesRowIndexes: Map<ColumnName, Map<Category, number>>;
22
25
  rowsGrouped?: RowsGroup;
23
26
  static from(data: DataSet): DataFrame;
24
27
  constructor(id: string, data: Record<string, DataValue[]>);
25
- private computeRows;
26
28
  getColumn(key: string): DataValue[];
27
- getColumnCategories(key: string, ignoreNull?: boolean): string[];
29
+ getColumnValue(key: string, index: number): DataValue;
30
+ getColumnValueCategory(key: string, index: number): Category;
31
+ getColumnCategories(key: string, ignoreNull?: boolean): Category[];
32
+ getColumnCategoryRowIndex(key: string, value: Category): RowIndex;
33
+ private computeColumnCategories;
28
34
  setGrouping(groupingColumnIds: (string | null)[]): void;
29
35
  getColumnByGrouping(groupingKeys: GroupKey[], keyYColumn: string): number[];
30
- getRowsByGrouping(groupingKeys: GroupKey[]): Row[];
36
+ getRowsByGrouping(groupingKeys: GroupKey[]): Uint16Array;
31
37
  }
32
38
  export {};
33
39
  //# sourceMappingURL=DataFrame.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataFrame.d.ts","sourceRoot":"","sources":["../src/DataFrame.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGzC,MAAM,MAAM,aAAa,GAAG;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACpC,EAAE,EAAE,MAAM,CAAA;CACb,CAAA;AACD,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,aAAa,CAAC;AAChD,eAAO,MAAM,UAAU,eAAsB,CAAC;AAC9C,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,UAAU,CAAC;AAClD,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AACrC,KAAK,SAAS,GAAG,MAAM,CACnB,QAAQ,EACR;IACI,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,OAAO,EAAE,SAAS,CAAC;CACtB,CACJ,CAAC;AAMF,qBAAa,SAAS;IAClB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;IAErB,QAAQ,CAAC,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAa;IAEhE,WAAW,CAAC,EAAE,SAAS,CAAC;IAExB,MAAM,CAAC,IAAI,CAAE,IAAI,EAAE,OAAO,GAAE,SAAS;gBAUzB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;IAQzD,OAAO,CAAC,WAAW;IAenB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE;IAInC,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,UAAO,GAAG,MAAM,EAAE;IAgB7D,WAAW,CAAC,iBAAiB,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE;IAgChD,mBAAmB,CAAC,YAAY,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE;IAkB3E,iBAAiB,CAAC,YAAY,EAAE,QAAQ,EAAE,GAAG,GAAG,EAAE;CAiBrD"}
1
+ {"version":3,"file":"DataFrame.d.ts","sourceRoot":"","sources":["../src/DataFrame.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGnD,MAAM,MAAM,aAAa,GAAG;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACpC,EAAE,EAAE,MAAM,CAAA;CACb,CAAA;AACD,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,aAAa,CAAC;AAChD,eAAO,MAAM,UAAU,eAAsB,CAAC;AAC9C,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,UAAU,CAAC;AAClD,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAC9B,KAAK,SAAS,GAAG,MAAM,CACnB,QAAQ,EACR;IACI,UAAU,EAAE,WAAW,CAAC;IACxB,OAAO,EAAE,SAAS,CAAC;CACtB,CACJ,CAAC;AAMF,KAAK,UAAU,GAAG,MAAM,CAAC;AAIzB,qBAAa,SAAS;IAClB,MAAM,CAAC,UAAU,GAAI,OAAO,SAAS,KAAG,MAAM,CAAkB;IAEhE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;IAEjC,QAAQ,CAAC,mBAAmB,EAAE,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAa;IACtE,QAAQ,CAAC,6BAA6B,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAa;IAE3F,WAAW,CAAC,EAAE,SAAS,CAAC;IAExB,MAAM,CAAC,IAAI,CAAE,IAAI,EAAE,OAAO,GAAE,SAAS;gBAUzB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;IAQzD,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE;IAInC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS;IAIrD,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ;IAI5D,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,UAAO,GAAG,QAAQ,EAAE;IAW/D,yBAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,QAAQ;IAUjE,OAAO,CAAC,uBAAuB;IAiC/B,WAAW,CAAC,iBAAiB,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE;IAiChD,mBAAmB,CAAC,YAAY,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE;IAmB3E,iBAAiB,CAAC,YAAY,EAAE,QAAQ,EAAE,GAAG,WAAW;CAiB3D"}
package/dist/DataFrame.js CHANGED
@@ -1,104 +1,128 @@
1
- var g = Object.defineProperty;
2
- var f = (e, o, r) => o in e ? g(e, o, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[o] = r;
3
- var u = (e, o, r) => f(e, typeof o != "symbol" ? o + "" : o, r);
4
- import { l as c } from "./node_modules/lodash/lodash.js";
5
- import { exhaustive as d } from "./utils/index.js";
6
- const m = Symbol("noGrouped");
7
- function C(e) {
8
- return "type" in e && e.type === "columns";
1
+ var w = Object.defineProperty;
2
+ var C = (u, e, t) => e in u ? w(u, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : u[e] = t;
3
+ var s = (u, e, t) => C(u, typeof e != "symbol" ? e + "" : e, t);
4
+ import { l as f } from "./node_modules/lodash/lodash.js";
5
+ import { exhaustive as x } from "./utils/index.js";
6
+ const d = Symbol("noGrouped");
7
+ function I(u) {
8
+ return "type" in u && u.type === "columns";
9
9
  }
10
- class w {
11
- constructor(o, r) {
12
- u(this, "id");
10
+ const p = new Uint16Array(0), g = class g {
11
+ constructor(e, t) {
12
+ s(this, "id");
13
13
  // input data grouped by columns
14
- u(this, "data");
15
- u(this, "rowsCount");
16
- u(this, "columnNames");
17
- u(this, "rows");
18
- u(this, "mapColumnCategories", /* @__PURE__ */ new Map());
19
- u(this, "rowsGrouped");
20
- this.id = o, this.data = r, this.columnNames = Object.keys(r), this.rowsCount = this.columnNames.length ? r[this.columnNames[0]].length : 0, this.rows = this.computeRows();
14
+ s(this, "data");
15
+ s(this, "rowsCount");
16
+ s(this, "columnNames");
17
+ s(this, "rowIndexes");
18
+ s(this, "mapColumnCategories", /* @__PURE__ */ new Map());
19
+ s(this, "mapColumnCategoriesRowIndexes", /* @__PURE__ */ new Map());
20
+ s(this, "rowsGrouped");
21
+ this.id = e, this.data = t, this.columnNames = Object.keys(t), this.rowsCount = this.columnNames.length ? t[this.columnNames[0]].length : 0, this.rowIndexes = new Uint16Array(Array.from({ length: this.rowsCount }, (o, r) => r));
21
22
  }
22
- static from(o) {
23
- if (o instanceof w)
24
- return o;
25
- if (C(o))
26
- return new w(o.id, o.values);
27
- d(o, "Unknown input data format");
23
+ static from(e) {
24
+ if (e instanceof g)
25
+ return e;
26
+ if (I(e))
27
+ return new g(e.id, e.values);
28
+ x(e, "Unknown input data format");
28
29
  }
29
- computeRows() {
30
- const o = [];
31
- for (let r = 0; r < this.rowsCount; r++)
32
- o.push(
33
- this.columnNames.reduce((s, t) => (s[t] = this.data[t][r], s), {})
34
- );
35
- return o;
30
+ getColumn(e) {
31
+ return this.data[e];
32
+ }
33
+ getColumnValue(e, t) {
34
+ var o;
35
+ return (o = this.data[e]) == null ? void 0 : o[t];
36
+ }
37
+ getColumnValueCategory(e, t) {
38
+ return g.toCategory(this.getColumnValue(e, t));
36
39
  }
37
- getColumn(o) {
38
- return this.data[o];
40
+ getColumnCategories(e, t = !0) {
41
+ this.mapColumnCategories.has(e) || this.computeColumnCategories(e);
42
+ const o = this.mapColumnCategories.get(e) ?? [];
43
+ return t && o && o.length > 0 && o[o.length - 1] === "null" ? o.slice(0, -1) : o;
44
+ }
45
+ getColumnCategoryRowIndex(e, t) {
46
+ var r;
47
+ const o = (r = this.mapColumnCategoriesRowIndexes.get(e)) == null ? void 0 : r.get(t);
48
+ if (o === void 0)
49
+ throw new Error(`Category ${t} not found in column ${e}`);
50
+ return o;
39
51
  }
40
- getColumnCategories(o, r = !0) {
41
- if (!this.columnNames.includes(o))
42
- throw new Error(`Column ${o} does not exist`);
43
- const s = `${o}${r ? "" : "_not_null"}`;
44
- if (!this.mapColumnCategories.has(s)) {
45
- let t = this.getColumn(o);
46
- r && (t = t.filter((n) => n !== null)), this.mapColumnCategories.set(s, c.uniq(t.map(String)));
52
+ computeColumnCategories(e) {
53
+ if (!this.columnNames.includes(e))
54
+ throw new Error(`Column ${e} does not exist`);
55
+ const t = this.getColumn(e), o = /* @__PURE__ */ new Set(), r = [], i = /* @__PURE__ */ new Map();
56
+ let a = -1;
57
+ for (let n = 0; n < t.length; n++) {
58
+ const h = t[n];
59
+ if (o.has(h))
60
+ continue;
61
+ if (o.add(h), h === null) {
62
+ a = n;
63
+ continue;
64
+ }
65
+ const l = g.toCategory(h);
66
+ r.push(l), i.set(l, n);
47
67
  }
48
- return this.mapColumnCategories.get(s) ?? [];
68
+ a !== -1 && (r.push("null"), i.set("null", a)), this.mapColumnCategories.set(e, r), this.mapColumnCategoriesRowIndexes.set(e, i);
49
69
  }
50
- setGrouping(o) {
51
- const r = { grouped: {}, rows: this.rows };
52
- let s = [r];
53
- o.forEach((t) => {
54
- const n = t === null ? [m] : this.getColumnCategories(t, !1), h = [];
55
- s.forEach((i) => {
56
- if (t === null)
57
- i.grouped = {
58
- [m]: {
59
- rows: i.rows,
70
+ setGrouping(e) {
71
+ const t = { grouped: {}, rowIndexes: this.rowIndexes };
72
+ let o = [t];
73
+ e.forEach((r) => {
74
+ const i = r === null ? [d] : this.getColumnCategories(r, !1), a = [];
75
+ o.forEach((n) => {
76
+ if (r === null)
77
+ n.grouped = {
78
+ [d]: {
79
+ rowIndexes: n.rowIndexes,
60
80
  grouped: {}
61
81
  }
62
- }, h.push(i.grouped[m]);
82
+ }, a.push(n.grouped[d]);
63
83
  else {
64
- const a = c.groupBy(i.rows, (l) => String(l[t]));
65
- i.grouped = n.reduce((l, p) => (l[p] = {
66
- rows: a[p] ?? [],
84
+ const h = f.groupBy(n.rowIndexes, (l) => this.getColumnValueCategory(r, l));
85
+ n.grouped = i.reduce((l, m) => (l[m] = {
86
+ rowIndexes: new Uint16Array(h[m] ?? []),
67
87
  grouped: {}
68
- }, h.push(l[p]), l), {});
88
+ }, a.push(l[m]), l), {});
69
89
  }
70
- }), s = h;
71
- }), this.rowsGrouped = r.grouped;
90
+ }), o = a;
91
+ }), this.rowsGrouped = t.grouped;
72
92
  }
73
- getColumnByGrouping(o, r) {
93
+ // TODO: fix all places where this method is used
94
+ getColumnByGrouping(e, t) {
74
95
  if (!this.rowsGrouped)
75
96
  return [];
76
- if (!o.length)
77
- return this.rows.map((t) => Number(t[r]));
78
- let s = { grouped: this.rowsGrouped, rows: this.rows };
79
- return o.forEach((t) => {
80
- const n = s.grouped[t ?? "null"];
81
- if (!n)
97
+ if (!e.length)
98
+ return Array.from(this.rowIndexes).map((r) => Number(this.getColumnValue(t, r)));
99
+ let o = { grouped: this.rowsGrouped, rowIndexes: this.rowIndexes };
100
+ return e.forEach((r) => {
101
+ const i = o.grouped[r ?? "null"];
102
+ if (!i)
82
103
  return [];
83
- s = n;
84
- }), s.rows.map((t) => Number(t[r]));
104
+ o = i;
105
+ }), Array.from(o.rowIndexes).map((r) => Number(this.getColumnValue(t, r)));
85
106
  }
86
- getRowsByGrouping(o) {
107
+ // TODO: fix all places where this method is used
108
+ getRowsByGrouping(e) {
87
109
  if (!this.rowsGrouped)
88
- return [];
89
- if (!o.length)
90
- return this.rows;
91
- let r = { grouped: this.rowsGrouped, rows: this.rows };
92
- return o.forEach((s) => {
93
- const t = r.grouped[s];
94
- if (!t)
95
- return [];
96
- r = t;
97
- }), r.rows;
110
+ return p;
111
+ if (!e.length)
112
+ return this.rowIndexes;
113
+ let t = { grouped: this.rowsGrouped, rowIndexes: this.rowIndexes };
114
+ return e.forEach((o) => {
115
+ const r = t.grouped[o];
116
+ if (!r)
117
+ return p;
118
+ t = r;
119
+ }), t.rowIndexes;
98
120
  }
99
- }
121
+ };
122
+ s(g, "toCategory", (e) => String(e));
123
+ let c = g;
100
124
  export {
101
- w as DataFrame,
102
- m as NO_GROUPED
125
+ c as DataFrame,
126
+ d as NO_GROUPED
103
127
  };
104
128
  //# sourceMappingURL=DataFrame.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataFrame.js","sources":["../src/DataFrame.ts"],"sourcesContent":["import { groupBy, uniq } from 'lodash';\nimport type { DataValue } from './types';\nimport { exhaustive } from './utils';\n\nexport type DataByColumns = {\n type: 'columns',\n values: Record<string, DataValue[]>,\n id: string\n}\nexport type DataSet = DataFrame | DataByColumns;\nexport const NO_GROUPED = Symbol('noGrouped');\nexport type GroupKey = string | typeof NO_GROUPED;\ntype Row = Record<string, DataValue>;\ntype RowsGroup = Record<\n GroupKey,\n {\n rows: Row[];\n grouped: RowsGroup;\n }\n>;\n\nfunction isDataByColumns (data:DataSet): data is DataByColumns {\n return 'type' in data && data.type === 'columns';\n}\n\nexport class DataFrame {\n readonly id: string;\n // input data grouped by columns\n readonly data: Record<string, DataValue[]>;\n readonly rowsCount: number;\n readonly columnNames: string[];\n readonly rows: Row[];\n\n readonly mapColumnCategories: Map<string, string[]> = new Map();\n\n rowsGrouped?: RowsGroup;\n\n static from (data: DataSet):DataFrame {\n if (data instanceof DataFrame) {\n return data;\n } else if (isDataByColumns(data)) {\n return new DataFrame(data.id, data.values);\n } else {\n exhaustive(data, 'Unknown input data format');\n }\n }\n\n constructor(id: string, data: Record<string, DataValue[]>) {\n this.id = id;\n this.data = data;\n this.columnNames = Object.keys(data);\n this.rowsCount = this.columnNames.length ? data[this.columnNames[0]].length : 0;\n this.rows = this.computeRows();\n }\n\n private computeRows() {\n const rows: Row[] = [];\n\n for (let i = 0; i < this.rowsCount; i++) {\n rows.push(\n this.columnNames.reduce((res: Record<string, DataValue>, key) => {\n res[key] = this.data[key][i];\n return res;\n }, {})\n );\n }\n\n return rows;\n }\n\n getColumn(key: string): DataValue[] {\n return this.data[key];\n }\n\n getColumnCategories(key: string, ignoreNull = true): string[] {\n if (!this.columnNames.includes(key)) {\n throw new Error(`Column ${key} does not exist`);\n }\n\n const fullKey = `${key}${ignoreNull ? '' : '_not_null'}`;\n\n if (!this.mapColumnCategories.has(fullKey)) {\n let columnData = this.getColumn(key);\n if (ignoreNull) columnData = columnData.filter((v) => v !== null);\n this.mapColumnCategories.set(fullKey, uniq(columnData.map(String)));\n }\n\n return this.mapColumnCategories.get(fullKey) ?? [];\n }\n\n setGrouping(groupingColumnIds: (string | null)[]) {\n const root = {grouped: {} as RowsGroup, rows: this.rows};\n let groups: RowsGroup[keyof RowsGroup][] = [root];\n groupingColumnIds.forEach(column => {\n const keys: GroupKey[] = column === null ? [NO_GROUPED] : this.getColumnCategories(column, false);\n const nextGroups: RowsGroup[keyof RowsGroup][] = [];\n groups.forEach(group => {\n if (column === null) {\n group.grouped = {\n [NO_GROUPED]: {\n rows: group.rows,\n grouped: {} as RowsGroup,\n },\n };\n nextGroups.push(group.grouped[NO_GROUPED]);\n } else {\n const groupedBy = groupBy(group.rows, row => String(row[column]));\n group.grouped = keys.reduce((res, key) => {\n res[key] = {\n rows: groupedBy[key as string] ?? [] as Row[],\n grouped: {} as RowsGroup,\n };\n nextGroups.push(res[key]);\n return res;\n }, {} as RowsGroup);\n }\n });\n groups = nextGroups;\n });\n this.rowsGrouped = root.grouped;\n }\n\n getColumnByGrouping(groupingKeys: GroupKey[], keyYColumn: string): number[] {\n if (!this.rowsGrouped) {\n return [];\n }\n if (!groupingKeys.length) {\n return this.rows.map(row => Number(row[keyYColumn]));\n }\n let result: {grouped: RowsGroup; rows: Row[]} = {grouped: this.rowsGrouped, rows: this.rows};\n groupingKeys.forEach(key => {\n const nextGroup = result.grouped[key ?? 'null'];\n if (!nextGroup) {\n return [];\n }\n result = nextGroup;\n });\n return result.rows.map(row => Number(row[keyYColumn]));\n }\n\n getRowsByGrouping(groupingKeys: GroupKey[]): Row[] {\n if (!this.rowsGrouped) {\n return [];\n }\n if (!groupingKeys.length) {\n return this.rows;\n }\n let result: {grouped: RowsGroup; rows: Row[]} = {grouped: this.rowsGrouped, rows: this.rows};\n groupingKeys.forEach(key => {\n const nextGroup = result.grouped[key];\n if (!nextGroup) {\n return [];\n }\n result = nextGroup;\n });\n return result.rows;\n }\n}\n"],"names":["NO_GROUPED","isDataByColumns","data","DataFrame","id","__publicField","exhaustive","rows","i","res","key","ignoreNull","fullKey","columnData","v","uniq","groupingColumnIds","root","groups","column","keys","nextGroups","group","groupedBy","groupBy","row","groupingKeys","keyYColumn","result","nextGroup"],"mappings":";;;;;AAUO,MAAMA,IAAa,OAAO,WAAW;AAW5C,SAASC,EAAiBC,GAAqC;AAC3D,SAAO,UAAUA,KAAQA,EAAK,SAAS;AAC3C;AAEO,MAAMC,EAAU;AAAA,EAsBnB,YAAYC,GAAYF,GAAmC;AArBlD,IAAAG,EAAA;AAEA;AAAA,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AAEA,IAAAA,EAAA,iDAAiD,IAAA;AAE1D,IAAAA,EAAA;AAaI,SAAK,KAAKD,GACV,KAAK,OAAOF,GACZ,KAAK,cAAc,OAAO,KAAKA,CAAI,GACnC,KAAK,YAAY,KAAK,YAAY,SAASA,EAAK,KAAK,YAAY,CAAC,CAAC,EAAE,SAAS,GAC9E,KAAK,OAAO,KAAK,YAAA;AAAA,EACrB;AAAA,EAhBA,OAAO,KAAMA,GAAyB;AAClC,QAAIA,aAAgBC;AAChB,aAAOD;AACX,QAAWD,EAAgBC,CAAI;AAC3B,aAAO,IAAIC,EAAUD,EAAK,IAAIA,EAAK,MAAM;AAEzC,IAAAI,EAAWJ,GAAM,2BAA2B;AAAA,EAEpD;AAAA,EAUQ,cAAc;AAClB,UAAMK,IAAc,CAAA;AAEpB,aAASC,IAAI,GAAGA,IAAI,KAAK,WAAWA;AAChC,MAAAD,EAAK;AAAA,QACD,KAAK,YAAY,OAAO,CAACE,GAAgCC,OACrDD,EAAIC,CAAG,IAAI,KAAK,KAAKA,CAAG,EAAEF,CAAC,GACpBC,IACR,CAAA,CAAE;AAAA,MAAA;AAIb,WAAOF;AAAA,EACX;AAAA,EAEA,UAAUG,GAA0B;AAChC,WAAO,KAAK,KAAKA,CAAG;AAAA,EACxB;AAAA,EAEA,oBAAoBA,GAAaC,IAAa,IAAgB;AAC1D,QAAI,CAAC,KAAK,YAAY,SAASD,CAAG;AAC9B,YAAM,IAAI,MAAM,UAAUA,CAAG,iBAAiB;AAGlD,UAAME,IAAU,GAAGF,CAAG,GAAGC,IAAa,KAAK,WAAW;AAEtD,QAAI,CAAC,KAAK,oBAAoB,IAAIC,CAAO,GAAG;AACxC,UAAIC,IAAa,KAAK,UAAUH,CAAG;AACnC,MAAIC,MAAYE,IAAaA,EAAW,OAAO,CAACC,MAAMA,MAAM,IAAI,IAChE,KAAK,oBAAoB,IAAIF,GAASG,EAAAA,KAAKF,EAAW,IAAI,MAAM,CAAC,CAAC;AAAA,IACtE;AAEA,WAAO,KAAK,oBAAoB,IAAID,CAAO,KAAK,CAAA;AAAA,EACpD;AAAA,EAEA,YAAYI,GAAsC;AAC9C,UAAMC,IAAO,EAAC,SAAS,CAAA,GAAiB,MAAM,KAAK,KAAA;AACnD,QAAIC,IAAuC,CAACD,CAAI;AAChD,IAAAD,EAAkB,QAAQ,CAAAG,MAAU;AAChC,YAAMC,IAAmBD,MAAW,OAAO,CAACnB,CAAU,IAAI,KAAK,oBAAoBmB,GAAQ,EAAK,GAC1FE,IAA2C,CAAA;AACjD,MAAAH,EAAO,QAAQ,CAAAI,MAAS;AACpB,YAAIH,MAAW;AACX,UAAAG,EAAM,UAAU;AAAA,YACZ,CAACtB,CAAU,GAAG;AAAA,cACV,MAAMsB,EAAM;AAAA,cACZ,SAAS,CAAA;AAAA,YAAC;AAAA,UACd,GAEJD,EAAW,KAAKC,EAAM,QAAQtB,CAAU,CAAC;AAAA,aACtC;AACH,gBAAMuB,IAAYC,UAAQF,EAAM,MAAM,OAAO,OAAOG,EAAIN,CAAM,CAAC,CAAC;AAChE,UAAAG,EAAM,UAAUF,EAAK,OAAO,CAACX,GAAKC,OAC9BD,EAAIC,CAAG,IAAI;AAAA,YACP,MAAMa,EAAUb,CAAa,KAAK,CAAA;AAAA,YAClC,SAAS,CAAA;AAAA,UAAC,GAEdW,EAAW,KAAKZ,EAAIC,CAAG,CAAC,GACjBD,IACR,CAAA,CAAe;AAAA,QACtB;AAAA,MACJ,CAAC,GACDS,IAASG;AAAA,IACb,CAAC,GACD,KAAK,cAAcJ,EAAK;AAAA,EAC5B;AAAA,EAEA,oBAAoBS,GAA0BC,GAA8B;AACxE,QAAI,CAAC,KAAK;AACN,aAAO,CAAA;AAEX,QAAI,CAACD,EAAa;AACd,aAAO,KAAK,KAAK,IAAI,CAAAD,MAAO,OAAOA,EAAIE,CAAU,CAAC,CAAC;AAEvD,QAAIC,IAA4C,EAAC,SAAS,KAAK,aAAa,MAAM,KAAK,KAAA;AACvF,WAAAF,EAAa,QAAQ,CAAAhB,MAAO;AACxB,YAAMmB,IAAYD,EAAO,QAAQlB,KAAO,MAAM;AAC9C,UAAI,CAACmB;AACD,eAAO,CAAA;AAEX,MAAAD,IAASC;AAAA,IACb,CAAC,GACMD,EAAO,KAAK,IAAI,CAAAH,MAAO,OAAOA,EAAIE,CAAU,CAAC,CAAC;AAAA,EACzD;AAAA,EAEA,kBAAkBD,GAAiC;AAC/C,QAAI,CAAC,KAAK;AACN,aAAO,CAAA;AAEX,QAAI,CAACA,EAAa;AACd,aAAO,KAAK;AAEhB,QAAIE,IAA4C,EAAC,SAAS,KAAK,aAAa,MAAM,KAAK,KAAA;AACvF,WAAAF,EAAa,QAAQ,CAAAhB,MAAO;AACxB,YAAMmB,IAAYD,EAAO,QAAQlB,CAAG;AACpC,UAAI,CAACmB;AACD,eAAO,CAAA;AAEX,MAAAD,IAASC;AAAA,IACb,CAAC,GACMD,EAAO;AAAA,EAClB;AACJ;"}
1
+ {"version":3,"file":"DataFrame.js","sources":["../src/DataFrame.ts"],"sourcesContent":["import { groupBy } from 'lodash';\nimport type { Category, DataValue } from './types';\nimport { exhaustive } from './utils';\n\nexport type DataByColumns = {\n type: 'columns',\n values: Record<string, DataValue[]>,\n id: string\n}\nexport type DataSet = DataFrame | DataByColumns;\nexport const NO_GROUPED = Symbol('noGrouped');\nexport type GroupKey = string | typeof NO_GROUPED;\nexport type RowIndex = number;\ntype RowsGroup = Record<\n GroupKey,\n {\n rowIndexes: Uint16Array;\n grouped: RowsGroup;\n }\n>;\n\nfunction isDataByColumns (data:DataSet): data is DataByColumns {\n return 'type' in data && data.type === 'columns';\n}\n\ntype ColumnName = string;\n\nconst EMPTY_INDEXES = new Uint16Array(0);\n\nexport class DataFrame {\n static toCategory = (value: DataValue): string => String(value);\n\n readonly id: string;\n // input data grouped by columns\n readonly data: Record<string, DataValue[]>;\n readonly rowsCount: number;\n readonly columnNames: ColumnName[];\n readonly rowIndexes: Uint16Array;\n\n readonly mapColumnCategories: Map<ColumnName, Category[]> = new Map();\n readonly mapColumnCategoriesRowIndexes: Map<ColumnName, Map<Category, number>> = new Map();\n\n rowsGrouped?: RowsGroup;\n\n static from (data: DataSet):DataFrame {\n if (data instanceof DataFrame) {\n return data;\n } else if (isDataByColumns(data)) {\n return new DataFrame(data.id, data.values);\n } else {\n exhaustive(data, 'Unknown input data format');\n }\n }\n\n constructor(id: string, data: Record<string, DataValue[]>) {\n this.id = id;\n this.data = data;\n this.columnNames = Object.keys(data);\n this.rowsCount = this.columnNames.length ? data[this.columnNames[0]].length : 0;\n this.rowIndexes = new Uint16Array(Array.from({length: this.rowsCount}, (_, i) => i));\n }\n\n getColumn(key: string): DataValue[] {\n return this.data[key];\n }\n\n getColumnValue(key: string, index: number): DataValue {\n return this.data[key]?.[index];\n }\n\n getColumnValueCategory(key: string, index: number): Category {\n return DataFrame.toCategory(this.getColumnValue(key, index));\n }\n\n getColumnCategories(key: string, ignoreNull = true): Category[] {\n if (!this.mapColumnCategories.has(key)) {\n this.computeColumnCategories(key);\n }\n\n const categories = this.mapColumnCategories.get(key) ?? [];\n return ignoreNull && categories && categories.length > 0 && categories[categories.length - 1] === 'null'\n ? categories.slice(0, -1) // full copy without null to heavy for large datasets\n : categories; \n }\n\n getColumnCategoryRowIndex(key: string, value: Category): RowIndex {\n const rowIndex = this.mapColumnCategoriesRowIndexes.get(key)?.get(value);\n \n if (rowIndex === undefined) {\n throw new Error(`Category ${value} not found in column ${key}`);\n }\n\n return rowIndex;\n }\n\n private computeColumnCategories(key: ColumnName) {\n if (!this.columnNames.includes(key)) {\n throw new Error(`Column ${key} does not exist`);\n }\n \n const columnData = this.getColumn(key);\n const uniqValues = new Set<DataValue>();\n const categories: string[] = [];\n const categoriesIndexes = new Map<string, number>();\n let nullIdx = -1;\n for (let i = 0; i < columnData.length; i++) {\n const value = columnData[i];\n if (uniqValues.has(value)) {\n continue;\n }\n uniqValues.add(value);\n if (value === null) {\n nullIdx = i;\n continue;\n }\n const category = DataFrame.toCategory(value);\n categories.push(category);\n categoriesIndexes.set(category, i);\n }\n if (nullIdx !== -1) {\n categories.push('null');\n categoriesIndexes.set('null', nullIdx);\n }\n\n this.mapColumnCategories.set(key, categories);\n this.mapColumnCategoriesRowIndexes.set(key, categoriesIndexes);\n }\n\n setGrouping(groupingColumnIds: (string | null)[]) {\n const root = {grouped: {} as RowsGroup, rowIndexes: this.rowIndexes};\n let groups: RowsGroup[keyof RowsGroup][] = [root];\n groupingColumnIds.forEach(column => {\n const keys: GroupKey[] = column === null ? [NO_GROUPED] : this.getColumnCategories(column, false);\n const nextGroups: RowsGroup[keyof RowsGroup][] = [];\n groups.forEach(group => {\n if (column === null) {\n group.grouped = {\n [NO_GROUPED]: {\n rowIndexes: group.rowIndexes,\n grouped: {} as RowsGroup,\n },\n };\n nextGroups.push(group.grouped[NO_GROUPED]);\n } else {\n const groupedBy = groupBy(group.rowIndexes, idx => this.getColumnValueCategory(column, idx));\n group.grouped = keys.reduce((res, key) => {\n res[key] = {\n rowIndexes: new Uint16Array(groupedBy[key as string] ?? []),\n grouped: {} as RowsGroup,\n };\n nextGroups.push(res[key]);\n return res;\n }, {} as RowsGroup);\n }\n });\n groups = nextGroups;\n });\n this.rowsGrouped = root.grouped;\n }\n\n // TODO: fix all places where this method is used\n getColumnByGrouping(groupingKeys: GroupKey[], keyYColumn: string): number[] {\n if (!this.rowsGrouped) {\n return [];\n }\n if (!groupingKeys.length) {\n return Array.from(this.rowIndexes).map(idx => Number(this.getColumnValue(keyYColumn, idx)));\n }\n let result: {grouped: RowsGroup; rowIndexes: Uint16Array} = {grouped: this.rowsGrouped, rowIndexes: this.rowIndexes};\n groupingKeys.forEach(key => {\n const nextGroup = result.grouped[key ?? 'null'];\n if (!nextGroup) {\n return [];\n }\n result = nextGroup;\n });\n return Array.from(result.rowIndexes).map(idx => Number(this.getColumnValue(keyYColumn, idx)));\n }\n\n // TODO: fix all places where this method is used\n getRowsByGrouping(groupingKeys: GroupKey[]): Uint16Array {\n if (!this.rowsGrouped) {\n return EMPTY_INDEXES;\n }\n if (!groupingKeys.length) {\n return this.rowIndexes;\n }\n let result: {grouped: RowsGroup; rowIndexes: Uint16Array} = {grouped: this.rowsGrouped, rowIndexes: this.rowIndexes};\n groupingKeys.forEach(key => {\n const nextGroup = result.grouped[key];\n if (!nextGroup) {\n return EMPTY_INDEXES;\n }\n result = nextGroup;\n });\n return result.rowIndexes;\n }\n}\n"],"names":["NO_GROUPED","isDataByColumns","data","EMPTY_INDEXES","_DataFrame","id","__publicField","_","i","exhaustive","key","index","_a","ignoreNull","categories","value","rowIndex","columnData","uniqValues","categoriesIndexes","nullIdx","category","groupingColumnIds","root","groups","column","keys","nextGroups","group","groupedBy","groupBy","idx","res","groupingKeys","keyYColumn","result","nextGroup","DataFrame"],"mappings":"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"}
@@ -1,11 +1,12 @@
1
- import { BubbleSettingsImpl } from './BubbleSettingsImpl';
2
- import { ChartScales, CaptionsSizes, ChartDimensionsData, ChartSizes, LabelAngles, Margins } from './components/types';
3
- import { GroupedCellsData } from './getCells';
4
- import { ColumnName } from '../types';
5
1
  import { ScaleLinear, ScalePower } from 'd3-scale';
6
2
  import { ReactElement } from 'react';
7
3
  import { Root } from 'react-dom/client';
8
4
  import { LegendData } from '../common/types';
5
+ import { DataFrame } from '../DataFrame';
6
+ import { ColumnName } from '../types';
7
+ import { BubbleSettingsImpl } from './BubbleSettingsImpl';
8
+ import { CaptionsSizes, ChartDimensionsData, ChartScales, ChartSizes, LabelAngles, Margins } from './components/types';
9
+ import { Cell, GroupedCellsData } from './getGroupedCellsData';
9
10
  declare class ChartRenderer {
10
11
  reactRoot: Root | null;
11
12
  parentNode: HTMLElement | null;
@@ -35,7 +36,7 @@ declare class ChartRenderer {
35
36
  updateChartsSizes(groupedCellsData: GroupedCellsData, size: BubbleSettingsImpl['chartSettings']['size']): void;
36
37
  updateScales(groupedCells: GroupedCellsData, size: BubbleSettingsImpl['chartSettings']['size'], xAxis: BubbleSettingsImpl['chartSettings']['xAxis'], yAxis: BubbleSettingsImpl['chartSettings']['yAxis']): void;
37
38
  updateAesScale(aes: BubbleSettingsImpl['aes'], valueExtentSize: [number, number], valueExtentColor: [number, number], normalization: BubbleSettingsImpl['normalization']): void;
38
- render(settingsId: string, chartSettings: BubbleSettingsImpl['chartSettings'], facetSettings: BubbleSettingsImpl['facetSettings'], facetKeys: string[], groupedCellsData: GroupedCellsData, valueColumnColor: ColumnName, valueColumnSize: ColumnName, normalization: BubbleSettingsImpl['normalization'], aes: BubbleSettingsImpl['aes'], onTooltipHintSwitch: (v: boolean) => void): void;
39
+ render(dataFrame: DataFrame, settingsId: string, chartSettings: BubbleSettingsImpl['chartSettings'], facetSettings: BubbleSettingsImpl['facetSettings'], groupedCellsData: GroupedCellsData, valueColumnColor: ColumnName, valueColumnSize: ColumnName, normalization: BubbleSettingsImpl['normalization'], aes: BubbleSettingsImpl['aes'], getCellTooltip: (cell: Cell) => string[], onTooltipHintSwitch: (v: boolean) => void): void;
39
40
  renderError(message: string): void;
40
41
  }
41
42
  export default ChartRenderer;
@@ -1 +1 @@
1
- {"version":3,"file":"ChartRenderer.d.ts","sourceRoot":"","sources":["../../src/bubble/ChartRenderer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChartRenderer.d.ts","sourceRoot":"","sources":["../../src/bubble/ChartRenderer.tsx"],"names":[],"mappings":"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"}